Heeled sandals

404 Products
Filter
  • Reset
  • The highest price is 190
    $
    $
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
Filter
  • Price
  • Color
  • Platform
  • Heel Type
  • Season
    Price
  • The highest price is 190
    $
    $
    Color
    Platform
    Heel Type
    Season
White Vegan Leather Snip Toe Pink Eagle Patch-Work Mid-Calf Cowgirl Boots Nicepairs White Vegan Leather Snip Toe Pink Eagle Patch-Work Mid-Calf Cowgirl Boots Nicepairs

White Vegan Leather Snip Toe Pink Eagle Patch-Work Mid-Calf Cowgirl Boots

$142.00
Add to cart
Metallic Light Pink Snip Toe Embroidered Heeled Cowgirl Ankle Boots Nicepairs Metallic Light Pink Snip Toe Embroidered Heeled Cowgirl Ankle Boots Nicepairs

Metallic Light Pink Snip Toe Embroidered Heeled Cowgirl Ankle Boots

$150.00
Add to cart
Metallic Pink Distressed Pointed Toe Patch-Work Cowgirl Ankle Boots Nicepairs Metallic Pink Distressed Pointed Toe Patch-Work Cowgirl Ankle Boots Nicepairs

Metallic Pink Distressed Pointed Toe Patch-Work Cowgirl Ankle Boots

$128.00
Add to cart
Pink Chunky Heeled Vegan Leather Embroidered Mid Calf Cowgirl Boots Nicepairs Pink Chunky Heeled Vegan Leather Embroidered Mid Calf Cowgirl Boots Nicepairs

Pink Chunky Heeled Vegan Leather Embroidered Mid Calf Cowgirl Boots

$128.00
Add to cart
Stylish Pink Pointed Toe Mid-Calf Faux Fur Boots with Stiletto Heel Nicepairs Stylish Pink Pointed Toe Mid-Calf Faux Fur Boots with Stiletto Heel Nicepairs

Stylish Pink Pointed Toe Mid-Calf Faux Fur Boots with Stiletto Heel

$154.00
Add to cart
Hot Pink Pointed Toe Fringe Mid-Calf Cowgirl Boots with Chunky Heel Nicepairs Hot Pink Pointed Toe Fringe Mid-Calf Cowgirl Boots with Chunky Heel Nicepairs

Hot Pink Pointed Toe Fringe Mid-Calf Cowgirl Boots with Chunky Heel

$120.00
Add to cart
Pink Faux Suede Chunky Heel Shoes Embroidered Mid-Calf Cowgirl Boots Nicepairs Pink Faux Suede Chunky Heel Shoes Embroidered Mid-Calf Cowgirl Boots Nicepairs

Pink Faux Suede Chunky Heel Shoes Embroidered Mid-Calf Cowgirl Boots

$159.00   $179.00
Add to cart
Save $20.00 Save $20.00
Pink Metallic Finish Pointed Toe Embroidered Mid-Calf Cowgirl Boots Nicepairs Pink Metallic Finish Pointed Toe Embroidered Mid-Calf Cowgirl Boots Nicepairs

Pink Metallic Finish Pointed Toe Embroidered Mid-Calf Cowgirl Boots

$136.00
Add to cart
Pink & White Tulips Print Chunky Heel Mid-Calf Cowboy Boots for Women Nicepairs

Pink & White Tulips Print Chunky Heel Mid-Calf Cowboy Boots for Women

$159.00
Add to cart
Pink Satin Pointed Toe Embroidered Mid-Calf Cowboy Boots for Women Nicepairs Pink Satin Pointed Toe Embroidered Mid-Calf Cowboy Boots for Women Nicepairs

Pink Satin Pointed Toe Embroidered Mid-Calf Cowboy Boots for Women

$150.00
Add to cart
Pink Metallic Embroidered Chunky Heel Mid-Calf Cowboy Boots for Women Nicepairs Pink Metallic Embroidered Chunky Heel Mid-Calf Cowboy Boots for Women Nicepairs

