@mayor_grd/centry-ui 0.1.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 (303) hide show
  1. package/README.md +100 -0
  2. package/dist/components/ui/accordion.cjs +2 -0
  3. package/dist/components/ui/accordion.cjs.map +1 -0
  4. package/dist/components/ui/accordion.d.ts +8 -0
  5. package/dist/components/ui/accordion.d.ts.map +1 -0
  6. package/dist/components/ui/accordion.js +47 -0
  7. package/dist/components/ui/accordion.js.map +1 -0
  8. package/dist/components/ui/alert-dialog.cjs +2 -0
  9. package/dist/components/ui/alert-dialog.cjs.map +1 -0
  10. package/dist/components/ui/alert-dialog.d.ts +21 -0
  11. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  12. package/dist/components/ui/alert-dialog.js +108 -0
  13. package/dist/components/ui/alert-dialog.js.map +1 -0
  14. package/dist/components/ui/alert.cjs +2 -0
  15. package/dist/components/ui/alert.cjs.map +1 -0
  16. package/dist/components/ui/alert.d.ts +12 -0
  17. package/dist/components/ui/alert.d.ts.map +1 -0
  18. package/dist/components/ui/alert.js +55 -0
  19. package/dist/components/ui/alert.js.map +1 -0
  20. package/dist/components/ui/aspect-ratio.cjs +2 -0
  21. package/dist/components/ui/aspect-ratio.cjs.map +1 -0
  22. package/dist/components/ui/aspect-ratio.d.ts +4 -0
  23. package/dist/components/ui/aspect-ratio.d.ts.map +1 -0
  24. package/dist/components/ui/aspect-ratio.js +6 -0
  25. package/dist/components/ui/aspect-ratio.js.map +1 -0
  26. package/dist/components/ui/avatar.cjs +2 -0
  27. package/dist/components/ui/avatar.cjs.map +1 -0
  28. package/dist/components/ui/avatar.d.ts +13 -0
  29. package/dist/components/ui/avatar.d.ts.map +1 -0
  30. package/dist/components/ui/avatar.js +57 -0
  31. package/dist/components/ui/avatar.js.map +1 -0
  32. package/dist/components/ui/badge.cjs +2 -0
  33. package/dist/components/ui/badge.cjs.map +1 -0
  34. package/dist/components/ui/badge.d.ts +10 -0
  35. package/dist/components/ui/badge.d.ts.map +1 -0
  36. package/dist/components/ui/badge.js +38 -0
  37. package/dist/components/ui/badge.js.map +1 -0
  38. package/dist/components/ui/breadcrumb.cjs +2 -0
  39. package/dist/components/ui/breadcrumb.cjs.map +1 -0
  40. package/dist/components/ui/breadcrumb.d.ts +23 -0
  41. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  42. package/dist/components/ui/breadcrumb.js +97 -0
  43. package/dist/components/ui/breadcrumb.js.map +1 -0
  44. package/dist/components/ui/button.cjs +2 -0
  45. package/dist/components/ui/button.cjs.map +1 -0
  46. package/dist/components/ui/button.d.ts +13 -0
  47. package/dist/components/ui/button.d.ts.map +1 -0
  48. package/dist/components/ui/button.figma.d.ts +2 -0
  49. package/dist/components/ui/button.figma.d.ts.map +1 -0
  50. package/dist/components/ui/button.js +73 -0
  51. package/dist/components/ui/button.js.map +1 -0
  52. package/dist/components/ui/calendar.cjs +2 -0
  53. package/dist/components/ui/calendar.cjs.map +1 -0
  54. package/dist/components/ui/calendar.d.ts +9 -0
  55. package/dist/components/ui/calendar.d.ts.map +1 -0
  56. package/dist/components/ui/calendar.js +56 -0
  57. package/dist/components/ui/calendar.js.map +1 -0
  58. package/dist/components/ui/card.cjs +2 -0
  59. package/dist/components/ui/card.cjs.map +1 -0
  60. package/dist/components/ui/card.d.ts +9 -0
  61. package/dist/components/ui/card.d.ts.map +1 -0
  62. package/dist/components/ui/card.js +51 -0
  63. package/dist/components/ui/card.js.map +1 -0
  64. package/dist/components/ui/carousel.cjs +2 -0
  65. package/dist/components/ui/carousel.cjs.map +1 -0
  66. package/dist/components/ui/carousel.d.ts +19 -0
  67. package/dist/components/ui/carousel.d.ts.map +1 -0
  68. package/dist/components/ui/carousel.js +156 -0
  69. package/dist/components/ui/carousel.js.map +1 -0
  70. package/dist/components/ui/checkbox.cjs +2 -0
  71. package/dist/components/ui/checkbox.cjs.map +1 -0
  72. package/dist/components/ui/checkbox.d.ts +5 -0
  73. package/dist/components/ui/checkbox.d.ts.map +1 -0
  74. package/dist/components/ui/checkbox.js +53 -0
  75. package/dist/components/ui/checkbox.js.map +1 -0
  76. package/dist/components/ui/collapsible.cjs +2 -0
  77. package/dist/components/ui/collapsible.cjs.map +1 -0
  78. package/dist/components/ui/collapsible.d.ts +6 -0
  79. package/dist/components/ui/collapsible.d.ts.map +1 -0
  80. package/dist/components/ui/collapsible.js +8 -0
  81. package/dist/components/ui/collapsible.js.map +1 -0
  82. package/dist/components/ui/combobox.cjs +2 -0
  83. package/dist/components/ui/combobox.cjs.map +1 -0
  84. package/dist/components/ui/combobox.d.ts +22 -0
  85. package/dist/components/ui/combobox.d.ts.map +1 -0
  86. package/dist/components/ui/combobox.js +70 -0
  87. package/dist/components/ui/combobox.js.map +1 -0
  88. package/dist/components/ui/command.cjs +2 -0
  89. package/dist/components/ui/command.cjs.map +1 -0
  90. package/dist/components/ui/command.d.ts +82 -0
  91. package/dist/components/ui/command.d.ts.map +1 -0
  92. package/dist/components/ui/command.js +107 -0
  93. package/dist/components/ui/command.js.map +1 -0
  94. package/dist/components/ui/data-table.cjs +2 -0
  95. package/dist/components/ui/data-table.cjs.map +1 -0
  96. package/dist/components/ui/data-table.d.ts +11 -0
  97. package/dist/components/ui/data-table.d.ts.map +1 -0
  98. package/dist/components/ui/data-table.js +26 -0
  99. package/dist/components/ui/data-table.js.map +1 -0
  100. package/dist/components/ui/date-picker.cjs +2 -0
  101. package/dist/components/ui/date-picker.cjs.map +1 -0
  102. package/dist/components/ui/date-picker.d.ts +15 -0
  103. package/dist/components/ui/date-picker.d.ts.map +1 -0
  104. package/dist/components/ui/date-picker.js +49 -0
  105. package/dist/components/ui/date-picker.js.map +1 -0
  106. package/dist/components/ui/dialog.cjs +2 -0
  107. package/dist/components/ui/dialog.cjs.map +1 -0
  108. package/dist/components/ui/dialog.d.ts +20 -0
  109. package/dist/components/ui/dialog.d.ts.map +1 -0
  110. package/dist/components/ui/dialog.js +96 -0
  111. package/dist/components/ui/dialog.js.map +1 -0
  112. package/dist/components/ui/drawer.cjs +2 -0
  113. package/dist/components/ui/drawer.cjs.map +1 -0
  114. package/dist/components/ui/drawer.d.ts +23 -0
  115. package/dist/components/ui/drawer.d.ts.map +1 -0
  116. package/dist/components/ui/drawer.js +84 -0
  117. package/dist/components/ui/drawer.js.map +1 -0
  118. package/dist/components/ui/dropdown-menu.cjs +2 -0
  119. package/dist/components/ui/dropdown-menu.cjs.map +1 -0
  120. package/dist/components/ui/dropdown-menu.d.ts +34 -0
  121. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  122. package/dist/components/ui/dropdown-menu.js +153 -0
  123. package/dist/components/ui/dropdown-menu.js.map +1 -0
  124. package/dist/components/ui/form.cjs +2 -0
  125. package/dist/components/ui/form.cjs.map +1 -0
  126. package/dist/components/ui/form.d.ts +23 -0
  127. package/dist/components/ui/form.d.ts.map +1 -0
  128. package/dist/components/ui/form.js +93 -0
  129. package/dist/components/ui/form.js.map +1 -0
  130. package/dist/components/ui/hover-card.cjs +2 -0
  131. package/dist/components/ui/hover-card.cjs.map +1 -0
  132. package/dist/components/ui/hover-card.d.ts +7 -0
  133. package/dist/components/ui/hover-card.d.ts.map +1 -0
  134. package/dist/components/ui/hover-card.js +24 -0
  135. package/dist/components/ui/hover-card.js.map +1 -0
  136. package/dist/components/ui/index.d.ts +45 -0
  137. package/dist/components/ui/index.d.ts.map +1 -0
  138. package/dist/components/ui/input-otp.cjs +2 -0
  139. package/dist/components/ui/input-otp.cjs.map +1 -0
  140. package/dist/components/ui/input-otp.d.ts +36 -0
  141. package/dist/components/ui/input-otp.d.ts.map +1 -0
  142. package/dist/components/ui/input-otp.js +55 -0
  143. package/dist/components/ui/input-otp.js.map +1 -0
  144. package/dist/components/ui/input.cjs +2 -0
  145. package/dist/components/ui/input.cjs.map +1 -0
  146. package/dist/components/ui/input.d.ts +10 -0
  147. package/dist/components/ui/input.d.ts.map +1 -0
  148. package/dist/components/ui/input.js +32 -0
  149. package/dist/components/ui/input.js.map +1 -0
  150. package/dist/components/ui/label.cjs +2 -0
  151. package/dist/components/ui/label.cjs.map +1 -0
  152. package/dist/components/ui/label.d.ts +6 -0
  153. package/dist/components/ui/label.d.ts.map +1 -0
  154. package/dist/components/ui/label.js +13 -0
  155. package/dist/components/ui/label.js.map +1 -0
  156. package/dist/components/ui/navigation-menu.cjs +2 -0
  157. package/dist/components/ui/navigation-menu.cjs.map +1 -0
  158. package/dist/components/ui/navigation-menu.d.ts +13 -0
  159. package/dist/components/ui/navigation-menu.d.ts.map +1 -0
  160. package/dist/components/ui/navigation-menu.js +100 -0
  161. package/dist/components/ui/navigation-menu.js.map +1 -0
  162. package/dist/components/ui/pagination.cjs +2 -0
  163. package/dist/components/ui/pagination.cjs.map +1 -0
  164. package/dist/components/ui/pagination.d.ts +29 -0
  165. package/dist/components/ui/pagination.d.ts.map +1 -0
  166. package/dist/components/ui/pagination.js +100 -0
  167. package/dist/components/ui/pagination.js.map +1 -0
  168. package/dist/components/ui/popover.cjs +2 -0
  169. package/dist/components/ui/popover.cjs.map +1 -0
  170. package/dist/components/ui/popover.d.ts +8 -0
  171. package/dist/components/ui/popover.d.ts.map +1 -0
  172. package/dist/components/ui/popover.js +25 -0
  173. package/dist/components/ui/popover.js.map +1 -0
  174. package/dist/components/ui/progress.cjs +2 -0
  175. package/dist/components/ui/progress.cjs.map +1 -0
  176. package/dist/components/ui/progress.d.ts +5 -0
  177. package/dist/components/ui/progress.d.ts.map +1 -0
  178. package/dist/components/ui/progress.js +24 -0
  179. package/dist/components/ui/progress.js.map +1 -0
  180. package/dist/components/ui/radio-group.cjs +2 -0
  181. package/dist/components/ui/radio-group.cjs.map +1 -0
  182. package/dist/components/ui/radio-group.d.ts +6 -0
  183. package/dist/components/ui/radio-group.d.ts.map +1 -0
  184. package/dist/components/ui/radio-group.js +31 -0
  185. package/dist/components/ui/radio-group.js.map +1 -0
  186. package/dist/components/ui/select.cjs +2 -0
  187. package/dist/components/ui/select.cjs.map +1 -0
  188. package/dist/components/ui/select.d.ts +14 -0
  189. package/dist/components/ui/select.d.ts.map +1 -0
  190. package/dist/components/ui/select.js +116 -0
  191. package/dist/components/ui/select.js.map +1 -0
  192. package/dist/components/ui/separator.cjs +2 -0
  193. package/dist/components/ui/separator.cjs.map +1 -0
  194. package/dist/components/ui/separator.d.ts +5 -0
  195. package/dist/components/ui/separator.d.ts.map +1 -0
  196. package/dist/components/ui/separator.js +23 -0
  197. package/dist/components/ui/separator.js.map +1 -0
  198. package/dist/components/ui/sheet.cjs +2 -0
  199. package/dist/components/ui/sheet.cjs.map +1 -0
  200. package/dist/components/ui/sheet.d.ts +26 -0
  201. package/dist/components/ui/sheet.d.ts.map +1 -0
  202. package/dist/components/ui/sheet.js +87 -0
  203. package/dist/components/ui/sheet.js.map +1 -0
  204. package/dist/components/ui/sidebar.cjs +2 -0
  205. package/dist/components/ui/sidebar.cjs.map +1 -0
  206. package/dist/components/ui/sidebar.d.ts +70 -0
  207. package/dist/components/ui/sidebar.d.ts.map +1 -0
  208. package/dist/components/ui/sidebar.js +541 -0
  209. package/dist/components/ui/sidebar.js.map +1 -0
  210. package/dist/components/ui/skeleton.cjs +2 -0
  211. package/dist/components/ui/skeleton.cjs.map +1 -0
  212. package/dist/components/ui/skeleton.d.ts +4 -0
  213. package/dist/components/ui/skeleton.d.ts.map +1 -0
  214. package/dist/components/ui/skeleton.js +18 -0
  215. package/dist/components/ui/skeleton.js.map +1 -0
  216. package/dist/components/ui/slider.cjs +2 -0
  217. package/dist/components/ui/slider.cjs.map +1 -0
  218. package/dist/components/ui/slider.d.ts +5 -0
  219. package/dist/components/ui/slider.d.ts.map +1 -0
  220. package/dist/components/ui/slider.js +21 -0
  221. package/dist/components/ui/slider.js.map +1 -0
  222. package/dist/components/ui/sonner.cjs +2 -0
  223. package/dist/components/ui/sonner.cjs.map +1 -0
  224. package/dist/components/ui/sonner.d.ts +6 -0
  225. package/dist/components/ui/sonner.d.ts.map +1 -0
  226. package/dist/components/ui/sonner.js +27 -0
  227. package/dist/components/ui/sonner.js.map +1 -0
  228. package/dist/components/ui/switch.cjs +2 -0
  229. package/dist/components/ui/switch.cjs.map +1 -0
  230. package/dist/components/ui/switch.d.ts +5 -0
  231. package/dist/components/ui/switch.d.ts.map +1 -0
  232. package/dist/components/ui/switch.js +28 -0
  233. package/dist/components/ui/switch.js.map +1 -0
  234. package/dist/components/ui/table.cjs +2 -0
  235. package/dist/components/ui/table.cjs.map +1 -0
  236. package/dist/components/ui/table.d.ts +17 -0
  237. package/dist/components/ui/table.d.ts.map +1 -0
  238. package/dist/components/ui/table.js +86 -0
  239. package/dist/components/ui/table.js.map +1 -0
  240. package/dist/components/ui/tag.cjs +2 -0
  241. package/dist/components/ui/tag.cjs.map +1 -0
  242. package/dist/components/ui/tag.d.ts +11 -0
  243. package/dist/components/ui/tag.d.ts.map +1 -0
  244. package/dist/components/ui/tag.js +50 -0
  245. package/dist/components/ui/tag.js.map +1 -0
  246. package/dist/components/ui/textarea.cjs +2 -0
  247. package/dist/components/ui/textarea.cjs.map +1 -0
  248. package/dist/components/ui/textarea.d.ts +10 -0
  249. package/dist/components/ui/textarea.d.ts.map +1 -0
  250. package/dist/components/ui/textarea.js +31 -0
  251. package/dist/components/ui/textarea.js.map +1 -0
  252. package/dist/components/ui/toggle-group.cjs +2 -0
  253. package/dist/components/ui/toggle-group.cjs.map +1 -0
  254. package/dist/components/ui/toggle-group.d.ts +17 -0
  255. package/dist/components/ui/toggle-group.d.ts.map +1 -0
  256. package/dist/components/ui/toggle-group.js +57 -0
  257. package/dist/components/ui/toggle-group.js.map +1 -0
  258. package/dist/components/ui/toggle.cjs +2 -0
  259. package/dist/components/ui/toggle.cjs.map +1 -0
  260. package/dist/components/ui/toggle.d.ts +13 -0
  261. package/dist/components/ui/toggle.d.ts.map +1 -0
  262. package/dist/components/ui/toggle.js +35 -0
  263. package/dist/components/ui/toggle.js.map +1 -0
  264. package/dist/components/ui/tooltip.cjs +2 -0
  265. package/dist/components/ui/tooltip.cjs.map +1 -0
  266. package/dist/components/ui/tooltip.d.ts +14 -0
  267. package/dist/components/ui/tooltip.d.ts.map +1 -0
  268. package/dist/components/ui/tooltip.js +34 -0
  269. package/dist/components/ui/tooltip.js.map +1 -0
  270. package/dist/index.cjs +2 -0
  271. package/dist/index.cjs.map +1 -0
  272. package/dist/index.d.ts +3 -0
  273. package/dist/index.d.ts.map +1 -0
  274. package/dist/index.js +264 -0
  275. package/dist/index.js.map +1 -0
  276. package/dist/lib/utils.cjs +2 -0
  277. package/dist/lib/utils.cjs.map +1 -0
  278. package/dist/lib/utils.d.ts +3 -0
  279. package/dist/lib/utils.d.ts.map +1 -0
  280. package/dist/lib/utils.js +9 -0
  281. package/dist/lib/utils.js.map +1 -0
  282. package/dist/styles/library.css +174 -0
  283. package/dist/tokens/generated/primitives.css +541 -0
  284. package/dist/tokens/generated/tailwind-theme.cjs +2 -0
  285. package/dist/tokens/generated/tailwind-theme.cjs.map +1 -0
  286. package/dist/tokens/generated/tailwind-theme.d.ts +870 -0
  287. package/dist/tokens/generated/tailwind-theme.d.ts.map +1 -0
  288. package/dist/tokens/generated/tailwind-theme.js +872 -0
  289. package/dist/tokens/generated/tailwind-theme.js.map +1 -0
  290. package/dist/tokens/generated/tokens.cjs +2 -0
  291. package/dist/tokens/generated/tokens.cjs.map +1 -0
  292. package/dist/tokens/generated/tokens.d.ts +891 -0
  293. package/dist/tokens/generated/tokens.d.ts.map +1 -0
  294. package/dist/tokens/generated/tokens.js +1596 -0
  295. package/dist/tokens/generated/tokens.js.map +1 -0
  296. package/dist/tokens/generated/variables.css +919 -0
  297. package/dist/tokens/index.cjs +2 -0
  298. package/dist/tokens/index.cjs.map +1 -0
  299. package/dist/tokens/index.d.ts +3 -0
  300. package/dist/tokens/index.d.ts.map +1 -0
  301. package/dist/tokens/index.js +15 -0
  302. package/dist/tokens/index.js.map +1 -0
  303. package/package.json +140 -0
