@appcorp/shadcn 1.2.0 → 2.0.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.
Files changed (231) hide show
  1. package/components/app-sidebar.js +16 -23
  2. package/components/audio.js +11 -19
  3. package/components/dashboard.js +27 -65
  4. package/components/drawer-generic.js +20 -28
  5. package/components/enhanced-checkbox.js +10 -57
  6. package/components/enhanced-combobox.js +99 -143
  7. package/components/enhanced-drawer-footer.js +22 -31
  8. package/components/enhanced-drawer-header.js +6 -14
  9. package/components/enhanced-dropzone-impl.d.ts +32 -0
  10. package/components/enhanced-dropzone-impl.js +218 -0
  11. package/components/enhanced-dropzone.d.ts +2 -63
  12. package/components/enhanced-dropzone.js +6 -294
  13. package/components/enhanced-input.js +10 -57
  14. package/components/enhanced-label.js +6 -52
  15. package/components/enhanced-radio.js +12 -20
  16. package/components/enhanced-select.js +13 -61
  17. package/components/enhanced-slider.js +11 -58
  18. package/components/enhanced-switch.js +11 -58
  19. package/components/enhanced-table-footer-action.js +11 -19
  20. package/components/enhanced-table-footer-page.js +16 -24
  21. package/components/enhanced-table-footer-pagination.js +11 -21
  22. package/components/enhanced-table-header-action.js +22 -30
  23. package/components/enhanced-table-header-search.js +9 -17
  24. package/components/enhanced-table.js +125 -153
  25. package/components/enhanced-textarea.js +10 -57
  26. package/components/field.d.ts +1 -1
  27. package/components/field.js +31 -88
  28. package/components/image-resize-dialog.js +61 -159
  29. package/components/nav-main.js +32 -78
  30. package/components/nav-projects.js +37 -48
  31. package/components/nav-user.js +41 -51
  32. package/components/show-toast.js +5 -9
  33. package/components/sidebar.d.ts +1 -1
  34. package/components/sidebar.js +115 -184
  35. package/components/team-switcher.js +36 -47
  36. package/components/theme-provider.js +36 -84
  37. package/components/timeline.js +12 -20
  38. package/components/tooltip.js +10 -59
  39. package/components/ui/accordion.js +17 -67
  40. package/components/ui/alert-dialog.js +32 -89
  41. package/components/ui/alert.d.ts +1 -1
  42. package/components/ui/alert.js +14 -63
  43. package/components/ui/area-chart-v1-impl.d.ts +19 -0
  44. package/components/ui/area-chart-v1-impl.js +75 -0
  45. package/components/ui/area-chart-v1.d.ts +2 -19
  46. package/components/ui/area-chart-v1.js +4 -113
  47. package/components/ui/aspect-ratio.js +3 -39
  48. package/components/ui/avatar.js +13 -62
  49. package/components/ui/badge.d.ts +2 -2
  50. package/components/ui/badge.js +7 -55
  51. package/components/ui/breadcrumb.js +27 -80
  52. package/components/ui/button.d.ts +2 -2
  53. package/components/ui/button.js +10 -58
  54. package/components/ui/calendar-impl.d.ts +8 -0
  55. package/components/ui/calendar-impl.js +55 -0
  56. package/components/ui/calendar.d.ts +2 -8
  57. package/components/ui/calendar.js +5 -108
  58. package/components/ui/card.js +21 -73
  59. package/components/ui/carousel-impl.d.ts +18 -0
  60. package/components/ui/carousel-impl.js +117 -0
  61. package/components/ui/carousel.d.ts +6 -18
  62. package/components/ui/carousel.js +8 -170
  63. package/components/ui/chart-impl.d.ts +62 -0
  64. package/components/ui/chart-impl.js +162 -0
  65. package/components/ui/chart.d.ts +7 -62
  66. package/components/ui/chart.js +9 -219
  67. package/components/ui/checkbox.js +10 -57
  68. package/components/ui/collapsible.js +5 -43
  69. package/components/ui/combobox.js +22 -58
  70. package/components/ui/command-impl.d.ts +80 -0
  71. package/components/ui/command-impl.js +63 -0
  72. package/components/ui/command.d.ts +9 -80
  73. package/components/ui/command.js +12 -117
  74. package/components/ui/context-menu.js +41 -102
  75. package/components/ui/dialog.js +28 -84
  76. package/components/ui/drawer-impl.d.ts +22 -0
  77. package/components/ui/drawer-impl.js +56 -0
  78. package/components/ui/drawer.d.ts +10 -22
  79. package/components/ui/drawer.js +13 -111
  80. package/components/ui/dropdown-menu.js +41 -102
  81. package/components/ui/form.d.ts +4 -2
  82. package/components/ui/form.js +41 -95
  83. package/components/ui/hover-card.js +9 -58
  84. package/components/ui/input-otp-impl.d.ts +34 -0
  85. package/components/ui/input-otp-impl.js +43 -0
  86. package/components/ui/input-otp.d.ts +4 -34
  87. package/components/ui/input-otp.js +7 -92
  88. package/components/ui/input.js +6 -53
  89. package/components/ui/label.d.ts +1 -1
  90. package/components/ui/label.js +9 -56
  91. package/components/ui/language-selector.js +17 -55
  92. package/components/ui/menubar.js +46 -108
  93. package/components/ui/navigation-menu.d.ts +1 -1
  94. package/components/ui/navigation-menu.js +29 -84
  95. package/components/ui/pagination.js +30 -83
  96. package/components/ui/popover.js +10 -60
  97. package/components/ui/progress.js +8 -55
  98. package/components/ui/radio-group.js +12 -60
  99. package/components/ui/resizable-impl.d.ts +24 -0
  100. package/components/ui/resizable-impl.js +27 -0
  101. package/components/ui/resizable.d.ts +3 -24
  102. package/components/ui/resizable.js +6 -78
  103. package/components/ui/scroll-area.js +10 -58
  104. package/components/ui/select.js +34 -90
  105. package/components/ui/separator.js +7 -54
  106. package/components/ui/sheet.d.ts +1 -1
  107. package/components/ui/sheet.js +30 -86
  108. package/components/ui/skeleton.js +5 -21
  109. package/components/ui/slider.js +10 -57
  110. package/components/ui/sonner.js +7 -24
  111. package/components/ui/switch.js +8 -55
  112. package/components/ui/table.js +27 -81
  113. package/components/ui/tabs.js +14 -64
  114. package/components/ui/textarea.js +6 -53
  115. package/components/ui/theme-switcher.js +41 -91
  116. package/components/ui/toggle.d.ts +2 -2
  117. package/components/ui/toggle.js +9 -57
  118. package/data/admin-dashboard.js +16 -19
  119. package/hooks/use-enhanced-combobox.js +47 -124
  120. package/hooks/use-mobile.js +8 -44
  121. package/hooks/use-outside-click.js +6 -10
  122. package/lib/themes.js +1 -4
  123. package/lib/toast-utils.js +78 -120
  124. package/lib/utils.js +4 -11
  125. package/package.json +9 -90
  126. package/utils/transform-breadcrumbs.js +4 -8
  127. package/utils/transform-navitems.js +7 -22
  128. package/components/aceternity-ui/apple-cards-carousel.d.ts +0 -35
  129. package/components/aceternity-ui/apple-cards-carousel.js +0 -263
  130. package/components/shadcn-example/ai-chat/chat-interface.d.ts +0 -11
  131. package/components/shadcn-example/ai-chat/chat-interface.js +0 -70
  132. package/components/shadcn-example/ai-chat/index.d.ts +0 -38
  133. package/components/shadcn-example/ai-chat/index.js +0 -66
  134. package/components/shadcn-example/ai-chat/sidebar.d.ts +0 -15
  135. package/components/shadcn-example/ai-chat/sidebar.js +0 -68
  136. package/components/shadcn-example/ai-chat/welcome-section.d.ts +0 -12
  137. package/components/shadcn-example/ai-chat/welcome-section.js +0 -26
  138. package/components/shadcn-example/authentication/index.d.ts +0 -24
  139. package/components/shadcn-example/authentication/index.js +0 -59
  140. package/components/shadcn-example/authentication/user-auth-form.d.ts +0 -11
  141. package/components/shadcn-example/authentication/user-auth-form.js +0 -54
  142. package/components/shadcn-example/blog-detail-page/comment-section.d.ts +0 -15
  143. package/components/shadcn-example/blog-detail-page/comment-section.js +0 -83
  144. package/components/shadcn-example/blog-detail-page/content.d.ts +0 -7
  145. package/components/shadcn-example/blog-detail-page/content.js +0 -15
  146. package/components/shadcn-example/blog-detail-page/header.d.ts +0 -11
  147. package/components/shadcn-example/blog-detail-page/header.js +0 -36
  148. package/components/shadcn-example/blog-detail-page/index.d.ts +0 -25
  149. package/components/shadcn-example/blog-detail-page/index.js +0 -74
  150. package/components/shadcn-example/blog-page/blog-post-card.d.ts +0 -13
  151. package/components/shadcn-example/blog-page/blog-post-card.js +0 -30
  152. package/components/shadcn-example/blog-page/featured-post-sidebar-item.d.ts +0 -10
  153. package/components/shadcn-example/blog-page/featured-post-sidebar-item.js +0 -19
  154. package/components/shadcn-example/blog-page/index.d.ts +0 -20
  155. package/components/shadcn-example/blog-page/index.js +0 -36
  156. package/components/shadcn-example/coming-soon/countdown.d.ts +0 -2
  157. package/components/shadcn-example/coming-soon/countdown.js +0 -82
  158. package/components/shadcn-example/coming-soon/index.d.ts +0 -10
  159. package/components/shadcn-example/coming-soon/index.js +0 -41
  160. package/components/shadcn-io/color-picker/index.d.ts +0 -43
  161. package/components/shadcn-io/color-picker/index.js +0 -304
  162. package/components/shadcn-io/copy-button/index.d.ts +0 -16
  163. package/components/shadcn-io/copy-button/index.js +0 -121
  164. package/components/shadcn-io/dropzone/index.d.ts +0 -19
  165. package/components/shadcn-io/dropzone/index.js +0 -131
  166. package/components/shadcn-io/gantt/index.d.ts +0 -145
  167. package/components/shadcn-io/gantt/index.js +0 -766
  168. package/components/shadcn-io/table/index.d.ts +0 -60
  169. package/components/shadcn-io/table/index.js +0 -138
  170. package/templates/appcorp-v1/footer/bottom-bar.d.ts +0 -6
  171. package/templates/appcorp-v1/footer/bottom-bar.js +0 -25
  172. package/templates/appcorp-v1/footer/cta.d.ts +0 -6
  173. package/templates/appcorp-v1/footer/cta.js +0 -21
  174. package/templates/appcorp-v1/footer/footer-grid.d.ts +0 -14
  175. package/templates/appcorp-v1/footer/footer-grid.js +0 -52
  176. package/templates/appcorp-v1/footer/index.d.ts +0 -3
  177. package/templates/appcorp-v1/footer/index.js +0 -28
  178. package/templates/appcorp-v1/footer/newsletter.d.ts +0 -11
  179. package/templates/appcorp-v1/footer/newsletter.js +0 -28
  180. package/templates/appcorp-v1/footer/stats.d.ts +0 -6
  181. package/templates/appcorp-v1/footer/stats.js +0 -15
  182. package/templates/appcorp-v1/header/announcement-bar.d.ts +0 -3
  183. package/templates/appcorp-v1/header/announcement-bar.js +0 -15
  184. package/templates/appcorp-v1/header/dropdown-panel.d.ts +0 -8
  185. package/templates/appcorp-v1/header/dropdown-panel.js +0 -72
  186. package/templates/appcorp-v1/header/index.d.ts +0 -12
  187. package/templates/appcorp-v1/header/index.js +0 -16
  188. package/templates/appcorp-v1/header/mobile-menu.d.ts +0 -14
  189. package/templates/appcorp-v1/header/mobile-menu.js +0 -101
  190. package/templates/appcorp-v1/header/navigation-bar.d.ts +0 -3
  191. package/templates/appcorp-v1/header/navigation-bar.js +0 -117
  192. package/templates/appcorp-v1/header/social-button.d.ts +0 -7
  193. package/templates/appcorp-v1/header/social-button.js +0 -48
  194. package/templates/appcorp-v1/home.d.ts +0 -3
  195. package/templates/appcorp-v1/home.js +0 -27
  196. package/templates/data/appcorp-v1.d.ts +0 -93
  197. package/templates/data/appcorp-v1.js +0 -348
  198. package/templates/data/edupilotpro-v1.d.ts +0 -33
  199. package/templates/data/edupilotpro-v1.js +0 -116
  200. package/templates/data/school-v1.d.ts +0 -328
  201. package/templates/data/school-v1.js +0 -1563
  202. package/templates/edupilotpro-v1/feature-card.d.ts +0 -13
  203. package/templates/edupilotpro-v1/feature-card.js +0 -28
  204. package/templates/edupilotpro-v1/mockups/dashboard-mockup.d.ts +0 -3
  205. package/templates/edupilotpro-v1/mockups/dashboard-mockup.js +0 -55
  206. package/templates/school-v1/footer.d.ts +0 -3
  207. package/templates/school-v1/footer.js +0 -75
  208. package/templates/school-v1/index.d.ts +0 -18
  209. package/templates/school-v1/index.js +0 -60
  210. package/templates/school-v1/navigation.d.ts +0 -3
  211. package/templates/school-v1/navigation.js +0 -123
  212. package/templates/school-v1/sections/about.d.ts +0 -3
  213. package/templates/school-v1/sections/about.js +0 -49
  214. package/templates/school-v1/sections/admissions.d.ts +0 -3
  215. package/templates/school-v1/sections/admissions.js +0 -77
  216. package/templates/school-v1/sections/contact.d.ts +0 -3
  217. package/templates/school-v1/sections/contact.js +0 -67
  218. package/templates/school-v1/sections/faqs.d.ts +0 -3
  219. package/templates/school-v1/sections/faqs.js +0 -50
  220. package/templates/school-v1/sections/hero.d.ts +0 -3
  221. package/templates/school-v1/sections/hero.js +0 -132
  222. package/templates/school-v1/sections/management.d.ts +0 -3
  223. package/templates/school-v1/sections/management.js +0 -34
  224. package/templates/school-v1/sections/policies.d.ts +0 -3
  225. package/templates/school-v1/sections/policies.js +0 -127
  226. package/templates/school-v1/sections/programs.d.ts +0 -3
  227. package/templates/school-v1/sections/programs.js +0 -107
  228. package/templates/school-v1/sections/testimonials.d.ts +0 -3
  229. package/templates/school-v1/sections/testimonials.js +0 -46
  230. package/templates/school-v1/sections/why-choose-us.d.ts +0 -3
  231. package/templates/school-v1/sections/why-choose-us.js +0 -57
