import{f as L,N as at,j as I,aq as it}from"./index-BB3C6ia3.js";import{b as u}from"./vendor-q1sfVHxQ.js";var S=function(){return S=Object.assign||function(a){for(var s,i=1,n=arguments.length;i0&&t[t.length-1])||e[0]!==6&&e[0]!==2)){o=0;continue}if(e[0]===3&&(!t||e[1]>t[0]&&e[1]0)&&!(n=o.next()).done;)l.push(n.value)}catch(f){t={error:f}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}return l},A=it.purchaseHelper,ft=A.Helper,T=A.QUERY_KEY,h=A.MUTATION_KEY,v={selectorOptions:[],quantities:[],totalPrice:0,textOptionMapByOption:new Map,textOptionsByProduct:[],flatOptions:[],originOption:null},pt=u.createContext(null),H=u.createContext(null),Tt=function(a){var s=a.children,i=a.initialState,n=i===void 0?v:i,t=a.productNo,o=P(u.useState(n.selectorOptions),2),l=o[0],f=o[1],O=P(u.useState(n.quantities),2),p=O[0],e=O[1],d=P(u.useState(n.totalPrice),2),N=d[0],C=d[1],R=P(u.useState(n.textOptionMapByOption),2),q=R[0],b=R[1],m=P(u.useState(n.textOptionsByProduct),2),V=m[0],Q=m[1],w=P(u.useState(n.flatOptions),2),X=w[0],$=w[1],B=P(u.useState(n.originOption),2),F=B[0],g=B[1],M=u.useMemo((function(){return L(new ft({productNo:t}))}),[t]),_=M.executeQuery,E=M.executeMutation,G=E(h.PUT_SELECTED_OPTION).mutate,W=E(h.PUT_QUANTITY_COUNT).mutate,z=E(h.DELETE_QUANTITY).mutate,J=E(h.PUT_TEXT_OPTION_BY_OPTION).mutate,Z=E(h.PUT_TEXT_OPTION_BY_PRODUCT).mutate,tt=u.useCallback((function(){g(v.originOption),e(v.quantities),f(v.selectorOptions),Q(v.textOptionsByProduct),b(v.textOptionMapByOption),C(v.totalPrice)}),[]),U=u.useCallback((function(){return _(T.QUERY_TOTAL_PRICE,{onSuccess:function(r){var c=r.data;C(c)}})}),[t]),D=u.useCallback((function(r){return _(T.QUERY_TEXT_OPTION_MAP_BY_OPTION,{payload:r,onSuccess:function(c){var y=c.data;b(y)}})}),[t]),k=u.useCallback((function(){return _(T.QUERY_TEXT_OPTIONS_BY_PRODUCT,{onSuccess:function(r){var c=r.data;Q(c)}})}),[t]),et=u.useCallback((function(){return _(T.QUERY_FLAT_OPTIONS,{onSuccess:function(r){var c=r.data;$(c)}})}),[t]),nt=u.useCallback((function(){return _(T.QUERY_ORIGIN_OPTION,{onSuccess:function(r){var c=r.data;g(c)}})}),[t]),x=(u.useCallback((function(){return _(T.QUERY_ADDITIONAL_DISCOUNTS_BY_PRODUCT_NO,{})}),[t]),u.useMemo((function(){return{fetchSelectorOptions:function(r){return tt(),_(T.QUERY_SELECTOR_OPTIONS,{payload:r,onSuccess:function(c){var y=c.data;f((function(){return y})),x.fetchQuantities(),D(),k(),et(),nt()}})},selectOptionBy:function(r){return G({payload:r,onSuccess:function(){x.fetchSelectorOptions(r),x.fetchQuantities(r),D(r),k()}})},fetchQuantities:function(r){return _(T.QUERY_QUANTITIES,{payload:r,onSuccess:function(c){var y=c.data;y.length&&(e(y),U())}})},changeQuantityCount:function(r){var c=r.selectedKey,y=r.count;return W({payload:{selectedKey:c,count:y},onSuccess:function(rt){var ot=rt.data;e((function(){return ot})),U()}})},deleteQuantityBy:function(r){return z({payload:{selectedKey:r},onSuccess:function(c){var y=c.data;e((function(){return y})),U()}})},changeTextOptionByOption:function(r){return J({payload:r})},changeTextOptionByProduct:function(r){return Z({payload:r})},fetchOptionToMakeOrder:function(r){return _(T.QUERY_OPTIONS_TO_BUY,{payload:r})},fetchOptionsToAddToCart:function(r){return _(T.QUERY_OPTIONS_TO_ADD_TO_CART,{payload:r})}}}),[t]));return I.jsx(H.Provider,{value:x,children:I.jsx(pt.Provider,{value:{selectorOptions:l,quantities:p,textOptionMapByOption:q,textOptionsByProduct:V,totalPrice:N,flatOptions:X,originOption:F},children:s})})},Pt=function(){var a=u.useContext(H);if(!a)throw new Error("INVALID_ProductOptionActionContext");return a};export{_t as N,Tt as P,yt as a,Pt as u};