@prediktif/ui 0.1.7 → 0.1.8

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.
package/dist/index.js CHANGED
@@ -61,31 +61,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
61
61
  var index_exports = {};
62
62
  __export(index_exports, {
63
63
  HeaderTitle: () => HeaderTitle,
64
- NavUser: () => NavUser,
65
- Sidebar: () => Sidebar,
66
- SidebarContent: () => SidebarContent,
67
- SidebarFooter: () => SidebarFooter,
68
- SidebarGroup: () => SidebarGroup,
69
- SidebarGroupAction: () => SidebarGroupAction,
70
- SidebarGroupContent: () => SidebarGroupContent,
71
- SidebarGroupLabel: () => SidebarGroupLabel,
72
- SidebarHeader: () => SidebarHeader,
73
- SidebarInput: () => SidebarInput,
74
- SidebarInset: () => SidebarInset,
75
- SidebarMenu: () => SidebarMenu,
76
- SidebarMenuAction: () => SidebarMenuAction,
77
- SidebarMenuBadge: () => SidebarMenuBadge,
78
- SidebarMenuButton: () => SidebarMenuButton,
79
- SidebarMenuItem: () => SidebarMenuItem,
80
- SidebarMenuSkeleton: () => SidebarMenuSkeleton,
81
- SidebarMenuSub: () => SidebarMenuSub,
82
- SidebarMenuSubButton: () => SidebarMenuSubButton,
83
- SidebarMenuSubItem: () => SidebarMenuSubItem,
84
- SidebarProvider: () => SidebarProvider,
85
- SidebarRail: () => SidebarRail,
86
- SidebarSeparator: () => SidebarSeparator,
87
- SidebarTrigger: () => SidebarTrigger,
88
- useSidebar: () => useSidebar
64
+ NavUser: () => NavUser
89
65
  });
90
66
  module.exports = __toCommonJS(index_exports);
91
67
 
@@ -206,195 +182,26 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
206
182
  }
207
183
  }
208
184
  );
209
- function Button(_a) {
210
- var _b = _a, {
211
- className,
212
- variant = "default",
213
- size = "default"
214
- } = _b, props = __objRest(_b, [
215
- "className",
216
- "variant",
217
- "size"
218
- ]);
219
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
220
- import_button.Button,
221
- __spreadValues({
222
- "data-slot": "button",
223
- className: (0, import_cn2.cn)(buttonVariants({ variant, size, className }))
224
- }, props)
225
- );
226
- }
227
185
 
228
186
  // src/components/ui/input.tsx
229
187
  var import_input = require("@base-ui/react/input");
230
188
  var import_cn3 = require("cn");
231
189
  var import_jsx_runtime4 = require("react/jsx-runtime");
232
- function Input(_a) {
233
- var _b = _a, { className, type } = _b, props = __objRest(_b, ["className", "type"]);
234
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
235
- import_input.Input,
236
- __spreadValues({
237
- type,
238
- "data-slot": "input",
239
- className: (0, import_cn3.cn)(
240
- "h-7 w-full min-w-0 rounded-md border border-input bg-input/20 px-2 py-0.5 text-sm transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-xs/relaxed file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 md:text-xs/relaxed dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
241
- className
242
- )
243
- }, props)
244
- );
245
- }
246
190
 
247
191
  // src/components/ui/separator.tsx
248
192
  var import_separator = require("@base-ui/react/separator");
249
193
  var import_cn4 = require("cn");
250
194
  var import_jsx_runtime5 = require("react/jsx-runtime");
251
- function Separator(_a) {
252
- var _b = _a, {
253
- className,
254
- orientation = "horizontal"
255
- } = _b, props = __objRest(_b, [
256
- "className",
257
- "orientation"
258
- ]);
259
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
260
- import_separator.Separator,
261
- __spreadValues({
262
- "data-slot": "separator",
263
- orientation,
264
- className: (0, import_cn4.cn)(
265
- "shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",
266
- className
267
- )
268
- }, props)
269
- );
270
- }
271
195
 
272
196
  // src/components/ui/sheet.tsx
273
197
  var import_dialog = require("@base-ui/react/dialog");
274
198
  var import_cn5 = require("cn");
275
199
  var import_lucide_react = require("lucide-react");
276
200
  var import_jsx_runtime6 = require("react/jsx-runtime");
