@lime-bundles/widget 2.6.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- "use strict";var LimeBundles=(()=>{var Be=Object.defineProperty;var Vt=Object.getOwnPropertyDescriptor;var Ot=Object.getOwnPropertyNames;var Ht=Object.prototype.hasOwnProperty;var Ut=(e,t)=>{for(var r in t)Be(e,r,{get:t[r],enumerable:!0})},Nt=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ot(t))!Ht.call(e,n)&&n!==r&&Be(e,n,{get:()=>t[n],enumerable:!(o=Vt(t,n))||o.enumerable});return e};var qt=e=>Nt(Be({},"__esModule",{value:!0}),e);var yn={};Ut(yn,{LimeBundleElement:()=>ce,trackInputMode:()=>ye});var $t=Object.defineProperty,Ye=(e,t)=>{for(var r in t)$t(e,r,{get:t[r],enumerable:!0})},He=class extends Error{constructor(e){super(e.map(t=>t.message).join("; ")),this.errors=e,this.name="StorefrontApiError"}},Wt="2025-10";function Ae(e){let t=e.apiVersion??Wt,r=`https://${e.shopDomain}/api/${t}/graphql.json`;return{async query(o,n,a){let i={"Content-Type":"application/json","X-Shopify-Storefront-Access-Token":e.accessToken};e.buyerIp&&(i["Shopify-Storefront-Buyer-IP"]=e.buyerIp);let l=await fetch(r,{method:"POST",headers:i,body:JSON.stringify({query:o,variables:n}),signal:a?.signal});if(!l.ok)throw new He([{message:`Storefront API error: ${l.status} ${l.statusText}`}]);let d=await l.json();if(d.errors?.length)throw new He(d.errors);return d.data}}}var Qe=`#graphql
1
+ "use strict";var LimeBundles=(()=>{var Ae=Object.defineProperty;var Wt=Object.getOwnPropertyDescriptor;var zt=Object.getOwnPropertyNames;var jt=Object.prototype.hasOwnProperty;var Kt=(e,t)=>{for(var r in t)Ae(e,r,{get:t[r],enumerable:!0})},Gt=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of zt(t))!jt.call(e,n)&&n!==r&&Ae(e,n,{get:()=>t[n],enumerable:!(o=Wt(t,n))||o.enumerable});return e};var Qt=e=>Gt(Ae({},"__esModule",{value:!0}),e);var Fn={};Kt(Fn,{LimeBundleElement:()=>me,trackInputMode:()=>Se});var Yt=Object.defineProperty,tt=(e,t)=>{for(var r in t)Yt(e,r,{get:t[r],enumerable:!0})},je=class extends Error{constructor(e){super(e.map(t=>t.message).join("; ")),this.errors=e,this.name="StorefrontApiError"}},Xt="2025-10";function Me(e){let t=e.apiVersion??Xt,r=`https://${e.shopDomain}/api/${t}/graphql.json`;return{async query(o,n,a){let i={"Content-Type":"application/json","X-Shopify-Storefront-Access-Token":e.accessToken};e.buyerIp&&(i["Shopify-Storefront-Buyer-IP"]=e.buyerIp);let l=await fetch(r,{method:"POST",headers:i,body:JSON.stringify({query:o,variables:n}),signal:a?.signal});if(!l.ok)throw new je([{message:`Storefront API error: ${l.status} ${l.statusText}`}]);let d=await l.json();if(d.errors?.length)throw new je(d.errors);return d.data}}}var rt=`#graphql
2
2
  query BundleMetaobject($id: ID!) {
3
3
  metaobject(id: $id) {
4
4
  id
@@ -97,7 +97,7 @@
97
97
  }
98
98
  }
99
99
  }
100
- `,Xe=`#graphql
100
+ `,nt=`#graphql
101
101
  query ShopCustomCss {
102
102
  shop {
103
103
  metafield(namespace: "$app", key: "custom_css") {
@@ -105,7 +105,7 @@
105
105
  }
106
106
  }
107
107
  }
108
- `,Je=`#graphql
108
+ `,ot=`#graphql
109
109
  query BundlesForProduct($handle: String!) {
110
110
  product(handle: $handle) {
111
111
  id
@@ -215,42 +215,49 @@
215
215
  }
216
216
  }
217
217
  }
218
- `,Ze=`#graphql
218
+ `,it=`#graphql
219
219
  mutation CartCreate($input: CartInput!) {
220
220
  cartCreate(input: $input) {
221
221
  cart { id checkoutUrl }
222
222
  userErrors { field message }
223
223
  }
224
224
  }
225
- `,et=`#graphql
225
+ `,at=`#graphql
226
226
  mutation CartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!) {
227
227
  cartLinesAdd(cartId: $cartId, lines: $lines) {
228
228
  cart { id checkoutUrl }
229
229
  userErrors { field message }
230
230
  }
231
231
  }
