1import{a as v}from"./BaseElement.T5rcpVrk.min.js";import{c as k}from"./quickshop.CQYPJqsz.min.js";import"./core-icon.DRV01KCg.min.js";import{w as C}from"./campaign-selection.B5-TeUQd.min.js";import{g as I}from"./extract-configuration.CvfQoQbY.min.js";import{W as L}from"./WithShopifyCart.BpeFh6Ju.min.js";import{c as B}from"./consume.buk_6rqo.min.js";import{b as w,A as x}from"./lit-element.Ck2-kYtD.min.js";import{t as P}from"./custom-element.BhZVzxrc.min.js";import{n as g}from"./property.Dm56DSFq.min.js";import{r as p}from"./state.pNvj1WJM.min.js";import{e as q,n as M}from"./ref.Bc1J5A28.min.js";var V=Object.defineProperty,z=Object.getOwnPropertyDescriptor,d=(t,e,s,i)=>{for(var r=i>1?void 0:i?z(e,s):e,h=t.length-1,o;h>=0;h--)(o=t[h])&&(r=(i?o(e,s,r):o(r))||r);return i&&r&&V(e,s,r),r};let n=class extends L(v){constructor(){super(),this.membershipHandle="elite-club-membership",this.gwp=!1,this.quickShopUrl=null,this.isAddingToCart=!1,this.error=null,this.$errorMessage=q(),this.stickyBarIsVisible=!1,this.productFormButton=null,this.stickyAddToCartBar=null,this.stickyAddToCartSizes=null,this.submitButtons=[],this.handleStickyBarSizeClick=t=>{t.preventDefault(),this.stickyAddToCartSizes&&Array.from(this.stickyAddToCartSizes).some(e=>e.classList.contains("cursor-pointer"))&&window.scrollTo({top:0,behavior:"smooth"})}}connectedCallback(){super.connectedCallback(),this.productFormButton=this.querySelector("[product-form-button]"),this.stickyAddToCartBar=this.querySelector("[data-sticky-add-to-cart-bar]"),this.stickyAddToCartSizes=this.querySelectorAll("[data-sticky-add-to-cart-size]"),this.submitButtons=Array.from(this.querySelectorAll('button[type="submit"]')),this.setupObserver(),this.stickyAddToCartSizes.forEac
1h(t=>{t.addEventListener("click",this.handleStickyBarSizeClick)})}disconnectedCallback(){super.disconnectedCallback(),this.observer&&this.observer.disconnect(),this.stickyAddToCartBar&&this.stickyAddToCartBar.removeEventListener("click",this.handleStickyBarSizeClick)}updated(t){t.has("quickShopUrl")&&this._syncFromQuickShopUrl()}_syncFromQuickShopUrl(){if(!this.quickShopUrl)return;const t=new URL(this.quickShopUrl,window.location.origin);this.gwp=t.searchParams.get("gwp")==="true"||t.searchParams.get("gwp")==="1",this.selectedVariantId=t.searchParams.get("variant")??this.selectedVariantId,this.gwp?(this.discountTierId=t.searchParams.get("discountTierId")??this.discountTierId,this.discountApp=t.searchParams.get("discountApp")??this.discountApp,this.discountTitle=t.searchParams.get("discountTitle")??this.discountTitle,this.discountId=t.searchParams.get("discountId")??this.discountId):(this.discountTierId=void 0,this.discountApp=void 0,this.discountTitle=void 0,this.discountId=void 0),this._setGwpStylesOnModal(this.closest("dialog"),this.gwp)}_setGwpStylesOnModal(t,e){var u;if(!t)return;const s=t.querySelector("[data-dialog-title] slot"),i=t.querySelector("[data-product-price]"),r=t.querySelector(".shopify-payment-button"),o=((s==null?void 0:s.assignedElements())??[]).find(a=>a.tagName==="H5"),c=(o==null?void 0:o.querySelector("[data-header-title]"))??null;if(o&&o.classList.toggle("py-xs",e),c){const a="data-original-title";if(c.hasAttribute(a)||c.setAttribute(a,c.textContent??""),e){const m=(u=window==null?void 0:window.cartStrings)==null?void 0:u.yourFreeGift;m&&(c.textContent=m)}else c.textContent=c.getAttribute(a)??""}i&&i.classList.toggle("hidden",e),r&&r.classList.toggle("hidden",e)}_attachGwpProps(t){t.set("properties[_is_gwp]","true");const e=(s,i)=>{i!=null&&String(i)!==""&&t.set(`properties[${s}]`,String(i))};e("__discount_title",this.discountTitle),e("__discount_app",this.discountApp),e("__discount_achieved_tier_id",this.discountTierId),e("__discount_id",this.discountId)}async _handleFormSubmit(t){var e,s,i,r,h,o;try{this.error=null,t.preventDefault(),this._setLoadingState(!0);const c=t.target,u=this._addRecipient(new FormData(c));if(!u)return this._setLoadingState(!1),!1;const a=c.closest("[data-product-handle]"),m=(a==null?void 0:a.getAttribute("data-product-handle"))||"",_=(a==null?void 0:a.getAttribute("data-product-id"))||"",A=(a==null?void 0:a.getAttribute("data-product-title"))||"",T=((e=u.get("id"))==null?void 0:e.toString())||"";if(m===this.membershipHandle&&!(await this.getCart()).items.some(l=>{var f,S;return((f=l.properties)==null?void 0:f._is_map_policy)&&((S=l.properties)==null?void 0:S._is_gwp)!=="true"}))return this.error=this.membershipError,await this.updateComplete,(s=this.$errorMessage.value)==null||s.scrollIntoView({behavior:"smooth",block:"center"}),this._setLoadingState(!1),!1;if(this.gwp&&this.discountApp&&((i=window==null?void 0:window.functionsKit)!=null&&i.cart)){const{items:b}=window.functionsKit.cart,y=b.filter(l=>I(l,{discountApp:this.discountApp,discountTierId:this.discountTierId,discountTitle:this.discountTitle}));y.length&&((h=(r=window==null?void 0:window._swat)==null?void 0:r.storage)==null||h.setSessionData("pauseSFLPopup",!0),await this.removeItemFromCart(y.map(l=>l.key)),setTimeout(()=>{var l,f;(f=(l=window==null?void 0:window._swat)==null?void 0:l.storage)==null||f.setSessionData("pauseSFLPopup",!1)},500))}return this.gwp&&this._attachGwpProps(u),c&&await this.addItemToWithForm(u,{productHandle:m,productId:_,productTitle:A,selectedVariantId:T}),this.gwp&&this.discountId&&C(this.discountId),this._setLoadingState(!1),this.openCartDrawer(),!0}catch(c){return this.error=c.errors||c.message||"An error occurred",await this.updateComplete,(o=this.$errorMessage.value)==null||o.scrollIntoView({behavior:"smooth",block:"center"}),this._setLoadingState(!1),!1}}_setLoadingState(t){this.isAddingToCart=t,this.submitButtons.forEach(e=>{e.disabled=t;const s=e.querySelector("[data-button-text]"),i=e.querySelector("[data-button-loader]");s&&s.classList.toggle("hidden",t),i&&i.classList.toggle("hidden",!t)})}_addRecipient(t){const e=this.querySelector("recipient-form"),s=e==null?void 0:e.querySelector("[data-toggle]");if(e&&(s!=null&&s.checked)){if(!e.validateForm())return!1;let r=!1;const h=e==null?void 0:e.querySelectorAll("[data-value]");h==null||h.forEach(o=>{o.value&&(r=!0,t.append(o.name,o.value))}),r&&t.append(s==null?void 0:s.name,"true")}return t}get errorHTML(){return this.error?w`<div 2 class="mt-sm p-xs flex items-center rounded-md bg-[#E8A3171A] text-xs text-[#8A6200]" 3 role="alert" 4 ${M(this.$errorMessage)} 5 >
6 <span class="mr-2.5 flex items-center"> 7 <svg-icon 8 src="icon-alert-triangle" 9 style="--icon-size: 14px;" 10 ></svg-icon> 11 </span> 12 <span>${this.error}</span> 13 </div>`:x}setupObserver(){this.productFormButton&&(this.observer=new IntersectionObserver(t=>{const[e]=t,i=e.boundingClientRect.bottom<0;this.toggleVisibility(i)},{threshold:0,rootMargin:"0px"}),this.observer.observe(this.productFormButton))}toggleVisibility(t){!this.stickyAddToCartBar||this.stickyBarIsVisible===t||(this.stickyBarIsVisible=t,t?(this.stickyAddToCartBar.classList.remove("translate-y-full"),this.stickyAddToCartBar.classList.add("md:bottom-[21px]")):(this.stickyAddToCartBar.classList.add("translate-y-full"),this.stickyAddToCartBar.classList.remove("md:bottom-[21px]")))}render(){return w` 14 <slot @submit=${this._handleFormSubmit}></slot> 15 ${this.errorHTML} 16 `}};d([g({type:String,attribute:"data-membership-addon"})],n.prototype,"membershipAddon",2);d([g({type:String,attribute:"data-membership-error"})],n.prototype,"membershipError",2);d([g({type:String,attribute:"data-membership-handle"})],n.prototype,"membershipHandle",2);d([p()],n.prototype,"gwp",2);d([p()],n.prototype,"selectedVariantId",2);d([p()],n.prototype,"discountTierId",2);d([p()],n.prototype,"discountApp",2);d([p()],n.prototype,"discountTitle",2);d([p()],n.prototype,"discountId",2);d([B({context:k,subscribe:!0}),p()],n.prototype,"quickShopUrl",2);d([p()],n.prototype,"isAddingToCart",2);n=d([P("product-form")],n);
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.