import{f as Se,g as Ne,j as r,k as P,p as s,y as Ce,n as j,E as F,u as je,D as J}from"./index-BTX1XDcj.js";import{b as f,k as ee}from"./vendor-q1sfVHxQ.js";import{B as ve}from"./button-Denaz1br.js";import{C as M}from"./checkbox-zTCM5Mnm.js";import{I as we}from"./input-CPMYudWS.js";import{u as te}from"./useBrandLikeList-C6DisZWv.js";import{I as Ee}from"./IconChevronDown-CO5ahOXd.js";import{u as Pe}from"./useQuery-DR2YabPW.js";import{b as ke,a as Te}from"./brand-info.qk-BlM0nlqz.js";import{h as Re}from"./sanitizeHtml-CNVhPZBl.js";import{l as H,s as q,n as Le,a as re}from"./schemas-DINLhTQO.js";var T=function(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var a,o,l=n.call(e),u=[];try{for(;(t===void 0||t-- >0)&&!(a=l.next()).done;)u.push(a.value)}catch(m){o={error:m}}finally{try{a&&!a.done&&(n=l.return)&&n.call(l)}finally{if(o)throw o.error}}return u},se=Ne.categories,Oe=se.Helper,_e=se.QUERY_KEY,R={parentCategories:{categories:[],categoryInfo:{}},currentCategories:{categories:[],categoryInfo:{}},childCategories:{categories:[],categoryInfo:{}},originCategories:{multiLevelCategories:[],flatCategories:[]},isVisibleCallout:!1,currentCategory:{multiLevelCategories:[],flatCategories:[],brands:[]}},Ae=f.createContext(null),De=f.createContext(null),lt=function(e){var t=e.children,n=T(f.useState(R.parentCategories),2),a=n[0],o=n[1],l=T(f.useState(R.currentCategories),2),u=l[0],m=l[1],c=T(f.useState(R.childCategories),2),g=c[0],h=c[1],x=T(f.useState(R.isVisibleCallout),2),C=x[0],w=x[1],d=T(f.useState(R.originCategories),2),i=d[0],S=d[1],N=T(f.useState(R.currentCategory),2),v=N[0],y=N[1],p=f.useMemo((function(){return Se(new Oe)}),[]).executeQuery,b=f.useMemo((function(){return{searchCategoryMenu:function(E){var O=E.categoryNo,L=E.depth;return p(_e.QUERY_CATEGORY_RESULT,{payload:{categoryNo:O,depth:L},onSuccess:function(K){var k=K.data,pe=k.parentCategories,he=k.currentCategories,xe=k.childCategories,ye=k.originCategories,be=k.currentCategory;o(pe),m(he),h(xe),S(ye),y(be)}})},toggleCallout:function(E){E===void 0&&(E=!1),w(E)}}}),[C]);return r.jsx(Ae.Provider,{value:{parentCategories:a,currentCategories:u,childCategories:g,isVisibleCallout:C,originCategories:i,currentCategory:v},children:r.jsx(De.Provider,{value:b,children:t})})};const Me=({onClick:e})=>{const{t}=P("common");return r.jsx("div",{className:"lg:hidden fixed bottom-[9.6rem] left-1/2 -translate-x-1/2 z-40",children:r.jsx(ve,{type:"button",variant:"solid",size:"fig-default",className:"w-[16rem] font-fig-kr",onClick:e,children:t("filter")})})};Me.propTypes={onClick:s.func.isRequired};const ne=[{value:"RECENT_PRODUCT",labelKey:"sortNewProduct"},{value:"POPULAR",labelKey:"sortPopular"},{value:"DISCOUNTED_PRICE_ASC",labelKey:"sortPriceLowToHigh"},{value:"DISCOUNTED_PRICE_DESC",labelKey:"sortPriceHighToLow"},{value:"ONLY_SALE",labelKey:"sortOnlySale"}],Ie=[{value:"ADMIN_SETTING",labelKey:"sortDisplayOrder"},{value:"LOW_PRICE",labelKey:"sortPriceLowToHigh"},{value:"HIGH_PRICE",labelKey:"sortPriceHighToLow"},{value:"REVIEW",labelKey:"sortByReview"},{value:"REGISTER",labelKey:"sortByRegisterDate"}],Be=[{key:"excludePreSale",labelKey:"excludePreSale"},{key:"excludeSoldOut",labelKey:"excludeSoldOut"}],ae=1391,oe=e=>{if(!e)return null;const t=e.indexOf("-");return t<=0?null:{nameKr:e.substring(0,t),codeEn:e.substring(t+1)}},it=e=>{if(!e?.length)return[];const t=new Map;return e.forEach(n=>{n.customProperties?.forEach(a=>{if(a.propNo!==ae)return;const o=oe(a.propValue);o&&(t.has(a.propValueNo)||t.set(a.propValueNo,{...o,propValueNo:a.propValueNo}))})}),Array.from(t.values())},ct=e=>(e??[]).map(t=>{const n=oe(t.propValue);return n?{...n,propValueNo:t.propValueNo}:null}).filter(Boolean),B=({onBrandFilter:e,selectedBrands:t=[],sectionBrands:n,limitHeight:a=!0})=>{const{t:o}=P("common"),[l,u]=f.useState(""),{isLiked:m,toggleLike:c,showLoginModal:g,closeLoginModal:h,confirmLogin:x}=te(),C=n??[],w=f.useMemo(()=>{const d=l.trim().toLowerCase();return d?C.filter(i=>(i.nameEn||i.name||"").toLowerCase().includes(d)||(i.name||"").toLowerCase().includes(d)):C},[C,l]);return r.jsxs("div",{className:j("flex flex-col items-start justify-start gap-[2rem] w-full",a&&"lg:flex-1 lg:min-h-0"),children:[r.jsx(we,{type:"text",placeholder:o("brandSearch"),value:l,onChange:d=>u(d.target.value),className:"shrink-0 font-fig-kr"}),r.jsx("div",{className:j("flex flex-col items-start justify-start gap-[0.8rem] w-full",a&&"lg:flex-1 lg:min-h-0 lg:overflow-y-auto scrollbar-hide"),children:w.length===0?r.jsx("p",{className:"font-fig-kr text-[1.2rem] leading-[1.8rem] text-fig-btn-enabled",children:o(l?"noSearchResultsFound":"noBrandInfo")}):w.map(d=>{const i=d.name||d.nameEn,S=t.includes(i),N=m(d.brandNo);return r.jsxs("div",{className:"flex items-center justify-between gap-[0.8rem] w-full",children:[r.jsxs("div",{className:"flex items-center justify-start gap-[0.8rem] min-w-0",children:[r.jsx(M,{checked:S,onCheckedChange:()=>e?.(i)}),r.jsxs("button",{type:"button",onClick:()=>e?.(i),className:"flex items-center justify-start gap-[0.4rem] min-w-0 text-left",children:[r.jsx("span",{className:"font-fig-en text-[1.2rem] leading-[1.8rem] uppercase text-black truncate",children:Ce(i)}),typeof d.count=="number"&&r.jsx("span",{className:"shrink-0 font-fig-en text-[0.8rem] leading-[1.8rem] text-fig-btn-enabled uppercase",children:d.count})]})]}),typeof d.brandNo=="number"&&r.jsx("button",{type:"button",onClick:()=>c(d.brandNo),className:j("shrink-0 font-fig-kr text-[1.2rem] leading-[1.8rem] text-fig-btn-enabled transition-colors",!N&&"underline decoration-[0.5px] underline-offset-[0.1rem] hover:text-black"),children:o(N?"delete":"wishlist")})]},d.brandNo??i)})}),r.jsx(F,{open:g,onClose:h,type:"confirm",message:o("loginRequired"),confirmLabel:o("goToLogin"),cancelLabel:o("close"),onConfirm:x})]})};B.propTypes={onBrandFilter:s.func,selectedBrands:s.array,sectionBrands:s.array,limitHeight:s.bool};const Ke="text-black underline decoration-[0.5px] underline-offset-[0.1rem]",V="text-fig-btn-enabled hover:text-black",Q="font-fig-kr text-[1.2rem] leading-[1.8rem] transition-colors text-left",G="font-fig-kr text-[1.2rem] leading-[1.8rem] text-black text-left",Y=({sortType:e,onSortChange:t,onExclusionChange:n,onColorChange:a,exclusions:o={},selectedColors:l=[],colorOptions:u=[],sortOptions:m=ne,onBrandFilter:c,selectedBrands:g=[],sectionBrands:h=[],showBrand:x=!0,showReset:C,onReset:w,sectionGapClassName:d="gap-[2rem]",fillHeight:i=!1})=>{const{t:S,i18n:N}=P("common"),v=N.language?.startsWith("ko");return r.jsxs("div",{className:j("flex flex-col items-start justify-start w-full",d,i&&"lg:flex-1 lg:min-h-0"),children:[C&&r.jsx("button",{type:"button",className:j(Q,V),onClick:w,children:S("reset")}),r.jsx("div",{className:"flex flex-col items-start justify-start shrink-0",children:m.map(({value:y,labelKey:p})=>r.jsx("button",{type:"button",className:j(Q,e===y?Ke:V),onClick:()=>t?.(y),children:S(p)},y))}),r.jsx("div",{className:"flex flex-col items-start justify-start gap-[0.8rem]",children:Be.map(({key:y,labelKey:p})=>r.jsxs("div",{className:"flex items-center justify-start gap-[0.8rem]",children:[r.jsx(M,{checked:!!o[y],onCheckedChange:()=>n?.(y)}),r.jsx("button",{type:"button",className:G,onClick:()=>n?.(y),children:S(p)})]},y))}),u.length>0&&r.jsx("div",{className:"flex flex-col items-start justify-start gap-[0.8rem] shrink-0",children:u.map(({nameKr:y,codeEn:p,propValueNo:b})=>r.jsxs("div",{className:"flex items-center justify-start gap-[0.8rem]",children:[r.jsx(M,{checked:l.includes(b),onCheckedChange:()=>a?.(b)}),r.jsx("button",{type:"button",className:G,onClick:()=>a?.(b),children:v?y:p||y})]},b))}),x&&r.jsx(B,{onBrandFilter:c,selectedBrands:g,sectionBrands:h})]})};Y.propTypes={sortType:s.string,onSortChange:s.func,onExclusionChange:s.func,onColorChange:s.func,exclusions:s.object,selectedColors:s.array,colorOptions:s.array,sortOptions:s.array,onBrandFilter:s.func,selectedBrands:s.array,sectionBrands:s.array,showBrand:s.bool,showReset:s.bool,onReset:s.func,sectionGapClassName:s.string,fillHeight:s.bool};const qe=({isOpen:e,onClose:t,sortType:n,onSortChange:a,onExclusionChange:o,onColorChange:l,exclusions:u={},selectedColors:m=[],colorOptions:c=[],sortOptions:g=ne,onBrandFilter:h,selectedBrands:x,sectionBrands:C,showReset:w,onReset:d})=>{const{t:i}=P("common"),[S,N]=f.useState(e),[v,y]=f.useState(!1);f.useEffect(()=>(e&&N(!0),document.body.style.overflow=e?"hidden":"",()=>{document.body.style.overflow=""}),[e]),f.useEffect(()=>{if(!S||!e)return;let b;const E=requestAnimationFrame(()=>{b=requestAnimationFrame(()=>y(!0))});return()=>{cancelAnimationFrame(E),b&&cancelAnimationFrame(b)}},[S,e]),f.useEffect(()=>{e||y(!1)},[e]),f.useEffect(()=>{if(e)return;const b=setTimeout(()=>N(!1),350);return()=>clearTimeout(b)},[e]);const p=b=>{b.propertyName==="transform"&&!e&&N(!1)};return S?r.jsxs(r.Fragment,{children:[r.jsx("div",{className:j("fixed inset-0 z-[49] bg-black/40 transition-opacity duration-300 ease-out lg:hidden",v?"opacity-100":"opacity-0 pointer-events-none"),onClick:t}),r.jsxs("div",{onTransitionEnd:p,className:j("fixed inset-0 z-50 bg-white overflow-y-auto text-left","pt-[6rem] pb-[6rem]","transition-transform duration-300 ease-out",v?"translate-y-0":"translate-y-full"),children:[r.jsx("div",{className:"flex items-start justify-start px-[1.6rem] mb-[6rem]",children:r.jsx("button",{type:"button",className:"font-fig-kr text-[1.2rem] leading-[1.8rem] text-black",onClick:t,children:i("close")})}),r.jsx("div",{className:"px-[1.6rem]",children:r.jsx(Y,{sortType:n,onSortChange:a,onExclusionChange:o,onColorChange:l,exclusions:u,selectedColors:m,colorOptions:c,sortOptions:g,showBrand:!1,showReset:w,onReset:d,sectionGapClassName:"gap-[6rem]"})}),r.jsx("div",{className:"mt-[6rem] px-[1.6rem]",children:r.jsx(B,{onBrandFilter:h,selectedBrands:x,sectionBrands:C,limitHeight:!1})})]})]}):null};qe.propTypes={isOpen:s.bool.isRequired,onClose:s.func.isRequired,sortType:s.string,onSortChange:s.func,onExclusionChange:s.func,onColorChange:s.func,exclusions:s.object,selectedColors:s.array,colorOptions:s.array,sortOptions:s.array,onBrandFilter:s.func,selectedBrands:s.array,sectionBrands:s.array,showReset:s.bool,onReset:s.func};const le=e=>{const t=!!(e.get("brands")||e.get("brand")),n=!!e.get("categoryNo"),a=!!e.get("keyword");return t&&!n&&!a?"brand":"category"},$=e=>e==="brand"?["category","filter","brand"]:["category","filter"],U=(e,t,n)=>{const a=t.get("tab");return a&&n.includes(a)?a:e==="brand"?"brand":t.get("brands")||t.get("brand")?"filter":"category"},Ue=()=>{const[e]=ee(),t=le(e),n=$(t),[a,o]=f.useState(()=>U(t,e,n)),l=f.useRef(t);return f.useEffect(()=>{l.current!==t&&(l.current=t,o(U(t,e,$(t))))},[t,e]),{activeTab:n.includes(a)?a:U(t,e,n),setActiveTab:o,entryMode:t,tabs:n}},Fe=(e=[])=>{const t=new Map,n=new Map,a=new Map,o=(l,u)=>{const m=String(l.categoryNo),c=[...u,m];t.set(m,l),n.set(m,c);const g=new Set([m]);(l.children??[]).forEach(h=>{o(h,c),(a.get(String(h.categoryNo))??new Set).forEach(x=>g.add(x))}),a.set(m,g)};return e.forEach(l=>o(l,[])),{nodeByNo:t,pathByNo:n,subtreeNosByNo:a}},_="font-fig-mixed text-[1.2rem] leading-[1.8rem] transition-colors text-left",A="text-black underline decoration-[0.5px] underline-offset-[0.1rem]",D="text-fig-btn-enabled hover:text-black",z=["","pl-[0.8rem]","pl-[1.6rem]","pl-[2.4rem]","pl-[3.2rem]"],He=e=>z[Math.min(e,z.length-1)],ie=({categoryNo:e,mode:t,onCategoryFilter:n,selectedCategory:a,sectionCategories:o})=>{const{t:l}=P("common"),[u]=ee(),{categories:m}=je(),c=m?.multiLevelCategories??[],{nodeByNo:g,pathByNo:h}=f.useMemo(()=>Fe(c),[c]),x=String(a||(t==="display"?"":e||u.get("categoryNo")||"")),C=!!u.get("keyword"),d=le(u)==="brand"||t==="display",i=h.get(x),S=f.useMemo(()=>new Set(i??[]),[i]),N=f.useMemo(()=>c.length?c:(o??[]).map(p=>g.get(String(p.categoryNo))??{categoryNo:p.categoryNo,label:p.label,children:[]}),[c,o,g]),v=!C&&i?.length?g.get(i[0]):null,y=(p,b)=>{const E=String(p.categoryNo),O=S.has(E),L=p.children??[],K=O&&L.length>0;return r.jsxs("div",{className:"flex flex-col items-start w-full",children:[r.jsx("button",{type:"button",className:j(_,He(b),O?A:D),onClick:()=>n?.(p.categoryNo),children:p.label}),L.length>0&&r.jsx("div",{className:j("grid w-full transition-[grid-template-rows] duration-300 ease-out",K?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:r.jsx("div",{className:"overflow-hidden flex flex-col items-start w-full",children:L.map(k=>y(k,b+1))})})]},E)};return r.jsxs("nav",{className:"flex flex-col items-start justify-start gap-[2rem] w-full",children:[d&&r.jsxs("div",{className:"flex flex-col items-start w-full",children:[r.jsx("button",{type:"button",className:j(_,x===""?A:D),onClick:()=>n?.(""),children:l("all")}),N.map(p=>{const b=String(p.categoryNo);return r.jsx("button",{type:"button",className:j(_,S.has(b)?A:D),onClick:()=>n?.(p.categoryNo),children:p.label},b)})]}),v?.children?.length>0&&r.jsxs("div",{className:"flex flex-col items-start w-full",children:[r.jsx("button",{type:"button",className:j(_,x===String(v.categoryNo)?A:D),onClick:()=>n?.(v.categoryNo),children:"ALL"}),v.children.map(p=>y(p,0))]})]})};ie.propTypes={categoryNo:s.number,mode:s.string,onCategoryFilter:s.func,selectedCategory:s.string,sectionCategories:s.array};const Ye=e=>{const{data:t=null,isLoading:n}=Pe({queryKey:Te.detail(e),queryFn:()=>ke.getDetail(e),enabled:!!e});return{brandDetail:t,isLoading:n}},ce=({brand:e,onDeselect:t,isLiked:n,onToggleLike:a,defaultExpanded:o=!1})=>{const{t:l}=P("common"),[u,m]=f.useState(o),{brandNo:c,name:g,nameEn:h,count:x}=e,C=h||g,{brandDetail:w}=Ye(c),d=Re(w?.description),i=!!d;return r.jsxs("div",{className:"flex flex-col items-start w-full",children:[r.jsxs("div",{className:"flex items-center justify-between gap-[0.8rem] w-full",children:[r.jsxs("div",{className:"flex items-center justify-start gap-[0.8rem] min-w-0",children:[r.jsx(M,{checked:!0,onCheckedChange:t}),r.jsxs("div",{className:"flex items-center justify-start gap-[0.4rem] min-w-0",children:[r.jsxs("button",{type:"button",onClick:t,className:"flex items-center justify-start gap-[0.4rem] min-w-0 text-left",children:[r.jsx("span",{className:"font-fig-en font-semibold text-[1.2rem] leading-[1.8rem] uppercase text-black truncate",children:C}),typeof x=="number"&&r.jsx("span",{className:"shrink-0 font-fig-en text-[0.8rem] leading-[1.8rem] text-fig-btn-enabled uppercase",children:x})]}),i&&r.jsx("button",{type:"button",onClick:()=>m(S=>!S),"aria-expanded":u,"aria-label":l("brandDescriptionToggle"),className:"shrink-0",children:r.jsx(Ee,{size:12,className:j("text-black transition-transform duration-200",u&&"rotate-180")})})]})]}),typeof c=="number"&&r.jsx("button",{type:"button",onClick:a,className:j("shrink-0 font-fig-kr text-[1.2rem] leading-[1.8rem] text-fig-btn-enabled transition-colors",!n&&"underline decoration-[0.5px] underline-offset-[0.1rem] hover:text-black"),children:l(n?"delete":"wishlist")})]}),i&&r.jsx("div",{className:j("grid w-full transition-[grid-template-rows] duration-300 ease-out",u?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:r.jsx("div",{className:"overflow-hidden",children:r.jsx("p",{className:"pt-[0.8rem] font-fig-kr text-[1.2rem] leading-[1.8rem] text-fig-text-secondary whitespace-pre-line",children:d})})})]})};ce.propTypes={brand:s.shape({brandNo:s.number,name:s.string,nameEn:s.string,count:s.number}).isRequired,onDeselect:s.func.isRequired,isLiked:s.bool,onToggleLike:s.func.isRequired,defaultExpanded:s.bool};const ue=({selectedBrands:e=[],sectionBrands:t=[],onBrandFilter:n})=>{const{t:a}=P("common"),{isLiked:o,toggleLike:l,showLoginModal:u,closeLoginModal:m,confirmLogin:c}=te(),[g,h]=f.useState(!1);if(e.length===0)return null;const x=e.length===1,C=e.length===1,w=i=>{if(x){h(!0);return}n?.(i)},d=e.map(i=>{const S=t.find(N=>(N.name||N.nameEn)===i||N.nameEn===i)??{};return{selectedName:i,name:i,...S}});return r.jsxs("div",{className:"flex flex-col items-start gap-[0.8rem] w-full",children:[d.map(i=>r.jsx(ce,{brand:i,onDeselect:()=>w(i.selectedName),isLiked:typeof i.brandNo=="number"?o(i.brandNo):!1,onToggleLike:()=>typeof i.brandNo=="number"&&l(i.brandNo),defaultExpanded:C},i.brandNo??i.selectedName)),r.jsx(F,{open:u,onClose:m,type:"confirm",message:a("loginRequired"),confirmLabel:a("goToLogin"),cancelLabel:a("close"),onConfirm:c}),r.jsx(F,{open:g,onClose:()=>h(!1),type:"alert",message:a("minOneBrandRequired")})]})};ue.propTypes={selectedBrands:s.array,sectionBrands:s.array,onBrandFilter:s.func};const de=({tabs:e=["category","filter"],activeTab:t,onTabChange:n})=>{const{t:a}=P("common");return r.jsx("div",{className:"flex items-center justify-start gap-[0.8rem]",children:e.map(o=>r.jsx("button",{type:"button",className:j("font-fig-kr text-[1.2rem] leading-[1.8rem] transition-colors",t===o?"text-black underline decoration-[0.5px] underline-offset-[0.1rem]":"text-fig-btn-enabled hover:text-black"),onClick:()=>n(o),children:a(o)},o))})};de.propTypes={tabs:s.arrayOf(s.string),activeTab:s.string.isRequired,onTabChange:s.func.isRequired};const Ve=({categoryNo:e,mode:t,sortType:n,onSortChange:a,onExclusionChange:o,onColorChange:l,exclusions:u,selectedColors:m,colorOptions:c,onBrandFilter:g,selectedBrands:h,sectionBrands:x,onCategoryFilter:C,selectedCategory:w,sectionCategories:d,showReset:i,onReset:S,brandTabTrigger:N})=>{const{activeTab:v,setActiveTab:y,entryMode:p,tabs:b}=Ue();return f.useEffect(()=>{N>0&&y(p==="brand"?"brand":"filter")},[N]),r.jsxs("div",{className:"flex flex-col items-start gap-[2rem] lg:h-full lg:min-h-0",children:[r.jsx(ue,{selectedBrands:h,sectionBrands:x,onBrandFilter:g}),r.jsx(de,{tabs:b,activeTab:v,onTabChange:y}),v==="category"&&r.jsx("div",{className:"w-full lg:flex-1 lg:min-h-0 lg:overflow-y-auto scrollbar-hide",children:r.jsx(ie,{categoryNo:e,mode:t,onCategoryFilter:C,selectedCategory:w,sectionCategories:d})}),v==="filter"&&r.jsx(Y,{fillHeight:!0,sortType:n,onSortChange:a,onExclusionChange:o,onColorChange:l,exclusions:u,selectedColors:m,colorOptions:c,onBrandFilter:g,selectedBrands:h,sectionBrands:x,showBrand:p!=="brand",showReset:i,onReset:S,...t==="display"&&{sortOptions:Ie}}),v==="brand"&&r.jsx(B,{onBrandFilter:g,selectedBrands:h,sectionBrands:x})]})};Ve.propTypes={categoryNo:s.number,mode:s.string,sortType:s.string,onSortChange:s.func,onExclusionChange:s.func,onColorChange:s.func,exclusions:s.object,selectedColors:s.array,colorOptions:s.array,onBrandFilter:s.func,selectedBrands:s.array,sectionBrands:s.array,onCategoryFilter:s.func,selectedCategory:s.string,sectionCategories:s.array,showReset:s.bool,onReset:s.func,brandTabTrigger:s.number};const fe={PRODUCT_SEARCH:"products/search",SECTION_PRODUCTS:e=>`display/sections/ids/${e}/products`},me=H({productNo:Le(),saleStatusType:q().nullish(),salePeriodType:q().nullish(),saleStartYmdt:q().nullish()}),Qe=H({items:re(me).nullish()}),Ge=H({products:re(me).nullish()}),I=100,W=5,$e=e=>e?.saleStatusType==="READY",ge=async e=>{const t=[];for(let n=1;n<=W;n+=1){const a=await e(n),o=a.filter($e);if(t.push(...o),o.length{const{keywords:t="",productNo:n="",categoryNos:a="",brandNos:o="",colors:l=[],includeSoldOut:u=!0,onlySaleProduct:m=!1}=e;return ge(async c=>{const g=await J({url:fe.PRODUCT_SEARCH,query:{"filter.saleStatus":"READY_ONSALE","filter.soldout":u,"order.by":"SALE_YMD","order.direction":"DESC",pageNumber:c,pageSize:I,hasTotalCount:!1,onlySaleProduct:m,...t&&{"filter.keywords":t},...n&&{"filter.includeMallProductNo":n},...a&&{categoryNos:a},...o&&{brandNos:o},...l.length>0&&{"filter.customProperties.propNos":String(ae),"filter.customProperties.propValueNos":l.join(" "),"filter.customProperties.propOperator":"OR"}}}),h=Qe.safeParse(g);return(h.success?h.data.items:g?.items)??[]})},dt=(e,t={})=>{const{includeSoldOut:n=!0}=t;return ge(async a=>{const o=await J({url:fe.SECTION_PRODUCTS(e),query:{pageNumber:a,pageSize:I,hasTotalCount:!1,soldOut:n,saleStatus:"READY_ONSALE",by:"SALE_YMD",direction:"DESC"}}),l=Ge.safeParse(o);return(l.success?l.data.products:o?.products)??[]})},X={all:["plpPreSale"],search:(e={})=>[...X.all,"search",e.keywords??"",e.productNo??"",e.categoryNos??"",e.brandNos??"",(e.colors??[]).join(" "),e.includeSoldOut??!0,e.onlySaleProduct??!1],section:(e="",t={})=>[...X.all,"section",e,t.includeSoldOut??!0]},Z=e=>e?.saleStatusType==="READY",ft=(e=[],t=[])=>{if(!e.length)return t;const n=new Set(e.map(a=>a.productNo));return[...e,...t.filter(a=>!n.has(a.productNo))]},mt=(e=[])=>{const t=e.filter(Z);return t.length?[...t,...e.filter(n=>!Z(n))]:e},ze=["categoryNo","brand","brands","sort","excludePreSale","excludeSoldOut","colors","page"],gt=()=>{const e=new URLSearchParams(window.location.search),t=e.get("brands"),n=e.get("brand");let a=[];return t?a=t.split(",").map(o=>o.trim()).filter(Boolean):n&&(a=[n]),{categoryNo:e.get("categoryNo")||"",brands:a,sort:e.get("sort")||"",excludePreSale:e.get("excludePreSale")==="true",excludeSoldOut:e.get("excludeSoldOut")==="true",colors:e.get("colors")?e.get("colors").split(",").map(Number):[],page:Number(e.get("page"))>0?Number(e.get("page")):1}},pt=({selectedCategory:e,selectedBrands:t=[],sortType:n,exclusions:a,selectedColors:o=[],currentPage:l=1})=>{const u=f.useRef(!0),m=f.useCallback(()=>{const c=new URLSearchParams(window.location.search);ze.forEach(h=>c.delete(h)),e&&c.set("categoryNo",e),t.length>0&&c.set("brands",t.join(",")),n&&c.set("sort",n),a?.excludePreSale&&c.set("excludePreSale","true"),a?.excludeSoldOut&&c.set("excludeSoldOut","true"),o.length>0&&c.set("colors",o.join(",")),l>1&&c.set("page",String(l));const g=`${window.location.pathname}${c.toString()?`?${c}`:""}`;window.history.replaceState(null,"",g)},[e,t,n,a,o,l]);f.useEffect(()=>{if(u.current){u.current=!1;return}m()},[m])},ht=({selectedCategory:e,selectedBrands:t=[],sortType:n,defaultSortType:a,exclusions:o,selectedColors:l})=>!!e||t?.length>0||!!n&&n!==a||!!o?.excludePreSale||!!o?.excludeSoldOut||l?.length>0;export{ae as C,Ie as D,Me as M,Ve as P,gt as a,ct as b,ft as c,lt as d,qe as e,ut as f,le as g,ht as h,dt as i,it as j,Fe as k,mt as l,X as p,pt as u};