Elevate your style with these chic block heels from Nicepairs. Crafted with high-quality leather and meticulous stitching, these shoes offer both comfort and sophistication. Whether you're heading to the office or a night out, these versatile heels are perfect for any occasion. Available in various colors and sizes, Nicepairs' Block Heels are a must-have addition to your footwear collection.

Block Heels

113 Products
Filter
  • Reset
  • The highest price is 135
    $
    $
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
Filter
  • Price
  • Color
  • Platform
  • Heel Type
  • Season
    Price
  • The highest price is 135
    $
    $
    Color
    Platform
    Heel Type
    Season
Black Rounded Toe Block Heel Gladiator Sandals with Platform Nicepairs Black Rounded Toe Block Heel Gladiator Sandals with Platform Nicepairs

Black Rounded Toe Block Heel Gladiator Sandals with Platform

$135.00
Add to cart
White Satin Bridal Shoes Block Heel Ankle Strap Pearl Sandals Nicepairs White Satin Bridal Shoes Block Heel Ankle Strap Pearl Sandals Nicepairs

White Satin Bridal Shoes Block Heel Ankle Strap Pearl Sandals

$115.00
Add to cart
Nude Velvet Bridal Shoes Open Toe Cross Strap Block Heel Sandals Nicepairs Nude Velvet Bridal Shoes Open Toe Cross Strap Block Heel Sandals Nicepairs

Nude Velvet Bridal Shoes Open Toe Cross Strap Block Heel Sandals

$105.00
Add to cart
Ivory Satin Wedding Shoes Ankle Strap Block Heel Platform Sandals Nicepairs Ivory Satin Wedding Shoes Ankle Strap Block Heel Platform Sandals Nicepairs

Ivory Satin Wedding Shoes Ankle Strap Block Heel Platform Sandals

$112.00
Add to cart
Ivory Lace Floral Embroidered Bridal Shoes Lace-Up Block Heel Pumps Nicepairs Ivory Lace Floral Embroidered Bridal Shoes Lace-Up Block Heel Pumps Nicepairs

Ivory Lace Floral Embroidered Bridal Shoes Lace-Up Block Heel Pumps

$112.00
Add to cart
Black Patent Leather Square Toe Block Heel Slingback Pumps for Women Nicepairs Black Patent Leather Square Toe Block Heel Slingback Pumps for Women Nicepairs

Black Patent Leather Square Toe Block Heel Slingback Pumps for Women

$112.00
Add to cart
Green Pointed Toe Buckled Strappy Block Heel Pumps for Women Nicepairs Green Pointed Toe Buckled Strappy Block Heel Pumps for Women Nicepairs

Green Pointed Toe Buckled Strappy Block Heel Pumps for Women

$120.00
Add to cart
Beige Plaid Almond Toe Low Block Heel Pumps for Office Nicepairs Beige Plaid Almond Toe Low Block Heel Pumps for Office Nicepairs

Beige Plaid Almond Toe Low Block Heel Pumps for Office

$107.00
Add to cart
Women's Velvet Peep Toe Ankle Strap Block Heel Sandals with Platform Nicepairs Women's Velvet Peep Toe Ankle Strap Block Heel Sandals with Platform Nicepairs

Women's Velvet Peep Toe Ankle Strap Block Heel Sandals with Platform

$106.00
Add to cart
Pink Square Toe Triple Strap Mary Jane Pumps with Block Heels Nicepairs Pink Square Toe Triple Strap Mary Jane Pumps with Block Heels Nicepairs

Pink Square Toe Triple Strap Mary Jane Pumps with Block Heels

$100.00
Add to cart
Women's Purple Satin Braided Strap Square Toe Block Heel Sandals Nicepairs Women's Purple Satin Braided Strap Square Toe Block Heel Sandals Nicepairs

Women's Purple Satin Braided Strap Square Toe Block Heel Sandals

$109.00
Add to cart
White Pointed Toe Grommet Buckle Straps Block Heel Pumps Nicepairs White Pointed Toe Grommet Buckle Straps Block Heel Pumps Nicepairs

White Pointed Toe Grommet Buckle Straps Block Heel Pumps

$120.00
Add to cart
Beige Open Square Toe Ruffle Decor Block Heel Mules for Women Nicepairs Beige Open Square Toe Ruffle Decor Block Heel Mules for Women Nicepairs

Beige Open Square Toe Ruffle Decor Block Heel Mules for Women

$100.00
Add to cart
Black & White Patent Leather Vintage Mary Jane Pumps with Block Heels Nicepairs Black & White Patent Leather Vintage Mary Jane Pumps with Block Heels Nicepairs

Black & White Patent Leather Vintage Mary Jane Pumps with Block Heels

$120.00
Add to cart
Silver Vegan Leather Round Toe Block Heel Platform Loafers Nicepairs Silver Vegan Leather Round Toe Block Heel Platform Loafers Nicepairs

Silver Vegan Leather Round Toe Block Heel Platform Loafers

$115.00
Add to cart
Black Vegan Leather Almond Toe 4'' T-Strap Block Heel Pumps with Studs Nicepairs Black Vegan Leather Almond Toe 4'' T-Strap Block Heel Pumps with Studs Nicepairs

