@senitix/ui 0.4.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 (206) hide show
  1. package/dist/avatar-C0aVNCG9.cjs +2 -0
  2. package/dist/avatar-C0aVNCG9.cjs.map +1 -0
  3. package/dist/avatar-CN6wcrqY.js +288 -0
  4. package/dist/avatar-CN6wcrqY.js.map +1 -0
  5. package/dist/calendar-BFWc4IB7.js +1182 -0
  6. package/dist/calendar-BFWc4IB7.js.map +1 -0
  7. package/dist/calendar-BUm7YrNf.cjs +2 -0
  8. package/dist/calendar-BUm7YrNf.cjs.map +1 -0
  9. package/dist/calendar-ChJkFXXr.js +11 -0
  10. package/dist/calendar-ChJkFXXr.js.map +1 -0
  11. package/dist/calendar-SwL5isYC.cjs +2 -0
  12. package/dist/calendar-SwL5isYC.cjs.map +1 -0
  13. package/dist/card-K4fxyYwE.js +51 -0
  14. package/dist/card-K4fxyYwE.js.map +1 -0
  15. package/dist/card-tMkUxpmW.cjs +2 -0
  16. package/dist/card-tMkUxpmW.cjs.map +1 -0
  17. package/dist/checkbox-CpOq5hkT.js +289 -0
  18. package/dist/checkbox-CpOq5hkT.js.map +1 -0
  19. package/dist/checkbox-D7-LQyCl.cjs +2 -0
  20. package/dist/checkbox-D7-LQyCl.cjs.map +1 -0
  21. package/dist/chevron-down-DHdXqOqK.cjs +2 -0
  22. package/dist/chevron-down-DHdXqOqK.cjs.map +1 -0
  23. package/dist/chevron-down-DJ1_YIFu.js +8 -0
  24. package/dist/chevron-down-DJ1_YIFu.js.map +1 -0
  25. package/dist/chevron-right-B3bovvh0.js +8 -0
  26. package/dist/chevron-right-B3bovvh0.js.map +1 -0
  27. package/dist/chevron-right-Dvyd11q0.cjs +2 -0
  28. package/dist/chevron-right-Dvyd11q0.cjs.map +1 -0
  29. package/dist/chevron-up-B9fuiZhc.cjs +2 -0
  30. package/dist/chevron-up-B9fuiZhc.cjs.map +1 -0
  31. package/dist/chevron-up-CGtXOr51.js +6 -0
  32. package/dist/chevron-up-CGtXOr51.js.map +1 -0
  33. package/dist/components/charts/index.cjs.js +2 -0
  34. package/dist/components/charts/index.cjs.js.map +1 -0
  35. package/dist/components/charts/index.es.js +12 -0
  36. package/dist/components/charts/index.es.js.map +1 -0
  37. package/dist/components/data-display/index.cjs.js +2 -0
  38. package/dist/components/data-display/index.cjs.js.map +1 -0
  39. package/dist/components/data-display/index.es.js +25 -0
  40. package/dist/components/data-display/index.es.js.map +1 -0
  41. package/dist/components/dnd/index.cjs.js +2 -0
  42. package/dist/components/dnd/index.cjs.js.map +1 -0
  43. package/dist/components/dnd/index.es.js +9 -0
  44. package/dist/components/dnd/index.es.js.map +1 -0
  45. package/dist/components/feedback/index.cjs.js +2 -0
  46. package/dist/components/feedback/index.cjs.js.map +1 -0
  47. package/dist/components/feedback/index.es.js +16 -0
  48. package/dist/components/feedback/index.es.js.map +1 -0
  49. package/dist/components/forms/index.cjs.js +2 -0
  50. package/dist/components/forms/index.cjs.js.map +1 -0
  51. package/dist/components/forms/index.es.js +27 -0
  52. package/dist/components/forms/index.es.js.map +1 -0
  53. package/dist/components/layouts/index.cjs.js +2 -0
  54. package/dist/components/layouts/index.cjs.js.map +1 -0
  55. package/dist/components/layouts/index.es.js +25 -0
  56. package/dist/components/layouts/index.es.js.map +1 -0
  57. package/dist/components/navigation/index.cjs.js +2 -0
  58. package/dist/components/navigation/index.cjs.js.map +1 -0
  59. package/dist/components/navigation/index.es.js +42 -0
  60. package/dist/components/navigation/index.es.js.map +1 -0
  61. package/dist/components/ui/index.cjs.js +2 -0
  62. package/dist/components/ui/index.cjs.js.map +1 -0
  63. package/dist/components/ui/index.es.js +165 -0
  64. package/dist/components/ui/index.es.js.map +1 -0
  65. package/dist/createLucideIcon-BbeNo6vq.js +56 -0
  66. package/dist/createLucideIcon-BbeNo6vq.js.map +1 -0
  67. package/dist/createLucideIcon-i5GEhNMV.cjs +2 -0
  68. package/dist/createLucideIcon-i5GEhNMV.cjs.map +1 -0
  69. package/dist/ellipsis-BW2gWki8.cjs +2 -0
  70. package/dist/ellipsis-BW2gWki8.cjs.map +1 -0
  71. package/dist/ellipsis-CiKEaUNP.js +10 -0
  72. package/dist/ellipsis-CiKEaUNP.js.map +1 -0
  73. package/dist/file-V_hhCUhr.cjs +2 -0
  74. package/dist/file-V_hhCUhr.cjs.map +1 -0
  75. package/dist/file-wzTXnWqz.js +9 -0
  76. package/dist/file-wzTXnWqz.js.map +1 -0
  77. package/dist/filter-tags-DjUaNXHR.cjs +5 -0
  78. package/dist/filter-tags-DjUaNXHR.cjs.map +1 -0
  79. package/dist/filter-tags-i_I8qV1N.js +2658 -0
  80. package/dist/filter-tags-i_I8qV1N.js.map +1 -0
  81. package/dist/full-calendar-7ac2FFU6.js +3518 -0
  82. package/dist/full-calendar-7ac2FFU6.js.map +1 -0
  83. package/dist/full-calendar-Cpeh5xMP.cjs +8 -0
  84. package/dist/full-calendar-Cpeh5xMP.cjs.map +1 -0
  85. package/dist/global-search-UNXjoFlI.cjs +2 -0
  86. package/dist/global-search-UNXjoFlI.cjs.map +1 -0
  87. package/dist/global-search-h1rVbP2q.js +1188 -0
  88. package/dist/global-search-h1rVbP2q.js.map +1 -0
  89. package/dist/hooks/index.cjs.js +2 -0
  90. package/dist/hooks/index.cjs.js.map +1 -0
  91. package/dist/hooks/index.es.js +13 -0
  92. package/dist/hooks/index.es.js.map +1 -0
  93. package/dist/index-Co9o9StL.js +33 -0
  94. package/dist/index-Co9o9StL.js.map +1 -0
  95. package/dist/index-CwJPJKOE.js +2278 -0
  96. package/dist/index-CwJPJKOE.js.map +1 -0
  97. package/dist/index-CzVK9Zyb.cjs +6 -0
  98. package/dist/index-CzVK9Zyb.cjs.map +1 -0
  99. package/dist/index-l828OqQN.js +288 -0
  100. package/dist/index-l828OqQN.js.map +1 -0
  101. package/dist/index-lGzB9daF.cjs +2 -0
  102. package/dist/index-lGzB9daF.cjs.map +1 -0
  103. package/dist/index-lT9bLt9X.cjs +2 -0
  104. package/dist/index-lT9bLt9X.cjs.map +1 -0
  105. package/dist/index.cjs.js +2 -0
  106. package/dist/index.cjs.js.map +1 -0
  107. package/dist/index.es.js +332 -0
  108. package/dist/index.es.js.map +1 -0
  109. package/dist/input-CZrckPLk.cjs +42 -0
  110. package/dist/input-CZrckPLk.cjs.map +1 -0
  111. package/dist/input-D4AoiWxo.js +3629 -0
  112. package/dist/input-D4AoiWxo.js.map +1 -0
  113. package/dist/locale-provider-DHMwuneF.cjs +2 -0
  114. package/dist/locale-provider-DHMwuneF.cjs.map +1 -0
  115. package/dist/locale-provider-DanG6RRG.js +1012 -0
  116. package/dist/locale-provider-DanG6RRG.js.map +1 -0
  117. package/dist/locale-selector-Ppe0KTi-.cjs +2 -0
  118. package/dist/locale-selector-Ppe0KTi-.cjs.map +1 -0
  119. package/dist/locale-selector-xn2GpdP9.js +1745 -0
  120. package/dist/locale-selector-xn2GpdP9.js.map +1 -0
  121. package/dist/minus-BXBFZSZs.cjs +2 -0
  122. package/dist/minus-BXBFZSZs.cjs.map +1 -0
  123. package/dist/minus-DvlYtl96.js +6 -0
  124. package/dist/minus-DvlYtl96.js.map +1 -0
  125. package/dist/multi-container-C2UpSw5f.js +731 -0
  126. package/dist/multi-container-C2UpSw5f.js.map +1 -0
  127. package/dist/multi-container-DMKL8c9B.cjs +2 -0
  128. package/dist/multi-container-DMKL8c9B.cjs.map +1 -0
  129. package/dist/pipeline-By5_8AFg.cjs +2 -0
  130. package/dist/pipeline-By5_8AFg.cjs.map +1 -0
  131. package/dist/pipeline-D-QNSU0U.js +1036 -0
  132. package/dist/pipeline-D-QNSU0U.js.map +1 -0
  133. package/dist/plus-8wKRkVu-.cjs +2 -0
  134. package/dist/plus-8wKRkVu-.cjs.map +1 -0
  135. package/dist/plus-CJD68KQD.js +9 -0
  136. package/dist/plus-CJD68KQD.js.map +1 -0
  137. package/dist/popover-4V4sGe1U.js +765 -0
  138. package/dist/popover-4V4sGe1U.js.map +1 -0
  139. package/dist/popover-ivh-plLc.cjs +2 -0
  140. package/dist/popover-ivh-plLc.cjs.map +1 -0
  141. package/dist/progress-CFnuLqnS.cjs +7 -0
  142. package/dist/progress-CFnuLqnS.cjs.map +1 -0
  143. package/dist/progress-D5AsrWa6.js +222 -0
  144. package/dist/progress-D5AsrWa6.js.map +1 -0
  145. package/dist/providers/index.cjs.js +2 -0
  146. package/dist/providers/index.cjs.js.map +1 -0
  147. package/dist/providers/index.es.js +9 -0
  148. package/dist/providers/index.es.js.map +1 -0
  149. package/dist/scroll-area-DQeqDp3Y.js +952 -0
  150. package/dist/scroll-area-DQeqDp3Y.js.map +1 -0
  151. package/dist/scroll-area-DYOiJMXh.cjs +2 -0
  152. package/dist/scroll-area-DYOiJMXh.cjs.map +1 -0
  153. package/dist/select-C1rNBi6c.js +974 -0
  154. package/dist/select-C1rNBi6c.js.map +1 -0
  155. package/dist/select-m-Mqwxu3.cjs +2 -0
  156. package/dist/select-m-Mqwxu3.cjs.map +1 -0
  157. package/dist/separator-DBUivkHq.cjs +2 -0
  158. package/dist/separator-DBUivkHq.cjs.map +1 -0
  159. package/dist/separator-DsfoJx-2.js +395 -0
  160. package/dist/separator-DsfoJx-2.js.map +1 -0
  161. package/dist/sheet-BVWCpq7E.js +84 -0
  162. package/dist/sheet-BVWCpq7E.js.map +1 -0
  163. package/dist/sheet-mKiFLVnK.cjs +2 -0
  164. package/dist/sheet-mKiFLVnK.cjs.map +1 -0
  165. package/dist/skeleton-BSwwYaQU.cjs +2 -0
  166. package/dist/skeleton-BSwwYaQU.cjs.map +1 -0
  167. package/dist/skeleton-BmGbfJw3.js +9 -0
  168. package/dist/skeleton-BmGbfJw3.js.map +1 -0
  169. package/dist/sortable.esm-Blhf_jh1.js +3391 -0
  170. package/dist/sortable.esm-Blhf_jh1.js.map +1 -0
  171. package/dist/sortable.esm-DcQYlXi3.cjs +6 -0
  172. package/dist/sortable.esm-DcQYlXi3.cjs.map +1 -0
  173. package/dist/sparkline-chart-Da-ehDGv.js +21082 -0
  174. package/dist/sparkline-chart-Da-ehDGv.js.map +1 -0
  175. package/dist/sparkline-chart-ca3uTzVK.cjs +68 -0
  176. package/dist/sparkline-chart-ca3uTzVK.cjs.map +1 -0
  177. package/dist/trending-up-D3Nfrhi3.cjs +2 -0
  178. package/dist/trending-up-D3Nfrhi3.cjs.map +1 -0
  179. package/dist/trending-up-DPwlYzQb.js +9 -0
  180. package/dist/trending-up-DPwlYzQb.js.map +1 -0
  181. package/dist/ui.css +1 -0
  182. package/dist/use-formatters-d97RVcmg.cjs +2 -0
  183. package/dist/use-formatters-d97RVcmg.cjs.map +1 -0
  184. package/dist/use-formatters-l1_2c8z0.js +6682 -0
  185. package/dist/use-formatters-l1_2c8z0.js.map +1 -0
  186. package/dist/use-local-storage-BjlrKzE-.js +42 -0
  187. package/dist/use-local-storage-BjlrKzE-.js.map +1 -0
  188. package/dist/use-local-storage-q-1odzIu.cjs +2 -0
  189. package/dist/use-local-storage-q-1odzIu.cjs.map +1 -0
  190. package/dist/use-mobile-C-LMK4T8.js +15 -0
  191. package/dist/use-mobile-C-LMK4T8.js.map +1 -0
  192. package/dist/use-mobile-DY7TJ5lx.cjs +2 -0
  193. package/dist/use-mobile-DY7TJ5lx.cjs.map +1 -0
  194. package/dist/use-toast-DG2qdYhl.js +97 -0
  195. package/dist/use-toast-DG2qdYhl.js.map +1 -0
  196. package/dist/use-toast-DxZJ8uUm.cjs +2 -0
  197. package/dist/use-toast-DxZJ8uUm.cjs.map +1 -0
  198. package/dist/utils/index.cjs.js +2 -0
  199. package/dist/utils/index.cjs.js.map +1 -0
  200. package/dist/utils/index.es.js +5 -0
  201. package/dist/utils/index.es.js.map +1 -0
  202. package/dist/welcome-card-CPolYl1D.cjs +2 -0
  203. package/dist/welcome-card-CPolYl1D.cjs.map +1 -0
  204. package/dist/welcome-card-CxMJZ8bv.js +963 -0
  205. package/dist/welcome-card-CxMJZ8bv.js.map +1 -0
  206. package/package.json +179 -0
