@egose/shadcn-theme 0.0.35 → 0.0.36

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.
Files changed (97) hide show
  1. package/chunk-4AT4TZ5X.mjs +57 -0
  2. package/chunk-4AT4TZ5X.mjs.map +1 -0
  3. package/chunk-C7I5QYIS.mjs +12 -0
  4. package/chunk-C7I5QYIS.mjs.map +1 -0
  5. package/chunk-DEXWDH66.mjs +45 -0
  6. package/chunk-DEXWDH66.mjs.map +1 -0
  7. package/chunk-FFPUEART.js +75 -0
  8. package/chunk-FFPUEART.js.map +1 -0
  9. package/chunk-IAJ2ZBSJ.mjs +153 -0
  10. package/chunk-IAJ2ZBSJ.mjs.map +1 -0
  11. package/chunk-ISXL2Q6C.js +55 -0
  12. package/chunk-ISXL2Q6C.js.map +1 -0
  13. package/chunk-KKPUOZ6X.mjs +74 -0
  14. package/chunk-KKPUOZ6X.mjs.map +1 -0
  15. package/chunk-KKRJRQYZ.js +46 -0
  16. package/chunk-KKRJRQYZ.js.map +1 -0
  17. package/chunk-KRYKKQ2X.mjs +54 -0
  18. package/chunk-KRYKKQ2X.mjs.map +1 -0
  19. package/chunk-N2AJY4KM.js +13 -0
  20. package/chunk-N2AJY4KM.js.map +1 -0
  21. package/chunk-NI2SIUXO.js +154 -0
  22. package/chunk-NI2SIUXO.js.map +1 -0
  23. package/chunk-NQEDHUHQ.js +567 -0
  24. package/chunk-NQEDHUHQ.js.map +1 -0
  25. package/chunk-OI275IX2.js +58 -0
  26. package/chunk-OI275IX2.js.map +1 -0
  27. package/chunk-RBLBY6OU.mjs +33 -0
  28. package/chunk-RBLBY6OU.mjs.map +1 -0
  29. package/chunk-RSQ25E6Y.js +93 -0
  30. package/chunk-RSQ25E6Y.js.map +1 -0
  31. package/chunk-TELCD46Q.js +34 -0
  32. package/chunk-TELCD46Q.js.map +1 -0
  33. package/chunk-ZVBMRCE7.mjs +92 -0
  34. package/chunk-ZVBMRCE7.mjs.map +1 -0
  35. package/chunk-ZZSEDLQG.mjs +566 -0
  36. package/chunk-ZZSEDLQG.mjs.map +1 -0
  37. package/components/ui/avatar.js +13 -44
  38. package/components/ui/avatar.js.map +1 -1
  39. package/components/ui/avatar.mjs +6 -37
  40. package/components/ui/avatar.mjs.map +1 -1
  41. package/components/ui/breadcrumb.js +21 -91
  42. package/components/ui/breadcrumb.js.map +1 -1
  43. package/components/ui/breadcrumb.mjs +10 -80
  44. package/components/ui/breadcrumb.mjs.map +1 -1
  45. package/components/ui/collapsible.js +7 -8
  46. package/components/ui/collapsible.js.map +1 -1
  47. package/components/ui/collapsible.mjs +7 -8
  48. package/components/ui/collapsible.mjs.map +1 -1
  49. package/components/ui/command.d.mts +1 -1
  50. package/components/ui/command.d.ts +1 -1
  51. package/components/ui/dropdown-menu.js +37 -152
  52. package/components/ui/dropdown-menu.js.map +1 -1
  53. package/components/ui/dropdown-menu.mjs +18 -133
  54. package/components/ui/dropdown-menu.mjs.map +1 -1
  55. package/components/ui/resizable.d.mts +1 -1
  56. package/components/ui/resizable.d.ts +1 -1
  57. package/components/ui/sidebar.js +39 -542
  58. package/components/ui/sidebar.js.map +1 -1
  59. package/components/ui/sidebar.mjs +34 -537
  60. package/components/ui/sidebar.mjs.map +1 -1
  61. package/layouts/sidebar1/LinkWrapper.d.mts +11 -0
  62. package/layouts/sidebar1/LinkWrapper.d.ts +11 -0
  63. package/layouts/sidebar1/LinkWrapper.js +23 -0
  64. package/layouts/sidebar1/LinkWrapper.js.map +1 -0
  65. package/layouts/sidebar1/LinkWrapper.mjs +22 -0
  66. package/layouts/sidebar1/LinkWrapper.mjs.map +1 -0
  67. package/layouts/sidebar1/app-sidebar.d.mts +26 -0
  68. package/layouts/sidebar1/app-sidebar.d.ts +26 -0
  69. package/layouts/sidebar1/app-sidebar.js +26 -0
  70. package/layouts/sidebar1/app-sidebar.js.map +1 -0
  71. package/layouts/sidebar1/app-sidebar.mjs +25 -0
  72. package/layouts/sidebar1/app-sidebar.mjs.map +1 -0
  73. package/layouts/sidebar1/context-switcher.d.mts +14 -0
  74. package/layouts/sidebar1/context-switcher.d.ts +14 -0
  75. package/layouts/sidebar1/context-switcher.js +21 -0
  76. package/layouts/sidebar1/context-switcher.js.map +1 -0
  77. package/layouts/sidebar1/context-switcher.mjs +20 -0
  78. package/layouts/sidebar1/context-switcher.mjs.map +1 -0
  79. package/layouts/sidebar1/index.d.mts +22 -0
  80. package/layouts/sidebar1/index.d.ts +22 -0
  81. package/layouts/sidebar1/index.js +66 -0
  82. package/layouts/sidebar1/index.js.map +1 -0
  83. package/layouts/sidebar1/index.mjs +65 -0
  84. package/layouts/sidebar1/index.mjs.map +1 -0
  85. package/layouts/sidebar1/nav-menus.d.mts +23 -0
  86. package/layouts/sidebar1/nav-menus.d.ts +23 -0
  87. package/layouts/sidebar1/nav-menus.js +21 -0
  88. package/layouts/sidebar1/nav-menus.js.map +1 -0
  89. package/layouts/sidebar1/nav-menus.mjs +20 -0
  90. package/layouts/sidebar1/nav-menus.mjs.map +1 -0
  91. package/layouts/sidebar1/nav-user.d.mts +22 -0
  92. package/layouts/sidebar1/nav-user.d.ts +22 -0
  93. package/layouts/sidebar1/nav-user.js +22 -0
  94. package/layouts/sidebar1/nav-user.js.map +1 -0
  95. package/layouts/sidebar1/nav-user.mjs +21 -0
  96. package/layouts/sidebar1/nav-user.mjs.map +1 -0
  97. package/package.json +1 -1
