1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,835666,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(77071),s=e.i(456420);let o=(0,s.default)("pen",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]);var l=e.i(573474),n=e.i(569644),i=e.i(920755),c=e.i(167881),d=e.i(23750),u=e.i(127341),m=e.i(463415),p=e.i(994179),h=e.i(250059),g=e.i(949911),x=e.i(152990),f=e.i(682830),j=e.i(912317),y=e.i(96892),b=e.i(635416),v=e.i(589344);let w=(0,s.default)("folder-input",[["path",{d:"M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1",key:"fm4g5t"}],["path",{d:"M2 13h10",key:"pgb2dq"}],["path",{d:"m9 16 3-3-3-3",key:"6m91ic"}]]);var k=e.i(293414),N=e.i(226091),C=e.i(762368),S=e.i(630374);function P({value:e,onChange:a}){let[s,o]=(0,r.useState)(!1),[l,n]=(0,r.useState)(e),i=(0,r.useRef)(null);return((0,r.useEffect)(()=>{let e;s&&(e=i.current)&&(e.style.height="auto",e.style.height=`${e.scrollHeight}px`)},[s,l]),s)?(0,t.jsx)("textarea",{ref:i,value:l,onChange:e=>{n(e.target.value)},onBlur:()=>{o(!1),a(l)},onKeyDown:t=>{"Escape"===t.key&&(o(!1),n(e))},autoFocus:!0,className:"flex min-h-[60px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm r
1ing-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 resize-y overflow-hidden",placeholder:"Add notes or remarks...",style:{minHeight:"60px"}}):(0,t.jsx)("div",{onClick:()=>o(!0),className:"cursor-pointer hover:bg-muted/50 p-2 rounded min-h-[60px] transition-colors whitespace-pre-wrap flex items-center",children:e||(0,t.jsx)("span",{className:"text-muted-foreground italic text-sm",children:"Click to add notes..."})})}var D=e.i(60903),R=e.i(388968),I=e.i(446604),M=e.i(618566),T=e.i(151805);let q=0,E=0,_=1,z=52,B=2,F=148;function A(e,t,r=!1){let a=e<=2,s=a?`sticky ${t?"z-20":"z-10"}`:"",o=t?"":a?`bg-background ${r?"group-hover:bg-muted-30-opaque":""}`:`bg-background ${r?"group-hover:bg-muted/30":""}`;return[t?"py-3 text-left font-medium text-muted-foreground whitespace-nowrap bg-muted":"py-1 whitespace-nowrap",s,o,2===e?"shadow-[2px_0_5px_-2px_rgba(0,0,0,0.1)]":"",e===q?"px-4 w-[52px]":e===_?"px-4 w-[96px]":"px-4"].filter(Boolean).join(" ")}function L(e){return e===q?{left:E}:e===_?{left:z}:e===B?{left:F}:void 0}function H({projectId:e,projectName:a,products:s,handleCloseModal:o}){let{state:i,removeItem:d,updateRemarks:u,moveItem:p,copyItem:j}=(0,D.useProjectList)(),{setLineItems:y,formData:b,setFormData:q,setStep:E}=(0,R.useRfq)(),_=(0,M.useRouter)(),[z,B]=(0,r.useState)([]),[F,V]=(0,r.useState)({}),$=(0,r.useMemo)(()=>i.items.filter(t=>t.project_id===e).map(e=>{let t=s.get(e.product_id);return{...e,product:t||{id:e.product_id,pn:"Loading...",name:"Loading product details...",image:"/images/product_image_placeholder.jpg"}}}),[i.items,e,s]),O=i.projects.filter(t=>t.id!==e),K=(0,r.useMemo)(()=>Object.keys(F).filter(e=>F[e]),[F]),Q=(0,r.useMemo)(()=>{let e=(0,f.createColumnHelper)();return[{id:"select",header:({table:e})=>(0,t.jsx)("input",{type:"checkbox",className:"h-4 w-4 rounded border-gray-300 cursor-pointer",checked:e.getIsAllPageRowsSelected(),onChange:t=>e.toggleAllPageRowsSelected(t.target.checked),"aria-label":"Select all"}),cell:({row:e})=>(0,t.jsx)("input",{type:"checkbox",className:"h-4 w-4 rounded border-gray-300 cursor-pointer",checked:e.getIsSelected(),onChange:t=>e.toggleSelected(t.target.checked),"aria-label":"Select row"}),enableSorting:!1,enableHiding:!1},{id:"image",header:"",cell:({row:e})=>{let r=e.original.product,a=(0,I.transformCdnUrl)(r.s3_key,r.name),s=a.includes("?")?`${a}&width=128`:`${a}?width=128`;return(0,t.jsxs)(S.Dialog,{children:[(0,t.jsx)(S.DialogTrigger,{asChild:!0,children:(0,t.jsxs)("button",{className:"w-16 h-16 relative flex items-center justify-center cursor-pointer group/image transition-opacity",children:[(0,t.jsx)(h.FallbackImage,{src:s,alt:r.name||"Product image",fill:!0,sizes:"64px",className:"object-cover rounded"}),(0,t.jsx)("div",{className:"absolute inset-0 bg-black/10 opacity-0 group-hover/image:opacity-80 transition-opacity flex items-center justify-center rounded",children:(0,t.jsx)(k.ZoomIn,{className:"h-6 w-6 text-white",strokeWidth:2.5})})]})}),(0,t.jsxs)(S.DialogContent,{className:"max-w-3xl",children:[(0,t.jsx)(S.DialogTitle,{className:"sr-only",children:r.name||"Product image"}),(0,t.jsx)("div",{className:"flex items-center justify-center p-4 relative w-full",style:{height:"80vh"},children:(0,t.jsx)(h.FallbackImage,{src:a,alt:r.name||"Product image",fill:!0,sizes:"(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw",className:"object-contain"})}),r.name&&(0,t.jsx)("p",{className:"text-center text-sm text-muted-foreground mt-2",children:r.name})]})]})},enableSorting:!1},e.accessor("product.pn",{header:({column:e})=>(0,t.jsx)(U,{column:e,title:"Part"}),cell:({row:e})=>(0,t.jsx)("button",{onClick:()=>{o(),window.setTimeout(()=>{window.location.href=(0,g.getProductUrl)(e.original.product)},50)},className:"font-medium text-primary hover:text-primary/60 underline flex items-center gap-1 text-left",children:e.original.product.pn||"â"})}),e.accessor("product.name",{header:({column:e})=>(0,t.jsx)(U,{column:e,title:"Name"}),cell:({row:e})=>(0,t.jsx)("span",{className:"max-w-[200px] truncate block",children:e.original.product.name||"â"})}),e.accessor("remarks",{header:"Remarks",cell:({row:e})=>(0,t.jsx)("div",{className:"w-[400px]",children:(0,t.jsx)(P,{value:e.original.remarks,onChange:t=>u(e.original.id,t)}
1)}),enableSorting:!1})]},[u]),W=(0,x.useReactTable)({data:$,columns:Q,state:{sorting:z,rowSelection:F},enableRowSelection:!0,onRowSelectionChange:V,onSortingChange:B,getCoreRowModel:(0,f.getCoreRowModel)(),getSortedRowModel:(0,f.getSortedRowModel)(),getRowId:e=>e.id});return 0===$.length?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-center border rounded-lg",children:[(0,t.jsx)(n.FolderOpen,{className:"h-12 w-12 text-muted-foreground mb-4"}),(0,t.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No products yet"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground max-w-sm",children:"Start adding products to this project from the catalog or product pages."})]}):(0,t.jsxs)("div",{className:"border rounded-lg overflow-hidden",children:[(0,t.jsxs)("div",{className:"px-4 py-2 bg-muted/30 border-b flex items-center gap-2 flex-wrap",children:[(0,t.jsx)("div",{className:"text-sm text-muted-foreground mr-2",children:K.length>0?(0,t.jsxs)("span",{className:"font-medium text-foreground",children:[K.length," selected"]}):(0,t.jsx)("span",{children:"With selected rows"})}),(0,t.jsxs)(c.Button,{variant:"outline",size:"sm",onClick:()=>{confirm(`Remove ${K.length} ${1===K.length?"product":"products"} from this project?`)&&(K.forEach(e=>d(e)),V({}))},disabled:0===K.length,children:[(0,t.jsx)(l.Trash2,{className:"h-4 w-4 mr-2"}),"Delete"]}),O.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(m.DropdownMenu,{children:[(0,t.jsx)(m.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsxs)(c.Button,{variant:"outline",size:"sm",disabled:0===K.length,children:[(0,t.jsx)(w,{className:"h-4 w-4 mr-2"}),"Move to..."]})}),(0,t.jsx)(m.DropdownMenuContent,{align:"start",children:O.map(e=>(0,t.jsx)(m.DropdownMenuItem,{onClick:()=>{var t;return t=e.id,void(K.forEach(e=>p(e,t)),V({}))},children:e.name},e.id))})]}),(0,t.jsxs)(m.DropdownMenu,{children:[(0,t.jsx)(m.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsxs)(c.Button,{variant:"outline",size:"sm",disabled:0===K.length,children:[(0,t.jsx)(v.Copy,{className:"h-4 w-4 mr-2"}),"Copy to..."]})}),(0,t.jsx)(m.DropdownMenuContent,{align:"start",children:O.map(e=>(0,t.jsx)(m.DropdownMenuItem,{onClick:()=>{var t;return t=e.id,void(K.forEach(e=>j(e,t)),V({}))},children:e.name},e.id))})]})]}),(0,t.jsxs)(c.Button,{variant:"outline",size:"sm",onClick:()=>{let t=i.projects.find(t=>t.id===e),r=t?.name||"";y($.filter(e=>K.includes(e.id)).map(e=>({productId:e.product_id,catalogProductId:e.product_id,pn:e.product.pn||"",name:e.product.name||"",model:e.product.model||"",quantity:1,remark:e.remarks,s3_key:e.product.s3_key||null}))),E("items"),!b.projectName&&r&&q({...b,projectName:r}),_.push("/products/rfq"),o(),V({})},disabled:0===K.length,children:[(0,t.jsx)(N.FileText,{className:"h-4 w-4 mr-2"}),"Request for Quotation"]}),(0,t.jsxs)(c.Button,{variant:"outline",size:"sm",onClick:()=>{let e=$.filter(e=>K.includes(e.id));(0,T.exportProjectItemsToCSV)(e,a)},disabled:0===K.length,children:[(0,t.jsx)(C.Download,{className:"h-4 w-4 mr-2"}),"Download CSV"]})]}),(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:"w-full text-sm min-w-max",children:[(0,t.jsx)("thead",{className:"border-b",children:W.getHeaderGroups().map(e=>(0,t.jsx)("tr",{className:"bg-muted",children:e.headers.map((e,r)=>(0,t.jsx)("th",{className:A(r,!0),style:L(r),children:e.isPlaceholder?null:(0,x.flexRender)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,t.jsx)("tbody",{children:W.getRowModel().rows.map(e=>(0,t.jsx)("tr",{className:"border-b last:border-b-0 transition-colors group",children:e.getVisibleCells().map((e,r)=>(0,t.jsx)("td",{className:A(r,!1,!0),style:L(r),children:(0,x.flexRender)(e.column.columnDef.cell,e.getContext())},e.id))},e.id))})]})}),(0,t.jsx)("div",{className:"px-4 py-3 bg-muted/30 border-t",children:(0,t.jsxs)("div",{className:"text-sm text-muted-foreground",children:["Showing ",$.length," ",1===$.length?"product":"products"]})})]})}function U({column:e,title:r}){let a=e.getIsSorted();return(0,t.jsxs)(c.Button,{variant:"ghost",size:"sm",className:"-ml-3 h-8 data-[state=open]:bg-accent",onClick:e.getToggleSortingHandler(),children:[(0,t.jsx)("span",{children:r}),"asc"===a?(0,t.jsx)(y.ArrowUp,{className:"ml-2 h-4 w-4"}):"desc"===a?(0,t.jsx)(b.ArrowDown,{className:"ml-2 h-4 w-4"}):(0,t.jsx)(j.ArrowUpDown,{className:"ml-2 h-4 w-4 opacity-50"})]})}var V=e.i(263676),$=e.i(399847),O=e.i(791432);let K="pmd-project-list-warning-dismissed",Q="pmd-project-list-warning-dismissed-timestamp";function W(){let{isAuthenticated:e,isLoading:a}=(0,O.useAuth)(),{closeModal:s}=(0,D.useProjectList)(),o=(0,M.useRouter)(),l=(0,M.usePathname)(),[n,i]=(0,r.useState)(!0),[d,u]=(0,r.useState)(!1);return((0,r.useEffect)(()=>{let e=localStorage.getItem(K),t=localStorage.getItem(Q);if("true"===e&&t){let e=parseInt(t,10);Date.now()-e<864e5?i(!0):(localStorage.removeItem(K),localStorage.removeItem(Q),i(!1))}else i(!1);
1u(!0)},[]),a||e||n||!d)?null:(0,t.jsx)("div",{className:"bg-amber-50 border-b border-amber-200 dark:bg-amber-950/20 dark:border-amber-900/50",children:(0,t.jsxs)("div",{className:"px-4 py-3 flex items-center justify-between gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 flex-1 min-w-0",children:[(0,t.jsx)($.AlertCircle,{className:"h-5 w-5 text-amber-600 dark:text-amber-500 flex-shrink-0"}),(0,t.jsxs)("p",{className:"text-sm text-amber-900 dark:text-amber-200",children:["Your project lists are stored locally and will be lost if you clear your browser data.",(0,t.jsx)("span",{className:"font-medium ml-1",children:"Save your lists permanently by signing in or creating an account."})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[(0,t.jsx)(c.Button,{onClick:()=>{s();let e=l?.startsWith("/auth/"),t=l&&!e&&"/auth/login"!==l?`/auth/login?redirectTo=${encodeURIComponent(l)}`:"/auth/login";o.push(t)},size:"sm",variant:"outline",className:"border-amber-300 text-amber-900 hover:bg-amber-100 dark:border-amber-800 dark:text-amber-200 dark:hover:bg-amber-950/50",children:"Sign In"}),(0,t.jsx)(c.Button,{onClick:()=>{s(),o.push("/auth/sign-up")},size:"sm",variant:"default",className:"bg-amber-600 hover:bg-amber-700 text-white dark:bg-amber-600 dark:hover:bg-amber-700",children:"Sign Up"}),(0,t.jsx)("button",{onClick:()=>{localStorage.setItem(K,"true"),localStorage.setItem(Q,Date.now().toString()),i(!0)},className:"p-1 rounded-md hover:bg-amber-200 dark:hover:bg-amber-900/50 text-amber-700 dark:text-amber-400 transition-colors","aria-label":"Dismiss warning",children:(0,t.jsx)(V.X,{className:"h-4 w-4"})})]})]})})}e.s(["ProjectListContent",0,function({onClose:e,showWarningBanner:s=!0}){let{state:h,createProject:g,deleteProject:x,renameProject:f,setActiveProject:j,getItemCount:y,syncFromRemote:b}=(0,D.useProjectList)(),[v,w]=(0,r.useState)(!1),[k,N]=(0,r.useState)(""),[C,S]=(0,r.useState)(null),[P,R]=(0,r.useState)(""),[I,M]=(0,r.useState)(new Map);(0,r.useEffect)(()=>{b()},[]),(0,r.useEffect)(()=>{(async()=>{let e=[...new Set(h.items.map(e=>e.product_id))];if(0!==e.length)try{let t=(0,i.createClient)(),{data:r,error:a}=await t.from("catalog_product_stack").select("*").in("id",e);if(a)return void console.error("[ProjectListContent] Error fetching products:",a);let s=new Map;r?.forEach(e=>{s.set(e.id,e)}),M(s)}catch(e){console.error("[ProjectListContent] Failed to fetch products:",e)}})()},[h.items]);let T=()=>{k.trim()&&(g(k.trim()),N(""),w(!1))},q=e=>{P.trim()&&(f(e,P.trim()),S(null),R(""))},E=()=>{e&&e()};return(0,t.jsxs)(t.Fragment,{children:[s&&(0,t.jsx)(W,{}),v&&(0,t.jsxs)("div",{className:"space-y-2 border rounded-lg p-4 bg-muted/50",children:[(0,t.jsx)(d.Input,{placeholder:"Enter project name",className:"bg-white",value:k,onChange:e=>N(e.target.value),onKeyDown:e=>{"Enter"===e.key&&T(),"Escape"===e.key&&(w(!1),N(""))},autoFocus:!0}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(c.Button,{onClick:T,size:"sm",children:"Create"}),(0,t.jsx)(c.Button,{variant:"ghost",size:"sm",onClick:()=>{w(!1),N("")},children:"Cancel"})]})]}),h.projects.length>0?(0,t.jsxs)(u.Tabs,{value:h.activeProjectId??h.projects[0]?.id,onValueChange:j,className:"flex-1 flex flex-col overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[(0,t.jsx)(u.TabsList,{variant:"default",className:"flex-1 justify-start overflow-x-auto mr-6",children:h.projects.map(e=>(0,t.jsx)(u.TabsTrigger,{value:e.id,variant:"default",className:"flex items-center gap-2 whitespace-nowrap",children:C===e.id?(0,t.jsx)(d.Input,{value:P,onChange:e=>R(e.target.value),onKeyDown:t=>{"Enter"===t.key&&q(e.id),"Escape"===t.key&&(S(null),R(""))},onBlur:()=>q(e.id),className:"h-6 w-32",autoFocus:!0,onClick:e=>e.stopPropagation()}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:e.name}),y(e.id)>0&&(0,t.jsx)(p.Badge,{variant:"secondary",className:`h-5 min-w-[20px] rounded-full p-0 flex items-center justify-center text-xs font-bold ${y(e.id)>99?"px-1":""}`,children:y(e.id)>99?"99+":y(e.id)}),(0,t.jsxs)(m.DropdownMenu,{children:[(0,t.jsx)(m.DropdownMenuTrigger,{asChild:!0,onClick:e=>e.stopPropagation(),children:(0,t.jsx)("div",{role:"button",tabIndex:0,className:"inline-flex items-center justify-center h-5 w-5 ml-1 hover:bg-muted rounded-sm transition-colors cursor-pointer",onKeyDown:e=>
1{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),e.stopPropagation())},children:(0,t.jsx)("span",{className:"text-xs",children:"â¯"})})}),(0,t.jsxs)(m.DropdownMenuContent,{align:"end",children:[(0,t.jsxs)(m.DropdownMenuItem,{onClick:t=>{var r,a;t.stopPropagation(),r=e.id,a=e.name,S(r),R(a)},children:[(0,t.jsx)(o,{className:"h-4 w-4 mr-2"}),"Rename"]}),(0,t.jsxs)(m.DropdownMenuItem,{onClick:t=>{var r,a;t.stopPropagation(),r=e.id,a=e.name,confirm(`Delete project "${a}"? All items in this project will be removed.`)&&x(r)},className:"text-destructive focus:text-destructive",children:[(0,t.jsx)(l.Trash2,{className:"h-4 w-4 mr-2"}),"Delete"]})]})]})]})},e.id))}),(0,t.jsxs)(c.Button,{onClick:()=>w(!0),size:"sm",variant:"outline",className:"flex-shrink-0",children:[(0,t.jsx)(a.Plus,{className:"h-4 w-4 mr-2"}),"New Project"]})]}),h.projects.map(e=>(0,t.jsx)(u.TabsContent,{value:e.id,className:"flex-1 overflow-auto mt-4",children:(0,t.jsx)(H,{projectId:e.id,projectName:e.name,products:I,handleCloseModal:E})},e.id))]}):!v&&(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center text-muted-foreground py-8",children:(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)(n.FolderOpen,{className:"h-16 w-16 text-muted-foreground mb-4 mx-auto"}),(0,t.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No projects yet"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground text-center mb-6 max-w-sm mx-auto",children:"Projects help you organize products for different requirements, prototypes, or proposals."}),(0,t.jsxs)(c.Button,{onClick:()=>w(!0),children:[(0,t.jsx)(a.Plus,{className:"h-4 w-4 mr-2"}),"Create First Project"]})]})})]})}],835666)},852917,e=>{"use strict";var t=e.i(843476);e.s([],275704),e.i(275704);var r=e.i(659141),a=e.i(343444),s=e.i(39362),o=e.i(796918),l=e.i(538449),n=e.i(271645),i=e.i(630628),c=e.i(932156),d=e.i(13104),u=e.i(402346),m=e.i(455057),p=e.i(749899),h=e.i(790951),g=e.i(107840);e.s(["Backdrop",()=>r.DialogBackdrop,"Close",()=>a.DialogClose,"Description",()=>s.DialogDescription,"Handle",()=>g.DialogHandle,"Popup",()=>o.DialogPopup,"Portal",()=>l.DialogPortal,"Root",0,function(e){let{children:r,open:a,defaultOpen:s=!1,onOpenChange:o,onOpenChangeComplete:l,disablePointerDismissal:m=!1,modal:p=!0,actionsRef:h,handle:g,triggerId:x,defaultTriggerId:f=null}=e,j=(0,d.useDialogRootContext)(!0),y=!!j,b=(0,i.useRefWithInit)(()=>g?.store??new u.DialogStore({open:a??s,activeTriggerId:void 0!==x?x:f,modal:p,disablePointerDismissal:m,nested:y})).current;b.useControlledProp("open",a,s),b.useControlledProp("activeTriggerId",x,f),b.useSyncedValues({disablePointerDismissal:m,nested:y,modal:p}),b.useContextCallback("onOpenChange",o),b.useContextCallback("onOpenChangeComplete",l);let v=b.useState("payload");(0,c.useDialogRoot)({store:b,actionsRef:h,parentContext:j?.store.context,onOpenChange:o,triggerIdProp:x});let w=n.useMemo(()=>({store:b}),[b]);return(0,t.jsx)(d.DialogRootContext.Provider,{value:w,children:"function"==typeof r?r({payload:v}):r})},"Title",()=>p.DialogTitle,"Trigger",()=>h.DialogTrigger,"Viewport",()=>m.DialogViewport,"createHandle",()=>g.createDialogHandle],387913);var x=e.i(387913),x=x,f=e.i(647163),j=e.i(167881),y=e.i(560964);function b({...e}){return(0,t.jsx)(x.Portal,{"data-slot":"sheet-portal",...e})}function v({className:e,...r}){return(0,t.jsx)(x.Backdrop,{"data-slot":"sheet-overlay",className:(0,f.cn)("fixed inset-0 z-50 bg-black/50 backdrop-blur-sm transition-opacity duration-300 data-[ending-style]:opacity-0 data-[starting-style]:opacity-0",e),...r})}e.s(["Sheet",0,function({...e}){return(0,t.jsx)(x.Root,{"data-slot":"sheet",...e})},"SheetContent",0,function({className:e,children:r,side:a="right",showCloseButton:s=!0,...o}){return(0,t.jsxs)(b,{children:[(0,t.jsx)(v,{}),(0,t.jsxs)(x.Popup,{"data-slot":"sheet-content","data-side":a,className:(0,f.cn)("bg-background fixed z-50 flex flex-col bg-clip-padding shadow-lg transition-transform duration-300 ease-out",{right:"inset-y-0 right-0 h-full w-3/4 sm:max-w-sm border-l translate-x-full data-[open]:translate-x-0 data-[ending-style]:translate-x-full data-[starting-style]:translate-x-full",left:"inset-y-0 left-0 h-full w-3/4 sm:max-w-sm border-r -translate-x-full data-[open]:translate-x-0 data-[ending-style]:-translate-x-full data-[starting-style]:-translate-x-full",top:"inset-x-0 top-0 h-auto border-b -translate-y-full data-[open]:translate-y-0 data-[ending-style]:-translate-y-full data-[starting-style]:-translate-y-full",bottom:"inset-x-0 bottom-0 h-auto border-t translate-y-full data-[open]:translate-y-0 data-[ending-style]:translate-y-full data-[starting-style]:translate-y-full"}[a],e),...o,children:[r,s&&(0,t.jsxs)(x.Close,{"data-slot":"sheet-close",render:(0,t.jsx)(j.Button,{variant:"ghost",className:"absolute top-3 right-3",size:"icon-sm"}),children:[(0,t.jsx)(y.XIcon,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"SheetDescription",0,function({className:e,...r}
1){return(0,t.jsx)(x.Description,{"data-slot":"sheet-description",className:(0,f.cn)("text-muted-foreground text-xs/relaxed",e),...r})},"SheetFooter",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"sheet-footer",className:(0,f.cn)("gap-2 p-4 mt-auto flex flex-col",e),...r})},"SheetHeader",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"sheet-header",className:(0,f.cn)("gap-0.5 p-4 flex flex-col",e),...r})},"SheetTitle",0,function({className:e,...r}){return(0,t.jsx)(x.Title,{"data-slot":"sheet-title",className:(0,f.cn)("text-foreground text-sm font-medium",e),...r})},"SheetTrigger",0,function({...e}){return(0,t.jsx)(x.Trigger,{"data-slot":"sheet-trigger",...e})}],852917)},388968,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(791432),s=e.i(82061),o=e.i(352924),l=e.i(165428);let n="pmd-rfq",i={customer:"",email:"",company:"",country:"US",phone:"",projectName:"",projectPhase:"",targetProductionAt:"",remarks:"",isCallMe:!0},c=(0,r.createContext)(null);e.s(["RfqProvider",0,function({children:e}){let{isAuthenticated:d,isLoading:u}=(0,a.useAuth)(),m=(0,l.useAnalytics)(),[p,h]=(0,r.useState)("items"),[g,x]=(0,r.useState)(i),[f,j]=(0,r.useState)([]),[y,b]=(0,r.useState)(null),[v,w]=(0,r.useState)(!1);(0,r.useEffect)(()=>{try{let e=s.storage.get(n);e&&(("items"===e.step||"details"===e.step)&&e.formData&&Array.isArray(e.lineItems)?(h(e.step),x(e.formData),j(e.lineItems),b(e.rfqId)):(console.warn("Invalid RFQ state in localStorage, clearing"),s.storage.remove(n)))}catch(e){console.error("Error loading RFQ from localStorage:",e),s.storage.remove(n)}finally{w(!0)}},[]),(0,r.useEffect)(()=>{(async()=>{if(d&&v&&!u&&!g.customer&&!g.email&&!g.company&&"US"===g.country)try{let e=await (0,o.getCustomerProfileClient)();e&&x(t=>({...t,customer:e.name||t.customer,email:e.email||t.email,company:e.company||t.company,country:e.country||t.country,phone:e.phone||t.phone}))}catch(e){console.error("Error fetching customer profile for RFQ:",e)}})()},[d,v,u]),(0,r.useEffect)(()=>{v&&s.storage.set(n,{step:p,formData:g,lineItems:f,rfqId:y})},[p,g,f,y,v]),(0,r.useEffect)(()=>(0,a.onSignOut)(()=>{h("items"),x(i),j([]),b(null),s.storage.remove(n)}),[]);let k=e=>[...e].sort((e,t)=>{let r=(e.model||"").localeCompare(t.model||"");return 0!==r?r:e.quantity-t.quantity}),N=async e=>{try{let t=await fetch(`/api/products/${e}`);if(!t.ok)throw Error("Failed to fetch product");let r=await t.json(),a={productId:r.id,catalogProductId:r.id,pn:r.pn||"",name:r.name,model:r.model||"",quantity:1,remark:"",s3_key:r.s3_key||null};j(e=>k([...e,a])),m.trackRfqProductAdd(r.id,r.model)}
1catch(e){throw console.error("Error adding product to RFQ:",e),e}};return(0,t.jsx)(c.Provider,{value:{step:p,formData:g,lineItems:f,rfqId:y,isHydrated:v,setStep:e=>{h(e),p!==e&&m.trackRfqStepChange(p,e,f.length),"items"===p&&"details"===e&&f.length>0&&m.trackRfqStart()},setFormData:x,setLineItems:j,updateLineItem:(e,t)=>{j(r=>{let a=[...r],s=a[e];return a[e]={...a[e],...t},void 0!==t.quantity&&s?m.trackRfqLineItemUpdate(s.catalogProductId,"quantity"):void 0!==t.remark&&s&&m.trackRfqLineItemUpdate(s.catalogProductId,"remark"),k(a)})},removeLineItem:e=>{j(t=>{let r=t[e];return r&&m.trackRfqProductRemove(r.catalogProductId),t.filter((t,r)=>r!==e)})},addProduct:N,removeProduct:e=>{j(t=>(t.filter(t=>t.catalogProductId===e).forEach(e=>m.trackRfqProductRemove(e.catalogProductId)),t.filter(t=>t.catalogProductId!==e)))},duplicateLineItem:e=>{j(t=>{let r=t[e];if(!r)return t;let a={...r,quantity:1,remark:""};return m.trackRfqLineItemDuplicate(r.catalogProductId),k([...t,a])})},setRfqId:b,resetRfq:()=>{let e=f.length;h("items"),x(i),j([]),b(null),s.storage.remove(n),e>0&&m.trackRfqReset(e)}},children:e})},"useRfq",0,function(){let e=(0,r.useContext)(c);if(!e)throw Error("useRfq must be used within a RfqProvider");return e}])},352924,e=>{"use strict";var t=e.i(920755);async function r(){let e=(0,t.createClient)(),{data:{user:r}}=await e.auth.getUser();if(!r)return null;let{data:a,error:s}=await e.from("store_customer").select("*").eq("user_id",r.id).single();return s?(console.error("Error fetching customer profile (client):",s),null):a}e.s(["getCustomerProfileClient",0,r])},724983,e=>{"use strict";let t=(0,e.i(456420).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["default",0,t])},399847,e=>{"use strict";var t=e.i(724983);e.s(["AlertCircle",()=>t.default])},589344,e=>{"use strict";let t=(0,e.i(456420).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",0,t],589344)},569644,e=>{"use strict";let t=(0,e.i(456420).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",0,t],569644)},77071,573474,e=>{"use strict";var t=e.i(456420);let r=(0,t.default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,r],77071);let a=(0,t.default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",0,a],573474)},95187,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={callServer:function(){return o.callServer},createServerReference:function(){return n.createServerReference},findSourceMapURL:function(){return l.findSourceMapURL}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let o=e.r(132120),l=e.r(92245),n=e.r(235326)}]);
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.