people are viewing this right now

Jolene Wide Leg Jumpsuit - Navy

const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '56c55371-abda-4793-97d4-2ceefe1b4ee9'; this.isRTL = SPZ.win.document.dir === 'rtl'; this.isAddingToCart_ = false; // 加购中状态 } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.init(); // 监听事件 this.bindEvent_(); } async init() { this.handleFitTheme(); const data = await this.getDiscountList(); this.renderApiData_(data); } async getDiscountList() { const productId = 'dcad364b-213a-40ad-a0db-50271856c1b6'; const variantId = this.variant_id; const productType = 'default'; const reqBody = { product_id: productId, variant_id: variantId, discount_method: "DM_AUTOMATIC", customer: { customer_id: window.C_SETTINGS.customer.customer_id, email: window.C_SETTINGS.customer.customer_email }, product_type: productType } const url = `/api/storefront/promotion/display_setting/text/list`; const data = await this.xhr_.fetchJson(url, { method: "post", body: reqBody }).then(res => { return res; }).catch(err => { this.setContainerDisabled(false); }) return data; } async renderDiscountList() { this.setContainerDisabled(true); const data = await this.getDiscountList(); this.setContainerDisabled(false); // 重新渲染 抖动问题处理 this.renderApiData_(data); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } async renderApiData_(data) { const parentDiv = document.querySelector('.automatic_discount_container'); const newTplDom = await this.getRenderTemplate(data); if (parentDiv) { parentDiv.innerHTML = ''; parentDiv.appendChild(newTplDom); } else { console.log('automatic_discount_container is null'); } } doRender_(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { this.clearDom(); this.element.appendChild(el); }); } async getRenderTemplate(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, { ...renderData, isRTL: this.isRTL }) .then((el) => { this.clearDom(); return el; }); } setContainerDisabled(isDisable) { const automaticDiscountEl = document.querySelector('.automatic_discount_container_outer'); if(isDisable) { automaticDiscountEl.setAttribute('disabled', ''); } else { automaticDiscountEl.removeAttribute('disabled'); } } // 绑定事件 bindEvent_() { window.addEventListener('click', (e) => { let containerNodes = document.querySelectorAll(".automatic-container .panel"); let bool; Array.from(containerNodes).forEach((node) => { if(node.contains(e.target)){ bool = true; } }) // 是否popover面板点击范围 if (bool) { return; } if(e.target.classList.contains('drowdown-icon') || e.target.parentNode.classList.contains('drowdown-icon')){ return; } const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { node.classList.remove('open-dropdown'); }) // 兼容主题 this.toggleProductSticky(true); }) // 监听变体变化 document.addEventListener('dj.variantChange', async(event) => { // 重新渲染 const variant = event.detail.selected; if (variant.product_id == 'dcad364b-213a-40ad-a0db-50271856c1b6' && variant.id != this.variant_id) { this.variant_id = variant.id; this.renderDiscountList(); } }); } // 兼容主题 handleFitTheme() { // top 属性影响抖动 let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ productInfoEl.classList.add('force-top-auto'); } } // 兼容 wind/flash /hero 主题 (sticky属性影响 popover 层级展示, 会被其他元素覆盖) toggleProductSticky(isSticky) { let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ if(isSticky) { // 还原该主题原有的sticky属性值 productInfoEl.classList.remove('force-position-static'); return; } productInfoEl.classList.toggle('force-position-static'); } } setupAction_() { this.registerAction('handleDropdown', (invocation) => { const discount_id = invocation.args.discount_id; const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { if(node.getAttribute('id') != `automatic-${discount_id}`) { node.classList.remove('open-dropdown'); } }) const $discount_item = document.querySelector(`#automatic-${discount_id}`); $discount_item && $discount_item.classList.toggle('open-dropdown'); // 兼容主题 this.toggleProductSticky(); }); // 加购事件 this.registerAction('handleAddToCart', (invocation) => { // 阻止事件冒泡 const event = invocation.event; if (event) { event.stopPropagation(); event.preventDefault(); } // 如果正在加购中,直接返回 if (this.isAddingToCart_) { return; } const quantity = invocation.args.quantity || 1; this.addToCart(quantity); }); } // 加购方法 async addToCart(quantity) { // 设置加购中状态 this.isAddingToCart_ = true; const productId = 'dcad364b-213a-40ad-a0db-50271856c1b6'; const variantId = this.variant_id; const url = '/api/cart'; const reqBody = { product_id: productId, variant_id: variantId, quantity: quantity }; try { const data = await this.xhr_.fetchJson(url, { method: 'POST', body: reqBody }); // 触发加购成功提示 this.triggerAddToCartToast_(); return data; } catch (error) { error.then(err=>{ this.showToast_(err?.message || err?.errors?.[0] || 'Unknown error'); }) } finally { // 无论成功失败,都重置加购状态 this.isAddingToCart_ = false; } } showToast_(message) { const toastEl = document.querySelector("#apps-match-drawer-add_to_cart_toast"); if (toastEl) { SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast(message); }); } } // 触发加购成功提示 triggerAddToCartToast_() { // 如果主题有自己的加购提示,则不显示 const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy'); if (themeAddToCartToastEl) return; // 显示应用的加购成功提示 this.showToast_("Added successfully"); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomProductAutomatic);
class SpzCustomDiscountBundle extends SPZ.BaseElement { constructor(element) { super(element); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } mountCallback() { // 同一页可能有多个 block 各自渲染本 snippet,导致逻辑元素 spz-custom-discount-toast(#appsAddCartToastFunc) 重复。 // 仅保留 DOM 中第一个实例,其余重复实例移除自身,保证逻辑元素及其 action 引用(appsAddCartToastFunc)唯一。 const funcs = document.querySelectorAll('#appsAddCartToastFunc'); if (funcs.length > 1 && this.element !== funcs[0]) { this.element.remove(); return; } // 全局折扣 toast 的弹出点分散在多个模板/组件里(含声明式 @atcError),无法逐一在弹出前前置, // 故挂载时幂等地去重并挂到 body;加购 toast 改为弹出前按需去重(见 showAddToCartToast) this.ensureSingleToastInBody_('cart_match_discount_toast_wrap'); } unmountCallback() {} // 同一页面可能有多个 block 各自渲染本 toast snippet(如商详的 discount_automatic + 购物车抽屉里的折扣横幅), // 导致 toast 外层出现重复 id。重复 id 下 getElementById/querySelector 及 SPZ 动作引用都只命中第一个, // 且被关进抽屉的那份会被抽屉的 transform/overflow 裁剪/错位。这里在挂载时幂等去重: // 只保留一份、移除多余的,并把保留的挂到 body(body 是 position:fixed 最安全的落点,避免被任何祖先裁剪)。可反复调用。 ensureSingleToastInBody_(id) { const els = Array.from(document.querySelectorAll('#' + id)); if (!els.length) return; els.slice(1).forEach((el) => el.remove()); const keep = els[0]; if (keep.parentNode !== document.body) { document.body.appendChild(keep); } } // 主题购物车抽屉是否打开 isInCartDrawer_() { return !!document.querySelector('[data-section-type="cart_drawer"] spz-sidebar[open]'); } setupAction_() { this.registerAction('showAddToCartToast', () => { // 抽屉内加购:主题本就不会有加购效果,统一弹插件自己的 toast // 非抽屉:主题有加购代理则沿用主题加购效果,否则插件兜底 const proxyEl = document.getElementById('add-cart-event-proxy'); const inDrawer = this.isInCartDrawer_(); if (!inDrawer && proxyEl) { return; } // 弹出前按需去重并挂到 body(幂等),避免重复 id 命中错对象或被抽屉裁剪/错位 this.ensureSingleToastInBody_('apps_add_cart_toast_wrap'); const toastEl = document.querySelector('#apps-match-drawer-add_to_cart_toast') SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast("Added successfully"); }); }); } buildCallback() { this.setupAction_(); }; } SPZ.defineElement('spz-custom-discount-toast', SpzCustomDiscountBundle);
$25.51
Size- S
Color- Navy
Quantity
Description

Bold, breezy, and effortlessly chic — the Jolene Wide Leg Jumpsuit is your statement-making one-and-done outfit. Featuring a beautifully detailed crochet bodice and flowy wide leg pants, this piece blends texture and movement in all the right ways.

