🔥Christmas pre-sale 49% Off-Family Tree Chart Diy Gift

$20.99
$39.00
-46%
Type:  Colorful Family Tree
Size:  👩‍👩‍👦16in*24in
Quantity
people are viewing this right now
/** @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-1539149753700').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);

Description

❤️TIPS: All goods are authentic, with genuine patents, counterfeit must be investigated! Customers, please identify our products!

✒️You can complete a piece of art by filling in your personal family history with handwritten handwriting.

【6 Generations】
(Enough blank space to write more members)

  • First row: father and mother  
  • Second row: 4 grandparents
  • Third row: 8 great-grandparents
  • Fourth row: 16 great-great-grandparents
  • Fifth row: 32 great-great-great-grandparents
  • Sixth row:64 great-great-great-great-grandparents

Family Tree Workbook is To know more about your family. Genealogy has a very strong educational function. Family rules, family precepts and family traditions are passed down in one continuous line.

(Made of high quality canvas cloth, Durable and can be stored for a long time)

【Wonderful Tree Design】Imagine a vibrant life tree growing prosperously on the wall, you will feel so refreshed and hopeful. The product is about 40*60cm, and you can buy a photo frame to decorate the tree card (the product does not include a photo frame).

【Special Gift】Our family tree is a wonderful and unique gift displayed at home. Christmas New Year gifts for babies, kids, men, women, mothers, fathers-in-law, grandparents, and teachers. During the holiday reunion, the family happily talked and watched; grandfather use this genealogy chart to tell grandsons about family history. What an unforgettable family happiness time!

【Personalized Diagram】You can write your personal family history on the blank grid of the tree to complete the artwork. Or fill in any information to interact with people who come to your home. Let your guests write blessings as a souvenir.

PRODUCT DETAILS

Size: 16 x 24  inches /24 x 36  inches 

Item Weight:2.64 Ounces/3.88 Ounces

Printing Type: Exquisite Color Printing

Limited stock remaining and will soon be sold out!

💗Why Us?💗
  • We work directly with manufacturers all over the world to ensure the best quality of our products. We have a Quality Control department which helps us to keep our promise!
  • Price is always competitive.
  • Awesome Customer Service
  • Amazing products along with High Quality
  • Read reviews from our lovely customers

🎁Don't forget to buy some for your family or friends as it's an unique gift idea.❤️❤️❤️

Click on "ADD TO CART" to get yours now! 

⚡️Stock sells fast - get yours today!

 

HOW TO PAY

✅Payments Via PayPal®Debit and CreditCard.

   Add to cart first, and Check out, then select Shipping method and Payment method.

If you checkout with a Debit / Credit Card, just enter your * Card Number* Expiration Date, and * Secure Code.
🌎 Worldwide Shipping ✈  
Delivery typically takes different times based on the different destination. You may receive your items earlier. Tracking Numbers will always be sent so you can track it every step of the way! 
🔒 100% Risk-Free Purchase
If you bought it and felt that it is not for you, don't worry. Send a message for us, and we will make it right by offering you a replacement or refund. 100% Simple & Risk-Free process.
🏭 Our Warehouse Once your order is dispatched, depending on your country or region, products will be delivered to you as soon as possible.