@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/README.md +152 -0
- package/dist/index.cjs +1901 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +355 -0
- package/dist/index.d.ts +355 -0
- package/dist/index.js +1761 -0
- package/dist/index.js.map +1 -0
- package/dist/styles.css +313 -0
- package/package.json +99 -0
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
|