@c-rex/ui 0.0.10 → 0.0.11

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 (121) hide show
  1. package/dist/alert.cjs.js +197 -0
  2. package/dist/alert.cjs.js.map +1 -0
  3. package/dist/alert.esm.js +116 -0
  4. package/dist/alert.esm.js.map +1 -0
  5. package/dist/breadcrumb.cjs.js +299 -0
  6. package/dist/breadcrumb.cjs.js.map +1 -0
  7. package/dist/breadcrumb.esm.js +202 -0
  8. package/dist/breadcrumb.esm.js.map +1 -0
  9. package/dist/button.cjs.js +200 -0
  10. package/dist/button.cjs.js.map +1 -0
  11. package/dist/button.esm.js +123 -0
  12. package/dist/button.esm.js.map +1 -0
  13. package/dist/command.cjs.js +387 -0
  14. package/dist/command.cjs.js.map +1 -0
  15. package/dist/command.esm.js +282 -0
  16. package/dist/command.esm.js.map +1 -0
  17. package/dist/dialog.cjs.js +290 -0
  18. package/dist/dialog.cjs.js.map +1 -0
  19. package/dist/dialog.esm.js +181 -0
  20. package/dist/dialog.esm.js.map +1 -0
  21. package/dist/hooks/use-mobile.cjs.js +127 -0
  22. package/dist/hooks/use-mobile.cjs.js.map +1 -0
  23. package/dist/hooks/use-mobile.esm.js +66 -0
  24. package/dist/hooks/use-mobile.esm.js.map +1 -0
  25. package/dist/input.cjs.js +155 -0
  26. package/dist/input.cjs.js.map +1 -0
  27. package/dist/input.esm.js +82 -0
  28. package/dist/input.esm.js.map +1 -0
  29. package/dist/popover.cjs.js +175 -0
  30. package/dist/popover.cjs.js.map +1 -0
  31. package/dist/popover.esm.js +90 -0
  32. package/dist/popover.esm.js.map +1 -0
  33. package/dist/select.cjs.js +326 -0
  34. package/dist/select.cjs.js.map +1 -0
  35. package/dist/select.esm.js +217 -0
  36. package/dist/select.esm.js.map +1 -0
  37. package/dist/separator.cjs.js +158 -0
  38. package/dist/separator.cjs.js.map +1 -0
  39. package/dist/separator.esm.js +85 -0
  40. package/dist/separator.esm.js.map +1 -0
  41. package/dist/sheet.cjs.js +308 -0
  42. package/dist/sheet.cjs.js.map +1 -0
  43. package/dist/sheet.esm.js +199 -0
  44. package/dist/sheet.esm.js.map +1 -0
  45. package/dist/sidebar.cjs.js +1077 -0
  46. package/dist/sidebar.cjs.js.map +1 -0
  47. package/dist/sidebar.esm.js +912 -0
  48. package/dist/sidebar.esm.js.map +1 -0
  49. package/dist/skeleton.cjs.js +138 -0
  50. package/dist/skeleton.cjs.js.map +1 -0
  51. package/dist/skeleton.esm.js +76 -0
  52. package/dist/skeleton.esm.js.map +1 -0
  53. package/dist/table.cjs.js +254 -0
  54. package/dist/table.cjs.js.map +1 -0
  55. package/dist/table.esm.js +153 -0
  56. package/dist/table.esm.js.map +1 -0
  57. package/dist/tooltip.cjs.js +173 -0
  58. package/dist/tooltip.cjs.js.map +1 -0
  59. package/dist/tooltip.esm.js +88 -0
  60. package/dist/tooltip.esm.js.map +1 -0
  61. package/package.json +105 -105
  62. package/dist/alert.cjs +0 -2
  63. package/dist/alert.cjs.map +0 -1
  64. package/dist/alert.js +0 -2
  65. package/dist/alert.js.map +0 -1
  66. package/dist/breadcrumb.cjs +0 -2
  67. package/dist/breadcrumb.cjs.map +0 -1
  68. package/dist/breadcrumb.js +0 -2
  69. package/dist/breadcrumb.js.map +0 -1
  70. package/dist/button.cjs +0 -2
  71. package/dist/button.cjs.map +0 -1
  72. package/dist/button.js +0 -2
  73. package/dist/button.js.map +0 -1
  74. package/dist/command.cjs +0 -2
  75. package/dist/command.cjs.map +0 -1
  76. package/dist/command.js +0 -2
  77. package/dist/command.js.map +0 -1
  78. package/dist/dialog.cjs +0 -2
  79. package/dist/dialog.cjs.map +0 -1
  80. package/dist/dialog.js +0 -2
  81. package/dist/dialog.js.map +0 -1
  82. package/dist/hooks/use-mobile.cjs +0 -2
  83. package/dist/hooks/use-mobile.cjs.map +0 -1
  84. package/dist/hooks/use-mobile.js +0 -2
  85. package/dist/hooks/use-mobile.js.map +0 -1
  86. package/dist/input.cjs +0 -2
  87. package/dist/input.cjs.map +0 -1
  88. package/dist/input.js +0 -2
  89. package/dist/input.js.map +0 -1
  90. package/dist/popover.cjs +0 -2
  91. package/dist/popover.cjs.map +0 -1
  92. package/dist/popover.js +0 -2
  93. package/dist/popover.js.map +0 -1
  94. package/dist/select.cjs +0 -2
  95. package/dist/select.cjs.map +0 -1
  96. package/dist/select.js +0 -2
  97. package/dist/select.js.map +0 -1
  98. package/dist/separator.cjs +0 -2
  99. package/dist/separator.cjs.map +0 -1
  100. package/dist/separator.js +0 -2
  101. package/dist/separator.js.map +0 -1
  102. package/dist/sheet.cjs +0 -2
  103. package/dist/sheet.cjs.map +0 -1
  104. package/dist/sheet.js +0 -2
  105. package/dist/sheet.js.map +0 -1
  106. package/dist/sidebar.cjs +0 -2
  107. package/dist/sidebar.cjs.map +0 -1
  108. package/dist/sidebar.js +0 -2
  109. package/dist/sidebar.js.map +0 -1
  110. package/dist/skeleton.cjs +0 -2
  111. package/dist/skeleton.cjs.map +0 -1
  112. package/dist/skeleton.js +0 -2
  113. package/dist/skeleton.js.map +0 -1
  114. package/dist/table.cjs +0 -2
  115. package/dist/table.cjs.map +0 -1
  116. package/dist/table.js +0 -2
  117. package/dist/table.js.map +0 -1
  118. package/dist/tooltip.cjs +0 -2
  119. package/dist/tooltip.cjs.map +0 -1
  120. package/dist/tooltip.js +0 -2
  121. package/dist/tooltip.js.map +0 -1
