import{ao as Ot,ap as St,f as Le,aq as wt,j as r,ar as ce,as as jt,D as pe,p as H,k as z,n as M,E as Ue,h as xe,a7 as Ct,a8 as It,a9 as Et,aa as Tt,y as At,a1 as je,i as Ce,a2 as Be,l as qe,u as kt}from"./index-BB3C6ia3.js";import{b as d,k as J,h as _t,u as Dt}from"./vendor-q1sfVHxQ.js";import{E as Rt}from"./orderSheet-CymJgWth.js";import{u as Mt}from"./useLayoutChanger-YzOXT8Mz.js";import{I as Lt,u as Ut}from"./ImageZoomViewer-CG7wkUFI.js";import{u as ze}from"./useQuery-pLogcDCk.js";import{S as Qe,a as Ye}from"./swiper.min-BjDUzMMs.js";import{f as Bt}from"./free-mode.min-D8ybSzIe.js";import{P as qt,L as zt}from"./PLPThumbCard-zCF9nsYq.js";import{u as V,a as ue}from"./ProductDetailProvider-CwG6v2iu.js";import{s as Qt}from"./sanitizeHtml-CNVhPZBl.js";import{I as Yt,a as Vt}from"./IconMinus-CpGv45TD.js";import{I as de}from"./input-DwHLYME0.js";import{u as Ft}from"./unionBy-Dq2k06TF.js";import{s as Kt,h as Gt}from"./product-D_O9OGFi.js";import{B as re}from"./button-5G120b2h.js";import{S as Ie}from"./skeleton-CSovgiX8.js";import{S as Ve}from"./StartCountdown-CMlTkPB0.js";import{c as $t}from"./draw-OykQxEIe.js";import{d as Ht}from"./draw.qk-9WwBdHBG.js";import"./textarea-C4OwrJSP.js";import"./select-DTAWDWnr.js";import"./checkbox-ilSO1kZe.js";import{l as he,n as Fe,s as ge,b as Ke}from"./schemas-DINLhTQO.js";import{u as Xt,R as Jt}from"./useRecaptchaGate-Vx_65PVh.js";import{u as Wt,g as Zt}from"./useSalePeriodStatus-Dw-ZGDdg.js";import{r as er}from"./cartErrorMessage-9yly4lYv.js";import{u as tr}from"./CartProvider-Dn3cCCMn.js";import{u as rr,O as nr}from"./OrderSheetProvider-C58JoXbs.js";import{u as or}from"./useProductsByNosMap-DxQvh_Ff.js";import{P as sr,u as ar,a as ir}from"./ProductReviewProvider-D94I-l6M.js";import{P as cr,u as Ee,a as lr}from"./ProductInquiryProvider-DFPdxVdK.js";import{I as ur}from"./InquiryProvider-HjWdxW1l.js";import{T as dr,u as mr}from"./TabsProvider-B-0hQ4h0.js";import{M as fr}from"./MyShippingAddressProvider-jK3E_N-v.js";import{N as pr,P as xr,u as hr}from"./ProductOptionProvider-j4nsWBJb.js";import{C as gr}from"./CouponByProductProvider-CK7kT7rW.js";import"./LayoutProvider-CX1zjqgz.js";import"./useIsDesktop-DbmMhgKo.js";import"./useBaseQuery-Ca_aEWrW.js";import"./noImage-CNGZMR77.js";import"./PeriodOverlay-CBs1wfM9.js";import"./Button-CJM3HEil.js";import"./IconBtn-Cs7b2ih8.js";import"./Icon-GfCZmpos.js";import"./provider-DbDMk8E0.js";import"./IconChevronDown-K0V3QdSs.js";import"./index-Bm2nI4FA.js";import"./adaptSearchByNosProduct-DulPH6CR.js";import"./promotion-hkYThSfW.js";function br(e){return e&&e.length?Ot(e,St):0}var X=function(){return X=Object.assign||function(e){for(var t,o=1,s=arguments.length;o0)&&!(s=a.next()).done;)i.push(s.value)}catch(c){n={error:c}}finally{try{s&&!s.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}return i},Ge=wt.productOptionHelper,yr=Ge.Helper,ee=Ge.QUERY_KEY,Nr={controllers:[],optionSelectors:[],quantities:[],totalPrice:0,textOptionsByProduct:[],options:[],userOptionSelections:[]},vr=function(e){return e.map((function(t){var o=t.id,s=t.originOption,n=t.productNo,a=t.options;return{optionUsed:s.type!=="DEFAULT",controllerId:o,productNo:n,options:a}}))},Pr=function(e){return e.map((function(t){var o=t.id,s=t.productNo,n=t.quantities,a=t.textOptions,i=t.originOption;return{controllerId:o,productNo:s,options:n,controller:{id:o,productNo:s,productName:i?.productName,originOption:i},textOptions:a.reduce((function(c,u){var l=u.optionId,x=K(u,["optionId"]);return c.push({optionId:l,inputs:Object.values(x).filter((function(g){return g?.inputMatchingType==="OPTION"}))}),c}),[])}}))},Or=function(e){return Ft(e.flatMap((function(t){var o=t.textOptions,s=t.productNo,n=t.id;return o.reduce((function(a,i){var c=i.optionId,u=K(i,["optionId"]),l=Object.values(u).filter((function(x){return x?.inputMatchingType==="PRODUCT"})).flatMap((function(x){return x.inputs}));return a.concat(l.map((function(x){return X(X({},x),{productNo:s,controllerId:n,optionId:c})})))}),[])})),"inputNo")},Sr=function(e){return br(e.flatMap((function(t){return t.quantities.map((function(o){return o.calcPrice}))})))},$e=d.createContext(null),He=d.createContext(null),wr=function(e){var t,o=e.children,s=e.initialState,n=s===void 0?Nr:s,a=e.productNo,i=Y(d.useState(n.controllers),2),c=i[0],u=i[1],l=Y(d.useState(n.optionSelectors),2),x=l[0],g=l[1],P=Y(d.useState(n.quantities),2),h=P[0],y=P[1],v=Y(d.useState(n.totalPrice),2),N=v[0],I=v[1],f=Y(d.useState(n.textOptionsByProduct),2),O=f[0],m=f[1],p=Y(d.useState(n.options),2),b=p[0],w=p[1],C=Y(d.useState(n.userOptionSelections),2),R=C[0],_=C[1],U=c?.length<=1&&((t=c?.[0])===null||t===void 0?void 0:t.originOption.flatOptions.length)<=1,L=d.useMemo((function(){return Le(new yr)}),[a]).executeQuery,E=function(S){return S?c.find((function(T){return T.id===S})):null},D=d.useCallback((function(S){return L(ee.QUERY_OPTION_CONTROLLER,{payload:S,onSuccess:function(T){var j=T.data;u(j),g(vr(j)),y(Pr(j)),m(Or(j)),I(Sr(j))}})}),[]),G=d.useCallback((function(S){return L(ee.QUERY_OPTIONS_BY_PRODUCT_NO,{payload:X({productNo:a},S),onSuccess:function(T){var j=T.data;w(j)}})}),[a]),$=d.useCallback((function(){return L(ee.QUERY_USER_OPTION_SELECTIONS,{onSuccess:function(S){var T=S.data;_(T)}})}),[]);return r.jsx(He.Provider,{value:{fetchOptionSelector:D,fetchOptions:G,fetchUserOptionSelections:$,selectOption:function(S){var T=S.controllerId,j=K(S,["controllerId"]),k=E(T);k&&(k.selectOption(j),D())},changeCount:function(S){var T=S.controllerId,j=K(S,["controllerId"]),k=E(T);k&&(k.changeCount(j),D())},removeOption:function(S){var T=S.controllerId,j=K(S,["controllerId"]),k=E(T);k&&(k.removeOption(j),D())},inputTextOption:function(S){var T=S.controllerId,j=K(S,["controllerId"]),k=E(T);k&&(k.inputTextOption(j),D())},fetchAdditionalDiscount:function(S){return L(ee.QUERY_ADDITIONAL_DISCOUNT_BY_PRODUCT_NO,{payload:S})}},children:r.jsx($e.Provider,{value:{controllers:c,options:b,userOptionSelections:R,hasOnlyOneOption:U,optionSelectors:x,quantities:h,textOptionsByProduct:O,totalPrice:N},children:o})})},be=function(){var e=d.useContext($e);if(!e)throw new Error("INVALID_ProductOptionStateContextV2");return e},W=function(){var e=d.useContext(He);if(!e)throw new Error("INVALID_ProductOptionActionContextV2");return e},me=function(){return me=Object.assign||function(e){for(var t,o=1,s=arguments.length;o0)&&!(s=a.next()).done;)i.push(s.value)}catch(c){n={error:c}}finally{try{s&&!s.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}return i},Cr=function(e,t,o){if(o||arguments.length===2)for(var s,n=0,a=t.length;n{const{data:s=[]}=ze({queryKey:["products","search",{brandNo:e,exclude:t}],queryFn:async()=>((await pe({url:"products/search",query:{brandNos:e,"filter.saleStatus":"ONSALE",pageNumber:1,pageSize:o+1,"order.by":"RECENT_PRODUCT","order.direction":"DESC"}}))?.items||[]).filter(a=>a.productNo!==t).slice(0,o).map(a=>({productNo:a.productNo,productName:a.productName,brandName:a.brandName?.split(" / ")?.[0]||a.brandName,brandNameEn:a.brandNameEn,salePrice:a.salePrice,immediateDiscountAmt:a.immediateDiscountAmt||0,additionDiscountAmt:a.additionDiscountAmt||0,isSoldOut:a.isSoldOut,imageUrls:Array.isArray(a.imageUrls)?a.imageUrls:[],listImageUrls:Array.isArray(a.listImageUrls)?a.listImageUrls:[],src:a.listImageUrlInfo?.url||a.imageUrlInfo?.[0]?.url,frontDisplayYn:a.frontDisplayYn})),enabled:!!e});return s},_r=e=>{if(!((e.salePrice??null)===null&&(e.discountedPrice??null)!==null))return{salePrice:e.salePrice??0,immediateDiscountAmt:e.immediateDiscountAmt??0,additionDiscountAmt:e.additionDiscountAmt??0};const o=(e.originalPrice??null)!==null&&e.originalPrice>e.discountedPrice;return{salePrice:o?e.originalPrice:e.discountedPrice,immediateDiscountAmt:o?e.originalPrice-e.discountedPrice:0,additionDiscountAmt:0}},le=e=>Array.isArray(e)?e.map(t=>t?.url).filter(Boolean):e?.url?[e.url]:[],Dr=e=>{const t=(...u)=>{for(const l of u)if(l&&l.length>0)return l;return[]},o=t(e.imageUrls,le(e.imageUrlInfo),le(e.listImageUrlInfo),e.imageUrl?[e.imageUrl]:null,e.src?[e.src]:null),s=t(e.listImageUrls,le(e.listImageUrlInfo),e.listImageUrl?[e.listImageUrl]:null),{salePrice:n,immediateDiscountAmt:a,additionDiscountAmt:i}=_r(e),c=e.brandName?.split(" / ")?.[0]||e.brandName;return{...e,brandName:c,imageUrls:o,listImageUrls:s,salePrice:n,immediateDiscountAmt:a,additionDiscountAmt:i}},oe=({title:e,products:t,hidePrice:o})=>{if(!t||t.length===0)return null;const s=t.filter(n=>typeof n.frontDisplayYn>"u"||n.frontDisplayYn===null||n.frontDisplayYn).map(Dr);return s.length?r.jsxs("section",{className:"w-full",children:[r.jsx("h3",{className:"text-[1.2rem] leading-[1.8rem] font-bold mb-[0.8rem]",children:e}),r.jsx(Qe,{className:"swiper--bleed",modules:[Bt],freeMode:!0,threshold:10,slidesPerView:2,spaceBetween:8,breakpoints:{0:{slidesPerView:2,spaceBetween:8,threshold:10},768:{slidesPerView:4,spaceBetween:8,threshold:10},1024:{slidesPerView:6,spaceBetween:8,threshold:10}},children:s.map(n=>r.jsx(Ye,{children:r.jsx("div",{children:r.jsx(qt,{productNo:n.productNo,productName:n.unescapedProductName||n.productName,brandName:n.brandName,brandNameEn:n.brandNameEn,imageUrls:n.imageUrls,listImageUrls:n.listImageUrls,salePrice:n.salePrice,immediateDiscountAmt:n.immediateDiscountAmt,additionDiscountAmt:n.additionDiscountAmt,isSoldOut:n.isSoldOut,liked:n.liked,nested:!0,hidePrice:o})})},n.productNo))})]}):null};oe.propTypes={title:H.string,products:H.array,hidePrice:H.bool};const Rr=()=>{const{t:e}=z("product"),[t]=J(),o=Number(t.get("productNo")),{originProductDetail:s}=V(),a=s?.baseInfo?.productNo===o?s?.brand?.brandNo:void 0,i=kr(a,o);return r.jsx(oe,{title:e("sameBrandProducts"),products:i})},fe="recentProducts",Mr=20,Lr=e=>{const{baseInfo:t,summary:o}=e||{};if(t?.productNo)try{const n=JSON.parse(localStorage.getItem(fe)||"[]").filter(c=>c.productNo!==t.productNo),i=[{productNo:t.productNo,productName:o?.productName||t.productName||"",brandName:o?.brandName||"",imageUrl:t.imageUrlInfo?.[0]?.url||"",salePrice:o?.salePrice||0,immediateDiscountAmt:o?.immediateDiscountAmt||0,additionDiscountAmt:o?.additionDiscountAmt||0,isSoldOut:t.isSoldOut||!1,saleStatusType:t.saleStatusType||"ONSALE",savedAt:Date.now()},...n].slice(0,Mr);localStorage.setItem(fe,JSON.stringify(i))}catch{}},Ur=e=>{const[t,o]=d.useState([]);return d.useEffect(()=>{try{const n=JSON.parse(localStorage.getItem(fe)||"[]").filter(a=>a.productNo!==e);o(n)}catch{o([])}},[e]),t},Br=()=>{const{productDetail:{baseInfo:e}}=V(),t=e?.imageUrlInfo||[],[o,s]=d.useState(null),n=d.useCallback(i=>{s(i),window.history.pushState({imageZoom:!0},"")},[]),a=d.useCallback(()=>{window.history.back()},[]);return d.useEffect(()=>{if(o===null)return;const i=()=>s(null);return window.addEventListener("popstate",i),()=>window.removeEventListener("popstate",i)},[o]),t.length===0?null:r.jsxs("div",{children:[r.jsx("div",{className:"lg:hidden w-full overflow-hidden [&_.swiper-slide]:!h-auto",children:r.jsx(Qe,{slidesPerView:1,spaceBetween:8,children:t.map((i,c)=>r.jsx(Ye,{children:r.jsx("div",{className:"aspect-[4/5] bg-[#f7f7f7] overflow-hidden cursor-crosshair",onClick:()=>n(c),children:r.jsx("img",{src:i.url,alt:"",className:"w-full h-full object-cover"})})},c))})}),r.jsx("div",{className:M("hidden","lg:flex flex-col gap-[0.8rem] pt-[6rem]"),children:t.map((i,c)=>r.jsx("div",{className:"aspect-[936/1170] bg-[#f7f7f7] overflow-hidden cursor-crosshair",onClick:()=>n(c),children:r.jsx("img",{src:i.url,alt:"",className:"w-full h-full object-cover"})},c))}),o!==null&&r.jsx(Lt,{images:t,initialIndex:o,onClose:a})]})},Je=({className:e})=>r.jsx("svg",{className:e,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:r.jsx("path",{d:"M4 6L8 10L12 6",stroke:"currentColor",strokeWidth:"1"})});Je.propTypes={className:H.string};const Te={freight:"guideFreight",afterService:"guideAfterService",exchange:"guideExchange",refund:"guideRefund"},qr=["refund","freight","afterService","exchange"],zr={refund:!0},Ae=e=>typeof e!="string"||e===""?!1:/]*>/g,"").replace(/ /gi," ").trim()!=="",Qr=[{fieldKey:"mfr",enLabel:"mfr/imptr",match:e=>e.includes("제조자")||e.includes("제조사")||e.includes("제조원")||e.includes("수입자"),uppercase:!0},{fieldKey:"origin",enLabel:"Co",match:e=>e.includes("제조국")||e.includes("원산지")},{fieldKey:"mfgDate",enLabel:"mfg date",match:e=>e.includes("제조연월")||e.includes("제조년월")},{fieldKey:"care",enLabel:"Care Instructions",match:e=>e.includes("취급")||e.includes("세탁")}],ke=e=>(e??"").replace(/\s/g,"").includes("주요사양"),Yr=e=>(e??"").replace(/\s*,\s*/g,", "),Vr=e=>{const t=typeof e=="string"?e.match(/^(\d{4})-(\d{2})/):null;return t?`${t[1]}.${t[2]}`:""},We=e=>(e??"").replace(/\s/g,"")==="상품상세참조",Fr=e=>{const t=(e??"").replace(/\s/g,"");return t===""||We(t)},Ze=({colorNames:e})=>{const{t}=z("product"),{productDetail:{guide:o,content:s,baseInfo:n}}=V(),[a,i]=d.useState(zr),c=s?.dutyInfo?.contents??[],u=m=>c.find(({label:p})=>m(p))?.description?.trim(),l=(m,p)=>{const b=u(p);return m!=="mfgDate"||!Fr(b)?b:Vr(n?.manufactureYmdt)},x=c.some(({label:m})=>m.includes("주소재")),g=c.some(({label:m})=>ke(m));let P;x?P=[{fieldKey:"upper",enLabel:"Upper",match:m=>m.includes("주소재"),normalize:!0},{fieldKey:"sole",enLabel:"Sole",match:m=>m.includes("색상"),normalize:!0}]:g?P=[{fieldKey:"mainSpec",enLabel:null,match:ke}]:P=[{fieldKey:"materials",enLabel:"materials",match:m=>m.includes("소재"),normalize:!0}];const h=g?P:[...P,...Qr],y=e?{enLabel:"Color",value:e}:null,v=h.map(({fieldKey:m,enLabel:p,match:b,normalize:w,uppercase:C})=>{const R=l(m,b);if(!R||g&&We(R))return null;const _=w?Yr(R):R;return{enLabel:p,value:C?_.toUpperCase():_}}).filter(Boolean),N=[y,...v].filter(Boolean),I=N.length>0,f=qr.filter(m=>Ae(o?.[m])||m==="freight"&&I).map(m=>[m,o?.[m]??""]);if(f.length===0)return null;const O=m=>i(p=>({...p,[m]:!p[m]}));return r.jsx("div",{className:"flex flex-col items-start justify-start gap-[2rem]",children:f.map(([m,p])=>r.jsxs("div",{className:"w-full",children:[r.jsxs("button",{onClick:()=>O(m),className:"flex items-center justify-start gap-[0.4rem] text-[1.2rem] leading-[1.8rem] text-black",children:[r.jsx("span",{children:Te[m]?t(Te[m]):m}),r.jsx(Je,{className:M("transition-transform duration-200",a[m]&&"rotate-180")})]}),a[m]&&r.jsxs("div",{className:"pt-[0.8rem] flex flex-col items-start justify-start",children:[Ae(p)&&r.jsx("div",{className:"pdp-accordion-editor w-full text-[1.2rem] leading-[1.8rem] !bg-transparent [&_*]:!bg-transparent [&_*]:!text-[1.2rem] [&_*]:!font-size-[1.2rem]",style:{backgroundColor:"transparent",fontSize:"1.2rem"},dangerouslySetInnerHTML:{__html:Qt(p)}}),m==="freight"&&I&&r.jsx("dl",{className:"w-full flex flex-col items-start justify-start gap-[0.4rem]",children:N.map(({enLabel:b,value:w},C)=>r.jsxs("div",{className:"w-full flex items-start justify-start gap-[0.4rem] text-[1.2rem] leading-[1.8rem]",children:[b&&r.jsxs(r.Fragment,{children:[r.jsx("dt",{className:"shrink-0 font-fig-en text-fig-text-secondary",children:b}),r.jsx("span",{className:"shrink-0 text-fig-text-secondary",children:":"})]}),r.jsx("dd",{className:"flex-1 text-fig-text-secondary whitespace-pre-line break-words",children:w})]},C))})]})]},m))})};Ze.propTypes={colorNames:H.string};const Kr=()=>{const{t:e}=z("product"),{changeCount:t,inputTextOption:o,fetchOptionSelector:s}=W(),{quantities:n,textOptionsByProduct:a}=be(),[i,c]=d.useState(!1),u=n?.[0],l=u?.options?.[0],x=!!l,g=l?.count??1,P=l?.id,h=u?.controllerId,y=f=>{if(!x){c(!0);return}t({controllerId:h,optionId:P,count:f})},v=({value:f,inputNo:O,textOptionId:m,textOptOptionId:p})=>{o({controllerId:h,value:f,inputNo:O,optionId:p,textOptionId:m}),s()},N=x?u?.textOptions?.flatMap(f=>f.optionId!==l.id?[]:f.inputs?.flatMap(O=>(O.inputs??[]).map(m=>({key:m.id,label:O.inputLabel??O.unescapedInputLabel??"",required:O.required,inputNo:O.inputNo,value:m.inputValue??"",textOptionId:m.id,textOptOptionId:f.optionId})))??[]):[],I=a?.map(f=>({key:f.id??`${f.inputNo}-${f.optionId}`,label:f.inputLabel??"",required:f.required,inputNo:f.inputNo,value:f.inputValue??"",textOptionId:f.id,textOptOptionId:f.optionId}))??[];return r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"flex items-center justify-start",children:[r.jsx("button",{type:"button",className:M("w-[1.6rem] h-[1.6rem] p-0 bg-transparent border-none cursor-pointer","text-black disabled:text-[#c5c5c5] disabled:cursor-not-allowed"),disabled:x&&g<=1,onClick:()=>y(g-1),children:r.jsx(Yt,{className:"w-full h-full"})}),r.jsx("span",{className:"font-fig-en text-[1.2rem] leading-[1.8rem] w-[1.6rem] text-center",children:g}),r.jsx("button",{type:"button",className:"w-[1.6rem] h-[1.6rem] p-0 bg-transparent border-none cursor-pointer text-black",onClick:()=>y(g+1),children:r.jsx(Vt,{className:"w-full h-full"})})]}),N?.length>0&&r.jsx("div",{className:"flex flex-col items-start gap-[1.2rem] mt-[1.2rem]",children:N.map(f=>r.jsxs("div",{className:"flex flex-col items-start gap-[0.4rem] w-full",children:[r.jsxs("label",{className:"text-[1.2rem] leading-[1.8rem] text-[#898989]",children:[f.label,f.required&&r.jsx("span",{className:"ml-[0.2rem]",children:"*"})]}),r.jsx(de,{type:"text",size:"fig-underline",value:f.value,placeholder:e("enterPlaceholder"),onChange:O=>v({value:O.target.value,inputNo:f.inputNo,textOptionId:f.textOptionId,textOptOptionId:f.textOptOptionId})})]},f.key))}),I.length>0&&r.jsx("div",{className:"flex flex-col items-start gap-[1.2rem] mt-[1.2rem]",children:I.map(f=>r.jsxs("div",{className:"flex flex-col items-start gap-[0.4rem] w-full",children:[r.jsxs("label",{className:"text-[1.2rem] leading-[1.8rem] text-[#898989]",children:[f.label,f.required&&r.jsx("span",{className:"ml-[0.2rem]",children:"*"})]}),r.jsx(de,{type:"text",size:"fig-underline",value:f.value,placeholder:e("enterPlaceholder"),onChange:O=>v({value:O.target.value,inputNo:f.inputNo,textOptionId:f.textOptionId,textOptOptionId:f.textOptOptionId})})]},f.key))}),r.jsx(Ue,{open:i,onClose:()=>c(!1),message:e("selectOptionFirst"),type:"alert"})]})},_e=new Set(["SOLDOUT","SOLD_OUT","TEMP_SOLD_OUT"]),et=({forcedSoldOut:e,saleStatus:t,saleType:o}={})=>!!e||_e.has(t)||_e.has(o),Gr=({autoController:e,autoOption:t,controllers:o,allDisabled:s})=>{const{removeOption:n,fetchOptionSelector:a}=W(),[i,c]=d.useState(null),[u,l]=d.useState(!1);d.useEffect(()=>{const v=o?.[0]?.id;if(i&&i.controllerId!==v){c(null),l(!1);return}i||t&&(c({controllerId:e.controllerId,option:t}),l(!1),n({controllerId:e.controllerId,optionId:t.id}))},[t,i,o]);const x=i?.option??t;if(!x)return null;const g=x.optionValue??x.value??x.optionName??"",P=et(x),h=P||s,y=()=>{if(h||u||!i)return;const v=o?.find(N=>N.id===i.controllerId);if(v?.quantityTracker)try{v.quantityTracker.updateOption(i.option),a(),l(!0)}catch{}};return r.jsx("div",{className:"flex flex-wrap items-start justify-start gap-[1.2rem]",children:r.jsx("button",{type:"button",disabled:h,className:M("font-fig-en text-[1.2rem] leading-[1.8rem] bg-transparent border-none p-0 transition-colors",P&&"line-through text-[#c5c5c5] cursor-not-allowed",s&&!P&&"text-[#c5c5c5] cursor-not-allowed",!h&&!u&&"text-black cursor-pointer hover:underline hover:decoration-[0.5px] hover:underline-offset-[0.2rem]",!h&&u&&"text-black cursor-default underline decoration-black decoration-[0.5px] underline-offset-[0.2rem]"),onClick:y,children:g})})},$r=({disabled:e}={})=>{const{selectOption:t,removeOption:o}=W(),{optionSelectors:s,quantities:n,controllers:a}=be(),i=n?.[0]?.options?.[0]?.id,c=({controllerId:h,labelId:y,optionId:v,index:N})=>{i&&o({controllerId:n[0].controllerId,optionId:i}),t({controllerId:h,labelId:y,optionId:v,index:N})},u=s?.some(({optionUsed:h,options:y})=>h&&y?.some(({children:v})=>v?.length)),l=s?.some(({optionUsed:h})=>h),x=n?.[0],g=x?.options?.[0];return l&&!u?r.jsx(Gr,{autoController:x,autoOption:g,controllers:a,allDisabled:e}):r.jsx(r.Fragment,{children:s.map(({controllerId:h,optionUsed:y,options:v})=>y?v.map(({id:N,children:I},f)=>I?.length?r.jsx("div",{className:"flex flex-wrap items-start justify-start gap-[1.2rem]",children:Kt(I).map(O=>{const{id:m,value:p}=O,b=et(O),w=i&&String(i)===String(m);return r.jsx("button",{type:"button",disabled:b||e,className:M("font-fig-en text-[1.2rem] leading-[1.8rem] bg-transparent border-none p-0 cursor-pointer transition-colors",b&&"line-through text-[#c5c5c5] cursor-not-allowed",e&&!b&&"text-[#c5c5c5] cursor-not-allowed",!b&&!w&&!e&&"text-black hover:underline hover:decoration-[0.5px] hover:underline-offset-[0.2rem]",w&&"text-black underline decoration-black decoration-[0.5px] underline-offset-[0.2rem]"),onClick:()=>{w||c({controllerId:h,labelId:N,optionId:m,index:f})},children:p},m)})},N):null):null)})},tt=({mallProductNo:e,mallOptionNo:t,enabled:o=!0})=>{const{profile:s}=xe(),n=s?.memberNo,a=o&&n!==null&&typeof n<"u"&&n!==""&&e!==null&&typeof e<"u"&&e!==""&&Number(e)>0,{data:i,isLoading:c,isError:u}=ze({queryKey:Ht.productAccess(n,e??void 0,t??void 0),queryFn:()=>$t({memberNo:n,mallProductNo:e,mallOptionNo:t??void 0}),enabled:a,staleTime:0,gcTime:0,refetchOnMount:"always",retry:!1});return{raffleProduct:i?.raffleProduct??!1,accessible:i?.accessible??!1,isLoading:a&&c,isError:u}},Hr=({state:e,onSubmit:t,onCancel:o})=>{const{t:s}=z(["product","common"]),[n,a]=d.useState(""),i=d.useRef(null);d.useEffect(()=>{if(a(""),!e.open)return;const l=window.setTimeout(()=>i.current?.focus(),0);return()=>window.clearTimeout(l)},[e.open,e.attempt]);const c=l=>{if(l.preventDefault(),!e.isSubmitting){if(!n.trim()){i.current?.focus();return}t(n)}},u=e.errorMessage==="incorrect"?s("product:macroQuizIncorrect"):e.errorMessage;return r.jsx(Ct,{open:e.open,onOpenChange:l=>!l&&o(),children:r.jsxs(It,{showCloseButton:!1,className:M("rounded-none border-none gap-0 flex flex-col items-center justify-start","fixed bottom-0 left-0 right-0 top-auto translate-x-0 translate-y-0 w-full max-w-full px-[1.6rem] py-[2rem]","lg:bottom-auto lg:left-[50%] lg:top-[50%] lg:translate-x-[-50%] lg:translate-y-[-50%] lg:w-[66.2rem] lg:max-w-[66.2rem] lg:px-[2rem]"),onOpenAutoFocus:l=>l.preventDefault(),children:[r.jsx(Et,{className:"sr-only",children:s("product:macroQuizTitle")}),r.jsx(Tt,{className:"sr-only",children:s("product:macroQuizDescription")}),r.jsxs("form",{className:"w-full flex flex-col items-center justify-start gap-[6rem]",onSubmit:c,children:[r.jsxs("div",{className:"w-full font-fig-kr text-[1.2rem] leading-[1.8rem] text-black text-center [word-break:break-word]",children:[r.jsx("p",{children:s("product:macroQuizGuide")}),r.jsxs("p",{className:"whitespace-pre-line",children:["Q. ",e.question?.question]})]}),r.jsx(de,{ref:i,value:n,onChange:l=>a(l.target.value),placeholder:s("product:macroQuizPlaceholder"),disabled:e.isSubmitting,autoComplete:"off","aria-invalid":!!u,enterKeyHint:"done",className:"font-fig-kr"}),u&&r.jsx("p",{className:"w-full font-fig-kr text-[1.2rem] leading-[1.8rem] text-[#de3162] text-center [word-break:break-word]",role:"alert",children:u}),r.jsxs("div",{className:"w-full flex items-start justify-start gap-[0.8rem]",children:[r.jsx(re,{type:"button",variant:"fig-outline",size:"fig-default",className:"flex-1 font-fig-kr",onClick:o,disabled:e.isSubmitting,children:s("common:close")}),r.jsx(re,{type:"submit",variant:"solid",size:"fig-default",className:"flex-1 font-fig-kr",disabled:e.isSubmitting,children:s("product:macroQuizSubmit")})]})]})]})})},rt={question:"api/macro-quiz/question",verify:"api/macro-quiz/verify"},nt=e=>he({success:Ke(),message:ge().nullish(),statusCode:Fe().nullish(),data:e}),Xr=he({questionId:Fe(),question:ge()}),Jr=nt(Xr.nullish()),Wr=he({correct:Ke(),message:ge().nullish()}),Zr=nt(Wr.nullish()),en="https://btscsapi.shinsegae.com",ot=()=>en,st=e=>{const t=Number(e);if(!Number.isFinite(t)||t<=0)throw new Error("mallProductNo 가 필요합니다.");return t},De=async e=>{const t=await pe({url:rt.question,baseURL:ot(),query:{mallProductNo:st(e)}}),o=Jr.safeParse(t);if(!o.success)return console.warn("[macro-quiz] question 응답 파싱 실패",o.error,t),null;if(!o.data.success)throw new Error(o.data.message||"퀴즈 조회 실패");return o.data.data??null},tn=async e=>{const t=await pe({url:rt.verify,baseURL:ot(),method:"POST",requestBody:{mallProductNo:st(e.mallProductNo),questionId:e.questionId,answer:e.answer.trim()}}),o=Zr.safeParse(t);if(!o.success)throw new Error("퀴즈 검증 응답을 해석할 수 없습니다.");if(!o.data.success||!o.data.data)throw new Error(o.data.message||"퀴즈 검증 실패");return o.data.data};class ne extends Error{constructor(){super("macro quiz cancelled"),this.name="MacroQuizCancelledError"}}const Re={open:!1,question:null,isSubmitting:!1,errorMessage:null,attempt:0},rn=()=>{const[e,t]=d.useState(Re),o=d.useRef(null),s=d.useCallback(c=>{const u=o.current;o.current=null,t(Re),u&&(c==="pass"?u.resolve():u.reject(new ne))},[]),n=d.useCallback(async c=>{const u=Number(c);if(!Number.isFinite(u)||u<=0)return;let l;try{l=await De(u)}catch(x){console.warn("[macro-quiz] 문제 조회 실패 → 퀴즈 없이 진행",x);return}l&&(o.current&&(o.current.reject(new ne),o.current=null),await new Promise((x,g)=>{o.current={mallProductNo:u,resolve:x,reject:g},t({open:!0,question:l,isSubmitting:!1,errorMessage:null,attempt:0})}))},[]),a=d.useCallback(async c=>{const u=o.current,l=e.question;if(!u||!l)return;const x=c.trim();if(!x)return;t(y=>({...y,isSubmitting:!0,errorMessage:null}));let g=null;try{g=await tn({mallProductNo:u.mallProductNo,questionId:l.questionId,answer:x})}catch(y){console.warn("[macro-quiz] 검증 실패",y)}if(o.current!==u)return;const P=g?.message??null;if(g?.correct===!0){s("pass");return}let h;try{h=await De(u.mallProductNo)}catch{h=void 0}if(o.current===u){if(h===null){s("pass");return}t(y=>({open:!0,question:h??l,isSubmitting:!1,errorMessage:P??"incorrect",attempt:y.attempt+1}))}},[e.question,s]),i=d.useCallback(()=>s("cancel"),[s]);return{gate:n,dialogState:e,submitAnswer:a,cancel:i}},nn=e=>({memberOnly:e?.limitations?.memberOnly===!0,canAddToCart:e?.limitations?.canAddToCart,salePeriodType:e?.baseInfo?.salePeriodType,saleStartYmdt:e?.baseInfo?.saleStartYmdt,saleEndYmdt:e?.baseInfo?.saleEndYmdt,saleStatusType:e?.status?.saleStatusType,modelName:e?.baseInfo?.deliveryCustomerInfo?.trim(),certificationType:e?.baseInfo?.certificationType}),on=({context:e,isRaffleProduct:t,maxPerson:o,t:s})=>{const n=e?.error?.code,a=Be(e?.error?.description)||s("errorOccurred");return n!=="O8003"||!t?a:o===1?s("drawAlreadyEntered"):o>1?s("drawMaxExceeded",{max:o}):a},sn=e=>{if(!e)return null;const t=(e.nameKo||e.nameEn||e.name?.split(" / ")[0]||"").trim();return t?{label:t,filterValue:t}:null},an=({memberOnly:e,isLoggedIn:t,isRaffleProduct:o,isRaffleAccessLoading:s})=>{const n=e&&o,a=e&&t&&s;return{showMemberOnlyBlock:n,isRaffleAccessPending:a,hidePurchaseUi:n||a}},cn=(e,t,o,s,n)=>e?{salePeriodType:t,saleStartYmdt:o,saleEndYmdt:s,saleStatusType:n}:{salePeriodType:null,saleStartYmdt:null,saleEndYmdt:null,saleStatusType:n},ln=(e,t,o)=>{const s=e.type==="confirm";return{confirmLabel:t(s?"goToCart":"common:close"),cancelLabel:s?t("continueShopping"):void 0,onConfirm:e.onConfirm??(s?o:void 0)}},un=({stickerLabel:e,collabBrandName:t,summary:o,brand:s,onBrandClick:n})=>r.jsxs("div",{className:"flex flex-col items-start justify-start gap-[0.8rem]",children:[(e||t)&&r.jsxs("div",{className:"flex items-center justify-start gap-[0.8rem]",children:[e&&r.jsx("span",{className:"font-fig-en font-medium text-[1.2rem] leading-[1.8rem] text-[#DE3162] uppercase",children:e}),t&&r.jsx("span",{className:"font-fig-en font-normal text-[1.2rem] leading-[1.8rem] text-black uppercase",children:t})]}),s&&r.jsx("button",{type:"button",className:"font-fig-en text-[1.6rem] leading-[2rem] font-bold uppercase cursor-pointer hover:underline underline-offset-[0.3rem]",onClick:n,children:s.label}),r.jsx("p",{className:"text-[1.2rem] leading-[1.8rem]",children:o?.productName}),r.jsxs("div",{className:"flex items-center justify-start gap-[0.8rem]",children:[r.jsxs("p",{className:"text-[1.2rem] leading-[1.8rem]",children:["₩",je(o?.discountedPrice??o?.originalPrice)]}),o?.useDiscount&&r.jsxs("del",{className:"text-[1.2rem] leading-[1.8rem] text-fig-text-secondary line-through",children:["₩",je(o.originalPrice)]})]})]}),at=({isLoggedIn:e,productNo:t,likeStatus:o,likeLoading:s,t:n,onLikeClick:a,onGuestLikeClick:i})=>{const c="col-span-1 h-[3.2rem] flex items-center justify-center border rounded-none text-[1.2rem] leading-[1.8rem]",u="bg-fig-btn-default-secondary border-fig-btn-default-primary text-black hover:bg-fig-btn-hover-secondary active:bg-fig-btn-pressed-secondary cursor-pointer";return e?r.jsx(zt,{className:M(c,s?"pointer-events-none bg-transparent border-fig-btn-disabled text-fig-btn-disabled cursor-not-allowed":u),productNo:t,isActive:o?.isLiked,count:o?.count??0,onClick:a,children:o?.isLiked?n("wishlistSaved"):n("wishlist")}):r.jsx("button",{type:"button",className:M(c,u),onClick:i,children:n("wishlist")})},dn=({isSoldOut:e,isInStoreOnly:t,periodMode:o,isIng:s,isReady:n,isEnd:a,countdownUnits:i,productNo:c,likeStatus:u,likeLoading:l,isLoggedIn:x,t:g,onCartClick:P,onLikeClick:h,onGuestLikeClick:y})=>{const v=t||e||o&&!s;let N;return t?N=r.jsx("span",{className:"font-fig-mixed",children:g("inStoreOnlyPurchase")}):e?N=r.jsx("span",{className:"font-fig-mixed",children:g("common:soldOut")}):o&&n?N=r.jsx(Ve,{countdown:i}):o&&a?N=r.jsx("span",{className:"font-fig-mixed",children:g("purchaseEnd")}):N=r.jsx("span",{className:"font-fig-mixed",children:g("addToCart")}),r.jsxs("div",{className:"grid grid-cols-4 gap-[0.8rem]",children:[r.jsx(re,{variant:"solid",size:"fig-default",className:"col-span-3 w-full gap-[0.8rem]",disabled:v,onClick:P,children:N}),r.jsx(at,{isLoggedIn:x,productNo:c,likeStatus:u,likeLoading:l,t:g,onLikeClick:h,onGuestLikeClick:y})]})},Me=({periodDataLoaded:e,isReady:t,isIng:o,countdownUnits:s,isRaffleProduct:n,isSoldOut:a,isInStoreOnly:i,widthClass:c="w-full",t:u,onClick:l})=>{const x=e&&o&&!a&&!i,g=u(n?"drawEntry":"buyNow"),P=u(n?"drawEntryEnd":"purchaseEnd");let h;return i?h=r.jsx("span",{className:"font-fig-mixed",children:u("inStoreOnlyPurchase")}):a?h=r.jsx("span",{className:"font-fig-mixed",children:u("common:soldOut")}):e?t?h=r.jsx(Ve,{variant:n?"draw":"sale",countdown:s}):o?h=r.jsx("span",{className:"font-fig-mixed",children:g}):h=r.jsx("span",{className:"font-fig-mixed",children:P}):h=r.jsx("span",{className:"font-fig-mixed",children:" "}),r.jsx(re,{variant:"solid",size:"fig-default",className:M(c,"gap-[0.8rem]"),disabled:!x,onClick:l,children:h})},mn=()=>r.jsx("div",{className:"w-full h-[3.2rem] flex items-center justify-center bg-fig-btn-disabled text-white text-[1.2rem] leading-[1.8rem] cursor-not-allowed",children:"드로우 상품입니다"}),fn=()=>r.jsx("div",{"aria-hidden":!0,className:"w-full h-[3.2rem] flex items-center justify-center bg-fig-btn-disabled text-white text-[1.2rem] leading-[1.8rem] cursor-not-allowed",children:" "}),pn=()=>r.jsxs("div",{className:"grid grid-cols-4 gap-[0.8rem]","aria-hidden":!0,children:[r.jsx(Ie,{className:"col-span-3 h-[3.2rem] rounded-none"}),r.jsx(Ie,{className:"col-span-1 h-[3.2rem] rounded-none"})]}),xn=({showMemberOnlyBlock:e,isRaffleAccessPending:t,useCartButtons:o,periodDataLoaded:s,isReady:n,isIng:a,isEnd:i,countdownUnits:c,isRaffleProduct:u,isSoldOut:l,isInStoreOnly:x,periodMode:g,productNo:P,likeStatus:h,likeLoading:y,isLoggedIn:v,t:N,onDirectPurchase:I,onCartClick:f,onLikeClick:O,onGuestLikeClick:m})=>s?t?r.jsx(fn,{}):e?r.jsx(mn,{}):o?r.jsx(dn,{isSoldOut:l,isInStoreOnly:x,periodMode:g,isIng:a,isReady:n,isEnd:i,countdownUnits:c,productNo:P,likeStatus:h,likeLoading:y,isLoggedIn:v,t:N,onCartClick:f,onLikeClick:O,onGuestLikeClick:m}):v?r.jsx(Me,{periodDataLoaded:s,isReady:n,isIng:a,countdownUnits:c,isRaffleProduct:u,isSoldOut:l,isInStoreOnly:x,t:N,onClick:I}):r.jsxs("div",{className:"grid grid-cols-4 gap-[0.8rem]",children:[r.jsx(Me,{periodDataLoaded:s,isReady:n,isIng:a,countdownUnits:c,isRaffleProduct:u,isSoldOut:l,isInStoreOnly:x,widthClass:"col-span-3",t:N,onClick:I}),r.jsx(at,{isLoggedIn:v,productNo:P,likeStatus:h,likeLoading:y,t:N,onLikeClick:O,onGuestLikeClick:m})]}):r.jsx(pn,{}),hn=()=>{const{t:e}=z("product"),[t]=J(),o=_t(),s=Dt(),n=Number(t.get("productNo")),a=t.get("channelType"),{productDetail:{summary:i,isSoldOut:c,likeStatus:u},originProductDetail:l}=V(),{updateLikeStatus:x}=ue(),{addCart:g}=tr(),{profile:P}=xe(),{fetchUserOptionSelections:h}=W(),{makeOrderSheet:y}=rr(),v=Xt(),{gate:N,dialogState:I,submitAnswer:f,cancel:O}=rn(),{memberOnly:m,canAddToCart:p,salePeriodType:b,saleStartYmdt:w,saleEndYmdt:C,saleStatusType:R,modelName:_,certificationType:U}=nn(l),L=!!P?.memberNo,E=U==="TARGET",{raffleProduct:D,isLoading:G}=tt({mallProductNo:n,enabled:m&&L}),$=l?.baseInfo?.hsCode?.trim()||"",S=l?.baseInfo?.stickerLabels,T=S?.[0]||"",j=Gt(S),k=At(l?.baseInfo?.promotionText||"").trim(),F=d.useMemo(()=>sn(l?.brand),[l?.brand]),ct=()=>{F&&o(`/products?brands=${encodeURIComponent(F.filterValue)}`)},lt=b==="PERIOD",se=l?.baseInfo?.productNo===n,{showMemberOnlyBlock:ut,isRaffleAccessPending:dt,hidePurchaseUi:ye}=an({memberOnly:m,isLoggedIn:L,isRaffleProduct:D,isRaffleAccessLoading:G}),ae=lt||D,Ne=p&&!D,ve=cn(ae,b,w,C,R),{countdownUnits:mt}=Wt(ve),ie=Zt(ve),ft=ie==="READY",Pe=ie==="ING",pt=ie==="END",xt=D,[Z,B]=d.useState({open:!1,type:"alert",message:"",onConfirm:void 0}),ht=()=>B(A=>({...A,open:!1})),gt=async()=>{if(!Ce()){B({open:!0,type:"alert",message:e("common:loginRequiredForService"),onConfirm:()=>o("/sign-in",{state:{from:`${s.pathname}${s.search}`}})});return}try{const{data:A}=await h(),q=A.map(Q=>({...Q,channelType:a,productNo:n,orderCnt:Q.count}));await N(n),await g(q,P?.memberStatus),B({open:!0,type:"confirm",message:e("addedToCart")})}catch(A){if(A instanceof ne)return;B({open:!0,type:"alert",message:er(A,e)||Be(A?.error?.description)||e("errorOccurred")})}},bt=async()=>{if(!Ce()){B({open:!0,type:"alert",message:e("common:loginRequiredForService"),onConfirm:()=>o("/sign-in",{state:{from:`${s.pathname}${s.search}`}})});return}try{const{data:A}=await h(),q=A.map(we=>({...we,channelType:a,productNo:n,orderCnt:we.count}));await N(n),await v("fcfs_checkout");const{data:{orderSheetNo:Q}}=await y({products:q});o(`/order/${Q}`)}catch(A){if(A instanceof ne)return;if(A instanceof Jt){B({open:!0,type:"alert",message:e("auth:recaptchaBlocked",{defaultValue:"보안 검증에 실패했습니다. 잠시 후 다시 시도해주세요."})});return}const q=l?.limitations?.maxBuyPersonCnt??0,Q=on({context:A,isRaffleProduct:D,maxPerson:q,t:e});B({open:!0,type:"alert",message:Q})}},[yt,Oe]=d.useState(!1),Se=d.useRef(null),Nt=({count:A,isActive:q})=>{x({count:A,isLiked:q}),Oe(!0),clearTimeout(Se.current),Se.current=setTimeout(()=>Oe(!1),500)},vt=async()=>{const A=window.location.href,q=i?.productName?`${F?.label??""} ${i.productName}`.trim():document.title;if(qe.isMobile&&typeof navigator.share=="function")try{await navigator.share({title:q,url:A});return}catch(Q){if(Q?.name==="AbortError")return}try{await navigator.clipboard.writeText(A),B({open:!0,type:"alert",message:e("shareLinkCopied"),onConfirm:void 0})}catch{B({open:!0,type:"alert",message:e("shareLinkCopyFailed"),onConfirm:void 0})}},Pt=()=>{B({open:!0,type:"alert",message:e("common:loginRequiredForService"),onConfirm:()=>o("/sign-in",{state:{from:`${s.pathname}${s.search}`}})})};return r.jsxs("div",{className:M("product-info px-0 py-[6rem]","lg:px-0 lg:py-[6.4rem] lg:flex lg:flex-col lg:min-h-screen"),children:[r.jsxs("div",{className:M("flex [justify-content:unset] [align-items:unset] flex-col gap-[4rem]","lg:my-auto lg:shrink-0"),children:[r.jsx(un,{stickerLabel:T,collabBrandName:k,summary:i,brand:F,onBrandClick:ct}),se&&!ye&&r.jsx($r,{disabled:ae&&!Pe}),se&&!ye&&Ne&&r.jsx(Kr,{}),r.jsx(xn,{showMemberOnlyBlock:ut,isRaffleAccessPending:dt,useCartButtons:Ne,periodDataLoaded:se,isReady:ft,isIng:Pe,isEnd:pt,countdownUnits:mt,isRaffleProduct:D,isSoldOut:c,isInStoreOnly:j,periodMode:ae,productNo:n,likeStatus:u,likeLoading:yt,isLoggedIn:L,t:e,onDirectPurchase:bt,onCartClick:gt,onLikeClick:Nt,onGuestLikeClick:Pt}),xt&&r.jsxs("div",{className:"flex flex-col items-start justify-start gap-[0.8rem]",children:[r.jsx("p",{className:"text-[1.2rem] leading-[1.8rem] text-black font-normal",children:e("drawGuideTitle")}),r.jsx("p",{className:"text-[1.2rem] leading-[1.8rem] text-fig-text-secondary font-normal whitespace-pre-line",children:e("drawGuideText")})]}),r.jsxs("div",{className:"flex items-center justify-between gap-[0.8rem] w-full",children:[r.jsx("p",{className:"min-w-0 flex-1 text-[1.2rem] leading-[1.8rem] text-fig-text-secondary [word-break:break-word]",children:_&&r.jsxs(r.Fragment,{children:[e("productNumber")," ",r.jsx("span",{className:"font-fig-en font-medium",children:_})]})}),r.jsx("button",{type:"button",onClick:vt,className:"shrink-0 text-[1.2rem] leading-[1.8rem] text-black underline decoration-[0.5px] underline-offset-[0.2rem] cursor-pointer",children:e("share")})]}),r.jsx(Ze,{colorNames:$}),E&&r.jsxs("div",{className:"flex flex-col items-start gap-[0.8rem]",children:[r.jsx("img",{src:"/kcmark.svg",alt:"KC 마크",className:"h-[3.1rem] w-[2rem]"}),r.jsx("p",{className:"text-[1.2rem] leading-[1.8rem] text-fig-text-secondary font-normal [word-break:break-word]",children:e("kcJuniorNotice")})]})]}),r.jsx(Ue,{open:Z.open,onClose:ht,type:Z.type,message:Z.message,...ln(Z,e,()=>o("/cart"))}),r.jsx(Hr,{state:I,onSubmit:f,onCancel:O})]})},gn=()=>{const{t:e}=z("product"),[t]=J(),o=Number(t.get("productNo")),s=Ur(o);return r.jsx(oe,{title:e("recentProducts"),products:s,hidePrice:!0})},bn=()=>{const{t:e}=z("product"),{relatedProducts:t}=V(),o=d.useMemo(()=>(t??[]).map(({productNo:i})=>i).filter(Boolean),[t]),{productMap:s,isLoading:n}=or(o);if(n)return null;const a=(t??[]).map(i=>s.get(i.productNo)??i);return r.jsx(oe,{title:e("relatedProducts"),products:a})},it=({reviewCount:e=0,inquiryCount:t=0,hasGuide:o=!1,t:s}={})=>{const n=[{value:"DETAIL",label:s("product:tabDetail")},{value:"REVIEW",label:s("product:tabReview",{count:e})},{value:"INQUIRY",label:s("product:tabInquiry",{count:t})}];return o&&n.push({value:"SHIPPING_CLAIM",label:s("product:tabShippingClaim")}),n},yn=()=>{const{t:e}=z("product"),[t]=J(),{ref:o,top:s}=Ut(),n=Number(t.get("productNo")),a=t.get("channelType"),{productDetail:{productName:i,guide:c,...u},originProductDetail:l}=V(),x=l?.limitations?.memberOnly===!0,{profile:g}=xe(),P=!!g?.memberNo,{raffleProduct:h,isLoading:y}=tt({mallProductNo:n,enabled:x&&P}),v=x&&(y||h),{fetchConfiguration:N}=ar(),{fetchConfiguration:I}=Ee(),{fetchProductDetail:f,fetchRelatedProducts:O}=ue(),{fetchSelectorOptions:m}=hr(),{fetchOptions:p,fetchOptionSelector:b,fetchAdditionalDiscount:w}=W(),{options:C}=be(),{updateTabs:R}=mr(),{totalCount:_}=ir(),{totalCount:U}=lr(),{searchInquiries:L}=Ee(),{productDetail:E}=V(),{fetchExtraProducts:D}=ue(),{setBaseProductPaymentMeans:G,fetchExtraProductOptions:$,fetchExtraProductOptionSelector:S}=Ar();Mt({hasBackBtnOnHeader:!0,title:i}),d.useEffect(()=>{l&&((async()=>(await p({productNo:n,productInfo:u,cacheOption:{type:"MEMORY",timeBySeconds:180}}),b()))(),l?.baseInfo?.productNo===n&&ShopbyExternalScript?.setGlobalObjectSb({product:l}))},[l]),d.useEffect(()=>{L(),n>0&&(f({productNo:n,channelType:a}),N({cacheOption:{type:"MEMORY",timeBySeconds:180}}),I({cacheOption:{type:"MEMORY",timeBySeconds:180}}),O({productNo:n,cacheOption:{type:"MEMORY",timeBySeconds:180}}))},[n]);const T=d.useMemo(()=>Object.entries(c).some(([,j])=>!!j),[c]);return d.useEffect(()=>R(it({reviewCount:_,inquiryCount:U,hasGuide:T,t:e})),[_,U,T,e]),d.useEffect(()=>{const j=C?.[n];if(!j)return;const{data:k}=w(n);m({option:j,additionalDiscount:k})},[C]),d.useEffect(()=>{E?.baseInfo?.paymentMeans&&(G(E.baseInfo.paymentMeans),(async()=>{const{data:j}=await D({productNo:n});if(j){const k=j.extraProducts.map(F=>F.productNo);await $(k,{productInfo:E,extraProducts:j.extraProducts}),await S()}})())},[E]),d.useEffect(()=>{E?.baseInfo?.productNo&&Lr(E)},[E]),r.jsxs("div",{className:M("product-detail flex flex-col items-stretch w-full","lg:gap-[6rem] lg:px-[2rem]"),children:[r.jsxs("div",{className:M("lg:flex lg:w-full lg:items-start lg:justify-start lg:gap-[7.76vw]"),children:[r.jsx("div",{className:M("lg:w-[48.75vw] lg:max-w-[124.8rem]"),children:r.jsx(Br,{})}),r.jsx("div",{ref:o,style:{top:s},className:M("lg:w-[32.34vw] lg:max-w-[82.8rem] lg:sticky"),children:r.jsx(hn,{})})]}),r.jsx("div",{className:"w-full flex flex-col items-start justify-start gap-[6rem]",children:!v&&r.jsxs(r.Fragment,{children:[r.jsx(Rr,{}),r.jsx(bn,{}),r.jsx(gn,{})]})})]})},go=()=>{const{t:e}=z("product"),{clientId:t,mallProfile:o}=kt(),[s]=J(),n=Number(s.get("productNo")),a=d.useMemo(()=>it({t:e}),[e]);return r.jsx(sr,{productNo:n,children:r.jsx(cr,{productNo:n,children:r.jsx(ur,{children:r.jsx(dr,{initialState:{currentTab:"DETAIL",tabs:a},children:r.jsx(nr,{clientId:t,mallProfile:o,customTerms:Rt,children:r.jsx(fr,{children:r.jsx(pr,{clientId:t,mallProfile:o,platform:qe.isMobile?"MOBILE_WEB":"PC",children:r.jsx(xr,{productNo:n,children:r.jsx(wr,{children:r.jsx(Tr,{productNo:n,children:r.jsx(gr,{productNo:n,children:r.jsx(yn,{})})})})})})})})})})})})};export{go as default};