@locusgraph/components 0.1.1 → 0.2.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 (116) hide show
  1. package/dist/action/button-group.js +148 -17
  2. package/dist/action/button.js +91 -27
  3. package/dist/action/toggle-group.js +176 -12
  4. package/dist/action/toggle.js +71 -18
  5. package/dist/display/avatar.js +118 -7
  6. package/dist/display/badge.d.ts +1 -1
  7. package/dist/display/badge.js +74 -17
  8. package/dist/display/chart/chart-container.js +205 -45
  9. package/dist/display/chart/chart-legend.js +79 -14
  10. package/dist/display/chart/chart-tooltip.js +211 -40
  11. package/dist/display/chat/attachment/attachment-parts.js +222 -13
  12. package/dist/display/chat/attachment/attachment.js +210 -28
  13. package/dist/display/chat/bubble.js +225 -37
  14. package/dist/display/chat/marker.js +143 -15
  15. package/dist/display/chat/message-scroller.js +277 -15
  16. package/dist/display/chat/message.js +238 -13
  17. package/dist/display/content/item.js +448 -47
  18. package/dist/display/content/kbd.js +78 -5
  19. package/dist/display/media/aspect-ratio.js +27 -3
  20. package/dist/display/media/carousel-controls.js +163 -12
  21. package/dist/display/media/carousel.js +325 -65
  22. package/dist/display/rule-grid/rule-grid.d.ts +3 -1
  23. package/dist/display/rule-grid/rule-grid.js +311 -25
  24. package/dist/display/separator.js +56 -3
  25. package/dist/display/skeletons/layouts/skeleton-rule-grid.d.ts +8 -0
  26. package/dist/display/skeletons/layouts/skeleton-rule-grid.js +83 -0
  27. package/dist/display/skeletons/layouts/skeleton-table.d.ts +8 -0
  28. package/dist/display/skeletons/layouts/skeleton-table.js +174 -0
  29. package/dist/display/skeletons/shapes/skeleton-avatar.d.ts +10 -0
  30. package/dist/display/skeletons/shapes/skeleton-avatar.js +102 -0
  31. package/dist/display/skeletons/shapes/skeleton-button.d.ts +10 -0
  32. package/dist/display/skeletons/shapes/skeleton-button.js +102 -0
  33. package/dist/display/skeletons/shapes/skeleton-text.d.ts +7 -0
  34. package/dist/display/skeletons/shapes/skeleton-text.js +84 -0
  35. package/dist/display/skeletons/skeleton-parts.d.ts +11 -0
  36. package/dist/display/skeletons/skeleton-parts.js +68 -0
  37. package/dist/display/status/alert.d.ts +1 -1
  38. package/dist/display/status/alert.js +137 -17
  39. package/dist/display/status/empty.js +250 -22
  40. package/dist/display/status/progress.d.ts +5 -1
  41. package/dist/display/status/progress.js +120 -3
  42. package/dist/display/status/skeleton.js +40 -3
  43. package/dist/display/status/spinner.js +42 -4
  44. package/dist/display/table.js +310 -17
  45. package/dist/feedback/toaster.d.ts +1 -1
  46. package/dist/feedback/toaster.js +100 -25
  47. package/dist/form/advanced/calendar-day-button.js +89 -12
  48. package/dist/form/advanced/calendar.js +349 -56
  49. package/dist/form/advanced/combobox/combobox-chips.js +152 -9
  50. package/dist/form/advanced/combobox/combobox-items.js +240 -15
  51. package/dist/form/advanced/combobox/combobox.js +387 -14
  52. package/dist/form/advanced/input-otp.js +202 -12
  53. package/dist/form/choice/checkbox.js +59 -4
  54. package/dist/form/choice/radio-group.js +95 -6
  55. package/dist/form/choice/select.js +479 -25
  56. package/dist/form/choice/slider.js +118 -4
  57. package/dist/form/choice/switch.js +53 -3
  58. package/dist/form/field/field-error.js +117 -14
  59. package/dist/form/field/field-separator.js +70 -3
  60. package/dist/form/field/field-set.js +85 -5
  61. package/dist/form/field/field-text.js +116 -7
  62. package/dist/form/field/field.js +138 -26
  63. package/dist/form/hook-form/form.js +338 -40
  64. package/dist/form/input-group.js +297 -47
  65. package/dist/form/input.js +47 -3
  66. package/dist/form/label.js +42 -3
  67. package/dist/form/native-select.js +148 -8
  68. package/dist/form/textarea.js +41 -3
  69. package/dist/index.d.ts +6 -0
  70. package/dist/index.js +6 -0
  71. package/dist/layout/accordion.js +166 -9
  72. package/dist/layout/collapsible.js +75 -7
  73. package/dist/layout/resizable.js +123 -8
  74. package/dist/layout/scroll/direction.js +25 -3
  75. package/dist/layout/scroll/scroll-area.d.ts +1 -1
  76. package/dist/layout/scroll/scroll-area.js +138 -5
  77. package/dist/layout/sidebar/sidebar-context.js +184 -51
  78. package/dist/layout/sidebar/sidebar-menu-sub.js +219 -14
  79. package/dist/layout/sidebar/sidebar-menu.js +319 -38
  80. package/dist/layout/sidebar/sidebar-sections.js +369 -22
  81. package/dist/layout/sidebar/sidebar.js +385 -29
  82. package/dist/layout/tabs.js +183 -18
  83. package/dist/layout/use-mobile.js +23 -10
  84. package/dist/navigation/breadcrumb.js +302 -18
  85. package/dist/navigation/menubar/menubar-items.js +323 -17
  86. package/dist/navigation/menubar/menubar-sub.js +126 -8
  87. package/dist/navigation/menubar/menubar.js +213 -13
  88. package/dist/navigation/navigation-menu.js +367 -19
  89. package/dist/navigation/pagination.js +329 -20
  90. package/dist/overlay/alert-dialog.js +485 -26
  91. package/dist/overlay/context-menu/context-menu-items.js +323 -17
  92. package/dist/overlay/context-menu/context-menu-sub.js +126 -8
  93. package/dist/overlay/context-menu/context-menu.js +140 -11
  94. package/dist/overlay/dialog.js +406 -25
  95. package/dist/overlay/floating/command.js +424 -21
  96. package/dist/overlay/floating/drawer.js +354 -22
  97. package/dist/overlay/floating/hover-card.js +107 -7
  98. package/dist/overlay/menu/dropdown-menu-choice.js +150 -8
  99. package/dist/overlay/menu/dropdown-menu-item.js +174 -9
  100. package/dist/overlay/menu/dropdown-menu-sub.js +125 -8
  101. package/dist/overlay/menu/dropdown-menu.js +147 -12
  102. package/dist/overlay/popover.js +106 -7
  103. package/dist/overlay/sheet.js +380 -27
  104. package/dist/overlay/tooltip.js +145 -9
  105. package/dist/shell/app-header.js +81 -5
  106. package/dist/shell/app-shell.js +58 -3
  107. package/dist/shell/breadcrumbs.js +102 -12
  108. package/dist/shell/docs/docs-header.js +211 -11
  109. package/dist/shell/docs/docs-shell.js +100 -3
  110. package/dist/shell/docs/docs-sidebar.js +88 -7
  111. package/dist/shell/docs/on-this-page.js +78 -7
  112. package/dist/shell/docs/use-active-section.js +88 -42
  113. package/dist/shell/navigation/app-sidebar.js +188 -6
  114. package/dist/shell/navigation/nav-group.js +161 -10
  115. package/dist/shell/theme-toggle.js +52 -5
  116. package/package.json +5 -5
