1import{A as e,C as t,E as n,H as r,Q as i,S as a,T as o,at as s,ft as c,k as l,pt as u,w as d,x as f,y as p}from"./vendor-core-ByrB1I1z.js";import{Bi as m,Di as h,Ei as g,Fi as _,Mi as v,Ni as y,Oi as b,Wi as x,bo as S,mo as C}from"./shared-u6UeEZvS.js";import{t as w}from"./ItemDetailsFields-CIx9WUPp.js";var T={class:`flex items-center justify-between border-b border-slate-100 px-6 py-4`},E={class:`min-w-0`},D={id:`product-details-title`,class:`text-lg font-semibold text-slate-900`},O={class:`truncate text-sm text-slate-500`},k={key:0,class:`text-slate-400`},A={class:`grow overflow-y-auto px-6 py-5`},j={class:`border-t border-slate-100 px-6 py-4`},M={key:0,role:`alert`,class:`mb-3 text-sm text-red-600`},N={key:1,class:`mb-3 flex items-baseline justify-between text-sm`},P={class:`font-semibold text-slate-900`},F=[`disabled`],I={key:0,class:`size-4 animate-spin rounded-full border-2 border-white/40 border-t-white`},L={__name:`ProductDetailsDialog`,props:{product:{type:Object,required:!0},slug:{type:String,required:!0},variantName:{type:String,default:``},initialAnswers:{type:Object,default:()=>({})},initialFiles:{type:Array,default:()=>[]},title:{type:String,default:`A few details first`},confirmLabel:{type:String,default:`Add to cart`},saving:{type:Boolean,default:!1},currency:{type:String,default:``},basePrice:{type:Number,default:null},holdPrices:{type:Boolean,default:!1},charged:{type:Array,default:()=>[]},colors:{type:Object,default:null}},emits:[`confirm`,`close`],setup(L,{emit:R}){let z=L,B=R,V=g(),H=a(()=>z.colors||V.value),U=s({...z.initialAnswers}),W=s([...z.initialFiles]),G=s(!1),K=s(null);i([U,W],()=>{K.value=null});let q=s(null),J=s(null);b(s(!0),J,()=>B(`close`)),h(q,J);let Y=a(()=>v(z.product,U.value)),X=a(()=>z.basePrice!==null&&!z.holdPrices&&x(z.product)?S(z.basePrice+Y.value,z.currency):``),Z=a(()=>z.holdPrices?{...z.product,questions:(z.product.questions||[]).map(e=>Object.keys(e.option_prices||{}).length&&!(e.id in z.initialAnswers)?{...e,required:!1}:e)}:z.product);function Q(){G.value||z.saving||(K.value=m([Z.value],U.value,W.value),!K.value&&B(`confirm`,{answers:Object.fromEntries(_([z.product],U.value).map(e=>[e.question_id,e.value])),files:W.value,summary:y(z.product,U.value),extras:Y.value}))}return(i,a)=>(r(),d(f,{to:`body`},[t(`div`,{ref_key:`overlay`,ref:q,class:`tenant-accent fixed inset-0 z-[10000] flex items-end justify-center bg-slate-900/50 p-0 backdrop-blur-xs sm:items-center sm:p-6`,style:c(H.value),onClick:a[4]||=p(e=>B(`close`),[`self`])},[t(`div`,{ref_key:`panel`,ref:J,class:`flex max-h-[92dvh] w-full max-w-lg flex-col rounded-t-2xl bg-white shadow-xl sm:rounded-2xl`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`product-details-title`},[t(`header`,T,[t(`div`,E,[t(`h2`,D,u(L.title),1),t(`p`,O,[l(u(L.product.name)+` `,1),L.variantName?(r(),n(`span`,k,` · `+u(L.variantName),1)):o(``,!0)])]),t(`button`,{type:`button`,class:`btn-ghost -mr-2 !p-2`,"aria-label":`Close`,onClick:a[0]||=e=>B(`close`)},[e(C,{name:`x`,size:20})])]),t(`form`,{class:`flex min-h-0 grow flex-col`,novalidate:``,onSubmit:p(Q,[`prevent`])},[t(`div`,A,[e(w,{answers:U.value,"onUpdate:answers":a[1]||=e=>U.value=e,files:W.value,"onUpdate:files":a[2]||=e=>W.value=e,uploading:G.value,"onUpdate:uploading":a[3]||=e=>G.value=e,item:L.product,kind:`product`,slug:L.slug,problem:K.value,currency:L.currency,"hold-prices":L.holdPrices,charged:L.charged},null,8,[`answers`,`files`,`uploading`,`item`,`slug`,`problem`,`currency`,`hold-prices`,`charged`])]),t(`footer`,j,[K.value?(r(),n(`p`,M,u(K.value.message),1)):o(``,!0),X.value?(r(),n(`p`,N,[a[5]||=t(`span`,{class:`text-slate-500`},`Price with your choices`,-1),t(`span`,P,u(X.value),1)])):o(``,!0),t(`button`,{type:`submit`,class:`btn w-full bg-[var(--primary,var(--tenant-default-primary))] text-[var(--primary-fg,#fff)] hover:opacity-90`,disabled:G.value||L.saving},[L.saving?(r(),n(`span`,I)):o(``,!0),l(` `+u(G.value?`Uploadingâ¦`:L.confirmLabel),1)],8,F)])],32)],512)],4)]))}};export{L as t};
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.