@ceed/cds 1.34.1 → 1.36.0-next.1

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.
Files changed (120) hide show
  1. package/dist/components/Accordions/Accordions.d.ts +1 -0
  2. package/dist/components/Alert/Alert.d.ts +5 -5
  3. package/dist/components/Autocomplete/Autocomplete.d.ts +2 -2
  4. package/dist/components/Avatar/Avatar.d.ts +7 -17
  5. package/dist/components/Box/Box.d.ts +1 -0
  6. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +6 -5
  7. package/dist/components/Button/Button.d.ts +3 -2
  8. package/dist/components/Calendar/Calendar.d.ts +1 -0
  9. package/dist/components/Card/Card.d.ts +1 -0
  10. package/dist/components/Checkbox/Checkbox.d.ts +1 -0
  11. package/dist/components/Chip/Chip.d.ts +1 -0
  12. package/dist/components/Container/Container.d.ts +6 -1
  13. package/dist/components/CurrencyInput/CurrencyInput.d.ts +1 -1
  14. package/dist/components/DialogActions/DialogActions.d.ts +1 -0
  15. package/dist/components/DialogContent/DialogContent.d.ts +1 -0
  16. package/dist/components/DialogFrame/DialogFrame.d.ts +1 -1
  17. package/dist/components/DialogTitle/DialogTitle.d.ts +1 -0
  18. package/dist/components/Divider/Divider.d.ts +1 -0
  19. package/dist/components/Drawer/Drawer.d.ts +1 -0
  20. package/dist/components/Dropdown/Dropdown.d.ts +28 -1
  21. package/dist/components/FilterableCheckboxGroup/FilterableCheckboxGroup.d.ts +1 -1
  22. package/dist/components/FormControl/FormControl.d.ts +1 -0
  23. package/dist/components/FormHelperText/FormHelperText.d.ts +1 -0
  24. package/dist/components/FormLabel/FormLabel.d.ts +1 -0
  25. package/dist/components/Grid/Grid.d.ts +1 -0
  26. package/dist/components/IconButton/IconButton.d.ts +3 -2
  27. package/dist/components/IconMenuButton/IconMenuButton.d.ts +7 -6
  28. package/dist/components/InfoSign/InfoSign.d.ts +3 -2
  29. package/dist/components/Input/Input.d.ts +8 -22
  30. package/dist/components/InsetDrawer/InsetDrawer.d.ts +1 -0
  31. package/dist/components/Markdown/Markdown.d.ts +9 -24
  32. package/dist/components/Menu/Menu.d.ts +2 -1
  33. package/dist/components/MenuButton/MenuButton.d.ts +10 -8
  34. package/dist/components/Modal/Modal.d.ts +4 -2
  35. package/dist/components/NavigationGroup/NavigationGroup.d.ts +3 -2
  36. package/dist/components/NavigationItem/NavigationItem.d.ts +3 -2
  37. package/dist/components/Navigator/Navigator.d.ts +5 -4
  38. package/dist/components/Pagination/Pagination.d.ts +2 -2
  39. package/dist/components/Radio/Radio.d.ts +1 -0
  40. package/dist/components/RadioList/RadioList.d.ts +3 -2
  41. package/dist/components/Select/Select.d.ts +12 -10
  42. package/dist/components/Sheet/Sheet.d.ts +1 -0
  43. package/dist/components/Stack/Stack.d.ts +1 -0
  44. package/dist/components/Stepper/Stepper.d.ts +2 -1
  45. package/dist/components/Switch/Switch.d.ts +1 -0
  46. package/dist/components/Table/Table.d.ts +7 -5
  47. package/dist/components/Tabs/Tabs.d.ts +1 -0
  48. package/dist/components/Textarea/Textarea.d.ts +8 -20
  49. package/dist/components/ThemeProvider/ThemeProvider.d.ts +15 -0
  50. package/dist/components/Tooltip/Tooltip.d.ts +1 -0
  51. package/dist/components/Typography/Typography.d.ts +1 -0
  52. package/dist/components/Uploader/Uploader.d.ts +18 -17
  53. package/dist/components/data-display/Avatar.md +60 -72
  54. package/dist/components/data-display/Badge.md +197 -181
  55. package/dist/components/data-display/Chip.md +164 -142
  56. package/dist/components/data-display/DataTable.md +843 -338
  57. package/dist/components/data-display/InfoSign.md +1 -3
  58. package/dist/components/data-display/Markdown.md +93 -125
  59. package/dist/components/data-display/Table.md +1453 -1007
  60. package/dist/components/data-display/Typography.md +113 -116
  61. package/dist/components/feedback/Alert.md +80 -86
  62. package/dist/components/feedback/CircularProgress.md +32 -36
  63. package/dist/components/feedback/Dialog.md +25 -17
  64. package/dist/components/feedback/Modal.md +296 -264
  65. package/dist/components/feedback/Skeleton.md +125 -89
  66. package/dist/components/index.d.ts +62 -2
  67. package/dist/components/inputs/Autocomplete.md +191 -95
  68. package/dist/components/inputs/Button.md +83 -83
  69. package/dist/components/inputs/ButtonGroup.md +195 -185
  70. package/dist/components/inputs/Calendar.md +25 -28
  71. package/dist/components/inputs/Checkbox.md +11 -29
  72. package/dist/components/inputs/CurrencyInput.md +4 -4
  73. package/dist/components/inputs/DatePicker.md +229 -110
  74. package/dist/components/inputs/DateRangePicker.md +248 -137
  75. package/dist/components/inputs/FilterableCheckboxGroup.md +115 -55
  76. package/dist/components/inputs/FormControl.md +75 -69
  77. package/dist/components/inputs/IconButton.md +229 -205
  78. package/dist/components/inputs/Input.md +131 -98
  79. package/dist/components/inputs/MonthPicker.md +186 -84
  80. package/dist/components/inputs/MonthRangePicker.md +73 -49
  81. package/dist/components/inputs/PercentageInput.md +15 -31
  82. package/dist/components/inputs/RadioButton.md +320 -256
  83. package/dist/components/inputs/RadioList.md +66 -50
  84. package/dist/components/inputs/RadioTileGroup.md +287 -170
  85. package/dist/components/inputs/SearchBar.md +82 -60
  86. package/dist/components/inputs/Select.md +106 -95
  87. package/dist/components/inputs/Slider.md +153 -102
  88. package/dist/components/inputs/Switch.md +193 -138
  89. package/dist/components/inputs/Textarea.md +15 -20
  90. package/dist/components/inputs/Uploader/Uploader.md +68 -39
  91. package/dist/components/layout/Box.md +841 -662
  92. package/dist/components/layout/Container.md +3 -11
  93. package/dist/components/layout/Grid.md +480 -394
  94. package/dist/components/layout/Stack.md +739 -566
  95. package/dist/components/navigation/Breadcrumbs.md +4 -4
  96. package/dist/components/navigation/Drawer.md +34 -25
  97. package/dist/components/navigation/Dropdown.md +745 -408
  98. package/dist/components/navigation/IconMenuButton.md +14 -6
  99. package/dist/components/navigation/InsetDrawer.md +8 -13
  100. package/dist/components/navigation/Link.md +1 -2
  101. package/dist/components/navigation/Menu.md +623 -502
  102. package/dist/components/navigation/MenuButton.md +18 -10
  103. package/dist/components/navigation/NavigationGroup.md +19 -50
  104. package/dist/components/navigation/NavigationItem.md +6 -6
  105. package/dist/components/navigation/Navigator.md +26 -28
  106. package/dist/components/navigation/Pagination.md +86 -75
  107. package/dist/components/navigation/Stepper.md +2 -12
  108. package/dist/components/navigation/Tabs.md +48 -36
  109. package/dist/components/surfaces/Accordions.md +89 -172
  110. package/dist/components/surfaces/Card.md +1094 -709
  111. package/dist/components/surfaces/Divider.md +562 -412
  112. package/dist/components/surfaces/Sheet.md +700 -518
  113. package/dist/guides/ThemeProvider.md +8 -8
  114. package/dist/index.browser.js +5 -5
  115. package/dist/index.browser.js.map +4 -4
  116. package/dist/index.cjs +1082 -1036
  117. package/dist/index.d.ts +2 -1
  118. package/dist/index.js +749 -695
  119. package/framer/index.js +1 -1
  120. package/package.json +34 -36
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  useTheme as useTheme2,
4
4
  useColorScheme,
5
- useThemeProps as useThemeProps10,
5
+ useThemeProps as useThemeProps13,
6
6
  ButtonGroup,
7
7
  alertClasses,
8
8
  boxClasses,
@@ -141,7 +141,7 @@ Accordions.displayName = "Accordions";
141
141
 
142
142
  // src/components/Alert/Alert.tsx
143
143
  import React3 from "react";
144
- import { Alert as JoyAlert, styled } from "@mui/joy";
144
+ import { Alert as JoyAlert, styled, useThemeProps } from "@mui/joy";
145
145
  import { motion as motion3 } from "framer-motion";
146
146
 
147
147
  // src/components/Typography/Typography.tsx
@@ -178,7 +178,8 @@ var contentLevelMapping = {
178
178
  md: "body-sm",
179
179
  lg: "body-md"
180
180
  };