@@ -1,9 +1,11 @@
1
1
  "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
2
+
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { cn } from "cn";
4
5
  import * as React from "react";
5
6
  import { TooltipProvider } from "../../overlay/tooltip.js";
6
7
  import { useIsMobile } from "../use-mobile.js";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
7
9
  const SIDEBAR_COOKIE_NAME = "sidebar_state";
8
10
  const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
9
11
  const SIDEBAR_WIDTH = "15rem";
@@ -12,61 +14,192 @@ const SIDEBAR_WIDTH_ICON = "3rem";
12
14
  const SIDEBAR_KEYBOARD_SHORTCUT = "b";
13
15
  const SidebarContext = React.createContext(null);
14
16
  function useSidebar() {
15
- const context = React.useContext(SidebarContext);
16
- if (!context) {
17
- throw new Error("useSidebar must be used within a SidebarProvider.");
18
- }
19
- return context;
17
+ const context = React.useContext(SidebarContext);
18
+ if (!context) {
19
+ throw new Error("useSidebar must be used within a SidebarProvider.");
20
+ }
21
+ return context;
20
22
  }
21
23
  function persistSidebarState(open) {
22
- document.cookie = `${SIDEBAR_COOKIE_NAME}=${open}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
24
+ document.cookie = `${SIDEBAR_COOKIE_NAME}=${open}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
23
25
  }