  • Intricate crochet lace overlay bodice
  • Sleeveless silhouette
  • Elastic waistband for a flattering fit
  • Wide leg pants with soft drape
  • Lightweight, breathable fabric
  • Side pockets

Dress it up with layered jewelry and wedges, or keep it casual with sandals for an easy, confident look that works from day to night.

SHIPPING

Iconzoomer Warehouses

Courier Delivery Time

The shipping time is composed of order precessing time and courier delivery time. We provide fast and reliable delivery service worldwide from Standard to Express shipping. Once your order is placed or shipped, you will receive the tracking code and instructions from our email server@Iconzoomer.com.

Region

Express 

Fast 

Standard 

USA

3-5
Days

6-8
Days

6-10
Days

Europe

3-5
Days

6-8
Days

6-10
Days

Canada

3-7
Days

6-8 
Days

6-10
days 

Australia

3-7
Days

6-8
Days

6-10
Days

New Zealand

3-7
Days

6-8
Days

6-10
Days

Japan

3-7
Days

6-8
Days

6-10
Days

Asia

5-8
Days

6-10
Days

8-12
Days

Others

5-8
Days

8-12
Days

10-15
Days

*Time is counted by the working days.  

Order Processing Time 

General items: We generally process to ship these orders within 1-3 business days. Orders placed during weekends or on holidays will process on the next consecutive business day. If the item you ordered is out of stock, we will email you the best available option. 
* All Express orders will be prioritized for production, which usually only takes 1-3 working days before shipping.
Payment Method

How can I pay for my order with credit\debit card?

You can use any of the payment types listed below to pay for your order. We take your security very seriously, therefore your details are safe with us.

Please see below the payment methods we accept:

Please note that Iconzoomer.com does not collect your credit/debit card number or personal information when you make a payment. We also take fraud very seriously too, so all credit and debit card holders are subject to validation and authorisation by both us and the card issuer. To better protect our customers when making online payments by card you may be presented with 3D secure security measures when paying. This is dependent on your bank issuer and may require you to enter a password or get a security code via email or phone, or the bank issuer requires additional interaction, either through fingerprint, two-factor authentication, or similar methods based on authentication factors. For more questions regarding the authentication, please consult your card-issuing bank for information.

My payment was declined when using with credit\debit card, what should I do?

