@loykin/designkit 0.0.1-dev.6 → 0.0.1

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",
@@ -1368,7 +1458,7 @@ function Sidebar({
1368
1458
  /* @__PURE__ */ jsx(SheetTitle, { children: "Sidebar" }),
1369
1459
  /* @__PURE__ */ jsx(SheetDescription, { children: "Displays the mobile sidebar." })
1370
1460
  ] }),
1371
- /* @__PURE__ */ jsx("div", { className: "flex h-full w-full flex-col", children })
1461
+ /* @__PURE__ */ jsx("div", { className: "flex h-full min-h-0 w-full flex-col", children })
1372
1462
  ]
1373
1463
  }
1374
1464
  ) });
@@ -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
  ] }) }),
@@ -2587,7 +2684,7 @@ function WorkbenchBodyTemplate({
2587
2684
  )
2588
2685
  ] }),
2589
2686
  /* @__PURE__ */ jsxs("main", { className: cn("flex min-w-0 flex-1 flex-col overflow-hidden", mainPaneClassName), children: [
2590
- /* @__PURE__ */ jsx("div", { className: "min-h-0 flex-1 overflow-hidden", children: mainPane ?? children }),
2687
+ /* @__PURE__ */ jsx("div", { className: "min-h-0 flex-1 overflow-auto", children: mainPane ?? children }),
2591
2688
  showBottomPane && /* @__PURE__ */ jsxs(Fragment$1, { children: [
2592
2689
  resizable && /* @__PURE__ */ jsx(
2593
2690
  ResizeHandle,
@@ -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
  }
@@ -3025,7 +3122,7 @@ function BrowseBodyTemplate({
3025
3122
  "div",
3026
3123
  {
3027
3124
  className: cn(
3028
- "min-w-0 flex-1 overflow-hidden px-(--designkit-page-padding-x) py-(--designkit-page-padding-y)",
3125
+ "min-w-0 flex-1 overflow-auto px-(--designkit-page-padding-x) py-(--designkit-page-padding-y)",
3029
3126
  "[&_.gridkit-shell]:h-full [&_.gridkit-table-stack]:flex-1 [&_.gridkit-table-stack]:min-h-0",
3030
3127
  "[&_.gridkit-frame]:flex-1 [&_.gridkit-frame]:min-h-0 [&_.gridkit-frame]:overflow-auto",
3031
3128
  contentClassName
@@ -3114,6 +3211,7 @@ function DetailBodyTemplateRoot({
3114
3211
  aside,
3115
3212
  summary,
3116
3213
  stickyAside = true,
3214
+ layoutClassName,
3117
3215
  contentClassName,
3118
3216
  mediaClassName,
3119
3217
  asideClassName,
@@ -3227,7 +3325,8 @@ function DetailBodyTemplateRoot({
3227
3325
  {
3228
3326
  className: cn(
3229
3327
  "grid h-full min-h-0 grid-cols-1 overflow-hidden",
3230
- outsideAsideSlot && "lg:grid-cols-[minmax(0,1fr)_minmax(18rem,24rem)]"
3328
+ outsideAsideSlot && "lg:grid-cols-[minmax(0,1fr)_minmax(18rem,24rem)]",
3329
+ layoutClassName
3231
3330
  ),
3232
3331
  children: [
3233
3332
  /* @__PURE__ */ jsx(
@@ -3554,14 +3653,10 @@ var useThemeStore = create((set) => ({
3554
3653
  darkMode: false
3555
3654
  },
3556
3655
  overrides: {},
3557
- activeShell: "sidebar",
3558
- activeTemplate: "databody",
3559
3656
  setGlobal: (patch) => set((s) => ({ global: { ...s.global, ...patch } })),
3560
3657
  setOverride: (id, patch) => set((s) => ({
3561
3658
  overrides: { ...s.overrides, [id]: { ...s.overrides[id], ...patch } }
3562
- })),
3563
- setShell: () => void 0,
3564
- setTemplate: () => void 0
3659
+ }))
3565
3660
  }));
3566
3661
  var tonalTokenDefs = [
3567
3662
  {
@@ -3724,7 +3819,7 @@ function ColorsBodyTemplate({ theme, breadcrumb }) {
3724
3819
  " \xB7 ",
3725
3820
  "factor = 2\u20136% of primary chroma"
3726
3821
  ] }),
3727
- /* @__PURE__ */ jsxs("div", { className: "overflow-hidden rounded-[var(--radius)] border border-border divide-y text-xs font-mono", children: [
3822
+ /* @__PURE__ */ jsxs("div", { className: "overflow-hidden rounded-[var(--radius)] border border-border divide-y divide-border text-xs font-mono", children: [
3728
3823
  /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[7rem_1fr_1fr] bg-muted/50 px-3 py-1.5 text-muted-foreground", children: [
3729
3824
  /* @__PURE__ */ jsx("span", { children: "token" }),
3730
3825
  /* @__PURE__ */ jsx("span", { children: "light" }),
@@ -4124,6 +4219,6 @@ function buildTemplateTheme(g, ov = {}) {
4124
4219
  return tokens;
4125
4220
  }
4126
4221
 
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 };
4222
+ 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
4223
  //# sourceMappingURL=index.js.map
4129
4224
  //# sourceMappingURL=index.js.map