Shop Nicepairs for comfortable and cute flats for women, which you will love at great low prices.Available in Full Size(US|3-15)

Flats

351 Products
Filter
  • Reset
  • The highest price is 150
    $
    $
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
Filter
  • Price
  • Color
  • Pattern
  • Platform
  • Heel Type
  • Season
    Price
  • The highest price is 150
    $
    $
    Color
    Pattern
    Platform
    Heel Type
    Season
Classic Genuine Leather Pointed Toe Flats For Women Nicepairs Classic Genuine Leather Pointed Toe Flats For Women Nicepairs

Classic Genuine Leather Pointed Toe Flats For Women

$120.00
Add to cart
Burgundy Patent Leather Square Toe Buckled Ankle Strap Mary Jane Flats Nicepairs Burgundy Patent Leather Square Toe Buckled Ankle Strap Mary Jane Flats Nicepairs

Burgundy Patent Leather Square Toe Buckled Ankle Strap Mary Jane Flats

$100.00
Add to cart
Brown Oxford Shoes Handmade Shoes Casual Shoes For Women Nicepairs Brown Oxford Shoes Handmade Shoes Casual Shoes For Women Nicepairs

Brown Oxford Shoes Handmade Shoes Casual Shoes For Women

$134.00
Add to cart
Light Purple & Turquoise Round Toe Flats Fringes Oxford Shoes Women Nicepairs Light Purple & Turquoise Round Toe Flats Fringes Oxford Shoes Women Nicepairs

Light Purple & Turquoise Round Toe Flats Fringes Oxford Shoes Women

$116.00
Add to cart
Champagne Square Toe Studs Decor Mary Jane Flats Nicepairs Champagne Square Toe Studs Decor Mary Jane Flats Nicepairs

Champagne Square Toe Studs Decor Mary Jane Flats

$103.00
Add to cart
Women's Cut Out Leather Pointed Toe Flats Nicepairs Women's Cut Out Leather Pointed Toe Flats Nicepairs

Women's Cut Out Leather Pointed Toe Flats

$125.00
Add to cart
Black & White Colorblock Round Toe Vintage Women's Oxfords Nicepairs Black & White Colorblock Round Toe Vintage Women's Oxfords Nicepairs

Black & White Colorblock Round Toe Vintage Women's Oxfords

$100.00
Add to cart
Comfy Pointed Toe Low Heel Leather Shoes for Women Nicepairs Comfy Pointed Toe Low Heel Leather Shoes for Women Nicepairs

Comfy Pointed Toe Low Heel Leather Shoes for Women

$120.00
Add to cart
Gold Metallic Square Toe Bow Detail Mary Jane Flats Nicepairs Gold Metallic Square Toe Bow Detail Mary Jane Flats Nicepairs

Gold Metallic Square Toe Bow Detail Mary Jane Flats

$103.00
Add to cart
Full Black Patent Leatehr Oxford Shoes Low Chunky Minimalist Oxfords Nicepairs Full Black Patent Leatehr Oxford Shoes Low Chunky Minimalist Oxfords Nicepairs

Full Black Patent Leatehr Oxford Shoes Low Chunky Minimalist Oxfords

$120.00
Add to cart
Black & White Pointed Toe Flat Booties Zip Color Block Ankle Boots Nicepairs Black & White Pointed Toe Flat Booties Zip Color Block Ankle Boots Nicepairs

Black & White Pointed Toe Flat Booties Zip Color Block Ankle Boots

$125.00
Add to cart
Silver Square Toe Pull-On Buckle Mary Jane Flats Nicepairs Silver Square Toe Pull-On Buckle Mary Jane Flats Nicepairs

Silver Square Toe Pull-On Buckle Mary Jane Flats

$100.00
Add to cart
Elegant Mesh Slip-on Low Heels Pointed Toe Rhinestone Ballet Flats Nicepairs Elegant Mesh Slip-on Low Heels Pointed Toe Rhinestone Ballet Flats Nicepairs

Elegant Mesh Slip-on Low Heels Pointed Toe Rhinestone Ballet Flats

$112.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
Elegant Ivory Satin Pointed Toe Bow Inlay Slingback Wedding Flats Nicepairs Elegant Ivory Satin Pointed Toe Bow Inlay Slingback Wedding Flats Nicepairs

Elegant Ivory Satin Pointed Toe Bow Inlay Slingback Wedding Flats

$100.00
Add to cart
Beige Mesh Square Toe Slip-On Flat Shoes for Women Nicepairs Beige Mesh Square Toe Slip-On Flat Shoes for Women Nicepairs

