@ordergroove/offers 2.34.2 → 2.34.3-alpha-PR-760-2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,7 @@
4
4
  │ └ examples/index.js
5
5
  └ examples/index.js ───────────────────────────────────────── 9.7kb ─── 3.4%
6
6
 
7
- dist/offers.js ───────────────────────────────────────────── 144.6kb ─ 100.0%
7
+ dist/offers.js ───────────────────────────────────────────── 144.7kb ─ 100.0%
8
8
  ├ src/components/Offer.js ─────────────────────────────────── 8.2kb ─── 5.7%
9
9
  │ └ src/make-api.js
10
10
  │ └ src/index.js
@@ -31,11 +31,11 @@
31
31
  │ └ src/components/Price.js
32
32
  │ └ src/make-api.js
33
33
  │ └ src/index.js
34
+ ├ src/shopify/shopifyMiddleware.ts ────────────────────────── 4.8kb ─── 3.3%
35
+ │ └ src/index.js
34
36
  ├ src/components/Modal.js ─────────────────────────────────── 4.8kb ─── 3.3%
35
37
  │ └ src/make-api.js
36
38
  │ └ src/index.js
37
- ├ src/shopify/shopifyMiddleware.ts ────────────────────────── 4.8kb ─── 3.3%
38
- │ └ src/index.js
39
39
  ├ src/core/actions-preview.js ─────────────────────────────── 4.4kb ─── 3.1%
40
40
  │ └ src/components/Offer.js
41
41
  │ └ src/make-api.js