@@ -0,0 +1,57 @@
1
+ import {
2
+ SidebarGroup,
3
+ SidebarGroupLabel,
4
+ SidebarMenu,
5
+ SidebarMenuButton,
6
+ SidebarMenuItem,
7
+ SidebarMenuSub,
8
+ SidebarMenuSubButton,
9
+ SidebarMenuSubItem
10
+ } from "./chunk-ZZSEDLQG.mjs";
11
+ import {
12
+ Collapsible,
13
+ CollapsibleContent,
14
+ CollapsibleTrigger
15
+ } from "./chunk-C7I5QYIS.mjs";
16
+
17
+ // layouts/sidebar1/nav-menus.tsx
18
+ import { ChevronRight } from "lucide-react";
19
+ function SidebarMenuLink({ item, as: LinkComponent }) {
20
+ const Comp = LinkComponent && item.url ? LinkComponent : "button";
21
+ return /* @__PURE__ */ React.createElement(SidebarMenuItem, null, /* @__PURE__ */ React.createElement(SidebarMenuButton, { asChild: true, isActive: item.isActive, tooltip: item.title }, /* @__PURE__ */ React.createElement(Comp, { to: item.url, href: item.url, onClick: () => {
22
+ var _a;
23
+ return (_a = item.onClick) == null ? void 0 : _a.call(item, item.title);
24
+ } }, item.icon && /* @__PURE__ */ React.createElement(item.icon, null), /* @__PURE__ */ React.createElement("span", null, item.title))));
25
+ }
26
+ function SidebarMenuCollapsible({ item, as: LinkComponent }) {
27
+ if (!item.subItems) return null;
28
+ return /* @__PURE__ */ React.createElement(Collapsible, { key: item.title, asChild: true, defaultOpen: item.isActive, className: "group/collapsible" }, /* @__PURE__ */ React.createElement(SidebarMenuItem, null, /* @__PURE__ */ React.createElement(CollapsibleTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(SidebarMenuButton, { tooltip: item.title }, item.icon && /* @__PURE__ */ React.createElement(item.icon, null), /* @__PURE__ */ React.createElement("span", null, item.title), /* @__PURE__ */ React.createElement(ChevronRight, { className: "ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" }))), /* @__PURE__ */ React.createElement(CollapsibleContent, null, /* @__PURE__ */ React.createElement(SidebarMenuSub, null, item.subItems.map((subItem) => {
29
+ const Comp = LinkComponent && subItem.url ? LinkComponent : "button";
30
+ return /* @__PURE__ */ React.createElement(SidebarMenuSubItem, { key: subItem.title }, /* @__PURE__ */ React.createElement(SidebarMenuSubButton, { asChild: true, isActive: subItem.isActive }, /* @__PURE__ */ React.createElement(
31
+ Comp,
32
+ {
33
+ to: subItem.url,
34
+ href: subItem.url,
35
+ onClick: () => {
36
+ var _a;
37
+ return (_a = item.onClick) == null ? void 0 : _a.call(item, subItem.title);
38
+ },
39
+ className: "block w-full"
40
+ },
41
+ subItem.icon && /* @__PURE__ */ React.createElement(subItem.icon, null),
42
+ /* @__PURE__ */ React.createElement("span", null, subItem.title)
43
+ )));
44
+ })))));
45
+ }
46
+ function NavMenus({ menus, aslink }) {
47
+ return menus.map((menu) => {
48
+ return /* @__PURE__ */ React.createElement(SidebarGroup, { key: menu.title }, /* @__PURE__ */ React.createElement(SidebarGroupLabel, null, menu.title), /* @__PURE__ */ React.createElement(SidebarMenu, null, menu.items.map(
49
+ (item) => item.subItems && item.subItems.length > 0 ? /* @__PURE__ */ React.createElement(SidebarMenuCollapsible, { key: item.title, item, as: aslink }) : /* @__PURE__ */ React.createElement(SidebarMenuLink, { key: item.title, item, as: aslink })
50
+ )));
51
+ });
52
+ }
53
+
54
+ export {
55
+ NavMenus
56
+ };
57
+ //# sourceMappingURL=chunk-4AT4TZ5X.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../layouts/sidebar1/nav-menus.tsx"],"sourcesContent":["\"use client\";\n'use client';\n\nimport { ChevronRight, type LucideIcon } from 'lucide-react';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../../components/ui/collapsible';\nimport {\n SidebarGroup,\n SidebarGroupLabel,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n} from '../../components/ui/sidebar';\n\nexport interface IMenuSubItem {\n title: string;\n url?: string;\n icon?: LucideIcon;\n isActive?: boolean;\n onClick?: (title: string) => void;\n}\n\nexport interface IMenuItem extends IMenuSubItem {\n subItems?: IMenuSubItem[];\n}\n\nexport interface INavMenu {\n title: string;\n items: IMenuItem[];\n}\n\nfunction SidebarMenuLink({ item, as: LinkComponent }: { item: IMenuSubItem; as: React.ElementType }) {\n const Comp = LinkComponent && item.url ? LinkComponent : 'button';\n\n return (\n <SidebarMenuItem>\n <SidebarMenuButton asChild isActive={item.isActive} tooltip={item.title}>\n <Comp to={item.url} href={item.url} onClick={() => item.onClick?.(item.title)}>\n {item.icon && <item.icon />}\n <span>{item.title}</span>\n </Comp>\n </SidebarMenuButton>\n </SidebarMenuItem>\n );\n}\n\nfunction SidebarMenuCollapsible({ item, as: LinkComponent }: { item: IMenuItem; as: React.ElementType }) {\n if (!item.subItems) return null;\n\n return (\n <Collapsible key={item.title} asChild defaultOpen={item.isActive} className=\"group/collapsible\">\n <SidebarMenuItem>\n <CollapsibleTrigger asChild>\n <SidebarMenuButton tooltip={item.title}>\n {item.icon && <item.icon />}\n <span>{item.title}</span>\n <ChevronRight className=\"ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90\" />\n </SidebarMenuButton>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <SidebarMenuSub>\n {item.subItems.map((subItem) => {\n const Comp = LinkComponent && subItem.url ? LinkComponent : 'button';\n\n return (\n <SidebarMenuSubItem key={subItem.title}>\n <SidebarMenuSubButton asChild isActive={subItem.isActive}>\n <Comp\n to={subItem.url}\n href={subItem.url}\n onClick={() => item.onClick?.(subItem.title)}\n className=\"block w-full\"\n >\n {subItem.icon && <subItem.icon />}\n <span>{subItem.title}</span>\n </Comp>\n </SidebarMenuSubButton>\n </SidebarMenuSubItem>\n );\n })}\n </SidebarMenuSub>\n </CollapsibleContent>\n </SidebarMenuItem>\n </Collapsible>\n );\n}\n\nexport function NavMenus({ menus, aslink }: { menus: INavMenu[]; aslink: React.ElementType }) {\n return menus.map((menu) => {\n return (\n <SidebarGroup key={menu.title}>\n <SidebarGroupLabel>{menu.title}</SidebarGroupLabel>\n <SidebarMenu>\n {menu.items.map((item) =>\n item.subItems && item.subItems.length > 0 ? (\n <SidebarMenuCollapsible key={item.title} item={item} as={aslink} />\n ) : (\n <SidebarMenuLink key={item.title} item={item} as={aslink} />\n ),\n )}\n </SidebarMenu>\n </SidebarGroup>\n );\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAGA,SAAS,oBAAqC;AA8B9C,SAAS,gBAAgB,EAAE,MAAM,IAAI,cAAc,GAAkD;AACnG,QAAM,OAAO,iBAAiB,KAAK,MAAM,gBAAgB;AAEzD,SACE,oCAAC,uBACC,oCAAC,qBAAkB,SAAO,MAAC,UAAU,KAAK,UAAU,SAAS,KAAK,SAChE,oCAAC,QAAK,IAAI,KAAK,KAAK,MAAM,KAAK,KAAK,SAAS,MAAG;AAvCxD;AAuC2D,sBAAK,YAAL,8BAAe,KAAK;AAAA,OACpE,KAAK,QAAQ,oCAAC,KAAK,MAAL,IAAU,GACzB,oCAAC,cAAM,KAAK,KAAM,CACpB,CACF,CACF;AAEJ;AAEA,SAAS,uBAAuB,EAAE,MAAM,IAAI,cAAc,GAA+C;AACvG,MAAI,CAAC,KAAK,SAAU,QAAO;AAE3B,SACE,oCAAC,eAAY,KAAK,KAAK,OAAO,SAAO,MAAC,aAAa,KAAK,UAAU,WAAU,uBAC1E,oCAAC,uBACC,oCAAC,sBAAmB,SAAO,QACzB,oCAAC,qBAAkB,SAAS,KAAK,SAC9B,KAAK,QAAQ,oCAAC,KAAK,MAAL,IAAU,GACzB,oCAAC,cAAM,KAAK,KAAM,GAClB,oCAAC,gBAAa,WAAU,2FAA0F,CACpH,CACF,GACA,oCAAC,0BACC,oCAAC,sBACE,KAAK,SAAS,IAAI,CAAC,YAAY;AAC9B,UAAM,OAAO,iBAAiB,QAAQ,MAAM,gBAAgB;AAE5D,WACE,oCAAC,sBAAmB,KAAK,QAAQ,SAC/B,oCAAC,wBAAqB,SAAO,MAAC,UAAU,QAAQ,YAC9C;AAAA,MAAC;AAAA;AAAA,QACC,IAAI,QAAQ;AAAA,QACZ,MAAM,QAAQ;AAAA,QACd,SAAS,MAAG;AAxElC;AAwEqC,4BAAK,YAAL,8BAAe,QAAQ;AAAA;AAAA,QACtC,WAAU;AAAA;AAAA,MAET,QAAQ,QAAQ,oCAAC,QAAQ,MAAR,IAAa;AAAA,MAC/B,oCAAC,cAAM,QAAQ,KAAM;AAAA,IACvB,CACF,CACF;AAAA,EAEJ,CAAC,CACH,CACF,CACF,CACF;AAEJ;AAEO,SAAS,SAAS,EAAE,OAAO,OAAO,GAAqD;AAC5F,SAAO,MAAM,IAAI,CAAC,SAAS;AACzB,WACE,oCAAC,gBAAa,KAAK,KAAK,SACtB,oCAAC,yBAAmB,KAAK,KAAM,GAC/B,oCAAC,mBACE,KAAK,MAAM;AAAA,MAAI,CAAC,SACf,KAAK,YAAY,KAAK,SAAS,SAAS,IACtC,oCAAC,0BAAuB,KAAK,KAAK,OAAO,MAAY,IAAI,QAAQ,IAEjE,oCAAC,mBAAgB,KAAK,KAAK,OAAO,MAAY,IAAI,QAAQ;AAAA,IAE9D,CACF,CACF;AAAA,EAEJ,CAAC;AACH;","names":[]}
@@ -0,0 +1,12 @@
1
+ // components/ui/collapsible.tsx
2
+ import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
3
+ var Collapsible = CollapsiblePrimitive.Root;
4
+ var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
5
+ var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
6
+
7
+ export {
8
+ Collapsible,
9
+ CollapsibleTrigger2 as CollapsibleTrigger,
10
+ CollapsibleContent2 as CollapsibleContent
11
+ };
12
+ //# sourceMappingURL=chunk-C7I5QYIS.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../components/ui/collapsible.tsx"],"sourcesContent":["\"use client\";\n'use client';\n\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\n\nconst Collapsible = CollapsiblePrimitive.Root;\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;\n\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent;\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n"],"mappings":";AAGA,YAAY,0BAA0B;AAEtC,IAAM,cAAmC;AAEzC,IAAMA,sBAA0C;AAEhD,IAAMC,sBAA0C;","names":["CollapsibleTrigger","CollapsibleContent"]}
@@ -0,0 +1,45 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-F5XCCSBC.mjs";
4
+ import {
5
+ __objRest,
6
+ __spreadValues
7
+ } from "./chunk-YOSPWY5K.mjs";
8
+
9
+ // components/ui/avatar.tsx
10
+ import * as React from "react";
11
+ import * as AvatarPrimitive from "@radix-ui/react-avatar";
12
+ var Avatar = React.forwardRef((_a, ref) => {
13
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
14
+ return /* @__PURE__ */ React.createElement(
15
+ AvatarPrimitive.Root,
16
+ __spreadValues({
17
+ ref,
18
+ className: cn("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full", className)
19
+ }, props)
20
+ );
21
+ });
22
+ Avatar.displayName = AvatarPrimitive.Root.displayName;
23
+ var AvatarImage = React.forwardRef((_a, ref) => {
24
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
25
+ return /* @__PURE__ */ React.createElement(AvatarPrimitive.Image, __spreadValues({ ref, className: cn("aspect-square h-full w-full", className) }, props));
26
+ });
27
+ AvatarImage.displayName = AvatarPrimitive.Image.displayName;
28
+ var AvatarFallback = React.forwardRef((_a, ref) => {
29
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
30
+ return /* @__PURE__ */ React.createElement(
31
+ AvatarPrimitive.Fallback,
32
+ __spreadValues({
33
+ ref,
34
+ className: cn("flex h-full w-full items-center justify-center rounded-full bg-muted", className)
35
+ }, props)
36
+ );
37
+ });
38
+ AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
39
+
40
+ export {
41
+ Avatar,
42
+ AvatarImage,
43
+ AvatarFallback
44
+ };
45
+ //# sourceMappingURL=chunk-DEXWDH66.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../components/ui/avatar.tsx"],"sourcesContent":["\"use client\";\n'use client';\n\nimport * as React from 'react';\nimport * as AvatarPrimitive from '@radix-ui/react-avatar';\n\nimport { cn } from '../../lib/utils';\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Root\n ref={ref}\n className={cn('relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full', className)}\n {...props}\n />\n));\nAvatar.displayName = AvatarPrimitive.Root.displayName;\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Image ref={ref} className={cn('aspect-square h-full w-full', className)} {...props} />\n));\nAvatarImage.displayName = AvatarPrimitive.Image.displayName;\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Fallback\n ref={ref}\n className={cn('flex h-full w-full items-center justify-center rounded-full bg-muted', className)}\n {...props}\n />\n));\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\n\nexport { Avatar, AvatarImage, AvatarFallback };\n"],"mappings":";;;;;;;;;AAGA,YAAY,WAAW;AACvB,YAAY,qBAAqB;AAIjC,IAAM,SAAe,iBAGnB,CAAC,IAAyB,QAAK;AAA9B,eAAE,YAXL,IAWG,IAAgB,kBAAhB,IAAgB,CAAd;AACH;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACC;AAAA,MACA,WAAW,GAAG,iEAAiE,SAAS;AAAA,OACpF;AAAA,EACN;AAAA,CACD;AACD,OAAO,cAA8B,qBAAK;AAE1C,IAAM,cAAoB,iBAGxB,CAAC,IAAyB,QAAK;AAA9B,eAAE,YAvBL,IAuBG,IAAgB,kBAAhB,IAAgB,CAAd;AACH,6CAAiB,uBAAhB,iBAAsB,KAAU,WAAW,GAAG,+BAA+B,SAAS,KAAO,MAAO;AAAA,CACtG;AACD,YAAY,cAA8B,sBAAM;AAEhD,IAAM,iBAAuB,iBAG3B,CAAC,IAAyB,QAAK;AAA9B,eAAE,YA/BL,IA+BG,IAAgB,kBAAhB,IAAgB,CAAd;AACH;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACC;AAAA,MACA,WAAW,GAAG,wEAAwE,SAAS;AAAA,OAC3F;AAAA,EACN;AAAA,CACD;AACD,eAAe,cAA8B,yBAAS;","names":[]}
@@ -0,0 +1,75 @@
1
+ "use client";
2
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
3
+
4
+
5
+
6
+
7
+ var _chunkNQEDHUHQjs = require('./chunk-NQEDHUHQ.js');
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+ var _chunkNI2SIUXOjs = require('./chunk-NI2SIUXO.js');
17
+
18
+
19
+
20
+
21
+ var _chunkKKRJRQYZjs = require('./chunk-KKRJRQYZ.js');
22
+
23
+ // layouts/sidebar1/nav-user.tsx
24
+ var _lucidereact = require('lucide-react');
25
+ function NavUser({
26
+ user,
27
+ menus = [],
28
+ aslink: LinkComponent,
29
+ onLogout
30
+ }) {
31
+ const { isMobile } = _chunkNQEDHUHQjs.useSidebar.call(void 0, );
32
+ return /* @__PURE__ */ React.createElement(_chunkNQEDHUHQjs.SidebarMenu, null, /* @__PURE__ */ React.createElement(_chunkNQEDHUHQjs.SidebarMenuItem, null, /* @__PURE__ */ React.createElement(_chunkNI2SIUXOjs.DropdownMenu, null, /* @__PURE__ */ React.createElement(_chunkNI2SIUXOjs.DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(
33
+ _chunkNQEDHUHQjs.SidebarMenuButton,
34
+ {
35
+ size: "lg",
36
+ className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground"
37
+ },
38
+ /* @__PURE__ */ React.createElement(_chunkKKRJRQYZjs.Avatar, { className: "h-8 w-8 rounded-lg" }, /* @__PURE__ */ React.createElement(_chunkKKRJRQYZjs.AvatarImage, { src: user.avatar, alt: user.name }), /* @__PURE__ */ React.createElement(_chunkKKRJRQYZjs.AvatarFallback, { className: "rounded-lg" }, "CN")),
39
+ /* @__PURE__ */ React.createElement("div", { className: "grid flex-1 text-left text-sm leading-tight" }, /* @__PURE__ */ React.createElement("span", { className: "truncate font-semibold" }, user.name), /* @__PURE__ */ React.createElement("span", { className: "truncate text-xs" }, user.email)),
40
+ /* @__PURE__ */ React.createElement(_lucidereact.ChevronsUpDown, { className: "ml-auto size-4" })
41
+ )), /* @__PURE__ */ React.createElement(
42
+ _chunkNI2SIUXOjs.DropdownMenuContent,
43
+ {
44
+ className: "w-[--radix-dropdown-menu-trigger-width] min-w-56 rounded-lg bg-white",
45
+ side: isMobile ? "bottom" : "right",
46
+ align: "end",
47
+ sideOffset: 4
48
+ },
49
+ /* @__PURE__ */ React.createElement(_chunkNI2SIUXOjs.DropdownMenuLabel, { className: "p-0 font-normal" }, /* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-2 px-1 py-1.5 text-left text-sm" }, /* @__PURE__ */ React.createElement(_chunkKKRJRQYZjs.Avatar, { className: "h-8 w-8 rounded-lg" }, /* @__PURE__ */ React.createElement(_chunkKKRJRQYZjs.AvatarImage, { src: user.avatar, alt: user.name }), /* @__PURE__ */ React.createElement(_chunkKKRJRQYZjs.AvatarFallback, { className: "rounded-lg" }, "CN")), /* @__PURE__ */ React.createElement("div", { className: "grid flex-1 text-left text-sm leading-tight" }, /* @__PURE__ */ React.createElement("span", { className: "truncate font-semibold" }, user.name), /* @__PURE__ */ React.createElement("span", { className: "truncate text-xs" }, user.email)))),
50
+ menus.length > 0 && /* @__PURE__ */ React.createElement(_chunkNI2SIUXOjs.DropdownMenuSeparator, null),
51
+ /* @__PURE__ */ React.createElement(_chunkNI2SIUXOjs.DropdownMenuGroup, null, menus.map((menu) => {
52
+ const Comp = LinkComponent && menu.url ? LinkComponent : "button";
53
+ return /* @__PURE__ */ React.createElement(
54
+ Comp,
55
+ {
56
+ key: menu.title,
57
+ to: menu.url,
58
+ href: menu.url,
59
+ onClick: () => {
60
+ var _a;
61
+ return (_a = menu.onClick) == null ? void 0 : _a.call(menu, menu.title);
62
+ },
63
+ className: "block w-full"
64
+ },
65
+ /* @__PURE__ */ React.createElement(_chunkNI2SIUXOjs.DropdownMenuItem, null, menu.icon && /* @__PURE__ */ React.createElement(menu.icon, null), menu.title)
66
+ );
67
+ })),
68
+ onLogout && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(_chunkNI2SIUXOjs.DropdownMenuSeparator, null), /* @__PURE__ */ React.createElement(_chunkNI2SIUXOjs.DropdownMenuItem, { onClick: () => onLogout(user) }, /* @__PURE__ */ React.createElement(_lucidereact.LogOut, null), "Log out"))
69
+ ))));
70
+ }
71
+
72
+
73
+
74
+ exports.NavUser = NavUser;
75
+ //# sourceMappingURL=chunk-FFPUEART.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/packages/react/dist/chunk-FFPUEART.js","../layouts/sidebar1/nav-user.tsx"],"names":[],"mappings":"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","file":"/home/ahnjun/projects/egose-shadcn/packages/react/dist/chunk-FFPUEART.js","sourcesContent":[null,"\"use client\";\n'use client';\n\nimport { ChevronsUpDown, LogOut, type LucideIcon } from 'lucide-react';\nimport { Avatar, AvatarFallback, AvatarImage } from '../../components/ui/avatar';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '../../components/ui/dropdown-menu';\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '../../components/ui/sidebar';\n\nexport interface INavUser {\n name: string;\n email: string;\n avatar: string;\n}\n\nexport interface INavUserMenuItem {\n title: string;\n url?: string;\n icon?: LucideIcon;\n onClick?: (title: string) => void;\n}\n\nexport function NavUser({\n user,\n menus = [],\n aslink: LinkComponent,\n onLogout,\n}: {\n user: INavUser;\n menus: INavUserMenuItem[];\n aslink?: React.ElementType;\n onLogout?: (user: INavUser) => void;\n}) {\n const { isMobile } = useSidebar();\n\n return (\n <SidebarMenu>\n <SidebarMenuItem>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <SidebarMenuButton\n size=\"lg\"\n className=\"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground\"\n >\n <Avatar className=\"h-8 w-8 rounded-lg\">\n <AvatarImage src={user.avatar} alt={user.name} />\n <AvatarFallback className=\"rounded-lg\">CN</AvatarFallback>\n </Avatar>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-semibold\">{user.name}</span>\n <span className=\"truncate text-xs\">{user.email}</span>\n </div>\n <ChevronsUpDown className=\"ml-auto size-4\" />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className=\"w-[--radix-dropdown-menu-trigger-width] min-w-56 rounded-lg bg-white\"\n side={isMobile ? 'bottom' : 'right'}\n align=\"end\"\n sideOffset={4}\n >\n <DropdownMenuLabel className=\"p-0 font-normal\">\n <div className=\"flex items-center gap-2 px-1 py-1.5 text-left text-sm\">\n <Avatar className=\"h-8 w-8 rounded-lg\">\n <AvatarImage src={user.avatar} alt={user.name} />\n <AvatarFallback className=\"rounded-lg\">CN</AvatarFallback>\n </Avatar>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-semibold\">{user.name}</span>\n <span className=\"truncate text-xs\">{user.email}</span>\n </div>\n </div>\n </DropdownMenuLabel>\n\n {menus.length > 0 && <DropdownMenuSeparator />}\n <DropdownMenuGroup>\n {menus.map((menu) => {\n const Comp = LinkComponent && menu.url ? LinkComponent : 'button';\n\n return (\n <Comp\n key={menu.title}\n to={menu.url}\n href={menu.url}\n onClick={() => menu.onClick?.(menu.title)}\n className=\"block w-full\"\n >\n <DropdownMenuItem>\n {menu.icon && <menu.icon />}\n {menu.title}\n </DropdownMenuItem>\n </Comp>\n );\n })}\n </DropdownMenuGroup>\n\n {onLogout && (\n <>\n <DropdownMenuSeparator />\n <DropdownMenuItem onClick={() => onLogout(user)}>\n <LogOut />\n Log out\n </DropdownMenuItem>\n </>\n )}\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarMenuItem>\n </SidebarMenu>\n );\n}\n"]}
@@ -0,0 +1,153 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-F5XCCSBC.mjs";
4
+ import {
5
+ __objRest,
6
+ __spreadValues
7
+ } from "./chunk-YOSPWY5K.mjs";
8
+
9
+ // components/ui/dropdown-menu.tsx
10
+ import * as React from "react";
11
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
12
+ import { Check, ChevronRight, Circle } from "lucide-react";
13
+ var DropdownMenu = DropdownMenuPrimitive.Root;
14
+ var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
15
+ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
16
+ var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
17
+ var DropdownMenuSub = DropdownMenuPrimitive.Sub;
18
+ var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
19
+ var DropdownMenuSubTrigger = React.forwardRef((_a, ref) => {
20
+ var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
21
+ return /* @__PURE__ */ React.createElement(
22
+ DropdownMenuPrimitive.SubTrigger,
23
+ __spreadValues({
24
+ ref,
25
+ className: cn(
26
+ "flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-light data-[state=open]:bg-light [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
27
+ inset && "pl-8",
28
+ className
29
+ )
30
+ }, props),
31
+ children,
32
+ /* @__PURE__ */ React.createElement(ChevronRight, { className: "ml-auto" })
33
+ );
34
+ });
35
+ DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
36
+ var DropdownMenuSubContent = React.forwardRef((_a, ref) => {
37
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
38
+ return /* @__PURE__ */ React.createElement(
39
+ DropdownMenuPrimitive.SubContent,
40
+ __spreadValues({
41
+ ref,
42
+ className: cn(
43
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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",
44
+ className
45
+ )
46
+ }, props)
47
+ );
48
+ });
49
+ DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
50
+ var DropdownMenuContent = React.forwardRef((_a, ref) => {
51
+ var _b = _a, { className, sideOffset = 4 } = _b, props = __objRest(_b, ["className", "sideOffset"]);
52
+ return /* @__PURE__ */ React.createElement(DropdownMenuPrimitive.Portal, null, /* @__PURE__ */ React.createElement(
53
+ DropdownMenuPrimitive.Content,
54
+ __spreadValues({
55
+ ref,
56
+ sideOffset,
57
+ className: cn(
58
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md",
59
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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",
60
+ className
61
+ )
62
+ }, props)
63
+ ));
64
+ });
65
+ DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
66
+ var DropdownMenuItem = React.forwardRef((_a, ref) => {
67
+ var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
68
+ return /* @__PURE__ */ React.createElement(
69
+ DropdownMenuPrimitive.Item,
70
+ __spreadValues({
71
+ ref,
72
+ className: cn(
73
+ "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-light focus:text-light-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",
74
+ inset && "pl-8",
75
+ className
76
+ )
77
+ }, props)
78
+ );
79
+ });
80
+ DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
81
+ var DropdownMenuCheckboxItem = React.forwardRef((_a, ref) => {
82
+ var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
83
+ return /* @__PURE__ */ React.createElement(
84
+ DropdownMenuPrimitive.CheckboxItem,
85
+ __spreadValues({
86
+ ref,
87
+ className: cn(
88
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-light focus:text-light-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
89
+ className
90
+ ),
91
+ checked
92
+ }, props),
93
+ /* @__PURE__ */ React.createElement("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center" }, /* @__PURE__ */ React.createElement(DropdownMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React.createElement(Check, { className: "h-4 w-4" }))),
94
+ children
95
+ );
96
+ });
97
+ DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
98
+ var DropdownMenuRadioItem = React.forwardRef((_a, ref) => {
99
+ var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
100
+ return /* @__PURE__ */ React.createElement(
101
+ DropdownMenuPrimitive.RadioItem,
102
+ __spreadValues({
103
+ ref,
104
+ className: cn(
105
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-light focus:text-light-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
106
+ className
107
+ )
108
+ }, props),
109
+ /* @__PURE__ */ React.createElement("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center" }, /* @__PURE__ */ React.createElement(DropdownMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React.createElement(Circle, { className: "h-2 w-2 fill-current" }))),
110
+ children
111
+ );
112
+ });
113
+ DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
114
+ var DropdownMenuLabel = React.forwardRef((_a, ref) => {
115
+ var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
116
+ return /* @__PURE__ */ React.createElement(
117
+ DropdownMenuPrimitive.Label,
118
+ __spreadValues({
119
+ ref,
120
+ className: cn("px-2 py-1.5 text-sm font-semibold", inset && "pl-8", className)
121
+ }, props)
122
+ );
123
+ });
124
+ DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
125
+ var DropdownMenuSeparator = React.forwardRef((_a, ref) => {
126
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
127
+ return /* @__PURE__ */ React.createElement(DropdownMenuPrimitive.Separator, __spreadValues({ ref, className: cn("-mx-1 my-1 h-px bg-muted", className) }, props));
128
+ });
129
+ DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
130
+ var DropdownMenuShortcut = (_a) => {
131
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
132
+ return /* @__PURE__ */ React.createElement("span", __spreadValues({ className: cn("ml-auto text-xs tracking-widest opacity-60", className) }, props));
133
+ };
134
+ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
135
+
136
+ export {
137
+ DropdownMenu,
138
+ DropdownMenuTrigger,
139
+ DropdownMenuGroup,
140
+ DropdownMenuPortal,
141
+ DropdownMenuSub,
142
+ DropdownMenuRadioGroup,
143
+ DropdownMenuSubTrigger,
144
+ DropdownMenuSubContent,
145
+ DropdownMenuContent,
146
+ DropdownMenuItem,
147
+ DropdownMenuCheckboxItem,
148
+ DropdownMenuRadioItem,
149
+ DropdownMenuLabel,
150
+ DropdownMenuSeparator,
151
+ DropdownMenuShortcut
152
+ };
153
+ //# sourceMappingURL=chunk-IAJ2ZBSJ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../components/ui/dropdown-menu.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\n\nimport { cn } from '../../lib/utils';\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n 'flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-light data-[state=open]:bg-light [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n inset && 'pl-8',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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',\n className,\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md',\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-light focus:text-light-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0',\n inset && 'pl-8',\n className,\n )}\n {...props}\n />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-light focus:text-light-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-light focus:text-light-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className=\"h-2 w-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return <span className={cn('ml-auto text-xs tracking-widest opacity-60', className)} {...props} />;\n};\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut';\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n"],"mappings":"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","names":[]}
@@ -0,0 +1,55 @@
1
+ "use client";
2
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
3
+
4
+
5
+
6
+
7
+ var _chunkNQEDHUHQjs = require('./chunk-NQEDHUHQ.js');
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+ var _chunkNI2SIUXOjs = require('./chunk-NI2SIUXO.js');
17
+
18
+ // layouts/sidebar1/context-switcher.tsx
19
+ var _lucidereact = require('lucide-react');
20
+ var _react = require('react'); var React = _interopRequireWildcard(_react);
21
+ function ContextSwitcher({
22
+ items,
23
+ title = "Contexts",
24
+ newContextText = "Add context"
25
+ }) {
26
+ const { isMobile } = _chunkNQEDHUHQjs.useSidebar.call(void 0, );
27
+ const [activeContext, setActiveContext] = React.useState(items[0]);
28
+ return /* @__PURE__ */ React.createElement(_chunkNQEDHUHQjs.SidebarMenu, null, /* @__PURE__ */ React.createElement(_chunkNQEDHUHQjs.SidebarMenuItem, null, /* @__PURE__ */ React.createElement(_chunkNI2SIUXOjs.DropdownMenu, null, /* @__PURE__ */ React.createElement(_chunkNI2SIUXOjs.DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(
29
+ _chunkNQEDHUHQjs.SidebarMenuButton,
30
+ {
31
+ size: "lg",
32
+ className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground"
33
+ },
34
+ /* @__PURE__ */ React.createElement("div", { className: "flex aspect-square size-8 items-center justify-center rounded-lg bg-dark text-dark-foreground" }, /* @__PURE__ */ React.createElement(activeContext.logo, { className: "size-4" })),
35
+ /* @__PURE__ */ React.createElement("div", { className: "grid flex-1 text-left text-sm leading-tight" }, /* @__PURE__ */ React.createElement("span", { className: "truncate font-semibold" }, activeContext.name), /* @__PURE__ */ React.createElement("span", { className: "truncate text-xs" }, activeContext.text)),
36
+ /* @__PURE__ */ React.createElement(_lucidereact.ChevronsUpDown, { className: "ml-auto" })
37
+ )), /* @__PURE__ */ React.createElement(
38
+ _chunkNI2SIUXOjs.DropdownMenuContent,
39
+ {
40
+ className: "w-[--radix-dropdown-menu-trigger-width] min-w-56 rounded-lg bg-white",
41
+ align: "start",
42
+ side: isMobile ? "bottom" : "right",
43
+ sideOffset: 4
44
+ },
45
+ /* @__PURE__ */ React.createElement(_chunkNI2SIUXOjs.DropdownMenuLabel, { className: "text-xs text-muted-foreground" }, title),
46
+ items.map((item, index) => /* @__PURE__ */ React.createElement(_chunkNI2SIUXOjs.DropdownMenuItem, { key: item.name, onClick: () => setActiveContext(item), className: "gap-2 p-2" }, /* @__PURE__ */ React.createElement("div", { className: "flex size-6 items-center justify-center rounded-sm border" }, /* @__PURE__ */ React.createElement(item.logo, { className: "size-4 shrink-0" })), item.name, /* @__PURE__ */ React.createElement(_chunkNI2SIUXOjs.DropdownMenuShortcut, null, "\u2318", index + 1))),
47
+ /* @__PURE__ */ React.createElement(_chunkNI2SIUXOjs.DropdownMenuSeparator, null),
48
+ /* @__PURE__ */ React.createElement(_chunkNI2SIUXOjs.DropdownMenuItem, { className: "gap-2 p-2" }, /* @__PURE__ */ React.createElement("div", { className: "flex size-6 items-center justify-center rounded-md border bg-background" }, /* @__PURE__ */ React.createElement(_lucidereact.Plus, { className: "size-4" })), /* @__PURE__ */ React.createElement("div", { className: "font-medium text-muted-foreground" }, newContextText))
49
+ ))));
50
+ }
51
+
52
+
53
+
54
+ exports.ContextSwitcher = ContextSwitcher;
55
+ //# sourceMappingURL=chunk-ISXL2Q6C.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/packages/react/dist/chunk-ISXL2Q6C.js","../layouts/sidebar1/context-switcher.tsx"],"names":[],"mappings":"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","file":"/home/ahnjun/projects/egose-shadcn/packages/react/dist/chunk-ISXL2Q6C.js","sourcesContent":[null,"\"use client\";\n'use client';\n\nimport { ChevronsUpDown, Plus } from 'lucide-react';\nimport * as React from 'react';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuTrigger,\n} from '../../components/ui/dropdown-menu';\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '../../components/ui/sidebar';\n\nexport interface INavContext {\n name: string;\n logo: React.ElementType;\n text: string;\n}\n\nexport function ContextSwitcher({\n items,\n title = 'Contexts',\n newContextText = 'Add context',\n}: {\n items: INavContext[];\n title?: string;\n newContextText?: string;\n}) {\n const { isMobile } = useSidebar();\n const [activeContext, setActiveContext] = React.useState(items[0]);\n\n return (\n <SidebarMenu>\n <SidebarMenuItem>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <SidebarMenuButton\n size=\"lg\"\n className=\"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground\"\n >\n <div className=\"flex aspect-square size-8 items-center justify-center rounded-lg bg-dark text-dark-foreground\">\n <activeContext.logo className=\"size-4\" />\n </div>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-semibold\">{activeContext.name}</span>\n <span className=\"truncate text-xs\">{activeContext.text}</span>\n </div>\n <ChevronsUpDown className=\"ml-auto\" />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className=\"w-[--radix-dropdown-menu-trigger-width] min-w-56 rounded-lg bg-white\"\n align=\"start\"\n side={isMobile ? 'bottom' : 'right'}\n sideOffset={4}\n >\n <DropdownMenuLabel className=\"text-xs text-muted-foreground\">{title}</DropdownMenuLabel>\n {items.map((item, index) => (\n <DropdownMenuItem key={item.name} onClick={() => setActiveContext(item)} className=\"gap-2 p-2\">\n <div className=\"flex size-6 items-center justify-center rounded-sm border\">\n <item.logo className=\"size-4 shrink-0\" />\n </div>\n {item.name}\n <DropdownMenuShortcut>⌘{index + 1}</DropdownMenuShortcut>\n </DropdownMenuItem>\n ))}\n <DropdownMenuSeparator />\n <DropdownMenuItem className=\"gap-2 p-2\">\n <div className=\"flex size-6 items-center justify-center rounded-md border bg-background\">\n <Plus className=\"size-4\" />\n </div>\n <div className=\"font-medium text-muted-foreground\">{newContextText}</div>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarMenuItem>\n </SidebarMenu>\n );\n}\n"]}
@@ -0,0 +1,74 @@
1
+ import {
2
+ SidebarMenu,
3
+ SidebarMenuButton,
4
+ SidebarMenuItem,
5
+ useSidebar
6
+ } from "./chunk-ZZSEDLQG.mjs";
7
+ import {
8
+ DropdownMenu,
9
+ DropdownMenuContent,
10
+ DropdownMenuGroup,
11
+ DropdownMenuItem,
12
+ DropdownMenuLabel,
13
+ DropdownMenuSeparator,
14
+ DropdownMenuTrigger
15
+ } from "./chunk-IAJ2ZBSJ.mjs";
16
+ import {
17
+ Avatar,
18
+ AvatarFallback,
19
+ AvatarImage
20
+ } from "./chunk-DEXWDH66.mjs";
21
+
22
+ // layouts/sidebar1/nav-user.tsx
23
+ import { ChevronsUpDown, LogOut } from "lucide-react";
24
+ function NavUser({
25
+ user,
26
+ menus = [],
27
+ aslink: LinkComponent,
28
+ onLogout
29
+ }) {
30
+ const { isMobile } = useSidebar();
31
+ return /* @__PURE__ */ React.createElement(SidebarMenu, null, /* @__PURE__ */ React.createElement(SidebarMenuItem, null, /* @__PURE__ */ React.createElement(DropdownMenu, null, /* @__PURE__ */ React.createElement(DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(
32
+ SidebarMenuButton,
33
+ {
34
+ size: "lg",
35
+ className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground"
36
+ },
37
+ /* @__PURE__ */ React.createElement(Avatar, { className: "h-8 w-8 rounded-lg" }, /* @__PURE__ */ React.createElement(AvatarImage, { src: user.avatar, alt: user.name }), /* @__PURE__ */ React.createElement(AvatarFallback, { className: "rounded-lg" }, "CN")),
38
+ /* @__PURE__ */ React.createElement("div", { className: "grid flex-1 text-left text-sm leading-tight" }, /* @__PURE__ */ React.createElement("span", { className: "truncate font-semibold" }, user.name), /* @__PURE__ */ React.createElement("span", { className: "truncate text-xs" }, user.email)),
39
+ /* @__PURE__ */ React.createElement(ChevronsUpDown, { className: "ml-auto size-4" })
40
+ )), /* @__PURE__ */ React.createElement(
41
+ DropdownMenuContent,
42
+ {
43
+ className: "w-[--radix-dropdown-menu-trigger-width] min-w-56 rounded-lg bg-white",
44
+ side: isMobile ? "bottom" : "right",
45
+ align: "end",
46
+ sideOffset: 4
47
+ },
48
+ /* @__PURE__ */ React.createElement(DropdownMenuLabel, { className: "p-0 font-normal" }, /* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-2 px-1 py-1.5 text-left text-sm" }, /* @__PURE__ */ React.createElement(Avatar, { className: "h-8 w-8 rounded-lg" }, /* @__PURE__ */ React.createElement(AvatarImage, { src: user.avatar, alt: user.name }), /* @__PURE__ */ React.createElement(AvatarFallback, { className: "rounded-lg" }, "CN")), /* @__PURE__ */ React.createElement("div", { className: "grid flex-1 text-left text-sm leading-tight" }, /* @__PURE__ */ React.createElement("span", { className: "truncate font-semibold" }, user.name), /* @__PURE__ */ React.createElement("span", { className: "truncate text-xs" }, user.email)))),
49
+ menus.length > 0 && /* @__PURE__ */ React.createElement(DropdownMenuSeparator, null),
50
+ /* @__PURE__ */ React.createElement(DropdownMenuGroup, null, menus.map((menu) => {
51
+ const Comp = LinkComponent && menu.url ? LinkComponent : "button";
52
+ return /* @__PURE__ */ React.createElement(
53
+ Comp,
54
+ {
55
+ key: menu.title,
56
+ to: menu.url,
57
+ href: menu.url,
58
+ onClick: () => {
59
+ var _a;
60
+ return (_a = menu.onClick) == null ? void 0 : _a.call(menu, menu.title);
61
+ },
62
+ className: "block w-full"
63
+ },
64
+ /* @__PURE__ */ React.createElement(DropdownMenuItem, null, menu.icon && /* @__PURE__ */ React.createElement(menu.icon, null), menu.title)
65
+ );
66
+ })),
67
+ onLogout && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(DropdownMenuSeparator, null), /* @__PURE__ */ React.createElement(DropdownMenuItem, { onClick: () => onLogout(user) }, /* @__PURE__ */ React.createElement(LogOut, null), "Log out"))
68
+ ))));
69
+ }
70
+
71
+ export {
72
+ NavUser
73
+ };
74
+ //# sourceMappingURL=chunk-KKPUOZ6X.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../layouts/sidebar1/nav-user.tsx"],"sourcesContent":["\"use client\";\n'use client';\n\nimport { ChevronsUpDown, LogOut, type LucideIcon } from 'lucide-react';\nimport { Avatar, AvatarFallback, AvatarImage } from '../../components/ui/avatar';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '../../components/ui/dropdown-menu';\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '../../components/ui/sidebar';\n\nexport interface INavUser {\n name: string;\n email: string;\n avatar: string;\n}\n\nexport interface INavUserMenuItem {\n title: string;\n url?: string;\n icon?: LucideIcon;\n onClick?: (title: string) => void;\n}\n\nexport function NavUser({\n user,\n menus = [],\n aslink: LinkComponent,\n onLogout,\n}: {\n user: INavUser;\n menus: INavUserMenuItem[];\n aslink?: React.ElementType;\n onLogout?: (user: INavUser) => void;\n}) {\n const { isMobile } = useSidebar();\n\n return (\n <SidebarMenu>\n <SidebarMenuItem>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <SidebarMenuButton\n size=\"lg\"\n className=\"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground\"\n >\n <Avatar className=\"h-8 w-8 rounded-lg\">\n <AvatarImage src={user.avatar} alt={user.name} />\n <AvatarFallback className=\"rounded-lg\">CN</AvatarFallback>\n </Avatar>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-semibold\">{user.name}</span>\n <span className=\"truncate text-xs\">{user.email}</span>\n </div>\n <ChevronsUpDown className=\"ml-auto size-4\" />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className=\"w-[--radix-dropdown-menu-trigger-width] min-w-56 rounded-lg bg-white\"\n side={isMobile ? 'bottom' : 'right'}\n align=\"end\"\n sideOffset={4}\n >\n <DropdownMenuLabel className=\"p-0 font-normal\">\n <div className=\"flex items-center gap-2 px-1 py-1.5 text-left text-sm\">\n <Avatar className=\"h-8 w-8 rounded-lg\">\n <AvatarImage src={user.avatar} alt={user.name} />\n <AvatarFallback className=\"rounded-lg\">CN</AvatarFallback>\n </Avatar>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-semibold\">{user.name}</span>\n <span className=\"truncate text-xs\">{user.email}</span>\n </div>\n </div>\n </DropdownMenuLabel>\n\n {menus.length > 0 && <DropdownMenuSeparator />}\n <DropdownMenuGroup>\n {menus.map((menu) => {\n const Comp = LinkComponent && menu.url ? LinkComponent : 'button';\n\n return (\n <Comp\n key={menu.title}\n to={menu.url}\n href={menu.url}\n onClick={() => menu.onClick?.(menu.title)}\n className=\"block w-full\"\n >\n <DropdownMenuItem>\n {menu.icon && <menu.icon />}\n {menu.title}\n </DropdownMenuItem>\n </Comp>\n );\n })}\n </DropdownMenuGroup>\n\n {onLogout && (\n <>\n <DropdownMenuSeparator />\n <DropdownMenuItem onClick={() => onLogout(user)}>\n <LogOut />\n Log out\n </DropdownMenuItem>\n </>\n )}\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarMenuItem>\n </SidebarMenu>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAGA,SAAS,gBAAgB,cAA+B;AA0BjD,SAAS,QAAQ;AAAA,EACtB;AAAA,EACA,QAAQ,CAAC;AAAA,EACT,QAAQ;AAAA,EACR;AACF,GAKG;AACD,QAAM,EAAE,SAAS,IAAI,WAAW;AAEhC,SACE,oCAAC,mBACC,oCAAC,uBACC,oCAAC,oBACC,oCAAC,uBAAoB,SAAO,QAC1B;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAU;AAAA;AAAA,IAEV,oCAAC,UAAO,WAAU,wBAChB,oCAAC,eAAY,KAAK,KAAK,QAAQ,KAAK,KAAK,MAAM,GAC/C,oCAAC,kBAAe,WAAU,gBAAa,IAAE,CAC3C;AAAA,IACA,oCAAC,SAAI,WAAU,iDACb,oCAAC,UAAK,WAAU,4BAA0B,KAAK,IAAK,GACpD,oCAAC,UAAK,WAAU,sBAAoB,KAAK,KAAM,CACjD;AAAA,IACA,oCAAC,kBAAe,WAAU,kBAAiB;AAAA,EAC7C,CACF,GACA;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAM,WAAW,WAAW;AAAA,MAC5B,OAAM;AAAA,MACN,YAAY;AAAA;AAAA,IAEZ,oCAAC,qBAAkB,WAAU,qBAC3B,oCAAC,SAAI,WAAU,2DACb,oCAAC,UAAO,WAAU,wBAChB,oCAAC,eAAY,KAAK,KAAK,QAAQ,KAAK,KAAK,MAAM,GAC/C,oCAAC,kBAAe,WAAU,gBAAa,IAAE,CAC3C,GACA,oCAAC,SAAI,WAAU,iDACb,oCAAC,UAAK,WAAU,4BAA0B,KAAK,IAAK,GACpD,oCAAC,UAAK,WAAU,sBAAoB,KAAK,KAAM,CACjD,CACF,CACF;AAAA,IAEC,MAAM,SAAS,KAAK,oCAAC,2BAAsB;AAAA,IAC5C,oCAAC,yBACE,MAAM,IAAI,CAAC,SAAS;AACnB,YAAM,OAAO,iBAAiB,KAAK,MAAM,gBAAgB;AAEzD,aACE;AAAA,QAAC;AAAA;AAAA,UACC,KAAK,KAAK;AAAA,UACV,IAAI,KAAK;AAAA,UACT,MAAM,KAAK;AAAA,UACX,SAAS,MAAG;AA3FhC;AA2FmC,8BAAK,YAAL,8BAAe,KAAK;AAAA;AAAA,UACnC,WAAU;AAAA;AAAA,QAEV,oCAAC,wBACE,KAAK,QAAQ,oCAAC,KAAK,MAAL,IAAU,GACxB,KAAK,KACR;AAAA,MACF;AAAA,IAEJ,CAAC,CACH;AAAA,IAEC,YACC,0DACE,oCAAC,2BAAsB,GACvB,oCAAC,oBAAiB,SAAS,MAAM,SAAS,IAAI,KAC5C,oCAAC,YAAO,GAAE,SAEZ,CACF;AAAA,EAEJ,CACF,CACF,CACF;AAEJ;","names":[]}
@@ -0,0 +1,46 @@
1
+ "use client";
2
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
3
+
4
+ var _chunk6N4WCMTEjs = require('./chunk-6N4WCMTE.js');
5
+
6
+
7
+
8
+ var _chunk2NMEKWO5js = require('./chunk-2NMEKWO5.js');
9
+
10
+ // components/ui/avatar.tsx
11
+ var _react = require('react'); var React = _interopRequireWildcard(_react);
12
+ var _reactavatar = require('@radix-ui/react-avatar'); var AvatarPrimitive = _interopRequireWildcard(_reactavatar);
13
+ var Avatar = React.forwardRef((_a, ref) => {
14
+ var _b = _a, { className } = _b, props = _chunk2NMEKWO5js.__objRest.call(void 0, _b, ["className"]);
15
+ return /* @__PURE__ */ React.createElement(
16
+ AvatarPrimitive.Root,
17
+ _chunk2NMEKWO5js.__spreadValues.call(void 0, {
18
+ ref,
19
+ className: _chunk6N4WCMTEjs.cn.call(void 0, "relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full", className)
20
+ }, props)
21
+ );
22
+ });
23
+ Avatar.displayName = AvatarPrimitive.Root.displayName;
24
+ var AvatarImage = React.forwardRef((_a, ref) => {
25
+ var _b = _a, { className } = _b, props = _chunk2NMEKWO5js.__objRest.call(void 0, _b, ["className"]);
26
+ return /* @__PURE__ */ React.createElement(AvatarPrimitive.Image, _chunk2NMEKWO5js.__spreadValues.call(void 0, { ref, className: _chunk6N4WCMTEjs.cn.call(void 0, "aspect-square h-full w-full", className) }, props));
27
+ });
28
+ AvatarImage.displayName = AvatarPrimitive.Image.displayName;
29
+ var AvatarFallback = React.forwardRef((_a, ref) => {
30
+ var _b = _a, { className } = _b, props = _chunk2NMEKWO5js.__objRest.call(void 0, _b, ["className"]);
31
+ return /* @__PURE__ */ React.createElement(
32
+ AvatarPrimitive.Fallback,
33
+ _chunk2NMEKWO5js.__spreadValues.call(void 0, {
34
+ ref,
35
+ className: _chunk6N4WCMTEjs.cn.call(void 0, "flex h-full w-full items-center justify-center rounded-full bg-muted", className)
36
+ }, props)
37
+ );
38
+ });
39
+ AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
40
+
41
+
42
+
43
+
44
+
45
+ exports.Avatar = Avatar; exports.AvatarImage = AvatarImage; exports.AvatarFallback = AvatarFallback;
46
+ //# sourceMappingURL=chunk-KKRJRQYZ.js.map