Pink Metallic Embroidered Chunky Heel Mid-Calf Cowboy Boots for Women

$150.00
Add to cart
Navy Blue Vegan Leather Snip Toe Pink Embroidered Heeled Cowgirl Booties Nicepairs Navy Blue Vegan Leather Snip Toe Pink Embroidered Heeled Cowgirl Booties Nicepairs

Navy Blue Vegan Leather Snip Toe Pink Embroidered Heeled Cowgirl Booties

$150.00
Add to cart
Pink  Platform Ankle Boots Black With Chain Decors Nicepairs Pink  Platform Ankle Boots Black With Chain Decors Nicepairs

Pink Platform Ankle Boots Black With Chain Decors

$125.00
Add to cart
Light Pink Round Toe Platform Boots Y2K Chunky Heel Ankle Boots Nicepairs Light Pink Round Toe Platform Boots Y2K Chunky Heel Ankle Boots Nicepairs

Light Pink Round Toe Platform Boots Y2K Chunky Heel Ankle Boots

$125.00
Add to cart
Pink Distressed Embroidered Wide-Calf Cowgirl Ankle Boots Nicepairs Pink Distressed Embroidered Wide-Calf Cowgirl Ankle Boots Nicepairs

Pink Distressed Embroidered Wide-Calf Cowgirl Ankle Boots

$128.00
Add to cart
Pink Patent Leather Round Toe Side-Zip Decorative Heeled Ankle Boots Nicepairs Pink Patent Leather Round Toe Side-Zip Decorative Heeled Ankle Boots Nicepairs

Pink Patent Leather Round Toe Side-Zip Decorative Heeled Ankle Boots

$128.00
Add to cart
Pink Vegan Leahter Closed Pointed Toe Ankle Boots With Stiletto Heels Nicepairs Pink Vegan Leahter Closed Pointed Toe Ankle Boots With Stiletto Heels Nicepairs

Pink Vegan Leahter Closed Pointed Toe Ankle Boots With Stiletto Heels

$115.00
Add to cart
Pink Platform  Ankle Boots Chunky Heels Nicepairs Pink Platform  Ankle Boots Chunky Heels Nicepairs

Pink Platform Ankle Boots Chunky Heels

$120.00
Add to cart
Pink Snip Toe Wide Calf Croc Embossed Knee High Heeled Boots Nicepairs Pink Snip Toe Wide Calf Croc Embossed Knee High Heeled Boots Nicepairs

Pink Snip Toe Wide Calf Croc Embossed Knee High Heeled Boots

$140.00
Add to cart
Pink Strap Ankle Boots With Platform Chunky Heel Nicepairs Pink Strap Ankle Boots With Platform Chunky Heel Nicepairs

Pink Strap Ankle Boots With Platform Chunky Heel

$125.00
Add to cart
 Pink Metallic Finish Round Toe Embroidered Inside-Zip Cowgirl Ankle Boots Nicepairs  Pink Metallic Finish Round Toe Embroidered Inside-Zip Cowgirl Ankle Boots Nicepairs

Pink Metallic Finish Round Toe Embroidered Inside-Zip Cowgirl Ankle Boots

$130.00
Add to cart
Light Pink Pointed Toe Sock Boots Satin Decorative Heel Strappy Calf Boots Nicepairs Light Pink Pointed Toe Sock Boots Satin Decorative Heel Strappy Calf Boots Nicepairs

Light Pink Pointed Toe Sock Boots Satin Decorative Heel Strappy Calf Boots

$125.00
Add to cart
Pink Vegan Leather Embroidered Women's Block Heeled Cowgirl Ankle Boots Nicepairs Pink Vegan Leather Embroidered Women's Block Heeled Cowgirl Ankle Boots Nicepairs

