@page-speed/forms 0.7.2 → 0.7.4
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/{chunk-4K6J2DOK.cjs → chunk-3VSPIJNK.cjs} +189 -156
- package/dist/chunk-3VSPIJNK.cjs.map +1 -0
- package/dist/{chunk-AG67TUZI.js → chunk-HX7733ID.js} +18 -7
- package/dist/chunk-HX7733ID.js.map +1 -0
- package/dist/{chunk-V4HMVPAB.cjs → chunk-MBOEVE6D.cjs} +35 -24
- package/dist/chunk-MBOEVE6D.cjs.map +1 -0
- package/dist/{chunk-WQ4HD5UD.cjs → chunk-PDMFWP5I.cjs} +55 -3
- package/dist/chunk-PDMFWP5I.cjs.map +1 -0
- package/dist/{chunk-SUF7WJS6.js → chunk-QHAQYOBT.js} +55 -4
- package/dist/chunk-QHAQYOBT.js.map +1 -0
- package/dist/{chunk-ZH6XDBWH.js → chunk-SF6NKDID.js} +79 -46
- package/dist/chunk-SF6NKDID.js.map +1 -0
- package/dist/core.cjs +9 -9
- package/dist/core.js +2 -2
- package/dist/index.cjs +13 -13
- package/dist/index.js +2 -2
- package/dist/inputs.cjs +14 -14
- package/dist/inputs.d.cts +12 -1
- package/dist/inputs.d.ts +12 -1
- package/dist/inputs.js +2 -2
- package/dist/integration.cjs +59 -25
- package/dist/integration.cjs.map +1 -1
- package/dist/integration.js +40 -6
- package/dist/integration.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-4K6J2DOK.cjs.map +0 -1
- package/dist/chunk-AG67TUZI.js.map +0 -1
- package/dist/chunk-SUF7WJS6.js.map +0 -1
- package/dist/chunk-V4HMVPAB.cjs.map +0 -1
- package/dist/chunk-WQ4HD5UD.cjs.map +0 -1
- package/dist/chunk-ZH6XDBWH.js.map +0 -1
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkPDMFWP5I_cjs = require('./chunk-PDMFWP5I.cjs');
|
|
4
4
|
var React19 = require('react');
|
|
5
5
|
var radixUi = require('radix-ui');
|
|
6
6
|
var cmdk = require('cmdk');
|
|
7
7
|
var reactDirection = require('@radix-ui/react-direction');
|
|
8
8
|
var reactSlot = require('@radix-ui/react-slot');
|
|
9
9
|
var reactDayPicker = require('react-day-picker');
|
|
10
|
+
var icon = require('@page-speed/icon');
|
|
10
11
|
|
|
11
12
|
function _interopNamespace(e) {
|
|
12
13
|
if (e && e.__esModule) return e;
|
|
@@ -33,9 +34,9 @@ function Textarea({ className, ...props }) {
|
|
|
33
34
|
"textarea",
|
|
34
35
|
{
|
|
35
36
|
"data-slot": "textarea",
|
|
36
|
-
className:
|
|
37
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
37
38
|
// Core structure - uses CSS variables only
|
|
38
|
-
"flex field-sizing-content min-h-
|
|
39
|
+
"flex field-sizing-content min-h-32 w-full rounded-md border border-input",
|
|
39
40
|
"bg-transparent px-3 py-2 text-base shadow-xs",
|
|
40
41
|
"transition-[color,box-shadow] outline-none md:text-sm",
|
|
41
42
|
// Focus state - uses ring-ring CSS variable
|
|
@@ -86,7 +87,7 @@ function TextArea({
|
|
|
86
87
|
placeholder,
|
|
87
88
|
disabled,
|
|
88
89
|
required,
|
|
89
|
-
className:
|
|
90
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
90
91
|
// Valid value indicator - ring-2 when has value and no error
|
|
91
92
|
!error && hasValue && "ring-2 ring-ring",
|
|
92
93
|
// Error state - handled by Textarea component via aria-invalid
|
|
@@ -113,7 +114,7 @@ function Checkbox({
|
|
|
113
114
|
radixUi.Checkbox.Root,
|
|
114
115
|
{
|
|
115
116
|
"data-slot": "checkbox",
|
|
116
|
-
className:
|
|
117
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
117
118
|
// Core structure - uses CSS variables
|
|
118
119
|
"peer size-4 shrink-0 rounded-[4px] border border-input bg-transparent shadow-xs",
|
|
119
120
|
"transition-shadow outline-none",
|
|
@@ -126,6 +127,7 @@ function Checkbox({
|
|
|
126
127
|
"aria-invalid:border-destructive aria-invalid:ring-destructive/20",
|
|
127
128
|
// Disabled state
|
|
128
129
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
130
|
+
" mt-1",
|
|
129
131
|
className
|
|
130
132
|
),
|
|
131
133
|
...props
|
|
@@ -218,10 +220,10 @@ function Checkbox2({
|
|
|
218
220
|
return /* @__PURE__ */ React19__namespace.createElement("div", { className }, checkbox);
|
|
219
221
|
}
|
|
220
222
|
return /* @__PURE__ */ React19__namespace.createElement("div", { className: "space-y-0", "data-invalid": error || void 0 }, /* @__PURE__ */ React19__namespace.createElement(
|
|
221
|
-
|
|
223
|
+
chunkPDMFWP5I_cjs.FieldLabel,
|
|
222
224
|
{
|
|
223
225
|
htmlFor: checkboxId,
|
|
224
|
-
className:
|
|
226
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
225
227
|
"flex gap-3 p-3 duration-200 select-auto font-normal leading-normal",
|
|
226
228
|
showChoiceCard && "border rounded-lg hover:ring-2 hover:ring-ring/50",
|
|
227
229
|
showChoiceCard && value && "ring-2 ring-ring",
|
|
@@ -233,14 +235,14 @@ function Checkbox2({
|
|
|
233
235
|
/* @__PURE__ */ React19__namespace.createElement(
|
|
234
236
|
"div",
|
|
235
237
|
{
|
|
236
|
-
className:
|
|
238
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
237
239
|
"flex w-full gap-3",
|
|
238
240
|
showChoiceCard ? "items-start" : "items-center"
|
|
239
241
|
)
|
|
240
242
|
},
|
|
241
243
|
checkbox,
|
|
242
244
|
/* @__PURE__ */ React19__namespace.createElement("div", { className: "flex-1 space-y-1" }, /* @__PURE__ */ React19__namespace.createElement("span", { className: "text-sm font-medium leading-none" }, label), description && /* @__PURE__ */ React19__namespace.createElement(
|
|
243
|
-
|
|
245
|
+
chunkPDMFWP5I_cjs.FieldDescription,
|
|
244
246
|
{
|
|
245
247
|
id: `${checkboxId}-description`,
|
|
246
248
|
className: "leading-snug"
|
|
@@ -309,7 +311,7 @@ function CheckboxGroup({
|
|
|
309
311
|
};
|
|
310
312
|
const maxReached = Boolean(maxSelections && countableValue >= maxSelections);
|
|
311
313
|
const containerClass = React19__namespace.useMemo(() => {
|
|
312
|
-
return
|
|
314
|
+
return chunkPDMFWP5I_cjs.cn(
|
|
313
315
|
"w-full grid grid-cols-1 border-0 m-0 p-0 min-w-0",
|
|
314
316
|
(layout === "grid" || layout === "inline") && "md:grid-cols-2",
|
|
315
317
|
layout === "grid" && "gap-3",
|
|
@@ -330,7 +332,7 @@ function CheckboxGroup({
|
|
|
330
332
|
"aria-label": typeof label === "string" ? label : props["aria-label"]
|
|
331
333
|
},
|
|
332
334
|
/* @__PURE__ */ React19__namespace.createElement(
|
|
333
|
-
|
|
335
|
+
chunkPDMFWP5I_cjs.LabelGroup,
|
|
334
336
|
{
|
|
335
337
|
labelHtmlFor: name,
|
|
336
338
|
required,
|
|
@@ -377,9 +379,9 @@ function CheckboxGroup({
|
|
|
377
379
|
);
|
|
378
380
|
}),
|
|
379
381
|
(minSelections || maxSelections) && /* @__PURE__ */ React19__namespace.createElement(
|
|
380
|
-
|
|
382
|
+
chunkPDMFWP5I_cjs.FieldDescription,
|
|
381
383
|
{
|
|
382
|
-
className:
|
|
384
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
383
385
|
"p-2 rounded-lg border font-semibold mt-2 leading-snug",
|
|
384
386
|
minSelections && countableValue < minSelections ? "border-destructive bg-destructive/80 text-destructive-foreground" : "border-border bg-card text-card-foreground"
|
|
385
387
|
),
|
|
@@ -399,7 +401,7 @@ function RadioGroup({
|
|
|
399
401
|
radixUi.RadioGroup.Root,
|
|
400
402
|
{
|
|
401
403
|
"data-slot": "radio-group",
|
|
402
|
-
className:
|
|
404
|
+
className: chunkPDMFWP5I_cjs.cn("grid gap-3", className),
|
|
403
405
|
...props
|
|
404
406
|
}
|
|
405
407
|
);
|
|
@@ -412,7 +414,7 @@ function RadioGroupItem({
|
|
|
412
414
|
radixUi.RadioGroup.Item,
|
|
413
415
|
{
|
|
414
416
|
"data-slot": "radio-group-item",
|
|
415
|
-
className:
|
|
417
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
416
418
|
// Core structure - uses CSS variables
|
|
417
419
|
"aspect-square size-4 shrink-0 rounded-full border border-input bg-transparent shadow-xs",
|
|
418
420
|
"text-primary transition-[color,box-shadow] outline-none",
|
|
@@ -470,7 +472,17 @@ function Radio({
|
|
|
470
472
|
return options.some((option) => option.description);
|
|
471
473
|
}, [options]);
|
|
472
474
|
const groupDescriptionId = description ? `${name}-description` : void 0;
|
|
473
|
-
return /* @__PURE__ */ React19__namespace.createElement("div", { className:
|
|
475
|
+
return /* @__PURE__ */ React19__namespace.createElement("div", { className: chunkPDMFWP5I_cjs.cn("w-full", className), "data-invalid": error || void 0 }, /* @__PURE__ */ React19__namespace.createElement(
|
|
476
|
+
chunkPDMFWP5I_cjs.LabelGroup,
|
|
477
|
+
{
|
|
478
|
+
labelHtmlFor: name,
|
|
479
|
+
required,
|
|
480
|
+
variant: "legend",
|
|
481
|
+
secondaryId: groupDescriptionId,
|
|
482
|
+
secondary: description,
|
|
483
|
+
primary: label
|
|
484
|
+
}
|
|
485
|
+
), /* @__PURE__ */ React19__namespace.createElement(
|
|
474
486
|
RadioGroup,
|
|
475
487
|
{
|
|
476
488
|
name,
|
|
@@ -479,9 +491,10 @@ function Radio({
|
|
|
479
491
|
onBlur: handleBlur,
|
|
480
492
|
disabled,
|
|
481
493
|
required,
|
|
482
|
-
className:
|
|
483
|
-
layout === "grid" && "grid grid-cols-1 md:grid-cols-2
|
|
484
|
-
layout === "inline" && "flex flex-wrap
|
|
494
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
495
|
+
layout === "grid" && "grid grid-cols-1 md:grid-cols-2",
|
|
496
|
+
layout === "inline" && "flex flex-wrap",
|
|
497
|
+
useChoiceCard ? "gap-3" : "gap-0"
|
|
485
498
|
),
|
|
486
499
|
"aria-invalid": error || props["aria-invalid"],
|
|
487
500
|
"aria-describedby": groupDescriptionId || props["aria-describedby"],
|
|
@@ -493,13 +506,16 @@ function Radio({
|
|
|
493
506
|
const radioId = `${name}-${option.value}`;
|
|
494
507
|
const hasDescription = !!option.description;
|
|
495
508
|
return /* @__PURE__ */ React19__namespace.createElement(
|
|
496
|
-
|
|
509
|
+
chunkPDMFWP5I_cjs.FieldLabel,
|
|
497
510
|
{
|
|
498
511
|
key: option.value,
|
|
499
512
|
htmlFor: radioId,
|
|
500
|
-
className:
|
|
501
|
-
"flex gap-3
|
|
502
|
-
|
|
513
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
514
|
+
"flex gap-3 duration-200",
|
|
515
|
+
"select-auto font-normal leading-normal",
|
|
516
|
+
useChoiceCard && "hover:ring-2 hover:ring-ring",
|
|
517
|
+
useChoiceCard && "border rounded-lg p-3",
|
|
518
|
+
!useChoiceCard && "p-1",
|
|
503
519
|
useChoiceCard && isSelected && "ring-2 ring-ring",
|
|
504
520
|
useChoiceCard && error && "border-destructive",
|
|
505
521
|
isDisabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"
|
|
@@ -508,7 +524,7 @@ function Radio({
|
|
|
508
524
|
/* @__PURE__ */ React19__namespace.createElement(
|
|
509
525
|
"div",
|
|
510
526
|
{
|
|
511
|
-
className:
|
|
527
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
512
528
|
"flex w-full gap-3",
|
|
513
529
|
useChoiceCard ? "items-start" : "items-center"
|
|
514
530
|
)
|
|
@@ -524,7 +540,7 @@ function Radio({
|
|
|
524
540
|
}
|
|
525
541
|
),
|
|
526
542
|
/* @__PURE__ */ React19__namespace.createElement("div", { className: "flex-1 space-y-1" }, /* @__PURE__ */ React19__namespace.createElement("span", { className: "text-sm font-medium leading-none" }, option.label), option.description && /* @__PURE__ */ React19__namespace.createElement(
|
|
527
|
-
|
|
543
|
+
chunkPDMFWP5I_cjs.FieldDescription,
|
|
528
544
|
{
|
|
529
545
|
id: `${radioId}-description`,
|
|
530
546
|
className: "leading-snug"
|
|
@@ -547,7 +563,7 @@ function Switch({
|
|
|
547
563
|
{
|
|
548
564
|
"data-slot": "switch",
|
|
549
565
|
"data-size": size,
|
|
550
|
-
className:
|
|
566
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
551
567
|
// Core structure - uses CSS variables
|
|
552
568
|
"peer group/switch inline-flex shrink-0 items-center rounded-full",
|
|
553
569
|
"border border-transparent shadow-xs transition-all outline-none",
|
|
@@ -568,7 +584,7 @@ function Switch({
|
|
|
568
584
|
radixUi.Switch.Thumb,
|
|
569
585
|
{
|
|
570
586
|
"data-slot": "switch-thumb",
|
|
571
|
-
className:
|
|
587
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
572
588
|
// Thumb appearance - inherits from parent theme
|
|
573
589
|
"bg-background pointer-events-none block rounded-full ring-0 transition-transform",
|
|
574
590
|
// Size variants
|
|
@@ -619,21 +635,21 @@ function Switch2({
|
|
|
619
635
|
}
|
|
620
636
|
);
|
|
621
637
|
if (!label) {
|
|
622
|
-
return /* @__PURE__ */ React19__namespace.createElement(
|
|
638
|
+
return /* @__PURE__ */ React19__namespace.createElement(chunkPDMFWP5I_cjs.Field, { className }, switchElement);
|
|
623
639
|
}
|
|
624
|
-
return /* @__PURE__ */ React19__namespace.createElement(
|
|
625
|
-
|
|
640
|
+
return /* @__PURE__ */ React19__namespace.createElement(chunkPDMFWP5I_cjs.Field, { className: "gap-0", invalid: Boolean(error) }, /* @__PURE__ */ React19__namespace.createElement(
|
|
641
|
+
chunkPDMFWP5I_cjs.FieldLabel,
|
|
626
642
|
{
|
|
627
643
|
htmlFor: switchId,
|
|
628
|
-
className:
|
|
644
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
629
645
|
"flex items-center gap-3 cursor-pointer select-auto font-normal leading-normal",
|
|
630
646
|
disabled && "opacity-50 cursor-not-allowed",
|
|
631
647
|
className
|
|
632
648
|
)
|
|
633
649
|
},
|
|
634
650
|
switchElement,
|
|
635
|
-
/* @__PURE__ */ React19__namespace.createElement(
|
|
636
|
-
|
|
651
|
+
/* @__PURE__ */ React19__namespace.createElement(chunkPDMFWP5I_cjs.Field, { className: "gap-1" }, /* @__PURE__ */ React19__namespace.createElement("span", { className: "text-sm font-medium leading-none" }, label), description && /* @__PURE__ */ React19__namespace.createElement(
|
|
652
|
+
chunkPDMFWP5I_cjs.FieldDescription,
|
|
637
653
|
{
|
|
638
654
|
id: `${switchId}-description`,
|
|
639
655
|
className: "leading-snug"
|
|
@@ -669,7 +685,7 @@ function SelectTrigger({
|
|
|
669
685
|
{
|
|
670
686
|
"data-slot": "select-trigger",
|
|
671
687
|
"data-size": size,
|
|
672
|
-
className:
|
|
688
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
673
689
|
// Core structure - uses CSS variables
|
|
674
690
|
"flex w-full items-center justify-between gap-2 rounded-md border border-input",
|
|
675
691
|
"bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs",
|
|
@@ -720,7 +736,7 @@ function SelectContent({
|
|
|
720
736
|
radixUi.Select.Content,
|
|
721
737
|
{
|
|
722
738
|
"data-slot": "select-content",
|
|
723
|
-
className:
|
|
739
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
724
740
|
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
|
|
725
741
|
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
726
742
|
className
|
|
@@ -733,7 +749,7 @@ function SelectContent({
|
|
|
733
749
|
/* @__PURE__ */ React19__namespace.createElement(
|
|
734
750
|
radixUi.Select.Viewport,
|
|
735
751
|
{
|
|
736
|
-
className:
|
|
752
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
737
753
|
"p-1",
|
|
738
754
|
position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
|
|
739
755
|
)
|
|
@@ -751,7 +767,7 @@ function SelectLabel({
|
|
|
751
767
|
radixUi.Select.Label,
|
|
752
768
|
{
|
|
753
769
|
"data-slot": "select-label",
|
|
754
|
-
className:
|
|
770
|
+
className: chunkPDMFWP5I_cjs.cn("px-2 py-1.5 text-xs opacity-70", className),
|
|
755
771
|
...props
|
|
756
772
|
}
|
|
757
773
|
);
|
|
@@ -765,7 +781,7 @@ function SelectItem({
|
|
|
765
781
|
radixUi.Select.Item,
|
|
766
782
|
{
|
|
767
783
|
"data-slot": "select-item",
|
|
768
|
-
className:
|
|
784
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
769
785
|
// Core structure - inherits text color
|
|
770
786
|
"relative flex w-full cursor-default items-center gap-2 rounded-sm",
|
|
771
787
|
"py-1.5 pr-8 pl-2 text-sm outline-hidden select-none",
|
|
@@ -812,7 +828,7 @@ function SelectScrollUpButton({
|
|
|
812
828
|
radixUi.Select.ScrollUpButton,
|
|
813
829
|
{
|
|
814
830
|
"data-slot": "select-scroll-up-button",
|
|
815
|
-
className:
|
|
831
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
816
832
|
"flex cursor-default items-center justify-center py-1",
|
|
817
833
|
className
|
|
818
834
|
),
|
|
@@ -841,7 +857,7 @@ function SelectScrollDownButton({
|
|
|
841
857
|
radixUi.Select.ScrollDownButton,
|
|
842
858
|
{
|
|
843
859
|
"data-slot": "select-scroll-down-button",
|
|
844
|
-
className:
|
|
860
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
845
861
|
"flex cursor-default items-center justify-center py-1",
|
|
846
862
|
className
|
|
847
863
|
),
|
|
@@ -935,7 +951,7 @@ function Select2({
|
|
|
935
951
|
/* @__PURE__ */ React19__namespace.createElement(
|
|
936
952
|
SelectTrigger,
|
|
937
953
|
{
|
|
938
|
-
className:
|
|
954
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
939
955
|
// Valid value indicator - ring-2 when has value and no error
|
|
940
956
|
!error && hasValue && "ring-2 ring-ring",
|
|
941
957
|
// Error state - handled by SelectTrigger via aria-invalid
|
|
@@ -994,7 +1010,7 @@ var DialogOverlay = React19__namespace.forwardRef(({ className, ...props }, ref)
|
|
|
994
1010
|
{
|
|
995
1011
|
ref,
|
|
996
1012
|
"data-slot": "dialog-overlay",
|
|
997
|
-
className:
|
|
1013
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
998
1014
|
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
|
|
999
1015
|
className
|
|
1000
1016
|
),
|
|
@@ -1009,7 +1025,7 @@ var DialogContent = React19__namespace.forwardRef(({ className, children, showCl
|
|
|
1009
1025
|
{
|
|
1010
1026
|
ref,
|
|
1011
1027
|
"data-slot": "dialog-content",
|
|
1012
|
-
className:
|
|
1028
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
1013
1029
|
"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 p-6 shadow-lg duration-200 outline-none sm:max-w-lg",
|
|
1014
1030
|
className
|
|
1015
1031
|
),
|
|
@@ -1046,7 +1062,7 @@ function DialogHeader({ className, ...props }) {
|
|
|
1046
1062
|
"div",
|
|
1047
1063
|
{
|
|
1048
1064
|
"data-slot": "dialog-header",
|
|
1049
|
-
className:
|
|
1065
|
+
className: chunkPDMFWP5I_cjs.cn("flex flex-col gap-2 text-center sm:text-left", className),
|
|
1050
1066
|
...props
|
|
1051
1067
|
}
|
|
1052
1068
|
);
|
|
@@ -1059,7 +1075,7 @@ function DialogTitle({
|
|
|
1059
1075
|
radixUi.Dialog.Title,
|
|
1060
1076
|
{
|
|
1061
1077
|
"data-slot": "dialog-title",
|
|
1062
|
-
className:
|
|
1078
|
+
className: chunkPDMFWP5I_cjs.cn("text-lg leading-none font-semibold", className),
|
|
1063
1079
|
...props
|
|
1064
1080
|
}
|
|
1065
1081
|
);
|
|
@@ -1074,7 +1090,7 @@ function Command({
|
|
|
1074
1090
|
cmdk.Command,
|
|
1075
1091
|
{
|
|
1076
1092
|
"data-slot": "command",
|
|
1077
|
-
className:
|
|
1093
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
1078
1094
|
"bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",
|
|
1079
1095
|
className
|
|
1080
1096
|
),
|
|
@@ -1110,7 +1126,7 @@ function CommandInput({
|
|
|
1110
1126
|
cmdk.Command.Input,
|
|
1111
1127
|
{
|
|
1112
1128
|
"data-slot": "command-input",
|
|
1113
|
-
className:
|
|
1129
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
1114
1130
|
"flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
|
|
1115
1131
|
className
|
|
1116
1132
|
),
|
|
@@ -1127,7 +1143,7 @@ function CommandList({
|
|
|
1127
1143
|
cmdk.Command.List,
|
|
1128
1144
|
{
|
|
1129
1145
|
"data-slot": "command-list",
|
|
1130
|
-
className:
|
|
1146
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
1131
1147
|
"max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",
|
|
1132
1148
|
className
|
|
1133
1149
|
),
|
|
@@ -1155,7 +1171,7 @@ function CommandGroup({
|
|
|
1155
1171
|
cmdk.Command.Group,
|
|
1156
1172
|
{
|
|
1157
1173
|
"data-slot": "command-group",
|
|
1158
|
-
className:
|
|
1174
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
1159
1175
|
"overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:opacity-70",
|
|
1160
1176
|
className
|
|
1161
1177
|
),
|
|
@@ -1185,7 +1201,7 @@ function PopoverContent({
|
|
|
1185
1201
|
"data-slot": "popover-content",
|
|
1186
1202
|
align,
|
|
1187
1203
|
sideOffset,
|
|
1188
|
-
className:
|
|
1204
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
1189
1205
|
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
|
|
1190
1206
|
className
|
|
1191
1207
|
),
|
|
@@ -1445,7 +1461,7 @@ function MultiSelect({
|
|
|
1445
1461
|
value
|
|
1446
1462
|
]
|
|
1447
1463
|
);
|
|
1448
|
-
const combinedClassName =
|
|
1464
|
+
const combinedClassName = chunkPDMFWP5I_cjs.cn("relative w-full", className);
|
|
1449
1465
|
return /* @__PURE__ */ React19__namespace.createElement("div", { className: combinedClassName }, /* @__PURE__ */ React19__namespace.createElement(
|
|
1450
1466
|
"select",
|
|
1451
1467
|
{
|
|
@@ -1466,7 +1482,7 @@ function MultiSelect({
|
|
|
1466
1482
|
"div",
|
|
1467
1483
|
{
|
|
1468
1484
|
ref: triggerRef,
|
|
1469
|
-
className:
|
|
1485
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
1470
1486
|
"flex min-h-9 w-full items-center justify-between rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm",
|
|
1471
1487
|
"cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
1472
1488
|
!error && hasValue && "ring-2 ring-ring",
|
|
@@ -1535,7 +1551,7 @@ function MultiSelect({
|
|
|
1535
1551
|
CommandInput,
|
|
1536
1552
|
{
|
|
1537
1553
|
id: searchInputId,
|
|
1538
|
-
className:
|
|
1554
|
+
className: chunkPDMFWP5I_cjs.cn(chunkPDMFWP5I_cjs.INPUT_AUTOFILL_RESET_CLASSES),
|
|
1539
1555
|
placeholder: "Search...",
|
|
1540
1556
|
value: searchQuery,
|
|
1541
1557
|
onValueChange: (nextValue) => {
|
|
@@ -1596,7 +1612,7 @@ function MultiSelect({
|
|
|
1596
1612
|
handleToggleOption(option.value);
|
|
1597
1613
|
}
|
|
1598
1614
|
},
|
|
1599
|
-
className:
|
|
1615
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
1600
1616
|
"relative flex w-full cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-accent",
|
|
1601
1617
|
isFocused && "bg-accent",
|
|
1602
1618
|
isSelected && "bg-accent font-medium",
|
|
@@ -1627,7 +1643,7 @@ function MultiSelect({
|
|
|
1627
1643
|
handleToggleOption(option.value);
|
|
1628
1644
|
}
|
|
1629
1645
|
},
|
|
1630
|
-
className:
|
|
1646
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
1631
1647
|
"relative flex w-full cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-accent",
|
|
1632
1648
|
isFocused && "bg-accent",
|
|
1633
1649
|
isSelected && "bg-accent font-medium",
|
|
@@ -1681,7 +1697,7 @@ function BaseFileIcon({
|
|
|
1681
1697
|
strokeWidth: "2",
|
|
1682
1698
|
strokeLinecap: "round",
|
|
1683
1699
|
strokeLinejoin: "round",
|
|
1684
|
-
className:
|
|
1700
|
+
className: chunkPDMFWP5I_cjs.cn("size-5", className),
|
|
1685
1701
|
"aria-hidden": "true"
|
|
1686
1702
|
},
|
|
1687
1703
|
children
|
|
@@ -2165,7 +2181,7 @@ function FileUpload(props) {
|
|
|
2165
2181
|
"data-slot": "file-upload",
|
|
2166
2182
|
dir,
|
|
2167
2183
|
...rootProps,
|
|
2168
|
-
className:
|
|
2184
|
+
className: chunkPDMFWP5I_cjs.cn("relative flex flex-col gap-2", className)
|
|
2169
2185
|
},
|
|
2170
2186
|
children,
|
|
2171
2187
|
/* @__PURE__ */ React19__namespace.createElement(
|
|
@@ -2337,7 +2353,7 @@ function FileUploadDropzone(props) {
|
|
|
2337
2353
|
dir: context.dir,
|
|
2338
2354
|
tabIndex: context.disabled ? -1 : 0,
|
|
2339
2355
|
...dropzoneProps,
|
|
2340
|
-
className:
|
|
2356
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
2341
2357
|
"relative flex select-none flex-col items-center justify-center gap-2 rounded-lg border border-dashed p-6 outline-none transition-colors hover:bg-accent/50 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/20 data-disabled:pointer-events-none data-disabled:opacity-50 data-dragging:border-ring data-dragging:bg-accent/50 data-invalid:border-destructive data-invalid:ring-destructive/20",
|
|
2342
2358
|
className
|
|
2343
2359
|
),
|
|
@@ -2375,7 +2391,7 @@ function FileUploadList(props) {
|
|
|
2375
2391
|
"data-state": shouldRender ? "active" : "inactive",
|
|
2376
2392
|
dir: context.dir,
|
|
2377
2393
|
...listProps,
|
|
2378
|
-
className:
|
|
2394
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
2379
2395
|
"data-[state=inactive]:fade-out-0 data-[state=active]:fade-in-0 data-[state=inactive]:slide-out-to-top-2 data-[state=active]:slide-in-from-top-2 flex flex-col gap-2 data-[state=active]:animate-in data-[state=inactive]:animate-out",
|
|
2380
2396
|
orientation === "horizontal" && "flex-row overflow-x-auto p-1.5",
|
|
2381
2397
|
className
|
|
@@ -2431,7 +2447,7 @@ function FileUploadItem(props) {
|
|
|
2431
2447
|
"data-slot": "file-upload-item",
|
|
2432
2448
|
dir: context.dir,
|
|
2433
2449
|
...itemProps,
|
|
2434
|
-
className:
|
|
2450
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
2435
2451
|
"relative flex items-center gap-2.5 rounded-md border p-3",
|
|
2436
2452
|
className
|
|
2437
2453
|
)
|
|
@@ -2478,7 +2494,7 @@ function FileUploadItemPreview(props) {
|
|
|
2478
2494
|
"aria-labelledby": itemContext.nameId,
|
|
2479
2495
|
"data-slot": "file-upload-preview",
|
|
2480
2496
|
...previewProps,
|
|
2481
|
-
className:
|
|
2497
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
2482
2498
|
"relative flex size-10 shrink-0 items-center justify-center overflow-hidden rounded border bg-accent/50 [&>svg]:size-10",
|
|
2483
2499
|
className
|
|
2484
2500
|
)
|
|
@@ -2505,13 +2521,13 @@ function FileUploadItemMetadata(props) {
|
|
|
2505
2521
|
"data-slot": "file-upload-metadata",
|
|
2506
2522
|
dir: context.dir,
|
|
2507
2523
|
...metadataProps,
|
|
2508
|
-
className:
|
|
2524
|
+
className: chunkPDMFWP5I_cjs.cn("flex min-w-0 flex-1 flex-col", className)
|
|
2509
2525
|
},
|
|
2510
2526
|
children ?? /* @__PURE__ */ React19__namespace.createElement(React19__namespace.Fragment, null, /* @__PURE__ */ React19__namespace.createElement(
|
|
2511
2527
|
"span",
|
|
2512
2528
|
{
|
|
2513
2529
|
id: itemContext.nameId,
|
|
2514
|
-
className:
|
|
2530
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
2515
2531
|
"truncate font-medium text-sm",
|
|
2516
2532
|
size === "sm" && "font-normal text-[13px] leading-snug"
|
|
2517
2533
|
)
|
|
@@ -2521,7 +2537,7 @@ function FileUploadItemMetadata(props) {
|
|
|
2521
2537
|
"span",
|
|
2522
2538
|
{
|
|
2523
2539
|
id: itemContext.sizeId,
|
|
2524
|
-
className:
|
|
2540
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
2525
2541
|
"truncate text-xs opacity-70",
|
|
2526
2542
|
size === "sm" && "text-[11px] leading-snug"
|
|
2527
2543
|
)
|
|
@@ -2573,7 +2589,7 @@ function FileInput({
|
|
|
2573
2589
|
value = [],
|
|
2574
2590
|
onChange,
|
|
2575
2591
|
onBlur,
|
|
2576
|
-
placeholder
|
|
2592
|
+
placeholder,
|
|
2577
2593
|
disabled = false,
|
|
2578
2594
|
required = false,
|
|
2579
2595
|
error = false,
|
|
@@ -2851,7 +2867,26 @@ function FileInput({
|
|
|
2851
2867
|
}
|
|
2852
2868
|
};
|
|
2853
2869
|
}, [imageToCrop]);
|
|
2854
|
-
const
|
|
2870
|
+
const dynamicPlaceholder = React19__namespace.useMemo(() => {
|
|
2871
|
+
if (placeholder) {
|
|
2872
|
+
return placeholder;
|
|
2873
|
+
}
|
|
2874
|
+
return `Drag & drop file${multiple ? "s" : ""} here`;
|
|
2875
|
+
}, [multiple, placeholder]);
|
|
2876
|
+
const metadataElement = React19__namespace.useMemo(() => {
|
|
2877
|
+
const metaList = [];
|
|
2878
|
+
if (accept) {
|
|
2879
|
+
metaList.push(`Accepted: ${accept}`);
|
|
2880
|
+
}
|
|
2881
|
+
if (maxSize) {
|
|
2882
|
+
metaList.push(`Max size: ${formatFileSize(maxSize)}`);
|
|
2883
|
+
}
|
|
2884
|
+
if (metaList.length > 0) {
|
|
2885
|
+
return /* @__PURE__ */ React19__namespace.createElement("div", { className: "flex text-center items-center justify-center gap-4" }, metaList.map((str) => /* @__PURE__ */ React19__namespace.createElement("span", { key: str, className: "font-sm opacity-75" }, str)));
|
|
2886
|
+
} else {
|
|
2887
|
+
return null;
|
|
2888
|
+
}
|
|
2889
|
+
}, [accept, maxSize]);
|
|
2855
2890
|
return /* @__PURE__ */ React19__namespace.createElement(React19__namespace.Fragment, null, /* @__PURE__ */ React19__namespace.createElement(
|
|
2856
2891
|
FileUpload,
|
|
2857
2892
|
{
|
|
@@ -2868,7 +2903,7 @@ function FileInput({
|
|
|
2868
2903
|
required: required && normalizedValue.length === 0,
|
|
2869
2904
|
invalid: Boolean(error || props["aria-invalid"]),
|
|
2870
2905
|
label: "File upload",
|
|
2871
|
-
className:
|
|
2906
|
+
className: chunkPDMFWP5I_cjs.cn(className),
|
|
2872
2907
|
inputProps: {
|
|
2873
2908
|
...props,
|
|
2874
2909
|
onBlur: handleBlur,
|
|
@@ -2882,33 +2917,33 @@ function FileInput({
|
|
|
2882
2917
|
FileUploadDropzone,
|
|
2883
2918
|
{
|
|
2884
2919
|
role: "button",
|
|
2885
|
-
"aria-label":
|
|
2886
|
-
className:
|
|
2887
|
-
"flex min-h-32 w-full cursor-pointer
|
|
2888
|
-
"
|
|
2889
|
-
"
|
|
2920
|
+
"aria-label": dynamicPlaceholder,
|
|
2921
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
2922
|
+
"flex min-h-32 w-full cursor-pointer",
|
|
2923
|
+
"items-center justify-center border-input",
|
|
2924
|
+
"bg-transparent p-6 transition-colors",
|
|
2925
|
+
"data-[dragging]:ring-2 hover:ring-2",
|
|
2890
2926
|
disabled && "cursor-not-allowed opacity-50",
|
|
2891
2927
|
error && "border-destructive"
|
|
2892
2928
|
)
|
|
2893
2929
|
},
|
|
2894
|
-
/* @__PURE__ */ React19__namespace.createElement("div", { className: "flex flex-col items-center gap-
|
|
2930
|
+
/* @__PURE__ */ React19__namespace.createElement("div", { className: "flex flex-col items-center gap-3 text-center" }, /* @__PURE__ */ React19__namespace.createElement("div", { className: "flex items-center justify-center rounded-full border p-2.5" }, /* @__PURE__ */ React19__namespace.createElement(
|
|
2895
2931
|
"svg",
|
|
2896
2932
|
{
|
|
2897
|
-
width: "
|
|
2898
|
-
height: "
|
|
2933
|
+
width: "18",
|
|
2934
|
+
height: "18",
|
|
2899
2935
|
viewBox: "0 0 24 24",
|
|
2900
2936
|
fill: "none",
|
|
2901
2937
|
stroke: "currentColor",
|
|
2902
2938
|
strokeWidth: "2",
|
|
2903
2939
|
strokeLinecap: "round",
|
|
2904
2940
|
strokeLinejoin: "round",
|
|
2905
|
-
className: "text-muted-foreground",
|
|
2906
2941
|
"aria-hidden": "true"
|
|
2907
2942
|
},
|
|
2908
2943
|
/* @__PURE__ */ React19__namespace.createElement("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }),
|
|
2909
2944
|
/* @__PURE__ */ React19__namespace.createElement("polyline", { points: "17 8 12 3 7 8" }),
|
|
2910
2945
|
/* @__PURE__ */ React19__namespace.createElement("line", { x1: "12", y1: "3", x2: "12", y2: "15" })
|
|
2911
|
-
)), /* @__PURE__ */ React19__namespace.createElement("
|
|
2946
|
+
)), /* @__PURE__ */ React19__namespace.createElement("div", { className: "flex flex-col items-center justify-center gap-1 text-center" }, /* @__PURE__ */ React19__namespace.createElement("p", { className: "text-sm font-medium" }, dynamicPlaceholder), metadataElement))
|
|
2912
2947
|
),
|
|
2913
2948
|
/* @__PURE__ */ React19__namespace.createElement(FileUploadList, { className: "mt-4" }, normalizedValue.map((file, index) => {
|
|
2914
2949
|
const progressValue = uploadProgress[file.name];
|
|
@@ -2918,9 +2953,12 @@ function FileInput({
|
|
|
2918
2953
|
{
|
|
2919
2954
|
key: `${file.name}-${index}`,
|
|
2920
2955
|
value: file,
|
|
2921
|
-
className:
|
|
2956
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
2957
|
+
"flex items-center gap-3",
|
|
2958
|
+
"border-border bg-card text-card-foreground"
|
|
2959
|
+
)
|
|
2922
2960
|
},
|
|
2923
|
-
showPreview ? /* @__PURE__ */ React19__namespace.createElement(FileUploadItemPreview, { className: "
|
|
2961
|
+
showPreview ? /* @__PURE__ */ React19__namespace.createElement(FileUploadItemPreview, { className: "size-12 rounded [&>img]:h-full [&>img]:w-full [&>img]:object-cover [&>svg]:size-6" }) : null,
|
|
2924
2962
|
/* @__PURE__ */ React19__namespace.createElement("div", { className: "flex min-w-0 flex-1 flex-col" }, /* @__PURE__ */ React19__namespace.createElement(FileUploadItemMetadata, { className: "min-w-0" }), hasProgress && progressValue < 100 ? /* @__PURE__ */ React19__namespace.createElement("div", { className: "mt-1 flex items-center gap-2" }, /* @__PURE__ */ React19__namespace.createElement(
|
|
2925
2963
|
"div",
|
|
2926
2964
|
{
|
|
@@ -2938,9 +2976,9 @@ function FileInput({
|
|
|
2938
2976
|
style: { width: `${progressValue}%` }
|
|
2939
2977
|
}
|
|
2940
2978
|
)
|
|
2941
|
-
), /* @__PURE__ */ React19__namespace.createElement("span", { className: "text-xs" }, progressValue, "%")) :
|
|
2979
|
+
), /* @__PURE__ */ React19__namespace.createElement("span", { className: "text-xs" }, progressValue, "%")) : /* @__PURE__ */ React19__namespace.createElement("span", { className: "text-xs" }, formatFileSize(file.size))),
|
|
2942
2980
|
enableCropping && file.type.startsWith("image/") ? /* @__PURE__ */ React19__namespace.createElement(
|
|
2943
|
-
|
|
2981
|
+
chunkPDMFWP5I_cjs.Button,
|
|
2944
2982
|
{
|
|
2945
2983
|
type: "button",
|
|
2946
2984
|
variant: "ghost",
|
|
@@ -2950,7 +2988,7 @@ function FileInput({
|
|
|
2950
2988
|
handleCrop(file);
|
|
2951
2989
|
},
|
|
2952
2990
|
disabled,
|
|
2953
|
-
className: "
|
|
2991
|
+
className: "size-8 p-0",
|
|
2954
2992
|
"aria-label": `Crop ${file.name}`
|
|
2955
2993
|
},
|
|
2956
2994
|
/* @__PURE__ */ React19__namespace.createElement(
|
|
@@ -2971,13 +3009,13 @@ function FileInput({
|
|
|
2971
3009
|
)
|
|
2972
3010
|
) : null,
|
|
2973
3011
|
/* @__PURE__ */ React19__namespace.createElement(FileUploadItemDelete, { asChild: true }, /* @__PURE__ */ React19__namespace.createElement(
|
|
2974
|
-
|
|
3012
|
+
chunkPDMFWP5I_cjs.Button,
|
|
2975
3013
|
{
|
|
2976
3014
|
type: "button",
|
|
2977
|
-
variant: "
|
|
2978
|
-
size: "icon",
|
|
3015
|
+
variant: "outline",
|
|
3016
|
+
size: "icon-sm",
|
|
2979
3017
|
disabled,
|
|
2980
|
-
className: "
|
|
3018
|
+
className: "size-8 p-0",
|
|
2981
3019
|
"aria-label": `Remove ${file.name}`
|
|
2982
3020
|
},
|
|
2983
3021
|
/* @__PURE__ */ React19__namespace.createElement(
|
|
@@ -3017,7 +3055,7 @@ function FileInput({
|
|
|
3017
3055
|
"aria-describedby": void 0
|
|
3018
3056
|
},
|
|
3019
3057
|
/* @__PURE__ */ React19__namespace.createElement(DialogHeader, { className: "flex-row items-center justify-between border-b border-border px-4 py-3" }, /* @__PURE__ */ React19__namespace.createElement(DialogTitle, null, "Crop Image"), /* @__PURE__ */ React19__namespace.createElement(DialogClose, { asChild: true }, /* @__PURE__ */ React19__namespace.createElement(
|
|
3020
|
-
|
|
3058
|
+
chunkPDMFWP5I_cjs.Button,
|
|
3021
3059
|
{
|
|
3022
3060
|
type: "button",
|
|
3023
3061
|
variant: "ghost",
|
|
@@ -3045,7 +3083,7 @@ function FileInput({
|
|
|
3045
3083
|
/* @__PURE__ */ React19__namespace.createElement("div", { className: "p-4" }, /* @__PURE__ */ React19__namespace.createElement(
|
|
3046
3084
|
"div",
|
|
3047
3085
|
{
|
|
3048
|
-
className: "relative h-96 w-full overflow-hidden rounded-md
|
|
3086
|
+
className: "relative h-96 w-full overflow-hidden rounded-md",
|
|
3049
3087
|
onMouseDown: (event) => {
|
|
3050
3088
|
event.preventDefault();
|
|
3051
3089
|
const startX = event.clientX - crop.x;
|
|
@@ -3129,19 +3167,19 @@ function FileInput({
|
|
|
3129
3167
|
step: "0.1",
|
|
3130
3168
|
value: zoom,
|
|
3131
3169
|
onChange: (event) => onZoomChange(parseFloat(event.target.value)),
|
|
3132
|
-
className: "h-2 flex-1 cursor-pointer appearance-none rounded-lg bg-
|
|
3170
|
+
className: "h-2 flex-1 cursor-pointer appearance-none rounded-lg bg-primary",
|
|
3133
3171
|
"aria-label": "Zoom level"
|
|
3134
3172
|
}
|
|
3135
3173
|
))),
|
|
3136
3174
|
/* @__PURE__ */ React19__namespace.createElement("div", { className: "flex items-center justify-end gap-2 border-t border-border p-4" }, /* @__PURE__ */ React19__namespace.createElement(
|
|
3137
|
-
|
|
3175
|
+
chunkPDMFWP5I_cjs.Button,
|
|
3138
3176
|
{
|
|
3139
3177
|
type: "button",
|
|
3140
3178
|
variant: "outline",
|
|
3141
3179
|
onClick: handleCropCancel
|
|
3142
3180
|
},
|
|
3143
3181
|
"Cancel"
|
|
3144
|
-
), /* @__PURE__ */ React19__namespace.createElement(
|
|
3182
|
+
), /* @__PURE__ */ React19__namespace.createElement(chunkPDMFWP5I_cjs.Button, { type: "button", onClick: handleCropSave }, "Save"))
|
|
3145
3183
|
) : null
|
|
3146
3184
|
));
|
|
3147
3185
|
}
|
|
@@ -3161,7 +3199,7 @@ function Calendar({
|
|
|
3161
3199
|
reactDayPicker.DayPicker,
|
|
3162
3200
|
{
|
|
3163
3201
|
showOutsideDays,
|
|
3164
|
-
className:
|
|
3202
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
3165
3203
|
"bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
|
|
3166
3204
|
String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
|
|
3167
3205
|
String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
|
|
@@ -3173,86 +3211,86 @@ function Calendar({
|
|
|
3173
3211
|
...formatters
|
|
3174
3212
|
},
|
|
3175
3213
|
classNames: {
|
|
3176
|
-
root:
|
|
3177
|
-
months:
|
|
3214
|
+
root: chunkPDMFWP5I_cjs.cn("w-fit", defaultClassNames.root),
|
|
3215
|
+
months: chunkPDMFWP5I_cjs.cn(
|
|
3178
3216
|
"flex gap-4 flex-col md:flex-row relative",
|
|
3179
3217
|
defaultClassNames.months
|
|
3180
3218
|
),
|
|
3181
|
-
month:
|
|
3182
|
-
nav:
|
|
3219
|
+
month: chunkPDMFWP5I_cjs.cn("flex flex-col w-full gap-4", defaultClassNames.month),
|
|
3220
|
+
nav: chunkPDMFWP5I_cjs.cn(
|
|
3183
3221
|
"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",
|
|
3184
3222
|
defaultClassNames.nav
|
|
3185
3223
|
),
|
|
3186
|
-
button_previous:
|
|
3187
|
-
|
|
3224
|
+
button_previous: chunkPDMFWP5I_cjs.cn(
|
|
3225
|
+
chunkPDMFWP5I_cjs.buttonVariants({ variant: buttonVariant }),
|
|
3188
3226
|
"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
|
|
3189
3227
|
defaultClassNames.button_previous
|
|
3190
3228
|
),
|
|
3191
|
-
button_next:
|
|
3192
|
-
|
|
3229
|
+
button_next: chunkPDMFWP5I_cjs.cn(
|
|
3230
|
+
chunkPDMFWP5I_cjs.buttonVariants({ variant: buttonVariant }),
|
|
3193
3231
|
"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
|
|
3194
3232
|
defaultClassNames.button_next
|
|
3195
3233
|
),
|
|
3196
|
-
month_caption:
|
|
3234
|
+
month_caption: chunkPDMFWP5I_cjs.cn(
|
|
3197
3235
|
"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",
|
|
3198
3236
|
defaultClassNames.month_caption
|
|
3199
3237
|
),
|
|
3200
|
-
dropdowns:
|
|
3238
|
+
dropdowns: chunkPDMFWP5I_cjs.cn(
|
|
3201
3239
|
"w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",
|
|
3202
3240
|
defaultClassNames.dropdowns
|
|
3203
3241
|
),
|
|
3204
|
-
dropdown_root:
|
|
3242
|
+
dropdown_root: chunkPDMFWP5I_cjs.cn(
|
|
3205
3243
|
"relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",
|
|
3206
3244
|
defaultClassNames.dropdown_root
|
|
3207
3245
|
),
|
|
3208
|
-
dropdown:
|
|
3246
|
+
dropdown: chunkPDMFWP5I_cjs.cn(
|
|
3209
3247
|
"absolute bg-popover inset-0 opacity-0",
|
|
3210
3248
|
defaultClassNames.dropdown
|
|
3211
3249
|
),
|
|
3212
|
-
caption_label:
|
|
3250
|
+
caption_label: chunkPDMFWP5I_cjs.cn(
|
|
3213
3251
|
"select-none font-medium",
|
|
3214
3252
|
captionLayout === "label" ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:opacity-70 [&>svg]:size-3.5",
|
|
3215
3253
|
defaultClassNames.caption_label
|
|
3216
3254
|
),
|
|
3217
3255
|
table: "w-full border-collapse",
|
|
3218
|
-
weekdays:
|
|
3219
|
-
weekday:
|
|
3256
|
+
weekdays: chunkPDMFWP5I_cjs.cn("flex", defaultClassNames.weekdays),
|
|
3257
|
+
weekday: chunkPDMFWP5I_cjs.cn(
|
|
3220
3258
|
"opacity-70 rounded-md flex-1 font-normal text-[0.8rem] select-none",
|
|
3221
3259
|
defaultClassNames.weekday
|
|
3222
3260
|
),
|
|
3223
|
-
week:
|
|
3224
|
-
week_number_header:
|
|
3261
|
+
week: chunkPDMFWP5I_cjs.cn("flex w-full mt-2", defaultClassNames.week),
|
|
3262
|
+
week_number_header: chunkPDMFWP5I_cjs.cn(
|
|
3225
3263
|
"select-none w-(--cell-size)",
|
|
3226
3264
|
defaultClassNames.week_number_header
|
|
3227
3265
|
),
|
|
3228
|
-
week_number:
|
|
3266
|
+
week_number: chunkPDMFWP5I_cjs.cn(
|
|
3229
3267
|
"text-[0.8rem] select-none opacity-70",
|
|
3230
3268
|
defaultClassNames.week_number
|
|
3231
3269
|
),
|
|
3232
|
-
day:
|
|
3270
|
+
day: chunkPDMFWP5I_cjs.cn(
|
|
3233
3271
|
"relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",
|
|
3234
3272
|
props.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-md" : "[&:first-child[data-selected=true]_button]:rounded-l-md",
|
|
3235
3273
|
defaultClassNames.day
|
|
3236
3274
|
),
|
|
3237
|
-
range_start:
|
|
3275
|
+
range_start: chunkPDMFWP5I_cjs.cn(
|
|
3238
3276
|
"rounded-l-md bg-accent",
|
|
3239
3277
|
defaultClassNames.range_start
|
|
3240
3278
|
),
|
|
3241
|
-
range_middle:
|
|
3242
|
-
range_end:
|
|
3243
|
-
today:
|
|
3279
|
+
range_middle: chunkPDMFWP5I_cjs.cn("rounded-none", defaultClassNames.range_middle),
|
|
3280
|
+
range_end: chunkPDMFWP5I_cjs.cn("rounded-r-md bg-accent", defaultClassNames.range_end),
|
|
3281
|
+
today: chunkPDMFWP5I_cjs.cn(
|
|
3244
3282
|
"bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",
|
|
3245
3283
|
defaultClassNames.today
|
|
3246
3284
|
),
|
|
3247
|
-
outside:
|
|
3285
|
+
outside: chunkPDMFWP5I_cjs.cn(
|
|
3248
3286
|
"opacity-50",
|
|
3249
3287
|
defaultClassNames.outside
|
|
3250
3288
|
),
|
|
3251
|
-
disabled:
|
|
3289
|
+
disabled: chunkPDMFWP5I_cjs.cn(
|
|
3252
3290
|
"opacity-50",
|
|
3253
3291
|
defaultClassNames.disabled
|
|
3254
3292
|
),
|
|
3255
|
-
hidden:
|
|
3293
|
+
hidden: chunkPDMFWP5I_cjs.cn("invisible", defaultClassNames.hidden),
|
|
3256
3294
|
...classNames
|
|
3257
3295
|
},
|
|
3258
3296
|
components: {
|
|
@@ -3262,7 +3300,7 @@ function Calendar({
|
|
|
3262
3300
|
{
|
|
3263
3301
|
"data-slot": "calendar",
|
|
3264
3302
|
ref: rootRef,
|
|
3265
|
-
className:
|
|
3303
|
+
className: chunkPDMFWP5I_cjs.cn(className2),
|
|
3266
3304
|
...props2
|
|
3267
3305
|
}
|
|
3268
3306
|
);
|
|
@@ -3272,7 +3310,7 @@ function Calendar({
|
|
|
3272
3310
|
return /* @__PURE__ */ React19__namespace.createElement(
|
|
3273
3311
|
"svg",
|
|
3274
3312
|
{
|
|
3275
|
-
className:
|
|
3313
|
+
className: chunkPDMFWP5I_cjs.cn("size-4", className2),
|
|
3276
3314
|
viewBox: "0 0 24 24",
|
|
3277
3315
|
fill: "none",
|
|
3278
3316
|
stroke: "currentColor",
|
|
@@ -3288,7 +3326,7 @@ function Calendar({
|
|
|
3288
3326
|
return /* @__PURE__ */ React19__namespace.createElement(
|
|
3289
3327
|
"svg",
|
|
3290
3328
|
{
|
|
3291
|
-
className:
|
|
3329
|
+
className: chunkPDMFWP5I_cjs.cn("size-4", className2),
|
|
3292
3330
|
viewBox: "0 0 24 24",
|
|
3293
3331
|
fill: "none",
|
|
3294
3332
|
stroke: "currentColor",
|
|
@@ -3303,7 +3341,7 @@ function Calendar({
|
|
|
3303
3341
|
return /* @__PURE__ */ React19__namespace.createElement(
|
|
3304
3342
|
"svg",
|
|
3305
3343
|
{
|
|
3306
|
-
className:
|
|
3344
|
+
className: chunkPDMFWP5I_cjs.cn("size-4", className2),
|
|
3307
3345
|
viewBox: "0 0 24 24",
|
|
3308
3346
|
fill: "none",
|
|
3309
3347
|
stroke: "currentColor",
|
|
@@ -3337,7 +3375,7 @@ function CalendarDayButton({
|
|
|
3337
3375
|
if (modifiers.focused) ref.current?.focus();
|
|
3338
3376
|
}, [modifiers.focused]);
|
|
3339
3377
|
return /* @__PURE__ */ React19__namespace.createElement(
|
|
3340
|
-
|
|
3378
|
+
chunkPDMFWP5I_cjs.Button,
|
|
3341
3379
|
{
|
|
3342
3380
|
ref,
|
|
3343
3381
|
variant: "ghost",
|
|
@@ -3347,7 +3385,7 @@ function CalendarDayButton({
|
|
|
3347
3385
|
"data-range-start": modifiers.range_start,
|
|
3348
3386
|
"data-range-end": modifiers.range_end,
|
|
3349
3387
|
"data-range-middle": modifiers.range_middle,
|
|
3350
|
-
className:
|
|
3388
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
3351
3389
|
// Core structure
|
|
3352
3390
|
"flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal",
|
|
3353
3391
|
// Selected states - uses CSS variables
|
|
@@ -3371,8 +3409,6 @@ function CalendarDayButton({
|
|
|
3371
3409
|
}
|
|
3372
3410
|
);
|
|
3373
3411
|
}
|
|
3374
|
-
|
|
3375
|
-
// src/inputs/DatePicker.tsx
|
|
3376
3412
|
function formatDate(date, format) {
|
|
3377
3413
|
if (!date) return "";
|
|
3378
3414
|
const d = new Date(date);
|
|
@@ -3392,7 +3428,7 @@ function DatePickerDayButton({
|
|
|
3392
3428
|
"button",
|
|
3393
3429
|
{
|
|
3394
3430
|
type: "button",
|
|
3395
|
-
className:
|
|
3431
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
3396
3432
|
"flex items-center justify-center h-8 w-8 rounded-md border-none bg-transparent cursor-pointer text-sm transition-colors",
|
|
3397
3433
|
"hover:bg-accent",
|
|
3398
3434
|
modifiers.selected && "bg-primary text-primary-foreground font-semibold",
|
|
@@ -3502,7 +3538,7 @@ function DatePicker({
|
|
|
3502
3538
|
}, [hasInteracted]);
|
|
3503
3539
|
const hasValue = Boolean(value);
|
|
3504
3540
|
const displayValue = formatDate(value, format);
|
|
3505
|
-
const combinedClassName =
|
|
3541
|
+
const combinedClassName = chunkPDMFWP5I_cjs.cn("relative", className);
|
|
3506
3542
|
return /* @__PURE__ */ React19__namespace.createElement("div", { className: combinedClassName }, /* @__PURE__ */ React19__namespace.createElement(
|
|
3507
3543
|
"input",
|
|
3508
3544
|
{
|
|
@@ -3517,19 +3553,12 @@ function DatePicker({
|
|
|
3517
3553
|
"aria-hidden": "true"
|
|
3518
3554
|
},
|
|
3519
3555
|
/* @__PURE__ */ React19__namespace.createElement(
|
|
3520
|
-
|
|
3556
|
+
icon.Icon,
|
|
3521
3557
|
{
|
|
3522
|
-
|
|
3523
|
-
|
|
3524
|
-
|
|
3525
|
-
|
|
3526
|
-
fill: "none",
|
|
3527
|
-
stroke: "currentColor",
|
|
3528
|
-
strokeLinecap: "round",
|
|
3529
|
-
strokeLinejoin: "round",
|
|
3530
|
-
strokeWidth: "2"
|
|
3531
|
-
},
|
|
3532
|
-
/* @__PURE__ */ React19__namespace.createElement("path", { d: "M8 2v4m8-4v4m5 8V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8M3 10h18m-5 10l2 2l4-4" })
|
|
3558
|
+
name: "material-symbols/edit-calendar-outline",
|
|
3559
|
+
apiKey: icon.DEFAULT_ICON_API_BASE_URL,
|
|
3560
|
+
size: 18
|
|
3561
|
+
}
|
|
3533
3562
|
)
|
|
3534
3563
|
), /* @__PURE__ */ React19__namespace.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React19__namespace.createElement(
|
|
3535
3564
|
"input",
|
|
@@ -3537,11 +3566,15 @@ function DatePicker({
|
|
|
3537
3566
|
ref: inputRef,
|
|
3538
3567
|
id: props.id,
|
|
3539
3568
|
type: "text",
|
|
3540
|
-
className:
|
|
3541
|
-
"flex h-9 w-full rounded-md border
|
|
3542
|
-
"
|
|
3543
|
-
"
|
|
3544
|
-
|
|
3569
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
3570
|
+
"flex h-9 w-full rounded-md border",
|
|
3571
|
+
"border-input bg-transparent py-1 text-base",
|
|
3572
|
+
"shadow-sm transition-colors",
|
|
3573
|
+
"focus-visible:outline-none focus-visible:ring-1",
|
|
3574
|
+
"focus-visible:ring-ring",
|
|
3575
|
+
"disabled:cursor-not-allowed",
|
|
3576
|
+
"disabled:opacity-50 md:text-sm",
|
|
3577
|
+
chunkPDMFWP5I_cjs.INPUT_AUTOFILL_RESET_CLASSES,
|
|
3545
3578
|
showIcon ? "pl-10" : "pl-3",
|
|
3546
3579
|
clearable && value ? "pr-10" : "pr-3",
|
|
3547
3580
|
!error && hasValue && "ring-2 ring-ring",
|
|
@@ -3682,7 +3715,7 @@ function TimePicker({
|
|
|
3682
3715
|
};
|
|
3683
3716
|
const hasValue = Boolean(value);
|
|
3684
3717
|
const stepInSeconds = Math.max(1, minuteStep * 60);
|
|
3685
|
-
return /* @__PURE__ */ React19__namespace.createElement("div", { className:
|
|
3718
|
+
return /* @__PURE__ */ React19__namespace.createElement("div", { className: chunkPDMFWP5I_cjs.cn("relative", className) }, /* @__PURE__ */ React19__namespace.createElement("input", { type: "hidden", name, value }), /* @__PURE__ */ React19__namespace.createElement("div", { className: "relative" }, showIcon && /* @__PURE__ */ React19__namespace.createElement(
|
|
3686
3719
|
"span",
|
|
3687
3720
|
{
|
|
3688
3721
|
className: "absolute left-3 top-1/2 -translate-y-1/2 pointer-events-none",
|
|
@@ -3705,13 +3738,13 @@ function TimePicker({
|
|
|
3705
3738
|
/* @__PURE__ */ React19__namespace.createElement("path", { d: "M12 6v6l4 2" })
|
|
3706
3739
|
)
|
|
3707
3740
|
), /* @__PURE__ */ React19__namespace.createElement(
|
|
3708
|
-
|
|
3741
|
+
chunkPDMFWP5I_cjs.Input,
|
|
3709
3742
|
{
|
|
3710
3743
|
ref: inputRef,
|
|
3711
3744
|
type: "time",
|
|
3712
|
-
className:
|
|
3745
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
3713
3746
|
"appearance-none [&::-webkit-calendar-picker-indicator]:hidden [&::-webkit-calendar-picker-indicator]:appearance-none",
|
|
3714
|
-
|
|
3747
|
+
chunkPDMFWP5I_cjs.INPUT_AUTOFILL_RESET_CLASSES,
|
|
3715
3748
|
showIcon ? "pl-10" : "pl-3",
|
|
3716
3749
|
clearable && value ? "pr-10" : "pr-3",
|
|
3717
3750
|
!error && hasValue && "ring-2 ring-ring",
|
|
@@ -3730,7 +3763,7 @@ function TimePicker({
|
|
|
3730
3763
|
...props
|
|
3731
3764
|
}
|
|
3732
3765
|
), clearable && value && !disabled && /* @__PURE__ */ React19__namespace.createElement(
|
|
3733
|
-
|
|
3766
|
+
chunkPDMFWP5I_cjs.Button,
|
|
3734
3767
|
{
|
|
3735
3768
|
type: "button",
|
|
3736
3769
|
variant: "ghost",
|
|
@@ -3930,7 +3963,7 @@ function DateRangePicker({
|
|
|
3930
3963
|
{
|
|
3931
3964
|
type: "button",
|
|
3932
3965
|
...rest,
|
|
3933
|
-
className:
|
|
3966
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
3934
3967
|
"flex items-center justify-center h-8 w-8 rounded-md border-none bg-transparent cursor-pointer text-sm transition-colors",
|
|
3935
3968
|
"hover:bg-accent",
|
|
3936
3969
|
isRangeEndpoint && "bg-primary text-primary-foreground font-semibold",
|
|
@@ -3968,7 +4001,7 @@ function DateRangePicker({
|
|
|
3968
4001
|
to: rangeEnd ?? void 0
|
|
3969
4002
|
} : void 0;
|
|
3970
4003
|
const displayValue = rangeStart && rangeEnd ? `${formatDate2(rangeStart, format)}${separator}${formatDate2(rangeEnd, format)}` : rangeStart ? formatDate2(rangeStart, format) : "";
|
|
3971
|
-
const combinedClassName =
|
|
4004
|
+
const combinedClassName = chunkPDMFWP5I_cjs.cn("relative", className);
|
|
3972
4005
|
return /* @__PURE__ */ React19__namespace.createElement("div", { className: combinedClassName }, /* @__PURE__ */ React19__namespace.createElement(
|
|
3973
4006
|
"input",
|
|
3974
4007
|
{
|
|
@@ -4010,11 +4043,11 @@ function DateRangePicker({
|
|
|
4010
4043
|
ref: inputRef,
|
|
4011
4044
|
id: props.id,
|
|
4012
4045
|
type: "text",
|
|
4013
|
-
className:
|
|
4046
|
+
className: chunkPDMFWP5I_cjs.cn(
|
|
4014
4047
|
"flex h-9 w-full rounded-md border border-input bg-transparent py-1 text-base shadow-sm transition-colors",
|
|
4015
4048
|
"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
4016
4049
|
"disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
4017
|
-
|
|
4050
|
+
chunkPDMFWP5I_cjs.INPUT_AUTOFILL_RESET_CLASSES,
|
|
4018
4051
|
showIcon ? "pl-10" : "pl-3",
|
|
4019
4052
|
clearable && (rangeStart || rangeEnd) ? "pr-10" : "pr-3",
|
|
4020
4053
|
!error && hasValue && "ring-2 ring-ring",
|
|
@@ -4090,5 +4123,5 @@ exports.Select = Select2;
|
|
|
4090
4123
|
exports.Switch = Switch2;
|
|
4091
4124
|
exports.TextArea = TextArea;
|
|
4092
4125
|
exports.TimePicker = TimePicker;
|
|
4093
|
-
//# sourceMappingURL=chunk-
|
|
4094
|
-
//# sourceMappingURL=chunk-
|
|
4126
|
+
//# sourceMappingURL=chunk-3VSPIJNK.cjs.map
|
|
4127
|
+
//# sourceMappingURL=chunk-3VSPIJNK.cjs.map
|