24
26
  function useSidebarKeyboardShortcut(toggleSidebar) {
25
- React.useEffect(() => {
26
- const handleKeyDown = (event) => {
27
- if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
28
- event.preventDefault();
29
- toggleSidebar();
30
- }
31
- };
32
- window.addEventListener("keydown", handleKeyDown);
33
- return () => window.removeEventListener("keydown", handleKeyDown);
34
- }, [toggleSidebar]);
27
+ const $ = _c(3);
28
+ let t0;
29
+ let t1;
30
+ if ($[0] !== toggleSidebar) {
31
+ t0 = () => {
32
+ const handleKeyDown = event => {
33
+ if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
34
+ event.preventDefault();
35
+ toggleSidebar();
36
+ }
37
+ };
38
+ window.addEventListener("keydown", handleKeyDown);
39
+ return () => window.removeEventListener("keydown", handleKeyDown);
40
+ };
41
+ t1 = [toggleSidebar];
42
+ $[0] = toggleSidebar;
43
+ $[1] = t0;
44
+ $[2] = t1;
45
+ } else {
46
+ t0 = $[1];
47
+ t1 = $[2];
48
+ }
49
+ React.useEffect(t0, t1);
35
50
  }
36
51
  const sidebarMobileHitArea = "after:absolute after:-inset-2 md:after:hidden";