@@ -0,0 +1,1077 @@
1
+ "use strict";
2
+ "use client";
3
+ function _array_like_to_array(arr, len) {
4
+ if (len == null || len > arr.length) len = arr.length;
5
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
6
+ return arr2;
7
+ }
8
+ function _array_with_holes(arr) {
9
+ if (Array.isArray(arr)) return arr;
10
+ }
11
+ function _define_property(obj, key, value) {
12
+ if (key in obj) {
13
+ Object.defineProperty(obj, key, {
14
+ value: value,
15
+ enumerable: true,
16
+ configurable: true,
17
+ writable: true
18
+ });
19
+ } else {
20
+ obj[key] = value;
21
+ }
22
+ return obj;
23
+ }
24
+ function _extends() {
25
+ _extends = Object.assign || function(target) {
26
+ for(var i = 1; i < arguments.length; i++){
27
+ var source = arguments[i];
28
+ for(var key in source){
29
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
30
+ target[key] = source[key];
31
+ }
32
+ }
33
+ }
34
+ return target;
35
+ };
36
+ return _extends.apply(this, arguments);
37
+ }
38
+ function _iterable_to_array_limit(arr, i) {
39
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
40
+ if (_i == null) return;
41
+ var _arr = [];
42
+ var _n = true;
43
+ var _d = false;
44
+ var _s, _e;
45
+ try {
46
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
47
+ _arr.push(_s.value);
48
+ if (i && _arr.length === i) break;
49
+ }
50
+ } catch (err) {
51
+ _d = true;
52
+ _e = err;
53
+ } finally{
54
+ try {
55
+ if (!_n && _i["return"] != null) _i["return"]();
56
+ } finally{
57
+ if (_d) throw _e;
58
+ }
59
+ }
60
+ return _arr;
61
+ }
62
+ function _non_iterable_rest() {
63
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
64
+ }
65
+ function _object_destructuring_empty(o) {
66
+ if (o === null || o === void 0) throw new TypeError("Cannot destructure " + o);
67
+ return o;
68
+ }
69
+ function _object_spread(target) {
70
+ for(var i = 1; i < arguments.length; i++){
71
+ var source = arguments[i] != null ? arguments[i] : {};
72
+ var ownKeys = Object.keys(source);
73
+ if (typeof Object.getOwnPropertySymbols === "function") {
74
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
75
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
76
+ }));
77
+ }
78
+ ownKeys.forEach(function(key) {
79
+ _define_property(target, key, source[key]);
80
+ });
81
+ }
82
+ return target;
83
+ }
84
+ function ownKeys(object, enumerableOnly) {
85
+ var keys = Object.keys(object);
86
+ if (Object.getOwnPropertySymbols) {
87
+ var symbols = Object.getOwnPropertySymbols(object);
88
+ if (enumerableOnly) {
89
+ symbols = symbols.filter(function(sym) {
90
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
91
+ });
92
+ }
93
+ keys.push.apply(keys, symbols);
94
+ }
95
+ return keys;
96
+ }
97
+ function _object_spread_props(target, source) {
98
+ source = source != null ? source : {};
99
+ if (Object.getOwnPropertyDescriptors) {
100
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
101
+ } else {
102
+ ownKeys(Object(source)).forEach(function(key) {
103
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
104
+ });
105
+ }
106
+ return target;
107
+ }
108
+ function _object_without_properties(source, excluded) {
109
+ if (source == null) return {};
110
+ var target = _object_without_properties_loose(source, excluded);
111
+ var key, i;
112
+ if (Object.getOwnPropertySymbols) {
113
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
114
+ for(i = 0; i < sourceSymbolKeys.length; i++){
115
+ key = sourceSymbolKeys[i];
116
+ if (excluded.indexOf(key) >= 0) continue;
117
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
118
+ target[key] = source[key];
119
+ }
120
+ }
121
+ return target;
122
+ }
123
+ function _object_without_properties_loose(source, excluded) {
124
+ if (source == null) return {};
125
+ var target = {};
126
+ var sourceKeys = Object.keys(source);
127
+ var key, i;
128
+ for(i = 0; i < sourceKeys.length; i++){
129
+ key = sourceKeys[i];
130
+ if (excluded.indexOf(key) >= 0) continue;
131
+ target[key] = source[key];
132
+ }
133
+ return target;
134
+ }
135
+ function _sliced_to_array(arr, i) {
136
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
137
+ }
138
+ function _type_of(obj) {
139
+ "@swc/helpers - typeof";
140
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
141
+ }
142
+ function _unsupported_iterable_to_array(o, minLen) {
143
+ if (!o) return;
144
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
145
+ var n = Object.prototype.toString.call(o).slice(8, -1);
146
+ if (n === "Object" && o.constructor) n = o.constructor.name;
147
+ if (n === "Map" || n === "Set") return Array.from(n);
148
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
149
+ }
150
+ var __create = Object.create;
151
+ var __defProp = Object.defineProperty;
152
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
153
+ var __getOwnPropNames = Object.getOwnPropertyNames;
154
+ var __getProtoOf = Object.getPrototypeOf;
155
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
156
+ var __export = function(target, all) {
157
+ for(var name in all)__defProp(target, name, {
158
+ get: all[name],
159
+ enumerable: true
160
+ });
161
+ };
162
+ var __copyProps = function(to, from, except, desc) {
163
+ if (from && (typeof from === "undefined" ? "undefined" : _type_of(from)) === "object" || typeof from === "function") {
164
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
165
+ try {
166
+ var _loop = function() {
167
+ var key = _step.value;
168
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
169
+ get: function() {
170
+ return from[key];
171
+ },
172
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
173
+ });
174
+ };
175
+ for(var _iterator = __getOwnPropNames(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();
176
+ } catch (err) {
177
+ _didIteratorError = true;
178
+ _iteratorError = err;
179
+ } finally{
180
+ try {
181
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
182
+ _iterator.return();
183
+ }
184
+ } finally{
185
+ if (_didIteratorError) {
186
+ throw _iteratorError;
187
+ }
188
+ }
189
+ }
190
+ }
191
+ return to;
192
+ };
193
+ var __toESM = function(mod, isNodeMode, target) {
194
+ return target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(// If the importer is in node compatibility mode or this is not an ESM
195
+ // file that has been converted to a CommonJS file using a Babel-
196
+ // compatible transform (i.e. "__esModule" has not been set), then set
197
+ // "default" to the CommonJS "module.exports" for node compatibility.
198
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
199
+ value: mod,
200
+ enumerable: true
201
+ }) : target, mod);
202
+ };
203
+ var __toCommonJS = function(mod) {
204
+ return __copyProps(__defProp({}, "__esModule", {
205
+ value: true
206
+ }), mod);
207
+ };
208
+ // src/sidebar.tsx
209
+ var sidebar_exports = {};
210
+ __export(sidebar_exports, {
211
+ Sidebar: function() {
212
+ return Sidebar;
213
+ },
214
+ SidebarContent: function() {
215
+ return SidebarContent;
216
+ },
217
+ SidebarFooter: function() {
218
+ return SidebarFooter;
219
+ },
220
+ SidebarGroup: function() {
221
+ return SidebarGroup;
222
+ },
223
+ SidebarGroupAction: function() {
224
+ return SidebarGroupAction;
225
+ },
226
+ SidebarGroupContent: function() {
227
+ return SidebarGroupContent;
228
+ },
229
+ SidebarGroupLabel: function() {
230
+ return SidebarGroupLabel;
231
+ },
232
+ SidebarHeader: function() {
233
+ return SidebarHeader;
234
+ },
235
+ SidebarInput: function() {
236
+ return SidebarInput;
237
+ },
238
+ SidebarInset: function() {
239
+ return SidebarInset;
240
+ },
241
+ SidebarMenu: function() {
242
+ return SidebarMenu;
243
+ },
244
+ SidebarMenuAction: function() {
245
+ return SidebarMenuAction;
246
+ },
247
+ SidebarMenuBadge: function() {
248
+ return SidebarMenuBadge;
249
+ },
250
+ SidebarMenuButton: function() {
251
+ return SidebarMenuButton;
252
+ },
253
+ SidebarMenuItem: function() {
254
+ return SidebarMenuItem;
255
+ },
256
+ SidebarMenuSkeleton: function() {
257
+ return SidebarMenuSkeleton;
258
+ },
259
+ SidebarMenuSub: function() {
260
+ return SidebarMenuSub;
261
+ },
262
+ SidebarMenuSubButton: function() {
263
+ return SidebarMenuSubButton;
264
+ },
265
+ SidebarMenuSubItem: function() {
266
+ return SidebarMenuSubItem;
267
+ },
268
+ SidebarProvider: function() {
269
+ return SidebarProvider;
270
+ },
271
+ SidebarRail: function() {
272
+ return SidebarRail;
273
+ },
274
+ SidebarSeparator: function() {
275
+ return SidebarSeparator;
276
+ },
277
+ SidebarTrigger: function() {
278
+ return SidebarTrigger;
279
+ },
280
+ useSidebar: function() {
281
+ return useSidebar;
282
+ }
283
+ });
284
+ module.exports = __toCommonJS(sidebar_exports);
285
+ var React6 = __toESM(require("react"), 1);
286
+ var import_react_slot2 = require("@radix-ui/react-slot");
287
+ var import_class_variance_authority3 = require("class-variance-authority");
288
+ var import_lucide_react2 = require("lucide-react");
289
+ // ../utils/src/classMerge.ts
290
+ var import_clsx = require("clsx");
291
+ var import_tailwind_merge = require("tailwind-merge");
292
+ function cn() {
293
+ for(var _len = arguments.length, inputs = new Array(_len), _key = 0; _key < _len; _key++){
294
+ inputs[_key] = arguments[_key];
295
+ }
296
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
297
+ }
298
+ // src/hooks/use-mobile.tsx
299
+ var import_react = require("react");
300
+ var MOBILE_BREAKPOINT = 768;
301
+ function useIsMobile() {
302
+ var _ref = _sliced_to_array((0, import_react.useState)(void 0), 2), isMobile = _ref[0], setIsMobile = _ref[1];
303
+ (0, import_react.useEffect)(function() {
304
+ var mql = window.matchMedia("(max-width: ".concat(MOBILE_BREAKPOINT - 1, "px)"));
305
+ var onChange = function() {
306
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
307
+ };
308
+ mql.addEventListener("change", onChange);
309
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
310
+ return function() {
311
+ return mql.removeEventListener("change", onChange);
312
+ };
313
+ }, []);
314
+ return !!isMobile;
315
+ }
316
+ // src/button.tsx
317
+ var React = __toESM(require("react"), 1);
318
+ var import_react_slot = require("@radix-ui/react-slot");
319
+ var import_class_variance_authority = require("class-variance-authority");
320
+ var import_jsx_runtime = require("react/jsx-runtime");
321
+ var buttonVariants = (0, import_class_variance_authority.cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", {
322
+ variants: {
323
+ variant: {
324
+ default: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
325
+ destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
326
+ outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
327
+ secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
328
+ ghost: "hover:bg-accent hover:text-accent-foreground",
329
+ link: "text-primary underline-offset-4 hover:underline"
330
+ },
331
+ size: {
332
+ default: "h-9 px-4 py-2",
333
+ sm: "h-8 rounded-md px-3 text-xs",
334
+ lg: "h-10 rounded-md px-8",
335
+ icon: "h-9 w-9"
336
+ },
337
+ rounded: {
338
+ default: "rounded-md",
339
+ sm: "rounded-sm",
340
+ lg: "rounded-lg",
341
+ xl: "rounded-xl",
342
+ "2xl": "rounded-2xl",
343
+ full: "rounded-full"
344
+ }
345
+ },
346
+ defaultVariants: {
347
+ variant: "default",
348
+ size: "default",
349
+ rounded: "default"
350
+ }
351
+ });
352
+ var Button = React.forwardRef(function(_param, ref) {
353
+ var className = _param.className, variant = _param.variant, size = _param.size, rounded = _param.rounded, _param_asChild = _param.asChild, asChild = _param_asChild === void 0 ? false : _param_asChild, props = _object_without_properties(_param, [
354
+ "className",
355
+ "variant",
356
+ "size",
357
+ "rounded",
358
+ "asChild"
359
+ ]);
360
+ var Comp = asChild ? import_react_slot.Slot : "button";
361
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, _object_spread({
362
+ className: cn(buttonVariants({
363
+ variant: variant,
364
+ size: size,
365
+ rounded: rounded,
366
+ className: className
367
+ })),
368
+ ref: ref
369
+ }, props));
370
+ });
371
+ Button.displayName = "Button";
372
+ // src/input.tsx
373
+ var React2 = __toESM(require("react"), 1);
374
+ var import_jsx_runtime2 = require("react/jsx-runtime");
375
+ var Input = React2.forwardRef(function(_param, ref) {
376
+ var className = _param.className, type = _param.type, props = _object_without_properties(_param, [
377
+ "className",
378
+ "type"
379
+ ]);
380
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("input", _object_spread({
381
+ type: type,
382
+ className: cn("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", className),
383
+ ref: ref
384
+ }, props));
385
+ });
386
+ Input.displayName = "Input";
387
+ // src/separator.tsx
388
+ var React3 = __toESM(require("react"), 1);
389
+ var SeparatorPrimitive = __toESM(require("@radix-ui/react-separator"), 1);
390
+ var import_jsx_runtime3 = require("react/jsx-runtime");
391
+ var Separator = React3.forwardRef(function(_param, ref) {
392
+ var className = _param.className, _param_orientation = _param.orientation, orientation = _param_orientation === void 0 ? "horizontal" : _param_orientation, _param_decorative = _param.decorative, decorative = _param_decorative === void 0 ? true : _param_decorative, props = _object_without_properties(_param, [
393
+ "className",
394
+ "orientation",
395
+ "decorative"
396
+ ]);
397
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(SeparatorPrimitive.Root, _object_spread({
398
+ ref: ref,
399
+ decorative: decorative,
400
+ orientation: orientation,
401
+ className: cn("shrink-0 bg-border", orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]", className)
402
+ }, props));
403
+ });
404
+ Separator.displayName = SeparatorPrimitive.Root.displayName;
405
+ // src/sheet.tsx
406
+ var React4 = __toESM(require("react"), 1);
407
+ var SheetPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
408
+ var import_class_variance_authority2 = require("class-variance-authority");
409
+ var import_lucide_react = require("lucide-react");
410
+ var import_jsx_runtime4 = require("react/jsx-runtime");
411
+ var Sheet = SheetPrimitive.Root;
412
+ var SheetPortal = SheetPrimitive.Portal;
413
+ var SheetOverlay = React4.forwardRef(function(_param, ref) {
414
+ var className = _param.className, props = _object_without_properties(_param, [
415
+ "className"
416
+ ]);
417
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SheetPrimitive.Overlay, _object_spread_props(_object_spread({
418
+ className: cn("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", className)
419
+ }, props), {
420
+ ref: ref
421
+ }));
422
+ });
423
+ SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
424
+ var sheetVariants = (0, import_class_variance_authority2.cva)("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out", {
425
+ variants: {
426
+ side: {
427
+ top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
428
+ bottom: "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
429
+ left: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
430
+ right: "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"
431
+ }
432
+ },
433
+ defaultVariants: {
434
+ side: "right"
435
+ }
436
+ });
437
+ var SheetContent = React4.forwardRef(function(_param, ref) {
438
+ var _param_side = _param.side, side = _param_side === void 0 ? "right" : _param_side, className = _param.className, children = _param.children, props = _object_without_properties(_param, [
439
+ "side",
440
+ "className",
441
+ "children"
442
+ ]);
443
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(SheetPortal, {
444
+ children: [
445
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SheetOverlay, {}),
446
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(SheetPrimitive.Content, _object_spread_props(_object_spread({
447
+ ref: ref,
448
+ className: cn(sheetVariants({
449
+ side: side
450
+ }), className)
451
+ }, props), {
452
+ children: [
453
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(SheetPrimitive.Close, {
454
+ className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",
455
+ children: [
456
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_lucide_react.X, {
457
+ className: "h-4 w-4"
458
+ }),
459
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", {
460
+ className: "sr-only",
461
+ children: "Close"
462
+ })
463
+ ]
464
+ }),
465
+ children
466
+ ]
467
+ }))
468
+ ]
469
+ });
470
+ });
471
+ SheetContent.displayName = SheetPrimitive.Content.displayName;
472
+ var SheetHeader = function(_param) {
473
+ var className = _param.className, props = _object_without_properties(_param, [
474
+ "className"
475
+ ]);
476
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", _object_spread({
477
+ className: cn("flex flex-col space-y-2 text-center sm:text-left", className)
478
+ }, props));
479
+ };
480
+ SheetHeader.displayName = "SheetHeader";
481
+ var SheetFooter = function(_param) {
482
+ var className = _param.className, props = _object_without_properties(_param, [
483
+ "className"
484
+ ]);
485
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", _object_spread({
486
+ className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className)
487
+ }, props));
488
+ };
489
+ SheetFooter.displayName = "SheetFooter";
490
+ var SheetTitle = React4.forwardRef(function(_param, ref) {
491
+ var className = _param.className, props = _object_without_properties(_param, [
492
+ "className"
493
+ ]);
494
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SheetPrimitive.Title, _object_spread({
495
+ ref: ref,
496
+ className: cn("text-lg font-semibold text-foreground", className)
497
+ }, props));
498
+ });
499
+ SheetTitle.displayName = SheetPrimitive.Title.displayName;
500
+ var SheetDescription = React4.forwardRef(function(_param, ref) {
501
+ var className = _param.className, props = _object_without_properties(_param, [
502
+ "className"
503
+ ]);
504
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SheetPrimitive.Description, _object_spread({
505
+ ref: ref,
506
+ className: cn("text-sm text-muted-foreground", className)
507
+ }, props));
508
+ });
509
+ SheetDescription.displayName = SheetPrimitive.Description.displayName;
510
+ // src/skeleton.tsx
511
+ var import_jsx_runtime5 = require("react/jsx-runtime");
512
+ function Skeleton(_param) {
513
+ var className = _param.className, props = _object_without_properties(_param, [
514
+ "className"
515
+ ]);
516
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", _object_spread({
517
+ className: cn("animate-pulse rounded-md bg-primary/10", className)
518
+ }, props));
519
+ }
520
+ // src/tooltip.tsx
521
+ var React5 = __toESM(require("react"), 1);
522
+ var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
523
+ var import_jsx_runtime6 = require("react/jsx-runtime");
524
+ var TooltipProvider = TooltipPrimitive.Provider;
525
+ var Tooltip = TooltipPrimitive.Root;
526
+ var TooltipTrigger = TooltipPrimitive.Trigger;
527
+ var TooltipContent = React5.forwardRef(function(_param, ref) {
528
+ var className = _param.className, _param_sideOffset = _param.sideOffset, sideOffset = _param_sideOffset === void 0 ? 4 : _param_sideOffset, props = _object_without_properties(_param, [
529
+ "className",
530
+ "sideOffset"
531
+ ]);
532
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(TooltipPrimitive.Portal, {
533
+ children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(TooltipPrimitive.Content, _object_spread({
534
+ ref: ref,
535
+ sideOffset: sideOffset,
536
+ className: cn("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", className)
537
+ }, props))
538
+ });
539
+ });
540
+ TooltipContent.displayName = TooltipPrimitive.Content.displayName;
541
+ // src/sidebar.tsx
542
+ var import_jsx_runtime7 = require("react/jsx-runtime");
543
+ var SIDEBAR_COOKIE_NAME = "sidebar_state";
544
+ var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
545
+ var SIDEBAR_WIDTH = "16rem";
546
+ var SIDEBAR_WIDTH_MOBILE = "18rem";
547
+ var SIDEBAR_WIDTH_ICON = "3rem";
548
+ var SIDEBAR_KEYBOARD_SHORTCUT = "b";
549
+ var SidebarContext = React6.createContext(null);
550
+ function useSidebar() {
551
+ var context = React6.useContext(SidebarContext);
552
+ if (!context) {
553
+ throw new Error("useSidebar must be used within a SidebarProvider.");
554
+ }
555
+ return context;
556
+ }
557
+ var SidebarProvider = React6.forwardRef(function(_param, ref) {
558
+ var _param_defaultOpen = _param.defaultOpen, defaultOpen = _param_defaultOpen === void 0 ? true : _param_defaultOpen, openProp = _param.open, setOpenProp = _param.onOpenChange, className = _param.className, style = _param.style, children = _param.children, props = _object_without_properties(_param, [
559
+ "defaultOpen",
560
+ "open",
561
+ "onOpenChange",
562
+ "className",
563
+ "style",
564
+ "children"
565
+ ]);
566
+ var isMobile = useIsMobile();
567
+ var _React6_useState = _sliced_to_array(React6.useState(false), 2), openMobile = _React6_useState[0], setOpenMobile = _React6_useState[1];
568
+ var _React6_useState1 = _sliced_to_array(React6.useState(defaultOpen), 2), _open = _React6_useState1[0], _setOpen = _React6_useState1[1];
569
+ var open = openProp !== null && openProp !== void 0 ? openProp : _open;
570
+ var setOpen = React6.useCallback(function(value) {
571
+ var openState = typeof value === "function" ? value(open) : value;
572
+ if (setOpenProp) {
573
+ setOpenProp(openState);
574
+ } else {
575
+ _setOpen(openState);
576
+ }
577
+ document.cookie = "".concat(SIDEBAR_COOKIE_NAME, "=").concat(openState, "; path=/; max-age=").concat(SIDEBAR_COOKIE_MAX_AGE);
578
+ }, [
579
+ setOpenProp,
580
+ open
581
+ ]);
582
+ var toggleSidebar = React6.useCallback(function() {
583
+ return isMobile ? setOpenMobile(function(open2) {
584
+ return !open2;
585
+ }) : setOpen(function(open2) {
586
+ return !open2;
587
+ });
588
+ }, [
589
+ isMobile,
590
+ setOpen,
591
+ setOpenMobile
592
+ ]);
593
+ React6.useEffect(function() {
594
+ var handleKeyDown = function(event) {
595
+ if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
596
+ event.preventDefault();
597
+ toggleSidebar();
598
+ }
599
+ };
600
+ window.addEventListener("keydown", handleKeyDown);
601
+ return function() {
602
+ return window.removeEventListener("keydown", handleKeyDown);
603
+ };
604
+ }, [
605
+ toggleSidebar
606
+ ]);
607
+ var state = open ? "expanded" : "collapsed";
608
+ var contextValue = React6.useMemo(function() {
609
+ return {
610
+ state: state,
611
+ open: open,
612
+ setOpen: setOpen,
613
+ isMobile: isMobile,
614
+ openMobile: openMobile,
615
+ setOpenMobile: setOpenMobile,
616
+ toggleSidebar: toggleSidebar
617
+ };
618
+ }, [
619
+ state,
620
+ open,
621
+ setOpen,
622
+ isMobile,
623
+ openMobile,
624
+ setOpenMobile,
625
+ toggleSidebar
626
+ ]);
627
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(SidebarContext.Provider, {
628
+ value: contextValue,
629
+ children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(TooltipProvider, {
630
+ delayDuration: 0,
631
+ children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", _object_spread_props(_object_spread({
632
+ style: _object_spread({
633
+ "--sidebar-width": SIDEBAR_WIDTH,
634
+ "--sidebar-width-icon": SIDEBAR_WIDTH_ICON
635
+ }, style),
636
+ className: cn("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar", className),
637
+ ref: ref
638
+ }, props), {
639
+ children: children
640
+ }))
641
+ })
642
+ });
643
+ });
644
+ SidebarProvider.displayName = "SidebarProvider";
645
+ var Sidebar = React6.forwardRef(function(_param, ref) {
646
+ var _param_side = _param.side, side = _param_side === void 0 ? "left" : _param_side, _param_variant = _param.variant, variant = _param_variant === void 0 ? "sidebar" : _param_variant, _param_collapsible = _param.collapsible, collapsible = _param_collapsible === void 0 ? "offcanvas" : _param_collapsible, className = _param.className, children = _param.children, props = _object_without_properties(_param, [
647
+ "side",
648
+ "variant",
649
+ "collapsible",
650
+ "className",
651
+ "children"
652
+ ]);
653
+ var _useSidebar = useSidebar(), isMobile = _useSidebar.isMobile, state = _useSidebar.state, openMobile = _useSidebar.openMobile, setOpenMobile = _useSidebar.setOpenMobile;
654
+ if (collapsible === "none") {
655
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", _object_spread_props(_object_spread({
656
+ className: cn("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground", className),
657
+ ref: ref
658
+ }, props), {
659
+ children: children
660
+ }));
661
+ }
662
+ if (isMobile) {
663
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Sheet, _object_spread_props(_object_spread({
664
+ open: openMobile,
665
+ onOpenChange: setOpenMobile
666
+ }, props), {
667
+ children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(SheetContent, {
668
+ "data-sidebar": "sidebar",
669
+ "data-mobile": "true",
670
+ className: "w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",
671
+ style: {
672
+ "--sidebar-width": SIDEBAR_WIDTH_MOBILE
673
+ },
674
+ side: side,
675
+ children: [
676
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(SheetHeader, {
677
+ className: "sr-only",
678
+ children: [
679
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(SheetTitle, {
680
+ children: "Sidebar"
681
+ }),
682
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(SheetDescription, {
683
+ children: "Displays the mobile sidebar."
684
+ })
685
+ ]
686
+ }),
687
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", {
688
+ className: "flex h-full w-full flex-col",
689
+ children: children
690
+ })
691
+ ]
692
+ })
693
+ }));
694
+ }
695
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", {
696
+ ref: ref,
697
+ className: "group peer hidden text-sidebar-foreground md:block",
698
+ "data-state": state,
699
+ "data-collapsible": state === "collapsed" ? collapsible : "",
700
+ "data-variant": variant,
701
+ "data-side": side,
702
+ children: [
703
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", {
704
+ className: cn("relative w-[--sidebar-width] bg-transparent transition-[width] duration-200 ease-linear", "group-data-[collapsible=offcanvas]:w-0", "group-data-[side=right]:rotate-180", variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]" : "group-data-[collapsible=icon]:w-[--sidebar-width-icon]")
705
+ }),
706
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", _object_spread_props(_object_spread({
707
+ className: cn("fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] duration-200 ease-linear md:flex", side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]", // Adjust the padding for floating and inset variants.
708
+ variant === "floating" || variant === "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", className)
709
+ }, props), {
710
+ children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", {
711
+ "data-sidebar": "sidebar",
712
+ className: "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",
713
+ children: children
714
+ })
715
+ }))
716
+ ]
717
+ });
718
+ });
719
+ Sidebar.displayName = "Sidebar";
720
+ var SidebarTrigger = React6.forwardRef(function(_param, ref) {
721
+ var className = _param.className, onClick = _param.onClick, props = _object_without_properties(_param, [
722
+ "className",
723
+ "onClick"
724
+ ]);
725
+ var toggleSidebar = useSidebar().toggleSidebar;
726
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(Button, _object_spread_props(_object_spread({
727
+ ref: ref,
728
+ "data-sidebar": "trigger",
729
+ variant: "ghost",
730
+ size: "icon",
731
+ className: cn("h-7 w-7", className),
732
+ onClick: function(event) {
733
+ onClick === null || onClick === void 0 ? void 0 : onClick(event);
734
+ toggleSidebar();
735
+ }
736
+ }, props), {
737
+ children: [
738
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react2.PanelLeft, {}),
739
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", {
740
+ className: "sr-only",
741
+ children: "Toggle Sidebar"
742
+ })
743
+ ]
744
+ }));
745
+ });
746
+ SidebarTrigger.displayName = "SidebarTrigger";
747
+ var SidebarRail = React6.forwardRef(function(_param, ref) {
748
+ var className = _param.className, props = _object_without_properties(_param, [
749
+ "className"
750
+ ]);
751
+ var toggleSidebar = useSidebar().toggleSidebar;
752
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("button", _object_spread({
753
+ ref: ref,
754
+ "data-sidebar": "rail",
755
+ "aria-label": "Toggle Sidebar",
756
+ tabIndex: -1,
757
+ onClick: toggleSidebar,
758
+ title: "Toggle Sidebar",
759
+ className: cn("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", "[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize", "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize", "group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar", "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2", "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2", className)
760
+ }, props));
761
+ });
762
+ SidebarRail.displayName = "SidebarRail";
763
+ var SidebarInset = React6.forwardRef(function(_param, ref) {
764
+ var className = _param.className, props = _object_without_properties(_param, [
765
+ "className"
766
+ ]);
767
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("main", _object_spread({
768
+ ref: ref,
769
+ className: cn("relative flex w-full flex-1 flex-col bg-background", "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", className)
770
+ }, props));
771
+ });
772
+ SidebarInset.displayName = "SidebarInset";
773
+ var SidebarInput = React6.forwardRef(function(_param, ref) {
774
+ var className = _param.className, props = _object_without_properties(_param, [
775
+ "className"
776
+ ]);
777
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Input, _object_spread({
778
+ ref: ref,
779
+ "data-sidebar": "input",
780
+ className: cn("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring", className)
781
+ }, props));
782
+ });
783
+ SidebarInput.displayName = "SidebarInput";
784
+ var SidebarHeader = React6.forwardRef(function(_param, ref) {
785
+ var className = _param.className, props = _object_without_properties(_param, [
786
+ "className"
787
+ ]);
788
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", _object_spread({
789
+ ref: ref,
790
+ "data-sidebar": "header",
791
+ className: cn("flex flex-col gap-2 p-2", className)
792
+ }, props));
793
+ });
794
+ SidebarHeader.displayName = "SidebarHeader";
795
+ var SidebarFooter = React6.forwardRef(function(_param, ref) {
796
+ var className = _param.className, props = _object_without_properties(_param, [
797
+ "className"
798
+ ]);
799
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", _object_spread({
800
+ ref: ref,
801
+ "data-sidebar": "footer",
802
+ className: cn("flex flex-col gap-2 p-2", className)
803
+ }, props));
804
+ });
805
+ SidebarFooter.displayName = "SidebarFooter";
806
+ var SidebarSeparator = React6.forwardRef(function(_param, ref) {
807
+ var className = _param.className, props = _object_without_properties(_param, [
808
+ "className"
809
+ ]);
810
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Separator, _object_spread({
811
+ ref: ref,
812
+ "data-sidebar": "separator",
813
+ className: cn("mx-2 w-auto bg-sidebar-border", className)
814
+ }, props));
815
+ });
816
+ SidebarSeparator.displayName = "SidebarSeparator";
817
+ var SidebarContent = React6.forwardRef(function(_param, ref) {
818
+ var className = _param.className, props = _object_without_properties(_param, [
819
+ "className"
820
+ ]);
821
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", _object_spread({
822
+ ref: ref,
823
+ "data-sidebar": "content",
824
+ className: cn("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", className)
825
+ }, props));
826
+ });
827
+ SidebarContent.displayName = "SidebarContent";
828
+ var SidebarGroup = React6.forwardRef(function(_param, ref) {
829
+ var className = _param.className, props = _object_without_properties(_param, [
830
+ "className"
831
+ ]);
832
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", _object_spread({
833
+ ref: ref,
834
+ "data-sidebar": "group",
835
+ className: cn("relative flex w-full min-w-0 flex-col p-2", className)
836
+ }, props));
837
+ });
838
+ SidebarGroup.displayName = "SidebarGroup";
839
+ var SidebarGroupLabel = React6.forwardRef(function(_param, ref) {
840
+ var className = _param.className, _param_asChild = _param.asChild, asChild = _param_asChild === void 0 ? false : _param_asChild, props = _object_without_properties(_param, [
841
+ "className",
842
+ "asChild"
843
+ ]);
844
+ var Comp = asChild ? import_react_slot2.Slot : "div";
845
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Comp, _object_spread({
846
+ ref: ref,
847
+ "data-sidebar": "group-label",
848
+ className: cn("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,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0", className)
849
+ }, props));
850
+ });
851
+ SidebarGroupLabel.displayName = "SidebarGroupLabel";
852
+ var SidebarGroupAction = React6.forwardRef(function(_param, ref) {
853
+ var className = _param.className, _param_asChild = _param.asChild, asChild = _param_asChild === void 0 ? false : _param_asChild, props = _object_without_properties(_param, [
854
+ "className",
855
+ "asChild"
856
+ ]);
857
+ var Comp = asChild ? import_react_slot2.Slot : "button";
858
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Comp, _object_spread({
859
+ ref: ref,
860
+ "data-sidebar": "group-action",
861
+ className: cn("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", // Increases the hit area of the button on mobile.
862
+ "after:absolute after:-inset-2 after:md:hidden", "group-data-[collapsible=icon]:hidden", className)
863
+ }, props));
864
+ });
865
+ SidebarGroupAction.displayName = "SidebarGroupAction";
866
+ var SidebarGroupContent = React6.forwardRef(function(_param, ref) {
867
+ var className = _param.className, props = _object_without_properties(_param, [
868
+ "className"
869
+ ]);
870
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", _object_spread({
871
+ ref: ref,
872
+ "data-sidebar": "group-content",
873
+ className: cn("w-full text-sm", className)
874
+ }, props));
875
+ });
876
+ SidebarGroupContent.displayName = "SidebarGroupContent";
877
+ var SidebarMenu = React6.forwardRef(function(_param, ref) {
878
+ var className = _param.className, props = _object_without_properties(_param, [
879
+ "className"
880
+ ]);
881
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("ul", _object_spread({
882
+ ref: ref,
883
+ "data-sidebar": "menu",
884
+ className: cn("flex w-full min-w-0 flex-col gap-1", className)
885
+ }, props));
886
+ });
887
+ SidebarMenu.displayName = "SidebarMenu";
888
+ var SidebarMenuItem = React6.forwardRef(function(_param, ref) {
889
+ var className = _param.className, props = _object_without_properties(_param, [
890
+ "className"
891
+ ]);
892
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("li", _object_spread({
893
+ ref: ref,
894
+ "data-sidebar": "menu-item",
895
+ className: cn("group/menu-item relative", className)
896
+ }, props));
897
+ });
898
+ SidebarMenuItem.displayName = "SidebarMenuItem";
899
+ var sidebarMenuButtonVariants = (0, import_class_variance_authority3.cva)("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]: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", {
900
+ variants: {
901
+ variant: {
902
+ default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
903
+ 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))]"
904
+ },
905
+ size: {
906
+ default: "text-sm",
907
+ sm: "text-xs",
908
+ lg: "text-sm group-data-[collapsible=icon]:!p-0"
909
+ }
910
+ },
911
+ defaultVariants: {
912
+ variant: "default",
913
+ size: "default"
914
+ }
915
+ });
916
+ var SidebarMenuButton = React6.forwardRef(function(_param, ref) {
917
+ var _param_asChild = _param.asChild, asChild = _param_asChild === void 0 ? false : _param_asChild, _param_isActive = _param.isActive, isActive = _param_isActive === void 0 ? false : _param_isActive, _param_variant = _param.variant, variant = _param_variant === void 0 ? "default" : _param_variant, _param_size = _param.size, size = _param_size === void 0 ? "default" : _param_size, tooltip = _param.tooltip, className = _param.className, props = _object_without_properties(_param, [
918
+ "asChild",
919
+ "isActive",
920
+ "variant",
921
+ "size",
922
+ "tooltip",
923
+ "className"
924
+ ]);
925
+ var Comp = asChild ? import_react_slot2.Slot : "button";
926
+ var _useSidebar = useSidebar(), isMobile = _useSidebar.isMobile, state = _useSidebar.state;
927
+ var button = /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Comp, _object_spread({
928
+ ref: ref,
929
+ "data-sidebar": "menu-button",
930
+ "data-size": size,
931
+ "data-active": isActive,
932
+ className: cn(isActive && "font-bold", sidebarMenuButtonVariants({
933
+ variant: variant,
934
+ size: size
935
+ }), className)
936
+ }, props));
937
+ if (!tooltip) {
938
+ return button;
939
+ }
940
+ if (typeof tooltip === "string") {
941
+ tooltip = {
942
+ children: tooltip
943
+ };
944
+ }
945
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(Tooltip, {
946
+ children: [
947
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(TooltipTrigger, {
948
+ asChild: true,
949
+ children: button
950
+ }),
951
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(TooltipContent, _object_spread({
952
+ side: "right",
953
+ align: "center",
954
+ hidden: state !== "collapsed" || isMobile
955
+ }, tooltip))
956
+ ]
957
+ });
958
+ });
959
+ SidebarMenuButton.displayName = "SidebarMenuButton";
960
+ var SidebarMenuAction = React6.forwardRef(function(_param, ref) {
961
+ var className = _param.className, _param_asChild = _param.asChild, asChild = _param_asChild === void 0 ? false : _param_asChild, _param_showOnHover = _param.showOnHover, showOnHover = _param_showOnHover === void 0 ? false : _param_showOnHover, props = _object_without_properties(_param, [
962
+ "className",
963
+ "asChild",
964
+ "showOnHover"
965
+ ]);
966
+ var Comp = asChild ? import_react_slot2.Slot : "button";
967
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Comp, _object_spread({
968
+ ref: ref,
969
+ "data-sidebar": "menu-action",
970
+ className: cn("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", // Increases the hit area of the button on mobile.
971
+ "after:absolute after:-inset-2 after:md:hidden", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", showOnHover && "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", className)
972
+ }, props));
973
+ });
974
+ SidebarMenuAction.displayName = "SidebarMenuAction";
975
+ var SidebarMenuBadge = React6.forwardRef(function(_param, ref) {
976
+ var className = _param.className, props = _object_without_properties(_param, [
977
+ "className"
978
+ ]);
979
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", _object_spread({
980
+ ref: ref,
981
+ "data-sidebar": "menu-badge",
982
+ className: cn("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-sidebar-foreground", "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", className)
983
+ }, props));
984
+ });
985
+ SidebarMenuBadge.displayName = "SidebarMenuBadge";
986
+ var SidebarMenuSkeleton = React6.forwardRef(function(_param, ref) {
987
+ var className = _param.className, _param_showIcon = _param.showIcon, showIcon = _param_showIcon === void 0 ? false : _param_showIcon, props = _object_without_properties(_param, [
988
+ "className",
989
+ "showIcon"
990
+ ]);
991
+ var width = React6.useMemo(function() {
992
+ return "".concat(Math.floor(Math.random() * 40) + 50, "%");
993
+ }, []);
994
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", _object_spread_props(_object_spread({
995
+ ref: ref,
996
+ "data-sidebar": "menu-skeleton",
997
+ className: cn("flex h-8 items-center gap-2 rounded-md px-2", className)
998
+ }, props), {
999
+ children: [
1000
+ showIcon && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Skeleton, {
1001
+ className: "size-4 rounded-md",
1002
+ "data-sidebar": "menu-skeleton-icon"
1003
+ }),
1004
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Skeleton, {
1005
+ className: "h-4 max-w-[--skeleton-width] flex-1",
1006
+ "data-sidebar": "menu-skeleton-text",
1007
+ style: {
1008
+ "--skeleton-width": width
1009
+ }
1010
+ })
1011
+ ]
1012
+ }));
1013
+ });
1014
+ SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
1015
+ var SidebarMenuSub = React6.forwardRef(function(_param, ref) {
1016
+ var className = _param.className, props = _object_without_properties(_param, [
1017
+ "className"
1018
+ ]);
1019
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("ul", _object_spread({
1020
+ ref: ref,
1021
+ "data-sidebar": "menu-sub",
1022
+ className: cn("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5", "group-data-[collapsible=icon]:hidden", className)
1023
+ }, props));
1024
+ });
1025
+ SidebarMenuSub.displayName = "SidebarMenuSub";
1026
+ var SidebarMenuSubItem = React6.forwardRef(function(_param, ref) {
1027
+ var props = _extends({}, _object_destructuring_empty(_param));
1028
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("li", _object_spread({
1029
+ ref: ref
1030
+ }, props));
1031
+ });
1032
+ SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
1033
+ var SidebarMenuSubButton = React6.forwardRef(function(_param, ref) {
1034
+ var _param_asChild = _param.asChild, asChild = _param_asChild === void 0 ? false : _param_asChild, _param_size = _param.size, size = _param_size === void 0 ? "md" : _param_size, isActive = _param.isActive, className = _param.className, props = _object_without_properties(_param, [
1035
+ "asChild",
1036
+ "size",
1037
+ "isActive",
1038
+ "className"
1039
+ ]);
1040
+ var Comp = asChild ? import_react_slot2.Slot : "a";
1041
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Comp, _object_spread({
1042
+ ref: ref,
1043
+ "data-sidebar": "menu-sub-button",
1044
+ "data-size": size,
1045
+ "data-active": isActive,
1046
+ className: cn("flex min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md p-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", "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground", size === "sm" && "text-xs", size === "md" && "text-sm", isActive && "font-bold", "group-data-[collapsible=icon]:hidden", className)
1047
+ }, props));
1048
+ });
1049
+ SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
1050
+ // Annotate the CommonJS export names for ESM import in node:
1051
+ 0 && (module.exports = {
1052
+ Sidebar: Sidebar,
1053
+ SidebarContent: SidebarContent,
1054
+ SidebarFooter: SidebarFooter,
1055
+ SidebarGroup: SidebarGroup,
1056
+ SidebarGroupAction: SidebarGroupAction,
1057
+ SidebarGroupContent: SidebarGroupContent,
1058
+ SidebarGroupLabel: SidebarGroupLabel,
1059
+ SidebarHeader: SidebarHeader,
1060
+ SidebarInput: SidebarInput,
1061
+ SidebarInset: SidebarInset,
1062
+ SidebarMenu: SidebarMenu,
1063
+ SidebarMenuAction: SidebarMenuAction,
1064
+ SidebarMenuBadge: SidebarMenuBadge,
1065
+ SidebarMenuButton: SidebarMenuButton,
1066
+ SidebarMenuItem: SidebarMenuItem,
1067
+ SidebarMenuSkeleton: SidebarMenuSkeleton,
1068
+ SidebarMenuSub: SidebarMenuSub,
1069
+ SidebarMenuSubButton: SidebarMenuSubButton,
1070
+ SidebarMenuSubItem: SidebarMenuSubItem,
1071
+ SidebarProvider: SidebarProvider,
1072
+ SidebarRail: SidebarRail,
1073
+ SidebarSeparator: SidebarSeparator,
1074
+ SidebarTrigger: SidebarTrigger,
1075
+ useSidebar: useSidebar
1076
+ });
1077
+ //# sourceMappingURL=sidebar.cjs.js.map