  1. Place your order again

If your payment has been declined, then you'll need to place your order again. We're not able to reinstate an order once the payment has been declined.

  1. Make the relevant checks

To help ensure your order is not declined when placing a new order we suggest checking the following:

Check the card details on your to make sure the information is correct, e.g. the expiry date .

Make sure you enter the security code correctly - that's the three digit number on the back of your card.

Your card issuer may have declined your payment - as they don't tell us the reason for this, it's best to check with them or contact your bank.

If you've checked all of the above, try paying with another card or another payment method.

  1. Next steps

If your payment has been declined through the 3D secure security measures you’ll need to contact your bank for further information.

Whereas, if you've received an error message, please contact us with as many details as you can about the issue - including the error messages you receive, and we'll try to resolve it as soon as we can.

Welcome to iconzoomer Boutique.

Iconzoomer Boutique was inspired by a love for timeless fashion, creativity, and the feeling that great clothing should be both beautiful and effortless to wear.

Our boutique was created with a simple idea in mind: to offer carefully selected pieces that help women feel confident, comfortable, and themselves. Every collection is chosen with attention to style, quality, and versatility, making it easy to find pieces that naturally fit into everyday life.

What began as a vision for a boutique with a personal touch has grown into a destination where women can discover fashion that feels relaxed, feminine, and easy to wear. From everyday essentials to standout seasonal favorites, each item is selected with care.

As we welcome a new season, we are opening our Summer Sale with savings of up to 70%, making room for new arrivals while giving you the opportunity to enjoy some of our favorite pieces from previous collections.

At Iconzoomer Boutique, we believe fashion should feel inspiring, effortless, and accessible. We are delighted to have you as part of our growing community and look forward to helping you discover pieces you'll love to wear.

FREQUENTLY ASKED QUESTIONS

Do you offer free shipping?

Free shipping on all orders over $49—today only.

No hidden fees and no unexpected costs. Everything is clearly shown before you complete your purchase.

How can I make sure it will fit me properly?

Each product page includes a detailed size chart to help you find the right fit.

We recommend comparing the chart with a similar item you already own.

If you’re between sizes, we generally suggest choosing the larger size for the most comfortable fit.

If you’re still unsure, feel free to reach out and we will be happy to help.

How long does shipping take?

We work fast so your order gets to you as quickly as possible:

Order processing: 1–2 business days (Monday–Friday, excluding public holidays)

Delivery: 3–7 business days after dispatch

Total: approximately 4–9 business days from the moment you place your order

As soon as your package is on its way, you'll receive a tracking link so you can follow it every step of the way.

How do I track my order?

Once your order is confirmed, you will receive an email with your order number. To track your order, simply visit my Order Tracking page and enter your order number or email address.

I Have an Issue With My Order. How Can I Contact You?

If you experience any issues or have questions, please visit our Contact Page to get in touch.

We are here to assist you as quickly as possible.

You may also like