37
- function SidebarProvider({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }) {
38
- const isMobile = useIsMobile();
39
- const [openMobile, setOpenMobile] = React.useState(false);
40
- const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen);
41
- const open = openProp ?? uncontrolledOpen;
42
- const setOpen = React.useCallback((value) => {
43
- const openState = typeof value === "function" ? value(open) : value;
44
- if (setOpenProp) {
45
- setOpenProp(openState);
46
- }
47
- else {
48
- setUncontrolledOpen(openState);
49
- }
50
- persistSidebarState(openState);
51
- }, [setOpenProp, open]);
52
- const toggleSidebar = React.useCallback(() => {
53
- return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);
54
- }, [isMobile, setOpen, setOpenMobile]);
55
- useSidebarKeyboardShortcut(toggleSidebar);
56
- const state = open ? "expanded" : "collapsed";
57
- const contextValue = React.useMemo(() => ({
58
- state,
59
- open,
60
- setOpen,
61
- isMobile,
62
- openMobile,
63
- setOpenMobile,
64
- toggleSidebar,
65
- }), [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]);
66
- return (_jsx(SidebarContext.Provider, { value: contextValue, children: _jsx(TooltipProvider, { delayDuration: 0, children: _jsx("div", { "data-slot": "sidebar-wrapper", style: {
67
- "--sidebar-width": SIDEBAR_WIDTH,
68
- "--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
69
- ...style,
70
- }, className: cn("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar", className), ...props, children: children }) }) }));
52
+ function SidebarProvider(t0) {
53
+ const $ = _c(33);
54
+ let children;
55
+ let className;
56
+ let openProp;
57
+ let props;
58
+ let setOpenProp;
59
+ let style;
60
+ let t1;
61
+ if ($[0] !== t0) {
62
+ ({
63
+ defaultOpen: t1,
64
+ open: openProp,
65
+ onOpenChange: setOpenProp,
66
+ className,
67
+ style,
68
+ children,
69
+ ...props
70
+ } = t0);
71
+ $[0] = t0;
72
+ $[1] = children;
73
+ $[2] = className;
74
+ $[3] = openProp;
75
+ $[4] = props;
76
+ $[5] = setOpenProp;
77
+ $[6] = style;
78
+ $[7] = t1;
79
+ } else {
80
+ children = $[1];
81
+ className = $[2];
82
+ openProp = $[3];
83
+ props = $[4];
84
+ setOpenProp = $[5];
85
+ style = $[6];
86
+ t1 = $[7];
87
+ }
88
+ const defaultOpen = t1 === undefined ? true : t1;
89
+ const isMobile = useIsMobile();
90
+ const [openMobile, setOpenMobile] = React.useState(false);
91
+ const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen);
92
+ const open = openProp ?? uncontrolledOpen;
93
+ let t2;
94
+ if ($[8] !== open || $[9] !== setOpenProp) {
95
+ t2 = value => {
96
+ const openState = typeof value === "function" ? value(open) : value;
97
+ if (setOpenProp) {
98
+ setOpenProp(openState);
99
+ } else {
100
+ setUncontrolledOpen(openState);
101
+ }
102
+ persistSidebarState(openState);
103
+ };
104
+ $[8] = open;
105
+ $[9] = setOpenProp;
106
+ $[10] = t2;
107
+ } else {
108
+ t2 = $[10];
109
+ }
110
+ const setOpen = t2;
111
+ let t3;
112
+ if ($[11] !== isMobile || $[12] !== setOpen) {
113
+ t3 = () => isMobile ? setOpenMobile(_temp) : setOpen(_temp2);
114
+ $[11] = isMobile;
115
+ $[12] = setOpen;
116
+ $[13] = t3;
117
+ } else {
118
+ t3 = $[13];
119
+ }
120
+ const toggleSidebar = t3;
121
+ useSidebarKeyboardShortcut(toggleSidebar);
122
+ const state = open ? "expanded" : "collapsed";
123
+ let t4;
124
+ if ($[14] !== isMobile || $[15] !== open || $[16] !== openMobile || $[17] !== setOpen || $[18] !== state || $[19] !== toggleSidebar) {
125
+ t4 = {
126
+ state,
127
+ open,
128
+ setOpen,
129
+ isMobile,
130
+ openMobile,
131
+ setOpenMobile,
132
+ toggleSidebar
133
+ };
134
+ $[14] = isMobile;
135
+ $[15] = open;
136
+ $[16] = openMobile;
137
+ $[17] = setOpen;
138
+ $[18] = state;
139
+ $[19] = toggleSidebar;
140
+ $[20] = t4;
141
+ } else {
142
+ t4 = $[20];
143
+ }
144
+ const contextValue = t4;
145
+ let t5;
146
+ if ($[21] !== style) {
147
+ t5 = {
148
+ "--sidebar-width": SIDEBAR_WIDTH,
149
+ "--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
150
+ ...style
151
+ };
152
+ $[21] = style;
153
+ $[22] = t5;
154
+ } else {
155
+ t5 = $[22];
156
+ }
157
+ let t6;
158
+ if ($[23] !== className) {
159
+ t6 = cn("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar", className);
160
+ $[23] = className;
161
+ $[24] = t6;
162
+ } else {
163
+ t6 = $[24];
164
+ }
165
+ let t7;
166
+ if ($[25] !== children || $[26] !== props || $[27] !== t5 || $[28] !== t6) {
167
+ t7 = /*#__PURE__*/_jsx(TooltipProvider, {
168
+ delayDuration: 0,
169
+ children: /*#__PURE__*/_jsx("div", {
170
+ "data-slot": "sidebar-wrapper",
171
+ style: t5,
172
+ className: t6,
173
+ ...props,
174
+ children: children
175
+ })
176
+ });
177
+ $[25] = children;
178
+ $[26] = props;
179
+ $[27] = t5;
180
+ $[28] = t6;
181
+ $[29] = t7;
182
+ } else {
183
+ t7 = $[29];
184
+ }
185
+ let t8;
186
+ if ($[30] !== contextValue || $[31] !== t7) {
187
+ t8 = /*#__PURE__*/_jsx(SidebarContext.Provider, {
188
+ value: contextValue,
189
+ children: t7
190
+ });
191
+ $[30] = contextValue;
192
+ $[31] = t7;
193
+ $[32] = t8;
194
+ } else {
195
+ t8 = $[32];
196
+ }
197
+ return t8;
198
+ }
199
+ function _temp2(open_1) {
200
+ return !open_1;
201
+ }
202
+ function _temp(open_0) {
203
+ return !open_0;
71
204
  }
72
205
  export { SIDEBAR_WIDTH_MOBILE, SidebarProvider, sidebarMobileHitArea, useSidebar };
