50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
1 / 11
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook
0% OFF

50 Pages DIY Elf Fairy Special Shaped Diamond Painting Notebook

1279357.01

$17.69
0 sold
Qty 1 in stock
Specification:
Origin: Mainland China
Style: Modern Style
Material: Book + Resin Diamond Shaped Diamond
Diamond Type: Partial Diamond Shaped
Size: 210.00x150.00x10.00mm/8.27x5.91x0.39inch
Features:
DIY painting, ingenuity, using resin as lacquer, the unique luster of resin sequins is dazzling, shining in the light, and is currently the most popular DIY decoration;
DIY diamond painting production steps:
1. Open the box and check the special tools for diamond painting
2. Check the color of the resin diamond 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 Resin inlaid diamonds
5. It is recommended that one set of resin diamonds is completed faster
6. In order to make a perfect diamond painting, put the drawing in one place, and there is no need to leave diamonds for each line of symbols
7. To cut a good figure on the drawing, mount the assorted array to the flat surface of the material above
8. The stitching needs to be flat, neat, and without cracks
9. After a good stitching, the remaining glue gaps meet the symbols of the diamonds
10. After all the crystals are added, you will get a glorious diamond painting notebook, which you can use to write down your daily tasks or innermost thoughts, or a gift for your loved ones.

Note:
This is DIY diamond painting, it is 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.



1x Book

1x Diamond Painting Tools (Drill Pen, Speed Plate, Drill)

1 Set x Drill 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);