277
- function Sheet(_a) {
278
- var props = __objRest(_a, []);
279
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_dialog.Dialog.Root, __spreadValues({ "data-slot": "sheet" }, props));
280
- }
281
- function SheetPortal(_a) {
282
- var props = __objRest(_a, []);
283
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_dialog.Dialog.Portal, __spreadValues({ "data-slot": "sheet-portal" }, props));
284
- }
285
- function SheetOverlay(_a) {
286
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
287
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
288
- import_dialog.Dialog.Backdrop,
289
- __spreadValues({
290
- "data-slot": "sheet-overlay",
291
- className: (0, import_cn5.cn)(
292
- "fixed inset-0 z-50 bg-black/80 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs",
293
- className
294
- )
295
- }, props)
296
- );
297
- }
298
- function SheetContent(_a) {
299
- var _b = _a, {
300
- className,
301
- children,
302
- side = "right",
303
- showCloseButton = true
304
- } = _b, props = __objRest(_b, [
305
- "className",
306
- "children",
307
- "side",
308
- "showCloseButton"
309
- ]);
310
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(SheetPortal, { children: [
311
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(SheetOverlay, {}),
312
- /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
313
- import_dialog.Dialog.Popup,
314
- __spreadProps(__spreadValues({
315
- "data-slot": "sheet-content",
316
- "data-side": side,
317
- className: (0, import_cn5.cn)(
318
- "fixed z-50 flex flex-col bg-popover bg-clip-padding text-xs/relaxed text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",
319
- className
320
- )
321
- }, props), {
322
- children: [
323
- children,
324
- showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
325
- import_dialog.Dialog.Close,
326
- {
327
- "data-slot": "sheet-close",
328
- render: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
329
- Button,
330
- {
331
- variant: "ghost",
332
- className: "absolute top-4 right-4",
333
- size: "icon-sm"
334
- }
335
- ),
336
- children: [
337
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_lucide_react.XIcon, {}),
338
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "sr-only", children: "Close" })
339
- ]
340
- }
341
- )
342
- ]
343
- })
344
- )
345
- ] });
346
- }
347
- function SheetHeader(_a) {
348
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
349
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
350
- "div",
351
- __spreadValues({
352
- "data-slot": "sheet-header",
353
- className: (0, import_cn5.cn)("flex flex-col gap-1.5 p-6", className)
354
- }, props)
355
- );
356
- }
357
- function SheetTitle(_a) {
358
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
359
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
360
- import_dialog.Dialog.Title,
361
- __spreadValues({
362
- "data-slot": "sheet-title",
363
- className: (0, import_cn5.cn)(
364
- "font-heading text-sm font-medium text-foreground",
365
- className
366
- )
367
- }, props)
368
- );
369
- }
370
- function SheetDescription(_a) {
371
- var _b = _a, {
372
- className
373
- } = _b, props = __objRest(_b, [
374
- "className"
375
- ]);
376
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
377
- import_dialog.Dialog.Description,
378
- __spreadValues({
379
- "data-slot": "sheet-description",
380
- className: (0, import_cn5.cn)("text-xs/relaxed text-muted-foreground", className)
381
- }, props)
382
- );
383
- }
384
201
 
385
202
  // src/components/ui/skeleton.tsx
386
203
  var import_cn6 = require("cn");
387
204
  var import_jsx_runtime7 = require("react/jsx-runtime");
388
- function Skeleton(_a) {
389
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
390
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
391
- "div",
392
- __spreadValues({
393
- "data-slot": "skeleton",
394
- className: (0, import_cn6.cn)("animate-pulse rounded-md bg-muted", className)
395
- }, props)
396
- );
397
- }
398
205
 
399
206
  // src/components/ui/tooltip.tsx
400
207
  var import_tooltip = require("@base-ui/react/tooltip");