@@ -1,26 +1,231 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { cn } from "cn";
4
5
  import * as Slot from "radix-ui/slot";
5
6
  import * as React from "react";
6
7
  import { Skeleton } from "../../display/status/skeleton.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
9
  function randomSkeletonWidth() {
8
- return `${Math.floor(Math.random() * 40) + 50}%`;
10
+ return `${Math.floor(Math.random() * 40) + 50}%`;
9
11
  }
10
- function SidebarMenuSkeleton({ className, showIcon = false, ...props }) {
11
- const width = React.useMemo(randomSkeletonWidth, []);
12
- 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: {
13
- "--skeleton-width": width,
14
- } })] }));
12
+ function SidebarMenuSkeleton(t0) {
13
+ const $ = _c(15);
14
+ let className;
15
+ let props;
16
+ let t1;
17
+ if ($[0] !== t0) {
18
+ ({
19
+ className,
20
+ showIcon: t1,
21
+ ...props
22
+ } = t0);
23
+ $[0] = t0;
24
+ $[1] = className;
25
+ $[2] = props;
26
+ $[3] = t1;
27
+ } else {
28
+ className = $[1];
29
+ props = $[2];
30
+ t1 = $[3];
31
+ }
32
+ const showIcon = t1 === undefined ? false : t1;
33
+ const [width] = React.useState(randomSkeletonWidth);
34
+ let t2;
35
+ if ($[4] !== className) {
36
+ t2 = cn("flex h-8 items-center gap-2 rounded-md px-2", className);
37
+ $[4] = className;
38
+ $[5] = t2;
39
+ } else {
40
+ t2 = $[5];
41
+ }
42
+ let t3;
43
+ if ($[6] !== showIcon) {
44
+ t3 = showIcon && /*#__PURE__*/_jsx(Skeleton, {
45
+ className: "size-4 rounded-md",
46
+ "data-sidebar": "menu-skeleton-icon"
47
+ });
48
+ $[6] = showIcon;
49
+ $[7] = t3;
50
+ } else {
51
+ t3 = $[7];
52
+ }
53
+ let t4;
54
+ if ($[8] !== width) {
55
+ t4 = /*#__PURE__*/_jsx(Skeleton, {
56
+ className: "h-4 max-w-(--skeleton-width) flex-1",
57
+ "data-sidebar": "menu-skeleton-text",
58
+ style: {
59
+ "--skeleton-width": width
60
+ }
61
+ });
62
+ $[8] = width;
63
+ $[9] = t4;
64
+ } else {
65
+ t4 = $[9];
66
+ }
67
+ let t5;
68
+ if ($[10] !== props || $[11] !== t2 || $[12] !== t3 || $[13] !== t4) {
69
+ t5 = /*#__PURE__*/_jsxs("div", {
70
+ "data-slot": "sidebar-menu-skeleton",
71
+ "data-sidebar": "menu-skeleton",
72
+ className: t2,
73
+ ...props,
74
+ children: [t3, t4]
75
+ });
76
+ $[10] = props;
77
+ $[11] = t2;
78
+ $[12] = t3;
79
+ $[13] = t4;
80
+ $[14] = t5;
81
+ } else {
82
+ t5 = $[14];
83
+ }
84
+ return t5;
15
85
  }
16
- function SidebarMenuSub({ className, ...props }) {
17
- 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 }));
86
+ function SidebarMenuSub(t0) {
87
+ const $ = _c(8);
88
+ let className;
89
+ let props;
90
+ if ($[0] !== t0) {
91
+ ({
92
+ className,
93
+ ...props
94
+ } = t0);
95
+ $[0] = t0;
96
+ $[1] = className;
97
+ $[2] = props;
98
+ } else {
99
+ className = $[1];
100
+ props = $[2];
101
+ }
102
+ let t1;
103
+ if ($[3] !== className) {
104
+ 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);
105
+ $[3] = className;
106
+ $[4] = t1;
107
+ } else {
108
+ t1 = $[4];
109
+ }
110
+ let t2;
111
+ if ($[5] !== props || $[6] !== t1) {
112
+ t2 = /*#__PURE__*/_jsx("ul", {
113
+ "data-slot": "sidebar-menu-sub",
114
+ "data-sidebar": "menu-sub",
115
+ className: t1,
116
+ ...props
117
+ });
118
+ $[5] = props;
119
+ $[6] = t1;
120
+ $[7] = t2;
121
+ } else {
122
+ t2 = $[7];
123
+ }
124
+ return t2;
18
125
  }
