@loykin/designkit 0.0.1-dev.6 → 0.0.1-dev.7

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/index.js CHANGED
@@ -1,12 +1,13 @@
1
- import { Avatar as Avatar$1 } from '@base-ui/react/avatar';
1
+ import { AlertDialog as AlertDialog$1 } from '@base-ui/react/alert-dialog';
2
2
  import { clsx } from 'clsx';
3
3
  import { twMerge } from 'tailwind-merge';
4
+ import { Button as Button$1 } from '@base-ui/react/button';
5
+ import { cva } from 'class-variance-authority';
4
6
  import { jsxs, jsx, Fragment as Fragment$1 } from 'react/jsx-runtime';
7
+ import { Avatar as Avatar$1 } from '@base-ui/react/avatar';
5
8
  import { mergeProps } from '@base-ui/react/merge-props';
6
9
  import { useRender } from '@base-ui/react/use-render';
7
- import { cva } from 'class-variance-authority';
8
10
  import { GripHorizontal, ChevronRightIcon, MoreHorizontalIcon, CheckIcon, ChevronDownIcon, ChevronUpIcon, XIcon, PanelLeftIcon, SlidersHorizontal, ChevronLeft, Check } from 'lucide-react';
9
- import { Button as Button$1 } from '@base-ui/react/button';
10
11
  import { Checkbox as Checkbox$1 } from '@base-ui/react/checkbox';
11
12
  import { Menu } from '@base-ui/react/menu';
12
13
  import { Input as Input$1 } from '@base-ui/react/input';
@@ -17,17 +18,150 @@ import { Select as Select$1 } from '@base-ui/react/select';
17
18
  import { Separator as Separator$1 } from '@base-ui/react/separator';
18
19
  import { Dialog } from '@base-ui/react/dialog';
19
20
  import * as React2 from 'react';
20
- import React2__default, { forwardRef, useMemo, Children, useState, Fragment, useEffect, useCallback } from 'react';
21
+ import React2__default, { createContext, forwardRef, useContext, useEffect, useMemo, Children, useState, Fragment, useCallback } from 'react';
21
22
  import { Tooltip as Tooltip$1 } from '@base-ui/react/tooltip';
22
23
  import { Slider as Slider$1 } from '@base-ui/react/slider';
23
24
  import { Switch as Switch$1 } from '@base-ui/react/switch';
24
25
  import { Tabs as Tabs$1 } from '@base-ui/react/tabs';
25
26
  import { create } from 'zustand';
26
27
 
27
- // src/components/ui/avatar.tsx
28
+ // src/components/ui/alert-dialog.tsx
28
29
  function cn(...inputs) {
29
30
  return twMerge(clsx(inputs));
30
31
  }
