@offlinemediainc/offline-ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs ADDED
@@ -0,0 +1,1901 @@
1
+ 'use strict';
2
+
3
+ var React12 = require('react');
4
+ var AvatarPrimitive = require('@radix-ui/react-avatar');
5
+ var clsx = require('clsx');
6
+ var tailwindMerge = require('tailwind-merge');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+ var reactSlot = require('@radix-ui/react-slot');
9
+ var classVarianceAuthority = require('class-variance-authority');
10
+ var CollapsiblePrimitive = require('@radix-ui/react-collapsible');
11
+ var DialogPrimitive = require('@radix-ui/react-dialog');
12
+ var lucideReact = require('lucide-react');
13
+ var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu');
14
+ var SeparatorPrimitive = require('@radix-ui/react-separator');
15
+ var LabelPrimitive = require('@radix-ui/react-label');
16
+ var TooltipPrimitive = require('@radix-ui/react-tooltip');
17
+ var TabsPrimitive = require('@radix-ui/react-tabs');
18
+ var Image2 = require('next/image');
19
+ var Link = require('next/link');
20
+ var navigation = require('next/navigation');
21
+
22
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
23
+
24
+ function _interopNamespace(e) {
25
+ if (e && e.__esModule) return e;
26
+ var n = Object.create(null);
27
+ if (e) {
28
+ Object.keys(e).forEach(function (k) {
29
+ if (k !== 'default') {
30
+ var d = Object.getOwnPropertyDescriptor(e, k);
31
+ Object.defineProperty(n, k, d.get ? d : {
32
+ enumerable: true,
33
+ get: function () { return e[k]; }
34
+ });
35
+ }
36
+ });
37
+ }
38
+ n.default = e;
39
+ return Object.freeze(n);
40
+ }
41
+
42
+ var React12__namespace = /*#__PURE__*/_interopNamespace(React12);
43
+ var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive);
44
+ var CollapsiblePrimitive__namespace = /*#__PURE__*/_interopNamespace(CollapsiblePrimitive);
45
+ var DialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(DialogPrimitive);
46
+ var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(DropdownMenuPrimitive);
47
+ var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrimitive);
48
+ var LabelPrimitive__namespace = /*#__PURE__*/_interopNamespace(LabelPrimitive);
49
+ var TooltipPrimitive__namespace = /*#__PURE__*/_interopNamespace(TooltipPrimitive);
50
+ var TabsPrimitive__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive);
51
+ var Image2__default = /*#__PURE__*/_interopDefault(Image2);
52
+ var Link__default = /*#__PURE__*/_interopDefault(Link);
53
+
54
+ var __defProp = Object.defineProperty;
55
+ var __defProps = Object.defineProperties;
56
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
57
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
58
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
59
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
60
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
61
+ var __spreadValues = (a, b) => {
62
+ for (var prop in b || (b = {}))
63
+ if (__hasOwnProp.call(b, prop))
64
+ __defNormalProp(a, prop, b[prop]);
65
+ if (__getOwnPropSymbols)
66
+ for (var prop of __getOwnPropSymbols(b)) {
67
+ if (__propIsEnum.call(b, prop))
68
+ __defNormalProp(a, prop, b[prop]);
69
+ }
70
+ return a;
71
+ };
72
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
73
+ var __objRest = (source, exclude) => {
74
+ var target = {};
75
+ for (var prop in source)
76
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
77
+ target[prop] = source[prop];
78
+ if (source != null && __getOwnPropSymbols)
79
+ for (var prop of __getOwnPropSymbols(source)) {
80
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
81
+ target[prop] = source[prop];
82
+ }
83
+ return target;
84
+ };
85
+ function cn(...inputs) {
86
+ return tailwindMerge.twMerge(clsx.clsx(inputs));
87
+ }
88
+ var Avatar = React12__namespace.forwardRef((_a, ref) => {
89
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
90
+ return /* @__PURE__ */ jsxRuntime.jsx(
91
+ AvatarPrimitive__namespace.Root,
92
+ __spreadValues({
93
+ ref,
94
+ className: cn(
95
+ "relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",
96
+ className
97
+ )
98
+ }, props)
99
+ );
100
+ });
101
+ Avatar.displayName = AvatarPrimitive__namespace.Root.displayName;
102
+ var AvatarImage = React12__namespace.forwardRef((_a, ref) => {
103
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
104
+ return /* @__PURE__ */ jsxRuntime.jsx(
105
+ AvatarPrimitive__namespace.Image,
106
+ __spreadValues({
107
+ ref,
108
+ className: cn("aspect-square h-full w-full", className)
109
+ }, props)
110
+ );
111
+ });
112
+ AvatarImage.displayName = AvatarPrimitive__namespace.Image.displayName;
113
+ var AvatarFallback = React12__namespace.forwardRef((_a, ref) => {
114
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
115
+ return /* @__PURE__ */ jsxRuntime.jsx(
116
+ AvatarPrimitive__namespace.Fallback,
117
+ __spreadValues({
118
+ ref,
119
+ className: cn(
120
+ "flex h-full w-full items-center justify-center rounded-full bg-muted",
121
+ className
122
+ )
123
+ }, props)
124
+ );
125
+ });
126
+ AvatarFallback.displayName = AvatarPrimitive__namespace.Fallback.displayName;
127
+ var badgeVariants = classVarianceAuthority.cva(
128
+ "inline-flex items-center rounded-full border px-2.5 py-0.5 text-[13px] font-medium tracking-wide transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
129
+ {
130
+ variants: {
131
+ variant: {
132
+ default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
133
+ secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
134
+ destructive: "border-transparent bg-destructive/10 text-destructive hover:bg-destructive/20",
135
+ success: "border-transparent bg-[var(--semantic-success500)] text-white hover:bg-[var(--semantic-success500)]/80",
136
+ warning: "border-transparent bg-[var(--colors-yellow-100)] text-[var(--colors-yellow-700)] hover:bg-[var(--colors-yellow-200)]",
137
+ outline: "text-foreground border-border",
138
+ link: "border-transparent bg-transparent text-foreground underline-offset-4 hover:underline"
139
+ }
140
+ },
141
+ defaultVariants: {
142
+ variant: "default"
143
+ }
144
+ }
145
+ );
146
+ function Badge(_a) {
147
+ var _b = _a, { className, variant, asChild = false } = _b, props = __objRest(_b, ["className", "variant", "asChild"]);
148
+ const Comp = asChild ? reactSlot.Slot : "div";
149
+ return /* @__PURE__ */ jsxRuntime.jsx(Comp, __spreadValues({ className: cn(badgeVariants({ variant }), className) }, props));
150
+ }
151
+ var buttonVariants = classVarianceAuthority.cva(
152
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
153
+ {
154
+ variants: {
155
+ variant: {
156
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
157
+ destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
158
+ outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
159
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
160
+ ghost: "hover:bg-accent hover:text-accent-foreground",
161
+ link: "text-primary underline-offset-4 hover:underline"
162
+ },
163
+ size: {
164
+ default: "h-10 px-4 py-2",
165
+ sm: "h-9 rounded-md px-3",
166
+ lg: "h-11 rounded-md px-8",
167
+ icon: "h-10 w-10"
168
+ }
169
+ },
170
+ defaultVariants: {
171
+ variant: "default",
172
+ size: "default"
173
+ }
174
+ }
175
+ );
176
+ var Button = React12__namespace.forwardRef(
177
+ (_a, ref) => {
178
+ var _b = _a, { className, variant, size, asChild = false } = _b, props = __objRest(_b, ["className", "variant", "size", "asChild"]);
179
+ const Comp = asChild ? reactSlot.Slot : "button";
180
+ return /* @__PURE__ */ jsxRuntime.jsx(
181
+ Comp,
182
+ __spreadValues({
183
+ className: cn(buttonVariants({ variant, size, className })),
184
+ ref
185
+ }, props)
186
+ );
187
+ }
188
+ );
189
+ Button.displayName = "Button";
190
+ var Card = React12__namespace.forwardRef((_a, ref) => {
191
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
192
+ return /* @__PURE__ */ jsxRuntime.jsx(
193
+ "div",
194
+ __spreadValues({
195
+ ref,
196
+ className: cn(
197
+ "rounded-lg border bg-card text-card-foreground shadow-sm",
198
+ className
199
+ )
200
+ }, props)
201
+ );
202
+ });
203
+ Card.displayName = "Card";
204
+ var CardHeader = React12__namespace.forwardRef((_a, ref) => {
205
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
206
+ return /* @__PURE__ */ jsxRuntime.jsx(
207
+ "div",
208
+ __spreadValues({
209
+ ref,
210
+ className: cn("flex flex-col space-y-1.5 p-6", className)
211
+ }, props)
212
+ );
213
+ });
214
+ CardHeader.displayName = "CardHeader";
215
+ var CardTitle = React12__namespace.forwardRef((_a, ref) => {
216
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
217
+ return /* @__PURE__ */ jsxRuntime.jsx(
218
+ "div",
219
+ __spreadValues({
220
+ ref,
221
+ className: cn(
222
+ "text-2xl font-semibold leading-none",
223
+ className
224
+ )
225
+ }, props)
226
+ );
227
+ });
228
+ CardTitle.displayName = "CardTitle";
229
+ var CardDescription = React12__namespace.forwardRef((_a, ref) => {
230
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
231
+ return /* @__PURE__ */ jsxRuntime.jsx(
232
+ "div",
233
+ __spreadValues({
234
+ ref,
235
+ className: cn("text-[15px] text-muted-foreground tracking-wide", className)
236
+ }, props)
237
+ );
238
+ });
239
+ CardDescription.displayName = "CardDescription";
240
+ var CardContent = React12__namespace.forwardRef((_a, ref) => {
241
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
242
+ return /* @__PURE__ */ jsxRuntime.jsx("div", __spreadValues({ ref, className: cn("p-6 pt-0", className) }, props));
243
+ });
244
+ CardContent.displayName = "CardContent";
245
+ var CardFooter = React12__namespace.forwardRef((_a, ref) => {
246
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
247
+ return /* @__PURE__ */ jsxRuntime.jsx(
248
+ "div",
249
+ __spreadValues({
250
+ ref,
251
+ className: cn("flex items-center p-6 pt-0", className)
252
+ }, props)
253
+ );
254
+ });
255
+ CardFooter.displayName = "CardFooter";
256
+ var Collapsible = CollapsiblePrimitive__namespace.Root;
257
+ var CollapsibleTrigger2 = CollapsiblePrimitive__namespace.CollapsibleTrigger;
258
+ var CollapsibleContent2 = CollapsiblePrimitive__namespace.CollapsibleContent;
259
+ var Dialog = (props) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Root, __spreadValues({ modal: true }, props));
260
+ Dialog.displayName = "Dialog";
261
+ var DialogTrigger = DialogPrimitive__namespace.Trigger;
262
+ var DialogPortal = DialogPrimitive__namespace.Portal;
263
+ var DialogClose = DialogPrimitive__namespace.Close;
264
+ var DialogOverlay = React12__namespace.forwardRef((_a, ref) => {
265
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
266
+ return /* @__PURE__ */ jsxRuntime.jsx(
267
+ DialogPrimitive__namespace.Overlay,
268
+ __spreadValues({
269
+ ref,
270
+ className: cn(
271
+ "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",
272
+ className
273
+ )
274
+ }, props)
275
+ );
276
+ });
277
+ DialogOverlay.displayName = DialogPrimitive__namespace.Overlay.displayName;
278
+ var DialogContent = React12__namespace.forwardRef((_a, ref) => {
279
+ var _b = _a, { className, children, hideCloseButton = false } = _b, props = __objRest(_b, ["className", "children", "hideCloseButton"]);
280
+ return /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
281
+ /* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, {}),
282
+ /* @__PURE__ */ jsxRuntime.jsxs(
283
+ DialogPrimitive__namespace.Content,
284
+ __spreadProps(__spreadValues({
285
+ ref,
286
+ className: cn(
287
+ "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg sm:rounded-lg",
288
+ className
289
+ )
290
+ }, props), {
291
+ children: [
292
+ children,
293
+ !hideCloseButton && /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { 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-accent data-[state=open]:text-muted-foreground", children: [
294
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" }),
295
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
296
+ ] })
297
+ ]
298
+ })
299
+ )
300
+ ] });
301
+ });
302
+ DialogContent.displayName = DialogPrimitive__namespace.Content.displayName;
303
+ var DialogHeader = (_a) => {
304
+ var _b = _a, {
305
+ className
306
+ } = _b, props = __objRest(_b, [
307
+ "className"
308
+ ]);
309
+ return /* @__PURE__ */ jsxRuntime.jsx(
310
+ "div",
311
+ __spreadValues({
312
+ className: cn(
313
+ "flex flex-col space-y-1.5 text-center sm:text-left",
314
+ className
315
+ )
316
+ }, props)
317
+ );
318
+ };
319
+ DialogHeader.displayName = "DialogHeader";
320
+ var DialogFooter = (_a) => {
321
+ var _b = _a, {
322
+ className
323
+ } = _b, props = __objRest(_b, [
324
+ "className"
325
+ ]);
326
+ return /* @__PURE__ */ jsxRuntime.jsx(
327
+ "div",
328
+ __spreadValues({
329
+ className: cn(
330
+ "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
331
+ className
332
+ )
333
+ }, props)
334
+ );
335
+ };
336
+ DialogFooter.displayName = "DialogFooter";
337
+ var DialogTitle = React12__namespace.forwardRef((_a, ref) => {
338
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
339
+ return /* @__PURE__ */ jsxRuntime.jsx(
340
+ DialogPrimitive__namespace.Title,
341
+ __spreadValues({
342
+ ref,
343
+ className: cn(
344
+ "text-xl font-semibold leading-none",
345
+ className
346
+ )
347
+ }, props)
348
+ );
349
+ });
350
+ DialogTitle.displayName = DialogPrimitive__namespace.Title.displayName;
351
+ var DialogDescription = React12__namespace.forwardRef((_a, ref) => {
352
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
353
+ return /* @__PURE__ */ jsxRuntime.jsx(
354
+ DialogPrimitive__namespace.Description,
355
+ __spreadValues({
356
+ ref,
357
+ className: cn("text-sm text-muted-foreground", className)
358
+ }, props)
359
+ );
360
+ });
361
+ DialogDescription.displayName = DialogPrimitive__namespace.Description.displayName;
362
+ var DropdownMenu = DropdownMenuPrimitive__namespace.Root;
363
+ var DropdownMenuTrigger = DropdownMenuPrimitive__namespace.Trigger;
364
+ var DropdownMenuGroup = DropdownMenuPrimitive__namespace.Group;
365
+ var DropdownMenuPortal = DropdownMenuPrimitive__namespace.Portal;
366
+ var DropdownMenuSub = DropdownMenuPrimitive__namespace.Sub;
367
+ var DropdownMenuRadioGroup = DropdownMenuPrimitive__namespace.RadioGroup;
368
+ var DropdownMenuSubTrigger = React12__namespace.forwardRef((_a, ref) => {
369
+ var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
370
+ return /* @__PURE__ */ jsxRuntime.jsxs(
371
+ DropdownMenuPrimitive__namespace.SubTrigger,
372
+ __spreadProps(__spreadValues({
373
+ ref,
374
+ className: cn(
375
+ "flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
376
+ inset && "pl-8",
377
+ className
378
+ )
379
+ }, props), {
380
+ children: [
381
+ children,
382
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "ml-auto" })
383
+ ]
384
+ })
385
+ );
386
+ });
387
+ DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive__namespace.SubTrigger.displayName;
388
+ var DropdownMenuSubContent = React12__namespace.forwardRef((_a, ref) => {
389
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
390
+ return /* @__PURE__ */ jsxRuntime.jsx(
391
+ DropdownMenuPrimitive__namespace.SubContent,
392
+ __spreadValues({
393
+ ref,
394
+ className: cn(
395
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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",
396
+ className
397
+ )
398
+ }, props)
399
+ );
400
+ });
401
+ DropdownMenuSubContent.displayName = DropdownMenuPrimitive__namespace.SubContent.displayName;
402
+ var DropdownMenuContent = React12__namespace.forwardRef((_a, ref) => {
403
+ var _b = _a, { className, sideOffset = 4 } = _b, props = __objRest(_b, ["className", "sideOffset"]);
404
+ return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
405
+ DropdownMenuPrimitive__namespace.Content,
406
+ __spreadValues({
407
+ ref,
408
+ sideOffset,
409
+ className: cn(
410
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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",
411
+ className
412
+ )
413
+ }, props)
414
+ ) });
415
+ });
416
+ DropdownMenuContent.displayName = DropdownMenuPrimitive__namespace.Content.displayName;
417
+ var DropdownMenuItem = React12__namespace.forwardRef((_a, ref) => {
418
+ var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
419
+ return /* @__PURE__ */ jsxRuntime.jsx(
420
+ DropdownMenuPrimitive__namespace.Item,
421
+ __spreadValues({
422
+ ref,
423
+ className: cn(
424
+ "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
425
+ inset && "pl-8",
426
+ className
427
+ )
428
+ }, props)
429
+ );
430
+ });
431
+ DropdownMenuItem.displayName = DropdownMenuPrimitive__namespace.Item.displayName;
432
+ var DropdownMenuCheckboxItem = React12__namespace.forwardRef((_a, ref) => {
433
+ var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
434
+ return /* @__PURE__ */ jsxRuntime.jsxs(
435
+ DropdownMenuPrimitive__namespace.CheckboxItem,
436
+ __spreadProps(__spreadValues({
437
+ ref,
438
+ className: cn(
439
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
440
+ className
441
+ ),
442
+ checked
443
+ }, props), {
444
+ children: [
445
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) }) }),
446
+ children
447
+ ]
448
+ })
449
+ );
450
+ });
451
+ DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive__namespace.CheckboxItem.displayName;
452
+ var DropdownMenuRadioItem = React12__namespace.forwardRef((_a, ref) => {
453
+ var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
454
+ return /* @__PURE__ */ jsxRuntime.jsxs(
455
+ DropdownMenuPrimitive__namespace.RadioItem,
456
+ __spreadProps(__spreadValues({
457
+ ref,
458
+ className: cn(
459
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
460
+ className
461
+ )
462
+ }, props), {
463
+ children: [
464
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: "h-2 w-2 fill-current" }) }) }),
465
+ children
466
+ ]
467
+ })
468
+ );
469
+ });
470
+ DropdownMenuRadioItem.displayName = DropdownMenuPrimitive__namespace.RadioItem.displayName;
471
+ var DropdownMenuLabel = React12__namespace.forwardRef((_a, ref) => {
472
+ var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
473
+ return /* @__PURE__ */ jsxRuntime.jsx(
474
+ DropdownMenuPrimitive__namespace.Label,
475
+ __spreadValues({
476
+ ref,
477
+ className: cn(
478
+ "px-2 py-1.5 text-sm font-semibold",
479
+ inset && "pl-8",
480
+ className
481
+ )
482
+ }, props)
483
+ );
484
+ });
485
+ DropdownMenuLabel.displayName = DropdownMenuPrimitive__namespace.Label.displayName;
486
+ var DropdownMenuSeparator = React12__namespace.forwardRef((_a, ref) => {
487
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
488
+ return /* @__PURE__ */ jsxRuntime.jsx(
489
+ DropdownMenuPrimitive__namespace.Separator,
490
+ __spreadValues({
491
+ ref,
492
+ className: cn("-mx-1 my-1 h-px bg-muted", className)
493
+ }, props)
494
+ );
495
+ });
496
+ DropdownMenuSeparator.displayName = DropdownMenuPrimitive__namespace.Separator.displayName;
497
+ var DropdownMenuShortcut = (_a) => {
498
+ var _b = _a, {
499
+ className
500
+ } = _b, props = __objRest(_b, [
501
+ "className"
502
+ ]);
503
+ return /* @__PURE__ */ jsxRuntime.jsx(
504
+ "span",
505
+ __spreadValues({
506
+ className: cn("ml-auto text-xs tracking-widest opacity-60", className)
507
+ }, props)
508
+ );
509
+ };
510
+ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
511
+ var Input = React12__namespace.forwardRef(
512
+ (_a, ref) => {
513
+ var _b = _a, { className, type } = _b, props = __objRest(_b, ["className", "type"]);
514
+ return /* @__PURE__ */ jsxRuntime.jsx(
515
+ "input",
516
+ __spreadValues({
517
+ type,
518
+ className: cn(
519
+ "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background 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-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
520
+ className
521
+ ),
522
+ ref
523
+ }, props)
524
+ );
525
+ }
526
+ );
527
+ Input.displayName = "Input";
528
+ var Separator2 = React12__namespace.forwardRef(
529
+ (_a, ref) => {
530
+ var _b = _a, { className, orientation = "horizontal", decorative = true } = _b, props = __objRest(_b, ["className", "orientation", "decorative"]);
531
+ return /* @__PURE__ */ jsxRuntime.jsx(
532
+ SeparatorPrimitive__namespace.Root,
533
+ __spreadValues({
534
+ ref,
535
+ decorative,
536
+ orientation,
537
+ className: cn(
538
+ "shrink-0 bg-border",
539
+ orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
540
+ className
541
+ )
542
+ }, props)
543
+ );
544
+ }
545
+ );
546
+ Separator2.displayName = SeparatorPrimitive__namespace.Root.displayName;
547
+ function ItemGroup(_a) {
548
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
549
+ return /* @__PURE__ */ jsxRuntime.jsx(
550
+ "div",
551
+ __spreadValues({
552
+ role: "list",
553
+ "data-slot": "item-group",
554
+ className: cn("group/item-group flex flex-col", className)
555
+ }, props)
556
+ );
557
+ }
558
+ function ItemSeparator(_a) {
559
+ var _b = _a, {
560
+ className
561
+ } = _b, props = __objRest(_b, [
562
+ "className"
563
+ ]);
564
+ return /* @__PURE__ */ jsxRuntime.jsx(
565
+ Separator2,
566
+ __spreadValues({
567
+ "data-slot": "item-separator",
568
+ orientation: "horizontal",
569
+ className: cn("my-0", className)
570
+ }, props)
571
+ );
572
+ }
573
+ var itemVariants = classVarianceAuthority.cva(
574
+ "group/item [a]:hover:bg-accent/50 focus-visible:border-ring focus-visible:ring-ring/50 [a]:transition-colors flex flex-wrap items-center rounded-md border border-transparent text-sm outline-none transition-colors duration-100 focus-visible:ring-[3px]",
575
+ {
576
+ variants: {
577
+ variant: {
578
+ default: "bg-transparent",
579
+ outline: "border-border",
580
+ muted: "bg-muted/50"
581
+ },
582
+ size: {
583
+ default: "gap-4 p-4 ",
584
+ sm: "gap-2.5 px-4 py-3"
585
+ }
586
+ },
587
+ defaultVariants: {
588
+ variant: "default",
589
+ size: "default"
590
+ }
591
+ }
592
+ );
593
+ function Item2(_a) {
594
+ var _b = _a, {
595
+ className,
596
+ variant = "default",
597
+ size = "default",
598
+ asChild = false
599
+ } = _b, props = __objRest(_b, [
600
+ "className",
601
+ "variant",
602
+ "size",
603
+ "asChild"
604
+ ]);
605
+ const Comp = asChild ? reactSlot.Slot : "div";
606
+ return /* @__PURE__ */ jsxRuntime.jsx(
607
+ Comp,
608
+ __spreadValues({
609
+ "data-slot": "item",
610
+ "data-variant": variant,
611
+ "data-size": size,
612
+ className: cn(itemVariants({ variant, size, className }))
613
+ }, props)
614
+ );
615
+ }
616
+ var itemMediaVariants = classVarianceAuthority.cva(
617
+ "flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none",
618
+ {
619
+ variants: {
620
+ variant: {
621
+ default: "bg-transparent",
622
+ icon: "bg-muted size-8 rounded-sm border [&_svg:not([class*='size-'])]:size-4",
623
+ image: "size-10 overflow-hidden rounded-sm [&_img]:size-full [&_img]:object-cover"
624
+ }
625
+ },
626
+ defaultVariants: {
627
+ variant: "default"
628
+ }
629
+ }
630
+ );
631
+ function ItemMedia(_a) {
632
+ var _b = _a, {
633
+ className,
634
+ variant = "default"
635
+ } = _b, props = __objRest(_b, [
636
+ "className",
637
+ "variant"
638
+ ]);
639
+ return /* @__PURE__ */ jsxRuntime.jsx(
640
+ "div",
641
+ __spreadValues({
642
+ "data-slot": "item-media",
643
+ "data-variant": variant,
644
+ className: cn(itemMediaVariants({ variant, className }))
645
+ }, props)
646
+ );
647
+ }
648
+ function ItemContent(_a) {
649
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
650
+ return /* @__PURE__ */ jsxRuntime.jsx(
651
+ "div",
652
+ __spreadValues({
653
+ "data-slot": "item-content",
654
+ className: cn(
655
+ "flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none",
656
+ className
657
+ )
658
+ }, props)
659
+ );
660
+ }
661
+ function ItemTitle(_a) {
662
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
663
+ return /* @__PURE__ */ jsxRuntime.jsx(
664
+ "div",
665
+ __spreadValues({
666
+ "data-slot": "item-title",
667
+ className: cn(
668
+ "flex w-fit items-center gap-2 text-sm font-medium leading-snug",
669
+ className
670
+ )
671
+ }, props)
672
+ );
673
+ }
674
+ function ItemDescription(_a) {
675
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
676
+ return /* @__PURE__ */ jsxRuntime.jsx(
677
+ "p",
678
+ __spreadValues({
679
+ "data-slot": "item-description",
680
+ className: cn(
681
+ "line-clamp-2 text-balance text-sm font-normal leading-normal",
682
+ "[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
683
+ className
684
+ )
685
+ }, props)
686
+ );
687
+ }
688
+ function ItemActions(_a) {
689
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
690
+ return /* @__PURE__ */ jsxRuntime.jsx(
691
+ "div",
692
+ __spreadValues({
693
+ "data-slot": "item-actions",
694
+ className: cn("flex items-center gap-2", className)
695
+ }, props)
696
+ );
697
+ }
698
+ function ItemHeader(_a) {
699
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
700
+ return /* @__PURE__ */ jsxRuntime.jsx(
701
+ "div",
702
+ __spreadValues({
703
+ "data-slot": "item-header",
704
+ className: cn(
705
+ "flex basis-full items-center justify-between gap-2",
706
+ className
707
+ )
708
+ }, props)
709
+ );
710
+ }
711
+ function ItemFooter(_a) {
712
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
713
+ return /* @__PURE__ */ jsxRuntime.jsx(
714
+ "div",
715
+ __spreadValues({
716
+ "data-slot": "item-footer",
717
+ className: cn(
718
+ "flex basis-full items-center justify-between gap-2",
719
+ className
720
+ )
721
+ }, props)
722
+ );
723
+ }
724
+ var labelVariants = classVarianceAuthority.cva(
725
+ "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
726
+ );
727
+ var Label2 = React12__namespace.forwardRef((_a, ref) => {
728
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
729
+ return /* @__PURE__ */ jsxRuntime.jsx(
730
+ LabelPrimitive__namespace.Root,
731
+ __spreadValues({
732
+ ref,
733
+ className: cn(labelVariants(), className)
734
+ }, props)
735
+ );
736
+ });
737
+ Label2.displayName = LabelPrimitive__namespace.Root.displayName;
738
+ var Sheet = DialogPrimitive__namespace.Root;
739
+ var SheetTrigger = DialogPrimitive__namespace.Trigger;
740
+ var SheetClose = DialogPrimitive__namespace.Close;
741
+ var SheetPortal = DialogPrimitive__namespace.Portal;
742
+ var SheetOverlay = React12__namespace.forwardRef((_a, ref) => {
743
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
744
+ return /* @__PURE__ */ jsxRuntime.jsx(
745
+ DialogPrimitive__namespace.Overlay,
746
+ __spreadProps(__spreadValues({
747
+ className: cn(
748
+ "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",
749
+ className
750
+ )
751
+ }, props), {
752
+ ref
753
+ })
754
+ );
755
+ });
756
+ SheetOverlay.displayName = DialogPrimitive__namespace.Overlay.displayName;
757
+ var sheetVariants = classVarianceAuthority.cva(
758
+ "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
759
+ {
760
+ variants: {
761
+ side: {
762
+ top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
763
+ bottom: "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
764
+ 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",
765
+ 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"
766
+ }
767
+ },
768
+ defaultVariants: {
769
+ side: "right"
770
+ }
771
+ }
772
+ );
773
+ var SheetContent = React12__namespace.forwardRef((_a, ref) => {
774
+ var _b = _a, { side = "right", className, children } = _b, props = __objRest(_b, ["side", "className", "children"]);
775
+ return /* @__PURE__ */ jsxRuntime.jsxs(SheetPortal, { children: [
776
+ /* @__PURE__ */ jsxRuntime.jsx(SheetOverlay, {}),
777
+ /* @__PURE__ */ jsxRuntime.jsxs(
778
+ DialogPrimitive__namespace.Content,
779
+ __spreadProps(__spreadValues({
780
+ ref,
781
+ className: cn(sheetVariants({ side }), className)
782
+ }, props), {
783
+ children: [
784
+ children,
785
+ /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { 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", children: [
786
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" }),
787
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
788
+ ] })
789
+ ]
790
+ })
791
+ )
792
+ ] });
793
+ });
794
+ SheetContent.displayName = DialogPrimitive__namespace.Content.displayName;
795
+ var SheetHeader = (_a) => {
796
+ var _b = _a, {
797
+ className
798
+ } = _b, props = __objRest(_b, [
799
+ "className"
800
+ ]);
801
+ return /* @__PURE__ */ jsxRuntime.jsx(
802
+ "div",
803
+ __spreadValues({
804
+ className: cn(
805
+ "flex flex-col space-y-2 text-center sm:text-left",
806
+ className
807
+ )
808
+ }, props)
809
+ );
810
+ };
811
+ SheetHeader.displayName = "SheetHeader";
812
+ var SheetFooter = (_a) => {
813
+ var _b = _a, {
814
+ className
815
+ } = _b, props = __objRest(_b, [
816
+ "className"
817
+ ]);
818
+ return /* @__PURE__ */ jsxRuntime.jsx(
819
+ "div",
820
+ __spreadValues({
821
+ className: cn(
822
+ "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
823
+ className
824
+ )
825
+ }, props)
826
+ );
827
+ };
828
+ SheetFooter.displayName = "SheetFooter";
829
+ var SheetTitle = React12__namespace.forwardRef((_a, ref) => {
830
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
831
+ return /* @__PURE__ */ jsxRuntime.jsx(
832
+ DialogPrimitive__namespace.Title,
833
+ __spreadValues({
834
+ ref,
835
+ className: cn("text-xl font-semibold text-foreground", className)
836
+ }, props)
837
+ );
838
+ });
839
+ SheetTitle.displayName = DialogPrimitive__namespace.Title.displayName;
840
+ var SheetDescription = React12__namespace.forwardRef((_a, ref) => {
841
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
842
+ return /* @__PURE__ */ jsxRuntime.jsx(
843
+ DialogPrimitive__namespace.Description,
844
+ __spreadValues({
845
+ ref,
846
+ className: cn("text-sm text-muted-foreground", className)
847
+ }, props)
848
+ );
849
+ });
850
+ SheetDescription.displayName = DialogPrimitive__namespace.Description.displayName;
851
+ var MOBILE_BREAKPOINT = 768;
852
+ function useIsMobile() {
853
+ const [isMobile, setIsMobile] = React12__namespace.useState(void 0);
854
+ React12__namespace.useEffect(() => {
855
+ const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
856
+ const onChange = () => {
857
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
858
+ };
859
+ mql.addEventListener("change", onChange);
860
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
861
+ return () => mql.removeEventListener("change", onChange);
862
+ }, []);
863
+ return !!isMobile;
864
+ }
865
+ function Skeleton(_a) {
866
+ var _b = _a, {
867
+ className
868
+ } = _b, props = __objRest(_b, [
869
+ "className"
870
+ ]);
871
+ return /* @__PURE__ */ jsxRuntime.jsx(
872
+ "div",
873
+ __spreadValues({
874
+ className: cn("animate-pulse rounded-md bg-muted", className)
875
+ }, props)
876
+ );
877
+ }
878
+ var TooltipProvider = TooltipPrimitive__namespace.Provider;
879
+ var Tooltip = TooltipPrimitive__namespace.Root;
880
+ var TooltipTrigger = TooltipPrimitive__namespace.Trigger;
881
+ var TooltipContent = React12__namespace.forwardRef((_a, ref) => {
882
+ var _b = _a, { className, sideOffset = 4 } = _b, props = __objRest(_b, ["className", "sideOffset"]);
883
+ return /* @__PURE__ */ jsxRuntime.jsx(
884
+ TooltipPrimitive__namespace.Content,
885
+ __spreadValues({
886
+ ref,
887
+ sideOffset,
888
+ className: cn(
889
+ "z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md 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 origin-[--radix-tooltip-content-transform-origin]",
890
+ className
891
+ )
892
+ }, props)
893
+ );
894
+ });
895
+ TooltipContent.displayName = TooltipPrimitive__namespace.Content.displayName;
896
+ var SIDEBAR_COOKIE_NAME = "sidebar_state";
897
+ var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
898
+ var SIDEBAR_WIDTH = "16rem";
899
+ var SIDEBAR_WIDTH_MOBILE = "18rem";
900
+ var SIDEBAR_WIDTH_ICON = "3rem";
901
+ var SIDEBAR_KEYBOARD_SHORTCUT = "b";
902
+ var SidebarContext = React12__namespace.createContext(null);
903
+ function useSidebar() {
904
+ const context = React12__namespace.useContext(SidebarContext);
905
+ if (!context) {
906
+ throw new Error("useSidebar must be used within a SidebarProvider.");
907
+ }
908
+ return context;
909
+ }
910
+ var SidebarProvider = React12__namespace.forwardRef(
911
+ (_a, ref) => {
912
+ var _b = _a, {
913
+ defaultOpen = true,
914
+ open: openProp,
915
+ onOpenChange: setOpenProp,
916
+ className,
917
+ style,
918
+ children
919
+ } = _b, props = __objRest(_b, [
920
+ "defaultOpen",
921
+ "open",
922
+ "onOpenChange",
923
+ "className",
924
+ "style",
925
+ "children"
926
+ ]);
927
+ const isMobile = useIsMobile();
928
+ const [openMobile, setOpenMobile] = React12__namespace.useState(false);
929
+ const [_open, _setOpen] = React12__namespace.useState(defaultOpen);
930
+ const open = openProp != null ? openProp : _open;
931
+ const setOpen = React12__namespace.useCallback(
932
+ (value) => {
933
+ const openState = typeof value === "function" ? value(open) : value;
934
+ if (setOpenProp) {
935
+ setOpenProp(openState);
936
+ } else {
937
+ _setOpen(openState);
938
+ }
939
+ document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
940
+ },
941
+ [setOpenProp, open]
942
+ );
943
+ const toggleSidebar = React12__namespace.useCallback(() => {
944
+ return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
945
+ }, [isMobile, setOpen, setOpenMobile]);
946
+ React12__namespace.useEffect(() => {
947
+ const handleKeyDown = (event) => {
948
+ if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
949
+ event.preventDefault();
950
+ toggleSidebar();
951
+ }
952
+ };
953
+ window.addEventListener("keydown", handleKeyDown);
954
+ return () => window.removeEventListener("keydown", handleKeyDown);
955
+ }, [toggleSidebar]);
956
+ const state = open ? "expanded" : "collapsed";
957
+ const contextValue = React12__namespace.useMemo(
958
+ () => ({
959
+ state,
960
+ open,
961
+ setOpen,
962
+ isMobile,
963
+ openMobile,
964
+ setOpenMobile,
965
+ toggleSidebar
966
+ }),
967
+ [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
968
+ );
969
+ return /* @__PURE__ */ jsxRuntime.jsx(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsxRuntime.jsx(
970
+ "div",
971
+ __spreadProps(__spreadValues({
972
+ style: __spreadValues({
973
+ "--sidebar-width": SIDEBAR_WIDTH,
974
+ "--sidebar-width-icon": SIDEBAR_WIDTH_ICON
975
+ }, style),
976
+ className: cn(
977
+ "group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",
978
+ className
979
+ ),
980
+ ref
981
+ }, props), {
982
+ children
983
+ })
984
+ ) }) });
985
+ }
986
+ );
987
+ SidebarProvider.displayName = "SidebarProvider";
988
+ var Sidebar = React12__namespace.forwardRef(
989
+ (_a, ref) => {
990
+ var _b = _a, {
991
+ side = "left",
992
+ variant = "sidebar",
993
+ collapsible = "offcanvas",
994
+ className,
995
+ children
996
+ } = _b, props = __objRest(_b, [
997
+ "side",
998
+ "variant",
999
+ "collapsible",
1000
+ "className",
1001
+ "children"
1002
+ ]);
1003
+ const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
1004
+ if (collapsible === "none") {
1005
+ return /* @__PURE__ */ jsxRuntime.jsx(
1006
+ "div",
1007
+ __spreadProps(__spreadValues({
1008
+ className: cn(
1009
+ "flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",
1010
+ className
1011
+ ),
1012
+ ref
1013
+ }, props), {
1014
+ children
1015
+ })
1016
+ );
1017
+ }
1018
+ if (isMobile) {
1019
+ return /* @__PURE__ */ jsxRuntime.jsx(Sheet, __spreadProps(__spreadValues({ open: openMobile, onOpenChange: setOpenMobile }, props), { children: /* @__PURE__ */ jsxRuntime.jsxs(
1020
+ SheetContent,
1021
+ {
1022
+ "data-sidebar": "sidebar",
1023
+ "data-mobile": "true",
1024
+ className: "w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",
1025
+ style: {
1026
+ "--sidebar-width": SIDEBAR_WIDTH_MOBILE
1027
+ },
1028
+ side,
1029
+ children: [
1030
+ /* @__PURE__ */ jsxRuntime.jsxs(SheetHeader, { className: "sr-only", children: [
1031
+ /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { children: "Sidebar" }),
1032
+ /* @__PURE__ */ jsxRuntime.jsx(SheetDescription, { children: "Displays the mobile sidebar." })
1033
+ ] }),
1034
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-full w-full flex-col", children })
1035
+ ]
1036
+ }
1037
+ ) }));
1038
+ }
1039
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1040
+ "div",
1041
+ {
1042
+ ref,
1043
+ className: "group peer hidden text-sidebar-foreground md:block",
1044
+ "data-state": state,
1045
+ "data-collapsible": state === "collapsed" ? collapsible : "",
1046
+ "data-variant": variant,
1047
+ "data-side": side,
1048
+ children: [
1049
+ /* @__PURE__ */ jsxRuntime.jsx(
1050
+ "div",
1051
+ {
1052
+ className: cn(
1053
+ "relative w-[--sidebar-width] bg-transparent transition-[width] duration-200 ease-linear",
1054
+ "group-data-[collapsible=offcanvas]:w-0",
1055
+ "group-data-[side=right]:rotate-180",
1056
+ 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]"
1057
+ )
1058
+ }
1059
+ ),
1060
+ /* @__PURE__ */ jsxRuntime.jsx(
1061
+ "div",
1062
+ __spreadProps(__spreadValues({
1063
+ className: cn(
1064
+ "fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] duration-200 ease-linear md:flex",
1065
+ 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)]",
1066
+ // Adjust the padding for floating and inset variants.
1067
+ 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",
1068
+ className
1069
+ )
1070
+ }, props), {
1071
+ children: /* @__PURE__ */ jsxRuntime.jsx(
1072
+ "div",
1073
+ {
1074
+ "data-sidebar": "sidebar",
1075
+ 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",
1076
+ children
1077
+ }
1078
+ )
1079
+ })
1080
+ )
1081
+ ]
1082
+ }
1083
+ );
1084
+ }
1085
+ );
1086
+ Sidebar.displayName = "Sidebar";
1087
+ var SidebarTrigger = React12__namespace.forwardRef((_a, ref) => {
1088
+ var _b = _a, { className, onClick } = _b, props = __objRest(_b, ["className", "onClick"]);
1089
+ const { toggleSidebar } = useSidebar();
1090
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1091
+ Button,
1092
+ __spreadProps(__spreadValues({
1093
+ ref,
1094
+ "data-sidebar": "trigger",
1095
+ variant: "ghost",
1096
+ size: "icon",
1097
+ className: cn("h-7 w-7", className),
1098
+ onClick: (event) => {
1099
+ onClick == null ? void 0 : onClick(event);
1100
+ toggleSidebar();
1101
+ }
1102
+ }, props), {
1103
+ children: [
1104
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PanelLeft, {}),
1105
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Toggle Sidebar" })
1106
+ ]
1107
+ })
1108
+ );
1109
+ });
1110
+ SidebarTrigger.displayName = "SidebarTrigger";
1111
+ var SidebarRail = React12__namespace.forwardRef((_a, ref) => {
1112
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1113
+ const { toggleSidebar } = useSidebar();
1114
+ return /* @__PURE__ */ jsxRuntime.jsx(
1115
+ "button",
1116
+ __spreadValues({
1117
+ ref,
1118
+ "data-sidebar": "rail",
1119
+ "aria-label": "Toggle Sidebar",
1120
+ tabIndex: -1,
1121
+ onClick: toggleSidebar,
1122
+ title: "Toggle Sidebar",
1123
+ className: cn(
1124
+ "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",
1125
+ "[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize",
1126
+ "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
1127
+ "group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar",
1128
+ "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
1129
+ "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
1130
+ className
1131
+ )
1132
+ }, props)
1133
+ );
1134
+ });
1135
+ SidebarRail.displayName = "SidebarRail";
1136
+ var SidebarInset = React12__namespace.forwardRef((_a, ref) => {
1137
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1138
+ return /* @__PURE__ */ jsxRuntime.jsx(
1139
+ "main",
1140
+ __spreadValues({
1141
+ ref,
1142
+ className: cn(
1143
+ "relative flex w-full flex-1 flex-col bg-background",
1144
+ "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",
1145
+ className
1146
+ )
1147
+ }, props)
1148
+ );
1149
+ });
1150
+ SidebarInset.displayName = "SidebarInset";
1151
+ var SidebarInput = React12__namespace.forwardRef((_a, ref) => {
1152
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1153
+ return /* @__PURE__ */ jsxRuntime.jsx(
1154
+ Input,
1155
+ __spreadValues({
1156
+ ref,
1157
+ "data-sidebar": "input",
1158
+ className: cn(
1159
+ "h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",
1160
+ className
1161
+ )
1162
+ }, props)
1163
+ );
1164
+ });
1165
+ SidebarInput.displayName = "SidebarInput";
1166
+ var SidebarHeader = React12__namespace.forwardRef((_a, ref) => {
1167
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1168
+ return /* @__PURE__ */ jsxRuntime.jsx(
1169
+ "div",
1170
+ __spreadValues({
1171
+ ref,
1172
+ "data-sidebar": "header",
1173
+ className: cn("flex flex-col gap-2 p-2", className)
1174
+ }, props)
1175
+ );
1176
+ });
1177
+ SidebarHeader.displayName = "SidebarHeader";
1178
+ var SidebarFooter = React12__namespace.forwardRef((_a, ref) => {
1179
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1180
+ return /* @__PURE__ */ jsxRuntime.jsx(
1181
+ "div",
1182
+ __spreadValues({
1183
+ ref,
1184
+ "data-sidebar": "footer",
1185
+ className: cn("flex flex-col gap-2 p-2", className)
1186
+ }, props)
1187
+ );
1188
+ });
1189
+ SidebarFooter.displayName = "SidebarFooter";
1190
+ var SidebarSeparator = React12__namespace.forwardRef((_a, ref) => {
1191
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1192
+ return /* @__PURE__ */ jsxRuntime.jsx(
1193
+ Separator2,
1194
+ __spreadValues({
1195
+ ref,
1196
+ "data-sidebar": "separator",
1197
+ className: cn("mx-2 w-auto bg-sidebar-border", className)
1198
+ }, props)
1199
+ );
1200
+ });
1201
+ SidebarSeparator.displayName = "SidebarSeparator";
1202
+ var SidebarContent = React12__namespace.forwardRef((_a, ref) => {
1203
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1204
+ return /* @__PURE__ */ jsxRuntime.jsx(
1205
+ "div",
1206
+ __spreadValues({
1207
+ ref,
1208
+ "data-sidebar": "content",
1209
+ className: cn(
1210
+ "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
1211
+ className
1212
+ )
1213
+ }, props)
1214
+ );
1215
+ });
1216
+ SidebarContent.displayName = "SidebarContent";
1217
+ var SidebarGroup = React12__namespace.forwardRef((_a, ref) => {
1218
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1219
+ return /* @__PURE__ */ jsxRuntime.jsx(
1220
+ "div",
1221
+ __spreadValues({
1222
+ ref,
1223
+ "data-sidebar": "group",
1224
+ className: cn("relative flex w-full min-w-0 flex-col p-2", className)
1225
+ }, props)
1226
+ );
1227
+ });
1228
+ SidebarGroup.displayName = "SidebarGroup";
1229
+ var SidebarGroupLabel = React12__namespace.forwardRef((_a, ref) => {
1230
+ var _b = _a, { className, asChild = false } = _b, props = __objRest(_b, ["className", "asChild"]);
1231
+ const Comp = asChild ? reactSlot.Slot : "div";
1232
+ return /* @__PURE__ */ jsxRuntime.jsx(
1233
+ Comp,
1234
+ __spreadValues({
1235
+ ref,
1236
+ "data-sidebar": "group-label",
1237
+ className: cn(
1238
+ "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",
1239
+ "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
1240
+ className
1241
+ )
1242
+ }, props)
1243
+ );
1244
+ });
1245
+ SidebarGroupLabel.displayName = "SidebarGroupLabel";
1246
+ var SidebarGroupAction = React12__namespace.forwardRef((_a, ref) => {
1247
+ var _b = _a, { className, asChild = false } = _b, props = __objRest(_b, ["className", "asChild"]);
1248
+ const Comp = asChild ? reactSlot.Slot : "button";
1249
+ return /* @__PURE__ */ jsxRuntime.jsx(
1250
+ Comp,
1251
+ __spreadValues({
1252
+ ref,
1253
+ "data-sidebar": "group-action",
1254
+ className: cn(
1255
+ "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",
1256
+ // Increases the hit area of the button on mobile.
1257
+ "after:absolute after:-inset-2 after:md:hidden",
1258
+ "group-data-[collapsible=icon]:hidden",
1259
+ className
1260
+ )
1261
+ }, props)
1262
+ );
1263
+ });
1264
+ SidebarGroupAction.displayName = "SidebarGroupAction";
1265
+ var SidebarGroupContent = React12__namespace.forwardRef((_a, ref) => {
1266
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1267
+ return /* @__PURE__ */ jsxRuntime.jsx(
1268
+ "div",
1269
+ __spreadValues({
1270
+ ref,
1271
+ "data-sidebar": "group-content",
1272
+ className: cn("w-full text-sm", className)
1273
+ }, props)
1274
+ );
1275
+ });
1276
+ SidebarGroupContent.displayName = "SidebarGroupContent";
1277
+ var SidebarMenu = React12__namespace.forwardRef((_a, ref) => {
1278
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1279
+ return /* @__PURE__ */ jsxRuntime.jsx(
1280
+ "ul",
1281
+ __spreadValues({
1282
+ ref,
1283
+ "data-sidebar": "menu",
1284
+ className: cn("flex w-full min-w-0 flex-col gap-1", className)
1285
+ }, props)
1286
+ );
1287
+ });
1288
+ SidebarMenu.displayName = "SidebarMenu";
1289
+ var SidebarMenuItem = React12__namespace.forwardRef((_a, ref) => {
1290
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1291
+ return /* @__PURE__ */ jsxRuntime.jsx(
1292
+ "li",
1293
+ __spreadValues({
1294
+ ref,
1295
+ "data-sidebar": "menu-item",
1296
+ className: cn("group/menu-item relative", className)
1297
+ }, props)
1298
+ );
1299
+ });
1300
+ SidebarMenuItem.displayName = "SidebarMenuItem";
1301
+ var sidebarMenuButtonVariants = classVarianceAuthority.cva(
1302
+ "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
1303
+ {
1304
+ variants: {
1305
+ variant: {
1306
+ default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
1307
+ 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))]"
1308
+ },
1309
+ size: {
1310
+ default: "h-8 text-sm",
1311
+ sm: "h-7 text-xs",
1312
+ lg: "h-12 text-sm group-data-[collapsible=icon]:!p-0"
1313
+ }
1314
+ },
1315
+ defaultVariants: {
1316
+ variant: "default",
1317
+ size: "default"
1318
+ }
1319
+ }
1320
+ );
1321
+ var SidebarMenuButton = React12__namespace.forwardRef(
1322
+ (_a, ref) => {
1323
+ var _b = _a, {
1324
+ asChild = false,
1325
+ isActive = false,
1326
+ variant = "default",
1327
+ size = "default",
1328
+ tooltip,
1329
+ className
1330
+ } = _b, props = __objRest(_b, [
1331
+ "asChild",
1332
+ "isActive",
1333
+ "variant",
1334
+ "size",
1335
+ "tooltip",
1336
+ "className"
1337
+ ]);
1338
+ const Comp = asChild ? reactSlot.Slot : "button";
1339
+ const { isMobile, state } = useSidebar();
1340
+ const button = /* @__PURE__ */ jsxRuntime.jsx(
1341
+ Comp,
1342
+ __spreadValues({
1343
+ ref,
1344
+ "data-sidebar": "menu-button",
1345
+ "data-size": size,
1346
+ "data-active": isActive,
1347
+ className: cn(sidebarMenuButtonVariants({ variant, size }), className)
1348
+ }, props)
1349
+ );
1350
+ if (!tooltip) {
1351
+ return button;
1352
+ }
1353
+ if (typeof tooltip === "string") {
1354
+ tooltip = {
1355
+ children: tooltip
1356
+ };
1357
+ }
1358
+ return /* @__PURE__ */ jsxRuntime.jsxs(Tooltip, { children: [
1359
+ /* @__PURE__ */ jsxRuntime.jsx(TooltipTrigger, { asChild: true, children: button }),
1360
+ /* @__PURE__ */ jsxRuntime.jsx(
1361
+ TooltipContent,
1362
+ __spreadValues({
1363
+ side: "right",
1364
+ align: "center",
1365
+ hidden: state !== "collapsed" || isMobile
1366
+ }, tooltip)
1367
+ )
1368
+ ] });
1369
+ }
1370
+ );
1371
+ SidebarMenuButton.displayName = "SidebarMenuButton";
1372
+ var SidebarMenuAction = React12__namespace.forwardRef((_a, ref) => {
1373
+ var _b = _a, { className, asChild = false, showOnHover = false } = _b, props = __objRest(_b, ["className", "asChild", "showOnHover"]);
1374
+ const Comp = asChild ? reactSlot.Slot : "button";
1375
+ return /* @__PURE__ */ jsxRuntime.jsx(
1376
+ Comp,
1377
+ __spreadValues({
1378
+ ref,
1379
+ "data-sidebar": "menu-action",
1380
+ className: cn(
1381
+ "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",
1382
+ // Increases the hit area of the button on mobile.
1383
+ "after:absolute after:-inset-2 after:md:hidden",
1384
+ "peer-data-[size=sm]/menu-button:top-1",
1385
+ "peer-data-[size=default]/menu-button:top-1.5",
1386
+ "peer-data-[size=lg]/menu-button:top-2.5",
1387
+ "group-data-[collapsible=icon]:hidden",
1388
+ 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",
1389
+ className
1390
+ )
1391
+ }, props)
1392
+ );
1393
+ });
1394
+ SidebarMenuAction.displayName = "SidebarMenuAction";
1395
+ var SidebarMenuBadge = React12__namespace.forwardRef((_a, ref) => {
1396
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1397
+ return /* @__PURE__ */ jsxRuntime.jsx(
1398
+ "div",
1399
+ __spreadValues({
1400
+ ref,
1401
+ "data-sidebar": "menu-badge",
1402
+ className: cn(
1403
+ "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",
1404
+ "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground",
1405
+ "peer-data-[size=sm]/menu-button:top-1",
1406
+ "peer-data-[size=default]/menu-button:top-1.5",
1407
+ "peer-data-[size=lg]/menu-button:top-2.5",
1408
+ "group-data-[collapsible=icon]:hidden",
1409
+ className
1410
+ )
1411
+ }, props)
1412
+ );
1413
+ });
1414
+ SidebarMenuBadge.displayName = "SidebarMenuBadge";
1415
+ var SidebarMenuSkeleton = React12__namespace.forwardRef((_a, ref) => {
1416
+ var _b = _a, { className, showIcon = false } = _b, props = __objRest(_b, ["className", "showIcon"]);
1417
+ const width = React12__namespace.useMemo(() => {
1418
+ return `${Math.floor(Math.random() * 40) + 50}%`;
1419
+ }, []);
1420
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1421
+ "div",
1422
+ __spreadProps(__spreadValues({
1423
+ ref,
1424
+ "data-sidebar": "menu-skeleton",
1425
+ className: cn("flex h-8 items-center gap-2 rounded-md px-2", className)
1426
+ }, props), {
1427
+ children: [
1428
+ showIcon && /* @__PURE__ */ jsxRuntime.jsx(
1429
+ Skeleton,
1430
+ {
1431
+ className: "size-4 rounded-md",
1432
+ "data-sidebar": "menu-skeleton-icon"
1433
+ }
1434
+ ),
1435
+ /* @__PURE__ */ jsxRuntime.jsx(
1436
+ Skeleton,
1437
+ {
1438
+ className: "h-4 max-w-[--skeleton-width] flex-1",
1439
+ "data-sidebar": "menu-skeleton-text",
1440
+ style: {
1441
+ "--skeleton-width": width
1442
+ }
1443
+ }
1444
+ )
1445
+ ]
1446
+ })
1447
+ );
1448
+ });
1449
+ SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
1450
+ var SidebarMenuSub = React12__namespace.forwardRef((_a, ref) => {
1451
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1452
+ return /* @__PURE__ */ jsxRuntime.jsx(
1453
+ "ul",
1454
+ __spreadValues({
1455
+ ref,
1456
+ "data-sidebar": "menu-sub",
1457
+ className: cn(
1458
+ "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",
1459
+ "group-data-[collapsible=icon]:hidden",
1460
+ className
1461
+ )
1462
+ }, props)
1463
+ );
1464
+ });
1465
+ SidebarMenuSub.displayName = "SidebarMenuSub";
1466
+ var SidebarMenuSubItem = React12__namespace.forwardRef((_a, ref) => {
1467
+ var props = __objRest(_a, []);
1468
+ return /* @__PURE__ */ jsxRuntime.jsx("li", __spreadValues({ ref }, props));
1469
+ });
1470
+ SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
1471
+ var SidebarMenuSubButton = React12__namespace.forwardRef((_a, ref) => {
1472
+ var _b = _a, { asChild = false, size = "md", isActive, className } = _b, props = __objRest(_b, ["asChild", "size", "isActive", "className"]);
1473
+ const Comp = asChild ? reactSlot.Slot : "a";
1474
+ return /* @__PURE__ */ jsxRuntime.jsx(
1475
+ Comp,
1476
+ __spreadValues({
1477
+ ref,
1478
+ "data-sidebar": "menu-sub-button",
1479
+ "data-size": size,
1480
+ "data-active": isActive,
1481
+ className: cn(
1482
+ "flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
1483
+ "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
1484
+ size === "sm" && "text-xs",
1485
+ size === "md" && "text-sm",
1486
+ "group-data-[collapsible=icon]:hidden",
1487
+ className
1488
+ )
1489
+ }, props)
1490
+ );
1491
+ });
1492
+ SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
1493
+ var Tabs = TabsPrimitive__namespace.Root;
1494
+ var TabsList = React12__namespace.forwardRef((_a, ref) => {
1495
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1496
+ return /* @__PURE__ */ jsxRuntime.jsx(
1497
+ TabsPrimitive__namespace.List,
1498
+ __spreadValues({
1499
+ ref,
1500
+ className: cn(
1501
+ "inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",
1502
+ className
1503
+ )
1504
+ }, props)
1505
+ );
1506
+ });
1507
+ TabsList.displayName = TabsPrimitive__namespace.List.displayName;
1508
+ var TabsTrigger = React12__namespace.forwardRef((_a, ref) => {
1509
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1510
+ return /* @__PURE__ */ jsxRuntime.jsx(
1511
+ TabsPrimitive__namespace.Trigger,
1512
+ __spreadValues({
1513
+ ref,
1514
+ className: cn(
1515
+ "inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",
1516
+ className
1517
+ )
1518
+ }, props)
1519
+ );
1520
+ });
1521
+ TabsTrigger.displayName = TabsPrimitive__namespace.Trigger.displayName;
1522
+ var TabsContent = React12__namespace.forwardRef((_a, ref) => {
1523
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1524
+ return /* @__PURE__ */ jsxRuntime.jsx(
1525
+ TabsPrimitive__namespace.Content,
1526
+ __spreadValues({
1527
+ ref,
1528
+ className: cn(
1529
+ "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
1530
+ className
1531
+ )
1532
+ }, props)
1533
+ );
1534
+ });
1535
+ TabsContent.displayName = TabsPrimitive__namespace.Content.displayName;
1536
+ var defaultNavGroups = [
1537
+ {
1538
+ label: "Main",
1539
+ items: [
1540
+ { title: "Dashboard", url: "/partner/dashboard", icon: lucideReact.LayoutDashboard },
1541
+ {
1542
+ title: "Offers",
1543
+ url: "/partner/offers",
1544
+ icon: lucideReact.Tag,
1545
+ items: [
1546
+ { title: "Active Offers", url: "/partner/offers?status=active" },
1547
+ { title: "Draft Offers", url: "/partner/offers?status=draft" },
1548
+ { title: "Archived", url: "/partner/offers?status=archived" }
1549
+ ]
1550
+ },
1551
+ { title: "Events", url: "/partner/events", icon: lucideReact.Calendar },
1552
+ { title: "Contracts", url: "/partner/contracts", icon: lucideReact.FileText }
1553
+ ]
1554
+ }
1555
+ ];
1556
+ function OfflineAppIcon() {
1557
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex aspect-square size-8 items-center justify-center rounded-lg overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
1558
+ "img",
1559
+ {
1560
+ src: "https://premium-production.s3.us-east-1.amazonaws.com/public-assets/icon-styles/icon-white-on-black.svg",
1561
+ alt: "Offline",
1562
+ width: 32,
1563
+ height: 32,
1564
+ className: "size-8"
1565
+ }
1566
+ ) });
1567
+ }
1568
+ function WorkspaceHeader({
1569
+ workspace,
1570
+ workspaces,
1571
+ onWorkspaceChange
1572
+ }) {
1573
+ const { state } = useSidebar();
1574
+ const isCollapsed = state === "collapsed";
1575
+ const defaultWorkspace = {
1576
+ name: "Partner App",
1577
+ subtitle: "Offline"
1578
+ };
1579
+ const currentWorkspace = workspace || defaultWorkspace;
1580
+ const hasMultipleWorkspaces = workspaces && workspaces.length > 1;
1581
+ const content = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1582
+ /* @__PURE__ */ jsxRuntime.jsx(OfflineAppIcon, {}),
1583
+ !isCollapsed && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [
1584
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate font-semibold", children: currentWorkspace.name }),
1585
+ currentWorkspace.subtitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-xs text-sidebar-foreground/70", children: currentWorkspace.subtitle })
1586
+ ] }),
1587
+ !isCollapsed && hasMultipleWorkspaces && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronsUpDown, { className: "ml-auto size-4" })
1588
+ ] });
1589
+ if (!hasMultipleWorkspaces) {
1590
+ return /* @__PURE__ */ jsxRuntime.jsx(SidebarMenu, { children: /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuButton, { size: "lg", className: "cursor-default hover:bg-transparent", children: content }) }) });
1591
+ }
1592
+ return /* @__PURE__ */ jsxRuntime.jsx(SidebarMenu, { children: /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { children: [
1593
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
1594
+ SidebarMenuButton,
1595
+ {
1596
+ size: "lg",
1597
+ className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",
1598
+ children: content
1599
+ }
1600
+ ) }),
1601
+ /* @__PURE__ */ jsxRuntime.jsx(
1602
+ DropdownMenuContent,
1603
+ {
1604
+ className: "w-[--radix-dropdown-menu-trigger-width] min-w-56 rounded-lg",
1605
+ align: "start",
1606
+ side: isCollapsed ? "right" : "bottom",
1607
+ sideOffset: 4,
1608
+ children: workspaces == null ? void 0 : workspaces.map((ws) => /* @__PURE__ */ jsxRuntime.jsxs(
1609
+ DropdownMenuItem,
1610
+ {
1611
+ onClick: () => onWorkspaceChange == null ? void 0 : onWorkspaceChange(ws),
1612
+ className: "gap-2 p-2",
1613
+ children: [
1614
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-6 items-center justify-center rounded-sm border", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium", children: ws.name[0] }) }),
1615
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
1616
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: ws.name }),
1617
+ ws.subtitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", children: ws.subtitle })
1618
+ ] })
1619
+ ]
1620
+ },
1621
+ ws.name
1622
+ ))
1623
+ }
1624
+ )
1625
+ ] }) }) });
1626
+ }
1627
+ function CollapsibleNavItem({ item }) {
1628
+ var _a, _b, _c;
1629
+ const pathname = navigation.usePathname();
1630
+ const isActive = (_a = item.isActive) != null ? _a : pathname === item.url;
1631
+ const hasActiveChild = (_b = item.items) == null ? void 0 : _b.some(
1632
+ (subItem) => {
1633
+ var _a2;
1634
+ return (_a2 = subItem.isActive) != null ? _a2 : pathname === subItem.url;
1635
+ }
1636
+ );
1637
+ return /* @__PURE__ */ jsxRuntime.jsx(
1638
+ Collapsible,
1639
+ {
1640
+ asChild: true,
1641
+ defaultOpen: isActive || hasActiveChild,
1642
+ className: "group/collapsible",
1643
+ children: /* @__PURE__ */ jsxRuntime.jsxs(SidebarMenuItem, { children: [
1644
+ /* @__PURE__ */ jsxRuntime.jsx(CollapsibleTrigger2, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(SidebarMenuButton, { tooltip: item.title, isActive: isActive && !hasActiveChild, children: [
1645
+ /* @__PURE__ */ jsxRuntime.jsx(item.icon, { className: "size-4" }),
1646
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: item.title }),
1647
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "ml-auto size-4 transition-transform duration-200 group-data-[state=open]/collapsible:rotate-180" })
1648
+ ] }) }),
1649
+ /* @__PURE__ */ jsxRuntime.jsx(CollapsibleContent2, { children: /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuSub, { children: (_c = item.items) == null ? void 0 : _c.map((subItem) => {
1650
+ var _a2;
1651
+ const subIsActive = (_a2 = subItem.isActive) != null ? _a2 : pathname === subItem.url;
1652
+ return /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuSubItem, { children: /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuSubButton, { asChild: true, isActive: subIsActive, children: /* @__PURE__ */ jsxRuntime.jsx(Link__default.default, { href: subItem.url, children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: subItem.title }) }) }) }, subItem.title);
1653
+ }) }) })
1654
+ ] })
1655
+ }
1656
+ );
1657
+ }
1658
+ function SimpleNavItem({ item }) {
1659
+ var _a, _b, _c;
1660
+ const pathname = navigation.usePathname();
1661
+ const isActive = (_a = item.isActive) != null ? _a : pathname === item.url;
1662
+ const badgeStr = (_c = (_b = item.badge) == null ? void 0 : _b.toString()) != null ? _c : "";
1663
+ const isSingleChar = badgeStr.length === 1;
1664
+ return /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuButton, { asChild: true, isActive, tooltip: item.title, children: /* @__PURE__ */ jsxRuntime.jsxs(Link__default.default, { href: item.url, children: [
1665
+ /* @__PURE__ */ jsxRuntime.jsx(item.icon, { className: "size-4" }),
1666
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: item.title }),
1667
+ item.badge && /* @__PURE__ */ jsxRuntime.jsx(
1668
+ "span",
1669
+ {
1670
+ className: `ml-auto text-xs font-medium bg-sidebar-primary text-sidebar-primary-foreground ${isSingleChar ? "size-5 flex items-center justify-center rounded-full" : "px-2 py-0.5 rounded-full"}`,
1671
+ children: item.badge
1672
+ }
1673
+ )
1674
+ ] }) }) });
1675
+ }
1676
+ function NavGroupComponent({ group }) {
1677
+ return /* @__PURE__ */ jsxRuntime.jsxs(SidebarGroup, { children: [
1678
+ /* @__PURE__ */ jsxRuntime.jsx(SidebarGroupLabel, { children: group.label }),
1679
+ /* @__PURE__ */ jsxRuntime.jsx(SidebarGroupContent, { children: /* @__PURE__ */ jsxRuntime.jsx(SidebarMenu, { children: group.items.map(
1680
+ (item) => item.items && item.items.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(CollapsibleNavItem, { item }, item.title) : /* @__PURE__ */ jsxRuntime.jsx(SimpleNavItem, { item }, item.title)
1681
+ ) }) })
1682
+ ] });
1683
+ }
1684
+ function UserFooter({
1685
+ user,
1686
+ onLogout,
1687
+ onSettings,
1688
+ onHelp
1689
+ }) {
1690
+ const { state } = useSidebar();
1691
+ const isCollapsed = state === "collapsed";
1692
+ if (!user) return null;
1693
+ return /* @__PURE__ */ jsxRuntime.jsx(SidebarMenu, { children: /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { children: [
1694
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
1695
+ SidebarMenuButton,
1696
+ {
1697
+ size: "lg",
1698
+ className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",
1699
+ children: [
1700
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-accent text-sidebar-accent-foreground", children: user.avatar ? /* @__PURE__ */ jsxRuntime.jsx(
1701
+ Image2__default.default,
1702
+ {
1703
+ src: user.avatar,
1704
+ alt: user.name,
1705
+ width: 32,
1706
+ height: 32,
1707
+ className: "size-full rounded-lg object-cover"
1708
+ }
1709
+ ) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.User2, { className: "size-4" }) }),
1710
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [
1711
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate font-semibold", children: user.name }),
1712
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-xs text-sidebar-foreground/70", children: user.email })
1713
+ ] }),
1714
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { className: "ml-auto size-4" })
1715
+ ]
1716
+ }
1717
+ ) }),
1718
+ /* @__PURE__ */ jsxRuntime.jsxs(
1719
+ DropdownMenuContent,
1720
+ {
1721
+ className: "w-[--radix-dropdown-menu-trigger-width] min-w-56 rounded-lg",
1722
+ side: isCollapsed ? "right" : "top",
1723
+ align: "end",
1724
+ sideOffset: 4,
1725
+ children: [
1726
+ onHelp && /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: onHelp, children: [
1727
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.HelpCircle, { className: "mr-2 size-4" }),
1728
+ "Help & Support"
1729
+ ] }),
1730
+ onSettings && /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: onSettings, children: [
1731
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Settings, { className: "mr-2 size-4" }),
1732
+ "Settings"
1733
+ ] }),
1734
+ (onHelp || onSettings) && onLogout && /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
1735
+ onLogout && /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onClick: onLogout, children: [
1736
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LogOut, { className: "mr-2 size-4" }),
1737
+ "Log out"
1738
+ ] })
1739
+ ]
1740
+ }
1741
+ )
1742
+ ] }) }) });
1743
+ }
1744
+ function OfflineTopbar({ children }) {
1745
+ return /* @__PURE__ */ jsxRuntime.jsxs("header", { className: "flex h-16 shrink-0 items-center gap-2 border-b px-4 md:px-6", children: [
1746
+ /* @__PURE__ */ jsxRuntime.jsx(SidebarTrigger, { className: "-ml-1" }),
1747
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1", children })
1748
+ ] });
1749
+ }
1750
+ function OfflineSidebar({
1751
+ navGroups,
1752
+ navItems,
1753
+ user,
1754
+ workspace,
1755
+ workspaces,
1756
+ defaultCollapsed = false,
1757
+ onLogout,
1758
+ onSettings,
1759
+ onHelp,
1760
+ onWorkspaceChange,
1761
+ children
1762
+ }) {
1763
+ const groups = navGroups || (navItems ? [{ label: "Navigation", items: navItems }] : defaultNavGroups);
1764
+ return /* @__PURE__ */ jsxRuntime.jsxs(SidebarProvider, { defaultOpen: !defaultCollapsed, children: [
1765
+ /* @__PURE__ */ jsxRuntime.jsxs(Sidebar, { collapsible: "icon", className: "border-r-0", children: [
1766
+ /* @__PURE__ */ jsxRuntime.jsx(SidebarHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(
1767
+ WorkspaceHeader,
1768
+ {
1769
+ workspace,
1770
+ workspaces,
1771
+ onWorkspaceChange
1772
+ }
1773
+ ) }),
1774
+ /* @__PURE__ */ jsxRuntime.jsx(SidebarContent, { children: groups.map((group) => /* @__PURE__ */ jsxRuntime.jsx(NavGroupComponent, { group }, group.label)) }),
1775
+ /* @__PURE__ */ jsxRuntime.jsx(SidebarFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(
1776
+ UserFooter,
1777
+ {
1778
+ user,
1779
+ onLogout,
1780
+ onSettings,
1781
+ onHelp
1782
+ }
1783
+ ) }),
1784
+ /* @__PURE__ */ jsxRuntime.jsx(SidebarRail, {})
1785
+ ] }),
1786
+ /* @__PURE__ */ jsxRuntime.jsxs(SidebarInset, { children: [
1787
+ /* @__PURE__ */ jsxRuntime.jsx(OfflineTopbar, {}),
1788
+ /* @__PURE__ */ jsxRuntime.jsx("main", { className: "flex-1 overflow-auto", children })
1789
+ ] })
1790
+ ] });
1791
+ }
1792
+
1793
+ exports.Avatar = Avatar;
1794
+ exports.AvatarFallback = AvatarFallback;
1795
+ exports.AvatarImage = AvatarImage;
1796
+ exports.Badge = Badge;
1797
+ exports.Button = Button;
1798
+ exports.Card = Card;
1799
+ exports.CardContent = CardContent;
1800
+ exports.CardDescription = CardDescription;
1801
+ exports.CardFooter = CardFooter;
1802
+ exports.CardHeader = CardHeader;
1803
+ exports.CardTitle = CardTitle;
1804
+ exports.Collapsible = Collapsible;
1805
+ exports.CollapsibleContent = CollapsibleContent2;
1806
+ exports.CollapsibleNavItem = CollapsibleNavItem;
1807
+ exports.CollapsibleTrigger = CollapsibleTrigger2;
1808
+ exports.Dialog = Dialog;
1809
+ exports.DialogClose = DialogClose;
1810
+ exports.DialogContent = DialogContent;
1811
+ exports.DialogDescription = DialogDescription;
1812
+ exports.DialogFooter = DialogFooter;
1813
+ exports.DialogHeader = DialogHeader;
1814
+ exports.DialogOverlay = DialogOverlay;
1815
+ exports.DialogPortal = DialogPortal;
1816
+ exports.DialogTitle = DialogTitle;
1817
+ exports.DialogTrigger = DialogTrigger;
1818
+ exports.DropdownMenu = DropdownMenu;
1819
+ exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem;
1820
+ exports.DropdownMenuContent = DropdownMenuContent;
1821
+ exports.DropdownMenuGroup = DropdownMenuGroup;
1822
+ exports.DropdownMenuItem = DropdownMenuItem;
1823
+ exports.DropdownMenuLabel = DropdownMenuLabel;
1824
+ exports.DropdownMenuPortal = DropdownMenuPortal;
1825
+ exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup;
1826
+ exports.DropdownMenuRadioItem = DropdownMenuRadioItem;
1827
+ exports.DropdownMenuSeparator = DropdownMenuSeparator;
1828
+ exports.DropdownMenuShortcut = DropdownMenuShortcut;
1829
+ exports.DropdownMenuSub = DropdownMenuSub;
1830
+ exports.DropdownMenuSubContent = DropdownMenuSubContent;
1831
+ exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger;
1832
+ exports.DropdownMenuTrigger = DropdownMenuTrigger;
1833
+ exports.Input = Input;
1834
+ exports.Item = Item2;
1835
+ exports.ItemActions = ItemActions;
1836
+ exports.ItemContent = ItemContent;
1837
+ exports.ItemDescription = ItemDescription;
1838
+ exports.ItemFooter = ItemFooter;
1839
+ exports.ItemGroup = ItemGroup;
1840
+ exports.ItemHeader = ItemHeader;
1841
+ exports.ItemMedia = ItemMedia;
1842
+ exports.ItemSeparator = ItemSeparator;
1843
+ exports.ItemTitle = ItemTitle;
1844
+ exports.Label = Label2;
1845
+ exports.NavGroupComponent = NavGroupComponent;
1846
+ exports.OfflineAppIcon = OfflineAppIcon;
1847
+ exports.OfflineSidebar = OfflineSidebar;
1848
+ exports.OfflineTopbar = OfflineTopbar;
1849
+ exports.Separator = Separator2;
1850
+ exports.Sheet = Sheet;
1851
+ exports.SheetClose = SheetClose;
1852
+ exports.SheetContent = SheetContent;
1853
+ exports.SheetDescription = SheetDescription;
1854
+ exports.SheetFooter = SheetFooter;
1855
+ exports.SheetHeader = SheetHeader;
1856
+ exports.SheetOverlay = SheetOverlay;
1857
+ exports.SheetPortal = SheetPortal;
1858
+ exports.SheetTitle = SheetTitle;
1859
+ exports.SheetTrigger = SheetTrigger;
1860
+ exports.Sidebar = Sidebar;
1861
+ exports.SidebarContent = SidebarContent;
1862
+ exports.SidebarFooter = SidebarFooter;
1863
+ exports.SidebarGroup = SidebarGroup;
1864
+ exports.SidebarGroupAction = SidebarGroupAction;
1865
+ exports.SidebarGroupContent = SidebarGroupContent;
1866
+ exports.SidebarGroupLabel = SidebarGroupLabel;
1867
+ exports.SidebarHeader = SidebarHeader;
1868
+ exports.SidebarInput = SidebarInput;
1869
+ exports.SidebarInset = SidebarInset;
1870
+ exports.SidebarMenu = SidebarMenu;
1871
+ exports.SidebarMenuAction = SidebarMenuAction;
1872
+ exports.SidebarMenuBadge = SidebarMenuBadge;
1873
+ exports.SidebarMenuButton = SidebarMenuButton;
1874
+ exports.SidebarMenuItem = SidebarMenuItem;
1875
+ exports.SidebarMenuSkeleton = SidebarMenuSkeleton;
1876
+ exports.SidebarMenuSub = SidebarMenuSub;
1877
+ exports.SidebarMenuSubButton = SidebarMenuSubButton;
1878
+ exports.SidebarMenuSubItem = SidebarMenuSubItem;
1879
+ exports.SidebarProvider = SidebarProvider;
1880
+ exports.SidebarRail = SidebarRail;
1881
+ exports.SidebarSeparator = SidebarSeparator;
1882
+ exports.SidebarTrigger = SidebarTrigger;
1883
+ exports.SimpleNavItem = SimpleNavItem;
1884
+ exports.Skeleton = Skeleton;
1885
+ exports.Tabs = Tabs;
1886
+ exports.TabsContent = TabsContent;
1887
+ exports.TabsList = TabsList;
1888
+ exports.TabsTrigger = TabsTrigger;
1889
+ exports.Tooltip = Tooltip;
1890
+ exports.TooltipContent = TooltipContent;
1891
+ exports.TooltipProvider = TooltipProvider;
1892
+ exports.TooltipTrigger = TooltipTrigger;
1893
+ exports.UserFooter = UserFooter;
1894
+ exports.WorkspaceHeader = WorkspaceHeader;
1895
+ exports.badgeVariants = badgeVariants;
1896
+ exports.buttonVariants = buttonVariants;
1897
+ exports.cn = cn;
1898
+ exports.useIsMobile = useIsMobile;
1899
+ exports.useSidebar = useSidebar;
1900
+ //# sourceMappingURL=index.cjs.map
1901
+ //# sourceMappingURL=index.cjs.map