232
- `,re=class extends Error{constructor(e,t){super(e),this.reason=t,this.name="BundleParseError"}},X={header:{textColor:"#FFFFFF",headerStyle:"gradient",gradientStart:"#C62828",gradientEnd:"#AD1457",saveBadgeBgColor:"#FFFFFF",saveBadgeTextColor:"#AD1457",saveBadgeBorderColor:"#FFFFFF",saveBadgeBorderWidth:0,saveBadgeBorderRadius:8,countdownBgColor:"#FFF0F3",countdownTextColor:"#C62828"},layout:{backgroundColor:"#FFFFFF",borderColor:"#E5E5E5",borderWidth:1,borderRadius:12},productList:{textColor:"#1A1A1A",imageBorderWidth:0,imageBorderColor:"#E5E5E5",imageBorderRadius:8,thumbnailRatio:"square",variantBorderWidth:1,variantBorderColor:"#E5E5E5",variantBorderRadius:8,showPrice:!0,showCompareAtPrice:!0,showCountBubble:!0,countBubbleBgColor:"#1A1A1A",countBubbleTextColor:"#FFFFFF"},pricing:{showSaveBadge:!0,showComparePrice:!0,showPerUnitPrice:!0,showItemCount:!0,showCompareAtPrice:!0},cta:{ctaText:"Add to cart",primaryColor:"#1A1A1A",buttonTextColor:"#FFFFFF",borderWidth:0,borderColor:"#1A1A1A",borderRadius:12},savingsBar:{visible:!0,bgColor:"#EDFBF1",textColor:"#2DB554",borderWidth:0,borderColor:"#2DB554",borderRadius:8},countdown:{showCountdown:!0},popularBadge:{visible:!0,text:"Most Popular",bgColor:"#1A1A1A",textColor:"#FFFFFF",borderWidth:0,borderColor:"#1A1A1A",borderRadius:12},outOfStockBehavior:"show_greyed_out",showLowStockBadge:!0,lowStockThreshold:10,lowStockBgColor:"#FEF3C7",lowStockTextColor:"#92400E",showSearch:!0,pickerBgColor:"#FFFFFF",pickerTextColor:"#1A1A1A",pickerBorderWidth:0,pickerBorderColor:"#E5E5E5",pickerBorderRadius:16,pickerSearchBorderWidth:1,pickerSearchBorderColor:"#E5E5E5",pickerSearchBorderRadius:8,pickerProductBorderWidth:0,pickerProductBorderColor:"#E5E5E5",pickerProductBorderRadius:8,pickerThumbnailRatio:"square",pickerShowCountBubble:!0,pickerCountBubbleBgColor:"#1A1A1A",pickerCountBubbleTextColor:"#FFFFFF",pickerAddBgColor:"#1A1A1A",pickerAddLabelColor:"#FFFFFF",pickerAddBorderWidth:0,pickerAddBorderColor:"#1A1A1A",pickerAddBorderRadius:8,pickerVariantBorderWidth:1,pickerVariantBorderColor:"#1A1A1A",pickerVariantBorderRadius:8,tierBorderColor:"#E5E5E5",tierBorderWidth:1,tierBorderRadius:12,tierSelectedBorderColor:"#1A1A1A",tierSelectedBorderWidth:2,defaultTier:"first"};function zt(e){if(!e||typeof e!="object")return X;let t=e;return{...X,...t,defaultTier:jt(t.defaultTier),header:{...X.header,...t.header??{}},layout:{...X.layout,...t.layout??{}},productList:{...X.productList,...t.productList??{}},pricing:{...X.pricing,...t.pricing??{}},cta:{...X.cta,...t.cta??{}},savingsBar:{...X.savingsBar,...t.savingsBar??{}},countdown:{...X.countdown,...t.countdown??{}},popularBadge:{...X.popularBadge,...t.popularBadge??{}}}}function jt(e){return e==="first"||e==="best_value"||typeof e=="number"&&Number.isInteger(e)&&e>=0?e:X.defaultTier}function Kt(e){return{primaryColor:e.cta.primaryColor,backgroundColor:e.layout.backgroundColor,textColor:e.productList.textColor,borderColor:e.layout.borderColor,borderWidth:e.layout.borderWidth,buttonTextColor:e.cta.buttonTextColor,ctaBorderWidth:e.cta.borderWidth,ctaBorderColor:e.cta.borderColor,ctaBorderRadius:e.cta.borderRadius,savingsBarBgColor:e.savingsBar.bgColor,savingsBarTextColor:e.savingsBar.textColor,savingsBarBorderWidth:e.savingsBar.borderWidth,savingsBarBorderColor:e.savingsBar.borderColor,savingsBarBorderRadius:e.savingsBar.borderRadius,borderRadius:e.layout.borderRadius,headerTextColor:e.header.textColor,saveBadgeBgColor:e.header.saveBadgeBgColor,saveBadgeTextColor:e.header.saveBadgeTextColor,saveBadgeBorderColor:e.header.saveBadgeBorderColor,saveBadgeBorderWidth:e.header.saveBadgeBorderWidth,saveBadgeBorderRadius:e.header.saveBadgeBorderRadius,countdownBgColor:e.header.countdownBgColor,countdownTextColor:e.header.countdownTextColor,headerStyle:e.header.headerStyle,headerGradientStart:e.header.gradientStart,headerGradientEnd:e.header.gradientEnd,showSaveBadge:e.pricing.showSaveBadge,imageBorderWidth:e.productList.imageBorderWidth,imageBorderColor:e.productList.imageBorderColor,imageBorderRadius:e.productList.imageBorderRadius,thumbnailRatio:e.productList.thumbnailRatio,variantBorderWidth:e.productList.variantBorderWidth,variantBorderColor:e.productList.variantBorderColor,variantBorderRadius:e.productList.variantBorderRadius,countBubbleBgColor:e.productList.countBubbleBgColor,countBubbleTextColor:e.productList.countBubbleTextColor,showProductPrice:e.productList.showPrice,showProductCompareAtPrice:e.productList.showCompareAtPrice,showCountBubble:e.productList.showCountBubble,showCountdown:e.countdown.showCountdown,ctaText:e.cta.ctaText,outOfStockBehavior:e.outOfStockBehavior,showLowStockBadge:e.showLowStockBadge,lowStockThreshold:e.lowStockThreshold,lowStockBgColor:e.lowStockBgColor,lowStockTextColor:e.lowStockTextColor,showComparePrice:e.pricing.showComparePrice,showPerUnitPrice:e.pricing.showPerUnitPrice,showItemCount:e.pricing.showItemCount,showCompareAtPrice:e.pricing.showCompareAtPrice,showMostPopular:e.popularBadge.visible,popularBadgeText:e.popularBadge.text,popularBadgeBgColor:e.popularBadge.bgColor,popularBadgeTextColor:e.popularBadge.textColor,popularBadgeBorderWidth:e.popularBadge.borderWidth,popularBadgeBorderColor:e.popularBadge.borderColor,popularBadgeBorderRadius:e.popularBadge.borderRadius,showSearch:e.showSearch,pickerBgColor:e.pickerBgColor,pickerTextColor:e.pickerTextColor,pickerBorderWidth:e.pickerBorderWidth,pickerBorderColor:e.pickerBorderColor,pickerBorderRadius:e.pickerBorderRadius,pickerSearchBorderWidth:e.pickerSearchBorderWidth,pickerSearchBorderColor:e.pickerSearchBorderColor,pickerSearchBorderRadius:e.pickerSearchBorderRadius,pickerProductBorderWidth:e.pickerProductBorderWidth,pickerProductBorderColor:e.pickerProductBorderColor,pickerProductBorderRadius:e.pickerProductBorderRadius,pickerThumbnailRatio:e.pickerThumbnailRatio,pickerShowCountBubble:e.pickerShowCountBubble,pickerCountBubbleBgColor:e.pickerCountBubbleBgColor,pickerCountBubbleTextColor:e.pickerCountBubbleTextColor,pickerAddBgColor:e.pickerAddBgColor,pickerAddLabelColor:e.pickerAddLabelColor,pickerAddBorderWidth:e.pickerAddBorderWidth,pickerAddBorderColor:e.pickerAddBorderColor,pickerAddBorderRadius:e.pickerAddBorderRadius,pickerVariantBorderWidth:e.pickerVariantBorderWidth,pickerVariantBorderColor:e.pickerVariantBorderColor,pickerVariantBorderRadius:e.pickerVariantBorderRadius,tierBorderColor:e.tierBorderColor,tierBorderWidth:e.tierBorderWidth,tierBorderRadius:e.tierBorderRadius,tierSelectedBorderColor:e.tierSelectedBorderColor,tierSelectedBorderWidth:e.tierSelectedBorderWidth,defaultTier:e.defaultTier,...e.popularBadge.tierIndex!==void 0&&{mostPopularTierIndex:e.popularBadge.tierIndex}}}var Gt={primaryColor:"--lb-primary-color",backgroundColor:"--lb-bg",textColor:"--lb-text",imageBorderWidth:"--lb-image-border-width",imageBorderColor:"--lb-image-border-color",imageBorderRadius:"--lb-image-border-radius",variantBorderWidth:"--lb-variant-border-width",variantBorderColor:"--lb-variant-border-color",variantBorderRadius:"--lb-variant-radius",countBubbleBgColor:"--lb-qty-badge-bg",countBubbleTextColor:"--lb-qty-badge-color",borderColor:"--lb-border",borderWidth:"--lb-border-width",buttonTextColor:"--lb-btn-text",borderRadius:"--lb-radius",headerTextColor:"--lb-header-text",saveBadgeBgColor:"--lb-save-badge-bg",saveBadgeTextColor:"--lb-save-badge-text",saveBadgeBorderColor:"--lb-save-badge-border-color",saveBadgeBorderWidth:"--lb-save-badge-border-width",saveBadgeBorderRadius:"--lb-save-badge-radius",countdownBgColor:"--lb-countdown-bg",countdownTextColor:"--lb-countdown-text",ctaBorderWidth:"--lb-cta-border-width",ctaBorderColor:"--lb-cta-border-color",ctaBorderRadius:"--lb-cta-radius",savingsBarBgColor:"--lb-savings-bar-bg",savingsBarTextColor:"--lb-savings-bar-text",savingsBarBorderWidth:"--lb-savings-bar-border-width",savingsBarBorderColor:"--lb-savings-bar-border-color",savingsBarBorderRadius:"--lb-savings-bar-radius",tierBorderColor:"--lb-tier-border-color",tierBorderWidth:"--lb-tier-border-width",tierBorderRadius:"--lb-tier-radius",tierSelectedBorderColor:"--lb-tier-selected-border-color",tierSelectedBorderWidth:"--lb-tier-selected-border-width",popularBadgeBgColor:"--lb-popular-badge-bg",popularBadgeTextColor:"--lb-popular-badge-text",popularBadgeBorderWidth:"--lb-popular-badge-border-width",popularBadgeBorderColor:"--lb-popular-badge-border-color",popularBadgeBorderRadius:"--lb-popular-badge-radius",headerGradientStart:"--lb-header-start",headerGradientEnd:"--lb-header-end",pickerBgColor:"--lb-picker-bg",pickerTextColor:"--lb-picker-text",pickerBorderWidth:"--lb-picker-border-width",pickerBorderColor:"--lb-picker-border-color",pickerBorderRadius:"--lb-picker-radius",pickerSearchBorderWidth:"--lb-picker-search-border-width",pickerSearchBorderColor:"--lb-picker-search-border-color",pickerSearchBorderRadius:"--lb-picker-search-radius",pickerProductBorderWidth:"--lb-picker-product-border-width",pickerProductBorderColor:"--lb-picker-product-border-color",pickerProductBorderRadius:"--lb-picker-product-radius",pickerCountBubbleBgColor:"--lb-picker-qty-badge-bg",pickerCountBubbleTextColor:"--lb-picker-qty-badge-color",pickerAddBgColor:"--lb-picker-add-bg",pickerAddLabelColor:"--lb-picker-add-label",pickerAddBorderWidth:"--lb-picker-add-border-width",pickerAddBorderColor:"--lb-picker-add-border-color",pickerAddBorderRadius:"--lb-picker-add-radius",pickerVariantBorderWidth:"--lb-picker-variant-border-width",pickerVariantBorderColor:"--lb-picker-variant-border-color",pickerVariantBorderRadius:"--lb-picker-variant-radius"},Yt=new Set(["borderRadius","borderWidth","saveBadgeBorderWidth","saveBadgeBorderRadius","tierBorderWidth","tierBorderRadius","tierSelectedBorderWidth","savingsBarBorderWidth","savingsBarBorderRadius","ctaBorderWidth","ctaBorderRadius","popularBadgeBorderWidth","popularBadgeBorderRadius","imageBorderWidth","imageBorderRadius","variantBorderWidth","variantBorderRadius","pickerBorderWidth","pickerBorderRadius","pickerSearchBorderWidth","pickerSearchBorderRadius","pickerProductBorderWidth","pickerProductBorderRadius","pickerAddBorderWidth","pickerAddBorderRadius","pickerVariantBorderWidth","pickerVariantBorderRadius"]);function tt(e,t){let r=Kt(t);for(let[a,i]of Object.entries(Gt)){let l=r[a];if(l==null)continue;let d=Yt.has(a)?`${l}px`:String(l);e.style.setProperty(i,d)}e.style.setProperty("--lb-product-price-display",t.productList.showPrice?"block":"none"),e.style.setProperty("--lb-product-compare-display",t.productList.showCompareAtPrice?"inline":"none"),e.style.setProperty("--lb-qty-badge-display",t.productList.showCountBubble?"flex":"none"),e.style.setProperty("--lb-picker-qty-badge-display",t.pickerShowCountBubble?"flex":"none"),e.style.setProperty("--lb-variant-chevron",Ue(t.productList.variantBorderColor)),e.style.setProperty("--lb-picker-variant-chevron",Ue(t.pickerVariantBorderColor)),t.header.headerStyle==="solid"?e.style.setProperty("--lb-header-bg",t.header.gradientStart):e.style.setProperty("--lb-header-bg",`linear-gradient(135deg, ${t.header.gradientStart}, ${t.header.gradientEnd})`);let o=Ne(t.productList.thumbnailRatio);e.style.setProperty("--lb-thumbnail-aspect-ratio",o.aspectRatio),e.style.setProperty("--lb-thumbnail-img-fit",o.imgFit),e.style.setProperty("--lb-thumbnail-img-height",o.imgHeight);let n=Ne(t.pickerThumbnailRatio);e.style.setProperty("--lb-picker-thumbnail-aspect-ratio",n.aspectRatio),e.style.setProperty("--lb-picker-thumbnail-img-fit",n.imgFit),e.style.setProperty("--lb-picker-thumbnail-img-height",n.imgHeight)}function Ue(e){return`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' fill='none' stroke='${e.replace(/#/g,"%23")}' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")`}function Ne(e){switch(e){case"tall":return{aspectRatio:"3 / 4",imgFit:"cover",imgHeight:"100%"};case"wide":return{aspectRatio:"4 / 3",imgFit:"cover",imgHeight:"100%"};case"original":return{aspectRatio:"auto",imgFit:"contain",imgHeight:"auto"};default:return{aspectRatio:"1 / 1",imgFit:"cover",imgHeight:"100%"}}}var Qt=new Set(["fixed","mix_match","volume"]),Xt=new Set(["active"]);function Ee(e,t){try{return Jt(e,t)}catch(r){if(r instanceof re)return null;throw r}}function Jt(e,t){let r=new Map(t.map(k=>[k.key,k])),o=r.get("title")?.value??"Bundle",n=r.get("bundle_type")?.value,a=r.get("status")?.value;if(!n||!Qt.has(n))throw new re(`Invalid or missing bundle_type: ${n??"null"}`,"invalid_type");let i=n;if(!a||!Xt.has(a))throw new re(`Bundle is not active: status=${a??"null"}`,"inactive");let l=a,d=r.get("starts_at")?.value??null,u=r.get("ends_at")?.value??null,p=new Date;if(d){let k=new Date(d);if(Number.isNaN(k.getTime()))throw new re(`Invalid starts_at: ${d}`,"invalid_type");if(k>p)throw new re(`Bundle not yet started: starts_at=${d}`,"not_started")}if(u){let k=new Date(u);if(Number.isNaN(k.getTime()))throw new re(`Invalid ends_at: ${u}`,"invalid_type");if(k<p)throw new re(`Bundle has expired: ends_at=${u}`,"expired")}let c=Zt(r),_=er(r),g=tr(r),f={id:e,title:o,description:r.get("description")?.value||null,status:l,products:c,discountConfig:_,widgetConfig:g,startsAt:d,endsAt:u,discountLabel:r.get("discount_label")?.value??null,selectedVariantIds:rr(r),productQuantities:qe(r,"product_quantities"),variantQuantities:qe(r,"variant_quantities"),abTestId:r.get("ab_test_id")?.value??null,abVariantB:nr(r)};switch(i){case"fixed":return{...f,bundleType:"fixed"};case"volume":return{...f,bundleType:"volume",volumeTiers:or(r)};case"mix_match":return{...f,bundleType:"mix_match",minQuantity:$e(r,"min_quantity",{min:1}),maxQuantity:$e(r,"max_quantity",{min:1})}}}function Zt(e){let t=[],r=e.get("products");if(r?.reference&&"variants"in r.reference&&t.push(r.reference),r?.references?.nodes)for(let n of r.references.nodes)"variants"in n?t.push(n):"products"in n&&n.products?.nodes&&t.push(...n.products.nodes);let o=e.get("collection");if(o?.references?.nodes)for(let n of o.references.nodes)"products"in n&&n.products?.nodes&&t.push(...n.products.nodes);return t}function er(e){return{discountType:e.get("discount_type")?.value??"percentage",discountValue:parseFloat(e.get("discount_value")?.value??"0"),allowStacking:e.get("allow_stacking")?.value==="true"}}function tr(e){return zt(se(e,"widget_config"))}function rr(e){let t=se(e,"selected_variant_ids");if(!Array.isArray(t))return null;let r=[];for(let o of t)Array.isArray(o)?r.push(o.filter(n=>typeof n=="string")):r.push([]);return r}function qe(e,t){let r=se(e,t);if(!r||typeof r!="object"||Array.isArray(r))return{};let o={};for(let[n,a]of Object.entries(r)){let i=typeof a=="number"?a:Number(a);Number.isFinite(i)&&i>=0&&i<=99&&(o[n]=Math.floor(i))}return o}function nr(e){if(!e.get("ab_test_id")?.value)return null;let r={},o=e.get("ab_title")?.value;o&&(r.title=o);let n=e.get("ab_description")?.value;n&&(r.description=n);let a=e.get("ab_discount_type")?.value,i=e.get("ab_discount_value")?.value;if(a&&(a==="percentage"||a==="fixed_amount")&&i){let d=parseFloat(i);Number.isFinite(d)&&(r.discountConfig={discountType:a,discountValue:d,allowStacking:e.get("allow_stacking")?.value==="true"})}let l=se(e,"ab_volume_tiers");return Array.isArray(l)&&(r.volumeTiers=l.filter(d=>typeof d=="object"&&d!==null).map(rt)),Object.keys(r).length===0?null:r}function or(e){let t=se(e,"volume_tiers");return Array.isArray(t)?t.filter(r=>typeof r=="object"&&r!==null).map(rt):[]}function rt(e){let t=Number(e.minQuantity??0),r={minQuantity:Number.isFinite(t)&&t>=0?t:0};return typeof e.percentage=="number"&&Number.isFinite(e.percentage)&&(r.percentage=e.percentage),typeof e.amount=="number"&&Number.isFinite(e.amount)&&(r.amount=e.amount),r}function se(e,t){let r=e.get(t)?.value;if(!r)return null;try{return JSON.parse(r)}catch{return null}}function $e(e,t,r={}){let o=e.get(t)?.value;if(!o)return null;let n=parseInt(o,10);return isNaN(n)||r.min!==void 0&&n<r.min?null:n}function z(e,t,r){let o=e.variantQuantities[r];return o!==void 0?o:e.productQuantities[t]??1}function nt(e){let t=e.abVariantB;if(!t)return e;let r=t.title??e.title,o=t.description!==void 0?t.description:e.description,n=t.discountConfig??e.discountConfig;switch(e.bundleType){case"volume":return{...e,title:r,description:o,discountConfig:n,volumeTiers:t.volumeTiers??e.volumeTiers};case"mix_match":return{...e,title:r,description:o,discountConfig:n};case"fixed":return{...e,title:r,description:o,discountConfig:n}}}async function ot(e,t){await lt(e,{shopDomain:e.shopDomain,eventType:"bundle_impression",bundleGid:t.bundleGid,bundleType:t.bundleType,productId:t.productId,abTestId:t.abTestId,abVariant:t.abVariant,occurredAt:new Date().toISOString()})}async function it(e,t){await lt(e,{shopDomain:e.shopDomain,eventType:"bundle_add_to_cart",...t,occurredAt:new Date().toISOString()})}function at(e,t){if(typeof IntersectionObserver>"u")return t(),()=>{};let r=new IntersectionObserver(o=>{for(let n of o)n.isIntersecting&&(t(),r.unobserve(n.target))},{threshold:.5});return r.observe(e),()=>r.disconnect()}async function lt(e,t){let r=`${e.appUrl}/api/analytics`,o=JSON.stringify(t);try{(await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:o})).ok||(await new Promise(a=>setTimeout(a,2e3)),await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:o}))}catch{try{typeof navigator<"u"&&navigator.sendBeacon&&navigator.sendBeacon(r,o)}catch{}}}var ir=!1;function ar(){if(ir)return!0;if(typeof window>"u")return!1;let e=window.Shopify;try{return e?.customerPrivacy?.analyticsProcessingAllowed?.()===!0}catch{return!1}}var We="lb_session",lr=720*60*60,dr=720*60*60;function dt(e){return`__Host-_lb_ab_${e}`}async function st(e,t,r,o){if(typeof document>"u")return null;let n=sr(o);if(n&&n.testId===r)return{variant:n.variant,testId:r,persisted:!0};if(!ar())return{variant:"A",testId:r,persisted:!1};let a=ur(),i=pr(a,r);cr(o,r,i);try{fetch(`${e}/api/ab-assign`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({shopDomain:t,testId:r,sessionId:a,variant:i})}).catch(()=>{})}catch{}return{variant:i,testId:r,persisted:!0}}function sr(e){if(typeof document>"u")return null;let r=`${dt(e)}=`,n=document.cookie.split(";").map(d=>d.trim()).find(d=>d.startsWith(r));if(!n)return null;let a=n.substring(r.length),[i,l]=a.split("|");return i!=="A"&&i!=="B"||!l?null:{testId:l,variant:i}}function cr(e,t,r){if(typeof document>"u")return;let o=dt(e),n=`${r}|${t}|${Date.now()}`;document.cookie=`${o}=${n}; Path=/; Max-Age=${dr}; SameSite=Lax; Secure`}function ur(){if(typeof document>"u")return ze();let t=document.cookie.split(";").map(o=>o.trim()).find(o=>o.startsWith(`${We}=`))?.split("=")[1];if(t)return t;let r=ze();return document.cookie=`${We}=${r}; path=/; max-age=${lr}; SameSite=Lax; Secure`,r}function ze(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function pr(e,t){let r=e+":"+t,o=2166136261;for(let n=0;n<r.length;n++)o^=r.charCodeAt(n),o=Math.imul(o,16777619);return(o>>>0)%2===0?"A":"B"}var je=1e4,br=[[/@import/i,"@import rules"],[/@charset/i,"@charset declarations"],[/expression\s*\(/i,"CSS expressions"],[/-moz-binding/i,"-moz-binding"],[/-webkit-binding/i,"-webkit-binding"],[/behavior\s*:/i,"behavior property"]],hr=/^(https:|\/[^/]|\.\/|\.\.\/|#)/;function Pe(e){if(e.length>je)return{ok:!1,error:`CSS exceeds ${je.toLocaleString("en-US")} character limit`};let t=e.replace(/\/\*[\s\S]*?\*\//g,"");try{t=t.replace(/\\([0-9a-fA-F]{1,6})[ \t\n\f]?/g,(n,a)=>{let i=parseInt(a,16);return i<0||i>1114111?"\uFFFD":String.fromCodePoint(i)}),t=t.replace(/\\\r?\n/g,""),t=t.replace(/\\([^\n\r\f0-9a-fA-F])/g,"$1")}catch{return{ok:!1,error:"CSS contains invalid unicode escape sequences"}}t=t.replace(/</g,"").replace(/>/g,"");for(let[n,a]of br)if(n.test(t))return{ok:!1,error:`CSS contains blocked pattern: ${a}`};let r=/url\s*\(\s*([\s\S]*?)\s*\)/gi,o;for(;(o=r.exec(t))!==null;){let n=o[1].trim();if((n.startsWith("'")||n.startsWith('"'))&&(n=n.slice(1)),(n.endsWith("'")||n.endsWith('"'))&&(n=n.slice(0,-1)),n=n.trim(),n&&!hr.test(n))return{ok:!1,error:"CSS url() values must use https:// or relative paths"}}return{ok:!0,css:t}}var mr="lb-custom-css-";function ct(e,t){if(typeof document>"u"||!t)return!1;let r=Pe(t);if(!r.ok||!r.css.trim())return!1;let o=mr+gr(e),n=document.getElementById(o);return n||(n=document.createElement("style"),n.id=o,n.setAttribute("data-lime-bundles","custom-css"),document.head.appendChild(n)),n.textContent!==r.css&&(n.textContent=r.css),!0}function gr(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16)}function fr(e,t){let r=typeof e=="string"?parseFloat(e):e;try{return new Intl.NumberFormat(void 0,{style:"currency",currency:t}).format(r)}catch{return`${t} ${r.toFixed(2)}`}}var vr={CL:"cl",CM:"cm",FLOZ:"fl oz",FT:"ft",FT2:"ft\xB2",G:"g",GAL:"gal",IN:"in",ITEM:"each",KG:"kg",L:"l",LB:"lb",M:"m",M2:"m\xB2",M3:"m\xB3",MG:"mg",ML:"ml",MM:"mm",OZ:"oz",PT:"pt",QT:"qt",UNKNOWN:"",YD:"yd"};function ee(e,t,r){if(!e||!t||t.referenceUnit==="UNKNOWN")return null;let o=parseFloat(e.amount);if(!Number.isFinite(o))return null;let n=vr[t.referenceUnit]??"";if(!n)return null;let a=e.currencyCode||r||"USD",i=fr(o,a),l=t.referenceValue,d=l===1?n:`${l}${n}`;return`${i}/${d}`}function W(e){if(e==null)return 0;let t=typeof e=="string"?parseFloat(e):e;return Number.isFinite(t)?Math.round(t*100):0}function R(e,t){try{return new Intl.NumberFormat(void 0,{style:"currency",currency:t}).format(e/100)}catch{return`${t} ${(e/100).toFixed(2)}`}}function ut(e,t){return Math.max(0,e-Math.floor(e*t/100))}function Le(e,t=e.productQuantities,r=e.widgetConfig.pricing.showSaveBadge){let{discountType:o,discountValue:n}=e.discountConfig,a=[],i=0,l=0;for(let c of e.products){let _=c.variants.nodes.find(C=>C.availableForSale)??c.variants.nodes[0];if(!_)continue;let g=W(_.price.amount),f=t[c.id]??1,k=g*f,A=_.compareAtPrice?W(_.compareAtPrice.amount):null;if(a.push({unitCents:g,qty:f,lineCents:k,compareCents:A}),i+=k,o==="percentage"){let C=ut(g,n);l+=C*f}else l+=k}o==="fixed_amount"&&(l=Math.max(0,i-Math.round(n*100)));let d=Math.max(0,i-l),u=e.products[0]?.priceRange.minVariantPrice.currencyCode??"USD",p="";return r&&d>0&&(o==="percentage"&&n>0?p=`-${Math.round(n)}%`:o==="fixed_amount"&&n>0&&(p=`-${R(Math.round(n*100),u)}`)),{rows:a,totalCents:i,saleCents:l,savingsCents:d,headerBadge:p,currency:u}}function be(e,t){if(t.discountType==="percentage"){let r=Math.floor(e*t.discountValue/100);return Math.max(0,e-r)}return Math.max(0,e-Math.round(t.discountValue*100))}var U=152;function te(e,t={}){if(!e)return"";try{let r=new URL(e);return t.width!==void 0&&r.searchParams.set("width",String(t.width)),t.height!==void 0&&r.searchParams.set("height",String(t.height)),t.crop&&r.searchParams.set("crop",t.crop),r.toString()}catch{return e}}function pt(e){if(!Number.isFinite(e)||e<=0)return"";let t=Math.floor(e/1e3),r=Math.floor(t/86400),o=Math.floor(t%86400/3600),n=Math.floor(t%3600/60),a=t%60,i=l=>String(l).padStart(2,"0");return r>0?`${r}d ${i(o)}h ${i(n)}m ${i(a)}s`:`${i(o)}h ${i(n)}m ${i(a)}s`}var Ie={};Ye(Ie,{computePosition:()=>wr,emptyTypeAheadState:()=>Br,handleKey:()=>kr,pushTypeAheadChar:()=>Sr});var xr=4;function wr({trigger:e,viewportHeight:t,desiredHeight:r,margin:o=xr}){let n=Math.max(0,t-e.bottom-o),a=Math.max(0,e.top-o),i=r<=n?"down":a>n?"up":"down",d=Math.min(r,i==="down"?n:a),u=i==="down"?e.bottom+o:e.top-o-d;return{placement:i,maxHeight:d,offsetTop:u,offsetLeft:e.left,width:e.width}}var Se={type:"passthrough",preventDefault:!1};function Te(e){for(let t=0;t<e.length;t++)if(!e[t].disabled)return t;return-1}function Ke(e){for(let t=e.length-1;t>=0;t--)if(!e[t].disabled)return t;return-1}function yr(e,t){if(e.length===0)return-1;for(let r=1;r<=e.length;r++){let o=(t+r)%e.length;if(!e[o].disabled)return o}return t}function Cr(e,t){if(e.length===0)return-1;for(let r=1;r<=e.length;r++){let o=(t-r+e.length)%e.length;if(!e[o].disabled)return o}return t}function Ge(e){return e.length===1&&e!==" "&&/\S/.test(e)}function kr(e,t){if(e.ctrlKey||e.metaKey||e.altKey)return Se;let{key:r}=e,{isOpen:o,activeIndex:n,selectedIndex:a,options:i}=t;if(!o)switch(r){case"Enter":case" ":case"ArrowDown":return{type:"open",activeIndex:a>=0&&!i[a]?.disabled?a:Te(i),preventDefault:!0};case"ArrowUp":return{type:"open",activeIndex:a>=0&&!i[a]?.disabled?a:Ke(i),preventDefault:!0};default:return Ge(r)?{type:"open",activeIndex:a>=0&&!i[a]?.disabled?a:Te(i),preventDefault:!0}:Se}switch(r){case"ArrowDown":return{type:"move-active",activeIndex:yr(i,n),preventDefault:!0};case"ArrowUp":return{type:"move-active",activeIndex:Cr(i,n),preventDefault:!0};case"Home":return{type:"move-active",activeIndex:Te(i),preventDefault:!0};case"End":return{type:"move-active",activeIndex:Ke(i),preventDefault:!0};case"Enter":case" ":return n>=0&&!i[n]?.disabled?{type:"commit",index:n,preventDefault:!0}:{type:"passthrough",preventDefault:!0};case"Escape":return{type:"close",commit:!1,restoreFocus:!0,preventDefault:!0};case"Tab":return{type:"close",commit:!1,restoreFocus:!1,preventDefault:!1};default:return Ge(r)?{type:"type-ahead",char:r,preventDefault:!1}:Se}}var _r=500;function Br(){return{buffer:"",lastTime:0}}function Sr(e,t,r,o,n=_r){if(t.length!==1)return{newState:e,matchedIndex:null};let i=(r-e.lastTime>n?"":e.buffer)+t.toLowerCase(),l={buffer:i,lastTime:r};for(let d=0;d<o.length;d++){let u=o[d];if(!u.disabled&&u.label.toLowerCase().startsWith(i))return{newState:l,matchedIndex:d}}return{newState:l,matchedIndex:null}}var Tr={};Ye(Tr,{findVariantByOptions:()=>Ar,isOptionValueAvailable:()=>Er,toPickerVariant:()=>Pr});function Ar(e,t){if(e.length===0)return null;for(let r of e){if(r.optionValues.length!==t.length)continue;let o=!0;for(let n=0;n<r.optionValues.length;n++)if(r.optionValues[n]!==t[n]){o=!1;break}if(o)return r}return null}function Er(e,t,r,o){for(let n of e){if(!n.available||n.optionValues[t]!==r)continue;let a=!0;for(let i=0;i<n.optionValues.length;i++)if(i!==t&&n.optionValues[i]!==o[i]){a=!1;break}if(a)return!0}return!1}function Pr(e){return{id:e.id,optionValues:e.selectedOptions.map(t=>t.value),available:e.availableForSale}}function J(e,t){return e.availableForSale?e.currentlyNotInStock||e.quantityAvailable==null?!0:e.quantityAvailable>=t:!1}function ie(e,t,r,o){return!o||e.quantityAvailable==null||e.quantityAvailable<t?!1:e.quantityAvailable<=r}var{computePosition:Lr,emptyTypeAheadState:Ir,handleKey:Mr,pushTypeAheadChar:Rr}=Ie,Dr=32,Fr=8,Vr=8,G=[];function me(e){let t=e.composedPath();for(let r=G.length-1;r>=0;r--){let o=G[r];!t.includes(o.shell)&&!t.includes(o.listbox)&&o.close()}}function bt(){for(let e=G.length-1;e>=0;e--)G[e].close()}var ge=!1;function Or(){ge||(document.addEventListener("pointerdown",me,!0),window.addEventListener("scroll",me,!0),window.addEventListener("resize",bt),ge=!0)}function Hr(){!ge||G.length>0||(document.removeEventListener("pointerdown",me,!0),window.removeEventListener("scroll",me,!0),window.removeEventListener("resize",bt),ge=!1)}function he(e){let t=[];for(let r=0;r<e.options.length;r++){let o=e.options[r];t.push({disabled:o.disabled,label:o.textContent||o.value})}return t}function Ur(e){for(let t=0;t<e.length;t++)if(!e[t].disabled)return t;return-1}var Nr=["lb-bundle-variant-select","lb-mix-match__variant-select"],qr=Nr.map(e=>`select.${e}:not(.lb-dropdown-state)`).join(", ");function $r(e){let t=e;if(e.classList.contains("lb-dropdown-state"))return t.__lbDropdownInstance??null;let r=e.ownerDocument,o=e.getRootNode(),n=e.getAttribute("aria-label")??"",a=`lb-dd-${Math.random().toString(36).slice(2,9)}`;e.classList.add("lb-dropdown-state"),e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex","-1");let i=r.createElement("div");i.className="lb-dropdown",i.setAttribute("data-lb-dropdown","");let l=r.createElement("button");l.type="button",l.className="lb-dropdown-trigger",l.setAttribute("role","combobox"),l.setAttribute("aria-haspopup","listbox"),l.setAttribute("aria-expanded","false");let d=`${a}-listbox`;l.setAttribute("aria-controls",d),n&&l.setAttribute("aria-label",n);let u=r.createElement("span");u.className="lb-dropdown-trigger-value";let p=r.createElement("span");p.className="lb-dropdown-chevron",p.setAttribute("aria-hidden","true"),l.appendChild(u),l.appendChild(p);let c=r.createElement("ul");c.id=d,c.className="lb-dropdown-listbox",c.setAttribute("role","listbox"),n&&c.setAttribute("aria-label",n),c.hidden=!0,i.appendChild(l),e.parentNode?.insertBefore(i,e.nextSibling);let _=e.closest("[data-modal-overlay]");_?(_.appendChild(c),c.setAttribute("data-lb-dropdown-portal","")):i.appendChild(c);let g=!1,f=-1,k=Ir(),A=[],C;function T(){let h=he(e),x=e.selectedIndex;for(u.textContent=x>=0&&h[x]?h[x].label:"";c.firstChild;)c.removeChild(c.firstChild);A=[];for(let y=0;y<h.length;y++){let F=r.createElement("li");F.id=`${a}-opt-${y}`,F.className="lb-dropdown-option",F.setAttribute("role","option"),F.setAttribute("aria-selected",y===x?"true":"false"),h[y].disabled&&F.setAttribute("aria-disabled","true"),F.setAttribute("data-value",e.options[y].value),F.setAttribute("data-index",String(y)),F.textContent=h[y].label,c.appendChild(F),A.push(F)}}function B(h){if(f>=0&&A[f]&&A[f].classList.remove("is-active"),f=h,h>=0&&A[h]){let x=A[h];x.classList.add("is-active"),l.setAttribute("aria-activedescendant",x.id);let y=x.offsetTop,F=y+x.offsetHeight,ne=c.scrollTop,Z=ne+c.clientHeight;y<ne?c.scrollTop=y:F>Z&&(c.scrollTop=F-c.clientHeight)}else l.setAttribute("aria-activedescendant","")}function I(){let h=l.getBoundingClientRect();if(h.width===0)return!1;let y=Math.min(A.length||1,Vr)*Dr+Fr,F=Lr({trigger:{top:h.top,bottom:h.bottom,left:h.left,width:h.width},viewportHeight:window.innerHeight,desiredHeight:y});return c.setAttribute("data-placement",F.placement),c.style.maxHeight=`${F.maxHeight}px`,c.hasAttribute("data-lb-dropdown-portal")&&(c.style.top=`${F.offsetTop}px`,c.style.left=`${F.offsetLeft}px`,c.style.width=`${F.width}px`),!0}function m(){if(g)return;for(let y=G.length-1;y>=0;y--)G[y]!==C&&G[y].close();g=!0,c.hidden=!1,l.setAttribute("aria-expanded","true"),I()||requestAnimationFrame(()=>I());let h=he(e),x=e.selectedIndex;x>=0&&h[x]&&!h[x].disabled?B(x):B(Ur(h)),G.push(C),G.length===1&&Or()}function S(h){if(!g)return;g=!1,c.hidden=!0,l.setAttribute("aria-expanded","false"),l.setAttribute("aria-activedescendant",""),f>=0&&A[f]&&A[f].classList.remove("is-active"),f=-1;let x=G.indexOf(C);x>=0&&G.splice(x,1),G.length===0&&Hr(),h&&l.focus()}function E(h){let x=e.options[h];if(!(!x||x.disabled)){if(e.value!==x.value){e.value=x.value;let y=new Event("change",{bubbles:!0});e.dispatchEvent(y)}T(),S(!0)}}function M(h){switch(h.type){case"open":m(),h.activeIndex>=0&&B(h.activeIndex);return;case"close":S(h.restoreFocus);return;case"move-active":B(h.activeIndex);return;case"commit":E(h.index);return;case"type-ahead":{let x=he(e),y=Rr(k,h.char,Date.now(),x);k=y.newState,y.matchedIndex!==null&&(g||m(),B(y.matchedIndex));return}case"passthrough":return;default:{let x=h}}}function V(h){let x=he(e),y=Mr({key:h.key,ctrlKey:h.ctrlKey,metaKey:h.metaKey,altKey:h.altKey,shiftKey:h.shiftKey},{isOpen:g,activeIndex:f,selectedIndex:e.selectedIndex,options:x});y.preventDefault&&h.preventDefault(),M(y)}function v(h){h.preventDefault(),g?S(!1):m()}function $(h){let x=h.target;for(;x&&x!==c;){if(x.classList?.contains("lb-dropdown-option")){let y=parseInt(x.getAttribute("data-index")??"",10);if(!Number.isNaN(y)){E(y);return}}x=x.parentElement}}function P(h){let x=h.target;for(;x&&x!==c;){if(x.classList?.contains("lb-dropdown-option")){if(x.getAttribute("aria-disabled")==="true")return;let y=parseInt(x.getAttribute("data-index")??"",10);!Number.isNaN(y)&&y!==f&&B(y);return}x=x.parentElement}}function b(){setTimeout(()=>{if(!g)return;let h=o.activeElement??r.activeElement;i.contains(h)||S(!1)},0)}function w(){T()}let L=new MutationObserver(()=>{T()});L.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["disabled","value","selected"]});let N=h=>h.preventDefault();l.addEventListener("click",v),l.addEventListener("keydown",V),i.addEventListener("focusout",b),c.addEventListener("mousedown",N),c.addEventListener("click",$),c.addEventListener("mousemove",P),e.addEventListener("change",w);function Y(){g&&S(!1),L.disconnect(),l.removeEventListener("click",v),l.removeEventListener("keydown",V),i.removeEventListener("focusout",b),c.removeEventListener("mousedown",N),c.removeEventListener("click",$),c.removeEventListener("mousemove",P),e.removeEventListener("change",w),i.parentNode&&i.parentNode.removeChild(i),c.parentNode&&c.parentNode.removeChild(c),e.classList.remove("lb-dropdown-state"),e.removeAttribute("aria-hidden"),e.removeAttribute("tabindex"),delete t.__lbDropdownInstance}return C={shell:i,listbox:c,select:e,close:()=>S(!1),destroy:Y},t.__lbDropdownInstance=C,T(),C}function fe(e){let t=e.querySelectorAll(qr),r=[];return t.forEach(o=>{let n=$r(o);n&&r.push(n)}),r}function ve(e){e.querySelectorAll("select.lb-dropdown-state").forEach(r=>{let o=r.__lbDropdownInstance;o&&o.destroy()})}function ae(e){let t=Wr(e);if(t===null||t<=Date.now())return null;let r=t,o=document.createElement("div");o.className="lb-bundle-countdown",o.setAttribute("data-countdown","");let n=document.createElement("div");n.className="lb-bundle-countdown__label";let a=document.createElement("span");a.textContent="Ends in",n.appendChild(a),o.appendChild(n);let i=document.createElement("span");i.className="lb-bundle-countdown__timer",i.setAttribute("data-countdown-timer",""),o.appendChild(i);let l=null;function d(){let p=r-Date.now();if(p<=0){o.style.display="none",u();return}i.textContent=pt(p)}function u(){l!==null&&(clearInterval(l),l=null)}return d(),l=setInterval(d,1e3),{el:o,stop:u}}function Wr(e){let t=Date.parse(e);return Number.isFinite(t)?t:null}function le(e){let t=document.createElement("button");t.type="button",t.className="lb-bundle-cta",t.setAttribute("data-add-bundle","");let r=document.createElement("span");r.className="lb-cta-label",r.setAttribute("data-cta-label",""),r.textContent=e,t.appendChild(r);let o=document.createElement("span");return o.className="lb-cta-spinner",o.setAttribute("data-cta-spinner",""),o.setAttribute("aria-hidden","true"),o.innerHTML='<svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><path d="M12 2a10 10 0 0 1 10 10" /></svg>',t.appendChild(o),t}function Me(e,t){let r=e.querySelector("[data-cta-label]");r&&(r.textContent=t)}function s(e,t,r={}){let o=document.createElement(e);t&&(o.className=t);for(let[n,a]of Object.entries(r))o.setAttribute(n,a);return o}var zr=`
232
+ `,lt={min:1,max:99},ie=class extends Error{constructor(e,t){super(e),this.reason=t,this.name="BundleParseError"}},Y={header:{textColor:"#FFFFFF",headerStyle:"gradient",gradientStart:"#C62828",gradientEnd:"#AD1457",saveBadgeBgColor:"#FFFFFF",saveBadgeTextColor:"#AD1457",saveBadgeBorderColor:"#FFFFFF",saveBadgeBorderWidth:0,saveBadgeBorderRadius:8,countdownBgColor:"#FFF0F3",countdownTextColor:"#C62828"},layout:{backgroundColor:"#FFFFFF",borderColor:"#E5E5E5",borderWidth:1,borderRadius:12},productList:{textColor:"#1A1A1A",imageBorderWidth:0,imageBorderColor:"#E5E5E5",imageBorderRadius:8,thumbnailRatio:"square",variantBorderWidth:1,variantBorderColor:"#E5E5E5",variantBorderRadius:8,showPrice:!0,showCompareAtPrice:!0,showCountBubble:!0,countBubbleBgColor:"#1A1A1A",countBubbleTextColor:"#FFFFFF"},pricing:{showSaveBadge:!0,showComparePrice:!0,showPerUnitPrice:!0,showItemCount:!0,showCompareAtPrice:!0},cta:{ctaText:"Add to cart",primaryColor:"#1A1A1A",buttonTextColor:"#FFFFFF",borderWidth:0,borderColor:"#1A1A1A",borderRadius:12},savingsBar:{visible:!0,bgColor:"#EDFBF1",textColor:"#2DB554",borderWidth:0,borderColor:"#2DB554",borderRadius:8},countdown:{showCountdown:!0},popularBadge:{visible:!0,text:"Most Popular",bgColor:"#1A1A1A",textColor:"#FFFFFF",borderWidth:0,borderColor:"#1A1A1A",borderRadius:12},outOfStockBehavior:"show_greyed_out",showLowStockBadge:!0,lowStockThreshold:10,lowStockBgColor:"#FEF3C7",lowStockTextColor:"#92400E",showSearch:!0,mixMatchShowQuantitySelector:!0,pickerBgColor:"#FFFFFF",pickerTextColor:"#1A1A1A",pickerBorderWidth:0,pickerBorderColor:"#E5E5E5",pickerBorderRadius:16,pickerSearchBorderWidth:1,pickerSearchBorderColor:"#E5E5E5",pickerSearchBorderRadius:8,pickerProductBorderWidth:0,pickerProductBorderColor:"#E5E5E5",pickerProductBorderRadius:8,pickerThumbnailRatio:"square",pickerShowCountBubble:!0,pickerCountBubbleBgColor:"#1A1A1A",pickerCountBubbleTextColor:"#FFFFFF",pickerAddBgColor:"#1A1A1A",pickerAddLabelColor:"#FFFFFF",pickerAddBorderWidth:0,pickerAddBorderColor:"#1A1A1A",pickerAddBorderRadius:8,pickerVariantBorderWidth:1,pickerVariantBorderColor:"#1A1A1A",pickerVariantBorderRadius:8,tierBorderColor:"#E5E5E5",tierBorderWidth:1,tierBorderRadius:12,tierSelectedBorderColor:"#1A1A1A",tierSelectedBorderWidth:2,defaultTier:"first"};function Jt(e){if(!e||typeof e!="object")return Y;let t=e;return{...Y,...t,defaultTier:Zt(t.defaultTier),header:{...Y.header,...t.header??{}},layout:{...Y.layout,...t.layout??{}},productList:{...Y.productList,...t.productList??{}},pricing:{...Y.pricing,...t.pricing??{}},cta:{...Y.cta,...t.cta??{}},savingsBar:{...Y.savingsBar,...t.savingsBar??{}},countdown:{...Y.countdown,...t.countdown??{}},popularBadge:{...Y.popularBadge,...t.popularBadge??{}}}}function Zt(e){return e==="first"||e==="best_value"||typeof e=="number"&&Number.isInteger(e)&&e>=0?e:Y.defaultTier}function er(e){return{primaryColor:e.cta.primaryColor,backgroundColor:e.layout.backgroundColor,textColor:e.productList.textColor,borderColor:e.layout.borderColor,borderWidth:e.layout.borderWidth,buttonTextColor:e.cta.buttonTextColor,ctaBorderWidth:e.cta.borderWidth,ctaBorderColor:e.cta.borderColor,ctaBorderRadius:e.cta.borderRadius,savingsBarBgColor:e.savingsBar.bgColor,savingsBarTextColor:e.savingsBar.textColor,savingsBarBorderWidth:e.savingsBar.borderWidth,savingsBarBorderColor:e.savingsBar.borderColor,savingsBarBorderRadius:e.savingsBar.borderRadius,borderRadius:e.layout.borderRadius,headerTextColor:e.header.textColor,saveBadgeBgColor:e.header.saveBadgeBgColor,saveBadgeTextColor:e.header.saveBadgeTextColor,saveBadgeBorderColor:e.header.saveBadgeBorderColor,saveBadgeBorderWidth:e.header.saveBadgeBorderWidth,saveBadgeBorderRadius:e.header.saveBadgeBorderRadius,countdownBgColor:e.header.countdownBgColor,countdownTextColor:e.header.countdownTextColor,headerStyle:e.header.headerStyle,headerGradientStart:e.header.gradientStart,headerGradientEnd:e.header.gradientEnd,showSaveBadge:e.pricing.showSaveBadge,imageBorderWidth:e.productList.imageBorderWidth,imageBorderColor:e.productList.imageBorderColor,imageBorderRadius:e.productList.imageBorderRadius,thumbnailRatio:e.productList.thumbnailRatio,variantBorderWidth:e.productList.variantBorderWidth,variantBorderColor:e.productList.variantBorderColor,variantBorderRadius:e.productList.variantBorderRadius,countBubbleBgColor:e.productList.countBubbleBgColor,countBubbleTextColor:e.productList.countBubbleTextColor,showProductPrice:e.productList.showPrice,showProductCompareAtPrice:e.productList.showCompareAtPrice,showCountBubble:e.productList.showCountBubble,showCountdown:e.countdown.showCountdown,ctaText:e.cta.ctaText,outOfStockBehavior:e.outOfStockBehavior,showLowStockBadge:e.showLowStockBadge,lowStockThreshold:e.lowStockThreshold,lowStockBgColor:e.lowStockBgColor,lowStockTextColor:e.lowStockTextColor,showComparePrice:e.pricing.showComparePrice,showPerUnitPrice:e.pricing.showPerUnitPrice,showItemCount:e.pricing.showItemCount,showCompareAtPrice:e.pricing.showCompareAtPrice,showMostPopular:e.popularBadge.visible,popularBadgeText:e.popularBadge.text,popularBadgeBgColor:e.popularBadge.bgColor,popularBadgeTextColor:e.popularBadge.textColor,popularBadgeBorderWidth:e.popularBadge.borderWidth,popularBadgeBorderColor:e.popularBadge.borderColor,popularBadgeBorderRadius:e.popularBadge.borderRadius,showSearch:e.showSearch,pickerBgColor:e.pickerBgColor,pickerTextColor:e.pickerTextColor,pickerBorderWidth:e.pickerBorderWidth,pickerBorderColor:e.pickerBorderColor,pickerBorderRadius:e.pickerBorderRadius,pickerSearchBorderWidth:e.pickerSearchBorderWidth,pickerSearchBorderColor:e.pickerSearchBorderColor,pickerSearchBorderRadius:e.pickerSearchBorderRadius,pickerProductBorderWidth:e.pickerProductBorderWidth,pickerProductBorderColor:e.pickerProductBorderColor,pickerProductBorderRadius:e.pickerProductBorderRadius,pickerThumbnailRatio:e.pickerThumbnailRatio,pickerShowCountBubble:e.pickerShowCountBubble,pickerCountBubbleBgColor:e.pickerCountBubbleBgColor,pickerCountBubbleTextColor:e.pickerCountBubbleTextColor,pickerAddBgColor:e.pickerAddBgColor,pickerAddLabelColor:e.pickerAddLabelColor,pickerAddBorderWidth:e.pickerAddBorderWidth,pickerAddBorderColor:e.pickerAddBorderColor,pickerAddBorderRadius:e.pickerAddBorderRadius,pickerVariantBorderWidth:e.pickerVariantBorderWidth,pickerVariantBorderColor:e.pickerVariantBorderColor,pickerVariantBorderRadius:e.pickerVariantBorderRadius,tierBorderColor:e.tierBorderColor,tierBorderWidth:e.tierBorderWidth,tierBorderRadius:e.tierBorderRadius,tierSelectedBorderColor:e.tierSelectedBorderColor,tierSelectedBorderWidth:e.tierSelectedBorderWidth,defaultTier:e.defaultTier,...e.popularBadge.tierIndex!==void 0&&{mostPopularTierIndex:e.popularBadge.tierIndex}}}var tr={primaryColor:"--lb-primary-color",backgroundColor:"--lb-bg",textColor:"--lb-text",imageBorderWidth:"--lb-image-border-width",imageBorderColor:"--lb-image-border-color",imageBorderRadius:"--lb-image-border-radius",variantBorderWidth:"--lb-variant-border-width",variantBorderColor:"--lb-variant-border-color",variantBorderRadius:"--lb-variant-radius",countBubbleBgColor:"--lb-qty-badge-bg",countBubbleTextColor:"--lb-qty-badge-color",borderColor:"--lb-border",borderWidth:"--lb-border-width",buttonTextColor:"--lb-btn-text",borderRadius:"--lb-radius",headerTextColor:"--lb-header-text",saveBadgeBgColor:"--lb-save-badge-bg",saveBadgeTextColor:"--lb-save-badge-text",saveBadgeBorderColor:"--lb-save-badge-border-color",saveBadgeBorderWidth:"--lb-save-badge-border-width",saveBadgeBorderRadius:"--lb-save-badge-radius",countdownBgColor:"--lb-countdown-bg",countdownTextColor:"--lb-countdown-text",ctaBorderWidth:"--lb-cta-border-width",ctaBorderColor:"--lb-cta-border-color",ctaBorderRadius:"--lb-cta-radius",savingsBarBgColor:"--lb-savings-bar-bg",savingsBarTextColor:"--lb-savings-bar-text",savingsBarBorderWidth:"--lb-savings-bar-border-width",savingsBarBorderColor:"--lb-savings-bar-border-color",savingsBarBorderRadius:"--lb-savings-bar-radius",tierBorderColor:"--lb-tier-border-color",tierBorderWidth:"--lb-tier-border-width",tierBorderRadius:"--lb-tier-radius",tierSelectedBorderColor:"--lb-tier-selected-border-color",tierSelectedBorderWidth:"--lb-tier-selected-border-width",popularBadgeBgColor:"--lb-popular-badge-bg",popularBadgeTextColor:"--lb-popular-badge-text",popularBadgeBorderWidth:"--lb-popular-badge-border-width",popularBadgeBorderColor:"--lb-popular-badge-border-color",popularBadgeBorderRadius:"--lb-popular-badge-radius",headerGradientStart:"--lb-header-start",headerGradientEnd:"--lb-header-end",pickerBgColor:"--lb-picker-bg",pickerTextColor:"--lb-picker-text",pickerBorderWidth:"--lb-picker-border-width",pickerBorderColor:"--lb-picker-border-color",pickerBorderRadius:"--lb-picker-radius",pickerSearchBorderWidth:"--lb-picker-search-border-width",pickerSearchBorderColor:"--lb-picker-search-border-color",pickerSearchBorderRadius:"--lb-picker-search-radius",pickerProductBorderWidth:"--lb-picker-product-border-width",pickerProductBorderColor:"--lb-picker-product-border-color",pickerProductBorderRadius:"--lb-picker-product-radius",pickerCountBubbleBgColor:"--lb-picker-qty-badge-bg",pickerCountBubbleTextColor:"--lb-picker-qty-badge-color",pickerAddBgColor:"--lb-picker-add-bg",pickerAddLabelColor:"--lb-picker-add-label",pickerAddBorderWidth:"--lb-picker-add-border-width",pickerAddBorderColor:"--lb-picker-add-border-color",pickerAddBorderRadius:"--lb-picker-add-radius",pickerVariantBorderWidth:"--lb-picker-variant-border-width",pickerVariantBorderColor:"--lb-picker-variant-border-color",pickerVariantBorderRadius:"--lb-picker-variant-radius"},rr=new Set(["borderRadius","borderWidth","saveBadgeBorderWidth","saveBadgeBorderRadius","tierBorderWidth","tierBorderRadius","tierSelectedBorderWidth","savingsBarBorderWidth","savingsBarBorderRadius","ctaBorderWidth","ctaBorderRadius","popularBadgeBorderWidth","popularBadgeBorderRadius","imageBorderWidth","imageBorderRadius","variantBorderWidth","variantBorderRadius","pickerBorderWidth","pickerBorderRadius","pickerSearchBorderWidth","pickerSearchBorderRadius","pickerProductBorderWidth","pickerProductBorderRadius","pickerAddBorderWidth","pickerAddBorderRadius","pickerVariantBorderWidth","pickerVariantBorderRadius"]);function dt(e,t){let r=er(t);for(let[a,i]of Object.entries(tr)){let l=r[a];if(l==null)continue;let d=rr.has(a)?`${l}px`:String(l);e.style.setProperty(i,d)}e.style.setProperty("--lb-product-price-display",t.productList.showPrice?"block":"none"),e.style.setProperty("--lb-product-compare-display",t.productList.showCompareAtPrice?"inline":"none"),e.style.setProperty("--lb-qty-badge-display",t.productList.showCountBubble?"flex":"none"),e.style.setProperty("--lb-picker-qty-badge-display",t.pickerShowCountBubble?"flex":"none"),e.style.setProperty("--lb-variant-chevron",Ke(t.productList.variantBorderColor)),e.style.setProperty("--lb-picker-variant-chevron",Ke(t.pickerVariantBorderColor)),t.header.headerStyle==="solid"?e.style.setProperty("--lb-header-bg",t.header.gradientStart):e.style.setProperty("--lb-header-bg",`linear-gradient(135deg, ${t.header.gradientStart}, ${t.header.gradientEnd})`);let o=Ge(t.productList.thumbnailRatio);e.style.setProperty("--lb-thumbnail-aspect-ratio",o.aspectRatio),e.style.setProperty("--lb-thumbnail-img-fit",o.imgFit),e.style.setProperty("--lb-thumbnail-img-height",o.imgHeight);let n=Ge(t.pickerThumbnailRatio);e.style.setProperty("--lb-picker-thumbnail-aspect-ratio",n.aspectRatio),e.style.setProperty("--lb-picker-thumbnail-img-fit",n.imgFit),e.style.setProperty("--lb-picker-thumbnail-img-height",n.imgHeight)}function Ke(e){return`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' fill='none' stroke='${e.replace(/#/g,"%23")}' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")`}function Ge(e){switch(e){case"tall":return{aspectRatio:"3 / 4",imgFit:"cover",imgHeight:"100%"};case"wide":return{aspectRatio:"4 / 3",imgFit:"cover",imgHeight:"100%"};case"original":return{aspectRatio:"auto",imgFit:"contain",imgHeight:"auto"};default:return{aspectRatio:"1 / 1",imgFit:"cover",imgHeight:"100%"}}}var nr=new Set(["fixed","mix_match","volume"]),or=new Set(["active"]);function Ie(e,t){try{return ir(e,t)}catch(r){if(r instanceof ie)return null;throw r}}function ir(e,t){let r=new Map(t.map(C=>[C.key,C])),o=r.get("title")?.value??"Bundle",n=r.get("bundle_type")?.value,a=r.get("status")?.value;if(!n||!nr.has(n))throw new ie(`Invalid or missing bundle_type: ${n??"null"}`,"invalid_type");let i=n;if(!a||!or.has(a))throw new ie(`Bundle is not active: status=${a??"null"}`,"inactive");let l=a,d=r.get("starts_at")?.value??null,u=r.get("ends_at")?.value??null,p=new Date;if(d){let C=new Date(d);if(Number.isNaN(C.getTime()))throw new ie(`Invalid starts_at: ${d}`,"invalid_type");if(C>p)throw new ie(`Bundle not yet started: starts_at=${d}`,"not_started")}if(u){let C=new Date(u);if(Number.isNaN(C.getTime()))throw new ie(`Invalid ends_at: ${u}`,"invalid_type");if(C<p)throw new ie(`Bundle has expired: ends_at=${u}`,"expired")}let c=ar(r),y=lr(r),m=dr(r),g={id:e,title:o,description:r.get("description")?.value||null,status:l,products:c,discountConfig:y,widgetConfig:m,startsAt:d,endsAt:u,discountLabel:r.get("discount_label")?.value??null,selectedVariantIds:sr(r),productQuantities:Qe(r,"product_quantities"),variantQuantities:Qe(r,"variant_quantities"),abTestId:r.get("ab_test_id")?.value??null,abVariantB:ur(r)};switch(i){case"fixed":return{...g,bundleType:"fixed"};case"volume":return{...g,bundleType:"volume",volumeTiers:pr(r)};case"mix_match":return{...g,bundleType:"mix_match",minQuantity:br(r,"min_quantity",{min:1}),maxQuantity:null,productRules:cr(r)}}}function ar(e){let t=[],r=e.get("products");if(r?.reference&&"variants"in r.reference&&t.push(r.reference),r?.references?.nodes)for(let n of r.references.nodes)"variants"in n?t.push(n):"products"in n&&n.products?.nodes&&t.push(...n.products.nodes);let o=e.get("collection");if(o?.references?.nodes)for(let n of o.references.nodes)"products"in n&&n.products?.nodes&&t.push(...n.products.nodes);return t}function lr(e){return{discountType:e.get("discount_type")?.value??"percentage",discountValue:parseFloat(e.get("discount_value")?.value??"0"),allowStacking:e.get("allow_stacking")?.value==="true"}}function dr(e){return Jt(de(e,"widget_config"))}function sr(e){let t=de(e,"selected_variant_ids");if(!Array.isArray(t))return null;let r=[];for(let o of t)Array.isArray(o)?r.push(o.filter(n=>typeof n=="string")):r.push([]);return r}function Qe(e,t){let r=de(e,t);if(!r||typeof r!="object"||Array.isArray(r))return{};let o={};for(let[n,a]of Object.entries(r)){let i=typeof a=="number"?a:Number(a);Number.isFinite(i)&&i>=0&&i<=99&&(o[n]=Math.floor(i))}return o}function cr(e){let t=de(e,"product_rules");if(!t||typeof t!="object"||Array.isArray(t))return{};let r={};for(let[o,n]of Object.entries(t)){if(!n||typeof n!="object"||Array.isArray(n))continue;let{min:a,max:i}=n,l=typeof a=="number"?a:Number(a),d=typeof i=="number"?i:Number(i);if(!Number.isFinite(l)||!Number.isFinite(d))continue;let u=Math.max(1,Math.min(99,Math.floor(l))),p=Math.max(u,Math.min(99,Math.floor(d)));r[o]={min:u,max:p}}return r}function ur(e){if(!e.get("ab_test_id")?.value)return null;let r={},o=e.get("ab_title")?.value;o&&(r.title=o);let n=e.get("ab_description")?.value;n&&(r.description=n);let a=e.get("ab_discount_type")?.value,i=e.get("ab_discount_value")?.value;if(a&&(a==="percentage"||a==="fixed_amount")&&i){let d=parseFloat(i);Number.isFinite(d)&&(r.discountConfig={discountType:a,discountValue:d,allowStacking:e.get("allow_stacking")?.value==="true"})}let l=de(e,"ab_volume_tiers");return Array.isArray(l)&&(r.volumeTiers=l.filter(d=>typeof d=="object"&&d!==null).map(st)),Object.keys(r).length===0?null:r}function pr(e){let t=de(e,"volume_tiers");return Array.isArray(t)?t.filter(r=>typeof r=="object"&&r!==null).map(st):[]}function st(e){let t=Number(e.minQuantity??0),r={minQuantity:Number.isFinite(t)&&t>=0?t:0};return typeof e.percentage=="number"&&Number.isFinite(e.percentage)&&(r.percentage=e.percentage),typeof e.amount=="number"&&Number.isFinite(e.amount)&&(r.amount=e.amount),r}function de(e,t){let r=e.get(t)?.value;if(!r)return null;try{return JSON.parse(r)}catch{return null}}function br(e,t,r={}){let o=e.get(t)?.value;if(!o)return null;let n=parseInt(o,10);return isNaN(n)||r.min!==void 0&&n<r.min?null:n}function fe(e,t,r){let o=e.variantQuantities[r];return o!==void 0?o:e.productQuantities[t]??1}function ct(e){let t=e.abVariantB;if(!t)return e;let r=t.title??e.title,o=t.description!==void 0?t.description:e.description,n=t.discountConfig??e.discountConfig;switch(e.bundleType){case"volume":return{...e,title:r,description:o,discountConfig:n,volumeTiers:t.volumeTiers??e.volumeTiers};case"mix_match":return{...e,title:r,description:o,discountConfig:n};case"fixed":return{...e,title:r,description:o,discountConfig:n}}}async function ut(e,t){await ht(e,{shopDomain:e.shopDomain,eventType:"bundle_impression",bundleGid:t.bundleGid,bundleType:t.bundleType,productId:t.productId,abTestId:t.abTestId,abVariant:t.abVariant,occurredAt:new Date().toISOString()})}async function pt(e,t){await ht(e,{shopDomain:e.shopDomain,eventType:"bundle_add_to_cart",...t,occurredAt:new Date().toISOString()})}function bt(e,t){if(typeof IntersectionObserver>"u")return t(),()=>{};let r=new IntersectionObserver(o=>{for(let n of o)n.isIntersecting&&(t(),r.unobserve(n.target))},{threshold:.5});return r.observe(e),()=>r.disconnect()}async function ht(e,t){let r=`${e.appUrl}/api/analytics`,o=JSON.stringify(t);try{(await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:o})).ok||(await new Promise(a=>setTimeout(a,2e3)),await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:o}))}catch{try{typeof navigator<"u"&&navigator.sendBeacon&&navigator.sendBeacon(r,o)}catch{}}}var hr=!1;function mr(){return typeof document<"u"}function gr(){if(!mr())return!1;if(hr)return!0;if(typeof window>"u")return!1;let e=window.Shopify;try{return e?.customerPrivacy?.analyticsProcessingAllowed?.()===!0}catch{return!1}}var Ye="lb_session",fr=720*60*60,vr=720*60*60;function mt(e){return`__Host-_lb_ab_${e}`}async function gt(e,t){if(typeof document>"u")return null;let r=xr(t);if(r&&r.testId===e)return{variant:r.variant,testId:e,persisted:!0};if(!gr())return{variant:"A",testId:e,persisted:!1};let o=yr(),n=Cr(o,e);return wr(t,e,n),{variant:n,testId:e,persisted:!0}}function xr(e){if(typeof document>"u")return null;let r=`${mt(e)}=`,n=document.cookie.split(";").map(d=>d.trim()).find(d=>d.startsWith(r));if(!n)return null;let a=n.substring(r.length),[i,l]=a.split("|");return i!=="A"&&i!=="B"||!l?null:{testId:l,variant:i}}function wr(e,t,r){if(typeof document>"u")return;let o=mt(e),n=`${r}|${t}|${Date.now()}`;document.cookie=`${o}=${n}; Path=/; Max-Age=${vr}; SameSite=Lax; Secure`}function yr(){if(typeof document>"u")return Xe();let t=document.cookie.split(";").map(o=>o.trim()).find(o=>o.startsWith(`${Ye}=`))?.split("=")[1];if(t)return t;let r=Xe();return document.cookie=`${Ye}=${r}; path=/; max-age=${fr}; SameSite=Lax; Secure`,r}function Xe(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function Cr(e,t){let r=e+":"+t,o=2166136261;for(let n=0;n<r.length;n++)o^=r.charCodeAt(n),o=Math.imul(o,16777619);return(o>>>0)%2===0?"A":"B"}var Je=1e4,kr=[[/@import/i,"@import rules"],[/@charset/i,"@charset declarations"],[/expression\s*\(/i,"CSS expressions"],[/-moz-binding/i,"-moz-binding"],[/-webkit-binding/i,"-webkit-binding"],[/behavior\s*:/i,"behavior property"]],_r=/^(https:|\/[^/]|\.\/|\.\.\/|#)/;function Re(e){if(e.length>Je)return{ok:!1,error:`CSS exceeds ${Je.toLocaleString("en-US")} character limit`};let t=e.replace(/\/\*[\s\S]*?\*\//g,"");try{t=t.replace(/\\([0-9a-fA-F]{1,6})[ \t\n\f]?/g,(n,a)=>{let i=parseInt(a,16);return i<0||i>1114111?"\uFFFD":String.fromCodePoint(i)}),t=t.replace(/\\\r?\n/g,""),t=t.replace(/\\([^\n\r\f0-9a-fA-F])/g,"$1")}catch{return{ok:!1,error:"CSS contains invalid unicode escape sequences"}}t=t.replace(/</g,"").replace(/>/g,"");for(let[n,a]of kr)if(n.test(t))return{ok:!1,error:`CSS contains blocked pattern: ${a}`};let r=/url\s*\(\s*([\s\S]*?)\s*\)/gi,o;for(;(o=r.exec(t))!==null;){let n=o[1].trim();if((n.startsWith("'")||n.startsWith('"'))&&(n=n.slice(1)),(n.endsWith("'")||n.endsWith('"'))&&(n=n.slice(0,-1)),n=n.trim(),n&&!_r.test(n))return{ok:!1,error:"CSS url() values must use https:// or relative paths"}}return{ok:!0,css:t}}var Br="lb-custom-css-";function ft(e,t){if(typeof document>"u"||!t)return!1;let r=Re(t);if(!r.ok||!r.css.trim())return!1;let o=Br+Sr(e),n=document.getElementById(o);return n||(n=document.createElement("style"),n.id=o,n.setAttribute("data-lime-bundles","custom-css"),document.head.appendChild(n)),n.textContent!==r.css&&(n.textContent=r.css),!0}function Sr(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16)}function Tr(e,t){let r=typeof e=="string"?parseFloat(e):e;try{return new Intl.NumberFormat(void 0,{style:"currency",currency:t}).format(r)}catch{return`${t} ${r.toFixed(2)}`}}var Er={CL:"cl",CM:"cm",FLOZ:"fl oz",FT:"ft",FT2:"ft\xB2",G:"g",GAL:"gal",IN:"in",ITEM:"each",KG:"kg",L:"l",LB:"lb",M:"m",M2:"m\xB2",M3:"m\xB3",MG:"mg",ML:"ml",MM:"mm",OZ:"oz",PT:"pt",QT:"qt",UNKNOWN:"",YD:"yd"};function ae(e,t,r){if(!e||!t||t.referenceUnit==="UNKNOWN")return null;let o=parseFloat(e.amount);if(!Number.isFinite(o))return null;let n=Er[t.referenceUnit]??"";if(!n)return null;let a=e.currencyCode||r||"USD",i=Tr(o,a),l=t.referenceValue,d=l===1?n:`${l}${n}`;return`${i}/${d}`}function z(e){if(e==null)return 0;let t=typeof e=="string"?parseFloat(e):e;return Number.isFinite(t)?Math.round(t*100):0}function F(e,t){try{return new Intl.NumberFormat(void 0,{style:"currency",currency:t}).format(e/100)}catch{return`${t} ${(e/100).toFixed(2)}`}}function vt(e,t){return Math.max(0,e-Math.floor(e*t/100))}function De(e,t=e.productQuantities,r=e.widgetConfig.pricing.showSaveBadge){let{discountType:o,discountValue:n}=e.discountConfig,a=[],i=0,l=0;for(let c of e.products){let y=c.variants.nodes.find(w=>w.availableForSale)??c.variants.nodes[0];if(!y)continue;let m=z(y.price.amount),g=t[c.id]??1,C=m*g,L=y.compareAtPrice?z(y.compareAtPrice.amount):null;if(a.push({unitCents:m,qty:g,lineCents:C,compareCents:L}),i+=C,o==="percentage"){let w=vt(m,n);l+=w*g}else l+=C}o==="fixed_amount"&&(l=Math.max(0,i-Math.round(n*100)));let d=Math.max(0,i-l),u=e.products[0]?.priceRange.minVariantPrice.currencyCode??"USD",p="";return r&&d>0&&(o==="percentage"&&n>0?p=`-${Math.round(n)}%`:o==="fixed_amount"&&n>0&&(p=`-${F(Math.round(n*100),u)}`)),{rows:a,totalCents:i,saleCents:l,savingsCents:d,headerBadge:p,currency:u}}function ve(e,t){if(t.discountType==="percentage"){let r=Math.floor(e*t.discountValue/100);return Math.max(0,e-r)}return Math.max(0,e-Math.round(t.discountValue*100))}var U=152;function ne(e,t={}){if(!e)return"";try{let r=new URL(e);return t.width!==void 0&&r.searchParams.set("width",String(t.width)),t.height!==void 0&&r.searchParams.set("height",String(t.height)),t.crop&&r.searchParams.set("crop",t.crop),r.toString()}catch{return e}}function xt(e){if(!Number.isFinite(e)||e<=0)return"";let t=Math.floor(e/1e3),r=Math.floor(t/86400),o=Math.floor(t%86400/3600),n=Math.floor(t%3600/60),a=t%60,i=l=>String(l).padStart(2,"0");return r>0?`${r}d ${i(o)}h ${i(n)}m ${i(a)}s`:`${i(o)}h ${i(n)}m ${i(a)}s`}var Fe={};tt(Fe,{computePosition:()=>Lr,emptyTypeAheadState:()=>Dr,handleKey:()=>Ir,pushTypeAheadChar:()=>Fr});var Ar=4;function Lr({trigger:e,viewportHeight:t,desiredHeight:r,margin:o=Ar,clip:n}){let a=n?Math.min(t,n.bottom):t,i=n?Math.max(0,n.top):0,l=Math.max(0,a-e.bottom-o),d=Math.max(0,e.top-i-o),u=r<=l?"down":d>l?"up":"down",c=Math.min(r,u==="down"?l:d),y=u==="down"?e.bottom+o:e.top-o-c;return{placement:u,maxHeight:c,offsetTop:y,offsetLeft:e.left,width:e.width}}var Le={type:"passthrough",preventDefault:!1};function Pe(e){for(let t=0;t<e.length;t++)if(!e[t].disabled)return t;return-1}function Ze(e){for(let t=e.length-1;t>=0;t--)if(!e[t].disabled)return t;return-1}function Pr(e,t){if(e.length===0)return-1;for(let r=1;r<=e.length;r++){let o=(t+r)%e.length;if(!e[o].disabled)return o}return t}function Mr(e,t){if(e.length===0)return-1;for(let r=1;r<=e.length;r++){let o=(t-r+e.length)%e.length;if(!e[o].disabled)return o}return t}function et(e){return e.length===1&&e!==" "&&/\S/.test(e)}function Ir(e,t){if(e.ctrlKey||e.metaKey||e.altKey)return Le;let{key:r}=e,{isOpen:o,activeIndex:n,selectedIndex:a,options:i}=t;if(!o)switch(r){case"Enter":case" ":case"ArrowDown":return{type:"open",activeIndex:a>=0&&!i[a]?.disabled?a:Pe(i),preventDefault:!0};case"ArrowUp":return{type:"open",activeIndex:a>=0&&!i[a]?.disabled?a:Ze(i),preventDefault:!0};default:return et(r)?{type:"open",activeIndex:a>=0&&!i[a]?.disabled?a:Pe(i),preventDefault:!0}:Le}switch(r){case"ArrowDown":return{type:"move-active",activeIndex:Pr(i,n),preventDefault:!0};case"ArrowUp":return{type:"move-active",activeIndex:Mr(i,n),preventDefault:!0};case"Home":return{type:"move-active",activeIndex:Pe(i),preventDefault:!0};case"End":return{type:"move-active",activeIndex:Ze(i),preventDefault:!0};case"Enter":case" ":return n>=0&&!i[n]?.disabled?{type:"commit",index:n,preventDefault:!0}:{type:"passthrough",preventDefault:!0};case"Escape":return{type:"close",commit:!1,restoreFocus:!0,preventDefault:!0};case"Tab":return{type:"close",commit:!1,restoreFocus:!1,preventDefault:!1};default:return et(r)?{type:"type-ahead",char:r,preventDefault:!1}:Le}}var Rr=500;function Dr(){return{buffer:"",lastTime:0}}function Fr(e,t,r,o,n=Rr){if(t.length!==1)return{newState:e,matchedIndex:null};let i=(r-e.lastTime>n?"":e.buffer)+t.toLowerCase(),l={buffer:i,lastTime:r};for(let d=0;d<o.length;d++){let u=o[d];if(!u.disabled&&u.label.toLowerCase().startsWith(i))return{newState:l,matchedIndex:d}}return{newState:l,matchedIndex:null}}var Vr={};tt(Vr,{findVariantByOptions:()=>Or,isOptionValueAvailable:()=>qr,toPickerVariant:()=>Nr});function Or(e,t){if(e.length===0)return null;for(let r of e){if(r.optionValues.length!==t.length)continue;let o=!0;for(let n=0;n<r.optionValues.length;n++)if(r.optionValues[n]!==t[n]){o=!1;break}if(o)return r}return null}function qr(e,t,r,o){for(let n of e){if(!n.available||n.optionValues[t]!==r)continue;let a=!0;for(let i=0;i<n.optionValues.length;i++)if(i!==t&&n.optionValues[i]!==o[i]){a=!1;break}if(a)return!0}return!1}function Nr(e){return{id:e.id,optionValues:e.selectedOptions.map(t=>t.value),available:e.availableForSale}}function X(e,t){return e.availableForSale?e.currentlyNotInStock||e.quantityAvailable==null?!0:e.quantityAvailable>=t:!1}function se(e,t,r,o){return!o||e.quantityAvailable==null||e.quantityAvailable<t?!1:e.quantityAvailable<=r}function Ve(e,t,r){if(!e.availableForSale)return 0;if(e.currentlyNotInStock)return Math.max(0,t-r);let o=e.quantityAvailable==null?Number.POSITIVE_INFINITY:e.quantityAvailable;return Math.max(0,Math.min(t,o)-r)}var{computePosition:Hr,emptyTypeAheadState:Ur,handleKey:$r,pushTypeAheadChar:Wr}=Fe,zr=32,jr=8,Kr=8,K=[];function we(e){let t=e.composedPath();for(let r=K.length-1;r>=0;r--){let o=K[r];!t.includes(o.shell)&&!t.includes(o.listbox)&&o.close()}}function wt(){for(let e=K.length-1;e>=0;e--)K[e].close()}var ye=!1;function Gr(){ye||(document.addEventListener("pointerdown",we,!0),window.addEventListener("scroll",we,!0),window.addEventListener("resize",wt),ye=!0)}function Qr(){!ye||K.length>0||(document.removeEventListener("pointerdown",we,!0),window.removeEventListener("scroll",we,!0),window.removeEventListener("resize",wt),ye=!1)}function xe(e){let t=[];for(let r=0;r<e.options.length;r++){let o=e.options[r];t.push({disabled:o.disabled,label:o.textContent||o.value})}return t}function Yr(e){for(let t=0;t<e.length;t++)if(!e[t].disabled)return t;return-1}function Xr(e){let t=e.ownerDocument?.defaultView;if(!t)return null;let r=e.parentElement;for(;r&&r!==e.ownerDocument.body;){let n=t.getComputedStyle(r).overflowY;if(n==="auto"||n==="scroll"||n==="hidden")return r;r=r.parentElement}return null}var Jr=["lb-bundle-variant-select","lb-mix-match__variant-select"],Zr=Jr.map(e=>`select.${e}:not(.lb-dropdown-state)`).join(", ");function en(e){let t=e;if(e.classList.contains("lb-dropdown-state"))return t.__lbDropdownInstance??null;let r=e.ownerDocument,o=e.getRootNode(),n=e.getAttribute("aria-label")??"",a=`lb-dd-${Math.random().toString(36).slice(2,9)}`;e.classList.add("lb-dropdown-state"),e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex","-1");let i=r.createElement("div");i.className="lb-dropdown",i.setAttribute("data-lb-dropdown","");let l=r.createElement("button");l.type="button",l.className="lb-dropdown-trigger",l.setAttribute("role","combobox"),l.setAttribute("aria-haspopup","listbox"),l.setAttribute("aria-expanded","false");let d=`${a}-listbox`;l.setAttribute("aria-controls",d),n&&l.setAttribute("aria-label",n);let u=r.createElement("span");u.className="lb-dropdown-trigger-value";let p=r.createElement("span");p.className="lb-dropdown-chevron",p.setAttribute("aria-hidden","true"),l.appendChild(u),l.appendChild(p);let c=r.createElement("ul");c.id=d,c.className="lb-dropdown-listbox",c.setAttribute("role","listbox"),n&&c.setAttribute("aria-label",n),c.hidden=!0,i.appendChild(l),e.parentNode?.insertBefore(i,e.nextSibling);let y=e.closest("[data-modal-overlay]");y?(y.appendChild(c),c.setAttribute("data-lb-dropdown-portal","")):i.appendChild(c);let m=!1,g=-1,C=Ur(),L=[],w;function A(){let v=xe(e),h=e.selectedIndex;for(u.textContent=h>=0&&v[h]?v[h].label:"";c.firstChild;)c.removeChild(c.firstChild);L=[];for(let x=0;x<v.length;x++){let D=r.createElement("li");D.id=`${a}-opt-${x}`,D.className="lb-dropdown-option",D.setAttribute("role","option"),D.setAttribute("aria-selected",x===h?"true":"false"),v[x].disabled&&D.setAttribute("aria-disabled","true"),D.setAttribute("data-value",e.options[x].value),D.setAttribute("data-index",String(x)),D.textContent=v[x].label,c.appendChild(D),L.push(D)}}function B(v){if(g>=0&&L[g]&&L[g].classList.remove("is-active"),g=v,v>=0&&L[v]){let h=L[v];h.classList.add("is-active"),l.setAttribute("aria-activedescendant",h.id);let x=h.offsetTop,D=x+h.offsetHeight,oe=c.scrollTop,Q=oe+c.clientHeight;x<oe?c.scrollTop=x:D>Q&&(c.scrollTop=D-c.clientHeight)}else l.setAttribute("aria-activedescendant","")}function I(){let v=l.getBoundingClientRect();if(v.width===0)return!1;let x=Math.min(L.length||1,Kr)*zr+jr,D=c.hasAttribute("data-lb-dropdown-portal")?null:Xr(l),oe=D?(()=>{let J=D.getBoundingClientRect();return{top:J.top,bottom:J.bottom}})():void 0,Q=Hr({trigger:{top:v.top,bottom:v.bottom,left:v.left,width:v.width},viewportHeight:window.innerHeight,desiredHeight:x,clip:oe});return c.setAttribute("data-placement",Q.placement),c.style.maxHeight=`${Q.maxHeight}px`,c.hasAttribute("data-lb-dropdown-portal")&&(c.style.top=`${Q.offsetTop}px`,c.style.left=`${Q.offsetLeft}px`,c.style.width=`${Q.width}px`),!0}function f(){if(m)return;for(let x=K.length-1;x>=0;x--)K[x]!==w&&K[x].close();m=!0,c.hidden=!1,l.setAttribute("aria-expanded","true"),I()||requestAnimationFrame(()=>I());let v=xe(e),h=e.selectedIndex;h>=0&&v[h]&&!v[h].disabled?B(h):B(Yr(v)),K.push(w),K.length===1&&Gr()}function P(v){if(!m)return;m=!1,c.hidden=!0,l.setAttribute("aria-expanded","false"),l.setAttribute("aria-activedescendant",""),g>=0&&L[g]&&L[g].classList.remove("is-active"),g=-1;let h=K.indexOf(w);h>=0&&K.splice(h,1),K.length===0&&Qr(),v&&l.focus()}function E(v){let h=e.options[v];if(!(!h||h.disabled)){if(e.value!==h.value){e.value=h.value;let x=new Event("change",{bubbles:!0});e.dispatchEvent(x)}A(),P(!0)}}function R(v){switch(v.type){case"open":f(),v.activeIndex>=0&&B(v.activeIndex);return;case"close":P(v.restoreFocus);return;case"move-active":B(v.activeIndex);return;case"commit":E(v.index);return;case"type-ahead":{let h=xe(e),x=Wr(C,v.char,Date.now(),h);C=x.newState,x.matchedIndex!==null&&(m||f(),B(x.matchedIndex));return}case"passthrough":return;default:{let h=v}}}function O(v){let h=xe(e),x=$r({key:v.key,ctrlKey:v.ctrlKey,metaKey:v.metaKey,altKey:v.altKey,shiftKey:v.shiftKey},{isOpen:m,activeIndex:g,selectedIndex:e.selectedIndex,options:h});x.preventDefault&&v.preventDefault(),R(x)}function b(v){v.preventDefault(),m?P(!1):f()}function k(v){let h=v.target;for(;h&&h!==c;){if(h.classList?.contains("lb-dropdown-option")){let x=parseInt(h.getAttribute("data-index")??"",10);if(!Number.isNaN(x)){E(x);return}}h=h.parentElement}}function S(v){let h=v.target;for(;h&&h!==c;){if(h.classList?.contains("lb-dropdown-option")){if(h.getAttribute("aria-disabled")==="true")return;let x=parseInt(h.getAttribute("data-index")??"",10);!Number.isNaN(x)&&x!==g&&B(x);return}h=h.parentElement}}function T(){setTimeout(()=>{if(!m)return;let v=o.activeElement??r.activeElement;i.contains(v)||P(!1)},0)}function _(){A()}let M=new MutationObserver(()=>{A()});M.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["disabled","value","selected"]});let q=v=>v.preventDefault();l.addEventListener("click",b),l.addEventListener("keydown",O),i.addEventListener("focusout",T),c.addEventListener("mousedown",q),c.addEventListener("click",k),c.addEventListener("mousemove",S),e.addEventListener("change",_);function ee(){m&&P(!1),M.disconnect(),l.removeEventListener("click",b),l.removeEventListener("keydown",O),i.removeEventListener("focusout",T),c.removeEventListener("mousedown",q),c.removeEventListener("click",k),c.removeEventListener("mousemove",S),e.removeEventListener("change",_),i.parentNode&&i.parentNode.removeChild(i),c.parentNode&&c.parentNode.removeChild(c),e.classList.remove("lb-dropdown-state"),e.removeAttribute("aria-hidden"),e.removeAttribute("tabindex"),delete t.__lbDropdownInstance}return w={shell:i,listbox:c,select:e,close:()=>P(!1),destroy:ee},t.__lbDropdownInstance=w,A(),w}function Ce(e){let t=e.querySelectorAll(Zr),r=[];return t.forEach(o=>{let n=en(o);n&&r.push(n)}),r}function ke(e){e.querySelectorAll("select.lb-dropdown-state").forEach(r=>{let o=r.__lbDropdownInstance;o&&o.destroy()})}function ce(e){let t=tn(e);if(t===null||t<=Date.now())return null;let r=t,o=document.createElement("div");o.className="lb-bundle-countdown",o.setAttribute("data-countdown","");let n=document.createElement("div");n.className="lb-bundle-countdown__label";let a=document.createElement("span");a.textContent="Ends in",n.appendChild(a),o.appendChild(n);let i=document.createElement("span");i.className="lb-bundle-countdown__timer",i.setAttribute("data-countdown-timer",""),o.appendChild(i);let l=null;function d(){let p=r-Date.now();if(p<=0){o.style.display="none",u();return}i.textContent=xt(p)}function u(){l!==null&&(clearInterval(l),l=null)}return d(),l=setInterval(d,1e3),{el:o,stop:u}}function tn(e){let t=Date.parse(e);return Number.isFinite(t)?t:null}function ue(e){let t=document.createElement("button");t.type="button",t.className="lb-bundle-cta",t.setAttribute("data-add-bundle","");let r=document.createElement("span");r.className="lb-cta-label",r.setAttribute("data-cta-label",""),r.textContent=e,t.appendChild(r);let o=document.createElement("span");return o.className="lb-cta-spinner",o.setAttribute("data-cta-spinner",""),o.setAttribute("aria-hidden","true"),o.innerHTML='<svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><path d="M12 2a10 10 0 0 1 10 10" /></svg>',t.appendChild(o),t}function Oe(e,t){let r=e.querySelector("[data-cta-label]");r&&(r.textContent=t)}function s(e,t,r={}){let o=document.createElement(e);t&&(o.className=t);for(let[n,a]of Object.entries(r))o.setAttribute(n,a);return o}var rn=`
233
233
  <svg class="lb-bundle-placeholder-icon" viewBox="0 0 28 28" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
234
234
  <rect x="4" y="4" width="20" height="20" rx="3"></rect>
235
235
  <line x1="4" y1="20" x2="24" y2="20"></line>
236
236
  <circle cx="10" cy="12" r="2"></circle>
237
- </svg>`;function ht(e,t,r,o){let n=t.widgetConfig,a=(C,T)=>z(t,C,T),i=[],l=0;if(t.products.forEach((C,T)=>{let B=jr(t,C,T);B.qty!==0&&(B.isOos&&(l++,n.outOfStockBehavior==="hide")||i.push(B))}),i.length===0)return;let d=t.products[0]?.priceRange.minVariantPrice.currencyCode??"USD",u=s("div","lb-fixed",{"data-discount-type":t.discountConfig.discountType,"data-discount-value":String(t.discountConfig.discountValue)}),p=Kr(t,d);if(u.appendChild(p.el),n.countdown.showCountdown&&t.endsAt){let C=ae(t.endsAt);C&&(u.appendChild(C.el),o?.(C.stop))}let c=s("div","lb-fixed__products"),_=[];i.forEach(C=>{let T=Yr(C,d,a,{enabled:n.showLowStockBadge,threshold:n.lowStockThreshold},()=>{A()});_.push(T),c.appendChild(T.el)}),u.appendChild(c),u.appendChild(s("div","lb-bundle-divider"));let g=Qr(t);u.appendChild(g.el);let f=n.savingsBar.visible?Xr():null;f&&u.appendChild(f.el);let k=Jr(t,l,()=>{let C=i.filter(T=>T.selected).map(T=>({merchandiseId:T.selected.id,quantity:T.qty,attributes:[{key:"_lime_bundle_gid",value:t.id},{key:"_lime_bundle_type",value:t.bundleType}]}));C.length!==0&&r(C)});u.appendChild(k),u.appendChild(s("p","lb-bundle-error",{"data-error":"","aria-live":"polite"})),u.appendChild(s("span","lb-visually-hidden",{"data-status":"","aria-live":"polite"})),e.appendChild(u),fe(u),o?.(()=>ve(u)),A();function A(){let C=i.reduce((I,m)=>{if(!m.selected)return I;let S=W(m.selected.price.amount);return I+S*m.qty},0),T=Zr(C,t.discountConfig,i),B=Math.max(0,C-T);g.update({totalCents:C,saleCents:T,savingsCents:B,currency:d}),f&&f.update({savingsCents:B,currency:d}),p.refresh(Gr(t,C,T,d))}}function jr(e,t,r){let o=e.selectedVariantIds?.[r]??null,n=o&&o.length>0?t.variants.nodes.filter(p=>o.includes(p.id)):t.variants.nodes,a=n.find(p=>J(p,z(e,t.id,p.id)))??null,i=n,l=!a,d=a??n[0]??null,u=d?z(e,t.id,d.id):1;return{product:t,eligibleVariants:i,selected:d,qty:u,isOos:l}}function Kr(e,t){let r=e.widgetConfig,o=s("div","lb-bundle-header"),n=s("div","lb-bundle-header__content"),a=s("h3","lb-bundle-title");if(a.textContent=e.title,n.appendChild(a),e.description){let d=s("p","lb-bundle-subtitle");d.textContent=e.description,n.appendChild(d)}o.appendChild(n);let i=s("span","lb-bundle-header__badge",{"data-header-badge":""});o.appendChild(i);let l=Le(e,e.productQuantities,r.pricing.showSaveBadge);return l.headerBadge?i.textContent=l.headerBadge:i.style.display="none",{el:o,refresh(d){if(!r.pricing.showSaveBadge){i.style.display="none";return}d?(i.textContent=d,i.style.display=""):i.style.display="none"}}}function Gr(e,t,r,o){if(!e.widgetConfig.pricing.showSaveBadge)return"";let n=t-r;if(n<=0)return"";let a=e.discountConfig;return a.discountType==="percentage"&&a.discountValue>0?`-${Math.round(a.discountValue)}%`:a.discountType==="fixed_amount"&&a.discountValue>0?`-${R(Math.round(a.discountValue*100),o)}`:`-${R(n,o)}`}function Yr(e,t,r,o,n){let a=s("div",e.isOos?"lb-bundle-product-row lb-bundle-product-row--oos":"lb-bundle-product-row",{"data-product-id":e.product.id.replace(/^.*\//,""),...e.isOos?{"aria-disabled":"true"}:{}}),i=s("div","lb-bundle-thumbnail",{"data-thumbnail":""}),l=e.selected?.image??e.product.featuredImage??null,d=null;l?(d=document.createElement("img"),d.src=te(l.url,{width:U,height:U,crop:"center"}),d.alt=l.altText??e.product.title,d.width=U,d.height=U,d.loading="lazy",i.appendChild(d)):i.insertAdjacentHTML("beforeend",zr);let u=null;e.isOos||(u=s("span","lb-bundle-qty-badge",{"data-qty-badge":""}),u.textContent=String(e.qty),i.appendChild(u)),a.appendChild(i);let p=s("div","lb-bundle-product-info"),c=document.createElement("a");if(c.className="lb-bundle-product-name",c.href=`/products/${e.product.handle}`,c.textContent=e.product.title,p.appendChild(c),e.isOos){let _=s("span","lb-bundle-oos-label");_.textContent="Out of stock",p.appendChild(_)}else if(e.selected){if(e.eligibleVariants.length===1&&e.product.variants.nodes.length>1){let B=s("span","lb-bundle-variant-badge");B.textContent=e.eligibleVariants[0].title,p.appendChild(B)}let g=s("span","lb-bundle-product-prices"),f=s("span","lb-bundle-product-compare-price",{"data-product-compare-price":""}),k=s("span","lb-bundle-product-price",{"data-product-price":""});g.appendChild(f),g.appendChild(k),p.appendChild(g);let A=s("span","lb-bundle-product-unit-price",{"data-product-unit-price":""});A.setAttribute("hidden",""),p.appendChild(A);let C=s("span","lb-bundle-low-stock-badge",{"data-low-stock-badge":""});C.setAttribute("hidden",""),p.appendChild(C);let T=B=>{let I=W(B.price.amount);if(k.textContent=R(I,t),B.compareAtPrice){let M=W(B.compareAtPrice.amount);M>I?(f.textContent=R(M,t),f.removeAttribute("hidden")):f.setAttribute("hidden","")}else f.setAttribute("hidden","");let m=ee(B.unitPrice,B.unitPriceMeasurement,t);m?(A.textContent=m,A.removeAttribute("hidden")):A.setAttribute("hidden","");let S=B.image??e.product.featuredImage;d&&S&&(d.src=te(S.url,{width:U,height:U,crop:"center"}),d.alt=S.altText??e.product.title);let E=r(e.product.id,B.id);ie(B,E,o.threshold,o.enabled)?(C.textContent=`Only ${B.quantityAvailable} left`,C.removeAttribute("hidden")):C.setAttribute("hidden","")};if(T(e.selected),e.eligibleVariants.length>1){let B=e.eligibleVariants[0].selectedOptions.map(P=>P.name),I=e.product.id.replace(/^.*\//,""),m=[],S=P=>e.eligibleVariants.find(b=>b.selectedOptions.every((w,L)=>w.value===P[L])&&b.selectedOptions.length===P.length)??null,E=P=>{P.selectedOptions.forEach((b,w)=>{let L=m[w];L&&L.value!==b.value&&(L.value=b.value)})},M=(P,b,w)=>e.eligibleVariants.some(L=>!J(L,r(e.product.id,L.id))||L.selectedOptions[P]?.value!==b?!1:L.selectedOptions.every((N,Y)=>Y===P||N.value===w[Y])),V=P=>{m.forEach((b,w)=>{Array.from(b.options).forEach(L=>{L.disabled=!M(w,L.value,P)})})},v=()=>{let P=m.map(w=>w.value),b=S(P);if(!b){e.selected&&(E(e.selected),V(e.selected.selectedOptions.map(w=>w.value)));return}e.selected=b,e.qty=r(e.product.id,b.id),u&&(u.textContent=String(e.qty)),T(b),V(b.selectedOptions.map(w=>w.value)),n()},$=s("div","lb-bundle-variant-option-groups");B.forEach((P,b)=>{let w=s("div","lb-bundle-variant-option-group"),L=s("span","lb-bundle-variant-option-label");L.textContent=P,w.appendChild(L);let N=document.createElement("select");N.className="lb-bundle-variant-select",N.setAttribute("data-variant-option",""),N.setAttribute("data-option-position",String(b+1)),N.name=`lb-variant-${I}-${b+1}`,N.setAttribute("aria-label",P);let Y=new Set;e.eligibleVariants.forEach(h=>{let x=h.selectedOptions[b]?.value;if(!x||Y.has(x))return;Y.add(x);let y=document.createElement("option");y.value=x,y.textContent=x,e.selected?.selectedOptions[b]?.value===x&&(y.selected=!0),N.appendChild(y)}),N.addEventListener("change",v),m.push(N),w.appendChild(N),$.appendChild(w)}),p.appendChild($),e.selected&&V(e.selected.selectedOptions.map(P=>P.value))}}return a.appendChild(p),{el:a,state:e}}function Qr(e){let t=s("div","lb-bundle-pricing"),r=s("span","lb-bundle-pricing__label");r.textContent="Bundle price",t.appendChild(r);let o=s("span","lb-bundle-pricing__prices"),n=s("span","lb-bundle-compare-price",{"data-compare-price":""});n.style.display="none",o.appendChild(n);let a=s("span","lb-bundle-sale-price",{"data-sale-price":""});return o.appendChild(a),t.appendChild(o),{el:t,update({totalCents:i,saleCents:l,savingsCents:d,currency:u}){a.textContent=R(l,u),e.widgetConfig.pricing.showCompareAtPrice&&d>0?(n.textContent=R(i,u),n.style.display=""):n.style.display="none"}}}function Xr(){let e=s("div","lb-bundle-savings-bar",{"data-savings-bar":""}),t=document.createElement("span");t.textContent="You save",e.appendChild(t);let r=s("span","",{"data-savings-amount":""});return e.appendChild(r),{el:e,update({savingsCents:o,currency:n}){if(o<=0){e.style.display="none";return}e.style.display="",r.textContent=R(o,n)}}}function Jr(e,t,r){let o=t>0?`${t} item${t===1?"":"s"} out of stock`:e.widgetConfig.cta.ctaText||"Add to cart",n=le(o);return t>0?n.disabled=!0:n.addEventListener("click",()=>{n.disabled||r()}),n}function Zr(e,t,r){if(t.discountType==="percentage"){let o=0;for(let n of r){if(!n.selected)continue;let a=W(n.selected.price.amount),i=Math.floor(a*t.discountValue/100),l=Math.max(0,a-i);o+=l*n.qty}return o}return Math.max(0,e-Math.round(t.discountValue*100))}var gt=`
237
+ </svg>`;function yt(e,t,r,o){let n=t.widgetConfig,a=(w,A)=>fe(t,w,A),i=[],l=0;if(t.products.forEach((w,A)=>{let B=nn(t,w,A);B.qty!==0&&(B.isOos&&(l++,n.outOfStockBehavior==="hide")||i.push(B))}),i.length===0)return;let d=t.products[0]?.priceRange.minVariantPrice.currencyCode??"USD",u=s("div","lb-fixed",{"data-discount-type":t.discountConfig.discountType,"data-discount-value":String(t.discountConfig.discountValue)}),p=on(t,d);if(u.appendChild(p.el),n.countdown.showCountdown&&t.endsAt){let w=ce(t.endsAt);w&&(u.appendChild(w.el),o?.(w.stop))}let c=s("div","lb-fixed__products"),y=[];i.forEach(w=>{let A=ln(w,d,a,{enabled:n.showLowStockBadge,threshold:n.lowStockThreshold},()=>{L()});y.push(A),c.appendChild(A.el)}),u.appendChild(c),u.appendChild(s("div","lb-bundle-divider"));let m=dn(t);u.appendChild(m.el);let g=n.savingsBar.visible?sn():null;g&&u.appendChild(g.el);let C=cn(t,l,()=>{let w=i.filter(A=>A.selected).map(A=>({merchandiseId:A.selected.id,quantity:A.qty,attributes:[{key:"_lime_bundle_gid",value:t.id},{key:"_lime_bundle_type",value:t.bundleType}]}));w.length!==0&&r(w)});u.appendChild(C),u.appendChild(s("p","lb-bundle-error",{"data-error":"","aria-live":"polite"})),u.appendChild(s("span","lb-visually-hidden",{"data-status":"","aria-live":"polite"})),e.appendChild(u),Ce(u),o?.(()=>ke(u)),L();function L(){let w=i.reduce((I,f)=>{if(!f.selected)return I;let P=z(f.selected.price.amount);return I+P*f.qty},0),A=un(w,t.discountConfig,i),B=Math.max(0,w-A);m.update({totalCents:w,saleCents:A,savingsCents:B,currency:d}),g&&g.update({savingsCents:B,currency:d}),p.refresh(an(t,w,A,d))}}function nn(e,t,r){let o=e.selectedVariantIds?.[r]??null,n=o&&o.length>0?t.variants.nodes.filter(p=>o.includes(p.id)):t.variants.nodes,a=n.find(p=>X(p,fe(e,t.id,p.id)))??null,i=n,l=!a,d=a??n[0]??null,u=d?fe(e,t.id,d.id):1;return{product:t,eligibleVariants:i,selected:d,qty:u,isOos:l}}function on(e,t){let r=e.widgetConfig,o=s("div","lb-bundle-header"),n=s("div","lb-bundle-header__content"),a=s("h3","lb-bundle-title");if(a.textContent=e.title,n.appendChild(a),e.description){let d=s("p","lb-bundle-subtitle");d.textContent=e.description,n.appendChild(d)}o.appendChild(n);let i=s("span","lb-bundle-header__badge",{"data-header-badge":""});o.appendChild(i);let l=De(e,e.productQuantities,r.pricing.showSaveBadge);return l.headerBadge?i.textContent=l.headerBadge:i.style.display="none",{el:o,refresh(d){if(!r.pricing.showSaveBadge){i.style.display="none";return}d?(i.textContent=d,i.style.display=""):i.style.display="none"}}}function an(e,t,r,o){if(!e.widgetConfig.pricing.showSaveBadge)return"";let n=t-r;if(n<=0)return"";let a=e.discountConfig;return a.discountType==="percentage"&&a.discountValue>0?`-${Math.round(a.discountValue)}%`:a.discountType==="fixed_amount"&&a.discountValue>0?`-${F(Math.round(a.discountValue*100),o)}`:`-${F(n,o)}`}function ln(e,t,r,o,n){let a=s("div",e.isOos?"lb-bundle-product-row lb-bundle-product-row--oos":"lb-bundle-product-row",{"data-product-id":e.product.id.replace(/^.*\//,""),...e.isOos?{"aria-disabled":"true"}:{}}),i=s("div","lb-bundle-thumbnail",{"data-thumbnail":""}),l=e.selected?.image??e.product.featuredImage??null,d=null;l?(d=document.createElement("img"),d.src=ne(l.url,{width:U,height:U,crop:"center"}),d.alt=l.altText??e.product.title,d.width=U,d.height=U,d.loading="lazy",i.appendChild(d)):i.insertAdjacentHTML("beforeend",rn);let u=null;e.isOos||(u=s("span","lb-bundle-qty-badge",{"data-qty-badge":""}),u.textContent=String(e.qty),i.appendChild(u)),a.appendChild(i);let p=s("div","lb-bundle-product-info"),c=document.createElement("a");if(c.className="lb-bundle-product-name",c.href=`/products/${e.product.handle}`,c.textContent=e.product.title,p.appendChild(c),e.isOos){let y=s("span","lb-bundle-oos-label");y.textContent="Out of stock",p.appendChild(y)}else if(e.selected){if(e.eligibleVariants.length===1&&e.product.variants.nodes.length>1){let B=s("span","lb-bundle-variant-badge");B.textContent=e.eligibleVariants[0].title,p.appendChild(B)}let m=s("span","lb-bundle-product-prices"),g=s("span","lb-bundle-product-compare-price",{"data-product-compare-price":""}),C=s("span","lb-bundle-product-price",{"data-product-price":""});m.appendChild(g),m.appendChild(C),p.appendChild(m);let L=s("span","lb-bundle-product-unit-price",{"data-product-unit-price":""});L.setAttribute("hidden",""),p.appendChild(L);let w=s("span","lb-bundle-low-stock-badge",{"data-low-stock-badge":""});w.setAttribute("hidden",""),p.appendChild(w);let A=B=>{let I=z(B.price.amount);if(C.textContent=F(I,t),B.compareAtPrice){let R=z(B.compareAtPrice.amount);R>I?(g.textContent=F(R,t),g.removeAttribute("hidden")):g.setAttribute("hidden","")}else g.setAttribute("hidden","");let f=ae(B.unitPrice,B.unitPriceMeasurement,t);f?(L.textContent=f,L.removeAttribute("hidden")):L.setAttribute("hidden","");let P=B.image??e.product.featuredImage;d&&P&&(d.src=ne(P.url,{width:U,height:U,crop:"center"}),d.alt=P.altText??e.product.title);let E=r(e.product.id,B.id);se(B,E,o.threshold,o.enabled)?(w.textContent=`Only ${B.quantityAvailable} left`,w.removeAttribute("hidden")):w.setAttribute("hidden","")};if(A(e.selected),e.eligibleVariants.length>1){let B=e.eligibleVariants[0].selectedOptions.map(S=>S.name),I=e.product.id.replace(/^.*\//,""),f=[],P=S=>e.eligibleVariants.find(T=>T.selectedOptions.every((_,M)=>_.value===S[M])&&T.selectedOptions.length===S.length)??null,E=S=>{S.selectedOptions.forEach((T,_)=>{let M=f[_];M&&M.value!==T.value&&(M.value=T.value)})},R=(S,T,_)=>e.eligibleVariants.some(M=>!X(M,r(e.product.id,M.id))||M.selectedOptions[S]?.value!==T?!1:M.selectedOptions.every((q,ee)=>ee===S||q.value===_[ee])),O=S=>{f.forEach((T,_)=>{Array.from(T.options).forEach(M=>{M.disabled=!R(_,M.value,S)})})},b=()=>{let S=f.map(_=>_.value),T=P(S);if(!T){e.selected&&(E(e.selected),O(e.selected.selectedOptions.map(_=>_.value)));return}e.selected=T,e.qty=r(e.product.id,T.id),u&&(u.textContent=String(e.qty)),A(T),O(T.selectedOptions.map(_=>_.value)),n()},k=s("div","lb-bundle-variant-option-groups");B.forEach((S,T)=>{let _=s("div","lb-bundle-variant-option-group"),M=s("span","lb-bundle-variant-option-label");M.textContent=S,_.appendChild(M);let q=document.createElement("select");q.className="lb-bundle-variant-select",q.setAttribute("data-variant-option",""),q.setAttribute("data-option-position",String(T+1)),q.name=`lb-variant-${I}-${T+1}`,q.setAttribute("aria-label",S);let ee=new Set;e.eligibleVariants.forEach(v=>{let h=v.selectedOptions[T]?.value;if(!h||ee.has(h))return;ee.add(h);let x=document.createElement("option");x.value=h,x.textContent=h,e.selected?.selectedOptions[T]?.value===h&&(x.selected=!0),q.appendChild(x)}),q.addEventListener("change",b),f.push(q),_.appendChild(q),k.appendChild(_)}),p.appendChild(k),e.selected&&O(e.selected.selectedOptions.map(S=>S.value))}}return a.appendChild(p),{el:a,state:e}}function dn(e){let t=s("div","lb-bundle-pricing"),r=s("span","lb-bundle-pricing__label");r.textContent="Bundle price",t.appendChild(r);let o=s("span","lb-bundle-pricing__prices"),n=s("span","lb-bundle-compare-price",{"data-compare-price":""});n.style.display="none",o.appendChild(n);let a=s("span","lb-bundle-sale-price",{"data-sale-price":""});return o.appendChild(a),t.appendChild(o),{el:t,update({totalCents:i,saleCents:l,savingsCents:d,currency:u}){a.textContent=F(l,u),e.widgetConfig.pricing.showCompareAtPrice&&d>0?(n.textContent=F(i,u),n.style.display=""):n.style.display="none"}}}function sn(){let e=s("div","lb-bundle-savings-bar",{"data-savings-bar":""}),t=document.createElement("span");t.textContent="You save",e.appendChild(t);let r=s("span","",{"data-savings-amount":""});return e.appendChild(r),{el:e,update({savingsCents:o,currency:n}){if(o<=0){e.style.display="none";return}e.style.display="",r.textContent=F(o,n)}}}function cn(e,t,r){let o=t>0?`${t} item${t===1?"":"s"} out of stock`:e.widgetConfig.cta.ctaText||"Add to cart",n=ue(o);return t>0?n.disabled=!0:n.addEventListener("click",()=>{n.disabled||r()}),n}function un(e,t,r){if(t.discountType==="percentage"){let o=0;for(let n of r){if(!n.selected)continue;let a=z(n.selected.price.amount),i=Math.floor(a*t.discountValue/100),l=Math.max(0,a-i);o+=l*n.qty}return o}return Math.max(0,e-Math.round(t.discountValue*100))}var kt=`
238
238
  <svg class="lb-bundle-placeholder-icon" viewBox="0 0 28 28" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
239
239
  <rect x="4" y="4" width="20" height="20" rx="3"></rect>
240
240
  <line x1="4" y1="20" x2="24" y2="20"></line>
241
241
  <circle cx="10" cy="12" r="2"></circle>
242
- </svg>`,en=`
242
+ </svg>`,pn=`
243
243
  <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
244
244
  <line x1="9" y1="3" x2="9" y2="15" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
245
245
  <line x1="3" y1="9" x2="15" y2="9" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
246
- </svg>`,ft=`
246
+ </svg>`,_t=`
247
247
  <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
248
248
  <line x1="5" y1="5" x2="15" y2="15" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
249
249
  <line x1="15" y1="5" x2="5" y2="15" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
250
- </svg>`,tn=`
250
+ </svg>`,bn=`
251
251
  <svg width="16" height="16" viewBox="0 0 20 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
252
252
  <path d="M14.348 5.652a.5.5 0 0 0-.707 0L10 9.293 6.36 5.652a.5.5 0 1 0-.708.707L9.293 10l-3.641 3.641a.5.5 0 0 0 .708.707L10 10.707l3.641 3.641a.5.5 0 0 0 .707-.707L10.707 10l3.641-3.641a.5.5 0 0 0 0-.707z"/>
253
- </svg>`;function vt(e,t,r,o){let n=t.widgetConfig,a=t.products[0]?.priceRange.minVariantPrice.currencyCode??"USD",i=t.minQuantity??1,l=t.maxQuantity??i,d=cn(t,n.outOfStockBehavior);if(d.filter(b=>!b.isOos).length<i)return;let p=[],c=s("div","lb-mix-match",{"data-required-quantity":String(i),"data-max-quantity":String(l)}),_=rn(t);if(c.appendChild(_),n.countdown.showCountdown&&t.endsAt){let b=ae(t.endsAt);b&&(c.appendChild(b.el),o?.(b.stop))}let g=nn(i);c.appendChild(g.el);let f=s("div","lb-mix-match__slots",{"data-selection-slots":""});c.appendChild(f),c.appendChild(s("div","lb-bundle-divider"));let k=ln(n.pricing.showCompareAtPrice);c.appendChild(k.el);let A=n.savingsBar.visible?dn():null;A&&c.appendChild(A.el);let C=s("div","lb-mix-match__price-placeholder",{"data-price-placeholder":""}),T=s("span","lb-mix-match__price-placeholder-text");T.textContent=`Select ${i} items to see price`,C.appendChild(T),c.appendChild(C);let B=sn(t,d,a,{showSearch:n.showSearch,onAdd:(b,w)=>E(b,w),onRemove:(b,w)=>M(b,w),isOverMax:()=>p.length>=l});c.appendChild(B.el);let I=le(`Select ${i} items to unlock`);I.disabled=!0,I.addEventListener("click",()=>{if(I.disabled)return;let b=p.map(w=>({merchandiseId:w.variantId,quantity:w.quantity,attributes:[{key:"_lime_bundle_gid",value:t.id},{key:"_lime_bundle_type",value:t.bundleType}]}));r(b)}),c.appendChild(I),c.appendChild(s("p","lb-bundle-error",{"data-error":"","aria-live":"polite"})),c.appendChild(s("span","lb-visually-hidden",{"data-status":"","aria-live":"polite"})),e.appendChild(c),o?.(()=>ve(c));let m=d.find(b=>!b.isOos),S=m?.firstAvailableVariant??m?.variants[0];m&&S&&p.push({productId:m.product.id,productTitle:m.product.title,variantId:S.id,variantTitle:S.title,imageUrl:S.image?.url??m.product.featuredImage?.url??null,priceCents:W(S.price.amount),compareCents:S.compareAtPrice?W(S.compareAtPrice.amount):null,unitPriceLabel:ee(S.unitPrice,S.unitPriceMeasurement,a),quantity:z(t,m.product.id,S.id)}),v();function E(b,w){p.length>=l||(p.push({productId:b.id,productTitle:b.title,variantId:w.id,variantTitle:w.title,imageUrl:w.image?.url??b.featuredImage?.url??null,priceCents:W(w.price.amount),compareCents:w.compareAtPrice?W(w.compareAtPrice.amount):null,unitPriceLabel:ee(w.unitPrice,w.unitPriceMeasurement,a),quantity:z(t,b.id,w.id)}),v())}function M(b,w){let L=p.findIndex(N=>N.productId===b&&N.variantId===w);L!==-1&&(p.splice(L,1),v())}function V(b){b<0||b>=p.length||(p.splice(b,1),v())}function v(){$(),g.update(p.length),k.update(p,t,a),A&&A.update(p,t,a),C.style.display=p.length===0?"":"none",B.refreshCounts(),P()}function $(){f.innerHTML="";let b=Math.max(i,p.length);for(let w=0;w<b;w++){let L=p[w];L?f.appendChild(an(L,w,a,()=>V(w))):f.appendChild(on(w,()=>B.open()))}}function P(){let b=p.length;b<i?(I.disabled=!0,Me(I,`Select ${i-b} more to unlock`)):(I.disabled=!1,Me(I,n.cta.ctaText||"Add to cart"))}}function rn(e){let t=e.widgetConfig,r=s("div","lb-bundle-header"),o=s("div","lb-bundle-header__content"),n=s("h3","lb-bundle-title");if(n.textContent=e.title,o.appendChild(n),r.appendChild(o),t.pricing.showSaveBadge){let{discountType:a,discountValue:i}=e.discountConfig,l=null;if(a==="percentage"&&i>0?l=`-${Math.round(i)}%`:a==="fixed_amount"&&i>0&&(l=`-${R(Math.round(i*100),e.products[0]?.priceRange.minVariantPrice.currencyCode??"USD")}`),l){let d=s("span","lb-bundle-header__badge");d.textContent=l,r.appendChild(d)}}return r}function nn(e){let t=s("div","lb-mix-match__progress"),r=s("div","lb-mix-match__progress-labels"),o=s("span","lb-mix-match__progress-count",{"data-progress-count":""});o.textContent=`0 of ${e} selected`,r.appendChild(o);let n=s("span","lb-mix-match__progress-remaining",{"data-progress-remaining":""});n.textContent=`${e} more to go`,r.appendChild(n),t.appendChild(r);let a=s("div","lb-mix-match__progress-track",{role:"progressbar","aria-valuenow":"0","aria-valuemin":"0","aria-valuemax":String(e)}),i=s("div","lb-mix-match__progress-fill",{"data-progress-fill":""});i.style.width="0%",a.appendChild(i),t.appendChild(a);function l(d){let u=Math.min(100,d/e*100);o.textContent=`${d} of ${e} selected`,d>=e?n.textContent="Complete":n.textContent=`${e-d} more to go`,i.style.width=`${u}%`,a.setAttribute("aria-valuenow",String(Math.min(d,e)))}return{el:t,update:l}}function on(e,t){let r=s("div","lb-bundle-product-row lb-mix-match__slot lb-mix-match__slot--empty",{"data-slot":String(e+1),tabindex:"0",role:"button","aria-label":"Add a product to the bundle"}),o=s("div","lb-mix-match__empty-thumb");o.innerHTML=en,r.appendChild(o);let n=s("span","lb-mix-match__empty-text");return n.textContent="Choose an item",r.appendChild(n),r.addEventListener("click",t),r.addEventListener("keydown",a=>{(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),t())}),r}function an(e,t,r,o){let n=s("div","lb-bundle-product-row lb-mix-match__slot lb-mix-match__slot--filled",{"data-slot":String(t+1)}),a=s("div","lb-bundle-thumbnail",{"data-thumbnail":""});if(e.imageUrl){let f=document.createElement("img");f.src=te(e.imageUrl,{width:U,height:U,crop:"center"}),f.alt=e.productTitle,f.width=U,f.height=U,f.loading="lazy",a.appendChild(f)}else a.insertAdjacentHTML("beforeend",gt);let i=s("span","lb-bundle-qty-badge");i.textContent=String(e.quantity),a.appendChild(i),n.appendChild(a);let l=s("div","lb-mix-match__filled-info"),d=s("span","lb-mix-match__filled-title");if(d.textContent=e.productTitle,l.appendChild(d),e.variantTitle&&e.variantTitle!=="Default Title"){let f=s("span","lb-mix-match__filled-variant");f.textContent=e.variantTitle,l.appendChild(f)}let u=e.priceCents*e.quantity,p=e.compareCents!==null?e.compareCents*e.quantity:null,c=s("span","lb-mix-match__filled-price");if(p!==null&&p>u){let f=s("span","lb-mix-match__filled-compare");f.textContent=R(p,r),c.appendChild(f)}let _=document.createElement("span");if(_.textContent=R(u,r),c.appendChild(_),l.appendChild(c),e.unitPriceLabel){let f=s("span","lb-bundle-product-unit-price");f.textContent=e.unitPriceLabel,l.appendChild(f)}n.appendChild(l);let g=document.createElement("button");return g.type="button",g.className="lb-mix-match__slot-remove",g.setAttribute("aria-label",`Remove ${e.productTitle}`),g.innerHTML=ft,g.addEventListener("click",f=>{f.stopPropagation(),o()}),n.appendChild(g),n}function ln(e){let t=s("div","lb-bundle-pricing",{"data-pricing-section":""});t.style.display="none";let r=s("span","lb-bundle-pricing__label");r.textContent="Bundle price",t.appendChild(r);let o=s("span","lb-bundle-pricing__prices"),n=s("span","lb-bundle-compare-price",{"data-compare-price":""});e&&o.appendChild(n);let a=s("span","lb-bundle-sale-price",{"data-sale-price":""});o.appendChild(a),t.appendChild(o);function i(l,d,u){if(l.length===0){t.style.display="none";return}t.style.display="";let p=l.reduce((_,g)=>_+g.priceCents*g.quantity,0),c=be(p,d.discountConfig);e&&p>c?(n.textContent=R(p,u),n.style.display=""):n.style.display="none",a.textContent=R(c,u)}return{el:t,update:i}}function dn(){let e=s("div","lb-bundle-savings-bar",{"data-savings-bar":""});e.style.display="none";let t=document.createElement("span");t.textContent="You save",e.appendChild(t);let r=s("span","",{"data-savings-amount":""});e.appendChild(r);function o(n,a,i){if(n.length===0){e.style.display="none";return}let l=n.reduce((p,c)=>p+c.priceCents*c.quantity,0),d=be(l,a.discountConfig),u=Math.max(0,l-d);if(u<=0){e.style.display="none";return}e.style.display="",r.textContent=R(u,i)}return{el:e,update:o}}function sn(e,t,r,o){let n=s("div","lb-mix-match__modal-overlay",{"data-modal-overlay":"","data-bundle-gid":e.id});n.style.display="none";let a=s("div","lb-mix-match__modal",{role:"dialog","aria-modal":"true","aria-labelledby":`lb-modal-title-${mt(e.id)}`,tabindex:"-1"}),i=s("div","lb-mix-match__modal-header"),l=s("h4","lb-mix-match__modal-title",{id:`lb-modal-title-${mt(e.id)}`});l.textContent="Pick an item",i.appendChild(l);let d=document.createElement("button");d.type="button",d.className="lb-mix-match__modal-close",d.setAttribute("data-modal-close",""),d.setAttribute("aria-label","Close"),d.innerHTML=ft,d.addEventListener("click",E),i.appendChild(d),a.appendChild(i);let u=null,p=null;if(o.showSearch){let v=s("div","lb-mix-match__modal-search");u=document.createElement("input"),u.type="text",u.className="lb-mix-match__modal-search-input",u.setAttribute("data-modal-search",""),u.setAttribute("role","searchbox"),u.setAttribute("aria-label","Search products"),u.setAttribute("placeholder","Search products"),u.autocomplete="off",u.addEventListener("input",()=>T()),v.appendChild(u),p=document.createElement("button"),p.type="button",p.className="lb-mix-match__modal-search-clear",p.setAttribute("data-modal-search-clear",""),p.setAttribute("aria-label","Clear search"),p.style.display="none",p.innerHTML=tn,p.addEventListener("click",()=>{u&&(u.value="",T(),u.focus())}),v.appendChild(p),a.appendChild(v)}let c=s("div","lb-mix-match__modal-list",{"data-modal-list":""});a.appendChild(c);let _=s("div","lb-mix-match__modal-empty",{"data-modal-empty":""});_.style.display="none";let g=document.createElement("p");g.textContent="No products match your search.",_.appendChild(g),a.appendChild(_);let f=s("span","lb-visually-hidden",{"data-modal-live":"","aria-live":"polite"});a.appendChild(f),n.appendChild(a);let k=!1,A=[];function C(){k||(k=!0,c.innerHTML="",t.forEach(v=>{let $=v.variants,P=v.variants.find(D=>J(D,z(e,v.product.id,D.id)))??v.firstAvailableVariant??v.variants[0];if(!P)return;let b=P,w=s("div",v.isOos?"lb-mix-match__modal-product lb-mix-match__modal-product--sold-out":"lb-mix-match__modal-product",{"data-product-id":v.product.id.replace(/^.*\//,"")}),L=s("div","lb-mix-match__modal-product-thumb"),Y=(v.variants.find(D=>J(D,z(e,v.product.id,D.id)))??v.variants[0]??null)?.image??v.product.featuredImage??null,h=null;Y?(h=document.createElement("img"),h.src=te(Y.url,{width:U,height:U,crop:"center"}),h.alt=Y.altText??v.product.title,h.width=U,h.height=U,h.loading="lazy",L.appendChild(h)):L.insertAdjacentHTML("beforeend",gt);let x=s("span","lb-bundle-qty-badge");x.textContent=String(z(e,v.product.id,b.id)),L.appendChild(x),w.appendChild(L);let y=s("div","lb-mix-match__modal-product-info"),F=s("p","lb-mix-match__modal-product-title");F.textContent=v.product.title,y.appendChild(F);let ne=s("p","lb-mix-match__modal-product-price");ne.textContent=R(W(b.price.amount)*z(e,v.product.id,b.id),r),y.appendChild(ne);let Z=s("p","lb-mix-match__modal-product-unit-price lb-bundle-product-unit-price"),De=ee(b.unitPrice,b.unitPriceMeasurement,r);De?Z.textContent=De:Z.hidden=!0,y.appendChild(Z);let de=s("span","lb-bundle-low-stock-badge",{"data-low-stock-badge":""});de.hidden=!0,y.appendChild(de);let Fe=D=>{let ke=z(e,v.product.id,D.id);ie(D,ke,e.widgetConfig.lowStockThreshold,e.widgetConfig.showLowStockBadge)?(de.textContent=`Only ${D.quantityAvailable} left`,de.hidden=!1):de.hidden=!0};Fe(b);let Ce={el:w,product:v.product,variant:P,updateCount:()=>{}};if($.length>1){let D=$[0].selectedOptions.map(q=>q.name),ke=v.product.id.replace(/^.*\//,""),ue=[],It=q=>$.find(O=>O.selectedOptions.length===q.length&&O.selectedOptions.every((K,H)=>K.value===q[H]))??null,Mt=q=>{q.selectedOptions.forEach((O,K)=>{let H=ue[K];H&&H.value!==O.value&&(H.value=O.value)})},Rt=(q,O,K)=>$.some(H=>!J(H,z(e,v.product.id,H.id))||H.selectedOptions[q]?.value!==O?!1:H.selectedOptions.every((j,Q)=>Q===q||j.value===K[Q])),_e=q=>{ue.forEach((O,K)=>{Array.from(O.options).forEach(H=>{H.disabled=!Rt(K,H.value,q)})})},Dt=()=>{let q=ue.map(Q=>Q.value),O=It(q);if(!O){Mt(b),_e(b.selectedOptions.map(Q=>Q.value));return}b=O,Ce.variant=O;let K=z(e,v.product.id,b.id);ne.textContent=R(W(b.price.amount)*K,r);let H=ee(b.unitPrice,b.unitPriceMeasurement,r);H?(Z.textContent=H,Z.hidden=!1):(Z.textContent="",Z.hidden=!0);let j=b.image??v.product.featuredImage;h&&j&&(h.src=te(j.url,{width:U,height:U,crop:"center"}),h.alt=j.altText??v.product.title),_e(O.selectedOptions.map(Q=>Q.value)),Fe(b),Ve()},Oe=s("div","lb-bundle-variant-option-groups");D.forEach((q,O)=>{let K=s("div","lb-bundle-variant-option-group"),H=s("span","lb-bundle-variant-option-label");H.textContent=q,K.appendChild(H);let j=document.createElement("select");j.className="lb-mix-match__variant-select",j.setAttribute("data-variant-option",""),j.setAttribute("data-option-position",String(O+1)),j.name=`lb-variant-${ke}-${O+1}`,j.setAttribute("aria-label",q);let Q=new Set;$.forEach(Ft=>{let oe=Ft.selectedOptions[O]?.value;if(!oe||Q.has(oe))return;Q.add(oe);let pe=document.createElement("option");pe.value=oe,pe.textContent=oe,P.selectedOptions[O]?.value===oe&&(pe.selected=!0),j.appendChild(pe)}),j.addEventListener("change",Dt),ue.push(j),K.appendChild(j),Oe.appendChild(K)}),y.appendChild(Oe),_e(P.selectedOptions.map(q=>q.value))}else if($.length===1&&P.title!=="Default Title"){let D=s("span","lb-mix-match__filled-variant");D.textContent=P.title,y.appendChild(D)}if(v.isOos){let D=s("span","lb-mix-match__modal-sold-out-label");D.textContent="Sold out",y.appendChild(D)}w.appendChild(y);let Ve=()=>{x.textContent=String(z(e,v.product.id,b.id))};if(!v.isOos){let D=document.createElement("button");D.type="button",D.className="lb-mix-match__modal-add",D.textContent="Add",D.addEventListener("click",()=>{o.isOverMax()||(o.onAdd(v.product,b),E())}),w.appendChild(D)}Ce.updateCount=v.isOos?()=>{}:Ve,A.push(Ce),c.appendChild(w)}),fe(c),V())}function T(){if(!u)return;let v=u.value.trim().toLowerCase();p&&(p.style.display=v?"":"none");let $=0;A.forEach(P=>{let b=!v||P.product.title.toLowerCase().includes(v);P.el.style.display=b?"":"none",b&&$++}),_.style.display=$===0&&v?"":"none"}let B=null;function I(v){if(v.key==="Escape"){v.preventDefault(),E();return}v.key==="Tab"&&un(v,a)}let m=!1;function S(){m||o.isOverMax()||(m=!0,C(),B=n.getRootNode().activeElement,n.style.display="",n.classList.add("lb-mix-match__modal-overlay--open"),a.focus(),document.addEventListener("keydown",I),n.addEventListener("click",M))}function E(){m&&(m=!1,n.classList.remove("lb-mix-match__modal-overlay--open"),n.style.display="none",document.removeEventListener("keydown",I),n.removeEventListener("click",M),B instanceof HTMLElement&&B.focus())}function M(v){v.target===n&&E()}function V(){A.forEach(v=>v.updateCount())}return{el:n,open:S,close:E,refreshCounts:V}}function cn(e,t){let r=[],o=new Set;for(let n of e.products){if(o.has(n.id))continue;o.add(n.id);let a=n.variants.nodes.filter(l=>J(l,z(e,n.id,l.id))),i=a.length===0;i&&t==="hide"||r.push({product:n,variants:n.variants.nodes,firstAvailableVariant:a[0]??null,isOos:i})}return r}function un(e,t){let r=t.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(r.length===0)return;let o=r[0],n=r[r.length-1],a=t.getRootNode().activeElement;e.shiftKey&&a===o?(e.preventDefault(),n.focus()):!e.shiftKey&&a===n&&(e.preventDefault(),o.focus())}function mt(e){return e.replace(/[^a-zA-Z0-9_-]/g,"-")}function Ct(e,t,r,o){let n=t.widgetConfig,a=t.products[0],i=t.volumeTiers[0]?.minQuantity??1,l=a?.variants.nodes.find(m=>J(m,i));if(!l&&n.outOfStockBehavior==="hide")return;let d=l?W(l.price.amount):0,u=l?.price.currencyCode??"USD",p=t.discountConfig.discountType,c=t.volumeTiers.map((m,S)=>{let E;if(p==="fixed_amount"){let M=Math.round((m.amount??0)*100);E=Math.max(0,d-M)}else{let M=m.percentage??0,V=Math.floor(d*M/100);E=Math.max(0,d-V)}return{tier:m,index:S,qty:m.minQuantity,pricePerUnitCents:E,basePricePerUnitCents:d}}),_=mn(c),g=n.defaultTier==="best_value"?_:0;typeof n.defaultTier=="number"&&(g=yt(n.defaultTier,0,c.length-1));let f=n.popularBadge.tierIndex!==void 0?yt(n.popularBadge.tierIndex,0,c.length-1):_,k=s("div","lb-volume");if(k.appendChild(pn(t,c,g,u,p)),n.countdown.showCountdown&&t.endsAt){let m=ae(t.endsAt);m&&(k.appendChild(m.el),o?.(m.stop))}let A=s("div","lb-volume__tiers",{role:"radiogroup","aria-label":"Quantity tiers","data-tier-group":""});c.forEach(m=>{let S=bn(m,m.index===g,u,n.popularBadge.visible&&m.index===f?n.popularBadge.text:null,n.pricing.showComparePrice,n.pricing.showPerUnitPrice);S.addEventListener("click",()=>I(m.index)),S.addEventListener("keydown",E=>{if(E.key==="Enter"||E.key===" "){E.preventDefault(),I(m.index);return}if(E.key==="ArrowDown"||E.key==="ArrowRight"||E.key==="ArrowUp"||E.key==="ArrowLeft"){E.preventDefault();let M=E.key==="ArrowDown"||E.key==="ArrowRight"?1:-1,V=(m.index+M+c.length)%c.length;I(V),A.children[V]?.focus()}}),A.appendChild(S)}),k.appendChild(A),k.appendChild(s("div","lb-bundle-divider"));let C=xt(c,g,u,n.pricing.showItemCount,n.pricing.showCompareAtPrice);k.appendChild(C);let T=n.savingsBar.visible?wt(c,g,u):null;T&&k.appendChild(T);let B=hn(t,()=>{if(!l)return;let m=c[g];m&&r([{merchandiseId:l.id,quantity:m.qty,attributes:[{key:"_lime_bundle_gid",value:t.id},{key:"_lime_bundle_type",value:t.bundleType}]}])});if(l&&ie(l,i,n.lowStockThreshold,n.showLowStockBadge)){let m=s("span","lb-bundle-low-stock-badge",{"data-low-stock-badge":""});m.textContent=`Only ${l.quantityAvailable} left`,k.appendChild(m)}k.appendChild(B),k.appendChild(s("p","lb-bundle-error",{"data-error":"","aria-live":"polite"})),k.appendChild(s("span","lb-visually-hidden",{"data-status":"","aria-live":"polite"})),e.appendChild(k);function I(m){if(m===g||m<0||m>=c.length)return;g=m,Array.from(A.children).forEach((M,V)=>{M.setAttribute("aria-checked",String(V===m)),M.tabIndex=V===m?0:-1});let S=xt(c,m,u,n.pricing.showItemCount,n.pricing.showCompareAtPrice);if(C.replaceWith(S),C=S,T){let M=wt(c,m,u);T.replaceWith(M),T=M}let E=k.querySelector("[data-header-badge]");if(E){let M=kt(c[m],u,p);M?(E.textContent=M,E.style.display=""):E.style.display="none"}}}function pn(e,t,r,o,n){let a=e.widgetConfig,i=s("div","lb-bundle-header"),l=s("div","lb-bundle-header__content"),d=s("h3","lb-bundle-title");if(d.textContent=e.title,l.appendChild(d),i.appendChild(l),a.pricing.showSaveBadge){let u=kt(t[r],o,n);if(u){let p=s("span","lb-bundle-header__badge",{"data-header-badge":""});p.textContent=u,i.appendChild(p)}}return i}function bn(e,t,r,o,n,a){let i=s("div","lb-volume__tier",{role:"radio","aria-checked":String(t),tabindex:t?"0":"-1","data-tier-index":String(e.index),"data-tier-qty":String(e.qty)}),l=s("span","lb-volume__radio");l.appendChild(s("span","lb-volume__radio-dot")),i.appendChild(l);let d=s("span","lb-volume__tier-grid"),u=s("span","lb-volume__tier-label");u.textContent=`Buy ${e.qty}`,d.appendChild(u);let p=s("span","lb-volume__tier-price");if(n&&e.pricePerUnitCents<e.basePricePerUnitCents){let _=s("span","lb-volume__tier-compare");_.textContent=R(e.basePricePerUnitCents,r),p.appendChild(_)}if(a){let _=document.createElement("span");_.setAttribute("data-tier-price-each",""),_.textContent=R(e.pricePerUnitCents,r),p.appendChild(_);let g=s("span","lb-volume__tier-unit");g.textContent=" each",p.appendChild(g)}d.appendChild(p),i.appendChild(d);let c=s("span","lb-volume__tier-badge");return o?c.textContent=o:c.style.display="none",i.appendChild(c),i}function xt(e,t,r,o,n){let a=e[t],i=a?a.pricePerUnitCents*a.qty:0,l=a?a.basePricePerUnitCents*a.qty:0,d=Math.max(0,l-i),u=s("div","lb-bundle-pricing"),p=s("span","lb-bundle-pricing__label",{"data-total-label":""});if(p.textContent="Total",o&&a){let g=document.createElement("span");g.setAttribute("data-item-count",""),g.textContent=` (${a.qty} item${a.qty===1?"":"s"})`,p.appendChild(g)}u.appendChild(p);let c=s("span","lb-bundle-pricing__prices");if(n&&d>0){let g=s("span","lb-bundle-compare-price",{"data-compare-price":""});g.textContent=R(l,r),c.appendChild(g)}let _=s("span","lb-bundle-sale-price",{"data-total-price":""});return _.textContent=R(i,r),c.appendChild(_),u.appendChild(c),u}function wt(e,t,r){let o=e[t],n=o?o.pricePerUnitCents*o.qty:0,a=o?o.basePricePerUnitCents*o.qty:0,i=Math.max(0,a-n),l=s("div","lb-bundle-savings-bar",{"data-savings-bar":""});i<=0&&(l.style.display="none");let d=document.createElement("span");d.textContent="You save",l.appendChild(d);let u=s("span","",{"data-savings-amount":""});return u.textContent=R(i,r),l.appendChild(u),l}function hn(e,t){let r=e.products[0],o=e.volumeTiers[0]?.minQuantity??1,n=r?.variants.nodes.some(l=>J(l,o)),a=n?e.widgetConfig.cta.ctaText||"Add to cart":"Sold out",i=le(a);return n||(i.disabled=!0),i.addEventListener("click",()=>{i.disabled||t()}),i}function kt(e,t,r){if(!e)return null;let{tier:o}=e;if(r==="fixed_amount"){let n=o.amount??0;return n>0?`-${R(Math.round(n*100),t)}`:null}if(r==="percentage"){let n=o.percentage??0;return n>0?`-${Math.round(n)}%`:null}return null}function mn(e){let t=0,r=0;return e.forEach((o,n)=>{let a=o.basePricePerUnitCents-o.pricePerUnitCents;a>t&&(t=a,r=n)}),r}function yt(e,t,r){return Math.max(t,Math.min(r,e))}var gn=new Set(["Tab","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End","PageUp","PageDown","Enter"," ","Escape"]),xe=new Set,we=!1;function _t(e){let t=e==="using-mouse"?"using-keyboard":"using-mouse";for(let r of xe)r.classList.add(e),r.classList.remove(t)}function Bt(e){gn.has(e.key)&&_t("using-keyboard")}function St(){_t("using-mouse")}function fn(){we||(we=!0,document.addEventListener("keydown",Bt,!0),document.addEventListener("pointerdown",St,!0))}function vn(){we&&(we=!1,document.removeEventListener("keydown",Bt,!0),document.removeEventListener("pointerdown",St,!0))}function ye(e){return e.classList.add("using-mouse"),e.classList.remove("using-keyboard"),xe.add(e),fn(),()=>{xe.delete(e),e.classList.remove("using-mouse"),e.classList.remove("using-keyboard"),xe.size===0&&vn()}}var Re=`/* Lime Bundles \u2014 shared base styles for all bundle widget types */
253
+ </svg>`,hn=`
254
+ <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
255
+ <line x1="3" y1="7" x2="11" y2="7" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
256
+ </svg>`,mn=`
257
+ <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
258
+ <line x1="7" y1="3" x2="7" y2="11" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
259
+ <line x1="3" y1="7" x2="11" y2="7" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
260
+ </svg>`;function Ne(e,t){return e.productRules[t]??lt}function qe(e,t,r){let o=0;for(let n of e)n.productId===t&&n.variantId===r&&(o+=n.quantity);return o}function Bt(e,t,r,o){let n=t.widgetConfig,a=t.products[0]?.priceRange.minVariantPrice.currencyCode??"USD",i=t.minQuantity??1,l=n.mixMatchShowQuantitySelector!==!1,d=Bn(t,n.outOfStockBehavior);if(d.filter(b=>!b.isOos).length<i)return;let p=[],c=s("div","lb-mix-match",{"data-required-quantity":String(i)}),y=fn(t);if(c.appendChild(y),n.countdown.showCountdown&&t.endsAt){let b=ce(t.endsAt);b&&(c.appendChild(b.el),o?.(b.stop))}let m=vn(i);c.appendChild(m.el);let g=s("div","lb-mix-match__slots",{"data-selection-slots":""});c.appendChild(g),c.appendChild(s("div","lb-bundle-divider"));let C=yn(n.pricing.showCompareAtPrice);c.appendChild(C.el);let L=n.savingsBar.visible?Cn():null;L&&c.appendChild(L.el);let w=s("div","lb-mix-match__price-placeholder",{"data-price-placeholder":""}),A=s("span","lb-mix-match__price-placeholder-text");A.textContent=`Select ${i} items to see price`,w.appendChild(A),c.appendChild(w);let B=kn(t,d,a,{showSearch:n.showSearch,showQtySelector:l,selections:p,onAdd:(b,k,S)=>f(b,k,S),isComplete:()=>p.length>=i});c.appendChild(B.el);let I=ue(`Select ${i} items to unlock`);I.disabled=!0,I.addEventListener("click",()=>{I.disabled||r(gn(p,t))}),c.appendChild(I),c.appendChild(s("p","lb-bundle-error",{"data-error":"","aria-live":"polite"})),c.appendChild(s("span","lb-visually-hidden",{"data-status":"","aria-live":"polite"})),e.appendChild(c),o?.(()=>ke(c)),E();function f(b,k,S){if(p.length>=i)return;let T=Ne(t,b.id),_=Ve(k,T.max,qe(p,b.id,k.id));if(_<T.min)return;let M=Math.max(T.min,Math.min(S,_));p.push({productId:b.id,productTitle:b.title,variantId:k.id,variantTitle:k.title,imageUrl:k.image?.url??b.featuredImage?.url??null,priceCents:z(k.price.amount),compareCents:k.compareAtPrice?z(k.compareAtPrice.amount):null,unitPriceLabel:ae(k.unitPrice,k.unitPriceMeasurement,a),quantity:M}),E()}function P(b){b<0||b>=p.length||(p.splice(b,1),E())}function E(){R(),m.update(p.length),C.update(p,t,a),L&&L.update(p,t,a),w.style.display=p.length===0?"":"none",B.refreshCounts(),O()}function R(){g.innerHTML="";let b=Math.max(i,p.length);for(let k=0;k<b;k++){let S=p[k];S?g.appendChild(wn(S,k,a,()=>P(k))):g.appendChild(xn(k,()=>B.open()))}}function O(){let b=p.length;b<i?(I.disabled=!0,Oe(I,`Select ${i-b} more to unlock`)):(I.disabled=!1,Oe(I,n.cta.ctaText||"Add to cart"))}}function gn(e,t){let r=new Map;for(let o of e){let n=`${o.productId}::${o.variantId}`,a=r.get(n);a?a.quantity+=o.quantity:r.set(n,{variantId:o.variantId,quantity:o.quantity})}return Array.from(r.values()).map(o=>({merchandiseId:o.variantId,quantity:o.quantity,attributes:[{key:"_lime_bundle_gid",value:t.id},{key:"_lime_bundle_type",value:t.bundleType}]}))}function fn(e){let t=e.widgetConfig,r=s("div","lb-bundle-header"),o=s("div","lb-bundle-header__content"),n=s("h3","lb-bundle-title");if(n.textContent=e.title,o.appendChild(n),r.appendChild(o),t.pricing.showSaveBadge){let{discountType:a,discountValue:i}=e.discountConfig,l=null;if(a==="percentage"&&i>0?l=`-${Math.round(i)}%`:a==="fixed_amount"&&i>0&&(l=`-${F(Math.round(i*100),e.products[0]?.priceRange.minVariantPrice.currencyCode??"USD")}`),l){let d=s("span","lb-bundle-header__badge");d.textContent=l,r.appendChild(d)}}return r}function vn(e){let t=s("div","lb-mix-match__progress"),r=s("div","lb-mix-match__progress-labels"),o=s("span","lb-mix-match__progress-count",{"data-progress-count":""});o.textContent=`0 of ${e} selected`,r.appendChild(o);let n=s("span","lb-mix-match__progress-remaining",{"data-progress-remaining":""});n.textContent=`${e} more to go`,r.appendChild(n),t.appendChild(r);let a=s("div","lb-mix-match__progress-track",{role:"progressbar","aria-valuenow":"0","aria-valuemin":"0","aria-valuemax":String(e)}),i=s("div","lb-mix-match__progress-fill",{"data-progress-fill":""});i.style.width="0%",a.appendChild(i),t.appendChild(a);function l(d){let u=Math.min(100,d/e*100);o.textContent=`${d} of ${e} selected`,d>=e?n.textContent="Complete":n.textContent=`${e-d} more to go`,i.style.width=`${u}%`,a.setAttribute("aria-valuenow",String(Math.min(d,e)))}return{el:t,update:l}}function xn(e,t){let r=s("div","lb-bundle-product-row lb-mix-match__slot lb-mix-match__slot--empty",{"data-slot":String(e+1),tabindex:"0",role:"button","aria-label":"Add a product to the bundle"}),o=s("div","lb-mix-match__empty-thumb");o.innerHTML=pn,r.appendChild(o);let n=s("span","lb-mix-match__empty-text");return n.textContent="Choose an item",r.appendChild(n),r.addEventListener("click",t),r.addEventListener("keydown",a=>{(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),t())}),r}function wn(e,t,r,o){let n=s("div","lb-bundle-product-row lb-mix-match__slot lb-mix-match__slot--filled",{"data-slot":String(t+1)}),a=s("div","lb-bundle-thumbnail",{"data-thumbnail":""});if(e.imageUrl){let g=document.createElement("img");g.src=ne(e.imageUrl,{width:U,height:U,crop:"center"}),g.alt=e.productTitle,g.width=U,g.height=U,g.loading="lazy",a.appendChild(g)}else a.insertAdjacentHTML("beforeend",kt);let i=s("span","lb-bundle-qty-badge");i.textContent=`\xD7${e.quantity}`,a.appendChild(i),n.appendChild(a);let l=s("div","lb-mix-match__filled-info"),d=s("span","lb-mix-match__filled-title");if(d.textContent=e.productTitle,l.appendChild(d),e.variantTitle&&e.variantTitle!=="Default Title"){let g=s("span","lb-mix-match__filled-variant");g.textContent=e.variantTitle,l.appendChild(g)}let u=e.priceCents*e.quantity,p=e.compareCents!==null?e.compareCents*e.quantity:null,c=s("span","lb-mix-match__filled-price");if(p!==null&&p>u){let g=s("span","lb-mix-match__filled-compare");g.textContent=F(p,r),c.appendChild(g)}let y=document.createElement("span");if(y.textContent=F(u,r),c.appendChild(y),l.appendChild(c),e.unitPriceLabel){let g=s("span","lb-bundle-product-unit-price");g.textContent=e.unitPriceLabel,l.appendChild(g)}n.appendChild(l);let m=document.createElement("button");return m.type="button",m.className="lb-mix-match__slot-remove",m.setAttribute("aria-label",`Remove ${e.productTitle}`),m.innerHTML=_t,m.addEventListener("click",g=>{g.stopPropagation(),o()}),n.appendChild(m),n}function yn(e){let t=s("div","lb-bundle-pricing",{"data-pricing-section":""});t.style.display="none";let r=s("span","lb-bundle-pricing__label");r.textContent="Bundle price",t.appendChild(r);let o=s("span","lb-bundle-pricing__prices"),n=s("span","lb-bundle-compare-price",{"data-compare-price":""});e&&o.appendChild(n);let a=s("span","lb-bundle-sale-price",{"data-sale-price":""});o.appendChild(a),t.appendChild(o);function i(l,d,u){if(l.length===0){t.style.display="none";return}t.style.display="";let p=l.reduce((y,m)=>y+m.priceCents*m.quantity,0),c=ve(p,d.discountConfig);e&&p>c?(n.textContent=F(p,u),n.style.display=""):n.style.display="none",a.textContent=F(c,u)}return{el:t,update:i}}function Cn(){let e=s("div","lb-bundle-savings-bar",{"data-savings-bar":""});e.style.display="none";let t=document.createElement("span");t.textContent="You save",e.appendChild(t);let r=s("span","",{"data-savings-amount":""});e.appendChild(r);function o(n,a,i){if(n.length===0){e.style.display="none";return}let l=n.reduce((p,c)=>p+c.priceCents*c.quantity,0),d=ve(l,a.discountConfig),u=Math.max(0,l-d);if(u<=0){e.style.display="none";return}e.style.display="",r.textContent=F(u,i)}return{el:e,update:o}}function kn(e,t,r,o){let n=s("div","lb-mix-match__modal-overlay",{"data-modal-overlay":"","data-bundle-gid":e.id});n.style.display="none";let a=s("div","lb-mix-match__modal",{role:"dialog","aria-modal":"true","aria-labelledby":`lb-modal-title-${Ct(e.id)}`,tabindex:"-1"}),i=s("div","lb-mix-match__modal-header"),l=s("h4","lb-mix-match__modal-title",{id:`lb-modal-title-${Ct(e.id)}`});l.textContent="Pick an item",i.appendChild(l);let d=document.createElement("button");d.type="button",d.className="lb-mix-match__modal-close",d.setAttribute("data-modal-close",""),d.setAttribute("aria-label","Close"),d.innerHTML=_t,d.addEventListener("click",E),i.appendChild(d),a.appendChild(i);let u=null,p=null;if(o.showSearch){let b=s("div","lb-mix-match__modal-search");u=document.createElement("input"),u.type="text",u.className="lb-mix-match__modal-search-input",u.setAttribute("data-modal-search",""),u.setAttribute("role","searchbox"),u.setAttribute("aria-label","Search products"),u.setAttribute("placeholder","Search products"),u.autocomplete="off",u.addEventListener("input",()=>A()),b.appendChild(u),p=document.createElement("button"),p.type="button",p.className="lb-mix-match__modal-search-clear",p.setAttribute("data-modal-search-clear",""),p.setAttribute("aria-label","Clear search"),p.style.display="none",p.innerHTML=bn,p.addEventListener("click",()=>{u&&(u.value="",A(),u.focus())}),b.appendChild(p),a.appendChild(b)}let c=s("div","lb-mix-match__modal-list",{"data-modal-list":""});a.appendChild(c);let y=s("div","lb-mix-match__modal-empty",{"data-modal-empty":""});y.style.display="none";let m=document.createElement("p");m.textContent="No products match your search.",y.appendChild(m),a.appendChild(y);let g=s("span","lb-visually-hidden",{"data-modal-live":"","aria-live":"polite"});a.appendChild(g),n.appendChild(a);let C=!1,L=[];function w(){C||(C=!0,c.innerHTML="",t.forEach(b=>{let k=Ne(e,b.product.id),S=b.variants,T=b.variants.find(V=>X(V,k.min))??b.firstAvailableVariant??b.variants[0];if(!T)return;let _=T,M=s("div",b.isOos?"lb-mix-match__modal-product lb-mix-match__modal-product--sold-out":"lb-mix-match__modal-product",{"data-product-id":b.product.id.replace(/^.*\//,"")}),q=s("div","lb-mix-match__modal-product-thumb"),v=(b.variants.find(V=>X(V,k.min))??b.variants[0]??null)?.image??b.product.featuredImage??null,h=null;v?(h=document.createElement("img"),h.src=ne(v.url,{width:U,height:U,crop:"center"}),h.alt=v.altText??b.product.title,h.width=U,h.height=U,h.loading="lazy",q.appendChild(h)):q.insertAdjacentHTML("beforeend",kt);let x=s("span","lb-bundle-qty-badge");x.hidden=!0,q.appendChild(x),M.appendChild(q);let D=s("div","lb-mix-match__modal-product-info"),oe=s("p","lb-mix-match__modal-product-title");oe.textContent=b.product.title,D.appendChild(oe);let Q=s("p","lb-mix-match__modal-product-price");Q.textContent=F(z(_.price.amount),r),D.appendChild(Q);let J=s("p","lb-mix-match__modal-product-unit-price lb-bundle-product-unit-price"),Ue=ae(_.unitPrice,_.unitPriceMeasurement,r);Ue?J.textContent=Ue:J.hidden=!0,D.appendChild(J);let pe=s("span","lb-bundle-low-stock-badge",{"data-low-stock-badge":""});pe.hidden=!0,D.appendChild(pe);let $e=V=>{se(V,k.min,e.widgetConfig.lowStockThreshold,e.widgetConfig.showLowStockBadge)?(pe.textContent=`Only ${V.quantityAvailable} left`,pe.hidden=!1):pe.hidden=!0};$e(_);let We=()=>{let V=qe(o.selections,b.product.id,_.id),G=Ve(_,k.max,V),re=Math.max(k.min,G);return{min:k.min,max:re,cap:G}},te=null;if(!b.isOos&&o.showQtySelector){let V=s("div","lb-bundle-variant-option-group lb-mix-match__qty-stepper-group"),G=s("span","lb-bundle-variant-option-label");G.textContent="Quantity",V.appendChild(G),te=_n({initial:k.min,getBounds:()=>{let{min:re,max:Te}=We();return{min:re,max:Te}}}),V.appendChild(te.el),D.appendChild(V)}let be={el:M,product:b.product,variant:T,refreshFromSelections:()=>{}};if(S.length>1){let V=S[0].selectedOptions.map($=>$.name),G=b.product.id.replace(/^.*\//,""),re=[],Te=$=>S.find(N=>N.selectedOptions.length===$.length&&N.selectedOptions.every((j,H)=>j.value===$[H]))??null,Nt=$=>{$.selectedOptions.forEach((N,j)=>{let H=re[j];H&&H.value!==N.value&&(H.value=N.value)})},Ht=($,N,j)=>S.some(H=>!X(H,k.min)||H.selectedOptions[$]?.value!==N?!1:H.selectedOptions.every((W,he)=>he===$||W.value===j[he])),Ee=$=>{re.forEach((N,j)=>{Array.from(N.options).forEach(H=>{H.disabled=!Ht(j,H.value,$)})})},Ut=()=>{let $=re.map(W=>W.value),N=Te($);if(!N){Nt(_),Ee(_.selectedOptions.map(W=>W.value));return}_=N,be.variant=N,Q.textContent=F(z(_.price.amount),r);let j=ae(_.unitPrice,_.unitPriceMeasurement,r);j?(J.textContent=j,J.hidden=!1):(J.textContent="",J.hidden=!0);let H=_.image??b.product.featuredImage;h&&H&&(h.src=ne(H.url,{width:U,height:U,crop:"center"}),h.alt=H.altText??b.product.title),Ee(N.selectedOptions.map(W=>W.value)),$e(_),be.refreshFromSelections()},ze=s("div","lb-bundle-variant-option-groups");V.forEach(($,N)=>{let j=s("div","lb-bundle-variant-option-group"),H=s("span","lb-bundle-variant-option-label");H.textContent=$,j.appendChild(H);let W=document.createElement("select");W.className="lb-mix-match__variant-select",W.setAttribute("data-variant-option",""),W.setAttribute("data-option-position",String(N+1)),W.name=`lb-variant-${G}-${N+1}`,W.setAttribute("aria-label",$);let he=new Set;S.forEach($t=>{let le=$t.selectedOptions[N]?.value;if(!le||he.has(le))return;he.add(le);let ge=document.createElement("option");ge.value=le,ge.textContent=le,T.selectedOptions[N]?.value===le&&(ge.selected=!0),W.appendChild(ge)}),W.addEventListener("change",Ut),re.push(W),j.appendChild(W),ze.appendChild(j)}),D.appendChild(ze),Ee(T.selectedOptions.map($=>$.value))}else if(S.length===1&&T.title!=="Default Title"){let V=s("span","lb-mix-match__filled-variant");V.textContent=T.title,D.appendChild(V)}if(b.isOos){let V=s("span","lb-mix-match__modal-sold-out-label");V.textContent="Sold out",D.appendChild(V)}M.appendChild(D);let Z=null,qt=()=>{if(!Z)return;let{cap:V}=We(),G=qe(o.selections,b.product.id,_.id);G>0?(x.textContent=String(G),x.hidden=!1):x.hidden=!0,Z.disabled=o.isComplete()||V<k.min};if(!b.isOos){let V=s("div","lb-mix-match__modal-product-actions");Z=document.createElement("button"),Z.type="button",Z.className="lb-mix-match__modal-add",Z.textContent="Add",Z.addEventListener("click",()=>{if(!Z||Z.disabled||o.isComplete())return;let G=te?te.value():k.min;o.onAdd(b.product,_,G),te&&te.reset(k.min),E()}),V.appendChild(Z),M.appendChild(V)}be.refreshFromSelections=()=>{te&&te.refresh(),qt()},be.refreshFromSelections(),L.push(be),c.appendChild(M)}),Ce(c),O())}function A(){if(!u)return;let b=u.value.trim().toLowerCase();p&&(p.style.display=b?"":"none");let k=0;L.forEach(S=>{let T=!b||S.product.title.toLowerCase().includes(b);S.el.style.display=T?"":"none",T&&k++}),y.style.display=k===0&&b?"":"none"}let B=null;function I(b){if(b.key==="Escape"){b.preventDefault(),E();return}b.key==="Tab"&&Sn(b,a)}let f=!1;function P(){f||o.isComplete()||(f=!0,w(),B=n.getRootNode().activeElement,n.style.display="",n.classList.add("lb-mix-match__modal-overlay--open"),a.focus(),document.addEventListener("keydown",I),n.addEventListener("click",R))}function E(){f&&(f=!1,n.classList.remove("lb-mix-match__modal-overlay--open"),n.style.display="none",document.removeEventListener("keydown",I),n.removeEventListener("click",R),B instanceof HTMLElement&&B.focus())}function R(b){b.target===n&&E()}function O(){L.forEach(b=>b.refreshFromSelections())}return{el:n,open:P,close:E,refreshCounts:O}}function _n(e){let t=s("div","lb-mix-match__qty-stepper",{role:"group","aria-label":"Quantity"}),r=document.createElement("button");r.type="button",r.className="lb-mix-match__qty-stepper-button lb-mix-match__qty-stepper-button--minus",r.setAttribute("aria-label","Decrease quantity"),r.innerHTML=hn,t.appendChild(r);let o=s("span","lb-mix-match__qty-stepper-value",{"aria-live":"polite"});t.appendChild(o);let n=document.createElement("button");n.type="button",n.className="lb-mix-match__qty-stepper-button lb-mix-match__qty-stepper-button--plus",n.setAttribute("aria-label","Increase quantity"),n.innerHTML=mn,t.appendChild(n);let a=i(e.initial,e.getBounds());function i(d,u){return Math.max(u.min,Math.min(u.max,d))}function l(){let d=e.getBounds();a=i(a,d),o.textContent=String(a),r.disabled=a<=d.min,n.disabled=a>=d.max}return r.addEventListener("click",()=>{let d=e.getBounds();a=i(a-1,d),l()}),n.addEventListener("click",()=>{let d=e.getBounds();a=i(a+1,d),l()}),l(),{el:t,value:()=>a,reset(d){a=i(d,e.getBounds()),l()},refresh:l}}function Bn(e,t){let r=[],o=new Set;for(let n of e.products){if(o.has(n.id))continue;o.add(n.id);let a=Ne(e,n.id),i=n.variants.nodes.filter(d=>X(d,a.min)),l=i.length===0;l&&t==="hide"||r.push({product:n,variants:n.variants.nodes,firstAvailableVariant:i[0]??null,isOos:l})}return r}function Sn(e,t){let r=t.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(r.length===0)return;let o=r[0],n=r[r.length-1],a=t.getRootNode().activeElement;e.shiftKey&&a===o?(e.preventDefault(),n.focus()):!e.shiftKey&&a===n&&(e.preventDefault(),o.focus())}function Ct(e){return e.replace(/[^a-zA-Z0-9_-]/g,"-")}function At(e,t,r,o){let n=t.widgetConfig,a=t.products[0],i=t.volumeTiers[0]?.minQuantity??1,l=a?.variants.nodes.find(f=>X(f,i));if(!l&&n.outOfStockBehavior==="hide")return;let d=l?z(l.price.amount):0,u=l?.price.currencyCode??"USD",p=t.discountConfig.discountType,c=t.volumeTiers.map((f,P)=>{let E;if(p==="fixed_amount"){let R=Math.round((f.amount??0)*100);E=Math.max(0,d-R)}else{let R=f.percentage??0,O=Math.floor(d*R/100);E=Math.max(0,d-O)}return{tier:f,index:P,qty:f.minQuantity,pricePerUnitCents:E,basePricePerUnitCents:d}}),y=Ln(c),m=n.defaultTier==="best_value"?y:0;typeof n.defaultTier=="number"&&(m=Et(n.defaultTier,0,c.length-1));let g=n.popularBadge.tierIndex!==void 0?Et(n.popularBadge.tierIndex,0,c.length-1):y,C=s("div","lb-volume");if(C.appendChild(Tn(t,c,m,u,p)),n.countdown.showCountdown&&t.endsAt){let f=ce(t.endsAt);f&&(C.appendChild(f.el),o?.(f.stop))}let L=s("div","lb-volume__tiers",{role:"radiogroup","aria-label":"Quantity tiers","data-tier-group":""});c.forEach(f=>{let P=En(f,f.index===m,u,n.popularBadge.visible&&f.index===g?n.popularBadge.text:null,n.pricing.showComparePrice,n.pricing.showPerUnitPrice);P.addEventListener("click",()=>I(f.index)),P.addEventListener("keydown",E=>{if(E.key==="Enter"||E.key===" "){E.preventDefault(),I(f.index);return}if(E.key==="ArrowDown"||E.key==="ArrowRight"||E.key==="ArrowUp"||E.key==="ArrowLeft"){E.preventDefault();let R=E.key==="ArrowDown"||E.key==="ArrowRight"?1:-1,O=(f.index+R+c.length)%c.length;I(O),L.children[O]?.focus()}}),L.appendChild(P)}),C.appendChild(L),C.appendChild(s("div","lb-bundle-divider"));let w=St(c,m,u,n.pricing.showItemCount,n.pricing.showCompareAtPrice);C.appendChild(w);let A=n.savingsBar.visible?Tt(c,m,u):null;A&&C.appendChild(A);let B=An(t,()=>{if(!l)return;let f=c[m];f&&r([{merchandiseId:l.id,quantity:f.qty,attributes:[{key:"_lime_bundle_gid",value:t.id},{key:"_lime_bundle_type",value:t.bundleType}]}])});if(l&&se(l,i,n.lowStockThreshold,n.showLowStockBadge)){let f=s("span","lb-bundle-low-stock-badge",{"data-low-stock-badge":""});f.textContent=`Only ${l.quantityAvailable} left`,C.appendChild(f)}C.appendChild(B),C.appendChild(s("p","lb-bundle-error",{"data-error":"","aria-live":"polite"})),C.appendChild(s("span","lb-visually-hidden",{"data-status":"","aria-live":"polite"})),e.appendChild(C);function I(f){if(f===m||f<0||f>=c.length)return;m=f,Array.from(L.children).forEach((R,O)=>{R.setAttribute("aria-checked",String(O===f)),R.tabIndex=O===f?0:-1});let P=St(c,f,u,n.pricing.showItemCount,n.pricing.showCompareAtPrice);if(w.replaceWith(P),w=P,A){let R=Tt(c,f,u);A.replaceWith(R),A=R}let E=C.querySelector("[data-header-badge]");if(E){let R=Lt(c[f],u,p);R?(E.textContent=R,E.style.display=""):E.style.display="none"}}}function Tn(e,t,r,o,n){let a=e.widgetConfig,i=s("div","lb-bundle-header"),l=s("div","lb-bundle-header__content"),d=s("h3","lb-bundle-title");if(d.textContent=e.title,l.appendChild(d),i.appendChild(l),a.pricing.showSaveBadge){let u=Lt(t[r],o,n);if(u){let p=s("span","lb-bundle-header__badge",{"data-header-badge":""});p.textContent=u,i.appendChild(p)}}return i}function En(e,t,r,o,n,a){let i=s("div","lb-volume__tier",{role:"radio","aria-checked":String(t),tabindex:t?"0":"-1","data-tier-index":String(e.index),"data-tier-qty":String(e.qty)}),l=s("span","lb-volume__radio");l.appendChild(s("span","lb-volume__radio-dot")),i.appendChild(l);let d=s("span","lb-volume__tier-grid"),u=s("span","lb-volume__tier-label");u.textContent=`Buy ${e.qty}`,d.appendChild(u);let p=s("span","lb-volume__tier-price");if(n&&e.pricePerUnitCents<e.basePricePerUnitCents){let y=s("span","lb-volume__tier-compare");y.textContent=F(e.basePricePerUnitCents,r),p.appendChild(y)}if(a){let y=document.createElement("span");y.setAttribute("data-tier-price-each",""),y.textContent=F(e.pricePerUnitCents,r),p.appendChild(y);let m=s("span","lb-volume__tier-unit");m.textContent=" each",p.appendChild(m)}d.appendChild(p),i.appendChild(d);let c=s("span","lb-volume__tier-badge");return o?c.textContent=o:c.style.display="none",i.appendChild(c),i}function St(e,t,r,o,n){let a=e[t],i=a?a.pricePerUnitCents*a.qty:0,l=a?a.basePricePerUnitCents*a.qty:0,d=Math.max(0,l-i),u=s("div","lb-bundle-pricing"),p=s("span","lb-bundle-pricing__label",{"data-total-label":""});if(p.textContent="Total",o&&a){let m=document.createElement("span");m.setAttribute("data-item-count",""),m.textContent=` (${a.qty} item${a.qty===1?"":"s"})`,p.appendChild(m)}u.appendChild(p);let c=s("span","lb-bundle-pricing__prices");if(n&&d>0){let m=s("span","lb-bundle-compare-price",{"data-compare-price":""});m.textContent=F(l,r),c.appendChild(m)}let y=s("span","lb-bundle-sale-price",{"data-total-price":""});return y.textContent=F(i,r),c.appendChild(y),u.appendChild(c),u}function Tt(e,t,r){let o=e[t],n=o?o.pricePerUnitCents*o.qty:0,a=o?o.basePricePerUnitCents*o.qty:0,i=Math.max(0,a-n),l=s("div","lb-bundle-savings-bar",{"data-savings-bar":""});i<=0&&(l.style.display="none");let d=document.createElement("span");d.textContent="You save",l.appendChild(d);let u=s("span","",{"data-savings-amount":""});return u.textContent=F(i,r),l.appendChild(u),l}function An(e,t){let r=e.products[0],o=e.volumeTiers[0]?.minQuantity??1,n=r?.variants.nodes.some(l=>X(l,o)),a=n?e.widgetConfig.cta.ctaText||"Add to cart":"Sold out",i=ue(a);return n||(i.disabled=!0),i.addEventListener("click",()=>{i.disabled||t()}),i}function Lt(e,t,r){if(!e)return null;let{tier:o}=e;if(r==="fixed_amount"){let n=o.amount??0;return n>0?`-${F(Math.round(n*100),t)}`:null}if(r==="percentage"){let n=o.percentage??0;return n>0?`-${Math.round(n)}%`:null}return null}function Ln(e){let t=0,r=0;return e.forEach((o,n)=>{let a=o.basePricePerUnitCents-o.pricePerUnitCents;a>t&&(t=a,r=n)}),r}function Et(e,t,r){return Math.max(t,Math.min(r,e))}var Pn=new Set(["Tab","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End","PageUp","PageDown","Enter"," ","Escape"]),_e=new Set,Be=!1;function Pt(e){let t=e==="using-mouse"?"using-keyboard":"using-mouse";for(let r of _e)r.classList.add(e),r.classList.remove(t)}function Mt(e){Pn.has(e.key)&&Pt("using-keyboard")}function It(){Pt("using-mouse")}function Mn(){Be||(Be=!0,document.addEventListener("keydown",Mt,!0),document.addEventListener("pointerdown",It,!0))}function In(){Be&&(Be=!1,document.removeEventListener("keydown",Mt,!0),document.removeEventListener("pointerdown",It,!0))}function Se(e){return e.classList.add("using-mouse"),e.classList.remove("using-keyboard"),_e.add(e),Mn(),()=>{_e.delete(e),e.classList.remove("using-mouse"),e.classList.remove("using-keyboard"),_e.size===0&&In()}}var He=`/* Lime Bundles \u2014 shared base styles for all bundle widget types */
254
261
 
255
262
  .lb-bundle-widget.lb-bundle-widget,
256
263
  .lb-bundle-widget.lb-bundle-widget * {
@@ -835,7 +842,7 @@
835
842
  .lb-ab-pending {
836
843
  visibility: hidden;
837
844
  }
838
- `,Tt=`/* Lime Bundles \u2014 Fixed bundle styles */
845
+ `,Rt=`/* Lime Bundles \u2014 Fixed bundle styles */
839
846
 
840
847
  .lb-fixed__products {
841
848
  display: flex;
@@ -910,7 +917,7 @@
910
917
  outline: 2px solid var(--lb-primary-color);
911
918
  outline-offset: 2px;
912
919
  }
913
- `,At=`/* Lime Bundles \u2014 Mix & Match styles */
920
+ `,Dt=`/* Lime Bundles \u2014 Mix & Match styles */
914
921
 
915
922
  /* === Slot list ============================================================
916
923
  Caps the height of the slot stack so long bundles don't push the CTA off
@@ -1262,8 +1269,8 @@
1262
1269
 
1263
1270
  .lb-mix-match__modal-product-thumb {
1264
1271
  position: relative;
1265
- width: 48px;
1266
- min-width: 48px;
1272
+ width: 60px;
1273
+ min-width: 60px;
1267
1274
  /* Modal picker thumbs follow the merchant's pickerThumbnailRatio \u2014
1268
1275
  independent from the main widget's thumbnailRatio so a merchant can
1269
1276
  e.g. show tall picker thumbs with square main thumbs. */
@@ -1312,7 +1319,7 @@
1312
1319
  font-size: 12px;
1313
1320
  line-height: 20px;
1314
1321
  color: inherit;
1315
- margin: 4px 0 0;
1322
+ margin: 2px 0 0;
1316
1323
  }
1317
1324
 
1318
1325
  .lb-mix-match__modal-product-unit-price {
@@ -1351,6 +1358,86 @@
1351
1358
  outline-offset: 2px;
1352
1359
  }
1353
1360
 
1361
+ /* Per-pick quantity stepper inside the picker modal product row.
1362
+ Three flex cells (\u2212 / number / +) sharing a single outer border \u2014
1363
+ the same picker-variant border vars the variant select uses, so
1364
+ the two pieces visually agree even when the merchant tweaks
1365
+ --lb-picker-variant-border-width / -color / -radius. The cell
1366
+ dividers come from a 1px border on the centre value rather than
1367
+ per-button borders, so the rounded outer corners stay clean.
1368
+ Mirrors extensions/bundle-theme/assets/bundle-mix-match.css so
1369
+ the headless web component matches the Liquid theme widget. */
1370
+ /* Quantity label + stepper sit together in a .lb-bundle-variant-option-group
1371
+ wrapper so the label-to-stepper gap inherits the same 2px the variant
1372
+ pickers use. The wrapper carries the margin-top that spaces the qty
1373
+ group from the unit-price / low-stock-badge above; the stepper itself
1374
+ has no top margin so the group can be repositioned without coupling. */
1375
+ .lb-mix-match__qty-stepper-group {
1376
+ margin-top: 8px;
1377
+ /* Group is a flex column; without an explicit width it stretches to
1378
+ fill the info column so the \u2212/value/+ cells get pulled apart. Pin
1379
+ to fit-content so the wrapper hugs the stepper's natural width. */
1380
+ width: fit-content;
1381
+ }
1382
+
1383
+ .lb-mix-match__qty-stepper {
1384
+ display: inline-flex;
1385
+ align-items: stretch;
1386
+ flex-shrink: 0;
1387
+ height: 32px;
1388
+ border: var(--lb-picker-variant-border-width) solid var(--lb-picker-variant-border-color);
1389
+ border-radius: var(--lb-picker-variant-radius);
1390
+ background-color: var(--lb-picker-bg);
1391
+ overflow: hidden;
1392
+ box-sizing: border-box;
1393
+ }
1394
+
1395
+ .lb-mix-match__qty-stepper-button {
1396
+ appearance: none;
1397
+ -webkit-appearance: none;
1398
+ background: transparent;
1399
+ border: none;
1400
+ margin: 0;
1401
+ padding: 0;
1402
+ width: 28px;
1403
+ font-family: inherit;
1404
+ font-size: 16px;
1405
+ font-weight: 500;
1406
+ line-height: 1;
1407
+ color: var(--lb-picker-text);
1408
+ cursor: pointer;
1409
+ display: inline-flex;
1410
+ align-items: center;
1411
+ justify-content: center;
1412
+ }
1413
+
1414
+ .lb-mix-match__qty-stepper-button:hover:not(:disabled) {
1415
+ background: color-mix(in srgb, var(--lb-picker-text) 6%, transparent);
1416
+ }
1417
+
1418
+ .lb-mix-match__qty-stepper-button:focus-visible {
1419
+ outline: 2px solid var(--lb-primary-color);
1420
+ outline-offset: -2px;
1421
+ }
1422
+
1423
+ .lb-mix-match__qty-stepper-button:disabled {
1424
+ opacity: 0.4;
1425
+ cursor: not-allowed;
1426
+ }
1427
+
1428
+ .lb-mix-match__qty-stepper-value {
1429
+ display: inline-flex;
1430
+ align-items: center;
1431
+ justify-content: center;
1432
+ min-width: 36px;
1433
+ padding: 0 8px;
1434
+ font-family: inherit;
1435
+ font-size: 13px;
1436
+ font-weight: 500;
1437
+ color: var(--lb-picker-text);
1438
+ box-sizing: border-box;
1439
+ }
1440
+
1354
1441
  .lb-mix-match__modal-add {
1355
1442
  padding: 8px 20px;
1356
1443
  background: var(--lb-picker-add-bg);
@@ -1440,7 +1527,7 @@
1440
1527
  transition: none;
1441
1528
  }
1442
1529
  }
1443
- `,Et=`/* Lime Bundles \u2014 Volume / Quantity Breaks styles */
1530
+ `,Ft=`/* Lime Bundles \u2014 Volume / Quantity Breaks styles */
1444
1531
 
1445
1532
  .lb-volume__tiers {
1446
1533
  display: flex;
@@ -1577,7 +1664,7 @@
1577
1664
  }
1578
1665
 
1579
1666
 
1580
- `,Pt=`/**
1667
+ `,Vt=`/**
1581
1668
  * Lime Bundles \u2014 Custom variant-picker dropdown styling.
1582
1669
  *
1583
1670
  * Reuses existing CSS variables: no new merchant-configurable surface.
@@ -1829,7 +1916,7 @@
1829
1916
  [data-modal-overlay] > .lb-dropdown-listbox::-webkit-scrollbar-thumb {
1830
1917
  background: color-mix(in srgb, var(--lb-picker-text) 15%, transparent);
1831
1918
  }
1832
- `,Lt=`/* Lime Bundles \u2014 web-component loading skeleton (not mirrored to theme assets) */
1919
+ `,Ot=`/* Lime Bundles \u2014 web-component loading skeleton (not mirrored to theme assets) */
1833
1920
 
1834
1921
  .lb-bundle-widget--loading {
1835
1922
  display: block;
@@ -1925,10 +2012,10 @@
1925
2012
  animation: none;
1926
2013
  }
1927
2014
  }
1928
- `;var xn=e=>`lb_cart_id:${e}`;function wn(e){if(e)return e.trim()||null;if(typeof document<"u"){let t=document.querySelector('meta[name="shopify:product-handle"]');if(t?.content)return t.content.trim()||null}if(typeof window<"u"){let t=window.location.pathname.match(/\/products\/([^/?#]+)/);if(t?.[1])return decodeURIComponent(t[1])}return null}var ce=class extends HTMLElement{static observedAttributes=["shop-domain","storefront-token","bundle-gid","product-handle","app-url","analytics","locale"];shadow;bundles=[];abortController=null;impressionCleanups=[];renderCleanups=[];shopCustomCss=null;constructor(){super(),this.shadow=this.attachShadow({mode:"open"})}connectedCallback(){this.fetchBundle()}disconnectedCallback(){this.abortController?.abort(),this.teardownImpressions(),this.teardownRenderers()}teardownImpressions(){for(let t of this.impressionCleanups)t();this.impressionCleanups=[]}teardownRenderers(){for(let t of this.renderCleanups)t();this.renderCleanups=[]}attributeChangedCallback(t,r,o){r===o||!this.isConnected||(t==="bundle-gid"||t==="product-handle"||t==="shop-domain"||t==="storefront-token")&&this.shopDomain&&this.storefrontToken&&this.fetchBundle()}get shopDomain(){return this.getAttribute("shop-domain")??""}get storefrontToken(){return this.getAttribute("storefront-token")??""}get bundleGid(){return this.getAttribute("bundle-gid")??""}get productHandleAttr(){return this.getAttribute("product-handle")??""}get appUrl(){return this.getAttribute("app-url")??""}get analyticsEnabled(){return this.getAttribute("analytics")!=="false"}async fetchBundle(){if(!this.shopDomain||!this.storefrontToken){this.renderError("Missing required attributes: shop-domain, storefront-token");return}this.abortController?.abort();let t=new AbortController;this.abortController=t,this.renderLoading();let r=Ae({shopDomain:this.shopDomain,accessToken:this.storefrontToken});try{let o,n=!1;if(this.bundleGid)n=!0,o=this.fetchSingleBundle(r,t.signal);else{let l=wn(this.productHandleAttr);if(!l){this.teardownImpressions(),this.renderError("No bundle-gid or product-handle provided, and the current URL doesn't match /products/<handle>.");return}o=this.fetchProductBundles(r,t.signal,l)}let a=r.query(Xe,void 0,{signal:t.signal}).catch(()=>null);if(await o,t.signal.aborted)return;if(n&&this.bundles.length===0){this.teardownImpressions(),this.renderError("Bundle not found");return}let i=await a;if(i?.shop?.metafield?.value){ct(this.shopDomain,i.shop.metafield.value);let l=Pe(i.shop.metafield.value);l.ok&&(this.shopCustomCss=l.css)}await this.applyABVariants(),this.renderBundles()}catch(o){if(t.signal.aborted)return;this.bundles=[],this.teardownImpressions(),this.renderError(o instanceof Error?o.message:"Failed to load bundle")}}async applyABVariants(){if(!this.appUrl||this.bundles.length===0)return;let t=await Promise.all(this.bundles.map(async r=>{if(!r.abTestId||!r.abVariantB)return r;try{if((await st(this.appUrl,this.shopDomain,r.abTestId,r.id))?.variant==="B")return nt(r)}catch(o){console.warn(`[lime-bundle] A/B assignment failed for bundle ${r.id}; falling back to Variant A.`,o)}return r}));this.bundles=t}async fetchSingleBundle(t,r){let o=await t.query(Qe,{id:this.bundleGid},{signal:r});if(!o.metaobject){this.bundles=[];return}let n=Ee(o.metaobject.id,o.metaobject.fields);this.bundles=n?[n]:[]}async fetchProductBundles(t,r,o){let n=await t.query(Je,{handle:o},{signal:r});if(!n.product){this.bundles=[];return}let a=n.product.metafield?.references?.nodes??[],i=[];for(let l of a){let d=Ee(l.id,l.fields);d&&i.push(d)}this.bundles=i}handleAddToCart=async(t,r)=>{let o=new CustomEvent("lime-bundle:add-to-cart",{detail:{lines:r},bubbles:!0,composed:!0,cancelable:!0}),n=this.dispatchEvent(o);this.reportAddToCartEvent(t,r),n&&await this.defaultAddToCart(r)};async defaultAddToCart(t){if(typeof window>"u")return;let r=Ae({shopDomain:this.shopDomain,accessToken:this.storefrontToken}),o=window.localStorage,n=xn(this.shopDomain),a=o?.getItem(n)??null;try{let i=null;if(a){let d=(await r.query(et,{cartId:a,lines:t})).cartLinesAdd;d?.userErrors?.length?o?.removeItem(n):d?.cart&&(i=d.cart.checkoutUrl)}if(!i){let d=(await r.query(Ze,{input:{lines:t}})).cartCreate;d?.cart&&(o?.setItem(n,d.cart.id),i=d.cart.checkoutUrl)}i?window.location.assign(i):this.dispatchEvent(new CustomEvent("lime-bundle:error",{detail:{message:"Cart creation failed",code:"CART_ERROR"},bubbles:!0,composed:!0}))}catch(i){this.dispatchEvent(new CustomEvent("lime-bundle:error",{detail:{message:i instanceof Error?i.message:"Cart mutation failed",code:"CART_ERROR"},bubbles:!0,composed:!0}))}}reportAddToCartEvent(t,r){if(!this.analyticsEnabled||!this.appUrl)return;let o=r.reduce((a,i)=>a+i.quantity,0),n=r.reduce((a,i)=>{let d=t.products.find(p=>p.variants.nodes.some(c=>c.id===i.merchandiseId))?.variants.nodes.find(p=>p.id===i.merchandiseId),u=d?parseFloat(d.price.amount):0;return a+u*i.quantity},0);it({shopDomain:this.shopDomain,appUrl:this.appUrl},{bundleGid:t.id,bundleType:t.bundleType,productId:t.products[0]?.id??"",quantity:o,totalPrice:Math.round(n*100)/100})}renderBundles(){this.teardownImpressions(),this.teardownRenderers(),this.shadow.innerHTML="";let t=document.createElement("style");if(t.textContent=[Re,Tt,At,Et,Pt].join(`
1929
- `),this.shadow.appendChild(t),this.shopCustomCss){let o=document.createElement("style");o.setAttribute("data-lime-bundles","shop-custom-css"),o.textContent=this.shopCustomCss,this.shadow.appendChild(o)}for(let o of this.bundles){let n=document.createElement("div");n.className="lb-bundle-widget",n.setAttribute("role","region"),n.setAttribute("aria-label",o.title),n.setAttribute("data-bundle-type",o.bundleType),n.setAttribute("data-bundle-gid",o.id),tt(n,o.widgetConfig),this.renderCleanups.push(ye(n));let a=l=>this.handleAddToCart(o,l),i=l=>this.renderCleanups.push(l);switch(o.bundleType){case"fixed":ht(n,o,a,i);break;case"mix_match":vt(n,o,a,i);break;case"volume":Ct(n,o,a,i);break}this.shadow.appendChild(n),this.setupImpressionFor(o,n)}let r=this.bundles[0];this.dispatchEvent(new CustomEvent("lime-bundle:loaded",{detail:{bundleCount:this.bundles.length,bundleTypes:this.bundles.map(o=>o.bundleType),bundleType:r?.bundleType,title:r?.title},bubbles:!0,composed:!0}))}setupImpressionFor(t,r){if(!this.analyticsEnabled||!this.appUrl)return;let o=at(r,()=>{ot({shopDomain:this.shopDomain,appUrl:this.appUrl},{bundleGid:t.id,bundleType:t.bundleType})});this.impressionCleanups.push(o)}renderLoading(){this.shadow.innerHTML=`
1930
- <style>${Re}</style>
1931
- <style>${Lt}</style>
2015
+ `;var Rn=e=>`lb_cart_id:${e}`;function Dn(e){if(e)return e.trim()||null;if(typeof document<"u"){let t=document.querySelector('meta[name="shopify:product-handle"]');if(t?.content)return t.content.trim()||null}if(typeof window<"u"){let t=window.location.pathname.match(/\/products\/([^/?#]+)/);if(t?.[1])return decodeURIComponent(t[1])}return null}var me=class extends HTMLElement{static observedAttributes=["shop-domain","storefront-token","bundle-gid","product-handle","app-url","analytics","locale"];shadow;bundles=[];abortController=null;impressionCleanups=[];renderCleanups=[];shopCustomCss=null;constructor(){super(),this.shadow=this.attachShadow({mode:"open"})}connectedCallback(){this.fetchBundle()}disconnectedCallback(){this.abortController?.abort(),this.teardownImpressions(),this.teardownRenderers()}teardownImpressions(){for(let t of this.impressionCleanups)t();this.impressionCleanups=[]}teardownRenderers(){for(let t of this.renderCleanups)t();this.renderCleanups=[]}attributeChangedCallback(t,r,o){r===o||!this.isConnected||(t==="bundle-gid"||t==="product-handle"||t==="shop-domain"||t==="storefront-token")&&this.shopDomain&&this.storefrontToken&&this.fetchBundle()}get shopDomain(){return this.getAttribute("shop-domain")??""}get storefrontToken(){return this.getAttribute("storefront-token")??""}get bundleGid(){return this.getAttribute("bundle-gid")??""}get productHandleAttr(){return this.getAttribute("product-handle")??""}get appUrl(){return this.getAttribute("app-url")??""}get analyticsEnabled(){return this.getAttribute("analytics")!=="false"}async fetchBundle(){if(!this.shopDomain||!this.storefrontToken){this.renderError("Missing required attributes: shop-domain, storefront-token");return}this.abortController?.abort();let t=new AbortController;this.abortController=t,this.renderLoading();let r=Me({shopDomain:this.shopDomain,accessToken:this.storefrontToken});try{let o,n=!1;if(this.bundleGid)n=!0,o=this.fetchSingleBundle(r,t.signal);else{let l=Dn(this.productHandleAttr);if(!l){this.teardownImpressions(),this.renderError("No bundle-gid or product-handle provided, and the current URL doesn't match /products/<handle>.");return}o=this.fetchProductBundles(r,t.signal,l)}let a=r.query(nt,void 0,{signal:t.signal}).catch(()=>null);if(await o,t.signal.aborted)return;if(n&&this.bundles.length===0){this.teardownImpressions(),this.renderError("Bundle not found");return}let i=await a;if(i?.shop?.metafield?.value){ft(this.shopDomain,i.shop.metafield.value);let l=Re(i.shop.metafield.value);l.ok&&(this.shopCustomCss=l.css)}await this.applyABVariants(),this.renderBundles()}catch(o){if(t.signal.aborted)return;this.bundles=[],this.teardownImpressions(),this.renderError(o instanceof Error?o.message:"Failed to load bundle")}}async applyABVariants(){if(this.bundles.length===0)return;let t=await Promise.all(this.bundles.map(async r=>{if(!r.abTestId||!r.abVariantB)return r;try{if((await gt(r.abTestId,r.id))?.variant==="B")return ct(r)}catch(o){console.warn(`[lime-bundle] A/B assignment failed for bundle ${r.id}; falling back to Variant A.`,o)}return r}));this.bundles=t}async fetchSingleBundle(t,r){let o=await t.query(rt,{id:this.bundleGid},{signal:r});if(!o.metaobject){this.bundles=[];return}let n=Ie(o.metaobject.id,o.metaobject.fields);this.bundles=n?[n]:[]}async fetchProductBundles(t,r,o){let n=await t.query(ot,{handle:o},{signal:r});if(!n.product){this.bundles=[];return}let a=n.product.metafield?.references?.nodes??[],i=[];for(let l of a){let d=Ie(l.id,l.fields);d&&i.push(d)}this.bundles=i}handleAddToCart=async(t,r)=>{let o=new CustomEvent("lime-bundle:add-to-cart",{detail:{lines:r},bubbles:!0,composed:!0,cancelable:!0}),n=this.dispatchEvent(o);this.reportAddToCartEvent(t,r),n&&await this.defaultAddToCart(r)};async defaultAddToCart(t){if(typeof window>"u")return;let r=Me({shopDomain:this.shopDomain,accessToken:this.storefrontToken}),o=window.localStorage,n=Rn(this.shopDomain),a=o?.getItem(n)??null;try{let i=null;if(a){let d=(await r.query(at,{cartId:a,lines:t})).cartLinesAdd;d?.userErrors?.length?o?.removeItem(n):d?.cart&&(i=d.cart.checkoutUrl)}if(!i){let d=(await r.query(it,{input:{lines:t}})).cartCreate;d?.cart&&(o?.setItem(n,d.cart.id),i=d.cart.checkoutUrl)}i?window.location.assign(i):this.dispatchEvent(new CustomEvent("lime-bundle:error",{detail:{message:"Cart creation failed",code:"CART_ERROR"},bubbles:!0,composed:!0}))}catch(i){this.dispatchEvent(new CustomEvent("lime-bundle:error",{detail:{message:i instanceof Error?i.message:"Cart mutation failed",code:"CART_ERROR"},bubbles:!0,composed:!0}))}}reportAddToCartEvent(t,r){if(!this.analyticsEnabled||!this.appUrl)return;let o=r.reduce((a,i)=>a+i.quantity,0),n=r.reduce((a,i)=>{let d=t.products.find(p=>p.variants.nodes.some(c=>c.id===i.merchandiseId))?.variants.nodes.find(p=>p.id===i.merchandiseId),u=d?parseFloat(d.price.amount):0;return a+u*i.quantity},0);pt({shopDomain:this.shopDomain,appUrl:this.appUrl},{bundleGid:t.id,bundleType:t.bundleType,productId:t.products[0]?.id??"",quantity:o,totalPrice:Math.round(n*100)/100})}renderBundles(){this.teardownImpressions(),this.teardownRenderers(),this.shadow.innerHTML="";let t=document.createElement("style");if(t.textContent=[He,Rt,Dt,Ft,Vt].join(`
2016
+ `),this.shadow.appendChild(t),this.shopCustomCss){let o=document.createElement("style");o.setAttribute("data-lime-bundles","shop-custom-css"),o.textContent=this.shopCustomCss,this.shadow.appendChild(o)}for(let o of this.bundles){let n=document.createElement("div");n.className="lb-bundle-widget",n.setAttribute("role","region"),n.setAttribute("aria-label",o.title),n.setAttribute("data-bundle-type",o.bundleType),n.setAttribute("data-bundle-gid",o.id),dt(n,o.widgetConfig),this.renderCleanups.push(Se(n));let a=l=>this.handleAddToCart(o,l),i=l=>this.renderCleanups.push(l);switch(o.bundleType){case"fixed":yt(n,o,a,i);break;case"mix_match":Bt(n,o,a,i);break;case"volume":At(n,o,a,i);break}this.shadow.appendChild(n),this.setupImpressionFor(o,n)}let r=this.bundles[0];this.dispatchEvent(new CustomEvent("lime-bundle:loaded",{detail:{bundleCount:this.bundles.length,bundleTypes:this.bundles.map(o=>o.bundleType),bundleType:r?.bundleType,title:r?.title},bubbles:!0,composed:!0}))}setupImpressionFor(t,r){if(!this.analyticsEnabled||!this.appUrl)return;let o=bt(r,()=>{ut({shopDomain:this.shopDomain,appUrl:this.appUrl},{bundleGid:t.id,bundleType:t.bundleType})});this.impressionCleanups.push(o)}renderLoading(){this.shadow.innerHTML=`
2017
+ <style>${He}</style>
2018
+ <style>${Ot}</style>
1932
2019
  <div class="lb-bundle-widget lb-bundle-widget--loading" aria-busy="true" aria-label="Loading bundle">
1933
2020
  <div class="lb-skeleton lb-skeleton--title"></div>
1934
2021
  <div class="lb-skeleton--products">
@@ -1962,5 +2049,5 @@
1962
2049
  <div class="lb-skeleton lb-skeleton--cta"></div>
1963
2050
  </div>
1964
2051
  </div>
1965
- `}renderError(t){this.shadow.innerHTML="",this.dispatchEvent(new CustomEvent("lime-bundle:error",{detail:{message:t,code:"LOAD_ERROR"},bubbles:!0,composed:!0}))}};typeof customElements<"u"&&!customElements.get("lime-bundle")&&customElements.define("lime-bundle",ce);return qt(yn);})();
2052
+ `}renderError(t){this.shadow.innerHTML="",this.dispatchEvent(new CustomEvent("lime-bundle:error",{detail:{message:t,code:"LOAD_ERROR"},bubbles:!0,composed:!0}))}};typeof customElements<"u"&&!customElements.get("lime-bundle")&&customElements.define("lime-bundle",me);return Qt(Fn);})();
1966
2053
  //# sourceMappingURL=lime-bundle.global.js.map