@digilogiclabs/saas-factory-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 +172 -0
- package/dist/index.css +1593 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.mts +198 -0
- package/dist/index.d.ts +198 -0
- package/dist/index.js +1335 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +1222 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +107 -0
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,1222 @@
|
|
|
1
|
+
import * as React7 from 'react';
|
|
2
|
+
import { useState, useEffect, useLayoutEffect } from 'react';
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
4
|
+
import { clsx } from 'clsx';
|
|
5
|
+
import { twMerge } from 'tailwind-merge';
|
|
6
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
|
+
import * as AvatarPrimitive from '@radix-ui/react-avatar';
|
|
8
|
+
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
9
|
+
import { Check, X, ChevronRight, Circle, ChevronDown, ChevronUp } from 'lucide-react';
|
|
10
|
+
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
11
|
+
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
12
|
+
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
13
|
+
import * as ProgressPrimitive from '@radix-ui/react-progress';
|
|
14
|
+
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
15
|
+
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
16
|
+
import * as ToastPrimitives from '@radix-ui/react-toast';
|
|
17
|
+
|
|
18
|
+
var __defProp = Object.defineProperty;
|
|
19
|
+
var __defProps = Object.defineProperties;
|
|
20
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
21
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
22
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
23
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
24
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
25
|
+
var __spreadValues = (a, b) => {
|
|
26
|
+
for (var prop in b || (b = {}))
|
|
27
|
+
if (__hasOwnProp.call(b, prop))
|
|
28
|
+
__defNormalProp(a, prop, b[prop]);
|
|
29
|
+
if (__getOwnPropSymbols)
|
|
30
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
31
|
+
if (__propIsEnum.call(b, prop))
|
|
32
|
+
__defNormalProp(a, prop, b[prop]);
|
|
33
|
+
}
|
|
34
|
+
return a;
|
|
35
|
+
};
|
|
36
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
37
|
+
var __objRest = (source, exclude) => {
|
|
38
|
+
var target = {};
|
|
39
|
+
for (var prop in source)
|
|
40
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
41
|
+
target[prop] = source[prop];
|
|
42
|
+
if (source != null && __getOwnPropSymbols)
|
|
43
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
44
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
45
|
+
target[prop] = source[prop];
|
|
46
|
+
}
|
|
47
|
+
return target;
|
|
48
|
+
};
|
|
49
|
+
function cn(...inputs) {
|
|
50
|
+
return twMerge(clsx(inputs));
|
|
51
|
+
}
|
|
52
|
+
var alertVariants = cva(
|
|
53
|
+
"relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",
|
|
54
|
+
{
|
|
55
|
+
variants: {
|
|
56
|
+
variant: {
|
|
57
|
+
default: "bg-background text-foreground",
|
|
58
|
+
destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive",
|
|
59
|
+
success: "border-green-500/50 text-green-600 dark:text-green-400 [&>svg]:text-green-600",
|
|
60
|
+
warning: "border-yellow-500/50 text-yellow-600 dark:text-yellow-400 [&>svg]:text-yellow-600",
|
|
61
|
+
info: "border-blue-500/50 text-blue-600 dark:text-blue-400 [&>svg]:text-blue-600"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
defaultVariants: {
|
|
65
|
+
variant: "default"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
);
|
|
69
|
+
var Alert = React7.forwardRef((_a, ref) => {
|
|
70
|
+
var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
|
|
71
|
+
return /* @__PURE__ */ jsx(
|
|
72
|
+
"div",
|
|
73
|
+
__spreadValues({
|
|
74
|
+
ref,
|
|
75
|
+
role: "alert",
|
|
76
|
+
className: cn(alertVariants({ variant }), className)
|
|
77
|
+
}, props)
|
|
78
|
+
);
|
|
79
|
+
});
|
|
80
|
+
Alert.displayName = "Alert";
|
|
81
|
+
var AlertTitle = React7.forwardRef((_a, ref) => {
|
|
82
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
83
|
+
return /* @__PURE__ */ jsx(
|
|
84
|
+
"h5",
|
|
85
|
+
__spreadValues({
|
|
86
|
+
ref,
|
|
87
|
+
className: cn("mb-1 font-medium leading-none tracking-tight", className)
|
|
88
|
+
}, props)
|
|
89
|
+
);
|
|
90
|
+
});
|
|
91
|
+
AlertTitle.displayName = "AlertTitle";
|
|
92
|
+
var AlertDescription = React7.forwardRef((_a, ref) => {
|
|
93
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
94
|
+
return /* @__PURE__ */ jsx(
|
|
95
|
+
"div",
|
|
96
|
+
__spreadValues({
|
|
97
|
+
ref,
|
|
98
|
+
className: cn("text-sm [&_p]:leading-relaxed", className)
|
|
99
|
+
}, props)
|
|
100
|
+
);
|
|
101
|
+
});
|
|
102
|
+
AlertDescription.displayName = "AlertDescription";
|
|
103
|
+
var Avatar = React7.forwardRef((_a, ref) => {
|
|
104
|
+
var _b = _a, { className, size = "md" } = _b, props = __objRest(_b, ["className", "size"]);
|
|
105
|
+
const sizeClasses = {
|
|
106
|
+
sm: "h-8 w-8",
|
|
107
|
+
md: "h-10 w-10",
|
|
108
|
+
lg: "h-12 w-12",
|
|
109
|
+
xl: "h-16 w-16"
|
|
110
|
+
};
|
|
111
|
+
return /* @__PURE__ */ jsx(
|
|
112
|
+
AvatarPrimitive.Root,
|
|
113
|
+
__spreadValues({
|
|
114
|
+
ref,
|
|
115
|
+
className: cn(
|
|
116
|
+
"relative flex shrink-0 overflow-hidden rounded-full",
|
|
117
|
+
sizeClasses[size],
|
|
118
|
+
className
|
|
119
|
+
)
|
|
120
|
+
}, props)
|
|
121
|
+
);
|
|
122
|
+
});
|
|
123
|
+
Avatar.displayName = AvatarPrimitive.Root.displayName;
|
|
124
|
+
var AvatarImage = React7.forwardRef((_a, ref) => {
|
|
125
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
126
|
+
return /* @__PURE__ */ jsx(
|
|
127
|
+
AvatarPrimitive.Image,
|
|
128
|
+
__spreadValues({
|
|
129
|
+
ref,
|
|
130
|
+
className: cn("aspect-square h-full w-full", className)
|
|
131
|
+
}, props)
|
|
132
|
+
);
|
|
133
|
+
});
|
|
134
|
+
AvatarImage.displayName = AvatarPrimitive.Image.displayName;
|
|
135
|
+
var AvatarFallback = React7.forwardRef((_a, ref) => {
|
|
136
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
137
|
+
return /* @__PURE__ */ jsx(
|
|
138
|
+
AvatarPrimitive.Fallback,
|
|
139
|
+
__spreadValues({
|
|
140
|
+
ref,
|
|
141
|
+
className: cn(
|
|
142
|
+
"flex h-full w-full items-center justify-center rounded-full bg-muted",
|
|
143
|
+
className
|
|
144
|
+
)
|
|
145
|
+
}, props)
|
|
146
|
+
);
|
|
147
|
+
});
|
|
148
|
+
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
|
|
149
|
+
var badgeVariants = cva(
|
|
150
|
+
"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
151
|
+
{
|
|
152
|
+
variants: {
|
|
153
|
+
variant: {
|
|
154
|
+
default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
|
|
155
|
+
secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
156
|
+
destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
|
|
157
|
+
outline: "text-foreground",
|
|
158
|
+
success: "border-transparent bg-green-500 text-white hover:bg-green-600",
|
|
159
|
+
warning: "border-transparent bg-yellow-500 text-white hover:bg-yellow-600",
|
|
160
|
+
info: "border-transparent bg-blue-500 text-white hover:bg-blue-600"
|
|
161
|
+
},
|
|
162
|
+
size: {
|
|
163
|
+
default: "px-2.5 py-0.5 text-xs",
|
|
164
|
+
sm: "px-2 py-0.5 text-xs",
|
|
165
|
+
lg: "px-3 py-1 text-sm"
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
defaultVariants: {
|
|
169
|
+
variant: "default",
|
|
170
|
+
size: "default"
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
);
|
|
174
|
+
function Badge(_a) {
|
|
175
|
+
var _b = _a, {
|
|
176
|
+
className,
|
|
177
|
+
variant,
|
|
178
|
+
size,
|
|
179
|
+
removable,
|
|
180
|
+
onRemove,
|
|
181
|
+
children
|
|
182
|
+
} = _b, props = __objRest(_b, [
|
|
183
|
+
"className",
|
|
184
|
+
"variant",
|
|
185
|
+
"size",
|
|
186
|
+
"removable",
|
|
187
|
+
"onRemove",
|
|
188
|
+
"children"
|
|
189
|
+
]);
|
|
190
|
+
return /* @__PURE__ */ jsxs("div", __spreadProps(__spreadValues({ className: cn(badgeVariants({ variant, size }), className) }, props), { children: [
|
|
191
|
+
children,
|
|
192
|
+
removable && /* @__PURE__ */ jsx(
|
|
193
|
+
"button",
|
|
194
|
+
{
|
|
195
|
+
className: "ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
196
|
+
onClick: onRemove,
|
|
197
|
+
children: /* @__PURE__ */ jsx(
|
|
198
|
+
"svg",
|
|
199
|
+
{
|
|
200
|
+
className: "h-3 w-3 opacity-60 hover:opacity-100",
|
|
201
|
+
fill: "none",
|
|
202
|
+
stroke: "currentColor",
|
|
203
|
+
viewBox: "0 0 24 24",
|
|
204
|
+
children: /* @__PURE__ */ jsx(
|
|
205
|
+
"path",
|
|
206
|
+
{
|
|
207
|
+
strokeLinecap: "round",
|
|
208
|
+
strokeLinejoin: "round",
|
|
209
|
+
strokeWidth: 2,
|
|
210
|
+
d: "M6 18L18 6M6 6l12 12"
|
|
211
|
+
}
|
|
212
|
+
)
|
|
213
|
+
}
|
|
214
|
+
)
|
|
215
|
+
}
|
|
216
|
+
)
|
|
217
|
+
] }));
|
|
218
|
+
}
|
|
219
|
+
var buttonVariants = cva(
|
|
220
|
+
"inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
|
|
221
|
+
{
|
|
222
|
+
variants: {
|
|
223
|
+
variant: {
|
|
224
|
+
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
225
|
+
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
|
226
|
+
outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
|
|
227
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
228
|
+
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
229
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
230
|
+
},
|
|
231
|
+
size: {
|
|
232
|
+
default: "h-10 px-4 py-2",
|
|
233
|
+
sm: "h-9 rounded-md px-3",
|
|
234
|
+
lg: "h-11 rounded-md px-8",
|
|
235
|
+
icon: "h-10 w-10"
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
defaultVariants: {
|
|
239
|
+
variant: "default",
|
|
240
|
+
size: "default"
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
);
|
|
244
|
+
var Button = React7.forwardRef(
|
|
245
|
+
(_a, ref) => {
|
|
246
|
+
var _b = _a, { className, variant, size, asChild = false } = _b, props = __objRest(_b, ["className", "variant", "size", "asChild"]);
|
|
247
|
+
return /* @__PURE__ */ jsx(
|
|
248
|
+
"button",
|
|
249
|
+
__spreadValues({
|
|
250
|
+
className: cn(buttonVariants({ variant, size, className })),
|
|
251
|
+
ref
|
|
252
|
+
}, props)
|
|
253
|
+
);
|
|
254
|
+
}
|
|
255
|
+
);
|
|
256
|
+
Button.displayName = "Button";
|
|
257
|
+
var Card = React7.forwardRef((_a, ref) => {
|
|
258
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
259
|
+
return /* @__PURE__ */ jsx(
|
|
260
|
+
"div",
|
|
261
|
+
__spreadValues({
|
|
262
|
+
ref,
|
|
263
|
+
className: cn(
|
|
264
|
+
"rounded-lg border bg-card text-card-foreground shadow-sm",
|
|
265
|
+
className
|
|
266
|
+
)
|
|
267
|
+
}, props)
|
|
268
|
+
);
|
|
269
|
+
});
|
|
270
|
+
Card.displayName = "Card";
|
|
271
|
+
var CardHeader = React7.forwardRef((_a, ref) => {
|
|
272
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
273
|
+
return /* @__PURE__ */ jsx(
|
|
274
|
+
"div",
|
|
275
|
+
__spreadValues({
|
|
276
|
+
ref,
|
|
277
|
+
className: cn("flex flex-col space-y-1.5 p-6", className)
|
|
278
|
+
}, props)
|
|
279
|
+
);
|
|
280
|
+
});
|
|
281
|
+
CardHeader.displayName = "CardHeader";
|
|
282
|
+
var CardTitle = React7.forwardRef((_a, ref) => {
|
|
283
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
284
|
+
return /* @__PURE__ */ jsx(
|
|
285
|
+
"h3",
|
|
286
|
+
__spreadValues({
|
|
287
|
+
ref,
|
|
288
|
+
className: cn(
|
|
289
|
+
"text-2xl font-semibold leading-none tracking-tight",
|
|
290
|
+
className
|
|
291
|
+
)
|
|
292
|
+
}, props)
|
|
293
|
+
);
|
|
294
|
+
});
|
|
295
|
+
CardTitle.displayName = "CardTitle";
|
|
296
|
+
var CardDescription = React7.forwardRef((_a, ref) => {
|
|
297
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
298
|
+
return /* @__PURE__ */ jsx(
|
|
299
|
+
"p",
|
|
300
|
+
__spreadValues({
|
|
301
|
+
ref,
|
|
302
|
+
className: cn("text-sm text-muted-foreground", className)
|
|
303
|
+
}, props)
|
|
304
|
+
);
|
|
305
|
+
});
|
|
306
|
+
CardDescription.displayName = "CardDescription";
|
|
307
|
+
var CardContent = React7.forwardRef((_a, ref) => {
|
|
308
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
309
|
+
return /* @__PURE__ */ jsx("div", __spreadValues({ ref, className: cn("p-6 pt-0", className) }, props));
|
|
310
|
+
});
|
|
311
|
+
CardContent.displayName = "CardContent";
|
|
312
|
+
var CardFooter = React7.forwardRef((_a, ref) => {
|
|
313
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
314
|
+
return /* @__PURE__ */ jsx(
|
|
315
|
+
"div",
|
|
316
|
+
__spreadValues({
|
|
317
|
+
ref,
|
|
318
|
+
className: cn("flex items-center p-6 pt-0", className)
|
|
319
|
+
}, props)
|
|
320
|
+
);
|
|
321
|
+
});
|
|
322
|
+
CardFooter.displayName = "CardFooter";
|
|
323
|
+
var Checkbox = React7.forwardRef((_a, ref) => {
|
|
324
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
325
|
+
return /* @__PURE__ */ jsx(
|
|
326
|
+
CheckboxPrimitive.Root,
|
|
327
|
+
__spreadProps(__spreadValues({
|
|
328
|
+
ref,
|
|
329
|
+
className: cn(
|
|
330
|
+
"peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",
|
|
331
|
+
className
|
|
332
|
+
)
|
|
333
|
+
}, props), {
|
|
334
|
+
children: /* @__PURE__ */ jsx(
|
|
335
|
+
CheckboxPrimitive.Indicator,
|
|
336
|
+
{
|
|
337
|
+
className: cn("flex items-center justify-center text-current"),
|
|
338
|
+
children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" })
|
|
339
|
+
}
|
|
340
|
+
)
|
|
341
|
+
})
|
|
342
|
+
);
|
|
343
|
+
});
|
|
344
|
+
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
345
|
+
var Dialog = DialogPrimitive.Root;
|
|
346
|
+
var DialogTrigger = DialogPrimitive.Trigger;
|
|
347
|
+
var DialogPortal = DialogPrimitive.Portal;
|
|
348
|
+
var DialogClose = DialogPrimitive.Close;
|
|
349
|
+
var DialogOverlay = React7.forwardRef((_a, ref) => {
|
|
350
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
351
|
+
return /* @__PURE__ */ jsx(
|
|
352
|
+
DialogPrimitive.Overlay,
|
|
353
|
+
__spreadValues({
|
|
354
|
+
ref,
|
|
355
|
+
className: cn(
|
|
356
|
+
"fixed inset-0 z-50 bg-black/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
357
|
+
className
|
|
358
|
+
)
|
|
359
|
+
}, props)
|
|
360
|
+
);
|
|
361
|
+
});
|
|
362
|
+
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
363
|
+
var DialogContent = React7.forwardRef((_a, ref) => {
|
|
364
|
+
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
365
|
+
return /* @__PURE__ */ jsxs(DialogPortal, { children: [
|
|
366
|
+
/* @__PURE__ */ jsx(DialogOverlay, {}),
|
|
367
|
+
/* @__PURE__ */ jsxs(
|
|
368
|
+
DialogPrimitive.Content,
|
|
369
|
+
__spreadProps(__spreadValues({
|
|
370
|
+
ref,
|
|
371
|
+
className: cn(
|
|
372
|
+
"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 duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
|
|
373
|
+
className
|
|
374
|
+
)
|
|
375
|
+
}, props), {
|
|
376
|
+
children: [
|
|
377
|
+
children,
|
|
378
|
+
/* @__PURE__ */ jsxs(DialogPrimitive.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: [
|
|
379
|
+
/* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
|
|
380
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
381
|
+
] })
|
|
382
|
+
]
|
|
383
|
+
})
|
|
384
|
+
)
|
|
385
|
+
] });
|
|
386
|
+
});
|
|
387
|
+
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
388
|
+
var DialogHeader = (_a) => {
|
|
389
|
+
var _b = _a, {
|
|
390
|
+
className
|
|
391
|
+
} = _b, props = __objRest(_b, [
|
|
392
|
+
"className"
|
|
393
|
+
]);
|
|
394
|
+
return /* @__PURE__ */ jsx(
|
|
395
|
+
"div",
|
|
396
|
+
__spreadValues({
|
|
397
|
+
className: cn(
|
|
398
|
+
"flex flex-col space-y-1.5 text-center sm:text-left",
|
|
399
|
+
className
|
|
400
|
+
)
|
|
401
|
+
}, props)
|
|
402
|
+
);
|
|
403
|
+
};
|
|
404
|
+
DialogHeader.displayName = "DialogHeader";
|
|
405
|
+
var DialogFooter = (_a) => {
|
|
406
|
+
var _b = _a, {
|
|
407
|
+
className
|
|
408
|
+
} = _b, props = __objRest(_b, [
|
|
409
|
+
"className"
|
|
410
|
+
]);
|
|
411
|
+
return /* @__PURE__ */ jsx(
|
|
412
|
+
"div",
|
|
413
|
+
__spreadValues({
|
|
414
|
+
className: cn(
|
|
415
|
+
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
|
416
|
+
className
|
|
417
|
+
)
|
|
418
|
+
}, props)
|
|
419
|
+
);
|
|
420
|
+
};
|
|
421
|
+
DialogFooter.displayName = "DialogFooter";
|
|
422
|
+
var DialogTitle = React7.forwardRef((_a, ref) => {
|
|
423
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
424
|
+
return /* @__PURE__ */ jsx(
|
|
425
|
+
DialogPrimitive.Title,
|
|
426
|
+
__spreadValues({
|
|
427
|
+
ref,
|
|
428
|
+
className: cn(
|
|
429
|
+
"text-lg font-semibold leading-none tracking-tight",
|
|
430
|
+
className
|
|
431
|
+
)
|
|
432
|
+
}, props)
|
|
433
|
+
);
|
|
434
|
+
});
|
|
435
|
+
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
436
|
+
var DialogDescription = React7.forwardRef((_a, ref) => {
|
|
437
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
438
|
+
return /* @__PURE__ */ jsx(
|
|
439
|
+
DialogPrimitive.Description,
|
|
440
|
+
__spreadValues({
|
|
441
|
+
ref,
|
|
442
|
+
className: cn("text-sm text-muted-foreground", className)
|
|
443
|
+
}, props)
|
|
444
|
+
);
|
|
445
|
+
});
|
|
446
|
+
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
447
|
+
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
448
|
+
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
449
|
+
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
450
|
+
var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
|
|
451
|
+
var DropdownMenuSub = DropdownMenuPrimitive.Sub;
|
|
452
|
+
var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
453
|
+
var DropdownMenuSubTrigger = React7.forwardRef((_a, ref) => {
|
|
454
|
+
var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
|
|
455
|
+
return /* @__PURE__ */ jsxs(
|
|
456
|
+
DropdownMenuPrimitive.SubTrigger,
|
|
457
|
+
__spreadProps(__spreadValues({
|
|
458
|
+
ref,
|
|
459
|
+
className: cn(
|
|
460
|
+
"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",
|
|
461
|
+
inset && "pl-8",
|
|
462
|
+
className
|
|
463
|
+
)
|
|
464
|
+
}, props), {
|
|
465
|
+
children: [
|
|
466
|
+
children,
|
|
467
|
+
/* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto h-4 w-4" })
|
|
468
|
+
]
|
|
469
|
+
})
|
|
470
|
+
);
|
|
471
|
+
});
|
|
472
|
+
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
473
|
+
var DropdownMenuSubContent = React7.forwardRef((_a, ref) => {
|
|
474
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
475
|
+
return /* @__PURE__ */ jsx(
|
|
476
|
+
DropdownMenuPrimitive.SubContent,
|
|
477
|
+
__spreadValues({
|
|
478
|
+
ref,
|
|
479
|
+
className: cn(
|
|
480
|
+
"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",
|
|
481
|
+
className
|
|
482
|
+
)
|
|
483
|
+
}, props)
|
|
484
|
+
);
|
|
485
|
+
});
|
|
486
|
+
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
487
|
+
var DropdownMenuContent = React7.forwardRef((_a, ref) => {
|
|
488
|
+
var _b = _a, { className, sideOffset = 4 } = _b, props = __objRest(_b, ["className", "sideOffset"]);
|
|
489
|
+
return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
490
|
+
DropdownMenuPrimitive.Content,
|
|
491
|
+
__spreadValues({
|
|
492
|
+
ref,
|
|
493
|
+
sideOffset,
|
|
494
|
+
className: cn(
|
|
495
|
+
"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",
|
|
496
|
+
className
|
|
497
|
+
)
|
|
498
|
+
}, props)
|
|
499
|
+
) });
|
|
500
|
+
});
|
|
501
|
+
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
502
|
+
var DropdownMenuItem = React7.forwardRef((_a, ref) => {
|
|
503
|
+
var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
|
|
504
|
+
return /* @__PURE__ */ jsx(
|
|
505
|
+
DropdownMenuPrimitive.Item,
|
|
506
|
+
__spreadValues({
|
|
507
|
+
ref,
|
|
508
|
+
className: cn(
|
|
509
|
+
"relative flex cursor-default select-none items-center 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",
|
|
510
|
+
inset && "pl-8",
|
|
511
|
+
className
|
|
512
|
+
)
|
|
513
|
+
}, props)
|
|
514
|
+
);
|
|
515
|
+
});
|
|
516
|
+
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
517
|
+
var DropdownMenuCheckboxItem = React7.forwardRef((_a, ref) => {
|
|
518
|
+
var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
|
|
519
|
+
return /* @__PURE__ */ jsxs(
|
|
520
|
+
DropdownMenuPrimitive.CheckboxItem,
|
|
521
|
+
__spreadProps(__spreadValues({
|
|
522
|
+
ref,
|
|
523
|
+
className: cn(
|
|
524
|
+
"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",
|
|
525
|
+
className
|
|
526
|
+
),
|
|
527
|
+
checked
|
|
528
|
+
}, props), {
|
|
529
|
+
children: [
|
|
530
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
|
|
531
|
+
children
|
|
532
|
+
]
|
|
533
|
+
})
|
|
534
|
+
);
|
|
535
|
+
});
|
|
536
|
+
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
537
|
+
var DropdownMenuRadioItem = React7.forwardRef((_a, ref) => {
|
|
538
|
+
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
539
|
+
return /* @__PURE__ */ jsxs(
|
|
540
|
+
DropdownMenuPrimitive.RadioItem,
|
|
541
|
+
__spreadProps(__spreadValues({
|
|
542
|
+
ref,
|
|
543
|
+
className: cn(
|
|
544
|
+
"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",
|
|
545
|
+
className
|
|
546
|
+
)
|
|
547
|
+
}, props), {
|
|
548
|
+
children: [
|
|
549
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { className: "h-2 w-2 fill-current" }) }) }),
|
|
550
|
+
children
|
|
551
|
+
]
|
|
552
|
+
})
|
|
553
|
+
);
|
|
554
|
+
});
|
|
555
|
+
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
556
|
+
var DropdownMenuLabel = React7.forwardRef((_a, ref) => {
|
|
557
|
+
var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
|
|
558
|
+
return /* @__PURE__ */ jsx(
|
|
559
|
+
DropdownMenuPrimitive.Label,
|
|
560
|
+
__spreadValues({
|
|
561
|
+
ref,
|
|
562
|
+
className: cn(
|
|
563
|
+
"px-2 py-1.5 text-sm font-semibold",
|
|
564
|
+
inset && "pl-8",
|
|
565
|
+
className
|
|
566
|
+
)
|
|
567
|
+
}, props)
|
|
568
|
+
);
|
|
569
|
+
});
|
|
570
|
+
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
571
|
+
var DropdownMenuSeparator = React7.forwardRef((_a, ref) => {
|
|
572
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
573
|
+
return /* @__PURE__ */ jsx(
|
|
574
|
+
DropdownMenuPrimitive.Separator,
|
|
575
|
+
__spreadValues({
|
|
576
|
+
ref,
|
|
577
|
+
className: cn("-mx-1 my-1 h-px bg-muted", className)
|
|
578
|
+
}, props)
|
|
579
|
+
);
|
|
580
|
+
});
|
|
581
|
+
DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
|
|
582
|
+
var DropdownMenuShortcut = (_a) => {
|
|
583
|
+
var _b = _a, {
|
|
584
|
+
className
|
|
585
|
+
} = _b, props = __objRest(_b, [
|
|
586
|
+
"className"
|
|
587
|
+
]);
|
|
588
|
+
return /* @__PURE__ */ jsx(
|
|
589
|
+
"span",
|
|
590
|
+
__spreadValues({
|
|
591
|
+
className: cn("ml-auto text-xs tracking-widest opacity-60", className)
|
|
592
|
+
}, props)
|
|
593
|
+
);
|
|
594
|
+
};
|
|
595
|
+
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
596
|
+
var Form = React7.forwardRef(
|
|
597
|
+
(_a, ref) => {
|
|
598
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
599
|
+
return /* @__PURE__ */ jsx(
|
|
600
|
+
"form",
|
|
601
|
+
__spreadValues({
|
|
602
|
+
ref,
|
|
603
|
+
className: cn("space-y-6", className)
|
|
604
|
+
}, props)
|
|
605
|
+
);
|
|
606
|
+
}
|
|
607
|
+
);
|
|
608
|
+
Form.displayName = "Form";
|
|
609
|
+
var FormSection = React7.forwardRef((_a, ref) => {
|
|
610
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
611
|
+
return /* @__PURE__ */ jsx(
|
|
612
|
+
"div",
|
|
613
|
+
__spreadValues({
|
|
614
|
+
ref,
|
|
615
|
+
className: cn("space-y-4", className)
|
|
616
|
+
}, props)
|
|
617
|
+
);
|
|
618
|
+
});
|
|
619
|
+
FormSection.displayName = "FormSection";
|
|
620
|
+
var FormGroup = React7.forwardRef((_a, ref) => {
|
|
621
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
622
|
+
return /* @__PURE__ */ jsx(
|
|
623
|
+
"div",
|
|
624
|
+
__spreadValues({
|
|
625
|
+
ref,
|
|
626
|
+
className: cn("space-y-2", className)
|
|
627
|
+
}, props)
|
|
628
|
+
);
|
|
629
|
+
});
|
|
630
|
+
FormGroup.displayName = "FormGroup";
|
|
631
|
+
var FormLabel = React7.forwardRef((_a, ref) => {
|
|
632
|
+
var _b = _a, { className, error } = _b, props = __objRest(_b, ["className", "error"]);
|
|
633
|
+
return /* @__PURE__ */ jsx(
|
|
634
|
+
"label",
|
|
635
|
+
__spreadValues({
|
|
636
|
+
ref,
|
|
637
|
+
className: cn(
|
|
638
|
+
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
|
|
639
|
+
error && "text-destructive",
|
|
640
|
+
className
|
|
641
|
+
)
|
|
642
|
+
}, props)
|
|
643
|
+
);
|
|
644
|
+
});
|
|
645
|
+
FormLabel.displayName = "FormLabel";
|
|
646
|
+
var FormMessage = React7.forwardRef((_a, ref) => {
|
|
647
|
+
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
648
|
+
if (!children) return null;
|
|
649
|
+
return /* @__PURE__ */ jsx(
|
|
650
|
+
"p",
|
|
651
|
+
__spreadProps(__spreadValues({
|
|
652
|
+
ref,
|
|
653
|
+
className: cn("text-sm font-medium text-destructive", className)
|
|
654
|
+
}, props), {
|
|
655
|
+
children
|
|
656
|
+
})
|
|
657
|
+
);
|
|
658
|
+
});
|
|
659
|
+
FormMessage.displayName = "FormMessage";
|
|
660
|
+
var FormDescription = React7.forwardRef((_a, ref) => {
|
|
661
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
662
|
+
return /* @__PURE__ */ jsx(
|
|
663
|
+
"p",
|
|
664
|
+
__spreadValues({
|
|
665
|
+
ref,
|
|
666
|
+
className: cn("text-sm text-muted-foreground", className)
|
|
667
|
+
}, props)
|
|
668
|
+
);
|
|
669
|
+
});
|
|
670
|
+
FormDescription.displayName = "FormDescription";
|
|
671
|
+
var Input = React7.forwardRef(
|
|
672
|
+
(_a, ref) => {
|
|
673
|
+
var _b = _a, { className, type } = _b, props = __objRest(_b, ["className", "type"]);
|
|
674
|
+
return /* @__PURE__ */ jsx(
|
|
675
|
+
"input",
|
|
676
|
+
__spreadValues({
|
|
677
|
+
type,
|
|
678
|
+
className: cn(
|
|
679
|
+
"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium 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",
|
|
680
|
+
className
|
|
681
|
+
),
|
|
682
|
+
ref
|
|
683
|
+
}, props)
|
|
684
|
+
);
|
|
685
|
+
}
|
|
686
|
+
);
|
|
687
|
+
Input.displayName = "Input";
|
|
688
|
+
var labelVariants = cva(
|
|
689
|
+
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
|
|
690
|
+
);
|
|
691
|
+
var Label2 = React7.forwardRef((_a, ref) => {
|
|
692
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
693
|
+
return /* @__PURE__ */ jsx(
|
|
694
|
+
LabelPrimitive.Root,
|
|
695
|
+
__spreadValues({
|
|
696
|
+
ref,
|
|
697
|
+
className: cn(labelVariants(), className)
|
|
698
|
+
}, props)
|
|
699
|
+
);
|
|
700
|
+
});
|
|
701
|
+
Label2.displayName = LabelPrimitive.Root.displayName;
|
|
702
|
+
function Modal({
|
|
703
|
+
isOpen,
|
|
704
|
+
onClose,
|
|
705
|
+
title,
|
|
706
|
+
description,
|
|
707
|
+
children,
|
|
708
|
+
className
|
|
709
|
+
}) {
|
|
710
|
+
return /* @__PURE__ */ jsx(Dialog, { open: isOpen, onOpenChange: onClose, children: /* @__PURE__ */ jsxs(DialogContent, { className, children: [
|
|
711
|
+
/* @__PURE__ */ jsxs(DialogHeader, { children: [
|
|
712
|
+
/* @__PURE__ */ jsx(DialogTitle, { children: title }),
|
|
713
|
+
description && /* @__PURE__ */ jsx(DialogDescription, { children: description })
|
|
714
|
+
] }),
|
|
715
|
+
children
|
|
716
|
+
] }) });
|
|
717
|
+
}
|
|
718
|
+
var progressVariants = cva(
|
|
719
|
+
"relative h-4 w-full overflow-hidden rounded-full bg-secondary",
|
|
720
|
+
{
|
|
721
|
+
variants: {
|
|
722
|
+
variant: {
|
|
723
|
+
default: "",
|
|
724
|
+
success: "bg-green-100 dark:bg-green-800/20",
|
|
725
|
+
warning: "bg-yellow-100 dark:bg-yellow-800/20",
|
|
726
|
+
destructive: "bg-red-100 dark:bg-red-800/20"
|
|
727
|
+
},
|
|
728
|
+
size: {
|
|
729
|
+
default: "h-4",
|
|
730
|
+
sm: "h-2",
|
|
731
|
+
lg: "h-6"
|
|
732
|
+
}
|
|
733
|
+
},
|
|
734
|
+
defaultVariants: {
|
|
735
|
+
variant: "default",
|
|
736
|
+
size: "default"
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
);
|
|
740
|
+
var progressIndicatorVariants = cva(
|
|
741
|
+
"h-full w-full flex-1 transition-all",
|
|
742
|
+
{
|
|
743
|
+
variants: {
|
|
744
|
+
variant: {
|
|
745
|
+
default: "bg-primary",
|
|
746
|
+
success: "bg-green-500",
|
|
747
|
+
warning: "bg-yellow-500",
|
|
748
|
+
destructive: "bg-red-500"
|
|
749
|
+
}
|
|
750
|
+
},
|
|
751
|
+
defaultVariants: {
|
|
752
|
+
variant: "default"
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
);
|
|
756
|
+
var Progress = React7.forwardRef((_a, ref) => {
|
|
757
|
+
var _b = _a, { className, value, max = 100, variant, size, indicatorClassName } = _b, props = __objRest(_b, ["className", "value", "max", "variant", "size", "indicatorClassName"]);
|
|
758
|
+
return /* @__PURE__ */ jsx(
|
|
759
|
+
ProgressPrimitive.Root,
|
|
760
|
+
__spreadProps(__spreadValues({
|
|
761
|
+
ref,
|
|
762
|
+
className: cn(progressVariants({ variant, size }), className)
|
|
763
|
+
}, props), {
|
|
764
|
+
children: /* @__PURE__ */ jsx(
|
|
765
|
+
ProgressPrimitive.Indicator,
|
|
766
|
+
{
|
|
767
|
+
className: cn(
|
|
768
|
+
progressIndicatorVariants({ variant }),
|
|
769
|
+
"transition-transform duration-300",
|
|
770
|
+
indicatorClassName
|
|
771
|
+
),
|
|
772
|
+
style: { transform: `translateX(-${100 - (value || 0) / max * 100}%)` }
|
|
773
|
+
}
|
|
774
|
+
)
|
|
775
|
+
})
|
|
776
|
+
);
|
|
777
|
+
});
|
|
778
|
+
Progress.displayName = ProgressPrimitive.Root.displayName;
|
|
779
|
+
var Select = SelectPrimitive.Root;
|
|
780
|
+
var SelectGroup = SelectPrimitive.Group;
|
|
781
|
+
var SelectValue = SelectPrimitive.Value;
|
|
782
|
+
var SelectTrigger = React7.forwardRef((_a, ref) => {
|
|
783
|
+
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
784
|
+
return /* @__PURE__ */ jsxs(
|
|
785
|
+
SelectPrimitive.Trigger,
|
|
786
|
+
__spreadProps(__spreadValues({
|
|
787
|
+
ref,
|
|
788
|
+
className: cn(
|
|
789
|
+
"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
|
|
790
|
+
className
|
|
791
|
+
)
|
|
792
|
+
}, props), {
|
|
793
|
+
children: [
|
|
794
|
+
children,
|
|
795
|
+
/* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4 opacity-50" }) })
|
|
796
|
+
]
|
|
797
|
+
})
|
|
798
|
+
);
|
|
799
|
+
});
|
|
800
|
+
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
801
|
+
var SelectScrollUpButton = React7.forwardRef((_a, ref) => {
|
|
802
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
803
|
+
return /* @__PURE__ */ jsx(
|
|
804
|
+
SelectPrimitive.ScrollUpButton,
|
|
805
|
+
__spreadProps(__spreadValues({
|
|
806
|
+
ref,
|
|
807
|
+
className: cn(
|
|
808
|
+
"flex cursor-default items-center justify-center py-1",
|
|
809
|
+
className
|
|
810
|
+
)
|
|
811
|
+
}, props), {
|
|
812
|
+
children: /* @__PURE__ */ jsx(ChevronUp, { className: "h-4 w-4" })
|
|
813
|
+
})
|
|
814
|
+
);
|
|
815
|
+
});
|
|
816
|
+
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
817
|
+
var SelectScrollDownButton = React7.forwardRef((_a, ref) => {
|
|
818
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
819
|
+
return /* @__PURE__ */ jsx(
|
|
820
|
+
SelectPrimitive.ScrollDownButton,
|
|
821
|
+
__spreadProps(__spreadValues({
|
|
822
|
+
ref,
|
|
823
|
+
className: cn(
|
|
824
|
+
"flex cursor-default items-center justify-center py-1",
|
|
825
|
+
className
|
|
826
|
+
)
|
|
827
|
+
}, props), {
|
|
828
|
+
children: /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4" })
|
|
829
|
+
})
|
|
830
|
+
);
|
|
831
|
+
});
|
|
832
|
+
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
833
|
+
var SelectContent = React7.forwardRef((_a, ref) => {
|
|
834
|
+
var _b = _a, { className, children, position = "popper" } = _b, props = __objRest(_b, ["className", "children", "position"]);
|
|
835
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
|
|
836
|
+
SelectPrimitive.Content,
|
|
837
|
+
__spreadProps(__spreadValues({
|
|
838
|
+
ref,
|
|
839
|
+
className: cn(
|
|
840
|
+
"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover 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",
|
|
841
|
+
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
842
|
+
className
|
|
843
|
+
),
|
|
844
|
+
position
|
|
845
|
+
}, props), {
|
|
846
|
+
children: [
|
|
847
|
+
/* @__PURE__ */ jsx(SelectScrollUpButton, {}),
|
|
848
|
+
/* @__PURE__ */ jsx(
|
|
849
|
+
SelectPrimitive.Viewport,
|
|
850
|
+
{
|
|
851
|
+
className: cn(
|
|
852
|
+
"p-1",
|
|
853
|
+
position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
|
|
854
|
+
),
|
|
855
|
+
children
|
|
856
|
+
}
|
|
857
|
+
),
|
|
858
|
+
/* @__PURE__ */ jsx(SelectScrollDownButton, {})
|
|
859
|
+
]
|
|
860
|
+
})
|
|
861
|
+
) });
|
|
862
|
+
});
|
|
863
|
+
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
864
|
+
var SelectLabel = React7.forwardRef((_a, ref) => {
|
|
865
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
866
|
+
return /* @__PURE__ */ jsx(
|
|
867
|
+
SelectPrimitive.Label,
|
|
868
|
+
__spreadValues({
|
|
869
|
+
ref,
|
|
870
|
+
className: cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className)
|
|
871
|
+
}, props)
|
|
872
|
+
);
|
|
873
|
+
});
|
|
874
|
+
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
875
|
+
var SelectItem = React7.forwardRef((_a, ref) => {
|
|
876
|
+
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
877
|
+
return /* @__PURE__ */ jsxs(
|
|
878
|
+
SelectPrimitive.Item,
|
|
879
|
+
__spreadProps(__spreadValues({
|
|
880
|
+
ref,
|
|
881
|
+
className: cn(
|
|
882
|
+
"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
883
|
+
className
|
|
884
|
+
)
|
|
885
|
+
}, props), {
|
|
886
|
+
children: [
|
|
887
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
|
|
888
|
+
/* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
|
|
889
|
+
]
|
|
890
|
+
})
|
|
891
|
+
);
|
|
892
|
+
});
|
|
893
|
+
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
894
|
+
var SelectSeparator = React7.forwardRef((_a, ref) => {
|
|
895
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
896
|
+
return /* @__PURE__ */ jsx(
|
|
897
|
+
SelectPrimitive.Separator,
|
|
898
|
+
__spreadValues({
|
|
899
|
+
ref,
|
|
900
|
+
className: cn("-mx-1 my-1 h-px bg-muted", className)
|
|
901
|
+
}, props)
|
|
902
|
+
);
|
|
903
|
+
});
|
|
904
|
+
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
905
|
+
function Skeleton(_a) {
|
|
906
|
+
var _b = _a, {
|
|
907
|
+
className
|
|
908
|
+
} = _b, props = __objRest(_b, [
|
|
909
|
+
"className"
|
|
910
|
+
]);
|
|
911
|
+
return /* @__PURE__ */ jsx(
|
|
912
|
+
"div",
|
|
913
|
+
__spreadValues({
|
|
914
|
+
className: cn(
|
|
915
|
+
"animate-pulse rounded-md bg-muted",
|
|
916
|
+
className
|
|
917
|
+
)
|
|
918
|
+
}, props)
|
|
919
|
+
);
|
|
920
|
+
}
|
|
921
|
+
var SkeletonAvatar = (_a) => {
|
|
922
|
+
var _b = _a, {
|
|
923
|
+
className
|
|
924
|
+
} = _b, props = __objRest(_b, [
|
|
925
|
+
"className"
|
|
926
|
+
]);
|
|
927
|
+
return /* @__PURE__ */ jsx(
|
|
928
|
+
Skeleton,
|
|
929
|
+
__spreadValues({
|
|
930
|
+
className: cn("h-12 w-12 rounded-full", className)
|
|
931
|
+
}, props)
|
|
932
|
+
);
|
|
933
|
+
};
|
|
934
|
+
var SkeletonText = (_a) => {
|
|
935
|
+
var _b = _a, {
|
|
936
|
+
className
|
|
937
|
+
} = _b, props = __objRest(_b, [
|
|
938
|
+
"className"
|
|
939
|
+
]);
|
|
940
|
+
return /* @__PURE__ */ jsx(
|
|
941
|
+
Skeleton,
|
|
942
|
+
__spreadValues({
|
|
943
|
+
className: cn("h-4 w-full", className)
|
|
944
|
+
}, props)
|
|
945
|
+
);
|
|
946
|
+
};
|
|
947
|
+
var SkeletonButton = (_a) => {
|
|
948
|
+
var _b = _a, {
|
|
949
|
+
className
|
|
950
|
+
} = _b, props = __objRest(_b, [
|
|
951
|
+
"className"
|
|
952
|
+
]);
|
|
953
|
+
return /* @__PURE__ */ jsx(
|
|
954
|
+
Skeleton,
|
|
955
|
+
__spreadValues({
|
|
956
|
+
className: cn("h-10 w-24 rounded-md", className)
|
|
957
|
+
}, props)
|
|
958
|
+
);
|
|
959
|
+
};
|
|
960
|
+
var SkeletonCard = (_a) => {
|
|
961
|
+
var _b = _a, {
|
|
962
|
+
className
|
|
963
|
+
} = _b, props = __objRest(_b, [
|
|
964
|
+
"className"
|
|
965
|
+
]);
|
|
966
|
+
return /* @__PURE__ */ jsx(
|
|
967
|
+
Skeleton,
|
|
968
|
+
__spreadValues({
|
|
969
|
+
className: cn("h-48 w-full rounded-xl", className)
|
|
970
|
+
}, props)
|
|
971
|
+
);
|
|
972
|
+
};
|
|
973
|
+
var Tabs = TabsPrimitive.Root;
|
|
974
|
+
var tabsListVariants = cva(
|
|
975
|
+
"inline-flex items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",
|
|
976
|
+
{
|
|
977
|
+
variants: {
|
|
978
|
+
variant: {
|
|
979
|
+
default: "",
|
|
980
|
+
pills: "bg-transparent p-0 gap-2",
|
|
981
|
+
underline: "bg-transparent p-0 w-full justify-start border-b"
|
|
982
|
+
}
|
|
983
|
+
},
|
|
984
|
+
defaultVariants: {
|
|
985
|
+
variant: "default"
|
|
986
|
+
}
|
|
987
|
+
}
|
|
988
|
+
);
|
|
989
|
+
var TabsList = React7.forwardRef((_a, ref) => {
|
|
990
|
+
var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
|
|
991
|
+
return /* @__PURE__ */ jsx(
|
|
992
|
+
TabsPrimitive.List,
|
|
993
|
+
__spreadValues({
|
|
994
|
+
ref,
|
|
995
|
+
className: cn(tabsListVariants({ variant }), className)
|
|
996
|
+
}, props)
|
|
997
|
+
);
|
|
998
|
+
});
|
|
999
|
+
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
1000
|
+
var tabsTriggerVariants = cva(
|
|
1001
|
+
"inline-flex items-center justify-center whitespace-nowrap rounded-md 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",
|
|
1002
|
+
{
|
|
1003
|
+
variants: {
|
|
1004
|
+
variant: {
|
|
1005
|
+
default: "data-[state=active]:bg-background data-[state=active]:text-foreground",
|
|
1006
|
+
pills: "rounded-full border border-transparent data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",
|
|
1007
|
+
underline: "rounded-none border-b-2 border-transparent px-4 pb-3 pt-2 data-[state=active]:border-primary"
|
|
1008
|
+
}
|
|
1009
|
+
},
|
|
1010
|
+
defaultVariants: {
|
|
1011
|
+
variant: "default"
|
|
1012
|
+
}
|
|
1013
|
+
}
|
|
1014
|
+
);
|
|
1015
|
+
var TabsTrigger = React7.forwardRef((_a, ref) => {
|
|
1016
|
+
var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
|
|
1017
|
+
return /* @__PURE__ */ jsx(
|
|
1018
|
+
TabsPrimitive.Trigger,
|
|
1019
|
+
__spreadValues({
|
|
1020
|
+
ref,
|
|
1021
|
+
className: cn(tabsTriggerVariants({ variant }), className)
|
|
1022
|
+
}, props)
|
|
1023
|
+
);
|
|
1024
|
+
});
|
|
1025
|
+
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
1026
|
+
var TabsContent = React7.forwardRef((_a, ref) => {
|
|
1027
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1028
|
+
return /* @__PURE__ */ jsx(
|
|
1029
|
+
TabsPrimitive.Content,
|
|
1030
|
+
__spreadValues({
|
|
1031
|
+
ref,
|
|
1032
|
+
className: cn(
|
|
1033
|
+
"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
1034
|
+
className
|
|
1035
|
+
)
|
|
1036
|
+
}, props)
|
|
1037
|
+
);
|
|
1038
|
+
});
|
|
1039
|
+
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
1040
|
+
var ToastProvider = ToastPrimitives.Provider;
|
|
1041
|
+
var ToastViewport = React7.forwardRef((_a, ref) => {
|
|
1042
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1043
|
+
return /* @__PURE__ */ jsx(
|
|
1044
|
+
ToastPrimitives.Viewport,
|
|
1045
|
+
__spreadValues({
|
|
1046
|
+
ref,
|
|
1047
|
+
className: cn(
|
|
1048
|
+
"fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",
|
|
1049
|
+
className
|
|
1050
|
+
)
|
|
1051
|
+
}, props)
|
|
1052
|
+
);
|
|
1053
|
+
});
|
|
1054
|
+
ToastViewport.displayName = ToastPrimitives.Viewport.displayName;
|
|
1055
|
+
var toastVariants = cva(
|
|
1056
|
+
"group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",
|
|
1057
|
+
{
|
|
1058
|
+
variants: {
|
|
1059
|
+
variant: {
|
|
1060
|
+
default: "border bg-background text-foreground",
|
|
1061
|
+
destructive: "destructive group border-destructive bg-destructive text-destructive-foreground"
|
|
1062
|
+
}
|
|
1063
|
+
},
|
|
1064
|
+
defaultVariants: {
|
|
1065
|
+
variant: "default"
|
|
1066
|
+
}
|
|
1067
|
+
}
|
|
1068
|
+
);
|
|
1069
|
+
var Toast = React7.forwardRef((_a, ref) => {
|
|
1070
|
+
var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
|
|
1071
|
+
return /* @__PURE__ */ jsx(
|
|
1072
|
+
ToastPrimitives.Root,
|
|
1073
|
+
__spreadValues({
|
|
1074
|
+
ref,
|
|
1075
|
+
className: cn(toastVariants({ variant }), className)
|
|
1076
|
+
}, props)
|
|
1077
|
+
);
|
|
1078
|
+
});
|
|
1079
|
+
Toast.displayName = ToastPrimitives.Root.displayName;
|
|
1080
|
+
var ToastAction = React7.forwardRef((_a, ref) => {
|
|
1081
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1082
|
+
return /* @__PURE__ */ jsx(
|
|
1083
|
+
ToastPrimitives.Action,
|
|
1084
|
+
__spreadValues({
|
|
1085
|
+
ref,
|
|
1086
|
+
className: cn(
|
|
1087
|
+
"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",
|
|
1088
|
+
className
|
|
1089
|
+
)
|
|
1090
|
+
}, props)
|
|
1091
|
+
);
|
|
1092
|
+
});
|
|
1093
|
+
ToastAction.displayName = ToastPrimitives.Action.displayName;
|
|
1094
|
+
var ToastClose = React7.forwardRef((_a, ref) => {
|
|
1095
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1096
|
+
return /* @__PURE__ */ jsx(
|
|
1097
|
+
ToastPrimitives.Close,
|
|
1098
|
+
__spreadProps(__spreadValues({
|
|
1099
|
+
ref,
|
|
1100
|
+
className: cn(
|
|
1101
|
+
"absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",
|
|
1102
|
+
className
|
|
1103
|
+
),
|
|
1104
|
+
"toast-close": ""
|
|
1105
|
+
}, props), {
|
|
1106
|
+
children: /* @__PURE__ */ jsx(X, { className: "h-4 w-4" })
|
|
1107
|
+
})
|
|
1108
|
+
);
|
|
1109
|
+
});
|
|
1110
|
+
ToastClose.displayName = ToastPrimitives.Close.displayName;
|
|
1111
|
+
var ToastTitle = React7.forwardRef((_a, ref) => {
|
|
1112
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1113
|
+
return /* @__PURE__ */ jsx(
|
|
1114
|
+
ToastPrimitives.Title,
|
|
1115
|
+
__spreadValues({
|
|
1116
|
+
ref,
|
|
1117
|
+
className: cn("text-sm font-semibold", className)
|
|
1118
|
+
}, props)
|
|
1119
|
+
);
|
|
1120
|
+
});
|
|
1121
|
+
ToastTitle.displayName = ToastPrimitives.Title.displayName;
|
|
1122
|
+
var ToastDescription = React7.forwardRef((_a, ref) => {
|
|
1123
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1124
|
+
return /* @__PURE__ */ jsx(
|
|
1125
|
+
ToastPrimitives.Description,
|
|
1126
|
+
__spreadValues({
|
|
1127
|
+
ref,
|
|
1128
|
+
className: cn("text-sm opacity-90", className)
|
|
1129
|
+
}, props)
|
|
1130
|
+
);
|
|
1131
|
+
});
|
|
1132
|
+
ToastDescription.displayName = ToastPrimitives.Description.displayName;
|
|
1133
|
+
function Container(_a) {
|
|
1134
|
+
var _b = _a, {
|
|
1135
|
+
className,
|
|
1136
|
+
as: Component = "div",
|
|
1137
|
+
children
|
|
1138
|
+
} = _b, props = __objRest(_b, [
|
|
1139
|
+
"className",
|
|
1140
|
+
"as",
|
|
1141
|
+
"children"
|
|
1142
|
+
]);
|
|
1143
|
+
return /* @__PURE__ */ jsx(
|
|
1144
|
+
Component,
|
|
1145
|
+
__spreadProps(__spreadValues({
|
|
1146
|
+
className: cn(
|
|
1147
|
+
"mx-auto w-full max-w-7xl px-4 sm:px-6 lg:px-8",
|
|
1148
|
+
className
|
|
1149
|
+
)
|
|
1150
|
+
}, props), {
|
|
1151
|
+
children
|
|
1152
|
+
})
|
|
1153
|
+
);
|
|
1154
|
+
}
|
|
1155
|
+
function Grid(_a) {
|
|
1156
|
+
var _b = _a, {
|
|
1157
|
+
className,
|
|
1158
|
+
cols = 1,
|
|
1159
|
+
gap = 4,
|
|
1160
|
+
children
|
|
1161
|
+
} = _b, props = __objRest(_b, [
|
|
1162
|
+
"className",
|
|
1163
|
+
"cols",
|
|
1164
|
+
"gap",
|
|
1165
|
+
"children"
|
|
1166
|
+
]);
|
|
1167
|
+
return /* @__PURE__ */ jsx(
|
|
1168
|
+
"div",
|
|
1169
|
+
__spreadProps(__spreadValues({
|
|
1170
|
+
className: cn(
|
|
1171
|
+
`grid grid-cols-1 gap-${gap} sm:grid-cols-${cols}`,
|
|
1172
|
+
className
|
|
1173
|
+
)
|
|
1174
|
+
}, props), {
|
|
1175
|
+
children
|
|
1176
|
+
})
|
|
1177
|
+
);
|
|
1178
|
+
}
|
|
1179
|
+
function Section(_a) {
|
|
1180
|
+
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
1181
|
+
return /* @__PURE__ */ jsx(
|
|
1182
|
+
"section",
|
|
1183
|
+
__spreadProps(__spreadValues({
|
|
1184
|
+
className: cn("py-12 md:py-16 lg:py-20", className)
|
|
1185
|
+
}, props), {
|
|
1186
|
+
children
|
|
1187
|
+
})
|
|
1188
|
+
);
|
|
1189
|
+
}
|
|
1190
|
+
function useMediaQuery(query) {
|
|
1191
|
+
const [matches, setMatches] = useState(false);
|
|
1192
|
+
useEffect(() => {
|
|
1193
|
+
const media = window.matchMedia(query);
|
|
1194
|
+
if (media.matches !== matches) {
|
|
1195
|
+
setMatches(media.matches);
|
|
1196
|
+
}
|
|
1197
|
+
const listener = () => setMatches(media.matches);
|
|
1198
|
+
media.addEventListener("change", listener);
|
|
1199
|
+
return () => media.removeEventListener("change", listener);
|
|
1200
|
+
}, [matches, query]);
|
|
1201
|
+
return matches;
|
|
1202
|
+
}
|
|
1203
|
+
function useMounted() {
|
|
1204
|
+
const [mounted, setMounted] = useState(false);
|
|
1205
|
+
useEffect(() => {
|
|
1206
|
+
setMounted(true);
|
|
1207
|
+
}, []);
|
|
1208
|
+
return mounted;
|
|
1209
|
+
}
|
|
1210
|
+
function useLockBody() {
|
|
1211
|
+
useLayoutEffect(() => {
|
|
1212
|
+
const originalStyle = window.getComputedStyle(
|
|
1213
|
+
document.body
|
|
1214
|
+
).overflow;
|
|
1215
|
+
document.body.style.overflow = "hidden";
|
|
1216
|
+
return () => document.body.style.overflow = originalStyle;
|
|
1217
|
+
}, []);
|
|
1218
|
+
}
|
|
1219
|
+
|
|
1220
|
+
export { Alert, AlertDescription, AlertTitle, Avatar, AvatarFallback, AvatarImage, Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Container, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Form, FormDescription, FormGroup, FormLabel, FormMessage, FormSection, Grid, Input, Label2 as Label, Modal, Progress, Section, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Skeleton, SkeletonAvatar, SkeletonButton, SkeletonCard, SkeletonText, Tabs, TabsContent, TabsList, TabsTrigger, Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, badgeVariants, buttonVariants, useLockBody, useMediaQuery, useMounted };
|
|
1221
|
+
//# sourceMappingURL=index.mjs.map
|
|
1222
|
+
//# sourceMappingURL=index.mjs.map
|