Pink Vegan Leather Embroidered Women's Block Heeled Cowgirl Ankle Boots

$115.00
Add to cart
Pink and Black Texture Ankle Boots Platform Boots High Chunky Boots Nicepairs Pink and Black Texture Ankle Boots Platform Boots High Chunky Boots Nicepairs

Pink and Black Texture Ankle Boots Platform Boots High Chunky Boots

$125.00
Add to cart
Pink Snake Texture Ankle Boots Pointed Toe Lace Up Chunky Heel Boots Nicepairs Pink Snake Texture Ankle Boots Pointed Toe Lace Up Chunky Heel Boots Nicepairs

Pink Snake Texture Ankle Boots Pointed Toe Lace Up Chunky Heel Boots

$120.00
Add to cart
Pink Vegan Suede Pointed Toe Studded Ankle Boots with Stiletto Heels Nicepairs Pink Vegan Suede Pointed Toe Studded Ankle Boots with Stiletto Heels Nicepairs

Pink Vegan Suede Pointed Toe Studded Ankle Boots with Stiletto Heels

$124.00
Add to cart
Pink Pointed Toe Stiletto Heel Zipper Ankle Boots Nicepairs Pink Pointed Toe Stiletto Heel Zipper Ankle Boots Nicepairs

Pink Pointed Toe Stiletto Heel Zipper Ankle Boots

$128.00
Add to cart
Pink & White Ankle Length Embroidered Cowgirl Boots with Chunky Heel Nicepairs Pink & White Ankle Length Embroidered Cowgirl Boots with Chunky Heel Nicepairs

Pink & White Ankle Length Embroidered Cowgirl Boots with Chunky Heel

$136.00
Add to cart
Pink Faux Suede Closed Toe Wedge Heel Platform Pumps with Bow Decor Nicepairs Pink Faux Suede Closed Toe Wedge Heel Platform Pumps with Bow Decor Nicepairs

Pink Faux Suede Closed Toe Wedge Heel Platform Pumps with Bow Decor

$120.00
Add to cart
Pink Faux Suede Opened Toe Wide Fit Band Bow Mules With Block Heels Nicepairs Pink Faux Suede Opened Toe Wide Fit Band Bow Mules With Block Heels Nicepairs

Pink Faux Suede Opened Toe Wide Fit Band Bow Mules With Block Heels

$120.00
Add to cart
Light Pink Satin Closed Toe Stiletto Heel Feather Mules Nicepairs Light Pink Satin Closed Toe Stiletto Heel Feather Mules Nicepairs

Light Pink Satin Closed Toe Stiletto Heel Feather Mules

$120.00
Add to cart
Pink  Opened Pointed Toe Rhinestone Strappy Mules With Flared Heels Nicepairs Pink  Opened Pointed Toe Rhinestone Strappy Mules With Flared Heels Nicepairs

Pink Opened Pointed Toe Rhinestone Strappy Mules With Flared Heels

$120.00
Add to cart
Pink Suede Opened Toes Buckled Strappy Mules With Decorative Heels Nicepairs Pink Suede Opened Toes Buckled Strappy Mules With Decorative Heels Nicepairs

Pink Suede Opened Toes Buckled Strappy Mules With Decorative Heels

$120.00
Add to cart
Pink  Opened Square Strappy Chain Mules With Flared Heels Nicepairs Pink  Opened Square Strappy Chain Mules With Flared Heels Nicepairs

Pink Opened Square Strappy Chain Mules With Flared Heels

$120.00
Add to cart
Pink Vegan Leather Closed Toe 3'' Stiletto Heel Mules Nicepairs Pink Vegan Leather Closed Toe 3'' Stiletto Heel Mules Nicepairs

Pink Vegan Leather Closed Toe 3'' Stiletto Heel Mules

$120.00
Add to cart
Pink Rhinestone Pointed Toe 4'' Decorative Heel Mules Nicepairs Pink Rhinestone Pointed Toe 4'' Decorative Heel Mules Nicepairs

