@ceed/cds 1.22.4 → 1.23.0

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.js CHANGED
@@ -759,11 +759,24 @@ Button.displayName = "Button";
759
759
  var Button_default = Button;
760
760
 
761
761
  // src/components/Calendar/Calendar.tsx
762
- import React11, { Fragment, forwardRef as forwardRef4, useMemo as useMemo4 } from "react";
762
+ import React12, { Fragment, forwardRef as forwardRef4, useCallback as useCallback5, useEffect as useEffect3, useMemo as useMemo4, useRef as useRef3, useState as useState4 } from "react";
763
763
  import { styled as styled5 } from "@mui/joy";
764
764
  import ChevronLeftIcon from "@mui/icons-material/ChevronLeft";
765
765
  import ChevronRightIcon from "@mui/icons-material/ChevronRight";
766
- import { AnimatePresence, motion as motion12 } from "framer-motion";
766
+ import { AnimatePresence, motion as motion13 } from "framer-motion";
767
+
768
+ // src/components/Tooltip/Tooltip.tsx
769
+ import React10 from "react";
770
+ import { Tooltip as JoyTooltip } from "@mui/joy";
771
+ import { motion as motion12 } from "framer-motion";
772
+ var MotionTooltip = motion12(JoyTooltip);
773
+ var Tooltip = (props) => {
774
+ return /* @__PURE__ */ React10.createElement(MotionTooltip, { ...props });
775
+ };
776
+ Tooltip.displayName = "Tooltip";
777
+
778
+ // src/components/Tooltip/index.ts
779
+ var Tooltip_default = Tooltip;
767
780
 
768
781
  // src/components/Calendar/utils/index.ts