@@ -453,31 +260,10 @@ function TooltipContent(_a) {
453
260
 
454
261
  // src/hooks/use-mobile.ts
455
262
  var React = __toESM(require("react"));
456
- var MOBILE_BREAKPOINT = 768;
457
- function useIsMobile() {
458
- const [isMobile, setIsMobile] = React.useState(
459
- void 0
460
- );
461
- React.useEffect(() => {
462
- const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
463
- const onChange = () => {
464
- setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
465
- };
466
- mql.addEventListener("change", onChange);
467
- setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
468
- return () => mql.removeEventListener("change", onChange);
469
- }, []);
470
- return !!isMobile;
471
- }
472
263
 
473
264
  // src/components/ui/sidebar.tsx
474
265
  var import_jsx_runtime9 = require("react/jsx-runtime");
475
- var SIDEBAR_COOKIE_NAME = "sidebar_state";
476
266
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
477
- var SIDEBAR_WIDTH = "16rem";
478
- var SIDEBAR_WIDTH_MOBILE = "18rem";
479
- var SIDEBAR_WIDTH_ICON = "3rem";
480
- var SIDEBAR_KEYBOARD_SHORTCUT = "b";
481
267
  var SidebarContext = React2.createContext(null);
482
268
  function useSidebar() {
483
269
  const context = React2.useContext(SidebarContext);
@@ -486,279 +272,6 @@ function useSidebar() {
486
272
  }
487
273
  return context;
488
274
  }
489
- function SidebarProvider(_a) {
490
- var _b = _a, {
491
- defaultOpen = true,
492
- open: openProp,
493
- onOpenChange: setOpenProp,
494
- className,
495
- style,
496
- children
497
- } = _b, props = __objRest(_b, [
498
- "defaultOpen",
499
- "open",
500
- "onOpenChange",
501
- "className",
502
- "style",
503
- "children"
504
- ]);
505
- const isMobile = useIsMobile();
506
- const [openMobile, setOpenMobile] = React2.useState(false);
507
- const [_open, _setOpen] = React2.useState(defaultOpen);
508
- const open = openProp != null ? openProp : _open;
509
- const setOpen = React2.useCallback(
510
- (value) => {
511
- const openState = typeof value === "function" ? value(open) : value;
512
- if (setOpenProp) {
513
- setOpenProp(openState);
514
- } else {
515
- _setOpen(openState);
516
- }
517
- document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
518
- },
519
- [setOpenProp, open]
520
- );
521
- const toggleSidebar = React2.useCallback(() => {
522
- return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
523
- }, [isMobile, setOpen]);
524
- React2.useEffect(() => {
525
- const handleKeyDown = (event) => {
526
- if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
527
- event.preventDefault();
528
- toggleSidebar();
529
- }
530
- };
531
- window.addEventListener("keydown", handleKeyDown);
532
- return () => window.removeEventListener("keydown", handleKeyDown);
533
- }, [toggleSidebar]);
534
- const state = open ? "expanded" : "collapsed";
535
- const contextValue = React2.useMemo(
536
- () => ({
537
- state,
538
- open,
539
- setOpen,
540
- isMobile,
541
- openMobile,
542
- setOpenMobile,
543
- toggleSidebar
544
- }),
545
- [state, open, setOpen, isMobile, openMobile, toggleSidebar]
546
- );
547
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
548
- "div",
549
- __spreadProps(__spreadValues({
550
- "data-slot": "sidebar-wrapper",
551
- style: __spreadValues({
552
- "--sidebar-width": SIDEBAR_WIDTH,
553
- "--sidebar-width-icon": SIDEBAR_WIDTH_ICON
554
- }, style),
555
- className: (0, import_cn8.cn)(
556
- "group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",
557
- className
558
- )
559
- }, props), {
560
- children
561
- })
562
- ) });
563
- }
564
- function Sidebar(_a) {
565
- var _b = _a, {
566
- side = "left",
567
- variant = "sidebar",
568
- collapsible = "offcanvas",
569
- className,
570
- children,
571
- dir
572
- } = _b, props = __objRest(_b, [
573
- "side",
574
- "variant",
575
- "collapsible",
576
- "className",
577
- "children",
578
- "dir"
579
- ]);
580
- const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
581
- if (collapsible === "none") {
582
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
583
- "div",
584
- __spreadProps(__spreadValues({
585
- "data-slot": "sidebar",
586
- className: (0, import_cn8.cn)(
587
- "flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",
588
- className
589
- )
590
- }, props), {
591
- children
592
- })
593
- );
594
- }
595
- if (isMobile) {
596
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Sheet, __spreadProps(__spreadValues({ open: openMobile, onOpenChange: setOpenMobile }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
597
- SheetContent,
598
- {
599
- dir,
600
- "data-sidebar": "sidebar",
601
- "data-slot": "sidebar",
602
- "data-mobile": "true",
603
- className: "w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",
604
- style: {
605
- "--sidebar-width": SIDEBAR_WIDTH_MOBILE
606
- },
607
- side,
608
- children: [
609
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(SheetHeader, { className: "sr-only", children: [
610
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(SheetTitle, { children: "Sidebar" }),
611
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(SheetDescription, { children: "Displays the mobile sidebar." })
612
- ] }),
613
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "flex h-full w-full flex-col", children })
614
- ]
615
- }
616
- ) }));
617
- }
618
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
619
- "div",
620
- {
621
- className: "group peer hidden text-sidebar-foreground md:block",
622
- "data-state": state,
623
- "data-collapsible": state === "collapsed" ? collapsible : "",
624
- "data-variant": variant,
625
- "data-side": side,
626
- "data-slot": "sidebar",
627
- children: [
628
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
629
- "div",
630
- {
631
- "data-slot": "sidebar-gap",
632
- className: (0, import_cn8.cn)(
633
- "relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear",
634
- "group-data-[collapsible=offcanvas]:w-0",
635
- "group-data-[side=right]:rotate-180",
636
- variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
637
- )
638
- }
639
- ),
640
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
641
- "div",
642
- __spreadProps(__spreadValues({
643
- "data-slot": "sidebar-container",
644
- "data-side": side,
645
- className: (0, import_cn8.cn)(
646
- "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",
647
- // Adjust the padding for floating and inset variants.
648
- 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",
649
- className
650
- )
651
- }, props), {
652
- children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
653
- "div",
654
- {
655
- "data-sidebar": "sidebar",
656
- "data-slot": "sidebar-inner",
657
- 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",
658
- children
659
- }
660
- )
661
- })
662
- )
663
- ]
664
- }
665
- );
666
- }
667
- function SidebarTrigger(_a) {
668
- var _b = _a, {
669
- className,
670
- onClick
671
- } = _b, props = __objRest(_b, [
672
- "className",
673
- "onClick"
674
- ]);
675
- const { toggleSidebar } = useSidebar();
676
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
677
- Button,
678
- __spreadProps(__spreadValues({
679
- "data-sidebar": "trigger",
680
- "data-slot": "sidebar-trigger",
681
- variant: "ghost",
682
- size: "icon-sm",
683
- className: (0, import_cn8.cn)(className),
684
- onClick: (event) => {
685
- onClick == null ? void 0 : onClick(event);
686
- toggleSidebar();
687
- }
688
- }, props), {
689
- children: [
690
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_lucide_react2.PanelLeftIcon, {}),
691
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
692
- ]
693
- })
694
- );
695
- }
696
- function SidebarRail(_a) {
697
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
698
- const { toggleSidebar } = useSidebar();
699
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
700
- "button",
701
- __spreadValues({
702
- "data-sidebar": "rail",
703
- "data-slot": "sidebar-rail",
704
- "aria-label": "Toggle Sidebar",
705
- tabIndex: -1,
706
- onClick: toggleSidebar,
707
- title: "Toggle Sidebar",
708
- className: (0, import_cn8.cn)(
709
- "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",
710
- "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize",
711
- "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
712
- "group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-sidebar",
713
- "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
714
- "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
715
- className
716
- )
717
- }, props)
718
- );
719
- }
720
- function SidebarInset(_a) {
721
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
722
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
723
- "main",
724
- __spreadValues({
725
- "data-slot": "sidebar-inset",
726
- className: (0, import_cn8.cn)(
727
- "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",
728
- className
729
- )
730
- }, props)
731
- );
732
- }
733
- function SidebarInput(_a) {
734
- var _b = _a, {
735
- className
736
- } = _b, props = __objRest(_b, [
737
- "className"
738
- ]);
739
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
740
- Input,
741
- __spreadValues({
742
- "data-slot": "sidebar-input",
743
- "data-sidebar": "input",
744
- className: (0, import_cn8.cn)(
745
- "h-8 w-full border-input bg-muted/20 dark:bg-muted/30",
746
- className
747
- )
748
- }, props)
749
- );
750
- }
751
- function SidebarHeader(_a) {
752
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
753
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
754
- "div",
755
- __spreadValues({
756
- "data-slot": "sidebar-header",
757
- "data-sidebar": "header",
758
- className: (0, import_cn8.cn)("flex flex-col gap-2 p-2", className)
759
- }, props)
760
- );
761
- }
762
275
  function SidebarFooter(_a) {
763
276
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
764
277
  return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
@@ -770,116 +283,6 @@ function SidebarFooter(_a) {
770
283
  }, props)
