✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
1/16
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨
1/16

✨Reusable Self-Adhesive Eyelashes-Essential for Your Daily(🔥BUY 1 GET 1 FREE🔥)⏰LAST DAY SALE-49% OFF✨

🥰😍It's been recommended by 4.3K people on Facebook, Twitter and Instagram⭐⭐⭐⭐⭐

$19.99
$39.99
Save $20.00
Style
Please select a style
Offer bundles💕
Please select a offer bundles💕
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!!!🔥


Meet the new self adhesive design

Introducing our newest edition of false eyelashes that are easy to use and require no glue, magnets or eyeliner. The adhesive strip is body heat activated, making it easy to put them on and take them off whenever you please, without leaving any residue or harming your real lashes.

Apply in seconds

The self adhesive strip greatly simplifies your makeup process while also saving time and effort! 💖

Natural Look

Our eyelashes are made from premium synthetic fibers, which allow seamless blend with real lashes, creating a more vibrant but natural appearance for your eyes. They're non-allergenic, super lightweight, and comfortable to wear.

Easy to use, saving time and effort!

MAIN FEATURES

No glue or Eyeliner Needed

The newest false eyelashes that is easy to use, no need of glue or eyeliner. It is self-adhesive and can be applied in 3 seconds, greatly simplifies your makeup process. Saving time and effort.

Natural Lashes

The false lashes have nice curling radian and blend seamlessly with real lashes, making your eyes bigger and more glamorous. They are as natural as your real eyelashes without the feeling of wearing false lashes.   

High Quality

Made of premium synthetic fibers, it is easy to use and remove. There won't be any residue left on the skin, non-allergic and comfortable to use.

How to apply?

1. Clean eye area(Must be worn before makeup).

2. Picks up both ends of the eyelashes with the point of the white blade and moves the eyelashes out.

3. Crop the eyelashes to a suitable length.

4. Stick the middle of the eyelash first, and fix the end of the eyelash at both of your eye corners.

How to remove?

When removing the self-adhesive eyelashes, avoid pulling them directly from the middle. Instead, start removing them from the corner. 

How to restore the stickiness?

Rinse with warm water to remove excess residue from the strip thus restoring the stickiness. Leave it to dry in a warm environment or use a hair dryer to gently dry it from a moderate distance.

SPECIFICATIONS

Material: Chemical Fiber

Style: Natural, Long, Thick

Weight: 28g

Diameter: 75mm

Package Includes: 1x Reusable Self-Adhesive Eyelashes

 

Note:  Please be steady and gentle When remove the lashes from the box.

Over 15,000+ Happy Customers

NOTE

Due to manual measurements, please allow slight measurement deviations.

Due to the different display and lighting effects, the actual color of the item may be slightly different from the color displayed on the picture.

FAQs

Do I need to use glue?

No. We developed these false eyelashes so that you can avoid using eyelashes that require extension glues, which are known to irritate your eyes or worse- cause an allergic reaction.

Are they reusable?

Yes. To restore the stickiness, simply rinse with warm water to remove excess residue from the strip. Let it dry in a warm environment or gently blow dry it with a hair dryer from a moderate distance.

Are these lashes cruelty free?

Yes. We use natural-looking premium sythetic fibers that mimic the quality of real mink lashes.


⚡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('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);