1(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{};e.SENTRY_RELEASE={id:`88d60b7bec93c66c297ec6a9399b57f52ac1a13b`};var t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`ac7f165f-798e-4315-877a-02abb8d36ad6`,e._sentryDebugIdIdentifier=`sentry-dbid-ac7f165f-798e-4315-877a-02abb8d36ad6`)}catch{}})();import{a as e,i as t,n,o as r,r as i,s as a,t as o}from"./swiper-nKyFa2Nm.min.js";import{n as s,t as c}from"./hotwired-stimulus-DfrdXz_J.min.js";import{t as l}from"./sentry-browser-DCQOZ5vp.min.js";import{CartErrorEvent as u,CartLinesUpdateEvent as d,CollectionUpdateEvent as f,ProductSelectEvent as p,SearchUpdateEvent as m,StandardEvents as h,createViewEventElement as g}from"https://cdn.shopify.com/storefront/standard-events.js";var _=Object.defineProperty,v=(e,t)=>{let n={};for(var r in e)_(n,r,{get:e[r],enumerable:!0});return t||_(n,Symbol.toStringTag,{value:`Module`}),n},y=typeof window.requestIdleCallback==`function`?(e,t)=>window.requestIdleCallback(e,t):e=>window.setTimeout(e,0),b=()=>`yield`in be?be.yield():new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)})});function ee(){return Number(navigator.hardwareConcurrency)<=2||Number(navigator.deviceMemory)<=2}function te(){return typeof document.startViewTransition==`function`}function ne(e=navigator.userAgent){let t=e||``,n=/\bAndroid\b/i.test(t)&&/;\s?wv\)/i.test(t),r=/\b(FBAN|FBAV|FB_IAB|FBIOS|Instagram|musical_ly|Bytedance|BytedanceWebview|trill|TikTok)(?:\b|_)/i.test(t);return n||r}var x={current:void 0},re={"product-grid":async()=>{let e=document.querySelector(`.product-grid`),t=[...document.querySelectorAll(`.product-grid .product-grid__item`)];if(e&&t.length)return await new Promise(n=>y(()=>{let r=he(e,t);t.forEach((e,t)=>{t<r?e.style.setProperty(`view-transition-name`,`product-card-${e.dataset.productId}`):e.style.setProperty(`content-visibility`,`hidden`)}),n(null)})),()=>t.forEach(e=>{e.style.removeProperty(`view-transition-name`),e.style.removeProperty(`content-visibility`)})}};function ie(e,t){return!te()||ee()||C()||ne()?Promise.resolve(e()):new Promise(async n=>{let r=[];if(t){for(let e of t)if(re[e]){let t=await re[e]();t&&r.push(t)}}let i=document.startViewTransition(e);x.current||=i.finished,t&&t.forEach(e=>i.types.add(e)),i.finished.then(()=>{x.current=void 0,r.forEach(e=>e()),n()})})}function ae(e=`json`,t={}){let n={"Content-Type":`application/json`,Accept:`application/${e}`,...t.headers};return e===`javascript`&&(n[`X-Requested-With`]=`XMLHttpRequest`,delete n[`Content-Type`]),{method:`POST`,headers:n,body:t.body}}function S(e,t){let n;function r(...r){clearTimeout(n),n=setTimeout(()=>e.apply(this,r),t)}return r.cancel=()=>{clearTimeout(n)},r}var oe=matchMedia(`(prefers-reduced-motion: reduce)`);function C(){return oe.matches}function w(e){return e.normalize(`NFD`).replace(/\p{Diacritic}/gu,``).toLowerCase()}function se(e){document.readyState===`complete`?e():window.addEventListener(`load`,e)}function ce(e){let t=e.target;t&&t instanceof HTMLElement&&(t.style.setProperty(`will-change`,`unset`),t.removeEventListener(`animationend`,ce))}function T(e,t,n={subtree:!0}){let r=(Array.isArray(e)?e.flatMap(e=>e.getAnimations(n)):e.getAnimations(n)).reduce((e,t)=>(t.timeline instanceof DocumentTimeline&&e.push(t.finished),e),[]);return Promise.allSettled(r).then(t)}var E=new Set,D;function le(){for(let e of E)e.isConnected||E.delete(e)}function ue(){if(le(),E.size>0){document.documentElement.setAttribute(`scroll-lock`,``),D||(D=new MutationObserver(ue),D.observe(document.documentElement,{childList:!0,subtree:!0}));return}document.documentElement.removeAttribute(`scroll-lock`),D?.disconnect(),D=void 0}function O(e){E.add(e),ue()}function k(e){E.delete(e),ue()}function de(e,t){if(e.target instanceof HTMLDialogElement||!(e.target instanceof Element))return!fe(e.clientX,e.clientY,t);let n=e.composedPath?.();return n?.length?!n.includes(t):!t.contains(e.target)}function fe(e,t,n){let{left:r,right:i,top:a,bottom:o}=n.getBoundingClientRect();return e>=r&&e<=i&&t>=a&&t<=o}var A=matchMedia(`(min-width: 750px)`);function pe(){return!A.matches}function me(){return`ontouchstart`in window&&navigator.maxTouchPoints>0}function he(e,t){if(!e||!t||t.length===0)return 0;let n=t[0];if(!n)return 0;let r=e.getBoundingClientRect(),i={top:Math.max(0,r.top),bottom:Math.min(window.innerHeight,r.bottom)},a=Math.round(i.bottom-i.top);if(a<=0)return 0;let o=n.querySelector(`product-card`),s=getComputedStyle(e),c=o?.refs?.cardGallery?.style.getPropertyValue(`--gallery-aspect-ratio`)||``,l=parseFloat(c)||.5;if(c?.includes(`/`)){let[e=`1`,t=`2`]=c.split(`/`);l=parseInt(e,10)/parseInt(t,10)}let u=parseInt(o?.refs?.productCardLink?.style.getPropertyValue(`--product-card-gap`)||``)||
112,d=parseInt(s.getPropertyValue(`--product-grid-gap`))||12,f=((parseInt(s.fontSize)||16)+2)*2,p=window.innerWidth<750,m=p?Math.round((r.width-d)/2):100,h=Math.round(m/l)+u+f;return(p?2:Math.floor((r.width+d)/(m+d)))*Math.ceil((a-d)/(h+d))}function ge(e){let t=new Image;t.src=e}var _e=class extends HTMLElement{shimmer(){this.setAttribute(`shimmer`,``)}};customElements.get(`text-component`)||customElements.define(`text-component`,_e);function ve(e=document.body){e.querySelectorAll(`[shimmer]`).forEach(e=>e.removeAttribute(`shimmer`))}function ye(){return new URLSearchParams(window.location.search).get(`view`)}function j(e,t){if(e==null||e===``)return t;let n=parseInt(e.toString());return isNaN(n)?t:n}var be=new class{#e=new Set;#t=!1;schedule=async e=>{this.#e.add(e),this.#t||(this.#t=!0,x.current&&await x.current,requestAnimationFrame(this.flush))};flush=()=>{for(let e of this.#e)setTimeout(e,0);this.#e.clear(),this.#t=!1}},xe=class extends ResizeObserver{#e=!1;constructor(e){super(t=>{if(this.#e)return e(t,this);this.#e=!0})}disconnect(){this.#e=!1,super.disconnect()}};function Se(){let e=document.querySelector(`#header-component`);e&&window.requestAnimationFrame(()=>{let t=e?.querySelector(`overflow-list`),n=t&&t.hasAttribute(`minimum-reached`);e.dataset.menuStyle=me()||n?`drawer`:`menu`})}typeof Theme<`u`&&(Theme.utilities={...Theme.utilities,scheduler:be});var Ce=class extends HTMLElement{connectedCallback(){if(!this.shadowRoot){let e=this.querySelector(`:scope > template[shadowrootmode="open"]`);if(!(e instanceof HTMLTemplateElement))return;this.attachShadow({mode:`open`}).append(e.content.cloneNode(!0))}}},M=class extends Ce{refs={};requiredRefs;get roots(){return this.shadowRoot?[this,this.shadowRoot]:[this]}connectedCallback(){super.connectedCallback(),Ee(),this.#e(),y(()=>{for(let e of this.roots)this.#t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`ref`],attributeOldValue:!0})})}updatedCallback(){this.#t.takeRecords(),this.#e()}disconnectedCallback(){this.#t.disconnect()}#e(){let e={},t=this.roots.reduce((e,t)=>{for(let n of t.querySelectorAll(`[ref]`))this.#n(n)&&e.add(n);return e},new Set);for(let n of t){let t=n.getAttribute(`ref`)??``,r=t.endsWith(`[]`),i=r?t.slice(0,-2):t;if(r){let t=Array.isArray(e[i])?e[i]:[];t.push(n),e[i]=t}else e[i]=n}if(this.requiredRefs?.length){for(let t of this.requiredRefs)if(!(t in e))throw new ke(t,this)}this.refs=e}#t=new MutationObserver(e=>{e.some(e=>e.type===`attributes`&&this.#n(e.target)||e.type===`childList`&&[...e.addedNodes,...e.removedNodes].some(this.#n))&&this.#e()});#n=e=>N(we(e))===this};function we(e){if(e.parentNode)return e.parentNode;let t=e.getRootNode();return t instanceof ShadowRoot?t.host:null}function N(e){if(!e)return null;if(e instanceof M||e instanceof HTMLElement&&e.tagName.toLowerCase().endsWith(`-component`))return e;let t=we(e);return t?N(t):null}var Te=!1;function Ee(){if(Te)return;Te=!0;let e=[`click`,`change`,`select`,`focus`,`blur`,`submit`,`input`,`keydown`,`keyup`,`toggle`,`pointerdown`],t=[`focus`,`blur`],n=[`pointerenter`,`pointerleave`];for(let t of[...e,...n]){let e=`on:${t}`;document.addEventListener(t,t=>{let n=r(t);if(!n)return;let i=t.target===n?t:new Proxy(t,{get(e,t){if(t===`target`)return n;let r=Reflect.get(e,t);return typeof r==`function`?r.bind(e):r}}),a=n.getAttribute(e)??``,[o,s]=a.split(`/`),c=a.match(/([\/\?][^\/\?]+)([\/\?][^\/\?]+)$/),l=c?c[2]:null,u=o?o.startsWith(`#`)?document.querySelector(o):n.closest(o):N(n);if(!s)return;if(!(u instanceof M)&&u instanceof HTMLElement&&u.tagName.toLowerCase().endsWith(`-component`)&&(customElements.upgrade(u),!(u instanceof M))){console.warn(`[component] Dropped "${t.type}" on <${u.tagName.toLowerCase()}> â element not yet upgraded`);return}if(!(u instanceof M))return;s=s.replace(/\?.*/,``);let d=u[s];if(typeof d==`function`)try{let e=[i];l&&e.unshift(De(l)),d.call(u,...e)}catch(e){console.error(e)}},{capture:!0})}function r(e){let r=e.composedPath?.()[0]??e.target;if(r instanceof Element)return r.hasAttribute(`on:${e.type}`)?r:n.includes(e.type)?null:e.bubbles||t.includes(e.type)?r.closest(`[on\\:${e.type}]`):null}}function De(e){let t=e[0],n=e.slice(1);return t===`?`?Object.fromEntries(Array.from(new URLSearchParams(n).entries()).map(([e,t])=>[e,Oe(t)])):Oe(n)}function Oe(e){if(e===`true`)return!0;
1if(e===`false`)return!1;let t=Number(e);return!isNaN(t)&&e.trim()!==``?t:e}var ke=class extends Error{constructor(e,t){super(`Required ref "${e}" not found in component ${t.tagName.toLowerCase()}`)}},Ae=`.page-wrapper`,P=window.matchMedia(`(min-width: 990px)`);function F(){return P.matches?document.querySelector(Ae)??document.scrollingElement??document.documentElement:document.scrollingElement??document.documentElement}function I(){return F().scrollTop}function je(e){F().scrollTo(e)}P.matches&&(history.scrollRestoration=`manual`),P.addEventListener(`change`,()=>{history.scrollRestoration=P.matches?`manual`:`auto`});function Me(){try{let e=typeof history.state==`object`&&history.state!==null?history.state:{};history.replaceState({...e,scrollTop:F().scrollTop},``)}catch{}}window.addEventListener(`pagehide`,Me);function Ne(e){if(!Number.isFinite(e)||e<0)return;let t=F(),n=Math.max(0,t.scrollHeight-t.clientHeight),r=Math.min(e,n);t.scrollTo({top:r,behavior:`instant`})}window.addEventListener(`pageshow`,()=>{let e=history.state?.scrollTop;e!=null&&requestAnimationFrame(()=>{Ne(e)})});var Pe=history.pushState.bind(history);history.pushState=function(e,t,n){Me(),Pe(e,t,n)},window.addEventListener(`popstate`,()=>{let e=history.state?.scrollTop;e!=null&&requestAnimationFrame(()=>{Ne(e)})});var Fe=class extends M{requiredRefs=[`dialog`];connectedCallback(){super.connectedCallback(),(this.minWidth||this.maxWidth)&&window.addEventListener(`resize`,this.#e)}disconnectedCallback(){super.disconnectedCallback(),(this.minWidth||this.maxWidth)&&window.removeEventListener(`resize`,this.#e),k(this.refs.dialog)}#e=S(()=>{let{minWidth:e,maxWidth:t}=this;if(!e&&!t)return;let n=window.innerWidth;(n<e||n>t)&&this.closeDialog()},50);#t=0;showDialog(e){e&&(e.preventDefault(),e.stopPropagation());let{dialog:t}=this.refs;t.open||(this.#t=I(),requestAnimationFrame(()=>{O(t),t.showModal(),this.dispatchEvent(new Ie),this.addEventListener(`click`,this.#n),this.addEventListener(`keydown`,this.#r),this.addEventListener(`cancel`,e=>{this.closeDialog()},{capture:!0})}))}closeDialog=async()=>{let{dialog:e}=this.refs;e.open&&(this.removeEventListener(`click`,this.#n),this.removeEventListener(`keydown`,this.#r),e.style.animation=`none`,e.offsetWidth,e.classList.add(`dialog-closing`),e.style.animation=``,await T(e,void 0,{subtree:!1}),k(e),je({top:this.#t,behavior:`instant`}),e.close(),e.classList.remove(`dialog-closing`),this.dispatchEvent(new Le))};toggleDialog=()=>{this.refs.dialog.open?this.closeDialog():this.showDialog()};#n(e){let{dialog:t}=this.refs;de(e,t)&&this.closeDialog()}#r(e){e.key===`Escape`&&(e.preventDefault(),this.closeDialog())}get minWidth(){return Number(this.getAttribute(`dialog-active-min-width`))}get maxWidth(){return Number(this.getAttribute(`dialog-active-max-width`))}};customElements.get(`dialog-component`)||customElements.define(`dialog-component`,Fe);var Ie=class e extends CustomEvent{constructor(){super(e.eventName)}static eventName=`dialog:open`},Le=class e extends CustomEvent{constructor(){super(e.eventName)}static eventName=`dialog:close`};document.addEventListener(`toggle`,e=>{if(e.target instanceof HTMLDetailsElement&&e.target.hasAttribute(`scroll-lock`)){let{open:t}=e.target;t?O(e.target):k(e.target)}},{capture:!0});var L=new class{constructor(e){this.metricPrefix=e}createStartingMarker(e){let t=`${this.metricPrefix}:${e}`;return performance.mark(`${t}:start`)}measureFromEvent(e,t){let n=`${this.metricPrefix}:${e}`;performance.mark(`${n}:start`,{startTime:t.timeStamp}),performance.mark(`${n}:end`),performance.measure(n,`${n}:start`,`${n}:end`)}measureFromMarker(e){let t=e.name.replace(/:start$/,``),n=performance.mark(`${t}:end`);performance.measure(t,e.name,n.name)}measure(e,t){let n=`${this.metricPrefix}:${e}`;performance.mark(`${n}:start`),t(),performance.mark(`${n}:end`),performance.measure(e,`${n}:start`,`${n}:end`)}}(`cart-performance`),R=`data-hydration-key`,Re=new Set([`product-grid-view`,`data-current-checked`,`data-previous-checked`,`cart-summary-sticky`,`data-skip-value-update`]),z={childrenOnly:!0,hydrationMode:!1,reject(e,t){return!!(t.nodeType===Node.TEXT_NODE&&t.nodeValue?.trim()===``||t instanceof HTMLTemplateElement&&t.shadowRootMode===`open`&&e.parentElement&&t.parentElement&&e.parentElement.tagName===t.parentElement.tagName&&e.parentElement?.shadowRoot!=null||t.nodeType===Node.COMMENT_NODE&&t.nodeValue===`shopify:rendered_by_section_api`)},onBeforeUpdate(e,t){if(!(e instanceof Element)||!(t instanceof Element))return;let n=e.attributes;for(let e=0;e<n.length;e++){let r=n[e];if(Re.has(r.name)){let e=r.value;e&&e!==t.getAttribute(r.name)&&t.setAttribute(r.name,e)}}let r=e.tagName;if(r===`FLOATING-PANEL-COMPONENT`||r===`FIELDSET`){let n=r===`FLOATING-PANEL-COMPONENT`;if((n||e.classList.contains(`variant-option`))&&t.tagName===r&&(n||t.classList.contains(`variant-option`))){let n=e.getAttribute(`style`);n&&t.setAttribute(`style`,n)}}e instanceof HTMLElement&&t instanceof HTMLElement&&e.style.viewTransitionName&&(t.style.viewTransitionName=e.style.viewTransitionName)},onAfterUpdate(e){e instanceof M&&queueMicrotask(()=>e.updatedCallback())}};function B(e,t,n=z){if(!e||!t)throw Error(`Both oldTree and newTree must be provided`);if(typeof t==`string`){let e=new DOMParser().parseFromString(t,`text/html`).body.firstChild;
1if(!e)throw Error(`newTree string is not valid HTML`);t=e}if(n.hydrationMode&&e instanceof Element&&t instanceof Element)return Be(e,t,n),e;let r;if(n.childrenOnly)Qe(t,e,n),r=e;else if(t.nodeType===11)throw Error(`newTree should have one root node (not a DocumentFragment)`);else r=V(t,e,n);return r instanceof Element&&Ze(r),r}function ze(e){let t=[];return e.hasAttribute(R)&&t.push(e),t.push(...e.querySelectorAll(`[${R}]`)),t}function Be(e,t,n){let r=ze(e),i=ze(t),a=new Map;for(let e of r){let t=e.getAttribute(R);if(t==null||t===``)continue;let n=a.get(t)??[];n.push(e),a.set(t,n)}for(let e of i){let t=e.getAttribute(R);if(t==null||t===``)continue;let r=a.get(t)?.shift();r&&B(r,e,{...n,hydrationMode:!1,childrenOnly:!1})}}function V(e,t,n){if(!t)return e;if(!e||e===t)return t;let r=e.nodeType;if(r!==t.nodeType)return e;if(r===1){let r=t,i=e;if(r.tagName===`SHOPIFY-ACCELERATED-CHECKOUT-CART`)return t;if(i.tagName!==r.tagName)return e;if(t.isEqualNode(e))return Ge(i,r),t;let a=H(e,n),o=H(t,n);if(a&&o&&a!==o)return e;r.hasAttribute(`data-skip-node-update`)&&i.hasAttribute(`data-skip-node-update`)||Ve(e,t,n),Qe(e,t,n)}else Ve(e,t,n);return n.onAfterUpdate?.(e),t}function Ve(e,t,n){n.onBeforeUpdate?.(t,e);let r=e.nodeType;if(r===1){let n=t,r=e;if(!Ke(n,r)){if((e instanceof HTMLDetailsElement&&t instanceof HTMLDetailsElement||e instanceof HTMLDialogElement&&t instanceof HTMLDialogElement)&&(e.hasAttribute(`declarative-open`)||(e.open=t.open)),t instanceof HTMLElement&&e instanceof HTMLElement)for(let n of[`slot`,`sizes`]){let r=t.getAttribute(n);r!==e.getAttribute(n)&&(r==null?e.removeAttribute(n):e.setAttribute(n,r))}Je(r,n)}He(e,t)}else(r===3||r===8)&&t.nodeValue!==e.nodeValue&&(t.nodeValue=e.nodeValue)}function He(e,t){e instanceof HTMLInputElement&&t instanceof HTMLInputElement?Ye(e,t):e instanceof HTMLOptionElement&&t instanceof HTMLOptionElement?qe(e,t,`selected`):e instanceof HTMLTextAreaElement&&t instanceof HTMLTextAreaElement&&Xe(e,t)}function Ue(e,t){return e.hasAttribute(`data-skip-node-update`)&&t.hasAttribute(`data-skip-node-update`)}function We(e,t){return t.matches(`:focus`)&&!e.matches(`:disabled`)&&e.hasAttribute(`data-skip-value-update`)&&t.hasAttribute(`data-skip-value-update`)}function Ge(e,t){Ue(e,t)||He(e,t);let n=e.querySelectorAll(`input, option, textarea`);if(n.length===0)return;let r=t.querySelectorAll(`input, option, textarea`);for(let e=0;e<n.length;e++){let t=n[e],i=r[e];Ue(t,i)||He(t,i)}}function Ke(e,t){let n=e.attributes,r=t.attributes,i=n.length;if(i!==r.length)return!1;for(let e=0;e<i;e++){let t=n[e],i=r[e];if(!t.isEqualNode(i))return!1}return!0}function H(e,t){return t?.getNodeKey?.(e)??(e instanceof Element?e.id:void 0)}function qe(e,t,n){e[n]!==t[n]&&(t[n]=e[n],e[n]==null?t.removeAttribute(n):t.setAttribute(n,``))}function Je(e,t){let n=t.attributes,r=e.attributes;for(let n of Array.from(r)){let{name:r,namespaceURI:i,value:a}=n,o=n.localName||r;(r!==`src`&&r!==`href`&&r!==`srcset`&&r!==`poster`||t.getAttribute(r)!==a)&&(r===`value`&&We(e,t)||(i?t.getAttributeNS(i,o)!==a&&t.setAttributeNS(i,o,a):t.hasAttribute(r)?t.getAttribute(r)!==a&&(a===`null`||a===`undefined`?t.removeAttribute(r):t.setAttribute(r,a)):t.setAttribute(r,a)))}for(let r of Array.from(n)){if(r.specified===!1)continue;let{name:n,namespaceURI:i}=r,a=r.localName||n;if(i)e.hasAttributeNS(i,a)||t.removeAttributeNS(i,a);
1else if(!e.hasAttribute(n)){if(n===`value`&&We(e,t))continue;t.removeAttribute(n)}}}function Ye(e,t){let n=e.value,r=We(e,t);qe(e,t,`checked`),qe(e,t,`disabled`),e.indeterminate!==t.indeterminate&&(t.indeterminate=e.indeterminate),t.type!==`file`&&(!r&&n!==t.value&&(t.setAttribute(`value`,n),t.value=n),!r&&n===`null`&&(t.value=``,t.removeAttribute(`value`)),!r&&!e.hasAttributeNS(null,`value`)?t.removeAttribute(`value`):!r&&t.type===`range`&&(t.value=n))}function Xe(e,t){let n=e.value;n!==t.value&&(t.value=n);let r=t.firstChild;if(r?.nodeType===Node.TEXT_NODE){if(n===``&&r.nodeValue===t.placeholder)return;r.nodeValue=n}}function Ze(e){let t=e.querySelectorAll(`.shopify-app-block script[src]`);for(let e of t){if(!(e instanceof HTMLScriptElement))continue;let t=e.parentElement;if(!t)continue;let n=document.createElement(`script`);for(let t of Array.from(e.attributes))n.setAttribute(t.name,t.value);e.textContent&&(n.textContent=e.textContent),e.remove(),t.appendChild(n)}}function Qe(e,t,n){if(t instanceof Element&&t.hasAttribute(`data-skip-subtree-update`)&&e instanceof Element&&e.hasAttribute(`data-skip-subtree-update`))return;let r=t.childNodes,i=e.childNodes,a=n.reject,o,s,c,l,u=0;for(let d=0;o=r[d],s=i[d-u],o||s;d++){if(!s){o&&t.removeChild(o),d--;continue}if(!o){t.appendChild(s),u++;continue}if($e(s,o,n)){c=V(s,o,n),c!==o&&(t.replaceChild(c,o),u++);continue}if(a!==void 0&&a(o,s)){e.removeChild(s),d--;continue}l=null;let i=r.length;for(let e=d;e<i;e++){let t=r[e];if(t&&$e(t,s,n)){l=t;break}}l?(c=V(s,l,n),c!==l&&u++,t.insertBefore(c,o)):!H(s,n)&&!H(o,n)?(c=V(s,o,n),c!==o&&(t.replaceChild(c,o),u++)):(t.insertBefore(s,o),u++)}}function $e(e,t,n){let r=e.nodeType,i=t.nodeType;if(r!==i)return!1;if(r===Node.ELEMENT_NODE){if(e instanceof Element&&t instanceof Element&&e.tagName!==t.tagName)return!1;let r=H(e,n),i=H(t,n);if(r&&i&&r!==i)return!1}if(r===Node.TEXT_NODE&&i===Node.TEXT_NODE){let n=e.nodeValue,r=t.nodeValue;return n===r||n?.trim()===r?.trim()}return r===Node.COMMENT_NODE&&i===Node.COMMENT_NODE?e.nodeValue===t.nodeValue:!0}function et(e){return!e||e.available===!1?null:tt(e.resolvedVariantId)||tt(e.intendedVariantId)||tt(e.hiddenInputValue)||null}function tt(e){if(e==null)return null;let t=String(e).trim();return t.length>0?t:null}var nt=1e4,rt=1e3,it=5e3,at=class extends M{requiredRefs=[`addToCartButton`];#e=[];connectedCallback(){super.connectedCallback(),this.addEventListener(`pointerenter`,this.#t)}disconnectedCallback(){super.disconnectedCallback(),this.#e&&this.#e.forEach(e=>clearTimeout(e)),this.removeEventListener(`pointerenter`,this.#t)}disable(){this.refs.addToCartButton.disabled=!0}enable(){this.refs.addToCartButton.disabled=!1}handleClick(e){if(!this.closest(`form`)?.checkValidity())return;let t=this.closest(`product-form-component`)?.refs.quantitySelector;(!t?.canAddToCart||t.canAddToCart().canAdd)&&this.refs.addToCartButton.dataset.puppet!==`true`&&(this.dataset.addToCartAnimation===`true`&&!e.target.closest(`.quick-add-modal`)&&this.#n(),this.animateAddToCart())}#t=()=>{let e=this.dataset.productVariantMedia;e&&ge(e)};#n(){let{addToCartButton:e}=this.refs,t=document.querySelector(`.header-actions__cart-icon`),n=this.dataset.productVariantMedia;if(!t||!e||!n)return;let r=document.createElement(`fly-to-cart`),i=e.classList.contains(`quick-add__button`)?`fly-to-cart--quick`:`fly-to-cart--main`;r.classList.add(i),r.style.setProperty(`background-image`,`url(${n})`),r.style.setProperty(`--start-opacity`,`0`),r.source=e,r.destination=t,document.body.appendChild(r)}animateAddToCart=async function(){let{addToCartButton:e}=this.refs;this.#e||=[],this.#e.forEach(e=>clearTimeout(e)),this.#e=[],e.dataset.added!==`true`&&(e.dataset.added=`true`),await b(),await T(e);let t=setTimeout(()=>{e.removeAttribute(`data-added`);let n=this.#e.indexOf(t);n>-1&&this.#e.splice(n,1)},800);this.#e.push(t)}};customElements.get(`add-to-cart-component`)||customElements.define(`add-to-cart-component`,at);var ot=class extends M{requiredRefs=[`variantId`,`liveRegion`];#e=new AbortController;#t;#n=!1;#r=0;#i=[];#a=null;connectedCallback(){super.connectedCallback();let{signal:e}=this.#e;this.closest(`.shopify-section, dialog, product-card`)?.addEventListener(h.productSelect,this.#v,{signal:e}),document.addEventListener(h.cartLinesUpdate,this.#l,{signal:e})}disconnectedCallback(){super.disconnectedCallback(),this.#e.abort()}#o(){return this.querySelector(`input[name="id"]`)?.value}async#s(){let e=document.querySelector(`cart-items-component`);
1return e?(await customElements.whenDefined(`cart-items-component`),e.fetchCartData()):fetch(`${Theme.routes.cart_url}.json`,{headers:{Accept:`application/json`},credentials:`same-origin`}).then(e=>{if(!e.ok)throw Error(`Failed to fetch cart: ${e.status}`);return e.json()})}#c(e){let t=this.#o();if(!t)return;let n=e.items.find(e=>e.variant_id.toString()===t.toString()),r=n?n.quantity:0,i=this.querySelector(`quantity-selector-component`);i?.setCartQuantity&&i.setCartQuantity(r),this.#m(r)}#l=async e=>{this.#o()&&e.promise?.then(({detail:e})=>{e?.sourceId!==this.id&&e?.source!==`product-form-component`&&(e?.items?this.#c({items:e.items}):this.#s().then(e=>this.#c(e)))}).catch(e=>{e?.name!==`AbortError`&&console.warn(`[product-form] Event promise rejected:`,e)})};handleSubmit(e){if(e.preventDefault(),this.#n){this.#i.push(this.#d()),this.refs.addToCartButtonContainer?.animateAddToCart?.();return}this.#f(void 0,void 0,e)}#u(){return Number(this.refs.quantitySelector?.getValue?.())||Number(this.dataset.quantityDefault)||1}#d(){let e=this.#T(),t=e?.selectedOption;return{quantity:this.#u(),generation:this.#r,intendedVariantId:t?.dataset.variantId??null,pendingVariantChange:this.#a,variantResolutionUrl:e&&t?e.buildRequestUrl(t):null}}#f(e,t,n){let{addToCartTextError:r}=this.refs;this.#t&&clearTimeout(this.#t);let i=this.querySelectorAll(`add-to-cart-component`);if(!e&&Array.from(i).some(e=>e.refs.addToCartButton?.disabled))return;let a=this.querySelector(`form`);if(!a)throw Error(`Product form element missing`);if(!e&&this.refs.quantitySelector?.canAddToCart){let e=this.refs.quantitySelector.canAddToCart();if(!e.canAdd){for(let e of i)e.disable();let t=(this.dataset.quantityErrorMax||``).replace(`{{ maximum }}`,e.maxQuantity?.toString()||``);if(r){r.classList.remove(`tw:hidden`);let e=r.childNodes[2];if(e)e.textContent=t;else{let e=document.createTextNode(t);r.appendChild(e)}this.#h(t),this.#t&&clearTimeout(this.#t),this.#t=setTimeout(()=>{r&&(r.classList.add(`tw:hidden`),this.#g())},nt)}setTimeout(()=>{for(let e of i)e.enable()},rt);return}}setTimeout(()=>{document.dispatchEvent(new CustomEvent(`sidecart:open`))},200);let o=new FormData(a);e&&o.set(`id`,e),t!==void 0&&o.set(`quantity`,t.toString());let s=document.querySelectorAll(`cart-items-component`),c=[];s.forEach(e=>{e instanceof HTMLElement&&e.dataset.sectionId&&c.push(e.dataset.sectionId),o.append(`sections`,c.join(`,`))});let l=Number(o.get(`quantity`))||Number(this.dataset.quantityDefault),f=d.createPromise();this.dispatchEvent(new d({action:`add`,context:`product`,lines:[{merchandiseId:o.get(`id`),quantity:l}],promise:f.promise}));let p=ae(`javascript`,{body:o});fetch(Theme.routes.cart_add_url,{...p,headers:{...p.headers,Accept:`text/html`}}).then(e=>e.json()).then(async e=>{if(e.status){if(this.dispatchEvent(new u({error:e.message||`Add to cart failed`,code:`INVALID`,detail:{description:e.description,errors:e.errors}})),this.#s().then(e=>f.resolve({cart:d.createCartFromAjaxResponse(e),detail:{didError:!0,items:e.items,source:`product-form-component`,sourceId:this.id.toString(),itemCount:l,productId:this.dataset.productId}})).catch(f.reject),!r)return;r.classList.remove(`tw:hidden`);let t=r.childNodes[2];if(t)t.textContent=e.message;else{let t=document.createTextNode(e.message);r.appendChild(t)}this.#h(e.message),this.#t=setTimeout(()=>{r&&(r.classList.add(`tw:hidden`),this.#g())},nt);return}{let t=o.get(`id`);if(r&&(r.classList.add(`tw:hidden`),r.removeAttribute(`aria-live`)),!t)throw Error(`Form ID is required`);let n=i[0]?.refs.addToCartButton;if(n){let e=n.querySelector(`.add-to-cart-text--added`)?.textContent?.trim()||Theme.translations.added;this.#h(e),setTimeout(()=>{this.#g()},it)}await this.#s().then(t=>(f.resolve({cart:d.createCartFromAjaxResponse(t),detail:{items:t.items,source:`product-form-component`,sourceId:this.id.toString(),itemCount:l,productId:this.dataset.productId,sections:e.sections,didError:!1}}),this.#o()&&this.#c(t),t)).catch(f.reject)}}).catch(e=>{console.error(e),f.reject(e),this.dispatchEvent(new u({error:e?.message||`Network error during add to cart`,code:`SERVICE_UNAVAILABLE`}))}).finally(()=>{n&&L.measureFromEvent(`add:user-action`,n)})}#p(e){if(e.length===0)return;let{addToCartTextError:t}=this.refs;this.#t&&clearTimeout(this.#t);let n=document.querySelectorAll(`cart-items-component`),r=[];for(let e of n)e instanceof HTMLElement&&e.dataset.sectionId&&r.push(e.dataset.sectionId);let i=e.reduce((e,t)=>
1e+t.quantity,0),a=d.createPromise();this.dispatchEvent(new d({action:`add`,context:`product`,lines:e.map(e=>({merchandiseId:e.variantId,quantity:e.quantity})),promise:a.promise}));let o={items:e.map(e=>({id:Number(e.variantId),quantity:e.quantity})),sections:r.join(`,`)};fetch(Theme.routes.cart_add_url,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify(o)}).then(e=>e.json()).then(async e=>{if(e.status){if(this.dispatchEvent(new u({error:e.message||`Add to cart failed`,code:`INVALID`,detail:{description:e.description,errors:e.errors}})),this.#s().then(e=>a.resolve({cart:d.createCartFromAjaxResponse(e),detail:{didError:!0,items:e.items,source:`product-form-component`,sourceId:this.id.toString(),itemCount:i,productId:this.dataset.productId}})).catch(a.reject),!t)return;t.classList.remove(`tw:hidden`);let n=t.childNodes[2];n?n.textContent=e.message:t.appendChild(document.createTextNode(e.message)),this.#h(e.message),this.#t=setTimeout(()=>{t.classList.add(`tw:hidden`),this.#g()},nt);return}t&&(t.classList.add(`tw:hidden`),t.removeAttribute(`aria-live`));let n=this.querySelectorAll(`add-to-cart-component`)[0]?.refs.addToCartButton;if(n){let e=n.querySelector(`.add-to-cart-text--added`)?.textContent?.trim()||Theme.translations.added;this.#h(e),setTimeout(()=>this.#g(),it)}let r=await this.#s();a.resolve({cart:d.createCartFromAjaxResponse(r),detail:{items:r.items,source:`product-form-component`,sourceId:this.id.toString(),itemCount:i,productId:this.dataset.productId,sections:e.sections,didError:!1}}),this.#c(r)}).catch(e=>{console.error(e),a.reject(e),this.dispatchEvent(new u({error:e?.message||`Network error during add to cart`,code:`SERVICE_UNAVAILABLE`}))})}#m(e){let t=this.refs.quantityLabelCartCount;if(t){let n=t.textContent?.match(/\((\d+)\s+(.+)\)/);n&&n[2]&&(t.textContent=`(${e} ${n[2]})`),t.classList.toggle(`tw:hidden`,e===0)}}#h(e){let t=this.refs.liveRegion;t.textContent=e}#g(){let e=this.refs.liveRegion;e.textContent=``}#_(e,t,n=null){e&&t?B(e,t):e&&!t?e.remove():!e&&t&&n&&n.insertAdjacentElement(`beforebegin`,t.cloneNode(!0))}#v=async e=>{let t=e.target?.closest(`product-card`);if(t&&!t.contains(this))return;let n=++this.#r;this.#n=!0,this.#a=e.promise;try{let{detail:t}=await e.promise;if(!t?.html)return;let{html:n,newProduct:r,productId:i,resource:a}=t;if(r)this.dataset.productId=r.id;else if(i&&i!==this.dataset.productId)return;let{variantId:o}=this.refs;o.value=a?.id??``;let{addToCartButtonContainer:s,acceleratedCheckoutButtonContainer:c}=this.refs,l=s?.refs.addToCartButton;if(!s||!l&&!c)return;if(a==null||a.available==0?s.disable():s.enable(),n.querySelector(`product-form-component [ref="addToCartButton"]`),c&&(a==null||a.available==0?c?.setAttribute(`hidden`,`true`):c?.removeAttribute(`hidden`)),a){let e=a.featured_media?.preview_image?.src;e&&this.refs.addToCartButtonContainer?.setAttribute(`data-product-variant-media`,e+`&width=100`)}let{quantityRules:u,pricePerItem:d,quantitySelector:f,productFormButtons:p,quantityLabel:m,quantitySelectorWrapper:h}=this.refs,g=n.querySelector(`quantity-selector-component input[ref="quantityInput"]`);f?.updateConstraints&&g&&(f.updateConstraints(g.min,g.max||null,g.step),this.dataset.quantityDefault=g.min||`1`);let _=n.querySelector(`.quantity-rules`),v=!!u!=!!_,y=n.querySelector(`price-per-item`);if((v||!!d!=!!y)&&f){let e=f.getValue?.(),t=n.querySelector(`.product-form-buttons`);if(p&&t){B(p,t);let r=n.querySelector(`quantity-selector-component input[ref="quantityInput"]`);this.refs.quantitySelector?.updateConstraints&&r&&e&&(this.refs.quantitySelector.setValue(e),this.refs.quantitySelector.updateConstraints(r.min,r.max||null,r.step),this.dataset.quantityDefault=r.min||`1`)}}else{let e=[[`.quantity-label`,m,f],[`.quantity-rules`,u,this.refs.productFormButtons],[`price-per-item`,d,h]];for(let[t,r,i]of e)this.#_(r,n.querySelector(t),i)}let b=this.refs.volumePricing,ee=n.querySelector(`volume-pricing`);if(this.#_(b,ee,this.refs.productFormButtons),!(u||_||d||y||b||ee))return;this.#s().then(e=>this.#c(e))}finally{n===this.#r&&(this.#n=!1,await this.#y())}};async#y(){if(this.#i.length===0)return;let e=[...this.#i];this.#i=[];let t=[];for(let n of e){let e=await this.#b(n);e&&t.push(e)}this.#p(t)}async#b(e){let{variantId:t,quantityConstraints:n}=await this.#x(e);return t?{variantId:t,quantity:this.#S(e.quantity,n)}:null}async#x(e){let t=null,n,r=null;if(e.pendingVariantChange)try{let i=await e.pendingVariantChange,a=i?.detail?.resource;r=this.#C(i?.detail?.html),a===null?n=!1:a&&(t=a.id==null?null:String(a.id),n=a.available!==!1)}
1catch{let i=await this.#w(e.variantResolutionUrl).catch(()=>({variantId:null,available:!1,quantityConstraints:null}));t=i.variantId,n=i.available,r=i.quantityConstraints}let i=e.generation===this.#r;return{variantId:et({resolvedVariantId:t,intendedVariantId:e.intendedVariantId,hiddenInputValue:i?this.#o()??null:null,available:n??(i?!this.#E():void 0)}),quantityConstraints:r}}#S(e,t){if(!t)return e;let n=j(t.min,1),r=j(t.max,null),i=j(t.step,1),a=j(t.cartQuantity,0),o=r===null?null:Math.max(r-a,n),s=e;return(e-n)%i!==0&&(s=n+Math.floor((e-n)/i)*i),Math.max(n,Math.min(o??1/0,s))}#C(e){let t=e?.querySelector?.(`quantity-selector-component input[ref="quantityInput"]`)??null;return t?{min:t.min,max:t.max||null,step:t.step,cartQuantity:t.getAttribute(`data-cart-quantity`)}:null}async#w(e){if(!e)return{variantId:null,available:void 0,quantityConstraints:null};let t=await fetch(e,{credentials:`same-origin`});if(!t.ok)return{variantId:null,available:!1,quantityConstraints:null};let n=new DOMParser().parseFromString(await t.text(),`text/html`),r=this.#C(n),i=n.querySelector(`variant-picker script[type="application/json"]`)?.textContent;if(!i)return{variantId:null,available:!1,quantityConstraints:r};let a=JSON.parse(i);return!a||typeof a!=`object`?{variantId:null,available:!1,quantityConstraints:r}:{variantId:a.id==null?null:String(a.id),available:a.available!==!1,quantityConstraints:r}}#T(){let e=this.closest(`product-card`)??this.closest(`dialog`)??this.closest(`.shopify-section`),t=Array.from(e?.querySelectorAll(`variant-picker, swatches-variant-picker-component`)??[]),n=this.dataset.productId;if(n){let e=t.find(e=>e.dataset.productId===n);if(e)return e}return t.length===1?t[0]??null:null}#E(){let e=this.querySelectorAll(`add-to-cart-component`);return Array.from(e).some(e=>e.refs.addToCartButton?.disabled)}};customElements.get(`product-form-component`)||customElements.define(`product-form-component`,ot);var st=class extends HTMLElement{#e=null;connectedCallback(){this.addEventListener(`scroll`,this.#t),this.#r.observe(this)}disconnectedCallback(){this.removeEventListener(`scroll`,this.#t),this.#r.disconnect(),this.#e!==null&&(cancelAnimationFrame(this.#e),this.#e=null)}#t=()=>{this.#e===null&&(this.#e=requestAnimationFrame(()=>{this.#e=null,this.#n()}))};#n=()=>{let{scrollTop:e,scrollHeight:t,clientHeight:n,scrollLeft:r,scrollWidth:i,clientWidth:a}=this,o=i>a?`horizontal`:`vertical`,s=o===`vertical`?e/(t-n):r/(i-a);this.style.maskImage=Number.isNaN(s)?``:`linear-gradient( 2 to ${o===`vertical`?`bottom`:`right`}, 3 transparent ${+(s>0)}%, 4 black ${s<.1?s*100:10}%, 5 black ${s>.9?s*100:90}%, 6 transparent 100% 7 )`};#r=new ResizeObserver(this.#n)};customElements.get(`scroll-hint`)||customElements.define(`scroll-hint`,st);var ct=class extends Event{constructor(e){super(`overflowMinimum`,{bubbles:!0}),this.detail={minimumReached:e}}},lt=class extends Ce{static get observedAttributes(){return[`disabled`,`minimum-items`]}attributeChangedCallback(e,t,n){e===`disabled`&&(n===`true`?this.#o():this.#c())}async connectedCallback(){super.connectedCallback(),await this.#e(),this.#t()}#e(){let e=this.shadowRoot?.querySelector(`link[rel="stylesheet"]`);return!e||e.sheet?Promise.resolve():new Promise(t=>{e.addEventListener(`load`,t)})}#t(){let{shadowRoot:e}=this;if(!e)throw Error(`Missing shadow root`);let t=e.querySelector(`slot:not([name])`),n=e.querySelector(`slot[name="overflow"]`),r=e.querySelector(`slot[name="more"]`),i=e.querySelector(`[part="overflow"]`),a=e.querySelector(`[part="list"]`),o=e.querySelector(`[part="placeholder"]`);if(!(t instanceof HTMLSlotElement)||!(n instanceof HTMLSlotElement)||!(r instanceof HTMLSlotElement)||!(i instanceof HTMLElement)||!(a instanceof HTMLUListElement)||!(o instanceof HTMLLIElement))throw Error(`Invalid element types in <OverflowList />`);this.#d={defaultSlot:t,overflowSlot:n,moreSlot:r,overflow:i,list:a,placeholder:o},this.addEventListener(`reflow`,e=>{this.#c(0,e.detail.lastVisibleElement)});let s=t.assignedElements().filter(e=>!(e instanceof HTMLTemplateElement)),c=s[0],l=s[s.length-1];c&&this.#m.observe(c),l&&l!==c&&this.#m.observe(l)}disconnectedCallback(){this.#f.disconnect(),this.#p.disconnect(),this.#m.disconnect()}get schedule(){return typeof Theme?.utilities?.scheduler?.schedule==`function`?Theme.utilities.scheduler.schedule:e=>requestAnimationFrame(()=>setTimeout(e,0))}#n=!1;get minimumItems(){let e=this.getAttribute(`minimum-items`);return e?parseInt(e,10):null}get overflowSlot(){let{overflowSlot:e}=this.#d;return e}get defaultSlot(){let{defaultSlot:e}=this.#d;return e}#r=e=>{let t=e[0];t?.isIntersecting&&(this.#m.disconnect(),setTimeout(()=>{this.querySelector(`:scope > template[shadowrootmode="open"]`)?.remove(),this.#c(t.boundingClientRect.height)},0))};#i=()=>{this.#n||(this.#n=!0,requestAnimationFrame(()=>setTimeout(()=>{this.#c(),this.#n=!1},0)))};#a(){let{defaultSlot:e,overflowSlot:t}=this.#d;for(let n of t.assignedElements())n.slot!==e.name&&(n.slot=e.name)}
7#o(){let{list:e}=this.#d;this.#u(),this.#a(),e.style.removeProperty(`height`),this.style.setProperty(`--overflow-count`,`0`)}#s(e){if(this.minimumItems!==null){let t=e.length<this.minimumItems;t?this.setAttribute(`minimum-reached`,``):this.removeAttribute(`minimum-reached`),this.dispatchEvent(new ct(t))}}showAll(){let{placeholder:e}=this.#d;e.style.setProperty(`width`,`0`),e.style.setProperty(`display`,`none`),this.setAttribute(`disabled`,`true`)}#c=(e=0,t=null)=>{let{defaultSlot:n,overflowSlot:r,moreSlot:i,list:a,placeholder:o}=this.#d;this.#u(),this.#a();let s=n.assignedElements();if(!s[s.length-1]){this.#l();return}let c=[],l=[],u=0,d=!1;e>0&&a.style.setProperty(`height`,`${e}px`),a.style.setProperty(`flex-wrap`,`wrap`),o.hidden=!0,i.style.setProperty(`order`,`-1`),i.hidden=!1,t?.style.setProperty(`order`,`-1`);let f=i.getBoundingClientRect();s.forEach(e=>{let t=e.getBoundingClientRect();t.top>f.top?(l.length||(u=t.width),d=!0,l.push(e)):c.push(e)}),d&&i.style.removeProperty(`order`),t?.style.removeProperty(`order`);for(let e of s){let t=l.includes(e)?r.name:n.name;e.slot!==t&&(e.slot=t)}a.style.setProperty(`counter-reset`,`overflow-count ${l.length}`),this.style.setProperty(`--overflow-count`,`${l.length}`),i.hidden=!d,d&&(o.style.width=`${u}px`,o.hidden=!1),a.style.setProperty(`overflow`,`unset`),d&&this.#s(c),this.#l()};#l(){this.#f.observe(this),this.#p.observe(this,{childList:!0})}#u(){this.#f.disconnect(),this.#p.disconnect()}#d;#f=new xe(this.#i);#p=new MutationObserver(this.#i);#m=new IntersectionObserver(this.#r,{rootMargin:`640px 360px 640px 360px`})};customElements.get(`overflow-list`)||customElements.define(`overflow-list`,lt);var ut=class extends M{#e;#t;#n=[];#r=[];#i=new xe(()=>this.updateVariantPickerCss());connectedCallback(){super.connectedCallback(),(this.refs.fieldsets||[]).forEach(e=>{let t=Array.from(e?.querySelectorAll(`input`)??[]);this.#r.push(t);let n=t.findIndex(e=>e.dataset.currentChecked===`true`);n!==-1&&this.#n.push([n])}),this.addEventListener(`change`,this.variantChanged.bind(this)),this.#i.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this.#i.disconnect()}variantChanged(e){if(!(e.target instanceof HTMLElement))return;let t=e.target instanceof HTMLSelectElement?e.target.options[e.target.selectedIndex]:e.target;if(!t)return;this.updateSelectedOption(e.target);let n=this.dataset.templateProductMatch===`true`&&!e.target.closest(`product-card`)&&!e.target.closest(`quick-add-dialog`),r=this.dataset.productUrl?.split(`?`)[0],i=t.dataset.connectedProductUrl,a=n&&!!i&&i!==r,o=!!this.closest(`featured-product-information`),s=a?`main`:o?`featured-product-information`:void 0,{optionValueId:c=``,variantId:l=``,connectedProductUrl:u=``}=t.dataset;this.fetchUpdatedSection(this.buildRequestUrl(t),{morphElementSelector:s,detail:{optionValueId:c,variantId:l,connectedProductUrl:u}});let d=new URL(window.location.href);n&&(l?d.searchParams.set(`variant`,l):d.searchParams.delete(`variant`)),a&&(d.pathname=i),d.href!==window.location.href&&b().then(()=>{history.replaceState({},``,d.toString())})}#a(e){let t=(this.refs.fieldsets||[])[e],n=this.#n[e],r=this.#r[e];if(!r||!n||!t)return null;let[i,a]=n;return{fieldset:t,currentIndex:i,previousIndex:a,currentWidth:i===void 0?void 0:r[i]?.parentElement?.offsetWidth,previousWidth:a===void 0?void 0:r[a]?.parentElement?.offsetWidth}}#o({fieldset:e,currentWidth:t,previousWidth:n,currentIndex:r,previousIndex:i}){t?e.style.setProperty(`--pill-width-current`,`${t}px`):r!==void 0&&e.style.removeProperty(`--pill-width-current`),n?e.style.setProperty(`--pill-width-previous`,`${n}px`):i!==void 0&&e.style.removeProperty(`--pill-width-previous`)}updateFieldsetCss(e){if(Number.isNaN(e))return;let t=this.#a(e);t&&this.#o(t)}updateSelectedOption(e){if(typeof e==`string`){let t=this.querySelector(`[data-option-value-id="${e}"]`);if(!t)throw Error(`Target element not found`);e=t}if(e instanceof HTMLInputElement){let t=Number.parseInt(e.dataset.fieldsetIndex||``),n=Number.parseInt(e.dataset.inputIndex||``);if(!Number.isNaN(t)&&!Number.isNaN(n)){let e=(this.refs.fieldsets||[])[t],r=this.#n[t],i=this.#r[t];if(i&&r&&e){let[e,a]=r;e!==void 0&&i[e]&&(i[e].dataset.previousChecked=`false`),a!==void 0&&i[a]&&(i[a].dataset.previousChecked=`false`),r.unshift(n),r.length=Math.min(r.length,2);let o=r[0],s=r[1];o!==void 0&&i[o]&&(i[o].dataset.currentChecked=`true`),s!==void 0&&i[s]&&(i[s].dataset.previousChecked=`true`,i[s].dataset.currentChecked=`false`),this.updateFieldsetCss(t)}}e.checked=!0}if(e instanceof HTMLSelectElement){let t=e.value,n=Array.from(e.options).find(e=>e.value===t);if(!n)throw Error(`Option not found`);for(let t of e.options)t.removeAttribute(`selected`);n.setAttribute(`selected`,`selected`)}}buildRequestUrl(e,t=null,n=[]){let r=e.dataset.connectedProductUrl||this.#e||this.dataset.productUrl;this.#e=r;let i=[],a=ye();a&&i.push(`view=${a}`),this.selectedOptionsValues.length&&!t?i.push(`option_values=${this.selectedOptionsValues.join(`,`)}`):t===`product-card`&&(this.selectedOptionsValues.length?i.push(`option_values=${n.join(`,`)}`):i.push(`option_values=${e.dataset.optionValueId}`));let o={"quick-add-component":`section-rendering-product-card`,"swatches-variant-picker-component":`section-rendering-product-card`,"featured-product-information":this.closest(`featured-product-information`)?.id},s=Object.keys(o).find(e=>this.closest(e));return s?(r?.includes(`?`)&&(r=r.split(`?`)[0]),`${r}?section_id=${o[s]}&${i.join(`&`)}`):`${r}?${i.join(`&`)}`}
7fetchUpdatedSection(e,{morphElementSelector:t,detail:n={}}={}){let{optionValueId:r=``,variantId:i,connectedProductUrl:a=``}=n;this.#t?.abort(),this.#t=new AbortController;let o=p.createPromise(),s=this.getAllSelectedOptions();this.dispatchEvent(new p({product:{id:this.dataset.productId??``,title:this.dataset.productTitle??``,handle:this.dataset.productHandle??``},selectedOptions:s,detail:{optionValueId:r,variantId:i,connectedProductUrl:a},promise:o.promise})),fetch(e,{signal:this.#t.signal}).then(e=>e.text()).then(e=>{this.#e=void 0;let n=new DOMParser().parseFromString(e,`text/html`);n.querySelector(`overflow-list[defer]`)?.removeAttribute(`defer`);let r=n.querySelector(`variant-picker script[type="application/json"]`),i=r?.textContent;if(!i){o.resolve({variant:null,detail:{html:n,productId:this.dataset.productId??``,sourceId:this.selectedOptionId,resource:null}});return}let a;if(t===`main`)this.updateMain(n);else if(t)this.updateElement(n,t);else{let{overflowList:e}=this.refs,t=e instanceof lt&&e.getAttribute(`disabled`)===`true`;if(a=this.updateVariantPicker(n),t){let t=e;t instanceof lt&&t.showAll()}}if(this.selectedOptionId){let e=JSON.parse(i);if(e&&typeof e==`object`){let t=r?.closest(`[view-event-payload]`)?.getAttribute(`view-event-payload`)?.trim();o.resolve({variant:(t&&JSON.parse(t))?.product?.selectedVariant??null,detail:{html:n,productId:this.dataset.productId??``,newProduct:a,sourceId:this.selectedOptionId,resource:e}});return}}o.resolve({variant:null,detail:{html:n,productId:this.dataset.productId??``,newProduct:a,sourceId:this.selectedOptionId,resource:null}})}).catch(e=>{o.reject(e),e.name===`AbortError`?console.warn(`Fetch aborted by user`):console.error(e)})}updateVariantPicker(e){let t,n=e.querySelector(this.tagName.toLowerCase());if(!n)throw Error(`No new variant picker source found`);if(n instanceof HTMLElement){let e=n.dataset.productId,r=n.dataset.productUrl;e&&r&&this.dataset.productId!==e&&(t={id:e,url:r}),this.dataset.productId=e,this.dataset.productUrl=r}return B(this,n,{...z,getNodeKey:e=>{if(e instanceof HTMLElement)return e.dataset.key}}),this.updateVariantPickerCss(),t}updateVariantPickerCss(){let e=(this.refs.fieldsets||[]).map((e,t)=>this.#a(t)).filter(e=>e!==null);for(let t of e)this.#o(t)}updateElement(e,t){let n=this.closest(t),r=e.querySelector(t);if(!n||!r)throw Error(`No new element source found for ${t}`);B(n,r)}updateMain(e){let t=document.querySelector(`main`),n=e.querySelector(`main`);if(!t||!n)throw Error(`No new main source found`);B(t,n)}get selectedOption(){let e=this.querySelector(`select option[selected], fieldset input:checked`);if(e instanceof HTMLInputElement||e instanceof HTMLOptionElement)return e}getAllSelectedOptions(){let e=[];for(let t of this.querySelectorAll(`select`)){let n=t.selectedOptions[0];n?.dataset?.optionName&&e.push({name:n.dataset.optionName,value:n.value})}let t=this.querySelectorAll(`fieldset input:checked`);for(let n of t)n.dataset?.optionName&&e.push({name:n.dataset.optionName,value:n.value});return e}get selectedOptionId(){let{selectedOption:e}=this;if(!e)return;let{optionValueId:t}=e.dataset;if(!t)throw Error(`No option value ID found`);return t}get selectedOptionsValues(){return Array.from(this.querySelectorAll(`select option[selected], fieldset input:checked`)).map(e=>{let{optionValueId:t}=e.dataset;if(!t)throw Error(`No option value ID found`);return t})}};customElements.get(`variant-picker`)||customElements.define(`variant-picker`,ut);var dt=class{#e=new Map;#t=new Map;#n=new Map;#r=new Map;constructor(){window.addEventListener(`load`,this.#o.bind(this))}async renderSection(e,t){let{cache:n=!Shopify.designMode,mode:r=`full`,injectStylesheet:i=!1}=t??{},{url:a}=t??{};this.#a(e);let o=new AbortController;this.#t.set(e,o);let s=this.#i(e,{cache:n,mode:r,injectStylesheet:i,url:a},o);return this.#n.set(e,{abortController:o,promise:s}),s}async#i(e,{cache:t,mode:n,injectStylesheet:r,url:i},a){let o=``;
7try{o=await this.getSectionHTML(e,t,i,a.signal)}catch(t){if(a.signal.aborted){let t=this.#n.get(e);return t&&t.abortController!==a?t.promise:o}throw t}finally{this.#t.get(e)===a&&this.#t.delete(e),this.#n.get(e)?.abortController===a&&this.#n.delete(e)}return a.signal.aborted||U(e,o,{mode:n,injectStylesheet:r}),o}#a(e){let t=this.#t.get(e);t&&(t.abort(),this.#t.delete(e))}async getSectionHTML(e,t=!0,n=new URL(window.location.href),r){let i=pt(e,n),a=!r,o=this.#r.get(i);if(o)return o;if(t){let e=this.#e.get(i);if(e)return e}o=fetch(i,{signal:r}).then(e=>e.text()),a&&(o=o.finally(()=>{this.#r.delete(i)}),this.#r.set(i,o));let s=await o;return this.#e.set(i,s),s}#o(){for(let e of document.querySelectorAll(`.shopify-section`)){let t=pt(e.id);if(this.#e.get(t)||gt(e))return;this.#e.set(t,e.outerHTML)}}},ft=`shopify-section-`;function pt(e,t=new URL(window.location.href)){return t.searchParams.set(`section_id`,ht(e)),t.searchParams.sort(),t.toString()}function mt(e){return`${ft}${e}`}function ht(e){return e.replace(RegExp(`^${ft}`),``)}function gt(e){return!!e.shadowRoot||Array.from(e.children).some(gt)}async function U(e,t,n={}){let{mode:r=`full`,injectStylesheet:i=!1}=n,a=new DOMParser().parseFromString(t,`text/html`),o=document.getElementById(mt(e)),s=a.getElementById(mt(e));if(!o)throw Error(`Section ${e} not found`);if(!s)throw Error(`Section ${e} not found in the section rendering response`);B(o,s,{...z,hydrationMode:r===`hydration`}),i&&_t(a,o)}function _t(e,t){let n=e.querySelector(`style[data-section-stylesheet]`);if(!n)return;let r=t.querySelector(`style[data-section-stylesheet]`);r?r.textContent=n.textContent:t.prepend(n)}var W=new dt,G=class{static mediaStartedPlaying=`media:started-playing`;static quantitySelectorUpdate=`quantity-selector:update`;static megaMenuHover=`megaMenu:hover`;static zoomMediaSelected=`zoom-media:selected`},vt=class extends Event{constructor(e,t){super(G.quantitySelectorUpdate,{bubbles:!0}),this.detail={quantity:e,cartLine:t}}},yt=class extends Event{constructor(e){super(G.mediaStartedPlaying,{bubbles:!0}),this.detail={resource:e}}},bt=class extends Event{constructor(){super(G.megaMenuHover,{bubbles:!0})}},xt=class extends g(M){#e=S(e=>{e instanceof vt&&this.#a(e)},300);#t=null;#n(e){return!(e.target instanceof Node)||!this.contains(e.target)}#r=e=>{let t=this.#n(e);e.promise?.then(({detail:e})=>{let n=e?.sections?.[this.sectionId];n?(U(this.sectionId,n,{mode:this.isDrawer?`hydration`:`full`}),this.#d()):t&&W.renderSection(this.sectionId,{cache:!1,mode:this.isDrawer?`hydration`:`full`})}).catch(e=>{e?.name!==`AbortError`&&console.warn(`[cart-items] Event promise rejected:`,e)})};#i=e=>{this.#n(e)&&e.promise?.then(({detail:e})=>{let t=e?.sections?.[this.sectionId];t?U(this.sectionId,t,{mode:this.isDrawer?`hydration`:`full`}
7):W.renderSection(this.sectionId,{cache:!1,mode:this.isDrawer?`hydration`:`full`})}).catch(e=>{e?.name!==`AbortError`&&console.warn(`[cart-items] Event promise rejected:`,e)})};connectedCallback(){super.connectedCallback(),document.addEventListener(h.cartLinesUpdate,this.#s),document.addEventListener(G.quantitySelectorUpdate,this.#e),document.addEventListener(h.cartDiscountUpdate,this.#r),document.addEventListener(h.cartNoteUpdate,this.#i)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(h.cartLinesUpdate,this.#s),document.removeEventListener(G.quantitySelectorUpdate,this.#e),document.removeEventListener(h.cartDiscountUpdate,this.#r),document.removeEventListener(h.cartNoteUpdate,this.#i)}#a(e){if(!(e.target instanceof Node)||!this.contains(e.target))return;let{quantity:t,cartLine:n}=e.detail;if(!n)return;if(t===0)return this.onLineItemRemove(n);this.updateQuantity({line:n,quantity:t,action:`change`});let r=this.refs.cartItemRows[n-1];r&&r.querySelector(`text-component`)?.shimmer()}onLineItemRemove(e){this.updateQuantity({line:e,quantity:0,action:`clear`});let t=this.refs.cartItemRows[e-1];if(!t)return;let n=[t,...this.refs.cartItemRows.filter(e=>e.dataset.parentKey===t.dataset.key)],r=n.length==this.refs.cartItemRows.length,i=document.getElementById(`empty-cart-template`);if(r&&i instanceof HTMLTemplateElement){let e=document.importNode(i.content,!0);ie(()=>{document.getElementById(`cart-drawer-heading`)?.remove(),this.replaceChildren(e)},[this.isDrawer?`empty-cart-drawer`:`empty-cart-page`]);return}n.forEach(e=>{let t=()=>e.remove();if(C())return t();e.style.setProperty(`--row-height`,`${e.clientHeight}px`),e.classList.add(`removing`),T(e,t)})}updateQuantity(e){let t=L.createStartingMarker(`${e.action}:user-action`);this.#c();let{line:n,quantity:r}=e,{cartTotal:i,cartTotal2:a}=this.refs,o=document.querySelectorAll(`cart-items-component`),s=new Set([this.sectionId]);o.forEach(e=>{e instanceof HTMLElement&&e.dataset.sectionId&&s.add(e.dataset.sectionId)});let c=JSON.stringify({line:n,quantity:r,sections:Array.from(s).join(`,`),sections_url:window.location.pathname});i?.shimmer(),a?.shimmer();let l=d.createPromise(),f=this.refs.cartItemRows[n-1]?.dataset.key??``;this.dispatchEvent(new d({action:e.action===`change`&&r>0?`update`:`remove`,context:`cart`,lines:[{id:f,quantity:r}],promise:l.promise})),fetch(`${Theme.routes.cart_change_url}`,ae(`json`,{body:c})).then(e=>e.text()).then(e=>{let t=JSON.parse(e);if(ve(this),t.errors){this.#o(n,t),l.reject(Error(t.errors));return}let r=new DOMParser().parseFromString(t.sections[this.sectionId],`text/html`).querySelector(`[ref="cartItemCount"]`)?.textContent,i=r?parseInt(r,10):0;this.#u(t),l.resolve({cart:d.createCartFromAjaxResponse(t),detail:{sections:t.sections,items:t.items,itemCount:i,source:`cart-items-component`,didError:!1}}),U(this.sectionId,t.sections[this.sectionId],{mode:this.isDrawer?`hydration`:`full`}),this.#d()}).catch(e=>{console.error(e),l.reject(e),this.dispatchEvent(new u({error:e?.message||`Failed to update cart`,code:`SERVICE_UNAVAILABLE`}))}).finally(()=>{this.#l(),L.measureFromMarker(t)})}#o=(e,t)=>{let n=this.refs.quantitySelectors[e-1]?.querySelector(`input`);if(!n)throw Error(`Quantity input not found`);n.value=n.defaultValue;let r=this.refs[`cartItemError-${e}`],i=this.refs[`cartItemErrorContainer-${e}`];if(!(r instanceof HTMLElement))throw Error(`Cart item error not found`);if(!(i instanceof HTMLElement))throw Error(`Cart item error container not found`);r.textContent=t.errors,i.classList.remove(`tw:hidden`),this.dispatchEvent(new u({error:t.errors||`Cart update failed`,code:`INVALID`}))};#s=e=>{e.target!==this&&e.promise?.then(async({detail:e})=>{let t=e?.sections?.[this.sectionId],n=this.isDrawer&&this.querySelector(`[data-cart-drawer-empty]`)!==null,r={mode:this.isDrawer?`hydration`:`full`,injectStylesheet:n};if(t){let e=new Set(this.refs.cartItemRows?.map(e=>e.dataset.key)??[]);if(n?ie(()=>{U(this.sectionId,t,r)},[`fill-cart-drawer`]):await U(this.sectionId,t,r),!n&&!C())for(let t of this.refs.cartItemRows??[])e.has(t.dataset.key)||(t.classList.add(`adding`),T(t,()=>t.classList.remove(`adding`)));this.#d()}else W.renderSection(this.sectionId,{cache:!1,...r})}).catch(e=>{e?.name!==`AbortError`&&console.warn(`[cart-items] Event promise rejected:`,e)})};#c(){this.classList.add(`tw:pointer-events-none`)}#l(){this.classList.remove(`tw:pointer-events-none`)}#u(e){if(e.items)for(let t of e.items){let e=t.variant_id.toString(),n=document.querySelectorAll(`quantity-selector-component[data-variant-id="${e}"]`);for(let e of n){let n=e.querySelector(`input[data-cart-quantity]`);n&&(n.setAttribute(`data-cart-quantity`,t.quantity.toString()),`updateCartQuantity`in e&&typeof e.updateCartQuantity==`function`&&e.updateCartQuantity())}}}#d(){for(let e of document.querySelectorAll(`cart-quantity-selector-component`))e.updateButtonStates?.()}async fetchCartData(){return this.#t||=(async()=>{let e=await fetch(`${Theme.routes.cart_url}.json`,{headers:{Accept:`application/json`},credentials:`same-origin`});if(!e.ok)throw Error(`Failed to fetch cart: ${e.status} ${e.statusText}`);return await e.json()})().finally(()=>{this.#t=null}),this.#t}get sectionId(){let{sectionId:e}=this.dataset;if(!e)throw Error(`Section id missing`);return e}get isDrawer(){return this.dataset.drawer!==void 0}};customElements.get(`cart-items-component`)||customElements.define(`cart-items-component`,xt);var St=class extends M{requiredRefs=[`quantityInput`,`minusButton`,`plusButton`];serverDisabledMinus=!1;serverDisabledPlus=!1;initialized=!1;connectedCallback(){super.connectedCallback();let{minusButton:e,plusButton:t}=this.refs;e.disabled&&(this.serverDisabledMinus=!0),t.disabled&&(this.serverDisabledPlus=!0),this.initialized=!0,this.updateButtonStates()}disconnectedCallback(){super.disconnectedCallback()}setCartQuantity(e){this.refs.quantityInput.setAttribute(`data-cart-quantity`,e.toString()),this.updateCartQuantity()}canAddToCart(){let{max:e,cartQuantity:t,value:n}=this.getCurrentValues(),r=n;return{canAdd:!(e!==null&&t+r>e),maxQuantity:e,cartQuantity:t,quantityToAdd:r}}getValue(){return this.refs.quantityInput.value}setValue(e){this.refs.quantityInput.value=e}
7updateConstraints(e,t,n){let{quantityInput:r}=this.refs,i=parseInt(r.value)||0;r.min=e,t?r.max=t:r.removeAttribute(`max`),r.step=n;let a=j(e,1),o=j(n,1),s=this.getEffectiveMax(),c=i;(i-a)%o!==0&&(c=a+Math.floor((i-a)/o)*o),c=Math.max(a,Math.min(s??1/0,c)),c!==i&&(r.value=c.toString()),this.updateButtonStates()}getCurrentValues(){let{quantityInput:e}=this.refs;return{min:j(e.min,1),max:j(e.max,null),step:j(e.step,1),value:j(e.value,0),cartQuantity:j(e.getAttribute(`data-cart-quantity`),0)}}getEffectiveMax(){let{max:e,cartQuantity:t,min:n}=this.getCurrentValues();return e===null?null:Math.max(e-t,n)}updateButtonStates(){let{minusButton:e,plusButton:t}=this.refs,{min:n,value:r}=this.getCurrentValues(),i=this.getEffectiveMax();this.serverDisabledMinus||(e.disabled=r<=n),this.serverDisabledPlus||(t.disabled=i!==null&&r>=i)}updateQuantity(e){let{quantityInput:t}=this.refs,{min:n,step:r,value:i}=this.getCurrentValues(),a=this.getEffectiveMax();t.value=Math.min(a??1/0,Math.max(n,i+r*e)).toString(),this.onQuantityChange(),this.updateButtonStates()}increaseQuantity(e){e.target instanceof HTMLElement&&(e.preventDefault(),this.updateQuantity(1))}decreaseQuantity(e){e.target instanceof HTMLElement&&(e.preventDefault(),this.updateQuantity(-1))}selectInputValue(e){let{quantityInput:t}=this.refs;e.target instanceof HTMLInputElement&&document.activeElement===t&&(t.setAttribute(`data-skip-value-update`,`true`),t.select())}setQuantity(e){if(!(e.target instanceof HTMLInputElement))return;e.preventDefault();let{quantityInput:t}=this.refs;t.removeAttribute(`data-skip-value-update`);let{min:n,step:r}=this.getCurrentValues(),i=this.getEffectiveMax(),a=Math.min(i??1/0,Math.max(n,parseInt(e.target.value)||0));if((a-n)%r!==0){t.value=a.toString(),t.reportValidity();return}t.value=a.toString(),this.onQuantityChange(),this.updateButtonStates()}onQuantityChange(){let{quantityInput:e}=this.refs,t=parseInt(e.value);this.dispatchEvent(new vt(t,Number(e.dataset.cartLine)||void 0))}updateCartQuantity(){let{quantityInput:e}=this.refs,{min:t,value:n}=this.getCurrentValues(),r=this.getEffectiveMax(),i=Math.min(r??1/0,Math.max(t,n));i!==n&&(e.value=i.toString()),this.updateButtonStates()}get quantityInput(){if(!this.refs.quantityInput)throw Error(`Missing <input ref="quantityInput" /> inside <quantity-selector-component />`);return this.refs.quantityInput}};customElements.get(`quantity-selector-component`)||customElements.define(`quantity-selector-component`,St);var Ct=class extends St{getEffectiveMax(){let{max:e}=this.getCurrentValues();return e}updateButtonStates(){let{minusButton:e,plusButton:t}=this.refs,{min:n,value:r}=this.getCurrentValues(),i=this.getEffectiveMax();e.disabled=r<=n,t.disabled=i!==null&&r>=i}};customElements.get(`cart-quantity-selector-component`)||customElements.define(`cart-quantity-selector-component`,Ct);var wt=class extends M{#e=null;#t=null;#n=null;#r=null;#i=new AbortController;#a=!1;connectedCallback(){super.connectedCallback();let{signal:e}=this.#i;document.addEventListener(h.productSelect,this.#f,{signal:e}),this.#o()}disconnectedCallback(){super.disconnectedCallback(),this.#r?.disconnect(),this.#r=null,this.#i.abort()}#o=()=>{this.#e=document.querySelector(`add-to-cart`),this.#t=document.querySelector(`sticky-add-to-cart`),this.#n=document.querySelector(`header`),this.#e&&this.#t&&this.#n&&(this.#r?.disconnect(),this.#r=new IntersectionObserver(([e])=>{if(e){if(window.scrollY<=300){this.#s(),this.#u();return}e.isIntersecting?(this.#s(),this.#u()):(this.#c(),this.#l())}},{threshold:0}),this.#r.observe(this.#e))};#s=()=>{this.#t&&this.#n&&(this.#t.classList.add(`tw:translate-y-full`,`tw:opacity-0`,`tw:pointer-events-none`),this.#n.classList.remove(`is-hidden`))};#c=()=>{this.#t&&this.#n&&(this.#t.classList.remove(`tw:translate-y-full`,`tw:opacity-0`,`tw:pointer-events-none`),this.#n.classList.add(`is-hidden`))};#l=()=>{this.#a||=(window.addEventListener(`scroll`,this.#d,{passive:!0}),!0)};#u=()=>{this.#a&&=(window.removeEventListener(`scroll`,this.#d),!1)};#d=()=>{if(document.documentElement.scrollHeight-(window.scrollY+window.innerHeight)<300){this.#s();return}this.#c()};#f=e=>{if(!(e.target instanceof Element)||e.target.closest(`product-card`))return;let{optionValueId:t}=e.detail??{};t&&(this.dataset.currentVariantId=t),e.promise.then(({detail:e})=>
7{if(!e?.html)return;let{html:t,productId:n}=e;n&&n!==this.dataset.productId||t.querySelector(`sticky-add-to-cart`)&&this.#o()}).catch(e=>{e?.name!==`AbortError`&&console.warn(`[sticky-add-to-cart] Event promise rejected:`,e)})}};customElements.get(`sticky-add-to-cart`)||customElements.define(`sticky-add-to-cart`,wt);var Tt=class extends M{isPlaying=!1;#e=new AbortController;connectedCallback(){super.connectedCallback();let e=this.#e.signal;document.addEventListener(G.mediaStartedPlaying,this.pauseMedia.bind(this),{signal:e}),window.addEventListener(Le.eventName,this.pauseMedia.bind(this),{signal:e})}disconnectedCallback(){super.disconnectedCallback(),this.#e.abort()}updatePlayPauseHint(e){let t=this.refs.toggleMediaButton;if(t instanceof HTMLElement){t.classList.remove(`hidden`);let n=t.querySelector(`.icon-play`);n&&n.classList.toggle(`hidden`,e);let r=t.querySelector(`.icon-pause`);r&&r.classList.toggle(`hidden`,!e)}}showDeferredMedia=()=>{this.loadContent(!0),this.isPlaying=!0,this.updatePlayPauseHint(this.isPlaying)};loadContent(e=!0){if(this.getAttribute(`data-media-loaded`))return;this.dispatchEvent(new yt(this));let t=this.querySelector(`template`)?.content.firstElementChild?.cloneNode(!0);t&&(this.setAttribute(`data-media-loaded`,`true`),this.appendChild(t),e&&t instanceof HTMLElement&&t.focus(),this.refs.deferredMediaPlayButton?.classList.add(`deferred-media__playing`),t instanceof HTMLVideoElement&&t.getAttribute(`autoplay`)&&t.play())}toggleMedia(){this.isPlaying?this.pauseMedia():this.playMedia()}playMedia(){let e=this.querySelector(`iframe[data-video-type]`);e?e.contentWindow?.postMessage(e.dataset.videoType===`youtube`?`{"event":"command","func":"playVideo","args":""}`:`{"method":"play"}`,`*`):this.querySelector(`video`)?.play(),this.isPlaying=!0,this.updatePlayPauseHint(this.isPlaying)}pauseMedia(){let e=this.querySelector(`iframe[data-video-type]`);e?e.contentWindow?.postMessage(e.dataset.videoType===`youtube`?`{"event":"command","func":"pauseVideo","args":""}`:`{"method":"pause"}`,`*`):this.querySelector(`video`)?.pause(),this.isPlaying=!1,this.getAttribute(`data-media-loaded`)&&this.updatePlayPauseHint(this.isPlaying)}};customElements.get(`deferred-media`)||customElements.define(`deferred-media`,Tt);var Et=class extends Tt{#e=new AbortController;loadContent(){super.loadContent(),Shopify.loadFeatures([{name:`model-viewer-ui`,version:`1.0`,onLoad:this.setupModelViewerUI.bind(this)}])}disconnectedCallback(){super.disconnectedCallback(),this.#e.abort()}pauseMedia(){super.pauseMedia(),this.modelViewerUI?.pause()}playMedia(){super.playMedia(),this.modelViewerUI?.play()}async setupModelViewerUI(e){if(e||(Shopify.ModelViewerUI||await this.#t(),!Shopify.ModelViewerUI))return;let t=this.querySelector(`model-viewer`);if(!t)return;let n=this.#e.signal;if(this.modelViewerUI=new Shopify.ModelViewerUI(t),!this.modelViewerUI)return;this.playMedia();let r=0,i=0;t.addEventListener(`pointerdown`,e=>{r=e.clientX,i=e.clientY},{signal:n}),t.addEventListener(`click`,e=>{let t=Math.abs(e.clientX-r),n=Math.abs(e.clientY-i);Math.sqrt(t*t+n*n)<10&&this.pauseMedia()},{signal:n})}async#t(){for(let e=0;e<10;e++){if(Shopify.ModelViewerUI)return;await new Promise(e=>setTimeout(e,50))}}};customElements.get(`product-model`)||customElements.define(`product-model`,Et);var Dt=class extends M{connectedCallback(){super.connectedCallback(),this.refs.search&&this.refs.search.addEventListener(`keydown`,this.#i),this.refs.countryList&&this.refs.countryList.addEventListener(`keydown`,this.#e),this.refs.countryList&&this.refs.countryList.addEventListener(`scroll`,this.#a),setTimeout(()=>this.resizeLanguageInput(),0)}disconnectedCallback(){super.disconnectedCallback(),this.refs.search&&this.refs.search.removeEventListener(`keydown`,this.#i),this.refs.countryList&&this.refs.countryList.removeEventListener(`keydown`,this.#e),this.refs.countryList&&this.refs.countryList.removeEventListener(`scroll`,this.#a)}#e=e=>{let{countryInput:t,countryListItems:n,form:r}=this.refs;switch(e.key){case`ArrowUp`:e.preventDefault(),e.stopPropagation(),this.#r(`UP`);break;case`ArrowDown`:e.preventDefault(),e.stopPropagation(),this.#r(`DOWN`);break;case`Enter`:{e.preventDefault(),e.stopPropagation();let i=n.find(e=>e.getAttribute(`aria-selected`)===`true`);i&&(t.value=i.dataset.value??``,r.submit());break}}this.refs.search&&setTimeout(()=>{let e=this.refs.countryListItems.filter(e=>!e.hasAttribute(`hidden`)),t=e[e.findIndex(e=>e===document.activeElement)];t?this.refs.search.setAttribute(`aria-activedescendant`,t.id):this.refs.search.setAttribute(`aria-activedescendant`,``)})};selectCountry=(e,t)=>{t.preventDefault();let{countryInput:n,form:r}=this.refs;n.value=e,r?.submit()};changeLanguage(e){let{form:t,languageInput:n}=this.refs,r=e.target instanceof HTMLSelectElement?e.target.value:null;r&&(n.value=r,this.resizeLanguageInput(),t.submit())}resizeLanguageInput(){let{languageInput:e}=this.refs;if(!e||CSS.supports(`field-sizing`,`content`))return;for(let t of e.options)t.selected||(t.dataset.optionLabel=t.textContent||``,t.innerText=``);e.style.width=`fit-content`;let t=`${Math.ceil(e.offsetWidth)+1}px`;e.offsetWidth>0&&(e.style.width=t);for(let t of e.options)t.dataset.optionLabel&&(t.textContent=t.dataset.optionLabel,delete t.dataset.optionLabel)}#t(e,t,n={matchLabel:!0,matchAlias:!0,matchIso:!0,matchCurrency:!0,labelMatchStart:!1,aliasExactMatch:!1}){let r={},{aliases:i,value:a}=t.dataset;if(n.matchLabel){let i=w(t.querySelector(`.country`)?.textContent??``);if(!i)return r;r.label=n.labelMatchStart?i.startsWith(e):i.includes(e)}if(n.matchCurrency&&(r.currency=w(t.querySelector(`.localization-form__currency`)?.textContent??``).includes(e)),n.matchIso&&(r.iso=w(a??``)==e),n.matchAlias){let t=i?.split(`,`).map(e=>w(e));if(!t)return r;r.alias=t.length>0&&t.find(t=>n.aliasExactMatch?t===e:t.startsWith(e))!==void 0}return r}#n(e,t){if(!e||!t)return e??``;let n=w(e),r=w(t),i=n.indexOf(r);if(i===-1)return e;let a=i+r.length,o=e.slice(0,i),s=e.slice(i,a),c=e.slice(a),l=``;return o&&(l+=`<mark>${o}</mark>
7`),l+=s,c&&(l+=`<mark>${c}</mark>`),l}filterCountries(){let{countryList:e,countryListItems:t,liveRegion:n,noResultsMessage:r,popularCountries:i,resetButton:a,search:o}=this.refs,{labelResultsCount:s}=this.dataset,c=w(o.value),l=0;a.toggleAttribute(`hidden`,!c);let u=this.querySelector(`.country-selector-form__wrapper`);u&&u.classList.toggle(`is-searching`,!!c);for(let e of t)if(c===``){e.removeAttribute(`hidden`);let t=e.querySelector(`.country`);t&&(t.textContent=t.textContent),l++}else{let t=this.#t(c,e);if(t.label||t.alias||t.iso||t.currency){e.removeAttribute(`hidden`);let t=e.querySelector(`.country`);t&&(t.innerHTML=this.#n(t.textContent,c)),l++}else e.setAttribute(`hidden`,``)}if(i){let e=Array.from(i.children).some(e=>!e.hasAttribute(`hidden`));i.toggleAttribute(`hidden`,!e)}n&&s&&(n.innerText=s.replace(`[count]`,`${l}`)),r.hidden=l>0,e.scrollTop=0}#r(e){let{countryListItems:t}=this.refs,n=t.filter(e=>!e.hasAttribute(`hidden`)),r=n.findIndex(e=>e===document.activeElement),i=n[r],a;a=e===`UP`?r>0?n[r-1]:n[n.length-1]:r<n.length-1?n[r+1]:n[0],i&&i.setAttribute(`aria-selected`,`false`),a?.setAttribute(`aria-selected`,`true`),a?.focus()}resetCountriesFilter(e){let{search:t}=this.refs;e.stopPropagation(),t.value=``,this.filterCountries(),t.setAttribute(`aria-activedescendant`,``),t.focus()}#i=e=>{if(e.key===`Enter`){e.preventDefault(),e.stopPropagation();return}this.#e(e)};resetForm(){let{search:e}=this.refs;e&&e.value!=``&&(e.value=``,this.filterCountries(),e.setAttribute(`aria-activedescendant`,``))}focusSearchInput=()=>{let{search:e}=this.refs;e?.focus()};#a=e=>{let t=this.querySelector(`.country-filter`),n=e.target instanceof HTMLElement?e.target:null;if(t&&n){let e=n.scrollTop>0;t.classList.toggle(`is-scrolled`,e)}}},Ot=class extends M{get isHidden(){return this.refs.panel.hasAttribute(`hidden`)}toggleSelector(){return this.isHidden?this.showPanel():this.hidePanel()}showPanel(){this.isHidden&&(this.addEventListener(`keyup`,this.#n),document.addEventListener(`click`,this.#e),this.refs.panel.removeAttribute(`hidden`),this.refs.button.setAttribute(`aria-expanded`,`true`),T(this.refs.panel,()=>{this.#t(),this.refs.localizationForm?.focusSearchInput()}))}hidePanel=()=>{this.isHidden||(this.removeEventListener(`keyup`,this.#n),document.removeEventListener(`click`,this.#e),this.refs.button?.setAttribute(`aria-expanded`,`false`),this.refs.panel.setAttribute(`hidden`,``),this.refs.localizationForm?.resetForm())};#e=e=>{de(e,this)&&this.hidePanel()};#t(){this.style.setProperty(`--width`,`${this.refs.localizationForm.offsetWidth}px`)}#n=e=>{e.key===`Escape`&&(this.hidePanel(),e.stopPropagation(),this.refs.button?.focus())}},kt=class extends M{toggle(e){let{target:t}=e,{localizationForm:n}=this.refs;if(!n||!(t instanceof HTMLDetailsElement))return;let r=n.querySelector(`.country-selector-form__wrapper`);t.open?(r&&r.addEventListener(`scroll`,this.#e),T(t,n.focusSearchInput)):(r?.removeEventListener(`scroll`,this.#e),n.resetForm())}#e=e=>{let t=this.querySelector(`.country-filter`),n=e.target instanceof HTMLElement?e.target:null;if(t&&n){let e=n.scrollTop>0;t.classList.toggle(`is-scrolled`,e)}}};customElements.get(`localization-form-component`)||customElements.define(`localization-form-component`,Dt),customElements.get(`dropdown-localization-component`)||customElements.define(`dropdown-localization-component`,Ot),customElements.get(`drawer-localization-component`)||customElements.define(`drawer-localization-component`,kt);var At=class e extends M{static DeliveryMode={SELF:`self`,RECIPIENT:`recipient_form`};#e=e.DeliveryMode.SELF;#t=null;#n=null;#r=null;requiredRefs=[`myEmailButton`,`recipientEmailButton`,`recipientFields`,`recipientEmail`,`recipientName`,`recipientMessage`,`recipientSendOn`];get#i(){return[this.refs.recipientEmail,this.refs.recipientName,this.refs.recipientMessage,this.refs.recipientSendOn]}connectedCallback(){super.connectedCallback(),this.#a(),this.#t=()=>this.#d(),this.refs.recipientMessage.addEventListener(`input`,this.#t),this.#n=this.#p.bind(this),document.addEventListener(h.cartError,this.#n),this.#r=e=>this.#g(e),document.addEventListener(h.cartLinesUpdate,this.#r)}disconnectedCallback(){super.disconnectedCallback(),this.#t&&=(this.refs.recipientMessage.removeEventListener(`input`,this.#t),null),this.#n&&=(document.removeEventListener(h.cartError,this.#n),null),this.#r&&=(document.removeEventListener(h.cartLinesUpdate,this.#r),null)}#a(){this.#s(e.DeliveryMode.SELF),this.refs.recipientFields.hidden=!0,this.#c(),this.#l(),this.#f()}toggleRecipientForm(t,n){if(!Object.values(e.DeliveryMode).includes(t))throw Error(`Invalid delivery mode: ${t}. Must be one of: ${Object.values(e.DeliveryMode).join(`, `)}`);this.#e!==t&&(this.#e=t,this.#o())}#o(){let{DeliveryMode:t}=e,n=this.#e===t.RECIPIENT;this.#s(this.#e),this.refs.recipientFields.hidden=!n,n?(this.#u(),this.#d(),this.refs.liveRegion&&(this.refs.liveRegion.textContent=Theme.translations?.recipient_form_fields_visible||`Recipient form fields are now visible`),this.refs.recipientEmail.focus()):(this.#c(),this.#l(),this.refs.liveRegion&&(this.refs.liveRegion.textContent=Theme.translations?.recipient_form_fields_hidden||`Recipient form fields are now hidden`)),this.dispatchEvent(new CustomEvent(`recipient:toggle`,{detail:{mode:this.#e,recipientFormVisible:n},bubbles:!0}))}#s(t){let{DeliveryMode:n}=e;switch(t){case n.SELF:this.refs.myEmailButton.checked=!0,this.refs.recipientEmailButton.checked=!1;break;case n.RECIPIENT:this.refs.myEmailButton.checked=!1,this.refs.recipientEmailButton.checked=!0;break;default:console.warn(`Unknown delivery mode: ${t}`),this.refs.myEmailButton.checked=!0,this.refs.recipientEmailButton.checked=!1}
7}#c(){for(let e of this.#i)e.value=``;this.#d(),this.#h()}#l(){for(let e of this.#i)e.disabled=!0,e.removeAttribute(`required`),e.removeAttribute(`aria-invalid`),e.removeAttribute(`aria-describedby`);let e=this.querySelector(`input[name="properties[__shopify_send_gift_card_to_recipient]"]`);e&&e.remove(),this.refs.timezoneOffset&&(this.refs.timezoneOffset.disabled=!0,this.refs.timezoneOffset.value=``),this.#h()}#u(){for(let e of this.#i)e.disabled=!1,e===this.refs.recipientEmail&&e.setAttribute(`required`,`required`);if(!this.querySelector(`input[name="properties[__shopify_send_gift_card_to_recipient]"]`)){let e=document.createElement(`input`);e.type=`hidden`,e.name=`properties[__shopify_send_gift_card_to_recipient]`,e.value=`on`,this.appendChild(e)}this.refs.timezoneOffset&&(this.refs.timezoneOffset.disabled=!1,this.refs.timezoneOffset.value=new Date().getTimezoneOffset().toString()),this.#f()}#d(){if(!this.refs.characterCount)return;let e=this.refs.recipientMessage.value.length,t=this.refs.recipientMessage.maxLength,n=this.refs.characterCount.getAttribute(`data-template`);if(!n)return;let r=n.replace(`[current]`,e.toString()).replace(`[max]`,t.toString());this.refs.characterCount.textContent=r}#f(){let e=new Date,t=new Date;t.setDate(e.getDate()+90);let n=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`;this.refs.recipientSendOn.setAttribute(`min`,n(e)),this.refs.recipientSendOn.setAttribute(`max`,n(t))}#p(e){let{error:t,code:n,detail:r}=e;n===`INVALID`&&(r?.errors&&typeof r.errors==`object`?this.#m(t||`There was an error`,r.errors):t&&this.#m(t,{}))}#m(e,t){if(this.#h(),typeof t==`object`&&t){let e={email:{inputRef:`recipientEmail`,errorRef:`emailError`},name:{inputRef:`recipientName`,errorRef:`nameError`},message:{inputRef:`recipientMessage`,errorRef:`messageError`},send_on:{inputRef:`recipientSendOn`,errorRef:`sendOnError`}};for(let[n,r]of Object.entries(t)){let t=e[n];if(!t)continue;let{inputRef:i,errorRef:a}=t,o=this.refs[a],s=this.refs[i];if(o&&o instanceof HTMLElement){let e=o.querySelector(`span`);e&&(e.textContent=`${Array.isArray(r)?r.join(`, `):r}.`),o.classList.remove(`tw:hidden`)}if(s&&s instanceof HTMLElement){s.setAttribute(`aria-invalid`,`true`);let e=`RecipientForm-${n}-error-${this.dataset.sectionId||`default`}`;s.setAttribute(`aria-describedby`,e)}}}this.refs.liveRegion&&(this.refs.liveRegion.textContent=e||Theme.translations?.recipient_form_error||`There was an error with the form submission`)}#h(){for(let e of[`emailError`,`nameError`,`messageError`,`sendOnError`]){let t=this.refs[e];if(t&&t instanceof HTMLElement){t.classList.add(`tw:hidden`);let e=t.querySelector(`span`);e&&(e.textContent=``)}}for(let e of this.#i)e.removeAttribute(`aria-invalid`),e.removeAttribute(`aria-describedby`);this.refs.liveRegion&&(this.refs.liveRegion.textContent=``)}#g(e){e.action===`add`&&e.promise?.then(()=>{this.#h(),this.#o()}).catch(()=>{})}};customElements.define(`gift-card-recipient-form`,At);var jt=class extends HTMLElement{get details(){let e=this.querySelector(`details`);if(!(e instanceof HTMLDetailsElement))throw Error(`Details element not found`);return e}get summary(){let e=this.details.querySelector(`summary`);if(!(e instanceof HTMLElement))throw Error(`Summary element not found`);return e}get#e(){return this.dataset.disableOnMobile===`true`}get#t(){return this.dataset.disableOnDesktop===`true`}get#n(){return this.dataset.closeWithEscape===`true`}#r=new AbortController;connectedCallback(){let{signal:e}=this.#r;this.#o(),this.addEventListener(`keydown`,this.#s,{signal:e}),this.summary.addEventListener(`click`,this.handleClick,{signal:e}),this.details.addEventListener(`click`,this.#i,{signal:e}),A.addEventListener(`change`,this.#a,{signal:e})}disconnectedCallback(){this.#r.abort()}handleClick=e=>{let t=pe(),n=!t;if(t&&this.#e||n&&this.#t){e.preventDefault();return}};#i=e=>{this.details.open&&e.target.closest(`[data-accordion-close]`)&&(this.summary.focus({preventScroll:!0}),this.details.open=!1)};#a=()=>{this.#o()};#o(){let e=pe();this.details.open=e&&this.hasAttribute(`open-by-default-on-mobile`)||!e&&this.hasAttribute(`open-by-default-on-desktop`)}#s(e){e.key===`Escape`&&this.#n&&(e.preventDefault(),this.summary.focus(),this.details.open=!1)}};customElements.get(`accordion-custom`)||customElements.define(`accordion-custom`,jt);var Mt=150,Nt=class extends M{requiredRefs=[`overflowMenu`];#e=null;#t;connectedCallback(){super.connectedCallback(),se(this.#y),window.addEventListener(`resize`,this.#n),this.addEventListener(`ke
7ydown`,this.#i),this.overflowMenu?.addEventListener(`pointerleave`,this.#r)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener(`resize`,this.#n),this.removeEventListener(`keydown`,this.#i),document.body.removeEventListener(`pointermove`,this.#u),this.#s.activeItem&&this.#p(this.#s.activeItem),this.overflowMenu?.removeEventListener(`pointerleave`,this.#r),this.#b(),clearTimeout(this.#t),this.#t=void 0}#n=S(()=>{Se()},100);#r=()=>{this.#h()};#i=e=>{if(e.key!==`Escape`)return;let t=this.#s.activeItem;if(!t)return;let n=this.#a(t);this.#h(t,{force:!0}),n.focus()};toggle=e=>{let t=e.target;if(!(t instanceof HTMLElement))return;let n=Pt(t);if(n){if(t.getAttribute(`aria-expanded`)===`true`){this.#h(this.#s.activeItem??n,{force:!0});let e=this.#a(n);e!==t&&e.focus()}else this.activate(e)}};#a(e){let t=e.closest(`.menu-list__list-item`),n=t instanceof HTMLElement?t.slot:``;if(n===`overflow`||n===`more`){let e=this.querySelector(`[slot="more"] [ref="menuitem"]`);if(e instanceof HTMLElement)return e}return this.#o(e)}#o(e){let t=e.closest(`.menu-list__list-item`)?.querySelector(`[ref="disclosure[]"]`);return t instanceof HTMLElement?t:e}#s={activeItem:null,activeOverflowItem:null};#c;#l={x:0,y:0};#u=e=>{let t=this.#s.activeItem;if(!t)return;this.#l.x=e.clientX,this.#l.y=e.clientY;let n=Math.abs(e.movementX)>=1||e.movementY>=1;t.dataset.safetyBox=`${n}`,clearTimeout(this.#c),n?this.#c=setTimeout(()=>{this.#s.activeItem&&(this.#s.activeItem.dataset.safetyBox=`false`,this.#d())},50):this.#d()};#d(){let{x:e,y:t}=this.#l;requestAnimationFrame(()=>{let n=document.elementFromPoint(e,t);if(!n)return;let r=n.closest(`.menu-list__list-item`);r&&!r.contains(this.#s.activeItem)&&r.dispatchEvent(new PointerEvent(`pointerenter`,{bubbles:!1}))})}#f(e,t){t?this.#p(t):document.body.addEventListener(`pointermove`,this.#u);let n=e.getBoundingClientRect(),r=this.headerComponent?.hasAttribute(`data-submenu-overlap-bottom-row`)?this.headerComponent?.querySelector(`.header__row--top`):this.headerComponent;e.style.setProperty(`--box-height`,`${(r?.getBoundingClientRect().bottom??0)-n.top}px`)}#p(e){window.clearTimeout(this.#c),this.#c=void 0,e.style.removeProperty(`--box-height`),delete e.dataset.safetyBox}get overflowMenu(){return this.refs.overflowMenu?.shadowRoot?.querySelector(`[part="overflow"]`)}get overflowListHovered(){return this.refs.overflowMenu?.shadowRoot?.querySelector(`[part="overflow-list"]`)?.matches(`:hover`)??!1}#m(){let e=this.refs.overflowMenu?.querySelector(`[slot="overflow"] [ref="menuitem"]`);return e instanceof HTMLElement?e:null}get headerComponent(){return this.closest(`header-component`)}activate=e=>{if(!(e.target instanceof Element)||!this.headerComponent)return;let t=Pt(e.target);if(!t||t==this.#s.activeItem)return;let n=t.closest(`.menu-list__list-item`),r=n instanceof HTMLElement?n.slot:``,i=r===`more`,a=r===``,o=i?this.#m():null;this.dataset.overflowExpanded=(!a).toString();let s=this.#s.activeItem,c=this.#s.activeOverflowItem;if(s){this.#o(s).ariaExpanded=`false`;let e=K(s);e&&(e.inert=!0)}if(c&&c!==s){this.#o(c).ariaExpanded=`false`;let e=K(c);e&&(e.inert=!0)}if(this.#s.activeItem=t,this.#s.activeOverflowItem=o,this.ariaExpanded=`true`,this.#o(t).ariaExpanded=`true`,o&&o!==t){this.#o(o).ariaExpanded=`true`;let e=K(o);e&&(e.inert=!1)}let l=i?K(o):null,u=K(t)||(l?this.overflowMenu:null),d=!!u;if(!d&&!a&&(u=this.overflowMenu),u){clearTimeout(this.#t),this.#t=void 0;let n=t;e instanceof FocusEvent?this.dispatchEvent(new bt):this.#t=setTimeout(()=>{this.#t=void 0,this.#s.activeItem===n&&this.dispatchEvent(new bt)},Mt),u.dataset.active=``,u.inert=!1,this.#b(),this.#e=new MutationObserver(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{u.offsetHeight>0&&(this.headerComponent?.style.setProperty(`--submenu-height`,`${u.offsetHeight}px`),this.#b())})})}),this.#e.observe(u,{childList:!0,subtree:!0}),setTimeout(()=>{this.#b()},500)}let f=u?.offsetHeight||0;if(!a){let e=this.#g();if(d){let t=this.overflowMenu?.offsetHeight||0;f=Math.max(t,e)}else f=e}u||(f=0);let p=this.#_();this.headerComponent.style.setProperty(`--submenu-height`,`${f}px`),this.#v(f,p),this.style.setProperty(`--submenu-opacity`,`1`),this.#f(t,s)};deactivate(e){if(!(e.target instanceof Element))return;let t=K(this.#s.activeItem),n=e.relatedTarget instanceof Node&&e.target instanceof Element&&e.target.contains(e.relatedTarget),r=e.relatedTarget instanceof Node&&t?.contains(document.activeElement),i=e.relatedTarget instanceof Node&&e.type===`blur`&&t?.contains(e.relatedTarget),a=e.relatedTarget instanceof Element&&!!e.relatedTarget.closest(`[slot="overflow"]`);if(n||r||a||i){this.#s.activeItem&&this.#p(this.#s.activeItem);return}this.#h()}#h=(e=this.#s.activeItem,{force:t=!1}={})=>
7{if(!e||e!=this.#s.activeItem||!t&&(this.overflowListHovered||this.overflowMenu?.matches(`:hover`)))return;clearTimeout(this.#t),this.#t=void 0,this.headerComponent?.style.setProperty(`--submenu-height`,`0px`),this.#v(0,0),this.style.setProperty(`--submenu-opacity`,`0`),this.dataset.overflowExpanded=`false`;let n=K(e)||(e.closest(`[slot="more"]`)?this.overflowMenu:null),r=this.#s.activeOverflowItem;if(document.body.removeEventListener(`pointermove`,this.#u),this.#p(e),this.#s.activeItem=null,this.#s.activeOverflowItem=null,this.ariaExpanded=`false`,this.#o(e).ariaExpanded=`false`,r&&r!==e){this.#o(r).ariaExpanded=`false`;let e=K(r);e&&(e.inert=!0)}n&&(delete n.dataset.active,n.inert=!0)};#g(){let e=this.overflowMenu?.querySelector(`slot`)?.assignedElements();if(!e)return this.overflowMenu?.offsetHeight||0;let t=t=>{e.forEach(e=>{let n=e.querySelector(`[ref="submenu[]"]`);n&&t(n)})};t(e=>{e.style.setProperty(`display`,`none`)});let n=this.overflowMenu?.offsetHeight||0;return t(e=>{e.style.removeProperty(`display`)}),n}#_(){return this.headerComponent?this.headerComponent.hasAttribute(`data-submenu-overlap-bottom-row`)&&this.headerComponent.offsetHeight>0?this.headerComponent.querySelector(`.header__row--top`)?.offsetHeight??0:this.headerComponent.offsetHeight:0}#v(e,t){if(!this.headerComponent)return;let n=e===0?0:e+t;this.headerComponent?.style.setProperty(`--full-open-header-height`,`${n}px`)}#y=()=>{this.querySelectorAll(`img[loading="lazy"]`)?.forEach(e=>e.removeAttribute(`loading`))};#b(){this.#e?.disconnect(),this.#e=null}};customElements.get(`header-menu`)||customElements.define(`header-menu`,Nt);function Pt(e){return e instanceof Element?(e.closest(`.menu-list__list-item`)??e).querySelector(`[ref="menuitem"]`):null}function K(e){let t=(e?.closest?.(`.menu-list__list-item`))?.querySelector(`:scope > [ref="submenu[]"]`);return t instanceof HTMLElement?t:null}var q={};function Ft(e){return Array.from(e.querySelectorAll(`summary, a[href], button:enabled, [tabindex]:not([tabindex^='-']), [draggable], area, input:not([type=hidden]):enabled, select:enabled, textarea:enabled, object, iframe`))}function It(e){J();let t=Ft(e);if(!t.length)return;let n=t[0],r=t[t.length-1];q.keydown=t=>{if(t.key!==`Tab`)return;let i=document.activeElement;!t.shiftKey&&i===r?(t.preventDefault(),n?.focus()):t.shiftKey&&(i===n||i===e)&&(t.preventDefault(),r?.focus())},q.focusin=t=>{t.target instanceof Node&&!e.contains(t.target)&&(t.stopPropagation(),n?.focu
7s())},document.addEventListener(`keydown`,q.keydown,!0),document.addEventListener(`focusin`,q.focusin,!0),e.focus()}function J(){q.keydown&&document.removeEventListener(`keydown`,q.keydown,!0),q.focusin&&document.removeEventListener(`focusin`,q.focusin,!0)}var Lt=class extends M{requiredRefs=[`details`,`menuDrawer`];connectedCallback(){super.connectedCallback(),this.addEventListener(`keyup`,this.#e),this.#r()}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`keyup`,this.#e)}#e=e=>{e.key===`Escape`&&this.#n(this.#t(e))};get isOpen(){return this.refs.details.hasAttribute(`open`)}#t(e){return e?.target instanceof Element?e.target.closest(`details`)??this.refs.details:this.refs.details}toggle(){return this.isOpen?this.close():this.open()}open(e,t){let n=this.#t(t),r=n.querySelector(`summary`);r&&(r.setAttribute(`aria-expanded`,`true`),this.preventInitialAccordionAnimations(n),requestAnimationFrame(()=>{n.classList.add(`menu-open`),n.setAttribute(`open`,``),e&&(this.refs.menuDrawer.classList.add(`menu-drawer--has-submenu-opened`),this.#i(n)),T(n.querySelector(`.menu-drawer, .menu-drawer__submenu`)||n,()=>It(n),{subtree:!1})}))}back(e){this.#n(this.#t(e))}close(){this.#n(this.refs.details)}#n(e){let t=e.querySelector(`summary`);t&&(t.setAttribute(`aria-expanded`,`false`),e.classList.remove(`menu-open`),this.refs.menuDrawer.classList.remove(`menu-drawer--has-submenu-opened`),T(e.querySelector(`.menu-drawer, .menu-drawer__submenu`)||e,()=>{Rt(e),e===this.refs.details?(J(),this.querySelectorAll(`details[open]:not(accordion-custom > details)`).forEach(Rt)):It(this.refs.details)},{subtree:!1}))}#r(){this.querySelectorAll(`.menu-drawer__animated-element`).forEach(e=>{e.addEventListener(`animationend`,ce)})}preventInitialAccordionAnimations(e){let t=e.querySelectorAll(`accordion-custom .details-content`);t.forEach(e=>{e instanceof HTMLElement&&e.classList.add(`details-content--no-animation`)}),setTimeout(()=>{t.forEach(e=>{e instanceof HTMLElement&&e.classList.remove(`details-content--no-animation`)})},100)}#i(e){if(window.posthog)try{let t=e.querySelector(`summary`),n=t?.dataset.title??t?.textContent?.trim()??``,r=e.parentElement?.closest(`details`),i=r?.querySelector(`summary`),a=r?i?.dataset.title??i?.textContent?.trim()??null:null,o=1,s=r;for(;s;)o++,s=s.parentElement?.closest(`details`);window.posthog.capture(`menu_dropdown_open`,{panel_title:n,panel_level:o,parent_menu:a,device_type:`mobile`})}catch(e){console.error(`trackDropdownOpen`,e)}}};customElements.get(`header-drawer`)||customElements.define(`header-drawer`,Lt);function Rt(e){e.classList.remove(`menu-open`),e.removeAttribute(`open`),e.querySelector(`summary`)?.setAttribute(`aria-expanded`,`false`)}var zt=2,Bt={BHD:3,BIF:0,BYR:0,CLF:4,CLP:0,DJF:0,GNF:0,IQD:3,ISK:0,JOD:3,JPY:0,KMF:0,KRW:0,KWD:3,LYD:3,MRO:5,OMR:3,PYG:0,RWF:0,TND:3,UGX:0,UYI:0,UYW:4,VND:0,VUV:0,XAF:0,XAG:0,XAU:0,XBA:0,XBB:0,XBC:0,XBD:0,XDR:0,XOF:0,XPD:0,XPF:0,XPT:0,XSU:0,XTS:0,XUA:0};function Vt(e){return Bt[e.toUpperCase()]??zt}function Ht(e){return 10**Vt(e)}function Ut(e,t){let n=Vt(t),r=10**n;if(!e||!e.trim())return null;let i=e.trim().split(/[^0-9]/).filter(Boolean);if(i.length===0)return null;let a=i[i.length-1]??``,o=n>0&&i.length>1&&a.length<=n,s,c;o?(c=a,s=i.slice(0,-1).join(``)):(s=i.join(``),c=``);let l=parseInt(s,10);if(isNaN(l))return null;let u=0;if(n>0&&c){let e=c.length;u=parseInt(c,10)||0,u*=10**(n-e)}return l*r+u}function Wt(e,t,n,r,i){let[a,o]=(e/i).toFixed(r).split(`.`);return a||=`0`,o||=``,a=a.replace(/\d(?=(\d\d\d)+(?!\d))/g,e=>e+t),r<=0?a:a+n+o.padEnd(r,`0`)}function Gt(e,t,n){let r=Vt(n),i=Ht(n);return t.replace(/{{\s*(\w+)\s*}}/g,(t,a)=>{if(typeof a!=`string`)return``;if(a===`currency`)return n;let o=`,`,s=`.`,c=r;switch(a){case`amount`:break;case`amount_no_decimals`:c=0;break;case`amount_with_comma_separator`:o=`.`,s=`,`;break;case`amount_no_decimals_with_comma_separator`:o=`.`,c=0;break;case`amount_no_decimals_with_space_separator`:o=` `,c=0;break;case`amount_with_space_separator`:o=` `,s=`,`;break;case`amount_with_period_and_space_separator`:o=` `,s=`.`;break;case`amount_with_apostrophe_separator`:o=`'`,s=`.`}return Wt(e,o,s,c,i)})}var Kt=`q`,Y=class extends M{requiredRefs=[`facetsForm`];
7connectedCallback(){super.connectedCallback(),this.dataset.filterStyle===`vertical`&&A.addEventListener(`change`,this.#e)}disconnectedCallback(){super.disconnectedCallback(),A.removeEventListener(`change`,this.#e)}#e=e=>{if(!e.matches)return;let t=document.getElementById(`filters-drawer`);t&&`close`in t&&typeof t.close==`function`&&t.close()};createURLParameters(e=new FormData(this.refs.facetsForm)){let t=new URLSearchParams(e);t.get(`filter.v.price.gte`)===``&&t.delete(`filter.v.price.gte`),t.get(`filter.v.price.lte`)===``&&t.delete(`filter.v.price.lte`),t.delete(`page`);let n=this.#t();return n&&t.set(Kt,n),t}#t(){return new URL(window.location.href).searchParams.get(Kt)??``}get sectionId(){let e=this.getAttribute(`section-id`);if(!e)throw Error(`Section ID is required`);return e}#n(){let e=new URL(window.location.href),t=this.createURLParameters();e.search=``;for(let[n,r]of t.entries())e.searchParams.append(n,r);history.pushState({urlParameters:t.toString()},``,e.toString())}updateFilters=()=>{this.#n();let e=this.#r();this.dataset.pageType===`search`?this.#i(e):this.#o(e)};updateSort=()=>{let e=document.querySelector(`sorting-filter-component ul[data-dropdown-selector-target="list"]`);e&&setTimeout(()=>{e?.classList.add(`tw:opacity-0`,`tw:pointer-events-none`)},300),this.#n();let t=this.#r();this.dataset.pageType===`search`?this.#i(t):this.#o(t)};#r(){return this.closest(`dialog`)?W.renderSection(this.sectionId).then(()=>{}):ie(()=>W.renderSection(this.sectionId),[`product-grid`])}#i(e){let t=this.#t(),n=m.createPromise(),r=m.parseProductFilters();this.dispatchEvent(new m({search:{query:t,...r&&{productFilters:r},sortKey:m.getSortKey()},promise:n.promise})),e.then(()=>n.resolve({totalCount:this.#a()})).catch(e=>n.reject(e))}#a(){return Number(this.dataset.resultsCount)||0}updateFiltersByURL(e){history.pushState(``,``,e);let t=this.#r();this.dataset.pageType===`search`?this.#i(t):this.#o(t)}#o(e){let t=this.dataset.collectionId,n={id:t&&/^\d+$/.test(t)?t:null,handle:this.dataset.collectionHandle,productsCount:this.#a()},r=f.createPromise(),i=f.parseProductFilters();this.dispatchEvent(new f({collection:n,...i&&{productFilters:i},sortKey:f.getSortKey(),promise:r.promise})),e.then(()=>r.resolve({productsCount:this.#a()})).catch(e=>r.reject(e))}};customElements.get(`facets-form-component`)||customElements.define(`facets-form-component`,Y);var qt=class extends M{get sectionId(){let e=this.closest(`.shopify-section`)?.id;if(!e)throw Error(`FacetInputs component must be a child of a section`);return e}updateFilters(){let e=this.closest(`facets-form-component`);e instanceof Y&&(e.updateFilters(),this.#t())}handleKeyDown(e){if(!(e.target instanceof HTMLElement))return;let t=e.target.querySelector(`input`);t instanceof HTMLInputElement&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t.checked=!t.checked,this.updateFilters())}prefetchPageImmediate(e){e.target instanceof HTMLElement&&this.#e(e.target)}#e(e){let t=this.closest(`form`);if(!t)return;let n=e.querySelector(`input`);if(!(n instanceof HTMLInputElement)||n.disabled)return;let r=this.closest(`facets-form-component`);if(!(r instanceof Y))return;let i=new FormData(t);n.checked||i.append(n.name,n.value);let a=r.createURLParameters(i),o=new URL(window.location.pathname,window.location.origin);for(let[e,t]of a)o.searchParams.append(e,t);n.checked&&o.searchParams.delete(n.name,n.value),W.getSectionHTML(this.sectionId,!0,o)}prefetchPage=S(e=>{e.target instanceof HTMLElement&&this.#e(e.target)},200);cancelPrefetchPage=()=>this.prefetchPage.cancel();#t(){if(!this.refs.facetInputs)return;let e=this.refs.facetInputs.filter(e=>e.checked),t=this.closest(`details`)?.querySelector(`facet-status-component`);t instanceof X&&t.updateListSummary(e)}};customElements.get(`facet-inputs-component`)||customElements.define(`facet-inputs-component`,qt);var Jt=class extends M{currency;moneyFormat;connectedCallback(){super.connectedCallback(),this.addEventListener(`keydown`,this.#t),this.currency=this.dataset.currency??`USD`,this.moneyFormat=this.#e(this.dataset.moneyFormat??`{{amount}}`),this.#o()}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`ke
7ydown`,this.#t)}#e(e){let t=e.match(/{{\s*\w+\s*}}/);return t?t[0]:`{{amount}}`}#t=e=>{e.metaKey||e.key.match(/[0-9]|\.|,|'| |Tab|Backspace|Enter|ArrowUp|ArrowDown|ArrowLeft|ArrowRight|Delete|Escape/)||e.preventDefault()};updatePriceFilterAndResults(){let{minInput:e,maxInput:t}=this.refs;this.#r(e),this.#r(t);let n=this.closest(`facets-form-component`);n instanceof Y&&(n.updateFilters(),this.#i(),this.#a())}#n(e,t){return Ut(e,t)??0}#r(e){if(e.value.trim()===``)return;let{currency:t,moneyFormat:n}=this,r=this.#n(e.value,t),i=this.#n(e.getAttribute(`data-min`)??`0`,t),a=this.#n(e.getAttribute(`data-max`)??`0`,t);r<i?e.value=Gt(i,n,t):r>a&&(e.value=Gt(a,n,t))}#i(){let{minInput:e,maxInput:t}=this.refs;t.value&&e.setAttribute(`data-max`,t.value),e.value&&t.setAttribute(`data-min`,e.value),e.value===``&&t.setAttribute(`data-min`,`0`),t.value===``&&e.setAttribute(`data-max`,t.getAttribute(`data-max`)??``)}#a(){let{minInput:e,maxInput:t}=this.refs,n=this.closest(`details`)?.querySelector(`facet-status-component`);n instanceof X&&n?.updatePriceSummary(e,t)}#o(){let{minRange:e,maxRange:t,rangeFill:n}=this.refs,r=parseFloat(e.max),i=parseFloat(e.value),a=parseFloat(t.value),o=i/r*100,s=a/r*100;n.style.left=`${o}%`,n.style.width=`${s-o}%`}syncFromSlider(e){let{minRange:t,maxRange:n,minInput:r,maxInput:i}=this.refs,a=parseFloat(t.value),o=parseFloat(n.value);o-a<1&&(e.target===t?t.value=o-1:n.value=a+1),r.value=t.value,i.value=n.value,this.#o()}syncFromInput(){let{minRange:e,maxRange:t,minInput:n,maxInput:r}=this.refs,i=parseFloat(e.max),a=parseFloat(n.value)||0,o=parseFloat(r.value)||i;a<0&&(a=0),o>i&&(o=i),o-a<1&&(o=a+1),e.value=a,t.value=o,this.#o()}applyMinAndMaxFromPills(e){let t=e.currentTarget instanceof HTMLElement?e.currentTarget:e.target instanceof HTMLElement?e.target.closest(`[data-min], [data-max]`):null;if(!(t instanceof HTMLElement))return;let n=t.dataset.min??``,r=t.dataset.max??``,{minInput:i,maxInput:a,minRange:o,maxRange:s}=this.refs;i.value=n,a.value=r;let c=n===``?`0`:n,l=r===``?s.max:r;o.value=c,s.value=l,this.#i(),this.#o();let u=this.closest(`facets-form-component`);u instanceof Y&&u.updateFilters()}};customElements.get(`price-facet-component`)||customElements.define(`price-facet-component`,Jt);var Yt=class extends M{requiredRefs=[`clearButton`];connectedCallback(){super.connectedCallback(),this.addEventListener(`keyup`,this.#e),document.addEventListener(h.searchUpdate,this.#t),document.addEventListener(h.collectionUpdate,this.#t)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(h.searchUpdate,this.#t),document.removeEventListener(h.collectionUpdate,this.#t)}clearFilter(e){if(!(e.target instanceof HTMLElement))return;if(e instanceof KeyboardEvent){if(e.key!==`Enter`&&e.key!==` `)return;e.preventDefault()}e.target.closest(`facet-inputs-component, price-facet-component`)?.querySelectorAll(`[type="checkbox"]:checked, input`).forEach(e=>{e instanceof HTMLInputElement&&(e.checked=!1,e.value=``)});let t=e.target.closest(`details`)?.querySelector(`facet-status-component`);if(!(t instanceof X))return;t.clearSummary();let n=this.closest(`facets-form-component`);n instanceof Y&&n.updateFilters()}#e=e=>{e.metaKey||e.key===`Enter`&&this.clearFilter(e)};#t=e=>{let t=e.target?.closest(`.shopify-section`),n=this.closest(`.shopify-section`);if(t&&n&&t!==n)return;let{clearButton:r}=this.refs;if(r instanceof Element){let t=e instanceof m?e.search?.productFilters??[]:e.productFilters??[];r.classList.toggle(`facets__clear--active`,t.length>0)}}};customElements.get(`facet-clear-component`)||customElements.define(`facet-clear-component`,Yt);var Xt=class extends M{connectedCallback(){super.connectedCallback(),document.addEventListener(h.searchUpdate,this.#e),document.addEventListener(h.collectionUpdate,this.#e)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(h.searchUpdate,this.#e),document.removeEventListener(h.collectionUpdate,this.#e)}removeFilter({form:e},t){if(t instanceof KeyboardEvent){if(t.key!==`Enter`&&t.key!==` `)return;t.preventDefault()}let n=this.dataset.url;if(!n)return;let r=e?document.getElementById(e):this.closest(`facets-form-component`);r instanceof Y&&r.updateFiltersByURL(n)}#e=e=>{let t=e.target?.closest(`.shopify-section`),n=this.closest(`.shopify-section`);if(t&&n&&t!==n)return;let{clearButton:r}=this.refs;if(r instanceof Element){let t=this.getAttribute(`active-class`)||`active`,n=e instanceof m?e.search?.productFilters??[]:e.productFilters??[];r.classList.toggle(t,n.length>0)}}};customElements.get(`facet-remove-component`)||customElements.define(`facet-remove-component`,Xt);var Zt=class extends M{requiredRefs=[`listbox`];handleKeyDown=e=>{let{listbox:t}=this.refs;if(!(t instanceof Element))return;let n=Array.from(t.querySelectorAll(`[role="option"]`)),r=n.find(e=>e instanceof HTMLElement&&e.tabIndex===0),i=r?n.indexOf(r):0;switch(e.key){case`ArrowDown`:e.preventDefault(),i=Math.min(i+1,n.length-1),this.#e(n,i);break;case`ArrowUp`:e.preventDefault(),i=Math.max(i-1,0),this.#e(n,i);break;case`Enter`:case` `:if(e.target instanceof Element){let t=e.target.closest(`[role="option"]`);t&&(e.preventDefault(),this.#t(t))}break;case`Escape`:e.preventDefault(),this.#n()}};handleToggle=()=>{let{details:e,summary:t,listbox:n}=this.refs;if(!(e instanceof HTMLDetailsElement)||!(t instanceof HTMLElement))return;let r=e.open;if(t.setAttribute(`aria-expanded`,r.toString()),r&&n instanceof Element){let e=n.querySelector(`[aria-selected="true"]`);e instanceof HTMLElement&&e.focus()}};
7#e(e,t){e.forEach(e=>{e instanceof HTMLElement&&(e.tabIndex=-1)});let n=e[t];n instanceof HTMLElement&&(n.tabIndex=0,n.focus())}#t(e){let t=e.querySelector(`input[type="radio"]`);t instanceof HTMLInputElement&&e instanceof HTMLElement&&(this.querySelectorAll(`[role="option"]`).forEach(e=>{e.setAttribute(`aria-selected`,`false`)}),e.setAttribute(`aria-selected`,`true`),t.click(),this.#n())}#n(){let{details:e,summary:t}=this.refs;if(e instanceof HTMLDetailsElement){let n=this.querySelectorAll(`[role="option"]`),r=this.querySelector(`[aria-selected="true"]`);n.forEach(e=>{e instanceof HTMLElement&&(e.tabIndex=-1)}),r instanceof HTMLElement&&(r.tabIndex=0),e.open=!1,t instanceof HTMLElement&&t.focus()}}updateFilterAndSorting(e){let t=this.closest(`facets-form-component`)||this.closest(`.shopify-section`)?.querySelector(`facets-form-component`);if(!(t instanceof Y))return;let n=window.innerWidth<750,r=this.dataset.shouldUseSelectOnMobile===`true`;if(r){if(n)this.querySelectorAll(`input[name="sort_by"]`).forEach(e=>{e instanceof HTMLInputElement&&(e.disabled=!0)});else{let e=this.querySelector(`select[name="sort_by"]`);if(!(e instanceof HTMLSelectElement))return;e.disabled=!0}}if(t.updateSort(),this.updateFacetStatus(e),r){if(n)this.querySelectorAll(`input[name="sort_by"]`).forEach(e=>{e instanceof HTMLInputElement&&(e.disabled=!1)});else{let e=this.querySelector(`select[name="sort_by"]`);if(!(e instanceof HTMLSelectElement))return;e.disabled=!1}}let{details:i}=this.refs;i instanceof HTMLDetailsElement&&(i.open=!1)}updateFacetStatus(e){if(!(e.target instanceof HTMLSelectElement))return;let t=this.querySelector(`details`);if(!t)return;let n=t.querySelector(`facet-status-component`);n instanceof X&&(n.textContent=e.target.value===t.dataset.defaultSortBy?``:e.target.dataset.optionName??``)}};customElements.get(`sorting-filter-component`)||customElements.define(`sorting-filter-component`,Zt);var X=class extends M{updateListSummary(e){let t=e.length;this.getAttribute(`facet-type`)===`swatches`?this.#e(e,t):this.#t(e,t)}#e(e,t){let{facetStatus:n}=this.refs;if(n.classList.remove(`facets__bubble`),t===0){n.innerHTML=``;return}if(t>3){n.innerHTML=t.toString(),n.classList.add(`facets__bubble`);return}n.innerHTML=Array.from(e).map(e=>{let t=e.parentElement?.querySelector(`span.swatch`),n=document.createElement(`span`);return n.className=`visually-hidden`,n.textContent=e.getAttribute(`aria-label`)??``,(t?.outerHTML??``)+n.outerHTML}).join(``)}#t(e,t){let{facetStatus:n}=this.refs,r=this.dataset.filterStyle;if(n.classList.remove(`facets__bubble`),t===0){n.innerHTML=``;return}if(r===`horizontal`&&t===1){n.textContent=e[0]?.dataset.label??``;return}n.innerHTML=t.toString(),n.classList.add(`facets__bubble`)}updatePriceSummary(e,t){let n=e.value,r=t.value,{facetStatus:i}=this.refs;if(!n&&!r){i.innerHTML=``;return}let a=i.dataset.currency||``,o=this.#n(n,`0`,a),s=this.#n(r,i.dataset.rangeMax,a);i.innerHTML=`${this.#r(o)}â${this.#r(s)}`}#n(e,t=`0`,n=``){let r=Ut(e,n);if(r!==null)return r;let i=Ut(t,n);if(i!==null)return i;let a=t.replace(/[^\d]/g,``);return parseInt(a,10)||0}#r(e){return this.refs.moneyFormat instanceof HTMLTemplateElement?Gt(e,this.refs.moneyFormat.content.textContent||`{{amount}}`,this.refs.facetStatus.dataset.currency||``):``}clearSummary(){this.refs.facetStatus.innerHTML=``}};customElements.get(`facet-status-component`)||customElements.define(`facet-status-component`,X);var Qt=class extends M{requiredRefs=[`searchInput`];connectedCallback(){super.connectedCallback(),this.refs.searchInput.addEventListener(`input`,this.handleInput),this.refs.searchInput.addEventListener(`change`,this.stopPropagation)}disconnectedCallback(){super.disconnectedCallback(),this.refs.searchInput.removeEventListener(`input`,this.handleInput),this.refs.searchInput.removeEventListener(`change`,this.stopPropagation)}stopPropagation=e=>{e.stopPropagation()};handleInput=e=>{if(!(e.target instanceof HTMLInputElement))return;let t=e.target.value.toLowerCase(),n=this.closest(`facet-inputs-component`);n&&n.querySelectorAll(`fieldset.checkbox`).forEach(e=>{let n=e.getAttribute(`aria-label`)?.toLowerCase()??``;e.style.display=n.includes(t)?``:`none`})}};customElements.get(`facet-search-component`)||customElements.define(`facet-search-component`,Qt);var $t=class extends M{connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback()}setActivePricePill(e){let t=e.currentTarget instanceof HTMLElement?e.currentTarget:e.target instanceof HTMLElement?e.target.closest(`.dplp-pp--price`):null;if(!(t instanceof HTMLElement))return;
7this.querySelectorAll(`.dplp-pp--price`).forEach(e=>{e instanceof HTMLElement&&e.setAttribute(`aria-current`,`false`)}),t.setAttribute(`aria-current`,`true`);let n=document.querySelector(`#facet-inputs-filter-v-price`);n instanceof Jt&&n.applyMinAndMaxFromPills(e)}};customElements.get(`pills-component`)||customElements.define(`pills-component`,$t);var en=class e extends M{requiredRefs=[`panel`];static#e=0;#t=!1;#n=!1;#r=null;#i=window.matchMedia(`(max-width: 1779px)`);get isOpen(){return this.hasAttribute(`open`)}connectedCallback(){super.connectedCallback(),this.#i.addEventListener(`change`,this.#l);let t=Number(this.style.getPropertyValue(`--drawer-stack-order`)||0);t>e.#e&&(e.#e=t),this.isOpen&&this.#a()}#a(){let{panel:e}=this.refs;this.#i.matches&&O(e),document.addEventListener(`keydown`,this.#u),e.addEventListener(`click`,this.#o)}disconnectedCallback(){super.disconnectedCallback(),k(this.refs.panel),this.#i.removeEventListener(`change`,this.#l),this.#f(),J(),this.#n=!1}#o=e=>{let{panel:t}=this.refs;if(de(e,t)){if(this.#s())return;this.close()}};#s(){return this.#c()!==null}#c(){return this.refs.panel.querySelector(`dialog[open]`)}#l=()=>{if(!this.isOpen)return;let{panel:e}=this.refs,t=this.#c(),n=t?.contains(document.activeElement)&&document.activeElement instanceof HTMLElement?document.activeElement:null;e.close(),J(),this.#i.matches?(O(e),e.showModal()):(k(e),e.show()),t?.open?this.#m(t,n):this.#p(),document.addEventListener(`keydown`,this.#u),e.addEventListener(`click`,this.#o)};#u=e=>{e.key===`Escape`&&(e.isComposing||e.defaultPrevented||this.isOpen&&this.#g()&&(e.preventDefault(),this.close()))};open({enter:t}={}){if(this.isOpen){this.#d({enter:t});return}if(this.#t){this.#n={enter:t};return}let{panel:n}=this.refs;e.#e+=1,this.style.setProperty(`--drawer-stack-order`,String(e.#e));let r=t===`inline-start`?`theme-drawer__dialog--opening-inline-start`:`theme-drawer__dialog--opening`;n.classList.add(r),this.#r=document.activeElement,this.#i.matches?(O(n),n.showModal()):n.show(),this.#p(),T(n,()=>n.classList.remove(r),{subtree:!1}),this.setAttribute(`open`,``),this.dispatchEvent(new Z),document.addEventListener(`keydown`,this.#u),n.addEventListener(`click`,this.#o)}#d({enter:t}={}){let{panel:n}=this.refs;e.#e+=1,this.style.setProperty(`--drawer-stack-order`,String(e.#e)),this.#i.matches&&n.open&&(O(n),n.close(),n.showModal());let r=t===`inline-start`?`theme-drawer__dialog--opening-inline-start`:`theme-drawer__dialog--opening`;n.classList.add(r),T(n,()=>n.classList.remove(r),{subtree:!1}),this.dispatchEvent(new Z)}#f(){let{panel:e}=this.refs;document.removeEventListener(`keydown`,this.#u),e.removeEventListener(`click`,this.#o)}#p(){this.refs.panel.querySelector(`.theme-drawer__close-button`)?.focus()}#m(e,t){e.close(),e.showModal(),t&&document.contains(t)&&e.contains(t)&&t.focus()}async#h(){if(!this.isOpen||this.#t)return;this.#t=!0,this.#f(),J();let{panel:t}=this.refs,n=this.#i.matches,r=n?I():null;this.removeAttribute(`open`),this.dispatchEvent(new tn),k(t),t.open&&(t.classList.remove(`theme-drawer__dialog--opening`,`theme-drawer__dialog--opening-inline-start`),t.classList.add(`theme-drawer__dialog--closing`),await T(t,void 0,{subtree:!1}),t.classList.remove(`theme-drawer__dialog--closing`)),t.close(),this.style.removeProperty(`--drawer-stack-order`),document.querySelector(`theme-drawer[open]`)||(e.#e=0);let i=this.#r;if(this.#r=null,i&&document.contains(i)?i.focus({preventScroll:n}):document.querySelector(`[aria-controls="${this.id}"]`)?.focus({preventScroll:n}),r!=null&&I()!==r&&je({top:r,behavior:`instant`}),this.#t=!1,this.#n){let e=this.#n;this.#n=!1,this.open(e)}}async close(){if(this.#t){this.#n=!1;return}await this.#h()}toggle(){return this.isOpen&&this.#g()?this.close():this.open()}#g(){let e=Number(this.style.getPropertyValue(`--drawer-stack-order`)||0);for(let t of document.querySelectorAll(`theme-drawer[open]`))if(t!==this&&Number(t.style.getPropertyValue(`--drawer-stack-order`)||0)>e)return!1;return!0}};customElements.get(`theme-drawer`)||customElements.define(`theme-drawer`,en);var Z=class e extends CustomEvent{constructor(){super(e.eventName,{bubbles:!0})}static eventName=`theme-drawer:open`},tn=class e extends CustomEvent{constructor(){super(e.eventName,{bubbles:!0})}static eventName=`theme-drawer:close`},nn=class extends M{#e=.5;get#t(){return this.closest(`theme-drawer`)}get#n(){return this.closest(`dialog`)}connectedCallback(){super.connectedCallback(),document.addEventListener(h.cartLinesUpdate,this.#s),this.#t?.addEventListener(Z.eventName,this.#r),this.#t?.hasAttribute(`open`)&&this.#r(),document.addEventListener(`sidecart:open`,this.#i),document.addEventListener(`sidecart:load`,this.#a)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(h.cartLinesUpdate,this.#s),this.#t?.removeEventListener(Z.eventName,this.#r),document.removeEventListener(`sidecart:open`,this.#i),document.removeEventListener(`sidecart:load`,this.#a)}#r=()=>{this.#l(),customElements.whenDefined(`shopify-payment-terms`).then(()=>{(this.querySelector(`shopify-payment-terms`)?.shadowRoot?.querySelector(`#shopify-installments-cta`))?.addEventListener(`click`,()=>this.#t?.close(),{once:!0})})};#i=()=>{this.hasAttribute(`auto-open`)&&(this.#a(),this.#t?.isOpen||this.#t?.open())};#a=()=>{let e=this.querySelector(`.cart-items__table`);if(e){e.classList.add(`tw:pointer-events-none`,`tw:blur-[2px]`);let t=this.querySelector(`cart-items-component`);if(t){let{cartTotal:e,cartTotal2:n}=t.refs;e?.shimmer(),n?.shimmer()}}else{let e=this.querySelector(`cart-items-component`);e&&e.classList.add(`tw:pointer-events-none`,`tw:blur-[2px]`)}};#o=e=>(this.hasAttribute(`auto-open`),!1);#s=e=>{let t=this.hasAttribute(`auto-open`)&&e.action===`add`&&!this.#t?.isOpen&&this.#o(e.context),n=e.target instanceof Element?e.target.closest(`dialog:modal`):null;t&&!n&&!this.#c()&&this.#t?.open(),e.promise?.then(({detail:e})=>{let r=()=>requestAnimationFrame(()=>this.#l());if(!t||e?.didError){r();return}let i=()=>{this.#t?.isOpen||this.#t?.open(),r()};n?.open?n.addEventListener(`close`,i,{once:!0}):i()}).catch(e=>{e?.name!==`AbortError`&&console.warn(`[cart-drawer] Event promise rejected:`,e)})};#c(){return!!this.querySelector(`.cart-drawer--empty`)}#l(){let e=this.#n;if(!e)return;let t=e.querySelector(`.cart-drawer__content`),n=e.querySelector(`.cart-drawer__summary`);if(!t||!n){e.setAttribute(`cart-summary-sticky`,`false`);return}let r=e.getBoundingClientRect().height,i=n.getBoundingClientRect().height/r;e.setAttribute(`cart-summary-sticky`,i>this.#e?`false`:`true`)}};customElements.get(`cart-drawer-component`)||customElements.define(`cart-drawer-component`,nn);var rn=class extends M{requiredRefs=[`cartBubble`,`cartBubbleText`,`cartBubbleCount`];get currentCartCount(){return parseInt(this.refs.cartBubbleCount.textContent??`0`,10)}set currentCartCount(e){this.refs.cartBubbleCount.textContent=e<100?String(e):``}connectedCallback(){super.connectedCallback(),document.addEventListener(h.cartLinesUpdate,this.onCartUpdate),window.addEventListener(`pageshow`,this.onPageShow),this.ensureCartBubbleIsCorrect()}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(h.cartLinesUpdate,this.onCartUpdate),window.removeEventListener(`pageshow`,this.onPageShow)}onPageShow=e=>{e.persisted&&this.ensureCartBubbleIsCorrect()};onCartUpdate=e=>{e.promise?.then(({cart:e,detail:t})=>{let n=e?.totalQuantity??t?.itemCount??0;this.renderCartBubble(n)}).catch(e=>{e?.name!==`AbortError`&&console.warn(`[cart-icon] Event promise rejected:`,e)})};renderCartBubble=async(e,t=!0)=>{this.refs.cartBubbleCount.classList.toggle(`tw:hidden`,e===0),this.refs.cartBubble.classList.toggle(`visually-hidden`,e===0),this.currentCartCount=e,this.classList.toggle(`header-actions__cart-icon--has-cart`,e>0),sessionStorage.setItem(`cart-count`,JSON.stringify({value:String(this.currentCartCount),timestamp:Date.now()})),t&&e!==0&&(await new Promise(e=>requestAnimationFrame(e)),this.refs.cartBubble.classList.add(`cart-bubble--animating`),await T(this.refs.cartBubbleText),this.refs.cartBubble.classList.remove(`cart-bubble--animating`))};ensureCartBubbleIsCorrect=()=>{if(!this.refs.cartBubbleCount)return;let e=sessionStorage.getItem(`cart-count`);if(e===null)return;let t=this.refs.cartBubbleCount.textContent;try{let{value:n,timestamp:r}=JSON.parse(e);if(n===t)return;if(Date.now()-r<1e4){let e=parseInt(n,10);e>=0&&this.renderCartBubble(e,!1)}}catch{}}};customElements.get(`cart-icon`)||customElements.define(`cart-icon`,rn);var an=v({default:()=>on}),on=class extends s{static targets=[`tier`];static values={discountedPrice:String};static outlets=[`price`];connect(){this._boundOnQuantityChange=this.#e.bind(this),document.addEventListener(G.quantitySelectorUpdate,this._boundOnQuantityChange)}disconnect(){document.removeEventListener(G.quantitySelectorUpdate,this._boundOnQuantityChange)}#e(e){let{quantity:t,cartLine:n}=e.detail;n||this.setActiveTierByTierBuy(t)}#t(e){this.priceOutlet.updatePrice({price:e})}setActiveTier(e,t){let n=e instanceof Event?e.currentTarget:e;if(n.getAttribute(`aria-checked`)==`true`)return;
7this.tierTargets.forEach(e=>{e.setAttribute(`aria-checked`,`false`)}),n.setAttribute(`aria-checked`,`true`);let r=document.querySelector(`quantity-selector-component`);r.quantityInput.value=t??n.dataset.tierBuy,r.updateButtonStates(),this.#t(n.dataset.price)}setActiveTierByTierBuy(e){this.tierTargets.forEach((t,n,r)=>{let i=Number(t.dataset.tierBuy),a=r[n+1],o=a?Number(a.dataset.tierBuy):1/0;(n===0?e>=1&&e<o:e>=i&&e<o)&&this.setActiveTier(t,e)})}},sn=v({default:()=>cn}),cn=class extends s{static targets=[`inputField`,`list`];lastToggleTarget=null;connect(){document.addEventListener(`click`,this.#e)}disconnect(){document.removeEventListener(`click`,this.#e)}#e=e=>{this.hasListTarget&&(this.listTarget.classList.contains(`tw:opacity-0`)||this.element.contains(e.target)||this.toggleVisibility())};toggleVisibility(e){let t;e?.currentTarget?(t=e.currentTarget,this.lastToggleTarget=t):t=this.lastToggleTarget,t&&(t.hasAttribute(`open`)?(t.removeAttribute(`open`),t.setAttribute(`aria-expanded`,!1)):(t.setAttribute(`open`,!0),t.setAttribute(`aria-expanded`,!0))),this.listTarget.classList.toggle(`tw:opacity-0`),this.listTarget.classList.toggle(`tw:pointer-events-none`)}},ln=v({default:()=>un}),un=class extends s{static targets=[`subMenu`];#e=void 0;
7connect(){this._onSubMenuClick=this.#t.bind(this),this.element.addEventListener(`click`,this._onSubMenuClick)}disconnect(){this.element.removeEventListener(`click`,this._onSubMenuClick)}showSubMenu(e){let t=e.target.dataset.linkTitle;if(this.#e!==t){this.hideSubMenu(),clearTimeout(this._hoverTimer);let n=!!e.target.closest(`li`)?.querySelector(`[ref='submenu[]']`);this._hoverTimer=setTimeout(()=>{window.posthog&&window.posthog.capture(`menu_item_hover`,{menu_label:t,has_dropdown:n,device_type:`desktop`})},450)}this.#e=t}hideSubMenu(){clearTimeout(this._hoverTimer)}#t(e){let t=e.target.closest(`[ref='submenu[]'] a[href]`);if(!t)return;let n=t.closest(`[ref='submenu[]']`);window.posthog&&window.posthog.capture(`menu_dropdown_link_click`,{link_label:t.textContent.trim(),link_url:t.getAttribute(`href`),parent_menu:n?.dataset.linkTitle||null,device_type:`desktop`})}},dn=v({default:()=>fn}),fn=class extends s{static targets=[`productGrid`,`loadMoreButton`,`listSummary`,`itemsViewed`];pages=new Map;#e=null;#t=null;isLoading=!1;connect(){this.#r(`next`),document.addEventListener(h.searchUpdate,this.#s),document.addEventListener(h.collectionUpdate,this.#s)}disconnect(){document.removeEventListener(h.searchUpdate,this.#s),document.removeEventListener(h.collectionUpdate,this.#s)}async renderNextPage(){let e=this.productGridTarget;if(!e)return;let t=this.#n(`next`);if(!t||!this.#a(t))return;let n=this.#o(t.page);if(!n){let e=new Promise(e=>{this.#e=e});if(this.#r(`next`),await e,n=this.#o(t.page),!n)return}e.append(...n),e.dataset.currentPage=t.page.toString(),document.dispatchEvent(new CustomEvent(`swym:collections-loaded`)),this.itemsViewedTarget.textContent=parseInt(this.itemsViewedTarget.textContent)+n.length,this.#a(this.#n(`next`))||this.loadMoreButtonTarget.remove(),y(()=>{this.#r(`next`)})}#n(e){let t=e===`previous`,n=parseInt(this.productGridTarget?.dataset.currentPage),r=t?n-1:n+1,i=new URL(window.location.href);return i.searchParams.set(`page`,r.toString()),i.hash=``,{page:r,url:i}}async#r(e){let t=this.#n(e),n=()=>{e===`next`?(this.#e?.(),this.#e=null):(this.#t?.(),this.#t=null)};if(!t||!this.#a(t)){n();return}await this.#i(t.page,t.url),n()}async#i(e,t=void 0){let n={page:e,url:t};if(!t){let t=new URL(window.location.href);t.searchParams.set(`page`,e.toString()),t.hash=``,n.url=t}if(!this.#a(n))return;let r=this.productGridTarget?.dataset.sectionId,i=await W.getSectionHTML(r,!0,n.url);this.pages.set(e,i)}#a(e){if(!e)return!1;let t=this.productGridTarget?.dataset.lastPage;return!(!t||e.page<1||e.page>Number(t))}#o(e){let t=this.pages.get(e);if(!t)return;let n=new DOMParser().parseFromString(t,`text/html`).querySelector(`[data-
7pagination-target="productGrid"]`);if(n)return n.querySelectorAll(`[ref="cards[]"]`)}#s=()=>{this.pages.clear(),this.#e?.(),this.#t?.(),this.#e=null,this.#t=null;let e=this.productGridTarget,t=e?.dataset.lastPage,n=new MutationObserver(()=>{if(e?.dataset.lastPage!==t){if(n.disconnect(),!this.element.isConnected)return;this.#r(`next`)}});e&&(n.observe(e,{attributes:!0,attributeFilter:[`data-last-page`],childList:!0}),setTimeout(()=>{n&&n.disconnect()},3e3))}},pn=v({default:()=>mn}),mn=class extends s{static targets=[`toggleDescription`,`showMore`,`showLess`,`description`,`fade`];connect(){this.collapsedHeight=80,this.isExpanded=!1,this.checkOverflow()}checkOverflow(){let e=this.descriptionTarget.scrollHeight>this.collapsedHeight;this.toggleDescriptionTarget.classList.toggle(`tw:opacity-0`,!e),this.toggleDescriptionTarget.classList.toggle(`tw:pointer-events-none`,!e),this.fadeTarget.classList.toggle(`tw:opacity-0`,!e)}toggleShowMore(){let e=this.descriptionTarget;this.isExpanded?(e.style.height=`${e.scrollHeight}px`,requestAnimationFrame(()=>{e.style.height=``})):(e.style.height=`${e.scrollHeight}px`,e.addEventListener(`transitionend`,()=>{e.style.height=`auto`},{once:!0})),this.isExpanded=!this.isExpanded,this.fadeTarget.classList.toggle(`tw:opacity-0`,this.isExpanded),this.showMoreTarget.classList.toggle(`tw:hidden`),this.showLessTarget.classList.toggle(`tw:hidden`)}},hn=v({default:()=>gn}),gn=class extends s{static targets=[`price`];updatePrice(e){this.hasPriceTarget&&(this.priceTarget.innerHTML=e.price)}},_n=v({default:()=>vn}),vn=class extends s{connect(){this.zoomQuery=window.matchMedia(`(max-width: 767px)`),this.boundZoomQueryChange=this.handleZoomQueryChange.bind(this),this.zoomedImage=null,this.swiperThumb=this.initThumbSwiper(),this.mainSwiper=this.initMainSwiper(),this.zoomThumbSwiper=this.initZoomThumbSwiper(),this.zoomSwiper=this.initZoomSwiper(),this.dialogComponent=document.querySelector(`dialog-component`),this.initZoomLogics(),this.setupDesktopZoomListeners(),this.applyZoomModeForCurrentBreakpoint(),this.zoomQuery.addEventListener(`change`,this.boundZoomQueryChange)}disconnect(){this.zoomQuery?.removeEventListener(`change`,this.boundZoomQueryChange),this.mainSwiper?.destroy(),this.swiperThumb?.destroy(),this.zoomThumbSwiper?.destroy(),this.zoomSwiper?.destroy()}initMainSwiper(){let t=this.swiperThumb?{swiper:this.swiperThumb,slideThumbActiveClass:`tw:swiper-slide-thumb-active`}:{},n=this.element.querySelector(`.swiper-button-next`),i=this.element.querySelector(`.swiper-button-prev`);return new a(this.element,{modules:[r,e,o],navigation:{nextEl:n,prevEl:i},slidesPerView:1,thumbs:t})}initThumbSwiper(){let e=`.swiper-thumb`;return document.querySelector(e)?new a(e,{spaceBetween:10,slidesPerView:`auto`,freeMode:!0,watchSlidesProgress:!0}):null}initZoomThumbSwiper(){let e=`.zoom-thumbs-swiper`;return document.querySelector(e)?new a(e,{spaceBetween:8,slidesPerView:`auto`,watchSlidesProgress:!0,breakpoints:{0:{direction:`horizontal`},768:{direction:`vertical`}}}):null}initZoomSwiper(){let e=this.zoomThumbSwiper?{swiper:this.zoomThumbSwiper,slideThumbActiveClass:`tw:swiper-slide-thumb-active`}:{};return new a(`.zoom-main-swiper`,{modules:[o,i],zoom:{enabled:!1,toggle:!1},spaceBetween:10,thumbs:e})}applyZoomModeForCurrentBreakpoint(){this.zoomQuery.matches?this.zoomSwiper.zoom.enable():(this.zoomSwiper.zoom.disable(),this.resetDesktopZoomState())}handleZoomQueryChange(){this.applyZoomModeForCurrentBreakpoint()}initZoomLogics(){this.swiperThumb&&this.swiperThumb.slides.forEach((e,t)=>{e.addEventListener(`mouseenter`,()=>{this.mainSwiper.slideTo(t)})}),this.openZoomListener()}resetDesktopZoomState(){document.querySelectorAll(`.zoom-image`).forEach(e=>{e.classList.remove(`is-zoomed`),e.style.transform=``,e.dataset.zoomed=`false`}),this.zoomedImage=null}setupDesktopZoomListeners(){this.zoomThumbSwiper&&this.zoomThumbSwiper.slides.forEach((e,t)=>{e.addEventListener(`click`,()=>{this.resetDesktopZoomState(),this.zoomSwiper.slideTo(t),this.zoomSwiper.allowTouchMove=!0})}
7),document.querySelectorAll(`.zoom-image`).forEach(e=>{e.dataset.zoomed=`false`;let t=null,n=null,r=()=>window.innerWidth>=768;e.addEventListener(`click`,()=>{if(!r())return;let n=e.dataset.zoomed!==`true`;t=e.getBoundingClientRect(),e.dataset.zoomed=String(n),e.classList.toggle(`is-zoomed`,n),this.zoomSwiper.allowTouchMove=!n,this.zoomedImage=n?e:null,n||(e.style.transform=``)}),e.addEventListener(`mousemove`,i=>{if(e.dataset.zoomed!==`true`||!r()||n)return;let a=(i.clientX-t.left)/t.width*100,o=(i.clientY-t.top)/t.height*100,s=(50-a)*1.5,c=(50-o)*1.5;n=requestAnimationFrame(()=>{e.style.transform=`translate(${s}%, ${c}%) scale(2.5)`,n=null})})})}openZoomListener(){document.querySelectorAll(`[data-product-image]`).forEach((e,t)=>{let n=()=>{this.dialogComponent?.showDialog(),this.zoomSwiper.slideTo(t,0)};e.addEventListener(`click`,n);let r=null;e.addEventListener(`touchstart`,e=>{e.touches.length===2&&(r=this.getDistance(e.touches[0],e.touches[1]))},{passive:!0}),e.addEventListener(`touchmove`,e=>{e.touches.length===2&&r&&this.getDistance(e.touches[0],e.touches[1])>r*1.1&&(n(),r=null)},{passive:!0}),e.addEventListener(`touchend`,()=>{r=null})})}getDistance(e,t){return Math.hypot(t.clientX-e.clientX,t.clientY-e.clientY)}},yn=v({default:()=>bn}),bn=class extends s{static targets=[`button`];connect(){window.addEventListener(`scroll`,this.#e)}scrollToTop(){window.scrollTo({top:0,behavior:`smooth`})}#e=()=>{let e=window.scrollY>0;this.#t(e)};#t(e){let t=this.buttonTarget;t.classList.toggle(`tw:opacity-0`,!e),t.classList.toggle(`tw:opacity-100`,e)}},xn=v({default:()=>Sn}),Sn=class extends s{static targets=[`form`,`icon`,`input`,`submit`,`suggestions`];static values={placeholder:String};static cache=new Map;connect(){this.hasInputTarget&&(this.inputTarget.addEventListener(`focus`,this.handleFocus.bind(this)),this.inputTarget.addEventListener(`blur`,this.handleBlur.bind(this))),document.addEventListener(`click`,this.#e)}disconnect(){this.hasInputTarget&&(this.inputTarget.removeEventListener(`focus`,this.handleFocus.bind(this)),this.inputTarget.removeEventListener(`blur`,this.handleBlur.bind(this))),document.removeEventListener(`click`,this.#e)}handleFocus(){this.toggleClasses(),this.inputTarget.placeholder=``}handleBlur(){this.toggleClasses(),this.inputTarget.placeholder=this.placeholderValue}#e=e=>{this.hasSuggestionsTarget&&(this.suggestionsTarget.classList.contains(`tw:hidden`)||this.element.contains(e.target)||this.suggestionsTarget.classList.add(`tw:hidden`))};toggleClasses(){[`tw:opacity-100`,`tw:opacity-0`].forEach(e=>{this.iconTarget.classList.toggle(e)}),[`tw:opacity-0`,`tw:opacity-100`,`tw:-translate-x-2`].forEach(e=>{this.submitTarget.classList.toggle(e)}),this.inputTarget.classList.toggle(`tw:pl-3`),this.formTarget.classList.toggle(`tw:pl-4`)}renderSearchResults(e){this.suggestionsTarget.innerHTML=e,this.isOpen=!0,this.suggestionsTarget.classList.remove(`tw:hidden`)}async getSuggestions(e){let t=e.target.value;if(!t)return this.suggestionsTarget.classList.add(`tw:hidden`);if(this.constructor.cache.has(t))return this.renderSearchResults(this.constructor.cache.get(t));let n=await fetch(`${Theme.routes.predictive_search_url}?q=${encodeURIComponent(t)}§ion_id=predictive-search`);if(!n.ok){let e=Error(n.status);throw this.toggleClasses(),e}let r=await n.text(),i=new DOMParser().parseFromString(r,`text/html`).querySelector(`#shopify-section-predictive-search`).innerHTML;this.constructor.cache.set(t,i),this.renderSearchResults(i)}},Cn=v({default:()=>wn}),wn=class extends s{#e=null;#t=!1;connect(){this.#r(),window.SwymCallbacks||(window.SwymCallbacks=[]),window.SwymCallbacks.push(this.#n)}disconnect(){this.#a(),this.#t=!1}#n(e){document.addEventListener(`swym:collections-loaded`,function(){e.initializeActionButtons(`product-recommendations`),e.initializeActionButtons(`[data-controller='pagination']`)})}#r(){if(window._swat&&window._swat.evtLayer){this.#i();return}let e=new MutationObserver(t=>{window._swat&&window._swat.evtLayer&&!this.#t&&(this.#i(),e.disconnect())});e.observe(document.head,{childList:!0,subtree:!0}),setTimeout(()=>{e.disconnect(),window._swat&&window._swat.evtLayer&&!this.#t&&this.#i()},1e4)}#i(){this.#t||=(this.#e=this.#o.bind(this),window._swat.evtLayer.addEventListener(`sw:addedtocart`,this.#e),!0)}#a(){this.#e&&window._swat&&window._swat.evtLayer&&window._swat.evtLayer.removeEventListener(`sw:addedtocart`,this.#e)}async#o(e){let t=d.createPromise();document.dispatchEvent(new d({action:`add`,context:`sw:addedtocart`,lines:[{merchandiseId:e.detail.d.productData.id,quantity:e.detail.d.quantity}],promise:t.promise}));try{let e=await fetch(window.Shopify.routes.root+`cart.js`).then(e=>e.json());t.resolve({cart:d.createCartFromAjaxResponse(e)})}catch(e){document.dispatchEvent(new u({error:e.message,code:`SERVICE_UNAVAILABLE`})),t.reject(e)}}},Tn=v({default:()=>En}),En=class extends s{static targets=[`swiper`,`playPause`,`playIcon`,`pauseIcon`,`progress`,`next`,`prev`,`pagination`,`scrollbar`];static values={autoplay:Boolean,autoplayDelay:{type:Number,default:3e3},pauseOnMouseEnter:Boolean,slidesSm:Number,slidesLg:Number,slidesXl:Number,slidesPerView:String,spaceBetween:Number,spaceBetweenSmall:Number};connect(){this.swiper||(this.swiper=this.#e(),this.hasPlayPauseTarget&&this.playPauseTarget.addEventListener(`click`,this.togglePlayPause))}disconnect(){this.hasPlayPauseTarget&&this.playPauseTarget.removeEventListener(`click`,this.togglePlayPause),this.swiper?.destroy(!0,!0),this.swiper=null}togglePlayPause=()=>
7{if(!this.swiper?.autoplay)return;let e=this.swiper.autoplay.running;e?this.swiper.autoplay.stop():this.swiper.autoplay.start(),this.#d(!e),this.playPauseTarget.setAttribute(`aria-pressed`,String(!e))};#e(){let i={modules:[r,e,n,t],slidesPerView:this.slidesPerViewValue||1,loop:this.#c(),...this.#t(),...this.#n(),...this.#r(),...this.#i(),...this.#a(),...this.#o(),...this.#s()};return new a(this.#u,i)}#t(){return this.spaceBetweenValue?{spaceBetween:this.spaceBetweenValue}:{}}#n(){return!this.hasNextTarget||!this.hasPrevTarget?{}:{navigation:{nextEl:this.nextTarget,prevEl:this.prevTarget}}}#r(){return this.hasPaginationTarget?{pagination:{el:this.paginationTarget,clickable:!0}}:{}}#i(){if(!this.hasProgressTarget)return{};let e=this.progressTarget;return{on:{autoplayTimeLeft:(t,n,r)=>{e.style.setProperty(`--progress`,1-r)}}}}#a(){let e={},t=this.element.closest(`[data-slides-sm]`);t&&(this.slidesSmValue=t.dataset.slidesSm,this.slidesLgValue=t.dataset.slidesLg,this.slidesXlValue=t.dataset.slidesXl);let n=this.spaceBetweenValue?{spaceBetween:this.spaceBetweenValue}:{};return this.slidesSmValue&&(e[0]={slidesPerView:this.slidesSmValue,...n,...this.spaceBetweenSmallValue?{spaceBetween:this.spaceBetweenSmallValue}:{}}),this.slidesLgValue&&(e[640]={slidesPerView:this.slidesLgValue,...n}),this.slidesXlValue&&(e[1024]={slidesPerView:this.slidesXlValue,...n}),Object.keys(e).length?{breakpoints:e}:{}}#o(){return this.autoplayValue?{autoplay:{delay:this.autoplayDelayValue,pauseOnMouseEnter:this.pauseOnMouseEnterValue}}:{}}#s(){return this.hasScrollbarTarget?{scrollbar:{el:this.scrollbarTarget,draggable:!0}}:{}}#c(){return!this.hasScrollbarTarget&&this.#l()}#l(){return this.element.querySelectorAll(`.swiper-slide`).length>1}get#u(){return this.hasSwiperTarget?this.swiperTarget:this.element}#d(e){this.hasPlayIconTarget&&this.hasPauseIconTarget&&(this.playIconTarget.classList.toggle(`tw:hidden`,e),this.pauseIconTarget.classList.toggle(`tw:hidden`,!e))}},Dn=v({default:()=>On}),On=class extends s{static targets=[`items`,`sentinel`,`results`,`loading`,`error`,`consentWarning`];static values={productsPerPage:Number,resultsText:String};alreadyLoaded=!1;connect(){this.showLoading(),document.addEventListener(`visitorConsentCollected`,e=>{this.checkConsentAndLoad()}),window.Shopify?.loadFeatures?.([{name:`consent-tracking-api`,version:`0.1`}],e=>{e||this.checkConsentAndLoad()})}checkConsentAndLoad(){if(!window.Shopify?.customerPrivacy?.preferencesProcessingAllowed?.()){this.hideLoading(),this.showConsentWarning(),console.warn(`Impossibile caricare la wishlist: preferenze di privacy non consentite.`);return}this.alreadyLoaded||(this.alreadyLoaded=!0,window.SwymCallbacks||(window.SwymCallbacks=[]),window.SwymCallbacks.push(this.initSwymUI.bind(this)),this.products=[],this.batchSize=this.productsPerPageValue,this.currentIndex=0,this.observer=new IntersectionObserver(this.loadMore.bind(this),{rootMargin:`200px`}))}initSwymUI(e){this.swat=e,this.fetchWishlist()}setTextIfExists(e,t){let n=document.querySelector(e);n&&(n.textContent=t)}fetchWishlist(){let e=new URLSearchParams(window.location.search).get(`hkey`);e?this.fetchSharedWishlist(e):this.swat.fetchLists({callbackFn:e=>{let t=e.reverse()[0];this.products=t.listcontents||[],this.updateResults(),this.renderNextBatch()},errorFn:e=>console.error(`Error fetching Lists`,e)})}fetchSharedWishlist(e){this.swat.fetchListDetails({lid:e},e=>{this.products=e.items||[],this.updateResults(),this.renderNextBatch();let t=e.list?.userinfo?.fname,n=e.list?.userinfo?.lname,r=e.list?.userinfo?.em;this.setTextIfExists(`[data-fname]`,t),this.setTextIfExists(`[data-lname]`,n),this.setTextIfExists(`[data-email]`,r),(t||n||r)&&document.querySelector(`[data-shareInfo]`).classList.remove(`tw:hidden`)},e=>{this.hideLoading(),this.showError(),console.error(`Error while fetching List details`,e)})}async renderNextBatch(){this.showLoading(),this.observer.unobserve(this.sentinelTarget);let e=this.products.slice(this.currentIndex,this.currentIndex+this.batchSize).map(async e=>
7{let t=e.du.split(`/products/`)[1],n=await(await fetch(`/products/${t}?section_id=wishlist-product`)).text(),r=n.indexOf(`>`)+1,i=n.lastIndexOf(`</div>`);return n.substring(r,i).trim()||``});Promise.all(e).then(e=>{this.itemsTarget.insertAdjacentHTML(`beforeend`,e.join(``)),this.currentIndex+=this.batchSize,this.swat.initializeActionButtons(`[data-controller='wishlist-grid']`),this.hideLoading(),this.currentIndex>=this.products.length?this.observer.disconnect():requestAnimationFrame(()=>this.observer.observe(this.sentinelTarget))})}updateResults(){this.hasResultsTarget&&(this.resultsTarget.textContent=`${this.products.length} ${this.resultsTextValue}`)}loadMore(e){e.some(e=>e.isIntersecting)&&this.renderNextBatch()}showLoading(){this.hasLoadingTarget&&this.loadingTarget.classList.remove(`tw:hidden`)}showError(){this.hasErrorTarget&&this.errorTarget.classList.remove(`tw:hidden`)}showConsentWarning(){this.hasConsentWarningTarget&&this.consentWarningTarget.classList.remove(`tw:hidden`)}hideLoading(){this.hasLoadingTarget&&this.loadingTarget.classList.add(`tw:hidden`)}},kn=c.start(),An=Object.assign({"./controllers/discount-kit-volume-tiers-controller.js":an,"./controllers/dropdown-selector-controller.js":sn,"./controllers/header-controller.js":ln,"./controllers/pagination-controller.js":dn,"./controllers/plp-banner-controller.js":pn,"./controllers/price-controller.js":hn,"./controllers/product-gallery-controller.js":_n,"./controllers/scroll-to-top-controller.js":yn,"./controllers/search-controller.js":xn,"./controllers/swat-wishlist-controller.js":Cn,"./controllers/swiper-controller.js":Tn,"./controllers/wishlist-grid-controller.js":Dn});for(let e in An){let t=e.split(`/`).pop().replace(`-controller.js`,``),n=An[e];if(!n.default){console.error(`Missing default export in ${e}`);continue}kn.register(t,n.default)}document.addEventListener(`doofinder.hide`,function(e){e.stopImmediatePropagation()},!0);var Q=document.querySelector(`form[action*="search"]`),$=Q?.querySelector(`input[name="q"]`);$?.addEventListener(`input`,e=>{$.click()}),document.addEventListener(`doofinder.show`,function(e){let t=document.querySelector(`input[type="search"][name="search[query]"]`);t&&Q&&$&&(t.value=$.value,t.dispatchEvent(new Event(`input`,{bubbles:!0})),t.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.keyCode===13)&&(e.preventDefault(),$.value=t.value,Q.submit())}))}),document.addEventListener(`doofinder.cart.add`,async function(e){let t=`doofinder.cart.add`;document.querySelector(`.dfd-root[hidden]`)&&(t=`doofinder.cart.add.recommendations`,setTimeout(()=>{document.dispatchEvent(new CustomEvent(`sidecart:open`))},200));let n=d.createPromise();document.dispatchEvent(new d({action:`add`,context:t,lines:[{merchandiseId:e.detail.item_id,quantity:e.detail.amount}],promise:n.promise})),e.detail.statusPromise.then(async()=>{try{let e=await fetch(window.Shopify.routes.root+`cart.js`).then(e=>e.json());n.resolve({cart:d.createCartFromAjaxResponse(e)})}catch(e){document.dispatchEvent(new u({error:e.message,code:`SERVICE_UNAVAILABLE`})),n.reject(e)}}).catch(e=>{document.dispatchEvent(new u({error:e.message,code:`SERVICE_UNAVAILABLE`})),n.reject(e)})},!0);var jn=3,Mn=6,Nn=`.dfd-results-grid[id*="collection"]`,Pn=e=>{let t=5381,n=e.length;for(;n;)t=t*33^e.charCodeAt(--n);return(t>>>0).toString(36)};setInterval(()=>
7{document.querySelectorAll(Nn).forEach(e=>{let t=[...e.querySelectorAll(`[id*="results_collection_"]`)];if(!t.length)return;let n=Pn(t.map(e=>e.id||e.dataset.phxId||``).join(`|`));if(e.dataset.fp===n)return;e.dataset.fp=n,e.querySelectorAll(`.dfd-custom-section-header`).forEach(e=>e.remove());let r=[],i=[];t.forEach(e=>{let t=e.querySelector(`a.dfd-collection-item`)?.dataset.entity;t&&(t===`winery`?i:r).push(e)}),[...r.slice(0,jn),...i.slice(0,Mn)].forEach(e=>e.style.display=`block`);let a=(t,n)=>{if(!t.length)return;let r=document.createElement(`div`);r.className=`dfd-custom-section-header`,r.textContent=n,r.style.display=`block`,e.insertBefore(r,t[0])};a(r,`Collezioni`),a(i,`Cantine`)})},200);var Fn=Shopify.theme.role===`main`,In=Fn?.05:0,Ln=Fn?.05:0,Rn=Shopify.shop===`tannico-prod.myshopify.com`?`production`:`staging`,zn=[`shopifysvc.com`,`eu1-api.doofinder.com`,`eu1-recommendations.doofinder.com`,`api.tapc.art`,`cdn.shopify.com`,`web-pixels.shopifyapps.com`,`/web-pixels/`,`/shopifycloud/shop-js/`,`chrome-extension://`,`moz-extension://`,`safari-extension://`];l({dsn:`https://e63c6ca170201665a3d5af2f7d1d9023@o4508737544847360.ingest.de.sentry.io/4508738990964816`,release:`${Shopify.theme.name}@${Shopify.theme.id}`,tracesSampleRate:Ln,sampleRate:In,ignoreErrors:[/^ResizeObserver loop limit exceeded$/,/^Script error\.?$/,/^An event processor returned `null`, will not send event\.$/,`realDefault`],environment:Rn,beforeSend(e,t){let n=e?.message||e?.exception?.values?.[0]?.value||``,r=e?.exception?.values?.[0]?.stacktrace?.frames||[],i=e?.breadcrumbs||[],a=[n,...r.map(e=>e.filename||``),...i.map(e=>e.data?.url||``)].join(` `);return zn.some(e=>a.includes(e))||/Load failed|Failed to fetch|NetworkError/i.test(n)&&![`/cart/`,`/recommendations/`,`/search/suggest`,`?sections=`,`/products/`,`/collections/`].some(e=>a.includes(e))?null:(e.tags={...e.tags,theme_role:Shopify.theme.role,shop:Shopify.shop,template:document.body?.dataset?.template||`unknown`},e)}}); 8//# sourceMappingURL=theme.min.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.