@prisma/studio-core 0.0.0-dev.202503271920 → 0.0.0-dev.202503272001
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -664,15 +664,9 @@ video {
|
|
|
664
664
|
.ps-ml-auto {
|
|
665
665
|
margin-left: auto;
|
|
666
666
|
}
|
|
667
|
-
.ps-mt-24 {
|
|
668
|
-
margin-top: 6rem;
|
|
669
|
-
}
|
|
670
667
|
.ps-mt-4 {
|
|
671
668
|
margin-top: 1rem;
|
|
672
669
|
}
|
|
673
|
-
.ps-mt-auto {
|
|
674
|
-
margin-top: auto;
|
|
675
|
-
}
|
|
676
670
|
.ps-block {
|
|
677
671
|
display: block;
|
|
678
672
|
}
|
|
@@ -721,9 +715,6 @@ video {
|
|
|
721
715
|
.ps-h-\[var\(--radix-select-trigger-height\)\] {
|
|
722
716
|
height: var(--radix-select-trigger-height);
|
|
723
717
|
}
|
|
724
|
-
.ps-h-auto {
|
|
725
|
-
height: auto;
|
|
726
|
-
}
|
|
727
718
|
.ps-h-full {
|
|
728
719
|
height: 100%;
|
|
729
720
|
}
|
|
@@ -772,9 +763,6 @@ video {
|
|
|
772
763
|
.ps-w-\[1\.2rem\] {
|
|
773
764
|
width: 1.2rem;
|
|
774
765
|
}
|
|
775
|
-
.ps-w-\[100px\] {
|
|
776
|
-
width: 100px;
|
|
777
|
-
}
|
|
778
766
|
.ps-w-full {
|
|
779
767
|
width: 100%;
|
|
780
768
|
}
|
|
@@ -887,9 +875,6 @@ video {
|
|
|
887
875
|
.ps-gap-1 {
|
|
888
876
|
gap: 0.25rem;
|
|
889
877
|
}
|
|
890
|
-
.ps-gap-1\.5 {
|
|
891
|
-
gap: 0.375rem;
|
|
892
|
-
}
|
|
893
878
|
.ps-gap-2 {
|
|
894
879
|
gap: 0.5rem;
|
|
895
880
|
}
|
|
@@ -938,9 +923,6 @@ video {
|
|
|
938
923
|
.ps-rounded {
|
|
939
924
|
border-radius: 0.25rem;
|
|
940
925
|
}
|
|
941
|
-
.ps-rounded-full {
|
|
942
|
-
border-radius: 9999px;
|
|
943
|
-
}
|
|
944
926
|
.ps-rounded-lg {
|
|
945
927
|
border-radius: var(--radius);
|
|
946
928
|
}
|
|
@@ -953,10 +935,6 @@ video {
|
|
|
953
935
|
.ps-rounded-sm {
|
|
954
936
|
border-radius: calc(var(--radius) - 4px);
|
|
955
937
|
}
|
|
956
|
-
.ps-rounded-t-\[10px\] {
|
|
957
|
-
border-top-left-radius: 10px;
|
|
958
|
-
border-top-right-radius: 10px;
|
|
959
|
-
}
|
|
960
938
|
.ps-border {
|
|
961
939
|
border-width: 1px;
|
|
962
940
|
}
|
package/dist/ui/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var Na=Object.create;var ye=Object.defineProperty;var Ea=Object.getOwnPropertyDescriptor;var Ga=Object.getOwnPropertyNames;var za=Object.getPrototypeOf,Va=Object.prototype.hasOwnProperty;var Wa=(e,a)=>{for(var t in a)ye(e,t,{get:a[t],enumerable:!0})},je=(e,a,t,o)=>{if(a&&typeof a=="object"||typeof a=="function")for(let u of Ga(a))!Va.call(e,u)&&u!==t&&ye(e,u,{get:()=>a[u],enumerable:!(o=Ea(a,u))||o.enumerable});return e};var A=(e,a,t)=>(t=e!=null?Na(za(e)):{},je(a||!e||!e.__esModule?ye(t,"default",{value:e,enumerable:!0}):t,e)),Xa=e=>je(ye({},"__esModule",{value:!0}),e);var St={};Wa(St,{Studio:()=>_e});module.exports=Xa(St);var Au=require("../index-HDG3ED52.css");var v=A(require("react"),1);var N=require("react"),W=require("@tanstack/react-table"),ae=require("@dnd-kit/core"),ie=require("@dnd-kit/sortable"),Da=require("@dnd-kit/utilities");var X=A(require("react"),1);var $e=require("clsx"),Ye=require("tailwind-merge");function l(...e){return(0,Ye.twMerge)((0,$e.clsx)(e))}var z=require("react/jsx-runtime"),qe=X.forwardRef(({className:e,...a},t)=>(0,z.jsx)("div",{className:"ps-relative ps-w-full ps-overflow-auto ps-flex ps-items-start ps-h-full",children:(0,z.jsx)("table",{ref:t,className:l("ps-w-full ps-caption-bottom ps-text-sm table-fixed",e),...a})}));qe.displayName="Table";var Ue=X.forwardRef(({className:e,...a},t)=>(0,z.jsx)("thead",{ref:t,className:l("[&_tr]:ps-border-b",e),...a}));Ue.displayName="TableHeader";var He=X.forwardRef(({className:e,...a},t)=>(0,z.jsx)("tbody",{ref:t,className:l("[&_tr:last-child]:ps-border-0",e),...a}));He.displayName="TableBody";var Ka=X.forwardRef(({className:e,...a},t)=>(0,z.jsx)("tfoot",{ref:t,className:l("ps-border-t ps-bg-muted/50 ps-font-medium [&>tr]:last:ps-border-b-0",e),...a}));Ka.displayName="TableFooter";var ce=X.forwardRef(({className:e,...a},t)=>(0,z.jsx)("tr",{ref:t,className:l("ps-border-b ps-transition-colors hover:ps-bg-muted/50 data-[state=selected]:ps-bg-muted",e),...a}));ce.displayName="TableRow";var De=X.forwardRef(({className:e,...a},t)=>(0,z.jsx)("th",{ref:t,className:l("ps-h-10 ps-px-2 ps-text-left ps-align-middle ps-font-medium ps-text-muted-foreground [&:has([role=checkbox])]:ps-pr-0 [&>[role=checkbox]]:ps-translate-y-[2px]",e),...a}));De.displayName="TableHead";var pe=X.forwardRef(({className:e,...a},t)=>(0,z.jsx)("td",{ref:t,className:l("ps-p-2 ps-align-middle [&:has([role=checkbox])]:ps-pr-0 [&>[role=checkbox]]:ps-translate-y-[2px]",e),...a}));pe.displayName="TableCell";var Za=X.forwardRef(({className:e,...a},t)=>(0,z.jsx)("caption",{ref:t,className:l("ps-mt-4 ps-text-sm ps-text-muted-foreground",e),...a}));Za.displayName="TableCaption";var ea=A(require("react"),1),aa=require("@radix-ui/react-slot"),ta=require("class-variance-authority");var oa=require("react/jsx-runtime"),Ja=(0,ta.cva)("ps-inline-flex ps-items-center ps-justify-center ps-gap-2 ps-whitespace-nowrap ps-rounded-md ps-text-sm ps-font-medium ps-transition-colors focus-visible:ps-outline-none focus-visible:ps-ring-1 focus-visible:ps-ring-ring disabled:ps-pointer-events-none disabled:ps-opacity-50 [&_svg]:ps-pointer-events-none [&_svg]:ps-size-4 [&_svg]:ps-shrink-0",{variants:{variant:{default:"ps-bg-primary ps-text-primary-foreground ps-shadow hover:ps-bg-primary/90",destructive:"ps-bg-destructive ps-text-destructive-foreground ps-shadow-sm hover:ps-bg-destructive/90",outline:"ps-border ps-border-input ps-bg-background ps-shadow-sm hover:ps-bg-accent hover:ps-text-accent-foreground",secondary:"ps-bg-secondary ps-text-secondary-foreground ps-shadow-sm hover:ps-bg-secondary/80",ghost:"hover:ps-bg-accent hover:ps-text-accent-foreground",link:"ps-text-primary ps-underline-offset-4 hover:ps-underline"},size:{default:"ps-h-9 ps-px-4 ps-py-2",sm:"ps-h-8 ps-rounded-md ps-px-3 ps-text-xs",lg:"ps-h-10 ps-rounded-md ps-px-8",icon:"ps-h-9 ps-w-9"}},defaultVariants:{variant:"default",size:"default"}}),V=ea.forwardRef(({className:e,variant:a,size:t,asChild:o=!1,...u},L)=>(0,oa.jsx)(o?aa.Slot:"button",{className:l(Ja({variant:a,size:t,className:e})),ref:L,...u}));V.displayName="Button";var la=A(require("react"),1);var ua=require("react/jsx-runtime"),Oe=la.forwardRef(({className:e,type:a,...t},o)=>(0,ua.jsx)("input",{type:a,className:l("ps-flex ps-h-9 ps-w-full ps-rounded-md ps-border ps-border-input ps-bg-transparent ps-px-3 ps-py-1 ps-text-base ps-shadow-sm ps-transition-colors file:ps-border-0 file:ps-bg-transparent file:ps-text-sm file:ps-font-medium file:ps-text-foreground placeholder:ps-text-muted-foreground focus-visible:ps-outline-none focus-visible:ps-ring-1 focus-visible:ps-ring-ring disabled:ps-cursor-not-allowed disabled:ps-opacity-50 md:ps-text-sm",e),ref:o,...t}));Oe.displayName="Input";var ee=A(require("react"),1),i=A(require("@radix-ui/react-select"),1);var Ae=require("react");var da=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Te=(...e)=>e.filter((a,t,o)=>!!a&&o.indexOf(a)===t).join(" ");var me=require("react");var sa={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var ra=(0,me.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:u="",children:L,iconNode:r,...f},C)=>(0,me.createElement)("svg",{ref:C,...sa,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:Te("lucide",u),...f},[...r.map(([S,b])=>(0,me.createElement)(S,b)),...Array.isArray(L)?L:[L]]));var m=(e,a)=>{let t=(0,Ae.forwardRef)(({className:o,...u},L)=>(0,Ae.createElement)(ra,{ref:L,iconNode:a,className:Te(`lucide-${da(e)}`,o),...u}));return t.displayName=`${e}`,t};var $=m("ArrowDownWideNarrow",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"M11 4h10",key:"1w87gc"}],["path",{d:"M11 8h7",key:"djye34"}],["path",{d:"M11 12h4",key:"q8tih4"}]]);var Le=m("ArrowUpWideNarrow",[["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}],["path",{d:"M11 12h10",key:"1438ji"}],["path",{d:"M11 16h7",key:"uosisv"}],["path",{d:"M11 20h4",key:"1krc32"}]]);var K=m("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);var se=m("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);var xe=m("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var Z=m("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var Ie=m("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);var Ce=m("ChevronsLeft",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]);var ge=m("ChevronsRight",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);var te=m("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var he=m("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"}]]);var Y=m("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);var Se=m("Link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);var Pe=m("PinOff",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);var we=m("Pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);var ke=m("Star",[["polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",key:"8f66p6"}]]);var h=require("react/jsx-runtime"),fa=i.Root;var ia=i.Value,Ne=ee.forwardRef(({className:e,children:a,...t},o)=>(0,h.jsxs)(i.Trigger,{ref:o,className:l("ps-flex ps-h-9 ps-w-full ps-items-center ps-justify-between ps-whitespace-nowrap ps-rounded-md ps-border ps-border-input ps-bg-transparent ps-px-3 ps-py-2 ps-text-sm ps-shadow-sm ps-ring-offset-background data-[placeholder]:ps-text-muted-foreground focus:ps-outline-none focus:ps-ring-1 focus:ps-ring-ring disabled:ps-cursor-not-allowed disabled:ps-opacity-50 [&>span]:ps-line-clamp-1",e),...t,children:[a,(0,h.jsx)(i.Icon,{asChild:!0,children:(0,h.jsx)(se,{className:"ps-h-4 ps-w-4 ps-opacity-50"})})]}));Ne.displayName=i.Trigger.displayName;var na=ee.forwardRef(({className:e,...a},t)=>(0,h.jsx)(i.ScrollUpButton,{ref:t,className:l("ps-flex ps-cursor-default ps-items-center ps-justify-center ps-py-1",e),...a,children:(0,h.jsx)(Ie,{className:"ps-h-4 ps-w-4"})}));na.displayName=i.ScrollUpButton.displayName;var ca=ee.forwardRef(({className:e,...a},t)=>(0,h.jsx)(i.ScrollDownButton,{ref:t,className:l("ps-flex ps-cursor-default ps-items-center ps-justify-center ps-py-1",e),...a,children:(0,h.jsx)(se,{className:"ps-h-4 ps-w-4"})}));ca.displayName=i.ScrollDownButton.displayName;var Ee=ee.forwardRef(({className:e,children:a,position:t="popper",...o},u)=>(0,h.jsx)(i.Portal,{children:(0,h.jsxs)(i.Content,{ref:u,className:l("ps-relative ps-z-50 ps-max-h-[--radix-select-content-available-height] ps-min-w-[8rem] ps-overflow-y-auto ps-overflow-x-hidden ps-rounded-md ps-border ps-bg-popover ps-text-popover-foreground ps-shadow-md data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-select-content-transform-origin]",t==="popper"&&"data-[side=bottom]:ps-translate-y-1 data-[side=left]:ps--translate-x-1 data-[side=right]:ps-translate-x-1 data-[side=top]:ps--translate-y-1",e),position:t,...o,children:[(0,h.jsx)(na,{}),(0,h.jsx)(i.Viewport,{className:l("ps-p-1",t==="popper"&&"ps-h-[var(--radix-select-trigger-height)] ps-w-full ps-min-w-[var(--radix-select-trigger-width)]"),children:a}),(0,h.jsx)(ca,{})]})}));Ee.displayName=i.Content.displayName;var Qa=ee.forwardRef(({className:e,...a},t)=>(0,h.jsx)(i.Label,{ref:t,className:l("ps-px-2 ps-py-1.5 ps-text-sm ps-font-semibold",e),...a}));Qa.displayName=i.Label.displayName;var Ge=ee.forwardRef(({className:e,children:a,...t},o)=>(0,h.jsxs)(i.Item,{ref:o,className:l("ps-relative ps-flex ps-w-full ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-2 ps-pr-8 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),...t,children:[(0,h.jsx)("span",{className:"ps-absolute ps-right-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:(0,h.jsx)(i.ItemIndicator,{children:(0,h.jsx)(K,{className:"ps-h-4 ps-w-4"})})}),(0,h.jsx)(i.ItemText,{children:a})]}));Ge.displayName=i.Item.displayName;var _a=ee.forwardRef(({className:e,...a},t)=>(0,h.jsx)(i.Separator,{ref:t,className:l("ps--mx-1 ps-my-1 ps-h-px ps-bg-muted",e),...a}));_a.displayName=i.Separator.displayName;var x=require("react/jsx-runtime"),ja=[10,20,50,100];function pa({table:e,variant:a="basic",className:t}){let{pageSize:o,pageIndex:u}=e.getState().pagination,L=e.getPageCount();return(0,x.jsx)("div",{className:l("ps-flex ps-items-center ps-justify-between ps-space-x-2 ps-py-4 ps-px-4",t),children:a==="basic"?(0,x.jsxs)("div",{className:"ps-flex ps-items-center ps-space-x-2",children:[(0,x.jsx)(V,{variant:"outline",size:"sm",className:"ps-h-9",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),children:"Previous"}),(0,x.jsx)(V,{variant:"outline",size:"sm",className:"ps-h-9",onClick:()=>e.nextPage(),disabled:!e.getCanNextPage(),children:"Next"})]}):(0,x.jsxs)("div",{className:"ps-flex ps-items-center ps-space-x-2",children:[(0,x.jsxs)("div",{className:"ps-flex ps-items-center ps-space-x-2",children:[(0,x.jsx)(V,{variant:"outline",onClick:()=>e.setPageIndex(0),disabled:!e.getCanPreviousPage(),children:(0,x.jsx)(Ce,{className:"ps-w-4 ps-h-4"})}),(0,x.jsx)(V,{variant:"outline",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),children:(0,x.jsx)(xe,{className:"ps-w-4 ps-h-4"})}),(0,x.jsxs)("div",{className:"ps-flex ps-items-center ps-gap-1 ps-text-xs ps-font-medium",children:["Page",(0,x.jsx)(Oe,{type:"number",min:1,max:L,value:u+1,className:"ps-w-12",onChange:r=>{let f=r.target.value?Number(r.target.value)-1:0;e.setPageIndex(f)}}),(0,x.jsxs)("span",{className:"ps-shrink-0 ps-w-max",children:["of ",L]})]}),(0,x.jsx)(V,{variant:"outline",onClick:()=>e.nextPage(),disabled:!e.getCanNextPage(),children:(0,x.jsx)(Z,{className:"ps-w-4 ps-h-4"})}),(0,x.jsx)(V,{variant:"outline",onClick:()=>e.setPageIndex(L-1),disabled:!e.getCanNextPage(),children:(0,x.jsx)(ge,{className:"ps-w-4 ps-h-4"})})]}),(0,x.jsxs)(fa,{value:o.toString(),onValueChange:r=>e.setPageSize(Number(r)),children:[(0,x.jsx)(Ne,{children:(0,x.jsx)(ia,{})}),(0,x.jsx)(Ee,{children:ja.map(r=>(0,x.jsxs)(Ge,{value:r.toString(),children:[r," per page"]},r))})]})]})})}var y=A(require("react"),1),J=A(require("@radix-ui/react-popover"),1);var re=require("react/jsx-runtime"),ma=y.createContext(null),ze=({children:e,...a})=>{let[t,o]=y.useState(!1);return(0,re.jsx)(ma.Provider,{value:{open:t,setOpen:o},children:(0,re.jsx)(J.Root,{open:t,onOpenChange:o,...a,children:e})})};ze.displayName="PopoverCell";var Ve=y.forwardRef(({children:e,onDoubleClick:a,className:t,...o},u)=>{let L=y.useContext(ma),[r,f]=y.useState(!1),C=y.useRef(null);return y.useEffect(()=>{let R=ne=>{let O=ne.target;C.current&&!C.current.contains(O)&&(console.log("Outside click - removing focus"),f(!1))};return document.addEventListener("click",R),()=>document.removeEventListener("click",R)},[]),(0,re.jsx)(J.Trigger,{ref:R=>{typeof u=="function"?u(R):u&&(u.current=R),C.current=R},onClick:R=>{R.preventDefault(),console.log("Click handler - setting focus to true"),f(!0)},onDoubleClick:R=>{R.preventDefault(),L?.setOpen(!0),a?.()},"data-focus":r.toString(),className:l("w-full h-full cursor-pointer",t),...o,children:e})});Ve.displayName="PopoverCellTrigger";var We=y.forwardRef(({className:e,align:a="center",sideOffset:t=4,...o},u)=>(0,re.jsx)(J.Portal,{children:(0,re.jsx)(J.Content,{ref:u,align:a,sideOffset:t,className:l("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...o})}));We.displayName=J.Content.displayName;var Sa=require("@uiw/codemirror-theme-tokyo-night"),Pa=A(require("@uiw/react-codemirror"),1);var xa=require("react/jsx-runtime");function La(){return(0,xa.jsx)("code",{className:"ps-text-gray-500",children:"NULL"})}var ga=require("react");var Q=A(require("react"),1),n=A(require("@radix-ui/react-context-menu"),1);var w=require("react/jsx-runtime"),Ia=n.Root,Ca=n.Trigger;var $a=Q.forwardRef(({className:e,inset:a,children:t,...o},u)=>(0,w.jsxs)(n.SubTrigger,{ref:u,className:l("ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-px-2 ps-py-1.5 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[state=open]:ps-bg-accent data-[state=open]:ps-text-accent-foreground",a&&"ps-pl-8",e),...o,children:[t,(0,w.jsx)(Z,{className:"ps-ml-auto ps-h-4 ps-w-4"})]}));$a.displayName=n.SubTrigger.displayName;var Ya=Q.forwardRef(({className:e,...a},t)=>(0,w.jsx)(n.SubContent,{ref:t,className:l("ps-z-50 ps-min-w-[8rem] ps-overflow-hidden ps-rounded-md ps-border ps-bg-popover ps-p-1 ps-text-popover-foreground ps-shadow-lg data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-context-menu-content-transform-origin]",e),...a}));Ya.displayName=n.SubContent.displayName;var Xe=Q.forwardRef(({className:e,...a},t)=>(0,w.jsx)(n.Portal,{children:(0,w.jsx)(n.Content,{ref:t,className:l("ps-z-50 ps-max-h-[--radix-context-menu-content-available-height] ps-min-w-[8rem] ps-overflow-y-auto ps-overflow-x-hidden ps-rounded-md ps-border ps-bg-popover ps-p-1 ps-text-popover-foreground ps-shadow-md data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-context-menu-content-transform-origin]",e),...a})}));Xe.displayName=n.Content.displayName;var Ke=Q.forwardRef(({className:e,inset:a,...t},o)=>(0,w.jsx)(n.Item,{ref:o,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-px-2 ps-py-1.5 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",a&&"ps-pl-8",e),...t}));Ke.displayName=n.Item.displayName;var et=Q.forwardRef(({className:e,children:a,checked:t,...o},u)=>(0,w.jsxs)(n.CheckboxItem,{ref:u,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-8 ps-pr-2 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),checked:t,...o,children:[(0,w.jsx)("span",{className:"ps-absolute ps-left-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:(0,w.jsx)(n.ItemIndicator,{children:(0,w.jsx)(K,{className:"ps-h-4 ps-w-4"})})}),a]}));et.displayName=n.CheckboxItem.displayName;var at=Q.forwardRef(({className:e,children:a,...t},o)=>(0,w.jsxs)(n.RadioItem,{ref:o,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-8 ps-pr-2 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),...t,children:[(0,w.jsx)("span",{className:"ps-absolute ps-left-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:(0,w.jsx)(n.ItemIndicator,{children:(0,w.jsx)(te,{className:"ps-h-4 ps-w-4 ps-fill-current"})})}),a]}));at.displayName=n.RadioItem.displayName;var tt=Q.forwardRef(({className:e,inset:a,...t},o)=>(0,w.jsx)(n.Label,{ref:o,className:l("ps-px-2 ps-py-1.5 ps-text-sm ps-font-semibold ps-text-foreground",a&&"ps-pl-8",e),...t}));tt.displayName=n.Label.displayName;var ot=Q.forwardRef(({className:e,...a},t)=>(0,w.jsx)(n.Separator,{ref:t,className:l("ps--mx-1 ps-my-1 ps-h-px ps-bg-border",e),...a}));ot.displayName=n.Separator.displayName;var lt=({className:e,...a})=>(0,w.jsx)("span",{className:l("ps-ml-auto ps-text-xs ps-tracking-widest ps-text-muted-foreground",e),...a});lt.displayName="ContextMenuShortcut";var oe=require("react/jsx-runtime"),Ze=e=>{if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return String(e);if(e==null)return"";if((0,ga.isValidElement)(e)){let a=e.props;return e.type&&typeof e.type=="function"&&e.type.name==="RevealText"?a.text||"":e.type&&typeof e.type=="function"&&e.type.name==="NullValue"?"NULL":a.children?Ze(a.children):""}return Array.isArray(e)?e.map(Ze).join(""):""},ha=({children:e})=>(0,oe.jsxs)(Ia,{children:[(0,oe.jsx)(Ca,{className:"ps-block ps-w-full ps-p-[var(--studio-cell-spacing)]",children:e}),(0,oe.jsx)(Xe,{children:(0,oe.jsxs)(Ke,{onClick:()=>{let a=Ze(e);navigator.clipboard.writeText(a)},className:"ps-flex ps-items-center ps-gap-2",children:[(0,oe.jsx)(he,{size:12}),"Copy"]})})]});var _=require("react/jsx-runtime");function wa({cell:e,getPinningStyles:a,dataType:t,isRelational:o,relatesTo:u,relationField:L}){let r=e.getValue(),f=r==null,C=S=>{if(S==null)return"NULL";if(typeof S=="object")try{return JSON.stringify(S,null,2)}catch(b){return console.error("Error stringifying value:",b),String(S)}return String(S)};return(0,_.jsxs)(ze,{children:[(0,_.jsx)(Ve,{asChild:!0,children:(0,_.jsx)(pe,{...a(e.column),"data-cell-type":"data","data-type":t.toLowerCase(),"data-relational":o?"true":void 0,"data-relates-to":u,"data-relation-field":L,className:l(a(e.column).className,"ps-p-0",e.column.getIsPinned()&&"ps-sticky"),children:(0,_.jsx)(ha,{children:f?(0,_.jsx)(La,{}):C(r)})})}),(0,_.jsx)(We,{align:"start",alignOffset:0,sideOffset:0,className:"ps-min-w-(--radix-popover-trigger-width) ps-rounded-none ps-bg-muted ps-p-0",children:(0,_.jsx)(Pa.default,{value:C(r),theme:Sa.tokyoNight,height:"100px",basicSetup:{lineNumbers:!0,foldGutter:!1,dropCursor:!1,allowMultipleSelections:!1,indentOnInput:!1},onChange:S=>{console.log("New value:",S)}})})]},e.id)}var ba=require("react/jsx-runtime");function ka({cell:e,getPinningStyles:a,dataType:t}){let o={cell:e,getPinningStyles:a},u=e.column.columnDef.meta,L={...o,isRelational:u?.isRelational,relatesTo:u?.relatesTo,relationField:u?.relationField};return(0,ba.jsx)(wa,{...L,dataType:t||"STRING"})}var va=require("@tanstack/react-table");var j=A(require("react"),1),c=A(require("@radix-ui/react-dropdown-menu"),1);var k=require("react/jsx-runtime"),Ra=c.Root,Ma=c.Trigger;var ut=j.forwardRef(({className:e,inset:a,children:t,...o},u)=>(0,k.jsxs)(c.SubTrigger,{ref:u,className:l("ps-flex ps-cursor-default ps-select-none ps-items-center ps-gap-2 ps-rounded-sm ps-px-2 ps-py-1.5 ps-text-sm ps-outline-none focus:ps-bg-accent data-[state=open]:ps-bg-accent [&_svg]:ps-pointer-events-none [&_svg]:ps-size-4 [&_svg]:ps-shrink-0",a&&"ps-pl-8",e),...o,children:[t,(0,k.jsx)(Z,{className:"ps-ml-auto"})]}));ut.displayName=c.SubTrigger.displayName;var dt=j.forwardRef(({className:e,...a},t)=>(0,k.jsx)(c.SubContent,{ref:t,className:l("ps-z-50 ps-min-w-[8rem] ps-overflow-hidden ps-rounded-md ps-border ps-bg-popover ps-p-1 ps-text-popover-foreground ps-shadow-lg data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-dropdown-menu-content-transform-origin]",e),...a}));dt.displayName=c.SubContent.displayName;var Je=j.forwardRef(({className:e,sideOffset:a=4,...t},o)=>(0,k.jsx)(c.Portal,{children:(0,k.jsx)(c.Content,{ref:o,sideOffset:a,className:l("ps-z-50 ps-max-h-[var(--radix-dropdown-menu-content-available-height)] ps-min-w-[8rem] ps-overflow-y-auto ps-overflow-x-hidden ps-rounded-md ps-border ps-bg-popover ps-p-1 ps-text-popover-foreground ps-shadow-md","data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-dropdown-menu-content-transform-origin]",e),...t})}));Je.displayName=c.Content.displayName;var Be=j.forwardRef(({className:e,inset:a,...t},o)=>(0,k.jsx)(c.Item,{ref:o,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-gap-2 ps-rounded-sm ps-px-2 ps-py-1.5 ps-text-sm ps-outline-none ps-transition-colors focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50 [&>svg]:ps-size-4 [&>svg]:ps-shrink-0",a&&"ps-pl-8",e),...t}));Be.displayName=c.Item.displayName;var st=j.forwardRef(({className:e,children:a,checked:t,...o},u)=>(0,k.jsxs)(c.CheckboxItem,{ref:u,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-8 ps-pr-2 ps-text-sm ps-outline-none ps-transition-colors focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),checked:t,...o,children:[(0,k.jsx)("span",{className:"ps-absolute ps-left-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:(0,k.jsx)(c.ItemIndicator,{children:(0,k.jsx)(K,{className:"ps-h-4 ps-w-4"})})}),a]}));st.displayName=c.CheckboxItem.displayName;var rt=j.forwardRef(({className:e,children:a,...t},o)=>(0,k.jsxs)(c.RadioItem,{ref:o,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-8 ps-pr-2 ps-text-sm ps-outline-none ps-transition-colors focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),...t,children:[(0,k.jsx)("span",{className:"ps-absolute ps-left-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:(0,k.jsx)(c.ItemIndicator,{children:(0,k.jsx)(te,{className:"ps-h-2 ps-w-2 ps-fill-current"})})}),a]}));rt.displayName=c.RadioItem.displayName;var ft=j.forwardRef(({className:e,inset:a,...t},o)=>(0,k.jsx)(c.Label,{ref:o,className:l("ps-px-2 ps-py-1.5 ps-text-sm ps-font-semibold",a&&"ps-pl-8",e),...t}));ft.displayName=c.Label.displayName;var it=j.forwardRef(({className:e,...a},t)=>(0,k.jsx)(c.Separator,{ref:t,className:l("ps--mx-1 ps-my-1 ps-h-px ps-bg-muted",e),...a}));it.displayName=c.Separator.displayName;var nt=({className:e,...a})=>(0,k.jsx)("span",{className:l("ps-ml-auto ps-text-xs ps-tracking-widest ps-opacity-60",e),...a});nt.displayName="DropdownMenuShortcut";var I=require("react/jsx-runtime");function Qe({header:e}){let a=e.column.columnDef.meta,t=a?.dataType,o=a?.isRelational;return(0,I.jsxs)("div",{className:"ps-flex ps-items-center ps-justify-between ps-w-full ps-h-full",children:[(0,I.jsxs)("div",{className:"ps-flex-1 ps-flex ps-items-center ps-justify-between",children:[o&&(0,I.jsx)(Se,{size:14,className:"text-blue-700"}),(0,I.jsxs)("div",{className:"ps-align-text-bottom ps-leading-none ps-h-[20px]",children:[(0,I.jsx)("span",{className:"ps-inline-block ps-text-foreground ps-font-bold ps-text-sm",children:e.isPlaceholder?null:(0,va.flexRender)(e.column.columnDef.header,e.getContext())}),t&&t!=="NONE"&&(0,I.jsx)("span",{className:"ps-inline-block ps-ml-2 ps-text-xs ps-font-mono ps-text-muted-foreground/70 ps-lowercase",children:t})]}),(0,I.jsx)("span",{className:"ps-flex ps-items-center ps-gap-1",children:e.column.getCanPin()&&e.column.id!=="select"&&(0,I.jsxs)(Ra,{children:[(0,I.jsx)(Ma,{asChild:!0,children:(0,I.jsx)(V,{variant:"ghost",size:"icon",children:(0,I.jsx)(Y,{size:16})})}),(0,I.jsxs)(Je,{children:[e.column.getCanSort()&&(0,I.jsx)(Be,{onClick:()=>e.column.toggleSorting(e.column.getIsSorted()==="asc"),children:(0,I.jsxs)("span",{className:"ps-flex ps-items-center ps-gap-2",children:[e.column.getIsSorted()==="asc"?(0,I.jsx)($,{size:16}):(0,I.jsx)(Le,{size:16}),e.column.getIsSorted()==="asc"?"Sort descending":"Sort ascending"]})}),(0,I.jsx)(Be,{onClick:()=>e.column.pin(e.column.getIsPinned()?!1:"left"),children:e.column.getIsPinned()?(0,I.jsxs)("span",{className:"ps-flex ps-items-center ps-gap-2",children:[(0,I.jsx)(Pe,{size:16}),"Unpin column"]}):(0,I.jsxs)("span",{className:"ps-flex ps-items-center ps-gap-2",children:[(0,I.jsx)(we,{size:16}),"Pin column"]})})]})]})})]}),e.column.getCanResize()&&(0,I.jsx)("div",{onMouseDown:u=>{u.stopPropagation(),e.getResizeHandler()(u)},onTouchStart:u=>{u.stopPropagation(),e.getResizeHandler()(u)},onClick:u=>u.stopPropagation(),className:l("ps-absolute ps-right-0 ps-top-0 ps-h-full ps-w-3 ps-cursor-col-resize","ps-select-none ps-touch-none ps-transition-colors ps-group",e.column.getIsResizing()&&"ps-bg-gray-300","before:ps-absolute before:ps-right-[3px] before:ps-top-1/2 before:ps--translate-y-1/2","after:ps-absolute after:ps-right-[7px] after:ps-top-1/2 after:ps--translate-y-1/2","before:ps-w-[2px] before:ps-h-0 before:ps-bg-gray-400 before:ps-rounded-full before:ps-opacity-0","after:ps-w-[2px] after:ps-h-0 after:ps-bg-gray-400 after:ps-rounded-full after:ps-opacity-0","before:ps-transition-all before:ps-duration-200","after:ps-transition-all after:ps-duration-200","group-hover:before:ps-opacity-100","group-hover:after:ps-opacity-100","group-hover:before:ps-h-4","group-hover:after:ps-h-4","group-active:ps-bg-transparent group-active:before:ps-bg-white group-active:after:ps-bg-white",e.column.getIsResizing()&&"before:ps-opacity-100"),"aria-label":"Resize column"})]})}var be=require("react/jsx-runtime");function ya(){let{currentTable:e,favoriteTableIds:a,toggleFavorite:t,isLoaded:o}=fe();if(!o||!e)return null;let u=a.has(e.id);return(0,be.jsxs)("button",{type:"button",onClick:()=>t(e.id),className:l("ps-appearance-none",u&&"ps-text-yellow-500"),children:[(0,be.jsx)(ke,{size:12,className:l("ps-transition-colors",u&&"ps-fill-yellow-500")}),(0,be.jsx)("span",{className:"ps-sr-only",children:u?"Remove from favorites":"Add to favorites"})]})}var Re=e=>{let a=e.getIsPinned(),t=a==="left"&&e.getIsLastColumn("left"),o=a==="right"&&e.getIsFirstColumn("right");return{className:l("ps-overflow-hidden ps-whitespace-nowrap ps-text-ellipsis",a&&["ps-sticky ps-bg-background ps-shadow-[1px_0_0_0_hsl(var(--border))]",a==="left"?"ps-left-0":"ps-right-0","ps-z-20"],!a&&"ps-relative ps-z-10",t&&"ps-shadow-[1px_0_0_0_hsl(var(--border))]",o&&"ps-shadow-[-1px_0_0_0_hsl(var(--border))]"),style:{width:e.getSize(),left:a==="left"?`${e.getStart("left")}px`:void 0,right:a==="right"?`${e.getAfter("right")}px`:void 0}}};var p=require("react/jsx-runtime"),ct=({table:e})=>{let{currentTable:a,isLoaded:t}=fe();return t?(0,p.jsx)("div",{className:"ps-flex ps-items-center ps-justify-between ps-w-full ps-gap-2",children:(0,p.jsx)("div",{className:"ps-flex ps-items-center ps-gap-2",children:(0,p.jsxs)("span",{className:"ps-flex ps-items-center ps-gap-2",children:[(0,p.jsx)(ya,{}),(0,p.jsx)("h1",{className:"ps-text-sm ps-font-medium",children:a?.name})]})})}):null},pt=({header:e,children:a,getPinningStyles:t})=>{let{attributes:o,listeners:u,transform:L,transition:r,setNodeRef:f,isDragging:C,isOver:S}=(0,ie.useSortable)({id:e.id}),b=e.column.columnDef.meta,R={transform:Da.CSS.Transform.toString(L),transition:r,...t(e.column).style,cursor:"grab",touchAction:"none"};return(0,p.jsxs)(De,{ref:f,...o,...u,style:R,"data-relational":b?.isRelational?"true":void 0,"data-relates-to":b?.relatesTo,"data-relation-field":b?.relationField,className:l("ps-group",t(e.column).className,C&&"ps-opacity-50",S&&"ps-bg-gray-100","ps-select-none ps-touch-none ps-relative",e.column.getIsPinned()&&"ps-sticky"),children:[a,S&&(0,p.jsx)("div",{className:"ps-absolute ps-inset-0 ps-border-2 ps-border-primary ps-rounded-sm ps-pointer-events-none"})]})};function Ta({data:e=[],columns:a}){console.log("Data received in StudioGrid:",e);let[t,o]=(0,N.useState)([]),[u,L]=(0,N.useState)([]),[r,f]=(0,N.useState)({}),[C,S]=(0,N.useState)({left:[],right:[]}),[b,R]=(0,N.useState)([]),[ne,O]=(0,N.useState)("");(0,N.useEffect)(()=>{if(a&&a.length>0){let g=a.map(q=>q.id);if(b.length===0){R(g);return}let d=[...b],P=d.filter(q=>!a.some(G=>G.id===q));P.forEach(q=>{let G=d.indexOf(q);G!==-1&&d.splice(G,1)});let T=g.filter(q=>!d.includes(q));T.length>0&&d.push(...T),(P.length>0||T.length>0)&&R(d)}},[a,b]);let D=(0,ae.useSensor)(ae.MouseSensor,{activationConstraint:{distance:10}}),B=(0,ae.useSensors)(D),F=g=>{let{active:d,over:P}=g;if(P&&d.id!==P.id){let T=M.getColumn(d.id),q=M.getColumn(P.id);if(!T||!q)return;let G=T.getIsPinned(),de=q.getIsPinned();if(G!==de)return;let Me=b.indexOf(d.id),ve=b.indexOf(P.id);if(Me===-1||ve===-1)return;let Fe=[...b];Fe.splice(Me,1),Fe.splice(ve,0,d.id),R(Fe)}},E=(0,N.useMemo)(()=>{if(!a||a.length===0)return console.log("No columns configuration available"),[];let g=(d,P)=>{if(d==null)return"";switch(P){case"TIMESTAMP":return d?new Date(d).toLocaleString():"";case"UUID":case"STRING":return String(d);default:return String(d)}};return a.map(d=>({accessorKey:d.id,header:()=>(0,p.jsx)("div",{className:"ps-font-medium",children:d.id}),cell:({getValue:P})=>g(P(),d.type),meta:{dataType:d.type,isRelational:d.isRelational,relatesTo:d.relatesTo,relationField:d.relationField}}))},[a]),M=(0,W.useReactTable)({data:e||[],defaultColumn:{size:200,minSize:50,maxSize:500},columns:E,getCoreRowModel:(0,W.getCoreRowModel)(),onSortingChange:o,getSortedRowModel:(0,W.getSortedRowModel)(),getPaginationRowModel:(0,W.getPaginationRowModel)(),getFilteredRowModel:(0,W.getFilteredRowModel)(),onColumnFiltersChange:L,enableColumnResizing:!0,columnResizeMode:"onChange",onColumnSizingChange:f,enableColumnPinning:!0,onColumnPinningChange:S,onGlobalFilterChange:O,globalFilterFn:(g,d,P)=>{let T=g.getValue(d);return T==null?!1:String(T).toLowerCase().includes(String(P).toLowerCase())},state:{sorting:t,columnFilters:u,columnSizing:r,columnPinning:C,columnOrder:b,globalFilter:ne}});return!e||e.length===0?(0,p.jsxs)("div",{className:"ps-p-4 ps-border ps-rounded-md ps-w-full",children:[(0,p.jsx)("p",{className:"ps-text-lg ps-font-semibold",children:"No data available."}),(0,p.jsx)("p",{className:"ps-text-sm ps-text-gray-500",children:e?"Data array is empty.":"Data is undefined."})]}):(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)("div",{className:"ps-bg-studio-header-background ps-flex ps-w-full ps-p-2 ps-py-3 ps-border-b",children:(0,p.jsx)(ct,{table:M})}),(0,p.jsx)("div",{"data-studio":"content",className:"ps-flex-1 ps-w-0 ps-h-0 ps-min-w-full",children:(0,p.jsxs)("div",{className:"ps-flex ps-flex-col ps-w-full ps-h-full ps-overflow-scroll",children:[(0,p.jsx)(ae.DndContext,{sensors:B,onDragEnd:F,children:(0,p.jsxs)(qe,{children:[(0,p.jsx)(Ue,{children:M.getHeaderGroups().map(g=>(0,p.jsx)(ce,{className:l("ps-relative",M.getLeftLeafHeaders().some(d=>d.column.getIsPinned()==="left")&&`ps-pl-[${M.getLeftLeafHeaders().filter(d=>d.column.getIsPinned()==="left").reduce((d,P)=>d+P.getSize(),0)}px]`),children:(0,p.jsx)(ie.SortableContext,{items:g.headers.map(d=>d.id),strategy:ie.horizontalListSortingStrategy,children:g.headers.map(d=>d.column.id==="select"?(0,p.jsx)(De,{className:l("ps-px-[var(--studio-cell-spacing)]",Re(d.column).className,d.column.getIsPinned()&&"ps-sticky"),style:Re(d.column).style,"data-cell-type":"select",children:(0,p.jsx)(Qe,{header:d})},d.id):(0,p.jsx)(pt,{header:d,table:M,getPinningStyles:Re,children:(0,p.jsx)(Qe,{header:d})},d.id))})},g.id))}),(0,p.jsx)(He,{children:M.getRowModel().rows?.length?M.getRowModel().rows.map(g=>(0,p.jsx)(ce,{className:l("ps-bg-table-row ps-odd:bg-table-row-odd ps-group"),children:g.getVisibleCells().map(d=>(0,p.jsx)(ka,{cell:d,getPinningStyles:Re,dataType:a.find(P=>P.id===d.column.id)?.type},d.id))},g.id)):(0,p.jsx)(ce,{children:(0,p.jsx)(pe,{colSpan:a.length,className:"ps-h-24 ps-text-center",children:"No results."})})})]})}),(0,p.jsx)(pa,{table:M,variant:"numeric"})]})})]})}var le=require("react"),Ba=require("react/jsx-runtime"),mt={theme:"system",setTheme:()=>null},Lt=(0,le.createContext)(mt);function Aa({children:e,defaultTheme:a="system",storageKey:t="vite-ui-theme",...o}){let[u,L]=(0,le.useState)(()=>localStorage.getItem(t)||a);(0,le.useEffect)(()=>{let f=window.document.documentElement;if(f.classList.remove("light","dark"),u==="system"){let C=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";f.classList.add(C);return}f.classList.add(u)},[u]);let r={theme:u,setTheme:f=>{localStorage.setItem(t,f),L(f)}};return(0,Ba.jsx)(Lt.Provider,{...o,value:r,children:e})}var Ha=require("nuqs/adapters/react");var Fa=require("@radix-ui/react-slot");var qa=require("nuqs"),U=require("react/jsx-runtime"),ue=()=>{let{setCurrentTable:e,currentTable:a,favoriteTableIds:t,tables:o}=fe(),[u,L]=(0,qa.useQueryState)("tableId"),r=f=>{L(f);let C=o.find(S=>S.id===f);C&&e(C)};return(0,U.jsxs)("div",{className:"ps-flex ps-flex-col ps-w-64 ps-gap-4 ps-shrink-0",children:[(0,U.jsx)(ue.Block,{label:"Tables",children:o.map(f=>(0,U.jsx)(ue.Item,{isActive:a?.id===f.id,onClick:C=>{C.preventDefault(),r(f.id)},className:`ps-px-2 ps-py-1 ps-cursor-pointer ps-rounded ${a?.id===f.id?"ps-bg-primary ps-text-white":"ps-hover:ps-bg-gray-100"}`,children:f.name},f.id))}),t.size>0&&(0,U.jsx)(ue.Block,{label:"Favourites",children:o.filter(f=>t.has(f.id)).map(f=>(0,U.jsx)(ue.Item,{isActive:a?.id===f.id,onClick:C=>{C.preventDefault(),r(f.id)},children:f.name},f.id))})]})},xt=({className:e,label:a,children:t,...o})=>(0,U.jsxs)("div",{className:l("ps-rounded-lg ps-border ps-bg-card ps-text-card-foreground ps-shadow-xs",e),...o,children:[(0,U.jsx)("div",{className:"ps-pt-4 ps-pb-2 ps-px-4",children:(0,U.jsx)("h2",{className:"ps-text-sm ps-font-medium",children:a})}),(0,U.jsx)("nav",{"aria-label":a,className:"ps-flex ps-flex-col ps-gap-px ps-pb-3",children:t})]}),It=({className:e,asChild:a=!1,isActive:t,size:o,...u})=>(0,U.jsx)(a?Fa.Slot:"button",{"data-sidebar":"menu-button","data-size":o,"data-active":t,className:l("ps-py-1.5 ps-px-4 ps-text-sm ps-font-medium ps-flex ps-gap-2 ps-items-center ps-border ps-border-transparent ps-bg-transparent ps-hover:bg-muted/50",e),...u});ue.Block=xt;ue.Item=It;var Ua=ue;var H=require("react/jsx-runtime"),Oa=(0,v.createContext)(void 0),fe=()=>{let e=(0,v.useContext)(Oa);if(!e)throw new Error("useStudio must be used within a Studio.Provider");return e},Ct={integer:"INTEGER",varchar:"VARCHAR",text:"TEXT",enum:"STRING",boolean:"BOOLEAN"};function gt(e,a){return{id:e,accessorKey:e,header:e.charAt(0).toUpperCase()+e.slice(1),type:Ct[a.dataType.name]||"STRING",nullable:a.nullable,isKey:a.partOfPk}}var ht=({adapter:e})=>{if(!e)return console.error("No adapter provided to Studio component"),(0,H.jsx)("div",{children:"Error: No adapter provided"});let[a,t]=(0,v.useState)([]),[o,u]=(0,v.useState)(null),[L,r]=(0,v.useState)(!1),[f,C]=(0,v.useState)([]),[S,b]=(0,v.useState)([]),R=v.default.useMemo(()=>new Set(a.filter(O=>O.isFavorite).map(O=>O.id)),[a]),ne=O=>{t(D=>D.map(B=>B.id===O?{...B,isFavorite:!B.isFavorite}:B))};return(0,v.useEffect)(()=>{(async()=>{try{let[D,B]=await e.introspect();if(D||!B?.schemas){console.error("Error fetching schema:",D);return}let F=Object.entries(B.schemas).flatMap(([E,M])=>Object.entries(M.tables).map(([g])=>({id:`${E}.${g}`,name:g.charAt(0).toUpperCase()+g.slice(1),schema:E,isFavorite:!1})));t(F),!o&&F.length>0&&F[0]&&u(F[0])}catch(D){console.error("Error fetching tables:",D)}})()},[e]),(0,v.useEffect)(()=>{(async()=>{if(!o?.id){r(!0);return}try{r(!1);let[D,B]=await e.introspect();if(D||!B?.schemas){console.error("Error fetching schema:",D),r(!0);return}let[F,E]=o.id.split(".");if(!F||!E){console.error("Invalid table ID format:",o.id),r(!0);return}let M=B.schemas[F];if(!M){console.error(`Schema ${F} not found`),r(!0);return}let g=M.tables[E];if(!g){console.error(`Table ${E} not found in schema ${F}`),r(!0);return}let d=Object.entries(g.columns).map(([G,de])=>gt(G,de));b(d);let[P,T]=await e.query({schema:F,table:E,filters:[],sortings:[]});if(P||!T){console.error(`Failed to fetch data for table ${E}:`,P),r(!0);return}let q=T.rows.map(G=>{let de={};return Object.entries(G).forEach(([Me,ve])=>{de[Me]=ve.value}),de});C(q),r(!0)}catch(D){console.error("Error fetching table data:",D),r(!0)}})()},[e,o]),!L&&a.length===0?(0,H.jsx)("div",{children:"Loading available tables..."}):L&&a.length===0?(0,H.jsx)("div",{children:"No tables found in the database."}):(0,H.jsx)(Aa,{children:(0,H.jsx)(Ha.NuqsAdapter,{children:(0,H.jsx)(Oa.Provider,{value:{adapter:e,currentTable:o,isLoaded:L,tables:a,favoriteTableIds:R,setCurrentTable:u,toggleFavorite:ne},children:(0,H.jsxs)("div",{className:"ps-flex ps-gap-4 ps-w-full ps-rounded-sm ps-bg-background ps-p-4 ps-relative",children:[(0,H.jsx)(Ua,{}),(0,H.jsx)("div",{className:"ps-flex ps-w-full ps-flex-col ps-border ps-rounded-lg",children:(0,H.jsx)(Ta,{columns:S,data:f})})]})})})})},_e=ht;0&&(module.exports={Studio});
|
|
1
|
+
"use strict";var Na=Object.create;var ye=Object.defineProperty;var Ea=Object.getOwnPropertyDescriptor;var Ga=Object.getOwnPropertyNames;var za=Object.getPrototypeOf,Va=Object.prototype.hasOwnProperty;var Wa=(e,a)=>{for(var t in a)ye(e,t,{get:a[t],enumerable:!0})},je=(e,a,t,o)=>{if(a&&typeof a=="object"||typeof a=="function")for(let u of Ga(a))!Va.call(e,u)&&u!==t&&ye(e,u,{get:()=>a[u],enumerable:!(o=Ea(a,u))||o.enumerable});return e};var A=(e,a,t)=>(t=e!=null?Na(za(e)):{},je(a||!e||!e.__esModule?ye(t,"default",{value:e,enumerable:!0}):t,e)),Xa=e=>je(ye({},"__esModule",{value:!0}),e);var St={};Wa(St,{Studio:()=>_e});module.exports=Xa(St);var Au=require("../index-FU6KGEKZ.css");var v=A(require("react"),1);var N=require("react"),W=require("@tanstack/react-table"),ae=require("@dnd-kit/core"),ie=require("@dnd-kit/sortable"),Da=require("@dnd-kit/utilities");var X=A(require("react"),1);var $e=require("clsx"),Ye=require("tailwind-merge");function l(...e){return(0,Ye.twMerge)((0,$e.clsx)(e))}var z=require("react/jsx-runtime"),qe=X.forwardRef(({className:e,...a},t)=>(0,z.jsx)("div",{className:"ps-relative ps-w-full ps-overflow-auto ps-flex ps-items-start ps-h-full",children:(0,z.jsx)("table",{ref:t,className:l("ps-w-full ps-caption-bottom ps-text-sm table-fixed",e),...a})}));qe.displayName="Table";var Ue=X.forwardRef(({className:e,...a},t)=>(0,z.jsx)("thead",{ref:t,className:l("[&_tr]:ps-border-b",e),...a}));Ue.displayName="TableHeader";var He=X.forwardRef(({className:e,...a},t)=>(0,z.jsx)("tbody",{ref:t,className:l("[&_tr:last-child]:ps-border-0",e),...a}));He.displayName="TableBody";var Ka=X.forwardRef(({className:e,...a},t)=>(0,z.jsx)("tfoot",{ref:t,className:l("ps-border-t ps-bg-muted/50 ps-font-medium [&>tr]:last:ps-border-b-0",e),...a}));Ka.displayName="TableFooter";var ce=X.forwardRef(({className:e,...a},t)=>(0,z.jsx)("tr",{ref:t,className:l("ps-border-b ps-transition-colors hover:ps-bg-muted/50 data-[state=selected]:ps-bg-muted",e),...a}));ce.displayName="TableRow";var De=X.forwardRef(({className:e,...a},t)=>(0,z.jsx)("th",{ref:t,className:l("ps-h-10 ps-px-2 ps-text-left ps-align-middle ps-font-medium ps-text-muted-foreground [&:has([role=checkbox])]:ps-pr-0 [&>[role=checkbox]]:ps-translate-y-[2px]",e),...a}));De.displayName="TableHead";var pe=X.forwardRef(({className:e,...a},t)=>(0,z.jsx)("td",{ref:t,className:l("ps-p-2 ps-align-middle [&:has([role=checkbox])]:ps-pr-0 [&>[role=checkbox]]:ps-translate-y-[2px]",e),...a}));pe.displayName="TableCell";var Za=X.forwardRef(({className:e,...a},t)=>(0,z.jsx)("caption",{ref:t,className:l("ps-mt-4 ps-text-sm ps-text-muted-foreground",e),...a}));Za.displayName="TableCaption";var ea=A(require("react"),1),aa=require("@radix-ui/react-slot"),ta=require("class-variance-authority");var oa=require("react/jsx-runtime"),Ja=(0,ta.cva)("ps-inline-flex ps-items-center ps-justify-center ps-gap-2 ps-whitespace-nowrap ps-rounded-md ps-text-sm ps-font-medium ps-transition-colors focus-visible:ps-outline-none focus-visible:ps-ring-1 focus-visible:ps-ring-ring disabled:ps-pointer-events-none disabled:ps-opacity-50 [&_svg]:ps-pointer-events-none [&_svg]:ps-size-4 [&_svg]:ps-shrink-0",{variants:{variant:{default:"ps-bg-primary ps-text-primary-foreground ps-shadow hover:ps-bg-primary/90",destructive:"ps-bg-destructive ps-text-destructive-foreground ps-shadow-sm hover:ps-bg-destructive/90",outline:"ps-border ps-border-input ps-bg-background ps-shadow-sm hover:ps-bg-accent hover:ps-text-accent-foreground",secondary:"ps-bg-secondary ps-text-secondary-foreground ps-shadow-sm hover:ps-bg-secondary/80",ghost:"hover:ps-bg-accent hover:ps-text-accent-foreground",link:"ps-text-primary ps-underline-offset-4 hover:ps-underline"},size:{default:"ps-h-9 ps-px-4 ps-py-2",sm:"ps-h-8 ps-rounded-md ps-px-3 ps-text-xs",lg:"ps-h-10 ps-rounded-md ps-px-8",icon:"ps-h-9 ps-w-9"}},defaultVariants:{variant:"default",size:"default"}}),V=ea.forwardRef(({className:e,variant:a,size:t,asChild:o=!1,...u},L)=>(0,oa.jsx)(o?aa.Slot:"button",{className:l(Ja({variant:a,size:t,className:e})),ref:L,...u}));V.displayName="Button";var la=A(require("react"),1);var ua=require("react/jsx-runtime"),Oe=la.forwardRef(({className:e,type:a,...t},o)=>(0,ua.jsx)("input",{type:a,className:l("ps-flex ps-h-9 ps-w-full ps-rounded-md ps-border ps-border-input ps-bg-transparent ps-px-3 ps-py-1 ps-text-base ps-shadow-sm ps-transition-colors file:ps-border-0 file:ps-bg-transparent file:ps-text-sm file:ps-font-medium file:ps-text-foreground placeholder:ps-text-muted-foreground focus-visible:ps-outline-none focus-visible:ps-ring-1 focus-visible:ps-ring-ring disabled:ps-cursor-not-allowed disabled:ps-opacity-50 md:ps-text-sm",e),ref:o,...t}));Oe.displayName="Input";var ee=A(require("react"),1),i=A(require("@radix-ui/react-select"),1);var Ae=require("react");var da=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Te=(...e)=>e.filter((a,t,o)=>!!a&&o.indexOf(a)===t).join(" ");var me=require("react");var sa={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var ra=(0,me.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:u="",children:L,iconNode:r,...f},C)=>(0,me.createElement)("svg",{ref:C,...sa,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:Te("lucide",u),...f},[...r.map(([S,b])=>(0,me.createElement)(S,b)),...Array.isArray(L)?L:[L]]));var m=(e,a)=>{let t=(0,Ae.forwardRef)(({className:o,...u},L)=>(0,Ae.createElement)(ra,{ref:L,iconNode:a,className:Te(`lucide-${da(e)}`,o),...u}));return t.displayName=`${e}`,t};var $=m("ArrowDownWideNarrow",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"M11 4h10",key:"1w87gc"}],["path",{d:"M11 8h7",key:"djye34"}],["path",{d:"M11 12h4",key:"q8tih4"}]]);var Le=m("ArrowUpWideNarrow",[["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}],["path",{d:"M11 12h10",key:"1438ji"}],["path",{d:"M11 16h7",key:"uosisv"}],["path",{d:"M11 20h4",key:"1krc32"}]]);var K=m("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);var se=m("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);var xe=m("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var Z=m("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var Ie=m("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);var Ce=m("ChevronsLeft",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]);var ge=m("ChevronsRight",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);var te=m("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var he=m("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"}]]);var Y=m("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);var Se=m("Link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);var Pe=m("PinOff",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);var we=m("Pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);var ke=m("Star",[["polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",key:"8f66p6"}]]);var h=require("react/jsx-runtime"),fa=i.Root;var ia=i.Value,Ne=ee.forwardRef(({className:e,children:a,...t},o)=>(0,h.jsxs)(i.Trigger,{ref:o,className:l("ps-flex ps-h-9 ps-w-full ps-items-center ps-justify-between ps-whitespace-nowrap ps-rounded-md ps-border ps-border-input ps-bg-transparent ps-px-3 ps-py-2 ps-text-sm ps-shadow-sm ps-ring-offset-background data-[placeholder]:ps-text-muted-foreground focus:ps-outline-none focus:ps-ring-1 focus:ps-ring-ring disabled:ps-cursor-not-allowed disabled:ps-opacity-50 [&>span]:ps-line-clamp-1",e),...t,children:[a,(0,h.jsx)(i.Icon,{asChild:!0,children:(0,h.jsx)(se,{className:"ps-h-4 ps-w-4 ps-opacity-50"})})]}));Ne.displayName=i.Trigger.displayName;var na=ee.forwardRef(({className:e,...a},t)=>(0,h.jsx)(i.ScrollUpButton,{ref:t,className:l("ps-flex ps-cursor-default ps-items-center ps-justify-center ps-py-1",e),...a,children:(0,h.jsx)(Ie,{className:"ps-h-4 ps-w-4"})}));na.displayName=i.ScrollUpButton.displayName;var ca=ee.forwardRef(({className:e,...a},t)=>(0,h.jsx)(i.ScrollDownButton,{ref:t,className:l("ps-flex ps-cursor-default ps-items-center ps-justify-center ps-py-1",e),...a,children:(0,h.jsx)(se,{className:"ps-h-4 ps-w-4"})}));ca.displayName=i.ScrollDownButton.displayName;var Ee=ee.forwardRef(({className:e,children:a,position:t="popper",...o},u)=>(0,h.jsx)(i.Portal,{children:(0,h.jsxs)(i.Content,{ref:u,className:l("ps-relative ps-z-50 ps-max-h-[--radix-select-content-available-height] ps-min-w-[8rem] ps-overflow-y-auto ps-overflow-x-hidden ps-rounded-md ps-border ps-bg-popover ps-text-popover-foreground ps-shadow-md data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-select-content-transform-origin]",t==="popper"&&"data-[side=bottom]:ps-translate-y-1 data-[side=left]:ps--translate-x-1 data-[side=right]:ps-translate-x-1 data-[side=top]:ps--translate-y-1",e),position:t,...o,children:[(0,h.jsx)(na,{}),(0,h.jsx)(i.Viewport,{className:l("ps-p-1",t==="popper"&&"ps-h-[var(--radix-select-trigger-height)] ps-w-full ps-min-w-[var(--radix-select-trigger-width)]"),children:a}),(0,h.jsx)(ca,{})]})}));Ee.displayName=i.Content.displayName;var Qa=ee.forwardRef(({className:e,...a},t)=>(0,h.jsx)(i.Label,{ref:t,className:l("ps-px-2 ps-py-1.5 ps-text-sm ps-font-semibold",e),...a}));Qa.displayName=i.Label.displayName;var Ge=ee.forwardRef(({className:e,children:a,...t},o)=>(0,h.jsxs)(i.Item,{ref:o,className:l("ps-relative ps-flex ps-w-full ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-2 ps-pr-8 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),...t,children:[(0,h.jsx)("span",{className:"ps-absolute ps-right-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:(0,h.jsx)(i.ItemIndicator,{children:(0,h.jsx)(K,{className:"ps-h-4 ps-w-4"})})}),(0,h.jsx)(i.ItemText,{children:a})]}));Ge.displayName=i.Item.displayName;var _a=ee.forwardRef(({className:e,...a},t)=>(0,h.jsx)(i.Separator,{ref:t,className:l("ps--mx-1 ps-my-1 ps-h-px ps-bg-muted",e),...a}));_a.displayName=i.Separator.displayName;var x=require("react/jsx-runtime"),ja=[10,20,50,100];function pa({table:e,variant:a="basic",className:t}){let{pageSize:o,pageIndex:u}=e.getState().pagination,L=e.getPageCount();return(0,x.jsx)("div",{className:l("ps-flex ps-items-center ps-justify-between ps-space-x-2 ps-py-4 ps-px-4",t),children:a==="basic"?(0,x.jsxs)("div",{className:"ps-flex ps-items-center ps-space-x-2",children:[(0,x.jsx)(V,{variant:"outline",size:"sm",className:"ps-h-9",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),children:"Previous"}),(0,x.jsx)(V,{variant:"outline",size:"sm",className:"ps-h-9",onClick:()=>e.nextPage(),disabled:!e.getCanNextPage(),children:"Next"})]}):(0,x.jsxs)("div",{className:"ps-flex ps-items-center ps-space-x-2",children:[(0,x.jsxs)("div",{className:"ps-flex ps-items-center ps-space-x-2",children:[(0,x.jsx)(V,{variant:"outline",onClick:()=>e.setPageIndex(0),disabled:!e.getCanPreviousPage(),children:(0,x.jsx)(Ce,{className:"ps-w-4 ps-h-4"})}),(0,x.jsx)(V,{variant:"outline",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),children:(0,x.jsx)(xe,{className:"ps-w-4 ps-h-4"})}),(0,x.jsxs)("div",{className:"ps-flex ps-items-center ps-gap-1 ps-text-xs ps-font-medium",children:["Page",(0,x.jsx)(Oe,{type:"number",min:1,max:L,value:u+1,className:"ps-w-12",onChange:r=>{let f=r.target.value?Number(r.target.value)-1:0;e.setPageIndex(f)}}),(0,x.jsxs)("span",{className:"ps-shrink-0 ps-w-max",children:["of ",L]})]}),(0,x.jsx)(V,{variant:"outline",onClick:()=>e.nextPage(),disabled:!e.getCanNextPage(),children:(0,x.jsx)(Z,{className:"ps-w-4 ps-h-4"})}),(0,x.jsx)(V,{variant:"outline",onClick:()=>e.setPageIndex(L-1),disabled:!e.getCanNextPage(),children:(0,x.jsx)(ge,{className:"ps-w-4 ps-h-4"})})]}),(0,x.jsxs)(fa,{value:o.toString(),onValueChange:r=>e.setPageSize(Number(r)),children:[(0,x.jsx)(Ne,{children:(0,x.jsx)(ia,{})}),(0,x.jsx)(Ee,{children:ja.map(r=>(0,x.jsxs)(Ge,{value:r.toString(),children:[r," per page"]},r))})]})]})})}var y=A(require("react"),1),J=A(require("@radix-ui/react-popover"),1);var re=require("react/jsx-runtime"),ma=y.createContext(null),ze=({children:e,...a})=>{let[t,o]=y.useState(!1);return(0,re.jsx)(ma.Provider,{value:{open:t,setOpen:o},children:(0,re.jsx)(J.Root,{open:t,onOpenChange:o,...a,children:e})})};ze.displayName="PopoverCell";var Ve=y.forwardRef(({children:e,onDoubleClick:a,className:t,...o},u)=>{let L=y.useContext(ma),[r,f]=y.useState(!1),C=y.useRef(null);return y.useEffect(()=>{let R=ne=>{let O=ne.target;C.current&&!C.current.contains(O)&&(console.log("Outside click - removing focus"),f(!1))};return document.addEventListener("click",R),()=>document.removeEventListener("click",R)},[]),(0,re.jsx)(J.Trigger,{ref:R=>{typeof u=="function"?u(R):u&&(u.current=R),C.current=R},onClick:R=>{R.preventDefault(),console.log("Click handler - setting focus to true"),f(!0)},onDoubleClick:R=>{R.preventDefault(),L?.setOpen(!0),a?.()},"data-focus":r.toString(),className:l("w-full h-full cursor-pointer",t),...o,children:e})});Ve.displayName="PopoverCellTrigger";var We=y.forwardRef(({className:e,align:a="center",sideOffset:t=4,...o},u)=>(0,re.jsx)(J.Portal,{children:(0,re.jsx)(J.Content,{ref:u,align:a,sideOffset:t,className:l("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...o})}));We.displayName=J.Content.displayName;var Sa=require("@uiw/codemirror-theme-tokyo-night"),Pa=A(require("@uiw/react-codemirror"),1);var xa=require("react/jsx-runtime");function La(){return(0,xa.jsx)("code",{className:"ps-text-gray-500",children:"NULL"})}var ga=require("react");var Q=A(require("react"),1),n=A(require("@radix-ui/react-context-menu"),1);var w=require("react/jsx-runtime"),Ia=n.Root,Ca=n.Trigger;var $a=Q.forwardRef(({className:e,inset:a,children:t,...o},u)=>(0,w.jsxs)(n.SubTrigger,{ref:u,className:l("ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-px-2 ps-py-1.5 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[state=open]:ps-bg-accent data-[state=open]:ps-text-accent-foreground",a&&"ps-pl-8",e),...o,children:[t,(0,w.jsx)(Z,{className:"ps-ml-auto ps-h-4 ps-w-4"})]}));$a.displayName=n.SubTrigger.displayName;var Ya=Q.forwardRef(({className:e,...a},t)=>(0,w.jsx)(n.SubContent,{ref:t,className:l("ps-z-50 ps-min-w-[8rem] ps-overflow-hidden ps-rounded-md ps-border ps-bg-popover ps-p-1 ps-text-popover-foreground ps-shadow-lg data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-context-menu-content-transform-origin]",e),...a}));Ya.displayName=n.SubContent.displayName;var Xe=Q.forwardRef(({className:e,...a},t)=>(0,w.jsx)(n.Portal,{children:(0,w.jsx)(n.Content,{ref:t,className:l("ps-z-50 ps-max-h-[--radix-context-menu-content-available-height] ps-min-w-[8rem] ps-overflow-y-auto ps-overflow-x-hidden ps-rounded-md ps-border ps-bg-popover ps-p-1 ps-text-popover-foreground ps-shadow-md data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-context-menu-content-transform-origin]",e),...a})}));Xe.displayName=n.Content.displayName;var Ke=Q.forwardRef(({className:e,inset:a,...t},o)=>(0,w.jsx)(n.Item,{ref:o,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-px-2 ps-py-1.5 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",a&&"ps-pl-8",e),...t}));Ke.displayName=n.Item.displayName;var et=Q.forwardRef(({className:e,children:a,checked:t,...o},u)=>(0,w.jsxs)(n.CheckboxItem,{ref:u,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-8 ps-pr-2 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),checked:t,...o,children:[(0,w.jsx)("span",{className:"ps-absolute ps-left-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:(0,w.jsx)(n.ItemIndicator,{children:(0,w.jsx)(K,{className:"ps-h-4 ps-w-4"})})}),a]}));et.displayName=n.CheckboxItem.displayName;var at=Q.forwardRef(({className:e,children:a,...t},o)=>(0,w.jsxs)(n.RadioItem,{ref:o,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-8 ps-pr-2 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),...t,children:[(0,w.jsx)("span",{className:"ps-absolute ps-left-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:(0,w.jsx)(n.ItemIndicator,{children:(0,w.jsx)(te,{className:"ps-h-4 ps-w-4 ps-fill-current"})})}),a]}));at.displayName=n.RadioItem.displayName;var tt=Q.forwardRef(({className:e,inset:a,...t},o)=>(0,w.jsx)(n.Label,{ref:o,className:l("ps-px-2 ps-py-1.5 ps-text-sm ps-font-semibold ps-text-foreground",a&&"ps-pl-8",e),...t}));tt.displayName=n.Label.displayName;var ot=Q.forwardRef(({className:e,...a},t)=>(0,w.jsx)(n.Separator,{ref:t,className:l("ps--mx-1 ps-my-1 ps-h-px ps-bg-border",e),...a}));ot.displayName=n.Separator.displayName;var lt=({className:e,...a})=>(0,w.jsx)("span",{className:l("ps-ml-auto ps-text-xs ps-tracking-widest ps-text-muted-foreground",e),...a});lt.displayName="ContextMenuShortcut";var oe=require("react/jsx-runtime"),Ze=e=>{if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return String(e);if(e==null)return"";if((0,ga.isValidElement)(e)){let a=e.props;return e.type&&typeof e.type=="function"&&e.type.name==="RevealText"?a.text||"":e.type&&typeof e.type=="function"&&e.type.name==="NullValue"?"NULL":a.children?Ze(a.children):""}return Array.isArray(e)?e.map(Ze).join(""):""},ha=({children:e})=>(0,oe.jsxs)(Ia,{children:[(0,oe.jsx)(Ca,{className:"ps-block ps-w-full ps-p-[var(--studio-cell-spacing)]",children:e}),(0,oe.jsx)(Xe,{children:(0,oe.jsxs)(Ke,{onClick:()=>{let a=Ze(e);navigator.clipboard.writeText(a)},className:"ps-flex ps-items-center ps-gap-2",children:[(0,oe.jsx)(he,{size:12}),"Copy"]})})]});var _=require("react/jsx-runtime");function wa({cell:e,getPinningStyles:a,dataType:t,isRelational:o,relatesTo:u,relationField:L}){let r=e.getValue(),f=r==null,C=S=>{if(S==null)return"NULL";if(typeof S=="object")try{return JSON.stringify(S,null,2)}catch(b){return console.error("Error stringifying value:",b),String(S)}return String(S)};return(0,_.jsxs)(ze,{children:[(0,_.jsx)(Ve,{asChild:!0,children:(0,_.jsx)(pe,{...a(e.column),"data-cell-type":"data","data-type":t.toLowerCase(),"data-relational":o?"true":void 0,"data-relates-to":u,"data-relation-field":L,className:l(a(e.column).className,"ps-p-0",e.column.getIsPinned()&&"ps-sticky"),children:(0,_.jsx)(ha,{children:f?(0,_.jsx)(La,{}):C(r)})})}),(0,_.jsx)(We,{align:"start",alignOffset:0,sideOffset:0,className:"ps-min-w-(--radix-popover-trigger-width) ps-rounded-none ps-bg-muted ps-p-0",children:(0,_.jsx)(Pa.default,{value:C(r),theme:Sa.tokyoNight,height:"100px",basicSetup:{lineNumbers:!0,foldGutter:!1,dropCursor:!1,allowMultipleSelections:!1,indentOnInput:!1},onChange:S=>{console.log("New value:",S)}})})]},e.id)}var ba=require("react/jsx-runtime");function ka({cell:e,getPinningStyles:a,dataType:t}){let o={cell:e,getPinningStyles:a},u=e.column.columnDef.meta,L={...o,isRelational:u?.isRelational,relatesTo:u?.relatesTo,relationField:u?.relationField};return(0,ba.jsx)(wa,{...L,dataType:t||"STRING"})}var va=require("@tanstack/react-table");var j=A(require("react"),1),c=A(require("@radix-ui/react-dropdown-menu"),1);var k=require("react/jsx-runtime"),Ra=c.Root,Ma=c.Trigger;var ut=j.forwardRef(({className:e,inset:a,children:t,...o},u)=>(0,k.jsxs)(c.SubTrigger,{ref:u,className:l("ps-flex ps-cursor-default ps-select-none ps-items-center ps-gap-2 ps-rounded-sm ps-px-2 ps-py-1.5 ps-text-sm ps-outline-none focus:ps-bg-accent data-[state=open]:ps-bg-accent [&_svg]:ps-pointer-events-none [&_svg]:ps-size-4 [&_svg]:ps-shrink-0",a&&"ps-pl-8",e),...o,children:[t,(0,k.jsx)(Z,{className:"ps-ml-auto"})]}));ut.displayName=c.SubTrigger.displayName;var dt=j.forwardRef(({className:e,...a},t)=>(0,k.jsx)(c.SubContent,{ref:t,className:l("ps-z-50 ps-min-w-[8rem] ps-overflow-hidden ps-rounded-md ps-border ps-bg-popover ps-p-1 ps-text-popover-foreground ps-shadow-lg data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-dropdown-menu-content-transform-origin]",e),...a}));dt.displayName=c.SubContent.displayName;var Je=j.forwardRef(({className:e,sideOffset:a=4,...t},o)=>(0,k.jsx)(c.Portal,{children:(0,k.jsx)(c.Content,{ref:o,sideOffset:a,className:l("ps-z-50 ps-max-h-[var(--radix-dropdown-menu-content-available-height)] ps-min-w-[8rem] ps-overflow-y-auto ps-overflow-x-hidden ps-rounded-md ps-border ps-bg-popover ps-p-1 ps-text-popover-foreground ps-shadow-md","data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-dropdown-menu-content-transform-origin]",e),...t})}));Je.displayName=c.Content.displayName;var Be=j.forwardRef(({className:e,inset:a,...t},o)=>(0,k.jsx)(c.Item,{ref:o,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-gap-2 ps-rounded-sm ps-px-2 ps-py-1.5 ps-text-sm ps-outline-none ps-transition-colors focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50 [&>svg]:ps-size-4 [&>svg]:ps-shrink-0",a&&"ps-pl-8",e),...t}));Be.displayName=c.Item.displayName;var st=j.forwardRef(({className:e,children:a,checked:t,...o},u)=>(0,k.jsxs)(c.CheckboxItem,{ref:u,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-8 ps-pr-2 ps-text-sm ps-outline-none ps-transition-colors focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),checked:t,...o,children:[(0,k.jsx)("span",{className:"ps-absolute ps-left-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:(0,k.jsx)(c.ItemIndicator,{children:(0,k.jsx)(K,{className:"ps-h-4 ps-w-4"})})}),a]}));st.displayName=c.CheckboxItem.displayName;var rt=j.forwardRef(({className:e,children:a,...t},o)=>(0,k.jsxs)(c.RadioItem,{ref:o,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-8 ps-pr-2 ps-text-sm ps-outline-none ps-transition-colors focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),...t,children:[(0,k.jsx)("span",{className:"ps-absolute ps-left-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:(0,k.jsx)(c.ItemIndicator,{children:(0,k.jsx)(te,{className:"ps-h-2 ps-w-2 ps-fill-current"})})}),a]}));rt.displayName=c.RadioItem.displayName;var ft=j.forwardRef(({className:e,inset:a,...t},o)=>(0,k.jsx)(c.Label,{ref:o,className:l("ps-px-2 ps-py-1.5 ps-text-sm ps-font-semibold",a&&"ps-pl-8",e),...t}));ft.displayName=c.Label.displayName;var it=j.forwardRef(({className:e,...a},t)=>(0,k.jsx)(c.Separator,{ref:t,className:l("ps--mx-1 ps-my-1 ps-h-px ps-bg-muted",e),...a}));it.displayName=c.Separator.displayName;var nt=({className:e,...a})=>(0,k.jsx)("span",{className:l("ps-ml-auto ps-text-xs ps-tracking-widest ps-opacity-60",e),...a});nt.displayName="DropdownMenuShortcut";var I=require("react/jsx-runtime");function Qe({header:e}){let a=e.column.columnDef.meta,t=a?.dataType,o=a?.isRelational;return(0,I.jsxs)("div",{className:"ps-flex ps-items-center ps-justify-between ps-w-full ps-h-full",children:[(0,I.jsxs)("div",{className:"ps-flex-1 ps-flex ps-items-center ps-justify-between",children:[o&&(0,I.jsx)(Se,{size:14,className:"text-blue-700"}),(0,I.jsxs)("div",{className:"ps-align-text-bottom ps-leading-none ps-h-[20px]",children:[(0,I.jsx)("span",{className:"ps-inline-block ps-text-foreground ps-font-bold ps-text-sm",children:e.isPlaceholder?null:(0,va.flexRender)(e.column.columnDef.header,e.getContext())}),t&&t!=="NONE"&&(0,I.jsx)("span",{className:"ps-inline-block ps-ml-2 ps-text-xs ps-font-mono ps-text-muted-foreground/70 ps-lowercase",children:t})]}),(0,I.jsx)("span",{className:"ps-flex ps-items-center ps-gap-1",children:e.column.getCanPin()&&e.column.id!=="select"&&(0,I.jsxs)(Ra,{children:[(0,I.jsx)(Ma,{asChild:!0,children:(0,I.jsx)(V,{variant:"ghost",size:"icon",children:(0,I.jsx)(Y,{size:16})})}),(0,I.jsxs)(Je,{children:[e.column.getCanSort()&&(0,I.jsx)(Be,{onClick:()=>e.column.toggleSorting(e.column.getIsSorted()==="asc"),children:(0,I.jsxs)("span",{className:"ps-flex ps-items-center ps-gap-2",children:[e.column.getIsSorted()==="asc"?(0,I.jsx)($,{size:16}):(0,I.jsx)(Le,{size:16}),e.column.getIsSorted()==="asc"?"Sort descending":"Sort ascending"]})}),(0,I.jsx)(Be,{onClick:()=>e.column.pin(e.column.getIsPinned()?!1:"left"),children:e.column.getIsPinned()?(0,I.jsxs)("span",{className:"ps-flex ps-items-center ps-gap-2",children:[(0,I.jsx)(Pe,{size:16}),"Unpin column"]}):(0,I.jsxs)("span",{className:"ps-flex ps-items-center ps-gap-2",children:[(0,I.jsx)(we,{size:16}),"Pin column"]})})]})]})})]}),e.column.getCanResize()&&(0,I.jsx)("div",{onMouseDown:u=>{u.stopPropagation(),e.getResizeHandler()(u)},onTouchStart:u=>{u.stopPropagation(),e.getResizeHandler()(u)},onClick:u=>u.stopPropagation(),className:l("ps-absolute ps-right-0 ps-top-0 ps-h-full ps-w-3 ps-cursor-col-resize","ps-select-none ps-touch-none ps-transition-colors ps-group",e.column.getIsResizing()&&"ps-bg-gray-300","before:ps-absolute before:ps-right-[3px] before:ps-top-1/2 before:ps--translate-y-1/2","after:ps-absolute after:ps-right-[7px] after:ps-top-1/2 after:ps--translate-y-1/2","before:ps-w-[2px] before:ps-h-0 before:ps-bg-gray-400 before:ps-rounded-full before:ps-opacity-0","after:ps-w-[2px] after:ps-h-0 after:ps-bg-gray-400 after:ps-rounded-full after:ps-opacity-0","before:ps-transition-all before:ps-duration-200","after:ps-transition-all after:ps-duration-200","group-hover:before:ps-opacity-100","group-hover:after:ps-opacity-100","group-hover:before:ps-h-4","group-hover:after:ps-h-4","group-active:ps-bg-transparent group-active:before:ps-bg-white group-active:after:ps-bg-white",e.column.getIsResizing()&&"before:ps-opacity-100"),"aria-label":"Resize column"})]})}var be=require("react/jsx-runtime");function ya(){let{currentTable:e,favoriteTableIds:a,toggleFavorite:t,isLoaded:o}=fe();if(!o||!e)return null;let u=a.has(e.id);return(0,be.jsxs)("button",{type:"button",onClick:()=>t(e.id),className:l("ps-appearance-none",u&&"ps-text-yellow-500"),children:[(0,be.jsx)(ke,{size:12,className:l("ps-transition-colors",u&&"ps-fill-yellow-500")}),(0,be.jsx)("span",{className:"ps-sr-only",children:u?"Remove from favorites":"Add to favorites"})]})}var Re=e=>{let a=e.getIsPinned(),t=a==="left"&&e.getIsLastColumn("left"),o=a==="right"&&e.getIsFirstColumn("right");return{className:l("ps-overflow-hidden ps-whitespace-nowrap ps-text-ellipsis",a&&["ps-sticky ps-bg-background ps-shadow-[1px_0_0_0_hsl(var(--border))]",a==="left"?"ps-left-0":"ps-right-0","ps-z-20"],!a&&"ps-relative ps-z-10",t&&"ps-shadow-[1px_0_0_0_hsl(var(--border))]",o&&"ps-shadow-[-1px_0_0_0_hsl(var(--border))]"),style:{width:e.getSize(),left:a==="left"?`${e.getStart("left")}px`:void 0,right:a==="right"?`${e.getAfter("right")}px`:void 0}}};var p=require("react/jsx-runtime"),ct=({table:e})=>{let{currentTable:a,isLoaded:t}=fe();return t?(0,p.jsx)("div",{className:"ps-flex ps-items-center ps-justify-between ps-w-full ps-gap-2",children:(0,p.jsx)("div",{className:"ps-flex ps-items-center ps-gap-2",children:(0,p.jsxs)("span",{className:"ps-flex ps-items-center ps-gap-2",children:[(0,p.jsx)(ya,{}),(0,p.jsx)("h1",{className:"ps-text-sm ps-font-medium",children:a?.name})]})})}):null},pt=({header:e,children:a,getPinningStyles:t})=>{let{attributes:o,listeners:u,transform:L,transition:r,setNodeRef:f,isDragging:C,isOver:S}=(0,ie.useSortable)({id:e.id}),b=e.column.columnDef.meta,R={transform:Da.CSS.Transform.toString(L),transition:r,...t(e.column).style,cursor:"grab",touchAction:"none"};return(0,p.jsxs)(De,{ref:f,...o,...u,style:R,"data-relational":b?.isRelational?"true":void 0,"data-relates-to":b?.relatesTo,"data-relation-field":b?.relationField,className:l("ps-group",t(e.column).className,C&&"ps-opacity-50",S&&"ps-bg-gray-100","ps-select-none ps-touch-none ps-relative",e.column.getIsPinned()&&"ps-sticky"),children:[a,S&&(0,p.jsx)("div",{className:"ps-absolute ps-inset-0 ps-border-2 ps-border-primary ps-rounded-sm ps-pointer-events-none"})]})};function Ta({data:e=[],columns:a}){console.log("Data received in StudioGrid:",e);let[t,o]=(0,N.useState)([]),[u,L]=(0,N.useState)([]),[r,f]=(0,N.useState)({}),[C,S]=(0,N.useState)({left:[],right:[]}),[b,R]=(0,N.useState)([]),[ne,O]=(0,N.useState)("");(0,N.useEffect)(()=>{if(a&&a.length>0){let g=a.map(q=>q.id);if(b.length===0){R(g);return}let d=[...b],P=d.filter(q=>!a.some(G=>G.id===q));P.forEach(q=>{let G=d.indexOf(q);G!==-1&&d.splice(G,1)});let T=g.filter(q=>!d.includes(q));T.length>0&&d.push(...T),(P.length>0||T.length>0)&&R(d)}},[a,b]);let D=(0,ae.useSensor)(ae.MouseSensor,{activationConstraint:{distance:10}}),B=(0,ae.useSensors)(D),F=g=>{let{active:d,over:P}=g;if(P&&d.id!==P.id){let T=M.getColumn(d.id),q=M.getColumn(P.id);if(!T||!q)return;let G=T.getIsPinned(),de=q.getIsPinned();if(G!==de)return;let Me=b.indexOf(d.id),ve=b.indexOf(P.id);if(Me===-1||ve===-1)return;let Fe=[...b];Fe.splice(Me,1),Fe.splice(ve,0,d.id),R(Fe)}},E=(0,N.useMemo)(()=>{if(!a||a.length===0)return console.log("No columns configuration available"),[];let g=(d,P)=>{if(d==null)return"";switch(P){case"TIMESTAMP":return d?new Date(d).toLocaleString():"";case"UUID":case"STRING":return String(d);default:return String(d)}};return a.map(d=>({accessorKey:d.id,header:()=>(0,p.jsx)("div",{className:"ps-font-medium",children:d.id}),cell:({getValue:P})=>g(P(),d.type),meta:{dataType:d.type,isRelational:d.isRelational,relatesTo:d.relatesTo,relationField:d.relationField}}))},[a]),M=(0,W.useReactTable)({data:e||[],defaultColumn:{size:200,minSize:50,maxSize:500},columns:E,getCoreRowModel:(0,W.getCoreRowModel)(),onSortingChange:o,getSortedRowModel:(0,W.getSortedRowModel)(),getPaginationRowModel:(0,W.getPaginationRowModel)(),getFilteredRowModel:(0,W.getFilteredRowModel)(),onColumnFiltersChange:L,enableColumnResizing:!0,columnResizeMode:"onChange",onColumnSizingChange:f,enableColumnPinning:!0,onColumnPinningChange:S,onGlobalFilterChange:O,globalFilterFn:(g,d,P)=>{let T=g.getValue(d);return T==null?!1:String(T).toLowerCase().includes(String(P).toLowerCase())},state:{sorting:t,columnFilters:u,columnSizing:r,columnPinning:C,columnOrder:b,globalFilter:ne}});return!e||e.length===0?(0,p.jsxs)("div",{className:"ps-p-4 ps-border ps-rounded-md ps-w-full",children:[(0,p.jsx)("p",{className:"ps-text-lg ps-font-semibold",children:"No data available."}),(0,p.jsx)("p",{className:"ps-text-sm ps-text-gray-500",children:e?"Data array is empty.":"Data is undefined."})]}):(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)("div",{className:"ps-bg-studio-header-background ps-flex ps-w-full ps-p-2 ps-py-3 ps-border-b",children:(0,p.jsx)(ct,{table:M})}),(0,p.jsx)("div",{"data-studio":"content",className:"ps-flex-1 ps-w-0 ps-h-0 ps-min-w-full",children:(0,p.jsxs)("div",{className:"ps-flex ps-flex-col ps-w-full ps-h-full ps-overflow-scroll",children:[(0,p.jsx)(ae.DndContext,{sensors:B,onDragEnd:F,children:(0,p.jsxs)(qe,{children:[(0,p.jsx)(Ue,{children:M.getHeaderGroups().map(g=>(0,p.jsx)(ce,{className:l("ps-relative",M.getLeftLeafHeaders().some(d=>d.column.getIsPinned()==="left")&&`ps-pl-[${M.getLeftLeafHeaders().filter(d=>d.column.getIsPinned()==="left").reduce((d,P)=>d+P.getSize(),0)}px]`),children:(0,p.jsx)(ie.SortableContext,{items:g.headers.map(d=>d.id),strategy:ie.horizontalListSortingStrategy,children:g.headers.map(d=>d.column.id==="select"?(0,p.jsx)(De,{className:l("ps-px-[var(--studio-cell-spacing)]",Re(d.column).className,d.column.getIsPinned()&&"ps-sticky"),style:Re(d.column).style,"data-cell-type":"select",children:(0,p.jsx)(Qe,{header:d})},d.id):(0,p.jsx)(pt,{header:d,table:M,getPinningStyles:Re,children:(0,p.jsx)(Qe,{header:d})},d.id))})},g.id))}),(0,p.jsx)(He,{children:M.getRowModel().rows?.length?M.getRowModel().rows.map(g=>(0,p.jsx)(ce,{className:l("ps-bg-table-row ps-odd:bg-table-row-odd ps-group"),children:g.getVisibleCells().map(d=>(0,p.jsx)(ka,{cell:d,getPinningStyles:Re,dataType:a.find(P=>P.id===d.column.id)?.type},d.id))},g.id)):(0,p.jsx)(ce,{children:(0,p.jsx)(pe,{colSpan:a.length,className:"ps-h-24 ps-text-center",children:"No results."})})})]})}),(0,p.jsx)(pa,{table:M,variant:"numeric"})]})})]})}var le=require("react"),Ba=require("react/jsx-runtime"),mt={theme:"system",setTheme:()=>null},Lt=(0,le.createContext)(mt);function Aa({children:e,defaultTheme:a="system",storageKey:t="vite-ui-theme",...o}){let[u,L]=(0,le.useState)(()=>localStorage.getItem(t)||a);(0,le.useEffect)(()=>{let f=window.document.documentElement;if(f.classList.remove("light","dark"),u==="system"){let C=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";f.classList.add(C);return}f.classList.add(u)},[u]);let r={theme:u,setTheme:f=>{localStorage.setItem(t,f),L(f)}};return(0,Ba.jsx)(Lt.Provider,{...o,value:r,children:e})}var Ha=require("nuqs/adapters/react");var Fa=require("@radix-ui/react-slot");var qa=require("nuqs"),U=require("react/jsx-runtime"),ue=()=>{let{setCurrentTable:e,currentTable:a,favoriteTableIds:t,tables:o}=fe(),[u,L]=(0,qa.useQueryState)("tableId"),r=f=>{L(f);let C=o.find(S=>S.id===f);C&&e(C)};return(0,U.jsxs)("div",{className:"ps-flex ps-flex-col ps-w-64 ps-gap-4 ps-shrink-0",children:[(0,U.jsx)(ue.Block,{label:"Tables",children:o.map(f=>(0,U.jsx)(ue.Item,{isActive:a?.id===f.id,onClick:C=>{C.preventDefault(),r(f.id)},className:`ps-px-2 ps-py-1 ps-cursor-pointer ps-rounded ${a?.id===f.id?"ps-bg-primary ps-text-white":"ps-hover:ps-bg-gray-100"}`,children:f.name},f.id))}),t.size>0&&(0,U.jsx)(ue.Block,{label:"Favourites",children:o.filter(f=>t.has(f.id)).map(f=>(0,U.jsx)(ue.Item,{isActive:a?.id===f.id,onClick:C=>{C.preventDefault(),r(f.id)},children:f.name},f.id))})]})},xt=({className:e,label:a,children:t,...o})=>(0,U.jsxs)("div",{className:l("ps-rounded-lg ps-border ps-bg-card ps-text-card-foreground ps-shadow-xs",e),...o,children:[(0,U.jsx)("div",{className:"ps-pt-4 ps-pb-2 ps-px-4",children:(0,U.jsx)("h2",{className:"ps-text-sm ps-font-medium",children:a})}),(0,U.jsx)("nav",{"aria-label":a,className:"ps-flex ps-flex-col ps-gap-px ps-pb-3",children:t})]}),It=({className:e,asChild:a=!1,isActive:t,size:o,...u})=>(0,U.jsx)(a?Fa.Slot:"button",{"data-sidebar":"menu-button","data-size":o,"data-active":t,className:l("ps-py-1.5 ps-px-4 ps-text-sm ps-font-medium ps-flex ps-gap-2 ps-items-center ps-border ps-border-transparent ps-bg-transparent ps-hover:bg-muted/50",e),...u});ue.Block=xt;ue.Item=It;var Ua=ue;var H=require("react/jsx-runtime"),Oa=(0,v.createContext)(void 0),fe=()=>{let e=(0,v.useContext)(Oa);if(!e)throw new Error("useStudio must be used within a Studio.Provider");return e},Ct={integer:"INTEGER",varchar:"VARCHAR",text:"TEXT",enum:"STRING",boolean:"BOOLEAN"};function gt(e,a){return{id:e,accessorKey:e,header:e.charAt(0).toUpperCase()+e.slice(1),type:Ct[a.dataType.name]||"STRING",nullable:a.nullable,isKey:a.partOfPk}}var ht=({adapter:e})=>{if(!e)return console.error("No adapter provided to Studio component"),(0,H.jsx)("div",{children:"Error: No adapter provided"});let[a,t]=(0,v.useState)([]),[o,u]=(0,v.useState)(null),[L,r]=(0,v.useState)(!1),[f,C]=(0,v.useState)([]),[S,b]=(0,v.useState)([]),R=v.default.useMemo(()=>new Set(a.filter(O=>O.isFavorite).map(O=>O.id)),[a]),ne=O=>{t(D=>D.map(B=>B.id===O?{...B,isFavorite:!B.isFavorite}:B))};return(0,v.useEffect)(()=>{(async()=>{try{let[D,B]=await e.introspect();if(D||!B?.schemas){console.error("Error fetching schema:",D);return}let F=Object.entries(B.schemas).flatMap(([E,M])=>Object.entries(M.tables).map(([g])=>({id:`${E}.${g}`,name:g.charAt(0).toUpperCase()+g.slice(1),schema:E,isFavorite:!1})));t(F),!o&&F.length>0&&F[0]&&u(F[0])}catch(D){console.error("Error fetching tables:",D)}})()},[e]),(0,v.useEffect)(()=>{(async()=>{if(!o?.id){r(!0);return}try{r(!1);let[D,B]=await e.introspect();if(D||!B?.schemas){console.error("Error fetching schema:",D),r(!0);return}let[F,E]=o.id.split(".");if(!F||!E){console.error("Invalid table ID format:",o.id),r(!0);return}let M=B.schemas[F];if(!M){console.error(`Schema ${F} not found`),r(!0);return}let g=M.tables[E];if(!g){console.error(`Table ${E} not found in schema ${F}`),r(!0);return}let d=Object.entries(g.columns).map(([G,de])=>gt(G,de));b(d);let[P,T]=await e.query({schema:F,table:E,filters:[],sortings:[]});if(P||!T){console.error(`Failed to fetch data for table ${E}:`,P),r(!0);return}let q=T.rows.map(G=>{let de={};return Object.entries(G).forEach(([Me,ve])=>{de[Me]=ve.value}),de});C(q),r(!0)}catch(D){console.error("Error fetching table data:",D),r(!0)}})()},[e,o]),!L&&a.length===0?(0,H.jsx)("div",{children:"Loading available tables..."}):L&&a.length===0?(0,H.jsx)("div",{children:"No tables found in the database."}):(0,H.jsx)(Aa,{children:(0,H.jsx)(Ha.NuqsAdapter,{children:(0,H.jsx)(Oa.Provider,{value:{adapter:e,currentTable:o,isLoaded:L,tables:a,favoriteTableIds:R,setCurrentTable:u,toggleFavorite:ne},children:(0,H.jsxs)("div",{className:"ps-flex ps-gap-4 ps-w-full ps-rounded-sm ps-bg-background ps-p-4 ps-relative",children:[(0,H.jsx)(Ua,{}),(0,H.jsx)("div",{className:"ps-flex ps-w-full ps-flex-col ps-border ps-rounded-lg",children:(0,H.jsx)(Ta,{columns:S,data:f})})]})})})})},_e=ht;0&&(module.exports={Studio});
|
|
2
2
|
/*! Bundled license information:
|
|
3
3
|
|
|
4
4
|
lucide-react/dist/esm/shared/src/utils.js:
|
package/dist/ui/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"../chunk-2FW6TKD6.js";import"../index-HDG3ED52.css";import Ft,{createContext as qt,useContext as Ut,useEffect as ha,useState as Se}from"react";import{useState as le,useMemo as dt,useEffect as st}from"react";import{getCoreRowModel as rt,useReactTable as ft,getFilteredRowModel as it,getSortedRowModel as nt,getPaginationRowModel as ct}from"@tanstack/react-table";import{DndContext as pt,useSensor as mt,useSensors as Lt,MouseSensor as xt}from"@dnd-kit/core";import{SortableContext as It,horizontalListSortingStrategy as Ct,useSortable as gt}from"@dnd-kit/sortable";import{CSS as ht}from"@dnd-kit/utilities";import*as N from"react";import{clsx as wa}from"clsx";import{twMerge as ka}from"tailwind-merge";function l(...e){return ka(wa(e))}import{jsx as O}from"react/jsx-runtime";var ve=N.forwardRef(({className:e,...a},t)=>O("div",{className:"ps-relative ps-w-full ps-overflow-auto ps-flex ps-items-start ps-h-full",children:O("table",{ref:t,className:l("ps-w-full ps-caption-bottom ps-text-sm table-fixed",e),...a})}));ve.displayName="Table";var ye=N.forwardRef(({className:e,...a},t)=>O("thead",{ref:t,className:l("[&_tr]:ps-border-b",e),...a}));ye.displayName="TableHeader";var De=N.forwardRef(({className:e,...a},t)=>O("tbody",{ref:t,className:l("[&_tr:last-child]:ps-border-0",e),...a}));De.displayName="TableBody";var ba=N.forwardRef(({className:e,...a},t)=>O("tfoot",{ref:t,className:l("ps-border-t ps-bg-muted/50 ps-font-medium [&>tr]:last:ps-border-b-0",e),...a}));ba.displayName="TableFooter";var se=N.forwardRef(({className:e,...a},t)=>O("tr",{ref:t,className:l("ps-border-b ps-transition-colors hover:ps-bg-muted/50 data-[state=selected]:ps-bg-muted",e),...a}));se.displayName="TableRow";var ke=N.forwardRef(({className:e,...a},t)=>O("th",{ref:t,className:l("ps-h-10 ps-px-2 ps-text-left ps-align-middle ps-font-medium ps-text-muted-foreground [&:has([role=checkbox])]:ps-pr-0 [&>[role=checkbox]]:ps-translate-y-[2px]",e),...a}));ke.displayName="TableHead";var re=N.forwardRef(({className:e,...a},t)=>O("td",{ref:t,className:l("ps-p-2 ps-align-middle [&:has([role=checkbox])]:ps-pr-0 [&>[role=checkbox]]:ps-translate-y-[2px]",e),...a}));re.displayName="TableCell";var Ra=N.forwardRef(({className:e,...a},t)=>O("caption",{ref:t,className:l("ps-mt-4 ps-text-sm ps-text-muted-foreground",e),...a}));Ra.displayName="TableCaption";import*as Ze from"react";import{Slot as Ma}from"@radix-ui/react-slot";import{cva as va}from"class-variance-authority";import{jsx as Da}from"react/jsx-runtime";var ya=va("ps-inline-flex ps-items-center ps-justify-center ps-gap-2 ps-whitespace-nowrap ps-rounded-md ps-text-sm ps-font-medium ps-transition-colors focus-visible:ps-outline-none focus-visible:ps-ring-1 focus-visible:ps-ring-ring disabled:ps-pointer-events-none disabled:ps-opacity-50 [&_svg]:ps-pointer-events-none [&_svg]:ps-size-4 [&_svg]:ps-shrink-0",{variants:{variant:{default:"ps-bg-primary ps-text-primary-foreground ps-shadow hover:ps-bg-primary/90",destructive:"ps-bg-destructive ps-text-destructive-foreground ps-shadow-sm hover:ps-bg-destructive/90",outline:"ps-border ps-border-input ps-bg-background ps-shadow-sm hover:ps-bg-accent hover:ps-text-accent-foreground",secondary:"ps-bg-secondary ps-text-secondary-foreground ps-shadow-sm hover:ps-bg-secondary/80",ghost:"hover:ps-bg-accent hover:ps-text-accent-foreground",link:"ps-text-primary ps-underline-offset-4 hover:ps-underline"},size:{default:"ps-h-9 ps-px-4 ps-py-2",sm:"ps-h-8 ps-rounded-md ps-px-3 ps-text-xs",lg:"ps-h-10 ps-rounded-md ps-px-8",icon:"ps-h-9 ps-w-9"}},defaultVariants:{variant:"default",size:"default"}}),H=Ze.forwardRef(({className:e,variant:a,size:t,asChild:o=!1,...u},m)=>Da(o?Ma:"button",{className:l(ya({variant:a,size:t,className:e})),ref:m,...u}));H.displayName="Button";import*as Je from"react";import{jsx as Ta}from"react/jsx-runtime";var Te=Je.forwardRef(({className:e,type:a,...t},o)=>Ta("input",{type:a,className:l("ps-flex ps-h-9 ps-w-full ps-rounded-md ps-border ps-border-input ps-bg-transparent ps-px-3 ps-py-1 ps-text-base ps-shadow-sm ps-transition-colors file:ps-border-0 file:ps-bg-transparent file:ps-text-sm file:ps-font-medium file:ps-text-foreground placeholder:ps-text-muted-foreground focus-visible:ps-outline-none focus-visible:ps-ring-1 focus-visible:ps-ring-ring disabled:ps-cursor-not-allowed disabled:ps-opacity-50 md:ps-text-sm",e),ref:o,...t}));Te.displayName="Input";import*as J from"react";import*as i from"@radix-ui/react-select";import{forwardRef as Ba,createElement as Fa}from"react";var Qe=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),be=(...e)=>e.filter((a,t,o)=>!!a&&o.indexOf(a)===t).join(" ");import{forwardRef as Aa,createElement as je}from"react";var _e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var $e=Aa(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:u="",children:m,iconNode:r,...f},x)=>je("svg",{ref:x,..._e,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:be("lucide",u),...f},[...r.map(([C,h])=>je(C,h)),...Array.isArray(m)?m:[m]]));var p=(e,a)=>{let t=Ba(({className:o,...u},m)=>Fa($e,{ref:m,iconNode:a,className:be(`lucide-${Qe(e)}`,o),...u}));return t.displayName=`${e}`,t};var K=p("ArrowDownWideNarrow",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"M11 4h10",key:"1w87gc"}],["path",{d:"M11 8h7",key:"djye34"}],["path",{d:"M11 12h4",key:"q8tih4"}]]);var fe=p("ArrowUpWideNarrow",[["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}],["path",{d:"M11 12h10",key:"1438ji"}],["path",{d:"M11 16h7",key:"uosisv"}],["path",{d:"M11 20h4",key:"1krc32"}]]);var E=p("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);var ae=p("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);var ie=p("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var G=p("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var ne=p("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);var ce=p("ChevronsLeft",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]);var pe=p("ChevronsRight",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);var j=p("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var me=p("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"}]]);var Z=p("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);var Le=p("Link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);var xe=p("PinOff",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);var Ie=p("Pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);var Ce=p("Star",[["polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",key:"8f66p6"}]]);import{jsx as P,jsxs as qe}from"react/jsx-runtime";var Ye=i.Root;var ea=i.Value,Ae=J.forwardRef(({className:e,children:a,...t},o)=>qe(i.Trigger,{ref:o,className:l("ps-flex ps-h-9 ps-w-full ps-items-center ps-justify-between ps-whitespace-nowrap ps-rounded-md ps-border ps-border-input ps-bg-transparent ps-px-3 ps-py-2 ps-text-sm ps-shadow-sm ps-ring-offset-background data-[placeholder]:ps-text-muted-foreground focus:ps-outline-none focus:ps-ring-1 focus:ps-ring-ring disabled:ps-cursor-not-allowed disabled:ps-opacity-50 [&>span]:ps-line-clamp-1",e),...t,children:[a,P(i.Icon,{asChild:!0,children:P(ae,{className:"ps-h-4 ps-w-4 ps-opacity-50"})})]}));Ae.displayName=i.Trigger.displayName;var aa=J.forwardRef(({className:e,...a},t)=>P(i.ScrollUpButton,{ref:t,className:l("ps-flex ps-cursor-default ps-items-center ps-justify-center ps-py-1",e),...a,children:P(ne,{className:"ps-h-4 ps-w-4"})}));aa.displayName=i.ScrollUpButton.displayName;var ta=J.forwardRef(({className:e,...a},t)=>P(i.ScrollDownButton,{ref:t,className:l("ps-flex ps-cursor-default ps-items-center ps-justify-center ps-py-1",e),...a,children:P(ae,{className:"ps-h-4 ps-w-4"})}));ta.displayName=i.ScrollDownButton.displayName;var Be=J.forwardRef(({className:e,children:a,position:t="popper",...o},u)=>P(i.Portal,{children:qe(i.Content,{ref:u,className:l("ps-relative ps-z-50 ps-max-h-[--radix-select-content-available-height] ps-min-w-[8rem] ps-overflow-y-auto ps-overflow-x-hidden ps-rounded-md ps-border ps-bg-popover ps-text-popover-foreground ps-shadow-md data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-select-content-transform-origin]",t==="popper"&&"data-[side=bottom]:ps-translate-y-1 data-[side=left]:ps--translate-x-1 data-[side=right]:ps-translate-x-1 data-[side=top]:ps--translate-y-1",e),position:t,...o,children:[P(aa,{}),P(i.Viewport,{className:l("ps-p-1",t==="popper"&&"ps-h-[var(--radix-select-trigger-height)] ps-w-full ps-min-w-[var(--radix-select-trigger-width)]"),children:a}),P(ta,{})]})}));Be.displayName=i.Content.displayName;var qa=J.forwardRef(({className:e,...a},t)=>P(i.Label,{ref:t,className:l("ps-px-2 ps-py-1.5 ps-text-sm ps-font-semibold",e),...a}));qa.displayName=i.Label.displayName;var Fe=J.forwardRef(({className:e,children:a,...t},o)=>qe(i.Item,{ref:o,className:l("ps-relative ps-flex ps-w-full ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-2 ps-pr-8 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),...t,children:[P("span",{className:"ps-absolute ps-right-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:P(i.ItemIndicator,{children:P(E,{className:"ps-h-4 ps-w-4"})})}),P(i.ItemText,{children:a})]}));Fe.displayName=i.Item.displayName;var Ua=J.forwardRef(({className:e,...a},t)=>P(i.Separator,{ref:t,className:l("ps--mx-1 ps-my-1 ps-h-px ps-bg-muted",e),...a}));Ua.displayName=i.Separator.displayName;import{jsx as k,jsxs as $}from"react/jsx-runtime";var Ha=[10,20,50,100];function oa({table:e,variant:a="basic",className:t}){let{pageSize:o,pageIndex:u}=e.getState().pagination,m=e.getPageCount();return k("div",{className:l("ps-flex ps-items-center ps-justify-between ps-space-x-2 ps-py-4 ps-px-4",t),children:a==="basic"?$("div",{className:"ps-flex ps-items-center ps-space-x-2",children:[k(H,{variant:"outline",size:"sm",className:"ps-h-9",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),children:"Previous"}),k(H,{variant:"outline",size:"sm",className:"ps-h-9",onClick:()=>e.nextPage(),disabled:!e.getCanNextPage(),children:"Next"})]}):$("div",{className:"ps-flex ps-items-center ps-space-x-2",children:[$("div",{className:"ps-flex ps-items-center ps-space-x-2",children:[k(H,{variant:"outline",onClick:()=>e.setPageIndex(0),disabled:!e.getCanPreviousPage(),children:k(ce,{className:"ps-w-4 ps-h-4"})}),k(H,{variant:"outline",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),children:k(ie,{className:"ps-w-4 ps-h-4"})}),$("div",{className:"ps-flex ps-items-center ps-gap-1 ps-text-xs ps-font-medium",children:["Page",k(Te,{type:"number",min:1,max:m,value:u+1,className:"ps-w-12",onChange:r=>{let f=r.target.value?Number(r.target.value)-1:0;e.setPageIndex(f)}}),$("span",{className:"ps-shrink-0 ps-w-max",children:["of ",m]})]}),k(H,{variant:"outline",onClick:()=>e.nextPage(),disabled:!e.getCanNextPage(),children:k(G,{className:"ps-w-4 ps-h-4"})}),k(H,{variant:"outline",onClick:()=>e.setPageIndex(m-1),disabled:!e.getCanNextPage(),children:k(pe,{className:"ps-w-4 ps-h-4"})})]}),$(Ye,{value:o.toString(),onValueChange:r=>e.setPageSize(Number(r)),children:[k(Ae,{children:k(ea,{})}),k(Be,{children:Ha.map(r=>$(Fe,{value:r.toString(),children:[r," per page"]},r))})]})]})})}import*as b from"react";import*as z from"@radix-ui/react-popover";import{jsx as ge}from"react/jsx-runtime";var la=b.createContext(null),Ue=({children:e,...a})=>{let[t,o]=b.useState(!1);return ge(la.Provider,{value:{open:t,setOpen:o},children:ge(z.Root,{open:t,onOpenChange:o,...a,children:e})})};Ue.displayName="PopoverCell";var He=b.forwardRef(({children:e,onDoubleClick:a,className:t,...o},u)=>{let m=b.useContext(la),[r,f]=b.useState(!1),x=b.useRef(null);return b.useEffect(()=>{let S=de=>{let F=de.target;x.current&&!x.current.contains(F)&&(console.log("Outside click - removing focus"),f(!1))};return document.addEventListener("click",S),()=>document.removeEventListener("click",S)},[]),ge(z.Trigger,{ref:S=>{typeof u=="function"?u(S):u&&(u.current=S),x.current=S},onClick:S=>{S.preventDefault(),console.log("Click handler - setting focus to true"),f(!0)},onDoubleClick:S=>{S.preventDefault(),m?.setOpen(!0),a?.()},"data-focus":r.toString(),className:l("w-full h-full cursor-pointer",t),...o,children:e})});He.displayName="PopoverCellTrigger";var Oe=b.forwardRef(({className:e,align:a="center",sideOffset:t=4,...o},u)=>ge(z.Portal,{children:ge(z.Content,{ref:u,align:a,sideOffset:t,className:l("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...o})}));Oe.displayName=z.Content.displayName;import{tokyoNight as Za}from"@uiw/codemirror-theme-tokyo-night";import Ja from"@uiw/react-codemirror";import{jsx as Oa}from"react/jsx-runtime";function ua(){return Oa("code",{className:"ps-text-gray-500",children:"NULL"})}import{isValidElement as Ka}from"react";import*as V from"react";import*as n from"@radix-ui/react-context-menu";import{jsx as R,jsxs as Ge}from"react/jsx-runtime";var da=n.Root,sa=n.Trigger;var Na=V.forwardRef(({className:e,inset:a,children:t,...o},u)=>Ge(n.SubTrigger,{ref:u,className:l("ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-px-2 ps-py-1.5 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[state=open]:ps-bg-accent data-[state=open]:ps-text-accent-foreground",a&&"ps-pl-8",e),...o,children:[t,R(G,{className:"ps-ml-auto ps-h-4 ps-w-4"})]}));Na.displayName=n.SubTrigger.displayName;var Ea=V.forwardRef(({className:e,...a},t)=>R(n.SubContent,{ref:t,className:l("ps-z-50 ps-min-w-[8rem] ps-overflow-hidden ps-rounded-md ps-border ps-bg-popover ps-p-1 ps-text-popover-foreground ps-shadow-lg data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-context-menu-content-transform-origin]",e),...a}));Ea.displayName=n.SubContent.displayName;var Ne=V.forwardRef(({className:e,...a},t)=>R(n.Portal,{children:R(n.Content,{ref:t,className:l("ps-z-50 ps-max-h-[--radix-context-menu-content-available-height] ps-min-w-[8rem] ps-overflow-y-auto ps-overflow-x-hidden ps-rounded-md ps-border ps-bg-popover ps-p-1 ps-text-popover-foreground ps-shadow-md data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-context-menu-content-transform-origin]",e),...a})}));Ne.displayName=n.Content.displayName;var Ee=V.forwardRef(({className:e,inset:a,...t},o)=>R(n.Item,{ref:o,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-px-2 ps-py-1.5 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",a&&"ps-pl-8",e),...t}));Ee.displayName=n.Item.displayName;var Ga=V.forwardRef(({className:e,children:a,checked:t,...o},u)=>Ge(n.CheckboxItem,{ref:u,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-8 ps-pr-2 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),checked:t,...o,children:[R("span",{className:"ps-absolute ps-left-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:R(n.ItemIndicator,{children:R(E,{className:"ps-h-4 ps-w-4"})})}),a]}));Ga.displayName=n.CheckboxItem.displayName;var za=V.forwardRef(({className:e,children:a,...t},o)=>Ge(n.RadioItem,{ref:o,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-8 ps-pr-2 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),...t,children:[R("span",{className:"ps-absolute ps-left-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:R(n.ItemIndicator,{children:R(j,{className:"ps-h-4 ps-w-4 ps-fill-current"})})}),a]}));za.displayName=n.RadioItem.displayName;var Va=V.forwardRef(({className:e,inset:a,...t},o)=>R(n.Label,{ref:o,className:l("ps-px-2 ps-py-1.5 ps-text-sm ps-font-semibold ps-text-foreground",a&&"ps-pl-8",e),...t}));Va.displayName=n.Label.displayName;var Wa=V.forwardRef(({className:e,...a},t)=>R(n.Separator,{ref:t,className:l("ps--mx-1 ps-my-1 ps-h-px ps-bg-border",e),...a}));Wa.displayName=n.Separator.displayName;var Xa=({className:e,...a})=>R("span",{className:l("ps-ml-auto ps-text-xs ps-tracking-widest ps-text-muted-foreground",e),...a});Xa.displayName="ContextMenuShortcut";import{jsx as ze,jsxs as ra}from"react/jsx-runtime";var Ve=e=>{if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return String(e);if(e==null)return"";if(Ka(e)){let a=e.props;return e.type&&typeof e.type=="function"&&e.type.name==="RevealText"?a.text||"":e.type&&typeof e.type=="function"&&e.type.name==="NullValue"?"NULL":a.children?Ve(a.children):""}return Array.isArray(e)?e.map(Ve).join(""):""},fa=({children:e})=>ra(da,{children:[ze(sa,{className:"ps-block ps-w-full ps-p-[var(--studio-cell-spacing)]",children:e}),ze(Ne,{children:ra(Ee,{onClick:()=>{let a=Ve(e);navigator.clipboard.writeText(a)},className:"ps-flex ps-items-center ps-gap-2",children:[ze(me,{size:12}),"Copy"]})})]});import{jsx as te,jsxs as Qa}from"react/jsx-runtime";function ia({cell:e,getPinningStyles:a,dataType:t,isRelational:o,relatesTo:u,relationField:m}){let r=e.getValue(),f=r==null,x=C=>{if(C==null)return"NULL";if(typeof C=="object")try{return JSON.stringify(C,null,2)}catch(h){return console.error("Error stringifying value:",h),String(C)}return String(C)};return Qa(Ue,{children:[te(He,{asChild:!0,children:te(re,{...a(e.column),"data-cell-type":"data","data-type":t.toLowerCase(),"data-relational":o?"true":void 0,"data-relates-to":u,"data-relation-field":m,className:l(a(e.column).className,"ps-p-0",e.column.getIsPinned()&&"ps-sticky"),children:te(fa,{children:f?te(ua,{}):x(r)})})}),te(Oe,{align:"start",alignOffset:0,sideOffset:0,className:"ps-min-w-(--radix-popover-trigger-width) ps-rounded-none ps-bg-muted ps-p-0",children:te(Ja,{value:x(r),theme:Za,height:"100px",basicSetup:{lineNumbers:!0,foldGutter:!1,dropCursor:!1,allowMultipleSelections:!1,indentOnInput:!1},onChange:C=>{console.log("New value:",C)}})})]},e.id)}import{jsx as _a}from"react/jsx-runtime";function na({cell:e,getPinningStyles:a,dataType:t}){let o={cell:e,getPinningStyles:a},u=e.column.columnDef.meta,m={...o,isRelational:u?.isRelational,relatesTo:u?.relatesTo,relationField:u?.relationField};return _a(ia,{...m,dataType:t||"STRING"})}import{flexRender as lt}from"@tanstack/react-table";import*as W from"react";import*as c from"@radix-ui/react-dropdown-menu";import{jsx as M,jsxs as Xe}from"react/jsx-runtime";var ca=c.Root,pa=c.Trigger;var ja=W.forwardRef(({className:e,inset:a,children:t,...o},u)=>Xe(c.SubTrigger,{ref:u,className:l("ps-flex ps-cursor-default ps-select-none ps-items-center ps-gap-2 ps-rounded-sm ps-px-2 ps-py-1.5 ps-text-sm ps-outline-none focus:ps-bg-accent data-[state=open]:ps-bg-accent [&_svg]:ps-pointer-events-none [&_svg]:ps-size-4 [&_svg]:ps-shrink-0",a&&"ps-pl-8",e),...o,children:[t,M(G,{className:"ps-ml-auto"})]}));ja.displayName=c.SubTrigger.displayName;var $a=W.forwardRef(({className:e,...a},t)=>M(c.SubContent,{ref:t,className:l("ps-z-50 ps-min-w-[8rem] ps-overflow-hidden ps-rounded-md ps-border ps-bg-popover ps-p-1 ps-text-popover-foreground ps-shadow-lg data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-dropdown-menu-content-transform-origin]",e),...a}));$a.displayName=c.SubContent.displayName;var We=W.forwardRef(({className:e,sideOffset:a=4,...t},o)=>M(c.Portal,{children:M(c.Content,{ref:o,sideOffset:a,className:l("ps-z-50 ps-max-h-[var(--radix-dropdown-menu-content-available-height)] ps-min-w-[8rem] ps-overflow-y-auto ps-overflow-x-hidden ps-rounded-md ps-border ps-bg-popover ps-p-1 ps-text-popover-foreground ps-shadow-md","data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-dropdown-menu-content-transform-origin]",e),...t})}));We.displayName=c.Content.displayName;var Re=W.forwardRef(({className:e,inset:a,...t},o)=>M(c.Item,{ref:o,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-gap-2 ps-rounded-sm ps-px-2 ps-py-1.5 ps-text-sm ps-outline-none ps-transition-colors focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50 [&>svg]:ps-size-4 [&>svg]:ps-shrink-0",a&&"ps-pl-8",e),...t}));Re.displayName=c.Item.displayName;var Ya=W.forwardRef(({className:e,children:a,checked:t,...o},u)=>Xe(c.CheckboxItem,{ref:u,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-8 ps-pr-2 ps-text-sm ps-outline-none ps-transition-colors focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),checked:t,...o,children:[M("span",{className:"ps-absolute ps-left-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:M(c.ItemIndicator,{children:M(E,{className:"ps-h-4 ps-w-4"})})}),a]}));Ya.displayName=c.CheckboxItem.displayName;var et=W.forwardRef(({className:e,children:a,...t},o)=>Xe(c.RadioItem,{ref:o,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-8 ps-pr-2 ps-text-sm ps-outline-none ps-transition-colors focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),...t,children:[M("span",{className:"ps-absolute ps-left-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:M(c.ItemIndicator,{children:M(j,{className:"ps-h-2 ps-w-2 ps-fill-current"})})}),a]}));et.displayName=c.RadioItem.displayName;var at=W.forwardRef(({className:e,inset:a,...t},o)=>M(c.Label,{ref:o,className:l("ps-px-2 ps-py-1.5 ps-text-sm ps-font-semibold",a&&"ps-pl-8",e),...t}));at.displayName=c.Label.displayName;var tt=W.forwardRef(({className:e,...a},t)=>M(c.Separator,{ref:t,className:l("ps--mx-1 ps-my-1 ps-h-px ps-bg-muted",e),...a}));tt.displayName=c.Separator.displayName;var ot=({className:e,...a})=>M("span",{className:l("ps-ml-auto ps-text-xs ps-tracking-widest ps-opacity-60",e),...a});ot.displayName="DropdownMenuShortcut";import{jsx as v,jsxs as Q}from"react/jsx-runtime";function Ke({header:e}){let a=e.column.columnDef.meta,t=a?.dataType,o=a?.isRelational;return Q("div",{className:"ps-flex ps-items-center ps-justify-between ps-w-full ps-h-full",children:[Q("div",{className:"ps-flex-1 ps-flex ps-items-center ps-justify-between",children:[o&&v(Le,{size:14,className:"text-blue-700"}),Q("div",{className:"ps-align-text-bottom ps-leading-none ps-h-[20px]",children:[v("span",{className:"ps-inline-block ps-text-foreground ps-font-bold ps-text-sm",children:e.isPlaceholder?null:lt(e.column.columnDef.header,e.getContext())}),t&&t!=="NONE"&&v("span",{className:"ps-inline-block ps-ml-2 ps-text-xs ps-font-mono ps-text-muted-foreground/70 ps-lowercase",children:t})]}),v("span",{className:"ps-flex ps-items-center ps-gap-1",children:e.column.getCanPin()&&e.column.id!=="select"&&Q(ca,{children:[v(pa,{asChild:!0,children:v(H,{variant:"ghost",size:"icon",children:v(Z,{size:16})})}),Q(We,{children:[e.column.getCanSort()&&v(Re,{onClick:()=>e.column.toggleSorting(e.column.getIsSorted()==="asc"),children:Q("span",{className:"ps-flex ps-items-center ps-gap-2",children:[e.column.getIsSorted()==="asc"?v(K,{size:16}):v(fe,{size:16}),e.column.getIsSorted()==="asc"?"Sort descending":"Sort ascending"]})}),v(Re,{onClick:()=>e.column.pin(e.column.getIsPinned()?!1:"left"),children:e.column.getIsPinned()?Q("span",{className:"ps-flex ps-items-center ps-gap-2",children:[v(xe,{size:16}),"Unpin column"]}):Q("span",{className:"ps-flex ps-items-center ps-gap-2",children:[v(Ie,{size:16}),"Pin column"]})})]})]})})]}),e.column.getCanResize()&&v("div",{onMouseDown:u=>{u.stopPropagation(),e.getResizeHandler()(u)},onTouchStart:u=>{u.stopPropagation(),e.getResizeHandler()(u)},onClick:u=>u.stopPropagation(),className:l("ps-absolute ps-right-0 ps-top-0 ps-h-full ps-w-3 ps-cursor-col-resize","ps-select-none ps-touch-none ps-transition-colors ps-group",e.column.getIsResizing()&&"ps-bg-gray-300","before:ps-absolute before:ps-right-[3px] before:ps-top-1/2 before:ps--translate-y-1/2","after:ps-absolute after:ps-right-[7px] after:ps-top-1/2 after:ps--translate-y-1/2","before:ps-w-[2px] before:ps-h-0 before:ps-bg-gray-400 before:ps-rounded-full before:ps-opacity-0","after:ps-w-[2px] after:ps-h-0 after:ps-bg-gray-400 after:ps-rounded-full after:ps-opacity-0","before:ps-transition-all before:ps-duration-200","after:ps-transition-all after:ps-duration-200","group-hover:before:ps-opacity-100","group-hover:after:ps-opacity-100","group-hover:before:ps-h-4","group-hover:after:ps-h-4","group-active:ps-bg-transparent group-active:before:ps-bg-white group-active:after:ps-bg-white",e.column.getIsResizing()&&"before:ps-opacity-100"),"aria-label":"Resize column"})]})}import{jsx as ma,jsxs as ut}from"react/jsx-runtime";function La(){let{currentTable:e,favoriteTableIds:a,toggleFavorite:t,isLoaded:o}=oe();if(!o||!e)return null;let u=a.has(e.id);return ut("button",{type:"button",onClick:()=>t(e.id),className:l("ps-appearance-none",u&&"ps-text-yellow-500"),children:[ma(Ce,{size:12,className:l("ps-transition-colors",u&&"ps-fill-yellow-500")}),ma("span",{className:"ps-sr-only",children:u?"Remove from favorites":"Add to favorites"})]})}var he=e=>{let a=e.getIsPinned(),t=a==="left"&&e.getIsLastColumn("left"),o=a==="right"&&e.getIsFirstColumn("right");return{className:l("ps-overflow-hidden ps-whitespace-nowrap ps-text-ellipsis",a&&["ps-sticky ps-bg-background ps-shadow-[1px_0_0_0_hsl(var(--border))]",a==="left"?"ps-left-0":"ps-right-0","ps-z-20"],!a&&"ps-relative ps-z-10",t&&"ps-shadow-[1px_0_0_0_hsl(var(--border))]",o&&"ps-shadow-[-1px_0_0_0_hsl(var(--border))]"),style:{width:e.getSize(),left:a==="left"?`${e.getStart("left")}px`:void 0,right:a==="right"?`${e.getAfter("right")}px`:void 0}}};import{Fragment as wt,jsx as L,jsxs as ue}from"react/jsx-runtime";var St=({table:e})=>{let{currentTable:a,isLoaded:t}=oe();return t?L("div",{className:"ps-flex ps-items-center ps-justify-between ps-w-full ps-gap-2",children:L("div",{className:"ps-flex ps-items-center ps-gap-2",children:ue("span",{className:"ps-flex ps-items-center ps-gap-2",children:[L(La,{}),L("h1",{className:"ps-text-sm ps-font-medium",children:a?.name})]})})}):null},Pt=({header:e,children:a,getPinningStyles:t})=>{let{attributes:o,listeners:u,transform:m,transition:r,setNodeRef:f,isDragging:x,isOver:C}=gt({id:e.id}),h=e.column.columnDef.meta,S={transform:ht.Transform.toString(m),transition:r,...t(e.column).style,cursor:"grab",touchAction:"none"};return ue(ke,{ref:f,...o,...u,style:S,"data-relational":h?.isRelational?"true":void 0,"data-relates-to":h?.relatesTo,"data-relation-field":h?.relationField,className:l("ps-group",t(e.column).className,x&&"ps-opacity-50",C&&"ps-bg-gray-100","ps-select-none ps-touch-none ps-relative",e.column.getIsPinned()&&"ps-sticky"),children:[a,C&&L("div",{className:"ps-absolute ps-inset-0 ps-border-2 ps-border-primary ps-rounded-sm ps-pointer-events-none"})]})};function xa({data:e=[],columns:a}){console.log("Data received in StudioGrid:",e);let[t,o]=le([]),[u,m]=le([]),[r,f]=le({}),[x,C]=le({left:[],right:[]}),[h,S]=le([]),[de,F]=le("");st(()=>{if(a&&a.length>0){let I=a.map(B=>B.id);if(h.length===0){S(I);return}let d=[...h],g=d.filter(B=>!a.some(U=>U.id===B));g.forEach(B=>{let U=d.indexOf(B);U!==-1&&d.splice(U,1)});let D=I.filter(B=>!d.includes(B));D.length>0&&d.push(...D),(g.length>0||D.length>0)&&S(d)}},[a,h]);let y=mt(xt,{activationConstraint:{distance:10}}),T=Lt(y),A=I=>{let{active:d,over:g}=I;if(g&&d.id!==g.id){let D=w.getColumn(d.id),B=w.getColumn(g.id);if(!D||!B)return;let U=D.getIsPinned(),ee=B.getIsPinned();if(U!==ee)return;let Pe=h.indexOf(d.id),we=h.indexOf(g.id);if(Pe===-1||we===-1)return;let Me=[...h];Me.splice(Pe,1),Me.splice(we,0,d.id),S(Me)}},q=dt(()=>{if(!a||a.length===0)return console.log("No columns configuration available"),[];let I=(d,g)=>{if(d==null)return"";switch(g){case"TIMESTAMP":return d?new Date(d).toLocaleString():"";case"UUID":case"STRING":return String(d);default:return String(d)}};return a.map(d=>({accessorKey:d.id,header:()=>L("div",{className:"ps-font-medium",children:d.id}),cell:({getValue:g})=>I(g(),d.type),meta:{dataType:d.type,isRelational:d.isRelational,relatesTo:d.relatesTo,relationField:d.relationField}}))},[a]),w=ft({data:e||[],defaultColumn:{size:200,minSize:50,maxSize:500},columns:q,getCoreRowModel:rt(),onSortingChange:o,getSortedRowModel:nt(),getPaginationRowModel:ct(),getFilteredRowModel:it(),onColumnFiltersChange:m,enableColumnResizing:!0,columnResizeMode:"onChange",onColumnSizingChange:f,enableColumnPinning:!0,onColumnPinningChange:C,onGlobalFilterChange:F,globalFilterFn:(I,d,g)=>{let D=I.getValue(d);return D==null?!1:String(D).toLowerCase().includes(String(g).toLowerCase())},state:{sorting:t,columnFilters:u,columnSizing:r,columnPinning:x,columnOrder:h,globalFilter:de}});return!e||e.length===0?ue("div",{className:"ps-p-4 ps-border ps-rounded-md ps-w-full",children:[L("p",{className:"ps-text-lg ps-font-semibold",children:"No data available."}),L("p",{className:"ps-text-sm ps-text-gray-500",children:e?"Data array is empty.":"Data is undefined."})]}):ue(wt,{children:[L("div",{className:"ps-bg-studio-header-background ps-flex ps-w-full ps-p-2 ps-py-3 ps-border-b",children:L(St,{table:w})}),L("div",{"data-studio":"content",className:"ps-flex-1 ps-w-0 ps-h-0 ps-min-w-full",children:ue("div",{className:"ps-flex ps-flex-col ps-w-full ps-h-full ps-overflow-scroll",children:[L(pt,{sensors:T,onDragEnd:A,children:ue(ve,{children:[L(ye,{children:w.getHeaderGroups().map(I=>L(se,{className:l("ps-relative",w.getLeftLeafHeaders().some(d=>d.column.getIsPinned()==="left")&&`ps-pl-[${w.getLeftLeafHeaders().filter(d=>d.column.getIsPinned()==="left").reduce((d,g)=>d+g.getSize(),0)}px]`),children:L(It,{items:I.headers.map(d=>d.id),strategy:Ct,children:I.headers.map(d=>d.column.id==="select"?L(ke,{className:l("ps-px-[var(--studio-cell-spacing)]",he(d.column).className,d.column.getIsPinned()&&"ps-sticky"),style:he(d.column).style,"data-cell-type":"select",children:L(Ke,{header:d})},d.id):L(Pt,{header:d,table:w,getPinningStyles:he,children:L(Ke,{header:d})},d.id))})},I.id))}),L(De,{children:w.getRowModel().rows?.length?w.getRowModel().rows.map(I=>L(se,{className:l("ps-bg-table-row ps-odd:bg-table-row-odd ps-group"),children:I.getVisibleCells().map(d=>L(na,{cell:d,getPinningStyles:he,dataType:a.find(g=>g.id===d.column.id)?.type},d.id))},I.id)):L(se,{children:L(re,{colSpan:a.length,className:"ps-h-24 ps-text-center",children:"No results."})})})]})}),L(oa,{table:w,variant:"numeric"})]})})]})}import{createContext as kt,useContext as md,useEffect as bt,useState as Rt}from"react";import{jsx as yt}from"react/jsx-runtime";var Mt={theme:"system",setTheme:()=>null},vt=kt(Mt);function Ia({children:e,defaultTheme:a="system",storageKey:t="vite-ui-theme",...o}){let[u,m]=Rt(()=>localStorage.getItem(t)||a);bt(()=>{let f=window.document.documentElement;if(f.classList.remove("light","dark"),u==="system"){let x=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";f.classList.add(x);return}f.classList.add(u)},[u]);let r={theme:u,setTheme:f=>{localStorage.setItem(t,f),m(f)}};return yt(vt.Provider,{...o,value:r,children:e})}import{NuqsAdapter as Ht}from"nuqs/adapters/react";import{Slot as Dt}from"@radix-ui/react-slot";import{useQueryState as Tt}from"nuqs";import{jsx as _,jsxs as ga}from"react/jsx-runtime";var Y=()=>{let{setCurrentTable:e,currentTable:a,favoriteTableIds:t,tables:o}=oe(),[u,m]=Tt("tableId"),r=f=>{m(f);let x=o.find(C=>C.id===f);x&&e(x)};return ga("div",{className:"ps-flex ps-flex-col ps-w-64 ps-gap-4 ps-shrink-0",children:[_(Y.Block,{label:"Tables",children:o.map(f=>_(Y.Item,{isActive:a?.id===f.id,onClick:x=>{x.preventDefault(),r(f.id)},className:`ps-px-2 ps-py-1 ps-cursor-pointer ps-rounded ${a?.id===f.id?"ps-bg-primary ps-text-white":"ps-hover:ps-bg-gray-100"}`,children:f.name},f.id))}),t.size>0&&_(Y.Block,{label:"Favourites",children:o.filter(f=>t.has(f.id)).map(f=>_(Y.Item,{isActive:a?.id===f.id,onClick:x=>{x.preventDefault(),r(f.id)},children:f.name},f.id))})]})},At=({className:e,label:a,children:t,...o})=>ga("div",{className:l("ps-rounded-lg ps-border ps-bg-card ps-text-card-foreground ps-shadow-xs",e),...o,children:[_("div",{className:"ps-pt-4 ps-pb-2 ps-px-4",children:_("h2",{className:"ps-text-sm ps-font-medium",children:a})}),_("nav",{"aria-label":a,className:"ps-flex ps-flex-col ps-gap-px ps-pb-3",children:t})]}),Bt=({className:e,asChild:a=!1,isActive:t,size:o,...u})=>_(a?Dt:"button",{"data-sidebar":"menu-button","data-size":o,"data-active":t,className:l("ps-py-1.5 ps-px-4 ps-text-sm ps-font-medium ps-flex ps-gap-2 ps-items-center ps-border ps-border-transparent ps-bg-transparent ps-hover:bg-muted/50",e),...u});Y.Block=At;Y.Item=Bt;var Ca=Y;import{jsx as X,jsxs as Gt}from"react/jsx-runtime";var Sa=qt(void 0),oe=()=>{let e=Ut(Sa);if(!e)throw new Error("useStudio must be used within a Studio.Provider");return e},Ot={integer:"INTEGER",varchar:"VARCHAR",text:"TEXT",enum:"STRING",boolean:"BOOLEAN"};function Nt(e,a){return{id:e,accessorKey:e,header:e.charAt(0).toUpperCase()+e.slice(1),type:Ot[a.dataType.name]||"STRING",nullable:a.nullable,isKey:a.partOfPk}}var Et=({adapter:e})=>{if(!e)return console.error("No adapter provided to Studio component"),X("div",{children:"Error: No adapter provided"});let[a,t]=Se([]),[o,u]=Se(null),[m,r]=Se(!1),[f,x]=Se([]),[C,h]=Se([]),S=Ft.useMemo(()=>new Set(a.filter(F=>F.isFavorite).map(F=>F.id)),[a]),de=F=>{t(y=>y.map(T=>T.id===F?{...T,isFavorite:!T.isFavorite}:T))};return ha(()=>{(async()=>{try{let[y,T]=await e.introspect();if(y||!T?.schemas){console.error("Error fetching schema:",y);return}let A=Object.entries(T.schemas).flatMap(([q,w])=>Object.entries(w.tables).map(([I])=>({id:`${q}.${I}`,name:I.charAt(0).toUpperCase()+I.slice(1),schema:q,isFavorite:!1})));t(A),!o&&A.length>0&&A[0]&&u(A[0])}catch(y){console.error("Error fetching tables:",y)}})()},[e]),ha(()=>{(async()=>{if(!o?.id){r(!0);return}try{r(!1);let[y,T]=await e.introspect();if(y||!T?.schemas){console.error("Error fetching schema:",y),r(!0);return}let[A,q]=o.id.split(".");if(!A||!q){console.error("Invalid table ID format:",o.id),r(!0);return}let w=T.schemas[A];if(!w){console.error(`Schema ${A} not found`),r(!0);return}let I=w.tables[q];if(!I){console.error(`Table ${q} not found in schema ${A}`),r(!0);return}let d=Object.entries(I.columns).map(([U,ee])=>Nt(U,ee));h(d);let[g,D]=await e.query({schema:A,table:q,filters:[],sortings:[]});if(g||!D){console.error(`Failed to fetch data for table ${q}:`,g),r(!0);return}let B=D.rows.map(U=>{let ee={};return Object.entries(U).forEach(([Pe,we])=>{ee[Pe]=we.value}),ee});x(B),r(!0)}catch(y){console.error("Error fetching table data:",y),r(!0)}})()},[e,o]),!m&&a.length===0?X("div",{children:"Loading available tables..."}):m&&a.length===0?X("div",{children:"No tables found in the database."}):X(Ia,{children:X(Ht,{children:X(Sa.Provider,{value:{adapter:e,currentTable:o,isLoaded:m,tables:a,favoriteTableIds:S,setCurrentTable:u,toggleFavorite:de},children:Gt("div",{className:"ps-flex ps-gap-4 ps-w-full ps-rounded-sm ps-bg-background ps-p-4 ps-relative",children:[X(Ca,{}),X("div",{className:"ps-flex ps-w-full ps-flex-col ps-border ps-rounded-lg",children:X(xa,{columns:C,data:f})})]})})})})},Pa=Et;export{Pa as Studio};
|
|
1
|
+
import"../chunk-2FW6TKD6.js";import"../index-FU6KGEKZ.css";import Ft,{createContext as qt,useContext as Ut,useEffect as ha,useState as Se}from"react";import{useState as le,useMemo as dt,useEffect as st}from"react";import{getCoreRowModel as rt,useReactTable as ft,getFilteredRowModel as it,getSortedRowModel as nt,getPaginationRowModel as ct}from"@tanstack/react-table";import{DndContext as pt,useSensor as mt,useSensors as Lt,MouseSensor as xt}from"@dnd-kit/core";import{SortableContext as It,horizontalListSortingStrategy as Ct,useSortable as gt}from"@dnd-kit/sortable";import{CSS as ht}from"@dnd-kit/utilities";import*as N from"react";import{clsx as wa}from"clsx";import{twMerge as ka}from"tailwind-merge";function l(...e){return ka(wa(e))}import{jsx as O}from"react/jsx-runtime";var ve=N.forwardRef(({className:e,...a},t)=>O("div",{className:"ps-relative ps-w-full ps-overflow-auto ps-flex ps-items-start ps-h-full",children:O("table",{ref:t,className:l("ps-w-full ps-caption-bottom ps-text-sm table-fixed",e),...a})}));ve.displayName="Table";var ye=N.forwardRef(({className:e,...a},t)=>O("thead",{ref:t,className:l("[&_tr]:ps-border-b",e),...a}));ye.displayName="TableHeader";var De=N.forwardRef(({className:e,...a},t)=>O("tbody",{ref:t,className:l("[&_tr:last-child]:ps-border-0",e),...a}));De.displayName="TableBody";var ba=N.forwardRef(({className:e,...a},t)=>O("tfoot",{ref:t,className:l("ps-border-t ps-bg-muted/50 ps-font-medium [&>tr]:last:ps-border-b-0",e),...a}));ba.displayName="TableFooter";var se=N.forwardRef(({className:e,...a},t)=>O("tr",{ref:t,className:l("ps-border-b ps-transition-colors hover:ps-bg-muted/50 data-[state=selected]:ps-bg-muted",e),...a}));se.displayName="TableRow";var ke=N.forwardRef(({className:e,...a},t)=>O("th",{ref:t,className:l("ps-h-10 ps-px-2 ps-text-left ps-align-middle ps-font-medium ps-text-muted-foreground [&:has([role=checkbox])]:ps-pr-0 [&>[role=checkbox]]:ps-translate-y-[2px]",e),...a}));ke.displayName="TableHead";var re=N.forwardRef(({className:e,...a},t)=>O("td",{ref:t,className:l("ps-p-2 ps-align-middle [&:has([role=checkbox])]:ps-pr-0 [&>[role=checkbox]]:ps-translate-y-[2px]",e),...a}));re.displayName="TableCell";var Ra=N.forwardRef(({className:e,...a},t)=>O("caption",{ref:t,className:l("ps-mt-4 ps-text-sm ps-text-muted-foreground",e),...a}));Ra.displayName="TableCaption";import*as Ze from"react";import{Slot as Ma}from"@radix-ui/react-slot";import{cva as va}from"class-variance-authority";import{jsx as Da}from"react/jsx-runtime";var ya=va("ps-inline-flex ps-items-center ps-justify-center ps-gap-2 ps-whitespace-nowrap ps-rounded-md ps-text-sm ps-font-medium ps-transition-colors focus-visible:ps-outline-none focus-visible:ps-ring-1 focus-visible:ps-ring-ring disabled:ps-pointer-events-none disabled:ps-opacity-50 [&_svg]:ps-pointer-events-none [&_svg]:ps-size-4 [&_svg]:ps-shrink-0",{variants:{variant:{default:"ps-bg-primary ps-text-primary-foreground ps-shadow hover:ps-bg-primary/90",destructive:"ps-bg-destructive ps-text-destructive-foreground ps-shadow-sm hover:ps-bg-destructive/90",outline:"ps-border ps-border-input ps-bg-background ps-shadow-sm hover:ps-bg-accent hover:ps-text-accent-foreground",secondary:"ps-bg-secondary ps-text-secondary-foreground ps-shadow-sm hover:ps-bg-secondary/80",ghost:"hover:ps-bg-accent hover:ps-text-accent-foreground",link:"ps-text-primary ps-underline-offset-4 hover:ps-underline"},size:{default:"ps-h-9 ps-px-4 ps-py-2",sm:"ps-h-8 ps-rounded-md ps-px-3 ps-text-xs",lg:"ps-h-10 ps-rounded-md ps-px-8",icon:"ps-h-9 ps-w-9"}},defaultVariants:{variant:"default",size:"default"}}),H=Ze.forwardRef(({className:e,variant:a,size:t,asChild:o=!1,...u},m)=>Da(o?Ma:"button",{className:l(ya({variant:a,size:t,className:e})),ref:m,...u}));H.displayName="Button";import*as Je from"react";import{jsx as Ta}from"react/jsx-runtime";var Te=Je.forwardRef(({className:e,type:a,...t},o)=>Ta("input",{type:a,className:l("ps-flex ps-h-9 ps-w-full ps-rounded-md ps-border ps-border-input ps-bg-transparent ps-px-3 ps-py-1 ps-text-base ps-shadow-sm ps-transition-colors file:ps-border-0 file:ps-bg-transparent file:ps-text-sm file:ps-font-medium file:ps-text-foreground placeholder:ps-text-muted-foreground focus-visible:ps-outline-none focus-visible:ps-ring-1 focus-visible:ps-ring-ring disabled:ps-cursor-not-allowed disabled:ps-opacity-50 md:ps-text-sm",e),ref:o,...t}));Te.displayName="Input";import*as J from"react";import*as i from"@radix-ui/react-select";import{forwardRef as Ba,createElement as Fa}from"react";var Qe=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),be=(...e)=>e.filter((a,t,o)=>!!a&&o.indexOf(a)===t).join(" ");import{forwardRef as Aa,createElement as je}from"react";var _e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var $e=Aa(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:u="",children:m,iconNode:r,...f},x)=>je("svg",{ref:x,..._e,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:be("lucide",u),...f},[...r.map(([C,h])=>je(C,h)),...Array.isArray(m)?m:[m]]));var p=(e,a)=>{let t=Ba(({className:o,...u},m)=>Fa($e,{ref:m,iconNode:a,className:be(`lucide-${Qe(e)}`,o),...u}));return t.displayName=`${e}`,t};var K=p("ArrowDownWideNarrow",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"M11 4h10",key:"1w87gc"}],["path",{d:"M11 8h7",key:"djye34"}],["path",{d:"M11 12h4",key:"q8tih4"}]]);var fe=p("ArrowUpWideNarrow",[["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}],["path",{d:"M11 12h10",key:"1438ji"}],["path",{d:"M11 16h7",key:"uosisv"}],["path",{d:"M11 20h4",key:"1krc32"}]]);var E=p("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);var ae=p("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);var ie=p("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var G=p("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var ne=p("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);var ce=p("ChevronsLeft",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]);var pe=p("ChevronsRight",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);var j=p("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var me=p("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"}]]);var Z=p("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);var Le=p("Link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);var xe=p("PinOff",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);var Ie=p("Pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);var Ce=p("Star",[["polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",key:"8f66p6"}]]);import{jsx as P,jsxs as qe}from"react/jsx-runtime";var Ye=i.Root;var ea=i.Value,Ae=J.forwardRef(({className:e,children:a,...t},o)=>qe(i.Trigger,{ref:o,className:l("ps-flex ps-h-9 ps-w-full ps-items-center ps-justify-between ps-whitespace-nowrap ps-rounded-md ps-border ps-border-input ps-bg-transparent ps-px-3 ps-py-2 ps-text-sm ps-shadow-sm ps-ring-offset-background data-[placeholder]:ps-text-muted-foreground focus:ps-outline-none focus:ps-ring-1 focus:ps-ring-ring disabled:ps-cursor-not-allowed disabled:ps-opacity-50 [&>span]:ps-line-clamp-1",e),...t,children:[a,P(i.Icon,{asChild:!0,children:P(ae,{className:"ps-h-4 ps-w-4 ps-opacity-50"})})]}));Ae.displayName=i.Trigger.displayName;var aa=J.forwardRef(({className:e,...a},t)=>P(i.ScrollUpButton,{ref:t,className:l("ps-flex ps-cursor-default ps-items-center ps-justify-center ps-py-1",e),...a,children:P(ne,{className:"ps-h-4 ps-w-4"})}));aa.displayName=i.ScrollUpButton.displayName;var ta=J.forwardRef(({className:e,...a},t)=>P(i.ScrollDownButton,{ref:t,className:l("ps-flex ps-cursor-default ps-items-center ps-justify-center ps-py-1",e),...a,children:P(ae,{className:"ps-h-4 ps-w-4"})}));ta.displayName=i.ScrollDownButton.displayName;var Be=J.forwardRef(({className:e,children:a,position:t="popper",...o},u)=>P(i.Portal,{children:qe(i.Content,{ref:u,className:l("ps-relative ps-z-50 ps-max-h-[--radix-select-content-available-height] ps-min-w-[8rem] ps-overflow-y-auto ps-overflow-x-hidden ps-rounded-md ps-border ps-bg-popover ps-text-popover-foreground ps-shadow-md data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-select-content-transform-origin]",t==="popper"&&"data-[side=bottom]:ps-translate-y-1 data-[side=left]:ps--translate-x-1 data-[side=right]:ps-translate-x-1 data-[side=top]:ps--translate-y-1",e),position:t,...o,children:[P(aa,{}),P(i.Viewport,{className:l("ps-p-1",t==="popper"&&"ps-h-[var(--radix-select-trigger-height)] ps-w-full ps-min-w-[var(--radix-select-trigger-width)]"),children:a}),P(ta,{})]})}));Be.displayName=i.Content.displayName;var qa=J.forwardRef(({className:e,...a},t)=>P(i.Label,{ref:t,className:l("ps-px-2 ps-py-1.5 ps-text-sm ps-font-semibold",e),...a}));qa.displayName=i.Label.displayName;var Fe=J.forwardRef(({className:e,children:a,...t},o)=>qe(i.Item,{ref:o,className:l("ps-relative ps-flex ps-w-full ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-2 ps-pr-8 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),...t,children:[P("span",{className:"ps-absolute ps-right-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:P(i.ItemIndicator,{children:P(E,{className:"ps-h-4 ps-w-4"})})}),P(i.ItemText,{children:a})]}));Fe.displayName=i.Item.displayName;var Ua=J.forwardRef(({className:e,...a},t)=>P(i.Separator,{ref:t,className:l("ps--mx-1 ps-my-1 ps-h-px ps-bg-muted",e),...a}));Ua.displayName=i.Separator.displayName;import{jsx as k,jsxs as $}from"react/jsx-runtime";var Ha=[10,20,50,100];function oa({table:e,variant:a="basic",className:t}){let{pageSize:o,pageIndex:u}=e.getState().pagination,m=e.getPageCount();return k("div",{className:l("ps-flex ps-items-center ps-justify-between ps-space-x-2 ps-py-4 ps-px-4",t),children:a==="basic"?$("div",{className:"ps-flex ps-items-center ps-space-x-2",children:[k(H,{variant:"outline",size:"sm",className:"ps-h-9",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),children:"Previous"}),k(H,{variant:"outline",size:"sm",className:"ps-h-9",onClick:()=>e.nextPage(),disabled:!e.getCanNextPage(),children:"Next"})]}):$("div",{className:"ps-flex ps-items-center ps-space-x-2",children:[$("div",{className:"ps-flex ps-items-center ps-space-x-2",children:[k(H,{variant:"outline",onClick:()=>e.setPageIndex(0),disabled:!e.getCanPreviousPage(),children:k(ce,{className:"ps-w-4 ps-h-4"})}),k(H,{variant:"outline",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),children:k(ie,{className:"ps-w-4 ps-h-4"})}),$("div",{className:"ps-flex ps-items-center ps-gap-1 ps-text-xs ps-font-medium",children:["Page",k(Te,{type:"number",min:1,max:m,value:u+1,className:"ps-w-12",onChange:r=>{let f=r.target.value?Number(r.target.value)-1:0;e.setPageIndex(f)}}),$("span",{className:"ps-shrink-0 ps-w-max",children:["of ",m]})]}),k(H,{variant:"outline",onClick:()=>e.nextPage(),disabled:!e.getCanNextPage(),children:k(G,{className:"ps-w-4 ps-h-4"})}),k(H,{variant:"outline",onClick:()=>e.setPageIndex(m-1),disabled:!e.getCanNextPage(),children:k(pe,{className:"ps-w-4 ps-h-4"})})]}),$(Ye,{value:o.toString(),onValueChange:r=>e.setPageSize(Number(r)),children:[k(Ae,{children:k(ea,{})}),k(Be,{children:Ha.map(r=>$(Fe,{value:r.toString(),children:[r," per page"]},r))})]})]})})}import*as b from"react";import*as z from"@radix-ui/react-popover";import{jsx as ge}from"react/jsx-runtime";var la=b.createContext(null),Ue=({children:e,...a})=>{let[t,o]=b.useState(!1);return ge(la.Provider,{value:{open:t,setOpen:o},children:ge(z.Root,{open:t,onOpenChange:o,...a,children:e})})};Ue.displayName="PopoverCell";var He=b.forwardRef(({children:e,onDoubleClick:a,className:t,...o},u)=>{let m=b.useContext(la),[r,f]=b.useState(!1),x=b.useRef(null);return b.useEffect(()=>{let S=de=>{let F=de.target;x.current&&!x.current.contains(F)&&(console.log("Outside click - removing focus"),f(!1))};return document.addEventListener("click",S),()=>document.removeEventListener("click",S)},[]),ge(z.Trigger,{ref:S=>{typeof u=="function"?u(S):u&&(u.current=S),x.current=S},onClick:S=>{S.preventDefault(),console.log("Click handler - setting focus to true"),f(!0)},onDoubleClick:S=>{S.preventDefault(),m?.setOpen(!0),a?.()},"data-focus":r.toString(),className:l("w-full h-full cursor-pointer",t),...o,children:e})});He.displayName="PopoverCellTrigger";var Oe=b.forwardRef(({className:e,align:a="center",sideOffset:t=4,...o},u)=>ge(z.Portal,{children:ge(z.Content,{ref:u,align:a,sideOffset:t,className:l("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...o})}));Oe.displayName=z.Content.displayName;import{tokyoNight as Za}from"@uiw/codemirror-theme-tokyo-night";import Ja from"@uiw/react-codemirror";import{jsx as Oa}from"react/jsx-runtime";function ua(){return Oa("code",{className:"ps-text-gray-500",children:"NULL"})}import{isValidElement as Ka}from"react";import*as V from"react";import*as n from"@radix-ui/react-context-menu";import{jsx as R,jsxs as Ge}from"react/jsx-runtime";var da=n.Root,sa=n.Trigger;var Na=V.forwardRef(({className:e,inset:a,children:t,...o},u)=>Ge(n.SubTrigger,{ref:u,className:l("ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-px-2 ps-py-1.5 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[state=open]:ps-bg-accent data-[state=open]:ps-text-accent-foreground",a&&"ps-pl-8",e),...o,children:[t,R(G,{className:"ps-ml-auto ps-h-4 ps-w-4"})]}));Na.displayName=n.SubTrigger.displayName;var Ea=V.forwardRef(({className:e,...a},t)=>R(n.SubContent,{ref:t,className:l("ps-z-50 ps-min-w-[8rem] ps-overflow-hidden ps-rounded-md ps-border ps-bg-popover ps-p-1 ps-text-popover-foreground ps-shadow-lg data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-context-menu-content-transform-origin]",e),...a}));Ea.displayName=n.SubContent.displayName;var Ne=V.forwardRef(({className:e,...a},t)=>R(n.Portal,{children:R(n.Content,{ref:t,className:l("ps-z-50 ps-max-h-[--radix-context-menu-content-available-height] ps-min-w-[8rem] ps-overflow-y-auto ps-overflow-x-hidden ps-rounded-md ps-border ps-bg-popover ps-p-1 ps-text-popover-foreground ps-shadow-md data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-context-menu-content-transform-origin]",e),...a})}));Ne.displayName=n.Content.displayName;var Ee=V.forwardRef(({className:e,inset:a,...t},o)=>R(n.Item,{ref:o,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-px-2 ps-py-1.5 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",a&&"ps-pl-8",e),...t}));Ee.displayName=n.Item.displayName;var Ga=V.forwardRef(({className:e,children:a,checked:t,...o},u)=>Ge(n.CheckboxItem,{ref:u,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-8 ps-pr-2 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),checked:t,...o,children:[R("span",{className:"ps-absolute ps-left-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:R(n.ItemIndicator,{children:R(E,{className:"ps-h-4 ps-w-4"})})}),a]}));Ga.displayName=n.CheckboxItem.displayName;var za=V.forwardRef(({className:e,children:a,...t},o)=>Ge(n.RadioItem,{ref:o,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-8 ps-pr-2 ps-text-sm ps-outline-none focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),...t,children:[R("span",{className:"ps-absolute ps-left-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:R(n.ItemIndicator,{children:R(j,{className:"ps-h-4 ps-w-4 ps-fill-current"})})}),a]}));za.displayName=n.RadioItem.displayName;var Va=V.forwardRef(({className:e,inset:a,...t},o)=>R(n.Label,{ref:o,className:l("ps-px-2 ps-py-1.5 ps-text-sm ps-font-semibold ps-text-foreground",a&&"ps-pl-8",e),...t}));Va.displayName=n.Label.displayName;var Wa=V.forwardRef(({className:e,...a},t)=>R(n.Separator,{ref:t,className:l("ps--mx-1 ps-my-1 ps-h-px ps-bg-border",e),...a}));Wa.displayName=n.Separator.displayName;var Xa=({className:e,...a})=>R("span",{className:l("ps-ml-auto ps-text-xs ps-tracking-widest ps-text-muted-foreground",e),...a});Xa.displayName="ContextMenuShortcut";import{jsx as ze,jsxs as ra}from"react/jsx-runtime";var Ve=e=>{if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return String(e);if(e==null)return"";if(Ka(e)){let a=e.props;return e.type&&typeof e.type=="function"&&e.type.name==="RevealText"?a.text||"":e.type&&typeof e.type=="function"&&e.type.name==="NullValue"?"NULL":a.children?Ve(a.children):""}return Array.isArray(e)?e.map(Ve).join(""):""},fa=({children:e})=>ra(da,{children:[ze(sa,{className:"ps-block ps-w-full ps-p-[var(--studio-cell-spacing)]",children:e}),ze(Ne,{children:ra(Ee,{onClick:()=>{let a=Ve(e);navigator.clipboard.writeText(a)},className:"ps-flex ps-items-center ps-gap-2",children:[ze(me,{size:12}),"Copy"]})})]});import{jsx as te,jsxs as Qa}from"react/jsx-runtime";function ia({cell:e,getPinningStyles:a,dataType:t,isRelational:o,relatesTo:u,relationField:m}){let r=e.getValue(),f=r==null,x=C=>{if(C==null)return"NULL";if(typeof C=="object")try{return JSON.stringify(C,null,2)}catch(h){return console.error("Error stringifying value:",h),String(C)}return String(C)};return Qa(Ue,{children:[te(He,{asChild:!0,children:te(re,{...a(e.column),"data-cell-type":"data","data-type":t.toLowerCase(),"data-relational":o?"true":void 0,"data-relates-to":u,"data-relation-field":m,className:l(a(e.column).className,"ps-p-0",e.column.getIsPinned()&&"ps-sticky"),children:te(fa,{children:f?te(ua,{}):x(r)})})}),te(Oe,{align:"start",alignOffset:0,sideOffset:0,className:"ps-min-w-(--radix-popover-trigger-width) ps-rounded-none ps-bg-muted ps-p-0",children:te(Ja,{value:x(r),theme:Za,height:"100px",basicSetup:{lineNumbers:!0,foldGutter:!1,dropCursor:!1,allowMultipleSelections:!1,indentOnInput:!1},onChange:C=>{console.log("New value:",C)}})})]},e.id)}import{jsx as _a}from"react/jsx-runtime";function na({cell:e,getPinningStyles:a,dataType:t}){let o={cell:e,getPinningStyles:a},u=e.column.columnDef.meta,m={...o,isRelational:u?.isRelational,relatesTo:u?.relatesTo,relationField:u?.relationField};return _a(ia,{...m,dataType:t||"STRING"})}import{flexRender as lt}from"@tanstack/react-table";import*as W from"react";import*as c from"@radix-ui/react-dropdown-menu";import{jsx as M,jsxs as Xe}from"react/jsx-runtime";var ca=c.Root,pa=c.Trigger;var ja=W.forwardRef(({className:e,inset:a,children:t,...o},u)=>Xe(c.SubTrigger,{ref:u,className:l("ps-flex ps-cursor-default ps-select-none ps-items-center ps-gap-2 ps-rounded-sm ps-px-2 ps-py-1.5 ps-text-sm ps-outline-none focus:ps-bg-accent data-[state=open]:ps-bg-accent [&_svg]:ps-pointer-events-none [&_svg]:ps-size-4 [&_svg]:ps-shrink-0",a&&"ps-pl-8",e),...o,children:[t,M(G,{className:"ps-ml-auto"})]}));ja.displayName=c.SubTrigger.displayName;var $a=W.forwardRef(({className:e,...a},t)=>M(c.SubContent,{ref:t,className:l("ps-z-50 ps-min-w-[8rem] ps-overflow-hidden ps-rounded-md ps-border ps-bg-popover ps-p-1 ps-text-popover-foreground ps-shadow-lg data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-dropdown-menu-content-transform-origin]",e),...a}));$a.displayName=c.SubContent.displayName;var We=W.forwardRef(({className:e,sideOffset:a=4,...t},o)=>M(c.Portal,{children:M(c.Content,{ref:o,sideOffset:a,className:l("ps-z-50 ps-max-h-[var(--radix-dropdown-menu-content-available-height)] ps-min-w-[8rem] ps-overflow-y-auto ps-overflow-x-hidden ps-rounded-md ps-border ps-bg-popover ps-p-1 ps-text-popover-foreground ps-shadow-md","data-[state=open]:ps-animate-in data-[state=closed]:ps-animate-out data-[state=closed]:ps-fade-out-0 data-[state=open]:ps-fade-in-0 data-[state=closed]:ps-zoom-out-95 data-[state=open]:ps-zoom-in-95 data-[side=bottom]:ps-slide-in-from-top-2 data-[side=left]:ps-slide-in-from-right-2 data-[side=right]:ps-slide-in-from-left-2 data-[side=top]:ps-slide-in-from-bottom-2 ps-origin-[--radix-dropdown-menu-content-transform-origin]",e),...t})}));We.displayName=c.Content.displayName;var Re=W.forwardRef(({className:e,inset:a,...t},o)=>M(c.Item,{ref:o,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-gap-2 ps-rounded-sm ps-px-2 ps-py-1.5 ps-text-sm ps-outline-none ps-transition-colors focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50 [&>svg]:ps-size-4 [&>svg]:ps-shrink-0",a&&"ps-pl-8",e),...t}));Re.displayName=c.Item.displayName;var Ya=W.forwardRef(({className:e,children:a,checked:t,...o},u)=>Xe(c.CheckboxItem,{ref:u,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-8 ps-pr-2 ps-text-sm ps-outline-none ps-transition-colors focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),checked:t,...o,children:[M("span",{className:"ps-absolute ps-left-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:M(c.ItemIndicator,{children:M(E,{className:"ps-h-4 ps-w-4"})})}),a]}));Ya.displayName=c.CheckboxItem.displayName;var et=W.forwardRef(({className:e,children:a,...t},o)=>Xe(c.RadioItem,{ref:o,className:l("ps-relative ps-flex ps-cursor-default ps-select-none ps-items-center ps-rounded-sm ps-py-1.5 ps-pl-8 ps-pr-2 ps-text-sm ps-outline-none ps-transition-colors focus:ps-bg-accent focus:ps-text-accent-foreground data-[disabled]:ps-pointer-events-none data-[disabled]:ps-opacity-50",e),...t,children:[M("span",{className:"ps-absolute ps-left-2 ps-flex ps-h-3.5 ps-w-3.5 ps-items-center ps-justify-center",children:M(c.ItemIndicator,{children:M(j,{className:"ps-h-2 ps-w-2 ps-fill-current"})})}),a]}));et.displayName=c.RadioItem.displayName;var at=W.forwardRef(({className:e,inset:a,...t},o)=>M(c.Label,{ref:o,className:l("ps-px-2 ps-py-1.5 ps-text-sm ps-font-semibold",a&&"ps-pl-8",e),...t}));at.displayName=c.Label.displayName;var tt=W.forwardRef(({className:e,...a},t)=>M(c.Separator,{ref:t,className:l("ps--mx-1 ps-my-1 ps-h-px ps-bg-muted",e),...a}));tt.displayName=c.Separator.displayName;var ot=({className:e,...a})=>M("span",{className:l("ps-ml-auto ps-text-xs ps-tracking-widest ps-opacity-60",e),...a});ot.displayName="DropdownMenuShortcut";import{jsx as v,jsxs as Q}from"react/jsx-runtime";function Ke({header:e}){let a=e.column.columnDef.meta,t=a?.dataType,o=a?.isRelational;return Q("div",{className:"ps-flex ps-items-center ps-justify-between ps-w-full ps-h-full",children:[Q("div",{className:"ps-flex-1 ps-flex ps-items-center ps-justify-between",children:[o&&v(Le,{size:14,className:"text-blue-700"}),Q("div",{className:"ps-align-text-bottom ps-leading-none ps-h-[20px]",children:[v("span",{className:"ps-inline-block ps-text-foreground ps-font-bold ps-text-sm",children:e.isPlaceholder?null:lt(e.column.columnDef.header,e.getContext())}),t&&t!=="NONE"&&v("span",{className:"ps-inline-block ps-ml-2 ps-text-xs ps-font-mono ps-text-muted-foreground/70 ps-lowercase",children:t})]}),v("span",{className:"ps-flex ps-items-center ps-gap-1",children:e.column.getCanPin()&&e.column.id!=="select"&&Q(ca,{children:[v(pa,{asChild:!0,children:v(H,{variant:"ghost",size:"icon",children:v(Z,{size:16})})}),Q(We,{children:[e.column.getCanSort()&&v(Re,{onClick:()=>e.column.toggleSorting(e.column.getIsSorted()==="asc"),children:Q("span",{className:"ps-flex ps-items-center ps-gap-2",children:[e.column.getIsSorted()==="asc"?v(K,{size:16}):v(fe,{size:16}),e.column.getIsSorted()==="asc"?"Sort descending":"Sort ascending"]})}),v(Re,{onClick:()=>e.column.pin(e.column.getIsPinned()?!1:"left"),children:e.column.getIsPinned()?Q("span",{className:"ps-flex ps-items-center ps-gap-2",children:[v(xe,{size:16}),"Unpin column"]}):Q("span",{className:"ps-flex ps-items-center ps-gap-2",children:[v(Ie,{size:16}),"Pin column"]})})]})]})})]}),e.column.getCanResize()&&v("div",{onMouseDown:u=>{u.stopPropagation(),e.getResizeHandler()(u)},onTouchStart:u=>{u.stopPropagation(),e.getResizeHandler()(u)},onClick:u=>u.stopPropagation(),className:l("ps-absolute ps-right-0 ps-top-0 ps-h-full ps-w-3 ps-cursor-col-resize","ps-select-none ps-touch-none ps-transition-colors ps-group",e.column.getIsResizing()&&"ps-bg-gray-300","before:ps-absolute before:ps-right-[3px] before:ps-top-1/2 before:ps--translate-y-1/2","after:ps-absolute after:ps-right-[7px] after:ps-top-1/2 after:ps--translate-y-1/2","before:ps-w-[2px] before:ps-h-0 before:ps-bg-gray-400 before:ps-rounded-full before:ps-opacity-0","after:ps-w-[2px] after:ps-h-0 after:ps-bg-gray-400 after:ps-rounded-full after:ps-opacity-0","before:ps-transition-all before:ps-duration-200","after:ps-transition-all after:ps-duration-200","group-hover:before:ps-opacity-100","group-hover:after:ps-opacity-100","group-hover:before:ps-h-4","group-hover:after:ps-h-4","group-active:ps-bg-transparent group-active:before:ps-bg-white group-active:after:ps-bg-white",e.column.getIsResizing()&&"before:ps-opacity-100"),"aria-label":"Resize column"})]})}import{jsx as ma,jsxs as ut}from"react/jsx-runtime";function La(){let{currentTable:e,favoriteTableIds:a,toggleFavorite:t,isLoaded:o}=oe();if(!o||!e)return null;let u=a.has(e.id);return ut("button",{type:"button",onClick:()=>t(e.id),className:l("ps-appearance-none",u&&"ps-text-yellow-500"),children:[ma(Ce,{size:12,className:l("ps-transition-colors",u&&"ps-fill-yellow-500")}),ma("span",{className:"ps-sr-only",children:u?"Remove from favorites":"Add to favorites"})]})}var he=e=>{let a=e.getIsPinned(),t=a==="left"&&e.getIsLastColumn("left"),o=a==="right"&&e.getIsFirstColumn("right");return{className:l("ps-overflow-hidden ps-whitespace-nowrap ps-text-ellipsis",a&&["ps-sticky ps-bg-background ps-shadow-[1px_0_0_0_hsl(var(--border))]",a==="left"?"ps-left-0":"ps-right-0","ps-z-20"],!a&&"ps-relative ps-z-10",t&&"ps-shadow-[1px_0_0_0_hsl(var(--border))]",o&&"ps-shadow-[-1px_0_0_0_hsl(var(--border))]"),style:{width:e.getSize(),left:a==="left"?`${e.getStart("left")}px`:void 0,right:a==="right"?`${e.getAfter("right")}px`:void 0}}};import{Fragment as wt,jsx as L,jsxs as ue}from"react/jsx-runtime";var St=({table:e})=>{let{currentTable:a,isLoaded:t}=oe();return t?L("div",{className:"ps-flex ps-items-center ps-justify-between ps-w-full ps-gap-2",children:L("div",{className:"ps-flex ps-items-center ps-gap-2",children:ue("span",{className:"ps-flex ps-items-center ps-gap-2",children:[L(La,{}),L("h1",{className:"ps-text-sm ps-font-medium",children:a?.name})]})})}):null},Pt=({header:e,children:a,getPinningStyles:t})=>{let{attributes:o,listeners:u,transform:m,transition:r,setNodeRef:f,isDragging:x,isOver:C}=gt({id:e.id}),h=e.column.columnDef.meta,S={transform:ht.Transform.toString(m),transition:r,...t(e.column).style,cursor:"grab",touchAction:"none"};return ue(ke,{ref:f,...o,...u,style:S,"data-relational":h?.isRelational?"true":void 0,"data-relates-to":h?.relatesTo,"data-relation-field":h?.relationField,className:l("ps-group",t(e.column).className,x&&"ps-opacity-50",C&&"ps-bg-gray-100","ps-select-none ps-touch-none ps-relative",e.column.getIsPinned()&&"ps-sticky"),children:[a,C&&L("div",{className:"ps-absolute ps-inset-0 ps-border-2 ps-border-primary ps-rounded-sm ps-pointer-events-none"})]})};function xa({data:e=[],columns:a}){console.log("Data received in StudioGrid:",e);let[t,o]=le([]),[u,m]=le([]),[r,f]=le({}),[x,C]=le({left:[],right:[]}),[h,S]=le([]),[de,F]=le("");st(()=>{if(a&&a.length>0){let I=a.map(B=>B.id);if(h.length===0){S(I);return}let d=[...h],g=d.filter(B=>!a.some(U=>U.id===B));g.forEach(B=>{let U=d.indexOf(B);U!==-1&&d.splice(U,1)});let D=I.filter(B=>!d.includes(B));D.length>0&&d.push(...D),(g.length>0||D.length>0)&&S(d)}},[a,h]);let y=mt(xt,{activationConstraint:{distance:10}}),T=Lt(y),A=I=>{let{active:d,over:g}=I;if(g&&d.id!==g.id){let D=w.getColumn(d.id),B=w.getColumn(g.id);if(!D||!B)return;let U=D.getIsPinned(),ee=B.getIsPinned();if(U!==ee)return;let Pe=h.indexOf(d.id),we=h.indexOf(g.id);if(Pe===-1||we===-1)return;let Me=[...h];Me.splice(Pe,1),Me.splice(we,0,d.id),S(Me)}},q=dt(()=>{if(!a||a.length===0)return console.log("No columns configuration available"),[];let I=(d,g)=>{if(d==null)return"";switch(g){case"TIMESTAMP":return d?new Date(d).toLocaleString():"";case"UUID":case"STRING":return String(d);default:return String(d)}};return a.map(d=>({accessorKey:d.id,header:()=>L("div",{className:"ps-font-medium",children:d.id}),cell:({getValue:g})=>I(g(),d.type),meta:{dataType:d.type,isRelational:d.isRelational,relatesTo:d.relatesTo,relationField:d.relationField}}))},[a]),w=ft({data:e||[],defaultColumn:{size:200,minSize:50,maxSize:500},columns:q,getCoreRowModel:rt(),onSortingChange:o,getSortedRowModel:nt(),getPaginationRowModel:ct(),getFilteredRowModel:it(),onColumnFiltersChange:m,enableColumnResizing:!0,columnResizeMode:"onChange",onColumnSizingChange:f,enableColumnPinning:!0,onColumnPinningChange:C,onGlobalFilterChange:F,globalFilterFn:(I,d,g)=>{let D=I.getValue(d);return D==null?!1:String(D).toLowerCase().includes(String(g).toLowerCase())},state:{sorting:t,columnFilters:u,columnSizing:r,columnPinning:x,columnOrder:h,globalFilter:de}});return!e||e.length===0?ue("div",{className:"ps-p-4 ps-border ps-rounded-md ps-w-full",children:[L("p",{className:"ps-text-lg ps-font-semibold",children:"No data available."}),L("p",{className:"ps-text-sm ps-text-gray-500",children:e?"Data array is empty.":"Data is undefined."})]}):ue(wt,{children:[L("div",{className:"ps-bg-studio-header-background ps-flex ps-w-full ps-p-2 ps-py-3 ps-border-b",children:L(St,{table:w})}),L("div",{"data-studio":"content",className:"ps-flex-1 ps-w-0 ps-h-0 ps-min-w-full",children:ue("div",{className:"ps-flex ps-flex-col ps-w-full ps-h-full ps-overflow-scroll",children:[L(pt,{sensors:T,onDragEnd:A,children:ue(ve,{children:[L(ye,{children:w.getHeaderGroups().map(I=>L(se,{className:l("ps-relative",w.getLeftLeafHeaders().some(d=>d.column.getIsPinned()==="left")&&`ps-pl-[${w.getLeftLeafHeaders().filter(d=>d.column.getIsPinned()==="left").reduce((d,g)=>d+g.getSize(),0)}px]`),children:L(It,{items:I.headers.map(d=>d.id),strategy:Ct,children:I.headers.map(d=>d.column.id==="select"?L(ke,{className:l("ps-px-[var(--studio-cell-spacing)]",he(d.column).className,d.column.getIsPinned()&&"ps-sticky"),style:he(d.column).style,"data-cell-type":"select",children:L(Ke,{header:d})},d.id):L(Pt,{header:d,table:w,getPinningStyles:he,children:L(Ke,{header:d})},d.id))})},I.id))}),L(De,{children:w.getRowModel().rows?.length?w.getRowModel().rows.map(I=>L(se,{className:l("ps-bg-table-row ps-odd:bg-table-row-odd ps-group"),children:I.getVisibleCells().map(d=>L(na,{cell:d,getPinningStyles:he,dataType:a.find(g=>g.id===d.column.id)?.type},d.id))},I.id)):L(se,{children:L(re,{colSpan:a.length,className:"ps-h-24 ps-text-center",children:"No results."})})})]})}),L(oa,{table:w,variant:"numeric"})]})})]})}import{createContext as kt,useContext as md,useEffect as bt,useState as Rt}from"react";import{jsx as yt}from"react/jsx-runtime";var Mt={theme:"system",setTheme:()=>null},vt=kt(Mt);function Ia({children:e,defaultTheme:a="system",storageKey:t="vite-ui-theme",...o}){let[u,m]=Rt(()=>localStorage.getItem(t)||a);bt(()=>{let f=window.document.documentElement;if(f.classList.remove("light","dark"),u==="system"){let x=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";f.classList.add(x);return}f.classList.add(u)},[u]);let r={theme:u,setTheme:f=>{localStorage.setItem(t,f),m(f)}};return yt(vt.Provider,{...o,value:r,children:e})}import{NuqsAdapter as Ht}from"nuqs/adapters/react";import{Slot as Dt}from"@radix-ui/react-slot";import{useQueryState as Tt}from"nuqs";import{jsx as _,jsxs as ga}from"react/jsx-runtime";var Y=()=>{let{setCurrentTable:e,currentTable:a,favoriteTableIds:t,tables:o}=oe(),[u,m]=Tt("tableId"),r=f=>{m(f);let x=o.find(C=>C.id===f);x&&e(x)};return ga("div",{className:"ps-flex ps-flex-col ps-w-64 ps-gap-4 ps-shrink-0",children:[_(Y.Block,{label:"Tables",children:o.map(f=>_(Y.Item,{isActive:a?.id===f.id,onClick:x=>{x.preventDefault(),r(f.id)},className:`ps-px-2 ps-py-1 ps-cursor-pointer ps-rounded ${a?.id===f.id?"ps-bg-primary ps-text-white":"ps-hover:ps-bg-gray-100"}`,children:f.name},f.id))}),t.size>0&&_(Y.Block,{label:"Favourites",children:o.filter(f=>t.has(f.id)).map(f=>_(Y.Item,{isActive:a?.id===f.id,onClick:x=>{x.preventDefault(),r(f.id)},children:f.name},f.id))})]})},At=({className:e,label:a,children:t,...o})=>ga("div",{className:l("ps-rounded-lg ps-border ps-bg-card ps-text-card-foreground ps-shadow-xs",e),...o,children:[_("div",{className:"ps-pt-4 ps-pb-2 ps-px-4",children:_("h2",{className:"ps-text-sm ps-font-medium",children:a})}),_("nav",{"aria-label":a,className:"ps-flex ps-flex-col ps-gap-px ps-pb-3",children:t})]}),Bt=({className:e,asChild:a=!1,isActive:t,size:o,...u})=>_(a?Dt:"button",{"data-sidebar":"menu-button","data-size":o,"data-active":t,className:l("ps-py-1.5 ps-px-4 ps-text-sm ps-font-medium ps-flex ps-gap-2 ps-items-center ps-border ps-border-transparent ps-bg-transparent ps-hover:bg-muted/50",e),...u});Y.Block=At;Y.Item=Bt;var Ca=Y;import{jsx as X,jsxs as Gt}from"react/jsx-runtime";var Sa=qt(void 0),oe=()=>{let e=Ut(Sa);if(!e)throw new Error("useStudio must be used within a Studio.Provider");return e},Ot={integer:"INTEGER",varchar:"VARCHAR",text:"TEXT",enum:"STRING",boolean:"BOOLEAN"};function Nt(e,a){return{id:e,accessorKey:e,header:e.charAt(0).toUpperCase()+e.slice(1),type:Ot[a.dataType.name]||"STRING",nullable:a.nullable,isKey:a.partOfPk}}var Et=({adapter:e})=>{if(!e)return console.error("No adapter provided to Studio component"),X("div",{children:"Error: No adapter provided"});let[a,t]=Se([]),[o,u]=Se(null),[m,r]=Se(!1),[f,x]=Se([]),[C,h]=Se([]),S=Ft.useMemo(()=>new Set(a.filter(F=>F.isFavorite).map(F=>F.id)),[a]),de=F=>{t(y=>y.map(T=>T.id===F?{...T,isFavorite:!T.isFavorite}:T))};return ha(()=>{(async()=>{try{let[y,T]=await e.introspect();if(y||!T?.schemas){console.error("Error fetching schema:",y);return}let A=Object.entries(T.schemas).flatMap(([q,w])=>Object.entries(w.tables).map(([I])=>({id:`${q}.${I}`,name:I.charAt(0).toUpperCase()+I.slice(1),schema:q,isFavorite:!1})));t(A),!o&&A.length>0&&A[0]&&u(A[0])}catch(y){console.error("Error fetching tables:",y)}})()},[e]),ha(()=>{(async()=>{if(!o?.id){r(!0);return}try{r(!1);let[y,T]=await e.introspect();if(y||!T?.schemas){console.error("Error fetching schema:",y),r(!0);return}let[A,q]=o.id.split(".");if(!A||!q){console.error("Invalid table ID format:",o.id),r(!0);return}let w=T.schemas[A];if(!w){console.error(`Schema ${A} not found`),r(!0);return}let I=w.tables[q];if(!I){console.error(`Table ${q} not found in schema ${A}`),r(!0);return}let d=Object.entries(I.columns).map(([U,ee])=>Nt(U,ee));h(d);let[g,D]=await e.query({schema:A,table:q,filters:[],sortings:[]});if(g||!D){console.error(`Failed to fetch data for table ${q}:`,g),r(!0);return}let B=D.rows.map(U=>{let ee={};return Object.entries(U).forEach(([Pe,we])=>{ee[Pe]=we.value}),ee});x(B),r(!0)}catch(y){console.error("Error fetching table data:",y),r(!0)}})()},[e,o]),!m&&a.length===0?X("div",{children:"Loading available tables..."}):m&&a.length===0?X("div",{children:"No tables found in the database."}):X(Ia,{children:X(Ht,{children:X(Sa.Provider,{value:{adapter:e,currentTable:o,isLoaded:m,tables:a,favoriteTableIds:S,setCurrentTable:u,toggleFavorite:de},children:Gt("div",{className:"ps-flex ps-gap-4 ps-w-full ps-rounded-sm ps-bg-background ps-p-4 ps-relative",children:[X(Ca,{}),X("div",{className:"ps-flex ps-w-full ps-flex-col ps-border ps-rounded-lg",children:X(xa,{columns:C,data:f})})]})})})})},Pa=Et;export{Pa as Studio};
|
|
2
2
|
/*! Bundled license information:
|
|
3
3
|
|
|
4
4
|
lucide-react/dist/esm/shared/src/utils.js:
|