beez-ui 0.4.2 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +35 -27
  2. package/README.md +28 -5
  3. package/dist/adapters/unpic-image.js +92 -14
  4. package/dist/components/alert-dialog.js +444 -26
  5. package/dist/components/alert.js +153 -18
  6. package/dist/components/animated-theme-toggler.js +215 -76
  7. package/dist/components/avatar.js +247 -15
  8. package/dist/components/badge.js +18 -16
  9. package/dist/components/button.js +85 -28
  10. package/dist/components/calendar.js +327 -68
  11. package/dist/components/card.js +39 -9
  12. package/dist/components/carousel.js +454 -84
  13. package/dist/components/checkbox.js +50 -3
  14. package/dist/components/data-table.js +827 -583
  15. package/dist/components/dialog.js +363 -22
  16. package/dist/components/dropdown-menu.d.ts +1 -0
  17. package/dist/components/dropdown-menu.js +544 -32
  18. package/dist/components/filter-query-bar.js +809 -468
  19. package/dist/components/filter-query-grammar.js +781 -736
  20. package/dist/components/form.js +305 -43
  21. package/dist/components/highlighter.js +142 -87
  22. package/dist/components/hover-card.js +97 -7
  23. package/dist/components/input-group.js +261 -41
  24. package/dist/components/input.js +8 -2
  25. package/dist/components/label.js +38 -3
  26. package/dist/components/link.js +45 -7
  27. package/dist/components/pagination.js +332 -16
  28. package/dist/components/popover.js +222 -16
  29. package/dist/components/radio-group.js +85 -5
  30. package/dist/components/select.js +451 -22
  31. package/dist/components/separator.js +43 -3
  32. package/dist/components/sheet.js +345 -22
  33. package/dist/components/sidebar.js +1385 -193
  34. package/dist/components/skeleton.js +6 -2
  35. package/dist/components/svgs/whatsappIcon.js +11 -1
  36. package/dist/components/switch.js +55 -3
  37. package/dist/components/table.js +288 -18
  38. package/dist/components/tabs.js +161 -18
  39. package/dist/components/textarea.js +7 -2
  40. package/dist/components/themed-toaster.js +63 -20
  41. package/dist/components/tooltip.js +128 -9
  42. package/dist/components/typing-animation.js +335 -150
  43. package/dist/constants/sidebar.js +1 -4
  44. package/dist/hooks/use-mobile.js +8 -8
  45. package/dist/hooks/use-sidebar-persistence.js +27 -27
  46. package/dist/lib/image-dimensions.js +2 -2
  47. package/dist/lib/year-month-filter.js +38 -40
  48. package/dist/next.js +69 -17
  49. package/dist/providers/beez-ui-provider.js +48 -7
  50. package/dist/providers/native-provider.js +40 -6
  51. package/dist/styles.css +1 -1
  52. package/dist/tanstack.js +35 -23
  53. package/package.json +4 -1
@@ -1,221 +1,1413 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { c as _c } from "react/compiler-runtime";
3
3
  import * as React from "react";
4
4
  import { cva } from "class-variance-authority";
5
5
  import { Slot } from "radix-ui";
6
6
  import { useIsMobile } from "../hooks/use-mobile.js";
7
7
  import { useSidebarPersistence, saveSidebarPreference } from "../hooks/use-sidebar-persistence.js";
8
8
  import { cn } from "../lib/utils.js";
9
- import { SIDEBAR_COOKIE_MAX_AGE, SIDEBAR_COOKIE_NAME, } from "../constants/sidebar.js";
9
+ import { SIDEBAR_COOKIE_MAX_AGE, SIDEBAR_COOKIE_NAME } from "../constants/sidebar.js";
10
10
  import { Button } from "./button.js";
11
11
  import { Input } from "./input.js";
12
12
  import { Separator } from "./separator.js";
