@kubetail/ui 2.1.2 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/dist/elements/button.cjs +1 -1
  2. package/dist/elements/button.cjs.map +1 -1
  3. package/dist/elements/button.js +12 -10
  4. package/dist/elements/button.js.map +1 -1
  5. package/dist/elements/calendar.cjs +1 -1
  6. package/dist/elements/calendar.cjs.map +1 -1
  7. package/dist/elements/calendar.js +10 -8
  8. package/dist/elements/calendar.js.map +1 -1
  9. package/dist/elements/card.cjs +1 -1
  10. package/dist/elements/card.cjs.map +1 -1
  11. package/dist/elements/card.js +33 -31
  12. package/dist/elements/card.js.map +1 -1
  13. package/dist/elements/checkbox.cjs +1 -1
  14. package/dist/elements/checkbox.cjs.map +1 -1
  15. package/dist/elements/checkbox.js +12 -10
  16. package/dist/elements/checkbox.js.map +1 -1
  17. package/dist/elements/dialog.cjs +1 -1
  18. package/dist/elements/dialog.cjs.map +1 -1
  19. package/dist/elements/dialog.js +42 -40
  20. package/dist/elements/dialog.js.map +1 -1
  21. package/dist/elements/dropdown-menu.cjs +1 -1
  22. package/dist/elements/dropdown-menu.cjs.map +1 -1
  23. package/dist/elements/dropdown-menu.js +74 -72
  24. package/dist/elements/dropdown-menu.js.map +1 -1
  25. package/dist/elements/form.cjs +1 -1
  26. package/dist/elements/form.cjs.map +1 -1
  27. package/dist/elements/form.js +55 -53
  28. package/dist/elements/form.js.map +1 -1
  29. package/dist/elements/input.cjs +1 -1
  30. package/dist/elements/input.cjs.map +1 -1
  31. package/dist/elements/input.js +8 -6
  32. package/dist/elements/input.js.map +1 -1
  33. package/dist/elements/label.cjs +1 -1
  34. package/dist/elements/label.cjs.map +1 -1
  35. package/dist/elements/label.js +9 -7
  36. package/dist/elements/label.js.map +1 -1
  37. package/dist/elements/link.cjs +1 -1
  38. package/dist/elements/link.cjs.map +1 -1
  39. package/dist/elements/link.js +28 -26
  40. package/dist/elements/link.js.map +1 -1
  41. package/dist/elements/pagination.cjs +1 -1
  42. package/dist/elements/pagination.cjs.map +1 -1
  43. package/dist/elements/pagination.js +43 -41
  44. package/dist/elements/pagination.js.map +1 -1
  45. package/dist/elements/popover.cjs +1 -1
  46. package/dist/elements/popover.cjs.map +1 -1
  47. package/dist/elements/popover.js +19 -17
  48. package/dist/elements/popover.js.map +1 -1
  49. package/dist/elements/search-box.cjs +1 -1
  50. package/dist/elements/search-box.cjs.map +1 -1
  51. package/dist/elements/search-box.js +16 -14
  52. package/dist/elements/search-box.js.map +1 -1
  53. package/dist/elements/select.cjs +1 -1
  54. package/dist/elements/select.cjs.map +1 -1
  55. package/dist/elements/select.js +58 -56
  56. package/dist/elements/select.js.map +1 -1
  57. package/dist/elements/separator.cjs +1 -1
  58. package/dist/elements/separator.cjs.map +1 -1
  59. package/dist/elements/separator.js +9 -7
  60. package/dist/elements/separator.js.map +1 -1
  61. package/dist/elements/sheet.cjs +1 -1
  62. package/dist/elements/sheet.cjs.map +1 -1
  63. package/dist/elements/sheet.js +41 -39
  64. package/dist/elements/sheet.js.map +1 -1
  65. package/dist/elements/sidebar.cjs +1 -1
  66. package/dist/elements/sidebar.cjs.map +1 -1
  67. package/dist/elements/sidebar.js +196 -194
  68. package/dist/elements/sidebar.js.map +1 -1
  69. package/dist/elements/skeleton.cjs +1 -1
  70. package/dist/elements/skeleton.cjs.map +1 -1
  71. package/dist/elements/skeleton.js +8 -6
  72. package/dist/elements/skeleton.js.map +1 -1
  73. package/dist/elements/spinner.cjs +1 -1
  74. package/dist/elements/spinner.cjs.map +1 -1
  75. package/dist/elements/spinner.js +12 -11
  76. package/dist/elements/spinner.js.map +1 -1
  77. package/dist/elements/switch.cjs +2 -0
  78. package/dist/elements/switch.cjs.map +1 -0
  79. package/dist/elements/switch.d.ts +3 -0
  80. package/dist/elements/switch.js +20 -0
  81. package/dist/elements/switch.js.map +1 -0
  82. package/dist/elements/switch.stories.d.ts +15 -0
  83. package/dist/elements/switch.test.d.ts +0 -0
  84. package/dist/elements/table.cjs +1 -1
  85. package/dist/elements/table.cjs.map +1 -1
  86. package/dist/elements/table.js +39 -37
  87. package/dist/elements/table.js.map +1 -1
  88. package/dist/elements/tabs.cjs +1 -1
  89. package/dist/elements/tabs.cjs.map +1 -1
  90. package/dist/elements/tabs.js +22 -20
  91. package/dist/elements/tabs.js.map +1 -1
  92. package/dist/elements/tooltip.cjs +1 -1
  93. package/dist/elements/tooltip.cjs.map +1 -1
  94. package/dist/elements/tooltip.js +16 -14
  95. package/dist/elements/tooltip.js.map +1 -1
  96. package/dist/hooks/use-mobile.cjs +1 -1
  97. package/dist/hooks/use-mobile.cjs.map +1 -1
  98. package/dist/hooks/use-mobile.js +11 -9
  99. package/dist/hooks/use-mobile.js.map +1 -1
  100. package/dist/lib/utils.cjs +1 -1
  101. package/dist/lib/utils.cjs.map +1 -1
  102. package/dist/lib/utils.js +7 -5
  103. package/dist/lib/utils.js.map +1 -1
  104. package/package.json +34 -29
  105. /package/dist/_virtual/{rolldown:runtime.cjs → _rolldown/runtime.cjs} +0 -0