Pink Rhinestone Pointed Toe 4'' Decorative Heel Mules

$109.00
Add to cart
Hot Pink Satin Open-Toe Rhinestone Butterfly Heeled Platform Mules Nicepairs Hot Pink Satin Open-Toe Rhinestone Butterfly Heeled Platform Mules Nicepairs

Hot Pink Satin Open-Toe Rhinestone Butterfly Heeled Platform Mules

$120.00
Add to cart
Hot Pink Vegan Leather Fringe Wide Band Block Heeled Mules Nicepairs Hot Pink Vegan Leather Fringe Wide Band Block Heeled Mules Nicepairs

Hot Pink Vegan Leather Fringe Wide Band Block Heeled Mules

$118.00
Add to cart
Pink Faux Suede Opened Toe Wide Band Mules With Stiletto Heels Nicepairs Pink Faux Suede Opened Toe Wide Band Mules With Stiletto Heels Nicepairs

Pink Faux Suede Opened Toe Wide Band Mules With Stiletto Heels

$120.00
Add to cart
Pink Patent Leather Square Toe 3'' Decorative Heel Mules Nicepairs Pink Patent Leather Square Toe 3'' Decorative Heel Mules Nicepairs

Pink Patent Leather Square Toe 3'' Decorative Heel Mules

$120.00
Add to cart
Pink Opened Square Toe Rhinestone Strappy Mules With Stiletto Heels Nicepairs Pink Opened Square Toe Rhinestone Strappy Mules With Stiletto Heels Nicepairs

Pink Opened Square Toe Rhinestone Strappy Mules With Stiletto Heels

$120.00
Add to cart
Pink Open Toe 4'' Wedge Heel Crisscross Platform Mules Nicepairs Pink Open Toe 4'' Wedge Heel Crisscross Platform Mules Nicepairs

Pink Open Toe 4'' Wedge Heel Crisscross Platform Mules

$120.00
Add to cart
Pink Suede Opened Toe Wide Band Rhinestone Mules With Chunky Heels Nicepairs Pink Suede Opened Toe Wide Band Rhinestone Mules With Chunky Heels Nicepairs

Pink Suede Opened Toe Wide Band Rhinestone Mules With Chunky Heels

$120.00
Add to cart
Pink Satin Closed Pointed Toe Rhinestone Heart Mules With Stiletto Heels Nicepairs Pink Satin Closed Pointed Toe Rhinestone Heart Mules With Stiletto Heels Nicepairs

Pink Satin Closed Pointed Toe Rhinestone Heart Mules With Stiletto Heels

$120.00
Add to cart
Pink Velvet Opened Toe Rhinestone Strappy Mules With Stiletto Heels Nicepairs Pink Velvet Opened Toe Rhinestone Strappy Mules With Stiletto Heels Nicepairs

Pink Velvet Opened Toe Rhinestone Strappy Mules With Stiletto Heels

$120.00
Add to cart
Pink Square Toe 3'' Decorative Heel Rhinestone Mule Sandals Nicepairs Pink Square Toe 3'' Decorative Heel Rhinestone Mule Sandals Nicepairs

Pink Square Toe 3'' Decorative Heel Rhinestone Mule Sandals

$120.00
Add to cart
Satin Pointy Toe Decorative Heel Rhinestone Mules Shoes in Pink Nicepairs Satin Pointy Toe Decorative Heel Rhinestone Mules Shoes in Pink Nicepairs

Satin Pointy Toe Decorative Heel Rhinestone Mules Shoes in Pink

$120.00
Add to cart
Pink  Opened Square Toe Rhinestone & Clear Strappy Flat Mules Nicepairs Pink  Opened Square Toe Rhinestone & Clear Strappy Flat Mules Nicepairs

Pink Opened Square Toe Rhinestone & Clear Strappy Flat Mules

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