@vuer-ai/vuer-uikit 0.0.77 → 0.0.79

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 (73) hide show
  1. package/dist/{chunk-UHDBWDHS.cjs → chunk-63LX3ILN.cjs} +10 -9
  2. package/dist/{chunk-3LM4LVYM.mjs → chunk-67FOC7SV.mjs} +10 -9
  3. package/dist/{chunk-3HERIMKO.mjs → chunk-JNOO5NXB.mjs} +2 -2
  4. package/dist/{chunk-33ZAFHOY.cjs → chunk-OITJZBFZ.cjs} +2 -2
  5. package/dist/chunk-WPDU2YYR.mjs +1 -0
  6. package/dist/chunk-YJ6X6T5K.cjs +2 -0
  7. package/dist/highlight-cursor/enhanced-components.cjs +8 -8
  8. package/dist/highlight-cursor/enhanced-components.mjs +3 -3
  9. package/dist/highlight-cursor/index.cjs +12 -12
  10. package/dist/highlight-cursor/index.mjs +3 -3
  11. package/dist/index.cjs +456 -431
  12. package/dist/index.d.cts +2 -1
  13. package/dist/index.d.ts +2 -1
  14. package/dist/index.mjs +48 -47
  15. package/dist/ui/UIKitBadge.cjs +5 -5
  16. package/dist/ui/UIKitBadge.mjs +1 -1
  17. package/dist/ui/badge.d.cts +1 -1
  18. package/dist/ui/badge.d.ts +1 -1
  19. package/dist/ui/index.cjs +371 -346
  20. package/dist/ui/index.d.cts +2 -1
  21. package/dist/ui/index.d.ts +2 -1
  22. package/dist/ui/index.mjs +47 -46
  23. package/dist/ui/inputs/index.cjs +18 -18
  24. package/dist/ui/inputs/index.mjs +4 -4
  25. package/dist/ui/inputs/input.d.cts +1 -1
  26. package/dist/ui/inputs/input.d.ts +1 -1
  27. package/dist/ui/inputs/number-inputs/index.cjs +15 -15
  28. package/dist/ui/inputs/number-inputs/index.mjs +3 -3
  29. package/dist/ui/pagination.cjs +9 -9
  30. package/dist/ui/pagination.mjs +2 -2
  31. package/dist/ui/select.d.cts +1 -1
  32. package/dist/ui/select.d.ts +1 -1
  33. package/dist/ui/sidebar.cjs +26 -26
  34. package/dist/ui/sidebar.mjs +2 -2
  35. package/dist/ui/tabs.cjs +6 -6
  36. package/dist/ui/tabs.mjs +2 -2
  37. package/dist/ui/textarea.d.cts +1 -1
  38. package/dist/ui/textarea.d.ts +1 -1
  39. package/dist/ui/timeline.cjs +4 -4
  40. package/dist/ui/timeline.mjs +3 -3
  41. package/dist/ui/tree-view/TreeView.cjs +3 -3
  42. package/dist/ui/tree-view/TreeView.d.cts +6 -6
  43. package/dist/ui/tree-view/TreeView.d.ts +6 -6
  44. package/dist/ui/tree-view/TreeView.mjs +1 -1
  45. package/dist/ui/tree-view/index.cjs +3 -3
  46. package/dist/ui/tree-view/index.mjs +1 -1
  47. package/dist/ui/tree-view-legacy.cjs +6 -6
  48. package/dist/ui/tree-view-legacy.mjs +2 -2
  49. package/dist/ui/waterfall/index.cjs +34 -9
  50. package/dist/ui/waterfall/index.d.cts +3 -1
  51. package/dist/ui/waterfall/index.d.ts +3 -1
  52. package/dist/ui/waterfall/index.mjs +9 -8
  53. package/dist/ui/waterfall/types.cjs +2 -0
  54. package/dist/ui/waterfall/types.mjs +1 -1
  55. package/package.json +1 -1
  56. package/dist/chunk-6E4NTY34.cjs +0 -494
  57. package/dist/chunk-7644AY3P.cjs +0 -855
  58. package/dist/chunk-AOAM6HV2.mjs +0 -94
  59. package/dist/chunk-CSSMBHBD.mjs +0 -853
  60. package/dist/chunk-CW6FHIAT.cjs +0 -624
  61. package/dist/chunk-D5YKZOUG.mjs +0 -247
  62. package/dist/chunk-HOJOWLJT.mjs +0 -142
  63. package/dist/chunk-HTHCG2AN.cjs +0 -125
  64. package/dist/chunk-IZJYFVS7.mjs +0 -15
  65. package/dist/chunk-KQXLV6YW.mjs +0 -489
  66. package/dist/chunk-NEOSSUNE.mjs +0 -599
  67. package/dist/chunk-TE5JNR5C.mjs +0 -117
  68. package/dist/chunk-V2OROE7H.cjs +0 -99
  69. package/dist/chunk-XKIB3LSS.cjs +0 -167
  70. package/dist/chunk-YPQYI63K.cjs +0 -249
  71. package/dist/chunk-ZO3X2NDT.cjs +0 -21
  72. /package/dist/{chunk-MMT74K7A.mjs → chunk-3WSKU4Q4.mjs} +0 -0
  73. /package/dist/{chunk-E6D3BSYY.cjs → chunk-G2U3V4VA.cjs} +0 -0