771
284
  );
772
285
  }
773
- function SidebarSeparator(_a) {
774
- var _b = _a, {
775
- className
776
- } = _b, props = __objRest(_b, [
777
- "className"
778
- ]);
779
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
780
- Separator,
781
- __spreadValues({
782
- "data-slot": "sidebar-separator",
783
- "data-sidebar": "separator",
784
- className: (0, import_cn8.cn)("mx-2 w-auto bg-sidebar-border", className)
785
- }, props)
786
- );
787
- }
788
- function SidebarContent(_a) {
789
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
790
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
791
- "div",
792
- __spreadValues({
793
- "data-slot": "sidebar-content",
794
- "data-sidebar": "content",
795
- className: (0, import_cn8.cn)(
796
- "no-scrollbar flex min-h-0 flex-1 flex-col gap-0 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
797
- className
798
- )
799
- }, props)
800
- );
801
- }
802
- function SidebarGroup(_a) {
803
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
804
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
805
- "div",
806
- __spreadValues({
807
- "data-slot": "sidebar-group",
808
- "data-sidebar": "group",
809
- className: (0, import_cn8.cn)(
810
- "relative flex w-full min-w-0 flex-col px-2 py-1",
811
- className
812
- )
813
- }, props)
814
- );
815
- }
816
- function SidebarGroupLabel(_a) {
817
- var _b = _a, {
818
- className,
819
- render
820
- } = _b, props = __objRest(_b, [
821
- "className",
822
- "render"
823
- ]);
824
- return (0, import_use_render.useRender)({
825
- defaultTagName: "div",
826
- props: (0, import_merge_props.mergeProps)(
827
- {
828
- className: (0, import_cn8.cn)(
829
- "flex h-8 shrink-0 items-center rounded-md px-2 text-xs 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",
830
- className
831
- )
832
- },
833
- props
834
- ),
835
- render,
836
- state: {
837
- slot: "sidebar-group-label",
838
- sidebar: "group-label"
839
- }
840
- });
841
- }
842
- function SidebarGroupAction(_a) {
843
- var _b = _a, {
844
- className,
845
- render
846
- } = _b, props = __objRest(_b, [
847
- "className",
848
- "render"
849
- ]);
850
- return (0, import_use_render.useRender)({
851
- defaultTagName: "button",
852
- props: (0, import_merge_props.mergeProps)(
853
- {
854
- className: (0, import_cn8.cn)(
855
- "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",
856
- className
857
- )
858
- },
859
- props
860
- ),
861
- render,
862
- state: {
863
- slot: "sidebar-group-action",
864
- sidebar: "group-action"
865
- }
866
- });
867
- }
868
- function SidebarGroupContent(_a) {
869
- var _b = _a, {
870
- className
871
- } = _b, props = __objRest(_b, [
872
- "className"
873
- ]);
874
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
875
- "div",
876
- __spreadValues({
877
- "data-slot": "sidebar-group-content",
878
- "data-sidebar": "group-content",
879
- className: (0, import_cn8.cn)("w-full text-xs", className)
880
- }, props)
881
- );
882
- }
883
286
  function SidebarMenu(_a) {
884
287
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
885
288
  return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
@@ -975,154 +378,6 @@ function SidebarMenuButton(_a) {
975
378
  )
976
379
  ] });
