@mlw-packages/react-components 1.10.20 → 1.10.22
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 +9 -16
- package/dist/index.d.mts +60 -9
- package/dist/index.d.ts +60 -9
- package/dist/index.js +800 -227
- package/dist/index.mjs +802 -230
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import { Slot } from '@radix-ui/react-slot';
|
|
|
5
5
|
import { cva } from 'class-variance-authority';
|
|
6
6
|
import { clsx } from 'clsx';
|
|
7
7
|
import { twMerge } from 'tailwind-merge';
|
|
8
|
-
import { XIcon, CircleNotchIcon, MagnifyingGlassIcon, CaretUpIcon, CaretDownIcon, CheckIcon, CaretRightIcon, CircleIcon, CloudArrowUpIcon, MinusIcon, CaretUpDownIcon, PencilSimpleIcon, ArrowsLeftRightIcon, FloppyDiskIcon, PlusIcon, TrashIcon, SidebarSimpleIcon, ArrowElbowDownRightIcon, ArrowBendUpLeftIcon,
|
|
8
|
+
import { XIcon, CircleNotchIcon, MagnifyingGlassIcon, CaretUpIcon, CaretDownIcon, CheckIcon, CaretRightIcon, CircleIcon, CloudArrowUpIcon, MinusIcon, CaretUpDownIcon, PencilSimpleIcon, ArrowsLeftRightIcon, FloppyDiskIcon, PlusIcon, TrashIcon, SidebarSimpleIcon, CommandIcon, ArrowElbowDownRightIcon, ArrowBendUpLeftIcon, FilePdfIcon, FileDocIcon, FileXlsIcon, FilePptIcon, FileCsvIcon, FileTextIcon, FileImageIcon, FileVideoIcon, FileAudioIcon, FileZipIcon, FileIcon, DotsSixVerticalIcon, CopyIcon, InfoIcon, WarningIcon, XCircleIcon, CheckCircleIcon, CaretLeftIcon, DownloadSimpleIcon, UploadSimpleIcon, ArrowClockwiseIcon, ArrowLeftIcon, GearIcon, BellIcon, DotsThreeIcon, FunnelIcon, HeartIcon, StarIcon, EyeIcon, EyeSlashIcon, LockIcon, LockOpenIcon, FolderIcon, ArrowRightIcon as ArrowRightIcon$1, ArrowsOutIcon, DownloadIcon, CalendarBlankIcon, CalendarIcon, MapPinIcon, CalendarDotsIcon, SunIcon, ClockIcon, AlignLeftIcon, CaretLeft, CaretRight, ArrowDownIcon, ClockUserIcon, EyeSlash, Eye, ArrowUpRightIcon, ArrowDownRightIcon, FunnelSimpleIcon, PencilIcon, ClockCounterClockwiseIcon, FileArchiveIcon, TerminalIcon, CodeIcon, CalendarDotIcon as CalendarDotIcon$1, MoonIcon, DesktopIcon } from '@phosphor-icons/react';
|
|
9
9
|
import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
|
|
10
10
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
11
11
|
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
@@ -40,7 +40,7 @@ import { ptBR } from 'date-fns/locale';
|
|
|
40
40
|
import { useSensors, useSensor, MouseSensor, TouchSensor, PointerSensor, DndContext, DragOverlay, useDroppable, useDraggable } from '@dnd-kit/core';
|
|
41
41
|
import { CSS } from '@dnd-kit/utilities';
|
|
42
42
|
import { RadioGroup, RadioGroupItem } from '@radix-ui/react-radio-group';
|
|
43
|
-
import { ResponsiveContainer, ComposedChart, XAxis, YAxis, Bar, Line, Area, CartesianGrid, Tooltip, Legend, LabelList, Rectangle } from 'recharts';
|
|
43
|
+
import { ResponsiveContainer, ComposedChart, XAxis, YAxis, Bar, Line, Area, CartesianGrid, Tooltip, Legend, LabelList, Rectangle, PieChart, Pie, Cell, Sector } from 'recharts';
|
|
44
44
|
import useEmblaCarousel from 'embla-carousel-react';
|
|
45
45
|
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
46
46
|
|
|
@@ -3443,58 +3443,100 @@ var ThemeIcon = ({ theme }) => {
|
|
|
3443
3443
|
}
|
|
3444
3444
|
) });
|
|
3445
3445
|
};
|
|
3446
|
+
function resolveOrigin(origin, buttonRef, cursorPos) {
|
|
3447
|
+
if (origin === "cursor" && cursorPos) {
|
|
3448
|
+
return cursorPos;
|
|
3449
|
+
}
|
|
3450
|
+
if (!buttonRef.current) {
|
|
3451
|
+
return { x: window.innerWidth / 2, y: window.innerHeight / 2 };
|
|
3452
|
+
}
|
|
3453
|
+
const rect = buttonRef.current.getBoundingClientRect();
|
|
3454
|
+
switch (origin) {
|
|
3455
|
+
case "top-left":
|
|
3456
|
+
return { x: rect.left, y: rect.top };
|
|
3457
|
+
case "top-right":
|
|
3458
|
+
return { x: rect.right, y: rect.top };
|
|
3459
|
+
case "center":
|
|
3460
|
+
default:
|
|
3461
|
+
return { x: rect.left + rect.width / 2, y: rect.top + rect.height / 2 };
|
|
3462
|
+
}
|
|
3463
|
+
}
|
|
3446
3464
|
function ModeToggleBase({
|
|
3447
3465
|
themes = ["light", "dark", "system"],
|
|
3448
3466
|
className,
|
|
3449
3467
|
directToggle = false,
|
|
3450
|
-
variant = "ghost"
|
|
3468
|
+
variant = "ghost",
|
|
3469
|
+
showLabel = false,
|
|
3470
|
+
tooltip = false,
|
|
3471
|
+
animationOrigin = "center",
|
|
3472
|
+
transitionDuration = 400,
|
|
3473
|
+
storageKey,
|
|
3474
|
+
defaultTheme,
|
|
3475
|
+
onThemeChange
|
|
3451
3476
|
}) {
|
|
3452
3477
|
const [mounted, setMounted] = useState(false);
|
|
3478
|
+
const [isTransitioning, setIsTransitioning] = useState(false);
|
|
3479
|
+
const cursorPos = useRef(null);
|
|
3453
3480
|
const { setTheme, theme: currentTheme } = useTheme();
|
|
3454
3481
|
const buttonRef = useRef(null);
|
|
3455
3482
|
useEffect(() => {
|
|
3483
|
+
if (storageKey && defaultTheme) {
|
|
3484
|
+
const stored = localStorage.getItem(storageKey);
|
|
3485
|
+
if (!stored) setTheme(defaultTheme);
|
|
3486
|
+
} else if (defaultTheme && !localStorage.getItem("theme")) {
|
|
3487
|
+
setTheme(defaultTheme);
|
|
3488
|
+
}
|
|
3456
3489
|
setMounted(true);
|
|
3457
|
-
}, []);
|
|
3490
|
+
}, [defaultTheme, setTheme, storageKey]);
|
|
3458
3491
|
const isDark = mounted && (currentTheme?.includes("dark") || currentTheme === "system" && typeof window !== "undefined" && window.matchMedia("(prefers-color-scheme: dark)").matches);
|
|
3492
|
+
const activeTheme = mounted ? currentTheme : defaultTheme;
|
|
3493
|
+
const tooltipText = tooltip === true ? themeLabels[activeTheme] ?? "Toggle theme" : typeof tooltip === "string" ? tooltip : null;
|
|
3459
3494
|
const toggleTheme = async (newTheme) => {
|
|
3495
|
+
if (isTransitioning) return;
|
|
3460
3496
|
if (!buttonRef.current) {
|
|
3461
3497
|
setTheme(newTheme);
|
|
3498
|
+
onThemeChange?.(newTheme);
|
|
3462
3499
|
return;
|
|
3463
3500
|
}
|
|
3464
3501
|
const supportsViewTransition = typeof document !== "undefined" && "startViewTransition" in document && typeof document.startViewTransition === "function";
|
|
3465
3502
|
if (!supportsViewTransition) {
|
|
3466
3503
|
setTheme(newTheme);
|
|
3504
|
+
onThemeChange?.(newTheme);
|
|
3467
3505
|
return;
|
|
3468
3506
|
}
|
|
3469
3507
|
try {
|
|
3470
|
-
|
|
3471
|
-
const x
|
|
3472
|
-
|
|
3508
|
+
setIsTransitioning(true);
|
|
3509
|
+
const { x, y } = resolveOrigin(
|
|
3510
|
+
animationOrigin,
|
|
3511
|
+
buttonRef,
|
|
3512
|
+
cursorPos.current
|
|
3513
|
+
);
|
|
3473
3514
|
const endRadius = Math.hypot(
|
|
3474
3515
|
Math.max(x, window.innerWidth - x),
|
|
3475
3516
|
Math.max(y, window.innerHeight - y)
|
|
3476
3517
|
);
|
|
3477
3518
|
const transition = document.startViewTransition(async () => {
|
|
3478
3519
|
setTheme(newTheme);
|
|
3520
|
+
onThemeChange?.(newTheme);
|
|
3479
3521
|
});
|
|
3480
3522
|
await transition.ready;
|
|
3481
|
-
document.documentElement.animate(
|
|
3523
|
+
const animation = document.documentElement.animate(
|
|
3482
3524
|
[
|
|
3483
|
-
{
|
|
3484
|
-
|
|
3485
|
-
},
|
|
3486
|
-
{
|
|
3487
|
-
clipPath: `circle(${Math.ceil(endRadius)}px at ${x}px ${y}px)`
|
|
3488
|
-
}
|
|
3525
|
+
{ clipPath: `circle(0px at ${x}px ${y}px)` },
|
|
3526
|
+
{ clipPath: `circle(${Math.ceil(endRadius)}px at ${x}px ${y}px)` }
|
|
3489
3527
|
],
|
|
3490
3528
|
{
|
|
3491
|
-
duration:
|
|
3529
|
+
duration: transitionDuration,
|
|
3492
3530
|
easing: "cubic-bezier(0.4, 0, 0.2, 1)",
|
|
3493
3531
|
pseudoElement: "::view-transition-new(root)"
|
|
3494
3532
|
}
|
|
3495
3533
|
);
|
|
3534
|
+
animation.onfinish = () => setIsTransitioning(false);
|
|
3535
|
+
animation.oncancel = () => setIsTransitioning(false);
|
|
3496
3536
|
} catch {
|
|
3497
3537
|
setTheme(newTheme);
|
|
3538
|
+
onThemeChange?.(newTheme);
|
|
3539
|
+
setIsTransitioning(false);
|
|
3498
3540
|
}
|
|
3499
3541
|
};
|
|
3500
3542
|
const handleDirectToggle = () => {
|
|
@@ -3502,67 +3544,72 @@ function ModeToggleBase({
|
|
|
3502
3544
|
const nextIndex = (currentIndex + 1) % themes.length;
|
|
3503
3545
|
toggleTheme(themes[nextIndex]);
|
|
3504
3546
|
};
|
|
3505
|
-
|
|
3506
|
-
|
|
3507
|
-
|
|
3547
|
+
const handleMouseMove = (e) => {
|
|
3548
|
+
cursorPos.current = { x: e.clientX, y: e.clientY };
|
|
3549
|
+
};
|
|
3550
|
+
const buttonContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3551
|
+
/* @__PURE__ */ jsx(
|
|
3552
|
+
SunIcon,
|
|
3508
3553
|
{
|
|
3509
|
-
|
|
3510
|
-
variant,
|
|
3511
|
-
size: "icon",
|
|
3512
|
-
className: cn("relative overflow-hidden group", className),
|
|
3513
|
-
onClick: handleDirectToggle,
|
|
3514
|
-
children: [
|
|
3515
|
-
/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3516
|
-
/* @__PURE__ */ jsx(
|
|
3517
|
-
SunIcon,
|
|
3518
|
-
{
|
|
3519
|
-
className: `h-[1.2rem] w-[1.2rem] transition-all duration-500 ${isDark ? "rotate-90 scale-0 opacity-0" : "rotate-0 scale-100 opacity-100 group-hover:rotate-12"}`
|
|
3520
|
-
}
|
|
3521
|
-
),
|
|
3522
|
-
/* @__PURE__ */ jsx(
|
|
3523
|
-
MoonIcon,
|
|
3524
|
-
{
|
|
3525
|
-
className: `absolute h-[1.2rem] w-[1.2rem] transition-all duration-500 ${isDark ? "rotate-0 scale-100 opacity-100 group-hover:-rotate-12" : "rotate-90 scale-0 opacity-0"}`
|
|
3526
|
-
}
|
|
3527
|
-
)
|
|
3528
|
-
] }),
|
|
3529
|
-
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Toggle theme" })
|
|
3530
|
-
]
|
|
3554
|
+
className: `h-[1.2rem] w-[1.2rem] transition-all duration-500 ${isDark ? "rotate-90 scale-0 opacity-0" : "rotate-0 scale-100 opacity-100 group-hover:rotate-12"}`
|
|
3531
3555
|
}
|
|
3556
|
+
),
|
|
3557
|
+
/* @__PURE__ */ jsx(
|
|
3558
|
+
MoonIcon,
|
|
3559
|
+
{
|
|
3560
|
+
className: `absolute h-[1.2rem] w-[1.2rem] transition-all duration-500 ${isDark ? "rotate-0 scale-100 opacity-100 group-hover:-rotate-12" : "rotate-90 scale-0 opacity-0"}`
|
|
3561
|
+
}
|
|
3562
|
+
),
|
|
3563
|
+
showLabel && mounted && /* @__PURE__ */ jsx("span", { className: "ml-5 text-sm font-medium", children: themeLabels[activeTheme] }),
|
|
3564
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Toggle theme" })
|
|
3565
|
+
] });
|
|
3566
|
+
const wrapWithTooltip = (node) => {
|
|
3567
|
+
if (!tooltipText) return node;
|
|
3568
|
+
return /* @__PURE__ */ jsx(TooltipProviderBase, { children: /* @__PURE__ */ jsxs(TooltipBase, { children: [
|
|
3569
|
+
/* @__PURE__ */ jsx(TooltipTriggerBase, { asChild: true, children: node }),
|
|
3570
|
+
/* @__PURE__ */ jsx(TooltipContentBase, { children: tooltipText })
|
|
3571
|
+
] }) });
|
|
3572
|
+
};
|
|
3573
|
+
if (directToggle) {
|
|
3574
|
+
return wrapWithTooltip(
|
|
3575
|
+
/* @__PURE__ */ jsx(
|
|
3576
|
+
ButtonBase,
|
|
3577
|
+
{
|
|
3578
|
+
ref: buttonRef,
|
|
3579
|
+
variant,
|
|
3580
|
+
size: showLabel ? "default" : "icon",
|
|
3581
|
+
className: cn("relative overflow-hidden group", className),
|
|
3582
|
+
onClick: handleDirectToggle,
|
|
3583
|
+
onMouseMove: handleMouseMove,
|
|
3584
|
+
onKeyDown: (e) => {
|
|
3585
|
+
if (e.repeat && (e.key === "Enter" || e.key === " ")) {
|
|
3586
|
+
e.preventDefault();
|
|
3587
|
+
}
|
|
3588
|
+
},
|
|
3589
|
+
children: buttonContent
|
|
3590
|
+
}
|
|
3591
|
+
)
|
|
3532
3592
|
);
|
|
3533
3593
|
}
|
|
3534
3594
|
return /* @__PURE__ */ jsxs(DropDownMenuBase, { children: [
|
|
3535
|
-
/* @__PURE__ */ jsx(DropDownMenuTriggerBase, { asChild: true, children:
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
|
|
3539
|
-
|
|
3540
|
-
|
|
3541
|
-
|
|
3542
|
-
|
|
3543
|
-
|
|
3544
|
-
|
|
3545
|
-
|
|
3546
|
-
|
|
3547
|
-
className: `h-[1.2rem] w-[1.2rem] transition-all duration-500 ${isDark ? "rotate-90 scale-0 opacity-0" : "rotate-0 scale-100 opacity-100 group-hover:rotate-12"}`
|
|
3548
|
-
}
|
|
3549
|
-
),
|
|
3550
|
-
/* @__PURE__ */ jsx(
|
|
3551
|
-
MoonIcon,
|
|
3552
|
-
{
|
|
3553
|
-
className: `absolute h-[1.2rem] w-[1.2rem] transition-all duration-500 ${isDark ? "rotate-0 scale-100 opacity-100 group-hover:-rotate-12" : "rotate-90 scale-0 opacity-0"}`
|
|
3554
|
-
}
|
|
3555
|
-
)
|
|
3556
|
-
] }),
|
|
3557
|
-
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Toggle theme" })
|
|
3558
|
-
]
|
|
3559
|
-
}
|
|
3595
|
+
/* @__PURE__ */ jsx(DropDownMenuTriggerBase, { asChild: true, children: wrapWithTooltip(
|
|
3596
|
+
/* @__PURE__ */ jsx(
|
|
3597
|
+
ButtonBase,
|
|
3598
|
+
{
|
|
3599
|
+
ref: buttonRef,
|
|
3600
|
+
variant,
|
|
3601
|
+
size: showLabel ? "default" : "icon",
|
|
3602
|
+
className: cn("relative overflow-hidden group", className),
|
|
3603
|
+
onMouseMove: handleMouseMove,
|
|
3604
|
+
children: buttonContent
|
|
3605
|
+
}
|
|
3606
|
+
)
|
|
3560
3607
|
) }),
|
|
3561
3608
|
/* @__PURE__ */ jsx(
|
|
3562
3609
|
DropDownMenuContentBase,
|
|
3563
3610
|
{
|
|
3564
3611
|
align: "end",
|
|
3565
|
-
className: "border-border bg-popover text-popover-foreground min-w-[140px]
|
|
3612
|
+
className: "border-border bg-popover text-popover-foreground min-w-[140px]",
|
|
3566
3613
|
children: themes.map((theme) => {
|
|
3567
3614
|
const isActive = currentTheme === theme;
|
|
3568
3615
|
return /* @__PURE__ */ jsxs(
|
|
@@ -9627,7 +9674,8 @@ function DayViewAgenda({
|
|
|
9627
9674
|
events,
|
|
9628
9675
|
onEventSelect,
|
|
9629
9676
|
showUndatedEvents,
|
|
9630
|
-
noTime = false
|
|
9677
|
+
noTime = false,
|
|
9678
|
+
onEventCreate
|
|
9631
9679
|
}) {
|
|
9632
9680
|
const hours = useMemo(() => {
|
|
9633
9681
|
const dayStart = startOfDay(currentDate);
|
|
@@ -9877,6 +9925,7 @@ function DayViewAgenda({
|
|
|
9877
9925
|
const startTime = new Date(currentDate);
|
|
9878
9926
|
startTime.setHours(hourValue);
|
|
9879
9927
|
startTime.setMinutes(quarter * 15);
|
|
9928
|
+
if (onEventCreate) onEventCreate(startTime);
|
|
9880
9929
|
},
|
|
9881
9930
|
time: quarterHourTime
|
|
9882
9931
|
},
|
|
@@ -10139,7 +10188,8 @@ function EventAgenda({
|
|
|
10139
10188
|
onlyMonth,
|
|
10140
10189
|
onlyWeek,
|
|
10141
10190
|
onlyAgenda,
|
|
10142
|
-
onlyYear
|
|
10191
|
+
onlyYear,
|
|
10192
|
+
allowCellClick = false
|
|
10143
10193
|
}) {
|
|
10144
10194
|
const lockedView = onlyDay ? "day" : onlyMonth ? "month" : onlyWeek ? "week" : onlyAgenda ? "agenda" : onlyYear ? "year" : void 0;
|
|
10145
10195
|
const [currentDate, setCurrentDate] = useState(
|
|
@@ -10302,7 +10352,13 @@ function EventAgenda({
|
|
|
10302
10352
|
currentDate,
|
|
10303
10353
|
events,
|
|
10304
10354
|
onEventSelect: handleEventSelect,
|
|
10305
|
-
noTime
|
|
10355
|
+
noTime,
|
|
10356
|
+
onEventCreate: allowCellClick ? (d) => onEventUpdate?.({
|
|
10357
|
+
start: d,
|
|
10358
|
+
end: d,
|
|
10359
|
+
title: "Novo Evento",
|
|
10360
|
+
id: crypto.randomUUID()
|
|
10361
|
+
}) : void 0
|
|
10306
10362
|
}
|
|
10307
10363
|
),
|
|
10308
10364
|
activeView === "week" && /* @__PURE__ */ jsx(
|
|
@@ -10311,7 +10367,13 @@ function EventAgenda({
|
|
|
10311
10367
|
currentDate,
|
|
10312
10368
|
events,
|
|
10313
10369
|
onEventSelect: handleEventSelect,
|
|
10314
|
-
noTime
|
|
10370
|
+
noTime,
|
|
10371
|
+
onEventCreate: allowCellClick ? (d) => onEventUpdate?.({
|
|
10372
|
+
start: d,
|
|
10373
|
+
end: d,
|
|
10374
|
+
title: "Novo Evento",
|
|
10375
|
+
id: crypto.randomUUID()
|
|
10376
|
+
}) : void 0
|
|
10315
10377
|
}
|
|
10316
10378
|
),
|
|
10317
10379
|
activeView === "day" && /* @__PURE__ */ jsx(
|
|
@@ -10320,7 +10382,13 @@ function EventAgenda({
|
|
|
10320
10382
|
currentDate,
|
|
10321
10383
|
events,
|
|
10322
10384
|
onEventSelect: handleEventSelect,
|
|
10323
|
-
noTime
|
|
10385
|
+
noTime,
|
|
10386
|
+
onEventCreate: allowCellClick ? (d) => onEventUpdate?.({
|
|
10387
|
+
start: d,
|
|
10388
|
+
end: d,
|
|
10389
|
+
title: "Novo Evento",
|
|
10390
|
+
id: crypto.randomUUID()
|
|
10391
|
+
}) : void 0
|
|
10324
10392
|
}
|
|
10325
10393
|
),
|
|
10326
10394
|
activeView === "agenda" && /* @__PURE__ */ jsx(
|
|
@@ -10329,7 +10397,13 @@ function EventAgenda({
|
|
|
10329
10397
|
currentDate,
|
|
10330
10398
|
events,
|
|
10331
10399
|
onEventSelect: handleEventSelect,
|
|
10332
|
-
noTime
|
|
10400
|
+
noTime,
|
|
10401
|
+
onEventCreate: allowCellClick ? (d) => onEventUpdate?.({
|
|
10402
|
+
start: d,
|
|
10403
|
+
end: d,
|
|
10404
|
+
title: "Novo Evento",
|
|
10405
|
+
id: crypto.randomUUID()
|
|
10406
|
+
}) : void 0
|
|
10333
10407
|
}
|
|
10334
10408
|
),
|
|
10335
10409
|
activeView === "year" && /* @__PURE__ */ jsx(
|
|
@@ -10592,7 +10666,8 @@ function MonthViewAgenda({
|
|
|
10592
10666
|
events,
|
|
10593
10667
|
onEventSelect,
|
|
10594
10668
|
showUndatedEvents,
|
|
10595
|
-
noTime = false
|
|
10669
|
+
noTime = false,
|
|
10670
|
+
onEventCreate
|
|
10596
10671
|
}) {
|
|
10597
10672
|
const days = useMemo(() => {
|
|
10598
10673
|
const monthStart = startOfMonth(currentDate);
|
|
@@ -10735,6 +10810,7 @@ function MonthViewAgenda({
|
|
|
10735
10810
|
onClick: () => {
|
|
10736
10811
|
const t = new Date(day);
|
|
10737
10812
|
t.setHours(DefaultStartHourAgenda, 0, 0);
|
|
10813
|
+
if (onEventCreate) onEventCreate(t);
|
|
10738
10814
|
},
|
|
10739
10815
|
children: [
|
|
10740
10816
|
/* @__PURE__ */ jsx(
|
|
@@ -16073,7 +16149,8 @@ var DraggableTooltipComponent = ({
|
|
|
16073
16149
|
highlightedSeries,
|
|
16074
16150
|
toggleHighlight,
|
|
16075
16151
|
finalColors,
|
|
16076
|
-
valueFormatter
|
|
16152
|
+
valueFormatter,
|
|
16153
|
+
seriesTypeMap
|
|
16077
16154
|
]
|
|
16078
16155
|
),
|
|
16079
16156
|
/* @__PURE__ */ jsx("div", { className: "mt-3 pt-2 border-t", children: /* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground flex items-center gap-1", children: [
|
|
@@ -16367,74 +16444,106 @@ var SystemTooltip = ({
|
|
|
16367
16444
|
const [localPos, setLocalPos] = useState(position);
|
|
16368
16445
|
const [dragging, setDragging] = useState(false);
|
|
16369
16446
|
const offsetRef = useRef({ x: 0, y: 0 });
|
|
16370
|
-
const
|
|
16371
|
-
|
|
16447
|
+
const lastPos = useRef({ x: 0, y: 0 });
|
|
16448
|
+
const tooltipRef = useRef(null);
|
|
16449
|
+
const currentPosRef = useRef(position);
|
|
16450
|
+
useEffect(() => {
|
|
16451
|
+
currentPosRef.current = position;
|
|
16452
|
+
setLocalPos(position);
|
|
16453
|
+
}, [position]);
|
|
16372
16454
|
useEffect(() => {
|
|
16373
16455
|
let rafId = null;
|
|
16374
|
-
const
|
|
16375
|
-
|
|
16376
|
-
lastMouse.current = { x: e.clientX, y: e.clientY };
|
|
16456
|
+
const applyMove = (clientX, clientY) => {
|
|
16457
|
+
lastPos.current = { x: clientX, y: clientY };
|
|
16377
16458
|
if (rafId) cancelAnimationFrame(rafId);
|
|
16378
16459
|
rafId = requestAnimationFrame(() => {
|
|
16379
|
-
const
|
|
16380
|
-
|
|
16381
|
-
|
|
16382
|
-
|
|
16383
|
-
|
|
16460
|
+
const p = {
|
|
16461
|
+
top: Math.max(
|
|
16462
|
+
0,
|
|
16463
|
+
Math.min(
|
|
16464
|
+
lastPos.current.y - offsetRef.current.y,
|
|
16465
|
+
window.innerHeight - 200
|
|
16466
|
+
)
|
|
16467
|
+
),
|
|
16468
|
+
left: Math.max(
|
|
16469
|
+
0,
|
|
16470
|
+
Math.min(
|
|
16471
|
+
lastPos.current.x - offsetRef.current.x,
|
|
16472
|
+
window.innerWidth - 320
|
|
16473
|
+
)
|
|
16474
|
+
)
|
|
16384
16475
|
};
|
|
16385
|
-
|
|
16386
|
-
if (
|
|
16476
|
+
currentPosRef.current = p;
|
|
16477
|
+
if (tooltipRef.current) {
|
|
16478
|
+
tooltipRef.current.style.top = `${p.top}px`;
|
|
16479
|
+
tooltipRef.current.style.left = `${p.left}px`;
|
|
16480
|
+
}
|
|
16481
|
+
onPositionChange?.(id, p);
|
|
16387
16482
|
});
|
|
16388
16483
|
};
|
|
16389
|
-
const
|
|
16390
|
-
if (dragging)
|
|
16391
|
-
|
|
16392
|
-
|
|
16393
|
-
|
|
16484
|
+
const stopDrag = () => {
|
|
16485
|
+
if (!dragging) return;
|
|
16486
|
+
setDragging(false);
|
|
16487
|
+
setLocalPos(currentPosRef.current);
|
|
16488
|
+
if (rafId) cancelAnimationFrame(rafId);
|
|
16489
|
+
};
|
|
16490
|
+
const handleMouseMove = (e) => {
|
|
16491
|
+
if (dragging) applyMove(e.clientX, e.clientY);
|
|
16492
|
+
};
|
|
16493
|
+
const handleTouchMove = (e) => {
|
|
16494
|
+
if (!dragging || !e.touches[0]) return;
|
|
16495
|
+
applyMove(e.touches[0].clientX, e.touches[0].clientY);
|
|
16394
16496
|
};
|
|
16395
16497
|
if (dragging) {
|
|
16396
16498
|
document.addEventListener("mousemove", handleMouseMove, {
|
|
16397
16499
|
passive: true
|
|
16398
16500
|
});
|
|
16399
|
-
document.addEventListener("mouseup",
|
|
16501
|
+
document.addEventListener("mouseup", stopDrag);
|
|
16502
|
+
document.addEventListener("touchmove", handleTouchMove, {
|
|
16503
|
+
passive: true
|
|
16504
|
+
});
|
|
16505
|
+
document.addEventListener("touchend", stopDrag);
|
|
16506
|
+
document.addEventListener("touchcancel", stopDrag);
|
|
16400
16507
|
document.body.style.cursor = "grabbing";
|
|
16401
16508
|
document.body.style.userSelect = "none";
|
|
16402
16509
|
}
|
|
16403
16510
|
return () => {
|
|
16404
16511
|
if (rafId) cancelAnimationFrame(rafId);
|
|
16405
16512
|
document.removeEventListener("mousemove", handleMouseMove);
|
|
16406
|
-
document.removeEventListener("mouseup",
|
|
16513
|
+
document.removeEventListener("mouseup", stopDrag);
|
|
16514
|
+
document.removeEventListener("touchmove", handleTouchMove);
|
|
16515
|
+
document.removeEventListener("touchend", stopDrag);
|
|
16516
|
+
document.removeEventListener("touchcancel", stopDrag);
|
|
16407
16517
|
document.body.style.cursor = "";
|
|
16408
16518
|
document.body.style.userSelect = "";
|
|
16409
16519
|
};
|
|
16410
16520
|
}, [dragging, id, onPositionChange]);
|
|
16411
|
-
const
|
|
16412
|
-
(e) => {
|
|
16413
|
-
|
|
16414
|
-
e.stopPropagation();
|
|
16415
|
-
const rect = e.currentTarget.closest(".fixed")?.getBoundingClientRect();
|
|
16521
|
+
const startDrag = useCallback(
|
|
16522
|
+
(clientX, clientY, e) => {
|
|
16523
|
+
const rect = tooltipRef.current?.getBoundingClientRect();
|
|
16416
16524
|
if (!rect) return;
|
|
16417
|
-
offsetRef.current = { x:
|
|
16525
|
+
offsetRef.current = { x: clientX - rect.left, y: clientY - rect.top };
|
|
16418
16526
|
setDragging(true);
|
|
16419
16527
|
onMouseDown?.(id, e);
|
|
16420
16528
|
},
|
|
16421
16529
|
[id, onMouseDown]
|
|
16422
16530
|
);
|
|
16531
|
+
const handleMouseDownLocal = useCallback(
|
|
16532
|
+
(e) => {
|
|
16533
|
+
e.preventDefault();
|
|
16534
|
+
e.stopPropagation();
|
|
16535
|
+
startDrag(e.clientX, e.clientY, e);
|
|
16536
|
+
},
|
|
16537
|
+
[startDrag]
|
|
16538
|
+
);
|
|
16423
16539
|
const handleTouchStartLocal = useCallback(
|
|
16424
16540
|
(e) => {
|
|
16425
16541
|
e.stopPropagation();
|
|
16426
16542
|
const touch = e.touches[0];
|
|
16427
16543
|
if (!touch) return;
|
|
16428
|
-
|
|
16429
|
-
if (!rect) return;
|
|
16430
|
-
offsetRef.current = {
|
|
16431
|
-
x: touch.clientX - rect.left,
|
|
16432
|
-
y: touch.clientY - rect.top
|
|
16433
|
-
};
|
|
16434
|
-
setDragging(true);
|
|
16435
|
-
onMouseDown?.(id, e);
|
|
16544
|
+
startDrag(touch.clientX, touch.clientY, e);
|
|
16436
16545
|
},
|
|
16437
|
-
[
|
|
16546
|
+
[startDrag]
|
|
16438
16547
|
);
|
|
16439
16548
|
const handleConnClick = useCallback(
|
|
16440
16549
|
(e, conn) => {
|
|
@@ -16482,15 +16591,13 @@ var SystemTooltip = ({
|
|
|
16482
16591
|
return /* @__PURE__ */ jsx(AnimatePresence, { children: /* @__PURE__ */ jsxs(
|
|
16483
16592
|
motion.div,
|
|
16484
16593
|
{
|
|
16594
|
+
ref: tooltipRef,
|
|
16485
16595
|
className: "fixed bg-card/95 backdrop-blur-md border border-border/50 rounded-xl shadow-2xl z-[10000] w-80 overflow-hidden",
|
|
16486
16596
|
variants: tooltipVariants2,
|
|
16487
16597
|
initial: "hidden",
|
|
16488
16598
|
animate: "visible",
|
|
16489
16599
|
exit: "exit",
|
|
16490
|
-
style: {
|
|
16491
|
-
top: localPos.top,
|
|
16492
|
-
left: localPos.left
|
|
16493
|
-
},
|
|
16600
|
+
style: { top: localPos.top, left: localPos.left },
|
|
16494
16601
|
onClick: (e) => e.stopPropagation(),
|
|
16495
16602
|
children: [
|
|
16496
16603
|
/* @__PURE__ */ jsxs(
|
|
@@ -16505,7 +16612,7 @@ var SystemTooltip = ({
|
|
|
16505
16612
|
},
|
|
16506
16613
|
children: [
|
|
16507
16614
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 px-3", children: [
|
|
16508
|
-
/* @__PURE__ */ jsx(
|
|
16615
|
+
/* @__PURE__ */ jsx(DotsSixVerticalIcon, { size: 16, className: "text-primary" }),
|
|
16509
16616
|
/* @__PURE__ */ jsx("span", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wider", children: title })
|
|
16510
16617
|
] }),
|
|
16511
16618
|
/* @__PURE__ */ jsx(
|
|
@@ -16531,22 +16638,19 @@ var SystemTooltip = ({
|
|
|
16531
16638
|
] }) }),
|
|
16532
16639
|
/* @__PURE__ */ jsxs("div", { className: "px-3 pb-4 space-y-4 max-h-[300px] overflow-y-auto [&::-webkit-scrollbar]:w-1 [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar-thumb]:bg-muted-foreground/20 [&::-webkit-scrollbar-thumb]:rounded-full hover:[&::-webkit-scrollbar-thumb]:bg-muted-foreground/40 transition-colors", children: [
|
|
16533
16640
|
/* @__PURE__ */ jsx(SeparatorBase, { className: "w-full" }),
|
|
16534
|
-
isLoading ? /* @__PURE__ */
|
|
16535
|
-
/* @__PURE__ */ jsxs("div", { className: "
|
|
16536
|
-
/* @__PURE__ */
|
|
16537
|
-
|
|
16538
|
-
/* @__PURE__ */ jsx(SkeletonBase, { className: "h-3 w-16" })
|
|
16539
|
-
] }),
|
|
16540
|
-
/* @__PURE__ */ jsx("div", { className: "space-y-1", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsx(SkeletonBase, { className: "h-10 w-full rounded-lg" }, i)) })
|
|
16641
|
+
isLoading ? /* @__PURE__ */ jsx(Fragment, { children: [1, 2].map((g) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
16642
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 px-1", children: [
|
|
16643
|
+
/* @__PURE__ */ jsx(SkeletonBase, { className: "w-1.5 h-1.5 rounded-full" }),
|
|
16644
|
+
/* @__PURE__ */ jsx(SkeletonBase, { className: "h-3 w-16" })
|
|
16541
16645
|
] }),
|
|
16542
|
-
/* @__PURE__ */
|
|
16543
|
-
|
|
16544
|
-
|
|
16545
|
-
|
|
16546
|
-
|
|
16547
|
-
|
|
16548
|
-
|
|
16549
|
-
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
16646
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-1", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsx(
|
|
16647
|
+
SkeletonBase,
|
|
16648
|
+
{
|
|
16649
|
+
className: "h-10 w-full rounded-lg"
|
|
16650
|
+
},
|
|
16651
|
+
i
|
|
16652
|
+
)) })
|
|
16653
|
+
] }, g)) }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
16550
16654
|
entries.length > 0 && /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
16551
16655
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 px-1", children: [
|
|
16552
16656
|
/* @__PURE__ */ jsx("div", { className: "w-1.5 h-1.5 rounded-full bg-emerald-500" }),
|
|
@@ -16561,7 +16665,7 @@ var SystemTooltip = ({
|
|
|
16561
16665
|
] }),
|
|
16562
16666
|
/* @__PURE__ */ jsx("div", { className: "space-y-1", children: renderConnections(exits, "blue") })
|
|
16563
16667
|
] }),
|
|
16564
|
-
data.connections.length === 0 &&
|
|
16668
|
+
data.connections.length === 0 && /* @__PURE__ */ jsx("div", { className: "flex flex-col items-center justify-center p-6 text-center", children: /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: "Nenhuma conex\xE3o encontrada" }) })
|
|
16565
16669
|
] })
|
|
16566
16670
|
] })
|
|
16567
16671
|
]
|
|
@@ -19944,6 +20048,308 @@ function processNeo4jData(integrations, targetSystemName) {
|
|
|
19944
20048
|
connections
|
|
19945
20049
|
};
|
|
19946
20050
|
}
|
|
20051
|
+
var AnimatedNumber = ({ value }) => {
|
|
20052
|
+
const [displayed, setDisplayed] = React32__default.useState(value);
|
|
20053
|
+
const prevRef = React32__default.useRef(value);
|
|
20054
|
+
React32__default.useEffect(() => {
|
|
20055
|
+
const start = prevRef.current;
|
|
20056
|
+
const end = value;
|
|
20057
|
+
if (start === end) return;
|
|
20058
|
+
const duration = 420;
|
|
20059
|
+
const startTime = performance.now();
|
|
20060
|
+
const tick = (now) => {
|
|
20061
|
+
const elapsed = now - startTime;
|
|
20062
|
+
const progress = Math.min(elapsed / duration, 1);
|
|
20063
|
+
const eased = progress === 1 ? 1 : 1 - Math.pow(2, -10 * progress);
|
|
20064
|
+
setDisplayed(Math.round(start + (end - start) * eased));
|
|
20065
|
+
if (progress < 1) requestAnimationFrame(tick);
|
|
20066
|
+
else prevRef.current = end;
|
|
20067
|
+
};
|
|
20068
|
+
requestAnimationFrame(tick);
|
|
20069
|
+
}, [value]);
|
|
20070
|
+
return /* @__PURE__ */ jsx(Fragment, { children: displayed });
|
|
20071
|
+
};
|
|
20072
|
+
var Callout = ({
|
|
20073
|
+
sx,
|
|
20074
|
+
sy,
|
|
20075
|
+
mx,
|
|
20076
|
+
my,
|
|
20077
|
+
ex,
|
|
20078
|
+
ey,
|
|
20079
|
+
fill,
|
|
20080
|
+
name,
|
|
20081
|
+
value,
|
|
20082
|
+
percent,
|
|
20083
|
+
isRight
|
|
20084
|
+
}) => /* @__PURE__ */ jsx(AnimatePresence, { children: /* @__PURE__ */ jsxs(
|
|
20085
|
+
motion.g,
|
|
20086
|
+
{
|
|
20087
|
+
initial: { opacity: 0 },
|
|
20088
|
+
animate: { opacity: 1 },
|
|
20089
|
+
exit: { opacity: 0 },
|
|
20090
|
+
transition: { duration: 0.18 },
|
|
20091
|
+
className: "z-9999",
|
|
20092
|
+
children: [
|
|
20093
|
+
/* @__PURE__ */ jsx(
|
|
20094
|
+
motion.path,
|
|
20095
|
+
{
|
|
20096
|
+
d: `M${sx},${sy}L${mx},${my}L${ex},${ey}`,
|
|
20097
|
+
stroke: fill,
|
|
20098
|
+
fill: "none",
|
|
20099
|
+
strokeWidth: 1.5,
|
|
20100
|
+
strokeLinecap: "round",
|
|
20101
|
+
initial: { pathLength: 0, opacity: 0 },
|
|
20102
|
+
animate: { pathLength: 1, opacity: 1 },
|
|
20103
|
+
exit: { pathLength: 0, opacity: 0 },
|
|
20104
|
+
transition: { duration: 0.32, ease: "easeInOut" }
|
|
20105
|
+
}
|
|
20106
|
+
),
|
|
20107
|
+
/* @__PURE__ */ jsx(
|
|
20108
|
+
motion.circle,
|
|
20109
|
+
{
|
|
20110
|
+
cx: ex,
|
|
20111
|
+
cy: ey,
|
|
20112
|
+
r: 3,
|
|
20113
|
+
fill,
|
|
20114
|
+
initial: { scale: 0, opacity: 0 },
|
|
20115
|
+
animate: { scale: 1, opacity: 1 },
|
|
20116
|
+
exit: { scale: 0, opacity: 0 }
|
|
20117
|
+
}
|
|
20118
|
+
),
|
|
20119
|
+
/* @__PURE__ */ jsx(
|
|
20120
|
+
"foreignObject",
|
|
20121
|
+
{
|
|
20122
|
+
x: isRight ? ex + 10 : ex - 90,
|
|
20123
|
+
y: ey - 24,
|
|
20124
|
+
width: 90,
|
|
20125
|
+
height: 48,
|
|
20126
|
+
style: { overflow: "visible" },
|
|
20127
|
+
children: /* @__PURE__ */ jsxs(
|
|
20128
|
+
motion.div,
|
|
20129
|
+
{
|
|
20130
|
+
initial: {
|
|
20131
|
+
opacity: 0,
|
|
20132
|
+
x: isRight ? -14 : 14,
|
|
20133
|
+
scale: 0.88,
|
|
20134
|
+
filter: "blur(4px)"
|
|
20135
|
+
},
|
|
20136
|
+
animate: { opacity: 1, x: 0, scale: 1, filter: "blur(0px)" },
|
|
20137
|
+
exit: {
|
|
20138
|
+
opacity: 0,
|
|
20139
|
+
x: isRight ? -8 : 8,
|
|
20140
|
+
scale: 0.92,
|
|
20141
|
+
filter: "blur(3px)"
|
|
20142
|
+
},
|
|
20143
|
+
transition: {
|
|
20144
|
+
type: "spring",
|
|
20145
|
+
stiffness: 460,
|
|
20146
|
+
damping: 26,
|
|
20147
|
+
mass: 0.8
|
|
20148
|
+
},
|
|
20149
|
+
style: { pointerEvents: "none" },
|
|
20150
|
+
children: [
|
|
20151
|
+
/* @__PURE__ */ jsxs(
|
|
20152
|
+
motion.div,
|
|
20153
|
+
{
|
|
20154
|
+
style: {
|
|
20155
|
+
fontSize: 15,
|
|
20156
|
+
fontWeight: 800,
|
|
20157
|
+
color: "#333",
|
|
20158
|
+
lineHeight: 1
|
|
20159
|
+
},
|
|
20160
|
+
initial: { y: 6, opacity: 0 },
|
|
20161
|
+
animate: { y: 0, opacity: 1 },
|
|
20162
|
+
exit: { y: -4, opacity: 0 },
|
|
20163
|
+
transition: {
|
|
20164
|
+
delay: 0.06,
|
|
20165
|
+
type: "spring",
|
|
20166
|
+
stiffness: 400,
|
|
20167
|
+
damping: 22
|
|
20168
|
+
},
|
|
20169
|
+
children: [
|
|
20170
|
+
"PV ",
|
|
20171
|
+
/* @__PURE__ */ jsx(AnimatedNumber, { value })
|
|
20172
|
+
]
|
|
20173
|
+
}
|
|
20174
|
+
),
|
|
20175
|
+
/* @__PURE__ */ jsxs(
|
|
20176
|
+
motion.div,
|
|
20177
|
+
{
|
|
20178
|
+
style: { fontSize: 11, color: "#999", marginTop: 5 },
|
|
20179
|
+
initial: { y: 6, opacity: 0 },
|
|
20180
|
+
animate: { y: 0, opacity: 1 },
|
|
20181
|
+
exit: { y: -4, opacity: 0 },
|
|
20182
|
+
transition: {
|
|
20183
|
+
delay: 0.12,
|
|
20184
|
+
type: "spring",
|
|
20185
|
+
stiffness: 400,
|
|
20186
|
+
damping: 22
|
|
20187
|
+
},
|
|
20188
|
+
children: [
|
|
20189
|
+
"Rate ",
|
|
20190
|
+
(percent * 100).toFixed(2),
|
|
20191
|
+
"%"
|
|
20192
|
+
]
|
|
20193
|
+
}
|
|
20194
|
+
)
|
|
20195
|
+
]
|
|
20196
|
+
},
|
|
20197
|
+
name
|
|
20198
|
+
)
|
|
20199
|
+
}
|
|
20200
|
+
)
|
|
20201
|
+
]
|
|
20202
|
+
},
|
|
20203
|
+
name
|
|
20204
|
+
) });
|
|
20205
|
+
var renderActiveShape = (props) => {
|
|
20206
|
+
const RADIAN = Math.PI / 180;
|
|
20207
|
+
const {
|
|
20208
|
+
cx,
|
|
20209
|
+
cy,
|
|
20210
|
+
midAngle,
|
|
20211
|
+
innerRadius,
|
|
20212
|
+
outerRadius,
|
|
20213
|
+
startAngle,
|
|
20214
|
+
endAngle,
|
|
20215
|
+
fill,
|
|
20216
|
+
payload,
|
|
20217
|
+
percent,
|
|
20218
|
+
value
|
|
20219
|
+
} = props;
|
|
20220
|
+
const sin = Math.sin(-RADIAN * (midAngle ?? 0));
|
|
20221
|
+
const cos = Math.cos(-RADIAN * (midAngle ?? 0));
|
|
20222
|
+
const sx = (cx ?? 0) + ((outerRadius ?? 0) + 10) * cos;
|
|
20223
|
+
const sy = (cy ?? 0) + ((outerRadius ?? 0) + 10) * sin;
|
|
20224
|
+
const mx = (cx ?? 0) + ((outerRadius ?? 0) + 30) * cos;
|
|
20225
|
+
const my = (cy ?? 0) + ((outerRadius ?? 0) + 30) * sin;
|
|
20226
|
+
const ex = mx + (cos >= 0 ? 1 : -1) * 22;
|
|
20227
|
+
const ey = my;
|
|
20228
|
+
return /* @__PURE__ */ jsxs("g", { children: [
|
|
20229
|
+
/* @__PURE__ */ jsx("text", { x: cx, y: cy, dy: 8, textAnchor: "middle", fill, children: payload?.name }),
|
|
20230
|
+
/* @__PURE__ */ jsx(
|
|
20231
|
+
Sector,
|
|
20232
|
+
{
|
|
20233
|
+
cx,
|
|
20234
|
+
cy,
|
|
20235
|
+
innerRadius,
|
|
20236
|
+
outerRadius,
|
|
20237
|
+
startAngle,
|
|
20238
|
+
endAngle,
|
|
20239
|
+
fill
|
|
20240
|
+
}
|
|
20241
|
+
),
|
|
20242
|
+
/* @__PURE__ */ jsx(
|
|
20243
|
+
Sector,
|
|
20244
|
+
{
|
|
20245
|
+
cx,
|
|
20246
|
+
cy,
|
|
20247
|
+
startAngle,
|
|
20248
|
+
endAngle,
|
|
20249
|
+
innerRadius: (outerRadius ?? 0) + 6,
|
|
20250
|
+
outerRadius: (outerRadius ?? 0) + 10,
|
|
20251
|
+
fill
|
|
20252
|
+
}
|
|
20253
|
+
),
|
|
20254
|
+
/* @__PURE__ */ jsx(
|
|
20255
|
+
Callout,
|
|
20256
|
+
{
|
|
20257
|
+
sx,
|
|
20258
|
+
sy,
|
|
20259
|
+
mx,
|
|
20260
|
+
my,
|
|
20261
|
+
ex,
|
|
20262
|
+
ey,
|
|
20263
|
+
fill: fill ?? "#8884d8",
|
|
20264
|
+
name: payload?.name,
|
|
20265
|
+
value,
|
|
20266
|
+
percent: percent ?? 0,
|
|
20267
|
+
isRight: cos >= 0
|
|
20268
|
+
}
|
|
20269
|
+
)
|
|
20270
|
+
] });
|
|
20271
|
+
};
|
|
20272
|
+
var PieChartComponent = ({
|
|
20273
|
+
data,
|
|
20274
|
+
width = 400,
|
|
20275
|
+
height = 300,
|
|
20276
|
+
innerRadius = 60,
|
|
20277
|
+
outerRadius = 80,
|
|
20278
|
+
showLegend = true,
|
|
20279
|
+
showTooltip = true,
|
|
20280
|
+
title,
|
|
20281
|
+
titlePosition = "left",
|
|
20282
|
+
className
|
|
20283
|
+
}) => {
|
|
20284
|
+
const [activeIndex, setActiveIndex] = useState(0);
|
|
20285
|
+
const finalColors = Object.fromEntries(
|
|
20286
|
+
data.map((d) => [d.name, d.color || "#8884d8"])
|
|
20287
|
+
);
|
|
20288
|
+
return /* @__PURE__ */ jsxs(
|
|
20289
|
+
"div",
|
|
20290
|
+
{
|
|
20291
|
+
className: cn(
|
|
20292
|
+
"w-full overflow-hidden min-w-0 rounded-lg border-border bg-card",
|
|
20293
|
+
className
|
|
20294
|
+
),
|
|
20295
|
+
tabIndex: -1,
|
|
20296
|
+
children: [
|
|
20297
|
+
title && /* @__PURE__ */ jsx(
|
|
20298
|
+
ChartHeader,
|
|
20299
|
+
{
|
|
20300
|
+
title,
|
|
20301
|
+
titlePosition,
|
|
20302
|
+
HORIZONTAL_PADDING_CLASS: "px-6",
|
|
20303
|
+
data,
|
|
20304
|
+
allKeys: data.map((d) => d.name),
|
|
20305
|
+
processedData: data,
|
|
20306
|
+
finalColors,
|
|
20307
|
+
mapperConfig: Object.fromEntries(
|
|
20308
|
+
data.map((d) => [
|
|
20309
|
+
d.name,
|
|
20310
|
+
{ label: d.name, color: d.color || "#8884d8" }
|
|
20311
|
+
])
|
|
20312
|
+
)
|
|
20313
|
+
}
|
|
20314
|
+
),
|
|
20315
|
+
/* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ jsxs(
|
|
20316
|
+
PieChart,
|
|
20317
|
+
{
|
|
20318
|
+
width: typeof width === "number" ? width : 400,
|
|
20319
|
+
height,
|
|
20320
|
+
margin: { top: 20, right: 80, bottom: 20, left: 80 },
|
|
20321
|
+
children: [
|
|
20322
|
+
/* @__PURE__ */ jsx(
|
|
20323
|
+
Pie,
|
|
20324
|
+
{
|
|
20325
|
+
activeIndex,
|
|
20326
|
+
activeShape: renderActiveShape,
|
|
20327
|
+
data,
|
|
20328
|
+
dataKey: "value",
|
|
20329
|
+
nameKey: "name",
|
|
20330
|
+
cx: "50%",
|
|
20331
|
+
cy: "50%",
|
|
20332
|
+
innerRadius,
|
|
20333
|
+
outerRadius,
|
|
20334
|
+
fill: "#8884d8",
|
|
20335
|
+
onMouseEnter: (_, index) => setActiveIndex(index),
|
|
20336
|
+
onMouseLeave: () => setActiveIndex(void 0),
|
|
20337
|
+
onClick: (e) => {
|
|
20338
|
+
if (e && e.target && typeof e.target.blur === "function") e.target.blur();
|
|
20339
|
+
},
|
|
20340
|
+
children: data.map((entry, index) => /* @__PURE__ */ jsx(Cell, { fill: entry.color || "#8884d8" }, `cell-${index}`))
|
|
20341
|
+
}
|
|
20342
|
+
),
|
|
20343
|
+
showLegend && /* @__PURE__ */ jsx(Legend, {}),
|
|
20344
|
+
showTooltip && /* @__PURE__ */ jsx(Tooltip, { content: () => null })
|
|
20345
|
+
]
|
|
20346
|
+
}
|
|
20347
|
+
) })
|
|
20348
|
+
]
|
|
20349
|
+
}
|
|
20350
|
+
);
|
|
20351
|
+
};
|
|
20352
|
+
var PieChart_default = PieChartComponent;
|
|
19947
20353
|
function NumericInput({
|
|
19948
20354
|
value,
|
|
19949
20355
|
onChange,
|
|
@@ -20938,12 +21344,23 @@ function CarouselBase({
|
|
|
20938
21344
|
setDownloadSuccess(false);
|
|
20939
21345
|
const currentItem = items[index];
|
|
20940
21346
|
try {
|
|
20941
|
-
const response = await fetch(currentItem.url);
|
|
21347
|
+
const response = await fetch(currentItem.url, { mode: "cors" });
|
|
21348
|
+
if (!response.ok) throw new Error("Erro ao baixar imagem");
|
|
20942
21349
|
const blob = await response.blob();
|
|
20943
21350
|
const url = window.URL.createObjectURL(blob);
|
|
20944
21351
|
const link = document.createElement("a");
|
|
20945
21352
|
link.href = url;
|
|
20946
|
-
|
|
21353
|
+
let ext = "";
|
|
21354
|
+
try {
|
|
21355
|
+
const urlObj = new URL(currentItem.url, window.location.href);
|
|
21356
|
+
const path = urlObj.pathname;
|
|
21357
|
+
ext = path.substring(path.lastIndexOf("."));
|
|
21358
|
+
if (!ext || ext.length > 6) ext = "";
|
|
21359
|
+
} catch {
|
|
21360
|
+
}
|
|
21361
|
+
let filename = currentItem.title || "image";
|
|
21362
|
+
if (ext && !filename.endsWith(ext)) filename += ext;
|
|
21363
|
+
link.download = filename;
|
|
20947
21364
|
document.body.appendChild(link);
|
|
20948
21365
|
link.click();
|
|
20949
21366
|
document.body.removeChild(link);
|
|
@@ -20952,6 +21369,9 @@ function CarouselBase({
|
|
|
20952
21369
|
setDownloadSuccess(true);
|
|
20953
21370
|
setTimeout(() => setDownloadSuccess(false), 2e3);
|
|
20954
21371
|
} catch (error) {
|
|
21372
|
+
alert(
|
|
21373
|
+
"Erro ao baixar imagem. Verifique a URL ou permiss\xF5es do servidor."
|
|
21374
|
+
);
|
|
20955
21375
|
console.error("Error downloading image:", error);
|
|
20956
21376
|
setIsDownloading(false);
|
|
20957
21377
|
}
|
|
@@ -20993,8 +21413,13 @@ function CarouselBase({
|
|
|
20993
21413
|
{
|
|
20994
21414
|
src: item.url,
|
|
20995
21415
|
alt: item.title,
|
|
20996
|
-
className: cn(
|
|
20997
|
-
|
|
21416
|
+
className: cn(
|
|
21417
|
+
"w-full h-full select-none object-contain"
|
|
21418
|
+
),
|
|
21419
|
+
imageClassName: cn(
|
|
21420
|
+
"object-contain w-full h-full",
|
|
21421
|
+
imageClassName
|
|
21422
|
+
),
|
|
20998
21423
|
borderRadius: 8,
|
|
20999
21424
|
maxZoom: 3
|
|
21000
21425
|
}
|
|
@@ -21808,6 +22233,22 @@ function GroupLabel({ group }) {
|
|
|
21808
22233
|
/* @__PURE__ */ jsx("span", { className: "text-[11px] font-semibold text-muted-foreground uppercase tracking-widest", children: group.label })
|
|
21809
22234
|
] });
|
|
21810
22235
|
}
|
|
22236
|
+
function HighlightText({ text, query }) {
|
|
22237
|
+
if (!query || !query.trim()) return /* @__PURE__ */ jsx(Fragment, { children: text });
|
|
22238
|
+
const terms = query.split(/[, ]+/).map((t) => t.trim()).filter((t) => t.length > 0);
|
|
22239
|
+
if (terms.length === 0) return /* @__PURE__ */ jsx(Fragment, { children: text });
|
|
22240
|
+
const escapedTerms = terms.map(
|
|
22241
|
+
(t) => t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
|
|
22242
|
+
);
|
|
22243
|
+
const regex = new RegExp(`(${escapedTerms.join("|")})`, "gi");
|
|
22244
|
+
const parts = text.split(regex);
|
|
22245
|
+
return /* @__PURE__ */ jsx(Fragment, { children: parts.map((part, i) => {
|
|
22246
|
+
const isMatch = terms.some(
|
|
22247
|
+
(t) => t.toLowerCase() === part.toLowerCase()
|
|
22248
|
+
);
|
|
22249
|
+
return isMatch ? /* @__PURE__ */ jsx("span", { className: "text-primary font-semibold", children: part }, i) : /* @__PURE__ */ jsx("span", { children: part }, i);
|
|
22250
|
+
}) });
|
|
22251
|
+
}
|
|
21811
22252
|
function mapBadgeVariantToColor(variant) {
|
|
21812
22253
|
if (!variant) return void 0;
|
|
21813
22254
|
switch (variant) {
|
|
@@ -21834,44 +22275,61 @@ function mapBadgeVariantToColor(variant) {
|
|
|
21834
22275
|
function CommandItemRow({
|
|
21835
22276
|
item,
|
|
21836
22277
|
isActive,
|
|
22278
|
+
isSelected,
|
|
22279
|
+
multiSelect,
|
|
21837
22280
|
onSelect,
|
|
21838
|
-
|
|
22281
|
+
onToggleSelection,
|
|
22282
|
+
onHover,
|
|
22283
|
+
searchQuery
|
|
21839
22284
|
}) {
|
|
21840
22285
|
return /* @__PURE__ */ jsxs(
|
|
21841
22286
|
motion.button,
|
|
21842
22287
|
{
|
|
21843
22288
|
layout: true,
|
|
21844
|
-
onClick:
|
|
22289
|
+
onClick: (e) => {
|
|
22290
|
+
if (multiSelect && onToggleSelection && (e.ctrlKey || e.metaKey || e.shiftKey)) {
|
|
22291
|
+
onToggleSelection(e);
|
|
22292
|
+
} else {
|
|
22293
|
+
onSelect(e);
|
|
22294
|
+
}
|
|
22295
|
+
},
|
|
21845
22296
|
onMouseEnter: onHover,
|
|
21846
22297
|
className: `
|
|
21847
|
-
w-full flex items-center gap-1 px-2
|
|
22298
|
+
w-full flex items-center gap-1 px-2 py-1 rounded-md text-left cursor-pointer
|
|
21848
22299
|
transition-colors duration-75 group relative
|
|
21849
|
-
${isActive ? "text-accent-foreground
|
|
22300
|
+
${isActive ? "text-accent-foreground bg-accent" : "hover:bg-accent hover:text-accent-foreground"}
|
|
21850
22301
|
`,
|
|
21851
22302
|
children: [
|
|
21852
22303
|
item.icon && /* @__PURE__ */ jsx(
|
|
21853
22304
|
"span",
|
|
21854
22305
|
{
|
|
21855
22306
|
className: `relative flex-shrink-0 w-8 h-8 flex items-center justify-center rounded-md text-base
|
|
21856
|
-
${isActive ? "bg-primary/20 text-primary" : "bg-muted text-muted-foreground group-hover:text-foreground"}`,
|
|
22307
|
+
${isSelected ? "bg-primary text-primary-foreground" : isActive ? "bg-primary/20 text-primary" : "bg-muted text-muted-foreground group-hover:text-foreground"}`,
|
|
21857
22308
|
children: item.icon
|
|
21858
22309
|
}
|
|
21859
22310
|
),
|
|
21860
22311
|
/* @__PURE__ */ jsxs("div", { className: "relative flex-1 min-w-0 px-1", children: [
|
|
21861
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3
|
|
22312
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 flex-wrap", children: [
|
|
21862
22313
|
/* @__PURE__ */ jsx(
|
|
21863
22314
|
"span",
|
|
21864
22315
|
{
|
|
21865
22316
|
className: `text-sm font-medium truncate ${isActive ? "text-foreground" : "text-foreground/80"}`,
|
|
21866
|
-
children: item.label
|
|
22317
|
+
children: /* @__PURE__ */ jsx(HighlightText, { text: item.label, query: searchQuery })
|
|
21867
22318
|
}
|
|
21868
22319
|
),
|
|
21869
22320
|
item.badge && /* @__PURE__ */ jsx(Badge, { color: mapBadgeVariantToColor(item.badgeVariant), children: item.badge.toUpperCase() })
|
|
21870
22321
|
] }),
|
|
21871
|
-
item.description && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground truncate", children: item.description })
|
|
22322
|
+
item.description && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground truncate", children: /* @__PURE__ */ jsx(HighlightText, { text: item.description, query: searchQuery }) })
|
|
21872
22323
|
] }),
|
|
21873
22324
|
item.shortcut && /* @__PURE__ */ jsx("div", { className: "relative hidden sm:flex items-center gap-1 flex-shrink-0", children: item.shortcut.map((k, i) => /* @__PURE__ */ jsx(Kbd, { children: k }, i)) }),
|
|
21874
|
-
|
|
22325
|
+
isSelected && /* @__PURE__ */ jsx(
|
|
22326
|
+
motion.div,
|
|
22327
|
+
{
|
|
22328
|
+
layoutId: `selected-indicator-${item.id}`,
|
|
22329
|
+
className: "absolute left-0 top-1/2 -translate-y-1/2 w-1 h-2/3 bg-primary rounded-r-md"
|
|
22330
|
+
}
|
|
22331
|
+
),
|
|
22332
|
+
isActive && !isSelected && /* @__PURE__ */ jsx(
|
|
21875
22333
|
CaretRightIcon,
|
|
21876
22334
|
{
|
|
21877
22335
|
className: "relative w-4 h-4 text-primary flex-shrink-0",
|
|
@@ -21891,22 +22349,40 @@ function useCommandPalette({
|
|
|
21891
22349
|
recentItems = [],
|
|
21892
22350
|
onRecentItemsChange,
|
|
21893
22351
|
maxRecentItems = 5,
|
|
21894
|
-
multiSearch = false
|
|
22352
|
+
multiSearch = false,
|
|
22353
|
+
multiSelect = false,
|
|
22354
|
+
onSelectMultiple
|
|
21895
22355
|
}) {
|
|
21896
22356
|
const [query, setQuery] = React32.useState("");
|
|
21897
22357
|
const [activeIndex, setActiveIndex] = React32.useState(0);
|
|
21898
22358
|
const [page, setPage] = React32.useState(0);
|
|
22359
|
+
const [selectedItemIds, setSelectedItemIds] = React32.useState(
|
|
22360
|
+
/* @__PURE__ */ new Set()
|
|
22361
|
+
);
|
|
22362
|
+
const toggleSelection = React32.useCallback((id) => {
|
|
22363
|
+
setSelectedItemIds((prev) => {
|
|
22364
|
+
const next = new Set(prev);
|
|
22365
|
+
if (next.has(id)) next.delete(id);
|
|
22366
|
+
else next.add(id);
|
|
22367
|
+
return next;
|
|
22368
|
+
});
|
|
22369
|
+
}, []);
|
|
22370
|
+
const clearSelection = React32.useCallback(
|
|
22371
|
+
() => setSelectedItemIds(/* @__PURE__ */ new Set()),
|
|
22372
|
+
[]
|
|
22373
|
+
);
|
|
21899
22374
|
const baseGroups = React32.useMemo(
|
|
21900
22375
|
() => normaliseGroups(items, groups),
|
|
21901
22376
|
[items, groups]
|
|
21902
22377
|
);
|
|
21903
|
-
|
|
22378
|
+
useEffect(() => {
|
|
21904
22379
|
if (open) {
|
|
21905
22380
|
setQuery("");
|
|
21906
22381
|
setActiveIndex(0);
|
|
21907
22382
|
setPage(0);
|
|
22383
|
+
clearSelection();
|
|
21908
22384
|
}
|
|
21909
|
-
}, [open]);
|
|
22385
|
+
}, [open, clearSelection]);
|
|
21910
22386
|
const searchTerms = React32.useMemo(() => {
|
|
21911
22387
|
const parts = query.split(",");
|
|
21912
22388
|
if (parts.length <= 1 && !multiSearch) return [];
|
|
@@ -21969,12 +22445,35 @@ function useCommandPalette({
|
|
|
21969
22445
|
() => displayedGroups.flatMap((g) => g.items),
|
|
21970
22446
|
[displayedGroups]
|
|
21971
22447
|
);
|
|
22448
|
+
const selectedItems = useMemo(
|
|
22449
|
+
() => allFlatItems.filter((i) => selectedItemIds.has(i.id)),
|
|
22450
|
+
[allFlatItems, selectedItemIds]
|
|
22451
|
+
);
|
|
21972
22452
|
const pageItemCount = flatItems.length;
|
|
21973
22453
|
useEffect(() => {
|
|
21974
22454
|
setActiveIndex((i) => Math.min(i, Math.max(pageItemCount - 1, 0)));
|
|
21975
22455
|
}, [pageItemCount]);
|
|
21976
|
-
function
|
|
22456
|
+
function executeBulkAction() {
|
|
22457
|
+
if (!onSelectMultiple || selectedItems.length === 0) return;
|
|
22458
|
+
onSelectMultiple(selectedItems);
|
|
22459
|
+
onOpenChange?.(false);
|
|
22460
|
+
}
|
|
22461
|
+
function handleSelect(item, event) {
|
|
21977
22462
|
if (!item) return;
|
|
22463
|
+
if (multiSelect) {
|
|
22464
|
+
if (event && ("ctrlKey" in event || "metaKey" in event || "shiftKey" in event) && (event.ctrlKey || event.metaKey || event.shiftKey)) {
|
|
22465
|
+
toggleSelection(item.id);
|
|
22466
|
+
return;
|
|
22467
|
+
}
|
|
22468
|
+
if (selectedItems.length > 0) {
|
|
22469
|
+
const itemsToSubmit = selectedItemIds.has(item.id) ? selectedItems : [...selectedItems, item];
|
|
22470
|
+
if (onSelectMultiple) {
|
|
22471
|
+
onSelectMultiple(itemsToSubmit);
|
|
22472
|
+
}
|
|
22473
|
+
onOpenChange?.(false);
|
|
22474
|
+
return;
|
|
22475
|
+
}
|
|
22476
|
+
}
|
|
21978
22477
|
item.onSelect();
|
|
21979
22478
|
onOpenChange?.(false);
|
|
21980
22479
|
if (onRecentItemsChange) {
|
|
@@ -22007,12 +22506,26 @@ function useCommandPalette({
|
|
|
22007
22506
|
}
|
|
22008
22507
|
} else if (e.key === "Enter") {
|
|
22009
22508
|
e.preventDefault();
|
|
22010
|
-
|
|
22509
|
+
if (multiSelect && (e.ctrlKey || e.metaKey)) {
|
|
22510
|
+
executeBulkAction();
|
|
22511
|
+
return;
|
|
22512
|
+
}
|
|
22513
|
+
handleSelect(flatItems[activeIndex], e);
|
|
22011
22514
|
}
|
|
22012
22515
|
};
|
|
22013
22516
|
document.addEventListener("keydown", handler);
|
|
22014
22517
|
return () => document.removeEventListener("keydown", handler);
|
|
22015
|
-
}, [
|
|
22518
|
+
}, [
|
|
22519
|
+
open,
|
|
22520
|
+
flatItems,
|
|
22521
|
+
activeIndex,
|
|
22522
|
+
pageItemCount,
|
|
22523
|
+
page,
|
|
22524
|
+
totalPages,
|
|
22525
|
+
executeBulkAction,
|
|
22526
|
+
handleSelect,
|
|
22527
|
+
multiSelect
|
|
22528
|
+
]);
|
|
22016
22529
|
return {
|
|
22017
22530
|
query,
|
|
22018
22531
|
setQuery,
|
|
@@ -22028,6 +22541,10 @@ function useCommandPalette({
|
|
|
22028
22541
|
totalItems,
|
|
22029
22542
|
totalPages,
|
|
22030
22543
|
handleSelect,
|
|
22544
|
+
selectedItemIds,
|
|
22545
|
+
toggleSelection,
|
|
22546
|
+
selectedItems,
|
|
22547
|
+
executeBulkAction,
|
|
22031
22548
|
isEmpty: totalItems === 0 && query.trim().length > 0,
|
|
22032
22549
|
showList: query.trim() !== "" || recentItems.length > 0
|
|
22033
22550
|
};
|
|
@@ -22087,8 +22604,12 @@ var VirtualResultList = memo(
|
|
|
22087
22604
|
displayedGroups,
|
|
22088
22605
|
flatItems,
|
|
22089
22606
|
activeIndex,
|
|
22607
|
+
multiSelect,
|
|
22608
|
+
selectedItemIds,
|
|
22090
22609
|
onHover,
|
|
22091
|
-
onSelect
|
|
22610
|
+
onSelect,
|
|
22611
|
+
onToggleSelection,
|
|
22612
|
+
searchQuery
|
|
22092
22613
|
}) => {
|
|
22093
22614
|
const rows = useMemo(() => {
|
|
22094
22615
|
const acc = [];
|
|
@@ -22126,7 +22647,7 @@ var VirtualResultList = memo(
|
|
|
22126
22647
|
ref: listRef,
|
|
22127
22648
|
className: "overflow-y-auto overscroll-contain px-2 py-1 [&::-webkit-scrollbar]:w-1.5 [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar-thumb]:bg-muted-foreground/30 [&::-webkit-scrollbar-thumb]:rounded-full hover:[&::-webkit-scrollbar-thumb]:bg-muted-foreground/50 transition-colors",
|
|
22128
22649
|
style: { maxHeight: `min(${LIST_MAX_HEIGHT}px, 60vh)` },
|
|
22129
|
-
children: /* @__PURE__ */ jsx("div", { style: { height: totalSize, position: "relative" }, children: virtualItems.map((vItem) => {
|
|
22650
|
+
children: /* @__PURE__ */ jsx("div", { style: { height: totalSize, position: "relative", width: "100%" }, children: virtualItems.map((vItem) => {
|
|
22130
22651
|
const row = rows[vItem.index];
|
|
22131
22652
|
return /* @__PURE__ */ jsx(
|
|
22132
22653
|
"div",
|
|
@@ -22135,17 +22656,22 @@ var VirtualResultList = memo(
|
|
|
22135
22656
|
ref: virtualizer.measureElement,
|
|
22136
22657
|
style: {
|
|
22137
22658
|
position: "absolute",
|
|
22138
|
-
top:
|
|
22659
|
+
top: 0,
|
|
22139
22660
|
left: 0,
|
|
22140
|
-
|
|
22661
|
+
width: "100%",
|
|
22662
|
+
transform: `translateY(${vItem.start}px)`
|
|
22141
22663
|
},
|
|
22142
22664
|
children: row.kind === "label" ? /* @__PURE__ */ jsx(GroupLabel, { group: row.group }) : /* @__PURE__ */ jsx("div", { "data-active": row.globalIdx === activeIndex, children: /* @__PURE__ */ jsx(
|
|
22143
22665
|
CommandItemRow,
|
|
22144
22666
|
{
|
|
22145
22667
|
item: row.item,
|
|
22146
22668
|
isActive: row.globalIdx === activeIndex,
|
|
22669
|
+
isSelected: selectedItemIds.has(row.item.id),
|
|
22670
|
+
multiSelect,
|
|
22147
22671
|
onHover: () => onHover(row.globalIdx),
|
|
22148
|
-
onSelect: () => onSelect(row.item)
|
|
22672
|
+
onSelect: (e) => onSelect(row.item, e),
|
|
22673
|
+
onToggleSelection: (e) => onToggleSelection(row.item.id, e),
|
|
22674
|
+
searchQuery
|
|
22149
22675
|
}
|
|
22150
22676
|
) })
|
|
22151
22677
|
},
|
|
@@ -22157,30 +22683,55 @@ var VirtualResultList = memo(
|
|
|
22157
22683
|
}
|
|
22158
22684
|
);
|
|
22159
22685
|
VirtualResultList.displayName = "VirtualResultList";
|
|
22160
|
-
var FooterBar = memo(
|
|
22161
|
-
|
|
22162
|
-
|
|
22163
|
-
|
|
22164
|
-
|
|
22165
|
-
|
|
22166
|
-
|
|
22167
|
-
|
|
22168
|
-
|
|
22169
|
-
|
|
22170
|
-
|
|
22171
|
-
|
|
22172
|
-
|
|
22173
|
-
|
|
22174
|
-
|
|
22175
|
-
|
|
22176
|
-
|
|
22177
|
-
|
|
22178
|
-
|
|
22179
|
-
|
|
22180
|
-
|
|
22686
|
+
var FooterBar = memo(
|
|
22687
|
+
({
|
|
22688
|
+
footer,
|
|
22689
|
+
totalItems,
|
|
22690
|
+
selectedCount = 0,
|
|
22691
|
+
executeBulkAction
|
|
22692
|
+
}) => /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-4 py-2 border-t border-border bg-muted/30", children: [
|
|
22693
|
+
footer ?? /* @__PURE__ */ jsx("div", { className: "flex items-center gap-4 text-[11px] text-muted-foreground", children: selectedCount > 0 ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
22694
|
+
/* @__PURE__ */ jsxs(
|
|
22695
|
+
"button",
|
|
22696
|
+
{
|
|
22697
|
+
onClick: executeBulkAction,
|
|
22698
|
+
className: "flex items-center gap-1.5 text-primary hover:text-primary/80 transition-colors font-medium cursor-pointer",
|
|
22699
|
+
children: [
|
|
22700
|
+
/* @__PURE__ */ jsx(CommandIcon, { className: "w-3 h-3" }),
|
|
22701
|
+
" Confirmar (",
|
|
22702
|
+
selectedCount,
|
|
22703
|
+
")"
|
|
22704
|
+
]
|
|
22705
|
+
}
|
|
22706
|
+
),
|
|
22707
|
+
/* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1.5", children: [
|
|
22708
|
+
/* @__PURE__ */ jsx("span", { className: "font-mono text-[10px] px-1 bg-muted rounded border", children: "Ctrl+Enter" }),
|
|
22709
|
+
"Finalizar sele\xE7\xE3o"
|
|
22710
|
+
] })
|
|
22711
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
22712
|
+
/* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1.5", children: [
|
|
22713
|
+
/* @__PURE__ */ jsx(ArrowElbowDownRightIcon, { className: "w-3 h-3" }),
|
|
22714
|
+
"Selecionar"
|
|
22715
|
+
] }),
|
|
22716
|
+
/* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1.5", children: [
|
|
22717
|
+
/* @__PURE__ */ jsx("span", { className: "font-mono", children: "\u2191\u2193" }),
|
|
22718
|
+
"Navegar"
|
|
22719
|
+
] }),
|
|
22720
|
+
/* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1.5", children: [
|
|
22721
|
+
/* @__PURE__ */ jsx(ArrowBendUpLeftIcon, { className: "w-3 h-3" }),
|
|
22722
|
+
"Fechar"
|
|
22723
|
+
] })
|
|
22724
|
+
] }) }),
|
|
22725
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 text-[11px] text-muted-foreground", children: [
|
|
22726
|
+
/* @__PURE__ */ jsx(CommandIcon, { className: "w-3 h-3" }),
|
|
22727
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
22728
|
+
totalItems,
|
|
22729
|
+
" resultado",
|
|
22730
|
+
totalItems !== 1 ? "s" : ""
|
|
22731
|
+
] })
|
|
22181
22732
|
] })
|
|
22182
22733
|
] })
|
|
22183
|
-
|
|
22734
|
+
);
|
|
22184
22735
|
FooterBar.displayName = "FooterBar";
|
|
22185
22736
|
function CommandPalette(props) {
|
|
22186
22737
|
const {
|
|
@@ -22190,6 +22741,7 @@ function CommandPalette(props) {
|
|
|
22190
22741
|
footer,
|
|
22191
22742
|
debounceDelay = 300,
|
|
22192
22743
|
multiSearch = false,
|
|
22744
|
+
multiSelect = false,
|
|
22193
22745
|
emptyMessage = "Nenhum resultado encontrado.",
|
|
22194
22746
|
shortcut = { key: "k", ctrl: true }
|
|
22195
22747
|
} = props;
|
|
@@ -22206,13 +22758,16 @@ function CommandPalette(props) {
|
|
|
22206
22758
|
flatItems,
|
|
22207
22759
|
totalItems,
|
|
22208
22760
|
handleSelect,
|
|
22761
|
+
selectedItemIds,
|
|
22762
|
+
toggleSelection,
|
|
22763
|
+
executeBulkAction,
|
|
22209
22764
|
isEmpty,
|
|
22210
22765
|
showList
|
|
22211
22766
|
} = useCommandPalette({
|
|
22212
22767
|
...props,
|
|
22213
|
-
open:
|
|
22768
|
+
open: props.open
|
|
22214
22769
|
});
|
|
22215
|
-
useKeyboardShortcut(shortcut.key, () => onOpenChange(!open), {
|
|
22770
|
+
useKeyboardShortcut(shortcut.key, () => onOpenChange?.(!open), {
|
|
22216
22771
|
ctrl: shortcut.ctrl,
|
|
22217
22772
|
meta: shortcut.meta,
|
|
22218
22773
|
shift: shortcut.shift,
|
|
@@ -22221,7 +22776,7 @@ function CommandPalette(props) {
|
|
|
22221
22776
|
useEffect(() => {
|
|
22222
22777
|
if (!open) return;
|
|
22223
22778
|
const handleEscape = (e) => {
|
|
22224
|
-
if (e.key === "Escape") onOpenChange(false);
|
|
22779
|
+
if (e.key === "Escape") onOpenChange?.(false);
|
|
22225
22780
|
};
|
|
22226
22781
|
document.addEventListener("keydown", handleEscape);
|
|
22227
22782
|
return () => document.removeEventListener("keydown", handleEscape);
|
|
@@ -22248,11 +22803,11 @@ function CommandPalette(props) {
|
|
|
22248
22803
|
(val) => {
|
|
22249
22804
|
setQuery(val);
|
|
22250
22805
|
setActiveIndex(0);
|
|
22251
|
-
if (!open && val.trim() !== "") onOpenChange(true);
|
|
22806
|
+
if (!open && val.trim() !== "") onOpenChange?.(true);
|
|
22252
22807
|
},
|
|
22253
22808
|
[setQuery, setActiveIndex, open, onOpenChange]
|
|
22254
22809
|
);
|
|
22255
|
-
const handleClose = useCallback(() => onOpenChange(false), [onOpenChange]);
|
|
22810
|
+
const handleClose = useCallback(() => onOpenChange?.(false), [onOpenChange]);
|
|
22256
22811
|
const handleClearQuery = useCallback(() => setQuery(""), [setQuery]);
|
|
22257
22812
|
const searchPlaceholder = multiSearch ? "Buscar\u2026 (separe termos por v\xEDrgula)" : placeholder;
|
|
22258
22813
|
const sharedListProps = {
|
|
@@ -22262,49 +22817,65 @@ function CommandPalette(props) {
|
|
|
22262
22817
|
displayedGroups,
|
|
22263
22818
|
flatItems,
|
|
22264
22819
|
activeIndex,
|
|
22820
|
+
multiSelect,
|
|
22821
|
+
selectedItemIds,
|
|
22265
22822
|
onHover: setActiveIndex,
|
|
22266
|
-
onSelect: handleSelect
|
|
22823
|
+
onSelect: handleSelect,
|
|
22824
|
+
onToggleSelection: toggleSelection,
|
|
22825
|
+
searchQuery: query
|
|
22267
22826
|
};
|
|
22268
22827
|
if (isMobile) {
|
|
22269
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
22270
|
-
/* @__PURE__ */
|
|
22271
|
-
|
|
22828
|
+
return /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
22829
|
+
/* @__PURE__ */ jsxs(
|
|
22830
|
+
motion.div,
|
|
22272
22831
|
{
|
|
22273
|
-
|
|
22274
|
-
|
|
22275
|
-
|
|
22276
|
-
|
|
22277
|
-
|
|
22832
|
+
initial: { opacity: 0, y: -20 },
|
|
22833
|
+
animate: { opacity: 1, y: 0 },
|
|
22834
|
+
exit: { opacity: 0, y: -20 },
|
|
22835
|
+
className: "fixed top-0 left-0 right-0 z-[100] px-4 py-3 bg-background border-b border-border shadow-sm flex items-center gap-3",
|
|
22836
|
+
children: [
|
|
22837
|
+
/* @__PURE__ */ jsx(MagnifyingGlassIcon, { className: "w-5 h-5 text-muted-foreground" }),
|
|
22838
|
+
/* @__PURE__ */ jsx(
|
|
22839
|
+
DebouncedInput,
|
|
22840
|
+
{
|
|
22841
|
+
ref: inputRef,
|
|
22842
|
+
value: query,
|
|
22843
|
+
debounce: debounceDelay,
|
|
22844
|
+
onChange: handleQueryChangeMobile,
|
|
22845
|
+
placeholder: searchPlaceholder,
|
|
22846
|
+
className: "flex-1 bg-transparent border-none shadow-none focus-visible:ring-0 p-0 text-base"
|
|
22847
|
+
}
|
|
22848
|
+
),
|
|
22849
|
+
query && /* @__PURE__ */ jsx(ButtonBase, { variant: "ghost", size: "icon", onClick: handleClearQuery, className: "h-8 w-8", children: /* @__PURE__ */ jsx(XIcon, { className: "w-4 h-4" }) })
|
|
22850
|
+
]
|
|
22278
22851
|
}
|
|
22279
|
-
)
|
|
22280
|
-
/* @__PURE__ */ jsx(
|
|
22281
|
-
|
|
22282
|
-
|
|
22283
|
-
{
|
|
22284
|
-
|
|
22285
|
-
|
|
22286
|
-
|
|
22287
|
-
|
|
22288
|
-
|
|
22289
|
-
|
|
22290
|
-
|
|
22291
|
-
|
|
22292
|
-
|
|
22293
|
-
|
|
22294
|
-
{
|
|
22295
|
-
|
|
22296
|
-
|
|
22297
|
-
|
|
22298
|
-
|
|
22299
|
-
|
|
22300
|
-
|
|
22301
|
-
|
|
22302
|
-
|
|
22303
|
-
|
|
22304
|
-
|
|
22305
|
-
|
|
22306
|
-
] }) })
|
|
22307
|
-
] });
|
|
22852
|
+
),
|
|
22853
|
+
/* @__PURE__ */ jsx(
|
|
22854
|
+
motion.div,
|
|
22855
|
+
{
|
|
22856
|
+
initial: { opacity: 0 },
|
|
22857
|
+
animate: { opacity: 1 },
|
|
22858
|
+
exit: { opacity: 0 },
|
|
22859
|
+
transition: ANIMATION.overlay,
|
|
22860
|
+
className: "fixed inset-0 z-[98] bg-background/80 backdrop-blur-md",
|
|
22861
|
+
onClick: handleClose
|
|
22862
|
+
}
|
|
22863
|
+
),
|
|
22864
|
+
showList && /* @__PURE__ */ jsxs(
|
|
22865
|
+
motion.div,
|
|
22866
|
+
{
|
|
22867
|
+
initial: { opacity: 0, y: 10 },
|
|
22868
|
+
animate: { opacity: 1, y: 0 },
|
|
22869
|
+
exit: { opacity: 0, y: 10 },
|
|
22870
|
+
transition: ANIMATION.mobilePanel,
|
|
22871
|
+
className: "fixed inset-x-0 bottom-0 top-[60px] z-[99] bg-background overflow-hidden flex flex-col",
|
|
22872
|
+
children: [
|
|
22873
|
+
/* @__PURE__ */ jsx(SearchBadges, { terms: searchTerms }),
|
|
22874
|
+
/* @__PURE__ */ jsx("div", { className: "flex-1 overflow-hidden", children: /* @__PURE__ */ jsx(VirtualResultList, { ...sharedListProps }) })
|
|
22875
|
+
]
|
|
22876
|
+
}
|
|
22877
|
+
)
|
|
22878
|
+
] }) });
|
|
22308
22879
|
}
|
|
22309
22880
|
return /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
22310
22881
|
/* @__PURE__ */ jsx(
|
|
@@ -22313,8 +22884,7 @@ function CommandPalette(props) {
|
|
|
22313
22884
|
initial: { opacity: 0 },
|
|
22314
22885
|
animate: { opacity: 1 },
|
|
22315
22886
|
exit: { opacity: 0 },
|
|
22316
|
-
|
|
22317
|
-
className: "fixed inset-0 z-[100] bg-background/80 backdrop-blur-sm",
|
|
22887
|
+
className: "fixed inset-0 z-[99] bg-black/40 backdrop-blur-sm",
|
|
22318
22888
|
onClick: handleClose
|
|
22319
22889
|
}
|
|
22320
22890
|
),
|
|
@@ -22325,17 +22895,11 @@ function CommandPalette(props) {
|
|
|
22325
22895
|
animate: { opacity: 1, scale: 1, y: 0 },
|
|
22326
22896
|
exit: { opacity: 0, scale: 0.96, y: -8 },
|
|
22327
22897
|
transition: ANIMATION.panel,
|
|
22328
|
-
className: "fixed z-[100] top-
|
|
22898
|
+
className: "fixed z-[100] top-4 -translate-x-1/2 w-full max-w-xl rounded-xl border border-border overflow-hidden shadow-2xl shadow-black/20 dark:shadow-black/60 bg-popover/95 backdrop-blur-xl",
|
|
22329
22899
|
style: { maxHeight: "min(600px, 80vh)" },
|
|
22330
22900
|
children: [
|
|
22331
22901
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 px-4 py-2 border-b border-border", children: [
|
|
22332
|
-
/* @__PURE__ */ jsx(
|
|
22333
|
-
MagnifyingGlassIcon,
|
|
22334
|
-
{
|
|
22335
|
-
className: "w-4 h-4 text-muted-foreground flex-shrink-0",
|
|
22336
|
-
weight: "bold"
|
|
22337
|
-
}
|
|
22338
|
-
),
|
|
22902
|
+
/* @__PURE__ */ jsx(MagnifyingGlassIcon, { className: "w-4 h-4 text-muted-foreground flex-shrink-0", weight: "bold" }),
|
|
22339
22903
|
/* @__PURE__ */ jsx(
|
|
22340
22904
|
DebouncedInput,
|
|
22341
22905
|
{
|
|
@@ -22360,11 +22924,19 @@ function CommandPalette(props) {
|
|
|
22360
22924
|
] }),
|
|
22361
22925
|
/* @__PURE__ */ jsx(SearchBadges, { terms: searchTerms }),
|
|
22362
22926
|
showList && /* @__PURE__ */ jsx(VirtualResultList, { ...sharedListProps }),
|
|
22363
|
-
/* @__PURE__ */ jsx(
|
|
22927
|
+
/* @__PURE__ */ jsx(
|
|
22928
|
+
FooterBar,
|
|
22929
|
+
{
|
|
22930
|
+
footer,
|
|
22931
|
+
totalItems,
|
|
22932
|
+
selectedCount: selectedItemIds.size,
|
|
22933
|
+
executeBulkAction
|
|
22934
|
+
}
|
|
22935
|
+
)
|
|
22364
22936
|
]
|
|
22365
22937
|
}
|
|
22366
22938
|
)
|
|
22367
22939
|
] }) });
|
|
22368
22940
|
}
|
|
22369
22941
|
|
|
22370
|
-
export { AddButton, Agenda, AgendaDaysToShow, AgendaDaysToShowAgenda, AgendaView, AlertDialogActionBase, AlertDialogBase, AlertDialogCancelBase, AlertDialogContentBase, AlertDialogDescriptionBase, AlertDialogFooterBase, AlertDialogHeaderBase, AlertDialogOverlayBase, AlertDialogPortalBase, AlertDialogTitleBase, AlertDialogTriggerBase, AvatarBase, AvatarCombobox, AvatarFallbackBase, AvatarImageBase, BackButton, Badge, 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, CircularProgress, CloseAllButton_default as CloseAllButton, CloseButton, CodeBlock, CollapsibleBase, CollapsibleContentBase, CollapsibleTriggerBase, Combobox, CommandBase, CommandDebouncedInputBase, CommandDialogBase, CommandEmptyBase, CommandGroupBase, CommandInputBase, CommandItemBase, CommandItemRow, CommandListBase, CommandPalette, CommandSeparatorBase, CommandShortcutBase, ContextMenuBase, ContextMenuCheckboxItemBase, ContextMenuContentBase, ContextMenuGroupBase, ContextMenuItemBase, ContextMenuLabelBase, ContextMenuPortalBase, ContextMenuRadioGroupBase, ContextMenuRadioItemBase, ContextMenuSeparatorBase, ContextMenuShortcutBase, ContextMenuSubBase, ContextMenuSubContentBase, ContextMenuSubTriggerBase, ContextMenuTriggerBase, ControlledCombobox, CopyButton, 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, GroupLabel, HideButton, Highlights_default as Highlights, HorizontalChart_default as HorizontalChart, HorizontalLegend_default as HorizontalLegend, HoverCardBase, HoverCardContentBase, HoverCardTriggerBase, ITEM_HEIGHT, InputBase, InputOTPBase, InputOTPGroupBase, InputOTPSeparatorBase, InputOTPSlotBase, IntegrationModal_default as IntegrationModal, Kbd, KbdGroup, 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, 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, SystemTooltip_default as SystemTooltip, TableBase, TableBodyBase, TableCaptionBase, TableCellBase, TableFooterBase, TableHeadBase, TableHeaderBase, TableRowBase, TabsBase, TabsContentBase, TabsListBase, TabsTriggerBase, TextAreaBase, ThemeProviderBase, TimePicker, TimePickerInput, TimeSeries_default as TimeSeries, Toaster, TooltipBase, 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, createGroup, createItem, createValueFormatter, createYTickFormatter, detectDataFields, detectXAxis, display12HourValue, filterAndScore, 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, normaliseGroups, normalizeAttendDate, normalizeStr, processIntegrationData, processNeo4jData, renderInsideBarLabel, pillLabelRenderer_default as renderPillLabel, resolveChartMargins, resolveContainerPaddingLeft, scoreMatch, set12Hours, setDateByType, setHours, setMinutes, setSeconds, sortEvents, sortEventsAgenda, startOfLocalDay, toast, unionGroups, useBiaxial, useCalendarDnd, useCalendarDndAgenda, useChartClick, useChartDimensions, useChartHighlights, useChartLayout, useChartMinMax, useChartTooltips, useCommandPalette, useCurrentTimeIndicator, useCurrentTimeIndicatorAgenda, useDrag, useEventVisibility, useEventVisibilityAgenda, useIsMobile, useIsTruncated, useOpenTooltipForPeriod, useProcessedData, useRecents, useSeriesOpacity, useTheme, useTimeSeriesRange, visualForItem };
|
|
22942
|
+
export { AddButton, Agenda, AgendaDaysToShow, AgendaDaysToShowAgenda, AgendaView, AlertDialogActionBase, AlertDialogBase, AlertDialogCancelBase, AlertDialogContentBase, AlertDialogDescriptionBase, AlertDialogFooterBase, AlertDialogHeaderBase, AlertDialogOverlayBase, AlertDialogPortalBase, AlertDialogTitleBase, AlertDialogTriggerBase, AvatarBase, AvatarCombobox, AvatarFallbackBase, AvatarImageBase, BackButton, Badge, 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, CircularProgress, CloseAllButton_default as CloseAllButton, CloseButton, CodeBlock, CollapsibleBase, CollapsibleContentBase, CollapsibleTriggerBase, Combobox, CommandBase, CommandDebouncedInputBase, CommandDialogBase, CommandEmptyBase, CommandGroupBase, CommandInputBase, CommandItemBase, CommandItemRow, CommandListBase, CommandPalette, CommandSeparatorBase, CommandShortcutBase, ContextMenuBase, ContextMenuCheckboxItemBase, ContextMenuContentBase, ContextMenuGroupBase, ContextMenuItemBase, ContextMenuLabelBase, ContextMenuPortalBase, ContextMenuRadioGroupBase, ContextMenuRadioItemBase, ContextMenuSeparatorBase, ContextMenuShortcutBase, ContextMenuSubBase, ContextMenuSubContentBase, ContextMenuSubTriggerBase, ContextMenuTriggerBase, ControlledCombobox, CopyButton, 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, GroupLabel, HideButton, Highlights_default as Highlights, HorizontalChart_default as HorizontalChart, HorizontalLegend_default as HorizontalLegend, HoverCardBase, HoverCardContentBase, HoverCardTriggerBase, ITEM_HEIGHT, InputBase, InputOTPBase, InputOTPGroupBase, InputOTPSeparatorBase, InputOTPSlotBase, IntegrationModal_default as IntegrationModal, Kbd, KbdGroup, 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, NavigationMenuBase, NavigationMenuContentBase, NavigationMenuIndicatorBase, NavigationMenuItemBase, NavigationMenuLinkBase, NavigationMenuListBase, NavigationMenuTriggerBase, NavigationMenuViewportBase, NoData_default as NoData, NotificationButton, NumericInput, PeriodsDropdown_default as PeriodsDropdown, PieChart_default as PieChartComponent, 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, SystemTooltip_default as SystemTooltip, TableBase, TableBodyBase, TableCaptionBase, TableCellBase, TableFooterBase, TableHeadBase, TableHeaderBase, TableRowBase, TabsBase, TabsContentBase, TabsListBase, TabsTriggerBase, TextAreaBase, ThemeProviderBase, TimePicker, TimePickerInput, TimeSeries_default as TimeSeries, Toaster, TooltipBase, 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, createGroup, createItem, createValueFormatter, createYTickFormatter, detectDataFields, detectXAxis, display12HourValue, filterAndScore, 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, normaliseGroups, normalizeAttendDate, normalizeStr, processIntegrationData, processNeo4jData, renderInsideBarLabel, pillLabelRenderer_default as renderPillLabel, resolveChartMargins, resolveContainerPaddingLeft, scoreMatch, set12Hours, setDateByType, setHours, setMinutes, setSeconds, sortEvents, sortEventsAgenda, startOfLocalDay, toast, unionGroups, useBiaxial, useCalendarDnd, useCalendarDndAgenda, useChartClick, useChartDimensions, useChartHighlights, useChartLayout, useChartMinMax, useChartTooltips, useCommandPalette, useCurrentTimeIndicator, useCurrentTimeIndicatorAgenda, useDrag, useEventVisibility, useEventVisibilityAgenda, useIsMobile, useIsTruncated, useOpenTooltipForPeriod, useProcessedData, useRecents, useSeriesOpacity, useTheme, useTimeSeriesRange, visualForItem };
|