@optilogic/core 1.0.0-beta.2 → 1.0.0-beta.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/index.cjs +734 -219
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +308 -6
- package/dist/index.d.ts +308 -6
- package/dist/index.js +669 -168
- package/dist/index.js.map +1 -1
- package/package.json +20 -20
- package/src/components/board.tsx +251 -0
- package/src/components/card.tsx +656 -12
- package/src/components/context-menu.tsx +1 -1
- package/src/components/data-grid/hooks/useKeyboardNavigation.ts +1 -1
- package/src/index.ts +33 -0
package/dist/index.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var clsx = require('clsx');
|
|
4
4
|
var tailwindMerge = require('tailwind-merge');
|
|
5
|
-
var
|
|
5
|
+
var React34 = require('react');
|
|
6
6
|
var reactSlot = require('@radix-ui/react-slot');
|
|
7
7
|
var classVarianceAuthority = require('class-variance-authority');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -42,7 +42,7 @@ function _interopNamespace(e) {
|
|
|
42
42
|
return Object.freeze(n);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
var
|
|
45
|
+
var React34__namespace = /*#__PURE__*/_interopNamespace(React34);
|
|
46
46
|
var LabelPrimitive__namespace = /*#__PURE__*/_interopNamespace(LabelPrimitive);
|
|
47
47
|
var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimitive);
|
|
48
48
|
var SwitchPrimitive__namespace = /*#__PURE__*/_interopNamespace(SwitchPrimitive);
|
|
@@ -86,7 +86,7 @@ var buttonVariants = classVarianceAuthority.cva(
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
);
|
|
89
|
-
var Button =
|
|
89
|
+
var Button = React34__namespace.forwardRef(
|
|
90
90
|
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
91
91
|
const Comp = asChild ? reactSlot.Slot : "button";
|
|
92
92
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -100,7 +100,7 @@ var Button = React33__namespace.forwardRef(
|
|
|
100
100
|
}
|
|
101
101
|
);
|
|
102
102
|
Button.displayName = "Button";
|
|
103
|
-
var Input =
|
|
103
|
+
var Input = React34__namespace.forwardRef(
|
|
104
104
|
({ className, type, ...props }, ref) => {
|
|
105
105
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
106
106
|
"input",
|
|
@@ -120,7 +120,7 @@ Input.displayName = "Input";
|
|
|
120
120
|
var labelVariants = classVarianceAuthority.cva(
|
|
121
121
|
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
|
|
122
122
|
);
|
|
123
|
-
var Label =
|
|
123
|
+
var Label = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
124
124
|
LabelPrimitive__namespace.Root,
|
|
125
125
|
{
|
|
126
126
|
ref,
|
|
@@ -129,7 +129,7 @@ var Label = React33__namespace.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
129
129
|
}
|
|
130
130
|
));
|
|
131
131
|
Label.displayName = LabelPrimitive__namespace.Root.displayName;
|
|
132
|
-
var Textarea =
|
|
132
|
+
var Textarea = React34__namespace.forwardRef(
|
|
133
133
|
({ className, ...props }, ref) => {
|
|
134
134
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
135
135
|
"textarea",
|
|
@@ -168,7 +168,7 @@ var badgeVariants = classVarianceAuthority.cva(
|
|
|
168
168
|
function Badge({ className, variant, ...props }) {
|
|
169
169
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(badgeVariants({ variant }), className), ...props });
|
|
170
170
|
}
|
|
171
|
-
var Checkbox =
|
|
171
|
+
var Checkbox = React34__namespace.forwardRef(({ className, showBorder = true, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
172
172
|
CheckboxPrimitive__namespace.Root,
|
|
173
173
|
{
|
|
174
174
|
ref,
|
|
@@ -212,7 +212,7 @@ var Checkbox = React33__namespace.forwardRef(({ className, showBorder = true, ..
|
|
|
212
212
|
}
|
|
213
213
|
));
|
|
214
214
|
Checkbox.displayName = CheckboxPrimitive__namespace.Root.displayName;
|
|
215
|
-
var Switch =
|
|
215
|
+
var Switch = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
216
216
|
SwitchPrimitive__namespace.Root,
|
|
217
217
|
{
|
|
218
218
|
className: cn(
|
|
@@ -248,7 +248,7 @@ var Switch = React33__namespace.forwardRef(({ className, ...props }, ref) => /*
|
|
|
248
248
|
}
|
|
249
249
|
));
|
|
250
250
|
Switch.displayName = SwitchPrimitive__namespace.Root.displayName;
|
|
251
|
-
var Progress =
|
|
251
|
+
var Progress = React34__namespace.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
252
252
|
ProgressPrimitive__namespace.Root,
|
|
253
253
|
{
|
|
254
254
|
ref,
|
|
@@ -267,7 +267,7 @@ var Progress = React33__namespace.forwardRef(({ className, value, ...props }, re
|
|
|
267
267
|
}
|
|
268
268
|
));
|
|
269
269
|
Progress.displayName = ProgressPrimitive__namespace.Root.displayName;
|
|
270
|
-
var Separator =
|
|
270
|
+
var Separator = React34__namespace.forwardRef(
|
|
271
271
|
({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
272
272
|
SeparatorPrimitive__namespace.Root,
|
|
273
273
|
{
|
|
@@ -296,7 +296,7 @@ function Skeleton({ className, ...props }) {
|
|
|
296
296
|
var Select = SelectPrimitive__namespace.Root;
|
|
297
297
|
var SelectGroup = SelectPrimitive__namespace.Group;
|
|
298
298
|
var SelectValue = SelectPrimitive__namespace.Value;
|
|
299
|
-
var SelectTrigger =
|
|
299
|
+
var SelectTrigger = React34__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
300
300
|
SelectPrimitive__namespace.Trigger,
|
|
301
301
|
{
|
|
302
302
|
ref,
|
|
@@ -312,7 +312,7 @@ var SelectTrigger = React33__namespace.forwardRef(({ className, children, ...pro
|
|
|
312
312
|
}
|
|
313
313
|
));
|
|
314
314
|
SelectTrigger.displayName = SelectPrimitive__namespace.Trigger.displayName;
|
|
315
|
-
var SelectScrollUpButton =
|
|
315
|
+
var SelectScrollUpButton = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
316
316
|
SelectPrimitive__namespace.ScrollUpButton,
|
|
317
317
|
{
|
|
318
318
|
ref,
|
|
@@ -325,7 +325,7 @@ var SelectScrollUpButton = React33__namespace.forwardRef(({ className, ...props
|
|
|
325
325
|
}
|
|
326
326
|
));
|
|
327
327
|
SelectScrollUpButton.displayName = SelectPrimitive__namespace.ScrollUpButton.displayName;
|
|
328
|
-
var SelectScrollDownButton =
|
|
328
|
+
var SelectScrollDownButton = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
329
329
|
SelectPrimitive__namespace.ScrollDownButton,
|
|
330
330
|
{
|
|
331
331
|
ref,
|
|
@@ -338,7 +338,7 @@ var SelectScrollDownButton = React33__namespace.forwardRef(({ className, ...prop
|
|
|
338
338
|
}
|
|
339
339
|
));
|
|
340
340
|
SelectScrollDownButton.displayName = SelectPrimitive__namespace.ScrollDownButton.displayName;
|
|
341
|
-
var SelectContent =
|
|
341
|
+
var SelectContent = React34__namespace.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
342
342
|
SelectPrimitive__namespace.Content,
|
|
343
343
|
{
|
|
344
344
|
ref,
|
|
@@ -366,7 +366,7 @@ var SelectContent = React33__namespace.forwardRef(({ className, children, positi
|
|
|
366
366
|
}
|
|
367
367
|
) }));
|
|
368
368
|
SelectContent.displayName = SelectPrimitive__namespace.Content.displayName;
|
|
369
|
-
var SelectLabel =
|
|
369
|
+
var SelectLabel = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
370
370
|
SelectPrimitive__namespace.Label,
|
|
371
371
|
{
|
|
372
372
|
ref,
|
|
@@ -375,7 +375,7 @@ var SelectLabel = React33__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
375
375
|
}
|
|
376
376
|
));
|
|
377
377
|
SelectLabel.displayName = SelectPrimitive__namespace.Label.displayName;
|
|
378
|
-
var SelectItem =
|
|
378
|
+
var SelectItem = React34__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
379
379
|
SelectPrimitive__namespace.Item,
|
|
380
380
|
{
|
|
381
381
|
ref,
|
|
@@ -391,7 +391,7 @@ var SelectItem = React33__namespace.forwardRef(({ className, children, ...props
|
|
|
391
391
|
}
|
|
392
392
|
));
|
|
393
393
|
SelectItem.displayName = SelectPrimitive__namespace.Item.displayName;
|
|
394
|
-
var SelectSeparator =
|
|
394
|
+
var SelectSeparator = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
395
395
|
SelectPrimitive__namespace.Separator,
|
|
396
396
|
{
|
|
397
397
|
ref,
|
|
@@ -401,7 +401,7 @@ var SelectSeparator = React33__namespace.forwardRef(({ className, ...props }, re
|
|
|
401
401
|
));
|
|
402
402
|
SelectSeparator.displayName = SelectPrimitive__namespace.Separator.displayName;
|
|
403
403
|
var Tabs = TabsPrimitive__namespace.Root;
|
|
404
|
-
var TabsList =
|
|
404
|
+
var TabsList = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
405
405
|
TabsPrimitive__namespace.List,
|
|
406
406
|
{
|
|
407
407
|
ref,
|
|
@@ -415,7 +415,7 @@ var TabsList = React33__namespace.forwardRef(({ className, ...props }, ref) => /
|
|
|
415
415
|
}
|
|
416
416
|
));
|
|
417
417
|
TabsList.displayName = TabsPrimitive__namespace.List.displayName;
|
|
418
|
-
var TabsTrigger =
|
|
418
|
+
var TabsTrigger = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
419
419
|
TabsPrimitive__namespace.Trigger,
|
|
420
420
|
{
|
|
421
421
|
ref,
|
|
@@ -442,7 +442,7 @@ var TabsTrigger = React33__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
442
442
|
}
|
|
443
443
|
));
|
|
444
444
|
TabsTrigger.displayName = TabsPrimitive__namespace.Trigger.displayName;
|
|
445
|
-
var TabsContent =
|
|
445
|
+
var TabsContent = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
446
446
|
TabsPrimitive__namespace.Content,
|
|
447
447
|
{
|
|
448
448
|
ref,
|
|
@@ -525,7 +525,7 @@ var accordionContentInnerVariants = classVarianceAuthority.cva("pb-4 pt-0", {
|
|
|
525
525
|
}
|
|
526
526
|
});
|
|
527
527
|
var Accordion = AccordionPrimitive__namespace.Root;
|
|
528
|
-
var AccordionItem =
|
|
528
|
+
var AccordionItem = React34__namespace.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
529
529
|
AccordionPrimitive__namespace.Item,
|
|
530
530
|
{
|
|
531
531
|
ref,
|
|
@@ -535,7 +535,7 @@ var AccordionItem = React33__namespace.forwardRef(({ className, variant, ...prop
|
|
|
535
535
|
}
|
|
536
536
|
));
|
|
537
537
|
AccordionItem.displayName = "AccordionItem";
|
|
538
|
-
var AccordionTrigger =
|
|
538
|
+
var AccordionTrigger = React34__namespace.forwardRef(({ className, children, variant, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
539
539
|
AccordionPrimitive__namespace.Trigger,
|
|
540
540
|
{
|
|
541
541
|
ref,
|
|
@@ -548,7 +548,7 @@ var AccordionTrigger = React33__namespace.forwardRef(({ className, children, var
|
|
|
548
548
|
}
|
|
549
549
|
) }));
|
|
550
550
|
AccordionTrigger.displayName = AccordionPrimitive__namespace.Trigger.displayName;
|
|
551
|
-
var AccordionContent =
|
|
551
|
+
var AccordionContent = React34__namespace.forwardRef(({ className, children, variant, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
552
552
|
AccordionPrimitive__namespace.Content,
|
|
553
553
|
{
|
|
554
554
|
ref,
|
|
@@ -562,7 +562,7 @@ var TooltipProvider = TooltipPrimitive__namespace.Provider;
|
|
|
562
562
|
var TooltipRoot = TooltipPrimitive__namespace.Root;
|
|
563
563
|
var TooltipTrigger = TooltipPrimitive__namespace.Trigger;
|
|
564
564
|
var TooltipPortal = TooltipPrimitive__namespace.Portal;
|
|
565
|
-
var TooltipContent =
|
|
565
|
+
var TooltipContent = React34__namespace.forwardRef(({ className, sideOffset = 6, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
566
566
|
TooltipPrimitive__namespace.Content,
|
|
567
567
|
{
|
|
568
568
|
ref,
|
|
@@ -591,7 +591,7 @@ var TooltipContent = React33__namespace.forwardRef(({ className, sideOffset = 6,
|
|
|
591
591
|
}
|
|
592
592
|
) }));
|
|
593
593
|
TooltipContent.displayName = TooltipPrimitive__namespace.Content.displayName;
|
|
594
|
-
var TooltipArrow =
|
|
594
|
+
var TooltipArrow = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
595
595
|
TooltipPrimitive__namespace.Arrow,
|
|
596
596
|
{
|
|
597
597
|
ref,
|
|
@@ -630,7 +630,7 @@ function Tooltip({
|
|
|
630
630
|
var Popover = PopoverPrimitive__namespace.Root;
|
|
631
631
|
var PopoverTrigger = PopoverPrimitive__namespace.Trigger;
|
|
632
632
|
var PopoverAnchor = PopoverPrimitive__namespace.Anchor;
|
|
633
|
-
var PopoverContent =
|
|
633
|
+
var PopoverContent = React34__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
634
634
|
PopoverPrimitive__namespace.Content,
|
|
635
635
|
{
|
|
636
636
|
ref,
|
|
@@ -656,7 +656,7 @@ var DropdownMenuGroup = DropdownMenuPrimitive__namespace.Group;
|
|
|
656
656
|
var DropdownMenuPortal = DropdownMenuPrimitive__namespace.Portal;
|
|
657
657
|
var DropdownMenuSub = DropdownMenuPrimitive__namespace.Sub;
|
|
658
658
|
var DropdownMenuRadioGroup = DropdownMenuPrimitive__namespace.RadioGroup;
|
|
659
|
-
var DropdownMenuSubTrigger =
|
|
659
|
+
var DropdownMenuSubTrigger = React34__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
660
660
|
DropdownMenuPrimitive__namespace.SubTrigger,
|
|
661
661
|
{
|
|
662
662
|
ref,
|
|
@@ -675,7 +675,7 @@ var DropdownMenuSubTrigger = React33__namespace.forwardRef(({ className, inset,
|
|
|
675
675
|
}
|
|
676
676
|
));
|
|
677
677
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive__namespace.SubTrigger.displayName;
|
|
678
|
-
var DropdownMenuSubContent =
|
|
678
|
+
var DropdownMenuSubContent = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
679
679
|
DropdownMenuPrimitive__namespace.SubContent,
|
|
680
680
|
{
|
|
681
681
|
ref,
|
|
@@ -692,7 +692,7 @@ var DropdownMenuSubContent = React33__namespace.forwardRef(({ className, ...prop
|
|
|
692
692
|
}
|
|
693
693
|
));
|
|
694
694
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive__namespace.SubContent.displayName;
|
|
695
|
-
var DropdownMenuContent =
|
|
695
|
+
var DropdownMenuContent = React34__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
696
696
|
DropdownMenuPrimitive__namespace.Content,
|
|
697
697
|
{
|
|
698
698
|
ref,
|
|
@@ -710,7 +710,7 @@ var DropdownMenuContent = React33__namespace.forwardRef(({ className, sideOffset
|
|
|
710
710
|
}
|
|
711
711
|
) }));
|
|
712
712
|
DropdownMenuContent.displayName = DropdownMenuPrimitive__namespace.Content.displayName;
|
|
713
|
-
var DropdownMenuItem =
|
|
713
|
+
var DropdownMenuItem = React34__namespace.forwardRef(({ className, inset, destructive, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
714
714
|
DropdownMenuPrimitive__namespace.Item,
|
|
715
715
|
{
|
|
716
716
|
ref,
|
|
@@ -726,7 +726,7 @@ var DropdownMenuItem = React33__namespace.forwardRef(({ className, inset, destru
|
|
|
726
726
|
}
|
|
727
727
|
));
|
|
728
728
|
DropdownMenuItem.displayName = DropdownMenuPrimitive__namespace.Item.displayName;
|
|
729
|
-
var DropdownMenuCheckboxItem =
|
|
729
|
+
var DropdownMenuCheckboxItem = React34__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
730
730
|
DropdownMenuPrimitive__namespace.CheckboxItem,
|
|
731
731
|
{
|
|
732
732
|
ref,
|
|
@@ -745,7 +745,7 @@ var DropdownMenuCheckboxItem = React33__namespace.forwardRef(({ className, child
|
|
|
745
745
|
}
|
|
746
746
|
));
|
|
747
747
|
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive__namespace.CheckboxItem.displayName;
|
|
748
|
-
var DropdownMenuRadioItem =
|
|
748
|
+
var DropdownMenuRadioItem = React34__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
749
749
|
DropdownMenuPrimitive__namespace.RadioItem,
|
|
750
750
|
{
|
|
751
751
|
ref,
|
|
@@ -763,7 +763,7 @@ var DropdownMenuRadioItem = React33__namespace.forwardRef(({ className, children
|
|
|
763
763
|
}
|
|
764
764
|
));
|
|
765
765
|
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive__namespace.RadioItem.displayName;
|
|
766
|
-
var DropdownMenuLabel =
|
|
766
|
+
var DropdownMenuLabel = React34__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
767
767
|
DropdownMenuPrimitive__namespace.Label,
|
|
768
768
|
{
|
|
769
769
|
ref,
|
|
@@ -776,7 +776,7 @@ var DropdownMenuLabel = React33__namespace.forwardRef(({ className, inset, ...pr
|
|
|
776
776
|
}
|
|
777
777
|
));
|
|
778
778
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive__namespace.Label.displayName;
|
|
779
|
-
var DropdownMenuSeparator =
|
|
779
|
+
var DropdownMenuSeparator = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
780
780
|
DropdownMenuPrimitive__namespace.Separator,
|
|
781
781
|
{
|
|
782
782
|
ref,
|
|
@@ -801,7 +801,7 @@ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
|
801
801
|
var AlertDialog = AlertDialogPrimitive__namespace.Root;
|
|
802
802
|
var AlertDialogTrigger = AlertDialogPrimitive__namespace.Trigger;
|
|
803
803
|
var AlertDialogPortal = AlertDialogPrimitive__namespace.Portal;
|
|
804
|
-
var AlertDialogOverlay =
|
|
804
|
+
var AlertDialogOverlay = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
805
805
|
AlertDialogPrimitive__namespace.Overlay,
|
|
806
806
|
{
|
|
807
807
|
className: cn(
|
|
@@ -815,7 +815,7 @@ var AlertDialogOverlay = React33__namespace.forwardRef(({ className, ...props },
|
|
|
815
815
|
}
|
|
816
816
|
));
|
|
817
817
|
AlertDialogOverlay.displayName = AlertDialogPrimitive__namespace.Overlay.displayName;
|
|
818
|
-
var AlertDialogContent =
|
|
818
|
+
var AlertDialogContent = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPortal, { children: [
|
|
819
819
|
/* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
|
|
820
820
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
821
821
|
AlertDialogPrimitive__namespace.Content,
|
|
@@ -858,7 +858,7 @@ var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.
|
|
|
858
858
|
}
|
|
859
859
|
);
|
|
860
860
|
AlertDialogFooter.displayName = "AlertDialogFooter";
|
|
861
|
-
var AlertDialogTitle =
|
|
861
|
+
var AlertDialogTitle = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
862
862
|
AlertDialogPrimitive__namespace.Title,
|
|
863
863
|
{
|
|
864
864
|
ref,
|
|
@@ -867,7 +867,7 @@ var AlertDialogTitle = React33__namespace.forwardRef(({ className, ...props }, r
|
|
|
867
867
|
}
|
|
868
868
|
));
|
|
869
869
|
AlertDialogTitle.displayName = AlertDialogPrimitive__namespace.Title.displayName;
|
|
870
|
-
var AlertDialogDescription =
|
|
870
|
+
var AlertDialogDescription = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
871
871
|
AlertDialogPrimitive__namespace.Description,
|
|
872
872
|
{
|
|
873
873
|
ref,
|
|
@@ -876,7 +876,7 @@ var AlertDialogDescription = React33__namespace.forwardRef(({ className, ...prop
|
|
|
876
876
|
}
|
|
877
877
|
));
|
|
878
878
|
AlertDialogDescription.displayName = AlertDialogPrimitive__namespace.Description.displayName;
|
|
879
|
-
var AlertDialogAction =
|
|
879
|
+
var AlertDialogAction = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
880
880
|
AlertDialogPrimitive__namespace.Action,
|
|
881
881
|
{
|
|
882
882
|
ref,
|
|
@@ -885,7 +885,7 @@ var AlertDialogAction = React33__namespace.forwardRef(({ className, ...props },
|
|
|
885
885
|
}
|
|
886
886
|
));
|
|
887
887
|
AlertDialogAction.displayName = AlertDialogPrimitive__namespace.Action.displayName;
|
|
888
|
-
var AlertDialogCancel =
|
|
888
|
+
var AlertDialogCancel = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
889
889
|
AlertDialogPrimitive__namespace.Cancel,
|
|
890
890
|
{
|
|
891
891
|
ref,
|
|
@@ -894,21 +894,107 @@ var AlertDialogCancel = React33__namespace.forwardRef(({ className, ...props },
|
|
|
894
894
|
}
|
|
895
895
|
));
|
|
896
896
|
AlertDialogCancel.displayName = AlertDialogPrimitive__namespace.Cancel.displayName;
|
|
897
|
-
var
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
{
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
897
|
+
var cardVariants = classVarianceAuthority.cva(
|
|
898
|
+
"rounded-xl border bg-card text-card-foreground shadow",
|
|
899
|
+
{
|
|
900
|
+
variants: {
|
|
901
|
+
/**
|
|
902
|
+
* Card width size presets
|
|
903
|
+
*/
|
|
904
|
+
size: {
|
|
905
|
+
auto: "",
|
|
906
|
+
sm: "w-64",
|
|
907
|
+
md: "w-80",
|
|
908
|
+
lg: "w-96",
|
|
909
|
+
xl: "w-[28rem]",
|
|
910
|
+
full: "w-full"
|
|
911
|
+
},
|
|
912
|
+
/**
|
|
913
|
+
* Hover effect styles
|
|
914
|
+
*/
|
|
915
|
+
hover: {
|
|
916
|
+
none: "",
|
|
917
|
+
lift: "transition-all duration-200 hover:-translate-y-1 hover:shadow-lg",
|
|
918
|
+
glow: "transition-shadow duration-200 hover:shadow-lg hover:shadow-accent/20",
|
|
919
|
+
border: "transition-colors duration-200 hover:border-accent",
|
|
920
|
+
"border-success": "transition-colors duration-200 hover:border-success",
|
|
921
|
+
"border-warning": "transition-colors duration-200 hover:border-warning",
|
|
922
|
+
"border-destructive": "transition-colors duration-200 hover:border-destructive",
|
|
923
|
+
"border-muted": "transition-colors duration-200 hover:border-muted-foreground",
|
|
924
|
+
scale: "transition-transform duration-200 hover:scale-[1.02]"
|
|
925
|
+
},
|
|
926
|
+
/**
|
|
927
|
+
* Whether the card is interactive (clickable)
|
|
928
|
+
*/
|
|
929
|
+
interactive: {
|
|
930
|
+
true: "cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
931
|
+
false: ""
|
|
932
|
+
},
|
|
933
|
+
/**
|
|
934
|
+
* Card padding density
|
|
935
|
+
*/
|
|
936
|
+
padding: {
|
|
937
|
+
none: "",
|
|
938
|
+
sm: "[&>*:not(img)]:p-3 [&>*:not(img)]:pt-3",
|
|
939
|
+
md: "",
|
|
940
|
+
lg: "[&>*:not(img)]:p-8 [&>*:not(img)]:pt-8"
|
|
941
|
+
}
|
|
942
|
+
},
|
|
943
|
+
defaultVariants: {
|
|
944
|
+
size: "auto",
|
|
945
|
+
hover: "none",
|
|
946
|
+
interactive: false,
|
|
947
|
+
padding: "md"
|
|
907
948
|
}
|
|
908
|
-
|
|
949
|
+
}
|
|
950
|
+
);
|
|
951
|
+
var Card = React34__namespace.forwardRef(
|
|
952
|
+
({
|
|
953
|
+
className,
|
|
954
|
+
size,
|
|
955
|
+
hover,
|
|
956
|
+
interactive,
|
|
957
|
+
padding,
|
|
958
|
+
asButton,
|
|
959
|
+
hoverBorderClass,
|
|
960
|
+
onClick,
|
|
961
|
+
onKeyDown,
|
|
962
|
+
...props
|
|
963
|
+
}, ref) => {
|
|
964
|
+
const isInteractive = interactive || asButton || !!onClick;
|
|
965
|
+
const handleKeyDown = React34__namespace.useCallback(
|
|
966
|
+
(e) => {
|
|
967
|
+
if (isInteractive && (e.key === "Enter" || e.key === " ")) {
|
|
968
|
+
e.preventDefault();
|
|
969
|
+
onClick?.(e);
|
|
970
|
+
}
|
|
971
|
+
onKeyDown?.(e);
|
|
972
|
+
},
|
|
973
|
+
[isInteractive, onClick, onKeyDown]
|
|
974
|
+
);
|
|
975
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
976
|
+
"div",
|
|
977
|
+
{
|
|
978
|
+
ref,
|
|
979
|
+
role: isInteractive ? "button" : void 0,
|
|
980
|
+
tabIndex: isInteractive ? 0 : void 0,
|
|
981
|
+
className: cn(
|
|
982
|
+
cardVariants({ size, hover, interactive: isInteractive, padding }),
|
|
983
|
+
"group relative",
|
|
984
|
+
// Custom hover border color overrides variant if provided
|
|
985
|
+
hoverBorderClass && "transition-colors duration-200",
|
|
986
|
+
hoverBorderClass,
|
|
987
|
+
className
|
|
988
|
+
),
|
|
989
|
+
onClick,
|
|
990
|
+
onKeyDown: handleKeyDown,
|
|
991
|
+
...props
|
|
992
|
+
}
|
|
993
|
+
);
|
|
994
|
+
}
|
|
909
995
|
);
|
|
910
996
|
Card.displayName = "Card";
|
|
911
|
-
var CardHeader =
|
|
997
|
+
var CardHeader = React34__namespace.forwardRef(
|
|
912
998
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
913
999
|
"div",
|
|
914
1000
|
{
|
|
@@ -919,7 +1005,7 @@ var CardHeader = React33__namespace.forwardRef(
|
|
|
919
1005
|
)
|
|
920
1006
|
);
|
|
921
1007
|
CardHeader.displayName = "CardHeader";
|
|
922
|
-
var CardTitle =
|
|
1008
|
+
var CardTitle = React34__namespace.forwardRef(
|
|
923
1009
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
924
1010
|
"div",
|
|
925
1011
|
{
|
|
@@ -930,7 +1016,7 @@ var CardTitle = React33__namespace.forwardRef(
|
|
|
930
1016
|
)
|
|
931
1017
|
);
|
|
932
1018
|
CardTitle.displayName = "CardTitle";
|
|
933
|
-
var CardDescription =
|
|
1019
|
+
var CardDescription = React34__namespace.forwardRef(
|
|
934
1020
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
935
1021
|
"div",
|
|
936
1022
|
{
|
|
@@ -941,11 +1027,11 @@ var CardDescription = React33__namespace.forwardRef(
|
|
|
941
1027
|
)
|
|
942
1028
|
);
|
|
943
1029
|
CardDescription.displayName = "CardDescription";
|
|
944
|
-
var CardContent =
|
|
1030
|
+
var CardContent = React34__namespace.forwardRef(
|
|
945
1031
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("p-6 pt-0", className), ...props })
|
|
946
1032
|
);
|
|
947
1033
|
CardContent.displayName = "CardContent";
|
|
948
|
-
var CardFooter =
|
|
1034
|
+
var CardFooter = React34__namespace.forwardRef(
|
|
949
1035
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
950
1036
|
"div",
|
|
951
1037
|
{
|
|
@@ -956,7 +1042,422 @@ var CardFooter = React33__namespace.forwardRef(
|
|
|
956
1042
|
)
|
|
957
1043
|
);
|
|
958
1044
|
CardFooter.displayName = "CardFooter";
|
|
959
|
-
var
|
|
1045
|
+
var cardImageVariants = classVarianceAuthority.cva("w-full object-cover", {
|
|
1046
|
+
variants: {
|
|
1047
|
+
/**
|
|
1048
|
+
* Image aspect ratio
|
|
1049
|
+
*/
|
|
1050
|
+
aspectRatio: {
|
|
1051
|
+
auto: "",
|
|
1052
|
+
square: "aspect-square",
|
|
1053
|
+
video: "aspect-video",
|
|
1054
|
+
wide: "aspect-[2/1]",
|
|
1055
|
+
portrait: "aspect-[3/4]"
|
|
1056
|
+
},
|
|
1057
|
+
/**
|
|
1058
|
+
* Image position in the card
|
|
1059
|
+
*/
|
|
1060
|
+
position: {
|
|
1061
|
+
top: "rounded-t-xl",
|
|
1062
|
+
bottom: "rounded-b-xl",
|
|
1063
|
+
fill: "rounded-xl"
|
|
1064
|
+
}
|
|
1065
|
+
},
|
|
1066
|
+
defaultVariants: {
|
|
1067
|
+
aspectRatio: "video",
|
|
1068
|
+
position: "top"
|
|
1069
|
+
}
|
|
1070
|
+
});
|
|
1071
|
+
var CardImage = React34__namespace.forwardRef(
|
|
1072
|
+
({ className, aspectRatio, position, fallback, alt, src, onError, ...props }, ref) => {
|
|
1073
|
+
const [hasError, setHasError] = React34__namespace.useState(false);
|
|
1074
|
+
const handleError = React34__namespace.useCallback(
|
|
1075
|
+
(e) => {
|
|
1076
|
+
setHasError(true);
|
|
1077
|
+
onError?.(e);
|
|
1078
|
+
},
|
|
1079
|
+
[onError]
|
|
1080
|
+
);
|
|
1081
|
+
React34__namespace.useEffect(() => {
|
|
1082
|
+
setHasError(false);
|
|
1083
|
+
}, [src]);
|
|
1084
|
+
if (hasError && fallback) {
|
|
1085
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1086
|
+
"div",
|
|
1087
|
+
{
|
|
1088
|
+
className: cn(
|
|
1089
|
+
"flex items-center justify-center bg-muted",
|
|
1090
|
+
cardImageVariants({ aspectRatio, position }),
|
|
1091
|
+
className
|
|
1092
|
+
),
|
|
1093
|
+
children: fallback
|
|
1094
|
+
}
|
|
1095
|
+
);
|
|
1096
|
+
}
|
|
1097
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1098
|
+
"img",
|
|
1099
|
+
{
|
|
1100
|
+
ref,
|
|
1101
|
+
src,
|
|
1102
|
+
alt,
|
|
1103
|
+
className: cn(cardImageVariants({ aspectRatio, position }), className),
|
|
1104
|
+
onError: handleError,
|
|
1105
|
+
...props
|
|
1106
|
+
}
|
|
1107
|
+
);
|
|
1108
|
+
}
|
|
1109
|
+
);
|
|
1110
|
+
CardImage.displayName = "CardImage";
|
|
1111
|
+
var cardActionsVariants = classVarianceAuthority.cva(
|
|
1112
|
+
"absolute flex items-center gap-1 transition-opacity duration-200 z-10",
|
|
1113
|
+
{
|
|
1114
|
+
variants: {
|
|
1115
|
+
/**
|
|
1116
|
+
* When to show the actions
|
|
1117
|
+
*/
|
|
1118
|
+
showOn: {
|
|
1119
|
+
hover: "opacity-0 group-hover:opacity-100",
|
|
1120
|
+
always: "opacity-100"
|
|
1121
|
+
},
|
|
1122
|
+
/**
|
|
1123
|
+
* Position of the actions overlay
|
|
1124
|
+
*/
|
|
1125
|
+
position: {
|
|
1126
|
+
"top-right": "top-2 right-2",
|
|
1127
|
+
"top-left": "top-2 left-2",
|
|
1128
|
+
"bottom-right": "bottom-2 right-2",
|
|
1129
|
+
"bottom-left": "bottom-2 left-2"
|
|
1130
|
+
},
|
|
1131
|
+
/**
|
|
1132
|
+
* Visual style of the actions container
|
|
1133
|
+
*/
|
|
1134
|
+
variant: {
|
|
1135
|
+
/** Solid background with backdrop blur */
|
|
1136
|
+
floating: "bg-background/90 backdrop-blur-sm rounded-md shadow-sm p-1",
|
|
1137
|
+
/** No background, just spacing */
|
|
1138
|
+
ghost: "p-1",
|
|
1139
|
+
/** Muted bar background */
|
|
1140
|
+
bar: "bg-muted/80 backdrop-blur-sm rounded-md p-1.5",
|
|
1141
|
+
/** No background on container, icons get background on hover */
|
|
1142
|
+
"icon-hover": "p-0 [&>button]:bg-transparent [&>button]:hover:bg-background/90 [&>button]:hover:shadow-sm [&>button]:transition-all"
|
|
1143
|
+
}
|
|
1144
|
+
},
|
|
1145
|
+
defaultVariants: {
|
|
1146
|
+
showOn: "hover",
|
|
1147
|
+
position: "top-right",
|
|
1148
|
+
variant: "floating"
|
|
1149
|
+
}
|
|
1150
|
+
}
|
|
1151
|
+
);
|
|
1152
|
+
var CardActions = React34__namespace.forwardRef(
|
|
1153
|
+
({ className, showOn, position, variant, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1154
|
+
"div",
|
|
1155
|
+
{
|
|
1156
|
+
ref,
|
|
1157
|
+
className: cn(cardActionsVariants({ showOn, position, variant }), className),
|
|
1158
|
+
onClick: (e) => e.stopPropagation(),
|
|
1159
|
+
...props
|
|
1160
|
+
}
|
|
1161
|
+
)
|
|
1162
|
+
);
|
|
1163
|
+
CardActions.displayName = "CardActions";
|
|
1164
|
+
var SelectableCard = React34__namespace.forwardRef(
|
|
1165
|
+
({
|
|
1166
|
+
className,
|
|
1167
|
+
selected: controlledSelected,
|
|
1168
|
+
defaultSelected = false,
|
|
1169
|
+
onSelectedChange,
|
|
1170
|
+
showCheckbox = false,
|
|
1171
|
+
checkboxPosition = "top-right",
|
|
1172
|
+
disabled = false,
|
|
1173
|
+
children,
|
|
1174
|
+
onClick,
|
|
1175
|
+
hover = "border",
|
|
1176
|
+
...props
|
|
1177
|
+
}, ref) => {
|
|
1178
|
+
const [uncontrolledSelected, setUncontrolledSelected] = React34__namespace.useState(defaultSelected);
|
|
1179
|
+
const isControlled = controlledSelected !== void 0;
|
|
1180
|
+
const isSelected = isControlled ? controlledSelected : uncontrolledSelected;
|
|
1181
|
+
const handleClick = React34__namespace.useCallback(
|
|
1182
|
+
(e) => {
|
|
1183
|
+
if (disabled) return;
|
|
1184
|
+
const newSelected = !isSelected;
|
|
1185
|
+
if (!isControlled) {
|
|
1186
|
+
setUncontrolledSelected(newSelected);
|
|
1187
|
+
}
|
|
1188
|
+
onSelectedChange?.(newSelected);
|
|
1189
|
+
onClick?.(e);
|
|
1190
|
+
},
|
|
1191
|
+
[disabled, isSelected, isControlled, onSelectedChange, onClick]
|
|
1192
|
+
);
|
|
1193
|
+
const handleCheckboxChange = React34__namespace.useCallback(
|
|
1194
|
+
(checked) => {
|
|
1195
|
+
if (disabled) return;
|
|
1196
|
+
const newSelected = checked === true;
|
|
1197
|
+
if (!isControlled) {
|
|
1198
|
+
setUncontrolledSelected(newSelected);
|
|
1199
|
+
}
|
|
1200
|
+
onSelectedChange?.(newSelected);
|
|
1201
|
+
},
|
|
1202
|
+
[disabled, isControlled, onSelectedChange]
|
|
1203
|
+
);
|
|
1204
|
+
const isInline = checkboxPosition === "inline-left";
|
|
1205
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1206
|
+
Card,
|
|
1207
|
+
{
|
|
1208
|
+
ref,
|
|
1209
|
+
className: cn(
|
|
1210
|
+
// Selection styling
|
|
1211
|
+
isSelected && "ring-2 ring-accent border-accent",
|
|
1212
|
+
disabled && "opacity-50 cursor-not-allowed",
|
|
1213
|
+
className
|
|
1214
|
+
),
|
|
1215
|
+
interactive: !disabled,
|
|
1216
|
+
hover: disabled ? "none" : hover,
|
|
1217
|
+
onClick: handleClick,
|
|
1218
|
+
"aria-selected": isSelected,
|
|
1219
|
+
"aria-disabled": disabled,
|
|
1220
|
+
...props,
|
|
1221
|
+
children: [
|
|
1222
|
+
showCheckbox && isInline && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1223
|
+
"div",
|
|
1224
|
+
{
|
|
1225
|
+
className: "flex items-center gap-3 px-4 py-3 border-b border-border/50",
|
|
1226
|
+
onClick: (e) => e.stopPropagation(),
|
|
1227
|
+
children: [
|
|
1228
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1229
|
+
Checkbox,
|
|
1230
|
+
{
|
|
1231
|
+
checked: isSelected,
|
|
1232
|
+
onCheckedChange: handleCheckboxChange,
|
|
1233
|
+
disabled
|
|
1234
|
+
}
|
|
1235
|
+
),
|
|
1236
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", children: isSelected ? "Selected" : "Click to select" })
|
|
1237
|
+
]
|
|
1238
|
+
}
|
|
1239
|
+
),
|
|
1240
|
+
showCheckbox && !isInline && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1241
|
+
"div",
|
|
1242
|
+
{
|
|
1243
|
+
className: cn(
|
|
1244
|
+
"absolute z-10 p-1 bg-background/90 backdrop-blur-sm rounded-md",
|
|
1245
|
+
checkboxPosition === "top-left" ? "top-2 left-2" : "top-2 right-2"
|
|
1246
|
+
),
|
|
1247
|
+
onClick: (e) => e.stopPropagation(),
|
|
1248
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1249
|
+
Checkbox,
|
|
1250
|
+
{
|
|
1251
|
+
checked: isSelected,
|
|
1252
|
+
onCheckedChange: handleCheckboxChange,
|
|
1253
|
+
disabled
|
|
1254
|
+
}
|
|
1255
|
+
)
|
|
1256
|
+
}
|
|
1257
|
+
),
|
|
1258
|
+
children
|
|
1259
|
+
]
|
|
1260
|
+
}
|
|
1261
|
+
);
|
|
1262
|
+
}
|
|
1263
|
+
);
|
|
1264
|
+
SelectableCard.displayName = "SelectableCard";
|
|
1265
|
+
var cardGridVariants = classVarianceAuthority.cva("grid", {
|
|
1266
|
+
variants: {
|
|
1267
|
+
/**
|
|
1268
|
+
* Number of columns
|
|
1269
|
+
*/
|
|
1270
|
+
columns: {
|
|
1271
|
+
1: "grid-cols-1",
|
|
1272
|
+
2: "grid-cols-1 sm:grid-cols-2",
|
|
1273
|
+
3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
|
|
1274
|
+
4: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",
|
|
1275
|
+
auto: "grid-cols-[repeat(auto-fill,minmax(280px,1fr))]"
|
|
1276
|
+
},
|
|
1277
|
+
/**
|
|
1278
|
+
* Gap between cards
|
|
1279
|
+
*/
|
|
1280
|
+
gap: {
|
|
1281
|
+
none: "gap-0",
|
|
1282
|
+
sm: "gap-3",
|
|
1283
|
+
md: "gap-4",
|
|
1284
|
+
lg: "gap-6",
|
|
1285
|
+
xl: "gap-8"
|
|
1286
|
+
}
|
|
1287
|
+
},
|
|
1288
|
+
defaultVariants: {
|
|
1289
|
+
columns: "auto",
|
|
1290
|
+
gap: "md"
|
|
1291
|
+
}
|
|
1292
|
+
});
|
|
1293
|
+
var CardGrid = React34__namespace.forwardRef(
|
|
1294
|
+
({ className, columns, gap, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1295
|
+
"div",
|
|
1296
|
+
{
|
|
1297
|
+
ref,
|
|
1298
|
+
className: cn(cardGridVariants({ columns, gap }), className),
|
|
1299
|
+
...props
|
|
1300
|
+
}
|
|
1301
|
+
)
|
|
1302
|
+
);
|
|
1303
|
+
CardGrid.displayName = "CardGrid";
|
|
1304
|
+
var cardListVariants = classVarianceAuthority.cva("flex flex-col", {
|
|
1305
|
+
variants: {
|
|
1306
|
+
/**
|
|
1307
|
+
* Gap between cards
|
|
1308
|
+
*/
|
|
1309
|
+
gap: {
|
|
1310
|
+
none: "gap-0",
|
|
1311
|
+
sm: "gap-2",
|
|
1312
|
+
md: "gap-4",
|
|
1313
|
+
lg: "gap-6"
|
|
1314
|
+
},
|
|
1315
|
+
/**
|
|
1316
|
+
* Whether to show dividers between cards
|
|
1317
|
+
*/
|
|
1318
|
+
divided: {
|
|
1319
|
+
true: "[&>*:not(:last-child)]:border-b [&>*:not(:last-child)]:pb-4 [&>*:not(:last-child)]:rounded-b-none",
|
|
1320
|
+
false: ""
|
|
1321
|
+
}
|
|
1322
|
+
},
|
|
1323
|
+
defaultVariants: {
|
|
1324
|
+
gap: "md",
|
|
1325
|
+
divided: false
|
|
1326
|
+
}
|
|
1327
|
+
});
|
|
1328
|
+
var CardList = React34__namespace.forwardRef(
|
|
1329
|
+
({ className, gap, divided, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1330
|
+
"div",
|
|
1331
|
+
{
|
|
1332
|
+
ref,
|
|
1333
|
+
className: cn(cardListVariants({ gap, divided }), className),
|
|
1334
|
+
...props
|
|
1335
|
+
}
|
|
1336
|
+
)
|
|
1337
|
+
);
|
|
1338
|
+
CardList.displayName = "CardList";
|
|
1339
|
+
var boardVariants = classVarianceAuthority.cva("text-card-foreground", {
|
|
1340
|
+
variants: {
|
|
1341
|
+
/**
|
|
1342
|
+
* Elevation (shadow depth) - similar to MUI Paper
|
|
1343
|
+
*/
|
|
1344
|
+
elevation: {
|
|
1345
|
+
none: "",
|
|
1346
|
+
sm: "shadow-sm",
|
|
1347
|
+
md: "shadow",
|
|
1348
|
+
lg: "shadow-lg",
|
|
1349
|
+
xl: "shadow-xl"
|
|
1350
|
+
},
|
|
1351
|
+
/**
|
|
1352
|
+
* Border style
|
|
1353
|
+
*/
|
|
1354
|
+
border: {
|
|
1355
|
+
none: "",
|
|
1356
|
+
default: "border",
|
|
1357
|
+
muted: "border border-muted"
|
|
1358
|
+
},
|
|
1359
|
+
/**
|
|
1360
|
+
* Padding size
|
|
1361
|
+
*/
|
|
1362
|
+
padding: {
|
|
1363
|
+
none: "",
|
|
1364
|
+
sm: "p-2",
|
|
1365
|
+
md: "p-4",
|
|
1366
|
+
lg: "p-6",
|
|
1367
|
+
xl: "p-8"
|
|
1368
|
+
},
|
|
1369
|
+
/**
|
|
1370
|
+
* Border radius
|
|
1371
|
+
*/
|
|
1372
|
+
radius: {
|
|
1373
|
+
none: "rounded-none",
|
|
1374
|
+
sm: "rounded-sm",
|
|
1375
|
+
md: "rounded-md",
|
|
1376
|
+
lg: "rounded-lg",
|
|
1377
|
+
xl: "rounded-xl",
|
|
1378
|
+
full: "rounded-full"
|
|
1379
|
+
},
|
|
1380
|
+
/**
|
|
1381
|
+
* Background color
|
|
1382
|
+
*/
|
|
1383
|
+
background: {
|
|
1384
|
+
default: "bg-card",
|
|
1385
|
+
muted: "bg-muted",
|
|
1386
|
+
transparent: "bg-transparent"
|
|
1387
|
+
},
|
|
1388
|
+
/**
|
|
1389
|
+
* Hover effect styles
|
|
1390
|
+
*/
|
|
1391
|
+
hover: {
|
|
1392
|
+
none: "",
|
|
1393
|
+
border: "transition-colors duration-200 hover:border-accent",
|
|
1394
|
+
elevate: "transition-shadow duration-200 hover:shadow-lg",
|
|
1395
|
+
"border-success": "transition-colors duration-200 hover:border-success",
|
|
1396
|
+
"border-warning": "transition-colors duration-200 hover:border-warning",
|
|
1397
|
+
"border-destructive": "transition-colors duration-200 hover:border-destructive"
|
|
1398
|
+
}
|
|
1399
|
+
},
|
|
1400
|
+
defaultVariants: {
|
|
1401
|
+
elevation: "none",
|
|
1402
|
+
border: "default",
|
|
1403
|
+
padding: "none",
|
|
1404
|
+
radius: "lg",
|
|
1405
|
+
background: "default",
|
|
1406
|
+
hover: "none"
|
|
1407
|
+
}
|
|
1408
|
+
});
|
|
1409
|
+
var Board = React34__namespace.forwardRef(
|
|
1410
|
+
({
|
|
1411
|
+
className,
|
|
1412
|
+
elevation,
|
|
1413
|
+
border,
|
|
1414
|
+
padding,
|
|
1415
|
+
radius,
|
|
1416
|
+
background,
|
|
1417
|
+
hover,
|
|
1418
|
+
hoverBorderClass,
|
|
1419
|
+
...props
|
|
1420
|
+
}, ref) => {
|
|
1421
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1422
|
+
"div",
|
|
1423
|
+
{
|
|
1424
|
+
ref,
|
|
1425
|
+
className: cn(
|
|
1426
|
+
boardVariants({
|
|
1427
|
+
elevation,
|
|
1428
|
+
border,
|
|
1429
|
+
padding,
|
|
1430
|
+
radius,
|
|
1431
|
+
background,
|
|
1432
|
+
hover
|
|
1433
|
+
}),
|
|
1434
|
+
// Custom hover border color overrides variant if provided
|
|
1435
|
+
hoverBorderClass && "transition-colors duration-200",
|
|
1436
|
+
hoverBorderClass,
|
|
1437
|
+
className
|
|
1438
|
+
),
|
|
1439
|
+
...props
|
|
1440
|
+
}
|
|
1441
|
+
);
|
|
1442
|
+
}
|
|
1443
|
+
);
|
|
1444
|
+
Board.displayName = "Board";
|
|
1445
|
+
var BoardHeader = React34__namespace.forwardRef(
|
|
1446
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1447
|
+
"div",
|
|
1448
|
+
{
|
|
1449
|
+
ref,
|
|
1450
|
+
className: cn("flex items-center p-4 border-b", className),
|
|
1451
|
+
...props
|
|
1452
|
+
}
|
|
1453
|
+
)
|
|
1454
|
+
);
|
|
1455
|
+
BoardHeader.displayName = "BoardHeader";
|
|
1456
|
+
var BoardContent = React34__namespace.forwardRef(
|
|
1457
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("p-4", className), ...props })
|
|
1458
|
+
);
|
|
1459
|
+
BoardContent.displayName = "BoardContent";
|
|
1460
|
+
var Table = React34__namespace.forwardRef(
|
|
960
1461
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
961
1462
|
"table",
|
|
962
1463
|
{
|
|
@@ -967,11 +1468,11 @@ var Table = React33__namespace.forwardRef(
|
|
|
967
1468
|
) })
|
|
968
1469
|
);
|
|
969
1470
|
Table.displayName = "Table";
|
|
970
|
-
var TableHeader =
|
|
1471
|
+
var TableHeader = React34__namespace.forwardRef(
|
|
971
1472
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("thead", { ref, className: cn("[&_tr]:border-b", className), ...props })
|
|
972
1473
|
);
|
|
973
1474
|
TableHeader.displayName = "TableHeader";
|
|
974
|
-
var TableBody =
|
|
1475
|
+
var TableBody = React34__namespace.forwardRef(
|
|
975
1476
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
976
1477
|
"tbody",
|
|
977
1478
|
{
|
|
@@ -982,7 +1483,7 @@ var TableBody = React33__namespace.forwardRef(
|
|
|
982
1483
|
)
|
|
983
1484
|
);
|
|
984
1485
|
TableBody.displayName = "TableBody";
|
|
985
|
-
var TableFooter =
|
|
1486
|
+
var TableFooter = React34__namespace.forwardRef(
|
|
986
1487
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
987
1488
|
"tfoot",
|
|
988
1489
|
{
|
|
@@ -996,7 +1497,7 @@ var TableFooter = React33__namespace.forwardRef(
|
|
|
996
1497
|
)
|
|
997
1498
|
);
|
|
998
1499
|
TableFooter.displayName = "TableFooter";
|
|
999
|
-
var TableRow =
|
|
1500
|
+
var TableRow = React34__namespace.forwardRef(
|
|
1000
1501
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1001
1502
|
"tr",
|
|
1002
1503
|
{
|
|
@@ -1010,7 +1511,7 @@ var TableRow = React33__namespace.forwardRef(
|
|
|
1010
1511
|
)
|
|
1011
1512
|
);
|
|
1012
1513
|
TableRow.displayName = "TableRow";
|
|
1013
|
-
var TableHead =
|
|
1514
|
+
var TableHead = React34__namespace.forwardRef(
|
|
1014
1515
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1015
1516
|
"th",
|
|
1016
1517
|
{
|
|
@@ -1024,7 +1525,7 @@ var TableHead = React33__namespace.forwardRef(
|
|
|
1024
1525
|
)
|
|
1025
1526
|
);
|
|
1026
1527
|
TableHead.displayName = "TableHead";
|
|
1027
|
-
var TableCell =
|
|
1528
|
+
var TableCell = React34__namespace.forwardRef(
|
|
1028
1529
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1029
1530
|
"td",
|
|
1030
1531
|
{
|
|
@@ -1038,7 +1539,7 @@ var TableCell = React33__namespace.forwardRef(
|
|
|
1038
1539
|
)
|
|
1039
1540
|
);
|
|
1040
1541
|
TableCell.displayName = "TableCell";
|
|
1041
|
-
var TableCaption =
|
|
1542
|
+
var TableCaption = React34__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1042
1543
|
"caption",
|
|
1043
1544
|
{
|
|
1044
1545
|
ref,
|
|
@@ -1057,7 +1558,7 @@ function Modal({
|
|
|
1057
1558
|
zIndex = 50,
|
|
1058
1559
|
className
|
|
1059
1560
|
}) {
|
|
1060
|
-
|
|
1561
|
+
React34__namespace.useEffect(() => {
|
|
1061
1562
|
if (!isOpen) return;
|
|
1062
1563
|
const handleEscape = (e) => {
|
|
1063
1564
|
if (e.key === "Escape") {
|
|
@@ -1067,7 +1568,7 @@ function Modal({
|
|
|
1067
1568
|
window.addEventListener("keydown", handleEscape);
|
|
1068
1569
|
return () => window.removeEventListener("keydown", handleEscape);
|
|
1069
1570
|
}, [isOpen, onClose]);
|
|
1070
|
-
|
|
1571
|
+
React34__namespace.useEffect(() => {
|
|
1071
1572
|
if (isOpen) {
|
|
1072
1573
|
document.body.style.overflow = "hidden";
|
|
1073
1574
|
} else {
|
|
@@ -1182,12 +1683,12 @@ function ConfirmationModal({
|
|
|
1182
1683
|
] }) });
|
|
1183
1684
|
}
|
|
1184
1685
|
function useConfirmation() {
|
|
1185
|
-
const [state, setState] =
|
|
1686
|
+
const [state, setState] = React34__namespace.useState({
|
|
1186
1687
|
open: false,
|
|
1187
1688
|
title: "",
|
|
1188
1689
|
description: ""
|
|
1189
1690
|
});
|
|
1190
|
-
const confirm =
|
|
1691
|
+
const confirm = React34__namespace.useCallback(
|
|
1191
1692
|
(options) => {
|
|
1192
1693
|
return new Promise((resolve) => {
|
|
1193
1694
|
setState({
|
|
@@ -1199,15 +1700,15 @@ function useConfirmation() {
|
|
|
1199
1700
|
},
|
|
1200
1701
|
[]
|
|
1201
1702
|
);
|
|
1202
|
-
const handleConfirm =
|
|
1703
|
+
const handleConfirm = React34__namespace.useCallback(() => {
|
|
1203
1704
|
state.resolve?.(true);
|
|
1204
1705
|
setState((prev) => ({ ...prev, open: false }));
|
|
1205
1706
|
}, [state.resolve]);
|
|
1206
|
-
const handleCancel =
|
|
1707
|
+
const handleCancel = React34__namespace.useCallback(() => {
|
|
1207
1708
|
state.resolve?.(false);
|
|
1208
1709
|
setState((prev) => ({ ...prev, open: false }));
|
|
1209
1710
|
}, [state.resolve]);
|
|
1210
|
-
const handleOpenChange =
|
|
1711
|
+
const handleOpenChange = React34__namespace.useCallback(
|
|
1211
1712
|
(open) => {
|
|
1212
1713
|
if (!open) {
|
|
1213
1714
|
state.resolve?.(false);
|
|
@@ -1243,11 +1744,11 @@ function ResizeHandle({
|
|
|
1243
1744
|
ariaLabel,
|
|
1244
1745
|
className
|
|
1245
1746
|
}) {
|
|
1246
|
-
const [isDragging, setIsDragging] =
|
|
1247
|
-
const [isFocused, setIsFocused] =
|
|
1248
|
-
const startXRef =
|
|
1249
|
-
const handleRef =
|
|
1250
|
-
const handleMouseDown =
|
|
1747
|
+
const [isDragging, setIsDragging] = React34__namespace.useState(false);
|
|
1748
|
+
const [isFocused, setIsFocused] = React34__namespace.useState(false);
|
|
1749
|
+
const startXRef = React34__namespace.useRef(0);
|
|
1750
|
+
const handleRef = React34__namespace.useRef(null);
|
|
1751
|
+
const handleMouseDown = React34__namespace.useCallback(
|
|
1251
1752
|
(e) => {
|
|
1252
1753
|
if (!resizable) return;
|
|
1253
1754
|
e.preventDefault();
|
|
@@ -1258,7 +1759,7 @@ function ResizeHandle({
|
|
|
1258
1759
|
},
|
|
1259
1760
|
[resizable, onDragStart]
|
|
1260
1761
|
);
|
|
1261
|
-
const handleMouseMove =
|
|
1762
|
+
const handleMouseMove = React34__namespace.useCallback(
|
|
1262
1763
|
(e) => {
|
|
1263
1764
|
if (!isDragging) return;
|
|
1264
1765
|
const deltaX = e.clientX - startXRef.current;
|
|
@@ -1267,13 +1768,13 @@ function ResizeHandle({
|
|
|
1267
1768
|
},
|
|
1268
1769
|
[isDragging, onDrag]
|
|
1269
1770
|
);
|
|
1270
|
-
const handleMouseUp =
|
|
1771
|
+
const handleMouseUp = React34__namespace.useCallback(() => {
|
|
1271
1772
|
if (!isDragging) return;
|
|
1272
1773
|
setIsDragging(false);
|
|
1273
1774
|
document.body.style.userSelect = "";
|
|
1274
1775
|
onDragEnd?.();
|
|
1275
1776
|
}, [isDragging, onDragEnd]);
|
|
1276
|
-
const handleKeyDown =
|
|
1777
|
+
const handleKeyDown = React34__namespace.useCallback(
|
|
1277
1778
|
(e) => {
|
|
1278
1779
|
if (!resizable || !onKeyboardResize) return;
|
|
1279
1780
|
let direction = null;
|
|
@@ -1292,7 +1793,7 @@ function ResizeHandle({
|
|
|
1292
1793
|
},
|
|
1293
1794
|
[resizable, onKeyboardResize, orientation]
|
|
1294
1795
|
);
|
|
1295
|
-
|
|
1796
|
+
React34__namespace.useEffect(() => {
|
|
1296
1797
|
if (isDragging) {
|
|
1297
1798
|
window.addEventListener("mousemove", handleMouseMove);
|
|
1298
1799
|
window.addEventListener("mouseup", handleMouseUp);
|
|
@@ -1362,12 +1863,12 @@ function ResizablePanel({
|
|
|
1362
1863
|
className,
|
|
1363
1864
|
dataAttributes = {}
|
|
1364
1865
|
}) {
|
|
1365
|
-
const panelRef =
|
|
1366
|
-
const [isDragging, setIsDragging] =
|
|
1367
|
-
const [localWidth, setLocalWidth] =
|
|
1368
|
-
const [localOuterWidth, setLocalOuterWidth] =
|
|
1866
|
+
const panelRef = React34__namespace.useRef(null);
|
|
1867
|
+
const [isDragging, setIsDragging] = React34__namespace.useState(false);
|
|
1868
|
+
const [localWidth, setLocalWidth] = React34__namespace.useState(null);
|
|
1869
|
+
const [localOuterWidth, setLocalOuterWidth] = React34__namespace.useState(null);
|
|
1369
1870
|
const currentWidthVW = isExpanded ? (isDragging && localWidth !== null ? localWidth : expandedWidthVW) || collapsedSizeVW : collapsedSizeVW;
|
|
1370
|
-
const clampWidth =
|
|
1871
|
+
const clampWidth = React34__namespace.useCallback(
|
|
1371
1872
|
(width) => {
|
|
1372
1873
|
let effectiveMinWidth = minWidthVW;
|
|
1373
1874
|
let effectiveMaxWidth = maxWidthVW;
|
|
@@ -1380,11 +1881,11 @@ function ResizablePanel({
|
|
|
1380
1881
|
},
|
|
1381
1882
|
[minWidthVW, maxWidthVW, orientation, leftWidthVW, isOverlay]
|
|
1382
1883
|
);
|
|
1383
|
-
const handleDragStart =
|
|
1884
|
+
const handleDragStart = React34__namespace.useCallback(() => {
|
|
1384
1885
|
setIsDragging(true);
|
|
1385
1886
|
setLocalWidth(currentWidthVW);
|
|
1386
1887
|
}, [currentWidthVW]);
|
|
1387
|
-
const handleDrag =
|
|
1888
|
+
const handleDrag = React34__namespace.useCallback(
|
|
1388
1889
|
(deltaX) => {
|
|
1389
1890
|
if (!isExpanded || isOverlay) return;
|
|
1390
1891
|
const viewportWidth = window.innerWidth;
|
|
@@ -1403,14 +1904,14 @@ function ResizablePanel({
|
|
|
1403
1904
|
clampWidth
|
|
1404
1905
|
]
|
|
1405
1906
|
);
|
|
1406
|
-
const handleDragEnd =
|
|
1907
|
+
const handleDragEnd = React34__namespace.useCallback(() => {
|
|
1407
1908
|
if (localWidth !== null && onResize) {
|
|
1408
1909
|
onResize(localWidth);
|
|
1409
1910
|
}
|
|
1410
1911
|
setIsDragging(false);
|
|
1411
1912
|
setLocalWidth(null);
|
|
1412
1913
|
}, [localWidth, onResize]);
|
|
1413
|
-
const handleKeyboardResize =
|
|
1914
|
+
const handleKeyboardResize = React34__namespace.useCallback(
|
|
1414
1915
|
(direction) => {
|
|
1415
1916
|
if (!isExpanded || isOverlay || !onResize) return;
|
|
1416
1917
|
const step = 1;
|
|
@@ -1419,13 +1920,13 @@ function ResizablePanel({
|
|
|
1419
1920
|
},
|
|
1420
1921
|
[isExpanded, isOverlay, onResize, currentWidthVW, clampWidth]
|
|
1421
1922
|
);
|
|
1422
|
-
const handleOverlayDragStart =
|
|
1923
|
+
const handleOverlayDragStart = React34__namespace.useCallback(() => {
|
|
1423
1924
|
if (outerWidthVW) {
|
|
1424
1925
|
setIsDragging(true);
|
|
1425
1926
|
setLocalOuterWidth(outerWidthVW);
|
|
1426
1927
|
}
|
|
1427
1928
|
}, [outerWidthVW]);
|
|
1428
|
-
const handleOverlayDrag =
|
|
1929
|
+
const handleOverlayDrag = React34__namespace.useCallback(
|
|
1429
1930
|
(deltaX) => {
|
|
1430
1931
|
if (!isOverlay) return;
|
|
1431
1932
|
const viewportWidth = window.innerWidth;
|
|
@@ -1436,14 +1937,14 @@ function ResizablePanel({
|
|
|
1436
1937
|
},
|
|
1437
1938
|
[isOverlay, localOuterWidth, outerWidthVW]
|
|
1438
1939
|
);
|
|
1439
|
-
const handleOverlayDragEnd =
|
|
1940
|
+
const handleOverlayDragEnd = React34__namespace.useCallback(() => {
|
|
1440
1941
|
if (localOuterWidth !== null && onResizeOverlay) {
|
|
1441
1942
|
onResizeOverlay(localOuterWidth);
|
|
1442
1943
|
}
|
|
1443
1944
|
setIsDragging(false);
|
|
1444
1945
|
setLocalOuterWidth(null);
|
|
1445
1946
|
}, [localOuterWidth, onResizeOverlay]);
|
|
1446
|
-
|
|
1947
|
+
React34__namespace.useEffect(() => {
|
|
1447
1948
|
if (isOverlay && panelRef.current) {
|
|
1448
1949
|
const focusableElement = panelRef.current.querySelector(
|
|
1449
1950
|
'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
|
|
@@ -1451,7 +1952,7 @@ function ResizablePanel({
|
|
|
1451
1952
|
focusableElement?.focus();
|
|
1452
1953
|
}
|
|
1453
1954
|
}, [isOverlay]);
|
|
1454
|
-
|
|
1955
|
+
React34__namespace.useEffect(() => {
|
|
1455
1956
|
if (!isOverlay) return;
|
|
1456
1957
|
const handleEscape = (e) => {
|
|
1457
1958
|
if (e.key === "Escape") {
|
|
@@ -1667,10 +2168,10 @@ var loadingSpinnerVariants = classVarianceAuthority.cva("rounded-full animate-sp
|
|
|
1667
2168
|
variant: "default"
|
|
1668
2169
|
}
|
|
1669
2170
|
});
|
|
1670
|
-
var LoadingSpinner =
|
|
2171
|
+
var LoadingSpinner = React34__namespace.forwardRef(
|
|
1671
2172
|
({ className, size, variant, label, showDots = false, ...props }, ref) => {
|
|
1672
|
-
const [dots, setDots] =
|
|
1673
|
-
|
|
2173
|
+
const [dots, setDots] = React34__namespace.useState("");
|
|
2174
|
+
React34__namespace.useEffect(() => {
|
|
1674
2175
|
if (!showDots || !label) return;
|
|
1675
2176
|
const interval = setInterval(() => {
|
|
1676
2177
|
setDots((prev) => prev.length >= 3 ? "" : prev + ".");
|
|
@@ -1767,12 +2268,12 @@ function Calendar({
|
|
|
1767
2268
|
const endMonth = props.endMonth ?? props.toDate;
|
|
1768
2269
|
const fromYear = startMonth?.getFullYear();
|
|
1769
2270
|
const toYear = endMonth?.getFullYear();
|
|
1770
|
-
const years =
|
|
1771
|
-
const [internalMonth, setInternalMonth] =
|
|
2271
|
+
const years = React34__namespace.useMemo(() => getYearRange(fromYear, toYear), [fromYear, toYear]);
|
|
2272
|
+
const [internalMonth, setInternalMonth] = React34__namespace.useState(
|
|
1772
2273
|
defaultMonth ?? /* @__PURE__ */ new Date()
|
|
1773
2274
|
);
|
|
1774
2275
|
const displayedMonth = controlledMonth ?? internalMonth;
|
|
1775
|
-
const handleMonthChange =
|
|
2276
|
+
const handleMonthChange = React34__namespace.useCallback(
|
|
1776
2277
|
(newMonth) => {
|
|
1777
2278
|
if (controlledMonth === void 0) {
|
|
1778
2279
|
setInternalMonth(newMonth);
|
|
@@ -1903,8 +2404,8 @@ function DatePicker({
|
|
|
1903
2404
|
matchTriggerWidth = false,
|
|
1904
2405
|
onOpenChange
|
|
1905
2406
|
}) {
|
|
1906
|
-
const [open, setOpen] =
|
|
1907
|
-
const [internalValue, setInternalValue] =
|
|
2407
|
+
const [open, setOpen] = React34__namespace.useState(false);
|
|
2408
|
+
const [internalValue, setInternalValue] = React34__namespace.useState(
|
|
1908
2409
|
defaultValue
|
|
1909
2410
|
);
|
|
1910
2411
|
const isControlled = value !== void 0;
|
|
@@ -2006,15 +2507,15 @@ function DatePickerInput({
|
|
|
2006
2507
|
onOpenChange,
|
|
2007
2508
|
size = "default"
|
|
2008
2509
|
}) {
|
|
2009
|
-
const [open, setOpen] =
|
|
2010
|
-
const [internalValue, setInternalValue] =
|
|
2510
|
+
const [open, setOpen] = React34__namespace.useState(false);
|
|
2511
|
+
const [internalValue, setInternalValue] = React34__namespace.useState(
|
|
2011
2512
|
defaultValue
|
|
2012
2513
|
);
|
|
2013
|
-
const [inputValue, setInputValue] =
|
|
2014
|
-
const inputRef =
|
|
2514
|
+
const [inputValue, setInputValue] = React34__namespace.useState("");
|
|
2515
|
+
const inputRef = React34__namespace.useRef(null);
|
|
2015
2516
|
const isControlled = value !== void 0;
|
|
2016
2517
|
const selectedDate = isControlled ? value : internalValue;
|
|
2017
|
-
|
|
2518
|
+
React34__namespace.useEffect(() => {
|
|
2018
2519
|
if (selectedDate) {
|
|
2019
2520
|
setInputValue(dateFns.format(selectedDate, dateFormat));
|
|
2020
2521
|
} else {
|
|
@@ -2175,11 +2676,11 @@ function FilterPopover({
|
|
|
2175
2676
|
onFilterChange
|
|
2176
2677
|
}) {
|
|
2177
2678
|
const filterType = column.filterType || "text";
|
|
2178
|
-
const [operator, setOperator] =
|
|
2679
|
+
const [operator, setOperator] = React34__namespace.useState(
|
|
2179
2680
|
filter?.operator || getDefaultOperator(filterType)
|
|
2180
2681
|
);
|
|
2181
|
-
const [value, setValue] =
|
|
2182
|
-
const [valueTo, setValueTo] =
|
|
2682
|
+
const [value, setValue] = React34__namespace.useState(filter?.value ?? "");
|
|
2683
|
+
const [valueTo, setValueTo] = React34__namespace.useState(filter?.valueTo ?? "");
|
|
2183
2684
|
function getDefaultOperator(type) {
|
|
2184
2685
|
switch (type) {
|
|
2185
2686
|
case "text":
|
|
@@ -2322,7 +2823,7 @@ function FilterPopover({
|
|
|
2322
2823
|
] })
|
|
2323
2824
|
] });
|
|
2324
2825
|
const renderDateFilter = () => {
|
|
2325
|
-
const dateValue =
|
|
2826
|
+
const dateValue = React34__namespace.useMemo(() => {
|
|
2326
2827
|
if (!value) return void 0;
|
|
2327
2828
|
if (value instanceof Date) return value;
|
|
2328
2829
|
if (typeof value === "string") {
|
|
@@ -2331,7 +2832,7 @@ function FilterPopover({
|
|
|
2331
2832
|
}
|
|
2332
2833
|
return void 0;
|
|
2333
2834
|
}, [value]);
|
|
2334
|
-
const dateToValue =
|
|
2835
|
+
const dateToValue = React34__namespace.useMemo(() => {
|
|
2335
2836
|
if (!valueTo) return void 0;
|
|
2336
2837
|
if (valueTo instanceof Date) return valueTo;
|
|
2337
2838
|
if (typeof valueTo === "string") {
|
|
@@ -2466,7 +2967,7 @@ function HeaderCell({
|
|
|
2466
2967
|
onResizeDoubleClick,
|
|
2467
2968
|
isResizing
|
|
2468
2969
|
}) {
|
|
2469
|
-
const [filterOpen, setFilterOpen] =
|
|
2970
|
+
const [filterOpen, setFilterOpen] = React34__namespace.useState(false);
|
|
2470
2971
|
const isSorted = sorting?.field === column.key;
|
|
2471
2972
|
const isFiltered = !!filter;
|
|
2472
2973
|
const isSortable = column.sortable && onSort;
|
|
@@ -2624,15 +3125,15 @@ function CellEditor({
|
|
|
2624
3125
|
className
|
|
2625
3126
|
}) {
|
|
2626
3127
|
const editorType = column.editorType || "text";
|
|
2627
|
-
const [internalValue, setInternalValue] =
|
|
2628
|
-
const [validationError, setValidationError] =
|
|
3128
|
+
const [internalValue, setInternalValue] = React34__namespace.useState(value);
|
|
3129
|
+
const [validationError, setValidationError] = React34__namespace.useState(
|
|
2629
3130
|
null
|
|
2630
3131
|
);
|
|
2631
|
-
const inputRef =
|
|
2632
|
-
const selectRef =
|
|
3132
|
+
const inputRef = React34__namespace.useRef(null);
|
|
3133
|
+
const selectRef = React34__namespace.useRef(null);
|
|
2633
3134
|
const currentValue = onChange ? value : internalValue;
|
|
2634
3135
|
const setValue = onChange || setInternalValue;
|
|
2635
|
-
const validate =
|
|
3136
|
+
const validate = React34__namespace.useCallback(
|
|
2636
3137
|
(val) => {
|
|
2637
3138
|
if (!column.validator) return true;
|
|
2638
3139
|
const result = column.validator(val, row);
|
|
@@ -2680,7 +3181,7 @@ function CellEditor({
|
|
|
2680
3181
|
}
|
|
2681
3182
|
handleCommit();
|
|
2682
3183
|
};
|
|
2683
|
-
|
|
3184
|
+
React34__namespace.useEffect(() => {
|
|
2684
3185
|
const timer = setTimeout(() => {
|
|
2685
3186
|
if (editorType === "select") {
|
|
2686
3187
|
selectRef.current?.focus();
|
|
@@ -2727,7 +3228,7 @@ function CellEditor({
|
|
|
2727
3228
|
}
|
|
2728
3229
|
);
|
|
2729
3230
|
const renderDateEditor = () => {
|
|
2730
|
-
const dateValue =
|
|
3231
|
+
const dateValue = React34__namespace.useMemo(() => {
|
|
2731
3232
|
if (!currentValue) return void 0;
|
|
2732
3233
|
if (currentValue instanceof Date) return currentValue;
|
|
2733
3234
|
if (typeof currentValue === "string") {
|
|
@@ -2915,7 +3416,7 @@ function useDataGridState(options) {
|
|
|
2915
3416
|
data,
|
|
2916
3417
|
getCellValue: getCellValue2
|
|
2917
3418
|
} = options;
|
|
2918
|
-
const isControlled =
|
|
3419
|
+
const isControlled = React34.useMemo(
|
|
2919
3420
|
() => ({
|
|
2920
3421
|
sorting: controlledSorting !== void 0,
|
|
2921
3422
|
filters: controlledFilters !== void 0,
|
|
@@ -2929,15 +3430,15 @@ function useDataGridState(options) {
|
|
|
2929
3430
|
controlledFocusedCell
|
|
2930
3431
|
]
|
|
2931
3432
|
);
|
|
2932
|
-
const [internalSorting, setInternalSorting] =
|
|
2933
|
-
const [internalFilters, setInternalFilters] =
|
|
2934
|
-
const [internalColumnWidths, setInternalColumnWidths] =
|
|
2935
|
-
const [internalFocusedCell, setInternalFocusedCell] =
|
|
2936
|
-
const [editingCell, setEditingCell] =
|
|
3433
|
+
const [internalSorting, setInternalSorting] = React34.useState(defaultSorting);
|
|
3434
|
+
const [internalFilters, setInternalFilters] = React34.useState(defaultFilters);
|
|
3435
|
+
const [internalColumnWidths, setInternalColumnWidths] = React34.useState(defaultColumnWidths);
|
|
3436
|
+
const [internalFocusedCell, setInternalFocusedCell] = React34.useState(null);
|
|
3437
|
+
const [editingCell, setEditingCell] = React34.useState(null);
|
|
2937
3438
|
const sorting = isControlled.sorting ? controlledSorting : internalSorting;
|
|
2938
3439
|
const filters = isControlled.filters ? controlledFilters : internalFilters;
|
|
2939
3440
|
const focusedCell = isControlled.focusedCell ? controlledFocusedCell : internalFocusedCell;
|
|
2940
|
-
const columnWidths =
|
|
3441
|
+
const columnWidths = React34.useMemo(() => {
|
|
2941
3442
|
const controlled = isControlled.columnWidths ? controlledColumnWidths : internalColumnWidths;
|
|
2942
3443
|
const result = {};
|
|
2943
3444
|
for (const column of columns) {
|
|
@@ -2945,8 +3446,8 @@ function useDataGridState(options) {
|
|
|
2945
3446
|
}
|
|
2946
3447
|
return result;
|
|
2947
3448
|
}, [isControlled.columnWidths, controlledColumnWidths, internalColumnWidths, columns]);
|
|
2948
|
-
const prevStateRef =
|
|
2949
|
-
const state =
|
|
3449
|
+
const prevStateRef = React34.useRef(null);
|
|
3450
|
+
const state = React34.useMemo(
|
|
2950
3451
|
() => ({
|
|
2951
3452
|
sorting,
|
|
2952
3453
|
filters,
|
|
@@ -2956,7 +3457,7 @@ function useDataGridState(options) {
|
|
|
2956
3457
|
}),
|
|
2957
3458
|
[sorting, filters, columnWidths, focusedCell, editingCell]
|
|
2958
3459
|
);
|
|
2959
|
-
|
|
3460
|
+
React34.useEffect(() => {
|
|
2960
3461
|
if (onStateChange) {
|
|
2961
3462
|
const currentState = {
|
|
2962
3463
|
sorting,
|
|
@@ -2971,7 +3472,7 @@ function useDataGridState(options) {
|
|
|
2971
3472
|
}
|
|
2972
3473
|
}
|
|
2973
3474
|
}, [sorting, filters, columnWidths, focusedCell, editingCell, onStateChange]);
|
|
2974
|
-
const setSorting =
|
|
3475
|
+
const setSorting = React34.useCallback(
|
|
2975
3476
|
(newSorting) => {
|
|
2976
3477
|
if (isControlled.sorting) {
|
|
2977
3478
|
onSortChange?.(newSorting);
|
|
@@ -2982,7 +3483,7 @@ function useDataGridState(options) {
|
|
|
2982
3483
|
},
|
|
2983
3484
|
[isControlled.sorting, onSortChange]
|
|
2984
3485
|
);
|
|
2985
|
-
const toggleSort =
|
|
3486
|
+
const toggleSort = React34.useCallback(
|
|
2986
3487
|
(columnKey) => {
|
|
2987
3488
|
const currentSort = sorting.find((s) => s.field === columnKey);
|
|
2988
3489
|
let newSorting;
|
|
@@ -2997,7 +3498,7 @@ function useDataGridState(options) {
|
|
|
2997
3498
|
},
|
|
2998
3499
|
[sorting, setSorting]
|
|
2999
3500
|
);
|
|
3000
|
-
const setFilters =
|
|
3501
|
+
const setFilters = React34.useCallback(
|
|
3001
3502
|
(newFilters) => {
|
|
3002
3503
|
if (isControlled.filters) {
|
|
3003
3504
|
onFilterChange?.(newFilters);
|
|
@@ -3008,7 +3509,7 @@ function useDataGridState(options) {
|
|
|
3008
3509
|
},
|
|
3009
3510
|
[isControlled.filters, onFilterChange]
|
|
3010
3511
|
);
|
|
3011
|
-
const setFilter =
|
|
3512
|
+
const setFilter = React34.useCallback(
|
|
3012
3513
|
(filter, columnKey) => {
|
|
3013
3514
|
const newFilters = filters.filter((f) => f.columnKey !== columnKey);
|
|
3014
3515
|
if (filter) {
|
|
@@ -3018,10 +3519,10 @@ function useDataGridState(options) {
|
|
|
3018
3519
|
},
|
|
3019
3520
|
[filters, setFilters]
|
|
3020
3521
|
);
|
|
3021
|
-
const clearFilters =
|
|
3522
|
+
const clearFilters = React34.useCallback(() => {
|
|
3022
3523
|
setFilters([]);
|
|
3023
3524
|
}, [setFilters]);
|
|
3024
|
-
const setColumnWidth =
|
|
3525
|
+
const setColumnWidth = React34.useCallback(
|
|
3025
3526
|
(columnKey, width) => {
|
|
3026
3527
|
if (isControlled.columnWidths) {
|
|
3027
3528
|
onColumnResize?.(columnKey, width);
|
|
@@ -3035,7 +3536,7 @@ function useDataGridState(options) {
|
|
|
3035
3536
|
},
|
|
3036
3537
|
[isControlled.columnWidths, onColumnResize]
|
|
3037
3538
|
);
|
|
3038
|
-
const setFocusedCell =
|
|
3539
|
+
const setFocusedCell = React34.useCallback(
|
|
3039
3540
|
(cell) => {
|
|
3040
3541
|
if (isControlled.focusedCell) {
|
|
3041
3542
|
onFocusedCellChange?.(cell);
|
|
@@ -3046,7 +3547,7 @@ function useDataGridState(options) {
|
|
|
3046
3547
|
},
|
|
3047
3548
|
[isControlled.focusedCell, onFocusedCellChange]
|
|
3048
3549
|
);
|
|
3049
|
-
const startEditing =
|
|
3550
|
+
const startEditing = React34.useCallback(
|
|
3050
3551
|
(rowIndex, columnKey) => {
|
|
3051
3552
|
if (onCellEditStart) {
|
|
3052
3553
|
const allowed = onCellEditStart(rowIndex, columnKey);
|
|
@@ -3067,10 +3568,10 @@ function useDataGridState(options) {
|
|
|
3067
3568
|
},
|
|
3068
3569
|
[columns, data, getCellValue2, onCellEditStart, setFocusedCell]
|
|
3069
3570
|
);
|
|
3070
|
-
const updateEditingValue =
|
|
3571
|
+
const updateEditingValue = React34.useCallback((value) => {
|
|
3071
3572
|
setEditingCell((prev) => prev ? { ...prev, value } : null);
|
|
3072
3573
|
}, []);
|
|
3073
|
-
const commitEdit =
|
|
3574
|
+
const commitEdit = React34.useCallback((valueOverride) => {
|
|
3074
3575
|
if (!editingCell) return;
|
|
3075
3576
|
const { rowIndex, columnKey, originalValue } = editingCell;
|
|
3076
3577
|
const value = valueOverride !== void 0 ? valueOverride : editingCell.value;
|
|
@@ -3087,7 +3588,7 @@ function useDataGridState(options) {
|
|
|
3087
3588
|
}
|
|
3088
3589
|
setEditingCell(null);
|
|
3089
3590
|
}, [editingCell, columns, data, onCellEdit]);
|
|
3090
|
-
const cancelEdit =
|
|
3591
|
+
const cancelEdit = React34.useCallback(() => {
|
|
3091
3592
|
if (editingCell) {
|
|
3092
3593
|
onCellEditCancel?.(editingCell.rowIndex, editingCell.columnKey);
|
|
3093
3594
|
}
|
|
@@ -3129,22 +3630,22 @@ function useKeyboardNavigation(options) {
|
|
|
3129
3630
|
onScrollToRow,
|
|
3130
3631
|
onScrollToColumn
|
|
3131
3632
|
} = options;
|
|
3132
|
-
const containerRef =
|
|
3633
|
+
const containerRef = React34.useRef(null);
|
|
3133
3634
|
const visibleColumns = getVisibleColumns(columns);
|
|
3134
|
-
const getColumnIndex =
|
|
3635
|
+
const getColumnIndex = React34.useCallback(
|
|
3135
3636
|
(columnKey) => {
|
|
3136
3637
|
return visibleColumns.findIndex((col) => col.key === columnKey);
|
|
3137
3638
|
},
|
|
3138
3639
|
[visibleColumns]
|
|
3139
3640
|
);
|
|
3140
|
-
const getColumnKey =
|
|
3641
|
+
const getColumnKey = React34.useCallback(
|
|
3141
3642
|
(index) => {
|
|
3142
3643
|
const column = visibleColumns[index];
|
|
3143
3644
|
return column ? column.key : null;
|
|
3144
3645
|
},
|
|
3145
3646
|
[visibleColumns]
|
|
3146
3647
|
);
|
|
3147
|
-
const navigateToCell =
|
|
3648
|
+
const navigateToCell = React34.useCallback(
|
|
3148
3649
|
(rowIndex, columnKey) => {
|
|
3149
3650
|
const clampedRow = Math.max(0, Math.min(rowIndex, rowCount - 1));
|
|
3150
3651
|
onFocusedCellChange({ rowIndex: clampedRow, columnKey });
|
|
@@ -3153,7 +3654,7 @@ function useKeyboardNavigation(options) {
|
|
|
3153
3654
|
},
|
|
3154
3655
|
[rowCount, onFocusedCellChange, onScrollToRow, onScrollToColumn]
|
|
3155
3656
|
);
|
|
3156
|
-
const moveFocus =
|
|
3657
|
+
const moveFocus = React34.useCallback(
|
|
3157
3658
|
(rowDelta, colDelta) => {
|
|
3158
3659
|
if (!focusedCell || visibleColumns.length === 0 || rowCount === 0) return;
|
|
3159
3660
|
const currentColIndex = getColumnIndex(focusedCell.columnKey);
|
|
@@ -3193,35 +3694,35 @@ function useKeyboardNavigation(options) {
|
|
|
3193
3694
|
navigateToCell
|
|
3194
3695
|
]
|
|
3195
3696
|
);
|
|
3196
|
-
const jumpToRowStart =
|
|
3697
|
+
const jumpToRowStart = React34.useCallback(() => {
|
|
3197
3698
|
if (!focusedCell || visibleColumns.length === 0) return;
|
|
3198
3699
|
const firstColumnKey = getColumnKey(0);
|
|
3199
3700
|
if (firstColumnKey) {
|
|
3200
3701
|
navigateToCell(focusedCell.rowIndex, firstColumnKey);
|
|
3201
3702
|
}
|
|
3202
3703
|
}, [focusedCell, visibleColumns.length, getColumnKey, navigateToCell]);
|
|
3203
|
-
const jumpToRowEnd =
|
|
3704
|
+
const jumpToRowEnd = React34.useCallback(() => {
|
|
3204
3705
|
if (!focusedCell || visibleColumns.length === 0) return;
|
|
3205
3706
|
const lastColumnKey = getColumnKey(visibleColumns.length - 1);
|
|
3206
3707
|
if (lastColumnKey) {
|
|
3207
3708
|
navigateToCell(focusedCell.rowIndex, lastColumnKey);
|
|
3208
3709
|
}
|
|
3209
3710
|
}, [focusedCell, visibleColumns.length, getColumnKey, navigateToCell]);
|
|
3210
|
-
const jumpToGridStart =
|
|
3711
|
+
const jumpToGridStart = React34.useCallback(() => {
|
|
3211
3712
|
if (visibleColumns.length === 0 || rowCount === 0) return;
|
|
3212
3713
|
const firstColumnKey = getColumnKey(0);
|
|
3213
3714
|
if (firstColumnKey) {
|
|
3214
3715
|
navigateToCell(0, firstColumnKey);
|
|
3215
3716
|
}
|
|
3216
3717
|
}, [visibleColumns.length, rowCount, getColumnKey, navigateToCell]);
|
|
3217
|
-
const jumpToGridEnd =
|
|
3718
|
+
const jumpToGridEnd = React34.useCallback(() => {
|
|
3218
3719
|
if (visibleColumns.length === 0 || rowCount === 0) return;
|
|
3219
3720
|
const lastColumnKey = getColumnKey(visibleColumns.length - 1);
|
|
3220
3721
|
if (lastColumnKey) {
|
|
3221
3722
|
navigateToCell(rowCount - 1, lastColumnKey);
|
|
3222
3723
|
}
|
|
3223
3724
|
}, [visibleColumns.length, rowCount, getColumnKey, navigateToCell]);
|
|
3224
|
-
const handleKeyDown =
|
|
3725
|
+
const handleKeyDown = React34.useCallback(
|
|
3225
3726
|
(event) => {
|
|
3226
3727
|
if (!enabled) return;
|
|
3227
3728
|
const { key, ctrlKey, metaKey, shiftKey } = event;
|
|
@@ -3324,7 +3825,7 @@ function useKeyboardNavigation(options) {
|
|
|
3324
3825
|
onFocusedCellChange
|
|
3325
3826
|
]
|
|
3326
3827
|
);
|
|
3327
|
-
const focusContainer =
|
|
3828
|
+
const focusContainer = React34.useCallback(() => {
|
|
3328
3829
|
containerRef.current?.focus();
|
|
3329
3830
|
}, []);
|
|
3330
3831
|
return {
|
|
@@ -3345,18 +3846,18 @@ function useColumnResize(options) {
|
|
|
3345
3846
|
onResizeStart,
|
|
3346
3847
|
onResizeEnd
|
|
3347
3848
|
} = options;
|
|
3348
|
-
const [isDragging, setIsDragging] =
|
|
3349
|
-
const startXRef =
|
|
3350
|
-
const startWidthRef =
|
|
3849
|
+
const [isDragging, setIsDragging] = React34.useState(false);
|
|
3850
|
+
const startXRef = React34.useRef(0);
|
|
3851
|
+
const startWidthRef = React34.useRef(0);
|
|
3351
3852
|
const minWidth = column.minWidth ?? DEFAULT_MIN_WIDTH;
|
|
3352
3853
|
const maxWidth = column.maxWidth ?? DEFAULT_MAX_WIDTH;
|
|
3353
|
-
const clampWidth =
|
|
3854
|
+
const clampWidth = React34.useCallback(
|
|
3354
3855
|
(width) => {
|
|
3355
3856
|
return Math.max(minWidth, Math.min(maxWidth, width));
|
|
3356
3857
|
},
|
|
3357
3858
|
[minWidth, maxWidth]
|
|
3358
3859
|
);
|
|
3359
|
-
const handleMouseDown =
|
|
3860
|
+
const handleMouseDown = React34.useCallback(
|
|
3360
3861
|
(event) => {
|
|
3361
3862
|
if (!enabled) return;
|
|
3362
3863
|
event.preventDefault();
|
|
@@ -3370,7 +3871,7 @@ function useColumnResize(options) {
|
|
|
3370
3871
|
},
|
|
3371
3872
|
[enabled, currentWidth, onResizeStart]
|
|
3372
3873
|
);
|
|
3373
|
-
const handleMouseMove =
|
|
3874
|
+
const handleMouseMove = React34.useCallback(
|
|
3374
3875
|
(event) => {
|
|
3375
3876
|
if (!isDragging) return;
|
|
3376
3877
|
const deltaX = event.clientX - startXRef.current;
|
|
@@ -3379,7 +3880,7 @@ function useColumnResize(options) {
|
|
|
3379
3880
|
},
|
|
3380
3881
|
[isDragging, clampWidth, onResize]
|
|
3381
3882
|
);
|
|
3382
|
-
const handleMouseUp =
|
|
3883
|
+
const handleMouseUp = React34.useCallback(() => {
|
|
3383
3884
|
if (!isDragging) return;
|
|
3384
3885
|
setIsDragging(false);
|
|
3385
3886
|
document.body.style.userSelect = "";
|
|
@@ -3387,7 +3888,7 @@ function useColumnResize(options) {
|
|
|
3387
3888
|
const finalWidth = clampWidth(currentWidth);
|
|
3388
3889
|
onResizeEnd?.(finalWidth);
|
|
3389
3890
|
}, [isDragging, currentWidth, clampWidth, onResizeEnd]);
|
|
3390
|
-
const handleDoubleClick =
|
|
3891
|
+
const handleDoubleClick = React34.useCallback(
|
|
3391
3892
|
(event) => {
|
|
3392
3893
|
if (!enabled) return;
|
|
3393
3894
|
event.preventDefault();
|
|
@@ -3399,7 +3900,7 @@ function useColumnResize(options) {
|
|
|
3399
3900
|
},
|
|
3400
3901
|
[enabled, column.width, clampWidth, onResize, onResizeEnd]
|
|
3401
3902
|
);
|
|
3402
|
-
|
|
3903
|
+
React34.useEffect(() => {
|
|
3403
3904
|
if (isDragging) {
|
|
3404
3905
|
window.addEventListener("mousemove", handleMouseMove);
|
|
3405
3906
|
window.addEventListener("mouseup", handleMouseUp);
|
|
@@ -3409,7 +3910,7 @@ function useColumnResize(options) {
|
|
|
3409
3910
|
};
|
|
3410
3911
|
}
|
|
3411
3912
|
}, [isDragging, handleMouseMove, handleMouseUp]);
|
|
3412
|
-
|
|
3913
|
+
React34.useEffect(() => {
|
|
3413
3914
|
return () => {
|
|
3414
3915
|
if (isDragging) {
|
|
3415
3916
|
document.body.style.userSelect = "";
|
|
@@ -3441,16 +3942,16 @@ function useColumnResizeManager(options) {
|
|
|
3441
3942
|
onColumnResizeStart,
|
|
3442
3943
|
onColumnResizeEnd
|
|
3443
3944
|
} = options;
|
|
3444
|
-
const [resizingColumn, setResizingColumn] =
|
|
3445
|
-
const startXRef =
|
|
3446
|
-
const startWidthRef =
|
|
3447
|
-
const getColumn =
|
|
3945
|
+
const [resizingColumn, setResizingColumn] = React34.useState(null);
|
|
3946
|
+
const startXRef = React34.useRef(0);
|
|
3947
|
+
const startWidthRef = React34.useRef(0);
|
|
3948
|
+
const getColumn = React34.useCallback(
|
|
3448
3949
|
(columnKey) => {
|
|
3449
3950
|
return columns.find((c) => c.key === columnKey);
|
|
3450
3951
|
},
|
|
3451
3952
|
[columns]
|
|
3452
3953
|
);
|
|
3453
|
-
const clampWidth =
|
|
3954
|
+
const clampWidth = React34.useCallback(
|
|
3454
3955
|
(columnKey, width) => {
|
|
3455
3956
|
const column = getColumn(columnKey);
|
|
3456
3957
|
const minWidth = column?.minWidth ?? DEFAULT_MIN_WIDTH;
|
|
@@ -3459,7 +3960,7 @@ function useColumnResizeManager(options) {
|
|
|
3459
3960
|
},
|
|
3460
3961
|
[getColumn]
|
|
3461
3962
|
);
|
|
3462
|
-
const handleMouseMove =
|
|
3963
|
+
const handleMouseMove = React34.useCallback(
|
|
3463
3964
|
(event) => {
|
|
3464
3965
|
if (!resizingColumn) return;
|
|
3465
3966
|
const deltaX = event.clientX - startXRef.current;
|
|
@@ -3471,7 +3972,7 @@ function useColumnResizeManager(options) {
|
|
|
3471
3972
|
},
|
|
3472
3973
|
[resizingColumn, clampWidth, onColumnResize]
|
|
3473
3974
|
);
|
|
3474
|
-
const handleMouseUp =
|
|
3975
|
+
const handleMouseUp = React34.useCallback(() => {
|
|
3475
3976
|
if (!resizingColumn) return;
|
|
3476
3977
|
const finalWidth = columnWidths[resizingColumn] ?? 200;
|
|
3477
3978
|
setResizingColumn(null);
|
|
@@ -3479,7 +3980,7 @@ function useColumnResizeManager(options) {
|
|
|
3479
3980
|
document.body.style.cursor = "";
|
|
3480
3981
|
onColumnResizeEnd?.(resizingColumn, finalWidth);
|
|
3481
3982
|
}, [resizingColumn, columnWidths, onColumnResizeEnd]);
|
|
3482
|
-
|
|
3983
|
+
React34.useEffect(() => {
|
|
3483
3984
|
if (resizingColumn) {
|
|
3484
3985
|
window.addEventListener("mousemove", handleMouseMove);
|
|
3485
3986
|
window.addEventListener("mouseup", handleMouseUp);
|
|
@@ -3489,7 +3990,7 @@ function useColumnResizeManager(options) {
|
|
|
3489
3990
|
};
|
|
3490
3991
|
}
|
|
3491
3992
|
}, [resizingColumn, handleMouseMove, handleMouseUp]);
|
|
3492
|
-
const getResizeProps =
|
|
3993
|
+
const getResizeProps = React34.useCallback(
|
|
3493
3994
|
(columnKey) => {
|
|
3494
3995
|
const column = getColumn(columnKey);
|
|
3495
3996
|
const isResizable = resizableColumns && column?.resizable !== false;
|
|
@@ -3775,15 +4276,15 @@ function DataGrid({
|
|
|
3775
4276
|
hasMore = false,
|
|
3776
4277
|
loadingMore = false
|
|
3777
4278
|
}) {
|
|
3778
|
-
const parentRef =
|
|
3779
|
-
const headerRef =
|
|
3780
|
-
const [headerHeight, setHeaderHeight] =
|
|
3781
|
-
const [hoveredCell, setHoveredCell] =
|
|
3782
|
-
const visibleColumns =
|
|
4279
|
+
const parentRef = React34__namespace.useRef(null);
|
|
4280
|
+
const headerRef = React34__namespace.useRef(null);
|
|
4281
|
+
const [headerHeight, setHeaderHeight] = React34__namespace.useState(40);
|
|
4282
|
+
const [hoveredCell, setHoveredCell] = React34__namespace.useState(null);
|
|
4283
|
+
const visibleColumns = React34__namespace.useMemo(
|
|
3783
4284
|
() => columns.filter((col) => !col.hidden),
|
|
3784
4285
|
[columns]
|
|
3785
4286
|
);
|
|
3786
|
-
const getCellValue2 =
|
|
4287
|
+
const getCellValue2 = React34__namespace.useCallback(
|
|
3787
4288
|
(row, column) => {
|
|
3788
4289
|
if (column.accessor) {
|
|
3789
4290
|
return column.accessor(row);
|
|
@@ -3812,7 +4313,7 @@ function DataGrid({
|
|
|
3812
4313
|
data,
|
|
3813
4314
|
getCellValue: getCellValue2
|
|
3814
4315
|
});
|
|
3815
|
-
const processedData =
|
|
4316
|
+
const processedData = React34__namespace.useMemo(() => {
|
|
3816
4317
|
let result = data;
|
|
3817
4318
|
if (enableInternalFiltering && !isControlled.filters && state.filters.length > 0) {
|
|
3818
4319
|
result = applyFilters(result, state.filters, visibleColumns);
|
|
@@ -3840,7 +4341,7 @@ function DataGrid({
|
|
|
3840
4341
|
onColumnResizeEnd
|
|
3841
4342
|
});
|
|
3842
4343
|
const shouldVirtualize = virtualized ?? processedData.length > 100;
|
|
3843
|
-
|
|
4344
|
+
React34__namespace.useLayoutEffect(() => {
|
|
3844
4345
|
if (headerRef.current && shouldVirtualize) {
|
|
3845
4346
|
setHeaderHeight(headerRef.current.offsetHeight);
|
|
3846
4347
|
}
|
|
@@ -3852,13 +4353,13 @@ function DataGrid({
|
|
|
3852
4353
|
overscan: DEFAULT_OVERSCAN,
|
|
3853
4354
|
enabled: shouldVirtualize
|
|
3854
4355
|
});
|
|
3855
|
-
const tableWidth =
|
|
4356
|
+
const tableWidth = React34__namespace.useMemo(() => {
|
|
3856
4357
|
return visibleColumns.reduce((acc, col) => {
|
|
3857
4358
|
const width = state.columnWidths[col.key] || col.width || estimateColumnWidth(col);
|
|
3858
4359
|
return acc + width;
|
|
3859
4360
|
}, 0);
|
|
3860
4361
|
}, [visibleColumns, state.columnWidths]);
|
|
3861
|
-
const visibleRowCount =
|
|
4362
|
+
const visibleRowCount = React34__namespace.useMemo(() => {
|
|
3862
4363
|
if (!parentRef.current) return 10;
|
|
3863
4364
|
return Math.floor(parentRef.current.clientHeight / DEFAULT_ROW_HEIGHT);
|
|
3864
4365
|
}, []);
|
|
@@ -3877,7 +4378,7 @@ function DataGrid({
|
|
|
3877
4378
|
rowVirtualizer.scrollToIndex(rowIndex, { align: "auto" });
|
|
3878
4379
|
}
|
|
3879
4380
|
});
|
|
3880
|
-
const handleBlur =
|
|
4381
|
+
const handleBlur = React34__namespace.useCallback(
|
|
3881
4382
|
(event) => {
|
|
3882
4383
|
const target = event.target;
|
|
3883
4384
|
const relatedTarget = event.relatedTarget;
|
|
@@ -3935,7 +4436,7 @@ function DataGrid({
|
|
|
3935
4436
|
},
|
|
3936
4437
|
[state.editingCell, actions]
|
|
3937
4438
|
);
|
|
3938
|
-
|
|
4439
|
+
React34__namespace.useEffect(() => {
|
|
3939
4440
|
if (!infiniteScroll || !hasMore || loadingMore || !parentRef.current) return;
|
|
3940
4441
|
const observer = new IntersectionObserver(
|
|
3941
4442
|
(entries) => {
|
|
@@ -4379,7 +4880,7 @@ function DataGrid({
|
|
|
4379
4880
|
);
|
|
4380
4881
|
}
|
|
4381
4882
|
function PaginationFooter({ pagination }) {
|
|
4382
|
-
const [goToPage, setGoToPage] =
|
|
4883
|
+
const [goToPage, setGoToPage] = React34__namespace.useState("");
|
|
4383
4884
|
const handleGoToPage = () => {
|
|
4384
4885
|
const page = parseInt(goToPage, 10);
|
|
4385
4886
|
if (!isNaN(page) && page >= 1 && page <= pagination.totalPages) {
|
|
@@ -4497,21 +4998,21 @@ function Autocomplete({
|
|
|
4497
4998
|
className,
|
|
4498
4999
|
clearable = false
|
|
4499
5000
|
}) {
|
|
4500
|
-
const [open, setOpen] =
|
|
4501
|
-
const [search, setSearch] =
|
|
4502
|
-
const inputRef =
|
|
4503
|
-
const selectedOption =
|
|
5001
|
+
const [open, setOpen] = React34__namespace.useState(false);
|
|
5002
|
+
const [search, setSearch] = React34__namespace.useState("");
|
|
5003
|
+
const inputRef = React34__namespace.useRef(null);
|
|
5004
|
+
const selectedOption = React34__namespace.useMemo(
|
|
4504
5005
|
() => options.find((opt) => opt.value === value),
|
|
4505
5006
|
[options, value]
|
|
4506
5007
|
);
|
|
4507
|
-
const filteredOptions =
|
|
5008
|
+
const filteredOptions = React34__namespace.useMemo(() => {
|
|
4508
5009
|
if (!search.trim()) return options;
|
|
4509
5010
|
const searchLower = search.toLowerCase();
|
|
4510
5011
|
return options.filter(
|
|
4511
5012
|
(opt) => opt.label.toLowerCase().includes(searchLower) || opt.description?.toLowerCase().includes(searchLower)
|
|
4512
5013
|
);
|
|
4513
5014
|
}, [options, search]);
|
|
4514
|
-
const groupedOptions =
|
|
5015
|
+
const groupedOptions = React34__namespace.useMemo(() => {
|
|
4515
5016
|
const groups = {};
|
|
4516
5017
|
const ungrouped = [];
|
|
4517
5018
|
filteredOptions.forEach((opt) => {
|
|
@@ -4525,7 +5026,7 @@ function Autocomplete({
|
|
|
4525
5026
|
return { groups, ungrouped };
|
|
4526
5027
|
}, [filteredOptions]);
|
|
4527
5028
|
const hasGroups = Object.keys(groupedOptions.groups).length > 0;
|
|
4528
|
-
const handleSelect =
|
|
5029
|
+
const handleSelect = React34__namespace.useCallback(
|
|
4529
5030
|
(optionValue) => {
|
|
4530
5031
|
onChange?.(optionValue);
|
|
4531
5032
|
setOpen(false);
|
|
@@ -4533,7 +5034,7 @@ function Autocomplete({
|
|
|
4533
5034
|
},
|
|
4534
5035
|
[onChange]
|
|
4535
5036
|
);
|
|
4536
|
-
const handleClear =
|
|
5037
|
+
const handleClear = React34__namespace.useCallback(
|
|
4537
5038
|
(e) => {
|
|
4538
5039
|
e.stopPropagation();
|
|
4539
5040
|
onChange?.(void 0);
|
|
@@ -4541,7 +5042,7 @@ function Autocomplete({
|
|
|
4541
5042
|
},
|
|
4542
5043
|
[onChange]
|
|
4543
5044
|
);
|
|
4544
|
-
|
|
5045
|
+
React34__namespace.useEffect(() => {
|
|
4545
5046
|
if (open) {
|
|
4546
5047
|
const timeout = setTimeout(() => {
|
|
4547
5048
|
inputRef.current?.focus();
|
|
@@ -4551,7 +5052,7 @@ function Autocomplete({
|
|
|
4551
5052
|
setSearch("");
|
|
4552
5053
|
}
|
|
4553
5054
|
}, [open]);
|
|
4554
|
-
const handleKeyDown =
|
|
5055
|
+
const handleKeyDown = React34__namespace.useCallback((e) => {
|
|
4555
5056
|
if (e.key === "Escape") {
|
|
4556
5057
|
setOpen(false);
|
|
4557
5058
|
}
|
|
@@ -4727,7 +5228,7 @@ var iconButtonVariants = classVarianceAuthority.cva(
|
|
|
4727
5228
|
}
|
|
4728
5229
|
}
|
|
4729
5230
|
);
|
|
4730
|
-
var IconButton =
|
|
5231
|
+
var IconButton = React34__namespace.forwardRef(
|
|
4731
5232
|
({ className, variant, size, isActive = false, icon, children, ...props }, ref) => {
|
|
4732
5233
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4733
5234
|
"button",
|
|
@@ -4751,7 +5252,7 @@ var IconButton = React33__namespace.forwardRef(
|
|
|
4751
5252
|
);
|
|
4752
5253
|
IconButton.displayName = "IconButton";
|
|
4753
5254
|
function CopyButton({ content, className, size = "md" }) {
|
|
4754
|
-
const [copied, setCopied] =
|
|
5255
|
+
const [copied, setCopied] = React34__namespace.useState(false);
|
|
4755
5256
|
const handleCopy = async () => {
|
|
4756
5257
|
try {
|
|
4757
5258
|
await navigator.clipboard.writeText(content);
|
|
@@ -5524,11 +6025,11 @@ function ThemePicker({
|
|
|
5524
6025
|
align = "end",
|
|
5525
6026
|
side = "bottom"
|
|
5526
6027
|
}) {
|
|
5527
|
-
const [open, setOpen] =
|
|
5528
|
-
const [selectedTheme, setSelectedTheme] =
|
|
6028
|
+
const [open, setOpen] = React34__namespace.useState(false);
|
|
6029
|
+
const [selectedTheme, setSelectedTheme] = React34__namespace.useState(
|
|
5529
6030
|
value || themes[0]
|
|
5530
6031
|
);
|
|
5531
|
-
|
|
6032
|
+
React34__namespace.useEffect(() => {
|
|
5532
6033
|
if (value) {
|
|
5533
6034
|
setSelectedTheme(value);
|
|
5534
6035
|
}
|
|
@@ -5638,19 +6139,19 @@ function getSafePosition(x, y, menuWidth, menuHeight) {
|
|
|
5638
6139
|
return { x: safeX, y: safeY };
|
|
5639
6140
|
}
|
|
5640
6141
|
function MenuItem({ item, onClose, depth = 0 }) {
|
|
5641
|
-
const [isSubmenuOpen, setIsSubmenuOpen] =
|
|
5642
|
-
const [submenuPosition, setSubmenuPosition] =
|
|
5643
|
-
const itemRef =
|
|
5644
|
-
const hoverTimeoutRef =
|
|
6142
|
+
const [isSubmenuOpen, setIsSubmenuOpen] = React34__namespace.useState(false);
|
|
6143
|
+
const [submenuPosition, setSubmenuPosition] = React34__namespace.useState(null);
|
|
6144
|
+
const itemRef = React34__namespace.useRef(null);
|
|
6145
|
+
const hoverTimeoutRef = React34__namespace.useRef(null);
|
|
5645
6146
|
const hasSubmenu = item.submenu && item.submenu.length > 0;
|
|
5646
|
-
|
|
6147
|
+
React34__namespace.useEffect(() => {
|
|
5647
6148
|
return () => {
|
|
5648
6149
|
if (hoverTimeoutRef.current) {
|
|
5649
6150
|
clearTimeout(hoverTimeoutRef.current);
|
|
5650
6151
|
}
|
|
5651
6152
|
};
|
|
5652
6153
|
}, []);
|
|
5653
|
-
const handleMouseEnter =
|
|
6154
|
+
const handleMouseEnter = React34__namespace.useCallback(() => {
|
|
5654
6155
|
if (hoverTimeoutRef.current) {
|
|
5655
6156
|
clearTimeout(hoverTimeoutRef.current);
|
|
5656
6157
|
}
|
|
@@ -5670,22 +6171,22 @@ function MenuItem({ item, onClose, depth = 0 }) {
|
|
|
5670
6171
|
setIsSubmenuOpen(true);
|
|
5671
6172
|
}
|
|
5672
6173
|
}, [hasSubmenu, item.submenu?.length]);
|
|
5673
|
-
const handleMouseLeave =
|
|
6174
|
+
const handleMouseLeave = React34__namespace.useCallback(() => {
|
|
5674
6175
|
hoverTimeoutRef.current = setTimeout(() => {
|
|
5675
6176
|
setIsSubmenuOpen(false);
|
|
5676
6177
|
}, 100);
|
|
5677
6178
|
}, []);
|
|
5678
|
-
const handleSubmenuMouseEnter =
|
|
6179
|
+
const handleSubmenuMouseEnter = React34__namespace.useCallback(() => {
|
|
5679
6180
|
if (hoverTimeoutRef.current) {
|
|
5680
6181
|
clearTimeout(hoverTimeoutRef.current);
|
|
5681
6182
|
}
|
|
5682
6183
|
}, []);
|
|
5683
|
-
const handleSubmenuMouseLeave =
|
|
6184
|
+
const handleSubmenuMouseLeave = React34__namespace.useCallback(() => {
|
|
5684
6185
|
hoverTimeoutRef.current = setTimeout(() => {
|
|
5685
6186
|
setIsSubmenuOpen(false);
|
|
5686
6187
|
}, 100);
|
|
5687
6188
|
}, []);
|
|
5688
|
-
const handleClick =
|
|
6189
|
+
const handleClick = React34__namespace.useCallback(() => {
|
|
5689
6190
|
if (item.disabled) return;
|
|
5690
6191
|
if (!hasSubmenu && item.action) {
|
|
5691
6192
|
item.action();
|
|
@@ -5765,12 +6266,12 @@ function ContextMenu({
|
|
|
5765
6266
|
anchorEl,
|
|
5766
6267
|
className
|
|
5767
6268
|
}) {
|
|
5768
|
-
const menuRef =
|
|
5769
|
-
const [menuPosition, setMenuPosition] =
|
|
6269
|
+
const menuRef = React34__namespace.useRef(null);
|
|
6270
|
+
const [menuPosition, setMenuPosition] = React34__namespace.useState({
|
|
5770
6271
|
x: 0,
|
|
5771
6272
|
y: 0
|
|
5772
6273
|
});
|
|
5773
|
-
|
|
6274
|
+
React34__namespace.useEffect(() => {
|
|
5774
6275
|
if (!isOpen) return;
|
|
5775
6276
|
let x = position.x;
|
|
5776
6277
|
let y = position.y;
|
|
@@ -5789,7 +6290,7 @@ function ContextMenu({
|
|
|
5789
6290
|
}
|
|
5790
6291
|
});
|
|
5791
6292
|
}, [isOpen, position, anchorEl]);
|
|
5792
|
-
|
|
6293
|
+
React34__namespace.useEffect(() => {
|
|
5793
6294
|
if (!isOpen) return;
|
|
5794
6295
|
const handleClickOutside = (e) => {
|
|
5795
6296
|
if (menuRef.current && !menuRef.current.contains(e.target)) {
|
|
@@ -5833,16 +6334,16 @@ function ContextMenu({
|
|
|
5833
6334
|
);
|
|
5834
6335
|
}
|
|
5835
6336
|
function useContextMenu() {
|
|
5836
|
-
const [isOpen, setIsOpen] =
|
|
5837
|
-
const [position, setPosition] =
|
|
5838
|
-
const [targetItem, setTargetItem] =
|
|
5839
|
-
const menuRef =
|
|
5840
|
-
const openMenu =
|
|
6337
|
+
const [isOpen, setIsOpen] = React34__namespace.useState(false);
|
|
6338
|
+
const [position, setPosition] = React34__namespace.useState({ x: 0, y: 0 });
|
|
6339
|
+
const [targetItem, setTargetItem] = React34__namespace.useState(null);
|
|
6340
|
+
const menuRef = React34__namespace.useRef(null);
|
|
6341
|
+
const openMenu = React34__namespace.useCallback((x, y, item) => {
|
|
5841
6342
|
setPosition({ x, y });
|
|
5842
6343
|
setTargetItem(item);
|
|
5843
6344
|
setIsOpen(true);
|
|
5844
6345
|
}, []);
|
|
5845
|
-
const closeMenu =
|
|
6346
|
+
const closeMenu = React34__namespace.useCallback(() => {
|
|
5846
6347
|
setIsOpen(false);
|
|
5847
6348
|
setTargetItem(null);
|
|
5848
6349
|
}, []);
|
|
@@ -5874,14 +6375,21 @@ exports.AlertDialogTitle = AlertDialogTitle;
|
|
|
5874
6375
|
exports.AlertDialogTrigger = AlertDialogTrigger;
|
|
5875
6376
|
exports.Autocomplete = Autocomplete;
|
|
5876
6377
|
exports.Badge = Badge;
|
|
6378
|
+
exports.Board = Board;
|
|
6379
|
+
exports.BoardContent = BoardContent;
|
|
6380
|
+
exports.BoardHeader = BoardHeader;
|
|
5877
6381
|
exports.Button = Button;
|
|
5878
6382
|
exports.CYBERPUNK_THEME = CYBERPUNK_THEME;
|
|
5879
6383
|
exports.Calendar = Calendar;
|
|
5880
6384
|
exports.Card = Card;
|
|
6385
|
+
exports.CardActions = CardActions;
|
|
5881
6386
|
exports.CardContent = CardContent;
|
|
5882
6387
|
exports.CardDescription = CardDescription;
|
|
5883
6388
|
exports.CardFooter = CardFooter;
|
|
6389
|
+
exports.CardGrid = CardGrid;
|
|
5884
6390
|
exports.CardHeader = CardHeader;
|
|
6391
|
+
exports.CardImage = CardImage;
|
|
6392
|
+
exports.CardList = CardList;
|
|
5885
6393
|
exports.CardTitle = CardTitle;
|
|
5886
6394
|
exports.CellEditor = CellEditor;
|
|
5887
6395
|
exports.Checkbox = Checkbox;
|
|
@@ -5943,6 +6451,7 @@ exports.SelectScrollUpButton = SelectScrollUpButton;
|
|
|
5943
6451
|
exports.SelectSeparator = SelectSeparator;
|
|
5944
6452
|
exports.SelectTrigger = SelectTrigger;
|
|
5945
6453
|
exports.SelectValue = SelectValue;
|
|
6454
|
+
exports.SelectableCard = SelectableCard;
|
|
5946
6455
|
exports.Separator = Separator;
|
|
5947
6456
|
exports.Skeleton = Skeleton;
|
|
5948
6457
|
exports.Switch = Switch;
|
|
@@ -5977,7 +6486,13 @@ exports.applySorting = applySorting;
|
|
|
5977
6486
|
exports.applyTheme = applyTheme;
|
|
5978
6487
|
exports.areThemesEqual = areThemesEqual;
|
|
5979
6488
|
exports.badgeVariants = badgeVariants;
|
|
6489
|
+
exports.boardVariants = boardVariants;
|
|
5980
6490
|
exports.buttonVariants = buttonVariants;
|
|
6491
|
+
exports.cardActionsVariants = cardActionsVariants;
|
|
6492
|
+
exports.cardGridVariants = cardGridVariants;
|
|
6493
|
+
exports.cardImageVariants = cardImageVariants;
|
|
6494
|
+
exports.cardListVariants = cardListVariants;
|
|
6495
|
+
exports.cardVariants = cardVariants;
|
|
5981
6496
|
exports.cloneTheme = cloneTheme;
|
|
5982
6497
|
exports.cn = cn;
|
|
5983
6498
|
exports.exportTheme = exportTheme;
|