🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
1/29
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨
1/29

🎁Asymmetric Draped Jumper (Buy 2 Free Shipping)⏰Limited Time Discount 50%✨

$39.99
$79.99
Save $40.00
ColorLight Grey
Please select a color
Free Size
Please select a free size
Quantity
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);


💝99.2% of Reviewers Recommends This Product.
🌎 Over $59.99 for free delivery worldwide
🛒 Tracking number for every order
💯 Payments Via PayPal® and Credit Card
⭐ Returns>>100% Money Back Guarantee

Our goods are authentic, with genuine patents, counterfeit must be investigated! Customers please identify our products

It will sell out fast, Enjoy a discount now!!⚡Please make sure to buy enough quantity before we increase the price!!!🔥


A Jumper As Ultra Soft As the Clouds!

The solid colour and plain style for this oversized jumper is simple but not boring.You can wear this signature style on the shoulder as an elegant cowl neck or off-the-shoulder, meet your different dressing needs.

undefined

Swing collar design, elegant to show your neck. It can be worn off the shoulders to frame your face, elongate the neck, showing elegant and charming temperament.

The long hemline design hide the belly and hips well. With the drape of the fabric, it effortlessly creates a lazy, lived-in look.

It is breathable and stretchy, extremely soft to the touch. (Knit features open weave stitching at stretch points for flexibility.)

Relaxed fit for freedom of movement and fits all sizes! Extra slouchy and oversized fit make you feel cozy and free. At the same time, cinched cuffs for easy movement.

This oversized jumper top is perfect for all the seasons! Very comfy and looks good either way up (with wide neck/off shoulder or with smaller neck). Can be matched with jeans, shorts, skirts, tights, sneakers, high heels, boots. Dress it up with accessories for a night out or keep it cozy for a relaxed weekend style!

Details that Enhance Sophistication

*Soft-touch 
*Swing collar neckline
*The drape of the fabric
*Knit features open weave stitching at stretch points

Size:

Length:75cm

Bust:160cm

Material: Acrylic and Polyester

Care Tip

Hand wash/Wash inside out on delicate machine wash cycle 30°C.
Wash with similar colours only. Dry flat. Store folded.


⚡Click On "ADD TO CART" To Get Yours Now!

✨OUR GUARANTEE✨


✅We truly believe we make some of the most innovative products in the world, and we want to make sure we back that up with a risk-free ironclad 45-day guarantee.

✅If you don't have a positive experience for ANY reason, we will do WHATEVER it takes to make sure you are 100% satisfied with your purchase.

✅Buying items online can be a daunting task, so we want you to realize that there is an absolute ZERO risk in buying something and trying it out. If you don't like it, no hard feelings we'll make it right.

✅We have 24/7/365 Ticket and Email Support.

WHY US?👇

  • We work directly with manufacturers all over the world to ensure the best quality of our products. We have a Quality Control department which helps us to keep our promise!
  • Price is always competitive.
  • Awesome Customer Service
  • Amazing products along with High Quality
  • Read reviews from our lovely customers

🔥 The price is limited! 🔥 Grab yours as the limited promotion available!

✈ Worldwide Shipping ✈  

Please note that shipping is insured. However, you may receive your items earlier. Tracking Numbers will ALWAYS be sent so you can track it every step of the way! Cool things are worth waiting for! 😉

🔒 100% Risk-Free Purchase 🔥 

  • We truly offer stunning, trendy high-quality products in the world.
  • We will do WHATEVER it takes with outstanding customer service support to assist everyone.
  • If you are not satisfied with receiving the goods, you can apply for a refund.
  • You can pay with PayPal, which will protect your money.

✅Payments Via PayPal®, Credit and Debit cards.

If you want to checkout with a Credit and Debit Card, just enter your * Card No, * Expiration Date, and * CVV.
f34603c6042c7802af86fc595826003b48c8f721fa4f1ffa117ffea06bd06849.png
153a0932404b13aa72f600fa0f9237172d5147ac6302b2183812028339748e9c.png
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);