0

Your Cart is Empty

Our Lady of Philerme Icon Plaque

Icon Plaque

Enhance your sacred art with this Icon Plaque, printed using sublimation to a wood-look plaque backing with a low-gloss matte finish. Available in sizes 6" x 8", 7" x 9", 8" x 10", or 9" x 12", with a 0.625" thickness, it includes dual key-hole back mounting for horizontal or vertical display.

Plaque products must be ordered through a trusted external partner Zazzle.com. Please click on the link below to purchase. Items are made to order, so please allow up to 10 business days for delivery. 

Our Lady of Philerme

The MADONNA OF PHILERME is an ancient sacred icon painted, according to legend, by Saint Luke, which had travelled miraculously across the sea from Jerusalem to Mount Phileremos on the island of Rhodes, where it was kept in a shrine, which later became a sanctuary. From earliest times the icon was venerated as an object of great devotion. Christianity was brought to Rhodes by Saint Paul (as later to Malta) so the Christian community on this island was of great antiquity.

When the knights of the Order of Saint John conquered Rhodes in 1309, the Philermo Madonna soon became one of their most treasured possessions, and ever since they have held her in special veneration. They observe her feast on the Birthday of Our Lady (8th September, kept also as the observance of the raising of the Ottoman Siege of Malta in 1565, attributed to Our Lady’s intercession), and they invoke her by the title of Our Lady of Philermo in the prayers of the Order and in the bidding prayers at Holy Mass.

After the loss of Rhodes to the Ottoman Turks in 1524 the icon accompanied the Knights on their peregrinations in search of a new home until they finally settled on Malta in 1530. On arrival there it was kept in the church of Saint Lawrence in Birgu, and subsequently in the newly built city of Valletta, firstly in the church of Our Lady of Victories (the Victoria Church) and eventually in a special chapel in the Conventual Church of Saint John. The icon was honoured with four sets of dresses, the oldest with the arms of Grand Master Philippe Villiers de l’Isle Adam (1464–1534), these were made in silks and velvet set with pearls and jewels.

When the Knights were expelled from Malta by Napoleon in 1798 the Grand Master of the Order, Ferdinand von Hompesch, took the icon with him, and on abdicating the following year, sent it to Russia, together with the relics of the hand of Saint John the Baptist and a splinter of the True Cross, where the Knights gave it to Tsar Paul (who had been illegally elected Grand Master by a group of rebel knights, and supported in the hope that he might assist in regaining Malta for the Order.) Having survived the Bolshevik Revolution of 1917, the Dowager Empress Maria Feodorovna took the icon with her to her native Denmark where she sought refuge in 1919. Before her death in 1928 she entrusted the icon and relics to her daughters, who sent them to Belgrade via the president of the Synod of the Russian Bishops in exile in Berlin.

In 1932 they were consigned to the custody of King Alexander I of Yugoslavia, who kept them in the chapel of the Royal palace in Dedinje. In 1941, with the threat of an impending Nazi invasion, the icon and relics were sent to the orthodox monastery of Ostrog in Montenegro. From this time all trace of them was lost until, in 1993, the icon was discovered in the storerooms of the National Museum at Cetinje, Montenegro. It was confirmed as truly being the lost icon by the Italian scholar Giovanella Ferraris de Celle in 1997, and remains on display in the Museum.

The image of the Phileremos Madonna represents the face of the Holy Virgin, without the Divine Child, in a fine and entirely Byzantine style. The icon, which measures 44 by 36 centimetres, has been much mutilated, with only the beautiful face surviving, beneath a finely painted veil of tightly pleated linen. It is set within a much later wooden panel. The stunning Russian plate, with the eight pointed cross of the Order of Malta in white enamel, is made of gold in the french empire style, with rubies, sapphires and diamonds from the Imperial collection, and has surprisingly survived its many travels. The face is covered with a rock-crystal “glass” which may be the original recorded during its time in Malta.

WE BESEECH YOU, O LORD, to impart upon your servants the gift of heavenly grace : 
that as the childbearing of the blessed Virgin was to us the beginning of salvation;
so may the celebration of her Nativity bestow an increase of peace.
Through our Lord Jesus Christ your Son,
who lives and reigns with you in the unity of the Holy Spirit,
God for ever and ever. Amen.

Our Lady of Philerme, pray for us. 

Visit Shop

Customization & Frames

Add the finishing touch to your fine art icon print with custom framing to meet your needs and taste. Choose from a wide selection of economy or premium framing, and request artist signature along with a Certificate of Authenticity.