package/dist/offers.js CHANGED
@@ -1020,6 +1020,6 @@ var lib=(()=>{var La=Object.create;var ct=Object.defineProperty;var Ma=Object.ge
1020
1020
  <slot name="append"></slot>
1021
1021
  `:u`
1022
1022
  <slot name="fallback"></slot>
1023
- `}};n(Cn,"Price");var _p=n((t,e)=>{var r;return{productPlans:t.productPlans,configDefaultFrequency:(r=t.config)==null?void 0:r.defaultFrequency,frequency:oe(e.product)(t)}},"mapStateToProps"),fa=g(_p)(Cn);q();function Rn(t){ua(),ei(t);try{customElements.define("og-when",Fi),customElements.define("og-text",zi),customElements.define("og-incentive-text",Ki),customElements.define("og-offer",oa),customElements.define("og-select-frequency",Qi),customElements.define("og-optout-button",ji),customElements.define("og-optin-toggle",Bi),customElements.define("og-optin-status",Li),customElements.define("og-optin-button",Mi),customElements.define("og-optin-select",Vi),customElements.define("og-upsell-button",Hi),customElements.define("og-frequency-status",$i),customElements.define("og-modal",kr),customElements.define("og-select",qr),customElements.define("og-tooltip",Dr),customElements.define("og-upsell-modal",Gi),customElements.define("og-next-upcoming-order",Xi),customElements.define("og-price",fa),customElements.define("og-prepaid-toggle",na),customElements.define("og-prepaid-data",sa),customElements.define("og-prepaid-button",ia),customElements.define("og-prepaid-select",aa),customElements.define("og-subscription-button",ca)}catch{console.info("OG WebComponents already registered, skipping.")}let e=!1,r={store:t,isReady:()=>e,setEnvironment(o){return t.dispatch(lo(o)),this},setMerchantId(o){return t.dispatch(Ts(o)),this},setAuthUrl(o){return t.dispatch(ws(o)),this},getProductsForPurchasePost(o=[]){return mo(t.getState(),o)},getOptins(o=[]){return mo(t.getState(),o)},clear(){t.dispatch(Ns())},addOptinChangedCallback(o){typeof o=="function"&&document.addEventListener("optin-changed",s=>o(s.detail))},disableOptinChangedCallbacks(){document.addEventListener("optin-changed",o=>o.stopPropagation(),!0)},register(){},previewMode(o){return window.og=window.og||{},o===!1?delete window.og:window.og.previewMode=!0,this},config(o){return t.dispatch(qs(o)),this},setLocale(o){return t.dispatch(ks(o)),this},addTemplate(o,s,i){return t.dispatch(Ds(o,s,i)),this},setTemplates(o){return t.dispatch(Fs(o)),this},setPublicPath(o){return this},resolveSettings(o,s,i,a=t){if(o&&s&&i){let c=[];i.product?c.push(i.product):i.cart&&Array.isArray(i.cart.products)&&(c=c.concat(i.cart.products));let{apiUrl:l}=Lt({},lo(s)),{sessionId:p}=a.getState();p&&c.forEach(f=>{let d=P(f);me.fetchOffer(l,o,p,`${d}`,Ce)}),i.product_discounts&&typeof i.product_discounts=="object"&&a.dispatch({type:z,payload:i.product_discounts})}},initialize(o,s,i){var c;e?console.warn("og.offers has been initialized already. Skipping."):r.resolveSettings(o,s,window.og_settings,t);let a=t.getState();return o&&o!==a.merchantId&&r.setMerchantId(o),s&&s!==((c=a.environment)==null?void 0:c.name)&&r.setEnvironment(s),i&&r.setAuthUrl(i),e=!0,this}};return window.OG=window.OG||{},Object.assign(window.OG,r),Object.assign(r.initialize,r),ho(window.opener,r),r}n(Rn,"makeApi");j();q();var ue=n(t=>t===null?"":`$${t.toString().replace(/(\d\d)$/,".$1")}`,"money"),Mr=n(t=>`${t}%`,"percentage");var jr=n(t=>{var e,r;return Array.isArray((e=t.selling_plan)==null?void 0:e.options)&&((r=t.selling_plan)==null?void 0:r.options.some(o=>(o==null?void 0:o.name)==="Shipment amount"))},"isPrepaidAllocation"),$r=n(t=>{if(t&&t.length>1){let e=t.find(r=>(r==null?void 0:r.name)==="Shipment amount").value.split(" ");return e.length>0?+e[0]:null}return null},"getPrepaidShipmentsNumberFromOptions"),Sp=n(t=>{var e;return(t.selling_plan_id||((e=t.selling_plan)==null?void 0:e.id)).toString()},"getAllocationFrequency"),Ep=n(t=>ue(t.compare_at_price),"getAllocationRegularPrice"),xp=n(t=>{var e;if(jr(t)){let r=$r((e=t.selling_plan)==null?void 0:e.options),o=Math.round(t.price/r);return ue(o)}return ue(t.price)},"getAllocationSubscriptionPrice"),ha=n((t,e)=>Math.round((t.compare_at_price-e)*100/t.compare_at_price),"getPrepaidPercentage"),vp=n(t=>{var r,o,s;if(jr(t)){let i=$r((r=t.selling_plan)==null?void 0:r.options),a=t.price/i,c=ha(t,a);return Mr(c)}let e="";return((o=t.price_adjustments[0])==null?void 0:o.value_type)==="percentage"?e=Mr(t.price_adjustments[0].value):((s=t.price_adjustments[0])==null?void 0:s.value)?e=ue(t.price_adjustments[0].value):t.compare_at_price&&(e=ue(t.compare_at_price-t.price)),e},"getAllocationDiscountRate"),Op=n(t=>{var e;return jr(t)?$r((e=t.selling_plan)==null?void 0:e.options):null},"getAllocationNumberOfShipments"),Pp=n((t,e,r)=>{var p,f;let o=$r((p=t.selling_plan)==null?void 0:p.options),s=t.price/o,i=t.compare_at_price-s,a=ha(t,s),c=(f=r==null?void 0:r.price_adjustments)==null?void 0:f[0],l=c&&c.value_type==="percentage"?c.value:null;return e.regularPrepaidPrice=ue(t.price),e.prepaidSavingsPerShipment=ue(Math.round(i)),e.prepaidSavingsTotal=ue(Math.round(i*o)),l&&a&&(e.prepaidExtraSavingsPercentage=Mr(a-l)),e},"addPrepaidPriceAndSavings"),An="Subscribe and Save",Tp=n((t,e=[])=>{t.selling_plan||(t.selling_plan=e.find(o=>o.id===t.selling_plan_id));let r={frequency:Sp(t),regularPrice:Ep(t),subscriptionPrice:xp(t),discountRate:vp(t),prepaidShipments:Op(t)};if(jr(t)){let o=e.find(s=>s.group_name===An&&s.options.length===1);return Pp(t,r,o)}return r},"mapSellingPlanToDiscount"),Nn=n((t,e,r=[])=>[...t,Tp(e,r)],"sellingPlanAllocationsReducer"),ma=n(t=>t.selling_plan_groups.reduce((e,r)=>[...e,...r.selling_plans.map(o=>({...o,group_name:r.name}))],[]),"getSellingPlans");var ga=n((t,e,r)=>{let o=Object.keys(t).filter(s=>s.startsWith(e.toString()));return o.length?{...t,...o.reduce((s,i)=>({...s,[i]:r}),{})}:t},"overrideLineKey"),ya=n((t,e,r)=>{if(!r)return null;if(!Ze(r))return r;if(ur(t,e)){let o=se(t,e,r);return o||ye(t)}return r},"getDefaultSellingPlan"),wp=n((t,e)=>t.map(r=>{var o,s,i,a,c,l,p;return Ze(r==null?void 0:r.frequency)?{...r,frequency:ur((o=e==null?void 0:e.config)==null?void 0:o.frequencies,(s=e==null?void 0:e.config)==null?void 0:s.frequenciesEveryPeriod)?se((i=e==null?void 0:e.config)==null?void 0:i.frequencies,(a=e==null?void 0:e.config)==null?void 0:a.frequenciesEveryPeriod,r.frequency)||se((c=e==null?void 0:e.config)==null?void 0:c.frequencies,(l=e==null?void 0:e.config)==null?void 0:l.frequenciesEveryPeriod,e.defaultFrequency)||ye((p=e==null?void 0:e.config)==null?void 0:p.frequencies):r.frequency}:r}),"mapExistingOptinsFromOfferResponse"),Cp=n(({autoship:t={},autoship_by_default:e={},default_frequencies:r={},in_stock:o={}},s,i)=>Object.keys(t).reduce((a,c)=>{if(!s.some(l=>l.id===c)){if(!(t[c]&&e[c]&&o[c]))return a;let{config:{frequencies:l,frequenciesEveryPeriod:p}={},defaultFrequency:f}=i,d=r[c],m;return r[c]&&ur(l,p)?m=se(l,p,`${d.every}_${d.every_period}`)||ya(l,p,f)||ye(l):r[c]?m=`${d.every}_${d.every_period}`:m=ya(l,p,f)||"_",a.concat({id:c,frequency:m})}return a},[]),"reduceNewOptinsFromOfferResponse"),ba=n(t=>t==null?void 0:t.selling_plan_groups.find(r=>r.name===An),"getOGSellingPlanGroup"),Rp=n((t,e)=>({...ga(t,e.id,e.available),[e.id]:e.available}),"productOrVariantInStockReducer"),_a=n((t,[e])=>({...t,[e]:!0}),"productTrue"),Sa=n((t,e)=>{let r=P(e.key);return{...t,[e.key]:t[r]||null}},"reduceProductCartLine"),Ap=n(t=>t.name.toUpperCase().includes("PREPAID"),"isPrepaidSellingPlanGroup"),Np=n((t,e)=>{if(!t||t.length===0)return[];if(!e||e.length===0)return t;let r=e.reduce((o,s)=>(Ap(s)||o.push(...s.selling_plans.map(i=>i.id)),o),[]);return t.filter(o=>r.includes(o.selling_plan_id))},"filterNonPrepaidSellingPlans"),Ip=n((t={},e)=>{if(z===e.type)return Object.entries(e.payload).reduce(_a,t);if(he===e.type){let{payload:r}=e;return r.items.reduce(Sa,t)}if(X===e.type){let{payload:{product:r}}=e;return[r,...(r==null?void 0:r.variants)||[]].reduce((o,s)=>{let i=Np(s==null?void 0:s.selling_plan_allocations,r==null?void 0:r.selling_plan_groups);return{...ga(o,s.id,(i==null?void 0:i.length)>0),[s.id]:(i==null?void 0:i.length)>0}},t)}return t},"autoshipEligible");function kp(t){let e=["day","week","month"].findIndex(o=>t.toLowerCase().includes(o))+1,r=(t.match(/(\d+)/)||["",1])[1];return r&&e?`${r}_${e}`:null}n(kp,"textToFreq");function Ea(t){var e;return(e=t==null?void 0:t.selling_plans)==null?void 0:e.map(({options:r})=>r||[]).flat().map(({value:r})=>kp(r))}n(Ea,"sellingPlansToEveryPeriod");function xa(t){var e;return(e=t==null?void 0:t.selling_plans)==null?void 0:e.map(({id:r})=>`${r}`)}n(xa,"sellingPlansToFrequencies");function va(t){var r;let e=(r=t==null?void 0:t.options.find(({name:o})=>o==="Shipment amount"))==null?void 0:r.value.split(" ")[0];return e?Number(e):void 0}n(va,"getPrepaidShipments");function qp(t){return t.reduce((e,r)=>{let o=r.name.split("-")[1],s=r.selling_plans.map(i=>({numberShipments:va(i),sellingPlan:String(i.id)}));return{...e,[o]:s}},{})}n(qp,"getPrepaidSellingPlans");var Dp=n((t={frequencies:[],offerType:"radio",frequenciesEveryPeriod:[]},e)=>{var r,o,s;if(z===e.type){let i=[...new Set(Object.values(e.payload).map(Object.keys).flat())];return{...t,frequencies:i}}if(X===e.type){let{payload:{offer:i,product:a}}=e,c={},l=ba(a),p=xa(l);if(p==null?void 0:p.length){let d=Ea(l),m=((o=(r=l.options)==null?void 0:r[0])==null?void 0:o.values)||p,y=t.defaultFrequency;y&&Ze(y)&&(y=se(p,d,y)||ye(p)||y),c={frequencies:p,frequenciesEveryPeriod:d,frequenciesText:m,...y?{defaultFrequency:y}:{}}}let f=a==null?void 0:a.selling_plan_groups.filter(d=>/^Prepaid-.*/.test(d.name));return f.length&&(c={...c,prepaidSellingPlans:{...t.prepaidSellingPlans,...qp(f)}}),{...t,...c}}if(R===e.type){let{payload:{offer:i}}=e,{defaultFrequency:a,config:{frequencies:c,frequenciesEveryPeriod:l,prepaidSellingPlans:p={}}={},product:f}=i;return((s=p[f==null?void 0:f.id])==null?void 0:s.some(({sellingPlan:d})=>d===a))?{...t,defaultFrequency:ye(c)||a}:Ze(a)?{...t,defaultFrequency:se(c,l,a)||ye(c)||a}:{...t,defaultFrequency:a}}return t},"config"),Fp=n((t={},e)=>{if(z===e.type)return Object.entries(e.payload).reduce(_a,t);if(he===e.type)return e.payload.items.reduce(Sa,t);if(X===e.type){let{payload:{product:r}}=e;return[r,...r==null?void 0:r.variants].reduce(Rp,t)||t}return Z===e.type&&e.payload.product===null?{...t}:t},"inStock"),Up=n((t={},e)=>t,"offer");function Lp({prepaidShipments:t,offer:e,product:r}){var o;if(t){let s=P(r.id),i=(o=e.config.prepaidSellingPlans[s])==null?void 0:o.find(a=>a.numberShipments===t);return i?i.sellingPlan:null}return e.config.frequencies[0]}n(Lp,"getFrequencyForPrepaidShipments");function Mp(t){let e=va(t.selling_plan_allocation.selling_plan),r={id:t.key,frequency:`${t.selling_plan_allocation.selling_plan.id}`};return e&&(r.prepaidShipments=e),r}n(Mp,"getOptedInItem");var jp=n((t=[],e)=>{if(he===e.type){let r=e.payload;return t.filter(o=>!o.id.includes(":")).concat(r.items.reduce((o,s)=>s.selling_plan_allocation?[...o,Mp(s)]:o,[]))}if(R===e.type){let{offer:r={},...o}=e.payload,s=wp(t,r),i=Cp(o,s,r);return[...s,...i]}if(X===e.type){let{product:r}=e.payload,o=ba(r);if(!o)return t;let s=xa(o),i=Ea(o);return t.map(a=>Ze(a.frequency)?{...a,frequency:se(s,i,a.frequency)||ye(s)}:a)}if(ae===e.type){let{payload:r}=e,o=Ur(t,e),[s,i]=Xe(o,r.product);return i.concat({...s,...r.product,frequency:Lp(r)})}return Ur(t,e)},"optedin"),$p=n((t={},e)=>t,"productOffer"),Vp=n((t={},e)=>{if(X===e.type){let{payload:{product:r}}=e,o=ma(r);return[r,...r==null?void 0:r.variants].reduce((s,i)=>{var a;return{...s,[i.id]:(a=i.selling_plan_allocations)==null?void 0:a.reduce((c,l)=>Nn(c,l,o),[])}},t)||t}return he===e.type?e.payload.items.reduce((o,s)=>s.selling_plan_allocation?{...o,[s.key]:Nn([],s.selling_plan_allocation)}:o,t)||t:z===e.type?tt(e.payload):t},"productPlans"),Hp=jt({auth:hn,authUrl:gn,autoshipByDefault:On,autoshipEligible:Ip,config:Dp,defaultFrequencies:Pn,eligibilityGroups:dn,environment:Lt,firstOrderPlaceDate:_n,incentives:fn,inStock:Fp,locale:En,merchantId:mn,nextUpcomingOrder:un,offer:Up,offerId:yn,optedin:jp,optedout:pn,previewStandardOffer:xn,previewUpsellOffer:vn,productOffer:$p,productPlans:Vp,productToSubscribe:Sn,sessionId:bn,templates:Tn,prepaidShipmentsSelected:wn});function In(t,e){return window.og&&window.og.previewMode?Lr(t,e):Hp(t,e)}n(In,"shopifyReducer");var Pa=de(mt()),Ta=de(Vt());j();N();q();j();function Oa(t,e,r){let o=`[name="id"][value="${t}"]`,s=`form[action="/cart/add"] option[value="${t}"]`;if(!e)return;let i=document.querySelectorAll(o);i.length||(i=document.querySelectorAll(s)),[...i].forEach(a=>{let c=a.form,l=c==null?void 0:c.querySelector(`[name="${e}"]`);l||(l=document.createElement("input"),l.type="hidden",l.name=`attributes[${e}]`,c==null||c.appendChild(l)),l.value=r})}n(Oa,"updateTrackingInputs");function kn(){return`og__${Math.ceil(new Date().getTime()/1e3)}`}n(kn,"getTrackingKey");function Gp(t,e){var f,d,m,y;if(!((f=t.payload.offer)==null?void 0:f.autoshipByDefault))return;let o=(d=t.payload.offer)==null?void 0:d.product.id,s=kn(),i=((m=t.payload.offer)==null?void 0:m.location)||"",a=((y=t.payload.offer)==null?void 0:y.variationId)||"",c=Vr(o,e),p=[o,k.toLowerCase(),i,c,a].join(",");Oa(o,s,p)}n(Gp,"addDefaultToSubTracking");function qn(t){return e=>r=>{switch(e(r),r.type){case k:case F:case U:let o=r.payload.offer,s=Dn(r);o&&!o.isCart&&Oa(o.product.id,s[0],s[1]);break;case R:Gp(r,t);break;default:}}}n(qn,"shopifyTrackingMiddleware");var Aa,Na,wa=((Na=(Aa=window.Shopify)==null?void 0:Aa.routes)==null?void 0:Na.root)||"/",Bp="/cart",zp=`${wa}cart.js`,Yp=`${wa}products/`,Wp='[id^="shopify-section-"][id$=__cart-items], [id^="shopify-section-"][id$="__cart-footer"],#cart-live-region-text,#cart-icon-bubble',Jp=n(t=>(0,Ta.debounce)(100,!1,function(e){let{id:r}=Object.fromEntries([...new FormData(e).entries()]);r?t.setAttribute("product",r):t.removeAttribute("product")}),"makeSyncProductId");async function Kp(t,e){let r=Qp(e);if(r)try{let s=await Ra(r);t.dispatch({type:X,payload:{product:s,offer:e}})}catch(s){console.warn("OG: Unable to fetch product details for PDP",s)}let o=e.closest("form");if(!o){let s=e.parentElement;for(;s&&(o=s.querySelector('form[action$="/cart/add"]'),!(o||s.tagName.toLowerCase()==="body"));)s=s.parentElement}if(o){let s=Jp(e);o.addEventListener("change",a=>s(o)),new MutationObserver(()=>s(o)).observe(o,{subtree:!0,childList:!0})}else console.info("no /cart/add form found for og-offer",e)}n(Kp,"setupPdp");var Ca=n(async()=>await(await fetch(zp)).json(),"getCart");function Qp(t){return[()=>t==null?void 0:t.dataset.shopifyProductHandle,()=>{var e,r;return(((r=(e=document.querySelector('[href$=".oembed"]'))==null?void 0:e.getAttribute("href"))==null?void 0:r.match(/\/([^\/]+)\.oembed$/))||[])[1]},()=>{var e,r;return(document.querySelector('meta[property="og:type"][content="product"]')&&((r=(e=document.querySelector('meta[property="og:url"][content]'))==null?void 0:e.getAttribute("content"))==null?void 0:r.match(/\/([^\/]+)$/))||[])[1]},()=>{var e;return(e=[...document.querySelectorAll("[type$=json]")].map(r=>JSON.parse(r.textContent||"{}")).find(r=>r.handle&&r.price))==null?void 0:e.handle}].reduce((e,r)=>e||r(),"")}n(Qp,"guessProductHandle");var Ra=(0,Pa.default)(async t=>(await fetch(`${Yp}${t}.js`)).json());async function Zp(t,e){let r=await Ca(),{items:o}=r;t.dispatch({type:he,payload:r});let s=Number(e.product.id);s<=o.length&&e.setAttribute("product",o[s-1].key),(await Promise.all(Array.from(new Set(o.map(({handle:a})=>a))).map(Ra))).forEach(a=>t.dispatch({type:X,payload:{product:a,offer:e}}))}n(Zp,"setupCart");async function Xp(t,e){var i,a;let r=t.payload.offer,o=t.payload.frequency||Vr(t.payload.product.id,e),s=Dn(t);if(!!(r==null?void 0:r.isCart))try{r.style.pointerEvents="none",r.style.opacity=".7";let c=Array.from(document.querySelectorAll(Wp)),l=t.payload.product.id,p=await Ca(),f=(i=p==null?void 0:p.items)==null?void 0:i.findIndex(b=>b.key===l),d=p.items[f],m=d.quantity,y=P(l),x=await fetch("/cart/change.js",{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:l,quantity:m,attributes:Object.fromEntries([s]),properties:d.properties,selling_plan:o||null,sections:c.map(b=>b.id.replace(/^shopify-section-/,""))})});if(x.status!==200)throw new Error("Cart not updated");let h=await x.json(),v=p.items.length===h.items.length?h.items[f].key:(a=h.items.find(b=>b.quantity===m&&b.product_id===y&&(!o&&!b.selling_plan_allocation||(b==null?void 0:b.selling_plan_allocation.selling_plan.id)===o)))==null?void 0:a.key;v&&(e.dispatch({type:ut,payload:{oldCartProductKey:l,newCartProductKey:v}}),r.setAttribute("product",v)),e.dispatch({type:he,payload:h});let C=new CustomEvent(ns,{bubbles:!0,cancelable:!0});if(r.dispatchEvent(C),C.defaultPrevented)return;let S=h.sections;Object.values(S).length?c.forEach(b=>{let Mt=b.id.replace(/^shopify-section-/,"");if(!(Mt in S))return;let Ua=S[Mt],Un=new DOMParser().parseFromString(Ua.toString()||"","text/html").getElementById(b.id);Un&&(b.innerHTML=Un.innerHTML)}):window.location.pathname.startsWith(Bp)&&window.location.reload()}catch(c){console.log("OG Error updating cart",c)}finally{r.style.pointerEvents="auto",r.style.opacity="1"}}n(Xp,"synchronizeCartOptin");function Dn(t){var a,c;let e=t.payload.product.id;if(!e)return[];let r=kn(),o=((a=t.payload.offer)==null?void 0:a.location)||"",s=((c=t.payload.offer)==null?void 0:c.variationId)||"",i=[e,t.type.toLowerCase(),o];switch(t.type){case Z:case F:i.push(""),i.push(s);break;case k:case U:i.push(t.payload.frequency),i.push(s);break;default:return[]}return[r,i.join(",")]}n(Dn,"getTrackingEvent");function Vr(t,e){var s;return(s=cr({id:t})(e.getState()))==null?void 0:s.frequency}n(Vr,"getSubscribedFrequency");function eu(t,e){e.isCart||[...document.querySelectorAll('form[action$="/cart/add"] [name=id]')].forEach(r=>{let o=r.value,s=Vr(o,t);vs(r.form,"selling_plan",s)})}n(eu,"synchronizeSellingPlan");function Fn(t){return e=>r=>{var o;switch(r.type){case k:case F:case U:break;case Z:((o=r.payload.offer)==null?void 0:o.isCart)?Zp(t,r.payload.offer):Kp(t,r.payload.offer);break;default:}switch(e(r),r.type){case k:case F:case U:case ae:Xp(r,t);case Z:case R:case X:eu(t,r.payload.offer);break;default:}}}n(Fn,"shopifyMiddleware");St();q();A();q();var tu="/apps/subscriptions/auth/",Ia="og_auth_begin",ru="og_auth_end",ou=n(t=>{let[e,r,o,s]=atob(t).split("|");return{id:e,signature:o,timestamp:r,email:s}},"parseIntegrationTempAuth");async function ka({store:t}){var s;let[e]=no(),r=Et(),o=(r==null?void 0:r.dataset.customer)?ou(r.dataset.customer):(s=window.ogShopifyConfig)==null?void 0:s.customer;if(o){let i=await su(o);if(i){let[a,c,l]=i.split("|");t.dispatch(vt(e,a,Number(c),l))}}else Es("og_auth")}n(ka,"authorizeShopifyCustomer");async function nu(t){try{let r=await(await fetch(`${tu}?customer=${t.id}&customer_signature=${t.signature}&customer_timestamp=${t.timestamp}`)).text(),o=r.lastIndexOf(Ia);if(o<0)throw"Invalid response from OG auth endpoint";return JSON.parse(r.substring(o+Ia.length,r.lastIndexOf(ru)))}catch(e){console.error(e)}}n(nu,"fetchOGSignature");async function su(t){let e=xs("og_auth");if(e)return e;let{customerId:r,timestamp:o,signature:s}=await nu(t);if(!r)return"";let i=new Date,a=btoa(s);i.setTime(i.getTime()+2*60*60*1e3);let c=`${r}|${o}|${a};expires=${i.toUTCString()}`;return document.cookie=`og_auth=${c};secure;path=/`,c}n(su,"getOrCreateAuthCookie");var Da,qa=Ks(...((Da=L)==null?void 0:Da.shopify_selling_plans)?[In,Fn]:[Lr],L.shopify&&qn),w=Rn(qa),iu=w.isReady,au=w.addOptinChangedCallback,cu=w.addTemplate,lu=w.clear,pu=w.config,uu=w.disableOptinChangedCallbacks,du=w.getOptins,fu=w.getProductsForPurchasePost,hu=w.initialize,mu=w.previewMode,gu=w.register,yu=w.resolveSettings,bu=w.setAuthUrl,_u=w.setEnvironment,Su=w.setLocale,Eu=w.setMerchantId,xu=w.setPublicPath,vu=w.setTemplates,Ou=w.setupCart,Pu=w.setupProduct,Tu=w.setupProducts,wu=n(()=>Ss(w),"autoInit");var Cu=w.initialize,Fa;((Fa=L)==null?void 0:Fa.shopify_selling_plans)&&pr(()=>ka(w));return Ru;})();
1023
+ `}};n(Cn,"Price");var _p=n((t,e)=>{var r;return{productPlans:t.productPlans,configDefaultFrequency:(r=t.config)==null?void 0:r.defaultFrequency,frequency:oe(e.product)(t)}},"mapStateToProps"),fa=g(_p)(Cn);q();function Rn(t){ua(),ei(t);try{customElements.define("og-when",Fi),customElements.define("og-text",zi),customElements.define("og-incentive-text",Ki),customElements.define("og-offer",oa),customElements.define("og-select-frequency",Qi),customElements.define("og-optout-button",ji),customElements.define("og-optin-toggle",Bi),customElements.define("og-optin-status",Li),customElements.define("og-optin-button",Mi),customElements.define("og-optin-select",Vi),customElements.define("og-upsell-button",Hi),customElements.define("og-frequency-status",$i),customElements.define("og-modal",kr),customElements.define("og-select",qr),customElements.define("og-tooltip",Dr),customElements.define("og-upsell-modal",Gi),customElements.define("og-next-upcoming-order",Xi),customElements.define("og-price",fa),customElements.define("og-prepaid-toggle",na),customElements.define("og-prepaid-data",sa),customElements.define("og-prepaid-button",ia),customElements.define("og-prepaid-select",aa),customElements.define("og-subscription-button",ca)}catch{console.info("OG WebComponents already registered, skipping.")}let e=!1,r={store:t,isReady:()=>e,setEnvironment(o){return t.dispatch(lo(o)),this},setMerchantId(o){return t.dispatch(Ts(o)),this},setAuthUrl(o){return t.dispatch(ws(o)),this},getProductsForPurchasePost(o=[]){return mo(t.getState(),o)},getOptins(o=[]){return mo(t.getState(),o)},clear(){t.dispatch(Ns())},addOptinChangedCallback(o){typeof o=="function"&&document.addEventListener("optin-changed",s=>o(s.detail))},disableOptinChangedCallbacks(){document.addEventListener("optin-changed",o=>o.stopPropagation(),!0)},register(){},previewMode(o){return window.og=window.og||{},o===!1?delete window.og:window.og.previewMode=!0,this},config(o){return t.dispatch(qs(o)),this},setLocale(o){return t.dispatch(ks(o)),this},addTemplate(o,s,i){return t.dispatch(Ds(o,s,i)),this},setTemplates(o){return t.dispatch(Fs(o)),this},setPublicPath(o){return this},resolveSettings(o,s,i,a=t){if(o&&s&&i){let c=[];i.product?c.push(i.product):i.cart&&Array.isArray(i.cart.products)&&(c=c.concat(i.cart.products));let{apiUrl:l}=Lt({},lo(s)),{sessionId:p}=a.getState();p&&c.forEach(f=>{let d=P(f);me.fetchOffer(l,o,p,`${d}`,Ce)}),i.product_discounts&&typeof i.product_discounts=="object"&&a.dispatch({type:z,payload:i.product_discounts})}},initialize(o,s,i){var c;e?console.warn("og.offers has been initialized already. Skipping."):r.resolveSettings(o,s,window.og_settings,t);let a=t.getState();return o&&o!==a.merchantId&&r.setMerchantId(o),s&&s!==((c=a.environment)==null?void 0:c.name)&&r.setEnvironment(s),i&&r.setAuthUrl(i),e=!0,this}};return window.OG=window.OG||{},Object.assign(window.OG,r),Object.assign(r.initialize,r),ho(window.opener,r),r}n(Rn,"makeApi");j();q();var ue=n(t=>t===null?"":`$${t.toString().replace(/(\d\d)$/,".$1")}`,"money"),Mr=n(t=>`${t}%`,"percentage");var jr=n(t=>{var e,r;return Array.isArray((e=t.selling_plan)==null?void 0:e.options)&&((r=t.selling_plan)==null?void 0:r.options.some(o=>(o==null?void 0:o.name)==="Shipment amount"))},"isPrepaidAllocation"),$r=n(t=>{if(t&&t.length>1){let e=t.find(r=>(r==null?void 0:r.name)==="Shipment amount").value.split(" ");return e.length>0?+e[0]:null}return null},"getPrepaidShipmentsNumberFromOptions"),Sp=n(t=>{var e;return(t.selling_plan_id||((e=t.selling_plan)==null?void 0:e.id)).toString()},"getAllocationFrequency"),Ep=n(t=>ue(t.compare_at_price),"getAllocationRegularPrice"),xp=n(t=>{var e;if(jr(t)){let r=$r((e=t.selling_plan)==null?void 0:e.options),o=Math.round(t.price/r);return ue(o)}return ue(t.price)},"getAllocationSubscriptionPrice"),ha=n((t,e)=>Math.round((t.compare_at_price-e)*100/t.compare_at_price),"getPrepaidPercentage"),vp=n(t=>{var r,o,s;if(jr(t)){let i=$r((r=t.selling_plan)==null?void 0:r.options),a=t.price/i,c=ha(t,a);return Mr(c)}let e="";return((o=t.price_adjustments[0])==null?void 0:o.value_type)==="percentage"?e=Mr(t.price_adjustments[0].value):((s=t.price_adjustments[0])==null?void 0:s.value)?e=ue(t.price_adjustments[0].value):t.compare_at_price&&(e=ue(t.compare_at_price-t.price)),e},"getAllocationDiscountRate"),Op=n(t=>{var e;return jr(t)?$r((e=t.selling_plan)==null?void 0:e.options):null},"getAllocationNumberOfShipments"),Pp=n((t,e,r)=>{var p,f;let o=$r((p=t.selling_plan)==null?void 0:p.options),s=t.price/o,i=t.compare_at_price-s,a=ha(t,s),c=(f=r==null?void 0:r.price_adjustments)==null?void 0:f[0],l=c&&c.value_type==="percentage"?c.value:null;return e.regularPrepaidPrice=ue(t.price),e.prepaidSavingsPerShipment=ue(Math.round(i)),e.prepaidSavingsTotal=ue(Math.round(i*o)),l&&a&&(e.prepaidExtraSavingsPercentage=Mr(a-l)),e},"addPrepaidPriceAndSavings"),An="Subscribe and Save",Tp=n((t,e=[])=>{t.selling_plan||(t.selling_plan=e.find(o=>o.id===t.selling_plan_id));let r={frequency:Sp(t),regularPrice:Ep(t),subscriptionPrice:xp(t),discountRate:vp(t),prepaidShipments:Op(t)};if(jr(t)){let o=e.find(s=>s.group_name===An&&s.options.length===1);return Pp(t,r,o)}return r},"mapSellingPlanToDiscount"),Nn=n((t,e,r=[])=>[...t,Tp(e,r)],"sellingPlanAllocationsReducer"),ma=n(t=>t.selling_plan_groups.reduce((e,r)=>[...e,...r.selling_plans.map(o=>({...o,group_name:r.name}))],[]),"getSellingPlans");var ga=n((t,e,r)=>{let o=Object.keys(t).filter(s=>s.startsWith(e.toString()));return o.length?{...t,...o.reduce((s,i)=>({...s,[i]:r}),{})}:t},"overrideLineKey"),ya=n((t,e,r)=>{if(!r)return null;if(!Ze(r))return r;if(ur(t,e)){let o=se(t,e,r);return o||ye(t)}return r},"getDefaultSellingPlan"),wp=n((t,e)=>t.map(r=>{var o,s,i,a,c,l,p;return Ze(r==null?void 0:r.frequency)?{...r,frequency:ur((o=e==null?void 0:e.config)==null?void 0:o.frequencies,(s=e==null?void 0:e.config)==null?void 0:s.frequenciesEveryPeriod)?se((i=e==null?void 0:e.config)==null?void 0:i.frequencies,(a=e==null?void 0:e.config)==null?void 0:a.frequenciesEveryPeriod,r.frequency)||se((c=e==null?void 0:e.config)==null?void 0:c.frequencies,(l=e==null?void 0:e.config)==null?void 0:l.frequenciesEveryPeriod,e.defaultFrequency)||ye((p=e==null?void 0:e.config)==null?void 0:p.frequencies):r.frequency}:r}),"mapExistingOptinsFromOfferResponse"),Cp=n(({autoship:t={},autoship_by_default:e={},default_frequencies:r={},in_stock:o={}},s,i)=>Object.keys(t).reduce((a,c)=>{if(!s.some(l=>l.id===c)){if(!(t[c]&&e[c]&&o[c]))return a;let{config:{frequencies:l,frequenciesEveryPeriod:p}={},defaultFrequency:f}=i,d=r[c],m;return r[c]&&ur(l,p)?m=se(l,p,`${d.every}_${d.every_period}`)||ya(l,p,f)||ye(l):r[c]?m=`${d.every}_${d.every_period}`:m=ya(l,p,f)||"_",a.concat({id:c,frequency:m})}return a},[]),"reduceNewOptinsFromOfferResponse"),ba=n(t=>t==null?void 0:t.selling_plan_groups.find(r=>r.name===An),"getOGSellingPlanGroup"),Rp=n((t,e)=>({...ga(t,e.id,e.available),[e.id]:e.available}),"productOrVariantInStockReducer"),_a=n((t,[e])=>({...t,[e]:!0}),"productTrue"),Sa=n((t,e)=>{let r=P(e.key);return{...t,[e.key]:t[r]||null}},"reduceProductCartLine"),Ap=n(t=>t.name.toUpperCase().includes("PREPAID"),"isPrepaidSellingPlanGroup"),Np=n((t,e)=>{if(!t||t.length===0)return[];if(!e||e.length===0)return t;let r=e.reduce((o,s)=>(Ap(s)||o.push(...s.selling_plans.map(i=>i.id)),o),[]);return t.filter(o=>r.includes(o.selling_plan_id))},"filterNonPrepaidSellingPlans"),Ip=n((t={},e)=>{if(z===e.type)return Object.entries(e.payload).reduce(_a,t);if(he===e.type){let{payload:r}=e;return r.items.reduce(Sa,t)}if(X===e.type){let{payload:{product:r}}=e;return[r,...(r==null?void 0:r.variants)||[]].reduce((o,s)=>{let i=Np(s==null?void 0:s.selling_plan_allocations,r==null?void 0:r.selling_plan_groups);return{...ga(o,s.id,(i==null?void 0:i.length)>0),[s.id]:(i==null?void 0:i.length)>0}},t)}return t},"autoshipEligible");function kp(t){let e=["day","week","month"].findIndex(o=>t.toLowerCase().includes(o))+1,r=(t.match(/(\d+)/)||["",1])[1];return r&&e?`${r}_${e}`:null}n(kp,"textToFreq");function Ea(t){var e;return(e=t==null?void 0:t.selling_plans)==null?void 0:e.map(({options:r})=>r||[]).flat().map(({value:r})=>kp(r))}n(Ea,"sellingPlansToEveryPeriod");function xa(t){var e;return(e=t==null?void 0:t.selling_plans)==null?void 0:e.map(({id:r})=>`${r}`)}n(xa,"sellingPlansToFrequencies");function va(t){var r;let e=(r=t==null?void 0:t.options.find(({name:o})=>o==="Shipment amount"))==null?void 0:r.value.split(" ")[0];return e?Number(e):void 0}n(va,"getPrepaidShipments");function qp(t){return t.reduce((e,r)=>{let o=r.name.split("-")[1],s=r.selling_plans.map(i=>({numberShipments:va(i),sellingPlan:String(i.id)}));return{...e,[o]:s}},{})}n(qp,"getPrepaidSellingPlans");var Dp=n((t={frequencies:[],offerType:"radio",frequenciesEveryPeriod:[]},e)=>{var r,o,s;if(z===e.type){let i=[...new Set(Object.values(e.payload).map(Object.keys).flat())];return{...t,frequencies:i}}if(X===e.type){let{payload:{offer:i,product:a}}=e,c={},l=ba(a),p=xa(l);if(p==null?void 0:p.length){let d=Ea(l),m=((o=(r=l.options)==null?void 0:r[0])==null?void 0:o.values)||p,y=t.defaultFrequency;y&&Ze(y)&&(y=se(p,d,y)||ye(p)||y),c={frequencies:p,frequenciesEveryPeriod:d,frequenciesText:m,...y?{defaultFrequency:y}:{}}}let f=a==null?void 0:a.selling_plan_groups.filter(d=>/^Prepaid-.*/.test(d.name));return f.length&&(c={...c,prepaidSellingPlans:{...t.prepaidSellingPlans,...qp(f)}}),{...t,...c}}if(R===e.type){let{payload:{offer:i}}=e,{defaultFrequency:a,config:{frequencies:c,frequenciesEveryPeriod:l,prepaidSellingPlans:p={}}={},product:f}=i;return((s=p[f==null?void 0:f.id])==null?void 0:s.some(({sellingPlan:d})=>d===a))?{...t,defaultFrequency:ye(c)||a}:Ze(a)?{...t,defaultFrequency:se(c,l,a)||ye(c)||a}:{...t,defaultFrequency:a}}return t},"config"),Fp=n((t={},e)=>{if(z===e.type)return Object.entries(e.payload).reduce(_a,t);if(he===e.type)return e.payload.items.reduce(Sa,t);if(X===e.type){let{payload:{product:r}}=e;return[r,...r==null?void 0:r.variants].reduce(Rp,t)||t}return Z===e.type&&e.payload.product===null?{...t}:t},"inStock"),Up=n((t={},e)=>t,"offer");function Lp({prepaidShipments:t,offer:e,product:r}){var o;if(t){let s=P(r.id),i=(o=e.config.prepaidSellingPlans[s])==null?void 0:o.find(a=>a.numberShipments===t);return i?i.sellingPlan:null}return e.config.frequencies[0]}n(Lp,"getFrequencyForPrepaidShipments");function Mp(t){let e=va(t.selling_plan_allocation.selling_plan),r={id:t.key,frequency:`${t.selling_plan_allocation.selling_plan.id}`};return e&&(r.prepaidShipments=e),r}n(Mp,"getOptedInItem");var jp=n((t=[],e)=>{if(he===e.type){let r=e.payload;return t.filter(o=>!o.id.includes(":")).concat(r.items.reduce((o,s)=>s.selling_plan_allocation?[...o,Mp(s)]:o,[]))}if(R===e.type){let{offer:r={},...o}=e.payload,s=wp(t,r),i=Cp(o,s,r);return[...s,...i]}if(X===e.type){let{product:r}=e.payload,o=ba(r);if(!o)return t;let s=xa(o),i=Ea(o);return t.map(a=>Ze(a.frequency)?{...a,frequency:se(s,i,a.frequency)||ye(s)}:a)}if(ae===e.type){let{payload:r}=e,o=Ur(t,e),[s,i]=Xe(o,r.product);return i.concat({...s,...r.product,frequency:Lp(r)})}return Ur(t,e)},"optedin"),$p=n((t={},e)=>t,"productOffer"),Vp=n((t={},e)=>{if(X===e.type){let{payload:{product:r}}=e,o=ma(r);return[r,...r==null?void 0:r.variants].reduce((s,i)=>{var a;return{...s,[i.id]:(a=i.selling_plan_allocations)==null?void 0:a.reduce((c,l)=>Nn(c,l,o),[])}},t)||t}return he===e.type?e.payload.items.reduce((o,s)=>s.selling_plan_allocation?{...o,[s.key]:Nn([],s.selling_plan_allocation)}:o,t)||t:z===e.type?tt(e.payload):t},"productPlans"),Hp=jt({auth:hn,authUrl:gn,autoshipByDefault:On,autoshipEligible:Ip,config:Dp,defaultFrequencies:Pn,eligibilityGroups:dn,environment:Lt,firstOrderPlaceDate:_n,incentives:fn,inStock:Fp,locale:En,merchantId:mn,nextUpcomingOrder:un,offer:Up,offerId:yn,optedin:jp,optedout:pn,previewStandardOffer:xn,previewUpsellOffer:vn,productOffer:$p,productPlans:Vp,productToSubscribe:Sn,sessionId:bn,templates:Tn,prepaidShipmentsSelected:wn});function In(t,e){return window.og&&window.og.previewMode?Lr(t,e):Hp(t,e)}n(In,"shopifyReducer");var Pa=de(mt()),Ta=de(Vt());j();N();q();j();function Oa(t,e,r){let o=`[name="id"][value="${t}"]`,s=`form[action="/cart/add"] option[value="${t}"]`;if(!e)return;let i=document.querySelectorAll(o);i.length||(i=document.querySelectorAll(s)),[...i].forEach(a=>{let c=a.form,l=c==null?void 0:c.querySelector(`[name="${e}"]`);l||(l=document.createElement("input"),l.type="hidden",l.name=`attributes[${e}]`,c==null||c.appendChild(l)),l.value=r})}n(Oa,"updateTrackingInputs");function kn(){return`og__${Math.ceil(new Date().getTime()/1e3)}`}n(kn,"getTrackingKey");function Gp(t,e){var f,d,m,y;if(!((f=t.payload.offer)==null?void 0:f.autoshipByDefault))return;let o=(d=t.payload.offer)==null?void 0:d.product.id,s=kn(),i=((m=t.payload.offer)==null?void 0:m.location)||"",a=((y=t.payload.offer)==null?void 0:y.variationId)||"",c=Vr(o,e),p=[o,k.toLowerCase(),i,c,a].join(",");Oa(o,s,p)}n(Gp,"addDefaultToSubTracking");function qn(t){return e=>r=>{switch(e(r),r.type){case k:case F:case U:let o=r.payload.offer,s=Dn(r);o&&!o.isCart&&Oa(o.product.id,s[0],s[1]);break;case R:Gp(r,t);break;default:}}}n(qn,"shopifyTrackingMiddleware");var Aa,Na,wa=((Na=(Aa=window.Shopify)==null?void 0:Aa.routes)==null?void 0:Na.root)||"/",Bp="/cart",zp=`${wa}cart.js`,Yp=`${wa}products/`,Wp=['[id^="shopify-section-"][id$=__cart-items]','[id^="shopify-section-"][id$="__cart-footer"]',"#shopify-section-main-cart-footer","#shopify-section-main-cart-items","#cart-live-region-text","#cart-icon-bubble"].join(","),Jp=n(t=>(0,Ta.debounce)(100,!1,function(e){let{id:r}=Object.fromEntries([...new FormData(e).entries()]);r?t.setAttribute("product",r):t.removeAttribute("product")}),"makeSyncProductId");async function Kp(t,e){let r=Qp(e);if(r)try{let s=await Ra(r);t.dispatch({type:X,payload:{product:s,offer:e}})}catch(s){console.warn("OG: Unable to fetch product details for PDP",s)}let o=e.closest("form");if(!o){let s=e.parentElement;for(;s&&(o=s.querySelector('form[action$="/cart/add"]'),!(o||s.tagName.toLowerCase()==="body"));)s=s.parentElement}if(o){let s=Jp(e);o.addEventListener("change",a=>s(o)),new MutationObserver(()=>s(o)).observe(o,{subtree:!0,childList:!0})}else console.info("no /cart/add form found for og-offer",e)}n(Kp,"setupPdp");var Ca=n(async()=>await(await fetch(zp)).json(),"getCart");function Qp(t){return[()=>t==null?void 0:t.dataset.shopifyProductHandle,()=>{var e,r;return(((r=(e=document.querySelector('[href$=".oembed"]'))==null?void 0:e.getAttribute("href"))==null?void 0:r.match(/\/([^\/]+)\.oembed$/))||[])[1]},()=>{var e,r;return(document.querySelector('meta[property="og:type"][content="product"]')&&((r=(e=document.querySelector('meta[property="og:url"][content]'))==null?void 0:e.getAttribute("content"))==null?void 0:r.match(/\/([^\/]+)$/))||[])[1]},()=>{var e;return(e=[...document.querySelectorAll("[type$=json]")].map(r=>JSON.parse(r.textContent||"{}")).find(r=>r.handle&&r.price))==null?void 0:e.handle}].reduce((e,r)=>e||r(),"")}n(Qp,"guessProductHandle");var Ra=(0,Pa.default)(async t=>(await fetch(`${Yp}${t}.js`)).json());async function Zp(t,e){let r=await Ca(),{items:o}=r;t.dispatch({type:he,payload:r});let s=Number(e.product.id);s<=o.length&&e.setAttribute("product",o[s-1].key),(await Promise.all(Array.from(new Set(o.map(({handle:a})=>a))).map(Ra))).forEach(a=>t.dispatch({type:X,payload:{product:a,offer:e}}))}n(Zp,"setupCart");async function Xp(t,e){var i,a;let r=t.payload.offer,o=t.payload.frequency||Vr(t.payload.product.id,e),s=Dn(t);if(!!(r==null?void 0:r.isCart))try{r.style.pointerEvents="none",r.style.opacity=".7";let c=Array.from(document.querySelectorAll(Wp)),l=t.payload.product.id,p=await Ca(),f=(i=p==null?void 0:p.items)==null?void 0:i.findIndex(b=>b.key===l),d=p.items[f],m=d.quantity,y=P(l),x=await fetch("/cart/change.js",{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:l,quantity:m,attributes:Object.fromEntries([s]),properties:d.properties,selling_plan:o||null,sections:c.map(b=>b.id.replace(/^shopify-section-/,""))})});if(x.status!==200)throw new Error("Cart not updated");let h=await x.json(),v=p.items.length===h.items.length?h.items[f].key:(a=h.items.find(b=>b.quantity===m&&b.product_id===y&&(!o&&!b.selling_plan_allocation||(b==null?void 0:b.selling_plan_allocation.selling_plan.id)===o)))==null?void 0:a.key;v&&(e.dispatch({type:ut,payload:{oldCartProductKey:l,newCartProductKey:v}}),r.setAttribute("product",v)),e.dispatch({type:he,payload:h});let C=new CustomEvent(ns,{bubbles:!0,cancelable:!0});if(r.dispatchEvent(C),C.defaultPrevented)return;let S=h.sections;Object.values(S).length?c.forEach(b=>{let Mt=b.id.replace(/^shopify-section-/,"");if(!(Mt in S))return;let Ua=S[Mt],Un=new DOMParser().parseFromString(Ua.toString()||"","text/html").getElementById(b.id);Un&&(b.innerHTML=Un.innerHTML)}):window.location.pathname.startsWith(Bp)&&window.location.reload()}catch(c){console.log("OG Error updating cart",c)}finally{r.style.pointerEvents="auto",r.style.opacity="1"}}n(Xp,"synchronizeCartOptin");function Dn(t){var a,c;let e=t.payload.product.id;if(!e)return[];let r=kn(),o=((a=t.payload.offer)==null?void 0:a.location)||"",s=((c=t.payload.offer)==null?void 0:c.variationId)||"",i=[e,t.type.toLowerCase(),o];switch(t.type){case Z:case F:i.push(""),i.push(s);break;case k:case U:i.push(t.payload.frequency),i.push(s);break;default:return[]}return[r,i.join(",")]}n(Dn,"getTrackingEvent");function Vr(t,e){var s;return(s=cr({id:t})(e.getState()))==null?void 0:s.frequency}n(Vr,"getSubscribedFrequency");function eu(t,e){[...document.querySelectorAll('form[action$="/cart/add"] [name=id]')].forEach(r=>{let o=r.value,s=Vr(o,t);vs(r.form,"selling_plan",s)})}n(eu,"synchronizeSellingPlan");function Fn(t){return e=>r=>{var o;switch(r.type){case k:case F:case U:break;case Z:((o=r.payload.offer)==null?void 0:o.isCart)?Zp(t,r.payload.offer):Kp(t,r.payload.offer);break;default:}switch(e(r),r.type){case k:case F:case U:case ae:Xp(r,t);case Z:case R:case X:eu(t,r.payload.offer);break;default:}}}n(Fn,"shopifyMiddleware");St();q();A();q();var tu="/apps/subscriptions/auth/",Ia="og_auth_begin",ru="og_auth_end",ou=n(t=>{let[e,r,o,s]=atob(t).split("|");return{id:e,signature:o,timestamp:r,email:s}},"parseIntegrationTempAuth");async function ka({store:t}){var s;let[e]=no(),r=Et(),o=(r==null?void 0:r.dataset.customer)?ou(r.dataset.customer):(s=window.ogShopifyConfig)==null?void 0:s.customer;if(o){let i=await su(o);if(i){let[a,c,l]=i.split("|");t.dispatch(vt(e,a,Number(c),l))}}else Es("og_auth")}n(ka,"authorizeShopifyCustomer");async function nu(t){try{let r=await(await fetch(`${tu}?customer=${t.id}&customer_signature=${t.signature}&customer_timestamp=${t.timestamp}`)).text(),o=r.lastIndexOf(Ia);if(o<0)throw"Invalid response from OG auth endpoint";return JSON.parse(r.substring(o+Ia.length,r.lastIndexOf(ru)))}catch(e){console.error(e)}}n(nu,"fetchOGSignature");async function su(t){let e=xs("og_auth");if(e)return e;let{customerId:r,timestamp:o,signature:s}=await nu(t);if(!r)return"";let i=new Date,a=btoa(s);i.setTime(i.getTime()+2*60*60*1e3);let c=`${r}|${o}|${a};expires=${i.toUTCString()}`;return document.cookie=`og_auth=${c};secure;path=/`,c}n(su,"getOrCreateAuthCookie");var Da,qa=Ks(...((Da=L)==null?void 0:Da.shopify_selling_plans)?[In,Fn]:[Lr],L.shopify&&qn),w=Rn(qa),iu=w.isReady,au=w.addOptinChangedCallback,cu=w.addTemplate,lu=w.clear,pu=w.config,uu=w.disableOptinChangedCallbacks,du=w.getOptins,fu=w.getProductsForPurchasePost,hu=w.initialize,mu=w.previewMode,gu=w.register,yu=w.resolveSettings,bu=w.setAuthUrl,_u=w.setEnvironment,Su=w.setLocale,Eu=w.setMerchantId,xu=w.setPublicPath,vu=w.setTemplates,Ou=w.setupCart,Pu=w.setupProduct,Tu=w.setupProducts,wu=n(()=>Ss(w),"autoInit");var Cu=w.initialize,Fa;((Fa=L)==null?void 0:Fa.shopify_selling_plans)&&pr(()=>ka(w));return Ru;})();
1024
1024
  ; return lib; });
1025
1025
  //# sourceMappingURL=offers.js.map