๐Ÿ”ฅ HOT SALE ๐Ÿ”ฅ Lily of the Valley Suncatcher - Lily Flowers Window Hanging - Home Decor Floral Stained Art - Decoration

$19.99
$29.99
-33%
Size:  23x23cm/9.06x9.06
visitors currently looking at this product๏ผโค
Worldwide shipping
Supports return and exchange within 30 days
Sustainably made
Secure payments
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-1539149753700').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

๐Ÿ“ฃBUY MORE SAVE MORE!

๐Ÿ˜ŠIf you are not satisfied with the goods received, please contact us with in 15 days after receipt, we will give you the best help! Please don't worry!
๐ŸญFast refund>>Partial or full refund depend on the situation
๐ŸšขShipping>>Shipping worldwide
โฐHandling time>>Priority is given to delivery after payment
โœˆ Fast Delivery>>We'll arrange the fastest shipping for you
๐Ÿ’ฏPayments Via PayPal® and CreditCard

๐Ÿ”ฅ99.5% of Reviewers Recommends This Product.๐Ÿ”ฅ

Item specifics:

Condition: New: A brand-new, unused, unopened, undamaged item in its original packaging (where packaging is applicable). Packaging should be the same as what is found in a retail store, unless the item is handmade or was packaged by the manufacturer in non-retail packaging, such as an unprinted box or plastic bag. See the seller's listing for full details.
 

Features:

  • Exquisite Design: a of elegance to your home decor with this stunning Lily of Valley Suncatcher. Crafted using high-quality stained , the intricate design of the lily flowers creates a beautiful visual display when sunlight shines through.

  • Versatile Window Hanging: This acrylic window decoration is not a piece of art but also a functional accessory for your windows. Hang it in any room in your home to bring a of color and charm. Its lightweight construction allows for easy installation and removal.

  • Artistic Home Decor: Transform your living space into a work of art with this unique Lily of Valley Suncatcher. The colors and delicate details of the flowers will instantly enhance the aesthetic appeal of any room. Whether you hang it in your living room, bedroom, or kitchen, it is sure to be a conversation.

  • Long-lasting Durability: Made with premium materials, this Lily of Valley Suncatcher is designed to withstand the test of time. The acrylic material is to fading, ensuring that its colors will remain intact even after prolonged exposure to sunlight. Enjoy the beauty of this window hanging for years to come.

  • Thoughtful Gift for Mom: Looking for a for your mom? Look no further! This beautiful suncatcher combines the timeless beauty of lilies with the enchanting of . Surprise your mom with this symbolic gift that represents love, beauty, and appreciation.

Item description from the seller

Lily of Valley Window Decor Crystal Suncatcher Kit  Suncatcher

Dependable and Stunning: Thanks to its scratch and wear-resistant, dependable acrylic material, this crafted lily of the valley window catcher boasts enduring beauty, perfect for adding an elegant touch to any home decor.
Fine Workmanship: Featuring a meticulously crafted design, this lily of the valley window catcher is a perfect addition to your living space. The easy-to-maintain, clear patterned acrylic decor exudes sophistication and elevates the look of any window.
Atmosphere-Boosting Ornament: Beautiful Suzuran flower pattern designed flat acrylic window catcher creates a peaceful atmosphere, adding an artistic touch of elegance to any room.
Extensive Use: Bring the outdoors inside with our lily of the valley window catcher. It's perfect for adding a touch of natural elegance to your study room, garden, or cafe, creating a peaceful and soothing atmosphere.
Housewarming Gift: Beautify your home with this stunning window catcher, featuring delicate lilies of the valley. An ideal present for housewarming, holidays, or expressions of concern.

Made with clear pattern flat acrylic, this window ornament can showcase various scenes.

Product Description:

Lily of Valley Suncatcher Stained Lily Flowers  Window Hanging Home Decor Flowers  Hangings Art Decoration

Material: Acrylic

Color: as the picture shows, (Due to the difference between different monitors, the picture may have slight color difference. please make sure you do not mind before ordering, Thank you!)

Item Width:  23.0 cm
Item Length:  23.0 cm
Item Height :  0.4 cm
Item Weight:   165g
Type:  lily of valley window catcher
UPC:  Does not apply

Package size: about 23x23cm/9.06x9.06 inches (Please allow 1-3mm error due to manual measurement. please make sure you do not mind before ordering.)

Packing List: 1pcs * Lily of valley window catcher

 

Note: If the product arrives in a different or corrupted way from videos and photos, a refund will be made or the product will be re-prepared and delivered. You can order with peace of mind, you will like it more than you expect.