19
- function SidebarMenuSubItem({ className, ...props }) {
20
- return (_jsx("li", { "data-slot": "sidebar-menu-sub-item", "data-sidebar": "menu-sub-item", className: cn("group/menu-sub-item relative", className), ...props }));
126
+ function SidebarMenuSubItem(t0) {
127
+ const $ = _c(8);
128
+ let className;
129
+ let props;
130
+ if ($[0] !== t0) {
131
+ ({
132
+ className,
133
+ ...props
134
+ } = t0);
135
+ $[0] = t0;
136
+ $[1] = className;
137
+ $[2] = props;
138
+ } else {
139
+ className = $[1];
140
+ props = $[2];
141
+ }
142
+ let t1;
143
+ if ($[3] !== className) {
144
+ t1 = cn("group/menu-sub-item relative", className);
145
+ $[3] = className;
146
+ $[4] = t1;
147
+ } else {
148
+ t1 = $[4];
149
+ }
150
+ let t2;
151
+ if ($[5] !== props || $[6] !== t1) {
152
+ t2 = /*#__PURE__*/_jsx("li", {
153
+ "data-slot": "sidebar-menu-sub-item",
154
+ "data-sidebar": "menu-sub-item",
155
+ className: t1,
156
+ ...props
157
+ });
158
+ $[5] = props;
159
+ $[6] = t1;
160
+ $[7] = t2;
161
+ } else {
162
+ t2 = $[7];
163
+ }
164
+ return t2;
21
165
  }
22
- function SidebarMenuSubButton({ asChild = false, size = "md", isActive = false, className, ...props }) {
23
- const Comp = asChild ? Slot.Root : "a";
24
- 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 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 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground", "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 }));
166
+ function SidebarMenuSubButton(t0) {
167
+ const $ = _c(16);
168
+ let className;
169
+ let props;
170
+ let t1;
171
+ let t2;
172
+ let t3;
173
+ if ($[0] !== t0) {
174
+ ({
175
+ asChild: t1,
176
+ size: t2,
177
+ isActive: t3,
178
+ className,
179
+ ...props
180
+ } = t0);
181
+ $[0] = t0;
182
+ $[1] = className;
183
+ $[2] = props;
184
+ $[3] = t1;
185
+ $[4] = t2;
186
+ $[5] = t3;
187
+ } else {
188
+ className = $[1];
189
+ props = $[2];
190
+ t1 = $[3];
191
+ t2 = $[4];
192
+ t3 = $[5];
193
+ }
194
+ const asChild = t1 === undefined ? false : t1;
195
+ const size = t2 === undefined ? "md" : t2;
196
+ const isActive = t3 === undefined ? false : t3;
197
+ const Comp = asChild ? Slot.Root : "a";
198
+ const t4 = size === "sm" && "text-xs";
199
+ const t5 = size === "md" && "text-sm";
200
+ let t6;
201
+ if ($[6] !== className || $[7] !== t4 || $[8] !== t5) {
202
+ t6 = 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 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 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground", "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground", t4, t5, "group-data-[collapsible=icon]:hidden", className);
203
+ $[6] = className;
204
+ $[7] = t4;
205
+ $[8] = t5;
206
+ $[9] = t6;
207
+ } else {
208
+ t6 = $[9];
209
+ }
210
+ let t7;
211
+ if ($[10] !== Comp || $[11] !== isActive || $[12] !== props || $[13] !== size || $[14] !== t6) {
212
+ t7 = /*#__PURE__*/_jsx(Comp, {
213
+ "data-slot": "sidebar-menu-sub-button",
214
+ "data-sidebar": "menu-sub-button",
215
+ "data-size": size,
216
+ "data-active": isActive,
217
+ className: t6,
218
+ ...props
219
+ });
220
+ $[10] = Comp;
221
+ $[11] = isActive;
222
+ $[12] = props;
223
+ $[13] = size;
224
+ $[14] = t6;
225
+ $[15] = t7;
226
+ } else {
227
+ t7 = $[15];
228
+ }
229
+ return t7;
25
230
  }
26
231
  export { SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem };