1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3229],{12745:(e,t,r)=>{r.d(t,{_R:()=>u,yZ:()=>i});var l=r(8184);let n="balance";function u(e){let{product:t}=e;return(null==t?void 0:t.slug)===n}function i(e){let{product:t,couponPct:r=0}=e;return(function(e){var t;let{product:r}=e;return r?(0,l.FF)({min_order:Number(r.min_order)||0,max_order:Number(r.max_order)||0,default_value:null!=(t=r.default_value)?t:r.min_order,steps:Number(r.steps)||0,slug:n}):[]})({product:t}).map(e=>{let n=(0,l.WP)({quantity:e,product:t}),u=(0,l.v)({product:t,couponPct:r}),i=Math.round(Math.max(Math.max(e*t.cost,t.min_cost)*n*u,t.min_cost)),a=e-i,s=a>0?Math.round(a/e*100):0;return{quantity:e,deposit:i,discountPct:s}})}},17837:(e,t,r)=>{async function l(e,t){try{let r=await fetch(e,{...t,credentials:"same-origin"});if(!r.ok)return{ok:!1,items:[]};let l=await r.json();return{ok:!0,items:Array.isArray(null==l?void 0:l.items)?l.items:[]}}catch(e){return{ok:!1,items:[]}}}function n(){return l("/api/cart",{method:"GET"})}function u(e){let{item:t}=e;return l("/api/cart/items",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({items:[t]})})}function i(e){let{items:t,profiles:r}=e;return l("/api/cart/items",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({items:t,profiles:r})})}function a(e){let{productId:t,target:r=null}=e,n=new URLSearchParams({productId:String(t)});return null!=r&&n.set("target",r),l("/api/cart/items?".concat(n.toString()),{method:"DELETE"})}function s(){return l("/api/cart",{method:"DELETE"})}r.d(t,{NR:()=>i,Xl:()=>n,bE:()=>u,dt:()=>a,sX:()=>s})},22211:(e,t,r)=>{r.d(t,{CartProvider:()=>v,_:()=>g});var l=r(95155),n=r(12115),u=r(17837),i=r(54531),a=r(58363),s=r(8184),c=r(12745),o=r(20349),d=r(88755);let f=(0,n.createContext)();function m(e){var t;let{item:r,products:l}=e;if("string"!=typeof r.target||!r.target.trim())return!1;let n=l.find(e=>e.id===r.productId);return!!n&&!(null==(t=n.ProductMaster)?void 0:t.disabled)}function v(e){let{children:t,products:r=[],currency:v,googleAnalytics:g=null}=e,p=(0,d.V)(),[b,h]=(0,n.useState)([]),[y,k]=(0,n.useState)(!1),[C,E]=(0,n.useState)(!1),[w,S]=(0,n.useState)(null),[_,I]=(0,n.useState)(null),[M,x]=(0,n.useState)(null),[P,T]=(0,n.useState)(!0),N=(0,n.useRef)(b);(0,n.useEffect)(()=>{N.current=b},[b]);let R=(0,n.useRef)(r);(0,n.useEffect)(()=>{R.current=r},[r]);let O=(0,n.useRef)(new Map),X=(0,n.useRef)(new Map),j=(0,n.useCallback)(e=>{var t;
1let r=(null!=(t=X.current.get(e))?t:0)+1;return X.current.set(e,r),r},[]),L=(0,n.useCallback)(e=>{let t=O.current.get(e);t&&(clearTimeout(t),O.current.delete(e))},[]);(0,n.useEffect)(()=>{let e=!0;return(0,u.Xl)().then(t=>{let{ok:r,items:l}=t;if(e){if(r){h(l);let e=R.current;if(e.length>0)for(let t of l)m({item:t,products:e})||(0,u.dt)({productId:t.productId,target:t.target})}T(!1)}}),()=>{e=!1}},[]),(0,n.useEffect)(()=>{let e=()=>{"visible"===document.visibilityState&&(O.current.size>0||(0,u.Xl)().then(e=>{let{ok:t,items:r}=e;t&&h(r)}))};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)},[]),(0,n.useEffect)(()=>{let e=O.current;return()=>{for(let t of e.values())clearTimeout(t);e.clear()}},[]);let K=(0,n.useCallback)(()=>k(!0),[]),z=(0,n.useCallback)(()=>k(!1),[]),A=(0,n.useCallback)(function(){let{token:e=null,provider:t=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};S(e),I(t),E(!0)},[]),D=(0,n.useCallback)(()=>{E(!1),S(null),I(null)},[]),F=(0,n.useCallback)(e=>{let{token:t}=e;return x(t?{token:t}:null)},[]),J=(0,n.useCallback)(async e=>{let{item:t}=e,r=(0,i.K)(t);h(e=>{let r=e.findIndex(e=>{var r,l;return e.productId===t.productId&&(null!=(r=e.target)?r:null)===(null!=(l=t.target)?l:null)});return -1===r?[...e,t]:e.map((e,l)=>l===r?t:e)});let l=j(r);L(r);let{ok:n,items:a}=await (0,u.bE)({item:t});if(X.current.get(r)===l)if(n)h(a);else{let e=await (0,u.Xl)();if(X.current.get(r)!==l)return;e.ok&&h(e.items)}},[j,L]),B=(0,n.useCallback)(async e=>{let{items:t,profiles:l}=e,{ok:n,items:i}=await (0,u.NR)({items:t,profiles:l});if(n)h(i),(0,o.Ml)({value:(0,s.wS)({items:t,products:r,couponPct:p}),currency:v});else{let e=await (0,u.Xl)();e.ok&&h(e.items)}},[r,v,p]),G=(0,n.useCallback)(async e=>{let{productId:t,target:r=null}=e,l=(0,i.K)({productId:t,target:r}),n=j(l);L(l),h(e=>e.filter(e=>{var l;return e.productId!==t||(null!=(l=e.target)?l:null)!==(null!=r?r:null)}));let{ok:a,items:s}=await (0,u.dt)({productId:t,target:r});if(X.current.get(l)===n)if(a)h(s);else{let e=await (0,u.Xl)();if(X.current.get(l)!==n)return;e.ok&&h(e.items)}},[j,L]),U=(0,n.useCallback)(e=>{let{productId:t,target:r=null,quantity:l}=e,n=N.current.find(e=>{var l;return e.productId===t&&(null!=(l=e.target)?l:null)===(null!=r?r:null)});if(!n)return;let s=R.current.find(e=>e.id===t),c=(0,a.zc)({delivery:n.delivery,quantity:l,minOrder:null==s?void 0:s.min_order})?{...n,quantity:l}:{...n,quantity:l,delivery:null};h(e=>e.map(e=>{var l;return e.productId===t&&(null!=(l=e.target)?l:null)===(null!=r?r:null)?c:e}));let o=(0,i.K)({productId:t,target:r}),d=j(o);L(o);let f=setTimeout(async()=>{O.current.delete(o);let{ok:e,items:t}=await (0,u.bE)({item:c});if(X.current.get(o)===d)if(e)h(t);else{let e=await (0,u.Xl)();if(X.current.get(o)!==d)return;e.ok&&h(e.items)}},400);O.current.set(o,f)},[j,L]),V=(0,n.useMemo)(()=>b.filter(e=>m({item:e,products:r})),[b,r]),W=(0,n.useMemo)(()=>r.find(e=>(0,c._R)({product:e}))||null,[r]),Z=(0,n.useMemo)(()=>({items:V,products:r,count:V.length,isLoading:P,isDrawerOpen:y,openDrawer:K,closeDrawer:z,isCheckoutOpen:C,checkoutToken:w,checkoutProvider:_,openCheckout:A,closeCheckout:D,cartMint:M,markCartMint:F,currency:v,balanceProduct:W,googleAnalytics:g,addToCart:J,addItemsToCart:B,removeFromCart:G,setQuantity:U}),[V,r,P,y,K,z,C,w,_,A,D,M,F,v,W,g,J,B,G,U]);return(0,l.jsx)(f.Provider,{value:Z,children:t})}function g(){let e=(0,n.useContext)(f);if(!e)throw Error("useCart must be used within a CartProvider");return e}},54531:(e,t,r)=>{r.d(t,{K:()=>u,S:()=>n});var l=r(58363);function n(e){let{product:t,quantity:r,autoRefill:n,deliveryId:u,interval:i,delay:a,target:s=null,parent:c=null,image:o=null,parentLabel:d=null,addedAt:f=null,startCount:m=null}=e;return{productId:t.id,quantity:r,autoRefill:n,delivery:(0,l.Ig)({id:u}),subscriptionInterval:null!=i?i:null,delay:a||null,target:s,parent:c,image:o,parentLabel:d,addedAt:f,startCount:m}}function u(e){let{productId:t,target:r=null}=e;return"".concat(t,"::").concat(null!=r?r:"")}},85695:(e,t,r)=>{r.d(t,{B:()=>a,OriginProvider:()=>i});var l=r(95155),n=r(12115);let u=(0,n.createContext)(null);function i(e){let{apexOrigin:t=null,checkoutOrigin:r=null,accountOrigin:i=null,isAccount:a=!1,children:s}=e,c=(0,n.useMemo)(()=>({apexOrigin:t,checkoutOrigin:r,accountOrigin:i,isAccount:a}),[t,r,i,a]);return(0,l.jsx)(u.Provider,{value:c,children:s})}function a(){let e=(0,n.useContext)(u);if(!e)throw Error("useOrigins must be used within OriginProvider");return e}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.