6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards
6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards
6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards
6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards
6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards
6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards
6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards
6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards
6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards
1 / 9
6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards
6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards
6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards
6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards
6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards
6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards
6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards
6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards
6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards
0% OFF

6Pcs DIY Crystal Ball Unicorn Diamond Painting Cards

1339296.02

$17.99
0 sold
Qty 11 in stock
Specification:
Origin: Mainland China
Style: Classic Style
Size: 150.00x150.00x10.00mm/5.91x5.91x0.39inch
Material: Resin
DIY diamond painting use steps:
1. Open the package and check the diamond painting special tools
2. Check the resin diamond color and arrange it in the coding order
3. Uncover the tape diagram above, you will see many symbols corresponding to the color coding
4. According to the corresponding color coding fixture corresponding to the resin inlaid diamond
5. It is recommended that one set of resin diamonds is completed faster
6. In order to make a perfect diamond greeting card, put the drawing in one place, and each row of symbols does not have to leave diamonds
7. To cut a good figure on the drawing, please install the classification array to the plane of the material above
8. The splicing needs to be flat, neat, and without cracks

Note:
This is a DIY diamond card, not finished, you need to finish it yourself.

Due to the different monitor and light effect, the actual color of the item might be slightly different from the color showed on the pictures. Thank you!

Please allow 1-2cm measuring deviation due to manual measurement.


Note:
Due to the different monitor and light effect, the actual color of the item might be slightly different from the color showed on the pictures. Thank you!
Please allow 1-2cm measuring deviation due to manual measurement.



1 Set x Diamond Card Paper
1 Set x Greeting Card Envelopes (!! The Number Of Envelopes Should Be The Same As The Number Of Card Paper)
1 x Diamond Painting Tools (Diamond  Pen, Speed Plate, Diamond Bag)

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