1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3286],{9901:(e,t,l)=>{l.d(t,{W:()=>n});var r=l(95155);l(12115);var a=l(64269);let n=e=>{let{hasContent:t,minHeight:l,emptyMessage:n,emptyIcon:s,children:o,className:i,containerRef:d,contentWrapperClassName:c,onDoubleClick:u,onPointerDown:m,onPointerDownCapture:x,onWheelCapture:p,onDragOver:h,onDrop:f,onPointerEnter:b,onPointerLeave:g}=e;return(0,r.jsxs)("div",{ref:d,className:(0,a.cn)("border-border bg-muted/40 relative h-full w-full overflow-hidden rounded-lg border transition-[box-shadow,border-color] duration-150",t?"bg-background":"bg-muted/40",i),onDoubleClick:u,style:"number"==typeof l?{minHeight:l}:void 0,onPointerDown:m,onPointerDownCapture:x,onWheelCapture:p,onDragOver:h,onDrop:f,onPointerEnter:b,onPointerLeave:g,children:[!t&&(0,r.jsxs)("div",{className:"text-muted-foreground pointer-events-none absolute inset-0 z-10 flex flex-col items-center justify-center gap-2 text-sm",children:[s,(0,r.jsx)("span",{children:n})]}),t&&o?(0,r.jsx)("div",{className:(0,a.cn)("absolute inset-0",null!=c?c:"overflow-auto"),children:o}):null]})}},89490:(e,t,l)=>{l.d(t,{o:()=>a});var r=l(12115);let a=e=>{let{hasContent:t,enableWheelCapture:l=!1,blockBrowserZoomOnWheel:a=!1,containerRef:n,exitOnPointerLeave:s=!0,onExitInteractive:o}=e,[i,d]=r.useState(!1),[c,u]=r.useState(!1),m=r.useCallback(e=>{d(e)},[]),x=r.useCallback(e=>{d(!1),o&&o(e)},[o]),p=r.useCallback(e=>{t&&!i&&(d(!0),e.stopPropagation(),e.preventDefault())},[t,i]),h=r.useCallback(()=>{u(!0)},[]),f=r.useCallback(()=>{u(!1),s&&i&&x("pointer-leave")},[x,s,i]),b=r.useCallback(e=>{i&&e.stopPropagation()},[i]),g=r.useCallback(e=>{l&&i&&(e.stopPropagation(),a&&(e.ctrlKey||e.metaKey)&&e.preventDefault())},[a,l,i]);return r.useEffect(()=>{if(!i)return;let e=e=>{"Escape"===e.key&&x("escape")};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[x,i]),r.useEffect(()=>{if(!i||!(null==n?void 0:n.current))return;let e=e=>{let t=e.target;t&&n.current&&n.current.contains(t)||x("outside-pointer")};return document.addEventListener("pointerdown",e),()=>{document.removeEventListener("pointerdown",e)}},[n,x,i]),r.useEffect(()=>{!t&&i&&x("content-reset")},[x,t,i]),{isInteractive:i,isPreviewHovered:c,setInteractive:m,handlers:{onDoubleClick:p,onPointerDownCapture:b,onWheelCapture:l?g:void 0,onPointerEnter:h,onPointerLeave:f}}}},93286:(e,t,l)=>{l.r(t),l.d(t,{CsvNode:()=>_,default:()=>S});var r=l(95155),a=l(12115),n=l(30563),s=l(92273),o=l(22539),i=l(85710),d=l(15530),c=l(15655),u=l(86681),m=l(57526),x=l(6259),p=l(65142),h=l(53643),f=l(64269);let b=a.forwardRef((e,t)=>{let{className:l,...a}=e;return(0,r.jsx)("div",{className:"relative w-full overflow-auto",children:(0,r.jsx)("table",{ref:t,className:(0,f.cn)("w-full caption-bottom text-sm",l),...a})})});b.displayName="Table";let g=a.forwardRef((e,t)=>{let{className:l,...a}=e;return(0,r.jsx)("thead",{ref:t,className:(0,f.cn)("[&_tr]:border-b",l),...a})});g.displayName="TableHeader";let v=a.forwardRef((e,t)=>{let{className:l,...a}=e;return(0,r.jsx)("tbody",{ref:t,className:(0,f.cn)("[&_tr:last-child]:border-0",l),...a})});v.displayName="TableBody",a.forwardRef((e,t)=>{let{className:l,...a}=e;return(0,r.jsx)("tfoot",{ref:t,className:(0,f.cn)("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",l),...a})}).displayName="TableFooter";let w=a.forwardRef((e,t)=>{let{className:l,...a}=e;return(0,r.jsx)("tr",{ref:t,className:(0,f.cn)("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors last:border-0",l),...a})});w.displayName="TableRow";let N=a.forwardRef((e,t)=>{let{className:l,...a}=e;return(0,r.jsx)("th",{ref:t,className:(0,f.cn)("text-muted-foreground h-10 px-4 text-left align-middle text-xs font-medium [&:has([role=checkbox])]:pr-0",l),...a})});N.displayName="TableHead";let j=a.forwardRef((e,t)=>{let{className:l,...a}=e;return(0,r.jsx)("td",{ref:t,className:(0,f.cn)("h-9 px-4 align-middle text-xs [&:has([role=checkbox])]:pr-0",l),...a})});j.displayName="TableCell",a.forwardRef((e,t)=>{let{className:l,...a}=e;return(0,r.jsx)("caption",{ref:t,className:(0,f.cn)("text-muted-foreground mt-4 text-sm",l),...a})}).displayName="TableCaption";var C=l(9901),y=l(89490),k=l(42861),P=l(48561),E=l(66333),D=l(93669),R=l(19552);let T=(e,t)=>
1{let l=[],r="",a=!1;for(let n=0;n<e.length;n+=1){let s=e[n];if('"'===s){let t=e[n+1];a&&'"'===t?(r+='"',n+=1):a=!a}else s!==t||a?r+=s:(l.push(r),r="")}return l.push(r),l},_=(0,a.memo)(e=>{let{id:t,data:l,selected:f,isConnectable:_}=e,S=R.f.csvNode,{setNodes:M}=(0,o.VH)(),V=(0,o.PF)();(0,D.U)(t);let L=(0,a.useMemo)(()=>{var e;return(e=>{if(!e.trim())return[];let t=e.split(/\r?\n/).filter(e=>e.trim().length>0);if(0===t.length)return[];let l=t[0],r=T(l,","),a=T(l,";"),n=",";a.length>r.length&&a.length>1&&(n=";");let s=[];for(let e of t)s.push(T(e,n));return s})((null!=(e=l.csvText)?e:"").toString())},[l.csvText]),W=(0,a.useMemo)(()=>{var e;return 0===L.length?[]:null!=(e=L[0])?e:[]},[L]),F=(0,a.useMemo)(()=>L.length>1?L.slice(1):[],[L]),A=W.length>0,H=(0,a.useMemo)(()=>A?W.map((e,t)=>((null!=e?e:"").toString().trim()||"Column ".concat(t+1)).toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"column_".concat(t+1)):[],[W,A]),z=(0,a.useMemo)(()=>A&&0!==H.length?F.map(e=>{let t={};return H.forEach((l,r)=>{var a;t[l]=null!=(a=e[r])?a:""}),t}):[],[F,H,A]),I=(0,a.useMemo)(()=>0===H.length?[]:H.map((e,t)=>{var l;return{accessorKey:e,header:(null!=(l=W[t])?l:"").toString().trim()||"Column ".concat(t+1),cell:t=>{let{row:l}=t,a=l.getValue(e);return(0,r.jsx)("span",{className:"text-xs break-words whitespace-pre-wrap",children:a})}}}),[H,W]),K=(0,n.N4)({data:z,columns:I,getCoreRowModel:(0,s.HT)()}),B=async e=>{var r;let a=null==(r=e.target.files)?void 0:r[0];if(!a)return;let n=await a.text();M(e=>e.map(e=>e.id===t?{...e,data:{...l,csvText:n,fileName:a.name}}:e))},U=a.useCallback(()=>{M(e=>e.map(e=>e.id===t?{...e,data:{...l,csvText:"",fileName:void 0}}:e))},[t,l,M]),q=A&&z.length>0&&I.length>0,{isInteractive:O,isPreviewHovered:G,handlers:{onDoubleClick:Y,onPointerDownCapture:Z,onWheelCapture:$,onPointerEnter:J,onPointerLeave:Q}}=(0,y.o)({hasContent:q,enableWheelCapture:!0,blockBrowserZoomOnWheel:!0,onExitInteractive:e=>{(0,E.A2)(e)&&M(e=>(0,E.l0)(e,t))}}),X=a.useMemo(()=>A?f&&!O?"border-border":O?"border-primary":G?"border-primary/60":"border-border/70":"border-dashed border-muted-foreground/40",[A,O,G,f]);return(0,r.jsxs)(c.Y,{selected:f,className:"flex h-full min-w-[400px] flex-col p-0",children:[(0,r.jsx)(o.PN,{isVisible:f&&!O,minWidth:400,minHeight:400,lineStyle:{borderColor:"#94a3b8"},handleStyle:{width:16,height:16,borderRadius:4,background:"rgba(59, 130, 246, 0.35)",backdropFilter:"blur(2px)",WebkitBackdropFilter:"blur(2px)",border:"2px solid #3b82f6",zIndex:50},onResizeEnd:()=>{requestAnimationFrame(()=>{try{V(t)}catch(e){}})}}),P.r_.map(e=>(0,r.jsx)(h.o,{side:e,nodeId:t,nodeType:"csvNode",nodeData:l,isConnectable:_},e)),(0,r.jsxs)(k.V,{className:"p-0",children:[(0,r.jsxs)(u._M,{className:"px-3.5 pt-3.5 pb-2",children:[(0,r.jsx)(u.hU,{children:(0,r.jsx)(i.A,{className:"h-5 w-5 text-gray-600"})}),(0,r.jsxs)("div",{className:"flex flex-col",children:[(0,r.jsx)(u.yl,{children:S.title}),S.subtitle?(0,r.jsx)("p",{className:"text-sm text-gray-500",children:S.subtitle}):null]}),(0,r.jsxs)(u.vo,{children:[(0,r.jsxs)(m.hd,{label:"CSV options",children:[(0,r.jsx)(x.lp,{variant:"section",children:"CSV Actions"}),(0,r.jsx)(x._2,{onClick:U,children:"Reset CSV"}),(0,r.jsx)(x._2,{disabled:!0,children:"Download (coming soon)"})]}),(0,r.jsx)(m.P0,{tooltip:"Delete node"})]})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-2 px-3.5",children:[(0,r.jsx)(p.p,{id:"csv-file-".concat(t),type:"file",accept:".csv,text/csv",onChange:B,className:"max-w-sm"}),l.fileName?(0,r.jsxs)("p",{className:"text-xs text-gray-500",children:["Loaded ",(0,r.jsx)("span",{className:"font-medium",children:l.fileName})," ",A?"(".concat(L.length," row").concat(1===L.length?"":"s",")"):"(no rows parsed)"]}):(0,r.jsx)("p",{className:"text-xs text-gray-500",children:"Choose a CSV file to preview its contents in the table below."})]}),(0,r.jsx)("div",{className:"flex min-h-0 flex-grow flex-col px-3.5 pb-3.5",children:(0,r.jsx)(C.W,{hasContent:q,minHeight:200,emptyMessage:"CSV preview will appear here after you upload a file.",emptyIcon:(0,r.jsx)(d.A,{className:"text-muted-foreground
1/80 h-5 w-5"}),className:X,onDoubleClick:Y,onPointerDownCapture:Z,onWheelCapture:$,onPointerEnter:J,onPointerLeave:Q,children:A&&z.length>0&&I.length>0?(0,r.jsxs)(b,{className:"min-w-full text-xs",children:[(0,r.jsx)(g,{className:"bg-muted sticky top-0 z-10",children:K.getHeaderGroups().map(e=>(0,r.jsx)(w,{children:e.headers.map(e=>(0,r.jsx)(N,{children:e.isPlaceholder?null:(0,n.Kv)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,r.jsx)(v,{children:K.getRowModel().rows.map(e=>(0,r.jsx)(w,{"data-state":e.getIsSelected(),children:e.getVisibleCells().map(e=>(0,r.jsx)(j,{children:(0,n.Kv)(e.column.columnDef.cell,e.getContext())},e.id))},e.id))})]}):null})})]})]})});_.displayName="CsvNode";let S=_},93669:(e,t,l)=>{l.d(t,{U:()=>n});var r=l(12115),a=l(22539);let n=e=>{let t=(0,a.PF)();(0,r.useEffect)(()=>{let l=requestAnimationFrame(()=>{try{t(e)}catch(e){}});return()=>cancelAnimationFrame(l)},[e,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.