5D Diamond Painting Embroidery Pen DIY Cross Stitch Spot Drilling Tool Kit
5D Diamond Painting Embroidery Pen DIY Cross Stitch Spot Drilling Tool Kit
5D Diamond Painting Embroidery Pen DIY Cross Stitch Spot Drilling Tool Kit
5D Diamond Painting Embroidery Pen DIY Cross Stitch Spot Drilling Tool Kit
5D Diamond Painting Embroidery Pen DIY Cross Stitch Spot Drilling Tool Kit
5D Diamond Painting Embroidery Pen DIY Cross Stitch Spot Drilling Tool Kit
1 / 6
5D Diamond Painting Embroidery Pen DIY Cross Stitch Spot Drilling Tool Kit
5D Diamond Painting Embroidery Pen DIY Cross Stitch Spot Drilling Tool Kit
5D Diamond Painting Embroidery Pen DIY Cross Stitch Spot Drilling Tool Kit
5D Diamond Painting Embroidery Pen DIY Cross Stitch Spot Drilling Tool Kit
5D Diamond Painting Embroidery Pen DIY Cross Stitch Spot Drilling Tool Kit
5D Diamond Painting Embroidery Pen DIY Cross Stitch Spot Drilling Tool Kit
0% OFF
SOD

5D Diamond Painting Embroidery Pen DIY Cross Stitch Spot Drilling Tool Kit

194751

$13.80
2 sold
Qty 8 in stock
5D Diamond Embroidery Pen Set DIY Cross Stitch Diamond Painting Dotting Tool
Rhinestone Painting Embroidery DIY Spot Drilling Tool Kit 5D Diamond Cross Stitch Accessories

Specifications:
Material: Plastic + copper head
Product Size: 18 X 8 X 2cm/7.09 X 3.15 X 0.79 in
Product color: Green + rose red
Uses: Used for canvas point diamond pen

Method of use:
1. Tear off the plastic film on the gel, the pen filled with gel.
2. Use a gel-filled tip to stick round diamonds.



Package Content:
1 X Tweezers
4 X Point drill pen
3 X Point drill plate
10 X Gel
/** @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);