@@ -0,0 +1,1188 @@
1
+ import { jsx as e, jsxs as n, Fragment as O } from "react/jsx-runtime";
2
+ import * as s from "react";
3
+ import { p as R, e as Y, a as M, B as J, S as Q } from "./scroll-area-DQeqDp3Y.js";
4
+ import { c as d } from "./index-CwJPJKOE.js";
5
+ import { T as Z, a as ee, b as ae, c as re, S as te } from "./separator-DsfoJx-2.js";
6
+ import { S as se, e as ne } from "./sheet-BVWCpq7E.js";
7
+ import { S as G } from "./skeleton-BmGbfJw3.js";
8
+ import { u as de } from "./use-mobile-C-LMK4T8.js";
9
+ import { c as B } from "./createLucideIcon-BbeNo6vq.js";
10
+ import { C as oe } from "./chevron-right-B3bovvh0.js";
11
+ import { E as ie } from "./ellipsis-CiKEaUNP.js";
12
+ import { I as K, D as _, a as E, b as z, f as H, g as L, c as T, k as le, m as ce, l as ue, i as me } from "./input-D4AoiWxo.js";
13
+ import { A as pe, a as fe, b as be } from "./avatar-CN6wcrqY.js";
14
+ import { S as A } from "./index-l828OqQN.js";
15
+ import { C as V } from "./chevron-down-DJ1_YIFu.js";
16
+ import { P as he } from "./plus-CJD68KQD.js";
17
+ import { a as ge, C as xe, L as q, b as ve, c as we, d as Ne, h as ye, e as Se, f as ke, g as Ce, P as Me, r as Re, s as Te } from "./popover-4V4sGe1U.js";
18
+ import { T as Be } from "./trending-up-DPwlYzQb.js";
19
+ const De = B("Bell", [
20
+ ["path", { d: "M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9", key: "1qo2s2" }],
21
+ ["path", { d: "M10.3 21a1.94 1.94 0 0 0 3.4 0", key: "qgo35s" }]
22
+ ]);
23
+ const Ie = B("History", [
24
+ ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
25
+ ["path", { d: "M3 3v5h5", key: "1xhq8a" }],
26
+ ["path", { d: "M12 7v5l4 2", key: "1fdv2h" }]
27
+ ]);
28
+ const _e = B("Menu", [
29
+ ["line", { x1: "4", x2: "20", y1: "12", y2: "12", key: "1e0a9i" }],
30
+ ["line", { x1: "4", x2: "20", y1: "6", y2: "6", key: "1owob3" }],
31
+ ["line", { x1: "4", x2: "20", y1: "18", y2: "18", key: "yk5zj1" }]
32
+ ]);
33
+ const Ee = B("PanelLeft", [
34
+ ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
35
+ ["path", { d: "M9 3v18", key: "fh3hqa" }]
36
+ ]), ze = "sidebar:state", Le = 3600 * 24 * 7, Ae = "16rem", je = "18rem", Pe = "3rem", Ge = "b", F = s.createContext(null);
37
+ function D() {
38
+ const r = s.useContext(F);
39
+ if (!r)
40
+ throw new Error("useSidebar must be used within a SidebarProvider.");
41
+ return r;
42
+ }
43
+ const Oe = s.forwardRef(
44
+ ({
45
+ defaultOpen: r = !0,
46
+ open: a,
47
+ onOpenChange: t,
48
+ className: i,
49
+ style: c,
50
+ children: h,
51
+ ...m
52
+ }, x) => {
53
+ const f = de(), [b, v] = s.useState(!1), [l, g] = s.useState(r), p = a ?? l, N = s.useCallback(
54
+ (S) => {
55
+ const k = typeof S == "function" ? S(p) : S;
56
+ t ? t(k) : g(k), document.cookie = `${ze}=${k}; path=/; max-age=${Le}`;
57
+ },
58
+ [t, p]
59
+ ), y = s.useCallback(() => f ? v((S) => !S) : N((S) => !S), [f, N, v]);
60
+ s.useEffect(() => {
61
+ const S = (k) => {
62
+ k.key === Ge && (k.metaKey || k.ctrlKey) && (k.preventDefault(), y());
63
+ };
64
+ return window.addEventListener("keydown", S), () => window.removeEventListener("keydown", S);
65
+ }, [y]);
66
+ const o = p ? "expanded" : "collapsed", w = s.useMemo(
67
+ () => ({
68
+ state: o,
69
+ open: p,
70
+ setOpen: N,
71
+ isMobile: f,
72
+ openMobile: b,
73
+ setOpenMobile: v,
74
+ toggleSidebar: y
75
+ }),
76
+ [o, p, N, f, b, v, y]
77
+ );
78
+ return /* @__PURE__ */ e(F.Provider, { value: w, children: /* @__PURE__ */ e(re, { delayDuration: 0, children: /* @__PURE__ */ e(
79
+ "div",
80
+ {
81
+ style: {
82
+ "--sidebar-width": Ae,
83
+ "--sidebar-width-icon": Pe,
84
+ ...c
85
+ },
86
+ className: d(
87
+ "group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",
88
+ i
89
+ ),
90
+ ref: x,
91
+ ...m,
92
+ children: h
93
+ }
94
+ ) }) });
95
+ }
96
+ );
97
+ Oe.displayName = "SidebarProvider";
98
+ const Ke = s.forwardRef(
99
+ ({
100
+ side: r = "left",
101
+ variant: a = "sidebar",
102
+ collapsible: t = "offcanvas",
103
+ className: i,
104
+ children: c,
105
+ ...h
106
+ }, m) => {
107
+ const { isMobile: x, state: f, openMobile: b, setOpenMobile: v } = D();
108
+ return t === "none" ? /* @__PURE__ */ e(
109
+ "div",
110
+ {
111
+ className: d(
112
+ "flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",
113
+ i
114
+ ),
115
+ ref: m,
116
+ ...h,
117
+ children: c
118
+ }
119
+ ) : x ? /* @__PURE__ */ e(se, { open: b, onOpenChange: v, ...h, children: /* @__PURE__ */ e(
120
+ ne,
121
+ {
122
+ "data-sidebar": "sidebar",
123
+ "data-mobile": "true",
124
+ className: "w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",
125
+ style: {
126
+ "--sidebar-width": je
127
+ },
128
+ side: r,
129
+ children: /* @__PURE__ */ e("div", { className: "flex h-full w-full flex-col", children: c })
130
+ }
131
+ ) }) : /* @__PURE__ */ n(
132
+ "div",
133
+ {
134
+ ref: m,
135
+ className: "group peer hidden md:block text-sidebar-foreground",
136
+ "data-state": f,
137
+ "data-collapsible": f === "collapsed" ? t : "",
138
+ "data-variant": a,
139
+ "data-side": r,
140
+ children: [
141
+ /* @__PURE__ */ e(
142
+ "div",
143
+ {
144
+ className: d(
145
+ "duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear",
146
+ "group-data-[collapsible=offcanvas]:w-0",
147
+ "group-data-[side=right]:rotate-180",
148
+ a === "floating" || a === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]" : "group-data-[collapsible=icon]:w-[--sidebar-width-icon]"
149
+ )
150
+ }
151
+ ),
152
+ /* @__PURE__ */ e(
153
+ "div",
154
+ {
155
+ className: d(
156
+ "duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex",
157
+ r === "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)]",
158
+ a === "floating" || a === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]" : "group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",
159
+ i
160
+ ),
161
+ ...h,
162
+ children: /* @__PURE__ */ e(
163
+ "div",
164
+ {
165
+ "data-sidebar": "sidebar",
166
+ className: d(
167
+ "flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow"
168
+ ),
169
+ children: c
170
+ }
171
+ )
172
+ }
173
+ )
174
+ ]
175
+ }
176
+ );
177
+ }
178
+ );
179
+ Ke.displayName = "Sidebar";
180
+ const He = s.forwardRef(({ className: r, onClick: a, ...t }, i) => {
181
+ const { toggleSidebar: c } = D();
182
+ return /* @__PURE__ */ n(
183
+ M,
184
+ {
185
+ ref: i,
186
+ "data-sidebar": "trigger",
187
+ variant: "ghost",
188
+ size: "icon",
189
+ className: d("h-7 w-7", r),
190
+ onClick: (h) => {
191
+ a?.(h), c();
192
+ },
193
+ ...t,
194
+ children: [
195
+ /* @__PURE__ */ e(Ee, {}),
196
+ /* @__PURE__ */ e("span", { className: "sr-only", children: "Toggle Sidebar" })
197
+ ]
198
+ }
199
+ );
200
+ });
201
+ He.displayName = "SidebarTrigger";
202
+ const Ve = s.forwardRef(
203
+ ({ className: r, ...a }, t) => {
204
+ const { toggleSidebar: i } = D();
205
+ return /* @__PURE__ */ e(
206
+ "button",
207
+ {
208
+ ref: t,
209
+ "data-sidebar": "rail",
210
+ "aria-label": "Toggle Sidebar",
211
+ tabIndex: -1,
212
+ onClick: i,
213
+ title: "Toggle Sidebar",
214
+ className: d(
215
+ "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-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex",
216
+ "[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize",
217
+ "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
218
+ "group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar",
219
+ "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
220
+ "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
221
+ r
222
+ ),
223
+ ...a
224
+ }
225
+ );
226
+ }
227
+ );
228
+ Ve.displayName = "SidebarRail";
229
+ const qe = s.forwardRef(
230
+ ({ className: r, ...a }, t) => /* @__PURE__ */ e(
231
+ "main",
232
+ {
233
+ ref: t,
234
+ className: d(
235
+ "relative flex min-h-svh flex-1 flex-col bg-background",
236
+ "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",
237
+ r
238
+ ),
239
+ ...a
240
+ }
241
+ )
242
+ );
243
+ qe.displayName = "SidebarInset";
244
+ const Fe = s.forwardRef(({ className: r, ...a }, t) => /* @__PURE__ */ e(
245
+ "input",
246
+ {
247
+ ref: t,
248
+ "data-sidebar": "input",
249
+ className: d(
250
+ "h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",
251
+ r
252
+ ),
253
+ ...a
254
+ }
255
+ ));
256
+ Fe.displayName = "SidebarInput";
257
+ const $e = s.forwardRef(
258
+ ({ className: r, ...a }, t) => /* @__PURE__ */ e(
259
+ "div",
260
+ {
261
+ ref: t,
262
+ "data-sidebar": "header",
263
+ className: d("flex flex-col gap-2 p-2", r),
264
+ ...a
265
+ }
266
+ )
267
+ );
268
+ $e.displayName = "SidebarHeader";
269
+ const Ue = s.forwardRef(
270
+ ({ className: r, ...a }, t) => /* @__PURE__ */ e(
271
+ "div",
272
+ {
273
+ ref: t,
274
+ "data-sidebar": "footer",
275
+ className: d("flex flex-col gap-2 p-2", r),
276
+ ...a
277
+ }
278
+ )
279
+ );
280
+ Ue.displayName = "SidebarFooter";
281
+ const We = s.forwardRef(({ className: r, ...a }, t) => /* @__PURE__ */ e(
282
+ te,
283
+ {
284
+ ref: t,
285
+ "data-sidebar": "separator",
286
+ className: d("mx-2 w-auto bg-sidebar-border", r),
287
+ ...a
288
+ }
289
+ ));
290
+ We.displayName = "SidebarSeparator";
291
+ const Xe = s.forwardRef(
292
+ ({ className: r, ...a }, t) => /* @__PURE__ */ e(
293
+ "div",
294
+ {
295
+ ref: t,
296
+ "data-sidebar": "content",
297
+ className: d(
298
+ "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
299
+ r
300
+ ),
301
+ ...a
302
+ }
303
+ )
304
+ );
305
+ Xe.displayName = "SidebarContent";
306
+ const Ye = s.forwardRef(
307
+ ({ className: r, ...a }, t) => /* @__PURE__ */ e(
308
+ "div",
309
+ {
310
+ ref: t,
311
+ "data-sidebar": "group",
312
+ className: d("relative flex w-full min-w-0 flex-col p-2", r),
313
+ ...a
314
+ }
315
+ )
316
+ );
317
+ Ye.displayName = "SidebarGroup";
318
+ const Je = s.forwardRef(({ className: r, asChild: a = !1, ...t }, i) => /* @__PURE__ */ e(
319
+ a ? R : "div",
320
+ {
321
+ ref: i,
322
+ "data-sidebar": "group-label",
323
+ className: d(
324
+ "duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
325
+ "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
326
+ r
327
+ ),
328
+ ...t
329
+ }
330
+ ));
331
+ Je.displayName = "SidebarGroupLabel";
332
+ const Qe = s.forwardRef(({ className: r, asChild: a = !1, ...t }, i) => /* @__PURE__ */ e(
333
+ a ? R : "button",
334
+ {
335
+ ref: i,
336
+ "data-sidebar": "group-action",
337
+ className: d(
338
+ "absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
339
+ "after:absolute after:-inset-2 after:md:hidden",
340
+ "group-data-[collapsible=icon]:hidden",
341
+ r
342
+ ),
343
+ ...t
344
+ }
345
+ ));
346
+ Qe.displayName = "SidebarGroupAction";
347
+ const Ze = s.forwardRef(
348
+ ({ className: r, ...a }, t) => /* @__PURE__ */ e(
349
+ "div",
350
+ {
351
+ ref: t,
352
+ "data-sidebar": "group-content",
353
+ className: d("w-full text-sm", r),
354
+ ...a
355
+ }
356
+ )
357
+ );
358
+ Ze.displayName = "SidebarGroupContent";
359
+ const ea = s.forwardRef(
360
+ ({ className: r, ...a }, t) => /* @__PURE__ */ e(
361
+ "ul",
362
+ {
363
+ ref: t,
364
+ "data-sidebar": "menu",
365
+ className: d("flex w-full min-w-0 flex-col gap-1", r),
366
+ ...a
367
+ }
368
+ )
369
+ );
370
+ ea.displayName = "SidebarMenu";
371
+ const aa = s.forwardRef(
372
+ ({ className: r, ...a }, t) => /* @__PURE__ */ e(
373
+ "li",
374
+ {
375
+ ref: t,
376
+ "data-sidebar": "menu-item",
377
+ className: d("group/menu-item relative", r),
378
+ ...a
379
+ }
380
+ )
381
+ );
382
+ aa.displayName = "SidebarMenuItem";
383
+ const ra = Y(
384
+ "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none 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",
385
+ {
386
+ variants: {
387
+ variant: {
388
+ default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
389
+ outline: "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"
390
+ },
391
+ size: {
392
+ default: "h-8 text-sm",
393
+ sm: "h-7 text-xs",
394
+ lg: "h-12 text-sm group-data-[collapsible=icon]:!p-0"
395
+ }
396
+ },
397
+ defaultVariants: {
398
+ variant: "default",
399
+ size: "default"
400
+ }
401
+ }
402
+ ), ta = s.forwardRef(
403
+ ({
404
+ asChild: r = !1,
405
+ isActive: a = !1,
406
+ variant: t = "default",
407
+ size: i = "default",
408
+ tooltip: c,
409
+ className: h,
410
+ ...m
411
+ }, x) => {
412
+ const f = r ? R : "button", { isMobile: b, state: v } = D(), l = /* @__PURE__ */ e(
413
+ f,
414
+ {
415
+ ref: x,
416
+ "data-sidebar": "menu-button",
417
+ "data-size": i,
418
+ "data-active": a,
419
+ className: d(ra({ variant: t, size: i }), h),
420
+ ...m
421
+ }
422
+ );
423
+ return c ? (typeof c == "string" && (c = {
424
+ children: c
425
+ }), /* @__PURE__ */ n(Z, { children: [
426
+ /* @__PURE__ */ e(ee, { asChild: !0, children: l }),
427
+ /* @__PURE__ */ e(
428
+ ae,
429
+ {
430
+ side: "right",
431
+ align: "center",
432
+ hidden: v !== "collapsed" || b,
433
+ ...c
434
+ }
435
+ )
436
+ ] })) : l;
437
+ }
438
+ );
439
+ ta.displayName = "SidebarMenuButton";
440
+ const sa = s.forwardRef(({ className: r, asChild: a = !1, showOnHover: t = !1, ...i }, c) => /* @__PURE__ */ e(
441
+ a ? R : "button",
442
+ {
443
+ ref: c,
444
+ "data-sidebar": "menu-action",
445
+ className: d(
446
+ "absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0",
447
+ "after:absolute after:-inset-2 after:md:hidden",
448
+ "peer-data-[size=sm]/menu-button:top-1",
449
+ "peer-data-[size=default]/menu-button:top-1.5",
450
+ "peer-data-[size=lg]/menu-button:top-2.5",
451
+ "group-data-[collapsible=icon]:hidden",
452
+ 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-sidebar-accent-foreground md:opacity-0",
453
+ r
454
+ ),
455
+ ...i
456
+ }
457
+ ));
458
+ sa.displayName = "SidebarMenuAction";
459
+ const na = s.forwardRef(
460
+ ({ className: r, ...a }, t) => /* @__PURE__ */ e(
461
+ "div",
462
+ {
463
+ ref: t,
464
+ "data-sidebar": "menu-badge",
465
+ className: d(
466
+ "absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none",
467
+ "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground",
468
+ "peer-data-[size=sm]/menu-button:top-1",
469
+ "peer-data-[size=default]/menu-button:top-1.5",
470
+ "peer-data-[size=lg]/menu-button:top-2.5",
471
+ "group-data-[collapsible=icon]:hidden",
472
+ r
473
+ ),
474
+ ...a
475
+ }
476
+ )
477
+ );
478
+ na.displayName = "SidebarMenuBadge";
479
+ const da = s.forwardRef(({ className: r, showIcon: a = !1, ...t }, i) => {
480
+ const c = s.useMemo(() => `${Math.floor(Math.random() * 40) + 50}%`, []);
481
+ return /* @__PURE__ */ n(
482
+ "div",
483
+ {
484
+ ref: i,
485
+ "data-sidebar": "menu-skeleton",
486
+ className: d("rounded-md h-8 flex gap-2 px-2 items-center", r),
487
+ ...t,
488
+ children: [
489
+ a && /* @__PURE__ */ e(G, { className: "size-4 rounded-md", "data-sidebar": "menu-skeleton-icon" }),
490
+ /* @__PURE__ */ e(
491
+ G,
492
+ {
493
+ className: "h-4 flex-1 max-w-[--skeleton-width]",
494
+ "data-sidebar": "menu-skeleton-text",
495
+ style: {
496
+ "--skeleton-width": c
497
+ }
498
+ }
499
+ )
500
+ ]
501
+ }
502
+ );
503
+ });
504
+ da.displayName = "SidebarMenuSkeleton";
505
+ const oa = s.forwardRef(
506
+ ({ className: r, ...a }, t) => /* @__PURE__ */ e(
507
+ "ul",
508
+ {
509
+ ref: t,
510
+ "data-sidebar": "menu-sub",
511
+ className: d(
512
+ "mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5",
513
+ "group-data-[collapsible=icon]:hidden",
514
+ r
515
+ ),
516
+ ...a
517
+ }
518
+ )
519
+ );
520
+ oa.displayName = "SidebarMenuSub";
521
+ const ia = s.forwardRef(
522
+ ({ ...r }, a) => /* @__PURE__ */ e("li", { ref: a, ...r })
523
+ );
524
+ ia.displayName = "SidebarMenuSubItem";
525
+ const la = s.forwardRef(({ asChild: r = !1, size: a = "md", isActive: t, className: i, ...c }, h) => /* @__PURE__ */ e(
526
+ r ? R : "a",
527
+ {
528
+ ref: h,
529
+ "data-sidebar": "menu-sub-button",
530
+ "data-size": a,
531
+ "data-active": t,
532
+ className: d(
533
+ "flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
534
+ "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
535
+ a === "sm" && "text-xs",
536
+ a === "md" && "text-sm",
537
+ "group-data-[collapsible=icon]:hidden",
538
+ i
539
+ ),
540
+ ...c
541
+ }
542
+ ));
543
+ la.displayName = "SidebarMenuSubButton";
544
+ const ca = s.forwardRef(({ ...r }, a) => /* @__PURE__ */ e("nav", { ref: a, "aria-label": "breadcrumb", ...r }));
545
+ ca.displayName = "Breadcrumb";
546
+ const ua = s.forwardRef(
547
+ ({ className: r, ...a }, t) => /* @__PURE__ */ e(
548
+ "ol",
549
+ {
550
+ ref: t,
551
+ className: d(
552
+ "flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",
553
+ r
554
+ ),
555
+ ...a
556
+ }
557
+ )
558
+ );
559
+ ua.displayName = "BreadcrumbList";
560
+ const ma = s.forwardRef(
561
+ ({ className: r, ...a }, t) => /* @__PURE__ */ e("li", { ref: t, className: d("inline-flex items-center gap-1.5", r), ...a })
562
+ );
563
+ ma.displayName = "BreadcrumbItem";
564
+ const pa = s.forwardRef(({ asChild: r, className: a, ...t }, i) => /* @__PURE__ */ e(
565
+ r ? R : "a",
566
+ {
567
+ ref: i,
568
+ className: d("transition-colors hover:text-foreground", a),
569
+ ...t
570
+ }
571
+ ));
572
+ pa.displayName = "BreadcrumbLink";
573
+ const fa = s.forwardRef(
574
+ ({ className: r, ...a }, t) => /* @__PURE__ */ e(
575
+ "span",
576
+ {
577
+ ref: t,
578
+ role: "link",
579
+ "aria-disabled": "true",
580
+ "aria-current": "page",
581
+ className: d("font-normal text-foreground", r),
582
+ ...a
583
+ }
584
+ )
585
+ );
586
+ fa.displayName = "BreadcrumbPage";
587
+ const ba = ({ children: r, className: a, ...t }) => /* @__PURE__ */ e("li", { role: "presentation", "aria-hidden": "true", className: d("[&>svg]:size-3.5", a), ...t, children: r ?? /* @__PURE__ */ e(oe, {}) });
588
+ ba.displayName = "BreadcrumbSeparator";
589
+ const ha = ({ className: r, ...a }) => /* @__PURE__ */ n(
590
+ "span",
591
+ {
592
+ role: "presentation",
593
+ "aria-hidden": "true",
594
+ className: d("flex h-9 w-9 items-center justify-center", r),
595
+ ...a,
596
+ children: [
597
+ /* @__PURE__ */ e(ie, { className: "h-4 w-4" }),
598
+ /* @__PURE__ */ e("span", { className: "sr-only", children: "More" })
599
+ ]
600
+ }
601
+ );
602
+ ha.displayName = "BreadcrumbEllipsis";
603
+ const ga = s.forwardRef(
604
+ ({
605
+ className: r,
606
+ logo: a,
607
+ onMenuClick: t,
608
+ showSearch: i = !0,
609
+ searchPlaceholder: c = "Search...",
610
+ onSearch: h,
611
+ user: m,
612
+ userMenuItems: x = [],
613
+ notificationCount: f,
614
+ onNotificationClick: b,
615
+ rightContent: v,
616
+ ...l
617
+ }, g) => {
618
+ const [p, N] = s.useState(""), y = (o) => {
619
+ o.preventDefault(), h?.(p);
620
+ };
621
+ return /* @__PURE__ */ n(
622
+ "header",
623
+ {
624
+ ref: g,
625
+ className: d(
626
+ "sticky top-0 z-50 flex h-16 items-center gap-4 border-b bg-background px-4 md:px-6",
627
+ r
628
+ ),
629
+ ...l,
630
+ children: [
631
+ t && /* @__PURE__ */ n(M, { variant: "ghost", size: "icon", className: "shrink-0 md:hidden", onClick: t, children: [
632
+ /* @__PURE__ */ e(_e, { className: "h-5 w-5" }),
633
+ /* @__PURE__ */ e("span", { className: "sr-only", children: "Toggle navigation menu" })
634
+ ] }),
635
+ a && /* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: a }),
636
+ i && /* @__PURE__ */ e("form", { onSubmit: y, className: "flex-1 md:flex-initial", children: /* @__PURE__ */ n("div", { className: "relative", children: [
637
+ /* @__PURE__ */ e(A, { className: "absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground" }),
638
+ /* @__PURE__ */ e(
639
+ K,
640
+ {
641
+ type: "search",
642
+ placeholder: c,
643
+ className: "w-full pl-8 md:w-[200px] lg:w-[300px]",
644
+ value: p,
645
+ onChange: (o) => N(o.target.value)
646
+ }
647
+ )
648
+ ] }) }),
649
+ /* @__PURE__ */ n("div", { className: "ml-auto flex items-center gap-2", children: [
650
+ v,
651
+ b && /* @__PURE__ */ n(M, { variant: "ghost", size: "icon", className: "relative", onClick: b, children: [
652
+ /* @__PURE__ */ e(De, { className: "h-5 w-5" }),
653
+ f !== void 0 && f > 0 && /* @__PURE__ */ e("span", { className: "absolute -right-1 -top-1 flex h-5 w-5 items-center justify-center rounded-full bg-destructive text-xs text-destructive-foreground", children: f > 99 ? "99+" : f }),
654
+ /* @__PURE__ */ e("span", { className: "sr-only", children: "Notifications" })
655
+ ] }),
656
+ m && /* @__PURE__ */ n(_, { children: [
657
+ /* @__PURE__ */ e(E, { asChild: !0, children: /* @__PURE__ */ e(M, { variant: "ghost", className: "relative h-8 w-8 rounded-full", children: /* @__PURE__ */ n(pe, { className: "h-8 w-8", children: [
658
+ m.avatar && /* @__PURE__ */ e(fe, { src: m.avatar, alt: m.name }),
659
+ /* @__PURE__ */ e(be, { children: m.initials || m.name.charAt(0).toUpperCase() })
660
+ ] }) }) }),
661
+ /* @__PURE__ */ n(z, { className: "w-56", align: "end", forceMount: !0, children: [
662
+ /* @__PURE__ */ e(H, { className: "font-normal", children: /* @__PURE__ */ n("div", { className: "flex flex-col space-y-1", children: [
663
+ /* @__PURE__ */ e("p", { className: "text-sm font-medium leading-none", children: m.name }),
664
+ /* @__PURE__ */ e("p", { className: "text-xs leading-none text-muted-foreground", children: m.email })
665
+ ] }) }),
666
+ x.length > 0 && /* @__PURE__ */ n(O, { children: [
667
+ /* @__PURE__ */ e(L, {}),
668
+ x.map((o, w) => /* @__PURE__ */ n(T, { onClick: o.onClick, children: [
669
+ o.icon && /* @__PURE__ */ e("span", { className: "mr-2", children: o.icon }),
670
+ o.label
671
+ ] }, w))
672
+ ] })
673
+ ] })
674
+ ] })
675
+ ] })
676
+ ]
677
+ }
678
+ );
679
+ }
680
+ );
681
+ ga.displayName = "TopNav";
682
+ const xa = s.forwardRef(
683
+ ({ className: r, items: a, logo: t, rightContent: i, ...c }, h) => {
684
+ const [m, x] = s.useState(null), f = s.useRef(null), b = (l) => {
685
+ f.current && clearTimeout(f.current), x(l);
686
+ }, v = () => {
687
+ f.current = setTimeout(() => {
688
+ x(null);
689
+ }, 150);
690
+ };
691
+ return /* @__PURE__ */ e(
692
+ "nav",
693
+ {
694
+ ref: h,
695
+ className: d("relative z-50 w-full border-b bg-background", r),
696
+ ...c,
697
+ children: /* @__PURE__ */ n("div", { className: "mx-auto flex h-16 max-w-7xl items-center justify-between px-4", children: [
698
+ t && /* @__PURE__ */ e("div", { className: "flex-shrink-0", children: t }),
699
+ /* @__PURE__ */ e("ul", { className: "hidden items-center gap-1 md:flex", children: a.map((l) => /* @__PURE__ */ n(
700
+ "li",
701
+ {
702
+ onMouseEnter: () => l.columns && b(l.label),
703
+ onMouseLeave: v,
704
+ children: [
705
+ l.href && !l.columns ? /* @__PURE__ */ e(
706
+ "a",
707
+ {
708
+ href: l.href,
709
+ className: "flex items-center gap-1 rounded-md px-3 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground",
710
+ children: l.label
711
+ }
712
+ ) : /* @__PURE__ */ n(
713
+ M,
714
+ {
715
+ variant: "ghost",
716
+ className: d(
717
+ "flex items-center gap-1",
718
+ m === l.label && "bg-accent text-accent-foreground"
719
+ ),
720
+ children: [
721
+ l.label,
722
+ l.columns && /* @__PURE__ */ e(
723
+ V,
724
+ {
725
+ className: d(
726
+ "h-4 w-4 transition-transform",
727
+ m === l.label && "rotate-180"
728
+ )
729
+ }
730
+ )
731
+ ]
732
+ }
733
+ ),
734
+ l.columns && m === l.label && /* @__PURE__ */ e(
735
+ "div",
736
+ {
737
+ className: "absolute left-0 right-0 top-full border-b bg-background shadow-lg",
738
+ onMouseEnter: () => b(l.label),
739
+ onMouseLeave: v,
740
+ children: /* @__PURE__ */ e("div", { className: "mx-auto max-w-7xl p-6", children: /* @__PURE__ */ e(
741
+ "div",
742
+ {
743
+ className: "grid gap-8",
744
+ style: {
745
+ gridTemplateColumns: `repeat(${l.columns.length}, minmax(0, 1fr))`
746
+ },
747
+ children: l.columns.map((g, p) => /* @__PURE__ */ n("div", { children: [
748
+ g.title && /* @__PURE__ */ e("h3", { className: "mb-4 text-sm font-semibold text-foreground", children: g.title }),
749
+ g.sections.map((N, y) => /* @__PURE__ */ n("div", { className: "mb-4", children: [
750
+ N.title && /* @__PURE__ */ e("h4", { className: "mb-2 text-xs font-medium uppercase tracking-wider text-muted-foreground", children: N.title }),
751
+ /* @__PURE__ */ e("ul", { className: "space-y-1", children: N.links.map((o, w) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ n(
752
+ "a",
753
+ {
754
+ href: o.href,
755
+ className: "group flex items-start gap-3 rounded-md p-2 transition-colors hover:bg-accent",
756
+ children: [
757
+ o.icon && /* @__PURE__ */ e("span", { className: "mt-0.5 text-muted-foreground group-hover:text-foreground", children: o.icon }),
758
+ /* @__PURE__ */ n("div", { children: [
759
+ /* @__PURE__ */ e("span", { className: "block text-sm font-medium", children: o.label }),
760
+ o.description && /* @__PURE__ */ e("span", { className: "block text-xs text-muted-foreground", children: o.description })
761
+ ] })
762
+ ]
763
+ }
764
+ ) }, w)) })
765
+ ] }, y)),
766
+ g.featured && /* @__PURE__ */ e("div", { className: "mt-4 rounded-lg bg-muted p-4", children: g.featured })
767
+ ] }, p))
768
+ }
769
+ ) })
770
+ }
771
+ )
772
+ ]
773
+ },
774
+ l.label
775
+ )) }),
776
+ i && /* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: i })
777
+ ] })
778
+ }
779
+ );
780
+ }
781
+ );
782
+ xa.displayName = "MegaMenu";
783
+ function $(r) {
784
+ return r.map((a, t) => {
785
+ if (a.separator)
786
+ return /* @__PURE__ */ e(L, {}, `separator-${t}`);
787
+ if (a.children && a.children.length > 0)
788
+ return /* @__PURE__ */ n(le, { children: [
789
+ /* @__PURE__ */ n(ce, { disabled: a.disabled, className: "flex items-center gap-2", children: [
790
+ a.icon && /* @__PURE__ */ e("span", { className: "h-4 w-4", children: a.icon }),
791
+ a.label
792
+ ] }),
793
+ /* @__PURE__ */ e(ue, { children: $(a.children) })
794
+ ] }, a.label);
795
+ const i = () => {
796
+ a.onClick && a.onClick();
797
+ };
798
+ return a.href ? /* @__PURE__ */ e(T, { disabled: a.disabled, asChild: !0, children: /* @__PURE__ */ n("a", { href: a.href, className: "flex items-center gap-2", children: [
799
+ a.icon && /* @__PURE__ */ e("span", { className: "h-4 w-4", children: a.icon }),
800
+ a.label
801
+ ] }) }, a.label) : /* @__PURE__ */ n(
802
+ T,
803
+ {
804
+ disabled: a.disabled,
805
+ onClick: i,
806
+ className: "flex items-center gap-2",
807
+ children: [
808
+ a.icon && /* @__PURE__ */ e("span", { className: "h-4 w-4", children: a.icon }),
809
+ a.label
810
+ ]
811
+ },
812
+ a.label
813
+ );
814
+ });
815
+ }
816
+ const va = s.forwardRef(
817
+ ({ trigger: r, items: a, align: t = "start", side: i = "bottom", className: c }, h) => /* @__PURE__ */ n(_, { children: [
818
+ /* @__PURE__ */ e(E, { asChild: !0, children: r }),
819
+ /* @__PURE__ */ e(z, { ref: h, align: t, side: i, className: d("w-56", c), children: $(a) })
820
+ ] })
821
+ );
822
+ va.displayName = "MultiLevelDropdown";
823
+ const wa = s.forwardRef(
824
+ ({
825
+ className: r,
826
+ tabs: a,
827
+ activeTab: t,
828
+ onTabChange: i,
829
+ variant: c = "default",
830
+ size: h = "md",
831
+ fullWidth: m = !1,
832
+ ...x
833
+ }, f) => {
834
+ const [b, v] = s.useState(a[0]?.id), l = t ?? b, g = (o) => {
835
+ i ? i(o) : v(o);
836
+ }, p = {
837
+ sm: "text-xs py-1 px-2",
838
+ md: "text-sm py-2 px-3",
839
+ lg: "text-base py-3 px-4"
840
+ }, N = (o) => {
841
+ const w = "flex items-center gap-2 font-medium transition-colors";
842
+ switch (c) {
843
+ case "pills":
844
+ return d(
845
+ w,
846
+ "rounded-full",
847
+ o ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:bg-muted hover:text-foreground"
848
+ );
849
+ case "underline":
850
+ return d(
851
+ w,
852
+ "border-b-2 rounded-none",
853
+ o ? "border-primary text-primary" : "border-transparent text-muted-foreground hover:border-border hover:text-foreground"
854
+ );
855
+ case "boxed":
856
+ return d(
857
+ w,
858
+ "rounded-lg border",
859
+ o ? "border-primary bg-primary/10 text-primary" : "border-transparent text-muted-foreground hover:bg-muted hover:text-foreground"
860
+ );
861
+ default:
862
+ return d(
863
+ w,
864
+ "rounded-md",
865
+ o ? "bg-muted text-foreground" : "text-muted-foreground hover:bg-muted/50 hover:text-foreground"
866
+ );
867
+ }
868
+ }, y = d(
869
+ "flex items-center gap-1",
870
+ c === "underline" && "border-b",
871
+ m && "w-full",
872
+ r
873
+ );
874
+ return /* @__PURE__ */ e("div", { ref: f, className: y, role: "tablist", ...x, children: a.map((o) => {
875
+ const w = l === o.id;
876
+ return /* @__PURE__ */ n(
877
+ "button",
878
+ {
879
+ role: "tab",
880
+ "aria-selected": w,
881
+ "aria-disabled": o.disabled,
882
+ disabled: o.disabled,
883
+ onClick: () => g(o.id),
884
+ className: d(
885
+ N(w),
886
+ p[h],
887
+ m && "flex-1 justify-center",
888
+ o.disabled && "cursor-not-allowed opacity-50"
889
+ ),
890
+ children: [
891
+ o.icon && /* @__PURE__ */ e("span", { className: "h-4 w-4", children: o.icon }),
892
+ /* @__PURE__ */ e("span", { children: o.label }),
893
+ o.badge !== void 0 && /* @__PURE__ */ e(
894
+ J,
895
+ {
896
+ variant: w ? "default" : "secondary",
897
+ className: "ml-1 h-5 min-w-5 rounded-full px-1.5 text-xs",
898
+ children: o.badge
899
+ }
900
+ )
901
+ ]
902
+ },
903
+ o.id
904
+ );
905
+ }) });
906
+ }
907
+ );
908
+ wa.displayName = "TabNavigation";
909
+ const Na = s.forwardRef(
910
+ ({
911
+ groups: r,
912
+ label: a = "Create",
913
+ variant: t = "default",
914
+ size: i = "default",
915
+ className: c,
916
+ align: h = "end"
917
+ }, m) => /* @__PURE__ */ n(_, { children: [
918
+ /* @__PURE__ */ e(E, { asChild: !0, children: /* @__PURE__ */ n(M, { ref: m, variant: t, size: i, className: d("gap-1", c), children: [
919
+ /* @__PURE__ */ e(he, { className: "h-4 w-4" }),
920
+ i !== "icon" && /* @__PURE__ */ n(O, { children: [
921
+ /* @__PURE__ */ e("span", { children: a }),
922
+ /* @__PURE__ */ e(V, { className: "h-3 w-3 opacity-50" })
923
+ ] })
924
+ ] }) }),
925
+ /* @__PURE__ */ e(z, { align: h, className: "w-64", children: r.map((x, f) => /* @__PURE__ */ n(s.Fragment, { children: [
926
+ f > 0 && /* @__PURE__ */ e(L, {}),
927
+ x.label && /* @__PURE__ */ e(H, { children: x.label }),
928
+ /* @__PURE__ */ e(me, { children: x.items.map((b) => /* @__PURE__ */ n(
929
+ T,
930
+ {
931
+ onClick: b.onClick,
932
+ className: "flex items-start gap-3 py-2",
933
+ children: [
934
+ b.icon && /* @__PURE__ */ e("span", { className: "mt-0.5 flex h-5 w-5 items-center justify-center text-muted-foreground", children: b.icon }),
935
+ /* @__PURE__ */ n("div", { className: "flex flex-1 flex-col gap-0.5", children: [
936
+ /* @__PURE__ */ e("span", { className: "font-medium", children: b.label }),
937
+ b.description && /* @__PURE__ */ e("span", { className: "text-xs text-muted-foreground", children: b.description })
938
+ ] }),
939
+ b.shortcut && /* @__PURE__ */ e("kbd", { className: "pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground opacity-100", children: b.shortcut })
940
+ ]
941
+ },
942
+ b.id
943
+ )) })
944
+ ] }, f)) })
945
+ ] })
946
+ );
947
+ Na.displayName = "QuickCreateMenu";
948
+ const ya = s.forwardRef(
949
+ ({
950
+ open: r,
951
+ onOpenChange: a,
952
+ groups: t,
953
+ placeholder: i = "Type a command or search...",
954
+ emptyMessage: c = "No results found.",
955
+ loading: h = !1,
956
+ onSearch: m
957
+ }, x) => {
958
+ const [f, b] = s.useState("");
959
+ return s.useEffect(() => {
960
+ const l = (g) => {
961
+ g.key === "k" && (g.metaKey || g.ctrlKey) && (g.preventDefault(), a(!r));
962
+ };
963
+ return document.addEventListener("keydown", l), () => document.removeEventListener("keydown", l);
964
+ }, [r, a]), /* @__PURE__ */ e(ge, { open: r, onOpenChange: a, children: /* @__PURE__ */ n(xe, { ref: x, className: "rounded-lg border shadow-md", children: [
965
+ /* @__PURE__ */ n("div", { className: "flex items-center border-b px-3", children: [
966
+ h ? /* @__PURE__ */ e(q, { className: "mr-2 h-4 w-4 shrink-0 animate-spin opacity-50" }) : /* @__PURE__ */ e(A, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
967
+ /* @__PURE__ */ e(
968
+ ve,
969
+ {
970
+ placeholder: i,
971
+ value: f,
972
+ onValueChange: (l) => {
973
+ b(l), m?.(l);
974
+ },
975
+ className: "flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50"
976
+ }
977
+ )
978
+ ] }),
979
+ /* @__PURE__ */ n(we, { children: [
980
+ /* @__PURE__ */ e(Ne, { children: c }),
981
+ t.map((l, g) => /* @__PURE__ */ n(s.Fragment, { children: [
982
+ g > 0 && /* @__PURE__ */ e(ye, {}),
983
+ /* @__PURE__ */ e(Se, { heading: l.heading, children: l.actions.map((p) => /* @__PURE__ */ n(
984
+ ke,
985
+ {
986
+ value: p.id,
987
+ keywords: p.keywords,
988
+ onSelect: () => {
989
+ p.onSelect(), a(!1);
990
+ },
991
+ disabled: p.disabled,
992
+ className: "flex items-center gap-2",
993
+ children: [
994
+ p.icon && /* @__PURE__ */ e("span", { className: "flex h-5 w-5 items-center justify-center", children: p.icon }),
995
+ /* @__PURE__ */ e("span", { children: p.label }),
996
+ p.shortcut && /* @__PURE__ */ e(Ce, { children: p.shortcut })
997
+ ]
998
+ },
999
+ p.id
1000
+ )) })
1001
+ ] }, l.heading))
1002
+ ] })
1003
+ ] }) });
1004
+ }
1005
+ );
1006
+ ya.displayName = "CommandPalette";
1007
+ const Sa = s.forwardRef(
1008
+ ({
1009
+ className: r,
1010
+ onSearch: a,
1011
+ recentSearches: t = [],
1012
+ onRecentSearchClick: i,
1013
+ onClearRecent: c,
1014
+ trendingSearches: h = [],
1015
+ placeholder: m = "Search...",
1016
+ shortcut: x = "⌘K",
1017
+ debounceMs: f = 300,
1018
+ ...b
1019
+ }, v) => {
1020
+ const [l, g] = s.useState(!1), [p, N] = s.useState(""), [y, o] = s.useState([]), [w, S] = s.useState(!1), k = s.useRef(null), I = s.useRef(null);
1021
+ s.useEffect(() => {
1022
+ const u = (C) => {
1023
+ C.key === "k" && (C.metaKey || C.ctrlKey) && (C.preventDefault(), g(!0), setTimeout(() => k.current?.focus(), 0));
1024
+ };
1025
+ return document.addEventListener("keydown", u), () => document.removeEventListener("keydown", u);
1026
+ }, []);
1027
+ const j = s.useCallback(
1028
+ async (u) => {
1029
+ if (N(u), I.current && clearTimeout(I.current), !u.trim()) {
1030
+ o([]);
1031
+ return;
1032
+ }
1033
+ I.current = setTimeout(async () => {
1034
+ S(!0);
1035
+ try {
1036
+ const C = await a(u);
1037
+ o(C);
1038
+ } catch {
1039
+ o([]);
1040
+ } finally {
1041
+ S(!1);
1042
+ }
1043
+ }, f);
1044
+ },
1045
+ [a, f]
1046
+ ), U = (u) => {
1047
+ u.onClick && u.onClick(), g(!1), N(""), o([]);
1048
+ }, P = (u) => {
1049
+ i?.(u), N(u), j(u);
1050
+ }, W = !p && t.length > 0, X = !p && h.length > 0;
1051
+ return /* @__PURE__ */ e("div", { ref: v, className: d("relative", r), ...b, children: /* @__PURE__ */ n(Me, { open: l, onOpenChange: g, children: [
1052
+ /* @__PURE__ */ e(Re, { asChild: !0, children: /* @__PURE__ */ n("div", { className: "relative cursor-pointer", onClick: () => g(!0), children: [
1053
+ /* @__PURE__ */ e(A, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }),
1054
+ /* @__PURE__ */ e(
1055
+ K,
1056
+ {
1057
+ ref: k,
1058
+ type: "text",
1059
+ placeholder: m,
1060
+ value: p,
1061
+ onChange: (u) => j(u.target.value),
1062
+ className: "w-full pl-10 pr-16"
1063
+ }
1064
+ ),
1065
+ /* @__PURE__ */ e("kbd", { className: "pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 rounded border bg-muted px-1.5 py-0.5 text-xs text-muted-foreground", children: x })
1066
+ ] }) }),
1067
+ /* @__PURE__ */ e(
1068
+ Te,
1069
+ {
1070
+ className: "w-[var(--radix-popover-trigger-width)] p-0",
1071
+ align: "start",
1072
+ onOpenAutoFocus: (u) => u.preventDefault(),
1073
+ children: /* @__PURE__ */ n(Q, { className: "max-h-80", children: [
1074
+ w && /* @__PURE__ */ e("div", { className: "flex items-center justify-center p-4", children: /* @__PURE__ */ e(q, { className: "h-5 w-5 animate-spin text-muted-foreground" }) }),
1075
+ !w && y.length > 0 && /* @__PURE__ */ n("div", { className: "p-2", children: [
1076
+ /* @__PURE__ */ e("p", { className: "px-2 py-1.5 text-xs font-medium text-muted-foreground", children: "Results" }),
1077
+ y.map((u) => /* @__PURE__ */ n(
1078
+ "button",
1079
+ {
1080
+ onClick: () => U(u),
1081
+ className: "flex w-full items-center gap-3 rounded-md p-2 text-left transition-colors hover:bg-accent",
1082
+ children: [
1083
+ u.icon && /* @__PURE__ */ e("span", { className: "flex h-8 w-8 items-center justify-center rounded-md bg-muted", children: u.icon }),
1084
+ /* @__PURE__ */ n("div", { className: "flex-1 overflow-hidden", children: [
1085
+ /* @__PURE__ */ e("p", { className: "truncate font-medium", children: u.title }),
1086
+ u.description && /* @__PURE__ */ e("p", { className: "truncate text-xs text-muted-foreground", children: u.description })
1087
+ ] }),
1088
+ u.type && /* @__PURE__ */ e("span", { className: "text-xs text-muted-foreground", children: u.type })
1089
+ ]
1090
+ },
1091
+ u.id
1092
+ ))
1093
+ ] }),
1094
+ !w && p && y.length === 0 && /* @__PURE__ */ n("div", { className: "p-4 text-center text-sm text-muted-foreground", children: [
1095
+ 'No results found for "',
1096
+ p,
1097
+ '"'
1098
+ ] }),
1099
+ W && /* @__PURE__ */ n("div", { className: "p-2", children: [
1100
+ /* @__PURE__ */ n("div", { className: "flex items-center justify-between px-2 py-1.5", children: [
1101
+ /* @__PURE__ */ e("p", { className: "text-xs font-medium text-muted-foreground", children: "Recent" }),
1102
+ c && /* @__PURE__ */ e(
1103
+ M,
1104
+ {
1105
+ variant: "ghost",
1106
+ size: "sm",
1107
+ className: "h-auto p-0 text-xs",
1108
+ onClick: c,
1109
+ children: "Clear"
1110
+ }
1111
+ )
1112
+ ] }),
1113
+ t.map((u, C) => /* @__PURE__ */ n(
1114
+ "button",
1115
+ {
1116
+ onClick: () => P(u),
1117
+ className: "flex w-full items-center gap-2 rounded-md p-2 text-left text-sm transition-colors hover:bg-accent",
1118
+ children: [
1119
+ /* @__PURE__ */ e(Ie, { className: "h-4 w-4 text-muted-foreground" }),
1120
+ u
1121
+ ]
1122
+ },
1123
+ C
1124
+ ))
1125
+ ] }),
1126
+ X && /* @__PURE__ */ n("div", { className: "border-t p-2", children: [
1127
+ /* @__PURE__ */ e("p", { className: "px-2 py-1.5 text-xs font-medium text-muted-foreground", children: "Trending" }),
1128
+ h.map((u, C) => /* @__PURE__ */ n(
1129
+ "button",
1130
+ {
1131
+ onClick: () => P(u),
1132
+ className: "flex w-full items-center gap-2 rounded-md p-2 text-left text-sm transition-colors hover:bg-accent",
1133
+ children: [
1134
+ /* @__PURE__ */ e(Be, { className: "h-4 w-4 text-muted-foreground" }),
1135
+ u
1136
+ ]
1137
+ },
1138
+ C
1139
+ ))
1140
+ ] })
1141
+ ] })
1142
+ }
1143
+ )
1144
+ ] }) });
1145
+ }
1146
+ );
1147
+ Sa.displayName = "GlobalSearch";
1148
+ export {
1149
+ fa as A,
1150
+ ca as B,
1151
+ ba as C,
1152
+ ha as D,
1153
+ va as E,
1154
+ wa as F,
1155
+ ya as G,
1156
+ Sa as H,
1157
+ xa as M,
1158
+ Na as Q,
1159
+ Ke as S,
1160
+ ga as T,
1161
+ Xe as a,
1162
+ Ue as b,
1163
+ Ye as c,
1164
+ Qe as d,
1165
+ Ze as e,
1166
+ Je as f,
1167
+ $e as g,
1168
+ Fe as h,
1169
+ qe as i,
1170
+ ea as j,
1171
+ sa as k,
1172
+ na as l,
1173
+ ta as m,
1174
+ aa as n,
1175
+ da as o,
1176
+ oa as p,
1177
+ la as q,
1178
+ ia as r,
1179
+ Oe as s,
1180
+ Ve as t,
1181
+ We as u,
1182
+ He as v,
1183
+ D as w,
1184
+ ua as x,
1185
+ ma as y,
1186
+ pa as z
1187
+ };
1188
+ //# sourceMappingURL=global-search-h1rVbP2q.js.map