Women's Retro Dragonfly In Macaron Colors Art Print V Neck Linen Blend Short Sleeve Tops

$23.99
$60.21
-60%
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '988f8cb5-dda4-41c7-a38b-cce798ee6b6b'; 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 = '4cfc68c0-6f8c-4e0c-80f1-95e058081134'; 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 == '4cfc68c0-6f8c-4e0c-80f1-95e058081134' && 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 = '4cfc68c0-6f8c-4e0c-80f1-95e058081134'; 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);
Color- Blue pink
Size- S
Quantity
Shipping
Estimated Delivery:Aug-19 - Aug-20
No Risk. Free 30-Day Exchange.
DHL / UPS (2–3 business days)
✨ Wear the vibe.
✨☮️ Wear the vibe.

Pure Cotton · Boho Hippie Style · Peace Love Freedom

Women’s Hippie Graphic Cotton Top — Free-Spirited, Colorful & Made for Everyday Good Vibes

Celebrate freedom, color, music, nature, and positive energy with this boho hippie-inspired women’s top. Designed with vibrant tie-dye tones, peace signs, floral artwork, sunshine motifs, retro patchwork details, playful graphic elements, and uplifting vintage charm, this piece brings the carefree spirit of hippie fashion into everyday wear.

The Spirit of Hippie Style

Hippie fashion is not just about one single graphic — it is a complete lifestyle mood. It represents peace, love, freedom, creativity, mindfulness, music, nature, and individuality. This top combines classic hippie design language with modern casual comfort, making it an expressive statement piece for women who love clothing with soul and personality.

Peace. Love. Good Vibes. Free Spirit. A colorful reminder to slow down, breathe deeply, follow the sun, and wear your individuality with confidence.

Pure Cotton Comfort

We believe clothing should feel good, wear well, and stay meaningful in your wardrobe. That is why this top is crafted from pure cotton — a soft, breathable, skin-friendly fabric designed for everyday comfort and lasting wear.

Made for Real Life, Made to Last

The natural cotton fabric feels gentle against the skin while offering breathable comfort for warm days, travel, festivals, casual weekends, and relaxed daily outfits. Durable, easy to style, and comfortable to wear, it is created for mindful consumption and a wardrobe built with intention — a piece you can reach for again and again, season after season.

Why You’ll Love It

Iconic Hippie Aesthetic Peace symbols, flower-power artwork, retro patterns, sunshine energy, tie-dye colors, and bohemian details create a true free-spirit look.
Soft Pure Cotton Fabric Breathable, comfortable, and gentle on the skin, making it ideal for daily wear, travel, festivals, vacations, and warm-weather styling.
Colorful Statement Design Bright artistic graphics instantly add personality to your outfit, helping you stand out with a cheerful and relaxed boho vibe.
Relaxed Easy Fit The casual silhouette creates a comfortable, laid-back look that pairs effortlessly with denim, shorts, skirts, and layered accessories.

Design Details

  • Peace & Love Motifs: Classic hippie symbols express kindness, optimism, harmony, and free-spirited energy.
  • Flower-Power Inspiration: Floral artwork adds a warm, natural, vintage boho feeling that captures the beauty of carefree days.
  • Tie-Dye Color Story: Rainbow-inspired tones and sun-washed colors create a joyful retro look full of movement and life.
  • Music & Festival Energy: Artistic graphics and vintage details capture the soul of music festivals, road trips, outdoor adventures, and creative living.
  • Mindful Everyday Wear: Pure cotton comfort and durable construction make it a thoughtful choice for a more intentional wardrobe.

Perfect For

This top is perfect for free spirits, bohemian fashion lovers, festival goers, nature lovers, music lovers, travelers, artists, and anyone who loves colorful clothing with a positive message. Whether you are dancing at a music festival, exploring a weekend market, chasing sunsets, going on a road trip, relaxing at the beach, or enjoying a casual day out, this top brings comfort, personality, and good energy to every moment.

Music Festivals Beach Vacations Road Trips Camping Days Weekend Markets Travel Photos Casual Daily Wear Summer Outfits

Styling Inspiration

Pair it with distressed denim shorts and layered necklaces for a classic festival outfit, or wear it with relaxed jeans and sandals for an easy everyday look. Add beaded bracelets, hoop earrings, a fringe bag, woven accessories, ankle boots, or a denim jacket to complete your boho hippie style.

Key Selling Points

  • Made from pure cotton for soft, breathable, skin-friendly comfort.
  • Designed with a colorful boho hippie aesthetic full of peace, love, nature, music, freedom, and positive energy.
  • Features vibrant tie-dye tones, floral artwork, retro details, sunshine motifs, and artistic statement graphics.
  • Durable enough for everyday outfits, travel, festivals, vacations, and repeated wear.
  • Easy to style with denim shorts, jeans, skirts, wide-leg pants, sandals, boots, and layered accessories.
  • A meaningful wardrobe piece for women who value comfort, individuality, and mindful consumption.
Note: Due to different lighting conditions and screen settings, the actual color may vary slightly from the pictures. Please check the size information before ordering. For a more relaxed oversized look, consider choosing one size up.

Wear the Vibe. Follow the Sun. Live Free.

Let this pure cotton hippie top bring comfort, color, and positive energy into your everyday wardrobe. From peace signs and flowers to tie-dye tones and retro boho artwork, every detail is made to celebrate freedom, joy, individuality, and the beauty of living in the moment.

Description

SPU: DZ-313491-LSX

Fabric Name: 100% Cotton-blend

Pattern: Dragonfly In Macaron Colors Art Print

Process: Printed

Style: Vintage

Length: Mid-Length

Collar: Round Neck

Popular Elements: Print

Sleeve Type: Short Sleeve

Occasion: Daily

Theme: Summer

NOTE: If you are not sure, please choose a larger size. If you have any doubts about this product, we suggest you contact our customer service team. Due to the color difference between the screens of different electronic devices (computers, mobile phones or ipads), especially the CRT screen and the LCD screen, the color of the item may be slightly different from what you see in the photos, please take the actual product as the standard.

SizeBustLengthSleeve
cminchcminchcminch
S10541.06926.9207.8
M11042.97027.3207.8
L11544.97127.7218.2
XL12046.87228.1218.2
2XL12548.87328.5228.6
3XL13050.77428.9228.6
4XL13552.77529.3239.0
5XL14054.67629.6239.0
Due to manual measurement, there may be an error of 1-3cm

You may also like