@@ -1,599 +0,0 @@
1
- import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from './chunk-PCSY5IJ2.mjs';
2
- import { Separator } from './chunk-OWGKZAOO.mjs';
3
- import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetDescription } from './chunk-W3RJNSWQ.mjs';
4
- import { Skeleton } from './chunk-DWWM2TV3.mjs';
5
- import { InputRoot } from './chunk-JXALL32A.mjs';
6
- import { Button } from './chunk-INHZ5D7P.mjs';
7
- import { useIsMobile } from './chunk-XHJDRQD7.mjs';
8
- import { cn } from './chunk-HMN4IKTG.mjs';
9
- import { Slot } from '@radix-ui/react-slot';
10
- import { cva } from 'class-variance-authority';
11
- import { PanelLeftIcon } from 'lucide-react';
12
- import { createContext, useContext, useState, useCallback, useEffect, useMemo } from 'react';
13
- import { jsx, jsxs } from 'react/jsx-runtime';
14
-
15
- var SIDEBAR_WIDTH = "16rem";
16
- var SIDEBAR_WIDTH_MOBILE = "18rem";
17
- var SIDEBAR_WIDTH_ICON = "3rem";
18
- var SIDEBAR_KEYBOARD_SHORTCUT = "b";
19
- var SidebarContext = createContext(null);
20
- function useSidebar() {
21
- const context = useContext(SidebarContext);
22
- if (!context) {
23
- throw new Error("useSidebar must be used within a SidebarProvider.");
24
- }
25
- return context;
26
- }
27
- function SidebarProvider({
28
- defaultOpen = true,
29
- open: openProp,
30
- onOpenChange: setOpenProp,
31
- className,
32
- style,
33
- children,
34
- ...props
35
- }) {
36
- const isMobile = useIsMobile();
37
- const [openMobile, setOpenMobile] = useState(false);
38
- const [_open, _setOpen] = useState(defaultOpen);
39
- const open = openProp ?? _open;
40
- const setOpen = useCallback(
41
- (value) => {
42
- const openState = typeof value === "function" ? value(open) : value;
43
- if (setOpenProp) {
44
- setOpenProp(openState);
45
- } else {
46
- _setOpen(openState);
47
- }
48
- },
49
- [setOpenProp, open]
50
- );
51
- const toggleSidebar = useCallback(() => {
52
- return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
53
- }, [isMobile, setOpen, setOpenMobile]);
54
- useEffect(() => {
55
- const handleKeyDown = (event) => {
56
- if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
57
- event.preventDefault();
58
- toggleSidebar();
59
- }
60
- };
61
- window.addEventListener("keydown", handleKeyDown);
62
- return () => window.removeEventListener("keydown", handleKeyDown);
63
- }, [toggleSidebar]);
64
- const state = open ? "expanded" : "collapsed";
65
- const contextValue = useMemo(
66
- () => ({
67
- state,
68
- open,
69
- setOpen,
70
- isMobile,
71
- openMobile,
72
- setOpenMobile,
73
- toggleSidebar
74
- }),
75
- [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
76
- );
77
- return /* @__PURE__ */ jsx(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx(
78
- "div",
79
- {
80
- "data-slot": "sidebar-wrapper",
81
- style: {
82
- "--sidebar-width": SIDEBAR_WIDTH,
83
- "--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
84
- ...style
85
- },
86
- className: cn(
87
- "group/sidebar-wrapper has-data-[variant=inset]:bg-bg-primary relative flex min-h-svh w-full",
88
- className
89
- ),
90
- ...props,
91
- children
92
- }
93
- ) }) });
94
- }
95
- function Sidebar({
96
- side = "left",
97
- variant = "sidebar",
98
- collapsible = "offcanvas",
99
- className,
100
- children,
101
- ...props
102
- }) {
103
- const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
104
- if (collapsible === "none") {
105
- return /* @__PURE__ */ jsx(
106
- "div",
107
- {
108
- "data-slot": "sidebar",
109
- className: cn("flex h-full w-(--sidebar-width) flex-col", className),
110
- ...props,
111
- children
112
- }
113
- );
114
- }
115
- if (isMobile) {
116
- return /* @__PURE__ */ jsx(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs(
117
- SheetContent,
118
- {
119
- "data-sidebar": "sidebar",
120
- "data-slot": "sidebar",
121
- "data-mobile": "true",
122
- className: "bg-bg-primary text-text-primary w-(--sidebar-width) p-0 [&>button]:hidden",
123
- style: {
124
- "--sidebar-width": SIDEBAR_WIDTH_MOBILE
125
- },
126
- side,
127
- children: [
128
- /* @__PURE__ */ jsxs(SheetHeader, { className: "sr-only", children: [
129
- /* @__PURE__ */ jsx(SheetTitle, { children: "Sidebar" }),
130
- /* @__PURE__ */ jsx(SheetDescription, { children: "Displays the mobile sidebar." })
131
- ] }),
132
- /* @__PURE__ */ jsx("div", { className: "flex h-full w-full flex-col", children })
133
- ]
134
- }
135
- ) });
136
- }
137
- return /* @__PURE__ */ jsxs(
138
- "div",
139
- {
140
- className: "group peer hidden md:block",
141
- "data-state": state,
142
- "data-collapsible": state === "collapsed" ? collapsible : "",
143
- "data-variant": variant,
144
- "data-side": side,
145
- "data-slot": "sidebar",
146
- children: [
147
- /* @__PURE__ */ jsx(
148
- "div",
149
- {
150
- "data-slot": "sidebar-gap",
151
- className: cn(
152
- "relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear",
153
- "group-data-[collapsible=offcanvas]:w-0",
154
- "group-data-[side=right]:rotate-180",
155
- variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
156
- )
157
- }
158
- ),
159
- /* @__PURE__ */ jsx(
160
- "div",
161
- {
162
- "data-slot": "sidebar-container",
163
- className: cn(
164
- "border-line-primary fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) border-r transition-[left,right,width] duration-200 ease-linear md:flex",
165
- side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
166
- variant === "floating" || variant === "inset" ? "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",
167
- className
168
- ),
169
- ...props,
170
- children: /* @__PURE__ */ jsx(
171
- "div",
172
- {
173
- "data-sidebar": "sidebar",
174
- "data-slot": "sidebar-inner",
175
- className: "bg-bg-primary liquid:liquid-bg group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:rounded-uk-lg flex h-full w-full flex-col font-normal group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",
176
- children
177
- }
178
- )
179
- }
180
- )
181
- ]
182
- }
183
- );
184
- }
185
- function SidebarTrigger({ className, onClick, ...props }) {
186
- const { toggleSidebar, state } = useSidebar();
187
- return /* @__PURE__ */ jsxs(
188
- Button,
189
- {
190
- "data-sidebar": "trigger",
191
- "data-slot": "sidebar-trigger",
192
- variant: "ghost",
193
- icon: true,
194
- className: cn(
195
- "absolute top-[0px] size-7 transition-[left] duration-200 ease-linear",
196
- state === "collapsed" && "left-[2px]",
197
- state === "expanded" && "left-[var(--sidebar-width)]",
198
- className
199
- ),
200
- onClick: (event) => {
201
- onClick?.(event);
202
- toggleSidebar();
203
- },
204
- ...props,
205
- children: [
206
- /* @__PURE__ */ jsx(PanelLeftIcon, {}),
207
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Toggle Sidebar" })
208
- ]
209
- }
210
- );
211
- }
212
- function SidebarRail({ className, ...props }) {
213
- const { toggleSidebar } = useSidebar();
214
- return /* @__PURE__ */ jsx(
215
- "button",
216
- {
217
- "data-sidebar": "rail",
218
- "data-slot": "sidebar-rail",
219
- "aria-label": "Toggle Sidebar",
220
- tabIndex: -1,
221
- onClick: toggleSidebar,
222
- title: "Toggle Sidebar",
223
- className: cn(
224
- "hover:after:bg-line-primary 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",
225
- "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize",
226
- "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
227
- "hover:group-data-[collapsible=offcanvas]:bg-bg-primary group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full",
228
- "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
229
- "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
230
- className
231
- ),
232
- ...props
233
- }
234
- );
235
- }
236
- function SidebarInset({ className, ...props }) {
237
- return /* @__PURE__ */ jsx(
238
- "main",
239
- {
240
- "data-slot": "sidebar-inset",
241
- className: cn(
242
- "relative flex w-full flex-1 flex-col",
243
- "md:peer-data-[variant=inset]:rounded-uk-xl md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",
244
- className
245
- ),
246
- ...props
247
- }
248
- );
249
- }
250
- function SidebarInput({ className, ...props }) {
251
- return /* @__PURE__ */ jsx(
252
- InputRoot,
253
- {
254
- "data-slot": "sidebar-input",
255
- "data-sidebar": "input",
256
- className: cn(
257
- "bg-bg-secondary px-lg py-xs text-uk-sm leading-uk-sm h-[28px] w-full shadow-none group-data-[collapsible=icon]:hidden",
258
- className
259
- ),
260
- ...props
261
- }
262
- );
263
- }
264
- function SidebarHeader({ className, ...props }) {
265
- return /* @__PURE__ */ jsx(
266
- "div",
267
- {
268
- "data-slot": "sidebar-header",
269
- "data-sidebar": "header",
270
- className: cn("text-uk-lg leading-uk-lg px-md flex flex-col", className),
271
- ...props
272
- }
273
- );
274
- }
275
- function SidebarFooter({ className, ...props }) {
276
- return /* @__PURE__ */ jsx(
277
- "div",
278
- {
279
- "data-slot": "sidebar-footer",
280
- "data-sidebar": "footer",
281
- className: cn("px-lg flex flex-col", className),
282
- ...props
283
- }
284
- );
285
- }
286
- function SidebarSeparator({ className, ...props }) {
287
- return /* @__PURE__ */ jsx(
288
- Separator,
289
- {
290
- "data-slot": "sidebar-separator",
291
- "data-sidebar": "separator",
292
- className: cn("bg-line-primary -ml-lg", className),
293
- style: {
294
- width: "calc(100% + var(--spacing-lg) * 2)"
295
- },
296
- ...props
297
- }
298
- );
299
- }
300
- function SidebarContent({ className, ...props }) {
301
- return /* @__PURE__ */ jsx(
302
- "div",
303
- {
304
- "data-slot": "sidebar-content",
305
- "data-sidebar": "content",
306
- className: cn(
307
- "px-md lgflex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
308
- className
309
- ),
310
- ...props
311
- }
312
- );
313
- }
314
- function SidebarGroup({ className, ...props }) {
315
- return /* @__PURE__ */ jsx(
316
- "div",
317
- {
318
- "data-slot": "sidebar-group",
319
- "data-sidebar": "group",
320
- className: cn("relative flex w-full min-w-0 flex-col", className),
321
- ...props
322
- }
323
- );
324
- }
325
- function SidebarGroupLabel({
326
- className,
327
- asChild = false,
328
- ...props
329
- }) {
330
- const Comp = asChild ? Slot : "div";
331
- return /* @__PURE__ */ jsx(
332
- Comp,
333
- {
334
- "data-slot": "sidebar-group-label",
335
- "data-sidebar": "group-label",
336
- className: cn(
337
- "text-text-primary ring-sidebar-ring rounded-uk-md text-uk-md leading-uk-md flex h-[36px] shrink-0 items-center font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
338
- "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
339
- className
340
- ),
341
- ...props
342
- }
343
- );
344
- }
345
- function SidebarGroupAction({
346
- className,
347
- asChild = false,
348
- ...props
349
- }) {
350
- const Comp = asChild ? Slot : "button";
351
- return /* @__PURE__ */ jsx(
352
- Comp,
353
- {
354
- "data-slot": "sidebar-group-action",
355
- "data-sidebar": "group-action",
356
- className: cn(
357
- "hover:bg-bg-secondary rounded-uk-md absolute top-[6px] right-[12px] flex aspect-square w-5 items-center justify-center p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
358
- "after:absolute after:-inset-2 md:after:hidden",
359
- "group-data-[collapsible=icon]:hidden",
360
- className
361
- ),
362
- ...props
363
- }
364
- );
365
- }
366
- function SidebarGroupContent({ className, ...props }) {
367
- return /* @__PURE__ */ jsx(
368
- "div",
369
- {
370
- "data-slot": "sidebar-group-content",
371
- "data-sidebar": "group-content",
372
- className: cn("text-uk-sm w-full", className),
373
- ...props
374
- }
375
- );
376
- }
377
- function SidebarMenu({ className, ...props }) {
378
- return /* @__PURE__ */ jsx(
379
- "ul",
380
- {
381
- "data-slot": "sidebar-menu",
382
- "data-sidebar": "menu",
383
- className: cn("gap-lg flex w-full min-w-0 flex-col", className),
384
- style: {
385
- paddingLeft: "0px",
386
- marginBottom: "0px"
387
- },
388
- ...props
389
- }
390
- );
391
- }
392
- function SidebarMenuItem({ className, ...props }) {
393
- return /* @__PURE__ */ jsx(
394
- "li",
395
- {
396
- "data-slot": "sidebar-menu-item",
397
- "data-sidebar": "menu-item",
398
- className: cn("group/menu-item relative", className),
399
- style: {
400
- paddingBottom: "0px",
401
- marginBottom: "0px"
402
- },
403
- ...props
404
- }
405
- );
406
- }
407
- var sidebarMenuButtonVariants = cva(
408
- "peer/menu-button flex w-full items-center gap-md overflow-hidden rounde-uk-md text-left text-uk-lg leading-uk-lg outline-hidden ring-sidebar-ring transition-[width,height,padding] text-text-primary focus-visible:ring-2 active:text-text-highlight 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 font-medium group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-[16px] [&>svg]:shrink-0",
409
- {
410
- variants: {
411
- variant: {
412
- default: "",
413
- outline: ""
414
- },
415
- size: {
416
- default: "h-[36px] text-uk-lg leading-uk-lg",
417
- sm: "h-[30px] text-uk-sm leading-uk-sm",
418
- lg: "h-[32px] text-uk-lg leading-uk-lg group-data-[collapsible=icon]:p-0!"
419
- }
420
- },
421
- defaultVariants: {
422
- variant: "default",
423
- size: "default"
424
- }
425
- }
426
- );
427
- function SidebarMenuButton({
428
- asChild = false,
429
- isActive = false,
430
- variant = "default",
431
- size = "default",
432
- tooltip,
433
- className,
434
- ...props
435
- }) {
436
- const Comp = asChild ? Slot : "button";
437
- const { isMobile, state } = useSidebar();
438
- const button = /* @__PURE__ */ jsx(
439
- Comp,
440
- {
441
- "data-slot": "sidebar-menu-button",
442
- "data-sidebar": "menu-button",
443
- "data-size": size,
444
- "data-active": isActive,
445
- className: cn(sidebarMenuButtonVariants({ variant, size }), className),
446
- ...props
447
- }
448
- );
449
- if (!tooltip) {
450
- return button;
451
- }
452
- if (typeof tooltip === "string") {
453
- tooltip = {
454
- children: tooltip
455
- };
456
- }
457
- return /* @__PURE__ */ jsxs(Tooltip, { children: [
458
- /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: button }),
459
- /* @__PURE__ */ jsx(
460
- TooltipContent,
461
- {
462
- side: "right",
463
- align: "center",
464
- hidden: state !== "collapsed" || isMobile,
465
- ...tooltip
466
- }
467
- )
468
- ] });
469
- }
470
- function SidebarMenuAction({
471
- className,
472
- asChild = false,
473
- showOnHover = false,
474
- ...props
475
- }) {
476
- const Comp = asChild ? Slot : "button";
477
- return /* @__PURE__ */ jsx(
478
- Comp,
479
- {
480
- "data-slot": "sidebar-menu-action",
481
- "data-sidebar": "menu-action",
482
- className: cn(
483
- "hover:bg-bg-secondary rounded-uk-md absolute top-[6px] right-[12px] flex aspect-square w-5 items-center justify-center p-0 outline-hidden transition-transform [&>svg]:size-4 [&>svg]:shrink-0",
484
- "group-data-[collapsible=icon]:hidden",
485
- showOnHover && "peer-data-[active=true]/menu-button:text-text-highlight group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",
486
- className
487
- ),
488
- ...props
489
- }
490
- );
491
- }
492
- function SidebarMenuBadge({ className, ...props }) {
493
- return /* @__PURE__ */ jsx(
494
- "div",
495
- {
496
- "data-slot": "sidebar-menu-badge",
497
- "data-sidebar": "menu-badge",
498
- className: cn(
499
- "text-text-primary rounded-uk-md text-uk-sm pointer-events-none absolute top-[6px] right-[12px] flex min-w-5 items-center justify-center font-medium tabular-nums select-none",
500
- "group-data-[collapsible=icon]:hidden",
501
- className
502
- ),
503
- ...props
504
- }
505
- );
506
- }
507
- function SidebarMenuSkeleton({
508
- className,
509
- showIcon = false,
510
- ...props
511
- }) {
512
- const width = useMemo(() => {
513
- return `${Math.floor(Math.random() * 40) + 50}%`;
514
- }, []);
515
- return /* @__PURE__ */ jsxs(
516
- "div",
517
- {
518
- "data-slot": "sidebar-menu-skeleton",
519
- "data-sidebar": "menu-skeleton",
520
- className: cn("rounded-uk-md flex h-8 items-center gap-2 px-2", className),
521
- ...props,
522
- children: [
523
- showIcon && /* @__PURE__ */ jsx(Skeleton, { className: "rounded-uk-md size-4", "data-sidebar": "menu-skeleton-icon" }),
524
- /* @__PURE__ */ jsx(
525
- Skeleton,
526
- {
527
- className: "h-4 max-w-(--skeleton-width) flex-1",
528
- "data-sidebar": "menu-skeleton-text",
529
- style: {
530
- "--skeleton-width": width
531
- }
532
- }
533
- )
534
- ]
535
- }
536
- );
537
- }
538
- function SidebarMenuSub({ className, ...props }) {
539
- return /* @__PURE__ */ jsx(
540
- "ul",
541
- {
542
- "data-slot": "sidebar-menu-sub",
543
- "data-sidebar": "menu-sub",
544
- className: cn(
545
- "gap-sm mt-sm flex min-w-0 translate-x-px flex-col",
546
- "group-data-[collapsible=icon]:hidden",
547
- className
548
- ),
549
- style: {
550
- paddingLeft: "0px",
551
- marginBottom: "0px"
552
- },
553
- ...props
554
- }
555
- );
556
- }
557
- function SidebarMenuSubItem({ className, ...props }) {
558
- return /* @__PURE__ */ jsx(
559
- "li",
560
- {
561
- "data-slot": "sidebar-menu-sub-item",
562
- "data-sidebar": "menu-sub-item",
563
- className: cn("group/menu-sub-item relative", className),
564
- style: {
565
- paddingBottom: "0px",
566
- marginBottom: "0px"
567
- },
568
- ...props
569
- }
570
- );
571
- }
572
- function SidebarMenuSubButton({
573
- asChild = false,
574
- size = "md",
575
- isActive = false,
576
- className,
577
- ...props
578
- }) {
579
- const Comp = asChild ? Slot : "a";
580
- return /* @__PURE__ */ jsx(
581
- Comp,
582
- {
583
- "data-slot": "sidebar-menu-sub-button",
584
- "data-sidebar": "menu-sub-button",
585
- "data-size": size,
586
- "data-active": isActive,
587
- className: cn(
588
- "text-text-primary ring-sidebar-ring hover:bg-bg-secondary hover:text-text-primary active:bg-bg-tertiary active:text-text-highlight [&>svg]:text-icon-primary gap-md rounded-uk-md px-lg flex h-[32px] min-w-0 -translate-x-px items-center overflow-hidden 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-[16px] [&>svg]:shrink-0",
589
- size === "sm" && "text-uk-sm leading-uk-sm",
590
- size === "md" && "text-uk-md leading-uk-md",
591
- "group-data-[collapsible=icon]:hidden",
592
- className
593
- ),
594
- ...props
595
- }
596
- );
597
- }
598
-
599
- 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 };