0

Your Cart is Empty

Our Lady of Perpetual Help Icon Print

Our Lady of Perpetual Help ready to frame print

The History

The legend is that this was the first icon ever made. St. Luke, who not only authored the Gospel of Luke and the Acts of the Apostles, but is also the patron saint of artists, was said to have painted it during Mary’s lifetime and that she gave it a special blessing. It is more likely that Our Mother of Perpetual Help is a Byzantine icon, believed to have its origin sometime during the 13th -15th century.

The origian icon is painted on wood and measures about 20“ in height. At various times the icon was in Crete, Rome and Paris. Today it is permanently enshrined in the Church of Saint Alphonsus Liguori in Rome. The icon is known for being miraculous; over the centuries countless healings and special graces have been attributed to it.

Father Edward J. Vattmann, at the time an Army Major at Fort Sheridan, provided a version of the painting of Our Lady of Perpetual Help to the newly built church in 1907, resulting in the naming of our parish in her honor when it was established as a permanent parish in 1919.

The Elements

Greek Characters

 - ΜΡ θΥ = Mother of God.

 - O AP M = the Archangel Michael; to Mary's right

 - O AP I O = the Archangel Gabriel; to Mary's left

Mary’s Star

 - Reminds us she is the dawn announcing the coming of Jesus.

 - Symbolizes the role of Mary in the mystery of Christ and the Church.

 - The star indicates that she is the one who will lead us to Christ.

Mary’s Eyes

 - Mary’s eyes are filled with compassion and love, are fixed on us, her children on earth.

 - She is our source of constant comfort and hope.

 - Her eyes draw all who look into her face toward the mystery of Redemption which she holds in her arms.

Archangel Michael

 - He is holding a lance, a pole with a sponge, and a vessel of vinegar.

 - These prefigure scenes from Jesus’ crucifixion.

 - The Archangel’s veiled hands inculcate reverence for holy things.

Archangel Gabriel

 - He is holding a cross and nails, the very instruments of the coming death that has driven the boy Jesus to His mother’s safe embrace.

 - His veiled hands inculcate reverence for holy things.

Mary’s Cloak

 - The colors of Mary’s cloak symbolize both her virginity (red) and motherhood (blue). These are also the colors of royalty.

 - Blue is the color worn by mothers in Palestine, symbolic that Mary is both virgin and mother. Her red tunic underneath is the color worn by virgins during the time of Jesus.

Mary’s Hands & Arms

 - Mary’s hands and arms hold Jesus in a manner that indicates she is presenting Him to us.

 - Her right hand points directly into the heart of the Christ Child, up to the Cross the angel is holding.

 - Her left hand position, along with the view of the right hand, is one of presenting the Child to those who stand before the icon as she says: “Receive the Word of God.”

The Face of Jesus

 - The Christ Child looks out beyond the instruments of His passion to our future redemption.

 - While Jesus’ body is that of a child, His face is more mature, symbolizing wisdom beyond His years.

Jesus’ Hands

 - The joining of his hands with his mother’s signify the perfect conformity of Mary’s will with Her Son’s, and that together with Him, she participated in the work of the Redemption.

Jesus’ Clothes

 - His green tunic symbolizes His humanity and creation.

 - The red sash around His waist symbolizes the Blood of Christ shed for our salvation.

 - The gold cloak is symbolic of the Resurrection.

 - Together, the colors of the garments are a statement of the Incarnation, Passion, Death and Resurrection of Christ.

Mary’s Face & Mouth

 - The smallness of her mouth teaches us to be silent before the presence of God.

Jesus’ Feet & Sandals

 - The dangling sandal of the baby Jesus implies that he lept to the comfort of Mother Mary in anticipation of the Passion. He went so quickly that he shed his sandal.

The Gold Background

 - The gold background represents heaven and the divine light of the Resurrection shining through the garments of Jesus and Mary entering into the one praying before the image. 

Ready to frame print. Professionally printed and ready to frame for your church or home.  

Print on Fine Art Papers

Our fine art paper prints (also known as Giclee) are ordered by galleries, individual artists and photographers. The papers and inks are not only archival but use some of the most accurate print technology for full color prints.

Gatorboard® Rigid Prints

Your artwork or photography printed directly on 1/3" or 1/2" Gatorboard® panels. Gatorboard® is a similar but more rigid and sturdier than foamcore. Because it is so light, it can be easily used in frames or hung on the wall with velcro command strips. Printed with UV-inks directly to the panel, Gatorboard® prints are both smudge and scratch resistant. These prints can be placed directly into the frame without glass giving you a beautiful glare free print. 


Style
Size

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 = "6818404565097"; 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-12T04:05:51-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-12T04:05:51-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":317485613161,"handle":"icon-prints","title":"Icon Prints","updated_at":"2026-06-12T04:05:51-07:00","body_html":"","published_at":"2026-05-13T13:30:46-07:00","sort_order":"created-desc","template_suffix":"","disjunctive":false,"rules":[{"column":"type","relation":"equals","condition":"Print"}],"published_scope":"web","image":{"created_at":"2026-05-13T13:28:54-07:00","alt":null,"width":4500,"height":1396,"src":"\/\/sacredimageicons.com\/cdn\/shop\/collections\/162-1_copy_62322f4e-50c7-46ef-9df6-b1b6c092fe1e.jpg?v=1778704134"}},{"id":267871715433,"handle":"virgin-mary-icons","title":"Mary Icons","updated_at":"2026-06-12T04:05:51-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-12T04:05:51-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-12T04:05:51-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 = "6818404565097"; 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