@tradalab/lyra 1.0.0 → 1.3.0

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/ui/index.js CHANGED
@@ -1,19 +1,19 @@
1
1
  "use client";
2
2
  import { Dialog, DialogHeader, DialogTitle, DialogDescription, DialogContent, Label } from '../chunk-BEAQYKGM.js';
3
3
  export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Label } from '../chunk-BEAQYKGM.js';
4
- import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuItem } from '../chunk-X2BCIKOJ.js';
5
- export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from '../chunk-X2BCIKOJ.js';
6
- import { Separator, Input } from '../chunk-E2QCV5QI.js';
7
- export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Input, 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, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, useSidebar } from '../chunk-E2QCV5QI.js';
4
+ export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from '../chunk-CV3UXQBT.js';
5
+ import { Separator, Input } from '../chunk-5UAFV75V.js';
6
+ export { AccountMenu, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Input, ScrollArea, ScrollBar, 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, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, defaultAccountMenuLabels, initialsOf, useSidebar } from '../chunk-5UAFV75V.js';
8
7
  import '../chunk-QYA2HGKW.js';
8
+ export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from '../chunk-VEWKPOMS.js';
9
9
  import { Button } from '../chunk-KFQOYZ64.js';
10
10
  export { Button, buttonVariants } from '../chunk-KFQOYZ64.js';
11
11
  import { cn } from '../chunk-XH55BHUU.js';
12
- import * as React26 from 'react';
12
+ import * as React23 from 'react';
13
13
  import { useMemo } from 'react';
14
- import { Accordion as Accordion$1, AlertDialog as AlertDialog$1, AspectRatio as AspectRatio$1, Avatar as Avatar$1, Slot, Checkbox as Checkbox$1, Collapsible as Collapsible$1, ContextMenu as ContextMenu$1, HoverCard as HoverCard$1, Menubar as Menubar$1, NavigationMenu as NavigationMenu$1, Popover as Popover$1, Progress as Progress$1, RadioGroup as RadioGroup$1, ScrollArea as ScrollArea$1, Select as Select$1, Slider as Slider$1, Switch as Switch$1, Tabs as Tabs$1, Toggle as Toggle$1, ToggleGroup as ToggleGroup$1 } from 'radix-ui';
15
- import { ChevronDownIcon, ChevronUpIcon, CheckIcon, SearchIcon, ChevronRightIcon, MinusIcon, ChevronLeftIcon, MoreHorizontalIcon, Loader2Icon, OctagonXIcon, TriangleAlertIcon, InfoIcon, CircleCheckIcon, CircleUser, Users, LogOut, LogIn } from 'lucide-react';
16
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
14
+ import { Accordion as Accordion$1, AlertDialog as AlertDialog$1, AspectRatio as AspectRatio$1, Slot, Checkbox as Checkbox$1, Collapsible as Collapsible$1, HoverCard as HoverCard$1, Menubar as Menubar$1, NavigationMenu as NavigationMenu$1, Popover as Popover$1, Progress as Progress$1, RadioGroup as RadioGroup$1, Select as Select$1, Slider as Slider$1, Switch as Switch$1, Tabs as Tabs$1, Toggle as Toggle$1, ToggleGroup as ToggleGroup$1 } from 'radix-ui';
15
+ import { ChevronDownIcon, ChevronUpIcon, CheckIcon, SearchIcon, MinusIcon, ChevronRightIcon, ChevronLeftIcon, MoreHorizontalIcon, Loader2Icon, OctagonXIcon, TriangleAlertIcon, InfoIcon, CircleCheckIcon } from 'lucide-react';
16
+ import { jsx, jsxs } from 'react/jsx-runtime';
17
17
  import { cva } from 'class-variance-authority';
18
18
  import { Command as Command$1 } from 'cmdk';
19
19
  import { Drawer as Drawer$1 } from 'vaul';