@@ -1,250 +1,251 @@
1
1
  "use client";
2
- import { cn } from "../lib/utils.js";
3
- import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./tooltip.js";
4
- import { Skeleton } from "./skeleton.js";
5
- import { Button } from "./button.js";
6
- import { Input } from "./input.js";
7
- import { useIsMobile } from "../hooks/use-mobile.js";
8
- import { Separator } from "./separator.js";
9
- import { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from "./sheet.js";
10
- import { jsx, jsxs } from "react/jsx-runtime";
11
- import { Slot } from "@radix-ui/react-slot";
12
- import { cva } from "class-variance-authority";
13
- import { PanelLeftIcon } from "lucide-react";
14
- import { createContext, useCallback, useContext, useEffect, useMemo, useState } from "react";
15
- var SIDEBAR_COOKIE_NAME = "sidebar_state", SIDEBAR_COOKIE_MAX_AGE = 3600 * 24 * 7, SIDEBAR_WIDTH = "16rem", SIDEBAR_WIDTH_MOBILE = "18rem", SIDEBAR_WIDTH_ICON = "3rem", SIDEBAR_KEYBOARD_SHORTCUT = "b", SidebarContext = createContext(null);
16
- function useSidebar() {
17
- let t = useContext(SidebarContext);
18
- if (!t) throw Error("useSidebar must be used within a SidebarProvider.");
19
- return t;
2
+ import { cn as e } from "../lib/utils.js";
3
+ import { Tooltip as t, TooltipContent as n, TooltipProvider as r, TooltipTrigger as i } from "./tooltip.js";
4
+ import { Skeleton as a } from "./skeleton.js";
5
+ import { Button as o } from "./button.js";
6
+ import { Input as s } from "./input.js";
7
+ import { useIsMobile as c } from "../hooks/use-mobile.js";
8
+ import { Separator as l } from "./separator.js";
9
+ import { Sheet as u, SheetContent as d, SheetDescription as f, SheetHeader as p, SheetTitle as m } from "./sheet.js";
10
+ import { jsx as h, jsxs as g } from "react/jsx-runtime";
11
+ import { Slot as _ } from "@radix-ui/react-slot";
12
+ import { cva as v } from "class-variance-authority";
13
+ import { PanelLeftIcon as y } from "lucide-react";
14
+ import { createContext as b, useCallback as x, useContext as S, useEffect as C, useMemo as w, useState as T } from "react";
15
+ //#region src/elements/sidebar.tsx
16
+ var E = "sidebar_state", D = 3600 * 24 * 7, O = "16rem", k = "18rem", A = "3rem", j = "b", M = b(null);
17
+ function N() {
18
+ let e = S(M);
19
+ if (!e) throw Error("useSidebar must be used within a SidebarProvider.");
20
+ return e;
20
21
  }
21
- function SidebarProvider({ defaultOpen: F = !0, open: I, onOpenChange: R, className: z, style: B, children: V, ...U }) {
22
- let W = useIsMobile(), [G, K] = useState(!1), [q, J] = useState(F), Y = I ?? q, X = useCallback((t) => {
23
- let F = typeof t == "function" ? t(Y) : t;
24
- R ? R(F) : J(F), document.cookie = `${SIDEBAR_COOKIE_NAME}=${F}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
25
- }, [R, Y]), Z = useCallback(() => W ? K((t) => !t) : X((t) => !t), [
26
- W,
27
- X,
28
- K
22
+ function P({ defaultOpen: t = !0, open: n, onOpenChange: i, className: a, style: o, children: s, ...l }) {
23
+ let u = c(), [d, f] = T(!1), [p, m] = T(t), g = n ?? p, _ = x((e) => {
24
+ let t = typeof e == "function" ? e(g) : e;
25
+ i ? i(t) : m(t), document.cookie = `${E}=${t}; path=/; max-age=${D}`;
26
+ }, [i, g]), v = x(() => u ? f((e) => !e) : _((e) => !e), [
27
+ u,
28
+ _,
29
+ f
29
30
  ]);
30
- useEffect(() => {
31
- let t = (t) => {
32
- t.key === SIDEBAR_KEYBOARD_SHORTCUT && (t.metaKey || t.ctrlKey) && (t.preventDefault(), Z());
31
+ C(() => {
32
+ let e = (e) => {
33
+ e.key === j && (e.metaKey || e.ctrlKey) && (e.preventDefault(), v());
33
34
  };
34
- return window.addEventListener("keydown", t), () => window.removeEventListener("keydown", t);
35
- }, [Z]);
36
- let Q = Y ? "expanded" : "collapsed", $ = useMemo(() => ({
37
- state: Q,
38
- open: Y,
39
- setOpen: X,
40
- isMobile: W,
41
- openMobile: G,
42
- setOpenMobile: K,
43
- toggleSidebar: Z
35
+ return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
36
+ }, [v]);
37
+ let y = g ? "expanded" : "collapsed", b = w(() => ({
38
+ state: y,
39
+ open: g,
40
+ setOpen: _,
41
+ isMobile: u,
42
+ openMobile: d,
43
+ setOpenMobile: f,
44
+ toggleSidebar: v
44
45
  }), [
45
- Q,
46
- Y,
47
- X,
48
- W,
49
- G,
50
- K,
51
- Z
46
+ y,
47
+ g,
48
+ _,
49
+ u,
50
+ d,
51
+ f,
52
+ v
52
53
  ]);
53
- return /* @__PURE__ */ jsx(SidebarContext.Provider, {
54
- value: $,
55
- children: /* @__PURE__ */ jsx(TooltipProvider, {
54
+ return /* @__PURE__ */ h(M.Provider, {
55
+ value: b,
56
+ children: /* @__PURE__ */ h(r, {
56
57
  delayDuration: 0,
57
- children: /* @__PURE__ */ jsx("div", {
58
+ children: /* @__PURE__ */ h("div", {
58
59
  "data-slot": "sidebar-wrapper",
59
60
  style: {
60
- "--sidebar-width": SIDEBAR_WIDTH,
61
- "--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
62
- ...B
61
+ "--sidebar-width": O,
62
+ "--sidebar-width-icon": A,
63
+ ...o
63
64
  },
64
- className: cn("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full", z),
65
- ...U,
66
- children: V
65
+ className: e("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full", a),
66
+ ...l,
67
+ children: s
67
68
  })
68
69
  })
69
70
  });
70
71
  }
71
- function Sidebar({ side: F = "left", variant: I = "sidebar", collapsible: L = "offcanvas", className: R, children: z, ...B }) {
72
- let { isMobile: V, state: H, openMobile: U, setOpenMobile: X } = useSidebar();
73
- return L === "none" ? /* @__PURE__ */ jsx("div", {
72
+ function F({ side: t = "left", variant: n = "sidebar", collapsible: r = "offcanvas", className: i, children: a, ...o }) {
73
+ let { isMobile: s, state: c, openMobile: l, setOpenMobile: _ } = N();
74
+ return r === "none" ? /* @__PURE__ */ h("div", {
74
75
  "data-slot": "sidebar",
75
- className: cn("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col", R),
76
- ...B,
77
- children: z
78
- }) : V ? /* @__PURE__ */ jsx(Sheet, {
79
- open: U,
80
- onOpenChange: X,
81
- ...B,
82
- children: /* @__PURE__ */ jsxs(SheetContent, {
76
+ className: e("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col", i),
77
+ ...o,
78
+ children: a
79
+ }) : s ? /* @__PURE__ */ h(u, {
80
+ open: l,
81
+ onOpenChange: _,
82
+ ...o,
83
+ children: /* @__PURE__ */ g(d, {
83
84
  "data-sidebar": "sidebar",
84
85
  "data-slot": "sidebar",
85
86
  "data-mobile": "true",
86
87
  className: "bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",
87
- style: { "--sidebar-width": SIDEBAR_WIDTH_MOBILE },
88
- side: F,
89
- children: [/* @__PURE__ */ jsxs(SheetHeader, {
88
+ style: { "--sidebar-width": k },
89
+ side: t,
90
+ children: [/* @__PURE__ */ g(p, {
90
91
  className: "sr-only",
91
- children: [/* @__PURE__ */ jsx(SheetTitle, { children: "Sidebar" }), /* @__PURE__ */ jsx(SheetDescription, { children: "Displays the mobile sidebar." })]
92
- }), /* @__PURE__ */ jsx("div", {
92
+ children: [/* @__PURE__ */ h(m, { children: "Sidebar" }), /* @__PURE__ */ h(f, { children: "Displays the mobile sidebar." })]
93
+ }), /* @__PURE__ */ h("div", {
93
94
  className: "flex h-full w-full flex-col",
94
- children: z
95
+ children: a
95
96
  })]
96
97
  })
97
- }) : /* @__PURE__ */ jsxs("div", {
98
+ }) : /* @__PURE__ */ g("div", {
98
99
  className: "group peer text-sidebar-foreground hidden md:block",
99
- "data-state": H,
100
- "data-collapsible": H === "collapsed" ? L : "",
101
- "data-variant": I,
102
- "data-side": F,
100
+ "data-state": c,
101
+ "data-collapsible": c === "collapsed" ? r : "",
102
+ "data-variant": n,
103
+ "data-side": t,
103
104
  "data-slot": "sidebar",
104
- children: [/* @__PURE__ */ jsx("div", {
105
+ children: [/* @__PURE__ */ h("div", {
105
106
  "data-slot": "sidebar-gap",
106
- 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", I === "floating" || I === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)")
107
- }), /* @__PURE__ */ jsx("div", {
107
+ className: e("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear", "group-data-[collapsible=offcanvas]:w-0", "group-data-[side=right]:rotate-180", n === "floating" || n === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)")
108
+ }), /* @__PURE__ */ h("div", {
108
109
  "data-slot": "sidebar-container",
109
- className: cn("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex", F === "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)]", I === "floating" || I === "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", R),
110
- ...B,
111
- children: /* @__PURE__ */ jsx("div", {
110
+ className: e("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex", t === "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)]", n === "floating" || n === "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", i),
111
+ ...o,
112
+ children: /* @__PURE__ */ h("div", {
112
113
  "data-sidebar": "sidebar",
113
114
  "data-slot": "sidebar-inner",
114
115
  className: "bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",
115
- children: z
116
+ children: a
116
117
  })
117
118
  })]
118
119
  });
119
120
  }
120
- function SidebarTrigger({ className: F, onClick: I, ...L }) {
121
- let { toggleSidebar: R } = useSidebar();
122
- return /* @__PURE__ */ jsxs(Button, {
121
+ function I({ className: t, onClick: n, ...r }) {
122
+ let { toggleSidebar: i } = N();
123
+ return /* @__PURE__ */ g(o, {
123
124
  "data-sidebar": "trigger",
124
125
  "data-slot": "sidebar-trigger",
125
126
  variant: "ghost",
126
127
  size: "icon",
127
- className: cn("size-7", F),
128
- onClick: (t) => {
129
- I?.(t), R();
128
+ className: e("size-7", t),
129
+ onClick: (e) => {
130
+ n?.(e), i();
130
131
  },
131
- ...L,
132
- children: [/* @__PURE__ */ jsx(PanelLeftIcon, {}), /* @__PURE__ */ jsx("span", {
132
+ ...r,
133
+ children: [/* @__PURE__ */ h(y, {}), /* @__PURE__ */ h("span", {
133
134
  className: "sr-only",
134
135
  children: "Toggle Sidebar"
135
136
  })]
136
137
  });
137
138
  }
138
- function SidebarRail({ className: F, ...I }) {
139
- let { toggleSidebar: L } = useSidebar();
140
- return /* @__PURE__ */ jsx("button", {
139
+ function L({ className: t, ...n }) {
140
+ let { toggleSidebar: r } = N();
141
+ return /* @__PURE__ */ h("button", {
141
142
  type: "button",
142
143
  "data-sidebar": "rail",
143
144
  "data-slot": "sidebar-rail",
144
145
  "aria-label": "Toggle Sidebar",
145
146
  tabIndex: -1,
146
- onClick: L,
147
+ onClick: r,
147
148
  title: "Toggle Sidebar",
148
- className: cn("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex", "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize", "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize", "hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full", "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2", "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2", F),
149
- ...I
149
+ className: e("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex", "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize", "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize", "hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full", "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2", "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2", t),
150
+ ...n
150
151
  });
151
152
  }
152
- function SidebarInset({ className: F, ...I }) {
153
- return /* @__PURE__ */ jsx("main", {
153
+ function R({ className: t, ...n }) {
154
+ return /* @__PURE__ */ h("main", {
154
155
  "data-slot": "sidebar-inset",
155
- className: cn("bg-background relative flex w-full flex-1 flex-col", "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2", F),
156
- ...I
156
+ className: e("bg-background relative flex w-full flex-1 flex-col", "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2", t),
157
+ ...n
157
158
  });
158
159
  }
159
- function SidebarInput({ className: F, ...I }) {
160
- return /* @__PURE__ */ jsx(Input, {
160
+ function z({ className: t, ...n }) {
161
+ return /* @__PURE__ */ h(s, {
161
162
  "data-slot": "sidebar-input",
162
163
  "data-sidebar": "input",
163
- className: cn("bg-background h-8 w-full shadow-none", F),
164
- ...I
164
+ className: e("bg-background h-8 w-full shadow-none", t),
165
+ ...n
165
166
  });
166
167
  }
167
- function SidebarHeader({ className: F, ...I }) {
168
- return /* @__PURE__ */ jsx("div", {
168
+ function B({ className: t, ...n }) {
169
+ return /* @__PURE__ */ h("div", {
169
170
  "data-slot": "sidebar-header",
170
171
  "data-sidebar": "header",
171
- className: cn("flex flex-col gap-2 p-2", F),
172
- ...I
172
+ className: e("flex flex-col gap-2 p-2", t),
173
+ ...n
173
174
  });
174
175
  }
175
- function SidebarFooter({ className: F, ...I }) {
176
- return /* @__PURE__ */ jsx("div", {
176
+ function V({ className: t, ...n }) {
177
+ return /* @__PURE__ */ h("div", {
177
178
  "data-slot": "sidebar-footer",
178
179
  "data-sidebar": "footer",
179
- className: cn("flex flex-col gap-2 p-2", F),
180
- ...I
180
+ className: e("flex flex-col gap-2 p-2", t),
181
+ ...n
181
182
  });
182
183
  }
183
- function SidebarSeparator({ className: F, ...I }) {
184
- return /* @__PURE__ */ jsx(Separator, {
184
+ function H({ className: t, ...n }) {
185
+ return /* @__PURE__ */ h(l, {
185
186
  "data-slot": "sidebar-separator",
186
187
  "data-sidebar": "separator",
187
- className: cn("bg-sidebar-border mx-2 w-auto", F),
188
- ...I
188
+ className: e("bg-sidebar-border mx-2 w-auto", t),
189
+ ...n
189
190
  });
190
191
  }
191
- function SidebarContent({ className: F, ...I }) {
192
- return /* @__PURE__ */ jsx("div", {
192
+ function U({ className: t, ...n }) {
193
+ return /* @__PURE__ */ h("div", {
193
194
  "data-slot": "sidebar-content",
194
195
  "data-sidebar": "content",
195
- className: cn("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", F),
196
- ...I
196
+ className: e("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", t),
197
+ ...n
197
198
  });
198
199
  }
199
- function SidebarGroup({ className: F, ...I }) {
200
- return /* @__PURE__ */ jsx("div", {
200
+ function W({ className: t, ...n }) {
201
+ return /* @__PURE__ */ h("div", {
201
202
  "data-slot": "sidebar-group",
202
203
  "data-sidebar": "group",
203
- className: cn("relative flex w-full min-w-0 flex-col p-2", F),
204
- ...I
204
+ className: e("relative flex w-full min-w-0 flex-col p-2", t),
205
+ ...n
205
206
  });
206
207
  }
207
- function SidebarGroupLabel({ className: F, asChild: I = !1, ...L }) {
208
- return /* @__PURE__ */ jsx(I ? Slot : "div", {
208
+ function G({ className: t, asChild: n = !1, ...r }) {
209
+ return /* @__PURE__ */ h(n ? _ : "div", {
209
210
  "data-slot": "sidebar-group-label",
210
211
  "data-sidebar": "group-label",
211
- className: cn("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0", F),
212
- ...L
212
+ className: e("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0", t),
213
+ ...r
213
214
  });
214
215
  }
215
- function SidebarGroupAction({ className: F, asChild: I = !1, ...L }) {
216
- return /* @__PURE__ */ jsx(I ? Slot : "button", {
216
+ function K({ className: t, asChild: n = !1, ...r }) {
217
+ return /* @__PURE__ */ h(n ? _ : "button", {
217
218
  "data-slot": "sidebar-group-action",
218
219
  "data-sidebar": "group-action",
219
- className: cn("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "after:absolute after:-inset-2 md:after:hidden", "group-data-[collapsible=icon]:hidden", F),
220
- ...L
220
+ className: e("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "after:absolute after:-inset-2 md:after:hidden", "group-data-[collapsible=icon]:hidden", t),
221
+ ...r
221
222
  });
222
223
  }
223
- function SidebarGroupContent({ className: F, ...I }) {
224
- return /* @__PURE__ */ jsx("div", {
224
+ function q({ className: t, ...n }) {
225
+ return /* @__PURE__ */ h("div", {
225
226
  "data-slot": "sidebar-group-content",
226
227
  "data-sidebar": "group-content",
227
- className: cn("w-full text-sm", F),
228
- ...I
228
+ className: e("w-full text-sm", t),
229
+ ...n
229
230
  });
230
231
  }
231
- function SidebarMenu({ className: F, ...I }) {
232
- return /* @__PURE__ */ jsx("ul", {
232
+ function J({ className: t, ...n }) {
233
+ return /* @__PURE__ */ h("ul", {
233
234
  "data-slot": "sidebar-menu",
234
235
  "data-sidebar": "menu",
235
- className: cn("flex w-full min-w-0 flex-col gap-1", F),
236
- ...I
236
+ className: e("flex w-full min-w-0 flex-col gap-1", t),
237
+ ...n
237
238
  });
238
239
  }
239
- function SidebarMenuItem({ className: F, ...I }) {
240
- return /* @__PURE__ */ jsx("li", {
240
+ function Y({ className: t, ...n }) {
241
+ return /* @__PURE__ */ h("li", {
241
242
  "data-slot": "sidebar-menu-item",
242
243
  "data-sidebar": "menu-item",
243
- className: cn("group/menu-item relative", F),
244
- ...I
244
+ className: e("group/menu-item relative", t),
245
+ ...n
245
246
  });
246
247
  }
247
- var sidebarMenuButtonVariants = cva("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", {
248
+ var X = v("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", {
248
249
  variants: {
249
250
  variant: {
250
251
  default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
@@ -261,87 +262,88 @@ var sidebarMenuButtonVariants = cva("peer/menu-button flex w-full items-center g
261
262
  size: "default"
262
263
  }
263
264
  });
264
- function SidebarMenuButton({ asChild: L = !1, isActive: z = !1, variant: B = "default", size: V = "default", tooltip: H, className: U, ...W }) {
265
- let G = L ? Slot : "button", { isMobile: K, state: q } = useSidebar(), J = /* @__PURE__ */ jsx(G, {
265
+ function Z({ asChild: r = !1, isActive: a = !1, variant: o = "default", size: s = "default", tooltip: c, className: l, ...u }) {
266
+ let d = r ? _ : "button", { isMobile: f, state: p } = N(), m = /* @__PURE__ */ h(d, {
266
267
  "data-slot": "sidebar-menu-button",
267
268
  "data-sidebar": "menu-button",
268
- "data-size": V,
269
- "data-active": z,
270
- className: cn(sidebarMenuButtonVariants({
271
- variant: B,
272
- size: V
273
- }), U),
274
- ...W
269
+ "data-size": s,
270
+ "data-active": a,
271
+ className: e(X({
272
+ variant: o,
273
+ size: s
274
+ }), l),
275
+ ...u
275
276
  });
276
- return H ? /* @__PURE__ */ jsxs(Tooltip, { children: [/* @__PURE__ */ jsx(TooltipTrigger, {
277
+ return c ? /* @__PURE__ */ g(t, { children: [/* @__PURE__ */ h(i, {
277
278
  asChild: !0,
278
- children: J
279
- }), /* @__PURE__ */ jsx(TooltipContent, {
279
+ children: m
280
+ }), /* @__PURE__ */ h(n, {
280
281
  side: "right",
281
282
  align: "center",
282
- hidden: q !== "collapsed" || K,
283
- ...typeof H == "string" ? { children: H } : H
284
- })] }) : J;
283
+ hidden: p !== "collapsed" || f,
284
+ ...typeof c == "string" ? { children: c } : c
285
+ })] }) : m;
285
286
  }
286
- function SidebarMenuAction({ className: F, asChild: I = !1, showOnHover: L = !1, ...R }) {
287
- return /* @__PURE__ */ jsx(I ? Slot : "button", {
287
+ function Q({ className: t, asChild: n = !1, showOnHover: r = !1, ...i }) {
288
+ return /* @__PURE__ */ h(n ? _ : "button", {
288
289
  "data-slot": "sidebar-menu-action",
289
290
  "data-sidebar": "menu-action",
290
- className: cn("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "after:absolute after:-inset-2 md:after:hidden", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", L && "peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0", F),
291
- ...R
291
+ className: e("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "after:absolute after:-inset-2 md:after:hidden", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", r && "peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0", t),
292
+ ...i
292
293
  });
293
294
  }
294
- function SidebarMenuBadge({ className: F, ...I }) {
295
- return /* @__PURE__ */ jsx("div", {
295
+ function $({ className: t, ...n }) {
296
+ return /* @__PURE__ */ h("div", {
296
297
  "data-slot": "sidebar-menu-badge",
297
298
  "data-sidebar": "menu-badge",
298
- className: cn("text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none", "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", F),
299
- ...I
299
+ className: e("text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none", "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", t),
300
+ ...n
300
301
  });
301
302
  }
302
- function SidebarMenuSkeleton({ className: F, showIcon: I = !1, ...L }) {
303
- let R = useMemo(() => `${Math.floor(Math.random() * 40) + 50}%`, []);
304
- return /* @__PURE__ */ jsxs("div", {
303
+ function ee({ className: t, showIcon: n = !1, ...r }) {
304
+ let i = w(() => `${Math.floor(Math.random() * 40) + 50}%`, []);
305
+ return /* @__PURE__ */ g("div", {
305
306
  "data-slot": "sidebar-menu-skeleton",
306
307
  "data-sidebar": "menu-skeleton",
307
- className: cn("flex h-8 items-center gap-2 rounded-md px-2", F),
308
- ...L,
309
- children: [I && /* @__PURE__ */ jsx(Skeleton, {
308
+ className: e("flex h-8 items-center gap-2 rounded-md px-2", t),
309
+ ...r,
310
+ children: [n && /* @__PURE__ */ h(a, {
310
311
  className: "size-4 rounded-md",
311
312
  "data-sidebar": "menu-skeleton-icon"
312
- }), /* @__PURE__ */ jsx(Skeleton, {
313
+ }), /* @__PURE__ */ h(a, {
313
314
  className: "h-4 max-w-(--skeleton-width) flex-1",
314
315
  "data-sidebar": "menu-skeleton-text",
315
- style: { "--skeleton-width": R }
316
+ style: { "--skeleton-width": i }
316
317
  })]
317
318
  });
318
319
  }
319
- function SidebarMenuSub({ className: F, ...I }) {
320
- return /* @__PURE__ */ jsx("ul", {
320
+ function te({ className: t, ...n }) {
321
+ return /* @__PURE__ */ h("ul", {
321
322
  "data-slot": "sidebar-menu-sub",
322
323
  "data-sidebar": "menu-sub",
323
- className: cn("border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5", "group-data-[collapsible=icon]:hidden", F),
324
- ...I
324
+ className: e("border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5", "group-data-[collapsible=icon]:hidden", t),
325
+ ...n
325
326
  });
326
327
  }
327
- function SidebarMenuSubItem({ className: F, ...I }) {
328
- return /* @__PURE__ */ jsx("li", {
328
+ function ne({ className: t, ...n }) {
329
+ return /* @__PURE__ */ h("li", {
329
330
  "data-slot": "sidebar-menu-sub-item",
330
331
  "data-sidebar": "menu-sub-item",
331
- className: cn("group/menu-sub-item relative", F),
332
- ...I
332
+ className: e("group/menu-sub-item relative", t),
333
+ ...n
333
334
  });
334
335
  }
335
- function SidebarMenuSubButton({ asChild: F = !1, size: I = "md", isActive: L = !1, className: R, ...z }) {
336
- return /* @__PURE__ */ jsx(F ? Slot : "a", {
336
+ function re({ asChild: t = !1, size: n = "md", isActive: r = !1, className: i, ...a }) {
337
+ return /* @__PURE__ */ h(t ? _ : "a", {
337
338
  "data-slot": "sidebar-menu-sub-button",
338
339
  "data-sidebar": "menu-sub-button",
339
- "data-size": I,
340
- "data-active": L,
341
- className: cn("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground", I === "sm" && "text-xs", I === "md" && "text-sm", "group-data-[collapsible=icon]:hidden", R),
342
- ...z
340
+ "data-size": n,
341
+ "data-active": r,
342
+ className: e("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground", n === "sm" && "text-xs", n === "md" && "text-sm", "group-data-[collapsible=icon]:hidden", i),
343
+ ...a
343
344
  });
344
345
  }
345
- 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 };
346
+ //#endregion
347
+ export { F as Sidebar, U as SidebarContent, V as SidebarFooter, W as SidebarGroup, K as SidebarGroupAction, q as SidebarGroupContent, G as SidebarGroupLabel, B as SidebarHeader, z as SidebarInput, R as SidebarInset, J as SidebarMenu, Q as SidebarMenuAction, $ as SidebarMenuBadge, Z as SidebarMenuButton, Y as SidebarMenuItem, ee as SidebarMenuSkeleton, te as SidebarMenuSub, re as SidebarMenuSubButton, ne as SidebarMenuSubItem, P as SidebarProvider, L as SidebarRail, H as SidebarSeparator, I as SidebarTrigger, N as useSidebar };
346
348
 
347
349
  //# sourceMappingURL=sidebar.js.map