Beige Mesh Square Toe Slip-On Flat Shoes for Women

$112.00
Add to cart
Brown & Black Leopard Print Fringe Lace-Up Oxford Shoes for Women Nicepairs Brown & Black Leopard Print Fringe Lace-Up Oxford Shoes for Women Nicepairs

Brown & Black Leopard Print Fringe Lace-Up Oxford Shoes for Women

$116.00
Add to cart
Pink Satin Square Toe Grommet Buckle Strap Ballet Flats with Bow Nicepairs Pink Satin Square Toe Grommet Buckle Strap Ballet Flats with Bow Nicepairs

Pink Satin Square Toe Grommet Buckle Strap Ballet Flats with Bow

$100.00
Add to cart
Metallic Silver Square Toe Strappy Flats Buckled Mary Jane Shoes Nicepairs Metallic Silver Square Toe Strappy Flats Buckled Mary Jane Shoes Nicepairs

Metallic Silver Square Toe Strappy Flats Buckled Mary Jane Shoes

$100.00
Add to cart
Brown & Khaki Vintage Shoes Hollow Out Lace-Up Women's Oxfords Nicepairs Brown & Khaki Vintage Shoes Hollow Out Lace-Up Women's Oxfords Nicepairs

Brown & Khaki Vintage Shoes Hollow Out Lace-Up Women's Oxfords

$116.00
Add to cart
FSJ Red Pointed Toe Slingback Shoes Stylish Buckle Flats Nicepairs FSJ Red Pointed Toe Slingback Shoes Stylish Buckle Flats Nicepairs

FSJ Red Pointed Toe Slingback Shoes Stylish Buckle Flats

$103.00
Add to cart
Black Closed Pointed Toe Flat Ankle Boots Double Zipper Booties Nicepairs Black Closed Pointed Toe Flat Ankle Boots Double Zipper Booties Nicepairs

Black Closed Pointed Toe Flat Ankle Boots Double Zipper Booties

$115.00
Add to cart
Gold Pointed Toe Strappy Sandals With Full Rivet Flats Gladiator Sandals Nicepairs Gold Pointed Toe Strappy Sandals With Full Rivet Flats Gladiator Sandals Nicepairs

Gold Pointed Toe Strappy Sandals With Full Rivet Flats Gladiator Sandals

$150.00
Add to cart
Multicolor Crystal & Polka Dot Decor Round Toe Flat Loafers Nicepairs Multicolor Crystal & Polka Dot Decor Round Toe Flat Loafers Nicepairs

Multicolor Crystal & Polka Dot Decor Round Toe Flat Loafers

$124.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
Women's Beige Open Toe Buckle T-Strap Flat Gladiator Sandals Nicepairs Women's Beige Open Toe Buckle T-Strap Flat Gladiator Sandals Nicepairs

Women's Beige Open Toe Buckle T-Strap Flat Gladiator Sandals

$100.00
Add to cart
Brown Square Toe Lace-up Flat Shoes for Women Nicepairs Brown Square Toe Lace-up Flat Shoes for Women Nicepairs

Brown Square Toe Lace-up Flat Shoes for Women

$100.00
Add to cart
Beige Woven Hollow-Out Square Toe Lace-Up Casual Flats Nicepairs Beige Woven Hollow-Out Square Toe Lace-Up Casual Flats Nicepairs

Beige Woven Hollow-Out Square Toe Lace-Up Casual Flats

$100.00
Add to cart
Khaki Leopard Print Lace-Up Back Zipped Flat Gladiator Sandals Nicepairs Khaki Leopard Print Lace-Up Back Zipped Flat Gladiator Sandals Nicepairs

Khaki Leopard Print Lace-Up Back Zipped Flat Gladiator Sandals

$115.00
Add to cart
FSJ Navy Round Toe Vintage Heart Cutout Oxford Shoes for Women Nicepairs FSJ Navy Round Toe Vintage Heart Cutout Oxford Shoes for Women Nicepairs

FSJ Navy Round Toe Vintage Heart Cutout Oxford Shoes for Women

$116.00
Add to cart
FSJ Black Splicing Women's Wingtip Shoes Round Toe Brogue Oxfords Nicepairs FSJ Black Splicing Women's Wingtip Shoes Round Toe Brogue Oxfords Nicepairs

FSJ Black Splicing Women's Wingtip Shoes Round Toe Brogue Oxfords

$116.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
Casual Pink Round Toe Vamp Strap Ballet Flats Nicepairs Casual Pink Round Toe Vamp Strap Ballet Flats Nicepairs

Casual Pink Round Toe Vamp Strap Ballet Flats

