@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.
- package/dist/alert.cjs.js +197 -0
- package/dist/alert.cjs.js.map +1 -0
- package/dist/alert.esm.js +116 -0
- package/dist/alert.esm.js.map +1 -0
- package/dist/breadcrumb.cjs.js +299 -0
- package/dist/breadcrumb.cjs.js.map +1 -0
- package/dist/breadcrumb.esm.js +202 -0
- package/dist/breadcrumb.esm.js.map +1 -0
- package/dist/button.cjs.js +200 -0
- package/dist/button.cjs.js.map +1 -0
- package/dist/button.esm.js +123 -0
- package/dist/button.esm.js.map +1 -0
- package/dist/command.cjs.js +387 -0
- package/dist/command.cjs.js.map +1 -0
- package/dist/command.esm.js +282 -0
- package/dist/command.esm.js.map +1 -0
- package/dist/dialog.cjs.js +290 -0
- package/dist/dialog.cjs.js.map +1 -0
- package/dist/dialog.esm.js +181 -0
- package/dist/dialog.esm.js.map +1 -0
- package/dist/hooks/use-mobile.cjs.js +127 -0
- package/dist/hooks/use-mobile.cjs.js.map +1 -0
- package/dist/hooks/use-mobile.esm.js +66 -0
- package/dist/hooks/use-mobile.esm.js.map +1 -0
- package/dist/input.cjs.js +155 -0
- package/dist/input.cjs.js.map +1 -0
- package/dist/input.esm.js +82 -0
- package/dist/input.esm.js.map +1 -0
- package/dist/popover.cjs.js +175 -0
- package/dist/popover.cjs.js.map +1 -0
- package/dist/popover.esm.js +90 -0
- package/dist/popover.esm.js.map +1 -0
- package/dist/select.cjs.js +326 -0
- package/dist/select.cjs.js.map +1 -0
- package/dist/select.esm.js +217 -0
- package/dist/select.esm.js.map +1 -0
- package/dist/separator.cjs.js +158 -0
- package/dist/separator.cjs.js.map +1 -0
- package/dist/separator.esm.js +85 -0
- package/dist/separator.esm.js.map +1 -0
- package/dist/sheet.cjs.js +308 -0
- package/dist/sheet.cjs.js.map +1 -0
- package/dist/sheet.esm.js +199 -0
- package/dist/sheet.esm.js.map +1 -0
- package/dist/sidebar.cjs.js +1077 -0
- package/dist/sidebar.cjs.js.map +1 -0
- package/dist/sidebar.esm.js +912 -0
- package/dist/sidebar.esm.js.map +1 -0
- package/dist/skeleton.cjs.js +138 -0
- package/dist/skeleton.cjs.js.map +1 -0
- package/dist/skeleton.esm.js +76 -0
- package/dist/skeleton.esm.js.map +1 -0
- package/dist/table.cjs.js +254 -0
- package/dist/table.cjs.js.map +1 -0
- package/dist/table.esm.js +153 -0
- package/dist/table.esm.js.map +1 -0
- package/dist/tooltip.cjs.js +173 -0
- package/dist/tooltip.cjs.js.map +1 -0
- package/dist/tooltip.esm.js +88 -0
- package/dist/tooltip.esm.js.map +1 -0
- package/package.json +105 -105
- package/dist/alert.cjs +0 -2
- package/dist/alert.cjs.map +0 -1
- package/dist/alert.js +0 -2
- package/dist/alert.js.map +0 -1
- package/dist/breadcrumb.cjs +0 -2
- package/dist/breadcrumb.cjs.map +0 -1
- package/dist/breadcrumb.js +0 -2
- package/dist/breadcrumb.js.map +0 -1
- package/dist/button.cjs +0 -2
- package/dist/button.cjs.map +0 -1
- package/dist/button.js +0 -2
- package/dist/button.js.map +0 -1
- package/dist/command.cjs +0 -2
- package/dist/command.cjs.map +0 -1
- package/dist/command.js +0 -2
- package/dist/command.js.map +0 -1
- package/dist/dialog.cjs +0 -2
- package/dist/dialog.cjs.map +0 -1
- package/dist/dialog.js +0 -2
- package/dist/dialog.js.map +0 -1
- package/dist/hooks/use-mobile.cjs +0 -2
- package/dist/hooks/use-mobile.cjs.map +0 -1
- package/dist/hooks/use-mobile.js +0 -2
- package/dist/hooks/use-mobile.js.map +0 -1
- package/dist/input.cjs +0 -2
- package/dist/input.cjs.map +0 -1
- package/dist/input.js +0 -2
- package/dist/input.js.map +0 -1
- package/dist/popover.cjs +0 -2
- package/dist/popover.cjs.map +0 -1
- package/dist/popover.js +0 -2
- package/dist/popover.js.map +0 -1
- package/dist/select.cjs +0 -2
- package/dist/select.cjs.map +0 -1
- package/dist/select.js +0 -2
- package/dist/select.js.map +0 -1
- package/dist/separator.cjs +0 -2
- package/dist/separator.cjs.map +0 -1
- package/dist/separator.js +0 -2
- package/dist/separator.js.map +0 -1
- package/dist/sheet.cjs +0 -2
- package/dist/sheet.cjs.map +0 -1
- package/dist/sheet.js +0 -2
- package/dist/sheet.js.map +0 -1
- package/dist/sidebar.cjs +0 -2
- package/dist/sidebar.cjs.map +0 -1
- package/dist/sidebar.js +0 -2
- package/dist/sidebar.js.map +0 -1
- package/dist/skeleton.cjs +0 -2
- package/dist/skeleton.cjs.map +0 -1
- package/dist/skeleton.js +0 -2
- package/dist/skeleton.js.map +0 -1
- package/dist/table.cjs +0 -2
- package/dist/table.cjs.map +0 -1
- package/dist/table.js +0 -2
- package/dist/table.js.map +0 -1
- package/dist/tooltip.cjs +0 -2
- package/dist/tooltip.cjs.map +0 -1
- package/dist/tooltip.js +0 -2
- 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
|