Black Vegan Leather Almond Toe 4'' T-Strap Block Heel Pumps with Studs

$127.00
Add to cart
Black & White Square Toe Slingback Mary Jane Pumps with Block Heel Nicepairs Black & White Square Toe Slingback Mary Jane Pumps with Block Heel Nicepairs

Black & White Square Toe Slingback Mary Jane Pumps with Block Heel

$105.00
Add to cart
Pink Patent Leather Square Toe Block Heel Loafer Shoes Nicepairs Pink Patent Leather Square Toe Block Heel Loafer Shoes Nicepairs

Pink Patent Leather Square Toe Block Heel Loafer Shoes

$120.00
Add to cart
Black Rounded Toe Block Heel Lace Up Mary Jane Shoes with Platform  Nicepairs Black Rounded Toe Block Heel Lace Up Mary Jane Shoes with Platform  Nicepairs

Black Rounded Toe Block Heel Lace Up Mary Jane Shoes with Platform

$120.00
Add to cart
White Vegan Leather Almond Toe Block Heel Vintage Pumps with Bow Nicepairs White Vegan Leather Almond Toe Block Heel Vintage Pumps with Bow Nicepairs

White Vegan Leather Almond Toe Block Heel Vintage Pumps with Bow

$120.00
Add to cart
Black & White Polka Dot Closed Toe Block Heel Ankle Strap Pumps Nicepairs Black & White Polka Dot Closed Toe Block Heel Ankle Strap Pumps Nicepairs

Black & White Polka Dot Closed Toe Block Heel Ankle Strap Pumps

$120.00
Add to cart
Maroon Satin Opened Toe Rhinestone Embellished Ankle Strappy Platform Sandals With Block Heels Nicepairs Maroon Satin Opened Toe Rhinestone Embellished Ankle Strappy Platform Sandals With Block Heels Nicepairs

Maroon Satin Opened Toe Rhinestone Embellished Ankle Strappy Platform Sandals With Block Heels

$120.00
Add to cart
Green Patent Leather Pointed Toe 4'' Classic Block Heel Pumps Nicepairs Green Patent Leather Pointed Toe 4'' Classic Block Heel Pumps Nicepairs

Green Patent Leather Pointed Toe 4'' Classic Block Heel Pumps

$107.00
Add to cart
Multicolor Patent Leather Round Toe Block Heel Loafers with Chain Nicepairs Multicolor Patent Leather Round Toe Block Heel Loafers with Chain Nicepairs

Multicolor Patent Leather Round Toe Block Heel Loafers with Chain

$116.00
Add to cart
Orange Glitter Square Toe 4'' Block Heel Platform Sandals with Pearl  Nicepairs Orange Glitter Square Toe 4'' Block Heel Platform Sandals with Pearl  Nicepairs

Orange Glitter Square Toe 4'' Block Heel Platform Sandals with Pearl

$109.00
Add to cart
Pink Patent Leather Square Toe 6'' Block Heel Mary Jane Pumps Nicepairs Pink Patent Leather Square Toe 6'' Block Heel Mary Jane Pumps Nicepairs

Pink Patent Leather Square Toe 6'' Block Heel Mary Jane Pumps

$114.00
Add to cart
Off-White Satin Bridal Shoes Square Toe Ankle Tie Block Heel Sandals Nicepairs Off-White Satin Bridal Shoes Square Toe Ankle Tie Block Heel Sandals Nicepairs

Off-White Satin Bridal Shoes Square Toe Ankle Tie Block Heel Sandals

$100.00
Add to cart
Black Rhinestone Closed Toe Block Heel Pumps with Bow Decor Nicepairs Black Rhinestone Closed Toe Block Heel Pumps with Bow Decor Nicepairs

Black Rhinestone Closed Toe Block Heel Pumps with Bow Decor

$115.00
Add to cart
Multicolor Faux Suede Square Toe Shoes Strappy Block Heel Sandals Nicepairs Multicolor Faux Suede Square Toe Shoes Strappy Block Heel Sandals Nicepairs

Multicolor Faux Suede Square Toe Shoes Strappy Block Heel Sandals

$100.00
Add to cart
Gold Vegan Leather Open Toe Block Heel Hollow Out Sandals Nicepairs Gold Vegan Leather Open Toe Block Heel Hollow Out Sandals Nicepairs

Gold Vegan Leather Open Toe Block Heel Hollow Out Sandals

$102.00
Add to cart
Pink Square Toe Ankle Strap Shoes Classic Block Heels Platform Pumps  Nicepairs Pink Square Toe Ankle Strap Shoes Classic Block Heels Platform Pumps  Nicepairs

Pink Square Toe Ankle Strap Shoes Classic Block Heels Platform Pumps

$110.00
Add to cart
Beige & Black Patent Leather Square Toe Block Heel T-Strap Pumps Nicepairs Beige & Black Patent Leather Square Toe Block Heel T-Strap Pumps Nicepairs

Beige & Black Patent Leather Square Toe Block Heel T-Strap Pumps

