@ikatec/nebula-react 1.4.1-beta.1 → 1.4.1-beta.3
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/ikatec-nebula-react-1.4.1-beta.3.tgz +0 -0
- package/dist/index.js +454 -317
- package/dist/index.mjs +310 -173
- package/package.json +1 -1
- package/dist/ikatec-nebula-react-1.4.1-beta.1.tgz +0 -0
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var React31 = require('react');
|
|
4
4
|
var reactSlot = require('@radix-ui/react-slot');
|
|
5
5
|
var classVarianceAuthority = require('class-variance-authority');
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
@@ -55,7 +55,7 @@ function _interopNamespace(e) {
|
|
|
55
55
|
return Object.freeze(n);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
var
|
|
58
|
+
var React31__namespace = /*#__PURE__*/_interopNamespace(React31);
|
|
59
59
|
var PopoverPrimitive__namespace = /*#__PURE__*/_interopNamespace(PopoverPrimitive);
|
|
60
60
|
var LabelPrimitive__namespace = /*#__PURE__*/_interopNamespace(LabelPrimitive);
|
|
61
61
|
var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(DropdownMenuPrimitive);
|
|
@@ -120,11 +120,11 @@ function cn(...inputs) {
|
|
|
120
120
|
return customTwMerge(nebulaClass, clsx(inputs));
|
|
121
121
|
}
|
|
122
122
|
var processChildren = (children) => {
|
|
123
|
-
return
|
|
123
|
+
return React31__namespace.default.Children.map(children, (child) => {
|
|
124
124
|
if (typeof child === "string") {
|
|
125
125
|
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "nebula-ds px-2", children: child });
|
|
126
126
|
}
|
|
127
|
-
if (
|
|
127
|
+
if (React31__namespace.default.isValidElement(child) && child.type === React31__namespace.default.Fragment) {
|
|
128
128
|
return processChildren(child.props.children);
|
|
129
129
|
}
|
|
130
130
|
return child;
|
|
@@ -216,7 +216,7 @@ var buttonVariantsConfig = classVarianceAuthority.cva(
|
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
218
|
);
|
|
219
|
-
var Button =
|
|
219
|
+
var Button = React31__namespace.forwardRef(
|
|
220
220
|
({
|
|
221
221
|
className,
|
|
222
222
|
variant: variant3,
|
|
@@ -281,7 +281,7 @@ var badgeVariantsConfig = classVarianceAuthority.cva(
|
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
283
|
);
|
|
284
|
-
var Badge =
|
|
284
|
+
var Badge = React31__namespace.forwardRef(
|
|
285
285
|
({ className, variant: variant3, size: size4, ...props }, ref) => {
|
|
286
286
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
287
287
|
"div",
|
|
@@ -365,7 +365,7 @@ var alertVariantsConfig = classVarianceAuthority.cva(
|
|
|
365
365
|
}
|
|
366
366
|
);
|
|
367
367
|
var alertVariants = extractVariants(variants);
|
|
368
|
-
var Alert =
|
|
368
|
+
var Alert = React31__namespace.forwardRef(
|
|
369
369
|
({ className, variant: variant3, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
370
370
|
"div",
|
|
371
371
|
{
|
|
@@ -377,7 +377,7 @@ var Alert = React35__namespace.forwardRef(
|
|
|
377
377
|
)
|
|
378
378
|
);
|
|
379
379
|
Alert.displayName = "Alert";
|
|
380
|
-
var AlertTitle =
|
|
380
|
+
var AlertTitle = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
381
381
|
"h5",
|
|
382
382
|
{
|
|
383
383
|
ref,
|
|
@@ -386,7 +386,7 @@ var AlertTitle = React35__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
386
386
|
}
|
|
387
387
|
));
|
|
388
388
|
AlertTitle.displayName = "AlertTitle";
|
|
389
|
-
var AlertDescription =
|
|
389
|
+
var AlertDescription = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
390
390
|
"div",
|
|
391
391
|
{
|
|
392
392
|
ref,
|
|
@@ -395,7 +395,7 @@ var AlertDescription = React35__namespace.forwardRef(({ className, ...props }, r
|
|
|
395
395
|
}
|
|
396
396
|
));
|
|
397
397
|
AlertDescription.displayName = "AlertDescription";
|
|
398
|
-
var AlertButton =
|
|
398
|
+
var AlertButton = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
399
399
|
"button",
|
|
400
400
|
{
|
|
401
401
|
ref,
|
|
@@ -406,9 +406,9 @@ var AlertButton = React35__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
406
406
|
AlertButton.displayName = "AlertButton";
|
|
407
407
|
var Popover = PopoverPrimitive__namespace.Root;
|
|
408
408
|
var PopoverTrigger = PopoverPrimitive__namespace.Trigger;
|
|
409
|
-
var PopoverContent =
|
|
409
|
+
var PopoverContent = React31__namespace.forwardRef(
|
|
410
410
|
({ className, align = "center", sideOffset = 4, portal = false, ...props }, ref) => {
|
|
411
|
-
const Comp = portal ? PopoverPrimitive__namespace.Portal :
|
|
411
|
+
const Comp = portal ? PopoverPrimitive__namespace.Portal : React31__namespace.Fragment;
|
|
412
412
|
return /* @__PURE__ */ jsxRuntime.jsx(Comp, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
413
413
|
PopoverPrimitive__namespace.Content,
|
|
414
414
|
{
|
|
@@ -436,7 +436,7 @@ var PopoverContent = React35__namespace.forwardRef(
|
|
|
436
436
|
}
|
|
437
437
|
);
|
|
438
438
|
PopoverContent.displayName = PopoverPrimitive__namespace.Content.displayName;
|
|
439
|
-
var Label =
|
|
439
|
+
var Label = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
440
440
|
LabelPrimitive__namespace.Root,
|
|
441
441
|
{
|
|
442
442
|
ref,
|
|
@@ -448,7 +448,7 @@ var Label = React35__namespace.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
448
448
|
}
|
|
449
449
|
));
|
|
450
450
|
Label.displayName = LabelPrimitive__namespace.Root.displayName;
|
|
451
|
-
var Table =
|
|
451
|
+
var Table = React31__namespace.forwardRef(({ className, noCardWrapper = false, ...props }, ref) => {
|
|
452
452
|
if (noCardWrapper) {
|
|
453
453
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
454
454
|
"table",
|
|
@@ -469,9 +469,9 @@ var Table = React35__namespace.forwardRef(({ className, noCardWrapper = false, .
|
|
|
469
469
|
) });
|
|
470
470
|
});
|
|
471
471
|
Table.displayName = "Table";
|
|
472
|
-
var TableHeader =
|
|
472
|
+
var TableHeader = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
|
|
473
473
|
TableHeader.displayName = "TableHeader";
|
|
474
|
-
var TableBody =
|
|
474
|
+
var TableBody = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
475
475
|
"tbody",
|
|
476
476
|
{
|
|
477
477
|
ref,
|
|
@@ -480,7 +480,7 @@ var TableBody = React35__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
480
480
|
}
|
|
481
481
|
));
|
|
482
482
|
TableBody.displayName = "TableBody";
|
|
483
|
-
var TableFooter =
|
|
483
|
+
var TableFooter = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
484
484
|
"tfoot",
|
|
485
485
|
{
|
|
486
486
|
ref,
|
|
@@ -511,7 +511,7 @@ var tableRowVariantsConfig = classVarianceAuthority.cva(
|
|
|
511
511
|
}
|
|
512
512
|
}
|
|
513
513
|
);
|
|
514
|
-
var TableRow =
|
|
514
|
+
var TableRow = React31__namespace.forwardRef(
|
|
515
515
|
({ className, variant: variant3 = "first", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
516
516
|
"tr",
|
|
517
517
|
{
|
|
@@ -522,7 +522,7 @@ var TableRow = React35__namespace.forwardRef(
|
|
|
522
522
|
)
|
|
523
523
|
);
|
|
524
524
|
TableRow.displayName = "TableRow";
|
|
525
|
-
var TableHead =
|
|
525
|
+
var TableHead = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
526
526
|
"th",
|
|
527
527
|
{
|
|
528
528
|
ref,
|
|
@@ -534,7 +534,7 @@ var TableHead = React35__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
534
534
|
}
|
|
535
535
|
));
|
|
536
536
|
TableHead.displayName = "TableHead";
|
|
537
|
-
var TableCell =
|
|
537
|
+
var TableCell = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
538
538
|
"td",
|
|
539
539
|
{
|
|
540
540
|
ref,
|
|
@@ -546,14 +546,14 @@ var TableCell = React35__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
546
546
|
}
|
|
547
547
|
));
|
|
548
548
|
TableCell.displayName = "TableCell";
|
|
549
|
-
var TableCaption =
|
|
549
|
+
var TableCaption = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("caption", { ref, className: cn("mt-4 text-sm", className), ...props }));
|
|
550
550
|
TableCaption.displayName = "TableCaption";
|
|
551
551
|
var DropdownMenu = DropdownMenuPrimitive__namespace.Root;
|
|
552
552
|
var DropdownMenuTrigger = DropdownMenuPrimitive__namespace.Trigger;
|
|
553
553
|
var DropdownMenuGroup = DropdownMenuPrimitive__namespace.Group;
|
|
554
554
|
var DropdownMenuSub = DropdownMenuPrimitive__namespace.Sub;
|
|
555
555
|
var DropdownMenuRadioGroup = DropdownMenuPrimitive__namespace.RadioGroup;
|
|
556
|
-
var DropdownMenuSubTrigger =
|
|
556
|
+
var DropdownMenuSubTrigger = React31__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
557
557
|
DropdownMenuPrimitive__namespace.SubTrigger,
|
|
558
558
|
{
|
|
559
559
|
ref,
|
|
@@ -585,8 +585,8 @@ var DropdownMenuSubTrigger = React35__namespace.forwardRef(({ className, inset,
|
|
|
585
585
|
}
|
|
586
586
|
));
|
|
587
587
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive__namespace.SubTrigger.displayName;
|
|
588
|
-
var DropdownMenuSubContent =
|
|
589
|
-
const Comp = portal ? DropdownMenuPrimitive__namespace.Portal :
|
|
588
|
+
var DropdownMenuSubContent = React31__namespace.forwardRef(({ className, portal = false, ...props }, ref) => {
|
|
589
|
+
const Comp = portal ? DropdownMenuPrimitive__namespace.Portal : React31__namespace.Fragment;
|
|
590
590
|
return /* @__PURE__ */ jsxRuntime.jsx(Comp, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
591
591
|
DropdownMenuPrimitive__namespace.SubContent,
|
|
592
592
|
{
|
|
@@ -611,8 +611,8 @@ var DropdownMenuSubContent = React35__namespace.forwardRef(({ className, portal
|
|
|
611
611
|
) });
|
|
612
612
|
});
|
|
613
613
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive__namespace.SubContent.displayName;
|
|
614
|
-
var DropdownMenuContent =
|
|
615
|
-
const Comp = portal ? DropdownMenuPrimitive__namespace.Portal :
|
|
614
|
+
var DropdownMenuContent = React31__namespace.forwardRef(({ className, sideOffset = 4, portal = false, ...props }, ref) => {
|
|
615
|
+
const Comp = portal ? DropdownMenuPrimitive__namespace.Portal : React31__namespace.Fragment;
|
|
616
616
|
return /* @__PURE__ */ jsxRuntime.jsx(Comp, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
617
617
|
DropdownMenuPrimitive__namespace.Content,
|
|
618
618
|
{
|
|
@@ -640,7 +640,7 @@ var DropdownMenuContent = React35__namespace.forwardRef(({ className, sideOffset
|
|
|
640
640
|
) });
|
|
641
641
|
});
|
|
642
642
|
DropdownMenuContent.displayName = DropdownMenuPrimitive__namespace.Content.displayName;
|
|
643
|
-
var DropdownMenuItem =
|
|
643
|
+
var DropdownMenuItem = React31__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
644
644
|
DropdownMenuPrimitive__namespace.Item,
|
|
645
645
|
{
|
|
646
646
|
ref,
|
|
@@ -673,7 +673,7 @@ var DropdownMenuItem = React35__namespace.forwardRef(({ className, inset, ...pro
|
|
|
673
673
|
}
|
|
674
674
|
));
|
|
675
675
|
DropdownMenuItem.displayName = DropdownMenuPrimitive__namespace.Item.displayName;
|
|
676
|
-
var DropdownMenuCheckboxItem =
|
|
676
|
+
var DropdownMenuCheckboxItem = React31__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
677
677
|
DropdownMenuPrimitive__namespace.CheckboxItem,
|
|
678
678
|
{
|
|
679
679
|
ref,
|
|
@@ -711,7 +711,7 @@ var DropdownMenuCheckboxItem = React35__namespace.forwardRef(({ className, child
|
|
|
711
711
|
}
|
|
712
712
|
));
|
|
713
713
|
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive__namespace.CheckboxItem.displayName;
|
|
714
|
-
var DropdownMenuRadioItem =
|
|
714
|
+
var DropdownMenuRadioItem = React31__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
715
715
|
DropdownMenuPrimitive__namespace.RadioItem,
|
|
716
716
|
{
|
|
717
717
|
ref,
|
|
@@ -747,7 +747,7 @@ var DropdownMenuRadioItem = React35__namespace.forwardRef(({ className, children
|
|
|
747
747
|
}
|
|
748
748
|
));
|
|
749
749
|
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive__namespace.RadioItem.displayName;
|
|
750
|
-
var DropdownMenuLabel =
|
|
750
|
+
var DropdownMenuLabel = React31__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
751
751
|
DropdownMenuPrimitive__namespace.Label,
|
|
752
752
|
{
|
|
753
753
|
ref,
|
|
@@ -767,7 +767,7 @@ var DropdownMenuLabel = React35__namespace.forwardRef(({ className, inset, ...pr
|
|
|
767
767
|
}
|
|
768
768
|
));
|
|
769
769
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive__namespace.Label.displayName;
|
|
770
|
-
var DropdownMenuSeparator =
|
|
770
|
+
var DropdownMenuSeparator = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
771
771
|
DropdownMenuPrimitive__namespace.Separator,
|
|
772
772
|
{
|
|
773
773
|
ref,
|
|
@@ -817,7 +817,7 @@ var separatorVariantsConfig = classVarianceAuthority.cva("shrink-0 bg-separator-
|
|
|
817
817
|
}
|
|
818
818
|
});
|
|
819
819
|
var separatorVariants = extractVariants(variants3);
|
|
820
|
-
var Separator2 =
|
|
820
|
+
var Separator2 = React31__namespace.forwardRef(
|
|
821
821
|
({ className, orientation = "horizontal", decorative = true, ...props }, ref) => {
|
|
822
822
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
823
823
|
SeparatorPrimitive__namespace.Root,
|
|
@@ -866,7 +866,7 @@ var spaceVariantsConfig = classVarianceAuthority.cva("flex items-start justify-s
|
|
|
866
866
|
direction: "row"
|
|
867
867
|
}
|
|
868
868
|
});
|
|
869
|
-
var Space =
|
|
869
|
+
var Space = React31__namespace.default.forwardRef(
|
|
870
870
|
({ size: size4, direction: direction2, className, children }, ref) => {
|
|
871
871
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
872
872
|
"div",
|
|
@@ -1815,21 +1815,21 @@ var messages19 = /* @__PURE__ */ new Map([
|
|
|
1815
1815
|
["es" /* ES */, esMessages],
|
|
1816
1816
|
["pt-BR" /* PT_BR */, ptBrMessages]
|
|
1817
1817
|
]);
|
|
1818
|
-
var NebulaI18nContext =
|
|
1818
|
+
var NebulaI18nContext = React31.createContext(
|
|
1819
1819
|
null
|
|
1820
1820
|
);
|
|
1821
1821
|
var NebulaI18nProvider = ({
|
|
1822
1822
|
children,
|
|
1823
1823
|
customI18nStorageKey
|
|
1824
1824
|
}) => {
|
|
1825
|
-
const storageKey =
|
|
1825
|
+
const storageKey = React31.useMemo(
|
|
1826
1826
|
() => customI18nStorageKey ?? localStorageKey,
|
|
1827
1827
|
[customI18nStorageKey]
|
|
1828
1828
|
);
|
|
1829
|
-
const [messages20, setMessages] =
|
|
1829
|
+
const [messages20, setMessages] = React31.useState(
|
|
1830
1830
|
messages19.get(getNebulaLanguage()) ?? messages19.get("en-US" /* EN_US */)
|
|
1831
1831
|
);
|
|
1832
|
-
const handleStorageChange =
|
|
1832
|
+
const handleStorageChange = React31.useCallback(
|
|
1833
1833
|
({ detail }) => {
|
|
1834
1834
|
if (detail.key === storageKey) {
|
|
1835
1835
|
setMessages(
|
|
@@ -1839,7 +1839,7 @@ var NebulaI18nProvider = ({
|
|
|
1839
1839
|
},
|
|
1840
1840
|
[storageKey]
|
|
1841
1841
|
);
|
|
1842
|
-
|
|
1842
|
+
React31.useEffect(() => {
|
|
1843
1843
|
if (typeof window === "undefined") {
|
|
1844
1844
|
return;
|
|
1845
1845
|
}
|
|
@@ -1862,7 +1862,7 @@ var NebulaI18nProvider = ({
|
|
|
1862
1862
|
);
|
|
1863
1863
|
};
|
|
1864
1864
|
}, [handleStorageChange]);
|
|
1865
|
-
|
|
1865
|
+
React31.useEffect(() => {
|
|
1866
1866
|
if (typeof window === "undefined") {
|
|
1867
1867
|
return;
|
|
1868
1868
|
}
|
|
@@ -1885,7 +1885,7 @@ var NebulaI18nProvider = ({
|
|
|
1885
1885
|
);
|
|
1886
1886
|
};
|
|
1887
1887
|
var useNebulaI18n = () => {
|
|
1888
|
-
const context =
|
|
1888
|
+
const context = React31.useContext(NebulaI18nContext);
|
|
1889
1889
|
if (!context) {
|
|
1890
1890
|
throw new Error("useNebulaI18n must be used within a NebulaI18nProvider");
|
|
1891
1891
|
}
|
|
@@ -1900,10 +1900,10 @@ var Pagination = ({
|
|
|
1900
1900
|
...props
|
|
1901
1901
|
}) => {
|
|
1902
1902
|
const { messages: messages20 } = useNebulaI18n();
|
|
1903
|
-
const totalPages =
|
|
1903
|
+
const totalPages = React31.useMemo(() => {
|
|
1904
1904
|
return Math.ceil(total / (pageSize || 1));
|
|
1905
1905
|
}, [total, pageSize]);
|
|
1906
|
-
const handleChangePage =
|
|
1906
|
+
const handleChangePage = React31.useCallback(
|
|
1907
1907
|
(page2) => {
|
|
1908
1908
|
if (page2 < 1 || page2 > totalPages) {
|
|
1909
1909
|
return;
|
|
@@ -1912,7 +1912,7 @@ var Pagination = ({
|
|
|
1912
1912
|
},
|
|
1913
1913
|
[totalPages, onChangePage]
|
|
1914
1914
|
);
|
|
1915
|
-
const normalizedPage =
|
|
1915
|
+
const normalizedPage = React31.useMemo(() => {
|
|
1916
1916
|
if (page < 1) {
|
|
1917
1917
|
return 1;
|
|
1918
1918
|
}
|
|
@@ -1923,20 +1923,20 @@ var Pagination = ({
|
|
|
1923
1923
|
}, [page, totalPages]);
|
|
1924
1924
|
const disabledPreviousPage = normalizedPage === 1 || totalPages === 0;
|
|
1925
1925
|
const disabledNextPage = normalizedPage === totalPages || totalPages === 0;
|
|
1926
|
-
const lastPageSize =
|
|
1926
|
+
const lastPageSize = React31.useMemo(() => {
|
|
1927
1927
|
if (totalPages === 0) {
|
|
1928
1928
|
return 0;
|
|
1929
1929
|
}
|
|
1930
1930
|
const lastPageStart = (totalPages - 1) * pageSize;
|
|
1931
1931
|
return total - lastPageStart;
|
|
1932
1932
|
}, [totalPages, pageSize, total]);
|
|
1933
|
-
const totalResultsLabel =
|
|
1933
|
+
const totalResultsLabel = React31.useMemo(() => {
|
|
1934
1934
|
if (page === totalPages) {
|
|
1935
1935
|
return messages20.pagination.totalResultsLabel(lastPageSize, total);
|
|
1936
1936
|
}
|
|
1937
1937
|
return messages20.pagination.totalResultsLabel(pageSize, total);
|
|
1938
1938
|
}, [messages20.pagination, pageSize, total, page, totalPages, lastPageSize]);
|
|
1939
|
-
const currentPageLabel =
|
|
1939
|
+
const currentPageLabel = React31.useMemo(
|
|
1940
1940
|
() => messages20.pagination.currentPageLabel(normalizedPage, totalPages),
|
|
1941
1941
|
[messages20.pagination, normalizedPage, totalPages]
|
|
1942
1942
|
);
|
|
@@ -1985,7 +1985,7 @@ var Pagination = ({
|
|
|
1985
1985
|
);
|
|
1986
1986
|
};
|
|
1987
1987
|
Pagination.displayName = "Pagination";
|
|
1988
|
-
var PaginationContent =
|
|
1988
|
+
var PaginationContent = React31.forwardRef(
|
|
1989
1989
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1990
1990
|
"ul",
|
|
1991
1991
|
{
|
|
@@ -1999,7 +1999,7 @@ var PaginationContent = React35.forwardRef(
|
|
|
1999
1999
|
)
|
|
2000
2000
|
);
|
|
2001
2001
|
PaginationContent.displayName = "PaginationContent";
|
|
2002
|
-
var PaginationItem =
|
|
2002
|
+
var PaginationItem = React31.forwardRef(
|
|
2003
2003
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2004
2004
|
"li",
|
|
2005
2005
|
{
|
|
@@ -2118,7 +2118,7 @@ var tagVariantsConfig = classVarianceAuthority.cva("w-2 h-2 block rounded-sm", {
|
|
|
2118
2118
|
color
|
|
2119
2119
|
}
|
|
2120
2120
|
});
|
|
2121
|
-
var Tag =
|
|
2121
|
+
var Tag = React31__namespace.forwardRef(
|
|
2122
2122
|
({ className, color: color2, children, onDelete, ...props }, ref) => {
|
|
2123
2123
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2124
2124
|
"div",
|
|
@@ -2212,7 +2212,7 @@ var createStyledSelect = (BaseSelect, displayName) => {
|
|
|
2212
2212
|
...props
|
|
2213
2213
|
}) => {
|
|
2214
2214
|
const { messages: messages20 } = useNebulaI18n();
|
|
2215
|
-
const customClassNames =
|
|
2215
|
+
const customClassNames = React31.useMemo(() => {
|
|
2216
2216
|
return {
|
|
2217
2217
|
control: (props2) => controlStyles(props2, isError),
|
|
2218
2218
|
placeholder: () => placeholderStyles,
|
|
@@ -2229,7 +2229,7 @@ var createStyledSelect = (BaseSelect, displayName) => {
|
|
|
2229
2229
|
noOptionsMessage: () => noOptionsMessageStyles
|
|
2230
2230
|
};
|
|
2231
2231
|
}, [isError]);
|
|
2232
|
-
const customComponents =
|
|
2232
|
+
const customComponents = React31.useMemo(
|
|
2233
2233
|
() => ({
|
|
2234
2234
|
DropdownIndicator,
|
|
2235
2235
|
ClearIndicator,
|
|
@@ -2273,12 +2273,12 @@ var StyledAsyncCreatable = createStyledSelect(
|
|
|
2273
2273
|
AsyncCreatable__default.default,
|
|
2274
2274
|
"AsyncCreatable"
|
|
2275
2275
|
);
|
|
2276
|
-
var InputText =
|
|
2276
|
+
var InputText = React31__namespace.forwardRef(
|
|
2277
2277
|
({ className, isError = false, onClean, disabled, suffix, ...props }, ref) => {
|
|
2278
2278
|
const icon = "icon" in props ? props.icon : null;
|
|
2279
2279
|
const iconPlacement = "iconPlacement" in props || props.type !== "password" ? props.iconPlacement || "start" : null;
|
|
2280
2280
|
const initialInputType = props.type || "text";
|
|
2281
|
-
const [type, setType] =
|
|
2281
|
+
const [type, setType] = React31__namespace.useState(initialInputType);
|
|
2282
2282
|
const iconClass = {
|
|
2283
2283
|
"text-inputText-icon-danger": isError,
|
|
2284
2284
|
"text-inputText-icon-default focus:text-inputText-icon-focus": !isError && !props.value,
|
|
@@ -2386,7 +2386,7 @@ var Dialog = DialogPrimitive__namespace.Root;
|
|
|
2386
2386
|
var DialogTrigger = DialogPrimitive__namespace.Trigger;
|
|
2387
2387
|
var DialogPortal = DialogPrimitive__namespace.Portal;
|
|
2388
2388
|
var DialogClose = DialogPrimitive__namespace.Close;
|
|
2389
|
-
var DialogOverlay =
|
|
2389
|
+
var DialogOverlay = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2390
2390
|
DialogPrimitive__namespace.Overlay,
|
|
2391
2391
|
{
|
|
2392
2392
|
ref,
|
|
@@ -2405,9 +2405,9 @@ var DialogOverlay = React35__namespace.forwardRef(({ className, ...props }, ref)
|
|
|
2405
2405
|
}
|
|
2406
2406
|
));
|
|
2407
2407
|
DialogOverlay.displayName = DialogPrimitive__namespace.Overlay.displayName;
|
|
2408
|
-
var DialogContent =
|
|
2408
|
+
var DialogContent = React31__namespace.forwardRef(
|
|
2409
2409
|
({ className, children, portal = false, showClose = true, ...props }, ref) => {
|
|
2410
|
-
const Comp = portal ? DialogPortal :
|
|
2410
|
+
const Comp = portal ? DialogPortal : React31__namespace.Fragment;
|
|
2411
2411
|
return /* @__PURE__ */ jsxRuntime.jsxs(Comp, { children: [
|
|
2412
2412
|
/* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, {}),
|
|
2413
2413
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -2486,7 +2486,7 @@ var DialogFooter = ({
|
|
|
2486
2486
|
...props
|
|
2487
2487
|
}) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex gap-2", className), ...props });
|
|
2488
2488
|
DialogFooter.displayName = "DialogFooter";
|
|
2489
|
-
var DialogTitle =
|
|
2489
|
+
var DialogTitle = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2490
2490
|
DialogPrimitive__namespace.Title,
|
|
2491
2491
|
{
|
|
2492
2492
|
ref,
|
|
@@ -2498,7 +2498,7 @@ var DialogTitle = React35__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
2498
2498
|
}
|
|
2499
2499
|
));
|
|
2500
2500
|
DialogTitle.displayName = DialogPrimitive__namespace.Title.displayName;
|
|
2501
|
-
var DialogDescription =
|
|
2501
|
+
var DialogDescription = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2502
2502
|
DialogPrimitive__namespace.Description,
|
|
2503
2503
|
{
|
|
2504
2504
|
ref,
|
|
@@ -2510,7 +2510,7 @@ DialogDescription.displayName = DialogPrimitive__namespace.Description.displayNa
|
|
|
2510
2510
|
var AlertDialog = AlertDialogPrimitive__namespace.Root;
|
|
2511
2511
|
var AlertDialogTrigger = AlertDialogPrimitive__namespace.Trigger;
|
|
2512
2512
|
var AlertDialogPortal = AlertDialogPrimitive__namespace.Portal;
|
|
2513
|
-
var AlertDialogOverlay =
|
|
2513
|
+
var AlertDialogOverlay = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2514
2514
|
AlertDialogPrimitive__namespace.Overlay,
|
|
2515
2515
|
{
|
|
2516
2516
|
className: cn(
|
|
@@ -2522,8 +2522,8 @@ var AlertDialogOverlay = React35__namespace.forwardRef(({ className, ...props },
|
|
|
2522
2522
|
}
|
|
2523
2523
|
));
|
|
2524
2524
|
AlertDialogOverlay.displayName = AlertDialogPrimitive__namespace.Overlay.displayName;
|
|
2525
|
-
var AlertDialogContent =
|
|
2526
|
-
const Comp = portal ? AlertDialogPortal :
|
|
2525
|
+
var AlertDialogContent = React31__namespace.forwardRef(({ className, portal = false, ...props }, ref) => {
|
|
2526
|
+
const Comp = portal ? AlertDialogPortal : React31__namespace.Fragment;
|
|
2527
2527
|
return /* @__PURE__ */ jsxRuntime.jsxs(Comp, { children: [
|
|
2528
2528
|
/* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
|
|
2529
2529
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2559,7 +2559,7 @@ var AlertDialogFooter = ({
|
|
|
2559
2559
|
...props
|
|
2560
2560
|
}) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex gap-2", className), ...props });
|
|
2561
2561
|
AlertDialogFooter.displayName = "AlertDialogFooter";
|
|
2562
|
-
var AlertDialogTitle =
|
|
2562
|
+
var AlertDialogTitle = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2563
2563
|
AlertDialogPrimitive__namespace.Title,
|
|
2564
2564
|
{
|
|
2565
2565
|
ref,
|
|
@@ -2571,7 +2571,7 @@ var AlertDialogTitle = React35__namespace.forwardRef(({ className, ...props }, r
|
|
|
2571
2571
|
}
|
|
2572
2572
|
));
|
|
2573
2573
|
AlertDialogTitle.displayName = AlertDialogPrimitive__namespace.Title.displayName;
|
|
2574
|
-
var AlertDialogDescription =
|
|
2574
|
+
var AlertDialogDescription = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2575
2575
|
AlertDialogPrimitive__namespace.Description,
|
|
2576
2576
|
{
|
|
2577
2577
|
ref,
|
|
@@ -2580,7 +2580,7 @@ var AlertDialogDescription = React35__namespace.forwardRef(({ className, ...prop
|
|
|
2580
2580
|
}
|
|
2581
2581
|
));
|
|
2582
2582
|
AlertDialogDescription.displayName = AlertDialogPrimitive__namespace.Description.displayName;
|
|
2583
|
-
var AlertDialogAction =
|
|
2583
|
+
var AlertDialogAction = React31__namespace.forwardRef(({ children, className, variant: variant3, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2584
2584
|
AlertDialogPrimitive__namespace.Action,
|
|
2585
2585
|
{
|
|
2586
2586
|
ref,
|
|
@@ -2590,7 +2590,7 @@ var AlertDialogAction = React35__namespace.forwardRef(({ children, className, va
|
|
|
2590
2590
|
}
|
|
2591
2591
|
));
|
|
2592
2592
|
AlertDialogAction.displayName = AlertDialogPrimitive__namespace.Action.displayName;
|
|
2593
|
-
var AlertDialogCancel =
|
|
2593
|
+
var AlertDialogCancel = React31__namespace.forwardRef(({ children, className, variant: variant3 = "secondary", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2594
2594
|
AlertDialogPrimitive__namespace.Cancel,
|
|
2595
2595
|
{
|
|
2596
2596
|
ref,
|
|
@@ -2600,7 +2600,7 @@ var AlertDialogCancel = React35__namespace.forwardRef(({ children, className, va
|
|
|
2600
2600
|
}
|
|
2601
2601
|
));
|
|
2602
2602
|
AlertDialogCancel.displayName = AlertDialogPrimitive__namespace.Cancel.displayName;
|
|
2603
|
-
var Checkbox =
|
|
2603
|
+
var Checkbox = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nebula-ds relative", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nebula-ds relative", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2604
2604
|
CheckboxPrimitive__namespace.Root,
|
|
2605
2605
|
{
|
|
2606
2606
|
ref,
|
|
@@ -2655,7 +2655,7 @@ var Drawer = DialogPrimitive__namespace.Root;
|
|
|
2655
2655
|
var DrawerTrigger = DialogPrimitive__namespace.Trigger;
|
|
2656
2656
|
var DrawerClose = DialogPrimitive__namespace.Close;
|
|
2657
2657
|
var DrawerPortal = DialogPrimitive__namespace.Portal;
|
|
2658
|
-
var DrawerOverlay =
|
|
2658
|
+
var DrawerOverlay = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2659
2659
|
DialogPrimitive__namespace.Overlay,
|
|
2660
2660
|
{
|
|
2661
2661
|
className: cn(
|
|
@@ -2680,8 +2680,8 @@ var DrawerVariants = classVarianceAuthority.cva("fixed flex flex-col z-50 shadow
|
|
|
2680
2680
|
side: "right"
|
|
2681
2681
|
}
|
|
2682
2682
|
});
|
|
2683
|
-
var DrawerContent =
|
|
2684
|
-
const Comp = portal ? DrawerPortal :
|
|
2683
|
+
var DrawerContent = React31__namespace.forwardRef(({ side = "right", className, portal = false, children, ...props }, ref) => {
|
|
2684
|
+
const Comp = portal ? DrawerPortal : React31__namespace.Fragment;
|
|
2685
2685
|
return /* @__PURE__ */ jsxRuntime.jsxs(Comp, { children: [
|
|
2686
2686
|
/* @__PURE__ */ jsxRuntime.jsx(DrawerOverlay, {}),
|
|
2687
2687
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2747,7 +2747,7 @@ var DrawerFooter = ({
|
|
|
2747
2747
|
}
|
|
2748
2748
|
);
|
|
2749
2749
|
DrawerFooter.displayName = "DrawerFooter";
|
|
2750
|
-
var DrawerTitle =
|
|
2750
|
+
var DrawerTitle = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2751
2751
|
DialogPrimitive__namespace.Title,
|
|
2752
2752
|
{
|
|
2753
2753
|
ref,
|
|
@@ -2759,7 +2759,7 @@ var DrawerTitle = React35__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
2759
2759
|
}
|
|
2760
2760
|
));
|
|
2761
2761
|
DrawerTitle.displayName = DialogPrimitive__namespace.Title.displayName;
|
|
2762
|
-
var DrawerDescription =
|
|
2762
|
+
var DrawerDescription = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2763
2763
|
DialogPrimitive__namespace.Description,
|
|
2764
2764
|
{
|
|
2765
2765
|
ref,
|
|
@@ -2768,9 +2768,9 @@ var DrawerDescription = React35__namespace.forwardRef(({ className, ...props },
|
|
|
2768
2768
|
}
|
|
2769
2769
|
));
|
|
2770
2770
|
DrawerDescription.displayName = DialogPrimitive__namespace.Description.displayName;
|
|
2771
|
-
var Breadcrumb =
|
|
2771
|
+
var Breadcrumb = React31__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("nav", { ref, "aria-label": "breadcrumb", ...props }));
|
|
2772
2772
|
Breadcrumb.displayName = "Breadcrumb";
|
|
2773
|
-
var BreadcrumbList =
|
|
2773
|
+
var BreadcrumbList = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2774
2774
|
"ol",
|
|
2775
2775
|
{
|
|
2776
2776
|
ref,
|
|
@@ -2782,7 +2782,7 @@ var BreadcrumbList = React35__namespace.forwardRef(({ className, ...props }, ref
|
|
|
2782
2782
|
}
|
|
2783
2783
|
));
|
|
2784
2784
|
BreadcrumbList.displayName = "BreadcrumbList";
|
|
2785
|
-
var BreadcrumbItem =
|
|
2785
|
+
var BreadcrumbItem = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2786
2786
|
"li",
|
|
2787
2787
|
{
|
|
2788
2788
|
ref,
|
|
@@ -2794,7 +2794,7 @@ var BreadcrumbItem = React35__namespace.forwardRef(({ className, ...props }, ref
|
|
|
2794
2794
|
}
|
|
2795
2795
|
));
|
|
2796
2796
|
BreadcrumbItem.displayName = "BreadcrumbItem";
|
|
2797
|
-
var BreadcrumbLink =
|
|
2797
|
+
var BreadcrumbLink = React31__namespace.forwardRef(({ asChild, className, ...props }, ref) => {
|
|
2798
2798
|
const Comp = asChild ? reactSlot.Slot : "a";
|
|
2799
2799
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2800
2800
|
Comp,
|
|
@@ -2809,7 +2809,7 @@ var BreadcrumbLink = React35__namespace.forwardRef(({ asChild, className, ...pro
|
|
|
2809
2809
|
);
|
|
2810
2810
|
});
|
|
2811
2811
|
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
2812
|
-
var BreadcrumbPage =
|
|
2812
|
+
var BreadcrumbPage = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2813
2813
|
"span",
|
|
2814
2814
|
{
|
|
2815
2815
|
ref,
|
|
@@ -2856,7 +2856,7 @@ var BreadcrumbEllipsis = ({
|
|
|
2856
2856
|
}
|
|
2857
2857
|
);
|
|
2858
2858
|
BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
|
|
2859
|
-
var Switch =
|
|
2859
|
+
var Switch = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2860
2860
|
SwitchPrimitives__namespace.Root,
|
|
2861
2861
|
{
|
|
2862
2862
|
className: cn(
|
|
@@ -2915,7 +2915,7 @@ var Switch = React35__namespace.forwardRef(({ className, ...props }, ref) => /*
|
|
|
2915
2915
|
}
|
|
2916
2916
|
));
|
|
2917
2917
|
Switch.displayName = SwitchPrimitives__namespace.Root.displayName;
|
|
2918
|
-
var Tooltip =
|
|
2918
|
+
var Tooltip = React31__namespace.forwardRef(
|
|
2919
2919
|
({
|
|
2920
2920
|
children,
|
|
2921
2921
|
content: content2,
|
|
@@ -2926,7 +2926,7 @@ var Tooltip = React35__namespace.forwardRef(
|
|
|
2926
2926
|
className,
|
|
2927
2927
|
...props
|
|
2928
2928
|
}, ref) => {
|
|
2929
|
-
const Comp = portal ? TooltipPrimitive__namespace.Portal :
|
|
2929
|
+
const Comp = portal ? TooltipPrimitive__namespace.Portal : React31__namespace.Fragment;
|
|
2930
2930
|
return /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Provider, { children: /* @__PURE__ */ jsxRuntime.jsxs(TooltipPrimitive__namespace.Root, { children: [
|
|
2931
2931
|
/* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Trigger, { type: "button", children }),
|
|
2932
2932
|
/* @__PURE__ */ jsxRuntime.jsx(Comp, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -3073,11 +3073,11 @@ AccordionContent.displayName = "AccordionContent";
|
|
|
3073
3073
|
AccordionTrigger.displayName = "AccordionTrigger";
|
|
3074
3074
|
AccordionTitle.displayName = "AccordionTitle";
|
|
3075
3075
|
AccordionDescription.displayName = "AccordionDescription";
|
|
3076
|
-
var TabsContext =
|
|
3077
|
-
var Tabs =
|
|
3076
|
+
var TabsContext = React31__namespace.createContext({});
|
|
3077
|
+
var Tabs = React31__namespace.forwardRef(({ isFitted, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TabsContext.Provider, { value: { isFitted }, children: /* @__PURE__ */ jsxRuntime.jsx(TabsPrimitive__namespace.Root, { ref, ...props, children }) }));
|
|
3078
3078
|
Tabs.displayName = TabsPrimitive__namespace.Root.displayName;
|
|
3079
|
-
var TabsList =
|
|
3080
|
-
const { isFitted } =
|
|
3079
|
+
var TabsList = React31__namespace.forwardRef(({ className, ...props }, ref) => {
|
|
3080
|
+
const { isFitted } = React31__namespace.useContext(TabsContext);
|
|
3081
3081
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3082
3082
|
TabsPrimitive__namespace.List,
|
|
3083
3083
|
{
|
|
@@ -3098,8 +3098,8 @@ var TabsList = React35__namespace.forwardRef(({ className, ...props }, ref) => {
|
|
|
3098
3098
|
);
|
|
3099
3099
|
});
|
|
3100
3100
|
TabsList.displayName = TabsPrimitive__namespace.List.displayName;
|
|
3101
|
-
var TabsTrigger =
|
|
3102
|
-
const { isFitted } =
|
|
3101
|
+
var TabsTrigger = React31__namespace.forwardRef(({ className, ...props }, ref) => {
|
|
3102
|
+
const { isFitted } = React31__namespace.useContext(TabsContext);
|
|
3103
3103
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3104
3104
|
TabsPrimitive__namespace.Trigger,
|
|
3105
3105
|
{
|
|
@@ -3138,7 +3138,7 @@ var TabsTrigger = React35__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
3138
3138
|
);
|
|
3139
3139
|
});
|
|
3140
3140
|
TabsTrigger.displayName = TabsPrimitive__namespace.Trigger.displayName;
|
|
3141
|
-
var TabsContent =
|
|
3141
|
+
var TabsContent = React31__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3142
3142
|
TabsPrimitive__namespace.Content,
|
|
3143
3143
|
{
|
|
3144
3144
|
ref,
|
|
@@ -3202,7 +3202,7 @@ function ToastComponent({
|
|
|
3202
3202
|
options,
|
|
3203
3203
|
t
|
|
3204
3204
|
}) {
|
|
3205
|
-
const CustomIcon =
|
|
3205
|
+
const CustomIcon = React31__namespace.default.isValidElement(options?.icon) ? React31__namespace.default.cloneElement(options.icon, {
|
|
3206
3206
|
className: cn("text-toast-icon-default", options.icon.props.className),
|
|
3207
3207
|
size: 20
|
|
3208
3208
|
}) : null;
|
|
@@ -3328,15 +3328,15 @@ var toast = {
|
|
|
3328
3328
|
custom,
|
|
3329
3329
|
promise
|
|
3330
3330
|
};
|
|
3331
|
-
var ActionBar =
|
|
3331
|
+
var ActionBar = React31__namespace.forwardRef(({ ...props }) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Root, { modal: false, ...props }));
|
|
3332
3332
|
ActionBar.displayName = "ActionBar";
|
|
3333
|
-
var ActionBarTrigger =
|
|
3333
|
+
var ActionBarTrigger = React31__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Trigger, { ref, ...props }));
|
|
3334
3334
|
ActionBarTrigger.displayName = "ActionBarTrigger";
|
|
3335
3335
|
var ActionBarPortal = (props) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Portal, { ...props });
|
|
3336
3336
|
ActionBarPortal.displayName = "ActionBarPortal";
|
|
3337
|
-
var ActionBarClose =
|
|
3337
|
+
var ActionBarClose = React31__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Close, { ref, ...props }));
|
|
3338
3338
|
ActionBarClose.displayName = "ActionBarClose";
|
|
3339
|
-
var ActionBarButton =
|
|
3339
|
+
var ActionBarButton = React31__namespace.forwardRef(
|
|
3340
3340
|
({ className, ...props }, ref) => {
|
|
3341
3341
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3342
3342
|
Button,
|
|
@@ -3351,7 +3351,7 @@ var ActionBarButton = React35__namespace.forwardRef(
|
|
|
3351
3351
|
}
|
|
3352
3352
|
);
|
|
3353
3353
|
ActionBarButton.displayName = "ActionBarButton";
|
|
3354
|
-
var ActionBarDivider =
|
|
3354
|
+
var ActionBarDivider = React31__namespace.forwardRef(({ className, ...props }, ref) => {
|
|
3355
3355
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3356
3356
|
Separator2,
|
|
3357
3357
|
{
|
|
@@ -3363,8 +3363,8 @@ var ActionBarDivider = React35__namespace.forwardRef(({ className, ...props }, r
|
|
|
3363
3363
|
);
|
|
3364
3364
|
});
|
|
3365
3365
|
ActionBarDivider.displayName = "ActionBarDivider";
|
|
3366
|
-
var ActionBarContent =
|
|
3367
|
-
const Comp = portal ? ActionBarPortal :
|
|
3366
|
+
var ActionBarContent = React31__namespace.forwardRef(({ className, children, portal = false, ...props }, ref) => {
|
|
3367
|
+
const Comp = portal ? ActionBarPortal : React31__namespace.Fragment;
|
|
3368
3368
|
return /* @__PURE__ */ jsxRuntime.jsx(Comp, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3369
3369
|
DialogPrimitive__namespace.Content,
|
|
3370
3370
|
{
|
|
@@ -3387,9 +3387,9 @@ var ActionBarContent = React35__namespace.forwardRef(({ className, children, por
|
|
|
3387
3387
|
) });
|
|
3388
3388
|
});
|
|
3389
3389
|
ActionBarContent.displayName = "ActionBarContent";
|
|
3390
|
-
var Heading =
|
|
3390
|
+
var Heading = React31.forwardRef(
|
|
3391
3391
|
({ level, className, ...rest }, ref) => {
|
|
3392
|
-
const element =
|
|
3392
|
+
const element = React31.useMemo(
|
|
3393
3393
|
() => ({
|
|
3394
3394
|
1: "h1",
|
|
3395
3395
|
2: "h2",
|
|
@@ -3400,7 +3400,7 @@ var Heading = React35.forwardRef(
|
|
|
3400
3400
|
})[level],
|
|
3401
3401
|
[level]
|
|
3402
3402
|
);
|
|
3403
|
-
const headingStyles =
|
|
3403
|
+
const headingStyles = React31.useMemo(
|
|
3404
3404
|
() => ({
|
|
3405
3405
|
1: "text-typography-heading-1 text-heading-1 tracking-heading-1 font-heading-1 leading-heading-1",
|
|
3406
3406
|
2: "text-typography-heading-2 text-heading-2 tracking-heading-2 font-heading-2 leading-heading-2",
|
|
@@ -3412,7 +3412,7 @@ var Heading = React35.forwardRef(
|
|
|
3412
3412
|
[level]
|
|
3413
3413
|
);
|
|
3414
3414
|
if (!element) return null;
|
|
3415
|
-
return
|
|
3415
|
+
return React31__namespace.default.createElement(element, {
|
|
3416
3416
|
...rest,
|
|
3417
3417
|
ref,
|
|
3418
3418
|
className: cn(headingStyles, className)
|
|
@@ -3420,7 +3420,7 @@ var Heading = React35.forwardRef(
|
|
|
3420
3420
|
}
|
|
3421
3421
|
);
|
|
3422
3422
|
Heading.displayName = "Heading";
|
|
3423
|
-
var Paragraph =
|
|
3423
|
+
var Paragraph = React31.forwardRef(
|
|
3424
3424
|
({ size: size4 = "md", className, ...rest }, ref) => {
|
|
3425
3425
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3426
3426
|
"p",
|
|
@@ -3440,7 +3440,7 @@ var Paragraph = React35.forwardRef(
|
|
|
3440
3440
|
}
|
|
3441
3441
|
);
|
|
3442
3442
|
Paragraph.displayName = "Paragraph";
|
|
3443
|
-
var Caption =
|
|
3443
|
+
var Caption = React31.forwardRef(
|
|
3444
3444
|
({ className, ...rest }, ref) => {
|
|
3445
3445
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3446
3446
|
"caption",
|
|
@@ -3456,7 +3456,7 @@ var Caption = React35.forwardRef(
|
|
|
3456
3456
|
}
|
|
3457
3457
|
);
|
|
3458
3458
|
Caption.displayName = "Caption";
|
|
3459
|
-
var Link =
|
|
3459
|
+
var Link = React31.forwardRef(
|
|
3460
3460
|
({ className, size: size4 = "md", asChild = false, ...rest }, ref) => {
|
|
3461
3461
|
const classNames = cn(
|
|
3462
3462
|
"cursor-pointer",
|
|
@@ -3512,7 +3512,7 @@ var FlagComponent = ({ country, countryName }) => {
|
|
|
3512
3512
|
const Flag = flags__default.default[country];
|
|
3513
3513
|
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "nebula-ds w-5 overflow-hidden rounded-sm", children: Flag ? /* @__PURE__ */ jsxRuntime.jsx(Flag, { title: countryName }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PhoneIcon, { size: 16, "aria-hidden": "true" }) });
|
|
3514
3514
|
};
|
|
3515
|
-
var PhoneInput =
|
|
3515
|
+
var PhoneInput = React31__namespace.default.forwardRef(({ className, ...props }, ref) => {
|
|
3516
3516
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nebula-ds flex items-center justify-center rounded-e-[20px] w-full", children: [
|
|
3517
3517
|
/* @__PURE__ */ jsxRuntime.jsx(Separator2, { orientation: "vertical", className: "nebula-ds w-[1px] h-5 z-10" }),
|
|
3518
3518
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3540,10 +3540,10 @@ function InputPhone({
|
|
|
3540
3540
|
onChange,
|
|
3541
3541
|
...props
|
|
3542
3542
|
}) {
|
|
3543
|
-
const [valueState, setValueState] =
|
|
3544
|
-
const [isFirstRender, setIsFirstRender] =
|
|
3543
|
+
const [valueState, setValueState] = React31.useState("");
|
|
3544
|
+
const [isFirstRender, setIsFirstRender] = React31.useState(true);
|
|
3545
3545
|
const countryCode = defaultCountry ? RPNInput__namespace.getCountryCallingCode(defaultCountry) : null;
|
|
3546
|
-
const normalizePhoneNumber =
|
|
3546
|
+
const normalizePhoneNumber = React31.useCallback(
|
|
3547
3547
|
(inputValue) => {
|
|
3548
3548
|
if (!inputValue) return "";
|
|
3549
3549
|
const cleanValue = inputValue.toString().replace(/[^\d+]/g, "");
|
|
@@ -3561,7 +3561,7 @@ function InputPhone({
|
|
|
3561
3561
|
},
|
|
3562
3562
|
[countryCode]
|
|
3563
3563
|
);
|
|
3564
|
-
|
|
3564
|
+
React31.useEffect(() => {
|
|
3565
3565
|
if (value !== void 0 && value !== null) {
|
|
3566
3566
|
const normalizedValue = normalizePhoneNumber(value);
|
|
3567
3567
|
setValueState(normalizedValue);
|
|
@@ -3569,7 +3569,7 @@ function InputPhone({
|
|
|
3569
3569
|
setValueState("");
|
|
3570
3570
|
}
|
|
3571
3571
|
}, [value, normalizePhoneNumber]);
|
|
3572
|
-
const handleChange =
|
|
3572
|
+
const handleChange = React31.useCallback(
|
|
3573
3573
|
(newValue) => {
|
|
3574
3574
|
setIsFirstRender(false);
|
|
3575
3575
|
setValueState(newValue);
|
|
@@ -3603,7 +3603,7 @@ function InputPhone({
|
|
|
3603
3603
|
}
|
|
3604
3604
|
);
|
|
3605
3605
|
}
|
|
3606
|
-
var Skeleton =
|
|
3606
|
+
var Skeleton = React31__namespace.default.forwardRef(
|
|
3607
3607
|
({ className, ...rest }, ref) => {
|
|
3608
3608
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3609
3609
|
"div",
|
|
@@ -3648,14 +3648,14 @@ var Calendar = ({
|
|
|
3648
3648
|
...props
|
|
3649
3649
|
}) => {
|
|
3650
3650
|
const { locale } = useNebulaI18n();
|
|
3651
|
-
const [selectedMonth, setSelectedMonth] =
|
|
3652
|
-
const [showMonthGridSelection, setShowMonthGridSelection] =
|
|
3651
|
+
const [selectedMonth, setSelectedMonth] = React31.useState(/* @__PURE__ */ new Date());
|
|
3652
|
+
const [showMonthGridSelection, setShowMonthGridSelection] = React31.useState(false);
|
|
3653
3653
|
const isRange = props.mode === "range";
|
|
3654
|
-
const currentMonth =
|
|
3654
|
+
const currentMonth = React31.useMemo(
|
|
3655
3655
|
() => month ?? selectedMonth,
|
|
3656
3656
|
[month, selectedMonth]
|
|
3657
3657
|
);
|
|
3658
|
-
const handleSelectMonthByOption =
|
|
3658
|
+
const handleSelectMonthByOption = React31.useCallback(
|
|
3659
3659
|
(monthOption) => {
|
|
3660
3660
|
setShowMonthGridSelection(false);
|
|
3661
3661
|
const calendarDate = currentMonth;
|
|
@@ -3668,7 +3668,7 @@ var Calendar = ({
|
|
|
3668
3668
|
},
|
|
3669
3669
|
[currentMonth, month, onNextClick]
|
|
3670
3670
|
);
|
|
3671
|
-
const components2 =
|
|
3671
|
+
const components2 = React31.useMemo(() => {
|
|
3672
3672
|
return {
|
|
3673
3673
|
Day(props2) {
|
|
3674
3674
|
const {
|
|
@@ -3955,7 +3955,7 @@ var Calendar = ({
|
|
|
3955
3955
|
);
|
|
3956
3956
|
};
|
|
3957
3957
|
function useClickOutside(refs, onClickOutside) {
|
|
3958
|
-
|
|
3958
|
+
React31.useEffect(() => {
|
|
3959
3959
|
const refArray = Array.isArray(refs) ? refs : [refs];
|
|
3960
3960
|
function handleClick(event) {
|
|
3961
3961
|
const isInside = refArray.some(
|
|
@@ -3981,7 +3981,7 @@ function useClickOutside(refs, onClickOutside) {
|
|
|
3981
3981
|
}, [refs, onClickOutside]);
|
|
3982
3982
|
}
|
|
3983
3983
|
function useKeyPress(key, callback) {
|
|
3984
|
-
|
|
3984
|
+
React31.useEffect(() => {
|
|
3985
3985
|
function handleKeyDown(event) {
|
|
3986
3986
|
if (event.key === key) {
|
|
3987
3987
|
callback();
|
|
@@ -4095,12 +4095,12 @@ var InputDatePickerSingle = ({
|
|
|
4095
4095
|
...rest
|
|
4096
4096
|
}) => {
|
|
4097
4097
|
const formattedDateByLanguage = formatDateToSubmit(value ?? "");
|
|
4098
|
-
const [innerDate, setInnerDate] =
|
|
4098
|
+
const [innerDate, setInnerDate] = React31.useState(
|
|
4099
4099
|
formattedDateByLanguage ? new Date(formattedDateByLanguage) : void 0
|
|
4100
4100
|
);
|
|
4101
|
-
const [popoverIsOpen, setPopoverIsOpen] =
|
|
4101
|
+
const [popoverIsOpen, setPopoverIsOpen] = React31.useState(false);
|
|
4102
4102
|
const { locale } = useNebulaI18n();
|
|
4103
|
-
const [month, setMonth] =
|
|
4103
|
+
const [month, setMonth] = React31.useState(/* @__PURE__ */ new Date());
|
|
4104
4104
|
const handleClearValue = () => {
|
|
4105
4105
|
setInnerDate(void 0);
|
|
4106
4106
|
setMonth(/* @__PURE__ */ new Date());
|
|
@@ -4146,10 +4146,10 @@ var InputDatePickerSingle = ({
|
|
|
4146
4146
|
setInnerDate(date);
|
|
4147
4147
|
onChange?.(dateToStr, date);
|
|
4148
4148
|
};
|
|
4149
|
-
const normalizedCalendarDate =
|
|
4149
|
+
const normalizedCalendarDate = React31.useMemo(() => {
|
|
4150
4150
|
return dateFns.isValid(innerDate) ? innerDate : void 0;
|
|
4151
4151
|
}, [innerDate]);
|
|
4152
|
-
|
|
4152
|
+
React31.useEffect(() => {
|
|
4153
4153
|
if (innerDate) setMonth(innerDate);
|
|
4154
4154
|
}, [innerDate]);
|
|
4155
4155
|
const maskOptions = {
|
|
@@ -4157,8 +4157,8 @@ var InputDatePickerSingle = ({
|
|
|
4157
4157
|
replacement: { _: /\d/ }
|
|
4158
4158
|
};
|
|
4159
4159
|
const inputRef = mask.useMask(maskOptions);
|
|
4160
|
-
const conteinerRef =
|
|
4161
|
-
const calendarRef =
|
|
4160
|
+
const conteinerRef = React31.useRef(null);
|
|
4161
|
+
const calendarRef = React31.useRef(null);
|
|
4162
4162
|
useClickOutside([conteinerRef, calendarRef], () => {
|
|
4163
4163
|
setPopoverIsOpen(false);
|
|
4164
4164
|
});
|
|
@@ -4226,9 +4226,9 @@ var InputDatePickerSingle = ({
|
|
|
4226
4226
|
) })
|
|
4227
4227
|
] });
|
|
4228
4228
|
};
|
|
4229
|
-
var InputTime =
|
|
4229
|
+
var InputTime = React31.forwardRef(
|
|
4230
4230
|
({ value = "", onChange, placeholder = "--:--", ...rest }, ref) => {
|
|
4231
|
-
const [displayValue, setDisplayValue] =
|
|
4231
|
+
const [displayValue, setDisplayValue] = React31.useState(value);
|
|
4232
4232
|
const handleKeyDown = (e) => {
|
|
4233
4233
|
const currentValue = e.currentTarget.value;
|
|
4234
4234
|
if ((e.altKey || e.ctrlKey || e.metaKey) && e.key !== "z") return;
|
|
@@ -4270,7 +4270,7 @@ var InputTime = React35.forwardRef(
|
|
|
4270
4270
|
onChange?.(value2);
|
|
4271
4271
|
}
|
|
4272
4272
|
};
|
|
4273
|
-
|
|
4273
|
+
React31.useEffect(() => {
|
|
4274
4274
|
if (!value) {
|
|
4275
4275
|
setDisplayValue("");
|
|
4276
4276
|
}
|
|
@@ -4303,7 +4303,7 @@ var InputDateTimePickerSingle = ({
|
|
|
4303
4303
|
disabledDates,
|
|
4304
4304
|
...rest
|
|
4305
4305
|
}) => {
|
|
4306
|
-
const [innerTimeValue, setInnerTimeValue] =
|
|
4306
|
+
const [innerTimeValue, setInnerTimeValue] = React31.useState(
|
|
4307
4307
|
() => {
|
|
4308
4308
|
const [, time] = (value || "")?.split?.(DATA_TIME_SEPARATOR);
|
|
4309
4309
|
return time ?? "";
|
|
@@ -4312,13 +4312,13 @@ var InputDateTimePickerSingle = ({
|
|
|
4312
4312
|
const formattedDateByLanguage = formatDateToSubmit(
|
|
4313
4313
|
value?.split(DATA_TIME_SEPARATOR)?.at(0) ?? ""
|
|
4314
4314
|
);
|
|
4315
|
-
const [innerDate, setInnerDate] =
|
|
4315
|
+
const [innerDate, setInnerDate] = React31.useState(
|
|
4316
4316
|
formattedDateByLanguage ? new Date(formattedDateByLanguage) : void 0
|
|
4317
4317
|
);
|
|
4318
|
-
const [popoverIsOpen, setPopoverIsOpen] =
|
|
4318
|
+
const [popoverIsOpen, setPopoverIsOpen] = React31.useState(false);
|
|
4319
4319
|
const { locale, messages: messages20 } = useNebulaI18n();
|
|
4320
|
-
const [month, setMonth] =
|
|
4321
|
-
const inputTimeRef =
|
|
4320
|
+
const [month, setMonth] = React31.useState(/* @__PURE__ */ new Date());
|
|
4321
|
+
const inputTimeRef = React31.useRef(null);
|
|
4322
4322
|
const handleClearValue = () => {
|
|
4323
4323
|
setInnerTimeValue("");
|
|
4324
4324
|
setInnerDate(void 0);
|
|
@@ -4408,10 +4408,10 @@ var InputDateTimePickerSingle = ({
|
|
|
4408
4408
|
);
|
|
4409
4409
|
setTimeout(() => inputTimeRef.current?.focus(), 100);
|
|
4410
4410
|
};
|
|
4411
|
-
const normalizedCalendarDate =
|
|
4411
|
+
const normalizedCalendarDate = React31.useMemo(() => {
|
|
4412
4412
|
return dateFns.isValid(innerDate) ? innerDate : void 0;
|
|
4413
4413
|
}, [innerDate]);
|
|
4414
|
-
|
|
4414
|
+
React31.useEffect(() => {
|
|
4415
4415
|
if (innerDate) setMonth(innerDate);
|
|
4416
4416
|
}, [innerDate]);
|
|
4417
4417
|
const maskOptions = {
|
|
@@ -4419,8 +4419,8 @@ var InputDateTimePickerSingle = ({
|
|
|
4419
4419
|
replacement: { _: /\d/ }
|
|
4420
4420
|
};
|
|
4421
4421
|
const inputRef = mask.useMask(maskOptions);
|
|
4422
|
-
const conteinerRef =
|
|
4423
|
-
const calendarRef =
|
|
4422
|
+
const conteinerRef = React31.useRef(null);
|
|
4423
|
+
const calendarRef = React31.useRef(null);
|
|
4424
4424
|
useClickOutside([conteinerRef, calendarRef], () => {
|
|
4425
4425
|
setPopoverIsOpen(false);
|
|
4426
4426
|
});
|
|
@@ -4513,17 +4513,17 @@ var InputDateRangePicker = ({
|
|
|
4513
4513
|
disabledDates,
|
|
4514
4514
|
...rest
|
|
4515
4515
|
}) => {
|
|
4516
|
-
const [month, setMonth] =
|
|
4517
|
-
const [innerValue, setInnerValue] =
|
|
4518
|
-
const [popoverIsOpen, setPopoverIsOpen] =
|
|
4516
|
+
const [month, setMonth] = React31.useState(/* @__PURE__ */ new Date());
|
|
4517
|
+
const [innerValue, setInnerValue] = React31.useState();
|
|
4518
|
+
const [popoverIsOpen, setPopoverIsOpen] = React31.useState(false);
|
|
4519
4519
|
const maskOptions = {
|
|
4520
4520
|
mask: "__/__/____ - __/__/____",
|
|
4521
4521
|
replacement: { _: /\d/ }
|
|
4522
4522
|
};
|
|
4523
4523
|
const inputRef = mask.useMask(maskOptions);
|
|
4524
4524
|
const { locale } = useNebulaI18n();
|
|
4525
|
-
const conteinerRef =
|
|
4526
|
-
const calendarRef =
|
|
4525
|
+
const conteinerRef = React31.useRef(null);
|
|
4526
|
+
const calendarRef = React31.useRef(null);
|
|
4527
4527
|
useClickOutside([conteinerRef, calendarRef], () => {
|
|
4528
4528
|
setPopoverIsOpen(false);
|
|
4529
4529
|
});
|
|
@@ -4536,7 +4536,7 @@ var InputDateRangePicker = ({
|
|
|
4536
4536
|
const dateEnd = endDate && dateFormatIsValid(endDate, locale) ? dateParts(endDate, locale).date : void 0;
|
|
4537
4537
|
onChange?.(value2, [dateStart, dateEnd]);
|
|
4538
4538
|
};
|
|
4539
|
-
const handleChangeCalendarDate =
|
|
4539
|
+
const handleChangeCalendarDate = React31.useCallback(
|
|
4540
4540
|
(date) => {
|
|
4541
4541
|
setInnerValue(date);
|
|
4542
4542
|
const [from, to] = date;
|
|
@@ -4558,7 +4558,7 @@ var InputDateRangePicker = ({
|
|
|
4558
4558
|
},
|
|
4559
4559
|
[locale, onChange]
|
|
4560
4560
|
);
|
|
4561
|
-
|
|
4561
|
+
React31.useEffect(() => {
|
|
4562
4562
|
if (value) {
|
|
4563
4563
|
const [startDate, endDate] = value.split(" - ");
|
|
4564
4564
|
const dateStart = startDate && dateFormatIsValid(startDate, locale) ? dateParts(startDate, locale).date : void 0;
|
|
@@ -4656,7 +4656,7 @@ var useFileUpload = (options = {}) => {
|
|
|
4656
4656
|
onFilesChange,
|
|
4657
4657
|
onFilesAdded
|
|
4658
4658
|
} = options;
|
|
4659
|
-
const [state, setState] =
|
|
4659
|
+
const [state, setState] = React31.useState({
|
|
4660
4660
|
files: initialFiles.map((file) => ({
|
|
4661
4661
|
file,
|
|
4662
4662
|
id: file.id,
|
|
@@ -4665,8 +4665,8 @@ var useFileUpload = (options = {}) => {
|
|
|
4665
4665
|
isDragging: false,
|
|
4666
4666
|
errors: []
|
|
4667
4667
|
});
|
|
4668
|
-
const inputRef =
|
|
4669
|
-
const validateFile =
|
|
4668
|
+
const inputRef = React31.useRef(null);
|
|
4669
|
+
const validateFile = React31.useCallback(
|
|
4670
4670
|
(file) => {
|
|
4671
4671
|
if (file instanceof File) {
|
|
4672
4672
|
if (file.size > maxSize) {
|
|
@@ -4705,7 +4705,7 @@ var useFileUpload = (options = {}) => {
|
|
|
4705
4705
|
},
|
|
4706
4706
|
[accept, maxSize]
|
|
4707
4707
|
);
|
|
4708
|
-
const createPreview =
|
|
4708
|
+
const createPreview = React31.useCallback(
|
|
4709
4709
|
(file) => {
|
|
4710
4710
|
if (file instanceof File) {
|
|
4711
4711
|
return URL.createObjectURL(file);
|
|
@@ -4714,13 +4714,13 @@ var useFileUpload = (options = {}) => {
|
|
|
4714
4714
|
},
|
|
4715
4715
|
[]
|
|
4716
4716
|
);
|
|
4717
|
-
const generateUniqueId =
|
|
4717
|
+
const generateUniqueId = React31.useCallback((file) => {
|
|
4718
4718
|
if (file instanceof File) {
|
|
4719
4719
|
return `${file.name}-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
|
|
4720
4720
|
}
|
|
4721
4721
|
return file.id;
|
|
4722
4722
|
}, []);
|
|
4723
|
-
const clearFiles =
|
|
4723
|
+
const clearFiles = React31.useCallback(() => {
|
|
4724
4724
|
setState((prev) => {
|
|
4725
4725
|
prev.files.forEach((file) => {
|
|
4726
4726
|
if (file.preview && file.file instanceof File && file.file.type.startsWith("image/")) {
|
|
@@ -4739,7 +4739,7 @@ var useFileUpload = (options = {}) => {
|
|
|
4739
4739
|
return newState;
|
|
4740
4740
|
});
|
|
4741
4741
|
}, [onFilesChange]);
|
|
4742
|
-
const addFiles =
|
|
4742
|
+
const addFiles = React31.useCallback(
|
|
4743
4743
|
(newFiles) => {
|
|
4744
4744
|
if (!newFiles || newFiles.length === 0) return;
|
|
4745
4745
|
const newFilesArray = Array.from(newFiles);
|
|
@@ -4815,7 +4815,7 @@ var useFileUpload = (options = {}) => {
|
|
|
4815
4815
|
onFilesAdded
|
|
4816
4816
|
]
|
|
4817
4817
|
);
|
|
4818
|
-
const removeFile =
|
|
4818
|
+
const removeFile = React31.useCallback(
|
|
4819
4819
|
(id) => {
|
|
4820
4820
|
setState((prev) => {
|
|
4821
4821
|
const fileToRemove = prev.files.find((file) => file.id === id);
|
|
@@ -4833,18 +4833,18 @@ var useFileUpload = (options = {}) => {
|
|
|
4833
4833
|
},
|
|
4834
4834
|
[onFilesChange]
|
|
4835
4835
|
);
|
|
4836
|
-
const clearErrors =
|
|
4836
|
+
const clearErrors = React31.useCallback(() => {
|
|
4837
4837
|
setState((prev) => ({
|
|
4838
4838
|
...prev,
|
|
4839
4839
|
errors: []
|
|
4840
4840
|
}));
|
|
4841
4841
|
}, []);
|
|
4842
|
-
const handleDragEnter =
|
|
4842
|
+
const handleDragEnter = React31.useCallback((e) => {
|
|
4843
4843
|
e.preventDefault();
|
|
4844
4844
|
e.stopPropagation();
|
|
4845
4845
|
setState((prev) => ({ ...prev, isDragging: true }));
|
|
4846
4846
|
}, []);
|
|
4847
|
-
const handleDragLeave =
|
|
4847
|
+
const handleDragLeave = React31.useCallback((e) => {
|
|
4848
4848
|
e.preventDefault();
|
|
4849
4849
|
e.stopPropagation();
|
|
4850
4850
|
if (e.currentTarget.contains(e.relatedTarget)) {
|
|
@@ -4852,11 +4852,11 @@ var useFileUpload = (options = {}) => {
|
|
|
4852
4852
|
}
|
|
4853
4853
|
setState((prev) => ({ ...prev, isDragging: false }));
|
|
4854
4854
|
}, []);
|
|
4855
|
-
const handleDragOver =
|
|
4855
|
+
const handleDragOver = React31.useCallback((e) => {
|
|
4856
4856
|
e.preventDefault();
|
|
4857
4857
|
e.stopPropagation();
|
|
4858
4858
|
}, []);
|
|
4859
|
-
const handleDrop =
|
|
4859
|
+
const handleDrop = React31.useCallback(
|
|
4860
4860
|
(e) => {
|
|
4861
4861
|
e.preventDefault();
|
|
4862
4862
|
e.stopPropagation();
|
|
@@ -4877,7 +4877,7 @@ var useFileUpload = (options = {}) => {
|
|
|
4877
4877
|
},
|
|
4878
4878
|
[addFiles, multiple]
|
|
4879
4879
|
);
|
|
4880
|
-
const handleFileChange =
|
|
4880
|
+
const handleFileChange = React31.useCallback(
|
|
4881
4881
|
(e) => {
|
|
4882
4882
|
if (e.target.files && e.target.files.length > 0) {
|
|
4883
4883
|
addFiles(e.target.files);
|
|
@@ -4885,12 +4885,12 @@ var useFileUpload = (options = {}) => {
|
|
|
4885
4885
|
},
|
|
4886
4886
|
[addFiles]
|
|
4887
4887
|
);
|
|
4888
|
-
const openFileDialog =
|
|
4888
|
+
const openFileDialog = React31.useCallback(() => {
|
|
4889
4889
|
if (inputRef.current) {
|
|
4890
4890
|
inputRef.current.click();
|
|
4891
4891
|
}
|
|
4892
4892
|
}, []);
|
|
4893
|
-
const getInputProps =
|
|
4893
|
+
const getInputProps = React31.useCallback(
|
|
4894
4894
|
(props = {}) => {
|
|
4895
4895
|
return {
|
|
4896
4896
|
...props,
|
|
@@ -4903,7 +4903,7 @@ var useFileUpload = (options = {}) => {
|
|
|
4903
4903
|
},
|
|
4904
4904
|
[accept, multiple, handleFileChange]
|
|
4905
4905
|
);
|
|
4906
|
-
return
|
|
4906
|
+
return React31.useMemo(
|
|
4907
4907
|
() => [
|
|
4908
4908
|
state,
|
|
4909
4909
|
{
|
|
@@ -4987,10 +4987,10 @@ function FileUpload({
|
|
|
4987
4987
|
...rest,
|
|
4988
4988
|
maxFiles
|
|
4989
4989
|
});
|
|
4990
|
-
|
|
4990
|
+
React31.useEffect(() => {
|
|
4991
4991
|
onError?.(errors);
|
|
4992
4992
|
}, [errors, onError]);
|
|
4993
|
-
const disabled =
|
|
4993
|
+
const disabled = React31.useMemo(() => {
|
|
4994
4994
|
if (rest.disabled) return true;
|
|
4995
4995
|
if (rest.multiple) {
|
|
4996
4996
|
if (!Number.isFinite(maxFiles)) return false;
|
|
@@ -5095,7 +5095,7 @@ function FileUpload({
|
|
|
5095
5095
|
] });
|
|
5096
5096
|
}
|
|
5097
5097
|
FileUpload.displayName = "FileUpload";
|
|
5098
|
-
var TextArea =
|
|
5098
|
+
var TextArea = React31__namespace.forwardRef(
|
|
5099
5099
|
({
|
|
5100
5100
|
className,
|
|
5101
5101
|
isError = false,
|
|
@@ -5107,14 +5107,14 @@ var TextArea = React35__namespace.forwardRef(
|
|
|
5107
5107
|
asInput,
|
|
5108
5108
|
...props
|
|
5109
5109
|
}, ref) => {
|
|
5110
|
-
const innerRef =
|
|
5110
|
+
const innerRef = React31__namespace.useRef(
|
|
5111
5111
|
null
|
|
5112
5112
|
);
|
|
5113
|
-
const [count, setCount] =
|
|
5113
|
+
const [count, setCount] = React31__namespace.useState(String(props.value ?? "").length);
|
|
5114
5114
|
const countParts = [count, maxLength].filter(
|
|
5115
5115
|
(part) => typeof part === "number"
|
|
5116
5116
|
);
|
|
5117
|
-
|
|
5117
|
+
React31__namespace.useEffect(() => {
|
|
5118
5118
|
const textarea = innerRef.current;
|
|
5119
5119
|
if (!textarea || !autoResize) return;
|
|
5120
5120
|
const adjustHeight = () => {
|
|
@@ -5127,7 +5127,7 @@ var TextArea = React35__namespace.forwardRef(
|
|
|
5127
5127
|
textarea.removeEventListener("input", adjustHeight);
|
|
5128
5128
|
};
|
|
5129
5129
|
}, [asInput, autoResize, props.value]);
|
|
5130
|
-
|
|
5130
|
+
React31__namespace.useImperativeHandle(ref, () => innerRef.current);
|
|
5131
5131
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nebula-ds relative w-full", children: [
|
|
5132
5132
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5133
5133
|
"div",
|
|
@@ -5175,9 +5175,9 @@ TextArea.displayName = "TextArea";
|
|
|
5175
5175
|
function clamp(value, min, max) {
|
|
5176
5176
|
return Math.min(Math.max(value, min), max);
|
|
5177
5177
|
}
|
|
5178
|
-
var CropperContext =
|
|
5178
|
+
var CropperContext = React31.createContext(null);
|
|
5179
5179
|
var useCropperContext = () => {
|
|
5180
|
-
const context =
|
|
5180
|
+
const context = React31.useContext(CropperContext);
|
|
5181
5181
|
if (!context) {
|
|
5182
5182
|
throw new Error("useCropperContext must be used within a Cropper.Root");
|
|
5183
5183
|
}
|
|
@@ -5199,33 +5199,33 @@ var CropperRoot = ({
|
|
|
5199
5199
|
children,
|
|
5200
5200
|
...restProps
|
|
5201
5201
|
}) => {
|
|
5202
|
-
const descriptionId =
|
|
5203
|
-
const [imgWidth, setImgWidth] =
|
|
5204
|
-
const [imgHeight, setImgHeight] =
|
|
5205
|
-
const containerRef =
|
|
5206
|
-
const [cropAreaWidth, setCropAreaWidth] =
|
|
5207
|
-
const [cropAreaHeight, setCropAreaHeight] =
|
|
5208
|
-
const [imageWrapperWidth, setImageWrapperWidth] =
|
|
5209
|
-
const [imageWrapperHeight, setImageWrapperHeight] =
|
|
5210
|
-
const [offsetX, setOffsetX] =
|
|
5211
|
-
const [offsetY, setOffsetY] =
|
|
5212
|
-
const [internalZoom, setInternalZoom] =
|
|
5213
|
-
const [isDragging, setIsDragging] =
|
|
5214
|
-
const dragStartPointRef =
|
|
5215
|
-
const dragStartOffsetRef =
|
|
5216
|
-
const latestRestrictedOffsetRef =
|
|
5202
|
+
const descriptionId = React31.useId();
|
|
5203
|
+
const [imgWidth, setImgWidth] = React31.useState(null);
|
|
5204
|
+
const [imgHeight, setImgHeight] = React31.useState(null);
|
|
5205
|
+
const containerRef = React31.useRef(null);
|
|
5206
|
+
const [cropAreaWidth, setCropAreaWidth] = React31.useState(0);
|
|
5207
|
+
const [cropAreaHeight, setCropAreaHeight] = React31.useState(0);
|
|
5208
|
+
const [imageWrapperWidth, setImageWrapperWidth] = React31.useState(0);
|
|
5209
|
+
const [imageWrapperHeight, setImageWrapperHeight] = React31.useState(0);
|
|
5210
|
+
const [offsetX, setOffsetX] = React31.useState(0);
|
|
5211
|
+
const [offsetY, setOffsetY] = React31.useState(0);
|
|
5212
|
+
const [internalZoom, setInternalZoom] = React31.useState(minZoom);
|
|
5213
|
+
const [isDragging, setIsDragging] = React31.useState(false);
|
|
5214
|
+
const dragStartPointRef = React31.useRef({ x: 0, y: 0 });
|
|
5215
|
+
const dragStartOffsetRef = React31.useRef({ x: 0, y: 0 });
|
|
5216
|
+
const latestRestrictedOffsetRef = React31.useRef({
|
|
5217
5217
|
x: offsetX,
|
|
5218
5218
|
y: offsetY
|
|
5219
5219
|
});
|
|
5220
|
-
const latestZoomRef =
|
|
5221
|
-
const isInitialSetupDoneRef =
|
|
5222
|
-
const initialPinchDistanceRef =
|
|
5223
|
-
const initialPinchZoomRef =
|
|
5224
|
-
const isPinchingRef =
|
|
5225
|
-
const hasWarnedRef =
|
|
5220
|
+
const latestZoomRef = React31.useRef(internalZoom);
|
|
5221
|
+
const isInitialSetupDoneRef = React31.useRef(false);
|
|
5222
|
+
const initialPinchDistanceRef = React31.useRef(0);
|
|
5223
|
+
const initialPinchZoomRef = React31.useRef(1);
|
|
5224
|
+
const isPinchingRef = React31.useRef(false);
|
|
5225
|
+
const hasWarnedRef = React31.useRef(false);
|
|
5226
5226
|
const isZoomControlled = zoomProp !== void 0;
|
|
5227
5227
|
const effectiveZoom = isZoomControlled ? zoomProp : internalZoom;
|
|
5228
|
-
const updateZoom =
|
|
5228
|
+
const updateZoom = React31.useCallback(
|
|
5229
5229
|
(newZoomValue) => {
|
|
5230
5230
|
const clampedZoom = clamp(newZoomValue, minZoom, maxZoom);
|
|
5231
5231
|
if (onZoomChange) {
|
|
@@ -5237,10 +5237,10 @@ var CropperRoot = ({
|
|
|
5237
5237
|
},
|
|
5238
5238
|
[minZoom, maxZoom, onZoomChange, isZoomControlled]
|
|
5239
5239
|
);
|
|
5240
|
-
|
|
5240
|
+
React31.useEffect(() => {
|
|
5241
5241
|
latestZoomRef.current = effectiveZoom;
|
|
5242
5242
|
}, [effectiveZoom]);
|
|
5243
|
-
|
|
5243
|
+
React31.useEffect(() => {
|
|
5244
5244
|
setOffsetX(0);
|
|
5245
5245
|
setOffsetY(0);
|
|
5246
5246
|
if (!isZoomControlled) {
|
|
@@ -5271,7 +5271,7 @@ var CropperRoot = ({
|
|
|
5271
5271
|
isMounted = false;
|
|
5272
5272
|
};
|
|
5273
5273
|
}, [image, minZoom, isZoomControlled]);
|
|
5274
|
-
const updateCropAreaDimensions =
|
|
5274
|
+
const updateCropAreaDimensions = React31.useCallback(
|
|
5275
5275
|
(containerWidth, containerHeight) => {
|
|
5276
5276
|
if (containerWidth <= 0 || containerHeight <= 0) {
|
|
5277
5277
|
setCropAreaWidth(0);
|
|
@@ -5294,7 +5294,7 @@ var CropperRoot = ({
|
|
|
5294
5294
|
},
|
|
5295
5295
|
[aspectRatio, cropPadding]
|
|
5296
5296
|
);
|
|
5297
|
-
|
|
5297
|
+
React31.useEffect(() => {
|
|
5298
5298
|
const element = containerRef.current;
|
|
5299
5299
|
if (!element) return;
|
|
5300
5300
|
const observer = new ResizeObserver((entries) => {
|
|
@@ -5310,7 +5310,7 @@ var CropperRoot = ({
|
|
|
5310
5310
|
updateCropAreaDimensions(initialWidth, initialHeight);
|
|
5311
5311
|
return () => observer.disconnect();
|
|
5312
5312
|
}, [updateCropAreaDimensions]);
|
|
5313
|
-
|
|
5313
|
+
React31.useEffect(() => {
|
|
5314
5314
|
if (cropAreaWidth <= 0 || cropAreaHeight <= 0 || !imgWidth || !imgHeight) {
|
|
5315
5315
|
setImageWrapperWidth(0);
|
|
5316
5316
|
setImageWrapperHeight(0);
|
|
@@ -5330,7 +5330,7 @@ var CropperRoot = ({
|
|
|
5330
5330
|
setImageWrapperWidth(targetWrapperWidth);
|
|
5331
5331
|
setImageWrapperHeight(targetWrapperHeight);
|
|
5332
5332
|
}, [cropAreaWidth, cropAreaHeight, imgWidth, imgHeight]);
|
|
5333
|
-
const restrictOffset =
|
|
5333
|
+
const restrictOffset = React31.useCallback(
|
|
5334
5334
|
(dragOffsetX, dragOffsetY, currentZoom) => {
|
|
5335
5335
|
if (imageWrapperWidth <= 0 || imageWrapperHeight <= 0 || cropAreaWidth <= 0 || cropAreaHeight <= 0)
|
|
5336
5336
|
return { x: 0, y: 0 };
|
|
@@ -5348,7 +5348,7 @@ var CropperRoot = ({
|
|
|
5348
5348
|
},
|
|
5349
5349
|
[imageWrapperWidth, imageWrapperHeight, cropAreaWidth, cropAreaHeight]
|
|
5350
5350
|
);
|
|
5351
|
-
const calculateCropData =
|
|
5351
|
+
const calculateCropData = React31.useCallback(
|
|
5352
5352
|
(finalOffsetX, finalOffsetY, finalZoom) => {
|
|
5353
5353
|
const currentOffsetX = finalOffsetX !== void 0 ? finalOffsetX : latestRestrictedOffsetRef.current.x;
|
|
5354
5354
|
const currentOffsetY = finalOffsetY !== void 0 ? finalOffsetY : latestRestrictedOffsetRef.current.y;
|
|
@@ -5382,7 +5382,7 @@ var CropperRoot = ({
|
|
|
5382
5382
|
effectiveZoom
|
|
5383
5383
|
]
|
|
5384
5384
|
);
|
|
5385
|
-
|
|
5385
|
+
React31.useEffect(() => {
|
|
5386
5386
|
if (imageWrapperWidth > 0 && imageWrapperHeight > 0 && cropAreaWidth > 0 && cropAreaHeight > 0) {
|
|
5387
5387
|
const currentZoomForSetup = effectiveZoom;
|
|
5388
5388
|
if (!isInitialSetupDoneRef.current) {
|
|
@@ -5453,7 +5453,7 @@ var CropperRoot = ({
|
|
|
5453
5453
|
updateZoom,
|
|
5454
5454
|
imageWrapperHeight
|
|
5455
5455
|
]);
|
|
5456
|
-
|
|
5456
|
+
React31.useEffect(() => {
|
|
5457
5457
|
const checkTimeout = setTimeout(() => {
|
|
5458
5458
|
if (containerRef.current && !hasWarnedRef.current) {
|
|
5459
5459
|
const hasDescription = document.getElementById(descriptionId);
|
|
@@ -5464,7 +5464,7 @@ var CropperRoot = ({
|
|
|
5464
5464
|
}, 100);
|
|
5465
5465
|
return () => clearTimeout(checkTimeout);
|
|
5466
5466
|
}, [descriptionId]);
|
|
5467
|
-
const handleInteractionEnd =
|
|
5467
|
+
const handleInteractionEnd = React31.useCallback(() => {
|
|
5468
5468
|
if (onCropChange) {
|
|
5469
5469
|
const finalData = calculateCropData(
|
|
5470
5470
|
latestRestrictedOffsetRef.current.x,
|
|
@@ -5474,7 +5474,7 @@ var CropperRoot = ({
|
|
|
5474
5474
|
onCropChange(finalData);
|
|
5475
5475
|
}
|
|
5476
5476
|
}, [onCropChange, calculateCropData, effectiveZoom]);
|
|
5477
|
-
const handleMouseDown =
|
|
5477
|
+
const handleMouseDown = React31.useCallback(
|
|
5478
5478
|
(e) => {
|
|
5479
5479
|
if (e.button !== 0 || !containerRef.current) return;
|
|
5480
5480
|
e.preventDefault();
|
|
@@ -5510,7 +5510,7 @@ var CropperRoot = ({
|
|
|
5510
5510
|
},
|
|
5511
5511
|
[restrictOffset, effectiveZoom, handleInteractionEnd]
|
|
5512
5512
|
);
|
|
5513
|
-
const handleWheel =
|
|
5513
|
+
const handleWheel = React31.useCallback(
|
|
5514
5514
|
(e) => {
|
|
5515
5515
|
e.preventDefault();
|
|
5516
5516
|
e.stopPropagation();
|
|
@@ -5566,7 +5566,7 @@ var CropperRoot = ({
|
|
|
5566
5566
|
x: (touches[0].clientX + touches[1].clientX) / 2,
|
|
5567
5567
|
y: (touches[0].clientY + touches[1].clientY) / 2
|
|
5568
5568
|
});
|
|
5569
|
-
const handleTouchStart =
|
|
5569
|
+
const handleTouchStart = React31.useCallback(
|
|
5570
5570
|
(e) => {
|
|
5571
5571
|
if (!containerRef.current || imageWrapperWidth <= 0 || imageWrapperHeight <= 0)
|
|
5572
5572
|
return;
|
|
@@ -5596,7 +5596,7 @@ var CropperRoot = ({
|
|
|
5596
5596
|
},
|
|
5597
5597
|
[imageWrapperWidth, imageWrapperHeight]
|
|
5598
5598
|
);
|
|
5599
|
-
const handleTouchMove =
|
|
5599
|
+
const handleTouchMove = React31.useCallback(
|
|
5600
5600
|
(e) => {
|
|
5601
5601
|
if (!containerRef.current || imageWrapperWidth <= 0 || imageWrapperHeight <= 0)
|
|
5602
5602
|
return;
|
|
@@ -5664,7 +5664,7 @@ var CropperRoot = ({
|
|
|
5664
5664
|
calculateCropData
|
|
5665
5665
|
]
|
|
5666
5666
|
);
|
|
5667
|
-
const handleTouchEnd =
|
|
5667
|
+
const handleTouchEnd = React31.useCallback(
|
|
5668
5668
|
(e) => {
|
|
5669
5669
|
e.preventDefault();
|
|
5670
5670
|
const touches = e.touches;
|
|
@@ -5691,7 +5691,7 @@ var CropperRoot = ({
|
|
|
5691
5691
|
},
|
|
5692
5692
|
[isDragging, handleInteractionEnd]
|
|
5693
5693
|
);
|
|
5694
|
-
const handleKeyDown =
|
|
5694
|
+
const handleKeyDown = React31.useCallback(
|
|
5695
5695
|
(e) => {
|
|
5696
5696
|
if (imageWrapperWidth <= 0) return;
|
|
5697
5697
|
let targetOffsetX = latestRestrictedOffsetRef.current.x;
|
|
@@ -5733,7 +5733,7 @@ var CropperRoot = ({
|
|
|
5733
5733
|
},
|
|
5734
5734
|
[keyboardStep, imageWrapperWidth, restrictOffset, effectiveZoom]
|
|
5735
5735
|
);
|
|
5736
|
-
const handleKeyUp =
|
|
5736
|
+
const handleKeyUp = React31.useCallback(
|
|
5737
5737
|
(e) => {
|
|
5738
5738
|
if (["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(e.key)) {
|
|
5739
5739
|
handleInteractionEnd();
|
|
@@ -5741,7 +5741,7 @@ var CropperRoot = ({
|
|
|
5741
5741
|
},
|
|
5742
5742
|
[handleInteractionEnd]
|
|
5743
5743
|
);
|
|
5744
|
-
|
|
5744
|
+
React31.useEffect(() => {
|
|
5745
5745
|
const node = containerRef.current;
|
|
5746
5746
|
if (!node) return;
|
|
5747
5747
|
const options = { passive: false };
|
|
@@ -5758,7 +5758,7 @@ var CropperRoot = ({
|
|
|
5758
5758
|
node.removeEventListener("touchcancel", handleTouchEnd, options);
|
|
5759
5759
|
};
|
|
5760
5760
|
}, [handleWheel, handleTouchStart, handleTouchMove, handleTouchEnd]);
|
|
5761
|
-
const getRootProps =
|
|
5761
|
+
const getRootProps = React31.useCallback(
|
|
5762
5762
|
() => ({
|
|
5763
5763
|
className,
|
|
5764
5764
|
style,
|
|
@@ -5786,7 +5786,7 @@ var CropperRoot = ({
|
|
|
5786
5786
|
effectiveZoom
|
|
5787
5787
|
]
|
|
5788
5788
|
);
|
|
5789
|
-
const getImageWrapperStyle =
|
|
5789
|
+
const getImageWrapperStyle = React31.useCallback(
|
|
5790
5790
|
() => ({
|
|
5791
5791
|
width: imageWrapperWidth,
|
|
5792
5792
|
height: imageWrapperHeight,
|
|
@@ -5798,7 +5798,7 @@ var CropperRoot = ({
|
|
|
5798
5798
|
}),
|
|
5799
5799
|
[imageWrapperWidth, imageWrapperHeight, offsetX, offsetY, effectiveZoom]
|
|
5800
5800
|
);
|
|
5801
|
-
const getImageProps =
|
|
5801
|
+
const getImageProps = React31.useCallback(
|
|
5802
5802
|
() => ({
|
|
5803
5803
|
src: image,
|
|
5804
5804
|
alt: "Image being cropped",
|
|
@@ -5807,14 +5807,14 @@ var CropperRoot = ({
|
|
|
5807
5807
|
}),
|
|
5808
5808
|
[image]
|
|
5809
5809
|
);
|
|
5810
|
-
const getCropAreaStyle =
|
|
5810
|
+
const getCropAreaStyle = React31.useCallback(
|
|
5811
5811
|
() => ({
|
|
5812
5812
|
width: cropAreaWidth,
|
|
5813
5813
|
height: cropAreaHeight
|
|
5814
5814
|
}),
|
|
5815
5815
|
[cropAreaWidth, cropAreaHeight]
|
|
5816
5816
|
);
|
|
5817
|
-
const getCropAreaProps =
|
|
5817
|
+
const getCropAreaProps = React31.useCallback(
|
|
5818
5818
|
() => ({
|
|
5819
5819
|
style: getCropAreaStyle(),
|
|
5820
5820
|
"aria-hidden": true
|
|
@@ -5892,10 +5892,10 @@ function Slider({
|
|
|
5892
5892
|
max = 100,
|
|
5893
5893
|
...props
|
|
5894
5894
|
}) {
|
|
5895
|
-
const [internalValues, setInternalValues] =
|
|
5895
|
+
const [internalValues, setInternalValues] = React31__namespace.useState(
|
|
5896
5896
|
Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max]
|
|
5897
5897
|
);
|
|
5898
|
-
|
|
5898
|
+
React31__namespace.useEffect(() => {
|
|
5899
5899
|
if (value !== void 0) {
|
|
5900
5900
|
setInternalValues(Array.isArray(value) ? value : [value]);
|
|
5901
5901
|
}
|
|
@@ -5948,7 +5948,7 @@ function Slider({
|
|
|
5948
5948
|
)
|
|
5949
5949
|
}
|
|
5950
5950
|
),
|
|
5951
|
-
Array.from({ length: internalValues.length }, (_, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
5951
|
+
Array.from({ length: internalValues.length }, (_, index) => /* @__PURE__ */ jsxRuntime.jsx(React31__namespace.Fragment, { children: renderThumb() }, index))
|
|
5952
5952
|
]
|
|
5953
5953
|
}
|
|
5954
5954
|
);
|
|
@@ -6064,10 +6064,10 @@ function Cropper2({
|
|
|
6064
6064
|
rounded = false,
|
|
6065
6065
|
portal = false
|
|
6066
6066
|
}) {
|
|
6067
|
-
const [finalImageUrl, setFinalImageUrl] =
|
|
6068
|
-
const [croppedAreaPixels, setCroppedAreaPixels] =
|
|
6069
|
-
const [zoom, setZoom] =
|
|
6070
|
-
const handleCropChange =
|
|
6067
|
+
const [finalImageUrl, setFinalImageUrl] = React31.useState(null);
|
|
6068
|
+
const [croppedAreaPixels, setCroppedAreaPixels] = React31.useState(null);
|
|
6069
|
+
const [zoom, setZoom] = React31.useState(1);
|
|
6070
|
+
const handleCropChange = React31.useCallback((pixels) => {
|
|
6071
6071
|
setCroppedAreaPixels(pixels);
|
|
6072
6072
|
}, []);
|
|
6073
6073
|
const handleApply = async () => {
|
|
@@ -6100,7 +6100,7 @@ function Cropper2({
|
|
|
6100
6100
|
onOpenChange?.(false);
|
|
6101
6101
|
onCancelCrop?.();
|
|
6102
6102
|
};
|
|
6103
|
-
|
|
6103
|
+
React31.useEffect(() => {
|
|
6104
6104
|
const currentFinalUrl = finalImageUrl;
|
|
6105
6105
|
return () => {
|
|
6106
6106
|
if (currentFinalUrl && currentFinalUrl.startsWith("blob:")) {
|
|
@@ -6223,8 +6223,8 @@ var ProfileImage = ({
|
|
|
6223
6223
|
icon
|
|
6224
6224
|
}) => {
|
|
6225
6225
|
const maxSize = maxSizeMB * 1024 * 1024;
|
|
6226
|
-
const id =
|
|
6227
|
-
const withCropper =
|
|
6226
|
+
const id = React31.useId();
|
|
6227
|
+
const withCropper = React31.useMemo(() => !!cropperProps, [cropperProps]);
|
|
6228
6228
|
const handleFileChange = (file2, blob) => {
|
|
6229
6229
|
if (!file2) {
|
|
6230
6230
|
return;
|
|
@@ -6267,23 +6267,23 @@ var ProfileImage = ({
|
|
|
6267
6267
|
handleFileChange(file2?.file);
|
|
6268
6268
|
}
|
|
6269
6269
|
});
|
|
6270
|
-
const [finalImageUrl, setFinalImageUrl] =
|
|
6270
|
+
const [finalImageUrl, setFinalImageUrl] = React31.useState(
|
|
6271
6271
|
image || null
|
|
6272
6272
|
);
|
|
6273
|
-
const [isDialogOpen, setIsDialogOpen] =
|
|
6274
|
-
|
|
6273
|
+
const [isDialogOpen, setIsDialogOpen] = React31.useState(false);
|
|
6274
|
+
React31.useEffect(() => {
|
|
6275
6275
|
onError?.(errors);
|
|
6276
6276
|
}, [errors, onError]);
|
|
6277
6277
|
const [file] = files;
|
|
6278
6278
|
const fileId = file?.id;
|
|
6279
|
-
const previousFileIdRef =
|
|
6279
|
+
const previousFileIdRef = React31.useRef(null);
|
|
6280
6280
|
const previewUrl = file?.preview || null;
|
|
6281
|
-
const profileImagePreview =
|
|
6281
|
+
const profileImagePreview = React31.useMemo(() => {
|
|
6282
6282
|
if (withCropper) return finalImageUrl;
|
|
6283
6283
|
return previewUrl;
|
|
6284
6284
|
}, [previewUrl, withCropper, finalImageUrl]);
|
|
6285
|
-
const initialRenderRef =
|
|
6286
|
-
|
|
6285
|
+
const initialRenderRef = React31.useRef(true);
|
|
6286
|
+
React31.useEffect(() => {
|
|
6287
6287
|
if (!withCropper) return;
|
|
6288
6288
|
if (fileId && fileId !== previousFileIdRef.current && !initialRenderRef.current) {
|
|
6289
6289
|
setIsDialogOpen(true);
|
|
@@ -6456,19 +6456,19 @@ function RadioGroupItem({
|
|
|
6456
6456
|
}
|
|
6457
6457
|
);
|
|
6458
6458
|
}
|
|
6459
|
-
var StepperContext =
|
|
6460
|
-
var StepItemContext =
|
|
6459
|
+
var StepperContext = React31.createContext(void 0);
|
|
6460
|
+
var StepItemContext = React31.createContext(
|
|
6461
6461
|
void 0
|
|
6462
6462
|
);
|
|
6463
6463
|
var useStepper = () => {
|
|
6464
|
-
const context =
|
|
6464
|
+
const context = React31.useContext(StepperContext);
|
|
6465
6465
|
if (!context) {
|
|
6466
6466
|
throw new Error("useStepper must be used within a Stepper");
|
|
6467
6467
|
}
|
|
6468
6468
|
return context;
|
|
6469
6469
|
};
|
|
6470
6470
|
var useStepItem = () => {
|
|
6471
|
-
const context =
|
|
6471
|
+
const context = React31.useContext(StepItemContext);
|
|
6472
6472
|
if (!context) {
|
|
6473
6473
|
throw new Error("useStepItem must be used within a StepperItem");
|
|
6474
6474
|
}
|
|
@@ -6482,8 +6482,8 @@ function Stepper({
|
|
|
6482
6482
|
className,
|
|
6483
6483
|
...props
|
|
6484
6484
|
}) {
|
|
6485
|
-
const [activeStep, setInternalStep] =
|
|
6486
|
-
const setActiveStep =
|
|
6485
|
+
const [activeStep, setInternalStep] = React31__namespace.useState(defaultValue);
|
|
6486
|
+
const setActiveStep = React31__namespace.useCallback(
|
|
6487
6487
|
(step) => {
|
|
6488
6488
|
if (value === void 0) {
|
|
6489
6489
|
setInternalStep(step);
|
|
@@ -6574,7 +6574,7 @@ function StepperTrigger({
|
|
|
6574
6574
|
}) {
|
|
6575
6575
|
const { setActiveStep } = useStepper();
|
|
6576
6576
|
const { step, isDisabled } = useStepItem();
|
|
6577
|
-
const handleClick =
|
|
6577
|
+
const handleClick = React31__namespace.useCallback(
|
|
6578
6578
|
(e) => {
|
|
6579
6579
|
if (isClickable) {
|
|
6580
6580
|
setActiveStep(step);
|
|
@@ -6949,18 +6949,45 @@ var DEFAULT_MEASURING = {
|
|
|
6949
6949
|
};
|
|
6950
6950
|
var DEFAULT_VIRTUAL_CARD_HEIGHT = 96;
|
|
6951
6951
|
var DEFAULT_LOAD_MORE_OFFSET = 120;
|
|
6952
|
-
var KanbanColumnContext =
|
|
6953
|
-
var KanbanColumn =
|
|
6952
|
+
var KanbanColumnContext = React31__namespace.createContext(null);
|
|
6953
|
+
var KanbanColumn = React31__namespace.forwardRef(
|
|
6954
6954
|
({ className, ...props }, ref) => {
|
|
6955
6955
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("min-h-[320px]", className), ...props });
|
|
6956
6956
|
}
|
|
6957
6957
|
);
|
|
6958
6958
|
KanbanColumn.displayName = "KanbanColumn";
|
|
6959
|
-
var KanbanColumnHeader =
|
|
6960
|
-
|
|
6959
|
+
var KanbanColumnHeader = React31__namespace.forwardRef(({ className, ...props }, ref) => {
|
|
6960
|
+
const context = React31__namespace.useContext(KanbanColumnContext);
|
|
6961
|
+
const reactId = React31__namespace.useId();
|
|
6962
|
+
const { active } = core.useDndContext();
|
|
6963
|
+
const droppableId = context ? `${context.columnId}-header-droppable` : `kanban-column-header-${reactId}`;
|
|
6964
|
+
const isCardDragActive = active?.data.current?.type === "card";
|
|
6965
|
+
const { setNodeRef } = core.useDroppable({
|
|
6966
|
+
id: droppableId,
|
|
6967
|
+
data: {
|
|
6968
|
+
type: "column-droppable",
|
|
6969
|
+
columnId: context?.columnId ?? droppableId,
|
|
6970
|
+
ordering: context?.ordering ?? "manual",
|
|
6971
|
+
allowDrop: context?.allowDrop ?? false,
|
|
6972
|
+
location: "header"
|
|
6973
|
+
},
|
|
6974
|
+
disabled: !context || context.allowDrop === false || !isCardDragActive
|
|
6975
|
+
});
|
|
6976
|
+
const mergedRef = React31__namespace.useCallback(
|
|
6977
|
+
(node) => {
|
|
6978
|
+
setNodeRef(node);
|
|
6979
|
+
if (typeof ref === "function") {
|
|
6980
|
+
ref(node);
|
|
6981
|
+
} else if (ref) {
|
|
6982
|
+
ref.current = node;
|
|
6983
|
+
}
|
|
6984
|
+
},
|
|
6985
|
+
[ref, setNodeRef]
|
|
6986
|
+
);
|
|
6987
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: mergedRef, className: cn("flex", className), ...props });
|
|
6961
6988
|
});
|
|
6962
6989
|
KanbanColumnHeader.displayName = "KanbanColumnHeader";
|
|
6963
|
-
var KanbanColumnTitle =
|
|
6990
|
+
var KanbanColumnTitle = React31__namespace.forwardRef(({ className, ...props }, ref) => {
|
|
6964
6991
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6965
6992
|
"h3",
|
|
6966
6993
|
{
|
|
@@ -6971,11 +6998,38 @@ var KanbanColumnTitle = React35__namespace.forwardRef(({ className, ...props },
|
|
|
6971
6998
|
);
|
|
6972
6999
|
});
|
|
6973
7000
|
KanbanColumnTitle.displayName = "KanbanColumnTitle";
|
|
6974
|
-
var KanbanColumnFooter =
|
|
7001
|
+
var KanbanColumnFooter = React31__namespace.forwardRef(({ className, ...props }, ref) => {
|
|
7002
|
+
const context = React31__namespace.useContext(KanbanColumnContext);
|
|
7003
|
+
const reactId = React31__namespace.useId();
|
|
7004
|
+
const { active } = core.useDndContext();
|
|
7005
|
+
const droppableId = context ? `${context.columnId}-footer-droppable` : `kanban-column-footer-${reactId}`;
|
|
7006
|
+
const isCardDragActive = active?.data.current?.type === "card";
|
|
7007
|
+
const { setNodeRef } = core.useDroppable({
|
|
7008
|
+
id: droppableId,
|
|
7009
|
+
data: {
|
|
7010
|
+
type: "column-droppable",
|
|
7011
|
+
columnId: context?.columnId ?? droppableId,
|
|
7012
|
+
ordering: context?.ordering ?? "manual",
|
|
7013
|
+
allowDrop: context?.allowDrop ?? false,
|
|
7014
|
+
location: "footer"
|
|
7015
|
+
},
|
|
7016
|
+
disabled: !context || context.allowDrop === false || !isCardDragActive
|
|
7017
|
+
});
|
|
7018
|
+
const mergedRef = React31__namespace.useCallback(
|
|
7019
|
+
(node) => {
|
|
7020
|
+
setNodeRef(node);
|
|
7021
|
+
if (typeof ref === "function") {
|
|
7022
|
+
ref(node);
|
|
7023
|
+
} else if (ref) {
|
|
7024
|
+
ref.current = node;
|
|
7025
|
+
}
|
|
7026
|
+
},
|
|
7027
|
+
[ref, setNodeRef]
|
|
7028
|
+
);
|
|
6975
7029
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6976
7030
|
"div",
|
|
6977
7031
|
{
|
|
6978
|
-
ref,
|
|
7032
|
+
ref: mergedRef,
|
|
6979
7033
|
className: cn(
|
|
6980
7034
|
"border-t border-box-border px-5 py-4 text-xs text-neutral-500",
|
|
6981
7035
|
className
|
|
@@ -6985,16 +7039,16 @@ var KanbanColumnFooter = React35__namespace.forwardRef(({ className, ...props },
|
|
|
6985
7039
|
);
|
|
6986
7040
|
});
|
|
6987
7041
|
KanbanColumnFooter.displayName = "KanbanColumnFooter";
|
|
6988
|
-
var KanbanCard =
|
|
7042
|
+
var KanbanCard = React31__namespace.forwardRef(
|
|
6989
7043
|
({ className, isDragging, isOverlay, ...props }, ref) => {
|
|
6990
7044
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6991
7045
|
"div",
|
|
6992
7046
|
{
|
|
6993
7047
|
ref,
|
|
6994
7048
|
className: cn(
|
|
6995
|
-
"group relative rounded-2xl border border-box-border/80 bg-box-background-primary px-5 py-4 text-left
|
|
6996
|
-
isDragging && "ring-2 ring-button-primary-border-focus
|
|
6997
|
-
isOverlay && "ring-4 ring-button-primary-border-focus/60
|
|
7049
|
+
"group relative rounded-2xl border border-box-border/80 bg-box-background-primary px-5 py-4 text-left transition-all duration-150 hover:-translate-y-[1px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-button-primary-border-focus",
|
|
7050
|
+
isDragging && "ring-2 ring-button-primary-border-focus",
|
|
7051
|
+
isOverlay && "ring-4 ring-button-primary-border-focus/60",
|
|
6998
7052
|
className
|
|
6999
7053
|
),
|
|
7000
7054
|
...props
|
|
@@ -7003,14 +7057,14 @@ var KanbanCard = React35__namespace.forwardRef(
|
|
|
7003
7057
|
}
|
|
7004
7058
|
);
|
|
7005
7059
|
KanbanCard.displayName = "KanbanCard";
|
|
7006
|
-
var KanbanColumnDragHandle =
|
|
7007
|
-
const context =
|
|
7060
|
+
var KanbanColumnDragHandle = React31__namespace.forwardRef(({ className, children, ...props }, ref) => {
|
|
7061
|
+
const context = React31__namespace.useContext(KanbanColumnContext);
|
|
7008
7062
|
if (!context) {
|
|
7009
7063
|
throw new Error(
|
|
7010
7064
|
"KanbanColumnDragHandle must be used inside a KanbanBoard column"
|
|
7011
7065
|
);
|
|
7012
7066
|
}
|
|
7013
|
-
const mergedRef =
|
|
7067
|
+
const mergedRef = React31__namespace.useCallback(
|
|
7014
7068
|
(node) => {
|
|
7015
7069
|
context.setActivatorNodeRef(node);
|
|
7016
7070
|
if (typeof ref === "function") {
|
|
@@ -7063,30 +7117,6 @@ function getCardSortDisabled(card, column) {
|
|
|
7063
7117
|
droppable: disableDroppable
|
|
7064
7118
|
};
|
|
7065
7119
|
}
|
|
7066
|
-
function calculateManualInsertionIndex({
|
|
7067
|
-
overData,
|
|
7068
|
-
fromColumnId,
|
|
7069
|
-
targetColumnId,
|
|
7070
|
-
columns
|
|
7071
|
-
}) {
|
|
7072
|
-
const targetColumn = columns.find((column) => column.id === targetColumnId);
|
|
7073
|
-
if (!targetColumn) {
|
|
7074
|
-
return null;
|
|
7075
|
-
}
|
|
7076
|
-
if (overData.type === "column-droppable") {
|
|
7077
|
-
const activeIsSameColumn2 = targetColumnId === fromColumnId;
|
|
7078
|
-
if (activeIsSameColumn2) {
|
|
7079
|
-
return targetColumn.cards.length - 1;
|
|
7080
|
-
}
|
|
7081
|
-
return targetColumn.cards.length;
|
|
7082
|
-
}
|
|
7083
|
-
const activeIsSameColumn = targetColumnId === fromColumnId;
|
|
7084
|
-
const overIndex = overData.index;
|
|
7085
|
-
if (activeIsSameColumn) {
|
|
7086
|
-
return clampInsertIndex(overIndex, targetColumn.cards.length - 1);
|
|
7087
|
-
}
|
|
7088
|
-
return clampInsertIndex(overIndex, targetColumn.cards.length);
|
|
7089
|
-
}
|
|
7090
7120
|
function moveCardBetweenColumns({
|
|
7091
7121
|
columns,
|
|
7092
7122
|
card,
|
|
@@ -7221,7 +7251,7 @@ function KanbanSortableCard({
|
|
|
7221
7251
|
transition,
|
|
7222
7252
|
isDragging
|
|
7223
7253
|
} = sortable$1;
|
|
7224
|
-
const composedRef =
|
|
7254
|
+
const composedRef = React31__namespace.useCallback(
|
|
7225
7255
|
(node) => {
|
|
7226
7256
|
setNodeRef(node);
|
|
7227
7257
|
if (virtualizationEnabled && node) {
|
|
@@ -7285,8 +7315,8 @@ var KanbanColumnBodyInner = ({
|
|
|
7285
7315
|
isManualOrdering,
|
|
7286
7316
|
isDropTarget
|
|
7287
7317
|
}, ref) => {
|
|
7288
|
-
const scrollRef =
|
|
7289
|
-
const combinedRef =
|
|
7318
|
+
const scrollRef = React31__namespace.useRef(null);
|
|
7319
|
+
const combinedRef = React31__namespace.useCallback(
|
|
7290
7320
|
(node) => {
|
|
7291
7321
|
scrollRef.current = node;
|
|
7292
7322
|
if (typeof ref === "function") {
|
|
@@ -7299,7 +7329,7 @@ var KanbanColumnBodyInner = ({
|
|
|
7299
7329
|
);
|
|
7300
7330
|
const virtualization = column.virtualization;
|
|
7301
7331
|
const virtualizationEnabled = Boolean(virtualization?.enabled);
|
|
7302
|
-
const cardIds =
|
|
7332
|
+
const cardIds = React31__namespace.useMemo(
|
|
7303
7333
|
() => column.cards.map((card) => getCardId(card)),
|
|
7304
7334
|
[column.cards, getCardId]
|
|
7305
7335
|
);
|
|
@@ -7311,7 +7341,7 @@ var KanbanColumnBodyInner = ({
|
|
|
7311
7341
|
enabled: virtualizationEnabled
|
|
7312
7342
|
});
|
|
7313
7343
|
const { onLoadMore, hasMore, isLoadingMore, loadMoreOffset } = column;
|
|
7314
|
-
|
|
7344
|
+
React31__namespace.useEffect(() => {
|
|
7315
7345
|
if (!onLoadMore || !hasMore || isLoadingMore) {
|
|
7316
7346
|
return;
|
|
7317
7347
|
}
|
|
@@ -7332,7 +7362,7 @@ var KanbanColumnBodyInner = ({
|
|
|
7332
7362
|
};
|
|
7333
7363
|
}, [hasMore, isLoadingMore, loadMoreOffset, onLoadMore]);
|
|
7334
7364
|
const columnBodyClasses = cn(
|
|
7335
|
-
"flex-1 overflow-y-auto px-
|
|
7365
|
+
"flex-1 overflow-y-auto px-2 pb-4 pt-2",
|
|
7336
7366
|
column.cards.length === 0 && "flex items-center justify-center"
|
|
7337
7367
|
);
|
|
7338
7368
|
const emptyState = renderEmptyState?.(columnContext) ?? column.emptyState ?? defaultRenderEmptyState();
|
|
@@ -7383,7 +7413,7 @@ var KanbanColumnBodyInner = ({
|
|
|
7383
7413
|
);
|
|
7384
7414
|
})
|
|
7385
7415
|
}
|
|
7386
|
-
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nebula-ds flex flex-col gap-
|
|
7416
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nebula-ds flex flex-col gap-2", children: column.cards.map((card, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
7387
7417
|
KanbanSortableCard,
|
|
7388
7418
|
{
|
|
7389
7419
|
card,
|
|
@@ -7401,7 +7431,7 @@ var KanbanColumnBodyInner = ({
|
|
|
7401
7431
|
column.hasMore && column.isLoadingMore ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nebula-ds mt-3 flex justify-center text-xs text-neutral-500", children: "..." }) : null
|
|
7402
7432
|
] }) });
|
|
7403
7433
|
};
|
|
7404
|
-
var KanbanColumnBodyBase =
|
|
7434
|
+
var KanbanColumnBodyBase = React31__namespace.forwardRef(KanbanColumnBodyInner);
|
|
7405
7435
|
KanbanColumnBodyBase.displayName = "KanbanColumnBody";
|
|
7406
7436
|
var KanbanColumnBody = KanbanColumnBodyBase;
|
|
7407
7437
|
var KANBAN_COLUMN_BASE_CLASSNAME = "flex h-full w-full min-w-[360px] max-w-[360px] flex-col rounded-2xl box-content border bg-table-background transition-[box-shadow,transform,background-color]";
|
|
@@ -7442,13 +7472,27 @@ function KanbanSortableColumn({
|
|
|
7442
7472
|
type: "column-droppable",
|
|
7443
7473
|
columnId: column.id,
|
|
7444
7474
|
ordering: column.ordering ?? "manual",
|
|
7445
|
-
allowDrop: column.allowDrop !== false
|
|
7475
|
+
allowDrop: column.allowDrop !== false,
|
|
7476
|
+
location: "body"
|
|
7446
7477
|
},
|
|
7447
7478
|
disabled: column.allowDrop === false
|
|
7448
7479
|
});
|
|
7449
|
-
const
|
|
7480
|
+
const { setNodeRef: setFooterDropzoneRef } = core.useDroppable({
|
|
7481
|
+
id: `${column.id}-footer-dropzone`,
|
|
7482
|
+
data: {
|
|
7483
|
+
type: "column-droppable",
|
|
7484
|
+
columnId: column.id,
|
|
7485
|
+
ordering: column.ordering ?? "manual",
|
|
7486
|
+
allowDrop: column.allowDrop !== false,
|
|
7487
|
+
location: "footer"
|
|
7488
|
+
},
|
|
7489
|
+
disabled: column.allowDrop === false
|
|
7490
|
+
});
|
|
7491
|
+
const columnContextValue = React31__namespace.useMemo(
|
|
7450
7492
|
() => ({
|
|
7451
7493
|
columnId: column.id,
|
|
7494
|
+
ordering: column.ordering ?? "manual",
|
|
7495
|
+
allowDrop: column.allowDrop !== false,
|
|
7452
7496
|
setActivatorNodeRef,
|
|
7453
7497
|
listeners,
|
|
7454
7498
|
attributes,
|
|
@@ -7457,8 +7501,10 @@ function KanbanSortableColumn({
|
|
|
7457
7501
|
}),
|
|
7458
7502
|
[
|
|
7459
7503
|
attributes,
|
|
7504
|
+
column.allowDrop,
|
|
7460
7505
|
column.canDrag,
|
|
7461
7506
|
column.id,
|
|
7507
|
+
column.ordering,
|
|
7462
7508
|
isDragging,
|
|
7463
7509
|
listeners,
|
|
7464
7510
|
setActivatorNodeRef
|
|
@@ -7502,7 +7548,7 @@ function KanbanSortableColumn({
|
|
|
7502
7548
|
isDropTarget: columnContext.isDropTarget
|
|
7503
7549
|
}
|
|
7504
7550
|
),
|
|
7505
|
-
column.footer || renderColumnFooter ? renderColumnFooter ? renderColumnFooter(columnContext) : /* @__PURE__ */ jsxRuntime.jsx(KanbanColumnFooter, { children: column.footer }) : null
|
|
7551
|
+
column.footer || renderColumnFooter ? renderColumnFooter ? /* @__PURE__ */ jsxRuntime.jsx("div", { ref: setFooterDropzoneRef, children: renderColumnFooter(columnContext) }) : /* @__PURE__ */ jsxRuntime.jsx(KanbanColumnFooter, { children: column.footer }) : null
|
|
7506
7552
|
]
|
|
7507
7553
|
}
|
|
7508
7554
|
) });
|
|
@@ -7549,6 +7595,8 @@ function renderColumnOverlay({
|
|
|
7549
7595
|
const computedColumnClassName = typeof columnClassName === "function" ? columnClassName(columnContext) : columnClassName;
|
|
7550
7596
|
const overlayColumnContext = {
|
|
7551
7597
|
columnId: activeColumn.id,
|
|
7598
|
+
ordering: "manual",
|
|
7599
|
+
allowDrop: false,
|
|
7552
7600
|
setActivatorNodeRef: () => {
|
|
7553
7601
|
},
|
|
7554
7602
|
listeners: void 0,
|
|
@@ -7593,7 +7641,23 @@ function KanbanBoard({
|
|
|
7593
7641
|
sensors: sensorsProp,
|
|
7594
7642
|
measuring
|
|
7595
7643
|
}) {
|
|
7596
|
-
const
|
|
7644
|
+
const resolveHeaderFooterDropzone = React31__namespace.useCallback(
|
|
7645
|
+
(event) => {
|
|
7646
|
+
const collisions = event.collisions;
|
|
7647
|
+
if (!collisions) {
|
|
7648
|
+
return null;
|
|
7649
|
+
}
|
|
7650
|
+
for (const collision of collisions) {
|
|
7651
|
+
const droppableData = collision.data?.droppableContainer?.data?.current;
|
|
7652
|
+
if (droppableData?.type === "column-droppable" && (droppableData.location === "header" || droppableData.location === "footer")) {
|
|
7653
|
+
return droppableData;
|
|
7654
|
+
}
|
|
7655
|
+
}
|
|
7656
|
+
return null;
|
|
7657
|
+
},
|
|
7658
|
+
[]
|
|
7659
|
+
);
|
|
7660
|
+
const getCardId = React31__namespace.useCallback(
|
|
7597
7661
|
(card) => getCardIdProp ? getCardIdProp(card) : card.id,
|
|
7598
7662
|
[getCardIdProp]
|
|
7599
7663
|
);
|
|
@@ -7615,22 +7679,22 @@ function KanbanBoard({
|
|
|
7615
7679
|
);
|
|
7616
7680
|
const sensors = sensorsProp ?? defaultSensors;
|
|
7617
7681
|
const measuringConfig = measuring ?? DEFAULT_MEASURING;
|
|
7618
|
-
const columnMap =
|
|
7682
|
+
const columnMap = React31__namespace.useMemo(
|
|
7619
7683
|
() => new Map(columns.map((column) => [column.id, column])),
|
|
7620
7684
|
[columns]
|
|
7621
7685
|
);
|
|
7622
|
-
const manualDropPosition =
|
|
7623
|
-
const [activeCard, setActiveCard] =
|
|
7624
|
-
const [activeColumn, setActiveColumn] =
|
|
7625
|
-
const [hoveredColumnId, setHoveredColumnId] =
|
|
7626
|
-
const [projectedColumns, setProjectedColumns] =
|
|
7686
|
+
const manualDropPosition = React31__namespace.useRef(null);
|
|
7687
|
+
const [activeCard, setActiveCard] = React31__namespace.useState(null);
|
|
7688
|
+
const [activeColumn, setActiveColumn] = React31__namespace.useState(null);
|
|
7689
|
+
const [hoveredColumnId, setHoveredColumnId] = React31__namespace.useState(null);
|
|
7690
|
+
const [projectedColumns, setProjectedColumns] = React31__namespace.useState(null);
|
|
7627
7691
|
const sanitizedColumns = projectedColumns ?? columns;
|
|
7628
|
-
|
|
7692
|
+
React31__namespace.useEffect(() => {
|
|
7629
7693
|
if (!activeCard && !activeColumn) {
|
|
7630
7694
|
setProjectedColumns(null);
|
|
7631
7695
|
}
|
|
7632
7696
|
}, [columns, activeCard, activeColumn]);
|
|
7633
|
-
const handleDragStart =
|
|
7697
|
+
const handleDragStart = React31__namespace.useCallback(
|
|
7634
7698
|
(event) => {
|
|
7635
7699
|
const data = event.active.data.current;
|
|
7636
7700
|
if (!data) {
|
|
@@ -7654,7 +7718,7 @@ function KanbanBoard({
|
|
|
7654
7718
|
},
|
|
7655
7719
|
[getCardId]
|
|
7656
7720
|
);
|
|
7657
|
-
const handleDragOver =
|
|
7721
|
+
const handleDragOver = React31__namespace.useCallback(
|
|
7658
7722
|
(event) => {
|
|
7659
7723
|
const { active, over } = event;
|
|
7660
7724
|
if (!over) {
|
|
@@ -7671,7 +7735,6 @@ function KanbanBoard({
|
|
|
7671
7735
|
return;
|
|
7672
7736
|
}
|
|
7673
7737
|
const fromColumnId = activeCard.columnId;
|
|
7674
|
-
const activeCardId = getCardId(activeData.card);
|
|
7675
7738
|
const baseColumns = projectedColumns ?? columns;
|
|
7676
7739
|
if (overData?.type === "card" || overData?.type === "column-droppable") {
|
|
7677
7740
|
const targetColumnId = overData.columnId;
|
|
@@ -7683,12 +7746,36 @@ function KanbanBoard({
|
|
|
7683
7746
|
const ordering = targetColumn.ordering ?? "manual";
|
|
7684
7747
|
setHoveredColumnId(targetColumnId);
|
|
7685
7748
|
if (ordering === "manual") {
|
|
7686
|
-
const
|
|
7687
|
-
|
|
7688
|
-
|
|
7689
|
-
|
|
7690
|
-
|
|
7691
|
-
|
|
7749
|
+
const originalTargetColumn = columns.find(
|
|
7750
|
+
(column) => column.id === targetColumnId
|
|
7751
|
+
);
|
|
7752
|
+
const projectedTargetColumn = baseColumns.find(
|
|
7753
|
+
(column) => column.id === targetColumnId
|
|
7754
|
+
);
|
|
7755
|
+
if (!originalTargetColumn) return;
|
|
7756
|
+
const originalLength = originalTargetColumn.cards.length;
|
|
7757
|
+
const activeCardId = getCardId(activeData.card);
|
|
7758
|
+
let nextIndex = null;
|
|
7759
|
+
if (overData.type === "column-droppable") {
|
|
7760
|
+
if (overData.location === "header") {
|
|
7761
|
+
nextIndex = 0;
|
|
7762
|
+
} else if (fromColumnId === targetColumnId) {
|
|
7763
|
+
nextIndex = originalLength - 1;
|
|
7764
|
+
} else {
|
|
7765
|
+
nextIndex = originalLength;
|
|
7766
|
+
}
|
|
7767
|
+
} else if (overData.type === "card") {
|
|
7768
|
+
if (fromColumnId === targetColumnId) {
|
|
7769
|
+
nextIndex = clampInsertIndex(overData.index, originalLength - 1);
|
|
7770
|
+
} else {
|
|
7771
|
+
const overCardId = getCardId(overData.card);
|
|
7772
|
+
const projectedOverIndex = projectedTargetColumn?.cards.findIndex(
|
|
7773
|
+
(card) => getCardId(card) === overCardId
|
|
7774
|
+
) ?? -1;
|
|
7775
|
+
const resolvedOverIndex = projectedOverIndex !== -1 ? projectedOverIndex : overData.index;
|
|
7776
|
+
nextIndex = clampInsertIndex(resolvedOverIndex, originalLength);
|
|
7777
|
+
}
|
|
7778
|
+
}
|
|
7692
7779
|
if (nextIndex === null) {
|
|
7693
7780
|
return;
|
|
7694
7781
|
}
|
|
@@ -7753,14 +7840,14 @@ function KanbanBoard({
|
|
|
7753
7840
|
},
|
|
7754
7841
|
[activeCard, activeColumn, columns, columnMap, getCardId, projectedColumns]
|
|
7755
7842
|
);
|
|
7756
|
-
const resetDragState =
|
|
7843
|
+
const resetDragState = React31__namespace.useCallback(() => {
|
|
7757
7844
|
setActiveCard(null);
|
|
7758
7845
|
setActiveColumn(null);
|
|
7759
7846
|
setHoveredColumnId(null);
|
|
7760
7847
|
setProjectedColumns(null);
|
|
7761
7848
|
manualDropPosition.current = null;
|
|
7762
7849
|
}, []);
|
|
7763
|
-
const handleDragEnd =
|
|
7850
|
+
const handleDragEnd = React31__namespace.useCallback(
|
|
7764
7851
|
(event) => {
|
|
7765
7852
|
const { active, over } = event;
|
|
7766
7853
|
const activeData = active.data.current;
|
|
@@ -7776,12 +7863,14 @@ function KanbanBoard({
|
|
|
7776
7863
|
resetDragState();
|
|
7777
7864
|
return;
|
|
7778
7865
|
}
|
|
7779
|
-
|
|
7866
|
+
const resolvedDropzone = resolveHeaderFooterDropzone(event);
|
|
7867
|
+
const resolvedOverData = resolvedDropzone ?? overData;
|
|
7868
|
+
if (resolvedOverData.type !== "card" && resolvedOverData.type !== "column-droppable") {
|
|
7780
7869
|
resetDragState();
|
|
7781
7870
|
return;
|
|
7782
7871
|
}
|
|
7783
7872
|
const fromColumnId = activeCard.columnId;
|
|
7784
|
-
const toColumnId =
|
|
7873
|
+
const toColumnId = pendingManualPosition?.columnId ?? resolvedOverData.columnId;
|
|
7785
7874
|
const ordering = columnMap.get(toColumnId)?.ordering ?? "manual";
|
|
7786
7875
|
const sourceColumn = columns.find(
|
|
7787
7876
|
(column) => column.id === fromColumnId
|
|
@@ -7791,23 +7880,49 @@ function KanbanBoard({
|
|
|
7791
7880
|
) ?? 0;
|
|
7792
7881
|
let toIndex = null;
|
|
7793
7882
|
if (ordering === "manual") {
|
|
7794
|
-
|
|
7795
|
-
|
|
7796
|
-
} else {
|
|
7883
|
+
const isExplicitHeaderFooterDrop = resolvedOverData.type === "column-droppable" && (resolvedOverData.location === "header" || resolvedOverData.location === "footer");
|
|
7884
|
+
if (isExplicitHeaderFooterDrop) {
|
|
7797
7885
|
const targetColumn = columns.find(
|
|
7798
7886
|
(column) => column.id === toColumnId
|
|
7799
7887
|
);
|
|
7800
|
-
if (targetColumn
|
|
7801
|
-
toIndex =
|
|
7802
|
-
|
|
7803
|
-
|
|
7804
|
-
} else if (
|
|
7888
|
+
if (!targetColumn) {
|
|
7889
|
+
toIndex = null;
|
|
7890
|
+
} else if (resolvedOverData.location === "header") {
|
|
7891
|
+
toIndex = 0;
|
|
7892
|
+
} else if (resolvedOverData.location === "footer") {
|
|
7805
7893
|
if (fromColumnId === toColumnId) {
|
|
7806
7894
|
toIndex = targetColumn.cards.length - 1;
|
|
7807
7895
|
} else {
|
|
7808
7896
|
toIndex = targetColumn.cards.length;
|
|
7809
7897
|
}
|
|
7810
7898
|
}
|
|
7899
|
+
} else {
|
|
7900
|
+
if (pendingManualPosition && pendingManualPosition.columnId === toColumnId) {
|
|
7901
|
+
toIndex = pendingManualPosition.index;
|
|
7902
|
+
} else {
|
|
7903
|
+
const targetColumn = columns.find(
|
|
7904
|
+
(column) => column.id === toColumnId
|
|
7905
|
+
);
|
|
7906
|
+
if (targetColumn && resolvedOverData.type === "card") {
|
|
7907
|
+
toIndex = targetColumn.cards.findIndex(
|
|
7908
|
+
(card) => getCardId(card) === getCardId(resolvedOverData.card)
|
|
7909
|
+
);
|
|
7910
|
+
} else if (targetColumn && resolvedOverData.type === "column-droppable") {
|
|
7911
|
+
if (resolvedOverData.location === "header") {
|
|
7912
|
+
toIndex = 0;
|
|
7913
|
+
} else if (resolvedOverData.location === "footer") {
|
|
7914
|
+
if (fromColumnId === toColumnId) {
|
|
7915
|
+
toIndex = targetColumn.cards.length - 1;
|
|
7916
|
+
} else {
|
|
7917
|
+
toIndex = targetColumn.cards.length;
|
|
7918
|
+
}
|
|
7919
|
+
} else if (fromColumnId === toColumnId) {
|
|
7920
|
+
toIndex = targetColumn.cards.length - 1;
|
|
7921
|
+
} else {
|
|
7922
|
+
toIndex = targetColumn.cards.length;
|
|
7923
|
+
}
|
|
7924
|
+
}
|
|
7925
|
+
}
|
|
7811
7926
|
}
|
|
7812
7927
|
}
|
|
7813
7928
|
if (ordering === "external") {
|
|
@@ -7878,13 +7993,35 @@ function KanbanBoard({
|
|
|
7878
7993
|
onCardDrop,
|
|
7879
7994
|
onColumnDrop,
|
|
7880
7995
|
projectedColumns,
|
|
7881
|
-
resetDragState
|
|
7996
|
+
resetDragState,
|
|
7997
|
+
resolveHeaderFooterDropzone
|
|
7882
7998
|
]
|
|
7883
7999
|
);
|
|
8000
|
+
const collisionDetectionStrategy = React31__namespace.useCallback(
|
|
8001
|
+
(args) => {
|
|
8002
|
+
const baseCollisionDetection = collisionDetection ?? core.rectIntersection;
|
|
8003
|
+
const pointerCollisions = core.pointerWithin(args);
|
|
8004
|
+
const preferredCollision = pointerCollisions.find((collision) => {
|
|
8005
|
+
const droppableData = collision.data?.droppableContainer?.data?.current;
|
|
8006
|
+
return droppableData?.type === "column-droppable" && (droppableData.location === "header" || droppableData.location === "footer");
|
|
8007
|
+
});
|
|
8008
|
+
const baseCollisions = baseCollisionDetection(args);
|
|
8009
|
+
if (!preferredCollision) {
|
|
8010
|
+
return baseCollisions;
|
|
8011
|
+
}
|
|
8012
|
+
return [
|
|
8013
|
+
preferredCollision,
|
|
8014
|
+
...baseCollisions.filter(
|
|
8015
|
+
(collision) => collision.id !== preferredCollision.id
|
|
8016
|
+
)
|
|
8017
|
+
];
|
|
8018
|
+
},
|
|
8019
|
+
[collisionDetection]
|
|
8020
|
+
);
|
|
7884
8021
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7885
8022
|
core.DndContext,
|
|
7886
8023
|
{
|
|
7887
|
-
collisionDetection,
|
|
8024
|
+
collisionDetection: collisionDetectionStrategy,
|
|
7888
8025
|
modifiers,
|
|
7889
8026
|
sensors,
|
|
7890
8027
|
measuring: measuringConfig,
|
|
@@ -7902,7 +8039,7 @@ function KanbanBoard({
|
|
|
7902
8039
|
"div",
|
|
7903
8040
|
{
|
|
7904
8041
|
className: cn(
|
|
7905
|
-
"flex h-full w-full gap-4 overflow-x-auto p-1",
|
|
8042
|
+
"relative flex h-full w-full gap-4 overflow-x-auto p-1",
|
|
7906
8043
|
className
|
|
7907
8044
|
),
|
|
7908
8045
|
children: sanitizedColumns.map((column, index) => {
|