32
+ var buttonVariants = cva(
33
+ "group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
34
+ {
35
+ variants: {
36
+ variant: {
37
+ default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80",
38
+ outline: "border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
39
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
40
+ ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
41
+ destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",
42
+ link: "text-primary underline-offset-4 hover:underline"
43
+ },
44
+ size: {
45
+ default: "h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
46
+ xs: "h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
47
+ sm: "h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",
48
+ lg: "h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
49
+ icon: "size-8",
50
+ "icon-xs": "size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3",
51
+ "icon-sm": "size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg",
52
+ "icon-lg": "size-9"
53
+ }
54
+ },
55
+ defaultVariants: {
56
+ variant: "default",
57
+ size: "default"
58
+ }
59
+ }
60
+ );
61
+ function Button({
62
+ className,
63
+ variant = "default",
64
+ size = "default",
65
+ ...props
66
+ }) {
67
+ return /* @__PURE__ */ jsx(
68
+ Button$1,
69
+ {
70
+ "data-slot": "button",
71
+ className: cn(buttonVariants({ variant, size, className })),
72
+ ...props
73
+ }
74
+ );
75
+ }
76
+ function AlertDialog({ ...props }) {
77
+ return /* @__PURE__ */ jsx(AlertDialog$1.Root, { "data-slot": "alert-dialog", ...props });
78
+ }
79
+ function AlertDialogTrigger({ ...props }) {
80
+ return /* @__PURE__ */ jsx(AlertDialog$1.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
81
+ }
82
+ function AlertDialogPortal({ ...props }) {
83
+ return /* @__PURE__ */ jsx(AlertDialog$1.Portal, { "data-slot": "alert-dialog-portal", ...props });
84
+ }
85
+ function AlertDialogOverlay({ className, ...props }) {
86
+ return /* @__PURE__ */ jsx(
87
+ AlertDialog$1.Backdrop,
88
+ {
89
+ "data-slot": "alert-dialog-overlay",
90
+ className: cn(
91
+ "fixed inset-0 z-50 bg-black/10 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs",
92
+ className
93
+ ),
94
+ ...props
95
+ }
96
+ );
97
+ }
98
+ function AlertDialogContent({ className, children, ...props }) {
99
+ return /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
100
+ /* @__PURE__ */ jsx(AlertDialogOverlay, {}),
101
+ /* @__PURE__ */ jsx(
102
+ AlertDialog$1.Popup,
103
+ {
104
+ "data-slot": "alert-dialog-content",
105
+ className: cn(
106
+ "fixed top-1/2 left-1/2 z-50 flex w-full max-w-sm -translate-x-1/2 -translate-y-1/2 flex-col gap-4 rounded-lg border border-border bg-popover bg-clip-padding p-4 text-sm text-popover-foreground shadow-lg transition duration-150 ease-in-out data-ending-style:scale-95 data-ending-style:opacity-0 data-starting-style:scale-95 data-starting-style:opacity-0",
107
+ className
108
+ ),
109
+ ...props,
110
+ children
111
+ }
112
+ )
113
+ ] });
114
+ }
115
+ function AlertDialogHeader({ className, ...props }) {
116
+ return /* @__PURE__ */ jsx("div", { "data-slot": "alert-dialog-header", className: cn("flex flex-col gap-0.5", className), ...props });
117
+ }
118
+ function AlertDialogFooter({ className, ...props }) {
119
+ return /* @__PURE__ */ jsx(
120
+ "div",
121
+ {
122
+ "data-slot": "alert-dialog-footer",
123
+ className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
124
+ ...props
125
+ }
126
+ );
127
+ }
128
+ function AlertDialogTitle({ className, ...props }) {
129
+ return /* @__PURE__ */ jsx(
130
+ AlertDialog$1.Title,
131
+ {
132
+ "data-slot": "alert-dialog-title",
133
+ className: cn("font-heading text-base font-medium text-foreground", className),
134
+ ...props
135
+ }
136
+ );
137
+ }
138
+ function AlertDialogDescription({ className, ...props }) {
139
+ return /* @__PURE__ */ jsx(
140
+ AlertDialog$1.Description,
141
+ {
142
+ "data-slot": "alert-dialog-description",
143
+ className: cn("text-sm text-muted-foreground", className),
144
+ ...props
145
+ }
146
+ );
147
+ }
148
+ function AlertDialogAction({
149
+ className,
150
+ variant = "default",
151
+ ...props
152
+ }) {
153
+ return /* @__PURE__ */ jsx(Button, { "data-slot": "alert-dialog-action", variant, className, ...props });
154
+ }
155
+ function AlertDialogCancel({ className, ...props }) {
156
+ return /* @__PURE__ */ jsx(
157
+ AlertDialog$1.Close,
158
+ {
159
+ "data-slot": "alert-dialog-cancel",
160
+ render: /* @__PURE__ */ jsx(Button, { variant: "outline", className }),
161
+ ...props
162
+ }
163
+ );
164
+ }
31
165
  function Avatar({
32
166
  className,
33
167
  size = "default",
@@ -237,50 +371,6 @@ function BreadcrumbEllipsis({ className, ...props }) {
237
371
  }
238
372
  );
239
373
  }
