Discover elegance and style this festive season with NiceParis.com's Holiday Collection. Featuring chic women's shoes crafted with premium vegan leather, dazzling rhinestone accents, and timeless designs, our collection is perfect for holiday parties, family gatherings, and every special occasion. Shop now for exclusive discounts and step into the holidays with confidence and sophistication.

Holiday Collection

2410 Products
Filter
  • Reset
  • The highest price is 150
    $
    $
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
Filter
  • Price
  • Color
  • Heel Height
  • Heel Type
  • Toe Style
  • Platform
  • Occasion
  • Accents
    Price
  • The highest price is 150
    $
    $
    Color
    Heel Height
    Heel Type
    Toe Style
    Platform
    Occasion
    Accents
Gold Patent Leather Opened Toe Rhinestone Lace Up Sandals With Stiletto Heels Nicepairs Gold Patent Leather Opened Toe Rhinestone Lace Up Sandals With Stiletto Heels Nicepairs

Gold Patent Leather Opened Toe Rhinestone Lace Up Sandals With Stiletto Heels

$115.00
Add to cart
Green Round Toe Chunky Heel Lug Sole Platform Mules for Women Nicepairs Green Round Toe Chunky Heel Lug Sole Platform Mules for Women Nicepairs

Green Round Toe Chunky Heel Lug Sole Platform Mules for Women

$115.00
Add to cart
Women's Pink and White Striped Open Toe Ankle Strap Heeled Sandals Nicepairs

Women's Pink and White Striped Open Toe Ankle Strap Heeled Sandals

$102.00   $108.00
Add to cart
Save $6.00 Save $6.00
Yellow Open Toe 3'' Flared Heel Floral Cute Strappy Sandals for Women Nicepairs Yellow Open Toe 3'' Flared Heel Floral Cute Strappy Sandals for Women Nicepairs

Yellow Open Toe 3'' Flared Heel Floral Cute Strappy Sandals for Women

$108.00
Add to cart
Blue Satin Knotted Wedding Shoes Square Toe Ankle Tie Heeled Sandals Nicepairs Blue Satin Knotted Wedding Shoes Square Toe Ankle Tie Heeled Sandals Nicepairs

Blue Satin Knotted Wedding Shoes Square Toe Ankle Tie Heeled Sandals

$100.00
Add to cart
Beige Open Toe Flat Buckle T-Strap Gladiator Sandals Nicepairs Beige Open Toe Flat Buckle T-Strap Gladiator Sandals Nicepairs

Beige Open Toe Flat Buckle T-Strap Gladiator Sandals

$100.00
Add to cart
Blush Open Toe Stiletto Heel Gladiator Sandals with Platform Nicepairs

Blush Open Toe Stiletto Heel Gladiator Sandals with Platform

$104.00
Add to cart
Gold Patent Leather Open Toe Chunky Heel Ankle Strap Platform Sandals Nicepairs Gold Patent Leather Open Toe Chunky Heel Ankle Strap Platform Sandals Nicepairs

Gold Patent Leather Open Toe Chunky Heel Ankle Strap Platform Sandals

$115.00
Add to cart
Light Pink Peep Toe 3‘’ Chunky Heel Ankle Strap Sandals for Bride Nicepairs Light Pink Peep Toe 3‘’ Chunky Heel Ankle Strap Sandals for Bride Nicepairs

Light Pink Peep Toe 3‘’ Chunky Heel Ankle Strap Sandals for Bride

$112.00
Add to cart
Gold Vegan Leather Opened Square Toe Lace Up Strappy Sandals With Chunky Heels Nicepairs Gold Vegan Leather Opened Square Toe Lace Up Strappy Sandals With Chunky Heels Nicepairs

Gold Vegan Leather Opened Square Toe Lace Up Strappy Sandals With Chunky Heels

$115.00
Add to cart
Beige Vegan Leather Open Toe Chunky Heel Ankle Strap Platform Sandals Nicepairs Beige Vegan Leather Open Toe Chunky Heel Ankle Strap Platform Sandals Nicepairs

Beige Vegan Leather Open Toe Chunky Heel Ankle Strap Platform Sandals

$115.00
Add to cart
White Satin Open Toe 4'' Block Heel Pearl Ankle Strap Wedding Sandals Nicepairs White Satin Open Toe 4'' Block Heel Pearl Ankle Strap Wedding Sandals Nicepairs

White Satin Open Toe 4'' Block Heel Pearl Ankle Strap Wedding Sandals

$115.00
Add to cart
Silver Metallic Round Toe Flat Lace-Up Back-Zip Gladiator Sandals Nicepairs Silver Metallic Round Toe Flat Lace-Up Back-Zip Gladiator Sandals Nicepairs

Silver Metallic Round Toe Flat Lace-Up Back-Zip Gladiator Sandals

$115.00
Add to cart
Gold Metallic Open Toe Flat Fringe Ankle Strap Sandals for Women Nicepairs Gold Metallic Open Toe Flat Fringe Ankle Strap Sandals for Women Nicepairs

