Handmade Garden Tiger Moth hairclip brooch realistic

$24.95
Retail $49.90
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = 'e6e60e68-3a8d-4583-91fa-5be4448e24e2'; this.isRTL = SPZ.win.document.dir === 'rtl'; } 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 = '8e9c862c-2d39-4e50-944a-972a47bba30c'; 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 == '8e9c862c-2d39-4e50-944a-972a47bba30c' && 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(); }); } 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);
Type Of Backing : Safety pin
Quantity
Description

🦋 Product Description

Bring the magic of nature into your everyday look with our Handmade Realistic Moth Hair Clips, a delicate collection inspired by the soft elegance of luna moths, silk moths, comet moths, tiger moths, and other enchanting species.

Each piece is individually handcrafted, featuring lifelike wing patterns, airy textile textures, and layered details that make every clip feel like a tiny work of art resting gently in your hair.

Whether you're styling for a photoshoot, a garden wedding, a forest-inspired outfit, cosplay, or simply adding a whimsical touch to your daily look, these nature-inspired moth barrettes instantly elevate your hairstyle with soft, ethereal charm.

Lightweight, comfortable, and secure, each clip is attached to a durable alligator-style base—perfect for long hair, short hair, half-up styles, braids, and creative updos.

🌟 Key Features
🦋 1. Handmade Lifelike Designs

Each moth is crafted from textile fabric, shaped and hand-painted to resemble real species such as Luna Moths, Comet Moths, Silk Moths, Tiger Moths, and more.
• Realistic wing patterns
• Soft gradient coloring
• Delicate antenna details

🌿 2. Lightweight & Comfortable

Made from soft, airy materials that rest gently in your hair—no pulling, no heaviness, no discomfort.

🎀 3. Durable Clip Structure

Built with a strong alligator clip that grips securely without damaging hair. Suitable for all hair types.

📸 4. Perfect for Styling & Photography

Ideal for:
• Everyday outfits
• Cosplay & costume styling
• Nature-themed photoshoots
• Cottagecore & forestcore fashion
• Weddings, garden parties, festivals
• Handmade gifts & artistic collections

🎁 5. Unique Handmade Gift

A thoughtful present for nature lovers, moth enthusiasts, cottagecore fans, and anyone who loves charming artistic accessories.

📏 Specifications

• Materials: Textile fabric, wire shaping, soft faux fur, hand-painted details
• Size: Varies by style (approx. 10–15 cm)
• Style Options: Luna Moth, Comet Moth, Tiger Moth, Pink Silk Moth, White Orchid Moth, Rosy Maple Moth, and more
• Usage: Hair accessory, cosplay prop, styling décor, photography embellishment, handmade gift