From kittens to high-heel mules, shop the full collection at Nicepairs. Full size (US 3-15 ), always in stock. Order Now!

Mules

264 Products
Filter
  • Reset
  • The highest price is 125
    $
    $
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
Filter
  • Price
  • Color
  • Platform
  • Heel Type
  • Season
    Price
  • The highest price is 125
    $
    $
    Color
    Platform
    Heel Type
    Season
Black Stud Round Toe Block High Heel Clog Mules with Platform  Nicepairs Black Stud Round Toe Block High Heel Clog Mules with Platform  Nicepairs

Black Stud Round Toe Block High Heel Clog Mules with Platform

$110.00
Add to cart
Green Round Toe Chunky Heel Platform Mules for Women Nicepairs Green Round Toe Chunky Heel Platform Mules for Women Nicepairs

Green Round Toe Chunky Heel Platform Mules for Women

$115.00
Add to cart
Gold Patent Leather Pointed Toe Chunky Heel Mules with Platform Nicepairs Gold Patent Leather Pointed Toe Chunky Heel Mules with Platform Nicepairs

Gold Patent Leather Pointed Toe Chunky Heel Mules with Platform

$109.00
Add to cart
Gold Satin Closed Pointed Toe Heeled Mules with Bow Embellished Nicepairs Gold Satin Closed Pointed Toe Heeled Mules with Bow Embellished Nicepairs

Gold Satin Closed Pointed Toe Heeled Mules with Bow Embellished

$103.00
Add to cart
Terracotta Brown Velvet Bow Pointed Toe Kitten Heel Mules Nicepairs Terracotta Brown Velvet Bow Pointed Toe Kitten Heel Mules Nicepairs

Terracotta Brown Velvet Bow Pointed Toe Kitten Heel Mules

$120.00
Add to cart
Brown Vegan Suede Pointed Toe Stiletto Heel Mules with Pom Decor Nicepairs Brown Vegan Suede Pointed Toe Stiletto Heel Mules with Pom Decor Nicepairs

Brown Vegan Suede Pointed Toe Stiletto Heel Mules with Pom Decor

$112.00
Add to cart
White & Brown Furry Faux Fur Flat Mules with Velvet Bow Decor Nicepairs

White & Brown Furry Faux Fur Flat Mules with Velvet Bow Decor

$100.00
Add to cart
Black Satin Square Toe Bow Inlay Kitten Heel Mules for Women Nicepairs Black Satin Square Toe Bow Inlay Kitten Heel Mules for Women Nicepairs

Black Satin Square Toe Bow Inlay Kitten Heel Mules for Women

$100.00
Add to cart
Red Patent Leather Square Toe Buckle Fastening Strappy Flat Mules Nicepairs Red Patent Leather Square Toe Buckle Fastening Strappy Flat Mules Nicepairs

Red Patent Leather Square Toe Buckle Fastening Strappy Flat Mules

$100.00
Add to cart
Red Pointed Toe Mules Ankle Strap Kitten Heel Pumps for Women  Nicepairs Red Pointed Toe Mules Ankle Strap Kitten Heel Pumps for Women  Nicepairs

Red Pointed Toe Mules Ankle Strap Kitten Heel Pumps for Women

$100.00
Add to cart
Black Open Square Toe Wide Band Kitten heel Mules for Women Nicepairs Black Open Square Toe Wide Band Kitten heel Mules for Women Nicepairs

Black Open Square Toe Wide Band Kitten heel Mules for Women

$100.00
Add to cart
Multicolor Open Toe Chunky Heel Platform Mules for Women Nicepairs Multicolor Open Toe Chunky Heel Platform Mules for Women Nicepairs

Multicolor Open Toe Chunky Heel Platform Mules for Women

$120.00
Add to cart
Leopard Suede Closed Toe Studded Platform Mules With Chunky Heels Nicepairs Leopard Suede Closed Toe Studded Platform Mules With Chunky Heels Nicepairs

Leopard Suede Closed Toe Studded Platform Mules With Chunky Heels

$120.00
Add to cart
Navy Vegan Suede Round Toe Platform Mule Loafers Studded Heeled Clogs Nicepairs Navy Vegan Suede Round Toe Platform Mule Loafers Studded Heeled Clogs Nicepairs

Navy Vegan Suede Round Toe Platform Mule Loafers Studded Heeled Clogs

$120.00
Add to cart
Black Satin Rhinestone Bow Kitten Heels Pointed Toe Mules Shoes Nicepairs Black Satin Rhinestone Bow Kitten Heels Pointed Toe Mules Shoes Nicepairs

Black Satin Rhinestone Bow Kitten Heels Pointed Toe Mules Shoes

$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
Silver Glitter Closed Pointed Toe Pearl & Rhinestone Flat Mules Nicepairs Silver Glitter Closed Pointed Toe Pearl & Rhinestone Flat Mules Nicepairs

Silver Glitter Closed Pointed Toe Pearl & Rhinestone Flat Mules

