@ordergroove/offers 2.26.3-alpha-PR-593-46.77 → 2.26.3-alpha-PR-593-47.78
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/bundle-report.html
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
│ └ examples/index.js
|
|
5
5
|
└ examples/index.js ───────────────────────────────────────── 8.3kb ─── 3.3%
|
|
6
6
|
|
|
7
|
-
dist/offers.js ───────────────────────────────────────────── 121.
|
|
7
|
+
dist/offers.js ───────────────────────────────────────────── 121.1kb ─ 100.0%
|
|
8
8
|
├ src/components/Offer.js ─────────────────────────────────── 8.0kb ─── 6.6%
|
|
9
9
|
│ └ src/make-api.js
|
|
10
10
|
│ └ src/index.js
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
│ └ src/test-mode.js
|
|
19
19
|
│ └ src/make-api.js
|
|
20
20
|
│ └ src/index.js
|
|
21
|
-
├ node_modules/lit-element/lib/updating-element.js ────────── 5.4kb ─── 4.
|
|
21
|
+
├ node_modules/lit-element/lib/updating-element.js ────────── 5.4kb ─── 4.4%
|
|
22
22
|
│ └ node_modules/lit-element/lit-element.js
|
|
23
23
|
│ └ src/components/Price.js
|
|
24
24
|
│ └ src/make-api.js
|
package/dist/offers.js
CHANGED
|
@@ -842,6 +842,6 @@ var lib=(()=>{var ta=Object.create;var Ke=Object.defineProperty;var ra=Object.ge
|
|
|
842
842
|
<slot name="append"></slot>
|
|
843
843
|
`:p`
|
|
844
844
|
<slot name="fallback"></slot>
|
|
845
|
-
`}};n(un,"Price");var Ol=n((t,e)=>{var r;return{productPlans:t.productPlans,frequency:((r=e.offer)==null?void 0:r.frequency)||z(e.product)(t)}},"mapStateToProps"),Li=g(Ol)(un);X();function pn(t){qi(),Ps(t);try{customElements.define("og-when",pi),customElements.define("og-text",xi),customElements.define("og-incentive-text",Oi),customElements.define("og-offer",Ii),customElements.define("og-select-frequency",wi),customElements.define("og-optout-button",mi),customElements.define("og-optin-toggle",Ei),customElements.define("og-optin-status",fi),customElements.define("og-optin-button",hi),customElements.define("og-optin-select",yi),customElements.define("og-upsell-button",bi),customElements.define("og-frequency-status",gi),customElements.define("og-modal",Tr),customElements.define("og-select",vr),customElements.define("og-tooltip",Or),customElements.define("og-upsell-modal",_i),customElements.define("og-next-upcoming-order",Pi),customElements.define("og-price",Li)}catch{console.info("OG WebComponents already registered, skipping.")}let e=!1,r={store:t,isReady:()=>e,setEnvironment(o){return t.dispatch(Yr(o)),this},setMerchantId(o){return t.dispatch(rs(o)),this},setAuthUrl(o){return t.dispatch(os(o)),this},getProductsForPurchasePost(o=[]){return to(t.getState(),o)},getOptins(o=[]){return to(t.getState(),o)},clear(){t.dispatch(is())},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(ls(o)),this},setLocale(o){return t.dispatch(cs(o)),this},addTemplate(o,s,i){return t.dispatch(us(o,s,i)),this},setTemplates(o){return t.dispatch(ps(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}=Tt({},Yr(s)),{sessionId:d}=a.getState();d&&c.forEach(h=>{let u=ue(h);ce.fetchOffer(l,o,d,`${u}`,_e)}),i.product_discounts&&typeof i.product_discounts=="object"&&a.dispatch({type:J,payload:i.product_discounts})}},initialize(o,s,i){var c,l;e||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?console.warn("og.offers has been initialized already. Skipping."):window.addEventListener("storage",bs(t)),arguments.length===3&&(t.dispatch(er()),((l=t.getState().auth)==null?void 0:l.ts)||t.dispatch(ns())),e=!0,this}};return window.OG=window.OG||{},Object.assign(window.OG,r),Object.assign(r.initialize,r),eo(),r}n(pn,"makeApi");V();X();var Qe=n(t=>t===null?"":`$${t.toString().replace(/(\d\d)$/,".$1")}`,"money"),wl=n(t=>`${t}%`,"percentage"),Cl=n(t=>{let e="%";return(t==null?void 0:t.price_adjustments.length)>0&&(t.price_adjustments[0].value_type==="percentage"?e=wl(t.price_adjustments[0].value):t.price_adjustments[0].value?e=Qe(t.price_adjustments[0].value):e=Qe(t.compare_at_price-t.price)),t.compare_at_price?[Qe(t.compare_at_price),e,Qe(t.price)]:[Qe(t.price),"",Qe(t.price)]},"mapSellingPlanToDiscount"),ji=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"),Rl=n((t,e)=>({...ji(t,e.id,e.available),[e.id]:e.available}),"productOrVariantInStockReducer"),Mi=n((t,[e])=>({...t,[e]:!0}),"productTrue"),Vi=n((t,e)=>{var r;return{...t,[e.selling_plan_id||((r=e.selling_plan)==null?void 0:r.id)]:Cl(e)}},"sellingPlanAllocationsReducer"),$i=n((t,e)=>{let r=ue(e.key);return{...t,[e.key]:t[r]||null}},"reduceProductCartLine"),Al=n((t={},e)=>{if(J===e.type)return Object.entries(e.payload).reduce(Mi,t);if(ae===e.type){let{payload:r}=e;return r.items.reduce($i,t)}if(Q===e.type){let{payload:r}=e;return[r,...(r==null?void 0:r.variants)||[]].reduce((o,s)=>{var i,a;return{...ji(o,s.id,((i=s.selling_plan_allocations)==null?void 0:i.length)>0),[s.id]:((a=s.selling_plan_allocations)==null?void 0:a.length)>0}},t)}return t},"autoshipEligible"),Nl=n((t={frequencies:[],offerType:"radio"},e)=>{var r,o,s;if(J===e.type){let i=[...new Set(Object.values(e.payload).map(Object.keys).flat())];return{...t,frequencies:i}}if(Q===e.type){let i=e.payload,a=Pl(i),c=(r=a==null?void 0:a.selling_plans)==null?void 0:r.map(({id:l})=>`${l}`);if(c==null?void 0:c.length){let l=((s=(o=a.options)==null?void 0:o[0])==null?void 0:s.values)||c;return{...t,defaultFrequency:c[0],frequencies:c,frequenciesText:l}}}return t},"config"),Il=n((t={},e)=>{if(J===e.type)return Object.entries(e.payload).reduce(Mi,t);if(ae===e.type)return e.payload.items.reduce($i,t);if(Q===e.type){let r=e.payload;return[r,...r==null?void 0:r.variants].reduce(Rl,t)||t}return t},"inStock"),kl=n((t={},e)=>t,"offer"),Ul=n((t="",e)=>"native-shopify-offer","offerId"),ql=n((t=[],e)=>ae===e.type?e.payload.items.reduce((o,s)=>s.selling_plan_allocation?[...o,{id:s.key,frequency:`${s.selling_plan_allocation.selling_plan.id}`}]:o,[]):zo(t,e),"optedin"),Dl=n((t={},e)=>t,"productOffer"),Fl=n((t={},e)=>{if(Q===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(Vi,{})}},t)||t}return ae===e.type?e.payload.items.reduce((o,s)=>s.selling_plan_allocation?{...o,[s.key]:Vi({},s.selling_plan_allocation)}:o,t)||t:J===e.type?{...e.payload}:t},"productPlans"),Hi=vt({auth:Ko,authUrl:Xo,autoshipByDefault:an,autoshipEligible:Al,config:Nl,defaultFrequencies:cn,eligibilityGroups:Jo,environment:Tt,firstOrderPlaceDate:tn,incentives:Qo,inStock:Il,locale:on,merchantId:Zo,nextUpcomingOrder:Yo,offer:kl,offerId:Ul,optedin:ql,optedout:Wo,previewStandardOffer:nn,previewUpsellOffer:sn,productOffer:Dl,productPlans:Fl,productToSubscribe:rn,sessionId:en,templates:ln});var Gi=Y(ot()),Bi=Y(wt());V();X();var Yi,Cr=((Yi=window.Shopify)==null?void 0:Yi.routes.root)||"/",Ll=`${Cr}cart`,Pm=`${Cr}cart/change.js`,jl=`${Cr}cart.js`,Ml=`${Cr}products/`,Vl=(0,Bi.debounce)(100,function(t,e){let{id:r}=Object.fromEntries([...new FormData(t).entries()]);e.setAttribute("product",r)});async function $l(t,e){let r=Hl();if(r)try{t.dispatch({type:Q,payload:await Wi(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($l,"setupPdp");var zi=n(async()=>await(await fetch(jl)).json(),"getCart");function Hl(){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(Hl,"guessProductHandle");var Wi=(0,Gi.default)(async t=>(await fetch(`${Ml}${t}.js`)).json());async function Gl(t,e){let r=await zi(),{items:o}=r;t.dispatch({type:ae,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(Wi))).forEach(a=>t.dispatch({type:Q,payload:a}))}n(Gl,"setupCart");async function Bl(t,e){var i,a;let r=t.payload.offer,o=t.payload.frequency||null,s=zl(t);if(!(r==null?void 0:r.isCart)){r&&Wl(r.product.id,s[0],s[1]);return}try{r.style.pointerEvents="none",r.style.opacity=".7";let c=r.closest(".shopify-section"),l=((c==null?void 0:c.id.match(/^shopify-section-(.+)/))||[])[1],d=t.payload.product.id,h=await zi(),u=(i=h==null?void 0:h.items)==null?void 0:i.findIndex(U=>U.key===d),m=h.items[u],_=m.quantity,b=ue(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(),O=h.items.length===x.items.length?x.items[u].key:(a=x.items.find(U=>U.quantity===_&&U.product_id===b&&(!o&&!U.selling_plan_allocation||(U==null?void 0:U.selling_plan_allocation.selling_plan.id)===o)))==null?void 0:a.key;O&&r.setAttribute("product",O),e.dispatch({type:ae,payload:x});let y=new CustomEvent(kn,{bubbles:!0,cancelable:!0});if(r.dispatchEvent(y),y.defaultPrevented)return;let C=x.sections;if(C&&l in C){let U=C[l],ea=new DOMParser().parseFromString(U.toString()||"","text/html").getElementById("shopify-section-"+l);c.innerHTML=ea.innerHTML}else window.location.href.endsWith(Ll)&&window.location.reload()}catch(c){console.log("OG Error updating cart",c)}finally{r.style.pointerEvents="auto",r.style.opacity="1"}}n(Bl,"synchronizeCartOptin");function zl(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 Ie:case D:s.push("");break;case q:case F:s.push(t.payload.frequency);break;default:return[]}return[r,s.join(",")]}n(zl,"getTrackingEvent");function Wl(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.querySelector(`[name="${e}"]`);l||(l=document.createElement("input"),l.type="hidden",l.name=`attributes[${e}]`,c.appendChild(l)),l.value=r})}n(Wl,"updateTrackingInputs");function Yl(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(Yl,"getOrCreateHidden");function Jl(t,e){[...document.querySelectorAll("[name=id]")].forEach(r=>{var a;let o=r.value,i=(a=rr({id:o})(t.getState()))==null?void 0:a.frequency;Yl(r.form,"selling_plan",i)})}n(Jl,"synchronizeSellingPlan");function dn(t){return e=>r=>{var o;switch(r.type){case q:case D:case F:break;case Ie:((o=r.payload.offer)==null?void 0:o.isCart)?Gl(t,r.payload.offer):$l(t,r.payload.offer);default:}switch(e(r),r.type){case q:case D:case F:Bl(r,t);case Ie:case Q:Jl(t,r.payload.offer);break;default:}}}n(dn,"shopifyMiddleware");Br();X();A();X();var Ql="/apps/subscriptions/auth/",Ji="og_auth_begin",Kl="og_auth_end",Zl=n(t=>{let[e,r,o,s]=atob(t).split("|");return{id:e,signature:o,timestamp:r,email:s}},"parseIntegrationTempAuth");async function Qi({store:t}){var s;let[e]=Hr(),r=lt(),o=(r==null?void 0:r.dataset.customer)?Zl(r.dataset.customer):(s=window.ogShopifyConfig)==null?void 0:s.customer;if(o){let i=await eu(o);if(i){let[a,c,l]=i.split("|");t.dispatch(ut(e,a,Number(c),l))}}else Zn("og_auth")}n(Qi,"authorizeShopifyCustomer");async function Xl(t){try{let r=await(await fetch(`${Ql}?customer=${t.id}&customer_signature=${t.signature}&customer_timestamp=${t.timestamp}`)).text(),o=r.lastIndexOf(Ji);if(o<0)throw"Invalid response from OG auth endpoint";return JSON.parse(r.substring(o+Ji.length,r.lastIndexOf(Kl)))}catch(e){console.error(e)}}n(Xl,"fetchOGSignature");async function eu(t){let e=Xn("og_auth");if(e)return e;let{customerId:r,timestamp:o,signature:s}=await Xl(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(eu,"getOrCreateAuthCookie");var Zi,Ki=vs(...((Zi=Gr)==null?void 0:Zi.shopify_selling_plans)?[Hi,dn]:[Fi]),E=pn(Ki),tu=E.isReady,ru=E.addOptinChangedCallback,ou=E.addTemplate,nu=E.clear,su=E.config,iu=E.disableOptinChangedCallbacks,au=E.getOptins,cu=E.getProductsForPurchasePost,lu=E.initialize,uu=E.previewMode,pu=E.register,du=E.resolveSettings,fu=E.setAuthUrl,hu=E.setEnvironment,mu=E.setLocale,gu=E.setMerchantId,yu=E.setPublicPath,bu=E.setTemplates,_u=E.setupCart,Eu=E.setupProduct,xu=E.setupProducts,Su=E.initialize;ct(()=>Kn(E));var Xi;((Xi=Gr)==null?void 0:Xi.shopify_selling_plans)&&ct(()=>Qi(E));return Tu;})();
|
|
845
|
+
`}};n(un,"Price");var Ol=n((t,e)=>{var r;return{productPlans:t.productPlans,frequency:((r=e.offer)==null?void 0:r.frequency)||z(e.product)(t)}},"mapStateToProps"),Li=g(Ol)(un);X();function pn(t){qi(),Ps(t);try{customElements.define("og-when",pi),customElements.define("og-text",xi),customElements.define("og-incentive-text",Oi),customElements.define("og-offer",Ii),customElements.define("og-select-frequency",wi),customElements.define("og-optout-button",mi),customElements.define("og-optin-toggle",Ei),customElements.define("og-optin-status",fi),customElements.define("og-optin-button",hi),customElements.define("og-optin-select",yi),customElements.define("og-upsell-button",bi),customElements.define("og-frequency-status",gi),customElements.define("og-modal",Tr),customElements.define("og-select",vr),customElements.define("og-tooltip",Or),customElements.define("og-upsell-modal",_i),customElements.define("og-next-upcoming-order",Pi),customElements.define("og-price",Li)}catch{console.info("OG WebComponents already registered, skipping.")}let e=!1,r={store:t,isReady:()=>e,setEnvironment(o){return t.dispatch(Yr(o)),this},setMerchantId(o){return t.dispatch(rs(o)),this},setAuthUrl(o){return t.dispatch(os(o)),this},getProductsForPurchasePost(o=[]){return to(t.getState(),o)},getOptins(o=[]){return to(t.getState(),o)},clear(){t.dispatch(is())},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(ls(o)),this},setLocale(o){return t.dispatch(cs(o)),this},addTemplate(o,s,i){return t.dispatch(us(o,s,i)),this},setTemplates(o){return t.dispatch(ps(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}=Tt({},Yr(s)),{sessionId:d}=a.getState();d&&c.forEach(h=>{let u=ue(h);ce.fetchOffer(l,o,d,`${u}`,_e)}),i.product_discounts&&typeof i.product_discounts=="object"&&a.dispatch({type:J,payload:i.product_discounts})}},initialize(o,s,i){var c,l;e||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?console.warn("og.offers has been initialized already. Skipping."):window.addEventListener("storage",bs(t)),arguments.length===3&&(t.dispatch(er()),((l=t.getState().auth)==null?void 0:l.ts)||t.dispatch(ns())),e=!0,this}};return window.OG=window.OG||{},Object.assign(window.OG,r),Object.assign(r.initialize,r),eo(),r}n(pn,"makeApi");V();X();var Qe=n(t=>t===null?"":`$${t.toString().replace(/(\d\d)$/,".$1")}`,"money"),wl=n(t=>`${t}%`,"percentage"),Cl=n(t=>{var r,o;let e="";return((r=t.price_adjustments[0])==null?void 0:r.value_type)==="percentage"?e=wl(t.price_adjustments[0].value):((o=t.price_adjustments[0])==null?void 0:o.value)?e=Qe(t.price_adjustments[0].value):t.compare_at_price&&(e=Qe(t.compare_at_price-t.price)),e?[Qe(t.compare_at_price),e,Qe(t.price)]:[Qe(t.price),"",Qe(t.price)]},"mapSellingPlanToDiscount"),ji=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"),Rl=n((t,e)=>({...ji(t,e.id,e.available),[e.id]:e.available}),"productOrVariantInStockReducer"),Mi=n((t,[e])=>({...t,[e]:!0}),"productTrue"),Vi=n((t,e)=>{var r;return{...t,[e.selling_plan_id||((r=e.selling_plan)==null?void 0:r.id)]:Cl(e)}},"sellingPlanAllocationsReducer"),$i=n((t,e)=>{let r=ue(e.key);return{...t,[e.key]:t[r]||null}},"reduceProductCartLine"),Al=n((t={},e)=>{if(J===e.type)return Object.entries(e.payload).reduce(Mi,t);if(ae===e.type){let{payload:r}=e;return r.items.reduce($i,t)}if(Q===e.type){let{payload:r}=e;return[r,...(r==null?void 0:r.variants)||[]].reduce((o,s)=>{var i,a;return{...ji(o,s.id,((i=s.selling_plan_allocations)==null?void 0:i.length)>0),[s.id]:((a=s.selling_plan_allocations)==null?void 0:a.length)>0}},t)}return t},"autoshipEligible"),Nl=n((t={frequencies:[],offerType:"radio"},e)=>{var r,o,s;if(J===e.type){let i=[...new Set(Object.values(e.payload).map(Object.keys).flat())];return{...t,frequencies:i}}if(Q===e.type){let i=e.payload,a=Pl(i),c=(r=a==null?void 0:a.selling_plans)==null?void 0:r.map(({id:l})=>`${l}`);if(c==null?void 0:c.length){let l=((s=(o=a.options)==null?void 0:o[0])==null?void 0:s.values)||c;return{...t,defaultFrequency:c[0],frequencies:c,frequenciesText:l}}}return t},"config"),Il=n((t={},e)=>{if(J===e.type)return Object.entries(e.payload).reduce(Mi,t);if(ae===e.type)return e.payload.items.reduce($i,t);if(Q===e.type){let r=e.payload;return[r,...r==null?void 0:r.variants].reduce(Rl,t)||t}return t},"inStock"),kl=n((t={},e)=>t,"offer"),Ul=n((t="",e)=>"native-shopify-offer","offerId"),ql=n((t=[],e)=>ae===e.type?e.payload.items.reduce((o,s)=>s.selling_plan_allocation?[...o,{id:s.key,frequency:`${s.selling_plan_allocation.selling_plan.id}`}]:o,[]):zo(t,e),"optedin"),Dl=n((t={},e)=>t,"productOffer"),Fl=n((t={},e)=>{if(Q===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(Vi,{})}},t)||t}return ae===e.type?e.payload.items.reduce((o,s)=>s.selling_plan_allocation?{...o,[s.key]:Vi({},s.selling_plan_allocation)}:o,t)||t:J===e.type?{...e.payload}:t},"productPlans"),Hi=vt({auth:Ko,authUrl:Xo,autoshipByDefault:an,autoshipEligible:Al,config:Nl,defaultFrequencies:cn,eligibilityGroups:Jo,environment:Tt,firstOrderPlaceDate:tn,incentives:Qo,inStock:Il,locale:on,merchantId:Zo,nextUpcomingOrder:Yo,offer:kl,offerId:Ul,optedin:ql,optedout:Wo,previewStandardOffer:nn,previewUpsellOffer:sn,productOffer:Dl,productPlans:Fl,productToSubscribe:rn,sessionId:en,templates:ln});var Gi=Y(ot()),Bi=Y(wt());V();X();var Yi,Cr=((Yi=window.Shopify)==null?void 0:Yi.routes.root)||"/",Ll=`${Cr}cart`,Pm=`${Cr}cart/change.js`,jl=`${Cr}cart.js`,Ml=`${Cr}products/`,Vl=(0,Bi.debounce)(100,function(t,e){let{id:r}=Object.fromEntries([...new FormData(t).entries()]);e.setAttribute("product",r)});async function $l(t,e){let r=Hl();if(r)try{t.dispatch({type:Q,payload:await Wi(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($l,"setupPdp");var zi=n(async()=>await(await fetch(jl)).json(),"getCart");function Hl(){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(Hl,"guessProductHandle");var Wi=(0,Gi.default)(async t=>(await fetch(`${Ml}${t}.js`)).json());async function Gl(t,e){let r=await zi(),{items:o}=r;t.dispatch({type:ae,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(Wi))).forEach(a=>t.dispatch({type:Q,payload:a}))}n(Gl,"setupCart");async function Bl(t,e){var i,a;let r=t.payload.offer,o=t.payload.frequency||null,s=zl(t);if(!(r==null?void 0:r.isCart)){r&&Wl(r.product.id,s[0],s[1]);return}try{r.style.pointerEvents="none",r.style.opacity=".7";let c=r.closest(".shopify-section"),l=((c==null?void 0:c.id.match(/^shopify-section-(.+)/))||[])[1],d=t.payload.product.id,h=await zi(),u=(i=h==null?void 0:h.items)==null?void 0:i.findIndex(U=>U.key===d),m=h.items[u],_=m.quantity,b=ue(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(),O=h.items.length===x.items.length?x.items[u].key:(a=x.items.find(U=>U.quantity===_&&U.product_id===b&&(!o&&!U.selling_plan_allocation||(U==null?void 0:U.selling_plan_allocation.selling_plan.id)===o)))==null?void 0:a.key;O&&r.setAttribute("product",O),e.dispatch({type:ae,payload:x});let y=new CustomEvent(kn,{bubbles:!0,cancelable:!0});if(r.dispatchEvent(y),y.defaultPrevented)return;let C=x.sections;if(C&&l in C){let U=C[l],ea=new DOMParser().parseFromString(U.toString()||"","text/html").getElementById("shopify-section-"+l);c.innerHTML=ea.innerHTML}else window.location.href.endsWith(Ll)&&window.location.reload()}catch(c){console.log("OG Error updating cart",c)}finally{r.style.pointerEvents="auto",r.style.opacity="1"}}n(Bl,"synchronizeCartOptin");function zl(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 Ie:case D:s.push("");break;case q:case F:s.push(t.payload.frequency);break;default:return[]}return[r,s.join(",")]}n(zl,"getTrackingEvent");function Wl(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.querySelector(`[name="${e}"]`);l||(l=document.createElement("input"),l.type="hidden",l.name=`attributes[${e}]`,c.appendChild(l)),l.value=r})}n(Wl,"updateTrackingInputs");function Yl(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(Yl,"getOrCreateHidden");function Jl(t,e){[...document.querySelectorAll("[name=id]")].forEach(r=>{var a;let o=r.value,i=(a=rr({id:o})(t.getState()))==null?void 0:a.frequency;Yl(r.form,"selling_plan",i)})}n(Jl,"synchronizeSellingPlan");function dn(t){return e=>r=>{var o;switch(r.type){case q:case D:case F:break;case Ie:((o=r.payload.offer)==null?void 0:o.isCart)?Gl(t,r.payload.offer):$l(t,r.payload.offer);default:}switch(e(r),r.type){case q:case D:case F:Bl(r,t);case Ie:case Q:Jl(t,r.payload.offer);break;default:}}}n(dn,"shopifyMiddleware");Br();X();A();X();var Ql="/apps/subscriptions/auth/",Ji="og_auth_begin",Kl="og_auth_end",Zl=n(t=>{let[e,r,o,s]=atob(t).split("|");return{id:e,signature:o,timestamp:r,email:s}},"parseIntegrationTempAuth");async function Qi({store:t}){var s;let[e]=Hr(),r=lt(),o=(r==null?void 0:r.dataset.customer)?Zl(r.dataset.customer):(s=window.ogShopifyConfig)==null?void 0:s.customer;if(o){let i=await eu(o);if(i){let[a,c,l]=i.split("|");t.dispatch(ut(e,a,Number(c),l))}}else Zn("og_auth")}n(Qi,"authorizeShopifyCustomer");async function Xl(t){try{let r=await(await fetch(`${Ql}?customer=${t.id}&customer_signature=${t.signature}&customer_timestamp=${t.timestamp}`)).text(),o=r.lastIndexOf(Ji);if(o<0)throw"Invalid response from OG auth endpoint";return JSON.parse(r.substring(o+Ji.length,r.lastIndexOf(Kl)))}catch(e){console.error(e)}}n(Xl,"fetchOGSignature");async function eu(t){let e=Xn("og_auth");if(e)return e;let{customerId:r,timestamp:o,signature:s}=await Xl(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(eu,"getOrCreateAuthCookie");var Zi,Ki=vs(...((Zi=Gr)==null?void 0:Zi.shopify_selling_plans)?[Hi,dn]:[Fi]),E=pn(Ki),tu=E.isReady,ru=E.addOptinChangedCallback,ou=E.addTemplate,nu=E.clear,su=E.config,iu=E.disableOptinChangedCallbacks,au=E.getOptins,cu=E.getProductsForPurchasePost,lu=E.initialize,uu=E.previewMode,pu=E.register,du=E.resolveSettings,fu=E.setAuthUrl,hu=E.setEnvironment,mu=E.setLocale,gu=E.setMerchantId,yu=E.setPublicPath,bu=E.setTemplates,_u=E.setupCart,Eu=E.setupProduct,xu=E.setupProducts,Su=E.initialize;ct(()=>Kn(E));var Xi;((Xi=Gr)==null?void 0:Xi.shopify_selling_plans)&&ct(()=>Qi(E));return Tu;})();
|
|
846
846
|
; return lib; });
|
|
847
847
|
//# sourceMappingURL=offers.js.map
|