Looking for a custom kit or quote? Email us at [email protected]

About Us

What We Do

Different Roads to Learning is your one-stop shop for autism spectrum resources and teaching materials! With over 600 products, our carefully curated product line supports the social, academic and communicative development of children on the autism spectrum through Applied Behavior Analysis (ABA) and Verbal Behavior interventions.


Why We Do What We Do

Different Roads to Learning was founded by mom and entrepreneur, Julie Azuma. When her daughter was diagnosed with autism, Julie became aware of just how hard it was to find the right teaching tools for her daughter. Determined to fill this void, Julie hoped to help other struggling families by hand picking the best autism intervention products available and offering them in one place.


Who We Are

Our small team could not be more dedicated to empowering ASD students, as we are all family members or researchers who have worked with individuals on the spectrum. We believe that the most important and fulfilling part of our jobs is making children on the spectrum feel like they belong and are excited to learn!


Connect With Us

https://cdn.shopify.com/s/files/1/1788/7187/files/Facebook_Orange.png?16426929060371959870           


            
Testimonials

"I've always turned to Different Roads for high quality products to use in addressing my clients' goals. They have a wide variety of well-made and effective materials to support the programming that I develop, but most importantly to aid my clients in acquiring the skills that they need to succeed at home, school, and in the community."
— Linda W., ABA Provider


"The materials I have bought from Different Roads have helped my students develop social skills, improve their language and reduce some very challenging behaviours such as biting, screaming and lashing out."
— Amy O., School Teacher, Early Intervention Provider


"Different Roads has shown me wonderful articles that I can apply both in and outside of the classroom. They benefit all functions of students anywhere on the spectrum, that other sources don't attend to as much. These activities and products are so beneficial to my students and I love getting my email from this website every day!"
— Michelle B., Parent, School Teacher

Our Team

Different Roads to Learning was founded in 1995 by Julie Azuma, When her daughter was diagnosed with autism at the age of six, Julie started the company to support parents running ABA programs in their homes. In the 90's, it was difficult to find the right materials to work with ASD children.

Since then, schools across the country use Applied Behavior Analysis and Verbal Behavior in both contained and inclusion classrooms. Tens of thousands of children have been mainstreamed by the age of 5. Our children are more capable in every way. Today, we are proud that our mission remains to provide the most effective, informative, affordable and appropriate materials to support the students with Autism Spectrum Disorder in their social and academic growth. 

 

Tatum came to us from the corporate headquarters of Barnes & Noble, where she served as their Operations Coordinator. Tatum is thrilled to be applying Fortune-500 forecasting and principles to the ideals and goals of Different Roads to Learning. In partnership with the rest of the team, Tatum is dedicated to ensuring your orders arrive to you promptly and correctly, and that we are always bringing you the best and most innovative items to help your students or your family. If there is an item out of stock or an issue with shipping, Tatum is the person to take care of you and prioritize your needs!

Megan brings a background in inventory and kit assembly for an organization of vocational schools.  She joined the Different Roads Team to ensure our customers have access to attractive and high-quality products available in convenient packages.  Megan is focused on maintaining background logistical processes to give you a seamless and straightforward ordering experience.

 

Brianna joins the team as our Customer Service and Digital Marketing Associate. She comes to Different Roads from the education field, where she worked in Communications and Marketing. She is excited to use her expertise to ensure that you receive the care, guidance, and attention needed when looking for the right items for your home or classroom.