769
782
  var getCalendarDates = (date) => {
@@ -1122,6 +1135,12 @@ var useCalendar = (ownerState) => {
1122
1135
  };
1123
1136
 
1124
1137
  // src/components/Calendar/Calendar.tsx
1138
+ var MONTH_VIEW_HINT_MESSAGE = "Click the month title to view all months.";
1139
+ var MONTH_NAV_CLICK_WINDOW_MS = 1200;
1140
+ var MONTH_NAV_CLICK_THRESHOLD = 3;
1141
+ var MONTH_VIEW_HINT_DURATION_MS = 5e3;
1142
+ var MONTH_VIEW_HINT_COOLDOWN_MS = 3e4;
1143
+ var lastMonthViewAssistHintShownAt = 0;
1125
1144
  var CalendarRoot = styled5("div", {
1126
1145
  name: "Calendar",
1127
1146
  slot: "root"
@@ -1148,7 +1167,7 @@ var CalendarViewContainer = styled5("div", {
1148
1167
  overflow: "hidden",
1149
1168
  minHeight: calendarType === "datePicker" ? "250px" : "unset"
1150
1169
  }));
1151
- var CalendarViewTable = styled5(motion12.table, {
1170
+ var CalendarViewTable = styled5(motion13.table, {
1152
1171
  name: "Calendar",
1153
1172
  slot: "viewTable"
1154
1173
  })(({ theme }) => ({
@@ -1328,7 +1347,7 @@ var PickerDays = (props) => {
1328
1347
  const { getPickerDayProps, getDayCellProps } = useCalendar(ownerState);
1329
1348
  const calendarDates = useMemo4(() => getCalendarDates(ownerState.viewMonth), [ownerState.viewMonth]);
1330
1349
  const weekdayNames = useMemo4(() => getWeekdayNames(ownerState.locale || "default"), [ownerState.locale]);
1331
- return /* @__PURE__ */ React11.createElement(CalendarViewContainer, { calendarType: "datePicker" }, /* @__PURE__ */ React11.createElement(AnimatePresence, { initial: false, custom: ownerState.direction }, /* @__PURE__ */ React11.createElement(
1350
+ return /* @__PURE__ */ React12.createElement(CalendarViewContainer, { calendarType: "datePicker" }, /* @__PURE__ */ React12.createElement(AnimatePresence, { initial: false, custom: ownerState.direction }, /* @__PURE__ */ React12.createElement(
1332
1351
  CalendarViewTable,
1333
1352
  {
1334
1353
  key: `${ownerState.viewMonth.toString()}_${ownerState.direction}`,
@@ -1357,10 +1376,10 @@ var PickerDays = (props) => {
1357
1376
  }
1358
1377
  }
1359
1378
  },
1360
- /* @__PURE__ */ React11.createElement(CalendarWeekHeaderContainer, null, /* @__PURE__ */ React11.createElement("tr", null, weekdayNames.map((name, i) => /* @__PURE__ */ React11.createElement(Fragment, { key: `${ownerState.viewMonth}_${name}_${i}` }, /* @__PURE__ */ React11.createElement("th", null, /* @__PURE__ */ React11.createElement(Typography_default, { level: "body-xs", textAlign: "center" }, name)), i < 6 && /* @__PURE__ */ React11.createElement("th", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" }))))),
1361
- /* @__PURE__ */ React11.createElement(CalendarDayPickerContainer, null, calendarDates.map((weekDates, rowIndex) => /* @__PURE__ */ React11.createElement(Fragment, { key: `${ownerState.viewMonth}_${rowIndex}` }, /* @__PURE__ */ React11.createElement("tr", null, weekDates.map(
1362
- (date, i) => date ? /* @__PURE__ */ React11.createElement(Fragment, { key: `${ownerState.viewMonth}_${date}_${i}` }, /* @__PURE__ */ React11.createElement(CalendarDayCell, { ...getDayCellProps(date) }, /* @__PURE__ */ React11.createElement(CalendarDay, { size: "sm", variant: "plain", color: "neutral", ...getPickerDayProps(date) }, date)), i < 6 && /* @__PURE__ */ React11.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" })) : /* @__PURE__ */ React11.createElement(Fragment, { key: `${ownerState.viewMonth}_${i}` }, /* @__PURE__ */ React11.createElement("td", null), i < 6 && /* @__PURE__ */ React11.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" }))
1363
- )), rowIndex < calendarDates.length - 1 && /* @__PURE__ */ React11.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" }, /* @__PURE__ */ React11.createElement("td", { colSpan: 13, style: { height: 4 } })))))
1379
+ /* @__PURE__ */ React12.createElement(CalendarWeekHeaderContainer, null, /* @__PURE__ */ React12.createElement("tr", null, weekdayNames.map((name, i) => /* @__PURE__ */ React12.createElement(Fragment, { key: `${ownerState.viewMonth}_${name}_${i}` }, /* @__PURE__ */ React12.createElement("th", null, /* @__PURE__ */ React12.createElement(Typography_default, { level: "body-xs", textAlign: "center" }, name)), i < 6 && /* @__PURE__ */ React12.createElement("th", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" }))))),
1380
+ /* @__PURE__ */ React12.createElement(CalendarDayPickerContainer, null, calendarDates.map((weekDates, rowIndex) => /* @__PURE__ */ React12.createElement(Fragment, { key: `${ownerState.viewMonth}_${rowIndex}` }, /* @__PURE__ */ React12.createElement("tr", null, weekDates.map(
1381
+ (date, i) => date ? /* @__PURE__ */ React12.createElement(Fragment, { key: `${ownerState.viewMonth}_${date}_${i}` }, /* @__PURE__ */ React12.createElement(CalendarDayCell, { ...getDayCellProps(date) }, /* @__PURE__ */ React12.createElement(CalendarDay, { size: "sm", variant: "plain", color: "neutral", ...getPickerDayProps(date) }, date)), i < 6 && /* @__PURE__ */ React12.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" })) : /* @__PURE__ */ React12.createElement(Fragment, { key: `${ownerState.viewMonth}_${i}` }, /* @__PURE__ */ React12.createElement("td", null), i < 6 && /* @__PURE__ */ React12.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" }))
1382
+ )), rowIndex < calendarDates.length - 1 && /* @__PURE__ */ React12.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" }, /* @__PURE__ */ React12.createElement("td", { colSpan: 13, style: { height: 4 } })))))
1364
1383
  )));
1365
1384
  };
1366
1385
  var PickerMonths = (props) => {
@@ -1377,7 +1396,7 @@ var PickerMonths = (props) => {
1377
1396
  [[]]
1378
1397
  );
1379
1398
  const isMonthPicker = !ownerState.views?.find((view) => view === "day");
1380
- return /* @__PURE__ */ React11.createElement(CalendarViewContainer, { calendarType: isMonthPicker ? "monthPicker" : "datePicker" }, /* @__PURE__ */ React11.createElement(AnimatePresence, { initial: false, custom: ownerState.direction }, /* @__PURE__ */ React11.createElement(
1399
+ return /* @__PURE__ */ React12.createElement(CalendarViewContainer, { calendarType: isMonthPicker ? "monthPicker" : "datePicker" }, /* @__PURE__ */ React12.createElement(AnimatePresence, { initial: false, custom: ownerState.direction }, /* @__PURE__ */ React12.createElement(
1381
1400
  CalendarViewTable,
1382
1401
  {
1383
1402
  key: `${ownerState.viewMonth.getFullYear()}_${ownerState.direction}`,
@@ -1406,7 +1425,7 @@ var PickerMonths = (props) => {
1406
1425
  }
1407
1426
  }
1408
1427
  },
1409
- /* @__PURE__ */ React11.createElement("tbody", null, chunkedMonths.map((months, i) => /* @__PURE__ */ React11.createElement(Fragment, { key: months.join("_") }, /* @__PURE__ */ React11.createElement("tr", null, months.map((monthIndex, j) => /* @__PURE__ */ React11.createElement(Fragment, { key: monthIndex }, /* @__PURE__ */ React11.createElement(CalendarMonthCell, { ...getMonthCellProps(monthIndex) }, /* @__PURE__ */ React11.createElement(CalendarMonth, { size: "sm", variant: "plain", color: "neutral", ...getPickerMonthProps(monthIndex) }, getMonthNameFromIndex(monthIndex, ownerState.locale))), j < 3 && /* @__PURE__ */ React11.createElement("td", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" })))), i < chunkedMonths.length - 1 && /* @__PURE__ */ React11.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" }, /* @__PURE__ */ React11.createElement("td", { colSpan: 7, style: { height: 4 } })))))
1428
+ /* @__PURE__ */ React12.createElement("tbody", null, chunkedMonths.map((months, i) => /* @__PURE__ */ React12.createElement(Fragment, { key: months.join("_") }, /* @__PURE__ */ React12.createElement("tr", null, months.map((monthIndex, j) => /* @__PURE__ */ React12.createElement(Fragment, { key: monthIndex }, /* @__PURE__ */ React12.createElement(CalendarMonthCell, { ...getMonthCellProps(monthIndex) }, /* @__PURE__ */ React12.createElement(CalendarMonth, { size: "sm", variant: "plain", color: "neutral", ...getPickerMonthProps(monthIndex) }, getMonthNameFromIndex(monthIndex, ownerState.locale))), j < 3 && /* @__PURE__ */ React12.createElement("td", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" })))), i < chunkedMonths.length - 1 && /* @__PURE__ */ React12.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" }, /* @__PURE__ */ React12.createElement("td", { colSpan: 7, style: { height: 4 } })))))
1410
1429
  )));
1411
1430
  };
1412
1431
  var Calendar = forwardRef4((inProps, ref) => {
@@ -1428,17 +1447,96 @@ var Calendar = forwardRef4((inProps, ref) => {
1428
1447
  ...others
1429
1448
  } = props;
1430
1449
  const { calendarTitle, onPrev, onNext } = useCalendar(ownerState);
1431
- return /* @__PURE__ */ React11.createElement(CalendarRoot, { ref, ...others }, /* @__PURE__ */ React11.createElement(CalendarHeader, null, /* @__PURE__ */ React11.createElement(IconButton_default, { size: "sm", onClick: onPrev, "aria-label": `Previous ${view === "day" ? "Month" : "Year"}` }, /* @__PURE__ */ React11.createElement(ChevronLeftIcon, null)), /* @__PURE__ */ React11.createElement(
1432
- CalendarSwitchViewButton,
1450
+ const [isMonthViewAssistHintOpen, setIsMonthViewAssistHintOpen] = useState4(false);
1451
+ const monthNavClickTimestampsRef = useRef3([]);
1452
+ const monthViewAssistHintShownInSessionRef = useRef3(false);
1453
+ const monthViewAssistHintTimeoutRef = useRef3(null);
1454
+ const hasEndDate = Boolean(value?.[1]);
1455
+ const isRangeHintEligible = Boolean(rangeSelection && !hasEndDate);
1456
+ const isHintEligible = Boolean(view === "day" && (!rangeSelection || isRangeHintEligible));
1457
+ const monthViewHintMessage = MONTH_VIEW_HINT_MESSAGE;
1458
+ useEffect3(() => {
1459
+ if (!isHintEligible) {
1460
+ monthNavClickTimestampsRef.current = [];
1461
+ setIsMonthViewAssistHintOpen(false);
1462
+ }
1463
+ }, [isHintEligible]);
1464
+ useEffect3(() => {
1465
+ return () => {
1466
+ if (monthViewAssistHintTimeoutRef.current) {
1467
+ clearTimeout(monthViewAssistHintTimeoutRef.current);
1468
+ }
1469
+ };
1470
+ }, []);
1471
+ const closeMonthViewAssistHint = useCallback5(() => {
1472
+ if (monthViewAssistHintTimeoutRef.current) {
1473
+ clearTimeout(monthViewAssistHintTimeoutRef.current);
1474
+ monthViewAssistHintTimeoutRef.current = null;
1475
+ }
1476
+ setIsMonthViewAssistHintOpen(false);
1477
+ }, []);
1478
+ const showMonthViewAssistHint = useCallback5(() => {
1479
+ const now = Date.now();
1480
+ if (monthViewAssistHintShownInSessionRef.current) return;
1481
+ if (now - lastMonthViewAssistHintShownAt < MONTH_VIEW_HINT_COOLDOWN_MS) return;
1482
+ monthViewAssistHintShownInSessionRef.current = true;
1483
+ lastMonthViewAssistHintShownAt = now;
1484
+ setIsMonthViewAssistHintOpen(true);
1485
+ if (monthViewAssistHintTimeoutRef.current) {
1486
+ clearTimeout(monthViewAssistHintTimeoutRef.current);
1487
+ }
1488
+ monthViewAssistHintTimeoutRef.current = setTimeout(() => {
1489
+ setIsMonthViewAssistHintOpen(false);
1490
+ monthViewAssistHintTimeoutRef.current = null;
1491
+ }, MONTH_VIEW_HINT_DURATION_MS);
1492
+ }, []);
1493
+ const trackFastMonthNavigation = useCallback5(() => {
1494
+ if (!isHintEligible) return;
1495
+ const now = Date.now();
1496
+ monthNavClickTimestampsRef.current = [
1497
+ ...monthNavClickTimestampsRef.current.filter((timestamp) => now - timestamp <= MONTH_NAV_CLICK_WINDOW_MS),
1498
+ now
1499
+ ];
1500
+ if (monthNavClickTimestampsRef.current.length >= MONTH_NAV_CLICK_THRESHOLD) {
1501
+ showMonthViewAssistHint();
1502
+ }
1503
+ }, [isHintEligible, showMonthViewAssistHint]);
1504
+ const handlePrevClick = useCallback5(() => {
1505
+ onPrev();
1506
+ trackFastMonthNavigation();
1507
+ }, [onPrev, trackFastMonthNavigation]);
1508
+ const handleNextClick = useCallback5(() => {
1509
+ onNext();
1510
+ trackFastMonthNavigation();
1511
+ }, [onNext, trackFastMonthNavigation]);
1512
+ const handleSwitchViewClick = useCallback5(() => {
1513
+ closeMonthViewAssistHint();
1514
+ onViewChange?.();
1515
+ }, [closeMonthViewAssistHint, onViewChange]);
1516
+ return /* @__PURE__ */ React12.createElement(CalendarRoot, { ref, ...others }, /* @__PURE__ */ React12.createElement(CalendarHeader, null, /* @__PURE__ */ React12.createElement(IconButton_default, { size: "sm", onClick: handlePrevClick, "aria-label": `Previous ${view === "day" ? "Month" : "Year"}` }, /* @__PURE__ */ React12.createElement(ChevronLeftIcon, null)), /* @__PURE__ */ React12.createElement(
1517
+ Tooltip_default,
1433
1518
  {
1434
- ownerState,
1435
- variant: "plain",
1436
- color: "neutral",
1437
- onClick: onViewChange,
1438
- "aria-label": "Switch Calendar View"
1519
+ title: monthViewHintMessage,
1520
+ arrow: true,
1521
+ open: isMonthViewAssistHintOpen,
1522
+ placement: "bottom",
1523
+ disableFocusListener: true,
1524
+ disableHoverListener: true,
1525
+ disableTouchListener: true,
1526
+ variant: "solid"
1439
1527
  },
1440
- calendarTitle
1441
- ), /* @__PURE__ */ React11.createElement(IconButton_default, { size: "sm", onClick: onNext, "aria-label": `Next ${view === "day" ? "Month" : "Year"}` }, /* @__PURE__ */ React11.createElement(ChevronRightIcon, null))), view === "day" && /* @__PURE__ */ React11.createElement(PickerDays, { ownerState }), view === "month" && /* @__PURE__ */ React11.createElement(PickerMonths, { ownerState }));
1528
+ /* @__PURE__ */ React12.createElement(
1529
+ CalendarSwitchViewButton,
1530
+ {
1531
+ ownerState,
1532
+ variant: "plain",
1533
+ color: "neutral",
1534
+ onClick: handleSwitchViewClick,
1535
+ "aria-label": "Switch Calendar View"
1536
+ },
1537
+ calendarTitle
1538
+ )
1539
+ ), /* @__PURE__ */ React12.createElement(IconButton_default, { size: "sm", onClick: handleNextClick, "aria-label": `Next ${view === "day" ? "Month" : "Year"}` }, /* @__PURE__ */ React12.createElement(ChevronRightIcon, null))), view === "day" && /* @__PURE__ */ React12.createElement(PickerDays, { ownerState }), view === "month" && /* @__PURE__ */ React12.createElement(PickerMonths, { ownerState }));
1442
1540
  });
1443
1541
  Calendar.displayName = "Calendar";
1444
1542
 
@@ -1453,30 +1551,30 @@ import {
1453
1551
  CardActions as JoyCardActions,
1454
1552
  CardOverflow as JoyCardOverflow
1455
1553
  } from "@mui/joy";
1456
- import { motion as motion13 } from "framer-motion";
1457
- var MotionCard = motion13(JoyCard);
1554
+ import { motion as motion14 } from "framer-motion";
1555
+ var MotionCard = motion14(JoyCard);
1458
1556
  var Card = MotionCard;
1459
1557
  Card.displayName = "Card";
1460
- var MotionCardContent = motion13(JoyCardContent);
1558
+ var MotionCardContent = motion14(JoyCardContent);
1461
1559
  var CardContent = MotionCardContent;
1462
1560
  CardContent.displayName = "CardContent";
1463
- var MotionCardCover = motion13(JoyCardCover);
1561
+ var MotionCardCover = motion14(JoyCardCover);
1464
1562
  var CardCover = MotionCardCover;
1465
1563
  CardCover.displayName = "CardCover";
1466
- var MotionCardActions = motion13(JoyCardActions);
1564
+ var MotionCardActions = motion14(JoyCardActions);
1467
1565
  var CardActions = MotionCardActions;
1468
1566
  CardActions.displayName = "CardActions";
1469
- var MotionCardOverflow = motion13(JoyCardOverflow);
1567
+ var MotionCardOverflow = motion14(JoyCardOverflow);
1470
1568
  var CardOverflow = MotionCardOverflow;
1471
1569
  CardOverflow.displayName = "CardOverflow";
1472
1570
 
1473
1571
  // src/components/Checkbox/Checkbox.tsx
1474
- import React12 from "react";
1572
+ import React13 from "react";
1475
1573
  import { Checkbox as JoyCheckbox } from "@mui/joy";
1476
- import { motion as motion14 } from "framer-motion";
1477
- var MotionCheckbox = motion14(JoyCheckbox);
1574
+ import { motion as motion15 } from "framer-motion";
1575
+ var MotionCheckbox = motion15(JoyCheckbox);
1478
1576
  var Checkbox = (props) => {
1479
- return /* @__PURE__ */ React12.createElement(MotionCheckbox, { ...props });
1577
+ return /* @__PURE__ */ React13.createElement(MotionCheckbox, { ...props });
1480
1578
  };
1481
1579
  Checkbox.displayName = "Checkbox";
1482
1580
 
@@ -1485,7 +1583,7 @@ var Checkbox_default = Checkbox;
1485
1583
 
1486
1584
  // src/components/Container/Container.tsx
1487
1585
  import { styled as styled6 } from "@mui/joy";
1488
- import React13, { forwardRef as forwardRef5 } from "react";
1586
+ import React14, { forwardRef as forwardRef5 } from "react";
1489
1587
  var ContainerRoot = styled6("div", {
1490
1588
  name: "Container",
1491
1589
  slot: "root",
@@ -1512,24 +1610,24 @@ var ContainerRoot = styled6("div", {
1512
1610
  } : null
1513
1611
  ]);
1514
1612
  var Container = forwardRef5(function Container2(props, ref) {
1515
- return /* @__PURE__ */ React13.createElement(ContainerRoot, { ref, ...props });
1613
+ return /* @__PURE__ */ React14.createElement(ContainerRoot, { ref, ...props });
1516
1614
  });
1517
1615
  Container.displayName = "Container";
1518
1616
 
1519
1617
  // src/components/CurrencyInput/CurrencyInput.tsx
1520
- import React15, { useCallback as useCallback6, useMemo as useMemo5, useState as useState5 } from "react";
1618
+ import React16, { useCallback as useCallback7, useMemo as useMemo5, useState as useState6 } from "react";
1521
1619
  import { IntlMessageFormat as IntlMessageFormat2 } from "intl-messageformat";
1522
1620
  import { NumericFormat } from "react-number-format";
1523
1621
 
1524
1622
  // src/components/Input/Input.tsx
1525
- import React14, { useCallback as useCallback5, useState as useState4 } from "react";
1623
+ import React15, { useCallback as useCallback6, useState as useState5 } from "react";
1526
1624
  import { Input as JoyInput } from "@mui/joy";
1527
- import { motion as motion15 } from "framer-motion";
1625
+ import { motion as motion16 } from "framer-motion";
1528
1626
  import ClearIcon from "@mui/icons-material/Close";
1529
1627
  import VisibilityIcon from "@mui/icons-material/Visibility";
1530
1628
  import VisibilityOffIcon from "@mui/icons-material/VisibilityOff";
1531
- var MotionInput = motion15(JoyInput);
1532
- var Input = React14.forwardRef((props, ref) => {
1629
+ var MotionInput = motion16(JoyInput);
1630
+ var Input = React15.forwardRef((props, ref) => {
1533
1631
  const {
1534
1632
  label,
1535
1633
  helperText,
@@ -1552,11 +1650,11 @@ var Input = React14.forwardRef((props, ref) => {
1552
1650
  if (type === "password" && innerProps.endDecorator) {
1553
1651
  console.warn('Input: endDecorator is not supported when type="password"');
1554
1652
  }
1555
- const [passwordVisible, setPasswordVisible] = useState4(false);
1653
+ const [passwordVisible, setPasswordVisible] = useState5(false);
1556
1654
  const [value, setValue] = useControlledState(
1557
1655
  props.value,
1558
1656
  props.defaultValue,
1559
- useCallback5(
1657
+ useCallback6(
1560
1658
  (value2) => {
1561
1659
  onChange?.({
1562
1660
  /**
@@ -1582,7 +1680,7 @@ var Input = React14.forwardRef((props, ref) => {
1582
1680
  const actualType = type === "password" && passwordVisible ? "text" : type;
1583
1681
  const isPasswordType = type === "password";
1584
1682
  const showPasswordToggle = isPasswordType && !disableTogglePasswordButton;
1585
- const input = /* @__PURE__ */ React14.createElement(
1683
+ const input = /* @__PURE__ */ React15.createElement(
1586
1684
  MotionInput,
1587
1685
  {
1588
1686
  value,
@@ -1597,7 +1695,7 @@ var Input = React14.forwardRef((props, ref) => {
1597
1695
  ...innerProps.slotProps
1598
1696
  },
1599
1697
  ...innerProps,
1600
- endDecorator: isPasswordType ? showPasswordToggle ? /* @__PURE__ */ React14.createElement(Stack_default, { gap: 1, direction: "row" }, /* @__PURE__ */ React14.createElement(
1698
+ endDecorator: isPasswordType ? showPasswordToggle ? /* @__PURE__ */ React15.createElement(Stack_default, { gap: 1, direction: "row" }, /* @__PURE__ */ React15.createElement(
1601
1699
  IconButton_default,
1602
1700
  {
1603
1701
  onMouseDown: (e) => e.preventDefault(),
@@ -1605,19 +1703,19 @@ var Input = React14.forwardRef((props, ref) => {
1605
1703
  disabled,
1606
1704
  "aria-label": passwordVisible ? "Hide password" : "Show password"
1607
1705
  },
1608
- passwordVisible ? /* @__PURE__ */ React14.createElement(VisibilityOffIcon, null) : /* @__PURE__ */ React14.createElement(VisibilityIcon, null)
1609
- )) : null : enableClearable ? /* @__PURE__ */ React14.createElement(Stack_default, { gap: 1, direction: "row" }, innerProps.endDecorator, value && /* @__PURE__ */ React14.createElement(
1706
+ passwordVisible ? /* @__PURE__ */ React15.createElement(VisibilityOffIcon, null) : /* @__PURE__ */ React15.createElement(VisibilityIcon, null)
1707
+ )) : null : enableClearable ? /* @__PURE__ */ React15.createElement(Stack_default, { gap: 1, direction: "row" }, innerProps.endDecorator, value && /* @__PURE__ */ React15.createElement(
1610
1708
  IconButton_default,
1611
1709
  {
1612
1710
  onMouseDown: (e) => e.preventDefault(),
1613
1711
  onClick: handleClear,
1614
1712
  "aria-label": "Clear"
1615
1713
  },
1616
- /* @__PURE__ */ React14.createElement(ClearIcon, null)
1714
+ /* @__PURE__ */ React15.createElement(ClearIcon, null)
1617
1715
  )) : innerProps.endDecorator
1618
1716
  }
1619
1717
  );
1620
- return /* @__PURE__ */ React14.createElement(
1718
+ return /* @__PURE__ */ React15.createElement(
1621
1719
  FormControl_default,
1622
1720
  {
1623
1721
  required,
@@ -1628,9 +1726,9 @@ var Input = React14.forwardRef((props, ref) => {
1628
1726
  sx,
1629
1727
  className
1630
1728
  },
1631
- label && /* @__PURE__ */ React14.createElement(FormLabel_default, null, label),
1729
+ label && /* @__PURE__ */ React15.createElement(FormLabel_default, null, label),
1632
1730
  input,
1633
- helperText && /* @__PURE__ */ React14.createElement(FormHelperText_default, null, helperText)
1731
+ helperText && /* @__PURE__ */ React15.createElement(FormHelperText_default, null, helperText)
1634
1732
  );
1635
1733
  });
1636
1734
  Input.displayName = "Input";
@@ -1802,9 +1900,9 @@ var useCurrencySetting = (props) => {
1802
1900
  };
1803
1901
 
1804
1902
  // src/components/CurrencyInput/CurrencyInput.tsx
1805
- var TextMaskAdapter = React15.forwardRef(function TextMaskAdapter2(props, ref) {
1903
+ var TextMaskAdapter = React16.forwardRef(function TextMaskAdapter2(props, ref) {
1806
1904
  const { onChange, ...innerProps } = props;
1807
- return /* @__PURE__ */ React15.createElement(
1905
+ return /* @__PURE__ */ React16.createElement(
1808
1906
  NumericFormat,
1809
1907
  {
1810
1908
  ...innerProps,
@@ -1824,7 +1922,7 @@ var CurrencyInputRoot = styled7(Input_default, {
1824
1922
  slot: "root",
1825
1923
  overridesResolver: (props, styles) => styles.root
1826
1924
  })({});
1827
- var CurrencyInput = React15.forwardRef(function CurrencyInput2(inProps, ref) {
1925
+ var CurrencyInput = React16.forwardRef(function CurrencyInput2(inProps, ref) {
1828
1926
  const props = useThemeProps3({ props: inProps, name: "CurrencyInput" });
1829
1927
  const {
1830
1928
  currency = "USD",
@@ -1845,7 +1943,7 @@ var CurrencyInput = React15.forwardRef(function CurrencyInput2(inProps, ref) {
1845
1943
  const [_value, setValue] = useControlledState(
1846
1944
  props.value,
1847
1945
  props.defaultValue,
1848
- useCallback6((value2) => onChange?.({ target: { name, value: value2 } }), [onChange, name])
1946
+ useCallback7((value2) => onChange?.({ target: { name, value: value2 } }), [onChange, name])
1849
1947
  );
1850
1948
  const value = useMemo5(() => {
1851
1949
  if (_value && useMinorUnit) {
@@ -1859,8 +1957,8 @@ var CurrencyInput = React15.forwardRef(function CurrencyInput2(inProps, ref) {
1859
1957
  }
1860
1958
  return props.max;
1861
1959
  }, [props.max, useMinorUnit, decimalScale]);
1862
- const [isOverLimit, setIsOverLimit] = useState5(!!max && !!value && value > max);
1863
- const handleChange = useCallback6(
1960
+ const [isOverLimit, setIsOverLimit] = useState6(!!max && !!value && value > max);
1961
+ const handleChange = useCallback7(
1864
1962
  (event) => {
1865
1963
  if (event.target.value === "") {
1866
1964
  setValue(void 0);
@@ -1876,7 +1974,7 @@ var CurrencyInput = React15.forwardRef(function CurrencyInput2(inProps, ref) {
1876
1974
  },
1877
1975
  [decimalSeparator, max, useMinorUnit, setValue]
1878
1976
  );
1879
- return /* @__PURE__ */ React15.createElement(
1977
+ return /* @__PURE__ */ React16.createElement(
1880
1978
  CurrencyInputRoot,
1881
1979
  {
1882
1980
  ...innerProps,
@@ -1916,9 +2014,9 @@ var CurrencyInput_default = CurrencyInput;
1916
2014
 
1917
2015
  // src/components/DataTable/DataTable.tsx
1918
2016
  import React25, {
1919
- useCallback as useCallback11,
2017
+ useCallback as useCallback12,
1920
2018
  useMemo as useMemo10,
1921
- useRef as useRef6,
2019
+ useRef as useRef7,
1922
2020
  useId,
1923
2021
  forwardRef as forwardRef7,
1924
2022
  useImperativeHandle as useImperativeHandle2,
@@ -2046,9 +2144,9 @@ function getTextAlign(props) {
2046
2144
  var numberFormatter = (value) => "Intl" in window ? new Intl.NumberFormat().format(value) : value;
2047
2145
 
2048
2146
  // src/components/DataTable/styled.tsx
2049
- import React16 from "react";
2147
+ import React17 from "react";
2050
2148
  import { styled as styled8, LinearProgress, buttonClasses, iconButtonClasses } from "@mui/joy";
2051
- import { motion as motion16 } from "framer-motion";
2149
+ import { motion as motion17 } from "framer-motion";
2052
2150
  import SortIcon from "@mui/icons-material/ArrowUpwardRounded";
2053
2151
  var EllipsisDiv = styled8("div", {
2054
2152
  name: "DataTable",
@@ -2122,7 +2220,7 @@ var Asterisk = styled8("span", {
2122
2220
  color: "var(--ceed-palette-danger-500)",
2123
2221
  marginLeft: theme.spacing(0.5)
2124
2222
  }));
2125
- var StyledTh = styled8(motion16.th)(({ theme }) => ({
2223
+ var StyledTh = styled8(motion17.th)(({ theme }) => ({
2126
2224
  boxShadow: "1px 0 var(--TableCell-borderColor)"
2127
2225
  }));
2128
2226
  var StyledTd = styled8("td")(({ theme }) => ({
@@ -2141,9 +2239,9 @@ var StyledTd = styled8("td")(({ theme }) => ({
2141
2239
  }
2142
2240
  }
2143
2241
  }));
2144
- var MotionSortIcon = motion16(SortIcon);
2145
- var DefaultLoadingOverlay = () => /* @__PURE__ */ React16.createElement(LinearProgress, { value: 8, variant: "plain" });
2146
- var Resizer = (ref, targetRef = ref) => /* @__PURE__ */ React16.createElement(
2242
+ var MotionSortIcon = motion17(SortIcon);
2243
+ var DefaultLoadingOverlay = () => /* @__PURE__ */ React17.createElement(LinearProgress, { value: 8, variant: "plain" });
2244
+ var Resizer = (ref, targetRef = ref) => /* @__PURE__ */ React17.createElement(
2147
2245
  Box_default,
2148
2246
  {
2149
2247
  sx: {
@@ -2176,12 +2274,12 @@ var Resizer = (ref, targetRef = ref) => /* @__PURE__ */ React16.createElement(
2176
2274
 
2177
2275
  // src/components/DataTable/components.tsx
2178
2276
  import React22, {
2179
- useRef as useRef4,
2180
- useState as useState7,
2277
+ useRef as useRef5,
2278
+ useState as useState8,
2181
2279
  useLayoutEffect,
2182
2280
  useMemo as useMemo8,
2183
- useCallback as useCallback8,
2184
- useEffect as useEffect4,
2281
+ useCallback as useCallback9,
2282
+ useEffect as useEffect5,
2185
2283
  memo,
2186
2284
  createElement
2187
2285
  } from "react";
@@ -2189,7 +2287,7 @@ import { styled as styled12, useTheme } from "@mui/joy";
2189
2287
  import { AnimatePresence as AnimatePresence2 } from "framer-motion";
2190
2288
 
2191
2289
  // src/components/DatePicker/DatePicker.tsx
2192
- import React17, { forwardRef as forwardRef6, useCallback as useCallback7, useEffect as useEffect3, useImperativeHandle, useRef as useRef3, useState as useState6 } from "react";
2290
+ import React18, { forwardRef as forwardRef6, useCallback as useCallback8, useEffect as useEffect4, useImperativeHandle, useRef as useRef4, useState as useState7 } from "react";
2193
2291
  import { IMaskInput, IMask } from "react-imask";
2194
2292
  import CalendarTodayIcon from "@mui/icons-material/CalendarToday";
2195
2293
  import { styled as styled10, useThemeProps as useThemeProps4 } from "@mui/joy";
@@ -2204,8 +2302,8 @@ var Sheet_default = Sheet;
2204
2302
 
2205
2303
  // src/components/DialogActions/DialogActions.tsx
2206
2304
  import { DialogActions as JoyDialogActions, styled as styled9 } from "@mui/joy";
2207
- import { motion as motion17 } from "framer-motion";
2208
- var MotionDialogActions = motion17(JoyDialogActions);
2305
+ import { motion as motion18 } from "framer-motion";
2306
+ var MotionDialogActions = motion18(JoyDialogActions);
2209
2307
  var StyledDialogActions = styled9(MotionDialogActions)(({ theme }) => ({
2210
2308
  padding: theme.spacing(2),
2211
2309
  gap: theme.spacing(2),
@@ -2301,9 +2399,9 @@ function parseDate(dateString, format) {
2301
2399
  var formatToPattern = (format) => {
2302
2400
  return format.replace(/YYYY/g, "Y").replace(/MM/g, "M").replace(/DD/g, "D").replace(/[^YMD\s]/g, (match) => `${match}\``);
2303
2401
  };
2304
- var TextMaskAdapter3 = React17.forwardRef(function TextMaskAdapter4(props, ref) {
2402
+ var TextMaskAdapter3 = React18.forwardRef(function TextMaskAdapter4(props, ref) {
2305
2403
  const { onChange, format, ...other } = props;
2306
- return /* @__PURE__ */ React17.createElement(
2404
+ return /* @__PURE__ */ React18.createElement(
2307
2405
  IMaskInput,
2308
2406
  {
2309
2407
  ...other,
@@ -2363,24 +2461,24 @@ var DatePicker = forwardRef6((inProps, ref) => {
2363
2461
  shouldDisableDate,
2364
2462
  ...innerProps
2365
2463
  } = props;
2366
- const innerRef = useRef3(null);
2367
- const buttonRef = useRef3(null);
2464
+ const innerRef = useRef4(null);
2465
+ const buttonRef = useRef4(null);
2368
2466
  const [value, setValue] = useControlledState(
2369
2467
  props.value,
2370
2468
  props.defaultValue || "",
2371
- useCallback7((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
2469
+ useCallback8((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
2372
2470
  );
2373
- const [displayValue, setDisplayValue] = useState6(
2471
+ const [displayValue, setDisplayValue] = useState7(
2374
2472
  () => value ? formatValueString(parseDate(value, format), displayFormat) : ""
2375
2473
  );
2376
- const [anchorEl, setAnchorEl] = useState6(null);
2474
+ const [anchorEl, setAnchorEl] = useState7(null);
2377
2475
  const open = Boolean(anchorEl);
2378
- useEffect3(() => {
2476
+ useEffect4(() => {
2379
2477
  if (!anchorEl) {
2380
2478
  innerRef.current?.blur();
2381
2479
  }
2382
2480
  }, [anchorEl, innerRef]);
2383
- useEffect3(() => {
2481
+ useEffect4(() => {
2384
2482
  if (value === "") {
2385
2483
  setDisplayValue("");
2386
2484
  return;
@@ -2391,7 +2489,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
2391
2489
  }
2392
2490
  }, [displayFormat, displayValue, format, value]);
2393
2491
  useImperativeHandle(ref, () => innerRef.current, [innerRef]);
2394
- const handleChange = useCallback7(
2492
+ const handleChange = useCallback8(
2395
2493
  (event) => {
2396
2494
  const value2 = event.target.value;
2397
2495
  setDisplayValue(value2 ? formatValueString(parseDate(value2, format), displayFormat) : value2);
@@ -2399,7 +2497,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
2399
2497
  },
2400
2498
  [displayFormat, format, setValue]
2401
2499
  );
2402
- const handleDisplayInputChange = useCallback7(
2500
+ const handleDisplayInputChange = useCallback8(
2403
2501
  (event) => {
2404
2502
  if (event.target.value === "") {
2405
2503
  handleChange({
@@ -2424,7 +2522,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
2424
2522
  },
2425
2523
  [displayFormat, format, handleChange, props.name]
2426
2524
  );
2427
- const handleCalendarToggle = useCallback7(
2525
+ const handleCalendarToggle = useCallback8(
2428
2526
  (event) => {
2429
2527
  setAnchorEl(anchorEl ? null : event.currentTarget);
2430
2528
  setTimeout(() => {
@@ -2433,7 +2531,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
2433
2531
  },
2434
2532
  [anchorEl, setAnchorEl, innerRef]
2435
2533
  );
2436
- const handleInputMouseDown = useCallback7(
2534
+ const handleInputMouseDown = useCallback8(
2437
2535
  (event) => {
2438
2536
  if (inputReadOnly) {
2439
2537
  event.preventDefault();
@@ -2442,7 +2540,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
2442
2540
  },
2443
2541
  [inputReadOnly, buttonRef]
2444
2542
  );
2445
- return /* @__PURE__ */ React17.createElement(DatePickerRoot, null, /* @__PURE__ */ React17.createElement(FocusTrap, { open: true }, /* @__PURE__ */ React17.createElement(React17.Fragment, null, /* @__PURE__ */ React17.createElement(
2543
+ return /* @__PURE__ */ React18.createElement(DatePickerRoot, null, /* @__PURE__ */ React18.createElement(FocusTrap, { open: true }, /* @__PURE__ */ React18.createElement(React18.Fragment, null, /* @__PURE__ */ React18.createElement(
2446
2544
  Input_default,
2447
2545
  {
2448
2546
  ...innerProps,
@@ -2470,7 +2568,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
2470
2568
  },
2471
2569
  className,
2472
2570
  sx,
2473
- endDecorator: /* @__PURE__ */ React17.createElement(
2571
+ endDecorator: /* @__PURE__ */ React18.createElement(
2474
2572
  CalendarButton,
2475
2573
  {
2476
2574
  ref: buttonRef,
@@ -2482,13 +2580,13 @@ var DatePicker = forwardRef6((inProps, ref) => {
2482
2580
  "aria-expanded": open,
2483
2581
  disabled
2484
2582
  },
2485
- /* @__PURE__ */ React17.createElement(CalendarTodayIcon, null)
2583
+ /* @__PURE__ */ React18.createElement(CalendarTodayIcon, null)
2486
2584
  ),
2487
2585
  label,
2488
2586
  helperText,
2489
2587
  readOnly: readOnly || inputReadOnly
2490
2588
  }
2491
- ), open && /* @__PURE__ */ React17.createElement(ClickAwayListener, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ React17.createElement(
2589
+ ), open && /* @__PURE__ */ React18.createElement(ClickAwayListener, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ React18.createElement(
2492
2590
  StyledPopper,
2493
2591
  {
2494
2592
  id: "date-picker-popper",
@@ -2507,7 +2605,7 @@ var DatePicker = forwardRef6((inProps, ref) => {
2507
2605
  "aria-label": "Calendar Tooltip",
2508
2606
  "aria-expanded": open
2509
2607
  },
2510
- /* @__PURE__ */ React17.createElement(CalendarSheet, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React17.createElement(
2608
+ /* @__PURE__ */ React18.createElement(CalendarSheet, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React18.createElement(
2511
2609
  Calendar_default,
2512
2610
  {
2513
2611
  value: value && !Number.isNaN(parseDate(value, format).getTime()) ? [parseDate(value, format), void 0] : void 0,
@@ -2526,14 +2624,14 @@ var DatePicker = forwardRef6((inProps, ref) => {
2526
2624
  disablePast,
2527
2625
  shouldDisableDate: shouldDisableDate ? (date) => shouldDisableDate(formatValueString(date, format)) : void 0
2528
2626
  }
2529
- ), !hideClearButton && /* @__PURE__ */ React17.createElement(
2627
+ ), !hideClearButton && /* @__PURE__ */ React18.createElement(
2530
2628
  DialogActions_default,
2531
2629
  {
2532
2630
  sx: {
2533
2631
  p: 1
2534
2632
  }
2535
2633
  },
2536
- /* @__PURE__ */ React17.createElement(
2634
+ /* @__PURE__ */ React18.createElement(
2537
2635
  Button_default,
2538
2636
  {
2539
2637
  size,
@@ -2559,10 +2657,10 @@ var DatePicker = forwardRef6((inProps, ref) => {
2559
2657
  var DatePicker_default = DatePicker;
2560
2658
 
2561
2659
  // src/components/Textarea/Textarea.tsx
2562
- import React18 from "react";
2660
+ import React19 from "react";
2563
2661
  import { Textarea as JoyTextarea } from "@mui/joy";
2564
- import { motion as motion18 } from "framer-motion";
2565
- var MotionTextarea = motion18(JoyTextarea);
2662
+ import { motion as motion19 } from "framer-motion";
2663
+ var MotionTextarea = motion19(JoyTextarea);
2566
2664
  var Textarea = (props) => {
2567
2665
  const {
2568
2666
  label,
@@ -2579,7 +2677,7 @@ var Textarea = (props) => {
2579
2677
  className,
2580
2678
  ...innerProps
2581
2679
  } = props;
2582
- const textarea = /* @__PURE__ */ React18.createElement(
2680
+ const textarea = /* @__PURE__ */ React19.createElement(
2583
2681
  MotionTextarea,
2584
2682
  {
2585
2683
  required,
@@ -2591,7 +2689,7 @@ var Textarea = (props) => {
2591
2689
  ...innerProps
2592
2690
  }
2593
2691
  );
2594
- return /* @__PURE__ */ React18.createElement(
2692
+ return /* @__PURE__ */ React19.createElement(
2595
2693
  FormControl_default,
2596
2694
  {
2597
2695
  required,
@@ -2602,9 +2700,9 @@ var Textarea = (props) => {
2602
2700
  sx,
2603
2701
  className
2604
2702
  },
2605
- label && /* @__PURE__ */ React18.createElement(FormLabel_default, null, label),
2703
+ label && /* @__PURE__ */ React19.createElement(FormLabel_default, null, label),
2606
2704
  textarea,
2607
- helperText && /* @__PURE__ */ React18.createElement(FormHelperText_default, null, helperText)
2705
+ helperText && /* @__PURE__ */ React19.createElement(FormHelperText_default, null, helperText)
2608
2706
  );
2609
2707
  };
2610
2708
  Textarea.displayName = "Textarea";
@@ -2613,10 +2711,10 @@ Textarea.displayName = "Textarea";
2613
2711
  var Textarea_default = Textarea;
2614
2712
 
2615
2713
  // src/components/Select/Select.tsx
2616
- import React19, { useMemo as useMemo7 } from "react";
2714
+ import React20, { useMemo as useMemo7 } from "react";
2617
2715
  import { Select as JoySelect, Option as JoyOption, ListItemContent as ListItemContent2, Typography as Typography3 } from "@mui/joy";
2618
- import { motion as motion19 } from "framer-motion";
2619
- var MotionOption = motion19(JoyOption);
2716
+ import { motion as motion20 } from "framer-motion";
2717
+ var MotionOption = motion20(JoyOption);
2620
2718
  var Option = MotionOption;
2621
2719
  var secondaryTextLevelMap2 = {
2622
2720
  sm: "body-xs",
@@ -2671,7 +2769,7 @@ function Select(props) {
2671
2769
  });
2672
2770
  return map;
2673
2771
  }, [options]);
2674
- const select = /* @__PURE__ */ React19.createElement(
2772
+ const select = /* @__PURE__ */ React20.createElement(
2675
2773
  JoySelect,
2676
2774
  {
2677
2775
  ...innerProps,
@@ -2688,9 +2786,9 @@ function Select(props) {
2688
2786
  return optionMap.get(selected.value)?.label;
2689
2787
  }
2690
2788
  },
2691
- options.map((option) => /* @__PURE__ */ React19.createElement(Option, { key: option.value, value: option.value, disabled: option.disabled }, option.secondaryText ? /* @__PURE__ */ React19.createElement(ListItemContent2, { sx: { gap: 0.5 } }, /* @__PURE__ */ React19.createElement(Typography3, { level: "inherit" }, option.label), /* @__PURE__ */ React19.createElement(Typography3, { level: secondaryTextLevelMap2[size ?? "md"], textColor: "text.tertiary" }, option.secondaryText)) : option.label))
2789
+ options.map((option) => /* @__PURE__ */ React20.createElement(Option, { key: option.value, value: option.value, disabled: option.disabled }, option.secondaryText ? /* @__PURE__ */ React20.createElement(ListItemContent2, { sx: { gap: 0.5 } }, /* @__PURE__ */ React20.createElement(Typography3, { level: "inherit" }, option.label), /* @__PURE__ */ React20.createElement(Typography3, { level: secondaryTextLevelMap2[size ?? "md"], textColor: "text.tertiary" }, option.secondaryText)) : option.label))
2692
2790
  );
2693
- return /* @__PURE__ */ React19.createElement(
2791
+ return /* @__PURE__ */ React20.createElement(
2694
2792
  FormControl_default,
2695
2793
  {
2696
2794
  required,
@@ -2701,9 +2799,9 @@ function Select(props) {
2701
2799
  sx,
2702
2800
  className
2703
2801
  },
2704
- label && /* @__PURE__ */ React19.createElement(FormLabel_default, null, label),
2802
+ label && /* @__PURE__ */ React20.createElement(FormLabel_default, null, label),
2705
2803
  select,
2706
- helperText && /* @__PURE__ */ React19.createElement(FormHelperText_default, null, helperText)
2804
+ helperText && /* @__PURE__ */ React20.createElement(FormHelperText_default, null, helperText)
2707
2805
  );
2708
2806
  }
2709
2807
  Select.displayName = "Select";
@@ -2714,19 +2812,6 @@ var Select_default = Select;
2714
2812
  // src/components/DataTable/components.tsx
2715
2813
  import { Link } from "@mui/joy";
2716
2814
 
2717
- // src/components/Tooltip/Tooltip.tsx
2718
- import React20 from "react";
2719
- import { Tooltip as JoyTooltip } from "@mui/joy";
2720
- import { motion as motion20 } from "framer-motion";
2721
- var MotionTooltip = motion20(JoyTooltip);
2722
- var Tooltip = (props) => {
2723
- return /* @__PURE__ */ React20.createElement(MotionTooltip, { ...props });
2724
- };
2725
- Tooltip.displayName = "Tooltip";
2726
-
2727
- // src/components/Tooltip/index.ts
2728
- var Tooltip_default = Tooltip;
2729
-
2730
2815
  // src/components/InfoSign/InfoSign.tsx
2731
2816
  import React21 from "react";
2732
2817
  import { styled as styled11, tooltipClasses } from "@mui/joy";
@@ -2762,8 +2847,8 @@ var InfoSign_default = InfoSign;
2762
2847
 
2763
2848
  // src/components/DataTable/components.tsx
2764
2849
  var TextEllipsis = ({ children }) => {
2765
- const textRef = useRef4(null);
2766
- const [showTooltip, setShowTooltip] = useState7(false);
2850
+ const textRef = useRef5(null);
2851
+ const [showTooltip, setShowTooltip] = useState8(false);
2767
2852
  useLayoutEffect(() => {
2768
2853
  const element = textRef.current;
2769
2854
  if (element) {
@@ -2778,8 +2863,8 @@ var TextEllipsis = ({ children }) => {
2778
2863
  return content;
2779
2864
  };
2780
2865
  var CellTextEllipsis = ({ children }) => {
2781
- const textRef = useRef4(null);
2782
- const [showTooltip, setShowTooltip] = useState7(false);
2866
+ const textRef = useRef5(null);
2867
+ const [showTooltip, setShowTooltip] = useState8(false);
2783
2868
  useLayoutEffect(() => {
2784
2869
  const element = textRef.current;
2785
2870
  if (element) {
@@ -2831,7 +2916,7 @@ var HeadCell = (props) => {
2831
2916
  const theme = useTheme();
2832
2917
  const ref = headerRef;
2833
2918
  const colRef = tableColRef;
2834
- const [isHovered, setIsHovered] = useState7(false);
2919
+ const [isHovered, setIsHovered] = useState8(false);
2835
2920
  const sortable = type === "actions" ? false : _sortable;
2836
2921
  const headId = useMemo8(
2837
2922
  () => `${tableId}_header_${headerName ?? field}`.trim(),
@@ -2910,7 +2995,7 @@ var HeadCell = (props) => {
2910
2995
  ref,
2911
2996
  key: field,
2912
2997
  style,
2913
- onClick: useCallback8(
2998
+ onClick: useCallback9(
2914
2999
  (e) => sortable && onSortChange?.({ field, currentSort: sort, multiple: e.shiftKey }),
2915
3000
  [field, onSortChange, sort, sortable]
2916
3001
  ),
@@ -2945,8 +3030,8 @@ var BodyCell = (props) => {
2945
3030
  onCellEditStop
2946
3031
  } = props;
2947
3032
  const theme = useTheme();
2948
- const [value, setValue] = useState7(row[field]);
2949
- const cellRef = useRef4(null);
3033
+ const [value, setValue] = useState8(row[field]);
3034
+ const cellRef = useRef5(null);
2950
3035
  const params = useMemo8(
2951
3036
  () => ({
2952
3037
  row,
@@ -3091,7 +3176,7 @@ var BodyCell = (props) => {
3091
3176
  () => (typeof cellClassName === "function" ? cellClassName(params) : cellClassName) || "",
3092
3177
  [cellClassName, params]
3093
3178
  );
3094
- useEffect4(() => {
3179
+ useEffect5(() => {
3095
3180
  setValue(row[field]);
3096
3181
  }, [row, field]);
3097
3182
  return /* @__PURE__ */ React22.createElement(
@@ -3161,10 +3246,10 @@ var VirtualizedTableRow = memo(StyledTableRow2, (prevProps, nextProps) => {
3161
3246
  });
3162
3247
 
3163
3248
  // src/components/DataTable/hooks.ts
3164
- import { useState as useState8, useLayoutEffect as useLayoutEffect2, useRef as useRef5, useMemo as useMemo9, useCallback as useCallback9, useEffect as useEffect5, createRef } from "react";
3249
+ import { useState as useState9, useLayoutEffect as useLayoutEffect2, useRef as useRef6, useMemo as useMemo9, useCallback as useCallback10, useEffect as useEffect6, createRef } from "react";
3165
3250
  function useColumnWidths(columnsByField) {
3166
- const [widths, setWidths] = useState8({});
3167
- const roRef = useRef5();
3251
+ const [widths, setWidths] = useState9({});
3252
+ const roRef = useRef6();
3168
3253
  useLayoutEffect2(() => {
3169
3254
  if (roRef.current) roRef.current.disconnect();
3170
3255
  roRef.current = new ResizeObserver((entries) => {
@@ -3219,14 +3304,14 @@ function useDataTableRenderer({
3219
3304
  "You cannot use both `pinnedColumns` and `columnGroupingModel` at the same time. Please choose one of them."
3220
3305
  );
3221
3306
  }
3222
- const onSelectionModelChangeRef = useRef5(onSelectionModelChange);
3307
+ const onSelectionModelChangeRef = useRef6(onSelectionModelChange);
3223
3308
  onSelectionModelChangeRef.current = onSelectionModelChange;
3224
- const [focusedRowId, setFocusedRowId] = useState8(null);
3225
- const [selectionAnchor, setSelectionAnchor] = useState8(null);
3309
+ const [focusedRowId, setFocusedRowId] = useState9(null);
3310
+ const [selectionAnchor, setSelectionAnchor] = useState9(null);
3226
3311
  const [sortModel, setSortModel] = useControlledState(
3227
3312
  controlledSortModel,
3228
3313
  initialState?.sorting?.sortModel ?? [],
3229
- useCallback9((sortModel2) => onSortModelChange?.(sortModel2), [onSortModelChange])
3314
+ useCallback10((sortModel2) => onSortModelChange?.(sortModel2), [onSortModelChange])
3230
3315
  );
3231
3316
  const reorderedColumns = useMemo9(() => {
3232
3317
  if (!columnGroupingModel) return columnsProp;
@@ -3246,7 +3331,7 @@ function useDataTableRenderer({
3246
3331
  ),
3247
3332
  [reorderedColumns]
3248
3333
  );
3249
- const sortComparator = useCallback9(
3334
+ const sortComparator = useCallback10(
3250
3335
  (rowA, rowB) => {
3251
3336
  for (const sort of sortModel) {
3252
3337
  const { field, sort: direction } = sort;
@@ -3282,9 +3367,9 @@ function useDataTableRenderer({
3282
3367
  () => Array.from(new Set(_sortOrder || ["asc", "desc", null])),
3283
3368
  [_sortOrder]
3284
3369
  );
3285
- const [page, setPage] = useState8(paginationModel?.page || 1);
3370
+ const [page, setPage] = useState9(paginationModel?.page || 1);
3286
3371
  const pageSize = paginationModel?.pageSize || 20;
3287
- const getId = useCallback9(
3372
+ const getId = useCallback10(
3288
3373
  (row, index) => _getId?.(row) ?? row.id ?? `${(index || 0) + (page - 1) * pageSize}`,
3289
3374
  [_getId, page, pageSize]
3290
3375
  );
@@ -3300,7 +3385,7 @@ function useDataTableRenderer({
3300
3385
  }),
3301
3386
  [dataInPage, isRowSelectable, getId]
3302
3387
  );
3303
- const handleRangeSelection = useCallback9(
3388
+ const handleRangeSelection = useCallback10(
3304
3389
  (anchor, targetIndex) => {
3305
3390
  const startIndex = Math.min(anchor.rowIndex, targetIndex);
3306
3391
  const endIndex = Math.max(anchor.rowIndex, targetIndex);
@@ -3337,7 +3422,7 @@ function useDataTableRenderer({
3337
3422
  [_isTotalSelected, selectionModel, selectableRowCount]
3338
3423
  );
3339
3424
  const columnWidths = useColumnWidths(columnsByField);
3340
- const getWidth = useCallback9(
3425
+ const getWidth = useCallback10(
3341
3426
  (f) => columnWidths[f] ?? columnsByField[f].width ?? // Column prop 으로 지정된 width
3342
3427
  columnsByField[f].minWidth ?? 0,
3343
3428
  [columnWidths, columnsByField]
@@ -3379,14 +3464,14 @@ function useDataTableRenderer({
3379
3464
  sortOrder,
3380
3465
  getWidth
3381
3466
  ]);
3382
- const handlePageChange = useCallback9(
3467
+ const handlePageChange = useCallback10(
3383
3468
  (newPage) => {
3384
3469
  setPage(newPage);
3385
3470
  onPaginationModelChange?.({ page: newPage, pageSize });
3386
3471
  },
3387
3472
  [onPaginationModelChange, pageSize]
3388
3473
  );
3389
- const handleSortChange = useCallback9(
3474
+ const handleSortChange = useCallback10(
3390
3475
  (props) => {
3391
3476
  const { field, currentSort, multiple } = props;
3392
3477
  const column = columnsByField[field];
@@ -3409,23 +3494,23 @@ function useDataTableRenderer({
3409
3494
  },
3410
3495
  [sortOrder, columnsByField, sortModel, setSortModel]
3411
3496
  );
3412
- useEffect5(() => {
3497
+ useEffect6(() => {
3413
3498
  if (!paginationModel) {
3414
3499
  handlePageChange(1);
3415
3500
  }
3416
3501
  }, [rowCount, handlePageChange, paginationModel]);
3417
- useEffect5(() => {
3502
+ useEffect6(() => {
3418
3503
  const lastPage = Math.max(1, Math.ceil(rowCount / pageSize));
3419
3504
  if (page > lastPage) {
3420
3505
  handlePageChange(lastPage);
3421
3506
  }
3422
3507
  }, [page, rowCount, pageSize, handlePageChange]);
3423
- useEffect5(() => {
3508
+ useEffect6(() => {
3424
3509
  onSelectionModelChangeRef.current?.([]);
3425
3510
  setSelectionAnchor(null);
3426
3511
  }, [page]);
3427
- const prevRowsRef = useRef5(_rows);
3428
- useEffect5(() => {
3512
+ const prevRowsRef = useRef6(_rows);
3513
+ useEffect6(() => {
3429
3514
  if (prevRowsRef.current !== _rows) {
3430
3515
  setSelectionAnchor(null);
3431
3516
  prevRowsRef.current = _rows;
@@ -3444,8 +3529,8 @@ function useDataTableRenderer({
3444
3529
  handleSortChange,
3445
3530
  isAllSelected,
3446
3531
  isTotalSelected,
3447
- isSelectedRow: useCallback9((model) => selectedModelSet.has(model), [selectedModelSet]),
3448
- isRowSelectable: useCallback9(
3532
+ isSelectedRow: useCallback10((model) => selectedModelSet.has(model), [selectedModelSet]),
3533
+ isRowSelectable: useCallback10(
3449
3534
  (rowId, row) => {
3450
3535
  if (!isRowSelectable) return true;
3451
3536
  return isRowSelectable({ row, id: rowId });
@@ -3453,13 +3538,13 @@ function useDataTableRenderer({
3453
3538
  [isRowSelectable]
3454
3539
  ),
3455
3540
  focusedRowId,
3456
- onRowFocus: useCallback9((rowId) => {
3541
+ onRowFocus: useCallback10((rowId) => {
3457
3542
  setFocusedRowId(rowId);
3458
3543
  }, []),
3459
- onAllCheckboxChange: useCallback9(() => {
3544
+ onAllCheckboxChange: useCallback10(() => {
3460
3545
  onSelectionModelChange?.(isAllSelected ? [] : selectableDataInPage.map(getId));
3461
3546
  }, [isAllSelected, selectableDataInPage, onSelectionModelChange, getId]),
3462
- onCheckboxChange: useCallback9(
3547
+ onCheckboxChange: useCallback10(
3463
3548
  (event, selectedModel) => {
3464
3549
  const isShiftClick = "shiftKey" in event && event.shiftKey;
3465
3550
  const rowIndex = dataInPage.findIndex((row, i) => getId(row, i) === selectedModel);
@@ -3492,7 +3577,7 @@ function useDataTableRenderer({
3492
3577
  ),
3493
3578
  columns,
3494
3579
  processedColumnGroups,
3495
- onTotalSelect: useCallback9(() => {
3580
+ onTotalSelect: useCallback10(() => {
3496
3581
  const selectableRows = rows.filter((row, i) => {
3497
3582
  if (!isRowSelectable) return true;
3498
3583
  return isRowSelectable({ row, id: getId(row, i) });
@@ -3577,7 +3662,7 @@ function TableBody(props) {
3577
3662
  TableBody.displayName = "TableBody";
3578
3663
 
3579
3664
  // src/components/Pagination/Pagination.tsx
3580
- import React24, { useCallback as useCallback10, useEffect as useEffect6 } from "react";
3665
+ import React24, { useCallback as useCallback11, useEffect as useEffect7 } from "react";
3581
3666
  import PreviousIcon from "@mui/icons-material/ChevronLeftRounded";
3582
3667
  import NextIcon from "@mui/icons-material/ChevronRightRounded";
3583
3668
  import FirstPageIcon from "@mui/icons-material/FirstPageRounded";
@@ -3646,7 +3731,7 @@ function Pagination(props) {
3646
3731
  const [paginationModel, setPaginationModel] = useControlledState(
3647
3732
  _paginationModel,
3648
3733
  defaultPaginationModel,
3649
- useCallback10(
3734
+ useCallback11(
3650
3735
  (newPage) => {
3651
3736
  onPageChange(newPage.page);
3652
3737
  },
@@ -3662,7 +3747,7 @@ function Pagination(props) {
3662
3747
  const afterPages = [paginationModel.page + 1, paginationModel.page + 2].filter((p) => p <= lastPage - 1);
3663
3748
  const isMoreAfterPages = lastPage > 1 && paginationModel.page < lastPage - 3;
3664
3749
  const isMoreBeforePages = lastPage > 1 && paginationModel.page > 4;
3665
- useEffect6(() => {
3750
+ useEffect7(() => {
3666
3751
  if (paginationModel.page > lastPage) {
3667
3752
  setPaginationModel({ ...paginationModel, page: lastPage });
3668
3753
  }
@@ -3845,8 +3930,8 @@ function Component(props, apiRef) {
3845
3930
  ...innerProps
3846
3931
  } = props;
3847
3932
  const tableId = useId();
3848
- const parentRef = useRef6(null);
3849
- const tableBodyRef = useRef6(null);
3933
+ const parentRef = useRef7(null);
3934
+ const tableBodyRef = useRef7(null);
3850
3935
  const {
3851
3936
  columns,
3852
3937
  processedColumnGroups,
@@ -3883,20 +3968,20 @@ function Component(props, apiRef) {
3883
3968
  const paginationModel = useMemo10(() => ({ page, pageSize }), [page, pageSize]);
3884
3969
  const totalSize = virtualizer.getTotalSize();
3885
3970
  const virtualizedItems = virtualizer.getVirtualItems();
3886
- const getRowClickHandler = useCallback11(
3971
+ const getRowClickHandler = useCallback12(
3887
3972
  (row, rowId) => (e) => {
3888
3973
  onRowClick?.({ row, rowId }, e);
3889
3974
  checkboxSelection && !disableSelectionOnClick && isRowSelectableCheck(rowId, row) && onCheckboxChange(e, rowId);
3890
3975
  },
3891
3976
  [onRowClick, checkboxSelection, disableSelectionOnClick, onCheckboxChange, isRowSelectableCheck]
3892
3977
  );
3893
- const getRowFocusHandler = useCallback11(
3978
+ const getRowFocusHandler = useCallback12(
3894
3979
  (rowId) => () => {
3895
3980
  onRowFocus(rowId);
3896
3981
  },
3897
3982
  [onRowFocus]
3898
3983
  );
3899
- const getCheckboxClickHandler = useCallback11(
3984
+ const getCheckboxClickHandler = useCallback12(
3900
3985
  (rowId, row) => (e) => {
3901
3986
  e.stopPropagation();
3902
3987
  if (isRowSelectableCheck(rowId, row)) {
@@ -3906,7 +3991,7 @@ function Component(props, apiRef) {
3906
3991
  },
3907
3992
  [onCheckboxChange, isRowSelectableCheck, onRowFocus]
3908
3993
  );
3909
- const handleTableKeyDown = useCallback11(
3994
+ const handleTableKeyDown = useCallback12(
3910
3995
  (e) => {
3911
3996
  const supportedKeys = ["ArrowUp", "ArrowDown", " ", "Home", "End", "PageUp", "PageDown"];
3912
3997
  if (!supportedKeys.includes(e.key)) return;
@@ -4248,7 +4333,7 @@ var DataTable = forwardRef7(Component);
4248
4333
  DataTable.displayName = "DataTable";
4249
4334
 
4250
4335
  // src/components/DateRangePicker/DateRangePicker.tsx
4251
- import React26, { forwardRef as forwardRef8, useCallback as useCallback12, useEffect as useEffect7, useImperativeHandle as useImperativeHandle3, useMemo as useMemo11, useRef as useRef7, useState as useState9 } from "react";
4336
+ import React26, { forwardRef as forwardRef8, useCallback as useCallback13, useEffect as useEffect8, useImperativeHandle as useImperativeHandle3, useMemo as useMemo11, useRef as useRef8, useState as useState10 } from "react";
4252
4337
  import { IMaskInput as IMaskInput2, IMask as IMask2 } from "react-imask";
4253
4338
  import CalendarTodayIcon2 from "@mui/icons-material/CalendarToday";
4254
4339
  import { styled as styled14, useThemeProps as useThemeProps5 } from "@mui/joy";
@@ -4409,23 +4494,23 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
4409
4494
  readOnly,
4410
4495
  ...innerProps
4411
4496
  } = props;
4412
- const innerRef = useRef7(null);
4413
- const buttonRef = useRef7(null);
4497
+ const innerRef = useRef8(null);
4498
+ const buttonRef = useRef8(null);
4414
4499
  const [value, setValue] = useControlledState(
4415
4500
  props.value,
4416
4501
  props.defaultValue || "",
4417
- useCallback12((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
4502
+ useCallback13((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
4418
4503
  );
4419
- const [displayValue, setDisplayValue] = useState9(
4504
+ const [displayValue, setDisplayValue] = useState10(
4420
4505
  () => value ? formatValueString2(parseDates(value, format), displayFormat) : ""
4421
4506
  );
4422
- const [anchorEl, setAnchorEl] = useState9(null);
4507
+ const [anchorEl, setAnchorEl] = useState10(null);
4423
4508
  const open = Boolean(anchorEl);
4424
4509
  const calendarValue = useMemo11(
4425
4510
  () => value ? parseDates(value, format) : void 0,
4426
4511
  [value, format]
4427
4512
  );
4428
- useEffect7(() => {
4513
+ useEffect8(() => {
4429
4514
  if (value) {
4430
4515
  try {
4431
4516
  const dates = parseDates(value, format);
@@ -4437,13 +4522,13 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
4437
4522
  setDisplayValue("");
4438
4523
  }
4439
4524
  }, [displayFormat, value, format]);
4440
- useEffect7(() => {
4525
+ useEffect8(() => {
4441
4526
  if (!anchorEl) {
4442
4527
  innerRef.current?.blur();
4443
4528
  }
4444
4529
  }, [anchorEl, innerRef]);
4445
4530
  useImperativeHandle3(ref, () => innerRef.current, [innerRef]);
4446
- const handleChange = useCallback12(
4531
+ const handleChange = useCallback13(
4447
4532
  (event) => {
4448
4533
  const value2 = event.target.value;
4449
4534
  setDisplayValue(value2 ? formatValueString2(parseDates(value2, format), displayFormat) : value2);
@@ -4451,7 +4536,7 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
4451
4536
  },
4452
4537
  [displayFormat, format, setValue]
4453
4538
  );
4454
- const handleDisplayInputChange = useCallback12(
4539
+ const handleDisplayInputChange = useCallback13(
4455
4540
  (event) => {
4456
4541
  if (event.target.value === "") {
4457
4542
  handleChange({
@@ -4476,14 +4561,14 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
4476
4561
  },
4477
4562
  [displayFormat, format, handleChange, props.name]
4478
4563
  );
4479
- const handleCalendarToggle = useCallback12(
4564
+ const handleCalendarToggle = useCallback13(
4480
4565
  (event) => {
4481
4566
  setAnchorEl(anchorEl ? null : event.currentTarget);
4482
4567
  innerRef.current?.focus();
4483
4568
  },
4484
4569
  [anchorEl, setAnchorEl, innerRef]
4485
4570
  );
4486
- const handleCalendarChange = useCallback12(
4571
+ const handleCalendarChange = useCallback13(
4487
4572
  ([date1, date2]) => {
4488
4573
  if (!date1 || !date2) return;
4489
4574
  const formattedValue = formatValueString2([date1, date2], format);
@@ -4497,7 +4582,7 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
4497
4582
  },
4498
4583
  [props.value, props.name, onChange, setValue, setAnchorEl, format, displayFormat]
4499
4584
  );
4500
- const handleInputMouseDown = useCallback12(
4585
+ const handleInputMouseDown = useCallback13(
4501
4586
  (event) => {
4502
4587
  if (inputReadOnly) {
4503
4588
  event.preventDefault();
@@ -4729,13 +4814,13 @@ var InsetDrawer = styled20(JoyDrawer2)(({ theme }) => ({
4729
4814
  }));
4730
4815
 
4731
4816
  // src/components/FilterableCheckboxGroup/FilterableCheckboxGroup.tsx
4732
- import React31, { useCallback as useCallback13, useEffect as useEffect8, useMemo as useMemo12, useRef as useRef8, useState as useState10 } from "react";
4817
+ import React31, { useCallback as useCallback14, useEffect as useEffect9, useMemo as useMemo12, useRef as useRef9, useState as useState11 } from "react";
4733
4818
  import SearchIcon from "@mui/icons-material/Search";
4734
4819
  import { useVirtualizer as useVirtualizer3 } from "@tanstack/react-virtual";
4735
4820
  function LabelWithTooltip(props) {
4736
4821
  const { label, size } = props;
4737
- const labelContentRef = useRef8(null);
4738
- const [isOverflowing, setIsOverflowing] = useState10(false);
4822
+ const labelContentRef = useRef9(null);
4823
+ const [isOverflowing, setIsOverflowing] = useState11(false);
4739
4824
  const labelContent = /* @__PURE__ */ React31.createElement(
4740
4825
  "span",
4741
4826
  {
@@ -4752,7 +4837,7 @@ function LabelWithTooltip(props) {
4752
4837
  },
4753
4838
  label
4754
4839
  );
4755
- useEffect8(() => {
4840
+ useEffect9(() => {
4756
4841
  const element = labelContentRef.current;
4757
4842
  if (element) {
4758
4843
  setIsOverflowing(element.scrollWidth > element.clientWidth);
@@ -4776,16 +4861,16 @@ function FilterableCheckboxGroup(props) {
4776
4861
  maxHeight = 300,
4777
4862
  disabled
4778
4863
  } = props;
4779
- const [searchTerm, setSearchTerm] = useState10("");
4780
- const [sortedOptions, setSortedOptions] = useState10(options);
4864
+ const [searchTerm, setSearchTerm] = useState11("");
4865
+ const [sortedOptions, setSortedOptions] = useState11(options);
4781
4866
  const [internalValue, setInternalValue] = useControlledState(
4782
4867
  value,
4783
4868
  value ?? [],
4784
- useCallback13((newValue) => onChange?.(newValue), [onChange])
4869
+ useCallback14((newValue) => onChange?.(newValue), [onChange])
4785
4870
  );
4786
- const parentRef = useRef8(null);
4787
- const isInitialSortRef = useRef8(false);
4788
- const prevOptionsRef = useRef8([...options]);
4871
+ const parentRef = useRef9(null);
4872
+ const isInitialSortRef = useRef9(false);
4873
+ const prevOptionsRef = useRef9([...options]);
4789
4874
  const filteredOptions = useMemo12(() => {
4790
4875
  if (!searchTerm) return sortedOptions;
4791
4876
  return sortedOptions.filter((option) => option.label.toLowerCase().includes(searchTerm.toLowerCase()));
@@ -4808,7 +4893,7 @@ function FilterableCheckboxGroup(props) {
4808
4893
  overscan: 5
4809
4894
  });
4810
4895
  const items = virtualizer.getVirtualItems();
4811
- useEffect8(() => {
4896
+ useEffect9(() => {
4812
4897
  const optionsChanged = prevOptionsRef.current.length !== options.length || prevOptionsRef.current.some(
4813
4898
  (prevOption, index) => prevOption.value !== options[index]?.value || prevOption.label !== options[index]?.label || prevOption.disabled !== options[index]?.disabled
4814
4899
  );
@@ -4834,13 +4919,13 @@ function FilterableCheckboxGroup(props) {
4834
4919
  }
4835
4920
  }
4836
4921
  }, [options, value]);
4837
- useEffect8(() => {
4922
+ useEffect9(() => {
4838
4923
  virtualizer.measure();
4839
4924
  }, [virtualizer, filteredOptions, size]);
4840
- const handleSearchChange = useCallback13((event) => {
4925
+ const handleSearchChange = useCallback14((event) => {
4841
4926
  setSearchTerm(event.target.value);
4842
4927
  }, []);
4843
- const handleCheckboxChange = useCallback13(
4928
+ const handleCheckboxChange = useCallback14(
4844
4929
  (optionValue) => (event) => {
4845
4930
  const checked = event.target.checked;
4846
4931
  const newValue = checked ? [...internalValue, optionValue] : internalValue.filter((v) => v !== optionValue);
@@ -4848,7 +4933,7 @@ function FilterableCheckboxGroup(props) {
4848
4933
  },
4849
4934
  [internalValue, setInternalValue]
4850
4935
  );
4851
- const handleSelectAll = useCallback13(
4936
+ const handleSelectAll = useCallback14(
4852
4937
  (event) => {
4853
4938
  const checked = event.target.checked;
4854
4939
  const enabledOptions = filteredOptions.filter((option) => !option.disabled);
@@ -5005,14 +5090,14 @@ function IconMenuButton(props) {
5005
5090
  IconMenuButton.displayName = "IconMenuButton";
5006
5091
 
5007
5092
  // src/components/Markdown/Markdown.tsx
5008
- import React33, { lazy, Suspense, useEffect as useEffect9, useState as useState11 } from "react";
5093
+ import React33, { lazy, Suspense, useEffect as useEffect10, useState as useState12 } from "react";
5009
5094
  import { Skeleton } from "@mui/joy";
5010
5095
  import { Link as Link2 } from "@mui/joy";
5011
5096
  import remarkGfm from "remark-gfm";
5012
5097
  var LazyReactMarkdown = lazy(() => import("react-markdown"));
5013
5098
  var Markdown = (props) => {
5014
- const [rehypeAccent2, setRehypeAccent] = useState11(null);
5015
- useEffect9(() => {
5099
+ const [rehypeAccent2, setRehypeAccent] = useState12(null);
5100
+ useEffect10(() => {
5016
5101
  const loadRehypeAccent = async () => {
5017
5102
  const module = await Promise.resolve().then(() => (init_rehype_accent(), rehype_accent_exports));
5018
5103
  setRehypeAccent(() => module.rehypeAccent);
@@ -5186,7 +5271,7 @@ function MenuButton(props) {
5186
5271
  MenuButton.displayName = "MenuButton";
5187
5272
 
5188
5273
  // src/components/MonthPicker/MonthPicker.tsx
5189
- import React35, { forwardRef as forwardRef9, useCallback as useCallback14, useEffect as useEffect10, useImperativeHandle as useImperativeHandle4, useRef as useRef9, useState as useState12 } from "react";
5274
+ import React35, { forwardRef as forwardRef9, useCallback as useCallback15, useEffect as useEffect11, useImperativeHandle as useImperativeHandle4, useRef as useRef10, useState as useState13 } from "react";
5190
5275
  import CalendarTodayIcon3 from "@mui/icons-material/CalendarToday";
5191
5276
  import { styled as styled21, useThemeProps as useThemeProps6 } from "@mui/joy";
5192
5277
  import { FocusTrap as FocusTrap3, ClickAwayListener as ClickAwayListener3, Popper as Popper4 } from "@mui/base";
@@ -5268,14 +5353,14 @@ var MonthPicker = forwardRef9((inProps, ref) => {
5268
5353
  locale,
5269
5354
  ...innerProps
5270
5355
  } = props;
5271
- const innerRef = useRef9(null);
5272
- const buttonRef = useRef9(null);
5356
+ const innerRef = useRef10(null);
5357
+ const buttonRef = useRef10(null);
5273
5358
  const [value, setValue, isControlled] = useControlledState(
5274
5359
  props.value,
5275
5360
  props.defaultValue || "",
5276
- useCallback14((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
5361
+ useCallback15((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
5277
5362
  );
5278
- const getFormattedDisplayValue = useCallback14(
5363
+ const getFormattedDisplayValue = useCallback15(
5279
5364
  (inputValue) => {
5280
5365
  if (!inputValue) return "";
5281
5366
  try {
@@ -5286,19 +5371,19 @@ var MonthPicker = forwardRef9((inProps, ref) => {
5286
5371
  },
5287
5372
  [format, displayFormat, locale]
5288
5373
  );
5289
- const [displayValue, setDisplayValue] = useState12(() => getFormattedDisplayValue(value));
5290
- const [anchorEl, setAnchorEl] = useState12(null);
5374
+ const [displayValue, setDisplayValue] = useState13(() => getFormattedDisplayValue(value));
5375
+ const [anchorEl, setAnchorEl] = useState13(null);
5291
5376
  const open = Boolean(anchorEl);
5292
- useEffect10(() => {
5377
+ useEffect11(() => {
5293
5378
  if (!anchorEl) {
5294
5379
  innerRef.current?.blur();
5295
5380
  }
5296
5381
  }, [anchorEl, innerRef]);
5297
5382
  useImperativeHandle4(ref, () => innerRef.current, [innerRef]);
5298
- useEffect10(() => {
5383
+ useEffect11(() => {
5299
5384
  setDisplayValue(getFormattedDisplayValue(value));
5300
5385
  }, [value, getFormattedDisplayValue]);
5301
- const handleChange = useCallback14(
5386
+ const handleChange = useCallback15(
5302
5387
  (event) => {
5303
5388
  const newValue = event.target.value;
5304
5389
  setValue(newValue);
@@ -5308,14 +5393,14 @@ var MonthPicker = forwardRef9((inProps, ref) => {
5308
5393
  },
5309
5394
  [setValue, getFormattedDisplayValue, isControlled]
5310
5395
  );
5311
- const handleCalendarToggle = useCallback14(
5396
+ const handleCalendarToggle = useCallback15(
5312
5397
  (event) => {
5313
5398
  setAnchorEl(anchorEl ? null : event.currentTarget);
5314
5399
  innerRef.current?.focus();
5315
5400
  },
5316
5401
  [anchorEl, setAnchorEl, innerRef]
5317
5402
  );
5318
- const handleInputMouseDown = useCallback14(
5403
+ const handleInputMouseDown = useCallback15(
5319
5404
  (event) => {
5320
5405
  event.preventDefault();
5321
5406
  buttonRef.current?.focus();
@@ -5439,7 +5524,7 @@ var MonthPicker = forwardRef9((inProps, ref) => {
5439
5524
  });
5440
5525
 
5441
5526
  // src/components/MonthRangePicker/MonthRangePicker.tsx
5442
- import React36, { forwardRef as forwardRef10, useCallback as useCallback15, useEffect as useEffect11, useImperativeHandle as useImperativeHandle5, useMemo as useMemo13, useRef as useRef10, useState as useState13 } from "react";
5527
+ import React36, { forwardRef as forwardRef10, useCallback as useCallback16, useEffect as useEffect12, useImperativeHandle as useImperativeHandle5, useMemo as useMemo13, useRef as useRef11, useState as useState14 } from "react";
5443
5528
  import { IMaskInput as IMaskInput3, IMask as IMask3 } from "react-imask";
5444
5529
  import CalendarTodayIcon4 from "@mui/icons-material/CalendarToday";
5445
5530
  import { styled as styled22, useThemeProps as useThemeProps7 } from "@mui/joy";
@@ -5547,35 +5632,35 @@ var MonthRangePicker = forwardRef10((inProps, ref) => {
5547
5632
  size,
5548
5633
  ...innerProps
5549
5634
  } = props;
5550
- const innerRef = useRef10(null);
5635
+ const innerRef = useRef11(null);
5551
5636
  const [value, setValue] = useControlledState(
5552
5637
  props.value,
5553
5638
  props.defaultValue || "",
5554
- useCallback15((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
5639
+ useCallback16((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
5555
5640
  );
5556
- const [anchorEl, setAnchorEl] = useState13(null);
5641
+ const [anchorEl, setAnchorEl] = useState14(null);
5557
5642
  const open = Boolean(anchorEl);
5558
5643
  const calendarValue = useMemo13(() => value ? parseDates2(value) : void 0, [value]);
5559
- useEffect11(() => {
5644
+ useEffect12(() => {
5560
5645
  if (!anchorEl) {
5561
5646
  innerRef.current?.blur();
5562
5647
  }
5563
5648
  }, [anchorEl, innerRef]);
5564
5649
  useImperativeHandle5(ref, () => innerRef.current, [innerRef]);
5565
- const handleChange = useCallback15(
5650
+ const handleChange = useCallback16(
5566
5651
  (event) => {
5567
5652
  setValue(event.target.value);
5568
5653
  },
5569
5654
  [setValue]
5570
5655
  );
5571
- const handleCalendarToggle = useCallback15(
5656
+ const handleCalendarToggle = useCallback16(
5572
5657
  (event) => {
5573
5658
  setAnchorEl(anchorEl ? null : event.currentTarget);
5574
5659
  innerRef.current?.focus();
5575
5660
  },
5576
5661
  [anchorEl, setAnchorEl, innerRef]
5577
5662
  );
5578
- const handleCalendarChange = useCallback15(
5663
+ const handleCalendarChange = useCallback16(
5579
5664
  ([date1, date2]) => {
5580
5665
  if (!date1 || !date2) return;
5581
5666
  setValue(formatValueString4([date1, date2], format));
@@ -5802,7 +5887,7 @@ function Navigator(props) {
5802
5887
  Navigator.displayName = "Navigator";
5803
5888
 
5804
5889
  // src/components/PercentageInput/PercentageInput.tsx
5805
- import React40, { useCallback as useCallback16, useMemo as useMemo14, useState as useState14 } from "react";
5890
+ import React40, { useCallback as useCallback17, useMemo as useMemo14, useState as useState15 } from "react";
5806
5891
  import { NumericFormat as NumericFormat2 } from "react-number-format";
5807
5892
  import { styled as styled25, useThemeProps as useThemeProps8 } from "@mui/joy";
5808
5893
  var padDecimal = (value, decimalScale) => {
@@ -5859,9 +5944,9 @@ var PercentageInput = React40.forwardRef(
5859
5944
  const [_value, setValue] = useControlledState(
5860
5945
  props.value,
5861
5946
  props.defaultValue,
5862
- useCallback16((value2) => onChange?.({ target: { name, value: value2 } }), [onChange, name])
5947
+ useCallback17((value2) => onChange?.({ target: { name, value: value2 } }), [onChange, name])
5863
5948
  );
5864
- const [internalError, setInternalError] = useState14(
5949
+ const [internalError, setInternalError] = useState15(
5865
5950
  max && _value && _value > max || min && _value && _value < min
5866
5951
  );
5867
5952
  const value = useMemo14(() => {
@@ -5870,7 +5955,7 @@ var PercentageInput = React40.forwardRef(
5870
5955
  }
5871
5956
  return _value;
5872
5957
  }, [_value, useMinorUnit, maxDecimalScale]);
5873
- const handleChange = useCallback16(
5958
+ const handleChange = useCallback17(
5874
5959
  (event) => {
5875
5960
  if (event.target.value === "") {
5876
5961
  setValue(void 0);
@@ -6534,7 +6619,7 @@ function ThemeProvider(props) {
6534
6619
  ThemeProvider.displayName = "ThemeProvider";
6535
6620
 
6536
6621
  // src/components/Uploader/Uploader.tsx
6537
- import React47, { useCallback as useCallback17, useEffect as useEffect12, useMemo as useMemo15, useRef as useRef11, useState as useState15 } from "react";
6622
+ import React47, { useCallback as useCallback18, useEffect as useEffect13, useMemo as useMemo15, useRef as useRef12, useState as useState16 } from "react";
6538
6623
  import { styled as styled30, Input as Input2 } from "@mui/joy";
6539
6624
  import MuiFileUploadIcon from "@mui/icons-material/CloudUploadRounded";
6540
6625
  import MuiUploadFileIcon from "@mui/icons-material/UploadFileRounded";
@@ -6683,12 +6768,12 @@ var Uploader = React47.memo(
6683
6768
  error: errorProp,
6684
6769
  helperText: helperTextProp
6685
6770
  } = props;
6686
- const dropZoneRef = useRef11(null);
6687
- const inputRef = useRef11(null);
6688
- const [errorText, setErrorText] = useState15();
6689
- const [files, setFiles] = useState15([]);
6690
- const [uploaded, setUploaded] = useState15(props.uploaded || []);
6691
- const [previewState, setPreviewState] = useState15("idle");
6771
+ const dropZoneRef = useRef12(null);
6772
+ const inputRef = useRef12(null);
6773
+ const [errorText, setErrorText] = useState16();
6774
+ const [files, setFiles] = useState16([]);
6775
+ const [uploaded, setUploaded] = useState16(props.uploaded || []);
6776
+ const [previewState, setPreviewState] = useState16("idle");
6692
6777
  const accepts = useMemo15(() => accept.split(",").map((accept2) => accept2.trim()), [accept]);
6693
6778
  const parsedAccepts = useMemo15(
6694
6779
  () => accepts.flatMap((type) => {
@@ -6734,7 +6819,7 @@ var Uploader = React47.memo(
6734
6819
  () => !maxCount || maxCount && [...uploaded, ...files].length !== maxCount,
6735
6820
  [files, maxCount, uploaded]
6736
6821
  );
6737
- const addFiles = useCallback17(
6822
+ const addFiles = useCallback18(
6738
6823
  (uploads) => {
6739
6824
  try {
6740
6825
  const types = parsedAccepts.map((type) => type.replace(".", "")) || [];
@@ -6779,7 +6864,7 @@ var Uploader = React47.memo(
6779
6864
  },
6780
6865
  [files, uploaded, maxCount, parsedAccepts, maxFileSize, maxFileTotalSize, name, onChange]
6781
6866
  );
6782
- useEffect12(() => {
6867
+ useEffect13(() => {
6783
6868
  if (!dropZoneRef.current || disabled) {
6784
6869
  return;
6785
6870
  }
@@ -6817,7 +6902,7 @@ var Uploader = React47.memo(
6817
6902
  );
6818
6903
  return () => cleanup?.();
6819
6904
  }, [disabled, addFiles]);
6820
- useEffect12(() => {
6905
+ useEffect13(() => {
6821
6906
  if (inputRef.current && minCount) {
6822
6907
  if (files.length < minCount) {
6823
6908
  inputRef.current.setCustomValidity(`At least ${minCount} files are required.`);
@@ -6826,14 +6911,14 @@ var Uploader = React47.memo(
6826
6911
  }
6827
6912
  }
6828
6913
  }, [inputRef, files, minCount]);
6829
- const handleFileChanged = useCallback17(
6914
+ const handleFileChanged = useCallback18(
6830
6915
  (event) => {
6831
6916
  const files2 = Array.from(event.target.files || []);
6832
6917
  addFiles(files2);
6833
6918
  },
6834
6919
  [addFiles]
6835
6920
  );
6836
- const handleDeleteFile = useCallback17(
6921
+ const handleDeleteFile = useCallback18(
6837
6922
  (deletedFile) => {
6838
6923
  if (deletedFile instanceof File) {
6839
6924
  setFiles((current) => {
@@ -6853,7 +6938,7 @@ var Uploader = React47.memo(
6853
6938
  },
6854
6939
  [name, onChange, onDelete]
6855
6940
  );
6856
- const handleUploaderButtonClick = useCallback17(() => {
6941
+ const handleUploaderButtonClick = useCallback18(() => {
6857
6942
  inputRef.current?.click();
6858
6943
  }, []);
6859
6944
  const uploader = /* @__PURE__ */ React47.createElement(