@ceed/ads 1.7.4-next.1 → 1.7.4

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.
@@ -140,13 +140,6 @@ export type DataTableProps<T extends Record<PropertyKey, any>, GetId extends ((r
140
140
  * MUI에는 없는 인터페이스지만 Total Select 기능이 추가되었기 때문에 추가해야했다.
141
141
  */
142
142
  isTotalSelected?: boolean) => void;
143
- /**
144
- * row별로 선택 가능 여부를 결정하는 함수
145
- */
146
- isRowSelectable?: (params: {
147
- row: T;
148
- id: InferredIdType<T, GetId>;
149
- }) => boolean;
150
143
  disableSelectionOnClick?: boolean;
151
144
  initialState?: Partial<{
152
145
  sorting: Partial<{
package/dist/index.cjs CHANGED
@@ -3522,8 +3522,7 @@ function useDataTableRenderer({
3522
3522
  onSelectionModelChange,
3523
3523
  editMode,
3524
3524
  getId: _getId,
3525
- isTotalSelected: _isTotalSelected,
3526
- isRowSelectable
3525
+ isTotalSelected: _isTotalSelected
3527
3526
  }) {
3528
3527
  const [focusedRowId, setFocusedRowId] = (0, import_react25.useState)(null);
3529
3528
  const [sortModel, setSortModel] = useControlledState(
@@ -3599,27 +3598,14 @@ function useDataTableRenderer({
3599
3598
  () => !pagination || paginationMode === "server" ? rows : rows.slice((page - 1) * pageSize, (page - 1) * pageSize + pageSize),
3600
3599
  [rows, page, pageSize, paginationMode, pagination]
3601
3600
  );
3602
- const selectableDataInPage = (0, import_react25.useMemo)(
3603
- () => dataInPage.filter((row, i) => {
3604
- if (!isRowSelectable) return true;
3605
- return isRowSelectable({ row, id: getId(row, i) });
3606
- }),
3607
- [dataInPage, isRowSelectable, getId]
3608
- );
3609
3601
  const isAllSelected = (0, import_react25.useMemo)(
3610
- () => selectableDataInPage.length > 0 && selectableDataInPage.every(
3611
- (row, i) => selectedModelSet.has(getId(row, i))
3612
- ),
3613
- [selectableDataInPage, selectedModelSet, getId]
3602
+ () => dataInPage.length > 0 && dataInPage.every((row, i) => selectedModelSet.has(getId(row, i))),
3603
+ [dataInPage, selectedModelSet, getId]
3614
3604
  );
3615
3605
  const rowCount = totalRowsProp || rows.length;
3616
- const selectableRowCount = (0, import_react25.useMemo)(() => {
3617
- if (!isRowSelectable) return rowCount;
3618
- return rows.filter((row, i) => isRowSelectable({ row, id: getId(row, i) })).length;
3619
- }, [rows, isRowSelectable, getId, rowCount]);
3620
3606
  const isTotalSelected = (0, import_react25.useMemo)(
3621
- () => _isTotalSelected ?? (selectableRowCount > 0 && (selectionModel?.length || 0) === selectableRowCount),
3622
- [_isTotalSelected, selectionModel, selectableRowCount]
3607
+ () => _isTotalSelected ?? (rowCount > 0 && (selectionModel?.length || 0) === rowCount),
3608
+ [_isTotalSelected, selectionModel, rowCount]
3623
3609
  );
3624
3610
  const columnWidths = useColumnWidths(columnsByField);
3625
3611
  const getWidth = (0, import_react25.useCallback)(
@@ -3715,10 +3701,9 @@ function useDataTableRenderer({
3715
3701
  }, [page, rowCount, pageSize, handlePageChange]);
3716
3702
  (0, import_react25.useEffect)(() => {
3717
3703
  onSelectionModelChange?.([]);
3718
- }, [page, onSelectionModelChange]);
3704
+ }, [page]);
3719
3705
  return {
3720
3706
  rowCount,
3721
- selectableRowCount,
3722
3707
  page,
3723
3708
  pageSize,
3724
3709
  onPaginationModelChange: handlePageChange,
@@ -3734,22 +3719,13 @@ function useDataTableRenderer({
3734
3719
  (model) => selectedModelSet.has(model),
3735
3720
  [selectedModelSet]
3736
3721
  ),
3737
- isRowSelectable: (0, import_react25.useCallback)(
3738
- (rowId, row) => {
3739
- if (!isRowSelectable) return true;
3740
- return isRowSelectable({ row, id: rowId });
3741
- },
3742
- [isRowSelectable]
3743
- ),
3744
3722
  focusedRowId,
3745
3723
  onRowFocus: (0, import_react25.useCallback)((rowId) => {
3746
3724
  setFocusedRowId(rowId);
3747
3725
  }, []),
3748
3726
  onAllCheckboxChange: (0, import_react25.useCallback)(() => {
3749
- onSelectionModelChange?.(
3750
- isAllSelected ? [] : selectableDataInPage.map(getId)
3751
- );
3752
- }, [isAllSelected, selectableDataInPage, onSelectionModelChange, getId]),
3727
+ onSelectionModelChange?.(isAllSelected ? [] : dataInPage.map(getId));
3728
+ }, [isAllSelected, dataInPage, onSelectionModelChange, getId]),
3753
3729
  onCheckboxChange: (0, import_react25.useCallback)(
3754
3730
  (event, selectedModel) => {
3755
3731
  if (selectedModelSet.has(selectedModel)) {
@@ -3766,15 +3742,11 @@ function useDataTableRenderer({
3766
3742
  ),
3767
3743
  columns,
3768
3744
  onTotalSelect: (0, import_react25.useCallback)(() => {
3769
- const selectableRows = rows.filter((row, i) => {
3770
- if (!isRowSelectable) return true;
3771
- return isRowSelectable({ row, id: getId(row, i) });
3772
- });
3773
3745
  onSelectionModelChange?.(
3774
- isTotalSelected ? [] : selectableRows.map(getId),
3746
+ isTotalSelected ? [] : rows.map(getId),
3775
3747
  !isTotalSelected
3776
3748
  );
3777
- }, [isTotalSelected, rows, onSelectionModelChange, getId, isRowSelectable])
3749
+ }, [isTotalSelected, rows, onSelectionModelChange, getId])
3778
3750
  };
3779
3751
  }
3780
3752
  function Component(props, apiRef) {
@@ -3784,7 +3756,6 @@ function Component(props, apiRef) {
3784
3756
  editMode,
3785
3757
  selectionModel,
3786
3758
  onSelectionModelChange,
3787
- isRowSelectable,
3788
3759
  disableSelectionOnClick,
3789
3760
  onRowClick,
3790
3761
  pinnedColumns,
@@ -3832,12 +3803,10 @@ function Component(props, apiRef) {
3832
3803
  columns,
3833
3804
  isAllSelected,
3834
3805
  isSelectedRow,
3835
- isRowSelectable: isRowSelectableCheck,
3836
3806
  onAllCheckboxChange,
3837
3807
  onCheckboxChange,
3838
3808
  getId,
3839
3809
  rowCount,
3840
- selectableRowCount,
3841
3810
  page,
3842
3811
  pageSize,
3843
3812
  onPaginationModelChange,
@@ -3863,15 +3832,9 @@ function Component(props, apiRef) {
3863
3832
  const getRowClickHandler = (0, import_react25.useCallback)(
3864
3833
  (row, rowId) => (e) => {
3865
3834
  onRowClick?.({ row, rowId }, e);
3866
- checkboxSelection && !disableSelectionOnClick && isRowSelectableCheck(rowId, row) && onCheckboxChange(e, rowId);
3835
+ checkboxSelection && !disableSelectionOnClick && onCheckboxChange(e, rowId);
3867
3836
  },
3868
- [
3869
- onRowClick,
3870
- checkboxSelection,
3871
- disableSelectionOnClick,
3872
- onCheckboxChange,
3873
- isRowSelectableCheck
3874
- ]
3837
+ [onRowClick, checkboxSelection, disableSelectionOnClick, onCheckboxChange]
3875
3838
  );
3876
3839
  const getRowFocusHandler = (0, import_react25.useCallback)(
3877
3840
  (rowId) => () => {
@@ -3886,12 +3849,10 @@ function Component(props, apiRef) {
3886
3849
  []
3887
3850
  );
3888
3851
  const getCheckboxChangeHandler = (0, import_react25.useCallback)(
3889
- (rowId, row) => (e) => {
3890
- if (isRowSelectableCheck(rowId, row)) {
3891
- onCheckboxChange(e, rowId);
3892
- }
3852
+ (rowId) => (e) => {
3853
+ onCheckboxChange(e, rowId);
3893
3854
  },
3894
- [onCheckboxChange, isRowSelectableCheck]
3855
+ [onCheckboxChange]
3895
3856
  );
3896
3857
  (0, import_react25.useImperativeHandle)(apiRef, () => ({
3897
3858
  getRowIndexRelativeToVisibleRows(rowId) {
@@ -3929,7 +3890,7 @@ function Component(props, apiRef) {
3929
3890
  justifyContent: "space-between",
3930
3891
  alignItems: "center"
3931
3892
  },
3932
- !!checkboxSelection && /* @__PURE__ */ import_react25.default.createElement(Stack_default, { direction: "row", spacing: 1 }, !isAllSelected && /* @__PURE__ */ import_react25.default.createElement(Typography_default, { level: "body-xs" }, numberFormatter(selectionModel?.length || 0), " items selected"), isAllSelected && !isTotalSelected && /* @__PURE__ */ import_react25.default.createElement(Stack_default, { direction: "row", spacing: 1, alignItems: "center" }, /* @__PURE__ */ import_react25.default.createElement(Typography_default, { level: "body-xs" }, "All ", numberFormatter(selectionModel?.length || 0), " items on this page are selected."), /* @__PURE__ */ import_react25.default.createElement(Button_default, { size: "sm", variant: "plain", onClick: onTotalSelect }, "Select all ", numberFormatter(selectableRowCount), " items")), isTotalSelected && /* @__PURE__ */ import_react25.default.createElement(Stack_default, { direction: "row", spacing: 1, alignItems: "center" }, /* @__PURE__ */ import_react25.default.createElement(Typography_default, { level: "body-xs" }, "All ", numberFormatter(selectableRowCount), " items are selected."), /* @__PURE__ */ import_react25.default.createElement(
3893
+ !!checkboxSelection && /* @__PURE__ */ import_react25.default.createElement(Stack_default, { direction: "row", spacing: 1 }, !isAllSelected && /* @__PURE__ */ import_react25.default.createElement(Typography_default, { level: "body-xs" }, numberFormatter(selectionModel?.length || 0), " items selected"), isAllSelected && !isTotalSelected && /* @__PURE__ */ import_react25.default.createElement(Stack_default, { direction: "row", spacing: 1, alignItems: "center" }, /* @__PURE__ */ import_react25.default.createElement(Typography_default, { level: "body-xs" }, "All ", numberFormatter(selectionModel?.length || 0), " items on this page are selected."), /* @__PURE__ */ import_react25.default.createElement(Button_default, { size: "sm", variant: "plain", onClick: onTotalSelect }, "Select all ", numberFormatter(rowCount ?? rows.length), " items")), isTotalSelected && /* @__PURE__ */ import_react25.default.createElement(Stack_default, { direction: "row", spacing: 1, alignItems: "center" }, /* @__PURE__ */ import_react25.default.createElement(Typography_default, { level: "body-xs" }, "All ", numberFormatter(rowCount ?? rows.length), " items are selected."), /* @__PURE__ */ import_react25.default.createElement(
3933
3894
  Button_default,
3934
3895
  {
3935
3896
  size: "sm",
@@ -3974,7 +3935,6 @@ function Component(props, apiRef) {
3974
3935
  onChange: onAllCheckboxChange,
3975
3936
  checked: isAllSelected,
3976
3937
  indeterminate: (selectionModel || []).length > 0 && !isAllSelected,
3977
- disabled: dataInPage.length > 0 && !selectableRowCount,
3978
3938
  ...checkboxProps
3979
3939
  }
3980
3940
  )
@@ -4052,9 +4012,8 @@ function Component(props, apiRef) {
4052
4012
  RenderCheckbox,
4053
4013
  {
4054
4014
  onClick: getCheckboxClickHandler(),
4055
- onChange: getCheckboxChangeHandler(rowId, row),
4015
+ onChange: getCheckboxChangeHandler(rowId),
4056
4016
  checked: isSelectedRow(rowId),
4057
- disabled: !isRowSelectableCheck(rowId, row),
4058
4017
  ...checkboxProps
4059
4018
  }
4060
4019
  )
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export { useTheme, useColorScheme, useThemeProps, ButtonGroup, alertClasses, boxClasses, buttonClasses, checkboxClasses, dividerClasses, iconButtonClasses, inputClasses, menuClasses, menuButtonClasses, menuItemClasses, optionClasses, radioClasses, radioGroupClasses, selectClasses, switchClasses, tableClasses, textareaClasses, typographyClasses, formControlClasses, formLabelClasses, formHelperTextClasses, gridClasses, stackClasses, sheetClasses, modalClasses, modalCloseClasses, modalDialogClasses, modalOverflowClasses, dialogTitleClasses, dialogContentClasses, dialogActionsClasses, tooltipClasses, tabsClasses, tabListClasses, tabPanelClasses, accordionClasses, accordionDetailsClasses, accordionGroupClasses as accordionsClasses, accordionSummaryClasses, AutocompleteListbox, AutocompleteOption, autocompleteClasses, autocompleteListboxClasses, autocompleteOptionClasses, avatarClasses, avatarGroupClasses, AspectRatio, aspectRatioClasses, Badge, badgeClasses, breadcrumbsClasses, cardClasses, cardActionsClasses, cardContentClasses, cardCoverClasses, cardOverflowClasses, chipClasses, CircularProgress, circularProgressClasses, Drawer, drawerClasses, LinearProgress, linearProgressClasses, List, listClasses, ListDivider, listDividerClasses, ListItem, listItemClasses, ListItemButton, listItemButtonClasses, ListItemContent, listItemContentClasses, ListItemDecorator, listItemDecoratorClasses, ListSubheader, listSubheaderClasses, Link, linkClasses, Slider, sliderClasses, stepClasses, StepButton, stepButtonClasses, stepperClasses, Skeleton, skeletonClasses, styled, } from "@mui/joy";
2
+ export type { ButtonProps, Theme } from "@mui/joy";
2
3
  export { Accordion, Accordions, Alert, Autocomplete, AccordionDetails, AccordionSummary, Avatar, AvatarGroup, Box, Breadcrumbs, Button, Calendar, Card, CardActions, CardContent, CardCover, CardOverflow, Checkbox, Chip, Container, CssBaseline, CurrencyInput, DataTable, DatePicker, DateRangePicker, DialogActions, DialogContent, DialogTitle, DialogFrame, Divider, Dropdown, extendTheme, InsetDrawer, Uploader, FormControl, FormHelperText, FormLabel, Grid, IconButton, IconMenuButton, InfoSign, Input, Markdown, Menu, MenuButton, MenuItem, Modal, ModalClose, ModalDialog, ModalOverflow, ModalFrame, MonthPicker, MonthRangePicker, PercentageInput, ProfileMenu, Pagination, NavigationGroup, NavigationItem, Navigator, Radio, RadioGroup, RadioList, Select, Option, Sheet, Stack, Step, StepIndicator, Stepper, Switch, theme, Table, TableHead, TableBody, Tabs, Tab, TabList, TabPanel, Textarea, ThemeProvider, Tooltip, Typography, } from "./components";
package/dist/index.js CHANGED
@@ -3479,8 +3479,7 @@ function useDataTableRenderer({
3479
3479
  onSelectionModelChange,
3480
3480
  editMode,
3481
3481
  getId: _getId,
3482
- isTotalSelected: _isTotalSelected,
3483
- isRowSelectable
3482
+ isTotalSelected: _isTotalSelected
3484
3483
  }) {
3485
3484
  const [focusedRowId, setFocusedRowId] = useState6(null);
3486
3485
  const [sortModel, setSortModel] = useControlledState(
@@ -3556,27 +3555,14 @@ function useDataTableRenderer({
3556
3555
  () => !pagination || paginationMode === "server" ? rows : rows.slice((page - 1) * pageSize, (page - 1) * pageSize + pageSize),
3557
3556
  [rows, page, pageSize, paginationMode, pagination]
3558
3557
  );
3559
- const selectableDataInPage = useMemo8(
3560
- () => dataInPage.filter((row, i) => {
3561
- if (!isRowSelectable) return true;
3562
- return isRowSelectable({ row, id: getId(row, i) });
3563
- }),
3564
- [dataInPage, isRowSelectable, getId]
3565
- );
3566
3558
  const isAllSelected = useMemo8(
3567
- () => selectableDataInPage.length > 0 && selectableDataInPage.every(
3568
- (row, i) => selectedModelSet.has(getId(row, i))
3569
- ),
3570
- [selectableDataInPage, selectedModelSet, getId]
3559
+ () => dataInPage.length > 0 && dataInPage.every((row, i) => selectedModelSet.has(getId(row, i))),
3560
+ [dataInPage, selectedModelSet, getId]
3571
3561
  );
3572
3562
  const rowCount = totalRowsProp || rows.length;
3573
- const selectableRowCount = useMemo8(() => {
3574
- if (!isRowSelectable) return rowCount;
3575
- return rows.filter((row, i) => isRowSelectable({ row, id: getId(row, i) })).length;
3576
- }, [rows, isRowSelectable, getId, rowCount]);
3577
3563
  const isTotalSelected = useMemo8(
3578
- () => _isTotalSelected ?? (selectableRowCount > 0 && (selectionModel?.length || 0) === selectableRowCount),
3579
- [_isTotalSelected, selectionModel, selectableRowCount]
3564
+ () => _isTotalSelected ?? (rowCount > 0 && (selectionModel?.length || 0) === rowCount),
3565
+ [_isTotalSelected, selectionModel, rowCount]
3580
3566
  );
3581
3567
  const columnWidths = useColumnWidths(columnsByField);
3582
3568
  const getWidth = useCallback9(
@@ -3672,10 +3658,9 @@ function useDataTableRenderer({
3672
3658
  }, [page, rowCount, pageSize, handlePageChange]);
3673
3659
  useEffect5(() => {
3674
3660
  onSelectionModelChange?.([]);
3675
- }, [page, onSelectionModelChange]);
3661
+ }, [page]);
3676
3662
  return {
3677
3663
  rowCount,
3678
- selectableRowCount,
3679
3664
  page,
3680
3665
  pageSize,
3681
3666
  onPaginationModelChange: handlePageChange,
@@ -3691,22 +3676,13 @@ function useDataTableRenderer({
3691
3676
  (model) => selectedModelSet.has(model),
3692
3677
  [selectedModelSet]
3693
3678
  ),
3694
- isRowSelectable: useCallback9(
3695
- (rowId, row) => {
3696
- if (!isRowSelectable) return true;
3697
- return isRowSelectable({ row, id: rowId });
3698
- },
3699
- [isRowSelectable]
3700
- ),
3701
3679
  focusedRowId,
3702
3680
  onRowFocus: useCallback9((rowId) => {
3703
3681
  setFocusedRowId(rowId);
3704
3682
  }, []),
3705
3683
  onAllCheckboxChange: useCallback9(() => {
3706
- onSelectionModelChange?.(
3707
- isAllSelected ? [] : selectableDataInPage.map(getId)
3708
- );
3709
- }, [isAllSelected, selectableDataInPage, onSelectionModelChange, getId]),
3684
+ onSelectionModelChange?.(isAllSelected ? [] : dataInPage.map(getId));
3685
+ }, [isAllSelected, dataInPage, onSelectionModelChange, getId]),
3710
3686
  onCheckboxChange: useCallback9(
3711
3687
  (event, selectedModel) => {
3712
3688
  if (selectedModelSet.has(selectedModel)) {
@@ -3723,15 +3699,11 @@ function useDataTableRenderer({
3723
3699
  ),
3724
3700
  columns,
3725
3701
  onTotalSelect: useCallback9(() => {
3726
- const selectableRows = rows.filter((row, i) => {
3727
- if (!isRowSelectable) return true;
3728
- return isRowSelectable({ row, id: getId(row, i) });
3729
- });
3730
3702
  onSelectionModelChange?.(
3731
- isTotalSelected ? [] : selectableRows.map(getId),
3703
+ isTotalSelected ? [] : rows.map(getId),
3732
3704
  !isTotalSelected
3733
3705
  );
3734
- }, [isTotalSelected, rows, onSelectionModelChange, getId, isRowSelectable])
3706
+ }, [isTotalSelected, rows, onSelectionModelChange, getId])
3735
3707
  };
3736
3708
  }
3737
3709
  function Component(props, apiRef) {
@@ -3741,7 +3713,6 @@ function Component(props, apiRef) {
3741
3713
  editMode,
3742
3714
  selectionModel,
3743
3715
  onSelectionModelChange,
3744
- isRowSelectable,
3745
3716
  disableSelectionOnClick,
3746
3717
  onRowClick,
3747
3718
  pinnedColumns,
@@ -3789,12 +3760,10 @@ function Component(props, apiRef) {
3789
3760
  columns,
3790
3761
  isAllSelected,
3791
3762
  isSelectedRow,
3792
- isRowSelectable: isRowSelectableCheck,
3793
3763
  onAllCheckboxChange,
3794
3764
  onCheckboxChange,
3795
3765
  getId,
3796
3766
  rowCount,
3797
- selectableRowCount,
3798
3767
  page,
3799
3768
  pageSize,
3800
3769
  onPaginationModelChange,
@@ -3820,15 +3789,9 @@ function Component(props, apiRef) {
3820
3789
  const getRowClickHandler = useCallback9(
3821
3790
  (row, rowId) => (e) => {
3822
3791
  onRowClick?.({ row, rowId }, e);
3823
- checkboxSelection && !disableSelectionOnClick && isRowSelectableCheck(rowId, row) && onCheckboxChange(e, rowId);
3792
+ checkboxSelection && !disableSelectionOnClick && onCheckboxChange(e, rowId);
3824
3793
  },
3825
- [
3826
- onRowClick,
3827
- checkboxSelection,
3828
- disableSelectionOnClick,
3829
- onCheckboxChange,
3830
- isRowSelectableCheck
3831
- ]
3794
+ [onRowClick, checkboxSelection, disableSelectionOnClick, onCheckboxChange]
3832
3795
  );
3833
3796
  const getRowFocusHandler = useCallback9(
3834
3797
  (rowId) => () => {
@@ -3843,12 +3806,10 @@ function Component(props, apiRef) {
3843
3806
  []
3844
3807
  );
3845
3808
  const getCheckboxChangeHandler = useCallback9(
3846
- (rowId, row) => (e) => {
3847
- if (isRowSelectableCheck(rowId, row)) {
3848
- onCheckboxChange(e, rowId);
3849
- }
3809
+ (rowId) => (e) => {
3810
+ onCheckboxChange(e, rowId);
3850
3811
  },
3851
- [onCheckboxChange, isRowSelectableCheck]
3812
+ [onCheckboxChange]
3852
3813
  );
3853
3814
  useImperativeHandle2(apiRef, () => ({
3854
3815
  getRowIndexRelativeToVisibleRows(rowId) {
@@ -3886,7 +3847,7 @@ function Component(props, apiRef) {
3886
3847
  justifyContent: "space-between",
3887
3848
  alignItems: "center"
3888
3849
  },
3889
- !!checkboxSelection && /* @__PURE__ */ React23.createElement(Stack_default, { direction: "row", spacing: 1 }, !isAllSelected && /* @__PURE__ */ React23.createElement(Typography_default, { level: "body-xs" }, numberFormatter(selectionModel?.length || 0), " items selected"), isAllSelected && !isTotalSelected && /* @__PURE__ */ React23.createElement(Stack_default, { direction: "row", spacing: 1, alignItems: "center" }, /* @__PURE__ */ React23.createElement(Typography_default, { level: "body-xs" }, "All ", numberFormatter(selectionModel?.length || 0), " items on this page are selected."), /* @__PURE__ */ React23.createElement(Button_default, { size: "sm", variant: "plain", onClick: onTotalSelect }, "Select all ", numberFormatter(selectableRowCount), " items")), isTotalSelected && /* @__PURE__ */ React23.createElement(Stack_default, { direction: "row", spacing: 1, alignItems: "center" }, /* @__PURE__ */ React23.createElement(Typography_default, { level: "body-xs" }, "All ", numberFormatter(selectableRowCount), " items are selected."), /* @__PURE__ */ React23.createElement(
3850
+ !!checkboxSelection && /* @__PURE__ */ React23.createElement(Stack_default, { direction: "row", spacing: 1 }, !isAllSelected && /* @__PURE__ */ React23.createElement(Typography_default, { level: "body-xs" }, numberFormatter(selectionModel?.length || 0), " items selected"), isAllSelected && !isTotalSelected && /* @__PURE__ */ React23.createElement(Stack_default, { direction: "row", spacing: 1, alignItems: "center" }, /* @__PURE__ */ React23.createElement(Typography_default, { level: "body-xs" }, "All ", numberFormatter(selectionModel?.length || 0), " items on this page are selected."), /* @__PURE__ */ React23.createElement(Button_default, { size: "sm", variant: "plain", onClick: onTotalSelect }, "Select all ", numberFormatter(rowCount ?? rows.length), " items")), isTotalSelected && /* @__PURE__ */ React23.createElement(Stack_default, { direction: "row", spacing: 1, alignItems: "center" }, /* @__PURE__ */ React23.createElement(Typography_default, { level: "body-xs" }, "All ", numberFormatter(rowCount ?? rows.length), " items are selected."), /* @__PURE__ */ React23.createElement(
3890
3851
  Button_default,
3891
3852
  {
3892
3853
  size: "sm",
@@ -3931,7 +3892,6 @@ function Component(props, apiRef) {
3931
3892
  onChange: onAllCheckboxChange,
3932
3893
  checked: isAllSelected,
3933
3894
  indeterminate: (selectionModel || []).length > 0 && !isAllSelected,
3934
- disabled: dataInPage.length > 0 && !selectableRowCount,
3935
3895
  ...checkboxProps
3936
3896
  }
3937
3897
  )
@@ -4009,9 +3969,8 @@ function Component(props, apiRef) {
4009
3969
  RenderCheckbox,
4010
3970
  {
4011
3971
  onClick: getCheckboxClickHandler(),
4012
- onChange: getCheckboxChangeHandler(rowId, row),
3972
+ onChange: getCheckboxChangeHandler(rowId),
4013
3973
  checked: isSelectedRow(rowId),
4014
- disabled: !isRowSelectableCheck(rowId, row),
4015
3974
  ...checkboxProps
4016
3975
  }
4017
3976
  )