240
- var buttonVariants = cva(
241
- "group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
242
- {
243
- variants: {
244
- variant: {
245
- default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80",
246
- outline: "border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
247
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
248
- ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
249
- destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",
250
- link: "text-primary underline-offset-4 hover:underline"
251
- },
252
- size: {
253
- default: "h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
254
- xs: "h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
255
- sm: "h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",
256
- lg: "h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
257
- icon: "size-8",
258
- "icon-xs": "size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3",
259
- "icon-sm": "size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg",
260
- "icon-lg": "size-9"
261
- }
262
- },
263
- defaultVariants: {
264
- variant: "default",
265
- size: "default"
266
- }
267
- }
268
- );
269
- function Button({
270
- className,
271
- variant = "default",
272
- size = "default",
273
- ...props
274
- }) {
275
- return /* @__PURE__ */ jsx(
276
- Button$1,
277
- {
278
- "data-slot": "button",
279
- className: cn(buttonVariants({ variant, size, className })),
280
- ...props
281
- }
282
- );
283
- }
284
374
  function Card({
285
375
  className,
286
376
  size = "default",
@@ -2055,8 +2145,17 @@ function TabsContent({ className, ...props }) {
2055
2145
  }
2056
2146
  );
2057
2147
  }
2148
+ var DataPageNestingContext = createContext(false);
2058
2149
  function Root({ children, className, style }) {
2059
- return /* @__PURE__ */ jsx(
2150
+ const isNested = useContext(DataPageNestingContext);
2151
+ useEffect(() => {
2152
+ if (isNested) {
2153
+ console.error(
2154
+ "[DesignKit] Nested <DataPage> detected. Page-level templates (DataBodyTemplate, WorkbenchBodyTemplate, DashboardBodyTemplate, BrowseBodyTemplate, DetailBodyTemplate, \u2026) already render a DataPage \u2014 don't nest one page-level template inside another template's slot (leftPane, rightPane, bottomPane, mainPane, children, \u2026). Pick the one template that fits and compose inside it instead."
2155
+ );
2156
+ }
2157
+ }, [isNested]);
2158
+ return /* @__PURE__ */ jsx(DataPageNestingContext.Provider, { value: true, children: /* @__PURE__ */ jsx(
2060
2159
  "div",
2061
2160
  {
2062
2161
  "data-slot": "data-page",
@@ -2067,7 +2166,7 @@ function Root({ children, className, style }) {
2067
2166
  style,
2068
2167
  children
2069
2168
  }
2070
- );
2169
+ ) });
2071
2170
  }
2072
2171
  function Header({ children, className }) {
2073
2172
  return /* @__PURE__ */ jsx(
@@ -2384,7 +2483,6 @@ function WorkbenchBodyTemplate({
2384
2483
  status,
2385
2484
  topBar,
2386
2485
  headerRight,
2387
- toolbar,
2388
2486
  actions,
2389
2487
  leftPane,
2390
2488
  mainPane,
@@ -2511,8 +2609,7 @@ function WorkbenchBodyTemplate({
2511
2609
  },
2512
2610
  [resizable]
2513
2611
  );
2514
- const headerRightContent = headerRight ?? toolbar;
2515
- const showHeader = title || description || status || headerRightContent || actions;
2612
+ const showHeader = title || description || status || headerRight || actions;
2516
2613
  const showLeftPane = leftPane && !leftPaneCollapsed;
2517
2614
  const showRightPane = rightPane && !rightPaneCollapsed;
2518
2615
  const showBottomPane = bottomPane && !bottomPaneCollapsed;
@@ -2526,8 +2623,8 @@ function WorkbenchBodyTemplate({
2526
2623
  ] }),
2527
2624
  description && /* @__PURE__ */ jsx("p", { className: "mt-0.5 truncate text-xs text-muted-foreground", children: description })
2528
2625
  ] }),
2529
- (headerRightContent || actions) && /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [
2530
- headerRightContent,
2626
+ (headerRight || actions) && /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [
2627
+ headerRight,
2531
2628
  actions
2532
2629
  ] })