@@ -1,49 +1,4 @@
1
1
  "use client";
2
- "use strict";
3
- var __assign = (this && this.__assign) || function () {
4
- __assign = Object.assign || function(t) {
5
- for (var s, i = 1, n = arguments.length; i < n; i++) {
6
- s = arguments[i];
7
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
8
- t[p] = s[p];
9
- }
10
- return t;
11
- };
12
- return __assign.apply(this, arguments);
13
- };
14
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
- if (k2 === undefined) k2 = k;
16
- var desc = Object.getOwnPropertyDescriptor(m, k);
17
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
18
- desc = { enumerable: true, get: function() { return m[k]; } };
19
- }
20
- Object.defineProperty(o, k2, desc);
21
- }) : (function(o, m, k, k2) {
22
- if (k2 === undefined) k2 = k;
23
- o[k2] = m[k];
24
- }));
25
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
26
- Object.defineProperty(o, "default", { enumerable: true, value: v });
27
- }) : function(o, v) {
28
- o["default"] = v;
29
- });
30
- var __importStar = (this && this.__importStar) || (function () {
31
- var ownKeys = function(o) {
32
- ownKeys = Object.getOwnPropertyNames || function (o) {
33
- var ar = [];
34
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
35
- return ar;
36
- };
37
- return ownKeys(o);
38
- };
39
- return function (mod) {
40
- if (mod && mod.__esModule) return mod;
41
- var result = {};
42
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
43
- __setModuleDefault(result, mod);
44
- return result;
45
- };
46
- })();
47
2
  var __rest = (this && this.__rest) || function (s, e) {
48
3
  var t = {};
49
4
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -55,67 +10,42 @@ var __rest = (this && this.__rest) || function (s, e) {
55
10
  }
56
11
  return t;
57
12
  };
