5D DIY Diamond Painting Cross Stitch Embroidery Pen Tools Set Accessories(3
5D DIY Diamond Painting Cross Stitch Embroidery Pen Tools Set Accessories(3
5D DIY Diamond Painting Cross Stitch Embroidery Pen Tools Set Accessories(3
5D DIY Diamond Painting Cross Stitch Embroidery Pen Tools Set Accessories(3
5D DIY Diamond Painting Cross Stitch Embroidery Pen Tools Set Accessories(3
5D DIY Diamond Painting Cross Stitch Embroidery Pen Tools Set Accessories(3
1 / 6
5D DIY Diamond Painting Cross Stitch Embroidery Pen Tools Set Accessories(3
5D DIY Diamond Painting Cross Stitch Embroidery Pen Tools Set Accessories(3
5D DIY Diamond Painting Cross Stitch Embroidery Pen Tools Set Accessories(3
5D DIY Diamond Painting Cross Stitch Embroidery Pen Tools Set Accessories(3
5D DIY Diamond Painting Cross Stitch Embroidery Pen Tools Set Accessories(3
5D DIY Diamond Painting Cross Stitch Embroidery Pen Tools Set Accessories(3
0% OFF
SOD

5D DIY Diamond Painting Cross Stitch Embroidery Pen Tools Set Accessories(3

194749.01

$14.97
7 sold
Qty

5D Embroidery Pen DIY Diamond Painting Cross Stitch Tools Accessories Kit Set


5D DIY Diamond Painting Needlework Embroidery Pen Toolkit Accessories Gift


Specifications:

Product Name: Diamond Painting Toolkit
Product material: plastic
Product size: 18*8*2cm/7.09*3.15*0.79\"
Product color: Green + Rose Red
Product function: oil painting point diamond

Usage:

1. Tear the plastic film on the gel and fill the pen with the gel
2. Sticky a round diamond with a pen full of gelatin


Package Content:
2 X Tweezers
6 X Point Drill Pens

4 X Point Drill Plates

10 X Gels


/** @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-1736477762476').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);