Dreamcatcher - Square Drills - 40*60cm
Dreamcatcher - Square Drills - 40*60cm
Dreamcatcher - Square Drills - 40*60cm
Dreamcatcher - Square Drills - 40*60cm

Dreamcatcher - Square Drills - 40*60cm

Price

$49.90 $39.90
Save $10.00
Free shipping

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);

INTRO:
✨Originating from the 18th century, the dream catcher holds deep roots in Native American culture, believed to filter dreams. Hung above beds where morning sunlight can reach, it's thought that good dreams pass through the center hole and gently glide down the feathers, while bad dreams are trapped within the web, dissipating with the first light of dawn.
✨Using premium resin drills, each meticulously cut and polished to perfection, these gems boast vibrant colors. The canvas features a variety of symbols, crisply printed for effortless recognition.
✨Themes like these evoke a sense of wonder and mystery, perfect for adorning bedroom walls and perhaps inspiring sweet dreams.

DETAILS:
Colors: 44
Size: 15.7×23.6 in / 40×60 cm

WHAT'S INCLUDED:
1. Canvas
2. Square drills
3. Basic diamond pen
4. Tray
5. Wax
6. Placer
7. Color chat
8. Instructions

Introduction
Welcome to our store! We offer a wide range of payment options to make your purchasing experience as convenient as possible. Whether you prefer traditional methods or modern alternatives, we have you covered.

PayPal
We are proud to offer PayPal as one of our primary payment options. With PayPal, you can use your PayPal account or pay securely with a credit card or debit card through PayPal's platform.

Stripe
For greater flexibility, we also support an extensive list of payment methods through Stripe. Some of the supported methods include:

·Affirm
·American Express
·Apple Pay
·Bancontact
·BLEUE
·Cartes Bancaires
·Diners
·Discover
·Giropay
·Google Pay
·iDEAL
·JCB
·Maestro
·Mastercard
·Mastercard Debit
·My Bank
·Paysafe card
·PayU
·Poli
·Qiwi Wallet
·Rapipago
·Safety Pay
·SEPA
·SOFORT
·Stripe - Alipay
·Stripe - Bancontact (Belgium)
·Stripe - Eps (Austria)
·Stripe - Giropay (Germany)
·Stripe - Ideal (Netherlands)
·Stripe - P24 (Poland)
·Stripe - Sofort (Austria, Belgium, Germany, Spain, Italy, Netherlands)
·Stripe - Wechat
·Union Pay
·Visa, Visa Electron, VISA Debit

Feel free to choose the payment method that best suits your preferences and needs. Should you have any questions or need assistance, please do not hesitate to contact us info@cateared.com

Thank you for choosing our store, and we look forward to serving you.

Blog posts

VIEW ALL