181
- function Alert(props) {
181
+ function Alert(inProps) {
182
+ const props = useThemeProps({ props: inProps, name: "Alert" });
182
183
  const { title, content, actions, color = "primary", size = "md", ...innerProps } = props;
183
184
  const invertedColors = props.invertedColors || props.variant === "solid";
184
185
  return /* @__PURE__ */ React3.createElement(MotionAlert, { ...innerProps, color, endDecorator: actions, invertedColors, size }, /* @__PURE__ */ React3.createElement(Stack_default, null, title && /* @__PURE__ */ React3.createElement(Typography_default, { level: titleLevelMapping[size], fontWeight: "bold", color }, title), /* @__PURE__ */ React3.createElement(Typography_default, { level: contentLevelMapping[size], fontWeight: 500, color }, content)));
@@ -583,7 +584,7 @@ var Autocomplete_default = Autocomplete;
583
584
 
584
585
  // src/components/Avatar/Avatar.tsx
585
586
  import React6, { forwardRef as forwardRef2, useMemo as useMemo2 } from "react";
586
- import { Avatar as JoyAvatar, AvatarGroup, styled as styled4, useThemeProps } from "@mui/joy";
587
+ import { Avatar as JoyAvatar, AvatarGroup, styled as styled4, useThemeProps as useThemeProps2 } from "@mui/joy";
587
588
  var StyledAvatar = styled4(JoyAvatar, {
588
589
  name: "Avatar",
589
590
  slot: "Root",
@@ -605,7 +606,7 @@ var defaultGetInitial = (name) => {
605
606
  }
606
607
  };
607
608
  var Avatar = forwardRef2(function Avatar2(inProps, ref) {
608
- const props = useThemeProps({
609
+ const props = useThemeProps2({
609
610
  props: inProps,
610
611
  name: "Avatar"
611
612
  });
@@ -630,7 +631,7 @@ Box.displayName = "Box";
630
631
  var Box_default = Box;
631
632
 
632
633
  // src/components/Breadcrumbs/Breadcrumbs.tsx
633
- import React8 from "react";
634
+ import React9 from "react";
634
635
  import {
635
636
  Breadcrumbs as JoyBreadcrumbs,
636
637
  Link as JoyLink,
@@ -652,7 +653,34 @@ var MenuItem = JoyMenuItem;
652
653
  var Menu_default = Menu;
653
654
 
654
655
  // src/components/Dropdown/Dropdown.tsx
655
- import { Dropdown } from "@mui/joy";
656
+ import React8, { createContext, useCallback as useCallback3, useMemo as useMemo3, useState as useState2 } from "react";
657
+ import { Dropdown as JoyDropdown } from "@mui/joy";
658
+ import { MenuButton } from "@mui/joy";
659
+ import { useMenuButton } from "@mui/base/useMenuButton";
660
+ var DropdownNestedRegistryContext = createContext(null);
661
+ function Dropdown({ open: openProp, defaultOpen = false, onOpenChange, ...rest }) {
662
+ const [nestedCount, setNestedCount] = useState2(0);
663
+ const [open, setOpen] = useControlledState(openProp, defaultOpen);
664
+ const registry = useMemo3(
665
+ () => ({
666
+ register: () => setNestedCount((c) => c + 1),
667
+ unregister: () => setNestedCount((c) => Math.max(0, c - 1))
668
+ }),
669
+ []
670
+ );
671
+ const handleOpenChange = useCallback3(
672
+ (event, isOpen) => {
673
+ if (nestedCount > 0 && !isOpen && event?.type === "blur") {
674
+ return;
675
+ }
676
+ setOpen(isOpen);
677
+ onOpenChange?.(event, isOpen);
678
+ },
679
+ [nestedCount, setOpen, onOpenChange]
680
+ );
681
+ return /* @__PURE__ */ React8.createElement(DropdownNestedRegistryContext.Provider, { value: registry }, /* @__PURE__ */ React8.createElement(JoyDropdown, { open, onOpenChange: handleOpenChange, ...rest }));
682
+ }
683
+ Dropdown.displayName = "Dropdown";
656
684
 
657
685
  // src/components/Dropdown/index.ts
658
686
  var Dropdown_default = Dropdown;
@@ -673,29 +701,29 @@ function Breadcrumbs(props) {
673
701
  } = props;
674
702
  const Crumb = (props2) => {
675
703
  if (props2.type === "link" && Link4) {
676
- return /* @__PURE__ */ React8.createElement(Link4, { to: props2.linkHref, href: props2.linkHref, ...linkProps }, props2.label);
704
+ return /* @__PURE__ */ React9.createElement(Link4, { to: props2.linkHref, href: props2.linkHref, ...linkProps }, props2.label);
677
705
  } else {
678
- return /* @__PURE__ */ React8.createElement(Typography_default, null, props2.label);
706
+ return /* @__PURE__ */ React9.createElement(Typography_default, null, props2.label);
679
707
  }
680
708
  };
681
709
  if (!collapsed) {
682
- return /* @__PURE__ */ React8.createElement(JoyBreadcrumbs, { size, slots: restSlots, slotProps: restSlotProps, ...innerProps }, crumbs.map((crumb, index) => /* @__PURE__ */ React8.createElement(Crumb, { key: `breadcrumb-${index}`, ...crumb })));
710
+ return /* @__PURE__ */ React9.createElement(JoyBreadcrumbs, { size, slots: restSlots, slotProps: restSlotProps, ...innerProps }, crumbs.map((crumb, index) => /* @__PURE__ */ React9.createElement(Crumb, { key: `breadcrumb-${index}`, ...crumb })));
683
711
  }
684
712
  const _endCrumbCount = Math.max(1, endCrumbCount);
685
- const frontCrumbs = crumbs.slice(0, startCrumbCount).map((crumb) => /* @__PURE__ */ React8.createElement(Crumb, { key: `breadcrumb-${crumb.label}`, ...crumb }));
686
- const backCrumbs = (startCrumbCount + _endCrumbCount > crumbs.length ? crumbs.slice(startCrumbCount) : crumbs.slice(-_endCrumbCount)).map((crumb) => /* @__PURE__ */ React8.createElement(Crumb, { key: `breadcrumb-${crumb.label}`, ...crumb }));
687
- const collapsedCrumbs = crumbs.slice(startCrumbCount, -_endCrumbCount).map((crumb) => /* @__PURE__ */ React8.createElement(MenuItem, { key: `breadcrumb-${crumb.label}` }, /* @__PURE__ */ React8.createElement(Crumb, { ...crumb })));
688
- return /* @__PURE__ */ React8.createElement(JoyBreadcrumbs, { size, slots: restSlots, slotProps: restSlotProps, ...innerProps }, frontCrumbs, collapsedCrumbs.length && /* @__PURE__ */ React8.createElement(Dropdown_default, null, /* @__PURE__ */ React8.createElement(JoyMenuButton, { size, variant: "plain" }, "..."), /* @__PURE__ */ React8.createElement(Menu_default, { size }, collapsedCrumbs)), backCrumbs);
713
+ const frontCrumbs = crumbs.slice(0, startCrumbCount).map((crumb) => /* @__PURE__ */ React9.createElement(Crumb, { key: `breadcrumb-${crumb.label}`, ...crumb }));
714
+ const backCrumbs = (startCrumbCount + _endCrumbCount > crumbs.length ? crumbs.slice(startCrumbCount) : crumbs.slice(-_endCrumbCount)).map((crumb) => /* @__PURE__ */ React9.createElement(Crumb, { key: `breadcrumb-${crumb.label}`, ...crumb }));
715
+ const collapsedCrumbs = crumbs.slice(startCrumbCount, -_endCrumbCount).map((crumb) => /* @__PURE__ */ React9.createElement(MenuItem, { key: `breadcrumb-${crumb.label}` }, /* @__PURE__ */ React9.createElement(Crumb, { ...crumb })));
716
+ return /* @__PURE__ */ React9.createElement(JoyBreadcrumbs, { size, slots: restSlots, slotProps: restSlotProps, ...innerProps }, frontCrumbs, collapsedCrumbs.length && /* @__PURE__ */ React9.createElement(Dropdown_default, null, /* @__PURE__ */ React9.createElement(JoyMenuButton, { size, variant: "plain" }, "..."), /* @__PURE__ */ React9.createElement(Menu_default, { size }, collapsedCrumbs)), backCrumbs);
689
717
  }
690
718
  Breadcrumbs.displayName = "Breadcrumbs";
691
719
 
692
720
  // src/components/Button/Button.tsx
693
- import React9, { forwardRef as forwardRef3 } from "react";
721
+ import React10, { forwardRef as forwardRef3 } from "react";
694
722
  import { Button as JoyButton } from "@mui/joy";
695
723
  import { motion as motion11 } from "framer-motion";
696
724
  var MotionButton = motion11(JoyButton);
697
725
  var Button = forwardRef3(({ ...props }, ref) => {
698
- return /* @__PURE__ */ React9.createElement(MotionButton, { ref, ...props });
726
+ return /* @__PURE__ */ React10.createElement(MotionButton, { ref, ...props });
699
727
  });
700
728
  Button.displayName = "Button";
701
729
 
@@ -703,19 +731,19 @@ Button.displayName = "Button";
703
731
  var Button_default = Button;
704
732
 
705
733
  // src/components/Calendar/Calendar.tsx
706
- import React12, { Fragment, forwardRef as forwardRef4, useCallback as useCallback5, useEffect as useEffect3, useMemo as useMemo4, useRef as useRef3, useState as useState4 } from "react";
734
+ import React13, { Fragment, forwardRef as forwardRef4, useCallback as useCallback6, useEffect as useEffect3, useMemo as useMemo5, useRef as useRef3, useState as useState5 } from "react";
707
735
  import { styled as styled5 } from "@mui/joy";
708
736
  import ChevronLeftIcon from "@mui/icons-material/ChevronLeft";
709
737
  import ChevronRightIcon from "@mui/icons-material/ChevronRight";
710
738
  import { AnimatePresence, motion as motion13 } from "framer-motion";
711
739
 
712
740
  // src/components/Tooltip/Tooltip.tsx
713
- import React10 from "react";
741
+ import React11 from "react";
714
742
  import { Tooltip as JoyTooltip } from "@mui/joy";
715
743
  import { motion as motion12 } from "framer-motion";
716
744
  var MotionTooltip = motion12(JoyTooltip);
717
745
  var Tooltip = (props) => {
718
- return /* @__PURE__ */ React10.createElement(MotionTooltip, { ...props });
746
+ return /* @__PURE__ */ React11.createElement(MotionTooltip, { ...props });
719
747
  };
720
748
  Tooltip.displayName = "Tooltip";
721
749
 
@@ -797,43 +825,43 @@ var isSameMonth = (date1, date2) => {
797
825
  };
798
826
 
799
827
  // src/components/Calendar/hooks/use-calendar-props.ts
800
- import { useCallback as useCallback3, useMemo as useMemo3, useState as useState2 } from "react";
801
- import { useThemeProps as useThemeProps2 } from "@mui/joy";
828
+ import { useCallback as useCallback4, useMemo as useMemo4, useState as useState3 } from "react";
829
+ import { useThemeProps as useThemeProps3 } from "@mui/joy";
802
830
  var resolveView = (view, views) => {
803
831
  return views.includes(view) ? view : views[0];
804
832
  };
805
833
  var useCalendarProps = (inProps) => {
806
- const [uncontrolledView, setUncontrolledView] = useState2(
834
+ const [uncontrolledView, setUncontrolledView] = useState3(
807
835
  () => resolveView(inProps.view || "day", inProps.views || ["day", "month"])
808
836
  );
809
- const [uncontrolledValue, setUncontrolledValue] = useState2(
837
+ const [uncontrolledValue, setUncontrolledValue] = useState3(
810
838
  inProps.defaultValue
811
839
  );
812
- const [viewMonth, setViewMonth] = useState2(() => {
840
+ const [viewMonth, setViewMonth] = useState3(() => {
813
841
  const today = /* @__PURE__ */ new Date();
814
842
  today.setDate(1);
815
843
  today.setHours(0, 0, 0, 0);
816
844
  return inProps.value?.[0] || inProps.defaultValue?.[0] || today;
817
845
  });
818
- const [[page, direction], setPage] = useState2([0, 0]);
846
+ const [[page, direction], setPage] = useState3([0, 0]);
819
847
  const resolvedView = inProps.view ?? uncontrolledView;
820
- const resolvedMinDate = useMemo3(() => {
848
+ const resolvedMinDate = useMemo4(() => {
821
849
  const minDate = inProps.minDate || /* @__PURE__ */ new Date(0);
822
850
  minDate.setHours(0, 0, 0, 0);
823
851
  return minDate;
824
852
  }, [inProps.minDate]);
825
- const resolvedMaxDate = useMemo3(() => {
853
+ const resolvedMaxDate = useMemo4(() => {
826
854
  const maxDate = inProps.maxDate || /* @__PURE__ */ new Date(864e13);
827
855
  maxDate.setHours(0, 0, 0, 0);
828
856
  return maxDate;
829
857
  }, [inProps.maxDate]);
830
- const paginate = useCallback3(
858
+ const paginate = useCallback4(
831
859
  (newDirection) => {
832
860
  setPage([page + newDirection, newDirection]);
833
861
  },
834
862
  [page]
835
863
  );
836
- const handleViewMonthChange = useCallback3(
864
+ const handleViewMonthChange = useCallback4(
837
865
  (newMonth) => {
838
866
  setViewMonth(newMonth);
839
867
  if (resolvedView === "month") {
@@ -847,7 +875,7 @@ var useCalendarProps = (inProps) => {
847
875
  },
848
876
  [resolvedView, inProps, viewMonth, paginate]
849
877
  );
850
- const props = useThemeProps2({
878
+ const props = useThemeProps3({
851
879
  props: {
852
880
  locale: "default",
853
881
  views: ["day", "month"],
@@ -881,22 +909,22 @@ var useCalendarProps = (inProps) => {
881
909
  },
882
910
  name: "Calendar"
883
911
  });
884
- const ownerState = useMemo3(() => ({ ...props, viewMonth, direction }), [props, viewMonth, direction]);
912
+ const ownerState = useMemo4(() => ({ ...props, viewMonth, direction }), [props, viewMonth, direction]);
885
913
  return [props, ownerState];
886
914
  };
887
915
 
888
916
  // src/components/Calendar/hooks/use-calendar.ts
889
- import { useCallback as useCallback4, useState as useState3 } from "react";
917
+ import { useCallback as useCallback5, useState as useState4 } from "react";
890
918
  var useCalendar = (ownerState) => {
891
- const [localHoverDay, setLocalHoverDay] = useState3(null);
892
- const [localHoverMonth, setLocalHoverMonth] = useState3(null);
919
+ const [localHoverDay, setLocalHoverDay] = useState4(null);
920
+ const [localHoverMonth, setLocalHoverMonth] = useState4(null);
893
921
  const hoverDay = ownerState.hoverDay !== void 0 ? ownerState.hoverDay : localHoverDay;
894
922
  const setHoverDay = ownerState.onHoverDayChange ?? setLocalHoverDay;
895
923
  const hoverMonth = ownerState.hoverMonth !== void 0 ? ownerState.hoverMonth : localHoverMonth;
896
924
  const setHoverMonth = ownerState.onHoverMonthChange ?? setLocalHoverMonth;
897
925
  return {
898
926
  calendarTitle: ownerState.view === "month" ? getYearName(ownerState.viewMonth, ownerState.locale || "default") : getMonthName(ownerState.viewMonth, ownerState.locale || "default"),
899
- onPrev: useCallback4(() => {
927
+ onPrev: useCallback5(() => {
900
928
  if (ownerState.view === "day") {
901
929
  const currentDate = new Date(ownerState.viewMonth || /* @__PURE__ */ new Date());
902
930
  const currentYear = currentDate.getFullYear();
@@ -913,7 +941,7 @@ var useCalendar = (ownerState) => {
913
941
  ownerState.onMonthChange?.(prevYear);
914
942
  }
915
943
  }, [ownerState.onMonthChange, ownerState.viewMonth, ownerState.view]),
916
- onNext: useCallback4(() => {
944
+ onNext: useCallback5(() => {
917
945
  if (ownerState.view === "day") {
918
946
  const currentDate = new Date(ownerState.viewMonth || /* @__PURE__ */ new Date());
919
947
  const currentYear = currentDate.getFullYear();
@@ -930,7 +958,7 @@ var useCalendar = (ownerState) => {
930
958
  ownerState.onMonthChange?.(nextYear);
931
959
  }
932
960
  }, [ownerState.onMonthChange, ownerState.viewMonth, ownerState.view]),
933
- getDayCellProps: useCallback4(
961
+ getDayCellProps: useCallback5(
934
962
  (day) => {
935
963
  const thisDay = new Date(ownerState.viewMonth || /* @__PURE__ */ new Date());
936
964
  thisDay.setHours(0, 0, 0, 0);
@@ -945,7 +973,7 @@ var useCalendar = (ownerState) => {
945
973
  },
946
974
  [ownerState.rangeSelection, ownerState.value, ownerState.viewMonth, hoverDay]
947
975
  ),
948
- getMonthCellProps: useCallback4(
976
+ getMonthCellProps: useCallback5(
949
977
  (monthIndex) => {
950
978
  const thisMonth = new Date(ownerState.viewMonth || /* @__PURE__ */ new Date());
951
979
  thisMonth.setDate(1);
@@ -962,7 +990,7 @@ var useCalendar = (ownerState) => {
962
990
  },
963
991
  [ownerState.rangeSelection, ownerState.value, ownerState.viewMonth, hoverMonth]
964
992
  ),
965
- getPickerDayProps: useCallback4(
993
+ getPickerDayProps: useCallback5(
966
994
  (day) => {
967
995
  const thisDay = new Date(ownerState.viewMonth || /* @__PURE__ */ new Date());
968
996
  thisDay.setHours(0, 0, 0, 0);
@@ -1016,7 +1044,7 @@ var useCalendar = (ownerState) => {
1016
1044
  hoverDay
1017
1045
  ]
1018
1046
  ),
1019
- getPickerMonthProps: useCallback4(
1047
+ getPickerMonthProps: useCallback5(
1020
1048
  (monthIndex) => {
1021
1049
  const thisMonth = new Date(ownerState.viewMonth || /* @__PURE__ */ new Date());
1022
1050
  thisMonth.setDate(1);
@@ -1313,9 +1341,9 @@ var swipePower = (offset, velocity) => {
1313
1341
  var PickerDays = (props) => {
1314
1342
  const { ownerState } = props;
1315
1343
  const { getPickerDayProps, getDayCellProps } = useCalendar(ownerState);
1316
- const calendarDates = useMemo4(() => getCalendarDates(ownerState.viewMonth), [ownerState.viewMonth]);
1317
- const weekdayNames = useMemo4(() => getWeekdayNames(ownerState.locale || "default"), [ownerState.locale]);
1318
- return /* @__PURE__ */ React12.createElement(CalendarViewContainer, { calendarType: "datePicker" }, /* @__PURE__ */ React12.createElement(AnimatePresence, { initial: false, custom: ownerState.direction }, /* @__PURE__ */ React12.createElement(
1344
+ const calendarDates = useMemo5(() => getCalendarDates(ownerState.viewMonth), [ownerState.viewMonth]);
1345
+ const weekdayNames = useMemo5(() => getWeekdayNames(ownerState.locale || "default"), [ownerState.locale]);
1346
+ return /* @__PURE__ */ React13.createElement(CalendarViewContainer, { calendarType: "datePicker" }, /* @__PURE__ */ React13.createElement(AnimatePresence, { initial: false, custom: ownerState.direction }, /* @__PURE__ */ React13.createElement(
1319
1347
  CalendarViewTable,
1320
1348
  {
1321
1349
  key: `${ownerState.viewMonth.toString()}_${ownerState.direction}`,
@@ -1344,10 +1372,10 @@ var PickerDays = (props) => {
1344
1372
  }
1345
1373
  }
1346
1374
  },
1347
- /* @__PURE__ */ React12.createElement(CalendarWeekHeaderContainer, null, /* @__PURE__ */ React12.createElement("tr", null, weekdayNames.map((name, i) => /* @__PURE__ */ React12.createElement(Fragment, { key: `${ownerState.viewMonth}_${name}_${i}` }, /* @__PURE__ */ React12.createElement("th", null, /* @__PURE__ */ React12.createElement(Typography_default, { level: "body-xs", textAlign: "center" }, name)), i < 6 && /* @__PURE__ */ React12.createElement("th", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" }))))),
1348
- /* @__PURE__ */ React12.createElement(CalendarDayPickerContainer, null, calendarDates.map((weekDates, rowIndex) => /* @__PURE__ */ React12.createElement(Fragment, { key: `${ownerState.viewMonth}_${rowIndex}` }, /* @__PURE__ */ React12.createElement("tr", null, weekDates.map(
1349
- (date, i) => date ? /* @__PURE__ */ React12.createElement(Fragment, { key: `${ownerState.viewMonth}_${date}_${i}` }, /* @__PURE__ */ React12.createElement(CalendarDayCell, { ...getDayCellProps(date) }, /* @__PURE__ */ React12.createElement(CalendarDay, { size: "sm", variant: "plain", color: "neutral", ...getPickerDayProps(date) }, date)), i < 6 && /* @__PURE__ */ React12.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" })) : /* @__PURE__ */ React12.createElement(Fragment, { key: `${ownerState.viewMonth}_${i}` }, /* @__PURE__ */ React12.createElement("td", null), i < 6 && /* @__PURE__ */ React12.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" }))
1350
- )), rowIndex < calendarDates.length - 1 && /* @__PURE__ */ React12.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" }, /* @__PURE__ */ React12.createElement("td", { colSpan: 13, style: { height: 4 } })))))
1375
+ /* @__PURE__ */ React13.createElement(CalendarWeekHeaderContainer, null, /* @__PURE__ */ React13.createElement("tr", null, weekdayNames.map((name, i) => /* @__PURE__ */ React13.createElement(Fragment, { key: `${ownerState.viewMonth}_${name}_${i}` }, /* @__PURE__ */ React13.createElement("th", null, /* @__PURE__ */ React13.createElement(Typography_default, { level: "body-xs", textAlign: "center" }, name)), i < 6 && /* @__PURE__ */ React13.createElement("th", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" }))))),
1376
+ /* @__PURE__ */ React13.createElement(CalendarDayPickerContainer, null, calendarDates.map((weekDates, rowIndex) => /* @__PURE__ */ React13.createElement(Fragment, { key: `${ownerState.viewMonth}_${rowIndex}` }, /* @__PURE__ */ React13.createElement("tr", null, weekDates.map(
1377
+ (date, i) => date ? /* @__PURE__ */ React13.createElement(Fragment, { key: `${ownerState.viewMonth}_${date}_${i}` }, /* @__PURE__ */ React13.createElement(CalendarDayCell, { ...getDayCellProps(date) }, /* @__PURE__ */ React13.createElement(CalendarDay, { size: "sm", variant: "plain", color: "neutral", ...getPickerDayProps(date) }, date)), i < 6 && /* @__PURE__ */ React13.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" })) : /* @__PURE__ */ React13.createElement(Fragment, { key: `${ownerState.viewMonth}_${i}` }, /* @__PURE__ */ React13.createElement("td", null), i < 6 && /* @__PURE__ */ React13.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" }))
1378
+ )), rowIndex < calendarDates.length - 1 && /* @__PURE__ */ React13.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" }, /* @__PURE__ */ React13.createElement("td", { colSpan: 13, style: { height: 4 } })))))
1351
1379
  )));
1352
1380
  };
1353
1381
  var PickerMonths = (props) => {
@@ -1364,7 +1392,7 @@ var PickerMonths = (props) => {
1364
1392
  [[]]
1365
1393
  );
1366
1394
  const isMonthPicker = !ownerState.views?.find((view) => view === "day");
1367
- return /* @__PURE__ */ React12.createElement(CalendarViewContainer, { calendarType: isMonthPicker ? "monthPicker" : "datePicker" }, /* @__PURE__ */ React12.createElement(AnimatePresence, { initial: false, custom: ownerState.direction }, /* @__PURE__ */ React12.createElement(
1395
+ return /* @__PURE__ */ React13.createElement(CalendarViewContainer, { calendarType: isMonthPicker ? "monthPicker" : "datePicker" }, /* @__PURE__ */ React13.createElement(AnimatePresence, { initial: false, custom: ownerState.direction }, /* @__PURE__ */ React13.createElement(
1368
1396
  CalendarViewTable,
1369
1397
  {
1370
1398
  key: `${ownerState.viewMonth.getFullYear()}_${ownerState.direction}`,
@@ -1393,16 +1421,16 @@ var PickerMonths = (props) => {
1393
1421
  }
1394
1422
  }
1395
1423
  },
1396
- /* @__PURE__ */ React12.createElement("tbody", null, chunkedMonths.map((months, i) => /* @__PURE__ */ React12.createElement(Fragment, { key: months.join("_") }, /* @__PURE__ */ React12.createElement("tr", null, months.map((monthIndex, j) => /* @__PURE__ */ React12.createElement(Fragment, { key: monthIndex }, /* @__PURE__ */ React12.createElement(CalendarMonthCell, { ...getMonthCellProps(monthIndex) }, /* @__PURE__ */ React12.createElement(CalendarMonth, { size: "sm", variant: "plain", color: "neutral", ...getPickerMonthProps(monthIndex) }, getMonthNameFromIndex(monthIndex, ownerState.locale))), j < 3 && /* @__PURE__ */ React12.createElement("td", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" })))), i < chunkedMonths.length - 1 && /* @__PURE__ */ React12.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" }, /* @__PURE__ */ React12.createElement("td", { colSpan: 7, style: { height: 4 } })))))
1424
+ /* @__PURE__ */ React13.createElement("tbody", null, chunkedMonths.map((months, i) => /* @__PURE__ */ React13.createElement(Fragment, { key: months.join("_") }, /* @__PURE__ */ React13.createElement("tr", null, months.map((monthIndex, j) => /* @__PURE__ */ React13.createElement(Fragment, { key: monthIndex }, /* @__PURE__ */ React13.createElement(CalendarMonthCell, { ...getMonthCellProps(monthIndex) }, /* @__PURE__ */ React13.createElement(CalendarMonth, { size: "sm", variant: "plain", color: "neutral", ...getPickerMonthProps(monthIndex) }, getMonthNameFromIndex(monthIndex, ownerState.locale))), j < 3 && /* @__PURE__ */ React13.createElement("td", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" })))), i < chunkedMonths.length - 1 && /* @__PURE__ */ React13.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" }, /* @__PURE__ */ React13.createElement("td", { colSpan: 7, style: { height: 4 } })))))
1397
1425
  )));
1398
1426
  };
1399
1427
  var PlainPickerDays = ({ ownerState }) => {
1400
1428
  const { getPickerDayProps, getDayCellProps } = useCalendar(ownerState);
1401
- const calendarDates = useMemo4(() => getCalendarDates(ownerState.viewMonth), [ownerState.viewMonth]);
1402
- const weekdayNames = useMemo4(() => getWeekdayNames(ownerState.locale || "default"), [ownerState.locale]);
1403
- return /* @__PURE__ */ React12.createElement(StaticCalendarViewTable, null, /* @__PURE__ */ React12.createElement(CalendarWeekHeaderContainer, null, /* @__PURE__ */ React12.createElement("tr", null, weekdayNames.map((name, i) => /* @__PURE__ */ React12.createElement(Fragment, { key: `${ownerState.viewMonth}_${name}_${i}` }, /* @__PURE__ */ React12.createElement("th", null, /* @__PURE__ */ React12.createElement(Typography_default, { level: "body-xs", textAlign: "center" }, name)), i < 6 && /* @__PURE__ */ React12.createElement("th", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" }))))), /* @__PURE__ */ React12.createElement(CalendarDayPickerContainer, null, calendarDates.map((weekDates, rowIndex) => /* @__PURE__ */ React12.createElement(Fragment, { key: `${ownerState.viewMonth}_${rowIndex}` }, /* @__PURE__ */ React12.createElement("tr", null, weekDates.map(
1404
- (date, i) => date ? /* @__PURE__ */ React12.createElement(Fragment, { key: `${ownerState.viewMonth}_${date}_${i}` }, /* @__PURE__ */ React12.createElement(CalendarDayCell, { ...getDayCellProps(date) }, /* @__PURE__ */ React12.createElement(CalendarDay, { size: "sm", variant: "plain", color: "neutral", ...getPickerDayProps(date) }, date)), i < 6 && /* @__PURE__ */ React12.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" })) : /* @__PURE__ */ React12.createElement(Fragment, { key: `${ownerState.viewMonth}_${i}` }, /* @__PURE__ */ React12.createElement("td", null), i < 6 && /* @__PURE__ */ React12.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" }))
1405
- )), rowIndex < calendarDates.length - 1 && /* @__PURE__ */ React12.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" }, /* @__PURE__ */ React12.createElement("td", { colSpan: 13, style: { height: 4 } }))))));
1429
+ const calendarDates = useMemo5(() => getCalendarDates(ownerState.viewMonth), [ownerState.viewMonth]);
1430
+ const weekdayNames = useMemo5(() => getWeekdayNames(ownerState.locale || "default"), [ownerState.locale]);
1431
+ return /* @__PURE__ */ React13.createElement(StaticCalendarViewTable, null, /* @__PURE__ */ React13.createElement(CalendarWeekHeaderContainer, null, /* @__PURE__ */ React13.createElement("tr", null, weekdayNames.map((name, i) => /* @__PURE__ */ React13.createElement(Fragment, { key: `${ownerState.viewMonth}_${name}_${i}` }, /* @__PURE__ */ React13.createElement("th", null, /* @__PURE__ */ React13.createElement(Typography_default, { level: "body-xs", textAlign: "center" }, name)), i < 6 && /* @__PURE__ */ React13.createElement("th", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" }))))), /* @__PURE__ */ React13.createElement(CalendarDayPickerContainer, null, calendarDates.map((weekDates, rowIndex) => /* @__PURE__ */ React13.createElement(Fragment, { key: `${ownerState.viewMonth}_${rowIndex}` }, /* @__PURE__ */ React13.createElement("tr", null, weekDates.map(
1432
+ (date, i) => date ? /* @__PURE__ */ React13.createElement(Fragment, { key: `${ownerState.viewMonth}_${date}_${i}` }, /* @__PURE__ */ React13.createElement(CalendarDayCell, { ...getDayCellProps(date) }, /* @__PURE__ */ React13.createElement(CalendarDay, { size: "sm", variant: "plain", color: "neutral", ...getPickerDayProps(date) }, date)), i < 6 && /* @__PURE__ */ React13.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" })) : /* @__PURE__ */ React13.createElement(Fragment, { key: `${ownerState.viewMonth}_${i}` }, /* @__PURE__ */ React13.createElement("td", null), i < 6 && /* @__PURE__ */ React13.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" }))
1433
+ )), rowIndex < calendarDates.length - 1 && /* @__PURE__ */ React13.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" }, /* @__PURE__ */ React13.createElement("td", { colSpan: 13, style: { height: 4 } }))))));
1406
1434
  };
1407
1435
  var MultiMonthPickerDays = ({
1408
1436
  panels,
@@ -1421,7 +1449,7 @@ var MultiMonthPickerDays = ({
1421
1449
  })
1422
1450
  };
1423
1451
  const key = `${panels[0].viewMonth.toISOString()}_${direction}`;
1424
- return /* @__PURE__ */ React12.createElement("div", { style: { position: "relative", overflow: "hidden", minHeight: "250px" } }, /* @__PURE__ */ React12.createElement(AnimatePresence, { initial: false, custom: direction }, /* @__PURE__ */ React12.createElement(
1452
+ return /* @__PURE__ */ React13.createElement("div", { style: { position: "relative", overflow: "hidden", minHeight: "250px" } }, /* @__PURE__ */ React13.createElement(AnimatePresence, { initial: false, custom: direction }, /* @__PURE__ */ React13.createElement(
1425
1453
  motion13.div,
1426
1454
  {
1427
1455
  key,
@@ -1451,7 +1479,7 @@ var MultiMonthPickerDays = ({
1451
1479
  },
1452
1480
  style: { display: "flex", gap: `${CALENDAR_PANEL_GAP}px`, top: 0, left: 0, width: "100%" }
1453
1481
  },
1454
- panels.map((panelOwnerState) => /* @__PURE__ */ React12.createElement(
1482
+ panels.map((panelOwnerState) => /* @__PURE__ */ React13.createElement(
1455
1483
  "div",
1456
1484
  {
1457
1485
  key: panelOwnerState.viewMonth.toISOString(),
@@ -1463,7 +1491,7 @@ var MultiMonthPickerDays = ({
1463
1491
  boxSizing: "border-box"
1464
1492
  }
1465
1493
  },
1466
- /* @__PURE__ */ React12.createElement(PlainPickerDays, { ownerState: panelOwnerState })
1494
+ /* @__PURE__ */ React13.createElement(PlainPickerDays, { ownerState: panelOwnerState })
1467
1495
  ))
1468
1496
  )));
1469
1497
  };
@@ -1480,7 +1508,7 @@ var CalendarPanel = ({
1480
1508
  const showPrev = panelIndex === 0;
1481
1509
  const showNext = panelIndex === totalPanels - 1;
1482
1510
  const title = ownerState.view === "month" ? getYearName(ownerState.viewMonth, ownerState.locale || "default") : getMonthName(ownerState.viewMonth, ownerState.locale || "default");
1483
- return /* @__PURE__ */ React12.createElement("div", { style: { flex: 1, maxWidth: `${CALENDAR_PANEL_WIDTH}px` } }, /* @__PURE__ */ React12.createElement(CalendarHeader, null, /* @__PURE__ */ React12.createElement(
1511
+ return /* @__PURE__ */ React13.createElement("div", { style: { flex: 1, maxWidth: `${CALENDAR_PANEL_WIDTH}px` } }, /* @__PURE__ */ React13.createElement(CalendarHeader, null, /* @__PURE__ */ React13.createElement(
1484
1512
  IconButton_default,
1485
1513
  {
1486
1514
  size: "sm",
@@ -1488,8 +1516,8 @@ var CalendarPanel = ({
1488
1516
  "aria-label": `Previous ${ownerState.view === "day" ? "Month" : "Year"}`,
1489
1517
  style: { visibility: showPrev ? "visible" : "hidden" }
1490
1518
  },
1491
- /* @__PURE__ */ React12.createElement(ChevronLeftIcon, null)
1492
- ), /* @__PURE__ */ React12.createElement(
1519
+ /* @__PURE__ */ React13.createElement(ChevronLeftIcon, null)
1520
+ ), /* @__PURE__ */ React13.createElement(
1493
1521
  Tooltip_default,
1494
1522
  {
1495
1523
  title: monthViewHintMessage,
@@ -1501,7 +1529,7 @@ var CalendarPanel = ({
1501
1529
  disableTouchListener: true,
1502
1530
  variant: "solid"
1503
1531
  },
1504
- /* @__PURE__ */ React12.createElement(
1532
+ /* @__PURE__ */ React13.createElement(
1505
1533
  CalendarSwitchViewButton,
1506
1534
  {
1507
1535
  ownerState,
@@ -1512,7 +1540,7 @@ var CalendarPanel = ({
1512
1540
  },
1513
1541
  title
1514
1542
  )
1515
- ), /* @__PURE__ */ React12.createElement(
1543
+ ), /* @__PURE__ */ React13.createElement(
1516
1544
  IconButton_default,
1517
1545
  {
1518
1546
  size: "sm",
@@ -1520,7 +1548,7 @@ var CalendarPanel = ({
1520
1548
  "aria-label": `Next ${ownerState.view === "day" ? "Month" : "Year"}`,
1521
1549
  style: { visibility: showNext ? "visible" : "hidden" }
1522
1550
  },
1523
- /* @__PURE__ */ React12.createElement(ChevronRightIcon, null)
1551
+ /* @__PURE__ */ React13.createElement(ChevronRightIcon, null)
1524
1552
  )));
1525
1553
  };
1526
1554
  var Calendar = forwardRef4((inProps, ref) => {
@@ -1543,12 +1571,12 @@ var Calendar = forwardRef4((inProps, ref) => {
1543
1571
  ...others
1544
1572
  } = props;
1545
1573
  const { calendarTitle, onPrev, onNext } = useCalendar(ownerState);
1546
- const [isMonthViewAssistHintOpen, setIsMonthViewAssistHintOpen] = useState4(false);
1574
+ const [isMonthViewAssistHintOpen, setIsMonthViewAssistHintOpen] = useState5(false);
1547
1575
  const monthNavClickTimestampsRef = useRef3([]);
1548
1576
  const monthViewAssistHintShownInSessionRef = useRef3(false);
1549
1577
  const monthViewAssistHintTimeoutRef = useRef3(null);
1550
- const [hoverDay, setHoverDay] = useState4(null);
1551
- const [hoverMonth, setHoverMonth] = useState4(null);
1578
+ const [hoverDay, setHoverDay] = useState5(null);
1579
+ const [hoverMonth, setHoverMonth] = useState5(null);
1552
1580
  const resolvedNumberOfMonths = numberOfMonths ?? 1;
1553
1581
  const hasEndDate = Boolean(value?.[1]);
1554
1582
  const isRangeHintEligible = Boolean(rangeSelection && !hasEndDate);
@@ -1567,14 +1595,14 @@ var Calendar = forwardRef4((inProps, ref) => {
1567
1595
  }
1568
1596
  };
1569
1597
  }, []);
1570
- const closeMonthViewAssistHint = useCallback5(() => {
1598
+ const closeMonthViewAssistHint = useCallback6(() => {
1571
1599
  if (monthViewAssistHintTimeoutRef.current) {
1572
1600
  clearTimeout(monthViewAssistHintTimeoutRef.current);
1573
1601
  monthViewAssistHintTimeoutRef.current = null;
1574
1602
  }
1575
1603
  setIsMonthViewAssistHintOpen(false);
1576
1604
  }, []);
1577
- const showMonthViewAssistHint = useCallback5(() => {
1605
+ const showMonthViewAssistHint = useCallback6(() => {
1578
1606
  const now = Date.now();
1579
1607
  if (monthViewAssistHintShownInSessionRef.current) return;
1580
1608
  if (now - lastMonthViewAssistHintShownAt < MONTH_VIEW_HINT_COOLDOWN_MS) return;
@@ -1589,7 +1617,7 @@ var Calendar = forwardRef4((inProps, ref) => {
1589
1617
  monthViewAssistHintTimeoutRef.current = null;
1590
1618
  }, MONTH_VIEW_HINT_DURATION_MS);
1591
1619
  }, []);
1592
- const trackFastMonthNavigation = useCallback5(() => {
1620
+ const trackFastMonthNavigation = useCallback6(() => {
1593
1621
  if (!isHintEligible) return;
1594
1622
  const now = Date.now();
1595
1623
  monthNavClickTimestampsRef.current = [
@@ -1600,15 +1628,15 @@ var Calendar = forwardRef4((inProps, ref) => {
1600
1628
  showMonthViewAssistHint();
1601
1629
  }
1602
1630
  }, [isHintEligible, showMonthViewAssistHint]);
1603
- const handlePrevClick = useCallback5(() => {
1631
+ const handlePrevClick = useCallback6(() => {
1604
1632
  onPrev();
1605
1633
  trackFastMonthNavigation();
1606
1634
  }, [onPrev, trackFastMonthNavigation]);
1607
- const handleNextClick = useCallback5(() => {
1635
+ const handleNextClick = useCallback6(() => {
1608
1636
  onNext();
1609
1637
  trackFastMonthNavigation();
1610
1638
  }, [onNext, trackFastMonthNavigation]);
1611
- const handleSwitchViewClick = useCallback5(() => {
1639
+ const handleSwitchViewClick = useCallback6(() => {
1612
1640
  closeMonthViewAssistHint();
1613
1641
  onViewChange?.();
1614
1642
  }, [closeMonthViewAssistHint, onViewChange]);
@@ -1628,9 +1656,9 @@ var Calendar = forwardRef4((inProps, ref) => {
1628
1656
  onHoverMonthChange: setHoverMonth
1629
1657
  };
1630
1658
  });
1631
- return /* @__PURE__ */ React12.createElement(CalendarRoot, { ref, ...others, style: { maxWidth: `${maxWidth}px` } }, view === "month" ? (
1659
+ return /* @__PURE__ */ React13.createElement(CalendarRoot, { ref, ...others, style: { maxWidth: `${maxWidth}px` } }, view === "month" ? (
1632
1660
  // Month view: single header + single month grid (consistent with single-month path)
1633
- /* @__PURE__ */ React12.createElement(React12.Fragment, null, /* @__PURE__ */ React12.createElement(CalendarHeader, null, /* @__PURE__ */ React12.createElement(IconButton_default, { size: "sm", onClick: handlePrevClick, "aria-label": "Previous Year" }, /* @__PURE__ */ React12.createElement(ChevronLeftIcon, null)), /* @__PURE__ */ React12.createElement(
1661
+ /* @__PURE__ */ React13.createElement(React13.Fragment, null, /* @__PURE__ */ React13.createElement(CalendarHeader, null, /* @__PURE__ */ React13.createElement(IconButton_default, { size: "sm", onClick: handlePrevClick, "aria-label": "Previous Year" }, /* @__PURE__ */ React13.createElement(ChevronLeftIcon, null)), /* @__PURE__ */ React13.createElement(
1634
1662
  Tooltip_default,
1635
1663
  {
1636
1664
  title: monthViewHintMessage,
@@ -1642,7 +1670,7 @@ var Calendar = forwardRef4((inProps, ref) => {
1642
1670
  disableTouchListener: true,
1643
1671
  variant: "solid"
1644
1672
  },
1645
- /* @__PURE__ */ React12.createElement(
1673
+ /* @__PURE__ */ React13.createElement(
1646
1674
  CalendarSwitchViewButton,
1647
1675
  {
1648
1676
  ownerState,
@@ -1653,8 +1681,8 @@ var Calendar = forwardRef4((inProps, ref) => {
1653
1681
  },
1654
1682
  calendarTitle
1655
1683
  )
1656
- ), /* @__PURE__ */ React12.createElement(IconButton_default, { size: "sm", onClick: handleNextClick, "aria-label": "Next Year" }, /* @__PURE__ */ React12.createElement(ChevronRightIcon, null))), /* @__PURE__ */ React12.createElement(PickerMonths, { ownerState }))
1657
- ) : /* @__PURE__ */ React12.createElement(React12.Fragment, null, /* @__PURE__ */ React12.createElement(CalendarMultiContainer, null, panels.map((panelOwnerState, i) => /* @__PURE__ */ React12.createElement(
1684
+ ), /* @__PURE__ */ React13.createElement(IconButton_default, { size: "sm", onClick: handleNextClick, "aria-label": "Next Year" }, /* @__PURE__ */ React13.createElement(ChevronRightIcon, null))), /* @__PURE__ */ React13.createElement(PickerMonths, { ownerState }))
1685
+ ) : /* @__PURE__ */ React13.createElement(React13.Fragment, null, /* @__PURE__ */ React13.createElement(CalendarMultiContainer, null, panels.map((panelOwnerState, i) => /* @__PURE__ */ React13.createElement(
1658
1686
  CalendarPanel,
1659
1687
  {
1660
1688
  key: panelOwnerState.viewMonth.toISOString(),
@@ -1667,7 +1695,7 @@ var Calendar = forwardRef4((inProps, ref) => {
1667
1695
  isMonthViewAssistHintOpen,
1668
1696
  monthViewHintMessage
1669
1697
  }
1670
- ))), /* @__PURE__ */ React12.createElement(
1698
+ ))), /* @__PURE__ */ React13.createElement(
1671
1699
  MultiMonthPickerDays,
1672
1700
  {
1673
1701
  panels,
@@ -1676,7 +1704,7 @@ var Calendar = forwardRef4((inProps, ref) => {
1676
1704
  }
1677
1705
  )));
1678
1706
  }
1679
- return /* @__PURE__ */ React12.createElement(CalendarRoot, { ref, ...others, style: { maxWidth: `${maxWidth}px` } }, /* @__PURE__ */ React12.createElement(CalendarHeader, null, /* @__PURE__ */ React12.createElement(IconButton_default, { size: "sm", onClick: handlePrevClick, "aria-label": `Previous ${view === "day" ? "Month" : "Year"}` }, /* @__PURE__ */ React12.createElement(ChevronLeftIcon, null)), /* @__PURE__ */ React12.createElement(
1707
+ return /* @__PURE__ */ React13.createElement(CalendarRoot, { ref, ...others, style: { maxWidth: `${maxWidth}px` } }, /* @__PURE__ */ React13.createElement(CalendarHeader, null, /* @__PURE__ */ React13.createElement(IconButton_default, { size: "sm", onClick: handlePrevClick, "aria-label": `Previous ${view === "day" ? "Month" : "Year"}` }, /* @__PURE__ */ React13.createElement(ChevronLeftIcon, null)), /* @__PURE__ */ React13.createElement(
1680
1708
  Tooltip_default,
1681
1709
  {
1682
1710
  title: monthViewHintMessage,
@@ -1688,7 +1716,7 @@ var Calendar = forwardRef4((inProps, ref) => {
1688
1716
  disableTouchListener: true,
1689
1717
  variant: "solid"
1690
1718
  },
1691
- /* @__PURE__ */ React12.createElement(
1719
+ /* @__PURE__ */ React13.createElement(
1692
1720
  CalendarSwitchViewButton,
1693
1721
  {
1694
1722
  ownerState,
@@ -1699,7 +1727,7 @@ var Calendar = forwardRef4((inProps, ref) => {
1699
1727
  },
1700
1728
  calendarTitle
1701
1729
  )
1702
- ), /* @__PURE__ */ React12.createElement(IconButton_default, { size: "sm", onClick: handleNextClick, "aria-label": `Next ${view === "day" ? "Month" : "Year"}` }, /* @__PURE__ */ React12.createElement(ChevronRightIcon, null))), view === "day" && /* @__PURE__ */ React12.createElement(PickerDays, { ownerState }), view === "month" && /* @__PURE__ */ React12.createElement(PickerMonths, { ownerState }));
1730
+ ), /* @__PURE__ */ React13.createElement(IconButton_default, { size: "sm", onClick: handleNextClick, "aria-label": `Next ${view === "day" ? "Month" : "Year"}` }, /* @__PURE__ */ React13.createElement(ChevronRightIcon, null))), view === "day" && /* @__PURE__ */ React13.createElement(PickerDays, { ownerState }), view === "month" && /* @__PURE__ */ React13.createElement(PickerMonths, { ownerState }));
1703
1731
  });
1704
1732
  Calendar.displayName = "Calendar";
1705
1733
 
@@ -1732,12 +1760,12 @@ var CardOverflow = MotionCardOverflow;
1732
1760
  CardOverflow.displayName = "CardOverflow";
1733
1761
 
1734
1762
  // src/components/Checkbox/Checkbox.tsx
1735
- import React13 from "react";
1763
+ import React14 from "react";
1736
1764
  import { Checkbox as JoyCheckbox } from "@mui/joy";
1737
1765
  import { motion as motion15 } from "framer-motion";
1738
1766
  var MotionCheckbox = motion15(JoyCheckbox);
1739
1767
  var Checkbox = (props) => {
1740
- return /* @__PURE__ */ React13.createElement(MotionCheckbox, { ...props });
1768
+ return /* @__PURE__ */ React14.createElement(MotionCheckbox, { ...props });
1741
1769
  };
1742
1770
  Checkbox.displayName = "Checkbox";
1743
1771
 
@@ -1746,7 +1774,7 @@ var Checkbox_default = Checkbox;
1746
1774
 
1747
1775
  // src/components/Container/Container.tsx
1748
1776
  import { styled as styled6 } from "@mui/joy";
1749
- import React14, { forwardRef as forwardRef5 } from "react";
1777
+ import React15, { forwardRef as forwardRef5 } from "react";
1750
1778
  var ContainerRoot = styled6("div", {
1751
1779
  name: "Container",
1752
1780
  slot: "root",
@@ -1773,23 +1801,23 @@ var ContainerRoot = styled6("div", {
1773
1801
  } : null
1774
1802
  ]);
1775
1803
  var Container = forwardRef5(function Container2(props, ref) {
1776
- return /* @__PURE__ */ React14.createElement(ContainerRoot, { ref, ...props });
1804
+ return /* @__PURE__ */ React15.createElement(ContainerRoot, { ref, ...props });
1777
1805
  });
1778
1806
  Container.displayName = "Container";
1779
1807
 
1780
1808
  // src/components/CurrencyInput/CurrencyInput.tsx
1781
- import React16, { useCallback as useCallback7, useMemo as useMemo5, useState as useState6 } from "react";
1809
+ import React17, { useCallback as useCallback8, useMemo as useMemo6, useState as useState7 } from "react";
1782
1810
  import { NumericFormat } from "react-number-format";
1783
1811
 
1784
1812
  // src/components/Input/Input.tsx
1785
- import React15, { useCallback as useCallback6, useState as useState5 } from "react";
1813
+ import React16, { useCallback as useCallback7, useState as useState6 } from "react";
1786
1814
  import { Input as JoyInput } from "@mui/joy";
1787
1815
  import { motion as motion16 } from "framer-motion";
1788
1816
  import ClearIcon from "@mui/icons-material/Close";
1789
1817
  import VisibilityIcon from "@mui/icons-material/Visibility";
1790
1818
  import VisibilityOffIcon from "@mui/icons-material/VisibilityOff";
1791
1819
  var MotionInput = motion16(JoyInput);
1792
- var Input = React15.forwardRef((props, ref) => {
1820
+ var Input = React16.forwardRef((props, ref) => {
1793
1821
  const {
1794
1822
  label,
1795
1823
  helperText,
@@ -1812,11 +1840,11 @@ var Input = React15.forwardRef((props, ref) => {
1812
1840
  if (type === "password" && innerProps.endDecorator) {
1813
1841
  console.warn('Input: endDecorator is not supported when type="password"');
1814
1842
  }
1815
- const [passwordVisible, setPasswordVisible] = useState5(false);
1843
+ const [passwordVisible, setPasswordVisible] = useState6(false);
1816
1844
  const [value, setValue] = useControlledState(
1817
1845
  props.value,
1818
1846
  props.defaultValue,
1819
- useCallback6(
1847
+ useCallback7(
1820
1848
  (value2) => {
1821
1849
  onChange?.({
1822
1850
  /**
@@ -1842,7 +1870,7 @@ var Input = React15.forwardRef((props, ref) => {
1842
1870
  const actualType = type === "password" && passwordVisible ? "text" : type;
1843
1871
  const isPasswordType = type === "password";
1844
1872
  const showPasswordToggle = isPasswordType && !disableTogglePasswordButton;
1845
- const input = /* @__PURE__ */ React15.createElement(
1873
+ const input = /* @__PURE__ */ React16.createElement(
1846
1874
  MotionInput,
1847
1875
  {
1848
1876
  value,
@@ -1857,7 +1885,7 @@ var Input = React15.forwardRef((props, ref) => {
1857
1885
  ...innerProps.slotProps
1858
1886
  },
1859
1887
  ...innerProps,
1860
- endDecorator: isPasswordType ? showPasswordToggle ? /* @__PURE__ */ React15.createElement(Stack_default, { gap: 1, direction: "row" }, /* @__PURE__ */ React15.createElement(
1888
+ endDecorator: isPasswordType ? showPasswordToggle ? /* @__PURE__ */ React16.createElement(Stack_default, { gap: 1, direction: "row" }, /* @__PURE__ */ React16.createElement(
1861
1889
  IconButton_default,
1862
1890
  {
1863
1891
  onMouseDown: (e) => e.preventDefault(),
@@ -1865,19 +1893,19 @@ var Input = React15.forwardRef((props, ref) => {
1865
1893
  disabled,
1866
1894
  "aria-label": passwordVisible ? "Hide password" : "Show password"
1867
1895
  },
1868
- passwordVisible ? /* @__PURE__ */ React15.createElement(VisibilityOffIcon, null) : /* @__PURE__ */ React15.createElement(VisibilityIcon, null)
1869
- )) : null : enableClearable ? /* @__PURE__ */ React15.createElement(Stack_default, { gap: 1, direction: "row" }, innerProps.endDecorator, value && /* @__PURE__ */ React15.createElement(
1896
+ passwordVisible ? /* @__PURE__ */ React16.createElement(VisibilityOffIcon, null) : /* @__PURE__ */ React16.createElement(VisibilityIcon, null)
1897
+ )) : null : enableClearable ? /* @__PURE__ */ React16.createElement(Stack_default, { gap: 1, direction: "row" }, innerProps.endDecorator, value && /* @__PURE__ */ React16.createElement(
1870
1898
  IconButton_default,
1871
1899
  {
1872
1900
  onMouseDown: (e) => e.preventDefault(),
1873
1901
  onClick: handleClear,
1874
1902
  "aria-label": "Clear"
1875
1903
  },
1876
- /* @__PURE__ */ React15.createElement(ClearIcon, null)
1904
+ /* @__PURE__ */ React16.createElement(ClearIcon, null)
1877
1905
  )) : innerProps.endDecorator
1878
1906
  }
1879
1907
  );
1880
- return /* @__PURE__ */ React15.createElement(
1908
+ return /* @__PURE__ */ React16.createElement(
1881
1909
  FormControl_default,
1882
1910
  {
1883
1911
  required,
@@ -1888,9 +1916,9 @@ var Input = React15.forwardRef((props, ref) => {
1888
1916
  sx,
1889
1917
  className
1890
1918
  },
1891
- label && /* @__PURE__ */ React15.createElement(FormLabel_default, null, label),
1919
+ label && /* @__PURE__ */ React16.createElement(FormLabel_default, null, label),
1892
1920
  input,
1893
- helperText && /* @__PURE__ */ React15.createElement(FormHelperText_default, null, helperText)
1921
+ helperText && /* @__PURE__ */ React16.createElement(FormHelperText_default, null, helperText)
1894
1922
  );
1895
1923
  });
1896
1924
  Input.displayName = "Input";
@@ -1899,7 +1927,7 @@ Input.displayName = "Input";
1899
1927
  var Input_default = Input;
1900
1928
 
1901
1929
  // src/components/CurrencyInput/CurrencyInput.tsx
1902
- import { styled as styled7, useThemeProps as useThemeProps3 } from "@mui/joy";
1930
+ import { styled as styled7, useThemeProps as useThemeProps4 } from "@mui/joy";
1903
1931
 
1904
1932
  // src/components/CurrencyInput/hooks/use-currency-setting.ts
1905
1933
  var CURRENCY_DECIMAL_MAP = {
@@ -2062,9 +2090,9 @@ var useCurrencySetting = (props) => {
2062
2090
  };
2063
2091
 
2064
2092
  // src/components/CurrencyInput/CurrencyInput.tsx
2065
- var TextMaskAdapter = React16.forwardRef(function TextMaskAdapter2(props, ref) {
2093
+ var TextMaskAdapter = React17.forwardRef(function TextMaskAdapter2(props, ref) {
2066
2094
  const { onChange, ...innerProps } = props;
2067
- return /* @__PURE__ */ React16.createElement(
2095
+ return /* @__PURE__ */ React17.createElement(
2068
2096
  NumericFormat,
2069
2097
  {
2070
2098
  ...innerProps,
@@ -2084,8 +2112,8 @@ var CurrencyInputRoot = styled7(Input_default, {
2084
2112
  slot: "root",
2085
2113
  overridesResolver: (props, styles) => styles.root
2086
2114
  })({});
2087
- var CurrencyInput = React16.forwardRef(function CurrencyInput2(inProps, ref) {
2088
- const props = useThemeProps3({ props: inProps, name: "CurrencyInput" });
2115
+ var CurrencyInput = React17.forwardRef(function CurrencyInput2(inProps, ref) {
2116
+ const props = useThemeProps4({ props: inProps, name: "CurrencyInput" });
2089
2117
  const {
2090
2118
  currency = "USD",
2091
2119
  name,
@@ -2105,22 +2133,22 @@ var CurrencyInput = React16.forwardRef(function CurrencyInput2(inProps, ref) {
2105
2133
  const [_value, setValue] = useControlledState(
2106
2134
  props.value,
2107
2135
  props.defaultValue,
2108
- useCallback7((value2) => onChange?.({ target: { name, value: value2 } }), [onChange, name])
2136
+ useCallback8((value2) => onChange?.({ target: { name, value: value2 } }), [onChange, name])
2109
2137
  );
2110
- const value = useMemo5(() => {
2138
+ const value = useMemo6(() => {
2111
2139
  if (_value && useMinorUnit) {
2112
2140
  return _value / Math.pow(10, decimalScale);
2113
2141
  }
2114
2142
  return _value;
2115
2143
  }, [_value, useMinorUnit, decimalScale]);
2116
- const max = useMemo5(() => {
2144
+ const max = useMemo6(() => {
2117
2145
  if (props.max && useMinorUnit) {
2118
2146
  return props.max / Math.pow(10, decimalScale);
2119
2147
  }
2120
2148
  return props.max;
2121
2149
  }, [props.max, useMinorUnit, decimalScale]);
2122
- const [isOverLimit, setIsOverLimit] = useState6(!!max && !!value && value > max);
2123
- const handleChange = useCallback7(
2150
+ const [isOverLimit, setIsOverLimit] = useState7(!!max && !!value && value > max);
2151
+ const handleChange = useCallback8(
2124
2152
  (event) => {
2125
2153
  if (event.target.value === "") {
2126
2154
  setValue(void 0);
@@ -2136,7 +2164,7 @@ var CurrencyInput = React16.forwardRef(function CurrencyInput2(inProps, ref) {
2136
2164
  },
2137
2165
  [decimalSeparator, max, useMinorUnit, setValue]
2138
2166
  );
2139
- return /* @__PURE__ */ React16.createElement(
2167
+ return /* @__PURE__ */ React17.createElement(
2140
2168
  CurrencyInputRoot,
2141
2169
  {
2142
2170
  ...innerProps,
@@ -2173,9 +2201,9 @@ var CurrencyInput = React16.forwardRef(function CurrencyInput2(inProps, ref) {
2173
2201
  var CurrencyInput_default = CurrencyInput;
2174
2202
 
2175
2203
  // src/components/DataTable/DataTable.tsx
2176
- import React25, {
2177
- useCallback as useCallback12,
2178
- useMemo as useMemo10,
2204
+ import React26, {
2205
+ useCallback as useCallback13,
2206
+ useMemo as useMemo11,
2179
2207
  useRef as useRef7,
2180
2208
  useId,
2181
2209
  forwardRef as forwardRef7,
@@ -2411,7 +2439,7 @@ function computeAutoFitWidth(params) {
2411
2439
  }
2412
2440
 
2413
2441
  // src/components/DataTable/styled.tsx
2414
- import React17 from "react";
2442
+ import React18 from "react";
2415
2443
  import { styled as styled8, LinearProgress, buttonClasses, iconButtonClasses, Typography as Typography3 } from "@mui/joy";
2416
2444
  import { motion as motion17 } from "framer-motion";
2417
2445
  import SortIcon from "@mui/icons-material/ArrowUpwardRounded";
@@ -2517,9 +2545,9 @@ var StyledTd = styled8("td")(({ theme }) => ({
2517
2545
  }
2518
2546
  }));
2519
2547
  var MotionSortIcon = motion17(SortIcon);
2520
- var DefaultLoadingOverlay = () => /* @__PURE__ */ React17.createElement(LinearProgress, { value: 8, variant: "plain" });
2521
- var DefaultNoRowsOverlay = () => /* @__PURE__ */ React17.createElement(Typography3, { level: "body-sm", textColor: "text.tertiary" }, "No rows");
2522
- var Resizer = (ref, targetRef = ref, onResizeStateChange, onAutoFit) => /* @__PURE__ */ React17.createElement(
2548
+ var DefaultLoadingOverlay = () => /* @__PURE__ */ React18.createElement(LinearProgress, { value: 8, variant: "plain" });
2549
+ var DefaultNoRowsOverlay = () => /* @__PURE__ */ React18.createElement(Typography3, { level: "body-sm", textColor: "text.tertiary" }, "No rows");
2550
+ var Resizer = (ref, targetRef = ref, onResizeStateChange, onAutoFit) => /* @__PURE__ */ React18.createElement(
2523
2551
  Box_default,
2524
2552
  {
2525
2553
  sx: {
@@ -2596,12 +2624,12 @@ var Resizer = (ref, targetRef = ref, onResizeStateChange, onAutoFit) => /* @__PU
2596
2624
  );
2597
2625
 
2598
2626
  // src/components/DataTable/components.tsx
2599
- import React22, {
2627
+ import React23, {
2600
2628
  useRef as useRef5,
2601
- useState as useState8,
2629
+ useState as useState9,
2602
2630
  useLayoutEffect,
2603
- useMemo as useMemo8,
2604
- useCallback as useCallback9,
2631
+ useMemo as useMemo9,
2632
+ useCallback as useCallback10,
2605
2633
  useEffect as useEffect5,
2606
2634
  memo,
2607
2635
  createElement
@@ -2610,10 +2638,10 @@ import { styled as styled12, useTheme } from "@mui/joy";
2610
2638
  import { AnimatePresence as AnimatePresence2 } from "framer-motion";
2611
2639
 
2612
2640
  // src/components/DatePicker/DatePicker.tsx
2613
- import React18, { forwardRef as forwardRef6, useCallback as useCallback8, useEffect as useEffect4, useImperativeHandle, useRef as useRef4, useState as useState7 } from "react";
2641
+ import React19, { forwardRef as forwardRef6, useCallback as useCallback9, useEffect as useEffect4, useImperativeHandle, useRef as useRef4, useState as useState8 } from "react";
2614
2642
  import { IMaskInput, IMask } from "react-imask";
2615
2643
  import CalendarTodayIcon from "@mui/icons-material/CalendarToday";
2616
- import { styled as styled10, useThemeProps as useThemeProps4 } from "@mui/joy";
2644
+ import { styled as styled10, useThemeProps as useThemeProps5 } from "@mui/joy";
2617
2645
  import { FocusTrap, ClickAwayListener, Popper as Popper2 } from "@mui/base";
2618
2646
 
2619
2647
  // src/components/Sheet/Sheet.tsx
@@ -2763,9 +2791,9 @@ function parseDate(dateString, format) {
2763
2791
  var formatToPattern = (format) => {
2764
2792
  return format.replace(/YYYY/g, "Y").replace(/MM/g, "M").replace(/DD/g, "D").replace(/[^YMD\s]/g, (match) => `${match}\``);
2765
2793
  };
2766
- var TextMaskAdapter3 = React18.forwardRef(function TextMaskAdapter4(props, ref) {
2794
+ var TextMaskAdapter3 = React19.forwardRef(function TextMaskAdapter4(props, ref) {
2767
2795
  const { onChange, format, ...other } = props;
2768
- return /* @__PURE__ */ React18.createElement(
2796
+ return /* @__PURE__ */ React19.createElement(
2769
2797
  IMaskInput,
2770
2798
  {
2771
2799
  ...other,
@@ -2801,7 +2829,7 @@ var TextMaskAdapter3 = React18.forwardRef(function TextMaskAdapter4(props, ref)
2801
2829
  );
2802
2830
  });
2803
2831
  var DatePicker = forwardRef6((inProps, ref) => {
2804
- const props = useThemeProps4({ props: inProps, name: "DatePicker" });
2832
+ const props = useThemeProps5({ props: inProps, name: "DatePicker" });
2805
2833
  const {
2806
2834
  onChange,
2807
2835
  disabled,
@@ -2832,13 +2860,13 @@ var DatePicker = forwardRef6((inProps, ref) => {
2832
2860
  const [value, setValue] = useControlledState(
2833
2861
  props.value,
2834
2862
  props.defaultValue || "",
2835
- useCallback8((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
2863
+ useCallback9((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
2836
2864
  );
2837
2865
  const isAlphabeticDisplay = hasAlphabeticMonth(displayFormat);
2838
- const [displayValue, setDisplayValue] = useState7(
2866
+ const [displayValue, setDisplayValue] = useState8(
2839
2867
  () => value ? formatValueString(parseDate(value, format), displayFormat, locale) : ""
2840
2868
  );
2841
- const [anchorEl, setAnchorEl] = useState7(null);
2869
+ const [anchorEl, setAnchorEl] = useState8(null);
2842
2870
  const open = Boolean(anchorEl);
2843
2871
  useEffect4(() => {
2844
2872
  if (!anchorEl) {
@@ -2856,7 +2884,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
2856
2884
  }
2857
2885
  }, [displayFormat, displayValue, format, locale, value]);
2858
2886
  useImperativeHandle(ref, () => innerRef.current, [innerRef]);
2859
- const handleChange = useCallback8(
2887
+ const handleChange = useCallback9(
2860
2888
  (event) => {
2861
2889
  const value2 = event.target.value;
2862
2890
  setDisplayValue(value2 ? formatValueString(parseDate(value2, format), displayFormat, locale) : value2);
@@ -2864,7 +2892,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
2864
2892
  },
2865
2893
  [displayFormat, format, locale, setValue]
2866
2894
  );
2867
- const handleDisplayInputChange = useCallback8(
2895
+ const handleDisplayInputChange = useCallback9(
2868
2896
  (event) => {
2869
2897
  if (event.target.value === "") {
2870
2898
  handleChange({
@@ -2889,7 +2917,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
2889
2917
  },
2890
2918
  [displayFormat, format, handleChange, props.name]
2891
2919
  );
2892
- const handleCalendarToggle = useCallback8(
2920
+ const handleCalendarToggle = useCallback9(
2893
2921
  (event) => {
2894
2922
  setAnchorEl(anchorEl ? null : event.currentTarget);
2895
2923
  setTimeout(() => {
@@ -2898,7 +2926,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
2898
2926
  },
2899
2927
  [anchorEl, setAnchorEl, innerRef]
2900
2928
  );
2901
- const handleInputMouseDown = useCallback8(
2929
+ const handleInputMouseDown = useCallback9(
2902
2930
  (event) => {
2903
2931
  if (inputReadOnly || isAlphabeticDisplay) {
2904
2932
  event.preventDefault();
@@ -2907,7 +2935,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
2907
2935
  },
2908
2936
  [inputReadOnly, isAlphabeticDisplay, buttonRef]
2909
2937
  );
2910
- const handlePresetClick = useCallback8(
2938
+ const handlePresetClick = useCallback9(
2911
2939
  (presetValue) => {
2912
2940
  handleChange({
2913
2941
  target: {
@@ -2919,7 +2947,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
2919
2947
  },
2920
2948
  [handleChange, props.name]
2921
2949
  );
2922
- const isPresetDisabled = useCallback8(
2950
+ const isPresetDisabled = useCallback9(
2923
2951
  (presetValue) => {
2924
2952
  try {
2925
2953
  const date = parseDate(presetValue, format);
@@ -2936,7 +2964,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
2936
2964
  },
2937
2965
  [format, minDate, maxDate, disableFuture, disablePast, shouldDisableDate]
2938
2966
  );
2939
- return /* @__PURE__ */ React18.createElement(DatePickerRoot, null, /* @__PURE__ */ React18.createElement(FocusTrap, { open: true }, /* @__PURE__ */ React18.createElement(React18.Fragment, null, /* @__PURE__ */ React18.createElement(
2967
+ return /* @__PURE__ */ React19.createElement(DatePickerRoot, null, /* @__PURE__ */ React19.createElement(FocusTrap, { open: true }, /* @__PURE__ */ React19.createElement(React19.Fragment, null, /* @__PURE__ */ React19.createElement(
2940
2968
  Input_default,
2941
2969
  {
2942
2970
  ...innerProps,
@@ -2963,7 +2991,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
2963
2991
  },
2964
2992
  className,
2965
2993
  sx,
2966
- endDecorator: /* @__PURE__ */ React18.createElement(
2994
+ endDecorator: /* @__PURE__ */ React19.createElement(
2967
2995
  CalendarButton,
2968
2996
  {
2969
2997
  ref: buttonRef,
@@ -2975,13 +3003,13 @@ var DatePicker = forwardRef6((inProps, ref) => {
2975
3003
  "aria-expanded": open,
2976
3004
  disabled
2977
3005
  },
2978
- /* @__PURE__ */ React18.createElement(CalendarTodayIcon, null)
3006
+ /* @__PURE__ */ React19.createElement(CalendarTodayIcon, null)
2979
3007
  ),
2980
3008
  label,
2981
3009
  helperText,
2982
3010
  readOnly: readOnly || inputReadOnly || isAlphabeticDisplay
2983
3011
  }
2984
- ), open && /* @__PURE__ */ React18.createElement(ClickAwayListener, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ React18.createElement(
3012
+ ), open && /* @__PURE__ */ React19.createElement(ClickAwayListener, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ React19.createElement(
2985
3013
  StyledPopper,
2986
3014
  {
2987
3015
  id: "date-picker-popper",
@@ -3000,7 +3028,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
3000
3028
  "aria-label": "Calendar Tooltip",
3001
3029
  "aria-expanded": open
3002
3030
  },
3003
- /* @__PURE__ */ React18.createElement(CalendarSheet, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React18.createElement(CalendarSheetContent, null, /* @__PURE__ */ React18.createElement(CalendarSection, null, /* @__PURE__ */ React18.createElement(
3031
+ /* @__PURE__ */ React19.createElement(CalendarSheet, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React19.createElement(CalendarSheetContent, null, /* @__PURE__ */ React19.createElement(CalendarSection, null, /* @__PURE__ */ React19.createElement(
3004
3032
  Calendar_default,
3005
3033
  {
3006
3034
  value: value && !Number.isNaN(parseDate(value, format).getTime()) ? [parseDate(value, format), void 0] : void 0,
@@ -3020,14 +3048,14 @@ var DatePicker = forwardRef6((inProps, ref) => {
3020
3048
  shouldDisableDate: shouldDisableDate ? (date) => shouldDisableDate(formatValueString(date, format)) : void 0,
3021
3049
  locale
3022
3050
  }
3023
- ), !hideClearButton && /* @__PURE__ */ React18.createElement(
3051
+ ), !hideClearButton && /* @__PURE__ */ React19.createElement(
3024
3052
  DialogActions_default,
3025
3053
  {
3026
3054
  sx: {
3027
3055
  p: 1
3028
3056
  }
3029
3057
  },
3030
- /* @__PURE__ */ React18.createElement(
3058
+ /* @__PURE__ */ React19.createElement(
3031
3059
  Button_default,
3032
3060
  {
3033
3061
  size,
@@ -3045,9 +3073,9 @@ var DatePicker = forwardRef6((inProps, ref) => {
3045
3073
  },
3046
3074
  "Clear"
3047
3075
  )
3048
- )), presets && presets.length > 0 && /* @__PURE__ */ React18.createElement(PresetPanel, null, presets.map((preset) => {
3076
+ )), presets && presets.length > 0 && /* @__PURE__ */ React19.createElement(PresetPanel, null, presets.map((preset) => {
3049
3077
  const disabled2 = isPresetDisabled(preset.value);
3050
- return /* @__PURE__ */ React18.createElement(
3078
+ return /* @__PURE__ */ React19.createElement(
3051
3079
  PresetItem,
3052
3080
  {
3053
3081
  key: preset.label,
@@ -3068,7 +3096,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
3068
3096
  var DatePicker_default = DatePicker;
3069
3097
 
3070
3098
  // src/components/Textarea/Textarea.tsx
3071
- import React19 from "react";
3099
+ import React20 from "react";
3072
3100
  import { Textarea as JoyTextarea } from "@mui/joy";
3073
3101
  import { motion as motion19 } from "framer-motion";
3074
3102
  var MotionTextarea = motion19(JoyTextarea);
@@ -3088,7 +3116,7 @@ var Textarea = (props) => {
3088
3116
  className,
3089
3117
  ...innerProps
3090
3118
  } = props;
3091
- const textarea = /* @__PURE__ */ React19.createElement(
3119
+ const textarea = /* @__PURE__ */ React20.createElement(
3092
3120
  MotionTextarea,
3093
3121
  {
3094
3122
  required,
@@ -3100,7 +3128,7 @@ var Textarea = (props) => {
3100
3128
  ...innerProps
3101
3129
  }
3102
3130
  );
3103
- return /* @__PURE__ */ React19.createElement(
3131
+ return /* @__PURE__ */ React20.createElement(
3104
3132
  FormControl_default,
3105
3133
  {
3106
3134
  required,
@@ -3111,9 +3139,9 @@ var Textarea = (props) => {
3111
3139
  sx,
3112
3140
  className
3113
3141
  },
3114
- label && /* @__PURE__ */ React19.createElement(FormLabel_default, null, label),
3142
+ label && /* @__PURE__ */ React20.createElement(FormLabel_default, null, label),
3115
3143
  textarea,
3116
- helperText && /* @__PURE__ */ React19.createElement(FormHelperText_default, null, helperText)
3144
+ helperText && /* @__PURE__ */ React20.createElement(FormHelperText_default, null, helperText)
3117
3145
  );
3118
3146
  };
3119
3147
  Textarea.displayName = "Textarea";
@@ -3122,8 +3150,13 @@ Textarea.displayName = "Textarea";
3122
3150
  var Textarea_default = Textarea;
3123
3151
 
3124
3152
  // src/components/Select/Select.tsx
3125
- import React20, { useMemo as useMemo7 } from "react";
3126
- import { Select as JoySelect, Option as JoyOption, ListItemContent as ListItemContent2, Typography as Typography4 } from "@mui/joy";
3153
+ import React21, { useMemo as useMemo8 } from "react";
3154
+ import {
3155
+ Select as JoySelect,
3156
+ Option as JoyOption,
3157
+ ListItemContent as ListItemContent2,
3158
+ Typography as Typography4
3159
+ } from "@mui/joy";
3127
3160
  import { motion as motion20 } from "framer-motion";
3128
3161
  var MotionOption = motion20(JoyOption);
3129
3162
  var Option = MotionOption;
@@ -3148,7 +3181,7 @@ function Select(props) {
3148
3181
  className,
3149
3182
  ...innerProps
3150
3183
  } = props;
3151
- const options = useMemo7(
3184
+ const options = useMemo8(
3152
3185
  () => props.options.map((option) => {
3153
3186
  if (option.hasOwnProperty("value") && option.hasOwnProperty("label")) {
3154
3187
  return option;
@@ -3173,14 +3206,14 @@ function Select(props) {
3173
3206
  };
3174
3207
  onChange?.(newEvent, newValue);
3175
3208
  };
3176
- const optionMap = useMemo7(() => {
3209
+ const optionMap = useMemo8(() => {
3177
3210
  const map = /* @__PURE__ */ new Map();
3178
3211
  options.forEach((option) => {
3179
3212
  map.set(option.value, option);
3180
3213
  });
3181
3214
  return map;
3182
3215
  }, [options]);
3183
- const select = /* @__PURE__ */ React20.createElement(
3216
+ const select = /* @__PURE__ */ React21.createElement(
3184
3217
  JoySelect,
3185
3218
  {
3186
3219
  ...innerProps,
@@ -3197,9 +3230,9 @@ function Select(props) {
3197
3230
  return optionMap.get(selected.value)?.label;
3198
3231
  }
3199
3232
  },
3200
- options.map((option) => /* @__PURE__ */ React20.createElement(Option, { key: option.value, value: option.value, disabled: option.disabled }, option.secondaryText ? /* @__PURE__ */ React20.createElement(ListItemContent2, { sx: { gap: 0.5 } }, /* @__PURE__ */ React20.createElement(Typography4, { level: "inherit" }, option.label), /* @__PURE__ */ React20.createElement(Typography4, { level: secondaryTextLevelMap2[size ?? "md"], textColor: "text.tertiary" }, option.secondaryText)) : option.label))
3233
+ options.map((option) => /* @__PURE__ */ React21.createElement(Option, { key: option.value, value: option.value, disabled: option.disabled }, option.secondaryText ? /* @__PURE__ */ React21.createElement(ListItemContent2, { sx: { gap: 0.5 } }, /* @__PURE__ */ React21.createElement(Typography4, { level: "inherit" }, option.label), /* @__PURE__ */ React21.createElement(Typography4, { level: secondaryTextLevelMap2[size ?? "md"], textColor: "text.tertiary" }, option.secondaryText)) : option.label))
3201
3234
  );
3202
- return /* @__PURE__ */ React20.createElement(
3235
+ return /* @__PURE__ */ React21.createElement(
3203
3236
  FormControl_default,
3204
3237
  {
3205
3238
  required,
@@ -3210,9 +3243,9 @@ function Select(props) {
3210
3243
  sx,
3211
3244
  className
3212
3245
  },
3213
- label && /* @__PURE__ */ React20.createElement(FormLabel_default, null, label),
3246
+ label && /* @__PURE__ */ React21.createElement(FormLabel_default, null, label),
3214
3247
  select,
3215
- helperText && /* @__PURE__ */ React20.createElement(FormHelperText_default, null, helperText)
3248
+ helperText && /* @__PURE__ */ React21.createElement(FormHelperText_default, null, helperText)
3216
3249
  );
3217
3250
  }
3218
3251
  Select.displayName = "Select";
@@ -3224,7 +3257,7 @@ var Select_default = Select;
3224
3257
  import { Link } from "@mui/joy";
3225
3258
 
3226
3259
  // src/components/InfoSign/InfoSign.tsx
3227
- import React21 from "react";
3260
+ import React22 from "react";
3228
3261
  import { styled as styled11, tooltipClasses } from "@mui/joy";
3229
3262
  import MuiInfoIcon from "@mui/icons-material/Info";
3230
3263
  var InfoIcon = styled11(MuiInfoIcon, {
@@ -3237,7 +3270,7 @@ var InfoIcon = styled11(MuiInfoIcon, {
3237
3270
  }));
3238
3271
  function InfoSign(props) {
3239
3272
  const { message, placement } = props;
3240
- return /* @__PURE__ */ React21.createElement(
3273
+ return /* @__PURE__ */ React22.createElement(
3241
3274
  Tooltip_default,
3242
3275
  {
3243
3276
  arrow: true,
@@ -3247,9 +3280,9 @@ function InfoSign(props) {
3247
3280
  maxWidth: "320px"
3248
3281
  }
3249
3282
  },
3250
- title: message?.split("\n").map((line, i) => /* @__PURE__ */ React21.createElement("div", { key: `info-sign-${i}` }, line))
3283
+ title: message?.split("\n").map((line, i) => /* @__PURE__ */ React22.createElement("div", { key: `info-sign-${i}` }, line))
3251
3284
  },
3252
- /* @__PURE__ */ React21.createElement(InfoIcon, null)
3285
+ /* @__PURE__ */ React22.createElement(InfoIcon, null)
3253
3286
  );
3254
3287
  }
3255
3288
 
@@ -3263,7 +3296,7 @@ var TextEllipsis = ({
3263
3296
  ...rest
3264
3297
  }) => {
3265
3298
  const textRef = useRef5(null);
3266
- const [showTooltip, setShowTooltip] = useState8(false);
3299
+ const [showTooltip, setShowTooltip] = useState9(false);
3267
3300
  useLayoutEffect(() => {
3268
3301
  const element = textRef.current;
3269
3302
  if (!element) return;
@@ -3276,11 +3309,11 @@ var TextEllipsis = ({
3276
3309
  ro.observe(element);
3277
3310
  return () => ro.disconnect();
3278
3311
  }, [children, lineClamp]);
3279
- return /* @__PURE__ */ React22.createElement(Tooltip_default, { title: showTooltip ? children : "", placement: "top" }, /* @__PURE__ */ React22.createElement(EllipsisDiv, { ref: textRef, lineClamp, ...rest }, children));
3312
+ return /* @__PURE__ */ React23.createElement(Tooltip_default, { title: showTooltip ? children : "", placement: "top" }, /* @__PURE__ */ React23.createElement(EllipsisDiv, { ref: textRef, lineClamp, ...rest }, children));
3280
3313
  };
3281
3314
  var CellTextEllipsis = ({ children }) => {
3282
3315
  const textRef = useRef5(null);
3283
- const [showTooltip, setShowTooltip] = useState8(false);
3316
+ const [showTooltip, setShowTooltip] = useState9(false);
3284
3317
  useLayoutEffect(() => {
3285
3318
  const element = textRef.current;
3286
3319
  if (element) {
@@ -3288,9 +3321,9 @@ var CellTextEllipsis = ({ children }) => {
3288
3321
  setShowTooltip(isTextTruncated);
3289
3322
  }
3290
3323
  }, [children]);
3291
- const content = /* @__PURE__ */ React22.createElement(EllipsisDiv, { ref: textRef }, children);
3324
+ const content = /* @__PURE__ */ React23.createElement(EllipsisDiv, { ref: textRef }, children);
3292
3325
  if (showTooltip) {
3293
- return /* @__PURE__ */ React22.createElement(
3326
+ return /* @__PURE__ */ React23.createElement(
3294
3327
  Tooltip_default,
3295
3328
  {
3296
3329
  title: children,
@@ -3338,14 +3371,14 @@ var HeadCell = (props) => {
3338
3371
  useLayoutEffect(() => {
3339
3372
  ref.current = localRef.current;
3340
3373
  }, [ref]);
3341
- const [isHovered, setIsHovered] = useState8(false);
3374
+ const [isHovered, setIsHovered] = useState9(false);
3342
3375
  const sortable = type === "actions" ? false : _sortable;
3343
- const headId = useMemo8(
3376
+ const headId = useMemo9(
3344
3377
  () => `${tableId}_header_${headerName ?? field}`.trim(),
3345
3378
  [tableId, headerName, field]
3346
3379
  );
3347
3380
  const isResizingRef = useRef5(false);
3348
- const resizer = useMemo8(
3381
+ const resizer = useMemo9(
3349
3382
  () => resizable ?? true ? Resizer(
3350
3383
  ref,
3351
3384
  colRef,
@@ -3356,7 +3389,7 @@ var HeadCell = (props) => {
3356
3389
  ) : null,
3357
3390
  [resizable, ref, colRef, onAutoFit, field]
3358
3391
  );
3359
- const style = useMemo8(
3392
+ const style = useMemo9(
3360
3393
  () => ({
3361
3394
  width,
3362
3395
  minWidth: minWidth ?? "50px",
@@ -3374,10 +3407,10 @@ var HeadCell = (props) => {
3374
3407
  );
3375
3408
  const textAlign = getTextAlign(props);
3376
3409
  const initialSort = sortOrder[0];
3377
- const sortIcon = useMemo8(() => {
3410
+ const sortIcon = useMemo9(() => {
3378
3411
  const isSorted = !!sort;
3379
3412
  const isVisible = sortable && (isSorted || isHovered);
3380
- return /* @__PURE__ */ React22.createElement(AnimatePresence2, { mode: "wait" }, isVisible && /* @__PURE__ */ React22.createElement(
3413
+ return /* @__PURE__ */ React23.createElement(AnimatePresence2, { mode: "wait" }, isVisible && /* @__PURE__ */ React23.createElement(
3381
3414
  MotionSortIcon,
3382
3415
  {
3383
3416
  key: "sort-icon",
@@ -3405,21 +3438,21 @@ var HeadCell = (props) => {
3405
3438
  }
3406
3439
  ));
3407
3440
  }, [headId, initialSort, sort, sortable, isHovered]);
3408
- const infoSign = useMemo8(
3409
- () => description ? /* @__PURE__ */ React22.createElement(InfoSign_default, { message: description, placement: "bottom" }) : null,
3441
+ const infoSign = useMemo9(
3442
+ () => description ? /* @__PURE__ */ React23.createElement(InfoSign_default, { message: description, placement: "bottom" }) : null,
3410
3443
  [description]
3411
3444
  );
3412
- const params = useMemo8(
3445
+ const params = useMemo9(
3413
3446
  () => ({
3414
3447
  field
3415
3448
  }),
3416
3449
  [field]
3417
3450
  );
3418
- const computedHeaderClassName = useMemo8(
3451
+ const computedHeaderClassName = useMemo9(
3419
3452
  () => (typeof headerClassName === "function" ? headerClassName(params) : headerClassName) || void 0,
3420
3453
  [headerClassName, params]
3421
3454
  );
3422
- return /* @__PURE__ */ React22.createElement(
3455
+ return /* @__PURE__ */ React23.createElement(
3423
3456
  StyledTh,
3424
3457
  {
3425
3458
  id: headId,
@@ -3428,7 +3461,7 @@ var HeadCell = (props) => {
3428
3461
  ref: localRef,
3429
3462
  key: field,
3430
3463
  style,
3431
- onClick: useCallback9(
3464
+ onClick: useCallback10(
3432
3465
  (e) => {
3433
3466
  if (isResizingRef.current) return;
3434
3467
  if (!(e.target instanceof Element) || !e.currentTarget.contains(e.target)) return;
@@ -3442,7 +3475,7 @@ var HeadCell = (props) => {
3442
3475
  initial: "initial",
3443
3476
  className: computedHeaderClassName
3444
3477
  },
3445
- /* @__PURE__ */ React22.createElement(Stack_default, { gap: 1, direction: "row", justifyContent: textAlign, alignItems: "center", sx: { minWidth: 0 } }, textAlign === "end" && sortIcon, textAlign === "end" && infoSign, /* @__PURE__ */ React22.createElement(TextEllipsis, { lineClamp: headerLineClamp, "data-slot": "header-text" }, headerName ?? field, editMode && required && /* @__PURE__ */ React22.createElement(Asterisk, null, "*")), textAlign === "start" && infoSign, textAlign === "start" && sortIcon),
3478
+ /* @__PURE__ */ React23.createElement(Stack_default, { gap: 1, direction: "row", justifyContent: textAlign, alignItems: "center", sx: { minWidth: 0 } }, textAlign === "end" && sortIcon, textAlign === "end" && infoSign, /* @__PURE__ */ React23.createElement(TextEllipsis, { lineClamp: headerLineClamp, "data-slot": "header-text" }, headerName ?? field, editMode && required && /* @__PURE__ */ React23.createElement(Asterisk, null, "*")), textAlign === "start" && infoSign, textAlign === "start" && sortIcon),
3446
3479
  resizer
3447
3480
  );
3448
3481
  };
@@ -3467,9 +3500,9 @@ var BodyCell = (props) => {
3467
3500
  onCellEditStop
3468
3501
  } = props;
3469
3502
  const theme = useTheme();
3470
- const [value, setValue] = useState8(row[field]);
3503
+ const [value, setValue] = useState9(row[field]);
3471
3504
  const cellRef = useRef5(null);
3472
- const params = useMemo8(
3505
+ const params = useMemo9(
3473
3506
  () => ({
3474
3507
  row,
3475
3508
  value,
@@ -3478,20 +3511,20 @@ var BodyCell = (props) => {
3478
3511
  }),
3479
3512
  [row, rowId, value, field]
3480
3513
  );
3481
- const editMode = useMemo8(
3514
+ const editMode = useMemo9(
3482
3515
  () => !!(props.editMode && (typeof isCellEditable === "function" ? isCellEditable(params) : isCellEditable ?? true)),
3483
3516
  [props.editMode, isCellEditable, params]
3484
3517
  );
3485
3518
  const propsComponentProps = "componentProps" in props ? props.componentProps : null;
3486
3519
  const hasComponentProps = "componentProps" in props;
3487
- const componentProps = useMemo8(
3520
+ const componentProps = useMemo9(
3488
3521
  () => ({
3489
3522
  ...hasComponentProps && (typeof propsComponentProps === "function" ? propsComponentProps(params) : propsComponentProps || {}),
3490
3523
  size: "sm"
3491
3524
  }),
3492
3525
  [hasComponentProps, propsComponentProps, params]
3493
3526
  );
3494
- const editModeComponentProps = useMemo8(
3527
+ const editModeComponentProps = useMemo9(
3495
3528
  () => ({
3496
3529
  ...componentProps,
3497
3530
  onChange: (e) => {
@@ -3553,25 +3586,25 @@ var BodyCell = (props) => {
3553
3586
  }),
3554
3587
  [params, row, field, value, componentProps, type, onCellEditStop, onCellEditStart]
3555
3588
  );
3556
- const MemoizedRenderEditCell = useMemo8(() => renderEditCell ? memo(renderEditCell) : null, [renderEditCell]);
3557
- const MemoizedRenderCell = useMemo8(() => renderCell ? memo(renderCell) : null, [renderCell]);
3558
- const EditModeComponent = useMemo8(() => {
3589
+ const MemoizedRenderEditCell = useMemo9(() => renderEditCell ? memo(renderEditCell) : null, [renderEditCell]);
3590
+ const MemoizedRenderCell = useMemo9(() => renderCell ? memo(renderCell) : null, [renderCell]);
3591
+ const EditModeComponent = useMemo9(() => {
3559
3592
  if (MemoizedRenderEditCell) {
3560
3593
  return createElement(MemoizedRenderEditCell, params);
3561
3594
  }
3562
3595
  return {
3563
- date: /* @__PURE__ */ React22.createElement(DatePicker_default, { value, ...editModeComponentProps }),
3564
- currency: /* @__PURE__ */ React22.createElement(
3596
+ date: /* @__PURE__ */ React23.createElement(DatePicker_default, { value, ...editModeComponentProps }),
3597
+ currency: /* @__PURE__ */ React23.createElement(
3565
3598
  CurrencyInput_default,
3566
3599
  {
3567
3600
  value,
3568
3601
  ...editModeComponentProps
3569
3602
  }
3570
3603
  ),
3571
- number: /* @__PURE__ */ React22.createElement(Input_default, { value, type: "number", ...editModeComponentProps }),
3572
- text: /* @__PURE__ */ React22.createElement(Input_default, { value, type: "text", ...editModeComponentProps }),
3573
- longText: /* @__PURE__ */ React22.createElement(Textarea_default, { value, ...editModeComponentProps }),
3574
- autocomplete: /* @__PURE__ */ React22.createElement(
3604
+ number: /* @__PURE__ */ React23.createElement(Input_default, { value, type: "number", ...editModeComponentProps }),
3605
+ text: /* @__PURE__ */ React23.createElement(Input_default, { value, type: "text", ...editModeComponentProps }),
3606
+ longText: /* @__PURE__ */ React23.createElement(Textarea_default, { value, ...editModeComponentProps }),
3607
+ autocomplete: /* @__PURE__ */ React23.createElement(
3575
3608
  Autocomplete_default,
3576
3609
  {
3577
3610
  value,
@@ -3579,7 +3612,7 @@ var BodyCell = (props) => {
3579
3612
  ...editModeComponentProps
3580
3613
  }
3581
3614
  ),
3582
- select: /* @__PURE__ */ React22.createElement(
3615
+ select: /* @__PURE__ */ React23.createElement(
3583
3616
  Select_default,
3584
3617
  {
3585
3618
  value,
@@ -3590,13 +3623,13 @@ var BodyCell = (props) => {
3590
3623
  }[type || "text"];
3591
3624
  }, [value, editModeComponentProps, type, MemoizedRenderEditCell, params]);
3592
3625
  const linkComponentFromProps = props.component;
3593
- const ReadModeComponent = useMemo8(() => {
3626
+ const ReadModeComponent = useMemo9(() => {
3594
3627
  if (MemoizedRenderCell) {
3595
3628
  return createElement(MemoizedRenderCell, params);
3596
3629
  }
3597
3630
  const innerText = value;
3598
3631
  const typedComponent = {
3599
- link: React22.createElement(linkComponentFromProps || Link, {
3632
+ link: React23.createElement(linkComponentFromProps || Link, {
3600
3633
  children: innerText,
3601
3634
  ...componentProps
3602
3635
  })
@@ -3604,22 +3637,22 @@ var BodyCell = (props) => {
3604
3637
  return typedComponent || innerText;
3605
3638
  }, [value, MemoizedRenderCell, params, type, componentProps, linkComponentFromProps]);
3606
3639
  const getActions = props.getActions;
3607
- const CellComponent = useMemo8(() => {
3640
+ const CellComponent = useMemo9(() => {
3608
3641
  if (type === "actions") {
3609
- return /* @__PURE__ */ React22.createElement(Stack_default, { direction: "row", gap: 1, justifyContent: "center", alignItems: "center" }, getActions?.(params));
3642
+ return /* @__PURE__ */ React23.createElement(Stack_default, { direction: "row", gap: 1, justifyContent: "center", alignItems: "center" }, getActions?.(params));
3610
3643
  }
3611
3644
  return editMode && EditModeComponent ? EditModeComponent : ReadModeComponent;
3612
3645
  }, [type, getActions, params, editMode, EditModeComponent, ReadModeComponent]);
3613
- const showTooltip = useMemo8(() => noWrap && type === "longText", [noWrap, type]);
3646
+ const showTooltip = useMemo9(() => noWrap && type === "longText", [noWrap, type]);
3614
3647
  const isBoundary = props.isLastStartPinnedColumn || props.isLastEndPinnedColumn;
3615
- const computedCellClassName = useMemo8(
3648
+ const computedCellClassName = useMemo9(
3616
3649
  () => (typeof cellClassName === "function" ? cellClassName(params) : cellClassName) || "",
3617
3650
  [cellClassName, params]
3618
3651
  );
3619
3652
  useEffect5(() => {
3620
3653
  setValue(row[field]);
3621
3654
  }, [row, field]);
3622
- return /* @__PURE__ */ React22.createElement(
3655
+ return /* @__PURE__ */ React23.createElement(
3623
3656
  StyledTd,
3624
3657
  {
3625
3658
  ref: cellRef,
@@ -3636,8 +3669,8 @@ var BodyCell = (props) => {
3636
3669
  },
3637
3670
  className: [isLastStartPinnedColumn && "is-last-left", isLastEndPinnedColumn && "is-last-right", computedCellClassName].filter(Boolean).join(" ") || ""
3638
3671
  },
3639
- useMemo8(
3640
- () => showTooltip ? /* @__PURE__ */ React22.createElement(CellTextEllipsis, null, CellComponent) : CellComponent,
3672
+ useMemo9(
3673
+ () => showTooltip ? /* @__PURE__ */ React23.createElement(CellTextEllipsis, null, CellComponent) : CellComponent,
3641
3674
  [CellComponent, showTooltip]
3642
3675
  )
3643
3676
  );
@@ -3645,7 +3678,7 @@ var BodyCell = (props) => {
3645
3678
  var BodyRow = memo(
3646
3679
  (props) => {
3647
3680
  const { tableId, columns, rowId, editMode, noWrap, row } = props;
3648
- return /* @__PURE__ */ React22.createElement(React22.Fragment, null, columns.map((column, i) => /* @__PURE__ */ React22.createElement(
3681
+ return /* @__PURE__ */ React23.createElement(React23.Fragment, null, columns.map((column, i) => /* @__PURE__ */ React23.createElement(
3649
3682
  BodyCell,
3650
3683
  {
3651
3684
  key: `${rowId}_${column.field.toString()}_${i}`,
@@ -3689,9 +3722,9 @@ var VirtualizedTableRow = memo(StyledTableRow2, (prevProps, nextProps) => {
3689
3722
  });
3690
3723
 
3691
3724
  // src/components/DataTable/hooks.ts
3692
- import { useState as useState9, useLayoutEffect as useLayoutEffect2, useRef as useRef6, useMemo as useMemo9, useCallback as useCallback10, useEffect as useEffect6, createRef } from "react";
3725
+ import { useState as useState10, useLayoutEffect as useLayoutEffect2, useRef as useRef6, useMemo as useMemo10, useCallback as useCallback11, useEffect as useEffect6, createRef } from "react";
3693
3726
  function useColumnWidths(columnsByField) {
3694
- const [widths, setWidths] = useState9({});
3727
+ const [widths, setWidths] = useState10({});
3695
3728
  const roRef = useRef6();
3696
3729
  useLayoutEffect2(() => {
3697
3730
  if (roRef.current) roRef.current.disconnect();
@@ -3752,31 +3785,31 @@ function useDataTableRenderer({
3752
3785
  }
3753
3786
  const onSelectionModelChangeRef = useRef6(onSelectionModelChange);
3754
3787
  onSelectionModelChangeRef.current = onSelectionModelChange;
3755
- const [focusedRowId, setFocusedRowId] = useState9(null);
3756
- const [selectionAnchor, setSelectionAnchor] = useState9(null);
3788
+ const [focusedRowId, setFocusedRowId] = useState10(null);
3789
+ const [selectionAnchor, setSelectionAnchor] = useState10(null);
3757
3790
  const [sortModel, setSortModel] = useControlledState(
3758
3791
  controlledSortModel,
3759
3792
  initialState?.sorting?.sortModel ?? [],
3760
- useCallback10((sortModel2) => onSortModelChange?.(sortModel2), [onSortModelChange])
3793
+ useCallback11((sortModel2) => onSortModelChange?.(sortModel2), [onSortModelChange])
3761
3794
  );
3762
3795
  const [visibilityModel] = useControlledState(
3763
3796
  columnVisibilityModel,
3764
3797
  initialState?.columns?.columnVisibilityModel ?? {},
3765
- useCallback10(
3798
+ useCallback11(
3766
3799
  (model) => onColumnVisibilityModelChange?.(model),
3767
3800
  [onColumnVisibilityModelChange]
3768
3801
  )
3769
3802
  );
3770
- const reorderedColumns = useMemo9(() => {
3803
+ const reorderedColumns = useMemo10(() => {
3771
3804
  if (!columnGroupingModel) return columnsProp;
3772
3805
  return reorderColumnsByGroupingModel(columnsProp, columnGroupingModel);
3773
3806
  }, [columnsProp, columnGroupingModel]);
3774
- const visibleColumns = useMemo9(
3807
+ const visibleColumns = useMemo10(
3775
3808
  () => reorderedColumns.filter((col) => visibilityModel[col.field] !== false),
3776
3809
  [reorderedColumns, visibilityModel]
3777
3810
  );
3778
- const visibleFieldSet = useMemo9(() => new Set(visibleColumns.map((c) => c.field)), [visibleColumns]);
3779
- const tableMinWidth = useMemo9(() => {
3811
+ const visibleFieldSet = useMemo10(() => new Set(visibleColumns.map((c) => c.field)), [visibleColumns]);
3812
+ const tableMinWidth = useMemo10(() => {
3780
3813
  const DEFAULT_MIN = 50;
3781
3814
  let total = checkboxSelection ? 40 : 0;
3782
3815
  for (const col of visibleColumns) {
@@ -3784,7 +3817,7 @@ function useDataTableRenderer({
3784
3817
  }
3785
3818
  return total;
3786
3819
  }, [visibleColumns, checkboxSelection]);
3787
- const allColumnsByField = useMemo9(
3820
+ const allColumnsByField = useMemo10(
3788
3821
  () => reorderedColumns.reduce(
3789
3822
  (acc, curr) => ({
3790
3823
  ...acc,
@@ -3794,7 +3827,7 @@ function useDataTableRenderer({
3794
3827
  ),
3795
3828
  [reorderedColumns]
3796
3829
  );
3797
- const visibleColumnsByField = useMemo9(
3830
+ const visibleColumnsByField = useMemo10(
3798
3831
  () => visibleColumns.reduce(
3799
3832
  (acc, curr) => ({
3800
3833
  ...acc,
@@ -3808,7 +3841,7 @@ function useDataTableRenderer({
3808
3841
  ),
3809
3842
  [visibleColumns]
3810
3843
  );
3811
- const sortComparator = useCallback10(
3844
+ const sortComparator = useCallback11(
3812
3845
  (rowA, rowB) => {
3813
3846
  for (const sort of sortModel) {
3814
3847
  const { field, sort: direction } = sort;
@@ -3837,33 +3870,33 @@ function useDataTableRenderer({
3837
3870
  },
3838
3871
  [sortModel, allColumnsByField]
3839
3872
  );
3840
- const rows = useMemo9(
3873
+ const rows = useMemo10(
3841
3874
  () => sortModel.length ? [..._rows].sort(sortComparator) : _rows,
3842
3875
  [_rows, sortModel, sortComparator]
3843
3876
  );
3844
- const sortOrder = useMemo9(
3877
+ const sortOrder = useMemo10(
3845
3878
  () => Array.from(new Set(_sortOrder || ["asc", "desc", null])),
3846
3879
  [_sortOrder]
3847
3880
  );
3848
- const [page, setPage] = useState9(paginationModel?.page || 1);
3881
+ const [page, setPage] = useState10(paginationModel?.page || 1);
3849
3882
  const pageSize = paginationModel?.pageSize || 20;
3850
- const getId = useCallback10(
3883
+ const getId = useCallback11(
3851
3884
  (row, index) => _getId?.(row) ?? row.id ?? `${(index || 0) + (page - 1) * pageSize}`,
3852
3885
  [_getId, page, pageSize]
3853
3886
  );
3854
- const selectedModelSet = useMemo9(() => new Set(selectionModel || []), [selectionModel]);
3855
- const dataInPage = useMemo9(
3887
+ const selectedModelSet = useMemo10(() => new Set(selectionModel || []), [selectionModel]);
3888
+ const dataInPage = useMemo10(
3856
3889
  () => !pagination || paginationMode === "server" ? rows : rows.slice((page - 1) * pageSize, (page - 1) * pageSize + pageSize),
3857
3890
  [rows, page, pageSize, paginationMode, pagination]
3858
3891
  );
3859
- const selectableDataInPage = useMemo9(
3892
+ const selectableDataInPage = useMemo10(
3860
3893
  () => dataInPage.filter((row, i) => {
3861
3894
  if (!isRowSelectable) return true;
3862
3895
  return isRowSelectable({ row, id: getId(row, i) });
3863
3896
  }),
3864
3897
  [dataInPage, isRowSelectable, getId]
3865
3898
  );
3866
- const handleRangeSelection = useCallback10(
3899
+ const handleRangeSelection = useCallback11(
3867
3900
  (anchor, targetIndex) => {
3868
3901
  const startIndex = Math.min(anchor.rowIndex, targetIndex);
3869
3902
  const endIndex = Math.max(anchor.rowIndex, targetIndex);
@@ -3886,38 +3919,38 @@ function useDataTableRenderer({
3886
3919
  },
3887
3920
  [dataInPage, getId, isRowSelectable, selectionModel, onSelectionModelChange]
3888
3921
  );
3889
- const isAllSelected = useMemo9(
3922
+ const isAllSelected = useMemo10(
3890
3923
  () => selectableDataInPage.length > 0 && selectableDataInPage.every((row, i) => selectedModelSet.has(getId(row, i))),
3891
3924
  [selectableDataInPage, selectedModelSet, getId]
3892
3925
  );
3893
3926
  const rowCount = totalRowsProp || rows.length;
3894
- const selectableRowCount = useMemo9(() => {
3927
+ const selectableRowCount = useMemo10(() => {
3895
3928
  if (!isRowSelectable) return rowCount;
3896
3929
  return rows.filter((row, i) => isRowSelectable({ row, id: getId(row, i) })).length;
3897
3930
  }, [rows, isRowSelectable, getId, rowCount]);
3898
- const isTotalSelected = useMemo9(
3931
+ const isTotalSelected = useMemo10(
3899
3932
  () => _isTotalSelected ?? (selectableRowCount > 0 && (selectionModel?.length || 0) === selectableRowCount),
3900
3933
  [_isTotalSelected, selectionModel, selectableRowCount]
3901
3934
  );
3902
3935
  const columnWidths = useColumnWidths(visibleColumnsByField);
3903
- const getWidth = useCallback10(
3936
+ const getWidth = useCallback11(
3904
3937
  (f) => columnWidths[f] ?? allColumnsByField[f]?.width ?? // Column prop 으로 지정된 width
3905
3938
  allColumnsByField[f]?.minWidth ?? 0,
3906
3939
  [columnWidths, allColumnsByField]
3907
3940
  );
3908
- const processedColumnGroups = useMemo9(() => {
3941
+ const processedColumnGroups = useMemo10(() => {
3909
3942
  if (!columnGroupingModel) return null;
3910
3943
  return calculateColumnGroups(columnGroupingModel, visibleColumns, visibleFieldSet);
3911
3944
  }, [columnGroupingModel, visibleColumns, visibleFieldSet]);
3912
- const effectivePinnedLeft = useMemo9(
3945
+ const effectivePinnedLeft = useMemo10(
3913
3946
  () => pinnedColumns?.left?.filter((f) => visibleFieldSet.has(f)),
3914
3947
  [pinnedColumns?.left, visibleFieldSet]
3915
3948
  );
3916
- const effectivePinnedRight = useMemo9(
3949
+ const effectivePinnedRight = useMemo10(
3917
3950
  () => pinnedColumns?.right?.filter((f) => visibleFieldSet.has(f)),
3918
3951
  [pinnedColumns?.right, visibleFieldSet]
3919
3952
  );
3920
- const columns = useMemo9(() => {
3953
+ const columns = useMemo10(() => {
3921
3954
  const baseColumns = visibleColumns.length > 0 ? visibleColumns : reorderedColumns.length > 0 ? [] : Object.keys(rows[0] || {}).map((key) => ({
3922
3955
  field: key
3923
3956
  }));
@@ -3952,14 +3985,14 @@ function useDataTableRenderer({
3952
3985
  sortOrder,
3953
3986
  getWidth
3954
3987
  ]);
3955
- const handlePageChange = useCallback10(
3988
+ const handlePageChange = useCallback11(
3956
3989
  (newPage) => {
3957
3990
  setPage(newPage);
3958
3991
  onPaginationModelChange?.({ page: newPage, pageSize });
3959
3992
  },
3960
3993
  [onPaginationModelChange, pageSize]
3961
3994
  );
3962
- const handleSortChange = useCallback10(
3995
+ const handleSortChange = useCallback11(
3963
3996
  (props) => {
3964
3997
  const { field, currentSort, multiple } = props;
3965
3998
  const column = allColumnsByField[field];
@@ -4004,7 +4037,7 @@ function useDataTableRenderer({
4004
4037
  prevRowsRef.current = _rows;
4005
4038
  }
4006
4039
  }, [_rows]);
4007
- const handleAutoFit = useCallback10(
4040
+ const handleAutoFit = useCallback11(
4008
4041
  (field) => {
4009
4042
  const colDef = visibleColumnsByField[field];
4010
4043
  if (!colDef?.headerRef.current) return;
@@ -4037,8 +4070,8 @@ function useDataTableRenderer({
4037
4070
  handleAutoFit,
4038
4071
  isAllSelected,
4039
4072
  isTotalSelected,
4040
- isSelectedRow: useCallback10((model) => selectedModelSet.has(model), [selectedModelSet]),
4041
- isRowSelectable: useCallback10(
4073
+ isSelectedRow: useCallback11((model) => selectedModelSet.has(model), [selectedModelSet]),
4074
+ isRowSelectable: useCallback11(
4042
4075
  (rowId, row) => {
4043
4076
  if (!isRowSelectable) return true;
4044
4077
  return isRowSelectable({ row, id: rowId });
@@ -4046,13 +4079,13 @@ function useDataTableRenderer({
4046
4079
  [isRowSelectable]
4047
4080
  ),
4048
4081
  focusedRowId,
4049
- onRowFocus: useCallback10((rowId) => {
4082
+ onRowFocus: useCallback11((rowId) => {
4050
4083
  setFocusedRowId(rowId);
4051
4084
  }, []),
4052
- onAllCheckboxChange: useCallback10(() => {
4085
+ onAllCheckboxChange: useCallback11(() => {
4053
4086
  onSelectionModelChange?.(isAllSelected ? [] : selectableDataInPage.map(getId));
4054
4087
  }, [isAllSelected, selectableDataInPage, onSelectionModelChange, getId]),
4055
- onCheckboxChange: useCallback10(
4088
+ onCheckboxChange: useCallback11(
4056
4089
  (event, selectedModel) => {
4057
4090
  const isShiftClick = "shiftKey" in event && event.shiftKey;
4058
4091
  const rowIndex = dataInPage.findIndex((row, i) => getId(row, i) === selectedModel);
@@ -4086,7 +4119,7 @@ function useDataTableRenderer({
4086
4119
  columns,
4087
4120
  tableMinWidth,
4088
4121
  processedColumnGroups,
4089
- onTotalSelect: useCallback10(() => {
4122
+ onTotalSelect: useCallback11(() => {
4090
4123
  const selectableRows = rows.filter((row, i) => {
4091
4124
  if (!isRowSelectable) return true;
4092
4125
  return isRowSelectable({ row, id: getId(row, i) });
@@ -4100,11 +4133,11 @@ function useDataTableRenderer({
4100
4133
  }
4101
4134
 
4102
4135
  // src/components/Table/Table.tsx
4103
- import React23 from "react";
4136
+ import React24 from "react";
4104
4137
  import { Table as JoyTable } from "@mui/joy";
4105
4138
  var Table = (props) => {
4106
4139
  const { children, ...inheritProps } = props;
4107
- return /* @__PURE__ */ React23.createElement(JoyTable, { ...inheritProps }, children);
4140
+ return /* @__PURE__ */ React24.createElement(JoyTable, { ...inheritProps }, children);
4108
4141
  };
4109
4142
  Table.displayName = "Table";
4110
4143
  function TableHead(props) {
@@ -4115,7 +4148,7 @@ function TableHead(props) {
4115
4148
  slots: { checkbox: RenderCheckbox = Checkbox_default } = {},
4116
4149
  slotProps: { checkbox: checkboxProps = {} } = {}
4117
4150
  } = props;
4118
- return /* @__PURE__ */ React23.createElement("thead", null, /* @__PURE__ */ React23.createElement("tr", null, showCheckbox && /* @__PURE__ */ React23.createElement(
4151
+ return /* @__PURE__ */ React24.createElement("thead", null, /* @__PURE__ */ React24.createElement("tr", null, showCheckbox && /* @__PURE__ */ React24.createElement(
4119
4152
  "th",
4120
4153
  {
4121
4154
  style: {
@@ -4123,8 +4156,8 @@ function TableHead(props) {
4123
4156
  textAlign: "center"
4124
4157
  }
4125
4158
  },
4126
- /* @__PURE__ */ React23.createElement(RenderCheckbox, { onChange: onCheckboxChange, ...checkboxProps })
4127
- ), headCells.map((headCell) => /* @__PURE__ */ React23.createElement(
4159
+ /* @__PURE__ */ React24.createElement(RenderCheckbox, { onChange: onCheckboxChange, ...checkboxProps })
4160
+ ), headCells.map((headCell) => /* @__PURE__ */ React24.createElement(
4128
4161
  "th",
4129
4162
  {
4130
4163
  key: headCell.label,
@@ -4149,15 +4182,15 @@ function TableBody(props) {
4149
4182
  slots: { checkbox: RenderCheckbox = Checkbox_default } = {},
4150
4183
  slotProps: { checkbox: checkboxProps = {} } = {}
4151
4184
  } = props;
4152
- return /* @__PURE__ */ React23.createElement("tbody", null, rows.map((row, rowIndex) => /* @__PURE__ */ React23.createElement("tr", { key: `table-row-${rowIndex}` }, showCheckbox && /* @__PURE__ */ React23.createElement(
4185
+ return /* @__PURE__ */ React24.createElement("tbody", null, rows.map((row, rowIndex) => /* @__PURE__ */ React24.createElement("tr", { key: `table-row-${rowIndex}` }, showCheckbox && /* @__PURE__ */ React24.createElement(
4153
4186
  "td",
4154
4187
  {
4155
4188
  style: {
4156
4189
  textAlign: "center"
4157
4190
  }
4158
4191
  },
4159
- /* @__PURE__ */ React23.createElement(RenderCheckbox, { onChange: (event) => onCheckboxChange?.(event, rowIndex), ...checkboxProps })
4160
- ), cellOrder.map((cellKey) => /* @__PURE__ */ React23.createElement(
4192
+ /* @__PURE__ */ React24.createElement(RenderCheckbox, { onChange: (event) => onCheckboxChange?.(event, rowIndex), ...checkboxProps })
4193
+ ), cellOrder.map((cellKey) => /* @__PURE__ */ React24.createElement(
4161
4194
  "td",
4162
4195
  {
4163
4196
  key: cellKey,
@@ -4171,12 +4204,12 @@ function TableBody(props) {
4171
4204
  TableBody.displayName = "TableBody";
4172
4205
 
4173
4206
  // src/components/Pagination/Pagination.tsx
4174
- import React24, { useCallback as useCallback11, useEffect as useEffect7 } from "react";
4207
+ import React25, { useCallback as useCallback12, useEffect as useEffect7 } from "react";
4175
4208
  import PreviousIcon from "@mui/icons-material/ChevronLeftRounded";
4176
4209
  import NextIcon from "@mui/icons-material/ChevronRightRounded";
4177
4210
  import FirstPageIcon from "@mui/icons-material/FirstPageRounded";
4178
4211
  import LastPageIcon from "@mui/icons-material/LastPageRounded";
4179
- import { styled as styled13 } from "@mui/joy";
4212
+ import { styled as styled13, useThemeProps as useThemeProps6 } from "@mui/joy";
4180
4213
  var PaginationButton = styled13(Button_default, {
4181
4214
  name: "Pagination",
4182
4215
  slot: "button"
@@ -4227,7 +4260,8 @@ var PaginationContainer = styled13(Stack_default, {
4227
4260
  lg: theme.spacing(2)
4228
4261
  }[size]
4229
4262
  }));
4230
- function Pagination(props) {
4263
+ function Pagination(inProps) {
4264
+ const props = useThemeProps6({ props: inProps, name: "Pagination" });
4231
4265
  const {
4232
4266
  paginationModel: _paginationModel,
4233
4267
  defaultPaginationModel = { page: 1, pageSize: 25 },
@@ -4240,7 +4274,7 @@ function Pagination(props) {
4240
4274
  const [paginationModel, setPaginationModel] = useControlledState(
4241
4275
  _paginationModel,
4242
4276
  defaultPaginationModel,
4243
- useCallback11(
4277
+ useCallback12(
4244
4278
  (newPage) => {
4245
4279
  onPageChange(newPage.page);
4246
4280
  },
@@ -4266,7 +4300,7 @@ function Pagination(props) {
4266
4300
  value: `${i + 1}`
4267
4301
  }));
4268
4302
  if (variant === "compact") {
4269
- return /* @__PURE__ */ React24.createElement(PaginationRoot, { ...innerProps }, /* @__PURE__ */ React24.createElement(PaginationContainer, { direction: "row", size, alignItems: "center" }, /* @__PURE__ */ React24.createElement(Stack_default, { direction: "row" }, /* @__PURE__ */ React24.createElement(
4303
+ return /* @__PURE__ */ React25.createElement(PaginationRoot, { ...innerProps }, /* @__PURE__ */ React25.createElement(PaginationContainer, { direction: "row", size, alignItems: "center" }, /* @__PURE__ */ React25.createElement(Stack_default, { direction: "row" }, /* @__PURE__ */ React25.createElement(
4270
4304
  PaginationIconButton,
4271
4305
  {
4272
4306
  size,
@@ -4276,8 +4310,8 @@ function Pagination(props) {
4276
4310
  disabled: paginationModel.page === firstPage,
4277
4311
  "aria-label": "First page"
4278
4312
  },
4279
- /* @__PURE__ */ React24.createElement(FirstPageIcon, null)
4280
- ), /* @__PURE__ */ React24.createElement(
4313
+ /* @__PURE__ */ React25.createElement(FirstPageIcon, null)
4314
+ ), /* @__PURE__ */ React25.createElement(
4281
4315
  PaginationIconButton,
4282
4316
  {
4283
4317
  size,
@@ -4287,8 +4321,8 @@ function Pagination(props) {
4287
4321
  disabled: paginationModel.page === firstPage,
4288
4322
  "aria-label": "Previous page"
4289
4323
  },
4290
- /* @__PURE__ */ React24.createElement(PreviousIcon, null)
4291
- )), /* @__PURE__ */ React24.createElement(
4324
+ /* @__PURE__ */ React25.createElement(PreviousIcon, null)
4325
+ )), /* @__PURE__ */ React25.createElement(
4292
4326
  Autocomplete_default,
4293
4327
  {
4294
4328
  size,
@@ -4307,7 +4341,7 @@ function Pagination(props) {
4307
4341
  }[size]
4308
4342
  }
4309
4343
  }
4310
- ), /* @__PURE__ */ React24.createElement(
4344
+ ), /* @__PURE__ */ React25.createElement(
4311
4345
  Typography_default,
4312
4346
  {
4313
4347
  level: `body-${size}`,
@@ -4318,7 +4352,7 @@ function Pagination(props) {
4318
4352
  },
4319
4353
  "/ ",
4320
4354
  lastPage
4321
- ), /* @__PURE__ */ React24.createElement(Stack_default, { direction: "row" }, /* @__PURE__ */ React24.createElement(
4355
+ ), /* @__PURE__ */ React25.createElement(Stack_default, { direction: "row" }, /* @__PURE__ */ React25.createElement(
4322
4356
  PaginationIconButton,
4323
4357
  {
4324
4358
  size,
@@ -4328,8 +4362,8 @@ function Pagination(props) {
4328
4362
  disabled: paginationModel.page === lastPage,
4329
4363
  "aria-label": "Next page"
4330
4364
  },
4331
- /* @__PURE__ */ React24.createElement(NextIcon, null)
4332
- ), /* @__PURE__ */ React24.createElement(
4365
+ /* @__PURE__ */ React25.createElement(NextIcon, null)
4366
+ ), /* @__PURE__ */ React25.createElement(
4333
4367
  PaginationIconButton,
4334
4368
  {
4335
4369
  size,
@@ -4339,10 +4373,10 @@ function Pagination(props) {
4339
4373
  disabled: paginationModel.page === lastPage,
4340
4374
  "aria-label": "Last page"
4341
4375
  },
4342
- /* @__PURE__ */ React24.createElement(LastPageIcon, null)
4376
+ /* @__PURE__ */ React25.createElement(LastPageIcon, null)
4343
4377
  ))));
4344
4378
  }
4345
- return /* @__PURE__ */ React24.createElement(PaginationRoot, { ...innerProps }, /* @__PURE__ */ React24.createElement(PaginationContainer, { direction: "row", size, alignItems: "center" }, /* @__PURE__ */ React24.createElement(
4379
+ return /* @__PURE__ */ React25.createElement(PaginationRoot, { ...innerProps }, /* @__PURE__ */ React25.createElement(PaginationContainer, { direction: "row", size, alignItems: "center" }, /* @__PURE__ */ React25.createElement(
4346
4380
  PaginationIconButton,
4347
4381
  {
4348
4382
  size,
@@ -4352,8 +4386,8 @@ function Pagination(props) {
4352
4386
  disabled: paginationModel.page === firstPage,
4353
4387
  "aria-label": "Previous page"
4354
4388
  },
4355
- /* @__PURE__ */ React24.createElement(PreviousIcon, null)
4356
- ), paginationModel.page !== firstPage && /* @__PURE__ */ React24.createElement(PaginationButton, { size, variant: "plain", color: "neutral", onClick: () => handlePageChange(firstPage) }, firstPage), isMoreBeforePages && /* @__PURE__ */ React24.createElement(
4389
+ /* @__PURE__ */ React25.createElement(PreviousIcon, null)
4390
+ ), paginationModel.page !== firstPage && /* @__PURE__ */ React25.createElement(PaginationButton, { size, variant: "plain", color: "neutral", onClick: () => handlePageChange(firstPage) }, firstPage), isMoreBeforePages && /* @__PURE__ */ React25.createElement(
4357
4391
  PaginationButton,
4358
4392
  {
4359
4393
  size,
@@ -4363,7 +4397,7 @@ function Pagination(props) {
4363
4397
  "aria-label": "More previous pages"
4364
4398
  },
4365
4399
  "..."
4366
- ), beforePages.map((p) => /* @__PURE__ */ React24.createElement(PaginationButton, { key: p, size, variant: "plain", color: "neutral", onClick: () => handlePageChange(p) }, p)), /* @__PURE__ */ React24.createElement(PaginationButton, { active: "active", size, "aria-current": "page" }, paginationModel.page), afterPages.map((p) => /* @__PURE__ */ React24.createElement(PaginationButton, { key: p, size, variant: "plain", color: "neutral", onClick: () => handlePageChange(p) }, p)), isMoreAfterPages && /* @__PURE__ */ React24.createElement(
4400
+ ), beforePages.map((p) => /* @__PURE__ */ React25.createElement(PaginationButton, { key: p, size, variant: "plain", color: "neutral", onClick: () => handlePageChange(p) }, p)), /* @__PURE__ */ React25.createElement(PaginationButton, { active: "active", size, "aria-current": "page" }, paginationModel.page), afterPages.map((p) => /* @__PURE__ */ React25.createElement(PaginationButton, { key: p, size, variant: "plain", color: "neutral", onClick: () => handlePageChange(p) }, p)), isMoreAfterPages && /* @__PURE__ */ React25.createElement(
4367
4401
  PaginationButton,
4368
4402
  {
4369
4403
  size,
@@ -4373,7 +4407,7 @@ function Pagination(props) {
4373
4407
  onClick: () => handlePageChange(paginationModel.page + 3)
4374
4408
  },
4375
4409
  "..."
4376
- ), paginationModel.page !== lastPage && /* @__PURE__ */ React24.createElement(PaginationButton, { size, variant: "plain", color: "neutral", onClick: () => handlePageChange(lastPage) }, lastPage), /* @__PURE__ */ React24.createElement(
4410
+ ), paginationModel.page !== lastPage && /* @__PURE__ */ React25.createElement(PaginationButton, { size, variant: "plain", color: "neutral", onClick: () => handlePageChange(lastPage) }, lastPage), /* @__PURE__ */ React25.createElement(
4377
4411
  PaginationIconButton,
4378
4412
  {
4379
4413
  size,
@@ -4383,7 +4417,7 @@ function Pagination(props) {
4383
4417
  disabled: paginationModel.page === lastPage,
4384
4418
  "aria-label": "Next page"
4385
4419
  },
4386
- /* @__PURE__ */ React24.createElement(NextIcon, null)
4420
+ /* @__PURE__ */ React25.createElement(NextIcon, null)
4387
4421
  )));
4388
4422
  }
4389
4423
  Pagination.displayName = "Pagination";
@@ -4495,10 +4529,10 @@ function Component(props, apiRef) {
4495
4529
  measureElement: (element) => element.clientHeight,
4496
4530
  overscan: 10
4497
4531
  });
4498
- const paginationModel = useMemo10(() => ({ page, pageSize }), [page, pageSize]);
4532
+ const paginationModel = useMemo11(() => ({ page, pageSize }), [page, pageSize]);
4499
4533
  const columnsKey = getObjectVersion(columns);
4500
- const headerCheckboxElement = useMemo10(
4501
- () => /* @__PURE__ */ React25.createElement(
4534
+ const headerCheckboxElement = useMemo11(
4535
+ () => /* @__PURE__ */ React26.createElement(
4502
4536
  RenderCheckbox,
4503
4537
  {
4504
4538
  onChange: onAllCheckboxChange,
@@ -4522,20 +4556,20 @@ function Component(props, apiRef) {
4522
4556
  const virtualizedItems = virtualizer.getVirtualItems();
4523
4557
  const showNoRowsOverlay = !loading && rowCount === 0;
4524
4558
  const totalColCount = Math.max(1, columns.length + (checkboxSelection ? 1 : 0));
4525
- const getRowClickHandler = useCallback12(
4559
+ const getRowClickHandler = useCallback13(
4526
4560
  (row, rowId) => (e) => {
4527
4561
  onRowClick?.({ row, rowId }, e);
4528
4562
  checkboxSelection && !disableSelectionOnClick && isRowSelectableCheck(rowId, row) && onCheckboxChange(e, rowId);
4529
4563
  },
4530
4564
  [onRowClick, checkboxSelection, disableSelectionOnClick, onCheckboxChange, isRowSelectableCheck]
4531
4565
  );
4532
- const getRowFocusHandler = useCallback12(
4566
+ const getRowFocusHandler = useCallback13(
4533
4567
  (rowId) => () => {
4534
4568
  onRowFocus(rowId);
4535
4569
  },
4536
4570
  [onRowFocus]
4537
4571
  );
4538
- const getCheckboxClickHandler = useCallback12(
4572
+ const getCheckboxClickHandler = useCallback13(
4539
4573
  (rowId, row) => (e) => {
4540
4574
  e.stopPropagation();
4541
4575
  if (isRowSelectableCheck(rowId, row)) {
@@ -4545,7 +4579,7 @@ function Component(props, apiRef) {
4545
4579
  },
4546
4580
  [onCheckboxChange, isRowSelectableCheck, onRowFocus]
4547
4581
  );
4548
- const handleTableKeyDown = useCallback12(
4582
+ const handleTableKeyDown = useCallback13(
4549
4583
  (e) => {
4550
4584
  const supportedKeys = ["ArrowUp", "ArrowDown", " ", "Home", "End", "PageUp", "PageDown"];
4551
4585
  if (!supportedKeys.includes(e.key)) return;
@@ -4651,7 +4685,7 @@ function Component(props, apiRef) {
4651
4685
  });
4652
4686
  }
4653
4687
  }));
4654
- return /* @__PURE__ */ React25.createElement(
4688
+ return /* @__PURE__ */ React26.createElement(
4655
4689
  Box_default,
4656
4690
  {
4657
4691
  sx: {
@@ -4661,7 +4695,7 @@ function Component(props, apiRef) {
4661
4695
  flexDirection: "column"
4662
4696
  }
4663
4697
  },
4664
- (!!checkboxSelection || !!Toolbar) && /* @__PURE__ */ React25.createElement(
4698
+ (!!checkboxSelection || !!Toolbar) && /* @__PURE__ */ React26.createElement(
4665
4699
  Stack_default,
4666
4700
  {
4667
4701
  direction: "row",
@@ -4671,10 +4705,10 @@ function Component(props, apiRef) {
4671
4705
  justifyContent: "space-between",
4672
4706
  alignItems: "center"
4673
4707
  },
4674
- !!checkboxSelection && /* @__PURE__ */ React25.createElement(Stack_default, { direction: "row", spacing: 1 }, !isAllSelected && /* @__PURE__ */ React25.createElement(Typography_default, { level: "body-xs" }, numberFormatter(selectionModel?.length || 0), " items selected"), isAllSelected && !isTotalSelected && /* @__PURE__ */ React25.createElement(Stack_default, { direction: "row", spacing: 1, alignItems: "center" }, /* @__PURE__ */ React25.createElement(Typography_default, { level: "body-xs" }, "All ", numberFormatter(selectionModel?.length || 0), " items on this page are selected."), /* @__PURE__ */ React25.createElement(Button_default, { size: "sm", variant: "plain", onClick: onTotalSelect }, "Select all ", numberFormatter(selectableRowCount), " items")), isTotalSelected && /* @__PURE__ */ React25.createElement(Stack_default, { direction: "row", spacing: 1, alignItems: "center" }, /* @__PURE__ */ React25.createElement(Typography_default, { level: "body-xs" }, "All ", numberFormatter(selectableRowCount), " items are selected."), /* @__PURE__ */ React25.createElement(Button_default, { size: "sm", variant: "plain", color: "danger", onClick: onTotalSelect }, "Cancel"))),
4675
- Toolbar && /* @__PURE__ */ React25.createElement(Toolbar, { ...toolbarProps || {} })
4708
+ !!checkboxSelection && /* @__PURE__ */ React26.createElement(Stack_default, { direction: "row", spacing: 1 }, !isAllSelected && /* @__PURE__ */ React26.createElement(Typography_default, { level: "body-xs" }, numberFormatter(selectionModel?.length || 0), " items selected"), isAllSelected && !isTotalSelected && /* @__PURE__ */ React26.createElement(Stack_default, { direction: "row", spacing: 1, alignItems: "center" }, /* @__PURE__ */ React26.createElement(Typography_default, { level: "body-xs" }, "All ", numberFormatter(selectionModel?.length || 0), " items on this page are selected."), /* @__PURE__ */ React26.createElement(Button_default, { size: "sm", variant: "plain", onClick: onTotalSelect }, "Select all ", numberFormatter(selectableRowCount), " items")), isTotalSelected && /* @__PURE__ */ React26.createElement(Stack_default, { direction: "row", spacing: 1, alignItems: "center" }, /* @__PURE__ */ React26.createElement(Typography_default, { level: "body-xs" }, "All ", numberFormatter(selectableRowCount), " items are selected."), /* @__PURE__ */ React26.createElement(Button_default, { size: "sm", variant: "plain", color: "danger", onClick: onTotalSelect }, "Cancel"))),
4709
+ Toolbar && /* @__PURE__ */ React26.createElement(Toolbar, { ...toolbarProps || {} })
4676
4710
  ),
4677
- /* @__PURE__ */ React25.createElement(
4711
+ /* @__PURE__ */ React26.createElement(
4678
4712
  Sheet_default,
4679
4713
  {
4680
4714
  variant: "outlined",
@@ -4695,14 +4729,14 @@ function Component(props, apiRef) {
4695
4729
  ref: parentRef,
4696
4730
  ...backgroundProps
4697
4731
  },
4698
- /* @__PURE__ */ React25.createElement(Table, { ...innerProps, sx: { ...innerProps.sx, minWidth: tableMinWidth } }, /* @__PURE__ */ React25.createElement("colgroup", null, checkboxSelection && /* @__PURE__ */ React25.createElement(
4732
+ /* @__PURE__ */ React26.createElement(Table, { ...innerProps, sx: { ...innerProps.sx, minWidth: tableMinWidth } }, /* @__PURE__ */ React26.createElement("colgroup", null, checkboxSelection && /* @__PURE__ */ React26.createElement(
4699
4733
  "col",
4700
4734
  {
4701
4735
  style: {
4702
4736
  width: "40px"
4703
4737
  }
4704
4738
  }
4705
- ), columns.map((c) => /* @__PURE__ */ React25.createElement(
4739
+ ), columns.map((c) => /* @__PURE__ */ React26.createElement(
4706
4740
  "col",
4707
4741
  {
4708
4742
  ref: c.tableColRef,
@@ -4712,7 +4746,7 @@ function Component(props, apiRef) {
4712
4746
  minWidth: c.minWidth ?? "50px"
4713
4747
  }
4714
4748
  }
4715
- ))), /* @__PURE__ */ React25.createElement("thead", null, processedColumnGroups && processedColumnGroups.groups.length > 0 && processedColumnGroups.groups.map((levelGroups, level) => /* @__PURE__ */ React25.createElement("tr", { key: `group-level-${level}` }, checkboxSelection && level === 0 && /* @__PURE__ */ React25.createElement(
4749
+ ))), /* @__PURE__ */ React26.createElement("thead", null, processedColumnGroups && processedColumnGroups.groups.length > 0 && processedColumnGroups.groups.map((levelGroups, level) => /* @__PURE__ */ React26.createElement("tr", { key: `group-level-${level}` }, checkboxSelection && level === 0 && /* @__PURE__ */ React26.createElement(
4716
4750
  "th",
4717
4751
  {
4718
4752
  rowSpan: processedColumnGroups.maxLevel + 2,
@@ -4723,12 +4757,12 @@ function Component(props, apiRef) {
4723
4757
  }
4724
4758
  },
4725
4759
  headerCheckboxElement
4726
- ), level > 0 && Array.from({ length: levelGroups[0]?.startIndex || 0 }).map((_2, i) => /* @__PURE__ */ React25.createElement("th", { key: `empty-${level}-${i}` })), levelGroups.filter((g) => g.colspan > 0).map((group, groupIndex) => {
4760
+ ), level > 0 && Array.from({ length: levelGroups[0]?.startIndex || 0 }).map((_2, i) => /* @__PURE__ */ React26.createElement("th", { key: `empty-${level}-${i}` })), levelGroups.filter((g) => g.colspan > 0).map((group, groupIndex) => {
4727
4761
  const nextGroup = levelGroups[groupIndex + 1];
4728
4762
  const emptyCells = nextGroup ? nextGroup.startIndex - (group.startIndex + group.colspan) : columns.length - (group.startIndex + group.colspan);
4729
4763
  const params = { groupId: group.groupId };
4730
4764
  const computedHeaderClassName = group.headerClassName ? typeof group.headerClassName === "function" ? group.headerClassName(params) : group.headerClassName : void 0;
4731
- return /* @__PURE__ */ React25.createElement(Fragment2, { key: group.groupId }, /* @__PURE__ */ React25.createElement(
4765
+ return /* @__PURE__ */ React26.createElement(Fragment2, { key: group.groupId }, /* @__PURE__ */ React26.createElement(
4732
4766
  "th",
4733
4767
  {
4734
4768
  colSpan: group.colspan,
@@ -4740,8 +4774,8 @@ function Component(props, apiRef) {
4740
4774
  className: computedHeaderClassName
4741
4775
  },
4742
4776
  group.headerName ?? group.groupId
4743
- ), emptyCells > 0 && Array.from({ length: emptyCells }).map((_2, i) => /* @__PURE__ */ React25.createElement("th", { key: `empty-between-${level}-${groupIndex}-${i}`, colSpan: 1 })));
4744
- }))), /* @__PURE__ */ React25.createElement("tr", null, (!processedColumnGroups || processedColumnGroups.groups.length === 0) && checkboxSelection && /* @__PURE__ */ React25.createElement(
4777
+ ), emptyCells > 0 && Array.from({ length: emptyCells }).map((_2, i) => /* @__PURE__ */ React26.createElement("th", { key: `empty-between-${level}-${groupIndex}-${i}`, colSpan: 1 })));
4778
+ }))), /* @__PURE__ */ React26.createElement("tr", null, (!processedColumnGroups || processedColumnGroups.groups.length === 0) && checkboxSelection && /* @__PURE__ */ React26.createElement(
4745
4779
  "th",
4746
4780
  {
4747
4781
  style: {
@@ -4752,7 +4786,7 @@ function Component(props, apiRef) {
4752
4786
  headerCheckboxElement
4753
4787
  ), columns.map((c, i) => (
4754
4788
  // @ts-ignore
4755
- /* @__PURE__ */ React25.createElement(
4789
+ /* @__PURE__ */ React26.createElement(
4756
4790
  HeadCell2,
4757
4791
  {
4758
4792
  tableId,
@@ -4764,7 +4798,7 @@ function Component(props, apiRef) {
4764
4798
  ...c
4765
4799
  }
4766
4800
  )
4767
- )))), /* @__PURE__ */ React25.createElement(
4801
+ )))), /* @__PURE__ */ React26.createElement(
4768
4802
  VirtualizedTableBody,
4769
4803
  {
4770
4804
  ref: tableBodyRef,
@@ -4775,7 +4809,7 @@ function Component(props, apiRef) {
4775
4809
  role: "rowgroup",
4776
4810
  "aria-label": "DataTableBody"
4777
4811
  },
4778
- !!loading && /* @__PURE__ */ React25.createElement(OverlayWrapper, null, /* @__PURE__ */ React25.createElement(
4812
+ !!loading && /* @__PURE__ */ React26.createElement(OverlayWrapper, null, /* @__PURE__ */ React26.createElement(
4779
4813
  "td",
4780
4814
  {
4781
4815
  style: {
@@ -4784,7 +4818,7 @@ function Component(props, apiRef) {
4784
4818
  overflow: "visible"
4785
4819
  }
4786
4820
  },
4787
- /* @__PURE__ */ React25.createElement(
4821
+ /* @__PURE__ */ React26.createElement(
4788
4822
  Box_default,
4789
4823
  {
4790
4824
  sx: {
@@ -4794,10 +4828,10 @@ function Component(props, apiRef) {
4794
4828
  right: 0
4795
4829
  }
4796
4830
  },
4797
- /* @__PURE__ */ React25.createElement(LoadingOverlay, null)
4831
+ /* @__PURE__ */ React26.createElement(LoadingOverlay, null)
4798
4832
  )
4799
4833
  )),
4800
- showNoRowsOverlay && /* @__PURE__ */ React25.createElement("tr", null, /* @__PURE__ */ React25.createElement("td", { colSpan: totalColCount, style: { border: "none" } }, /* @__PURE__ */ React25.createElement(
4834
+ showNoRowsOverlay && /* @__PURE__ */ React26.createElement("tr", null, /* @__PURE__ */ React26.createElement("td", { colSpan: totalColCount, style: { border: "none" } }, /* @__PURE__ */ React26.createElement(
4801
4835
  Box_default,
4802
4836
  {
4803
4837
  sx: {
@@ -4807,14 +4841,14 @@ function Component(props, apiRef) {
4807
4841
  minHeight: "150px"
4808
4842
  }
4809
4843
  },
4810
- /* @__PURE__ */ React25.createElement(NoRowsOverlay, { ...noRowsOverlayProps })
4844
+ /* @__PURE__ */ React26.createElement(NoRowsOverlay, { ...noRowsOverlayProps })
4811
4845
  ))),
4812
4846
  virtualizedItems.map((virtualizedRow, index) => {
4813
4847
  const rowIndex = virtualizedRow.index;
4814
4848
  const row = dataInPage[rowIndex];
4815
4849
  const rowId = getId(row, rowIndex);
4816
4850
  const striped = stripe && (stripe === "even" && (rowIndex + 1) % 2 === 0 || stripe === "odd" && (rowIndex + 1) % 2 === 1);
4817
- return /* @__PURE__ */ React25.createElement(
4851
+ return /* @__PURE__ */ React26.createElement(
4818
4852
  VirtualizedTableRow,
4819
4853
  {
4820
4854
  key: virtualizedRow.key,
@@ -4834,7 +4868,7 @@ function Component(props, apiRef) {
4834
4868
  transform: `translateY(${virtualizedRow.start - index * virtualizedRow.size}px)`
4835
4869
  }
4836
4870
  },
4837
- checkboxSelection && /* @__PURE__ */ React25.createElement(
4871
+ checkboxSelection && /* @__PURE__ */ React26.createElement(
4838
4872
  "th",
4839
4873
  {
4840
4874
  scope: "row",
@@ -4842,7 +4876,7 @@ function Component(props, apiRef) {
4842
4876
  textAlign: "center"
4843
4877
  }
4844
4878
  },
4845
- /* @__PURE__ */ React25.createElement(
4879
+ /* @__PURE__ */ React26.createElement(
4846
4880
  RenderCheckbox,
4847
4881
  {
4848
4882
  onClick: getCheckboxClickHandler(rowId, row),
@@ -4853,7 +4887,7 @@ function Component(props, apiRef) {
4853
4887
  }
4854
4888
  )
4855
4889
  ),
4856
- /* @__PURE__ */ React25.createElement(
4890
+ /* @__PURE__ */ React26.createElement(
4857
4891
  BodyRow2,
4858
4892
  {
4859
4893
  tableId,
@@ -4866,9 +4900,9 @@ function Component(props, apiRef) {
4866
4900
  )
4867
4901
  );
4868
4902
  })
4869
- ), Footer && /* @__PURE__ */ React25.createElement(Footer, null))
4903
+ ), Footer && /* @__PURE__ */ React26.createElement(Footer, null))
4870
4904
  ),
4871
- pagination && /* @__PURE__ */ React25.createElement(
4905
+ pagination && /* @__PURE__ */ React26.createElement(
4872
4906
  Pagination_default,
4873
4907
  {
4874
4908
  pt: 2,
@@ -4885,10 +4919,10 @@ var DataTable = forwardRef7(Component);
4885
4919
  DataTable.displayName = "DataTable";
4886
4920
 
4887
4921
  // src/components/DateRangePicker/DateRangePicker.tsx
4888
- import React26, { forwardRef as forwardRef8, useCallback as useCallback13, useEffect as useEffect8, useImperativeHandle as useImperativeHandle3, useMemo as useMemo11, useRef as useRef8, useState as useState10 } from "react";
4922
+ import React27, { forwardRef as forwardRef8, useCallback as useCallback14, useEffect as useEffect8, useImperativeHandle as useImperativeHandle3, useMemo as useMemo12, useRef as useRef8, useState as useState11 } from "react";
4889
4923
  import { IMaskInput as IMaskInput2, IMask as IMask2 } from "react-imask";
4890
4924
  import CalendarTodayIcon2 from "@mui/icons-material/CalendarToday";
4891
- import { styled as styled14, useThemeProps as useThemeProps5 } from "@mui/joy";
4925
+ import { styled as styled14, useThemeProps as useThemeProps7 } from "@mui/joy";
4892
4926
  import { FocusTrap as FocusTrap2, ClickAwayListener as ClickAwayListener2, Popper as Popper3 } from "@mui/base";
4893
4927
  var hasAlphabeticMonth2 = (format) => /MMMM|MMM/.test(format);
4894
4928
  var CalendarButton2 = styled14(IconButton_default, {
@@ -5027,9 +5061,9 @@ var parseDates = (str, format) => {
5027
5061
  var formatToPattern2 = (format) => {
5028
5062
  return `${format} - ${format}`.replace(/YYYY/g, "Y").replace(/MM/g, "M").replace(/DD/g, "D").replace(/[^YMD\s]/g, (match) => `${match}\``);
5029
5063
  };
5030
- var TextMaskAdapter5 = React26.forwardRef(function TextMaskAdapter6(props, ref) {
5064
+ var TextMaskAdapter5 = React27.forwardRef(function TextMaskAdapter6(props, ref) {
5031
5065
  const { onChange, format, ...other } = props;
5032
- return /* @__PURE__ */ React26.createElement(
5066
+ return /* @__PURE__ */ React27.createElement(
5033
5067
  IMaskInput2,
5034
5068
  {
5035
5069
  ...other,
@@ -5064,7 +5098,7 @@ var TextMaskAdapter5 = React26.forwardRef(function TextMaskAdapter6(props, ref)
5064
5098
  );
5065
5099
  });
5066
5100
  var DateRangePicker = forwardRef8((inProps, ref) => {
5067
- const props = useThemeProps5({ props: inProps, name: "DateRangePicker" });
5101
+ const props = useThemeProps7({ props: inProps, name: "DateRangePicker" });
5068
5102
  const {
5069
5103
  onChange,
5070
5104
  disabled,
@@ -5095,15 +5129,15 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
5095
5129
  const [value, setValue] = useControlledState(
5096
5130
  props.value,
5097
5131
  props.defaultValue || "",
5098
- useCallback13((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
5132
+ useCallback14((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
5099
5133
  );
5100
5134
  const isAlphabeticDisplay = hasAlphabeticMonth2(displayFormat);
5101
- const [displayValue, setDisplayValue] = useState10(
5135
+ const [displayValue, setDisplayValue] = useState11(
5102
5136
  () => value ? formatValueString2(parseDates(value, format), displayFormat, locale) : ""
5103
5137
  );
5104
- const [anchorEl, setAnchorEl] = useState10(null);
5138
+ const [anchorEl, setAnchorEl] = useState11(null);
5105
5139
  const open = Boolean(anchorEl);
5106
- const calendarValue = useMemo11(
5140
+ const calendarValue = useMemo12(
5107
5141
  () => value ? parseDates(value, format) : void 0,
5108
5142
  [value, format]
5109
5143
  );
@@ -5125,7 +5159,7 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
5125
5159
  }
5126
5160
  }, [anchorEl, innerRef]);
5127
5161
  useImperativeHandle3(ref, () => innerRef.current, [innerRef]);
5128
- const handleChange = useCallback13(
5162
+ const handleChange = useCallback14(
5129
5163
  (event) => {
5130
5164
  const value2 = event.target.value;
5131
5165
  setDisplayValue(value2 ? formatValueString2(parseDates(value2, format), displayFormat, locale) : value2);
@@ -5133,7 +5167,7 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
5133
5167
  },
5134
5168
  [displayFormat, format, locale, setValue]
5135
5169
  );
5136
- const handleDisplayInputChange = useCallback13(
5170
+ const handleDisplayInputChange = useCallback14(
5137
5171
  (event) => {
5138
5172
  if (event.target.value === "") {
5139
5173
  handleChange({
@@ -5158,14 +5192,14 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
5158
5192
  },
5159
5193
  [displayFormat, format, handleChange, props.name]
5160
5194
  );
5161
- const handleCalendarToggle = useCallback13(
5195
+ const handleCalendarToggle = useCallback14(
5162
5196
  (event) => {
5163
5197
  setAnchorEl(anchorEl ? null : event.currentTarget);
5164
5198
  innerRef.current?.focus();
5165
5199
  },
5166
5200
  [anchorEl, setAnchorEl, innerRef]
5167
5201
  );
5168
- const handleCalendarChange = useCallback13(
5202
+ const handleCalendarChange = useCallback14(
5169
5203
  ([date1, date2]) => {
5170
5204
  if (!date1 || !date2) return;
5171
5205
  const formattedValue = formatValueString2([date1, date2], format);
@@ -5179,7 +5213,7 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
5179
5213
  },
5180
5214
  [props.value, props.name, onChange, setValue, setAnchorEl, format, displayFormat, locale]
5181
5215
  );
5182
- const handleInputMouseDown = useCallback13(
5216
+ const handleInputMouseDown = useCallback14(
5183
5217
  (event) => {
5184
5218
  if (inputReadOnly || isAlphabeticDisplay) {
5185
5219
  event.preventDefault();
@@ -5188,7 +5222,7 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
5188
5222
  },
5189
5223
  [inputReadOnly, isAlphabeticDisplay, buttonRef]
5190
5224
  );
5191
- const handlePresetClick = useCallback13(
5225
+ const handlePresetClick = useCallback14(
5192
5226
  (presetValue) => {
5193
5227
  if (props.value !== void 0) {
5194
5228
  onChange?.({ target: { name: props.name, value: presetValue } });
@@ -5201,7 +5235,7 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
5201
5235
  },
5202
5236
  [props.value, props.name, onChange, setValue, setAnchorEl, format, displayFormat, locale]
5203
5237
  );
5204
- const isPresetDisabled = useCallback13(
5238
+ const isPresetDisabled = useCallback14(
5205
5239
  (presetValue) => {
5206
5240
  try {
5207
5241
  const dates = parseDates(presetValue, format);
@@ -5220,7 +5254,7 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
5220
5254
  },
5221
5255
  [format, minDate, maxDate, disableFuture, disablePast]
5222
5256
  );
5223
- return /* @__PURE__ */ React26.createElement(DateRangePickerRoot, null, /* @__PURE__ */ React26.createElement(FocusTrap2, { open: true }, /* @__PURE__ */ React26.createElement(React26.Fragment, null, /* @__PURE__ */ React26.createElement(
5257
+ return /* @__PURE__ */ React27.createElement(DateRangePickerRoot, null, /* @__PURE__ */ React27.createElement(FocusTrap2, { open: true }, /* @__PURE__ */ React27.createElement(React27.Fragment, null, /* @__PURE__ */ React27.createElement(
5224
5258
  Input_default,
5225
5259
  {
5226
5260
  ...innerProps,
@@ -5247,7 +5281,7 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
5247
5281
  error,
5248
5282
  className,
5249
5283
  sx,
5250
- endDecorator: /* @__PURE__ */ React26.createElement(
5284
+ endDecorator: /* @__PURE__ */ React27.createElement(
5251
5285
  CalendarButton2,
5252
5286
  {
5253
5287
  ref: buttonRef,
@@ -5259,13 +5293,13 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
5259
5293
  "aria-expanded": open,
5260
5294
  disabled
5261
5295
  },
5262
- /* @__PURE__ */ React26.createElement(CalendarTodayIcon2, null)
5296
+ /* @__PURE__ */ React27.createElement(CalendarTodayIcon2, null)
5263
5297
  ),
5264
5298
  label,
5265
5299
  helperText,
5266
5300
  readOnly: readOnly || inputReadOnly || isAlphabeticDisplay
5267
5301
  }
5268
- ), open && /* @__PURE__ */ React26.createElement(ClickAwayListener2, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ React26.createElement(
5302
+ ), open && /* @__PURE__ */ React27.createElement(ClickAwayListener2, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ React27.createElement(
5269
5303
  StyledPopper2,
5270
5304
  {
5271
5305
  id: "date-range-picker-popper",
@@ -5284,7 +5318,7 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
5284
5318
  "aria-label": "Calendar Tooltip",
5285
5319
  "aria-expanded": open
5286
5320
  },
5287
- /* @__PURE__ */ React26.createElement(CalendarSheet2, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React26.createElement(CalendarSheetContent2, null, /* @__PURE__ */ React26.createElement(CalendarSection2, { style: { width: "auto" } }, /* @__PURE__ */ React26.createElement(
5321
+ /* @__PURE__ */ React27.createElement(CalendarSheet2, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React27.createElement(CalendarSheetContent2, null, /* @__PURE__ */ React27.createElement(CalendarSection2, { style: { width: "auto" } }, /* @__PURE__ */ React27.createElement(
5288
5322
  Calendar_default,
5289
5323
  {
5290
5324
  rangeSelection: true,
@@ -5297,14 +5331,14 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
5297
5331
  locale,
5298
5332
  numberOfMonths
5299
5333
  }
5300
- ), !hideClearButton && /* @__PURE__ */ React26.createElement(
5334
+ ), !hideClearButton && /* @__PURE__ */ React27.createElement(
5301
5335
  DialogActions_default,
5302
5336
  {
5303
5337
  sx: {
5304
5338
  p: 1
5305
5339
  }
5306
5340
  },
5307
- /* @__PURE__ */ React26.createElement(
5341
+ /* @__PURE__ */ React27.createElement(
5308
5342
  Button_default,
5309
5343
  {
5310
5344
  size,
@@ -5318,9 +5352,9 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
5318
5352
  },
5319
5353
  "Clear"
5320
5354
  )
5321
- )), presets && presets.length > 0 && /* @__PURE__ */ React26.createElement(PresetPanel2, null, presets.map((preset) => {
5355
+ )), presets && presets.length > 0 && /* @__PURE__ */ React27.createElement(PresetPanel2, null, presets.map((preset) => {
5322
5356
  const disabled2 = isPresetDisabled(preset.value);
5323
- return /* @__PURE__ */ React26.createElement(
5357
+ return /* @__PURE__ */ React27.createElement(
5324
5358
  PresetItem2,
5325
5359
  {
5326
5360
  key: preset.label,
@@ -5339,7 +5373,7 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
5339
5373
  DateRangePicker.displayName = "DateRangePicker";
5340
5374
 
5341
5375
  // src/components/Drawer/Drawer.tsx
5342
- import React27 from "react";
5376
+ import React28 from "react";
5343
5377
  import { Drawer as JoyDrawer, styled as styled15, drawerClasses } from "@mui/joy";
5344
5378
  import { motion as motion21 } from "framer-motion";
5345
5379
  var MotionDrawer = motion21(JoyDrawer);
@@ -5357,7 +5391,7 @@ var StyledDrawer = styled15(MotionDrawer)(({ theme, size = "md" }) => ({
5357
5391
  }));
5358
5392
  var Drawer = (props) => {
5359
5393
  const { children, ...innerProps } = props;
5360
- return /* @__PURE__ */ React27.createElement(StyledDrawer, { ...innerProps }, children);
5394
+ return /* @__PURE__ */ React28.createElement(StyledDrawer, { ...innerProps }, children);
5361
5395
  };
5362
5396
  Drawer.displayName = "Drawer";
5363
5397
 
@@ -5388,10 +5422,10 @@ DialogTitle.displayName = "DialogTitle";
5388
5422
  var DialogTitle_default = DialogTitle;
5389
5423
 
5390
5424
  // src/components/DialogFrame/DialogFrame.tsx
5391
- import React29 from "react";
5425
+ import React30 from "react";
5392
5426
 
5393
5427
  // src/components/Modal/Modal.tsx
5394
- import React28 from "react";
5428
+ import React29 from "react";
5395
5429
  import {
5396
5430
  Modal as JoyModal,
5397
5431
  ModalDialog as JoyModalDialog,
@@ -5414,7 +5448,7 @@ var ModalOverflow = MotionModalOverflow;
5414
5448
  ModalOverflow.displayName = "ModalOverflow";
5415
5449
  function ModalFrame(props) {
5416
5450
  const { title, children, titleStartDecorator, onClose, ...innerProps } = props;
5417
- return /* @__PURE__ */ React28.createElement(StyledModalDialog, { ...innerProps }, /* @__PURE__ */ React28.createElement(ModalClose, { onClick: onClose }), /* @__PURE__ */ React28.createElement(DialogTitle_default, null, titleStartDecorator, title), /* @__PURE__ */ React28.createElement(DialogContent_default, null, children));
5451
+ return /* @__PURE__ */ React29.createElement(StyledModalDialog, { ...innerProps }, /* @__PURE__ */ React29.createElement(ModalClose, { onClick: onClose }), /* @__PURE__ */ React29.createElement(DialogTitle_default, null, titleStartDecorator, title), /* @__PURE__ */ React29.createElement(DialogContent_default, null, children));
5418
5452
  }
5419
5453
  ModalFrame.displayName = "ModalFrame";
5420
5454
 
@@ -5426,19 +5460,19 @@ var StyledDialogFrame = styled19(ModalDialog, {
5426
5460
  })({
5427
5461
  padding: 0
5428
5462
  });
5429
- var DialogFrame = React29.forwardRef((props, ref) => {
5463
+ var DialogFrame = React30.forwardRef((props, ref) => {
5430
5464
  const { title, children, actions, fullscreen, ...innerProps } = props;
5431
- return /* @__PURE__ */ React29.createElement(StyledDialogFrame, { layout: fullscreen ? "fullscreen" : "center", ref, ...innerProps }, /* @__PURE__ */ React29.createElement(DialogTitle_default, null, title), /* @__PURE__ */ React29.createElement(DialogContent_default, null, children), /* @__PURE__ */ React29.createElement(DialogActions_default, null, actions));
5465
+ return /* @__PURE__ */ React30.createElement(StyledDialogFrame, { layout: fullscreen ? "fullscreen" : "center", ref, ...innerProps }, /* @__PURE__ */ React30.createElement(DialogTitle_default, null, title), /* @__PURE__ */ React30.createElement(DialogContent_default, null, children), /* @__PURE__ */ React30.createElement(DialogActions_default, null, actions));
5432
5466
  });
5433
5467
  DialogFrame.displayName = "DialogFrame";
5434
5468
 
5435
5469
  // src/components/Divider/Divider.tsx
5436
- import React30 from "react";
5470
+ import React31 from "react";
5437
5471
  import { Divider as JoyDivider } from "@mui/joy";
5438
5472
  import { motion as motion25 } from "framer-motion";
5439
5473
  var MotionDivider = motion25(JoyDivider);
5440
5474
  var Divider = (props) => {
5441
- return /* @__PURE__ */ React30.createElement(MotionDivider, { ...props });
5475
+ return /* @__PURE__ */ React31.createElement(MotionDivider, { ...props });
5442
5476
  };
5443
5477
  Divider.displayName = "Divider";
5444
5478
 
@@ -5459,14 +5493,15 @@ var InsetDrawer = styled20(JoyDrawer2)(({ theme }) => ({
5459
5493
  }));
5460
5494
 
5461
5495
  // src/components/FilterableCheckboxGroup/FilterableCheckboxGroup.tsx
5462
- import React31, { useCallback as useCallback14, useEffect as useEffect9, useMemo as useMemo12, useRef as useRef9, useState as useState11 } from "react";
5496
+ import React32, { useCallback as useCallback15, useEffect as useEffect9, useMemo as useMemo13, useRef as useRef9, useState as useState12 } from "react";
5463
5497
  import SearchIcon from "@mui/icons-material/Search";
5498
+ import { useThemeProps as useThemeProps8 } from "@mui/joy";
5464
5499
  import { useVirtualizer as useVirtualizer3 } from "@tanstack/react-virtual";
5465
5500
  function LabelWithTooltip(props) {
5466
5501
  const { label, size } = props;
5467
5502
  const labelContentRef = useRef9(null);
5468
- const [isOverflowing, setIsOverflowing] = useState11(false);
5469
- const labelContent = /* @__PURE__ */ React31.createElement(
5503
+ const [isOverflowing, setIsOverflowing] = useState12(false);
5504
+ const labelContent = /* @__PURE__ */ React32.createElement(
5470
5505
  "span",
5471
5506
  {
5472
5507
  ref: labelContentRef,
@@ -5489,11 +5524,12 @@ function LabelWithTooltip(props) {
5489
5524
  }
5490
5525
  }, [label]);
5491
5526
  if (isOverflowing) {
5492
- return /* @__PURE__ */ React31.createElement(Tooltip_default, { variant: "solid", size, title: label, placement: "bottom-start" }, labelContent);
5527
+ return /* @__PURE__ */ React32.createElement(Tooltip_default, { variant: "solid", size, title: label, placement: "bottom-start" }, labelContent);
5493
5528
  }
5494
5529
  return labelContent;
5495
5530
  }
5496
- function FilterableCheckboxGroup(props) {
5531
+ function FilterableCheckboxGroup(inProps) {
5532
+ const props = useThemeProps8({ props: inProps, name: "FilterableCheckboxGroup" });
5497
5533
  const {
5498
5534
  value,
5499
5535
  options,
@@ -5506,21 +5542,21 @@ function FilterableCheckboxGroup(props) {
5506
5542
  maxHeight = 300,
5507
5543
  disabled
5508
5544
  } = props;
5509
- const [searchTerm, setSearchTerm] = useState11("");
5510
- const [sortedOptions, setSortedOptions] = useState11(options);
5545
+ const [searchTerm, setSearchTerm] = useState12("");
5546
+ const [sortedOptions, setSortedOptions] = useState12(options);
5511
5547
  const [internalValue, setInternalValue] = useControlledState(
5512
5548
  value,
5513
5549
  value ?? [],
5514
- useCallback14((newValue) => onChange?.(newValue), [onChange])
5550
+ useCallback15((newValue) => onChange?.(newValue), [onChange])
5515
5551
  );
5516
5552
  const parentRef = useRef9(null);
5517
5553
  const isInitialSortRef = useRef9(false);
5518
5554
  const prevOptionsRef = useRef9([...options]);
5519
- const filteredOptions = useMemo12(() => {
5555
+ const filteredOptions = useMemo13(() => {
5520
5556
  if (!searchTerm) return sortedOptions;
5521
5557
  return sortedOptions.filter((option) => option.label.toLowerCase().includes(searchTerm.toLowerCase()));
5522
5558
  }, [sortedOptions, searchTerm]);
5523
- const itemSize = useMemo12(() => {
5559
+ const itemSize = useMemo13(() => {
5524
5560
  switch (size) {
5525
5561
  case "sm":
5526
5562
  return 28;
@@ -5567,10 +5603,10 @@ function FilterableCheckboxGroup(props) {
5567
5603
  useEffect9(() => {
5568
5604
  virtualizer.measure();
5569
5605
  }, [virtualizer, filteredOptions, size]);
5570
- const handleSearchChange = useCallback14((event) => {
5606
+ const handleSearchChange = useCallback15((event) => {
5571
5607
  setSearchTerm(event.target.value);
5572
5608
  }, []);
5573
- const handleCheckboxChange = useCallback14(
5609
+ const handleCheckboxChange = useCallback15(
5574
5610
  (optionValue) => (event) => {
5575
5611
  const checked = event.target.checked;
5576
5612
  const newValue = checked ? [...internalValue, optionValue] : internalValue.filter((v) => v !== optionValue);
@@ -5578,7 +5614,7 @@ function FilterableCheckboxGroup(props) {
5578
5614
  },
5579
5615
  [internalValue, setInternalValue]
5580
5616
  );
5581
- const handleSelectAll = useCallback14(
5617
+ const handleSelectAll = useCallback15(
5582
5618
  (event) => {
5583
5619
  const checked = event.target.checked;
5584
5620
  const enabledOptions = filteredOptions.filter((option) => !option.disabled);
@@ -5594,10 +5630,10 @@ function FilterableCheckboxGroup(props) {
5594
5630
  },
5595
5631
  [filteredOptions, internalValue, setInternalValue]
5596
5632
  );
5597
- const enabledFilteredOptions = useMemo12(() => filteredOptions.filter((option) => !option.disabled), [filteredOptions]);
5633
+ const enabledFilteredOptions = useMemo13(() => filteredOptions.filter((option) => !option.disabled), [filteredOptions]);
5598
5634
  const isAllSelected = enabledFilteredOptions.length > 0 && enabledFilteredOptions.every((option) => internalValue.includes(option.value));
5599
5635
  const isIndeterminate = !isAllSelected && enabledFilteredOptions.some((option) => internalValue.includes(option.value));
5600
- return /* @__PURE__ */ React31.createElement("div", { style: { width: "100%" } }, /* @__PURE__ */ React31.createElement(
5636
+ return /* @__PURE__ */ React32.createElement("div", { style: { width: "100%" } }, /* @__PURE__ */ React32.createElement(
5601
5637
  Input_default,
5602
5638
  {
5603
5639
  label,
@@ -5610,9 +5646,9 @@ function FilterableCheckboxGroup(props) {
5610
5646
  onChange: handleSearchChange,
5611
5647
  size,
5612
5648
  disabled,
5613
- endDecorator: /* @__PURE__ */ React31.createElement(SearchIcon, null)
5649
+ endDecorator: /* @__PURE__ */ React32.createElement(SearchIcon, null)
5614
5650
  }
5615
- ), filteredOptions.length === 0 ? /* @__PURE__ */ React31.createElement(Typography_default, { level: `body-${size}`, textColor: "neutral.softDisabledColor", padding: "20px 12px", textAlign: "center" }, "No options found.") : /* @__PURE__ */ React31.createElement(
5651
+ ), filteredOptions.length === 0 ? /* @__PURE__ */ React32.createElement(Typography_default, { level: `body-${size}`, textColor: "neutral.softDisabledColor", padding: "20px 12px", textAlign: "center" }, "No options found.") : /* @__PURE__ */ React32.createElement(
5616
5652
  "div",
5617
5653
  {
5618
5654
  ref: parentRef,
@@ -5623,7 +5659,7 @@ function FilterableCheckboxGroup(props) {
5623
5659
  marginTop: "8px"
5624
5660
  }
5625
5661
  },
5626
- !searchTerm && /* @__PURE__ */ React31.createElement(
5662
+ !searchTerm && /* @__PURE__ */ React32.createElement(
5627
5663
  Checkbox_default,
5628
5664
  {
5629
5665
  label: "Select all",
@@ -5640,7 +5676,7 @@ function FilterableCheckboxGroup(props) {
5640
5676
  sx: { width: "100%", height: itemSize }
5641
5677
  }
5642
5678
  ),
5643
- /* @__PURE__ */ React31.createElement(
5679
+ /* @__PURE__ */ React32.createElement(
5644
5680
  Stack_default,
5645
5681
  {
5646
5682
  sx: {
@@ -5650,11 +5686,11 @@ function FilterableCheckboxGroup(props) {
5650
5686
  },
5651
5687
  items.map((virtualRow) => {
5652
5688
  const option = filteredOptions[virtualRow.index];
5653
- return /* @__PURE__ */ React31.createElement(
5689
+ return /* @__PURE__ */ React32.createElement(
5654
5690
  Checkbox_default,
5655
5691
  {
5656
5692
  key: virtualRow.key,
5657
- label: /* @__PURE__ */ React31.createElement(LabelWithTooltip, { label: option.label, size }),
5693
+ label: /* @__PURE__ */ React32.createElement(LabelWithTooltip, { label: option.label, size }),
5658
5694
  checked: internalValue.includes(option.value),
5659
5695
  onChange: handleCheckboxChange(option.value),
5660
5696
  size,
@@ -5685,8 +5721,11 @@ FilterableCheckboxGroup.displayName = "FilterableCheckboxGroup";
5685
5721
  import { Grid } from "@mui/joy";
5686
5722
 
5687
5723
  // src/components/IconMenuButton/IconMenuButton.tsx
5688
- import React32 from "react";
5689
- import { MenuButton as JoyMenuButton2, IconButton as JoyIconButton2 } from "@mui/joy";
5724
+ import React33 from "react";
5725
+ import {
5726
+ MenuButton as JoyMenuButton2,
5727
+ IconButton as JoyIconButton2
5728
+ } from "@mui/joy";
5690
5729
  function IconMenuButton(props) {
5691
5730
  const {
5692
5731
  size,
@@ -5699,7 +5738,7 @@ function IconMenuButton(props) {
5699
5738
  placement = "bottom"
5700
5739
  } = props;
5701
5740
  if (!items.length) {
5702
- return /* @__PURE__ */ React32.createElement(
5741
+ return /* @__PURE__ */ React33.createElement(
5703
5742
  JoyIconButton2,
5704
5743
  {
5705
5744
  component: props.buttonComponent ?? "button",
@@ -5713,7 +5752,7 @@ function IconMenuButton(props) {
5713
5752
  icon
5714
5753
  );
5715
5754
  }
5716
- return /* @__PURE__ */ React32.createElement(Dropdown_default, null, /* @__PURE__ */ React32.createElement(
5755
+ return /* @__PURE__ */ React33.createElement(Dropdown_default, null, /* @__PURE__ */ React33.createElement(
5717
5756
  JoyMenuButton2,
5718
5757
  {
5719
5758
  slots: { root: JoyIconButton2 },
@@ -5730,18 +5769,18 @@ function IconMenuButton(props) {
5730
5769
  }
5731
5770
  },
5732
5771
  icon
5733
- ), /* @__PURE__ */ React32.createElement(Menu, { placement, size }, items.map((i) => /* @__PURE__ */ React32.createElement(MenuItem, { key: i.text, component: i.component, ...i.componentProps ?? {} }, i.text))));
5772
+ ), /* @__PURE__ */ React33.createElement(Menu, { placement, size }, items.map((i) => /* @__PURE__ */ React33.createElement(MenuItem, { key: i.text, component: i.component, ...i.componentProps ?? {} }, i.text))));
5734
5773
  }
5735
5774
  IconMenuButton.displayName = "IconMenuButton";
5736
5775
 
5737
5776
  // src/components/Markdown/Markdown.tsx
5738
- import React33, { lazy, Suspense, useEffect as useEffect10, useState as useState12 } from "react";
5777
+ import React34, { lazy, Suspense, useEffect as useEffect10, useState as useState13 } from "react";
5739
5778
  import { Skeleton } from "@mui/joy";
5740
5779
  import { Link as Link2 } from "@mui/joy";
5741
5780
  import remarkGfm from "remark-gfm";
5742
5781
  var LazyReactMarkdown = lazy(() => import("react-markdown"));
5743
5782
  var Markdown = (props) => {
5744
- const [rehypeAccent, setRehypeAccent] = useState12(null);
5783
+ const [rehypeAccent, setRehypeAccent] = useState13(null);
5745
5784
  useEffect10(() => {
5746
5785
  const loadRehypeAccent = async () => {
5747
5786
  const module = await import("./chunks/rehype-accent-FZRUD7VI.js");
@@ -5764,12 +5803,12 @@ var Markdown = (props) => {
5764
5803
  if (!rehypeAccent) {
5765
5804
  return null;
5766
5805
  }
5767
- return /* @__PURE__ */ React33.createElement(Typography, { component: "div", color, textColor, level: defaultLevel, ...innerProps }, /* @__PURE__ */ React33.createElement(
5806
+ return /* @__PURE__ */ React34.createElement(Typography, { component: "div", color, textColor, level: defaultLevel, ...innerProps }, /* @__PURE__ */ React34.createElement(
5768
5807
  Suspense,
5769
5808
  {
5770
- fallback: fallback || /* @__PURE__ */ React33.createElement(Typography, null, /* @__PURE__ */ React33.createElement(Skeleton, null, content || ""))
5809
+ fallback: fallback || /* @__PURE__ */ React34.createElement(Typography, null, /* @__PURE__ */ React34.createElement(Skeleton, null, content || ""))
5771
5810
  },
5772
- /* @__PURE__ */ React33.createElement(
5811
+ /* @__PURE__ */ React34.createElement(
5773
5812
  LazyReactMarkdown,
5774
5813
  {
5775
5814
  ...markdownOptions,
@@ -5777,17 +5816,17 @@ var Markdown = (props) => {
5777
5816
  rehypePlugins: [[rehypeAccent, { accentColor }]],
5778
5817
  remarkPlugins: [remarkGfm],
5779
5818
  components: {
5780
- a: ({ children, href }) => /* @__PURE__ */ React33.createElement(Link2, { href, target: defaultLinkAction }, children),
5781
- hr: () => /* @__PURE__ */ React33.createElement(Divider, { sx: { display: "block" } }),
5782
- b: ({ children }) => /* @__PURE__ */ React33.createElement(Typography, { component: "strong", fontWeight: boldFontWeight || "lg" }, children),
5783
- strong: ({ children }) => /* @__PURE__ */ React33.createElement(Typography, { component: "strong", fontWeight: boldFontWeight || "lg" }, children),
5819
+ a: ({ children, href }) => /* @__PURE__ */ React34.createElement(Link2, { href, target: defaultLinkAction }, children),
5820
+ hr: () => /* @__PURE__ */ React34.createElement(Divider, { sx: { display: "block" } }),
5821
+ b: ({ children }) => /* @__PURE__ */ React34.createElement(Typography, { component: "strong", fontWeight: boldFontWeight || "lg" }, children),
5822
+ strong: ({ children }) => /* @__PURE__ */ React34.createElement(Typography, { component: "strong", fontWeight: boldFontWeight || "lg" }, children),
5784
5823
  // Table components
5785
- table: ({ children }) => /* @__PURE__ */ React33.createElement(Sheet, { variant: "outlined", sx: { display: "block", borderRadius: "sm", overflow: "auto" } }, /* @__PURE__ */ React33.createElement(Table, { size: "sm" }, children)),
5824
+ table: ({ children }) => /* @__PURE__ */ React34.createElement(Sheet, { variant: "outlined", sx: { display: "block", borderRadius: "sm", overflow: "auto" } }, /* @__PURE__ */ React34.createElement(Table, { size: "sm" }, children)),
5786
5825
  // Code components
5787
5826
  code: ({ children, className }) => {
5788
5827
  const isBlock = className?.startsWith("language-");
5789
5828
  if (isBlock) {
5790
- return /* @__PURE__ */ React33.createElement(
5829
+ return /* @__PURE__ */ React34.createElement(
5791
5830
  Typography,
5792
5831
  {
5793
5832
  component: "code",
@@ -5801,7 +5840,7 @@ var Markdown = (props) => {
5801
5840
  children
5802
5841
  );
5803
5842
  }
5804
- return /* @__PURE__ */ React33.createElement(
5843
+ return /* @__PURE__ */ React34.createElement(
5805
5844
  Typography,
5806
5845
  {
5807
5846
  component: "code",
@@ -5816,7 +5855,7 @@ var Markdown = (props) => {
5816
5855
  children
5817
5856
  );
5818
5857
  },
5819
- pre: ({ children }) => /* @__PURE__ */ React33.createElement(
5858
+ pre: ({ children }) => /* @__PURE__ */ React34.createElement(
5820
5859
  Sheet,
5821
5860
  {
5822
5861
  variant: "soft",
@@ -5834,12 +5873,12 @@ var Markdown = (props) => {
5834
5873
  // Task list checkbox
5835
5874
  input: ({ checked, type }) => {
5836
5875
  if (type === "checkbox") {
5837
- return /* @__PURE__ */ React33.createElement(Checkbox, { checked, disabled: true, size: "sm", sx: { mr: 1 } });
5876
+ return /* @__PURE__ */ React34.createElement(Checkbox, { checked, disabled: true, size: "sm", sx: { mr: 1 } });
5838
5877
  }
5839
- return /* @__PURE__ */ React33.createElement("input", { checked, type });
5878
+ return /* @__PURE__ */ React34.createElement("input", { checked, type });
5840
5879
  },
5841
5880
  // Blockquote
5842
- blockquote: ({ children }) => /* @__PURE__ */ React33.createElement(
5881
+ blockquote: ({ children }) => /* @__PURE__ */ React34.createElement(
5843
5882
  Sheet,
5844
5883
  {
5845
5884
  variant: "soft",
@@ -5848,12 +5887,12 @@ var Markdown = (props) => {
5848
5887
  children
5849
5888
  ),
5850
5889
  // Image
5851
- img: ({ src, alt }) => /* @__PURE__ */ React33.createElement("img", { src, alt, style: { maxWidth: "100%", borderRadius: "4px" } }),
5890
+ img: ({ src, alt }) => /* @__PURE__ */ React34.createElement("img", { src, alt, style: { maxWidth: "100%", borderRadius: "4px" } }),
5852
5891
  // Text style components
5853
- em: ({ children }) => /* @__PURE__ */ React33.createElement(Typography, { component: "em", sx: { fontStyle: "italic" } }, children),
5854
- del: ({ children }) => /* @__PURE__ */ React33.createElement(Typography, { component: "del", sx: { textDecoration: "line-through" } }, children),
5892
+ em: ({ children }) => /* @__PURE__ */ React34.createElement(Typography, { component: "em", sx: { fontStyle: "italic" } }, children),
5893
+ del: ({ children }) => /* @__PURE__ */ React34.createElement(Typography, { component: "del", sx: { textDecoration: "line-through" } }, children),
5855
5894
  // Span for accent color (from rehype-accent plugin)
5856
- span: ({ children, node }) => /* @__PURE__ */ React33.createElement(Typography, { component: "span", textColor: node?.properties?.textColor }, children),
5895
+ span: ({ children, node }) => /* @__PURE__ */ React34.createElement(Typography, { component: "span", textColor: node?.properties?.textColor }, children),
5857
5896
  ...markdownOptions?.components
5858
5897
  }
5859
5898
  }
@@ -5863,10 +5902,10 @@ var Markdown = (props) => {
5863
5902
  Markdown.displayName = "Markdown";
5864
5903
 
5865
5904
  // src/components/MenuButton/MenuButton.tsx
5866
- import React34 from "react";
5905
+ import React35 from "react";
5867
5906
  import { MenuButton as JoyMenuButton3, Button as JoyButton2 } from "@mui/joy";
5868
5907
  import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
5869
- function MenuButton(props) {
5908
+ function MenuButton2(props) {
5870
5909
  const {
5871
5910
  size,
5872
5911
  buttonText,
@@ -5881,7 +5920,7 @@ function MenuButton(props) {
5881
5920
  placement = "bottom"
5882
5921
  } = props;
5883
5922
  if (!items.length) {
5884
- return /* @__PURE__ */ React34.createElement(
5923
+ return /* @__PURE__ */ React35.createElement(
5885
5924
  JoyButton2,
5886
5925
  {
5887
5926
  component: props.buttonComponent ?? "button",
@@ -5892,12 +5931,12 @@ function MenuButton(props) {
5892
5931
  loading,
5893
5932
  startDecorator,
5894
5933
  ...props.buttonComponentProps ?? {},
5895
- endDecorator: showIcon ? /* @__PURE__ */ React34.createElement(React34.Fragment, null, endDecorator, /* @__PURE__ */ React34.createElement(ExpandMoreIcon, null)) : /* @__PURE__ */ React34.createElement(React34.Fragment, null, endDecorator)
5934
+ endDecorator: showIcon ? /* @__PURE__ */ React35.createElement(React35.Fragment, null, endDecorator, /* @__PURE__ */ React35.createElement(ExpandMoreIcon, null)) : /* @__PURE__ */ React35.createElement(React35.Fragment, null, endDecorator)
5896
5935
  },
5897
5936
  buttonText
5898
5937
  );
5899
5938
  }
5900
- return /* @__PURE__ */ React34.createElement(Dropdown_default, null, /* @__PURE__ */ React34.createElement(
5939
+ return /* @__PURE__ */ React35.createElement(Dropdown_default, null, /* @__PURE__ */ React35.createElement(
5901
5940
  JoyMenuButton3,
5902
5941
  {
5903
5942
  component: props.buttonComponent ?? "button",
@@ -5908,17 +5947,17 @@ function MenuButton(props) {
5908
5947
  loading,
5909
5948
  startDecorator,
5910
5949
  ...props.buttonComponentProps ?? {},
5911
- endDecorator: showIcon ? /* @__PURE__ */ React34.createElement(React34.Fragment, null, endDecorator, /* @__PURE__ */ React34.createElement(ExpandMoreIcon, null)) : /* @__PURE__ */ React34.createElement(React34.Fragment, null, endDecorator)
5950
+ endDecorator: showIcon ? /* @__PURE__ */ React35.createElement(React35.Fragment, null, endDecorator, /* @__PURE__ */ React35.createElement(ExpandMoreIcon, null)) : /* @__PURE__ */ React35.createElement(React35.Fragment, null, endDecorator)
5912
5951
  },
5913
5952
  buttonText
5914
- ), /* @__PURE__ */ React34.createElement(Menu, { placement, size }, items.map((i) => /* @__PURE__ */ React34.createElement(MenuItem, { key: i.text, component: i.component, ...i.componentProps ?? {} }, i.text))));
5953
+ ), /* @__PURE__ */ React35.createElement(Menu, { placement, size }, items.map((i) => /* @__PURE__ */ React35.createElement(MenuItem, { key: i.text, component: i.component, ...i.componentProps ?? {} }, i.text))));
5915
5954
  }
5916
- MenuButton.displayName = "MenuButton";
5955
+ MenuButton2.displayName = "MenuButton";
5917
5956
 
5918
5957
  // src/components/MonthPicker/MonthPicker.tsx
5919
- import React35, { forwardRef as forwardRef9, useCallback as useCallback15, useEffect as useEffect11, useImperativeHandle as useImperativeHandle4, useRef as useRef10, useState as useState13 } from "react";
5958
+ import React36, { forwardRef as forwardRef9, useCallback as useCallback16, useEffect as useEffect11, useImperativeHandle as useImperativeHandle4, useRef as useRef10, useState as useState14 } from "react";
5920
5959
  import CalendarTodayIcon3 from "@mui/icons-material/CalendarToday";
5921
- import { styled as styled21, useThemeProps as useThemeProps6 } from "@mui/joy";
5960
+ import { styled as styled21, useThemeProps as useThemeProps9 } from "@mui/joy";
5922
5961
  import { FocusTrap as FocusTrap3, ClickAwayListener as ClickAwayListener3, Popper as Popper4 } from "@mui/base";
5923
5962
  var StyledPopper3 = styled21(Popper4, {
5924
5963
  name: "MonthPicker",
@@ -5973,7 +6012,7 @@ function parseDate3(dateString, format) {
5973
6012
  return result;
5974
6013
  }
5975
6014
  var MonthPicker = forwardRef9((inProps, ref) => {
5976
- const props = useThemeProps6({ props: inProps, name: "MonthPicker" });
6015
+ const props = useThemeProps9({ props: inProps, name: "MonthPicker" });
5977
6016
  const {
5978
6017
  onChange,
5979
6018
  disabled,
@@ -6004,9 +6043,9 @@ var MonthPicker = forwardRef9((inProps, ref) => {
6004
6043
  const [value, setValue, isControlled] = useControlledState(
6005
6044
  props.value,
6006
6045
  props.defaultValue || "",
6007
- useCallback15((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
6046
+ useCallback16((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
6008
6047
  );
6009
- const getFormattedDisplayValue = useCallback15(
6048
+ const getFormattedDisplayValue = useCallback16(
6010
6049
  (inputValue) => {
6011
6050
  if (!inputValue) return "";
6012
6051
  try {
@@ -6017,8 +6056,8 @@ var MonthPicker = forwardRef9((inProps, ref) => {
6017
6056
  },
6018
6057
  [format, displayFormat, locale]
6019
6058
  );
6020
- const [displayValue, setDisplayValue] = useState13(() => getFormattedDisplayValue(value));
6021
- const [anchorEl, setAnchorEl] = useState13(null);
6059
+ const [displayValue, setDisplayValue] = useState14(() => getFormattedDisplayValue(value));
6060
+ const [anchorEl, setAnchorEl] = useState14(null);
6022
6061
  const open = Boolean(anchorEl);
6023
6062
  useEffect11(() => {
6024
6063
  if (!anchorEl) {
@@ -6029,7 +6068,7 @@ var MonthPicker = forwardRef9((inProps, ref) => {
6029
6068
  useEffect11(() => {
6030
6069
  setDisplayValue(getFormattedDisplayValue(value));
6031
6070
  }, [value, getFormattedDisplayValue]);
6032
- const handleChange = useCallback15(
6071
+ const handleChange = useCallback16(
6033
6072
  (event) => {
6034
6073
  const newValue = event.target.value;
6035
6074
  setValue(newValue);
@@ -6039,21 +6078,21 @@ var MonthPicker = forwardRef9((inProps, ref) => {
6039
6078
  },
6040
6079
  [setValue, getFormattedDisplayValue, isControlled]
6041
6080
  );
6042
- const handleCalendarToggle = useCallback15(
6081
+ const handleCalendarToggle = useCallback16(
6043
6082
  (event) => {
6044
6083
  setAnchorEl(anchorEl ? null : event.currentTarget);
6045
6084
  innerRef.current?.focus();
6046
6085
  },
6047
6086
  [anchorEl, setAnchorEl, innerRef]
6048
6087
  );
6049
- const handleInputMouseDown = useCallback15(
6088
+ const handleInputMouseDown = useCallback16(
6050
6089
  (event) => {
6051
6090
  event.preventDefault();
6052
6091
  buttonRef.current?.focus();
6053
6092
  },
6054
6093
  [buttonRef]
6055
6094
  );
6056
- return /* @__PURE__ */ React35.createElement(MonthPickerRoot, null, /* @__PURE__ */ React35.createElement(FocusTrap3, { open: true }, /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(
6095
+ return /* @__PURE__ */ React36.createElement(MonthPickerRoot, null, /* @__PURE__ */ React36.createElement(FocusTrap3, { open: true }, /* @__PURE__ */ React36.createElement(React36.Fragment, null, /* @__PURE__ */ React36.createElement(
6057
6096
  Input_default,
6058
6097
  {
6059
6098
  ...innerProps,
@@ -6083,7 +6122,7 @@ var MonthPicker = forwardRef9((inProps, ref) => {
6083
6122
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
6084
6123
  fontFamily: "monospace"
6085
6124
  },
6086
- endDecorator: /* @__PURE__ */ React35.createElement(
6125
+ endDecorator: /* @__PURE__ */ React36.createElement(
6087
6126
  IconButton_default,
6088
6127
  {
6089
6128
  ref: buttonRef,
@@ -6095,12 +6134,12 @@ var MonthPicker = forwardRef9((inProps, ref) => {
6095
6134
  "aria-expanded": open,
6096
6135
  disabled
6097
6136
  },
6098
- /* @__PURE__ */ React35.createElement(CalendarTodayIcon3, null)
6137
+ /* @__PURE__ */ React36.createElement(CalendarTodayIcon3, null)
6099
6138
  ),
6100
6139
  label,
6101
6140
  helperText
6102
6141
  }
6103
- ), open && /* @__PURE__ */ React35.createElement(ClickAwayListener3, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ React35.createElement(
6142
+ ), open && /* @__PURE__ */ React36.createElement(ClickAwayListener3, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ React36.createElement(
6104
6143
  StyledPopper3,
6105
6144
  {
6106
6145
  id: "month-picker-popper",
@@ -6119,7 +6158,7 @@ var MonthPicker = forwardRef9((inProps, ref) => {
6119
6158
  "aria-label": "Calendar Tooltip",
6120
6159
  "aria-expanded": open
6121
6160
  },
6122
- /* @__PURE__ */ React35.createElement(CalendarSheet3, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React35.createElement(
6161
+ /* @__PURE__ */ React36.createElement(CalendarSheet3, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React36.createElement(
6123
6162
  Calendar_default,
6124
6163
  {
6125
6164
  view: "month",
@@ -6140,14 +6179,14 @@ var MonthPicker = forwardRef9((inProps, ref) => {
6140
6179
  disablePast,
6141
6180
  locale
6142
6181
  }
6143
- ), /* @__PURE__ */ React35.createElement(
6182
+ ), /* @__PURE__ */ React36.createElement(
6144
6183
  DialogActions_default,
6145
6184
  {
6146
6185
  sx: {
6147
6186
  p: 1
6148
6187
  }
6149
6188
  },
6150
- /* @__PURE__ */ React35.createElement(
6189
+ /* @__PURE__ */ React36.createElement(
6151
6190
  Button_default,
6152
6191
  {
6153
6192
  size,
@@ -6170,10 +6209,10 @@ var MonthPicker = forwardRef9((inProps, ref) => {
6170
6209
  });
6171
6210
 
6172
6211
  // src/components/MonthRangePicker/MonthRangePicker.tsx
6173
- import React36, { forwardRef as forwardRef10, useCallback as useCallback16, useEffect as useEffect12, useImperativeHandle as useImperativeHandle5, useMemo as useMemo13, useRef as useRef11, useState as useState14 } from "react";
6212
+ import React37, { forwardRef as forwardRef10, useCallback as useCallback17, useEffect as useEffect12, useImperativeHandle as useImperativeHandle5, useMemo as useMemo14, useRef as useRef11, useState as useState15 } from "react";
6174
6213
  import { IMaskInput as IMaskInput3, IMask as IMask3 } from "react-imask";
6175
6214
  import CalendarTodayIcon4 from "@mui/icons-material/CalendarToday";
6176
- import { styled as styled22, useThemeProps as useThemeProps7 } from "@mui/joy";
6215
+ import { styled as styled22, useThemeProps as useThemeProps10 } from "@mui/joy";
6177
6216
  import { FocusTrap as FocusTrap4, ClickAwayListener as ClickAwayListener4, Popper as Popper5 } from "@mui/base";
6178
6217
  var hasAlphabeticMonth3 = (format) => /MMMM|MMM/.test(format);
6179
6218
  var StyledPopper4 = styled22(Popper5, {
@@ -6231,9 +6270,9 @@ var parseDates2 = (str) => {
6231
6270
  var formatToPattern3 = (format) => {
6232
6271
  return `${format} - ${format}`.replace(/YYYY/g, "Y").replace(/MM/g, "m").replace(/[^YMm\s]/g, (match) => `${match}\``);
6233
6272
  };
6234
- var TextMaskAdapter7 = React36.forwardRef(function TextMaskAdapter8(props, ref) {
6273
+ var TextMaskAdapter7 = React37.forwardRef(function TextMaskAdapter8(props, ref) {
6235
6274
  const { onChange, format, ...other } = props;
6236
- return /* @__PURE__ */ React36.createElement(
6275
+ return /* @__PURE__ */ React37.createElement(
6237
6276
  IMaskInput3,
6238
6277
  {
6239
6278
  ...other,
@@ -6262,7 +6301,7 @@ var TextMaskAdapter7 = React36.forwardRef(function TextMaskAdapter8(props, ref)
6262
6301
  );
6263
6302
  });
6264
6303
  var MonthRangePicker = forwardRef10((inProps, ref) => {
6265
- const props = useThemeProps7({ props: inProps, name: "MonthRangePicker" });
6304
+ const props = useThemeProps10({ props: inProps, name: "MonthRangePicker" });
6266
6305
  const {
6267
6306
  onChange,
6268
6307
  disabled,
@@ -6290,14 +6329,14 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
6290
6329
  const [value, setValue] = useControlledState(
6291
6330
  props.value,
6292
6331
  props.defaultValue || "",
6293
- useCallback16((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
6332
+ useCallback17((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
6294
6333
  );
6295
- const [displayValue, setDisplayValue] = useState14(
6334
+ const [displayValue, setDisplayValue] = useState15(
6296
6335
  () => value ? formatValueString4(parseDates2(value), displayFormat, locale) : ""
6297
6336
  );
6298
- const [anchorEl, setAnchorEl] = useState14(null);
6337
+ const [anchorEl, setAnchorEl] = useState15(null);
6299
6338
  const open = Boolean(anchorEl);
6300
- const calendarValue = useMemo13(() => value ? parseDates2(value) : void 0, [value]);
6339
+ const calendarValue = useMemo14(() => value ? parseDates2(value) : void 0, [value]);
6301
6340
  useEffect12(() => {
6302
6341
  if (value) {
6303
6342
  try {
@@ -6316,7 +6355,7 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
6316
6355
  }
6317
6356
  }, [anchorEl, innerRef]);
6318
6357
  useImperativeHandle5(ref, () => innerRef.current, [innerRef]);
6319
- const handleChange = useCallback16(
6358
+ const handleChange = useCallback17(
6320
6359
  (event) => {
6321
6360
  setDisplayValue(
6322
6361
  event.target.value ? formatValueString4(parseDates2(event.target.value), displayFormat, locale) : ""
@@ -6325,7 +6364,7 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
6325
6364
  },
6326
6365
  [displayFormat, locale, setValue]
6327
6366
  );
6328
- const handleInputMouseDown = useCallback16(
6367
+ const handleInputMouseDown = useCallback17(
6329
6368
  (event) => {
6330
6369
  if (isAlphabeticDisplay) {
6331
6370
  event.preventDefault();
@@ -6334,14 +6373,14 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
6334
6373
  },
6335
6374
  [isAlphabeticDisplay, buttonRef]
6336
6375
  );
6337
- const handleCalendarToggle = useCallback16(
6376
+ const handleCalendarToggle = useCallback17(
6338
6377
  (event) => {
6339
6378
  setAnchorEl(anchorEl ? null : event.currentTarget);
6340
6379
  innerRef.current?.focus();
6341
6380
  },
6342
6381
  [anchorEl, setAnchorEl, innerRef]
6343
6382
  );
6344
- const handleCalendarChange = useCallback16(
6383
+ const handleCalendarChange = useCallback17(
6345
6384
  ([date1, date2]) => {
6346
6385
  if (!date1 || !date2) return;
6347
6386
  const formattedValue = formatValueString4([date1, date2], format);
@@ -6351,7 +6390,7 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
6351
6390
  },
6352
6391
  [setValue, setAnchorEl, format, displayFormat, locale]
6353
6392
  );
6354
- return /* @__PURE__ */ React36.createElement(MonthRangePickerRoot, null, /* @__PURE__ */ React36.createElement(FocusTrap4, { open: true }, /* @__PURE__ */ React36.createElement(React36.Fragment, null, /* @__PURE__ */ React36.createElement(
6393
+ return /* @__PURE__ */ React37.createElement(MonthRangePickerRoot, null, /* @__PURE__ */ React37.createElement(FocusTrap4, { open: true }, /* @__PURE__ */ React37.createElement(React37.Fragment, null, /* @__PURE__ */ React37.createElement(
6355
6394
  Input_default,
6356
6395
  {
6357
6396
  ...innerProps,
@@ -6381,7 +6420,7 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
6381
6420
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
6382
6421
  fontFamily: "monospace"
6383
6422
  },
6384
- endDecorator: /* @__PURE__ */ React36.createElement(
6423
+ endDecorator: /* @__PURE__ */ React37.createElement(
6385
6424
  IconButton_default,
6386
6425
  {
6387
6426
  ref: buttonRef,
@@ -6392,12 +6431,12 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
6392
6431
  "aria-haspopup": "dialog",
6393
6432
  "aria-expanded": open
6394
6433
  },
6395
- /* @__PURE__ */ React36.createElement(CalendarTodayIcon4, null)
6434
+ /* @__PURE__ */ React37.createElement(CalendarTodayIcon4, null)
6396
6435
  ),
6397
6436
  label,
6398
6437
  helperText
6399
6438
  }
6400
- ), open && /* @__PURE__ */ React36.createElement(ClickAwayListener4, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ React36.createElement(
6439
+ ), open && /* @__PURE__ */ React37.createElement(ClickAwayListener4, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ React37.createElement(
6401
6440
  StyledPopper4,
6402
6441
  {
6403
6442
  id: "month-range-picker-popper",
@@ -6416,7 +6455,7 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
6416
6455
  "aria-label": "Calendar Tooltip",
6417
6456
  "aria-expanded": open
6418
6457
  },
6419
- /* @__PURE__ */ React36.createElement(CalendarSheet4, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React36.createElement(
6458
+ /* @__PURE__ */ React37.createElement(CalendarSheet4, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React37.createElement(
6420
6459
  Calendar_default,
6421
6460
  {
6422
6461
  view: "month",
@@ -6430,14 +6469,14 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
6430
6469
  disablePast,
6431
6470
  locale
6432
6471
  }
6433
- ), /* @__PURE__ */ React36.createElement(
6472
+ ), /* @__PURE__ */ React37.createElement(
6434
6473
  DialogActions_default,
6435
6474
  {
6436
6475
  sx: {
6437
6476
  p: 1
6438
6477
  }
6439
6478
  },
6440
- /* @__PURE__ */ React36.createElement(
6479
+ /* @__PURE__ */ React37.createElement(
6441
6480
  Button_default,
6442
6481
  {
6443
6482
  size,
@@ -6456,7 +6495,7 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
6456
6495
  MonthRangePicker.displayName = "MonthRangePicker";
6457
6496
 
6458
6497
  // src/components/NavigationGroup/NavigationGroup.tsx
6459
- import React37 from "react";
6498
+ import React38 from "react";
6460
6499
  import {
6461
6500
  Accordion as JoyAccordion2,
6462
6501
  AccordionSummary as JoyAccordionSummary2,
@@ -6487,11 +6526,11 @@ var AccordionDetails2 = styled23(JoyAccordionDetails2, {
6487
6526
  }));
6488
6527
  function NavigationGroup(props) {
6489
6528
  const { title, children, startDecorator, level, ...rest } = props;
6490
- return /* @__PURE__ */ React37.createElement(JoyAccordion2, { ...rest }, /* @__PURE__ */ React37.createElement(AccordionSummary2, { useIcon: !!startDecorator, level }, /* @__PURE__ */ React37.createElement(Stack2, { direction: "row", gap: 4 }, startDecorator, title)), /* @__PURE__ */ React37.createElement(AccordionDetails2, null, children));
6529
+ return /* @__PURE__ */ React38.createElement(JoyAccordion2, { ...rest }, /* @__PURE__ */ React38.createElement(AccordionSummary2, { useIcon: !!startDecorator, level }, /* @__PURE__ */ React38.createElement(Stack2, { direction: "row", gap: 4 }, startDecorator, title)), /* @__PURE__ */ React38.createElement(AccordionDetails2, null, children));
6491
6530
  }
6492
6531
 
6493
6532
  // src/components/NavigationItem/NavigationItem.tsx
6494
- import React38 from "react";
6533
+ import React39 from "react";
6495
6534
  import {
6496
6535
  ListItem as JoyListItem,
6497
6536
  ListItemButton as JoyListItemButton,
@@ -6526,7 +6565,7 @@ function NavigationItem(props) {
6526
6565
  const handleClick = () => {
6527
6566
  onClick?.(id);
6528
6567
  };
6529
- return /* @__PURE__ */ React38.createElement(JoyListItem, { ...rest }, /* @__PURE__ */ React38.createElement(
6568
+ return /* @__PURE__ */ React39.createElement(JoyListItem, { ...rest }, /* @__PURE__ */ React39.createElement(
6530
6569
  ListItemButton,
6531
6570
  {
6532
6571
  level,
@@ -6535,21 +6574,21 @@ function NavigationItem(props) {
6535
6574
  "aria-current": selected,
6536
6575
  onClick: handleClick
6537
6576
  },
6538
- startDecorator && /* @__PURE__ */ React38.createElement(JoyListItemDecorator, null, startDecorator),
6577
+ startDecorator && /* @__PURE__ */ React39.createElement(JoyListItemDecorator, null, startDecorator),
6539
6578
  children
6540
6579
  ));
6541
6580
  }
6542
6581
 
6543
6582
  // src/components/Navigator/Navigator.tsx
6544
- import React39 from "react";
6583
+ import React40 from "react";
6545
6584
  function Navigator(props) {
6546
6585
  const { items, level = 0, onSelect } = props;
6547
6586
  const handleItemClick = (id) => {
6548
6587
  onSelect?.(id);
6549
6588
  };
6550
- return /* @__PURE__ */ React39.createElement("div", null, items.map((item, index) => {
6589
+ return /* @__PURE__ */ React40.createElement("div", null, items.map((item, index) => {
6551
6590
  if (item.type === "item") {
6552
- return /* @__PURE__ */ React39.createElement(
6591
+ return /* @__PURE__ */ React40.createElement(
6553
6592
  NavigationItem,
6554
6593
  {
6555
6594
  key: item.id,
@@ -6562,7 +6601,7 @@ function Navigator(props) {
6562
6601
  item.title
6563
6602
  );
6564
6603
  } else if (item.type === "group") {
6565
- return /* @__PURE__ */ React39.createElement(
6604
+ return /* @__PURE__ */ React40.createElement(
6566
6605
  NavigationGroup,
6567
6606
  {
6568
6607
  key: `${item.title}-${index}`,
@@ -6580,16 +6619,16 @@ function Navigator(props) {
6580
6619
  Navigator.displayName = "Navigator";
6581
6620
 
6582
6621
  // src/components/PercentageInput/PercentageInput.tsx
6583
- import React40, { useCallback as useCallback17, useMemo as useMemo14, useState as useState15 } from "react";
6622
+ import React41, { useCallback as useCallback18, useMemo as useMemo15, useState as useState16 } from "react";
6584
6623
  import { NumericFormat as NumericFormat2 } from "react-number-format";
6585
- import { styled as styled25, useThemeProps as useThemeProps8 } from "@mui/joy";
6624
+ import { styled as styled25, useThemeProps as useThemeProps11 } from "@mui/joy";
6586
6625
  var padDecimal = (value, decimalScale) => {
6587
6626
  const [integer, decimal = ""] = `${value}`.split(".");
6588
6627
  return Number(`${integer}${decimal.padEnd(decimalScale, "0")}`);
6589
6628
  };
6590
- var TextMaskAdapter9 = React40.forwardRef(function TextMaskAdapter10(props, ref) {
6629
+ var TextMaskAdapter9 = React41.forwardRef(function TextMaskAdapter10(props, ref) {
6591
6630
  const { onChange, min, max, ...innerProps } = props;
6592
- return /* @__PURE__ */ React40.createElement(
6631
+ return /* @__PURE__ */ React41.createElement(
6593
6632
  NumericFormat2,
6594
6633
  {
6595
6634
  ...innerProps,
@@ -6614,9 +6653,9 @@ var PercentageInputRoot = styled25(Input_default, {
6614
6653
  slot: "Root",
6615
6654
  overridesResolver: (props, styles) => styles.root
6616
6655
  })({});
6617
- var PercentageInput = React40.forwardRef(
6656
+ var PercentageInput = React41.forwardRef(
6618
6657
  function PercentageInput2(inProps, ref) {
6619
- const props = useThemeProps8({ props: inProps, name: "PercentageInput" });
6658
+ const props = useThemeProps11({ props: inProps, name: "PercentageInput" });
6620
6659
  const {
6621
6660
  name,
6622
6661
  onChange,
@@ -6637,18 +6676,18 @@ var PercentageInput = React40.forwardRef(
6637
6676
  const [_value, setValue] = useControlledState(
6638
6677
  props.value,
6639
6678
  props.defaultValue,
6640
- useCallback17((value2) => onChange?.({ target: { name, value: value2 } }), [onChange, name])
6679
+ useCallback18((value2) => onChange?.({ target: { name, value: value2 } }), [onChange, name])
6641
6680
  );
6642
- const [internalError, setInternalError] = useState15(
6681
+ const [internalError, setInternalError] = useState16(
6643
6682
  max && _value && _value > max || min && _value && _value < min
6644
6683
  );
6645
- const value = useMemo14(() => {
6684
+ const value = useMemo15(() => {
6646
6685
  if (_value && useMinorUnit) {
6647
6686
  return _value / Math.pow(10, maxDecimalScale);
6648
6687
  }
6649
6688
  return _value;
6650
6689
  }, [_value, useMinorUnit, maxDecimalScale]);
6651
- const handleChange = useCallback17(
6690
+ const handleChange = useCallback18(
6652
6691
  (event) => {
6653
6692
  if (event.target.value === "") {
6654
6693
  setValue(void 0);
@@ -6665,7 +6704,7 @@ var PercentageInput = React40.forwardRef(
6665
6704
  },
6666
6705
  [setValue, useMinorUnit, maxDecimalScale, min, max]
6667
6706
  );
6668
- return /* @__PURE__ */ React40.createElement(
6707
+ return /* @__PURE__ */ React41.createElement(
6669
6708
  PercentageInputRoot,
6670
6709
  {
6671
6710
  ...innerProps,
@@ -6706,7 +6745,7 @@ var RadioGroup = MotionRadioGroup;
6706
6745
  RadioGroup.displayName = "RadioGroup";
6707
6746
 
6708
6747
  // src/components/RadioTileGroup/RadioTileGroup.tsx
6709
- import React41 from "react";
6748
+ import React42 from "react";
6710
6749
  import { styled as styled26, radioClasses, sheetClasses } from "@mui/joy";
6711
6750
  var RadioTileGroupRoot = styled26(RadioGroup, {
6712
6751
  name: "RadioTileGroup",
@@ -6794,7 +6833,7 @@ function RadioTileGroup(props) {
6794
6833
  error,
6795
6834
  required
6796
6835
  } = props;
6797
- const radioGroup = /* @__PURE__ */ React41.createElement(
6836
+ const radioGroup = /* @__PURE__ */ React42.createElement(
6798
6837
  RadioTileGroupRoot,
6799
6838
  {
6800
6839
  overlay: true,
@@ -6805,7 +6844,7 @@ function RadioTileGroup(props) {
6805
6844
  flex,
6806
6845
  columns
6807
6846
  },
6808
- options.map((option) => /* @__PURE__ */ React41.createElement(
6847
+ options.map((option) => /* @__PURE__ */ React42.createElement(
6809
6848
  RadioTileSheet,
6810
6849
  {
6811
6850
  key: option.value,
@@ -6815,7 +6854,7 @@ function RadioTileGroup(props) {
6815
6854
  flex,
6816
6855
  textAlign
6817
6856
  },
6818
- /* @__PURE__ */ React41.createElement(
6857
+ /* @__PURE__ */ React42.createElement(
6819
6858
  Radio,
6820
6859
  {
6821
6860
  id: `${option.value}`,
@@ -6843,7 +6882,7 @@ function RadioTileGroup(props) {
6843
6882
  }
6844
6883
  }
6845
6884
  ),
6846
- option.startDecorator && /* @__PURE__ */ React41.createElement(
6885
+ option.startDecorator && /* @__PURE__ */ React42.createElement(
6847
6886
  Box_default,
6848
6887
  {
6849
6888
  sx: {
@@ -6864,21 +6903,21 @@ function RadioTileGroup(props) {
6864
6903
  )
6865
6904
  ))
6866
6905
  );
6867
- return /* @__PURE__ */ React41.createElement(FormControl_default, { required, disabled: allDisabled, error, size, sx, className }, label && /* @__PURE__ */ React41.createElement(FormLabel_default, null, label), radioGroup, helperText && /* @__PURE__ */ React41.createElement(FormHelperText_default, null, helperText));
6906
+ return /* @__PURE__ */ React42.createElement(FormControl_default, { required, disabled: allDisabled, error, size, sx, className }, label && /* @__PURE__ */ React42.createElement(FormLabel_default, null, label), radioGroup, helperText && /* @__PURE__ */ React42.createElement(FormHelperText_default, null, helperText));
6868
6907
  }
6869
6908
  RadioTileGroup.displayName = "RadioTileGroup";
6870
6909
 
6871
6910
  // src/components/RadioList/RadioList.tsx
6872
- import React42 from "react";
6911
+ import React43 from "react";
6873
6912
  function RadioList(props) {
6874
6913
  const { items, ...innerProps } = props;
6875
- return /* @__PURE__ */ React42.createElement(RadioGroup, { ...innerProps }, items.map((item) => /* @__PURE__ */ React42.createElement(Radio, { key: `${item.value}`, value: item.value, label: item.label })));
6914
+ return /* @__PURE__ */ React43.createElement(RadioGroup, { ...innerProps }, items.map((item) => /* @__PURE__ */ React43.createElement(Radio, { key: `${item.value}`, value: item.value, label: item.label })));
6876
6915
  }
6877
6916
  RadioList.displayName = "RadioList";
6878
6917
 
6879
6918
  // src/components/SearchBar/SearchBar.tsx
6880
- import * as React43 from "react";
6881
- import { styled as styled27, useThemeProps as useThemeProps9 } from "@mui/joy/styles";
6919
+ import * as React44 from "react";
6920
+ import { styled as styled27, useThemeProps as useThemeProps12 } from "@mui/joy/styles";
6882
6921
  import Box2 from "@mui/joy/Box";
6883
6922
  import SearchRoundedIcon from "@mui/icons-material/SearchRounded";
6884
6923
  import CloseRoundedIcon from "@mui/icons-material/CloseRounded";
@@ -6897,11 +6936,11 @@ var SearchBarRoot = styled27(Box2, {
6897
6936
  overflow: "hidden",
6898
6937
  flexShrink: 0
6899
6938
  }));
6900
- var SearchBar = React43.forwardRef(function SearchBar2(inProps, ref) {
6901
- const props = useThemeProps9({ props: inProps, name: "SearchBar" });
6939
+ var SearchBar = React44.forwardRef(function SearchBar2(inProps, ref) {
6940
+ const props = useThemeProps12({ props: inProps, name: "SearchBar" });
6902
6941
  const { showSelect = false, options, placeholder: placeholderProp, value, onChange, onSearch, ...other } = props;
6903
- const [selectVal, setSelectVal] = React43.useState(options?.[0]?.value ?? "");
6904
- const [isHovered, setIsHovered] = React43.useState(false);
6942
+ const [selectVal, setSelectVal] = React44.useState(options?.[0]?.value ?? "");
6943
+ const [isHovered, setIsHovered] = React44.useState(false);
6905
6944
  const ownerState = { showSelect };
6906
6945
  const selectedOption = options?.find((o) => o.value === selectVal);
6907
6946
  const placeholder = placeholderProp ?? selectedOption?.placeholder ?? "";
@@ -6916,7 +6955,7 @@ var SearchBar = React43.forwardRef(function SearchBar2(inProps, ref) {
6916
6955
  handleSearch();
6917
6956
  }
6918
6957
  };
6919
- return /* @__PURE__ */ React43.createElement(SearchBarRoot, { ref, ownerState, ...other }, showSelect && options && /* @__PURE__ */ React43.createElement(React43.Fragment, null, /* @__PURE__ */ React43.createElement(
6958
+ return /* @__PURE__ */ React44.createElement(SearchBarRoot, { ref, ownerState, ...other }, showSelect && options && /* @__PURE__ */ React44.createElement(React44.Fragment, null, /* @__PURE__ */ React44.createElement(
6920
6959
  Select,
6921
6960
  {
6922
6961
  variant: "plain",
@@ -6932,7 +6971,7 @@ var SearchBar = React43.forwardRef(function SearchBar2(inProps, ref) {
6932
6971
  }
6933
6972
  }
6934
6973
  }
6935
- ), /* @__PURE__ */ React43.createElement(Divider, { orientation: "vertical", sx: { height: (theme) => theme.spacing(4), alignSelf: "center" } })), /* @__PURE__ */ React43.createElement(
6974
+ ), /* @__PURE__ */ React44.createElement(Divider, { orientation: "vertical", sx: { height: (theme) => theme.spacing(4), alignSelf: "center" } })), /* @__PURE__ */ React44.createElement(
6936
6975
  Input,
6937
6976
  {
6938
6977
  variant: "plain",
@@ -6945,7 +6984,7 @@ var SearchBar = React43.forwardRef(function SearchBar2(inProps, ref) {
6945
6984
  sx: { flex: 1, minWidth: 0 },
6946
6985
  onMouseEnter: () => setIsHovered(true),
6947
6986
  onMouseLeave: () => setIsHovered(false),
6948
- endDecorator: isHovered && value ? /* @__PURE__ */ React43.createElement(
6987
+ endDecorator: isHovered && value ? /* @__PURE__ */ React44.createElement(
6949
6988
  IconButton,
6950
6989
  {
6951
6990
  variant: "plain",
@@ -6955,15 +6994,15 @@ var SearchBar = React43.forwardRef(function SearchBar2(inProps, ref) {
6955
6994
  onClick: handleClear,
6956
6995
  "aria-label": "Clear"
6957
6996
  },
6958
- /* @__PURE__ */ React43.createElement(CloseRoundedIcon, null)
6997
+ /* @__PURE__ */ React44.createElement(CloseRoundedIcon, null)
6959
6998
  ) : void 0
6960
6999
  }
6961
- ), /* @__PURE__ */ React43.createElement(IconButton, { variant: "plain", size: "sm", color: "neutral", onClick: handleSearch, "aria-label": "Search" }, /* @__PURE__ */ React43.createElement(SearchRoundedIcon, null)));
7000
+ ), /* @__PURE__ */ React44.createElement(IconButton, { variant: "plain", size: "sm", color: "neutral", onClick: handleSearch, "aria-label": "Search" }, /* @__PURE__ */ React44.createElement(SearchRoundedIcon, null)));
6962
7001
  });
6963
7002
  SearchBar.displayName = "SearchBar";
6964
7003
 
6965
7004
  // src/components/Stepper/Stepper.tsx
6966
- import React44 from "react";
7005
+ import React45 from "react";
6967
7006
  import {
6968
7007
  Stepper as JoyStepper,
6969
7008
  Step as JoyStep,
@@ -6999,7 +7038,7 @@ function Stepper(props) {
6999
7038
  stepOrientation = "horizontal"
7000
7039
  } = props;
7001
7040
  const effectiveStepOrientation = orientation === "vertical" ? "horizontal" : stepOrientation;
7002
- return /* @__PURE__ */ React44.createElement(
7041
+ return /* @__PURE__ */ React45.createElement(
7003
7042
  MotionStepper,
7004
7043
  {
7005
7044
  orientation,
@@ -7038,23 +7077,23 @@ function Stepper(props) {
7038
7077
  const completed = activeStep > i + 1;
7039
7078
  const disabled = activeStep < i + 1;
7040
7079
  const hasContent = step.label || step.extraContent;
7041
- return /* @__PURE__ */ React44.createElement(
7080
+ return /* @__PURE__ */ React45.createElement(
7042
7081
  Step,
7043
7082
  {
7044
7083
  key: `step-${i}`,
7045
- indicator: /* @__PURE__ */ React44.createElement(StepIndicator, { variant: disabled ? "outlined" : "solid", color: disabled ? "neutral" : "primary" }, completed ? /* @__PURE__ */ React44.createElement(CheckIcon, null) : step.indicatorContent),
7084
+ indicator: /* @__PURE__ */ React45.createElement(StepIndicator, { variant: disabled ? "outlined" : "solid", color: disabled ? "neutral" : "primary" }, completed ? /* @__PURE__ */ React45.createElement(CheckIcon, null) : step.indicatorContent),
7046
7085
  active,
7047
7086
  completed,
7048
7087
  disabled,
7049
7088
  orientation: effectiveStepOrientation
7050
7089
  },
7051
- hasContent && /* @__PURE__ */ React44.createElement(
7090
+ hasContent && /* @__PURE__ */ React45.createElement(
7052
7091
  Stack_default,
7053
7092
  {
7054
7093
  sx: orientation === "horizontal" && effectiveStepOrientation === "vertical" ? { alignItems: "center" } : {}
7055
7094
  },
7056
- step.label && /* @__PURE__ */ React44.createElement(Typography_default, { level: "title-sm" }, step.label),
7057
- step.extraContent && /* @__PURE__ */ React44.createElement(Typography_default, { level: "body-xs" }, step.extraContent)
7095
+ step.label && /* @__PURE__ */ React45.createElement(Typography_default, { level: "title-sm" }, step.label),
7096
+ step.extraContent && /* @__PURE__ */ React45.createElement(Typography_default, { level: "body-xs" }, step.extraContent)
7058
7097
  )
7059
7098
  );
7060
7099
  })
@@ -7063,7 +7102,7 @@ function Stepper(props) {
7063
7102
  Stepper.displayName = "Stepper";
7064
7103
 
7065
7104
  // src/components/Switch/Switch.tsx
7066
- import React45 from "react";
7105
+ import React46 from "react";
7067
7106
  import { Switch as JoySwitch, styled as styled29, switchClasses } from "@mui/joy";
7068
7107
  import { motion as motion28 } from "framer-motion";
7069
7108
  var MotionSwitch = motion28(JoySwitch);
@@ -7085,14 +7124,14 @@ var StyledThumb = styled29(motion28.div)({
7085
7124
  right: "var(--Switch-thumbOffset)"
7086
7125
  }
7087
7126
  });
7088
- var Thumb = (props) => /* @__PURE__ */ React45.createElement(StyledThumb, { ...props, layout: true, transition: spring });
7127
+ var Thumb = (props) => /* @__PURE__ */ React46.createElement(StyledThumb, { ...props, layout: true, transition: spring });
7089
7128
  var spring = {
7090
7129
  type: "spring",
7091
7130
  stiffness: 700,
7092
7131
  damping: 30
7093
7132
  };
7094
7133
  var Switch = (props) => {
7095
- return /* @__PURE__ */ React45.createElement(
7134
+ return /* @__PURE__ */ React46.createElement(
7096
7135
  MotionSwitch,
7097
7136
  {
7098
7137
  ...props,
@@ -7106,7 +7145,7 @@ var Switch = (props) => {
7106
7145
  Switch.displayName = "Switch";
7107
7146
 
7108
7147
  // src/components/Tabs/Tabs.tsx
7109
- import React46, { forwardRef as forwardRef12 } from "react";
7148
+ import React47, { forwardRef as forwardRef12 } from "react";
7110
7149
  import {
7111
7150
  Tabs as JoyTabs,
7112
7151
  Tab as JoyTab,
@@ -7130,14 +7169,14 @@ var StyledTab = styled30(JoyTab)(({ theme }) => ({
7130
7169
  }
7131
7170
  }));
7132
7171
  var Tab = forwardRef12(function Tab2({ startDecorator, endDecorator, children, ...props }, ref) {
7133
- return /* @__PURE__ */ React46.createElement(StyledTab, { ...props, ref }, startDecorator, children, endDecorator);
7172
+ return /* @__PURE__ */ React47.createElement(StyledTab, { ...props, ref }, startDecorator, children, endDecorator);
7134
7173
  });
7135
7174
  Tab.displayName = "Tab";
7136
7175
  var TabList = JoyTabList;
7137
7176
  var TabPanel = JoyTabPanel;
7138
7177
 
7139
7178
  // src/components/ThemeProvider/ThemeProvider.tsx
7140
- import React47 from "react";
7179
+ import React48 from "react";
7141
7180
  import {
7142
7181
  CssBaseline,
7143
7182
  CssVarsProvider,
@@ -7389,17 +7428,32 @@ var defaultTheme = extendTheme({
7389
7428
  fontWeight: "var(--ceed-fontWeight-xl, 700)"
7390
7429
  }
7391
7430
  }
7431
+ },
7432
+ Alert: {
7433
+ defaultProps: {
7434
+ size: "md"
7435
+ }
7436
+ },
7437
+ Pagination: {
7438
+ defaultProps: {
7439
+ size: "md"
7440
+ }
7441
+ },
7442
+ FilterableCheckboxGroup: {
7443
+ defaultProps: {
7444
+ size: "md"
7445
+ }
7392
7446
  }
7393
7447
  }
7394
7448
  });
7395
7449
  function ThemeProvider(props) {
7396
7450
  const theme = props.theme || defaultTheme;
7397
- return /* @__PURE__ */ React47.createElement(React47.Fragment, null, /* @__PURE__ */ React47.createElement(CssVarsProvider, { theme }, /* @__PURE__ */ React47.createElement(CssBaseline, null), props.children));
7451
+ return /* @__PURE__ */ React48.createElement(React48.Fragment, null, /* @__PURE__ */ React48.createElement(CssVarsProvider, { theme }, /* @__PURE__ */ React48.createElement(CssBaseline, null), props.children));
7398
7452
  }
7399
7453
  ThemeProvider.displayName = "ThemeProvider";
7400
7454
 
7401
7455
  // src/components/Uploader/Uploader.tsx
7402
- import React48, { useCallback as useCallback18, useEffect as useEffect13, useMemo as useMemo15, useRef as useRef12, useState as useState17 } from "react";
7456
+ import React49, { useCallback as useCallback19, useEffect as useEffect13, useMemo as useMemo16, useRef as useRef12, useState as useState18 } from "react";
7403
7457
  import { styled as styled31, Input as Input2 } from "@mui/joy";
7404
7458
  import MuiFileUploadIcon from "@mui/icons-material/CloudUploadRounded";
7405
7459
  import MuiUploadFileIcon from "@mui/icons-material/UploadFileRounded";
@@ -7476,7 +7530,7 @@ var getFileSize = (n) => {
7476
7530
  };
7477
7531
  var Preview = (props) => {
7478
7532
  const { files, uploaded, onDelete } = props;
7479
- return /* @__PURE__ */ React48.createElement(PreviewRoot, { gap: 1 }, [...uploaded, ...files].map((file) => /* @__PURE__ */ React48.createElement(UploadCard, { key: file.name, size: "sm", color: "neutral" }, /* @__PURE__ */ React48.createElement(Stack_default, { direction: "row", alignItems: "center", gap: 2 }, /* @__PURE__ */ React48.createElement(UploadFileIcon, null), /* @__PURE__ */ React48.createElement(Stack_default, { flex: "1", sx: { overflow: "hidden" } }, /* @__PURE__ */ React48.createElement(
7533
+ return /* @__PURE__ */ React49.createElement(PreviewRoot, { gap: 1 }, [...uploaded, ...files].map((file) => /* @__PURE__ */ React49.createElement(UploadCard, { key: file.name, size: "sm", color: "neutral" }, /* @__PURE__ */ React49.createElement(Stack_default, { direction: "row", alignItems: "center", gap: 2 }, /* @__PURE__ */ React49.createElement(UploadFileIcon, null), /* @__PURE__ */ React49.createElement(Stack_default, { flex: "1", sx: { overflow: "hidden" } }, /* @__PURE__ */ React49.createElement(
7480
7534
  Typography_default,
7481
7535
  {
7482
7536
  level: "body-sm",
@@ -7488,7 +7542,7 @@ var Preview = (props) => {
7488
7542
  }
7489
7543
  },
7490
7544
  file.name
7491
- ), !!file.size && /* @__PURE__ */ React48.createElement(Typography_default, { level: "body-xs", fontWeight: "300", lineHeight: "1.33", textColor: "text.tertiary" }, getFileSize(file.size))), /* @__PURE__ */ React48.createElement(IconButton_default, { onClick: () => onDelete?.(file) }, /* @__PURE__ */ React48.createElement(ClearIcon2, null))))));
7545
+ ), !!file.size && /* @__PURE__ */ React49.createElement(Typography_default, { level: "body-xs", fontWeight: "300", lineHeight: "1.33", textColor: "text.tertiary" }, getFileSize(file.size))), /* @__PURE__ */ React49.createElement(IconButton_default, { onClick: () => onDelete?.(file) }, /* @__PURE__ */ React49.createElement(ClearIcon2, null))))));
7492
7546
  };
7493
7547
  var UploaderRoot = styled31(Stack_default, {
7494
7548
  name: "Uploader",
@@ -7531,232 +7585,230 @@ var UploaderIcon = styled31(MuiFileUploadIcon, {
7531
7585
  }
7532
7586
  })
7533
7587
  );
7534
- var Uploader = React48.memo(
7535
- (props) => {
7536
- const {
7537
- accept,
7538
- minCount,
7539
- maxCount,
7540
- name,
7541
- size,
7542
- maxFileSize,
7543
- maxFileTotalSize,
7544
- onChange,
7545
- label,
7546
- disabled,
7547
- onDelete,
7548
- error: errorProp,
7549
- helperText: helperTextProp
7550
- } = props;
7551
- const dropZoneRef = useRef12(null);
7552
- const inputRef = useRef12(null);
7553
- const [errorText, setErrorText] = useState17();
7554
- const [files, setFiles] = useState17([]);
7555
- const [uploaded, setUploaded] = useState17(props.uploaded || []);
7556
- const [previewState, setPreviewState] = useState17("idle");
7557
- const accepts = useMemo15(() => accept.split(",").map((accept2) => accept2.trim()), [accept]);
7558
- const parsedAccepts = useMemo15(
7559
- () => accepts.flatMap((type) => {
7560
- if (["image/*", "video/*", "audio/*"].includes(type)) {
7561
- return ALL_EXTENSIONS_BY_TYPE[type];
7562
- }
7563
- return type;
7564
- }),
7565
- [accepts]
7566
- );
7567
- const helperText = useMemo15(() => {
7568
- if (helperTextProp) {
7569
- return helperTextProp;
7588
+ var Uploader = React49.memo((props) => {
7589
+ const {
7590
+ accept,
7591
+ minCount,
7592
+ maxCount,
7593
+ name,
7594
+ size,
7595
+ maxFileSize,
7596
+ maxFileTotalSize,
7597
+ onChange,
7598
+ label,
7599
+ disabled,
7600
+ onDelete,
7601
+ error: errorProp,
7602
+ helperText: helperTextProp
7603
+ } = props;
7604
+ const dropZoneRef = useRef12(null);
7605
+ const inputRef = useRef12(null);
7606
+ const [errorText, setErrorText] = useState18();
7607
+ const [files, setFiles] = useState18([]);
7608
+ const [uploaded, setUploaded] = useState18(props.uploaded || []);
7609
+ const [previewState, setPreviewState] = useState18("idle");
7610
+ const accepts = useMemo16(() => accept.split(",").map((accept2) => accept2.trim()), [accept]);
7611
+ const parsedAccepts = useMemo16(
7612
+ () => accepts.flatMap((type) => {
7613
+ if (["image/*", "video/*", "audio/*"].includes(type)) {
7614
+ return ALL_EXTENSIONS_BY_TYPE[type];
7570
7615
  }
7571
- const [allAcceptedTypes, acceptedTypes] = [
7572
- accepts.filter((accept2) => ["image/*", "video/*", "audio/*"].includes(accept2)).map((accept2) => {
7573
- const [type] = accept2.split("/");
7574
- return type.toLowerCase();
7575
- }),
7576
- accepts.filter((accept2) => !["image/*", "video/*", "audio/*"].includes(accept2)).map((accept2) => {
7577
- const [extensionOrType, subType] = accept2.split("/");
7578
- if (!subType) {
7579
- return extensionOrType.toUpperCase().replace(".", "");
7616
+ return type;
7617
+ }),
7618
+ [accepts]
7619
+ );
7620
+ const helperText = useMemo16(() => {
7621
+ if (helperTextProp) {
7622
+ return helperTextProp;
7623
+ }
7624
+ const [allAcceptedTypes, acceptedTypes] = [
7625
+ accepts.filter((accept2) => ["image/*", "video/*", "audio/*"].includes(accept2)).map((accept2) => {
7626
+ const [type] = accept2.split("/");
7627
+ return type.toLowerCase();
7628
+ }),
7629
+ accepts.filter((accept2) => !["image/*", "video/*", "audio/*"].includes(accept2)).map((accept2) => {
7630
+ const [extensionOrType, subType] = accept2.split("/");
7631
+ if (!subType) {
7632
+ return extensionOrType.toUpperCase().replace(".", "");
7633
+ }
7634
+ return subType.toUpperCase();
7635
+ })
7636
+ ];
7637
+ const helperTexts = [];
7638
+ if (allAcceptedTypes.length > 0) {
7639
+ helperTexts.push(`Any ${allAcceptedTypes.join(", ")} file`);
7640
+ }
7641
+ if (acceptedTypes.length > 0) {
7642
+ helperTexts.push(acceptedTypes.join(", "));
7643
+ }
7644
+ helperTexts.push(`Maximum ${getFileSize(maxFileTotalSize)}`);
7645
+ if (maxCount) {
7646
+ helperTexts.push(`Up to ${maxCount} ${maxCount === 1 ? "file" : "files"}`);
7647
+ }
7648
+ return helperTexts.join(", ");
7649
+ }, [accepts, maxFileTotalSize, maxCount, helperTextProp]);
7650
+ const error = useMemo16(() => !!errorText || errorProp, [errorProp, errorText]);
7651
+ const showDropZone = useMemo16(
7652
+ () => !maxCount || maxCount && [...uploaded, ...files].length !== maxCount,
7653
+ [files, maxCount, uploaded]
7654
+ );
7655
+ const addFiles = useCallback19(
7656
+ (uploads) => {
7657
+ try {
7658
+ const types = parsedAccepts.map((type) => type.replace(".", "")) || [];
7659
+ const fileExtension = new RegExp(`${types.join("|")}`);
7660
+ uploads.forEach((file) => {
7661
+ const ext = file.name.split(".").pop() || "";
7662
+ if (!fileExtension.test(ext)) {
7663
+ throw new Error("Please upload the correct file type.");
7580
7664
  }
7581
- return subType.toUpperCase();
7582
- })
7583
- ];
7584
- const helperTexts = [];
7585
- if (allAcceptedTypes.length > 0) {
7586
- helperTexts.push(`Any ${allAcceptedTypes.join(", ")} file`);
7587
- }
7588
- if (acceptedTypes.length > 0) {
7589
- helperTexts.push(acceptedTypes.join(", "));
7590
- }
7591
- helperTexts.push(`Maximum ${getFileSize(maxFileTotalSize)}`);
7592
- if (maxCount) {
7593
- helperTexts.push(`Up to ${maxCount} ${maxCount === 1 ? "file" : "files"}`);
7594
- }
7595
- return helperTexts.join(", ");
7596
- }, [accepts, maxFileTotalSize, maxCount, helperTextProp]);
7597
- const error = useMemo15(() => !!errorText || errorProp, [errorProp, errorText]);
7598
- const showDropZone = useMemo15(
7599
- () => !maxCount || maxCount && [...uploaded, ...files].length !== maxCount,
7600
- [files, maxCount, uploaded]
7601
- );
7602
- const addFiles = useCallback18(
7603
- (uploads) => {
7604
- try {
7605
- const types = parsedAccepts.map((type) => type.replace(".", "")) || [];
7606
- const fileExtension = new RegExp(`${types.join("|")}`);
7665
+ });
7666
+ if (maxFileSize) {
7607
7667
  uploads.forEach((file) => {
7608
- const ext = file.name.split(".").pop() || "";
7609
- if (!fileExtension.test(ext)) {
7610
- throw new Error("Please upload the correct file type.");
7668
+ if (file.size > maxFileSize) {
7669
+ throw new Error(
7670
+ `One or more files exceeded the maximum file size. Each file size must be ${getFileSize(
7671
+ maxFileSize
7672
+ )} or less.`
7673
+ );
7611
7674
  }
7612
7675
  });
7613
- if (maxFileSize) {
7614
- uploads.forEach((file) => {
7615
- if (file.size > maxFileSize) {
7616
- throw new Error(
7617
- `One or more files exceeded the maximum file size. Each file size must be ${getFileSize(
7618
- maxFileSize
7619
- )} or less.`
7620
- );
7621
- }
7622
- });
7623
- }
7624
- const totalFileSize = [...files, ...uploads].reduce((acc, file) => acc + file.size, 0);
7625
- if (totalFileSize > maxFileTotalSize) {
7626
- throw new Error(`The total file size exceeds the maximum limit.`);
7627
- }
7628
- const newFiles = [...files, ...uploads];
7629
- if (maxCount && [...uploaded, ...newFiles].length > maxCount) {
7630
- throw new Error(`Exceeded the maximum number of files.`);
7676
+ }
7677
+ const totalFileSize = [...files, ...uploads].reduce((acc, file) => acc + file.size, 0);
7678
+ if (totalFileSize > maxFileTotalSize) {
7679
+ throw new Error(`The total file size exceeds the maximum limit.`);
7680
+ }
7681
+ const newFiles = [...files, ...uploads];
7682
+ if (maxCount && [...uploaded, ...newFiles].length > maxCount) {
7683
+ throw new Error(`Exceeded the maximum number of files.`);
7684
+ }
7685
+ onChange?.({
7686
+ target: {
7687
+ name,
7688
+ value: newFiles
7631
7689
  }
7690
+ });
7691
+ setFiles(newFiles);
7692
+ setErrorText(void 0);
7693
+ } catch (error2) {
7694
+ const err = error2;
7695
+ setErrorText(err.message);
7696
+ }
7697
+ },
7698
+ [files, uploaded, maxCount, parsedAccepts, maxFileSize, maxFileTotalSize, name, onChange]
7699
+ );
7700
+ useEffect13(() => {
7701
+ if (!dropZoneRef.current || disabled) {
7702
+ return;
7703
+ }
7704
+ let cleanup;
7705
+ Promise.all([esmFiles.combine, esmFiles.adapter, esmFiles.file, esmFiles.preventUnhandled]).then(
7706
+ ([combineModule, adapterModule, fileModule, preventUnhandledModule]) => {
7707
+ const { combine } = combineModule;
7708
+ const { dropTargetForExternal, monitorForExternal } = adapterModule;
7709
+ const { containsFiles, getFiles } = fileModule;
7710
+ const { preventUnhandled } = preventUnhandledModule;
7711
+ cleanup = combine(
7712
+ dropTargetForExternal({
7713
+ element: dropZoneRef.current,
7714
+ canDrop: containsFiles,
7715
+ onDragEnter: () => setPreviewState("over"),
7716
+ onDragLeave: () => setPreviewState("potential"),
7717
+ onDrop: async ({ source }) => {
7718
+ const files2 = await getFiles({ source });
7719
+ addFiles(files2);
7720
+ }
7721
+ }),
7722
+ monitorForExternal({
7723
+ canMonitor: containsFiles,
7724
+ onDragStart: () => {
7725
+ setPreviewState("potential");
7726
+ preventUnhandled.start();
7727
+ },
7728
+ onDrop: () => {
7729
+ setPreviewState("idle");
7730
+ preventUnhandled.stop();
7731
+ }
7732
+ })
7733
+ );
7734
+ }
7735
+ );
7736
+ return () => cleanup?.();
7737
+ }, [disabled, addFiles]);
7738
+ useEffect13(() => {
7739
+ if (inputRef.current && minCount) {
7740
+ if (files.length < minCount) {
7741
+ inputRef.current.setCustomValidity(`At least ${minCount} files are required.`);
7742
+ } else {
7743
+ inputRef.current.setCustomValidity("");
7744
+ }
7745
+ }
7746
+ }, [inputRef, files, minCount]);
7747
+ const handleFileChanged = useCallback19(
7748
+ (event) => {
7749
+ const files2 = Array.from(event.target.files || []);
7750
+ addFiles(files2);
7751
+ },
7752
+ [addFiles]
7753
+ );
7754
+ const handleDeleteFile = useCallback19(
7755
+ (deletedFile) => {
7756
+ if (deletedFile instanceof File) {
7757
+ setFiles((current) => {
7632
7758
  onChange?.({
7633
7759
  target: {
7634
7760
  name,
7635
- value: newFiles
7761
+ value: current.filter((file) => file !== deletedFile)
7636
7762
  }
7637
7763
  });
7638
- setFiles(newFiles);
7639
- setErrorText(void 0);
7640
- } catch (error2) {
7641
- const err = error2;
7642
- setErrorText(err.message);
7643
- }
7644
- },
7645
- [files, uploaded, maxCount, parsedAccepts, maxFileSize, maxFileTotalSize, name, onChange]
7646
- );
7647
- useEffect13(() => {
7648
- if (!dropZoneRef.current || disabled) {
7649
- return;
7650
- }
7651
- let cleanup;
7652
- Promise.all([esmFiles.combine, esmFiles.adapter, esmFiles.file, esmFiles.preventUnhandled]).then(
7653
- ([combineModule, adapterModule, fileModule, preventUnhandledModule]) => {
7654
- const { combine } = combineModule;
7655
- const { dropTargetForExternal, monitorForExternal } = adapterModule;
7656
- const { containsFiles, getFiles } = fileModule;
7657
- const { preventUnhandled } = preventUnhandledModule;
7658
- cleanup = combine(
7659
- dropTargetForExternal({
7660
- element: dropZoneRef.current,
7661
- canDrop: containsFiles,
7662
- onDragEnter: () => setPreviewState("over"),
7663
- onDragLeave: () => setPreviewState("potential"),
7664
- onDrop: async ({ source }) => {
7665
- const files2 = await getFiles({ source });
7666
- addFiles(files2);
7667
- }
7668
- }),
7669
- monitorForExternal({
7670
- canMonitor: containsFiles,
7671
- onDragStart: () => {
7672
- setPreviewState("potential");
7673
- preventUnhandled.start();
7674
- },
7675
- onDrop: () => {
7676
- setPreviewState("idle");
7677
- preventUnhandled.stop();
7678
- }
7679
- })
7680
- );
7681
- }
7682
- );
7683
- return () => cleanup?.();
7684
- }, [disabled, addFiles]);
7685
- useEffect13(() => {
7686
- if (inputRef.current && minCount) {
7687
- if (files.length < minCount) {
7688
- inputRef.current.setCustomValidity(`At least ${minCount} files are required.`);
7689
- } else {
7690
- inputRef.current.setCustomValidity("");
7691
- }
7764
+ return current.filter((file) => file !== deletedFile);
7765
+ });
7766
+ } else {
7767
+ setUploaded((uploaded2) => uploaded2.filter((file) => file.id !== deletedFile.id));
7768
+ onDelete?.(deletedFile);
7692
7769
  }
7693
- }, [inputRef, files, minCount]);
7694
- const handleFileChanged = useCallback18(
7695
- (event) => {
7696
- const files2 = Array.from(event.target.files || []);
7697
- addFiles(files2);
7698
- },
7699
- [addFiles]
7700
- );
7701
- const handleDeleteFile = useCallback18(
7702
- (deletedFile) => {
7703
- if (deletedFile instanceof File) {
7704
- setFiles((current) => {
7705
- onChange?.({
7706
- target: {
7707
- name,
7708
- value: current.filter((file) => file !== deletedFile)
7709
- }
7710
- });
7711
- return current.filter((file) => file !== deletedFile);
7712
- });
7713
- } else {
7714
- setUploaded((uploaded2) => uploaded2.filter((file) => file.id !== deletedFile.id));
7715
- onDelete?.(deletedFile);
7716
- }
7717
- setErrorText(void 0);
7718
- },
7719
- [name, onChange, onDelete]
7720
- );
7721
- const handleUploaderButtonClick = useCallback18(() => {
7722
- inputRef.current?.click();
7723
- }, []);
7724
- const uploader = /* @__PURE__ */ React48.createElement(
7725
- FileDropZone,
7770
+ setErrorText(void 0);
7771
+ },
7772
+ [name, onChange, onDelete]
7773
+ );
7774
+ const handleUploaderButtonClick = useCallback19(() => {
7775
+ inputRef.current?.click();
7776
+ }, []);
7777
+ const uploader = /* @__PURE__ */ React49.createElement(
7778
+ FileDropZone,
7779
+ {
7780
+ state: previewState,
7781
+ error: !!(error || errorText),
7782
+ disabled,
7783
+ ref: dropZoneRef,
7784
+ onClick: handleUploaderButtonClick
7785
+ },
7786
+ /* @__PURE__ */ React49.createElement(Stack_default, { alignItems: "center", gap: 1 }, /* @__PURE__ */ React49.createElement(UploaderIcon, { state: previewState, error: !!(error || errorText), disabled })),
7787
+ /* @__PURE__ */ React49.createElement(
7788
+ VisuallyHiddenInput,
7726
7789
  {
7727
- state: previewState,
7728
- error: !!(error || errorText),
7729
7790
  disabled,
7730
- ref: dropZoneRef,
7731
- onClick: handleUploaderButtonClick
7732
- },
7733
- /* @__PURE__ */ React48.createElement(Stack_default, { alignItems: "center", gap: 1 }, /* @__PURE__ */ React48.createElement(UploaderIcon, { state: previewState, error: !!(error || errorText), disabled })),
7734
- /* @__PURE__ */ React48.createElement(
7735
- VisuallyHiddenInput,
7736
- {
7737
- disabled,
7738
- required: !!minCount,
7739
- onInvalid: (e) => {
7740
- if (minCount && files.length < minCount) {
7741
- setErrorText(`Please choose ${minCount} ${minCount === 1 ? "file" : "files"} to upload.`);
7742
- }
7743
- },
7744
- slotProps: {
7745
- input: {
7746
- multiple: true,
7747
- accept: parsedAccepts.join(","),
7748
- type: "file",
7749
- ref: inputRef,
7750
- role: "button",
7751
- onChange: handleFileChanged
7752
- }
7791
+ required: !!minCount,
7792
+ onInvalid: (e) => {
7793
+ if (minCount && files.length < minCount) {
7794
+ setErrorText(`Please choose ${minCount} ${minCount === 1 ? "file" : "files"} to upload.`);
7795
+ }
7796
+ },
7797
+ slotProps: {
7798
+ input: {
7799
+ multiple: true,
7800
+ accept: parsedAccepts.join(","),
7801
+ type: "file",
7802
+ ref: inputRef,
7803
+ role: "button",
7804
+ onChange: handleFileChanged
7753
7805
  }
7754
7806
  }
7755
- )
7756
- );
7757
- return /* @__PURE__ */ React48.createElement(UploaderRoot, null, showDropZone && /* @__PURE__ */ React48.createElement(FormControl_default, { size, error: !!(error || errorText), disabled, required: !!minCount }, label && /* @__PURE__ */ React48.createElement(FormLabel_default, null, label), uploader, /* @__PURE__ */ React48.createElement(FormHelperText_default, null, /* @__PURE__ */ React48.createElement(Stack_default, null, errorText && /* @__PURE__ */ React48.createElement("div", null, errorText), /* @__PURE__ */ React48.createElement("div", null, helperText)))), [...uploaded, ...files].length > 0 && /* @__PURE__ */ React48.createElement(Preview, { files, uploaded, onDelete: handleDeleteFile }));
7758
- }
7759
- );
7807
+ }
7808
+ )
7809
+ );
7810
+ return /* @__PURE__ */ React49.createElement(UploaderRoot, null, showDropZone && /* @__PURE__ */ React49.createElement(FormControl_default, { size, error: !!(error || errorText), disabled, required: !!minCount }, label && /* @__PURE__ */ React49.createElement(FormLabel_default, null, label), uploader, /* @__PURE__ */ React49.createElement(FormHelperText_default, null, /* @__PURE__ */ React49.createElement(Stack_default, null, errorText && /* @__PURE__ */ React49.createElement("div", null, errorText), /* @__PURE__ */ React49.createElement("div", null, helperText)))), [...uploaded, ...files].length > 0 && /* @__PURE__ */ React49.createElement(Preview, { files, uploaded, onDelete: handleDeleteFile }));
7811
+ });
7760
7812
  Uploader.displayName = "Uploader";
7761
7813
  export {
7762
7814
  Accordion,
@@ -7817,7 +7869,8 @@ export {
7817
7869
  ListSubheader,
7818
7870
  Markdown,
7819
7871
  Menu,
7820
- MenuButton,
7872
+ MenuButton2 as MenuButton,
7873
+ MenuButton as MenuButtonTrigger,
7821
7874
  MenuItem,
7822
7875
  Modal,
7823
7876
  ModalClose,
@@ -7932,6 +7985,7 @@ export {
7932
7985
  tooltipClasses2 as tooltipClasses,
7933
7986
  typographyClasses,
7934
7987
  useColorScheme,
7988
+ useMenuButton,
7935
7989
  useTheme2 as useTheme,
7936
- useThemeProps10 as useThemeProps
7990
+ useThemeProps13 as useThemeProps
7937
7991
  };