@nextlyhq/ui 0.0.2-alpha.35 → 0.0.2-alpha.39
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 +77 -11
- package/dist/index.cjs +936 -655
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +29 -109
- package/dist/index.d.ts +29 -109
- package/dist/index.mjs +685 -387
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.scoped.css +2 -0
- package/dist/tailwind-preset.cjs +98 -0
- package/dist/tailwind-preset.cjs.map +1 -0
- package/dist/tailwind-preset.d.cts +80 -0
- package/dist/tailwind-preset.d.ts +80 -0
- package/dist/tailwind-preset.mjs +93 -0
- package/dist/tailwind-preset.mjs.map +1 -0
- package/dist/theme.css +63 -29
- package/dist/utils.cjs +13 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.cts +17 -0
- package/dist/utils.d.ts +17 -0
- package/dist/utils.mjs +11 -0
- package/dist/utils.mjs.map +1 -0
- package/docs/plugin-ui-authoring.md +26 -26
- package/package.json +47 -13
package/dist/index.mjs
CHANGED
|
@@ -1,34 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
import { cva } from 'class-variance-authority';
|
|
3
|
-
import * as React6 from 'react';
|
|
4
|
-
import { forwardRef, createContext, useContext } from 'react';
|
|
5
|
-
import { clsx } from 'clsx';
|
|
6
|
-
import { twMerge } from 'tailwind-merge';
|
|
7
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
|
-
import { Root as Root$2 } from '@radix-ui/react-label';
|
|
9
|
-
import { Info, Minus, Check, ChevronDown, X, ChevronRight, Circle, Search, Loader2, ChevronUp, XCircle, AlertTriangle, AlertCircle, CheckCircle2, FileQuestion } from 'lucide-react';
|
|
10
|
-
import { Portal, Content, Provider, Root, Trigger } from '@radix-ui/react-tooltip';
|
|
11
|
-
import * as SeparatorPrimitive from '@radix-ui/react-separator';
|
|
12
|
-
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
13
|
-
import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
|
|
14
|
-
import { Root as Root$4, Thumb } from '@radix-ui/react-switch';
|
|
15
|
-
import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
|
|
16
|
-
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
17
|
-
import { Root as Root$1, Image, Fallback } from '@radix-ui/react-avatar';
|
|
18
|
-
import { List, Trigger as Trigger$1, Content as Content$1, Root as Root$3 } from '@radix-ui/react-tabs';
|
|
19
|
-
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
20
|
-
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
21
|
-
import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
|
|
22
|
-
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
23
|
-
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
24
|
-
import { Command as Command$1 } from 'cmdk';
|
|
25
|
-
import { Toaster as Toaster$1 } from 'sonner';
|
|
26
|
-
export { toast } from 'sonner';
|
|
1
|
+
"use client";
|
|
27
2
|
|
|
28
3
|
// src/components/button.tsx
|
|
4
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
5
|
+
import { cva } from "class-variance-authority";
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
import { forwardRef } from "react";
|
|
8
|
+
|
|
9
|
+
// src/lib/utils.ts
|
|
10
|
+
import { clsx } from "clsx";
|
|
11
|
+
import { twMerge } from "tailwind-merge";
|
|
29
12
|
function cn(...inputs) {
|
|
30
13
|
return twMerge(clsx(inputs));
|
|
31
14
|
}
|
|
15
|
+
|
|
16
|
+
// src/components/button.tsx
|
|
17
|
+
import { jsx } from "react/jsx-runtime";
|
|
32
18
|
var buttonVariants = cva(
|
|
33
19
|
"inline-flex items-center justify-center whitespace-nowrap rounded-none text-sm font-medium cursor-pointer transition-all duration-150 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-0 disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed active:scale-[0.98] [&_svg]:text-current",
|
|
34
20
|
{
|
|
@@ -36,9 +22,15 @@ var buttonVariants = cva(
|
|
|
36
22
|
variant: {
|
|
37
23
|
default: "bg-primary text-primary-foreground border border-transparent hover:opacity-90",
|
|
38
24
|
primary: "bg-primary text-primary-foreground border border-transparent hover:opacity-90",
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
25
|
+
// Solid fill uses the emphasis token so white on-color text stays AA in
|
|
26
|
+
// dark mode (the base token is the readable text color, too light here).
|
|
27
|
+
// Hover darkens to a deeper shade instead of opacity-90, which would
|
|
28
|
+
// composite the fill toward the page and drop white text under 4.5:1.
|
|
29
|
+
destructive: "bg-destructive-solid text-destructive-foreground border border-transparent hover:bg-destructive-700",
|
|
30
|
+
// border-border (not a faint primary alpha) so the outline is a visible
|
|
31
|
+
// boundary at the 3:1 UI minimum.
|
|
32
|
+
outline: "border border-border text-foreground hover-unified bg-background",
|
|
33
|
+
secondary: "bg-background border border-border text-foreground hover:bg-primary/5",
|
|
42
34
|
ghost: "text-foreground border border-transparent hover-unified",
|
|
43
35
|
link: "text-primary border border-transparent underline-offset-4 hover:underline"
|
|
44
36
|
},
|
|
@@ -68,7 +60,7 @@ var Button = forwardRef(
|
|
|
68
60
|
...props
|
|
69
61
|
}, ref) => {
|
|
70
62
|
const Comp = asChild ? Slot : "button";
|
|
71
|
-
const hasMultipleChildren =
|
|
63
|
+
const hasMultipleChildren = React.Children.count(children) > 1;
|
|
72
64
|
return /* @__PURE__ */ jsx(
|
|
73
65
|
Comp,
|
|
74
66
|
{
|
|
@@ -85,7 +77,12 @@ var Button = forwardRef(
|
|
|
85
77
|
}
|
|
86
78
|
);
|
|
87
79
|
Button.displayName = "Button";
|
|
88
|
-
|
|
80
|
+
|
|
81
|
+
// src/components/input.tsx
|
|
82
|
+
import { cva as cva2 } from "class-variance-authority";
|
|
83
|
+
import { forwardRef as forwardRef2 } from "react";
|
|
84
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
85
|
+
var inputVariants = cva2(
|
|
89
86
|
"file:text-foreground placeholder:text-muted-foreground placeholder:opacity-50 selection:bg-primary selection:text-primary-foreground w-full min-w-0 rounded-none border border-input bg-background text-sm transition-all duration-150 outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 focus:ring-0 focus:ring-offset-0 focus:outline-none focus:border-primary! focus-visible:border-primary! aria-invalid:border-destructive aria-invalid:focus:border-destructive! data-[invalid=true]:border-destructive data-[invalid=true]:focus:border-destructive!",
|
|
90
87
|
{
|
|
91
88
|
variants: {
|
|
@@ -100,9 +97,9 @@ var inputVariants = cva(
|
|
|
100
97
|
}
|
|
101
98
|
}
|
|
102
99
|
);
|
|
103
|
-
var Input =
|
|
100
|
+
var Input = forwardRef2(
|
|
104
101
|
({ className, type, size, ...props }, ref) => {
|
|
105
|
-
return /* @__PURE__ */
|
|
102
|
+
return /* @__PURE__ */ jsx2(
|
|
106
103
|
"input",
|
|
107
104
|
{
|
|
108
105
|
type,
|
|
@@ -115,13 +112,19 @@ var Input = forwardRef(
|
|
|
115
112
|
}
|
|
116
113
|
);
|
|
117
114
|
Input.displayName = "Input";
|
|
118
|
-
|
|
119
|
-
|
|
115
|
+
|
|
116
|
+
// src/components/textarea.tsx
|
|
117
|
+
import { forwardRef as forwardRef3 } from "react";
|
|
118
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
119
|
+
var Textarea = forwardRef3(({ className, ...props }, ref) => {
|
|
120
|
+
return /* @__PURE__ */ jsx3(
|
|
120
121
|
"textarea",
|
|
121
122
|
{
|
|
122
123
|
"data-slot": "textarea",
|
|
123
124
|
className: cn(
|
|
124
|
-
|
|
125
|
+
// hover:border-primary (full strength) keeps the hover boundary more
|
|
126
|
+
// visible than the resting border-input, not a fainter alpha of it.
|
|
127
|
+
"flex min-h-[80px] w-full rounded-none border border-input bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground placeholder:opacity-50 transition-all duration-200 focus:border-primary! focus-visible:border-primary! focus:outline-none hover:border-primary disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-primary/5 resize-y",
|
|
125
128
|
"aria-invalid:border-destructive aria-invalid:focus:border-destructive!",
|
|
126
129
|
className
|
|
127
130
|
),
|
|
@@ -131,9 +134,13 @@ var Textarea = forwardRef(({ className, ...props }, ref) => {
|
|
|
131
134
|
);
|
|
132
135
|
});
|
|
133
136
|
Textarea.displayName = "Textarea";
|
|
137
|
+
|
|
138
|
+
// src/components/label.tsx
|
|
139
|
+
import { Root as LabelRoot } from "@radix-ui/react-label";
|
|
140
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
134
141
|
function Label({ className, ...props }) {
|
|
135
|
-
return /* @__PURE__ */
|
|
136
|
-
|
|
142
|
+
return /* @__PURE__ */ jsx4(
|
|
143
|
+
LabelRoot,
|
|
137
144
|
{
|
|
138
145
|
"data-slot": "label",
|
|
139
146
|
className: cn(
|
|
@@ -144,18 +151,39 @@ function Label({ className, ...props }) {
|
|
|
144
151
|
}
|
|
145
152
|
);
|
|
146
153
|
}
|
|
154
|
+
|
|
155
|
+
// src/components/form-label-with-tooltip.tsx
|
|
156
|
+
import { Info } from "lucide-react";
|
|
157
|
+
import * as React2 from "react";
|
|
158
|
+
|
|
159
|
+
// src/components/tooltip.tsx
|
|
160
|
+
import {
|
|
161
|
+
Provider,
|
|
162
|
+
Root,
|
|
163
|
+
Trigger,
|
|
164
|
+
Portal,
|
|
165
|
+
Content
|
|
166
|
+
} from "@radix-ui/react-tooltip";
|
|
167
|
+
import { forwardRef as forwardRef4 } from "react";
|
|
168
|
+
|
|
169
|
+
// src/providers/portal-provider.tsx
|
|
170
|
+
import { createContext, useContext } from "react";
|
|
171
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
147
172
|
var PortalContext = createContext({ container: null });
|
|
148
173
|
function PortalProvider({ container, children }) {
|
|
149
|
-
return /* @__PURE__ */
|
|
174
|
+
return /* @__PURE__ */ jsx5(PortalContext.Provider, { value: { container }, children });
|
|
150
175
|
}
|
|
151
176
|
function usePortalContainer() {
|
|
152
177
|
const { container } = useContext(PortalContext);
|
|
153
178
|
return container ?? void 0;
|
|
154
179
|
}
|
|
180
|
+
|
|
181
|
+
// src/components/tooltip.tsx
|
|
182
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
155
183
|
var TooltipProvider = Provider;
|
|
156
184
|
var Tooltip = Root;
|
|
157
185
|
var TooltipTrigger = Trigger;
|
|
158
|
-
var TooltipContent =
|
|
186
|
+
var TooltipContent = forwardRef4(({ className, sideOffset = 4, ...props }, ref) => {
|
|
159
187
|
const portalContainer = usePortalContainer();
|
|
160
188
|
return (
|
|
161
189
|
// Portalled for the same reason as every other overlay here, plus one
|
|
@@ -164,7 +192,7 @@ var TooltipContent = forwardRef(({ className, sideOffset = 4, ...props }, ref) =
|
|
|
164
192
|
// browser does not. Left inline under a `@container` element, the content
|
|
165
193
|
// is offset by that element's own position. Portalling lifts it out of any
|
|
166
194
|
// such ancestor, so the two agree again.
|
|
167
|
-
/* @__PURE__ */
|
|
195
|
+
/* @__PURE__ */ jsx6(Portal, { container: portalContainer, children: /* @__PURE__ */ jsx6(
|
|
168
196
|
Content,
|
|
169
197
|
{
|
|
170
198
|
ref,
|
|
@@ -180,7 +208,10 @@ var TooltipContent = forwardRef(({ className, sideOffset = 4, ...props }, ref) =
|
|
|
180
208
|
);
|
|
181
209
|
});
|
|
182
210
|
TooltipContent.displayName = Content.displayName;
|
|
183
|
-
|
|
211
|
+
|
|
212
|
+
// src/components/form-label-with-tooltip.tsx
|
|
213
|
+
import { jsx as jsx7, jsxs } from "react/jsx-runtime";
|
|
214
|
+
var FormLabelWithTooltip = React2.forwardRef(
|
|
184
215
|
({
|
|
185
216
|
className,
|
|
186
217
|
labelClassName,
|
|
@@ -193,9 +224,9 @@ var FormLabelWithTooltip = React6.forwardRef(
|
|
|
193
224
|
return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2", className), children: [
|
|
194
225
|
/* @__PURE__ */ jsxs(Label, { ref, className: labelClassName, ...props, children: [
|
|
195
226
|
label,
|
|
196
|
-
required && /* @__PURE__ */
|
|
227
|
+
required && /* @__PURE__ */ jsx7("span", { className: "text-destructive ml-1", children: "*" })
|
|
197
228
|
] }),
|
|
198
|
-
description && /* @__PURE__ */
|
|
229
|
+
description && /* @__PURE__ */ jsx7(TooltipProvider, { children: /* @__PURE__ */ jsxs(Tooltip, { delayDuration: 200, children: [
|
|
199
230
|
/* @__PURE__ */ jsxs(
|
|
200
231
|
TooltipTrigger,
|
|
201
232
|
{
|
|
@@ -203,12 +234,12 @@ var FormLabelWithTooltip = React6.forwardRef(
|
|
|
203
234
|
tabIndex: -1,
|
|
204
235
|
className: "shrink-0 text-muted-foreground hover:text-foreground focus:outline-none focus:text-foreground transition-colors cursor-help",
|
|
205
236
|
children: [
|
|
206
|
-
/* @__PURE__ */
|
|
207
|
-
/* @__PURE__ */
|
|
237
|
+
/* @__PURE__ */ jsx7(Info, { className: "h-3.5 w-3.5" }),
|
|
238
|
+
/* @__PURE__ */ jsx7("span", { className: "sr-only", children: "Toggle description" })
|
|
208
239
|
]
|
|
209
240
|
}
|
|
210
241
|
),
|
|
211
|
-
/* @__PURE__ */
|
|
242
|
+
/* @__PURE__ */ jsx7(
|
|
212
243
|
TooltipContent,
|
|
213
244
|
{
|
|
214
245
|
side: "right",
|
|
@@ -224,7 +255,11 @@ var FormLabelWithTooltip = React6.forwardRef(
|
|
|
224
255
|
}
|
|
225
256
|
);
|
|
226
257
|
FormLabelWithTooltip.displayName = "FormLabelWithTooltip";
|
|
227
|
-
|
|
258
|
+
|
|
259
|
+
// src/components/badge.tsx
|
|
260
|
+
import { cva as cva3 } from "class-variance-authority";
|
|
261
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
262
|
+
var badgeVariants = cva3(
|
|
228
263
|
"inline-flex items-center rounded-none px-2.5 py-0.5 h-[22px] text-xs font-medium transition-colors",
|
|
229
264
|
{
|
|
230
265
|
variants: {
|
|
@@ -245,7 +280,7 @@ var badgeVariants = cva(
|
|
|
245
280
|
}
|
|
246
281
|
);
|
|
247
282
|
function Badge({ className, variant = "default", ...props }) {
|
|
248
|
-
return /* @__PURE__ */
|
|
283
|
+
return /* @__PURE__ */ jsx8(
|
|
249
284
|
"div",
|
|
250
285
|
{
|
|
251
286
|
"data-slot": `badge.${variant}`,
|
|
@@ -254,7 +289,12 @@ function Badge({ className, variant = "default", ...props }) {
|
|
|
254
289
|
}
|
|
255
290
|
);
|
|
256
291
|
}
|
|
257
|
-
|
|
292
|
+
|
|
293
|
+
// src/components/card.tsx
|
|
294
|
+
import { cva as cva4 } from "class-variance-authority";
|
|
295
|
+
import { forwardRef as forwardRef6 } from "react";
|
|
296
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
297
|
+
var cardVariants = cva4(
|
|
258
298
|
"bg-card text-foreground rounded-none border border-border transition-all duration-200",
|
|
259
299
|
{
|
|
260
300
|
variants: {
|
|
@@ -269,9 +309,9 @@ var cardVariants = cva(
|
|
|
269
309
|
}
|
|
270
310
|
}
|
|
271
311
|
);
|
|
272
|
-
var Card =
|
|
312
|
+
var Card = forwardRef6(
|
|
273
313
|
({ className, variant, ...props }, ref) => {
|
|
274
|
-
return /* @__PURE__ */
|
|
314
|
+
return /* @__PURE__ */ jsx9(
|
|
275
315
|
"div",
|
|
276
316
|
{
|
|
277
317
|
ref,
|
|
@@ -283,9 +323,9 @@ var Card = forwardRef(
|
|
|
283
323
|
}
|
|
284
324
|
);
|
|
285
325
|
Card.displayName = "Card";
|
|
286
|
-
var CardHeader =
|
|
326
|
+
var CardHeader = forwardRef6(
|
|
287
327
|
({ className, noBorder = false, ...props }, ref) => {
|
|
288
|
-
return /* @__PURE__ */
|
|
328
|
+
return /* @__PURE__ */ jsx9(
|
|
289
329
|
"div",
|
|
290
330
|
{
|
|
291
331
|
ref,
|
|
@@ -301,9 +341,9 @@ var CardHeader = forwardRef(
|
|
|
301
341
|
}
|
|
302
342
|
);
|
|
303
343
|
CardHeader.displayName = "CardHeader";
|
|
304
|
-
var CardTitle =
|
|
344
|
+
var CardTitle = forwardRef6(
|
|
305
345
|
({ className, ...props }, ref) => {
|
|
306
|
-
return /* @__PURE__ */
|
|
346
|
+
return /* @__PURE__ */ jsx9(
|
|
307
347
|
"h3",
|
|
308
348
|
{
|
|
309
349
|
ref,
|
|
@@ -315,9 +355,9 @@ var CardTitle = forwardRef(
|
|
|
315
355
|
}
|
|
316
356
|
);
|
|
317
357
|
CardTitle.displayName = "CardTitle";
|
|
318
|
-
var CardDescription =
|
|
358
|
+
var CardDescription = forwardRef6(
|
|
319
359
|
({ className, ...props }, ref) => {
|
|
320
|
-
return /* @__PURE__ */
|
|
360
|
+
return /* @__PURE__ */ jsx9(
|
|
321
361
|
"p",
|
|
322
362
|
{
|
|
323
363
|
ref,
|
|
@@ -329,9 +369,9 @@ var CardDescription = forwardRef(
|
|
|
329
369
|
}
|
|
330
370
|
);
|
|
331
371
|
CardDescription.displayName = "CardDescription";
|
|
332
|
-
var CardAction =
|
|
372
|
+
var CardAction = forwardRef6(
|
|
333
373
|
({ className, ...props }, ref) => {
|
|
334
|
-
return /* @__PURE__ */
|
|
374
|
+
return /* @__PURE__ */ jsx9(
|
|
335
375
|
"div",
|
|
336
376
|
{
|
|
337
377
|
ref,
|
|
@@ -343,9 +383,9 @@ var CardAction = forwardRef(
|
|
|
343
383
|
}
|
|
344
384
|
);
|
|
345
385
|
CardAction.displayName = "CardAction";
|
|
346
|
-
var CardContent =
|
|
386
|
+
var CardContent = forwardRef6(
|
|
347
387
|
({ className, ...props }, ref) => {
|
|
348
|
-
return /* @__PURE__ */
|
|
388
|
+
return /* @__PURE__ */ jsx9(
|
|
349
389
|
"div",
|
|
350
390
|
{
|
|
351
391
|
ref,
|
|
@@ -357,9 +397,9 @@ var CardContent = forwardRef(
|
|
|
357
397
|
}
|
|
358
398
|
);
|
|
359
399
|
CardContent.displayName = "CardContent";
|
|
360
|
-
var CardFooter =
|
|
400
|
+
var CardFooter = forwardRef6(
|
|
361
401
|
({ className, ...props }, ref) => {
|
|
362
|
-
return /* @__PURE__ */
|
|
402
|
+
return /* @__PURE__ */ jsx9(
|
|
363
403
|
"div",
|
|
364
404
|
{
|
|
365
405
|
ref,
|
|
@@ -374,15 +414,80 @@ var CardFooter = forwardRef(
|
|
|
374
414
|
}
|
|
375
415
|
);
|
|
376
416
|
CardFooter.displayName = "CardFooter";
|
|
377
|
-
|
|
417
|
+
|
|
418
|
+
// src/components/layout.tsx
|
|
419
|
+
import { forwardRef as forwardRef7 } from "react";
|
|
420
|
+
import { jsx as jsx10, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
421
|
+
var GAP = {
|
|
422
|
+
0: "gap-0",
|
|
423
|
+
1: "gap-1",
|
|
424
|
+
2: "gap-2",
|
|
425
|
+
3: "gap-3",
|
|
426
|
+
4: "gap-4",
|
|
427
|
+
6: "gap-6",
|
|
428
|
+
8: "gap-8"
|
|
429
|
+
};
|
|
430
|
+
var COLS = {
|
|
431
|
+
1: "grid-cols-1",
|
|
432
|
+
2: "grid-cols-2",
|
|
433
|
+
3: "grid-cols-3",
|
|
434
|
+
4: "grid-cols-4",
|
|
435
|
+
6: "grid-cols-6"
|
|
436
|
+
};
|
|
437
|
+
var Stack = forwardRef7(
|
|
438
|
+
({ direction = "col", gap = 4, className, ...props }, ref) => /* @__PURE__ */ jsx10(
|
|
439
|
+
"div",
|
|
440
|
+
{
|
|
441
|
+
ref,
|
|
442
|
+
className: cn(
|
|
443
|
+
"flex",
|
|
444
|
+
direction === "col" ? "flex-col" : "flex-row",
|
|
445
|
+
GAP[gap],
|
|
446
|
+
className
|
|
447
|
+
),
|
|
448
|
+
...props
|
|
449
|
+
}
|
|
450
|
+
)
|
|
451
|
+
);
|
|
452
|
+
Stack.displayName = "Stack";
|
|
453
|
+
var Grid = forwardRef7(
|
|
454
|
+
({ cols = 2, gap = 4, className, ...props }, ref) => /* @__PURE__ */ jsx10(
|
|
455
|
+
"div",
|
|
456
|
+
{
|
|
457
|
+
ref,
|
|
458
|
+
className: cn("grid", COLS[cols], GAP[gap], className),
|
|
459
|
+
...props
|
|
460
|
+
}
|
|
461
|
+
)
|
|
462
|
+
);
|
|
463
|
+
Grid.displayName = "Grid";
|
|
464
|
+
var Stat = forwardRef7(
|
|
465
|
+
({ label, value, className, ...props }, ref) => /* @__PURE__ */ jsxs2("div", { ref, className: cn("flex flex-col gap-1", className), ...props, children: [
|
|
466
|
+
/* @__PURE__ */ jsx10("span", { className: "text-sm text-muted-foreground", children: label }),
|
|
467
|
+
/* @__PURE__ */ jsx10("span", { className: "text-2xl font-semibold text-foreground", children: value })
|
|
468
|
+
] })
|
|
469
|
+
);
|
|
470
|
+
Stat.displayName = "Stat";
|
|
471
|
+
|
|
472
|
+
// src/components/alert.tsx
|
|
473
|
+
import { cva as cva5 } from "class-variance-authority";
|
|
474
|
+
import { forwardRef as forwardRef8 } from "react";
|
|
475
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
476
|
+
var alertVariants = cva5(
|
|
378
477
|
"relative flex items-start gap-3 rounded-none border border-border p-4 text-sm transition-colors duration-150",
|
|
379
478
|
{
|
|
380
479
|
variants: {
|
|
381
480
|
variant: {
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
481
|
+
// text-primary is mode-correct (dark ink on light in light mode, light
|
|
482
|
+
// ink on dark in dark mode); the previous dark text override rendered
|
|
483
|
+
// dark slate on the dark tint at about 1:1.
|
|
484
|
+
info: "bg-primary/5 text-primary",
|
|
485
|
+
// dark:border-l-* re-asserts the strong base accent on the left after
|
|
486
|
+
// the dark:border-*-900 all-sides rule, so the meaningful accent stays
|
|
487
|
+
// visible in dark mode instead of collapsing to the faint -900 shade.
|
|
488
|
+
success: "border-success-200 bg-success-50 text-success-900 border-l-4 border-l-success dark:border-success-900 dark:border-l-success dark:bg-success-950 dark:text-success-100",
|
|
489
|
+
warning: "border-warning-200 bg-warning-50 text-warning-900 border-l-4 border-l-warning dark:border-warning-900 dark:border-l-warning dark:bg-warning-950 dark:text-warning-100",
|
|
490
|
+
destructive: "border-destructive-200 bg-destructive-50 text-destructive-900 border-l-4 border-l-destructive dark:border-destructive-900 dark:border-l-destructive dark:bg-destructive-950 dark:text-destructive-100"
|
|
386
491
|
}
|
|
387
492
|
},
|
|
388
493
|
defaultVariants: {
|
|
@@ -390,9 +495,9 @@ var alertVariants = cva(
|
|
|
390
495
|
}
|
|
391
496
|
}
|
|
392
497
|
);
|
|
393
|
-
var Alert =
|
|
498
|
+
var Alert = forwardRef8(
|
|
394
499
|
({ className, variant = "info", role = "alert", ...props }, ref) => {
|
|
395
|
-
return /* @__PURE__ */
|
|
500
|
+
return /* @__PURE__ */ jsx11(
|
|
396
501
|
"div",
|
|
397
502
|
{
|
|
398
503
|
ref,
|
|
@@ -405,9 +510,9 @@ var Alert = forwardRef(
|
|
|
405
510
|
}
|
|
406
511
|
);
|
|
407
512
|
Alert.displayName = "Alert";
|
|
408
|
-
var AlertTitle =
|
|
513
|
+
var AlertTitle = forwardRef8(
|
|
409
514
|
({ className, ...props }, ref) => {
|
|
410
|
-
return /* @__PURE__ */
|
|
515
|
+
return /* @__PURE__ */ jsx11(
|
|
411
516
|
"h5",
|
|
412
517
|
{
|
|
413
518
|
ref,
|
|
@@ -422,9 +527,9 @@ var AlertTitle = forwardRef(
|
|
|
422
527
|
}
|
|
423
528
|
);
|
|
424
529
|
AlertTitle.displayName = "AlertTitle";
|
|
425
|
-
var AlertDescription =
|
|
530
|
+
var AlertDescription = forwardRef8(
|
|
426
531
|
({ className, ...props }, ref) => {
|
|
427
|
-
return /* @__PURE__ */
|
|
532
|
+
return /* @__PURE__ */ jsx11(
|
|
428
533
|
"div",
|
|
429
534
|
{
|
|
430
535
|
ref,
|
|
@@ -436,13 +541,17 @@ var AlertDescription = forwardRef(
|
|
|
436
541
|
}
|
|
437
542
|
);
|
|
438
543
|
AlertDescription.displayName = "AlertDescription";
|
|
544
|
+
|
|
545
|
+
// src/components/separator.tsx
|
|
546
|
+
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
547
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
439
548
|
function Separator({
|
|
440
549
|
className,
|
|
441
550
|
orientation = "horizontal",
|
|
442
551
|
decorative = true,
|
|
443
552
|
...props
|
|
444
553
|
}) {
|
|
445
|
-
return /* @__PURE__ */
|
|
554
|
+
return /* @__PURE__ */ jsx12(
|
|
446
555
|
SeparatorPrimitive.Root,
|
|
447
556
|
{
|
|
448
557
|
"data-slot": "separator",
|
|
@@ -456,9 +565,13 @@ function Separator({
|
|
|
456
565
|
}
|
|
457
566
|
);
|
|
458
567
|
}
|
|
459
|
-
|
|
568
|
+
|
|
569
|
+
// src/components/skeleton.tsx
|
|
570
|
+
import * as React3 from "react";
|
|
571
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
572
|
+
var Skeleton = React3.forwardRef(
|
|
460
573
|
({ className, ...props }, ref) => {
|
|
461
|
-
return /* @__PURE__ */
|
|
574
|
+
return /* @__PURE__ */ jsx13(
|
|
462
575
|
"div",
|
|
463
576
|
{
|
|
464
577
|
ref,
|
|
@@ -474,7 +587,12 @@ var Skeleton = React6.forwardRef(
|
|
|
474
587
|
}
|
|
475
588
|
);
|
|
476
589
|
Skeleton.displayName = "Skeleton";
|
|
477
|
-
|
|
590
|
+
|
|
591
|
+
// src/components/progress.tsx
|
|
592
|
+
import { cva as cva6 } from "class-variance-authority";
|
|
593
|
+
import * as React4 from "react";
|
|
594
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
595
|
+
var progressVariants = cva6("h-full rounded-none transition-all", {
|
|
478
596
|
variants: {
|
|
479
597
|
variant: {
|
|
480
598
|
default: "bg-primary-500",
|
|
@@ -486,7 +604,7 @@ var progressVariants = cva("h-full rounded-none transition-all", {
|
|
|
486
604
|
variant: "default"
|
|
487
605
|
}
|
|
488
606
|
});
|
|
489
|
-
var Progress =
|
|
607
|
+
var Progress = React4.forwardRef(
|
|
490
608
|
({
|
|
491
609
|
value,
|
|
492
610
|
max = 100,
|
|
@@ -497,7 +615,7 @@ var Progress = React6.forwardRef(
|
|
|
497
615
|
}, ref) => {
|
|
498
616
|
const clampedValue = Math.min(Math.max(0, value), max);
|
|
499
617
|
const percentage = clampedValue / max * 100;
|
|
500
|
-
return /* @__PURE__ */
|
|
618
|
+
return /* @__PURE__ */ jsx14(
|
|
501
619
|
"div",
|
|
502
620
|
{
|
|
503
621
|
ref,
|
|
@@ -511,7 +629,7 @@ var Progress = React6.forwardRef(
|
|
|
511
629
|
className
|
|
512
630
|
),
|
|
513
631
|
...props,
|
|
514
|
-
children: /* @__PURE__ */
|
|
632
|
+
children: /* @__PURE__ */ jsx14(
|
|
515
633
|
"div",
|
|
516
634
|
{
|
|
517
635
|
className: cn(progressVariants({ variant })),
|
|
@@ -526,43 +644,41 @@ var Progress = React6.forwardRef(
|
|
|
526
644
|
}
|
|
527
645
|
);
|
|
528
646
|
Progress.displayName = "Progress";
|
|
529
|
-
|
|
647
|
+
|
|
648
|
+
// src/components/checkbox.tsx
|
|
649
|
+
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
650
|
+
import { Check, Minus } from "lucide-react";
|
|
651
|
+
import { forwardRef as forwardRef11 } from "react";
|
|
652
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
653
|
+
var Checkbox = forwardRef11(({ className, indeterminate, ...props }, ref) => /* @__PURE__ */ jsx15(
|
|
530
654
|
CheckboxPrimitive.Root,
|
|
531
655
|
{
|
|
532
656
|
ref,
|
|
533
657
|
"data-slot": "checkbox",
|
|
534
658
|
className: cn(
|
|
535
|
-
//
|
|
536
|
-
//
|
|
537
|
-
|
|
538
|
-
// enough to look deliberate and still short. Callers must not override the
|
|
539
|
-
// border: passing `border-border` puts the divider token here, which
|
|
540
|
-
// measured 1.35:1 and 1.14:1, and a divider is meant to go unnoticed.
|
|
541
|
-
// Checked and indeterminate share the filled appearance; declaring both
|
|
542
|
-
// here keeps the control self-sufficient without host overrides.
|
|
543
|
-
//
|
|
544
|
-
// The box stays 16px and the target does not: `before` stretches an
|
|
545
|
-
// invisible 24px square from the centre, which is WCAG 2.5.8's floor.
|
|
546
|
-
// The exemption for a bare browser checkbox does not cover a styled one,
|
|
547
|
-
// and this is styled. Growing the box instead would make every dense
|
|
548
|
-
// table heavier for a rule about pointers, so the box and the thing you
|
|
549
|
-
// can hit are allowed to differ.
|
|
550
|
-
"peer relative h-4 w-4 shrink-0 rounded-none border border-primary/50 ring-offset-background before:absolute before:left-1/2 before:top-1/2 before:h-6 before:w-6 before:-translate-x-1/2 before:-translate-y-1/2 before:content-[''] focus:border-primary! focus-visible:border-primary! focus:outline-none focus-visible:outline-none aria-invalid:border-destructive aria-invalid:focus:border-destructive! aria-invalid:focus-visible:border-destructive! disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary transition-all duration-200",
|
|
659
|
+
// Resting border uses border-input (a visible 3:1 boundary); the checked
|
|
660
|
+
// state switches to border-primary below, keeping the two states distinct.
|
|
661
|
+
"peer relative h-4 w-4 shrink-0 rounded-none border border-input ring-offset-background before:absolute before:left-1/2 before:top-1/2 before:h-6 before:w-6 before:-translate-x-1/2 before:-translate-y-1/2 before:content-[''] focus:border-primary! focus-visible:border-primary! focus:outline-none focus-visible:outline-none aria-invalid:border-destructive aria-invalid:focus:border-destructive! aria-invalid:focus-visible:border-destructive! disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary transition-all duration-200",
|
|
551
662
|
className
|
|
552
663
|
),
|
|
553
664
|
...props,
|
|
554
|
-
children: /* @__PURE__ */
|
|
665
|
+
children: /* @__PURE__ */ jsx15(
|
|
555
666
|
CheckboxPrimitive.Indicator,
|
|
556
667
|
{
|
|
557
668
|
className: cn("flex items-center justify-center text-current"),
|
|
558
|
-
children: indeterminate ? /* @__PURE__ */
|
|
669
|
+
children: indeterminate ? /* @__PURE__ */ jsx15(Minus, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx15(Check, { className: "h-3 w-3" })
|
|
559
670
|
}
|
|
560
671
|
)
|
|
561
672
|
}
|
|
562
673
|
));
|
|
563
674
|
Checkbox.displayName = "Checkbox";
|
|
564
|
-
|
|
565
|
-
|
|
675
|
+
|
|
676
|
+
// src/components/radio-group.tsx
|
|
677
|
+
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
678
|
+
import { forwardRef as forwardRef12 } from "react";
|
|
679
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
680
|
+
var RadioGroup = forwardRef12(({ className, ...props }, ref) => {
|
|
681
|
+
return /* @__PURE__ */ jsx16(
|
|
566
682
|
RadioGroupPrimitive.Root,
|
|
567
683
|
{
|
|
568
684
|
className: cn("grid gap-2", className),
|
|
@@ -573,8 +689,8 @@ var RadioGroup = forwardRef(({ className, ...props }, ref) => {
|
|
|
573
689
|
);
|
|
574
690
|
});
|
|
575
691
|
RadioGroup.displayName = "RadioGroup";
|
|
576
|
-
var RadioGroupItem =
|
|
577
|
-
return /* @__PURE__ */
|
|
692
|
+
var RadioGroupItem = forwardRef12(({ className, ...props }, ref) => {
|
|
693
|
+
return /* @__PURE__ */ jsx16(
|
|
578
694
|
RadioGroupPrimitive.Item,
|
|
579
695
|
{
|
|
580
696
|
ref,
|
|
@@ -582,18 +698,27 @@ var RadioGroupItem = forwardRef(({ className, ...props }, ref) => {
|
|
|
582
698
|
className: cn(
|
|
583
699
|
// Unchecked outline uses primary/40 (clearly visible) instead of primary/5
|
|
584
700
|
// (~5% opacity, effectively invisible); hover strengthens above the resting state.
|
|
585
|
-
|
|
701
|
+
// Resting border uses border-input (a visible 3:1 boundary); the checked
|
|
702
|
+
// state switches to border-primary below, keeping the two states distinct.
|
|
703
|
+
"peer h-4 w-4 shrink-0 rounded-none border border-input bg-background cursor-pointer transition-all duration-150 focus:border-primary! focus-visible:border-primary! focus:outline-none focus-visible:outline-none aria-invalid:border-destructive aria-invalid:focus:border-destructive! aria-invalid:focus-visible:border-destructive! disabled:cursor-not-allowed disabled:opacity-50 hover:border-primary/70 data-[state=checked]:border-primary data-[state=checked]:border-[5px]",
|
|
586
704
|
className
|
|
587
705
|
),
|
|
588
706
|
...props,
|
|
589
|
-
children: /* @__PURE__ */
|
|
707
|
+
children: /* @__PURE__ */ jsx16(RadioGroupPrimitive.Indicator, {})
|
|
590
708
|
}
|
|
591
709
|
);
|
|
592
710
|
});
|
|
593
711
|
RadioGroupItem.displayName = "RadioGroupItem";
|
|
712
|
+
|
|
713
|
+
// src/components/switch.tsx
|
|
714
|
+
import {
|
|
715
|
+
Root as SwitchRoot,
|
|
716
|
+
Thumb as SwitchThumb
|
|
717
|
+
} from "@radix-ui/react-switch";
|
|
718
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
594
719
|
function Switch({ className, ...props }) {
|
|
595
|
-
return /* @__PURE__ */
|
|
596
|
-
|
|
720
|
+
return /* @__PURE__ */ jsx17(
|
|
721
|
+
SwitchRoot,
|
|
597
722
|
{
|
|
598
723
|
"data-slot": "switch",
|
|
599
724
|
className: cn(
|
|
@@ -603,8 +728,8 @@ function Switch({ className, ...props }) {
|
|
|
603
728
|
className
|
|
604
729
|
),
|
|
605
730
|
...props,
|
|
606
|
-
children: /* @__PURE__ */
|
|
607
|
-
|
|
731
|
+
children: /* @__PURE__ */ jsx17(
|
|
732
|
+
SwitchThumb,
|
|
608
733
|
{
|
|
609
734
|
"data-slot": "switch-thumb",
|
|
610
735
|
className: cn(
|
|
@@ -615,12 +740,21 @@ function Switch({ className, ...props }) {
|
|
|
615
740
|
}
|
|
616
741
|
);
|
|
617
742
|
}
|
|
743
|
+
|
|
744
|
+
// src/components/collapsible.tsx
|
|
745
|
+
import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
|
|
618
746
|
var Collapsible = CollapsiblePrimitive.Root;
|
|
619
747
|
var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
|
|
620
748
|
var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
|
|
749
|
+
|
|
750
|
+
// src/components/accordion.tsx
|
|
751
|
+
import * as AccordionPrimitive from "@radix-ui/react-accordion";
|
|
752
|
+
import { ChevronDown } from "lucide-react";
|
|
753
|
+
import { forwardRef as forwardRef13 } from "react";
|
|
754
|
+
import { jsx as jsx18, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
621
755
|
var Accordion = AccordionPrimitive.Root;
|
|
622
|
-
var AccordionItem =
|
|
623
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
756
|
+
var AccordionItem = forwardRef13(
|
|
757
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
|
|
624
758
|
AccordionPrimitive.Item,
|
|
625
759
|
{
|
|
626
760
|
ref,
|
|
@@ -631,8 +765,8 @@ var AccordionItem = forwardRef(
|
|
|
631
765
|
)
|
|
632
766
|
);
|
|
633
767
|
AccordionItem.displayName = "AccordionItem";
|
|
634
|
-
var AccordionTrigger =
|
|
635
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
768
|
+
var AccordionTrigger = forwardRef13(
|
|
769
|
+
({ className, children, ...props }, ref) => /* @__PURE__ */ jsx18(AccordionPrimitive.Header, { className: "flex", "data-slot": "accordion-header", children: /* @__PURE__ */ jsxs3(
|
|
636
770
|
AccordionPrimitive.Trigger,
|
|
637
771
|
{
|
|
638
772
|
ref,
|
|
@@ -644,26 +778,36 @@ var AccordionTrigger = forwardRef(
|
|
|
644
778
|
...props,
|
|
645
779
|
children: [
|
|
646
780
|
children,
|
|
647
|
-
/* @__PURE__ */
|
|
781
|
+
/* @__PURE__ */ jsx18(ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-150 will-change-transform" })
|
|
648
782
|
]
|
|
649
783
|
}
|
|
650
784
|
) })
|
|
651
785
|
);
|
|
652
786
|
AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
|
|
653
|
-
var AccordionContent =
|
|
654
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
787
|
+
var AccordionContent = forwardRef13(
|
|
788
|
+
({ className, children, ...props }, ref) => /* @__PURE__ */ jsx18(
|
|
655
789
|
AccordionPrimitive.Content,
|
|
656
790
|
{
|
|
657
791
|
ref,
|
|
658
792
|
"data-slot": "accordion-content",
|
|
659
793
|
className: "overflow-hidden text-sm transition-all will-change-[height] transform-[translateZ(0)] data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
|
|
660
794
|
...props,
|
|
661
|
-
children: /* @__PURE__ */
|
|
795
|
+
children: /* @__PURE__ */ jsx18("div", { className: cn("pb-4 pt-0", className), children })
|
|
662
796
|
}
|
|
663
797
|
)
|
|
664
798
|
);
|
|
665
799
|
AccordionContent.displayName = AccordionPrimitive.Content.displayName;
|
|
666
|
-
|
|
800
|
+
|
|
801
|
+
// src/components/avatar.tsx
|
|
802
|
+
import {
|
|
803
|
+
Root as AvatarRoot,
|
|
804
|
+
Image as AvatarImagePrimitive,
|
|
805
|
+
Fallback as AvatarFallbackPrimitive
|
|
806
|
+
} from "@radix-ui/react-avatar";
|
|
807
|
+
import { cva as cva7 } from "class-variance-authority";
|
|
808
|
+
import { createContext as createContext2, forwardRef as forwardRef14, useContext as useContext2 } from "react";
|
|
809
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
810
|
+
var avatarVariants = cva7(
|
|
667
811
|
"relative inline-flex shrink-0 overflow-hidden rounded-none items-center justify-center bg-primary/5 text-muted-foreground",
|
|
668
812
|
{
|
|
669
813
|
variants: {
|
|
@@ -692,11 +836,11 @@ var fallbackTextSizeMap = {
|
|
|
692
836
|
"2xl": "text-2xl"
|
|
693
837
|
// 24px for 80px avatar
|
|
694
838
|
};
|
|
695
|
-
var AvatarSizeContext =
|
|
696
|
-
var Avatar =
|
|
839
|
+
var AvatarSizeContext = createContext2("md");
|
|
840
|
+
var Avatar = forwardRef14(
|
|
697
841
|
({ className, size = "md", ...props }, ref) => {
|
|
698
|
-
return /* @__PURE__ */
|
|
699
|
-
|
|
842
|
+
return /* @__PURE__ */ jsx19(AvatarSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx19(
|
|
843
|
+
AvatarRoot,
|
|
700
844
|
{
|
|
701
845
|
ref,
|
|
702
846
|
"data-slot": "avatar",
|
|
@@ -707,10 +851,10 @@ var Avatar = forwardRef(
|
|
|
707
851
|
}
|
|
708
852
|
);
|
|
709
853
|
Avatar.displayName = "Avatar";
|
|
710
|
-
var AvatarImage =
|
|
854
|
+
var AvatarImage = forwardRef14(
|
|
711
855
|
({ className, ...props }, ref) => {
|
|
712
|
-
return /* @__PURE__ */
|
|
713
|
-
|
|
856
|
+
return /* @__PURE__ */ jsx19(
|
|
857
|
+
AvatarImagePrimitive,
|
|
714
858
|
{
|
|
715
859
|
ref,
|
|
716
860
|
"data-slot": "avatar-image",
|
|
@@ -721,12 +865,12 @@ var AvatarImage = forwardRef(
|
|
|
721
865
|
}
|
|
722
866
|
);
|
|
723
867
|
AvatarImage.displayName = "AvatarImage";
|
|
724
|
-
var AvatarFallback =
|
|
868
|
+
var AvatarFallback = forwardRef14(
|
|
725
869
|
({ className, children, ...props }, ref) => {
|
|
726
|
-
const size =
|
|
870
|
+
const size = useContext2(AvatarSizeContext) || "md";
|
|
727
871
|
const textSize = fallbackTextSizeMap[size];
|
|
728
|
-
return /* @__PURE__ */
|
|
729
|
-
|
|
872
|
+
return /* @__PURE__ */ jsx19(
|
|
873
|
+
AvatarFallbackPrimitive,
|
|
730
874
|
{
|
|
731
875
|
ref,
|
|
732
876
|
"data-slot": "avatar-fallback",
|
|
@@ -742,9 +886,14 @@ var AvatarFallback = forwardRef(
|
|
|
742
886
|
}
|
|
743
887
|
);
|
|
744
888
|
AvatarFallback.displayName = "AvatarFallback";
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
889
|
+
|
|
890
|
+
// src/components/tabs.tsx
|
|
891
|
+
import { Root as Root7, List, Trigger as Trigger3, Content as Content3 } from "@radix-ui/react-tabs";
|
|
892
|
+
import { forwardRef as forwardRef15 } from "react";
|
|
893
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
894
|
+
var Tabs = Root7;
|
|
895
|
+
var TabsList = forwardRef15(
|
|
896
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
|
|
748
897
|
List,
|
|
749
898
|
{
|
|
750
899
|
ref,
|
|
@@ -758,42 +907,47 @@ var TabsList = forwardRef(
|
|
|
758
907
|
)
|
|
759
908
|
);
|
|
760
909
|
TabsList.displayName = List.displayName;
|
|
761
|
-
var TabsTrigger =
|
|
762
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
763
|
-
|
|
910
|
+
var TabsTrigger = forwardRef15(
|
|
911
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
|
|
912
|
+
Trigger3,
|
|
764
913
|
{
|
|
765
914
|
ref,
|
|
766
915
|
"data-slot": "tabs-trigger",
|
|
767
916
|
className: cn(
|
|
768
|
-
"inline-flex items-center justify-center whitespace-nowrap rounded-none bg-transparent px-4 py-2 text-sm font-medium cursor-pointer transition-all duration-200 border-b-2 relative -mb-0.5 data-[state=active]:border-b-primary! data-[state=active]:text-primary data-[state=inactive]:border-transparent data-[state=inactive]:text-muted-foreground hover:text-primary hover:border-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring
|
|
917
|
+
"inline-flex items-center justify-center whitespace-nowrap rounded-none bg-transparent px-4 py-2 text-sm font-medium cursor-pointer transition-all duration-200 border-b-2 relative -mb-0.5 data-[state=active]:border-b-primary! data-[state=active]:text-primary data-[state=inactive]:border-transparent data-[state=inactive]:text-muted-foreground hover:text-primary hover:border-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed",
|
|
769
918
|
className
|
|
770
919
|
),
|
|
771
920
|
...props
|
|
772
921
|
}
|
|
773
922
|
)
|
|
774
923
|
);
|
|
775
|
-
TabsTrigger.displayName =
|
|
776
|
-
var TabsContent =
|
|
777
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
778
|
-
|
|
924
|
+
TabsTrigger.displayName = Trigger3.displayName;
|
|
925
|
+
var TabsContent = forwardRef15(
|
|
926
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
|
|
927
|
+
Content3,
|
|
779
928
|
{
|
|
780
929
|
ref,
|
|
781
930
|
"data-slot": "tabs-content",
|
|
782
931
|
className: cn(
|
|
783
|
-
"mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring
|
|
932
|
+
"mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
784
933
|
className
|
|
785
934
|
),
|
|
786
935
|
...props
|
|
787
936
|
}
|
|
788
937
|
)
|
|
789
938
|
);
|
|
790
|
-
TabsContent.displayName =
|
|
939
|
+
TabsContent.displayName = Content3.displayName;
|
|
940
|
+
|
|
941
|
+
// src/components/popover.tsx
|
|
942
|
+
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
943
|
+
import * as React5 from "react";
|
|
944
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
791
945
|
var Popover = PopoverPrimitive.Root;
|
|
792
946
|
var PopoverTrigger = PopoverPrimitive.Trigger;
|
|
793
947
|
var PopoverAnchor = PopoverPrimitive.Anchor;
|
|
794
|
-
var PopoverContent =
|
|
948
|
+
var PopoverContent = React5.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => {
|
|
795
949
|
const portalContainer = usePortalContainer();
|
|
796
|
-
return /* @__PURE__ */
|
|
950
|
+
return /* @__PURE__ */ jsx21(PopoverPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx21(
|
|
797
951
|
PopoverPrimitive.Content,
|
|
798
952
|
{
|
|
799
953
|
ref,
|
|
@@ -809,11 +963,18 @@ var PopoverContent = React6.forwardRef(({ className, align = "center", sideOffse
|
|
|
809
963
|
) });
|
|
810
964
|
});
|
|
811
965
|
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
966
|
+
|
|
967
|
+
// src/components/dialog.tsx
|
|
968
|
+
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
969
|
+
import { cva as cva8 } from "class-variance-authority";
|
|
970
|
+
import { X } from "lucide-react";
|
|
971
|
+
import { forwardRef as forwardRef17 } from "react";
|
|
972
|
+
import { jsx as jsx22, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
812
973
|
var Dialog = DialogPrimitive.Root;
|
|
813
974
|
var DialogTrigger = DialogPrimitive.Trigger;
|
|
814
975
|
var DialogPortal = DialogPrimitive.Portal;
|
|
815
976
|
var DialogClose = DialogPrimitive.Close;
|
|
816
|
-
var DialogOverlay =
|
|
977
|
+
var DialogOverlay = forwardRef17(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
|
|
817
978
|
DialogPrimitive.Overlay,
|
|
818
979
|
{
|
|
819
980
|
ref,
|
|
@@ -826,7 +987,7 @@ var DialogOverlay = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
826
987
|
}
|
|
827
988
|
));
|
|
828
989
|
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
829
|
-
var dialogContentVariants =
|
|
990
|
+
var dialogContentVariants = cva8("", {
|
|
830
991
|
variants: {
|
|
831
992
|
size: {
|
|
832
993
|
sm: "max-w-sm",
|
|
@@ -840,11 +1001,11 @@ var dialogContentVariants = cva("", {
|
|
|
840
1001
|
size: "md"
|
|
841
1002
|
}
|
|
842
1003
|
});
|
|
843
|
-
var DialogContent =
|
|
1004
|
+
var DialogContent = forwardRef17(({ className, children, size, ...props }, ref) => {
|
|
844
1005
|
const portalContainer = usePortalContainer();
|
|
845
|
-
return /* @__PURE__ */
|
|
846
|
-
/* @__PURE__ */
|
|
847
|
-
/* @__PURE__ */
|
|
1006
|
+
return /* @__PURE__ */ jsxs4(DialogPortal, { container: portalContainer, children: [
|
|
1007
|
+
/* @__PURE__ */ jsx22(DialogOverlay, {}),
|
|
1008
|
+
/* @__PURE__ */ jsxs4(
|
|
848
1009
|
DialogPrimitive.Content,
|
|
849
1010
|
{
|
|
850
1011
|
ref,
|
|
@@ -857,14 +1018,14 @@ var DialogContent = forwardRef(({ className, children, size, ...props }, ref) =>
|
|
|
857
1018
|
...props,
|
|
858
1019
|
children: [
|
|
859
1020
|
children,
|
|
860
|
-
/* @__PURE__ */
|
|
1021
|
+
/* @__PURE__ */ jsxs4(
|
|
861
1022
|
DialogPrimitive.Close,
|
|
862
1023
|
{
|
|
863
1024
|
"data-slot": "dialog-close",
|
|
864
1025
|
className: "absolute right-4 top-4 rounded-none p-1 text-muted-foreground cursor-pointer transition-colors duration-150 hover-unified focus:outline-none focus:ring-2 focus:ring-ring disabled:pointer-events-none disabled:cursor-not-allowed",
|
|
865
1026
|
children: [
|
|
866
|
-
/* @__PURE__ */
|
|
867
|
-
/* @__PURE__ */
|
|
1027
|
+
/* @__PURE__ */ jsx22(X, { className: "h-4 w-4" }),
|
|
1028
|
+
/* @__PURE__ */ jsx22("span", { className: "sr-only", children: "Close" })
|
|
868
1029
|
]
|
|
869
1030
|
}
|
|
870
1031
|
)
|
|
@@ -874,8 +1035,8 @@ var DialogContent = forwardRef(({ className, children, size, ...props }, ref) =>
|
|
|
874
1035
|
] });
|
|
875
1036
|
});
|
|
876
1037
|
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
877
|
-
var DialogHeader =
|
|
878
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1038
|
+
var DialogHeader = forwardRef17(
|
|
1039
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
|
|
879
1040
|
"div",
|
|
880
1041
|
{
|
|
881
1042
|
ref,
|
|
@@ -888,8 +1049,8 @@ var DialogHeader = forwardRef(
|
|
|
888
1049
|
)
|
|
889
1050
|
);
|
|
890
1051
|
DialogHeader.displayName = "DialogHeader";
|
|
891
|
-
var DialogFooter =
|
|
892
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1052
|
+
var DialogFooter = forwardRef17(
|
|
1053
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
|
|
893
1054
|
"div",
|
|
894
1055
|
{
|
|
895
1056
|
ref,
|
|
@@ -902,7 +1063,7 @@ var DialogFooter = forwardRef(
|
|
|
902
1063
|
)
|
|
903
1064
|
);
|
|
904
1065
|
DialogFooter.displayName = "DialogFooter";
|
|
905
|
-
var DialogTitle =
|
|
1066
|
+
var DialogTitle = forwardRef17(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
|
|
906
1067
|
DialogPrimitive.Title,
|
|
907
1068
|
{
|
|
908
1069
|
ref,
|
|
@@ -914,7 +1075,7 @@ var DialogTitle = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ j
|
|
|
914
1075
|
}
|
|
915
1076
|
));
|
|
916
1077
|
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
917
|
-
var DialogDescription =
|
|
1078
|
+
var DialogDescription = forwardRef17(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
|
|
918
1079
|
DialogPrimitive.Description,
|
|
919
1080
|
{
|
|
920
1081
|
ref,
|
|
@@ -923,10 +1084,17 @@ var DialogDescription = forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
923
1084
|
}
|
|
924
1085
|
));
|
|
925
1086
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
1087
|
+
|
|
1088
|
+
// src/components/alert-dialog.tsx
|
|
1089
|
+
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
1090
|
+
import {
|
|
1091
|
+
forwardRef as forwardRef18
|
|
1092
|
+
} from "react";
|
|
1093
|
+
import { jsx as jsx23, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
926
1094
|
var AlertDialog = AlertDialogPrimitive.Root;
|
|
927
1095
|
var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
|
|
928
1096
|
var AlertDialogPortal = AlertDialogPrimitive.Portal;
|
|
929
|
-
var AlertDialogOverlay =
|
|
1097
|
+
var AlertDialogOverlay = forwardRef18(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
|
|
930
1098
|
AlertDialogPrimitive.Overlay,
|
|
931
1099
|
{
|
|
932
1100
|
ref,
|
|
@@ -938,11 +1106,11 @@ var AlertDialogOverlay = forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
938
1106
|
}
|
|
939
1107
|
));
|
|
940
1108
|
AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
|
|
941
|
-
var AlertDialogContent =
|
|
1109
|
+
var AlertDialogContent = forwardRef18(({ className, ...props }, ref) => {
|
|
942
1110
|
const portalContainer = usePortalContainer();
|
|
943
|
-
return /* @__PURE__ */
|
|
944
|
-
/* @__PURE__ */
|
|
945
|
-
/* @__PURE__ */
|
|
1111
|
+
return /* @__PURE__ */ jsxs5(AlertDialogPortal, { container: portalContainer, children: [
|
|
1112
|
+
/* @__PURE__ */ jsx23(AlertDialogOverlay, {}),
|
|
1113
|
+
/* @__PURE__ */ jsx23(
|
|
946
1114
|
AlertDialogPrimitive.Content,
|
|
947
1115
|
{
|
|
948
1116
|
ref,
|
|
@@ -956,8 +1124,8 @@ var AlertDialogContent = forwardRef(({ className, ...props }, ref) => {
|
|
|
956
1124
|
] });
|
|
957
1125
|
});
|
|
958
1126
|
AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
|
|
959
|
-
var AlertDialogHeader =
|
|
960
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1127
|
+
var AlertDialogHeader = forwardRef18(
|
|
1128
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
|
|
961
1129
|
"div",
|
|
962
1130
|
{
|
|
963
1131
|
ref,
|
|
@@ -970,8 +1138,8 @@ var AlertDialogHeader = forwardRef(
|
|
|
970
1138
|
)
|
|
971
1139
|
);
|
|
972
1140
|
AlertDialogHeader.displayName = "AlertDialogHeader";
|
|
973
|
-
var AlertDialogFooter =
|
|
974
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1141
|
+
var AlertDialogFooter = forwardRef18(
|
|
1142
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
|
|
975
1143
|
"div",
|
|
976
1144
|
{
|
|
977
1145
|
ref,
|
|
@@ -984,7 +1152,7 @@ var AlertDialogFooter = forwardRef(
|
|
|
984
1152
|
)
|
|
985
1153
|
);
|
|
986
1154
|
AlertDialogFooter.displayName = "AlertDialogFooter";
|
|
987
|
-
var AlertDialogTitle =
|
|
1155
|
+
var AlertDialogTitle = forwardRef18(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
|
|
988
1156
|
AlertDialogPrimitive.Title,
|
|
989
1157
|
{
|
|
990
1158
|
ref,
|
|
@@ -996,7 +1164,7 @@ var AlertDialogTitle = forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
996
1164
|
}
|
|
997
1165
|
));
|
|
998
1166
|
AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
|
|
999
|
-
var AlertDialogDescription =
|
|
1167
|
+
var AlertDialogDescription = forwardRef18(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
|
|
1000
1168
|
AlertDialogPrimitive.Description,
|
|
1001
1169
|
{
|
|
1002
1170
|
ref,
|
|
@@ -1005,7 +1173,7 @@ var AlertDialogDescription = forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
1005
1173
|
}
|
|
1006
1174
|
));
|
|
1007
1175
|
AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
|
|
1008
|
-
var AlertDialogAction =
|
|
1176
|
+
var AlertDialogAction = forwardRef18(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx23(
|
|
1009
1177
|
AlertDialogPrimitive.Action,
|
|
1010
1178
|
{
|
|
1011
1179
|
ref,
|
|
@@ -1015,7 +1183,7 @@ var AlertDialogAction = forwardRef(({ className, children, ...props }, ref) => /
|
|
|
1015
1183
|
}
|
|
1016
1184
|
));
|
|
1017
1185
|
AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
|
|
1018
|
-
var AlertDialogCancel =
|
|
1186
|
+
var AlertDialogCancel = forwardRef18(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx23(
|
|
1019
1187
|
AlertDialogPrimitive.Cancel,
|
|
1020
1188
|
{
|
|
1021
1189
|
ref,
|
|
@@ -1029,6 +1197,12 @@ var AlertDialogCancel = forwardRef(({ className, children, ...props }, ref) => /
|
|
|
1029
1197
|
}
|
|
1030
1198
|
));
|
|
1031
1199
|
AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
|
|
1200
|
+
|
|
1201
|
+
// src/components/dropdown-menu.tsx
|
|
1202
|
+
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
1203
|
+
import { Check as Check2, ChevronRight, Circle } from "lucide-react";
|
|
1204
|
+
import * as React6 from "react";
|
|
1205
|
+
import { jsx as jsx24, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1032
1206
|
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
1033
1207
|
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
1034
1208
|
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
@@ -1036,7 +1210,7 @@ var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
|
|
|
1036
1210
|
var DropdownMenuSub = DropdownMenuPrimitive.Sub;
|
|
1037
1211
|
var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
1038
1212
|
var menuItemBase = "cursor-pointer transition-colors data-[highlighted]:bg-muted data-[highlighted]:text-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
|
|
1039
|
-
var DropdownMenuSubTrigger = React6.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */
|
|
1213
|
+
var DropdownMenuSubTrigger = React6.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
|
|
1040
1214
|
DropdownMenuPrimitive.SubTrigger,
|
|
1041
1215
|
{
|
|
1042
1216
|
ref,
|
|
@@ -1049,12 +1223,12 @@ var DropdownMenuSubTrigger = React6.forwardRef(({ className, inset, children, ..
|
|
|
1049
1223
|
...props,
|
|
1050
1224
|
children: [
|
|
1051
1225
|
children,
|
|
1052
|
-
/* @__PURE__ */
|
|
1226
|
+
/* @__PURE__ */ jsx24(ChevronRight, { className: "ml-auto" })
|
|
1053
1227
|
]
|
|
1054
1228
|
}
|
|
1055
1229
|
));
|
|
1056
1230
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
1057
|
-
var DropdownMenuSubContent = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1231
|
+
var DropdownMenuSubContent = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
|
|
1058
1232
|
DropdownMenuPrimitive.SubContent,
|
|
1059
1233
|
{
|
|
1060
1234
|
ref,
|
|
@@ -1068,7 +1242,7 @@ var DropdownMenuSubContent = React6.forwardRef(({ className, ...props }, ref) =>
|
|
|
1068
1242
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
1069
1243
|
var DropdownMenuContent = React6.forwardRef(({ className, sideOffset = 4, ...props }, ref) => {
|
|
1070
1244
|
const portalContainer = usePortalContainer();
|
|
1071
|
-
return /* @__PURE__ */
|
|
1245
|
+
return /* @__PURE__ */ jsx24(DropdownMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx24(
|
|
1072
1246
|
DropdownMenuPrimitive.Content,
|
|
1073
1247
|
{
|
|
1074
1248
|
ref,
|
|
@@ -1082,7 +1256,7 @@ var DropdownMenuContent = React6.forwardRef(({ className, sideOffset = 4, ...pro
|
|
|
1082
1256
|
) });
|
|
1083
1257
|
});
|
|
1084
1258
|
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
1085
|
-
var DropdownMenuItem = React6.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */
|
|
1259
|
+
var DropdownMenuItem = React6.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx24(
|
|
1086
1260
|
DropdownMenuPrimitive.Item,
|
|
1087
1261
|
{
|
|
1088
1262
|
ref,
|
|
@@ -1096,7 +1270,7 @@ var DropdownMenuItem = React6.forwardRef(({ className, inset, ...props }, ref) =
|
|
|
1096
1270
|
}
|
|
1097
1271
|
));
|
|
1098
1272
|
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
1099
|
-
var DropdownMenuCheckboxItem = React6.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */
|
|
1273
|
+
var DropdownMenuCheckboxItem = React6.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs6(
|
|
1100
1274
|
DropdownMenuPrimitive.CheckboxItem,
|
|
1101
1275
|
{
|
|
1102
1276
|
ref,
|
|
@@ -1108,13 +1282,13 @@ var DropdownMenuCheckboxItem = React6.forwardRef(({ className, children, checked
|
|
|
1108
1282
|
checked,
|
|
1109
1283
|
...props,
|
|
1110
1284
|
children: [
|
|
1111
|
-
/* @__PURE__ */
|
|
1285
|
+
/* @__PURE__ */ jsx24("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx24(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx24(Check2, { className: "h-4 w-4" }) }) }),
|
|
1112
1286
|
children
|
|
1113
1287
|
]
|
|
1114
1288
|
}
|
|
1115
1289
|
));
|
|
1116
1290
|
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
1117
|
-
var DropdownMenuRadioItem = React6.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
1291
|
+
var DropdownMenuRadioItem = React6.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
|
|
1118
1292
|
DropdownMenuPrimitive.RadioItem,
|
|
1119
1293
|
{
|
|
1120
1294
|
ref,
|
|
@@ -1125,13 +1299,13 @@ var DropdownMenuRadioItem = React6.forwardRef(({ className, children, ...props }
|
|
|
1125
1299
|
),
|
|
1126
1300
|
...props,
|
|
1127
1301
|
children: [
|
|
1128
|
-
/* @__PURE__ */
|
|
1302
|
+
/* @__PURE__ */ jsx24("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx24(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx24(Circle, { className: "h-2 w-2 fill-current" }) }) }),
|
|
1129
1303
|
children
|
|
1130
1304
|
]
|
|
1131
1305
|
}
|
|
1132
1306
|
));
|
|
1133
1307
|
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
1134
|
-
var DropdownMenuLabel = React6.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */
|
|
1308
|
+
var DropdownMenuLabel = React6.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx24(
|
|
1135
1309
|
DropdownMenuPrimitive.Label,
|
|
1136
1310
|
{
|
|
1137
1311
|
ref,
|
|
@@ -1144,7 +1318,7 @@ var DropdownMenuLabel = React6.forwardRef(({ className, inset, ...props }, ref)
|
|
|
1144
1318
|
}
|
|
1145
1319
|
));
|
|
1146
1320
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
1147
|
-
var DropdownMenuSeparator = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1321
|
+
var DropdownMenuSeparator = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
|
|
1148
1322
|
DropdownMenuPrimitive.Separator,
|
|
1149
1323
|
{
|
|
1150
1324
|
ref,
|
|
@@ -1154,7 +1328,7 @@ var DropdownMenuSeparator = React6.forwardRef(({ className, ...props }, ref) =>
|
|
|
1154
1328
|
));
|
|
1155
1329
|
DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
|
|
1156
1330
|
var DropdownMenuShortcut = React6.forwardRef(({ className, ...props }, ref) => {
|
|
1157
|
-
return /* @__PURE__ */
|
|
1331
|
+
return /* @__PURE__ */ jsx24(
|
|
1158
1332
|
"span",
|
|
1159
1333
|
{
|
|
1160
1334
|
ref,
|
|
@@ -1164,21 +1338,30 @@ var DropdownMenuShortcut = React6.forwardRef(({ className, ...props }, ref) => {
|
|
|
1164
1338
|
);
|
|
1165
1339
|
});
|
|
1166
1340
|
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
1341
|
+
|
|
1342
|
+
// src/components/select.tsx
|
|
1343
|
+
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
1344
|
+
import { cva as cva9 } from "class-variance-authority";
|
|
1345
|
+
import { Check as Check3, ChevronDown as ChevronDown2, ChevronUp } from "lucide-react";
|
|
1346
|
+
import { forwardRef as forwardRef20 } from "react";
|
|
1347
|
+
import { jsx as jsx25, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1167
1348
|
function Select({ ...props }) {
|
|
1168
|
-
return /* @__PURE__ */
|
|
1349
|
+
return /* @__PURE__ */ jsx25(SelectPrimitive.Root, { "data-slot": "select", ...props });
|
|
1169
1350
|
}
|
|
1170
1351
|
function SelectGroup({
|
|
1171
1352
|
...props
|
|
1172
1353
|
}) {
|
|
1173
|
-
return /* @__PURE__ */
|
|
1354
|
+
return /* @__PURE__ */ jsx25(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
|
|
1174
1355
|
}
|
|
1175
1356
|
function SelectValue({
|
|
1176
1357
|
...props
|
|
1177
1358
|
}) {
|
|
1178
|
-
return /* @__PURE__ */
|
|
1359
|
+
return /* @__PURE__ */ jsx25(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
|
|
1179
1360
|
}
|
|
1180
|
-
var selectTriggerVariants =
|
|
1181
|
-
|
|
1361
|
+
var selectTriggerVariants = cva9(
|
|
1362
|
+
// hover:border-primary (full strength) keeps the hover boundary more visible
|
|
1363
|
+
// than the resting border-input, not a fainter alpha of it.
|
|
1364
|
+
"flex w-full items-center justify-between gap-2 rounded-none border border-input bg-background px-3 text-sm text-foreground cursor-pointer transition-all duration-150 focus:border-primary! focus-visible:border-primary! focus:outline-none hover:border-primary disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-primary/5 data-[placeholder]:text-muted-foreground aria-[invalid=true]:border-destructive aria-[invalid=true]:focus:border-destructive! [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:size-4",
|
|
1182
1365
|
{
|
|
1183
1366
|
variants: {
|
|
1184
1367
|
size: {
|
|
@@ -1192,8 +1375,8 @@ var selectTriggerVariants = cva(
|
|
|
1192
1375
|
}
|
|
1193
1376
|
}
|
|
1194
1377
|
);
|
|
1195
|
-
var SelectTrigger =
|
|
1196
|
-
return /* @__PURE__ */
|
|
1378
|
+
var SelectTrigger = forwardRef20(({ className, size, children, ...props }, ref) => {
|
|
1379
|
+
return /* @__PURE__ */ jsxs7(
|
|
1197
1380
|
SelectPrimitive.Trigger,
|
|
1198
1381
|
{
|
|
1199
1382
|
ref,
|
|
@@ -1202,7 +1385,7 @@ var SelectTrigger = forwardRef(({ className, size, children, ...props }, ref) =>
|
|
|
1202
1385
|
...props,
|
|
1203
1386
|
children: [
|
|
1204
1387
|
children,
|
|
1205
|
-
/* @__PURE__ */
|
|
1388
|
+
/* @__PURE__ */ jsx25(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx25(ChevronDown2, { className: "size-4 opacity-50" }) })
|
|
1206
1389
|
]
|
|
1207
1390
|
}
|
|
1208
1391
|
);
|
|
@@ -1215,7 +1398,7 @@ function SelectContent({
|
|
|
1215
1398
|
...props
|
|
1216
1399
|
}) {
|
|
1217
1400
|
const portalContainer = usePortalContainer();
|
|
1218
|
-
return /* @__PURE__ */
|
|
1401
|
+
return /* @__PURE__ */ jsx25(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxs7(
|
|
1219
1402
|
SelectPrimitive.Content,
|
|
1220
1403
|
{
|
|
1221
1404
|
"data-slot": "select-content",
|
|
@@ -1227,8 +1410,8 @@ function SelectContent({
|
|
|
1227
1410
|
position,
|
|
1228
1411
|
...props,
|
|
1229
1412
|
children: [
|
|
1230
|
-
/* @__PURE__ */
|
|
1231
|
-
/* @__PURE__ */
|
|
1413
|
+
/* @__PURE__ */ jsx25(SelectScrollUpButton, {}),
|
|
1414
|
+
/* @__PURE__ */ jsx25(
|
|
1232
1415
|
SelectPrimitive.Viewport,
|
|
1233
1416
|
{
|
|
1234
1417
|
className: cn(
|
|
@@ -1238,7 +1421,7 @@ function SelectContent({
|
|
|
1238
1421
|
children
|
|
1239
1422
|
}
|
|
1240
1423
|
),
|
|
1241
|
-
/* @__PURE__ */
|
|
1424
|
+
/* @__PURE__ */ jsx25(SelectScrollDownButton, {})
|
|
1242
1425
|
]
|
|
1243
1426
|
}
|
|
1244
1427
|
) });
|
|
@@ -1247,7 +1430,7 @@ function SelectLabel({
|
|
|
1247
1430
|
className,
|
|
1248
1431
|
...props
|
|
1249
1432
|
}) {
|
|
1250
|
-
return /* @__PURE__ */
|
|
1433
|
+
return /* @__PURE__ */ jsx25(
|
|
1251
1434
|
SelectPrimitive.Label,
|
|
1252
1435
|
{
|
|
1253
1436
|
"data-slot": "select-label",
|
|
@@ -1261,7 +1444,7 @@ function SelectItem({
|
|
|
1261
1444
|
children,
|
|
1262
1445
|
...props
|
|
1263
1446
|
}) {
|
|
1264
|
-
return /* @__PURE__ */
|
|
1447
|
+
return /* @__PURE__ */ jsxs7(
|
|
1265
1448
|
SelectPrimitive.Item,
|
|
1266
1449
|
{
|
|
1267
1450
|
"data-slot": "select-item",
|
|
@@ -1271,8 +1454,8 @@ function SelectItem({
|
|
|
1271
1454
|
),
|
|
1272
1455
|
...props,
|
|
1273
1456
|
children: [
|
|
1274
|
-
/* @__PURE__ */
|
|
1275
|
-
/* @__PURE__ */
|
|
1457
|
+
/* @__PURE__ */ jsx25("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx25(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx25(Check3, { className: "size-4" }) }) }),
|
|
1458
|
+
/* @__PURE__ */ jsx25(SelectPrimitive.ItemText, { children })
|
|
1276
1459
|
]
|
|
1277
1460
|
}
|
|
1278
1461
|
);
|
|
@@ -1281,7 +1464,7 @@ function SelectSeparator({
|
|
|
1281
1464
|
className,
|
|
1282
1465
|
...props
|
|
1283
1466
|
}) {
|
|
1284
|
-
return /* @__PURE__ */
|
|
1467
|
+
return /* @__PURE__ */ jsx25(
|
|
1285
1468
|
SelectPrimitive.Separator,
|
|
1286
1469
|
{
|
|
1287
1470
|
"data-slot": "select-separator",
|
|
@@ -1294,7 +1477,7 @@ function SelectScrollUpButton({
|
|
|
1294
1477
|
className,
|
|
1295
1478
|
...props
|
|
1296
1479
|
}) {
|
|
1297
|
-
return /* @__PURE__ */
|
|
1480
|
+
return /* @__PURE__ */ jsx25(
|
|
1298
1481
|
SelectPrimitive.ScrollUpButton,
|
|
1299
1482
|
{
|
|
1300
1483
|
"data-slot": "select-scroll-up-button",
|
|
@@ -1303,7 +1486,7 @@ function SelectScrollUpButton({
|
|
|
1303
1486
|
className
|
|
1304
1487
|
),
|
|
1305
1488
|
...props,
|
|
1306
|
-
children: /* @__PURE__ */
|
|
1489
|
+
children: /* @__PURE__ */ jsx25(ChevronUp, { className: "size-4" })
|
|
1307
1490
|
}
|
|
1308
1491
|
);
|
|
1309
1492
|
}
|
|
@@ -1311,7 +1494,7 @@ function SelectScrollDownButton({
|
|
|
1311
1494
|
className,
|
|
1312
1495
|
...props
|
|
1313
1496
|
}) {
|
|
1314
|
-
return /* @__PURE__ */
|
|
1497
|
+
return /* @__PURE__ */ jsx25(
|
|
1315
1498
|
SelectPrimitive.ScrollDownButton,
|
|
1316
1499
|
{
|
|
1317
1500
|
"data-slot": "select-scroll-down-button",
|
|
@@ -1320,16 +1503,22 @@ function SelectScrollDownButton({
|
|
|
1320
1503
|
className
|
|
1321
1504
|
),
|
|
1322
1505
|
...props,
|
|
1323
|
-
children: /* @__PURE__ */
|
|
1506
|
+
children: /* @__PURE__ */ jsx25(ChevronDown2, { className: "size-4" })
|
|
1324
1507
|
}
|
|
1325
1508
|
);
|
|
1326
1509
|
}
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1510
|
+
|
|
1511
|
+
// src/components/sheet.tsx
|
|
1512
|
+
import * as DialogPrimitive2 from "@radix-ui/react-dialog";
|
|
1513
|
+
import { cva as cva10 } from "class-variance-authority";
|
|
1514
|
+
import * as React7 from "react";
|
|
1515
|
+
import { jsx as jsx26, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1516
|
+
var Sheet = DialogPrimitive2.Root;
|
|
1517
|
+
var SheetTrigger = DialogPrimitive2.Trigger;
|
|
1518
|
+
var SheetClose = DialogPrimitive2.Close;
|
|
1519
|
+
var SheetPortal = DialogPrimitive2.Portal;
|
|
1520
|
+
var SheetOverlay = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
|
|
1521
|
+
DialogPrimitive2.Overlay,
|
|
1333
1522
|
{
|
|
1334
1523
|
className: cn(
|
|
1335
1524
|
"fixed inset-0 z-50 bg-black/50 backdrop-blur-sm",
|
|
@@ -1341,8 +1530,8 @@ var SheetOverlay = React6.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1341
1530
|
ref
|
|
1342
1531
|
}
|
|
1343
1532
|
));
|
|
1344
|
-
SheetOverlay.displayName =
|
|
1345
|
-
var sheetVariants =
|
|
1533
|
+
SheetOverlay.displayName = DialogPrimitive2.Overlay.displayName;
|
|
1534
|
+
var sheetVariants = cva10(
|
|
1346
1535
|
"fixed z-50 gap-4 bg-background p-6 shadow-lg will-change-transform transition ease-in-out data-[state=closed]:duration-150 data-[state=open]:duration-150 data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
1347
1536
|
{
|
|
1348
1537
|
variants: {
|
|
@@ -1358,12 +1547,12 @@ var sheetVariants = cva(
|
|
|
1358
1547
|
}
|
|
1359
1548
|
}
|
|
1360
1549
|
);
|
|
1361
|
-
var SheetContent =
|
|
1550
|
+
var SheetContent = React7.forwardRef(({ side = "right", className, children, ...props }, ref) => {
|
|
1362
1551
|
const portalContainer = usePortalContainer();
|
|
1363
|
-
return /* @__PURE__ */
|
|
1364
|
-
/* @__PURE__ */
|
|
1365
|
-
/* @__PURE__ */
|
|
1366
|
-
|
|
1552
|
+
return /* @__PURE__ */ jsxs8(SheetPortal, { container: portalContainer, children: [
|
|
1553
|
+
/* @__PURE__ */ jsx26(SheetOverlay, {}),
|
|
1554
|
+
/* @__PURE__ */ jsx26(
|
|
1555
|
+
DialogPrimitive2.Content,
|
|
1367
1556
|
{
|
|
1368
1557
|
ref,
|
|
1369
1558
|
"data-slot": "sheet-content",
|
|
@@ -1374,11 +1563,11 @@ var SheetContent = React6.forwardRef(({ side = "right", className, children, ...
|
|
|
1374
1563
|
)
|
|
1375
1564
|
] });
|
|
1376
1565
|
});
|
|
1377
|
-
SheetContent.displayName =
|
|
1566
|
+
SheetContent.displayName = DialogPrimitive2.Content.displayName;
|
|
1378
1567
|
var SheetHeader = ({
|
|
1379
1568
|
className,
|
|
1380
1569
|
...props
|
|
1381
|
-
}) => /* @__PURE__ */
|
|
1570
|
+
}) => /* @__PURE__ */ jsx26(
|
|
1382
1571
|
"div",
|
|
1383
1572
|
{
|
|
1384
1573
|
className: cn(
|
|
@@ -1392,7 +1581,7 @@ SheetHeader.displayName = "SheetHeader";
|
|
|
1392
1581
|
var SheetFooter = ({
|
|
1393
1582
|
className,
|
|
1394
1583
|
...props
|
|
1395
|
-
}) => /* @__PURE__ */
|
|
1584
|
+
}) => /* @__PURE__ */ jsx26(
|
|
1396
1585
|
"div",
|
|
1397
1586
|
{
|
|
1398
1587
|
className: cn(
|
|
@@ -1403,27 +1592,34 @@ var SheetFooter = ({
|
|
|
1403
1592
|
}
|
|
1404
1593
|
);
|
|
1405
1594
|
SheetFooter.displayName = "SheetFooter";
|
|
1406
|
-
var SheetTitle =
|
|
1407
|
-
|
|
1595
|
+
var SheetTitle = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
|
|
1596
|
+
DialogPrimitive2.Title,
|
|
1408
1597
|
{
|
|
1409
1598
|
ref,
|
|
1410
1599
|
className: cn("text-lg font-semibold text-foreground", className),
|
|
1411
1600
|
...props
|
|
1412
1601
|
}
|
|
1413
1602
|
));
|
|
1414
|
-
SheetTitle.displayName =
|
|
1415
|
-
var SheetDescription =
|
|
1416
|
-
|
|
1603
|
+
SheetTitle.displayName = DialogPrimitive2.Title.displayName;
|
|
1604
|
+
var SheetDescription = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
|
|
1605
|
+
DialogPrimitive2.Description,
|
|
1417
1606
|
{
|
|
1418
1607
|
ref,
|
|
1419
1608
|
className: cn("text-sm text-muted-foreground", className),
|
|
1420
1609
|
...props
|
|
1421
1610
|
}
|
|
1422
1611
|
));
|
|
1423
|
-
SheetDescription.displayName =
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1612
|
+
SheetDescription.displayName = DialogPrimitive2.Description.displayName;
|
|
1613
|
+
|
|
1614
|
+
// src/components/command.tsx
|
|
1615
|
+
import * as DialogPrimitive3 from "@radix-ui/react-dialog";
|
|
1616
|
+
import { Command as CommandPrimitive } from "cmdk";
|
|
1617
|
+
import { Search } from "lucide-react";
|
|
1618
|
+
import { forwardRef as forwardRef22 } from "react";
|
|
1619
|
+
import { jsx as jsx27, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1620
|
+
var Command = forwardRef22(
|
|
1621
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1622
|
+
CommandPrimitive,
|
|
1427
1623
|
{
|
|
1428
1624
|
ref,
|
|
1429
1625
|
className: cn(
|
|
@@ -1435,8 +1631,8 @@ var Command = forwardRef(
|
|
|
1435
1631
|
)
|
|
1436
1632
|
);
|
|
1437
1633
|
Command.displayName = "Command";
|
|
1438
|
-
var CommandDialogOverlay =
|
|
1439
|
-
|
|
1634
|
+
var CommandDialogOverlay = forwardRef22(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1635
|
+
DialogPrimitive3.Overlay,
|
|
1440
1636
|
{
|
|
1441
1637
|
ref,
|
|
1442
1638
|
className: cn(
|
|
@@ -1452,10 +1648,10 @@ var CommandDialogOverlay = forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
1452
1648
|
CommandDialogOverlay.displayName = "CommandDialogOverlay";
|
|
1453
1649
|
var CommandDialog = ({ children, ...props }) => {
|
|
1454
1650
|
const portalContainer = usePortalContainer();
|
|
1455
|
-
return /* @__PURE__ */
|
|
1456
|
-
/* @__PURE__ */
|
|
1457
|
-
/* @__PURE__ */
|
|
1458
|
-
|
|
1651
|
+
return /* @__PURE__ */ jsx27(DialogPrimitive3.Root, { ...props, children: /* @__PURE__ */ jsxs9(DialogPrimitive3.Portal, { container: portalContainer, children: [
|
|
1652
|
+
/* @__PURE__ */ jsx27(CommandDialogOverlay, {}),
|
|
1653
|
+
/* @__PURE__ */ jsx27(
|
|
1654
|
+
DialogPrimitive3.Content,
|
|
1459
1655
|
{
|
|
1460
1656
|
"data-slot": "command-content",
|
|
1461
1657
|
className: cn(
|
|
@@ -1482,20 +1678,20 @@ var CommandDialog = ({ children, ...props }) => {
|
|
|
1482
1678
|
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
1483
1679
|
"data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-top-[48%]"
|
|
1484
1680
|
),
|
|
1485
|
-
children: /* @__PURE__ */
|
|
1681
|
+
children: /* @__PURE__ */ jsx27(Command, { className: "[&_[cmdk-group-heading]]:px-3 [&_[cmdk-group-heading]]:py-2 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-semibold [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group-heading]]:uppercase [&_[cmdk-group-heading]]:tracking-wide [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:mb-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-3 [&_[cmdk-item]]:py-2 [&_[cmdk-item]_svg]:h-4 [&_[cmdk-item]_svg]:w-4", children })
|
|
1486
1682
|
}
|
|
1487
1683
|
)
|
|
1488
1684
|
] }) });
|
|
1489
1685
|
};
|
|
1490
|
-
var CommandInput =
|
|
1686
|
+
var CommandInput = forwardRef22(({ className, ...props }, ref) => /* @__PURE__ */ jsxs9(
|
|
1491
1687
|
"div",
|
|
1492
1688
|
{
|
|
1493
1689
|
className: "flex items-center border-b border-border px-4",
|
|
1494
1690
|
"cmdk-input-wrapper": "",
|
|
1495
1691
|
children: [
|
|
1496
|
-
/* @__PURE__ */
|
|
1497
|
-
/* @__PURE__ */
|
|
1498
|
-
|
|
1692
|
+
/* @__PURE__ */ jsx27(Search, { className: "mr-3 h-5 w-5 shrink-0 text-muted-foreground" }),
|
|
1693
|
+
/* @__PURE__ */ jsx27(
|
|
1694
|
+
CommandPrimitive.Input,
|
|
1499
1695
|
{
|
|
1500
1696
|
ref,
|
|
1501
1697
|
className: cn(
|
|
@@ -1519,8 +1715,8 @@ var CommandInput = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
1519
1715
|
}
|
|
1520
1716
|
));
|
|
1521
1717
|
CommandInput.displayName = "CommandInput";
|
|
1522
|
-
var CommandList =
|
|
1523
|
-
|
|
1718
|
+
var CommandList = forwardRef22(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1719
|
+
CommandPrimitive.List,
|
|
1524
1720
|
{
|
|
1525
1721
|
ref,
|
|
1526
1722
|
className: cn(
|
|
@@ -1534,8 +1730,8 @@ var CommandList = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ j
|
|
|
1534
1730
|
}
|
|
1535
1731
|
));
|
|
1536
1732
|
CommandList.displayName = "CommandList";
|
|
1537
|
-
var CommandEmpty =
|
|
1538
|
-
|
|
1733
|
+
var CommandEmpty = forwardRef22((props, ref) => /* @__PURE__ */ jsx27(
|
|
1734
|
+
CommandPrimitive.Empty,
|
|
1539
1735
|
{
|
|
1540
1736
|
ref,
|
|
1541
1737
|
className: "py-8 px-4 text-center text-sm text-muted-foreground",
|
|
@@ -1543,8 +1739,8 @@ var CommandEmpty = forwardRef((props, ref) => /* @__PURE__ */ jsx(
|
|
|
1543
1739
|
}
|
|
1544
1740
|
));
|
|
1545
1741
|
CommandEmpty.displayName = "CommandEmpty";
|
|
1546
|
-
var CommandGroup =
|
|
1547
|
-
|
|
1742
|
+
var CommandGroup = forwardRef22(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1743
|
+
CommandPrimitive.Group,
|
|
1548
1744
|
{
|
|
1549
1745
|
ref,
|
|
1550
1746
|
className: cn(
|
|
@@ -1558,8 +1754,8 @@ var CommandGroup = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
1558
1754
|
}
|
|
1559
1755
|
));
|
|
1560
1756
|
CommandGroup.displayName = "CommandGroup";
|
|
1561
|
-
var CommandSeparator =
|
|
1562
|
-
|
|
1757
|
+
var CommandSeparator = forwardRef22(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1758
|
+
CommandPrimitive.Separator,
|
|
1563
1759
|
{
|
|
1564
1760
|
ref,
|
|
1565
1761
|
className: cn("h-px bg-border my-2", className),
|
|
@@ -1567,8 +1763,8 @@ var CommandSeparator = forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1567
1763
|
}
|
|
1568
1764
|
));
|
|
1569
1765
|
CommandSeparator.displayName = "CommandSeparator";
|
|
1570
|
-
var CommandItem =
|
|
1571
|
-
|
|
1766
|
+
var CommandItem = forwardRef22(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1767
|
+
CommandPrimitive.Item,
|
|
1572
1768
|
{
|
|
1573
1769
|
ref,
|
|
1574
1770
|
className: cn(
|
|
@@ -1596,9 +1792,9 @@ var CommandItem = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ j
|
|
|
1596
1792
|
}
|
|
1597
1793
|
));
|
|
1598
1794
|
CommandItem.displayName = "CommandItem";
|
|
1599
|
-
var CommandShortcut =
|
|
1795
|
+
var CommandShortcut = forwardRef22(
|
|
1600
1796
|
({ className, ...props }, ref) => {
|
|
1601
|
-
return /* @__PURE__ */
|
|
1797
|
+
return /* @__PURE__ */ jsx27(
|
|
1602
1798
|
"span",
|
|
1603
1799
|
{
|
|
1604
1800
|
ref,
|
|
@@ -1620,7 +1816,13 @@ var CommandShortcut = forwardRef(
|
|
|
1620
1816
|
}
|
|
1621
1817
|
);
|
|
1622
1818
|
CommandShortcut.displayName = "CommandShortcut";
|
|
1623
|
-
|
|
1819
|
+
|
|
1820
|
+
// src/components/spinner.tsx
|
|
1821
|
+
import { cva as cva11 } from "class-variance-authority";
|
|
1822
|
+
import { Loader2 } from "lucide-react";
|
|
1823
|
+
import { forwardRef as forwardRef23 } from "react";
|
|
1824
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
1825
|
+
var spinnerVariants = cva11("animate-spin motion-reduce:animate-none", {
|
|
1624
1826
|
variants: {
|
|
1625
1827
|
size: {
|
|
1626
1828
|
sm: "h-4 w-4",
|
|
@@ -1632,9 +1834,9 @@ var spinnerVariants = cva("animate-spin motion-reduce:animate-none", {
|
|
|
1632
1834
|
size: "md"
|
|
1633
1835
|
}
|
|
1634
1836
|
});
|
|
1635
|
-
var Spinner =
|
|
1837
|
+
var Spinner = forwardRef23(
|
|
1636
1838
|
({ size = "md", className, "aria-label": ariaLabel = "Loading", ...props }, ref) => {
|
|
1637
|
-
return /* @__PURE__ */
|
|
1839
|
+
return /* @__PURE__ */ jsx28(
|
|
1638
1840
|
Loader2,
|
|
1639
1841
|
{
|
|
1640
1842
|
ref,
|
|
@@ -1647,9 +1849,20 @@ var Spinner = forwardRef(
|
|
|
1647
1849
|
}
|
|
1648
1850
|
);
|
|
1649
1851
|
Spinner.displayName = "Spinner";
|
|
1852
|
+
|
|
1853
|
+
// src/components/toaster.tsx
|
|
1854
|
+
import {
|
|
1855
|
+
CheckCircle2,
|
|
1856
|
+
AlertCircle,
|
|
1857
|
+
AlertTriangle,
|
|
1858
|
+
XCircle,
|
|
1859
|
+
Loader2 as Loader22
|
|
1860
|
+
} from "lucide-react";
|
|
1861
|
+
import { toast, Toaster as Sonner } from "sonner";
|
|
1862
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
1650
1863
|
function Toaster({ theme = "system", ...props }) {
|
|
1651
|
-
return /* @__PURE__ */
|
|
1652
|
-
|
|
1864
|
+
return /* @__PURE__ */ jsx29(
|
|
1865
|
+
Sonner,
|
|
1653
1866
|
{
|
|
1654
1867
|
theme,
|
|
1655
1868
|
className: "toaster group bg-transparent! overflow-visible! z-[9999]!",
|
|
@@ -1660,11 +1873,11 @@ function Toaster({ theme = "system", ...props }) {
|
|
|
1660
1873
|
}
|
|
1661
1874
|
},
|
|
1662
1875
|
icons: {
|
|
1663
|
-
success: /* @__PURE__ */
|
|
1664
|
-
info: /* @__PURE__ */
|
|
1665
|
-
warning: /* @__PURE__ */
|
|
1666
|
-
error: /* @__PURE__ */
|
|
1667
|
-
loading: /* @__PURE__ */
|
|
1876
|
+
success: /* @__PURE__ */ jsx29(CheckCircle2, { className: "h-4 w-4" }),
|
|
1877
|
+
info: /* @__PURE__ */ jsx29(AlertCircle, { className: "h-4 w-4" }),
|
|
1878
|
+
warning: /* @__PURE__ */ jsx29(AlertTriangle, { className: "h-4 w-4" }),
|
|
1879
|
+
error: /* @__PURE__ */ jsx29(XCircle, { className: "h-4 w-4" }),
|
|
1880
|
+
loading: /* @__PURE__ */ jsx29(Loader22, { className: "h-4 w-4 animate-spin" })
|
|
1668
1881
|
},
|
|
1669
1882
|
style: {
|
|
1670
1883
|
"--normal-bg": "var(--nx-popover)",
|
|
@@ -1676,7 +1889,11 @@ function Toaster({ theme = "system", ...props }) {
|
|
|
1676
1889
|
}
|
|
1677
1890
|
);
|
|
1678
1891
|
}
|
|
1679
|
-
|
|
1892
|
+
|
|
1893
|
+
// src/components/table.tsx
|
|
1894
|
+
import * as React8 from "react";
|
|
1895
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1896
|
+
var Table = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx30(
|
|
1680
1897
|
"table",
|
|
1681
1898
|
{
|
|
1682
1899
|
ref,
|
|
@@ -1685,7 +1902,7 @@ var Table = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
1685
1902
|
}
|
|
1686
1903
|
) }));
|
|
1687
1904
|
Table.displayName = "Table";
|
|
1688
|
-
var TableHeader =
|
|
1905
|
+
var TableHeader = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
|
|
1689
1906
|
"thead",
|
|
1690
1907
|
{
|
|
1691
1908
|
ref,
|
|
@@ -1694,7 +1911,7 @@ var TableHeader = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
1694
1911
|
}
|
|
1695
1912
|
));
|
|
1696
1913
|
TableHeader.displayName = "TableHeader";
|
|
1697
|
-
var TableBody =
|
|
1914
|
+
var TableBody = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
|
|
1698
1915
|
"tbody",
|
|
1699
1916
|
{
|
|
1700
1917
|
ref,
|
|
@@ -1703,7 +1920,7 @@ var TableBody = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1703
1920
|
}
|
|
1704
1921
|
));
|
|
1705
1922
|
TableBody.displayName = "TableBody";
|
|
1706
|
-
var TableFooter =
|
|
1923
|
+
var TableFooter = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
|
|
1707
1924
|
"tfoot",
|
|
1708
1925
|
{
|
|
1709
1926
|
ref,
|
|
@@ -1715,7 +1932,7 @@ var TableFooter = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
1715
1932
|
}
|
|
1716
1933
|
));
|
|
1717
1934
|
TableFooter.displayName = "TableFooter";
|
|
1718
|
-
var TableRow =
|
|
1935
|
+
var TableRow = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
|
|
1719
1936
|
"tr",
|
|
1720
1937
|
{
|
|
1721
1938
|
ref,
|
|
@@ -1727,7 +1944,7 @@ var TableRow = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1727
1944
|
}
|
|
1728
1945
|
));
|
|
1729
1946
|
TableRow.displayName = "TableRow";
|
|
1730
|
-
var TableHead =
|
|
1947
|
+
var TableHead = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
|
|
1731
1948
|
"th",
|
|
1732
1949
|
{
|
|
1733
1950
|
ref,
|
|
@@ -1739,7 +1956,7 @@ var TableHead = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1739
1956
|
}
|
|
1740
1957
|
));
|
|
1741
1958
|
TableHead.displayName = "TableHead";
|
|
1742
|
-
var TableCell =
|
|
1959
|
+
var TableCell = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
|
|
1743
1960
|
"td",
|
|
1744
1961
|
{
|
|
1745
1962
|
ref,
|
|
@@ -1751,7 +1968,7 @@ var TableCell = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1751
1968
|
}
|
|
1752
1969
|
));
|
|
1753
1970
|
TableCell.displayName = "TableCell";
|
|
1754
|
-
var TableCaption =
|
|
1971
|
+
var TableCaption = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
|
|
1755
1972
|
"caption",
|
|
1756
1973
|
{
|
|
1757
1974
|
ref,
|
|
@@ -1760,6 +1977,10 @@ var TableCaption = React6.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1760
1977
|
}
|
|
1761
1978
|
));
|
|
1762
1979
|
TableCaption.displayName = "TableCaption";
|
|
1980
|
+
|
|
1981
|
+
// src/components/table-search.tsx
|
|
1982
|
+
import { Search as Search2, Loader2 as Loader23, X as X2 } from "lucide-react";
|
|
1983
|
+
import { jsx as jsx31, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1763
1984
|
function TableSearch({
|
|
1764
1985
|
value,
|
|
1765
1986
|
onChange,
|
|
@@ -1768,9 +1989,9 @@ function TableSearch({
|
|
|
1768
1989
|
isLoading = false,
|
|
1769
1990
|
inputRef
|
|
1770
1991
|
}) {
|
|
1771
|
-
return /* @__PURE__ */
|
|
1772
|
-
/* @__PURE__ */
|
|
1773
|
-
/* @__PURE__ */
|
|
1992
|
+
return /* @__PURE__ */ jsxs10("div", { className: "relative w-full max-w-lg", children: [
|
|
1993
|
+
/* @__PURE__ */ jsx31(Search2, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }),
|
|
1994
|
+
/* @__PURE__ */ jsx31(
|
|
1774
1995
|
"input",
|
|
1775
1996
|
{
|
|
1776
1997
|
ref: inputRef,
|
|
@@ -1782,155 +2003,232 @@ function TableSearch({
|
|
|
1782
2003
|
className: "h-10 w-full rounded-none border border-border bg-background pl-10 pr-10 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-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 transition-all"
|
|
1783
2004
|
}
|
|
1784
2005
|
),
|
|
1785
|
-
(value || isLoading) && /* @__PURE__ */
|
|
1786
|
-
isLoading && /* @__PURE__ */
|
|
1787
|
-
value && /* @__PURE__ */
|
|
2006
|
+
(value || isLoading) && /* @__PURE__ */ jsxs10("div", { className: "absolute right-3 top-1/2 -translate-y-1/2 flex items-center gap-2", children: [
|
|
2007
|
+
isLoading && /* @__PURE__ */ jsx31(Loader23, { className: "w-3.5 h-3.5 text-primary animate-spin" }),
|
|
2008
|
+
value && /* @__PURE__ */ jsx31(
|
|
1788
2009
|
"button",
|
|
1789
2010
|
{
|
|
1790
2011
|
type: "button",
|
|
1791
2012
|
onClick: onClear,
|
|
1792
|
-
className: "text-muted-foreground
|
|
2013
|
+
className: "text-muted-foreground hover:text-foreground transition-colors p-0.5 rounded-none hover:bg-primary/5",
|
|
1793
2014
|
"aria-label": "Clear search",
|
|
1794
|
-
children: /* @__PURE__ */
|
|
2015
|
+
children: /* @__PURE__ */ jsx31(X2, { className: "w-3.5 h-3.5" })
|
|
1795
2016
|
}
|
|
1796
2017
|
)
|
|
1797
2018
|
] })
|
|
1798
2019
|
] });
|
|
1799
2020
|
}
|
|
2021
|
+
|
|
2022
|
+
// src/components/table-states.tsx
|
|
2023
|
+
import { AlertCircle as AlertCircle2, Loader2 as Loader24, FileQuestion } from "lucide-react";
|
|
2024
|
+
import { jsx as jsx32, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1800
2025
|
function TableError({
|
|
1801
2026
|
message = "An error occurred. Please try again."
|
|
1802
2027
|
}) {
|
|
1803
|
-
return /* @__PURE__ */
|
|
1804
|
-
/* @__PURE__ */
|
|
1805
|
-
/* @__PURE__ */
|
|
2028
|
+
return /* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-2", children: [
|
|
2029
|
+
/* @__PURE__ */ jsx32(AlertCircle2, { className: "w-4 h-4 shrink-0" }),
|
|
2030
|
+
/* @__PURE__ */ jsx32("span", { children: message })
|
|
1806
2031
|
] });
|
|
1807
2032
|
}
|
|
1808
2033
|
function TableLoading() {
|
|
1809
|
-
return /* @__PURE__ */
|
|
1810
|
-
/* @__PURE__ */
|
|
1811
|
-
/* @__PURE__ */
|
|
2034
|
+
return /* @__PURE__ */ jsxs11("div", { className: "flex flex-col items-center justify-center gap-4 p-12 text-muted-foreground", children: [
|
|
2035
|
+
/* @__PURE__ */ jsx32(Loader24, { className: "w-8 h-8 animate-spin text-primary/80" }),
|
|
2036
|
+
/* @__PURE__ */ jsx32("span", { className: "text-sm font-medium", children: "Loading data..." })
|
|
1812
2037
|
] });
|
|
1813
2038
|
}
|
|
1814
2039
|
function TableEmpty({ message = "No records found" }) {
|
|
1815
|
-
return /* @__PURE__ */
|
|
1816
|
-
/* @__PURE__ */
|
|
1817
|
-
/* @__PURE__ */
|
|
2040
|
+
return /* @__PURE__ */ jsxs11("div", { className: "flex flex-col items-center justify-center gap-4 p-16 text-center text-muted-foreground", children: [
|
|
2041
|
+
/* @__PURE__ */ jsx32("div", { className: "flex h-12 w-12 items-center justify-center rounded-none bg-primary/5", children: /* @__PURE__ */ jsx32(FileQuestion, { className: "h-6 w-6" }) }),
|
|
2042
|
+
/* @__PURE__ */ jsx32("span", { className: "text-sm font-medium", children: message })
|
|
1818
2043
|
] });
|
|
1819
2044
|
}
|
|
1820
|
-
|
|
2045
|
+
|
|
2046
|
+
// src/components/table-skeleton.tsx
|
|
2047
|
+
import { Fragment, jsx as jsx33, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
2048
|
+
var GrayBar = ({ className }) => /* @__PURE__ */ jsx33(Skeleton, { className });
|
|
1821
2049
|
var TableSkeleton = ({
|
|
1822
2050
|
columns = 5,
|
|
1823
2051
|
rowCount = 8,
|
|
1824
2052
|
hideWrapper = false,
|
|
1825
2053
|
hideFooter = false
|
|
1826
2054
|
}) => {
|
|
1827
|
-
const content = /* @__PURE__ */
|
|
1828
|
-
/* @__PURE__ */
|
|
1829
|
-
/* @__PURE__ */
|
|
1830
|
-
/* @__PURE__ */
|
|
1831
|
-
/* @__PURE__ */
|
|
1832
|
-
/* @__PURE__ */
|
|
1833
|
-
/* @__PURE__ */
|
|
1834
|
-
/* @__PURE__ */
|
|
2055
|
+
const content = /* @__PURE__ */ jsxs12(Fragment, { children: [
|
|
2056
|
+
/* @__PURE__ */ jsx33("div", { className: "border-0 rounded-none shadow-none", children: /* @__PURE__ */ jsxs12(Table, { children: [
|
|
2057
|
+
/* @__PURE__ */ jsx33(TableHeader, { children: /* @__PURE__ */ jsx33(TableRow, { children: Array.from({ length: columns }).map((_, colIdx) => /* @__PURE__ */ jsx33(TableHead, { className: "py-3", children: colIdx === 0 ? /* @__PURE__ */ jsx33(GrayBar, { className: "h-4 w-4" }) : colIdx === columns - 1 ? /* @__PURE__ */ jsx33("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx33(Skeleton, { className: "h-4 w-4 rounded-none" }) }) : colIdx === 1 ? /* @__PURE__ */ jsx33(GrayBar, { className: "h-4 w-[70%] max-w-[180px]" }) : /* @__PURE__ */ jsx33(GrayBar, { className: "h-4 w-[60%] max-w-[120px]" }) }, `skeleton-header-${colIdx}`)) }) }),
|
|
2058
|
+
/* @__PURE__ */ jsx33(TableBody, { children: Array.from({ length: rowCount }).map((_, rowIdx) => /* @__PURE__ */ jsx33(TableRow, { className: "border-b border-border", children: Array.from({ length: columns }).map((_2, colIdx) => /* @__PURE__ */ jsx33(TableCell, { className: "py-3", children: colIdx === 0 ? /* @__PURE__ */ jsx33(GrayBar, { className: "h-4 w-4" }) : colIdx === columns - 1 ? /* @__PURE__ */ jsx33("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx33(Skeleton, { className: "h-8 w-8 rounded-none" }) }) : colIdx === 1 ? /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-3", children: [
|
|
2059
|
+
/* @__PURE__ */ jsx33(Skeleton, { className: "w-9 rounded-none shrink-0" }),
|
|
2060
|
+
/* @__PURE__ */ jsxs12("div", { className: "space-y-1.5 flex-1", children: [
|
|
2061
|
+
/* @__PURE__ */ jsx33(Skeleton, { className: "h-4 w-[120px]" }),
|
|
2062
|
+
/* @__PURE__ */ jsx33(Skeleton, { className: "h-3 w-[80px]" })
|
|
1835
2063
|
] })
|
|
1836
|
-
] }) : /* @__PURE__ */
|
|
2064
|
+
] }) : /* @__PURE__ */ jsx33(GrayBar, { className: "h-4 w-[60%] max-w-[120px]" }) }, colIdx)) }, rowIdx)) })
|
|
1837
2065
|
] }) }),
|
|
1838
|
-
!hideFooter && /* @__PURE__ */
|
|
1839
|
-
/* @__PURE__ */
|
|
1840
|
-
/* @__PURE__ */
|
|
1841
|
-
/* @__PURE__ */
|
|
1842
|
-
/* @__PURE__ */
|
|
1843
|
-
/* @__PURE__ */
|
|
2066
|
+
!hideFooter && /* @__PURE__ */ jsx33("div", { className: "table-footer border-t border-border", children: /* @__PURE__ */ jsxs12("div", { className: "flex items-center justify-between px-2 py-4 p-4", children: [
|
|
2067
|
+
/* @__PURE__ */ jsx33("div", { className: "flex items-center gap-2 text-sm", children: /* @__PURE__ */ jsx33(GrayBar, { className: "h-4 w-[120px]" }) }),
|
|
2068
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-6", children: [
|
|
2069
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-2", children: [
|
|
2070
|
+
/* @__PURE__ */ jsx33(GrayBar, { className: "h-4 w-20" }),
|
|
2071
|
+
/* @__PURE__ */ jsx33(GrayBar, { className: "h-8 w-[70px]" })
|
|
1844
2072
|
] }),
|
|
1845
|
-
/* @__PURE__ */
|
|
1846
|
-
/* @__PURE__ */
|
|
1847
|
-
/* @__PURE__ */
|
|
1848
|
-
/* @__PURE__ */
|
|
1849
|
-
/* @__PURE__ */
|
|
1850
|
-
/* @__PURE__ */
|
|
2073
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-1", children: [
|
|
2074
|
+
/* @__PURE__ */ jsx33(GrayBar, { className: "h-8 w-8" }),
|
|
2075
|
+
/* @__PURE__ */ jsx33(GrayBar, { className: "h-8 w-8" }),
|
|
2076
|
+
/* @__PURE__ */ jsx33(GrayBar, { className: "h-8 w-8" }),
|
|
2077
|
+
/* @__PURE__ */ jsx33(GrayBar, { className: "h-8 w-8" }),
|
|
2078
|
+
/* @__PURE__ */ jsx33(GrayBar, { className: "h-8 w-8" })
|
|
1851
2079
|
] }),
|
|
1852
|
-
/* @__PURE__ */
|
|
2080
|
+
/* @__PURE__ */ jsx33(GrayBar, { className: "h-4 w-[120px]" })
|
|
1853
2081
|
] })
|
|
1854
2082
|
] }) })
|
|
1855
2083
|
] });
|
|
1856
2084
|
if (hideWrapper) {
|
|
1857
2085
|
return content;
|
|
1858
2086
|
}
|
|
1859
|
-
return /* @__PURE__ */
|
|
2087
|
+
return /* @__PURE__ */ jsx33("div", { className: "table-wrapper rounded-none border border-border bg-card overflow-hidden", children: content });
|
|
1860
2088
|
};
|
|
1861
2089
|
TableSkeleton.displayName = "TableSkeleton";
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
2090
|
+
export {
|
|
2091
|
+
Accordion,
|
|
2092
|
+
AccordionContent,
|
|
2093
|
+
AccordionItem,
|
|
2094
|
+
AccordionTrigger,
|
|
2095
|
+
Alert,
|
|
2096
|
+
AlertDescription,
|
|
2097
|
+
AlertDialog,
|
|
2098
|
+
AlertDialogAction,
|
|
2099
|
+
AlertDialogCancel,
|
|
2100
|
+
AlertDialogContent,
|
|
2101
|
+
AlertDialogDescription,
|
|
2102
|
+
AlertDialogFooter,
|
|
2103
|
+
AlertDialogHeader,
|
|
2104
|
+
AlertDialogOverlay,
|
|
2105
|
+
AlertDialogPortal,
|
|
2106
|
+
AlertDialogTitle,
|
|
2107
|
+
AlertDialogTrigger,
|
|
2108
|
+
AlertTitle,
|
|
2109
|
+
Avatar,
|
|
2110
|
+
AvatarFallback,
|
|
2111
|
+
AvatarImage,
|
|
2112
|
+
Badge,
|
|
2113
|
+
Button,
|
|
2114
|
+
Card,
|
|
2115
|
+
CardAction,
|
|
2116
|
+
CardContent,
|
|
2117
|
+
CardDescription,
|
|
2118
|
+
CardFooter,
|
|
2119
|
+
CardHeader,
|
|
2120
|
+
CardTitle,
|
|
2121
|
+
Checkbox,
|
|
2122
|
+
Collapsible,
|
|
2123
|
+
CollapsibleContent2 as CollapsibleContent,
|
|
2124
|
+
CollapsibleTrigger2 as CollapsibleTrigger,
|
|
2125
|
+
Command,
|
|
2126
|
+
CommandDialog,
|
|
2127
|
+
CommandEmpty,
|
|
2128
|
+
CommandGroup,
|
|
2129
|
+
CommandInput,
|
|
2130
|
+
CommandItem,
|
|
2131
|
+
CommandList,
|
|
2132
|
+
CommandSeparator,
|
|
2133
|
+
CommandShortcut,
|
|
2134
|
+
Dialog,
|
|
2135
|
+
DialogClose,
|
|
2136
|
+
DialogContent,
|
|
2137
|
+
DialogDescription,
|
|
2138
|
+
DialogFooter,
|
|
2139
|
+
DialogHeader,
|
|
2140
|
+
DialogOverlay,
|
|
2141
|
+
DialogPortal,
|
|
2142
|
+
DialogTitle,
|
|
2143
|
+
DialogTrigger,
|
|
2144
|
+
DropdownMenu,
|
|
2145
|
+
DropdownMenuCheckboxItem,
|
|
2146
|
+
DropdownMenuContent,
|
|
2147
|
+
DropdownMenuGroup,
|
|
2148
|
+
DropdownMenuItem,
|
|
2149
|
+
DropdownMenuLabel,
|
|
2150
|
+
DropdownMenuPortal,
|
|
2151
|
+
DropdownMenuRadioGroup,
|
|
2152
|
+
DropdownMenuRadioItem,
|
|
2153
|
+
DropdownMenuSeparator,
|
|
2154
|
+
DropdownMenuShortcut,
|
|
2155
|
+
DropdownMenuSub,
|
|
2156
|
+
DropdownMenuSubContent,
|
|
2157
|
+
DropdownMenuSubTrigger,
|
|
2158
|
+
DropdownMenuTrigger,
|
|
2159
|
+
FormLabelWithTooltip,
|
|
2160
|
+
Grid,
|
|
2161
|
+
Input,
|
|
2162
|
+
Label,
|
|
2163
|
+
Popover,
|
|
2164
|
+
PopoverAnchor,
|
|
2165
|
+
PopoverContent,
|
|
2166
|
+
PopoverTrigger,
|
|
2167
|
+
PortalProvider,
|
|
2168
|
+
Progress,
|
|
2169
|
+
RadioGroup,
|
|
2170
|
+
RadioGroupItem,
|
|
2171
|
+
Select,
|
|
2172
|
+
SelectContent,
|
|
2173
|
+
SelectGroup,
|
|
2174
|
+
SelectItem,
|
|
2175
|
+
SelectLabel,
|
|
2176
|
+
SelectScrollDownButton,
|
|
2177
|
+
SelectScrollUpButton,
|
|
2178
|
+
SelectSeparator,
|
|
2179
|
+
SelectTrigger,
|
|
2180
|
+
SelectValue,
|
|
2181
|
+
Separator,
|
|
2182
|
+
Sheet,
|
|
2183
|
+
SheetClose,
|
|
2184
|
+
SheetContent,
|
|
2185
|
+
SheetDescription,
|
|
2186
|
+
SheetFooter,
|
|
2187
|
+
SheetHeader,
|
|
2188
|
+
SheetOverlay,
|
|
2189
|
+
SheetPortal,
|
|
2190
|
+
SheetTitle,
|
|
2191
|
+
SheetTrigger,
|
|
2192
|
+
Skeleton,
|
|
2193
|
+
Spinner,
|
|
2194
|
+
Stack,
|
|
2195
|
+
Stat,
|
|
2196
|
+
Switch,
|
|
2197
|
+
Table,
|
|
2198
|
+
TableBody,
|
|
2199
|
+
TableCaption,
|
|
2200
|
+
TableCell,
|
|
2201
|
+
TableEmpty,
|
|
2202
|
+
TableError,
|
|
2203
|
+
TableFooter,
|
|
2204
|
+
TableHead,
|
|
2205
|
+
TableHeader,
|
|
2206
|
+
TableLoading,
|
|
2207
|
+
TableRow,
|
|
2208
|
+
TableSearch,
|
|
2209
|
+
TableSkeleton,
|
|
2210
|
+
Tabs,
|
|
2211
|
+
TabsContent,
|
|
2212
|
+
TabsList,
|
|
2213
|
+
TabsTrigger,
|
|
2214
|
+
Textarea,
|
|
2215
|
+
Toaster,
|
|
2216
|
+
Tooltip,
|
|
2217
|
+
TooltipContent,
|
|
2218
|
+
TooltipProvider,
|
|
2219
|
+
TooltipTrigger,
|
|
2220
|
+
alertVariants,
|
|
2221
|
+
avatarVariants,
|
|
2222
|
+
badgeVariants,
|
|
2223
|
+
buttonVariants,
|
|
2224
|
+
cardVariants,
|
|
2225
|
+
dialogContentVariants,
|
|
2226
|
+
inputVariants,
|
|
2227
|
+
progressVariants,
|
|
2228
|
+
selectTriggerVariants,
|
|
2229
|
+
sheetVariants,
|
|
2230
|
+
spinnerVariants,
|
|
2231
|
+
toast,
|
|
2232
|
+
usePortalContainer
|
|
1931
2233
|
};
|
|
1932
|
-
var tailwind_preset_default = uiPreset;
|
|
1933
|
-
|
|
1934
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, Avatar, AvatarFallback, AvatarImage, Badge, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, 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, FormLabelWithTooltip, Input, Label, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PortalProvider, Progress, RadioGroup, RadioGroupItem, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Spinner, Switch, Table, TableBody, TableCaption, TableCell, TableEmpty, TableError, TableFooter, TableHead, TableHeader, TableLoading, TableRow, TableSearch, TableSkeleton, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, alertVariants, avatarVariants, badgeVariants, buttonVariants, cardVariants, cn, dialogContentVariants, inputVariants, progressVariants, selectTriggerVariants, sheetVariants, spinnerVariants, tailwind_preset_default as uiPreset, usePortalContainer };
|
|
1935
|
-
//# sourceMappingURL=index.mjs.map
|
|
1936
2234
|
//# sourceMappingURL=index.mjs.map
|