8pcs Rainbow Gnome Diamond Painting Acrylic Coasters
8pcs Rainbow Gnome Diamond Painting Acrylic Coasters
8pcs Rainbow Gnome Diamond Painting Acrylic Coasters
8pcs Rainbow Gnome Diamond Painting Acrylic Coasters
8pcs Rainbow Gnome Diamond Painting Acrylic Coasters
8pcs Rainbow Gnome Diamond Painting Acrylic Coasters
8pcs Rainbow Gnome Diamond Painting Acrylic Coasters
8pcs Rainbow Gnome Diamond Painting Acrylic Coasters
1 / 8
8pcs Rainbow Gnome Diamond Painting Acrylic Coasters
8pcs Rainbow Gnome Diamond Painting Acrylic Coasters
8pcs Rainbow Gnome Diamond Painting Acrylic Coasters
8pcs Rainbow Gnome Diamond Painting Acrylic Coasters
8pcs Rainbow Gnome Diamond Painting Acrylic Coasters
8pcs Rainbow Gnome Diamond Painting Acrylic Coasters
8pcs Rainbow Gnome Diamond Painting Acrylic Coasters
8pcs Rainbow Gnome Diamond Painting Acrylic Coasters
0% OFF

8pcs Rainbow Gnome Diamond Painting Acrylic Coasters

1043057.01

$24.77
1 sold
Qty 1 in stock
Specification:
Origin: Mainland China
Style: Modern Style
Product Size: 100.00x100.00x10.00mm/3.94x3.94x0.39inch
Material: Argyle + high quality round diamonds
Type: Rainbow Gnome
Size: 10*10*0.5cm/3.94*3.94*0.2in
Weight: 280g
Packing: box
Shape: round
DIY diamond painting products production steps.
1. Open the package, check whether the diamond painting product tools are complete;
2. According to the resin diamond colour code, choose a colour on the plate, if you paste the same colour at a time, you can improve the speed;
3. Find the corresponding colour code on the product and start pasting until finished;
4. After finishing, in order to make the diamond stable, you can take some books and put them on top of the diamond for a while;
5. Finally finished, enjoy decorating your home, add life to your home.
This is diy diamond painting products, not finished, you need to complete it yourself.

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 Coasters 
1 X Drill kit  
1 X Drilling Tool 
1 X Stand



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