$120.00
Add to cart
Brown Square Toe Rhinestone Double Strap Mules Shoes with Wedge Heel Nicepairs Brown Square Toe Rhinestone Double Strap Mules Shoes with Wedge Heel Nicepairs

Brown Square Toe Rhinestone Double Strap Mules Shoes with Wedge Heel

$120.00
Add to cart
Elegant Rhinestone Flat Slides Pointed Toe Genuine Leather Mules Nicepairs Elegant Rhinestone Flat Slides Pointed Toe Genuine Leather Mules Nicepairs

Elegant Rhinestone Flat Slides Pointed Toe Genuine Leather Mules

$124.00
Add to cart
Silver Glitter Square Toe 4'' Stiletto Heel Sandals for Wedding Nicepairs Silver Glitter Square Toe 4'' Stiletto Heel Sandals for Wedding Nicepairs

Silver Glitter Square Toe 4'' Stiletto Heel Sandals for Wedding

$109.00
Add to cart
Fuchsia Velvet Pointed Toe Decorative Heel Mules with Bow Nicepairs Fuchsia Velvet Pointed Toe Decorative Heel Mules with Bow Nicepairs

Fuchsia Velvet Pointed Toe Decorative Heel Mules with Bow

$109.00
Add to cart
Brown Pointed Toe Velvet Shoes Women's Furry Flat Pumps Vintage Mules Nicepairs Brown Pointed Toe Velvet Shoes Women's Furry Flat Pumps Vintage Mules Nicepairs

Brown Pointed Toe Velvet Shoes Women's Furry Flat Pumps Vintage Mules

$109.00
Add to cart
Black Square Toe Floral Rhinestone Embellished Wide Band Mules    Nicepairs Black Square Toe Floral Rhinestone Embellished Wide Band Mules    Nicepairs

Black Square Toe Floral Rhinestone Embellished Wide Band Mules

$115.00
Add to cart
Black Vegan Leather Closed Round Toe Studded Platform Mules With Wedged Heels Nicepairs Black Vegan Leather Closed Round Toe Studded Platform Mules With Wedged Heels Nicepairs

Black Vegan Leather Closed Round Toe Studded Platform Mules With Wedged Heels

$118.00
Add to cart
Red Satin Flower Heels Clear Band Pointed Toe Mule Shoes for Women Nicepairs Red Satin Flower Heels Clear Band Pointed Toe Mule Shoes for Women Nicepairs

Red Satin Flower Heels Clear Band Pointed Toe Mule Shoes for Women

$100.00
Add to cart
Mustard-Colored Faux Suede Opened Square Toe Wide-Band Mules With Kitten Heels Nicepairs Mustard-Colored Faux Suede Opened Square Toe Wide-Band Mules With Kitten Heels Nicepairs

Mustard-Colored Faux Suede Opened Square Toe Wide-Band Mules With Kitten Heels

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

Pink Satin Opened Square Toe Bow Strappy Mules With Stiletto Heels

$118.00
Add to cart
Green Satin Opened Square Toe Bow Strappy Mules With Stiletto Heels Nicepairs Green Satin Opened Square Toe Bow Strappy Mules With Stiletto Heels Nicepairs

Green Satin Opened Square Toe Bow Strappy Mules With Stiletto Heels

$118.00
Add to cart
Green Satin Opened Square Toe Bow Inlay Mules With Kitten Heels Nicepairs Green Satin Opened Square Toe Bow Inlay Mules With Kitten Heels Nicepairs

Green Satin Opened Square Toe Bow Inlay Mules With Kitten Heels

$118.00
Add to cart
Gold Metallic Vegan Leather Closed Pointed Toe Rhinestone Embellished Mules With Stiletto Heels Nicepairs Gold Metallic Vegan Leather Closed Pointed Toe Rhinestone Embellished Mules With Stiletto Heels Nicepairs

Gold Metallic Vegan Leather Closed Pointed Toe Rhinestone Embellished Mules With Stiletto Heels

$120.00
Add to cart
Gold Metallic Pointy Toe Rhinestone Clear Strap Slingback Pumps Nicepairs Gold Metallic Pointy Toe Rhinestone Clear Strap Slingback Pumps Nicepairs

Gold Metallic Pointy Toe Rhinestone Clear Strap Slingback Pumps

$120.00
Add to cart
Metallic Gold Vegan Leather Square Toe Buckle Fastening Strappy Flat Mules Nicepairs Metallic Gold Vegan Leather Square Toe Buckle Fastening Strappy Flat Mules Nicepairs

Metallic Gold Vegan Leather Square Toe Buckle Fastening Strappy Flat Mules

$100.00
Add to cart
Red Faux Suede Opened Square Toe Rhinestone Embellished Bow Inlay With Stiletto Heel Nicepairs Red Faux Suede Opened Square Toe Rhinestone Embellished Bow Inlay With Stiletto Heel Nicepairs