window._ABConfig.getProductDiscountedPricing = ({ variantId, amount, quantity, sellingPlanId }) => { const disableAppFunctionality = window?._ABConfig?.['disableAppFunctionality'] || false; if (!variantId || disableAppFunctionality) { console.error('Please provide a current variant id'); return []; } //helper functions const isDiscountUsageLimitExceed = (customerDiscountUsage, bundle) => { if (customerDiscountUsage && customerDiscountUsage.length) { const targetDiscountUsage = customerDiscountUsage.find( (discountUsage) => discountUsage?.uniqueRef === bundle?.uniqueRef ); return targetDiscountUsage && targetDiscountUsage?.usageCount >= bundle?.limitToUsePerCustomer; } return false; }; const isBundleRestrictedCustomerByTagsByDiscount = (item, customerTags) => { if (!item?.restrictTags) return false; const restrictTags = item?.restrictTags?.split(','); return customerTags && customerTags.length > 0 && customerTags.some((tag) => restrictTags?.includes(tag)); }; const isBundleAllowedByCustomersTagByDiscount = (item, customerTags) => { if (!item?.allowedTags) return true; const allowedCustomersOnly = item?.allowedTags?.split(','); return ( customerTags && customerTags.length > 0 && customerTags.some((tag) => allowedCustomersOnly?.includes(tag)) ); }; const isBundleRestrictedByDiscount = (item, customerTags) => { return isBundleRestrictedCustomerByTagsByDiscount(item, customerTags) || !isBundleAllowedByCustomersTagByDiscount(item, customerTags); }; const processBundleRules = (bundles, type, fields) => bundles .filter((bundle) => bundle?.bundleType === type) .map((rule) => { const parsedRule = { ...rule }; fields.forEach((field) => { try { parsedRule[field] = JSON.parse(rule[field] || '[]'); } catch (e) { console.error('Failed to parse field:', field, e); parsedRule[field] = []; } }); return parsedRule; }); const getBestDiscount = (applicableDiscounts, lineItem, discountKey = 'discount') => { return applicableDiscounts.reduce((greater, current) => { const greaterDiscount = greater?.[discountKey]; const currentDiscount = current?.[discountKey]; if ((greater?.discountType === "PERCENTAGE" && current?.discountType === "PERCENTAGE") || (greater?.discountType === "FIXED_AMOUNT" && current?.discountType === "FIXED_AMOUNT")) { return currentDiscount > greaterDiscount ? current : greater; } else if (current?.discountType === "FIXED_AMOUNT" && greater?.discountType === "PERCENTAGE") { return currentDiscount > ((greaterDiscount / 100) * lineItem?.totalAmount) ? current : greater; } else if (current?.discountType === "PERCENTAGE" && greater?.discountType === "FIXED_AMOUNT") { return ((currentDiscount / 100) * lineItem?.totalAmount) > greaterDiscount ? current : greater; } return currentDiscount > greaterDiscount ? current : greater; }); }; const getApplicableTieredDiscount = (volumeDiscountBundles, lineItem) => { let applicableDiscount = null; const updatedVolumeDiscountBundles = volumeDiscountBundles.map(bundle => { const updatedTieredDiscount = bundle?.tieredDiscount.map(discount => { return { ...discount, appliesOn: bundle?.appliesOn }; }) return { ...bundle, tieredDiscount: updatedTieredDiscount } }); const volumeDiscountBundlesTieredDiscount = updatedVolumeDiscountBundles.reduce((acc, item) => { return acc.concat(item?.tieredDiscount); }, []); let applicableQuantityBasedDiscount = volumeDiscountBundlesTieredDiscount .filter(tieredDiscount => tieredDiscount?.discountBasedOn === "QUANTITY") .filter(tieredDiscount => lineItem?.quantity >= tieredDiscount?.value); applicableQuantityBasedDiscount = applicableQuantityBasedDiscount.length > 0 ? getBestDiscount(applicableQuantityBasedDiscount, lineItem) : null; let applicableSpendAmountBasedDiscount = volumeDiscountBundlesTieredDiscount .filter(tieredDiscount => tieredDiscount?.discountBasedOn === "AMOUNT") .filter(tieredDiscount => lineItem?.totalAmount >= tieredDiscount?.value); applicableSpendAmountBasedDiscount = applicableSpendAmountBasedDiscount.length > 0 ? getBestDiscount(applicableSpendAmountBasedDiscount, lineItem, ) : null; if (applicableQuantityBasedDiscount && applicableSpendAmountBasedDiscount) { if ((applicableQuantityBasedDiscount?.discountType === "PERCENTAGE" && applicableSpendAmountBasedDiscount?.discountType === "PERCENTAGE") || (applicableQuantityBasedDiscount?.discountType === "FIXED_AMOUNT" && applicableSpendAmountBasedDiscount?.discountType === "FIXED_AMOUNT")) { if (applicableQuantityBasedDiscount?.discount > applicableSpendAmountBasedDiscount?.discount) { applicableDiscount = applicableQuantityBasedDiscount; } else { applicableDiscount = applicableSpendAmountBasedDiscount; } }else if(applicableQuantityBasedDiscount?.discountType === "PERCENTAGE" && applicableSpendAmountBasedDiscount?.discountType === "FIXED_AMOUNT"){ if (((applicableQuantityBasedDiscount?.discount / 100) * lineItem?.totalAmount) > applicableSpendAmountBasedDiscount?.discount) { applicableDiscount = applicableQuantityBasedDiscount; } else { applicableDiscount = applicableSpendAmountBasedDiscount; } }else if(applicableQuantityBasedDiscount?.discountType === "FIXED_AMOUNT" && applicableSpendAmountBasedDiscount?.discountType === "PERCENTAGE"){ if (applicableQuantityBasedDiscount?.discount > ((applicableSpendAmountBasedDiscount?.discount / 100) * lineItem?.totalAmount)) { applicableDiscount = applicableQuantityBasedDiscount; } else { applicableDiscount = applicableSpendAmountBasedDiscount; } } } else if (applicableQuantityBasedDiscount) { applicableDiscount = applicableQuantityBasedDiscount; } else if (applicableSpendAmountBasedDiscount) { applicableDiscount = applicableSpendAmountBasedDiscount; } return applicableDiscount; } const getApplicablePercentOrFixedDiscount = (discountedPricingBundles, lineItem) => { let applicableDiscount = null; let applicableQuantityBasedDiscount = discountedPricingBundles .map(bundle => { return { ...bundle, minProductCount: bundle?.minProductCount || 0, maxProductCount: bundle?.maxProductCount || 0, minOrderAmount: bundle?.minOrderAmount || 0 }; }) .filter(bundle => { const minCount = bundle.minProductCount; const maxCount = bundle.maxProductCount; const minAmount = bundle.minOrderAmount; if (minCount > 0 && lineItem.quantity < minCount) return false; if (maxCount > 0 && lineItem.quantity > maxCount) return false; if (minAmount > 0 && lineItem.amount < minAmount) return false; return true; }); applicableDiscount = applicableQuantityBasedDiscount.length > 0 ? getBestDiscount(applicableQuantityBasedDiscount, lineItem, 'discountValue') : null; if(applicableDiscount){ applicableDiscount = { discountBasedOn: applicableDiscount?.minOrderAmount > 0 && applicableDiscount?.minProductCount === 0 ? "AMOUNT" : "QUANTITY", value: applicableDiscount?.minOrderAmount > 0 && applicableDiscount?.minProductCount === 0 ? lineItem?.totalAmount : lineItem?.quantity, discount: applicableDiscount?.discountValue, discountType: applicableDiscount?.discountType, appliesOn: applicableDiscount?.appliesOn } } return applicableDiscount; } const collections = _ABConfig?.product?.collections || []; const discountBundles = [{"id":30497,"shop":"sacredimageicons.myshopify.com","name":"Buy More and Save","description":"Take 5% off 3 ornaments, 10% off 5 ornaments, 20% off 10 ornaments.","status":"ACTIVE","customerIncludeTags":null,"discountType":"TIERED_DISCOUNT","discountValue":null,"products":"null","variants":"[{\"productId\":7635898138729,\"variantId\":42663810662505,\"name\":\"Black Madonna Ceramic Christmas Ornament \",\"productHandle\":\"black-madonna-christmas-ceramic-ornament-spiritual-home-decor-unique-gift-for-religious-celebrations-christmas-tree-decor-artistic-wall\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/5976603392248082293_2048.jpg?v=1762413463\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Black Madonna Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635896795241,\"variantId\":42663806435433,\"name\":\"Flame of Love Ceramic Christmas Ornament \",\"productHandle\":\"flame-of-love-christmas-ceramic-ornament-religious-holiday-decoration-gift-for-christmas-home-decor-spiritual-keepsake\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/15339998049075275831_2048.jpg?v=1762413319\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Flame of Love Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635891978345,\"variantId\":42663797325929,\"name\":\"Golden Virgin Mary Ceramic Christmas Ornament \",\"productHandle\":\"golden-virgin-mary-christmas-ornament-ceramic-hanging-decoration-religious-holiday-decor-vintage-religious-keepsake-spiritual-gift\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/12069075223071385088_2048.jpg?v=1762411767\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Golden Virgin Mary Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635895713897,\"variantId\":42663803781225,\"name\":\"Guardian Angel Ceramic Christmas Ornament \",\"productHandle\":\"angel-christmas-ornament-1pc\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/1164928960185910107_2048.jpg?v=1762412988\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Guardian Angel Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635890602089,\"variantId\":42663795294313,\"name\":\"Holy Family Ceramic Christmas Ornament \",\"productHandle\":\"holy-family-christmas-ornament\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/12654986415703428600_2048.jpg?v=1762411452\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Holy Family Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635896500329,\"variantId\":42663805616233,\"name\":\"Holy Family Christmas Ornament Ceramic \",\"productHandle\":\"holy-family-christmas-ceramic-ornament-holiday-decoration-religious-gift-home-decor-nativity-art-keepsake-christmas-ornament\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/2221248275129538249_2048.jpg?v=1762413099\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Holy Family Christmas Ornament Ceramic\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635901120617,\"variantId\":42663817216105,\"name\":\"Holy Grandparents Ceramic Christmas Ornament \",\"productHandle\":\"holy-grandparents-christmas-ceramic-ornament-religious-decoration-christmas-tree-ornament-family-keepsake-spiritual-gift-celebration-decor\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/14873529652388578371_2048.jpg?v=1762413969\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Holy Grandparents Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635888865385,\"variantId\":42663793164393,\"name\":\"Immaculate Heart of Mary Ceramic Christmas Ornament \",\"productHandle\":\"immaculate-heart-of-mary-ceramic-decoration-ornament-with-golden-glitter-frame-religious-wall-decor-christmas-tree-ornament-blessed-virgin-mary-decor\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/5795858158612453843_2048.jpg?v=1762411186\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Immaculate Heart of Mary Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635886538857,\"variantId\":42663791788137,\"name\":\"Infant of Prague Ceramic Christmas Ornament \",\"productHandle\":\"infant-of-prague-elegant-ceramic-christmas-ornament-vintage-decor-festive-decoration-christmas-tree-accessory-gift-for-family-friends\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/15512988306488969236_2048.jpg?v=1762411198\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Infant of Prague Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635894534249,\"variantId\":42663802077289,\"name\":\"Jesus Christ Ceramic Christmas Ornament \",\"productHandle\":\"jesus-christ-ceramic-ornament-religious-christmas-decoration-spiritual-gift-holiday-decor-faith-based-keepsake\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/4397826065661414838_2048.jpg?v=1762412564\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Jesus Christ Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635891322985,\"variantId\":42663796310121,\"name\":\"Madonna & Child Ceramic Christmas Ornament \",\"productHandle\":\"madonna-child-christmas-ornament-mary-and-child-decoration-holiday-gift-religious-decor-home-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/14753345613664562123_2048.jpg?v=1762411636\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Madonna & Child Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635892011113,\"variantId\":42663797391465,\"name\":\"Madonna and Child Ceramic Christmas Ornament \",\"productHandle\":\"madonna-and-child-christmas-religious-ornament-with-gold-glitter-christmas-tree-decoration-holiday-gift-religious-keepsake-home-decor-blessed-virgin-mary\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/14535927075065285088_2048.jpg?v=1762411861\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Madonna and Child Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635895418985,\"variantId\":42663803322473,\"name\":\"Mater Admirabilis Ceramic Christmas Ornament \",\"productHandle\":\"mater-admirabilis-christmas-ceramic-ornament-vintage-religious-design-rustic-home-decor-christmas-gift-unique-tree-decoration-handcrafted-keepsake\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/13209259103655690293_2048.jpg?v=1762412802\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Mater Admirabilis Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635891880041,\"variantId\":42663797194857,\"name\":\"Our Lady of Fatima Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-fatima-christmas-ornament-home-decor-religious-gift-holiday-decoration-vintage-style-spiritual-keepsake\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/6962759368962470521_2048.jpg?v=1762411718\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Fatima Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635893616745,\"variantId\":42663800733801,\"name\":\"Our Lady of Fatima Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-fatima-ceramic-religious-ornament-blessed-mother-decoration-spiritual-gift-holiday-decor-faith-based-keepsake-christmas-ornament-home\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/10478160890396654729_2048.jpg?v=1762412312\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Fatima Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635893878889,\"variantId\":42663801094249,\"name\":\"Our Lady of Fatima Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-fatima-ceramic-ornament-spiritual-gift-home-decor-christmas-tree-decoration-religious-keepsake-holiday-ornament\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/4983893816996530255_2048.jpg?v=1762412388\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Fatima Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635892109417,\"variantId\":42663797686377,\"name\":\"Our Lady of Good Council Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-good-council-religious-ceramic-ornament-decorative-faith-decor-blessed-mother-and-child-christmas-tree-hanging-spiritual-gift-for-all-occasions\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/1145671354876848814_2048.jpg?v=1762411970\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Good Council Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635889881193,\"variantId\":42663794540649,\"name\":\"Our Lady of Good Success Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-good-success-christmas-ornament-mother-and-child-decor-holiday-decoration-religious-gift-tree-ornament-home-decor-celebration-keepsake\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/17713376019176567185_2048.jpg?v=1762411342\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Good Success Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635894304873,\"variantId\":42663801520233,\"name\":\"Our lady of Guadalupe Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-guadalupe-ceramic-ornament-with-religious-design-holiday-decor-christmas-gift-handmade-heirloom-spiritual-home-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/9784434976562763298_2048.jpg?v=1762412503\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our lady of Guadalupe Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635895582825,\"variantId\":42663803584617,\"name\":\"Our Lady of La Vang Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-la-vang-christmas-ornament-with-religious-design-spiritual-home-decor-christmas-tree-decoration-gift-for-believers-religious-holidays\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/5103153261536574555_2048.jpg?v=1762412898\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of La Vang Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7641537183849,\"variantId\":42684162474089,\"name\":\"Our Lady of Lourdes and the Baby Jesus — Decorative Christmas Keepsake Ornament - Round / One size\",\"productHandle\":\"our-lady-of-lourdes-and-the-baby-jesus-decorative-christmas-keepsake-ornament\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/8851782286304873454_2048.jpg?v=1763146422\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Lourdes and the Baby Jesus — Decorative Christmas Keepsake Ornament\",\"variantTitle\":\"Round / One size\",\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635892666473,\"variantId\":42663798603881,\"name\":\"Our lady of Lourdes Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-lourdes-christmas-ornament-immaculate-conception-decoration-religious-decor-christmas-ornament-unique-gift-idea-faith-based-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/9956740982728809749_2048.jpg?v=1762412159\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our lady of Lourdes Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635898433641,\"variantId\":42663811776617,\"name\":\"Our Lady of Mt. Carmel Ceramic Christmas Ornament - Round / One size\",\"productHandle\":\"our-lady-of-mt-carmel-christmas-ceramic-decoration-ornament-1pc\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/1157373792212416149_2048.jpg?v=1763141390\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Mt. Carmel Ceramic Christmas Ornament\",\"variantTitle\":\"Round / One size\",\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635889750121,\"variantId\":42663794376809,\"name\":\"Our Lady of Palestine Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-palestine-christmas-ornament-holiday-decor-christening-gift-home-decoration-vintage-style-religious-ornament\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/2845977390982159289_2048.jpg?v=1762411230\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Palestine Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635905118313,\"variantId\":42663831208041,\"name\":\"Our Lady of Philerme Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-philerme-christmas-ornament-vintage-style-decor-home-decor-holiday-gift-unique-wall-hanging-religious-art-spiritual-gift\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/3439564163088691708_2048.jpg?v=1762415252\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Philerme Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635891126377,\"variantId\":42663796080745,\"name\":\"Our Lady of Pompeii Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-pompeii-christmas-ornament-christmas-decoration-religious-gift-holiday-decor-spiritual-home-accent\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/17870095299959154448_2048.jpg?v=1762411537\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Pompeii Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635898335337,\"variantId\":42663811645545,\"name\":\"Our Lady of Sorrows Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-sorrows-christmas-ceramic-decoration-ornament-1pc\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/4415606976274856521_2048.jpg?v=1762413615\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Sorrows Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635900792937,\"variantId\":42663816462441,\"name\":\"Our Lady Star of the Sea Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-star-of-the-sea-christmas-ceramic-decoration-ornament-1pc\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/2627168215939973859_2048.jpg?v=1762413848\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady Star of the Sea Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635896696937,\"variantId\":42663805911145,\"name\":\"Our Lady Undoer of Knots Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-undoer-of-knots-christmas-ceramic-ornament-inspirational-holiday-decor-gift-for-christmas-spiritual-celebration-home-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/17600717683898521868_2048.jpg?v=1762413214\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady Undoer of Knots Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635892502633,\"variantId\":42663798145129,\"name\":\"St. Joseph and the Baby Jesus Ceramic Christmas Ornament \",\"productHandle\":\"st-joseph-and-the-baby-jesus-christmas-ornament-religious-gift-family-decor-christmas-decoration-baptism-keepsake-unique-tree-ornament\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/6766057056537794429_2048.jpg?v=1762412049\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"St. Joseph and the Baby Jesus Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635892797545,\"variantId\":42663798898793,\"name\":\"The Coronation of Mary Ceramic Christmas Ornament \",\"productHandle\":\"the-cornation-of-mary-ceramic-christmas-ornament-religious-decor-christmas-tree-decoration-gift-for-christians-vintage-style-ornament-spiritual-gift\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/17240429016517245738_2048.jpg?v=1762412220\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"The Coronation of Mary Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635894829161,\"variantId\":42663802470505,\"name\":\"Wedding of Joseph & Mary Ceramic Christmas Ornament \",\"productHandle\":\"wedding-of-joseph-mary-christmasceramic-ornament-christmas-decorations-holiday-gifts-home-decor-faith-based-gifts-spiritual-hanging-decor\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/1191080996309396645_2048.jpg?v=1762412674\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Wedding of Joseph & Mary Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null}]","sequenceNo":null,"bundleType":"CLASSIC_BUILD_A_BOX","settings":"{\"excludeSubscriptionPlans\":\"\",\"sequentialProductsPerBatch\":50,\"enableAnnouncementBar\":false,\"enableSequentialProductLoading\":false,\"productFilterConfig\":\"{\\\"enabled\\\":false,\\\"filters\\\":[]}\",\"disableProductDescription\":false,\"includedSubscriptionPlans\":\"\"}","bundleProductId":null,"bundleVariantId":null,"productHandle":null,"discountId":null,"price":null,"numberOfProducts":0,"subscriptionBundlingEnabled":false,"subscriptionId":null,"minProductCount":3,"maxProductCount":null,"uniqueRef":"v1whgedy5e","bundleRedirect":"CART","customRedirectURL":null,"minOrderAmount":null,"tieredDiscount":"[{\"discountBasedOn\":\"QUANTITY\",\"value\":3,\"discount\":5,\"discountType\":\"PERCENTAGE\",\"discountAllowedTags\":null},{\"discountBasedOn\":\"QUANTITY\",\"value\":5,\"discount\":10,\"discountType\":\"PERCENTAGE\",\"discountAllowedTags\":null},{\"discountBasedOn\":\"QUANTITY\",\"value\":10,\"discount\":20,\"discountType\":\"PERCENTAGE\",\"discountAllowedTags\":null}]","productViewStyle":"QUICK_ADD","singleProductSettings":"null","trackInventory":false,"sellingPlanType":"BUNDLE_LEVEL","clearCart":"DISABLED","minPrice":null,"maxPrice":null,"externalBuildABoxId":null,"variantVisibilityType":"SHOW_VARIANTS_AS_INDIVIDUAL","subTitle":"","freeShipping":false,"themeType":"THEME_TWO","showBundleInProductPage":true,"combinedWithProductDiscount":false,"combinedWithShippingDiscount":true,"combinedWithOrderDiscount":false,"allowedTags":null,"restrictTags":null,"selectionType":"FLEXIBLE","bundleHtml":"null","discountedVariants":"null","allowedCountries":null,"appliesOn":"BOTH","purchaseRequirement":"NO_REQUIREMENT","productDiscountType":"EACH_PRODUCT","countrySelectionType":"ALL_COUNTRY","discountApplyApproach":"SHOPIFY_DISCOUNT_FUNCTION","discountedProductChooseType":"CHOOSE_ALL","internalName":"Christmas ornaments 2025","sections":"[{\"id\":1,\"name\":\"\",\"description\":\"\",\"minProductCount\":0,\"maxProductCount\":0,\"variants\":[]}]","limitToUsePerCustomer":0,"discountedVariantSelectionLimit":null,"hideOneTimePurchase":false,"hideSubscriptionPurchase":false,"maxOrderAmount":null,"collectionData":null,"productSelectionType":"PRODUCT","tag":"appstle_bundles","productChooseType":"CHOOSE_ALL","variantSelectionLimit":null,"discountTargetType":"VARIANT","enableSubscription":false,"subscriptionWidgetPosition":"BELOW","subscribeTitle":"Subscribe and Save","subscribeSubtitle":"Delivered Monthly","subscriptionPreselected":false,"getYAppliesOn":"BOTH","announcementBarMessage":null,"automaticDiscountNodeId":"gid://shopify/DiscountAutomaticNode/1805314588777","recurringCycleLimit":0,"automaticShippingDiscountNodeId":null,"scheduledBundleRule":false,"bundleActiveFrom":null,"bundleActiveTo":null,"bundleSubType":null,"discountAppliesOn":null,"layoutType":null,"style":"{}","labels":"{}","upsells":null,"enableVolumeDiscountUpsell":false,"combos":null,"progressiveGift":null,"enableProgressiveGifts":false,"discountName":null,"shippingDiscountType":null},{"id":30673,"shop":"sacredimageicons.myshopify.com","name":"Golden Marian Ornaments Pack","description":"Get 10% off with select ornaments packs.","status":"ACTIVE","customerIncludeTags":null,"discountType":"NO_DISCOUNT","discountValue":null,"products":"[{\"productId\":7635896696937,\"variantId\":null,\"price\":null,\"name\":\"Our Lady Undoer of Knots Ceramic Christmas Ornament\",\"productHandle\":\"our-lady-undoer-of-knots-christmas-ceramic-ornament-inspirational-holiday-decor-gift-for-christmas-spiritual-celebration-home-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/17600717683898521868_2048.jpg?v=1762413214\",\"quantity\":1,\"status\":\"ACTIVE\",\"options\":[]},{\"productId\":7635894304873,\"variantId\":null,\"price\":null,\"name\":\"Our lady of Guadalupe Ceramic Christmas Ornament\",\"productHandle\":\"our-lady-of-guadalupe-ceramic-ornament-with-religious-design-holiday-decor-christmas-gift-handmade-heirloom-spiritual-home-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/9784434976562763298_2048.jpg?v=1762412503\",\"quantity\":1,\"status\":\"ACTIVE\",\"options\":[]},{\"productId\":7635891978345,\"variantId\":null,\"price\":null,\"name\":\"Golden Virgin Mary Ceramic Christmas Ornament\",\"productHandle\":\"golden-virgin-mary-christmas-ornament-ceramic-hanging-decoration-religious-holiday-decor-vintage-religious-keepsake-spiritual-gift\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/12069075223071385088_2048.jpg?v=1762411767\",\"quantity\":1,\"status\":\"ACTIVE\",\"options\":[]},{\"productId\":7635892666473,\"variantId\":null,\"price\":null,\"name\":\"Our lady of Lourdes Ceramic Christmas Ornament\",\"productHandle\":\"our-lady-of-lourdes-christmas-ornament-immaculate-conception-decoration-religious-decor-christmas-ornament-unique-gift-idea-faith-based-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/9956740982728809749_2048.jpg?v=1762412159\",\"quantity\":1,\"status\":\"ACTIVE\",\"options\":[]},{\"productId\":7635891880041,\"variantId\":null,\"price\":null,\"name\":\"Our Lady of Fatima Ceramic Christmas Ornament\",\"productHandle\":\"our-lady-of-fatima-christmas-ornament-home-decor-religious-gift-holiday-decoration-vintage-style-spiritual-keepsake\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/6962759368962470521_2048.jpg?v=1762411718\",\"quantity\":1,\"status\":\"ACTIVE\",\"options\":[]}]","variants":"[]","sequenceNo":null,"bundleType":"CLASSIC","settings":"{\"sequentialProductsPerBatch\":50,\"enableAnnouncementBar\":true,\"enableSequentialProductLoading\":false}","bundleProductId":7640166432873,"bundleVariantId":null,"productHandle":"golden-marian-ornaments-pack","discountId":null,"price":null,"numberOfProducts":0,"subscriptionBundlingEnabled":false,"subscriptionId":null,"minProductCount":null,"maxProductCount":null,"uniqueRef":"tr3y8pdm3b","bundleRedirect":"CART","customRedirectURL":null,"minOrderAmount":null,"tieredDiscount":null,"productViewStyle":"QUICK_ADD","singleProductSettings":"null","trackInventory":false,"sellingPlanType":"BUNDLE_LEVEL","clearCart":"ENABLED","minPrice":42.5,"maxPrice":42.5,"externalBuildABoxId":null,"variantVisibilityType":"SHOW_VARIANTS_AS_INDIVIDUAL","subTitle":null,"freeShipping":false,"themeType":"THEME_TWO","showBundleInProductPage":true,"combinedWithProductDiscount":true,"combinedWithShippingDiscount":true,"combinedWithOrderDiscount":true,"allowedTags":null,"restrictTags":null,"selectionType":"FLEXIBLE","bundleHtml":"null","discountedVariants":"null","allowedCountries":null,"appliesOn":"BOTH","purchaseRequirement":"NO_REQUIREMENT","productDiscountType":"EACH_PRODUCT","countrySelectionType":"ALL_COUNTRY","discountApplyApproach":"SHOPIFY_DISCOUNT_FUNCTION","discountedProductChooseType":"CHOOSE_ALL","internalName":"Golden Marian Ornaments Pack","sections":"[{\"id\":1,\"name\":\"\",\"description\":\"\",\"minProductCount\":0,\"maxProductCount\":0,\"variants\":[]}]","limitToUsePerCustomer":null,"discountedVariantSelectionLimit":null,"hideOneTimePurchase":false,"hideSubscriptionPurchase":false,"maxOrderAmount":null,"collectionData":null,"productSelectionType":"PRODUCT","tag":"appstle_bundles","productChooseType":"CHOOSE_ALL","variantSelectionLimit":null,"discountTargetType":"VARIANT","enableSubscription":false,"subscriptionWidgetPosition":"BELOW","subscribeTitle":"Subscribe and Save","subscribeSubtitle":"Delivered Monthly","subscriptionPreselected":false,"getYAppliesOn":"BOTH","announcementBarMessage":null,"automaticDiscountNodeId":null,"recurringCycleLimit":0,"automaticShippingDiscountNodeId":null,"scheduledBundleRule":false,"bundleActiveFrom":null,"bundleActiveTo":null,"bundleSubType":null,"discountAppliesOn":null,"layoutType":null,"style":"{\"productCardBackgroundColor\":\"#ffffff\",\"disabledTextColor\":\"#6B7280\",\"buttonBackgroundColor\":\"#000000\",\"bundlePageBackgroundColor\":\"#FAFAF9\",\"headingTextColor\":\"#000000\",\"primaryHoverColor\":\"#000000\",\"primaryTextColor\":\"#000000\",\"primaryColor\":\"#000000\",\"primaryDisabledColor\":\"#333333\",\"primaryDisabledTextColor\":\"#ffffff\",\"secondaryTextColor\":\"#ffffff\",\"fieldDisabledBackgroundColor\":\"#D1D5DB\"}","labels":"{}","upsells":null,"enableVolumeDiscountUpsell":false,"combos":null,"progressiveGift":null,"enableProgressiveGifts":false,"discountName":null,"shippingDiscountType":null}]; const customerTags = null; let customerDiscountUsage = []; let isLoggedIn = false; const filteredDiscountBundles = Array.isArray(discountBundles) && discountBundles.length > 0 && discountBundles?.filter((bundle) => { if (bundle?.status !== 'ACTIVE' || bundle?.bundleSubType === 'BUY_X_GET_Y') { return false; } if ((bundle?.allowedTags || bundle?.restrictTags || bundle?.limitToUsePerCustomer > 0) && !isLoggedIn) { return false; } if ((bundle?.allowedTags || bundle?.restrictTags) && isLoggedIn && isBundleRestrictedByDiscount(bundle, customerTags)) { return false; } if (bundle?.limitToUsePerCustomer > 0 && isDiscountUsageLimitExceed(customerDiscountUsage, bundle)) { return false; } if (bundle?.appliesOn === "ONE_TIME" && sellingPlanId != null) { return false; } if (bundle?.appliesOn === "SUBSCRIPTION" && sellingPlanId === null) { return false; } try { const variantsString = bundle?.variants || '[]'; const variants = typeof variantsString === 'string' ? JSON.parse(variantsString) : variantsString; const bundleCollections = JSON.parse(bundle?.collectionData || '[]'); return (Array.isArray(variants) && variants.some((variant) => variant && parseInt(variant?.variantId) === parseInt(variantId))) || (Array.isArray(bundleCollections) && bundleCollections?.length > 0 && bundleCollections.some(bundleCollection => collections.some(collection => collection?.id === bundleCollection?.id))) } catch (e) { console.error('Failed to parse JSON:', e); return false; } }) || []; const totalAmount = amount * quantity; const lineItem = {variantId, quantity, amount, totalAmount }; const volumeDiscountBundles = processBundleRules(filteredDiscountBundles, 'VOLUME_DISCOUNT', ["variants", "tieredDiscount"]); const discountedPricingBundles = processBundleRules(filteredDiscountBundles, 'DISCOUNTED_PRICING', ["variants"]); let applicableDiscount = null; const volumeDiscount = getApplicableTieredDiscount(volumeDiscountBundles, lineItem); const pricingDiscount = getApplicablePercentOrFixedDiscount(discountedPricingBundles, lineItem); if (volumeDiscount && pricingDiscount) { applicableDiscount = getBestDiscount([volumeDiscount, pricingDiscount], lineItem); } else { applicableDiscount = volumeDiscount || pricingDiscount; } const discountAmount = applicableDiscount?.discountType === "PERCENTAGE" ? (totalAmount * applicableDiscount?.discount) / 100 : applicableDiscount?.discount; const discountedPrice = applicableDiscount?.discountType === "PERCENTAGE" ? (totalAmount - discountAmount) : ( totalAmount - applicableDiscount?.discount); return { variantId, quantity, amount, totalAmount, discountType: applicableDiscount?.discountType, discountValue: applicableDiscount?.discount, discountAmount, discountedPrice: !isNaN(discountedPrice) ? discountedPrice : undefined, discountConfigure: applicableDiscount?.appliesOn }; }; (() => { document.addEventListener('DOMContentLoaded', function() { const ATC_BUTTON_SELECTORS = ['button[type="submit"][name="add"]', 'button[type="submit"][data-add-to-cart]', 'button[type="submit"][data-action="add-to-cart"]', 'button[type="submit"][aria-label*="add to cart" i]']; function hasVisibleAtcButton(form) { return ATC_BUTTON_SELECTORS.some(sel => { const btn = form.querySelector(sel); return btn && btn.offsetParent !== null; // visible }); } function inferFormProductId(form) { const withData = form.closest('[data-product-id]'); if (withData?.dataset?.productId) return String(withData.dataset.productId); const withClass = form.closest('[class*="product-id-"]'); if (withClass) { const match = Array.from(withClass.classList) .map(c => c.match(/^product-id-(\d+)$/)) .find(Boolean); if (match) return match[1]; } const hidden = form.querySelector('input[name="product-id"], input[name="product[id]"]'); if (hidden?.value) return String(hidden.value); return null; } function isFormForProduct(form, productId) { const inferred = inferFormProductId(form); return inferred ? String(inferred) === String(productId) : false; } function ensureBundleInput(form, bundleId) { if (!form || form.querySelector('.appstle-bundle-properties')) return; const input = document.createElement('input'); input.type = 'hidden'; input.className = 'appstle-bundle-properties'; input.name = 'properties[_appstle-bb-id]'; input.value = bundleId; form.appendChild(input); } const pingClassicBundleVisitorAnalytics = bundleId => { if (!bundleId || typeof window === 'undefined') return; const sessionTokenName = 'appstle-bundles-visitor-session-token'; let sessionToken = sessionStorage.getItem(sessionTokenName); if (!sessionToken) { sessionToken = crypto.randomUUID(); sessionStorage.setItem(sessionTokenName, sessionToken); } const bundlePingKey = `pinged_${bundleId}`; if (sessionStorage.getItem(bundlePingKey) === 'true') return; sessionStorage.setItem(bundlePingKey, 'true'); const payload = { sessionToken, bundleId, }; try { fetch(`${location.origin}/apps/bundles/cp/api/ping-visitor`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(payload), }); } catch (error) { sessionStorage.removeItem(bundlePingKey); } } const executeClassicBundleBlock = ({ blockElement, productId }) => { const classicBundles = [{"id":30497,"shop":"sacredimageicons.myshopify.com","name":"Buy More and Save","description":"Take 5% off 3 ornaments, 10% off 5 ornaments, 20% off 10 ornaments.","status":"ACTIVE","customerIncludeTags":null,"discountType":"TIERED_DISCOUNT","discountValue":null,"products":"null","variants":"[{\"productId\":7635898138729,\"variantId\":42663810662505,\"name\":\"Black Madonna Ceramic Christmas Ornament \",\"productHandle\":\"black-madonna-christmas-ceramic-ornament-spiritual-home-decor-unique-gift-for-religious-celebrations-christmas-tree-decor-artistic-wall\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/5976603392248082293_2048.jpg?v=1762413463\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Black Madonna Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635896795241,\"variantId\":42663806435433,\"name\":\"Flame of Love Ceramic Christmas Ornament \",\"productHandle\":\"flame-of-love-christmas-ceramic-ornament-religious-holiday-decoration-gift-for-christmas-home-decor-spiritual-keepsake\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/15339998049075275831_2048.jpg?v=1762413319\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Flame of Love Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635891978345,\"variantId\":42663797325929,\"name\":\"Golden Virgin Mary Ceramic Christmas Ornament \",\"productHandle\":\"golden-virgin-mary-christmas-ornament-ceramic-hanging-decoration-religious-holiday-decor-vintage-religious-keepsake-spiritual-gift\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/12069075223071385088_2048.jpg?v=1762411767\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Golden Virgin Mary Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635895713897,\"variantId\":42663803781225,\"name\":\"Guardian Angel Ceramic Christmas Ornament \",\"productHandle\":\"angel-christmas-ornament-1pc\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/1164928960185910107_2048.jpg?v=1762412988\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Guardian Angel Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635890602089,\"variantId\":42663795294313,\"name\":\"Holy Family Ceramic Christmas Ornament \",\"productHandle\":\"holy-family-christmas-ornament\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/12654986415703428600_2048.jpg?v=1762411452\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Holy Family Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635896500329,\"variantId\":42663805616233,\"name\":\"Holy Family Christmas Ornament Ceramic \",\"productHandle\":\"holy-family-christmas-ceramic-ornament-holiday-decoration-religious-gift-home-decor-nativity-art-keepsake-christmas-ornament\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/2221248275129538249_2048.jpg?v=1762413099\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Holy Family Christmas Ornament Ceramic\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635901120617,\"variantId\":42663817216105,\"name\":\"Holy Grandparents Ceramic Christmas Ornament \",\"productHandle\":\"holy-grandparents-christmas-ceramic-ornament-religious-decoration-christmas-tree-ornament-family-keepsake-spiritual-gift-celebration-decor\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/14873529652388578371_2048.jpg?v=1762413969\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Holy Grandparents Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635888865385,\"variantId\":42663793164393,\"name\":\"Immaculate Heart of Mary Ceramic Christmas Ornament \",\"productHandle\":\"immaculate-heart-of-mary-ceramic-decoration-ornament-with-golden-glitter-frame-religious-wall-decor-christmas-tree-ornament-blessed-virgin-mary-decor\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/5795858158612453843_2048.jpg?v=1762411186\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Immaculate Heart of Mary Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635886538857,\"variantId\":42663791788137,\"name\":\"Infant of Prague Ceramic Christmas Ornament \",\"productHandle\":\"infant-of-prague-elegant-ceramic-christmas-ornament-vintage-decor-festive-decoration-christmas-tree-accessory-gift-for-family-friends\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/15512988306488969236_2048.jpg?v=1762411198\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Infant of Prague Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635894534249,\"variantId\":42663802077289,\"name\":\"Jesus Christ Ceramic Christmas Ornament \",\"productHandle\":\"jesus-christ-ceramic-ornament-religious-christmas-decoration-spiritual-gift-holiday-decor-faith-based-keepsake\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/4397826065661414838_2048.jpg?v=1762412564\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Jesus Christ Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635891322985,\"variantId\":42663796310121,\"name\":\"Madonna & Child Ceramic Christmas Ornament \",\"productHandle\":\"madonna-child-christmas-ornament-mary-and-child-decoration-holiday-gift-religious-decor-home-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/14753345613664562123_2048.jpg?v=1762411636\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Madonna & Child Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635892011113,\"variantId\":42663797391465,\"name\":\"Madonna and Child Ceramic Christmas Ornament \",\"productHandle\":\"madonna-and-child-christmas-religious-ornament-with-gold-glitter-christmas-tree-decoration-holiday-gift-religious-keepsake-home-decor-blessed-virgin-mary\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/14535927075065285088_2048.jpg?v=1762411861\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Madonna and Child Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635895418985,\"variantId\":42663803322473,\"name\":\"Mater Admirabilis Ceramic Christmas Ornament \",\"productHandle\":\"mater-admirabilis-christmas-ceramic-ornament-vintage-religious-design-rustic-home-decor-christmas-gift-unique-tree-decoration-handcrafted-keepsake\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/13209259103655690293_2048.jpg?v=1762412802\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Mater Admirabilis Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635891880041,\"variantId\":42663797194857,\"name\":\"Our Lady of Fatima Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-fatima-christmas-ornament-home-decor-religious-gift-holiday-decoration-vintage-style-spiritual-keepsake\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/6962759368962470521_2048.jpg?v=1762411718\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Fatima Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635893616745,\"variantId\":42663800733801,\"name\":\"Our Lady of Fatima Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-fatima-ceramic-religious-ornament-blessed-mother-decoration-spiritual-gift-holiday-decor-faith-based-keepsake-christmas-ornament-home\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/10478160890396654729_2048.jpg?v=1762412312\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Fatima Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635893878889,\"variantId\":42663801094249,\"name\":\"Our Lady of Fatima Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-fatima-ceramic-ornament-spiritual-gift-home-decor-christmas-tree-decoration-religious-keepsake-holiday-ornament\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/4983893816996530255_2048.jpg?v=1762412388\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Fatima Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635892109417,\"variantId\":42663797686377,\"name\":\"Our Lady of Good Council Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-good-council-religious-ceramic-ornament-decorative-faith-decor-blessed-mother-and-child-christmas-tree-hanging-spiritual-gift-for-all-occasions\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/1145671354876848814_2048.jpg?v=1762411970\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Good Council Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635889881193,\"variantId\":42663794540649,\"name\":\"Our Lady of Good Success Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-good-success-christmas-ornament-mother-and-child-decor-holiday-decoration-religious-gift-tree-ornament-home-decor-celebration-keepsake\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/17713376019176567185_2048.jpg?v=1762411342\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Good Success Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635894304873,\"variantId\":42663801520233,\"name\":\"Our lady of Guadalupe Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-guadalupe-ceramic-ornament-with-religious-design-holiday-decor-christmas-gift-handmade-heirloom-spiritual-home-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/9784434976562763298_2048.jpg?v=1762412503\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our lady of Guadalupe Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635895582825,\"variantId\":42663803584617,\"name\":\"Our Lady of La Vang Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-la-vang-christmas-ornament-with-religious-design-spiritual-home-decor-christmas-tree-decoration-gift-for-believers-religious-holidays\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/5103153261536574555_2048.jpg?v=1762412898\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of La Vang Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7641537183849,\"variantId\":42684162474089,\"name\":\"Our Lady of Lourdes and the Baby Jesus — Decorative Christmas Keepsake Ornament - Round / One size\",\"productHandle\":\"our-lady-of-lourdes-and-the-baby-jesus-decorative-christmas-keepsake-ornament\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/8851782286304873454_2048.jpg?v=1763146422\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Lourdes and the Baby Jesus — Decorative Christmas Keepsake Ornament\",\"variantTitle\":\"Round / One size\",\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635892666473,\"variantId\":42663798603881,\"name\":\"Our lady of Lourdes Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-lourdes-christmas-ornament-immaculate-conception-decoration-religious-decor-christmas-ornament-unique-gift-idea-faith-based-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/9956740982728809749_2048.jpg?v=1762412159\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our lady of Lourdes Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635898433641,\"variantId\":42663811776617,\"name\":\"Our Lady of Mt. Carmel Ceramic Christmas Ornament - Round / One size\",\"productHandle\":\"our-lady-of-mt-carmel-christmas-ceramic-decoration-ornament-1pc\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/1157373792212416149_2048.jpg?v=1763141390\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Mt. Carmel Ceramic Christmas Ornament\",\"variantTitle\":\"Round / One size\",\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635889750121,\"variantId\":42663794376809,\"name\":\"Our Lady of Palestine Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-palestine-christmas-ornament-holiday-decor-christening-gift-home-decoration-vintage-style-religious-ornament\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/2845977390982159289_2048.jpg?v=1762411230\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Palestine Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635905118313,\"variantId\":42663831208041,\"name\":\"Our Lady of Philerme Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-philerme-christmas-ornament-vintage-style-decor-home-decor-holiday-gift-unique-wall-hanging-religious-art-spiritual-gift\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/3439564163088691708_2048.jpg?v=1762415252\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Philerme Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635891126377,\"variantId\":42663796080745,\"name\":\"Our Lady of Pompeii Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-pompeii-christmas-ornament-christmas-decoration-religious-gift-holiday-decor-spiritual-home-accent\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/17870095299959154448_2048.jpg?v=1762411537\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Pompeii Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635898335337,\"variantId\":42663811645545,\"name\":\"Our Lady of Sorrows Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-sorrows-christmas-ceramic-decoration-ornament-1pc\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/4415606976274856521_2048.jpg?v=1762413615\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Sorrows Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635900792937,\"variantId\":42663816462441,\"name\":\"Our Lady Star of the Sea Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-star-of-the-sea-christmas-ceramic-decoration-ornament-1pc\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/2627168215939973859_2048.jpg?v=1762413848\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady Star of the Sea Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635896696937,\"variantId\":42663805911145,\"name\":\"Our Lady Undoer of Knots Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-undoer-of-knots-christmas-ceramic-ornament-inspirational-holiday-decor-gift-for-christmas-spiritual-celebration-home-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/17600717683898521868_2048.jpg?v=1762413214\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady Undoer of Knots Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635892502633,\"variantId\":42663798145129,\"name\":\"St. Joseph and the Baby Jesus Ceramic Christmas Ornament \",\"productHandle\":\"st-joseph-and-the-baby-jesus-christmas-ornament-religious-gift-family-decor-christmas-decoration-baptism-keepsake-unique-tree-ornament\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/6766057056537794429_2048.jpg?v=1762412049\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"St. Joseph and the Baby Jesus Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635892797545,\"variantId\":42663798898793,\"name\":\"The Coronation of Mary Ceramic Christmas Ornament \",\"productHandle\":\"the-cornation-of-mary-ceramic-christmas-ornament-religious-decor-christmas-tree-decoration-gift-for-christians-vintage-style-ornament-spiritual-gift\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/17240429016517245738_2048.jpg?v=1762412220\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"The Coronation of Mary Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635894829161,\"variantId\":42663802470505,\"name\":\"Wedding of Joseph & Mary Ceramic Christmas Ornament \",\"productHandle\":\"wedding-of-joseph-mary-christmasceramic-ornament-christmas-decorations-holiday-gifts-home-decor-faith-based-gifts-spiritual-hanging-decor\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/1191080996309396645_2048.jpg?v=1762412674\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Wedding of Joseph & Mary Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null}]","sequenceNo":null,"bundleType":"CLASSIC_BUILD_A_BOX","settings":"{\"excludeSubscriptionPlans\":\"\",\"sequentialProductsPerBatch\":50,\"enableAnnouncementBar\":false,\"enableSequentialProductLoading\":false,\"productFilterConfig\":\"{\\\"enabled\\\":false,\\\"filters\\\":[]}\",\"disableProductDescription\":false,\"includedSubscriptionPlans\":\"\"}","bundleProductId":null,"bundleVariantId":null,"productHandle":null,"discountId":null,"price":null,"numberOfProducts":0,"subscriptionBundlingEnabled":false,"subscriptionId":null,"minProductCount":3,"maxProductCount":null,"uniqueRef":"v1whgedy5e","bundleRedirect":"CART","customRedirectURL":null,"minOrderAmount":null,"tieredDiscount":"[{\"discountBasedOn\":\"QUANTITY\",\"value\":3,\"discount\":5,\"discountType\":\"PERCENTAGE\",\"discountAllowedTags\":null},{\"discountBasedOn\":\"QUANTITY\",\"value\":5,\"discount\":10,\"discountType\":\"PERCENTAGE\",\"discountAllowedTags\":null},{\"discountBasedOn\":\"QUANTITY\",\"value\":10,\"discount\":20,\"discountType\":\"PERCENTAGE\",\"discountAllowedTags\":null}]","productViewStyle":"QUICK_ADD","singleProductSettings":"null","trackInventory":false,"sellingPlanType":"BUNDLE_LEVEL","clearCart":"DISABLED","minPrice":null,"maxPrice":null,"externalBuildABoxId":null,"variantVisibilityType":"SHOW_VARIANTS_AS_INDIVIDUAL","subTitle":"","freeShipping":false,"themeType":"THEME_TWO","showBundleInProductPage":true,"combinedWithProductDiscount":false,"combinedWithShippingDiscount":true,"combinedWithOrderDiscount":false,"allowedTags":null,"restrictTags":null,"selectionType":"FLEXIBLE","bundleHtml":"null","discountedVariants":"null","allowedCountries":null,"appliesOn":"BOTH","purchaseRequirement":"NO_REQUIREMENT","productDiscountType":"EACH_PRODUCT","countrySelectionType":"ALL_COUNTRY","discountApplyApproach":"SHOPIFY_DISCOUNT_FUNCTION","discountedProductChooseType":"CHOOSE_ALL","internalName":"Christmas ornaments 2025","sections":"[{\"id\":1,\"name\":\"\",\"description\":\"\",\"minProductCount\":0,\"maxProductCount\":0,\"variants\":[]}]","limitToUsePerCustomer":0,"discountedVariantSelectionLimit":null,"hideOneTimePurchase":false,"hideSubscriptionPurchase":false,"maxOrderAmount":null,"collectionData":null,"productSelectionType":"PRODUCT","tag":"appstle_bundles","productChooseType":"CHOOSE_ALL","variantSelectionLimit":null,"discountTargetType":"VARIANT","enableSubscription":false,"subscriptionWidgetPosition":"BELOW","subscribeTitle":"Subscribe and Save","subscribeSubtitle":"Delivered Monthly","subscriptionPreselected":false,"getYAppliesOn":"BOTH","announcementBarMessage":null,"automaticDiscountNodeId":"gid://shopify/DiscountAutomaticNode/1805314588777","recurringCycleLimit":0,"automaticShippingDiscountNodeId":null,"scheduledBundleRule":false,"bundleActiveFrom":null,"bundleActiveTo":null,"bundleSubType":null,"discountAppliesOn":null,"layoutType":null,"style":"{}","labels":"{}","upsells":null,"enableVolumeDiscountUpsell":false,"combos":null,"progressiveGift":null,"enableProgressiveGifts":false,"discountName":null,"shippingDiscountType":null},{"id":30673,"shop":"sacredimageicons.myshopify.com","name":"Golden Marian Ornaments Pack","description":"Get 10% off with select ornaments packs.","status":"ACTIVE","customerIncludeTags":null,"discountType":"NO_DISCOUNT","discountValue":null,"products":"[{\"productId\":7635896696937,\"variantId\":null,\"price\":null,\"name\":\"Our Lady Undoer of Knots Ceramic Christmas Ornament\",\"productHandle\":\"our-lady-undoer-of-knots-christmas-ceramic-ornament-inspirational-holiday-decor-gift-for-christmas-spiritual-celebration-home-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/17600717683898521868_2048.jpg?v=1762413214\",\"quantity\":1,\"status\":\"ACTIVE\",\"options\":[]},{\"productId\":7635894304873,\"variantId\":null,\"price\":null,\"name\":\"Our lady of Guadalupe Ceramic Christmas Ornament\",\"productHandle\":\"our-lady-of-guadalupe-ceramic-ornament-with-religious-design-holiday-decor-christmas-gift-handmade-heirloom-spiritual-home-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/9784434976562763298_2048.jpg?v=1762412503\",\"quantity\":1,\"status\":\"ACTIVE\",\"options\":[]},{\"productId\":7635891978345,\"variantId\":null,\"price\":null,\"name\":\"Golden Virgin Mary Ceramic Christmas Ornament\",\"productHandle\":\"golden-virgin-mary-christmas-ornament-ceramic-hanging-decoration-religious-holiday-decor-vintage-religious-keepsake-spiritual-gift\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/12069075223071385088_2048.jpg?v=1762411767\",\"quantity\":1,\"status\":\"ACTIVE\",\"options\":[]},{\"productId\":7635892666473,\"variantId\":null,\"price\":null,\"name\":\"Our lady of Lourdes Ceramic Christmas Ornament\",\"productHandle\":\"our-lady-of-lourdes-christmas-ornament-immaculate-conception-decoration-religious-decor-christmas-ornament-unique-gift-idea-faith-based-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/9956740982728809749_2048.jpg?v=1762412159\",\"quantity\":1,\"status\":\"ACTIVE\",\"options\":[]},{\"productId\":7635891880041,\"variantId\":null,\"price\":null,\"name\":\"Our Lady of Fatima Ceramic Christmas Ornament\",\"productHandle\":\"our-lady-of-fatima-christmas-ornament-home-decor-religious-gift-holiday-decoration-vintage-style-spiritual-keepsake\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/6962759368962470521_2048.jpg?v=1762411718\",\"quantity\":1,\"status\":\"ACTIVE\",\"options\":[]}]","variants":"[]","sequenceNo":null,"bundleType":"CLASSIC","settings":"{\"sequentialProductsPerBatch\":50,\"enableAnnouncementBar\":true,\"enableSequentialProductLoading\":false}","bundleProductId":7640166432873,"bundleVariantId":null,"productHandle":"golden-marian-ornaments-pack","discountId":null,"price":null,"numberOfProducts":0,"subscriptionBundlingEnabled":false,"subscriptionId":null,"minProductCount":null,"maxProductCount":null,"uniqueRef":"tr3y8pdm3b","bundleRedirect":"CART","customRedirectURL":null,"minOrderAmount":null,"tieredDiscount":null,"productViewStyle":"QUICK_ADD","singleProductSettings":"null","trackInventory":false,"sellingPlanType":"BUNDLE_LEVEL","clearCart":"ENABLED","minPrice":42.5,"maxPrice":42.5,"externalBuildABoxId":null,"variantVisibilityType":"SHOW_VARIANTS_AS_INDIVIDUAL","subTitle":null,"freeShipping":false,"themeType":"THEME_TWO","showBundleInProductPage":true,"combinedWithProductDiscount":true,"combinedWithShippingDiscount":true,"combinedWithOrderDiscount":true,"allowedTags":null,"restrictTags":null,"selectionType":"FLEXIBLE","bundleHtml":"null","discountedVariants":"null","allowedCountries":null,"appliesOn":"BOTH","purchaseRequirement":"NO_REQUIREMENT","productDiscountType":"EACH_PRODUCT","countrySelectionType":"ALL_COUNTRY","discountApplyApproach":"SHOPIFY_DISCOUNT_FUNCTION","discountedProductChooseType":"CHOOSE_ALL","internalName":"Golden Marian Ornaments Pack","sections":"[{\"id\":1,\"name\":\"\",\"description\":\"\",\"minProductCount\":0,\"maxProductCount\":0,\"variants\":[]}]","limitToUsePerCustomer":null,"discountedVariantSelectionLimit":null,"hideOneTimePurchase":false,"hideSubscriptionPurchase":false,"maxOrderAmount":null,"collectionData":null,"productSelectionType":"PRODUCT","tag":"appstle_bundles","productChooseType":"CHOOSE_ALL","variantSelectionLimit":null,"discountTargetType":"VARIANT","enableSubscription":false,"subscriptionWidgetPosition":"BELOW","subscribeTitle":"Subscribe and Save","subscribeSubtitle":"Delivered Monthly","subscriptionPreselected":false,"getYAppliesOn":"BOTH","announcementBarMessage":null,"automaticDiscountNodeId":null,"recurringCycleLimit":0,"automaticShippingDiscountNodeId":null,"scheduledBundleRule":false,"bundleActiveFrom":null,"bundleActiveTo":null,"bundleSubType":null,"discountAppliesOn":null,"layoutType":null,"style":"{\"productCardBackgroundColor\":\"#ffffff\",\"disabledTextColor\":\"#6B7280\",\"buttonBackgroundColor\":\"#000000\",\"bundlePageBackgroundColor\":\"#FAFAF9\",\"headingTextColor\":\"#000000\",\"primaryHoverColor\":\"#000000\",\"primaryTextColor\":\"#000000\",\"primaryColor\":\"#000000\",\"primaryDisabledColor\":\"#333333\",\"primaryDisabledTextColor\":\"#ffffff\",\"secondaryTextColor\":\"#ffffff\",\"fieldDisabledBackgroundColor\":\"#D1D5DB\"}","labels":"{}","upsells":null,"enableVolumeDiscountUpsell":false,"combos":null,"progressiveGift":null,"enableProgressiveGifts":false,"discountName":null,"shippingDiscountType":null}]; const bundleSettings = {"id":14447,"shop":"sacredimageicons.myshopify.com","showOnProductPage":null,"selector":null,"placement":"AFTER","customCss":".ab-bundle-products {\n overflow: scroll;\n max-height: 380px; \n}\n.ab-bundle-product-title-link {\n font-family: 'Tenor Sans';\n font-size: .9em !important;\n text-decoration-line: none !important;\n}\n.ab-bundle-product-card {\n min-width: 150px !important;\n}\n.ab-dynamic-bundle-product-description span, .ab-dynamic-bundle-product-description button {\n display: none;\n}\n.ab-bundle-required-product-validation-message {\n margin-bottom: 0px !important;\n}\n.ab-bundle-selected-product-wrapper {\n border-color: rgb(229 231 235) !important;\n border-width: 1px !important;\n border-radius: 8px !important;\n box-shadow: unset !important;\n}\n.ab-bundle-selected-product-info {\n font-family: 'Tenor Sans';\n font-size: .9em !important;\n}\n.ab-bundle-products-container div.ab-mx-auto {\n height: 0;\n display: none !important;\n}\n.ab-bundle-checkout-discount-container {\n background: unset !important;\n}\n.ab-bundle-checkout-discount-details {\n background-color: #fff !important;\n}\n.ab-bundle-selected-product-wrapper {\n min-width: 150px !important;\n}","customizeBundleOptionType":"RADIO","buyButtonSelector":null,"labels":"{\"productDiscountCombinedWithOrderDiscount\":true,\"bundleListViewDetailsButtonLabel\":\"View Details\",\"topBarFixedDiscountTitlePostfix\":\"{{currency}}{{discount}} off on shipping\",\"requiredLoginValidationLabel\":\"Please log in to purchase this bundle!\",\"volumeDiscountTypeLabel\":\"Volume Discount\",\"loginAlertLinkLabel\":\"Click here to login\",\"includedSubscriptionPlans\":\"\",\"breadCrumbProductsLabel\":\"Choose Products\",\"enableClassicBundleRecreation\":false,\"emptyProductImage\":\"https://cdn.shopify.com/s/files/1/0661/9224/4900/files/EmptyImage.jpg?v=1718447038\",\"enableAnnouncementBarAutoRotate\":true,\"reviewOrderInfoLabel\":\"\",\"productDiscountCombinedWithProductDiscount\":true,\"bundleMaximumQuantityLabel\":\"Add maximum up to {{maximum_quantity}} product\",\"buyXGetYDiscountCodeText\":\"BUY_X_GET_Y_{{bundle_id}}\",\"productAddToBundleLabel\":\"Add\",\"breadCrumbReviewBundleLabel\":\"Review Bundle\",\"enableScrollingToBundleSection\":false,\"orderNoteLabel\":\"Order Note\",\"showProductPerPage\":50,\"requiresSubscriptionMessage\":\"Requires subscription\",\"dynamicBundleDiscountCombinedWithShippingDiscount\":true,\"hidePurchaseOptionSelectLabel\":false,\"showPriceAsDecimals\":false,\"tieredDiscountQuantityLabel\":\"Buy {{quantity}}, Get {{discount_amount}}{{discount_type}} OFF\",\"fixedDiscountText\":\"Enjoy a fixed discount of {{currency}}{{discount_value}} on your purchase!\",\"sectionTotalLabel\":\"Section Total\",\"fieldDisabledBackgroundColor\":\"#D1D5DB\",\"enableShippingDiscountBar\":false,\"bundleTotalLabel\":\"Total\",\"disableRefreshSellingPlan\":false,\"checkInventoryQuantity\":false,\"showSubscriptionPlanDescription\":false,\"disableProductDescription\":false,\"fixedPricingBundleTypeLabel\":\"Fixed Pricing Bundle\",\"subscriptionAvailableLabel\":\"Subscription Available\",\"excludeSubscriptionPlans\":\"\",\"readLessText\":\"Read Less\",\"shippingDiscountLabel\":\"{{discount}}{{discount_type}} Shipping Discount\",\"selectedGiftProductProgressLabelText\":\"{{selected_product_quantity}} gift products added. The required quantity is {{required_product_quantity}}.\",\"disableFitImage\":false,\"secondaryTextColor\":\"#ffffff\",\"bundleProductsQuantityLabel\":\"{{quantity}}x quantity\",\"buyXGetYDiscountCombinedWithProductDiscount\":true,\"tieredDiscountLabel\":\"\",\"buyXGetYQuantityValidationLabel\":\"Add {{product_quantity}} quantities of the gift product (Get Y)\",\"primaryTextColor\":\"#000000\",\"modalOpenOnAddToCart\":true,\"notApplicableForSubscribeAndSaveNotificationTitle\":\"Not applicable for subscribe & save\",\"customSignInLink\":\"\",\"volumeDiscountChooseProductLabel\":\"Choose Product\",\"topBarDiscountUnlockTitlePrefix\":\"You've unlocked \",\"loginAlertTextLabel\":\"You need to login to purchase this bundle.\",\"buyXGetYChooseProductLabel\":\"Choose Product\",\"chooseAPlanLabel\":\"Choose Plan\",\"singleParentProductDirectRedirectToChildProducts\":true,\"buyXGetYFixedDiscountText\":\"Enjoy a fixed discount of {{discount_value}} {{currency}}\",\"notAvailableSubscriptionMessage\":\"Not available for subscription\",\"primaryColor\":\"#000000\",\"buyXGetYGiftProductPriceVisibilityType\":\"UNIT_PRICE\",\"volumeDiscountVariantSelectLabel\":\"Denominations\",\"chooseSourceProductValidationLabel\":\"Please choose source product!\",\"headingTextColor\":\"#000000\",\"volumeDiscountSpentAmountRewardsLabel\":\"Spend {{currency}}{{spent_amount}} and get {{discount}}{{discount_type}} discount!\",\"hideBundleToastNotification\":false,\"classicBundleTypeLabel\":\"Classic Bundle\",\"oneTimeAvailableHintLabel\":\"One-time purchase available.\",\"bundleListDescription\":\"Explore our Bundles and Discounted Pricing and enjoy exclusive discounts when you buy products together\",\"getYNoProductSelectedLabel\":\"No gift product selected (Get Y)\",\"prepaidPerDeliveryPriceLabel\":\"{{prepaid_per_delivery_price}}/delivery\",\"hideVariantSelectLabel\":false,\"childProductInfoBannerText\":\"This product is part of a bundle\",\"availableOnlySubscriptionLabel\":\"Available Only On Subscription\",\"enableParentProductDetailButton\":false,\"bundleListTitle\":\"List of Bundles and Discounted Pricing\",\"chooseAssociatedProductsValidationLabel\":\"Please choose associated products!\",\"selectedSourceProductLabel\":\"Selected\",\"enableBuyXGetYWidgetMergeAsOptions\":false,\"volumeDiscountNextApplicableSpentAmountRewardsLabel\":\"Spend {{spent_amount}}{{currency}} get {{discount}}{{discount_type}}\",\"sectionNoProductSelectedValidationLabel\":\"No product selected for: {{section_name}}!\",\"bundlePageBackgroundColor\":\"#FAFAF9\",\"showVendorName\":false,\"buyXQuantityValidationLabel\":\"Add {{product_quantity}} quantities of the product (Bux X)\",\"sectionMaximumQuantityValidationLabel\":\"Maximum quantity not selected for: {{section_name}}!\",\"enableMaxDiscountCap\":false,\"enableVolumeDiscountBar\":false,\"volumeAmountDiscountSaveRewardsLabel\":\"Save {{currency}}{{discount}}!\",\"sectionLabel\":\"Section\",\"disabledTextColor\":\"#6B7280\",\"tieredDiscountAmountLabel\":\"Spend {{spent_amount}}, Get {{discount_amount}}{{discount_type}} OFF\",\"primaryHoverColor\":\"#000000\",\"shippingDiscountCombinedWithOrderDiscount\":true,\"defaultDiscountBarMessage\":\"Welcome to our store\",\"enableBundleProductFilter\":false,\"buyXGetYDiscountCombinedWithOrderDiscount\":true,\"bundleSubtotalLabel\":\"Subtotal\",\"reviewOrderDescription\":\"Check your items and select your required frequency plan\",\"dynamicBundleDiscountCombinedWithOrderDiscount\":true,\"volumeDiscountSaveRewardsLabel\":\"Save {{discount}}{{discount_type}}!\",\"addingProductsToBundle\":\"Adding products to bundle\",\"buyXGetYMergedWidgetTitle\":\"Select Buy X Get Y Discount\",\"bundleModalHeaderLabel\":\"Your Bundle({{total_quantity}})\",\"productAddedToBundleNotificationDescription\":\"{{product_title}} added to bundle.\",\"productDiscountTypeLabel\":\"Product Discount\",\"bundleSearchBarPlaceholder\":\"Search product by name or title\",\"bundleTopHtml\":\"\",\"proceedToCheckoutButtonText\":\"\",\"defaultSelectedPurchaseOption\":\"ONE_TIME\",\"showDraftProduct\":false,\"switchSubscriptionLabel\":\"Subscribe & Save\",\"percentDiscountText\":\"Get {{discount_value}}% off on your purchase!\",\"discountUsageLimitExceedLabel\":\"You have exceeded the bundle usage limit\",\"reviewOrderLabel\":\"Review Bundle\",\"chooseSectionProductsLabel\":\"Choose Section Products\",\"primaryDisabledColor\":\"#333333\",\"bundleMinimumOrderAmountLabel\":\"Add minimum {{minimum_amount}} order amount\",\"breadCrumbSelectSectionLabel\":\"Select Section\",\"loadMoreButtonLabel\":\"Load More\",\"addedBundleToTheCart\":\"Added bundle to the cart\",\"bundleQuantityRewardsLabel\":\"Add {{quantity}} items, get a {{discount}}{{discount_type}} discount\",\"shippingDiscountCombinedWithProductDiscount\":true,\"sellingPlanNameSortOrder\":\"ASC\",\"switchOnTimeLabel\":\"One Time\",\"volumeDiscountCombinedWithProductDiscount\":true,\"chooseProductsText\":\"Products\",\"productDetailsViewType\":\"SHOW_PRODUCT_POPUP\",\"enableManualBundleBlockIntegration\":false,\"volumeDiscountNextApplicableQuantityRewardsLabel\":\"Buy {{quantity}} get {{discount}}{{discount_type}}\",\"bundleCheckoutLabel\":\"Checkout\",\"productDiscountCombinedWithShippingDiscount\":true,\"skipSelectSectionPage\":false,\"productCardBackgroundColor\":\"#ffffff\",\"buyXGetYFreeLabel\":\"Free\",\"buttonBackgroundColor\":\"#000000\",\"dockbarHeadingLabel\":\"Bundle\",\"discountMessageInterval\":3000,\"sectionedBundleTypeLabel\":\"Sectioned Bundle\",\"buyXGetYAddToCartLabel\":\"Add to cart\",\"volumeDiscountChooseButtonLabel\":\"Choose\",\"buyXGetYDiscountCombinedWithShippingDiscount\":true,\"switchPurchaseModeLabel\":\"Switch\",\"dynamicBundleDiscountCodeText\":\"BUNDLE_DISCOUNT_{{bundle_id}}\",\"selectedProgressLabelText\":\"{{total_bundle_items}} item added with a minimum quantity of {{minimum_quantity}}\",\"requiredBundleProductLabel\":\"Your bundle needs {{min_product_count}} more item(s).\",\"sellingPlanSelectionDropDownLabel\":\"Purchase Options\",\"buyXGetYPercentDiscountText\":\"Enjoy a percentage discount of {{discount_value}}%\",\"dockbarDescriptionLabel\":\"You're getting the most rewards!\",\"preventClickableProductsOnCart\":false,\"showPrepaidPerDeliveryPrice\":true,\"enableProductDetailButton\":false,\"buyXGetYDiscountTypeLabel\":\"Buy X Get Y Discount\",\"customOfferLink\":\"collections/all\",\"noItemsInBundle\":\"No items added to the bundle\",\"topBarPercentDiscountTitlePostfix\":\"{{discount}}% off on shipping\",\"hideProductPurchaseModeAwarenessHint\":false,\"variantSelectionDropDownLabel\":\"Variants\",\"chooseSectionLabel\":\"Choose Section\",\"dynamicPricingBundleTypeLabel\":\"Dynamic Pricing Bundle\",\"breadCrumbPlanLabel\":\"Select Plan\",\"showDynamicBundleOrderNote\":false,\"showOutOfStockProduct\":true,\"disabledSellingPlanSelectionValidation\":false,\"disableViewShopifyProduct\":false,\"bundleDiscountLabel\":\"Discount\",\"topBarDiscountRequiredAmountTitlePrefix\":\"Add {{currency}}{{remainingAmount}} more to unlock \",\"volumeDiscountAppliedQuantityRewardsLabel\":\"Applied: buy {{quantity}} get {{discount}}{{discount_type}}\",\"bundleNotEligibleLabel\":\"You're not eligible to purchase this bundle!\",\"reviewOrderProductsLabel\":\"Bundle Products\",\"outOfStockLabel\":\"Out Of Stock\",\"showUnitPrice\":false,\"buyXGetYFreeGiftDiscountText\":\"Enjoy the free product\",\"showDescriptionPopup\":true,\"maxDiscountCapValue\":0,\"readMoreText\":\"Read More\",\"totalBundleProductsAddedLabel\":\"{{total_bundle_items}} Products Added\",\"bundleMinimumQuantityLabel\":\"Add minimum {{minimum_quantity}} product\",\"noSourceProductSelectedLabel\":\"No source product selected.\",\"nonListedProductText\":\"Non-Listed\",\"buyXNoProductSelectedLabel\":\"No product selected (Buy X)\",\"volumeDiscountQuantityRewardsLabel\":\"Buy {{quantity}} quantity and get {{discount}}{{discount_type}} discount!\",\"freeShippingLabel\":\"Free Shipping\",\"previousButtonLabel\":\"Previous Step\",\"draftBundlePageTitle\":\"Oops! This bundle is temporarily unavailable.\",\"productDetailsMaximumDescriptionCount\":300,\"oneTimeOnlyLabel\":\"One time only\",\"buyXAnyNumberOfProductChooseLabel\":\"Choose any number of products\",\"productFilterConfig\":\"{\\\"enabled\\\":false,\\\"filters\\\":[]}\",\"volumeAmountDiscountQuantityRewardsLabel\":\"Buy {{quantity}} quantity and get {{currency}}{{discount}} discount!\",\"disableDiscountedPricingRedirectToCart\":false,\"volumeDiscountCombinedWithOrderDiscount\":true,\"choosePlanButtonLabel\":\"Choose Plan\",\"enableAnnouncementBar\":false,\"bundleQuantityLabel\":\"{{quantity}}x\",\"showClassicBundleWidgetInChildProduct\":false,\"classicBundleLinkLabel\":\"View Complete Bundle\",\"topBarDiscountRequiredQuantityTitlePrefix\":\"Add {{remainingQuantity}} more item(s) to unlock \",\"bundleDetailsLabel\":\"Your bundle:\",\"volumeDiscountAppliedSpentAmountRewardsLabel\":\"Applied: spend {{spent_amount}}{{currency}} get {{discount}}{{discount_type}}\",\"enableAutoRemoveRelevantBundleItemInCart\":false,\"bundleModalShowRewardsLabel\":\"Show all rewards\",\"topBarFreeShippingTitlePostfix\":\"free shipping\",\"cartAndCheckoutMandatoryProductValidationMessage\":\"This bundle or discount must include all required products and they cannot be removed.\",\"volumeAmountDiscountSpentAmountRewardsLabel\":\"Spend {{currency}}{{spent_amount}} and get {{currency}}{{discount}} discount!\",\"notApplicableForOneTimeNotificationTitle\":\"Not applicable for one time\",\"showDiscountToNonEligibleCustomers\":false,\"primaryDisabledTextColor\":\"#ffffff\",\"draftBundlePageSubTitle\":\"In the meantime, check out our latest offers and discounts!\",\"volumeDiscountCombinedWithShippingDiscount\":true,\"bundleSpentAmountRewardsLabel\":\"Spent {{spent_amount}}, get a {{discount}}{{discount_type}} discount\",\"nextButtonLabel\":\"Next Step\",\"classicBundleDescriptionLabel\":\"Your bundle contains the following products.\",\"bundleBottomHtml\":\"\",\"sectionMinimumQuantityValidationLabel\":\"Minimum quantity not selected for: {{section_name}}!\",\"dynamicBundleDiscountCombinedWithProductDiscount\":true,\"buyXGetYAnyNumberOfGiftProductLabel\":\"Choose any number of gift products\",\"subscriptionAvailableHintLabel\":\"Subscribe & save available.\",\"descriptionLength\":200,\"bundleDiscountNote\":\"Discounts will be applied at checkout.\",\"bundleModalCloseRewardsLabel\":\"Close all rewards\",\"dockbarCurrentRewardLabel\":\"You got {{discount_amount}}{{discount_type}} discount\",\"productDetailsAddToBundleLabel\":\"Add to bundle\",\"cartAndCheckoutQuantityValidationMessage\":\"Orders must match the quantity range: Min {{min_quantity}}, Max {{max_quantity}}\",\"bundleNoProductSelectedLabel\":\"No product selected\",\"hideIncompatibleProductMessage\":false,\"checkoutInfoLabel\":\"Add products from each section to enable the add to cart button.\",\"enableShowMultipleImages\":false,\"redirectToCartPageOnCartIconClick\":true,\"freeShippingDiscountCodeText\":\"FREE_SHIPPING_{{bundle_id}}\",\"customOfferLinkButtonLabel\":\"Explore Offers\",\"oneTimePurchaseLabel\":\"One Time Purchase\",\"bundleMaximumOrderAmountLabel\":\"Add maximum {{maximum_amount}} order amount\",\"enableBundleProductAscOrderView\":true,\"productAddedToBundleNotificationTitle\":\"Added to bundle\",\"customHtmlInject\":\"[]\",\"showMainToggleForProductLevel\":false,\"sectionedBundleDiscountCodeText\":\"SECTIONED_DISCOUNT_{{bundle_id}}\",\"breadCrumbReviewSectionLabel\":\"Review Section\",\"enableBundleRecreation\":false}","bundleTopHtml":"","bundleBottomHtml":"","proceedToCheckoutButtonText":"","chooseProductsText":"Products","productAddToBundleLabel":"Add","productDetailsAddToBundleLabel":"Add to bundle","productDetailsMaximumDescriptionCount":300,"variantSelectionDropDownLabel":"Variants","sellingPlanSelectionDropDownLabel":"Purchase Options","bundleModalHeaderLabel":"Your Bundle({{total_quantity}})","bundleModalShowRewardsLabel":"Show all rewards","bundleModalCloseRewardsLabel":"Close all rewards","bundleQuantityRewardsLabel":"Add {{quantity}} items, get a {{discount}}{{discount_type}} discount","bundleSpentAmountRewardsLabel":"Spent {{spent_amount}}, get a {{discount}}{{discount_type}} discount","bundleQuantityLabel":"{{quantity}}x","bundleSubtotalLabel":"Subtotal","bundleDiscountLabel":"Discount","bundleTotalLabel":"Total","bundleCheckoutLabel":"Checkout","bundleMinimumQuantityLabel":"Add minimum {{minimum_quantity}} product","bundleMaximumQuantityLabel":"Add maximum up to {{maximum_quantity}} product","bundleMinimumOrderAmountLabel":"Add minimum {{minimum_amount}} order amount","oneTimePurchaseLabel":"One Time Purchase","noItemsInBundle":"No items added to the bundle","modalOpenOnAddToCart":true,"productAddedToBundleNotificationTitle":"Added to bundle","productAddedToBundleNotificationDescription":"{{product_title}} added to bundle.","chooseAPlanLabel":"Choose Plan","nextButtonLabel":"Next Step","previousButtonLabel":"Previous Step","chooseSourceProductValidationLabel":"Please choose source product!","chooseAssociatedProductsValidationLabel":"Please choose associated products!","choosePlanButtonLabel":"Choose Plan","selectedSourceProductLabel":"Selected","noSourceProductSelectedLabel":"No source product selected.","reviewOrderLabel":"Review Bundle","reviewOrderDescription":"Check your items and select your required frequency plan","reviewOrderProductsLabel":"Bundle Products","reviewOrderInfoLabel":"","orderNoteLabel":"Order Note","selectedProgressLabelText":"{{total_bundle_items}} item added with a minimum quantity of {{minimum_quantity}}","availableOnlySubscriptionLabel":"Available Only On Subscription","subscriptionAvailableLabel":"Subscription Available","oneTimeOnlyLabel":"One time only","switchOnTimeLabel":"One Time","switchSubscriptionLabel":"Subscribe & Save","breadCrumbPlanLabel":"Select Plan","breadCrumbProductsLabel":"Choose Products","breadCrumbReviewBundleLabel":"Review Bundle","showDescriptionPopup":true,"tieredDiscountQuantityLabel":"Buy {{quantity}}, Get {{discount_amount}}{{discount_type}} OFF","tieredDiscountAmountLabel":"Spend {{spent_amount}}, Get {{discount_amount}}{{discount_type}} OFF","tieredDiscountLabel":"","emptyProductImage":"https://cdn.shopify.com/s/files/1/0661/9224/4900/files/EmptyImage.jpg?v=1718447038","outOfStockLabel":"Out Of Stock","notApplicableForOneTimeNotificationTitle":"Not applicable for one time","notApplicableForSubscribeAndSaveNotificationTitle":"Not applicable for subscribe & save","descriptionLength":200,"readLessText":"Read Less","readMoreText":"Read More","bundleNoProductSelectedLabel":"No product selected","customHtmlInject":"[]","bundleDetailsLabel":"Your bundle:","bundleDiscountNote":"Discounts will be applied at checkout.","fixedDiscountText":"Enjoy a fixed discount of {{currency}}{{discount_value}} on your purchase!","percentDiscountText":"Get {{discount_value}}% off on your purchase!","hideVariantSelectLabel":false,"hidePurchaseOptionSelectLabel":false,"showMainToggleForProductLevel":false,"hideProductPurchaseModeAwarenessHint":false,"hideIncompatibleProductMessage":false,"subscriptionAvailableHintLabel":"Subscribe & save available.","oneTimeAvailableHintLabel":"One-time purchase available.","switchPurchaseModeLabel":"Switch","notAvailableSubscriptionMessage":"Not available for subscription","requiresSubscriptionMessage":"Requires subscription","primaryColor":"#000000","primaryTextColor":"#000000","secondaryTextColor":"#ffffff","primaryHoverColor":"#000000","primaryDisabledColor":"#333333","primaryDisabledTextColor":"#ffffff","fieldDisabledBackgroundColor":"#D1D5DB","disabledTextColor":"#6B7280","volumeDiscountNextApplicableQuantityRewardsLabel":"Buy {{quantity}} get {{discount}}{{discount_type}}","volumeDiscountNextApplicableSpentAmountRewardsLabel":"Spend {{spent_amount}}{{currency}} get {{discount}}{{discount_type}}","addingProductsToBundle":"Adding products to bundle","freeShippingLabel":"Free Shipping","requiredBundleProductLabel":"Your bundle needs {{min_product_count}} more item(s).","enableProductDetailButton":false,"requiredLoginValidationLabel":"Please log in to purchase this bundle!","bundleNotEligibleLabel":"You're not eligible to purchase this bundle!","loginAlertTextLabel":"You need to login to purchase this bundle.","loginAlertLinkLabel":"Click here to login","customSignInLink":"","shippingDiscountLabel":"{{discount}}{{discount_type}} Shipping Discount","classicBundleDescriptionLabel":"Your bundle contains the following products.","singleParentProductDirectRedirectToChildProducts":true,"buyXGetYFixedDiscountText":"Enjoy a fixed discount of {{discount_value}} {{currency}}","buyXGetYPercentDiscountText":"Enjoy a percentage discount of {{discount_value}}%","buyXGetYFreeGiftDiscountText":"Enjoy the free product","buyXGetYAddToCartLabel":"Add to cart","buyXGetYFreeLabel":"Free","disableDiscountedPricingRedirectToCart":false,"nonListedProductText":"Non-Listed","preventClickableProductsOnCart":false,"buyXGetYChooseProductLabel":"Choose Product","showSubscriptionPlanDescription":false,"enableManualBundleBlockIntegration":false,"cartAndCheckoutQuantityValidationMessage":"Orders must match the quantity range: Min {{min_quantity}}, Max {{max_quantity}}","discountUsageLimitExceedLabel":"You have exceeded the bundle usage limit","disableViewShopifyProduct":false,"redirectToCartPageOnCartIconClick":true,"sectionLabel":"Section","chooseSectionLabel":"Choose Section","chooseSectionProductsLabel":"Choose Section Products","breadCrumbSelectSectionLabel":"Select Section","breadCrumbReviewSectionLabel":"Review Section","checkoutInfoLabel":"Add products from each section to enable the add to cart button.","sectionNoProductSelectedValidationLabel":"No product selected for: {{section_name}}!","sectionMinimumQuantityValidationLabel":"Minimum quantity not selected for: {{section_name}}!","sectionMaximumQuantityValidationLabel":"Maximum quantity not selected for: {{section_name}}!","dynamicBundleDiscountCombinedWithProductDiscount":true,"dynamicBundleDiscountCombinedWithShippingDiscount":true,"dynamicBundleDiscountCombinedWithOrderDiscount":true,"volumeDiscountCombinedWithProductDiscount":true,"volumeDiscountCombinedWithShippingDiscount":true,"volumeDiscountCombinedWithOrderDiscount":true,"productDiscountCombinedWithProductDiscount":true,"productDiscountCombinedWithShippingDiscount":true,"productDiscountCombinedWithOrderDiscount":true,"buyXGetYDiscountCombinedWithProductDiscount":true,"buyXGetYDiscountCombinedWithShippingDiscount":true,"buyXGetYDiscountCombinedWithOrderDiscount":true,"shippingDiscountCombinedWithProductDiscount":true,"shippingDiscountCombinedWithOrderDiscount":true,"showDynamicBundleOrderNote":false,"bundleMaximumOrderAmountLabel":"Add maximum {{maximum_amount}} order amount","buyXGetYQuantityValidationLabel":"Add {{product_quantity}} quantities of the gift product (Get Y)","selectedGiftProductProgressLabelText":"{{selected_product_quantity}} gift products added. The required quantity is {{required_product_quantity}}.","draftBundlePageTitle":"Oops! This bundle is temporarily unavailable.","draftBundlePageSubTitle":"In the meantime, check out our latest offers and discounts!","customOfferLink":"collections/all","customOfferLinkButtonLabel":"Explore Offers","enableParentProductDetailButton":false,"sectionTotalLabel":"Section Total","skipSelectSectionPage":false,"buyXGetYGiftProductPriceVisibilityType":"UNIT_PRICE","defaultSelectedPurchaseOption":"ONE_TIME","enableShowMultipleImages":false,"buyXGetYAnyNumberOfGiftProductLabel":"Choose any number of gift products","showDiscountToNonEligibleCustomers":false,"buyXNoProductSelectedLabel":"No product selected (Buy X)","getYNoProductSelectedLabel":"No gift product selected (Get Y)","buyXQuantityValidationLabel":"Add {{product_quantity}} quantities of the product (Bux X)","buyXAnyNumberOfProductChooseLabel":"Choose any number of products","enableBuyXGetYWidgetMergeAsOptions":false,"buyXGetYMergedWidgetTitle":"Select Buy X Get Y Discount","showClassicBundleProductVariant":null,"showProductPerPage":50,"loadMoreButtonLabel":"Load More","enableBundleProductAscOrderView":true,"cartAndCheckoutMandatoryProductValidationMessage":"This bundle or discount must include all required products and they cannot be removed.","sellingPlanNameSortOrder":"ASC","showVendorName":false,"disableFitImage":false,"enableAutoRemoveRelevantBundleItemInCart":false,"enableBundleProductFilter":false,"enableMaxDiscountCap":false,"maxDiscountCapValue":0,"classicBundleLinkLabel":"View Complete Bundle","childProductInfoBannerText":"This product is part of a bundle","showPriceAsDecimals":false,"showOutOfStockProduct":true,"showDraftProduct":false,"totalBundleProductsAddedLabel":"{{total_bundle_items}} Products Added","bundleProductsQuantityLabel":"{{quantity}}x quantity","productDetailsViewType":"SHOW_PRODUCT_POPUP","disableRefreshSellingPlan":false,"enableShippingDiscountBar":false,"enableVolumeDiscountBar":false,"defaultDiscountBarMessage":"Welcome to our store","discountMessageInterval":3000,"addedBundleToTheCart":"Added bundle to the cart","disabledSellingPlanSelectionValidation":false,"volumeDiscountVariantSelectLabel":"Denominations","enableScrollingToBundleSection":false,"enableClassicBundleRecreation":false,"checkInventoryQuantity":false,"hideBundleToastNotification":false,"enableBundleRecreation":false,"enableAnnouncementBar":false,"enableAnnouncementBarAutoRotate":true,"bundleListTitle":"List of Bundles and Discounted Pricing","bundleListDescription":"Explore our Bundles and Discounted Pricing and enjoy exclusive discounts when you buy products together","bundleListViewDetailsButtonLabel":"View Details","classicBundleTypeLabel":"Classic Bundle","dynamicPricingBundleTypeLabel":"Dynamic Pricing Bundle","fixedPricingBundleTypeLabel":"Fixed Pricing Bundle","sectionedBundleTypeLabel":"Sectioned Bundle","volumeDiscountTypeLabel":"Volume Discount","productDiscountTypeLabel":"Product Discount","buyXGetYDiscountTypeLabel":"Buy X Get Y Discount","bundlePageBackgroundColor":"#FAFAF9","productCardBackgroundColor":"#ffffff","buttonBackgroundColor":"#000000","showPrepaidPerDeliveryPrice":true,"prepaidPerDeliveryPriceLabel":"{{prepaid_per_delivery_price}}/delivery","bundleSearchBarPlaceholder":"Search product by name or title","headingTextColor":"#000000","volumeDiscountChooseButtonLabel":"Choose","volumeDiscountChooseProductLabel":"Choose Product","disableAutoSelection":null,"interceptorExecutionType":null,"enableOpusCart":null,"disableCustomAttributeInterceptor":null}; const matchingBundles = Array.isArray(classicBundles) && classicBundles?.length > 0 ? classicBundles.filter((rule) => { if (rule?.bundleType === 'CLASSIC' && rule?.status === 'ACTIVE') { try { const targetProductId = parseInt(productId); const ruleProductId = parseInt(rule?.bundleProductId); if (ruleProductId === targetProductId) { rule._isMainProduct = true; // Mark this for later use return true; } const bundleProducts = rule?.products ? JSON.parse(rule?.products) : []; const foundInChildProduct = bundleProducts.some( product => parseInt(product?.productId) === targetProductId ); const bundleRuleSettings = rule?.settings ? JSON.parse(rule?.settings || '{}') : { showClassicBundleWidgetInChildProduct: false }; if (foundInChildProduct && (bundleRuleSettings?.showClassicBundleWidgetInChildProduct === true || bundleSettings?.showClassicBundleWidgetInChildProduct === true)) { rule._isMainProduct = false; // Mark as child product return true; } return false; } catch (e) { console.error('Failed to parse JSON:', e); return false; } } return false; }) : []; if (matchingBundles.length > 0 && blockElement) { blockElement.innerHTML = ''; const bundlesWrapper = document.createElement('div'); bundlesWrapper.className = 'ab-classic-bundles-wrapper'; matchingBundles.forEach((classicBundle, bundleIndex) => { const isClassicBundleProductPage = classicBundle._isMainProduct !== false; const classicBundleProducts = classicBundle?.products ? JSON.parse(classicBundle?.products) : null; const candidateForms = Array.from(document.querySelectorAll('form[action*="/cart/add"]'))?.filter(f => isFormForProduct(f, productId)); const targetForm = candidateForms.find(hasVisibleAtcButton) || candidateForms[0] || null; if (classicBundleProducts && classicBundleProducts.length > 0) { const classicBundleProductContainer = document.createElement('div'); classicBundleProductContainer.className = 'ab-classic-bundle-products'; classicBundleProductContainer.setAttribute('data-bundle-id', classicBundle?.id || bundleIndex); classicBundleProductContainer.setAttribute('data-bundle-unique-ref', classicBundle?.uniqueRef || ''); if (bundleIndex > 0) { classicBundleProductContainer.style.marginTop = '2rem'; classicBundleProductContainer.style.borderTop = '1px solid #e5e5e5'; classicBundleProductContainer.style.paddingTop = '2rem'; } if (!isClassicBundleProductPage) { const infoBanner = document.createElement('div'); infoBanner.className = 'ab-classic-bundle-info-banner'; const iconSpan = document.createElement('span'); iconSpan.className = 'ab-classic-bundle-info-icon'; iconSpan.innerHTML = 'ⓘ'; const textSpan = document.createElement('span'); textSpan.className = 'ab-classic-bundle-info-text'; textSpan.innerText = bundleSettings?.childProductInfoBannerText || 'This product is part of a bundle'; infoBanner.appendChild(iconSpan); infoBanner.appendChild(textSpan); classicBundleProductContainer.appendChild(infoBanner); classicBundleProductContainer.classList.add('ab-on-child-product'); } const classicBundleDescription = document.createElement('div'); classicBundleDescription.className = 'ab-classic-bundle-description'; if (bundleSettings?.headingTextColor) { classicBundleDescription.style.color = bundleSettings.headingTextColor; } classicBundleDescription.innerText = bundleSettings?.classicBundleDescriptionLabel || classicBundle?.description || 'Your bundle contains the following products.'; classicBundleProductContainer.appendChild(classicBundleDescription); let currentOptionIndex = 0; const productOptionMap = {}; classicBundleProducts?.forEach((bundle, index) => { const hasOptions = bundle?.options?.length > 0 && bundle?.options.some(opt => opt?.value?.length > 0); if (hasOptions) { const optionIndices = []; bundle?.options.forEach(() => { optionIndices.push(currentOptionIndex++); }); productOptionMap[bundle?.productId] = optionIndices; } const productWrapper = document.createElement('div'); productWrapper.className = 'ab-classic-bundle-product-wrapper'; const classicBundleProduct = document.createElement('div'); classicBundleProduct.className = hasOptions ? 'ab-classic-bundle-product ab-has-variants' : 'ab-classic-bundle-product'; const image = document.createElement('img'); image.className = 'ab-classic-bundle-product-image'; image.src = bundle?.imageSrc || 'https://cdn.shopify.com/s/files/1/0661/9224/4900/files/EmptyImage.jpg?v=1718447038'; image.alt = bundle?.name || 'Product Image'; classicBundleProduct.appendChild(image); const classicBundleProductInfo = document.createElement('div'); classicBundleProductInfo.className = 'ab-classic-bundle-product-info'; const productNameAndQuantity = document.createElement('div'); productNameAndQuantity.className = 'ab-classic-bundle-product-name-quantity'; const quantity = document.createElement('span'); quantity.className = 'ab-classic-bundle-product-quantity'; quantity.textContent = bundle?.quantity || 0; const name = document.createElement('a'); name.className = 'ab-classic-bundle-product-name'; name.textContent = bundle?.name || ''; name.href = `https://${classicBundle?.shop}/products/${bundle?.productHandle}` || '#'; name.target = '_blank'; name.rel = 'noopener noreferrer'; if (bundleSettings?.disableViewShopifyProduct) { name.href = 'javascript:void(0)'; name.style.pointerEvents = 'none'; name.removeAttribute('target'); } productNameAndQuantity.appendChild(quantity); productNameAndQuantity.appendChild(name); classicBundleProductInfo.appendChild(productNameAndQuantity); if (hasOptions) { // Collect all selected variant names for this product const selectedVariants = []; bundle?.options.forEach(option => { const selected = option?.value?.find(val => val?.selected); if (selected) { selectedVariants.push(selected.name); } }); // Show all selected variants for this product inline with product name if (selectedVariants.length > 0) { const variantSpan = document.createElement('span'); variantSpan.className = 'ab-classic-bundle-product-variant-inline'; variantSpan.setAttribute('data-product-id', bundle?.productId); variantSpan.setAttribute('data-bundle-id', classicBundle?.id || bundleIndex); variantSpan.setAttribute('data-option-indices', productOptionMap[bundle?.productId].join(',')); variantSpan.textContent = `(${selectedVariants.join(' / ')})`; name.appendChild(variantSpan); } } classicBundleProduct.appendChild(classicBundleProductInfo); productWrapper.appendChild(classicBundleProduct); // Add separator "+" between products (not after the last one) if (index < classicBundleProducts.length - 1) { const separator = document.createElement('div'); separator.className = 'ab-classic-bundle-product-separator'; separator.textContent = '+'; productWrapper.appendChild(separator); } classicBundleProductContainer.appendChild(productWrapper); }); if (!isClassicBundleProductPage) { const classicBundleLink = document.createElement('a'); classicBundleLink.className = 'ab-classic-bundle-product-link ab-bundle-cta-button'; const linkIcon = document.createElement('span'); linkIcon.className = 'ab-bundle-link-icon'; linkIcon.innerHTML = '→'; const linkText = document.createElement('span'); linkText.innerText = bundleSettings?.classicBundleLinkLabel || 'View Complete Bundle'; classicBundleLink.appendChild(linkText); classicBundleLink.appendChild(linkIcon); classicBundleLink.href = `/products/${classicBundle?.productHandle || ''}`; classicBundleLink.target = '_self'; classicBundleLink.rel = 'noopener noreferrer'; const copyButtonStyles = () => { const atcButton = targetForm?.querySelector('button[type="submit"]') || document.querySelector('button[name="add"]') || document.querySelector('form[action*="/cart/add"] button[type="submit"]'); if (atcButton) { const computedStyle = window.getComputedStyle(atcButton); const backgroundColor = computedStyle.backgroundColor; const color = computedStyle.color; const borderRadius = computedStyle.borderRadius; const fontFamily = computedStyle.fontFamily; const fontWeight = computedStyle.fontWeight; if (backgroundColor && backgroundColor !== 'rgba(0, 0, 0, 0)' && backgroundColor !== 'transparent') { classicBundleLink.style.setProperty('--ab-cta-bg', backgroundColor); } if (color) { classicBundleLink.style.setProperty('--ab-cta-text', color); } if (borderRadius) { classicBundleLink.style.borderRadius = borderRadius; } if (fontFamily) { classicBundleLink.style.fontFamily = fontFamily; } if (fontWeight) { classicBundleLink.style.fontWeight = fontWeight; } } }; requestAnimationFrame(copyButtonStyles); setTimeout(copyButtonStyles, 100); classicBundleProductContainer.appendChild(classicBundleLink); } bundlesWrapper.appendChild(classicBundleProductContainer); // Ping analytics for each bundle pingClassicBundleVisitorAnalytics(classicBundle?.id); const matchWidth = () => { let referenceWidth = null; let matchedSource = null; // Strategy 1: Use the product form width (most universal) const productForm = targetForm || document.querySelector('form[action*="/cart/add"]'); if (productForm && productForm.offsetParent !== null && productForm.offsetWidth > 0) { referenceWidth = productForm.offsetWidth; matchedSource = 'product-form'; } // Strategy 2: Match sibling elements in the same container if (!referenceWidth && blockElement?.parentElement) { const siblings = Array.from(blockElement.parentElement.children).filter(el => el !== blockElement); for (const sibling of siblings) { if (sibling.offsetParent !== null && sibling.offsetWidth > 100) { referenceWidth = sibling.offsetWidth; matchedSource = 'sibling-element'; break; } } } // Strategy 3: Find submit button and its parent container if (!referenceWidth) { const submitButton = productForm?.querySelector('button[type="submit"]') || document.querySelector('button[name="add"]') || document.querySelector('form[action*="/cart/add"] button[type="submit"]'); if (submitButton && submitButton.offsetParent !== null) { // Walk up the DOM to find a container that wraps the button let parent = submitButton.parentElement; let attempts = 0; while (parent && attempts < 5) { if (parent.offsetWidth > submitButton.offsetWidth * 1.1) { referenceWidth = parent.offsetWidth; matchedSource = 'button-container'; break; } parent = parent.parentElement; attempts++; } // Fallback to button width if no suitable container if (!referenceWidth) { referenceWidth = submitButton.offsetWidth; matchedSource = 'submit-button'; } } } // Strategy 4: Use Shopify payment button as reference (standard across themes) if (!referenceWidth) { const paymentButton = document.querySelector('.shopify-payment-button') || document.querySelector('[data-shopify="payment-button"]'); if (paymentButton && paymentButton.offsetParent !== null && paymentButton.offsetWidth > 0) { referenceWidth = paymentButton.offsetWidth; matchedSource = 'shopify-payment-button'; } } // Strategy 5: Match parent container width (ultimate fallback) if (!referenceWidth && blockElement?.parentElement) { const parent = blockElement.parentElement; if (parent.offsetWidth > 0) { referenceWidth = parent.offsetWidth; matchedSource = 'parent-container'; } } // Apply the width if (referenceWidth && referenceWidth > 0) { classicBundleProductContainer.style.width = `${referenceWidth}px`; classicBundleProductContainer.style.maxWidth = `${referenceWidth}px`; if (window._ABConfig?.debug) { console.log('[Appstle Bundle] Matched width:', referenceWidth, 'px from:', matchedSource); } } else { // No width found - use 100% of container classicBundleProductContainer.style.width = '100%'; classicBundleProductContainer.style.maxWidth = 'none'; if (window._ABConfig?.debug) { console.warn('[Appstle Bundle] No reference found, using 100% width'); } } }; requestAnimationFrame(matchWidth); setTimeout(matchWidth, 50); setTimeout(matchWidth, 150); setTimeout(matchWidth, 300); setTimeout(matchWidth, 600); setTimeout(matchWidth, 1000); if (window.ResizeObserver) { const resizeObserver = new ResizeObserver(() => { matchWidth(); }); // Observe generic elements that are likely to resize const observeElements = [ targetForm || document.querySelector('form[action*="/cart/add"]'), blockElement?.parentElement, document.querySelector('.shopify-payment-button') ].filter(el => el && el.offsetParent !== null); observeElements.forEach(el => { try { resizeObserver.observe(el); } catch (e) { // Ignore errors if element can't be observed } }); } } }); // Append the wrapper with all bundles to the block element blockElement.appendChild(bundlesWrapper); } }; const productId = "7037390815337"; const disableAppFunctionality = window?._ABConfig?.['disableAppFunctionality'] || false; const blockElement = document.getElementById('classicBundleContainer'); const blockElements = document.querySelectorAll('.ab-classic-bundle-custom-placement-selector'); function setupVariantDetection() { const d=window._ABConfig?.debug,f=document.querySelector('form[action*="/cart/add"]'); document.querySelectorAll('select[name="id"],input[name="id"],select.single-option-selector,select[id*="Option"],select[name*="option"],input[type="radio"][name*="option"]').forEach(s=>s.addEventListener('change',()=>setTimeout(updateVariantDisplay,10))); document.addEventListener('click',e=>{const t=e.target;if(t&&(t.matches('button[data-option-value]')||t.closest('.swatch-element, .variant-option, [data-option], [class*="variant"]')))setTimeout(updateVariantDisplay,50);}); ['variant:changed','variantChange','variant:change'].forEach(e=>document.addEventListener(e,updateVariantDisplay)); window.addEventListener('popstate',()=>setTimeout(updateVariantDisplay,10)); if(f){const i=f.querySelector('input[name="id"],select[name="id"]');if(i)new MutationObserver(()=>setTimeout(updateVariantDisplay,10)).observe(i,{attributes:!0,attributeFilter:['value']});} } function updateVariantDisplay() { const d=window._ABConfig?.debug,f=document.querySelector('form[action*="/cart/add"]'); if(!f){if(d)console.warn('[AB] No form');return;} const g=s=>Array.from(s).map(x=>x.options?.[x.selectedIndex]?.value||x.value||x.textContent?.trim()||x.getAttribute('data-option-value')||x.getAttribute('aria-label')).filter(Boolean); // Collect ALL variant options as an array let allOptions=[]; let s=f.querySelectorAll('select.single-option-selector'); if(s.length){allOptions=g(s);} if(!allOptions.length){s=f.querySelectorAll('select[id*="Option"],select[name*="option"]');if(s.length){allOptions=g(s);}} if(!allOptions.length){s=f.querySelectorAll('input[type="radio"][name*="option"]:checked');if(s.length){allOptions=g(s);}} if(!allOptions.length){s=f.querySelectorAll('button.selected,button.active,.swatch-element.selected,.swatch.selected,[data-option-value].selected,[data-option-value].active');if(s.length){allOptions=g(s);}} // Variant ID lookup as fallback if(!allOptions.length){ const vid=f.querySelector('input[name="id"]')?.value||new URLSearchParams(window.location.search).get('variant'); if(d)console.log('[AB] VID:',vid,'Variants:',!!window._ABConfig?.product?.variants); if(vid&&window._ABConfig?.product?.variants){ const v=window?._ABConfig?.product?.variants.find(x=>String(x.id)===String(vid)); if(v?.title&&v.title!=='Default Title'){ allOptions=v.title.split(' / '); if(d)console.log('[AB] Found variant:',v.title); } } } // Update each product with only its relevant options if(allOptions.length){ if(d)console.log('[AB] All options:',allOptions); const spans=document.querySelectorAll('.ab-classic-bundle-product-variant-inline'); spans.forEach(span=>{ const optionIndices=span.getAttribute('data-option-indices'); if(optionIndices){ const indices=optionIndices.split(',').map(i=>parseInt(i)); const productOptions=indices.map(i=>allOptions[i]).filter(Boolean); if(productOptions.length){ span.textContent=`(${productOptions.join(' / ')})`; if(d)console.log('[AB] Updated product',span.getAttribute('data-product-id'),'with options:',productOptions); } } }); }else if(d)console.warn('[AB] No options found'); } if(blockElement&&!disableAppFunctionality){ blockElement.classList.add(`product-id-${productId}`); executeClassicBundleBlock({blockElement,productId}); setupVariantDetection(); [100,300,500,1000].forEach(d=>setTimeout(updateVariantDisplay,d)); } if(blockElements&&blockElements.length>0&&!disableAppFunctionality){ blockElements.forEach(e=>{ const pid=e?.getAttribute('data-product-id'); e.classList.add(`product-id-${pid}`); executeClassicBundleBlock({blockElement:e,productId:pid}); }); setupVariantDetection(); [100,300,500,1000].forEach(d=>setTimeout(updateVariantDisplay,d)); } }); })(); (() => { const isDateInRange = (startDateString = null, endDateString = null) => { const currentDate = new Date(); const startDate = startDateString ? new Date(startDateString) : null; const endDate = endDateString ? new Date(endDateString) : null; if (!startDate && !endDate) return true; if (startDate && currentDate < startDate) return false; if (endDate && currentDate > endDate) return false; return true; }; const initializedElements = new WeakSet(); const executeDynamicBundleBlock = ({ blockElement, productId = null, isCustomPage = false }) => { if (initializedElements.has(blockElement)) return; initializedElements.add(blockElement); const babBundles = [{"id":30497,"shop":"sacredimageicons.myshopify.com","name":"Buy More and Save","description":"Take 5% off 3 ornaments, 10% off 5 ornaments, 20% off 10 ornaments.","status":"ACTIVE","customerIncludeTags":null,"discountType":"TIERED_DISCOUNT","discountValue":null,"products":"null","variants":"[{\"productId\":7635898138729,\"variantId\":42663810662505,\"name\":\"Black Madonna Ceramic Christmas Ornament \",\"productHandle\":\"black-madonna-christmas-ceramic-ornament-spiritual-home-decor-unique-gift-for-religious-celebrations-christmas-tree-decor-artistic-wall\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/5976603392248082293_2048.jpg?v=1762413463\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Black Madonna Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635896795241,\"variantId\":42663806435433,\"name\":\"Flame of Love Ceramic Christmas Ornament \",\"productHandle\":\"flame-of-love-christmas-ceramic-ornament-religious-holiday-decoration-gift-for-christmas-home-decor-spiritual-keepsake\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/15339998049075275831_2048.jpg?v=1762413319\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Flame of Love Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635891978345,\"variantId\":42663797325929,\"name\":\"Golden Virgin Mary Ceramic Christmas Ornament \",\"productHandle\":\"golden-virgin-mary-christmas-ornament-ceramic-hanging-decoration-religious-holiday-decor-vintage-religious-keepsake-spiritual-gift\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/12069075223071385088_2048.jpg?v=1762411767\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Golden Virgin Mary Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635895713897,\"variantId\":42663803781225,\"name\":\"Guardian Angel Ceramic Christmas Ornament \",\"productHandle\":\"angel-christmas-ornament-1pc\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/1164928960185910107_2048.jpg?v=1762412988\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Guardian Angel Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635890602089,\"variantId\":42663795294313,\"name\":\"Holy Family Ceramic Christmas Ornament \",\"productHandle\":\"holy-family-christmas-ornament\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/12654986415703428600_2048.jpg?v=1762411452\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Holy Family Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635896500329,\"variantId\":42663805616233,\"name\":\"Holy Family Christmas Ornament Ceramic \",\"productHandle\":\"holy-family-christmas-ceramic-ornament-holiday-decoration-religious-gift-home-decor-nativity-art-keepsake-christmas-ornament\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/2221248275129538249_2048.jpg?v=1762413099\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Holy Family Christmas Ornament Ceramic\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635901120617,\"variantId\":42663817216105,\"name\":\"Holy Grandparents Ceramic Christmas Ornament \",\"productHandle\":\"holy-grandparents-christmas-ceramic-ornament-religious-decoration-christmas-tree-ornament-family-keepsake-spiritual-gift-celebration-decor\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/14873529652388578371_2048.jpg?v=1762413969\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Holy Grandparents Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635888865385,\"variantId\":42663793164393,\"name\":\"Immaculate Heart of Mary Ceramic Christmas Ornament \",\"productHandle\":\"immaculate-heart-of-mary-ceramic-decoration-ornament-with-golden-glitter-frame-religious-wall-decor-christmas-tree-ornament-blessed-virgin-mary-decor\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/5795858158612453843_2048.jpg?v=1762411186\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Immaculate Heart of Mary Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635886538857,\"variantId\":42663791788137,\"name\":\"Infant of Prague Ceramic Christmas Ornament \",\"productHandle\":\"infant-of-prague-elegant-ceramic-christmas-ornament-vintage-decor-festive-decoration-christmas-tree-accessory-gift-for-family-friends\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/15512988306488969236_2048.jpg?v=1762411198\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Infant of Prague Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635894534249,\"variantId\":42663802077289,\"name\":\"Jesus Christ Ceramic Christmas Ornament \",\"productHandle\":\"jesus-christ-ceramic-ornament-religious-christmas-decoration-spiritual-gift-holiday-decor-faith-based-keepsake\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/4397826065661414838_2048.jpg?v=1762412564\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Jesus Christ Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635891322985,\"variantId\":42663796310121,\"name\":\"Madonna & Child Ceramic Christmas Ornament \",\"productHandle\":\"madonna-child-christmas-ornament-mary-and-child-decoration-holiday-gift-religious-decor-home-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/14753345613664562123_2048.jpg?v=1762411636\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Madonna & Child Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635892011113,\"variantId\":42663797391465,\"name\":\"Madonna and Child Ceramic Christmas Ornament \",\"productHandle\":\"madonna-and-child-christmas-religious-ornament-with-gold-glitter-christmas-tree-decoration-holiday-gift-religious-keepsake-home-decor-blessed-virgin-mary\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/14535927075065285088_2048.jpg?v=1762411861\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Madonna and Child Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635895418985,\"variantId\":42663803322473,\"name\":\"Mater Admirabilis Ceramic Christmas Ornament \",\"productHandle\":\"mater-admirabilis-christmas-ceramic-ornament-vintage-religious-design-rustic-home-decor-christmas-gift-unique-tree-decoration-handcrafted-keepsake\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/13209259103655690293_2048.jpg?v=1762412802\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Mater Admirabilis Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635891880041,\"variantId\":42663797194857,\"name\":\"Our Lady of Fatima Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-fatima-christmas-ornament-home-decor-religious-gift-holiday-decoration-vintage-style-spiritual-keepsake\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/6962759368962470521_2048.jpg?v=1762411718\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Fatima Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635893616745,\"variantId\":42663800733801,\"name\":\"Our Lady of Fatima Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-fatima-ceramic-religious-ornament-blessed-mother-decoration-spiritual-gift-holiday-decor-faith-based-keepsake-christmas-ornament-home\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/10478160890396654729_2048.jpg?v=1762412312\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Fatima Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635893878889,\"variantId\":42663801094249,\"name\":\"Our Lady of Fatima Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-fatima-ceramic-ornament-spiritual-gift-home-decor-christmas-tree-decoration-religious-keepsake-holiday-ornament\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/4983893816996530255_2048.jpg?v=1762412388\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Fatima Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635892109417,\"variantId\":42663797686377,\"name\":\"Our Lady of Good Council Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-good-council-religious-ceramic-ornament-decorative-faith-decor-blessed-mother-and-child-christmas-tree-hanging-spiritual-gift-for-all-occasions\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/1145671354876848814_2048.jpg?v=1762411970\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Good Council Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635889881193,\"variantId\":42663794540649,\"name\":\"Our Lady of Good Success Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-good-success-christmas-ornament-mother-and-child-decor-holiday-decoration-religious-gift-tree-ornament-home-decor-celebration-keepsake\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/17713376019176567185_2048.jpg?v=1762411342\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Good Success Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635894304873,\"variantId\":42663801520233,\"name\":\"Our lady of Guadalupe Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-guadalupe-ceramic-ornament-with-religious-design-holiday-decor-christmas-gift-handmade-heirloom-spiritual-home-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/9784434976562763298_2048.jpg?v=1762412503\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our lady of Guadalupe Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635895582825,\"variantId\":42663803584617,\"name\":\"Our Lady of La Vang Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-la-vang-christmas-ornament-with-religious-design-spiritual-home-decor-christmas-tree-decoration-gift-for-believers-religious-holidays\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/5103153261536574555_2048.jpg?v=1762412898\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of La Vang Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7641537183849,\"variantId\":42684162474089,\"name\":\"Our Lady of Lourdes and the Baby Jesus — Decorative Christmas Keepsake Ornament - Round / One size\",\"productHandle\":\"our-lady-of-lourdes-and-the-baby-jesus-decorative-christmas-keepsake-ornament\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/8851782286304873454_2048.jpg?v=1763146422\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Lourdes and the Baby Jesus — Decorative Christmas Keepsake Ornament\",\"variantTitle\":\"Round / One size\",\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635892666473,\"variantId\":42663798603881,\"name\":\"Our lady of Lourdes Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-lourdes-christmas-ornament-immaculate-conception-decoration-religious-decor-christmas-ornament-unique-gift-idea-faith-based-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/9956740982728809749_2048.jpg?v=1762412159\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our lady of Lourdes Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635898433641,\"variantId\":42663811776617,\"name\":\"Our Lady of Mt. Carmel Ceramic Christmas Ornament - Round / One size\",\"productHandle\":\"our-lady-of-mt-carmel-christmas-ceramic-decoration-ornament-1pc\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/1157373792212416149_2048.jpg?v=1763141390\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Mt. Carmel Ceramic Christmas Ornament\",\"variantTitle\":\"Round / One size\",\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635889750121,\"variantId\":42663794376809,\"name\":\"Our Lady of Palestine Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-palestine-christmas-ornament-holiday-decor-christening-gift-home-decoration-vintage-style-religious-ornament\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/2845977390982159289_2048.jpg?v=1762411230\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Palestine Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635905118313,\"variantId\":42663831208041,\"name\":\"Our Lady of Philerme Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-philerme-christmas-ornament-vintage-style-decor-home-decor-holiday-gift-unique-wall-hanging-religious-art-spiritual-gift\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/3439564163088691708_2048.jpg?v=1762415252\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Philerme Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635891126377,\"variantId\":42663796080745,\"name\":\"Our Lady of Pompeii Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-pompeii-christmas-ornament-christmas-decoration-religious-gift-holiday-decor-spiritual-home-accent\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/17870095299959154448_2048.jpg?v=1762411537\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Pompeii Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635898335337,\"variantId\":42663811645545,\"name\":\"Our Lady of Sorrows Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-of-sorrows-christmas-ceramic-decoration-ornament-1pc\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/4415606976274856521_2048.jpg?v=1762413615\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady of Sorrows Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635900792937,\"variantId\":42663816462441,\"name\":\"Our Lady Star of the Sea Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-star-of-the-sea-christmas-ceramic-decoration-ornament-1pc\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/2627168215939973859_2048.jpg?v=1762413848\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady Star of the Sea Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635896696937,\"variantId\":42663805911145,\"name\":\"Our Lady Undoer of Knots Ceramic Christmas Ornament \",\"productHandle\":\"our-lady-undoer-of-knots-christmas-ceramic-ornament-inspirational-holiday-decor-gift-for-christmas-spiritual-celebration-home-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/17600717683898521868_2048.jpg?v=1762413214\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Our Lady Undoer of Knots Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635892502633,\"variantId\":42663798145129,\"name\":\"St. Joseph and the Baby Jesus Ceramic Christmas Ornament \",\"productHandle\":\"st-joseph-and-the-baby-jesus-christmas-ornament-religious-gift-family-decor-christmas-decoration-baptism-keepsake-unique-tree-ornament\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/6766057056537794429_2048.jpg?v=1762412049\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"St. Joseph and the Baby Jesus Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635892797545,\"variantId\":42663798898793,\"name\":\"The Coronation of Mary Ceramic Christmas Ornament \",\"productHandle\":\"the-cornation-of-mary-ceramic-christmas-ornament-religious-decor-christmas-tree-decoration-gift-for-christians-vintage-style-ornament-spiritual-gift\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/17240429016517245738_2048.jpg?v=1762412220\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"The Coronation of Mary Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null},{\"productId\":7635894829161,\"variantId\":42663802470505,\"name\":\"Wedding of Joseph & Mary Ceramic Christmas Ornament \",\"productHandle\":\"wedding-of-joseph-mary-christmasceramic-ornament-christmas-decorations-holiday-gifts-home-decor-faith-based-gifts-spiritual-hanging-decor\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/1191080996309396645_2048.jpg?v=1762412674\",\"quantity\":1,\"price\":\"8.50\",\"status\":\"ACTIVE\",\"productTitle\":\"Wedding of Joseph & Mary Ceramic Christmas Ornament\",\"variantTitle\":null,\"isMandatory\":false,\"preSelected\":false,\"minQuantity\":null,\"maxQuantity\":null}]","sequenceNo":null,"bundleType":"CLASSIC_BUILD_A_BOX","settings":"{\"excludeSubscriptionPlans\":\"\",\"sequentialProductsPerBatch\":50,\"enableAnnouncementBar\":false,\"enableSequentialProductLoading\":false,\"productFilterConfig\":\"{\\\"enabled\\\":false,\\\"filters\\\":[]}\",\"disableProductDescription\":false,\"includedSubscriptionPlans\":\"\"}","bundleProductId":null,"bundleVariantId":null,"productHandle":null,"discountId":null,"price":null,"numberOfProducts":0,"subscriptionBundlingEnabled":false,"subscriptionId":null,"minProductCount":3,"maxProductCount":null,"uniqueRef":"v1whgedy5e","bundleRedirect":"CART","customRedirectURL":null,"minOrderAmount":null,"tieredDiscount":"[{\"discountBasedOn\":\"QUANTITY\",\"value\":3,\"discount\":5,\"discountType\":\"PERCENTAGE\",\"discountAllowedTags\":null},{\"discountBasedOn\":\"QUANTITY\",\"value\":5,\"discount\":10,\"discountType\":\"PERCENTAGE\",\"discountAllowedTags\":null},{\"discountBasedOn\":\"QUANTITY\",\"value\":10,\"discount\":20,\"discountType\":\"PERCENTAGE\",\"discountAllowedTags\":null}]","productViewStyle":"QUICK_ADD","singleProductSettings":"null","trackInventory":false,"sellingPlanType":"BUNDLE_LEVEL","clearCart":"DISABLED","minPrice":null,"maxPrice":null,"externalBuildABoxId":null,"variantVisibilityType":"SHOW_VARIANTS_AS_INDIVIDUAL","subTitle":"","freeShipping":false,"themeType":"THEME_TWO","showBundleInProductPage":true,"combinedWithProductDiscount":false,"combinedWithShippingDiscount":true,"combinedWithOrderDiscount":false,"allowedTags":null,"restrictTags":null,"selectionType":"FLEXIBLE","bundleHtml":"null","discountedVariants":"null","allowedCountries":null,"appliesOn":"BOTH","purchaseRequirement":"NO_REQUIREMENT","productDiscountType":"EACH_PRODUCT","countrySelectionType":"ALL_COUNTRY","discountApplyApproach":"SHOPIFY_DISCOUNT_FUNCTION","discountedProductChooseType":"CHOOSE_ALL","internalName":"Christmas ornaments 2025","sections":"[{\"id\":1,\"name\":\"\",\"description\":\"\",\"minProductCount\":0,\"maxProductCount\":0,\"variants\":[]}]","limitToUsePerCustomer":0,"discountedVariantSelectionLimit":null,"hideOneTimePurchase":false,"hideSubscriptionPurchase":false,"maxOrderAmount":null,"collectionData":null,"productSelectionType":"PRODUCT","tag":"appstle_bundles","productChooseType":"CHOOSE_ALL","variantSelectionLimit":null,"discountTargetType":"VARIANT","enableSubscription":false,"subscriptionWidgetPosition":"BELOW","subscribeTitle":"Subscribe and Save","subscribeSubtitle":"Delivered Monthly","subscriptionPreselected":false,"getYAppliesOn":"BOTH","announcementBarMessage":null,"automaticDiscountNodeId":"gid://shopify/DiscountAutomaticNode/1805314588777","recurringCycleLimit":0,"automaticShippingDiscountNodeId":null,"scheduledBundleRule":false,"bundleActiveFrom":null,"bundleActiveTo":null,"bundleSubType":null,"discountAppliesOn":null,"layoutType":null,"style":"{}","labels":"{}","upsells":null,"enableVolumeDiscountUpsell":false,"combos":null,"progressiveGift":null,"enableProgressiveGifts":false,"discountName":null,"shippingDiscountType":null},{"id":30673,"shop":"sacredimageicons.myshopify.com","name":"Golden Marian Ornaments Pack","description":"Get 10% off with select ornaments packs.","status":"ACTIVE","customerIncludeTags":null,"discountType":"NO_DISCOUNT","discountValue":null,"products":"[{\"productId\":7635896696937,\"variantId\":null,\"price\":null,\"name\":\"Our Lady Undoer of Knots Ceramic Christmas Ornament\",\"productHandle\":\"our-lady-undoer-of-knots-christmas-ceramic-ornament-inspirational-holiday-decor-gift-for-christmas-spiritual-celebration-home-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/17600717683898521868_2048.jpg?v=1762413214\",\"quantity\":1,\"status\":\"ACTIVE\",\"options\":[]},{\"productId\":7635894304873,\"variantId\":null,\"price\":null,\"name\":\"Our lady of Guadalupe Ceramic Christmas Ornament\",\"productHandle\":\"our-lady-of-guadalupe-ceramic-ornament-with-religious-design-holiday-decor-christmas-gift-handmade-heirloom-spiritual-home-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/9784434976562763298_2048.jpg?v=1762412503\",\"quantity\":1,\"status\":\"ACTIVE\",\"options\":[]},{\"productId\":7635891978345,\"variantId\":null,\"price\":null,\"name\":\"Golden Virgin Mary Ceramic Christmas Ornament\",\"productHandle\":\"golden-virgin-mary-christmas-ornament-ceramic-hanging-decoration-religious-holiday-decor-vintage-religious-keepsake-spiritual-gift\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/12069075223071385088_2048.jpg?v=1762411767\",\"quantity\":1,\"status\":\"ACTIVE\",\"options\":[]},{\"productId\":7635892666473,\"variantId\":null,\"price\":null,\"name\":\"Our lady of Lourdes Ceramic Christmas Ornament\",\"productHandle\":\"our-lady-of-lourdes-christmas-ornament-immaculate-conception-decoration-religious-decor-christmas-ornament-unique-gift-idea-faith-based-decoration\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/9956740982728809749_2048.jpg?v=1762412159\",\"quantity\":1,\"status\":\"ACTIVE\",\"options\":[]},{\"productId\":7635891880041,\"variantId\":null,\"price\":null,\"name\":\"Our Lady of Fatima Ceramic Christmas Ornament\",\"productHandle\":\"our-lady-of-fatima-christmas-ornament-home-decor-religious-gift-holiday-decoration-vintage-style-spiritual-keepsake\",\"imageSrc\":\"https://cdn.shopify.com/s/files/1/0247/3908/6441/files/6962759368962470521_2048.jpg?v=1762411718\",\"quantity\":1,\"status\":\"ACTIVE\",\"options\":[]}]","variants":"[]","sequenceNo":null,"bundleType":"CLASSIC","settings":"{\"sequentialProductsPerBatch\":50,\"enableAnnouncementBar\":true,\"enableSequentialProductLoading\":false}","bundleProductId":7640166432873,"bundleVariantId":null,"productHandle":"golden-marian-ornaments-pack","discountId":null,"price":null,"numberOfProducts":0,"subscriptionBundlingEnabled":false,"subscriptionId":null,"minProductCount":null,"maxProductCount":null,"uniqueRef":"tr3y8pdm3b","bundleRedirect":"CART","customRedirectURL":null,"minOrderAmount":null,"tieredDiscount":null,"productViewStyle":"QUICK_ADD","singleProductSettings":"null","trackInventory":false,"sellingPlanType":"BUNDLE_LEVEL","clearCart":"ENABLED","minPrice":42.5,"maxPrice":42.5,"externalBuildABoxId":null,"variantVisibilityType":"SHOW_VARIANTS_AS_INDIVIDUAL","subTitle":null,"freeShipping":false,"themeType":"THEME_TWO","showBundleInProductPage":true,"combinedWithProductDiscount":true,"combinedWithShippingDiscount":true,"combinedWithOrderDiscount":true,"allowedTags":null,"restrictTags":null,"selectionType":"FLEXIBLE","bundleHtml":"null","discountedVariants":"null","allowedCountries":null,"appliesOn":"BOTH","purchaseRequirement":"NO_REQUIREMENT","productDiscountType":"EACH_PRODUCT","countrySelectionType":"ALL_COUNTRY","discountApplyApproach":"SHOPIFY_DISCOUNT_FUNCTION","discountedProductChooseType":"CHOOSE_ALL","internalName":"Golden Marian Ornaments Pack","sections":"[{\"id\":1,\"name\":\"\",\"description\":\"\",\"minProductCount\":0,\"maxProductCount\":0,\"variants\":[]}]","limitToUsePerCustomer":null,"discountedVariantSelectionLimit":null,"hideOneTimePurchase":false,"hideSubscriptionPurchase":false,"maxOrderAmount":null,"collectionData":null,"productSelectionType":"PRODUCT","tag":"appstle_bundles","productChooseType":"CHOOSE_ALL","variantSelectionLimit":null,"discountTargetType":"VARIANT","enableSubscription":false,"subscriptionWidgetPosition":"BELOW","subscribeTitle":"Subscribe and Save","subscribeSubtitle":"Delivered Monthly","subscriptionPreselected":false,"getYAppliesOn":"BOTH","announcementBarMessage":null,"automaticDiscountNodeId":null,"recurringCycleLimit":0,"automaticShippingDiscountNodeId":null,"scheduledBundleRule":false,"bundleActiveFrom":null,"bundleActiveTo":null,"bundleSubType":null,"discountAppliesOn":null,"layoutType":null,"style":"{\"productCardBackgroundColor\":\"#ffffff\",\"disabledTextColor\":\"#6B7280\",\"buttonBackgroundColor\":\"#000000\",\"bundlePageBackgroundColor\":\"#FAFAF9\",\"headingTextColor\":\"#000000\",\"primaryHoverColor\":\"#000000\",\"primaryTextColor\":\"#000000\",\"primaryColor\":\"#000000\",\"primaryDisabledColor\":\"#333333\",\"primaryDisabledTextColor\":\"#ffffff\",\"secondaryTextColor\":\"#ffffff\",\"fieldDisabledBackgroundColor\":\"#D1D5DB\"}","labels":"{}","upsells":null,"enableVolumeDiscountUpsell":false,"combos":null,"progressiveGift":null,"enableProgressiveGifts":false,"discountName":null,"shippingDiscountType":null}]; window['isAppstleBuildABox'] = true; window.sessionStorage.setItem('external-bundle-token', window.appstle_bundle_external_token); const referenceBundle = blockElement.getAttribute('ref') || null; const collections = [{"id":272788062313,"handle":"all-except-contrado","title":"All Except Contrado","updated_at":"2026-06-11T04:05:26-07:00","body_html":"","published_at":"2023-11-14T07:12:15-08:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"variant_price","relation":"greater_than","condition":"1"},{"column":"vendor","relation":"not_equals","condition":"Contrado"}],"published_scope":"web"},{"id":270799863913,"handle":"all-products","title":"All Products","updated_at":"2026-06-11T04:05:26-07:00","body_html":"","published_at":"2023-01-16T09:09:15-08:00","sort_order":"created-desc","template_suffix":"","disjunctive":false,"rules":[{"column":"variant_price","relation":"greater_than","condition":"1"}],"published_scope":"web"},{"id":271216050281,"handle":"framed-prints","title":"Framed Prints \u0026 Plaques","updated_at":"2026-06-10T04:05:58-07:00","body_html":"","published_at":"2023-03-14T08:23:08-07:00","sort_order":"best-selling","template_suffix":"","disjunctive":true,"rules":[{"column":"type","relation":"equals","condition":"Framed Print"},{"column":"type","relation":"equals","condition":"Plaque"},{"column":"tag","relation":"equals","condition":"Framed"}],"published_scope":"web"},{"id":317485711465,"handle":"icon-plaques","title":"Icon Plaques","updated_at":"2026-06-01T23:59:35-07:00","body_html":"","published_at":"2026-05-13T13:39:28-07:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"type","relation":"equals","condition":"Plaque"}],"published_scope":"web","image":{"created_at":"2026-05-13T13:31:33-07:00","alt":null,"width":4500,"height":1396,"src":"\/\/sacredimageicons.com\/cdn\/shop\/collections\/162-1_copy_6624c6dc-3bba-4243-bf26-8da0f4e219a3.jpg?v=1778704293"}},{"id":267954815081,"handle":"international","title":"International","updated_at":"2026-06-09T14:22:12-07:00","body_html":"","published_at":"2022-07-13T10:03:20-07:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"tag","relation":"equals","condition":"International"}],"published_scope":"web"},{"id":267871715433,"handle":"virgin-mary-icons","title":"Mary Icons","updated_at":"2026-06-09T15:12:27-07:00","body_html":"","published_at":"2022-07-08T13:40:45-07:00","sort_order":"created-desc","template_suffix":"","disjunctive":false,"rules":[{"column":"tag","relation":"equals","condition":"subject:mary"},{"column":"tag","relation":"equals","condition":"format:print"}],"published_scope":"web"},{"id":306732335209,"handle":"most-popular-icons","title":"Most Popular Icons","updated_at":"2026-06-10T04:05:58-07:00","body_html":"","published_at":"2026-05-13T13:31:21-07:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"tag","relation":"equals","condition":"format:print"}],"published_scope":"web","image":{"created_at":"2026-01-12T08:32:50-08:00","alt":null,"width":4500,"height":1396,"src":"\/\/sacredimageicons.com\/cdn\/shop\/collections\/162-1_copy_674c968c-a472-4c66-9671-7f1b55d1b3c8.jpg?v=1768235570"}},{"id":267873714281,"handle":"sacred-icon-prints","title":"Sacred Icon Prints","updated_at":"2026-06-10T04:05:58-07:00","body_html":"","published_at":"2022-07-08T15:13:17-07:00","sort_order":"created-desc","template_suffix":"","disjunctive":false,"rules":[{"column":"tag","relation":"equals","condition":"format:print"}],"published_scope":"web","image":{"created_at":"2025-09-05T15:29:15-07:00","alt":null,"width":4500,"height":1396,"src":"\/\/sacredimageicons.com\/cdn\/shop\/collections\/162-1_copy.jpg?v=1757111426"}}]; const baseFilteredBundles = Array.isArray(babBundles) && babBundles?.length > 0 && babBundles.filter((rule) => { /*if(!isCustomPage && rule?.shop !== 'bundle-demo-101.myshopify.com') { rule.themeType = 'THEME_TWO'; }*/ if (!isDateInRange(rule?.bundleActiveFrom, rule?.bundleActiveTo)) { return false; } if (rule?.bundleType === 'CLASSIC_BUILD_A_BOX' && rule?.status === 'ACTIVE' && (rule?.showBundleInProductPage === true || isCustomPage)) { try { let matchesVariant = false; let matchesCollection = false; if (rule?.productSelectionType === "PRODUCT") { const variants = JSON.parse(rule?.variants || '[]'); matchesVariant = variants.some(v => +v?.productId === +productId); } else if (rule?.productSelectionType === "COLLECTION" && Array.isArray(collections)) { const ruleCollections = JSON.parse(rule?.collectionData || '[]'); matchesCollection = ruleCollections?.some(rc => collections?.some(c => +c?.id === +rc?.id)); } return (matchesVariant || matchesCollection || !productId); } catch (e) { console.error('Failed to parse JSON:', e); return false; } } return false; }) || []; const filteredBundles = isCustomPage && referenceBundle ? baseFilteredBundles?.filter(rule => rule?.uniqueRef === referenceBundle) : baseFilteredBundles; if (filteredBundles?.length > 0 && blockElement) { const link = document.createElement('link'); link.rel = 'stylesheet'; link.href = "https://bundles-admin.appstle.com/content/build-a-box.css?v=1773315968060"; document.head.appendChild(link); const script = document.createElement('script'); script.async = true; script.src = "https://bundles-admin.appstle.com/app/build-a-box.bundle.js?v=1773315968060"; document.head.appendChild(script); filteredBundles.forEach((rule) => { const bundleDiv = document.createElement('div'); const uniqueRef = rule?.uniqueRef; bundleDiv.setAttribute('appstle-dynamic-bundle-unique-reference', uniqueRef); bundleDiv.className = isCustomPage ? `appstleBundlesCustomPage appstleCustomPageDynamicBundle-${uniqueRef}` : `appstleBundlesProductPage appstleDynamicBundle-${uniqueRef}`; blockElement.appendChild(bundleDiv); const appBlockDiv = document.querySelector(isCustomPage ? 'div[data-block-handle="appstle-bundle-dynamic-pricing-custom-page"]' : 'div[data-block-handle="appstle-bundle-product-page-build-a-box"]'); if (appBlockDiv) { appBlockDiv.appendChild(blockElement); } }); } }; const executeDynamicBundleLogic = () => { const productId = "7037390815337"; const blockElement = document.getElementById('dynamic-pricing-bundle-product-page'); const blockElements = document.querySelectorAll('.ab-dynamic-bundle-custom-placement-selector'); const disableAppFunctionality = window?._ABConfig?.['disableAppFunctionality'] || false; if (blockElement && productId && !disableAppFunctionality) { blockElement.classList.add(`product-id-${productId}`); executeDynamicBundleBlock({ blockElement, productId, isCustomPage: false }); } if (blockElements && blockElements.length > 0 && !disableAppFunctionality) { blockElements.forEach((element) => { const productId = element?.getAttribute('data-product-id'); element.classList.add(`product-id-${productId}`); executeDynamicBundleBlock({ blockElement: element, productId, isCustomPage: false }); }); } const customPageBlockElement = document.getElementById('dynamic-pricing-bundle-custom-page'); if (customPageBlockElement && !disableAppFunctionality) executeDynamicBundleBlock({ blockElement: customPageBlockElement, productId: null, isCustomPage: true }); } const observeForQuickAddModal = () => { const seen = new WeakSet(); new MutationObserver(() => { document.querySelectorAll(".quick-add-modal__content-info")?.forEach((m) => { if (m?.offsetParent === null) return seen.delete(m); if (seen.has(m) || !m?.children?.length) return; seen.add(m); setTimeout(() => executeDynamicBundleLogic(), 100); }); }).observe(document.body, { childList: true, subtree: true }); }; document.addEventListener('DOMContentLoaded', () => { executeDynamicBundleLogic(); observeForQuickAddModal(); }); })(); if (_ABConfig?.bundle_setting?.enableGa4CrossDomainTracking === true) { (function () { const params = new URLSearchParams(window.location.search); const gl = params.get('_gl'); if (gl) { sessionStorage.setItem('_ab_ga4_gl', gl); } const saved = sessionStorage.getItem('_ab_ga4_gl'); document.addEventListener('DOMContentLoaded', function () { const links = document.querySelectorAll('a[href*="/apps/bundles/bb/"]'); links.forEach(function (link) { const url = new URL(link.href); if (saved) url.searchParams.set('_gl', saved); link.href = url.toString(); }); }); })(); }
in theme.liquid, or render as a snippet -->
🙏 Got 2 minutes? Quick survey ×
×

Help us out?

We're testing what catches people's eye when shopping for religious art. Takes about 2 minutes — would mean a lot.

Take the survey