'; const targetWrapper = getBundleRenderTarget(); if(targetWrapper){ targetWrapper.innerHTML = ""; targetWrapper.appendChild(bundleWrapperDiv); }else{ document.body.appendChild(bundleWrapperDiv); } }catch(err){ debugConsole("error in buildDummyProductHtmlForBundles", err); } } async function getBundleDataFromS3() { try { const parentProductsData = window?.shopifyLiquidValuesApp4Ext?.product?.bundleProductConfiguration; if(!parentProductsData?.bundleId) return null; const shopName = window.Shopify.shop; const s3Url = `https://gift-box-builder-app4.s3.us-east-2.amazonaws.com/public/backup-config/${shopName}/${parentProductsData?.bundleId}.json` const fetchResponse = await fetch(s3Url); const data = await fetchResponse.json(); return data || null; } catch (error) { debugConsole("Error in getBundleDataFromS3:", error); return null; } } // { errorMsg } sentinel: written when a metafield exceeds ~1.8 MB. function isOverflowed(value) { if ( value !== null && typeof value === 'object' && !Array.isArray(value) && value.errorMsg !== undefined && value.errorMsg !== null ) { return true; } return false; } function isForceCdn(){ try { return new URLSearchParams(location.search).get('gbbForceCdn') === 'true' || localStorage.getItem('gbbForceCdn') === 'true'; } catch(_){ return false; } } // R2-first, 3s timeout; failure memoized so later loads skip R2; null when both fail. async function fetchOverflowedDataFromCDN(s3Key, memoKey){ const shouldSkipR2 = (function(){ try { return localStorage.getItem('gbbSdk.' + memoKey) === 'true'; } catch(_){ return false; } })(); const buster = '?nocache=' + Date.now(); const r2Url = 'https://giftbox.giftkartcdn.app/' + s3Key + buster; const s3Url = 'https://gift-box-builder-app4.s3.us-east-2.amazonaws.com/' + s3Key + buster; if (!shouldSkipR2) { try { const r2Resp = await Promise.race([ fetch(r2Url), new Promise(function(_, rej){ setTimeout(function(){ rej(new Error('r2-timeout')); }, 3000); }) ]); if (r2Resp.ok) { const data = await r2Resp.json(); if (data) return data; } } catch (e) { debugConsole('R2 fetch failed for ' + memoKey + ', falling back to S3:', e); try { localStorage.setItem('gbbSdk.' + memoKey, 'true'); } catch(_){} } } try { const s3Resp = await fetch(s3Url); if (!s3Resp.ok) return null; return (await s3Resp.json()) || null; } catch (e) { debugConsole('S3 fetch failed for ' + memoKey + ':', e); return null; } } async function getSdkBundleDataFromCDN(offerId){ if (!offerId) return null; const shopName = window.Shopify.shop; return fetchOverflowedDataFromCDN('public/backup-config/' + shopName + '/' + offerId + '.json', 'useS3ForBundleConfig'); } async function getUpsellIndexFromCDN(){ const shopName = window.Shopify.shop; return fetchOverflowedDataFromCDN('public/sdk-bundle-upsell-index/' + shopName + '.json', 'useS3ForUpsellIndex'); } function initializeShopifyValues() { const productDetails = getProductData() window.shopifyLiquidValuesApp4Ext = { product: productDetails, cartData: {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"MDL","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}, selected_or_first_available_variant: productDetails.selected_or_first_available_variant }; let ext_data = {"userData":{"shopName":"different-roads.myshopify.com","countryCode":"US","countryName":"United States","currency":"USD","currencyInfo":{"code":"USD","symbol":"$","thousandsSeparator":",","decimalSeparator":".","symbolOnLeft":true,"spaceBetweenAmountAndSymbol":false,"decimalDigits":2},"customSettings":{"initialModalPopupCnt":0,"disableCartSettings":false,"addToCartBtnSelectors":null,"checkoutBtnSelectors":null,"customStyle":null,"addAfterAddTocartBtn":false,"addAftercheckoutBtn":false,"disableApp":false,"loadingGif":"https:\/\/gift-box-builder-app4.s3.us-east-2.amazonaws.com\/public\/icons\/loadingGif.gif","stackDiscounts":true,"showOnlyAdminSelectedVariants":true,"overWriteCheckoutBtn":false,"addGiftMessageToNote":true},"bundleSettings":{"allowMultipleBoxesFromSameBundle":true,"showCompareAtPrice":true,"dontIndexGiftboxBuilderPages_onGoogle":false,"isValidateInventoryEnabled":false,"calculateAutomaticDiscountInPercentage":true},"isAppLevelMetafieldCreated":true,"storefrontAccessToken":"30dc3effe0240e23be727396cda72a9b","createdAt":"2023-08-09T15:47:16.712Z","multipleCurrenciesInfo":{"USD":{"code":"USD","symbol":"$","thousandsSeparator":",","decimalSeparator":".","symbolOnLeft":true,"spaceBetweenAmountAndSymbol":false,"decimalDigits":2}}},"languageData":{"_id":"64d3b505dd2fb15e39c866d7","shopName":"different-roads.myshopify.com","__v":0,"createdAt":"2023-08-09T15:47:17.009Z","en":{"landingPage":{"bannerText":{"id":"bannerText","label":"Banner Text","type":"text","value":"Build your own Bundle in just a few clicks!"},"bannerSubtext":{"id":"bannerSubtext","label":"Banner Subtext","type":"text","value":"Send a custom bundle to your loved one in just a few steps"},"bannerButtonText":{"id":"bannerButtonText","label":"Banner Button Text","type":"text","value":"Start Building your Bundle"},"selectPreCuratedBoxLabel":{"id":"selectPreCuratedBoxLabel","label":"Select Pre-Curated Box Label","type":"text","value":"Or select from a range of pre-curated Gift Boxes"}},"navigationSteps":{"productPageStepText":{"id":"productPageStepText","label":"Product Page Step Text","type":"text","value":"Add Products"},"giftBoxStepText":{"id":"giftBoxStepText","label":"Bundle Step Text","type":"text","value":"Add Gift Box"},"personalizeStepText":{"id":"personalizeStepText","label":"Personalize Step Text","type":"text","value":"Personalize"},"multipleCategoriesStepText":{"id":"multipleCategoriesStepText","label":"Multiple Categories Step Text","type":"text","value":"Multiple Categories"}},"productPage":{"selectProductsLabel":{"id":"selectProductsLabel","label":"Select Products Label","type":"text","value":"Select Products"},"productPageSubtext":{"id":"productPageSubtext","label":"Product Page Subtext","type":"text","value":""}},"giftBoxPage":{"selectGiftBoxLabel":{"id":"selectGiftBoxLabel","label":"Select Bundle Label","type":"text","value":"Select a Bundle Box"},"giftBoxPageSubtext":{"id":"giftBoxPageSubtext","label":"Gift Box Page Subtext","type":"text","value":""}},"videoMessage":{"permissionDenied":{"id":"permissionDenied","label":"Permission Denied","type":"text","value":"Permission Denied"},"uploadConfirmation":{"id":"uploadConfirmation","label":"Upload Confirmation","type":"text","value":"Your video has been successfully uploaded!"},"pressToRecord":{"id":"pressToRecord","label":"Press to record","type":"text","value":"Press to record"},"recording":{"id":"recording","label":"Recording","type":"text","value":"Recording...."},"errorMessage":{"id":"errorMessage","label":"Error Message","type":"text","value":"An error occured, Please try again!"},"loading":{"id":"loading","label":"Loading","type":"text","value":"Loading...."},"uploading":{"id":"uploading","label":"Uploading","type":"text","value":"Uploading...."},"sendVideoMessageText":{"id":"sendVideoMessageText","label":"Send Video Message Text","type":"text","value":"Send Video Message"},"giftMessageDeliveryInfo":{"id":"giftMessageDeliveryInfo","label":"Message Delivery Info","type":"text","value":"The message will be sent to the recipient via email as soon as the order is placed"},"saveVideoText":{"id":"saveVideoText","label":"Save Video Text","type":"text","value":"Save Video"},"reRecordVideoText":{"id":"reRecordVideoText","label":"Re-Record Video Text","type":"text","value":"Re-Record Video"}},"personalizePage":{"selectGreetingCardLabel":{"id":"selectGreetingCardLabel","label":"Select Greeting Card Label","type":"text","value":"Select A Greeting Card"},"clearSelectionButton":{"id":"clearSelectionButton","label":"Clear Selection label","type":"text","value":"Clear Selection"},"noImagesAvailable":{"id":"noImagesAvailable","label":"No Images Available label","type":"text","value":"No Images Available"},"messageLabel":{"id":"messageLabel","label":"Message Label","type":"text","value":"Message"},"senderNamePlaceholder":{"id":"senderNamePlaceholder","label":"Sender Name Placeholder","type":"text","value":"From"},"recipientNamePlaceholder":{"id":"recipientNamePlaceholder","label":"Recipient Name Placeholder","type":"text","value":"To"},"messagePlaceholder":{"id":"messagePlaceholder","label":"Message Placeholder","type":"text","value":"Enter a message here..."},"emailAddressLabel":{"id":"emailAddressLabel","label":"Recipient Email Address Label","type":"text","value":"Recipient Email Address"},"emailAddressPlaceholder":{"id":"emailAddressPlaceholder","label":"Recipient Email Address Placeholder","type":"text","value":"Enter a recipient email address here..."},"emailValidationMessage":{"id":"emailValidationMessage","label":"Email Validation Message","type":"text","value":"Please enter a valid email address"},"sendNow":{"id":"sendNow","label":"Send Now Label","type":"text","value":"Send Now"},"sendLater":{"id":"sendLater","label":"Send Later Label","type":"text","value":"Send Later"},"personalizePageSubtext":{"id":"personalizePageSubtext","label":"Personalize Page Subtext","type":"text","value":""},"messageIsRequiredError":{"id":"messageIsRequiredError","label":"Message is required warning","type":"text","value":"Please enter a message"}},"reviewPage":{"reviewPageBannerText":{"id":"reviewPageBannerText","label":"Review Page Banner Text","type":"text","value":"You’ve made the Right Choice!"},"reviewPageBannerSubtext":{"id":"reviewPageBannerSubtext","label":"Review Page Banner Subtext","type":"text","value":"Review your bundle and proceed to checkout"},"addOnsLabel":{"id":"addOnsLabel","label":"Add Ons Label","type":"text","value":"Add Ons"},"totalValueLabel":{"id":"totalValueLabel","label":"Total Value Label","type":"text","value":"Total Value"},"totalLabel":{"id":"totalLabel","label":"Total Label","type":"text","value":"Total"},"productLabel":{"id":"productLabel","label":"Product Header Label","type":"text","value":"Product"},"priceLabel":{"id":"priceLabel","label":"Price Header Text","type":"text","value":"Price"},"quantityLabel":{"id":"quantityLabel","label":"Quantity Header Text","type":"text","value":"Quantity"},"deliveryDateLabel":{"id":"deliveryDateLabel","label":"Delivery Date Label","type":"text","value":"Delivery Date"},"productsLabelText":{"id":"productsLabelText","label":"Products Label Text","type":"text","value":"Products"},"messagesLabelText":{"id":"messagesLabelText","label":"Messages Label Text","type":"text","value":"Messages"},"discountAppliedLabel":{"id":"discountAppliedLabel","label":"Discount Applied Label","type":"text","value":"Discount"},"subtotalLabel":{"id":"subtotalLabel","label":"Sub Total Label","type":"text","value":"Subtotal"},"orderDetailsLabel":{"id":"orderDetailsLabel","label":"Order Details Label","type":"text","value":"Order Details"},"itemsLabel":{"id":"itemsLabel","label":"No. of Items Label","type":"text","value":"Item(s)"},"oneTimePurchaseLabel":{"id":"oneTimePurchaseLabel","label":"One-Time Purchase label","type":"text","value":"One-Time Purchase"},"subscribeAndSaveLabel":{"id":"subscribeAndSaveLabel","label":"Subscribe and Save label","type":"text","value":"Subscribe and Save"},"noSubscriptionFoundLabel":{"id":"noSubscriptionFoundLabel","label":"No Subscription plans found label","type":"text","value":"Oops! No Subscription plans were found"},"deliveryFrequencyLabel":{"id":"deliveryFrequencyLabel","label":"Delivery Frequency Label","type":"text","value":"Delivery Frequency"},"createNewBoxLabel":{"id":"createNewBoxLabel","label":"Create New Box Label","type":"text","value":"Create new Box"},"editButtonText":{"id":"editButtonText","label":"Edit Label","type":"text","value":"Edit"},"deliverySchedulerPlaceholderText":{"id":"deliverySchedulerPlaceholderText","label":"Delivery Scheduler Placeholder Text","type":"text","value":"Select a date"}},"general":{"noProductsAvailable":{"id":"noProductsAvailable","label":"No Products Available label","type":"text","value":"No Products Available"},"filtersLabel":{"id":"filtersLabel","label":"Filters Label","type":"text","value":"Filters"},"clearSelection":{"id":"clearSelection","label":"Clear Filters Selection","type":"text","value":"Clear Selection"},"searchLabel":{"id":"searchLabel","label":"Search Label","type":"text","value":"Search"},"addToBoxButtonText":{"id":"addToBoxButtonText","label":"Add To Box Button","type":"text","value":"Add To Box"},"chooseOptionsButtonText":{"id":"chooseOptionsButtonText","label":"Choose Options Button","type":"text","value":"Choose Options"},"loadMoreProductsButtonText":{"id":"loadMoreProductsButtonText","label":"Load More Products Button","type":"text","value":"Load More Products"},"loadingCheckoutButtonText":{"id":"loadingCheckoutButtonText","label":"Loading Checkout Button","type":"text","value":"Loading Checkout..."},"addedText":{"id":"addedText","label":"Added Label","type":"text","value":"Added"},"addButtonText":{"id":"addButtonText","label":"Add Button Text","type":"text","value":"Add"},"nextButtonText":{"id":"nextButtonText","label":"Next Button Text","type":"text","value":"Next"},"addToCartButtonText":{"id":"addToCartButtonText","label":"Add To Cart Button Text","type":"text","value":"Add To Cart"},"backButtonText":{"id":"backButtonText","label":"Back Button Text","type":"text","value":"Back"},"checkoutButtonText":{"id":"checkoutButtonText","label":"Checkout Button Text","type":"text","value":"Checkout"},"removeButtonText":{"id":"removeButtonText","label":"Remove Button Text","type":"text","value":"Remove"},"reviewButtonText":{"id":"reviewButtonText","label":"Review Button Text","type":"text","value":"Review"},"combinationNotAvailable":{"id":"combinationNotAvailable","label":"Combination Not Available","type":"text","value":"Combination Not Available"},"quantity":{"id":"quantity","label":"Quantity Label","type":"text","value":"Quantity"},"viewCartProductsLabel":{"id":"viewCartProductsLabel","label":"View Cart Products Label","type":"text","value":"View Selected Products"},"selectedProductsLabel":{"id":"selectedProductsLabel","label":"Selected Products Label","type":"text","value":"Selected Products"},"selectBundleProductsText":{"id":"selectBundleProductsText","label":"Select Bundle Products label","type":"text","value":"Select Bundle Products"},"redirectingText":{"id":"redirectingText","label":"Redirecting label","type":"text","value":"Redirecting..."},"preparingBundleText":{"id":"preparingBundleText","label":"Preparing Bundle Label","type":"text","value":"Preparing Bundle..."},"productsNotAvailableText":{"id":"productsNotAvailableText","label":"Products Not Available Label","type":"text","value":"Oops! Some Products are not available"},"discountsMayNotApplyText":{"id":"discountsMayNotApplyText","label":"Discounts may not be applied Label","type":"text","value":"discounts may not be applied"},"removeAllBoxProducts":{"id":"removeAllBoxProducts","label":"Remove all Box Products Label (Cart Page Popup)","type":"text","value":"This is a Box Product. Removing this will remove all the products from box"},"cartPageCheckoutButtonLoadingText":{"id":"cartPageCheckoutButtonLoadingText","label":"Cart Page Checkout Button Loading Text","type":"text","value":"Loading Checkout..."},"inventoryInStockText":{"id":"inventoryInStockText","label":"Inventory in Stock Label","type":"text","value":"in Stock"},"inventoryLimitReachedText":{"id":"inventoryLimitReachedText","label":"Inventory Limit Reached Label","type":"text","value":"No More Stock"},"productAddedBtnText":{"id":"productAddedBtnText","label":"Product Added label","type":"text","value":"Added"},"boxSelectionEligibilityToast":{"id":"boxSelectionEligibilityToast","label":"Box Selection Eligibility Toast","type":"text","value":"Remove {{boxSelectionDifference}} item(s) to select this box"},"discountRibbonSuffix":{"id":"discountRibbonSuffix","label":"Discount Badge Suffix","type":"text","value":"off"},"itemsInCartLabel":{"id":"itemsInCartLabel","label":"Cart Inclusion Title","type":"text","value":"item(s)"},"removeFooterProductFrom":{"id":"removeFooterProductFrom","label":"Remove Product from Footer Text","type":"text","value":"Remove This Product From {{stepName}}"},"selectSubscriptionPlanButtonText":{"id":"selectSubscriptionPlanButtonText","label":"Subscription Selection Label","type":"text","value":"Select Subscription Plan"}},"discountRules":{"rule1":{"amount":{"id":"amount","label":"Amount","type":"text","value":""},"text":{"id":"text","label":"Text","type":"text","value":""}},"rule2":{"amount":{"id":"amount","label":"Amount","type":"text","value":""},"text":{"id":"text","label":"Text","type":"text","value":""}},"rule3":{"amount":{"id":"amount","label":"Amount","type":"text","value":""},"text":{"id":"text","label":"Text","type":"text","value":""}},"rule4":{"amount":{"id":"amount","label":"Amount","type":"text","value":""},"text":{"id":"text","label":"Text","type":"text","value":""}},"rule5":{"amount":{"id":"amount","label":"Amount","type":"text","value":""},"text":{"id":"text","label":"Text","type":"text","value":""}}},"sortBy":{"sortLabel":{"id":"sortLabel","label":"Sort Label","type":"text","value":"Sort"},"alphabeticalAToZ":{"id":"alphabeticalAToZ","label":"Alphabetical, A-Z Label","value":"Alphabetical, A-Z"},"alphabeticalZToA":{"id":"alphabeticalZToA","label":"Alphabetical, Z-A Label","value":"Alphabetical, Z-A"},"priceHighToLow":{"id":"priceHighToLow","label":"Price, High to Low Label","value":"Price, High to Low"},"priceLowToHigh":{"id":"priceLowToHigh","label":"Price, Low to High Label","value":"Price, Low to High"},"featured":{"id":"featured","label":"Featured Label","type":"text","value":"Featured"}},"conditions":{"amount":{"greaterThanOrEqualTo":{"id":"greaterThanOrEqualTo","label":"Greater than condition message","type":"text","value":"Add products worth at least {{conditionAmount}} on this step"},"lessThanOrEqualTo":{"id":"lessThanOrEqualTo","label":"Less than condition message","type":"text","value":"Add products worth maximum of {{conditionAmount}} on this step"},"equalTo":{"id":"equalTo","label":"Equal to condition message","type":"text","value":"Add products worth {{conditionAmount}} on this step"}},"quantity":{"greaterThanOrEqualTo":{"id":"greaterThanOrEqualTo","label":"Greater than condition message","type":"text","value":"Add at least {{conditionQuantity}} products on this step"},"lessThanOrEqualTo":{"id":"lessThanOrEqualTo","label":"Less than condition message","type":"text","value":"Add a maximum of {{conditionQuantity}} products to continue"},"equalTo":{"id":"equalTo","label":"Equal to condition message","type":"text","value":"Add exactly {{conditionQuantity}} products on this step"}},"weight":{"greaterThanOrEqualTo":{"id":"greaterThanOrEqualTo","label":"Greater than condition message","type":"text","value":"Add products weighing at least {{conditionWeight}} on this step"},"lessThanOrEqualTo":{"id":"lessThanOrEqualTo","label":"Less than condition message","type":"text","value":"Add products weighing maximum of {{conditionWeight}} on this step"},"equalTo":{"id":"equalTo","label":"Equal to condition message","type":"text","value":"Add products weighing {{conditionWeight}} on this step"}}},"multipleCategoriesPage":{"multipleCategoriesSubtext":{"id":"multipleCategoriesSubtext","label":"Multiple Categories Page Subtext","type":"text","value":""}},"multipleCategories":{},"addons":{"maxAddonProductsAllowed":{"id":"maxAddonProductsAllowed","label":"Max Addon Products Allowed message","type":"text","value":" add maximum {{maxAllowedAddons}} products to continue"},"addonProductsMandatory":{"id":"addonProductsMandatory","label":"Addon Products Mandatory message","type":"text","value":"Please add atleast one product"},"firstBundleInteraction":{"id":"firstBundleInteraction","label":"Mobile Add On Notification","type":"text","value":"Additional offers to be unlocked"}},"modals":{"clearCart":{"cancelButtonText":{"id":"cancelButtonText","label":"Modal - Cancel Button Text","type":"text","value":"Cancel"},"confirmButtonText":{"id":"confirmButtonText","label":"Modal - Confirm Button Text","type":"text","value":"Clear Cart"},"description":{"id":"description","label":"Modal - Description","type":"text","value":"Are you sure you want to clear all items from your cart? This action cannot be undone..."},"title":{"id":"title","label":"Modal - Title","type":"text","value":"Are you sure?"},"triggerButtonText":{"id":"triggerButtonText","label":"Clear Cart Button Text","type":"text","value":"Clear"}}}},"languageMode":"SINGLE","updatedAt":"2026-06-29T08:44:28.980Z","mixAndMatchTextData":{"en":{"conditions":{"amount":{"greaterThanOrEqualTo":{"id":"greaterThanOrEqualTo","label":"Greater than condition message","type":"text","value":"Add products worth at least {{conditionAmount}} on this step"},"lessThanOrEqualTo":{"id":"lessThanOrEqualTo","label":"Less than condition message","type":"text","value":"Add products worth maximum of {{conditionAmount}} on this step"},"equalTo":{"id":"equalTo","label":"Equal to condition message","type":"text","value":"Add products worth {{conditionAmount}} on this step"}},"quantity":{"greaterThanOrEqualTo":{"id":"greaterThanOrEqualTo","label":"Greater than condition message","type":"text","value":"Add at least {{conditionQuantity}} products on this step"},"lessThanOrEqualTo":{"id":"lessThanOrEqualTo","label":"Less than condition message","type":"text","value":"Add a maximum of {{conditionQuantity}} products to continue"},"equalTo":{"id":"equalTo","label":"Equal to condition message","type":"text","value":"Add exactly {{conditionQuantity}} products on this step"}},"weight":{"greaterThanOrEqualTo":{"id":"greaterThanOrEqualTo","label":"Greater than condition message","type":"text","value":"Add products weighing at least {{conditionWeight}} on this step"},"lessThanOrEqualTo":{"id":"lessThanOrEqualTo","label":"Less than condition message","type":"text","value":"Add products weighing maximum of {{conditionWeight}} on this step"},"equalTo":{"id":"equalTo","label":"Equal to condition message","type":"text","value":"Add products weighing {{conditionWeight}} on this step"}}},"general":{"noProductsAvailable":{"id":"noProductsAvailable","label":"No Products Available label","type":"text","value":"No Products Available"},"addBundleToCartBtnText":{"id":"addBundleToCartBtnText","label":"Add Bundle Cart label","type":"text","value":"Add Bundle to Cart"},"addBundleToCartLoadingBtnText":{"id":"addBundleToCartLoadingBtnText","label":"Add Bundle Loading label","type":"text","value":"Adding Bundle..."},"inventoryLimitReachedText":{"id":"inventoryLimitReachedText","label":"Inventory Limit Reached Label","type":"text","value":"No More Stock"},"emptyCardText":{"id":"emptyCardText","label":"Add Product Card Text","type":"text","value":"Add Product"},"boxSelectionEligibilityToast_inPage":{"id":"boxSelectionEligibilityToast_inPage","label":"Box Selection Eligibility Toast","type":"text","value":"Remove {{boxSelectionDifference}} item(s) to select this box"},"subtotalLabelText_inPage":{"id":"subtotalLabelText_inPage","label":"Subtotal Text","type":"text","value":"Subtotal"},"boxConditionInitialText_inPage":{"id":"boxConditionInitialText_inPage","label":"Inline Add To Cart Button - Quantity Selection message","type":"text","value":"Select {{quantityDifference}} Items"},"stepsDrawerPillText":{"id":"stepsDrawerPillText","label":"Steps Drawer Pill Text","type":"text","value":"Show all steps"}},"footer":{"footerPrevBtnText":{"id":"footerPrevBtnText","label":"Footer Previous Button","type":"text","value":"Prev"},"footerNextBtnText":{"id":"footerNextBtnText","label":"Footer Next Button","type":"text","value":"Next"},"footerFinishBtnText":{"id":"footerFinishBtnText","label":"Footer Finish Button","type":"text","value":"Done"}},"productCard":{"productCardAddBtnText":{"id":"productCardAddBtnText","label":"Product Add to Cart Button","type":"text","value":"Add to Cart"},"productVariantLabelText":{"id":"productVariantLabelText","label":"Product Variant Label","type":"text","value":"Select variant"},"productCardAddBtnText_inPage":{"id":"productCardAddBtnText_inPage","label":"Inline Product - Add Button Text","type":"text","value":"Add +"}}}},"productBundle":{"en":{"general":{"title":{"id":"title","label":"Title","type":"text","value":"Bundle"},"subTitle":{"id":"subTitle","label":"Sub Title","type":"text","value":"Select the products you want to add to your bundle"},"unSelectedOptionLabel":{"id":"unSelectedOptionLabel","label":"Unselected Option Label","type":"text","value":"Select {{option_name}}"}},"validation":{"unselectedOption":{"id":"unselectedOption","label":"Unselected Option","type":"text","value":"{{option_name}} selection required"},"outOfStockOption":{"id":"outOfStockOption","label":"Out Of Stock Option","type":"text","value":"currently not available"}},"footer":{"atcButtonText":{"id":"atcButtonText","label":"Add to Cart Button Text","type":"text","value":"Add to Cart"},"atcButtonOutOfStockText":{"id":"atcButtonOutOfStockText","label":"Add to Cart Out of Stock Text","type":"text","value":"Out of Stock"},"priceLabel":{"id":"priceLabel","label":"Price Label","type":"text","value":"Total Price"},"savingsBadgeText":{"id":"savingsBadgeText","label":"Savings Badge Text","type":"text","value":"You save {{amount_saved}}"}}}}},"pageCustomizationData":{"_id":"64d3b505dd2fb15e39c866d6","shopName":"different-roads.myshopify.com","__v":0,"banners":{"landingPageImageSrc":"https:\/\/d3ks0ngva6go34.cloudfront.net\/public\/banners\/landing_page_bannerv2.png","pageBannerImageSrc":"https:\/\/d3ks0ngva6go34.cloudfront.net\/public\/banners\/page_banner_temp.png","productReviewImageSrc":"https:\/\/d3ks0ngva6go34.cloudfront.net\/public\/banners\/landing_page_bannerv2.png"},"cartFooter":{"cartFooterBgColor":"#f1f2f3","cartFooterTextColor":"#000000","cartFooterNextButtonColor":"#000000","cartFooterNextButtonTextColor":"#ffffff","cartFooterBackButtonColor":"#6d7175","cartFooterBackButtonTextColor":"#ffffff","cartFooterDiscountTextColor":"#000000"},"colors":{"disabledColor":"gray","primaryColor":"blue","productBox":"blue","secondaryColor":"aqua","textColor":"black"},"createdAt":"2023-08-09T15:47:17.009Z","landingPage":{"landingPageTextColor":"#000000","landingPageButtonBgColor":"#C8102E","landingPageButtonTextColor":"#ffffff"},"navigationBanner":{"navigationBannerTitleColor":"#ffffff","navigationBannerTextColor":"#ffffff","navigationBannerStepCompletionColor":"#E0C6AD","navigationBannerStepDoneColor":"#ffffff","navigationBannerStepTextColor":"#C8102E"},"previewPage":{"bannerTextColor":"#ffffff"},"primaryFont":"","productCard":{"productCardBgColor":"#F2F2F2","productCardTextColor":"#252525","productCardButtonColor":"#470A68","productCardButtonTextColor":"#ffffff"},"quickSettings":{"isQuickSettingsEnabled":false,"colors":{"primaryColor":"#000000","buttonBgColor":"#000000","buttonTextColor":"#ffffff"}},"summaryBlock":{"summaryBlockAddToCartButtonColor":"#C8102E","summaryBlockAddToCartButtonTextColor":"#ffffff"},"updatedAt":"2026-06-29T08:44:32.683Z","categoryBlock":{"categoryBgColor":"#FFFFFF"},"generalSettings":{"scrollBar":{"scrollBarColor":"#000000"},"conditionToast":{"conditionToastBgColor":"#000000","conditionToastTextColor":"#ffffff"},"icon":{"iconBgColor":"#000000","iconTextColor":"#ffffff"},"productPage":{"productPageTitleColor":"#000000"}},"productBundle":{"designSettings":{},"globalSettings":{"general":{"autoShiftToAvailableVariant":true,"hideOutOfStockOptions":false,"unselectOptionsByDefault":true,"showProductCardImageBorder":true,"footerSavingPillPosition":"BEFORE_PRICE","metafieldNameSpaceAndKeys":[],"isB2BCatalogPricingEnabled":false,"allowPartialLocaleMatching":false,"productImageTransformConfig":{"isEnabled":true,"options":"{ maxHeight: 400, maxWidth: 400, scale: 1 }"},"customCss":"","customJs":""},"devMode":{"useNativeCartRefresh":true,"useWidgetATCButton":true,"useShadowRoot":false,"useAcceleratedCheckoutUrlRedirect":true,"useFormOnlyCartAdd":false},"selectorConfig":{"productFormSubmitSelector":null,"customVariantPickerSelectors":null,"quantityBtnSelectors":null,"addToCartBtnSelectors":null,"checkoutBtnSelector":null,"nativeDiscountedPriceSelector":null,"nativeOriginalPriceSelector":null,"nativePriceBadgeSelector":null},"postDecisionAddToCartConfig":{"executeDefaultSideCartUpdate":false,"redirectToCheckoutEnabled":true,"redirectToCartEnabled":false,"executeScriptAfterAddToCart":""}}}},"bundleLinkData":[{"_id":"64d3b6c6dd2fb15e39c8d4dd","bundleId":"1","bundleName":"Build an ABA Bundle","createdAt":"2023-08-09T15:54:46.390Z","bundleImg":"https:\/\/d3ks0ngva6go34.cloudfront.net\/giftBox\/different-roads.myshopify.com\/1692645014784.png","productsForBundleLink":[{"productId":"8566704865574","graphqlId":"gid:\/\/shopify\/Product\/8566704865574","handle":"different-roads-build-an-aba-bundle","variants":[{"variantId":"46258956599590","variantGraphqlId":"gid:\/\/shopify\/ProductVariant\/46258956599590"}],"hasOnlyDefaultVariant":true,"images":[{"originalSrc":"https:\/\/cdn.shopify.com\/s\/files\/1\/1788\/7187\/files\/DRK403VB-MappStartUpSetCropped.png?v=1692645654"},{"originalSrc":"https:\/\/cdn.shopify.com\/s\/files\/1\/1788\/7187\/files\/DRB034AWorkinProgressTheCurriculumAssessmentandDatasheets_94d68767-64c8-4246-b9c8-3ef5681356bc.png?v=1692645654"}],"title":"Different Roads Build an ABA Bundle","order":0}]}],"bundleUpsellData":{},"mixAndMatchData":[]}; if (ext_data && !ext_data?.errorMsg) { window.easybundles_ext_data = ext_data; } let sdk_bundle_upsell_index = []; window.__gbbOverflow = window.__gbbOverflow || {}; window.__gbbOverflow.upsellIndexRaw = sdk_bundle_upsell_index; if (window.easybundles_ext_data && Array.isArray(sdk_bundle_upsell_index)) { window.easybundles_ext_data.sdkBundleUpsellIndex = sdk_bundle_upsell_index; const matchedRaw = JSON.parse("{}") || {}; const matchedSdkUpsells = {}; for (const offerId of Object.keys(matchedRaw)) { const { entry, bundleData } = matchedRaw[offerId]; matchedSdkUpsells[offerId] = bundleData ? { ...entry, bundleData } : entry; } window.easybundles_ext_data.matchedSdkUpsells = matchedSdkUpsells; } let full_page_ext_data = {"userData":{"_id":"64d3b504dd2fb15e39c866bc","shopName":"different-roads.myshopify.com","brandName":"Different Roads","bundleSettings":{"allowMultipleBoxesFromSameBundle":true,"showCompareAtPrice":true,"dontIndexGiftboxBuilderPages_onGoogle":false,"isValidateInventoryEnabled":false,"calculateAutomaticDiscountInPercentage":true},"counters":{"reviewModal":100,"themeExtensionModal":5,"instructionsModalCnt":1,"viewBundleModalCnt":0,"createBundleModalCnt":0},"countryCode":"US","countryName":"United States","createdAt":"2023-08-09T15:47:16.712Z","currency":"USD","currencyInfo":{"code":"USD","symbol":"$","thousandsSeparator":",","decimalSeparator":".","symbolOnLeft":true,"spaceBetweenAmountAndSymbol":false,"decimalDigits":2},"customSettings":{"initialModalPopupCnt":0,"disableCartSettings":false,"addToCartBtnSelectors":null,"checkoutBtnSelectors":null,"customStyle":null,"addAfterAddTocartBtn":false,"addAftercheckoutBtn":false,"disableApp":false,"loadingGif":"https:\/\/gift-box-builder-app4.s3.us-east-2.amazonaws.com\/public\/icons\/loadingGif.gif","stackDiscounts":true,"showOnlyAdminSelectedVariants":true,"overWriteCheckoutBtn":false,"addGiftMessageToNote":true},"isAppFree":false,"isSubscription":{"id":30174970150,"name":"Monthly-Starter-July23","price":"19.00","billing_on":"2023-08-30","status":"active","created_at":"2023-08-09T11:47:53-04:00","updated_at":"2023-08-09T11:48:02-04:00","activated_on":"2023-08-09","return_url":"https:\/\/different-roads.myshopify.com\/admin\/apps\/10b4272bede142b02924feec498b4009","test":false,"cancelled_on":null,"trial_days":21,"trial_ends_on":"2023-08-30","api_client_id":3918921729,"decorated_return_url":"https:\/\/different-roads.myshopify.com\/admin\/apps\/10b4272bede142b02924feec498b4009?charge_id=30174970150","capped_amount":"199.00","balance_used":0,"balance_remaining":199,"risk_level":0.009460937499999999,"currency":"USD"},"multipleCurrenciesInfo":{"USD":{"code":"USD","symbol":"$","thousandsSeparator":",","decimalSeparator":".","symbolOnLeft":true,"spaceBetweenAmountAndSymbol":false,"decimalDigits":2}},"otherInfo":[],"planId":"","status":"1","timezone":"America\/New_York","updatedAt":"2026-07-16T14:49:33.914Z","isOnBoardingCompleted":true,"lastVisitTime":"2026-07-16T14:49:33.910Z","totalBundleRevenue":14609.499999999998,"totalOrdersCount":15,"reviewData":{"lastShownAt":"2024-10-23T19:42:06.452Z"},"shopDomain":"difflearn.com","mantleApiToken":"4cbb27f3-5125-49e1-8209-25f9c14f5522","storefrontAccessToken":"30dc3effe0240e23be727396cda72a9b","loginData":{"lastLoggedInAt":"2026-07-16T14:49:33.912Z"},"isAppLevelMetafieldCreated":true,"trackEvents":{"OB Welcome page visited":true,"OB Welcome page button click":true},"pageId":"cf709d2c-c1a1-46e9-a397-d9c8c7dda26d","isAppLevelMetafieldForFullPageBundlesCreated":true,"crispCustomerUrl":"https:\/\/app.crisp.chat\/website\/b3910a47-66c1-43ab-b044-8b97762f4a6b\/inbox\/session_998d0a62-913c-4a03-b80b-c5bd80b7aadf","mantleCustomerData":{"id":"a362c566-4237-47a0-b30b-a01156b00863","customerId":"e20269b1-8905-418e-9a88-1b9fd6b070e1","name":"Different Roads","test":false,"preferredCurrency":"USD","shopify":{"id":"17887187","myshopifyDomain":"different-roads.myshopify.com","planName":"Advanced"},"apiId":"84f442a1-2d4a-4012-85da-b4a4b38fc795","profileUrl":"https:\/\/app.heymantle.com\/apps\/84f442a1-2d4a-4012-85da-b4a4b38fc795\/customers\/e20269b1-8905-418e-9a88-1b9fd6b070e1"},"orderSummary":{"last30Days":{"totalOrderValue":0,"totalOrderValueUSD":0,"totalBundlesValue":0,"totalBundlesValueUSD":0,"totalBundlesSold":0,"totalOrderCount":0,"dateRange":{"from":"2026-06-16T00:00:00.000Z","to":"2026-07-16T00:00:00.000Z"},"lastUpdatedAt":"2026-07-16T14:49:33.755Z"},"shopOrderDataBeforeInstall":{"previousMonthRevenue":null,"previousMonthRevenueUSD":0,"previousMonthOrderCount":0}},"cancelledOrderWebhookRegistered":"success","webhooksCount":5,"webhooksLastAttempted":"2025-10-04T09:51:54.852Z","webhooksRegistered":["orders\/cancelled","app\/uninstalled","orders\/create","app\/uninstalled","themes\/publish"],"reRegisterCron":"success","webhooksLastUpdated":"2025-10-04T12:42:30.995Z","SERVER_URL":"https:\/\/prod.backend.giftbox.giftkart.app"},"languageData":{"_id":"64d3b505dd2fb15e39c866d7","shopName":"different-roads.myshopify.com","__v":0,"createdAt":"2023-08-09T15:47:17.009Z","en":{"landingPage":{"bannerText":{"id":"bannerText","label":"Banner Text","type":"text","value":"Build your own Bundle in just a few clicks!"},"bannerSubtext":{"id":"bannerSubtext","label":"Banner Subtext","type":"text","value":"Send a custom bundle to your loved one in just a few steps"},"bannerButtonText":{"id":"bannerButtonText","label":"Banner Button Text","type":"text","value":"Start Building your Bundle"},"selectPreCuratedBoxLabel":{"id":"selectPreCuratedBoxLabel","label":"Select Pre-Curated Box Label","type":"text","value":"Or select from a range of pre-curated Gift Boxes"}},"navigationSteps":{"productPageStepText":{"id":"productPageStepText","label":"Product Page Step Text","type":"text","value":"Add Products"},"giftBoxStepText":{"id":"giftBoxStepText","label":"Bundle Step Text","type":"text","value":"Add Gift Box"},"personalizeStepText":{"id":"personalizeStepText","label":"Personalize Step Text","type":"text","value":"Personalize"},"multipleCategoriesStepText":{"id":"multipleCategoriesStepText","label":"Multiple Categories Step Text","type":"text","value":"Multiple Categories"}},"productPage":{"selectProductsLabel":{"id":"selectProductsLabel","label":"Select Products Label","type":"text","value":"Select Products"},"productPageSubtext":{"id":"productPageSubtext","label":"Product Page Subtext","type":"text","value":""}},"giftBoxPage":{"selectGiftBoxLabel":{"id":"selectGiftBoxLabel","label":"Select Bundle Label","type":"text","value":"Select a Bundle Box"},"giftBoxPageSubtext":{"id":"giftBoxPageSubtext","label":"Gift Box Page Subtext","type":"text","value":""}},"videoMessage":{"permissionDenied":{"id":"permissionDenied","label":"Permission Denied","type":"text","value":"Permission Denied"},"uploadConfirmation":{"id":"uploadConfirmation","label":"Upload Confirmation","type":"text","value":"Your video has been successfully uploaded!"},"pressToRecord":{"id":"pressToRecord","label":"Press to record","type":"text","value":"Press to record"},"recording":{"id":"recording","label":"Recording","type":"text","value":"Recording...."},"errorMessage":{"id":"errorMessage","label":"Error Message","type":"text","value":"An error occured, Please try again!"},"loading":{"id":"loading","label":"Loading","type":"text","value":"Loading...."},"uploading":{"id":"uploading","label":"Uploading","type":"text","value":"Uploading...."},"sendVideoMessageText":{"id":"sendVideoMessageText","label":"Send Video Message Text","type":"text","value":"Send Video Message"},"giftMessageDeliveryInfo":{"id":"giftMessageDeliveryInfo","label":"Message Delivery Info","type":"text","value":"The message will be sent to the recipient via email as soon as the order is placed"},"saveVideoText":{"id":"saveVideoText","label":"Save Video Text","type":"text","value":"Save Video"},"reRecordVideoText":{"id":"reRecordVideoText","label":"Re-Record Video Text","type":"text","value":"Re-Record Video"}},"personalizePage":{"selectGreetingCardLabel":{"id":"selectGreetingCardLabel","label":"Select Greeting Card Label","type":"text","value":"Select A Greeting Card"},"clearSelectionButton":{"id":"clearSelectionButton","label":"Clear Selection label","type":"text","value":"Clear Selection"},"noImagesAvailable":{"id":"noImagesAvailable","label":"No Images Available label","type":"text","value":"No Images Available"},"messageLabel":{"id":"messageLabel","label":"Message Label","type":"text","value":"Message"},"senderNamePlaceholder":{"id":"senderNamePlaceholder","label":"Sender Name Placeholder","type":"text","value":"From"},"recipientNamePlaceholder":{"id":"recipientNamePlaceholder","label":"Recipient Name Placeholder","type":"text","value":"To"},"messagePlaceholder":{"id":"messagePlaceholder","label":"Message Placeholder","type":"text","value":"Enter a message here..."},"emailAddressLabel":{"id":"emailAddressLabel","label":"Recipient Email Address Label","type":"text","value":"Recipient Email Address"},"emailAddressPlaceholder":{"id":"emailAddressPlaceholder","label":"Recipient Email Address Placeholder","type":"text","value":"Enter a recipient email address here..."},"emailValidationMessage":{"id":"emailValidationMessage","label":"Email Validation Message","type":"text","value":"Please enter a valid email address"},"sendNow":{"id":"sendNow","label":"Send Now Label","type":"text","value":"Send Now"},"sendLater":{"id":"sendLater","label":"Send Later Label","type":"text","value":"Send Later"},"personalizePageSubtext":{"id":"personalizePageSubtext","label":"Personalize Page Subtext","type":"text","value":""},"messageIsRequiredError":{"id":"messageIsRequiredError","label":"Message is required warning","type":"text","value":"Please enter a message"}},"reviewPage":{"reviewPageBannerText":{"id":"reviewPageBannerText","label":"Review Page Banner Text","type":"text","value":"You’ve made the Right Choice!"},"reviewPageBannerSubtext":{"id":"reviewPageBannerSubtext","label":"Review Page Banner Subtext","type":"text","value":"Review your bundle and proceed to checkout"},"addOnsLabel":{"id":"addOnsLabel","label":"Add Ons Label","type":"text","value":"Add Ons"},"totalValueLabel":{"id":"totalValueLabel","label":"Total Value Label","type":"text","value":"Total Value"},"totalLabel":{"id":"totalLabel","label":"Total Label","type":"text","value":"Total"},"productLabel":{"id":"productLabel","label":"Product Header Label","type":"text","value":"Product"},"priceLabel":{"id":"priceLabel","label":"Price Header Text","type":"text","value":"Price"},"quantityLabel":{"id":"quantityLabel","label":"Quantity Header Text","type":"text","value":"Quantity"},"deliveryDateLabel":{"id":"deliveryDateLabel","label":"Delivery Date Label","type":"text","value":"Delivery Date"},"productsLabelText":{"id":"productsLabelText","label":"Products Label Text","type":"text","value":"Products"},"messagesLabelText":{"id":"messagesLabelText","label":"Messages Label Text","type":"text","value":"Messages"},"discountAppliedLabel":{"id":"discountAppliedLabel","label":"Discount Applied Label","type":"text","value":"Discount"},"subtotalLabel":{"id":"subtotalLabel","label":"Sub Total Label","type":"text","value":"Subtotal"},"orderDetailsLabel":{"id":"orderDetailsLabel","label":"Order Details Label","type":"text","value":"Order Details"},"itemsLabel":{"id":"itemsLabel","label":"No. of Items Label","type":"text","value":"Item(s)"},"oneTimePurchaseLabel":{"id":"oneTimePurchaseLabel","label":"One-Time Purchase label","type":"text","value":"One-Time Purchase"},"subscribeAndSaveLabel":{"id":"subscribeAndSaveLabel","label":"Subscribe and Save label","type":"text","value":"Subscribe and Save"},"noSubscriptionFoundLabel":{"id":"noSubscriptionFoundLabel","label":"No Subscription plans found label","type":"text","value":"Oops! No Subscription plans were found"},"deliveryFrequencyLabel":{"id":"deliveryFrequencyLabel","label":"Delivery Frequency Label","type":"text","value":"Delivery Frequency"},"createNewBoxLabel":{"id":"createNewBoxLabel","label":"Create New Box Label","type":"text","value":"Create new Box"},"editButtonText":{"id":"editButtonText","label":"Edit Label","type":"text","value":"Edit"},"deliverySchedulerPlaceholderText":{"id":"deliverySchedulerPlaceholderText","label":"Delivery Scheduler Placeholder Text","type":"text","value":"Select a date"}},"general":{"noProductsAvailable":{"id":"noProductsAvailable","label":"No Products Available label","type":"text","value":"No Products Available"},"filtersLabel":{"id":"filtersLabel","label":"Filters Label","type":"text","value":"Filters"},"clearSelection":{"id":"clearSelection","label":"Clear Filters Selection","type":"text","value":"Clear Selection"},"searchLabel":{"id":"searchLabel","label":"Search Label","type":"text","value":"Search"},"addToBoxButtonText":{"id":"addToBoxButtonText","label":"Add To Box Button","type":"text","value":"Add To Box"},"chooseOptionsButtonText":{"id":"chooseOptionsButtonText","label":"Choose Options Button","type":"text","value":"Choose Options"},"loadMoreProductsButtonText":{"id":"loadMoreProductsButtonText","label":"Load More Products Button","type":"text","value":"Load More Products"},"loadingCheckoutButtonText":{"id":"loadingCheckoutButtonText","label":"Loading Checkout Button","type":"text","value":"Loading Checkout..."},"addedText":{"id":"addedText","label":"Added Label","type":"text","value":"Added"},"addButtonText":{"id":"addButtonText","label":"Add Button Text","type":"text","value":"Add"},"nextButtonText":{"id":"nextButtonText","label":"Next Button Text","type":"text","value":"Next"},"addToCartButtonText":{"id":"addToCartButtonText","label":"Add To Cart Button Text","type":"text","value":"Add To Cart"},"backButtonText":{"id":"backButtonText","label":"Back Button Text","type":"text","value":"Back"},"checkoutButtonText":{"id":"checkoutButtonText","label":"Checkout Button Text","type":"text","value":"Checkout"},"removeButtonText":{"id":"removeButtonText","label":"Remove Button Text","type":"text","value":"Remove"},"reviewButtonText":{"id":"reviewButtonText","label":"Review Button Text","type":"text","value":"Review"},"combinationNotAvailable":{"id":"combinationNotAvailable","label":"Combination Not Available","type":"text","value":"Combination Not Available"},"quantity":{"id":"quantity","label":"Quantity Label","type":"text","value":"Quantity"},"viewCartProductsLabel":{"id":"viewCartProductsLabel","label":"View Cart Products Label","type":"text","value":"View Selected Products"},"selectedProductsLabel":{"id":"selectedProductsLabel","label":"Selected Products Label","type":"text","value":"Selected Products"},"selectBundleProductsText":{"id":"selectBundleProductsText","label":"Select Bundle Products label","type":"text","value":"Select Bundle Products"},"redirectingText":{"id":"redirectingText","label":"Redirecting label","type":"text","value":"Redirecting..."},"preparingBundleText":{"id":"preparingBundleText","label":"Preparing Bundle Label","type":"text","value":"Preparing Bundle..."},"productsNotAvailableText":{"id":"productsNotAvailableText","label":"Products Not Available Label","type":"text","value":"Oops! Some Products are not available"},"discountsMayNotApplyText":{"id":"discountsMayNotApplyText","label":"Discounts may not be applied Label","type":"text","value":"discounts may not be applied"},"removeAllBoxProducts":{"id":"removeAllBoxProducts","label":"Remove all Box Products Label (Cart Page Popup)","type":"text","value":"This is a Box Product. Removing this will remove all the products from box"},"cartPageCheckoutButtonLoadingText":{"id":"cartPageCheckoutButtonLoadingText","label":"Cart Page Checkout Button Loading Text","type":"text","value":"Loading Checkout..."},"inventoryInStockText":{"id":"inventoryInStockText","label":"Inventory in Stock Label","type":"text","value":"in Stock"},"inventoryLimitReachedText":{"id":"inventoryLimitReachedText","label":"Inventory Limit Reached Label","type":"text","value":"No More Stock"},"productAddedBtnText":{"id":"productAddedBtnText","label":"Product Added label","type":"text","value":"Added"},"boxSelectionEligibilityToast":{"id":"boxSelectionEligibilityToast","label":"Box Selection Eligibility Toast","type":"text","value":"Remove ##boxSelectionDifference## item(s) to select this box"},"discountRibbonSuffix":{"id":"discountRibbonSuffix","label":"Discount Badge Suffix","type":"text","value":"off"},"itemsInCartLabel":{"id":"itemsInCartLabel","label":"Cart Inclusion Title","type":"text","value":"item(s)"},"removeFooterProductFrom":{"id":"removeFooterProductFrom","label":"Remove Product from Footer Text","type":"text","value":"Remove This Product From ##stepName##"},"selectSubscriptionPlanButtonText":{"id":"selectSubscriptionPlanButtonText","label":"Subscription Selection Label","type":"text","value":"Select Subscription Plan"}},"discountRules":{"rule1":{"amount":{"id":"amount","label":"Amount","type":"text","value":""},"text":{"id":"text","label":"Text","type":"text","value":""}},"rule2":{"amount":{"id":"amount","label":"Amount","type":"text","value":""},"text":{"id":"text","label":"Text","type":"text","value":""}},"rule3":{"amount":{"id":"amount","label":"Amount","type":"text","value":""},"text":{"id":"text","label":"Text","type":"text","value":""}},"rule4":{"amount":{"id":"amount","label":"Amount","type":"text","value":""},"text":{"id":"text","label":"Text","type":"text","value":""}},"rule5":{"amount":{"id":"amount","label":"Amount","type":"text","value":""},"text":{"id":"text","label":"Text","type":"text","value":""}}},"sortBy":{"sortLabel":{"id":"sortLabel","label":"Sort Label","type":"text","value":"Sort"},"alphabeticalAToZ":{"id":"alphabeticalAToZ","label":"Alphabetical, A-Z Label","value":"Alphabetical, A-Z"},"alphabeticalZToA":{"id":"alphabeticalZToA","label":"Alphabetical, Z-A Label","value":"Alphabetical, Z-A"},"priceHighToLow":{"id":"priceHighToLow","label":"Price, High to Low Label","value":"Price, High to Low"},"priceLowToHigh":{"id":"priceLowToHigh","label":"Price, Low to High Label","value":"Price, Low to High"},"featured":{"id":"featured","label":"Featured Label","type":"text","value":"Featured"}},"conditions":{"amount":{"greaterThanOrEqualTo":{"id":"greaterThanOrEqualTo","label":"Greater than condition message","type":"text","value":"Add products worth at least ##conditionAmount## on this step"},"lessThanOrEqualTo":{"id":"lessThanOrEqualTo","label":"Less than condition message","type":"text","value":"Add products worth maximum of ##conditionAmount## on this step"},"equalTo":{"id":"equalTo","label":"Equal to condition message","type":"text","value":"Add products worth ##conditionAmount## on this step"}},"quantity":{"greaterThanOrEqualTo":{"id":"greaterThanOrEqualTo","label":"Greater than condition message","type":"text","value":"Add at least ##conditionQuantity## products on this step"},"lessThanOrEqualTo":{"id":"lessThanOrEqualTo","label":"Less than condition message","type":"text","value":"Add a maximum of ##conditionQuantity## products to continue"},"equalTo":{"id":"equalTo","label":"Equal to condition message","type":"text","value":"Add exactly ##conditionQuantity## products on this step"}},"weight":{"greaterThanOrEqualTo":{"id":"greaterThanOrEqualTo","label":"Greater than condition message","type":"text","value":"Add products weighing at least ##conditionWeight## on this step"},"lessThanOrEqualTo":{"id":"lessThanOrEqualTo","label":"Less than condition message","type":"text","value":"Add products weighing maximum of ##conditionWeight## on this step"},"equalTo":{"id":"equalTo","label":"Equal to condition message","type":"text","value":"Add products weighing ##conditionWeight## on this step"}}},"multipleCategoriesPage":{"multipleCategoriesSubtext":{"id":"multipleCategoriesSubtext","label":"Multiple Categories Page Subtext","type":"text","value":""}},"multipleCategories":{},"addons":{"maxAddonProductsAllowed":{"id":"maxAddonProductsAllowed","label":"Max Addon Products Allowed message","type":"text","value":" add maximum ##maxAllowedAddons## products to continue"},"addonProductsMandatory":{"id":"addonProductsMandatory","label":"Addon Products Mandatory message","type":"text","value":"Please add atleast one product"},"firstBundleInteraction":{"id":"firstBundleInteraction","label":"Mobile Add On Notification","type":"text","value":"Additional offers to be unlocked"}},"modals":{"clearCart":{"cancelButtonText":{"id":"cancelButtonText","label":"Modal - Cancel Button Text","type":"text","value":"Cancel"},"confirmButtonText":{"id":"confirmButtonText","label":"Modal - Confirm Button Text","type":"text","value":"Clear Cart"},"description":{"id":"description","label":"Modal - Description","type":"text","value":"Are you sure you want to clear all items from your cart? This action cannot be undone..."},"title":{"id":"title","label":"Modal - Title","type":"text","value":"Are you sure?"},"triggerButtonText":{"id":"triggerButtonText","label":"Clear Cart Button Text","type":"text","value":"Clear"}}}},"languageMode":"SINGLE","updatedAt":"2026-06-29T08:44:28.980Z","mixAndMatchTextData":{"en":{"conditions":{"amount":{"greaterThanOrEqualTo":{"id":"greaterThanOrEqualTo","label":"Greater than condition message","type":"text","value":"Add products worth at least ##conditionAmount## on this step"},"lessThanOrEqualTo":{"id":"lessThanOrEqualTo","label":"Less than condition message","type":"text","value":"Add products worth maximum of ##conditionAmount## on this step"},"equalTo":{"id":"equalTo","label":"Equal to condition message","type":"text","value":"Add products worth ##conditionAmount## on this step"}},"quantity":{"greaterThanOrEqualTo":{"id":"greaterThanOrEqualTo","label":"Greater than condition message","type":"text","value":"Add at least ##conditionQuantity## products on this step"},"lessThanOrEqualTo":{"id":"lessThanOrEqualTo","label":"Less than condition message","type":"text","value":"Add a maximum of ##conditionQuantity## products to continue"},"equalTo":{"id":"equalTo","label":"Equal to condition message","type":"text","value":"Add exactly ##conditionQuantity## products on this step"}},"weight":{"greaterThanOrEqualTo":{"id":"greaterThanOrEqualTo","label":"Greater than condition message","type":"text","value":"Add products weighing at least ##conditionWeight## on this step"},"lessThanOrEqualTo":{"id":"lessThanOrEqualTo","label":"Less than condition message","type":"text","value":"Add products weighing maximum of ##conditionWeight## on this step"},"equalTo":{"id":"equalTo","label":"Equal to condition message","type":"text","value":"Add products weighing ##conditionWeight## on this step"}}},"general":{"noProductsAvailable":{"id":"noProductsAvailable","label":"No Products Available label","type":"text","value":"No Products Available"},"addBundleToCartBtnText":{"id":"addBundleToCartBtnText","label":"Add Bundle Cart label","type":"text","value":"Add Bundle to Cart"},"addBundleToCartLoadingBtnText":{"id":"addBundleToCartLoadingBtnText","label":"Add Bundle Loading label","type":"text","value":"Adding Bundle..."},"inventoryLimitReachedText":{"id":"inventoryLimitReachedText","label":"Inventory Limit Reached Label","type":"text","value":"No More Stock"},"emptyCardText":{"id":"emptyCardText","label":"Add Product Card Text","type":"text","value":"Add Product"},"boxSelectionEligibilityToast_inPage":{"id":"boxSelectionEligibilityToast_inPage","label":"Box Selection Eligibility Toast","type":"text","value":"Remove ##boxSelectionDifference## item(s) to select this box"},"subtotalLabelText_inPage":{"id":"subtotalLabelText_inPage","label":"Subtotal Text","type":"text","value":"Subtotal"},"boxConditionInitialText_inPage":{"id":"boxConditionInitialText_inPage","label":"Inline Add To Cart Button - Quantity Selection message","type":"text","value":"Select {{quantityDifference}} Items"},"stepsDrawerPillText":{"id":"stepsDrawerPillText","label":"Steps Drawer Pill Text","type":"text","value":"Show all steps"}},"footer":{"footerPrevBtnText":{"id":"footerPrevBtnText","label":"Footer Previous Button","type":"text","value":"Prev"},"footerNextBtnText":{"id":"footerNextBtnText","label":"Footer Next Button","type":"text","value":"Next"},"footerFinishBtnText":{"id":"footerFinishBtnText","label":"Footer Finish Button","type":"text","value":"Done"}},"productCard":{"productCardAddBtnText":{"id":"productCardAddBtnText","label":"Product Add to Cart Button","type":"text","value":"Add to Cart"},"productVariantLabelText":{"id":"productVariantLabelText","label":"Product Variant Label","type":"text","value":"Select variant"},"productCardAddBtnText_inPage":{"id":"productCardAddBtnText_inPage","label":"Inline Product - Add Button Text","type":"text","value":"Add +"}}}},"productBundle":{"en":{"general":{"title":{"id":"title","label":"Title","type":"text","value":"Bundle"},"subTitle":{"id":"subTitle","label":"Sub Title","type":"text","value":"Select the products you want to add to your bundle"},"unSelectedOptionLabel":{"id":"unSelectedOptionLabel","label":"Unselected Option Label","type":"text","value":"Select {{option_name}}"}},"validation":{"unselectedOption":{"id":"unselectedOption","label":"Unselected Option","type":"text","value":"{{option_name}} selection required"},"outOfStockOption":{"id":"outOfStockOption","label":"Out Of Stock Option","type":"text","value":"currently not available"}},"footer":{"atcButtonText":{"id":"atcButtonText","label":"Add to Cart Button Text","type":"text","value":"Add to Cart"},"atcButtonOutOfStockText":{"id":"atcButtonOutOfStockText","label":"Add to Cart Out of Stock Text","type":"text","value":"Out of Stock"},"priceLabel":{"id":"priceLabel","label":"Price Label","type":"text","value":"Total Price"},"savingsBadgeText":{"id":"savingsBadgeText","label":"Savings Badge Text","type":"text","value":"You save {{amount_saved}}"}}}}},"pageCustomizationData":{"_id":"64d3b505dd2fb15e39c866d6","shopName":"different-roads.myshopify.com","__v":0,"banners":{"landingPageImageSrc":"https:\/\/d3ks0ngva6go34.cloudfront.net\/public\/banners\/landing_page_bannerv2.png","pageBannerImageSrc":"https:\/\/d3ks0ngva6go34.cloudfront.net\/public\/banners\/page_banner_temp.png","productReviewImageSrc":"https:\/\/d3ks0ngva6go34.cloudfront.net\/public\/banners\/landing_page_bannerv2.png"},"cartFooter":{"cartFooterBgColor":"#f1f2f3","cartFooterTextColor":"#000000","cartFooterNextButtonColor":"#000000","cartFooterNextButtonTextColor":"#ffffff","cartFooterBackButtonColor":"#6d7175","cartFooterBackButtonTextColor":"#ffffff","cartFooterDiscountTextColor":"#000000"},"colors":{"disabledColor":"gray","primaryColor":"blue","productBox":"blue","secondaryColor":"aqua","textColor":"black"},"createdAt":"2023-08-09T15:47:17.009Z","landingPage":{"landingPageTextColor":"#000000","landingPageButtonBgColor":"#C8102E","landingPageButtonTextColor":"#ffffff"},"navigationBanner":{"navigationBannerTitleColor":"#ffffff","navigationBannerTextColor":"#ffffff","navigationBannerStepCompletionColor":"#E0C6AD","navigationBannerStepDoneColor":"#ffffff","navigationBannerStepTextColor":"#C8102E"},"previewPage":{"bannerTextColor":"#ffffff"},"primaryFont":"","productCard":{"productCardBgColor":"#F2F2F2","productCardTextColor":"#252525","productCardButtonColor":"#470A68","productCardButtonTextColor":"#ffffff"},"quickSettings":{"isQuickSettingsEnabled":false,"colors":{"primaryColor":"#000000","buttonBgColor":"#000000","buttonTextColor":"#ffffff"}},"summaryBlock":{"summaryBlockAddToCartButtonColor":"#C8102E","summaryBlockAddToCartButtonTextColor":"#ffffff"},"updatedAt":"2026-06-29T08:44:32.683Z","categoryBlock":{"categoryBgColor":"#FFFFFF"},"generalSettings":{"scrollBar":{"scrollBarColor":"#000000"},"conditionToast":{"conditionToastBgColor":"#000000","conditionToastTextColor":"#ffffff"},"icon":{"iconBgColor":"#000000","iconTextColor":"#ffffff"},"productPage":{"productPageTitleColor":"#000000"}},"productBundle":{"designSettings":{},"globalSettings":{"general":{"autoShiftToAvailableVariant":true,"hideOutOfStockOptions":false,"unselectOptionsByDefault":true,"showProductCardImageBorder":true,"footerSavingPillPosition":"BEFORE_PRICE","metafieldNameSpaceAndKeys":[],"isB2BCatalogPricingEnabled":false,"allowPartialLocaleMatching":false,"productImageTransformConfig":{"isEnabled":true,"options":"{ maxHeight: 400, maxWidth: 400, scale: 1 }"},"customCss":"","customJs":""},"devMode":{"useNativeCartRefresh":true,"useWidgetATCButton":true,"useShadowRoot":false,"useAcceleratedCheckoutUrlRedirect":true,"useFormOnlyCartAdd":false},"selectorConfig":{"productFormSubmitSelector":null,"customVariantPickerSelectors":null,"quantityBtnSelectors":null,"addToCartBtnSelectors":null,"checkoutBtnSelector":null,"nativeDiscountedPriceSelector":null,"nativeOriginalPriceSelector":null,"nativePriceBadgeSelector":null},"postDecisionAddToCartConfig":{"executeDefaultSideCartUpdate":false,"redirectToCheckoutEnabled":true,"redirectToCartEnabled":false,"executeScriptAfterAddToCart":""}}}}}; let parent_product_data = null; if(full_page_ext_data && !full_page_ext_data?.errorMsg) { window.easybundle_user_ext_data = full_page_ext_data.userData || {} } if (parent_product_data && !parent_product_data?.errorMsg) { window.shopifyLiquidValuesApp4Ext.product.bundleProductConfiguration = parent_product_data; const isAutoPlaceFullPageBundleEnabled = full_page_ext_data?.userData?.customSettings?.isAutoPlaceFullPageBundleEnabled ?? true let bundle_data = null; const keys = ["SDK", "PB"]; const keyPrefix = parent_product_data.appLevelMetafieldKey?.split('-')[0]; const isSdkBundle = keys.includes(keyPrefix); const bundleDesignTemplate = parent_product_data.bundleDesignTemplate || ''; const isPdpBundleBuilder = bundleDesignTemplate.startsWith('PDP_') || bundleDesignTemplate === 'CUSTOM_TEMPLATE'; const isPbBundleBuilder = bundleDesignTemplate.startsWith('PB_'); const isQbBundleBuilder = bundleDesignTemplate.startsWith('QB_'); const isPdpBundle = isPdpBundleBuilder || isPbBundleBuilder || isQbBundleBuilder; if(full_page_ext_data && bundle_data){ if (!isPdpBundle){ isAutoPlaceFullPageBundleEnabled && removeProductHtmlForBundles(); isAutoPlaceFullPageBundleEnabled && buildDummyProductHtmlForBundles(); } const discountsConfiguration = bundle_data?.discountsData; delete bundle_data.discountsData; let active_bundle_data = { ...full_page_ext_data, stepsConfigurationData: bundle_data, discountsData: discountsConfiguration || {}, } if (isSdkBundle) { active_bundle_data.bundleType = parent_product_data.bundleType, active_bundle_data.bundleDesignTemplate = parent_product_data.bundleDesignTemplate, active_bundle_data._preResolvedBundle = true, active_bundle_data._bundleData = bundle_data, delete active_bundle_data.stepsConfigurationData; } // easybundle_full_page_ext_data is a legacy alias. window.easybundle_active_bundle_data = active_bundle_data; window.easybundle_full_page_ext_data = active_bundle_data; } } } function checkIfShouldImportMixAndMatchAssets(allMixAndMatchBundles) { try{ const currentProductId = window.shopifyLiquidValuesApp4Ext?.product?.productData?.id; if(!currentProductId || allMixAndMatchBundles?.length <= 0){ return false; } const isThisParentProductPage = allMixAndMatchBundles.some(bundle => bundle.parentProductShopifyData?.id == currentProductId); if(isThisParentProductPage) return true; const currentProductCollections = window.shopifyLiquidValuesApp4Ext?.product?.collections?.map(collection => collection.id); for(let bundle of allMixAndMatchBundles){ const bundleUpsellConfig = bundle.bundleUpsellConfig; const isBundleUpsellEmbedEnabled = bundleUpsellConfig?.upsellConfiguration?.isEnabled; const isBundleUpsellWidgetEnabled = bundleUpsellConfig?.widgetConfiguration?.isEnabled; if(!isBundleUpsellEmbedEnabled && !isBundleUpsellWidgetEnabled) continue; const widgetDisplayConfig = bundleUpsellConfig?.widgetConfiguration?.displayConfiguration; const upsellDisplayConfig = bundleUpsellConfig?.upsellConfiguration?.displayConfiguration; let showOnAllBundleProducts = false; let productIdsToCheck = []; let collectionIdsToCheck = []; if(isBundleUpsellEmbedEnabled){ showOnAllBundleProducts = upsellDisplayConfig?.showOnAllBundleProducts; productIdsToCheck = upsellDisplayConfig?.showOnSpecificProductPages?.map(product => product?.productId) || [] collectionIdsToCheck = upsellDisplayConfig?.showOnSpecificCollectionPages?.map(collection => collection?.collectionId) || [] } if(isBundleUpsellWidgetEnabled){ showOnAllBundleProducts = showOnAllBundleProducts || widgetDisplayConfig?.showOnAllBundleProducts; const productIds = widgetDisplayConfig?.showOnSpecificProductPages?.map(product => product?.productId) || []; const collectionIds = widgetDisplayConfig?.showOnSpecificCollectionPages?.map(collection => collection?.collectionId) || []; productIdsToCheck = [ ...productIdsToCheck, ...productIds ]; collectionIdsToCheck = [ ...collectionIdsToCheck, ...collectionIds ]; } if(showOnAllBundleProducts){ Object.keys(bundle ?? {}).filter(key => key?.startsWith('productsData')).forEach(stepKey => { const stepData = bundle?.[stepKey]; Object.values(stepData?.categories ?? {}).forEach(category => { const productIds = category?.products?.map(product => product.productId) || []; const collectionIds = category?.collectionsSelectedData?.map(collection => collection.id?.replace("gid://shopify/Collection/", "")) || []; productIdsToCheck = [ ...productIdsToCheck, ...productIds ]; collectionIdsToCheck = [ ...collectionIdsToCheck, ...collectionIds ]; }) }) } const isThisProductRelevant = productIdsToCheck?.some(productId => productId == currentProductId); const isThisProductCollectionsRelevant = collectionIdsToCheck?.some(collectionId => currentProductCollections?.includes(collectionId)); if(isThisProductRelevant || isThisProductCollectionsRelevant) return true; } return false; }catch(err){ debugConsole("error in checkIfShouldImportMixAndMatchAssets",err) return false; } } window.gbbExtEmbed.f.checkIfShouldImportMixAndMatchAssets = checkIfShouldImportMixAndMatchAssets; // Fallback only; the primary match runs server-side in sdk-upsell-matches.liquid. // Two blocks declare two products, but the page-wide globals hold one (seeded with ??=). function getMatchContexts(){ const contexts = []; const pageProduct = window.shopifyLiquidValuesApp4Ext?.product; if(pageProduct?.productData?.id){ contexts.push({ productId: pageProduct.productData.id, collectionIds: pageProduct.collections?.map(c => c.id) ?? [], }); } for(const block of document.querySelectorAll('.gbbPbProductBundleWrapper[data-block-product-id]')){ contexts.push({ productId: block.dataset.blockProductId, collectionIds: block.dataset.blockCollectionIds ? block.dataset.blockCollectionIds.split(',') : [], }); } return contexts; } function checkIfShouldImportSDKAssets(allSdkBundles){ try{ const matched = []; const contexts = getMatchContexts(); if(!contexts.length || !Array.isArray(allSdkBundles) || allSdkBundles.length <= 0){ return matched; } const matchesSurface = (surface, ctx) => { if((surface?.productIds ?? []).some(id => id == ctx.productId)){ return true; } if((surface?.collectionIds ?? []).some(cid => ctx.collectionIds.includes(cid))){ return true; } return false; }; const matchesContext = (bundle, ctx) => { if(bundle?.productId && bundle.productId == ctx.productId) return true; const cfg = bundle?.bundleUpsellConfig; if(!cfg) return false; return matchesSurface(cfg?.upsellConfiguration?.showOn, ctx) || matchesSurface(cfg?.widgetConfiguration?.showOn, ctx); }; for(const bundle of allSdkBundles){ if(bundle?.bundleStatus && bundle.bundleStatus !== 'ACTIVE') continue; if(contexts.some(ctx => matchesContext(bundle, ctx))) matched.push(bundle); } return matched; }catch(err){ debugConsole("error in checkIfShouldImportSDKAssets", err); return []; } } window.gbbExtEmbed.f.checkIfShouldImportSDKAssets = checkIfShouldImportSDKAssets; function loadAssetFiles(assets){ try{ assets.forEach(({ id, tag, attrs, onload }) => { if (!document.getElementById(id)) { const el = Object.assign(document.createElement(tag), { id, ...attrs }); const rewriteAssetUrl = window.__ebAssetUrlRewriter; // preview-only hook; undefined in prod → no-op if (rewriteAssetUrl) { if (el.src) el.src = rewriteAssetUrl(el.src); if (el.href) el.href = rewriteAssetUrl(el.href); } if (onload) el.onload = () => onload(el); document.head.appendChild(el); } }); }catch(err){ debugConsole("error in loadAssetFiles",err) } } // Theme assets hold only .min; unminified ships to S3/CloudFront. const STOREFRONT_CDN = 'https://d1712zxri13o2p.cloudfront.net'; const CDN_ENV = new URLSearchParams(location.search).get('env') === 'staging' ? 'staging' : 'production'; // All three SDKs nest under sdk//; keep in step with storefrontAssets.registry.js. const cdn = (dir, file) => `${STOREFRONT_CDN}/${dir}/${CDN_ENV}/active/${file}`; async function importAppEmbedAssets (loadUnminifiedFiles){ try{ const jsBaseUrl = loadUnminifiedFiles ? `${STOREFRONT_CDN}/app-embed/${CDN_ENV}/active/giftBoxLogicv1.js` : 'https://cdn.shopify.com/extensions/01a0d212-ebf6-7874-9320-4d5092abbbd5/gift-box-builder-1-467/assets/easy-bundle-min.js'; const cssBaseUrl = loadUnminifiedFiles ? `${STOREFRONT_CDN}/app-embed/${CDN_ENV}/active/giftBoxv1.css` : 'https://cdn.shopify.com/extensions/01a0d212-ebf6-7874-9320-4d5092abbbd5/gift-box-builder-1-467/assets/easy-bundle-min.css'; const assets = [ { id: 'gbbExt-bundle-embed-css', tag: 'link', attrs: { href: cssBaseUrl, rel: 'stylesheet', media: 'all' }, onload: (el) => el.media = 'all' }, { id: 'gbbExt-bundle-embed-js', tag: 'script', attrs: { src: jsBaseUrl, async: false } } ]; loadAssetFiles(assets); }catch(err){ debugConsole("error in importAppEmbedAssets",err) } } async function importMixAndMatchAssets (loadUnminifiedFiles){ try{ const customSettings = window.easybundles_ext_data?.userData?.customSettings ?? window.easybundle_user_ext_data?.customSettings ?? {}; const isAutoPlacementEnabled = customSettings?.isLoadMixAndMatchAssetsFromS3Enabled ?? false; if(!isAutoPlacementEnabled) return; const allMixAndMatchBundles = window.easybundles_ext_data?.mixAndMatchData ?? []; const shouldImportMixAndMatchAssets = checkIfShouldImportMixAndMatchAssets(allMixAndMatchBundles); if(!shouldImportMixAndMatchAssets) return; const baseURL = loadUnminifiedFiles ? `${STOREFRONT_CDN}/product-page-bundle/${CDN_ENV}/active/mixAndMatchBundle` : 'https://cdn.shopify.com/extensions/01a0d212-ebf6-7874-9320-4d5092abbbd5/gift-box-builder-1-467/assets/easy-bundle-product-page-min'; const assets = [ { id: 'gbbMix-bundle-embed-css', tag: 'link', attrs: { href: baseURL + '.css', rel: 'stylesheet', media: 'all' }, onload: (el) => el.media = 'all' }, { id: 'gbbMix-bundle-embed-js', tag: 'script', attrs: { src: baseURL + '.js', async: false } } ]; loadAssetFiles(assets); }catch(err){ debugConsole("error in checkAndImportMixAndMatchScript",err) } } async function importFullPageAssets (loadUnminifiedFiles){ try{ const activeBundleData = window.easybundle_active_bundle_data ?? window.easybundle_full_page_ext_data; const customSettings = activeBundleData?.userData?.customSettings ?? window.easybundle_user_ext_data?.customSettings ?? {}; const isAutoPlaceFullPageBundleEnabled = customSettings && (customSettings?.isAutoPlaceFullPageBundleEnabled ?? true); if(!isAutoPlaceFullPageBundleEnabled) return; const forceCdn = isForceCdn(); if(forceCdn || !activeBundleData?.stepsConfigurationData || activeBundleData?.stepsConfigurationData?.errorMsg){ debugConsole(forceCdn ? "importFullPageAssets => gbbForceCdn flag set, fetching from backup S3" : "importFullPageAssets => bundleData metafield limit exceeded, fetching from backup S3"); const data = await getBundleDataFromS3(); if(!data || !data?.stepsConfigurationData){ debugConsole("error in importFullPageAssets => Failed to load the backup bundle data from s3."); return; } activeBundleData.stepsConfigurationData = data?.stepsConfigurationData; activeBundleData.discountsData = data?.discountsData; } // giftboxbuilderLogic self-loads jQuery (gbbUtils.f.loadJquery:137), so no prepend needed. const baseURL = loadUnminifiedFiles ? `${STOREFRONT_CDN}/full-page-bundle/${CDN_ENV}/active/giftboxbuilderLogic` : 'https://cdn.shopify.com/extensions/01a0d212-ebf6-7874-9320-4d5092abbbd5/gift-box-builder-1-467/assets/easy-bundle-full-page-min'; const assets = [ { id: 'gbb-bundle-embed-css', tag: 'link', attrs: { href: baseURL + '.css', rel: 'stylesheet', media: 'all' }, onload: (el) => el.media = 'all' }, { id: 'gbb-bundle-embed-js', tag: 'script', attrs: { src: baseURL + '.js', async: false } } ]; loadAssetFiles(assets); }catch(err){ debugConsole("error in importFullPageAssets",err) } } const SDK_TEMPLATE_URLS = { PDP_INPAGE: { jsMin: 'https://cdn.shopify.com/extensions/01a0d212-ebf6-7874-9320-4d5092abbbd5/gift-box-builder-1-467/assets/inline-bundle.min.js', cssMin: 'https://cdn.shopify.com/extensions/01a0d212-ebf6-7874-9320-4d5092abbbd5/gift-box-builder-1-467/assets/inline-bundle.min.css', js: cdn('product-page-templates/inline', 'inline-bundle.js'), css: cdn('product-page-templates/inline', 'inline-bundle.css') }, PDP_MODAL: { jsMin: 'https://cdn.shopify.com/extensions/01a0d212-ebf6-7874-9320-4d5092abbbd5/gift-box-builder-1-467/assets/expandable-bundle.min.js', cssMin: 'https://cdn.shopify.com/extensions/01a0d212-ebf6-7874-9320-4d5092abbbd5/gift-box-builder-1-467/assets/expandable-bundle.min.css', js: cdn('product-page-templates/expandable', 'expandable-bundle.js'), css: cdn('product-page-templates/expandable', 'expandable-bundle.css') }, PDP_OVERLAY: { jsMin: 'https://cdn.shopify.com/extensions/01a0d212-ebf6-7874-9320-4d5092abbbd5/gift-box-builder-1-467/assets/overlay-bundle.min.js', cssMin: 'https://cdn.shopify.com/extensions/01a0d212-ebf6-7874-9320-4d5092abbbd5/gift-box-builder-1-467/assets/overlay-bundle.min.css', js: cdn('product-page-templates/overlay', 'overlay-bundle.js'), css: cdn('product-page-templates/overlay', 'overlay-bundle.css') }, FBP_SIDE_FOOTER: { jsMin: 'https://cdn.shopify.com/extensions/01a0d212-ebf6-7874-9320-4d5092abbbd5/gift-box-builder-1-467/assets/side-footer-bundle.min.js', cssMin: 'https://cdn.shopify.com/extensions/01a0d212-ebf6-7874-9320-4d5092abbbd5/gift-box-builder-1-467/assets/side-footer-bundle.min.css', js: cdn('full-page-templates/sideFooter', 'side-footer-bundle.js'), css: cdn('full-page-templates/sideFooter', 'side-footer-bundle.css') }, PB_CLASSIC_INLINE: { jsMin: 'https://cdn.shopify.com/extensions/01a0d212-ebf6-7874-9320-4d5092abbbd5/gift-box-builder-1-467/assets/inset-bundle.min.js', cssMin: 'https://cdn.shopify.com/extensions/01a0d212-ebf6-7874-9320-4d5092abbbd5/gift-box-builder-1-467/assets/inset-bundle.min.css', js: cdn('product-bundle-templates/inset', 'inset-bundle.js'), css: cdn('product-bundle-templates/inset', 'inset-bundle.css') }, CUSTOM_TEMPLATE: { jsMin: `https://d1712zxri13o2p.cloudfront.net/customTemplates/${window.Shopify.shop}/###TEMPLATE_ID###/bundle.js`, cssMin: `https://d1712zxri13o2p.cloudfront.net/customTemplates/${window.Shopify.shop}/###TEMPLATE_ID###/bundle.css`, js: `https://d1712zxri13o2p.cloudfront.net/customTemplates/${window.Shopify.shop}/###TEMPLATE_ID###/bundle.js`, css: `https://d1712zxri13o2p.cloudfront.net/customTemplates/${window.Shopify.shop}/###TEMPLATE_ID###/bundle.css` } }; window.SDK_TEMPLATE_URLS = {...(window.SDK_TEMPLATE_URLS ?? {}), ...SDK_TEMPLATE_URLS}; // async:false preserves SDK-before-template order; template-keyed ids let types coexist. async function importSDKAssets(bundleContext, loadUnminifiedFiles){ try{ const parentProductData = window.shopifyLiquidValuesApp4Ext?.product?.bundleProductConfiguration; const offerId = bundleContext?.offerId ?? parentProductData?.offerId; const bundleDesignTemplate = bundleContext?.bundleDesignTemplate ?? parentProductData?.bundleDesignTemplate; const templateId = bundleContext?.templateId ?? parentProductData?.templateId; const bundleType = bundleContext?.bundleType ?? parentProductData?.bundleType; if(!offerId){ debugConsole("importSDKAssets: no offerId found in product metafield"); return; } const templateConfig = SDK_TEMPLATE_URLS[bundleDesignTemplate]; if(!templateConfig){ debugConsole("importSDKAssets: no template registered for bundleDesignTemplate", bundleDesignTemplate); return; } let templateJs = loadUnminifiedFiles ? templateConfig.js : templateConfig.jsMin; let templateCss = loadUnminifiedFiles ? templateConfig.css : templateConfig.cssMin; if (bundleDesignTemplate === 'CUSTOM_TEMPLATE') { if (!templateId) { debugConsole("importSDKAssets: CUSTOM_TEMPLATE selected but no templateId in product metafield"); return; } templateJs = templateJs.replace('###TEMPLATE_ID###', templateId); templateCss = templateCss.replace('###TEMPLATE_ID###', templateId); } // First matching rule wins; last is the default (mix SDK). const SDK_RUNTIME_RULES = [ { match: (type) => (type || '').includes('PRODUCT_BUNDLE'), id: 'gbb-precurated-sdk-js', url: loadUnminifiedFiles ? cdn('sdk/pb-sdk', 'easy-bundle-pb-sdk.js') : 'https://cdn.shopify.com/extensions/01a0d212-ebf6-7874-9320-4d5092abbbd5/gift-box-builder-1-467/assets/easy-bundle-pb-sdk.min.js' }, { match: () => true, id: 'gbb-sdk-js', url: loadUnminifiedFiles ? cdn('sdk/eb-sdk', 'easy-bundle-sdk.js') : 'https://cdn.shopify.com/extensions/01a0d212-ebf6-7874-9320-4d5092abbbd5/gift-box-builder-1-467/assets/easy-bundle-sdk.min.js' } ]; const sdkRuntime = SDK_RUNTIME_RULES.find((rule) => rule.match(bundleType)); const assets = [ { id: 'gbb-sdk-template-css-' + bundleDesignTemplate, tag: 'link', attrs: { href: templateCss, rel: 'stylesheet', media: 'all', className: 'gbb-sdk-template-css' }, onload: (el) => el.media = 'all' }, { id: sdkRuntime.id, tag: 'script', attrs: { src: sdkRuntime.url, async: false } }, { id: 'gbb-sdk-template-js-' + bundleDesignTemplate, tag: 'script', attrs: { src: templateJs, async: false } } ]; loadAssetFiles(assets); }catch(err){ debugConsole("error in importSDKAssets",err) } } window.gbbExtEmbed.f.importSDKAssets = importSDKAssets; function importAssets(isDevMode){ const customSettings = window.easybundles_ext_data?.userData?.customSettings ?? window.easybundle_active_bundle_data?.userData?.customSettings ?? {}; const loadUnminifiedFiles = isDevMode || (customSettings.loadUnminifiedStorefrontFiles ?? false); const bundleConfig = window.shopifyLiquidValuesApp4Ext?.product?.bundleProductConfiguration; const bundleKey = bundleConfig?.appLevelMetafieldKey || ''; const keyPrefix = bundleKey.split('-')[0]; const seenTemplates = new Set(); if (keyPrefix === 'SDK') { importSDKAssets(undefined, loadUnminifiedFiles); if (bundleConfig?.bundleDesignTemplate) { seenTemplates.add(bundleConfig.bundleDesignTemplate); } } else if(keyPrefix === 'PB'){ importSDKAssets(undefined, loadUnminifiedFiles); if (bundleConfig?.bundleDesignTemplate) { seenTemplates.add(bundleConfig.bundleDesignTemplate); } } else { importMixAndMatchAssets(loadUnminifiedFiles); importFullPageAssets(loadUnminifiedFiles); } // The SDK runtime is a singleton; per-offer state lives on gbbSdkTemplate.bundles. const matchedSdkUpsells = window.easybundles_ext_data?.matchedSdkUpsells ?? {}; for(const entry of Object.values(matchedSdkUpsells)){ if(!entry?.bundleDesignTemplate) continue; if(seenTemplates.has(entry.bundleDesignTemplate)) continue; seenTemplates.add(entry.bundleDesignTemplate); importSDKAssets(entry, loadUnminifiedFiles); } // Block-seeded bundles: routing is in the seeded data, so no DOM marker is needed. const blockBundles = window.easybundle_pb_block_bundles ?? {}; for (const [offerId, bundleData] of Object.entries(blockBundles)) { const bundleDesignTemplate = bundleData?.bundleDesignTemplate; if (!bundleDesignTemplate || seenTemplates.has(bundleDesignTemplate)) continue; seenTemplates.add(bundleDesignTemplate); importSDKAssets({ offerId: offerId, bundleType: 'PRODUCT_BUNDLE', bundleDesignTemplate: bundleDesignTemplate, templateId: bundleData?.bundleDesignTemplateData?.templateId, }, loadUnminifiedFiles); } importAppEmbedAssets(loadUnminifiedFiles); } // Must write recovered globals BEFORE importAssets loads the JS that reads them. async function resolveOverflows(){ const bundleConfig = window.shopifyLiquidValuesApp4Ext?.product?.bundleProductConfiguration; const recomputedFromCDN = await resolveUpsellIndexAndMatches(bundleConfig); const fetches = []; queueParentSdkConfigFetchIfOverflowed(fetches, bundleConfig); queueMatchedUpsellBundleDataFetches(fetches, recomputedFromCDN); queueBlockBundleDataFetches(fetches); if (fetches.length === 0) return; debugConsole("resolveOverflows => " + fetches.length + " parallel fetch(es)"); await Promise.all(fetches); } async function resolveUpsellIndexAndMatches(bundleConfig){ const upsellIndexRaw = window.__gbbOverflow?.upsellIndexRaw; const forceCdn = isForceCdn(); let upsellIndex = null; if (forceCdn || isOverflowed(upsellIndexRaw)) { debugConsole(forceCdn ? "resolveOverflows => gbbForceCdn flag set, fetching upsell index from CDN" : "resolveOverflows => upsell index overflowed, fetching from CDN"); upsellIndex = await getUpsellIndexFromCDN(); } else if (Array.isArray(upsellIndexRaw) && !window.easybundles_ext_data?.matchedSdkUpsells) { debugConsole("resolveOverflows => matchedSdkUpsells missing (likely ext_data overflow), recomputing from inline index"); upsellIndex = upsellIndexRaw; } if (!Array.isArray(upsellIndex)) return false; // Empty shell survives ext_data overflow: getSettings recovery Object.assigns onto it. window.easybundles_ext_data = window.easybundles_ext_data || {}; window.easybundles_ext_data.sdkBundleUpsellIndex = upsellIndex; const parentOfferId = bundleConfig?.offerId; const matchedMap = {}; for (const bundle of checkIfShouldImportSDKAssets(upsellIndex)) { if (!bundle?.offerId) continue; if (bundle.offerId === parentOfferId) continue; matchedMap[bundle.offerId] = bundle; } window.easybundles_ext_data.matchedSdkUpsells = matchedMap; return true; } function queueParentSdkConfigFetchIfOverflowed(fetches, bundleConfig){ const keyPrefix = (bundleConfig?.appLevelMetafieldKey || '').split('-')[0]; const keys = ["SDK", "PB"]; if (!keys.includes(keyPrefix)) return; if (!isForceCdn() && !isOverflowed(window.easybundle_active_bundle_data?._bundleData)) return; fetches.push( getSdkBundleDataFromCDN(bundleConfig?.offerId).then(function(fresh){ if (fresh && window.easybundle_active_bundle_data) { window.easybundle_active_bundle_data._bundleData = fresh; } }) ); } // Overflowed block bundles land as an { errorMsg } sentinel; same CDN recovery. function queueBlockBundleDataFetches(fetches){ const blockBundles = window.easybundle_pb_block_bundles ?? {}; const forceCdn = isForceCdn(); for (const [offerId, bundleData] of Object.entries(blockBundles)) { if (!isOverflowed(bundleData) && !forceCdn) continue; fetches.push( getSdkBundleDataFromCDN(offerId).then(function(fresh){ if (!fresh) return; // matchedForProductId is stamped on the seeded blob, not the CDN document; carry it across. window.easybundle_pb_block_bundles[offerId] = bundleData?.matchedForProductId != null ? Object.assign(fresh, { matchedForProductId: bundleData.matchedForProductId }) : fresh; }) ); } } function queueMatchedUpsellBundleDataFetches(fetches, recomputedFromCDN){ const matchedSdkUpsells = window.easybundles_ext_data?.matchedSdkUpsells ?? {}; const shouldHaveBundleData = window.easybundles_ext_data?.userFlags?.shouldGetBundleDataForWidgets !== false; const forceCdn = isForceCdn(); for (const [offerId, entry] of Object.entries(matchedSdkUpsells)) { const isSentinel = isOverflowed(entry?.bundleData); const isMissingAfterRecompute = recomputedFromCDN && shouldHaveBundleData && !entry?.bundleData; if (!isSentinel && !isMissingAfterRecompute && !forceCdn) continue; fetches.push( getSdkBundleDataFromCDN(offerId).then(function(fresh){ if (fresh) matchedSdkUpsells[offerId].bundleData = fresh; }) ); } } async function armPreviewIfRequested(urlParams){ const previewToken = urlParams.get('ebPreview'); if (!previewToken || !/^pr-\d+-[a-f0-9]{12}$/.test(previewToken)) return; let abortTimeout; try { const abortController = new AbortController(); abortTimeout = setTimeout(function(){ abortController.abort(); }, 5000); const bootUrl = 'https://d1712zxri13o2p.cloudfront.net/previews/preview-boot.min.js'; const response = await fetch(bootUrl, { signal: abortController.signal }); if (response.ok) await new Function('previewToken', await response.text())(previewToken); } catch (err) { debugConsole("preview boot failed", err); } finally { if (abortTimeout) clearTimeout(abortTimeout); } } // Phase order: initializeShopifyValues → resolveOverflows → importAssets. async function initialize(){ const urlParams = new URLSearchParams(window.location.search); const isDevMode = urlParams.get('dev') == 'true'; const isDebugMode = urlParams.get('debug') == 'true'; if (isDebugMode) { debugger; } initializeShopifyValues(); await resolveOverflows(); importAssets(isDevMode); } initialize(); })();
\\n
\\n{{^requires_selling_plan}}\\n{{^showSubOptionBeforeOneTime}}\\n
\\n \\n \\n \\n
\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n {{#sellingPlanVariants}}\\n
\\n \\n \\n{{^prepaidFlag}}\\n \\n{{#showFormattedDiscountText}}\\n {{{formattedDiscountText}}}\\n{{/showFormattedDiscountText}}\\n
{{{frequencyDescription}}}
\\n{{/prepaidFlag}}\\n{{#prepaidFlag}}\\n\\n{{#showFormattedDiscountText}}\\n {{{formattedDiscountText}}}\\n{{/showFormattedDiscountText}}\\n
{{{frequencyDescription}}}
\\n\\n{{/prepaidFlag}}\\n \\n
\\n {{/sellingPlanVariants}}\\n{{^requires_selling_plan}}\\n{{#showSubOptionBeforeOneTime}}\\n
\\n \\n \\n \\n
\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n
\\n{{#showStaticTooltip}}\\n
{{{toolTipDescription}}}
\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n
\\n
\\n \\n {{{tooltipTitle}}}\\n
\\n
\\n
\\n {{{toolTipDescription}}}\\n
\\n {{#showAppstleLink}}\\n \\n {{/showAppstleLink}}\\n
\\n
\\n{{/showTooltip}}\\n\\n\\n{% endraw %}\",\"WIDGET_TYPE_7\":\"{% raw %}{% endraw %}\",\"WIDGET_TYPE_8\":\"{% raw %}{% endraw %}\",\"WIDGET_TYPE_2\":\"{% raw %}{% endraw %}\",\"WIDGET_TYPE_3\":\"{% raw %}
\\n
\\n
{{{purchaseOptionsText}}}
\\n
\\n{{#showSubOptionBeforeOneTime}}\\n {{#sellingPlanVariants}}\\n
\\n \\n {{^prepaidFlag}}\\n \\n {{/prepaidFlag}}\\n {{#prepaidFlag}}\\n \\n {{/prepaidFlag}}\\n \\n
\\n {{/sellingPlanVariants}}\\n{{/showSubOptionBeforeOneTime}}\\n {{^requires_selling_plan}}\\n
\\n \\n \\n \\n
\\n {{/requires_selling_plan}}\\n{{^showSubOptionBeforeOneTime}}\\n {{#sellingPlanVariants}}\\n
\\n \\n {{^prepaidFlag}}\\n \\n {{/prepaidFlag}}\\n {{#prepaidFlag}}\\n \\n {{/prepaidFlag}}\\n \\n
\\n {{/sellingPlanVariants}}\\n{{/showSubOptionBeforeOneTime}}\\n
\\n{{#showStaticTooltip}}\\n
{{{toolTipDescription}}}
\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n
\\n \\n {{{tooltipTitle}}}\\n
\\n
\\n
\\n {{{toolTipDescription}}}\\n
\\n {{#showAppstleLink}}\\n \\n{{/showAppstleLink}}\\n
\\n{{/showTooltip}}\\n\\n
{% endraw %}\",\"WIDGET_TYPE_4\":\"{% raw %}
\\n
\\n
{{{purchaseOptionsText}}}
\\n
\\n{{^requires_selling_plan}}\\n{{^showSubOptionBeforeOneTime}}\\n
\\n \\n \\n
\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n {{#sellingPlanVariants}}\\n
\\n {{{formattedDiscountText}}}\\n \\n{{^prepaidFlag}}\\n \\n{{/prepaidFlag}}\\n{{#prepaidFlag}}\\n\\n{{/prepaidFlag}}\\n
\\n {{/sellingPlanVariants}}\\n{{^requires_selling_plan}}\\n{{#showSubOptionBeforeOneTime}}\\n
\\n \\n \\n
\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n
\\n{{#showStaticTooltip}}\\n
{{{toolTipDescription}}}
\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n
\\n \\n {{{tooltipTitle}}}\\n
\\n
\\n
\\n {{{toolTipDescription}}}\\n
\\n{{#showAppstleLink}}\\n \\n{{/showAppstleLink}}\\n
\\n{{/showTooltip}}\\n\\n
{% endraw %}\",\"WIDGET_TYPE_5\":\"{% raw %}
\\n
\\n
{{{purchaseOptionsText}}}
\\n
\\n{{^showSubOptionBeforeOneTime}}\\n{{^requires_selling_plan}}\\n
\\n \\n \\n \\n
\\n{{/requires_selling_plan}}\\n{{/showSubOptionBeforeOneTime}}\\n {{#sellingPlanVariants}}\\n
\\n \\n \\n \\n
\\n {{/sellingPlanVariants}}\\n{{#showSubOptionBeforeOneTime}}\\n{{^requires_selling_plan}}\\n
\\n \\n \\n \\n
\\n{{/requires_selling_plan}}\\n{{/showSubOptionBeforeOneTime}}\\n
\\n{{#showStaticTooltip}}\\n
{{{toolTipDescription}}}
\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n
\\n \\n {{{tooltipTitle}}}\\n
\\n
\\n
\\n {{{toolTipDescription}}}\\n
\\n {{#showAppstleLink}}\\n \\n {{/showAppstleLink}}\\n
\\n{{/showTooltip}}\\n \\n
{% endraw %}\"}", "bundle": {}, "labels": `{\"appstle.subscription.wg.cartHiddenAttributesSelectorV2\":\"\",\"appstle.subscription.wg.daysFrequencyTextV2\":\"Days\",\"appstle.subscription.wg.subscribeAndSaveSuccessV2\":\"Subscribe success\",\"appstle.subscription.wg.addToShipmentSuccessTextV2\":\"Success\",\"appstle.subscription.wg.monthFrequencyTextV2\":\"Month\",\"appstle.subscription.wg.addToShipmentButtonTextV2\":\"Add to Shipment\",\"appstle.subscription.wg.onetimeDescriptionTextV2\":\"\",\"appstle.subscription.wg.oneTimePurchaseTextV2\":\"One Time Purchase\",\"appstle.subscription.wg.loyaltyPerkDescriptionTextV2\":\"{{#isDiscountTypeFreeProduct}}
<\/img><\/div>
After {{{billingCycleBlock}}} orders, get a FREE {{freeProductName}} <\/span><\/div>
{{\/isDiscountTypeFreeProduct}}{{#isDiscountTypePercentage}}After {{{billingCycleBlock}}}<\/span> order<\/span>, get {{{discount}}}% OFF your entire order<\/span><\/span>.{{\/isDiscountTypePercentage}}{{#isDiscountTypeShipping}}After {{{billingCycleBlock}}}<\/span> order<\/span>, get shipping at {{{formatDiscountedPrice}}}<\/span><\/span>.{{\/isDiscountTypeShipping}}{{#isDiscountTypeFixed}}After {{{billingCycleBlock}}}<\/span> order<\/span>, get {{{formatDiscountedPrice}}} OFF your entire order<\/span><\/span>.{{\/isDiscountTypeFixed}}\",\"appstle.subscription.wg.bundleDiscountTextV2\":\"bundle discount extra: {{bundleDiscount}} off\",\"appstle.subscription.wg.atcButtonTextSelectorV2\":\"\",\"appstle.subscription.wg.oneTimeFrequencyTextV2\":\"One Time\",\"appstle.subscription.wg.allowFulfilmentCountViaPropertiesV2\":\"false\",\"appstle.subscription.wg.valdiateFormSelectorV2\":\"\",\"appstle.subscription.wg.monthsFrequencyTextV2\":\"Months\",\"appstle.subscription.wg.prepaidSaveBadgeTextV2\":\"SAVE {{selectedDiscountPercentage}}\",\"appstle.subscription.wg.manageSubscriptionButtonTextV2\":\"Manage Subscription\",\"appstle.subscription.wg.yearFrequencyTextV2\":\"Year\",\"appstle.subscription.wg.widgetPriceChangeListenerSelectorV2\":\"\",\"appstle.subscription.wg.atcButtonTextV2\":\"\",\"appstle.subscription.wg.noSubscriptionLabelTextV2\":\"No Subscription\",\"appstle.subscription.wg.cancelAnytimeLabelTextV2\":\"Cancel Anytime\",\"appstle.subscription.wg.addToShipmentErrorTextV2\":\"Error\",\"appstle.subscription.wg.weeksFrequencyTextV2\":\"Weeks\",\"appstle.subscription.wg.weeklyLabelTextV2\":\"Weekly\",\"appstle.subscription.wg.displayAddToExistingSubscriptionButtonForNotLoggedInV2\":\"false\",\"appstle.subscription.wg.addToShipmentProcessingV2\":\"Processing...\",\"appstle.subscription.wg.showWidgetStaticV2\":\"false\",\"appstle.subscription.wg.deliveryEveryFrequencyTextV2\":\"Delivery Every\",\"appstle.subscription.wg.subscribeAndSaveInitalV2\":\"Subscribe & save\",\"appstle.subscription.wg.allowRefreshOnCartPageV2\":\"false\",\"appstle.subscription.wg.prepaidLabelTextV2\":\"Prepaid\",\"appstle.subscription.wg.monthlyLabelTextV2\":\"Monthly\",\"appstle.subscription.wg.displayAddToExistingSubscriptionButtonToSubscribersOnlyV2\":\"false\",\"appstle.subscription.wg.yearsFrequencyTextV2\":\"Years\",\"appstle.subscription.wg.addToShipmentTooltipTextV2\":\"Please avoid double delivery charges! Login to add this product to an upcoming delivery.\",\"appstle.subscription.wg.weekFrequencyTextV2\":\"Week\",\"appstle.subscription.wg.unsubscribeFrequencyTextV2\":\"One-time Purchase\",\"appstle.subscription.wg.widgetVariantChangeListenerSelectorV2\":\"\",\"appstle.subscription.wg.atcButtonTextSelectorObserverV2\":\"\",\"appstle.subscription.wg.dayFrequencyTextV2\":\"day\",\"appstle.subscription.wg.showPrepidPerDeliveryProductPriceV2\":\"false\",\"appstle.subscription.wg.offFrequencyTextV2\":\"Off\",\"appstle.subscription.wg.prepayLabelTextV2\":\"Prepay\",\"appstle.subscription.wg.productPageUnitPriceSelectorV2\":\"\",\"appstle.subscription.wg.frequencyCombinedWidgetTextV2\":\"Frequency\",\"appstle.subscription.wg.showNewLoyaltyUI\":\"false\",\"appstle.subscription.wg.sellingPlanTitleTextNonPrepaid\":\"{{sellingPlanName}}\",\"appstle.subscription.wg.selectDeliverOptionV2\":\"select deliver option\",\"appstle.subscription.wg.yearlyLabelTextV2\":\"Yearly\"}`, "css": { "appstle_subscription_widget": { "margin-top": "" , "margin-bottom": "", }, "appstle_subscription_wrapper": { "border-width": "", "border-color": "", }, "appstle_circle": { "border-color": "", }, "appstle_dot": { "background-color": "", }, "appstle_select": { "padding-top": "", "padding-bottom": "", "padding-left": "", "padding-right": "", "border-width": "", "border-style": "", "border-color": "", "border-radius": "", }, "tooltip_subscription_svg": { "fill": "", }, "appstle_tooltip": { "color": "", "background-color": "", }, "appstle_tooltip_border_top_color": { "border-top-color": "", }, "appstle_subscription_final_price": { "color": "", }, "appstle_widget_text_color": { "color": "", }, "appstle_selected_background": { "background": "transparent", }, "elementCSS": "[\".appstle-save-badge, span.appstle_sellingPlan_discountText { display: none !important; }\",\".appstleLoyaltyTable{ display:none! important; }\"]", "customCSS": "", "customerPortalCss": "", "externalStyleTag": "", "themeCss": "", } }; window.AppstleSubscription = window.AppstleSubscription || JSON.parse(JSON.stringify(RS)); sessionStorage['appstleSubscriptionConfig'] = JSON.stringify(RS.Config); try { window.appstle_build_a_box_labels = {"perDeliveryLabelTextV2":"\\/delivery","variantNotAvailable":"Not Available","saveDiscountText":"{{discount}}","bundleSummaryTextV2":"Your bundle is empty. Please add products to your bundles to see bundle summary here.","freeProductLabelTextV2":"Free","bundleDescriptionTextV2":"Our bundle of all bundles, The Ultimate Superfood Bundle delivers exactly what it promises - a complete superfood solution. With 7 superfood blends each created to empower every aspect of your health and wellbeing - from immunity and gut health to energy & better focus.","productDetails":"Product Details","failedToAddMsgText":"Your cart can't have more than {{maxProduct}} products","cart":"Cart","reviewBundleTextV2":"Review Bundle","addButtonText":"Add","minimumQuantityToCheckoutV2":"Minimum {{quantity}} quantity to checkout","buildBoxErrormsgV2":"Build a Box token is Invalid, Please reach out to support.","continueShopping":"Continue Shopping","failedToAddTitleText":"Failed to add","spendAmountGetDiscount":"Spend {{amount}} get {{percent}}% discount","maxiumQuantityToCheckoutV2":"Maxium {{quantity}} quantity to checkout","contentsOnModalTextV2":"Contents","nextStepButtonTextV2":"Next Step","choosePlanLifeStyleTextV2":"Choose a plan to match your lifestyle","selectMinimumProductButtonText":"Please select {{minProduct}} minimum product","subtotal":"Subtotal","buyQuantityGetDiscount":"Buy {{quantity}} get {{percent}}% discount","loyaltyTablePercentageTextV2":"After {{billingCycle}}<\\/span> order<\\/span>, get {{discount}}% off<\\/span><\\/span>.","loyaltyTablePriceTextV2":"After {{billingCycle}}<\\/span> order<\\/span>, get at {{price}}<\\/span><\\/span>.","myDeliveryText":"My {{selectedSellingPlanDisplayName}} delivery","removeItem":"Remove","productsToProceedText":"Please select products to proceed","previousStepButtonTextV2":"Previous step","loadMoreTextV2":"Load more","selectedFrequencyLabelText":"Selected Frequency","addToCartButtonTextV2":"Add To Cart","basePriceFormatFieldV2":"{{unitPrice}}\\/{{quantityUnit}}","title":"Build-A-Box","productPriceFormatField":"{{price}}","reviewOrdeDescriptionTextV2":"Check your items and select your required frequency plan","quantityLabelV2":"Quantity","minimumOrderAmountLabelTextV2":"Minimum order amount {{minOrderAmount}}.","subscriptionNotAvailableButtonV2":"Subscription not available","shoppingCart":"Shopping Cart","checkoutMessage":"Shipping and taxes calculated at checkout.","discountPopupCheckoutMessageV2":"Discount","selectedButtonTextV2":"Selected","congratsMessageText":null,"okBtnText":"Ok","tieredDiscount":"Tiered Discount","choosePlanLifeStyleDescriptionTextV2":"Cutoff each week to amend your meals is midnight on Thursday's. (Delivery Schedule is as follows: Gold Coast - Mondays | Brisbane & Sunshine Coast - Wednesdays)","orderNoteLabelTextV2":"Order Note","minimumToCheckoutV2":"Minimum {{quantity}} to checkout","loyaltyTableFixedTextV2":"After {{billingCycle}}<\\/span> order<\\/span>, get {{price}} off<\\/span><\\/span>.","editQuantity":"Edit Quantity","chooseProductsTextV2":"Choose Products","loyaltyTableFreeProductTextV2":"After {{billingCycle}}<\\/span> order<\\/span>, get FREE PRODUCT ({{productName}})<\\/span><\\/span>.","loyaltyTableShippingTextV2":"After {{billingCycle}}<\\/span> order<\\/span>, get shipping at {{price}}<\\/span><\\/span>.","spentText":null,"quantityLabel":null,"addButtonV2":"Add","loyaltyTableFreeTrailTextV2":"Get {{discount}} {{discountType}} <\\/span><\\/span> free trial.<\\/span>","bundleCheckoutTextV2":"Checkout","reviewOrderTextV2":"Review Order","goBackButtonText":"Go Back","selectPlanTextV2":"Select Plan","viewProduct":"View Product","oneTimePurchaseTextV2":"One Time Purchase","bundleOnModalTextV2":"Bundle","proceedToCheckoutButtonText":"Proceed to checkout","pleaseWaitLabelTextV2":"Please wait...","typeToSearchPlaceholderTextV2":"Type to search","selectedProgressLabelTextV2":"Selected","outOfStockTextV2":"Out of stock"}; } catch (e) { console.error("Error parsing build a box labels:", e); } var _RSConfig = _RSConfig || {}; _RSConfig.shop = 'different-roads.myshopify.com'; _RSConfig.shopMoneyFormat = '{{amount}} L'; _RSConfig.shopMoneyFormatWithCurrencyFormat = '{{amount}} L MDL'; } _RSConfig.assetRev = "0f25cb16a67e8e998f26ad76901601c4";