58
- Object.defineProperty(exports, "__esModule", { value: true });
59
- exports.Sidebar = Sidebar;
60
- exports.SidebarContent = SidebarContent;
61
- exports.SidebarFooter = SidebarFooter;
62
- exports.SidebarGroup = SidebarGroup;
63
- exports.SidebarGroupAction = SidebarGroupAction;
64
- exports.SidebarGroupContent = SidebarGroupContent;
65
- exports.SidebarGroupLabel = SidebarGroupLabel;
66
- exports.SidebarHeader = SidebarHeader;
67
- exports.SidebarInput = SidebarInput;
68
- exports.SidebarInset = SidebarInset;
69
- exports.SidebarMenu = SidebarMenu;
70
- exports.SidebarMenuAction = SidebarMenuAction;
71
- exports.SidebarMenuBadge = SidebarMenuBadge;
72
- exports.SidebarMenuButton = SidebarMenuButton;
73
- exports.SidebarMenuItem = SidebarMenuItem;
74
- exports.SidebarMenuSkeleton = SidebarMenuSkeleton;
75
- exports.SidebarMenuSub = SidebarMenuSub;
76
- exports.SidebarMenuSubButton = SidebarMenuSubButton;
77
- exports.SidebarMenuSubItem = SidebarMenuSubItem;
78
- exports.SidebarProvider = SidebarProvider;
79
- exports.SidebarRail = SidebarRail;
80
- exports.SidebarSeparator = SidebarSeparator;
81
- exports.SidebarTrigger = SidebarTrigger;
82
- exports.useSidebar = useSidebar;
83
- var React = __importStar(require("react"));
84
- var react_slot_1 = require("@radix-ui/react-slot");
85
- var class_variance_authority_1 = require("class-variance-authority");
86
- var lucide_react_1 = require("lucide-react");
87
- var use_mobile_1 = require("../hooks/use-mobile");
88
- var utils_1 = require("../lib/utils");
89
- var button_1 = require("./ui/button");
90
- var input_1 = require("./ui/input");
91
- var separator_1 = require("./ui/separator");
92
- var sheet_1 = require("./ui/sheet");
93
- var skeleton_1 = require("./ui/skeleton");
94
- var tooltip_1 = require("./tooltip");
95
- var SIDEBAR_COOKIE_NAME = "sidebar_state";
96
- var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
97
- var SIDEBAR_WIDTH = "16rem";
98
- var SIDEBAR_WIDTH_MOBILE = "18rem";
99
- var SIDEBAR_WIDTH_ICON = "3rem";
100
- var SIDEBAR_KEYBOARD_SHORTCUT = "b";
101
- var SidebarContext = React.createContext(null);
13
+ import * as React from "react";
14
+ import { Slot } from "@radix-ui/react-slot";
15
+ import { cva } from "class-variance-authority";
16
+ import { PanelLeftIcon } from "lucide-react";
17
+ import { useIsMobile } from "../hooks/use-mobile";
18
+ import { cn } from "../lib/utils";
19
+ import { Button } from "./ui/button";
20
+ import { Input } from "./ui/input";
21
+ import { Separator } from "./ui/separator";
22
+ import { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle, } from "./ui/sheet";
23
+ import { Skeleton } from "./ui/skeleton";
24
+ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "./tooltip";
25
+ const SIDEBAR_COOKIE_NAME = "sidebar_state";
26
+ const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
27
+ const SIDEBAR_WIDTH = "16rem";
28
+ const SIDEBAR_WIDTH_MOBILE = "18rem";
29
+ const SIDEBAR_WIDTH_ICON = "3rem";
30
+ const SIDEBAR_KEYBOARD_SHORTCUT = "b";
31
+ const SidebarContext = React.createContext(null);
102
32
  function useSidebar() {
103
- var context = React.useContext(SidebarContext);
33
+ const context = React.useContext(SidebarContext);
104
34
  if (!context) {
105
35
  throw new Error("useSidebar must be used within a SidebarProvider.");
106
36
  }
107
37
  return context;
108
38
  }
