@mlw-packages/react-components 1.10.2 → 1.10.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +19 -12
- package/dist/index.d.mts +20 -9
- package/dist/index.d.ts +20 -9
- package/dist/index.js +252 -272
- package/dist/index.mjs +252 -273
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -1532,7 +1532,7 @@ var TooltipContentBase = React32.forwardRef(
|
|
|
1532
1532
|
...props,
|
|
1533
1533
|
children: [
|
|
1534
1534
|
props.children,
|
|
1535
|
-
/* @__PURE__ */ jsx(TooltipPrimitive.Arrow, { className: "fill-primary" })
|
|
1535
|
+
/* @__PURE__ */ jsx(TooltipPrimitive.Arrow, { className: "fill-primary h-1.5 w-3" })
|
|
1536
1536
|
]
|
|
1537
1537
|
}
|
|
1538
1538
|
) });
|
|
@@ -2323,7 +2323,7 @@ function ComboboxBase({
|
|
|
2323
2323
|
"aria-disabled": disabled || void 0,
|
|
2324
2324
|
disabled,
|
|
2325
2325
|
className: cn(
|
|
2326
|
-
`flex items-center gap-2 justify-between [&>div]:line-clamp-1 relative h-9 no-active-animation`,
|
|
2326
|
+
`flex items-center gap-2 justify-between [&>div]:line-clamp-1 relative h-9 no-active-animation font-light`,
|
|
2327
2327
|
error && "border-red-500"
|
|
2328
2328
|
),
|
|
2329
2329
|
"data-testid": testIds.trigger ?? "combobox-trigger",
|
|
@@ -2465,7 +2465,7 @@ function Combobox({
|
|
|
2465
2465
|
className: cn(
|
|
2466
2466
|
"truncate",
|
|
2467
2467
|
disabled && "opacity-60 cursor-not-allowed",
|
|
2468
|
-
!selectedItem && "text-
|
|
2468
|
+
!selectedItem && "text-muted-foreground"
|
|
2469
2469
|
),
|
|
2470
2470
|
children: selectedItem?.label ?? placeholder ?? "Selecione uma op\xE7\xE3o..."
|
|
2471
2471
|
}
|
|
@@ -2675,46 +2675,48 @@ function MultiSelectValueBase({
|
|
|
2675
2675
|
if (valueRef.current == null) return;
|
|
2676
2676
|
const containerElement = valueRef.current;
|
|
2677
2677
|
const overflowElement = overflowRef.current;
|
|
2678
|
-
const
|
|
2678
|
+
const badgeItems = containerElement.querySelectorAll(
|
|
2679
2679
|
"[data-selected-item]"
|
|
2680
2680
|
);
|
|
2681
2681
|
if (overflowElement != null) overflowElement.style.display = "none";
|
|
2682
|
-
|
|
2682
|
+
badgeItems.forEach((child) => child.style.removeProperty("display"));
|
|
2683
|
+
if (shouldWrap) {
|
|
2684
|
+
setOverflowAmount(0);
|
|
2685
|
+
return;
|
|
2686
|
+
}
|
|
2683
2687
|
let amount = 0;
|
|
2684
|
-
for (let i =
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
}
|
|
2689
|
-
amount = items2.length - i;
|
|
2688
|
+
for (let i = badgeItems.length - 1; i >= 0; i--) {
|
|
2689
|
+
if (containerElement.scrollWidth <= containerElement.clientWidth) break;
|
|
2690
|
+
const child = badgeItems[i];
|
|
2691
|
+
amount = badgeItems.length - i;
|
|
2690
2692
|
child.style.display = "none";
|
|
2691
|
-
overflowElement
|
|
2693
|
+
if (overflowElement != null) {
|
|
2694
|
+
overflowElement.style.removeProperty("display");
|
|
2695
|
+
}
|
|
2692
2696
|
}
|
|
2693
2697
|
setOverflowAmount(amount);
|
|
2698
|
+
}, [shouldWrap]);
|
|
2699
|
+
useEffect(() => {
|
|
2700
|
+
if (overflowRef.current) {
|
|
2701
|
+
overflowRef.current.style.display = "none";
|
|
2702
|
+
}
|
|
2694
2703
|
}, []);
|
|
2704
|
+
useEffect(() => {
|
|
2705
|
+
checkOverflow();
|
|
2706
|
+
}, [open, shouldWrap, checkOverflow]);
|
|
2695
2707
|
const handleResize = useCallback(
|
|
2696
2708
|
(node) => {
|
|
2697
2709
|
if (node == null) {
|
|
2698
2710
|
valueRef.current = null;
|
|
2699
|
-
|
|
2700
|
-
resizeObserverRef.current.disconnect();
|
|
2701
|
-
resizeObserverRef.current = null;
|
|
2702
|
-
}
|
|
2703
|
-
if (mutationObserverRef.current) {
|
|
2704
|
-
mutationObserverRef.current.disconnect();
|
|
2705
|
-
mutationObserverRef.current = null;
|
|
2706
|
-
}
|
|
2707
|
-
return;
|
|
2708
|
-
}
|
|
2709
|
-
valueRef.current = node;
|
|
2710
|
-
if (resizeObserverRef.current) {
|
|
2711
|
-
resizeObserverRef.current.disconnect();
|
|
2711
|
+
resizeObserverRef.current?.disconnect();
|
|
2712
2712
|
resizeObserverRef.current = null;
|
|
2713
|
-
|
|
2714
|
-
if (mutationObserverRef.current) {
|
|
2715
|
-
mutationObserverRef.current.disconnect();
|
|
2713
|
+
mutationObserverRef.current?.disconnect();
|
|
2716
2714
|
mutationObserverRef.current = null;
|
|
2715
|
+
return;
|
|
2717
2716
|
}
|
|
2717
|
+
valueRef.current = node;
|
|
2718
|
+
resizeObserverRef.current?.disconnect();
|
|
2719
|
+
mutationObserverRef.current?.disconnect();
|
|
2718
2720
|
const mo = new MutationObserver(checkOverflow);
|
|
2719
2721
|
const ro = new ResizeObserver(debounce(checkOverflow, 100));
|
|
2720
2722
|
mutationObserverRef.current = mo;
|
|
@@ -2729,6 +2731,7 @@ function MultiSelectValueBase({
|
|
|
2729
2731
|
},
|
|
2730
2732
|
[checkOverflow]
|
|
2731
2733
|
);
|
|
2734
|
+
const [overflowHovered, setOverflowHovered] = useState(false);
|
|
2732
2735
|
const visibleSelected = [...selectedValues].filter((value) => items.has(value)).sort((a, b) => {
|
|
2733
2736
|
const aNode = items.get(a);
|
|
2734
2737
|
const bNode = items.get(b);
|
|
@@ -2756,7 +2759,7 @@ function MultiSelectValueBase({
|
|
|
2756
2759
|
{
|
|
2757
2760
|
"data-selected-item": true,
|
|
2758
2761
|
size: "sm",
|
|
2759
|
-
className: "group flex items-center gap-1
|
|
2762
|
+
className: "group flex items-center gap-1 border-border shrink-0",
|
|
2760
2763
|
onClick: clickToRemove ? (e) => {
|
|
2761
2764
|
e.stopPropagation();
|
|
2762
2765
|
toggleValue(value);
|
|
@@ -2768,19 +2771,38 @@ function MultiSelectValueBase({
|
|
|
2768
2771
|
},
|
|
2769
2772
|
value
|
|
2770
2773
|
)),
|
|
2771
|
-
/* @__PURE__ */ jsxs(
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
"
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2774
|
+
overflowAmount > 0 && /* @__PURE__ */ jsx(TooltipProviderBase, { children: /* @__PURE__ */ jsxs(TooltipBase, { open: overflowHovered, children: [
|
|
2775
|
+
/* @__PURE__ */ jsx(TooltipTriggerBase, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
2776
|
+
"div",
|
|
2777
|
+
{
|
|
2778
|
+
ref: overflowRef,
|
|
2779
|
+
className: "inline-flex",
|
|
2780
|
+
onMouseEnter: () => setOverflowHovered(true),
|
|
2781
|
+
onMouseLeave: () => setOverflowHovered(false),
|
|
2782
|
+
children: /* @__PURE__ */ jsxs(Badge, { size: "sm", className: "shrink-0 cursor-default", children: [
|
|
2783
|
+
"+",
|
|
2784
|
+
overflowAmount
|
|
2785
|
+
] })
|
|
2786
|
+
}
|
|
2787
|
+
) }),
|
|
2788
|
+
/* @__PURE__ */ jsxs(TooltipContentBase, { className: "p-2 max-w-xs", children: [
|
|
2789
|
+
/* @__PURE__ */ jsxs("p", { className: "text-xs font-medium text-primary-foreground/60 mb-1.5 px-1", children: [
|
|
2790
|
+
overflowAmount,
|
|
2791
|
+
" item",
|
|
2792
|
+
overflowAmount > 1 ? "s" : "",
|
|
2793
|
+
" oculto",
|
|
2794
|
+
overflowAmount > 1 ? "s" : ""
|
|
2795
|
+
] }),
|
|
2796
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1", children: visibleSelected.slice(visibleSelected.length - overflowAmount).map((value) => /* @__PURE__ */ jsx(
|
|
2797
|
+
"span",
|
|
2798
|
+
{
|
|
2799
|
+
className: "inline-flex items-center rounded-md bg-primary-foreground/15 px-2 py-0.5 text-xs font-medium text-primary-foreground",
|
|
2800
|
+
children: typeof items.get(value) === "string" ? items.get(value) : value
|
|
2801
|
+
},
|
|
2802
|
+
value
|
|
2803
|
+
)) })
|
|
2804
|
+
] })
|
|
2805
|
+
] }) })
|
|
2784
2806
|
]
|
|
2785
2807
|
}
|
|
2786
2808
|
);
|
|
@@ -2842,7 +2864,7 @@ function MultiSelectItemBase({
|
|
|
2842
2864
|
...props
|
|
2843
2865
|
}) {
|
|
2844
2866
|
const { toggleValue, selectedValues, onItemAdded } = useMultiSelectContext();
|
|
2845
|
-
const
|
|
2867
|
+
const [hovered, setHovered] = useState(false);
|
|
2846
2868
|
useEffect(() => {
|
|
2847
2869
|
onItemAdded(value, badgeLabel ?? children);
|
|
2848
2870
|
}, [value, children, onItemAdded, badgeLabel]);
|
|
@@ -2854,17 +2876,35 @@ function MultiSelectItemBase({
|
|
|
2854
2876
|
toggleValue(value);
|
|
2855
2877
|
onSelect?.(value);
|
|
2856
2878
|
},
|
|
2857
|
-
children: /* @__PURE__ */ jsxs(
|
|
2858
|
-
/* @__PURE__ */ jsx("span", { className: "
|
|
2859
|
-
|
|
2879
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center justify-between gap-2", children: [
|
|
2880
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0 truncate", children }),
|
|
2881
|
+
/* @__PURE__ */ jsx(
|
|
2882
|
+
"div",
|
|
2860
2883
|
{
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
|
|
2864
|
-
children: /* @__PURE__ */ jsx(
|
|
2884
|
+
className: "relative flex h-4 w-4 shrink-0 items-center justify-center",
|
|
2885
|
+
onMouseEnter: () => setHovered(true),
|
|
2886
|
+
onMouseLeave: () => setHovered(false),
|
|
2887
|
+
children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: selectedValues.has(value) && (hovered ? /* @__PURE__ */ jsx(
|
|
2888
|
+
motion.div,
|
|
2889
|
+
{
|
|
2890
|
+
initial: { scale: 0, rotate: -90, opacity: 0 },
|
|
2891
|
+
animate: { scale: 1, rotate: 0, opacity: 1 },
|
|
2892
|
+
transition: { duration: 0.05, ease: "easeOut" },
|
|
2893
|
+
children: /* @__PURE__ */ jsx(XIcon, { className: "size-4 text-destructive" })
|
|
2894
|
+
},
|
|
2895
|
+
"x"
|
|
2896
|
+
) : /* @__PURE__ */ jsx(
|
|
2897
|
+
motion.div,
|
|
2898
|
+
{
|
|
2899
|
+
initial: { scale: 0, rotate: 90, opacity: 0 },
|
|
2900
|
+
animate: { scale: 1, rotate: 0, opacity: 1 },
|
|
2901
|
+
transition: { duration: 0.05, ease: "easeOut" },
|
|
2902
|
+
children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" })
|
|
2903
|
+
},
|
|
2904
|
+
"check"
|
|
2905
|
+
)) })
|
|
2865
2906
|
}
|
|
2866
|
-
)
|
|
2867
|
-
children
|
|
2907
|
+
)
|
|
2868
2908
|
] })
|
|
2869
2909
|
}
|
|
2870
2910
|
);
|
|
@@ -3646,6 +3686,15 @@ var CardFooterBase = React32.forwardRef(({ className, testid: dataTestId = "card
|
|
|
3646
3686
|
}
|
|
3647
3687
|
));
|
|
3648
3688
|
CardFooterBase.displayName = "CardFooter";
|
|
3689
|
+
var FileAccept = {
|
|
3690
|
+
Image: "image/*",
|
|
3691
|
+
Document: "pdf,doc,docx,txt,rtf",
|
|
3692
|
+
Spreadsheet: "xls,xlsx,csv",
|
|
3693
|
+
Presentation: "ppt,pptx",
|
|
3694
|
+
Video: "video/*",
|
|
3695
|
+
Audio: "audio/*",
|
|
3696
|
+
All: "*"
|
|
3697
|
+
};
|
|
3649
3698
|
var formatFileSize = (bytes) => {
|
|
3650
3699
|
if (bytes === 0) return "0 Bytes";
|
|
3651
3700
|
const k = 1024;
|
|
@@ -3653,67 +3702,63 @@ var formatFileSize = (bytes) => {
|
|
|
3653
3702
|
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
3654
3703
|
return Math.round(bytes / Math.pow(k, i) * 100) / 100 + " " + sizes[i];
|
|
3655
3704
|
};
|
|
3656
|
-
var getFileExtension = (filename) =>
|
|
3657
|
-
|
|
3705
|
+
var getFileExtension = (filename) => filename.slice((filename.lastIndexOf(".") - 1 >>> 0) + 2);
|
|
3706
|
+
var parseAcceptTokens = (accept) => accept.split(",").map((t) => t.trim().toLowerCase()).filter(Boolean);
|
|
3707
|
+
var validateFileAgainstAccept = (file, accept) => {
|
|
3708
|
+
if (!accept || accept === "*") return true;
|
|
3709
|
+
const tokens = parseAcceptTokens(accept);
|
|
3710
|
+
const ext = getFileExtension(file.name).toLowerCase();
|
|
3711
|
+
const mime = file.type.toLowerCase();
|
|
3712
|
+
return tokens.some((token) => {
|
|
3713
|
+
if (token.endsWith("/*")) return mime.startsWith(token.replace("/*", ""));
|
|
3714
|
+
const tokenExt = token.startsWith(".") ? token.substring(1) : token;
|
|
3715
|
+
if (!token.includes("/")) return ext === tokenExt;
|
|
3716
|
+
return mime === token;
|
|
3717
|
+
});
|
|
3718
|
+
};
|
|
3719
|
+
var formatAcceptForInput = (accept) => {
|
|
3720
|
+
if (!accept || accept === "*") return void 0;
|
|
3721
|
+
return parseAcceptTokens(accept).map((t) => t.includes("/") || t.startsWith(".") ? t : `.${t}`).join(",");
|
|
3658
3722
|
};
|
|
3659
3723
|
var getFileTypeIcon = (file) => {
|
|
3660
3724
|
const extension = getFileExtension(file.name).toLowerCase();
|
|
3661
3725
|
const mimeType = file.type.toLowerCase();
|
|
3662
|
-
if (extension === "pdf" || mimeType === "application/pdf")
|
|
3726
|
+
if (extension === "pdf" || mimeType === "application/pdf")
|
|
3663
3727
|
return /* @__PURE__ */ jsx(FilePdfIcon, { size: 20, className: "text-red-500" });
|
|
3664
|
-
|
|
3665
|
-
if (["doc", "docx"].includes(extension) || mimeType.includes("word")) {
|
|
3728
|
+
if (["doc", "docx"].includes(extension) || mimeType.includes("word"))
|
|
3666
3729
|
return /* @__PURE__ */ jsx(FileDocIcon, { size: 20, className: "text-blue-500" });
|
|
3667
|
-
|
|
3668
|
-
if (["xls", "xlsx"].includes(extension) || mimeType.includes("sheet")) {
|
|
3730
|
+
if (["xls", "xlsx"].includes(extension) || mimeType.includes("sheet"))
|
|
3669
3731
|
return /* @__PURE__ */ jsx(FileXlsIcon, { size: 20, className: "text-green-500" });
|
|
3670
|
-
|
|
3671
|
-
if (["ppt", "pptx"].includes(extension) || mimeType.includes("presentation")) {
|
|
3732
|
+
if (["ppt", "pptx"].includes(extension) || mimeType.includes("presentation"))
|
|
3672
3733
|
return /* @__PURE__ */ jsx(FilePptIcon, { size: 20, className: "text-orange-500" });
|
|
3673
|
-
|
|
3674
|
-
if (extension === "csv" || mimeType === "text/csv") {
|
|
3734
|
+
if (extension === "csv" || mimeType === "text/csv")
|
|
3675
3735
|
return /* @__PURE__ */ jsx(FileCsvIcon, { size: 20, className: "text-green-600" });
|
|
3676
|
-
}
|
|
3677
3736
|
if (["txt", "md", "json", "xml", "js", "ts", "html", "css"].includes(
|
|
3678
3737
|
extension
|
|
3679
|
-
) || mimeType.includes("text"))
|
|
3738
|
+
) || mimeType.includes("text"))
|
|
3680
3739
|
return /* @__PURE__ */ jsx(FileTextIcon, { size: 20, className: "text-gray-500" });
|
|
3681
|
-
|
|
3682
|
-
if (mimeType.startsWith("image/")) {
|
|
3740
|
+
if (mimeType.startsWith("image/"))
|
|
3683
3741
|
return /* @__PURE__ */ jsx(FileImageIcon, { size: 20, className: "text-purple-500" });
|
|
3684
|
-
|
|
3685
|
-
if (mimeType.startsWith("video/")) {
|
|
3742
|
+
if (mimeType.startsWith("video/"))
|
|
3686
3743
|
return /* @__PURE__ */ jsx(FileVideoIcon, { size: 20, className: "text-pink-500" });
|
|
3687
|
-
|
|
3688
|
-
if (mimeType.startsWith("audio/")) {
|
|
3744
|
+
if (mimeType.startsWith("audio/"))
|
|
3689
3745
|
return /* @__PURE__ */ jsx(FileAudioIcon, { size: 20, className: "text-indigo-500" });
|
|
3690
|
-
|
|
3691
|
-
if (["zip", "rar", "7z", "tar", "gz"].includes(extension)) {
|
|
3746
|
+
if (["zip", "rar", "7z", "tar", "gz"].includes(extension))
|
|
3692
3747
|
return /* @__PURE__ */ jsx(FileZipIcon, { size: 20, className: "text-yellow-600" });
|
|
3693
|
-
}
|
|
3694
3748
|
return /* @__PURE__ */ jsx(FileIcon, { size: 20, className: "text-muted-foreground" });
|
|
3695
3749
|
};
|
|
3696
|
-
var createImagePreview = (file) => {
|
|
3697
|
-
|
|
3698
|
-
|
|
3699
|
-
|
|
3700
|
-
|
|
3701
|
-
|
|
3702
|
-
|
|
3703
|
-
reader.onload = (e) => {
|
|
3704
|
-
resolve(e.target?.result);
|
|
3705
|
-
};
|
|
3706
|
-
reader.onerror = () => {
|
|
3707
|
-
resolve(null);
|
|
3708
|
-
};
|
|
3709
|
-
reader.readAsDataURL(file);
|
|
3710
|
-
});
|
|
3711
|
-
};
|
|
3750
|
+
var createImagePreview = (file) => new Promise((resolve) => {
|
|
3751
|
+
if (!file.type.startsWith("image/")) return resolve(null);
|
|
3752
|
+
const reader = new FileReader();
|
|
3753
|
+
reader.onload = (e) => resolve(e.target?.result);
|
|
3754
|
+
reader.onerror = () => resolve(null);
|
|
3755
|
+
reader.readAsDataURL(file);
|
|
3756
|
+
});
|
|
3712
3757
|
var FileUploader = React32.forwardRef(
|
|
3713
3758
|
({
|
|
3714
3759
|
className,
|
|
3715
|
-
accept,
|
|
3716
|
-
maxSize,
|
|
3760
|
+
accept = "*",
|
|
3761
|
+
maxSize = 10,
|
|
3717
3762
|
maxFiles = 1,
|
|
3718
3763
|
disabled = false,
|
|
3719
3764
|
value = [],
|
|
@@ -3735,71 +3780,49 @@ var FileUploader = React32.forwardRef(
|
|
|
3735
3780
|
}, [value]);
|
|
3736
3781
|
React32.useEffect(() => {
|
|
3737
3782
|
return () => {
|
|
3738
|
-
files.forEach((
|
|
3739
|
-
if (
|
|
3740
|
-
URL.revokeObjectURL(file.preview);
|
|
3741
|
-
}
|
|
3783
|
+
files.forEach((f) => {
|
|
3784
|
+
if (f.preview) URL.revokeObjectURL(f.preview);
|
|
3742
3785
|
});
|
|
3743
3786
|
};
|
|
3744
3787
|
}, [files]);
|
|
3745
3788
|
const validateFile = (file) => {
|
|
3746
|
-
if (file.size > maxSize)
|
|
3747
|
-
return `Arquivo muito grande. M\xE1ximo: ${
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
const fileExtension = `.${getFileExtension(file.name)}`;
|
|
3751
|
-
const fileType = file.type;
|
|
3752
|
-
const isAccepted = accept.some((acceptItem) => {
|
|
3753
|
-
if (acceptItem.startsWith(".")) {
|
|
3754
|
-
return fileExtension.toLowerCase() === acceptItem.toLowerCase();
|
|
3755
|
-
}
|
|
3756
|
-
if (acceptItem.endsWith("/*")) {
|
|
3757
|
-
return fileType.startsWith(acceptItem.replace("/*", ""));
|
|
3758
|
-
}
|
|
3759
|
-
return fileType === acceptItem;
|
|
3760
|
-
});
|
|
3761
|
-
if (!isAccepted) {
|
|
3762
|
-
return `Tipo de arquivo n\xE3o permitido. Aceitos: ${accept.join(", ")}`;
|
|
3763
|
-
}
|
|
3764
|
-
}
|
|
3789
|
+
if (file.size > maxSize * 1024 * 1024)
|
|
3790
|
+
return `Arquivo muito grande. M\xE1ximo: ${maxSize}MB`;
|
|
3791
|
+
if (!validateFileAgainstAccept(file, accept))
|
|
3792
|
+
return `Tipo n\xE3o permitido. Aceitos: ${accept}`;
|
|
3765
3793
|
return null;
|
|
3766
3794
|
};
|
|
3767
3795
|
const createFileWithPreview = async (file) => {
|
|
3768
|
-
const
|
|
3769
|
-
|
|
3770
|
-
|
|
3771
|
-
if (error) {
|
|
3772
|
-
fileWithPreview.error = error;
|
|
3773
|
-
}
|
|
3774
|
-
if (file.type.startsWith("image/")) {
|
|
3796
|
+
const f = file;
|
|
3797
|
+
f.id = `${file.name}-${Date.now()}-${Math.random()}`;
|
|
3798
|
+
f.error = validateFile(file) ?? void 0;
|
|
3799
|
+
if (!f.error && file.type.startsWith("image/")) {
|
|
3775
3800
|
try {
|
|
3776
3801
|
const preview = await createImagePreview(file);
|
|
3777
|
-
if (preview)
|
|
3778
|
-
|
|
3779
|
-
|
|
3780
|
-
} catch (error2) {
|
|
3781
|
-
console.warn("Erro ao criar preview da imagem:", error2);
|
|
3802
|
+
if (preview) f.preview = preview;
|
|
3803
|
+
} catch (err) {
|
|
3804
|
+
console.warn("Erro ao criar preview:", err);
|
|
3782
3805
|
}
|
|
3783
3806
|
}
|
|
3784
|
-
return
|
|
3807
|
+
return f;
|
|
3785
3808
|
};
|
|
3786
3809
|
const handleFiles = async (newFiles) => {
|
|
3787
3810
|
if (disabled) return;
|
|
3788
|
-
const
|
|
3789
|
-
const filesToAdd = multiple ? newFiles.slice(0,
|
|
3790
|
-
const
|
|
3791
|
-
filesToAdd.map(
|
|
3811
|
+
const slots = maxFiles - files.length;
|
|
3812
|
+
const filesToAdd = multiple ? newFiles.slice(0, slots) : [newFiles[0]];
|
|
3813
|
+
const processed = await Promise.all(
|
|
3814
|
+
filesToAdd.map(createFileWithPreview)
|
|
3792
3815
|
);
|
|
3793
|
-
const
|
|
3794
|
-
setFiles(
|
|
3795
|
-
onValueChange(
|
|
3816
|
+
const updated = multiple ? [...files, ...processed] : processed;
|
|
3817
|
+
setFiles(updated);
|
|
3818
|
+
onValueChange(updated);
|
|
3796
3819
|
if (onUpload) {
|
|
3797
|
-
const
|
|
3798
|
-
if (
|
|
3820
|
+
const valid = processed.filter((f) => !f.error);
|
|
3821
|
+
if (valid.length > 0) {
|
|
3799
3822
|
try {
|
|
3800
|
-
await onUpload(
|
|
3801
|
-
} catch (
|
|
3802
|
-
console.error("Erro no upload:",
|
|
3823
|
+
await onUpload(valid);
|
|
3824
|
+
} catch (err) {
|
|
3825
|
+
console.error("Erro no upload:", err);
|
|
3803
3826
|
}
|
|
3804
3827
|
}
|
|
3805
3828
|
}
|
|
@@ -3808,17 +3831,12 @@ var FileUploader = React32.forwardRef(
|
|
|
3808
3831
|
e.preventDefault();
|
|
3809
3832
|
e.stopPropagation();
|
|
3810
3833
|
dragCounterRef.current++;
|
|
3811
|
-
if (e.dataTransfer.items
|
|
3812
|
-
setIsDragging(true);
|
|
3813
|
-
}
|
|
3834
|
+
if (e.dataTransfer.items?.length > 0) setIsDragging(true);
|
|
3814
3835
|
};
|
|
3815
3836
|
const handleDragLeave = (e) => {
|
|
3816
3837
|
e.preventDefault();
|
|
3817
3838
|
e.stopPropagation();
|
|
3818
|
-
dragCounterRef.current
|
|
3819
|
-
if (dragCounterRef.current === 0) {
|
|
3820
|
-
setIsDragging(false);
|
|
3821
|
-
}
|
|
3839
|
+
if (--dragCounterRef.current === 0) setIsDragging(false);
|
|
3822
3840
|
};
|
|
3823
3841
|
const handleDragOver = (e) => {
|
|
3824
3842
|
e.preventDefault();
|
|
@@ -3829,47 +3847,33 @@ var FileUploader = React32.forwardRef(
|
|
|
3829
3847
|
e.stopPropagation();
|
|
3830
3848
|
setIsDragging(false);
|
|
3831
3849
|
dragCounterRef.current = 0;
|
|
3832
|
-
if (disabled)
|
|
3833
|
-
const droppedFiles = Array.from(e.dataTransfer.files);
|
|
3834
|
-
handleFiles(droppedFiles);
|
|
3850
|
+
if (!disabled) handleFiles(Array.from(e.dataTransfer.files));
|
|
3835
3851
|
};
|
|
3836
3852
|
const handleInputChange = (e) => {
|
|
3837
|
-
if (e.target.files)
|
|
3838
|
-
const selectedFiles = Array.from(e.target.files);
|
|
3839
|
-
handleFiles(selectedFiles);
|
|
3840
|
-
}
|
|
3853
|
+
if (e.target.files) handleFiles(Array.from(e.target.files));
|
|
3841
3854
|
};
|
|
3842
3855
|
const handleRemoveFile = (fileId) => {
|
|
3843
|
-
const
|
|
3844
|
-
if (
|
|
3845
|
-
|
|
3846
|
-
|
|
3847
|
-
|
|
3848
|
-
setFiles(updatedFiles);
|
|
3849
|
-
onValueChange(updatedFiles);
|
|
3850
|
-
};
|
|
3851
|
-
const handleClick = () => {
|
|
3852
|
-
if (!disabled) {
|
|
3853
|
-
inputRef.current?.click();
|
|
3854
|
-
}
|
|
3856
|
+
const target = files.find((f) => f.id === fileId);
|
|
3857
|
+
if (target?.preview) URL.revokeObjectURL(target.preview);
|
|
3858
|
+
const updated = files.filter((f) => f.id !== fileId);
|
|
3859
|
+
setFiles(updated);
|
|
3860
|
+
onValueChange(updated);
|
|
3855
3861
|
};
|
|
3856
|
-
const
|
|
3857
|
-
const defaultSubtext = dropzoneSubtext || `Formatos: ${accept.join(", ")}. M\xE1ximo: ${formatFileSize(maxSize)}`;
|
|
3862
|
+
const defaultSubtext = dropzoneSubtext ?? `${accept === "*" ? "Qualquer formato" : accept} (M\xE1x: ${maxSize}MB)`;
|
|
3858
3863
|
return /* @__PURE__ */ jsx("div", { ref, className: cn("w-full", className), ...props, children: /* @__PURE__ */ jsxs(
|
|
3859
3864
|
motion.div,
|
|
3860
3865
|
{
|
|
3861
3866
|
className: cn(
|
|
3862
|
-
"relative flex cursor-pointer flex-col items-center justify-center rounded-xl border-2 border-dashed p-
|
|
3867
|
+
"relative flex cursor-pointer flex-col items-center justify-center rounded-xl border-2 border-dashed p-5 transition-all duration-300 dark:shadow-black/20",
|
|
3863
3868
|
isDragging && "border-primary bg-primary/10 scale-[1.02]",
|
|
3864
3869
|
!isDragging && "border-border hover:border-primary/60 hover:bg-muted/50",
|
|
3865
|
-
disabled && "cursor-not-allowed opacity-50
|
|
3870
|
+
disabled && "cursor-not-allowed opacity-50"
|
|
3866
3871
|
),
|
|
3867
3872
|
onDragEnter: handleDragEnter,
|
|
3868
3873
|
onDragOver: handleDragOver,
|
|
3869
3874
|
onDragLeave: handleDragLeave,
|
|
3870
3875
|
onDrop: handleDrop,
|
|
3871
|
-
onClick:
|
|
3872
|
-
whileHover: !disabled ? { scale: 1.01 } : void 0,
|
|
3876
|
+
onClick: () => !disabled && inputRef.current?.click(),
|
|
3873
3877
|
whileTap: !disabled ? { scale: 0.99 } : void 0,
|
|
3874
3878
|
animate: isDragging ? {
|
|
3875
3879
|
borderColor: `hsl(var(--primary))`,
|
|
@@ -3880,12 +3884,7 @@ var FileUploader = React32.forwardRef(
|
|
|
3880
3884
|
backgroundColor: `hsl(var(--background))`,
|
|
3881
3885
|
scale: 1
|
|
3882
3886
|
},
|
|
3883
|
-
transition: {
|
|
3884
|
-
type: "spring",
|
|
3885
|
-
stiffness: 300,
|
|
3886
|
-
damping: 25,
|
|
3887
|
-
duration: 0.3
|
|
3888
|
-
},
|
|
3887
|
+
transition: { type: "spring", stiffness: 300, damping: 25 },
|
|
3889
3888
|
children: [
|
|
3890
3889
|
/* @__PURE__ */ jsx(
|
|
3891
3890
|
"input",
|
|
@@ -3893,7 +3892,7 @@ var FileUploader = React32.forwardRef(
|
|
|
3893
3892
|
ref: inputRef,
|
|
3894
3893
|
type: "file",
|
|
3895
3894
|
className: "hidden",
|
|
3896
|
-
accept:
|
|
3895
|
+
accept: formatAcceptForInput(accept),
|
|
3897
3896
|
multiple,
|
|
3898
3897
|
disabled,
|
|
3899
3898
|
onChange: handleInputChange
|
|
@@ -3903,20 +3902,11 @@ var FileUploader = React32.forwardRef(
|
|
|
3903
3902
|
motion.div,
|
|
3904
3903
|
{
|
|
3905
3904
|
animate: isDragging ? { scale: 1.2, rotate: 10 } : { scale: 1, rotate: 0 },
|
|
3906
|
-
transition: {
|
|
3907
|
-
type: "spring",
|
|
3908
|
-
stiffness: 300,
|
|
3909
|
-
damping: 20,
|
|
3910
|
-
duration: 0.3
|
|
3911
|
-
},
|
|
3905
|
+
transition: { type: "spring", stiffness: 300, damping: 20 },
|
|
3912
3906
|
children: /* @__PURE__ */ jsx(
|
|
3913
3907
|
motion.div,
|
|
3914
3908
|
{
|
|
3915
|
-
className:
|
|
3916
|
-
"mb-4 h-16 w-16 text-muted-foreground transition-colors duration-300 drop-shadow-lg flex items-center justify-center",
|
|
3917
|
-
isDragging && "text-primary"
|
|
3918
|
-
),
|
|
3919
|
-
initial: false,
|
|
3909
|
+
className: "mb-4 h-16 w-16 drop-shadow-lg flex items-center justify-center",
|
|
3920
3910
|
animate: {
|
|
3921
3911
|
color: isDragging ? `hsl(var(--primary))` : `hsl(var(--muted-foreground))`
|
|
3922
3912
|
},
|
|
@@ -3929,7 +3919,7 @@ var FileUploader = React32.forwardRef(
|
|
|
3929
3919
|
/* @__PURE__ */ jsx(
|
|
3930
3920
|
motion.p,
|
|
3931
3921
|
{
|
|
3932
|
-
className: "mb-2 text-
|
|
3922
|
+
className: "mb-2 text-xs font-semibold text-foreground",
|
|
3933
3923
|
initial: animate ? { opacity: 0, y: -10 } : false,
|
|
3934
3924
|
animate: { opacity: 1, y: 0 },
|
|
3935
3925
|
transition: { delay: 0.1 },
|
|
@@ -3939,63 +3929,29 @@ var FileUploader = React32.forwardRef(
|
|
|
3939
3929
|
/* @__PURE__ */ jsx(
|
|
3940
3930
|
motion.p,
|
|
3941
3931
|
{
|
|
3942
|
-
className: "text-
|
|
3932
|
+
className: "text-xs text-muted-foreground",
|
|
3943
3933
|
initial: animate ? { opacity: 0, y: -10 } : false,
|
|
3944
3934
|
animate: { opacity: 1, y: 0 },
|
|
3945
3935
|
transition: { delay: 0.2 },
|
|
3946
3936
|
children: defaultSubtext
|
|
3947
3937
|
}
|
|
3948
3938
|
),
|
|
3949
|
-
|
|
3950
|
-
motion.div,
|
|
3951
|
-
{
|
|
3952
|
-
initial: { opacity: 0, scale: 0.8, y: 10 },
|
|
3953
|
-
animate: {
|
|
3954
|
-
opacity: 1,
|
|
3955
|
-
scale: 1,
|
|
3956
|
-
y: 0,
|
|
3957
|
-
backgroundColor: `hsl(var(--primary) / 0.1)`,
|
|
3958
|
-
borderColor: `hsl(var(--primary) / 0.2)`
|
|
3959
|
-
},
|
|
3960
|
-
exit: { opacity: 0, scale: 0.8, y: 10 },
|
|
3961
|
-
className: cn(
|
|
3962
|
-
"mt-4 flex items-center gap-2 rounded-full border px-4 py-2 backdrop-blur-sm bg-primary/20 border-primary/30 shadow-lg"
|
|
3963
|
-
),
|
|
3964
|
-
transition: { duration: 0.3 },
|
|
3965
|
-
children: [
|
|
3966
|
-
/* @__PURE__ */ jsx("div", { className: "h-4 w-4 text-primary flex items-center justify-center", children: /* @__PURE__ */ jsx(CheckIcon, { size: 16, className: "text-emerald-500" }) }),
|
|
3967
|
-
/* @__PURE__ */ jsxs(
|
|
3968
|
-
motion.span,
|
|
3969
|
-
{
|
|
3970
|
-
className: "text-sm font-semibold text-primary",
|
|
3971
|
-
animate: { color: `hsl(var(--primary))` },
|
|
3972
|
-
transition: { duration: 0.3 },
|
|
3973
|
-
children: [
|
|
3974
|
-
files.length,
|
|
3975
|
-
" ",
|
|
3976
|
-
files.length === 1 ? "arquivo selecionado" : "arquivos selecionados"
|
|
3977
|
-
]
|
|
3978
|
-
}
|
|
3979
|
-
)
|
|
3980
|
-
]
|
|
3981
|
-
}
|
|
3982
|
-
) }),
|
|
3983
|
-
showPreview && files.length > 0 && /* @__PURE__ */ jsx(
|
|
3939
|
+
showPreview && files.length > 0 && /* @__PURE__ */ jsxs(
|
|
3984
3940
|
motion.div,
|
|
3985
3941
|
{
|
|
3986
|
-
className: "
|
|
3942
|
+
className: "py-2 w-full",
|
|
3987
3943
|
initial: animate ? { opacity: 0, y: 10 } : false,
|
|
3988
3944
|
animate: { opacity: 1, y: 0 },
|
|
3989
3945
|
transition: { delay: 0.3 },
|
|
3990
|
-
children:
|
|
3991
|
-
/* @__PURE__ */ jsxs("h4", { className: "
|
|
3946
|
+
children: [
|
|
3947
|
+
/* @__PURE__ */ jsxs("h4", { className: "text-xs font-medium text-muted-foreground pb-0.5", children: [
|
|
3992
3948
|
"Arquivos selecionados (",
|
|
3993
3949
|
files.length,
|
|
3994
3950
|
"/",
|
|
3995
3951
|
maxFiles,
|
|
3996
3952
|
")"
|
|
3997
3953
|
] }),
|
|
3998
|
-
/* @__PURE__ */ jsx("div", { className: "space-y-2 overflow-y-auto max-h-
|
|
3954
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-2 overflow-y-auto max-h-36", children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "popLayout", children: files.map((file, index) => /* @__PURE__ */ jsxs(
|
|
3999
3955
|
motion.div,
|
|
4000
3956
|
{
|
|
4001
3957
|
layout: true,
|
|
@@ -4011,24 +3967,18 @@ var FileUploader = React32.forwardRef(
|
|
|
4011
3967
|
layout: { duration: 0.2 }
|
|
4012
3968
|
},
|
|
4013
3969
|
className: cn(
|
|
4014
|
-
"flex items-center gap-3 rounded-md border p-
|
|
3970
|
+
"group flex items-center gap-3 rounded-md border p-2 transition-all duration-300",
|
|
4015
3971
|
file.error ? "border-destructive/50 bg-destructive/5" : "border-border bg-background/80 hover:bg-muted/50 hover:shadow-md hover:shadow-primary/10 hover:border-primary/30"
|
|
4016
3972
|
),
|
|
4017
3973
|
children: [
|
|
4018
|
-
/* @__PURE__ */ jsx("div", { className: "flex h-12 w-12 shrink-0 items-center justify-center rounded-md bg-muted overflow-hidden", children: file.preview ? (
|
|
4019
|
-
|
|
4020
|
-
|
|
4021
|
-
|
|
4022
|
-
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
|
|
4026
|
-
}
|
|
4027
|
-
)
|
|
4028
|
-
) : (
|
|
4029
|
-
// Ícone baseado no tipo de arquivo
|
|
4030
|
-
getFileTypeIcon(file)
|
|
4031
|
-
) }),
|
|
3974
|
+
/* @__PURE__ */ jsx("div", { className: "flex h-12 w-12 shrink-0 items-center justify-center rounded-md bg-muted overflow-hidden", children: file.preview ? /* @__PURE__ */ jsx(
|
|
3975
|
+
"img",
|
|
3976
|
+
{
|
|
3977
|
+
src: file.preview,
|
|
3978
|
+
alt: file.name,
|
|
3979
|
+
className: "h-full w-full object-cover rounded-md"
|
|
3980
|
+
}
|
|
3981
|
+
) : getFileTypeIcon(file) }),
|
|
4032
3982
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
4033
3983
|
/* @__PURE__ */ jsx(
|
|
4034
3984
|
"p",
|
|
@@ -4058,21 +4008,21 @@ var FileUploader = React32.forwardRef(
|
|
|
4058
4008
|
/* @__PURE__ */ jsx(
|
|
4059
4009
|
ButtonBase,
|
|
4060
4010
|
{
|
|
4061
|
-
variant: "destructive",
|
|
4062
4011
|
size: "icon",
|
|
4012
|
+
variant: "ghost",
|
|
4063
4013
|
onClick: (e) => {
|
|
4064
4014
|
e?.stopPropagation();
|
|
4065
4015
|
handleRemoveFile(file.id);
|
|
4066
4016
|
},
|
|
4067
|
-
className: "",
|
|
4068
|
-
children: /* @__PURE__ */ jsx(XIcon, { size: 12 })
|
|
4017
|
+
className: "opacity-0 transition-opacity group-hover:opacity-100",
|
|
4018
|
+
children: /* @__PURE__ */ jsx(XIcon, { size: 12, className: "text-red-500" })
|
|
4069
4019
|
}
|
|
4070
4020
|
)
|
|
4071
4021
|
]
|
|
4072
4022
|
},
|
|
4073
4023
|
file.id
|
|
4074
4024
|
)) }) })
|
|
4075
|
-
]
|
|
4025
|
+
]
|
|
4076
4026
|
}
|
|
4077
4027
|
)
|
|
4078
4028
|
]
|
|
@@ -9926,6 +9876,7 @@ function Select({
|
|
|
9926
9876
|
{
|
|
9927
9877
|
className: cn(
|
|
9928
9878
|
"flex items-center gap-2 justify-between [&>div]:line-clamp-1 [&>span]:line-clamp-1 relative",
|
|
9879
|
+
!selected && "text-muted-foreground",
|
|
9929
9880
|
error && "border-red-500",
|
|
9930
9881
|
className
|
|
9931
9882
|
),
|
|
@@ -14499,6 +14450,7 @@ function MultiSelect({
|
|
|
14499
14450
|
{
|
|
14500
14451
|
className: cn(
|
|
14501
14452
|
"flex items-center gap-2 justify-between hover:bg-muted transition-all duration-150",
|
|
14453
|
+
!selected && "text-muted-foreground",
|
|
14502
14454
|
error && "border-red-500",
|
|
14503
14455
|
className
|
|
14504
14456
|
),
|
|
@@ -16837,7 +16789,7 @@ var IntegrationCard = ({ title, details }) => {
|
|
|
16837
16789
|
}) })
|
|
16838
16790
|
] });
|
|
16839
16791
|
};
|
|
16840
|
-
var TooltipBodyComponent = ({ data, isLoading, connections, isInput, externalSystem }) => /* @__PURE__ */ jsxs("div", { className: "px-3 py-3 space-y-3
|
|
16792
|
+
var TooltipBodyComponent = ({ data, isLoading, connections, isInput, externalSystem }) => /* @__PURE__ */ jsx(ScrollAreaBase, { className: "flex-1", children: /* @__PURE__ */ jsxs("div", { className: "px-3 py-3 space-y-3", children: [
|
|
16841
16793
|
isLoading ? /* @__PURE__ */ jsxs("div", { className: "space-y-1.5", children: [
|
|
16842
16794
|
/* @__PURE__ */ jsx(SkeletonBase, { className: "h-6 w-3/4" }),
|
|
16843
16795
|
/* @__PURE__ */ jsx(SkeletonBase, { className: "h-3.5 w-1/2" })
|
|
@@ -16880,7 +16832,7 @@ var TooltipBodyComponent = ({ data, isLoading, connections, isInput, externalSys
|
|
|
16880
16832
|
conn.id
|
|
16881
16833
|
)) })
|
|
16882
16834
|
] })
|
|
16883
|
-
] });
|
|
16835
|
+
] }) });
|
|
16884
16836
|
var TooltipBody = React32__default.memo(TooltipBodyComponent);
|
|
16885
16837
|
var tooltipVariants3 = {
|
|
16886
16838
|
hidden: {
|
|
@@ -20350,7 +20302,9 @@ function CarouselBase({
|
|
|
20350
20302
|
autoPlayInterval = 3e3,
|
|
20351
20303
|
zoomEffect = null,
|
|
20352
20304
|
download = false,
|
|
20353
|
-
isLoading = false
|
|
20305
|
+
isLoading = false,
|
|
20306
|
+
onChange,
|
|
20307
|
+
fernando
|
|
20354
20308
|
}) {
|
|
20355
20309
|
const isMobile = useIsMobile();
|
|
20356
20310
|
const [index, setIndex] = useState(0);
|
|
@@ -20361,7 +20315,9 @@ function CarouselBase({
|
|
|
20361
20315
|
useEffect(() => {
|
|
20362
20316
|
if (!emblaApi) return;
|
|
20363
20317
|
const onSelect = () => {
|
|
20364
|
-
|
|
20318
|
+
const newIndex = emblaApi.selectedScrollSnap();
|
|
20319
|
+
setIndex(newIndex);
|
|
20320
|
+
onChange?.(newIndex);
|
|
20365
20321
|
};
|
|
20366
20322
|
emblaApi.on("select", onSelect);
|
|
20367
20323
|
emblaApi.on("reInit", onSelect);
|
|
@@ -20369,7 +20325,7 @@ function CarouselBase({
|
|
|
20369
20325
|
emblaApi.off("select", onSelect);
|
|
20370
20326
|
emblaApi.off("reInit", onSelect);
|
|
20371
20327
|
};
|
|
20372
|
-
}, [emblaApi]);
|
|
20328
|
+
}, [emblaApi, onChange]);
|
|
20373
20329
|
useEffect(() => {
|
|
20374
20330
|
if (!autoPlay || items.length <= 1 || !emblaApi) return;
|
|
20375
20331
|
const interval = setInterval(() => {
|
|
@@ -20422,7 +20378,10 @@ function CarouselBase({
|
|
|
20422
20378
|
initial: { opacity: 0 },
|
|
20423
20379
|
animate: { opacity: 1 },
|
|
20424
20380
|
transition: { duration: 0.4 },
|
|
20425
|
-
className: cn(
|
|
20381
|
+
className: cn(
|
|
20382
|
+
"w-full lg:p-10 sm:p-4 p-2 transition-colors duration-500",
|
|
20383
|
+
className
|
|
20384
|
+
),
|
|
20426
20385
|
style: { width },
|
|
20427
20386
|
children: /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-3 h-full", children: /* @__PURE__ */ jsxs("div", { className: cn("relative h-full", containerClassName), children: [
|
|
20428
20387
|
/* @__PURE__ */ jsx(
|
|
@@ -20474,7 +20433,8 @@ function CarouselBase({
|
|
|
20474
20433
|
onMouseDown: (e) => e.stopPropagation(),
|
|
20475
20434
|
className: cn(
|
|
20476
20435
|
"absolute top-4 right-4 z-50 p-2 rounded-full text-white transition-colors border border-white/10",
|
|
20477
|
-
downloadSuccess ? "bg-green-500 hover:bg-green-600" : "bg-black/50 hover:bg-black/70"
|
|
20436
|
+
downloadSuccess ? "bg-green-500 hover:bg-green-600" : "bg-black/50 hover:bg-black/70",
|
|
20437
|
+
className
|
|
20478
20438
|
),
|
|
20479
20439
|
title: "Download image",
|
|
20480
20440
|
initial: false,
|
|
@@ -20557,8 +20517,13 @@ function CarouselBase({
|
|
|
20557
20517
|
onPointerDown: (e) => e.stopPropagation(),
|
|
20558
20518
|
onTouchStart: (e) => e.stopPropagation(),
|
|
20559
20519
|
onMouseDown: (e) => e.stopPropagation(),
|
|
20560
|
-
className:
|
|
20561
|
-
|
|
20520
|
+
className: cn(
|
|
20521
|
+
"absolute left-4 top-1/2 -translate-y-1/2 w-10 h-10 rounded-full flex items-center justify-center shadow-lg transition-all z-50",
|
|
20522
|
+
!emblaApi?.canScrollPrev() ? "opacity-40 cursor-not-allowed" : "hover:scale-110 hover:opacity-100 opacity-70",
|
|
20523
|
+
"bg-primary text-primary-foreground",
|
|
20524
|
+
className
|
|
20525
|
+
),
|
|
20526
|
+
style: fernando ? { backgroundColor: fernando } : void 0,
|
|
20562
20527
|
children: /* @__PURE__ */ jsx(
|
|
20563
20528
|
"svg",
|
|
20564
20529
|
{
|
|
@@ -20587,8 +20552,13 @@ function CarouselBase({
|
|
|
20587
20552
|
onPointerDown: (e) => e.stopPropagation(),
|
|
20588
20553
|
onTouchStart: (e) => e.stopPropagation(),
|
|
20589
20554
|
onMouseDown: (e) => e.stopPropagation(),
|
|
20590
|
-
className:
|
|
20591
|
-
|
|
20555
|
+
className: cn(
|
|
20556
|
+
"absolute right-4 top-1/2 -translate-y-1/2 w-10 h-10 rounded-full flex items-center justify-center shadow-lg transition-all z-50",
|
|
20557
|
+
!emblaApi?.canScrollNext() ? "opacity-40 cursor-not-allowed" : "hover:scale-110 hover:opacity-100 opacity-70",
|
|
20558
|
+
"bg-primary text-primary-foreground",
|
|
20559
|
+
className
|
|
20560
|
+
),
|
|
20561
|
+
style: fernando ? { backgroundColor: fernando } : void 0,
|
|
20592
20562
|
children: /* @__PURE__ */ jsx(
|
|
20593
20563
|
"svg",
|
|
20594
20564
|
{
|
|
@@ -20617,7 +20587,12 @@ function CarouselBase({
|
|
|
20617
20587
|
onPointerDown: (e) => e.stopPropagation(),
|
|
20618
20588
|
onTouchStart: (e) => e.stopPropagation(),
|
|
20619
20589
|
onMouseDown: (e) => e.stopPropagation(),
|
|
20620
|
-
className:
|
|
20590
|
+
className: cn(
|
|
20591
|
+
"h-2 rounded-full transition-all duration-300",
|
|
20592
|
+
i === index ? cn("w-8 bg-primary") : cn("w-2 hover:opacity-80 bg-primary opacity-40"),
|
|
20593
|
+
className
|
|
20594
|
+
),
|
|
20595
|
+
style: fernando ? { backgroundColor: fernando } : void 0
|
|
20621
20596
|
},
|
|
20622
20597
|
i
|
|
20623
20598
|
)) })
|
|
@@ -20806,9 +20781,9 @@ function RadialMenu({
|
|
|
20806
20781
|
}
|
|
20807
20782
|
function ControlledCombobox({
|
|
20808
20783
|
items,
|
|
20809
|
-
|
|
20810
|
-
|
|
20811
|
-
|
|
20784
|
+
value,
|
|
20785
|
+
onChange,
|
|
20786
|
+
placeholder = "Selecione uma op\xE7\xE3o",
|
|
20812
20787
|
disabled = false,
|
|
20813
20788
|
keepOpen = false,
|
|
20814
20789
|
searchPlaceholder,
|
|
@@ -20818,7 +20793,6 @@ function ControlledCombobox({
|
|
|
20818
20793
|
labelClassname,
|
|
20819
20794
|
testIds = {},
|
|
20820
20795
|
onClear,
|
|
20821
|
-
hasSelected = false,
|
|
20822
20796
|
hideClear = false,
|
|
20823
20797
|
onSearchChange,
|
|
20824
20798
|
search,
|
|
@@ -20826,6 +20800,11 @@ function ControlledCombobox({
|
|
|
20826
20800
|
loading = false
|
|
20827
20801
|
}) {
|
|
20828
20802
|
const [open, setOpen] = useState(false);
|
|
20803
|
+
const selectedItem = items.find((item) => item.value === value);
|
|
20804
|
+
const renderSelected = selectedItem?.label ?? placeholder;
|
|
20805
|
+
const hasSelected = Boolean(value);
|
|
20806
|
+
const checkIsSelected = (v) => v === value;
|
|
20807
|
+
const handleSelection = (v) => onChange?.(v);
|
|
20829
20808
|
return /* @__PURE__ */ jsxs(
|
|
20830
20809
|
"div",
|
|
20831
20810
|
{
|
|
@@ -20898,9 +20877,9 @@ function ControlledCombobox({
|
|
|
20898
20877
|
{
|
|
20899
20878
|
className: "dark:text-white hover:bg-rsecondary focus:ring-0 focus:outline-none",
|
|
20900
20879
|
"data-testid": testIds.command ?? "combobox-command",
|
|
20901
|
-
filter: onSearchChange ? () => 1 : (
|
|
20902
|
-
const
|
|
20903
|
-
if (
|
|
20880
|
+
filter: onSearchChange ? () => 1 : (itemValue, search2) => {
|
|
20881
|
+
const itemLabel = items.find((item) => item.value === itemValue)?.label || itemValue;
|
|
20882
|
+
if (itemLabel.toLowerCase().includes(search2.toLowerCase()))
|
|
20904
20883
|
return 1;
|
|
20905
20884
|
return 0;
|
|
20906
20885
|
},
|
|
@@ -20932,9 +20911,9 @@ function ControlledCombobox({
|
|
|
20932
20911
|
{
|
|
20933
20912
|
keywords: [item.label],
|
|
20934
20913
|
value: item.value,
|
|
20935
|
-
onSelect: (
|
|
20914
|
+
onSelect: (v) => {
|
|
20936
20915
|
if (disabled) return;
|
|
20937
|
-
handleSelection(
|
|
20916
|
+
handleSelection(v);
|
|
20938
20917
|
if (!keepOpen) setOpen(false);
|
|
20939
20918
|
},
|
|
20940
20919
|
disabled,
|
|
@@ -20951,7 +20930,7 @@ function ControlledCombobox({
|
|
|
20951
20930
|
stiffness: 500,
|
|
20952
20931
|
damping: 30
|
|
20953
20932
|
},
|
|
20954
|
-
className: "ml-auto
|
|
20933
|
+
className: "ml-auto",
|
|
20955
20934
|
children: /* @__PURE__ */ jsx(
|
|
20956
20935
|
CheckIcon,
|
|
20957
20936
|
{
|
|
@@ -20987,4 +20966,4 @@ function ControlledCombobox({
|
|
|
20987
20966
|
);
|
|
20988
20967
|
}
|
|
20989
20968
|
|
|
20990
|
-
export { AddButton, Agenda, AgendaDaysToShow, AgendaDaysToShowAgenda, AgendaView, AlertDialogActionBase, AlertDialogBase, AlertDialogCancelBase, AlertDialogContentBase, AlertDialogDescriptionBase, AlertDialogFooterBase, AlertDialogHeaderBase, AlertDialogOverlayBase, AlertDialogPortalBase, AlertDialogTitleBase, AlertDialogTriggerBase, AvatarBase, AvatarCombobox, AvatarFallbackBase, AvatarImageBase, BackButton, Badge, Beam, BreadcrumbBase, BreadcrumbEllipsisBase, BreadcrumbItemBase, BreadcrumbLinkBase, BreadcrumbListBase, BreadcrumbPageBase, BreadcrumbSeparatorBase, Brush_default as Brush, ButtonBase, ButtonGroupBase, CENTER_INDEX, CalendarBase, CalendarDndProvider, CalendarDndProviderAgenda, CardBase, CardContentBase, CardDescriptionBase, CardFooterBase, CardHeaderBase, CardTitleBase, CarouselBase, ChangeButton, Chart_default as Chart, ChartControls, ChartHeader, ChartTotalLegend_default as ChartTotalLegend, CheckButton, CheckboxBase, CheckboxTree, CloseAllButton_default as CloseAllButton, CloseButton, CodeBlock, CollapsibleBase, CollapsibleContentBase, CollapsibleTriggerBase, Combobox, CommandBase, CommandDebouncedInputBase, CommandDialogBase, CommandEmptyBase, CommandGroupBase, CommandInputBase, CommandItemBase, CommandListBase, CommandSeparatorBase, CommandShortcutBase, ContextMenuBase, ContextMenuCheckboxItemBase, ContextMenuContentBase, ContextMenuGroupBase, ContextMenuItemBase, ContextMenuLabelBase, ContextMenuPortalBase, ContextMenuRadioGroupBase, ContextMenuRadioItemBase, ContextMenuSeparatorBase, ContextMenuShortcutBase, ContextMenuSubBase, ContextMenuSubContentBase, ContextMenuSubTriggerBase, ContextMenuTriggerBase, ControlledCombobox, CopyButton, CopyData, DateTimePicker, DayView, DayViewAgenda, DebouncedInput, DefaultEndHour, DefaultEndHourAgenda, DefaultStartHour, DefaultStartHourAgenda, DestructiveDialog, DialogBase, DialogCloseBase, DialogContentBase, DialogDescriptionBase, DialogFooterBase, DialogHeaderBase, DialogOverlayBase, DialogPortalBase, DialogTitleBase, DialogTriggerBase, DownloadButton, DraggableEvent2 as DraggableEvent, DraggableTooltip_default as DraggableTooltip, DrawerBase, DrawerCloseBase, DrawerContentBase, DrawerDescriptionBase, DrawerFooterBase, DrawerHeaderBase, DrawerOverlayBase, DrawerPortalBase, DrawerTitleBase, DrawerTriggerBase, DropDownMenuBase, DropDownMenuCheckboxItemBase, DropDownMenuContentBase, DropDownMenuGroupBase, DropDownMenuItemBase, DropDownMenuLabelBase, DropDownMenuPortalBase, DropDownMenuRadioGroupBase, DropDownMenuRadioItemBase, DropDownMenuSeparatorBase, DropDownMenuShortcutBase, DropDownMenuSubBase, DropDownMenuSubContentBase, DropDownMenuSubTriggerBase, DropDownMenuTriggerBase, DroppableCell, DroppableCellAgenda, EditButton, EndHour, EndHourAgenda, ErrorMessage_default as ErrorMessage, EventAgenda, EventCalendar, EventDetailModalAgenda, EventDialog, EventGap, EventGapAgenda, EventHeight, EventHeightAgenda, EventItem, EventItemAgenda, EventsPopup, FavoriteButton, FileUploader, FilterButton, HideButton, Highlights_default as Highlights, HorizontalChart_default as HorizontalChart, HorizontalLegend_default as HorizontalLegend, HoverCardBase, HoverCardContentBase, HoverCardTriggerBase, ITEM_HEIGHT, InputBase, InputOTPBase, InputOTPGroupBase, InputOTPSeparatorBase, InputOTPSlotBase, IntegrationCard, IntegrationTooltip_default as IntegrationTooltip, LabelBase_default as LabelBase, Leaderboard, LikeButton, LoadingBase, LockButton, ModalBase, ModalCloseBase, ModalContentBase, ModalDescriptionBase, ModalFooterBase, ModalHeaderBase, ModalOverlayBase, ModalPortalBase, ModalTitleBase, ModalTriggerBase, ModeToggleBase, MonthView, MonthViewAgenda, MoreButton, MultiCombobox, MultiDayOverlay, MultiSelect, MultiSelectBase, MultiSelectContentBase, MultiSelectGroupBase, MultiSelectItemBase, MultiSelectSeparatorBase, MultiSelectTriggerBase, MultiSelectValueBase, NameTooltip, NavigationMenuBase, NavigationMenuContentBase, NavigationMenuIndicatorBase, NavigationMenuItemBase, NavigationMenuLinkBase, NavigationMenuListBase, NavigationMenuTriggerBase, NavigationMenuViewportBase, NoData_default as NoData, NotificationButton, NumericInput, PeriodsDropdown_default as PeriodsDropdown, PopoverAnchorBase, PopoverBase, PopoverContentBase, PopoverTriggerBase, ProgressBase, ProgressCirclesBase, ProgressPanelsBase, ProgressSegmentsBase, RadialMenu, RangePicker, RefreshButton, SaveButton, ScrollAreaBase, ScrollBarBase, SearchButton, Select, SelectBase, SelectContentBase, SelectEmpty, SelectGroupBase, SelectItemBase, SelectLabelBase, SelectScrollDownButtonBase, SelectScrollUpButtonBase, SelectSeparatorBase, SelectTriggerBase, SelectValueBase, SeparatorBase, SettingsButton, SheetBase, SheetCloseBase, SheetContentBase, SheetDescriptionBase, SheetFooterBase, SheetHeaderBase, SheetOverlayBase, SheetPortalBase, SheetTitleBase, SheetTriggerBase, ShowOnly_default as ShowOnly, SidebarBase, SidebarContentBase, SidebarFooterBase, SidebarGroupActionBase, SidebarGroupBase, SidebarGroupContentBase, SidebarGroupLabelBase, SidebarHeaderBase, SidebarInputBase, SidebarInsetBase, SidebarMenuActionBase, SidebarMenuBadgeBase, SidebarMenuBase, SidebarMenuButtonBase, SidebarMenuItemBase, SidebarMenuSkeletonBase, SidebarMenuSubBase, SidebarMenuSubButtonBase, SidebarMenuSubItemBase, SidebarProviderBase, SidebarRailBase, SidebarSeparatorBase, SidebarTriggerBase, SkeletonBase, SlideBase, StartHour, StartHourAgenda, StatusIndicator, SwitchBase, SystemNode, SystemTooltip_default as SystemTooltip, SystemsDiagram, TableBase, TableBodyBase, TableCaptionBase, TableCellBase, TableFooterBase, TableHeadBase, TableHeaderBase, TableRowBase, TabsBase, TabsContentBase, TabsListBase, TabsTriggerBase, TextAreaBase, ThemeProviderBase, TimePicker, TimePickerInput, TimeSeries_default as TimeSeries, Toaster, TooltipBase, TooltipBody, TooltipContentBase, TooltipProviderBase, TooltipSimple_default as TooltipSimple, TooltipTriggerBase, TooltipWithTotal_default as TooltipWithTotal, UndatedEvents, UniversalTooltipRenderer, UnlockButton, UploadButton, UseSideBarBase, VISIBLE_ITEMS, ViewButton, VisibilityButton, WeekCellsHeight, WeekCellsHeightAgenda, WeekView, WeekViewAgenda, YearViewAgenda, adaptDataForTooltip, addHoursToDate, addHoursToDateAgenda, addMinutesToDateAgenda, badgeVariants, buttonVariantsBase, compactTick, computeChartWidth, computeNiceMax, computeYAxisTickWidth, convert12HourTo24Hour, createValueFormatter, createYTickFormatter, detectDataFields, detectXAxis, display12HourValue, formatDurationAgenda, formatDurationAgendaDays, formatFieldName, formatLinePercentage, generateAdditionalColors, generateColorMap, getAgendaEventsForDay, getAgendaEventsForDayAgenda, getAllEventsForDay, getAllEventsForDayAgenda, getArrowByType, getAutoColorAgenda, getBorderRadiusClasses, getBorderRadiusClassesAgenda, getDateByType, getEventColorClasses, getEventColorClassesAgenda, getEventEndDate, getEventStartDate, getEventsForDay, getEventsForDayAgenda, getItems, getMaxDataValue, getMinDataValue, getSpanningEventsForDay, getSpanningEventsForDayAgenda, getValid12Hour, getValidArrow12Hour, getValidArrowHour, getValidArrowMinuteOrSecond, getValidArrowNumber, getValidHour, getValidMinuteOrSecond, getValidNumber, isMultiDayEvent, isMultiDayEventAgenda, isValid12Hour, isValidHour, isValidMinuteOrSecond, niceCeil, normalizeAttendDate, processIntegrationData, processNeo4jData, renderInsideBarLabel, pillLabelRenderer_default as renderPillLabel, resolveChartMargins, resolveContainerPaddingLeft, set12Hours, setDateByType, setHours, setMinutes, setSeconds, sortEvents, sortEventsAgenda, toast, useBiaxial, useCalendarDnd, useCalendarDndAgenda, useChartClick, useChartDimensions, useChartHighlights, useChartLayout, useChartMinMax, useChartTooltips, useCurrentTimeIndicator, useCurrentTimeIndicatorAgenda, useDrag, useEventVisibility, useEventVisibilityAgenda, useIsMobile, useIsTruncated, useOpenTooltipForPeriod, useProcessedData, useSeriesOpacity, useTheme, useTimeSeriesRange, visualForItem };
|
|
20969
|
+
export { AddButton, Agenda, AgendaDaysToShow, AgendaDaysToShowAgenda, AgendaView, AlertDialogActionBase, AlertDialogBase, AlertDialogCancelBase, AlertDialogContentBase, AlertDialogDescriptionBase, AlertDialogFooterBase, AlertDialogHeaderBase, AlertDialogOverlayBase, AlertDialogPortalBase, AlertDialogTitleBase, AlertDialogTriggerBase, AvatarBase, AvatarCombobox, AvatarFallbackBase, AvatarImageBase, BackButton, Badge, Beam, BreadcrumbBase, BreadcrumbEllipsisBase, BreadcrumbItemBase, BreadcrumbLinkBase, BreadcrumbListBase, BreadcrumbPageBase, BreadcrumbSeparatorBase, Brush_default as Brush, ButtonBase, ButtonGroupBase, CENTER_INDEX, CalendarBase, CalendarDndProvider, CalendarDndProviderAgenda, CardBase, CardContentBase, CardDescriptionBase, CardFooterBase, CardHeaderBase, CardTitleBase, CarouselBase, ChangeButton, Chart_default as Chart, ChartControls, ChartHeader, ChartTotalLegend_default as ChartTotalLegend, CheckButton, CheckboxBase, CheckboxTree, CloseAllButton_default as CloseAllButton, CloseButton, CodeBlock, CollapsibleBase, CollapsibleContentBase, CollapsibleTriggerBase, Combobox, CommandBase, CommandDebouncedInputBase, CommandDialogBase, CommandEmptyBase, CommandGroupBase, CommandInputBase, CommandItemBase, CommandListBase, CommandSeparatorBase, CommandShortcutBase, ContextMenuBase, ContextMenuCheckboxItemBase, ContextMenuContentBase, ContextMenuGroupBase, ContextMenuItemBase, ContextMenuLabelBase, ContextMenuPortalBase, ContextMenuRadioGroupBase, ContextMenuRadioItemBase, ContextMenuSeparatorBase, ContextMenuShortcutBase, ContextMenuSubBase, ContextMenuSubContentBase, ContextMenuSubTriggerBase, ContextMenuTriggerBase, ControlledCombobox, CopyButton, CopyData, DateTimePicker, DayView, DayViewAgenda, DebouncedInput, DefaultEndHour, DefaultEndHourAgenda, DefaultStartHour, DefaultStartHourAgenda, DestructiveDialog, DialogBase, DialogCloseBase, DialogContentBase, DialogDescriptionBase, DialogFooterBase, DialogHeaderBase, DialogOverlayBase, DialogPortalBase, DialogTitleBase, DialogTriggerBase, DownloadButton, DraggableEvent2 as DraggableEvent, DraggableTooltip_default as DraggableTooltip, DrawerBase, DrawerCloseBase, DrawerContentBase, DrawerDescriptionBase, DrawerFooterBase, DrawerHeaderBase, DrawerOverlayBase, DrawerPortalBase, DrawerTitleBase, DrawerTriggerBase, DropDownMenuBase, DropDownMenuCheckboxItemBase, DropDownMenuContentBase, DropDownMenuGroupBase, DropDownMenuItemBase, DropDownMenuLabelBase, DropDownMenuPortalBase, DropDownMenuRadioGroupBase, DropDownMenuRadioItemBase, DropDownMenuSeparatorBase, DropDownMenuShortcutBase, DropDownMenuSubBase, DropDownMenuSubContentBase, DropDownMenuSubTriggerBase, DropDownMenuTriggerBase, DroppableCell, DroppableCellAgenda, EditButton, EndHour, EndHourAgenda, ErrorMessage_default as ErrorMessage, EventAgenda, EventCalendar, EventDetailModalAgenda, EventDialog, EventGap, EventGapAgenda, EventHeight, EventHeightAgenda, EventItem, EventItemAgenda, EventsPopup, FavoriteButton, FileAccept, FileUploader, FilterButton, HideButton, Highlights_default as Highlights, HorizontalChart_default as HorizontalChart, HorizontalLegend_default as HorizontalLegend, HoverCardBase, HoverCardContentBase, HoverCardTriggerBase, ITEM_HEIGHT, InputBase, InputOTPBase, InputOTPGroupBase, InputOTPSeparatorBase, InputOTPSlotBase, IntegrationCard, IntegrationTooltip_default as IntegrationTooltip, LabelBase_default as LabelBase, Leaderboard, LikeButton, LoadingBase, LockButton, ModalBase, ModalCloseBase, ModalContentBase, ModalDescriptionBase, ModalFooterBase, ModalHeaderBase, ModalOverlayBase, ModalPortalBase, ModalTitleBase, ModalTriggerBase, ModeToggleBase, MonthView, MonthViewAgenda, MoreButton, MultiCombobox, MultiDayOverlay, MultiSelect, MultiSelectBase, MultiSelectContentBase, MultiSelectGroupBase, MultiSelectItemBase, MultiSelectSeparatorBase, MultiSelectTriggerBase, MultiSelectValueBase, NameTooltip, NavigationMenuBase, NavigationMenuContentBase, NavigationMenuIndicatorBase, NavigationMenuItemBase, NavigationMenuLinkBase, NavigationMenuListBase, NavigationMenuTriggerBase, NavigationMenuViewportBase, NoData_default as NoData, NotificationButton, NumericInput, PeriodsDropdown_default as PeriodsDropdown, PopoverAnchorBase, PopoverBase, PopoverContentBase, PopoverTriggerBase, ProgressBase, ProgressCirclesBase, ProgressPanelsBase, ProgressSegmentsBase, RadialMenu, RangePicker, RefreshButton, SaveButton, ScrollAreaBase, ScrollBarBase, SearchButton, Select, SelectBase, SelectContentBase, SelectEmpty, SelectGroupBase, SelectItemBase, SelectLabelBase, SelectScrollDownButtonBase, SelectScrollUpButtonBase, SelectSeparatorBase, SelectTriggerBase, SelectValueBase, SeparatorBase, SettingsButton, SheetBase, SheetCloseBase, SheetContentBase, SheetDescriptionBase, SheetFooterBase, SheetHeaderBase, SheetOverlayBase, SheetPortalBase, SheetTitleBase, SheetTriggerBase, ShowOnly_default as ShowOnly, SidebarBase, SidebarContentBase, SidebarFooterBase, SidebarGroupActionBase, SidebarGroupBase, SidebarGroupContentBase, SidebarGroupLabelBase, SidebarHeaderBase, SidebarInputBase, SidebarInsetBase, SidebarMenuActionBase, SidebarMenuBadgeBase, SidebarMenuBase, SidebarMenuButtonBase, SidebarMenuItemBase, SidebarMenuSkeletonBase, SidebarMenuSubBase, SidebarMenuSubButtonBase, SidebarMenuSubItemBase, SidebarProviderBase, SidebarRailBase, SidebarSeparatorBase, SidebarTriggerBase, SkeletonBase, SlideBase, StartHour, StartHourAgenda, StatusIndicator, SwitchBase, SystemNode, SystemTooltip_default as SystemTooltip, SystemsDiagram, TableBase, TableBodyBase, TableCaptionBase, TableCellBase, TableFooterBase, TableHeadBase, TableHeaderBase, TableRowBase, TabsBase, TabsContentBase, TabsListBase, TabsTriggerBase, TextAreaBase, ThemeProviderBase, TimePicker, TimePickerInput, TimeSeries_default as TimeSeries, Toaster, TooltipBase, TooltipBody, TooltipContentBase, TooltipProviderBase, TooltipSimple_default as TooltipSimple, TooltipTriggerBase, TooltipWithTotal_default as TooltipWithTotal, UndatedEvents, UniversalTooltipRenderer, UnlockButton, UploadButton, UseSideBarBase, VISIBLE_ITEMS, ViewButton, VisibilityButton, WeekCellsHeight, WeekCellsHeightAgenda, WeekView, WeekViewAgenda, YearViewAgenda, adaptDataForTooltip, addHoursToDate, addHoursToDateAgenda, addMinutesToDateAgenda, badgeVariants, buttonVariantsBase, compactTick, computeChartWidth, computeNiceMax, computeYAxisTickWidth, convert12HourTo24Hour, createValueFormatter, createYTickFormatter, detectDataFields, detectXAxis, display12HourValue, formatDurationAgenda, formatDurationAgendaDays, formatFieldName, formatLinePercentage, generateAdditionalColors, generateColorMap, getAgendaEventsForDay, getAgendaEventsForDayAgenda, getAllEventsForDay, getAllEventsForDayAgenda, getArrowByType, getAutoColorAgenda, getBorderRadiusClasses, getBorderRadiusClassesAgenda, getDateByType, getEventColorClasses, getEventColorClassesAgenda, getEventEndDate, getEventStartDate, getEventsForDay, getEventsForDayAgenda, getItems, getMaxDataValue, getMinDataValue, getSpanningEventsForDay, getSpanningEventsForDayAgenda, getValid12Hour, getValidArrow12Hour, getValidArrowHour, getValidArrowMinuteOrSecond, getValidArrowNumber, getValidHour, getValidMinuteOrSecond, getValidNumber, isMultiDayEvent, isMultiDayEventAgenda, isValid12Hour, isValidHour, isValidMinuteOrSecond, niceCeil, normalizeAttendDate, processIntegrationData, processNeo4jData, renderInsideBarLabel, pillLabelRenderer_default as renderPillLabel, resolveChartMargins, resolveContainerPaddingLeft, set12Hours, setDateByType, setHours, setMinutes, setSeconds, sortEvents, sortEventsAgenda, toast, useBiaxial, useCalendarDnd, useCalendarDndAgenda, useChartClick, useChartDimensions, useChartHighlights, useChartLayout, useChartMinMax, useChartTooltips, useCurrentTimeIndicator, useCurrentTimeIndicatorAgenda, useDrag, useEventVisibility, useEventVisibilityAgenda, useIsMobile, useIsTruncated, useOpenTooltipForPeriod, useProcessedData, useSeriesOpacity, useTheme, useTimeSeriesRange, visualForItem };
|