🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome
🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome

🔥 💕Cozy Gnome DIY Bead Kit Collection– Collect All 12 Gnome

$19.99 $39.98
Save $19.99
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '72cce0e1-1509-4c8c-923f-3fde8105dd75'; 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 = 'dfec636a-3ff7-4ea0-bd60-cd94a2b4277f'; 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 == 'dfec636a-3ff7-4ea0-bd60-cd94a2b4277f' && 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 = 'dfec636a-3ff7-4ea0-bd60-cd94a2b4277f'; 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);

🔥style

Please select a 🔥style

Quantity

Apple Pay Google Pay Visa Mastercard PayPal American Express Discover
Free shipping on orders over $59
Secure checkout with trusted payment options
30-day returns if needed

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


💕Cozy Gnome DIY Bead Kit Collection✨

Tiny Handmade Companions Full Of Warmth, Nature & Whimsy

Bring peaceful cottagecore charm into your home with these beautifully detailed DIY bead gnome kits. 🧵🍄
Each gnome is inspired by gentle moments in nature — blooming gardens, forest mushrooms, ocean treasures, cozy cottages, honey fields, autumn leaves, and sweet berry harvests.

Every kit transforms tiny colorful beads into an adorable collectible gnome you can proudly display on your desk, shelf, craft corner, or seasonal decor setup. ✨

Whether you love cozy crafting, calming hobbies, or meaningful handmade decorations, these gnomes turn every quiet evening into something magical. 🤍


✨ Choose Your Favorite Gnome Style

🌻 Sunshine Bloom

Warm sunflower tones, cheerful blooms, and gentle golden cottage vibes.

🍄 Mushroom Forest

Inspired by enchanted forests, woodland mushrooms, and cozy mossy paths.

🐚 Driftwood Shore

Soft coastal colors, sea treasures, driftwood charm, and calming ocean energy.

🌰 Acorn Hollow

Earthy woodland aesthetic filled with acorns, leaves, and forest treasures.

🍯 Honey Garden

Sweet honeybee garden vibes with soft golden warmth and floral charm.

🍁 Maple Hearth

Cozy autumn atmosphere with maple leaves, lantern glow, and fall cottage feelings.

🍓 Berry Basket

Fresh strawberry garden aesthetic with soft spring colors and cottage sweetness.

🏡 Sweet Home

A peaceful home-inspired gnome bringing warmth, comfort, and simple joys.

🌈 Happy Gnome

Bright rainbow colors, playful energy, and cheerful good vibes everywhere.


🧵 What Makes These Kits Special?

✨ Premium glossy bead materials
✨ Relaxing & beginner-friendly crafting experience
✨ Beautiful display-worthy finished designs
✨ Soft cottagecore / woodland / coastal aesthetic
✨ Includes charms, threads, accessories & instructions
✨ Perfect balance between DIY fun and collectible decor

Unlike ordinary craft kits, these are designed to feel like tiny handmade keepsakes you’ll actually want to display year-round. 🤍


📦 What’s Included In Each Kit

✔ Color bead set
✔ Clear thread & crafting cord
✔ Decorative charms & accessories
✔ Easy-to-follow instruction booklet
✔ Metal rings & hanging details
✔ Everything needed to complete 1 full gnome

No glue required. Easy and relaxing to make. ✨


🕯 Perfect For Cozy Moments

These kits are perfect for:

🌿 Relaxing evening crafts
☕ Cozy weekend hobbies
🎁 Thoughtful handmade gifts
🏡 Cottagecore room decor
🍂 Seasonal decoration collections
🧵 Craft lovers & DIY enthusiasts

Many customers display multiple gnomes together as a collectible seasonal set. ✨


🎁 A Gift People Actually Remember

Looking for something more meaningful than ordinary gifts?

These adorable bead gnomes make wonderful gifts for:

💛 Moms
💛 Craft lovers
💛 Friends
💛 Cottagecore fans
💛 Nature lovers
💛 Holiday gift exchanges
💛 Birthday surprises

Handmade gifts always feel more personal — especially when they’re this cute. 🥹


🌿 Handmade Charm Meets Collectible Decor

Every finished gnome has its own personality, color story, and peaceful little world.
From cozy forests to sunny gardens and dreamy coastlines, each one feels like a tiny companion made to brighten your space. ✨

Start with one… and soon you’ll want the whole collection. 🤍

Place it on your:

  • shelf
  • desk
  • coffee bar
  • craft room
  • bedside table
  • cozy corner

✨ Why People Love These Gnomes

🌿 Relaxing & Mindful

The repetitive beading process feels calming and satisfying — perfect for slowing down after a long day.


🏡 Beautiful Home Decor

Your finished gnome becomes a charming handmade decoration you’ll actually want to display.


🎁 Perfect Handmade Gift

A thoughtful gift for:

  • moms
  • daughters
  • girlfriends
  • crafters
  • cottagecore lovers
  • cozy decor fans

📸 Pinterest-Worthy Aesthetic

Soft colors, tiny details, and premium packaging make these kits feel boutique and collectible.


📏 Product Details

Material

Acrylic pearl-style beads + decorative charms

Difficulty

Beginner Friendly

Recommended Age

12+

Assembly Time

45–90 minutes

Finished Size

Approx. 5–7 inches tall

Use

DIY craft / home decor / gift / collection


💬 What Customers Say


❓ Frequently Asked Questions

Is this beginner friendly?

Yes! The kits are designed for all skill levels.


Is everything included?

Yes — beads, string, charms, and instructions are all included.


Do I need glue?

No glue required.


Is this a toy?

It’s mainly designed as a relaxing DIY craft and decorative collectible.


Is the packaging gift-ready?

Absolutely. Every box is designed to feel premium and giftable.


🌸 Handmade Happiness In Every Tiny Bead

Slow down.
Create something beautiful.
And bring a little cozy magic into your home. ✨


❤️Thank you very much for visiting our store. Have a nice shopping day❤️

⚡️Stock Sells Fast!⚡️ - get yours today!

It will sell out fast, Enjoy a discount now!!⚡Please make sure to buy enough quantity before we increase the price!!!🔥