@ordergroove/offers 2.27.7 → 2.27.8-alpha-PR-645-3.23

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.
package/dist/offers.js CHANGED
@@ -880,6 +880,6 @@ var lib=(()=>{var Mi=Object.create;var Be=Object.defineProperty;var Vi=Object.ge
880
880
  <slot name="append"></slot>
881
881
  `:u`
882
882
  <slot name="fallback"></slot>
883
- `}};n(Ko,"Price");var cl=n((t,e)=>{var r;return{productPlans:t.productPlans,configDefaultFrequency:(r=t.config)==null?void 0:r.defaultFrequency,frequency:z(e.product)(t)}},"mapStateToProps"),Si=g(cl)(Ko);$();function Zo(t){_i(),ds(t);try{customElements.define("og-when",Js),customElements.define("og-text",si),customElements.define("og-incentive-text",li),customElements.define("og-offer",gi),customElements.define("og-select-frequency",ui),customElements.define("og-optout-button",Xs),customElements.define("og-optin-toggle",ni),customElements.define("og-optin-status",Ks),customElements.define("og-optin-button",Zs),customElements.define("og-optin-select",ti),customElements.define("og-upsell-button",ri),customElements.define("og-frequency-status",ei),customElements.define("og-modal",yr),customElements.define("og-select",br),customElements.define("og-tooltip",_r),customElements.define("og-upsell-modal",oi),customElements.define("og-next-upcoming-order",di),customElements.define("og-price",Si)}catch{console.info("OG WebComponents already registered, skipping.")}let e=!1,r={store:t,isReady:()=>e,setEnvironment(o){return t.dispatch(Fr(o)),this},setMerchantId(o){return t.dispatch(jn(o)),this},setAuthUrl(o){return t.dispatch(Mn(o)),this},getProductsForPurchasePost(o=[]){return Hr(t.getState(),o)},getOptins(o=[]){return Hr(t.getState(),o)},clear(){t.dispatch(Hn())},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(zn(o)),this},setLocale(o){return t.dispatch(Bn(o)),this},addTemplate(o,s,i){return t.dispatch(Wn(o,s,i)),this},setTemplates(o){return t.dispatch(Yn(o)),this},setPublicPath(o){return this},resolveSettings(o,s,i,c=t){if(o&&s&&i){let a=[];i.product?a.push(i.product):i.cart&&Array.isArray(i.cart.products)&&(a=a.concat(i.cart.products));let{apiUrl:l}=yt({},Fr(s)),{sessionId:d}=c.getState();d&&a.forEach(h=>{let p=R(h);oe.fetchOffer(l,o,d,`${p}`,he)}),i.product_discounts&&typeof i.product_discounts=="object"&&c.dispatch({type:Y,payload:i.product_discounts})}},initialize(o,s,i){var a,l;e||r.resolveSettings(o,s,window.og_settings,t);let c=t.getState();return o&&o!==c.merchantId&&r.setMerchantId(o),s&&s!==((a=c.environment)==null?void 0:a.name)&&r.setEnvironment(s),i&&r.setAuthUrl(i),e?console.warn("og.offers has been initialized already. Skipping."):(window.addEventListener("storage",ts(t)),t.dispatch(Yt())),arguments.length===3&&(((l=t.getState().auth)==null?void 0:l.ts)||t.dispatch(Vn())),e=!0,this}};return window.OG=window.OG||{},Object.assign(window.OG,r),Object.assign(r.initialize,r),$r(window.opener,r),r}n(Zo,"makeApi");V();$();var Ge=n(t=>t===null?"":`$${t.toString().replace(/(\d\d)$/,".$1")}`,"money"),ll=n(t=>`${t}%`,"percentage"),ul=n(t=>{var r,o;let e="";return((r=t.price_adjustments[0])==null?void 0:r.value_type)==="percentage"?e=ll(t.price_adjustments[0].value):((o=t.price_adjustments[0])==null?void 0:o.value)?e=Ge(t.price_adjustments[0].value):t.compare_at_price&&(e=Ge(t.compare_at_price-t.price)),e?[Ge(t.compare_at_price),e,Ge(t.price)]:[Ge(t.price),"",Ge(t.price)]},"mapSellingPlanToDiscount"),Ti=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"),pl=n(t=>t==null?void 0:t.selling_plan_groups.find(r=>r.name==="Subscribe and Save"),"getOGSellingPlanGroup"),dl=n((t,e)=>({...Ti(t,e.id,e.available),[e.id]:e.available}),"productOrVariantInStockReducer"),vi=n((t,[e])=>({...t,[e]:!0}),"productTrue"),Oi=n((t,e)=>{var r;return{...t,[e.selling_plan_id||((r=e.selling_plan)==null?void 0:r.id)]:ul(e)}},"sellingPlanAllocationsReducer"),wi=n((t,e)=>{let r=R(e.key);return{...t,[e.key]:t[r]||null}},"reduceProductCartLine"),fl=n((t={},e)=>{if(Y===e.type)return Object.entries(e.payload).reduce(vi,t);if(re===e.type){let{payload:r}=e;return r.items.reduce(wi,t)}if(J===e.type){let{payload:r}=e;return[r,...(r==null?void 0:r.variants)||[]].reduce((o,s)=>{var i,c;return{...Ti(o,s.id,((i=s.selling_plan_allocations)==null?void 0:i.length)>0),[s.id]:((c=s.selling_plan_allocations)==null?void 0:c.length)>0}},t)}return t},"autoshipEligible"),hl=n((t={frequencies:[],offerType:"radio"},e)=>{var r,o,s;if(Y===e.type){let i=[...new Set(Object.values(e.payload).map(Object.keys).flat())];return{...t,frequencies:i}}if(J===e.type){let i=e.payload,c=pl(i),a=(r=c==null?void 0:c.selling_plans)==null?void 0:r.map(({id:l})=>`${l}`);if(a==null?void 0:a.length){let l=((s=(o=c.options)==null?void 0:o[0])==null?void 0:s.values)||a;return{...t,defaultFrequency:a[0],frequencies:a,frequenciesText:l}}}return t},"config"),ml=n((t={},e)=>{if(Y===e.type)return Object.entries(e.payload).reduce(vi,t);if(re===e.type)return e.payload.items.reduce(wi,t);if(J===e.type){let r=e.payload;return[r,...r==null?void 0:r.variants].reduce(dl,t)||t}return t},"inStock"),gl=n((t={},e)=>t,"offer"),yl=n((t="",e)=>"native-shopify-offer","offerId"),bl=n((t=[],e)=>{if(re===e.type)return e.payload.items.reduce((o,s)=>s.selling_plan_allocation?[...o,{id:s.key,frequency:`${s.selling_plan_allocation.selling_plan.id}`}]:o,[]);if(P===e.type){let{autoship:r,autoship_by_default:o,in_stock:s,offer:i}=e.payload;return Object.keys(r).reduce((c,a)=>c.concat(!c.some(l=>l.id===a)&&r[a]&&o[a]&&s[a]?{id:a,frequency:i.defaultFrequency}:[]),t)}return Uo(t,e)},"optedin"),_l=n((t={},e)=>t,"productOffer"),El=n((t={},e)=>{if(J===e.type){let r=e.payload;return[r,...r==null?void 0:r.variants].reduce((o,s)=>{var i;return{...o,[s.id]:(i=s.selling_plan_allocations)==null?void 0:i.reduce(Oi,{})}},t)||t}return re===e.type?e.payload.items.reduce((o,s)=>s.selling_plan_allocation?{...o,[s.key]:Oi({},s.selling_plan_allocation)}:o,t)||t:Y===e.type?{...e.payload}:t},"productPlans"),Ci=bt({auth:jo,authUrl:Vo,autoshipByDefault:Yo,autoshipEligible:fl,config:hl,defaultFrequencies:Jo,eligibilityGroups:Fo,environment:yt,firstOrderPlaceDate:Ho,incentives:Lo,inStock:ml,locale:Bo,merchantId:Mo,nextUpcomingOrder:Do,offer:gl,offerId:yl,optedin:bl,optedout:qo,previewStandardOffer:zo,previewUpsellOffer:Wo,productOffer:_l,productPlans:El,productToSubscribe:Go,sessionId:$o,templates:Qo});var Pi=ee(Ke()),Ri=ee(Et());V();$();var Ii,Ui,Ai=((Ui=(Ii=window.Shopify)==null?void 0:Ii.routes)==null?void 0:Ui.root)||"/",xl="/cart",Sl=`${Ai}cart.js`,Tl=`${Ai}products/`,vl=(0,Ri.debounce)(100,!1,function(t,e){let{id:r}=Object.fromEntries([...new FormData(t).entries()]);e.setAttribute("product",r)});async function Ol(t,e){let r=wl();if(r)try{t.dispatch({type:J,payload:await ki(r)})}catch(s){console.warn("OG: Unable to fetch product details for PDP",s)}let o=e.closest("form");new MutationObserver(()=>vl(o,e)).observe(o,{subtree:!0,childList:!0})}n(Ol,"setupPdp");var Ni=n(async()=>await(await fetch(Sl)).json(),"getCart");function wl(){return[()=>{var t,e;return(((e=(t=document.querySelector('[href$=".oembed"]'))==null?void 0:t.getAttribute("href"))==null?void 0:e.match(/\/([^\/]+)\.oembed$/))||[])[1]},()=>{var t,e;return(document.querySelector('meta[property="og:type"][content="product"]')&&((e=(t=document.querySelector('meta[property="og:url"][content]'))==null?void 0:t.getAttribute("content"))==null?void 0:e.match(/\/([^\/]+)$/))||[])[1]},()=>{var t;return(t=[...document.querySelectorAll("[type$=json]")].map(e=>JSON.parse(e.textContent||"{}")).find(e=>e.handle&&e.price))==null?void 0:t.handle}].reduce((t,e)=>t||e(),"")}n(wl,"guessProductHandle");var ki=(0,Pi.default)(async t=>(await fetch(`${Tl}${t}.js`)).json());async function Cl(t,e){let r=await Ni(),{items:o}=r;t.dispatch({type:re,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:c})=>c))).map(ki))).forEach(c=>t.dispatch({type:J,payload:c}))}n(Cl,"setupCart");async function Pl(t,e){var i,c;let r=t.payload.offer,o=t.payload.frequency||null,s=Rl(t);if(!(r==null?void 0:r.isCart)){r&&Al(r.product.id,s[0],s[1]);return}try{r.style.pointerEvents="none",r.style.opacity=".7";let a=r.closest(".shopify-section"),l=((a==null?void 0:a.id.match(/^shopify-section-(.+)/))||[])[1],d=t.payload.product.id,h=await Ni(),p=(i=h==null?void 0:h.items)==null?void 0:i.findIndex(L=>L.key===d),m=h.items[p],_=m.quantity,b=R(d),f=await fetch("/cart/change.js",{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:d,quantity:_,attributes:Object.fromEntries([s]),properties:m.properties,selling_plan:o||null,sections:l?[l]:void 0})});if(f.status!==200)throw new Error("Cart not updated");let x=await f.json(),w=h.items.length===x.items.length?x.items[p].key:(c=x.items.find(L=>L.quantity===_&&L.product_id===b&&(!o&&!L.selling_plan_allocation||(L==null?void 0:L.selling_plan_allocation.selling_plan.id)===o)))==null?void 0:c.key;w&&r.setAttribute("product",w),e.dispatch({type:re,payload:x});let y=new CustomEvent(Sn,{bubbles:!0,cancelable:!0});if(r.dispatchEvent(y),y.defaultPrevented)return;let C=x.sections;if(C&&l in C){let L=C[l],en=new DOMParser().parseFromString(L.toString()||"","text/html").getElementById("shopify-section-"+l);en&&(a.innerHTML=en.innerHTML)}else window.location.pathname.startsWith(xl)&&window.location.reload()}catch(a){console.log("OG Error updating cart",a)}finally{r.style.pointerEvents="auto",r.style.opacity="1"}}n(Pl,"synchronizeCartOptin");function Rl(t){var i;let e=t.payload.product.id;if(!e)return[];let r=`og__${Math.ceil(new Date().getTime()/1e3)}`,o=((i=t.payload.offer)==null?void 0:i.location)||"",s=[e,t.type.toLowerCase(),o];switch(t.type){case we:case U:s.push("");break;case I:case q:s.push(t.payload.frequency);break;default:return[]}return[r,s.join(",")]}n(Rl,"getTrackingEvent");function Al(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(c=>{let a=c.form,l=a==null?void 0:a.querySelector(`[name="${e}"]`);l||(l=document.createElement("input"),l.type="hidden",l.name=`attributes[${e}]`,a==null||a.appendChild(l)),l.value=r})}n(Al,"updateTrackingInputs");function Nl(t,e,r){let o=t.querySelector(`[name="${e}"]`);if(o&&!r){o.remove();return}!o&&r&&(o=document.createElement("input"),o.type="hidden",o.name=e,t.appendChild(o)),o&&(o.value=r)}n(Nl,"getOrCreateHidden");function kl(t,e){[...document.querySelectorAll("[name=id]")].forEach(r=>{var c;let o=r.value,i=(c=Qt({id:o})(t.getState()))==null?void 0:c.frequency;Nl(r.form,"selling_plan",i)})}n(kl,"synchronizeSellingPlan");function Xo(t){return e=>r=>{var o;switch(r.type){case I:case U:case q:break;case we:((o=r.payload.offer)==null?void 0:o.isCart)?Cl(t,r.payload.offer):Ol(t,r.payload.offer);default:}switch(e(r),r.type){case I:case U:case q:Pl(r,t);case we:case P:case J:kl(t,r.payload.offer);break;default:}}}n(Xo,"shopifyMiddleware");Gt();$();N();$();var Il="/apps/subscriptions/auth/",qi="og_auth_begin",Ul="og_auth_end",ql=n(t=>{let[e,r,o,s]=atob(t).split("|");return{id:e,signature:o,timestamp:r,email:s}},"parseIntegrationTempAuth");async function Di({store:t}){var s;let[e]=Ur(),r=ot(),o=(r==null?void 0:r.dataset.customer)?ql(r.dataset.customer):(s=window.ogShopifyConfig)==null?void 0:s.customer;if(o){let i=await Fl(o);if(i){let[c,a,l]=i.split("|");t.dispatch(nt(e,c,Number(a),l))}}else qn("og_auth")}n(Di,"authorizeShopifyCustomer");async function Dl(t){try{let r=await(await fetch(`${Il}?customer=${t.id}&customer_signature=${t.signature}&customer_timestamp=${t.timestamp}`)).text(),o=r.lastIndexOf(qi);if(o<0)throw"Invalid response from OG auth endpoint";return JSON.parse(r.substring(o+qi.length,r.lastIndexOf(Ul)))}catch(e){console.error(e)}}n(Dl,"fetchOGSignature");async function Fl(t){let e=Dn("og_auth");if(e)return e;let{customerId:r,timestamp:o,signature:s}=await Dl(t);if(!r)return"";let i=new Date,c=btoa(s);i.setTime(i.getTime()+2*60*60*1e3);let a=`${r}|${o}|${c};expires=${i.toUTCString()}`;return document.cookie=`og_auth=${a};secure;path=/`,a}n(Fl,"getOrCreateAuthCookie");var Li,Fi=cs(...((Li=Ne)==null?void 0:Li.shopify_selling_plans)?[Ci,Xo]:[xi]),E=Zo(Fi),Ll=E.isReady,jl=E.addOptinChangedCallback,Ml=E.addTemplate,Vl=E.clear,$l=E.config,Hl=E.disableOptinChangedCallbacks,Gl=E.getOptins,Bl=E.getProductsForPurchasePost,zl=E.initialize,Wl=E.previewMode,Yl=E.register,Jl=E.resolveSettings,Ql=E.setAuthUrl,Kl=E.setEnvironment,Zl=E.setLocale,Xl=E.setMerchantId,eu=E.setPublicPath,tu=E.setTemplates,ru=E.setupCart,ou=E.setupProduct,nu=E.setupProducts;var su=E.initialize;rt(()=>Un(E));var ji;((ji=Ne)==null?void 0:ji.shopify_selling_plans)&&rt(()=>Di(E));return iu;})();
883
+ `}};n(Ko,"Price");var cl=n((t,e)=>{var r;return{productPlans:t.productPlans,configDefaultFrequency:(r=t.config)==null?void 0:r.defaultFrequency,frequency:z(e.product)(t)}},"mapStateToProps"),Si=g(cl)(Ko);$();function Zo(t){_i(),ds(t);try{customElements.define("og-when",Js),customElements.define("og-text",si),customElements.define("og-incentive-text",li),customElements.define("og-offer",gi),customElements.define("og-select-frequency",ui),customElements.define("og-optout-button",Xs),customElements.define("og-optin-toggle",ni),customElements.define("og-optin-status",Ks),customElements.define("og-optin-button",Zs),customElements.define("og-optin-select",ti),customElements.define("og-upsell-button",ri),customElements.define("og-frequency-status",ei),customElements.define("og-modal",yr),customElements.define("og-select",br),customElements.define("og-tooltip",_r),customElements.define("og-upsell-modal",oi),customElements.define("og-next-upcoming-order",di),customElements.define("og-price",Si)}catch{console.info("OG WebComponents already registered, skipping.")}let e=!1,r={store:t,isReady:()=>e,setEnvironment(o){return t.dispatch(Fr(o)),this},setMerchantId(o){return t.dispatch(jn(o)),this},setAuthUrl(o){return t.dispatch(Mn(o)),this},getProductsForPurchasePost(o=[]){return Hr(t.getState(),o)},getOptins(o=[]){return Hr(t.getState(),o)},clear(){t.dispatch(Hn())},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(zn(o)),this},setLocale(o){return t.dispatch(Bn(o)),this},addTemplate(o,s,i){return t.dispatch(Wn(o,s,i)),this},setTemplates(o){return t.dispatch(Yn(o)),this},setPublicPath(o){return this},resolveSettings(o,s,i,c=t){if(o&&s&&i){let a=[];i.product?a.push(i.product):i.cart&&Array.isArray(i.cart.products)&&(a=a.concat(i.cart.products));let{apiUrl:l}=yt({},Fr(s)),{sessionId:d}=c.getState();d&&a.forEach(h=>{let p=R(h);oe.fetchOffer(l,o,d,`${p}`,he)}),i.product_discounts&&typeof i.product_discounts=="object"&&c.dispatch({type:Y,payload:i.product_discounts})}},initialize(o,s,i){var a,l;e||r.resolveSettings(o,s,window.og_settings,t);let c=t.getState();return o&&o!==c.merchantId&&r.setMerchantId(o),s&&s!==((a=c.environment)==null?void 0:a.name)&&r.setEnvironment(s),i&&r.setAuthUrl(i),e?console.warn("og.offers has been initialized already. Skipping."):(window.addEventListener("storage",ts(t)),t.dispatch(Yt())),arguments.length===3&&(((l=t.getState().auth)==null?void 0:l.ts)||t.dispatch(Vn())),e=!0,this}};return window.OG=window.OG||{},Object.assign(window.OG,r),Object.assign(r.initialize,r),$r(window.opener,r),r}n(Zo,"makeApi");V();$();var Ge=n(t=>t===null?"":`$${t.toString().replace(/(\d\d)$/,".$1")}`,"money"),ll=n(t=>`${t}%`,"percentage"),ul=n(t=>{var r,o;let e="";return((r=t.price_adjustments[0])==null?void 0:r.value_type)==="percentage"?e=ll(t.price_adjustments[0].value):((o=t.price_adjustments[0])==null?void 0:o.value)?e=Ge(t.price_adjustments[0].value):t.compare_at_price&&(e=Ge(t.compare_at_price-t.price)),e?[Ge(t.compare_at_price),e,Ge(t.price)]:[Ge(t.price),"",Ge(t.price)]},"mapSellingPlanToDiscount"),Ti=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"),pl=n(t=>t==null?void 0:t.selling_plan_groups.find(r=>r.name==="Subscribe and Save"),"getOGSellingPlanGroup"),dl=n((t,e)=>({...Ti(t,e.id,e.available),[e.id]:e.available}),"productOrVariantInStockReducer"),vi=n((t,[e])=>({...t,[e]:!0}),"productTrue"),Oi=n((t,e)=>{var r;return{...t,[e.selling_plan_id||((r=e.selling_plan)==null?void 0:r.id)]:ul(e)}},"sellingPlanAllocationsReducer"),wi=n((t,e)=>{let r=R(e.key);return{...t,[e.key]:t[r]||null}},"reduceProductCartLine"),fl=n((t={},e)=>{if(Y===e.type)return Object.entries(e.payload).reduce(vi,t);if(re===e.type){let{payload:r}=e;return r.items.reduce(wi,t)}if(J===e.type){let{payload:r}=e;return[r,...(r==null?void 0:r.variants)||[]].reduce((o,s)=>{var i,c;return{...Ti(o,s.id,((i=s.selling_plan_allocations)==null?void 0:i.length)>0),[s.id]:((c=s.selling_plan_allocations)==null?void 0:c.length)>0}},t)}return t},"autoshipEligible"),hl=n((t={frequencies:[],offerType:"radio"},e)=>{var r,o,s;if(Y===e.type){let i=[...new Set(Object.values(e.payload).map(Object.keys).flat())];return{...t,frequencies:i}}if(J===e.type){let i=e.payload,c=pl(i),a=(r=c==null?void 0:c.selling_plans)==null?void 0:r.map(({id:l})=>`${l}`);if(a==null?void 0:a.length){let l=((s=(o=c.options)==null?void 0:o[0])==null?void 0:s.values)||a;return{...t,defaultFrequency:a[0],frequencies:a,frequenciesText:l}}}return t},"config"),ml=n((t={},e)=>{if(Y===e.type)return Object.entries(e.payload).reduce(vi,t);if(re===e.type)return e.payload.items.reduce(wi,t);if(J===e.type){let r=e.payload;return[r,...r==null?void 0:r.variants].reduce(dl,t)||t}return t},"inStock"),gl=n((t={},e)=>t,"offer"),yl=n((t="",e)=>"native-shopify-offer","offerId"),bl=n((t=[],e)=>{if(re===e.type)return e.payload.items.reduce((o,s)=>s.selling_plan_allocation?[...o,{id:s.key,frequency:`${s.selling_plan_allocation.selling_plan.id}`}]:o,[]);if(P===e.type){let{autoship:r,autoship_by_default:o,in_stock:s,offer:i}=e.payload;return Object.keys(r).reduce((c,a)=>c.concat(!c.some(l=>l.id===a)&&r[a]&&o[a]&&s[a]?{id:a,frequency:i.defaultFrequency}:[]),t)}return Uo(t,e)},"optedin"),_l=n((t={},e)=>t,"productOffer"),El=n((t={},e)=>{if(J===e.type){let r=e.payload;return[r,...r==null?void 0:r.variants].reduce((o,s)=>{var i;return{...o,[s.id]:(i=s.selling_plan_allocations)==null?void 0:i.reduce(Oi,{})}},t)||t}return re===e.type?e.payload.items.reduce((o,s)=>s.selling_plan_allocation?{...o,[s.key]:Oi({},s.selling_plan_allocation)}:o,t)||t:Y===e.type?{...e.payload}:t},"productPlans"),Ci=bt({auth:jo,authUrl:Vo,autoshipByDefault:Yo,autoshipEligible:fl,config:hl,defaultFrequencies:Jo,eligibilityGroups:Fo,environment:yt,firstOrderPlaceDate:Ho,incentives:Lo,inStock:ml,locale:Bo,merchantId:Mo,nextUpcomingOrder:Do,offer:gl,offerId:yl,optedin:bl,optedout:qo,previewStandardOffer:zo,previewUpsellOffer:Wo,productOffer:_l,productPlans:El,productToSubscribe:Go,sessionId:$o,templates:Qo});var Pi=ee(Ke()),Ri=ee(Et());V();$();var Ii,Ui,Ai=((Ui=(Ii=window.Shopify)==null?void 0:Ii.routes)==null?void 0:Ui.root)||"/",xl="/cart",Sl=`${Ai}cart.js`,Tl=`${Ai}products/`,vl=(0,Ri.debounce)(100,!1,function(t,e){let{id:r}=Object.fromEntries([...new FormData(t).entries()]);e.setAttribute("product",r)});async function Ol(t,e){let r=wl();if(r)try{t.dispatch({type:J,payload:await ki(r)})}catch(s){console.warn("OG: Unable to fetch product details for PDP",s)}let o=e.closest("form");new MutationObserver(()=>vl(o,e)).observe(o,{subtree:!0,childList:!0})}n(Ol,"setupPdp");var Ni=n(async()=>await(await fetch(Sl)).json(),"getCart");function wl(){return[()=>{var t,e;return(((e=(t=document.querySelector('[href$=".oembed"]'))==null?void 0:t.getAttribute("href"))==null?void 0:e.match(/\/([^\/]+)\.oembed$/))||[])[1]},()=>{var t,e;return(document.querySelector('meta[property="og:type"][content="product"]')&&((e=(t=document.querySelector('meta[property="og:url"][content]'))==null?void 0:t.getAttribute("content"))==null?void 0:e.match(/\/([^\/]+)$/))||[])[1]},()=>{var t;return(t=[...document.querySelectorAll("[type$=json]")].map(e=>JSON.parse(e.textContent||"{}")).find(e=>e.handle&&e.price))==null?void 0:t.handle}].reduce((t,e)=>t||e(),"")}n(wl,"guessProductHandle");var ki=(0,Pi.default)(async t=>(await fetch(`${Tl}${t}.js`)).json());async function Cl(t,e){let r=await Ni(),{items:o}=r;t.dispatch({type:re,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:c})=>c))).map(ki))).forEach(c=>t.dispatch({type:J,payload:c}))}n(Cl,"setupCart");async function Pl(t,e){var i,c;let r=t.payload.offer,o=t.payload.frequency||null,s=Rl(t);if(!(r==null?void 0:r.isCart)){r&&Al(r.product.id,s[0],s[1]);return}try{r.style.pointerEvents="none",r.style.opacity=".7";let a=r.closest(".shopify-section"),l=((a==null?void 0:a.id.match(/^shopify-section-(.+)/))||[])[1],d=t.payload.product.id,h=await Ni(),p=(i=h==null?void 0:h.items)==null?void 0:i.findIndex(L=>L.key===d),m=h.items[p],_=m.quantity,b=R(d),f=await fetch("/cart/change.js",{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:d,quantity:_,attributes:Object.fromEntries([s]),properties:m.properties,selling_plan:o||null,sections:l?[l]:void 0})});if(f.status!==200)throw new Error("Cart not updated");let x=await f.json(),w=h.items.length===x.items.length?x.items[p].key:(c=x.items.find(L=>L.quantity===_&&L.product_id===b&&(!o&&!L.selling_plan_allocation||(L==null?void 0:L.selling_plan_allocation.selling_plan.id)===o)))==null?void 0:c.key;w&&r.setAttribute("product",w),e.dispatch({type:re,payload:x});let y=new CustomEvent(Sn,{bubbles:!0,cancelable:!0});if(r.dispatchEvent(y),y.defaultPrevented)return;let C=x.sections;if(C&&l in C){let L=C[l],en=new DOMParser().parseFromString(L.toString()||"","text/html").getElementById("shopify-section-"+l);en&&(a.innerHTML=en.innerHTML)}else window.location.pathname.startsWith(xl)&&window.location.reload()}catch(a){console.log("OG Error updating cart",a)}finally{r.style.pointerEvents="auto",r.style.opacity="1"}}n(Pl,"synchronizeCartOptin");function Rl(t){var i;let e=t.payload.product.id;if(!e)return[];let r=`og__${Math.ceil(new Date().getTime()/1e3)}`,o=((i=t.payload.offer)==null?void 0:i.location)||"",s=[e,t.type.toLowerCase(),o];switch(t.type){case we:case U:s.push("");break;case I:case q:s.push(t.payload.frequency);break;default:return[]}return[r,s.join(",")]}n(Rl,"getTrackingEvent");function Al(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(c=>{let a=c.form,l=a==null?void 0:a.querySelector(`[name="${e}"]`);l||(l=document.createElement("input"),l.type="hidden",l.name=`attributes[${e}]`,a==null||a.appendChild(l)),l.value=r})}n(Al,"updateTrackingInputs");function Nl(t,e,r){let o=t.querySelector(`[name="${e}"]`);if(o&&!r){o.remove();return}!o&&r&&(o=document.createElement("input"),o.type="hidden",o.name=e,t.appendChild(o)),o&&(o.value=r)}n(Nl,"getOrCreateHidden");function kl(t,e){[...document.querySelectorAll("[name=id]")].forEach(r=>{var c;let o=r.value,i=(c=Qt({id:o})(t.getState()))==null?void 0:c.frequency;Nl(r.form,"selling_plan",i)})}n(kl,"synchronizeSellingPlan");function Xo(t){return e=>async r=>{var o;switch(r.type){case I:case U:case q:break;case we:((o=r.payload.offer)==null?void 0:o.isCart)?Cl(t,r.payload.offer):await Ol(t,r.payload.offer);default:}switch(e(r),r.type){case I:case U:case q:Pl(r,t);case we:case P:case J:kl(t,r.payload.offer);break;default:}}}n(Xo,"shopifyMiddleware");Gt();$();N();$();var Il="/apps/subscriptions/auth/",qi="og_auth_begin",Ul="og_auth_end",ql=n(t=>{let[e,r,o,s]=atob(t).split("|");return{id:e,signature:o,timestamp:r,email:s}},"parseIntegrationTempAuth");async function Di({store:t}){var s;let[e]=Ur(),r=ot(),o=(r==null?void 0:r.dataset.customer)?ql(r.dataset.customer):(s=window.ogShopifyConfig)==null?void 0:s.customer;if(o){let i=await Fl(o);if(i){let[c,a,l]=i.split("|");t.dispatch(nt(e,c,Number(a),l))}}else qn("og_auth")}n(Di,"authorizeShopifyCustomer");async function Dl(t){try{let r=await(await fetch(`${Il}?customer=${t.id}&customer_signature=${t.signature}&customer_timestamp=${t.timestamp}`)).text(),o=r.lastIndexOf(qi);if(o<0)throw"Invalid response from OG auth endpoint";return JSON.parse(r.substring(o+qi.length,r.lastIndexOf(Ul)))}catch(e){console.error(e)}}n(Dl,"fetchOGSignature");async function Fl(t){let e=Dn("og_auth");if(e)return e;let{customerId:r,timestamp:o,signature:s}=await Dl(t);if(!r)return"";let i=new Date,c=btoa(s);i.setTime(i.getTime()+2*60*60*1e3);let a=`${r}|${o}|${c};expires=${i.toUTCString()}`;return document.cookie=`og_auth=${a};secure;path=/`,a}n(Fl,"getOrCreateAuthCookie");var Li,Fi=cs(...((Li=Ne)==null?void 0:Li.shopify_selling_plans)?[Ci,Xo]:[xi]),E=Zo(Fi),Ll=E.isReady,jl=E.addOptinChangedCallback,Ml=E.addTemplate,Vl=E.clear,$l=E.config,Hl=E.disableOptinChangedCallbacks,Gl=E.getOptins,Bl=E.getProductsForPurchasePost,zl=E.initialize,Wl=E.previewMode,Yl=E.register,Jl=E.resolveSettings,Ql=E.setAuthUrl,Kl=E.setEnvironment,Zl=E.setLocale,Xl=E.setMerchantId,eu=E.setPublicPath,tu=E.setTemplates,ru=E.setupCart,ou=E.setupProduct,nu=E.setupProducts;var su=E.initialize;rt(()=>Un(E));var ji;((ji=Ne)==null?void 0:ji.shopify_selling_plans)&&rt(()=>Di(E));return iu;})();
884
884
  ; return lib; });
885
885
  //# sourceMappingURL=offers.js.map