2533
2630
  ] }) }),
@@ -2718,7 +2815,7 @@ function GroupWrapper({
2718
2815
  }
2719
2816
  if (variant === "bordered") {
2720
2817
  if (layout === "inline") {
2721
- return /* @__PURE__ */ jsx("div", { className: "overflow-hidden rounded-(--radius) border border-border divide-y", children });
2818
+ return /* @__PURE__ */ jsx("div", { className: "overflow-hidden rounded-(--radius) border border-border divide-y divide-border", children });
2722
2819
  }
2723
2820
  return /* @__PURE__ */ jsx("div", { className: "rounded-(--radius) border border-border p-(--designkit-panel-gap)", children });
2724
2821
  }
@@ -3554,14 +3651,10 @@ var useThemeStore = create((set) => ({
3554
3651
  darkMode: false
3555
3652
  },
3556
3653
  overrides: {},
3557
- activeShell: "sidebar",
3558
- activeTemplate: "databody",
3559
3654
  setGlobal: (patch) => set((s) => ({ global: { ...s.global, ...patch } })),
3560
3655
  setOverride: (id, patch) => set((s) => ({
3561
3656
  overrides: { ...s.overrides, [id]: { ...s.overrides[id], ...patch } }
3562
- })),
3563
- setShell: () => void 0,
3564
- setTemplate: () => void 0
3657
+ }))
3565
3658
  }));
3566
3659
  var tonalTokenDefs = [
3567
3660
  {
@@ -3724,7 +3817,7 @@ function ColorsBodyTemplate({ theme, breadcrumb }) {
3724
3817
  " \xB7 ",
3725
3818
  "factor = 2\u20136% of primary chroma"
3726
3819
  ] }),
3727
- /* @__PURE__ */ jsxs("div", { className: "overflow-hidden rounded-[var(--radius)] border border-border divide-y text-xs font-mono", children: [
3820
+ /* @__PURE__ */ jsxs("div", { className: "overflow-hidden rounded-[var(--radius)] border border-border divide-y divide-border text-xs font-mono", children: [
3728
3821
  /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[7rem_1fr_1fr] bg-muted/50 px-3 py-1.5 text-muted-foreground", children: [
3729
3822
  /* @__PURE__ */ jsx("span", { children: "token" }),
3730
3823
  /* @__PURE__ */ jsx("span", { children: "light" }),
@@ -4124,6 +4217,6 @@ function buildTemplateTheme(g, ov = {}) {
4124
4217
  return tokens;
4125
4218
  }
4126
4219
 
4127
- export { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BrowseBodyTemplate, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, ColorsBodyTemplate, DashboardBodyTemplate, DashboardPanel, DataBodyTemplate, DataPage, DetailBodyTemplate, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, FormWizardBodyTemplate, Input, Label, ListDetailBodyTemplate, LoginBodyTemplate, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, PageBreadcrumb, PageTopBar, PanelTemplate, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TypographyBodyTemplate, WorkbenchBodyTemplate, badgeVariants, buildTemplateTheme, buildTopBar, buttonVariants, cn, navigationMenuTriggerStyle, tabsListVariants, useIsMobile, useSidebar, useSidebarOptional, useStyleInjector, useThemeStore };
4220
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BrowseBodyTemplate, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, ColorsBodyTemplate, DashboardBodyTemplate, DashboardPanel, DataBodyTemplate, DataPage, DetailBodyTemplate, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, FormWizardBodyTemplate, Input, Label, ListDetailBodyTemplate, LoginBodyTemplate, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, PageBreadcrumb, PageTopBar, PanelTemplate, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TypographyBodyTemplate, WorkbenchBodyTemplate, badgeVariants, buildTemplateTheme, buildTopBar, buttonVariants, cn, navigationMenuTriggerStyle, tabsListVariants, useIsMobile, useSidebar, useSidebarOptional, useStyleInjector, useThemeStore };
4128
4221
  //# sourceMappingURL=index.js.map
4129
4222
  //# sourceMappingURL=index.js.map