109
39
  function SidebarProvider(_a) {
110
- var _b = _a.defaultOpen, defaultOpen = _b === void 0 ? true : _b, openProp = _a.open, setOpenProp = _a.onOpenChange, className = _a.className, style = _a.style, children = _a.children, props = __rest(_a, ["defaultOpen", "open", "onOpenChange", "className", "style", "children"]);
111
- var isMobile = (0, use_mobile_1.useIsMobile)();
112
- var _c = React.useState(false), openMobile = _c[0], setOpenMobile = _c[1];
40
+ var { defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children } = _a, props = __rest(_a, ["defaultOpen", "open", "onOpenChange", "className", "style", "children"]);
41
+ const isMobile = useIsMobile();
42
+ const [openMobile, setOpenMobile] = React.useState(false);
113
43
  // This is the internal state of the sidebar.
114
44
  // We use openProp and setOpenProp for control from outside the component.
115
- var _d = React.useState(defaultOpen), _open = _d[0], _setOpen = _d[1];
116
- var open = openProp !== null && openProp !== void 0 ? openProp : _open;
117
- var setOpen = React.useCallback(function (value) {
118
- var openState = typeof value === "function" ? value(open) : value;
45
+ const [_open, _setOpen] = React.useState(defaultOpen);
46
+ const open = openProp !== null && openProp !== void 0 ? openProp : _open;
47
+ const setOpen = React.useCallback((value) => {
48
+ const openState = typeof value === "function" ? value(open) : value;
119
49
  if (setOpenProp) {
120
50
  setOpenProp(openState);
121
51
  }
@@ -123,15 +53,15 @@ function SidebarProvider(_a) {
123
53
  _setOpen(openState);
124
54
  }
125
55
  // This sets the cookie to keep the sidebar state.
126
- document.cookie = "".concat(SIDEBAR_COOKIE_NAME, "=").concat(openState, "; path=/; max-age=").concat(SIDEBAR_COOKIE_MAX_AGE);
56
+ document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
127
57
  }, [setOpenProp, open]);
128
58
  // Helper to toggle the sidebar.
129
- var toggleSidebar = React.useCallback(function () {
130
- return isMobile ? setOpenMobile(function (open) { return !open; }) : setOpen(function (open) { return !open; });
59
+ const toggleSidebar = React.useCallback(() => {
60
+ return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);
131
61
  }, [isMobile, setOpen, setOpenMobile]);
132
62
  // Adds a keyboard shortcut to toggle the sidebar.
133
- React.useEffect(function () {
134
- var handleKeyDown = function (event) {
63
+ React.useEffect(() => {
64
+ const handleKeyDown = (event) => {
135
65
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT &&
136
66
  (event.metaKey || event.ctrlKey)) {
137
67
  event.preventDefault();
@@ -139,45 +69,45 @@ function SidebarProvider(_a) {
139
69
  }
140
70
  };
141
71
  window.addEventListener("keydown", handleKeyDown);
142
- return function () { return window.removeEventListener("keydown", handleKeyDown); };
72
+ return () => window.removeEventListener("keydown", handleKeyDown);
143
73
  }, [toggleSidebar]);
144
74
  // We add a state so that we can do data-state="expanded" or "collapsed".
145
75
  // This makes it easier to style the sidebar with Tailwind classes.
146
- var state = open ? "expanded" : "collapsed";
147
- var contextValue = React.useMemo(function () { return ({
148
- state: state,
149
- open: open,
150
- setOpen: setOpen,
151
- isMobile: isMobile,
152
- openMobile: openMobile,
153
- setOpenMobile: setOpenMobile,
154
- toggleSidebar: toggleSidebar,
155
- }); }, [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]);
76
+ const state = open ? "expanded" : "collapsed";
77
+ const contextValue = React.useMemo(() => ({
78
+ state,
79
+ open,
80
+ setOpen,
81
+ isMobile,
82
+ openMobile,
83
+ setOpenMobile,
84
+ toggleSidebar,
85
+ }), [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]);
156
86
  return (React.createElement(SidebarContext.Provider, { value: contextValue },
157
- React.createElement(tooltip_1.TooltipProvider, { delayDuration: 0 },
158
- React.createElement("div", __assign({ "data-slot": "sidebar-wrapper", style: __assign({ "--sidebar-width": SIDEBAR_WIDTH, "--sidebar-width-icon": SIDEBAR_WIDTH_ICON }, style), className: (0, utils_1.cn)("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full", className) }, props), children))));
87
+ React.createElement(TooltipProvider, { delayDuration: 0 },
88
+ React.createElement("div", Object.assign({ "data-slot": "sidebar-wrapper", style: Object.assign({ "--sidebar-width": SIDEBAR_WIDTH, "--sidebar-width-icon": SIDEBAR_WIDTH_ICON }, style), className: cn("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full", className) }, props), children))));
159
89
  }
160
90
  function Sidebar(_a) {
161
- var _b = _a.side, side = _b === void 0 ? "left" : _b, _c = _a.variant, variant = _c === void 0 ? "sidebar" : _c, _d = _a.collapsible, collapsible = _d === void 0 ? "offcanvas" : _d, className = _a.className, children = _a.children, props = __rest(_a, ["side", "variant", "collapsible", "className", "children"]);
162
- var _e = useSidebar(), isMobile = _e.isMobile, state = _e.state, openMobile = _e.openMobile, setOpenMobile = _e.setOpenMobile;
91
+ var { side = "left", variant = "sidebar", collapsible = "offcanvas", className, children } = _a, props = __rest(_a, ["side", "variant", "collapsible", "className", "children"]);
92
+ const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
163
93
  if (collapsible === "none") {
164
- return (React.createElement("div", __assign({ "data-slot": "sidebar", className: (0, utils_1.cn)("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col", className) }, props), children));
94
+ return (React.createElement("div", Object.assign({ "data-slot": "sidebar", className: cn("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col", className) }, props), children));
165
95
  }
166
96
  if (isMobile) {
167
- return (React.createElement(sheet_1.Sheet, __assign({ open: openMobile, onOpenChange: setOpenMobile }, props),
168
- React.createElement(sheet_1.SheetContent, { "data-sidebar": "sidebar", "data-slot": "sidebar", "data-mobile": "true", className: "bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden", style: {
97
+ return (React.createElement(Sheet, Object.assign({ open: openMobile, onOpenChange: setOpenMobile }, props),
98
+ React.createElement(SheetContent, { "data-sidebar": "sidebar", "data-slot": "sidebar", "data-mobile": "true", className: "bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden", style: {
169
99
  "--sidebar-width": SIDEBAR_WIDTH_MOBILE,
170
100
  }, side: side },
171
- React.createElement(sheet_1.SheetHeader, { className: "sr-only" },
172
- React.createElement(sheet_1.SheetTitle, null, "Sidebar"),
173
- React.createElement(sheet_1.SheetDescription, null, "Displays the mobile sidebar.")),
101
+ React.createElement(SheetHeader, { className: "sr-only" },
102
+ React.createElement(SheetTitle, null, "Sidebar"),
103
+ React.createElement(SheetDescription, null, "Displays the mobile sidebar.")),
174
104
  React.createElement("div", { className: "flex h-full w-full flex-col" }, children))));
175
105
  }
176
106
  return (React.createElement("div", { className: "group peer text-sidebar-foreground hidden md:block", "data-state": state, "data-collapsible": state === "collapsed" ? collapsible : "", "data-variant": variant, "data-side": side, "data-slot": "sidebar" },
177
- React.createElement("div", { "data-slot": "sidebar-gap", className: (0, utils_1.cn)("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear", "group-data-[collapsible=offcanvas]:w-0", "group-data-[side=right]:rotate-180", variant === "floating" || variant === "inset"
107
+ React.createElement("div", { "data-slot": "sidebar-gap", className: cn("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear", "group-data-[collapsible=offcanvas]:w-0", "group-data-[side=right]:rotate-180", variant === "floating" || variant === "inset"
178
108
  ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]"
179
109
  : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)") }),
180
- React.createElement("div", __assign({ "data-slot": "sidebar-container", className: (0, utils_1.cn)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex", side === "left"
110
+ React.createElement("div", Object.assign({ "data-slot": "sidebar-container", className: cn("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex", side === "left"
181
111
  ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]"
182
112
  : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
183
113
  // Adjust the padding for floating and inset variants.
@@ -187,73 +117,73 @@ function Sidebar(_a) {
187
117
  React.createElement("div", { "data-sidebar": "sidebar", "data-slot": "sidebar-inner", className: "bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm" }, children))));
188
118
  }
189
119
  function SidebarTrigger(_a) {
190
- var className = _a.className, onClick = _a.onClick, props = __rest(_a, ["className", "onClick"]);
191
- var toggleSidebar = useSidebar().toggleSidebar;
192
- return (React.createElement(button_1.Button, __assign({ "data-sidebar": "trigger", "data-slot": "sidebar-trigger", variant: "ghost", size: "icon", className: (0, utils_1.cn)("size-7", className), onClick: function (event) {
120
+ var { className, onClick } = _a, props = __rest(_a, ["className", "onClick"]);
121
+ const { toggleSidebar } = useSidebar();
122
+ return (React.createElement(Button, Object.assign({ "data-sidebar": "trigger", "data-slot": "sidebar-trigger", variant: "ghost", size: "icon", className: cn("size-7", className), onClick: (event) => {
193
123
  onClick === null || onClick === void 0 ? void 0 : onClick(event);
194
124
  toggleSidebar();
195
125
  } }, props),
196
- React.createElement(lucide_react_1.PanelLeftIcon, null),
126
+ React.createElement(PanelLeftIcon, null),
197
127
  React.createElement("span", { className: "sr-only" }, "Toggle Sidebar")));
198
128
  }
199
129
  function SidebarRail(_a) {
200
- var className = _a.className, props = __rest(_a, ["className"]);
201
- var toggleSidebar = useSidebar().toggleSidebar;
202
- return (React.createElement("button", __assign({ "data-sidebar": "rail", "data-slot": "sidebar-rail", "aria-label": "Toggle Sidebar", tabIndex: -1, onClick: toggleSidebar, title: "Toggle Sidebar", className: (0, utils_1.cn)("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex", "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize", "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize", "hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full", "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2", "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2", className) }, props)));
130
+ var { className } = _a, props = __rest(_a, ["className"]);
131
+ const { toggleSidebar } = useSidebar();
132
+ return (React.createElement("button", Object.assign({ "data-sidebar": "rail", "data-slot": "sidebar-rail", "aria-label": "Toggle Sidebar", tabIndex: -1, onClick: toggleSidebar, title: "Toggle Sidebar", className: cn("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex", "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize", "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize", "hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full", "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2", "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2", className) }, props)));
203
133
  }
204
134
  function SidebarInset(_a) {
205
- var className = _a.className, props = __rest(_a, ["className"]);
206
- return (React.createElement("main", __assign({ "data-slot": "sidebar-inset", className: (0, utils_1.cn)("bg-background relative flex w-full flex-1 flex-col", "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2", className) }, props)));
135
+ var { className } = _a, props = __rest(_a, ["className"]);
136
+ return (React.createElement("main", Object.assign({ "data-slot": "sidebar-inset", className: cn("bg-background relative flex w-full flex-1 flex-col", "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2", className) }, props)));
207
137
  }
208
138
  function SidebarInput(_a) {
209
- var className = _a.className, props = __rest(_a, ["className"]);
210
- return (React.createElement(input_1.Input, __assign({ "data-slot": "sidebar-input", "data-sidebar": "input", className: (0, utils_1.cn)("bg-background h-8 w-full shadow-none", className) }, props)));
139
+ var { className } = _a, props = __rest(_a, ["className"]);
140
+ return (React.createElement(Input, Object.assign({ "data-slot": "sidebar-input", "data-sidebar": "input", className: cn("bg-background h-8 w-full shadow-none", className) }, props)));
211
141
  }
212
142
  function SidebarHeader(_a) {
213
- var className = _a.className, props = __rest(_a, ["className"]);
214
- return (React.createElement("div", __assign({ "data-slot": "sidebar-header", "data-sidebar": "header", className: (0, utils_1.cn)("flex flex-col gap-2 p-2", className) }, props)));
143
+ var { className } = _a, props = __rest(_a, ["className"]);
144
+ return (React.createElement("div", Object.assign({ "data-slot": "sidebar-header", "data-sidebar": "header", className: cn("flex flex-col gap-2 p-2", className) }, props)));
215
145
  }
216
146
  function SidebarFooter(_a) {
217
- var className = _a.className, props = __rest(_a, ["className"]);
218
- return (React.createElement("div", __assign({ "data-slot": "sidebar-footer", "data-sidebar": "footer", className: (0, utils_1.cn)("flex flex-col gap-2 p-2", className) }, props)));
147
+ var { className } = _a, props = __rest(_a, ["className"]);
148
+ return (React.createElement("div", Object.assign({ "data-slot": "sidebar-footer", "data-sidebar": "footer", className: cn("flex flex-col gap-2 p-2", className) }, props)));
219
149
  }
220
150
  function SidebarSeparator(_a) {
221
- var className = _a.className, props = __rest(_a, ["className"]);
222
- return (React.createElement(separator_1.Separator, __assign({ "data-slot": "sidebar-separator", "data-sidebar": "separator", className: (0, utils_1.cn)("bg-sidebar-border mx-2 w-auto", className) }, props)));
151
+ var { className } = _a, props = __rest(_a, ["className"]);
152
+ return (React.createElement(Separator, Object.assign({ "data-slot": "sidebar-separator", "data-sidebar": "separator", className: cn("bg-sidebar-border mx-2 w-auto", className) }, props)));
223
153
  }
224
154
  function SidebarContent(_a) {
225
- var className = _a.className, props = __rest(_a, ["className"]);
226
- return (React.createElement("div", __assign({ "data-slot": "sidebar-content", "data-sidebar": "content", className: (0, utils_1.cn)("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", className) }, props)));
155
+ var { className } = _a, props = __rest(_a, ["className"]);
156
+ return (React.createElement("div", Object.assign({ "data-slot": "sidebar-content", "data-sidebar": "content", className: cn("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", className) }, props)));
227
157
  }
228
158
  function SidebarGroup(_a) {
229
- var className = _a.className, props = __rest(_a, ["className"]);
230
- return (React.createElement("div", __assign({ "data-slot": "sidebar-group", "data-sidebar": "group", className: (0, utils_1.cn)("relative flex w-full min-w-0 flex-col p-2", className) }, props)));
159
+ var { className } = _a, props = __rest(_a, ["className"]);
160
+ return (React.createElement("div", Object.assign({ "data-slot": "sidebar-group", "data-sidebar": "group", className: cn("relative flex w-full min-w-0 flex-col p-2", className) }, props)));
231
161
  }
232
162
  function SidebarGroupLabel(_a) {
233
- var className = _a.className, _b = _a.asChild, asChild = _b === void 0 ? false : _b, props = __rest(_a, ["className", "asChild"]);
234
- var Comp = asChild ? react_slot_1.Slot : "div";
235
- return (React.createElement(Comp, __assign({ "data-slot": "sidebar-group-label", "data-sidebar": "group-label", className: (0, utils_1.cn)("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0", className) }, props)));
163
+ var { className, asChild = false } = _a, props = __rest(_a, ["className", "asChild"]);
164
+ const Comp = asChild ? Slot : "div";
165
+ return (React.createElement(Comp, Object.assign({ "data-slot": "sidebar-group-label", "data-sidebar": "group-label", className: cn("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0", className) }, props)));
236
166
  }
237
167
  function SidebarGroupAction(_a) {
238
- var className = _a.className, _b = _a.asChild, asChild = _b === void 0 ? false : _b, props = __rest(_a, ["className", "asChild"]);
239
- var Comp = asChild ? react_slot_1.Slot : "button";
240
- return (React.createElement(Comp, __assign({ "data-slot": "sidebar-group-action", "data-sidebar": "group-action", className: (0, utils_1.cn)("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
168
+ var { className, asChild = false } = _a, props = __rest(_a, ["className", "asChild"]);
169
+ const Comp = asChild ? Slot : "button";
170
+ return (React.createElement(Comp, Object.assign({ "data-slot": "sidebar-group-action", "data-sidebar": "group-action", className: cn("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
241
171
  // Increases the hit area of the button on mobile.
242
172
  "after:absolute after:-inset-2 md:after:hidden", "group-data-[collapsible=icon]:hidden", className) }, props)));
243
173
  }
244
174
  function SidebarGroupContent(_a) {
245
- var className = _a.className, props = __rest(_a, ["className"]);
246
- return (React.createElement("div", __assign({ "data-slot": "sidebar-group-content", "data-sidebar": "group-content", className: (0, utils_1.cn)("w-full text-sm", className) }, props)));
175
+ var { className } = _a, props = __rest(_a, ["className"]);
176
+ return (React.createElement("div", Object.assign({ "data-slot": "sidebar-group-content", "data-sidebar": "group-content", className: cn("w-full text-sm", className) }, props)));
247
177
  }
248
178
  function SidebarMenu(_a) {
249
- var className = _a.className, props = __rest(_a, ["className"]);
250
- return (React.createElement("ul", __assign({ "data-slot": "sidebar-menu", "data-sidebar": "menu", className: (0, utils_1.cn)("flex w-full min-w-0 flex-col gap-1", className) }, props)));
179
+ var { className } = _a, props = __rest(_a, ["className"]);
180
+ return (React.createElement("ul", Object.assign({ "data-slot": "sidebar-menu", "data-sidebar": "menu", className: cn("flex w-full min-w-0 flex-col gap-1", className) }, props)));
251
181
  }
252
182
  function SidebarMenuItem(_a) {
253
- var className = _a.className, props = __rest(_a, ["className"]);
254
- return (React.createElement("li", __assign({ "data-slot": "sidebar-menu-item", "data-sidebar": "menu-item", className: (0, utils_1.cn)("group/menu-item relative", className) }, props)));
183
+ var { className } = _a, props = __rest(_a, ["className"]);
184
+ return (React.createElement("li", Object.assign({ "data-slot": "sidebar-menu-item", "data-sidebar": "menu-item", className: cn("group/menu-item relative", className) }, props)));
255
185
  }
256
- var sidebarMenuButtonVariants = (0, class_variance_authority_1.cva)("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", {
186
+ const sidebarMenuButtonVariants = cva("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", {
257
187
  variants: {
258
188
  variant: {
259
189
  default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
@@ -271,10 +201,10 @@ var sidebarMenuButtonVariants = (0, class_variance_authority_1.cva)("peer/menu-b
271
201
  },
272
202
  });
273
203
  function SidebarMenuButton(_a) {
274
- var _b = _a.asChild, asChild = _b === void 0 ? false : _b, _c = _a.isActive, isActive = _c === void 0 ? false : _c, _d = _a.variant, variant = _d === void 0 ? "default" : _d, _e = _a.size, size = _e === void 0 ? "default" : _e, tooltip = _a.tooltip, className = _a.className, props = __rest(_a, ["asChild", "isActive", "variant", "size", "tooltip", "className"]);
275
- var Comp = asChild ? react_slot_1.Slot : "button";
276
- var _f = useSidebar(), isMobile = _f.isMobile, state = _f.state;
277
- var button = (React.createElement(Comp, __assign({ "data-slot": "sidebar-menu-button", "data-sidebar": "menu-button", "data-size": size, "data-active": isActive, className: (0, utils_1.cn)(sidebarMenuButtonVariants({ variant: variant, size: size }), className) }, props)));
204
+ var { asChild = false, isActive = false, variant = "default", size = "default", tooltip, className } = _a, props = __rest(_a, ["asChild", "isActive", "variant", "size", "tooltip", "className"]);
205
+ const Comp = asChild ? Slot : "button";
206
+ const { isMobile, state } = useSidebar();
207
+ const button = (React.createElement(Comp, Object.assign({ "data-slot": "sidebar-menu-button", "data-sidebar": "menu-button", "data-size": size, "data-active": isActive, className: cn(sidebarMenuButtonVariants({ variant, size }), className) }, props)));
278
208
  if (!tooltip) {
279
209
  return button;
280
210
  }
@@ -283,44 +213,45 @@ function SidebarMenuButton(_a) {
283
213
  children: tooltip,
284
214
  };
285
215
  }
286
- return (React.createElement(tooltip_1.Tooltip, null,
287
- React.createElement(tooltip_1.TooltipTrigger, { asChild: true }, button),
288
- React.createElement(tooltip_1.TooltipContent, __assign({ side: "right", align: "center", hidden: state !== "collapsed" || isMobile }, tooltip))));
216
+ return (React.createElement(Tooltip, null,
217
+ React.createElement(TooltipTrigger, { asChild: true }, button),
218
+ React.createElement(TooltipContent, Object.assign({ side: "right", align: "center", hidden: state !== "collapsed" || isMobile }, tooltip))));
289
219
  }
290
220
  function SidebarMenuAction(_a) {
291
- var className = _a.className, _b = _a.asChild, asChild = _b === void 0 ? false : _b, _c = _a.showOnHover, showOnHover = _c === void 0 ? false : _c, props = __rest(_a, ["className", "asChild", "showOnHover"]);
292
- var Comp = asChild ? react_slot_1.Slot : "button";
293
- return (React.createElement(Comp, __assign({ "data-slot": "sidebar-menu-action", "data-sidebar": "menu-action", className: (0, utils_1.cn)("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
221
+ var { className, asChild = false, showOnHover = false } = _a, props = __rest(_a, ["className", "asChild", "showOnHover"]);
222
+ const Comp = asChild ? Slot : "button";
223
+ return (React.createElement(Comp, Object.assign({ "data-slot": "sidebar-menu-action", "data-sidebar": "menu-action", className: cn("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
294
224
  // Increases the hit area of the button on mobile.
295
225
  "after:absolute after:-inset-2 md:after:hidden", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", showOnHover &&
296
226
  "peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0", className) }, props)));
297
227
  }
298
228
  function SidebarMenuBadge(_a) {
299
- var className = _a.className, props = __rest(_a, ["className"]);
300
- return (React.createElement("div", __assign({ "data-slot": "sidebar-menu-badge", "data-sidebar": "menu-badge", className: (0, utils_1.cn)("text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none", "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", className) }, props)));
229
+ var { className } = _a, props = __rest(_a, ["className"]);
230
+ return (React.createElement("div", Object.assign({ "data-slot": "sidebar-menu-badge", "data-sidebar": "menu-badge", className: cn("text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none", "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", className) }, props)));
301
231
  }
302
232
  function SidebarMenuSkeleton(_a) {
303
- var className = _a.className, _b = _a.showIcon, showIcon = _b === void 0 ? false : _b, props = __rest(_a, ["className", "showIcon"]);
233
+ var { className, showIcon = false } = _a, props = __rest(_a, ["className", "showIcon"]);
304
234
  // Random width between 50 to 90%.
305
- var width = React.useMemo(function () {
306
- return "".concat(Math.floor(Math.random() * 40) + 50, "%");
235
+ const width = React.useMemo(() => {
236
+ return `${Math.floor(Math.random() * 40) + 50}%`;
307
237
  }, []);
308
- return (React.createElement("div", __assign({ "data-slot": "sidebar-menu-skeleton", "data-sidebar": "menu-skeleton", className: (0, utils_1.cn)("flex h-8 items-center gap-2 rounded-md px-2", className) }, props),
309
- showIcon && (React.createElement(skeleton_1.Skeleton, { className: "size-4 rounded-md", "data-sidebar": "menu-skeleton-icon" })),
310
- React.createElement(skeleton_1.Skeleton, { className: "h-4 max-w-(--skeleton-width) flex-1", "data-sidebar": "menu-skeleton-text", style: {
238
+ return (React.createElement("div", Object.assign({ "data-slot": "sidebar-menu-skeleton", "data-sidebar": "menu-skeleton", className: cn("flex h-8 items-center gap-2 rounded-md px-2", className) }, props),
239
+ showIcon && (React.createElement(Skeleton, { className: "size-4 rounded-md", "data-sidebar": "menu-skeleton-icon" })),
240
+ React.createElement(Skeleton, { className: "h-4 max-w-(--skeleton-width) flex-1", "data-sidebar": "menu-skeleton-text", style: {
311
241
  "--skeleton-width": width,
312
242
  } })));
313
243
  }
314
244
  function SidebarMenuSub(_a) {
315
- var className = _a.className, props = __rest(_a, ["className"]);
316
- return (React.createElement("ul", __assign({ "data-slot": "sidebar-menu-sub", "data-sidebar": "menu-sub", className: (0, utils_1.cn)("border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5", "group-data-[collapsible=icon]:hidden", className) }, props)));
245
+ var { className } = _a, props = __rest(_a, ["className"]);
246
+ return (React.createElement("ul", Object.assign({ "data-slot": "sidebar-menu-sub", "data-sidebar": "menu-sub", className: cn("border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5", "group-data-[collapsible=icon]:hidden", className) }, props)));
317
247
  }
318
248
  function SidebarMenuSubItem(_a) {
319
- var className = _a.className, props = __rest(_a, ["className"]);
320
- return (React.createElement("li", __assign({ "data-slot": "sidebar-menu-sub-item", "data-sidebar": "menu-sub-item", className: (0, utils_1.cn)("group/menu-sub-item relative", className) }, props)));
249
+ var { className } = _a, props = __rest(_a, ["className"]);
250
+ return (React.createElement("li", Object.assign({ "data-slot": "sidebar-menu-sub-item", "data-sidebar": "menu-sub-item", className: cn("group/menu-sub-item relative", className) }, props)));
321
251
  }
322
252
  function SidebarMenuSubButton(_a) {
323
- var _b = _a.asChild, asChild = _b === void 0 ? false : _b, _c = _a.size, size = _c === void 0 ? "md" : _c, _d = _a.isActive, isActive = _d === void 0 ? false : _d, className = _a.className, props = __rest(_a, ["asChild", "size", "isActive", "className"]);
324
- var Comp = asChild ? react_slot_1.Slot : "a";
325
- return (React.createElement(Comp, __assign({ "data-slot": "sidebar-menu-sub-button", "data-sidebar": "menu-sub-button", "data-size": size, "data-active": isActive, className: (0, utils_1.cn)("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground", size === "sm" && "text-xs", size === "md" && "text-sm", "group-data-[collapsible=icon]:hidden", className) }, props)));
253
+ var { asChild = false, size = "md", isActive = false, className } = _a, props = __rest(_a, ["asChild", "size", "isActive", "className"]);
254
+ const Comp = asChild ? Slot : "a";
255
+ return (React.createElement(Comp, Object.assign({ "data-slot": "sidebar-menu-sub-button", "data-sidebar": "menu-sub-button", "data-size": size, "data-active": isActive, className: cn("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground", size === "sm" && "text-xs", size === "md" && "text-sm", "group-data-[collapsible=icon]:hidden", className) }, props)));
326
256
  }
257
+ export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar, };
@@ -1,53 +1,42 @@
1
1
  "use client";
2
- "use strict";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.TeamSwitcher = void 0;
8
- var react_1 = __importDefault(require("react"));
9
- var lucide_react_1 = require("lucide-react");
10
- var dropdown_menu_1 = require("./ui/dropdown-menu");
11
- var sidebar_1 = require("./sidebar");
12
- var avatar_1 = require("./ui/avatar");
13
- var TeamSwitcher = function (_a) {
14
- var profiles = _a.profiles;
15
- var isMobile = (0, sidebar_1.useSidebar)().isMobile;
16
- var _b = react_1.default.useState(profiles[0]), activeMember = _b[0], setActiveMember = _b[1];
2
+ import React from "react";
3
+ import { ChevronsUpDown, Plus } from "lucide-react";
4
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "./ui/dropdown-menu";
5
+ import { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar, } from "./sidebar";
6
+ import { Avatar, AvatarFallback, AvatarImage } from "./ui/avatar";
7
+ export const TeamSwitcher = ({ profiles }) => {
8
+ const { isMobile } = useSidebar();
9
+ const [activeMember, setActiveMember] = React.useState(profiles[0]);
17
10
  if (!activeMember) {
18
11
  return null;
19
12
  }
20
- return (react_1.default.createElement(sidebar_1.SidebarMenu, null,
21
- react_1.default.createElement(sidebar_1.SidebarMenuItem, null,
22
- react_1.default.createElement(dropdown_menu_1.DropdownMenu, null,
23
- react_1.default.createElement(dropdown_menu_1.DropdownMenuTrigger, { asChild: true },
24
- react_1.default.createElement(sidebar_1.SidebarMenuButton, { size: "lg", className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground" },
25
- react_1.default.createElement("div", { className: "bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg" },
26
- react_1.default.createElement(avatar_1.Avatar, { className: "size-6" },
27
- react_1.default.createElement(avatar_1.AvatarImage, { src: activeMember.avatar, alt: activeMember.name }),
28
- react_1.default.createElement(avatar_1.AvatarFallback, { className: "text-primary" }, activeMember.name.charAt(0)))),
29
- react_1.default.createElement("div", { className: "grid flex-1 text-left text-sm leading-tight" },
30
- react_1.default.createElement("span", { className: "truncate font-medium" }, activeMember.name),
31
- react_1.default.createElement("span", { className: "truncate text-xs" }, activeMember.age)),
32
- react_1.default.createElement(lucide_react_1.ChevronsUpDown, { className: "ml-auto" }))),
33
- react_1.default.createElement(dropdown_menu_1.DropdownMenuContent, { className: "w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg", align: "start", side: isMobile ? "bottom" : "right", sideOffset: 4 },
34
- react_1.default.createElement(dropdown_menu_1.DropdownMenuLabel, { className: "text-muted-foreground text-xs" }, "Profiles"),
13
+ return (React.createElement(SidebarMenu, null,
14
+ React.createElement(SidebarMenuItem, null,
15
+ React.createElement(DropdownMenu, null,
16
+ React.createElement(DropdownMenuTrigger, { asChild: true },
17
+ React.createElement(SidebarMenuButton, { size: "lg", className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground" },
18
+ React.createElement("div", { className: "bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg" },
19
+ React.createElement(Avatar, { className: "size-6" },
20
+ React.createElement(AvatarImage, { src: activeMember.avatar, alt: activeMember.name }),
21
+ React.createElement(AvatarFallback, { className: "text-primary" }, activeMember.name.charAt(0)))),
22
+ React.createElement("div", { className: "grid flex-1 text-left text-sm leading-tight" },
23
+ React.createElement("span", { className: "truncate font-medium" }, activeMember.name),
24
+ React.createElement("span", { className: "truncate text-xs" }, activeMember.age)),
25
+ React.createElement(ChevronsUpDown, { className: "ml-auto" }))),
26
+ React.createElement(DropdownMenuContent, { className: "w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg", align: "start", side: isMobile ? "bottom" : "right", sideOffset: 4 },
27
+ React.createElement(DropdownMenuLabel, { className: "text-muted-foreground text-xs" }, "Profiles"),
35
28
  profiles
36
- .filter(function (_a) {
37
- var enabled = _a.enabled;
38
- return enabled;
39
- })
40
- .sort(function (a, b) { return a.order - b.order; })
41
- .map(function (profile) { return (react_1.default.createElement(dropdown_menu_1.DropdownMenuItem, { key: profile.name, onClick: function () { return setActiveMember(profile); }, className: "gap-2 p-2" },
42
- react_1.default.createElement("div", { className: "flex size-6 items-center justify-center rounded-md border" },
43
- react_1.default.createElement(avatar_1.Avatar, { className: "size-6" },
44
- react_1.default.createElement(avatar_1.AvatarImage, { src: profile.avatar, alt: profile.name }),
45
- react_1.default.createElement(avatar_1.AvatarFallback, { className: "!focus:text-red-400" }, profile.name.charAt(0)))),
46
- profile.name)); }),
47
- react_1.default.createElement(dropdown_menu_1.DropdownMenuSeparator, null),
48
- react_1.default.createElement(dropdown_menu_1.DropdownMenuItem, { className: "gap-2 p-2" },
49
- react_1.default.createElement("div", { className: "flex size-6 items-center justify-center rounded-md border bg-transparent" },
50
- react_1.default.createElement(lucide_react_1.Plus, { className: "size-4" })),
51
- react_1.default.createElement("div", { className: "text-muted-foreground font-medium" }, "Add Profile")))))));
29
+ .filter(({ enabled }) => enabled)
30
+ .sort((a, b) => a.order - b.order)
31
+ .map((profile) => (React.createElement(DropdownMenuItem, { key: profile.name, onClick: () => setActiveMember(profile), className: "gap-2 p-2" },
32
+ React.createElement("div", { className: "flex size-6 items-center justify-center rounded-md border" },
33
+ React.createElement(Avatar, { className: "size-6" },
34
+ React.createElement(AvatarImage, { src: profile.avatar, alt: profile.name }),
35
+ React.createElement(AvatarFallback, { className: "!focus:text-red-400" }, profile.name.charAt(0)))),
36
+ profile.name))),
37
+ React.createElement(DropdownMenuSeparator, null),
38
+ React.createElement(DropdownMenuItem, { className: "gap-2 p-2" },
39
+ React.createElement("div", { className: "flex size-6 items-center justify-center rounded-md border bg-transparent" },
40
+ React.createElement(Plus, { className: "size-4" })),
41
+ React.createElement("div", { className: "text-muted-foreground font-medium" }, "Add Profile")))))));
52
42
  };
53
- exports.TeamSwitcher = TeamSwitcher;