PageSourceSearch

https://www.maccosmetics.com/cdn/shop/t/182/assets/cart-line-subscription.BoJOFjWx.min.js

js maccosmetics.com collected 2026-09-24 17:09:58 UTC 3,532 bytes, 1 lines download raw bytes

1import{a as e}from"./BaseElement.wji90fuE.min.js";import{W as t}from"./WithShopifyCart.Dy1sQhoJ.min.js";import{x as i,t as r}from"./vendor-lit.2u3dzq2T.min.js";import"./WithApiClient.B8AOHZZP.min.js";import"./fetchWithCache.BJ12kVQ7.min.js";import"./vendor.D2HIaoTS.min.js";import"./cart-sections.BcMbGr3r.min.js";import"./debounce.uPZYEJlg.min.js";Object.getOwnPropertyDescriptor;let s=class extends(t(e)){constructor(){super(...arguments),this.lineIndex=0,this.quantity=1,this.defaultPlan="",this.msrp="",this.ssrChecked=!1,this.errorMessage="",this.appliedPlan="",this.reverting=!1,this.busy=!1,this.handleChange=e=>{var t;if(this.reverting)return;const i=e.target;if(i instanceof Element){if(i.closest("[data-subscription-frequency]")){const e=this.readValue(i);return void(e&&this.applyPlan(e,"frequency"))}if(i.matches("[data-subscription-toggle]")){const e=i.checked?(null==(t=this.frequencyControl)?void 0:t.value)||this.defaultPlan:null;this.applyPlan(e,"toggle")}}}}createRenderRoot(){return document.createDocumentFragment()}render(){return i``}connectedCallback(){var e;super.connectedCallback(),this.lineIndex=Number(this.dataset.lineIndex??"0"),this.quantity=Number(this.dataset.quantity??"1"),this.defaultPlan=this.dataset.defaultPlan??"",this.msrp=this.dataset.msrp??"",this.ssrChecked="true"===this.dataset.checked,this.errorMessage=this.dataset.errorMessage??"",this.appliedPlan=(null==(e=this.frequencyControl)?void 0:e.getAttribute("value"))??this.defaultPlan,this.addEventListener("change",this.handleChange)}disconnectedCallback(){this.removeEventListener("change",this.handleChange),super.disconnectedCallback()}get checkbox(){return this.querySelector("[data-subscription-toggle]")}get frequencyControl(){return this.querySelector("[data-subscription-frequency] elc-select, [data-subscription-frequency] select")}liveQuantity(){var e;const t=null==(e=this.closest("[data-t1-line]"))?void 0:e.querySelector('quantity-input input[name="updates[]"]'),i=Number(null==t?void 0:t.value);return Number.isFinite(i)&&i>0?i:this.quantity}readValue(e){return"value"in e?String(e.value??""):""}buildProperties(e){var t,i,r;const s={...null==(r=null==(i=null==(t=this.cart)?void 0:t.items)?void 0:i[this.lineIndex-1])?void 0:r.properties};return e?s._msrp=this.msrp:delete s._msrp,0===Object.keys(s).length&&(s._msrp=""),s}async applyPlan(e,t){if(this.busy||this.shopifyCartLoading)this.revert(t);else{this.busy=!0,this.clearError(),this.setBusy(!0);try{await this.changeItemToCart({line:this.lineIndex,quantity:this.liveQuantity(),selling_plan:e,properties:this.buildProperties(e)})}catch{this.isConnected&&(this.revert(t),this.showError())}finally{this.busy=!1,this.isConnected&&this.setBusy(!1)}}}revert(e){if("toggle"===e){const e=this.checkbox;return void(e&&(e.checked=this.ssrChecked))}const t=this.frequencyControl;t&&t.value!==this.appliedPlan&&(this.reverting=!0,t.value=this.appliedPlan,this.reverting=!1)}setBusy(e){e?this.setAttribute("aria-busy","true"):this.removeAttribute("aria-busy")}clearError(){var e;null==(e=this.querySelector("alert-banner"))||e.remove()}showError(){if(!this.errorMessage||this.querySelector("alert-banner"))return;const e=document.createElement("alert-banner");e.setAttribute("type","error"),e.setAttribute("variant","inline"),e.setAttribute("disable-close",""),e.setAttribute("description",this.errorMessage),this.appendChild(e)}};s=((e,t)=>{for(var i,r=t,s=e.length-1;s>=0;s--)(i=e[s])&&(r=i(r)||r);return r})([r("cart-line-subscription")],s);export{s as CartLineSubscription};

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.