@ceed/ads 1.31.1 → 1.32.1-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Calendar/hooks/use-calendar-props.d.ts +2 -0
- package/dist/components/Calendar/types.d.ts +10 -0
- package/dist/components/DateRangePicker/DateRangePicker.d.ts +4 -0
- package/dist/components/inputs/DateRangePicker.md +49 -0
- package/dist/index.browser.js +2 -2
- package/dist/index.browser.js.map +3 -3
- package/dist/index.cjs +262 -29
- package/dist/index.js +262 -29
- package/framer/index.js +1 -1
- package/package.json +3 -2
package/dist/index.js
CHANGED
|
@@ -878,8 +878,12 @@ var useCalendarProps = (inProps) => {
|
|
|
878
878
|
// src/components/Calendar/hooks/use-calendar.ts
|
|
879
879
|
import { useCallback as useCallback4, useState as useState3 } from "react";
|
|
880
880
|
var useCalendar = (ownerState) => {
|
|
881
|
-
const [
|
|
882
|
-
const [
|
|
881
|
+
const [localHoverDay, setLocalHoverDay] = useState3(null);
|
|
882
|
+
const [localHoverMonth, setLocalHoverMonth] = useState3(null);
|
|
883
|
+
const hoverDay = ownerState.hoverDay !== void 0 ? ownerState.hoverDay : localHoverDay;
|
|
884
|
+
const setHoverDay = ownerState.onHoverDayChange ?? setLocalHoverDay;
|
|
885
|
+
const hoverMonth = ownerState.hoverMonth !== void 0 ? ownerState.hoverMonth : localHoverMonth;
|
|
886
|
+
const setHoverMonth = ownerState.onHoverMonthChange ?? setLocalHoverMonth;
|
|
883
887
|
return {
|
|
884
888
|
calendarTitle: ownerState.view === "month" ? getYearName(ownerState.viewMonth, ownerState.locale || "default") : getMonthName(ownerState.viewMonth, ownerState.locale || "default"),
|
|
885
889
|
onPrev: useCallback4(() => {
|
|
@@ -1078,11 +1082,18 @@ var MONTH_NAV_CLICK_THRESHOLD = 3;
|
|
|
1078
1082
|
var MONTH_VIEW_HINT_DURATION_MS = 5e3;
|
|
1079
1083
|
var MONTH_VIEW_HINT_COOLDOWN_MS = 3e4;
|
|
1080
1084
|
var lastMonthViewAssistHintShownAt = 0;
|
|
1085
|
+
var CALENDAR_PANEL_WIDTH = 264;
|
|
1086
|
+
var CALENDAR_PANEL_GAP = 16;
|
|
1081
1087
|
var CalendarRoot = styled5("div", {
|
|
1082
1088
|
name: "Calendar",
|
|
1083
1089
|
slot: "root"
|
|
1090
|
+
})({});
|
|
1091
|
+
var CalendarMultiContainer = styled5("div", {
|
|
1092
|
+
name: "Calendar",
|
|
1093
|
+
slot: "multiContainer"
|
|
1084
1094
|
})({
|
|
1085
|
-
|
|
1095
|
+
display: "flex",
|
|
1096
|
+
gap: `${CALENDAR_PANEL_GAP}px`
|
|
1086
1097
|
});
|
|
1087
1098
|
var CalendarHeader = styled5("div", {
|
|
1088
1099
|
name: "Calendar",
|
|
@@ -1117,6 +1128,16 @@ var CalendarViewTable = styled5(motion13.table, {
|
|
|
1117
1128
|
paddingBottom: theme.spacing(2)
|
|
1118
1129
|
}
|
|
1119
1130
|
}));
|
|
1131
|
+
var StaticCalendarViewTable = styled5("table")(({ theme }) => ({
|
|
1132
|
+
borderSpacing: 0,
|
|
1133
|
+
"& td, & th": {
|
|
1134
|
+
padding: 0
|
|
1135
|
+
},
|
|
1136
|
+
"& th": {
|
|
1137
|
+
paddingTop: theme.spacing(2),
|
|
1138
|
+
paddingBottom: theme.spacing(2)
|
|
1139
|
+
}
|
|
1140
|
+
}));
|
|
1120
1141
|
var CalendarWeekHeaderContainer = styled5("thead", {
|
|
1121
1142
|
name: "Calendar",
|
|
1122
1143
|
slot: "weekHeaderContainer"
|
|
@@ -1365,6 +1386,133 @@ var PickerMonths = (props) => {
|
|
|
1365
1386
|
/* @__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 } })))))
|
|
1366
1387
|
)));
|
|
1367
1388
|
};
|
|
1389
|
+
var PlainPickerDays = ({ ownerState }) => {
|
|
1390
|
+
const { getPickerDayProps, getDayCellProps } = useCalendar(ownerState);
|
|
1391
|
+
const calendarDates = useMemo4(() => getCalendarDates(ownerState.viewMonth), [ownerState.viewMonth]);
|
|
1392
|
+
const weekdayNames = useMemo4(() => getWeekdayNames(ownerState.locale || "default"), [ownerState.locale]);
|
|
1393
|
+
return /* @__PURE__ */ React12.createElement(StaticCalendarViewTable, null, /* @__PURE__ */ React12.createElement(CalendarWeekHeaderContainer, null, /* @__PURE__ */ React12.createElement("tr", null, weekdayNames.map((name, i) => /* @__PURE__ */ React12.createElement(Fragment, { key: `${ownerState.viewMonth}_${name}_${i}` }, /* @__PURE__ */ React12.createElement("th", null, /* @__PURE__ */ React12.createElement(Typography_default, { level: "body-xs", textAlign: "center" }, name)), i < 6 && /* @__PURE__ */ React12.createElement("th", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" }))))), /* @__PURE__ */ React12.createElement(CalendarDayPickerContainer, null, calendarDates.map((weekDates, rowIndex) => /* @__PURE__ */ React12.createElement(Fragment, { key: `${ownerState.viewMonth}_${rowIndex}` }, /* @__PURE__ */ React12.createElement("tr", null, weekDates.map(
|
|
1394
|
+
(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" }))
|
|
1395
|
+
)), rowIndex < calendarDates.length - 1 && /* @__PURE__ */ React12.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" }, /* @__PURE__ */ React12.createElement("td", { colSpan: 13, style: { height: 4 } }))))));
|
|
1396
|
+
};
|
|
1397
|
+
var MultiMonthPickerDays = ({
|
|
1398
|
+
panels,
|
|
1399
|
+
direction,
|
|
1400
|
+
numberOfMonths
|
|
1401
|
+
}) => {
|
|
1402
|
+
const slideDistance = CALENDAR_PANEL_WIDTH * numberOfMonths + CALENDAR_PANEL_GAP * (numberOfMonths - 1) + CALENDAR_PANEL_WIDTH;
|
|
1403
|
+
const multiVariants = {
|
|
1404
|
+
enter: (dir) => ({ x: dir > 0 ? slideDistance : -slideDistance, opacity: 0 }),
|
|
1405
|
+
center: { position: "relative", zIndex: 1, x: 0, opacity: 1 },
|
|
1406
|
+
exit: (dir) => ({
|
|
1407
|
+
position: "absolute",
|
|
1408
|
+
zIndex: 0,
|
|
1409
|
+
x: dir < 0 ? slideDistance : -slideDistance,
|
|
1410
|
+
opacity: 0
|
|
1411
|
+
})
|
|
1412
|
+
};
|
|
1413
|
+
const key = `${panels[0].viewMonth.toISOString()}_${direction}`;
|
|
1414
|
+
return /* @__PURE__ */ React12.createElement("div", { style: { position: "relative", overflow: "hidden", minHeight: "250px" } }, /* @__PURE__ */ React12.createElement(AnimatePresence, { initial: false, custom: direction }, /* @__PURE__ */ React12.createElement(
|
|
1415
|
+
motion13.div,
|
|
1416
|
+
{
|
|
1417
|
+
key,
|
|
1418
|
+
custom: direction,
|
|
1419
|
+
variants: multiVariants,
|
|
1420
|
+
initial: "enter",
|
|
1421
|
+
animate: "center",
|
|
1422
|
+
exit: "exit",
|
|
1423
|
+
transition: {
|
|
1424
|
+
x: { type: "spring", stiffness: 300, damping: 30 },
|
|
1425
|
+
opacity: { duration: 0.2 }
|
|
1426
|
+
},
|
|
1427
|
+
drag: "x",
|
|
1428
|
+
dragConstraints: { left: 0, right: 0 },
|
|
1429
|
+
dragElastic: 1,
|
|
1430
|
+
onDragEnd: (e, { offset, velocity }) => {
|
|
1431
|
+
const swipe = swipePower(offset.x, velocity.x);
|
|
1432
|
+
if (swipe < -swipeConfidenceThreshold) {
|
|
1433
|
+
const date = new Date(panels[0].viewMonth);
|
|
1434
|
+
date.setMonth(date.getMonth() + 1);
|
|
1435
|
+
panels[0].onMonthChange?.(date);
|
|
1436
|
+
} else if (swipe > swipeConfidenceThreshold) {
|
|
1437
|
+
const date = new Date(panels[0].viewMonth);
|
|
1438
|
+
date.setMonth(date.getMonth() - 1);
|
|
1439
|
+
panels[0].onMonthChange?.(date);
|
|
1440
|
+
}
|
|
1441
|
+
},
|
|
1442
|
+
style: { display: "flex", gap: `${CALENDAR_PANEL_GAP}px`, top: 0, left: 0, width: "100%" }
|
|
1443
|
+
},
|
|
1444
|
+
panels.map((panelOwnerState) => /* @__PURE__ */ React12.createElement(
|
|
1445
|
+
"div",
|
|
1446
|
+
{
|
|
1447
|
+
key: panelOwnerState.viewMonth.toISOString(),
|
|
1448
|
+
style: {
|
|
1449
|
+
flex: "0 0 auto",
|
|
1450
|
+
width: `${CALENDAR_PANEL_WIDTH}px`,
|
|
1451
|
+
paddingLeft: "16px",
|
|
1452
|
+
paddingRight: "16px",
|
|
1453
|
+
boxSizing: "border-box"
|
|
1454
|
+
}
|
|
1455
|
+
},
|
|
1456
|
+
/* @__PURE__ */ React12.createElement(PlainPickerDays, { ownerState: panelOwnerState })
|
|
1457
|
+
))
|
|
1458
|
+
)));
|
|
1459
|
+
};
|
|
1460
|
+
var CalendarPanel = ({
|
|
1461
|
+
ownerState,
|
|
1462
|
+
panelIndex,
|
|
1463
|
+
totalPanels,
|
|
1464
|
+
onPrev,
|
|
1465
|
+
onNext,
|
|
1466
|
+
onSwitchView,
|
|
1467
|
+
isMonthViewAssistHintOpen,
|
|
1468
|
+
monthViewHintMessage
|
|
1469
|
+
}) => {
|
|
1470
|
+
const showPrev = panelIndex === 0;
|
|
1471
|
+
const showNext = panelIndex === totalPanels - 1;
|
|
1472
|
+
const title = ownerState.view === "month" ? getYearName(ownerState.viewMonth, ownerState.locale || "default") : getMonthName(ownerState.viewMonth, ownerState.locale || "default");
|
|
1473
|
+
return /* @__PURE__ */ React12.createElement("div", { style: { flex: 1, maxWidth: `${CALENDAR_PANEL_WIDTH}px` } }, /* @__PURE__ */ React12.createElement(CalendarHeader, null, /* @__PURE__ */ React12.createElement(
|
|
1474
|
+
IconButton_default,
|
|
1475
|
+
{
|
|
1476
|
+
size: "sm",
|
|
1477
|
+
onClick: onPrev,
|
|
1478
|
+
"aria-label": `Previous ${ownerState.view === "day" ? "Month" : "Year"}`,
|
|
1479
|
+
style: { visibility: showPrev ? "visible" : "hidden" }
|
|
1480
|
+
},
|
|
1481
|
+
/* @__PURE__ */ React12.createElement(ChevronLeftIcon, null)
|
|
1482
|
+
), /* @__PURE__ */ React12.createElement(
|
|
1483
|
+
Tooltip_default,
|
|
1484
|
+
{
|
|
1485
|
+
title: monthViewHintMessage,
|
|
1486
|
+
arrow: true,
|
|
1487
|
+
open: panelIndex === 0 && isMonthViewAssistHintOpen,
|
|
1488
|
+
placement: "bottom",
|
|
1489
|
+
disableFocusListener: true,
|
|
1490
|
+
disableHoverListener: true,
|
|
1491
|
+
disableTouchListener: true,
|
|
1492
|
+
variant: "solid"
|
|
1493
|
+
},
|
|
1494
|
+
/* @__PURE__ */ React12.createElement(
|
|
1495
|
+
CalendarSwitchViewButton,
|
|
1496
|
+
{
|
|
1497
|
+
ownerState,
|
|
1498
|
+
variant: "plain",
|
|
1499
|
+
color: "neutral",
|
|
1500
|
+
onClick: onSwitchView,
|
|
1501
|
+
"aria-label": "Switch Calendar View"
|
|
1502
|
+
},
|
|
1503
|
+
title
|
|
1504
|
+
)
|
|
1505
|
+
), /* @__PURE__ */ React12.createElement(
|
|
1506
|
+
IconButton_default,
|
|
1507
|
+
{
|
|
1508
|
+
size: "sm",
|
|
1509
|
+
onClick: onNext,
|
|
1510
|
+
"aria-label": `Next ${ownerState.view === "day" ? "Month" : "Year"}`,
|
|
1511
|
+
style: { visibility: showNext ? "visible" : "hidden" }
|
|
1512
|
+
},
|
|
1513
|
+
/* @__PURE__ */ React12.createElement(ChevronRightIcon, null)
|
|
1514
|
+
)));
|
|
1515
|
+
};
|
|
1368
1516
|
var Calendar = forwardRef4((inProps, ref) => {
|
|
1369
1517
|
const [props, ownerState] = useCalendarProps(inProps);
|
|
1370
1518
|
const {
|
|
@@ -1381,6 +1529,7 @@ var Calendar = forwardRef4((inProps, ref) => {
|
|
|
1381
1529
|
maxDate,
|
|
1382
1530
|
disableFuture,
|
|
1383
1531
|
disablePast,
|
|
1532
|
+
numberOfMonths,
|
|
1384
1533
|
...others
|
|
1385
1534
|
} = props;
|
|
1386
1535
|
const { calendarTitle, onPrev, onNext } = useCalendar(ownerState);
|
|
@@ -1388,6 +1537,9 @@ var Calendar = forwardRef4((inProps, ref) => {
|
|
|
1388
1537
|
const monthNavClickTimestampsRef = useRef3([]);
|
|
1389
1538
|
const monthViewAssistHintShownInSessionRef = useRef3(false);
|
|
1390
1539
|
const monthViewAssistHintTimeoutRef = useRef3(null);
|
|
1540
|
+
const [hoverDay, setHoverDay] = useState4(null);
|
|
1541
|
+
const [hoverMonth, setHoverMonth] = useState4(null);
|
|
1542
|
+
const resolvedNumberOfMonths = numberOfMonths ?? 1;
|
|
1391
1543
|
const hasEndDate = Boolean(value?.[1]);
|
|
1392
1544
|
const isRangeHintEligible = Boolean(rangeSelection && !hasEndDate);
|
|
1393
1545
|
const isHintEligible = Boolean(view === "day" && (!rangeSelection || isRangeHintEligible));
|
|
@@ -1450,7 +1602,71 @@ var Calendar = forwardRef4((inProps, ref) => {
|
|
|
1450
1602
|
closeMonthViewAssistHint();
|
|
1451
1603
|
onViewChange?.();
|
|
1452
1604
|
}, [closeMonthViewAssistHint, onViewChange]);
|
|
1453
|
-
|
|
1605
|
+
const maxWidth = CALENDAR_PANEL_WIDTH * resolvedNumberOfMonths + CALENDAR_PANEL_GAP * (resolvedNumberOfMonths - 1);
|
|
1606
|
+
if (resolvedNumberOfMonths > 1) {
|
|
1607
|
+
const panels = Array.from({ length: resolvedNumberOfMonths }, (_, i) => {
|
|
1608
|
+
const panelViewMonth = new Date(ownerState.viewMonth);
|
|
1609
|
+
panelViewMonth.setMonth(panelViewMonth.getMonth() + i);
|
|
1610
|
+
panelViewMonth.setDate(1);
|
|
1611
|
+
panelViewMonth.setHours(0, 0, 0, 0);
|
|
1612
|
+
return {
|
|
1613
|
+
...ownerState,
|
|
1614
|
+
viewMonth: panelViewMonth,
|
|
1615
|
+
hoverDay,
|
|
1616
|
+
onHoverDayChange: setHoverDay,
|
|
1617
|
+
hoverMonth,
|
|
1618
|
+
onHoverMonthChange: setHoverMonth
|
|
1619
|
+
};
|
|
1620
|
+
});
|
|
1621
|
+
return /* @__PURE__ */ React12.createElement(CalendarRoot, { ref, ...others, style: { maxWidth: `${maxWidth}px` } }, view === "month" ? (
|
|
1622
|
+
// Month view: single header + single month grid (consistent with single-month path)
|
|
1623
|
+
/* @__PURE__ */ React12.createElement(React12.Fragment, null, /* @__PURE__ */ React12.createElement(CalendarHeader, null, /* @__PURE__ */ React12.createElement(IconButton_default, { size: "sm", onClick: handlePrevClick, "aria-label": "Previous Year" }, /* @__PURE__ */ React12.createElement(ChevronLeftIcon, null)), /* @__PURE__ */ React12.createElement(
|
|
1624
|
+
Tooltip_default,
|
|
1625
|
+
{
|
|
1626
|
+
title: monthViewHintMessage,
|
|
1627
|
+
arrow: true,
|
|
1628
|
+
open: false,
|
|
1629
|
+
placement: "bottom",
|
|
1630
|
+
disableFocusListener: true,
|
|
1631
|
+
disableHoverListener: true,
|
|
1632
|
+
disableTouchListener: true,
|
|
1633
|
+
variant: "solid"
|
|
1634
|
+
},
|
|
1635
|
+
/* @__PURE__ */ React12.createElement(
|
|
1636
|
+
CalendarSwitchViewButton,
|
|
1637
|
+
{
|
|
1638
|
+
ownerState,
|
|
1639
|
+
variant: "plain",
|
|
1640
|
+
color: "neutral",
|
|
1641
|
+
onClick: handleSwitchViewClick,
|
|
1642
|
+
"aria-label": "Switch Calendar View"
|
|
1643
|
+
},
|
|
1644
|
+
calendarTitle
|
|
1645
|
+
)
|
|
1646
|
+
), /* @__PURE__ */ React12.createElement(IconButton_default, { size: "sm", onClick: handleNextClick, "aria-label": "Next Year" }, /* @__PURE__ */ React12.createElement(ChevronRightIcon, null))), /* @__PURE__ */ React12.createElement(PickerMonths, { ownerState }))
|
|
1647
|
+
) : /* @__PURE__ */ React12.createElement(React12.Fragment, null, /* @__PURE__ */ React12.createElement(CalendarMultiContainer, null, panels.map((panelOwnerState, i) => /* @__PURE__ */ React12.createElement(
|
|
1648
|
+
CalendarPanel,
|
|
1649
|
+
{
|
|
1650
|
+
key: panelOwnerState.viewMonth.toISOString(),
|
|
1651
|
+
ownerState: panelOwnerState,
|
|
1652
|
+
panelIndex: i,
|
|
1653
|
+
totalPanels: resolvedNumberOfMonths,
|
|
1654
|
+
onPrev: handlePrevClick,
|
|
1655
|
+
onNext: handleNextClick,
|
|
1656
|
+
onSwitchView: handleSwitchViewClick,
|
|
1657
|
+
isMonthViewAssistHintOpen,
|
|
1658
|
+
monthViewHintMessage
|
|
1659
|
+
}
|
|
1660
|
+
))), /* @__PURE__ */ React12.createElement(
|
|
1661
|
+
MultiMonthPickerDays,
|
|
1662
|
+
{
|
|
1663
|
+
panels,
|
|
1664
|
+
direction: ownerState.direction,
|
|
1665
|
+
numberOfMonths: resolvedNumberOfMonths
|
|
1666
|
+
}
|
|
1667
|
+
)));
|
|
1668
|
+
}
|
|
1669
|
+
return /* @__PURE__ */ React12.createElement(CalendarRoot, { ref, ...others, style: { maxWidth: `${maxWidth}px` } }, /* @__PURE__ */ React12.createElement(CalendarHeader, null, /* @__PURE__ */ React12.createElement(IconButton_default, { size: "sm", onClick: handlePrevClick, "aria-label": `Previous ${view === "day" ? "Month" : "Year"}` }, /* @__PURE__ */ React12.createElement(ChevronLeftIcon, null)), /* @__PURE__ */ React12.createElement(
|
|
1454
1670
|
Tooltip_default,
|
|
1455
1671
|
{
|
|
1456
1672
|
title: monthViewHintMessage,
|
|
@@ -3452,8 +3668,9 @@ var StyledTableRow2 = styled12("tr", {
|
|
|
3452
3668
|
var VirtualizedTableRow = memo(StyledTableRow2, (prevProps, nextProps) => {
|
|
3453
3669
|
return prevProps.striped === nextProps.striped && prevProps.style?.height === nextProps.style?.height && prevProps.style?.transform === nextProps.style?.transform && // @ts-ignore
|
|
3454
3670
|
prevProps["data-row-id"] === nextProps["data-row-id"] && // @ts-ignore
|
|
3455
|
-
prevProps["data-index"] === nextProps["data-index"] && prevProps.tabIndex === nextProps.tabIndex && prevProps["aria-checked"] === nextProps["aria-checked"] && //
|
|
3456
|
-
|
|
3671
|
+
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)
|
|
3672
|
+
// @ts-ignore
|
|
3673
|
+
prevProps["data-columns-key"] === nextProps["data-columns-key"];
|
|
3457
3674
|
});
|
|
3458
3675
|
|
|
3459
3676
|
// src/components/DataTable/hooks.ts
|
|
@@ -4160,6 +4377,15 @@ Pagination.displayName = "Pagination";
|
|
|
4160
4377
|
var Pagination_default = Pagination;
|
|
4161
4378
|
|
|
4162
4379
|
// src/components/DataTable/DataTable.tsx
|
|
4380
|
+
var _columnsVersionCache = /* @__PURE__ */ new WeakMap();
|
|
4381
|
+
var _columnsVersionCounter = 0;
|
|
4382
|
+
function getColumnsVersion(columns) {
|
|
4383
|
+
if (!_columnsVersionCache.has(columns)) {
|
|
4384
|
+
_columnsVersionCache.set(columns, ++_columnsVersionCounter);
|
|
4385
|
+
}
|
|
4386
|
+
return _columnsVersionCache.get(columns);
|
|
4387
|
+
}
|
|
4388
|
+
var EMPTY_CHECKBOX_PROPS = {};
|
|
4163
4389
|
function Component(props, apiRef) {
|
|
4164
4390
|
const {
|
|
4165
4391
|
rows,
|
|
@@ -4207,7 +4433,7 @@ function Component(props, apiRef) {
|
|
|
4207
4433
|
noRowsOverlay: NoRowsOverlay = DefaultNoRowsOverlay
|
|
4208
4434
|
} = {},
|
|
4209
4435
|
slotProps: {
|
|
4210
|
-
checkbox: checkboxProps =
|
|
4436
|
+
checkbox: checkboxProps = EMPTY_CHECKBOX_PROPS,
|
|
4211
4437
|
toolbar: toolbarProps,
|
|
4212
4438
|
background: backgroundProps = {},
|
|
4213
4439
|
noRowsOverlay: noRowsOverlayProps = {}
|
|
@@ -4255,6 +4481,28 @@ function Component(props, apiRef) {
|
|
|
4255
4481
|
overscan: 10
|
|
4256
4482
|
});
|
|
4257
4483
|
const paginationModel = useMemo10(() => ({ page, pageSize }), [page, pageSize]);
|
|
4484
|
+
const columnsKey = getColumnsVersion(columns);
|
|
4485
|
+
const headerCheckboxElement = useMemo10(
|
|
4486
|
+
() => /* @__PURE__ */ React25.createElement(
|
|
4487
|
+
RenderCheckbox,
|
|
4488
|
+
{
|
|
4489
|
+
onChange: onAllCheckboxChange,
|
|
4490
|
+
checked: isAllSelected,
|
|
4491
|
+
indeterminate: (selectionModel || []).length > 0 && !isAllSelected,
|
|
4492
|
+
disabled: dataInPage.length > 0 && !selectableRowCount,
|
|
4493
|
+
...checkboxProps
|
|
4494
|
+
}
|
|
4495
|
+
),
|
|
4496
|
+
[
|
|
4497
|
+
RenderCheckbox,
|
|
4498
|
+
onAllCheckboxChange,
|
|
4499
|
+
isAllSelected,
|
|
4500
|
+
selectionModel,
|
|
4501
|
+
selectableRowCount,
|
|
4502
|
+
dataInPage.length,
|
|
4503
|
+
checkboxProps
|
|
4504
|
+
]
|
|
4505
|
+
);
|
|
4258
4506
|
const totalSize = virtualizer.getTotalSize();
|
|
4259
4507
|
const virtualizedItems = virtualizer.getVirtualItems();
|
|
4260
4508
|
const showNoRowsOverlay = !loading && rowCount === 0;
|
|
@@ -4459,16 +4707,7 @@ function Component(props, apiRef) {
|
|
|
4459
4707
|
verticalAlign: "middle"
|
|
4460
4708
|
}
|
|
4461
4709
|
},
|
|
4462
|
-
|
|
4463
|
-
RenderCheckbox,
|
|
4464
|
-
{
|
|
4465
|
-
onChange: onAllCheckboxChange,
|
|
4466
|
-
checked: isAllSelected,
|
|
4467
|
-
indeterminate: (selectionModel || []).length > 0 && !isAllSelected,
|
|
4468
|
-
disabled: dataInPage.length > 0 && !selectableRowCount,
|
|
4469
|
-
...checkboxProps
|
|
4470
|
-
}
|
|
4471
|
-
)
|
|
4710
|
+
headerCheckboxElement
|
|
4472
4711
|
), level > 0 && Array.from({ length: levelGroups[0]?.startIndex || 0 }).map((_2, i) => /* @__PURE__ */ React25.createElement("th", { key: `empty-${level}-${i}` })), levelGroups.filter((g) => g.colspan > 0).map((group, groupIndex) => {
|
|
4473
4712
|
const nextGroup = levelGroups[groupIndex + 1];
|
|
4474
4713
|
const emptyCells = nextGroup ? nextGroup.startIndex - (group.startIndex + group.colspan) : columns.length - (group.startIndex + group.colspan);
|
|
@@ -4495,16 +4734,7 @@ function Component(props, apiRef) {
|
|
|
4495
4734
|
textAlign: "center"
|
|
4496
4735
|
}
|
|
4497
4736
|
},
|
|
4498
|
-
|
|
4499
|
-
RenderCheckbox,
|
|
4500
|
-
{
|
|
4501
|
-
onChange: onAllCheckboxChange,
|
|
4502
|
-
checked: isAllSelected,
|
|
4503
|
-
indeterminate: (selectionModel || []).length > 0 && !isAllSelected,
|
|
4504
|
-
disabled: dataInPage.length > 0 && !selectableRowCount,
|
|
4505
|
-
...checkboxProps
|
|
4506
|
-
}
|
|
4507
|
-
)
|
|
4737
|
+
headerCheckboxElement
|
|
4508
4738
|
), columns.map((c, i) => (
|
|
4509
4739
|
// @ts-ignore
|
|
4510
4740
|
/* @__PURE__ */ React25.createElement(
|
|
@@ -4575,6 +4805,7 @@ function Component(props, apiRef) {
|
|
|
4575
4805
|
key: virtualizedRow.key,
|
|
4576
4806
|
"data-row-id": rowId,
|
|
4577
4807
|
"data-index": rowIndex,
|
|
4808
|
+
"data-columns-key": columnsKey,
|
|
4578
4809
|
"aria-rowindex": rowIndex + 1,
|
|
4579
4810
|
role: checkboxSelection && !disableSelectionOnClick ? "checkbox" : void 0,
|
|
4580
4811
|
tabIndex: focusedRowId === rowId ? 0 : -1,
|
|
@@ -4840,6 +5071,7 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
|
|
|
4840
5071
|
hideClearButton,
|
|
4841
5072
|
readOnly,
|
|
4842
5073
|
presets,
|
|
5074
|
+
numberOfMonths,
|
|
4843
5075
|
...innerProps
|
|
4844
5076
|
} = props;
|
|
4845
5077
|
const innerRef = useRef8(null);
|
|
@@ -5036,7 +5268,7 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
|
|
|
5036
5268
|
"aria-label": "Calendar Tooltip",
|
|
5037
5269
|
"aria-expanded": open
|
|
5038
5270
|
},
|
|
5039
|
-
/* @__PURE__ */ React26.createElement(CalendarSheet2, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React26.createElement(CalendarSheetContent2, null, /* @__PURE__ */ React26.createElement(CalendarSection2,
|
|
5271
|
+
/* @__PURE__ */ React26.createElement(CalendarSheet2, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ React26.createElement(CalendarSheetContent2, null, /* @__PURE__ */ React26.createElement(CalendarSection2, { style: { width: "auto" } }, /* @__PURE__ */ React26.createElement(
|
|
5040
5272
|
Calendar_default,
|
|
5041
5273
|
{
|
|
5042
5274
|
rangeSelection: true,
|
|
@@ -5046,7 +5278,8 @@ var DateRangePicker = forwardRef8((inProps, ref) => {
|
|
|
5046
5278
|
maxDate: maxDate ? new Date(maxDate) : void 0,
|
|
5047
5279
|
disableFuture,
|
|
5048
5280
|
disablePast,
|
|
5049
|
-
locale
|
|
5281
|
+
locale,
|
|
5282
|
+
numberOfMonths
|
|
5050
5283
|
}
|
|
5051
5284
|
), !hideClearButton && /* @__PURE__ */ React26.createElement(
|
|
5052
5285
|
DialogActions_default,
|