$120.00
Add to cart
Black Leather Pointed Toe Block Heel Slingback Pumps with Lace Bows Nicepairs Black Leather Pointed Toe Block Heel Slingback Pumps with Lace Bows Nicepairs

Black Leather Pointed Toe Block Heel Slingback Pumps with Lace Bows

$109.00
Add to cart
Fuchsia Glitter Closed Toe Block Heel Platform Pumps with Buckle Nicepairs Fuchsia Glitter Closed Toe Block Heel Platform Pumps with Buckle Nicepairs

Fuchsia Glitter Closed Toe Block Heel Platform Pumps with Buckle

$109.00
Add to cart
Red Vegan Leather Pointed Toe Block Heel Pumps with Bow Decor Nicepairs Red Vegan Leather Pointed Toe Block Heel Pumps with Bow Decor Nicepairs

Red Vegan Leather Pointed Toe Block Heel Pumps with Bow Decor

$120.00
Add to cart
Black Polka Dot Round Toe Block Heel Mary Jane Pumps with Tulip Nicepairs Black Polka Dot Round Toe Block Heel Mary Jane Pumps with Tulip Nicepairs

Black Polka Dot Round Toe Block Heel Mary Jane Pumps with Tulip

$117.00
Add to cart
FSJ Red Square Toe Shoes Block Heel Platform Pumps for Women Nicepairs FSJ Red Square Toe Shoes Block Heel Platform Pumps for Women Nicepairs

FSJ Red Square Toe Shoes Block Heel Platform Pumps for Women

$110.00
Add to cart
Velvet Opened Round Toe Criss-Cross Lace Up Block Heeled Sandals In Navy Blue Nicepairs Velvet Opened Round Toe Criss-Cross Lace Up Block Heeled Sandals In Navy Blue Nicepairs

Velvet Opened Round Toe Criss-Cross Lace Up Block Heeled Sandals In Navy Blue

$115.00
Add to cart
Mustard Slingback Pumps Square Toe Block Heel Vintage Mary Jane Shoes Nicepairs Mustard Slingback Pumps Square Toe Block Heel Vintage Mary Jane Shoes Nicepairs

Mustard Slingback Pumps Square Toe Block Heel Vintage Mary Jane Shoes

$100.00
Add to cart
White & Black Colorblock Open Toe 4'' Stiletto Heel Ankle Strap Pumps Nicepairs White & Black Colorblock Open Toe 4'' Stiletto Heel Ankle Strap Pumps Nicepairs

White & Black Colorblock Open Toe 4'' Stiletto Heel Ankle Strap Pumps

$108.00
Add to cart
Black Patent Leather Block Heel Mary Jane Shoes with Oversized Buckle Nicepairs Black Patent Leather Block Heel Mary Jane Shoes with Oversized Buckle Nicepairs

Black Patent Leather Block Heel Mary Jane Shoes with Oversized Buckle

$108.00
Add to cart
FSJ Purple Pointy Toe Oversize Buckle Mary Jane Pumps with Block Heel Nicepairs FSJ Purple Pointy Toe Oversize Buckle Mary Jane Pumps with Block Heel Nicepairs

FSJ Purple Pointy Toe Oversize Buckle Mary Jane Pumps with Block Heel

$108.00
Add to cart
Multicolor Leather Square Toe Block Heel Loafers for Women Nicepairs Multicolor Leather Square Toe Block Heel Loafers for Women Nicepairs

Multicolor Leather Square Toe Block Heel Loafers for Women

$106.00
Add to cart
Black Patent Leather Square Toe Red Buckled Strappy Block Heeled Mary Janes Foe Women   Nicepairs Black Patent Leather Square Toe Red Buckled Strappy Block Heeled Mary Janes Foe Women   Nicepairs

Black Patent Leather Square Toe Red Buckled Strappy Block Heeled Mary Janes Foe Women

$108.00
Add to cart
Gold Patent Leather Square Toe Block Heel Sandals with Platform  Nicepairs Gold Patent Leather Square Toe Block Heel Sandals with Platform  Nicepairs

Gold Patent Leather Square Toe Block Heel Sandals with Platform

$115.00
Add to cart
Black Patent Leather Rounded Toe Block Heel Lace Up Oxford Shoes Nicepairs Black Patent Leather Rounded Toe Block Heel Lace Up Oxford Shoes Nicepairs

Black Patent Leather Rounded Toe Block Heel Lace Up Oxford Shoes

$125.00
Add to cart
Red Leather Square Toe 4'' Block Heel Sandals for Wedding Nicepairs Red Leather Square Toe 4'' Block Heel Sandals for Wedding Nicepairs

Red Leather Square Toe 4'' Block Heel Sandals for Wedding

$109.00
Add to cart
FSJ Blue Faux Suede Block Heel Pumps with Square Buckle Nicepairs FSJ Blue Faux Suede Block Heel Pumps with Square Buckle Nicepairs

FSJ Blue Faux Suede Block Heel Pumps with Square Buckle

$108.00
Add to cart
Sorry, there are no products in this collection.
class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }, true); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);