@mlw-packages/react-components 1.7.4 → 1.7.5

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.mjs CHANGED
@@ -492,7 +492,8 @@ function cn(...inputs) {
492
492
  }
493
493
 
494
494
  // src/components/ui/form/ButtonBase.tsx
495
- import { jsx } from "react/jsx-runtime";
495
+ import { CircleNotchIcon } from "@phosphor-icons/react";
496
+ import { jsx, jsxs } from "react/jsx-runtime";
496
497
  var buttonVariantsBase = cva(
497
498
  "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive active:scale-95",
498
499
  {
@@ -527,16 +528,38 @@ var ButtonBase = React.forwardRef(
527
528
  size,
528
529
  asChild = false,
529
530
  testid = `button-${variant ?? "default"}`,
531
+ isLoading = false,
532
+ children,
530
533
  ...props
531
534
  }, ref) => {
532
535
  const Comp = asChild ? Slot : "button";
533
- return /* @__PURE__ */ jsx(
536
+ const mergedDisabled = Boolean(props.disabled) || isLoading;
537
+ const isActivelyLoading = isLoading && !props.disabled;
538
+ return /* @__PURE__ */ jsxs(
534
539
  Comp,
535
540
  {
536
- className: cn(buttonVariantsBase({ variant, size, className })),
541
+ className: cn(
542
+ buttonVariantsBase({ variant, size, className }),
543
+ "relative"
544
+ ),
537
545
  ref,
538
546
  "data-testid": testid ?? `button-${variant ?? "default"}`,
539
- ...props
547
+ "aria-busy": isActivelyLoading || void 0,
548
+ disabled: mergedDisabled,
549
+ ...props,
550
+ children: [
551
+ children,
552
+ isActivelyLoading && /* @__PURE__ */ jsxs("span", { className: "absolute inset-0 flex items-center justify-center pointer-events-none rounded-md", children: [
553
+ /* @__PURE__ */ jsx("span", { className: "absolute inset-0 rounded-md backdrop-blur overflow-hidden" }),
554
+ /* @__PURE__ */ jsx(
555
+ CircleNotchIcon,
556
+ {
557
+ weight: "bold",
558
+ className: "relative animate-spin h-4 w-4 text-current"
559
+ }
560
+ )
561
+ ] })
562
+ ]
540
563
  }
541
564
  );
542
565
  }
@@ -579,7 +602,7 @@ ButtonGroupBase.displayName = "ButtonGroup";
579
602
  import * as React2 from "react";
580
603
  import * as DialogPrimitive from "@radix-ui/react-dialog";
581
604
  import { XIcon } from "@phosphor-icons/react";
582
- import { jsx as jsx2, jsxs } from "react/jsx-runtime";
605
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
583
606
  var DialogBase = DialogPrimitive.Root;
584
607
  var DialogTriggerBase = DialogPrimitive.Trigger;
585
608
  var DialogPortalBase = DialogPrimitive.Portal;
@@ -598,9 +621,9 @@ var DialogOverlayBase = React2.forwardRef(({ className, testid: dataTestId = "di
598
621
  ));
599
622
  DialogOverlayBase.displayName = DialogPrimitive.Overlay.displayName;
600
623
  var DialogContentBase = React2.forwardRef(
601
- ({ className, children, testid: dataTestId = "dialog-content", ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortalBase, { children: [
624
+ ({ className, children, testid: dataTestId = "dialog-content", ...props }, ref) => /* @__PURE__ */ jsxs2(DialogPortalBase, { children: [
602
625
  /* @__PURE__ */ jsx2(DialogOverlayBase, {}),
603
- /* @__PURE__ */ jsxs(
626
+ /* @__PURE__ */ jsxs2(
604
627
  DialogPrimitive.Content,
605
628
  {
606
629
  ref,
@@ -612,7 +635,7 @@ var DialogContentBase = React2.forwardRef(
612
635
  ...props,
613
636
  children: [
614
637
  children,
615
- /* @__PURE__ */ jsxs(DialogPrimitive.Close, { className: "absolute right-3 top-3 sm:right-4 sm:top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground z-10 touch-manipulation", children: [
638
+ /* @__PURE__ */ jsxs2(DialogPrimitive.Close, { className: "absolute right-3 top-3 sm:right-4 sm:top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground z-10 touch-manipulation", children: [
616
639
  /* @__PURE__ */ jsx2(XIcon, { className: "h-5 w-5 sm:h-4 sm:w-4" }),
617
640
  /* @__PURE__ */ jsx2("span", { className: "sr-only", children: "Close" })
618
641
  ] })
@@ -712,7 +735,7 @@ var ErrorMessage = ({ error }) => {
712
735
  var ErrorMessage_default = ErrorMessage;
713
736
 
714
737
  // src/components/ui/form/InputBase.tsx
715
- import { jsx as jsx5, jsxs as jsxs2 } from "react/jsx-runtime";
738
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
716
739
  var InputBase = React4.forwardRef(
717
740
  ({
718
741
  className,
@@ -725,9 +748,9 @@ var InputBase = React4.forwardRef(
725
748
  error,
726
749
  ...props
727
750
  }, ref) => {
728
- return /* @__PURE__ */ jsxs2("div", { className: "flex flex-col w-full min-w-[150px]", children: [
751
+ return /* @__PURE__ */ jsxs3("div", { className: "flex flex-col w-full min-w-[150px]", children: [
729
752
  label && /* @__PURE__ */ jsx5(LabelBase_default, { className: labelClassname, children: label }),
730
- /* @__PURE__ */ jsxs2(
753
+ /* @__PURE__ */ jsxs3(
731
754
  "div",
732
755
  {
733
756
  className: cn(
@@ -768,7 +791,7 @@ import * as React5 from "react";
768
791
  import { Command as CommandPrimitive } from "cmdk";
769
792
  import { MagnifyingGlassIcon } from "@phosphor-icons/react";
770
793
  import { motion, AnimatePresence } from "framer-motion";
771
- import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
794
+ import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
772
795
  var CommandBase = React5.forwardRef(({ className, testid: dataTestId = "command-base", ...props }, ref) => /* @__PURE__ */ jsx6(
773
796
  CommandPrimitive,
774
797
  {
@@ -802,7 +825,7 @@ var CommandDialogBase = ({ children, open, ...props }) => {
802
825
  "command-dialog"
803
826
  ) }) }) });
804
827
  };
805
- var CommandInputBase = React5.forwardRef(({ className, testid: dataTestId = "command-input", ...props }, ref) => /* @__PURE__ */ jsxs3("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
828
+ var CommandInputBase = React5.forwardRef(({ className, testid: dataTestId = "command-input", ...props }, ref) => /* @__PURE__ */ jsxs4("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
806
829
  /* @__PURE__ */ jsx6(MagnifyingGlassIcon, { className: "mr-2 h-4 w-4 shrink-0 text-primary" }),
807
830
  /* @__PURE__ */ jsx6(
808
831
  CommandPrimitive.Input,
@@ -926,7 +949,7 @@ PopoverContentBase.displayName = PopoverPrimitive.Content.displayName;
926
949
  import { motion as motion2 } from "framer-motion";
927
950
  import { useState } from "react";
928
951
  import { CaretDownIcon, CheckIcon } from "@phosphor-icons/react";
929
- import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
952
+ import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
930
953
  function ComboboxBase({
931
954
  items,
932
955
  renderSelected,
@@ -939,19 +962,19 @@ function ComboboxBase({
939
962
  testIds = {}
940
963
  }) {
941
964
  const [open, setOpen] = useState(false);
942
- return /* @__PURE__ */ jsxs4(
965
+ return /* @__PURE__ */ jsxs5(
943
966
  "div",
944
967
  {
945
968
  className: "col-span-1 w-full",
946
969
  "data-testid": testIds.root ?? "combobox-base-root",
947
970
  children: [
948
- /* @__PURE__ */ jsxs4(PopoverBase, { open, onOpenChange: setOpen, modal: true, children: [
971
+ /* @__PURE__ */ jsxs5(PopoverBase, { open, onOpenChange: setOpen, modal: true, children: [
949
972
  /* @__PURE__ */ jsx8(
950
973
  PopoverTriggerBase,
951
974
  {
952
975
  asChild: true,
953
976
  className: "flex w-full justify-between dark:bg-[hsl(231,15%,19%)]",
954
- children: /* @__PURE__ */ jsxs4(
977
+ children: /* @__PURE__ */ jsxs5(
955
978
  ButtonBase,
956
979
  {
957
980
  variant: "select",
@@ -985,7 +1008,7 @@ function ComboboxBase({
985
1008
  {
986
1009
  className: "max-h-[--radix-popover-content-available-height] w-[--radix-popover-trigger-width] p-0 border-none",
987
1010
  "data-testid": testIds.popover ?? "combobox-popover",
988
- children: /* @__PURE__ */ jsxs4(
1011
+ children: /* @__PURE__ */ jsxs5(
989
1012
  CommandBase,
990
1013
  {
991
1014
  className: "dark:text-white hover:bg-rsecondary",
@@ -999,11 +1022,11 @@ function ComboboxBase({
999
1022
  "data-testid": testIds.search ?? "combobox-search"
1000
1023
  }
1001
1024
  ),
1002
- /* @__PURE__ */ jsxs4(CommandListBase, { "data-testid": testIds.list ?? "combobox-list", children: [
1025
+ /* @__PURE__ */ jsxs5(CommandListBase, { "data-testid": testIds.list ?? "combobox-list", children: [
1003
1026
  /* @__PURE__ */ jsx8(CommandEmptyBase, { "data-testid": testIds.empty ?? "combobox-empty", children: "Nenhum dado encontrado" }),
1004
1027
  /* @__PURE__ */ jsx8(CommandGroupBase, { "data-testid": testIds.group ?? "combobox-group", children: items.map((item) => {
1005
1028
  const isSelected = checkIsSelected(item.value);
1006
- return /* @__PURE__ */ jsxs4(
1029
+ return /* @__PURE__ */ jsxs5(
1007
1030
  CommandItemBase,
1008
1031
  {
1009
1032
  keywords: [item.label],
@@ -1057,7 +1080,7 @@ function ComboboxBase({
1057
1080
  }
1058
1081
 
1059
1082
  // src/components/selects/Combobox.tsx
1060
- import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
1083
+ import { jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
1061
1084
  function Combobox({
1062
1085
  items,
1063
1086
  selected,
@@ -1091,7 +1114,7 @@ function Combobox({
1091
1114
  },
1092
1115
  [selected, onChange]
1093
1116
  );
1094
- return /* @__PURE__ */ jsxs5("div", { className: cn("flex flex-col gap-1 w-full min-w-[150px]", className), children: [
1117
+ return /* @__PURE__ */ jsxs6("div", { className: cn("flex flex-col gap-1 w-full min-w-[150px]", className), children: [
1095
1118
  label && /* @__PURE__ */ jsx9(LabelBase_default, { className: labelClassname, children: label }),
1096
1119
  /* @__PURE__ */ jsx9(
1097
1120
  ComboboxBase,
@@ -1112,7 +1135,7 @@ function Combobox({
1112
1135
  import { useCallback as useCallback2, useMemo as useMemo2 } from "react";
1113
1136
  import { XIcon as XIcon2 } from "@phosphor-icons/react";
1114
1137
  import { motion as motion3, AnimatePresence as AnimatePresence2 } from "framer-motion";
1115
- import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
1138
+ import { jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
1116
1139
  function MultiCombobox({
1117
1140
  items,
1118
1141
  selected,
@@ -1173,7 +1196,7 @@ function MultiCombobox({
1173
1196
  {
1174
1197
  "data-testid": testIds.selectedWrapper ?? "combobox-selected-wrapper",
1175
1198
  className: "flex w-full flex-wrap gap-2 overflow-hidden ",
1176
- children: /* @__PURE__ */ jsx10(AnimatePresence2, { mode: "popLayout", children: selectedItems.map((item) => /* @__PURE__ */ jsxs6(
1199
+ children: /* @__PURE__ */ jsx10(AnimatePresence2, { mode: "popLayout", children: selectedItems.map((item) => /* @__PURE__ */ jsxs7(
1177
1200
  motion3.div,
1178
1201
  {
1179
1202
  layout: true,
@@ -1211,7 +1234,7 @@ function MultiCombobox({
1211
1234
  }
1212
1235
  );
1213
1236
  }, [handleSelection, placeholder, selectedItems, testIds]);
1214
- return /* @__PURE__ */ jsxs6(
1237
+ return /* @__PURE__ */ jsxs7(
1215
1238
  "div",
1216
1239
  {
1217
1240
  className: cn("flex flex-col gap-1 w-full min-w-[150px]", className),
@@ -1267,19 +1290,19 @@ TooltipContentBase.displayName = TooltipPrimitive.Content.displayName;
1267
1290
  // src/components/ui/FilterBase.tsx
1268
1291
  var import_colors = __toESM(require_colors2());
1269
1292
  import { FunnelSimpleIcon, PlusIcon, TrashIcon } from "@phosphor-icons/react";
1270
- import { jsx as jsx12, jsxs as jsxs7 } from "react/jsx-runtime";
1293
+ import { jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
1271
1294
 
1272
1295
  // src/components/ui/SelectBase.tsx
1273
1296
  import * as React8 from "react";
1274
1297
  import * as SelectPrimitive from "@radix-ui/react-select";
1275
1298
  import { CheckIcon as CheckIcon2, CaretDownIcon as CaretDownIcon2, CaretUpIcon } from "@phosphor-icons/react";
1276
1299
  import { motion as motion4, AnimatePresence as AnimatePresence3 } from "framer-motion";
1277
- import { Fragment, jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
1300
+ import { Fragment, jsx as jsx13, jsxs as jsxs9 } from "react/jsx-runtime";
1278
1301
  var SelectBase = SelectPrimitive.Root;
1279
1302
  var SelectGroupBase = SelectPrimitive.Group;
1280
1303
  var SelectValueBase = SelectPrimitive.Value;
1281
- var SelectTriggerBase = React8.forwardRef(({ className, children, open, error, ...props }, ref) => /* @__PURE__ */ jsxs8("div", { className: cn("w-full", error && "mb-0"), children: [
1282
- /* @__PURE__ */ jsxs8(
1304
+ var SelectTriggerBase = React8.forwardRef(({ className, children, open, error, ...props }, ref) => /* @__PURE__ */ jsxs9("div", { className: cn("w-full", error && "mb-0"), children: [
1305
+ /* @__PURE__ */ jsxs9(
1283
1306
  SelectPrimitive.Trigger,
1284
1307
  {
1285
1308
  ref,
@@ -1358,7 +1381,7 @@ var SelectContentBase = React8.forwardRef(
1358
1381
  animate: { opacity: 1, scale: 1 },
1359
1382
  exit: { opacity: 0, scale: 0.95 },
1360
1383
  transition: { duration: 0.2 },
1361
- children: /* @__PURE__ */ jsxs8(Fragment, { children: [
1384
+ children: /* @__PURE__ */ jsxs9(Fragment, { children: [
1362
1385
  /* @__PURE__ */ jsx13(SelectScrollUpButtonBase, {}),
1363
1386
  /* @__PURE__ */ jsx13(
1364
1387
  SelectPrimitive.Viewport,
@@ -1397,7 +1420,7 @@ var SelectItemBase = React8.forwardRef(({ className, children, ...props }, ref)
1397
1420
  ),
1398
1421
  ...props,
1399
1422
  asChild: true,
1400
- children: /* @__PURE__ */ jsxs8(
1423
+ children: /* @__PURE__ */ jsxs9(
1401
1424
  motion4.div,
1402
1425
  {
1403
1426
  whileHover: { x: 4 },
@@ -1438,14 +1461,14 @@ import * as React9 from "react";
1438
1461
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
1439
1462
  import { CheckIcon as CheckIcon3, CaretRightIcon, CircleIcon } from "@phosphor-icons/react";
1440
1463
  import { motion as motion5, AnimatePresence as AnimatePresence4 } from "framer-motion";
1441
- import { jsx as jsx14, jsxs as jsxs9 } from "react/jsx-runtime";
1464
+ import { jsx as jsx14, jsxs as jsxs10 } from "react/jsx-runtime";
1442
1465
  var DropDownMenuBase = DropdownMenuPrimitive.Root;
1443
1466
  var DropDownMenuTriggerBase = DropdownMenuPrimitive.Trigger;
1444
1467
  var DropDownMenuGroupBase = DropdownMenuPrimitive.Group;
1445
1468
  var DropDownMenuPortalBase = DropdownMenuPrimitive.Portal;
1446
1469
  var DropDownMenuSubBase = DropdownMenuPrimitive.Sub;
1447
1470
  var DropDownMenuRadioGroupBase = DropdownMenuPrimitive.RadioGroup;
1448
- var DropDownMenuSubTriggerBase = React9.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
1471
+ var DropDownMenuSubTriggerBase = React9.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
1449
1472
  DropdownMenuPrimitive.SubTrigger,
1450
1473
  {
1451
1474
  ref,
@@ -1506,7 +1529,7 @@ var DropDownMenuContentBase = React9.forwardRef(
1506
1529
  ) })
1507
1530
  );
1508
1531
  DropDownMenuContentBase.displayName = DropdownMenuPrimitive.Content.displayName;
1509
- var DropDownMenuItemBase = React9.forwardRef(({ className, inset, leftIcon, rightIcon, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
1532
+ var DropDownMenuItemBase = React9.forwardRef(({ className, inset, leftIcon, rightIcon, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
1510
1533
  DropdownMenuPrimitive.Item,
1511
1534
  {
1512
1535
  ref,
@@ -1517,7 +1540,7 @@ var DropDownMenuItemBase = React9.forwardRef(({ className, inset, leftIcon, righ
1517
1540
  ),
1518
1541
  ...props,
1519
1542
  children: [
1520
- /* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-2", children: [
1543
+ /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-2", children: [
1521
1544
  leftIcon && /* @__PURE__ */ jsx14("span", { className: "[&>svg]:size-4", children: leftIcon }),
1522
1545
  children
1523
1546
  ] }),
@@ -1526,7 +1549,7 @@ var DropDownMenuItemBase = React9.forwardRef(({ className, inset, leftIcon, righ
1526
1549
  }
1527
1550
  ));
1528
1551
  DropDownMenuItemBase.displayName = DropdownMenuPrimitive.Item.displayName;
1529
- var DropDownMenuCheckboxItemBase = React9.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs9(
1552
+ var DropDownMenuCheckboxItemBase = React9.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs10(
1530
1553
  DropdownMenuPrimitive.CheckboxItem,
1531
1554
  {
1532
1555
  ref,
@@ -1543,7 +1566,7 @@ var DropDownMenuCheckboxItemBase = React9.forwardRef(({ className, children, che
1543
1566
  }
1544
1567
  ));
1545
1568
  DropDownMenuCheckboxItemBase.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
1546
- var DropDownMenuRadioItemBase = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
1569
+ var DropDownMenuRadioItemBase = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
1547
1570
  DropdownMenuPrimitive.RadioItem,
1548
1571
  {
1549
1572
  ref,
@@ -1657,7 +1680,7 @@ var useTheme = () => {
1657
1680
  };
1658
1681
 
1659
1682
  // src/components/mode-toggle.tsx
1660
- import { Fragment as Fragment2, jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
1683
+ import { Fragment as Fragment2, jsx as jsx16, jsxs as jsxs11 } from "react/jsx-runtime";
1661
1684
  var themeLabels = {
1662
1685
  light: "Light",
1663
1686
  dark: "Dark",
@@ -1674,15 +1697,15 @@ function ModeToggleBase({
1674
1697
  }) {
1675
1698
  const { setTheme, theme: currentTheme } = useTheme();
1676
1699
  const isDark = currentTheme?.includes("dark") || currentTheme === "system" && typeof window !== "undefined" && window.matchMedia("(prefers-color-scheme: dark)").matches;
1677
- return /* @__PURE__ */ jsxs10(DropDownMenuBase, { children: [
1678
- /* @__PURE__ */ jsx16(DropDownMenuTriggerBase, { asChild: true, children: /* @__PURE__ */ jsxs10(
1700
+ return /* @__PURE__ */ jsxs11(DropDownMenuBase, { children: [
1701
+ /* @__PURE__ */ jsx16(DropDownMenuTriggerBase, { asChild: true, children: /* @__PURE__ */ jsxs11(
1679
1702
  ButtonBase,
1680
1703
  {
1681
1704
  variant: "ghost",
1682
1705
  size: "icon",
1683
1706
  className: "relative overflow-hidden border-transparent",
1684
1707
  children: [
1685
- /* @__PURE__ */ jsxs10(Fragment2, { children: [
1708
+ /* @__PURE__ */ jsxs11(Fragment2, { children: [
1686
1709
  /* @__PURE__ */ jsx16(
1687
1710
  SunIcon,
1688
1711
  {
@@ -1705,7 +1728,7 @@ function ModeToggleBase({
1705
1728
  {
1706
1729
  align: "end",
1707
1730
  className: "border-border bg-popover text-popover-foreground",
1708
- children: themes.map((theme) => /* @__PURE__ */ jsxs10(
1731
+ children: themes.map((theme) => /* @__PURE__ */ jsxs11(
1709
1732
  DropDownMenuItemBase,
1710
1733
  {
1711
1734
  onClick: () => setTheme(theme),
@@ -1725,8 +1748,8 @@ function ModeToggleBase({
1725
1748
  // src/components/ui/layout/ScrollareaBase.tsx
1726
1749
  import * as React10 from "react";
1727
1750
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
1728
- import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
1729
- var ScrollAreaBase = React10.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs11(
1751
+ import { jsx as jsx17, jsxs as jsxs12 } from "react/jsx-runtime";
1752
+ var ScrollAreaBase = React10.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs12(
1730
1753
  ScrollAreaPrimitive.Root,
1731
1754
  {
1732
1755
  ref,
@@ -1758,17 +1781,18 @@ var ScrollBarBase = React10.forwardRef(({ className, orientation = "vertical", .
1758
1781
  ScrollBarBase.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
1759
1782
 
1760
1783
  // src/components/selects/Select.tsx
1761
- import { Fragment as Fragment3, jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
1784
+ import { Fragment as Fragment3, jsx as jsx18, jsxs as jsxs13 } from "react/jsx-runtime";
1762
1785
  function Select({
1763
1786
  items,
1764
1787
  groupItems,
1765
1788
  placeholder,
1766
1789
  onChange,
1767
1790
  error,
1768
- testIds = {}
1791
+ testIds = {},
1792
+ disabled
1769
1793
  }) {
1770
- return /* @__PURE__ */ jsxs12("div", { "data-testid": testIds.root ?? "select-root", children: [
1771
- /* @__PURE__ */ jsxs12(
1794
+ return /* @__PURE__ */ jsxs13("div", { "data-testid": testIds.root ?? "select-root", children: [
1795
+ /* @__PURE__ */ jsxs13(
1772
1796
  SelectBase,
1773
1797
  {
1774
1798
  onValueChange: onChange,
@@ -1782,6 +1806,7 @@ function Select({
1782
1806
  error && "border-red-500"
1783
1807
  ),
1784
1808
  "data-testid": testIds.trigger ?? "select-trigger",
1809
+ disabled,
1785
1810
  children: /* @__PURE__ */ jsx18(
1786
1811
  SelectValueBase,
1787
1812
  {
@@ -1791,7 +1816,7 @@ function Select({
1791
1816
  )
1792
1817
  }
1793
1818
  ),
1794
- /* @__PURE__ */ jsx18(ScrollAreaBase, { "data-testid": testIds.scrollarea ?? "select-scrollarea", children: /* @__PURE__ */ jsx18(SelectContentBase, { "data-testid": testIds.content ?? "select-content", children: groupItems ? /* @__PURE__ */ jsx18(Fragment3, { children: Object.keys(groupItems).map((key) => /* @__PURE__ */ jsxs12(
1819
+ /* @__PURE__ */ jsx18(ScrollAreaBase, { "data-testid": testIds.scrollarea ?? "select-scrollarea", children: /* @__PURE__ */ jsx18(SelectContentBase, { "data-testid": testIds.content ?? "select-content", children: groupItems ? /* @__PURE__ */ jsx18(Fragment3, { children: Object.keys(groupItems).map((key) => /* @__PURE__ */ jsxs13(
1795
1820
  SelectGroupBase,
1796
1821
  {
1797
1822
  "data-testid": testIds.group ?? "select-group",
@@ -2004,7 +2029,7 @@ import { useState as useState4, useRef, useEffect as useEffect3 } from "react";
2004
2029
  import { motion as motion6, AnimatePresence as AnimatePresence5 } from "framer-motion";
2005
2030
  import { DotsThreeIcon } from "@phosphor-icons/react/dist/ssr";
2006
2031
  import { Check } from "@phosphor-icons/react/dist/ssr";
2007
- import { jsx as jsx19, jsxs as jsxs13 } from "react/jsx-runtime";
2032
+ import { jsx as jsx19, jsxs as jsxs14 } from "react/jsx-runtime";
2008
2033
  var menuVariants = {
2009
2034
  hidden: { opacity: 0, y: -6, scale: 0.98 },
2010
2035
  visible: { opacity: 1, y: 0, scale: 1 },
@@ -2052,8 +2077,8 @@ function PeriodsDropdown({
2052
2077
  setOpen(false);
2053
2078
  }
2054
2079
  const containerStyle = typeof rightOffset === "number" ? { position: "relative", zIndex: 30 } : { position: "relative", zIndex: 30 };
2055
- return /* @__PURE__ */ jsxs13("div", { ref: wrapperRef, style: containerStyle, className: "mr-4", children: [
2056
- /* @__PURE__ */ jsxs13(
2080
+ return /* @__PURE__ */ jsxs14("div", { ref: wrapperRef, style: containerStyle, className: "mr-4", children: [
2081
+ /* @__PURE__ */ jsxs14(
2057
2082
  "button",
2058
2083
  {
2059
2084
  className: "relative p-2.5 rounded-md hover:bg-accent/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-accent/50 transition flex items-center justify-center",
@@ -2076,7 +2101,7 @@ function PeriodsDropdown({
2076
2101
  ]
2077
2102
  }
2078
2103
  ),
2079
- /* @__PURE__ */ jsx19(AnimatePresence5, { children: open && /* @__PURE__ */ jsxs13(
2104
+ /* @__PURE__ */ jsx19(AnimatePresence5, { children: open && /* @__PURE__ */ jsxs14(
2080
2105
  motion6.div,
2081
2106
  {
2082
2107
  initial: "hidden",
@@ -2105,7 +2130,7 @@ function PeriodsDropdown({
2105
2130
  ref: listRef,
2106
2131
  className: "flex flex-col p-2 gap-1",
2107
2132
  style: { maxHeight: 200, overflowY: "auto" },
2108
- children: periods.map((p, idx) => /* @__PURE__ */ jsxs13(
2133
+ children: periods.map((p, idx) => /* @__PURE__ */ jsxs14(
2109
2134
  motion6.button,
2110
2135
  {
2111
2136
  className: "flex items-center justify-between w-full text-left px-3 py-2.5 rounded focus:outline-none transition-colors " + (activePeriods && activePeriods.includes(p) || p === activePeriod ? "bg-accent/10 font-medium" : "hover:bg-accent/15 focus-visible:ring-2 focus-visible:ring-accent/30"),
@@ -2136,7 +2161,7 @@ var PeriodsDropdown_default = PeriodsDropdown;
2136
2161
  // src/components/charts/components/controls/ShowOnly.tsx
2137
2162
  import { motion as motion7 } from "framer-motion";
2138
2163
  import { Eye, EyeSlash } from "@phosphor-icons/react";
2139
- import { Fragment as Fragment4, jsx as jsx20, jsxs as jsxs14 } from "react/jsx-runtime";
2164
+ import { Fragment as Fragment4, jsx as jsx20, jsxs as jsxs15 } from "react/jsx-runtime";
2140
2165
  var ShowOnly = ({
2141
2166
  showOnlyHighlighted,
2142
2167
  setShowOnlyHighlighted,
@@ -2163,10 +2188,10 @@ var ShowOnly = ({
2163
2188
  "focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary/60",
2164
2189
  !hasHighlights ? "opacity-60 cursor-not-allowed pointer-events-none" : showOnlyHighlighted ? "bg-primary/10 text-primary shadow-sm border border-primary/20" : "bg-transparent text-muted-foreground border border-transparent hover:bg-muted/10 hover:text-foreground"
2165
2190
  ),
2166
- children: showOnlyHighlighted ? /* @__PURE__ */ jsxs14(Fragment4, { children: [
2191
+ children: showOnlyHighlighted ? /* @__PURE__ */ jsxs15(Fragment4, { children: [
2167
2192
  /* @__PURE__ */ jsx20(EyeSlash, { size: 16, weight: "regular" }),
2168
2193
  /* @__PURE__ */ jsx20("span", { className: "sr-only", children: "Exibir todos" })
2169
- ] }) : /* @__PURE__ */ jsxs14(Fragment4, { children: [
2194
+ ] }) : /* @__PURE__ */ jsxs15(Fragment4, { children: [
2170
2195
  /* @__PURE__ */ jsx20(Eye, { size: 16, weight: "bold" }),
2171
2196
  /* @__PURE__ */ jsx20("span", { className: "sr-only", children: "Mostrar somente destacados" })
2172
2197
  ] })
@@ -2180,7 +2205,7 @@ var ShowOnly_default = ShowOnly;
2180
2205
  // src/components/charts/components/controls/Highlights.tsx
2181
2206
  import { motion as motion8, AnimatePresence as AnimatePresence6 } from "framer-motion";
2182
2207
  import { CheckIcon as CheckIcon5 } from "@phosphor-icons/react/dist/ssr";
2183
- import { jsx as jsx21, jsxs as jsxs15 } from "react/jsx-runtime";
2208
+ import { jsx as jsx21, jsxs as jsxs16 } from "react/jsx-runtime";
2184
2209
  var Highlights = ({
2185
2210
  allKeys,
2186
2211
  mapperConfig,
@@ -2231,7 +2256,7 @@ var Highlights = ({
2231
2256
  className: pillClasses,
2232
2257
  style: { minWidth: showFullLabel ? void 0 : 36 },
2233
2258
  "aria-pressed": isHighlighted,
2234
- children: /* @__PURE__ */ jsxs15(
2259
+ children: /* @__PURE__ */ jsxs16(
2235
2260
  motion8.button,
2236
2261
  {
2237
2262
  whileHover: { scale: isHighlighted ? 1.04 : 1.03 },
@@ -2293,7 +2318,7 @@ var Highlights_default = Highlights;
2293
2318
 
2294
2319
  // src/components/charts/components/controls/CloseAllButton.tsx
2295
2320
  import { XIcon as XIcon3 } from "@phosphor-icons/react/dist/ssr";
2296
- import { jsx as jsx22, jsxs as jsxs16 } from "react/jsx-runtime";
2321
+ import { jsx as jsx22, jsxs as jsxs17 } from "react/jsx-runtime";
2297
2322
  var CloseAllButton = ({
2298
2323
  count,
2299
2324
  onCloseAll,
@@ -2329,7 +2354,7 @@ var CloseAllButton = ({
2329
2354
  `;
2330
2355
  };
2331
2356
  if (variant === "inline") {
2332
- return /* @__PURE__ */ jsx22("div", { className: "absolute top-4 right-4 z-30", children: /* @__PURE__ */ jsxs16(
2357
+ return /* @__PURE__ */ jsx22("div", { className: "absolute top-4 right-4 z-30", children: /* @__PURE__ */ jsxs17(
2333
2358
  ButtonBase,
2334
2359
  {
2335
2360
  variant: "ghost",
@@ -2347,7 +2372,7 @@ var CloseAllButton = ({
2347
2372
  "div",
2348
2373
  {
2349
2374
  className: `${getPositionClasses()} animate-in fade-in slide-in-from-top-2 duration-300`,
2350
- children: /* @__PURE__ */ jsx22("div", { children: /* @__PURE__ */ jsxs16(
2375
+ children: /* @__PURE__ */ jsx22("div", { children: /* @__PURE__ */ jsxs17(
2351
2376
  ButtonBase,
2352
2377
  {
2353
2378
  onClick: onCloseAll,
@@ -2382,7 +2407,7 @@ import React12, {
2382
2407
  import { motion as motion9, AnimatePresence as AnimatePresence7 } from "framer-motion";
2383
2408
  import { DotsSixVerticalIcon } from "@phosphor-icons/react";
2384
2409
  import { XIcon as XIcon4 } from "@phosphor-icons/react/dist/ssr";
2385
- import { Fragment as Fragment5, jsx as jsx23, jsxs as jsxs17 } from "react/jsx-runtime";
2410
+ import { Fragment as Fragment5, jsx as jsx23, jsxs as jsxs18 } from "react/jsx-runtime";
2386
2411
  var ALIGNMENT_THRESHOLD = 25;
2387
2412
  var GUIDE_THRESHOLD = 60;
2388
2413
  var STRONG_SNAP_THRESHOLD = 35;
@@ -2475,7 +2500,7 @@ var DraggableTooltipComponent = ({
2475
2500
  dataKey: "total",
2476
2501
  name: "Total"
2477
2502
  }) : defaultTotalFormatted;
2478
- return /* @__PURE__ */ jsxs17("div", { className: "text-sm", children: [
2503
+ return /* @__PURE__ */ jsxs18("div", { className: "text-sm", children: [
2479
2504
  /* @__PURE__ */ jsx23("div", { className: "text-sm text-muted-foreground", children: "Total" }),
2480
2505
  /* @__PURE__ */ jsx23(
2481
2506
  "div",
@@ -2739,7 +2764,7 @@ var DraggableTooltipComponent = ({
2739
2764
  },
2740
2765
  [id, onClose]
2741
2766
  );
2742
- return /* @__PURE__ */ jsxs17(Fragment5, { children: [
2767
+ return /* @__PURE__ */ jsxs18(Fragment5, { children: [
2743
2768
  dragging && alignmentGuides.map((guide, index) => {
2744
2769
  const isHorizontal = guide.type === "horizontal";
2745
2770
  const color = isHorizontal ? "#3b82f6" : "#ef4444";
@@ -2759,7 +2784,7 @@ var DraggableTooltipComponent = ({
2759
2784
  guide.sourceTooltip.top + guide.sourceTooltip.height / 2,
2760
2785
  guide.targetTooltip.top + guide.targetTooltip.height / 2
2761
2786
  );
2762
- return /* @__PURE__ */ jsxs17("div", { children: [
2787
+ return /* @__PURE__ */ jsxs18("div", { children: [
2763
2788
  /* @__PURE__ */ jsx23(
2764
2789
  motion9.div,
2765
2790
  {
@@ -2822,7 +2847,7 @@ var DraggableTooltipComponent = ({
2822
2847
  )
2823
2848
  ] }, index);
2824
2849
  }),
2825
- /* @__PURE__ */ jsx23(AnimatePresence7, { children: /* @__PURE__ */ jsxs17(
2850
+ /* @__PURE__ */ jsx23(AnimatePresence7, { children: /* @__PURE__ */ jsxs18(
2826
2851
  motion9.div,
2827
2852
  {
2828
2853
  className: "fixed bg-card border border-border rounded-lg shadow-lg z-50 min-w-80 select-none",
@@ -2840,7 +2865,7 @@ var DraggableTooltipComponent = ({
2840
2865
  role: "dialog",
2841
2866
  "aria-label": title ? `Tooltip ${title}` : `Tooltip ${data.name}`,
2842
2867
  children: [
2843
- /* @__PURE__ */ jsxs17(
2868
+ /* @__PURE__ */ jsxs18(
2844
2869
  "div",
2845
2870
  {
2846
2871
  className: "flex items-center justify-between p-3 pb-2 border-b bg-muted/20 rounded-t-lg",
@@ -2862,8 +2887,8 @@ var DraggableTooltipComponent = ({
2862
2887
  ]
2863
2888
  }
2864
2889
  ),
2865
- /* @__PURE__ */ jsx23("div", { className: "px-3 py-2 bg-accent/5 border-l-4 border-primary", children: /* @__PURE__ */ jsxs17("div", { className: "flex items-center justify-between gap-2", children: [
2866
- /* @__PURE__ */ jsxs17("div", { children: [
2890
+ /* @__PURE__ */ jsx23("div", { className: "px-3 py-2 bg-accent/5 border-l-4 border-primary", children: /* @__PURE__ */ jsxs18("div", { className: "flex items-center justify-between gap-2", children: [
2891
+ /* @__PURE__ */ jsxs18("div", { children: [
2867
2892
  /* @__PURE__ */ jsx23("span", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide", children: periodLabel }),
2868
2893
  /* @__PURE__ */ jsx23("p", { className: "font-bold text-lg text-foreground mt-1 truncate", children: categoryFormatter ? categoryFormatter(String(data.name)) : data.name })
2869
2894
  ] }),
@@ -2876,7 +2901,7 @@ var DraggableTooltipComponent = ({
2876
2901
  }
2877
2902
  ) })
2878
2903
  ] }) }),
2879
- /* @__PURE__ */ jsxs17("div", { className: "p-3 pt-2 space-y-2", children: [
2904
+ /* @__PURE__ */ jsxs18("div", { className: "p-3 pt-2 space-y-2", children: [
2880
2905
  /* @__PURE__ */ jsx23("p", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-2", children: dataLabel }),
2881
2906
  useMemo4(
2882
2907
  () => visibleKeys.map((key) => {
@@ -2900,7 +2925,7 @@ var DraggableTooltipComponent = ({
2900
2925
  const pct = absDenominator > 0 ? Math.abs(val) / absDenominator * 100 : 0;
2901
2926
  const isDimmed = highlightedSeries && highlightedSeries.size > 0 && !highlightedSeries.has(key);
2902
2927
  const isHighlighted = highlightedSeries && highlightedSeries.has(key);
2903
- return /* @__PURE__ */ jsxs17(
2928
+ return /* @__PURE__ */ jsxs18(
2904
2929
  "div",
2905
2930
  {
2906
2931
  role: "button",
@@ -2918,8 +2943,8 @@ var DraggableTooltipComponent = ({
2918
2943
  border: isHighlighted ? `1px solid ${finalColors[key] || "#666"}22` : void 0
2919
2944
  },
2920
2945
  children: [
2921
- /* @__PURE__ */ jsxs17("div", { className: "flex items-center justify-between", children: [
2922
- /* @__PURE__ */ jsxs17("div", { className: "flex items-center gap-2", children: [
2946
+ /* @__PURE__ */ jsxs18("div", { className: "flex items-center justify-between", children: [
2947
+ /* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-2", children: [
2923
2948
  /* @__PURE__ */ jsx23(
2924
2949
  "div",
2925
2950
  {
@@ -2937,7 +2962,7 @@ var DraggableTooltipComponent = ({
2937
2962
  }
2938
2963
  )
2939
2964
  ] }),
2940
- /* @__PURE__ */ jsxs17("div", { className: "flex items-baseline gap-2", children: [
2965
+ /* @__PURE__ */ jsxs18("div", { className: "flex items-baseline gap-2", children: [
2941
2966
  /* @__PURE__ */ jsx23(
2942
2967
  "span",
2943
2968
  {
@@ -2975,7 +3000,7 @@ var DraggableTooltipComponent = ({
2975
3000
  valueFormatter2
2976
3001
  ]
2977
3002
  ),
2978
- /* @__PURE__ */ jsx23("div", { className: "mt-3 pt-2 border-t", children: /* @__PURE__ */ jsxs17("p", { className: "text-xs text-muted-foreground flex items-center gap-1", children: [
3003
+ /* @__PURE__ */ jsx23("div", { className: "mt-3 pt-2 border-t", children: /* @__PURE__ */ jsxs18("p", { className: "text-xs text-muted-foreground flex items-center gap-1", children: [
2979
3004
  "Clique no ",
2980
3005
  /* @__PURE__ */ jsx23(XIcon4, { size: 12 }),
2981
3006
  " para remover"
@@ -3001,7 +3026,7 @@ DraggableTooltip.displayName = "DraggableTooltip";
3001
3026
  var DraggableTooltip_default = DraggableTooltip;
3002
3027
 
3003
3028
  // src/components/charts/components/tooltips/TooltipWithTotal.tsx
3004
- import { jsx as jsx24, jsxs as jsxs18 } from "react/jsx-runtime";
3029
+ import { jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
3005
3030
  var RechartTooltipWithTotal = ({
3006
3031
  active,
3007
3032
  payload,
@@ -3041,7 +3066,7 @@ var RechartTooltipWithTotal = ({
3041
3066
  (sum, p) => sum + Math.abs(typeof p.value === "number" ? p.value : 0),
3042
3067
  0
3043
3068
  );
3044
- return /* @__PURE__ */ jsxs18(
3069
+ return /* @__PURE__ */ jsxs19(
3045
3070
  "div",
3046
3071
  {
3047
3072
  role: "dialog",
@@ -3049,12 +3074,12 @@ var RechartTooltipWithTotal = ({
3049
3074
  className: "bg-card border border-border rounded-lg p-3 shadow-2xl max-w-xs",
3050
3075
  style: { minWidth: 220 },
3051
3076
  children: [
3052
- /* @__PURE__ */ jsxs18("div", { className: "flex items-start justify-between mb-2", children: [
3053
- /* @__PURE__ */ jsxs18("div", { className: "pr-2", children: [
3077
+ /* @__PURE__ */ jsxs19("div", { className: "flex items-start justify-between mb-2", children: [
3078
+ /* @__PURE__ */ jsxs19("div", { className: "pr-2", children: [
3054
3079
  /* @__PURE__ */ jsx24("p", { className: "text-xs text-muted-foreground", children: periodLabel }),
3055
3080
  /* @__PURE__ */ jsx24("p", { className: "font-medium text-foreground truncate", children: displayLabel })
3056
3081
  ] }),
3057
- /* @__PURE__ */ jsxs18("div", { className: "text-right ml-3", children: [
3082
+ /* @__PURE__ */ jsxs19("div", { className: "text-right ml-3", children: [
3058
3083
  /* @__PURE__ */ jsx24("p", { className: "text-xs text-muted-foreground", children: totalLabel }),
3059
3084
  /* @__PURE__ */ jsx24(
3060
3085
  "p",
@@ -3088,9 +3113,9 @@ var RechartTooltipWithTotal = ({
3088
3113
  dataKey: entry.dataKey,
3089
3114
  name: entry.name
3090
3115
  }) : defaultFormatted;
3091
- return /* @__PURE__ */ jsxs18("div", { className: "flex flex-col gap-1", children: [
3092
- /* @__PURE__ */ jsxs18("div", { className: "flex items-center justify-between text-sm", children: [
3093
- /* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-2 truncate", children: [
3116
+ return /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-1", children: [
3117
+ /* @__PURE__ */ jsxs19("div", { className: "flex items-center justify-between text-sm", children: [
3118
+ /* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-2 truncate", children: [
3094
3119
  /* @__PURE__ */ jsx24(
3095
3120
  "span",
3096
3121
  {
@@ -3101,7 +3126,7 @@ var RechartTooltipWithTotal = ({
3101
3126
  ),
3102
3127
  /* @__PURE__ */ jsx24("span", { className: "text-muted-foreground truncate", children: entry.name })
3103
3128
  ] }),
3104
- /* @__PURE__ */ jsxs18("div", { className: "flex items-baseline gap-3 ml-3", children: [
3129
+ /* @__PURE__ */ jsxs19("div", { className: "flex items-baseline gap-3 ml-3", children: [
3105
3130
  /* @__PURE__ */ jsx24(
3106
3131
  "span",
3107
3132
  {
@@ -3131,7 +3156,7 @@ var RechartTooltipWithTotal = ({
3131
3156
  var TooltipWithTotal_default = RechartTooltipWithTotal;
3132
3157
 
3133
3158
  // src/components/charts/components/tooltips/TooltipSimple.tsx
3134
- import { jsx as jsx25, jsxs as jsxs19 } from "react/jsx-runtime";
3159
+ import { jsx as jsx25, jsxs as jsxs20 } from "react/jsx-runtime";
3135
3160
  var TooltipSimple = ({
3136
3161
  active,
3137
3162
  payload,
@@ -3143,7 +3168,7 @@ var TooltipSimple = ({
3143
3168
  }) => {
3144
3169
  if (!active || !payload || payload.length === 0) return null;
3145
3170
  const displayLabel = categoryFormatter ? categoryFormatter(String(label ?? "")) : label;
3146
- return /* @__PURE__ */ jsxs19(
3171
+ return /* @__PURE__ */ jsxs20(
3147
3172
  "div",
3148
3173
  {
3149
3174
  role: "dialog",
@@ -3151,7 +3176,7 @@ var TooltipSimple = ({
3151
3176
  className: "bg-card border border-border rounded-lg p-3 shadow-2xl max-w-[280px]",
3152
3177
  style: { minWidth: 220 },
3153
3178
  children: [
3154
- /* @__PURE__ */ jsx25("div", { className: "mb-2", children: /* @__PURE__ */ jsx25("div", { className: "flex items-center justify-between gap-3", children: /* @__PURE__ */ jsxs19("div", { className: "min-w-0", children: [
3179
+ /* @__PURE__ */ jsx25("div", { className: "mb-2", children: /* @__PURE__ */ jsx25("div", { className: "flex items-center justify-between gap-3", children: /* @__PURE__ */ jsxs20("div", { className: "min-w-0", children: [
3155
3180
  /* @__PURE__ */ jsx25("p", { className: "text-xs text-muted-foreground", children: periodLabel }),
3156
3181
  /* @__PURE__ */ jsx25("p", { className: "font-medium text-foreground truncate", children: displayLabel })
3157
3182
  ] }) }) }),
@@ -3176,12 +3201,12 @@ var TooltipSimple = ({
3176
3201
  dataKey: entry.dataKey,
3177
3202
  name: entry.name
3178
3203
  }) : defaultFormatted;
3179
- return /* @__PURE__ */ jsxs19(
3204
+ return /* @__PURE__ */ jsxs20(
3180
3205
  "div",
3181
3206
  {
3182
3207
  className: "flex items-center justify-between text-sm px-2 py-2 bg-card/0 hover:bg-muted transition-colors",
3183
3208
  children: [
3184
- /* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-3 min-w-0", children: [
3209
+ /* @__PURE__ */ jsxs20("div", { className: "flex items-center gap-3 min-w-0", children: [
3185
3210
  /* @__PURE__ */ jsx25(
3186
3211
  "span",
3187
3212
  {
@@ -3211,7 +3236,7 @@ var TooltipSimple = ({
3211
3236
  var TooltipSimple_default = TooltipSimple;
3212
3237
 
3213
3238
  // src/components/charts/utils/pillLabelRenderer.tsx
3214
- import { jsx as jsx26, jsxs as jsxs20 } from "react/jsx-runtime";
3239
+ import { jsx as jsx26, jsxs as jsxs21 } from "react/jsx-runtime";
3215
3240
  var formatCompactNumber = (value) => {
3216
3241
  const isNegative = value < 0;
3217
3242
  const absValue = Math.abs(value);
@@ -3305,7 +3330,7 @@ var renderPillLabel = (color, variant, valueFormatter2) => {
3305
3330
  textColor = "#374151";
3306
3331
  }
3307
3332
  }
3308
- return /* @__PURE__ */ jsxs20("g", { children: [
3333
+ return /* @__PURE__ */ jsxs21("g", { children: [
3309
3334
  /* @__PURE__ */ jsx26(
3310
3335
  "rect",
3311
3336
  {
@@ -3339,7 +3364,7 @@ var renderPillLabel = (color, variant, valueFormatter2) => {
3339
3364
  var pillLabelRenderer_default = renderPillLabel;
3340
3365
 
3341
3366
  // src/components/charts/Chart.tsx
3342
- import { jsx as jsx27, jsxs as jsxs21 } from "react/jsx-runtime";
3367
+ import { jsx as jsx27, jsxs as jsxs22 } from "react/jsx-runtime";
3343
3368
  var DEFAULT_COLORS = ["#55af7d", "#8e68ff", "#2273e1"];
3344
3369
  var Chart = ({
3345
3370
  data,
@@ -3771,7 +3796,7 @@ var Chart = ({
3771
3796
  overflowY: "hidden",
3772
3797
  minWidth: 0
3773
3798
  },
3774
- children: /* @__PURE__ */ jsxs21(
3799
+ children: /* @__PURE__ */ jsxs22(
3775
3800
  "div",
3776
3801
  {
3777
3802
  className: cn("rounded-lg bg-card p-2 relative", className),
@@ -3792,7 +3817,7 @@ var Chart = ({
3792
3817
  children: /* @__PURE__ */ jsx27("h3", { className: titleClassName, children: title })
3793
3818
  }
3794
3819
  ),
3795
- allKeys.length > 0 && (finalEnableHighlights || finalEnableShowOnly) && /* @__PURE__ */ jsxs21(
3820
+ allKeys.length > 0 && (finalEnableHighlights || finalEnableShowOnly) && /* @__PURE__ */ jsxs22(
3796
3821
  "div",
3797
3822
  {
3798
3823
  className: "flex items-center w-full",
@@ -3867,7 +3892,7 @@ var Chart = ({
3867
3892
  )
3868
3893
  }
3869
3894
  ),
3870
- /* @__PURE__ */ jsx27(ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ jsxs21(
3895
+ /* @__PURE__ */ jsx27(ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ jsxs22(
3871
3896
  ComposedChart,
3872
3897
  {
3873
3898
  data: processedData,
@@ -3928,9 +3953,7 @@ var Chart = ({
3928
3953
  label: yAxisLabel ? {
3929
3954
  value: yAxisLabel,
3930
3955
  angle: -90,
3931
- // Render the label to the left (outside) of the chart area
3932
- // to avoid overlapping the Y values / bars.
3933
- position: "left",
3956
+ position: "leftTop",
3934
3957
  style: {
3935
3958
  fontSize: 12,
3936
3959
  fill: "hsl(var(--muted-foreground))",
@@ -4151,7 +4174,7 @@ import {
4151
4174
  Legend as Legend2,
4152
4175
  LabelList as LabelList2
4153
4176
  } from "recharts";
4154
- import { jsx as jsx28, jsxs as jsxs22 } from "react/jsx-runtime";
4177
+ import { jsx as jsx28, jsxs as jsxs23 } from "react/jsx-runtime";
4155
4178
  var DEFAULT_COLORS2 = ["#55af7d", "#8e68ff", "#2273e1"];
4156
4179
  var BarChart = ({
4157
4180
  data,
@@ -4572,10 +4595,10 @@ var BarChart = ({
4572
4595
  label
4573
4596
  }) => {
4574
4597
  if (!active || !payload) return null;
4575
- return /* @__PURE__ */ jsxs22("div", { className: "bg-card border border-border rounded-lg p-3 shadow-lg", children: [
4598
+ return /* @__PURE__ */ jsxs23("div", { className: "bg-card border border-border rounded-lg p-3 shadow-lg", children: [
4576
4599
  /* @__PURE__ */ jsx28("p", { className: "font-medium text-foreground mb-2", children: label }),
4577
4600
  payload.map(
4578
- (entry, index) => /* @__PURE__ */ jsxs22("div", { className: "flex items-center gap-2 text-sm", children: [
4601
+ (entry, index) => /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-2 text-sm", children: [
4579
4602
  /* @__PURE__ */ jsx28(
4580
4603
  "div",
4581
4604
  {
@@ -4583,7 +4606,7 @@ var BarChart = ({
4583
4606
  style: { backgroundColor: entry.color }
4584
4607
  }
4585
4608
  ),
4586
- /* @__PURE__ */ jsxs22("span", { className: "text-muted-foreground", children: [
4609
+ /* @__PURE__ */ jsxs23("span", { className: "text-muted-foreground", children: [
4587
4610
  entry.name,
4588
4611
  ":"
4589
4612
  ] }),
@@ -4604,7 +4627,7 @@ var BarChart = ({
4604
4627
  return `${baseClasses} text-left`;
4605
4628
  }
4606
4629
  };
4607
- return /* @__PURE__ */ jsxs22(
4630
+ return /* @__PURE__ */ jsxs23(
4608
4631
  "div",
4609
4632
  {
4610
4633
  className: cn("rounded-lg bg-card p-4 relative", className),
@@ -4614,7 +4637,7 @@ var BarChart = ({
4614
4637
  },
4615
4638
  children: [
4616
4639
  title && /* @__PURE__ */ jsx28("div", { style: { paddingLeft: `${resolvedContainerPaddingLeft}px` }, children: /* @__PURE__ */ jsx28("h3", { className: getTitleClassName(titlePosition), children: title }) }),
4617
- /* @__PURE__ */ jsxs22(
4640
+ /* @__PURE__ */ jsxs23(
4618
4641
  RechartsBarChart,
4619
4642
  {
4620
4643
  data: processedData,
@@ -4727,7 +4750,7 @@ var BarChart = ({
4727
4750
  guide.sourceTooltip.top + guide.sourceTooltip.height / 2,
4728
4751
  guide.targetTooltip.top + guide.targetTooltip.height / 2
4729
4752
  );
4730
- return /* @__PURE__ */ jsxs22("div", { children: [
4753
+ return /* @__PURE__ */ jsxs23("div", { children: [
4731
4754
  /* @__PURE__ */ jsx28(
4732
4755
  "div",
4733
4756
  {
@@ -4825,7 +4848,7 @@ import {
4825
4848
  Legend as Legend3,
4826
4849
  LabelList as LabelList3
4827
4850
  } from "recharts";
4828
- import { jsx as jsx29, jsxs as jsxs23 } from "react/jsx-runtime";
4851
+ import { jsx as jsx29, jsxs as jsxs24 } from "react/jsx-runtime";
4829
4852
  var defaultData = [
4830
4853
  { name: "A", value: 100 },
4831
4854
  { name: "B", value: 200 },
@@ -5207,7 +5230,7 @@ var CustomLineChart = ({
5207
5230
  return "text-left";
5208
5231
  }
5209
5232
  };
5210
- return /* @__PURE__ */ jsx29("div", { className: cn("relative", className), children: /* @__PURE__ */ jsxs23(
5233
+ return /* @__PURE__ */ jsx29("div", { className: cn("relative", className), children: /* @__PURE__ */ jsxs24(
5211
5234
  "div",
5212
5235
  {
5213
5236
  className: "rounded-lg bg-card p-4 relative border border-border",
@@ -5218,7 +5241,7 @@ var CustomLineChart = ({
5218
5241
  onClick: handleChartBackgroundClick,
5219
5242
  children: [
5220
5243
  title && /* @__PURE__ */ jsx29("div", { style: { paddingLeft: `${resolvedContainerPaddingLeft}px` }, children: /* @__PURE__ */ jsx29("div", { className: cn("mb-4", getTitleClass()), children: /* @__PURE__ */ jsx29("h3", { className: "text-lg font-semibold text-foreground", children: title }) }) }),
5221
- /* @__PURE__ */ jsxs23(
5244
+ /* @__PURE__ */ jsxs24(
5222
5245
  RechartsLineChart,
5223
5246
  {
5224
5247
  data,
@@ -5309,7 +5332,7 @@ var CustomLineChart = ({
5309
5332
  guide.sourceTooltip.top + guide.sourceTooltip.height / 2,
5310
5333
  guide.targetTooltip.top + guide.targetTooltip.height / 2
5311
5334
  );
5312
- return /* @__PURE__ */ jsxs23("div", { children: [
5335
+ return /* @__PURE__ */ jsxs24("div", { children: [
5313
5336
  /* @__PURE__ */ jsx29(
5314
5337
  "div",
5315
5338
  {
@@ -5402,7 +5425,7 @@ import {
5402
5425
  Tooltip as Tooltip4,
5403
5426
  Legend as Legend4
5404
5427
  } from "recharts";
5405
- import { jsx as jsx30, jsxs as jsxs24 } from "react/jsx-runtime";
5428
+ import { jsx as jsx30, jsxs as jsxs25 } from "react/jsx-runtime";
5406
5429
  var defaultData2 = [
5407
5430
  { name: "Vendas", value: 4e3 },
5408
5431
  { name: "Marketing", value: 3e3 },
@@ -5469,7 +5492,7 @@ var CustomPieChart = ({
5469
5492
  centerY = "50%"
5470
5493
  }) => {
5471
5494
  const finalColors = colors2 || DEFAULT_COLORS4;
5472
- return /* @__PURE__ */ jsx30("div", { className: cn("w-full rounded-lg bg-card p-4", className), children: /* @__PURE__ */ jsx30(ResponsiveContainer2, { width, height, children: /* @__PURE__ */ jsxs24(RechartsPieChart, { children: [
5495
+ return /* @__PURE__ */ jsx30("div", { className: cn("w-full rounded-lg bg-card p-4", className), children: /* @__PURE__ */ jsx30(ResponsiveContainer2, { width, height, children: /* @__PURE__ */ jsxs25(RechartsPieChart, { children: [
5473
5496
  /* @__PURE__ */ jsx30(
5474
5497
  Pie,
5475
5498
  {
@@ -5965,7 +5988,7 @@ import {
5965
5988
  FilePptIcon,
5966
5989
  FileDocIcon
5967
5990
  } from "@phosphor-icons/react";
5968
- import { Fragment as Fragment6, jsx as jsx35, jsxs as jsxs25 } from "react/jsx-runtime";
5991
+ import { Fragment as Fragment6, jsx as jsx35, jsxs as jsxs26 } from "react/jsx-runtime";
5969
5992
  var formatFileSize = (bytes) => {
5970
5993
  if (bytes === 0) return "0 Bytes";
5971
5994
  const k = 1024;
@@ -6175,7 +6198,7 @@ var FileUploader = React18.forwardRef(
6175
6198
  };
6176
6199
  const acceptString = accept.join(",");
6177
6200
  const defaultSubtext = dropzoneSubtext || `Formatos: ${accept.join(", ")}. M\xE1ximo: ${formatFileSize(maxSize)}`;
6178
- return /* @__PURE__ */ jsx35("div", { ref, className: cn("w-full", className), ...props, children: /* @__PURE__ */ jsxs25(
6201
+ return /* @__PURE__ */ jsx35("div", { ref, className: cn("w-full", className), ...props, children: /* @__PURE__ */ jsxs26(
6179
6202
  motion10.div,
6180
6203
  {
6181
6204
  className: cn(
@@ -6266,7 +6289,7 @@ var FileUploader = React18.forwardRef(
6266
6289
  children: defaultSubtext
6267
6290
  }
6268
6291
  ),
6269
- /* @__PURE__ */ jsx35(AnimatePresence8, { children: files.length > 0 && /* @__PURE__ */ jsxs25(
6292
+ /* @__PURE__ */ jsx35(AnimatePresence8, { children: files.length > 0 && /* @__PURE__ */ jsxs26(
6270
6293
  motion10.div,
6271
6294
  {
6272
6295
  initial: { opacity: 0, scale: 0.8, y: 10 },
@@ -6284,7 +6307,7 @@ var FileUploader = React18.forwardRef(
6284
6307
  transition: { duration: 0.3 },
6285
6308
  children: [
6286
6309
  /* @__PURE__ */ jsx35("div", { className: "h-4 w-4 text-primary flex items-center justify-center", children: /* @__PURE__ */ jsx35(CheckIcon6, { size: 16, className: "text-emerald-500" }) }),
6287
- /* @__PURE__ */ jsxs25(
6310
+ /* @__PURE__ */ jsxs26(
6288
6311
  motion10.span,
6289
6312
  {
6290
6313
  className: "text-sm font-semibold text-primary",
@@ -6307,15 +6330,15 @@ var FileUploader = React18.forwardRef(
6307
6330
  initial: animate ? { opacity: 0, y: 10 } : false,
6308
6331
  animate: { opacity: 1, y: 0 },
6309
6332
  transition: { delay: 0.3 },
6310
- children: /* @__PURE__ */ jsxs25("div", { children: [
6311
- /* @__PURE__ */ jsxs25("h4", { className: "mb-3 text-sm font-medium text-muted-foreground", children: [
6333
+ children: /* @__PURE__ */ jsxs26("div", { children: [
6334
+ /* @__PURE__ */ jsxs26("h4", { className: "mb-3 text-sm font-medium text-muted-foreground", children: [
6312
6335
  "Arquivos selecionados (",
6313
6336
  files.length,
6314
6337
  "/",
6315
6338
  maxFiles,
6316
6339
  ")"
6317
6340
  ] }),
6318
- /* @__PURE__ */ jsx35("div", { className: "space-y-2 overflow-y-auto max-h-44", children: /* @__PURE__ */ jsx35(AnimatePresence8, { mode: "popLayout", children: files.map((file, index) => /* @__PURE__ */ jsxs25(
6341
+ /* @__PURE__ */ jsx35("div", { className: "space-y-2 overflow-y-auto max-h-44", children: /* @__PURE__ */ jsx35(AnimatePresence8, { mode: "popLayout", children: files.map((file, index) => /* @__PURE__ */ jsxs26(
6319
6342
  motion10.div,
6320
6343
  {
6321
6344
  layout: true,
@@ -6349,7 +6372,7 @@ var FileUploader = React18.forwardRef(
6349
6372
  // Ícone baseado no tipo de arquivo
6350
6373
  getFileTypeIcon(file)
6351
6374
  ) }),
6352
- /* @__PURE__ */ jsxs25("div", { className: "min-w-0 flex-1", children: [
6375
+ /* @__PURE__ */ jsxs26("div", { className: "min-w-0 flex-1", children: [
6353
6376
  /* @__PURE__ */ jsx35(
6354
6377
  "p",
6355
6378
  {
@@ -6358,9 +6381,9 @@ var FileUploader = React18.forwardRef(
6358
6381
  children: file.name
6359
6382
  }
6360
6383
  ),
6361
- /* @__PURE__ */ jsxs25("div", { className: "flex items-center gap-2 text-xs text-muted-foreground", children: [
6384
+ /* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-2 text-xs text-muted-foreground", children: [
6362
6385
  /* @__PURE__ */ jsx35("span", { children: formatFileSize(file.size) }),
6363
- file.type && /* @__PURE__ */ jsxs25(Fragment6, { children: [
6386
+ file.type && /* @__PURE__ */ jsxs26(Fragment6, { children: [
6364
6387
  /* @__PURE__ */ jsx35("span", { children: "\u2022" }),
6365
6388
  /* @__PURE__ */ jsx35("span", { className: "uppercase", children: getFileExtension(file.name) })
6366
6389
  ] })
@@ -6405,7 +6428,7 @@ FileUploader.displayName = "FileUploader";
6405
6428
  // src/components/ui/feedback/AlertDialogBase.tsx
6406
6429
  import * as React19 from "react";
6407
6430
  import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
6408
- import { jsx as jsx36, jsxs as jsxs26 } from "react/jsx-runtime";
6431
+ import { jsx as jsx36, jsxs as jsxs27 } from "react/jsx-runtime";
6409
6432
  var AlertDialogBase = AlertDialogPrimitive.Root;
6410
6433
  var AlertDialogTriggerBase = AlertDialogPrimitive.Trigger;
6411
6434
  var AlertDialogPortalBase = AlertDialogPrimitive.Portal;
@@ -6422,7 +6445,7 @@ var AlertDialogOverlayBase = React19.forwardRef(({ className, testid = "alertdia
6422
6445
  }
6423
6446
  ));
6424
6447
  AlertDialogOverlayBase.displayName = AlertDialogPrimitive.Overlay.displayName;
6425
- var AlertDialogContentBase = React19.forwardRef(({ className, testid = "alertdialog-content", ...props }, ref) => /* @__PURE__ */ jsxs26(AlertDialogPortalBase, { children: [
6448
+ var AlertDialogContentBase = React19.forwardRef(({ className, testid = "alertdialog-content", ...props }, ref) => /* @__PURE__ */ jsxs27(AlertDialogPortalBase, { children: [
6426
6449
  /* @__PURE__ */ jsx36(AlertDialogOverlayBase, {}),
6427
6450
  /* @__PURE__ */ jsx36(
6428
6451
  AlertDialogPrimitive.Content,
@@ -6510,7 +6533,7 @@ AlertDialogCancelBase.displayName = AlertDialogPrimitive.Cancel.displayName;
6510
6533
  // src/components/ui/feedback/DestructiveDialog.tsx
6511
6534
  import * as React20 from "react";
6512
6535
  import { XCircleIcon } from "@phosphor-icons/react";
6513
- import { jsx as jsx37, jsxs as jsxs27 } from "react/jsx-runtime";
6536
+ import { jsx as jsx37, jsxs as jsxs28 } from "react/jsx-runtime";
6514
6537
  var DestructiveDialog = ({
6515
6538
  title,
6516
6539
  description,
@@ -6520,21 +6543,21 @@ var DestructiveDialog = ({
6520
6543
  triggerContent
6521
6544
  }) => {
6522
6545
  const triggerEl = React20.isValidElement(children) ? /* @__PURE__ */ jsx37(AlertDialogTriggerBase, { asChild: true, children }) : /* @__PURE__ */ jsx37(AlertDialogTriggerBase, { children: /* @__PURE__ */ jsx37(ButtonBase, { variant: "destructive", children: triggerContent ?? "Excluir" }) });
6523
- return /* @__PURE__ */ jsxs27(AlertDialogBase, { children: [
6546
+ return /* @__PURE__ */ jsxs28(AlertDialogBase, { children: [
6524
6547
  triggerEl,
6525
- /* @__PURE__ */ jsxs27(
6548
+ /* @__PURE__ */ jsxs28(
6526
6549
  AlertDialogContentBase,
6527
6550
  {
6528
6551
  className: cn("border border-destructive bg-background"),
6529
6552
  children: [
6530
- /* @__PURE__ */ jsxs27("div", { className: "flex items-start gap-4", children: [
6553
+ /* @__PURE__ */ jsxs28("div", { className: "flex items-start gap-4", children: [
6531
6554
  /* @__PURE__ */ jsx37("div", { className: "flex items-center justify-center w-10 h-10 rounded-full ring-1 ring-destructive/30", children: /* @__PURE__ */ jsx37(XCircleIcon, { className: "w-6 h-6 text-destructive" }) }),
6532
- /* @__PURE__ */ jsxs27("div", { className: "flex-1", children: [
6555
+ /* @__PURE__ */ jsxs28("div", { className: "flex-1", children: [
6533
6556
  /* @__PURE__ */ jsx37(AlertDialogTitleBase, { className: "text-lg sm:text-xl font-semibold text-destructive", children: title }),
6534
6557
  /* @__PURE__ */ jsx37(AlertDialogDescriptionBase, { className: "mt-2 text-sm text-muted-foreground", children: description })
6535
6558
  ] })
6536
6559
  ] }),
6537
- /* @__PURE__ */ jsxs27(AlertDialogFooterBase, { className: "mt-2 flex justify-end gap-3", children: [
6560
+ /* @__PURE__ */ jsxs28(AlertDialogFooterBase, { className: "mt-2 flex justify-end gap-3", children: [
6538
6561
  /* @__PURE__ */ jsx37(
6539
6562
  AlertDialogCancelBase,
6540
6563
  {
@@ -6566,7 +6589,7 @@ var DestructiveDialog = ({
6566
6589
  // src/components/ui/feedback/LoadingBase.tsx
6567
6590
  import * as React21 from "react";
6568
6591
  import { cva as cva3 } from "class-variance-authority";
6569
- import { jsx as jsx38, jsxs as jsxs28 } from "react/jsx-runtime";
6592
+ import { jsx as jsx38, jsxs as jsxs29 } from "react/jsx-runtime";
6570
6593
  var loadingVariants = cva3(
6571
6594
  "rounded-full border-2 animate-spin border-muted border-t-primary",
6572
6595
  {
@@ -6640,7 +6663,7 @@ var LoadingBase = React21.forwardRef(
6640
6663
  }, []);
6641
6664
  const renderSpinner = () => {
6642
6665
  if (variant === "dots") {
6643
- return /* @__PURE__ */ jsxs28("div", { className: cn(dotsVariants({ size })), "aria-hidden": "true", children: [
6666
+ return /* @__PURE__ */ jsxs29("div", { className: cn(dotsVariants({ size })), "aria-hidden": "true", children: [
6644
6667
  /* @__PURE__ */ jsx38(
6645
6668
  "div",
6646
6669
  {
@@ -6687,7 +6710,7 @@ var LoadingBase = React21.forwardRef(
6687
6710
  }
6688
6711
  );
6689
6712
  };
6690
- const loadingContent = /* @__PURE__ */ jsxs28("div", { className: "flex flex-col items-center gap-4", children: [
6713
+ const loadingContent = /* @__PURE__ */ jsxs29("div", { className: "flex flex-col items-center gap-4", children: [
6691
6714
  renderSpinner(),
6692
6715
  message && /* @__PURE__ */ jsx38("p", { className: "text-sm font-medium text-muted-foreground animate-pulse", children: message })
6693
6716
  ] });
@@ -6738,7 +6761,7 @@ LoadingBase.displayName = "LoadingBase";
6738
6761
  import * as React22 from "react";
6739
6762
  import * as DialogPrimitive2 from "@radix-ui/react-dialog";
6740
6763
  import { XIcon as XIcon6 } from "@phosphor-icons/react";
6741
- import { jsx as jsx39, jsxs as jsxs29 } from "react/jsx-runtime";
6764
+ import { jsx as jsx39, jsxs as jsxs30 } from "react/jsx-runtime";
6742
6765
  var ModalBase = DialogPrimitive2.Root;
6743
6766
  var ModalTriggerBase = DialogPrimitive2.Trigger;
6744
6767
  var ModalPortalBase = DialogPrimitive2.Portal;
@@ -6768,7 +6791,7 @@ var ModalContentBase = React22.forwardRef(
6768
6791
  }, ref) => {
6769
6792
  const sizeClass = size === "sm" ? "max-w-md" : size === "lg" ? "max-w-4xl" : size === "full" ? "w-full max-w-[calc(100%-2rem)]" : "max-w-2xl";
6770
6793
  const positionClass = centered ? "left-[50%] top-[50%] translate-x-[-50%] translate-y-[-50%]" : "left-[50%] top-20 translate-x-[-50%] translate-y-0 sm:translate-y-0";
6771
- return /* @__PURE__ */ jsxs29(ModalPortalBase, { children: [
6794
+ return /* @__PURE__ */ jsxs30(ModalPortalBase, { children: [
6772
6795
  /* @__PURE__ */ jsx39(
6773
6796
  ModalOverlayBase,
6774
6797
  {
@@ -6794,7 +6817,7 @@ var ModalContentBase = React22.forwardRef(
6794
6817
  }
6795
6818
  }
6796
6819
  ),
6797
- /* @__PURE__ */ jsxs29(
6820
+ /* @__PURE__ */ jsxs30(
6798
6821
  DialogPrimitive2.Content,
6799
6822
  {
6800
6823
  ref,
@@ -6809,7 +6832,7 @@ var ModalContentBase = React22.forwardRef(
6809
6832
  ...props,
6810
6833
  children: [
6811
6834
  children,
6812
- /* @__PURE__ */ jsxs29(DialogPrimitive2.Close, { className: "absolute right-3 top-3 sm:right-4 sm:top-4 rounded-md bg-muted/10 p-1.5 opacity-80 hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none z-10 hover:bg-muted/20 transition-colors", children: [
6835
+ /* @__PURE__ */ jsxs30(DialogPrimitive2.Close, { className: "absolute right-3 top-3 sm:right-4 sm:top-4 rounded-md bg-muted/10 p-1.5 opacity-80 hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none z-10 hover:bg-muted/20 transition-colors", children: [
6813
6836
  /* @__PURE__ */ jsx39(XIcon6, { className: "h-5 w-5 sm:h-4 sm:w-4 text-foreground" }),
6814
6837
  /* @__PURE__ */ jsx39("span", { className: "sr-only", children: "Close" })
6815
6838
  ] })
@@ -6873,7 +6896,7 @@ ModalDescriptionBase.displayName = DialogPrimitive2.Description.displayName;
6873
6896
  // src/components/ui/feedback/ProgressBase.tsx
6874
6897
  import * as React23 from "react";
6875
6898
  import * as ProgressPrimitive from "@radix-ui/react-progress";
6876
- import { jsx as jsx40, jsxs as jsxs30 } from "react/jsx-runtime";
6899
+ import { jsx as jsx40, jsxs as jsxs31 } from "react/jsx-runtime";
6877
6900
  var ProgressBase = React23.forwardRef(
6878
6901
  ({
6879
6902
  className,
@@ -6923,15 +6946,15 @@ var ProgressBase = React23.forwardRef(
6923
6946
  );
6924
6947
  case "bar":
6925
6948
  default:
6926
- return /* @__PURE__ */ jsxs30("div", { className: "flex flex-col gap-1 w-full min-w-[150px]", children: [
6949
+ return /* @__PURE__ */ jsxs31("div", { className: "flex flex-col gap-1 w-full min-w-[150px]", children: [
6927
6950
  label && /* @__PURE__ */ jsx40(LabelBase_default, { className: "py-2", children: label }),
6928
- /* @__PURE__ */ jsxs30("div", { className: "flex items-center gap-2", children: [
6929
- showValue && valuePosition === "left" && /* @__PURE__ */ jsxs30("div", { className: "w-12 text-sm text-right font-extrabold", children: [
6951
+ /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-2", children: [
6952
+ showValue && valuePosition === "left" && /* @__PURE__ */ jsxs31("div", { className: "w-12 text-sm text-right font-extrabold", children: [
6930
6953
  Math.round(value || 0),
6931
6954
  "%"
6932
6955
  ] }),
6933
6956
  leftIcon && /* @__PURE__ */ jsx40("div", { className: "flex items-center justify-center", children: leftIcon }),
6934
- /* @__PURE__ */ jsxs30(
6957
+ /* @__PURE__ */ jsxs31(
6935
6958
  ProgressPrimitive.Root,
6936
6959
  {
6937
6960
  ref,
@@ -6947,7 +6970,6 @@ var ProgressBase = React23.forwardRef(
6947
6970
  {
6948
6971
  className: cn(
6949
6972
  "h-full transition-all duration-500 ease-in-out rounded-lg",
6950
- // quando não usa autocolor, Indicator deve mostrar a cor primária
6951
6973
  autocolor && autocolor.length >= 2 ? "bg-transparent" : "bg-primary"
6952
6974
  ),
6953
6975
  style: { width: `${indicatorWidth}%` }
@@ -6984,13 +7006,13 @@ var ProgressBase = React23.forwardRef(
6984
7006
  {
6985
7007
  "aria-hidden": "true",
6986
7008
  className: "absolute top-0 bottom-0 w-0.5 bg-black/70 transition-all duration-500 ease-in-out pointer-events-none",
6987
- style: { left: `100%` },
6988
- children: value > 115 && /* @__PURE__ */ jsx40("div", { className: "absolute left-full ml-2 top-1/2 -translate-y-1/2 text-xs whitespace-nowrap font-extrabold", children: `+${Math.round(
7009
+ style: { left: `${100 / value * 100}%` },
7010
+ children: value > 120 && /* @__PURE__ */ jsx40("div", { className: "absolute left-full ml-2 top-1/2 -translate-y-1/2 text-xs whitespace-nowrap font-extrabold", children: `+${Math.round(
6989
7011
  value - 100
6990
7012
  )}%` })
6991
7013
  }
6992
7014
  ),
6993
- showValue && valuePosition === "inside" && /* @__PURE__ */ jsxs30(
7015
+ showValue && valuePosition === "inside" && /* @__PURE__ */ jsxs31(
6994
7016
  "span",
6995
7017
  {
6996
7018
  className: "absolute inset-0 flex items-center justify-center text-sm select-none pointer-events-none text-secondary font-extrabold",
@@ -7004,7 +7026,7 @@ var ProgressBase = React23.forwardRef(
7004
7026
  ]
7005
7027
  }
7006
7028
  ),
7007
- showValue && valuePosition === "right" && /* @__PURE__ */ jsxs30("div", { className: "w-12 text-sm font-extrabold text-left", children: [
7029
+ showValue && valuePosition === "right" && /* @__PURE__ */ jsxs31("div", { className: "w-12 text-sm font-extrabold text-left", children: [
7008
7030
  Math.round(value || 0),
7009
7031
  "%"
7010
7032
  ] }),
@@ -7021,7 +7043,7 @@ var ProgressSegmentsBase = ({
7021
7043
  value
7022
7044
  }) => {
7023
7045
  const filled = Math.round(value / 100 * segments);
7024
- return /* @__PURE__ */ jsxs30("div", { className: "flex flex-col gap-1 w-full min-w-[150px]", children: [
7046
+ return /* @__PURE__ */ jsxs31("div", { className: "flex flex-col gap-1 w-full min-w-[150px]", children: [
7025
7047
  label && /* @__PURE__ */ jsx40(LabelBase_default, { className: "py-2", children: label }),
7026
7048
  /* @__PURE__ */ jsx40("div", { className: "flex gap-1 w-full", children: Array.from({ length: segments }).map((_, idx) => /* @__PURE__ */ jsx40(
7027
7049
  "div",
@@ -7052,13 +7074,13 @@ var ProgressPanelsBase = ({
7052
7074
  steps,
7053
7075
  currentStep
7054
7076
  }) => {
7055
- return /* @__PURE__ */ jsxs30("div", { className: "flex flex-col gap-1 w-full", children: [
7077
+ return /* @__PURE__ */ jsxs31("div", { className: "flex flex-col gap-1 w-full", children: [
7056
7078
  label && /* @__PURE__ */ jsx40(LabelBase_default, { className: "py-2", children: label }),
7057
7079
  /* @__PURE__ */ jsx40("div", { className: "flex w-full gap-1 rounded-lg overflow-hidden", children: steps.map((step, idx) => {
7058
7080
  const isActive = idx === currentStep;
7059
7081
  const isLast = idx === steps.length - 1;
7060
- return /* @__PURE__ */ jsxs30(React23.Fragment, { children: [
7061
- /* @__PURE__ */ jsxs30(
7082
+ return /* @__PURE__ */ jsxs31(React23.Fragment, { children: [
7083
+ /* @__PURE__ */ jsxs31(
7062
7084
  "div",
7063
7085
  {
7064
7086
  className: cn(
@@ -7084,9 +7106,9 @@ var ProgressCirclesBase = ({
7084
7106
  steps,
7085
7107
  currentStep
7086
7108
  }) => {
7087
- return /* @__PURE__ */ jsxs30("div", { className: "flex flex-col gap-2 w-full", children: [
7109
+ return /* @__PURE__ */ jsxs31("div", { className: "flex flex-col gap-2 w-full", children: [
7088
7110
  label && /* @__PURE__ */ jsx40("label", { className: "py-2 text-base font-semibold text-gray-700 dark:text-gray-300", children: label }),
7089
- /* @__PURE__ */ jsxs30("div", { className: "relative flex items-center justify-between w-full", children: [
7111
+ /* @__PURE__ */ jsxs31("div", { className: "relative flex items-center justify-between w-full", children: [
7090
7112
  /* @__PURE__ */ jsx40("div", { className: "absolute top-5 left-0 w-full h-1 bg-zinc-200 dark:bg-zinc-700" }),
7091
7113
  /* @__PURE__ */ jsx40(
7092
7114
  "div",
@@ -7099,7 +7121,7 @@ var ProgressCirclesBase = ({
7099
7121
  ),
7100
7122
  steps.map((step, idx) => {
7101
7123
  const isActive = idx <= currentStep;
7102
- return /* @__PURE__ */ jsxs30(
7124
+ return /* @__PURE__ */ jsxs31(
7103
7125
  "div",
7104
7126
  {
7105
7127
  className: "relative flex flex-col items-center w-10",
@@ -7249,13 +7271,13 @@ CheckboxBase.displayName = CheckboxPrimitive.Root.displayName;
7249
7271
  import * as React25 from "react";
7250
7272
  import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
7251
7273
  import { CaretUpDownIcon } from "@phosphor-icons/react";
7252
- import { jsx as jsx44, jsxs as jsxs31 } from "react/jsx-runtime";
7274
+ import { jsx as jsx44, jsxs as jsxs32 } from "react/jsx-runtime";
7253
7275
  var CollapsibleBase = React25.forwardRef(({ ...props }, ref) => {
7254
7276
  return /* @__PURE__ */ jsx44(CollapsiblePrimitive.Root, { ref, "data-slot": "collapsible", ...props });
7255
7277
  });
7256
7278
  CollapsibleBase.displayName = CollapsiblePrimitive.Root.displayName;
7257
7279
  var CollapsibleTriggerBase = React25.forwardRef(({ className, children, leftIcon, showCaret = true, ...props }, ref) => {
7258
- return /* @__PURE__ */ jsxs31(
7280
+ return /* @__PURE__ */ jsxs32(
7259
7281
  CollapsiblePrimitive.CollapsibleTrigger,
7260
7282
  {
7261
7283
  ref,
@@ -7266,7 +7288,7 @@ var CollapsibleTriggerBase = React25.forwardRef(({ className, children, leftIcon
7266
7288
  "data-slot": "collapsible-trigger",
7267
7289
  ...props,
7268
7290
  children: [
7269
- /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-2", children: [
7291
+ /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2", children: [
7270
7292
  leftIcon && /* @__PURE__ */ jsx44("span", { className: "flex-shrink-0 [&>svg]:size-4", children: leftIcon }),
7271
7293
  /* @__PURE__ */ jsx44("span", { children })
7272
7294
  ] }),
@@ -7295,7 +7317,7 @@ CollapsibleContentBase.displayName = CollapsiblePrimitive.CollapsibleContent.dis
7295
7317
 
7296
7318
  // src/components/ui/form/DebounceInput.tsx
7297
7319
  import { useEffect as useEffect10, useState as useState11 } from "react";
7298
- import { CircleNotchIcon } from "@phosphor-icons/react";
7320
+ import { CircleNotchIcon as CircleNotchIcon2 } from "@phosphor-icons/react";
7299
7321
  import { jsx as jsx45 } from "react/jsx-runtime";
7300
7322
 
7301
7323
  // src/components/ui/form/HoverCardBase.tsx
@@ -7338,7 +7360,7 @@ function HoverCardContentBase({
7338
7360
  import * as React26 from "react";
7339
7361
  import { OTPInput, OTPInputContext } from "input-otp";
7340
7362
  import { MinusIcon } from "@phosphor-icons/react";
7341
- import { jsx as jsx47, jsxs as jsxs32 } from "react/jsx-runtime";
7363
+ import { jsx as jsx47, jsxs as jsxs33 } from "react/jsx-runtime";
7342
7364
  function InputOTPBase({
7343
7365
  className,
7344
7366
  containerClassName,
@@ -7374,7 +7396,7 @@ function InputOTPSlotBase({
7374
7396
  }) {
7375
7397
  const inputOTPContext = React26.useContext(OTPInputContext);
7376
7398
  const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
7377
- return /* @__PURE__ */ jsxs32(
7399
+ return /* @__PURE__ */ jsxs33(
7378
7400
  "div",
7379
7401
  {
7380
7402
  "data-slot": "input-otp-slot",
@@ -7398,7 +7420,7 @@ function InputOTPSeparatorBase({ ...props }) {
7398
7420
  // src/components/ui/form/SliderBase.tsx
7399
7421
  import * as React27 from "react";
7400
7422
  import * as SliderPrimitive from "@radix-ui/react-slider";
7401
- import { jsx as jsx48, jsxs as jsxs33 } from "react/jsx-runtime";
7423
+ import { jsx as jsx48, jsxs as jsxs34 } from "react/jsx-runtime";
7402
7424
  var SlideBase = React27.forwardRef(
7403
7425
  ({
7404
7426
  className,
@@ -7409,13 +7431,13 @@ var SlideBase = React27.forwardRef(
7409
7431
  ...props
7410
7432
  }, ref) => {
7411
7433
  const isVertical = orientation === "vertical";
7412
- return /* @__PURE__ */ jsxs33(
7434
+ return /* @__PURE__ */ jsxs34(
7413
7435
  "div",
7414
7436
  {
7415
7437
  className: cn("flex flex-col gap-1", isVertical ? "h-full " : "w-full"),
7416
7438
  children: [
7417
7439
  label && /* @__PURE__ */ jsx48(LabelBase_default, { className: "py-2", children: label }),
7418
- /* @__PURE__ */ jsxs33(
7440
+ /* @__PURE__ */ jsxs34(
7419
7441
  "div",
7420
7442
  {
7421
7443
  className: cn(
@@ -7424,7 +7446,7 @@ var SlideBase = React27.forwardRef(
7424
7446
  ),
7425
7447
  children: [
7426
7448
  leftIcon && /* @__PURE__ */ jsx48("div", { className: "flex items-center justify-center", children: leftIcon }),
7427
- /* @__PURE__ */ jsxs33(
7449
+ /* @__PURE__ */ jsxs34(
7428
7450
  SliderPrimitive.Root,
7429
7451
  {
7430
7452
  ref,
@@ -8240,7 +8262,7 @@ SwitchBase.displayName = SwitchPrimitives.Root.displayName;
8240
8262
  import * as React30 from "react";
8241
8263
  import { motion as motion12 } from "framer-motion";
8242
8264
  import { TrashIcon as TrashIcon2 } from "@phosphor-icons/react";
8243
- import { jsx as jsx51, jsxs as jsxs34 } from "react/jsx-runtime";
8265
+ import { jsx as jsx51, jsxs as jsxs35 } from "react/jsx-runtime";
8244
8266
  var TextAreaBase = React30.forwardRef(
8245
8267
  ({ className, clearable = false, onClear, ...props }, ref) => {
8246
8268
  const [isFocused, setIsFocused] = React30.useState(false);
@@ -8288,7 +8310,7 @@ var TextAreaBase = React30.forwardRef(
8288
8310
  React30.useEffect(() => {
8289
8311
  setHasContent(!!props.value || !!props.defaultValue);
8290
8312
  }, [props.value, props.defaultValue]);
8291
- return /* @__PURE__ */ jsxs34("div", { className: "relative", children: [
8313
+ return /* @__PURE__ */ jsxs35("div", { className: "relative", children: [
8292
8314
  /* @__PURE__ */ jsx51(
8293
8315
  "textarea",
8294
8316
  {
@@ -8312,7 +8334,7 @@ var TextAreaBase = React30.forwardRef(
8312
8334
  ...props
8313
8335
  }
8314
8336
  ),
8315
- clearable && hasContent && /* @__PURE__ */ jsx51(TooltipProviderBase, { children: /* @__PURE__ */ jsxs34(
8337
+ clearable && hasContent && /* @__PURE__ */ jsx51(TooltipProviderBase, { children: /* @__PURE__ */ jsxs35(
8316
8338
  TooltipBase,
8317
8339
  {
8318
8340
  open: showConfirmTooltip,
@@ -8339,14 +8361,14 @@ var TextAreaBase = React30.forwardRef(
8339
8361
  children: /* @__PURE__ */ jsx51(TrashIcon2, { size: 16, weight: "regular" })
8340
8362
  }
8341
8363
  ) }),
8342
- /* @__PURE__ */ jsxs34(
8364
+ /* @__PURE__ */ jsxs35(
8343
8365
  TooltipContentBase,
8344
8366
  {
8345
8367
  side: "left",
8346
8368
  className: "bg-background border border-border shadow-lg p-3 flex flex-col gap-2",
8347
8369
  children: [
8348
8370
  /* @__PURE__ */ jsx51("p", { className: "text-sm text-foreground font-medium mb-1", children: "Limpar todo o texto?" }),
8349
- /* @__PURE__ */ jsxs34("div", { className: "flex gap-2", children: [
8371
+ /* @__PURE__ */ jsxs35("div", { className: "flex gap-2", children: [
8350
8372
  /* @__PURE__ */ jsx51(
8351
8373
  "button",
8352
8374
  {
@@ -8392,7 +8414,7 @@ var TextAreaBase = React30.forwardRef(
8392
8414
  children: /* @__PURE__ */ jsx51("div", { className: "absolute inset-0 rounded-lg bg-gradient-to-r from-ring/20 via-ring/10 to-ring/20 blur-sm" })
8393
8415
  }
8394
8416
  ),
8395
- isFocused && hasContent && props.maxLength && /* @__PURE__ */ jsxs34(
8417
+ isFocused && hasContent && props.maxLength && /* @__PURE__ */ jsxs35(
8396
8418
  motion12.div,
8397
8419
  {
8398
8420
  initial: { opacity: 0, y: -10 },
@@ -8415,7 +8437,7 @@ TextAreaBase.displayName = "TextAreaBase";
8415
8437
  import * as React31 from "react";
8416
8438
  import useEmblaCarousel from "embla-carousel-react";
8417
8439
  import { ArrowLeftIcon as ArrowLeftIcon2, ArrowRightIcon as ArrowRightIcon2 } from "@phosphor-icons/react";
8418
- import { jsx as jsx52, jsxs as jsxs35 } from "react/jsx-runtime";
8440
+ import { jsx as jsx52, jsxs as jsxs36 } from "react/jsx-runtime";
8419
8441
  var CarouselContext = React31.createContext(null);
8420
8442
  function useCarousel() {
8421
8443
  const context = React31.useContext(CarouselContext);
@@ -8558,7 +8580,7 @@ function CarouselPrevious({
8558
8580
  ...props
8559
8581
  }) {
8560
8582
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
8561
- return /* @__PURE__ */ jsxs35(
8583
+ return /* @__PURE__ */ jsxs36(
8562
8584
  ButtonBase,
8563
8585
  {
8564
8586
  "data-slot": "carousel-previous",
@@ -8586,7 +8608,7 @@ function CarouselNextBase({
8586
8608
  ...props
8587
8609
  }) {
8588
8610
  const { orientation, scrollNext, canScrollNext } = useCarousel();
8589
- return /* @__PURE__ */ jsxs35(
8611
+ return /* @__PURE__ */ jsxs36(
8590
8612
  ButtonBase,
8591
8613
  {
8592
8614
  "data-slot": "carousel-next",
@@ -8782,7 +8804,7 @@ TabsContentBase.displayName = TabsPrimitive.Content.displayName;
8782
8804
  // src/components/ui/navigation/BreadcrumbBase.tsx
8783
8805
  import { Slot as Slot4 } from "@radix-ui/react-slot";
8784
8806
  import { CaretRightIcon as CaretRightIcon3, DotsThreeIcon as DotsThreeIcon3 } from "@phosphor-icons/react";
8785
- import { jsx as jsx56, jsxs as jsxs36 } from "react/jsx-runtime";
8807
+ import { jsx as jsx56, jsxs as jsxs37 } from "react/jsx-runtime";
8786
8808
  function BreadcrumbBase({ ...props }) {
8787
8809
  return /* @__PURE__ */ jsx56("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
8788
8810
  }
@@ -8858,7 +8880,7 @@ function BreadcrumbEllipsisBase({
8858
8880
  className,
8859
8881
  ...props
8860
8882
  }) {
8861
- return /* @__PURE__ */ jsxs36(
8883
+ return /* @__PURE__ */ jsxs37(
8862
8884
  "span",
8863
8885
  {
8864
8886
  "data-slot": "breadcrumb-ellipsis",
@@ -8877,14 +8899,14 @@ function BreadcrumbEllipsisBase({
8877
8899
  // src/components/ui/navigation/NavigationMenuBase.tsx
8878
8900
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
8879
8901
  import { CaretDownIcon as CaretDownIcon3 } from "@phosphor-icons/react";
8880
- import { jsx as jsx57, jsxs as jsxs37 } from "react/jsx-runtime";
8902
+ import { jsx as jsx57, jsxs as jsxs38 } from "react/jsx-runtime";
8881
8903
  function NavigationMenuBase({
8882
8904
  className,
8883
8905
  children,
8884
8906
  viewport = true,
8885
8907
  ...props
8886
8908
  }) {
8887
- return /* @__PURE__ */ jsxs37(
8909
+ return /* @__PURE__ */ jsxs38(
8888
8910
  NavigationMenuPrimitive.Root,
8889
8911
  {
8890
8912
  "data-slot": "navigation-menu",
@@ -8935,7 +8957,7 @@ function NavigationMenuTriggerBase({
8935
8957
  children,
8936
8958
  ...props
8937
8959
  }) {
8938
- return /* @__PURE__ */ jsxs37(
8960
+ return /* @__PURE__ */ jsxs38(
8939
8961
  NavigationMenuPrimitive.Trigger,
8940
8962
  {
8941
8963
  "data-slot": "navigation-menu-trigger",
@@ -9048,7 +9070,7 @@ import * as React36 from "react";
9048
9070
  import * as SheetPrimitive from "@radix-ui/react-dialog";
9049
9071
  import { cva as cva4 } from "class-variance-authority";
9050
9072
  import { XIcon as XIcon8 } from "@phosphor-icons/react";
9051
- import { jsx as jsx58, jsxs as jsxs38 } from "react/jsx-runtime";
9073
+ import { jsx as jsx58, jsxs as jsxs39 } from "react/jsx-runtime";
9052
9074
  var SheetBase = SheetPrimitive.Root;
9053
9075
  var SheetTriggerBase = SheetPrimitive.Trigger;
9054
9076
  var SheetCloseBase = SheetPrimitive.Close;
@@ -9081,16 +9103,16 @@ var sheetVariants = cva4(
9081
9103
  }
9082
9104
  }
9083
9105
  );
9084
- var SheetContentBase = React36.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs38(SheetPortalBase, { children: [
9106
+ var SheetContentBase = React36.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs39(SheetPortalBase, { children: [
9085
9107
  /* @__PURE__ */ jsx58(SheetOverlayBase, {}),
9086
- /* @__PURE__ */ jsxs38(
9108
+ /* @__PURE__ */ jsxs39(
9087
9109
  SheetPrimitive.Content,
9088
9110
  {
9089
9111
  ref,
9090
9112
  className: cn(sheetVariants({ side }), className),
9091
9113
  ...props,
9092
9114
  children: [
9093
- /* @__PURE__ */ jsxs38(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
9115
+ /* @__PURE__ */ jsxs39(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
9094
9116
  /* @__PURE__ */ jsx58(XIcon8, { className: "h-4 w-4" }),
9095
9117
  /* @__PURE__ */ jsx58("span", { className: "sr-only", children: "Close" })
9096
9118
  ] }),
@@ -9149,7 +9171,7 @@ SheetDescriptionBase.displayName = SheetPrimitive.Description.displayName;
9149
9171
 
9150
9172
  // src/components/ui/navigation/SidebarBase.tsx
9151
9173
  import { SidebarSimpleIcon } from "@phosphor-icons/react";
9152
- import { jsx as jsx59, jsxs as jsxs39 } from "react/jsx-runtime";
9174
+ import { jsx as jsx59, jsxs as jsxs40 } from "react/jsx-runtime";
9153
9175
  var SIDEBAR_COOKIE_NAME = "sidebar:state";
9154
9176
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
9155
9177
  var SIDEBAR_WIDTH = "16rem";
@@ -9277,7 +9299,7 @@ var SidebarBase = React37.forwardRef(
9277
9299
  }
9278
9300
  ) });
9279
9301
  }
9280
- return /* @__PURE__ */ jsxs39(
9302
+ return /* @__PURE__ */ jsxs40(
9281
9303
  "div",
9282
9304
  {
9283
9305
  ref,
@@ -9327,7 +9349,7 @@ var SidebarBase = React37.forwardRef(
9327
9349
  SidebarBase.displayName = "SidebarBase";
9328
9350
  var SidebarTriggerBase = React37.forwardRef(({ className, onClick, ...props }, ref) => {
9329
9351
  const { toggleSidebar } = UseSideBarBase();
9330
- return /* @__PURE__ */ jsx59("div", { children: /* @__PURE__ */ jsxs39(
9352
+ return /* @__PURE__ */ jsx59("div", { children: /* @__PURE__ */ jsxs40(
9331
9353
  ButtonBase,
9332
9354
  {
9333
9355
  ref,
@@ -9583,7 +9605,7 @@ var SidebarMenuButtonBase = React37.forwardRef(
9583
9605
  children: tooltip
9584
9606
  };
9585
9607
  }
9586
- return /* @__PURE__ */ jsxs39(TooltipBase, { children: [
9608
+ return /* @__PURE__ */ jsxs40(TooltipBase, { children: [
9587
9609
  /* @__PURE__ */ jsx59(TooltipTriggerBase, { asChild: true, children: button }),
9588
9610
  /* @__PURE__ */ jsx59(
9589
9611
  TooltipContentBase,
@@ -9643,7 +9665,7 @@ var SidebarMenuSkeletonBase = React37.forwardRef(({ className, showIcon = false,
9643
9665
  const width = React37.useMemo(() => {
9644
9666
  return `${Math.floor(Math.random() * 40) + 50}%`;
9645
9667
  }, []);
9646
- return /* @__PURE__ */ jsxs39(
9668
+ return /* @__PURE__ */ jsxs40(
9647
9669
  "div",
9648
9670
  {
9649
9671
  ref,
@@ -9714,7 +9736,7 @@ SidebarMenuSubButtonBase.displayName = "SidebarMenuSubButtonBase";
9714
9736
 
9715
9737
  // src/components/ui/overlays/DrawerBase.tsx
9716
9738
  import { Drawer as DrawerPrimitive } from "vaul";
9717
- import { jsx as jsx60, jsxs as jsxs40 } from "react/jsx-runtime";
9739
+ import { jsx as jsx60, jsxs as jsxs41 } from "react/jsx-runtime";
9718
9740
  function DrawerBase({
9719
9741
  ...props
9720
9742
  }) {
@@ -9756,9 +9778,9 @@ function DrawerContentBase({
9756
9778
  children,
9757
9779
  ...props
9758
9780
  }) {
9759
- return /* @__PURE__ */ jsxs40(DrawerPortalBase, { children: [
9781
+ return /* @__PURE__ */ jsxs41(DrawerPortalBase, { children: [
9760
9782
  /* @__PURE__ */ jsx60(DrawerOverlayBase, {}),
9761
- /* @__PURE__ */ jsxs40(
9783
+ /* @__PURE__ */ jsxs41(
9762
9784
  DrawerPrimitive.Content,
9763
9785
  {
9764
9786
  "data-slot": "drawer-content",
@@ -9895,7 +9917,7 @@ var useTooltip = () => {
9895
9917
 
9896
9918
  // src/components/ui/UniversalTooltipRenderer.tsx
9897
9919
  import { XIcon as XIcon9 } from "@phosphor-icons/react/dist/ssr";
9898
- import { jsx as jsx62, jsxs as jsxs41 } from "react/jsx-runtime";
9920
+ import { jsx as jsx62, jsxs as jsxs42 } from "react/jsx-runtime";
9899
9921
  var UniversalTooltipRenderer = ({
9900
9922
  className,
9901
9923
  showCloseButton = true,
@@ -9912,8 +9934,8 @@ var UniversalTooltipRenderer = ({
9912
9934
  clearAllTooltips
9913
9935
  } = useUniversalTooltip();
9914
9936
  const { removeTooltip, handleElementMouseDown } = useTooltip();
9915
- return /* @__PURE__ */ jsxs41("div", { className: cn("fixed inset-0 pointer-events-none z-50", className), children: [
9916
- showCloseAllButton && tooltips.length > 1 && /* @__PURE__ */ jsx62("div", { className: "fixed top-6 left-1/2 transform -translate-x-1/2 z-50 pointer-events-auto animate-in fade-in slide-in-from-top-2 duration-300", children: /* @__PURE__ */ jsxs41(
9937
+ return /* @__PURE__ */ jsxs42("div", { className: cn("fixed inset-0 pointer-events-none z-50", className), children: [
9938
+ showCloseAllButton && tooltips.length > 1 && /* @__PURE__ */ jsx62("div", { className: "fixed top-6 left-1/2 transform -translate-x-1/2 z-50 pointer-events-auto animate-in fade-in slide-in-from-top-2 duration-300", children: /* @__PURE__ */ jsxs42(
9917
9939
  "button",
9918
9940
  {
9919
9941
  onClick: clearAllTooltips,
@@ -9935,7 +9957,7 @@ var UniversalTooltipRenderer = ({
9935
9957
  const endX = isHorizontal ? Math.max(guide.sourceTooltip.left + guide.sourceTooltip.width / 2, guide.targetTooltip.left + guide.targetTooltip.width / 2) : guide.targetTooltip.left + guide.targetTooltip.width / 2;
9936
9958
  const startY = isHorizontal ? guide.sourceTooltip.top + guide.sourceTooltip.height / 2 : Math.min(guide.sourceTooltip.top + guide.sourceTooltip.height / 2, guide.targetTooltip.top + guide.targetTooltip.height / 2);
9937
9959
  const endY = isHorizontal ? guide.targetTooltip.top + guide.targetTooltip.height / 2 : Math.max(guide.sourceTooltip.top + guide.sourceTooltip.height / 2, guide.targetTooltip.top + guide.targetTooltip.height / 2);
9938
- return /* @__PURE__ */ jsxs41("div", { className: "pointer-events-none", children: [
9960
+ return /* @__PURE__ */ jsxs42("div", { className: "pointer-events-none", children: [
9939
9961
  /* @__PURE__ */ jsx62(
9940
9962
  "div",
9941
9963
  {
@@ -9989,7 +10011,7 @@ var UniversalTooltipRenderer = ({
9989
10011
  )
9990
10012
  ] }, index);
9991
10013
  }),
9992
- tooltips.map((tooltip) => /* @__PURE__ */ jsxs41(
10014
+ tooltips.map((tooltip) => /* @__PURE__ */ jsxs42(
9993
10015
  "div",
9994
10016
  {
9995
10017
  className: cn(
@@ -10003,8 +10025,8 @@ var UniversalTooltipRenderer = ({
10003
10025
  },
10004
10026
  onMouseDown: (e) => handleElementMouseDown(tooltip.id, e),
10005
10027
  children: [
10006
- /* @__PURE__ */ jsxs41("div", { className: "flex items-center justify-between p-3 border-b bg-muted/20 rounded-t-lg", children: [
10007
- /* @__PURE__ */ jsxs41("div", { className: "flex items-center gap-2", children: [
10028
+ /* @__PURE__ */ jsxs42("div", { className: "flex items-center justify-between p-3 border-b bg-muted/20 rounded-t-lg", children: [
10029
+ /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-2", children: [
10008
10030
  /* @__PURE__ */ jsx62("div", { className: "w-2 h-2 bg-primary rounded-full" }),
10009
10031
  /* @__PURE__ */ jsx62("span", { className: "text-sm font-medium text-muted-foreground", children: "Tooltip" })
10010
10032
  ] }),
@@ -10044,7 +10066,7 @@ import {
10044
10066
  CalendarIcon
10045
10067
  } from "@phosphor-icons/react";
10046
10068
  import { AnimatePresence as AnimatePresence9 } from "framer-motion";
10047
- import { jsx as jsx63, jsxs as jsxs42 } from "react/jsx-runtime";
10069
+ import { jsx as jsx63, jsxs as jsxs43 } from "react/jsx-runtime";
10048
10070
  function CalendarBase2({
10049
10071
  className,
10050
10072
  classNames,
@@ -10065,7 +10087,7 @@ function CalendarBase2({
10065
10087
  "div",
10066
10088
  {
10067
10089
  className: cn(
10068
- "rounded-md border bg-background p-2 overflow-hidden flex flex-col",
10090
+ "rounded-md border bg-background p-2 sm:p-3 md:p-4 overflow-hidden flex flex-col",
10069
10091
  className
10070
10092
  ),
10071
10093
  children: /* @__PURE__ */ jsx63("div", { className: "relative flex-1 flex flex-col min-h-0", children: /* @__PURE__ */ jsx63(AnimatePresence9, { initial: false, mode: "wait", custom: direction, children: /* @__PURE__ */ jsx63(
@@ -10078,43 +10100,38 @@ function CalendarBase2({
10078
10100
  showOutsideDays,
10079
10101
  month,
10080
10102
  onMonthChange: handleMonthChange,
10081
- className: "w-full h-full min-w-0 flex flex-col",
10103
+ className: "w-full h-full flex flex-col",
10082
10104
  classNames: {
10083
- months: "flex items-center flex-col sm:flex-row space-y-2 sm:space-x-2 sm:space-y-0 flex-1",
10084
- month: "space-y-2 min-w-0 flex-1 flex flex-col",
10085
- caption: "flex justify-center pt-1 relative items-center h-[10%] min-h-[2rem] mb-2",
10086
- caption_label: "text-[clamp(0.875rem,2.5vw,1.25rem)] font-semibold truncate px-10 tracking-tight",
10087
- nav: "space-x-1 flex items-center",
10105
+ months: "flex flex-col sm:flex-row gap-3 sm:gap-4 w-full",
10106
+ month: "flex-1 min-w-0",
10107
+ caption: "flex items-center justify-between gap-2 pr-1 min-h-[2.25rem] mb-2",
10108
+ caption_label: "text-[clamp(0.85rem,1.4vw,1.125rem)] sm:text-[clamp(0.9rem,1.6vw,1.125rem)] font-semibold capitalize text-left",
10109
+ nav: "flex items-center gap-2",
10088
10110
  nav_button: cn(
10089
10111
  buttonVariantsBase({ variant: "outline" }),
10090
- "h-8 w-8 bg-background p-0 opacity-60 hover:opacity-100 hover:bg-muted flex-shrink-0 touch-manipulation transition-all duration-200 ease-out hover:scale-105 active:scale-95",
10091
- "[@media(min-width:400px)]:h-9 [@media(min-width:400px)]:w-9"
10112
+ "h-8 w-8 sm:h-9 sm:w-9 md:h-10 md:w-10 flex items-center justify-center p-0 rounded-md transition-transform duration-150 ease-out focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary/40 active:scale-95"
10092
10113
  ),
10093
- nav_button_previous: "absolute left-0",
10094
- nav_button_next: "absolute right-0",
10095
- table: "w-full border-collapse min-w-0 flex-1 flex flex-col",
10096
- head_row: "flex w-full gap-1 mb-1",
10097
- head_cell: "text-muted-foreground rounded-md flex-1 min-w-0 font-semibold text-[clamp(0.625rem,1.5vw,0.75rem)] text-center pb-1 uppercase tracking-wider",
10098
- row: "flex w-full flex-1 gap-1",
10114
+ nav_button_previous: "",
10115
+ nav_button_next: "",
10116
+ table: "w-full min-w-0 flex-1 grid grid-rows-[auto_1fr] gap-2",
10117
+ head_row: "grid grid-cols-7 gap-1 mb-1",
10118
+ head_cell: "text-muted-foreground rounded-md font-semibold text-[clamp(0.575rem,1.2vw,0.75rem)] sm:text-[clamp(0.65rem,1.1vw,0.825rem)] text-center pb-1 uppercase tracking-wider",
10119
+ row: "grid grid-cols-7 gap-1",
10099
10120
  cell: cn(
10100
- "flex-1 min-w-0 aspect-square text-center p-0 relative",
10121
+ "min-w-0 h-9 sm:h-10 md:h-11 p-0 relative flex items-center justify-center",
10101
10122
  "[&:has([aria-selected].day-range-end)]:rounded-r-lg",
10102
10123
  "[&:has([aria-selected].day-range-start)]:rounded-l-lg",
10103
10124
  "[&:has([aria-selected].day-outside)]:bg-muted/50",
10104
- "[&:has([aria-selected])]:bg-muted",
10105
- "first:[&:has([aria-selected])]:rounded-l-lg",
10106
- "last:[&:has([aria-selected])]:rounded-r-lg",
10107
- "focus-within:relative focus-within:z-20"
10125
+ "[&:has([aria-selected])]:bg-muted"
10108
10126
  ),
10109
10127
  day: cn(
10110
10128
  buttonVariantsBase({ variant: "ghost" }),
10111
- "w-full h-full p-0",
10112
- "aria-selected:opacity-100 hover:bg-muted flex items-center justify-center",
10113
- " transition-all duration-200 ease-out hover:scale-105 active:scale-95"
10129
+ "w-full h-full p-0 m-0 flex items-center justify-center text-[clamp(0.775rem,1.2vw,0.95rem)] sm:text-sm",
10130
+ "aria-selected:opacity-100 hover:bg-muted transition-all duration-150 ease-out active:scale-95"
10114
10131
  ),
10115
10132
  day_selected: "bg-primary text-primary-foreground hover:bg-primary/90 focus:bg-primary/90 font-semibold hover:text-white",
10116
10133
  day_today: "bg-muted text-foreground font-bold ring-2 ring-primary/30 ring-inset",
10117
- day_outside: "day-outside text-muted-foreground/40 opacity-40 aria-selected:bg-muted/50 aria-selected:text-foreground",
10134
+ day_outside: "text-muted-foreground/40 opacity-60 aria-selected:bg-muted/50 aria-selected:text-foreground",
10118
10135
  day_disabled: "text-muted-foreground/30 opacity-40 cursor-not-allowed",
10119
10136
  day_range_middle: "aria-selected:bg-muted aria-selected:text-foreground",
10120
10137
  day_hidden: "invisible",
@@ -10287,7 +10304,7 @@ function display12HourValue(hours) {
10287
10304
  }
10288
10305
 
10289
10306
  // src/components/picker/TimePickerInput.tsx
10290
- import { jsx as jsx64, jsxs as jsxs43 } from "react/jsx-runtime";
10307
+ import { jsx as jsx64, jsxs as jsxs44 } from "react/jsx-runtime";
10291
10308
  var TimePickerInput = React40.forwardRef(
10292
10309
  ({
10293
10310
  className,
@@ -10374,7 +10391,7 @@ var TimePickerInput = React40.forwardRef(
10374
10391
  const baseLabel = getPickerLabel();
10375
10392
  return `${baseLabel}, valor atual: ${calculatedValue}.`;
10376
10393
  };
10377
- return /* @__PURE__ */ jsxs43("div", { className: "relative group flex flex-col items-center", children: [
10394
+ return /* @__PURE__ */ jsxs44("div", { className: "relative group flex flex-col items-center", children: [
10378
10395
  getPickerLabel() && /* @__PURE__ */ jsx64(
10379
10396
  "label",
10380
10397
  {
@@ -10383,7 +10400,7 @@ var TimePickerInput = React40.forwardRef(
10383
10400
  children: getPickerLabel()
10384
10401
  }
10385
10402
  ),
10386
- /* @__PURE__ */ jsxs43(
10403
+ /* @__PURE__ */ jsxs44(
10387
10404
  "div",
10388
10405
  {
10389
10406
  className: cn(
@@ -10410,7 +10427,7 @@ var TimePickerInput = React40.forwardRef(
10410
10427
  children: /* @__PURE__ */ jsx64(CaretUpIcon2, { size: 14, className: "sm:w-4 sm:h-4" })
10411
10428
  }
10412
10429
  ),
10413
- /* @__PURE__ */ jsxs43("div", { className: "relative", children: [
10430
+ /* @__PURE__ */ jsxs44("div", { className: "relative", children: [
10414
10431
  /* @__PURE__ */ jsx64(
10415
10432
  "input",
10416
10433
  {
@@ -10486,7 +10503,7 @@ var TimePickerInput = React40.forwardRef(
10486
10503
  TimePickerInput.displayName = "TimePickerInput";
10487
10504
 
10488
10505
  // src/components/picker/TimePicker.tsx
10489
- import { Fragment as Fragment8, jsx as jsx65, jsxs as jsxs44 } from "react/jsx-runtime";
10506
+ import { Fragment as Fragment8, jsx as jsx65, jsxs as jsxs45 } from "react/jsx-runtime";
10490
10507
  function TimePicker({
10491
10508
  date,
10492
10509
  setDate,
@@ -10511,7 +10528,7 @@ function TimePicker({
10511
10528
  hidden: { opacity: 0, y: 10 },
10512
10529
  visible: { opacity: 1, y: 0 }
10513
10530
  };
10514
- return /* @__PURE__ */ jsxs44(
10531
+ return /* @__PURE__ */ jsxs45(
10515
10532
  motion14.div,
10516
10533
  {
10517
10534
  variants: containerVariants,
@@ -10584,7 +10601,7 @@ function TimePicker({
10584
10601
 
10585
10602
  // src/components/picker/DateTimePicker.tsx
10586
10603
  import { CalendarBlankIcon, ClockIcon } from "@phosphor-icons/react";
10587
- import { jsx as jsx66, jsxs as jsxs45 } from "react/jsx-runtime";
10604
+ import { jsx as jsx66, jsxs as jsxs46 } from "react/jsx-runtime";
10588
10605
  function DateTimePicker({
10589
10606
  label,
10590
10607
  date,
@@ -10640,23 +10657,40 @@ function DateTimePicker({
10640
10657
  setInternalDate(date);
10641
10658
  }
10642
10659
  }, [date, open]);
10643
- return /* @__PURE__ */ jsxs45("div", { className: cn("space-y-2 w-full sm:w-auto", className), children: [
10660
+ return /* @__PURE__ */ jsxs46("div", { className: cn("space-y-2 w-full sm:w-auto", className), children: [
10644
10661
  label && /* @__PURE__ */ jsx66(LabelBase_default, { children: label }),
10645
- /* @__PURE__ */ jsxs45(PopoverBase, { open, onOpenChange: setOpen, children: [
10646
- /* @__PURE__ */ jsx66(PopoverTriggerBase, { disabled, asChild: true, children: /* @__PURE__ */ jsxs45(
10647
- ButtonBase,
10662
+ /* @__PURE__ */ jsxs46(PopoverBase, { open, onOpenChange: setOpen, children: [
10663
+ /* @__PURE__ */ jsx66(
10664
+ PopoverTriggerBase,
10648
10665
  {
10649
- variant: "outline",
10650
- className: cn(
10651
- "w-full justify-start text-left min-w-0 overflow-hidden",
10652
- !date && "text-muted-foreground/"
10653
- ),
10654
- children: [
10655
- /* @__PURE__ */ jsx66("span", { className: "truncate flex-1", children: date ? format(date, getDisplayFormat(), { locale: ptBR }) : "Selecione uma data" }),
10656
- /* @__PURE__ */ jsx66(CalendarBlankIcon, { className: "flex-shrink-0 w-5 h-5 sm:w-6 sm:h-6" })
10657
- ]
10666
+ disabled,
10667
+ asChild: true,
10668
+ className: cn(error && "border-red-500"),
10669
+ children: /* @__PURE__ */ jsxs46(
10670
+ ButtonBase,
10671
+ {
10672
+ variant: "outline",
10673
+ className: cn(
10674
+ "w-full justify-start text-left min-w-0 overflow-hidden ",
10675
+ !date && "text-muted-foreground"
10676
+ ),
10677
+ children: [
10678
+ /* @__PURE__ */ jsx66(
10679
+ "span",
10680
+ {
10681
+ className: cn(
10682
+ "truncate flex-1",
10683
+ !date && "text-muted-foreground"
10684
+ ),
10685
+ children: date ? format(date, getDisplayFormat(), { locale: ptBR }) : "Selecione uma data"
10686
+ }
10687
+ ),
10688
+ /* @__PURE__ */ jsx66(CalendarBlankIcon, { className: "flex-shrink-0 w-5 h-5 sm:w-6 sm:h-6" })
10689
+ ]
10690
+ }
10691
+ )
10658
10692
  }
10659
- ) }),
10693
+ ),
10660
10694
  /* @__PURE__ */ jsx66(ErrorMessage_default, { error }),
10661
10695
  /* @__PURE__ */ jsx66(
10662
10696
  PopoverContentBase,
@@ -10667,7 +10701,7 @@ function DateTimePicker({
10667
10701
  side: "bottom",
10668
10702
  avoidCollisions: true,
10669
10703
  collisionPadding: 8,
10670
- children: /* @__PURE__ */ jsxs45("div", { className: "flex flex-col space-y-2 sm:space-y-3 p-2 sm:p-3 md:p-4 max-h-[calc(100vh-4rem)] overflow-y-auto", children: [
10704
+ children: /* @__PURE__ */ jsxs46("div", { className: "flex flex-col space-y-2 sm:space-y-3 p-2 sm:p-3 md:p-4 max-h-[calc(100vh-4rem)] overflow-y-auto", children: [
10671
10705
  /* @__PURE__ */ jsx66(
10672
10706
  CalendarBase2,
10673
10707
  {
@@ -10676,6 +10710,7 @@ function DateTimePicker({
10676
10710
  selected: internalDate,
10677
10711
  onSelect: (d) => handleSelect(d),
10678
10712
  initialFocus: true,
10713
+ defaultMonth: fromDate ?? toDate ?? internalDate,
10679
10714
  fromDate,
10680
10715
  toDate,
10681
10716
  className: cn(
@@ -10684,13 +10719,13 @@ function DateTimePicker({
10684
10719
  )
10685
10720
  }
10686
10721
  ),
10687
- !hideTime && !(hideHour && hideMinute) && /* @__PURE__ */ jsx66("div", { className: "flex justify-center w-full px-2", children: /* @__PURE__ */ jsxs45(
10722
+ !hideTime && !(hideHour && hideMinute) && /* @__PURE__ */ jsx66("div", { className: "flex justify-center w-full px-2", children: /* @__PURE__ */ jsxs46(
10688
10723
  PopoverBase,
10689
10724
  {
10690
10725
  open: timePickerOpen,
10691
10726
  onOpenChange: setTimePickerOpen,
10692
10727
  children: [
10693
- /* @__PURE__ */ jsx66(PopoverTriggerBase, { asChild: true, children: /* @__PURE__ */ jsxs45(
10728
+ /* @__PURE__ */ jsx66(PopoverTriggerBase, { asChild: true, children: /* @__PURE__ */ jsxs46(
10694
10729
  ButtonBase,
10695
10730
  {
10696
10731
  variant: "outline",
@@ -10722,7 +10757,7 @@ function DateTimePicker({
10722
10757
  sideOffset: 8,
10723
10758
  avoidCollisions: true,
10724
10759
  collisionPadding: 8,
10725
- children: /* @__PURE__ */ jsxs45("div", { className: "flex flex-col items-center space-y-2 sm:space-y-3", children: [
10760
+ children: /* @__PURE__ */ jsxs46("div", { className: "flex flex-col items-center space-y-2 sm:space-y-3", children: [
10726
10761
  /* @__PURE__ */ jsx66("h4", { className: "text-sm sm:text-base font-medium text-center", children: "Alterar Hor\xE1rio" }),
10727
10762
  /* @__PURE__ */ jsx66(
10728
10763
  TimePicker,
@@ -10760,6 +10795,8 @@ import * as React42 from "react";
10760
10795
  import {
10761
10796
  DayPicker as DayPicker3
10762
10797
  } from "react-day-picker";
10798
+ import ptBR2 from "date-fns/locale/pt-BR";
10799
+ import { format as format2 } from "date-fns";
10763
10800
  import {
10764
10801
  CaretLeftIcon as CaretLeftIcon3,
10765
10802
  CaretRightIcon as CaretRightIcon5,
@@ -10767,7 +10804,8 @@ import {
10767
10804
  } from "@phosphor-icons/react";
10768
10805
  import { motion as motion15, AnimatePresence as AnimatePresence11, useAnimation } from "framer-motion";
10769
10806
  import { CalendarDotIcon } from "@phosphor-icons/react/dist/ssr";
10770
- import { jsx as jsx67, jsxs as jsxs46 } from "react/jsx-runtime";
10807
+ import { jsx as jsx67, jsxs as jsxs47 } from "react/jsx-runtime";
10808
+ var dateFnsLocale = ptBR2?.default ?? ptBR2;
10771
10809
  function RangePicker({
10772
10810
  value,
10773
10811
  onChange,
@@ -10790,14 +10828,14 @@ function RangePicker({
10790
10828
  setRange(void 0);
10791
10829
  onChange?.(void 0);
10792
10830
  };
10793
- return /* @__PURE__ */ jsxs46(PopoverBase, { open, onOpenChange: setOpen, children: [
10831
+ return /* @__PURE__ */ jsxs47(PopoverBase, { open, onOpenChange: setOpen, children: [
10794
10832
  /* @__PURE__ */ jsx67(PopoverTriggerBase, { asChild: true, children: /* @__PURE__ */ jsx67(
10795
10833
  motion15.div,
10796
10834
  {
10797
10835
  whileTap: { scale: 0.97 },
10798
10836
  whileHover: { scale: open ? 1.03 : 1.01 },
10799
10837
  transition: { type: "spring", stiffness: 300, damping: 20 },
10800
- children: /* @__PURE__ */ jsxs46(
10838
+ children: /* @__PURE__ */ jsxs47(
10801
10839
  ButtonBase,
10802
10840
  {
10803
10841
  variant: "outline",
@@ -10809,7 +10847,9 @@ function RangePicker({
10809
10847
  className: "text-sm font-medium",
10810
10848
  transition: { duration: 0.2 },
10811
10849
  animate: controls,
10812
- children: range?.from && range?.to ? `${range.from.toLocaleDateString()} - ${range.to.toLocaleDateString()}` : label
10850
+ children: range?.from && range?.to ? `${format2(range.from, "P", {
10851
+ locale: dateFnsLocale
10852
+ })} - ${format2(range.to, "P", { locale: dateFnsLocale })}` : label
10813
10853
  }
10814
10854
  ),
10815
10855
  /* @__PURE__ */ jsx67(
@@ -10831,7 +10871,7 @@ function RangePicker({
10831
10871
  {
10832
10872
  asChild: true,
10833
10873
  className: "w-auto min-w-[250px] p-0 shadow-xl overflow-y-hidden",
10834
- children: /* @__PURE__ */ jsxs46(
10874
+ children: /* @__PURE__ */ jsxs47(
10835
10875
  motion15.div,
10836
10876
  {
10837
10877
  initial: { opacity: 0, y: 16 },
@@ -10853,46 +10893,42 @@ function RangePicker({
10853
10893
  mode: "range",
10854
10894
  selected: range,
10855
10895
  onSelect: handleSelect,
10896
+ locale: dateFnsLocale,
10856
10897
  showOutsideDays: true,
10857
10898
  fromDate: minDate,
10858
10899
  toDate: maxDate,
10859
10900
  className: "min-w-0 flex flex-col",
10860
10901
  classNames: {
10861
- months: "flex items-center flex-col sm:flex-row space-y-2 sm:space-x-2 sm:space-y-0 flex-1",
10862
- month: "space-y-2 min-w-0 flex-1 flex flex-col",
10863
- caption: "flex justify-center pt-1 relative items-center h-[10%] min-h-[2rem] mb-2",
10864
- caption_label: "text-[clamp(0.875rem,2.5vw,1.25rem)] font-semibold truncate px-10 tracking-tight",
10865
- nav: "space-x-1 flex items-center",
10902
+ months: "flex flex-col sm:flex-row gap-3 sm:gap-4 w-full",
10903
+ month: "flex-1 min-w-0",
10904
+ caption: "flex items-center justify-between gap-2 pr-1 min-h-[2.25rem] mb-2",
10905
+ caption_label: "text-[clamp(0.85rem,1.4vw,1.125rem)] sm:text-[clamp(0.9rem,1.6vw,1.125rem)] font-semibold capitalize text-left",
10906
+ nav: "flex items-center gap-2",
10866
10907
  nav_button: cn(
10867
10908
  buttonVariantsBase({ variant: "outline" }),
10868
- "h-8 w-8 bg-background p-0 opacity-60 hover:opacity-100 hover:bg-muted flex-shrink-0 touch-manipulation transition-all duration-200 ease-out hover:scale-105 active:scale-95",
10869
- "[@media(min-width:400px)]:h-9 [@media(min-width:400px)]:w-9"
10909
+ "h-8 w-8 sm:h-9 sm:w-9 md:h-10 md:w-10 flex items-center justify-center p-0 rounded-md transition-transform duration-150 ease-out focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary/40 active:scale-95"
10870
10910
  ),
10871
- nav_button_previous: "absolute left-0",
10872
- nav_button_next: "absolute right-0",
10873
- table: "w-full border-collapse min-w-0 flex-1 flex flex-col",
10874
- head_row: "flex w-full gap-1 mb-1",
10875
- head_cell: "text-muted-foreground rounded-md flex-1 min-w-0 font-semibold text-[clamp(0.625rem,1.5vw,0.75rem)] text-center pb-1 uppercase tracking-wider",
10876
- row: "flex w-full flex-1 gap-1",
10911
+ nav_button_previous: "",
10912
+ nav_button_next: "",
10913
+ table: "w-full min-w-0 flex-1 grid grid-rows-[auto_1fr] gap-2",
10914
+ head_row: "grid grid-cols-7 gap-1 mb-1",
10915
+ head_cell: "text-muted-foreground rounded-md font-semibold text-[clamp(0.575rem,1.2vw,0.75rem)] sm:text-[clamp(0.65rem,1.1vw,0.825rem)] text-center pb-1 uppercase tracking-wider",
10916
+ row: "grid grid-cols-7 gap-1",
10877
10917
  cell: cn(
10878
- "flex-1 min-w-0 aspect-square text-center relative",
10918
+ "min-w-0 h-9 p-0 relative flex items-center justify-center",
10879
10919
  "[&:has([aria-selected].day-range-end)]:rounded-r-lg",
10880
10920
  "[&:has([aria-selected].day-range-start)]:rounded-l-lg",
10881
10921
  "[&:has([aria-selected].day-outside)]:bg-muted/50",
10882
- "[&:has([aria-selected])]:bg-muted",
10883
- "first:[&:has([aria-selected])]:rounded-l-lg",
10884
- "last:[&:has([aria-selected])]:rounded-r-lg",
10885
- "focus-within:relative focus-within:z-20"
10922
+ "[&:has([aria-selected])]:bg-muted"
10886
10923
  ),
10887
10924
  day: cn(
10888
10925
  buttonVariantsBase({ variant: "ghost" }),
10889
- "w-full h-full min-w-9",
10890
- "aria-selected:opacity-100 hover:bg-muted flex items-center justify-center p-1",
10891
- "transition-all duration-200 ease-out !scale-100 aria-selected:!scale-100 hover:!scale-100 active:!scale-100"
10926
+ "w-full h-full p-0 m-0 flex items-center justify-center text-[clamp(0.775rem,1.2vw,0.95rem)] sm:text-sm",
10927
+ "aria-selected:opacity-100 hover:bg-muted transition-all duration-150 ease-out active:scale-95"
10892
10928
  ),
10893
- day_selected: "bg-primary text-primary-foreground hover:bg-primary/90 focus:bg-primary/90 font-semibold hover:text-white !scale-100 p-1 !border-0 !outline-none",
10894
- day_today: "bg-muted text-foreground font-bold ring-2 ring-primary/50 ring-inset p-1 !border-0 !outline-none",
10895
- day_outside: "day-outside text-muted-foreground/40 opacity-40 aria-selected:bg-muted/50 aria-selected:text-foreground",
10929
+ day_selected: "bg-primary text-primary-foreground hover:bg-primary/90 focus:bg-primary/90 font-semibold hover:text-white",
10930
+ day_today: "bg-muted text-foreground font-bold ring-2 ring-primary/30 ring-inset",
10931
+ day_outside: "text-muted-foreground/40 opacity-60 aria-selected:bg-muted/50 aria-selected:text-foreground",
10896
10932
  day_disabled: "text-muted-foreground/30 opacity-40 cursor-not-allowed",
10897
10933
  day_range_middle: "aria-selected:bg-muted aria-selected:text-foreground",
10898
10934
  day_hidden: "invisible"
@@ -10905,7 +10941,7 @@ function RangePicker({
10905
10941
  )
10906
10942
  }
10907
10943
  ) }),
10908
- /* @__PURE__ */ jsxs46("div", { className: "flex justify-end gap-2 px-4 pb-4", children: [
10944
+ /* @__PURE__ */ jsxs47("div", { className: "flex justify-end gap-2 px-4 pb-4", children: [
10909
10945
  /* @__PURE__ */ jsx67("div", { style: { display: "inline-block" }, children: /* @__PURE__ */ jsx67(
10910
10946
  motion15.div,
10911
10947
  {
@@ -10972,7 +11008,7 @@ RangePicker.displayName = "RangePicker";
10972
11008
  // src/components/ui/navigation/ContextMenuBase.tsx
10973
11009
  import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
10974
11010
  import { CaretRightIcon as CaretRightIcon6, CheckIcon as CheckIcon9, CircleIcon as CircleIcon2 } from "@phosphor-icons/react";
10975
- import { jsx as jsx68, jsxs as jsxs47 } from "react/jsx-runtime";
11011
+ import { jsx as jsx68, jsxs as jsxs48 } from "react/jsx-runtime";
10976
11012
  function ContextMenuBase(props) {
10977
11013
  return /* @__PURE__ */ jsx68(ContextMenuPrimitive.Root, { "data-slot": "context-menu", ...props });
10978
11014
  }
@@ -10997,7 +11033,7 @@ function ContextMenuSubTriggerBase({
10997
11033
  children,
10998
11034
  ...props
10999
11035
  }) {
11000
- return /* @__PURE__ */ jsxs47(
11036
+ return /* @__PURE__ */ jsxs48(
11001
11037
  ContextMenuPrimitive.SubTrigger,
11002
11038
  {
11003
11039
  "data-slot": "context-menu-sub-trigger",
@@ -11093,7 +11129,7 @@ function ContextMenuCheckboxItemBase({
11093
11129
  checked,
11094
11130
  ...props
11095
11131
  }) {
11096
- return /* @__PURE__ */ jsxs47(
11132
+ return /* @__PURE__ */ jsxs48(
11097
11133
  ContextMenuPrimitive.CheckboxItem,
11098
11134
  {
11099
11135
  "data-slot": "context-menu-checkbox-item",
@@ -11119,7 +11155,7 @@ function ContextMenuRadioItemBase({
11119
11155
  children,
11120
11156
  ...props
11121
11157
  }) {
11122
- return /* @__PURE__ */ jsxs47(
11158
+ return /* @__PURE__ */ jsxs48(
11123
11159
  ContextMenuPrimitive.RadioItem,
11124
11160
  {
11125
11161
  "data-slot": "context-menu-radio-item",
@@ -11181,6 +11217,320 @@ function ContextMenuShortcutBase({
11181
11217
  );
11182
11218
  }
11183
11219
 
11220
+ // src/components/ui/CodeBlock.tsx
11221
+ import {
11222
+ ArrowRightIcon as ArrowRightIcon3,
11223
+ ArrowsOutIcon,
11224
+ CheckIcon as CheckIcon10,
11225
+ CodeIcon,
11226
+ CopyIcon as CopyIcon2,
11227
+ DownloadIcon,
11228
+ FileArchiveIcon,
11229
+ FolderIcon,
11230
+ GearIcon as GearIcon2,
11231
+ TerminalIcon
11232
+ } from "@phosphor-icons/react";
11233
+ import React43 from "react";
11234
+ import { Prism as SyntaxHighlighter } from "react-syntax-highlighter";
11235
+ import { jsx as jsx69, jsxs as jsxs49 } from "react/jsx-runtime";
11236
+ var CodeBlock = ({
11237
+ language,
11238
+ filename,
11239
+ code,
11240
+ highlightLines = [],
11241
+ tabs = [],
11242
+ breadcrumb = [],
11243
+ showStats = true
11244
+ }) => {
11245
+ const [copied, setCopied] = React43.useState(false);
11246
+ const [activeTab, setActiveTab] = React43.useState(0);
11247
+ const [isExpanded, setIsExpanded] = React43.useState(false);
11248
+ const tabsExist = tabs.length > 0;
11249
+ const cssVars = React43.useMemo(
11250
+ () => ({
11251
+ container: {
11252
+ backgroundColor: "hsl(var(--card))",
11253
+ borderColor: "hsl(var(--border))"
11254
+ },
11255
+ header: {
11256
+ backgroundColor: "hsl(var(--popover))",
11257
+ borderBottomColor: "hsl(var(--border))"
11258
+ },
11259
+ filename: { color: "hsl(var(--card-foreground))" },
11260
+ mutedText: { color: "hsl(var(--muted-foreground))" },
11261
+ icon: { color: "hsl(var(--muted-foreground))" },
11262
+ lineNumbers: {
11263
+ color: "hsl(var(--muted-foreground))",
11264
+ borderRight: `1px solid hsl(var(--border))`
11265
+ },
11266
+ highlightBorder: `3px solid hsl(var(--primary))`
11267
+ }),
11268
+ []
11269
+ );
11270
+ const sanitizeCode = (input) => {
11271
+ if (!input) return "";
11272
+ let out = input.replace(
11273
+ /(^['"]use client['"];?\s*|\b'use client';|\b"use client";)/g,
11274
+ ""
11275
+ );
11276
+ out = out.replace(/style=\{[\s\S]*?\}/g, "");
11277
+ out = out.replace(/style=(["'`])(?:\\.|(?!\1)[\s\S])*?\1/g, "");
11278
+ return out;
11279
+ };
11280
+ const getActiveRawCode = () => (tabsExist ? tabs[activeTab].code : code) || "";
11281
+ const activeRawCode = getActiveRawCode();
11282
+ const activeCodeSanitized = sanitizeCode(activeRawCode);
11283
+ const copyToClipboard = async () => {
11284
+ const textToCopy = activeCodeSanitized;
11285
+ if (textToCopy) {
11286
+ await navigator.clipboard.writeText(textToCopy);
11287
+ setCopied(true);
11288
+ setTimeout(() => setCopied(false), 2e3);
11289
+ }
11290
+ };
11291
+ const downloadCode = () => {
11292
+ const textToDownload = activeCodeSanitized;
11293
+ const activeFilename = tabsExist ? tabs[activeTab].name : filename;
11294
+ if (textToDownload) {
11295
+ const blob = new Blob([textToDownload], { type: "text/plain" });
11296
+ const url = URL.createObjectURL(blob);
11297
+ const a = document.createElement("a");
11298
+ a.href = url;
11299
+ a.download = activeFilename;
11300
+ document.body.appendChild(a);
11301
+ a.click();
11302
+ document.body.removeChild(a);
11303
+ URL.revokeObjectURL(url);
11304
+ }
11305
+ };
11306
+ const activeLanguage = tabsExist ? tabs[activeTab].language || language : language;
11307
+ const activeHighlightLines = tabsExist ? tabs[activeTab].highlightLines || [] : highlightLines;
11308
+ const getLanguageIcon = (lang) => {
11309
+ switch (lang.toLowerCase()) {
11310
+ case "javascript":
11311
+ case "jsx":
11312
+ case "typescript":
11313
+ case "tsx":
11314
+ return /* @__PURE__ */ jsx69(CodeIcon, { size: "1em", className: "text-yellow-400" });
11315
+ case "bash":
11316
+ case "shell":
11317
+ return /* @__PURE__ */ jsx69(TerminalIcon, { size: "1em", className: "text-green-400" });
11318
+ default:
11319
+ return /* @__PURE__ */ jsx69(FileArchiveIcon, { size: "1em", className: "text-blue-400" });
11320
+ }
11321
+ };
11322
+ const getCodeStats = (source) => {
11323
+ const lines = source.split("\n").length;
11324
+ const chars = source.length;
11325
+ const words = source.split(/\s+/).filter((word) => word.length > 0).length;
11326
+ return { lines, chars, words };
11327
+ };
11328
+ const stats = showStats ? getCodeStats(activeCodeSanitized) : null;
11329
+ return /* @__PURE__ */ jsxs49(
11330
+ "div",
11331
+ {
11332
+ className: `relative w-full rounded-xl overflow-hidden shadow-sm border no-underline-code`,
11333
+ style: cssVars.container,
11334
+ children: [
11335
+ /* @__PURE__ */ jsx69("style", { children: `.no-underline-code a { text-decoration: none !important; text-shadow: none !important; box-shadow: none !important; } .no-underline-code code a { text-decoration: none !important; }` }),
11336
+ /* @__PURE__ */ jsxs49("div", { className: `flex items-stretch min-h-[3rem]`, style: cssVars.header, children: [
11337
+ /* @__PURE__ */ jsxs49("div", { className: "flex-1 flex items-center min-w-0 px-3", children: [
11338
+ /* @__PURE__ */ jsxs49("div", { className: "flex gap-2 mr-3 shrink-0", children: [
11339
+ /* @__PURE__ */ jsx69("div", { className: "w-3 h-3 rounded-full bg-red-500" }),
11340
+ /* @__PURE__ */ jsx69("div", { className: "w-3 h-3 rounded-full bg-yellow-500" }),
11341
+ /* @__PURE__ */ jsx69("div", { className: "w-3 h-3 rounded-full bg-green-500" })
11342
+ ] }),
11343
+ breadcrumb.length > 0 && /* @__PURE__ */ jsxs49("div", { className: "flex items-center min-w-0", children: [
11344
+ /* @__PURE__ */ jsx69(FolderIcon, { size: "1em", style: cssVars.icon }),
11345
+ /* @__PURE__ */ jsx69("div", { className: "flex items-center min-w-0 ml-2", children: breadcrumb.map((crumb, index) => /* @__PURE__ */ jsxs49(React43.Fragment, { children: [
11346
+ /* @__PURE__ */ jsx69(
11347
+ "span",
11348
+ {
11349
+ className: "text-xs truncate",
11350
+ style: cssVars.mutedText,
11351
+ children: crumb
11352
+ }
11353
+ ),
11354
+ index < breadcrumb.length - 1 && /* @__PURE__ */ jsx69(
11355
+ ArrowRightIcon3,
11356
+ {
11357
+ size: "0.75em",
11358
+ style: cssVars.icon,
11359
+ className: "shrink-0 mx-1"
11360
+ }
11361
+ )
11362
+ ] }, index)) })
11363
+ ] })
11364
+ ] }),
11365
+ /* @__PURE__ */ jsxs49("div", { className: "flex items-center justify-end shrink-0 px-2", children: [
11366
+ stats && /* @__PURE__ */ jsxs49(
11367
+ "div",
11368
+ {
11369
+ className: `text-xs mx-2 truncate hidden md:block`,
11370
+ style: cssVars.mutedText,
11371
+ children: [
11372
+ stats.lines,
11373
+ "L \u2022 ",
11374
+ stats.words,
11375
+ "W"
11376
+ ]
11377
+ }
11378
+ ),
11379
+ /* @__PURE__ */ jsxs49("div", { className: "flex", children: [
11380
+ /* @__PURE__ */ jsx69(
11381
+ "button",
11382
+ {
11383
+ onClick: () => setIsExpanded(!isExpanded),
11384
+ className: `p-2 transition-colors hover:bg-gray-200 dark:hover:bg-slate-700`,
11385
+ title: "Toggle fullscreen",
11386
+ children: /* @__PURE__ */ jsx69(ArrowsOutIcon, { size: "1em", style: cssVars.icon })
11387
+ }
11388
+ ),
11389
+ /* @__PURE__ */ jsx69(
11390
+ "button",
11391
+ {
11392
+ onClick: downloadCode,
11393
+ className: `p-2 transition-colors hover:bg-gray-200 dark:hover:bg-slate-700`,
11394
+ title: "Download code",
11395
+ children: /* @__PURE__ */ jsx69(DownloadIcon, { size: "1em", style: cssVars.icon })
11396
+ }
11397
+ ),
11398
+ /* @__PURE__ */ jsx69(
11399
+ "button",
11400
+ {
11401
+ onClick: copyToClipboard,
11402
+ className: `p-2 transition-colors hover:bg-gray-200 dark:hover:bg-slate-700`,
11403
+ title: "Copy code",
11404
+ children: copied ? /* @__PURE__ */ jsx69(
11405
+ CheckIcon10,
11406
+ {
11407
+ size: "1em",
11408
+ style: { color: "hsl(var(--primary))" }
11409
+ }
11410
+ ) : /* @__PURE__ */ jsx69(CopyIcon2, { size: "1em", style: cssVars.icon })
11411
+ }
11412
+ )
11413
+ ] })
11414
+ ] })
11415
+ ] }),
11416
+ tabsExist && /* @__PURE__ */ jsx69(
11417
+ "div",
11418
+ {
11419
+ className: `flex border-b overflow-x-auto`,
11420
+ style: {
11421
+ borderColor: "hsl(var(--border))",
11422
+ backgroundColor: "hsl(var(--popover))"
11423
+ },
11424
+ children: tabs.map((tab, index) => /* @__PURE__ */ jsxs49(
11425
+ "button",
11426
+ {
11427
+ onClick: () => setActiveTab(index),
11428
+ className: `flex items-center gap-2 px-4 py-2 text-sm transition-all duration-200 border-b-2 shrink-0 ${activeTab === index ? "border-blue-500" : "border-transparent"}`,
11429
+ style: activeTab === index ? {
11430
+ backgroundColor: "hsl(var(--card))",
11431
+ color: "hsl(var(--card-foreground))"
11432
+ } : void 0,
11433
+ children: [
11434
+ getLanguageIcon(tab.language || language),
11435
+ /* @__PURE__ */ jsx69("span", { className: "truncate max-w-[10rem]", children: tab.name })
11436
+ ]
11437
+ },
11438
+ index
11439
+ ))
11440
+ }
11441
+ ),
11442
+ !tabsExist && filename && /* @__PURE__ */ jsx69(
11443
+ "div",
11444
+ {
11445
+ className: "flex items-center px-3 py-2 border-b",
11446
+ style: {
11447
+ borderColor: "hsl(var(--border))",
11448
+ backgroundColor: "hsl(var(--popover))"
11449
+ },
11450
+ children: /* @__PURE__ */ jsxs49("div", { className: "flex items-center gap-2 min-w-0", children: [
11451
+ getLanguageIcon(language),
11452
+ /* @__PURE__ */ jsx69(
11453
+ "span",
11454
+ {
11455
+ className: "text-sm font-medium truncate",
11456
+ style: cssVars.filename,
11457
+ children: filename
11458
+ }
11459
+ )
11460
+ ] })
11461
+ }
11462
+ ),
11463
+ /* @__PURE__ */ jsx69(
11464
+ "div",
11465
+ {
11466
+ className: `relative ${isExpanded ? "max-h-screen overflow-auto" : "max-h-96 overflow-auto"}`,
11467
+ children: /* @__PURE__ */ jsx69(
11468
+ SyntaxHighlighter,
11469
+ {
11470
+ language: activeLanguage,
11471
+ customStyle: {
11472
+ margin: 0,
11473
+ padding: "1rem",
11474
+ fontSize: "0.875rem",
11475
+ lineHeight: "1.5",
11476
+ backgroundColor: "hsl(var(--card))"
11477
+ },
11478
+ wrapLines: true,
11479
+ showLineNumbers: true,
11480
+ lineNumberStyle: {
11481
+ ...cssVars.lineNumbers,
11482
+ minWidth: "3em",
11483
+ paddingRight: "1em",
11484
+ marginRight: "1em"
11485
+ },
11486
+ lineProps: (lineNumber) => ({
11487
+ style: {
11488
+ backgroundColor: activeHighlightLines.includes(lineNumber) ? "hsl(var(--highlight))" : "transparent",
11489
+ display: "block",
11490
+ width: "100%",
11491
+ borderLeft: activeHighlightLines.includes(lineNumber) ? cssVars.highlightBorder : "none",
11492
+ paddingLeft: "0.5rem"
11493
+ }
11494
+ }),
11495
+ PreTag: "div",
11496
+ children: String(activeCodeSanitized)
11497
+ }
11498
+ )
11499
+ }
11500
+ ),
11501
+ showStats && stats && /* @__PURE__ */ jsxs49(
11502
+ "div",
11503
+ {
11504
+ className: "px-3 py-2 border-t text-xs flex items-center justify-between min-h-[2.5rem]",
11505
+ style: {
11506
+ borderTopColor: "hsl(var(--border))",
11507
+ backgroundColor: "hsl(var(--popover))",
11508
+ color: "hsl(var(--muted-foreground))"
11509
+ },
11510
+ children: [
11511
+ /* @__PURE__ */ jsxs49("div", { className: "flex items-center gap-3 min-w-0", children: [
11512
+ /* @__PURE__ */ jsx69("span", { className: "truncate", children: activeLanguage.toUpperCase() }),
11513
+ /* @__PURE__ */ jsxs49("span", { className: "truncate hidden sm:inline", children: [
11514
+ stats.lines,
11515
+ " lines"
11516
+ ] }),
11517
+ /* @__PURE__ */ jsxs49("span", { className: "truncate hidden md:inline", children: [
11518
+ stats.chars,
11519
+ " chars"
11520
+ ] })
11521
+ ] }),
11522
+ /* @__PURE__ */ jsxs49("div", { className: "flex items-center gap-1 shrink-0", children: [
11523
+ /* @__PURE__ */ jsx69(GearIcon2, { size: "0.75em", style: cssVars.icon }),
11524
+ /* @__PURE__ */ jsx69("span", { children: "UTF-8" })
11525
+ ] })
11526
+ ]
11527
+ }
11528
+ )
11529
+ ]
11530
+ }
11531
+ );
11532
+ };
11533
+
11184
11534
  // src/hooks/use-drag.tsx
11185
11535
  import { useState as useState20, useCallback as useCallback12, useRef as useRef8, useEffect as useEffect18 } from "react";
11186
11536
  var useDrag = (options = {}) => {
@@ -11303,6 +11653,7 @@ export {
11303
11653
  CheckboxBase,
11304
11654
  CloseAllButton_default as CloseAllButton,
11305
11655
  CloseButton,
11656
+ CodeBlock,
11306
11657
  CollapsibleBase,
11307
11658
  CollapsibleContentBase,
11308
11659
  CollapsibleTriggerBase,