977
380
  }
978
- function SidebarMenuAction(_a) {
979
- var _b = _a, {
980
- className,
981
- render,
982
- showOnHover = false
983
- } = _b, props = __objRest(_b, [
984
- "className",
985
- "render",
986
- "showOnHover"
987
- ]);
988
- return (0, import_use_render.useRender)({
989
- defaultTagName: "button",
990
- props: (0, import_merge_props.mergeProps)(
991
- {
992
- className: (0, import_cn8.cn)(
993
- "absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-[calc(var(--radius-sm)-2px)] 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",
994
- 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",
995
- className
996
- )
997
- },
998
- props
999
- ),
1000
- render,
1001
- state: {
1002
- slot: "sidebar-menu-action",
1003
- sidebar: "menu-action"
1004
- }
1005
- });
1006
- }
1007
- function SidebarMenuBadge(_a) {
1008
- var _b = _a, {
1009
- className
1010
- } = _b, props = __objRest(_b, [
1011
- "className"
1012
- ]);
1013
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1014
- "div",
1015
- __spreadValues({
1016
- "data-slot": "sidebar-menu-badge",
1017
- "data-sidebar": "menu-badge",
1018
- className: (0, import_cn8.cn)(
1019
- "pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-[calc(var(--radius-sm)-2px)] 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",
1020
- className
1021
- )
1022
- }, props)
1023
- );
1024
- }
1025
- function SidebarMenuSkeleton(_a) {
1026
- var _b = _a, {
1027
- className,
1028
- showIcon = false
1029
- } = _b, props = __objRest(_b, [
1030
- "className",
1031
- "showIcon"
1032
- ]);
1033
- const [width] = React2.useState(() => {
1034
- return `${Math.floor(Math.random() * 40) + 50}%`;
1035
- });
1036
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
1037
- "div",
1038
- __spreadProps(__spreadValues({
1039
- "data-slot": "sidebar-menu-skeleton",
1040
- "data-sidebar": "menu-skeleton",
1041
- className: (0, import_cn8.cn)("flex h-8 items-center gap-2 rounded-md px-2", className)
1042
- }, props), {
1043
- children: [
1044
- showIcon && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1045
- Skeleton,
1046
- {
1047
- className: "size-4 rounded-md",
1048
- "data-sidebar": "menu-skeleton-icon"
1049
- }
1050
- ),
1051
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1052
- Skeleton,
1053
- {
1054
- className: "h-4 max-w-(--skeleton-width) flex-1",
1055
- "data-sidebar": "menu-skeleton-text",
1056
- style: {
1057
- "--skeleton-width": width
1058
- }
1059
- }
1060
- )
1061
- ]
1062
- })
1063
- );
1064
- }
1065
- function SidebarMenuSub(_a) {
1066
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1067
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1068
- "ul",
1069
- __spreadValues({
1070
- "data-slot": "sidebar-menu-sub",
1071
- "data-sidebar": "menu-sub",
1072
- className: (0, import_cn8.cn)(
1073
- "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",
1074
- className
1075
- )
1076
- }, props)
1077
- );
1078
- }
1079
- function SidebarMenuSubItem(_a) {
1080
- var _b = _a, {
1081
- className
1082
- } = _b, props = __objRest(_b, [
1083
- "className"
1084
- ]);
1085
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1086
- "li",
1087
- __spreadValues({
1088
- "data-slot": "sidebar-menu-sub-item",
1089
- "data-sidebar": "menu-sub-item",
1090
- className: (0, import_cn8.cn)("group/menu-sub-item relative", className)
1091
- }, props)
1092
- );
1093
- }
1094
- function SidebarMenuSubButton(_a) {
1095
- var _b = _a, {
1096
- render,
1097
- size = "md",
1098
- isActive = false,
1099
- className
1100
- } = _b, props = __objRest(_b, [
1101
- "render",
1102
- "size",
1103
- "isActive",
1104
- "className"
1105
- ]);
1106
- return (0, import_use_render.useRender)({
1107
- defaultTagName: "a",
1108
- props: (0, import_merge_props.mergeProps)(
1109
- {
1110
- className: (0, import_cn8.cn)(
1111
- "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-xs 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",
1112
- className
1113
- )
1114
- },
1115
- props
1116
- ),
1117
- render,
1118
- state: {
1119
- slot: "sidebar-menu-sub-button",
1120
- sidebar: "menu-sub-button",
1121
- size,
1122
- active: isActive
1123
- }
1124
- });
1125
- }
1126
381
 