RELIABLE AFTER-SALES SERVICE

PREMIUM QUALITY

We worked really hard to make it perfect. Design, quality, give maximum attention to even minimal details to make them absolutely adorable.

๐ŸŽHot Sale๐ŸŽ 49% OFF - Stainless Steel Finger Guard๐Ÿ”ฅBUY MORE SAVE MORE

from $19.99 $38.95

(๐ŸŽ Hot Sale๐ŸŽ-49% OFFโค๏ธ)2-in-1 Stainless Steel Fruit Cutter

from $21.99 $42.95

Kitchen Sink Faucet Organizer

$23.99 $33.99

๐ŸŽHOT SALE 49% OFF๐ŸŽMultifunctional Shrimp Line Fish Maw Knife

from $19.99 $39.90

Kitchen Ladles Slotted Spoons 2 in 1 Creative Soup Ladle with Colander Filter

from $19.99 $38.95 +1

Pineapple Cutter

from $23.99 $46.95

Fruit Carving Knife - DIY Platter Decoration

from $19.99 $38.95

๐Ÿ’–DIY Sushi Mold๐Ÿ’–

from $19.99 $38.99

4 in 1 Stainless Steel Fruit Tool Set

from $23.99 $46.95

2-in-1 Vegetable Chopper Dicing & Slitting

from $23.99 $46.95

(๐Ÿ”ฅ๐ŸŽHot Sale๐ŸŽ-49% ) Stainless Steel Oil Filter Pot

from $24.99 $48.95

Stainless Steel Square Plate(With Lid)

from $24.99 $48.95

Pepper Seed Corer Remover

from $19.99 $38.95

2-in-1 Telescopic Fruit Core Peeling Peeling Machine StainlessSteel Fruit Peeler

from $21.99 $42.95

Fresh Keeping Bags

from $21.99 $42.99

Products list

const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '1e120679-95c3-4822-9477-21977b83d26e'; 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() { console.log('่‡ชๅŠจๆŠ˜ๆ‰ฃ็›ดๅ‡บๆ•ฐๆฎ',{"downgrade":false,"automatic_discount_list":[],"hash":""}); this.init(); // ็›‘ๅฌไบ‹ไปถ this.bindEvent_(); } async init() { this.handleFitTheme(); const promotionComplex = {"downgrade":false,"automatic_discount_list":[],"hash":""}; let data = await this.getDiscountList(); if (data.hash && (data.hash !== promotionComplex.hash)) { // ๅ…œๅบ•ๆ–นๆกˆ, downgrade == true; ้œ€่ฆ้™็บง ๅˆ™่ฆ่ฏทๆฑ‚ๆŽฅๅฃ, // ไฝ†ๆ˜ฏ็›ดๅ‡บๆ•ฐๆฎๅฏ่ƒฝๅญ˜ๅœจ็ผ“ๅญ˜๏ผŒไธ€ๅฎšไผš่ฐƒ็”จไธ€ๆฌกๆŽฅๅฃ๏ผŒ็›ดๆŽฅๅˆคๆ–ญhash็‰ˆๆœฌ๏ผŒไธไธ€่‡ดๅฐฑ็”จๆŽฅๅฃ็š„๏ผŒไธ€่‡ดๅฐฑๆฒกๅฟ…่ฆ้‡ๆ–ฐๆธฒๆŸ“ไธ€ๆจกไธ€ๆ ท็š„ๆ•ฐๆฎไบ† console.log('%c ่‡ชๅŠจๆŠ˜ๆ‰ฃhashไธไธ€่‡ด, ไฝฟ็”จๆŽฅๅฃๆ•ฐๆฎ ', 'background:#ffe3f4;border: 1px solid #ff4395; color: #ff4395;', data.hash); this.renderApiData_(data); } } async getDiscountList() { const productId = '1e34f59c-89c5-4fdc-95f8-c1ff3e4fc94c'; 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 renderApiData_(data) { const parentDiv = document.querySelector('.automatic_discount_container'); const newTplDom = await this.getRenderTemplate(data); if(parentDiv){ parentDiv.innerHTML = ''; parentDiv.appendChild(newTplDom); } } 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); } 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'); 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 == '1e34f59c-89c5-4fdc-95f8-c1ff3e4fc94c' && 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);
  • Free shipping

    Free worldwide shipping and returns customs and duties tases included
  • Customer service

    Your payment in formation is processed securely
  • Secure payment

    Need to contact us๏ผŸJust send us an e-mail at info@yourstore.com
  • Contact us

    Short content about your store