@flexkit/studio 0.0.18 → 0.0.19
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.
- package/dist/asset-TJGJREGN.js +2 -0
- package/dist/{asset-BDEGSRVW.js.map → asset-TJGJREGN.js.map} +1 -1
- package/dist/chunk-6TSWBOSZ.js +2 -0
- package/dist/{chunk-5MTVN77Y.js.map → chunk-6TSWBOSZ.js.map} +1 -1
- package/dist/chunk-R4MPNNRN.js +2 -0
- package/dist/chunk-R4MPNNRN.js.map +1 -0
- package/dist/index.css +78 -14
- package/dist/index.d.ts +13 -5
- package/dist/index.js +210 -164
- package/dist/index.js.map +1 -1
- package/dist/{types.d-D7S0yibv.d.ts → types.d-DLhjvcTC.d.ts} +13 -5
- package/dist/ui.d.ts +1 -1
- package/dist/ui.js +1 -1
- package/package.json +7 -7
- package/dist/asset-BDEGSRVW.js +0 -2
- package/dist/chunk-5MTVN77Y.js +0 -2
- package/dist/chunk-5VMIFTZZ.js +0 -2
- package/dist/chunk-5VMIFTZZ.js.map +0 -1
|
@@ -16,7 +16,7 @@ type EntityData = {
|
|
|
16
16
|
};
|
|
17
17
|
type MappedEntityItem = {
|
|
18
18
|
_id: string;
|
|
19
|
-
[attributeName: string]: string;
|
|
19
|
+
[attributeName: string]: string | OrderedAssetValue[];
|
|
20
20
|
};
|
|
21
21
|
type ImageValue = {
|
|
22
22
|
_id: string;
|
|
@@ -28,6 +28,9 @@ type ImageValue = {
|
|
|
28
28
|
width: number;
|
|
29
29
|
height: number;
|
|
30
30
|
};
|
|
31
|
+
type OrderedAssetValue = ImageValue & {
|
|
32
|
+
sortOrder?: number;
|
|
33
|
+
};
|
|
31
34
|
type FormEntityItem = {
|
|
32
35
|
[attributeName: string]: FormFieldValue;
|
|
33
36
|
};
|
|
@@ -47,16 +50,17 @@ type FormFieldValue = {
|
|
|
47
50
|
disconnect?: string[];
|
|
48
51
|
};
|
|
49
52
|
scope: string;
|
|
50
|
-
value: string | MappedEntityItem | EntityItem | AttributeValue | ImageValue | undefined | null;
|
|
53
|
+
value: string | MappedEntityItem | MappedEntityItem[] | EntityItem | EntityItem[] | AttributeValue | AttributeValue[] | ImageValue | OrderedAssetValue[] | undefined | null;
|
|
51
54
|
};
|
|
52
55
|
|
|
53
56
|
type SingleRelationshipConnection = {
|
|
54
57
|
_id: string;
|
|
55
|
-
value: string | MappedEntityItem | EntityItem | AttributeValue | ImageValue | undefined | null;
|
|
58
|
+
value: string | MappedEntityItem | MappedEntityItem[] | EntityItem | EntityItem[] | AttributeValue | AttributeValue[] | ImageValue | OrderedAssetValue[] | undefined | null;
|
|
56
59
|
};
|
|
57
60
|
type MultipleRelationshipConnection = {
|
|
58
61
|
_id: string;
|
|
59
|
-
|
|
62
|
+
sortOrder?: number;
|
|
63
|
+
value: string | MappedEntityItem | MappedEntityItem[] | EntityItem | EntityItem[] | AttributeValue | AttributeValue[] | ImageValue | OrderedAssetValue[] | undefined | null;
|
|
60
64
|
}[];
|
|
61
65
|
type Relationships = {
|
|
62
66
|
[relationshipId: string]: {
|
|
@@ -110,6 +114,9 @@ type SelectOptions = CommonOptions & {
|
|
|
110
114
|
type AssetOptions = CommonOptions & {
|
|
111
115
|
accept?: string;
|
|
112
116
|
};
|
|
117
|
+
type RelationshipOptions = CommonOptions & {
|
|
118
|
+
accept?: string;
|
|
119
|
+
};
|
|
113
120
|
type DateTimeOptions = CommonOptions & {
|
|
114
121
|
format?: string;
|
|
115
122
|
};
|
|
@@ -122,6 +129,7 @@ type AttributeOptions = {
|
|
|
122
129
|
asset: AssetOptions;
|
|
123
130
|
datetime: DateTimeOptions;
|
|
124
131
|
number: NumberOptions;
|
|
132
|
+
relationship: RelationshipOptions;
|
|
125
133
|
text: CommonOptions;
|
|
126
134
|
textarea: CommonOptions;
|
|
127
135
|
switch: CommonOptions;
|
|
@@ -291,4 +299,4 @@ type SingleProject = Omit<ProjectOptions, 'basePath'> & {
|
|
|
291
299
|
|
|
292
300
|
type Config = SingleProject | ProjectOptions[];
|
|
293
301
|
|
|
294
|
-
export type { AppContextType as A, Config as C, DataType as D, Entity as E, FormEntityItem as F, ImageValue as I, LogoProps as L, MappedEntityItem as M, PluginOptions as P, SingleProject as S, UseEntityQueryParams as U, ActionSetRelationship as a, ActionSetScope as b, AppOptions as c, ProjectOptions as d, SearchRequestProps as e, SearchResultItem as f, Schema as g, EntityData as h, AttributeValue as i, Attribute as j, MultipleRelationshipConnection as k,
|
|
302
|
+
export type { AppContextType as A, Config as C, DataType as D, Entity as E, FormEntityItem as F, ImageValue as I, LogoProps as L, MappedEntityItem as M, OrderedAssetValue as O, PluginOptions as P, SingleProject as S, UseEntityQueryParams as U, ActionSetRelationship as a, ActionSetScope as b, AppOptions as c, ProjectOptions as d, SearchRequestProps as e, SearchResultItem as f, Schema as g, EntityData as h, AttributeValue as i, Attribute as j, MultipleRelationshipConnection as k, SingleRelationshipConnection as l, FormFieldParams as m, FormFieldProps as n, FormFieldValue as o, ScopeType as p };
|
package/dist/ui.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export { ImperativePanelHandle } from 'react-resizable-panels';
|
|
|
13
13
|
import * as SeparatorPrimitive from '@radix-ui/react-separator';
|
|
14
14
|
import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
|
|
15
15
|
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
16
|
-
import { S as SingleProject } from './types.d-
|
|
16
|
+
import { S as SingleProject } from './types.d-DLhjvcTC.js';
|
|
17
17
|
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
18
18
|
import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
|
|
19
19
|
import * as TogglePrimitive from '@radix-ui/react-toggle';
|
package/dist/ui.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import'./index.css';import {e}from'./chunk-5MTVN77Y.js';export{e as Separator,f as Table,h as TableBody,m as TableCaption,l as TableCell,i as TableFooter,k as TableHead,g as TableHeader,j as TableRow,b as Toggle,c as ToggleGroup,d as ToggleGroupItem,a as toggleVariants}from'./chunk-5MTVN77Y.js';import {a as a$2}from'./chunk-OX6FVDUT.js';export{a as Input}from'./chunk-OX6FVDUT.js';import {a as a$1,b as b$1,c,e as e$1}from'./chunk-RMSYYUQM.js';export{b as Tooltip,e as TooltipContent,d as TooltipPortal,a as TooltipProvider,c as TooltipTrigger}from'./chunk-RMSYYUQM.js';export{a as Select,g as SelectContent,b as SelectGroup,i as SelectItem,h as SelectLabel,f as SelectScrollDownButton,e as SelectScrollUpButton,j as SelectSeparator,d as SelectTrigger,c as SelectValue}from'./chunk-2RBOTHKE.js';export{b as Badge,m as Command,n as CommandDialog,q as CommandEmpty,r as CommandGroup,o as CommandInput,t as CommandItem,p as CommandList,s as CommandSeparator,u as CommandShortcut,c as Dialog,f as DialogClose,h as DialogContent,l as DialogDescription,j as DialogFooter,i as DialogHeader,g as DialogOverlay,e as DialogPortal,k as DialogTitle,d as DialogTrigger,v as ScrollArea,w as ScrollBar,a as badgeVariants}from'./chunk-ZOBZU47M.js';export{a as Avatar,c as AvatarFallback,b as AvatarImage}from'./chunk-K5CEPNVI.js';import {b,r as r$1}from'./chunk-64KAF6GA.js';export{b as Button,c as DropdownMenu,m as DropdownMenuCheckboxItem,k as DropdownMenuContent,e as DropdownMenuGroup,l as DropdownMenuItem,o as DropdownMenuLabel,f as DropdownMenuPortal,h as DropdownMenuRadioGroup,n as DropdownMenuRadioItem,p as DropdownMenuSeparator,q as DropdownMenuShortcut,g as DropdownMenuSub,j as DropdownMenuSubContent,i as DropdownMenuSubTrigger,d as DropdownMenuTrigger,r as Skeleton,a as buttonVariants}from'./chunk-64KAF6GA.js';export{b as Form,g as FormControl,h as FormDescription,c as FormField,e as FormItem,f as FormLabel,i as FormMessage,a as Label,d as useFormField}from'./chunk-SPWSXOXS.js';import {a}from'./chunk-AXB7FQV2.js';import*as G from'lucide-react';import {X,Menu,PanelLeft,GripVertical}from'lucide-react';import*as S from'react-resizable-panels';import {jsx,jsxs}from'react/jsx-runtime';import*as r from'react';import {createElement}from'react';import*as l from'@radix-ui/react-dialog';import {cva}from'class-variance-authority';import ha from'fuse.js';import {NavLink}from'react-router-dom';import {Slot}from'@radix-ui/react-slot';import {groupBy}from'ramda';import*as k from'@radix-ui/react-tabs';function Wt({className:t,...e}){return jsx(S.PanelGroup,{className:a("fk-flex fk-h-full fk-w-full data-[panel-group-direction=vertical]:fk-flex-col",t),...e})}var $t=S.Panel;function jt({withHandle:t,className:e,...a$1}){return jsx(S.PanelResizeHandle,{className:a("fk-relative fk-flex fk-w-px fk-items-center fk-justify-center fk-bg-border after:fk-absolute after:fk-inset-y-0 after:fk-left-1/2 after:fk-w-1 after:fk--translate-x-1/2 focus-visible:fk-outline-none focus-visible:fk-ring-1 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-1 data-[panel-group-direction=vertical]:fk-h-px data-[panel-group-direction=vertical]:fk-w-full data-[panel-group-direction=vertical]:after:fk-left-0 data-[panel-group-direction=vertical]:after:fk-h-1 data-[panel-group-direction=vertical]:after:fk-w-full data-[panel-group-direction=vertical]:after:fk--translate-y-1/2 data-[panel-group-direction=vertical]:after:fk-translate-x-0 [&[data-panel-group-direction=vertical]>div]:fk-rotate-90",e),...a$1,children:!!t&&jsx("div",{className:"fk-z-10 fk-flex fk-h-4 fk-w-3 fk-items-center fk-justify-center fk-rounded-sm fk-border fk-bg-border",children:jsx(GripVertical,{className:"fk-h-2.5 fk-w-2.5"})})})}var U=l.Root,Jt=l.Trigger,Ut=l.Close,re=l.Portal,q=r.forwardRef(({className:t,...e},a$1)=>jsx(l.Overlay,{className:a("fk-fixed fk-inset-0 fk-z-50 fk-bg-overlay/75 fk-backdrop-blur-[1px] data-[state=open]:fk-animate-in data-[state=closed]:fk-animate-out data-[state=closed]:fk-fade-out-0 data-[state=open]:fk-fade-in-0",t),...e,ref:a$1}));q.displayName=l.Overlay.displayName;var qt=cva("fk-fixed fk-z-50 fk-gap-4 fk-bg-background fk-p-6 fk-shadow-lg fk-transition fk-ease-in-out data-[state=open]:fk-animate-in data-[state=closed]:fk-animate-out data-[state=closed]:fk-duration-300 data-[state=open]:fk-duration-500",{variants:{side:{top:"fk-inset-x-0 fk-top-0 fk-border-b data-[state=closed]:fk-slide-out-to-top data-[state=open]:fk-slide-in-from-top",bottom:"fk-inset-x-0 fk-bottom-0 fk-border-t data-[state=closed]:fk-slide-out-to-bottom data-[state=open]:fk-slide-in-from-bottom",left:"fk-inset-y-0 fk-left-0 fk-h-full fk-w-3/4 fk-border-r fk-border-r-sidebar-border data-[state=closed]:fk-slide-out-to-left data-[state=open]:fk-slide-in-from-left sm:fk-max-w-sm",right:"fk-inset-y-0 fk-right-0 fk-h-full fk-w-3/4 fk- fk-border-l data-[state=closed]:fk-slide-out-to-right data-[state=open]:fk-slide-in-from-right sm:fk-max-w-sm"}},defaultVariants:{side:"right"}}),D=r.forwardRef(({side:t="right",className:e,children:a$1,...f},s)=>jsxs(re,{children:[jsx(q,{}),jsxs(l.Content,{className:a(qt({side:t}),e),ref:s,...f,children:[a$1,jsxs(l.Close,{className:"fk-absolute fk-right-4 fk-top-4 fk-rounded-sm fk-opacity-70 fk-ring-offset-background fk-transition-opacity hover:fk-opacity-100 focus:fk-outline-none focus:fk-ring-2 focus:fk-ring-ring focus:fk-ring-offset-2 disabled:fk-pointer-events-none data-[state=open]:fk-bg-secondary",children:[jsx(X,{className:"fk-h-4 fk-w-4"}),jsx("span",{className:"fk-sr-only",children:"Close"})]})]})]}));D.displayName=l.Content.displayName;function ie({className:t,...e}){return jsx("div",{className:a("fk-flex fk-flex-col fk-space-y-2 fk-text-center sm:fk-text-left",t),...e})}ie.displayName="SheetHeader";function ne({className:t,...e}){return jsx("div",{className:a("fk-flex fk-flex-col-reverse sm:fk-flex-row sm:fk-justify-end sm:fk-space-x-2",t),...e})}ne.displayName="SheetFooter";var fe=r.forwardRef(({className:t,...e},a$1)=>jsx(l.Title,{className:a("fk-text-lg fk-font-semibold fk-text-foreground",t),ref:a$1,...e}));fe.displayName=l.Title.displayName;var se=r.forwardRef(({className:t,...e},a$1)=>jsx(l.Description,{className:a("fk-text-sm fk-text-muted-foreground",t),ref:a$1,...e}));se.displayName=l.Description.displayName;var Y=768;function le(){let[t,e]=r.useState(void 0);return r.useEffect(()=>{let a=window.matchMedia(`(max-width: ${Y-1}px)`),f=()=>{e(window.innerWidth<Y);};return a.addEventListener("change",f),e(window.innerWidth<Y),()=>a.removeEventListener("change",f)},[]),!!t}var ea="flexkit:sidebar:state",ta=3600*24*7,aa="16rem",oa="18rem",ra="2rem",ia="b",de=r.createContext(null);function y(){let t=r.useContext(de);if(!t)throw new Error("useSidebar must be used within a SidebarProvider.");return t}var ce=r.forwardRef(({defaultOpen:t=true,open:e,onOpenChange:a$2,className:f,style:s,children:c,...n},d)=>{let u=le(),[h,b]=r.useState(false),[C,Se]=r.useState(t),R=e??C,T=r.useCallback(m=>{let g=typeof m=="function"?m(R):m;a$2?a$2(g):Se(g),document.cookie=`${ea}=${g}; path=/; max-age=${ta}`;},[a$2,R]),M=r.useCallback(()=>u?b(m=>!m):T(m=>!m),[u,T,b]);r.useEffect(()=>{let m=g=>{g.key===ia&&(g.metaKey||g.ctrlKey)&&(g.preventDefault(),M());};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[M]);let oe=R?"expanded":"collapsed",Re=r.useMemo(()=>({state:oe,open:R,setOpen:T,isMobile:u,openMobile:h,setOpenMobile:b,toggleSidebar:M}),[oe,R,T,u,h,b,M]);return jsx(de.Provider,{value:Re,children:jsx(a$1,{delayDuration:0,children:jsx("div",{style:{"--sidebar-width":aa,"--sidebar-width-icon":ra,...s},className:a("fk-group/sidebar-wrapper fk-flex fk-w-full has-[[data-variant=inset]]:fk-bg-sidebar fk-overflow-hidden",f),ref:d,...n,children:c})})})});ce.displayName="SidebarProvider";var Z=r.forwardRef(({side:t="left",variant:e="sidebar",collapsible:a$1="offcanvas",className:f,children:s,...c},n)=>{let{isMobile:d,state:u,openMobile:h,setOpenMobile:b}=y();return a$1==="none"?jsx("div",{className:a("fk-flex fk-h-full fk-w-[--sidebar-width] fk-flex-col fk-bg-sidebar fk-text-sidebar-foreground",f),ref:n,...c,children:s}):d?jsx(U,{open:h,onOpenChange:b,...c,children:jsx(D,{"data-sidebar":"sidebar","data-mobile":"true",className:"fk-w-[--sidebar-width] fk-bg-sidebar fk-p-0 fk-text-sidebar-foreground [&>button]:fk-hidden",style:{"--sidebar-width":oa},side:t,children:jsx("div",{className:"fk-flex fk-h-full fk-w-full fk-flex-col",children:s})})}):jsxs("div",{ref:n,className:"fk-relative fk-group fk-peer fk-hidden md:fk-block fk-text-sidebar-foreground","data-state":u,"data-collapsible":u==="collapsed"?a$1:"","data-variant":e,"data-side":t,children:[jsx("div",{className:a("fk-duration-200 fk-relative fk-h-svh fk-w-[--sidebar-width] fk-bg-transparent fk-transition-[width] fk-ease-linear","group-data-[collapsible=offcanvas]:fk-w-0","group-data-[side=right]:fk-rotate-180",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:fk-w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:fk-w-[--sidebar-width-icon]")}),jsx("div",{className:a("fk-duration-200 fk-absolute fk-inset-y-0 fk-z-10 fk-hidden fk-h-[calc(100svh-3.5rem)] fk-w-[--sidebar-width] fk-transition-[left,right,width] fk-ease-linear md:fk-flex",t==="left"?"fk-left-0 group-data-[collapsible=offcanvas]:fk-left-[calc(var(--sidebar-width)*-1)]":"fk-right-0 group-data-[collapsible=offcanvas]:fk-right-[calc(var(--sidebar-width)*-1)]",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:fk-w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)] group-data-[side=left]:fk-border-r group-data-[side=right]:fk-border-l":"group-data-[collapsible=icon]:fk-w-[--sidebar-width-icon] group-data-[side=left]:fk-border-r group-data-[side=right]:fk-border-l",f),...c,children:jsx("div",{"data-sidebar":"sidebar",className:"fk-flex fk-h-full fk-w-full fk-flex-col fk-bg-sidebar group-data-[variant=floating]:fk-rounded-lg group-data-[variant=floating]:fk-border group-data-[variant=floating]:fk-border-sidebar-border group-data-[variant=floating]:fk-shadow",children:s})})]})});Z.displayName="Sidebar";var pe=r.forwardRef(({className:t,onClick:e,...a$1},f)=>{let{isMobile:s,toggleSidebar:c}=y();return jsxs(b,{ref:f,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:a("fk-h-7 fk-w-7",t),onClick:n=>{e?.(n),c();},...a$1,children:[s?jsx(Menu,{}):jsx(PanelLeft,{}),jsx("span",{className:"fk-sr-only",children:"Toggle Sidebar"})]})});pe.displayName="SidebarTrigger";var Q=r.forwardRef(({className:t,...e},a$1)=>{let{toggleSidebar:f}=y();return jsx("button",{ref:a$1,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:f,title:"Toggle Sidebar",className:a("fk-absolute fk-inset-y-0 fk-z-20 fk-hidden fk-w-4 fk--translate-x-1/2 fk-transition-all fk-ease-linear after:fk-absolute after:fk-inset-y-0 after:fk-left-1/2 after:fk-w-[2px] after:fk-bg-sidebar-border hover:after:fk-bg-muted-foreground group-data-[side=left]:fk--right-4 group-data-[side=right]:fk-left-0 sm:fk-flex","[[data-side=left]_&]:fk-cursor-w-resize [[data-side=right]_&]:fk-cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:fk-cursor-e-resize [[data-side=right][data-state=collapsed]_&]:fk-cursor-w-resize","group-data-[collapsible=offcanvas]:fk-translate-x-0 group-data-[collapsible=offcanvas]:after:fk-left-full group-data-[collapsible=offcanvas]:hover:fk-bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:fk--right-2","[[data-side=right][data-collapsible=offcanvas]_&]:fk--left-2",t),...e})});Q.displayName="SidebarRail";var ke=r.forwardRef(({className:t,...e},a$1)=>jsx("main",{ref:a$1,className:a("fk-relative fk-flex fk-flex-1 fk-flex-col fk-bg-background fk-overflow-hidden","peer-data-[variant=inset]:fk-h-[calc(100svh-4rem)]",t),...e}));ke.displayName="SidebarInset";var na=r.forwardRef(({className:t,...e},a$1)=>jsx(a$2,{ref:a$1,"data-sidebar":"input",className:a("fk-h-8 fk-w-full fk-bg-background fk-shadow-none focus-visible:fk-ring-2 focus-visible:fk-ring-sidebar-ring",t),...e}));na.displayName="SidebarInput";var fa=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"header",className:a("fk-flex fk-flex-col fk-gap-2 fk-p-2",t),...e}));fa.displayName="SidebarHeader";var sa=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"footer",className:a("fk-flex fk-flex-col fk-gap-2 fk-p-2",t),...e}));sa.displayName="SidebarFooter";var la=r.forwardRef(({className:t,...e$1},a$1)=>jsx(e,{ref:a$1,"data-sidebar":"separator",className:a("fk-mx-2 fk-w-auto fk-bg-sidebar-border",t),...e$1}));la.displayName="SidebarSeparator";var ee=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"content",className:a("fk-flex fk-min-h-0 fk-flex-1 fk-flex-col fk-overflow-auto group-data-[collapsible=icon]:fk-overflow-hidden",t),...e}));ee.displayName="SidebarContent";var L=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"group",className:a("fk-relative fk-flex fk-w-full fk-min-w-0 fk-flex-col fk-p-2",t),...e}));L.displayName="SidebarGroup";var te=r.forwardRef(({className:t,asChild:e=false,...a$1},f)=>jsx(e?Slot:"div",{ref:f,"data-sidebar":"group-label",className:a("fk-duration-200 fk-flex fk-h-8 fk-shrink-0 fk-items-center fk-rounded-md fk-px-2 fk-text-xs fk-font-medium fk-text-sidebar-foreground/70 fk-outline-none fk-ring-sidebar-ring fk-transition-[margin,opa] fk-ease-linear focus-visible:fk-ring-2 [&>svg]:fk-size-4 [&>svg]:fk-shrink-0","group-data-[collapsible=icon]:fk--mt-8 group-data-[collapsible=icon]:fk-opacity-0",t),...a$1}));te.displayName="SidebarGroupLabel";var da=r.forwardRef(({className:t,asChild:e=false,...a$1},f)=>jsx(e?Slot:"button",{ref:f,"data-sidebar":"group-action",className:a("fk-absolute fk-right-3 fk-top-3.5 fk-flex fk-aspect-square fk-w-5 fk-items-center fk-justify-center fk-rounded-md fk-p-0 fk-text-sidebar-foreground fk-outline-none fk-ring-sidebar-ring fk-transition-transform hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground focus-visible:fk-ring-2 [&>svg]:fk-size-4 [&>svg]:fk-shrink-0","after:fk-absolute after:fk--inset-2 after:md:fk-hidden","group-data-[collapsible=icon]:fk-hidden",t),...a$1}));da.displayName="SidebarGroupAction";var ca=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"group-content",className:a("fk-w-full fk-text-sm",t),...e}));ca.displayName="SidebarGroupContent";var H=r.forwardRef(({className:t,...e},a$1)=>jsx("ul",{ref:a$1,"data-sidebar":"menu",className:a("fk-flex fk-w-full fk-min-w-0 fk-flex-col fk-gap-1 fk-z-10",t),...e}));H.displayName="SidebarMenu";var z=r.forwardRef(({className:t,...e},a$1)=>jsx("li",{ref:a$1,"data-sidebar":"menu-item",className:a("fk-group/menu-item fk-relative",t),...e}));z.displayName="SidebarMenuItem";var pa=cva("peer/menu-button fk-flex fk-w-full fk-items-center fk-gap-2 fk-overflow-hidden fk-rounded-md fk-p-2 fk-text-left fk-text-sm fk-outline-none fk-ring-sidebar-ring fk-transition-[width,height,padding] hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground focus-visible:fk-ring-2 active:fk-bg-sidebar-accent active:fk-text-sidebar-accent-foreground disabled:fk-pointer-events-none disabled:fk-opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:fk-pr-8 aria-disabled:fk-pointer-events-none aria-disabled:fk-opacity-50 data-[active=true]:fk-bg-sidebar-accent data-[active=true]:fk-font-medium data-[active=true]:fk-text-sidebar-accent-foreground data-[state=open]:hover:fk-bg-sidebar-accent data-[state=open]:hover:fk-text-sidebar-accent-foreground group-data-[collapsible=icon]:fk-!size-8 group-data-[collapsible=icon]:fk-!p-2 [&>span:last-child]:fk-truncate [&>svg]:fk-size-4 [&>svg]:fk-shrink-0",{variants:{variant:{default:"hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground",outline:"fk-bg-background fk-shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground hover:fk-shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"fk-h-8 fk-text-sm",sm:"fk-h-7 fk-text-xs",lg:"fk-h-12 fk-text-sm group-data-[collapsible=icon]:fk-!p-0"}},defaultVariants:{variant:"default",size:"default"}}),B=r.forwardRef(({asChild:t=false,isActive:e=false,variant:a$1="default",size:f="default",tooltip:s,className:c$1,...n},d)=>{let u=t?Slot:"button",{isMobile:h,state:b}=y(),C=jsx(u,{ref:d,"data-sidebar":"menu-button","data-size":f,"data-active":e,className:a(pa({variant:a$1,size:f}),c$1),...n});return s?(typeof s=="string"&&(s={children:s}),jsxs(b$1,{children:[jsx(c,{asChild:true,children:C}),jsx(e$1,{side:"right",align:"center",hidden:b!=="collapsed"||h,...s})]})):C});B.displayName="SidebarMenuButton";var ka=r.forwardRef(({className:t,asChild:e=false,showOnHover:a$1=false,...f},s)=>jsx(e?Slot:"button",{ref:s,"data-sidebar":"menu-action",className:a("fk-absolute fk-right-1 fk-top-1.5 fk-flex fk-aspect-square fk-w-5 fk-items-center fk-justify-center fk-rounded-md fk-p-0 fk-text-sidebar-foreground fk-outline-none fk-ring-sidebar-ring fk-transition-transform hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground focus-visible:fk-ring-2 peer-hover/menu-button:fk-text-sidebar-accent-foreground [&>svg]:fk-size-4 [&>svg]:fk-shrink-0","after:fk-absolute after:fk--inset-2 after:md:fk-hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:fk-hidden",a$1&&"group-focus-within/menu-item:fk-opacity-100 group-hover/menu-item:fk-opacity-100 data-[state=open]:fk-opacity-100 peer-data-[active=true]/menu-button:fk-text-sidebar-accent-foreground md:fk-opacity-0",t),...f}));ka.displayName="SidebarMenuAction";var ma=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"menu-badge",className:a("fk-absolute fk-right-1 fk-flex fk-h-5 fk-min-w-5 fk-items-center fk-justify-center fk-rounded-md fk-px-1 fk-text-xs fk-font-medium fk-tabular-nums fk-text-sidebar-foreground fk-select-none fk-pointer-events-none","peer-hover/menu-button:fk-text-sidebar-accent-foreground peer-data-[active=true]/menu-button:fk-text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:fk-hidden",t),...e}));ma.displayName="SidebarMenuBadge";var ua=r.forwardRef(({className:t,showIcon:e=false,...a$1},f)=>{let s=r.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return jsxs("div",{ref:f,"data-sidebar":"menu-skeleton",className:a("fk-rounded-md fk-h-8 fk-flex fk-gap-2 fk-px-2 fk-items-center",t),...a$1,children:[e&&jsx(r$1,{className:"fk-size-4 fk-rounded-md","data-sidebar":"menu-skeleton-icon"}),jsx(r$1,{className:"fk-h-4 fk-flex-1 fk-max-w-[--skeleton-width]","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":s}})]})});ua.displayName="SidebarMenuSkeleton";var ba=r.forwardRef(({className:t,...e},a$1)=>jsx("ul",{ref:a$1,"data-sidebar":"menu-sub",className:a("fk-mx-3.5 fk-flex fk-min-w-0 fk-translate-x-px fk-flex-col fk-gap-1 fk-border-l fk-border-sidebar-border fk-px-2.5 fk-py-0.5","group-data-[collapsible=icon]:fk-hidden",t),...e}));ba.displayName="SidebarMenuSub";var ga=r.forwardRef(({...t},e)=>jsx("li",{ref:e,...t}));ga.displayName="SidebarMenuSubItem";var va=r.forwardRef(({asChild:t=false,size:e="md",isActive:a$1,className:f,...s},c)=>jsx(t?Slot:"a",{ref:c,"data-sidebar":"menu-sub-button","data-size":e,"data-active":a$1,className:a("fk-flex fk-h-7 fk-min-w-0 fk--translate-x-px fk-items-center fk-gap-2 fk-overflow-hidden fk-rounded-md fk-px-2 fk-text-sidebar-foreground fk-outline-none fk-ring-sidebar-ring hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground focus-visible:fk-ring-2 active:fk-bg-sidebar-accent active:fk-text-sidebar-accent-foreground disabled:fk-pointer-events-none disabled:fk-opacity-50 aria-disabled:fk-pointer-events-none aria-disabled:fk-opacity-50 [&>span:last-child]:fk-truncate [&>svg]:fk-size-4 [&>svg]:fk-shrink-0 [&>svg]:fk-text-sidebar-accent-foreground","data-[active=true]:fk-bg-sidebar-accent data-[active=true]:fk-text-sidebar-accent-foreground",e==="sm"&&"fk-text-xs",e==="md"&&"fk-text-sm","group-data-[collapsible=icon]:fk-hidden",f),...s}));va.displayName="SidebarMenuSubButton";var Ra=Object.keys(G).map(t=>({name:t,icon:G[t]})),xa=new ha(Ra,{keys:["name"],threshold:.5});function wa({className:t,menuGroups:e,schema:a}){let f=a.filter(n=>!(n.menu&&"hidden"in n.menu)),s=groupBy(n=>n.menu?.group&&e?.find(d=>d.name===n.menu?.group)?.name||"ungrouped",f),c=e?.filter(n=>s[n.name]?.length);return jsxs(Z,{className:t,collapsible:"icon",variant:"inset",children:[jsxs(ee,{children:[c?.map(n=>jsxs(L,{children:[jsx(te,{children:n.title}),jsx(H,{children:s[n.name]?.map(d=>jsx(z,{children:jsx(B,{asChild:true,isActive:location.pathname.includes(`/list/${d.plural}`),tooltip:A(d.menu?.label??d.plural),children:jsxs(NavLink,{to:`list/${d.plural}`,children:[d.menu?.icon??createElement(G[be(d.name)],{className:"fk-h-4 fk-w-4 fk-mr-2",strokeWidth:2}),jsx("span",{children:A(d.menu?.label??d.plural)})]})})},d.plural))})]},n.name)),jsx(L,{children:jsx(H,{children:s.ungrouped?.map(n=>jsx(z,{children:jsx(B,{asChild:true,isActive:location.pathname.includes(`/list/${n.plural}`),tooltip:A(n.menu?.label??n.plural),children:jsxs(NavLink,{to:`list/${n.plural}`,children:[createElement(G[be(n.name)],{className:"fk-h-4 fk-w-4 fk-mr-2",strokeWidth:2}),jsx("span",{children:A(n.menu?.label??n.plural)})]})})},n.plural))})})]}),jsx(Q,{})]})}function A(t){let e=t.replace(/([A-Z])/g," $1");return e.charAt(0).toUpperCase()+e.slice(1).trim()}function be(t){let e=xa.search(t);return e.length>0?e[0].item.name:"Dock"}var ya=k.Root,ge=r.forwardRef(({className:t,...e},a$1)=>jsx(k.List,{className:a("fk-inline-flex fk-h-10 fk-items-center fk-justify-center fk-rounded-md fk-bg-muted fk-p-1 fk-text-muted-foreground",t),ref:a$1,...e}));ge.displayName=k.List.displayName;var ve=r.forwardRef(({className:t,...e},a$1)=>jsx(k.Trigger,{className:a("fk-inline-flex fk-items-center fk-justify-center fk-whitespace-nowrap fk-rounded-sm fk-px-3 fk-py-1.5 fk-text-sm fk-font-medium fk-ring-offset-background fk-transition-all focus-visible:fk-outline-none focus-visible:fk-ring-2 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-2 disabled:fk-pointer-events-none disabled:fk-opacity-50 data-[state=active]:fk-bg-background data-[state=active]:fk-text-foreground data-[state=active]:fk-shadow-sm",t),ref:a$1,...e}));ve.displayName=k.Trigger.displayName;var he=r.forwardRef(({className:t,...e},a$1)=>jsx(k.Content,{className:a("fk-mt-2 fk-ring-offset-background focus-visible:fk-outline-none focus-visible:fk-ring-2 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-2",t),ref:a$1,...e}));he.displayName=k.Content.displayName;export{jt as ResizableHandle,$t as ResizablePanel,Wt as ResizablePanelGroup,U as Sheet,Ut as SheetClose,D as SheetContent,se as SheetDescription,ne as SheetFooter,ie as SheetHeader,q as SheetOverlay,re as SheetPortal,fe as SheetTitle,Jt as SheetTrigger,wa as Sidebar,ke as SidebarInset,ce as SidebarProvider,pe as SidebarTrigger,ya as Tabs,he as TabsContent,ge as TabsList,ve as TabsTrigger,y as useSidebar};//# sourceMappingURL=ui.js.map
|
|
1
|
+
import'./index.css';import {e}from'./chunk-6TSWBOSZ.js';export{e as Separator,f as Table,h as TableBody,m as TableCaption,l as TableCell,i as TableFooter,k as TableHead,g as TableHeader,j as TableRow,b as Toggle,c as ToggleGroup,d as ToggleGroupItem,a as toggleVariants}from'./chunk-6TSWBOSZ.js';import {a as a$2}from'./chunk-OX6FVDUT.js';export{a as Input}from'./chunk-OX6FVDUT.js';import {a as a$1,b as b$1,c,e as e$1}from'./chunk-RMSYYUQM.js';export{b as Tooltip,e as TooltipContent,d as TooltipPortal,a as TooltipProvider,c as TooltipTrigger}from'./chunk-RMSYYUQM.js';export{a as Select,g as SelectContent,b as SelectGroup,i as SelectItem,h as SelectLabel,f as SelectScrollDownButton,e as SelectScrollUpButton,j as SelectSeparator,d as SelectTrigger,c as SelectValue}from'./chunk-2RBOTHKE.js';export{b as Badge,m as Command,n as CommandDialog,q as CommandEmpty,r as CommandGroup,o as CommandInput,t as CommandItem,p as CommandList,s as CommandSeparator,u as CommandShortcut,c as Dialog,f as DialogClose,h as DialogContent,l as DialogDescription,j as DialogFooter,i as DialogHeader,g as DialogOverlay,e as DialogPortal,k as DialogTitle,d as DialogTrigger,v as ScrollArea,w as ScrollBar,a as badgeVariants}from'./chunk-ZOBZU47M.js';export{a as Avatar,c as AvatarFallback,b as AvatarImage}from'./chunk-K5CEPNVI.js';import {b,r as r$1}from'./chunk-64KAF6GA.js';export{b as Button,c as DropdownMenu,m as DropdownMenuCheckboxItem,k as DropdownMenuContent,e as DropdownMenuGroup,l as DropdownMenuItem,o as DropdownMenuLabel,f as DropdownMenuPortal,h as DropdownMenuRadioGroup,n as DropdownMenuRadioItem,p as DropdownMenuSeparator,q as DropdownMenuShortcut,g as DropdownMenuSub,j as DropdownMenuSubContent,i as DropdownMenuSubTrigger,d as DropdownMenuTrigger,r as Skeleton,a as buttonVariants}from'./chunk-64KAF6GA.js';export{b as Form,g as FormControl,h as FormDescription,c as FormField,e as FormItem,f as FormLabel,i as FormMessage,a as Label,d as useFormField}from'./chunk-SPWSXOXS.js';import {a}from'./chunk-AXB7FQV2.js';import*as G from'lucide-react';import {X,Menu,PanelLeft,GripVertical}from'lucide-react';import*as S from'react-resizable-panels';import {jsx,jsxs}from'react/jsx-runtime';import*as r from'react';import {createElement}from'react';import*as l from'@radix-ui/react-dialog';import {cva}from'class-variance-authority';import ha from'fuse.js';import {NavLink}from'react-router-dom';import {Slot}from'@radix-ui/react-slot';import {groupBy}from'ramda';import*as k from'@radix-ui/react-tabs';function Wt({className:t,...e}){return jsx(S.PanelGroup,{className:a("fk-flex fk-h-full fk-w-full data-[panel-group-direction=vertical]:fk-flex-col",t),...e})}var $t=S.Panel;function jt({withHandle:t,className:e,...a$1}){return jsx(S.PanelResizeHandle,{className:a("fk-relative fk-flex fk-w-px fk-items-center fk-justify-center fk-bg-border after:fk-absolute after:fk-inset-y-0 after:fk-left-1/2 after:fk-w-1 after:fk--translate-x-1/2 focus-visible:fk-outline-none focus-visible:fk-ring-1 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-1 data-[panel-group-direction=vertical]:fk-h-px data-[panel-group-direction=vertical]:fk-w-full data-[panel-group-direction=vertical]:after:fk-left-0 data-[panel-group-direction=vertical]:after:fk-h-1 data-[panel-group-direction=vertical]:after:fk-w-full data-[panel-group-direction=vertical]:after:fk--translate-y-1/2 data-[panel-group-direction=vertical]:after:fk-translate-x-0 [&[data-panel-group-direction=vertical]>div]:fk-rotate-90",e),...a$1,children:!!t&&jsx("div",{className:"fk-z-10 fk-flex fk-h-4 fk-w-3 fk-items-center fk-justify-center fk-rounded-sm fk-border fk-bg-border",children:jsx(GripVertical,{className:"fk-h-2.5 fk-w-2.5"})})})}var U=l.Root,Jt=l.Trigger,Ut=l.Close,re=l.Portal,q=r.forwardRef(({className:t,...e},a$1)=>jsx(l.Overlay,{className:a("fk-fixed fk-inset-0 fk-z-50 fk-bg-overlay/75 fk-backdrop-blur-[1px] data-[state=open]:fk-animate-in data-[state=closed]:fk-animate-out data-[state=closed]:fk-fade-out-0 data-[state=open]:fk-fade-in-0",t),...e,ref:a$1}));q.displayName=l.Overlay.displayName;var qt=cva("fk-fixed fk-z-50 fk-gap-4 fk-bg-background fk-p-6 fk-shadow-lg fk-transition fk-ease-in-out data-[state=open]:fk-animate-in data-[state=closed]:fk-animate-out data-[state=closed]:fk-duration-300 data-[state=open]:fk-duration-500",{variants:{side:{top:"fk-inset-x-0 fk-top-0 fk-border-b data-[state=closed]:fk-slide-out-to-top data-[state=open]:fk-slide-in-from-top",bottom:"fk-inset-x-0 fk-bottom-0 fk-border-t data-[state=closed]:fk-slide-out-to-bottom data-[state=open]:fk-slide-in-from-bottom",left:"fk-inset-y-0 fk-left-0 fk-h-full fk-w-3/4 fk-border-r fk-border-r-sidebar-border data-[state=closed]:fk-slide-out-to-left data-[state=open]:fk-slide-in-from-left sm:fk-max-w-sm",right:"fk-inset-y-0 fk-right-0 fk-h-full fk-w-3/4 fk- fk-border-l data-[state=closed]:fk-slide-out-to-right data-[state=open]:fk-slide-in-from-right sm:fk-max-w-sm"}},defaultVariants:{side:"right"}}),D=r.forwardRef(({side:t="right",className:e,children:a$1,...f},s)=>jsxs(re,{children:[jsx(q,{}),jsxs(l.Content,{className:a(qt({side:t}),e),ref:s,...f,children:[a$1,jsxs(l.Close,{className:"fk-absolute fk-right-4 fk-top-4 fk-rounded-sm fk-opacity-70 fk-ring-offset-background fk-transition-opacity hover:fk-opacity-100 focus:fk-outline-none focus:fk-ring-2 focus:fk-ring-ring focus:fk-ring-offset-2 disabled:fk-pointer-events-none data-[state=open]:fk-bg-secondary",children:[jsx(X,{className:"fk-h-4 fk-w-4"}),jsx("span",{className:"fk-sr-only",children:"Close"})]})]})]}));D.displayName=l.Content.displayName;function ie({className:t,...e}){return jsx("div",{className:a("fk-flex fk-flex-col fk-space-y-2 fk-text-center sm:fk-text-left",t),...e})}ie.displayName="SheetHeader";function ne({className:t,...e}){return jsx("div",{className:a("fk-flex fk-flex-col-reverse sm:fk-flex-row sm:fk-justify-end sm:fk-space-x-2",t),...e})}ne.displayName="SheetFooter";var fe=r.forwardRef(({className:t,...e},a$1)=>jsx(l.Title,{className:a("fk-text-lg fk-font-semibold fk-text-foreground",t),ref:a$1,...e}));fe.displayName=l.Title.displayName;var se=r.forwardRef(({className:t,...e},a$1)=>jsx(l.Description,{className:a("fk-text-sm fk-text-muted-foreground",t),ref:a$1,...e}));se.displayName=l.Description.displayName;var Y=768;function le(){let[t,e]=r.useState(void 0);return r.useEffect(()=>{let a=window.matchMedia(`(max-width: ${Y-1}px)`),f=()=>{e(window.innerWidth<Y);};return a.addEventListener("change",f),e(window.innerWidth<Y),()=>a.removeEventListener("change",f)},[]),!!t}var ea="flexkit:sidebar:state",ta=3600*24*7,aa="16rem",oa="18rem",ra="2rem",ia="b",de=r.createContext(null);function y(){let t=r.useContext(de);if(!t)throw new Error("useSidebar must be used within a SidebarProvider.");return t}var ce=r.forwardRef(({defaultOpen:t=true,open:e,onOpenChange:a$2,className:f,style:s,children:c,...n},d)=>{let u=le(),[h,b]=r.useState(false),[C,Se]=r.useState(t),R=e??C,T=r.useCallback(m=>{let g=typeof m=="function"?m(R):m;a$2?a$2(g):Se(g),document.cookie=`${ea}=${g}; path=/; max-age=${ta}`;},[a$2,R]),M=r.useCallback(()=>u?b(m=>!m):T(m=>!m),[u,T,b]);r.useEffect(()=>{let m=g=>{g.key===ia&&(g.metaKey||g.ctrlKey)&&(g.preventDefault(),M());};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[M]);let oe=R?"expanded":"collapsed",Re=r.useMemo(()=>({state:oe,open:R,setOpen:T,isMobile:u,openMobile:h,setOpenMobile:b,toggleSidebar:M}),[oe,R,T,u,h,b,M]);return jsx(de.Provider,{value:Re,children:jsx(a$1,{delayDuration:0,children:jsx("div",{style:{"--sidebar-width":aa,"--sidebar-width-icon":ra,...s},className:a("fk-group/sidebar-wrapper fk-flex fk-w-full has-[[data-variant=inset]]:fk-bg-sidebar fk-overflow-hidden",f),ref:d,...n,children:c})})})});ce.displayName="SidebarProvider";var Z=r.forwardRef(({side:t="left",variant:e="sidebar",collapsible:a$1="offcanvas",className:f,children:s,...c},n)=>{let{isMobile:d,state:u,openMobile:h,setOpenMobile:b}=y();return a$1==="none"?jsx("div",{className:a("fk-flex fk-h-full fk-w-[--sidebar-width] fk-flex-col fk-bg-sidebar fk-text-sidebar-foreground",f),ref:n,...c,children:s}):d?jsx(U,{open:h,onOpenChange:b,...c,children:jsx(D,{"data-sidebar":"sidebar","data-mobile":"true",className:"fk-w-[--sidebar-width] fk-bg-sidebar fk-p-0 fk-text-sidebar-foreground [&>button]:fk-hidden",style:{"--sidebar-width":oa},side:t,children:jsx("div",{className:"fk-flex fk-h-full fk-w-full fk-flex-col",children:s})})}):jsxs("div",{ref:n,className:"fk-relative fk-group fk-peer fk-hidden md:fk-block fk-text-sidebar-foreground","data-state":u,"data-collapsible":u==="collapsed"?a$1:"","data-variant":e,"data-side":t,children:[jsx("div",{className:a("fk-duration-200 fk-relative fk-h-svh fk-w-[--sidebar-width] fk-bg-transparent fk-transition-[width] fk-ease-linear","group-data-[collapsible=offcanvas]:fk-w-0","group-data-[side=right]:fk-rotate-180",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:fk-w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:fk-w-[--sidebar-width-icon]")}),jsx("div",{className:a("fk-duration-200 fk-absolute fk-inset-y-0 fk-z-10 fk-hidden fk-h-[calc(100svh-3.5rem)] fk-w-[--sidebar-width] fk-transition-[left,right,width] fk-ease-linear md:fk-flex",t==="left"?"fk-left-0 group-data-[collapsible=offcanvas]:fk-left-[calc(var(--sidebar-width)*-1)]":"fk-right-0 group-data-[collapsible=offcanvas]:fk-right-[calc(var(--sidebar-width)*-1)]",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:fk-w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)] group-data-[side=left]:fk-border-r group-data-[side=right]:fk-border-l":"group-data-[collapsible=icon]:fk-w-[--sidebar-width-icon] group-data-[side=left]:fk-border-r group-data-[side=right]:fk-border-l",f),...c,children:jsx("div",{"data-sidebar":"sidebar",className:"fk-flex fk-h-full fk-w-full fk-flex-col fk-bg-sidebar group-data-[variant=floating]:fk-rounded-lg group-data-[variant=floating]:fk-border group-data-[variant=floating]:fk-border-sidebar-border group-data-[variant=floating]:fk-shadow",children:s})})]})});Z.displayName="Sidebar";var pe=r.forwardRef(({className:t,onClick:e,...a$1},f)=>{let{isMobile:s,toggleSidebar:c}=y();return jsxs(b,{ref:f,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:a("fk-h-7 fk-w-7",t),onClick:n=>{e?.(n),c();},...a$1,children:[s?jsx(Menu,{}):jsx(PanelLeft,{}),jsx("span",{className:"fk-sr-only",children:"Toggle Sidebar"})]})});pe.displayName="SidebarTrigger";var Q=r.forwardRef(({className:t,...e},a$1)=>{let{toggleSidebar:f}=y();return jsx("button",{ref:a$1,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:f,title:"Toggle Sidebar",className:a("fk-absolute fk-inset-y-0 fk-z-20 fk-hidden fk-w-4 fk--translate-x-1/2 fk-transition-all fk-ease-linear after:fk-absolute after:fk-inset-y-0 after:fk-left-1/2 after:fk-w-[2px] after:fk-bg-sidebar-border hover:after:fk-bg-muted-foreground group-data-[side=left]:fk--right-4 group-data-[side=right]:fk-left-0 sm:fk-flex","[[data-side=left]_&]:fk-cursor-w-resize [[data-side=right]_&]:fk-cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:fk-cursor-e-resize [[data-side=right][data-state=collapsed]_&]:fk-cursor-w-resize","group-data-[collapsible=offcanvas]:fk-translate-x-0 group-data-[collapsible=offcanvas]:after:fk-left-full group-data-[collapsible=offcanvas]:hover:fk-bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:fk--right-2","[[data-side=right][data-collapsible=offcanvas]_&]:fk--left-2",t),...e})});Q.displayName="SidebarRail";var ke=r.forwardRef(({className:t,...e},a$1)=>jsx("main",{ref:a$1,className:a("fk-relative fk-flex fk-flex-1 fk-flex-col fk-bg-background fk-overflow-hidden","peer-data-[variant=inset]:fk-h-[calc(100svh-4rem)]",t),...e}));ke.displayName="SidebarInset";var na=r.forwardRef(({className:t,...e},a$1)=>jsx(a$2,{ref:a$1,"data-sidebar":"input",className:a("fk-h-8 fk-w-full fk-bg-background fk-shadow-none focus-visible:fk-ring-2 focus-visible:fk-ring-sidebar-ring",t),...e}));na.displayName="SidebarInput";var fa=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"header",className:a("fk-flex fk-flex-col fk-gap-2 fk-p-2",t),...e}));fa.displayName="SidebarHeader";var sa=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"footer",className:a("fk-flex fk-flex-col fk-gap-2 fk-p-2",t),...e}));sa.displayName="SidebarFooter";var la=r.forwardRef(({className:t,...e$1},a$1)=>jsx(e,{ref:a$1,"data-sidebar":"separator",className:a("fk-mx-2 fk-w-auto fk-bg-sidebar-border",t),...e$1}));la.displayName="SidebarSeparator";var ee=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"content",className:a("fk-flex fk-min-h-0 fk-flex-1 fk-flex-col fk-overflow-auto group-data-[collapsible=icon]:fk-overflow-hidden",t),...e}));ee.displayName="SidebarContent";var L=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"group",className:a("fk-relative fk-flex fk-w-full fk-min-w-0 fk-flex-col fk-p-2",t),...e}));L.displayName="SidebarGroup";var te=r.forwardRef(({className:t,asChild:e=false,...a$1},f)=>jsx(e?Slot:"div",{ref:f,"data-sidebar":"group-label",className:a("fk-duration-200 fk-flex fk-h-8 fk-shrink-0 fk-items-center fk-rounded-md fk-px-2 fk-text-xs fk-font-medium fk-text-sidebar-foreground/70 fk-outline-none fk-ring-sidebar-ring fk-transition-[margin,opa] fk-ease-linear focus-visible:fk-ring-2 [&>svg]:fk-size-4 [&>svg]:fk-shrink-0","group-data-[collapsible=icon]:fk--mt-8 group-data-[collapsible=icon]:fk-opacity-0",t),...a$1}));te.displayName="SidebarGroupLabel";var da=r.forwardRef(({className:t,asChild:e=false,...a$1},f)=>jsx(e?Slot:"button",{ref:f,"data-sidebar":"group-action",className:a("fk-absolute fk-right-3 fk-top-3.5 fk-flex fk-aspect-square fk-w-5 fk-items-center fk-justify-center fk-rounded-md fk-p-0 fk-text-sidebar-foreground fk-outline-none fk-ring-sidebar-ring fk-transition-transform hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground focus-visible:fk-ring-2 [&>svg]:fk-size-4 [&>svg]:fk-shrink-0","after:fk-absolute after:fk--inset-2 after:md:fk-hidden","group-data-[collapsible=icon]:fk-hidden",t),...a$1}));da.displayName="SidebarGroupAction";var ca=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"group-content",className:a("fk-w-full fk-text-sm",t),...e}));ca.displayName="SidebarGroupContent";var H=r.forwardRef(({className:t,...e},a$1)=>jsx("ul",{ref:a$1,"data-sidebar":"menu",className:a("fk-flex fk-w-full fk-min-w-0 fk-flex-col fk-gap-1 fk-z-10",t),...e}));H.displayName="SidebarMenu";var z=r.forwardRef(({className:t,...e},a$1)=>jsx("li",{ref:a$1,"data-sidebar":"menu-item",className:a("fk-group/menu-item fk-relative",t),...e}));z.displayName="SidebarMenuItem";var pa=cva("peer/menu-button fk-flex fk-w-full fk-items-center fk-gap-2 fk-overflow-hidden fk-rounded-md fk-p-2 fk-text-left fk-text-sm fk-outline-none fk-ring-sidebar-ring fk-transition-[width,height,padding] hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground focus-visible:fk-ring-2 active:fk-bg-sidebar-accent active:fk-text-sidebar-accent-foreground disabled:fk-pointer-events-none disabled:fk-opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:fk-pr-8 aria-disabled:fk-pointer-events-none aria-disabled:fk-opacity-50 data-[active=true]:fk-bg-sidebar-accent data-[active=true]:fk-font-medium data-[active=true]:fk-text-sidebar-accent-foreground data-[state=open]:hover:fk-bg-sidebar-accent data-[state=open]:hover:fk-text-sidebar-accent-foreground group-data-[collapsible=icon]:fk-!size-8 group-data-[collapsible=icon]:fk-!p-2 [&>span:last-child]:fk-truncate [&>svg]:fk-size-4 [&>svg]:fk-shrink-0",{variants:{variant:{default:"hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground",outline:"fk-bg-background fk-shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground hover:fk-shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"fk-h-8 fk-text-sm",sm:"fk-h-7 fk-text-xs",lg:"fk-h-12 fk-text-sm group-data-[collapsible=icon]:fk-!p-0"}},defaultVariants:{variant:"default",size:"default"}}),B=r.forwardRef(({asChild:t=false,isActive:e=false,variant:a$1="default",size:f="default",tooltip:s,className:c$1,...n},d)=>{let u=t?Slot:"button",{isMobile:h,state:b}=y(),C=jsx(u,{ref:d,"data-sidebar":"menu-button","data-size":f,"data-active":e,className:a(pa({variant:a$1,size:f}),c$1),...n});return s?(typeof s=="string"&&(s={children:s}),jsxs(b$1,{children:[jsx(c,{asChild:true,children:C}),jsx(e$1,{side:"right",align:"center",hidden:b!=="collapsed"||h,...s})]})):C});B.displayName="SidebarMenuButton";var ka=r.forwardRef(({className:t,asChild:e=false,showOnHover:a$1=false,...f},s)=>jsx(e?Slot:"button",{ref:s,"data-sidebar":"menu-action",className:a("fk-absolute fk-right-1 fk-top-1.5 fk-flex fk-aspect-square fk-w-5 fk-items-center fk-justify-center fk-rounded-md fk-p-0 fk-text-sidebar-foreground fk-outline-none fk-ring-sidebar-ring fk-transition-transform hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground focus-visible:fk-ring-2 peer-hover/menu-button:fk-text-sidebar-accent-foreground [&>svg]:fk-size-4 [&>svg]:fk-shrink-0","after:fk-absolute after:fk--inset-2 after:md:fk-hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:fk-hidden",a$1&&"group-focus-within/menu-item:fk-opacity-100 group-hover/menu-item:fk-opacity-100 data-[state=open]:fk-opacity-100 peer-data-[active=true]/menu-button:fk-text-sidebar-accent-foreground md:fk-opacity-0",t),...f}));ka.displayName="SidebarMenuAction";var ma=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"menu-badge",className:a("fk-absolute fk-right-1 fk-flex fk-h-5 fk-min-w-5 fk-items-center fk-justify-center fk-rounded-md fk-px-1 fk-text-xs fk-font-medium fk-tabular-nums fk-text-sidebar-foreground fk-select-none fk-pointer-events-none","peer-hover/menu-button:fk-text-sidebar-accent-foreground peer-data-[active=true]/menu-button:fk-text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:fk-hidden",t),...e}));ma.displayName="SidebarMenuBadge";var ua=r.forwardRef(({className:t,showIcon:e=false,...a$1},f)=>{let s=r.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return jsxs("div",{ref:f,"data-sidebar":"menu-skeleton",className:a("fk-rounded-md fk-h-8 fk-flex fk-gap-2 fk-px-2 fk-items-center",t),...a$1,children:[e&&jsx(r$1,{className:"fk-size-4 fk-rounded-md","data-sidebar":"menu-skeleton-icon"}),jsx(r$1,{className:"fk-h-4 fk-flex-1 fk-max-w-[--skeleton-width]","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":s}})]})});ua.displayName="SidebarMenuSkeleton";var ba=r.forwardRef(({className:t,...e},a$1)=>jsx("ul",{ref:a$1,"data-sidebar":"menu-sub",className:a("fk-mx-3.5 fk-flex fk-min-w-0 fk-translate-x-px fk-flex-col fk-gap-1 fk-border-l fk-border-sidebar-border fk-px-2.5 fk-py-0.5","group-data-[collapsible=icon]:fk-hidden",t),...e}));ba.displayName="SidebarMenuSub";var ga=r.forwardRef(({...t},e)=>jsx("li",{ref:e,...t}));ga.displayName="SidebarMenuSubItem";var va=r.forwardRef(({asChild:t=false,size:e="md",isActive:a$1,className:f,...s},c)=>jsx(t?Slot:"a",{ref:c,"data-sidebar":"menu-sub-button","data-size":e,"data-active":a$1,className:a("fk-flex fk-h-7 fk-min-w-0 fk--translate-x-px fk-items-center fk-gap-2 fk-overflow-hidden fk-rounded-md fk-px-2 fk-text-sidebar-foreground fk-outline-none fk-ring-sidebar-ring hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground focus-visible:fk-ring-2 active:fk-bg-sidebar-accent active:fk-text-sidebar-accent-foreground disabled:fk-pointer-events-none disabled:fk-opacity-50 aria-disabled:fk-pointer-events-none aria-disabled:fk-opacity-50 [&>span:last-child]:fk-truncate [&>svg]:fk-size-4 [&>svg]:fk-shrink-0 [&>svg]:fk-text-sidebar-accent-foreground","data-[active=true]:fk-bg-sidebar-accent data-[active=true]:fk-text-sidebar-accent-foreground",e==="sm"&&"fk-text-xs",e==="md"&&"fk-text-sm","group-data-[collapsible=icon]:fk-hidden",f),...s}));va.displayName="SidebarMenuSubButton";var Ra=Object.keys(G).map(t=>({name:t,icon:G[t]})),xa=new ha(Ra,{keys:["name"],threshold:.5});function wa({className:t,menuGroups:e,schema:a}){let f=a.filter(n=>!(n.menu&&"hidden"in n.menu)),s=groupBy(n=>n.menu?.group&&e?.find(d=>d.name===n.menu?.group)?.name||"ungrouped",f),c=e?.filter(n=>s[n.name]?.length);return jsxs(Z,{className:t,collapsible:"icon",variant:"inset",children:[jsxs(ee,{children:[c?.map(n=>jsxs(L,{children:[jsx(te,{children:n.title}),jsx(H,{children:s[n.name]?.map(d=>jsx(z,{children:jsx(B,{asChild:true,isActive:location.pathname.includes(`/list/${d.plural}`),tooltip:A(d.menu?.label??d.plural),children:jsxs(NavLink,{to:`list/${d.plural}`,children:[d.menu?.icon??createElement(G[be(d.name)],{className:"fk-h-4 fk-w-4 fk-mr-2",strokeWidth:2}),jsx("span",{children:A(d.menu?.label??d.plural)})]})})},d.plural))})]},n.name)),jsx(L,{children:jsx(H,{children:s.ungrouped?.map(n=>jsx(z,{children:jsx(B,{asChild:true,isActive:location.pathname.includes(`/list/${n.plural}`),tooltip:A(n.menu?.label??n.plural),children:jsxs(NavLink,{to:`list/${n.plural}`,children:[createElement(G[be(n.name)],{className:"fk-h-4 fk-w-4 fk-mr-2",strokeWidth:2}),jsx("span",{children:A(n.menu?.label??n.plural)})]})})},n.plural))})})]}),jsx(Q,{})]})}function A(t){let e=t.replace(/([A-Z])/g," $1");return e.charAt(0).toUpperCase()+e.slice(1).trim()}function be(t){let e=xa.search(t);return e.length>0?e[0].item.name:"Dock"}var ya=k.Root,ge=r.forwardRef(({className:t,...e},a$1)=>jsx(k.List,{className:a("fk-inline-flex fk-h-10 fk-items-center fk-justify-center fk-rounded-md fk-bg-muted fk-p-1 fk-text-muted-foreground",t),ref:a$1,...e}));ge.displayName=k.List.displayName;var ve=r.forwardRef(({className:t,...e},a$1)=>jsx(k.Trigger,{className:a("fk-inline-flex fk-items-center fk-justify-center fk-whitespace-nowrap fk-rounded-sm fk-px-3 fk-py-1.5 fk-text-sm fk-font-medium fk-ring-offset-background fk-transition-all focus-visible:fk-outline-none focus-visible:fk-ring-2 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-2 disabled:fk-pointer-events-none disabled:fk-opacity-50 data-[state=active]:fk-bg-background data-[state=active]:fk-text-foreground data-[state=active]:fk-shadow-sm",t),ref:a$1,...e}));ve.displayName=k.Trigger.displayName;var he=r.forwardRef(({className:t,...e},a$1)=>jsx(k.Content,{className:a("fk-mt-2 fk-ring-offset-background focus-visible:fk-outline-none focus-visible:fk-ring-2 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-2",t),ref:a$1,...e}));he.displayName=k.Content.displayName;export{jt as ResizableHandle,$t as ResizablePanel,Wt as ResizablePanelGroup,U as Sheet,Ut as SheetClose,D as SheetContent,se as SheetDescription,ne as SheetFooter,ie as SheetHeader,q as SheetOverlay,re as SheetPortal,fe as SheetTitle,Jt as SheetTrigger,wa as Sidebar,ke as SidebarInset,ce as SidebarProvider,pe as SidebarTrigger,ya as Tabs,he as TabsContent,ge as TabsList,ve as TabsTrigger,y as useSidebar};//# sourceMappingURL=ui.js.map
|
|
2
2
|
//# sourceMappingURL=ui.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flexkit/studio",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.19",
|
|
4
4
|
"description": "Flexkit Studio - Build custom internal tools like PIMs, CRMs, and ERPs with a flexible React UI and a graph-backed API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"flexkit",
|
|
@@ -60,20 +60,20 @@
|
|
|
60
60
|
"@types/debug": "^4.1.12",
|
|
61
61
|
"@types/node": "^20.5.2",
|
|
62
62
|
"@types/ramda": "^0.29.7",
|
|
63
|
-
"@types/react": "^18.
|
|
64
|
-
"@types/react-dom": "^18.
|
|
63
|
+
"@types/react": "^18.0.0",
|
|
64
|
+
"@types/react-dom": "^18.0.0",
|
|
65
65
|
"@types/uuid": "^9.0.6",
|
|
66
66
|
"autoprefixer": "^10.4.16",
|
|
67
67
|
"postcss": "^8.4.31",
|
|
68
|
-
"react": "^18.
|
|
69
|
-
"react-dom": "^18.
|
|
68
|
+
"react": "^18.0.0",
|
|
69
|
+
"react-dom": "^18.0.0",
|
|
70
70
|
"tailwindcss": "3.4.10",
|
|
71
71
|
"tailwindcss-animate": "1.0.7",
|
|
72
72
|
"tsup": "8.5.1",
|
|
73
73
|
"typescript": "^5.3.3",
|
|
74
74
|
"eslint-config-custom": "0.0.0",
|
|
75
|
-
"
|
|
76
|
-
"
|
|
75
|
+
"tsconfig": "0.0.0",
|
|
76
|
+
"tailwind-config": "0.0.1"
|
|
77
77
|
},
|
|
78
78
|
"dependencies": {
|
|
79
79
|
"@ai-sdk/react": "3.0.118",
|
package/dist/asset-BDEGSRVW.js
DELETED
package/dist/chunk-5MTVN77Y.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import'./index.css';import {a}from'./chunk-AXB7FQV2.js';import*as f from'react';import*as c from'@radix-ui/react-toggle';import {cva}from'class-variance-authority';import {jsx}from'react/jsx-runtime';import*as s from'@radix-ui/react-toggle-group';import*as k from'@radix-ui/react-separator';var p=cva("fk-inline-flex fk-items-center fk-justify-center fk-rounded-md fk-text-sm fk-font-medium fk-ring-offset-background fk-transition-colors hover:fk-bg-muted hover:fk-text-muted-foreground focus-visible:fk-outline-none focus-visible:fk-ring-2 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-2 disabled:fk-pointer-events-none disabled:fk-opacity-50 data-[state=on]:fk-bg-accent data-[state=on]:fk-text-accent-foreground",{variants:{variant:{default:"fk-bg-transparent",outline:"fk-border fk-border-input fk-bg-transparent hover:fk-bg-accent hover:fk-text-accent-foreground"},size:{default:"fk-h-10 fk-px-3",sm:"fk-h-9 fk-px-2.5",lg:"fk-h-11 fk-px-5"}},defaultVariants:{variant:"default",size:"default"}}),v=f.forwardRef(({className:t,variant:e,size:o,...a$1},l)=>jsx(c.Root,{className:a(p({variant:e,size:o,className:t})),ref:l,...a$1}));v.displayName=c.Root.displayName;var T=f.createContext({size:"default",variant:"default"}),P=f.forwardRef(({className:t,variant:e,size:o,children:a$1,...l},m)=>jsx(s.Root,{className:a("fk-flex fk-items-center fk-justify-center fk-gap-1",t),ref:m,...l,children:jsx(T.Provider,{value:{variant:e,size:o},children:a$1})}));P.displayName=s.Root.displayName;var N=f.forwardRef(({className:t,children:e,variant:o,size:a$1,...l},m)=>{let b=f.useContext(T);return jsx(s.Item,{className:a(p({variant:b.variant||o,size:b.size||a$1}),t),ref:m,...l,children:e})});N.displayName=s.Item.displayName;var h=f.forwardRef(({className:t,orientation:e="horizontal",decorative:o=true,...a$1},l)=>jsx(k.Root,{className:a("fk-shrink-0 fk-bg-border",e==="horizontal"?"fk-h-[1px] fk-w-full":"fk-h-full fk-w-[1px]",t),decorative:o,orientation:e,ref:l,...a$1}));h.displayName=k.Root.displayName;var x=f.forwardRef(({className:t,onScroll:e,...o},a$1)=>jsx("div",{className:"fk-relative fk-h-full fk-w-full fk-overflow-x-auto fk-rounded-md fk-border-border fk-border",onScroll:e,ref:a$1,children:jsx("table",{className:a("fk-w-full fk-caption-bottom fk-text-sm",t),...o})}));x.displayName="Table";var L=f.forwardRef(({className:t,...e},o)=>jsx("thead",{className:a("fk-sticky fk-z-[1] fk-top-0 fk-bg-background/90 fk-backdrop-blur-[1px] [&_tr]:fk-border-border [&_tr]:fk-border-border [&_tr]:fk-border-b",t),ref:o,...e}));L.displayName="TableHeader";var M=f.forwardRef(({className:t,...e},o)=>jsx("tbody",{className:a("[&_tr:last-child]:fk-border-0",t),ref:o,...e}));M.displayName="TableBody";var w=f.forwardRef(({className:t,...e},o)=>jsx("tfoot",{className:a("fk-border-border fk-border-t fk-bg-muted/50 fk-font-medium [&>tr]:last:fk-border-b-0",t),ref:o,...e}));w.displayName="TableFooter";var E=f.forwardRef(({className:t,...e},o)=>jsx("tr",{className:a("fk-border-border fk-border-b fk-transition-colors hover:fk-bg-muted/50 data-[state=selected]:fk-bg-muted",t),ref:o,...e}));E.displayName="TableRow";var C=f.forwardRef(({className:t,style:e,...o},a$1)=>jsx("th",{className:a("fk-h-10 fk-px-4 fk-text-left fk-align-middle fk-font-medium fk-text-muted-foreground [&:has([role=checkbox])]:fk-pr-0",t),ref:a$1,...o,style:e}));C.displayName="TableHead";var G=f.forwardRef(({className:t,...e},o)=>jsx("td",{className:a("fk-px-4 fk-py-1 fk-align-middle [&:has([role=checkbox])]:fk-pr-0",t),ref:o,...e}));G.displayName="TableCell";var S=f.forwardRef(({className:t,...e},o)=>jsx("caption",{className:a("fk-mt-4 fk-text-sm fk-text-muted-foreground",t),ref:o,...e}));S.displayName="TableCaption";export{p as a,v as b,P as c,N as d,h as e,x as f,L as g,M as h,w as i,E as j,C as k,G as l,S as m};//# sourceMappingURL=chunk-5MTVN77Y.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-5MTVN77Y.js.map
|
package/dist/chunk-5VMIFTZZ.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import'./index.css';import {a,b as b$1,c,d as d$1,e}from'./chunk-RMSYYUQM.js';import {b}from'./chunk-TMK5LKFR.js';import {defaultStyles,FileIcon}from'react-file-icon';import {useMemo,useState,useEffect}from'react';import {jsx,jsxs}from'react/jsx-runtime';var y=250,P=25e5,r=new Map,k=new Map,v=new Set,U=new Map;function d(t){if(U.has(t))return;let e=new Image;e.decoding="async",e.src=t,U.set(t,e);}function g(t){let e=r.get(t);e&&r.set(t,{...e,lastUsedAt:Date.now()});}function L(){if(r.size<=y)return;let t=Array.from(r.entries()).sort((n,o)=>n[1].lastUsedAt-o[1].lastUsedAt),e=Math.max(1,Math.ceil(y*.1));for(let n=0;n<e&&n<t.length;n+=1){let[o,s]=t[n];r.delete(o),URL.revokeObjectURL(s.objectUrl);}}async function M(t){if(v.has(t)){d(t);return}if(r.has(t)){g(t);return}let e=k.get(t);if(e){await e;return}let n=(async()=>{try{let o=await fetch(t,{mode:"cors",cache:"force-cache"});if(!o.ok){d(t);return}let s=await o.blob();if(s.size>P)return;let c=URL.createObjectURL(s);r.set(t,{objectUrl:c,byteSize:s.size,lastUsedAt:Date.now()}),L();}catch(o){o instanceof TypeError&&v.add(t),d(t);}})();k.set(t,n),await n,k.delete(t);}function C(t){let e=useMemo(()=>{if(!t)return null;let s=r.get(t);return s?(g(t),s.objectUrl):null},[t]),[n,o]=useState(e);return useEffect(()=>{if(!t){o(null);return}if(v.has(t)){d(t),o(null);return}let s=r.get(t);if(s){g(t),o(s.objectUrl);return}o(null);let c=false;return M(t).then(()=>{let l=r.get(t);l&&(c||(g(t),o(l.objectUrl)));}),()=>{c=true;}},[t]),n}function O({value:t}){let e$1=t?.path??"",n=!!e$1,o=n&&/\.(png|jpe?g|gif|webp|avif|svg)$/i.test(e$1),s=f=>{let[m]=f.split("?"),T=m.split(".");return T.length>1?T.pop().toLowerCase():"file"},c$1=n?e$1.endsWith(".svg")?`${b}${e$1}`:`${b}${e$1}?w=84&h=84&f=webp`:null,l=n?e$1.endsWith(".svg")?`${b}${e$1}`:`${b}${e$1}?w=624&h=624&f=webp`:"",A=C(c$1);return n?jsx("div",{className:"fk-z-10",children:jsx(a,{children:o?jsxs(b$1,{children:[jsx(c,{asChild:true,children:jsx("img",{alt:"asset",className:"fk-w-7 fk-h-7 fk-cursor-zoom-in fk-bg-muted/40 fk-rounded-sm",decoding:"async",src:A??void 0})}),jsx(d$1,{children:jsx(e,{children:jsx("img",{alt:"asset",className:"fk-w-52 fk-h-52 fk-bg-muted/40 fk-rounded-sm",decoding:"async",src:l})})})]}):jsxs(b$1,{children:[jsx(c,{asChild:true,children:jsx("div",{className:"fk-w-7 fk-h-7 fk-rounded fk-bg-transparent fk-flex fk-items-center fk-justify-center [&>svg]:fk-h-full [&>svg]:fk-w-auto",children:(()=>{let f=s(e$1),m=defaultStyles[f];return jsx(FileIcon,{extension:f,...m||{}})})()})}),jsx(d$1,{children:jsx(e,{children:jsx("div",{className:"fk-text-sm fk-text-muted-foreground",children:"Preview not available"})})})]})})}):null}export{O as a};//# sourceMappingURL=chunk-5VMIFTZZ.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-5VMIFTZZ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ui/hooks/use-cached-image-src.ts","../src/data-grid/preview-components/asset.tsx"],"names":["MAX_CACHE_ENTRIES","MAX_SINGLE_BLOB_BYTES","blobUrlCache","inFlightLoads","corsBlockedUrls","preloadedImages","ensurePreloaded","url","img","touch","entry","evictIfNeeded","entries","a","b","evictCount","i","loadToCache","existing","promise","res","blob","objectUrl","err","useCachedImageSrc","initial","useMemo","cached","src","setSrc","useState","useEffect","isStale","next","Asset","value","path","hasPath","isImage","getExtensionFromPath","p","clean","parts","thumbnaillUrl","IMAGES_BASE_URL","fullUrl","cachedThumbnailSrc","jsx","TooltipProvider","jsxs","Tooltip","TooltipTrigger","TooltipPortal","TooltipContent","ext","style","defaultStyles","FileTypeIcon"],"mappings":"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","file":"chunk-5VMIFTZZ.js","sourcesContent":["import { useEffect, useMemo, useState } from 'react';\n\ntype CacheEntry = {\n objectUrl: string;\n byteSize: number;\n lastUsedAt: number;\n};\n\nconst MAX_CACHE_ENTRIES = 250;\nconst MAX_SINGLE_BLOB_BYTES = 2_500_000; // ~2.5MB\n\nconst blobUrlCache = new Map<string, CacheEntry>();\nconst inFlightLoads = new Map<string, Promise<void>>();\nconst corsBlockedUrls = new Set<string>();\nconst preloadedImages = new Map<string, HTMLImageElement>();\n\nfunction ensurePreloaded(url: string): void {\n if (preloadedImages.has(url)) {\n return;\n }\n\n const img = new Image();\n img.decoding = 'async';\n img.src = url;\n preloadedImages.set(url, img);\n}\n\nfunction touch(url: string): void {\n const entry = blobUrlCache.get(url);\n\n if (!entry) {\n return;\n }\n\n blobUrlCache.set(url, { ...entry, lastUsedAt: Date.now() });\n}\n\nfunction evictIfNeeded(): void {\n if (blobUrlCache.size <= MAX_CACHE_ENTRIES) {\n return;\n }\n\n const entries = Array.from(blobUrlCache.entries()).sort((a, b) => a[1].lastUsedAt - b[1].lastUsedAt);\n const evictCount = Math.max(1, Math.ceil(MAX_CACHE_ENTRIES * 0.1));\n\n for (let i = 0; i < evictCount && i < entries.length; i += 1) {\n const [url, entry] = entries[i];\n blobUrlCache.delete(url);\n\n URL.revokeObjectURL(entry.objectUrl);\n }\n}\n\nasync function loadToCache(url: string): Promise<void> {\n if (corsBlockedUrls.has(url)) {\n ensurePreloaded(url);\n\n return;\n }\n\n if (blobUrlCache.has(url)) {\n touch(url);\n\n return;\n }\n\n const existing = inFlightLoads.get(url);\n\n if (existing) {\n await existing;\n\n return;\n }\n\n const promise = (async () => {\n try {\n const res = await fetch(url, {\n mode: 'cors',\n cache: 'force-cache',\n });\n\n if (!res.ok) {\n ensurePreloaded(url);\n\n return;\n }\n\n const blob = await res.blob();\n\n if (blob.size > MAX_SINGLE_BLOB_BYTES) {\n return;\n }\n\n const objectUrl = URL.createObjectURL(blob);\n blobUrlCache.set(url, { objectUrl, byteSize: blob.size, lastUsedAt: Date.now() });\n evictIfNeeded();\n } catch (err: unknown) {\n // Most common failure is CORS (TypeError: Failed to fetch). If so, avoid retrying.\n if (err instanceof TypeError) {\n corsBlockedUrls.add(url);\n }\n\n ensurePreloaded(url);\n }\n })();\n\n inFlightLoads.set(url, promise);\n\n await promise;\n\n inFlightLoads.delete(url);\n}\n\n/**\n * Keeps a stable, in-memory cached image src across virtualized unmount/remount cycles.\n * Falls back to the original URL if the image can’t be fetched (e.g. due to CORS).\n */\nexport function useCachedImageSrc(url: string | null | undefined): string | null {\n const initial = useMemo(() => {\n if (!url) {\n return null;\n }\n\n const cached = blobUrlCache.get(url);\n\n if (!cached) {\n return null;\n }\n\n touch(url);\n\n return cached.objectUrl;\n }, [url]);\n\n const [src, setSrc] = useState<string | null>(initial);\n\n useEffect(() => {\n if (!url) {\n setSrc(null);\n\n return;\n }\n\n if (corsBlockedUrls.has(url)) {\n ensurePreloaded(url);\n setSrc(null);\n\n return;\n }\n\n const cached = blobUrlCache.get(url);\n\n if (cached) {\n touch(url);\n setSrc(cached.objectUrl);\n\n return;\n }\n\n setSrc(null);\n let isStale = false;\n\n loadToCache(url).then(() => {\n const next = blobUrlCache.get(url);\n\n if (!next) {\n return;\n }\n\n if (isStale) {\n return;\n }\n\n touch(url);\n setSrc(next.objectUrl);\n });\n\n return () => {\n isStale = true;\n };\n }, [url]);\n\n return src;\n}\n","import { Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger } from '../../ui/primitives/tooltip';\nimport { IMAGES_BASE_URL } from '../../core/api-paths';\nimport { FileIcon as FileTypeIcon, defaultStyles } from 'react-file-icon';\nimport { useCachedImageSrc } from '../../ui/hooks/use-cached-image-src';\n\nexport type Asset = {\n _id: string;\n path: string;\n};\n\nexport function Asset({ value }: { value: Asset }) {\n const path = value?.path ?? '';\n const hasPath = Boolean(path);\n const isImage = hasPath && /\\.(png|jpe?g|gif|webp|avif|svg)$/i.test(path);\n\n const getExtensionFromPath = (p: string): string => {\n const [clean] = p.split('?');\n const parts = clean.split('.');\n\n if (parts.length > 1) {\n return parts.pop()!.toLowerCase();\n }\n\n return 'file';\n };\n\n const thumbnaillUrl = hasPath\n ? path.endsWith('.svg')\n ? `${IMAGES_BASE_URL}${path}`\n : `${IMAGES_BASE_URL}${path}?w=84&h=84&f=webp`\n : null;\n\n const fullUrl = hasPath\n ? path.endsWith('.svg')\n ? `${IMAGES_BASE_URL}${path}`\n : `${IMAGES_BASE_URL}${path}?w=624&h=624&f=webp`\n : '';\n\n const cachedThumbnailSrc = useCachedImageSrc(thumbnaillUrl);\n\n if (!hasPath) {\n return null;\n }\n\n return (\n <div className=\"fk-z-10\">\n <TooltipProvider>\n {isImage ? (\n <Tooltip>\n <TooltipTrigger asChild>\n <img\n alt=\"asset\"\n className=\"fk-w-7 fk-h-7 fk-cursor-zoom-in fk-bg-muted/40 fk-rounded-sm\"\n decoding=\"async\"\n src={cachedThumbnailSrc ?? undefined}\n />\n </TooltipTrigger>\n <TooltipPortal>\n <TooltipContent>\n <img\n alt=\"asset\"\n className=\"fk-w-52 fk-h-52 fk-bg-muted/40 fk-rounded-sm\"\n decoding=\"async\"\n src={fullUrl}\n />\n </TooltipContent>\n </TooltipPortal>\n </Tooltip>\n ) : (\n <Tooltip>\n <TooltipTrigger asChild>\n <div className=\"fk-w-7 fk-h-7 fk-rounded fk-bg-transparent fk-flex fk-items-center fk-justify-center [&>svg]:fk-h-full [&>svg]:fk-w-auto\">\n {(() => {\n const ext = getExtensionFromPath(path);\n const style = (\n defaultStyles as Record<string, Record<string, string | number | boolean | undefined>>\n )[ext];\n\n return <FileTypeIcon extension={ext} {...(style || {})} />;\n })()}\n </div>\n </TooltipTrigger>\n <TooltipPortal>\n <TooltipContent>\n <div className=\"fk-text-sm fk-text-muted-foreground\">Preview not available</div>\n </TooltipContent>\n </TooltipPortal>\n </Tooltip>\n )}\n </TooltipProvider>\n </div>\n );\n}\n"]}
|