1127
382
  // src/components/composed/nav-user.tsx
1128
383
  var import_jsx_runtime10 = require("react/jsx-runtime");
@@ -1147,29 +402,5 @@ var NavUser = (0, import_react2.memo)(function NavUser2({
1147
402
  // Annotate the CommonJS export names for ESM import in node:
1148
403
  0 && (module.exports = {
1149
404
  HeaderTitle,
1150
- NavUser,
1151
- Sidebar,
1152
- SidebarContent,
1153
- SidebarFooter,
1154
- SidebarGroup,
1155
- SidebarGroupAction,
1156
- SidebarGroupContent,
1157
- SidebarGroupLabel,
1158
- SidebarHeader,
1159
- SidebarInput,
1160
- SidebarInset,
1161
- SidebarMenu,
1162
- SidebarMenuAction,
1163
- SidebarMenuBadge,
1164
- SidebarMenuButton,
1165
- SidebarMenuItem,
1166
- SidebarMenuSkeleton,
1167
- SidebarMenuSub,
1168
- SidebarMenuSubButton,
1169
- SidebarMenuSubItem,
1170
- SidebarProvider,
1171
- SidebarRail,
1172
- SidebarSeparator,
1173
- SidebarTrigger,
1174
- useSidebar
405
+ NavUser
1175
406
  });