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

133 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
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
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 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
Green Velvet Pointed Toe Cross Ankle Strap Block Heel Pumps Nicepairs Green Velvet Pointed Toe Cross Ankle Strap Block Heel Pumps Nicepairs

Green Velvet Pointed Toe Cross Ankle Strap Block Heel Pumps

$105.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
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
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 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
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
Ivory Open Toe Cut-Out Buckle Strap Block Heel Sandals with Studded Nicepairs Ivory Open Toe Cut-Out Buckle Strap Block Heel Sandals with Studded Nicepairs

Ivory Open Toe Cut-Out Buckle Strap Block Heel Sandals with Studded

$125.00
Add to cart
Red Patent Leather Snake Embossed Bow Block Heel Pumps for Women Nicepairs Red Patent Leather Snake Embossed Bow Block Heel Pumps for Women Nicepairs

Red Patent Leather Snake Embossed Bow Block Heel Pumps for Women

$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
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 Open-Toe Ball Embellished Block Heel Rhinestone Sandals Nicepairs Black Open-Toe Ball Embellished Block Heel Rhinestone Sandals Nicepairs

Black Open-Toe Ball Embellished Block Heel Rhinestone Sandals

$128.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

$105.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 & 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
Elegant White Pointed Toe Buckle Strap Cut Out Block Heel Pumps Nicepairs Elegant White Pointed Toe Buckle Strap Cut Out Block Heel Pumps Nicepairs

Elegant White Pointed Toe Buckle Strap Cut Out Block Heel Pumps

$103.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
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
Elegant Beige & Black Two-Tone Square Toe Block Heel Slingback Pumps Nicepairs Elegant Beige & Black Two-Tone Square Toe Block Heel Slingback Pumps Nicepairs

Elegant Beige & Black Two-Tone Square Toe Block Heel Slingback Pumps

$100.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
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
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
Olive Patent Leather Slingback Shoes Buckle Strap Block Heel Pumps Nicepairs Olive Patent Leather Slingback Shoes Buckle Strap Block Heel Pumps Nicepairs

Olive Patent Leather Slingback Shoes Buckle Strap Block Heel Pumps

$100.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
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
Multi Color Open Toe Cross Strap Block Heel Sandals Buckle Slingbacks Nicepairs Multi Color Open Toe Cross Strap Block Heel Sandals Buckle Slingbacks Nicepairs

Multi Color Open Toe Cross Strap Block Heel Sandals Buckle Slingbacks

$108.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
Patent Leather Square Toe 6'' Block Heel Mary Jane Pumps Nicepairs Patent Leather Square Toe 6'' Block Heel Mary Jane Pumps Nicepairs

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

$114.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
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
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
Navy Velvet Peep Toe Cross Strap Lace Up Sandals with Block Heels Nicepairs Navy Velvet Peep Toe Cross Strap Lace Up Sandals with Block Heels Nicepairs

Navy Velvet Peep Toe Cross Strap Lace Up Sandals with Block Heels

$115.00
Add to cart
Silver Rhinestone Closed Toe Block Heel Pumps with Bow Decor Nicepairs Silver Rhinestone Closed Toe Block Heel Pumps with Bow Decor Nicepairs

Silver Rhinestone Closed Toe Block Heel Pumps with Bow Decor

$115.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
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
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
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
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
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 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
Colorful Stripes Vegan leather Women's Party Block Heel Pumps Nicepairs Colorful Stripes Vegan leather Women's Party Block Heel Pumps Nicepairs

Colorful Stripes Vegan leather Women's Party Block Heel Pumps

$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);