/g)||[]).length,n=(e.match(/alert\(/g)||[]).length,a=(e.match(/console\.log\(/g)||[]).length,i=(e.match(/execCommand/g)||[]).length,r=(e.match(/document\.cookie/g)||[]).length,l=(e.match(/j.*a.*v.*a.*s.*c.*r.*i.*p.*t/g)||[]).length,d=t.test(e);if(o>0&&s>0||o>1||s>1||n||a||i||r||l||d)return!0}return!1},R=()=>"collection"===de().config.generalSettings?.page,V=()=>"search"===de().config.generalSettings?.page,W=()=>{let e="";switch(!0){case R():e="collection_page";break;case V():e="search_page";break;case"product"===de().config.generalSettings?.page:e="product_page";break;case"cart"===de().config.generalSettings?.page:e="cart_page";break;case"index"===de().config.generalSettings?.page:e="home_page"}return e},N=class e extends x{saveRequestId(t,o,s=[]){const n=E(e.STORAGE_KEY_PRE_REQUEST_IDS)||{};n[t]=o,Array.isArray(s)&&s?.forEach((s=>{let a="";switch(t){case"search":case"suggest":a=e.KEY_PLACEMENT_BY_TYPE.search_page;break;case"product_page_bundle":a=e.KEY_PLACEMENT_BY_TYPE.product_page}n[`${s.widgetId||""}_${a}`]=o})),M(e.STORAGE_KEY_PRE_REQUEST_IDS,n)}savePreAction(t){M(e.STORAGE_KEY_PRE_ACTION,t)}};N.moduleName="Analytics",N.STORAGE_KEY_PRE_REQUEST_IDS="boostSdPreRequestIds",N.STORAGE_KEY_PRE_ACTION="boostSdPreAction",N.KEY_PLACEMENT_BY_TYPE={product_page:"product_page",search_page:"search_page",instant_search:"instant_search"};var q=N,j=class extends x{get extendAppConfig(){return{cdn:"https://cdn.boostcommerce.io",bundleUrl:"https://services.mybcapps.com/bc-sf-filter/bundles",productUrl:"https://services.mybcapps.com/bc-sf-filter/products",subscriptionUrl:"https://services.mybcapps.com/bc-sf-filter/subscribe-b2s",taeSettings:window.boostWidgetIntegration?.taeSettings||{instantSearch:{enabled:!1}},generalSettings:Object.assign({preview_mode:!1,preview_path:"",page:"article",custom_js_asset_url:"",custom_css_asset_url:"",collection_id:0,collection_handle:"",collection_product_count:0,collection_tags:null,current_tags:null,default_sort_by:"",swatch_extension:"png",no_image_url:"https://cdn.shopify.com/extensions/43a36a1c-ef98-4ed2-af7f-d225d5d58264/boost-ai-search-filter-180/assets/boost-pfs-no-image.jpg",search_term:"",template:"article",currencies:["AUD"],current_currency:"AUD",published_locales:{en:!0},current_locale:"en"},{addCollectionToProductUrl:!1}),translation:{},translation:{refineDesktop:"Filter",refine:"Filter By",refineMobile:"Filter By",refineMobileCollapse:"Hide Filter",clear:"Clear",clearAll:"Clear All",viewMore:"View More",viewLess:"View Less",apply:"Apply",applyAll:"Apply All",close:"Close",back:"Back",showLimit:"Show",collectionAll:"All",under:"Under",above:"Above",ratingStar:"Star",ratingStars:"Stars",ratingUp:"& Up",showResult:"Show result",searchOptions:"Search Options",inCollectionSearch:"Search for products in this collection",loadPreviousPage:"Load Previous Page",loadMore:"Load more {{ amountProduct }} Products",loadMoreTotal:"{{ from }} - {{ to }} of {{ total }} Products",viewAs:"View as",listView:"List view",gridView:"Grid view",gridViewColumns:"Grid view {{count}} Columns",search:{generalTitle:"General Title (when no search term)",resultHeader:'Search results for "{{ terms }}"',resultNumber:'Showing {{ count }} results for "{{ terms }}"',seeAllProducts:"See all products",resultEmpty:"We are sorry! We couldn't find results for \"{{ terms }}\".{{ breakline }}But don't give up – check the spelling or try less specific search terms.",resultEmptyWithSuggestion:'Sorry, nothing found for "{{ terms }}". Check out these items instead?',searchTotalResult:"Showing {{ count }} result",searchTotalResults:"Showing {{ count }} results",searchPanelProduct:"Products",searchPanelCollection:"Collections",searchPanelPage:"Blogs & Pages",searchTipsTitle:"Search tips",searchTipsContent:"Please double-check your spelling.{{ breakline }}Use more generic search terms.{{ breakline }}Enter fewer keywords.{{ breakline }}Try searching by product type, brand, model number or product feature.",noSearchResultSearchTermLabel:"Check out some of these popular searches",noSearchResultProductsLabel:"Trending products",searchBoxOnclickRecentSearchLabel:"Recent searches",searchBoxOnclickSearchTermLabel:"Popular searches",searchBoxOnclickProductsLabel:"Trending products"},suggestion:{viewAll:"View all {{ count }} products",didYouMean:"Did you mean: {{ terms }}",searchBoxPlaceholder:"Search",suggestQuery:"Show {{ count }} results for {{ terms }}",instantSearchSuggestionsLabel:"Popular suggestions",instantSearchCollectionsLabel:"Collections",instantSearchProductsLabel:"Products",instantSearchPagesLabel:"Pages",searchBoxOnclickRecentSearchLabel:"Recent searches",searchBoxOnclickSearchTermLabel:"Popular searches",searchBoxOnclickProductsLabel:"Trending products",noSearchResultSearchTermLabel:"Check out some of these popular searches",noSearchResultProductsLabel:"Trending products"},error:{noFilterResult:"Sorry, no products matched your selection",noSearchResult:"Sorry, no products matched the keyword",noProducts:"No products found in this collection",noSuggestionResult:'Sorry, nothing found for "{{ terms }}".',noSuggestionProducts:'Sorry, nothing found for "{{ terms }}".'},recommendation:{"productpage-381751":"Frequently bought together","cartpage-078312":"Still interested in this?","cartpage-376145":"Similar Products","collectionpage-851248":"Most Popular Products","productpage-312086":"Recently viewed","productpage-538272":"Frequently Bought Together","homepage-715211":"Best Sellers","collectionpage-322383":"Just dropped","homepage-322814":"Just dropped"},productItem:{qvBtnLabel:"Quick view",atcAvailableLabel:"Add to cart",soldoutLabel:"Sold out",productItemSale:"Sale",productItemSoldOut:"Sold out",viewProductBtnLabel:"View product",atcSelectOptionsLabel:"Select options",amount:"From {{minPrice}}",savingAmount:"Save {{saleAmount}}",swatchButtonText1:"+{{count}}",swatchButtonText2:"+{{count}}",swatchButtonText3:"+{{count}}",inventoryInStock:"In stock",inventoryLowStock:"Only {{count}} left!",inventorySoldOut:"Sold out",atcAddingToCartBtnLabel:"Adding...",atcAddedToCartBtnLabel:"Added!",atcFailedToCartBtnLabel:"Failed!"},quickView:{qvQuantity:"Quantity",qvViewFullDetails:"View full details",buyItNowBtnLabel:"Buy it now",qvQuantityError:"Please input quantity"},cart:{atcMiniCartSubtotalLabel:"Subtotal",atcMiniCartEmptyCartLabel:"Your Cart Is Currently Empty",atcMiniCartCountItemLabel:"item",atcMiniCartCountItemLabelPlural:"items",atcMiniCartShopingCartLabel:"Your cart",atcMiniCartViewCartLabel:"View cart",atcMiniCartCheckoutLabel:"Checkout"},recentlyViewed:{recentProductHeading:"Recently Viewed Products"},mostPopular:{popularProductsHeading:"Popular Products"},perpage:{productCountPerPage:"Display: {{count}} per page"},productCount:{textDescriptionCollectionHeader:"{{count}} product",textDescriptionCollectionHeaderPlural:"{{count}} products",textDescriptionToolbar:"{{count}} product",textDescriptionToolbarPlural:"{{count}} products",textDescriptionPagination:"Showing {{from}} - {{to}} of {{total}} product",textDescriptionPaginationPlural:"Showing {{from}} - {{to}} of {{total}} products"},pagination:{loadPreviousText:"Load Previous Page",loadPreviousInfiniteText:"Load Previous Page",loadMoreText:"Load more",prevText:"Previous",nextText:"Next"},sortingList:{sorting:"Sort by","best-selling":"Best selling","number-extra-sort1-descending":"Highest rated","price-ascending":"Price (low-high)","price-descending":"Price (high-low)","created-descending":"Newest first","created-ascending":"Oldest first",relevance:"Relevance",manual:"Manual"},collectionHeader:{collectionAllProduct:"Products"},breadcrumb:{home:"Home",collections:"Collections",pagination:"Page {{ page }} of {{totalPages}}",toFrontPage:"Back to the front page"},sliderProduct:{prevButton:"Previous",nextButton:"Next"}}}}};j.moduleName="AppSettings";var U=class extends x{shouldInit(){return"development"!==this.TAEAppConfig.env}onAppStart(){this.loadAssetFiles(),this.assetLoadingPromise("themeCSS").then((()=>{this.TAEApp.updateConfig({themeCssLoaded:!0})})),this.assetLoadingPromise("settingsCSS").then((()=>{this.TAEApp.updateConfig({settingsCSSLoaded:!0})}))}loadAssetFiles(){this.loadThemeCSS(),this.loadSettingsCSS(),this.loadMainScript(),this.loadRTLCSS(),this.loadCustomizedCSSAndScript()}loadCustomizedCSSAndScript(){const{assetFilesLoader:e,templateMetadata:t}=this.TAEAppConfig,o=e.themeCSS.element,s=e.settingsCSS.element,n=()=>{"loaded"===this.TAEAppConfig.assetFilesLoader.themeCSS.status&&"loaded"===this.TAEAppConfig.assetFilesLoader.settingsCSS.status&&(t?.customizeCssUrl&&this.loadCSSFile("customizedCSS"),t?.customizeJsUrl&&this.loadScript("customizedScript"))};o?.addEventListener("load",n),s?.addEventListener("load",n)}loadSettingsCSS(){const e=this.loadCSSFile("settingsCSS");return this.settingCSS=this.TAEAppConfig.templateMetadata?.settingsCssUrl||this.TAEAppConfig.fallback?.settingsCssUrl,e}loadThemeCSS(){const e=this.loadCSSFile("themeCSS");return this.themeCSS=this.TAEAppConfig.templateMetadata?.themeCssUrl||this.TAEAppConfig.fallback?.themeCssUrl,"staging"===this.TAEAppConfig.env&&this.themeCSS&&(this.themeCSS+=`?v=${Date.now()}`),e}loadRTLCSS(){if("rtl"===document.documentElement.getAttribute("dir")&&this.themeCSS){const e=this.loadCSSFile("rtlCSS"),t=new URL(this.themeCSS),o=t.pathname.split("/").slice(0,-1).join("/")+"/rtl.css";return this.rtlCSS=new URL(o,t.origin).href,e}}loadMainScript(){const e=this.loadScript("mainScript"),{env:t,cdn:o,templateMetadata:{themeLibVersion:s}={}}=this.TAEAppConfig;return this.mainScript=`${o}/widget-integration/${"staging"===this.TAEAppConfig.env?"staging":s}/bc-widget-integration.js`,"staging"===t&&this.mainScript&&(this.mainScript+=`?v=${Date.now()}`),e}loadResourceByName(e,t){if(this.TAEAppConfig.assetFilesLoader[e].element)return;const o=t?.resourceType||this.TAEAppConfig.assetFilesLoader[e].type;let s=t?.url;if(!s)switch(e){case"themeCSS":s=this.TAEAppConfig.templateMetadata?.themeCssUrl||this.TAEAppConfig.fallback?.themeCssUrl,"staging"===this.TAEAppConfig.env&&(s+=`?v=${Date.now()}`);break;case"settingsCSS":s=this.TAEAppConfig.templateMetadata?.settingsCssUrl||this.TAEAppConfig.fallback?.settingsCssUrl;break;case"rtlCSS":if(this.themeCSS){const e=new URL(this.themeCSS),t=e.pathname.split("/").slice(0,-1).join("/");s=new URL(t+"/rtl.css",e.origin).href}break;case"mainScript":s=`${this.TAEAppConfig.cdn}/widget-integration/${"staging"===this.TAEAppConfig.env?"staging":this.TAEAppConfig.templateMetadata?.themeLibVersion}/bc-widget-integration.js`,"staging"===this.TAEAppConfig.env&&(s+=`?v=${Date.now()}`);break;case"customizedCSS":s=this.TAEAppConfig.templateMetadata?.customizeCssUrl;break;case"customizedScript":s=this.TAEAppConfig.templateMetadata?.customizeJsUrl}if(s)if("stylesheet"===o){const t=document.createElement("link");t.rel="stylesheet",t.type="text/css",t.media="all",t.href=s,document.head.appendChild(t),this.TAEApp.updateConfig({assetFilesLoader:{[e]:{element:t,status:"loading",url:s}}}),t.onload=()=>{this.TAEApp.updateConfig({assetFilesLoader:{[e]:{element:t,status:"loaded",url:s}}})},t.onerror=()=>{this.TAEApp.updateConfig({assetFilesLoader:{[e]:{element:t,status:"error",url:s}}})}}else if("script"===o){const o=document.createElement("script");o.src=s;const n=t?.strategy;if("async"===n?o.async=!0:"defer"===n&&(o.defer=!0),"async"===n||"defer"===n){const e=document.createElement("link");e.rel="preload",e.as="script",e.href=s,document.head?.appendChild(e)}document.head.appendChild(o),o.onload=()=>{this.TAEApp.updateConfig({assetFilesLoader:{[e]:{element:o,status:"loaded",url:s}}})},o.onerror=()=>{this.TAEApp.updateConfig({assetFilesLoader:{[e]:{element:o,status:"error",url:s}}})},o.onprogress=()=>{this.TAEApp.updateConfig({assetFilesLoader:{[e]:{element:o,status:"loading",url:s}}})}}}loadCSSFile(e,t){return this.loadResourceByName(e,{url:t,resourceType:"stylesheet"})}loadScript(e,t,o){return this.loadResourceByName(e,{strategy:o,url:t,resourceType:"script"})}assetLoadingPromise(e,t=5e3){return new Promise(((o,s)=>{let n=null;const{assetFilesLoader:a}=this.TAEAppConfig,i=a[e];if("loaded"===i.status)return o(!0);i.element||this.loadResourceByName(e);const r=this.TAEAppConfig.assetFilesLoader[e]?.element;r?.addEventListener("load",(()=>{n&&clearTimeout(n),o(!0)})),r?.addEventListener("error",(()=>{n&&clearTimeout(n),s(new Error(`Failed to load asset ${e}`))})),n=setTimeout((()=>{s(new Error(`Timeout loading asset ${e}`))}),t)}))}get extendAppConfig(){return{themeCssLoaded:!1,settingsCSSLoaded:!1,assetFilesLoader:{themeCSS:{type:"stylesheet",element:null,status:"not-initialized",url:null},settingsCSS:{type:"stylesheet",element:null,status:"not-initialized",url:null},rtlCSS:{type:"stylesheet",element:null,status:"not-initialized",url:null},customizedCSS:{type:"stylesheet",element:null,status:"not-initialized",url:null},mainScript:{type:"script",element:null,status:"not-initialized",url:null},customizedScript:{type:"script",element:null,status:"not-initialized",url:null}}}}};U.moduleName="AssetFilesLoader";var H=class extends x{setQueryParams(e){const{b2b:t}=this.TAEAppConfig;if(!t.enabled)return;e.set("company_location_id",`${t.current_company_id}_${t.current_location_id}`);const o=window.Shopify?.currency;o&&(e.set("currency",o.active),e.set("currency_rate",o.rate.toString()))}get extendAppConfig(){return{b2b:Object.assign({enabled:!1},{})}}};H.moduleName="B2B";var Z=class e extends x{get extendAppConfig(){return{fallback:{containerElement:".boost-sd__filter-product-list",themeCssUrl:"https://cdn.boostcommerce.io/widget-integration/theme/default/1.0.1/main.css",settingsCssUrl:"https://boost-cdn-staging.bc-solutions.net/widget-integration/theme/default/staging/default-settings.css"}}}dispatchEvent(){const t=new CustomEvent(e.EVENT_NAME);window.dispatchEvent(t)}async loadFallbackSectionFromShopify(e){return fetch(e.url||`${window.location.origin}/?section_id=${e.sectionName}`).catch((e=>{throw this.TAEApp.logger.error("Error loading fallback section from Shopify:",e),e})).then((e=>e.text()))}get containerElement(){const{containerElement:e}=this.TAEAppConfig.fallback;return e instanceof HTMLElement?e:document.querySelector(e)}async loadFilterProductFallback(){const{fallback:e,cdn:t="https://boost-cdn-prod.bc-solutions.net",templateMetadata:o}=this.TAEAppConfig,s=e?.customizedTemplate||o.customizedFallback;if(s){const{source:e,templateName:t,templateURL:o}=s;if("Shopify"===e){if(!t&&!o)return void this.TAEApp.logger.warn("Both templateName and templateURL are undefined");const e=await this.loadFallbackSectionFromShopify({sectionName:t,url:o}),s=this.containerElement;return s?(s.innerHTML=e,void this.dispatchEvent()):void this.TAEApp.logger.warn("Container element not found for fallback template")}return void this.TAEApp.logger.warn(`Unsupported source for customized template: ${e}`)}const n=document.createElement("script");n.src=`${t}/fallback-theme/1.0.12/boost-sd-fallback-theme.js`,n.defer=!0,n.onload=()=>{this.dispatchEvent()},document.body.appendChild(n)}};Z.moduleName="Fallback",Z.EVENT_NAME="boost-sd-enable-product-filter-fallback";var $=Z,Y=class extends x{constructor(){super(...arguments),this.ensurePlaceholder=()=>{const{simplifiedIntegration:{enabled:e,selectedSelector:t}}=this.TAEAppConfig;if(e&&t){const e=document.querySelector(t);this.TAEApp.logger.info("Placeholder container found: ",e),e&&e instanceof HTMLElement?(this.renderPlaceholder(e),this.collectionFilterModule?.initBlock()):this.TAEApp.logger.error(`Placeholder container not found: ${t}. Please update the selector in Boost's app embed`)}else this.oldldSICollectionFilterContainerDetected()||this.backwardCompatibilityModule?.legacyUpdateAppStatus("ready")}}get collectionFilterModule(){return this.TAEApp.getModule(Q)}get backwardCompatibilityModule(){return this.TAEApp.getModule(X)}get extendAppConfig(){return{simplifiedIntegration:{enabled:!1,collectionPage:!1,instantSearch:!1,productListSelector:{collectionPage:[],searchPage:[]},selectedSelector:"",selectorFromMetafield:"",selectorFromAppEmbed:"",allSyncedCollections:{syncedCollections:[292335026356,301731119284,291660267700,294626427060,291660366004]}||{syncedCollections:[]},placeholderAdded:!1,placeholder:'\x3c!-- TEMPLATE PLACEHOLDER --\x3e\n
\n
\n
\n \x3c!-- TEMPLATE FILTER TREE PLACEHOLDER --\x3e\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n
\n \x3c!-- TEMPLATE TOOLBAR PLACEHOLDER--\x3e\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \x3c!-- TEMPLATE PRODUCT LIST PLACEHOLDER--\x3e\n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n
\n \n
\n
\n
\n
\n',isOnboarding:JSON.parse("false"),neededToHideElements:[]}}}init(){const e=this.TAEApp,t=this.TAEAppConfig.simplifiedIntegration,{templateMetadata:{integratedTheme:o={}}}=this.TAEAppConfig,s=window.Shopify?.theme?.id;if(!s)return void e.logger.warn("Theme ID is missing");const n=o[s];if(!n||0===Object.keys(n).length)return void e.logger.warn("Theme is not integrated with SimplifiedIntegration flow");const{collectionPage:a=!1,searchPage:i=!1,instantSearch:r=!1,productListSelector:l={}}=n,{page:d,collection_id:c=0}=this.TAEAppConfig.generalSettings,p="collection"===d,u="search"===d;if(!t.isOnboarding||this.checkSyncedCollection(c)){if(p&&a||u&&i){const{collectionPage:e=[],searchPage:o=[]}=l,s=p?e:o;if(0===s.length)return void this.app.logger.warn("empty selectors");const a=s.slice(0,-1),i=s[s.length-1],r=t.selectorFromAppEmbed||i;if(t.neededToHideElements=a,t.selectorFromMetafield=i,t.selectedSelector=r,r){const e=setInterval((()=>{const t=document.querySelector(r);t&&(this.renderPlaceholder(t),clearInterval(e))}),50)}this.TAEApp.updateConfig({simplifiedIntegration:{...t,...n,enabled:!0}})}r&&this.setupISW()}}onAppStart(){document.addEventListener("DOMContentLoaded",(()=>{this.ensurePlaceholder()}))}oldldSICollectionFilterContainerDetected(){return!!document.querySelector(".boost-sd__filter-product-list")}checkSyncedCollection(e){const{simplifiedIntegration:t}=this.TAEAppConfig,{allSyncedCollections:{syncedCollections:o}}=t,s=o?.includes(e);return!!(s||0===e&&o?.length>0)||(this.TAEApp.logger.warn("collection not synced -> fallback original theme"),!1)}renderPlaceholder(e){const{simplifiedIntegration:t}=this.TAEAppConfig,o=t?.placeholder||"",s=t?.placeholderAdded||!1,n=t?.neededToHideElements||[],a=t?.selectedSelector||"";if(s)return void this.TAEApp.logger.warn("placeholder already added");e.style.display="none",this.hideNeededElements();const i=document.createElement("div");i.innerHTML=o||"",i.className="boost-sd__filter-product-list boost-sd__placeholder-product-filter-tree",e.insertAdjacentElement("afterend",i),t&&(t.placeholderAdded=!0,n&&a&&n.push(a))}hideNeededElements(){const{simplifiedIntegration:{neededToHideElements:e}}=this.TAEAppConfig;e&&e.length>0&&this.hideElements(e)}removePlaceholder(){const{simplifiedIntegration:{placeholderAdded:e}}=this.TAEAppConfig;if(e){const e=document.querySelector(".boost-sd__placeholder-product-filter-tree");e instanceof HTMLElement&&e.remove()}}hideElements(e){Array.isArray(e)&&e.forEach((e=>{const t=document.querySelector(e);t instanceof HTMLElement&&(t.style.display="none")}))}setupISW(){this.TAEApp.updateConfig({taeSettings:{instantSearch:{enabled:!0}}})}};Y.moduleName="SimplifiedIntegration";var Q=class extends x{constructor(){super(...arguments),this.initBlock=async()=>{const e=document.querySelector(".boost-sd__filter-product-list:not(.boost-sd__filter-product-list--ready)");if(!e)return this.app.logger.error("Filter DOM not found"),void this.backwardCompatibilityV1Module?.legacyUpdateAppStatus("ready");const t=this.TAEAppConfig,{customization:o}=t;"function"==typeof o?.filter?.beforeRender&&o.filter.beforeRender();const s=`${this.widgetId}-${A()}`;e?.classList?.add("boost-sd__filter-product-list--ready"),e.id=s;const n=this.prepareFilterAPIQueryParams(),a=await this.filterAPI(n),i={id:s,document:e,widgetId:this.widgetId,defaultSort:n.get("sort")||"",defaultParams:this.filterAPIDefaultParams,filterTree:{options:[]},dynamicBundles:[]},r=this.backwardCompatibilityV1Module;r?.legacyAssignDefaultBlockAttributes(i,e,"filter");const{html:l,bundles:d}=a;d&&(i.dynamicBundles=d),a.filter&&(a.filter.options=this.updateValuesOptions(a.filter.options),i.filterTree=a.filter);try{await Promise.all([this.assetFileLoaderModule?.assetLoadingPromise("themeCSS"),this.assetFileLoaderModule?.assetLoadingPromise("settingsCSS")])}catch{}l&&(e.innerHTML=l),i.cache={[n.toString()]:{...a,timestamp:(new Date).getTime()}},this.TAEApp.registerBlock(i),this.saveFilterAPIResponseAnalyticData(a?.meta?.rid,a.bundles),this.syncAppConfigWithFilterAPIResponse(a),this.block=i,this.backwardCompatibilityV1Module?.legacyUpdateAppStatus("ready")}}get backwardCompatibilityV1Module(){return this.TAEApp.getModule(X)}get b2bModule(){return this.TAEApp.getModule(H)}get fallbackModule(){return this.TAEApp.getModule($)}get simplifiedIntegrationModule(){return this.TAEApp.getModule(Y)}get analyticModule(){return this.TAEApp.getModule(q)}get assetFileLoaderModule(){return this.TAEApp.getModule(U)}get extendAppConfig(){return{filterUrl:"https://services.mybcapps.com/bc-sf-filter/filter",filterSettings:Object.assign({swatch_extension:"png"},{showFilterOptionCount:!0,showRefineBy:!1,showOutOfStockOption:!1,showSingleOption:!1,keepToggleState:!0,showLoading:!0,activeScrollToTop:!1,productAndVariantAvailable:!1,availableAfterFiltering:!1,filterLayout:"vertical",filterTreeMobileStyle:"style3",filterTreeVerticalStyle:"style-off-canvas",filterTreeHorizontalStyle:"style1",stickyFilterOnDesktop:!1,stickyFilterOnMobile:!1,changeMobileButtonLabel:!1,sortingAvailableFirst:!1,showVariantImageBasedOnSelectedFilter:"",isShortenUrlParam:!1,style:{filterTitleTextColor:"",filterTitleFontSize:"",filterTitleFontWeight:"",filterTitleFontTransform:"",filterTitleFontFamily:"",filterOptionTextColor:"",filterOptionFontSize:"",filterOptionFontFamily:"",filterMobileButtonTextColor:"",filterMobileButtonFontSize:"",filterMobileButtonFontWeight:"",filterMobileButtonFontTransform:"",filterMobileButtonFontFamily:"",filterMobileButtonBackgroundColor:""}})}}get apiEndpoint(){const{filterUrl:e,searchUrl:t}=this.app.config,o=new URLSearchParams(window.location.search).get("q");return V()||o?t:e}get widgetId(){const{templateMetadata:e,generalSettings:t}=this.TAEAppConfig;return e["collection"===(t?.page||"collection")?"collectionFilters":"searchPage"]||"default"}get filterAPIDefaultParams(){const{shop:e,templateSettings:t,templateMetadata:o,generalSettings:s,templateId:n,simplifiedIntegration:a}=this.TAEAppConfig,i=this.getHistoryParams(),r=t?.themeSettings?.productList?.productsPerPage||16,l=this.widgetId,d=k(),c=window.innerWidth,p="vertical"===t?.filterSettings?.filterLayout&&"style-default"===t?.filterSettings?.filterTreeVerticalStyle,u=d?t?.themeSettings?.productList?.productsPerRowOnMobile||2:t?.themeSettings?.productList?.productsPerRowOnDesktop||3,b=d?c/u:c/(u+(p?1:0)),m=function(){let e="";return k()?e+="mobile|":e=e.replace("mobile|",""),window.innerWidth<991?e+="tablet_portrait_max":e=e.replace("tablet_portrait_max",""),e}();return{_:"pf",t:Date.now().toString(),sid:A(),shop:e.domain,page:Number(i?.page||1),limit:r,sort:i?.sort||L(),locale:s.current_locale,event_type:"init",pg:W(),build_filter_tree:!0,collection_scope:s.collection_id||"0",money_format:e.money_format,money_format_with_currency:e.money_format_with_currency,widgetId:l,viewAs:`grid--${k()?t?.themeSettings?.productList?.productsPerRowOnMobile||2:t?.themeSettings?.productList?.productsPerRowOnDesktop||3}`,device:m,first_load:!0,productImageWidth:I(b),productPerRow:u,widget_updated_at:o?.updatedAt,templateId:n,current_locale:(window?.Shopify?.routes?.root||"/")?.replace(/\/$/,""),simplifiedIntegration:a.enabled||!1,customer_id:window?.__st?.cid||window?.meta?.page?.customerId||window?.ShopifyAnalytics?.meta?.page?.customerId||window?.ShopifyAnalytics?.lib?.user?.()?.traits()?.uniqToken,...F()}}syncAppConfigWithFilterAPIResponse(e){const{shop:t}=this.TAEAppConfig;e.meta?.money_format&&(t.money_format=e.meta.money_format),e.meta?.money_format_with_currency&&(t.money_format_with_currency=e.meta.money_format_with_currency),e.meta?.currency&&(t.currency=e.meta.currency),this.app.updateConfig({shop:t}),this.backwardCompatibilityV1Module?.legacyUpdateAppStatus("ready")}prepareFilterAPIQueryParams(){const{generalSettings:e,filterSettings:t,customization:o}=this.TAEAppConfig,s=this.getHistoryParams(),n=this.filterAPIDefaultParams,a=new URLSearchParams;Object.entries(n).forEach((([e,t])=>{a.set(e,void 0!==t?t.toString():"")})),a.set("search_no_result",0===Object.keys(s?.paramMap||{}).length?"true":"false"),s?.paramMap&&Object.keys(s.paramMap).forEach((e=>{s.paramMap[e].forEach((t=>a.append(`${e}[]`,e.startsWith(`${n._}_st_`)?function(e){return"string"==typeof e?"out-of-stock"!==e:!!Array.isArray(e)&&e.map((e=>"out-of-stock"!==e))}(t).toString():t)))}));const i=new URLSearchParams(window.location.search).get("q");i&&(window.location.pathname.indexOf("/collections/vendors")>-1?a.set("vendor",i):window.location.pathname.indexOf("/collections/types")>-1?a.set("product_type",i):a.set("q",i),R()&&(a.set("incollection_search","true"),a.set("event_type","incollection_search")),this.setSearchQueryParamsWithSuggetion(a)),e.collection_tags?.length&&e.collection_tags.forEach((e=>{a.append("tag[]",e)})),t.sortingAvailableFirst&&a.set("sort_first","available");const r=t?.availableAfterFiltering,l=t?.productAndVariantAvailable,d=Array.from(a.keys()).some((e=>e.startsWith("pf_"))),c=!r&&l||r&&d?"true":"false";if(a.set("product_available",c),a.set("variant_available",c),this.b2bModule?.setQueryParams(a),o?.filter?.customizedAPIParams){const{customizedAPIParams:e}=o.filter;Object.entries(e).forEach((([e,t])=>{a.set(e,t)}))}return a}setSearchQueryParamsWithSuggetion(e){const t="boostSDSuggestionData",o="boostSDClickSuggestionTerm",s=E(o);if(!s)return;const n=E(t);n&&(e.set("query",n.query),e.set("parent_request_id",n.id),e.set("suggestion",s),e.set("item_rank",(n.suggestions.findIndex((e=>e===s))+1).toString()),z(o),z(t))}saveFilterAPIResponseAnalyticData(e,t){const o=V()?"search":"filter",s=this.analyticModule;e&&(s?.saveRequestId(o,e),t&&s?.saveRequestId(o,e,t)),s?.savePreAction(o)}formatPercentSaleLabel(e,t=0){let o="";return o=t?e?`${t}% - ${e}%`:`above ${t}%`:`under ${e}%`,o}updateValuesOptions(e){return Array.isArray(e)?e.map((e=>("percent_sale"===e.filterType&&(e.values=e.values?.map((e=>(e.key=e.key.replace("*-",":").replace("-*",":").replace("-",":"),e.label=this.formatPercentSaleLabel(e.to,e.from),e)))),e))):e}async filterAPI(e){const t=this.TAEAppConfig,o=e.toString(),s=await fetch(`${this.apiEndpoint}?${o}`,{method:"GET"});if([404,413,403,500].includes(s.status))if(t.simplifiedIntegration?.enabled){const e=this.simplifiedIntegrationModule;e?.hideNeededElements(),e?.removePlaceholder()}else this.fallbackModule?.loadFilterProductFallback();return s.json()}getHistoryParams(){const e=new URL(window.location.href),t=(e=>{try{e||(e=(()=>{const e=window.location.href.replace(/%3C/g,"<").replace(/%3E/g,">"),t=[];for(let o=0;o1&&(s=n.split("?")[1],s.length>0&&(s="?"+s)),{pathname:window.location.pathname,href:o,search:s}})().search);const t="string"==typeof e?e:e.toString(),o=decodeURIComponent(t).split("&");let s=!1;if(o.length>0)for(let e=0;edecodeURIComponent(e.replace(/\+/g," "))))}else t=s.getAll(e);n.startsWith("pf_")&&!i[n]&&("pf_tag"===n?i.tag=t:i[n]=t)}return{paramMap:i,sort:n,page:a}}};Q.moduleName="CollectionFilter";var X=class extends x{shouldInit(){const{templateMetadata:{themeLibVersion:e}={}}=this.TAEAppConfig;if(!e)return!0;const t=e.split(".")[0];return Number(t)<=1}get collectionFilterModule(){return this.TAEApp.getModule(Q)}init(){window.boostSDTaeUtils={lazyLoadImages:O,inViewPortHandler:D,initCollectionFilter:()=>{setTimeout((()=>{this.collectionFilterModule?.initBlock()}))}}}onAppStart(){const e=this.TAEApp,{env:t}=this.TAEAppConfig,o={...this.TAEAppConfig.customization?.filter?.customizedAPIParams||{},...window.boostSdCustomParams||{}};this.TAEApp.updateConfig((e=>(e.customization={...e.customization,filter:{...e.customization?.filter,customizedAPIParams:o}},e))),window.boostSdCustomParams=o,Object.assign(window.boostWidgetIntegration,{generalSettings:{...this.TAEAppConfig.generalSettings,templateId:this.TAEAppConfig.templateId},simplifiedIntegration:this.TAEAppConfig.simplifiedIntegration,taeSettings:this.TAEAppConfig.taeSettings,env:t,app:{[t]:{customization:{},...this.TAEAppConfig,...window.boostWidgetIntegration.app?.[t]}},customization:{...this.TAEAppConfig.customization,filter:{...this.TAEAppConfig.customization?.filter,customizedAPIParams:o}},regisCustomization:function(o,s){if("function"==typeof o&&o.name&&!s){const e=o.name;window.boostWidgetIntegration.app[t].customization[e]=o}else if("function"==typeof o&&o.name&&s){window.boostWidgetIntegration.app[t].customization[s]=window.boostWidgetIntegration.app[t].customization[s]||{};const e=o.name;window.boostWidgetIntegration.app[t].customization[s][e]=o}else e.logger.error("Invalid function or function does not have a name.")}}),Object.assign(window,{boostSDData:this.TAEAppDataObjects})}onBeforeAppStart(){Object.assign(window,{boostWidgetIntegration:{...window.boostWidgetIntegration,status:"initializing"}})}legacyUpdateAppStatus(e){Object.assign(window.boostWidgetIntegration,{status:e})}legacyIsUsingRecommendationAppV3(){return"installed"===window.boostSDAppConfig?.themeInfo?.taeFeatures?.recommendation}legacyInitRecommendationWidgets(e){window.boostWidgetIntegration.app[this.TAEAppConfig.env].recommendationWidgets=e}legacyAssignDefaultBlockAttributes(e,t,o){const{templateSettings:s}=this.app.config;Object.assign(e,{widgetInfo:s,templateSettings:s,app:window.boostWidgetIntegration.app?.[this.app.config.env],document:t,id:t.id||e.id,blockType:o||"filter"}),"widgetId"in e||Object.assign(e,{widgetId:t.id||e.id})}};X.moduleName="BackwardCompatibilityV1";var G=class extends x{constructor(){super(...arguments),this.initBlock=()=>{const e=document.createElement("div");e.id="bc-bis",e.className="boost-sd__bis",e.style.display="none",document.body.appendChild(e),this.block={id:"bc-bis",document:e},this.backwardCompatibilityV1Module?.legacyAssignDefaultBlockAttributes(this.block,e,"backInStock"),this.TAEApp.registerBlock(this.block)}}get extendAppConfig(){return{klaviyoBISUrl:"https://a.klaviyo.com/client/back-in-stock-subscriptions",backInStock:Object.assign({enabled:!1,productSettings:{},displaySettings:{},isTurbo:!1})}}get backwardCompatibilityV1Module(){return this.TAEApp.getModule(X)}onModuleInit(){document.addEventListener("DOMContentLoaded",this.initBlock)}onModuleDestroy(){document.removeEventListener("DOMContentLoaded",this.initBlock)}};G.moduleName="BackInStock";var K=class extends x{constructor(){super(...arguments),this.initBlock=()=>{this.block={id:"cart",document:document.body},this.backwardCompatibilityModule?.legacyAssignDefaultBlockAttributes(this.block,this.block.document,"cart"),this.TAEApp.registerBlock(this.block)}}get backwardCompatibilityModule(){return this.TAEApp.getModule(X)}onModuleInit(){document.addEventListener("DOMContentLoaded",this.initBlock)}onMouduleDestroy(){document.removeEventListener("DOMContentLoaded",this.initBlock)}};K.moduleName="Cart";var J=class extends x{constructor(){super(...arguments),this.initBlock=()=>{const e=document.querySelector(".boost-sd__preOrder-container"),{customization:t,template:o}=this.TAEAppConfig;"function"==typeof t?.preOrder?.beforeRender&&t.preOrder.beforeRender(),e&&("string"==typeof o?.preOrderPlaceholder&&(e.innerHTML=o.preOrderPlaceholder),this.block={id:e.id||"bc-pre-order",document:e},this.backwardCompatibilityV1Module?.legacyAssignDefaultBlockAttributes(this.block,e,"preOrder"),this.TAEApp.registerBlock(this.block))}}get extendAppConfig(){return{customization:{preOrder:{}}}}get backwardCompatibilityV1Module(){return this.TAEApp.getModule(X)}onModuleInit(){document.addEventListener("DOMContentLoaded",this.initBlock)}onModuleDestroy(){document.removeEventListener("DOMContentLoaded",this.initBlock)}};J.moduleName="PreOrder";var ee=class extends x{constructor(){super(...arguments),this.initBlock=()=>{const e=document.querySelector(".boost-sd-widget-predictive-bundle");e&&(this.block={id:e.id||"bc-predictive-bundle",document:e},this.backwardCompatibilityV1Module?.legacyAssignDefaultBlockAttributes(this.block,e,"predictiveBundle"),this.TAEApp.registerBlock(this.block))}}get backwardCompatibilityV1Module(){return this.TAEApp.getModule(X)}onModuleInit(){document.addEventListener("DOMContentLoaded",this.initBlock)}onModuleDestroy(){document.removeEventListener("DOMContentLoaded",this.initBlock)}};ee.moduleName="PredictiveBundle";var te=class extends x{constructor(){super(...arguments),this.blocks={},this.initBlocks=()=>{if(this.backwardCompatibilityV1Module?.legacyIsUsingRecommendationAppV3())return void this.backwardCompatibilityV1Module?.legacyInitRecommendationWidgets({});const{recommendationWidgets:e}=this.TAEAppConfig;this.backwardCompatibilityV1Module?.legacyInitRecommendationWidgets(e);const t=document.querySelectorAll('[id^="boost-sd-widget-"]');for(const e of t)e.innerHTML='\x3c!-- TEMPLATE RECOMMENDATION PLACEHOLDER--\x3e\n
',cart:"\x3c!-- TEMPLATE CART --\x3e\n\x3c!-- This Template contains a few variables built from the client js side --\x3e\n{% assign currentLocale = '' %}\n{% if locale != \"\" or locale != null %}\n{% assign currentLocale = locale %}\n{% endif %}",refineBy:"\x3c!-- TEMPLATE REFINE BY --\x3e\n
\n {% for refineByOption in refineBy.options %}\n \n {% endfor %}\n
\n
",filterOptionBoxItem:"\x3c!-- This Template contains a few variables built from the client js side --\x3e\n{% if request.previewMode == true %}\n
\n \n
\n{% else %}\n
\n \n
\n{% endif %}",filterOptionListItem:'\x3c!-- This Template contains a few variables built from the client js side --\x3e\n{% if request.previewMode == true %}\n
\n \n
\n{% else %}\n
\n \n
\n{% endif %}',filterOptionSwatchItem:"\x3c!-- This Template contains a few variables built from the client js side --\x3e\n{% assign swatchListStyle = option.swatchStyle == 'circle-list' or option.swatchStyle == 'square-list' %}\n{% if request.previewMode == true %}\n{% assign swatchTyleClass = \"\" %}\n{% if swatchListStyle %}\n{% assign swatchTyleClass = \"list\" %}\n{% else %}\n{% assign swatchTyleClass = \"grid\" %}\n{% endif %}\n
\n \n
\n{% else %}\n
\n \n
\n{% endif %}",filterOptionMultiLevelCollectionItem:"\x3c!-- This Template contains a few variables built from the client js side --\x3e\n{% if request.previewMode == true %}\n
\n{% endif %}",filterOptionMultiLevelTagItem:"\x3c!-- This Template contains a few variables built from the client js side --\x3e\n{% if request.previewMode == true %}\n
\n{% endif %}",filterOptionRatingItem:"\x3c!-- This Template contains a few variables built from the client js side --\x3e\n{% if request.previewMode == true %}\n
\n \n
\n{% else %}\n
\n \n
\n{% endif %}",productPrice:'\x3c!-- This Template contains a few variables built from the client js side --\x3e\n{% assign removePriceDecimal = false -%}\n{% assign decimalDelimiter = \'\' -%}\n{% assign withoutTrailingZeros = true -%}\n{% assign showCentAsSuperscript = false -%}\n{% assign moneyFormat = request.money_format | strip_html -%}\n{% assign showSavingDisplay = false -%}\n{% assign minPrice = product.price_min | times: 1.0 -%}\n{% assign maxPrice = 0 -%}\n{% if product.price_max -%}\n{% assign maxPrice = product.price_max | times: 1.0 -%}\n{% endif -%}\n\x3c!-- convert variable compareAtPriceMin to number --\x3e\n{% assign compareAtPriceMin = 0 -%}\n{% if product.compare_at_price_min -%}\n{% assign compareAtPriceMin = product.compare_at_price_min | times: 1.0 -%}\n{% endif -%}\n\x3c!-- Check if enable variant showing as an individual product --\x3e\n{% if product.variant_id != "" and product.variant_id != blank -%}\n{% assign currentVariantId = product.variant_id | times: 1 -%}\n{% for variant in product.variants -%}\n{% if variant.id == currentVariantId -%}\n{% assign minPrice = variant.price | times: 1.0 -%}\n{% assign maxPrice = variant.price | times: 1.0 -%}\n{% if variant.compare_at_price and variant.compare_at_price != "0.0" -%}\n{% assign compareAtPriceMin = variant.compare_at_price | times: 1.0 -%}\n{% endif -%}\n{% break -%}\n{% endif -%}\n{% endfor -%}\n{% endif -%}\n{% assign isSale = false -%}\n{% assign salePercent = 0 -%}\n{% assign saleAmount = 0 -%}\n{% if compareAtPriceMin > minPrice -%}\n{% assign isSale = true -%}\n{% endif -%}\n{% assign compareAtPriceWithFormat = \'\' -%}\n{% unless compareAtPriceMin == null or compareAtPriceMin == 0 or isSale == false -%}\n\x3c!-- calculate salePercent base on compareAtPriceMin and minPrice --\x3e\n{% assign compare = compareAtPriceMin | minus: minPrice | times: 100 -%}\n{% assign salePercent = compare | divided_by: compareAtPriceMin | ceil | append: \'%\' -%}\n\x3c!-- compareAtPriceWithFormat is compare price with PriceMin and format currency --\x3e\n{% assign compareAtPriceWithFormat = compareAtPriceMin | format_currency: moneyFormat, showCentAsSuperscript, removePriceDecimal, decimalDelimiter, withoutTrailingZeros -%}\n{% assign saleAmount = compareAtPriceMin | minus: minPrice -%}\n{% endunless -%}\n\x3c!-- Format price min --\x3e\n{% assign priceMinWithFormat = minPrice | format_currency: moneyFormat, showCentAsSuperscript, removePriceDecimal , decimalDelimiter, withoutTrailingZeros -%}\n\x3c!-- Format price max --\x3e\n{% assign priceMaxWithFormat = \'\' -%}\n{% if product.price_max and maxPrice > minPrice -%}\n{% assign priceMaxWithFormat = maxPrice | format_currency: moneyFormat, showCentAsSuperscript, removePriceDecimal , decimalDelimiter, withoutTrailingZeros -%}\n{% endif -%}\n\x3c!-- priceMax used for multi variant price display where it can have min-max price with format and translation --\x3e\n{% assign hasMultiVariantPrice = false -%}\n{% if translations.productItem.amount contains "minPrice" -%}\n{% assign hasMultiVariantPrice = true -%}\n{% endif -%}\n{% assign isSamePrice = true -%}\n{% if minPrice != maxPrice or product.compare_at_price_min != product.compare_at_price_max -%}\n{% assign isSamePrice = false -%}\n{% endif -%}\n{% assign priceValueWithFormat = priceMinWithFormat -%}\n{% if isSamePrice == false and maxPrice > minPrice and hasMultiVariantPrice -%}\n{% assign priceValueWithFormat = "productItem.amount" | translate: translations, "" | replace: \'{{minPrice}}\', priceMinWithFormat | replace: \'{{maxPrice}}\', priceMaxWithFormat -%}\n{% endif -%}\n{% assign savingPriceWithFormat = \'\' -%}\n{% unless showSavingDisplay == false or saleAmount == 0 -%}\n{% assign saleAmountWithFormat = saleAmount | format_currency: moneyFormat, showCentAsSuperscript, removePriceDecimal, decimalDelimiter, withoutTrailingZeros -%}\n{% assign savingPriceWithFormat = "productItem.savingAmount" | translate: translations, "Save {{saleAmount}}" | replace: \'{{saleAmount}}\', saleAmountWithFormat | replace: \'{{salePercent}}\', salePercent -%}\n{% endunless -%}\n\x3c!-- Price compare display top or bottom --\x3e\n\x3c!-- Price compare display left or right --\x3e\n
\n \n {% if isSale %}\n Regular price {{ compareAtPriceWithFormat }}, now on sale for {{ priceValueWithFormat }}{% if savingPriceWithFormat != \'\' %}, saving {{ savingPriceWithFormat }}{% endif %}\n {% else %}\n Regular price {{ priceValueWithFormat }}\n {% endif %}\n \n \n \n {{ priceValueWithFormat }}\n \n {% if compareAtPriceWithFormat != \'\' -%}\n \n {{ compareAtPriceWithFormat }}\n \n {% endif -%}\n \n {% if savingPriceWithFormat != \'\' -%}\n \n {{ savingPriceWithFormat }}\n \n {% endif -%}\n
\n \n We will notify you when the item is available\n
'},templateSettings:{appPreferenceSettings:{watermark:!1},preOrderSettings:{buttonText:"Pre-order",deliveryText:"This is a pre-order. Items will ship based on the estimated delivery date.",showDeliveryText:!1},generalSettings:{addCollectionToProductUrl:!1,breakpointmobile:"575px",breakpointtabletportraitmin:"576px",breakpointtabletportraitmax:"991px",breakpointtabletlandscapetmin:"992px",breakpointtabletlandscapemax:"1199px",breakpointdesktop:"1200px"},searchSettings:{searchPanelBlocks:{searchTermSuggestions:{label:"Check out some of these popular searches",searchTermList:[],backup:[],type:"based_on_data",active:!1},mostPopularProducts:{label:"Trending products",productList:[],backup:[],type:"based_on_data",active:!1},products:{label:"Products",pageSize:25,active:!0,displayImage:!0},collections:{label:"Collections",pageSize:25,active:!1,displayImage:!1,displayDescription:!1,excludedValues:[]},pages:{label:"Blogs & Pages",pageSize:25,active:!1,displayImage:!1,displayExcerpt:!1},searchEmptyResultMessages:{active:!0,label:"We are sorry! We couldn't find results for \"{{ terms }}\".{{ breakline }}But don't give up – check the spelling or try less specific search terms."},searchTips:{label:"Search tips",active:!1,searchTips:"Please double-check your spelling.{{ breakline }}Use more generic search terms.{{ breakline }}Enter fewer keywords.{{ breakline }}Try searching by product type, brand, model number or product feature."}},suggestionNoResult:{search_terms:{label:"Check out some of these popular searches",status:!1,data:[],type:"based_on_data",backup:[]},products:{label:"Trending products",status:!1,data:[],type:"based_on_data",backup:[]}},enableInstantSearch:!0,productAvailable:!1,showSuggestionProductImage:!0,showSuggestionProductPrice:!0,showSuggestionProductSalePrice:!0,showSuggestionProductSku:!0,showSuggestionProductVendor:!0,suggestionBlocks:[{type:"suggestions",label:"Popular suggestions",status:"active",number:5},{type:"collections",label:"Collections",status:"active",number:3},{type:"products",label:"Products",status:"active",number:6},{type:"pages",label:"Pages",status:"active",number:3}],searchBoxOnclick:{recentSearch:{label:"Recent searches",status:!1,number:"3"},searchTermSuggestion:{label:"Popular searches",status:!1,data:[],backup:[],type:"manually"},productSuggestion:{label:"Trending products",status:!1,data:[],backup:[],type:"manually"}},suggestionStyle:"style2",suggestionStyle1ProductItemType:"list",suggestionStyle1ProductPosition:"none",suggestionStyle1ProductPerRow:"1",suggestionStyle2ProductItemType:"list",suggestionStyle2ProductPosition:"right",suggestionStyle2ProductPerRow:"2",suggestionStyle3ProductItemType:"list",suggestionStyle3ProductPosition:"right",suggestionStyle3ProductPerRow:"3"},filterSettings:{showFilterOptionCount:!0,showRefineBy:!1,showOutOfStockOption:!1,showSingleOption:!1,keepToggleState:!0,changeMobileButtonLabel:!1,sortingAvailableFirst:!1,showLoading:!0,activeScrollToTop:!1,showVariantImageBasedOnSelectedFilter:"",productAndVariantAvailable:!1,availableAfterFiltering:!1,isShortenUrlParam:!1,filterTreeMobileStyle:"style3",filterTreeVerticalStyle:"style-off-canvas",filterTreeHorizontalStyle:"style1",stickyFilterOnDesktop:!1,stickyFilterOnMobile:!1,style:{filterTitleTextColor:"#222222",filterTitleFontSize:15.4,filterTitleFontWeight:400,filterTitleFontTransform:"none",filterTitleFontFamily:"Roboto",filterOptionTextColor:"#222222",filterOptionFontSize:15.4,filterOptionFontFamily:"Roboto"},filterLayout:"vertical"},additionalElementSettings:{customSortingList:"best-selling|number-extra-sort1-descending|price-ascending|price-descending|created-descending|created-ascending|relevance|manual",enableCollectionSearch:!1},themeSettings:{productItems:{general:{borderLayout:"noBorder",subLayout:"subLayout_2_2",backgroundColor:"#FBFBFB",backgroundColorOnHover:"#FBFBFB",borderColor:"#cccccc",borderColorOnHover:"#cccccc"},productImg:{elements:{productSaleLabel:{shape:"rectangle",displayType:"text",displayOptions:"always",color:"#FFFFFF",backgroundColor:"#DD3300",fontSizeScale:100,fontSize:"inherit",fontSizeTabletPortrait:"inherit",fontSizeTabletLandscape:"inherit",fontSizeMobile:"inherit",fontFamily:"inherit",fontStyle:"inherit",textTransform:"none",fontWeight:"inherit",isEnable:!0},productSoldOutLabel:{hideOtherLabelsWhenSoldOut:!0,shape:"rectangle",displayType:"text",displayOptions:"always",color:"#FFFFFF",backgroundColor:"#333333",fontSizeScale:100,fontSize:"inherit",fontSizeTabletPortrait:"inherit",fontSizeTabletLandscape:"inherit",fontSizeMobile:"inherit",fontFamily:"inherit",fontStyle:"inherit",textTransform:"none",fontWeight:"inherit",isEnable:!0},productCustomLabelByTag:{shape:"rectangle",color:"#FFFFFF",backgroundColor:"#00A47C",fontSizeScale:100,fontSize:"inherit",fontSizeTabletPortrait:"inherit",fontSizeTabletLandscape:"inherit",fontSizeMobile:"inherit",fontFamily:"inherit",fontStyle:"inherit",textTransform:"none",fontWeight:"inherit",isEnable:!1},selectOptionBtn:{buttonType:"selectOptionBtn",action:"quickAddToCart",isEnable:!1},qvBtn:{buttonType:"qvBtn",isEnable:!1}},grid:{top:{direction:"horizontal",elements:{left:["saleLabel","soldOutLabel","customLabelByTag"]}},bottom:{direction:"horizontal",elements:{left:["selectOptionBtn","qvBtn"]}}},aspectRatioType:"natural",hoverEffect:"reveal-second-image-and-zoom-in"},styleSettings:{selectOptionBtn:{showOnHovering:!0,showOn:"desktopOnly",displayType:"textWithIcon",shape:"rectangle",imgSrc:"https://boost-cdn-prod.bc-solutions.net/icon/add-to-cart-white.svg",iconPosition:"left",fontSize:"inherit",fontSizeTabletPortrait:"inherit",fontSizeTabletLandscape:"inherit",fontSizeMobile:"inherit",buttonStyling:"solid",backgroundColor:"#ee4382",backgroundColorOnHover:"#ee4382",borderColor:"#ee4382",borderColorOnHover:"#ee4382",textColor:"#fbfbfb",textColorOnHover:"#fbfbfb",fontSizeScale:100,fontFamily:"inherit",fontStyle:"inherit",textTransform:"none",fontWeight:"inherit",width:"100%"},qvBtn:{showOnHovering:!0,showOn:"desktopOnly",displayType:"icon",shape:"square",imgSrc:"https://boost-cdn-prod.bc-solutions.net/icon/quick-view.svg",iconPosition:"left",width:"40px",fontSize:"inherit",fontSizeTabletPortrait:"inherit",fontSizeTabletLandscape:"inherit",fontSizeMobile:"inherit",buttonStyling:"outline",backgroundColor:"#FFFFFF",backgroundColorOnHover:"#FFFFFF",borderColor:"#ee4382",borderColorOnHover:"#ee4382",textColor:"#ee4382",textColorOnHover:"#ee4382",fontSizeScale:100,fontFamily:"inherit",fontStyle:"inherit",textTransform:"none",fontWeight:"inherit"}},productInfo:{textAlign:"left",elements:{"swatches.1":{showOptionValueOnHovering:!0,shape:"circle",changeProductImageOn:"hover",isEnable:!1},title:{color:"#222222",fontSizeScale:110,fontSize:14.3,fontSizeTabletPortrait:14.3,fontSizeTabletLandscape:14.3,fontSizeMobile:13.2,fontFamily:"Roboto",fontStyle:"normal",textTransform:"none",isEnable:!0,fontWeight:400},vendor:{color:"#595959",fontSizeScale:110,fontSize:11,fontSizeTabletPortrait:11,fontSizeTabletLandscape:11,fontSizeMobile:11,fontFamily:"Roboto",fontStyle:"normal",textTransform:"none",isEnable:!1,fontWeight:400},price:{showCentAsSuperscript:!1,showCurrencyCodes:!1,compareAtPricePosition:"right",showSavingDisplay:!1,priceColor:"#222222",priceFontSizeScale:110,priceFontFamily:"Roboto",priceFontStyle:"normal",priceFontSize:17.6,priceFontSizeTabletPortrait:17.6,priceFontSizeTabletLandscape:17.6,priceFontSizeMobile:17.6,salePriceColor:"#d54d4d",salePriceFontSizeScale:110,salePriceFontFamily:"Roboto",salePriceFontStyle:"normal",salePriceFontSize:17.6,salePriceFontSizeTabletPortrait:17.6,salePriceFontSizeTabletLandscape:17.6,salePriceFontSizeMobile:17.6,compareAtPriceColor:"#8c8b8b",compareAtPriceFontSizeScale:110,compareAtPriceFontFamily:"Roboto",compareAtPriceFontStyle:"normal",compareAtPriceFontSize:14.3,compareAtPriceFontSizeTabletPortrait:14.3,compareAtPriceFontSizeTabletLandscape:14.3,compareAtPriceFontSizeMobile:14.3,savingDisplayColor:"#DD3300",savingDisplayFontSizeScale:110,savingDisplayFontFamily:"Roboto",savingDisplayFontStyle:"normal",savingDisplayFontSize:17.6,savingDisplayFontSizeTabletPortrait:17.6,savingDisplayFontSizeTabletLandscape:17.6,savingDisplayFontSizeMobile:17.6,isEnable:!0,priceFontWeight:400,salePriceFontWeight:400,compareAtPriceFontWeight:400,savingDisplayFontWeight:400},inventoryStatus:{lowInventoryThreshold:0,fontSizeScale:100,textTransform:"none",inStockColor:"#00A47C",lowStockColor:"#F29100",soldOutColor:"#595959",fontFamily:"inherit",fontStyle:"inherit",fontSize:"inherit",fontSizeTabletPortrait:"inherit",fontSizeTabletLandscape:"inherit",fontSizeMobile:"inherit",isEnable:!1,fontWeight:"inherit"},rating:!0,"swatches.2":{showOptionValueOnHovering:!0,shape:"circle",changeProductImageOn:"hover",isEnable:!1},"swatches.3":{showOptionValueOnHovering:!0,shape:"circle",changeProductImageOn:"hover",isEnable:!1}}}},additionalElements:{pagination:{paginationType:"infinite_scroll",productCount:{showProductCount:!1},button:{shape:"rectangle",color:"#222222",backgroundColor:"#FFFFFF",borderColor:"#222222",textTransform:"none",fontSize:"inherit|14",fontSizeTabletPortrait:"inherit|14",fontSizeTabletLandscape:"inherit|14",fontSizeMobile:"inherit|14",fontFamily:"inherit",fontStyle:"inherit",fontSizeScale:100}},toolbar:{layout:"1_1",filterText:{color:"#222222",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",textTransform:"none",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,fontWeight:400},refineByText:{color:"#222222",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",textTransform:"none",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,fontWeight:400},elements:{viewAs:{fontSizeScale:110,fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,color:"#222222",fontFamily:"Roboto",fontStyle:"normal",textTransform:"none",listType:"grid/list",isEnable:!1,fontWeight:400},productCount:{fontSizeScale:110,fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,color:"#222222",fontFamily:"Roboto",fontStyle:"normal",textTransform:"none",isEnable:!1,fontWeight:400},showLimitList:{fontSizeScale:110,fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,color:"#222222",fontFamily:"Roboto",fontStyle:"normal",textTransform:"none",isEnable:!1,fontWeight:400},sorting:{fontSizeScale:110,fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,color:"#222222",fontFamily:"Roboto",fontStyle:"normal",textTransform:"none",isEnable:!0,fontWeight:400}}},collectionHeader:{isEnable:!1,layout:2,contentPosition:"middle-center",elements:{breadCrumb:{showCollectionTitle:!1,showCollectionList:!1,showPagination:!1,placement:"on-top",alignment:"middle-left",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",textTransform:"none",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,color:"#222222",isEnable:!1,fontWeight:400},collectionImage:{size:"medium",parallaxEffect:!1,directionParallax:"vertical",isEnable:!0},collectionTitle:{textAlign:"center",textTransform:"none",fontSizeScale:100,fontSize:40,fontSizeTabletPortrait:40,fontSizeTabletLandscape:40,fontSizeMobile:30,fontFamily:"Roboto",fontStyle:"normal",collectionTitleColor:"#222222",isEnable:!0,fontWeight:100},productCount:{fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",textTransform:"none",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,color:"#222222",isEnable:!1,fontWeight:400},collectionDescription:{fontSize:null,fontSizeTabletPortrait:null,fontSizeTabletLandscape:null,fontSizeMobile:null,isEnable:!1}}}},quickView:{showProductImage:!0,thumbnailPosition:"topLeft",isEnableProductVendor:!1,buttonOverall:{shape:"round",fontSizeScale:100,fontSize:"inherit",fontSizeTabletPortrait:"inherit",fontSizeTabletLandscape:"inherit",fontSizeMobile:"inherit",fontFamily:"inherit",fontStyle:"inherit",fontWeight:"inherit"},buyItNowBtn:{enable:!1,color:"#fbfbfb",hoverColor:"#fbfbfb",backgroundColor:"#ee4382",hoverBackgroundColor:"#ee4382",textTransform:"none",borderColor:"#ee4382",hoverBorderColor:"#ee4382"},addToCartBtn:{color:"#ee4382",hoverColor:"#ee4382",backgroundColor:"#FFFFFF",hoverBackgroundColor:"#FFFFFF",borderColor:"#ee4382",hoverBorderColor:"#ee4382",textTransform:"none"}},cart:{enableCart:!1,cartStyle:"side",autoOpenAjaxCartOnAddToCart:!0,generalLayout:{shape:"round",fontSizeScale:100,fontSize:"inherit",fontSizeTabletPortrait:"inherit",fontSizeTabletLandscape:"inherit",fontSizeMobile:"inherit",fontFamily:"inherit",fontStyle:"inherit",fontWeight:"inherit"},checkoutBtn:{textTransform:"none",color:"#fbfbfb",hoverColor:"#fbfbfb",backgroundColor:"#ee4382",hoverBackgroundColor:"#ee4382",borderColor:"#ee4382",hoverBorderColor:"#ee4382"},viewCartBtn:{textTransform:"none",color:"#ee4382",hoverColor:"#ee4382",backgroundColor:"#FFFFFF",hoverBackgroundColor:"#FFFFFF",borderColor:"#ee4382",hoverBorderColor:"#ee4382"}},productList:{productsPerPage:48,productsPerRowOnDesktop:4,productsPerRowOnMobile:2},searchPage:{headerBackground:"#F6F6F8",elements:{searchHeaderText:{color:"#222222",textTransform:"none",fontSizeScale:100,fontSize:40,fontSizeTabletPortrait:40,fontSizeTabletLandscape:40,fontSizeMobile:30,fontFamily:"Roboto",fontStyle:"normal",fontWeight:100},placeholderSearch:{color:"#595959",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,fontWeight:400},scopedSuggestionLabel:{color:"#222222",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,fontWeight:400},scopedSuggestionItem:{color:"#222222",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:13.2,fontSizeTabletPortrait:13.2,fontSizeTabletLandscape:13.2,fontSizeMobile:13.2,backgroundColor:"#E8E9EB",fontWeight:400},titleTab:{color:"#222222",textTransform:"none",fontSizeScale:100,fontFamily:"Roboto",fontStyle:"normal",fontSize:14,fontSizeTabletPortrait:14,fontSizeTabletLandscape:14,fontSizeMobile:14,fontWeight:400},productCount:{color:"#222222",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,fontWeight:400},collectionAndPageTabTitle:{color:"#222222",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:17.6,fontSizeTabletPortrait:17.6,fontSizeTabletLandscape:17.6,fontSizeMobile:17.6,fontWeight:400},collectionAndPageTabDescription:{color:"#222222",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,fontWeight:400},tipForYou:{color:"#222222",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,fontWeight:400},line:{color:"#cccccc"}}},filterTree:{elements:{refineBy:{color:"#222222"},filterTitle:{color:"#222222",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,fontWeight:400},filterOption:{color:"#222222",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,fontWeight:400},productCount:{color:"#595959",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,fontWeight:400},line:{color:"#cccccc"},checkbox:{color:"#22222299"},searchBox:{color:"#cccccc"}}},isw:{backgroundSuggestion:"#F8F8F8",backgroundProducts:"#FFFFFF",hoverBackgroundSuggestion:"#E8E9EB",hoverBackgroundProducts:"#F8F8F8",elements:{titleMultiElement:{color:"#595959",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:13.2,fontSizeTabletPortrait:13.2,fontSizeTabletLandscape:13.2,fontSizeMobile:13.2,fontWeight:400},results:{color:"#222222",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,fontWeight:400},didYouMean:{color:"#222222",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,fontWeight:400},didYouMeanResults:{color:"#222222",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,backgroundColor:"#F6F6F7",fontWeight:400},productTitle:{color:"#222222",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,fontWeight:400},productVendor:{color:"#595959",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:13.2,fontSizeTabletPortrait:13.2,fontSizeTabletLandscape:13.2,fontSizeMobile:13.2,fontWeight:400},productPrice:{color:"#222222",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,fontWeight:400},productSalePrice:{color:"#d54d4d",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,fontWeight:400},productCompareAtPrice:{color:"#8c8b8b",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,fontWeight:400},productSKU:{color:"#595959",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,fontWeight:400},viewAllBtn:{color:"#222222",textTransform:"none",fontSizeScale:110,fontFamily:"Roboto",fontStyle:"normal",fontSize:15.4,fontSizeTabletPortrait:15.4,fontSizeTabletLandscape:15.4,fontSizeMobile:15.4,backgroundColor:"#FFFFFF",hoverBackgroundColor:"#E8E9EB",fontWeight:400}}}},currentAppIntegration:{reviews:"okendo"},themeName:"default",srcThemeNameLib:"turbo"}||{}}}};ie.moduleName="TemplateManagement";var re=class extends x{constructor(){super(...arguments),this.initBlock=()=>{const e=document.querySelector(".boost-sd__widget-volume-bundle");e&&(this.block={id:e.id||"bc-volume-bundle",document:e},this.backwardCompatibilityV1Module?.legacyAssignDefaultBlockAttributes(this.block,e,"volumeBundle"),this.TAEApp.registerBlock(this.block))}}get backwardCompatibilityV1Module(){return this.TAEApp.getModule(X)}onModuleInit(){document.addEventListener("DOMContentLoaded",this.initBlock)}onModuleDestroy(){document.removeEventListener("DOMContentLoaded",this.initBlock)}};re.moduleName="VolumeBundle";var le=(new class{constructor(l,d){g(this,r),g(this,e),g(this,t),g(this,o,[]),g(this,s,new Map),g(this,n,"created"),g(this,a,{}),this.mode="production",this.logLevel=1,g(this,i,{});const c=window.boostWidgetIntegration;f(this,e,l||{logLevel:c?.config?.logLevel,env:"production"}),this.logLevel=h(this,e).logLevel??("production"===this.mode?2:this.logLevel),null==h(this,e).logLevel&&(h(this,e).logLevel=this.logLevel),f(this,t,d||{}),this.logger={debug:(...e)=>{this.logLevel},info:(...e)=>{this.logLevel},warn:(...e)=>{this.logLevel},error:(...e)=>{this.logLevel}}}get blocks(){return h(this,i)}get config(){return h(this,e)}get dataObjects(){return h(this,t)}get status(){return h(this,n)}get modules(){return h(this,o)}bootstrap(){"bootstrapped"!==h(this,n)?"started"!==h(this,n)?(y(this,r,u).call(this),this.dispatchLifecycleEvent({name:"onBeforeAppBootstrap",payload:null}),h(this,e)?.customization?.app?.onBootstrap&&h(this,e).customization.app.onBootstrap(this),y(this,r,l).call(this),y(this,r,d).call(this),y(this,r,c).call(this),this.assignGlobalVariables(),f(this,n,"bootstrapped"),this.dispatchLifecycleEvent({name:"onAppBootstrap",payload:null})):this.logger.warn("Application already started"):this.logger.warn("Application already bootstrapped")}async initModules(){await Promise.all(h(this,o).map((async e=>{if(e.shouldInit()){e.onBeforeModuleInit?.(),this.dispatchLifecycleEvent({name:"onBeforeModuleInit",payload:{module:e}}),this.logger.info(`Initializing ${e.constructor.name} module`);try{await e.init(),this.dispatchLifecycleEvent({name:"onModuleInit",payload:{module:e}})}catch(t){this.logger.error(`Error initializing module ${e.constructor.name}:`,t),this.dispatchLifecycleEvent({name:"onModuleError",payload:{module:e,error:t instanceof Error?t:new Error(String(t))}})}}else this.logger.info("Module not initialized",e.constructor.name,"shouldInit returned false")})))}getModule(e){return h(this,s).get(e)}getModuleByName(e){return h(this,o).find((t=>t.constructor.moduleName===e))}registerBlock(e){if(!e.id)return void this.logger.error("Block id is required");const t=e.id;h(this,i)[t]?this.logger.error(`Block with id ${t} already exists`):(h(this,i)[t]=e,window.boostWidgetIntegration.blocks&&(window.boostWidgetIntegration.blocks[t]=e),this.dispatchLifecycleEvent({name:"onRegisterBlock",payload:{block:e}}))}assignGlobalVariables(){window.boostWidgetIntegration||(window.boostWidgetIntegration={}),Object.assign(window.boostWidgetIntegration,{TAEApp:this,config:this.config,dataObjects:h(this,t),blocks:this.blocks})}async start(){this.logger.info("Application starting"),this.bootstrap(),this.dispatchLifecycleEvent({name:"onBeforeAppStart",payload:null}),await this.initModules(),f(this,n,"started"),this.dispatchLifecycleEvent({name:"onAppStart",payload:null}),h(this,e)?.customization?.app?.onStart&&h(this,e).customization.app.onStart(this)}destroy(){"started"===h(this,n)?(h(this,o).forEach((e=>{this.dispatchLifecycleEvent({name:"onModuleDestroy",payload:{module:e}}),e.destroy()})),f(this,o,[]),y(this,r,p).call(this),f(this,n,"destroyed"),this.dispatchLifecycleEvent({name:"onAppDestroy",payload:null})):this.logger.warn("Application not started yet")}setLogLevel(e){this.logLevel=e,this.updateConfig({logLevel:e})}loadModule(e){if(!e)return this;const t=this,n=new e(t);return h(t,s).has(e)?(this.logger.warn(`Module ${e.name} already loaded`),t):(h(this,o).push(n),h(this,s).set(e,n),this.logger.info(`Module ${e.name} already loaded`),t)}updateConfig(t){return"function"==typeof t?f(this,e,t(h(this,e))):v(h(this,e),t),this.config}dispatchLifecycleEvent(e){switch(e.name){case"onBeforeAppBootstrap":this.triggerEvent("onBeforeAppBootstrap",e);break;case"onAppBootstrap":this.logger.info("Application bootstrapped"),this.triggerEvent("onAppBootstrap",e);break;case"onBeforeModuleInit":this.triggerEvent("onBeforeModuleInit",e);break;case"onModuleInit":this.logger.info(`Module ${e.payload.module.constructor.name} initialized`),this.triggerEvent("onModuleInit",e);break;case"onModuleDestroy":this.logger.info(`Module ${e.payload.module.constructor.name} destroyed`),this.triggerEvent("onModuleDestroy",e);break;case"onBeforeAppStart":this.triggerEvent("onBeforeAppStart",e);break;case"onAppStart":this.logger.info("Application started"),this.triggerEvent("onAppStart",e);break;case"onAppDestroy":this.logger.info("Application destroyed"),this.triggerEvent("onAppDestroy",e);break;case"onAppError":this.logger.error("Application error",e.payload.error),this.triggerEvent("onAppError",e);break;case"onModuleError":this.logger.error("Module error",e.payload.module.constructor.name,e.payload.error),this.triggerEvent("onModuleError",e);break;case"onRegisterBlock":this.logger.info(`Block registered with id: ${e.payload.block.id}`),this.triggerEvent("onRegisterBlock",e);break;default:this.logger.warn("Unknown lifecycle event",e)}}triggerEvent(e,t){const o=h(this,a)[e];o&&o.forEach((o=>{try{"onRegisterBlock"===e&&t.payload&&"block"in t.payload?o(t.payload.block):o(t)}catch(o){this.logger.error(`Error in event listener for ${e}:`,o,"Event data:",t)}}))}}).loadModule(j).loadModule(ae).loadModule(ne).loadModule(ie).loadModule(Q).loadModule(T).loadModule(oe).loadModule(te).loadModule(K).loadModule(q).loadModule(H).loadModule(G).loadModule(re).loadModule(ee).loadModule(J).loadModule(Y).loadModule(se).loadModule($).loadModule(U).loadModule(X);function de(){return le}le.start()})();
Same-day delivery 7 days a week in Sydney, Wollongong, Central Coast, Melbourne, Geelong, Mornington Peninsula, Brisbane, Gold Coast, Adelaide, Perth and Fremantle. Order by 4pm for metro areas. National next day delivery for all other locations.
It’s no secret that our LVLY customers love everything and anything sweet. Like, seriously.
We’ve always had sweet treats in our gift bundles - from our original Dreamy & Creamy milk chocolate, to delicious quote cookies from Sweet Mickie, but since we launched our assorted lolly boxes back in March, you guys have gonewild for them. And we don’t blame you - with a mouthwatering mix of red liquorice, peach rings, fizzy cola bottles, cherries, snakes and more, even Team LVLY have a hard time resisting a lolly or two when we’re taking product photos! And check this out - since we launched our lolly boxes, we’ve sold the equivalent weight of an average African elephant! That’s a lot of lollies.
Since our sweet lolly boxes have proved to be so popular, we thought we’d give a run down of the best candy gift boxes available to gift any sweet tooth in your life. Prepare for your mouth to water!
The OG
Sometimes simple is best, and our Sweet Tooth lolly gift box is certainly proof of that! Featuring a beautiful seasonal (or native) flower jar with a whoppin’ 1kg bag of mixed lollies, it was no surprise when this sweet gift box rocketed into our best selling gifts.
Maybe flowers aren’t their thing, and that’s totally fine. Our plant lolly gift box is the perfect alternative to gift a little bit of a sweetness. Bonus points that the plant will last long after the lollies have been eaten!
Gift an indoor plant and lolly bundle here.
The choc lover’s paradise
We get that lollies aren’t for everyone, so this snazzy chocolate gift box has the best of both worlds. As well as our classic kilo of mixed lollies, they’ll also receive not one, not two, but three different types of chocolate! There’s our classic Dreamy & Creamy milk chocolate (it never fails to impress), our lolly covered Party Time mini chocolate bar, and - saving the best til last - a whole bag of Cheeky chocolate coated almonds. These bad boys are a LVLY cult favourite - made using South Australian almonds and coated in milk chocolate and cocoa powder - once you try them, you’ll be hooked!
Lollies and beer? Don’t knock it until you’ve tried it! Trust us - it’s a not a well known combo, but it works. Say ‘Happy BEER-THDAY’ with this quartet of goodies, including your choice of seasonal or native flowers, 4 tasty Kaiju Krush tropical pale ale cans and sweet treats including 1 kilo of mixed lollies and fairy floss. The pièce de résistance? A fetching turquoise party hat that they are going to look adorable in! You have our permission to hide the beers and lollies until the birthday boy puts his party hat on.
Shop the best birthday dessert box, Birthday Beers + Native Posy here.
The ultimate birthday box
You’ve hit the motherload of sweetness here. Our Ultimate B’day Vibes bundle doesn’t just taste sweet, it smells sweet too!
With the sugar hit coming in the form of Fluffe fairy floss (birthday cake flavour, naturally), Party Time chocolate, a confetti lollipop and a B’day Vibes quote cookie from Sweet Mickie, there’s no end to the sweet treats here. And it gets better, this celebration gift box also includes pamper goodies in the form of a sweet smelling coconut, vanilla and lime candle, plus a floral scented bath bomb. The lucky birthday guy or girl can run a bath, crack open the included bottle of Zonzo Prosecco and indulge in a sweet feast, just for them.
Shop the Ultimate B’day Vibes + Flowers bundle hereor the hamper option here.
Build your own
And if you’re still looking for the perfect sweet treat box, why not create your own? Our ‘build your own’ gift box option puts the power in your hands to mix and match from over 150+ flower and gift options to create a sweet gift hamper that’s made just for them. Featuring all the classics like milk chocolate, cookies, lolly boxes and fairy floss, you can pair them with any other gift you like. Pinot Noir and a chocolate bar? Sure! Cookies and a vibrator? Sounds like a great night in to us.
Start creating your unique lolly and sweet treat gift box here.
And if you’re looking for a sweet-as-sugar message to include with your gift bundle (that won’t send them straight to the dentist), here are a few of our favourite suggestions below:
‘Besides chocolate, you’re my favourite thing’
‘You’re just like sugar, you make my life a little sweeter’
‘You make me melt’
Send a whole box of sweet treats to a sugar lover by browsing our gift range here. We offer same day sweet boxes delivered 7 days a week to Sydney, Melbourne, Brisbane and Perth. Mon - Sat in Adelaide and next day delivery Mon - Fri for all other locations.