@flexkit/studio 0.0.29 → 0.0.30
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/chunk-MC6VZLKC.js +2 -0
- package/dist/chunk-MC6VZLKC.js.map +1 -0
- package/dist/index.css +702 -6
- package/dist/index.d.ts +2 -2
- package/dist/index.js +138 -138
- package/dist/index.js.map +1 -1
- package/dist/{types.d-6y0oZ2Hh.d.ts → types.d-CX3kDxFZ.d.ts} +18 -9
- package/dist/ui.d.ts +455 -4
- package/dist/ui.js +6 -1
- package/dist/ui.js.map +1 -1
- package/package.json +15 -1
- package/dist/chunk-7MSX5T2Z.js +0 -2
- package/dist/chunk-7MSX5T2Z.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flexkit/studio",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.30",
|
|
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",
|
|
@@ -88,6 +88,15 @@
|
|
|
88
88
|
"@lexical/selection": "^0.12.2",
|
|
89
89
|
"@lexical/table": "^0.12.2",
|
|
90
90
|
"@lexical/utils": "^0.12.2",
|
|
91
|
+
"@radix-ui/react-collapsible": "1.1.20",
|
|
92
|
+
"@radix-ui/react-scroll-area": "1.2.18",
|
|
93
|
+
"@radix-ui/react-select": "2.3.7",
|
|
94
|
+
"@radix-ui/react-slot": "1.3.3",
|
|
95
|
+
"@radix-ui/react-use-controllable-state": "1.2.6",
|
|
96
|
+
"@streamdown/cjk": "1.0.3",
|
|
97
|
+
"@streamdown/code": "1.1.1",
|
|
98
|
+
"@streamdown/math": "1.0.2",
|
|
99
|
+
"@streamdown/mermaid": "1.0.2",
|
|
91
100
|
"@tanstack/react-table": "^8.11.7",
|
|
92
101
|
"@tanstack/react-virtual": "^3.8.3",
|
|
93
102
|
"@tiptap/core": "2.27.1",
|
|
@@ -106,6 +115,8 @@
|
|
|
106
115
|
"lexical": "^0.12.2",
|
|
107
116
|
"lowlight": "3.1.0",
|
|
108
117
|
"lucide-react": "0.577.0",
|
|
118
|
+
"motion": "13.1.0",
|
|
119
|
+
"nanoid": "6.0.1",
|
|
109
120
|
"novel": "1.0.2",
|
|
110
121
|
"radix-ui": "1.4.3",
|
|
111
122
|
"ramda": "^0.29.1",
|
|
@@ -116,11 +127,14 @@
|
|
|
116
127
|
"react-resizable-panels": "^4",
|
|
117
128
|
"react-router-dom": "^6.21.0",
|
|
118
129
|
"shadcn": "4.16.1",
|
|
130
|
+
"shiki": "4.4.3",
|
|
119
131
|
"sonner": "^2.0.0",
|
|
132
|
+
"streamdown": "2.5.0",
|
|
120
133
|
"swr": "^2.4.1",
|
|
121
134
|
"tailwind-merge": "^3.4.1",
|
|
122
135
|
"tiptap-markdown": "0.8.10",
|
|
123
136
|
"use-debounce": "10.0.3",
|
|
137
|
+
"use-stick-to-bottom": "1.1.6",
|
|
124
138
|
"uuid": "^9.0.1",
|
|
125
139
|
"vaul": "1.1.2",
|
|
126
140
|
"zod": "4.4.3"
|
package/dist/chunk-7MSX5T2Z.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import'./index.css';import {e,a as a$1,b as b$1,c}from'./chunk-YW2EEXMV.js';import {b}from'./chunk-IXO2LU47.js';import {a}from'./chunk-O2QMYUPS.js';import {Toggle,ToggleGroup,Separator}from'radix-ui';import {cva}from'class-variance-authority';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import*as p from'react';import {Loader2Icon,OctagonXIcon,TriangleAlertIcon,InfoIcon,CircleCheckIcon,Info}from'lucide-react';import {Toaster}from'sonner';export{toast as e}from'sonner';var d=cva("fk:inline-flex fk:items-center fk:justify-center fk:gap-2 fk:rounded-md fk:text-sm fk:font-medium fk:whitespace-nowrap fk:transition-[color,box-shadow] fk:outline-none fk:hover:bg-muted fk:hover:text-muted-foreground fk:focus-visible:border-ring fk:focus-visible:ring-[3px] fk:focus-visible:ring-ring/50 fk:disabled:pointer-events-none fk:disabled:opacity-50 fk:aria-invalid:border-destructive fk:aria-invalid:ring-destructive/20 fk:data-[state=on]:bg-accent fk:data-[state=on]:text-accent-foreground fk:dark:aria-invalid:ring-destructive/40 fk:[&_svg]:pointer-events-none fk:[&_svg]:shrink-0 fk:[&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"fk:bg-transparent",outline:"fk:border fk:border-input fk:bg-transparent fk:shadow-xs fk:hover:bg-accent fk:hover:text-accent-foreground"},size:{default:"fk:h-9 fk:min-w-9 fk:px-2",sm:"fk:h-8 fk:min-w-8 fk:px-1.5",lg:"fk:h-10 fk:min-w-10 fk:px-2.5"}},defaultVariants:{variant:"default",size:"default"}});function L({className:e,variant:t,size:r,...a$1}){return jsx(Toggle.Root,{"data-slot":"toggle",className:a(d({variant:t,size:r,className:e})),...a$1})}var x=p.createContext({size:"default",variant:"default",spacing:0});function M({className:e,variant:t,size:r,spacing:a$1=0,children:l,...s}){return jsx(ToggleGroup.Root,{"data-slot":"toggle-group","data-variant":t,"data-size":r,"data-spacing":a$1,style:{"--gap":a$1},className:a("fk:group/toggle-group fk:flex fk:w-fit fk:items-center fk:gap-[--spacing(var(--gap))] fk:rounded-md fk:data-[spacing=default]:data-[variant=outline]:shadow-xs",e),...s,children:jsx(x.Provider,{value:{variant:t,size:r,spacing:a$1},children:l})})}function Y({className:e,children:t,variant:r,size:a$1,...l}){let s=p.useContext(x);return jsx(ToggleGroup.Item,{"data-slot":"toggle-group-item","data-variant":s.variant||r,"data-size":s.size||a$1,"data-spacing":s.spacing,className:a(d({variant:s.variant||r,size:s.size||a$1}),"fk:w-auto fk:min-w-0 fk:shrink-0 fk:px-3 fk:focus:z-10 fk:focus-visible:z-10","fk:data-[spacing=0]:rounded-none fk:data-[spacing=0]:shadow-none fk:data-[spacing=0]:first:rounded-l-md fk:data-[spacing=0]:last:rounded-r-md fk:data-[spacing=0]:data-[variant=outline]:border-l-0 fk:data-[spacing=0]:data-[variant=outline]:first:border-l",e),...l,children:t})}var $=({richColors:e=true,style:t,...r})=>{let{theme:a="system"}=b();return jsx(Toaster,{theme:a,richColors:e,className:"toaster group",icons:{success:jsx(CircleCheckIcon,{className:"fk:size-4"}),info:jsx(InfoIcon,{className:"fk:size-4"}),warning:jsx(TriangleAlertIcon,{className:"fk:size-4"}),error:jsx(OctagonXIcon,{className:"fk:size-4"}),loading:jsx(Loader2Icon,{className:"fk:size-4 fk:animate-spin"})},style:{"--normal-bg":"hsl(var(--popover))","--normal-text":"hsl(var(--popover-foreground))","--normal-border":"hsl(var(--border))","--border-radius":"var(--radius)",...t},...r})};function at({className:e,orientation:t="horizontal",decorative:r=true,...a$1}){return jsx(Separator.Root,{"data-slot":"separator",decorative:r,orientation:t,className:a("fk:shrink-0 fk:bg-border fk:data-[orientation=horizontal]:h-px fk:data-[orientation=horizontal]:w-full fk:data-[orientation=vertical]:h-full fk:data-[orientation=vertical]:w-px",e),...a$1})}function st({className:e,containerClassName:t,onScroll:r,ref:a$1,...l}){return jsx("div",{ref:a$1,"data-slot":"table-container",className:a("fk:relative fk:h-full fk:w-full fk:min-w-0 fk:overflow-auto fk:rounded-t-md fk:border-border fk:border",t),onScroll:r,children:jsx("table",{"data-slot":"table",className:a("fk:w-full fk:caption-bottom fk:text-sm",e),...l})})}function ft({className:e,...t}){return jsx("thead",{"data-slot":"table-header",className:a("fk:[&_tr]:border-b fk:bg-muted fk:dark:bg-muted",e),...t})}function lt({className:e,...t}){return jsx("tbody",{"data-slot":"table-body",className:a("fk:[&_tr:last-child]:border-0",e),...t})}function pt({className:e,...t}){return jsx("tfoot",{"data-slot":"table-footer",className:a("fk:border-t fk:bg-muted/50 fk:font-medium fk:[&>tr]:last:border-b-0",e),...t})}function dt({className:e,...t}){return jsx("tr",{"data-slot":"table-row",className:a("fk:border-b fk:transition-colors fk:hover:bg-muted/50 fk:has-aria-expanded:bg-muted/50 fk:data-[state=selected]:bg-muted",e),...t})}function ct({className:e,...t}){return jsx("th",{"data-slot":"table-head",className:a("fk:h-10 fk:px-4 fk:text-left fk:align-middle fk:font-medium fk:whitespace-nowrap fk:text-foreground fk:[&:has([role=checkbox])]:pr-0 fk:*:[[role=checkbox]]:translate-y-[2px]",e),...t})}function mt({className:e,...t}){return jsx("td",{"data-slot":"table-cell",className:a("fk:px-4 fk:py-1 fk:align-middle fk:whitespace-nowrap fk:[&:has([role=checkbox])]:pr-0 fk:*:[[role=checkbox]]:translate-y-[2px]",e),...t})}function kt({className:e,...t}){return jsx("caption",{"data-slot":"table-caption",className:a("fk:mt-4 fk:text-sm fk:text-muted-foreground",e),...t})}function _(){return jsx(e,{className:"fk:max-w-64 fk:p-3",children:jsxs("div",{className:"fk:flex fk:gap-2.5",children:[jsx(Info,{className:"fk:mt-0.5 fk:h-4 fk:w-4 fk:shrink-0 fk:opacity-70"}),jsxs("div",{className:"fk:flex fk:flex-col fk:gap-1",children:[jsx("p",{className:"fk:text-sm fk:font-semibold fk:leading-none",children:"Insufficient permissions"}),jsx("p",{className:"fk:text-xs fk:opacity-70 fk:leading-snug",children:"Your member role cannot perform this action"})]})]})})}function ht({disabled:e,children:t}){return e?jsx(a$1,{children:jsxs(b$1,{children:[jsx(c,{asChild:true,children:jsx("span",{className:"fk:inline-flex",children:t})}),jsx(_,{})]})}):jsx(Fragment,{children:t})}export{d as a,L as b,M as c,Y as d,$ as f,at as g,st as h,ft as i,lt as j,pt as k,dt as l,ct as m,mt as n,kt as o,_ as p,ht as q};//# sourceMappingURL=chunk-7MSX5T2Z.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-7MSX5T2Z.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ui/primitives/toggle.tsx","../src/ui/primitives/toggle-group.tsx","../src/ui/primitives/sonner.tsx","../src/ui/primitives/separator.tsx","../src/ui/primitives/table.tsx","../src/ui/components/permission-tooltip.tsx"],"names":["toggleVariants","cva","Toggle","className","variant","size","props","jsx","TogglePrimitive","cn","ToggleGroupContext","ToggleGroup","spacing","children","ToggleGroupPrimitive","ToggleGroupItem","context","Toaster","richColors","style","theme","useTheme","Sonner","CircleCheckIcon","InfoIcon","TriangleAlertIcon","OctagonXIcon","Loader2Icon","Separator","orientation","decorative","SeparatorPrimitive","Table","containerClassName","onScroll","ref","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption","InsufficientPermissionsTooltipContent","TooltipContent","jsxs","Info","PermissionTooltip","disabled","TooltipProvider","Tooltip","TooltipTrigger","Fragment"],"mappings":"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","file":"chunk-7MSX5T2Z.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Toggle as TogglePrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../lib/utils';\n\nconst toggleVariants = cva(\n \"fk:inline-flex fk:items-center fk:justify-center fk:gap-2 fk:rounded-md fk:text-sm fk:font-medium fk:whitespace-nowrap fk:transition-[color,box-shadow] fk:outline-none fk:hover:bg-muted fk:hover:text-muted-foreground fk:focus-visible:border-ring fk:focus-visible:ring-[3px] fk:focus-visible:ring-ring/50 fk:disabled:pointer-events-none fk:disabled:opacity-50 fk:aria-invalid:border-destructive fk:aria-invalid:ring-destructive/20 fk:data-[state=on]:bg-accent fk:data-[state=on]:text-accent-foreground fk:dark:aria-invalid:ring-destructive/40 fk:[&_svg]:pointer-events-none fk:[&_svg]:shrink-0 fk:[&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: 'fk:bg-transparent',\n outline:\n 'fk:border fk:border-input fk:bg-transparent fk:shadow-xs fk:hover:bg-accent fk:hover:text-accent-foreground',\n },\n size: {\n default: 'fk:h-9 fk:min-w-9 fk:px-2',\n sm: 'fk:h-8 fk:min-w-8 fk:px-1.5',\n lg: 'fk:h-10 fk:min-w-10 fk:px-2.5',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n);\n\nfunction Toggle({\n className,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>) {\n return (\n <TogglePrimitive.Root data-slot=\"toggle\" className={cn(toggleVariants({ variant, size, className }))} {...props} />\n );\n}\n\nexport { Toggle, toggleVariants };\n","'use client';\n\nimport * as React from 'react';\nimport { ToggleGroup as ToggleGroupPrimitive } from 'radix-ui';\nimport type { VariantProps } from 'class-variance-authority';\nimport { cn } from '../lib/utils';\nimport { toggleVariants } from './toggle';\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n spacing?: number;\n }\n>({\n size: 'default',\n variant: 'default',\n spacing: 0,\n});\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n spacing = 0,\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants> & {\n spacing?: number;\n }) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant}\n data-size={size}\n data-spacing={spacing}\n style={{ '--gap': spacing } as React.CSSProperties}\n className={cn(\n 'fk:group/toggle-group fk:flex fk:w-fit fk:items-center fk:gap-[--spacing(var(--gap))] fk:rounded-md fk:data-[spacing=default]:data-[variant=outline]:shadow-xs',\n className\n )}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size, spacing }}>{children}</ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n );\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>) {\n const context = React.useContext(ToggleGroupContext);\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n 'fk:w-auto fk:min-w-0 fk:shrink-0 fk:px-3 fk:focus:z-10 fk:focus-visible:z-10',\n 'fk:data-[spacing=0]:rounded-none fk:data-[spacing=0]:shadow-none fk:data-[spacing=0]:first:rounded-l-md fk:data-[spacing=0]:last:rounded-r-md fk:data-[spacing=0]:data-[variant=outline]:border-l-0 fk:data-[spacing=0]:data-[variant=outline]:first:border-l',\n className\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n );\n}\n\nexport { ToggleGroup, ToggleGroupItem };\n","'use client';\n\nimport { CircleCheckIcon, InfoIcon, Loader2Icon, OctagonXIcon, TriangleAlertIcon } from 'lucide-react';\nimport { useTheme } from '../theme-context';\nimport { toast, Toaster as Sonner, type ToasterProps } from 'sonner';\n\nconst Toaster = ({ richColors = true, style, ...props }: ToasterProps) => {\n const { theme = 'system' } = useTheme();\n\n return (\n <Sonner\n theme={theme as ToasterProps['theme']}\n richColors={richColors}\n className=\"toaster group\"\n icons={{\n success: <CircleCheckIcon className=\"fk:size-4\" />,\n info: <InfoIcon className=\"fk:size-4\" />,\n warning: <TriangleAlertIcon className=\"fk:size-4\" />,\n error: <OctagonXIcon className=\"fk:size-4\" />,\n loading: <Loader2Icon className=\"fk:size-4 fk:animate-spin\" />,\n }}\n style={\n {\n '--normal-bg': 'hsl(var(--popover))',\n '--normal-text': 'hsl(var(--popover-foreground))',\n '--normal-border': 'hsl(var(--border))',\n '--border-radius': 'var(--radius)',\n ...style,\n } as React.CSSProperties\n }\n {...props}\n />\n );\n};\n\nexport { toast, Toaster };\n","'use client';\n\nimport * as React from 'react';\nimport { Separator as SeparatorPrimitive } from 'radix-ui';\nimport { cn } from '../lib/utils';\n\nfunction Separator({\n className,\n orientation = 'horizontal',\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'fk:shrink-0 fk:bg-border fk:data-[orientation=horizontal]:h-px fk:data-[orientation=horizontal]:w-full fk:data-[orientation=vertical]:h-full fk:data-[orientation=vertical]:w-px',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Separator };\n","import * as React from 'react';\nimport { cn } from '../lib/utils';\n\ntype TableProps = Omit<React.ComponentProps<'table'>, 'ref'> & {\n containerClassName?: string;\n ref?: React.Ref<HTMLDivElement>;\n};\n\nfunction Table({ className, containerClassName, onScroll, ref, ...props }: TableProps) {\n return (\n <div\n ref={ref}\n data-slot=\"table-container\"\n className={cn(\n 'fk:relative fk:h-full fk:w-full fk:min-w-0 fk:overflow-auto fk:rounded-t-md fk:border-border fk:border',\n containerClassName\n )}\n onScroll={onScroll}\n >\n <table data-slot=\"table\" className={cn('fk:w-full fk:caption-bottom fk:text-sm', className)} {...props} />\n </div>\n );\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<'thead'>) {\n return <thead data-slot=\"table-header\" className={cn('fk:[&_tr]:border-b fk:bg-muted fk:dark:bg-muted', className)} {...props} />;\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<'tbody'>) {\n return <tbody data-slot=\"table-body\" className={cn('fk:[&_tr:last-child]:border-0', className)} {...props} />;\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn('fk:border-t fk:bg-muted/50 fk:font-medium fk:[&>tr]:last:border-b-0', className)}\n {...props}\n />\n );\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<'tr'>) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn(\n 'fk:border-b fk:transition-colors fk:hover:bg-muted/50 fk:has-aria-expanded:bg-muted/50 fk:data-[state=selected]:bg-muted',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<'th'>) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n 'fk:h-10 fk:px-4 fk:text-left fk:align-middle fk:font-medium fk:whitespace-nowrap fk:text-foreground fk:[&:has([role=checkbox])]:pr-0 fk:*:[[role=checkbox]]:translate-y-[2px]',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<'td'>) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn(\n 'fk:px-4 fk:py-1 fk:align-middle fk:whitespace-nowrap fk:[&:has([role=checkbox])]:pr-0 fk:*:[[role=checkbox]]:translate-y-[2px]',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction TableCaption({ className, ...props }: React.ComponentProps<'caption'>) {\n return (\n <caption\n data-slot=\"table-caption\"\n className={cn('fk:mt-4 fk:text-sm fk:text-muted-foreground', className)}\n {...props}\n />\n );\n}\n\nexport { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption };\n","'use client';\n\nimport { Info } from 'lucide-react';\nimport type { JSX, ReactNode } from 'react';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../primitives/tooltip';\n\nexport function InsufficientPermissionsTooltipContent(): JSX.Element {\n return (\n <TooltipContent className=\"fk:max-w-64 fk:p-3\">\n <div className=\"fk:flex fk:gap-2.5\">\n <Info className=\"fk:mt-0.5 fk:h-4 fk:w-4 fk:shrink-0 fk:opacity-70\" />\n <div className=\"fk:flex fk:flex-col fk:gap-1\">\n <p className=\"fk:text-sm fk:font-semibold fk:leading-none\">Insufficient permissions</p>\n <p className=\"fk:text-xs fk:opacity-70 fk:leading-snug\">Your member role cannot perform this action</p>\n </div>\n </div>\n </TooltipContent>\n );\n}\n\n/**\n * Wraps a disabled control so it still shows an \"Insufficient permissions\"\n * tooltip on hover (disabled buttons swallow pointer events, hence the span).\n */\nexport function PermissionTooltip({ disabled, children }: { disabled: boolean; children: ReactNode }): JSX.Element {\n if (!disabled) {\n return <>{children}</>;\n }\n\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <span className=\"fk:inline-flex\">{children}</span>\n </TooltipTrigger>\n <InsufficientPermissionsTooltipContent />\n </Tooltip>\n </TooltipProvider>\n );\n}\n"]}
|