Gold Metallic Open Toe Flat Fringe Ankle Strap Sandals for Women

$108.00
Add to cart
Gold Open Toe 4'' Stiletto Heel Rhinestone Lace Up Sandals Nicepairs Gold Open Toe 4'' Stiletto Heel Rhinestone Lace Up Sandals Nicepairs

Gold Open Toe 4'' Stiletto Heel Rhinestone Lace Up Sandals

$115.00
Add to cart
Multi Color Open Toe Block Heel Cross Strap Buckle Sandals Nicepairs Multi Color Open Toe Block Heel Cross Strap Buckle Sandals Nicepairs

Multi Color Open Toe Block Heel Cross Strap Buckle Sandals

$108.00
Add to cart
Black Open Toe Stiletto Heel Gladiator Sandals with Platform Nicepairs

Black Open Toe Stiletto Heel Gladiator Sandals with Platform

$134.00
Add to cart
Pink Open Toe 3'' Chunky Heel Ankle Strap Platform Sandals with Bow Nicepairs Pink Open Toe 3'' Chunky Heel Ankle Strap Platform Sandals with Bow Nicepairs

Pink Open Toe 3'' Chunky Heel Ankle Strap Platform Sandals with Bow

$115.00
Add to cart
Maroon Velvet & Gold Vegan Leather Opened Toe Ankle Strappy Platform Sandals With Chunky Heels Nicepairs Maroon Velvet & Gold Vegan Leather Opened Toe Ankle Strappy Platform Sandals With Chunky Heels Nicepairs

Maroon Velvet & Gold Vegan Leather Opened Toe Ankle Strappy Platform Sandals With Chunky Heels

$115.00
Add to cart
Black Open Toe Stiletto Heel Gladiator Sandals with Studs Nicepairs

Black Open Toe Stiletto Heel Gladiator Sandals with Studs

$114.00
Add to cart
Red Rhinestone Open Toe Chunky Heel Ankle Strap Platform Sandals Nicepairs Red Rhinestone Open Toe Chunky Heel Ankle Strap Platform Sandals Nicepairs

Red Rhinestone Open Toe Chunky Heel Ankle Strap Platform Sandals

$125.00
Add to cart
Silver Patent Leather & Clear Opened Rhinestone Slingback Sandals With Stiletto Heels Nicepairs Silver Patent Leather & Clear Opened Rhinestone Slingback Sandals With Stiletto Heels Nicepairs

Silver Patent Leather & Clear Opened Rhinestone Slingback Sandals With Stiletto Heels

$115.00
Add to cart
Silver Square Toe 4'' Stiletto Heel Strappy Sandals with Bow Nicepairs Silver Square Toe 4'' Stiletto Heel Strappy Sandals with Bow Nicepairs

Silver Square Toe 4'' Stiletto Heel Strappy Sandals with Bow

$115.00
Add to cart
Red Opened Toe 4'' Stiletto Heel Rhinestone Lace Up Sandals Nicepairs Red Opened Toe 4'' Stiletto Heel Rhinestone Lace Up Sandals Nicepairs

Red Opened Toe 4'' Stiletto Heel Rhinestone Lace Up Sandals

$115.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
Gold Metallic  Opened Toe Lace Up Sandals With Chunky Heels Nicepairs Gold Metallic  Opened Toe Lace Up Sandals With Chunky Heels Nicepairs

Gold Metallic Opened Toe Lace Up Sandals With Chunky Heels

$115.00
Add to cart
Clear PVC Pointed Toe 4'' Stiletto Heel Pearl Ankle Strap Sandals Nicepairs Clear PVC Pointed Toe 4'' Stiletto Heel Pearl Ankle Strap Sandals Nicepairs

Clear PVC Pointed Toe 4'' Stiletto Heel Pearl Ankle Strap Sandals

$120.00
Add to cart
Black Patent Leather Close Pointed Toe Slingback Buckle Flat Sandals Nicepairs Black Patent Leather Close Pointed Toe Slingback Buckle Flat Sandals Nicepairs

Black Patent Leather Close Pointed Toe Slingback Buckle Flat Sandals

$100.00
Add to cart
Pink Open Toe Stiletto Heel Sandals with Knot Nicepairs Pink Open Toe Stiletto Heel Sandals with Knot Nicepairs

Pink Open Toe Stiletto Heel Sandals with Knot

$115.00
Add to cart
Silver Metallic Peep Toe 5‘’ Chunky Heel Ankle Strap Platform Sandals Nicepairs Silver Metallic Peep Toe 5‘’ Chunky Heel Ankle Strap Platform Sandals Nicepairs

Silver Metallic Peep Toe 5‘’ Chunky Heel Ankle Strap Platform Sandals

$108.00
Add to cart
Colorful Square Toe Block Heel Platform Sandals with Buckle Nicepairs Colorful Square Toe Block Heel Platform Sandals with Buckle Nicepairs

Colorful Square Toe Block Heel Platform Sandals with Buckle