Red Faux Suede Opened Square Toe Rhinestone Embellished Bow Inlay With Stiletto Heel

$120.00
Add to cart
Black Patent Leather Square Toe Buckle Fastening Strappy Flat Mules Nicepairs Black Patent Leather Square Toe Buckle Fastening Strappy Flat Mules Nicepairs

Black Patent Leather Square Toe Buckle Fastening Strappy Flat Mules

$100.00
Add to cart
Silver Metallic Vegan Leather Closed Pointed Toe Studded Mules With Kitten Heel Nicepairs Silver Metallic Vegan Leather Closed Pointed Toe Studded Mules With Kitten Heel Nicepairs

Silver Metallic Vegan Leather Closed Pointed Toe Studded Mules With Kitten Heel

$118.00
Add to cart
Gold Vegan Leather Opened Square Toe Mules With Chunky Heels Nicepairs Gold Vegan Leather Opened Square Toe Mules With Chunky Heels Nicepairs

Gold Vegan Leather Opened Square Toe Mules With Chunky Heels

$115.00
Add to cart
Black Vegan Leather Opened Toe Knot Design Platform Mules With Chunky Heels Nicepairs Black Vegan Leather Opened Toe Knot Design Platform Mules With Chunky Heels Nicepairs

Black Vegan Leather Opened Toe Knot Design Platform Mules With Chunky Heels

$115.00
Add to cart
Black Vegan Leather Closed Round Toe Buckled Studded Platform Mules With Chunky Heels Nicepairs Black Vegan Leather Closed Round Toe Buckled Studded Platform Mules With Chunky Heels Nicepairs

Black Vegan Leather Closed Round Toe Buckled Studded Platform Mules With Chunky Heels

$120.00
Add to cart
Gold Metallic Vegan Leather Opened Round Toe Mules With Stiletto Heels Nicepairs Gold Metallic Vegan Leather Opened Round Toe Mules With Stiletto Heels Nicepairs

Gold Metallic Vegan Leather Opened Round Toe Mules With Stiletto Heels

$115.00
Add to cart
Brown Velvet Opened Round Toe Rhinestone and Pearl Embellished Strappy Flat Mules Nicepairs Brown Velvet Opened Round Toe Rhinestone and Pearl Embellished Strappy Flat Mules Nicepairs

Brown Velvet Opened Round Toe Rhinestone and Pearl Embellished Strappy Flat Mules

$100.00
Add to cart
Green Velvet Opened Round Toe Rhinestone and Pearl Embellished Strappy Flat Mules Nicepairs Green Velvet Opened Round Toe Rhinestone and Pearl Embellished Strappy Flat Mules Nicepairs

Green Velvet Opened Round Toe Rhinestone and Pearl Embellished Strappy Flat Mules

$100.00
Add to cart
Black Vegan Leather Opened Square Toe Chain Decorated Wide Band Mules With Kitten heels Nicepairs Black Vegan Leather Opened Square Toe Chain Decorated Wide Band Mules With Kitten heels Nicepairs

Black Vegan Leather Opened Square Toe Chain Decorated Wide Band Mules With Kitten heels

$100.00
Add to cart
 Mules Pointy Toe Low Heel Slide Slippers Nicepairs  Mules Pointy Toe Low Heel Slide Slippers Nicepairs

Mules Pointy Toe Low Heel Slide Slippers

$109.00
Add to cart
Maroon Velvet Opened Square Toe Strappy Mules With Flared Heels Nicepairs Maroon Velvet Opened Square Toe Strappy Mules With Flared Heels Nicepairs

Maroon Velvet Opened Square Toe Strappy Mules With Flared Heels

$118.00
Add to cart
Gold Metallic Vegan Leather Opened Square Toe Strappy Mules With Flared Heels Nicepairs Gold Metallic Vegan Leather Opened Square Toe Strappy Mules With Flared Heels Nicepairs

Gold Metallic Vegan Leather Opened Square Toe Strappy Mules With Flared Heels

$118.00
Add to cart
Gold Vegan Leather Pointed Toe Crystal Macaron Mules With Stiletto Heels Nicepairs Gold Vegan Leather Pointed Toe Crystal Macaron Mules With Stiletto Heels Nicepairs

Gold Vegan Leather Pointed Toe Crystal Macaron Mules With Stiletto Heels

$100.00
Add to cart
Black & Satin Velvet Pointed Toe Crystal Macaron Mules With Stiletto Heels Nicepairs Black & Satin Velvet Pointed Toe Crystal Macaron Mules With Stiletto Heels Nicepairs

Black & Satin Velvet Pointed Toe Crystal Macaron Mules With Stiletto Heels

$100.00
Add to cart
Red Vegan Leather  Opened Square Toe Wide Band Mules With Kitten heels Nicepairs Red Vegan Leather  Opened Square Toe Wide Band Mules With Kitten heels Nicepairs

Red Vegan Leather Opened Square Toe Wide Band Mules With Kitten heels

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