@fluid-app/ui-primitives 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +880 -108
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +96 -6
- package/dist/index.d.ts +96 -6
- package/dist/index.js +834 -109
- package/dist/index.js.map +1 -1
- package/package.json +8 -3
- package/src/index.ts +68 -4
package/dist/index.js
CHANGED
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
import { clsx } from 'clsx';
|
|
2
2
|
import { twMerge } from 'tailwind-merge';
|
|
3
3
|
import { zodResolver } from '@hookform/resolvers/zod';
|
|
4
|
-
import { useForm } from 'react-hook-form';
|
|
5
|
-
import * as
|
|
4
|
+
import { FormProvider, useForm, Controller, useFormContext, useFormState } from 'react-hook-form';
|
|
5
|
+
import * as React15 from 'react';
|
|
6
6
|
import { createContext, useContext } from 'react';
|
|
7
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
8
|
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
9
|
-
import { X, ChevronDown, ChevronRight, ChevronLeft, Check, Circle, ChevronUp } from 'lucide-react';
|
|
9
|
+
import { X, ChevronDown, ChevronRight, ChevronLeft, CalendarIcon, Check, Circle, ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon, CircleIcon, ChevronUp, Loader2Icon, OctagonXIcon, TriangleAlertIcon, InfoIcon, CircleCheckIcon } from 'lucide-react';
|
|
10
10
|
import { cva } from 'class-variance-authority';
|
|
11
|
+
import { AlertDialog as AlertDialog$1, Avatar as Avatar$1, Slot as Slot$1, RadioGroup } from 'radix-ui';
|
|
11
12
|
import { Slot } from '@radix-ui/react-slot';
|
|
12
13
|
import { DayPicker } from 'react-day-picker';
|
|
13
14
|
import * as RechartsPrimitive from 'recharts';
|
|
14
15
|
import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
|
|
16
|
+
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
15
17
|
import * as SheetPrimitive from '@radix-ui/react-dialog';
|
|
16
18
|
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
17
|
-
import * as TogglePrimitive from '@radix-ui/react-toggle';
|
|
18
19
|
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
19
|
-
import * as
|
|
20
|
+
import * as TogglePrimitive from '@radix-ui/react-toggle';
|
|
20
21
|
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
21
22
|
import * as SeparatorPrimitive from '@radix-ui/react-separator';
|
|
22
23
|
import * as SliderPrimitive from '@radix-ui/react-slider';
|
|
24
|
+
import { Toaster as Toaster$1 } from 'sonner';
|
|
23
25
|
import * as SwitchPrimitive from '@radix-ui/react-switch';
|
|
24
26
|
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
25
27
|
import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
|
|
@@ -222,6 +224,300 @@ function Button({
|
|
|
222
224
|
}
|
|
223
225
|
);
|
|
224
226
|
}
|
|
227
|
+
function AlertDialog({
|
|
228
|
+
...props
|
|
229
|
+
}) {
|
|
230
|
+
return /* @__PURE__ */ jsx(AlertDialog$1.Root, { "data-slot": "alert-dialog", ...props });
|
|
231
|
+
}
|
|
232
|
+
function AlertDialogTrigger({
|
|
233
|
+
...props
|
|
234
|
+
}) {
|
|
235
|
+
return /* @__PURE__ */ jsx(AlertDialog$1.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
|
|
236
|
+
}
|
|
237
|
+
function AlertDialogPortal({
|
|
238
|
+
...props
|
|
239
|
+
}) {
|
|
240
|
+
const portalContainer = usePortalContainer();
|
|
241
|
+
return /* @__PURE__ */ jsx(
|
|
242
|
+
AlertDialog$1.Portal,
|
|
243
|
+
{
|
|
244
|
+
"data-slot": "alert-dialog-portal",
|
|
245
|
+
container: portalContainer,
|
|
246
|
+
...props
|
|
247
|
+
}
|
|
248
|
+
);
|
|
249
|
+
}
|
|
250
|
+
function AlertDialogOverlay({
|
|
251
|
+
className,
|
|
252
|
+
...props
|
|
253
|
+
}) {
|
|
254
|
+
return /* @__PURE__ */ jsx(
|
|
255
|
+
AlertDialog$1.Overlay,
|
|
256
|
+
{
|
|
257
|
+
"data-slot": "alert-dialog-overlay",
|
|
258
|
+
className: cn(
|
|
259
|
+
"fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
260
|
+
className
|
|
261
|
+
),
|
|
262
|
+
...props
|
|
263
|
+
}
|
|
264
|
+
);
|
|
265
|
+
}
|
|
266
|
+
function AlertDialogContent({
|
|
267
|
+
className,
|
|
268
|
+
size = "default",
|
|
269
|
+
...props
|
|
270
|
+
}) {
|
|
271
|
+
return /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
|
|
272
|
+
/* @__PURE__ */ jsx(AlertDialogOverlay, {}),
|
|
273
|
+
/* @__PURE__ */ jsx(
|
|
274
|
+
AlertDialog$1.Content,
|
|
275
|
+
{
|
|
276
|
+
"data-slot": "alert-dialog-content",
|
|
277
|
+
"data-size": size,
|
|
278
|
+
className: cn(
|
|
279
|
+
"group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[size=default]:sm:max-w-lg",
|
|
280
|
+
className
|
|
281
|
+
),
|
|
282
|
+
...props
|
|
283
|
+
}
|
|
284
|
+
)
|
|
285
|
+
] });
|
|
286
|
+
}
|
|
287
|
+
function AlertDialogHeader({
|
|
288
|
+
className,
|
|
289
|
+
...props
|
|
290
|
+
}) {
|
|
291
|
+
return /* @__PURE__ */ jsx(
|
|
292
|
+
"div",
|
|
293
|
+
{
|
|
294
|
+
"data-slot": "alert-dialog-header",
|
|
295
|
+
className: cn(
|
|
296
|
+
"grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",
|
|
297
|
+
className
|
|
298
|
+
),
|
|
299
|
+
...props
|
|
300
|
+
}
|
|
301
|
+
);
|
|
302
|
+
}
|
|
303
|
+
function AlertDialogFooter({
|
|
304
|
+
className,
|
|
305
|
+
...props
|
|
306
|
+
}) {
|
|
307
|
+
return /* @__PURE__ */ jsx(
|
|
308
|
+
"div",
|
|
309
|
+
{
|
|
310
|
+
"data-slot": "alert-dialog-footer",
|
|
311
|
+
className: cn(
|
|
312
|
+
"flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",
|
|
313
|
+
className
|
|
314
|
+
),
|
|
315
|
+
...props
|
|
316
|
+
}
|
|
317
|
+
);
|
|
318
|
+
}
|
|
319
|
+
function AlertDialogTitle({
|
|
320
|
+
className,
|
|
321
|
+
...props
|
|
322
|
+
}) {
|
|
323
|
+
return /* @__PURE__ */ jsx(
|
|
324
|
+
AlertDialog$1.Title,
|
|
325
|
+
{
|
|
326
|
+
"data-slot": "alert-dialog-title",
|
|
327
|
+
className: cn(
|
|
328
|
+
"text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",
|
|
329
|
+
className
|
|
330
|
+
),
|
|
331
|
+
...props
|
|
332
|
+
}
|
|
333
|
+
);
|
|
334
|
+
}
|
|
335
|
+
function AlertDialogDescription({
|
|
336
|
+
className,
|
|
337
|
+
...props
|
|
338
|
+
}) {
|
|
339
|
+
return /* @__PURE__ */ jsx(
|
|
340
|
+
AlertDialog$1.Description,
|
|
341
|
+
{
|
|
342
|
+
"data-slot": "alert-dialog-description",
|
|
343
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
344
|
+
...props
|
|
345
|
+
}
|
|
346
|
+
);
|
|
347
|
+
}
|
|
348
|
+
function AlertDialogMedia({
|
|
349
|
+
className,
|
|
350
|
+
...props
|
|
351
|
+
}) {
|
|
352
|
+
return /* @__PURE__ */ jsx(
|
|
353
|
+
"div",
|
|
354
|
+
{
|
|
355
|
+
"data-slot": "alert-dialog-media",
|
|
356
|
+
className: cn(
|
|
357
|
+
"mb-2 inline-flex size-16 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8",
|
|
358
|
+
className
|
|
359
|
+
),
|
|
360
|
+
...props
|
|
361
|
+
}
|
|
362
|
+
);
|
|
363
|
+
}
|
|
364
|
+
function AlertDialogAction({
|
|
365
|
+
className,
|
|
366
|
+
variant = "default",
|
|
367
|
+
size = "default",
|
|
368
|
+
...props
|
|
369
|
+
}) {
|
|
370
|
+
return /* @__PURE__ */ jsx(Button, { variant, size, asChild: true, children: /* @__PURE__ */ jsx(
|
|
371
|
+
AlertDialog$1.Action,
|
|
372
|
+
{
|
|
373
|
+
"data-slot": "alert-dialog-action",
|
|
374
|
+
className: cn(className),
|
|
375
|
+
...props
|
|
376
|
+
}
|
|
377
|
+
) });
|
|
378
|
+
}
|
|
379
|
+
function AlertDialogCancel({
|
|
380
|
+
className,
|
|
381
|
+
variant = "outline",
|
|
382
|
+
size = "default",
|
|
383
|
+
...props
|
|
384
|
+
}) {
|
|
385
|
+
return /* @__PURE__ */ jsx(Button, { variant, size, asChild: true, children: /* @__PURE__ */ jsx(
|
|
386
|
+
AlertDialog$1.Cancel,
|
|
387
|
+
{
|
|
388
|
+
"data-slot": "alert-dialog-cancel",
|
|
389
|
+
className: cn(className),
|
|
390
|
+
...props
|
|
391
|
+
}
|
|
392
|
+
) });
|
|
393
|
+
}
|
|
394
|
+
function Avatar({
|
|
395
|
+
className,
|
|
396
|
+
size = "default",
|
|
397
|
+
...props
|
|
398
|
+
}) {
|
|
399
|
+
return /* @__PURE__ */ jsx(
|
|
400
|
+
Avatar$1.Root,
|
|
401
|
+
{
|
|
402
|
+
"data-slot": "avatar",
|
|
403
|
+
"data-size": size,
|
|
404
|
+
className: cn(
|
|
405
|
+
"group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",
|
|
406
|
+
className
|
|
407
|
+
),
|
|
408
|
+
...props
|
|
409
|
+
}
|
|
410
|
+
);
|
|
411
|
+
}
|
|
412
|
+
function AvatarImage({
|
|
413
|
+
className,
|
|
414
|
+
...props
|
|
415
|
+
}) {
|
|
416
|
+
return /* @__PURE__ */ jsx(
|
|
417
|
+
Avatar$1.Image,
|
|
418
|
+
{
|
|
419
|
+
"data-slot": "avatar-image",
|
|
420
|
+
className: cn("aspect-square size-full", className),
|
|
421
|
+
...props
|
|
422
|
+
}
|
|
423
|
+
);
|
|
424
|
+
}
|
|
425
|
+
function AvatarFallback({
|
|
426
|
+
className,
|
|
427
|
+
...props
|
|
428
|
+
}) {
|
|
429
|
+
return /* @__PURE__ */ jsx(
|
|
430
|
+
Avatar$1.Fallback,
|
|
431
|
+
{
|
|
432
|
+
"data-slot": "avatar-fallback",
|
|
433
|
+
className: cn(
|
|
434
|
+
"flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",
|
|
435
|
+
className
|
|
436
|
+
),
|
|
437
|
+
...props
|
|
438
|
+
}
|
|
439
|
+
);
|
|
440
|
+
}
|
|
441
|
+
function AvatarBadge({ className, ...props }) {
|
|
442
|
+
return /* @__PURE__ */ jsx(
|
|
443
|
+
"span",
|
|
444
|
+
{
|
|
445
|
+
"data-slot": "avatar-badge",
|
|
446
|
+
className: cn(
|
|
447
|
+
"absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground ring-2 ring-background select-none",
|
|
448
|
+
"group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden",
|
|
449
|
+
"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2",
|
|
450
|
+
"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",
|
|
451
|
+
className
|
|
452
|
+
),
|
|
453
|
+
...props
|
|
454
|
+
}
|
|
455
|
+
);
|
|
456
|
+
}
|
|
457
|
+
function AvatarGroup({ className, ...props }) {
|
|
458
|
+
return /* @__PURE__ */ jsx(
|
|
459
|
+
"div",
|
|
460
|
+
{
|
|
461
|
+
"data-slot": "avatar-group",
|
|
462
|
+
className: cn(
|
|
463
|
+
"group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background",
|
|
464
|
+
className
|
|
465
|
+
),
|
|
466
|
+
...props
|
|
467
|
+
}
|
|
468
|
+
);
|
|
469
|
+
}
|
|
470
|
+
function AvatarGroupCount({
|
|
471
|
+
className,
|
|
472
|
+
...props
|
|
473
|
+
}) {
|
|
474
|
+
return /* @__PURE__ */ jsx(
|
|
475
|
+
"div",
|
|
476
|
+
{
|
|
477
|
+
"data-slot": "avatar-group-count",
|
|
478
|
+
className: cn(
|
|
479
|
+
"relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3",
|
|
480
|
+
className
|
|
481
|
+
),
|
|
482
|
+
...props
|
|
483
|
+
}
|
|
484
|
+
);
|
|
485
|
+
}
|
|
486
|
+
var badgeVariants = cva(
|
|
487
|
+
"inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",
|
|
488
|
+
{
|
|
489
|
+
variants: {
|
|
490
|
+
variant: {
|
|
491
|
+
default: "bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
|
|
492
|
+
secondary: "bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
|
|
493
|
+
destructive: "bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",
|
|
494
|
+
outline: "border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
|
|
495
|
+
ghost: "[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
|
|
496
|
+
link: "text-primary underline-offset-4 [a&]:hover:underline"
|
|
497
|
+
}
|
|
498
|
+
},
|
|
499
|
+
defaultVariants: {
|
|
500
|
+
variant: "default"
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
);
|
|
504
|
+
function Badge({
|
|
505
|
+
className,
|
|
506
|
+
variant = "default",
|
|
507
|
+
asChild = false,
|
|
508
|
+
...props
|
|
509
|
+
}) {
|
|
510
|
+
const Comp = asChild ? Slot$1.Root : "span";
|
|
511
|
+
return /* @__PURE__ */ jsx(
|
|
512
|
+
Comp,
|
|
513
|
+
{
|
|
514
|
+
"data-slot": "badge",
|
|
515
|
+
"data-variant": variant,
|
|
516
|
+
className: cn(badgeVariants({ variant }), className),
|
|
517
|
+
...props
|
|
518
|
+
}
|
|
519
|
+
);
|
|
520
|
+
}
|
|
225
521
|
function Calendar({
|
|
226
522
|
className,
|
|
227
523
|
classNames,
|
|
@@ -364,9 +660,9 @@ function CardFooter({ className, ...props }) {
|
|
|
364
660
|
);
|
|
365
661
|
}
|
|
366
662
|
var THEMES = { light: "", dark: ".dark" };
|
|
367
|
-
var ChartContext =
|
|
663
|
+
var ChartContext = React15.createContext(null);
|
|
368
664
|
function useChart() {
|
|
369
|
-
const context =
|
|
665
|
+
const context = React15.useContext(ChartContext);
|
|
370
666
|
if (!context) {
|
|
371
667
|
throw new Error("useChart must be used within a <ChartContainer />");
|
|
372
668
|
}
|
|
@@ -379,7 +675,7 @@ function ChartContainer({
|
|
|
379
675
|
config,
|
|
380
676
|
...props
|
|
381
677
|
}) {
|
|
382
|
-
const uniqueId =
|
|
678
|
+
const uniqueId = React15.useId();
|
|
383
679
|
const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
|
|
384
680
|
return /* @__PURE__ */ jsx(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs(
|
|
385
681
|
"div",
|
|
@@ -440,7 +736,7 @@ function ChartTooltipContent({
|
|
|
440
736
|
labelKey
|
|
441
737
|
}) {
|
|
442
738
|
const { config } = useChart();
|
|
443
|
-
const tooltipLabel =
|
|
739
|
+
const tooltipLabel = React15.useMemo(() => {
|
|
444
740
|
if (hideLabel || !payload?.length) {
|
|
445
741
|
return null;
|
|
446
742
|
}
|
|
@@ -618,43 +914,160 @@ function CollapsibleContent2({
|
|
|
618
914
|
}
|
|
619
915
|
);
|
|
620
916
|
}
|
|
621
|
-
function
|
|
917
|
+
function Popover({
|
|
622
918
|
...props
|
|
623
919
|
}) {
|
|
624
|
-
return /* @__PURE__ */ jsx(
|
|
920
|
+
return /* @__PURE__ */ jsx(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
625
921
|
}
|
|
626
|
-
function
|
|
922
|
+
function PopoverTrigger({
|
|
627
923
|
...props
|
|
628
924
|
}) {
|
|
629
|
-
return /* @__PURE__ */ jsx(
|
|
925
|
+
return /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
630
926
|
}
|
|
631
|
-
function
|
|
927
|
+
function PopoverContent({
|
|
928
|
+
className,
|
|
929
|
+
align = "center",
|
|
930
|
+
sideOffset = 4,
|
|
632
931
|
...props
|
|
633
932
|
}) {
|
|
634
933
|
const portalContainer = usePortalContainer();
|
|
635
|
-
return /* @__PURE__ */ jsx(
|
|
636
|
-
|
|
934
|
+
return /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx(
|
|
935
|
+
PopoverPrimitive.Content,
|
|
637
936
|
{
|
|
638
|
-
"data-slot": "
|
|
639
|
-
|
|
937
|
+
"data-slot": "popover-content",
|
|
938
|
+
align,
|
|
939
|
+
sideOffset,
|
|
940
|
+
className: cn(
|
|
941
|
+
"cn-popover-content z-50 w-72 origin-(--radix-popover-content-transform-origin) outline-hidden",
|
|
942
|
+
className
|
|
943
|
+
),
|
|
640
944
|
...props
|
|
641
945
|
}
|
|
642
|
-
);
|
|
946
|
+
) });
|
|
643
947
|
}
|
|
644
|
-
function
|
|
948
|
+
function PopoverAnchor({
|
|
645
949
|
...props
|
|
646
950
|
}) {
|
|
647
|
-
return /* @__PURE__ */ jsx(
|
|
951
|
+
return /* @__PURE__ */ jsx(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
|
|
648
952
|
}
|
|
649
|
-
function
|
|
650
|
-
className,
|
|
651
|
-
...props
|
|
652
|
-
}) {
|
|
953
|
+
function PopoverHeader({ className, ...props }) {
|
|
653
954
|
return /* @__PURE__ */ jsx(
|
|
654
|
-
|
|
955
|
+
"div",
|
|
655
956
|
{
|
|
656
|
-
"data-slot": "
|
|
657
|
-
className: cn(
|
|
957
|
+
"data-slot": "popover-header",
|
|
958
|
+
className: cn("cn-popover-header", className),
|
|
959
|
+
...props
|
|
960
|
+
}
|
|
961
|
+
);
|
|
962
|
+
}
|
|
963
|
+
function PopoverTitle({ className, ...props }) {
|
|
964
|
+
return /* @__PURE__ */ jsx(
|
|
965
|
+
"div",
|
|
966
|
+
{
|
|
967
|
+
"data-slot": "popover-title",
|
|
968
|
+
className: cn("cn-popover-title", className),
|
|
969
|
+
...props
|
|
970
|
+
}
|
|
971
|
+
);
|
|
972
|
+
}
|
|
973
|
+
function PopoverDescription({
|
|
974
|
+
className,
|
|
975
|
+
...props
|
|
976
|
+
}) {
|
|
977
|
+
return /* @__PURE__ */ jsx(
|
|
978
|
+
"p",
|
|
979
|
+
{
|
|
980
|
+
"data-slot": "popover-description",
|
|
981
|
+
className: cn("cn-popover-description", className),
|
|
982
|
+
...props
|
|
983
|
+
}
|
|
984
|
+
);
|
|
985
|
+
}
|
|
986
|
+
var defaultFormatDate = (date) => new Intl.DateTimeFormat(void 0, {
|
|
987
|
+
month: "long",
|
|
988
|
+
day: "numeric",
|
|
989
|
+
year: "numeric"
|
|
990
|
+
}).format(date);
|
|
991
|
+
function DatePicker({
|
|
992
|
+
value,
|
|
993
|
+
onChange,
|
|
994
|
+
placeholder = "Pick a date",
|
|
995
|
+
formatDate = defaultFormatDate,
|
|
996
|
+
disabled,
|
|
997
|
+
className,
|
|
998
|
+
calendarProps
|
|
999
|
+
}) {
|
|
1000
|
+
const [open, setOpen] = React15.useState(false);
|
|
1001
|
+
return /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, children: [
|
|
1002
|
+
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
1003
|
+
Button,
|
|
1004
|
+
{
|
|
1005
|
+
"data-slot": "date-picker",
|
|
1006
|
+
variant: "outline",
|
|
1007
|
+
disabled,
|
|
1008
|
+
className: cn(
|
|
1009
|
+
"w-full justify-start text-left font-normal",
|
|
1010
|
+
!value && "text-muted-foreground",
|
|
1011
|
+
className
|
|
1012
|
+
),
|
|
1013
|
+
children: [
|
|
1014
|
+
/* @__PURE__ */ jsx(CalendarIcon, { className: "mr-2 size-4" }),
|
|
1015
|
+
value ? formatDate(value) : /* @__PURE__ */ jsx("span", { children: placeholder })
|
|
1016
|
+
]
|
|
1017
|
+
}
|
|
1018
|
+
) }),
|
|
1019
|
+
/* @__PURE__ */ jsx(PopoverContent, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ jsx(
|
|
1020
|
+
Calendar,
|
|
1021
|
+
{
|
|
1022
|
+
mode: "single",
|
|
1023
|
+
selected: value,
|
|
1024
|
+
onSelect: (date) => {
|
|
1025
|
+
onChange?.(date);
|
|
1026
|
+
setOpen(false);
|
|
1027
|
+
},
|
|
1028
|
+
initialFocus: true,
|
|
1029
|
+
...calendarProps
|
|
1030
|
+
}
|
|
1031
|
+
) })
|
|
1032
|
+
] });
|
|
1033
|
+
}
|
|
1034
|
+
function Dialog({
|
|
1035
|
+
...props
|
|
1036
|
+
}) {
|
|
1037
|
+
return /* @__PURE__ */ jsx(SheetPrimitive.Root, { "data-slot": "dialog", ...props });
|
|
1038
|
+
}
|
|
1039
|
+
function DialogTrigger({
|
|
1040
|
+
...props
|
|
1041
|
+
}) {
|
|
1042
|
+
return /* @__PURE__ */ jsx(SheetPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
|
|
1043
|
+
}
|
|
1044
|
+
function DialogPortal({
|
|
1045
|
+
...props
|
|
1046
|
+
}) {
|
|
1047
|
+
const portalContainer = usePortalContainer();
|
|
1048
|
+
return /* @__PURE__ */ jsx(
|
|
1049
|
+
SheetPrimitive.Portal,
|
|
1050
|
+
{
|
|
1051
|
+
"data-slot": "dialog-portal",
|
|
1052
|
+
container: portalContainer,
|
|
1053
|
+
...props
|
|
1054
|
+
}
|
|
1055
|
+
);
|
|
1056
|
+
}
|
|
1057
|
+
function DialogClose({
|
|
1058
|
+
...props
|
|
1059
|
+
}) {
|
|
1060
|
+
return /* @__PURE__ */ jsx(SheetPrimitive.Close, { "data-slot": "dialog-close", ...props });
|
|
1061
|
+
}
|
|
1062
|
+
function DialogOverlay({
|
|
1063
|
+
className,
|
|
1064
|
+
...props
|
|
1065
|
+
}) {
|
|
1066
|
+
return /* @__PURE__ */ jsx(
|
|
1067
|
+
SheetPrimitive.Overlay,
|
|
1068
|
+
{
|
|
1069
|
+
"data-slot": "dialog-overlay",
|
|
1070
|
+
className: cn(
|
|
658
1071
|
"fixed inset-0 z-50 bg-gray-900/70 backdrop-blur-sm data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
659
1072
|
className
|
|
660
1073
|
),
|
|
@@ -956,6 +1369,125 @@ function DropdownMenuSubContent({
|
|
|
956
1369
|
}
|
|
957
1370
|
);
|
|
958
1371
|
}
|
|
1372
|
+
function Label2({
|
|
1373
|
+
className,
|
|
1374
|
+
...props
|
|
1375
|
+
}) {
|
|
1376
|
+
return /* @__PURE__ */ jsx(
|
|
1377
|
+
LabelPrimitive.Root,
|
|
1378
|
+
{
|
|
1379
|
+
"data-slot": "label",
|
|
1380
|
+
className: cn(
|
|
1381
|
+
"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
|
|
1382
|
+
className
|
|
1383
|
+
),
|
|
1384
|
+
...props
|
|
1385
|
+
}
|
|
1386
|
+
);
|
|
1387
|
+
}
|
|
1388
|
+
var Form = FormProvider;
|
|
1389
|
+
var FormFieldContext = React15.createContext(
|
|
1390
|
+
{}
|
|
1391
|
+
);
|
|
1392
|
+
var FormField = ({
|
|
1393
|
+
...props
|
|
1394
|
+
}) => {
|
|
1395
|
+
return /* @__PURE__ */ jsx(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx(Controller, { ...props }) });
|
|
1396
|
+
};
|
|
1397
|
+
var useFormField = () => {
|
|
1398
|
+
const fieldContext = React15.useContext(FormFieldContext);
|
|
1399
|
+
const itemContext = React15.useContext(FormItemContext);
|
|
1400
|
+
const { getFieldState } = useFormContext();
|
|
1401
|
+
const formState = useFormState({ name: fieldContext.name });
|
|
1402
|
+
const fieldState = getFieldState(fieldContext.name, formState);
|
|
1403
|
+
if (!fieldContext.name) {
|
|
1404
|
+
throw new Error("useFormField should be used within <FormField>");
|
|
1405
|
+
}
|
|
1406
|
+
const { id } = itemContext;
|
|
1407
|
+
if (!id) {
|
|
1408
|
+
throw new Error("useFormField should be used within <FormItem>");
|
|
1409
|
+
}
|
|
1410
|
+
return {
|
|
1411
|
+
id,
|
|
1412
|
+
name: fieldContext.name,
|
|
1413
|
+
formItemId: `${id}-form-item`,
|
|
1414
|
+
formDescriptionId: `${id}-form-item-description`,
|
|
1415
|
+
formMessageId: `${id}-form-item-message`,
|
|
1416
|
+
...fieldState
|
|
1417
|
+
};
|
|
1418
|
+
};
|
|
1419
|
+
var FormItemContext = React15.createContext(
|
|
1420
|
+
{}
|
|
1421
|
+
);
|
|
1422
|
+
function FormItem({ className, ...props }) {
|
|
1423
|
+
const id = React15.useId();
|
|
1424
|
+
return /* @__PURE__ */ jsx(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx(
|
|
1425
|
+
"div",
|
|
1426
|
+
{
|
|
1427
|
+
"data-slot": "form-item",
|
|
1428
|
+
className: cn("grid gap-2", className),
|
|
1429
|
+
...props
|
|
1430
|
+
}
|
|
1431
|
+
) });
|
|
1432
|
+
}
|
|
1433
|
+
function FormLabel({
|
|
1434
|
+
className,
|
|
1435
|
+
...props
|
|
1436
|
+
}) {
|
|
1437
|
+
const { error, formItemId } = useFormField();
|
|
1438
|
+
return /* @__PURE__ */ jsx(
|
|
1439
|
+
Label2,
|
|
1440
|
+
{
|
|
1441
|
+
"data-slot": "form-label",
|
|
1442
|
+
"data-error": !!error,
|
|
1443
|
+
className: cn("data-[error=true]:text-destructive", className),
|
|
1444
|
+
htmlFor: formItemId,
|
|
1445
|
+
...props
|
|
1446
|
+
}
|
|
1447
|
+
);
|
|
1448
|
+
}
|
|
1449
|
+
function FormControl({ ...props }) {
|
|
1450
|
+
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
|
|
1451
|
+
return /* @__PURE__ */ jsx(
|
|
1452
|
+
Slot$1.Root,
|
|
1453
|
+
{
|
|
1454
|
+
"data-slot": "form-control",
|
|
1455
|
+
id: formItemId,
|
|
1456
|
+
"aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
|
|
1457
|
+
"aria-invalid": !!error,
|
|
1458
|
+
...props
|
|
1459
|
+
}
|
|
1460
|
+
);
|
|
1461
|
+
}
|
|
1462
|
+
function FormDescription({ className, ...props }) {
|
|
1463
|
+
const { formDescriptionId } = useFormField();
|
|
1464
|
+
return /* @__PURE__ */ jsx(
|
|
1465
|
+
"p",
|
|
1466
|
+
{
|
|
1467
|
+
"data-slot": "form-description",
|
|
1468
|
+
id: formDescriptionId,
|
|
1469
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
1470
|
+
...props
|
|
1471
|
+
}
|
|
1472
|
+
);
|
|
1473
|
+
}
|
|
1474
|
+
function FormMessage({ className, ...props }) {
|
|
1475
|
+
const { error, formMessageId } = useFormField();
|
|
1476
|
+
const body = error ? String(error?.message ?? "") : props.children;
|
|
1477
|
+
if (!body) {
|
|
1478
|
+
return null;
|
|
1479
|
+
}
|
|
1480
|
+
return /* @__PURE__ */ jsx(
|
|
1481
|
+
"p",
|
|
1482
|
+
{
|
|
1483
|
+
"data-slot": "form-message",
|
|
1484
|
+
id: formMessageId,
|
|
1485
|
+
className: cn("text-sm text-destructive", className),
|
|
1486
|
+
...props,
|
|
1487
|
+
children: body
|
|
1488
|
+
}
|
|
1489
|
+
);
|
|
1490
|
+
}
|
|
959
1491
|
function IconButton({
|
|
960
1492
|
icon: Icon2,
|
|
961
1493
|
className,
|
|
@@ -1043,88 +1575,144 @@ function Input({ className, type, ...props }) {
|
|
|
1043
1575
|
}
|
|
1044
1576
|
);
|
|
1045
1577
|
}
|
|
1046
|
-
function
|
|
1578
|
+
function Pagination({ className, ...props }) {
|
|
1579
|
+
return /* @__PURE__ */ jsx(
|
|
1580
|
+
"nav",
|
|
1581
|
+
{
|
|
1582
|
+
"aria-label": "pagination",
|
|
1583
|
+
"data-slot": "pagination",
|
|
1584
|
+
className: cn("mx-auto flex w-full justify-center", className),
|
|
1585
|
+
...props
|
|
1586
|
+
}
|
|
1587
|
+
);
|
|
1588
|
+
}
|
|
1589
|
+
function PaginationContent({
|
|
1047
1590
|
className,
|
|
1048
1591
|
...props
|
|
1049
1592
|
}) {
|
|
1050
1593
|
return /* @__PURE__ */ jsx(
|
|
1051
|
-
|
|
1594
|
+
"ul",
|
|
1052
1595
|
{
|
|
1053
|
-
"data-slot": "
|
|
1054
|
-
className: cn(
|
|
1055
|
-
"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
|
|
1056
|
-
className
|
|
1057
|
-
),
|
|
1596
|
+
"data-slot": "pagination-content",
|
|
1597
|
+
className: cn("flex flex-row items-center gap-1", className),
|
|
1058
1598
|
...props
|
|
1059
1599
|
}
|
|
1060
1600
|
);
|
|
1061
1601
|
}
|
|
1062
|
-
function
|
|
1063
|
-
...props
|
|
1064
|
-
}) {
|
|
1065
|
-
return /* @__PURE__ */ jsx(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
1602
|
+
function PaginationItem({ ...props }) {
|
|
1603
|
+
return /* @__PURE__ */ jsx("li", { "data-slot": "pagination-item", ...props });
|
|
1066
1604
|
}
|
|
1067
|
-
function
|
|
1068
|
-
...props
|
|
1069
|
-
}) {
|
|
1070
|
-
return /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
1071
|
-
}
|
|
1072
|
-
function PopoverContent({
|
|
1605
|
+
function PaginationLink({
|
|
1073
1606
|
className,
|
|
1074
|
-
|
|
1075
|
-
|
|
1607
|
+
isActive,
|
|
1608
|
+
size = "icon",
|
|
1076
1609
|
...props
|
|
1077
1610
|
}) {
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
PopoverPrimitive.Content,
|
|
1611
|
+
return /* @__PURE__ */ jsx(
|
|
1612
|
+
"a",
|
|
1081
1613
|
{
|
|
1082
|
-
"
|
|
1083
|
-
|
|
1084
|
-
|
|
1614
|
+
"aria-current": isActive ? "page" : void 0,
|
|
1615
|
+
"data-slot": "pagination-link",
|
|
1616
|
+
"data-active": isActive,
|
|
1085
1617
|
className: cn(
|
|
1086
|
-
|
|
1618
|
+
buttonVariants({
|
|
1619
|
+
variant: isActive ? "outline" : "ghost",
|
|
1620
|
+
size
|
|
1621
|
+
}),
|
|
1087
1622
|
className
|
|
1088
1623
|
),
|
|
1089
1624
|
...props
|
|
1090
1625
|
}
|
|
1091
|
-
)
|
|
1626
|
+
);
|
|
1092
1627
|
}
|
|
1093
|
-
function
|
|
1628
|
+
function PaginationPrevious({
|
|
1629
|
+
className,
|
|
1094
1630
|
...props
|
|
1095
1631
|
}) {
|
|
1096
|
-
return /* @__PURE__ */
|
|
1632
|
+
return /* @__PURE__ */ jsxs(
|
|
1633
|
+
PaginationLink,
|
|
1634
|
+
{
|
|
1635
|
+
"aria-label": "Go to previous page",
|
|
1636
|
+
size: "default",
|
|
1637
|
+
className: cn("gap-1 px-2.5 sm:pl-2.5", className),
|
|
1638
|
+
...props,
|
|
1639
|
+
children: [
|
|
1640
|
+
/* @__PURE__ */ jsx(ChevronLeftIcon, {}),
|
|
1641
|
+
/* @__PURE__ */ jsx("span", { className: "hidden sm:block", children: "Previous" })
|
|
1642
|
+
]
|
|
1643
|
+
}
|
|
1644
|
+
);
|
|
1097
1645
|
}
|
|
1098
|
-
function
|
|
1099
|
-
|
|
1100
|
-
|
|
1646
|
+
function PaginationNext({
|
|
1647
|
+
className,
|
|
1648
|
+
...props
|
|
1649
|
+
}) {
|
|
1650
|
+
return /* @__PURE__ */ jsxs(
|
|
1651
|
+
PaginationLink,
|
|
1101
1652
|
{
|
|
1102
|
-
"
|
|
1103
|
-
|
|
1104
|
-
|
|
1653
|
+
"aria-label": "Go to next page",
|
|
1654
|
+
size: "default",
|
|
1655
|
+
className: cn("gap-1 px-2.5 sm:pr-2.5", className),
|
|
1656
|
+
...props,
|
|
1657
|
+
children: [
|
|
1658
|
+
/* @__PURE__ */ jsx("span", { className: "hidden sm:block", children: "Next" }),
|
|
1659
|
+
/* @__PURE__ */ jsx(ChevronRightIcon, {})
|
|
1660
|
+
]
|
|
1105
1661
|
}
|
|
1106
1662
|
);
|
|
1107
1663
|
}
|
|
1108
|
-
function
|
|
1664
|
+
function PaginationEllipsis({
|
|
1665
|
+
className,
|
|
1666
|
+
...props
|
|
1667
|
+
}) {
|
|
1668
|
+
return /* @__PURE__ */ jsxs(
|
|
1669
|
+
"span",
|
|
1670
|
+
{
|
|
1671
|
+
"aria-hidden": true,
|
|
1672
|
+
"data-slot": "pagination-ellipsis",
|
|
1673
|
+
className: cn("flex size-9 items-center justify-center", className),
|
|
1674
|
+
...props,
|
|
1675
|
+
children: [
|
|
1676
|
+
/* @__PURE__ */ jsx(MoreHorizontalIcon, { className: "size-4" }),
|
|
1677
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "More pages" })
|
|
1678
|
+
]
|
|
1679
|
+
}
|
|
1680
|
+
);
|
|
1681
|
+
}
|
|
1682
|
+
function RadioGroup2({
|
|
1683
|
+
className,
|
|
1684
|
+
...props
|
|
1685
|
+
}) {
|
|
1109
1686
|
return /* @__PURE__ */ jsx(
|
|
1110
|
-
|
|
1687
|
+
RadioGroup.Root,
|
|
1111
1688
|
{
|
|
1112
|
-
"data-slot": "
|
|
1113
|
-
className: cn("
|
|
1689
|
+
"data-slot": "radio-group",
|
|
1690
|
+
className: cn("grid gap-3", className),
|
|
1114
1691
|
...props
|
|
1115
1692
|
}
|
|
1116
1693
|
);
|
|
1117
1694
|
}
|
|
1118
|
-
function
|
|
1695
|
+
function RadioGroupItem({
|
|
1119
1696
|
className,
|
|
1120
1697
|
...props
|
|
1121
1698
|
}) {
|
|
1122
1699
|
return /* @__PURE__ */ jsx(
|
|
1123
|
-
|
|
1700
|
+
RadioGroup.Item,
|
|
1124
1701
|
{
|
|
1125
|
-
"data-slot": "
|
|
1126
|
-
className: cn(
|
|
1127
|
-
|
|
1702
|
+
"data-slot": "radio-group-item",
|
|
1703
|
+
className: cn(
|
|
1704
|
+
"aspect-square size-4 shrink-0 rounded-full border border-input text-primary shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:bg-input/30 dark:aria-invalid:ring-destructive/40",
|
|
1705
|
+
className
|
|
1706
|
+
),
|
|
1707
|
+
...props,
|
|
1708
|
+
children: /* @__PURE__ */ jsx(
|
|
1709
|
+
RadioGroup.Indicator,
|
|
1710
|
+
{
|
|
1711
|
+
"data-slot": "radio-group-indicator",
|
|
1712
|
+
className: "relative flex items-center justify-center",
|
|
1713
|
+
children: /* @__PURE__ */ jsx(CircleIcon, { className: "absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 fill-primary" })
|
|
1714
|
+
}
|
|
1715
|
+
)
|
|
1128
1716
|
}
|
|
1129
1717
|
);
|
|
1130
1718
|
}
|
|
@@ -1284,7 +1872,7 @@ function SelectScrollDownButton({
|
|
|
1284
1872
|
}
|
|
1285
1873
|
);
|
|
1286
1874
|
}
|
|
1287
|
-
var Separator3 =
|
|
1875
|
+
var Separator3 = React15.forwardRef(
|
|
1288
1876
|
({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1289
1877
|
SeparatorPrimitive.Root,
|
|
1290
1878
|
{
|
|
@@ -1301,34 +1889,6 @@ var Separator3 = React6.forwardRef(
|
|
|
1301
1889
|
)
|
|
1302
1890
|
);
|
|
1303
1891
|
Separator3.displayName = SeparatorPrimitive.Root.displayName;
|
|
1304
|
-
function Skeleton({
|
|
1305
|
-
className,
|
|
1306
|
-
...props
|
|
1307
|
-
}) {
|
|
1308
|
-
return /* @__PURE__ */ jsx(
|
|
1309
|
-
"div",
|
|
1310
|
-
{
|
|
1311
|
-
className: cn("animate-pulse rounded-md bg-muted", className),
|
|
1312
|
-
...props
|
|
1313
|
-
}
|
|
1314
|
-
);
|
|
1315
|
-
}
|
|
1316
|
-
var Slider = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
1317
|
-
SliderPrimitive.Root,
|
|
1318
|
-
{
|
|
1319
|
-
ref,
|
|
1320
|
-
className: cn(
|
|
1321
|
-
"relative flex w-full touch-none items-center select-none",
|
|
1322
|
-
className
|
|
1323
|
-
),
|
|
1324
|
-
...props,
|
|
1325
|
-
children: [
|
|
1326
|
-
/* @__PURE__ */ jsx(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-gray-200", children: /* @__PURE__ */ jsx(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
|
|
1327
|
-
/* @__PURE__ */ jsx(SliderPrimitive.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50" })
|
|
1328
|
-
]
|
|
1329
|
-
}
|
|
1330
|
-
));
|
|
1331
|
-
Slider.displayName = SliderPrimitive.Root.displayName;
|
|
1332
1892
|
var Sheet = SheetPrimitive.Root;
|
|
1333
1893
|
var SheetTrigger = SheetPrimitive.Trigger;
|
|
1334
1894
|
var SheetClose = SheetPrimitive.Close;
|
|
@@ -1336,7 +1896,7 @@ function SheetPortal(props) {
|
|
|
1336
1896
|
const portalContainer = usePortalContainer();
|
|
1337
1897
|
return /* @__PURE__ */ jsx(SheetPrimitive.Portal, { container: portalContainer, ...props });
|
|
1338
1898
|
}
|
|
1339
|
-
var SheetOverlay =
|
|
1899
|
+
var SheetOverlay = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1340
1900
|
SheetPrimitive.Overlay,
|
|
1341
1901
|
{
|
|
1342
1902
|
className: cn(
|
|
@@ -1364,7 +1924,7 @@ var sheetVariants = cva(
|
|
|
1364
1924
|
}
|
|
1365
1925
|
}
|
|
1366
1926
|
);
|
|
1367
|
-
var SheetContent =
|
|
1927
|
+
var SheetContent = React15.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs(SheetPortal, { children: [
|
|
1368
1928
|
/* @__PURE__ */ jsx(SheetOverlay, {}),
|
|
1369
1929
|
/* @__PURE__ */ jsxs(
|
|
1370
1930
|
SheetPrimitive.Content,
|
|
@@ -1407,7 +1967,7 @@ function SheetFooter({ className, ...props }) {
|
|
|
1407
1967
|
}
|
|
1408
1968
|
);
|
|
1409
1969
|
}
|
|
1410
|
-
var SheetTitle =
|
|
1970
|
+
var SheetTitle = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1411
1971
|
SheetPrimitive.Title,
|
|
1412
1972
|
{
|
|
1413
1973
|
ref,
|
|
@@ -1416,7 +1976,7 @@ var SheetTitle = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
1416
1976
|
}
|
|
1417
1977
|
));
|
|
1418
1978
|
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
1419
|
-
var SheetDescription =
|
|
1979
|
+
var SheetDescription = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1420
1980
|
SheetPrimitive.Description,
|
|
1421
1981
|
{
|
|
1422
1982
|
ref,
|
|
@@ -1425,6 +1985,69 @@ var SheetDescription = React6.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
1425
1985
|
}
|
|
1426
1986
|
));
|
|
1427
1987
|
SheetDescription.displayName = SheetPrimitive.Description.displayName;
|
|
1988
|
+
function Skeleton({
|
|
1989
|
+
className,
|
|
1990
|
+
...props
|
|
1991
|
+
}) {
|
|
1992
|
+
return /* @__PURE__ */ jsx(
|
|
1993
|
+
"div",
|
|
1994
|
+
{
|
|
1995
|
+
className: cn("animate-pulse rounded-md bg-muted", className),
|
|
1996
|
+
...props
|
|
1997
|
+
}
|
|
1998
|
+
);
|
|
1999
|
+
}
|
|
2000
|
+
var Slider = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
2001
|
+
SliderPrimitive.Root,
|
|
2002
|
+
{
|
|
2003
|
+
ref,
|
|
2004
|
+
className: cn(
|
|
2005
|
+
"relative flex w-full touch-none items-center select-none",
|
|
2006
|
+
className
|
|
2007
|
+
),
|
|
2008
|
+
...props,
|
|
2009
|
+
children: [
|
|
2010
|
+
/* @__PURE__ */ jsx(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-gray-200", children: /* @__PURE__ */ jsx(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
|
|
2011
|
+
/* @__PURE__ */ jsx(SliderPrimitive.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50" })
|
|
2012
|
+
]
|
|
2013
|
+
}
|
|
2014
|
+
));
|
|
2015
|
+
Slider.displayName = SliderPrimitive.Root.displayName;
|
|
2016
|
+
function Toaster({ theme = "system", ...props }) {
|
|
2017
|
+
return /* @__PURE__ */ jsx(
|
|
2018
|
+
Toaster$1,
|
|
2019
|
+
{
|
|
2020
|
+
theme,
|
|
2021
|
+
className: "toaster group",
|
|
2022
|
+
icons: {
|
|
2023
|
+
success: /* @__PURE__ */ jsx(CircleCheckIcon, { className: "size-4" }),
|
|
2024
|
+
info: /* @__PURE__ */ jsx(InfoIcon, { className: "size-4" }),
|
|
2025
|
+
warning: /* @__PURE__ */ jsx(TriangleAlertIcon, { className: "size-4" }),
|
|
2026
|
+
error: /* @__PURE__ */ jsx(OctagonXIcon, { className: "size-4" }),
|
|
2027
|
+
loading: /* @__PURE__ */ jsx(Loader2Icon, { className: "size-4 animate-spin" })
|
|
2028
|
+
},
|
|
2029
|
+
style: {
|
|
2030
|
+
"--normal-bg": "var(--popover)",
|
|
2031
|
+
"--normal-text": "var(--popover-foreground)",
|
|
2032
|
+
"--normal-border": "var(--border)",
|
|
2033
|
+
"--success-bg": "var(--popover)",
|
|
2034
|
+
"--success-text": "var(--popover-foreground)",
|
|
2035
|
+
"--success-border": "var(--border)",
|
|
2036
|
+
"--error-bg": "var(--popover)",
|
|
2037
|
+
"--error-text": "var(--popover-foreground)",
|
|
2038
|
+
"--error-border": "var(--border)",
|
|
2039
|
+
"--warning-bg": "var(--popover)",
|
|
2040
|
+
"--warning-text": "var(--popover-foreground)",
|
|
2041
|
+
"--warning-border": "var(--border)",
|
|
2042
|
+
"--info-bg": "var(--popover)",
|
|
2043
|
+
"--info-text": "var(--popover-foreground)",
|
|
2044
|
+
"--info-border": "var(--border)",
|
|
2045
|
+
"--border-radius": "var(--radius)"
|
|
2046
|
+
},
|
|
2047
|
+
...props
|
|
2048
|
+
}
|
|
2049
|
+
);
|
|
2050
|
+
}
|
|
1428
2051
|
function SpinnerWithText({
|
|
1429
2052
|
text = "Loading...",
|
|
1430
2053
|
variant = "inline",
|
|
@@ -1477,7 +2100,7 @@ function SpinnerWithText({
|
|
|
1477
2100
|
}
|
|
1478
2101
|
);
|
|
1479
2102
|
}
|
|
1480
|
-
var Switch =
|
|
2103
|
+
var Switch = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1481
2104
|
SwitchPrimitive.Root,
|
|
1482
2105
|
{
|
|
1483
2106
|
className: cn(
|
|
@@ -1497,6 +2120,108 @@ var Switch = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
1497
2120
|
}
|
|
1498
2121
|
));
|
|
1499
2122
|
Switch.displayName = SwitchPrimitive.Root.displayName;
|
|
2123
|
+
function Table({ className, ...props }) {
|
|
2124
|
+
return /* @__PURE__ */ jsx(
|
|
2125
|
+
"div",
|
|
2126
|
+
{
|
|
2127
|
+
"data-slot": "table-container",
|
|
2128
|
+
className: "relative w-full overflow-x-auto",
|
|
2129
|
+
children: /* @__PURE__ */ jsx(
|
|
2130
|
+
"table",
|
|
2131
|
+
{
|
|
2132
|
+
"data-slot": "table",
|
|
2133
|
+
className: cn("w-full caption-bottom text-sm", className),
|
|
2134
|
+
...props
|
|
2135
|
+
}
|
|
2136
|
+
)
|
|
2137
|
+
}
|
|
2138
|
+
);
|
|
2139
|
+
}
|
|
2140
|
+
function TableHeader({ className, ...props }) {
|
|
2141
|
+
return /* @__PURE__ */ jsx(
|
|
2142
|
+
"thead",
|
|
2143
|
+
{
|
|
2144
|
+
"data-slot": "table-header",
|
|
2145
|
+
className: cn("[&_tr]:border-b", className),
|
|
2146
|
+
...props
|
|
2147
|
+
}
|
|
2148
|
+
);
|
|
2149
|
+
}
|
|
2150
|
+
function TableBody({ className, ...props }) {
|
|
2151
|
+
return /* @__PURE__ */ jsx(
|
|
2152
|
+
"tbody",
|
|
2153
|
+
{
|
|
2154
|
+
"data-slot": "table-body",
|
|
2155
|
+
className: cn("[&_tr:last-child]:border-0", className),
|
|
2156
|
+
...props
|
|
2157
|
+
}
|
|
2158
|
+
);
|
|
2159
|
+
}
|
|
2160
|
+
function TableFooter({ className, ...props }) {
|
|
2161
|
+
return /* @__PURE__ */ jsx(
|
|
2162
|
+
"tfoot",
|
|
2163
|
+
{
|
|
2164
|
+
"data-slot": "table-footer",
|
|
2165
|
+
className: cn(
|
|
2166
|
+
"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
|
|
2167
|
+
className
|
|
2168
|
+
),
|
|
2169
|
+
...props
|
|
2170
|
+
}
|
|
2171
|
+
);
|
|
2172
|
+
}
|
|
2173
|
+
function TableRow({ className, ...props }) {
|
|
2174
|
+
return /* @__PURE__ */ jsx(
|
|
2175
|
+
"tr",
|
|
2176
|
+
{
|
|
2177
|
+
"data-slot": "table-row",
|
|
2178
|
+
className: cn(
|
|
2179
|
+
"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
|
|
2180
|
+
className
|
|
2181
|
+
),
|
|
2182
|
+
...props
|
|
2183
|
+
}
|
|
2184
|
+
);
|
|
2185
|
+
}
|
|
2186
|
+
function TableHead({ className, ...props }) {
|
|
2187
|
+
return /* @__PURE__ */ jsx(
|
|
2188
|
+
"th",
|
|
2189
|
+
{
|
|
2190
|
+
"data-slot": "table-head",
|
|
2191
|
+
className: cn(
|
|
2192
|
+
"h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
2193
|
+
className
|
|
2194
|
+
),
|
|
2195
|
+
...props
|
|
2196
|
+
}
|
|
2197
|
+
);
|
|
2198
|
+
}
|
|
2199
|
+
function TableCell({ className, ...props }) {
|
|
2200
|
+
return /* @__PURE__ */ jsx(
|
|
2201
|
+
"td",
|
|
2202
|
+
{
|
|
2203
|
+
"data-slot": "table-cell",
|
|
2204
|
+
className: cn(
|
|
2205
|
+
"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
2206
|
+
className
|
|
2207
|
+
),
|
|
2208
|
+
...props
|
|
2209
|
+
}
|
|
2210
|
+
);
|
|
2211
|
+
}
|
|
2212
|
+
function TableCaption({
|
|
2213
|
+
className,
|
|
2214
|
+
...props
|
|
2215
|
+
}) {
|
|
2216
|
+
return /* @__PURE__ */ jsx(
|
|
2217
|
+
"caption",
|
|
2218
|
+
{
|
|
2219
|
+
"data-slot": "table-caption",
|
|
2220
|
+
className: cn("mt-4 text-sm text-muted-foreground", className),
|
|
2221
|
+
...props
|
|
2222
|
+
}
|
|
2223
|
+
);
|
|
2224
|
+
}
|
|
1500
2225
|
function Tabs({
|
|
1501
2226
|
className,
|
|
1502
2227
|
...props
|
|
@@ -1568,7 +2293,7 @@ function Textarea({ className, ...props }) {
|
|
|
1568
2293
|
}
|
|
1569
2294
|
);
|
|
1570
2295
|
}
|
|
1571
|
-
var ToggleGroupContext =
|
|
2296
|
+
var ToggleGroupContext = React15.createContext({
|
|
1572
2297
|
size: "default",
|
|
1573
2298
|
variant: "default",
|
|
1574
2299
|
spacing: 0,
|
|
@@ -1614,7 +2339,7 @@ function ToggleGroupItem({
|
|
|
1614
2339
|
size = "default",
|
|
1615
2340
|
...props
|
|
1616
2341
|
}) {
|
|
1617
|
-
const context =
|
|
2342
|
+
const context = React15.useContext(ToggleGroupContext);
|
|
1618
2343
|
return /* @__PURE__ */ jsx(
|
|
1619
2344
|
ToggleGroupPrimitive.Item,
|
|
1620
2345
|
{
|
|
@@ -1659,6 +2384,6 @@ function TooltipContent({
|
|
|
1659
2384
|
) });
|
|
1660
2385
|
}
|
|
1661
2386
|
|
|
1662
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, Button, Calendar, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, 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, IconButton, IconToggle, Input, Label2 as Label, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PortalContainerProvider, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator3 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Slider, SpinnerWithText, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toggle, ToggleGroup, ToggleGroupItem, Tooltip2 as Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, buttonVariants, cn, toggleVariants, useZodForm };
|
|
2387
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Button, Calendar, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, DatePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, IconButton, IconToggle, Input, Label2 as Label, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PortalContainerProvider, RadioGroup2 as RadioGroup, RadioGroupItem, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator3 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Slider, SpinnerWithText, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip2 as Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, toggleVariants, useFormField, useZodForm };
|
|
1663
2388
|
//# sourceMappingURL=index.js.map
|
|
1664
2389
|
//# sourceMappingURL=index.js.map
|