import{a as x}from"./chunk-3NC5FRZG.js";import{a as h}from"./chunk-UXD3EAB2.js";import{s as I}from"./chunk-ZNWYE3JB.js";import{b as B}from"./chunk-EDKCVXBB.js";import{b as o}from"./chunk-WOPL5OOA.js";import{A as m,B as E,e as T,f as V,g as A,v as S,x as C}from"./chunk-LVABW27A.js";import{a as P,b as g}from"./chunk-VQ6IH7OA.js";var d=x(),b=d.getInitialState();var f=V({source:"Category Product Card",events:{getPricesByIds:T(),getPricesByIdsSuccess:T(),getPricesByIdsError:T(),clearPrices:A()}});function F(r,t,e){return e?.map(i=>({id:i,changes:{variantPriceTypes:g(P({},t.entities[i]?.variantPriceTypes),{[r]:{priceType:r,price:{status:o.loading}}})}}))||[]}function M(r,t,e){let i={};return Object.keys(h).forEach(a=>{let n=t.find(s=>s.productPriceType===a),y=r?.[a].price,c;n?c={data:n,status:n.prices?o.success:o.error}:a===e?c=g(P({},y),{status:o.error}):c=y,i[a]={priceType:a,price:c}}),i}function W(r,t,e){return e?.map(i=>({id:i.id,changes:{variantPriceTypes:P({},M(t.entities[i.id]?.variantPriceTypes,i.prices,r))}}))||[]}function G(r,t,e){return e?.map(i=>({id:i,changes:{variantPriceTypes:g(P({},t.entities[i]?.variantPriceTypes),{[r]:{priceType:r,price:{status:o.error}}})}}))}function O(r,t){return r?{data:P({},r),status:o.success}:t||{status:o.initial}}function j(r,t){let e={};return Object.keys(h).forEach(i=>{let a=r.find(y=>y.productPriceType===i),n=t?.variantPriceTypes[i].price;e[i]={priceType:i,price:O(a,n)}}),e}function N(r,t){return r.flatMap(e=>e.variants).map(e=>{let i=t.ids.some(n=>Number(n)===e.id),a;return i&&(a=t.entities[e.id]),{id:e.id,variantPriceTypes:j(e.prices,a)}})}var Q=C({name:"categoryVariantsPricesSearch",reducer:E(b,m(B,(r,{result:t})=>d.upsertMany(N(t.content,r),r)),m(f.getPricesByIds,(r,{priceType:t,noPriceIds:e})=>d.updateMany(F(t,r,e),r)),m(f.getPricesByIdsSuccess,(r,{priceType:t,prices:e})=>d.updateMany(W(t,r,e),r)),m(f.getPricesByIdsError,(r,{priceType:t,variantsIds:e})=>d.updateMany(G(t,r,e),r)),m(f.clearPrices,r=>d.removeAll(r))),extraSelectors:({selectIds:r,selectCategoryVariantsPricesSearchState:t,selectEntities:e})=>{let i=(c,s)=>S(e,p=>p[s]?.variantPriceTypes?.[c].price),a=(c,s)=>S(I.selectVariant(s),i(c,s),(p,l)=>({variantInfo:p,variantPrice:l})),n=(c,s)=>S(e,I.selectGroupVariants(s),(p,l)=>l?.filter(u=>{let v=p[u.id]?.variantPriceTypes?.[c]?.price;return u.stockAvailability!=="noStock"&&u.stockAvailability!=="expired"&&v?.status!==o.loading&&!v?.data?.prices?.length}).map(u=>u.id)||[]);return{selectCurrentVariantAndInStockVariantsWithoutPrice:(c,s,p)=>S(a(c,p),n(c,s),(l,u)=>({currentVariant:l,inStockVariantsWithoutPrice:u})),selectVariantsPrices:e}}});export{f as a,Q as b};