@@ -303,101 +303,6 @@ function AlertDialogCancel({
303
303
  function AspectRatio({ ...props }) {
304
304
  return /* @__PURE__ */ jsx(AspectRatio$1.Root, { "data-slot": "aspect-ratio", ...props });
305
305
  }
306
- function Avatar({
307
- className,
308
- size = "default",
309
- ...props
310
- }) {
311
- return /* @__PURE__ */ jsx(
312
- Avatar$1.Root,
313
- {
314
- "data-slot": "avatar",
315
- "data-size": size,
316
- className: cn(
317
- "group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten",
318
- className
319
- ),
320
- ...props
321
- }
322
- );
323
- }
324
- function AvatarImage({
325
- className,
326
- ...props
327
- }) {
328
- return /* @__PURE__ */ jsx(
329
- Avatar$1.Image,
330
- {
331
- "data-slot": "avatar-image",
332
- className: cn(
333
- "aspect-square size-full rounded-full object-cover",
334
- className
335
- ),
336
- ...props
337
- }
338
- );
339
- }
340
- function AvatarFallback({
341
- className,
342
- ...props
343
- }) {
344
- return /* @__PURE__ */ jsx(
345
- Avatar$1.Fallback,
346
- {
347
- "data-slot": "avatar-fallback",
348
- className: cn(
349
- "flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",
350
- className
351
- ),
352
- ...props
353
- }
354
- );
355
- }
356
- function AvatarBadge({ className, ...props }) {
357
- return /* @__PURE__ */ jsx(
358
- "span",
359
- {
360
- "data-slot": "avatar-badge",
361
- className: cn(
362
- "absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground bg-blend-color ring-2 ring-background select-none",
363
- "group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden",
364
- "group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2",
365
- "group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",
366
- className
367
- ),
368
- ...props
369
- }
370
- );
371
- }
372
- function AvatarGroup({ className, ...props }) {
373
- return /* @__PURE__ */ jsx(
374
- "div",
375
- {
376
- "data-slot": "avatar-group",
377
- className: cn(
378
- "group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background",
379
- className
380
- ),
381
- ...props
382
- }
383
- );
384
- }
385
- function AvatarGroupCount({
386
- className,
387
- ...props
388
- }) {
389
- return /* @__PURE__ */ jsx(
390
- "div",
391
- {
392
- "data-slot": "avatar-group-count",
393
- className: cn(
394
- "relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-xs text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3",
395
- className
396
- ),
397
- ...props
398
- }
399
- );
400
- }
401
306
  var badgeVariants = cva(
402
307
  "group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-none border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",
403
308
  {
@@ -851,172 +756,6 @@ function CommandShortcut({
851
756
  }
852
757
  );
853
758
  }
854
- function ContextMenu({ ...props }) {
855
- return /* @__PURE__ */ jsx(ContextMenu$1.Root, { "data-slot": "context-menu", ...props });
856
- }
857
- function ContextMenuTrigger({ className, ...props }) {
858
- return /* @__PURE__ */ jsx(ContextMenu$1.Trigger, { "data-slot": "context-menu-trigger", className: cn("select-none", className), ...props });
859
- }
860
- function ContextMenuGroup({ ...props }) {
861
- return /* @__PURE__ */ jsx(ContextMenu$1.Group, { "data-slot": "context-menu-group", ...props });
862
- }
863
- function ContextMenuPortal({ ...props }) {
864
- return /* @__PURE__ */ jsx(ContextMenu$1.Portal, { "data-slot": "context-menu-portal", ...props });
865
- }
866
- function ContextMenuSub({ ...props }) {
867
- return /* @__PURE__ */ jsx(ContextMenu$1.Sub, { "data-slot": "context-menu-sub", ...props });
868
- }
869
- function ContextMenuRadioGroup({ ...props }) {
870
- return /* @__PURE__ */ jsx(ContextMenu$1.RadioGroup, { "data-slot": "context-menu-radio-group", ...props });
871
- }
872
- function ContextMenuContent({
873
- className,
874
- ...props
875
- }) {
876
- return /* @__PURE__ */ jsx(ContextMenu$1.Portal, { children: /* @__PURE__ */ jsx(
877
- ContextMenu$1.Content,
878
- {
879
- "data-slot": "context-menu-content",
880
- className: cn(
881
- "z-50 max-h-(--radix-context-menu-content-available-height) min-w-36 origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-none bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
882
- className
883
- ),
884
- ...props
885
- }
886
- ) });
887
- }
888
- function ContextMenuItem({
889
- className,
890
- inset,
891
- variant = "default",
892
- ...props
893
- }) {
894
- return /* @__PURE__ */ jsx(
895
- ContextMenu$1.Item,
896
- {
897
- "data-slot": "context-menu-item",
898
- "data-inset": inset,
899
- "data-variant": variant,
900
- className: cn(
901
- "group/context-menu-item relative flex cursor-default items-center gap-2 rounded-none px-2 py-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive",
902
- className
903
- ),
904
- ...props
905
- }
906
- );
907
- }
908
- function ContextMenuSubTrigger({
909
- className,
910
- inset,
911
- children,
912
- ...props
913
- }) {
914
- return /* @__PURE__ */ jsxs(
915
- ContextMenu$1.SubTrigger,
916
- {
917
- "data-slot": "context-menu-sub-trigger",
918
- "data-inset": inset,
919
- className: cn(
920
- "flex cursor-default items-center gap-2 rounded-none px-2 py-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
921
- className
922
- ),
923
- ...props,
924
- children: [
925
- children,
926
- /* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto" })
927
- ]
928
- }
929
- );
930
- }
931
- function ContextMenuSubContent({ className, ...props }) {
932
- return /* @__PURE__ */ jsx(
933
- ContextMenu$1.SubContent,
934
- {
935
- "data-slot": "context-menu-sub-content",
936
- className: cn(
937
- "z-50 min-w-32 origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-none border bg-popover text-popover-foreground shadow-lg duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
938
- className
939
- ),
940
- ...props
941
- }
942
- );
943
- }
944
- function ContextMenuCheckboxItem({
945
- className,
946
- children,
947
- checked,
948
- inset,
949
- ...props
950
- }) {
951
- return /* @__PURE__ */ jsxs(
952
- ContextMenu$1.CheckboxItem,
953
- {
954
- "data-slot": "context-menu-checkbox-item",
955
- "data-inset": inset,
956
- className: cn(
957
- "relative flex cursor-default items-center gap-2 rounded-none py-2 pr-8 pl-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
958
- className
959
- ),
960
- checked,
961
- ...props,
962
- children: [
963
- /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute right-2", children: /* @__PURE__ */ jsx(ContextMenu$1.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) }) }),
964
- children
965
- ]
966
- }
967
- );
968
- }
969
- function ContextMenuRadioItem({
970
- className,
971
- children,
972
- inset,
973
- ...props
974
- }) {
975
- return /* @__PURE__ */ jsxs(
976
- ContextMenu$1.RadioItem,
977
- {
978
- "data-slot": "context-menu-radio-item",
979
- "data-inset": inset,
980
- className: cn(
981
- "relative flex cursor-default items-center gap-2 rounded-none py-2 pr-8 pl-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
982
- className
983
- ),
984
- ...props,
985
- children: [
986
- /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute right-2", children: /* @__PURE__ */ jsx(ContextMenu$1.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) }) }),
987
- children
988
- ]
989
- }
990
- );
991
- }
992
- function ContextMenuLabel({
993
- className,
994
- inset,
995
- ...props
996
- }) {
997
- return /* @__PURE__ */ jsx(
998
- ContextMenu$1.Label,
999
- {
1000
- "data-slot": "context-menu-label",
1001
- "data-inset": inset,
1002
- className: cn("px-2 py-2 text-xs text-muted-foreground data-inset:pl-7", className),
1003
- ...props
1004
- }
1005
- );
1006
- }
1007
- function ContextMenuSeparator({ className, ...props }) {
1008
- return /* @__PURE__ */ jsx(ContextMenu$1.Separator, { "data-slot": "context-menu-separator", className: cn("-mx-1 h-px bg-border", className), ...props });
1009
- }
1010
- function ContextMenuShortcut({ className, ...props }) {
1011
- return /* @__PURE__ */ jsx(
1012
- "span",
1013
- {
1014
- "data-slot": "context-menu-shortcut",
1015
- className: cn("ml-auto text-xs tracking-widest text-muted-foreground group-focus/context-menu-item:text-accent-foreground", className),
1016
- ...props
1017
- }
1018
- );
1019
- }
1020
759
  function Drawer({
1021
760
  ...props
1022
761
  }) {
@@ -1318,7 +1057,7 @@ function InputOTPSlot({
1318
1057
  className,
1319
1058
  ...props
1320
1059
  }) {
1321
- const inputOTPContext = React26.useContext(OTPInputContext);
1060
+ const inputOTPContext = React23.useContext(OTPInputContext);
1322
1061
  const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
1323
1062
  return /* @__PURE__ */ jsxs(
1324
1063
  "div",
@@ -1786,58 +1525,6 @@ function ResizableHandle({
1786
1525
  }
1787
1526
  );
1788
1527
  }
1789
- function ScrollArea({
1790
- className,
1791
- children,
1792
- ...props
1793
- }) {
1794
- return /* @__PURE__ */ jsxs(
1795
- ScrollArea$1.Root,
1796
- {
1797
- "data-slot": "scroll-area",
1798
- className: cn("relative", className),
1799
- ...props,
1800
- children: [
1801
- /* @__PURE__ */ jsx(
1802
- ScrollArea$1.Viewport,
1803
- {
1804
- "data-slot": "scroll-area-viewport",
1805
- className: "size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",
1806
- children
1807
- }
1808
- ),
1809
- /* @__PURE__ */ jsx(ScrollBar, {}),
1810
- /* @__PURE__ */ jsx(ScrollArea$1.Corner, {})
1811
- ]
1812
- }
1813
- );
1814
- }
1815
- function ScrollBar({
1816
- className,
1817
- orientation = "vertical",
1818
- ...props
1819
- }) {
1820
- return /* @__PURE__ */ jsx(
1821
- ScrollArea$1.ScrollAreaScrollbar,
1822
- {
1823
- "data-slot": "scroll-area-scrollbar",
1824
- "data-orientation": orientation,
1825
- orientation,
1826
- className: cn(
1827
- "flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent",
1828
- className
1829
- ),
1830
- ...props,
1831
- children: /* @__PURE__ */ jsx(
1832
- ScrollArea$1.ScrollAreaThumb,
1833
- {
1834
- "data-slot": "scroll-area-thumb",
1835
- className: "relative flex-1 rounded-none bg-border"
1836
- }
1837
- )
1838
- }
1839
- );
1840
- }
1841
1528
  function Select({
1842
1529
  ...props
1843
1530
  }) {
@@ -2013,7 +1700,7 @@ function Slider({
2013
1700
  max = 100,
2014
1701
  ...props
2015
1702
  }) {
2016
- const _values = React26.useMemo(
1703
+ const _values = React23.useMemo(
2017
1704
  () => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
2018
1705
  [value, defaultValue, min, max]
2019
1706
  );
@@ -2221,7 +1908,7 @@ function Toggle({
2221
1908
  }) {
2222
1909
  return /* @__PURE__ */ jsx(Toggle$1.Root, { "data-slot": "toggle", className: cn(toggleVariants({ variant, size, className })), ...props });
2223
1910
  }
2224
- var ToggleGroupContext = React26.createContext({
1911
+ var ToggleGroupContext = React23.createContext({
2225
1912
  size: "default",
2226
1913
  variant: "default",
2227
1914
  spacing: 0,
@@ -2261,7 +1948,7 @@ function ToggleGroupItem({
2261
1948
  size = "default",
2262
1949
  ...props
2263
1950
  }) {
2264
- const context = React26.useContext(ToggleGroupContext);
1951
+ const context = React23.useContext(ToggleGroupContext);
2265
1952
  return /* @__PURE__ */ jsx(
2266
1953
  ToggleGroup$1.Item,
2267
1954
  {
@@ -2282,92 +1969,7 @@ function ToggleGroupItem({
2282
1969
  }
2283
1970
  );
2284
1971
  }
2285
- var defaultAccountMenuLabels = {
2286
- account: "Account",
2287
- guest: "Guest",
2288
- signIn: "Sign in",
2289
- switchAccount: "Switch account",
2290
- signOut: "Sign out"
2291
- };
2292
- function AccountMenu({
2293
- user,
2294
- labels,
2295
- onSignOut,
2296
- onSwitchAccount,
2297
- onSignIn,
2298
- align = "end",
2299
- children
2300
- }) {
2301
- const l = { ...defaultAccountMenuLabels, ...labels };
2302
- const displayName = user?.name ?? user?.email ?? l.account;
2303
- return /* @__PURE__ */ jsxs(DropdownMenu, { children: [
2304
- /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: user ? /* @__PURE__ */ jsxs(
2305
- "button",
2306
- {
2307
- type: "button",
2308
- "aria-label": l.account,
2309
- className: cn(
2310
- "focus-visible:ring-ring flex items-center gap-3 rounded-none outline-none focus-visible:ring-2"
2311
- ),
2312
- children: [
2313
- /* @__PURE__ */ jsxs("span", { className: "hidden text-right leading-tight sm:flex sm:flex-col", children: [
2314
- /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: user.name ?? "\u2014" }),
2315
- user.email ? /* @__PURE__ */ jsx("span", { className: "text-muted-foreground text-xs", children: user.email }) : null
2316
- ] }),
2317
- /* @__PURE__ */ jsxs(Avatar, { children: [
2318
- user.image ? /* @__PURE__ */ jsx(AvatarImage, { src: user.image, alt: displayName }) : null,
2319
- /* @__PURE__ */ jsx(AvatarFallback, { children: initialsOf(user.name ?? user.email) })
2320
- ] })
2321
- ]
2322
- }
2323
- ) : /* @__PURE__ */ jsxs(
2324
- "button",
2325
- {
2326
- type: "button",
2327
- "aria-label": l.account,
2328
- className: cn(
2329
- "focus-visible:ring-ring text-muted-foreground flex items-center gap-2 rounded-none outline-none focus-visible:ring-2"
2330
- ),
2331
- children: [
2332
- /* @__PURE__ */ jsx("span", { className: "hidden text-sm sm:inline", children: l.guest }),
2333
- /* @__PURE__ */ jsx(CircleUser, { className: "size-7" })
2334
- ]
2335
- }
2336
- ) }),
2337
- /* @__PURE__ */ jsxs(DropdownMenuContent, { align, className: "w-56", children: [
2338
- user ? /* @__PURE__ */ jsxs(DropdownMenuLabel, { className: "flex flex-col gap-0.5", children: [
2339
- /* @__PURE__ */ jsx("span", { className: "text-sm font-medium leading-tight", children: user.name ?? "\u2014" }),
2340
- user.email ? /* @__PURE__ */ jsx("span", { className: "text-muted-foreground text-xs font-normal leading-tight", children: user.email }) : null
2341
- ] }) : /* @__PURE__ */ jsx(DropdownMenuLabel, { className: "text-muted-foreground font-normal", children: l.guest }),
2342
- children ? /* @__PURE__ */ jsxs(Fragment, { children: [
2343
- /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
2344
- children
2345
- ] }) : null,
2346
- /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
2347
- user ? /* @__PURE__ */ jsxs(Fragment, { children: [
2348
- onSwitchAccount ? /* @__PURE__ */ jsxs(DropdownMenuItem, { onSelect: onSwitchAccount, children: [
2349
- /* @__PURE__ */ jsx(Users, { className: "mr-2" }),
2350
- l.switchAccount
2351
- ] }) : null,
2352
- onSignOut ? /* @__PURE__ */ jsxs(DropdownMenuItem, { variant: "destructive", onSelect: onSignOut, children: [
2353
- /* @__PURE__ */ jsx(LogOut, { className: "mr-2" }),
2354
- l.signOut
2355
- ] }) : null
2356
- ] }) : onSignIn ? /* @__PURE__ */ jsxs(DropdownMenuItem, { onSelect: onSignIn, children: [
2357
- /* @__PURE__ */ jsx(LogIn, { className: "mr-2" }),
2358
- l.signIn
2359
- ] }) : null
2360
- ] })
2361
- ] });
2362
- }
2363
- function initialsOf(value) {
2364
- if (!value) return "?";
2365
- const base = value.includes("@") ? value.split("@")[0] ?? value : value;
2366
- const parts = base.split(/[\s._-]+/).filter(Boolean);
2367
- const letters = (parts[0]?.[0] ?? "") + (parts[1]?.[0] ?? "");
2368
- return (letters || base.slice(0, 2)).toUpperCase();
2369
- }
2370
1972
 
2371
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AccountMenu, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, HoverCard, HoverCardContent, HoverCardTrigger, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Slider, Spinner, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Toggle, ToggleGroup, ToggleGroupItem, badgeVariants, buttonGroupVariants, defaultAccountMenuLabels, navigationMenuTriggerStyle, tabsListVariants, toggleVariants };
1973
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Badge, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, HoverCard, HoverCardContent, HoverCardTrigger, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Slider, Spinner, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Toggle, ToggleGroup, ToggleGroupItem, badgeVariants, buttonGroupVariants, navigationMenuTriggerStyle, tabsListVariants, toggleVariants };
2372
1974
  //# sourceMappingURL=index.js.map
2373
1975
  //# sourceMappingURL=index.js.map