@@ -0,0 +1,541 @@
1
+ import { jsx as r, jsxs as h } from "react/jsx-runtime";
2
+ import * as i from "react";
3
+ import { Slot as x } from "@radix-ui/react-slot";
4
+ import { cva as _ } from "class-variance-authority";
5
+ import { cn as o } from "../../lib/utils.js";
6
+ import { Sheet as I, SheetContent as k } from "./sheet.js";
7
+ import { Separator as E } from "./separator.js";
8
+ import { Tooltip as B, TooltipTrigger as z, TooltipContent as T, TooltipProvider as A } from "./tooltip.js";
9
+ import { Input as D } from "./input.js";
10
+ const O = "sidebar_state", G = 3600 * 24 * 7, L = "280px", j = "72px", H = "18rem", K = "b", R = i.createContext(null);
11
+ function y() {
12
+ const a = i.useContext(R);
13
+ if (!a)
14
+ throw new Error("useSidebar must be used within a SidebarProvider.");
15
+ return a;
16
+ }
17
+ function P(a = 768) {
18
+ const [e, t] = i.useState(!1);
19
+ return i.useEffect(() => {
20
+ const s = window.matchMedia(`(max-width: ${a - 1}px)`), d = () => t(s.matches);
21
+ return s.addEventListener("change", d), t(s.matches), () => s.removeEventListener("change", d);
22
+ }, [a]), e;
23
+ }
24
+ const $ = i.forwardRef(
25
+ ({
26
+ defaultOpen: a = !0,
27
+ open: e,
28
+ onOpenChange: t,
29
+ className: s,
30
+ style: d,
31
+ children: n,
32
+ ...u
33
+ }, m) => {
34
+ const c = P(), [f, p] = i.useState(!1), [v, N] = i.useState(a), g = e ?? v, w = i.useCallback(
35
+ (l) => {
36
+ const b = typeof l == "function" ? l(g) : l;
37
+ t ? t(b) : N(b), document.cookie = `${O}=${b}; path=/; max-age=${G}`;
38
+ },
39
+ [t, g]
40
+ ), S = i.useCallback(() => c ? p((l) => !l) : w((l) => !l), [c, w]);
41
+ i.useEffect(() => {
42
+ const l = (b) => {
43
+ b.key === K && (b.metaKey || b.ctrlKey) && (b.preventDefault(), S());
44
+ };
45
+ return window.addEventListener("keydown", l), () => window.removeEventListener("keydown", l);
46
+ }, [S]);
47
+ const M = g ? "expanded" : "collapsed", C = i.useMemo(
48
+ () => ({
49
+ state: M,
50
+ open: g,
51
+ setOpen: w,
52
+ isMobile: c,
53
+ openMobile: f,
54
+ setOpenMobile: p,
55
+ toggleSidebar: S
56
+ }),
57
+ [M, g, w, c, f, p, S]
58
+ );
59
+ return /* @__PURE__ */ r(R.Provider, { value: C, children: /* @__PURE__ */ r(A, { delayDuration: 0, children: /* @__PURE__ */ r(
60
+ "div",
61
+ {
62
+ ref: m,
63
+ style: {
64
+ "--sidebar-width": L,
65
+ "--sidebar-width-icon": j,
66
+ ...d
67
+ },
68
+ className: o(
69
+ "group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-bg-sidebar",
70
+ s
71
+ ),
72
+ ...u,
73
+ children: n
74
+ }
75
+ ) }) });
76
+ }
77
+ );
78
+ $.displayName = "SidebarProvider";
79
+ const W = i.forwardRef(
80
+ ({
81
+ side: a = "left",
82
+ variant: e = "sidebar",
83
+ collapsible: t = "offcanvas",
84
+ className: s,
85
+ children: d,
86
+ ...n
87
+ }, u) => {
88
+ const { isMobile: m, state: c, openMobile: f, setOpenMobile: p } = y();
89
+ return t === "none" ? /* @__PURE__ */ r(
90
+ "div",
91
+ {
92
+ ref: u,
93
+ className: o(
94
+ "flex h-full w-(--sidebar-width) flex-col bg-bg-sidebar text-text-sidebar",
95
+ s
96
+ ),
97
+ ...n,
98
+ children: d
99
+ }
100
+ ) : m ? /* @__PURE__ */ r(I, { open: f, onOpenChange: p, children: /* @__PURE__ */ r(
101
+ k,
102
+ {
103
+ "data-sidebar": "sidebar",
104
+ "data-mobile": "true",
105
+ className: "w-(--sidebar-width) bg-bg-sidebar p-0 text-text-sidebar [&>button]:hidden",
106
+ style: { "--sidebar-width": H },
107
+ side: a,
108
+ children: /* @__PURE__ */ r("div", { className: "flex h-full w-full flex-col", children: d })
109
+ }
110
+ ) }) : /* @__PURE__ */ h(
111
+ "div",
112
+ {
113
+ ref: u,
114
+ className: "group peer hidden md:block",
115
+ "data-state": c,
116
+ "data-collapsible": c === "collapsed" ? t : "",
117
+ "data-variant": e,
118
+ "data-side": a,
119
+ children: [
120
+ /* @__PURE__ */ r(
121
+ "div",
122
+ {
123
+ className: o(
124
+ "relative h-svh w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear",
125
+ "group-data-[collapsible=offcanvas]:w-0",
126
+ "group-data-[side=right]:rotate-180",
127
+ e === "floating" || e === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
128
+ )
129
+ }
130
+ ),
131
+ /* @__PURE__ */ r(
132
+ "div",
133
+ {
134
+ className: o(
135
+ "fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex",
136
+ a === "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)]",
137
+ "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[collapsible=icon]:overflow-hidden",
138
+ e === "floating" || e === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]" : "group-data-[side=left]:border-r group-data-[side=right]:border-l border-border-default",
139
+ s
140
+ ),
141
+ ...n,
142
+ children: /* @__PURE__ */ r(
143
+ "div",
144
+ {
145
+ "data-sidebar": "sidebar",
146
+ className: o(
147
+ "flex h-full w-full flex-col bg-bg-sidebar text-text-sidebar",
148
+ e === "floating" || e === "inset" ? "rounded-lg border border-border-default shadow-card" : ""
149
+ ),
150
+ children: d
151
+ }
152
+ )
153
+ }
154
+ )
155
+ ]
156
+ }
157
+ );
158
+ }
159
+ );
160
+ W.displayName = "Sidebar";
161
+ const q = i.forwardRef(({ className: a, onClick: e, ...t }, s) => {
162
+ const { toggleSidebar: d } = y();
163
+ return /* @__PURE__ */ h(
164
+ "button",
165
+ {
166
+ ref: s,
167
+ "data-sidebar": "trigger",
168
+ className: o("h-7 w-7", a),
169
+ onClick: (n) => {
170
+ e == null || e(n), d();
171
+ },
172
+ ...t,
173
+ children: [
174
+ /* @__PURE__ */ h(
175
+ "svg",
176
+ {
177
+ xmlns: "http://www.w3.org/2000/svg",
178
+ width: "24",
179
+ height: "24",
180
+ viewBox: "0 0 24 24",
181
+ fill: "none",
182
+ stroke: "currentColor",
183
+ strokeWidth: "2",
184
+ strokeLinecap: "round",
185
+ strokeLinejoin: "round",
186
+ className: "size-4",
187
+ children: [
188
+ /* @__PURE__ */ r("rect", { width: "18", height: "18", x: "3", y: "3", rx: "2" }),
189
+ /* @__PURE__ */ r("path", { d: "M9 3v18" })
190
+ ]
191
+ }
192
+ ),
193
+ /* @__PURE__ */ r("span", { className: "sr-only", children: "Toggle Sidebar" })
194
+ ]
195
+ }
196
+ );
197
+ });
198
+ q.displayName = "SidebarTrigger";
199
+ const V = i.forwardRef(({ className: a, ...e }, t) => {
200
+ const { toggleSidebar: s } = y();
201
+ return /* @__PURE__ */ r(
202
+ "button",
203
+ {
204
+ ref: t,
205
+ "data-sidebar": "rail",
206
+ "aria-label": "Toggle Sidebar",
207
+ tabIndex: -1,
208
+ onClick: s,
209
+ title: "Toggle Sidebar",
210
+ className: o(
211
+ "absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-border-strong group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex",
212
+ "[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize",
213
+ "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
214
+ "group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-bg-sidebar",
215
+ "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
216
+ "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
217
+ a
218
+ ),
219
+ ...e
220
+ }
221
+ );
222
+ });
223
+ V.displayName = "SidebarRail";
224
+ const F = i.forwardRef(
225
+ ({ className: a, ...e }, t) => /* @__PURE__ */ r(
226
+ "main",
227
+ {
228
+ ref: t,
229
+ className: o(
230
+ "relative flex min-h-svh flex-1 flex-col bg-bg-canvas",
231
+ "peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-card",
232
+ a
233
+ ),
234
+ ...e
235
+ }
236
+ )
237
+ );
238
+ F.displayName = "SidebarInset";
239
+ const U = i.forwardRef(({ className: a, ...e }, t) => /* @__PURE__ */ r(
240
+ D,
241
+ {
242
+ ref: t,
243
+ "data-sidebar": "input",
244
+ className: o(
245
+ "h-8 w-full bg-bg-canvas shadow-none focus-visible:ring-2 focus-visible:ring-focus-ring",
246
+ a
247
+ ),
248
+ ...e
249
+ }
250
+ ));
251
+ U.displayName = "SidebarInput";
252
+ const X = i.forwardRef(
253
+ ({ className: a, ...e }, t) => /* @__PURE__ */ r(
254
+ "div",
255
+ {
256
+ ref: t,
257
+ "data-sidebar": "header",
258
+ className: o("flex flex-col gap-2 p-2", a),
259
+ ...e
260
+ }
261
+ )
262
+ );
263
+ X.displayName = "SidebarHeader";
264
+ const Y = i.forwardRef(
265
+ ({ className: a, ...e }, t) => /* @__PURE__ */ r(
266
+ "div",
267
+ {
268
+ ref: t,
269
+ "data-sidebar": "footer",
270
+ className: o("flex flex-col gap-2 p-2", a),
271
+ ...e
272
+ }
273
+ )
274
+ );
275
+ Y.displayName = "SidebarFooter";
276
+ const J = i.forwardRef(({ className: a, ...e }, t) => /* @__PURE__ */ r(
277
+ E,
278
+ {
279
+ ref: t,
280
+ "data-sidebar": "separator",
281
+ className: o("mx-2 w-auto bg-border-muted", a),
282
+ ...e
283
+ }
284
+ ));
285
+ J.displayName = "SidebarSeparator";
286
+ const Q = i.forwardRef(
287
+ ({ className: a, ...e }, t) => /* @__PURE__ */ r(
288
+ "div",
289
+ {
290
+ ref: t,
291
+ "data-sidebar": "content",
292
+ className: o(
293
+ "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
294
+ a
295
+ ),
296
+ ...e
297
+ }
298
+ )
299
+ );
300
+ Q.displayName = "SidebarContent";
301
+ const Z = i.forwardRef(
302
+ ({ className: a, ...e }, t) => /* @__PURE__ */ r(
303
+ "div",
304
+ {
305
+ ref: t,
306
+ "data-sidebar": "group",
307
+ className: o("relative flex w-full min-w-0 flex-col p-2", a),
308
+ ...e
309
+ }
310
+ )
311
+ );
312
+ Z.displayName = "SidebarGroup";
313
+ const ee = i.forwardRef(({ className: a, asChild: e = !1, ...t }, s) => /* @__PURE__ */ r(
314
+ e ? x : "div",
315
+ {
316
+ ref: s,
317
+ "data-sidebar": "group-label",
318
+ className: o(
319
+ "flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-text-muted outline-none ring-focus-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
320
+ "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
321
+ a
322
+ ),
323
+ ...t
324
+ }
325
+ ));
326
+ ee.displayName = "SidebarGroupLabel";
327
+ const ae = i.forwardRef(({ className: a, asChild: e = !1, ...t }, s) => /* @__PURE__ */ r(
328
+ e ? x : "button",
329
+ {
330
+ ref: s,
331
+ "data-sidebar": "group-action",
332
+ className: o(
333
+ "absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-text-secondary outline-none ring-focus-ring transition-transform hover:bg-bg-accent hover:text-text-primary focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
334
+ "after:absolute after:-inset-2 after:md:hidden",
335
+ "group-data-[collapsible=icon]:hidden",
336
+ a
337
+ ),
338
+ ...t
339
+ }
340
+ ));
341
+ ae.displayName = "SidebarGroupAction";
342
+ const te = i.forwardRef(
343
+ ({ className: a, ...e }, t) => /* @__PURE__ */ r(
344
+ "div",
345
+ {
346
+ ref: t,
347
+ "data-sidebar": "group-content",
348
+ className: o("w-full text-sm", a),
349
+ ...e
350
+ }
351
+ )
352
+ );
353
+ te.displayName = "SidebarGroupContent";
354
+ const re = i.forwardRef(
355
+ ({ className: a, ...e }, t) => /* @__PURE__ */ r(
356
+ "ul",
357
+ {
358
+ ref: t,
359
+ "data-sidebar": "menu",
360
+ className: o("flex w-full min-w-0 flex-col gap-1", a),
361
+ ...e
362
+ }
363
+ )
364
+ );
365
+ re.displayName = "SidebarMenu";
366
+ const ie = i.forwardRef(
367
+ ({ className: a, ...e }, t) => /* @__PURE__ */ r(
368
+ "li",
369
+ {
370
+ ref: t,
371
+ "data-sidebar": "menu-item",
372
+ className: o("group/menu-item relative", a),
373
+ ...e
374
+ }
375
+ )
376
+ );
377
+ ie.displayName = "SidebarMenuItem";
378
+ const se = _(
379
+ "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-focus-ring transition-[width,height,padding] hover:bg-bg-sidebar-accent hover:text-text-sidebar active:bg-bg-sidebar-accent active:text-text-sidebar 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-bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-text-sidebar data-[state=open]:hover:bg-bg-sidebar-accent data-[state=open]:hover:text-text-sidebar group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
380
+ {
381
+ variants: {
382
+ variant: {
383
+ default: "hover:bg-bg-sidebar-accent hover:text-text-sidebar",
384
+ outline: "bg-bg-canvas shadow-input hover:bg-bg-sidebar-accent hover:text-text-sidebar hover:shadow-none"
385
+ },
386
+ size: {
387
+ default: "h-8 text-sm",
388
+ sm: "h-7 text-xs",
389
+ lg: "h-12 text-sm group-data-[collapsible=icon]:!p-0"
390
+ }
391
+ },
392
+ defaultVariants: {
393
+ variant: "default",
394
+ size: "default"
395
+ }
396
+ }
397
+ ), oe = i.forwardRef(
398
+ ({ asChild: a = !1, isActive: e = !1, variant: t, size: s, tooltip: d, className: n, ...u }, m) => {
399
+ const c = a ? x : "button", { isMobile: f, state: p } = y(), v = /* @__PURE__ */ r(
400
+ c,
401
+ {
402
+ ref: m,
403
+ "data-sidebar": "menu-button",
404
+ "data-size": s,
405
+ "data-active": e,
406
+ className: o(se({ variant: t, size: s }), n),
407
+ ...u
408
+ }
409
+ );
410
+ return d ? /* @__PURE__ */ h(B, { children: [
411
+ /* @__PURE__ */ r(z, { asChild: !0, children: v }),
412
+ /* @__PURE__ */ r(
413
+ T,
414
+ {
415
+ side: "right",
416
+ align: "center",
417
+ hidden: p !== "collapsed" || f,
418
+ ...typeof d == "string" ? { children: d } : d
419
+ }
420
+ )
421
+ ] }) : v;
422
+ }
423
+ );
424
+ oe.displayName = "SidebarMenuButton";
425
+ const de = i.forwardRef(({ className: a, asChild: e = !1, showOnHover: t = !1, ...s }, d) => /* @__PURE__ */ r(
426
+ e ? x : "button",
427
+ {
428
+ ref: d,
429
+ "data-sidebar": "menu-action",
430
+ className: o(
431
+ "absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-text-secondary outline-none ring-focus-ring transition-transform hover:bg-bg-accent hover:text-text-primary focus-visible:ring-2 peer-hover/menu-button:text-text-primary [&>svg]:size-4 [&>svg]:shrink-0",
432
+ "after:absolute after:-inset-2 after:md:hidden",
433
+ "group-data-[collapsible=icon]:hidden",
434
+ t && "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-text-primary md:opacity-0",
435
+ a
436
+ ),
437
+ ...s
438
+ }
439
+ ));
440
+ de.displayName = "SidebarMenuAction";
441
+ const ne = i.forwardRef(
442
+ ({ className: a, ...e }, t) => /* @__PURE__ */ r(
443
+ "div",
444
+ {
445
+ ref: t,
446
+ "data-sidebar": "menu-badge",
447
+ className: o(
448
+ "pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-text-secondary",
449
+ "peer-hover/menu-button:text-text-primary peer-data-[active=true]/menu-button:text-text-primary",
450
+ "group-data-[collapsible=icon]:hidden",
451
+ a
452
+ ),
453
+ ...e
454
+ }
455
+ )
456
+ );
457
+ ne.displayName = "SidebarMenuBadge";
458
+ const le = i.forwardRef(
459
+ ({ className: a, ...e }, t) => /* @__PURE__ */ r(
460
+ "ul",
461
+ {
462
+ ref: t,
463
+ "data-sidebar": "menu-sub",
464
+ className: o(
465
+ "mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-border-muted px-2.5 py-0.5",
466
+ "group-data-[collapsible=icon]:hidden",
467
+ a
468
+ ),
469
+ ...e
470
+ }
471
+ )
472
+ );
473
+ le.displayName = "SidebarMenuSub";
474
+ const ce = i.forwardRef(
475
+ ({ ...a }, e) => /* @__PURE__ */ r("li", { ref: e, ...a })
476
+ );
477
+ ce.displayName = "SidebarMenuSubItem";
478
+ const be = i.forwardRef(({ asChild: a = !1, size: e = "md", isActive: t, className: s, ...d }, n) => /* @__PURE__ */ r(
479
+ a ? x : "a",
480
+ {
481
+ ref: n,
482
+ "data-sidebar": "menu-sub-button",
483
+ "data-size": e,
484
+ "data-active": t,
485
+ className: o(
486
+ "flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-text-secondary outline-none ring-focus-ring hover:bg-bg-sidebar-accent hover:text-text-sidebar focus-visible:ring-2 active:bg-bg-sidebar-accent active:text-text-sidebar disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-icon-sidebar",
487
+ "data-[active=true]:bg-bg-sidebar-accent data-[active=true]:text-text-sidebar",
488
+ e === "sm" && "text-xs",
489
+ e === "md" && "text-sm",
490
+ "group-data-[collapsible=icon]:hidden",
491
+ s
492
+ ),
493
+ ...d
494
+ }
495
+ ));
496
+ be.displayName = "SidebarMenuSubButton";
497
+ const ue = i.forwardRef(({ className: a, showIcon: e = !1, ...t }, s) => {
498
+ const d = i.useMemo(() => `${Math.floor(Math.random() * 40) + 50}%`, []);
499
+ return /* @__PURE__ */ h(
500
+ "div",
501
+ {
502
+ ref: s,
503
+ "data-sidebar": "menu-skeleton",
504
+ className: o("flex h-8 items-center gap-2 rounded-md px-2", a),
505
+ ...t,
506
+ children: [
507
+ e && /* @__PURE__ */ r("div", { className: "size-4 rounded-md bg-bg-muted animate-pulse" }),
508
+ /* @__PURE__ */ r("div", { className: "h-4 max-w-(--skeleton-width) flex-1 rounded-md bg-bg-muted animate-pulse", style: { "--skeleton-width": d } })
509
+ ]
510
+ }
511
+ );
512
+ });
513
+ ue.displayName = "SidebarMenuSkeleton";
514
+ export {
515
+ W as Sidebar,
516
+ Q as SidebarContent,
517
+ Y as SidebarFooter,
518
+ Z as SidebarGroup,
519
+ ae as SidebarGroupAction,
520
+ te as SidebarGroupContent,
521
+ ee as SidebarGroupLabel,
522
+ X as SidebarHeader,
523
+ U as SidebarInput,
524
+ F as SidebarInset,
525
+ re as SidebarMenu,
526
+ de as SidebarMenuAction,
527
+ ne as SidebarMenuBadge,
528
+ oe as SidebarMenuButton,
529
+ ie as SidebarMenuItem,
530
+ ue as SidebarMenuSkeleton,
531
+ le as SidebarMenuSub,
532
+ be as SidebarMenuSubButton,
533
+ ce as SidebarMenuSubItem,
534
+ $ as SidebarProvider,
535
+ V as SidebarRail,
536
+ J as SidebarSeparator,
537
+ q as SidebarTrigger,
538
+ se as sidebarMenuButtonVariants,
539
+ y as useSidebar
540
+ };
541
+ //# sourceMappingURL=sidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.js","sources":["../../../src/components/ui/sidebar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '@/lib/utils';\nimport { Sheet, SheetContent } from './sheet';\nimport { Separator } from './separator';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './tooltip';\nimport { Input } from './input';\n\n// ── Constants ──────────────────────────────────────────────────────────────\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7; // 7 days\nconst SIDEBAR_WIDTH = '280px';\nconst SIDEBAR_WIDTH_ICON = '72px';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\n\n// ── Context ────────────────────────────────────────────────────────────────\n\ntype SidebarContextValue = {\n state: 'expanded' | 'collapsed';\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n};\n\nconst SidebarContext = React.createContext<SidebarContextValue | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n return context;\n}\n\n// ── useIsMobile hook ───────────────────────────────────────────────────────\n\nfunction useIsMobile(breakpoint = 768) {\n const [isMobile, setIsMobile] = React.useState(false);\n\n React.useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${breakpoint - 1}px)`);\n const onChange = () => setIsMobile(mql.matches);\n mql.addEventListener('change', onChange);\n setIsMobile(mql.matches);\n return () => mql.removeEventListener('change', onChange);\n }, [breakpoint]);\n\n return isMobile;\n}\n\n// ── Provider ───────────────────────────────────────────────────────────────\n\ninterface SidebarProviderProps extends React.ComponentProps<'div'> {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}\n\nconst SidebarProvider = React.forwardRef<HTMLDivElement, SidebarProviderProps>(\n (\n {\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n },\n ref\n ) => {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // Controlled or uncontrolled\n const [_open, _setOpen] = React.useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n // Persist to cookie\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open]\n );\n\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((prev) => !prev) : setOpen((prev) => !prev);\n }, [isMobile, setOpen]);\n\n // Keyboard shortcut\n React.useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === SIDEBAR_KEYBOARD_SHORTCUT && (e.metaKey || e.ctrlKey)) {\n e.preventDefault();\n toggleSidebar();\n }\n };\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [toggleSidebar]);\n\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = React.useMemo<SidebarContextValue>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n ref={ref}\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n 'group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-bg-sidebar',\n className\n )}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n }\n);\nSidebarProvider.displayName = 'SidebarProvider';\n\n// ── Sidebar ────────────────────────────────────────────────────────────────\n\ninterface SidebarProps extends React.ComponentProps<'div'> {\n side?: 'left' | 'right';\n variant?: 'sidebar' | 'floating' | 'inset';\n collapsible?: 'offcanvas' | 'icon' | 'none';\n}\n\nconst Sidebar = React.forwardRef<HTMLDivElement, SidebarProps>(\n (\n {\n side = 'left',\n variant = 'sidebar',\n collapsible = 'offcanvas',\n className,\n children,\n ...props\n },\n ref\n ) => {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <div\n ref={ref}\n className={cn(\n 'flex h-full w-(--sidebar-width) flex-col bg-bg-sidebar text-text-sidebar',\n className\n )}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-mobile=\"true\"\n className=\"w-(--sidebar-width) bg-bg-sidebar p-0 text-text-sidebar [&>button]:hidden\"\n style={{ '--sidebar-width': SIDEBAR_WIDTH_MOBILE } as React.CSSProperties}\n side={side}\n >\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n ref={ref}\n className=\"group peer hidden md:block\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n >\n {/* Gap placeholder */}\n <div\n className={cn(\n 'relative h-svh w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)'\n )}\n />\n <div\n className={cn(\n 'fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[collapsible=icon]:overflow-hidden',\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]'\n : 'group-data-[side=left]:border-r group-data-[side=right]:border-l border-border-default',\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n className={cn(\n 'flex h-full w-full flex-col bg-bg-sidebar text-text-sidebar',\n variant === 'floating' || variant === 'inset'\n ? 'rounded-lg border border-border-default shadow-card'\n : ''\n )}\n >\n {children}\n </div>\n </div>\n </div>\n );\n }\n);\nSidebar.displayName = 'Sidebar';\n\n// ── Trigger ────────────────────────────────────────────────────────────────\n\nconst SidebarTrigger = React.forwardRef<\n React.ComponentRef<'button'>,\n React.ComponentProps<'button'>\n>(({ className, onClick, ...props }, ref) => {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n ref={ref}\n data-sidebar=\"trigger\"\n className={cn('h-7 w-7', className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"size-4\"\n >\n <rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" />\n <path d=\"M9 3v18\" />\n </svg>\n <span className=\"sr-only\">Toggle Sidebar</span>\n </button>\n );\n});\nSidebarTrigger.displayName = 'SidebarTrigger';\n\n// ── Rail ───────────────────────────────────────────────────────────────────\n\nconst SidebarRail = React.forwardRef<\n React.ComponentRef<'button'>,\n React.ComponentProps<'button'>\n>(({ className, ...props }, ref) => {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n ref={ref}\n data-sidebar=\"rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-border-strong group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex',\n '[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-bg-sidebar',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className\n )}\n {...props}\n />\n );\n});\nSidebarRail.displayName = 'SidebarRail';\n\n// ── Inset ──────────────────────────────────────────────────────────────────\n\nconst SidebarInset = React.forwardRef<HTMLDivElement, React.ComponentProps<'main'>>(\n ({ className, ...props }, ref) => (\n <main\n ref={ref}\n className={cn(\n 'relative flex min-h-svh flex-1 flex-col bg-bg-canvas',\n 'peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-card',\n className\n )}\n {...props}\n />\n )\n);\nSidebarInset.displayName = 'SidebarInset';\n\n// ── Input ──────────────────────────────────────────────────────────────────\n\nconst SidebarInput = React.forwardRef<\n React.ComponentRef<typeof Input>,\n React.ComponentPropsWithoutRef<typeof Input>\n>(({ className, ...props }, ref) => (\n <Input\n ref={ref}\n data-sidebar=\"input\"\n className={cn(\n 'h-8 w-full bg-bg-canvas shadow-none focus-visible:ring-2 focus-visible:ring-focus-ring',\n className\n )}\n {...props}\n />\n));\nSidebarInput.displayName = 'SidebarInput';\n\n// ── Header / Footer / Content ──────────────────────────────────────────────\n\nconst SidebarHeader = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"header\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n )\n);\nSidebarHeader.displayName = 'SidebarHeader';\n\nconst SidebarFooter = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"footer\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n )\n);\nSidebarFooter.displayName = 'SidebarFooter';\n\nconst SidebarSeparator = React.forwardRef<\n React.ComponentRef<typeof Separator>,\n React.ComponentPropsWithoutRef<typeof Separator>\n>(({ className, ...props }, ref) => (\n <Separator\n ref={ref}\n data-sidebar=\"separator\"\n className={cn('mx-2 w-auto bg-border-muted', className)}\n {...props}\n />\n));\nSidebarSeparator.displayName = 'SidebarSeparator';\n\nconst SidebarContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"content\"\n className={cn(\n 'flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n className\n )}\n {...props}\n />\n )\n);\nSidebarContent.displayName = 'SidebarContent';\n\n// ── Group ──────────────────────────────────────────────────────────────────\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"group\"\n className={cn('relative flex w-full min-w-0 flex-col p-2', className)}\n {...props}\n />\n )\n);\nSidebarGroup.displayName = 'SidebarGroup';\n\nconst SidebarGroupLabel = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & { asChild?: boolean }\n>(({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div';\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-label\"\n className={cn(\n 'flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-text-muted outline-none ring-focus-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n className\n )}\n {...props}\n />\n );\n});\nSidebarGroupLabel.displayName = 'SidebarGroupLabel';\n\nconst SidebarGroupAction = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<'button'> & { asChild?: boolean }\n>(({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-action\"\n className={cn(\n 'absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-text-secondary outline-none ring-focus-ring transition-transform hover:bg-bg-accent hover:text-text-primary focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n 'after:absolute after:-inset-2 after:md:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n});\nSidebarGroupAction.displayName = 'SidebarGroupAction';\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"group-content\"\n className={cn('w-full text-sm', className)}\n {...props}\n />\n )\n);\nSidebarGroupContent.displayName = 'SidebarGroupContent';\n\n// ── Menu ───────────────────────────────────────────────────────────────────\n\nconst SidebarMenu = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(\n ({ className, ...props }, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu\"\n className={cn('flex w-full min-w-0 flex-col gap-1', className)}\n {...props}\n />\n )\n);\nSidebarMenu.displayName = 'SidebarMenu';\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(\n ({ className, ...props }, ref) => (\n <li\n ref={ref}\n data-sidebar=\"menu-item\"\n className={cn('group/menu-item relative', className)}\n {...props}\n />\n )\n);\nSidebarMenuItem.displayName = 'SidebarMenuItem';\n\nconst sidebarMenuButtonVariants = cva(\n 'peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-focus-ring transition-[width,height,padding] hover:bg-bg-sidebar-accent hover:text-text-sidebar active:bg-bg-sidebar-accent active:text-text-sidebar 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-bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-text-sidebar data-[state=open]:hover:bg-bg-sidebar-accent data-[state=open]:hover:text-text-sidebar group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'hover:bg-bg-sidebar-accent hover:text-text-sidebar',\n outline:\n 'bg-bg-canvas shadow-input hover:bg-bg-sidebar-accent hover:text-text-sidebar hover:shadow-none',\n },\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:!p-0',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n);\n\ninterface SidebarMenuButtonProps\n extends React.ComponentProps<'button'>,\n VariantProps<typeof sidebarMenuButtonVariants> {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n}\n\nconst SidebarMenuButton = React.forwardRef<HTMLButtonElement, SidebarMenuButtonProps>(\n ({ asChild = false, isActive = false, variant, size, tooltip, className, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n ref={ref}\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) return button;\n\n const tooltipProps = typeof tooltip === 'string' ? { children: tooltip } : tooltip;\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== 'collapsed' || isMobile}\n {...tooltipProps}\n />\n </Tooltip>\n );\n }\n);\nSidebarMenuButton.displayName = 'SidebarMenuButton';\n\nconst SidebarMenuAction = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<'button'> & { asChild?: boolean; showOnHover?: boolean }\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-action\"\n className={cn(\n 'absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-text-secondary outline-none ring-focus-ring transition-transform hover:bg-bg-accent hover:text-text-primary focus-visible:ring-2 peer-hover/menu-button:text-text-primary [&>svg]:size-4 [&>svg]:shrink-0',\n 'after:absolute after:-inset-2 after:md:hidden',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover &&\n 'group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-text-primary md:opacity-0',\n className\n )}\n {...props}\n />\n );\n});\nSidebarMenuAction.displayName = 'SidebarMenuAction';\n\nconst SidebarMenuBadge = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"menu-badge\"\n className={cn(\n 'pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-text-secondary',\n 'peer-hover/menu-button:text-text-primary peer-data-[active=true]/menu-button:text-text-primary',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n);\nSidebarMenuBadge.displayName = 'SidebarMenuBadge';\n\n// ── Sub-menu ───────────────────────────────────────────────────────────────\n\nconst SidebarMenuSub = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(\n ({ className, ...props }, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu-sub\"\n className={cn(\n 'mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-border-muted px-2.5 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n);\nSidebarMenuSub.displayName = 'SidebarMenuSub';\n\nconst SidebarMenuSubItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(\n ({ ...props }, ref) => <li ref={ref} {...props} />\n);\nSidebarMenuSubItem.displayName = 'SidebarMenuSubItem';\n\nconst SidebarMenuSubButton = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentProps<'a'> & { asChild?: boolean; size?: 'sm' | 'md'; isActive?: boolean }\n>(({ asChild = false, size = 'md', isActive, className, ...props }, ref) => {\n const Comp = asChild ? Slot : 'a';\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-text-secondary outline-none ring-focus-ring hover:bg-bg-sidebar-accent hover:text-text-sidebar focus-visible:ring-2 active:bg-bg-sidebar-accent active:text-text-sidebar disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-icon-sidebar',\n 'data-[active=true]:bg-bg-sidebar-accent data-[active=true]:text-text-sidebar',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n});\nSidebarMenuSubButton.displayName = 'SidebarMenuSubButton';\n\n// ── Skeleton ───────────────────────────────────────────────────────────────\n\nconst SidebarMenuSkeleton = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & { showIcon?: boolean }\n>(({ className, showIcon = false, ...props }, ref) => {\n const width = React.useMemo(() => `${Math.floor(Math.random() * 40) + 50}%`, []);\n\n return (\n <div\n ref={ref}\n data-sidebar=\"menu-skeleton\"\n className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)}\n {...props}\n >\n {showIcon && <div className=\"size-4 rounded-md bg-bg-muted animate-pulse\" />}\n <div className=\"h-4 max-w-(--skeleton-width) flex-1 rounded-md bg-bg-muted animate-pulse\" style={{ '--skeleton-width': width } as React.CSSProperties} />\n </div>\n );\n});\nSidebarMenuSkeleton.displayName = 'SidebarMenuSkeleton';\n\n// ── Exports ────────────────────────────────────────────────────────────────\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n sidebarMenuButtonVariants,\n};\n"],"names":["SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_ICON","SIDEBAR_WIDTH_MOBILE","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","React","useSidebar","context","useIsMobile","breakpoint","isMobile","setIsMobile","mql","onChange","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","ref","openMobile","setOpenMobile","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","prev","handleKeyDown","e","state","contextValue","jsx","TooltipProvider","cn","Sidebar","side","variant","collapsible","Sheet","SheetContent","jsxs","SidebarTrigger","onClick","event","SidebarRail","SidebarInset","SidebarInput","Input","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Slot","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","cva","SidebarMenuButton","isActive","size","tooltip","Comp","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuSubButton","SidebarMenuSkeleton","showIcon","width"],"mappings":";;;;;;;;;AAWA,MAAMA,IAAsB,iBACtBC,IAAyB,OAAU,KAAK,GACxCC,IAAgB,SAChBC,IAAqB,QACrBC,IAAuB,SACvBC,IAA4B,KAc5BC,IAAiBC,EAAM,cAA0C,IAAI;AAE3E,SAASC,IAAa;AACpB,QAAMC,IAAUF,EAAM,WAAWD,CAAc;AAC/C,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,mDAAmD;AAErE,SAAOA;AACT;AAIA,SAASC,EAAYC,IAAa,KAAK;AACrC,QAAM,CAACC,GAAUC,CAAW,IAAIN,EAAM,SAAS,EAAK;AAEpD,SAAAA,EAAM,UAAU,MAAM;AACpB,UAAMO,IAAM,OAAO,WAAW,eAAeH,IAAa,CAAC,KAAK,GAC1DI,IAAW,MAAMF,EAAYC,EAAI,OAAO;AAC9C,WAAAA,EAAI,iBAAiB,UAAUC,CAAQ,GACvCF,EAAYC,EAAI,OAAO,GAChB,MAAMA,EAAI,oBAAoB,UAAUC,CAAQ;AAAA,EACzD,GAAG,CAACJ,CAAU,CAAC,GAERC;AACT;AAUA,MAAMI,IAAkBT,EAAM;AAAA,EAC5B,CACE;AAAA,IACE,aAAAU,IAAc;AAAA,IACd,MAAMC;AAAA,IACN,cAAcC;AAAA,IACd,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAMZ,IAAWF,EAAA,GACX,CAACe,GAAYC,CAAa,IAAInB,EAAM,SAAS,EAAK,GAGlD,CAACoB,GAAOC,CAAQ,IAAIrB,EAAM,SAASU,CAAW,GAC9CY,IAAOX,KAAYS,GACnBG,IAAUvB,EAAM;AAAA,MACpB,CAACwB,MAAmD;AAClD,cAAMC,IAAY,OAAOD,KAAU,aAAaA,EAAMF,CAAI,IAAIE;AAC9D,QAAIZ,IACFA,EAAYa,CAAS,IAErBJ,EAASI,CAAS,GAGpB,SAAS,SAAS,GAAGhC,CAAmB,IAAIgC,CAAS,qBAAqB/B,CAAsB;AAAA,MAClG;AAAA,MACA,CAACkB,GAAaU,CAAI;AAAA,IAAA,GAGdI,IAAgB1B,EAAM,YAAY,MAC/BK,IAAWc,EAAc,CAACQ,MAAS,CAACA,CAAI,IAAIJ,EAAQ,CAACI,MAAS,CAACA,CAAI,GACzE,CAACtB,GAAUkB,CAAO,CAAC;AAGtB,IAAAvB,EAAM,UAAU,MAAM;AACpB,YAAM4B,IAAgB,CAACC,MAAqB;AAC1C,QAAIA,EAAE,QAAQ/B,MAA8B+B,EAAE,WAAWA,EAAE,aACzDA,EAAE,eAAA,GACFH,EAAA;AAAA,MAEJ;AACA,oBAAO,iBAAiB,WAAWE,CAAa,GACzC,MAAM,OAAO,oBAAoB,WAAWA,CAAa;AAAA,IAClE,GAAG,CAACF,CAAa,CAAC;AAElB,UAAMI,IAAQR,IAAO,aAAa,aAE5BS,IAAe/B,EAAM;AAAA,MACzB,OAAO;AAAA,QACL,OAAA8B;AAAA,QACA,MAAAR;AAAA,QACA,SAAAC;AAAA,QACA,UAAAlB;AAAA,QACA,YAAAa;AAAA,QACA,eAAAC;AAAA,QACA,eAAAO;AAAA,MAAA;AAAA,MAEF,CAACI,GAAOR,GAAMC,GAASlB,GAAUa,GAAYC,GAAeO,CAAa;AAAA,IAAA;AAG3E,WACE,gBAAAM,EAACjC,EAAe,UAAf,EAAwB,OAAOgC,GAC9B,UAAA,gBAAAC,EAACC,GAAA,EAAgB,eAAe,GAC9B,UAAA,gBAAAD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAf;AAAA,QACA,OACE;AAAA,UACE,mBAAmBtB;AAAA,UACnB,wBAAwBC;AAAA,UACxB,GAAGkB;AAAA,QAAA;AAAA,QAGP,WAAWoB;AAAA,UACT;AAAA,UACArB;AAAA,QAAA;AAAA,QAED,GAAGG;AAAA,QAEH,UAAAD;AAAA,MAAA;AAAA,IAAA,GAEL,EAAA,CACF;AAAA,EAEJ;AACF;AACAN,EAAgB,cAAc;AAU9B,MAAM0B,IAAUnC,EAAM;AAAA,EACpB,CACE;AAAA,IACE,MAAAoC,IAAO;AAAA,IACP,SAAAC,IAAU;AAAA,IACV,aAAAC,IAAc;AAAA,IACd,WAAAzB;AAAA,IACA,UAAAE;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAM,EAAE,UAAAZ,GAAU,OAAAyB,GAAO,YAAAZ,GAAY,eAAAC,EAAA,IAAkBlB,EAAA;AAEvD,WAAIqC,MAAgB,SAEhB,gBAAAN;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAf;AAAA,QACA,WAAWiB;AAAA,UACT;AAAA,UACArB;AAAA,QAAA;AAAA,QAED,GAAGG;AAAA,QAEH,UAAAD;AAAA,MAAA;AAAA,IAAA,IAKHV,IAEA,gBAAA2B,EAACO,GAAA,EAAM,MAAMrB,GAAY,cAAcC,GACrC,UAAA,gBAAAa;AAAA,MAACQ;AAAA,MAAA;AAAA,QACC,gBAAa;AAAA,QACb,eAAY;AAAA,QACZ,WAAU;AAAA,QACV,OAAO,EAAE,mBAAmB3C,EAAA;AAAA,QAC5B,MAAAuC;AAAA,QAEA,UAAA,gBAAAJ,EAAC,OAAA,EAAI,WAAU,+BAA+B,UAAAjB,EAAA,CAAS;AAAA,MAAA;AAAA,IAAA,GAE3D,IAKF,gBAAA0B;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAxB;AAAA,QACA,WAAU;AAAA,QACV,cAAYa;AAAA,QACZ,oBAAkBA,MAAU,cAAcQ,IAAc;AAAA,QACxD,gBAAcD;AAAA,QACd,aAAWD;AAAA,QAGX,UAAA;AAAA,UAAA,gBAAAJ;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWE;AAAA,gBACT;AAAA,gBACA;AAAA,gBACA;AAAA,gBACAG,MAAY,cAAcA,MAAY,UAClC,yFACA;AAAA,cAAA;AAAA,YACN;AAAA,UAAA;AAAA,UAEF,gBAAAL;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWE;AAAA,gBACT;AAAA,gBACAE,MAAS,SACL,mFACA;AAAA,gBACJ;AAAA,gBACAC,MAAY,cAAcA,MAAY,UAClC,kGACA;AAAA,gBACJxB;AAAA,cAAA;AAAA,cAED,GAAGG;AAAA,cAEJ,UAAA,gBAAAgB;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,gBAAa;AAAA,kBACb,WAAWE;AAAA,oBACT;AAAA,oBACAG,MAAY,cAAcA,MAAY,UAClC,wDACA;AAAA,kBAAA;AAAA,kBAGL,UAAAtB;AAAA,gBAAA;AAAA,cAAA;AAAA,YACH;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AACAoB,EAAQ,cAAc;AAItB,MAAMO,IAAiB1C,EAAM,WAG3B,CAAC,EAAE,WAAAa,GAAW,SAAA8B,GAAS,GAAG3B,EAAA,GAASC,MAAQ;AAC3C,QAAM,EAAE,eAAAS,EAAA,IAAkBzB,EAAA;AAE1B,SACE,gBAAAwC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAxB;AAAA,MACA,gBAAa;AAAA,MACb,WAAWiB,EAAG,WAAWrB,CAAS;AAAA,MAClC,SAAS,CAAC+B,MAAU;AAClB,QAAAD,KAAA,QAAAA,EAAUC,IACVlB,EAAA;AAAA,MACF;AAAA,MACC,GAAGV;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAyB;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN,OAAM;AAAA,YACN,QAAO;AAAA,YACP,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,QAAO;AAAA,YACP,aAAY;AAAA,YACZ,eAAc;AAAA,YACd,gBAAe;AAAA,YACf,WAAU;AAAA,YAEV,UAAA;AAAA,cAAA,gBAAAT,EAAC,QAAA,EAAK,OAAM,MAAK,QAAO,MAAK,GAAE,KAAI,GAAE,KAAI,IAAG,IAAA,CAAI;AAAA,cAChD,gBAAAA,EAAC,QAAA,EAAK,GAAE,UAAA,CAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAEpB,gBAAAA,EAAC,QAAA,EAAK,WAAU,WAAU,UAAA,iBAAA,CAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG9C,CAAC;AACDU,EAAe,cAAc;AAI7B,MAAMG,IAAc7C,EAAM,WAGxB,CAAC,EAAE,WAAAa,GAAW,GAAGG,EAAA,GAASC,MAAQ;AAClC,QAAM,EAAE,eAAAS,EAAA,IAAkBzB,EAAA;AAE1B,SACE,gBAAA+B;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAf;AAAA,MACA,gBAAa;AAAA,MACb,cAAW;AAAA,MACX,UAAU;AAAA,MACV,SAASS;AAAA,MACT,OAAM;AAAA,MACN,WAAWQ;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACArB;AAAA,MAAA;AAAA,MAED,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;AACD6B,EAAY,cAAc;AAI1B,MAAMC,IAAe9C,EAAM;AAAA,EACzB,CAAC,EAAE,WAAAa,GAAW,GAAGG,EAAA,GAASC,MACxB,gBAAAe;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAf;AAAA,MACA,WAAWiB;AAAA,QACT;AAAA,QACA;AAAA,QACArB;AAAA,MAAA;AAAA,MAED,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV;AACA8B,EAAa,cAAc;AAI3B,MAAMC,IAAe/C,EAAM,WAGzB,CAAC,EAAE,WAAAa,GAAW,GAAGG,EAAA,GAASC,MAC1B,gBAAAe;AAAA,EAACgB;AAAA,EAAA;AAAA,IACC,KAAA/B;AAAA,IACA,gBAAa;AAAA,IACb,WAAWiB;AAAA,MACT;AAAA,MACArB;AAAA,IAAA;AAAA,IAED,GAAGG;AAAA,EAAA;AACN,CACD;AACD+B,EAAa,cAAc;AAI3B,MAAME,IAAgBjD,EAAM;AAAA,EAC1B,CAAC,EAAE,WAAAa,GAAW,GAAGG,EAAA,GAASC,MACxB,gBAAAe;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAf;AAAA,MACA,gBAAa;AAAA,MACb,WAAWiB,EAAG,2BAA2BrB,CAAS;AAAA,MACjD,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV;AACAiC,EAAc,cAAc;AAE5B,MAAMC,IAAgBlD,EAAM;AAAA,EAC1B,CAAC,EAAE,WAAAa,GAAW,GAAGG,EAAA,GAASC,MACxB,gBAAAe;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAf;AAAA,MACA,gBAAa;AAAA,MACb,WAAWiB,EAAG,2BAA2BrB,CAAS;AAAA,MACjD,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV;AACAkC,EAAc,cAAc;AAE5B,MAAMC,IAAmBnD,EAAM,WAG7B,CAAC,EAAE,WAAAa,GAAW,GAAGG,EAAA,GAASC,MAC1B,gBAAAe;AAAA,EAACoB;AAAA,EAAA;AAAA,IACC,KAAAnC;AAAA,IACA,gBAAa;AAAA,IACb,WAAWiB,EAAG,+BAA+BrB,CAAS;AAAA,IACrD,GAAGG;AAAA,EAAA;AACN,CACD;AACDmC,EAAiB,cAAc;AAE/B,MAAME,IAAiBrD,EAAM;AAAA,EAC3B,CAAC,EAAE,WAAAa,GAAW,GAAGG,EAAA,GAASC,MACxB,gBAAAe;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAf;AAAA,MACA,gBAAa;AAAA,MACb,WAAWiB;AAAA,QACT;AAAA,QACArB;AAAA,MAAA;AAAA,MAED,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV;AACAqC,EAAe,cAAc;AAI7B,MAAMC,IAAetD,EAAM;AAAA,EACzB,CAAC,EAAE,WAAAa,GAAW,GAAGG,EAAA,GAASC,MACxB,gBAAAe;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAf;AAAA,MACA,gBAAa;AAAA,MACb,WAAWiB,EAAG,6CAA6CrB,CAAS;AAAA,MACnE,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV;AACAsC,EAAa,cAAc;AAE3B,MAAMC,KAAoBvD,EAAM,WAG9B,CAAC,EAAE,WAAAa,GAAW,SAAA2C,IAAU,IAAO,GAAGxC,EAAA,GAASC,MAGzC,gBAAAe;AAAA,EAFWwB,IAAUC,IAAO;AAAA,EAE3B;AAAA,IACC,KAAAxC;AAAA,IACA,gBAAa;AAAA,IACb,WAAWiB;AAAA,MACT;AAAA,MACA;AAAA,MACArB;AAAA,IAAA;AAAA,IAED,GAAGG;AAAA,EAAA;AAAA,CAGT;AACDuC,GAAkB,cAAc;AAEhC,MAAMG,KAAqB1D,EAAM,WAG/B,CAAC,EAAE,WAAAa,GAAW,SAAA2C,IAAU,IAAO,GAAGxC,EAAA,GAASC,MAGzC,gBAAAe;AAAA,EAFWwB,IAAUC,IAAO;AAAA,EAE3B;AAAA,IACC,KAAAxC;AAAA,IACA,gBAAa;AAAA,IACb,WAAWiB;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACArB;AAAA,IAAA;AAAA,IAED,GAAGG;AAAA,EAAA;AAAA,CAGT;AACD0C,GAAmB,cAAc;AAEjC,MAAMC,KAAsB3D,EAAM;AAAA,EAChC,CAAC,EAAE,WAAAa,GAAW,GAAGG,EAAA,GAASC,MACxB,gBAAAe;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAf;AAAA,MACA,gBAAa;AAAA,MACb,WAAWiB,EAAG,kBAAkBrB,CAAS;AAAA,MACxC,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV;AACA2C,GAAoB,cAAc;AAIlC,MAAMC,KAAc5D,EAAM;AAAA,EACxB,CAAC,EAAE,WAAAa,GAAW,GAAGG,EAAA,GAASC,MACxB,gBAAAe;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAf;AAAA,MACA,gBAAa;AAAA,MACb,WAAWiB,EAAG,sCAAsCrB,CAAS;AAAA,MAC5D,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV;AACA4C,GAAY,cAAc;AAE1B,MAAMC,KAAkB7D,EAAM;AAAA,EAC5B,CAAC,EAAE,WAAAa,GAAW,GAAGG,EAAA,GAASC,MACxB,gBAAAe;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAf;AAAA,MACA,gBAAa;AAAA,MACb,WAAWiB,EAAG,4BAA4BrB,CAAS;AAAA,MAClD,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV;AACA6C,GAAgB,cAAc;AAE9B,MAAMC,KAA4BC;AAAA,EAChC;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,SACE;AAAA,MAAA;AAAA,MAEJ,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ,GAUMC,KAAoBhE,EAAM;AAAA,EAC9B,CAAC,EAAE,SAAAwD,IAAU,IAAO,UAAAS,IAAW,IAAO,SAAA5B,GAAS,MAAA6B,GAAM,SAAAC,GAAS,WAAAtD,GAAW,GAAGG,EAAA,GAASC,MAAQ;AAC3F,UAAMmD,IAAOZ,IAAUC,IAAO,UACxB,EAAE,UAAApD,GAAU,OAAAyB,EAAA,IAAU7B,EAAA,GAEtBoE,IACJ,gBAAArC;AAAA,MAACoC;AAAA,MAAA;AAAA,QACC,KAAAnD;AAAA,QACA,gBAAa;AAAA,QACb,aAAWiD;AAAA,QACX,eAAaD;AAAA,QACb,WAAW/B,EAAG4B,GAA0B,EAAE,SAAAzB,GAAS,MAAA6B,EAAA,CAAM,GAAGrD,CAAS;AAAA,QACpE,GAAGG;AAAA,MAAA;AAAA,IAAA;AAIR,WAAKmD,sBAKFG,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAtC,EAACuC,GAAA,EAAe,SAAO,IAAE,UAAAF,GAAO;AAAA,MAChC,gBAAArC;AAAA,QAACwC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,OAAM;AAAA,UACN,QAAQ1C,MAAU,eAAezB;AAAA,UAChC,GATc,OAAO8D,KAAY,WAAW,EAAE,UAAUA,MAAYA;AAAA,QASjE;AAAA,MAAA;AAAA,IACN,GACF,IAbmBE;AAAA,EAevB;AACF;AACAL,GAAkB,cAAc;AAEhC,MAAMS,KAAoBzE,EAAM,WAG9B,CAAC,EAAE,WAAAa,GAAW,SAAA2C,IAAU,IAAO,aAAAkB,IAAc,IAAO,GAAG1D,EAAA,GAASC,MAG9D,gBAAAe;AAAA,EAFWwB,IAAUC,IAAO;AAAA,EAE3B;AAAA,IACC,KAAAxC;AAAA,IACA,gBAAa;AAAA,IACb,WAAWiB;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACAwC,KACE;AAAA,MACF7D;AAAA,IAAA;AAAA,IAED,GAAGG;AAAA,EAAA;AAAA,CAGT;AACDyD,GAAkB,cAAc;AAEhC,MAAME,KAAmB3E,EAAM;AAAA,EAC7B,CAAC,EAAE,WAAAa,GAAW,GAAGG,EAAA,GAASC,MACxB,gBAAAe;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAf;AAAA,MACA,gBAAa;AAAA,MACb,WAAWiB;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACArB;AAAA,MAAA;AAAA,MAED,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV;AACA2D,GAAiB,cAAc;AAI/B,MAAMC,KAAiB5E,EAAM;AAAA,EAC3B,CAAC,EAAE,WAAAa,GAAW,GAAGG,EAAA,GAASC,MACxB,gBAAAe;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAf;AAAA,MACA,gBAAa;AAAA,MACb,WAAWiB;AAAA,QACT;AAAA,QACA;AAAA,QACArB;AAAA,MAAA;AAAA,MAED,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV;AACA4D,GAAe,cAAc;AAE7B,MAAMC,KAAqB7E,EAAM;AAAA,EAC/B,CAAC,EAAE,GAAGgB,EAAA,GAASC,MAAQ,gBAAAe,EAAC,MAAA,EAAG,KAAAf,GAAW,GAAGD,EAAA,CAAO;AAClD;AACA6D,GAAmB,cAAc;AAEjC,MAAMC,KAAuB9E,EAAM,WAGjC,CAAC,EAAE,SAAAwD,IAAU,IAAO,MAAAU,IAAO,MAAM,UAAAD,GAAU,WAAApD,GAAW,GAAGG,EAAA,GAASC,MAGhE,gBAAAe;AAAA,EAFWwB,IAAUC,IAAO;AAAA,EAE3B;AAAA,IACC,KAAAxC;AAAA,IACA,gBAAa;AAAA,IACb,aAAWiD;AAAA,IACX,eAAaD;AAAA,IACb,WAAW/B;AAAA,MACT;AAAA,MACA;AAAA,MACAgC,MAAS,QAAQ;AAAA,MACjBA,MAAS,QAAQ;AAAA,MACjB;AAAA,MACArD;AAAA,IAAA;AAAA,IAED,GAAGG;AAAA,EAAA;AAAA,CAGT;AACD8D,GAAqB,cAAc;AAInC,MAAMC,KAAsB/E,EAAM,WAGhC,CAAC,EAAE,WAAAa,GAAW,UAAAmE,IAAW,IAAO,GAAGhE,EAAA,GAASC,MAAQ;AACpD,QAAMgE,IAAQjF,EAAM,QAAQ,MAAM,GAAG,KAAK,MAAM,KAAK,OAAA,IAAW,EAAE,IAAI,EAAE,KAAK,CAAA,CAAE;AAE/E,SACE,gBAAAyC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAxB;AAAA,MACA,gBAAa;AAAA,MACb,WAAWiB,EAAG,+CAA+CrB,CAAS;AAAA,MACrE,GAAGG;AAAA,MAEH,UAAA;AAAA,QAAAgE,KAAY,gBAAAhD,EAAC,OAAA,EAAI,WAAU,8CAAA,CAA8C;AAAA,QAC1E,gBAAAA,EAAC,SAAI,WAAU,4EAA2E,OAAO,EAAE,oBAAoBiD,IAAM,CAA0B;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG7J,CAAC;AACDF,GAAoB,cAAc;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),a=require("react"),u=require("../../lib/utils.cjs");function s(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const i=s(a),o=i.forwardRef(({className:e,...n},t)=>c.jsx("div",{ref:t,className:u.cn("animate-pulse rounded-md bg-bg-muted",e),...n}));o.displayName="Skeleton";exports.Skeleton=o;
2
+ //# sourceMappingURL=skeleton.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton.cjs","sources":["../../../src/components/ui/skeleton.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cn } from '@/lib/utils';\n\nconst Skeleton = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('animate-pulse rounded-md bg-bg-muted', className)}\n {...props}\n />\n )\n);\nSkeleton.displayName = 'Skeleton';\n\nexport { Skeleton };\n"],"names":["Skeleton","React","className","props","ref","jsx","cn"],"mappings":"mcAGMA,EAAWC,EAAM,WACrB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASC,IACxBC,EAAAA,IAAC,MAAA,CACC,IAAAD,EACA,UAAWE,EAAAA,GAAG,uCAAwCJ,CAAS,EAC9D,GAAGC,CAAA,CAAA,CAGV,EACAH,EAAS,YAAc"}
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ declare const Skeleton: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
3
+ export { Skeleton };
4
+ //# sourceMappingURL=skeleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/ui/skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,QAAA,MAAM,QAAQ,6GAQb,CAAC;AAGF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import * as t from "react";
3
+ import { cn as a } from "../../lib/utils.js";
4
+ const d = t.forwardRef(
5
+ ({ className: e, ...o }, m) => /* @__PURE__ */ r(
6
+ "div",
7
+ {
8
+ ref: m,
9
+ className: a("animate-pulse rounded-md bg-bg-muted", e),
10
+ ...o
11
+ }
12
+ )
13
+ );
14
+ d.displayName = "Skeleton";
15
+ export {
16
+ d as Skeleton
17
+ };
18
+ //# sourceMappingURL=skeleton.js.map