@ceed/cds 1.40.3-next.4 → 1.40.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -344,7 +344,7 @@ function Alert(inProps) {
344
344
  Alert.displayName = "Alert";
345
345
 
346
346
  // src/components/Autocomplete/Autocomplete.tsx
347
- var import_react7 = __toESM(require("react"));
347
+ var import_react6 = __toESM(require("react"));
348
348
  var import_joy10 = require("@mui/joy");
349
349
  var import_base = require("@mui/base");
350
350
  var import_Close = __toESM(require("@mui/icons-material/Close"));
@@ -441,37 +441,6 @@ function useControlledState(controlledValue, defaultValue, onChange) {
441
441
  return [displayValue, handleChange, isControlled];
442
442
  }
443
443
 
444
- // src/libs/slot-props.ts
445
- var import_react6 = require("react");
446
- function assignRef(ref, value) {
447
- if (typeof ref === "function") ref(value);
448
- else if (ref) ref.current = value;
449
- }
450
- function mergeRefs(...refs) {
451
- const live = refs.filter((r) => r != null);
452
- if (live.length === 0) return void 0;
453
- if (live.length === 1) return live[0];
454
- return (value) => live.forEach((r) => assignRef(r, value));
455
- }
456
- function useMergedRef(a, b) {
457
- return (0, import_react6.useMemo)(() => mergeRefs(a, b), [a, b]);
458
- }
459
- function useSlotRef(slotProp, ref) {
460
- const isFunctionForm = typeof slotProp === "function";
461
- const slotRef = isFunctionForm ? void 0 : slotProp?.ref;
462
- const mergedRef = useMergedRef(slotRef, ref);
463
- return (0, import_react6.useMemo)(() => {
464
- if (isFunctionForm) {
465
- return ((ownerState) => {
466
- const resolved = slotProp(ownerState) ?? {};
467
- const merged = mergeRefs(resolved.ref, ref);
468
- return merged ? { ...resolved, ref: merged } : { ...resolved };
469
- });
470
- }
471
- return mergedRef ? { ...slotProp, ref: mergedRef } : { ...slotProp };
472
- }, [isFunctionForm, slotProp, mergedRef, ref]);
473
- }
474
-
475
444
  // src/components/Autocomplete/Autocomplete.tsx
476
445
  var AutocompletePopper = (0, import_joy10.styled)(import_base2.Popper, {
477
446
  name: "Autocomplete",
@@ -484,7 +453,7 @@ var itemHeightMap = {
484
453
  md: { default: 36, secondary: 55 },
485
454
  lg: { default: 44, secondary: 65 }
486
455
  };
487
- var AutocompleteListBox = import_react7.default.forwardRef((props, ref) => {
456
+ var AutocompleteListBox = import_react6.default.forwardRef((props, ref) => {
488
457
  const {
489
458
  anchorEl,
490
459
  open,
@@ -494,13 +463,13 @@ var AutocompleteListBox = import_react7.default.forwardRef((props, ref) => {
494
463
  ownerState: { loading, size: fontSize = "md" },
495
464
  ...innerProps
496
465
  } = props;
497
- const parentRef = (0, import_react7.useRef)(null);
466
+ const parentRef = (0, import_react6.useRef)(null);
498
467
  const isGrouped = children[0].every((child) => child.hasOwnProperty("group"));
499
- const itemHeight = (0, import_react7.useMemo)(() => {
468
+ const itemHeight = (0, import_react6.useMemo)(() => {
500
469
  const heights = itemHeightMap[fontSize ?? "md"];
501
470
  return hasSecondaryText ? heights.secondary : heights.default;
502
471
  }, [fontSize, hasSecondaryText]);
503
- const renderTargets = (0, import_react7.useMemo)(() => {
472
+ const renderTargets = (0, import_react6.useMemo)(() => {
504
473
  if (loading) {
505
474
  return [children[1]];
506
475
  }
@@ -509,7 +478,7 @@ var AutocompleteListBox = import_react7.default.forwardRef((props, ref) => {
509
478
  }
510
479
  if (isGrouped) {
511
480
  return children[0].flatMap((child) => [
512
- /* @__PURE__ */ import_react7.default.createElement(import_joy10.ListSubheader, { key: child.key, component: "li" }, child.group),
481
+ /* @__PURE__ */ import_react6.default.createElement(import_joy10.ListSubheader, { key: child.key, component: "li" }, child.group),
513
482
  ...child.children
514
483
  ]);
515
484
  }
@@ -523,12 +492,12 @@ var AutocompleteListBox = import_react7.default.forwardRef((props, ref) => {
523
492
  overscan: 5
524
493
  });
525
494
  const items = virtualizer.getVirtualItems();
526
- (0, import_react7.useEffect)(() => {
495
+ (0, import_react6.useEffect)(() => {
527
496
  if (open) {
528
497
  virtualizer.measure();
529
498
  }
530
499
  }, [open, virtualizer]);
531
- return /* @__PURE__ */ import_react7.default.createElement(AutocompletePopper, { ref, anchorEl, open, modifiers }, /* @__PURE__ */ import_react7.default.createElement(import_joy10.AutocompleteListbox, { ...innerProps, size: fontSize }, /* @__PURE__ */ import_react7.default.createElement("div", { ref: parentRef, style: { overflow: "auto" } }, /* @__PURE__ */ import_react7.default.createElement(
500
+ return /* @__PURE__ */ import_react6.default.createElement(AutocompletePopper, { ref, anchorEl, open, modifiers }, /* @__PURE__ */ import_react6.default.createElement(import_joy10.AutocompleteListbox, { ...innerProps, size: fontSize }, /* @__PURE__ */ import_react6.default.createElement("div", { ref: parentRef, style: { overflow: "auto" } }, /* @__PURE__ */ import_react6.default.createElement(
532
501
  "div",
533
502
  {
534
503
  style: {
@@ -537,7 +506,7 @@ var AutocompleteListBox = import_react7.default.forwardRef((props, ref) => {
537
506
  }
538
507
  },
539
508
  items.map(
540
- ({ index, size, start, key }) => import_react7.default.cloneElement(renderTargets[index], {
509
+ ({ index, size, start, key }) => import_react6.default.cloneElement(renderTargets[index], {
541
510
  key,
542
511
  style: {
543
512
  position: "absolute",
@@ -549,7 +518,7 @@ var AutocompleteListBox = import_react7.default.forwardRef((props, ref) => {
549
518
  transform: `translateY(${start}px)`,
550
519
  overflow: "visible"
551
520
  },
552
- children: /* @__PURE__ */ import_react7.default.createElement(
521
+ children: /* @__PURE__ */ import_react6.default.createElement(
553
522
  "div",
554
523
  {
555
524
  style: {
@@ -592,7 +561,7 @@ var autocompleteFilterOptions = (0, import_base.createFilterOptions)({
592
561
  }
593
562
  });
594
563
  var getOptionLabel = (option) => `${option.label ?? ""}`;
595
- function AutocompleteInner(props, ref) {
564
+ function Autocomplete(props) {
596
565
  const {
597
566
  label,
598
567
  error,
@@ -611,7 +580,7 @@ function AutocompleteInner(props, ref) {
611
580
  const [rawValue, setValue] = useControlledState(
612
581
  props.value,
613
582
  props.defaultValue ?? null,
614
- (0, import_react7.useCallback)(
583
+ (0, import_react6.useCallback)(
615
584
  (value2) => onChange?.({
616
585
  target: {
617
586
  value: value2,
@@ -622,7 +591,7 @@ function AutocompleteInner(props, ref) {
622
591
  )
623
592
  );
624
593
  const _value = rawValue ?? (props.multiple ? EMPTY_MULTIPLE_VALUE : "");
625
- const options = (0, import_react7.useMemo)(
594
+ const options = (0, import_react6.useMemo)(
626
595
  () => props.options.map((option) => {
627
596
  if (typeof option !== "object") {
628
597
  return {
@@ -634,19 +603,19 @@ function AutocompleteInner(props, ref) {
634
603
  }),
635
604
  [props.options]
636
605
  );
637
- const optionMap = (0, import_react7.useMemo)(() => {
606
+ const optionMap = (0, import_react6.useMemo)(() => {
638
607
  const map = /* @__PURE__ */ new Map();
639
608
  options.forEach((option) => {
640
609
  map.set(option.value, option);
641
610
  });
642
611
  return map;
643
612
  }, [options]);
644
- const value = (0, import_react7.useMemo)(() => {
613
+ const value = (0, import_react6.useMemo)(() => {
645
614
  if (props.loading) {
646
615
  return {
647
616
  value: "",
648
617
  label: "",
649
- startDecorator: /* @__PURE__ */ import_react7.default.createElement(import_joy10.CircularProgress, { size: "sm", color: "neutral", variant: "plain", thickness: 3 })
618
+ startDecorator: /* @__PURE__ */ import_react6.default.createElement(import_joy10.CircularProgress, { size: "sm", color: "neutral", variant: "plain", thickness: 3 })
650
619
  };
651
620
  }
652
621
  if (Array.isArray(_value)) {
@@ -654,33 +623,31 @@ function AutocompleteInner(props, ref) {
654
623
  }
655
624
  return optionMap.get(_value);
656
625
  }, [_value, optionMap, props.loading]);
657
- const applySize = (0, import_react7.useCallback)(
626
+ const applySize = (0, import_react6.useCallback)(
658
627
  (node) => {
659
- return import_react7.default.isValidElement(node) && !props.loading ? import_react7.default.cloneElement(node, { ...{ size } }) : node;
628
+ return import_react6.default.isValidElement(node) && !props.loading ? import_react6.default.cloneElement(node, { ...{ size } }) : node;
660
629
  },
661
630
  [size, props.loading]
662
631
  );
663
- const startDecorator = (0, import_react7.useMemo)(
632
+ const startDecorator = (0, import_react6.useMemo)(
664
633
  () => applySize(value?.startDecorator || props.startDecorator),
665
634
  [value, applySize, props.startDecorator]
666
635
  );
667
- const endDecorator = (0, import_react7.useMemo)(
636
+ const endDecorator = (0, import_react6.useMemo)(
668
637
  () => applySize(value?.endDecorator || props.endDecorator),
669
638
  [value, applySize, props.endDecorator]
670
639
  );
671
- const inputSlotProps = useSlotRef(props.slotProps?.input, ref);
672
- const slotProps = (0, import_react7.useMemo)(
640
+ const slotProps = (0, import_react6.useMemo)(
673
641
  () => ({
674
642
  ...props.slotProps,
675
643
  listbox: {
676
644
  ...props.slotProps?.listbox,
677
645
  hasSecondaryText: options.some((opt) => opt.secondaryText)
678
- },
679
- input: inputSlotProps
646
+ }
680
647
  }),
681
- [options, props.slotProps, inputSlotProps]
648
+ [options, props.slotProps]
682
649
  );
683
- const handleChange = (0, import_react7.useCallback)(
650
+ const handleChange = (0, import_react6.useCallback)(
684
651
  (event, value2) => {
685
652
  const newValue = value2;
686
653
  const _value2 = Array.isArray(newValue) ? newValue.map((value3) => value3.value) : newValue?.value;
@@ -697,7 +664,7 @@ function AutocompleteInner(props, ref) {
697
664
  },
698
665
  [onChangeComplete, setValue, optionMap]
699
666
  );
700
- const autocomplete = /* @__PURE__ */ import_react7.default.createElement(
667
+ const autocomplete = /* @__PURE__ */ import_react6.default.createElement(
701
668
  import_joy10.Autocomplete,
702
669
  {
703
670
  ...innerProps,
@@ -712,10 +679,10 @@ function AutocompleteInner(props, ref) {
712
679
  endDecorator,
713
680
  getOptionLabel,
714
681
  renderTags: (tags, getTagProps) => tags.map((tag, index) => {
715
- const { onClick, key, ...rest } = getTagProps({ index });
682
+ const { onClick, ...rest } = getTagProps({ index });
716
683
  return applySize(
717
- /* @__PURE__ */ import_react7.default.createElement(Chip_default, { key, color: "primary", ...rest }, /* @__PURE__ */ import_react7.default.createElement(Stack_default, { direction: "row", alignItems: "center", gap: 2, py: 0.5 }, tag.value, applySize(
718
- /* @__PURE__ */ import_react7.default.createElement(AutocompleteTagDelete, { color: "primary", variant: "soft", onClick }, /* @__PURE__ */ import_react7.default.createElement(import_Close.default, null))
684
+ /* @__PURE__ */ import_react6.default.createElement(Chip_default, { color: "primary", ...rest }, /* @__PURE__ */ import_react6.default.createElement(Stack_default, { direction: "row", alignItems: "center", gap: 2, py: 0.5 }, tag.value, applySize(
685
+ /* @__PURE__ */ import_react6.default.createElement(AutocompleteTagDelete, { color: "primary", variant: "soft", onClick }, /* @__PURE__ */ import_react6.default.createElement(import_Close.default, null))
719
686
  )))
720
687
  );
721
688
  }),
@@ -724,33 +691,30 @@ function AutocompleteInner(props, ref) {
724
691
  },
725
692
  slotProps,
726
693
  filterOptions: autocompleteFilterOptions,
727
- renderOption: (props2, option) => {
728
- const { key, ...optionProps } = props2;
729
- return /* @__PURE__ */ import_react7.default.createElement(import_joy10.AutocompleteOption, { key, ...optionProps }, option.startDecorator && /* @__PURE__ */ import_react7.default.createElement(
730
- import_joy10.ListItemDecorator,
731
- {
732
- sx: (theme) => ({
733
- marginInlineEnd: `var(--Input-gap, ${theme.spacing(1)})`
734
- })
735
- },
736
- applySize(option.startDecorator)
737
- ), option.secondaryText ? /* @__PURE__ */ import_react7.default.createElement(import_joy10.ListItemContent, { sx: { gap: 0.5 } }, /* @__PURE__ */ import_react7.default.createElement(import_joy10.Typography, { level: "inherit" }, applySize(option.label)), /* @__PURE__ */ import_react7.default.createElement(import_joy10.Typography, { level: secondaryTextLevelMap[size ?? "md"], textColor: "text.tertiary" }, option.secondaryText)) : (
738
- // TODO: haulla에서 사용할 때, label을 ReactNode로 넘기면 에러가 발생함....
739
- applySize(option.label)
740
- ), option.endDecorator && /* @__PURE__ */ import_react7.default.createElement(
741
- import_joy10.ListItemDecorator,
742
- {
743
- sx: (theme) => ({
744
- marginInlineStart: `var(--Input-gap, ${theme.spacing(1)})`
745
- })
746
- },
747
- applySize(option.endDecorator)
748
- ));
749
- },
694
+ renderOption: (props2, option) => /* @__PURE__ */ import_react6.default.createElement(import_joy10.AutocompleteOption, { ...props2 }, option.startDecorator && /* @__PURE__ */ import_react6.default.createElement(
695
+ import_joy10.ListItemDecorator,
696
+ {
697
+ sx: (theme) => ({
698
+ marginInlineEnd: `var(--Input-gap, ${theme.spacing(1)})`
699
+ })
700
+ },
701
+ applySize(option.startDecorator)
702
+ ), option.secondaryText ? /* @__PURE__ */ import_react6.default.createElement(import_joy10.ListItemContent, { sx: { gap: 0.5 } }, /* @__PURE__ */ import_react6.default.createElement(import_joy10.Typography, { level: "inherit" }, applySize(option.label)), /* @__PURE__ */ import_react6.default.createElement(import_joy10.Typography, { level: secondaryTextLevelMap[size ?? "md"], textColor: "text.tertiary" }, option.secondaryText)) : (
703
+ // TODO: haulla에서 사용할 때, label을 ReactNode로 넘기면 에러가 발생함....
704
+ applySize(option.label)
705
+ ), option.endDecorator && /* @__PURE__ */ import_react6.default.createElement(
706
+ import_joy10.ListItemDecorator,
707
+ {
708
+ sx: (theme) => ({
709
+ marginInlineStart: `var(--Input-gap, ${theme.spacing(1)})`
710
+ })
711
+ },
712
+ applySize(option.endDecorator)
713
+ )),
750
714
  renderGroup: (params) => params
751
715
  }
752
716
  );
753
- return /* @__PURE__ */ import_react7.default.createElement(
717
+ return /* @__PURE__ */ import_react6.default.createElement(
754
718
  FormControl_default,
755
719
  {
756
720
  required,
@@ -761,19 +725,18 @@ function AutocompleteInner(props, ref) {
761
725
  sx,
762
726
  className
763
727
  },
764
- label && /* @__PURE__ */ import_react7.default.createElement(FormLabel_default, null, label),
728
+ label && /* @__PURE__ */ import_react6.default.createElement(FormLabel_default, null, label),
765
729
  autocomplete,
766
- helperText && /* @__PURE__ */ import_react7.default.createElement(FormHelperText_default, null, helperText)
730
+ helperText && /* @__PURE__ */ import_react6.default.createElement(FormHelperText_default, null, helperText)
767
731
  );
768
732
  }
769
- var Autocomplete = import_react7.default.forwardRef(AutocompleteInner);
770
733
  Autocomplete.displayName = "Autocomplete";
771
734
 
772
735
  // src/components/Autocomplete/index.ts
773
736
  var Autocomplete_default = Autocomplete;
774
737
 
775
738
  // src/components/Avatar/Avatar.tsx
776
- var import_react8 = __toESM(require("react"));
739
+ var import_react7 = __toESM(require("react"));
777
740
  var import_joy11 = require("@mui/joy");
778
741
  var StyledAvatar = (0, import_joy11.styled)(import_joy11.Avatar, {
779
742
  name: "Avatar",
@@ -795,19 +758,19 @@ var defaultGetInitial = (name) => {
795
758
  return (firstName.charAt(0) + lastName.charAt(0)).toUpperCase();
796
759
  }
797
760
  };
798
- var Avatar = (0, import_react8.forwardRef)(function Avatar2(inProps, ref) {
761
+ var Avatar = (0, import_react7.forwardRef)(function Avatar2(inProps, ref) {
799
762
  const props = (0, import_joy11.useThemeProps)({
800
763
  props: inProps,
801
764
  name: "Avatar"
802
765
  });
803
766
  const { children, getInitial = defaultGetInitial, ...inheritProps } = props;
804
- const calcChildren = (0, import_react8.useMemo)(() => {
767
+ const calcChildren = (0, import_react7.useMemo)(() => {
805
768
  if (typeof children === "string") {
806
769
  return getInitial?.(children) ?? "";
807
770
  }
808
771
  return children;
809
772
  }, [children, getInitial]);
810
- return /* @__PURE__ */ import_react8.default.createElement(StyledAvatar, { ...inheritProps, children: calcChildren, ref });
773
+ return /* @__PURE__ */ import_react7.default.createElement(StyledAvatar, { ...inheritProps, children: calcChildren, ref });
811
774
  });
812
775
 
813
776
  // src/components/Box/Box.tsx
@@ -821,16 +784,16 @@ Box.displayName = "Box";
821
784
  var Box_default = Box;
822
785
 
823
786
  // src/components/Breadcrumbs/Breadcrumbs.tsx
824
- var import_react11 = __toESM(require("react"));
787
+ var import_react10 = __toESM(require("react"));
825
788
  var import_joy16 = require("@mui/joy");
826
789
 
827
790
  // src/components/Menu/Menu.tsx
828
- var import_react9 = __toESM(require("react"));
791
+ var import_react8 = __toESM(require("react"));
829
792
  var import_joy13 = require("@mui/joy");
830
793
  var import_framer_motion10 = require("framer-motion");
831
794
  var MotionMenu = (0, import_framer_motion10.motion)(import_joy13.Menu);
832
795
  var Menu = (props) => {
833
- return /* @__PURE__ */ import_react9.default.createElement(MotionMenu, { ...props });
796
+ return /* @__PURE__ */ import_react8.default.createElement(MotionMenu, { ...props });
834
797
  };
835
798
  Menu.displayName = "Menu";
836
799
  var MenuItem = import_joy13.MenuItem;
@@ -839,22 +802,22 @@ var MenuItem = import_joy13.MenuItem;
839
802
  var Menu_default = Menu;
840
803
 
841
804
  // src/components/Dropdown/Dropdown.tsx
842
- var import_react10 = __toESM(require("react"));
805
+ var import_react9 = __toESM(require("react"));
843
806
  var import_joy14 = require("@mui/joy");
844
807
  var import_joy15 = require("@mui/joy");
845
808
  var import_useMenuButton = require("@mui/base/useMenuButton");
846
- var DropdownNestedRegistryContext = (0, import_react10.createContext)(null);
809
+ var DropdownNestedRegistryContext = (0, import_react9.createContext)(null);
847
810
  function Dropdown({ open: openProp, defaultOpen = false, onOpenChange, ...rest }) {
848
- const [nestedCount, setNestedCount] = (0, import_react10.useState)(0);
811
+ const [nestedCount, setNestedCount] = (0, import_react9.useState)(0);
849
812
  const [open, setOpen] = useControlledState(openProp, defaultOpen);
850
- const registry = (0, import_react10.useMemo)(
813
+ const registry = (0, import_react9.useMemo)(
851
814
  () => ({
852
815
  register: () => setNestedCount((c) => c + 1),
853
816
  unregister: () => setNestedCount((c) => Math.max(0, c - 1))
854
817
  }),
855
818
  []
856
819
  );
857
- const handleOpenChange = (0, import_react10.useCallback)(
820
+ const handleOpenChange = (0, import_react9.useCallback)(
858
821
  (event, isOpen) => {
859
822
  if (nestedCount > 0 && !isOpen && event?.type === "blur") {
860
823
  return;
@@ -864,7 +827,7 @@ function Dropdown({ open: openProp, defaultOpen = false, onOpenChange, ...rest }
864
827
  },
865
828
  [nestedCount, setOpen, onOpenChange]
866
829
  );
867
- return /* @__PURE__ */ import_react10.default.createElement(DropdownNestedRegistryContext.Provider, { value: registry }, /* @__PURE__ */ import_react10.default.createElement(import_joy14.Dropdown, { open, onOpenChange: handleOpenChange, ...rest }));
830
+ return /* @__PURE__ */ import_react9.default.createElement(DropdownNestedRegistryContext.Provider, { value: registry }, /* @__PURE__ */ import_react9.default.createElement(import_joy14.Dropdown, { open, onOpenChange: handleOpenChange, ...rest }));
868
831
  }
869
832
  Dropdown.displayName = "Dropdown";
870
833
 
@@ -887,29 +850,29 @@ function Breadcrumbs(props) {
887
850
  } = props;
888
851
  const Crumb = (props2) => {
889
852
  if (props2.type === "link" && Link4) {
890
- return /* @__PURE__ */ import_react11.default.createElement(Link4, { to: props2.linkHref, href: props2.linkHref, ...linkProps }, props2.label);
853
+ return /* @__PURE__ */ import_react10.default.createElement(Link4, { to: props2.linkHref, href: props2.linkHref, ...linkProps }, props2.label);
891
854
  } else {
892
- return /* @__PURE__ */ import_react11.default.createElement(Typography_default, null, props2.label);
855
+ return /* @__PURE__ */ import_react10.default.createElement(Typography_default, null, props2.label);
893
856
  }
894
857
  };
895
858
  if (!collapsed) {
896
- return /* @__PURE__ */ import_react11.default.createElement(import_joy16.Breadcrumbs, { size, slots: restSlots, slotProps: restSlotProps, ...innerProps }, crumbs.map((crumb, index) => /* @__PURE__ */ import_react11.default.createElement(Crumb, { key: `breadcrumb-${index}`, ...crumb })));
859
+ return /* @__PURE__ */ import_react10.default.createElement(import_joy16.Breadcrumbs, { size, slots: restSlots, slotProps: restSlotProps, ...innerProps }, crumbs.map((crumb, index) => /* @__PURE__ */ import_react10.default.createElement(Crumb, { key: `breadcrumb-${index}`, ...crumb })));
897
860
  }
898
861
  const _endCrumbCount = Math.max(1, endCrumbCount);
899
- const frontCrumbs = crumbs.slice(0, startCrumbCount).map((crumb) => /* @__PURE__ */ import_react11.default.createElement(Crumb, { key: `breadcrumb-${crumb.label}`, ...crumb }));
900
- const backCrumbs = (startCrumbCount + _endCrumbCount > crumbs.length ? crumbs.slice(startCrumbCount) : crumbs.slice(-_endCrumbCount)).map((crumb) => /* @__PURE__ */ import_react11.default.createElement(Crumb, { key: `breadcrumb-${crumb.label}`, ...crumb }));
901
- const collapsedCrumbs = crumbs.slice(startCrumbCount, -_endCrumbCount).map((crumb) => /* @__PURE__ */ import_react11.default.createElement(MenuItem, { key: `breadcrumb-${crumb.label}` }, /* @__PURE__ */ import_react11.default.createElement(Crumb, { ...crumb })));
902
- return /* @__PURE__ */ import_react11.default.createElement(import_joy16.Breadcrumbs, { size, slots: restSlots, slotProps: restSlotProps, ...innerProps }, frontCrumbs, collapsedCrumbs.length && /* @__PURE__ */ import_react11.default.createElement(Dropdown_default, null, /* @__PURE__ */ import_react11.default.createElement(import_joy16.MenuButton, { size, variant: "plain" }, "..."), /* @__PURE__ */ import_react11.default.createElement(Menu_default, { size }, collapsedCrumbs)), backCrumbs);
862
+ const frontCrumbs = crumbs.slice(0, startCrumbCount).map((crumb) => /* @__PURE__ */ import_react10.default.createElement(Crumb, { key: `breadcrumb-${crumb.label}`, ...crumb }));
863
+ const backCrumbs = (startCrumbCount + _endCrumbCount > crumbs.length ? crumbs.slice(startCrumbCount) : crumbs.slice(-_endCrumbCount)).map((crumb) => /* @__PURE__ */ import_react10.default.createElement(Crumb, { key: `breadcrumb-${crumb.label}`, ...crumb }));
864
+ const collapsedCrumbs = crumbs.slice(startCrumbCount, -_endCrumbCount).map((crumb) => /* @__PURE__ */ import_react10.default.createElement(MenuItem, { key: `breadcrumb-${crumb.label}` }, /* @__PURE__ */ import_react10.default.createElement(Crumb, { ...crumb })));
865
+ return /* @__PURE__ */ import_react10.default.createElement(import_joy16.Breadcrumbs, { size, slots: restSlots, slotProps: restSlotProps, ...innerProps }, frontCrumbs, collapsedCrumbs.length && /* @__PURE__ */ import_react10.default.createElement(Dropdown_default, null, /* @__PURE__ */ import_react10.default.createElement(import_joy16.MenuButton, { size, variant: "plain" }, "..."), /* @__PURE__ */ import_react10.default.createElement(Menu_default, { size }, collapsedCrumbs)), backCrumbs);
903
866
  }
904
867
  Breadcrumbs.displayName = "Breadcrumbs";
905
868
 
906
869
  // src/components/Button/Button.tsx
907
- var import_react12 = __toESM(require("react"));
870
+ var import_react11 = __toESM(require("react"));
908
871
  var import_joy17 = require("@mui/joy");
909
872
  var import_framer_motion11 = require("framer-motion");
910
873
  var MotionButton = (0, import_framer_motion11.motion)(import_joy17.Button);
911
- var Button = (0, import_react12.forwardRef)(({ ...props }, ref) => {
912
- return /* @__PURE__ */ import_react12.default.createElement(MotionButton, { ref, ...props });
874
+ var Button = (0, import_react11.forwardRef)(({ ...props }, ref) => {
875
+ return /* @__PURE__ */ import_react11.default.createElement(MotionButton, { ref, ...props });
913
876
  });
914
877
  Button.displayName = "Button";
915
878
 
@@ -917,19 +880,19 @@ Button.displayName = "Button";
917
880
  var Button_default = Button;
918
881
 
919
882
  // src/components/Calendar/Calendar.tsx
920
- var import_react16 = __toESM(require("react"));
883
+ var import_react15 = __toESM(require("react"));
921
884
  var import_joy20 = require("@mui/joy");
922
885
  var import_ChevronLeft = __toESM(require("@mui/icons-material/ChevronLeft"));
923
886
  var import_ChevronRight = __toESM(require("@mui/icons-material/ChevronRight"));
924
887
  var import_framer_motion13 = require("framer-motion");
925
888
 
926
889
  // src/components/Tooltip/Tooltip.tsx
927
- var import_react13 = __toESM(require("react"));
890
+ var import_react12 = __toESM(require("react"));
928
891
  var import_joy18 = require("@mui/joy");
929
892
  var import_framer_motion12 = require("framer-motion");
930
893
  var MotionTooltip = (0, import_framer_motion12.motion)(import_joy18.Tooltip);
931
894
  var Tooltip = (props) => {
932
- return /* @__PURE__ */ import_react13.default.createElement(MotionTooltip, { ...props });
895
+ return /* @__PURE__ */ import_react12.default.createElement(MotionTooltip, { ...props });
933
896
  };
934
897
  Tooltip.displayName = "Tooltip";
935
898
 
@@ -1011,43 +974,43 @@ var isSameMonth = (date1, date2) => {
1011
974
  };
1012
975
 
1013
976
  // src/components/Calendar/hooks/use-calendar-props.ts
1014
- var import_react14 = require("react");
977
+ var import_react13 = require("react");
1015
978
  var import_joy19 = require("@mui/joy");
1016
979
  var resolveView = (view, views) => {
1017
980
  return views.includes(view) ? view : views[0];
1018
981
  };
1019
982
  var useCalendarProps = (inProps) => {
1020
- const [uncontrolledView, setUncontrolledView] = (0, import_react14.useState)(
983
+ const [uncontrolledView, setUncontrolledView] = (0, import_react13.useState)(
1021
984
  () => resolveView(inProps.view || "day", inProps.views || ["day", "month"])
1022
985
  );
1023
- const [uncontrolledValue, setUncontrolledValue] = (0, import_react14.useState)(
986
+ const [uncontrolledValue, setUncontrolledValue] = (0, import_react13.useState)(
1024
987
  inProps.defaultValue
1025
988
  );
1026
- const [viewMonth, setViewMonth] = (0, import_react14.useState)(() => {
989
+ const [viewMonth, setViewMonth] = (0, import_react13.useState)(() => {
1027
990
  const today = /* @__PURE__ */ new Date();
1028
991
  today.setDate(1);
1029
992
  today.setHours(0, 0, 0, 0);
1030
993
  return inProps.value?.[0] || inProps.defaultValue?.[0] || today;
1031
994
  });
1032
- const [[page, direction], setPage] = (0, import_react14.useState)([0, 0]);
995
+ const [[page, direction], setPage] = (0, import_react13.useState)([0, 0]);
1033
996
  const resolvedView = inProps.view ?? uncontrolledView;
1034
- const resolvedMinDate = (0, import_react14.useMemo)(() => {
997
+ const resolvedMinDate = (0, import_react13.useMemo)(() => {
1035
998
  const minDate = inProps.minDate || /* @__PURE__ */ new Date(0);
1036
999
  minDate.setHours(0, 0, 0, 0);
1037
1000
  return minDate;
1038
1001
  }, [inProps.minDate]);
1039
- const resolvedMaxDate = (0, import_react14.useMemo)(() => {
1002
+ const resolvedMaxDate = (0, import_react13.useMemo)(() => {
1040
1003
  const maxDate = inProps.maxDate || /* @__PURE__ */ new Date(864e13);
1041
1004
  maxDate.setHours(0, 0, 0, 0);
1042
1005
  return maxDate;
1043
1006
  }, [inProps.maxDate]);
1044
- const paginate = (0, import_react14.useCallback)(
1007
+ const paginate = (0, import_react13.useCallback)(
1045
1008
  (newDirection) => {
1046
1009
  setPage([page + newDirection, newDirection]);
1047
1010
  },
1048
1011
  [page]
1049
1012
  );
1050
- const handleViewMonthChange = (0, import_react14.useCallback)(
1013
+ const handleViewMonthChange = (0, import_react13.useCallback)(
1051
1014
  (newMonth) => {
1052
1015
  setViewMonth(newMonth);
1053
1016
  if (resolvedView === "month") {
@@ -1095,22 +1058,22 @@ var useCalendarProps = (inProps) => {
1095
1058
  },
1096
1059
  name: "Calendar"
1097
1060
  });
1098
- const ownerState = (0, import_react14.useMemo)(() => ({ ...props, viewMonth, direction }), [props, viewMonth, direction]);
1061
+ const ownerState = (0, import_react13.useMemo)(() => ({ ...props, viewMonth, direction }), [props, viewMonth, direction]);
1099
1062
  return [props, ownerState];
1100
1063
  };
1101
1064
 
1102
1065
  // src/components/Calendar/hooks/use-calendar.ts
1103
- var import_react15 = require("react");
1066
+ var import_react14 = require("react");
1104
1067
  var useCalendar = (ownerState) => {
1105
- const [localHoverDay, setLocalHoverDay] = (0, import_react15.useState)(null);
1106
- const [localHoverMonth, setLocalHoverMonth] = (0, import_react15.useState)(null);
1068
+ const [localHoverDay, setLocalHoverDay] = (0, import_react14.useState)(null);
1069
+ const [localHoverMonth, setLocalHoverMonth] = (0, import_react14.useState)(null);
1107
1070
  const hoverDay = ownerState.hoverDay !== void 0 ? ownerState.hoverDay : localHoverDay;
1108
1071
  const setHoverDay = ownerState.onHoverDayChange ?? setLocalHoverDay;
1109
1072
  const hoverMonth = ownerState.hoverMonth !== void 0 ? ownerState.hoverMonth : localHoverMonth;
1110
1073
  const setHoverMonth = ownerState.onHoverMonthChange ?? setLocalHoverMonth;
1111
1074
  return {
1112
1075
  calendarTitle: ownerState.view === "month" ? getYearName(ownerState.viewMonth, ownerState.locale || "default") : getMonthName(ownerState.viewMonth, ownerState.locale || "default"),
1113
- onPrev: (0, import_react15.useCallback)(() => {
1076
+ onPrev: (0, import_react14.useCallback)(() => {
1114
1077
  if (ownerState.view === "day") {
1115
1078
  const currentDate = new Date(ownerState.viewMonth || /* @__PURE__ */ new Date());
1116
1079
  const currentYear = currentDate.getFullYear();
@@ -1127,7 +1090,7 @@ var useCalendar = (ownerState) => {
1127
1090
  ownerState.onMonthChange?.(prevYear);
1128
1091
  }
1129
1092
  }, [ownerState.onMonthChange, ownerState.viewMonth, ownerState.view]),
1130
- onNext: (0, import_react15.useCallback)(() => {
1093
+ onNext: (0, import_react14.useCallback)(() => {
1131
1094
  if (ownerState.view === "day") {
1132
1095
  const currentDate = new Date(ownerState.viewMonth || /* @__PURE__ */ new Date());
1133
1096
  const currentYear = currentDate.getFullYear();
@@ -1144,7 +1107,7 @@ var useCalendar = (ownerState) => {
1144
1107
  ownerState.onMonthChange?.(nextYear);
1145
1108
  }
1146
1109
  }, [ownerState.onMonthChange, ownerState.viewMonth, ownerState.view]),
1147
- getDayCellProps: (0, import_react15.useCallback)(
1110
+ getDayCellProps: (0, import_react14.useCallback)(
1148
1111
  (day) => {
1149
1112
  const thisDay = new Date(ownerState.viewMonth || /* @__PURE__ */ new Date());
1150
1113
  thisDay.setHours(0, 0, 0, 0);
@@ -1159,7 +1122,7 @@ var useCalendar = (ownerState) => {
1159
1122
  },
1160
1123
  [ownerState.rangeSelection, ownerState.value, ownerState.viewMonth, hoverDay]
1161
1124
  ),
1162
- getMonthCellProps: (0, import_react15.useCallback)(
1125
+ getMonthCellProps: (0, import_react14.useCallback)(
1163
1126
  (monthIndex) => {
1164
1127
  const thisMonth = new Date(ownerState.viewMonth || /* @__PURE__ */ new Date());
1165
1128
  thisMonth.setDate(1);
@@ -1176,7 +1139,7 @@ var useCalendar = (ownerState) => {
1176
1139
  },
1177
1140
  [ownerState.rangeSelection, ownerState.value, ownerState.viewMonth, hoverMonth]
1178
1141
  ),
1179
- getPickerDayProps: (0, import_react15.useCallback)(
1142
+ getPickerDayProps: (0, import_react14.useCallback)(
1180
1143
  (day) => {
1181
1144
  const thisDay = new Date(ownerState.viewMonth || /* @__PURE__ */ new Date());
1182
1145
  thisDay.setHours(0, 0, 0, 0);
@@ -1230,7 +1193,7 @@ var useCalendar = (ownerState) => {
1230
1193
  hoverDay
1231
1194
  ]
1232
1195
  ),
1233
- getPickerMonthProps: (0, import_react15.useCallback)(
1196
+ getPickerMonthProps: (0, import_react14.useCallback)(
1234
1197
  (monthIndex) => {
1235
1198
  const thisMonth = new Date(ownerState.viewMonth || /* @__PURE__ */ new Date());
1236
1199
  thisMonth.setDate(1);
@@ -1527,9 +1490,9 @@ var swipePower = (offset, velocity) => {
1527
1490
  var PickerDays = (props) => {
1528
1491
  const { ownerState } = props;
1529
1492
  const { getPickerDayProps, getDayCellProps } = useCalendar(ownerState);
1530
- const calendarDates = (0, import_react16.useMemo)(() => getCalendarDates(ownerState.viewMonth), [ownerState.viewMonth]);
1531
- const weekdayNames = (0, import_react16.useMemo)(() => getWeekdayNames(ownerState.locale || "default"), [ownerState.locale]);
1532
- return /* @__PURE__ */ import_react16.default.createElement(CalendarViewContainer, { calendarType: "datePicker" }, /* @__PURE__ */ import_react16.default.createElement(import_framer_motion13.AnimatePresence, { initial: false, custom: ownerState.direction }, /* @__PURE__ */ import_react16.default.createElement(
1493
+ const calendarDates = (0, import_react15.useMemo)(() => getCalendarDates(ownerState.viewMonth), [ownerState.viewMonth]);
1494
+ const weekdayNames = (0, import_react15.useMemo)(() => getWeekdayNames(ownerState.locale || "default"), [ownerState.locale]);
1495
+ return /* @__PURE__ */ import_react15.default.createElement(CalendarViewContainer, { calendarType: "datePicker" }, /* @__PURE__ */ import_react15.default.createElement(import_framer_motion13.AnimatePresence, { initial: false, custom: ownerState.direction }, /* @__PURE__ */ import_react15.default.createElement(
1533
1496
  CalendarViewTable,
1534
1497
  {
1535
1498
  key: `${ownerState.viewMonth.toString()}_${ownerState.direction}`,
@@ -1558,10 +1521,10 @@ var PickerDays = (props) => {
1558
1521
  }
1559
1522
  }
1560
1523
  },
1561
- /* @__PURE__ */ import_react16.default.createElement(CalendarWeekHeaderContainer, null, /* @__PURE__ */ import_react16.default.createElement("tr", null, weekdayNames.map((name, i) => /* @__PURE__ */ import_react16.default.createElement(import_react16.Fragment, { key: `${ownerState.viewMonth}_${name}_${i}` }, /* @__PURE__ */ import_react16.default.createElement("th", null, /* @__PURE__ */ import_react16.default.createElement(Typography_default, { level: "body-xs", textAlign: "center" }, name)), i < 6 && /* @__PURE__ */ import_react16.default.createElement("th", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" }))))),
1562
- /* @__PURE__ */ import_react16.default.createElement(CalendarDayPickerContainer, null, calendarDates.map((weekDates, rowIndex) => /* @__PURE__ */ import_react16.default.createElement(import_react16.Fragment, { key: `${ownerState.viewMonth}_${rowIndex}` }, /* @__PURE__ */ import_react16.default.createElement("tr", null, weekDates.map(
1563
- (date, i) => date ? /* @__PURE__ */ import_react16.default.createElement(import_react16.Fragment, { key: `${ownerState.viewMonth}_${date}_${i}` }, /* @__PURE__ */ import_react16.default.createElement(CalendarDayCell, { ...getDayCellProps(date) }, /* @__PURE__ */ import_react16.default.createElement(CalendarDay, { size: "sm", variant: "plain", color: "neutral", ...getPickerDayProps(date) }, date)), i < 6 && /* @__PURE__ */ import_react16.default.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" })) : /* @__PURE__ */ import_react16.default.createElement(import_react16.Fragment, { key: `${ownerState.viewMonth}_${i}` }, /* @__PURE__ */ import_react16.default.createElement("td", null), i < 6 && /* @__PURE__ */ import_react16.default.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" }))
1564
- )), rowIndex < calendarDates.length - 1 && /* @__PURE__ */ import_react16.default.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" }, /* @__PURE__ */ import_react16.default.createElement("td", { colSpan: 13, style: { height: 4 } })))))
1524
+ /* @__PURE__ */ import_react15.default.createElement(CalendarWeekHeaderContainer, null, /* @__PURE__ */ import_react15.default.createElement("tr", null, weekdayNames.map((name, i) => /* @__PURE__ */ import_react15.default.createElement(import_react15.Fragment, { key: `${ownerState.viewMonth}_${name}_${i}` }, /* @__PURE__ */ import_react15.default.createElement("th", null, /* @__PURE__ */ import_react15.default.createElement(Typography_default, { level: "body-xs", textAlign: "center" }, name)), i < 6 && /* @__PURE__ */ import_react15.default.createElement("th", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" }))))),
1525
+ /* @__PURE__ */ import_react15.default.createElement(CalendarDayPickerContainer, null, calendarDates.map((weekDates, rowIndex) => /* @__PURE__ */ import_react15.default.createElement(import_react15.Fragment, { key: `${ownerState.viewMonth}_${rowIndex}` }, /* @__PURE__ */ import_react15.default.createElement("tr", null, weekDates.map(
1526
+ (date, i) => date ? /* @__PURE__ */ import_react15.default.createElement(import_react15.Fragment, { key: `${ownerState.viewMonth}_${date}_${i}` }, /* @__PURE__ */ import_react15.default.createElement(CalendarDayCell, { ...getDayCellProps(date) }, /* @__PURE__ */ import_react15.default.createElement(CalendarDay, { size: "sm", variant: "plain", color: "neutral", ...getPickerDayProps(date) }, date)), i < 6 && /* @__PURE__ */ import_react15.default.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" })) : /* @__PURE__ */ import_react15.default.createElement(import_react15.Fragment, { key: `${ownerState.viewMonth}_${i}` }, /* @__PURE__ */ import_react15.default.createElement("td", null), i < 6 && /* @__PURE__ */ import_react15.default.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" }))
1527
+ )), rowIndex < calendarDates.length - 1 && /* @__PURE__ */ import_react15.default.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" }, /* @__PURE__ */ import_react15.default.createElement("td", { colSpan: 13, style: { height: 4 } })))))
1565
1528
  )));
1566
1529
  };
1567
1530
  var PickerMonths = (props) => {
@@ -1578,7 +1541,7 @@ var PickerMonths = (props) => {
1578
1541
  [[]]
1579
1542
  );
1580
1543
  const isMonthPicker = !ownerState.views?.find((view) => view === "day");
1581
- return /* @__PURE__ */ import_react16.default.createElement(CalendarViewContainer, { calendarType: isMonthPicker ? "monthPicker" : "datePicker" }, /* @__PURE__ */ import_react16.default.createElement(import_framer_motion13.AnimatePresence, { initial: false, custom: ownerState.direction }, /* @__PURE__ */ import_react16.default.createElement(
1544
+ return /* @__PURE__ */ import_react15.default.createElement(CalendarViewContainer, { calendarType: isMonthPicker ? "monthPicker" : "datePicker" }, /* @__PURE__ */ import_react15.default.createElement(import_framer_motion13.AnimatePresence, { initial: false, custom: ownerState.direction }, /* @__PURE__ */ import_react15.default.createElement(
1582
1545
  CalendarViewTable,
1583
1546
  {
1584
1547
  key: `${ownerState.viewMonth.getFullYear()}_${ownerState.direction}`,
@@ -1607,16 +1570,16 @@ var PickerMonths = (props) => {
1607
1570
  }
1608
1571
  }
1609
1572
  },
1610
- /* @__PURE__ */ import_react16.default.createElement("tbody", null, chunkedMonths.map((months, i) => /* @__PURE__ */ import_react16.default.createElement(import_react16.Fragment, { key: months.join("_") }, /* @__PURE__ */ import_react16.default.createElement("tr", null, months.map((monthIndex, j) => /* @__PURE__ */ import_react16.default.createElement(import_react16.Fragment, { key: monthIndex }, /* @__PURE__ */ import_react16.default.createElement(CalendarMonthCell, { ...getMonthCellProps(monthIndex) }, /* @__PURE__ */ import_react16.default.createElement(CalendarMonth, { size: "sm", variant: "plain", color: "neutral", ...getPickerMonthProps(monthIndex) }, getMonthNameFromIndex(monthIndex, ownerState.locale))), j < 3 && /* @__PURE__ */ import_react16.default.createElement("td", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" })))), i < chunkedMonths.length - 1 && /* @__PURE__ */ import_react16.default.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" }, /* @__PURE__ */ import_react16.default.createElement("td", { colSpan: 7, style: { height: 4 } })))))
1573
+ /* @__PURE__ */ import_react15.default.createElement("tbody", null, chunkedMonths.map((months, i) => /* @__PURE__ */ import_react15.default.createElement(import_react15.Fragment, { key: months.join("_") }, /* @__PURE__ */ import_react15.default.createElement("tr", null, months.map((monthIndex, j) => /* @__PURE__ */ import_react15.default.createElement(import_react15.Fragment, { key: monthIndex }, /* @__PURE__ */ import_react15.default.createElement(CalendarMonthCell, { ...getMonthCellProps(monthIndex) }, /* @__PURE__ */ import_react15.default.createElement(CalendarMonth, { size: "sm", variant: "plain", color: "neutral", ...getPickerMonthProps(monthIndex) }, getMonthNameFromIndex(monthIndex, ownerState.locale))), j < 3 && /* @__PURE__ */ import_react15.default.createElement("td", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" })))), i < chunkedMonths.length - 1 && /* @__PURE__ */ import_react15.default.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" }, /* @__PURE__ */ import_react15.default.createElement("td", { colSpan: 7, style: { height: 4 } })))))
1611
1574
  )));
1612
1575
  };
1613
1576
  var PlainPickerDays = ({ ownerState }) => {
1614
1577
  const { getPickerDayProps, getDayCellProps } = useCalendar(ownerState);
1615
- const calendarDates = (0, import_react16.useMemo)(() => getCalendarDates(ownerState.viewMonth), [ownerState.viewMonth]);
1616
- const weekdayNames = (0, import_react16.useMemo)(() => getWeekdayNames(ownerState.locale || "default"), [ownerState.locale]);
1617
- return /* @__PURE__ */ import_react16.default.createElement(StaticCalendarViewTable, null, /* @__PURE__ */ import_react16.default.createElement(CalendarWeekHeaderContainer, null, /* @__PURE__ */ import_react16.default.createElement("tr", null, weekdayNames.map((name, i) => /* @__PURE__ */ import_react16.default.createElement(import_react16.Fragment, { key: `${ownerState.viewMonth}_${name}_${i}` }, /* @__PURE__ */ import_react16.default.createElement("th", null, /* @__PURE__ */ import_react16.default.createElement(Typography_default, { level: "body-xs", textAlign: "center" }, name)), i < 6 && /* @__PURE__ */ import_react16.default.createElement("th", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" }))))), /* @__PURE__ */ import_react16.default.createElement(CalendarDayPickerContainer, null, calendarDates.map((weekDates, rowIndex) => /* @__PURE__ */ import_react16.default.createElement(import_react16.Fragment, { key: `${ownerState.viewMonth}_${rowIndex}` }, /* @__PURE__ */ import_react16.default.createElement("tr", null, weekDates.map(
1618
- (date, i) => date ? /* @__PURE__ */ import_react16.default.createElement(import_react16.Fragment, { key: `${ownerState.viewMonth}_${date}_${i}` }, /* @__PURE__ */ import_react16.default.createElement(CalendarDayCell, { ...getDayCellProps(date) }, /* @__PURE__ */ import_react16.default.createElement(CalendarDay, { size: "sm", variant: "plain", color: "neutral", ...getPickerDayProps(date) }, date)), i < 6 && /* @__PURE__ */ import_react16.default.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" })) : /* @__PURE__ */ import_react16.default.createElement(import_react16.Fragment, { key: `${ownerState.viewMonth}_${i}` }, /* @__PURE__ */ import_react16.default.createElement("td", null), i < 6 && /* @__PURE__ */ import_react16.default.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" }))
1619
- )), rowIndex < calendarDates.length - 1 && /* @__PURE__ */ import_react16.default.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" }, /* @__PURE__ */ import_react16.default.createElement("td", { colSpan: 13, style: { height: 4 } }))))));
1578
+ const calendarDates = (0, import_react15.useMemo)(() => getCalendarDates(ownerState.viewMonth), [ownerState.viewMonth]);
1579
+ const weekdayNames = (0, import_react15.useMemo)(() => getWeekdayNames(ownerState.locale || "default"), [ownerState.locale]);
1580
+ return /* @__PURE__ */ import_react15.default.createElement(StaticCalendarViewTable, null, /* @__PURE__ */ import_react15.default.createElement(CalendarWeekHeaderContainer, null, /* @__PURE__ */ import_react15.default.createElement("tr", null, weekdayNames.map((name, i) => /* @__PURE__ */ import_react15.default.createElement(import_react15.Fragment, { key: `${ownerState.viewMonth}_${name}_${i}` }, /* @__PURE__ */ import_react15.default.createElement("th", null, /* @__PURE__ */ import_react15.default.createElement(Typography_default, { level: "body-xs", textAlign: "center" }, name)), i < 6 && /* @__PURE__ */ import_react15.default.createElement("th", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" }))))), /* @__PURE__ */ import_react15.default.createElement(CalendarDayPickerContainer, null, calendarDates.map((weekDates, rowIndex) => /* @__PURE__ */ import_react15.default.createElement(import_react15.Fragment, { key: `${ownerState.viewMonth}_${rowIndex}` }, /* @__PURE__ */ import_react15.default.createElement("tr", null, weekDates.map(
1581
+ (date, i) => date ? /* @__PURE__ */ import_react15.default.createElement(import_react15.Fragment, { key: `${ownerState.viewMonth}_${date}_${i}` }, /* @__PURE__ */ import_react15.default.createElement(CalendarDayCell, { ...getDayCellProps(date) }, /* @__PURE__ */ import_react15.default.createElement(CalendarDay, { size: "sm", variant: "plain", color: "neutral", ...getPickerDayProps(date) }, date)), i < 6 && /* @__PURE__ */ import_react15.default.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" })) : /* @__PURE__ */ import_react15.default.createElement(import_react15.Fragment, { key: `${ownerState.viewMonth}_${i}` }, /* @__PURE__ */ import_react15.default.createElement("td", null), i < 6 && /* @__PURE__ */ import_react15.default.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" }))
1582
+ )), rowIndex < calendarDates.length - 1 && /* @__PURE__ */ import_react15.default.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" }, /* @__PURE__ */ import_react15.default.createElement("td", { colSpan: 13, style: { height: 4 } }))))));
1620
1583
  };
1621
1584
  var MultiMonthPickerDays = ({
1622
1585
  panels,
@@ -1635,7 +1598,7 @@ var MultiMonthPickerDays = ({
1635
1598
  })
1636
1599
  };
1637
1600
  const key = `${panels[0].viewMonth.toISOString()}_${direction}`;
1638
- return /* @__PURE__ */ import_react16.default.createElement("div", { style: { position: "relative", overflow: "hidden", minHeight: "250px" } }, /* @__PURE__ */ import_react16.default.createElement(import_framer_motion13.AnimatePresence, { initial: false, custom: direction }, /* @__PURE__ */ import_react16.default.createElement(
1601
+ return /* @__PURE__ */ import_react15.default.createElement("div", { style: { position: "relative", overflow: "hidden", minHeight: "250px" } }, /* @__PURE__ */ import_react15.default.createElement(import_framer_motion13.AnimatePresence, { initial: false, custom: direction }, /* @__PURE__ */ import_react15.default.createElement(
1639
1602
  import_framer_motion13.motion.div,
1640
1603
  {
1641
1604
  key,
@@ -1665,7 +1628,7 @@ var MultiMonthPickerDays = ({
1665
1628
  },
1666
1629
  style: { display: "flex", gap: `${CALENDAR_PANEL_GAP}px`, top: 0, left: 0, width: "100%" }
1667
1630
  },
1668
- panels.map((panelOwnerState) => /* @__PURE__ */ import_react16.default.createElement(
1631
+ panels.map((panelOwnerState) => /* @__PURE__ */ import_react15.default.createElement(
1669
1632
  "div",
1670
1633
  {
1671
1634
  key: panelOwnerState.viewMonth.toISOString(),
@@ -1677,7 +1640,7 @@ var MultiMonthPickerDays = ({
1677
1640
  boxSizing: "border-box"
1678
1641
  }
1679
1642
  },
1680
- /* @__PURE__ */ import_react16.default.createElement(PlainPickerDays, { ownerState: panelOwnerState })
1643
+ /* @__PURE__ */ import_react15.default.createElement(PlainPickerDays, { ownerState: panelOwnerState })
1681
1644
  ))
1682
1645
  )));
1683
1646
  };
@@ -1694,7 +1657,7 @@ var CalendarPanel = ({
1694
1657
  const showPrev = panelIndex === 0;
1695
1658
  const showNext = panelIndex === totalPanels - 1;
1696
1659
  const title = ownerState.view === "month" ? getYearName(ownerState.viewMonth, ownerState.locale || "default") : getMonthName(ownerState.viewMonth, ownerState.locale || "default");
1697
- return /* @__PURE__ */ import_react16.default.createElement("div", { style: { flex: 1, maxWidth: `${CALENDAR_PANEL_WIDTH}px` } }, /* @__PURE__ */ import_react16.default.createElement(CalendarHeader, null, /* @__PURE__ */ import_react16.default.createElement(
1660
+ return /* @__PURE__ */ import_react15.default.createElement("div", { style: { flex: 1, maxWidth: `${CALENDAR_PANEL_WIDTH}px` } }, /* @__PURE__ */ import_react15.default.createElement(CalendarHeader, null, /* @__PURE__ */ import_react15.default.createElement(
1698
1661
  IconButton_default,
1699
1662
  {
1700
1663
  size: "sm",
@@ -1702,8 +1665,8 @@ var CalendarPanel = ({
1702
1665
  "aria-label": `Previous ${ownerState.view === "day" ? "Month" : "Year"}`,
1703
1666
  style: { visibility: showPrev ? "visible" : "hidden" }
1704
1667
  },
1705
- /* @__PURE__ */ import_react16.default.createElement(import_ChevronLeft.default, null)
1706
- ), /* @__PURE__ */ import_react16.default.createElement(
1668
+ /* @__PURE__ */ import_react15.default.createElement(import_ChevronLeft.default, null)
1669
+ ), /* @__PURE__ */ import_react15.default.createElement(
1707
1670
  Tooltip_default,
1708
1671
  {
1709
1672
  title: monthViewHintMessage,
@@ -1715,7 +1678,7 @@ var CalendarPanel = ({
1715
1678
  disableTouchListener: true,
1716
1679
  variant: "solid"
1717
1680
  },
1718
- /* @__PURE__ */ import_react16.default.createElement(
1681
+ /* @__PURE__ */ import_react15.default.createElement(
1719
1682
  CalendarSwitchViewButton,
1720
1683
  {
1721
1684
  ownerState,
@@ -1726,7 +1689,7 @@ var CalendarPanel = ({
1726
1689
  },
1727
1690
  title
1728
1691
  )
1729
- ), /* @__PURE__ */ import_react16.default.createElement(
1692
+ ), /* @__PURE__ */ import_react15.default.createElement(
1730
1693
  IconButton_default,
1731
1694
  {
1732
1695
  size: "sm",
@@ -1734,10 +1697,10 @@ var CalendarPanel = ({
1734
1697
  "aria-label": `Next ${ownerState.view === "day" ? "Month" : "Year"}`,
1735
1698
  style: { visibility: showNext ? "visible" : "hidden" }
1736
1699
  },
1737
- /* @__PURE__ */ import_react16.default.createElement(import_ChevronRight.default, null)
1700
+ /* @__PURE__ */ import_react15.default.createElement(import_ChevronRight.default, null)
1738
1701
  )));
1739
1702
  };
1740
- var Calendar = (0, import_react16.forwardRef)((inProps, ref) => {
1703
+ var Calendar = (0, import_react15.forwardRef)((inProps, ref) => {
1741
1704
  const [props, ownerState] = useCalendarProps(inProps);
1742
1705
  const {
1743
1706
  value,
@@ -1757,38 +1720,38 @@ var Calendar = (0, import_react16.forwardRef)((inProps, ref) => {
1757
1720
  ...others
1758
1721
  } = props;
1759
1722
  const { calendarTitle, onPrev, onNext } = useCalendar(ownerState);
1760
- const [isMonthViewAssistHintOpen, setIsMonthViewAssistHintOpen] = (0, import_react16.useState)(false);
1761
- const monthNavClickTimestampsRef = (0, import_react16.useRef)([]);
1762
- const monthViewAssistHintShownInSessionRef = (0, import_react16.useRef)(false);
1763
- const monthViewAssistHintTimeoutRef = (0, import_react16.useRef)(null);
1764
- const [hoverDay, setHoverDay] = (0, import_react16.useState)(null);
1765
- const [hoverMonth, setHoverMonth] = (0, import_react16.useState)(null);
1723
+ const [isMonthViewAssistHintOpen, setIsMonthViewAssistHintOpen] = (0, import_react15.useState)(false);
1724
+ const monthNavClickTimestampsRef = (0, import_react15.useRef)([]);
1725
+ const monthViewAssistHintShownInSessionRef = (0, import_react15.useRef)(false);
1726
+ const monthViewAssistHintTimeoutRef = (0, import_react15.useRef)(null);
1727
+ const [hoverDay, setHoverDay] = (0, import_react15.useState)(null);
1728
+ const [hoverMonth, setHoverMonth] = (0, import_react15.useState)(null);
1766
1729
  const resolvedNumberOfMonths = numberOfMonths ?? 1;
1767
1730
  const hasEndDate = Boolean(value?.[1]);
1768
1731
  const isRangeHintEligible = Boolean(rangeSelection && !hasEndDate);
1769
1732
  const isHintEligible = Boolean(view === "day" && (!rangeSelection || isRangeHintEligible));
1770
1733
  const monthViewHintMessage = MONTH_VIEW_HINT_MESSAGE;
1771
- (0, import_react16.useEffect)(() => {
1734
+ (0, import_react15.useEffect)(() => {
1772
1735
  if (!isHintEligible) {
1773
1736
  monthNavClickTimestampsRef.current = [];
1774
1737
  setIsMonthViewAssistHintOpen(false);
1775
1738
  }
1776
1739
  }, [isHintEligible]);
1777
- (0, import_react16.useEffect)(() => {
1740
+ (0, import_react15.useEffect)(() => {
1778
1741
  return () => {
1779
1742
  if (monthViewAssistHintTimeoutRef.current) {
1780
1743
  clearTimeout(monthViewAssistHintTimeoutRef.current);
1781
1744
  }
1782
1745
  };
1783
1746
  }, []);
1784
- const closeMonthViewAssistHint = (0, import_react16.useCallback)(() => {
1747
+ const closeMonthViewAssistHint = (0, import_react15.useCallback)(() => {
1785
1748
  if (monthViewAssistHintTimeoutRef.current) {
1786
1749
  clearTimeout(monthViewAssistHintTimeoutRef.current);
1787
1750
  monthViewAssistHintTimeoutRef.current = null;
1788
1751
  }
1789
1752
  setIsMonthViewAssistHintOpen(false);
1790
1753
  }, []);
1791
- const showMonthViewAssistHint = (0, import_react16.useCallback)(() => {
1754
+ const showMonthViewAssistHint = (0, import_react15.useCallback)(() => {
1792
1755
  const now = Date.now();
1793
1756
  if (monthViewAssistHintShownInSessionRef.current) return;
1794
1757
  if (now - lastMonthViewAssistHintShownAt < MONTH_VIEW_HINT_COOLDOWN_MS) return;
@@ -1803,7 +1766,7 @@ var Calendar = (0, import_react16.forwardRef)((inProps, ref) => {
1803
1766
  monthViewAssistHintTimeoutRef.current = null;
1804
1767
  }, MONTH_VIEW_HINT_DURATION_MS);
1805
1768
  }, []);
1806
- const trackFastMonthNavigation = (0, import_react16.useCallback)(() => {
1769
+ const trackFastMonthNavigation = (0, import_react15.useCallback)(() => {
1807
1770
  if (!isHintEligible) return;
1808
1771
  const now = Date.now();
1809
1772
  monthNavClickTimestampsRef.current = [
@@ -1814,15 +1777,15 @@ var Calendar = (0, import_react16.forwardRef)((inProps, ref) => {
1814
1777
  showMonthViewAssistHint();
1815
1778
  }
1816
1779
  }, [isHintEligible, showMonthViewAssistHint]);
1817
- const handlePrevClick = (0, import_react16.useCallback)(() => {
1780
+ const handlePrevClick = (0, import_react15.useCallback)(() => {
1818
1781
  onPrev();
1819
1782
  trackFastMonthNavigation();
1820
1783
  }, [onPrev, trackFastMonthNavigation]);
1821
- const handleNextClick = (0, import_react16.useCallback)(() => {
1784
+ const handleNextClick = (0, import_react15.useCallback)(() => {
1822
1785
  onNext();
1823
1786
  trackFastMonthNavigation();
1824
1787
  }, [onNext, trackFastMonthNavigation]);
1825
- const handleSwitchViewClick = (0, import_react16.useCallback)(() => {
1788
+ const handleSwitchViewClick = (0, import_react15.useCallback)(() => {
1826
1789
  closeMonthViewAssistHint();
1827
1790
  onViewChange?.();
1828
1791
  }, [closeMonthViewAssistHint, onViewChange]);
@@ -1842,9 +1805,9 @@ var Calendar = (0, import_react16.forwardRef)((inProps, ref) => {
1842
1805
  onHoverMonthChange: setHoverMonth
1843
1806
  };
1844
1807
  });
1845
- return /* @__PURE__ */ import_react16.default.createElement(CalendarRoot, { ref, ...others, style: { maxWidth: `${maxWidth}px` } }, view === "month" ? (
1808
+ return /* @__PURE__ */ import_react15.default.createElement(CalendarRoot, { ref, ...others, style: { maxWidth: `${maxWidth}px` } }, view === "month" ? (
1846
1809
  // Month view: single header + single month grid (consistent with single-month path)
1847
- /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(CalendarHeader, null, /* @__PURE__ */ import_react16.default.createElement(IconButton_default, { size: "sm", onClick: handlePrevClick, "aria-label": "Previous Year" }, /* @__PURE__ */ import_react16.default.createElement(import_ChevronLeft.default, null)), /* @__PURE__ */ import_react16.default.createElement(
1810
+ /* @__PURE__ */ import_react15.default.createElement(import_react15.default.Fragment, null, /* @__PURE__ */ import_react15.default.createElement(CalendarHeader, null, /* @__PURE__ */ import_react15.default.createElement(IconButton_default, { size: "sm", onClick: handlePrevClick, "aria-label": "Previous Year" }, /* @__PURE__ */ import_react15.default.createElement(import_ChevronLeft.default, null)), /* @__PURE__ */ import_react15.default.createElement(
1848
1811
  Tooltip_default,
1849
1812
  {
1850
1813
  title: monthViewHintMessage,
@@ -1856,7 +1819,7 @@ var Calendar = (0, import_react16.forwardRef)((inProps, ref) => {
1856
1819
  disableTouchListener: true,
1857
1820
  variant: "solid"
1858
1821
  },
1859
- /* @__PURE__ */ import_react16.default.createElement(
1822
+ /* @__PURE__ */ import_react15.default.createElement(
1860
1823
  CalendarSwitchViewButton,
1861
1824
  {
1862
1825
  ownerState,
@@ -1867,8 +1830,8 @@ var Calendar = (0, import_react16.forwardRef)((inProps, ref) => {
1867
1830
  },
1868
1831
  calendarTitle
1869
1832
  )
1870
- ), /* @__PURE__ */ import_react16.default.createElement(IconButton_default, { size: "sm", onClick: handleNextClick, "aria-label": "Next Year" }, /* @__PURE__ */ import_react16.default.createElement(import_ChevronRight.default, null))), /* @__PURE__ */ import_react16.default.createElement(PickerMonths, { ownerState }))
1871
- ) : /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(CalendarMultiContainer, null, panels.map((panelOwnerState, i) => /* @__PURE__ */ import_react16.default.createElement(
1833
+ ), /* @__PURE__ */ import_react15.default.createElement(IconButton_default, { size: "sm", onClick: handleNextClick, "aria-label": "Next Year" }, /* @__PURE__ */ import_react15.default.createElement(import_ChevronRight.default, null))), /* @__PURE__ */ import_react15.default.createElement(PickerMonths, { ownerState }))
1834
+ ) : /* @__PURE__ */ import_react15.default.createElement(import_react15.default.Fragment, null, /* @__PURE__ */ import_react15.default.createElement(CalendarMultiContainer, null, panels.map((panelOwnerState, i) => /* @__PURE__ */ import_react15.default.createElement(
1872
1835
  CalendarPanel,
1873
1836
  {
1874
1837
  key: panelOwnerState.viewMonth.toISOString(),
@@ -1881,7 +1844,7 @@ var Calendar = (0, import_react16.forwardRef)((inProps, ref) => {
1881
1844
  isMonthViewAssistHintOpen,
1882
1845
  monthViewHintMessage
1883
1846
  }
1884
- ))), /* @__PURE__ */ import_react16.default.createElement(
1847
+ ))), /* @__PURE__ */ import_react15.default.createElement(
1885
1848
  MultiMonthPickerDays,
1886
1849
  {
1887
1850
  panels,
@@ -1890,7 +1853,7 @@ var Calendar = (0, import_react16.forwardRef)((inProps, ref) => {
1890
1853
  }
1891
1854
  )));
1892
1855
  }
1893
- return /* @__PURE__ */ import_react16.default.createElement(CalendarRoot, { ref, ...others, style: { maxWidth: `${maxWidth}px` } }, /* @__PURE__ */ import_react16.default.createElement(CalendarHeader, null, /* @__PURE__ */ import_react16.default.createElement(IconButton_default, { size: "sm", onClick: handlePrevClick, "aria-label": `Previous ${view === "day" ? "Month" : "Year"}` }, /* @__PURE__ */ import_react16.default.createElement(import_ChevronLeft.default, null)), /* @__PURE__ */ import_react16.default.createElement(
1856
+ return /* @__PURE__ */ import_react15.default.createElement(CalendarRoot, { ref, ...others, style: { maxWidth: `${maxWidth}px` } }, /* @__PURE__ */ import_react15.default.createElement(CalendarHeader, null, /* @__PURE__ */ import_react15.default.createElement(IconButton_default, { size: "sm", onClick: handlePrevClick, "aria-label": `Previous ${view === "day" ? "Month" : "Year"}` }, /* @__PURE__ */ import_react15.default.createElement(import_ChevronLeft.default, null)), /* @__PURE__ */ import_react15.default.createElement(
1894
1857
  Tooltip_default,
1895
1858
  {
1896
1859
  title: monthViewHintMessage,
@@ -1902,7 +1865,7 @@ var Calendar = (0, import_react16.forwardRef)((inProps, ref) => {
1902
1865
  disableTouchListener: true,
1903
1866
  variant: "solid"
1904
1867
  },
1905
- /* @__PURE__ */ import_react16.default.createElement(
1868
+ /* @__PURE__ */ import_react15.default.createElement(
1906
1869
  CalendarSwitchViewButton,
1907
1870
  {
1908
1871
  ownerState,
@@ -1913,7 +1876,7 @@ var Calendar = (0, import_react16.forwardRef)((inProps, ref) => {
1913
1876
  },
1914
1877
  calendarTitle
1915
1878
  )
1916
- ), /* @__PURE__ */ import_react16.default.createElement(IconButton_default, { size: "sm", onClick: handleNextClick, "aria-label": `Next ${view === "day" ? "Month" : "Year"}` }, /* @__PURE__ */ import_react16.default.createElement(import_ChevronRight.default, null))), view === "day" && /* @__PURE__ */ import_react16.default.createElement(PickerDays, { ownerState }), view === "month" && /* @__PURE__ */ import_react16.default.createElement(PickerMonths, { ownerState }));
1879
+ ), /* @__PURE__ */ import_react15.default.createElement(IconButton_default, { size: "sm", onClick: handleNextClick, "aria-label": `Next ${view === "day" ? "Month" : "Year"}` }, /* @__PURE__ */ import_react15.default.createElement(import_ChevronRight.default, null))), view === "day" && /* @__PURE__ */ import_react15.default.createElement(PickerDays, { ownerState }), view === "month" && /* @__PURE__ */ import_react15.default.createElement(PickerMonths, { ownerState }));
1917
1880
  });
1918
1881
  Calendar.displayName = "Calendar";
1919
1882
 
@@ -1940,12 +1903,12 @@ var CardOverflow = MotionCardOverflow;
1940
1903
  CardOverflow.displayName = "CardOverflow";
1941
1904
 
1942
1905
  // src/components/Checkbox/Checkbox.tsx
1943
- var import_react17 = __toESM(require("react"));
1906
+ var import_react16 = __toESM(require("react"));
1944
1907
  var import_joy22 = require("@mui/joy");
1945
1908
  var import_framer_motion15 = require("framer-motion");
1946
1909
  var MotionCheckbox = (0, import_framer_motion15.motion)(import_joy22.Checkbox);
1947
1910
  var Checkbox = (props) => {
1948
- return /* @__PURE__ */ import_react17.default.createElement(MotionCheckbox, { ...props });
1911
+ return /* @__PURE__ */ import_react16.default.createElement(MotionCheckbox, { ...props });
1949
1912
  };
1950
1913
  Checkbox.displayName = "Checkbox";
1951
1914
 
@@ -1954,7 +1917,7 @@ var Checkbox_default = Checkbox;
1954
1917
 
1955
1918
  // src/components/Container/Container.tsx
1956
1919
  var import_joy23 = require("@mui/joy");
1957
- var import_react18 = __toESM(require("react"));
1920
+ var import_react17 = __toESM(require("react"));
1958
1921
  var ContainerRoot = (0, import_joy23.styled)("div", {
1959
1922
  name: "Container",
1960
1923
  slot: "root",
@@ -1980,24 +1943,24 @@ var ContainerRoot = (0, import_joy23.styled)("div", {
1980
1943
  paddingRight: theme.breakpoints.values[overrideBreakpoint] >= theme.breakpoints.values.lg ? theme.spacing(8) : theme.spacing(4)
1981
1944
  } : null
1982
1945
  ]);
1983
- var Container = (0, import_react18.forwardRef)(function Container2(props, ref) {
1984
- return /* @__PURE__ */ import_react18.default.createElement(ContainerRoot, { ref, ...props });
1946
+ var Container = (0, import_react17.forwardRef)(function Container2(props, ref) {
1947
+ return /* @__PURE__ */ import_react17.default.createElement(ContainerRoot, { ref, ...props });
1985
1948
  });
1986
1949
  Container.displayName = "Container";
1987
1950
 
1988
1951
  // src/components/CurrencyInput/CurrencyInput.tsx
1989
- var import_react20 = __toESM(require("react"));
1952
+ var import_react19 = __toESM(require("react"));
1990
1953
  var import_react_number_format = require("react-number-format");
1991
1954
 
1992
1955
  // src/components/Input/Input.tsx
1993
- var import_react19 = __toESM(require("react"));
1956
+ var import_react18 = __toESM(require("react"));
1994
1957
  var import_joy24 = require("@mui/joy");
1995
1958
  var import_framer_motion16 = require("framer-motion");
1996
1959
  var import_Close2 = __toESM(require("@mui/icons-material/Close"));
1997
1960
  var import_Visibility = __toESM(require("@mui/icons-material/Visibility"));
1998
1961
  var import_VisibilityOff = __toESM(require("@mui/icons-material/VisibilityOff"));
1999
1962
  var MotionInput = (0, import_framer_motion16.motion)(import_joy24.Input);
2000
- var Input = import_react19.default.forwardRef((props, ref) => {
1963
+ var Input = import_react18.default.forwardRef((props, ref) => {
2001
1964
  const {
2002
1965
  label,
2003
1966
  helperText,
@@ -2024,11 +1987,11 @@ var Input = import_react19.default.forwardRef((props, ref) => {
2024
1987
  if (type === "password" && innerProps.endDecorator) {
2025
1988
  console.warn('Input: endDecorator is not supported when type="password"');
2026
1989
  }
2027
- const [passwordVisible, setPasswordVisible] = (0, import_react19.useState)(false);
1990
+ const [passwordVisible, setPasswordVisible] = (0, import_react18.useState)(false);
2028
1991
  const [value, setValue] = useControlledState(
2029
1992
  valueProp,
2030
1993
  defaultValueProp ?? null,
2031
- (0, import_react19.useCallback)(
1994
+ (0, import_react18.useCallback)(
2032
1995
  (value2) => {
2033
1996
  onChange?.({
2034
1997
  /**
@@ -2055,7 +2018,7 @@ var Input = import_react19.default.forwardRef((props, ref) => {
2055
2018
  const actualType = type === "password" && passwordVisible ? "text" : type;
2056
2019
  const isPasswordType = type === "password";
2057
2020
  const showPasswordToggle = isPasswordType && !disableTogglePasswordButton;
2058
- const input = /* @__PURE__ */ import_react19.default.createElement(
2021
+ const input = /* @__PURE__ */ import_react18.default.createElement(
2059
2022
  MotionInput,
2060
2023
  {
2061
2024
  value: displayValue ?? "",
@@ -2070,7 +2033,7 @@ var Input = import_react19.default.forwardRef((props, ref) => {
2070
2033
  ...innerProps.slotProps
2071
2034
  },
2072
2035
  ...innerProps,
2073
- endDecorator: isPasswordType ? showPasswordToggle ? /* @__PURE__ */ import_react19.default.createElement(Stack_default, { gap: 1, direction: "row" }, /* @__PURE__ */ import_react19.default.createElement(
2036
+ endDecorator: isPasswordType ? showPasswordToggle ? /* @__PURE__ */ import_react18.default.createElement(Stack_default, { gap: 1, direction: "row" }, /* @__PURE__ */ import_react18.default.createElement(
2074
2037
  IconButton_default,
2075
2038
  {
2076
2039
  onMouseDown: (e) => e.preventDefault(),
@@ -2078,19 +2041,19 @@ var Input = import_react19.default.forwardRef((props, ref) => {
2078
2041
  disabled,
2079
2042
  "aria-label": passwordVisible ? "Hide password" : "Show password"
2080
2043
  },
2081
- passwordVisible ? /* @__PURE__ */ import_react19.default.createElement(import_VisibilityOff.default, null) : /* @__PURE__ */ import_react19.default.createElement(import_Visibility.default, null)
2082
- )) : null : enableClearable ? /* @__PURE__ */ import_react19.default.createElement(Stack_default, { gap: 1, direction: "row" }, innerProps.endDecorator, displayValue && /* @__PURE__ */ import_react19.default.createElement(
2044
+ passwordVisible ? /* @__PURE__ */ import_react18.default.createElement(import_VisibilityOff.default, null) : /* @__PURE__ */ import_react18.default.createElement(import_Visibility.default, null)
2045
+ )) : null : enableClearable ? /* @__PURE__ */ import_react18.default.createElement(Stack_default, { gap: 1, direction: "row" }, innerProps.endDecorator, displayValue && /* @__PURE__ */ import_react18.default.createElement(
2083
2046
  IconButton_default,
2084
2047
  {
2085
2048
  onMouseDown: (e) => e.preventDefault(),
2086
2049
  onClick: handleClear,
2087
2050
  "aria-label": "Clear"
2088
2051
  },
2089
- /* @__PURE__ */ import_react19.default.createElement(import_Close2.default, null)
2052
+ /* @__PURE__ */ import_react18.default.createElement(import_Close2.default, null)
2090
2053
  )) : innerProps.endDecorator
2091
2054
  }
2092
2055
  );
2093
- return /* @__PURE__ */ import_react19.default.createElement(
2056
+ return /* @__PURE__ */ import_react18.default.createElement(
2094
2057
  FormControl_default,
2095
2058
  {
2096
2059
  required,
@@ -2101,9 +2064,9 @@ var Input = import_react19.default.forwardRef((props, ref) => {
2101
2064
  sx,
2102
2065
  className
2103
2066
  },
2104
- label && /* @__PURE__ */ import_react19.default.createElement(FormLabel_default, null, label),
2067
+ label && /* @__PURE__ */ import_react18.default.createElement(FormLabel_default, null, label),
2105
2068
  input,
2106
- helperText && /* @__PURE__ */ import_react19.default.createElement(FormHelperText_default, null, helperText)
2069
+ helperText && /* @__PURE__ */ import_react18.default.createElement(FormHelperText_default, null, helperText)
2107
2070
  );
2108
2071
  });
2109
2072
  Input.displayName = "Input";
@@ -2275,9 +2238,9 @@ var useCurrencySetting = (props) => {
2275
2238
  };
2276
2239
 
2277
2240
  // src/components/CurrencyInput/CurrencyInput.tsx
2278
- var TextMaskAdapter = import_react20.default.forwardRef(function TextMaskAdapter2(props, ref) {
2241
+ var TextMaskAdapter = import_react19.default.forwardRef(function TextMaskAdapter2(props, ref) {
2279
2242
  const { onChange, ...innerProps } = props;
2280
- return /* @__PURE__ */ import_react20.default.createElement(
2243
+ return /* @__PURE__ */ import_react19.default.createElement(
2281
2244
  import_react_number_format.NumericFormat,
2282
2245
  {
2283
2246
  ...innerProps,
@@ -2297,7 +2260,7 @@ var CurrencyInputRoot = (0, import_joy25.styled)(Input_default, {
2297
2260
  slot: "root",
2298
2261
  overridesResolver: (props, styles) => styles.root
2299
2262
  })({});
2300
- var CurrencyInput = import_react20.default.forwardRef(function CurrencyInput2(inProps, ref) {
2263
+ var CurrencyInput = import_react19.default.forwardRef(function CurrencyInput2(inProps, ref) {
2301
2264
  const props = (0, import_joy25.useThemeProps)({ props: inProps, name: "CurrencyInput" });
2302
2265
  const {
2303
2266
  currency = "USD",
@@ -2318,22 +2281,22 @@ var CurrencyInput = import_react20.default.forwardRef(function CurrencyInput2(in
2318
2281
  const [_value, setValue] = useControlledState(
2319
2282
  props.value,
2320
2283
  props.defaultValue ?? null,
2321
- (0, import_react20.useCallback)((value2) => onChange?.({ target: { name, value: value2 } }), [onChange, name])
2284
+ (0, import_react19.useCallback)((value2) => onChange?.({ target: { name, value: value2 } }), [onChange, name])
2322
2285
  );
2323
- const value = (0, import_react20.useMemo)(() => {
2286
+ const value = (0, import_react19.useMemo)(() => {
2324
2287
  if (_value && useMinorUnit) {
2325
2288
  return _value / Math.pow(10, decimalScale);
2326
2289
  }
2327
2290
  return _value;
2328
2291
  }, [_value, useMinorUnit, decimalScale]);
2329
- const max = (0, import_react20.useMemo)(() => {
2292
+ const max = (0, import_react19.useMemo)(() => {
2330
2293
  if (props.max && useMinorUnit) {
2331
2294
  return props.max / Math.pow(10, decimalScale);
2332
2295
  }
2333
2296
  return props.max;
2334
2297
  }, [props.max, useMinorUnit, decimalScale]);
2335
- const isOverLimit = (0, import_react20.useMemo)(() => max != null && value != null && value > max, [max, value]);
2336
- const handleChange = (0, import_react20.useCallback)(
2298
+ const isOverLimit = (0, import_react19.useMemo)(() => max != null && value != null && value > max, [max, value]);
2299
+ const handleChange = (0, import_react19.useCallback)(
2337
2300
  (event) => {
2338
2301
  if (event.target.value === "") {
2339
2302
  setValue(null);
@@ -2344,7 +2307,7 @@ var CurrencyInput = import_react20.default.forwardRef(function CurrencyInput2(in
2344
2307
  },
2345
2308
  [decimalSeparator, useMinorUnit, setValue]
2346
2309
  );
2347
- return /* @__PURE__ */ import_react20.default.createElement(
2310
+ return /* @__PURE__ */ import_react19.default.createElement(
2348
2311
  CurrencyInputRoot,
2349
2312
  {
2350
2313
  ...innerProps,
@@ -2381,7 +2344,7 @@ var CurrencyInput = import_react20.default.forwardRef(function CurrencyInput2(in
2381
2344
  var CurrencyInput_default = CurrencyInput;
2382
2345
 
2383
2346
  // src/components/DataTable/DataTable.tsx
2384
- var import_react30 = __toESM(require("react"));
2347
+ var import_react29 = __toESM(require("react"));
2385
2348
  var import_react_virtual2 = require("@tanstack/react-virtual");
2386
2349
 
2387
2350
  // src/libs/text-measurer.ts
@@ -2609,12 +2572,9 @@ function computeAutoFitWidth(params) {
2609
2572
  if (!isNaN(maxPx) && maxPx > 0) finalWidth = Math.min(finalWidth, maxPx);
2610
2573
  return finalWidth;
2611
2574
  }
2612
- function getHeaderCellId(tableId, columnId) {
2613
- return `${tableId}_header_${columnId}`.trim();
2614
- }
2615
2575
 
2616
2576
  // src/components/DataTable/styled.tsx
2617
- var import_react21 = __toESM(require("react"));
2577
+ var import_react20 = __toESM(require("react"));
2618
2578
  var import_joy26 = require("@mui/joy");
2619
2579
  var import_framer_motion17 = require("framer-motion");
2620
2580
  var import_ArrowUpwardRounded = __toESM(require("@mui/icons-material/ArrowUpwardRounded"));
@@ -2720,9 +2680,9 @@ var StyledTd = (0, import_joy26.styled)("td")(({ theme }) => ({
2720
2680
  }
2721
2681
  }));
2722
2682
  var MotionSortIcon = (0, import_framer_motion17.motion)(import_ArrowUpwardRounded.default);
2723
- var DefaultLoadingOverlay = () => /* @__PURE__ */ import_react21.default.createElement(import_joy26.LinearProgress, { value: 8, variant: "plain" });
2724
- var DefaultNoRowsOverlay = () => /* @__PURE__ */ import_react21.default.createElement(import_joy26.Typography, { level: "body-sm", textColor: "text.tertiary" }, "No rows");
2725
- var Resizer = (ref, targetRef = ref, onResizeStateChange, onAutoFit) => /* @__PURE__ */ import_react21.default.createElement(
2683
+ var DefaultLoadingOverlay = () => /* @__PURE__ */ import_react20.default.createElement(import_joy26.LinearProgress, { value: 8, variant: "plain" });
2684
+ var DefaultNoRowsOverlay = () => /* @__PURE__ */ import_react20.default.createElement(import_joy26.Typography, { level: "body-sm", textColor: "text.tertiary" }, "No rows");
2685
+ var Resizer = (ref, targetRef = ref, onResizeStateChange, onAutoFit) => /* @__PURE__ */ import_react20.default.createElement(
2726
2686
  Box_default,
2727
2687
  {
2728
2688
  sx: {
@@ -2799,12 +2759,12 @@ var Resizer = (ref, targetRef = ref, onResizeStateChange, onAutoFit) => /* @__PU
2799
2759
  );
2800
2760
 
2801
2761
  // src/components/DataTable/components.tsx
2802
- var import_react26 = __toESM(require("react"));
2762
+ var import_react25 = __toESM(require("react"));
2803
2763
  var import_joy33 = require("@mui/joy");
2804
2764
  var import_framer_motion21 = require("framer-motion");
2805
2765
 
2806
2766
  // src/components/DatePicker/DatePicker.tsx
2807
- var import_react22 = __toESM(require("react"));
2767
+ var import_react21 = __toESM(require("react"));
2808
2768
  var import_react_imask = require("react-imask");
2809
2769
  var import_CalendarToday = __toESM(require("@mui/icons-material/CalendarToday"));
2810
2770
  var import_joy29 = require("@mui/joy");
@@ -2957,9 +2917,9 @@ function parseDate(dateString, format) {
2957
2917
  var formatToPattern = (format) => {
2958
2918
  return format.replace(/YYYY/g, "Y").replace(/MM/g, "M").replace(/DD/g, "D").replace(/[^YMD\s]/g, (match) => `${match}\``);
2959
2919
  };
2960
- var TextMaskAdapter3 = import_react22.default.forwardRef(function TextMaskAdapter4(props, ref) {
2920
+ var TextMaskAdapter3 = import_react21.default.forwardRef(function TextMaskAdapter4(props, ref) {
2961
2921
  const { onChange, format, ...other } = props;
2962
- return /* @__PURE__ */ import_react22.default.createElement(
2922
+ return /* @__PURE__ */ import_react21.default.createElement(
2963
2923
  import_react_imask.IMaskInput,
2964
2924
  {
2965
2925
  ...other,
@@ -2994,7 +2954,7 @@ var TextMaskAdapter3 = import_react22.default.forwardRef(function TextMaskAdapte
2994
2954
  }
2995
2955
  );
2996
2956
  });
2997
- var DatePicker = (0, import_react22.forwardRef)((inProps, ref) => {
2957
+ var DatePicker = (0, import_react21.forwardRef)((inProps, ref) => {
2998
2958
  const props = (0, import_joy29.useThemeProps)({ props: inProps, name: "DatePicker" });
2999
2959
  const {
3000
2960
  onChange,
@@ -3021,29 +2981,29 @@ var DatePicker = (0, import_react22.forwardRef)((inProps, ref) => {
3021
2981
  presets,
3022
2982
  ...innerProps
3023
2983
  } = props;
3024
- const innerRef = (0, import_react22.useRef)(null);
3025
- const buttonRef = (0, import_react22.useRef)(null);
2984
+ const innerRef = (0, import_react21.useRef)(null);
2985
+ const buttonRef = (0, import_react21.useRef)(null);
3026
2986
  const [rawValue, setValue] = useControlledState(
3027
2987
  props.value,
3028
2988
  props.defaultValue ?? null,
3029
- (0, import_react22.useCallback)(
2989
+ (0, import_react21.useCallback)(
3030
2990
  (value2) => onChange?.({ target: { name: props.name, value: value2 ?? "" } }),
3031
2991
  [props.name, onChange]
3032
2992
  )
3033
2993
  );
3034
2994
  const value = rawValue ?? "";
3035
2995
  const isAlphabeticDisplay = hasAlphabeticMonth(displayFormat);
3036
- const [displayValue, setDisplayValue] = (0, import_react22.useState)(
2996
+ const [displayValue, setDisplayValue] = (0, import_react21.useState)(
3037
2997
  () => value ? formatValueString(parseDate(value, format), displayFormat, locale) : ""
3038
2998
  );
3039
- const [anchorEl, setAnchorEl] = (0, import_react22.useState)(null);
2999
+ const [anchorEl, setAnchorEl] = (0, import_react21.useState)(null);
3040
3000
  const open = Boolean(anchorEl);
3041
- (0, import_react22.useEffect)(() => {
3001
+ (0, import_react21.useEffect)(() => {
3042
3002
  if (!anchorEl) {
3043
3003
  innerRef.current?.blur();
3044
3004
  }
3045
3005
  }, [anchorEl, innerRef]);
3046
- (0, import_react22.useEffect)(() => {
3006
+ (0, import_react21.useEffect)(() => {
3047
3007
  if (value === "") {
3048
3008
  setDisplayValue("");
3049
3009
  return;
@@ -3053,8 +3013,8 @@ var DatePicker = (0, import_react22.forwardRef)((inProps, ref) => {
3053
3013
  setDisplayValue(formattedValue);
3054
3014
  }
3055
3015
  }, [displayFormat, displayValue, format, locale, value]);
3056
- (0, import_react22.useImperativeHandle)(ref, () => innerRef.current, [innerRef]);
3057
- const handleChange = (0, import_react22.useCallback)(
3016
+ (0, import_react21.useImperativeHandle)(ref, () => innerRef.current, [innerRef]);
3017
+ const handleChange = (0, import_react21.useCallback)(
3058
3018
  (event) => {
3059
3019
  const value2 = event.target.value;
3060
3020
  setDisplayValue(value2 ? formatValueString(parseDate(value2, format), displayFormat, locale) : value2);
@@ -3062,7 +3022,7 @@ var DatePicker = (0, import_react22.forwardRef)((inProps, ref) => {
3062
3022
  },
3063
3023
  [displayFormat, format, locale, setValue]
3064
3024
  );
3065
- const handleDisplayInputChange = (0, import_react22.useCallback)(
3025
+ const handleDisplayInputChange = (0, import_react21.useCallback)(
3066
3026
  (event) => {
3067
3027
  if (event.target.value === "") {
3068
3028
  handleChange({
@@ -3087,7 +3047,7 @@ var DatePicker = (0, import_react22.forwardRef)((inProps, ref) => {
3087
3047
  },
3088
3048
  [displayFormat, format, handleChange, props.name]
3089
3049
  );
3090
- const handleCalendarToggle = (0, import_react22.useCallback)(
3050
+ const handleCalendarToggle = (0, import_react21.useCallback)(
3091
3051
  (event) => {
3092
3052
  setAnchorEl(anchorEl ? null : event.currentTarget);
3093
3053
  setTimeout(() => {
@@ -3096,7 +3056,7 @@ var DatePicker = (0, import_react22.forwardRef)((inProps, ref) => {
3096
3056
  },
3097
3057
  [anchorEl, setAnchorEl, innerRef]
3098
3058
  );
3099
- const handleInputMouseDown = (0, import_react22.useCallback)(
3059
+ const handleInputMouseDown = (0, import_react21.useCallback)(
3100
3060
  (event) => {
3101
3061
  if (inputReadOnly || isAlphabeticDisplay) {
3102
3062
  event.preventDefault();
@@ -3105,7 +3065,7 @@ var DatePicker = (0, import_react22.forwardRef)((inProps, ref) => {
3105
3065
  },
3106
3066
  [inputReadOnly, isAlphabeticDisplay, buttonRef]
3107
3067
  );
3108
- const handleInputClick = (0, import_react22.useCallback)(
3068
+ const handleInputClick = (0, import_react21.useCallback)(
3109
3069
  (event) => {
3110
3070
  if (inputReadOnly && !readOnly) {
3111
3071
  handleCalendarToggle(event);
@@ -3113,7 +3073,7 @@ var DatePicker = (0, import_react22.forwardRef)((inProps, ref) => {
3113
3073
  },
3114
3074
  [inputReadOnly, readOnly, handleCalendarToggle]
3115
3075
  );
3116
- const handlePresetClick = (0, import_react22.useCallback)(
3076
+ const handlePresetClick = (0, import_react21.useCallback)(
3117
3077
  (presetValue) => {
3118
3078
  handleChange({
3119
3079
  target: {
@@ -3125,7 +3085,7 @@ var DatePicker = (0, import_react22.forwardRef)((inProps, ref) => {
3125
3085
  },
3126
3086
  [handleChange, props.name]
3127
3087
  );
3128
- const isPresetDisabled = (0, import_react22.useCallback)(
3088
+ const isPresetDisabled = (0, import_react21.useCallback)(
3129
3089
  (presetValue) => {
3130
3090
  try {
3131
3091
  const date = parseDate(presetValue, format);
@@ -3142,7 +3102,7 @@ var DatePicker = (0, import_react22.forwardRef)((inProps, ref) => {
3142
3102
  },
3143
3103
  [format, minDate, maxDate, disableFuture, disablePast, shouldDisableDate]
3144
3104
  );
3145
- return /* @__PURE__ */ import_react22.default.createElement(DatePickerRoot, { sx, className }, /* @__PURE__ */ import_react22.default.createElement(import_base3.FocusTrap, { open: true }, /* @__PURE__ */ import_react22.default.createElement(import_react22.default.Fragment, null, /* @__PURE__ */ import_react22.default.createElement(
3105
+ return /* @__PURE__ */ import_react21.default.createElement(DatePickerRoot, { sx, className }, /* @__PURE__ */ import_react21.default.createElement(import_base3.FocusTrap, { open: true }, /* @__PURE__ */ import_react21.default.createElement(import_react21.default.Fragment, null, /* @__PURE__ */ import_react21.default.createElement(
3146
3106
  Input_default,
3147
3107
  {
3148
3108
  ...innerProps,
@@ -3169,7 +3129,7 @@ var DatePicker = (0, import_react22.forwardRef)((inProps, ref) => {
3169
3129
  }
3170
3130
  },
3171
3131
  sx: { width: "100%" },
3172
- endDecorator: /* @__PURE__ */ import_react22.default.createElement(
3132
+ endDecorator: /* @__PURE__ */ import_react21.default.createElement(
3173
3133
  CalendarButton,
3174
3134
  {
3175
3135
  ref: buttonRef,
@@ -3181,13 +3141,13 @@ var DatePicker = (0, import_react22.forwardRef)((inProps, ref) => {
3181
3141
  "aria-expanded": open,
3182
3142
  disabled
3183
3143
  },
3184
- /* @__PURE__ */ import_react22.default.createElement(import_CalendarToday.default, null)
3144
+ /* @__PURE__ */ import_react21.default.createElement(import_CalendarToday.default, null)
3185
3145
  ),
3186
3146
  label,
3187
3147
  helperText,
3188
3148
  readOnly: readOnly || inputReadOnly || isAlphabeticDisplay
3189
3149
  }
3190
- ), open && /* @__PURE__ */ import_react22.default.createElement(import_base3.ClickAwayListener, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ import_react22.default.createElement(
3150
+ ), open && /* @__PURE__ */ import_react21.default.createElement(import_base3.ClickAwayListener, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ import_react21.default.createElement(
3191
3151
  StyledPopper,
3192
3152
  {
3193
3153
  id: "date-picker-popper",
@@ -3206,7 +3166,7 @@ var DatePicker = (0, import_react22.forwardRef)((inProps, ref) => {
3206
3166
  "aria-label": "Calendar Tooltip",
3207
3167
  "aria-expanded": open
3208
3168
  },
3209
- /* @__PURE__ */ import_react22.default.createElement(CalendarSheet, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ import_react22.default.createElement(CalendarSheetContent, null, /* @__PURE__ */ import_react22.default.createElement(CalendarSection, null, /* @__PURE__ */ import_react22.default.createElement(
3169
+ /* @__PURE__ */ import_react21.default.createElement(CalendarSheet, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ import_react21.default.createElement(CalendarSheetContent, null, /* @__PURE__ */ import_react21.default.createElement(CalendarSection, null, /* @__PURE__ */ import_react21.default.createElement(
3210
3170
  Calendar_default,
3211
3171
  {
3212
3172
  value: value && !Number.isNaN(parseDate(value, format).getTime()) ? [parseDate(value, format), void 0] : void 0,
@@ -3226,14 +3186,14 @@ var DatePicker = (0, import_react22.forwardRef)((inProps, ref) => {
3226
3186
  shouldDisableDate: shouldDisableDate ? (date) => shouldDisableDate(formatValueString(date, format)) : void 0,
3227
3187
  locale
3228
3188
  }
3229
- ), !hideClearButton && /* @__PURE__ */ import_react22.default.createElement(
3189
+ ), !hideClearButton && /* @__PURE__ */ import_react21.default.createElement(
3230
3190
  DialogActions_default,
3231
3191
  {
3232
3192
  sx: {
3233
3193
  p: 1
3234
3194
  }
3235
3195
  },
3236
- /* @__PURE__ */ import_react22.default.createElement(
3196
+ /* @__PURE__ */ import_react21.default.createElement(
3237
3197
  Button_default,
3238
3198
  {
3239
3199
  size,
@@ -3251,9 +3211,9 @@ var DatePicker = (0, import_react22.forwardRef)((inProps, ref) => {
3251
3211
  },
3252
3212
  "Clear"
3253
3213
  )
3254
- )), presets && presets.length > 0 && /* @__PURE__ */ import_react22.default.createElement(PresetPanel, null, presets.map((preset) => {
3214
+ )), presets && presets.length > 0 && /* @__PURE__ */ import_react21.default.createElement(PresetPanel, null, presets.map((preset) => {
3255
3215
  const disabled2 = isPresetDisabled(preset.value);
3256
- return /* @__PURE__ */ import_react22.default.createElement(
3216
+ return /* @__PURE__ */ import_react21.default.createElement(
3257
3217
  PresetItem,
3258
3218
  {
3259
3219
  key: preset.label,
@@ -3274,11 +3234,11 @@ var DatePicker = (0, import_react22.forwardRef)((inProps, ref) => {
3274
3234
  var DatePicker_default = DatePicker;
3275
3235
 
3276
3236
  // src/components/Textarea/Textarea.tsx
3277
- var import_react23 = __toESM(require("react"));
3237
+ var import_react22 = __toESM(require("react"));
3278
3238
  var import_joy30 = require("@mui/joy");
3279
3239
  var import_framer_motion19 = require("framer-motion");
3280
3240
  var MotionTextarea = (0, import_framer_motion19.motion)(import_joy30.Textarea);
3281
- var TextareaBase = (props) => {
3241
+ var Textarea = (props) => {
3282
3242
  const {
3283
3243
  label,
3284
3244
  error,
@@ -3294,7 +3254,7 @@ var TextareaBase = (props) => {
3294
3254
  className,
3295
3255
  ...innerProps
3296
3256
  } = props;
3297
- const textarea = /* @__PURE__ */ import_react23.default.createElement(
3257
+ const textarea = /* @__PURE__ */ import_react22.default.createElement(
3298
3258
  MotionTextarea,
3299
3259
  {
3300
3260
  required,
@@ -3306,7 +3266,7 @@ var TextareaBase = (props) => {
3306
3266
  ...innerProps
3307
3267
  }
3308
3268
  );
3309
- return /* @__PURE__ */ import_react23.default.createElement(
3269
+ return /* @__PURE__ */ import_react22.default.createElement(
3310
3270
  FormControl_default,
3311
3271
  {
3312
3272
  required,
@@ -3317,22 +3277,18 @@ var TextareaBase = (props) => {
3317
3277
  sx,
3318
3278
  className
3319
3279
  },
3320
- label && /* @__PURE__ */ import_react23.default.createElement(FormLabel_default, null, label),
3280
+ label && /* @__PURE__ */ import_react22.default.createElement(FormLabel_default, null, label),
3321
3281
  textarea,
3322
- helperText && /* @__PURE__ */ import_react23.default.createElement(FormHelperText_default, null, helperText)
3282
+ helperText && /* @__PURE__ */ import_react22.default.createElement(FormHelperText_default, null, helperText)
3323
3283
  );
3324
3284
  };
3325
- var Textarea = import_react23.default.forwardRef((props, ref) => {
3326
- const textareaSlotProps = useSlotRef(props.slotProps?.textarea, ref);
3327
- return /* @__PURE__ */ import_react23.default.createElement(TextareaBase, { ...props, slotProps: { ...props.slotProps, textarea: textareaSlotProps } });
3328
- });
3329
3285
  Textarea.displayName = "Textarea";
3330
3286
 
3331
3287
  // src/components/Textarea/index.ts
3332
3288
  var Textarea_default = Textarea;
3333
3289
 
3334
3290
  // src/components/Select/Select.tsx
3335
- var import_react24 = __toESM(require("react"));
3291
+ var import_react23 = __toESM(require("react"));
3336
3292
  var import_joy31 = require("@mui/joy");
3337
3293
  var import_framer_motion20 = require("framer-motion");
3338
3294
  var MotionOption = (0, import_framer_motion20.motion)(import_joy31.Option);
@@ -3343,7 +3299,7 @@ var secondaryTextLevelMap2 = {
3343
3299
  lg: "body-md"
3344
3300
  };
3345
3301
  Option.displayName = "Option";
3346
- function SelectInner(props, ref) {
3302
+ function Select(props) {
3347
3303
  const {
3348
3304
  label,
3349
3305
  helperText,
@@ -3369,7 +3325,7 @@ function SelectInner(props, ref) {
3369
3325
  formHelperText: formHelperTextProps,
3370
3326
  ...joySlotProps
3371
3327
  } = slotProps ?? {};
3372
- const options = (0, import_react24.useMemo)(
3328
+ const options = (0, import_react23.useMemo)(
3373
3329
  () => props.options.map((option) => {
3374
3330
  if (option.hasOwnProperty("value") && option.hasOwnProperty("label")) {
3375
3331
  return option;
@@ -3394,15 +3350,14 @@ function SelectInner(props, ref) {
3394
3350
  };
3395
3351
  onChange?.(newEvent, newValue);
3396
3352
  };
3397
- const optionMap = (0, import_react24.useMemo)(() => {
3353
+ const optionMap = (0, import_react23.useMemo)(() => {
3398
3354
  const map = /* @__PURE__ */ new Map();
3399
3355
  options.forEach((option) => {
3400
3356
  map.set(option.value, option);
3401
3357
  });
3402
3358
  return map;
3403
3359
  }, [options]);
3404
- const buttonSlotProps = useSlotRef(joySlotProps.button, ref);
3405
- const select = /* @__PURE__ */ import_react24.default.createElement(
3360
+ const select = /* @__PURE__ */ import_react23.default.createElement(
3406
3361
  import_joy31.Select,
3407
3362
  {
3408
3363
  ...innerProps,
@@ -3410,7 +3365,7 @@ function SelectInner(props, ref) {
3410
3365
  disabled,
3411
3366
  size,
3412
3367
  color: error ? "danger" : color,
3413
- slotProps: { ...joySlotProps, button: buttonSlotProps },
3368
+ slotProps: joySlotProps,
3414
3369
  onChange: handleChange,
3415
3370
  renderValue: (selected) => {
3416
3371
  if (!selected) return null;
@@ -3420,9 +3375,9 @@ function SelectInner(props, ref) {
3420
3375
  return optionMap.get(selected.value)?.label;
3421
3376
  }
3422
3377
  },
3423
- options.map((option) => /* @__PURE__ */ import_react24.default.createElement(Option, { key: option.value, value: option.value, disabled: option.disabled }, option.secondaryText ? /* @__PURE__ */ import_react24.default.createElement(import_joy31.ListItemContent, { sx: { gap: 0.5 } }, /* @__PURE__ */ import_react24.default.createElement(import_joy31.Typography, { level: "inherit" }, option.label), /* @__PURE__ */ import_react24.default.createElement(import_joy31.Typography, { level: secondaryTextLevelMap2[size ?? "md"], textColor: "text.tertiary" }, option.secondaryText)) : option.label))
3378
+ options.map((option) => /* @__PURE__ */ import_react23.default.createElement(Option, { key: option.value, value: option.value, disabled: option.disabled }, option.secondaryText ? /* @__PURE__ */ import_react23.default.createElement(import_joy31.ListItemContent, { sx: { gap: 0.5 } }, /* @__PURE__ */ import_react23.default.createElement(import_joy31.Typography, { level: "inherit" }, option.label), /* @__PURE__ */ import_react23.default.createElement(import_joy31.Typography, { level: secondaryTextLevelMap2[size ?? "md"], textColor: "text.tertiary" }, option.secondaryText)) : option.label))
3424
3379
  );
3425
- return /* @__PURE__ */ import_react24.default.createElement(
3380
+ return /* @__PURE__ */ import_react23.default.createElement(
3426
3381
  FormControl_default,
3427
3382
  {
3428
3383
  required,
@@ -3435,12 +3390,11 @@ function SelectInner(props, ref) {
3435
3390
  className,
3436
3391
  ...formControlProps
3437
3392
  },
3438
- label && /* @__PURE__ */ import_react24.default.createElement(FormLabel_default, { ...formLabelProps }, label),
3393
+ label && /* @__PURE__ */ import_react23.default.createElement(FormLabel_default, { ...formLabelProps }, label),
3439
3394
  select,
3440
- helperText && /* @__PURE__ */ import_react24.default.createElement(FormHelperText_default, { ...formHelperTextProps }, helperText)
3395
+ helperText && /* @__PURE__ */ import_react23.default.createElement(FormHelperText_default, { ...formHelperTextProps }, helperText)
3441
3396
  );
3442
3397
  }
3443
- var Select = import_react24.default.forwardRef(SelectInner);
3444
3398
  Select.displayName = "Select";
3445
3399
 
3446
3400
  // src/components/Select/index.ts
@@ -3450,7 +3404,7 @@ var Select_default = Select;
3450
3404
  var import_joy34 = require("@mui/joy");
3451
3405
 
3452
3406
  // src/components/InfoSign/InfoSign.tsx
3453
- var import_react25 = __toESM(require("react"));
3407
+ var import_react24 = __toESM(require("react"));
3454
3408
  var import_joy32 = require("@mui/joy");
3455
3409
  var import_Info = __toESM(require("@mui/icons-material/Info"));
3456
3410
  var InfoIcon = (0, import_joy32.styled)(import_Info.default, {
@@ -3463,7 +3417,7 @@ var InfoIcon = (0, import_joy32.styled)(import_Info.default, {
3463
3417
  }));
3464
3418
  function InfoSign(props) {
3465
3419
  const { message, placement } = props;
3466
- return /* @__PURE__ */ import_react25.default.createElement(
3420
+ return /* @__PURE__ */ import_react24.default.createElement(
3467
3421
  Tooltip_default,
3468
3422
  {
3469
3423
  arrow: true,
@@ -3473,9 +3427,9 @@ function InfoSign(props) {
3473
3427
  maxWidth: "320px"
3474
3428
  }
3475
3429
  },
3476
- title: message?.split("\n").map((line, i) => /* @__PURE__ */ import_react25.default.createElement("div", { key: `info-sign-${i}` }, line))
3430
+ title: message?.split("\n").map((line, i) => /* @__PURE__ */ import_react24.default.createElement("div", { key: `info-sign-${i}` }, line))
3477
3431
  },
3478
- /* @__PURE__ */ import_react25.default.createElement(InfoIcon, null)
3432
+ /* @__PURE__ */ import_react24.default.createElement(InfoIcon, null)
3479
3433
  );
3480
3434
  }
3481
3435
 
@@ -3488,9 +3442,9 @@ var TextEllipsis = ({
3488
3442
  lineClamp,
3489
3443
  ...rest
3490
3444
  }) => {
3491
- const textRef = (0, import_react26.useRef)(null);
3492
- const [showTooltip, setShowTooltip] = (0, import_react26.useState)(false);
3493
- (0, import_react26.useLayoutEffect)(() => {
3445
+ const textRef = (0, import_react25.useRef)(null);
3446
+ const [showTooltip, setShowTooltip] = (0, import_react25.useState)(false);
3447
+ (0, import_react25.useLayoutEffect)(() => {
3494
3448
  const element = textRef.current;
3495
3449
  if (!element) return;
3496
3450
  const checkTruncation = () => {
@@ -3502,21 +3456,21 @@ var TextEllipsis = ({
3502
3456
  ro.observe(element);
3503
3457
  return () => ro.disconnect();
3504
3458
  }, [children, lineClamp]);
3505
- return /* @__PURE__ */ import_react26.default.createElement(Tooltip_default, { title: showTooltip ? children : "", placement: "top" }, /* @__PURE__ */ import_react26.default.createElement(EllipsisDiv, { ref: textRef, lineClamp, ...rest }, children));
3459
+ return /* @__PURE__ */ import_react25.default.createElement(Tooltip_default, { title: showTooltip ? children : "", placement: "top" }, /* @__PURE__ */ import_react25.default.createElement(EllipsisDiv, { ref: textRef, lineClamp, ...rest }, children));
3506
3460
  };
3507
3461
  var CellTextEllipsis = ({ children }) => {
3508
- const textRef = (0, import_react26.useRef)(null);
3509
- const [showTooltip, setShowTooltip] = (0, import_react26.useState)(false);
3510
- (0, import_react26.useLayoutEffect)(() => {
3462
+ const textRef = (0, import_react25.useRef)(null);
3463
+ const [showTooltip, setShowTooltip] = (0, import_react25.useState)(false);
3464
+ (0, import_react25.useLayoutEffect)(() => {
3511
3465
  const element = textRef.current;
3512
3466
  if (element) {
3513
3467
  const isTextTruncated = element.scrollWidth > element.clientWidth;
3514
3468
  setShowTooltip(isTextTruncated);
3515
3469
  }
3516
3470
  }, [children]);
3517
- const content = /* @__PURE__ */ import_react26.default.createElement(EllipsisDiv, { ref: textRef }, children);
3471
+ const content = /* @__PURE__ */ import_react25.default.createElement(EllipsisDiv, { ref: textRef }, children);
3518
3472
  if (showTooltip) {
3519
- return /* @__PURE__ */ import_react26.default.createElement(
3473
+ return /* @__PURE__ */ import_react25.default.createElement(
3520
3474
  Tooltip_default,
3521
3475
  {
3522
3476
  title: children,
@@ -3555,32 +3509,34 @@ var HeadCell = (props) => {
3555
3509
  tableColRef,
3556
3510
  headerClassName,
3557
3511
  headerLineClamp,
3558
- onAutoFit,
3559
- columnId
3512
+ onAutoFit
3560
3513
  } = props;
3561
3514
  const theme = (0, import_joy33.useTheme)();
3562
3515
  const ref = headerRef;
3563
3516
  const colRef = tableColRef;
3564
- const localRef = (0, import_react26.useRef)(null);
3565
- (0, import_react26.useLayoutEffect)(() => {
3517
+ const localRef = (0, import_react25.useRef)(null);
3518
+ (0, import_react25.useLayoutEffect)(() => {
3566
3519
  ref.current = localRef.current;
3567
3520
  }, [ref]);
3568
- const [isHovered, setIsHovered] = (0, import_react26.useState)(false);
3521
+ const [isHovered, setIsHovered] = (0, import_react25.useState)(false);
3569
3522
  const sortable = type === "actions" ? false : _sortable;
3570
- const headId = (0, import_react26.useMemo)(() => getHeaderCellId(tableId, columnId ?? field), [tableId, columnId, field]);
3571
- const isResizingRef = (0, import_react26.useRef)(false);
3572
- const resizer = (0, import_react26.useMemo)(
3523
+ const headId = (0, import_react25.useMemo)(
3524
+ () => `${tableId}_header_${headerName ?? field}`.trim(),
3525
+ [tableId, headerName, field]
3526
+ );
3527
+ const isResizingRef = (0, import_react25.useRef)(false);
3528
+ const resizer = (0, import_react25.useMemo)(
3573
3529
  () => resizable ?? true ? Resizer(
3574
3530
  ref,
3575
3531
  colRef,
3576
3532
  (isResizing) => {
3577
3533
  isResizingRef.current = isResizing;
3578
3534
  },
3579
- onAutoFit ? () => onAutoFit(columnId ?? String(field)) : void 0
3535
+ onAutoFit ? () => onAutoFit(field) : void 0
3580
3536
  ) : null,
3581
- [resizable, ref, colRef, onAutoFit, columnId, field]
3537
+ [resizable, ref, colRef, onAutoFit, field]
3582
3538
  );
3583
- const style = (0, import_react26.useMemo)(
3539
+ const style = (0, import_react25.useMemo)(
3584
3540
  () => ({
3585
3541
  width,
3586
3542
  minWidth: minWidth ?? "50px",
@@ -3598,10 +3554,10 @@ var HeadCell = (props) => {
3598
3554
  );
3599
3555
  const textAlign = getTextAlign(props);
3600
3556
  const initialSort = sortOrder[0];
3601
- const sortIcon = (0, import_react26.useMemo)(() => {
3557
+ const sortIcon = (0, import_react25.useMemo)(() => {
3602
3558
  const isSorted = !!sort;
3603
3559
  const isVisible = sortable && (isSorted || isHovered);
3604
- return /* @__PURE__ */ import_react26.default.createElement(import_framer_motion21.AnimatePresence, { mode: "wait" }, isVisible && /* @__PURE__ */ import_react26.default.createElement(
3560
+ return /* @__PURE__ */ import_react25.default.createElement(import_framer_motion21.AnimatePresence, { mode: "wait" }, isVisible && /* @__PURE__ */ import_react25.default.createElement(
3605
3561
  MotionSortIcon,
3606
3562
  {
3607
3563
  key: "sort-icon",
@@ -3629,21 +3585,21 @@ var HeadCell = (props) => {
3629
3585
  }
3630
3586
  ));
3631
3587
  }, [headId, initialSort, sort, sortable, isHovered]);
3632
- const infoSign = (0, import_react26.useMemo)(
3633
- () => description ? /* @__PURE__ */ import_react26.default.createElement(InfoSign_default, { message: description, placement: "bottom" }) : null,
3588
+ const infoSign = (0, import_react25.useMemo)(
3589
+ () => description ? /* @__PURE__ */ import_react25.default.createElement(InfoSign_default, { message: description, placement: "bottom" }) : null,
3634
3590
  [description]
3635
3591
  );
3636
- const params = (0, import_react26.useMemo)(
3592
+ const params = (0, import_react25.useMemo)(
3637
3593
  () => ({
3638
3594
  field
3639
3595
  }),
3640
3596
  [field]
3641
3597
  );
3642
- const computedHeaderClassName = (0, import_react26.useMemo)(
3598
+ const computedHeaderClassName = (0, import_react25.useMemo)(
3643
3599
  () => (typeof headerClassName === "function" ? headerClassName(params) : headerClassName) || void 0,
3644
3600
  [headerClassName, params]
3645
3601
  );
3646
- return /* @__PURE__ */ import_react26.default.createElement(
3602
+ return /* @__PURE__ */ import_react25.default.createElement(
3647
3603
  StyledTh,
3648
3604
  {
3649
3605
  id: headId,
@@ -3652,7 +3608,7 @@ var HeadCell = (props) => {
3652
3608
  ref: localRef,
3653
3609
  key: field,
3654
3610
  style,
3655
- onClick: (0, import_react26.useCallback)(
3611
+ onClick: (0, import_react25.useCallback)(
3656
3612
  (e) => {
3657
3613
  if (isResizingRef.current) return;
3658
3614
  if (!(e.target instanceof Element) || !e.currentTarget.contains(e.target)) return;
@@ -3666,7 +3622,7 @@ var HeadCell = (props) => {
3666
3622
  initial: "initial",
3667
3623
  className: computedHeaderClassName
3668
3624
  },
3669
- /* @__PURE__ */ import_react26.default.createElement(Stack_default, { gap: 1, direction: "row", justifyContent: textAlign, alignItems: "center", sx: { minWidth: 0 } }, textAlign === "end" && sortIcon, textAlign === "end" && infoSign, /* @__PURE__ */ import_react26.default.createElement(TextEllipsis, { lineClamp: headerLineClamp, "data-slot": "header-text" }, headerName ?? field, editMode && required && /* @__PURE__ */ import_react26.default.createElement(Asterisk, null, "*")), textAlign === "start" && infoSign, textAlign === "start" && sortIcon),
3625
+ /* @__PURE__ */ import_react25.default.createElement(Stack_default, { gap: 1, direction: "row", justifyContent: textAlign, alignItems: "center", sx: { minWidth: 0 } }, textAlign === "end" && sortIcon, textAlign === "end" && infoSign, /* @__PURE__ */ import_react25.default.createElement(TextEllipsis, { lineClamp: headerLineClamp, "data-slot": "header-text" }, headerName ?? field, editMode && required && /* @__PURE__ */ import_react25.default.createElement(Asterisk, null, "*")), textAlign === "start" && infoSign, textAlign === "start" && sortIcon),
3670
3626
  resizer
3671
3627
  );
3672
3628
  };
@@ -3691,9 +3647,9 @@ var BodyCell = (props) => {
3691
3647
  onCellEditStop
3692
3648
  } = props;
3693
3649
  const theme = (0, import_joy33.useTheme)();
3694
- const [value, setValue] = (0, import_react26.useState)(row[field]);
3695
- const cellRef = (0, import_react26.useRef)(null);
3696
- const params = (0, import_react26.useMemo)(
3650
+ const [value, setValue] = (0, import_react25.useState)(row[field]);
3651
+ const cellRef = (0, import_react25.useRef)(null);
3652
+ const params = (0, import_react25.useMemo)(
3697
3653
  () => ({
3698
3654
  row,
3699
3655
  value,
@@ -3702,20 +3658,20 @@ var BodyCell = (props) => {
3702
3658
  }),
3703
3659
  [row, rowId, value, field]
3704
3660
  );
3705
- const editMode = (0, import_react26.useMemo)(
3661
+ const editMode = (0, import_react25.useMemo)(
3706
3662
  () => !!(props.editMode && (typeof isCellEditable === "function" ? isCellEditable(params) : isCellEditable ?? true)),
3707
3663
  [props.editMode, isCellEditable, params]
3708
3664
  );
3709
3665
  const propsComponentProps = "componentProps" in props ? props.componentProps : null;
3710
3666
  const hasComponentProps = "componentProps" in props;
3711
- const componentProps = (0, import_react26.useMemo)(
3667
+ const componentProps = (0, import_react25.useMemo)(
3712
3668
  () => ({
3713
3669
  ...hasComponentProps && (typeof propsComponentProps === "function" ? propsComponentProps(params) : propsComponentProps || {}),
3714
3670
  size: "sm"
3715
3671
  }),
3716
3672
  [hasComponentProps, propsComponentProps, params]
3717
3673
  );
3718
- const editModeComponentProps = (0, import_react26.useMemo)(
3674
+ const editModeComponentProps = (0, import_react25.useMemo)(
3719
3675
  () => ({
3720
3676
  ...componentProps,
3721
3677
  onChange: (e) => {
@@ -3777,25 +3733,25 @@ var BodyCell = (props) => {
3777
3733
  }),
3778
3734
  [params, row, field, value, componentProps, type, onCellEditStop, onCellEditStart]
3779
3735
  );
3780
- const MemoizedRenderEditCell = (0, import_react26.useMemo)(() => renderEditCell ? (0, import_react26.memo)(renderEditCell) : null, [renderEditCell]);
3781
- const MemoizedRenderCell = (0, import_react26.useMemo)(() => renderCell ? (0, import_react26.memo)(renderCell) : null, [renderCell]);
3782
- const EditModeComponent = (0, import_react26.useMemo)(() => {
3736
+ const MemoizedRenderEditCell = (0, import_react25.useMemo)(() => renderEditCell ? (0, import_react25.memo)(renderEditCell) : null, [renderEditCell]);
3737
+ const MemoizedRenderCell = (0, import_react25.useMemo)(() => renderCell ? (0, import_react25.memo)(renderCell) : null, [renderCell]);
3738
+ const EditModeComponent = (0, import_react25.useMemo)(() => {
3783
3739
  if (MemoizedRenderEditCell) {
3784
- return (0, import_react26.createElement)(MemoizedRenderEditCell, params);
3740
+ return (0, import_react25.createElement)(MemoizedRenderEditCell, params);
3785
3741
  }
3786
3742
  return {
3787
- date: /* @__PURE__ */ import_react26.default.createElement(DatePicker_default, { value, ...editModeComponentProps }),
3788
- currency: /* @__PURE__ */ import_react26.default.createElement(
3743
+ date: /* @__PURE__ */ import_react25.default.createElement(DatePicker_default, { value, ...editModeComponentProps }),
3744
+ currency: /* @__PURE__ */ import_react25.default.createElement(
3789
3745
  CurrencyInput_default,
3790
3746
  {
3791
3747
  value,
3792
3748
  ...editModeComponentProps
3793
3749
  }
3794
3750
  ),
3795
- number: /* @__PURE__ */ import_react26.default.createElement(Input_default, { value, type: "number", ...editModeComponentProps }),
3796
- text: /* @__PURE__ */ import_react26.default.createElement(Input_default, { value, type: "text", ...editModeComponentProps }),
3797
- longText: /* @__PURE__ */ import_react26.default.createElement(Textarea_default, { value, ...editModeComponentProps }),
3798
- autocomplete: /* @__PURE__ */ import_react26.default.createElement(
3751
+ number: /* @__PURE__ */ import_react25.default.createElement(Input_default, { value, type: "number", ...editModeComponentProps }),
3752
+ text: /* @__PURE__ */ import_react25.default.createElement(Input_default, { value, type: "text", ...editModeComponentProps }),
3753
+ longText: /* @__PURE__ */ import_react25.default.createElement(Textarea_default, { value, ...editModeComponentProps }),
3754
+ autocomplete: /* @__PURE__ */ import_react25.default.createElement(
3799
3755
  Autocomplete_default,
3800
3756
  {
3801
3757
  value,
@@ -3803,7 +3759,7 @@ var BodyCell = (props) => {
3803
3759
  ...editModeComponentProps
3804
3760
  }
3805
3761
  ),
3806
- select: /* @__PURE__ */ import_react26.default.createElement(
3762
+ select: /* @__PURE__ */ import_react25.default.createElement(
3807
3763
  Select_default,
3808
3764
  {
3809
3765
  value,
@@ -3814,13 +3770,13 @@ var BodyCell = (props) => {
3814
3770
  }[type || "text"];
3815
3771
  }, [value, editModeComponentProps, type, MemoizedRenderEditCell, params]);
3816
3772
  const linkComponentFromProps = props.component;
3817
- const ReadModeComponent = (0, import_react26.useMemo)(() => {
3773
+ const ReadModeComponent = (0, import_react25.useMemo)(() => {
3818
3774
  if (MemoizedRenderCell) {
3819
- return (0, import_react26.createElement)(MemoizedRenderCell, params);
3775
+ return (0, import_react25.createElement)(MemoizedRenderCell, params);
3820
3776
  }
3821
3777
  const innerText = value;
3822
3778
  const typedComponent = {
3823
- link: import_react26.default.createElement(linkComponentFromProps || import_joy34.Link, {
3779
+ link: import_react25.default.createElement(linkComponentFromProps || import_joy34.Link, {
3824
3780
  children: innerText,
3825
3781
  ...componentProps
3826
3782
  })
@@ -3828,27 +3784,27 @@ var BodyCell = (props) => {
3828
3784
  return typedComponent || innerText;
3829
3785
  }, [value, MemoizedRenderCell, params, type, componentProps, linkComponentFromProps]);
3830
3786
  const getActions = props.getActions;
3831
- const CellComponent = (0, import_react26.useMemo)(() => {
3787
+ const CellComponent = (0, import_react25.useMemo)(() => {
3832
3788
  if (type === "actions") {
3833
- return /* @__PURE__ */ import_react26.default.createElement(Stack_default, { direction: "row", gap: 1, justifyContent: "center", alignItems: "center" }, getActions?.(params));
3789
+ return /* @__PURE__ */ import_react25.default.createElement(Stack_default, { direction: "row", gap: 1, justifyContent: "center", alignItems: "center" }, getActions?.(params));
3834
3790
  }
3835
3791
  return editMode && EditModeComponent ? EditModeComponent : ReadModeComponent;
3836
3792
  }, [type, getActions, params, editMode, EditModeComponent, ReadModeComponent]);
3837
- const showTooltip = (0, import_react26.useMemo)(() => noWrap && type === "longText", [noWrap, type]);
3793
+ const showTooltip = (0, import_react25.useMemo)(() => noWrap && type === "longText", [noWrap, type]);
3838
3794
  const isBoundary = props.isLastStartPinnedColumn || props.isLastEndPinnedColumn;
3839
- const computedCellClassName = (0, import_react26.useMemo)(
3795
+ const computedCellClassName = (0, import_react25.useMemo)(
3840
3796
  () => (typeof cellClassName === "function" ? cellClassName(params) : cellClassName) || "",
3841
3797
  [cellClassName, params]
3842
3798
  );
3843
- (0, import_react26.useEffect)(() => {
3799
+ (0, import_react25.useEffect)(() => {
3844
3800
  setValue(row[field]);
3845
3801
  }, [row, field]);
3846
- return /* @__PURE__ */ import_react26.default.createElement(
3802
+ return /* @__PURE__ */ import_react25.default.createElement(
3847
3803
  StyledTd,
3848
3804
  {
3849
3805
  ref: cellRef,
3850
3806
  key: field,
3851
- headers: getHeaderCellId(tableId, props.columnId ?? field),
3807
+ headers: `${tableId}_header_${props.headerName ?? field}`,
3852
3808
  sx: {
3853
3809
  textAlign: getTextAlign({ type }),
3854
3810
  verticalAlign: editMode ? "top" : "middle",
@@ -3860,16 +3816,16 @@ var BodyCell = (props) => {
3860
3816
  },
3861
3817
  className: [isLastStartPinnedColumn && "is-last-left", isLastEndPinnedColumn && "is-last-right", computedCellClassName].filter(Boolean).join(" ") || ""
3862
3818
  },
3863
- (0, import_react26.useMemo)(
3864
- () => showTooltip ? /* @__PURE__ */ import_react26.default.createElement(CellTextEllipsis, null, CellComponent) : CellComponent,
3819
+ (0, import_react25.useMemo)(
3820
+ () => showTooltip ? /* @__PURE__ */ import_react25.default.createElement(CellTextEllipsis, null, CellComponent) : CellComponent,
3865
3821
  [CellComponent, showTooltip]
3866
3822
  )
3867
3823
  );
3868
3824
  };
3869
- var BodyRow = (0, import_react26.memo)(
3825
+ var BodyRow = (0, import_react25.memo)(
3870
3826
  (props) => {
3871
3827
  const { tableId, columns, rowId, editMode, noWrap, row } = props;
3872
- return /* @__PURE__ */ import_react26.default.createElement(import_react26.default.Fragment, null, columns.map((column, i) => /* @__PURE__ */ import_react26.default.createElement(
3828
+ return /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, columns.map((column, i) => /* @__PURE__ */ import_react25.default.createElement(
3873
3829
  BodyCell,
3874
3830
  {
3875
3831
  key: `${rowId}_${column.field.toString()}_${i}`,
@@ -3902,7 +3858,7 @@ var StyledTableRow2 = (0, import_joy33.styled)("tr", {
3902
3858
  }
3903
3859
  }
3904
3860
  }));
3905
- var VirtualizedTableRow = (0, import_react26.memo)(StyledTableRow2, (prevProps, nextProps) => {
3861
+ var VirtualizedTableRow = (0, import_react25.memo)(StyledTableRow2, (prevProps, nextProps) => {
3906
3862
  return prevProps.striped === nextProps.striped && prevProps.style?.height === nextProps.style?.height && prevProps.style?.transform === nextProps.style?.transform && // @ts-ignore
3907
3863
  prevProps["data-row-id"] === nextProps["data-row-id"] && // @ts-ignore
3908
3864
  prevProps["data-index"] === nextProps["data-index"] && prevProps.tabIndex === nextProps.tabIndex && prevProps["aria-checked"] === nextProps["aria-checked"] && // Track column structure changes (e.g. isCellEditable toggled, columns added/removed)
@@ -3913,46 +3869,36 @@ var VirtualizedTableRow = (0, import_react26.memo)(StyledTableRow2, (prevProps,
3913
3869
  });
3914
3870
 
3915
3871
  // src/components/DataTable/hooks.ts
3916
- var import_react27 = require("react");
3917
- function useColumnWidths(columnsById) {
3918
- const [widths, setWidths] = (0, import_react27.useState)({});
3919
- const roRef = (0, import_react27.useRef)();
3920
- (0, import_react27.useLayoutEffect)(() => {
3872
+ var import_react26 = require("react");
3873
+ function useColumnWidths(columnsByField) {
3874
+ const [widths, setWidths] = (0, import_react26.useState)({});
3875
+ const roRef = (0, import_react26.useRef)();
3876
+ (0, import_react26.useLayoutEffect)(() => {
3921
3877
  if (roRef.current) roRef.current.disconnect();
3922
3878
  roRef.current = new ResizeObserver((entries) => {
3879
+ let changed = false;
3923
3880
  setWidths((prev) => {
3924
- let changed = false;
3925
3881
  const next = { ...prev };
3926
3882
  entries.forEach((entry) => {
3927
- const columnId = entry.target.dataset.hdsColumnId;
3883
+ const field = entry.target.dataset.field;
3928
3884
  const w = Math.round(entry.target.getBoundingClientRect().width);
3929
- if (w === 0) return;
3930
- if (next[columnId] !== w) {
3931
- next[columnId] = w;
3885
+ if (next[field] !== w) {
3886
+ next[field] = w;
3932
3887
  changed = true;
3933
3888
  }
3934
3889
  });
3935
3890
  return changed ? next : prev;
3936
3891
  });
3937
3892
  });
3938
- const measured = {};
3939
- Object.entries(columnsById).forEach(([columnId, def]) => {
3893
+ Object.entries(columnsByField).forEach(([field, def]) => {
3940
3894
  const el = def.headerRef.current;
3941
3895
  if (el) {
3942
- el.dataset.hdsColumnId = columnId;
3943
- el.dataset.field = String(def.field);
3944
- const w = Math.round(el.getBoundingClientRect().width);
3945
- if (w > 0) measured[columnId] = w;
3896
+ el.dataset.field = field;
3946
3897
  roRef.current.observe(el);
3947
3898
  }
3948
3899
  });
3949
- setWidths((prev) => {
3950
- const keys = Object.keys(measured);
3951
- const same = keys.length === Object.keys(prev).length && keys.every((key) => prev[key] === measured[key]);
3952
- return same ? prev : measured;
3953
- });
3954
3900
  return () => roRef.current?.disconnect();
3955
- }, [columnsById]);
3901
+ }, [columnsByField]);
3956
3902
  return widths;
3957
3903
  }
3958
3904
  function useDataTableRenderer({
@@ -3984,40 +3930,33 @@ function useDataTableRenderer({
3984
3930
  "You cannot use both `pinnedColumns` and `columnGroupingModel` at the same time. Please choose one of them."
3985
3931
  );
3986
3932
  }
3987
- const onSelectionModelChangeRef = (0, import_react27.useRef)(onSelectionModelChange);
3933
+ const onSelectionModelChangeRef = (0, import_react26.useRef)(onSelectionModelChange);
3988
3934
  onSelectionModelChangeRef.current = onSelectionModelChange;
3989
- const [focusedRowId, setFocusedRowId] = (0, import_react27.useState)(null);
3990
- const [selectionAnchor, setSelectionAnchor] = (0, import_react27.useState)(null);
3935
+ const [focusedRowId, setFocusedRowId] = (0, import_react26.useState)(null);
3936
+ const [selectionAnchor, setSelectionAnchor] = (0, import_react26.useState)(null);
3991
3937
  const [sortModel, setSortModel] = useControlledState(
3992
3938
  controlledSortModel,
3993
3939
  initialState?.sorting?.sortModel ?? [],
3994
- (0, import_react27.useCallback)((sortModel2) => onSortModelChange?.(sortModel2), [onSortModelChange])
3940
+ (0, import_react26.useCallback)((sortModel2) => onSortModelChange?.(sortModel2), [onSortModelChange])
3995
3941
  );
3996
3942
  const [visibilityModel] = useControlledState(
3997
3943
  columnVisibilityModel,
3998
3944
  initialState?.columns?.columnVisibilityModel ?? {},
3999
- (0, import_react27.useCallback)(
3945
+ (0, import_react26.useCallback)(
4000
3946
  (model) => onColumnVisibilityModelChange?.(model),
4001
3947
  [onColumnVisibilityModelChange]
4002
3948
  )
4003
3949
  );
4004
- const reorderedColumns = (0, import_react27.useMemo)(() => {
3950
+ const reorderedColumns = (0, import_react26.useMemo)(() => {
4005
3951
  if (!columnGroupingModel) return columnsProp;
4006
3952
  return reorderColumnsByGroupingModel(columnsProp, columnGroupingModel);
4007
3953
  }, [columnsProp, columnGroupingModel]);
4008
- const visibleColumnIndexes = (0, import_react27.useMemo)(
4009
- () => reorderedColumns.reduce((acc, col, index) => {
4010
- if (visibilityModel[col.field] !== false) acc.push(index);
4011
- return acc;
4012
- }, []),
3954
+ const visibleColumns = (0, import_react26.useMemo)(
3955
+ () => reorderedColumns.filter((col) => visibilityModel[col.field] !== false),
4013
3956
  [reorderedColumns, visibilityModel]
4014
3957
  );
4015
- const visibleColumns = (0, import_react27.useMemo)(
4016
- () => visibleColumnIndexes.map((index) => reorderedColumns[index]),
4017
- [visibleColumnIndexes, reorderedColumns]
4018
- );
4019
- const visibleFieldSet = (0, import_react27.useMemo)(() => new Set(visibleColumns.map((c) => c.field)), [visibleColumns]);
4020
- const tableMinWidth = (0, import_react27.useMemo)(() => {
3958
+ const visibleFieldSet = (0, import_react26.useMemo)(() => new Set(visibleColumns.map((c) => c.field)), [visibleColumns]);
3959
+ const tableMinWidth = (0, import_react26.useMemo)(() => {
4021
3960
  const DEFAULT_MIN = 50;
4022
3961
  let total = checkboxSelection ? 40 : 0;
4023
3962
  for (const col of visibleColumns) {
@@ -4025,7 +3964,7 @@ function useDataTableRenderer({
4025
3964
  }
4026
3965
  return total;
4027
3966
  }, [visibleColumns, checkboxSelection]);
4028
- const allColumnsByField = (0, import_react27.useMemo)(
3967
+ const allColumnsByField = (0, import_react26.useMemo)(
4029
3968
  () => reorderedColumns.reduce(
4030
3969
  (acc, curr) => ({
4031
3970
  ...acc,
@@ -4035,39 +3974,21 @@ function useDataTableRenderer({
4035
3974
  ),
4036
3975
  [reorderedColumns]
4037
3976
  );
4038
- const allColumnIds = (0, import_react27.useMemo)(() => {
4039
- const taken = new Set(reorderedColumns.map((column) => String(column.field)));
4040
- const assigned = /* @__PURE__ */ new Set();
4041
- return reorderedColumns.map((column) => {
4042
- const field = String(column.field);
4043
- if (!assigned.has(field)) {
4044
- assigned.add(field);
4045
- return field;
4046
- }
4047
- let n = 2;
4048
- while (taken.has(`${field}__${n}`)) n += 1;
4049
- taken.add(`${field}__${n}`);
4050
- return `${field}__${n}`;
4051
- });
4052
- }, [reorderedColumns]);
4053
- const columnIds = (0, import_react27.useMemo)(
4054
- () => visibleColumnIndexes.map((index) => allColumnIds[index]),
4055
- [visibleColumnIndexes, allColumnIds]
4056
- );
4057
- const visibleColumnsById = (0, import_react27.useMemo)(
4058
- () => Object.fromEntries(
4059
- visibleColumns.map((column, index) => [
4060
- columnIds[index],
4061
- {
4062
- ...column,
4063
- headerRef: (0, import_react27.createRef)(),
4064
- tableColRef: (0, import_react27.createRef)()
3977
+ const visibleColumnsByField = (0, import_react26.useMemo)(
3978
+ () => visibleColumns.reduce(
3979
+ (acc, curr) => ({
3980
+ ...acc,
3981
+ [curr.field]: {
3982
+ ...curr,
3983
+ headerRef: (0, import_react26.createRef)(),
3984
+ tableColRef: (0, import_react26.createRef)()
4065
3985
  }
4066
- ])
3986
+ }),
3987
+ {}
4067
3988
  ),
4068
- [visibleColumns, columnIds]
3989
+ [visibleColumns]
4069
3990
  );
4070
- const sortComparator = (0, import_react27.useCallback)(
3991
+ const sortComparator = (0, import_react26.useCallback)(
4071
3992
  (rowA, rowB) => {
4072
3993
  for (const sort of sortModel) {
4073
3994
  const { field, sort: direction } = sort;
@@ -4096,33 +4017,33 @@ function useDataTableRenderer({
4096
4017
  },
4097
4018
  [sortModel, allColumnsByField]
4098
4019
  );
4099
- const rows = (0, import_react27.useMemo)(
4020
+ const rows = (0, import_react26.useMemo)(
4100
4021
  () => sortModel.length ? [..._rows].sort(sortComparator) : _rows,
4101
4022
  [_rows, sortModel, sortComparator]
4102
4023
  );
4103
- const sortOrder = (0, import_react27.useMemo)(
4024
+ const sortOrder = (0, import_react26.useMemo)(
4104
4025
  () => Array.from(new Set(_sortOrder || ["asc", "desc", null])),
4105
4026
  [_sortOrder]
4106
4027
  );
4107
- const [page, setPage] = (0, import_react27.useState)(paginationModel?.page || 1);
4028
+ const [page, setPage] = (0, import_react26.useState)(paginationModel?.page || 1);
4108
4029
  const pageSize = paginationModel?.pageSize || 20;
4109
- const getId = (0, import_react27.useCallback)(
4030
+ const getId = (0, import_react26.useCallback)(
4110
4031
  (row, index) => _getId?.(row) ?? row.id ?? `${(index || 0) + (page - 1) * pageSize}`,
4111
4032
  [_getId, page, pageSize]
4112
4033
  );
4113
- const selectedModelSet = (0, import_react27.useMemo)(() => new Set(selectionModel || []), [selectionModel]);
4114
- const dataInPage = (0, import_react27.useMemo)(
4034
+ const selectedModelSet = (0, import_react26.useMemo)(() => new Set(selectionModel || []), [selectionModel]);
4035
+ const dataInPage = (0, import_react26.useMemo)(
4115
4036
  () => !pagination || paginationMode === "server" ? rows : rows.slice((page - 1) * pageSize, (page - 1) * pageSize + pageSize),
4116
4037
  [rows, page, pageSize, paginationMode, pagination]
4117
4038
  );
4118
- const selectableDataInPage = (0, import_react27.useMemo)(
4039
+ const selectableDataInPage = (0, import_react26.useMemo)(
4119
4040
  () => dataInPage.filter((row, i) => {
4120
4041
  if (!isRowSelectable) return true;
4121
4042
  return isRowSelectable({ row, id: getId(row, i) });
4122
4043
  }),
4123
4044
  [dataInPage, isRowSelectable, getId]
4124
4045
  );
4125
- const handleRangeSelection = (0, import_react27.useCallback)(
4046
+ const handleRangeSelection = (0, import_react26.useCallback)(
4126
4047
  (anchor, targetIndex) => {
4127
4048
  const startIndex = Math.min(anchor.rowIndex, targetIndex);
4128
4049
  const endIndex = Math.max(anchor.rowIndex, targetIndex);
@@ -4145,60 +4066,51 @@ function useDataTableRenderer({
4145
4066
  },
4146
4067
  [dataInPage, getId, isRowSelectable, selectionModel, onSelectionModelChange]
4147
4068
  );
4148
- const isAllSelected = (0, import_react27.useMemo)(
4069
+ const isAllSelected = (0, import_react26.useMemo)(
4149
4070
  () => selectableDataInPage.length > 0 && selectableDataInPage.every((row, i) => selectedModelSet.has(getId(row, i))),
4150
4071
  [selectableDataInPage, selectedModelSet, getId]
4151
4072
  );
4152
4073
  const rowCount = totalRowsProp || rows.length;
4153
- const selectableRowCount = (0, import_react27.useMemo)(() => {
4074
+ const selectableRowCount = (0, import_react26.useMemo)(() => {
4154
4075
  if (!isRowSelectable) return rowCount;
4155
4076
  return rows.filter((row, i) => isRowSelectable({ row, id: getId(row, i) })).length;
4156
4077
  }, [rows, isRowSelectable, getId, rowCount]);
4157
- const isTotalSelected = (0, import_react27.useMemo)(
4078
+ const isTotalSelected = (0, import_react26.useMemo)(
4158
4079
  () => _isTotalSelected ?? (selectableRowCount > 0 && (selectionModel?.length || 0) === selectableRowCount),
4159
4080
  [_isTotalSelected, selectionModel, selectableRowCount]
4160
4081
  );
4161
- const columnWidths = useColumnWidths(visibleColumnsById);
4162
- const measuredWidthByField = (0, import_react27.useMemo)(
4163
- () => Object.fromEntries(
4164
- Object.entries(visibleColumnsById).map(([columnId, column]) => [column.field, columnWidths[columnId]])
4165
- ),
4166
- [visibleColumnsById, columnWidths]
4167
- );
4168
- const getWidth = (0, import_react27.useCallback)(
4169
- // 반환값은 pinned offset으로 더해지므로 반드시 숫자여야 한다. width/minWidth는 '500px' 같은 문자열.
4170
- (f) => measuredWidthByField[f] ?? parsePxValue(allColumnsByField[f]?.width) ?? // Column prop 으로 지정된 width
4171
- parsePxValue(allColumnsByField[f]?.minWidth) ?? 0,
4172
- [measuredWidthByField, allColumnsByField]
4082
+ const columnWidths = useColumnWidths(visibleColumnsByField);
4083
+ const getWidth = (0, import_react26.useCallback)(
4084
+ (f) => columnWidths[f] ?? allColumnsByField[f]?.width ?? // Column prop 으로 지정된 width
4085
+ allColumnsByField[f]?.minWidth ?? 0,
4086
+ [columnWidths, allColumnsByField]
4173
4087
  );
4174
- const processedColumnGroups = (0, import_react27.useMemo)(() => {
4088
+ const processedColumnGroups = (0, import_react26.useMemo)(() => {
4175
4089
  if (!columnGroupingModel) return null;
4176
4090
  return calculateColumnGroups(columnGroupingModel, visibleColumns, visibleFieldSet);
4177
4091
  }, [columnGroupingModel, visibleColumns, visibleFieldSet]);
4178
- const effectivePinnedLeft = (0, import_react27.useMemo)(
4092
+ const effectivePinnedLeft = (0, import_react26.useMemo)(
4179
4093
  () => pinnedColumns?.left?.filter((f) => visibleFieldSet.has(f)),
4180
4094
  [pinnedColumns?.left, visibleFieldSet]
4181
4095
  );
4182
- const effectivePinnedRight = (0, import_react27.useMemo)(
4096
+ const effectivePinnedRight = (0, import_react26.useMemo)(
4183
4097
  () => pinnedColumns?.right?.filter((f) => visibleFieldSet.has(f)),
4184
4098
  [pinnedColumns?.right, visibleFieldSet]
4185
4099
  );
4186
4100
  const inferredFieldsKey = JSON.stringify(Object.keys(rows[0] || {}));
4187
- const inferredFields = (0, import_react27.useMemo)(() => JSON.parse(inferredFieldsKey), [inferredFieldsKey]);
4188
- const columns = (0, import_react27.useMemo)(() => {
4101
+ const inferredFields = (0, import_react26.useMemo)(() => JSON.parse(inferredFieldsKey), [inferredFieldsKey]);
4102
+ const columns = (0, import_react26.useMemo)(() => {
4189
4103
  const baseColumns = visibleColumns.length > 0 ? visibleColumns : reorderedColumns.length > 0 ? [] : inferredFields.map((key) => ({
4190
4104
  field: key
4191
4105
  }));
4192
- return baseColumns.map((column, index) => {
4193
- const columnId = columnIds[index] ?? String(column.field);
4106
+ return baseColumns.map((column) => {
4194
4107
  const isLeftPinned = effectivePinnedLeft?.includes(column.field);
4195
4108
  const isRightPinned = effectivePinnedRight?.includes(column.field);
4196
4109
  const isPinned = isLeftPinned || isRightPinned;
4197
4110
  return {
4198
4111
  ...column,
4199
- columnId,
4200
- headerRef: visibleColumnsById[columnId]?.headerRef,
4201
- tableColRef: visibleColumnsById[columnId]?.tableColRef,
4112
+ headerRef: visibleColumnsByField[column.field]?.headerRef,
4113
+ tableColRef: visibleColumnsByField[column.field]?.tableColRef,
4202
4114
  isCellEditable: editMode && (typeof column.isCellEditable === "function" ? column.isCellEditable : column.isCellEditable ?? true),
4203
4115
  sort: sortModel.find((sort) => sort.field === column.field)?.sort,
4204
4116
  sortOrder: allColumnsByField[column.field]?.sortOrder || sortOrder,
@@ -4215,22 +4127,21 @@ function useDataTableRenderer({
4215
4127
  inferredFields,
4216
4128
  effectivePinnedLeft,
4217
4129
  effectivePinnedRight,
4218
- columnIds,
4219
- visibleColumnsById,
4130
+ visibleColumnsByField,
4220
4131
  allColumnsByField,
4221
4132
  editMode,
4222
4133
  sortModel,
4223
4134
  sortOrder,
4224
4135
  getWidth
4225
4136
  ]);
4226
- const handlePageChange = (0, import_react27.useCallback)(
4137
+ const handlePageChange = (0, import_react26.useCallback)(
4227
4138
  (newPage) => {
4228
4139
  setPage(newPage);
4229
4140
  onPaginationModelChange?.({ page: newPage, pageSize });
4230
4141
  },
4231
4142
  [onPaginationModelChange, pageSize]
4232
4143
  );
4233
- const handleSortChange = (0, import_react27.useCallback)(
4144
+ const handleSortChange = (0, import_react26.useCallback)(
4234
4145
  (props) => {
4235
4146
  const { field, currentSort, multiple } = props;
4236
4147
  const column = allColumnsByField[field];
@@ -4253,37 +4164,38 @@ function useDataTableRenderer({
4253
4164
  },
4254
4165
  [sortOrder, allColumnsByField, sortModel, setSortModel]
4255
4166
  );
4256
- (0, import_react27.useEffect)(() => {
4167
+ (0, import_react26.useEffect)(() => {
4257
4168
  if (!paginationModel) {
4258
4169
  handlePageChange(1);
4259
4170
  }
4260
4171
  }, [rowCount, handlePageChange, paginationModel]);
4261
- (0, import_react27.useEffect)(() => {
4172
+ (0, import_react26.useEffect)(() => {
4262
4173
  const lastPage = Math.max(1, Math.ceil(rowCount / pageSize));
4263
4174
  if (page > lastPage) {
4264
4175
  handlePageChange(lastPage);
4265
4176
  }
4266
4177
  }, [page, rowCount, pageSize, handlePageChange]);
4267
- (0, import_react27.useEffect)(() => {
4178
+ (0, import_react26.useEffect)(() => {
4268
4179
  onSelectionModelChangeRef.current?.([]);
4269
4180
  setSelectionAnchor(null);
4270
4181
  }, [page]);
4271
- const prevRowsRef = (0, import_react27.useRef)(_rows);
4272
- (0, import_react27.useEffect)(() => {
4182
+ const prevRowsRef = (0, import_react26.useRef)(_rows);
4183
+ (0, import_react26.useEffect)(() => {
4273
4184
  if (prevRowsRef.current !== _rows) {
4274
4185
  setSelectionAnchor(null);
4275
4186
  prevRowsRef.current = _rows;
4276
4187
  }
4277
4188
  }, [_rows]);
4278
- const handleAutoFit = (0, import_react27.useCallback)(
4279
- (columnId) => {
4280
- const colDef = visibleColumnsById[columnId];
4189
+ const handleAutoFit = (0, import_react26.useCallback)(
4190
+ (field) => {
4191
+ const colDef = visibleColumnsByField[field];
4281
4192
  if (!colDef?.headerRef.current) return;
4282
- const columnType = "type" in colDef ? colDef.type : void 0;
4193
+ const column = allColumnsByField[field];
4194
+ const columnType = column && "type" in column ? column.type : void 0;
4283
4195
  if (columnType === "actions") return;
4284
4196
  const optimalWidth = computeAutoFitWidth({
4285
4197
  headerEl: colDef.headerRef.current,
4286
- field: colDef.field,
4198
+ field,
4287
4199
  dataInPage
4288
4200
  });
4289
4201
  if (optimalWidth == null) return;
@@ -4291,7 +4203,7 @@ function useDataTableRenderer({
4291
4203
  colDef.headerRef.current.style.width = widthPx;
4292
4204
  if (colDef.tableColRef.current) colDef.tableColRef.current.style.width = widthPx;
4293
4205
  },
4294
- [visibleColumnsById, dataInPage]
4206
+ [visibleColumnsByField, allColumnsByField, dataInPage]
4295
4207
  );
4296
4208
  return {
4297
4209
  rowCount,
@@ -4307,8 +4219,8 @@ function useDataTableRenderer({
4307
4219
  handleAutoFit,
4308
4220
  isAllSelected,
4309
4221
  isTotalSelected,
4310
- isSelectedRow: (0, import_react27.useCallback)((model) => selectedModelSet.has(model), [selectedModelSet]),
4311
- isRowSelectable: (0, import_react27.useCallback)(
4222
+ isSelectedRow: (0, import_react26.useCallback)((model) => selectedModelSet.has(model), [selectedModelSet]),
4223
+ isRowSelectable: (0, import_react26.useCallback)(
4312
4224
  (rowId, row) => {
4313
4225
  if (!isRowSelectable) return true;
4314
4226
  return isRowSelectable({ row, id: rowId });
@@ -4316,13 +4228,13 @@ function useDataTableRenderer({
4316
4228
  [isRowSelectable]
4317
4229
  ),
4318
4230
  focusedRowId,
4319
- onRowFocus: (0, import_react27.useCallback)((rowId) => {
4231
+ onRowFocus: (0, import_react26.useCallback)((rowId) => {
4320
4232
  setFocusedRowId(rowId);
4321
4233
  }, []),
4322
- onAllCheckboxChange: (0, import_react27.useCallback)(() => {
4234
+ onAllCheckboxChange: (0, import_react26.useCallback)(() => {
4323
4235
  onSelectionModelChange?.(isAllSelected ? [] : selectableDataInPage.map(getId));
4324
4236
  }, [isAllSelected, selectableDataInPage, onSelectionModelChange, getId]),
4325
- onCheckboxChange: (0, import_react27.useCallback)(
4237
+ onCheckboxChange: (0, import_react26.useCallback)(
4326
4238
  (event, selectedModel) => {
4327
4239
  const isShiftClick = "shiftKey" in event && event.shiftKey;
4328
4240
  const rowIndex = dataInPage.findIndex((row, i) => getId(row, i) === selectedModel);
@@ -4356,7 +4268,7 @@ function useDataTableRenderer({
4356
4268
  columns,
4357
4269
  tableMinWidth,
4358
4270
  processedColumnGroups,
4359
- onTotalSelect: (0, import_react27.useCallback)(() => {
4271
+ onTotalSelect: (0, import_react26.useCallback)(() => {
4360
4272
  const selectableRows = rows.filter((row, i) => {
4361
4273
  if (!isRowSelectable) return true;
4362
4274
  return isRowSelectable({ row, id: getId(row, i) });
@@ -4370,11 +4282,11 @@ function useDataTableRenderer({
4370
4282
  }
4371
4283
 
4372
4284
  // src/components/Table/Table.tsx
4373
- var import_react28 = __toESM(require("react"));
4285
+ var import_react27 = __toESM(require("react"));
4374
4286
  var import_joy35 = require("@mui/joy");
4375
4287
  var Table = (props) => {
4376
4288
  const { children, ...inheritProps } = props;
4377
- return /* @__PURE__ */ import_react28.default.createElement(import_joy35.Table, { ...inheritProps }, children);
4289
+ return /* @__PURE__ */ import_react27.default.createElement(import_joy35.Table, { ...inheritProps }, children);
4378
4290
  };
4379
4291
  Table.displayName = "Table";
4380
4292
  function TableHead(props) {
@@ -4385,7 +4297,7 @@ function TableHead(props) {
4385
4297
  slots: { checkbox: RenderCheckbox = Checkbox_default } = {},
4386
4298
  slotProps: { checkbox: checkboxProps = {} } = {}
4387
4299
  } = props;
4388
- return /* @__PURE__ */ import_react28.default.createElement("thead", null, /* @__PURE__ */ import_react28.default.createElement("tr", null, showCheckbox && /* @__PURE__ */ import_react28.default.createElement(
4300
+ return /* @__PURE__ */ import_react27.default.createElement("thead", null, /* @__PURE__ */ import_react27.default.createElement("tr", null, showCheckbox && /* @__PURE__ */ import_react27.default.createElement(
4389
4301
  "th",
4390
4302
  {
4391
4303
  style: {
@@ -4393,8 +4305,8 @@ function TableHead(props) {
4393
4305
  textAlign: "center"
4394
4306
  }
4395
4307
  },
4396
- /* @__PURE__ */ import_react28.default.createElement(RenderCheckbox, { onChange: onCheckboxChange, ...checkboxProps })
4397
- ), headCells.map((headCell) => /* @__PURE__ */ import_react28.default.createElement(
4308
+ /* @__PURE__ */ import_react27.default.createElement(RenderCheckbox, { onChange: onCheckboxChange, ...checkboxProps })
4309
+ ), headCells.map((headCell) => /* @__PURE__ */ import_react27.default.createElement(
4398
4310
  "th",
4399
4311
  {
4400
4312
  key: headCell.label,
@@ -4419,15 +4331,15 @@ function TableBody(props) {
4419
4331
  slots: { checkbox: RenderCheckbox = Checkbox_default } = {},
4420
4332
  slotProps: { checkbox: checkboxProps = {} } = {}
4421
4333
  } = props;
4422
- return /* @__PURE__ */ import_react28.default.createElement("tbody", null, rows.map((row, rowIndex) => /* @__PURE__ */ import_react28.default.createElement("tr", { key: `table-row-${rowIndex}` }, showCheckbox && /* @__PURE__ */ import_react28.default.createElement(
4334
+ return /* @__PURE__ */ import_react27.default.createElement("tbody", null, rows.map((row, rowIndex) => /* @__PURE__ */ import_react27.default.createElement("tr", { key: `table-row-${rowIndex}` }, showCheckbox && /* @__PURE__ */ import_react27.default.createElement(
4423
4335
  "td",
4424
4336
  {
4425
4337
  style: {
4426
4338
  textAlign: "center"
4427
4339
  }
4428
4340
  },
4429
- /* @__PURE__ */ import_react28.default.createElement(RenderCheckbox, { onChange: (event) => onCheckboxChange?.(event, rowIndex), ...checkboxProps })
4430
- ), cellOrder.map((cellKey) => /* @__PURE__ */ import_react28.default.createElement(
4341
+ /* @__PURE__ */ import_react27.default.createElement(RenderCheckbox, { onChange: (event) => onCheckboxChange?.(event, rowIndex), ...checkboxProps })
4342
+ ), cellOrder.map((cellKey) => /* @__PURE__ */ import_react27.default.createElement(
4431
4343
  "td",
4432
4344
  {
4433
4345
  key: cellKey,
@@ -4441,7 +4353,7 @@ function TableBody(props) {
4441
4353
  TableBody.displayName = "TableBody";
4442
4354
 
4443
4355
  // src/components/Pagination/Pagination.tsx
4444
- var import_react29 = __toESM(require("react"));
4356
+ var import_react28 = __toESM(require("react"));
4445
4357
  var import_ChevronLeftRounded = __toESM(require("@mui/icons-material/ChevronLeftRounded"));
4446
4358
  var import_ChevronRightRounded = __toESM(require("@mui/icons-material/ChevronRightRounded"));
4447
4359
  var import_FirstPageRounded = __toESM(require("@mui/icons-material/FirstPageRounded"));
@@ -4511,7 +4423,7 @@ function Pagination(inProps) {
4511
4423
  const [paginationModel, setPaginationModel] = useControlledState(
4512
4424
  _paginationModel,
4513
4425
  defaultPaginationModel,
4514
- (0, import_react29.useCallback)(
4426
+ (0, import_react28.useCallback)(
4515
4427
  (newPage) => {
4516
4428
  onPageChange(newPage.page);
4517
4429
  },
@@ -4527,7 +4439,7 @@ function Pagination(inProps) {
4527
4439
  const afterPages = [paginationModel.page + 1, paginationModel.page + 2].filter((p) => p <= lastPage - 1);
4528
4440
  const isMoreAfterPages = lastPage > 1 && paginationModel.page < lastPage - 3;
4529
4441
  const isMoreBeforePages = lastPage > 1 && paginationModel.page > 4;
4530
- (0, import_react29.useEffect)(() => {
4442
+ (0, import_react28.useEffect)(() => {
4531
4443
  if (paginationModel.page > lastPage) {
4532
4444
  setPaginationModel({ ...paginationModel, page: lastPage });
4533
4445
  }
@@ -4537,7 +4449,7 @@ function Pagination(inProps) {
4537
4449
  value: `${i + 1}`
4538
4450
  }));
4539
4451
  if (variant === "compact") {
4540
- return /* @__PURE__ */ import_react29.default.createElement(PaginationRoot, { ...innerProps }, /* @__PURE__ */ import_react29.default.createElement(PaginationContainer, { direction: "row", size, alignItems: "center" }, /* @__PURE__ */ import_react29.default.createElement(Stack_default, { direction: "row" }, /* @__PURE__ */ import_react29.default.createElement(
4452
+ return /* @__PURE__ */ import_react28.default.createElement(PaginationRoot, { ...innerProps }, /* @__PURE__ */ import_react28.default.createElement(PaginationContainer, { direction: "row", size, alignItems: "center" }, /* @__PURE__ */ import_react28.default.createElement(Stack_default, { direction: "row" }, /* @__PURE__ */ import_react28.default.createElement(
4541
4453
  PaginationIconButton,
4542
4454
  {
4543
4455
  size,
@@ -4547,8 +4459,8 @@ function Pagination(inProps) {
4547
4459
  disabled: paginationModel.page === firstPage,
4548
4460
  "aria-label": "First page"
4549
4461
  },
4550
- /* @__PURE__ */ import_react29.default.createElement(import_FirstPageRounded.default, null)
4551
- ), /* @__PURE__ */ import_react29.default.createElement(
4462
+ /* @__PURE__ */ import_react28.default.createElement(import_FirstPageRounded.default, null)
4463
+ ), /* @__PURE__ */ import_react28.default.createElement(
4552
4464
  PaginationIconButton,
4553
4465
  {
4554
4466
  size,
@@ -4558,8 +4470,8 @@ function Pagination(inProps) {
4558
4470
  disabled: paginationModel.page === firstPage,
4559
4471
  "aria-label": "Previous page"
4560
4472
  },
4561
- /* @__PURE__ */ import_react29.default.createElement(import_ChevronLeftRounded.default, null)
4562
- )), /* @__PURE__ */ import_react29.default.createElement(
4473
+ /* @__PURE__ */ import_react28.default.createElement(import_ChevronLeftRounded.default, null)
4474
+ )), /* @__PURE__ */ import_react28.default.createElement(
4563
4475
  Autocomplete_default,
4564
4476
  {
4565
4477
  size,
@@ -4578,7 +4490,7 @@ function Pagination(inProps) {
4578
4490
  }[size]
4579
4491
  }
4580
4492
  }
4581
- ), /* @__PURE__ */ import_react29.default.createElement(
4493
+ ), /* @__PURE__ */ import_react28.default.createElement(
4582
4494
  Typography_default,
4583
4495
  {
4584
4496
  level: `body-${size}`,
@@ -4589,7 +4501,7 @@ function Pagination(inProps) {
4589
4501
  },
4590
4502
  "/ ",
4591
4503
  lastPage
4592
- ), /* @__PURE__ */ import_react29.default.createElement(Stack_default, { direction: "row" }, /* @__PURE__ */ import_react29.default.createElement(
4504
+ ), /* @__PURE__ */ import_react28.default.createElement(Stack_default, { direction: "row" }, /* @__PURE__ */ import_react28.default.createElement(
4593
4505
  PaginationIconButton,
4594
4506
  {
4595
4507
  size,
@@ -4599,8 +4511,8 @@ function Pagination(inProps) {
4599
4511
  disabled: paginationModel.page === lastPage,
4600
4512
  "aria-label": "Next page"
4601
4513
  },
4602
- /* @__PURE__ */ import_react29.default.createElement(import_ChevronRightRounded.default, null)
4603
- ), /* @__PURE__ */ import_react29.default.createElement(
4514
+ /* @__PURE__ */ import_react28.default.createElement(import_ChevronRightRounded.default, null)
4515
+ ), /* @__PURE__ */ import_react28.default.createElement(
4604
4516
  PaginationIconButton,
4605
4517
  {
4606
4518
  size,
@@ -4610,10 +4522,10 @@ function Pagination(inProps) {
4610
4522
  disabled: paginationModel.page === lastPage,
4611
4523
  "aria-label": "Last page"
4612
4524
  },
4613
- /* @__PURE__ */ import_react29.default.createElement(import_LastPageRounded.default, null)
4525
+ /* @__PURE__ */ import_react28.default.createElement(import_LastPageRounded.default, null)
4614
4526
  ))));
4615
4527
  }
4616
- return /* @__PURE__ */ import_react29.default.createElement(PaginationRoot, { ...innerProps }, /* @__PURE__ */ import_react29.default.createElement(PaginationContainer, { direction: "row", size, alignItems: "center" }, /* @__PURE__ */ import_react29.default.createElement(
4528
+ return /* @__PURE__ */ import_react28.default.createElement(PaginationRoot, { ...innerProps }, /* @__PURE__ */ import_react28.default.createElement(PaginationContainer, { direction: "row", size, alignItems: "center" }, /* @__PURE__ */ import_react28.default.createElement(
4617
4529
  PaginationIconButton,
4618
4530
  {
4619
4531
  size,
@@ -4623,8 +4535,8 @@ function Pagination(inProps) {
4623
4535
  disabled: paginationModel.page === firstPage,
4624
4536
  "aria-label": "Previous page"
4625
4537
  },
4626
- /* @__PURE__ */ import_react29.default.createElement(import_ChevronLeftRounded.default, null)
4627
- ), paginationModel.page !== firstPage && /* @__PURE__ */ import_react29.default.createElement(PaginationButton, { size, variant: "plain", color: "neutral", onClick: () => handlePageChange(firstPage) }, firstPage), isMoreBeforePages && /* @__PURE__ */ import_react29.default.createElement(
4538
+ /* @__PURE__ */ import_react28.default.createElement(import_ChevronLeftRounded.default, null)
4539
+ ), paginationModel.page !== firstPage && /* @__PURE__ */ import_react28.default.createElement(PaginationButton, { size, variant: "plain", color: "neutral", onClick: () => handlePageChange(firstPage) }, firstPage), isMoreBeforePages && /* @__PURE__ */ import_react28.default.createElement(
4628
4540
  PaginationButton,
4629
4541
  {
4630
4542
  size,
@@ -4634,7 +4546,7 @@ function Pagination(inProps) {
4634
4546
  "aria-label": "More previous pages"
4635
4547
  },
4636
4548
  "..."
4637
- ), beforePages.map((p) => /* @__PURE__ */ import_react29.default.createElement(PaginationButton, { key: p, size, variant: "plain", color: "neutral", onClick: () => handlePageChange(p) }, p)), /* @__PURE__ */ import_react29.default.createElement(PaginationButton, { active: "active", size, "aria-current": "page" }, paginationModel.page), afterPages.map((p) => /* @__PURE__ */ import_react29.default.createElement(PaginationButton, { key: p, size, variant: "plain", color: "neutral", onClick: () => handlePageChange(p) }, p)), isMoreAfterPages && /* @__PURE__ */ import_react29.default.createElement(
4549
+ ), beforePages.map((p) => /* @__PURE__ */ import_react28.default.createElement(PaginationButton, { key: p, size, variant: "plain", color: "neutral", onClick: () => handlePageChange(p) }, p)), /* @__PURE__ */ import_react28.default.createElement(PaginationButton, { active: "active", size, "aria-current": "page" }, paginationModel.page), afterPages.map((p) => /* @__PURE__ */ import_react28.default.createElement(PaginationButton, { key: p, size, variant: "plain", color: "neutral", onClick: () => handlePageChange(p) }, p)), isMoreAfterPages && /* @__PURE__ */ import_react28.default.createElement(
4638
4550
  PaginationButton,
4639
4551
  {
4640
4552
  size,
@@ -4644,7 +4556,7 @@ function Pagination(inProps) {
4644
4556
  onClick: () => handlePageChange(paginationModel.page + 3)
4645
4557
  },
4646
4558
  "..."
4647
- ), paginationModel.page !== lastPage && /* @__PURE__ */ import_react29.default.createElement(PaginationButton, { size, variant: "plain", color: "neutral", onClick: () => handlePageChange(lastPage) }, lastPage), /* @__PURE__ */ import_react29.default.createElement(
4559
+ ), paginationModel.page !== lastPage && /* @__PURE__ */ import_react28.default.createElement(PaginationButton, { size, variant: "plain", color: "neutral", onClick: () => handlePageChange(lastPage) }, lastPage), /* @__PURE__ */ import_react28.default.createElement(
4648
4560
  PaginationIconButton,
4649
4561
  {
4650
4562
  size,
@@ -4654,7 +4566,7 @@ function Pagination(inProps) {
4654
4566
  disabled: paginationModel.page === lastPage,
4655
4567
  "aria-label": "Next page"
4656
4568
  },
4657
- /* @__PURE__ */ import_react29.default.createElement(import_ChevronRightRounded.default, null)
4569
+ /* @__PURE__ */ import_react28.default.createElement(import_ChevronRightRounded.default, null)
4658
4570
  )));
4659
4571
  }
4660
4572
  Pagination.displayName = "Pagination";
@@ -4728,9 +4640,9 @@ function Component(props, apiRef) {
4728
4640
  isTotalSelected: ___________,
4729
4641
  ...innerProps
4730
4642
  } = props;
4731
- const tableId = (0, import_react30.useId)();
4732
- const parentRef = (0, import_react30.useRef)(null);
4733
- const tableBodyRef = (0, import_react30.useRef)(null);
4643
+ const tableId = (0, import_react29.useId)();
4644
+ const parentRef = (0, import_react29.useRef)(null);
4645
+ const tableBodyRef = (0, import_react29.useRef)(null);
4734
4646
  const {
4735
4647
  columns,
4736
4648
  processedColumnGroups,
@@ -4766,10 +4678,10 @@ function Component(props, apiRef) {
4766
4678
  measureElement: (element) => element.clientHeight,
4767
4679
  overscan: 10
4768
4680
  });
4769
- const paginationModel = (0, import_react30.useMemo)(() => ({ page, pageSize }), [page, pageSize]);
4681
+ const paginationModel = (0, import_react29.useMemo)(() => ({ page, pageSize }), [page, pageSize]);
4770
4682
  const columnsKey = getObjectVersion(columns);
4771
- const headerCheckboxElement = (0, import_react30.useMemo)(
4772
- () => /* @__PURE__ */ import_react30.default.createElement(
4683
+ const headerCheckboxElement = (0, import_react29.useMemo)(
4684
+ () => /* @__PURE__ */ import_react29.default.createElement(
4773
4685
  RenderCheckbox,
4774
4686
  {
4775
4687
  onChange: onAllCheckboxChange,
@@ -4794,20 +4706,20 @@ function Component(props, apiRef) {
4794
4706
  const showNoRowsOverlay = !loading && rowCount === 0;
4795
4707
  const showFillerColumn = columns.length > 0 && columns.every((c) => !!c.width);
4796
4708
  const totalColCount = Math.max(1, columns.length + (checkboxSelection ? 1 : 0) + (showFillerColumn ? 1 : 0));
4797
- const getRowClickHandler = (0, import_react30.useCallback)(
4709
+ const getRowClickHandler = (0, import_react29.useCallback)(
4798
4710
  (row, rowId) => (e) => {
4799
4711
  onRowClick?.({ row, rowId }, e);
4800
4712
  checkboxSelection && !disableSelectionOnClick && isRowSelectableCheck(rowId, row) && onCheckboxChange(e, rowId);
4801
4713
  },
4802
4714
  [onRowClick, checkboxSelection, disableSelectionOnClick, onCheckboxChange, isRowSelectableCheck]
4803
4715
  );
4804
- const getRowFocusHandler = (0, import_react30.useCallback)(
4716
+ const getRowFocusHandler = (0, import_react29.useCallback)(
4805
4717
  (rowId) => () => {
4806
4718
  onRowFocus(rowId);
4807
4719
  },
4808
4720
  [onRowFocus]
4809
4721
  );
4810
- const getCheckboxClickHandler = (0, import_react30.useCallback)(
4722
+ const getCheckboxClickHandler = (0, import_react29.useCallback)(
4811
4723
  (rowId, row) => (e) => {
4812
4724
  e.stopPropagation();
4813
4725
  if (isRowSelectableCheck(rowId, row)) {
@@ -4817,7 +4729,7 @@ function Component(props, apiRef) {
4817
4729
  },
4818
4730
  [onCheckboxChange, isRowSelectableCheck, onRowFocus]
4819
4731
  );
4820
- const handleTableKeyDown = (0, import_react30.useCallback)(
4732
+ const handleTableKeyDown = (0, import_react29.useCallback)(
4821
4733
  (e) => {
4822
4734
  const supportedKeys = ["ArrowUp", "ArrowDown", " ", "Home", "End", "PageUp", "PageDown"];
4823
4735
  if (!supportedKeys.includes(e.key)) return;
@@ -4907,7 +4819,7 @@ function Component(props, apiRef) {
4907
4819
  virtualizer
4908
4820
  ]
4909
4821
  );
4910
- (0, import_react30.useImperativeHandle)(apiRef, () => ({
4822
+ (0, import_react29.useImperativeHandle)(apiRef, () => ({
4911
4823
  getRowIndexRelativeToVisibleRows(rowId) {
4912
4824
  return dataInPage.findIndex((row) => String(getId(row)) === rowId);
4913
4825
  },
@@ -4923,7 +4835,7 @@ function Component(props, apiRef) {
4923
4835
  });
4924
4836
  }
4925
4837
  }));
4926
- return /* @__PURE__ */ import_react30.default.createElement(
4838
+ return /* @__PURE__ */ import_react29.default.createElement(
4927
4839
  Box_default,
4928
4840
  {
4929
4841
  sx: {
@@ -4933,7 +4845,7 @@ function Component(props, apiRef) {
4933
4845
  flexDirection: "column"
4934
4846
  }
4935
4847
  },
4936
- (!!checkboxSelection || !!Toolbar) && /* @__PURE__ */ import_react30.default.createElement(
4848
+ (!!checkboxSelection || !!Toolbar) && /* @__PURE__ */ import_react29.default.createElement(
4937
4849
  Stack_default,
4938
4850
  {
4939
4851
  direction: "row",
@@ -4943,10 +4855,10 @@ function Component(props, apiRef) {
4943
4855
  justifyContent: "space-between",
4944
4856
  alignItems: "center"
4945
4857
  },
4946
- !!checkboxSelection && /* @__PURE__ */ import_react30.default.createElement(Stack_default, { direction: "row", spacing: 1 }, !isAllSelected && /* @__PURE__ */ import_react30.default.createElement(Typography_default, { level: "body-xs" }, numberFormatter(selectionModel?.length || 0), " items selected"), isAllSelected && !isTotalSelected && /* @__PURE__ */ import_react30.default.createElement(Stack_default, { direction: "row", spacing: 1, alignItems: "center" }, /* @__PURE__ */ import_react30.default.createElement(Typography_default, { level: "body-xs" }, "All ", numberFormatter(selectionModel?.length || 0), " items on this page are selected."), /* @__PURE__ */ import_react30.default.createElement(Button_default, { size: "sm", variant: "plain", onClick: onTotalSelect }, "Select all ", numberFormatter(selectableRowCount), " items")), isTotalSelected && /* @__PURE__ */ import_react30.default.createElement(Stack_default, { direction: "row", spacing: 1, alignItems: "center" }, /* @__PURE__ */ import_react30.default.createElement(Typography_default, { level: "body-xs" }, "All ", numberFormatter(selectableRowCount), " items are selected."), /* @__PURE__ */ import_react30.default.createElement(Button_default, { size: "sm", variant: "plain", color: "danger", onClick: onTotalSelect }, "Cancel"))),
4947
- Toolbar && /* @__PURE__ */ import_react30.default.createElement(Toolbar, { ...toolbarProps || {} })
4858
+ !!checkboxSelection && /* @__PURE__ */ import_react29.default.createElement(Stack_default, { direction: "row", spacing: 1 }, !isAllSelected && /* @__PURE__ */ import_react29.default.createElement(Typography_default, { level: "body-xs" }, numberFormatter(selectionModel?.length || 0), " items selected"), isAllSelected && !isTotalSelected && /* @__PURE__ */ import_react29.default.createElement(Stack_default, { direction: "row", spacing: 1, alignItems: "center" }, /* @__PURE__ */ import_react29.default.createElement(Typography_default, { level: "body-xs" }, "All ", numberFormatter(selectionModel?.length || 0), " items on this page are selected."), /* @__PURE__ */ import_react29.default.createElement(Button_default, { size: "sm", variant: "plain", onClick: onTotalSelect }, "Select all ", numberFormatter(selectableRowCount), " items")), isTotalSelected && /* @__PURE__ */ import_react29.default.createElement(Stack_default, { direction: "row", spacing: 1, alignItems: "center" }, /* @__PURE__ */ import_react29.default.createElement(Typography_default, { level: "body-xs" }, "All ", numberFormatter(selectableRowCount), " items are selected."), /* @__PURE__ */ import_react29.default.createElement(Button_default, { size: "sm", variant: "plain", color: "danger", onClick: onTotalSelect }, "Cancel"))),
4859
+ Toolbar && /* @__PURE__ */ import_react29.default.createElement(Toolbar, { ...toolbarProps || {} })
4948
4860
  ),
4949
- /* @__PURE__ */ import_react30.default.createElement(
4861
+ /* @__PURE__ */ import_react29.default.createElement(
4950
4862
  Sheet_default,
4951
4863
  {
4952
4864
  variant: "outlined",
@@ -4967,24 +4879,24 @@ function Component(props, apiRef) {
4967
4879
  ref: parentRef,
4968
4880
  ...backgroundProps
4969
4881
  },
4970
- /* @__PURE__ */ import_react30.default.createElement(Table, { ...innerProps, sx: { ...innerProps.sx, minWidth: tableMinWidth } }, /* @__PURE__ */ import_react30.default.createElement("colgroup", null, checkboxSelection && /* @__PURE__ */ import_react30.default.createElement(
4882
+ /* @__PURE__ */ import_react29.default.createElement(Table, { ...innerProps, sx: { ...innerProps.sx, minWidth: tableMinWidth } }, /* @__PURE__ */ import_react29.default.createElement("colgroup", null, checkboxSelection && /* @__PURE__ */ import_react29.default.createElement(
4971
4883
  "col",
4972
4884
  {
4973
4885
  style: {
4974
4886
  width: "40px"
4975
4887
  }
4976
4888
  }
4977
- ), columns.map((c) => /* @__PURE__ */ import_react30.default.createElement(
4889
+ ), columns.map((c) => /* @__PURE__ */ import_react29.default.createElement(
4978
4890
  "col",
4979
4891
  {
4980
4892
  ref: c.tableColRef,
4981
- key: c.columnId,
4893
+ key: `${c.field.toString()}_${c.width}`,
4982
4894
  style: {
4983
4895
  width: c.width,
4984
4896
  minWidth: c.minWidth ?? "50px"
4985
4897
  }
4986
4898
  }
4987
- )), showFillerColumn && /* @__PURE__ */ import_react30.default.createElement("col", { style: { minWidth: 0 } })), /* @__PURE__ */ import_react30.default.createElement("thead", null, processedColumnGroups && processedColumnGroups.groups.length > 0 && processedColumnGroups.groups.map((levelGroups, level) => /* @__PURE__ */ import_react30.default.createElement("tr", { key: `group-level-${level}` }, checkboxSelection && level === 0 && /* @__PURE__ */ import_react30.default.createElement(
4899
+ )), showFillerColumn && /* @__PURE__ */ import_react29.default.createElement("col", { style: { minWidth: 0 } })), /* @__PURE__ */ import_react29.default.createElement("thead", null, processedColumnGroups && processedColumnGroups.groups.length > 0 && processedColumnGroups.groups.map((levelGroups, level) => /* @__PURE__ */ import_react29.default.createElement("tr", { key: `group-level-${level}` }, checkboxSelection && level === 0 && /* @__PURE__ */ import_react29.default.createElement(
4988
4900
  "th",
4989
4901
  {
4990
4902
  rowSpan: processedColumnGroups.maxLevel + 2,
@@ -4995,12 +4907,12 @@ function Component(props, apiRef) {
4995
4907
  }
4996
4908
  },
4997
4909
  headerCheckboxElement
4998
- ), level > 0 && Array.from({ length: levelGroups[0]?.startIndex || 0 }).map((_2, i) => /* @__PURE__ */ import_react30.default.createElement("th", { key: `empty-${level}-${i}` })), levelGroups.filter((g) => g.colspan > 0).map((group, groupIndex) => {
4910
+ ), level > 0 && Array.from({ length: levelGroups[0]?.startIndex || 0 }).map((_2, i) => /* @__PURE__ */ import_react29.default.createElement("th", { key: `empty-${level}-${i}` })), levelGroups.filter((g) => g.colspan > 0).map((group, groupIndex) => {
4999
4911
  const nextGroup = levelGroups[groupIndex + 1];
5000
4912
  const emptyCells = nextGroup ? nextGroup.startIndex - (group.startIndex + group.colspan) : columns.length - (group.startIndex + group.colspan);
5001
4913
  const params = { groupId: group.groupId };
5002
4914
  const computedHeaderClassName = group.headerClassName ? typeof group.headerClassName === "function" ? group.headerClassName(params) : group.headerClassName : void 0;
5003
- return /* @__PURE__ */ import_react30.default.createElement(import_react30.Fragment, { key: group.groupId }, /* @__PURE__ */ import_react30.default.createElement(
4915
+ return /* @__PURE__ */ import_react29.default.createElement(import_react29.Fragment, { key: group.groupId }, /* @__PURE__ */ import_react29.default.createElement(
5004
4916
  "th",
5005
4917
  {
5006
4918
  colSpan: group.colspan,
@@ -5012,14 +4924,14 @@ function Component(props, apiRef) {
5012
4924
  className: computedHeaderClassName
5013
4925
  },
5014
4926
  group.headerName ?? group.groupId
5015
- ), emptyCells > 0 && Array.from({ length: emptyCells }).map((_2, i) => /* @__PURE__ */ import_react30.default.createElement("th", { key: `empty-between-${level}-${groupIndex}-${i}`, colSpan: 1 })));
5016
- }), showFillerColumn && level === 0 && /* @__PURE__ */ import_react30.default.createElement(
4927
+ ), emptyCells > 0 && Array.from({ length: emptyCells }).map((_2, i) => /* @__PURE__ */ import_react29.default.createElement("th", { key: `empty-between-${level}-${groupIndex}-${i}`, colSpan: 1 })));
4928
+ }), showFillerColumn && level === 0 && /* @__PURE__ */ import_react29.default.createElement(
5017
4929
  "th",
5018
4930
  {
5019
4931
  "aria-hidden": "true",
5020
4932
  rowSpan: processedColumnGroups.maxLevel + 2
5021
4933
  }
5022
- ))), /* @__PURE__ */ import_react30.default.createElement("tr", null, (!processedColumnGroups || processedColumnGroups.groups.length === 0) && checkboxSelection && /* @__PURE__ */ import_react30.default.createElement(
4934
+ ))), /* @__PURE__ */ import_react29.default.createElement("tr", null, (!processedColumnGroups || processedColumnGroups.groups.length === 0) && checkboxSelection && /* @__PURE__ */ import_react29.default.createElement(
5023
4935
  "th",
5024
4936
  {
5025
4937
  style: {
@@ -5030,7 +4942,7 @@ function Component(props, apiRef) {
5030
4942
  headerCheckboxElement
5031
4943
  ), columns.map((c, i) => (
5032
4944
  // @ts-ignore
5033
- /* @__PURE__ */ import_react30.default.createElement(
4945
+ /* @__PURE__ */ import_react29.default.createElement(
5034
4946
  HeadCell2,
5035
4947
  {
5036
4948
  tableId,
@@ -5042,7 +4954,7 @@ function Component(props, apiRef) {
5042
4954
  ...c
5043
4955
  }
5044
4956
  )
5045
- )), showFillerColumn && (!processedColumnGroups || processedColumnGroups.groups.length === 0) && /* @__PURE__ */ import_react30.default.createElement("th", { "aria-hidden": "true" }))), /* @__PURE__ */ import_react30.default.createElement(
4957
+ )), showFillerColumn && (!processedColumnGroups || processedColumnGroups.groups.length === 0) && /* @__PURE__ */ import_react29.default.createElement("th", { "aria-hidden": "true" }))), /* @__PURE__ */ import_react29.default.createElement(
5046
4958
  VirtualizedTableBody,
5047
4959
  {
5048
4960
  ref: tableBodyRef,
@@ -5053,7 +4965,7 @@ function Component(props, apiRef) {
5053
4965
  role: "rowgroup",
5054
4966
  "aria-label": "DataTableBody"
5055
4967
  },
5056
- !!loading && /* @__PURE__ */ import_react30.default.createElement(OverlayWrapper, null, /* @__PURE__ */ import_react30.default.createElement(
4968
+ !!loading && /* @__PURE__ */ import_react29.default.createElement(OverlayWrapper, null, /* @__PURE__ */ import_react29.default.createElement(
5057
4969
  "td",
5058
4970
  {
5059
4971
  style: {
@@ -5062,7 +4974,7 @@ function Component(props, apiRef) {
5062
4974
  overflow: "visible"
5063
4975
  }
5064
4976
  },
5065
- /* @__PURE__ */ import_react30.default.createElement(
4977
+ /* @__PURE__ */ import_react29.default.createElement(
5066
4978
  Box_default,
5067
4979
  {
5068
4980
  sx: {
@@ -5072,10 +4984,10 @@ function Component(props, apiRef) {
5072
4984
  right: 0
5073
4985
  }
5074
4986
  },
5075
- /* @__PURE__ */ import_react30.default.createElement(LoadingOverlay, null)
4987
+ /* @__PURE__ */ import_react29.default.createElement(LoadingOverlay, null)
5076
4988
  )
5077
4989
  )),
5078
- showNoRowsOverlay && /* @__PURE__ */ import_react30.default.createElement("tr", null, /* @__PURE__ */ import_react30.default.createElement("td", { colSpan: totalColCount, style: { border: "none" } }, /* @__PURE__ */ import_react30.default.createElement(
4990
+ showNoRowsOverlay && /* @__PURE__ */ import_react29.default.createElement("tr", null, /* @__PURE__ */ import_react29.default.createElement("td", { colSpan: totalColCount, style: { border: "none" } }, /* @__PURE__ */ import_react29.default.createElement(
5079
4991
  Box_default,
5080
4992
  {
5081
4993
  sx: {
@@ -5085,14 +4997,14 @@ function Component(props, apiRef) {
5085
4997
  minHeight: "150px"
5086
4998
  }
5087
4999
  },
5088
- /* @__PURE__ */ import_react30.default.createElement(NoRowsOverlay, { ...noRowsOverlayProps })
5000
+ /* @__PURE__ */ import_react29.default.createElement(NoRowsOverlay, { ...noRowsOverlayProps })
5089
5001
  ))),
5090
5002
  virtualizedItems.map((virtualizedRow, index) => {
5091
5003
  const rowIndex = virtualizedRow.index;
5092
5004
  const row = dataInPage[rowIndex];
5093
5005
  const rowId = getId(row, rowIndex);
5094
5006
  const striped = stripe && (stripe === "even" && (rowIndex + 1) % 2 === 0 || stripe === "odd" && (rowIndex + 1) % 2 === 1);
5095
- return /* @__PURE__ */ import_react30.default.createElement(
5007
+ return /* @__PURE__ */ import_react29.default.createElement(
5096
5008
  VirtualizedTableRow,
5097
5009
  {
5098
5010
  key: virtualizedRow.key,
@@ -5112,7 +5024,7 @@ function Component(props, apiRef) {
5112
5024
  transform: `translateY(${virtualizedRow.start - index * virtualizedRow.size}px)`
5113
5025
  }
5114
5026
  },
5115
- checkboxSelection && /* @__PURE__ */ import_react30.default.createElement(
5027
+ checkboxSelection && /* @__PURE__ */ import_react29.default.createElement(
5116
5028
  "th",
5117
5029
  {
5118
5030
  scope: "row",
@@ -5120,7 +5032,7 @@ function Component(props, apiRef) {
5120
5032
  textAlign: "center"
5121
5033
  }
5122
5034
  },
5123
- /* @__PURE__ */ import_react30.default.createElement(
5035
+ /* @__PURE__ */ import_react29.default.createElement(
5124
5036
  RenderCheckbox,
5125
5037
  {
5126
5038
  onClick: getCheckboxClickHandler(rowId, row),
@@ -5131,7 +5043,7 @@ function Component(props, apiRef) {
5131
5043
  }
5132
5044
  )
5133
5045
  ),
5134
- /* @__PURE__ */ import_react30.default.createElement(
5046
+ /* @__PURE__ */ import_react29.default.createElement(
5135
5047
  BodyRow2,
5136
5048
  {
5137
5049
  tableId,
@@ -5142,12 +5054,12 @@ function Component(props, apiRef) {
5142
5054
  noWrap: props.noWrap
5143
5055
  }
5144
5056
  ),
5145
- showFillerColumn && /* @__PURE__ */ import_react30.default.createElement("td", { "aria-hidden": "true" })
5057
+ showFillerColumn && /* @__PURE__ */ import_react29.default.createElement("td", { "aria-hidden": "true" })
5146
5058
  );
5147
5059
  })
5148
- ), Footer && /* @__PURE__ */ import_react30.default.createElement(Footer, null))
5060
+ ), Footer && /* @__PURE__ */ import_react29.default.createElement(Footer, null))
5149
5061
  ),
5150
- pagination && /* @__PURE__ */ import_react30.default.createElement(
5062
+ pagination && /* @__PURE__ */ import_react29.default.createElement(
5151
5063
  Pagination_default,
5152
5064
  {
5153
5065
  pt: 2,
@@ -5160,11 +5072,11 @@ function Component(props, apiRef) {
5160
5072
  )
5161
5073
  );
5162
5074
  }
5163
- var DataTable = (0, import_react30.forwardRef)(Component);
5075
+ var DataTable = (0, import_react29.forwardRef)(Component);
5164
5076
  DataTable.displayName = "DataTable";
5165
5077
 
5166
5078
  // src/components/DateRangePicker/DateRangePicker.tsx
5167
- var import_react31 = __toESM(require("react"));
5079
+ var import_react30 = __toESM(require("react"));
5168
5080
  var import_react_imask2 = require("react-imask");
5169
5081
  var import_CalendarToday2 = __toESM(require("@mui/icons-material/CalendarToday"));
5170
5082
  var import_joy37 = require("@mui/joy");
@@ -5306,9 +5218,9 @@ var parseDates = (str, format) => {
5306
5218
  var formatToPattern2 = (format) => {
5307
5219
  return `${format} - ${format}`.replace(/YYYY/g, "Y").replace(/MM/g, "M").replace(/DD/g, "D").replace(/[^YMD\s]/g, (match) => `${match}\``);
5308
5220
  };
5309
- var TextMaskAdapter5 = import_react31.default.forwardRef(function TextMaskAdapter6(props, ref) {
5221
+ var TextMaskAdapter5 = import_react30.default.forwardRef(function TextMaskAdapter6(props, ref) {
5310
5222
  const { onChange, format, ...other } = props;
5311
- return /* @__PURE__ */ import_react31.default.createElement(
5223
+ return /* @__PURE__ */ import_react30.default.createElement(
5312
5224
  import_react_imask2.IMaskInput,
5313
5225
  {
5314
5226
  ...other,
@@ -5342,7 +5254,7 @@ var TextMaskAdapter5 = import_react31.default.forwardRef(function TextMaskAdapte
5342
5254
  }
5343
5255
  );
5344
5256
  });
5345
- var DateRangePicker = (0, import_react31.forwardRef)((inProps, ref) => {
5257
+ var DateRangePicker = (0, import_react30.forwardRef)((inProps, ref) => {
5346
5258
  const props = (0, import_joy37.useThemeProps)({ props: inProps, name: "DateRangePicker" });
5347
5259
  const {
5348
5260
  onChange,
@@ -5369,28 +5281,28 @@ var DateRangePicker = (0, import_react31.forwardRef)((inProps, ref) => {
5369
5281
  numberOfMonths,
5370
5282
  ...innerProps
5371
5283
  } = props;
5372
- const innerRef = (0, import_react31.useRef)(null);
5373
- const buttonRef = (0, import_react31.useRef)(null);
5284
+ const innerRef = (0, import_react30.useRef)(null);
5285
+ const buttonRef = (0, import_react30.useRef)(null);
5374
5286
  const [rawValue, setValue] = useControlledState(
5375
5287
  props.value,
5376
5288
  props.defaultValue ?? null,
5377
- (0, import_react31.useCallback)(
5289
+ (0, import_react30.useCallback)(
5378
5290
  (value2) => onChange?.({ target: { name: props.name, value: value2 ?? "" } }),
5379
5291
  [props.name, onChange]
5380
5292
  )
5381
5293
  );
5382
5294
  const value = rawValue ?? "";
5383
5295
  const isAlphabeticDisplay = hasAlphabeticMonth2(displayFormat);
5384
- const [displayValue, setDisplayValue] = (0, import_react31.useState)(
5296
+ const [displayValue, setDisplayValue] = (0, import_react30.useState)(
5385
5297
  () => value ? formatValueString2(parseDates(value, format), displayFormat, locale) : ""
5386
5298
  );
5387
- const [anchorEl, setAnchorEl] = (0, import_react31.useState)(null);
5299
+ const [anchorEl, setAnchorEl] = (0, import_react30.useState)(null);
5388
5300
  const open = Boolean(anchorEl);
5389
- const calendarValue = (0, import_react31.useMemo)(
5301
+ const calendarValue = (0, import_react30.useMemo)(
5390
5302
  () => value ? parseDates(value, format) : void 0,
5391
5303
  [value, format]
5392
5304
  );
5393
- (0, import_react31.useEffect)(() => {
5305
+ (0, import_react30.useEffect)(() => {
5394
5306
  if (value) {
5395
5307
  try {
5396
5308
  const dates = parseDates(value, format);
@@ -5402,13 +5314,13 @@ var DateRangePicker = (0, import_react31.forwardRef)((inProps, ref) => {
5402
5314
  setDisplayValue("");
5403
5315
  }
5404
5316
  }, [displayFormat, locale, value, format]);
5405
- (0, import_react31.useEffect)(() => {
5317
+ (0, import_react30.useEffect)(() => {
5406
5318
  if (!anchorEl) {
5407
5319
  innerRef.current?.blur();
5408
5320
  }
5409
5321
  }, [anchorEl, innerRef]);
5410
- (0, import_react31.useImperativeHandle)(ref, () => innerRef.current, [innerRef]);
5411
- const handleChange = (0, import_react31.useCallback)(
5322
+ (0, import_react30.useImperativeHandle)(ref, () => innerRef.current, [innerRef]);
5323
+ const handleChange = (0, import_react30.useCallback)(
5412
5324
  (event) => {
5413
5325
  const value2 = event.target.value;
5414
5326
  setDisplayValue(value2 ? formatValueString2(parseDates(value2, format), displayFormat, locale) : value2);
@@ -5416,7 +5328,7 @@ var DateRangePicker = (0, import_react31.forwardRef)((inProps, ref) => {
5416
5328
  },
5417
5329
  [displayFormat, format, locale, setValue]
5418
5330
  );
5419
- const handleDisplayInputChange = (0, import_react31.useCallback)(
5331
+ const handleDisplayInputChange = (0, import_react30.useCallback)(
5420
5332
  (event) => {
5421
5333
  if (event.target.value === "") {
5422
5334
  handleChange({
@@ -5441,14 +5353,14 @@ var DateRangePicker = (0, import_react31.forwardRef)((inProps, ref) => {
5441
5353
  },
5442
5354
  [displayFormat, format, handleChange, props.name]
5443
5355
  );
5444
- const handleCalendarToggle = (0, import_react31.useCallback)(
5356
+ const handleCalendarToggle = (0, import_react30.useCallback)(
5445
5357
  (event) => {
5446
5358
  setAnchorEl(anchorEl ? null : event.currentTarget);
5447
5359
  innerRef.current?.focus();
5448
5360
  },
5449
5361
  [anchorEl, setAnchorEl, innerRef]
5450
5362
  );
5451
- const handleCalendarChange = (0, import_react31.useCallback)(
5363
+ const handleCalendarChange = (0, import_react30.useCallback)(
5452
5364
  ([date1, date2]) => {
5453
5365
  if (!date1 || !date2) return;
5454
5366
  const formattedValue = formatValueString2([date1, date2], format);
@@ -5462,7 +5374,7 @@ var DateRangePicker = (0, import_react31.forwardRef)((inProps, ref) => {
5462
5374
  },
5463
5375
  [props.value, props.name, onChange, setValue, setAnchorEl, format, displayFormat, locale]
5464
5376
  );
5465
- const handleInputMouseDown = (0, import_react31.useCallback)(
5377
+ const handleInputMouseDown = (0, import_react30.useCallback)(
5466
5378
  (event) => {
5467
5379
  if (inputReadOnly || isAlphabeticDisplay) {
5468
5380
  event.preventDefault();
@@ -5471,7 +5383,7 @@ var DateRangePicker = (0, import_react31.forwardRef)((inProps, ref) => {
5471
5383
  },
5472
5384
  [inputReadOnly, isAlphabeticDisplay, buttonRef]
5473
5385
  );
5474
- const handleInputClick = (0, import_react31.useCallback)(
5386
+ const handleInputClick = (0, import_react30.useCallback)(
5475
5387
  (event) => {
5476
5388
  if (inputReadOnly && !readOnly) {
5477
5389
  handleCalendarToggle(event);
@@ -5479,7 +5391,7 @@ var DateRangePicker = (0, import_react31.forwardRef)((inProps, ref) => {
5479
5391
  },
5480
5392
  [inputReadOnly, readOnly, handleCalendarToggle]
5481
5393
  );
5482
- const handlePresetClick = (0, import_react31.useCallback)(
5394
+ const handlePresetClick = (0, import_react30.useCallback)(
5483
5395
  (presetValue) => {
5484
5396
  if (props.value !== void 0) {
5485
5397
  onChange?.({ target: { name: props.name, value: presetValue } });
@@ -5492,7 +5404,7 @@ var DateRangePicker = (0, import_react31.forwardRef)((inProps, ref) => {
5492
5404
  },
5493
5405
  [props.value, props.name, onChange, setValue, setAnchorEl, format, displayFormat, locale]
5494
5406
  );
5495
- const isPresetDisabled = (0, import_react31.useCallback)(
5407
+ const isPresetDisabled = (0, import_react30.useCallback)(
5496
5408
  (presetValue) => {
5497
5409
  try {
5498
5410
  const dates = parseDates(presetValue, format);
@@ -5511,7 +5423,7 @@ var DateRangePicker = (0, import_react31.forwardRef)((inProps, ref) => {
5511
5423
  },
5512
5424
  [format, minDate, maxDate, disableFuture, disablePast]
5513
5425
  );
5514
- return /* @__PURE__ */ import_react31.default.createElement(DateRangePickerRoot, { sx, className }, /* @__PURE__ */ import_react31.default.createElement(import_base4.FocusTrap, { open: true }, /* @__PURE__ */ import_react31.default.createElement(import_react31.default.Fragment, null, /* @__PURE__ */ import_react31.default.createElement(
5426
+ return /* @__PURE__ */ import_react30.default.createElement(DateRangePickerRoot, { sx, className }, /* @__PURE__ */ import_react30.default.createElement(import_base4.FocusTrap, { open: true }, /* @__PURE__ */ import_react30.default.createElement(import_react30.default.Fragment, null, /* @__PURE__ */ import_react30.default.createElement(
5515
5427
  Input_default,
5516
5428
  {
5517
5429
  ...innerProps,
@@ -5538,7 +5450,7 @@ var DateRangePicker = (0, import_react31.forwardRef)((inProps, ref) => {
5538
5450
  },
5539
5451
  error,
5540
5452
  sx: { width: "100%" },
5541
- endDecorator: /* @__PURE__ */ import_react31.default.createElement(
5453
+ endDecorator: /* @__PURE__ */ import_react30.default.createElement(
5542
5454
  CalendarButton2,
5543
5455
  {
5544
5456
  ref: buttonRef,
@@ -5550,13 +5462,13 @@ var DateRangePicker = (0, import_react31.forwardRef)((inProps, ref) => {
5550
5462
  "aria-expanded": open,
5551
5463
  disabled
5552
5464
  },
5553
- /* @__PURE__ */ import_react31.default.createElement(import_CalendarToday2.default, null)
5465
+ /* @__PURE__ */ import_react30.default.createElement(import_CalendarToday2.default, null)
5554
5466
  ),
5555
5467
  label,
5556
5468
  helperText,
5557
5469
  readOnly: readOnly || inputReadOnly || isAlphabeticDisplay
5558
5470
  }
5559
- ), open && /* @__PURE__ */ import_react31.default.createElement(import_base4.ClickAwayListener, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ import_react31.default.createElement(
5471
+ ), open && /* @__PURE__ */ import_react30.default.createElement(import_base4.ClickAwayListener, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ import_react30.default.createElement(
5560
5472
  StyledPopper2,
5561
5473
  {
5562
5474
  id: "date-range-picker-popper",
@@ -5575,7 +5487,7 @@ var DateRangePicker = (0, import_react31.forwardRef)((inProps, ref) => {
5575
5487
  "aria-label": "Calendar Tooltip",
5576
5488
  "aria-expanded": open
5577
5489
  },
5578
- /* @__PURE__ */ import_react31.default.createElement(CalendarSheet2, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ import_react31.default.createElement(CalendarSheetContent2, null, /* @__PURE__ */ import_react31.default.createElement(CalendarSection2, { style: { width: "auto" } }, /* @__PURE__ */ import_react31.default.createElement(
5490
+ /* @__PURE__ */ import_react30.default.createElement(CalendarSheet2, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ import_react30.default.createElement(CalendarSheetContent2, null, /* @__PURE__ */ import_react30.default.createElement(CalendarSection2, { style: { width: "auto" } }, /* @__PURE__ */ import_react30.default.createElement(
5579
5491
  Calendar_default,
5580
5492
  {
5581
5493
  rangeSelection: true,
@@ -5588,14 +5500,14 @@ var DateRangePicker = (0, import_react31.forwardRef)((inProps, ref) => {
5588
5500
  locale,
5589
5501
  numberOfMonths
5590
5502
  }
5591
- ), !hideClearButton && /* @__PURE__ */ import_react31.default.createElement(
5503
+ ), !hideClearButton && /* @__PURE__ */ import_react30.default.createElement(
5592
5504
  DialogActions_default,
5593
5505
  {
5594
5506
  sx: {
5595
5507
  p: 1
5596
5508
  }
5597
5509
  },
5598
- /* @__PURE__ */ import_react31.default.createElement(
5510
+ /* @__PURE__ */ import_react30.default.createElement(
5599
5511
  Button_default,
5600
5512
  {
5601
5513
  size,
@@ -5609,9 +5521,9 @@ var DateRangePicker = (0, import_react31.forwardRef)((inProps, ref) => {
5609
5521
  },
5610
5522
  "Clear"
5611
5523
  )
5612
- )), presets && presets.length > 0 && /* @__PURE__ */ import_react31.default.createElement(PresetPanel2, null, presets.map((preset) => {
5524
+ )), presets && presets.length > 0 && /* @__PURE__ */ import_react30.default.createElement(PresetPanel2, null, presets.map((preset) => {
5613
5525
  const disabled2 = isPresetDisabled(preset.value);
5614
- return /* @__PURE__ */ import_react31.default.createElement(
5526
+ return /* @__PURE__ */ import_react30.default.createElement(
5615
5527
  PresetItem2,
5616
5528
  {
5617
5529
  key: preset.label,
@@ -5630,7 +5542,7 @@ var DateRangePicker = (0, import_react31.forwardRef)((inProps, ref) => {
5630
5542
  DateRangePicker.displayName = "DateRangePicker";
5631
5543
 
5632
5544
  // src/components/Drawer/Drawer.tsx
5633
- var import_react32 = __toESM(require("react"));
5545
+ var import_react31 = __toESM(require("react"));
5634
5546
  var import_joy38 = require("@mui/joy");
5635
5547
  var import_framer_motion22 = require("framer-motion");
5636
5548
  var MotionDrawer = (0, import_framer_motion22.motion)(import_joy38.Drawer);
@@ -5648,7 +5560,7 @@ var StyledDrawer = (0, import_joy38.styled)(MotionDrawer)(({ theme, size = "md"
5648
5560
  }));
5649
5561
  var Drawer = (props) => {
5650
5562
  const { children, ...innerProps } = props;
5651
- return /* @__PURE__ */ import_react32.default.createElement(StyledDrawer, { ...innerProps }, children);
5563
+ return /* @__PURE__ */ import_react31.default.createElement(StyledDrawer, { ...innerProps }, children);
5652
5564
  };
5653
5565
  Drawer.displayName = "Drawer";
5654
5566
 
@@ -5679,10 +5591,10 @@ DialogTitle.displayName = "DialogTitle";
5679
5591
  var DialogTitle_default = DialogTitle;
5680
5592
 
5681
5593
  // src/components/DialogFrame/DialogFrame.tsx
5682
- var import_react34 = __toESM(require("react"));
5594
+ var import_react33 = __toESM(require("react"));
5683
5595
 
5684
5596
  // src/components/Modal/Modal.tsx
5685
- var import_react33 = __toESM(require("react"));
5597
+ var import_react32 = __toESM(require("react"));
5686
5598
  var import_joy41 = require("@mui/joy");
5687
5599
  var import_framer_motion25 = require("framer-motion");
5688
5600
  var MotionModal = (0, import_framer_motion25.motion)(import_joy41.Modal);
@@ -5697,10 +5609,10 @@ var ModalClose = import_joy41.ModalClose;
5697
5609
  var MotionModalOverflow = (0, import_framer_motion25.motion)(import_joy41.ModalOverflow);
5698
5610
  var ModalOverflow = MotionModalOverflow;
5699
5611
  ModalOverflow.displayName = "ModalOverflow";
5700
- var ModalFrame = import_react33.default.forwardRef((props, ref) => {
5612
+ function ModalFrame(props) {
5701
5613
  const { title, children, titleStartDecorator, onClose, ...innerProps } = props;
5702
- return /* @__PURE__ */ import_react33.default.createElement(StyledModalDialog, { ref, ...innerProps }, /* @__PURE__ */ import_react33.default.createElement(ModalClose, { onClick: onClose }), /* @__PURE__ */ import_react33.default.createElement(DialogTitle_default, null, titleStartDecorator, title), /* @__PURE__ */ import_react33.default.createElement(DialogContent_default, null, children));
5703
- });
5614
+ return /* @__PURE__ */ import_react32.default.createElement(StyledModalDialog, { ...innerProps }, /* @__PURE__ */ import_react32.default.createElement(ModalClose, { onClick: onClose }), /* @__PURE__ */ import_react32.default.createElement(DialogTitle_default, null, titleStartDecorator, title), /* @__PURE__ */ import_react32.default.createElement(DialogContent_default, null, children));
5615
+ }
5704
5616
  ModalFrame.displayName = "ModalFrame";
5705
5617
 
5706
5618
  // src/components/DialogFrame/DialogFrame.tsx
@@ -5711,20 +5623,20 @@ var StyledDialogFrame = (0, import_joy42.styled)(ModalDialog, {
5711
5623
  })({
5712
5624
  padding: 0
5713
5625
  });
5714
- var DialogFrame = import_react34.default.forwardRef((props, ref) => {
5626
+ var DialogFrame = import_react33.default.forwardRef((props, ref) => {
5715
5627
  const { title, children, actions, fullscreen, onSubmit, ...innerProps } = props;
5716
5628
  const formProps = onSubmit ? { component: "form", onSubmit } : void 0;
5717
- return /* @__PURE__ */ import_react34.default.createElement(StyledDialogFrame, { layout: fullscreen ? "fullscreen" : "center", ref, ...formProps, ...innerProps }, /* @__PURE__ */ import_react34.default.createElement(DialogTitle_default, null, title), /* @__PURE__ */ import_react34.default.createElement(DialogContent_default, null, children), /* @__PURE__ */ import_react34.default.createElement(DialogActions_default, null, actions));
5629
+ return /* @__PURE__ */ import_react33.default.createElement(StyledDialogFrame, { layout: fullscreen ? "fullscreen" : "center", ref, ...formProps, ...innerProps }, /* @__PURE__ */ import_react33.default.createElement(DialogTitle_default, null, title), /* @__PURE__ */ import_react33.default.createElement(DialogContent_default, null, children), /* @__PURE__ */ import_react33.default.createElement(DialogActions_default, null, actions));
5718
5630
  });
5719
5631
  DialogFrame.displayName = "DialogFrame";
5720
5632
 
5721
5633
  // src/components/Divider/Divider.tsx
5722
- var import_react35 = __toESM(require("react"));
5634
+ var import_react34 = __toESM(require("react"));
5723
5635
  var import_joy43 = require("@mui/joy");
5724
5636
  var import_framer_motion26 = require("framer-motion");
5725
5637
  var MotionDivider = (0, import_framer_motion26.motion)(import_joy43.Divider);
5726
5638
  var Divider = (props) => {
5727
- return /* @__PURE__ */ import_react35.default.createElement(MotionDivider, { ...props });
5639
+ return /* @__PURE__ */ import_react34.default.createElement(MotionDivider, { ...props });
5728
5640
  };
5729
5641
  Divider.displayName = "Divider";
5730
5642
 
@@ -5745,16 +5657,16 @@ var InsetDrawer = (0, import_joy44.styled)(import_joy44.Drawer)(({ theme }) => (
5745
5657
  }));
5746
5658
 
5747
5659
  // src/components/FilterableCheckboxGroup/FilterableCheckboxGroup.tsx
5748
- var import_react36 = __toESM(require("react"));
5660
+ var import_react35 = __toESM(require("react"));
5749
5661
  var import_Search = __toESM(require("@mui/icons-material/Search"));
5750
5662
  var import_joy45 = require("@mui/joy");
5751
5663
  var import_react_virtual3 = require("@tanstack/react-virtual");
5752
5664
  var EMPTY_VALUE = [];
5753
5665
  function LabelWithTooltip(props) {
5754
5666
  const { label, size } = props;
5755
- const labelContentRef = (0, import_react36.useRef)(null);
5756
- const [isOverflowing, setIsOverflowing] = (0, import_react36.useState)(false);
5757
- const labelContent = /* @__PURE__ */ import_react36.default.createElement(
5667
+ const labelContentRef = (0, import_react35.useRef)(null);
5668
+ const [isOverflowing, setIsOverflowing] = (0, import_react35.useState)(false);
5669
+ const labelContent = /* @__PURE__ */ import_react35.default.createElement(
5758
5670
  "span",
5759
5671
  {
5760
5672
  ref: labelContentRef,
@@ -5770,14 +5682,14 @@ function LabelWithTooltip(props) {
5770
5682
  },
5771
5683
  label
5772
5684
  );
5773
- (0, import_react36.useEffect)(() => {
5685
+ (0, import_react35.useEffect)(() => {
5774
5686
  const element = labelContentRef.current;
5775
5687
  if (element) {
5776
5688
  setIsOverflowing(element.scrollWidth > element.clientWidth);
5777
5689
  }
5778
5690
  }, [label]);
5779
5691
  if (isOverflowing) {
5780
- return /* @__PURE__ */ import_react36.default.createElement(Tooltip_default, { variant: "solid", size, title: label, placement: "bottom-start" }, labelContent);
5692
+ return /* @__PURE__ */ import_react35.default.createElement(Tooltip_default, { variant: "solid", size, title: label, placement: "bottom-start" }, labelContent);
5781
5693
  }
5782
5694
  return labelContent;
5783
5695
  }
@@ -5795,22 +5707,22 @@ function FilterableCheckboxGroup(inProps) {
5795
5707
  maxHeight = 300,
5796
5708
  disabled
5797
5709
  } = props;
5798
- const [searchTerm, setSearchTerm] = (0, import_react36.useState)("");
5799
- const [sortedOptions, setSortedOptions] = (0, import_react36.useState)(options);
5710
+ const [searchTerm, setSearchTerm] = (0, import_react35.useState)("");
5711
+ const [sortedOptions, setSortedOptions] = (0, import_react35.useState)(options);
5800
5712
  const [rawValue, setInternalValue] = useControlledState(
5801
5713
  value,
5802
5714
  value ?? EMPTY_VALUE,
5803
- (0, import_react36.useCallback)((newValue) => onChange?.(newValue ?? []), [onChange])
5715
+ (0, import_react35.useCallback)((newValue) => onChange?.(newValue ?? []), [onChange])
5804
5716
  );
5805
5717
  const internalValue = rawValue ?? EMPTY_VALUE;
5806
- const parentRef = (0, import_react36.useRef)(null);
5807
- const isInitialSortRef = (0, import_react36.useRef)(false);
5808
- const prevOptionsRef = (0, import_react36.useRef)([...options]);
5809
- const filteredOptions = (0, import_react36.useMemo)(() => {
5718
+ const parentRef = (0, import_react35.useRef)(null);
5719
+ const isInitialSortRef = (0, import_react35.useRef)(false);
5720
+ const prevOptionsRef = (0, import_react35.useRef)([...options]);
5721
+ const filteredOptions = (0, import_react35.useMemo)(() => {
5810
5722
  if (!searchTerm) return sortedOptions;
5811
5723
  return sortedOptions.filter((option) => option.label.toLowerCase().includes(searchTerm.toLowerCase()));
5812
5724
  }, [sortedOptions, searchTerm]);
5813
- const itemSize = (0, import_react36.useMemo)(() => {
5725
+ const itemSize = (0, import_react35.useMemo)(() => {
5814
5726
  switch (size) {
5815
5727
  case "sm":
5816
5728
  return 28;
@@ -5828,7 +5740,7 @@ function FilterableCheckboxGroup(inProps) {
5828
5740
  overscan: 5
5829
5741
  });
5830
5742
  const items = virtualizer.getVirtualItems();
5831
- (0, import_react36.useEffect)(() => {
5743
+ (0, import_react35.useEffect)(() => {
5832
5744
  const optionsChanged = prevOptionsRef.current.length !== options.length || prevOptionsRef.current.some(
5833
5745
  (prevOption, index) => prevOption.value !== options[index]?.value || prevOption.label !== options[index]?.label || prevOption.disabled !== options[index]?.disabled
5834
5746
  );
@@ -5854,13 +5766,13 @@ function FilterableCheckboxGroup(inProps) {
5854
5766
  }
5855
5767
  }
5856
5768
  }, [options, value]);
5857
- (0, import_react36.useEffect)(() => {
5769
+ (0, import_react35.useEffect)(() => {
5858
5770
  virtualizer.measure();
5859
5771
  }, [virtualizer, filteredOptions, size]);
5860
- const handleSearchChange = (0, import_react36.useCallback)((event) => {
5772
+ const handleSearchChange = (0, import_react35.useCallback)((event) => {
5861
5773
  setSearchTerm(event.target.value);
5862
5774
  }, []);
5863
- const handleCheckboxChange = (0, import_react36.useCallback)(
5775
+ const handleCheckboxChange = (0, import_react35.useCallback)(
5864
5776
  (optionValue) => (event) => {
5865
5777
  const checked = event.target.checked;
5866
5778
  const newValue = checked ? [...internalValue, optionValue] : internalValue.filter((v) => v !== optionValue);
@@ -5868,7 +5780,7 @@ function FilterableCheckboxGroup(inProps) {
5868
5780
  },
5869
5781
  [internalValue, setInternalValue]
5870
5782
  );
5871
- const handleSelectAll = (0, import_react36.useCallback)(
5783
+ const handleSelectAll = (0, import_react35.useCallback)(
5872
5784
  (event) => {
5873
5785
  const checked = event.target.checked;
5874
5786
  const enabledOptions = filteredOptions.filter((option) => !option.disabled);
@@ -5884,10 +5796,10 @@ function FilterableCheckboxGroup(inProps) {
5884
5796
  },
5885
5797
  [filteredOptions, internalValue, setInternalValue]
5886
5798
  );
5887
- const enabledFilteredOptions = (0, import_react36.useMemo)(() => filteredOptions.filter((option) => !option.disabled), [filteredOptions]);
5799
+ const enabledFilteredOptions = (0, import_react35.useMemo)(() => filteredOptions.filter((option) => !option.disabled), [filteredOptions]);
5888
5800
  const isAllSelected = enabledFilteredOptions.length > 0 && enabledFilteredOptions.every((option) => internalValue.includes(option.value));
5889
5801
  const isIndeterminate = !isAllSelected && enabledFilteredOptions.some((option) => internalValue.includes(option.value));
5890
- return /* @__PURE__ */ import_react36.default.createElement("div", { style: { width: "100%" } }, /* @__PURE__ */ import_react36.default.createElement(
5802
+ return /* @__PURE__ */ import_react35.default.createElement("div", { style: { width: "100%" } }, /* @__PURE__ */ import_react35.default.createElement(
5891
5803
  Input_default,
5892
5804
  {
5893
5805
  label,
@@ -5900,9 +5812,9 @@ function FilterableCheckboxGroup(inProps) {
5900
5812
  onChange: handleSearchChange,
5901
5813
  size,
5902
5814
  disabled,
5903
- endDecorator: /* @__PURE__ */ import_react36.default.createElement(import_Search.default, null)
5815
+ endDecorator: /* @__PURE__ */ import_react35.default.createElement(import_Search.default, null)
5904
5816
  }
5905
- ), filteredOptions.length === 0 ? /* @__PURE__ */ import_react36.default.createElement(Typography_default, { level: `body-${size}`, textColor: "neutral.softDisabledColor", padding: "20px 12px", textAlign: "center" }, "No options found.") : /* @__PURE__ */ import_react36.default.createElement(
5817
+ ), filteredOptions.length === 0 ? /* @__PURE__ */ import_react35.default.createElement(Typography_default, { level: `body-${size}`, textColor: "neutral.softDisabledColor", padding: "20px 12px", textAlign: "center" }, "No options found.") : /* @__PURE__ */ import_react35.default.createElement(
5906
5818
  "div",
5907
5819
  {
5908
5820
  ref: parentRef,
@@ -5913,7 +5825,7 @@ function FilterableCheckboxGroup(inProps) {
5913
5825
  marginTop: "8px"
5914
5826
  }
5915
5827
  },
5916
- !searchTerm && /* @__PURE__ */ import_react36.default.createElement(
5828
+ !searchTerm && /* @__PURE__ */ import_react35.default.createElement(
5917
5829
  Checkbox_default,
5918
5830
  {
5919
5831
  label: "Select all",
@@ -5930,7 +5842,7 @@ function FilterableCheckboxGroup(inProps) {
5930
5842
  sx: { width: "100%", height: itemSize }
5931
5843
  }
5932
5844
  ),
5933
- /* @__PURE__ */ import_react36.default.createElement(
5845
+ /* @__PURE__ */ import_react35.default.createElement(
5934
5846
  Stack_default,
5935
5847
  {
5936
5848
  sx: {
@@ -5940,11 +5852,11 @@ function FilterableCheckboxGroup(inProps) {
5940
5852
  },
5941
5853
  items.map((virtualRow) => {
5942
5854
  const option = filteredOptions[virtualRow.index];
5943
- return /* @__PURE__ */ import_react36.default.createElement(
5855
+ return /* @__PURE__ */ import_react35.default.createElement(
5944
5856
  Checkbox_default,
5945
5857
  {
5946
5858
  key: virtualRow.key,
5947
- label: /* @__PURE__ */ import_react36.default.createElement(LabelWithTooltip, { label: option.label, size }),
5859
+ label: /* @__PURE__ */ import_react35.default.createElement(LabelWithTooltip, { label: option.label, size }),
5948
5860
  checked: internalValue.includes(option.value),
5949
5861
  onChange: handleCheckboxChange(option.value),
5950
5862
  size,
@@ -5975,12 +5887,9 @@ FilterableCheckboxGroup.displayName = "FilterableCheckboxGroup";
5975
5887
  var import_joy46 = require("@mui/joy");
5976
5888
 
5977
5889
  // src/components/IconMenuButton/IconMenuButton.tsx
5978
- var import_react37 = __toESM(require("react"));
5890
+ var import_react36 = __toESM(require("react"));
5979
5891
  var import_joy47 = require("@mui/joy");
5980
- var MenuButtonRootSlot = import_react37.default.forwardRef(function MenuButtonRootSlot2({ as, ...rest }, ref) {
5981
- return /* @__PURE__ */ import_react37.default.createElement(import_joy47.IconButton, { ...rest, component: as ?? "button", ref });
5982
- });
5983
- function IconMenuButtonInner(props, ref) {
5892
+ function IconMenuButton(props) {
5984
5893
  const {
5985
5894
  size,
5986
5895
  icon,
@@ -5991,10 +5900,8 @@ function IconMenuButtonInner(props, ref) {
5991
5900
  variant = "plain",
5992
5901
  placement = "bottom"
5993
5902
  } = props;
5994
- const { ref: buttonComponentRef, ...buttonComponentProps } = props.buttonComponentProps ?? {};
5995
- const mergedButtonRef = useMergedRef(buttonComponentRef, ref);
5996
5903
  if (!items.length) {
5997
- return /* @__PURE__ */ import_react37.default.createElement(
5904
+ return /* @__PURE__ */ import_react36.default.createElement(
5998
5905
  import_joy47.IconButton,
5999
5906
  {
6000
5907
  component: props.buttonComponent ?? "button",
@@ -6003,16 +5910,15 @@ function IconMenuButtonInner(props, ref) {
6003
5910
  color,
6004
5911
  disabled,
6005
5912
  loading,
6006
- ...buttonComponentProps,
6007
- ref: mergedButtonRef
5913
+ ...props.buttonComponentProps ?? {}
6008
5914
  },
6009
5915
  icon
6010
5916
  );
6011
5917
  }
6012
- return /* @__PURE__ */ import_react37.default.createElement(Dropdown_default, null, /* @__PURE__ */ import_react37.default.createElement(
5918
+ return /* @__PURE__ */ import_react36.default.createElement(Dropdown_default, null, /* @__PURE__ */ import_react36.default.createElement(
6013
5919
  import_joy47.MenuButton,
6014
5920
  {
6015
- slots: { root: MenuButtonRootSlot },
5921
+ slots: { root: import_joy47.IconButton },
6016
5922
  slotProps: {
6017
5923
  root: {
6018
5924
  component: props.buttonComponent ?? "button",
@@ -6021,27 +5927,24 @@ function IconMenuButtonInner(props, ref) {
6021
5927
  color,
6022
5928
  disabled,
6023
5929
  loading,
6024
- ...buttonComponentProps,
6025
- // Joy의 useSlot이 내부 ref와 이 ref를 합쳐준다. 위 no-items 분기와 같은 경로로 ref를 넘긴다.
6026
- ref: mergedButtonRef
5930
+ ...props.buttonComponentProps ?? {}
6027
5931
  }
6028
5932
  }
6029
5933
  },
6030
5934
  icon
6031
- ), /* @__PURE__ */ import_react37.default.createElement(Menu, { placement, size }, items.map((i) => /* @__PURE__ */ import_react37.default.createElement(MenuItem, { key: i.text, component: i.component, ...i.componentProps ?? {} }, i.text))));
5935
+ ), /* @__PURE__ */ import_react36.default.createElement(Menu, { placement, size }, items.map((i) => /* @__PURE__ */ import_react36.default.createElement(MenuItem, { key: i.text, component: i.component, ...i.componentProps ?? {} }, i.text))));
6032
5936
  }
6033
- var IconMenuButton = import_react37.default.forwardRef(IconMenuButtonInner);
6034
5937
  IconMenuButton.displayName = "IconMenuButton";
6035
5938
 
6036
5939
  // src/components/Markdown/Markdown.tsx
6037
- var import_react38 = __toESM(require("react"));
5940
+ var import_react37 = __toESM(require("react"));
6038
5941
  var import_joy48 = require("@mui/joy");
6039
5942
  var import_joy49 = require("@mui/joy");
6040
5943
  var import_remark_gfm = __toESM(require("remark-gfm"));
6041
- var LazyReactMarkdown = (0, import_react38.lazy)(() => import("react-markdown"));
5944
+ var LazyReactMarkdown = (0, import_react37.lazy)(() => import("react-markdown"));
6042
5945
  var Markdown = (props) => {
6043
- const [rehypeAccent2, setRehypeAccent] = (0, import_react38.useState)(null);
6044
- (0, import_react38.useEffect)(() => {
5946
+ const [rehypeAccent2, setRehypeAccent] = (0, import_react37.useState)(null);
5947
+ (0, import_react37.useEffect)(() => {
6045
5948
  const loadRehypeAccent = async () => {
6046
5949
  const module2 = await Promise.resolve().then(() => (init_rehype_accent(), rehype_accent_exports));
6047
5950
  setRehypeAccent(() => module2.rehypeAccent);
@@ -6063,8 +5966,8 @@ var Markdown = (props) => {
6063
5966
  if (!rehypeAccent2) {
6064
5967
  return null;
6065
5968
  }
6066
- return /* @__PURE__ */ import_react38.default.createElement(Typography, { component: "div", color, textColor, level: defaultLevel, ...innerProps }, /* @__PURE__ */ import_react38.default.createElement(
6067
- import_react38.Suspense,
5969
+ return /* @__PURE__ */ import_react37.default.createElement(Typography, { component: "div", color, textColor, level: defaultLevel, ...innerProps }, /* @__PURE__ */ import_react37.default.createElement(
5970
+ import_react37.Suspense,
6068
5971
  {
6069
5972
  fallback: (
6070
5973
  // While in the fallback state, prevent browser auto-translation (e.g. Chrome/Google Translate)
@@ -6072,10 +5975,10 @@ var Markdown = (props) => {
6072
5975
  // swaps the fallback for the real content via insertBefore; if the browser has mutated the DOM
6073
5976
  // in the meantime, the reference node's parent changes and React throws a DOMException
6074
5977
  // ("Failed to execute 'insertBefore' on 'Node'"), crashing the subtree. (cf. facebook/react#11538)
6075
- fallback || /* @__PURE__ */ import_react38.default.createElement(Typography, { translate: "no", className: "notranslate" }, /* @__PURE__ */ import_react38.default.createElement(import_joy48.Skeleton, null, content || ""))
5978
+ fallback || /* @__PURE__ */ import_react37.default.createElement(Typography, { translate: "no", className: "notranslate" }, /* @__PURE__ */ import_react37.default.createElement(import_joy48.Skeleton, null, content || ""))
6076
5979
  )
6077
5980
  },
6078
- /* @__PURE__ */ import_react38.default.createElement(
5981
+ /* @__PURE__ */ import_react37.default.createElement(
6079
5982
  LazyReactMarkdown,
6080
5983
  {
6081
5984
  ...markdownOptions,
@@ -6083,17 +5986,17 @@ var Markdown = (props) => {
6083
5986
  rehypePlugins: [[rehypeAccent2, { accentColor }]],
6084
5987
  remarkPlugins: [import_remark_gfm.default],
6085
5988
  components: {
6086
- a: ({ children, href }) => /* @__PURE__ */ import_react38.default.createElement(import_joy49.Link, { href, target: defaultLinkAction }, children),
6087
- hr: () => /* @__PURE__ */ import_react38.default.createElement(Divider, { sx: { display: "block" } }),
6088
- b: ({ children }) => /* @__PURE__ */ import_react38.default.createElement(Typography, { component: "strong", fontWeight: boldFontWeight || "lg" }, children),
6089
- strong: ({ children }) => /* @__PURE__ */ import_react38.default.createElement(Typography, { component: "strong", fontWeight: boldFontWeight || "lg" }, children),
5989
+ a: ({ children, href }) => /* @__PURE__ */ import_react37.default.createElement(import_joy49.Link, { href, target: defaultLinkAction }, children),
5990
+ hr: () => /* @__PURE__ */ import_react37.default.createElement(Divider, { sx: { display: "block" } }),
5991
+ b: ({ children }) => /* @__PURE__ */ import_react37.default.createElement(Typography, { component: "strong", fontWeight: boldFontWeight || "lg" }, children),
5992
+ strong: ({ children }) => /* @__PURE__ */ import_react37.default.createElement(Typography, { component: "strong", fontWeight: boldFontWeight || "lg" }, children),
6090
5993
  // Table components
6091
- table: ({ children }) => /* @__PURE__ */ import_react38.default.createElement(Sheet, { variant: "outlined", sx: { display: "block", borderRadius: "sm", overflow: "auto" } }, /* @__PURE__ */ import_react38.default.createElement(Table, { size: "sm" }, children)),
5994
+ table: ({ children }) => /* @__PURE__ */ import_react37.default.createElement(Sheet, { variant: "outlined", sx: { display: "block", borderRadius: "sm", overflow: "auto" } }, /* @__PURE__ */ import_react37.default.createElement(Table, { size: "sm" }, children)),
6092
5995
  // Code components
6093
5996
  code: ({ children, className }) => {
6094
5997
  const isBlock = className?.startsWith("language-");
6095
5998
  if (isBlock) {
6096
- return /* @__PURE__ */ import_react38.default.createElement(
5999
+ return /* @__PURE__ */ import_react37.default.createElement(
6097
6000
  Typography,
6098
6001
  {
6099
6002
  component: "code",
@@ -6107,7 +6010,7 @@ var Markdown = (props) => {
6107
6010
  children
6108
6011
  );
6109
6012
  }
6110
- return /* @__PURE__ */ import_react38.default.createElement(
6013
+ return /* @__PURE__ */ import_react37.default.createElement(
6111
6014
  Typography,
6112
6015
  {
6113
6016
  component: "code",
@@ -6122,7 +6025,7 @@ var Markdown = (props) => {
6122
6025
  children
6123
6026
  );
6124
6027
  },
6125
- pre: ({ children }) => /* @__PURE__ */ import_react38.default.createElement(
6028
+ pre: ({ children }) => /* @__PURE__ */ import_react37.default.createElement(
6126
6029
  Sheet,
6127
6030
  {
6128
6031
  variant: "soft",
@@ -6140,12 +6043,12 @@ var Markdown = (props) => {
6140
6043
  // Task list checkbox
6141
6044
  input: ({ checked, type }) => {
6142
6045
  if (type === "checkbox") {
6143
- return /* @__PURE__ */ import_react38.default.createElement(Checkbox, { checked, disabled: true, size: "sm", sx: { mr: 1 } });
6046
+ return /* @__PURE__ */ import_react37.default.createElement(Checkbox, { checked, disabled: true, size: "sm", sx: { mr: 1 } });
6144
6047
  }
6145
- return /* @__PURE__ */ import_react38.default.createElement("input", { checked, type });
6048
+ return /* @__PURE__ */ import_react37.default.createElement("input", { checked, type });
6146
6049
  },
6147
6050
  // Blockquote
6148
- blockquote: ({ children }) => /* @__PURE__ */ import_react38.default.createElement(
6051
+ blockquote: ({ children }) => /* @__PURE__ */ import_react37.default.createElement(
6149
6052
  Sheet,
6150
6053
  {
6151
6054
  variant: "soft",
@@ -6154,12 +6057,12 @@ var Markdown = (props) => {
6154
6057
  children
6155
6058
  ),
6156
6059
  // Image
6157
- img: ({ src, alt }) => /* @__PURE__ */ import_react38.default.createElement("img", { src, alt, style: { maxWidth: "100%", borderRadius: "4px" } }),
6060
+ img: ({ src, alt }) => /* @__PURE__ */ import_react37.default.createElement("img", { src, alt, style: { maxWidth: "100%", borderRadius: "4px" } }),
6158
6061
  // Text style components
6159
- em: ({ children }) => /* @__PURE__ */ import_react38.default.createElement(Typography, { component: "em", sx: { fontStyle: "italic" } }, children),
6160
- del: ({ children }) => /* @__PURE__ */ import_react38.default.createElement(Typography, { component: "del", sx: { textDecoration: "line-through" } }, children),
6062
+ em: ({ children }) => /* @__PURE__ */ import_react37.default.createElement(Typography, { component: "em", sx: { fontStyle: "italic" } }, children),
6063
+ del: ({ children }) => /* @__PURE__ */ import_react37.default.createElement(Typography, { component: "del", sx: { textDecoration: "line-through" } }, children),
6161
6064
  // Span for accent color (from rehype-accent plugin)
6162
- span: ({ children, node }) => /* @__PURE__ */ import_react38.default.createElement(Typography, { component: "span", textColor: node?.properties?.textColor }, children),
6065
+ span: ({ children, node }) => /* @__PURE__ */ import_react37.default.createElement(Typography, { component: "span", textColor: node?.properties?.textColor }, children),
6163
6066
  ...markdownOptions?.components
6164
6067
  }
6165
6068
  }
@@ -6169,7 +6072,7 @@ var Markdown = (props) => {
6169
6072
  Markdown.displayName = "Markdown";
6170
6073
 
6171
6074
  // src/components/MenuButton/MenuButton.tsx
6172
- var import_react39 = __toESM(require("react"));
6075
+ var import_react38 = __toESM(require("react"));
6173
6076
  var import_joy50 = require("@mui/joy");
6174
6077
  var import_ExpandMore = __toESM(require("@mui/icons-material/ExpandMore"));
6175
6078
  function MenuButton2(props) {
@@ -6187,7 +6090,7 @@ function MenuButton2(props) {
6187
6090
  placement = "bottom"
6188
6091
  } = props;
6189
6092
  if (!items.length) {
6190
- return /* @__PURE__ */ import_react39.default.createElement(
6093
+ return /* @__PURE__ */ import_react38.default.createElement(
6191
6094
  import_joy50.Button,
6192
6095
  {
6193
6096
  component: props.buttonComponent ?? "button",
@@ -6198,12 +6101,12 @@ function MenuButton2(props) {
6198
6101
  loading,
6199
6102
  startDecorator,
6200
6103
  ...props.buttonComponentProps ?? {},
6201
- endDecorator: showIcon ? /* @__PURE__ */ import_react39.default.createElement(import_react39.default.Fragment, null, endDecorator, /* @__PURE__ */ import_react39.default.createElement(import_ExpandMore.default, null)) : /* @__PURE__ */ import_react39.default.createElement(import_react39.default.Fragment, null, endDecorator)
6104
+ endDecorator: showIcon ? /* @__PURE__ */ import_react38.default.createElement(import_react38.default.Fragment, null, endDecorator, /* @__PURE__ */ import_react38.default.createElement(import_ExpandMore.default, null)) : /* @__PURE__ */ import_react38.default.createElement(import_react38.default.Fragment, null, endDecorator)
6202
6105
  },
6203
6106
  buttonText
6204
6107
  );
6205
6108
  }
6206
- return /* @__PURE__ */ import_react39.default.createElement(Dropdown_default, null, /* @__PURE__ */ import_react39.default.createElement(
6109
+ return /* @__PURE__ */ import_react38.default.createElement(Dropdown_default, null, /* @__PURE__ */ import_react38.default.createElement(
6207
6110
  import_joy50.MenuButton,
6208
6111
  {
6209
6112
  component: props.buttonComponent ?? "button",
@@ -6214,15 +6117,15 @@ function MenuButton2(props) {
6214
6117
  loading,
6215
6118
  startDecorator,
6216
6119
  ...props.buttonComponentProps ?? {},
6217
- endDecorator: showIcon ? /* @__PURE__ */ import_react39.default.createElement(import_react39.default.Fragment, null, endDecorator, /* @__PURE__ */ import_react39.default.createElement(import_ExpandMore.default, null)) : /* @__PURE__ */ import_react39.default.createElement(import_react39.default.Fragment, null, endDecorator)
6120
+ endDecorator: showIcon ? /* @__PURE__ */ import_react38.default.createElement(import_react38.default.Fragment, null, endDecorator, /* @__PURE__ */ import_react38.default.createElement(import_ExpandMore.default, null)) : /* @__PURE__ */ import_react38.default.createElement(import_react38.default.Fragment, null, endDecorator)
6218
6121
  },
6219
6122
  buttonText
6220
- ), /* @__PURE__ */ import_react39.default.createElement(Menu, { placement, size }, items.map((i) => /* @__PURE__ */ import_react39.default.createElement(MenuItem, { key: i.text, component: i.component, ...i.componentProps ?? {} }, i.text))));
6123
+ ), /* @__PURE__ */ import_react38.default.createElement(Menu, { placement, size }, items.map((i) => /* @__PURE__ */ import_react38.default.createElement(MenuItem, { key: i.text, component: i.component, ...i.componentProps ?? {} }, i.text))));
6221
6124
  }
6222
6125
  MenuButton2.displayName = "MenuButton";
6223
6126
 
6224
6127
  // src/components/MonthPicker/MonthPicker.tsx
6225
- var import_react40 = __toESM(require("react"));
6128
+ var import_react39 = __toESM(require("react"));
6226
6129
  var import_CalendarToday3 = __toESM(require("@mui/icons-material/CalendarToday"));
6227
6130
  var import_joy51 = require("@mui/joy");
6228
6131
  var import_base5 = require("@mui/base");
@@ -6278,7 +6181,7 @@ function parseDate3(dateString, format) {
6278
6181
  const result = new Date(year, month, day);
6279
6182
  return result;
6280
6183
  }
6281
- var MonthPicker = (0, import_react40.forwardRef)((inProps, ref) => {
6184
+ var MonthPicker = (0, import_react39.forwardRef)((inProps, ref) => {
6282
6185
  const props = (0, import_joy51.useThemeProps)({ props: inProps, name: "MonthPicker" });
6283
6186
  const {
6284
6187
  onChange,
@@ -6305,18 +6208,18 @@ var MonthPicker = (0, import_react40.forwardRef)((inProps, ref) => {
6305
6208
  locale,
6306
6209
  ...innerProps
6307
6210
  } = props;
6308
- const innerRef = (0, import_react40.useRef)(null);
6309
- const buttonRef = (0, import_react40.useRef)(null);
6211
+ const innerRef = (0, import_react39.useRef)(null);
6212
+ const buttonRef = (0, import_react39.useRef)(null);
6310
6213
  const [rawValue, setValue, isControlled] = useControlledState(
6311
6214
  props.value,
6312
6215
  props.defaultValue ?? null,
6313
- (0, import_react40.useCallback)(
6216
+ (0, import_react39.useCallback)(
6314
6217
  (value2) => onChange?.({ target: { name: props.name, value: value2 ?? "" } }),
6315
6218
  [props.name, onChange]
6316
6219
  )
6317
6220
  );
6318
6221
  const value = rawValue ?? "";
6319
- const getFormattedDisplayValue = (0, import_react40.useCallback)(
6222
+ const getFormattedDisplayValue = (0, import_react39.useCallback)(
6320
6223
  (inputValue) => {
6321
6224
  if (!inputValue) return "";
6322
6225
  try {
@@ -6327,19 +6230,19 @@ var MonthPicker = (0, import_react40.forwardRef)((inProps, ref) => {
6327
6230
  },
6328
6231
  [format, displayFormat, locale]
6329
6232
  );
6330
- const [displayValue, setDisplayValue] = (0, import_react40.useState)(() => getFormattedDisplayValue(value));
6331
- const [anchorEl, setAnchorEl] = (0, import_react40.useState)(null);
6233
+ const [displayValue, setDisplayValue] = (0, import_react39.useState)(() => getFormattedDisplayValue(value));
6234
+ const [anchorEl, setAnchorEl] = (0, import_react39.useState)(null);
6332
6235
  const open = Boolean(anchorEl);
6333
- (0, import_react40.useEffect)(() => {
6236
+ (0, import_react39.useEffect)(() => {
6334
6237
  if (!anchorEl) {
6335
6238
  innerRef.current?.blur();
6336
6239
  }
6337
6240
  }, [anchorEl, innerRef]);
6338
- (0, import_react40.useImperativeHandle)(ref, () => innerRef.current, [innerRef]);
6339
- (0, import_react40.useEffect)(() => {
6241
+ (0, import_react39.useImperativeHandle)(ref, () => innerRef.current, [innerRef]);
6242
+ (0, import_react39.useEffect)(() => {
6340
6243
  setDisplayValue(getFormattedDisplayValue(value));
6341
6244
  }, [value, getFormattedDisplayValue]);
6342
- const handleChange = (0, import_react40.useCallback)(
6245
+ const handleChange = (0, import_react39.useCallback)(
6343
6246
  (event) => {
6344
6247
  const newValue = event.target.value;
6345
6248
  setValue(newValue);
@@ -6349,21 +6252,21 @@ var MonthPicker = (0, import_react40.forwardRef)((inProps, ref) => {
6349
6252
  },
6350
6253
  [setValue, getFormattedDisplayValue, isControlled]
6351
6254
  );
6352
- const handleCalendarToggle = (0, import_react40.useCallback)(
6255
+ const handleCalendarToggle = (0, import_react39.useCallback)(
6353
6256
  (event) => {
6354
6257
  setAnchorEl(anchorEl ? null : event.currentTarget);
6355
6258
  innerRef.current?.focus();
6356
6259
  },
6357
6260
  [anchorEl, setAnchorEl, innerRef]
6358
6261
  );
6359
- const handleInputMouseDown = (0, import_react40.useCallback)(
6262
+ const handleInputMouseDown = (0, import_react39.useCallback)(
6360
6263
  (event) => {
6361
6264
  event.preventDefault();
6362
6265
  buttonRef.current?.focus();
6363
6266
  },
6364
6267
  [buttonRef]
6365
6268
  );
6366
- return /* @__PURE__ */ import_react40.default.createElement(MonthPickerRoot, null, /* @__PURE__ */ import_react40.default.createElement(import_base5.FocusTrap, { open: true }, /* @__PURE__ */ import_react40.default.createElement(import_react40.default.Fragment, null, /* @__PURE__ */ import_react40.default.createElement(
6269
+ return /* @__PURE__ */ import_react39.default.createElement(MonthPickerRoot, null, /* @__PURE__ */ import_react39.default.createElement(import_base5.FocusTrap, { open: true }, /* @__PURE__ */ import_react39.default.createElement(import_react39.default.Fragment, null, /* @__PURE__ */ import_react39.default.createElement(
6367
6270
  Input_default,
6368
6271
  {
6369
6272
  ...innerProps,
@@ -6393,7 +6296,7 @@ var MonthPicker = (0, import_react40.forwardRef)((inProps, ref) => {
6393
6296
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
6394
6297
  fontFamily: "monospace"
6395
6298
  },
6396
- endDecorator: /* @__PURE__ */ import_react40.default.createElement(
6299
+ endDecorator: /* @__PURE__ */ import_react39.default.createElement(
6397
6300
  IconButton_default,
6398
6301
  {
6399
6302
  ref: buttonRef,
@@ -6405,12 +6308,12 @@ var MonthPicker = (0, import_react40.forwardRef)((inProps, ref) => {
6405
6308
  "aria-expanded": open,
6406
6309
  disabled
6407
6310
  },
6408
- /* @__PURE__ */ import_react40.default.createElement(import_CalendarToday3.default, null)
6311
+ /* @__PURE__ */ import_react39.default.createElement(import_CalendarToday3.default, null)
6409
6312
  ),
6410
6313
  label,
6411
6314
  helperText
6412
6315
  }
6413
- ), open && /* @__PURE__ */ import_react40.default.createElement(import_base5.ClickAwayListener, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ import_react40.default.createElement(
6316
+ ), open && /* @__PURE__ */ import_react39.default.createElement(import_base5.ClickAwayListener, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ import_react39.default.createElement(
6414
6317
  StyledPopper3,
6415
6318
  {
6416
6319
  id: "month-picker-popper",
@@ -6429,7 +6332,7 @@ var MonthPicker = (0, import_react40.forwardRef)((inProps, ref) => {
6429
6332
  "aria-label": "Calendar Tooltip",
6430
6333
  "aria-expanded": open
6431
6334
  },
6432
- /* @__PURE__ */ import_react40.default.createElement(CalendarSheet3, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ import_react40.default.createElement(
6335
+ /* @__PURE__ */ import_react39.default.createElement(CalendarSheet3, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ import_react39.default.createElement(
6433
6336
  Calendar_default,
6434
6337
  {
6435
6338
  view: "month",
@@ -6450,14 +6353,14 @@ var MonthPicker = (0, import_react40.forwardRef)((inProps, ref) => {
6450
6353
  disablePast,
6451
6354
  locale
6452
6355
  }
6453
- ), /* @__PURE__ */ import_react40.default.createElement(
6356
+ ), /* @__PURE__ */ import_react39.default.createElement(
6454
6357
  DialogActions_default,
6455
6358
  {
6456
6359
  sx: {
6457
6360
  p: 1
6458
6361
  }
6459
6362
  },
6460
- /* @__PURE__ */ import_react40.default.createElement(
6363
+ /* @__PURE__ */ import_react39.default.createElement(
6461
6364
  Button_default,
6462
6365
  {
6463
6366
  size,
@@ -6480,7 +6383,7 @@ var MonthPicker = (0, import_react40.forwardRef)((inProps, ref) => {
6480
6383
  });
6481
6384
 
6482
6385
  // src/components/MonthRangePicker/MonthRangePicker.tsx
6483
- var import_react41 = __toESM(require("react"));
6386
+ var import_react40 = __toESM(require("react"));
6484
6387
  var import_react_imask3 = require("react-imask");
6485
6388
  var import_CalendarToday4 = __toESM(require("@mui/icons-material/CalendarToday"));
6486
6389
  var import_joy52 = require("@mui/joy");
@@ -6541,9 +6444,9 @@ var parseDates2 = (str) => {
6541
6444
  var formatToPattern3 = (format) => {
6542
6445
  return `${format} - ${format}`.replace(/YYYY/g, "Y").replace(/MM/g, "m").replace(/[^YMm\s]/g, (match) => `${match}\``);
6543
6446
  };
6544
- var TextMaskAdapter7 = import_react41.default.forwardRef(function TextMaskAdapter8(props, ref) {
6447
+ var TextMaskAdapter7 = import_react40.default.forwardRef(function TextMaskAdapter8(props, ref) {
6545
6448
  const { onChange, format, ...other } = props;
6546
- return /* @__PURE__ */ import_react41.default.createElement(
6449
+ return /* @__PURE__ */ import_react40.default.createElement(
6547
6450
  import_react_imask3.IMaskInput,
6548
6451
  {
6549
6452
  ...other,
@@ -6571,7 +6474,7 @@ var TextMaskAdapter7 = import_react41.default.forwardRef(function TextMaskAdapte
6571
6474
  }
6572
6475
  );
6573
6476
  });
6574
- var MonthRangePicker = (0, import_react41.forwardRef)((inProps, ref) => {
6477
+ var MonthRangePicker = (0, import_react40.forwardRef)((inProps, ref) => {
6575
6478
  const props = (0, import_joy52.useThemeProps)({ props: inProps, name: "MonthRangePicker" });
6576
6479
  const {
6577
6480
  onChange,
@@ -6595,24 +6498,24 @@ var MonthRangePicker = (0, import_react41.forwardRef)((inProps, ref) => {
6595
6498
  } = props;
6596
6499
  const displayFormat = displayFormatProp ?? format;
6597
6500
  const isAlphabeticDisplay = hasAlphabeticMonth3(displayFormat);
6598
- const innerRef = (0, import_react41.useRef)(null);
6599
- const buttonRef = (0, import_react41.useRef)(null);
6501
+ const innerRef = (0, import_react40.useRef)(null);
6502
+ const buttonRef = (0, import_react40.useRef)(null);
6600
6503
  const [rawValue, setValue] = useControlledState(
6601
6504
  props.value,
6602
6505
  props.defaultValue ?? null,
6603
- (0, import_react41.useCallback)(
6506
+ (0, import_react40.useCallback)(
6604
6507
  (value2) => onChange?.({ target: { name: props.name, value: value2 ?? "" } }),
6605
6508
  [props.name, onChange]
6606
6509
  )
6607
6510
  );
6608
6511
  const value = rawValue ?? "";
6609
- const [displayValue, setDisplayValue] = (0, import_react41.useState)(
6512
+ const [displayValue, setDisplayValue] = (0, import_react40.useState)(
6610
6513
  () => value ? formatValueString4(parseDates2(value), displayFormat, locale) : ""
6611
6514
  );
6612
- const [anchorEl, setAnchorEl] = (0, import_react41.useState)(null);
6515
+ const [anchorEl, setAnchorEl] = (0, import_react40.useState)(null);
6613
6516
  const open = Boolean(anchorEl);
6614
- const calendarValue = (0, import_react41.useMemo)(() => value ? parseDates2(value) : void 0, [value]);
6615
- (0, import_react41.useEffect)(() => {
6517
+ const calendarValue = (0, import_react40.useMemo)(() => value ? parseDates2(value) : void 0, [value]);
6518
+ (0, import_react40.useEffect)(() => {
6616
6519
  if (value) {
6617
6520
  try {
6618
6521
  const dates = parseDates2(value);
@@ -6624,13 +6527,13 @@ var MonthRangePicker = (0, import_react41.forwardRef)((inProps, ref) => {
6624
6527
  setDisplayValue("");
6625
6528
  }
6626
6529
  }, [displayFormat, locale, value]);
6627
- (0, import_react41.useEffect)(() => {
6530
+ (0, import_react40.useEffect)(() => {
6628
6531
  if (!anchorEl) {
6629
6532
  innerRef.current?.blur();
6630
6533
  }
6631
6534
  }, [anchorEl, innerRef]);
6632
- (0, import_react41.useImperativeHandle)(ref, () => innerRef.current, [innerRef]);
6633
- const handleChange = (0, import_react41.useCallback)(
6535
+ (0, import_react40.useImperativeHandle)(ref, () => innerRef.current, [innerRef]);
6536
+ const handleChange = (0, import_react40.useCallback)(
6634
6537
  (event) => {
6635
6538
  setDisplayValue(
6636
6539
  event.target.value ? formatValueString4(parseDates2(event.target.value), displayFormat, locale) : ""
@@ -6639,7 +6542,7 @@ var MonthRangePicker = (0, import_react41.forwardRef)((inProps, ref) => {
6639
6542
  },
6640
6543
  [displayFormat, locale, setValue]
6641
6544
  );
6642
- const handleInputMouseDown = (0, import_react41.useCallback)(
6545
+ const handleInputMouseDown = (0, import_react40.useCallback)(
6643
6546
  (event) => {
6644
6547
  if (isAlphabeticDisplay) {
6645
6548
  event.preventDefault();
@@ -6648,14 +6551,14 @@ var MonthRangePicker = (0, import_react41.forwardRef)((inProps, ref) => {
6648
6551
  },
6649
6552
  [isAlphabeticDisplay, buttonRef]
6650
6553
  );
6651
- const handleCalendarToggle = (0, import_react41.useCallback)(
6554
+ const handleCalendarToggle = (0, import_react40.useCallback)(
6652
6555
  (event) => {
6653
6556
  setAnchorEl(anchorEl ? null : event.currentTarget);
6654
6557
  innerRef.current?.focus();
6655
6558
  },
6656
6559
  [anchorEl, setAnchorEl, innerRef]
6657
6560
  );
6658
- const handleCalendarChange = (0, import_react41.useCallback)(
6561
+ const handleCalendarChange = (0, import_react40.useCallback)(
6659
6562
  ([date1, date2]) => {
6660
6563
  if (!date1 || !date2) return;
6661
6564
  const formattedValue = formatValueString4([date1, date2], format);
@@ -6665,7 +6568,7 @@ var MonthRangePicker = (0, import_react41.forwardRef)((inProps, ref) => {
6665
6568
  },
6666
6569
  [setValue, setAnchorEl, format, displayFormat, locale]
6667
6570
  );
6668
- return /* @__PURE__ */ import_react41.default.createElement(MonthRangePickerRoot, null, /* @__PURE__ */ import_react41.default.createElement(import_base6.FocusTrap, { open: true }, /* @__PURE__ */ import_react41.default.createElement(import_react41.default.Fragment, null, /* @__PURE__ */ import_react41.default.createElement(
6571
+ return /* @__PURE__ */ import_react40.default.createElement(MonthRangePickerRoot, null, /* @__PURE__ */ import_react40.default.createElement(import_base6.FocusTrap, { open: true }, /* @__PURE__ */ import_react40.default.createElement(import_react40.default.Fragment, null, /* @__PURE__ */ import_react40.default.createElement(
6669
6572
  Input_default,
6670
6573
  {
6671
6574
  ...innerProps,
@@ -6695,7 +6598,7 @@ var MonthRangePicker = (0, import_react41.forwardRef)((inProps, ref) => {
6695
6598
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
6696
6599
  fontFamily: "monospace"
6697
6600
  },
6698
- endDecorator: /* @__PURE__ */ import_react41.default.createElement(
6601
+ endDecorator: /* @__PURE__ */ import_react40.default.createElement(
6699
6602
  IconButton_default,
6700
6603
  {
6701
6604
  ref: buttonRef,
@@ -6706,12 +6609,12 @@ var MonthRangePicker = (0, import_react41.forwardRef)((inProps, ref) => {
6706
6609
  "aria-haspopup": "dialog",
6707
6610
  "aria-expanded": open
6708
6611
  },
6709
- /* @__PURE__ */ import_react41.default.createElement(import_CalendarToday4.default, null)
6612
+ /* @__PURE__ */ import_react40.default.createElement(import_CalendarToday4.default, null)
6710
6613
  ),
6711
6614
  label,
6712
6615
  helperText
6713
6616
  }
6714
- ), open && /* @__PURE__ */ import_react41.default.createElement(import_base6.ClickAwayListener, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ import_react41.default.createElement(
6617
+ ), open && /* @__PURE__ */ import_react40.default.createElement(import_base6.ClickAwayListener, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ import_react40.default.createElement(
6715
6618
  StyledPopper4,
6716
6619
  {
6717
6620
  id: "month-range-picker-popper",
@@ -6730,7 +6633,7 @@ var MonthRangePicker = (0, import_react41.forwardRef)((inProps, ref) => {
6730
6633
  "aria-label": "Calendar Tooltip",
6731
6634
  "aria-expanded": open
6732
6635
  },
6733
- /* @__PURE__ */ import_react41.default.createElement(CalendarSheet4, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ import_react41.default.createElement(
6636
+ /* @__PURE__ */ import_react40.default.createElement(CalendarSheet4, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ import_react40.default.createElement(
6734
6637
  Calendar_default,
6735
6638
  {
6736
6639
  view: "month",
@@ -6744,14 +6647,14 @@ var MonthRangePicker = (0, import_react41.forwardRef)((inProps, ref) => {
6744
6647
  disablePast,
6745
6648
  locale
6746
6649
  }
6747
- ), /* @__PURE__ */ import_react41.default.createElement(
6650
+ ), /* @__PURE__ */ import_react40.default.createElement(
6748
6651
  DialogActions_default,
6749
6652
  {
6750
6653
  sx: {
6751
6654
  p: 1
6752
6655
  }
6753
6656
  },
6754
- /* @__PURE__ */ import_react41.default.createElement(
6657
+ /* @__PURE__ */ import_react40.default.createElement(
6755
6658
  Button_default,
6756
6659
  {
6757
6660
  size,
@@ -6770,7 +6673,7 @@ var MonthRangePicker = (0, import_react41.forwardRef)((inProps, ref) => {
6770
6673
  MonthRangePicker.displayName = "MonthRangePicker";
6771
6674
 
6772
6675
  // src/components/NavigationGroup/NavigationGroup.tsx
6773
- var import_react42 = __toESM(require("react"));
6676
+ var import_react41 = __toESM(require("react"));
6774
6677
  var import_joy53 = require("@mui/joy");
6775
6678
  var AccordionSummary2 = (0, import_joy53.styled)(import_joy53.AccordionSummary, {
6776
6679
  name: "NavigationGroup",
@@ -6794,11 +6697,11 @@ var AccordionDetails2 = (0, import_joy53.styled)(import_joy53.AccordionDetails,
6794
6697
  }));
6795
6698
  function NavigationGroup(props) {
6796
6699
  const { title, children, startDecorator, level, ...rest } = props;
6797
- return /* @__PURE__ */ import_react42.default.createElement(import_joy53.Accordion, { ...rest }, /* @__PURE__ */ import_react42.default.createElement(AccordionSummary2, { useIcon: !!startDecorator, level }, /* @__PURE__ */ import_react42.default.createElement(import_joy53.Stack, { direction: "row", gap: 4 }, startDecorator, title)), /* @__PURE__ */ import_react42.default.createElement(AccordionDetails2, null, children));
6700
+ return /* @__PURE__ */ import_react41.default.createElement(import_joy53.Accordion, { ...rest }, /* @__PURE__ */ import_react41.default.createElement(AccordionSummary2, { useIcon: !!startDecorator, level }, /* @__PURE__ */ import_react41.default.createElement(import_joy53.Stack, { direction: "row", gap: 4 }, startDecorator, title)), /* @__PURE__ */ import_react41.default.createElement(AccordionDetails2, null, children));
6798
6701
  }
6799
6702
 
6800
6703
  // src/components/NavigationItem/NavigationItem.tsx
6801
- var import_react43 = __toESM(require("react"));
6704
+ var import_react42 = __toESM(require("react"));
6802
6705
  var import_joy54 = require("@mui/joy");
6803
6706
  var ListItemButton = (0, import_joy54.styled)(import_joy54.ListItemButton, {
6804
6707
  name: "NavigationItem",
@@ -6827,7 +6730,7 @@ function NavigationItem(props) {
6827
6730
  const handleClick = () => {
6828
6731
  onClick?.(id);
6829
6732
  };
6830
- return /* @__PURE__ */ import_react43.default.createElement(import_joy54.ListItem, { ...rest }, /* @__PURE__ */ import_react43.default.createElement(
6733
+ return /* @__PURE__ */ import_react42.default.createElement(import_joy54.ListItem, { ...rest }, /* @__PURE__ */ import_react42.default.createElement(
6831
6734
  ListItemButton,
6832
6735
  {
6833
6736
  level,
@@ -6836,21 +6739,21 @@ function NavigationItem(props) {
6836
6739
  "aria-current": selected,
6837
6740
  onClick: handleClick
6838
6741
  },
6839
- startDecorator && /* @__PURE__ */ import_react43.default.createElement(import_joy54.ListItemDecorator, null, startDecorator),
6742
+ startDecorator && /* @__PURE__ */ import_react42.default.createElement(import_joy54.ListItemDecorator, null, startDecorator),
6840
6743
  children
6841
6744
  ));
6842
6745
  }
6843
6746
 
6844
6747
  // src/components/Navigator/Navigator.tsx
6845
- var import_react44 = __toESM(require("react"));
6748
+ var import_react43 = __toESM(require("react"));
6846
6749
  function Navigator(props) {
6847
6750
  const { items, level = 0, onSelect } = props;
6848
6751
  const handleItemClick = (id) => {
6849
6752
  onSelect?.(id);
6850
6753
  };
6851
- return /* @__PURE__ */ import_react44.default.createElement("div", null, items.map((item, index) => {
6754
+ return /* @__PURE__ */ import_react43.default.createElement("div", null, items.map((item, index) => {
6852
6755
  if (item.type === "item") {
6853
- return /* @__PURE__ */ import_react44.default.createElement(
6756
+ return /* @__PURE__ */ import_react43.default.createElement(
6854
6757
  NavigationItem,
6855
6758
  {
6856
6759
  key: item.id,
@@ -6863,7 +6766,7 @@ function Navigator(props) {
6863
6766
  item.title
6864
6767
  );
6865
6768
  } else if (item.type === "group") {
6866
- return /* @__PURE__ */ import_react44.default.createElement(
6769
+ return /* @__PURE__ */ import_react43.default.createElement(
6867
6770
  NavigationGroup,
6868
6771
  {
6869
6772
  key: `${item.title}-${index}`,
@@ -6881,16 +6784,16 @@ function Navigator(props) {
6881
6784
  Navigator.displayName = "Navigator";
6882
6785
 
6883
6786
  // src/components/PercentageInput/PercentageInput.tsx
6884
- var import_react45 = __toESM(require("react"));
6787
+ var import_react44 = __toESM(require("react"));
6885
6788
  var import_react_number_format2 = require("react-number-format");
6886
6789
  var import_joy55 = require("@mui/joy");
6887
6790
  var padDecimal = (value, decimalScale) => {
6888
6791
  const [integer, decimal = ""] = `${value}`.split(".");
6889
6792
  return Number(`${integer}${decimal.padEnd(decimalScale, "0")}`);
6890
6793
  };
6891
- var TextMaskAdapter9 = import_react45.default.forwardRef(function TextMaskAdapter10(props, ref) {
6794
+ var TextMaskAdapter9 = import_react44.default.forwardRef(function TextMaskAdapter10(props, ref) {
6892
6795
  const { onChange, min, max, ...innerProps } = props;
6893
- return /* @__PURE__ */ import_react45.default.createElement(
6796
+ return /* @__PURE__ */ import_react44.default.createElement(
6894
6797
  import_react_number_format2.NumericFormat,
6895
6798
  {
6896
6799
  ...innerProps,
@@ -6915,7 +6818,7 @@ var PercentageInputRoot = (0, import_joy55.styled)(Input_default, {
6915
6818
  slot: "Root",
6916
6819
  overridesResolver: (props, styles) => styles.root
6917
6820
  })({});
6918
- var PercentageInput = import_react45.default.forwardRef(
6821
+ var PercentageInput = import_react44.default.forwardRef(
6919
6822
  function PercentageInput2(inProps, ref) {
6920
6823
  const props = (0, import_joy55.useThemeProps)({ props: inProps, name: "PercentageInput" });
6921
6824
  const {
@@ -6938,19 +6841,19 @@ var PercentageInput = import_react45.default.forwardRef(
6938
6841
  const [_value, setValue] = useControlledState(
6939
6842
  props.value,
6940
6843
  props.defaultValue ?? null,
6941
- (0, import_react45.useCallback)((value2) => onChange?.({ target: { name, value: value2 } }), [onChange, name])
6844
+ (0, import_react44.useCallback)((value2) => onChange?.({ target: { name, value: value2 } }), [onChange, name])
6942
6845
  );
6943
- const value = (0, import_react45.useMemo)(() => {
6846
+ const value = (0, import_react44.useMemo)(() => {
6944
6847
  if (_value && useMinorUnit) {
6945
6848
  return _value / Math.pow(10, maxDecimalScale);
6946
6849
  }
6947
6850
  return _value;
6948
6851
  }, [_value, useMinorUnit, maxDecimalScale]);
6949
- const internalError = (0, import_react45.useMemo)(
6852
+ const internalError = (0, import_react44.useMemo)(
6950
6853
  () => value != null && (max != null && value > max || min != null && value < min),
6951
6854
  [max, min, value]
6952
6855
  );
6953
- const handleChange = (0, import_react45.useCallback)(
6856
+ const handleChange = (0, import_react44.useCallback)(
6954
6857
  (event) => {
6955
6858
  if (event.target.value === "") {
6956
6859
  setValue(null);
@@ -6962,7 +6865,7 @@ var PercentageInput = import_react45.default.forwardRef(
6962
6865
  },
6963
6866
  [setValue, useMinorUnit, maxDecimalScale]
6964
6867
  );
6965
- return /* @__PURE__ */ import_react45.default.createElement(
6868
+ return /* @__PURE__ */ import_react44.default.createElement(
6966
6869
  PercentageInputRoot,
6967
6870
  {
6968
6871
  ...innerProps,
@@ -7003,7 +6906,7 @@ var RadioGroup = MotionRadioGroup;
7003
6906
  RadioGroup.displayName = "RadioGroup";
7004
6907
 
7005
6908
  // src/components/RadioTileGroup/RadioTileGroup.tsx
7006
- var import_react46 = __toESM(require("react"));
6909
+ var import_react45 = __toESM(require("react"));
7007
6910
  var import_joy57 = require("@mui/joy");
7008
6911
  var RadioTileGroupRoot = (0, import_joy57.styled)(RadioGroup, {
7009
6912
  name: "RadioTileGroup",
@@ -7091,7 +6994,7 @@ function RadioTileGroup(props) {
7091
6994
  error,
7092
6995
  required
7093
6996
  } = props;
7094
- const radioGroup = /* @__PURE__ */ import_react46.default.createElement(
6997
+ const radioGroup = /* @__PURE__ */ import_react45.default.createElement(
7095
6998
  RadioTileGroupRoot,
7096
6999
  {
7097
7000
  overlay: true,
@@ -7102,7 +7005,7 @@ function RadioTileGroup(props) {
7102
7005
  flex,
7103
7006
  columns
7104
7007
  },
7105
- options.map((option) => /* @__PURE__ */ import_react46.default.createElement(
7008
+ options.map((option) => /* @__PURE__ */ import_react45.default.createElement(
7106
7009
  RadioTileSheet,
7107
7010
  {
7108
7011
  key: option.value,
@@ -7112,7 +7015,7 @@ function RadioTileGroup(props) {
7112
7015
  flex,
7113
7016
  textAlign
7114
7017
  },
7115
- /* @__PURE__ */ import_react46.default.createElement(
7018
+ /* @__PURE__ */ import_react45.default.createElement(
7116
7019
  Radio,
7117
7020
  {
7118
7021
  id: `${option.value}`,
@@ -7141,7 +7044,7 @@ function RadioTileGroup(props) {
7141
7044
  }
7142
7045
  }
7143
7046
  ),
7144
- option.startDecorator && /* @__PURE__ */ import_react46.default.createElement(
7047
+ option.startDecorator && /* @__PURE__ */ import_react45.default.createElement(
7145
7048
  Box_default,
7146
7049
  {
7147
7050
  sx: {
@@ -7162,15 +7065,15 @@ function RadioTileGroup(props) {
7162
7065
  )
7163
7066
  ))
7164
7067
  );
7165
- return /* @__PURE__ */ import_react46.default.createElement(FormControl_default, { required, disabled: allDisabled, error, size, sx, className }, label && /* @__PURE__ */ import_react46.default.createElement(FormLabel_default, null, label), radioGroup, helperText && /* @__PURE__ */ import_react46.default.createElement(FormHelperText_default, null, helperText));
7068
+ return /* @__PURE__ */ import_react45.default.createElement(FormControl_default, { required, disabled: allDisabled, error, size, sx, className }, label && /* @__PURE__ */ import_react45.default.createElement(FormLabel_default, null, label), radioGroup, helperText && /* @__PURE__ */ import_react45.default.createElement(FormHelperText_default, null, helperText));
7166
7069
  }
7167
7070
  RadioTileGroup.displayName = "RadioTileGroup";
7168
7071
 
7169
7072
  // src/components/RadioList/RadioList.tsx
7170
- var import_react47 = __toESM(require("react"));
7073
+ var import_react46 = __toESM(require("react"));
7171
7074
  function RadioList(props) {
7172
7075
  const { items, ...innerProps } = props;
7173
- return /* @__PURE__ */ import_react47.default.createElement(RadioGroup, { ...innerProps }, items.map((item) => /* @__PURE__ */ import_react47.default.createElement(Radio, { key: `${item.value}`, value: item.value, label: item.label })));
7076
+ return /* @__PURE__ */ import_react46.default.createElement(RadioGroup, { ...innerProps }, items.map((item) => /* @__PURE__ */ import_react46.default.createElement(Radio, { key: `${item.value}`, value: item.value, label: item.label })));
7174
7077
  }
7175
7078
  RadioList.displayName = "RadioList";
7176
7079
 
@@ -7261,7 +7164,7 @@ var SearchBar = React44.forwardRef(function SearchBar2(inProps, ref) {
7261
7164
  SearchBar.displayName = "SearchBar";
7262
7165
 
7263
7166
  // src/components/Stepper/Stepper.tsx
7264
- var import_react48 = __toESM(require("react"));
7167
+ var import_react47 = __toESM(require("react"));
7265
7168
  var import_joy58 = require("@mui/joy");
7266
7169
  var import_Check = __toESM(require("@mui/icons-material/Check"));
7267
7170
  var import_framer_motion28 = require("framer-motion");
@@ -7290,7 +7193,7 @@ function Stepper(props) {
7290
7193
  stepOrientation = "horizontal"
7291
7194
  } = props;
7292
7195
  const effectiveStepOrientation = orientation === "vertical" ? "horizontal" : stepOrientation;
7293
- return /* @__PURE__ */ import_react48.default.createElement(
7196
+ return /* @__PURE__ */ import_react47.default.createElement(
7294
7197
  MotionStepper,
7295
7198
  {
7296
7199
  orientation,
@@ -7329,23 +7232,23 @@ function Stepper(props) {
7329
7232
  const completed = activeStep > i + 1;
7330
7233
  const disabled = activeStep < i + 1;
7331
7234
  const hasContent = step.label || step.extraContent;
7332
- return /* @__PURE__ */ import_react48.default.createElement(
7235
+ return /* @__PURE__ */ import_react47.default.createElement(
7333
7236
  Step,
7334
7237
  {
7335
7238
  key: `step-${i}`,
7336
- indicator: /* @__PURE__ */ import_react48.default.createElement(StepIndicator, { variant: disabled ? "outlined" : "solid", color: disabled ? "neutral" : "primary" }, completed ? /* @__PURE__ */ import_react48.default.createElement(import_Check.default, null) : step.indicatorContent),
7239
+ indicator: /* @__PURE__ */ import_react47.default.createElement(StepIndicator, { variant: disabled ? "outlined" : "solid", color: disabled ? "neutral" : "primary" }, completed ? /* @__PURE__ */ import_react47.default.createElement(import_Check.default, null) : step.indicatorContent),
7337
7240
  active,
7338
7241
  completed,
7339
7242
  disabled,
7340
7243
  orientation: effectiveStepOrientation
7341
7244
  },
7342
- hasContent && /* @__PURE__ */ import_react48.default.createElement(
7245
+ hasContent && /* @__PURE__ */ import_react47.default.createElement(
7343
7246
  Stack_default,
7344
7247
  {
7345
7248
  sx: orientation === "horizontal" && effectiveStepOrientation === "vertical" ? { alignItems: "center" } : {}
7346
7249
  },
7347
- step.label && /* @__PURE__ */ import_react48.default.createElement(Typography_default, { level: "title-sm" }, step.label),
7348
- step.extraContent && /* @__PURE__ */ import_react48.default.createElement(Typography_default, { level: "body-xs" }, step.extraContent)
7250
+ step.label && /* @__PURE__ */ import_react47.default.createElement(Typography_default, { level: "title-sm" }, step.label),
7251
+ step.extraContent && /* @__PURE__ */ import_react47.default.createElement(Typography_default, { level: "body-xs" }, step.extraContent)
7349
7252
  )
7350
7253
  );
7351
7254
  })
@@ -7354,7 +7257,7 @@ function Stepper(props) {
7354
7257
  Stepper.displayName = "Stepper";
7355
7258
 
7356
7259
  // src/components/Switch/Switch.tsx
7357
- var import_react49 = __toESM(require("react"));
7260
+ var import_react48 = __toESM(require("react"));
7358
7261
  var import_joy59 = require("@mui/joy");
7359
7262
  var import_framer_motion29 = require("framer-motion");
7360
7263
  var MotionSwitch = (0, import_framer_motion29.motion)(import_joy59.Switch);
@@ -7376,14 +7279,14 @@ var StyledThumb = (0, import_joy59.styled)(import_framer_motion29.motion.div)({
7376
7279
  right: "var(--Switch-thumbOffset)"
7377
7280
  }
7378
7281
  });
7379
- var Thumb = (props) => /* @__PURE__ */ import_react49.default.createElement(StyledThumb, { ...props, layout: true, transition: spring });
7282
+ var Thumb = (props) => /* @__PURE__ */ import_react48.default.createElement(StyledThumb, { ...props, layout: true, transition: spring });
7380
7283
  var spring = {
7381
7284
  type: "spring",
7382
7285
  stiffness: 700,
7383
7286
  damping: 30
7384
7287
  };
7385
7288
  var Switch = (props) => {
7386
- return /* @__PURE__ */ import_react49.default.createElement(
7289
+ return /* @__PURE__ */ import_react48.default.createElement(
7387
7290
  MotionSwitch,
7388
7291
  {
7389
7292
  ...props,
@@ -7397,7 +7300,7 @@ var Switch = (props) => {
7397
7300
  Switch.displayName = "Switch";
7398
7301
 
7399
7302
  // src/components/Tabs/Tabs.tsx
7400
- var import_react50 = __toESM(require("react"));
7303
+ var import_react49 = __toESM(require("react"));
7401
7304
  var import_joy60 = require("@mui/joy");
7402
7305
  var StyledTabs = (0, import_joy60.styled)(import_joy60.Tabs)(({ theme }) => ({
7403
7306
  backgroundColor: theme.palette.background.body
@@ -7413,15 +7316,15 @@ var StyledTab = (0, import_joy60.styled)(import_joy60.Tab)(({ theme }) => ({
7413
7316
  backgroundColor: theme.palette.background.body
7414
7317
  }
7415
7318
  }));
7416
- var Tab = (0, import_react50.forwardRef)(function Tab2({ startDecorator, endDecorator, children, ...props }, ref) {
7417
- return /* @__PURE__ */ import_react50.default.createElement(StyledTab, { ...props, ref }, startDecorator, children, endDecorator);
7319
+ var Tab = (0, import_react49.forwardRef)(function Tab2({ startDecorator, endDecorator, children, ...props }, ref) {
7320
+ return /* @__PURE__ */ import_react49.default.createElement(StyledTab, { ...props, ref }, startDecorator, children, endDecorator);
7418
7321
  });
7419
7322
  Tab.displayName = "Tab";
7420
7323
  var TabList = import_joy60.TabList;
7421
7324
  var TabPanel = import_joy60.TabPanel;
7422
7325
 
7423
7326
  // src/components/ThemeProvider/ThemeProvider.tsx
7424
- var import_react51 = __toESM(require("react"));
7327
+ var import_react50 = __toESM(require("react"));
7425
7328
  var import_joy61 = require("@mui/joy");
7426
7329
  var colorScheme = {
7427
7330
  palette: {
@@ -7687,12 +7590,12 @@ var defaultTheme = (0, import_joy61.extendTheme)({
7687
7590
  });
7688
7591
  function ThemeProvider(props) {
7689
7592
  const theme = props.theme || defaultTheme;
7690
- return /* @__PURE__ */ import_react51.default.createElement(import_react51.default.Fragment, null, /* @__PURE__ */ import_react51.default.createElement(import_joy61.CssVarsProvider, { theme }, /* @__PURE__ */ import_react51.default.createElement(import_joy61.CssBaseline, null), props.children));
7593
+ return /* @__PURE__ */ import_react50.default.createElement(import_react50.default.Fragment, null, /* @__PURE__ */ import_react50.default.createElement(import_joy61.CssVarsProvider, { theme }, /* @__PURE__ */ import_react50.default.createElement(import_joy61.CssBaseline, null), props.children));
7691
7594
  }
7692
7595
  ThemeProvider.displayName = "ThemeProvider";
7693
7596
 
7694
7597
  // src/components/Uploader/Uploader.tsx
7695
- var import_react52 = __toESM(require("react"));
7598
+ var import_react51 = __toESM(require("react"));
7696
7599
  var import_joy62 = require("@mui/joy");
7697
7600
  var import_CloudUploadRounded = __toESM(require("@mui/icons-material/CloudUploadRounded"));
7698
7601
  var import_UploadFileRounded = __toESM(require("@mui/icons-material/UploadFileRounded"));
@@ -7755,7 +7658,7 @@ var getFileSize = (n) => {
7755
7658
  };
7756
7659
  var Preview = (props) => {
7757
7660
  const { files, uploaded, onDelete } = props;
7758
- return /* @__PURE__ */ import_react52.default.createElement(PreviewRoot, { gap: 1 }, [...uploaded, ...files].map((file) => /* @__PURE__ */ import_react52.default.createElement(UploadCard, { key: file.name, size: "sm", color: "neutral" }, /* @__PURE__ */ import_react52.default.createElement(Stack_default, { direction: "row", alignItems: "center", gap: 2 }, /* @__PURE__ */ import_react52.default.createElement(UploadFileIcon, null), /* @__PURE__ */ import_react52.default.createElement(Stack_default, { flex: "1", sx: { overflow: "hidden" } }, /* @__PURE__ */ import_react52.default.createElement(
7661
+ return /* @__PURE__ */ import_react51.default.createElement(PreviewRoot, { gap: 1 }, [...uploaded, ...files].map((file) => /* @__PURE__ */ import_react51.default.createElement(UploadCard, { key: file.name, size: "sm", color: "neutral" }, /* @__PURE__ */ import_react51.default.createElement(Stack_default, { direction: "row", alignItems: "center", gap: 2 }, /* @__PURE__ */ import_react51.default.createElement(UploadFileIcon, null), /* @__PURE__ */ import_react51.default.createElement(Stack_default, { flex: "1", sx: { overflow: "hidden" } }, /* @__PURE__ */ import_react51.default.createElement(
7759
7662
  Typography_default,
7760
7663
  {
7761
7664
  level: "body-sm",
@@ -7767,7 +7670,7 @@ var Preview = (props) => {
7767
7670
  }
7768
7671
  },
7769
7672
  file.name
7770
- ), !!file.size && /* @__PURE__ */ import_react52.default.createElement(Typography_default, { level: "body-xs", fontWeight: "300", lineHeight: "1.33", textColor: "text.tertiary" }, getFileSize(file.size))), /* @__PURE__ */ import_react52.default.createElement(IconButton_default, { onClick: () => onDelete?.(file) }, /* @__PURE__ */ import_react52.default.createElement(ClearIcon2, null))))));
7673
+ ), !!file.size && /* @__PURE__ */ import_react51.default.createElement(Typography_default, { level: "body-xs", fontWeight: "300", lineHeight: "1.33", textColor: "text.tertiary" }, getFileSize(file.size))), /* @__PURE__ */ import_react51.default.createElement(IconButton_default, { onClick: () => onDelete?.(file) }, /* @__PURE__ */ import_react51.default.createElement(ClearIcon2, null))))));
7771
7674
  };
7772
7675
  var UploaderRoot = (0, import_joy62.styled)(Stack_default, {
7773
7676
  name: "Uploader",
@@ -7810,7 +7713,7 @@ var UploaderIcon = (0, import_joy62.styled)(import_CloudUploadRounded.default, {
7810
7713
  }
7811
7714
  })
7812
7715
  );
7813
- var Uploader = import_react52.default.memo((props) => {
7716
+ var Uploader = import_react51.default.memo((props) => {
7814
7717
  const {
7815
7718
  accept,
7816
7719
  minCount,
@@ -7826,14 +7729,14 @@ var Uploader = import_react52.default.memo((props) => {
7826
7729
  error: errorProp,
7827
7730
  helperText: helperTextProp
7828
7731
  } = props;
7829
- const dropZoneRef = (0, import_react52.useRef)(null);
7830
- const inputRef = (0, import_react52.useRef)(null);
7831
- const [errorText, setErrorText] = (0, import_react52.useState)();
7832
- const [files, setFiles] = (0, import_react52.useState)([]);
7833
- const [uploaded, setUploaded] = (0, import_react52.useState)(props.uploaded || []);
7834
- const [previewState, setPreviewState] = (0, import_react52.useState)("idle");
7835
- const accepts = (0, import_react52.useMemo)(() => accept.split(",").map((accept2) => accept2.trim()), [accept]);
7836
- const parsedAccepts = (0, import_react52.useMemo)(
7732
+ const dropZoneRef = (0, import_react51.useRef)(null);
7733
+ const inputRef = (0, import_react51.useRef)(null);
7734
+ const [errorText, setErrorText] = (0, import_react51.useState)();
7735
+ const [files, setFiles] = (0, import_react51.useState)([]);
7736
+ const [uploaded, setUploaded] = (0, import_react51.useState)(props.uploaded || []);
7737
+ const [previewState, setPreviewState] = (0, import_react51.useState)("idle");
7738
+ const accepts = (0, import_react51.useMemo)(() => accept.split(",").map((accept2) => accept2.trim()), [accept]);
7739
+ const parsedAccepts = (0, import_react51.useMemo)(
7837
7740
  () => accepts.flatMap((type) => {
7838
7741
  if (["image/*", "video/*", "audio/*"].includes(type)) {
7839
7742
  return ALL_EXTENSIONS_BY_TYPE[type];
@@ -7842,7 +7745,7 @@ var Uploader = import_react52.default.memo((props) => {
7842
7745
  }),
7843
7746
  [accepts]
7844
7747
  );
7845
- const helperText = (0, import_react52.useMemo)(() => {
7748
+ const helperText = (0, import_react51.useMemo)(() => {
7846
7749
  if (helperTextProp) {
7847
7750
  return helperTextProp;
7848
7751
  }
@@ -7872,12 +7775,12 @@ var Uploader = import_react52.default.memo((props) => {
7872
7775
  }
7873
7776
  return helperTexts.join(", ");
7874
7777
  }, [accepts, maxFileTotalSize, maxCount, helperTextProp]);
7875
- const error = (0, import_react52.useMemo)(() => !!errorText || errorProp, [errorProp, errorText]);
7876
- const showDropZone = (0, import_react52.useMemo)(
7778
+ const error = (0, import_react51.useMemo)(() => !!errorText || errorProp, [errorProp, errorText]);
7779
+ const showDropZone = (0, import_react51.useMemo)(
7877
7780
  () => !maxCount || maxCount && [...uploaded, ...files].length !== maxCount,
7878
7781
  [files, maxCount, uploaded]
7879
7782
  );
7880
- const addFiles = (0, import_react52.useCallback)(
7783
+ const addFiles = (0, import_react51.useCallback)(
7881
7784
  (uploads) => {
7882
7785
  try {
7883
7786
  const types = parsedAccepts.map((type) => type.replace(".", "")) || [];
@@ -7922,7 +7825,7 @@ var Uploader = import_react52.default.memo((props) => {
7922
7825
  },
7923
7826
  [files, uploaded, maxCount, parsedAccepts, maxFileSize, maxFileTotalSize, name, onChange]
7924
7827
  );
7925
- (0, import_react52.useEffect)(() => {
7828
+ (0, import_react51.useEffect)(() => {
7926
7829
  if (!dropZoneRef.current || disabled) {
7927
7830
  return;
7928
7831
  }
@@ -7950,7 +7853,7 @@ var Uploader = import_react52.default.memo((props) => {
7950
7853
  })
7951
7854
  );
7952
7855
  }, [disabled, addFiles]);
7953
- (0, import_react52.useEffect)(() => {
7856
+ (0, import_react51.useEffect)(() => {
7954
7857
  if (inputRef.current && minCount) {
7955
7858
  if (files.length < minCount) {
7956
7859
  inputRef.current.setCustomValidity(`At least ${minCount} files are required.`);
@@ -7959,14 +7862,14 @@ var Uploader = import_react52.default.memo((props) => {
7959
7862
  }
7960
7863
  }
7961
7864
  }, [inputRef, files, minCount]);
7962
- const handleFileChanged = (0, import_react52.useCallback)(
7865
+ const handleFileChanged = (0, import_react51.useCallback)(
7963
7866
  (event) => {
7964
7867
  const files2 = Array.from(event.target.files || []);
7965
7868
  addFiles(files2);
7966
7869
  },
7967
7870
  [addFiles]
7968
7871
  );
7969
- const handleDeleteFile = (0, import_react52.useCallback)(
7872
+ const handleDeleteFile = (0, import_react51.useCallback)(
7970
7873
  (deletedFile) => {
7971
7874
  if (deletedFile instanceof File) {
7972
7875
  setFiles((current) => {
@@ -7986,10 +7889,10 @@ var Uploader = import_react52.default.memo((props) => {
7986
7889
  },
7987
7890
  [name, onChange, onDelete]
7988
7891
  );
7989
- const handleUploaderButtonClick = (0, import_react52.useCallback)(() => {
7892
+ const handleUploaderButtonClick = (0, import_react51.useCallback)(() => {
7990
7893
  inputRef.current?.click();
7991
7894
  }, []);
7992
- const uploader = /* @__PURE__ */ import_react52.default.createElement(
7895
+ const uploader = /* @__PURE__ */ import_react51.default.createElement(
7993
7896
  FileDropZone,
7994
7897
  {
7995
7898
  state: previewState,
@@ -7998,8 +7901,8 @@ var Uploader = import_react52.default.memo((props) => {
7998
7901
  ref: dropZoneRef,
7999
7902
  onClick: handleUploaderButtonClick
8000
7903
  },
8001
- /* @__PURE__ */ import_react52.default.createElement(Stack_default, { alignItems: "center", gap: 1 }, /* @__PURE__ */ import_react52.default.createElement(UploaderIcon, { state: previewState, error: !!(error || errorText), disabled })),
8002
- /* @__PURE__ */ import_react52.default.createElement(
7904
+ /* @__PURE__ */ import_react51.default.createElement(Stack_default, { alignItems: "center", gap: 1 }, /* @__PURE__ */ import_react51.default.createElement(UploaderIcon, { state: previewState, error: !!(error || errorText), disabled })),
7905
+ /* @__PURE__ */ import_react51.default.createElement(
8003
7906
  VisuallyHiddenInput,
8004
7907
  {
8005
7908
  disabled,
@@ -8022,6 +7925,6 @@ var Uploader = import_react52.default.memo((props) => {
8022
7925
  }
8023
7926
  )
8024
7927
  );
8025
- return /* @__PURE__ */ import_react52.default.createElement(UploaderRoot, null, showDropZone && /* @__PURE__ */ import_react52.default.createElement(FormControl_default, { size, error: !!(error || errorText), disabled, required: !!minCount }, label && /* @__PURE__ */ import_react52.default.createElement(FormLabel_default, null, label), uploader, /* @__PURE__ */ import_react52.default.createElement(FormHelperText_default, null, /* @__PURE__ */ import_react52.default.createElement(Stack_default, null, errorText && /* @__PURE__ */ import_react52.default.createElement("div", null, errorText), /* @__PURE__ */ import_react52.default.createElement("div", null, helperText)))), [...uploaded, ...files].length > 0 && /* @__PURE__ */ import_react52.default.createElement(Preview, { files, uploaded, onDelete: handleDeleteFile }));
7928
+ return /* @__PURE__ */ import_react51.default.createElement(UploaderRoot, null, showDropZone && /* @__PURE__ */ import_react51.default.createElement(FormControl_default, { size, error: !!(error || errorText), disabled, required: !!minCount }, label && /* @__PURE__ */ import_react51.default.createElement(FormLabel_default, null, label), uploader, /* @__PURE__ */ import_react51.default.createElement(FormHelperText_default, null, /* @__PURE__ */ import_react51.default.createElement(Stack_default, null, errorText && /* @__PURE__ */ import_react51.default.createElement("div", null, errorText), /* @__PURE__ */ import_react51.default.createElement("div", null, helperText)))), [...uploaded, ...files].length > 0 && /* @__PURE__ */ import_react51.default.createElement(Preview, { files, uploaded, onDelete: handleDeleteFile }));
8026
7929
  });
8027
7930
  Uploader.displayName = "Uploader";