UrCustomHUB - Christmas Wonderland Embroidery Kit

people are viewing this right now
$15.99
$19.99
Save 20%
Tax included. Shipping calculated at checkout.
Option : Xmas-A
Quantity
Worldwide shipping
Sustainably made
Secure payments
Description

FEATURES

For more embroidery options, please visit our DIY Embroidery Collection

Difficulty Level:🪡🪡

Celebrate the season of joy with UrCustomHUB's Christmas Wonderland Embroidery Kit series. This charming collection captures the warmth and magic of the holiday season, perfect for crafting memories or giving the gift of handmade joy.

Create Holiday Cheer:

  • Suitable for All Skill Levels: With easy-to-follow instructions and video tutorials, these kits make it simple for anyone to create a festive masterpiece, regardless of experience level.
  • A Relaxing Retreat: Slow down the holiday rush with the calming, therapeutic act of embroidery, creating a peaceful moment in the busiest of seasons.

Festive and Heartwarming Designs:

  • Versatile Holiday Decor: Display your finished piece as a centerpiece of your Christmas decor, or add a merry touch to your wall, mantle, or door.
  • Spruce Up Your Space: Each stitch brings a cozy, festive atmosphere to your home, surrounding you with the holiday spirit.

Top-Notch Crafting Materials:

  • What’s Included: The kits come with a 30cm x 30cm canvas, available in an array of holiday colors, complete with high-quality threads in vibrant Christmas hues and a sturdy 20cm x 20cm wooden hoop.
  • Durable Elegance: Crafted to last, the rich colors of our threads resist fading, ensuring your holiday embroidery remains a treasured keepsake for years to come.

🎁 The Joy of Giving Handcrafted Gifts:

  • Unique and Personalized: A finished embroidery from our Christmas series is a thoughtful present that shows care and craftsmanship, ideal for friends, family, or even as a secret Santa gift.
  • Tailor-Made Memories: Customize your creation with names, dates, or special messages to make your gift truly one-of-a-kind.

🎄 Embrace the Art of Embroidery: UrCustomHUB's Christmas Wonderland Embroidery Kit is more than a crafting project; it's a celebration of the season, an opportunity to create lasting holiday memories and a chance to unwind with the art of stitchery.

🌟 Deck Your Halls with Stitches! 🎅

Need assistance or wish to customize your Christmas embroidery kit? Contact our customer service at service@urcustomhub.com. We are here to ensure your crafting experience is merry and bright, with superior customer care and festive quality products.

Customer Reviews

Here are what our customers say.

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.