🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!
🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!

🔥Icy Lightweight Tailored Wide Leg Pants🎉BUY 2 GET EXTRA 10% OFF & FREE SHIPPING NOW!!!

Price

$59.95 $29.99
Save $29.96
Free shipping on orders over 69.9

color

Please select a color

size

Please select a size

Quantity

Free returns
Sustainably made
Secure payments

🏪PalPay certified merchants in good standing. 
👍Facebook officially recommends high-quality merchants.
💵The merchant deposit of USD 100,000 has been paid to PayPal.
✅Support PalPay and global credit card payment.
🔒Google SSL security certificate guarantees your privacy.
🛫Global super fast air transportation.

You’ll have one of the most seasonal matching pants in the coming months.

Icy Tailored Wide-Leg Pants in a lightweight drapey fabric.It's effortless to dress up or down. Just put on a top and heels or favorite sandals and you're ready to go.Available in a variety of fun colors, these pants make the perfect addition to any outfit, any day of the week. Once you’re in these, you’ll never, ever want to take them off.

undefined

SIZE👇

One-piece wonder

Our pants are beautifully tailored to fit your body comfortably. Classic cuts and slim fit designs accentuate your best features. They’re great basics to wear with many style tops, you’ll wear our timeless styles for years.

These are tailored-yet-relaxed wide-leg pants with front knife pleats, easy drape, and a long, wide leg. The unique functional waistband of the wide-leg pants provides long-lasting comfort and plenty of stretch to ensure your all-day comfort.

It can be matched with boots or high heels, a sweater and suit jacket, a shirt top and more. Amazing with booties or heels, a crop top, and a tight jacket for the perfect attire.

Available in a variety of fun colors, these pants make the perfect addition to any outfit, any day of the week. Once you’re in these, you’ll never, ever want to take them off.

Made of a soft woven fabric with a flattering drape and a little stretch throughout. They arrived to me nearly wrinkle-free and stayed that way.

Composition:  Polyester, Elastane

Care Instructions

  • Maximum washing temperature 30°C
  • Do not Bleach
  • Line dry
  • The maximum iron plate is 110°C
  • Do not dry clean

 

💗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

🎁Don't forget to buy some for your family or friends as it's an unique gift idea.❤️❤️❤️

Click on "ADD TO CART" to get yours now! 

⚡️Stock sells fast - get yours today!

 


HOW TO PAY

✅Payments Via PayPal®Debit and CreditCard.

   Add to cart first, and Check out, then select Shipping method and Payment method.

If you checkout with a Debit / Credit Card, just enter your * Card Number* Expiration Date, and * Secure Code.

🌎 Worldwide Shipping ✈  

Delivery typically takes different times based on the different destination. You may receive your items earlier. Tracking Numbers will always be sent so you can track it every step of the way! 
🔒 100% Risk-Free Purchase
If you bought it and felt that it is not for you, don't worry. Send a message for us, and we will make it right by offering you a replacement or refund. 100% Simple & Risk-Free process.
🏭 Our Warehouse Once your order is dispatched, depending on your country or region, products will be delivered to you as soon as possible.
 
 
/** @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-1718252090972').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);
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);