$100.00
Add to cart
Red Satin Round Toe Lace Up Buckle Bow Ballet Flats Nicepairs Red Satin Round Toe Lace Up Buckle Bow Ballet Flats Nicepairs

Red Satin Round Toe Lace Up Buckle Bow Ballet Flats

$112.00
Add to cart
White Lace Bridal Shoes Pointed Toe Ankle Strap Pearl Trim Flat Pumps Nicepairs White Lace Bridal Shoes Pointed Toe Ankle Strap Pearl Trim Flat Pumps Nicepairs

White Lace Bridal Shoes Pointed Toe Ankle Strap Pearl Trim Flat Pumps

$100.00
Add to cart
Silver Square Toe Ballet Flats Stylish Buckle Mary Jane Shoes Nicepairs Silver Square Toe Ballet Flats Stylish Buckle Mary Jane Shoes Nicepairs

Silver Square Toe Ballet Flats Stylish Buckle Mary Jane Shoes

$100.00
Add to cart
Women's Round Toe Maroon Vintage Lace Up Wingtip Shoes Nicepairs Women's Round Toe Maroon Vintage Lace Up Wingtip Shoes Nicepairs

Women's Round Toe Maroon Vintage Lace Up Wingtip Shoes

$110.00
Add to cart
Women's Classic Black & White Round Toe Platform Wingtip Shoes Nicepairs Women's Classic Black & White Round Toe Platform Wingtip Shoes Nicepairs

Women's Classic Black & White Round Toe Platform Wingtip Shoes

$110.00
Add to cart
Stylish Multicolor Round Toe Hollow Out Oxford Shoes for Women Nicepairs Stylish Multicolor Round Toe Hollow Out Oxford Shoes for Women Nicepairs

Stylish Multicolor Round Toe Hollow Out Oxford Shoes for Women

$116.00
Add to cart
Classic Brown & White Hollow Out Lace Up Wingtip Shoes Nicepairs Classic Brown & White Hollow Out Lace Up Wingtip Shoes Nicepairs

Classic Brown & White Hollow Out Lace Up Wingtip Shoes

$116.00
Add to cart
Orange Vegan Leather Square Toe Croc Embossed Bow Slip-On Ballet Flats Nicepairs Orange Vegan Leather Square Toe Croc Embossed Bow Slip-On Ballet Flats Nicepairs

Orange Vegan Leather Square Toe Croc Embossed Bow Slip-On Ballet Flats

$100.00
Add to cart
Women's Black Square Toe Studded Buckle Fastening Mary Jane Flats Nicepairs Women's Black Square Toe Studded Buckle Fastening Mary Jane Flats Nicepairs

Women's Black Square Toe Studded Buckle Fastening Mary Jane Flats

$107.00
Add to cart
Black & Red Ankle Strap Flower Shoes Square Toe Flat Sandals for Women Nicepairs Black & Red Ankle Strap Flower Shoes Square Toe Flat Sandals for Women Nicepairs

Black & Red Ankle Strap Flower Shoes Square Toe Flat Sandals for Women

$103.00
Add to cart
Classic Red Patent Leather Flats Square Toe Mary Jane Shoes Nicepairs Classic Red Patent Leather Flats Square Toe Mary Jane Shoes Nicepairs

Classic Red Patent Leather Flats Square Toe Mary Jane Shoes

$100.00
Add to cart
Black Pointed Toe Ballet Flats Polka Dot Printed Mary Jane Shoes Nicepairs Black Pointed Toe Ballet Flats Polka Dot Printed Mary Jane Shoes Nicepairs

Black Pointed Toe Ballet Flats Polka Dot Printed Mary Jane Shoes

$103.00
Add to cart
Elegant Blue Satin Pointed Toe Pearl Floral Inlay Flat Wedding Shoes Nicepairs Elegant Blue Satin Pointed Toe Pearl Floral Inlay Flat Wedding Shoes Nicepairs

Elegant Blue Satin Pointed Toe Pearl Floral Inlay Flat Wedding Shoes

$100.00
Add to cart
Women's Black Closed Pointed Toe Studs Buckles Flats Nicepairs Women's Black Closed Pointed Toe Studs Buckles Flats Nicepairs

Women's Black Closed Pointed Toe Studs Buckles Flats

$105.00
Add to cart
Pink Satin Round Toe Criss-Cross Strappy Bow Slip-On Ballet Flats Nicepairs Pink Satin Round Toe Criss-Cross Strappy Bow Slip-On Ballet Flats Nicepairs

Pink Satin Round Toe Criss-Cross Strappy Bow Slip-On Ballet Flats

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