Buy $69.98 Free shipping

đŸ”„Glowing Garden Pebbles

$25.99
$45.99
Save $20.00
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '39bcbde5-640a-482d-a142-378b1dd174b5'; 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 = 'bca8b95d-29a4-487a-8d46-7df60e337ddc'; 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 == 'bca8b95d-29a4-487a-8d46-7df60e337ddc' && 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 = 'bca8b95d-29a4-487a-8d46-7df60e337ddc'; 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() {} unmountCallback() {} setupAction_() { this.registerAction('showAddToCartToast', () => { const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy') if(themeAddToCartToastEl) return 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);
class SpzCustomDiscountFlashsale extends SPZ.BaseElement { constructor(element) { super(element); this.xhr_ = SPZServices.xhrFor(this.win); this.getFlashSaleApi = "\/api\/storefront\/promotion\/flashsale\/display_setting\/product_setting"; this.timer = null; this.variantId = "39bcbde5-640a-482d-a142-378b1dd174b5"; // äżƒé”€æŽ»ćŠšæ•°æź this.flashsaleData = {} } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.templates_ = SPZServices.templatesForDoc(); this.viewport_ = this.getViewport(); // 挂蜜bindć‡œæ•° è§Łć†łthisæŒ‡ć‘é—źéą˜ this.render = this.render.bind(this); this.resize = this.resize.bind(this); this.switchVariant = this.switchVariant.bind(this); } mountCallback() { // èŽ·ć–æ•°æź this.getData(); this.element.onclick = (e) => { const cur = this.win.document.querySelector(".app_discount_flashsale_desc"); if (this.flashsaleData.product_setting.is_redirection && appDiscountUtils.inProductBody(this.element) && e.target !== cur) { this.win.open(`/promotions/discount-default/${this.flashsaleData.discount_info.id}`); } } // 绑柚 this.viewport_.onResize(this.resize); // ç›‘ćŹć­æŹŸćŒćˆ‡æąïŒŒé‡æ–°æžČ染 this.win.document.addEventListener('dj.variantChange', this.switchVariant); } unmountCallback() { // è§Łç»‘ this.viewport_.removeResize(this.resize); this.win.document.removeEventListener('dj.variantChange', this.switchVariant); // æž…é™€ćźšæ—¶ć™š if (this.timer) { clearTimeout(this.timer); this.timer = null; } } resize() { if (this.timer) { clearTimeout(this.timer) this.timer = null; } this.timer = setTimeout(() => { this.render(); }, 200) } switchVariant(event) { const variant = event.detail.selected; if (variant.product_id == 'bca8b95d-29a4-487a-8d46-7df60e337ddc' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "bca8b95d-29a4-487a-8d46-7df60e337ddc", product_type: "default", variant_id: this.variantId } this.flashsaleData = {}; this.win.fetch(this.getFlashSaleApi, { method: "POST", body: JSON.stringify(reqBody), headers: { "Content-Type": "application/json" } }).then(async (response) => { if (response.ok) { this.flashsaleData = await response.json(); this.render(); } else { this.clearDom(); } }).catch(err => { this.clearDom(); }); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } render() { this.templates_ .findAndRenderTemplate(this.element, { isMobile: appDiscountUtils.judgeMobile(), isRTL: appDiscountUtils.judgeRTL(), inProductDetail: appDiscountUtils.inProductBody(this.element), flashsaleData: this.flashsaleData, image_domain: this.win.SHOPLAZZA.image_domain, }) .then((el) => { this.clearDom(); this.element.appendChild(el); }) } } SPZ.defineElement('spz-custom-discount-flashsale', SpzCustomDiscountFlashsale);
Style
Color
Quailty
Quantity
/** @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-1651799308132').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);
Description
  • đŸȘPayPal 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.

💞 Note: 5872 pieces have been sold since we started the sale. After the remaining 158 pieces are sold, our price will go back to the original price. Take your last chance to order!

 Light Up Your Nights with Eco-Friendly Glowing Stones

Product Highlights:
Create a mesmerizing outdoor ambiance with our Glowing Garden Pebbles. Made from eco-friendly Polystyrene (PS) material, these luminous pebbles are non-toxic, tasteless, and non-radioactive, ensuring the safety of your family and pets. The unique photoluminescent pigment in each pebble absorbs sunlight during the day, bathing your garden in a magical glow at night.

Key Features:
1. Endless Decorative Possibilities: Line walkways, edge flower beds, or beautify your garden and fish tank with these enchanting pebbles, adding a captivating touch to your outdoor spaces.

2. Long-Lasting Glow: After absorbing sunlight, the pebbles emit a radiant glow that lasts approximately 7 hours in the dark. If charged under lamp light for just 15 minutes, they can brighten up your surroundings for over 10 hours, making your nights even more magical.

3. Reusable and Durable: The pebbles can absorb light repeatedly, making them glow consistently for up to 20 years, ensuring you enjoy their captivating glow for a long time.

Attention:
- Before the nightfall, make sure the pebbles have absorbed enough sunlight to achieve their full glowing potential.

Why Choose Us?
1. Eco-Friendly: Our glowing pebbles are crafted from Polystyrene, a sustainable and eco-friendly material that leaves no environmental footprint.

2. 60 Days Warranty: We offer a hassle-free warranty covering any defects, accidental damage, or customer dissatisfaction. Your satisfaction is our top priority.

3. No Electricity Required: Enjoy a cost-effective outdoor lighting solution with these pebbles that require no electricity or power source.

Specifications:
- Material: Photoluminescent pigment + Polystyrene (PS)
- Color: Multicolor, White, Blue, Green, Orange, Yellow
- Size: 0.8"-1.2" (approx)
- Quantity: 100 ~ 1000 pcs

FAQs:
Q1: How long do the pebbles glow at night?
A: After a full day's exposure to sunlight, the pebbles glow brightly for approximately 7 hours in the dark.

Q2: Can I use these pebbles indoors?
A: Yes, you can use them indoors to decorate fish tanks, vases, or create mesmerizing craft projects.

Q3: Are they safe for kids and pets?
A: Yes, our glowing stones are made from non-toxic and tasteless Polystyrene material, ensuring they are safe for both kids and pets. However, keep them away from young children to avoid choking hazards.

Transform your garden or outdoor spaces into an enchanting wonderland with our Glowing Garden Pebbles. Experience the magic of their luminous glow and make your evenings truly special!

WHY US?

  • We work directly with manufacturers all over the world to ensure the best quality of our products. We have Quality Control department which help us to keep our promise!
  • Price is always competitive.
  • Awesome Customer Service
  • Amazing products along with High Quality
  • Read reviews from our lovely customers
🌎 Worldwide Shipping ✈  
Please do note that shipping is insured and requires multiple working days..However, you may receive your items earlier. Tracking Numbers will ALWAYS be sent so you can track it every step of the way! Cool things are worth waiting for! 😉
🔒 100% Risk-Free PurchaseÂ đŸ”„Â 
If you bought it and felt that it is not for you, don't worry. 100% Simple & Risk-Free process.

HOW TO PAY

✅Payments Via PayPal¼, Credit and Debit Card.

If you want to checkout with a Credit and Debit Card, just enter your * Card No, * Expiration Date, and * CVV.