13
- import { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle, } from "./sheet.js";
13
+ import { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from "./sheet.js";
14
14
  import { Skeleton } from "./skeleton.js";
15
- import { Tooltip, TooltipContent, TooltipTrigger, } from "./tooltip.js";
15
+ import { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip.js";
16
16
  import { PanelLeftIcon } from "lucide-react";
17
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
18
  const SIDEBAR_WIDTH = "16rem";
18
19
  const SIDEBAR_WIDTH_MOBILE = "18rem";
19
20
  const SIDEBAR_WIDTH_ICON = "3rem";
20
21
  const SIDEBAR_KEYBOARD_SHORTCUT = "b";
21
22
  const SIDEBAR_MENU_SKELETON_TEXT_WIDTH = "70%";
22
23
  function subscribeToClientMount() {
23
- return () => { };
24
+ return () => {};
24
25
  }
25
26
  function getClientMountSnapshot() {
26
- return true;
27
+ return true;
27
28
  }
28
29
  function getServerMountSnapshot() {
29
- return false;
30
+ return false;
30
31
  }
31
32
  const SidebarContext = React.createContext(null);
32
33
  function useSidebar() {
33
- const context = React.use(SidebarContext);
34
- if (!context) {
35
- throw new Error("useSidebar must be used within a SidebarProvider.");
36
- }
37
- return context;
38
- }
39
- function SidebarProvider({ defaultOpen = true, storageKey, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }) {
40
- const isMobile = useIsMobile();
41
- const [openMobile, setOpenMobile] = React.useState(false);
42
- // This is the internal state of the sidebar.
43
- // We use openProp and setOpenProp for control from outside the component.
44
- const [_open, _setOpen] = React.useState(null);
45
- const persistedOpen = useSidebarPersistence(storageKey);
46
- const open = openProp ?? _open ?? persistedOpen ?? defaultOpen;
47
- const setOpen = React.useCallback((value) => {
48
- const openState = typeof value === "function" ? value(open) : value;
49
- if (setOpenProp) {
50
- setOpenProp(openState);
51
- }
52
- else {
53
- _setOpen(openState);
54
- }
55
- // This sets the cookie to keep the sidebar state.
56
- saveSidebarPreference(storageKey, openState);
57
- try {
58
- document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}; SameSite=Lax`;
59
- }
60
- catch {
61
- // Navigation remains usable when browser policy blocks preference cookies.
62
- }
63
- }, [setOpenProp, open, storageKey]);
64
- // Helper to toggle the sidebar.
65
- const toggleSidebar = React.useCallback(() => {
66
- return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);
67
- }, [isMobile, setOpen, setOpenMobile]);
68
- // Adds a keyboard shortcut to toggle the sidebar.
69
- React.useEffect(() => {
70
- const handleKeyDown = (event) => {
71
- if (event.key === SIDEBAR_KEYBOARD_SHORTCUT &&
72
- (event.metaKey || event.ctrlKey)) {
73
- event.preventDefault();
74
- toggleSidebar();
75
- }
76
- };
77
- window.addEventListener("keydown", handleKeyDown);
78
- return () => window.removeEventListener("keydown", handleKeyDown);
79
- }, [toggleSidebar]);
80
- // We add a state so that we can do data-state="expanded" or "collapsed".
81
- // This makes it easier to style the sidebar with Tailwind classes.
82
- const state = open ? "expanded" : "collapsed";
83
- const contextValue = React.useMemo(() => ({
84
- state,
85
- open,
86
- setOpen,
87
- isMobile,
88
- openMobile,
89
- setOpenMobile,
90
- toggleSidebar,
91
- }), [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]);
92
- return (_jsx(SidebarContext.Provider, { value: contextValue, children: _jsx("div", { "data-slot": "sidebar-wrapper", style: {
93
- "--sidebar-width": SIDEBAR_WIDTH,
94
- "--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
95
- ...style,
96
- }, className: cn("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar", className), ...props, children: children }) }));
97
- }
98
- function Sidebar({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children, dir, ...props }) {
99
- const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
100
- if (collapsible === "none") {
101
- return (_jsx("div", { "data-slot": "sidebar", className: cn("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground", className), ...props, children: children }));
102
- }
103
- if (isMobile) {
104
- return (_jsx(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: _jsxs(SheetContent, { dir: dir, "data-sidebar": "sidebar", "data-slot": "sidebar", "data-mobile": "true", className: "w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden", style: {
105
- "--sidebar-width": SIDEBAR_WIDTH_MOBILE,
106
- }, side: side, children: [_jsxs(SheetHeader, { className: "sr-only", children: [_jsx(SheetTitle, { children: "Sidebar" }), _jsx(SheetDescription, { children: "Displays the mobile sidebar." })] }), _jsx("div", { className: "flex h-full w-full flex-col", children: children })] }) }));
107
- }
108
- return (_jsxs("div", { className: "group peer hidden text-sidebar-foreground md:block", "data-state": state, "data-collapsible": state === "collapsed" ? collapsible : "", "data-variant": variant, "data-side": side, "data-slot": "sidebar", children: [_jsx("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"
109
- ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]"
110
- : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)") }), _jsx("div", { "data-slot": "sidebar-container", "data-side": side, className: cn("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=left]:left-0 data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] data-[side=right]:right-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] md:flex",
111
- // Adjust the padding for floating and inset variants.
112
- variant === "floating" || variant === "inset"
113
- ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]"
114
- : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l", className), ...props, children: _jsx("div", { "data-sidebar": "sidebar", "data-slot": "sidebar-inner", className: "flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border", children: children }) })] }));
115
- }
116
- function SidebarTrigger({ className, onClick, ...props }) {
117
- const { toggleSidebar } = useSidebar();
118
- return (_jsxs(Button, { "data-sidebar": "trigger", "data-slot": "sidebar-trigger", variant: "ghost", size: "icon-sm", className: cn(className), onClick: (event) => {
119
- onClick?.(event);
120
- toggleSidebar();
121
- }, ...props, children: [_jsx(PanelLeftIcon, {}), _jsx("span", { className: "sr-only", children: "Toggle Sidebar" })] }));
122
- }
123
- function SidebarRail({ className, ...props }) {
124
- const { toggleSidebar } = useSidebar();
125
- return (_jsx("button", { "data-sidebar": "rail", "data-slot": "sidebar-rail", "aria-label": "Toggle Sidebar", tabIndex: -1, onClick: toggleSidebar, title: "Toggle Sidebar", className: cn("absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:start-1/2 after:w-[2px] hover:after:bg-sidebar-border sm:flex ltr:-translate-x-1/2 rtl:-translate-x-1/2", "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", "group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-sidebar", "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2", "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2", className), ...props }));
126
- }
127
- function SidebarInset({ className, ...props }) {
128
- return (_jsx("main", { "data-slot": "sidebar-inset", className: cn("relative flex w-full flex-1 flex-col bg-background 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 }));
129
- }
130
- function SidebarInput({ className, ...props }) {
131
- return (_jsx(Input, { "data-slot": "sidebar-input", "data-sidebar": "input", className: cn("h-8 w-full bg-background shadow-none", className), ...props }));
132
- }
133
- function SidebarHeader({ className, ...props }) {
134
- return (_jsx("div", { "data-slot": "sidebar-header", "data-sidebar": "header", className: cn("flex flex-col gap-2 p-2", className), ...props }));
135
- }
136
- function SidebarFooter({ className, ...props }) {
137
- return (_jsx("div", { "data-slot": "sidebar-footer", "data-sidebar": "footer", className: cn("flex flex-col gap-2 p-2", className), ...props }));
138
- }
139
- function SidebarSeparator({ className, ...props }) {
140
- return (_jsx(Separator, { "data-slot": "sidebar-separator", "data-sidebar": "separator", className: cn("mx-2 w-auto bg-sidebar-border", className), ...props }));
141
- }
142
- function SidebarContent({ className, ...props }) {
143
- return (_jsx("div", { "data-slot": "sidebar-content", "data-sidebar": "content", className: cn("no-scrollbar flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", className), ...props }));
144
- }
145
- function SidebarGroup({ className, ...props }) {
146
- return (_jsx("div", { "data-slot": "sidebar-group", "data-sidebar": "group", className: cn("relative flex w-full min-w-0 flex-col p-2", className), ...props }));
147
- }
148
- function SidebarGroupLabel({ className, asChild = false, ...props }) {
149
- const Comp = asChild ? Slot.Root : "div";
150
- return (_jsx(Comp, { "data-slot": "sidebar-group-label", "data-sidebar": "group-label", className: cn("flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", className), ...props }));
151
- }
152
- function SidebarGroupAction({ className, asChild = false, ...props }) {
153
- const Comp = asChild ? Slot.Root : "button";
154
- return (_jsx(Comp, { "data-slot": "sidebar-group-action", "data-sidebar": "group-action", className: cn("absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0", className), ...props }));
155
- }
156
- function SidebarGroupContent({ className, ...props }) {
157
- return (_jsx("div", { "data-slot": "sidebar-group-content", "data-sidebar": "group-content", className: cn("w-full text-sm", className), ...props }));
158
- }
159
- function SidebarMenu({ className, ...props }) {
160
- return (_jsx("ul", { "data-slot": "sidebar-menu", "data-sidebar": "menu", className: cn("flex w-full min-w-0 flex-col gap-1", className), ...props }));
161
- }
162
- function SidebarMenuItem({ className, ...props }) {
163
- return (_jsx("li", { "data-slot": "sidebar-menu-item", "data-sidebar": "menu-item", className: cn("group/menu-item relative", className), ...props }));
34
+ const context = React.use(SidebarContext);
35
+ if (!context) {
36
+ throw new Error("useSidebar must be used within a SidebarProvider.");
37
+ }
38
+ return context;
39
+ }
40
+ function SidebarProvider(t0) {
41
+ const $ = _c(38);
42
+ let children;
43
+ let className;
44
+ let openProp;
45
+ let props;
46
+ let setOpenProp;
47
+ let storageKey;
48
+ let style;
49
+ let t1;
50
+ if ($[0] !== t0) {
51
+ ({defaultOpen: t1, storageKey, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props} = t0);
52
+ $[0] = t0;
53
+ $[1] = children;
54
+ $[2] = className;
55
+ $[3] = openProp;
56
+ $[4] = props;
57
+ $[5] = setOpenProp;
58
+ $[6] = storageKey;
59
+ $[7] = style;
60
+ $[8] = t1;
61
+ } else {
62
+ children = $[1];
63
+ className = $[2];
64
+ openProp = $[3];
65
+ props = $[4];
66
+ setOpenProp = $[5];
67
+ storageKey = $[6];
68
+ style = $[7];
69
+ t1 = $[8];
70
+ }
71
+ const defaultOpen = t1 === undefined ? true : t1;
72
+ const isMobile = useIsMobile();
73
+ const [openMobile, setOpenMobile] = React.useState(false);
74
+ const [_open, _setOpen] = React.useState(null);
75
+ const persistedOpen = useSidebarPersistence(storageKey);
76
+ const open = openProp ?? _open ?? persistedOpen ?? defaultOpen;
77
+ let t2;
78
+ if ($[9] !== open || $[10] !== setOpenProp || $[11] !== storageKey) {
79
+ t2 = (value) => {
80
+ const openState = typeof value === "function" ? value(open) : value;
81
+ if (setOpenProp) {
82
+ setOpenProp(openState);
83
+ } else {
84
+ _setOpen(openState);
85
+ }
86
+ saveSidebarPreference(storageKey, openState);
87
+ try {
88
+ document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}; SameSite=Lax`;
89
+ } catch {}
90
+ };
91
+ $[9] = open;
92
+ $[10] = setOpenProp;
93
+ $[11] = storageKey;
94
+ $[12] = t2;
95
+ } else {
96
+ t2 = $[12];
97
+ }
98
+ const setOpen = t2;
99
+ let t3;
100
+ if ($[13] !== isMobile || $[14] !== setOpen) {
101
+ t3 = () => isMobile ? setOpenMobile(_temp) : setOpen(_temp2);
102
+ $[13] = isMobile;
103
+ $[14] = setOpen;
104
+ $[15] = t3;
105
+ } else {
106
+ t3 = $[15];
107
+ }
108
+ const toggleSidebar = t3;
109
+ let t4;
110
+ let t5;
111
+ if ($[16] !== toggleSidebar) {
112
+ t4 = () => {
113
+ const handleKeyDown = (event) => {
114
+ if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
115
+ event.preventDefault();
116
+ toggleSidebar();
117
+ }
118
+ };
119
+ window.addEventListener("keydown", handleKeyDown);
120
+ return () => window.removeEventListener("keydown", handleKeyDown);
121
+ };
122
+ t5 = [toggleSidebar];
123
+ $[16] = toggleSidebar;
124
+ $[17] = t4;
125
+ $[18] = t5;
126
+ } else {
127
+ t4 = $[17];
128
+ t5 = $[18];
129
+ }
130
+ React.useEffect(t4, t5);
131
+ const state = open ? "expanded" : "collapsed";
132
+ let t6;
133
+ if ($[19] !== isMobile || $[20] !== open || $[21] !== openMobile || $[22] !== setOpen || $[23] !== state || $[24] !== toggleSidebar) {
134
+ t6 = {
135
+ state,
136
+ open,
137
+ setOpen,
138
+ isMobile,
139
+ openMobile,
140
+ setOpenMobile,
141
+ toggleSidebar
142
+ };
143
+ $[19] = isMobile;
144
+ $[20] = open;
145
+ $[21] = openMobile;
146
+ $[22] = setOpen;
147
+ $[23] = state;
148
+ $[24] = toggleSidebar;
149
+ $[25] = t6;
150
+ } else {
151
+ t6 = $[25];
152
+ }
153
+ const contextValue = t6;
154
+ let t7;
155
+ if ($[26] !== style) {
156
+ t7 = {
157
+ "--sidebar-width": SIDEBAR_WIDTH,
158
+ "--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
159
+ ...style
160
+ };
161
+ $[26] = style;
162
+ $[27] = t7;
163
+ } else {
164
+ t7 = $[27];
165
+ }
166
+ const t8 = t7;
167
+ let t9;
168
+ if ($[28] !== className) {
169
+ t9 = cn("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar", className);
170
+ $[28] = className;
171
+ $[29] = t9;
172
+ } else {
173
+ t9 = $[29];
174
+ }
175
+ let t10;
176
+ if ($[30] !== children || $[31] !== props || $[32] !== t8 || $[33] !== t9) {
177
+ t10 = /* @__PURE__ */ _jsx("div", {
178
+ "data-slot": "sidebar-wrapper",
179
+ style: t8,
180
+ className: t9,
181
+ ...props,
182
+ children
183
+ });
184
+ $[30] = children;
185
+ $[31] = props;
186
+ $[32] = t8;
187
+ $[33] = t9;
188
+ $[34] = t10;
189
+ } else {
190
+ t10 = $[34];
191
+ }
192
+ let t11;
193
+ if ($[35] !== contextValue || $[36] !== t10) {
194
+ t11 = /* @__PURE__ */ _jsx(SidebarContext.Provider, {
195
+ value: contextValue,
196
+ children: t10
197
+ });
198
+ $[35] = contextValue;
199
+ $[36] = t10;
200
+ $[37] = t11;
201
+ } else {
202
+ t11 = $[37];
203
+ }
204
+ return t11;
205
+ }
206
+ function _temp2(open_1) {
207
+ return !open_1;
208
+ }
209
+ function _temp(open_0) {
210
+ return !open_0;
211
+ }
212
+ function Sidebar(t0) {
213
+ const $ = _c(48);
214
+ let children;
215
+ let className;
216
+ let dir;
217
+ let props;
218
+ let t1;
219
+ let t2;
220
+ let t3;
221
+ if ($[0] !== t0) {
222
+ ({side: t1, variant: t2, collapsible: t3, className, children, dir, ...props} = t0);
223
+ $[0] = t0;
224
+ $[1] = children;
225
+ $[2] = className;
226
+ $[3] = dir;
227
+ $[4] = props;
228
+ $[5] = t1;
229
+ $[6] = t2;
230
+ $[7] = t3;
231
+ } else {
232
+ children = $[1];
233
+ className = $[2];
234
+ dir = $[3];
235
+ props = $[4];
236
+ t1 = $[5];
237
+ t2 = $[6];
238
+ t3 = $[7];
239
+ }
240
+ const side = t1 === undefined ? "left" : t1;
241
+ const variant = t2 === undefined ? "sidebar" : t2;
242
+ const collapsible = t3 === undefined ? "offcanvas" : t3;
243
+ const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
244
+ if (collapsible === "none") {
245
+ let t4;
246
+ if ($[8] !== className) {
247
+ t4 = cn("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground", className);
248
+ $[8] = className;
249
+ $[9] = t4;
250
+ } else {
251
+ t4 = $[9];
252
+ }
253
+ let t5;
254
+ if ($[10] !== children || $[11] !== props || $[12] !== t4) {
255
+ t5 = /* @__PURE__ */ _jsx("div", {
256
+ "data-slot": "sidebar",
257
+ className: t4,
258
+ ...props,
259
+ children
260
+ });
261
+ $[10] = children;
262
+ $[11] = props;
263
+ $[12] = t4;
264
+ $[13] = t5;
265
+ } else {
266
+ t5 = $[13];
267
+ }
268
+ return t5;
269
+ }
270
+ if (isMobile) {
271
+ let t4;
272
+ if ($[14] === Symbol.for("react.memo_cache_sentinel")) {
273
+ t4 = { "--sidebar-width": SIDEBAR_WIDTH_MOBILE };
274
+ $[14] = t4;
275
+ } else {
276
+ t4 = $[14];
277
+ }
278
+ let t5;
279
+ if ($[15] === Symbol.for("react.memo_cache_sentinel")) {
280
+ t5 = /* @__PURE__ */ _jsxs(SheetHeader, {
281
+ className: "sr-only",
282
+ children: [/* @__PURE__ */ _jsx(SheetTitle, { children: "Sidebar" }), /* @__PURE__ */ _jsx(SheetDescription, { children: "Displays the mobile sidebar." })]
283
+ });
284
+ $[15] = t5;
285
+ } else {
286
+ t5 = $[15];
287
+ }
288
+ let t6;
289
+ if ($[16] !== children) {
290
+ t6 = /* @__PURE__ */ _jsx("div", {
291
+ className: "flex h-full w-full flex-col",
292
+ children
293
+ });
294
+ $[16] = children;
295
+ $[17] = t6;
296
+ } else {
297
+ t6 = $[17];
298
+ }
299
+ let t7;
300
+ if ($[18] !== dir || $[19] !== side || $[20] !== t6) {
301
+ t7 = /* @__PURE__ */ _jsxs(SheetContent, {
302
+ dir,
303
+ "data-sidebar": "sidebar",
304
+ "data-slot": "sidebar",
305
+ "data-mobile": "true",
306
+ className: "w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",
307
+ style: t4,
308
+ side,
309
+ children: [t5, t6]
310
+ });
311
+ $[18] = dir;
312
+ $[19] = side;
313
+ $[20] = t6;
314
+ $[21] = t7;
315
+ } else {
316
+ t7 = $[21];
317
+ }
318
+ let t8;
319
+ if ($[22] !== openMobile || $[23] !== props || $[24] !== setOpenMobile || $[25] !== t7) {
320
+ t8 = /* @__PURE__ */ _jsx(Sheet, {
321
+ open: openMobile,
322
+ onOpenChange: setOpenMobile,
323
+ ...props,
324
+ children: t7
325
+ });
326
+ $[22] = openMobile;
327
+ $[23] = props;
328
+ $[24] = setOpenMobile;
329
+ $[25] = t7;
330
+ $[26] = t8;
331
+ } else {
332
+ t8 = $[26];
333
+ }
334
+ return t8;
335
+ }
336
+ const t4 = state === "collapsed" ? collapsible : "";
337
+ const t5 = variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)";
338
+ let t6;
339
+ if ($[27] !== t5) {
340
+ t6 = 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", t5);
341
+ $[27] = t5;
342
+ $[28] = t6;
343
+ } else {
344
+ t6 = $[28];
345
+ }
346
+ let t7;
347
+ if ($[29] !== t6) {
348
+ t7 = /* @__PURE__ */ _jsx("div", {
349
+ "data-slot": "sidebar-gap",
350
+ className: t6
351
+ });
352
+ $[29] = t6;
353
+ $[30] = t7;
354
+ } else {
355
+ t7 = $[30];
356
+ }
357
+ const t8 = variant === "floating" || variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l";
358
+ let t9;
359
+ if ($[31] !== className || $[32] !== t8) {
360
+ t9 = cn("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=left]:left-0 data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] data-[side=right]:right-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] md:flex", t8, className);
361
+ $[31] = className;
362
+ $[32] = t8;
363
+ $[33] = t9;
364
+ } else {
365
+ t9 = $[33];
366
+ }
367
+ let t10;
368
+ if ($[34] !== children) {
369
+ t10 = /* @__PURE__ */ _jsx("div", {
370
+ "data-sidebar": "sidebar",
371
+ "data-slot": "sidebar-inner",
372
+ className: "flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border",
373
+ children
374
+ });
375
+ $[34] = children;
376
+ $[35] = t10;
377
+ } else {
378
+ t10 = $[35];
379
+ }
380
+ let t11;
381
+ if ($[36] !== props || $[37] !== side || $[38] !== t10 || $[39] !== t9) {
382
+ t11 = /* @__PURE__ */ _jsx("div", {
383
+ "data-slot": "sidebar-container",
384
+ "data-side": side,
385
+ className: t9,
386
+ ...props,
387
+ children: t10
388
+ });
389
+ $[36] = props;
390
+ $[37] = side;
391
+ $[38] = t10;
392
+ $[39] = t9;
393
+ $[40] = t11;
394
+ } else {
395
+ t11 = $[40];
396
+ }
397
+ let t12;
398
+ if ($[41] !== side || $[42] !== state || $[43] !== t11 || $[44] !== t4 || $[45] !== t7 || $[46] !== variant) {
399
+ t12 = /* @__PURE__ */ _jsxs("div", {
400
+ className: "group peer hidden text-sidebar-foreground md:block",
401
+ "data-state": state,
402
+ "data-collapsible": t4,
403
+ "data-variant": variant,
404
+ "data-side": side,
405
+ "data-slot": "sidebar",
406
+ children: [t7, t11]
407
+ });
408
+ $[41] = side;
409
+ $[42] = state;
410
+ $[43] = t11;
411
+ $[44] = t4;
412
+ $[45] = t7;
413
+ $[46] = variant;
414
+ $[47] = t12;
415
+ } else {
416
+ t12 = $[47];
417
+ }
418
+ return t12;
419
+ }
420
+ function SidebarTrigger(t0) {
421
+ const $ = _c(15);
422
+ let className;
423
+ let onClick;
424
+ let props;
425
+ if ($[0] !== t0) {
426
+ ({className, onClick, ...props} = t0);
427
+ $[0] = t0;
428
+ $[1] = className;
429
+ $[2] = onClick;
430
+ $[3] = props;
431
+ } else {
432
+ className = $[1];
433
+ onClick = $[2];
434
+ props = $[3];
435
+ }
436
+ const { toggleSidebar } = useSidebar();
437
+ let t1;
438
+ if ($[4] !== className) {
439
+ t1 = cn(className);
440
+ $[4] = className;
441
+ $[5] = t1;
442
+ } else {
443
+ t1 = $[5];
444
+ }
445
+ let t2;
446
+ if ($[6] !== onClick || $[7] !== toggleSidebar) {
447
+ t2 = (event) => {
448
+ onClick?.(event);
449
+ toggleSidebar();
450
+ };
451
+ $[6] = onClick;
452
+ $[7] = toggleSidebar;
453
+ $[8] = t2;
454
+ } else {
455
+ t2 = $[8];
456
+ }
457
+ let t3;
458
+ let t4;
459
+ if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
460
+ t3 = /* @__PURE__ */ _jsx(PanelLeftIcon, {});
461
+ t4 = /* @__PURE__ */ _jsx("span", {
462
+ className: "sr-only",
463
+ children: "Toggle Sidebar"
464
+ });
465
+ $[9] = t3;
466
+ $[10] = t4;
467
+ } else {
468
+ t3 = $[9];
469
+ t4 = $[10];
470
+ }
471
+ let t5;
472
+ if ($[11] !== props || $[12] !== t1 || $[13] !== t2) {
473
+ t5 = /* @__PURE__ */ _jsxs(Button, {
474
+ "data-sidebar": "trigger",
475
+ "data-slot": "sidebar-trigger",
476
+ variant: "ghost",
477
+ size: "icon-sm",
478
+ className: t1,
479
+ onClick: t2,
480
+ ...props,
481
+ children: [t3, t4]
482
+ });
483
+ $[11] = props;
484
+ $[12] = t1;
485
+ $[13] = t2;
486
+ $[14] = t5;
487
+ } else {
488
+ t5 = $[14];
489
+ }
490
+ return t5;
491
+ }
492
+ function SidebarRail(t0) {
493
+ const $ = _c(9);
494
+ let className;
495
+ let props;
496
+ if ($[0] !== t0) {
497
+ ({className, ...props} = t0);
498
+ $[0] = t0;
499
+ $[1] = className;
500
+ $[2] = props;
501
+ } else {
502
+ className = $[1];
503
+ props = $[2];
504
+ }
505
+ const { toggleSidebar } = useSidebar();
506
+ let t1;
507
+ if ($[3] !== className) {
508
+ t1 = cn("absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:start-1/2 after:w-[2px] hover:after:bg-sidebar-border sm:flex ltr:-translate-x-1/2 rtl:-translate-x-1/2", "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", "group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-sidebar", "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2", "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2", className);
509
+ $[3] = className;
510
+ $[4] = t1;
511
+ } else {
512
+ t1 = $[4];
513
+ }
514
+ let t2;
515
+ if ($[5] !== props || $[6] !== t1 || $[7] !== toggleSidebar) {
516
+ t2 = /* @__PURE__ */ _jsx("button", {
517
+ "data-sidebar": "rail",
518
+ "data-slot": "sidebar-rail",
519
+ "aria-label": "Toggle Sidebar",
520
+ tabIndex: -1,
521
+ onClick: toggleSidebar,
522
+ title: "Toggle Sidebar",
523
+ className: t1,
524
+ ...props
525
+ });
526
+ $[5] = props;
527
+ $[6] = t1;
528
+ $[7] = toggleSidebar;
529
+ $[8] = t2;
530
+ } else {
531
+ t2 = $[8];
532
+ }
533
+ return t2;
534
+ }
535
+ function SidebarInset(t0) {
536
+ const $ = _c(8);
537
+ let className;
538
+ let props;
539
+ if ($[0] !== t0) {
540
+ ({className, ...props} = t0);
541
+ $[0] = t0;
542
+ $[1] = className;
543
+ $[2] = props;
544
+ } else {
545
+ className = $[1];
546
+ props = $[2];
547
+ }
548
+ let t1;
549
+ if ($[3] !== className) {
550
+ t1 = cn("relative flex w-full flex-1 flex-col bg-background 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);
551
+ $[3] = className;
552
+ $[4] = t1;
553
+ } else {
554
+ t1 = $[4];
555
+ }
556
+ let t2;
557
+ if ($[5] !== props || $[6] !== t1) {
558
+ t2 = /* @__PURE__ */ _jsx("main", {
559
+ "data-slot": "sidebar-inset",
560
+ className: t1,
561
+ ...props
562
+ });
563
+ $[5] = props;
564
+ $[6] = t1;
565
+ $[7] = t2;
566
+ } else {
567
+ t2 = $[7];
568
+ }
569
+ return t2;
570
+ }
571
+ function SidebarInput(t0) {
572
+ const $ = _c(8);
573
+ let className;
574
+ let props;
575
+ if ($[0] !== t0) {
576
+ ({className, ...props} = t0);
577
+ $[0] = t0;
578
+ $[1] = className;
579
+ $[2] = props;
580
+ } else {
581
+ className = $[1];
582
+ props = $[2];
583
+ }
584
+ let t1;
585
+ if ($[3] !== className) {
586
+ t1 = cn("h-8 w-full bg-background shadow-none", className);
587
+ $[3] = className;
588
+ $[4] = t1;
589
+ } else {
590
+ t1 = $[4];
591
+ }
592
+ let t2;
593
+ if ($[5] !== props || $[6] !== t1) {
594
+ t2 = /* @__PURE__ */ _jsx(Input, {
595
+ "data-slot": "sidebar-input",
596
+ "data-sidebar": "input",
597
+ className: t1,
598
+ ...props
599
+ });
600
+ $[5] = props;
601
+ $[6] = t1;
602
+ $[7] = t2;
603
+ } else {
604
+ t2 = $[7];
605
+ }
606
+ return t2;
607
+ }
608
+ function SidebarHeader(t0) {
609
+ const $ = _c(8);
610
+ let className;
611
+ let props;
612
+ if ($[0] !== t0) {
613
+ ({className, ...props} = t0);
614
+ $[0] = t0;
615
+ $[1] = className;
616
+ $[2] = props;
617
+ } else {
618
+ className = $[1];
619
+ props = $[2];
620
+ }
621
+ let t1;
622
+ if ($[3] !== className) {
623
+ t1 = cn("flex flex-col gap-2 p-2", className);
624
+ $[3] = className;
625
+ $[4] = t1;
626
+ } else {
627
+ t1 = $[4];
628
+ }
629
+ let t2;
630
+ if ($[5] !== props || $[6] !== t1) {
631
+ t2 = /* @__PURE__ */ _jsx("div", {
632
+ "data-slot": "sidebar-header",
633
+ "data-sidebar": "header",
634
+ className: t1,
635
+ ...props
636
+ });
637
+ $[5] = props;
638
+ $[6] = t1;
639
+ $[7] = t2;
640
+ } else {
641
+ t2 = $[7];
642
+ }
643
+ return t2;
644
+ }
645
+ function SidebarFooter(t0) {
646
+ const $ = _c(8);
647
+ let className;
648
+ let props;
649
+ if ($[0] !== t0) {
650
+ ({className, ...props} = t0);
651
+ $[0] = t0;
652
+ $[1] = className;
653
+ $[2] = props;
654
+ } else {
655
+ className = $[1];
656
+ props = $[2];
657
+ }
658
+ let t1;
659
+ if ($[3] !== className) {
660
+ t1 = cn("flex flex-col gap-2 p-2", className);
661
+ $[3] = className;
662
+ $[4] = t1;
663
+ } else {
664
+ t1 = $[4];
665
+ }
666
+ let t2;
667
+ if ($[5] !== props || $[6] !== t1) {
668
+ t2 = /* @__PURE__ */ _jsx("div", {
669
+ "data-slot": "sidebar-footer",
670
+ "data-sidebar": "footer",
671
+ className: t1,
672
+ ...props
673
+ });
674
+ $[5] = props;
675
+ $[6] = t1;
676
+ $[7] = t2;
677
+ } else {
678
+ t2 = $[7];
679
+ }
680
+ return t2;
681
+ }
682
+ function SidebarSeparator(t0) {
683
+ const $ = _c(8);
684
+ let className;
685
+ let props;
686
+ if ($[0] !== t0) {
687
+ ({className, ...props} = t0);
688
+ $[0] = t0;
689
+ $[1] = className;
690
+ $[2] = props;
691
+ } else {
692
+ className = $[1];
693
+ props = $[2];
694
+ }
695
+ let t1;
696
+ if ($[3] !== className) {
697
+ t1 = cn("mx-2 w-auto bg-sidebar-border", className);
698
+ $[3] = className;
699
+ $[4] = t1;
700
+ } else {
701
+ t1 = $[4];
702
+ }
703
+ let t2;
704
+ if ($[5] !== props || $[6] !== t1) {
705
+ t2 = /* @__PURE__ */ _jsx(Separator, {
706
+ "data-slot": "sidebar-separator",
707
+ "data-sidebar": "separator",
708
+ className: t1,
709
+ ...props
710
+ });
711
+ $[5] = props;
712
+ $[6] = t1;
713
+ $[7] = t2;
714
+ } else {
715
+ t2 = $[7];
716
+ }
717
+ return t2;
718
+ }
719
+ function SidebarContent(t0) {
720
+ const $ = _c(8);
721
+ let className;
722
+ let props;
723
+ if ($[0] !== t0) {
724
+ ({className, ...props} = t0);
725
+ $[0] = t0;
726
+ $[1] = className;
727
+ $[2] = props;
728
+ } else {
729
+ className = $[1];
730
+ props = $[2];
731
+ }
732
+ let t1;
733
+ if ($[3] !== className) {
734
+ t1 = cn("no-scrollbar flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", className);
735
+ $[3] = className;
736
+ $[4] = t1;
737
+ } else {
738
+ t1 = $[4];
739
+ }
740
+ let t2;
741
+ if ($[5] !== props || $[6] !== t1) {
742
+ t2 = /* @__PURE__ */ _jsx("div", {
743
+ "data-slot": "sidebar-content",
744
+ "data-sidebar": "content",
745
+ className: t1,
746
+ ...props
747
+ });
748
+ $[5] = props;
749
+ $[6] = t1;
750
+ $[7] = t2;
751
+ } else {
752
+ t2 = $[7];
753
+ }
754
+ return t2;
755
+ }
756
+ function SidebarGroup(t0) {
757
+ const $ = _c(8);
758
+ let className;
759
+ let props;
760
+ if ($[0] !== t0) {
761
+ ({className, ...props} = t0);
762
+ $[0] = t0;
763
+ $[1] = className;
764
+ $[2] = props;
765
+ } else {
766
+ className = $[1];
767
+ props = $[2];
768
+ }
769
+ let t1;
770
+ if ($[3] !== className) {
771
+ t1 = cn("relative flex w-full min-w-0 flex-col p-2", className);
772
+ $[3] = className;
773
+ $[4] = t1;
774
+ } else {
775
+ t1 = $[4];
776
+ }
777
+ let t2;
778
+ if ($[5] !== props || $[6] !== t1) {
779
+ t2 = /* @__PURE__ */ _jsx("div", {
780
+ "data-slot": "sidebar-group",
781
+ "data-sidebar": "group",
782
+ className: t1,
783
+ ...props
784
+ });
785
+ $[5] = props;
786
+ $[6] = t1;
787
+ $[7] = t2;
788
+ } else {
789
+ t2 = $[7];
790
+ }
791
+ return t2;
792
+ }
793
+ function SidebarGroupLabel(t0) {
794
+ const $ = _c(10);
795
+ let className;
796
+ let props;
797
+ let t1;
798
+ if ($[0] !== t0) {
799
+ ({className, asChild: t1, ...props} = t0);
800
+ $[0] = t0;
801
+ $[1] = className;
802
+ $[2] = props;
803
+ $[3] = t1;
804
+ } else {
805
+ className = $[1];
806
+ props = $[2];
807
+ t1 = $[3];
808
+ }
809
+ const asChild = t1 === undefined ? false : t1;
810
+ const Comp = asChild ? Slot.Root : "div";
811
+ let t2;
812
+ if ($[4] !== className) {
813
+ t2 = cn("flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", className);
814
+ $[4] = className;
815
+ $[5] = t2;
816
+ } else {
817
+ t2 = $[5];
818
+ }
819
+ let t3;
820
+ if ($[6] !== Comp || $[7] !== props || $[8] !== t2) {
821
+ t3 = /* @__PURE__ */ _jsx(Comp, {
822
+ "data-slot": "sidebar-group-label",
823
+ "data-sidebar": "group-label",
824
+ className: t2,
825
+ ...props
826
+ });
827
+ $[6] = Comp;
828
+ $[7] = props;
829
+ $[8] = t2;
830
+ $[9] = t3;
831
+ } else {
832
+ t3 = $[9];
833
+ }
834
+ return t3;
835
+ }
836
+ function SidebarGroupAction(t0) {
837
+ const $ = _c(10);
838
+ let className;
839
+ let props;
840
+ let t1;
841
+ if ($[0] !== t0) {
842
+ ({className, asChild: t1, ...props} = t0);
843
+ $[0] = t0;
844
+ $[1] = className;
845
+ $[2] = props;
846
+ $[3] = t1;
847
+ } else {
848
+ className = $[1];
849
+ props = $[2];
850
+ t1 = $[3];
851
+ }
852
+ const asChild = t1 === undefined ? false : t1;
853
+ const Comp = asChild ? Slot.Root : "button";
854
+ let t2;
855
+ if ($[4] !== className) {
856
+ t2 = cn("absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0", className);
857
+ $[4] = className;
858
+ $[5] = t2;
859
+ } else {
860
+ t2 = $[5];
861
+ }
862
+ let t3;
863
+ if ($[6] !== Comp || $[7] !== props || $[8] !== t2) {
864
+ t3 = /* @__PURE__ */ _jsx(Comp, {
865
+ "data-slot": "sidebar-group-action",
866
+ "data-sidebar": "group-action",
867
+ className: t2,
868
+ ...props
869
+ });
870
+ $[6] = Comp;
871
+ $[7] = props;
872
+ $[8] = t2;
873
+ $[9] = t3;
874
+ } else {
875
+ t3 = $[9];
876
+ }
877
+ return t3;
878
+ }
879
+ function SidebarGroupContent(t0) {
880
+ const $ = _c(8);
881
+ let className;
882
+ let props;
883
+ if ($[0] !== t0) {
884
+ ({className, ...props} = t0);
885
+ $[0] = t0;
886
+ $[1] = className;
887
+ $[2] = props;
888
+ } else {
889
+ className = $[1];
890
+ props = $[2];
891
+ }
892
+ let t1;
893
+ if ($[3] !== className) {
894
+ t1 = cn("w-full text-sm", className);
895
+ $[3] = className;
896
+ $[4] = t1;
897
+ } else {
898
+ t1 = $[4];
899
+ }
900
+ let t2;
901
+ if ($[5] !== props || $[6] !== t1) {
902
+ t2 = /* @__PURE__ */ _jsx("div", {
903
+ "data-slot": "sidebar-group-content",
904
+ "data-sidebar": "group-content",
905
+ className: t1,
906
+ ...props
907
+ });
908
+ $[5] = props;
909
+ $[6] = t1;
910
+ $[7] = t2;
911
+ } else {
912
+ t2 = $[7];
913
+ }
914
+ return t2;
915
+ }
916
+ function SidebarMenu(t0) {
917
+ const $ = _c(8);
918
+ let className;
919
+ let props;
920
+ if ($[0] !== t0) {
921
+ ({className, ...props} = t0);
922
+ $[0] = t0;
923
+ $[1] = className;
924
+ $[2] = props;
925
+ } else {
926
+ className = $[1];
927
+ props = $[2];
928
+ }
929
+ let t1;
930
+ if ($[3] !== className) {
931
+ t1 = cn("flex w-full min-w-0 flex-col gap-1", className);
932
+ $[3] = className;
933
+ $[4] = t1;
934
+ } else {
935
+ t1 = $[4];
936
+ }
937
+ let t2;
938
+ if ($[5] !== props || $[6] !== t1) {
939
+ t2 = /* @__PURE__ */ _jsx("ul", {
940
+ "data-slot": "sidebar-menu",
941
+ "data-sidebar": "menu",
942
+ className: t1,
943
+ ...props
944
+ });
945
+ $[5] = props;
946
+ $[6] = t1;
947
+ $[7] = t2;
948
+ } else {
949
+ t2 = $[7];
950
+ }
951
+ return t2;
952
+ }
953
+ function SidebarMenuItem(t0) {
954
+ const $ = _c(8);
955
+ let className;
956
+ let props;
957
+ if ($[0] !== t0) {
958
+ ({className, ...props} = t0);
959
+ $[0] = t0;
960
+ $[1] = className;
961
+ $[2] = props;
962
+ } else {
963
+ className = $[1];
964
+ props = $[2];
965
+ }
966
+ let t1;
967
+ if ($[3] !== className) {
968
+ t1 = cn("group/menu-item relative", className);
969
+ $[3] = className;
970
+ $[4] = t1;
971
+ } else {
972
+ t1 = $[4];
973
+ }
974
+ let t2;
975
+ if ($[5] !== props || $[6] !== t1) {
976
+ t2 = /* @__PURE__ */ _jsx("li", {
977
+ "data-slot": "sidebar-menu-item",
978
+ "data-sidebar": "menu-item",
979
+ className: t1,
980
+ ...props
981
+ });
982
+ $[5] = props;
983
+ $[6] = t1;
984
+ $[7] = t2;
985
+ } else {
986
+ t2 = $[7];
987
+ }
988
+ return t2;
164
989
  }
165
990
  const sidebarMenuButtonVariants = cva("peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! 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 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate", {
166
- variants: {
167
- variant: {
168
- default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
169
- outline: "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]",
170
- },
171
- size: {
172
- default: "h-8 text-sm",
173
- sm: "h-7 text-xs",
174
- lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!",
175
- },
176
- },
177
- defaultVariants: {
178
- variant: "default",
179
- size: "default",
180
- },
991
+ variants: {
992
+ variant: {
993
+ default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
994
+ outline: "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"
995
+ },
996
+ size: {
997
+ default: "h-8 text-sm",
998
+ sm: "h-7 text-xs",
999
+ lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!"
1000
+ }
1001
+ },
1002
+ defaultVariants: {
1003
+ variant: "default",
1004
+ size: "default"
1005
+ }
181
1006
  });
182
- function SidebarMenuButton({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className, ...props }) {
183
- const Comp = asChild ? Slot.Root : "button";
184
- const { isMobile, state } = useSidebar();
185
- const hasMounted = React.useSyncExternalStore(subscribeToClientMount, getClientMountSnapshot, getServerMountSnapshot);
186
- const button = (_jsx(Comp, { "data-slot": "sidebar-menu-button", "data-sidebar": "menu-button", "data-size": size, "data-active": isActive, className: cn(sidebarMenuButtonVariants({ variant, size }), className), ...props }));
187
- // Avoid SSR/client markup drift caused by tooltip trigger wrappers during hydration.
188
- if (!tooltip || !hasMounted) {
189
- return button;
190
- }
191
- if (typeof tooltip === "string") {
192
- tooltip = {
193
- children: tooltip,
194
- };
195
- }
196
- return (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: button }), _jsx(TooltipContent, { side: "right", align: "center", hidden: state !== "collapsed" || isMobile, ...tooltip })] }));
197
- }
198
- function SidebarMenuAction({ className, asChild = false, showOnHover = false, ...props }) {
199
- const Comp = asChild ? Slot.Root : "button";
200
- return (_jsx(Comp, { "data-slot": "sidebar-menu-action", "data-sidebar": "menu-action", className: cn("absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0", showOnHover &&
201
- "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-active/menu-button:text-sidebar-accent-foreground aria-expanded:opacity-100 md:opacity-0", className), ...props }));
202
- }
203
- function SidebarMenuBadge({ className, ...props }) {
204
- return (_jsx("div", { "data-slot": "sidebar-menu-badge", "data-sidebar": "menu-badge", className: cn("pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium text-sidebar-foreground tabular-nums select-none group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 peer-data-active/menu-button:text-sidebar-accent-foreground", className), ...props }));
205
- }
206
- function SidebarMenuSkeleton({ className, showIcon = false, ...props }) {
207
- return (_jsxs("div", { "data-slot": "sidebar-menu-skeleton", "data-sidebar": "menu-skeleton", className: cn("flex h-8 items-center gap-2 rounded-md px-2", className), ...props, children: [showIcon && (_jsx(Skeleton, { className: "size-4 rounded-md", "data-sidebar": "menu-skeleton-icon" })), _jsx(Skeleton, { className: "h-4 max-w-(--skeleton-width) flex-1", "data-sidebar": "menu-skeleton-text", style: {
208
- "--skeleton-width": SIDEBAR_MENU_SKELETON_TEXT_WIDTH,
209
- } })] }));
210
- }
211
- function SidebarMenuSub({ className, ...props }) {
212
- return (_jsx("ul", { "data-slot": "sidebar-menu-sub", "data-sidebar": "menu-sub", className: cn("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5 group-data-[collapsible=icon]:hidden", className), ...props }));
213
- }
214
- function SidebarMenuSubItem({ className, ...props }) {
215
- return (_jsx("li", { "data-slot": "sidebar-menu-sub-item", "data-sidebar": "menu-sub-item", className: cn("group/menu-sub-item relative", className), ...props }));
216
- }
217
- function SidebarMenuSubButton({ asChild = false, size = "md", isActive = false, className, ...props }) {
218
- const Comp = asChild ? Slot.Root : "a";
219
- return (_jsx(Comp, { "data-slot": "sidebar-menu-sub-button", "data-sidebar": "menu-sub-button", "data-size": size, "data-active": isActive, className: cn("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground ring-sidebar-ring outline-hidden group-data-[collapsible=icon]:hidden 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 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[size=md]:text-sm data-[size=sm]:text-xs data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground", className), ...props }));
220
- }
221
- 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, };
1007
+ function SidebarMenuButton(t0) {
1008
+ const $ = _c(28);
1009
+ let className;
1010
+ let props;
1011
+ let t1;
1012
+ let t2;
1013
+ let t3;
1014
+ let t4;
1015
+ let tooltip;
1016
+ if ($[0] !== t0) {
1017
+ ({asChild: t1, isActive: t2, variant: t3, size: t4, tooltip, className, ...props} = t0);
1018
+ $[0] = t0;
1019
+ $[1] = className;
1020
+ $[2] = props;
1021
+ $[3] = t1;
1022
+ $[4] = t2;
1023
+ $[5] = t3;
1024
+ $[6] = t4;
1025
+ $[7] = tooltip;
1026
+ } else {
1027
+ className = $[1];
1028
+ props = $[2];
1029
+ t1 = $[3];
1030
+ t2 = $[4];
1031
+ t3 = $[5];
1032
+ t4 = $[6];
1033
+ tooltip = $[7];
1034
+ }
1035
+ const asChild = t1 === undefined ? false : t1;
1036
+ const isActive = t2 === undefined ? false : t2;
1037
+ const variant = t3 === undefined ? "default" : t3;
1038
+ const size = t4 === undefined ? "default" : t4;
1039
+ const Comp = asChild ? Slot.Root : "button";
1040
+ const { isMobile, state } = useSidebar();
1041
+ const hasMounted = React.useSyncExternalStore(subscribeToClientMount, getClientMountSnapshot, getServerMountSnapshot);
1042
+ let t5;
1043
+ if ($[8] !== className || $[9] !== size || $[10] !== variant) {
1044
+ t5 = cn(sidebarMenuButtonVariants({
1045
+ variant,
1046
+ size
1047
+ }), className);
1048
+ $[8] = className;
1049
+ $[9] = size;
1050
+ $[10] = variant;
1051
+ $[11] = t5;
1052
+ } else {
1053
+ t5 = $[11];
1054
+ }
1055
+ let t6;
1056
+ if ($[12] !== Comp || $[13] !== isActive || $[14] !== props || $[15] !== size || $[16] !== t5) {
1057
+ t6 = /* @__PURE__ */ _jsx(Comp, {
1058
+ "data-slot": "sidebar-menu-button",
1059
+ "data-sidebar": "menu-button",
1060
+ "data-size": size,
1061
+ "data-active": isActive,
1062
+ className: t5,
1063
+ ...props
1064
+ });
1065
+ $[12] = Comp;
1066
+ $[13] = isActive;
1067
+ $[14] = props;
1068
+ $[15] = size;
1069
+ $[16] = t5;
1070
+ $[17] = t6;
1071
+ } else {
1072
+ t6 = $[17];
1073
+ }
1074
+ const button = t6;
1075
+ if (!tooltip || !hasMounted) {
1076
+ return button;
1077
+ }
1078
+ if (typeof tooltip === "string") {
1079
+ let t7;
1080
+ if ($[18] !== tooltip) {
1081
+ t7 = { children: tooltip };
1082
+ $[18] = tooltip;
1083
+ $[19] = t7;
1084
+ } else {
1085
+ t7 = $[19];
1086
+ }
1087
+ tooltip = t7;
1088
+ }
1089
+ let t7;
1090
+ if ($[20] !== button) {
1091
+ t7 = /* @__PURE__ */ _jsx(TooltipTrigger, {
1092
+ asChild: true,
1093
+ children: button
1094
+ });
1095
+ $[20] = button;
1096
+ $[21] = t7;
1097
+ } else {
1098
+ t7 = $[21];
1099
+ }
1100
+ const t8 = state !== "collapsed" || isMobile;
1101
+ let t9;
1102
+ if ($[22] !== t8 || $[23] !== tooltip) {
1103
+ t9 = /* @__PURE__ */ _jsx(TooltipContent, {
1104
+ side: "right",
1105
+ align: "center",
1106
+ hidden: t8,
1107
+ ...tooltip
1108
+ });
1109
+ $[22] = t8;
1110
+ $[23] = tooltip;
1111
+ $[24] = t9;
1112
+ } else {
1113
+ t9 = $[24];
1114
+ }
1115
+ let t10;
1116
+ if ($[25] !== t7 || $[26] !== t9) {
1117
+ t10 = /* @__PURE__ */ _jsxs(Tooltip, { children: [t7, t9] });
1118
+ $[25] = t7;
1119
+ $[26] = t9;
1120
+ $[27] = t10;
1121
+ } else {
1122
+ t10 = $[27];
1123
+ }
1124
+ return t10;
1125
+ }
1126
+ function SidebarMenuAction(t0) {
1127
+ const $ = _c(12);
1128
+ let className;
1129
+ let props;
1130
+ let t1;
1131
+ let t2;
1132
+ if ($[0] !== t0) {
1133
+ ({className, asChild: t1, showOnHover: t2, ...props} = t0);
1134
+ $[0] = t0;
1135
+ $[1] = className;
1136
+ $[2] = props;
1137
+ $[3] = t1;
1138
+ $[4] = t2;
1139
+ } else {
1140
+ className = $[1];
1141
+ props = $[2];
1142
+ t1 = $[3];
1143
+ t2 = $[4];
1144
+ }
1145
+ const asChild = t1 === undefined ? false : t1;
1146
+ const showOnHover = t2 === undefined ? false : t2;
1147
+ const Comp = asChild ? Slot.Root : "button";
1148
+ const t3 = showOnHover && "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-active/menu-button:text-sidebar-accent-foreground aria-expanded:opacity-100 md:opacity-0";
1149
+ let t4;
1150
+ if ($[5] !== className || $[6] !== t3) {
1151
+ t4 = cn("absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0", t3, className);
1152
+ $[5] = className;
1153
+ $[6] = t3;
1154
+ $[7] = t4;
1155
+ } else {
1156
+ t4 = $[7];
1157
+ }
1158
+ let t5;
1159
+ if ($[8] !== Comp || $[9] !== props || $[10] !== t4) {
1160
+ t5 = /* @__PURE__ */ _jsx(Comp, {
1161
+ "data-slot": "sidebar-menu-action",
1162
+ "data-sidebar": "menu-action",
1163
+ className: t4,
1164
+ ...props
1165
+ });
1166
+ $[8] = Comp;
1167
+ $[9] = props;
1168
+ $[10] = t4;
1169
+ $[11] = t5;
1170
+ } else {
1171
+ t5 = $[11];
1172
+ }
1173
+ return t5;
1174
+ }
1175
+ function SidebarMenuBadge(t0) {
1176
+ const $ = _c(8);
1177
+ let className;
1178
+ let props;
1179
+ if ($[0] !== t0) {
1180
+ ({className, ...props} = t0);
1181
+ $[0] = t0;
1182
+ $[1] = className;
1183
+ $[2] = props;
1184
+ } else {
1185
+ className = $[1];
1186
+ props = $[2];
1187
+ }
1188
+ let t1;
1189
+ if ($[3] !== className) {
1190
+ t1 = cn("pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium text-sidebar-foreground tabular-nums select-none group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 peer-data-active/menu-button:text-sidebar-accent-foreground", className);
1191
+ $[3] = className;
1192
+ $[4] = t1;
1193
+ } else {
1194
+ t1 = $[4];
1195
+ }
1196
+ let t2;
1197
+ if ($[5] !== props || $[6] !== t1) {
1198
+ t2 = /* @__PURE__ */ _jsx("div", {
1199
+ "data-slot": "sidebar-menu-badge",
1200
+ "data-sidebar": "menu-badge",
1201
+ className: t1,
1202
+ ...props
1203
+ });
1204
+ $[5] = props;
1205
+ $[6] = t1;
1206
+ $[7] = t2;
1207
+ } else {
1208
+ t2 = $[7];
1209
+ }
1210
+ return t2;
1211
+ }
1212
+ function SidebarMenuSkeleton(t0) {
1213
+ const $ = _c(14);
1214
+ let className;
1215
+ let props;
1216
+ let t1;
1217
+ if ($[0] !== t0) {
1218
+ ({className, showIcon: t1, ...props} = t0);
1219
+ $[0] = t0;
1220
+ $[1] = className;
1221
+ $[2] = props;
1222
+ $[3] = t1;
1223
+ } else {
1224
+ className = $[1];
1225
+ props = $[2];
1226
+ t1 = $[3];
1227
+ }
1228
+ const showIcon = t1 === undefined ? false : t1;
1229
+ let t2;
1230
+ if ($[4] !== className) {
1231
+ t2 = cn("flex h-8 items-center gap-2 rounded-md px-2", className);
1232
+ $[4] = className;
1233
+ $[5] = t2;
1234
+ } else {
1235
+ t2 = $[5];
1236
+ }
1237
+ let t3;
1238
+ if ($[6] !== showIcon) {
1239
+ t3 = showIcon && /* @__PURE__ */ _jsx(Skeleton, {
1240
+ className: "size-4 rounded-md",
1241
+ "data-sidebar": "menu-skeleton-icon"
1242
+ });
1243
+ $[6] = showIcon;
1244
+ $[7] = t3;
1245
+ } else {
1246
+ t3 = $[7];
1247
+ }
1248
+ let t4;
1249
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
1250
+ t4 = { "--skeleton-width": SIDEBAR_MENU_SKELETON_TEXT_WIDTH };
1251
+ $[8] = t4;
1252
+ } else {
1253
+ t4 = $[8];
1254
+ }
1255
+ let t5;
1256
+ if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
1257
+ t5 = /* @__PURE__ */ _jsx(Skeleton, {
1258
+ className: "h-4 max-w-(--skeleton-width) flex-1",
1259
+ "data-sidebar": "menu-skeleton-text",
1260
+ style: t4
1261
+ });
1262
+ $[9] = t5;
1263
+ } else {
1264
+ t5 = $[9];
1265
+ }
1266
+ let t6;
1267
+ if ($[10] !== props || $[11] !== t2 || $[12] !== t3) {
1268
+ t6 = /* @__PURE__ */ _jsxs("div", {
1269
+ "data-slot": "sidebar-menu-skeleton",
1270
+ "data-sidebar": "menu-skeleton",
1271
+ className: t2,
1272
+ ...props,
1273
+ children: [t3, t5]
1274
+ });
1275
+ $[10] = props;
1276
+ $[11] = t2;
1277
+ $[12] = t3;
1278
+ $[13] = t6;
1279
+ } else {
1280
+ t6 = $[13];
1281
+ }
1282
+ return t6;
1283
+ }
1284
+ function SidebarMenuSub(t0) {
1285
+ const $ = _c(8);
1286
+ let className;
1287
+ let props;
1288
+ if ($[0] !== t0) {
1289
+ ({className, ...props} = t0);
1290
+ $[0] = t0;
1291
+ $[1] = className;
1292
+ $[2] = props;
1293
+ } else {
1294
+ className = $[1];
1295
+ props = $[2];
1296
+ }
1297
+ let t1;
1298
+ if ($[3] !== className) {
1299
+ t1 = cn("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5 group-data-[collapsible=icon]:hidden", className);
1300
+ $[3] = className;
1301
+ $[4] = t1;
1302
+ } else {
1303
+ t1 = $[4];
1304
+ }
1305
+ let t2;
1306
+ if ($[5] !== props || $[6] !== t1) {
1307
+ t2 = /* @__PURE__ */ _jsx("ul", {
1308
+ "data-slot": "sidebar-menu-sub",
1309
+ "data-sidebar": "menu-sub",
1310
+ className: t1,
1311
+ ...props
1312
+ });
1313
+ $[5] = props;
1314
+ $[6] = t1;
1315
+ $[7] = t2;
1316
+ } else {
1317
+ t2 = $[7];
1318
+ }
1319
+ return t2;
1320
+ }
1321
+ function SidebarMenuSubItem(t0) {
1322
+ const $ = _c(8);
1323
+ let className;
1324
+ let props;
1325
+ if ($[0] !== t0) {
1326
+ ({className, ...props} = t0);
1327
+ $[0] = t0;
1328
+ $[1] = className;
1329
+ $[2] = props;
1330
+ } else {
1331
+ className = $[1];
1332
+ props = $[2];
1333
+ }
1334
+ let t1;
1335
+ if ($[3] !== className) {
1336
+ t1 = cn("group/menu-sub-item relative", className);
1337
+ $[3] = className;
1338
+ $[4] = t1;
1339
+ } else {
1340
+ t1 = $[4];
1341
+ }
1342
+ let t2;
1343
+ if ($[5] !== props || $[6] !== t1) {
1344
+ t2 = /* @__PURE__ */ _jsx("li", {
1345
+ "data-slot": "sidebar-menu-sub-item",
1346
+ "data-sidebar": "menu-sub-item",
1347
+ className: t1,
1348
+ ...props
1349
+ });
1350
+ $[5] = props;
1351
+ $[6] = t1;
1352
+ $[7] = t2;
1353
+ } else {
1354
+ t2 = $[7];
1355
+ }
1356
+ return t2;
1357
+ }
1358
+ function SidebarMenuSubButton(t0) {
1359
+ const $ = _c(14);
1360
+ let className;
1361
+ let props;
1362
+ let t1;
1363
+ let t2;
1364
+ let t3;
1365
+ if ($[0] !== t0) {
1366
+ ({asChild: t1, size: t2, isActive: t3, className, ...props} = t0);
1367
+ $[0] = t0;
1368
+ $[1] = className;
1369
+ $[2] = props;
1370
+ $[3] = t1;
1371
+ $[4] = t2;
1372
+ $[5] = t3;
1373
+ } else {
1374
+ className = $[1];
1375
+ props = $[2];
1376
+ t1 = $[3];
1377
+ t2 = $[4];
1378
+ t3 = $[5];
1379
+ }
1380
+ const asChild = t1 === undefined ? false : t1;
1381
+ const size = t2 === undefined ? "md" : t2;
1382
+ const isActive = t3 === undefined ? false : t3;
1383
+ const Comp = asChild ? Slot.Root : "a";
1384
+ let t4;
1385
+ if ($[6] !== className) {
1386
+ t4 = cn("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground ring-sidebar-ring outline-hidden group-data-[collapsible=icon]:hidden 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 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[size=md]:text-sm data-[size=sm]:text-xs data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground", className);
1387
+ $[6] = className;
1388
+ $[7] = t4;
1389
+ } else {
1390
+ t4 = $[7];
1391
+ }
1392
+ let t5;
1393
+ if ($[8] !== Comp || $[9] !== isActive || $[10] !== props || $[11] !== size || $[12] !== t4) {
1394
+ t5 = /* @__PURE__ */ _jsx(Comp, {
1395
+ "data-slot": "sidebar-menu-sub-button",
1396
+ "data-sidebar": "menu-sub-button",
1397
+ "data-size": size,
1398
+ "data-active": isActive,
1399
+ className: t4,
1400
+ ...props
1401
+ });
1402
+ $[8] = Comp;
1403
+ $[9] = isActive;
1404
+ $[10] = props;
1405
+ $[11] = size;
1406
+ $[12] = t4;
1407
+ $[13] = t5;
1408
+ } else {
1409
+ t5 = $[13];
1410
+ }
1411
+ return t5;
1412
+ }
1413
+ 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 };