$103.00
Add to cart
White Open Toe 3'' Stiletto Heel Pearl Ankle Strap Sandals Nicepairs White Open Toe 3'' Stiletto Heel Pearl Ankle Strap Sandals Nicepairs

White Open Toe 3'' Stiletto Heel Pearl Ankle Strap Sandals

$115.00
Add to cart
Gold Vegan Leather Open Toe Stiletto Heel Gladiator Knee High Sandals Nicepairs

Gold Vegan Leather Open Toe Stiletto Heel Gladiator Knee High Sandals

$114.00
Add to cart
Pink Velvet Open Toe Chunky Heel Lace Up Sandals Nicepairs Pink Velvet Open Toe Chunky Heel Lace Up Sandals Nicepairs

Pink Velvet Open Toe Chunky Heel Lace Up Sandals

$115.00
Add to cart
Black Vegan Leather Open Toe Stiletto Heel Gladiator Sandals Nicepairs Black Vegan Leather Open Toe Stiletto Heel Gladiator Sandals Nicepairs

Black Vegan Leather Open Toe Stiletto Heel Gladiator Sandals

$127.00
Add to cart
Red Vegan Leather Open Toe Chunky Heel Ankle Strap Sandals Nicepairs Red Vegan Leather Open Toe Chunky Heel Ankle Strap Sandals Nicepairs

Red Vegan Leather Open Toe Chunky Heel Ankle Strap Sandals

$115.00
Add to cart
Shiny Glossy  Silver PlatformStrappy Sandals With Bow Decors Nicepairs Shiny Glossy  Silver PlatformStrappy Sandals With Bow Decors Nicepairs

Shiny Glossy Silver PlatformStrappy Sandals With Bow Decors

$109.00
Add to cart
Clear PVC Open Toe Stiletto Heel Strappy Platform Sandals Nicepairs Clear PVC Open Toe Stiletto Heel Strappy Platform Sandals Nicepairs

Clear PVC Open Toe Stiletto Heel Strappy Platform Sandals

$115.00
Add to cart
Black Vegan Leather Open Toe Stiletto Heel Mid Calf Gladiator Sandals Nicepairs Black Vegan Leather Open Toe Stiletto Heel Mid Calf Gladiator Sandals Nicepairs

Black Vegan Leather Open Toe Stiletto Heel Mid Calf Gladiator Sandals

$112.00
Add to cart
Pink & Green Square Toe Block Heel Ankle Strap Sandals with Rhinestone Nicepairs Pink & Green Square Toe Block Heel Ankle Strap Sandals with Rhinestone Nicepairs

Pink & Green Square Toe Block Heel Ankle Strap Sandals with Rhinestone

$115.00
Add to cart
Gold Metallic Buckle Strap Flats Knee High Gladiator Sandals Nicepairs Gold Metallic Buckle Strap Flats Knee High Gladiator Sandals Nicepairs

Gold Metallic Buckle Strap Flats Knee High Gladiator Sandals

$125.00
Add to cart
Black & White Polka Dot Open Toe 3'' Stiletto Heel Ankle Strap Sandals Nicepairs Black & White Polka Dot Open Toe 3'' Stiletto Heel Ankle Strap Sandals Nicepairs

Black & White Polka Dot Open Toe 3'' Stiletto Heel Ankle Strap Sandals

$115.00
Add to cart
Black Satin Closed Toe Chunky Heel Ankle Strap Platform Sandals Nicepairs Black Satin Closed Toe Chunky Heel Ankle Strap Platform Sandals Nicepairs

Black Satin Closed Toe Chunky Heel Ankle Strap Platform Sandals

$105.00
Add to cart
Ivory Open Toe Pearl Floral Ankle Strap Block Heel Wedding Sandals Nicepairs Ivory Open Toe Pearl Floral Ankle Strap Block Heel Wedding Sandals Nicepairs

Ivory Open Toe Pearl Floral Ankle Strap Block Heel Wedding Sandals

$116.00
Add to cart
Pink Satin Opened Pointed Toe Rhinestone Ankle Strappy Feather Sandals With Stiletto Heels Nicepairs Pink Satin Opened Pointed Toe Rhinestone Ankle Strappy Feather Sandals With Stiletto Heels Nicepairs

Pink Satin Opened Pointed Toe Rhinestone Ankle Strappy Feather Sandals With Stiletto Heels

$115.00
Add to cart
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
Navy Blue Velvet Peep Toe 3‘’ Block Heel Cross Strap Lace Up Sandals Nicepairs Navy Blue Velvet Peep Toe 3‘’ Block Heel Cross Strap Lace Up Sandals Nicepairs

Navy Blue Velvet Peep Toe 3‘’ Block Heel Cross Strap Lace Up Sandals

$103.00
Add to cart
Pink Satin Opened Toe Ankle Strappy Sandals With Flared Heels Nicepairs Pink Satin Opened Toe Ankle Strappy Sandals With Flared Heels Nicepairs

Pink Satin Opened Toe Ankle Strappy Sandals With Flared Heels

$115.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('appzebu 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);