@astral/ui 4.113.3 → 4.115.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/components/ActionGroup/ActionGroup.js +2 -2
- package/components/ActionGroup/SecondaryActions/SecondaryActions.d.ts +1 -1
- package/components/ActionGroup/SecondaryActions/SecondaryActions.js +2 -2
- package/components/ActionGroup/types.d.ts +9 -0
- package/components/DataGrid/Body/Body.d.ts +1 -1
- package/components/DataGrid/Body/Body.js +7 -3
- package/components/DataGrid/Body/types.d.ts +11 -3
- package/components/DataGrid/DataGrid.js +13 -6
- package/components/DataGrid/DataGridContext/DataGridProvider/DataGridProvider.d.ts +3 -2
- package/components/DataGrid/DataGridContext/DataGridProvider/DataGridProvider.js +3 -2
- package/components/DataGrid/DataGridSelectionContext/DataGridSelectionContext.d.ts +25 -0
- package/components/DataGrid/DataGridSelectionContext/DataGridSelectionContext.js +13 -0
- package/components/DataGrid/DataGridSelectionContext/DataGridSelectionProvider/DataGridSelectionProvider.d.ts +7 -0
- package/components/DataGrid/DataGridSelectionContext/DataGridSelectionProvider/DataGridSelectionProvider.js +8 -0
- package/components/DataGrid/DataGridSelectionContext/DataGridSelectionProvider/index.d.ts +1 -0
- package/components/DataGrid/DataGridSelectionContext/DataGridSelectionProvider/index.js +1 -0
- package/components/DataGrid/DataGridSelectionContext/index.d.ts +2 -0
- package/components/DataGrid/DataGridSelectionContext/index.js +2 -0
- package/components/DataGrid/PinnedSections/PinnedSections.js +2 -2
- package/components/DataGrid/PinnedSections/useLogic/useLogic.d.ts +1 -0
- package/components/DataGrid/PinnedSections/useLogic/useLogic.js +4 -3
- package/components/DataGrid/Row/Row.js +13 -9
- package/components/DataGrid/Row/RowContext/RowContext.d.ts +15 -4
- package/components/DataGrid/Row/RowContext/RowContext.js +3 -3
- package/components/DataGrid/Row/RowContext/RowProvider/RowProvider.d.ts +10 -1
- package/components/DataGrid/Row/RowContext/RowProvider/RowProvider.js +23 -17
- package/components/DataGrid/Row/types.d.ts +7 -3
- package/components/DataGrid/Row/useLogic/useLogic.d.ts +6 -4
- package/components/DataGrid/Row/useLogic/useLogic.js +21 -12
- package/components/DataGrid/RowBase/RowBase.js +5 -2
- package/components/DataGrid/RowBase/types.d.ts +9 -5
- package/components/DataGrid/RowBase/useLogic/useLogic.d.ts +5 -4
- package/components/DataGrid/RowBase/useLogic/useLogic.js +16 -10
- package/components/DataGrid/RowCheckbox/RowCheckbox.d.ts +5 -0
- package/components/DataGrid/RowCheckbox/RowCheckbox.js +13 -0
- package/components/DataGrid/RowCheckbox/constants.d.ts +4 -0
- package/components/DataGrid/RowCheckbox/constants.js +4 -0
- package/components/DataGrid/RowCheckbox/index.d.ts +1 -0
- package/components/DataGrid/RowCheckbox/index.js +1 -0
- package/components/DataGrid/RowCheckbox/types.d.ts +7 -0
- package/components/DataGrid/RowCheckbox/types.js +1 -0
- package/components/DataGrid/constants.d.ts +2 -0
- package/components/DataGrid/constants.js +2 -0
- package/components/DataGrid/hooks/index.d.ts +1 -0
- package/components/DataGrid/hooks/index.js +1 -0
- package/components/DataGrid/hooks/useWarnRowsWithoutDisabledReason/index.d.ts +1 -0
- package/components/DataGrid/hooks/useWarnRowsWithoutDisabledReason/index.js +1 -0
- package/components/DataGrid/hooks/useWarnRowsWithoutDisabledReason/useWarnRowsWithoutDisabledReason.d.ts +5 -0
- package/components/DataGrid/hooks/useWarnRowsWithoutDisabledReason/useWarnRowsWithoutDisabledReason.js +17 -0
- package/components/DataGrid/index.d.ts +1 -1
- package/components/DataGrid/public.d.ts +1 -1
- package/components/DataGrid/styles.d.ts +4 -0
- package/components/DataGrid/styles.js +26 -0
- package/components/DataGrid/tests/performance/testDataGridPerformance.d.ts +3 -1
- package/components/DataGrid/tests/performance/testDataGridPerformance.js +234 -2
- package/components/DataGrid/tests/selection/testDataGridSelection.d.ts +14 -0
- package/components/DataGrid/tests/selection/testDataGridSelection.js +562 -0
- package/components/DataGrid/types.d.ts +41 -1
- package/components/DataGrid/useLogic/useLogic.d.ts +8 -3
- package/components/DataGrid/useLogic/useLogic.js +23 -10
- package/components/DataGrid/utils/checkIsMassActionsOpen/checkIsMassActionsOpen.d.ts +10 -0
- package/components/DataGrid/utils/checkIsMassActionsOpen/checkIsMassActionsOpen.js +4 -0
- package/components/DataGrid/utils/checkIsMassActionsOpen/index.d.ts +1 -0
- package/components/DataGrid/utils/checkIsMassActionsOpen/index.js +1 -0
- package/components/DataGrid/utils/getRowDisabledState/getRowDisabledState.d.ts +31 -0
- package/components/DataGrid/utils/getRowDisabledState/getRowDisabledState.js +20 -0
- package/components/DataGrid/utils/getRowDisabledState/index.d.ts +1 -0
- package/components/DataGrid/utils/getRowDisabledState/index.js +1 -0
- package/components/DataGrid/utils/index.d.ts +4 -0
- package/components/DataGrid/utils/index.js +4 -0
- package/components/DataGrid/utils/resolveRowDisabled/index.d.ts +1 -0
- package/components/DataGrid/utils/resolveRowDisabled/index.js +1 -0
- package/components/DataGrid/utils/resolveRowDisabled/resolveRowDisabled.d.ts +5 -0
- package/components/DataGrid/utils/resolveRowDisabled/resolveRowDisabled.js +17 -0
- package/components/DataGrid/utils/resolveRowsDisabled/index.d.ts +1 -0
- package/components/DataGrid/utils/resolveRowsDisabled/index.js +1 -0
- package/components/DataGrid/utils/resolveRowsDisabled/resolveRowsDisabled.d.ts +16 -0
- package/components/DataGrid/utils/resolveRowsDisabled/resolveRowsDisabled.js +17 -0
- package/components/DataGridActionCell/hooks/useBlockingActions/useBlockingActions.js +3 -3
- package/components/DataGridCollapsibleRow/useLogic/useLogic.d.ts +3 -2
- package/components/DataGridCollapsibleRow/useLogic/useLogic.js +4 -3
- package/components/DataGridInfinite/DataGridInfinite.js +18 -14
- package/components/DataGridInfinite/DataGridInfiniteContext/DataGridInfiniteContext.d.ts +1 -1
- package/components/DataGridInfinite/DataGridInfiniteContext/DataGridInfiniteContext.js +1 -1
- package/components/DataGridInfinite/Footer/Footer.d.ts +6 -0
- package/components/DataGridInfinite/Footer/Footer.js +25 -0
- package/components/DataGridInfinite/Footer/index.d.ts +2 -0
- package/components/DataGridInfinite/Footer/index.js +1 -0
- package/components/DataGridInfinite/Footer/types.d.ts +26 -0
- package/components/DataGridInfinite/Footer/types.js +1 -0
- package/components/DataGridInfinite/Row/Row.js +2 -2
- package/components/DataGridInfinite/Row/index.d.ts +1 -0
- package/components/DataGridInfinite/Row/types.d.ts +17 -2
- package/components/DataGridInfinite/Row/useLogic/useLogic.d.ts +4 -2
- package/components/DataGridInfinite/Row/useLogic/useLogic.js +12 -4
- package/components/DataGridInfinite/constants.d.ts +3 -0
- package/components/DataGridInfinite/constants.js +3 -0
- package/components/DataGridInfinite/faker.d.ts +1 -5
- package/components/DataGridInfinite/faker.js +1 -2
- package/components/DataGridInfinite/styles.d.ts +4 -0
- package/components/DataGridInfinite/styles.js +24 -0
- package/components/DataGridInfinite/useLogic/useLogic.d.ts +7 -3
- package/components/DataGridInfinite/useLogic/useLogic.js +52 -16
- package/components/DataGridMassActions/DataGridMassActions.d.ts +15 -0
- package/components/DataGridMassActions/DataGridMassActions.js +32 -0
- package/components/DataGridMassActions/constants.d.ts +4 -0
- package/components/DataGridMassActions/constants.js +5 -0
- package/components/DataGridMassActions/index.d.ts +2 -0
- package/components/DataGridMassActions/index.js +1 -0
- package/components/DataGridMassActions/public.d.ts +2 -0
- package/components/DataGridMassActions/public.js +1 -0
- package/components/DataGridMassActions/styles.d.ts +8 -0
- package/components/DataGridMassActions/styles.js +49 -0
- package/components/DataGridMassActions/tests/testDataGridMassActions.d.ts +23 -0
- package/components/DataGridMassActions/tests/testDataGridMassActions.js +77 -0
- package/components/DataGridMassActions/types.d.ts +2 -0
- package/components/DataGridMassActions/types.js +1 -0
- package/components/DataGridMassActions/useLogic/index.d.ts +1 -0
- package/components/DataGridMassActions/useLogic/index.js +1 -0
- package/components/DataGridMassActions/useLogic/useLogic.d.ts +6 -0
- package/components/DataGridMassActions/useLogic/useLogic.js +21 -0
- package/components/IconDropdownButton/IconDropdownButton.d.ts +5 -0
- package/components/IconDropdownButton/IconDropdownButton.js +2 -2
- package/components/MassActions/MassActions.d.ts +5 -0
- package/components/MassActions/MassActions.js +17 -0
- package/components/MassActions/constants.d.ts +6 -0
- package/components/MassActions/constants.js +12 -0
- package/components/MassActions/index.d.ts +2 -0
- package/components/MassActions/index.js +1 -0
- package/components/MassActions/styles.d.ts +34 -0
- package/components/MassActions/styles.js +43 -0
- package/components/MassActions/types.d.ts +20 -0
- package/components/MassActions/types.js +1 -0
- package/components/MassActions/useLogic/index.d.ts +1 -0
- package/components/MassActions/useLogic/index.js +1 -0
- package/components/MassActions/useLogic/useLogic.d.ts +7 -0
- package/components/MassActions/useLogic/useLogic.js +9 -0
- package/components/PageHeader/PageActions/SecondaryActions/styles.d.ts +1 -1
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/index.d.ts +0 -1
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/index.js +0 -1
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/useLogic.js +2 -1
- package/components/index.d.ts +1 -1
- package/node/components/ActionGroup/ActionGroup.js +2 -2
- package/node/components/ActionGroup/SecondaryActions/SecondaryActions.d.ts +1 -1
- package/node/components/ActionGroup/SecondaryActions/SecondaryActions.js +2 -2
- package/node/components/ActionGroup/types.d.ts +9 -0
- package/node/components/DataGrid/Body/Body.d.ts +1 -1
- package/node/components/DataGrid/Body/Body.js +7 -3
- package/node/components/DataGrid/Body/types.d.ts +11 -3
- package/node/components/DataGrid/DataGrid.js +12 -5
- package/node/components/DataGrid/DataGridContext/DataGridProvider/DataGridProvider.d.ts +3 -2
- package/node/components/DataGrid/DataGridContext/DataGridProvider/DataGridProvider.js +3 -2
- package/node/components/DataGrid/DataGridSelectionContext/DataGridSelectionContext.d.ts +25 -0
- package/node/components/DataGrid/DataGridSelectionContext/DataGridSelectionContext.js +16 -0
- package/node/components/DataGrid/DataGridSelectionContext/DataGridSelectionProvider/DataGridSelectionProvider.d.ts +7 -0
- package/node/components/DataGrid/DataGridSelectionContext/DataGridSelectionProvider/DataGridSelectionProvider.js +12 -0
- package/node/components/DataGrid/DataGridSelectionContext/DataGridSelectionProvider/index.d.ts +1 -0
- package/node/components/DataGrid/DataGridSelectionContext/DataGridSelectionProvider/index.js +17 -0
- package/node/components/DataGrid/DataGridSelectionContext/index.d.ts +2 -0
- package/node/components/DataGrid/DataGridSelectionContext/index.js +18 -0
- package/node/components/DataGrid/PinnedSections/PinnedSections.js +2 -2
- package/node/components/DataGrid/PinnedSections/useLogic/useLogic.d.ts +1 -0
- package/node/components/DataGrid/PinnedSections/useLogic/useLogic.js +4 -3
- package/node/components/DataGrid/Row/Row.js +13 -9
- package/node/components/DataGrid/Row/RowContext/RowContext.d.ts +15 -4
- package/node/components/DataGrid/Row/RowContext/RowContext.js +3 -3
- package/node/components/DataGrid/Row/RowContext/RowProvider/RowProvider.d.ts +10 -1
- package/node/components/DataGrid/Row/RowContext/RowProvider/RowProvider.js +23 -17
- package/node/components/DataGrid/Row/types.d.ts +7 -3
- package/node/components/DataGrid/Row/useLogic/useLogic.d.ts +6 -4
- package/node/components/DataGrid/Row/useLogic/useLogic.js +23 -14
- package/node/components/DataGrid/RowBase/RowBase.js +5 -2
- package/node/components/DataGrid/RowBase/types.d.ts +9 -5
- package/node/components/DataGrid/RowBase/useLogic/useLogic.d.ts +5 -4
- package/node/components/DataGrid/RowBase/useLogic/useLogic.js +16 -10
- package/node/components/DataGrid/RowCheckbox/RowCheckbox.d.ts +5 -0
- package/node/components/DataGrid/RowCheckbox/RowCheckbox.js +17 -0
- package/node/components/DataGrid/RowCheckbox/constants.d.ts +4 -0
- package/node/components/DataGrid/RowCheckbox/constants.js +7 -0
- package/node/components/DataGrid/RowCheckbox/index.d.ts +1 -0
- package/node/components/DataGrid/RowCheckbox/index.js +17 -0
- package/node/components/DataGrid/RowCheckbox/types.d.ts +7 -0
- package/node/components/DataGrid/RowCheckbox/types.js +2 -0
- package/node/components/DataGrid/constants.d.ts +2 -0
- package/node/components/DataGrid/constants.js +2 -0
- package/node/components/DataGrid/hooks/index.d.ts +1 -0
- package/node/components/DataGrid/hooks/index.js +1 -0
- package/node/components/DataGrid/hooks/useWarnRowsWithoutDisabledReason/index.d.ts +1 -0
- package/node/components/DataGrid/hooks/useWarnRowsWithoutDisabledReason/index.js +17 -0
- package/node/components/DataGrid/hooks/useWarnRowsWithoutDisabledReason/useWarnRowsWithoutDisabledReason.d.ts +5 -0
- package/node/components/DataGrid/hooks/useWarnRowsWithoutDisabledReason/useWarnRowsWithoutDisabledReason.js +21 -0
- package/node/components/DataGrid/index.d.ts +1 -1
- package/node/components/DataGrid/public.d.ts +1 -1
- package/node/components/DataGrid/styles.d.ts +4 -0
- package/node/components/DataGrid/styles.js +27 -1
- package/node/components/DataGrid/tests/performance/testDataGridPerformance.d.ts +3 -1
- package/node/components/DataGrid/tests/performance/testDataGridPerformance.js +232 -0
- package/node/components/DataGrid/tests/selection/testDataGridSelection.d.ts +14 -0
- package/node/components/DataGrid/tests/selection/testDataGridSelection.js +566 -0
- package/node/components/DataGrid/types.d.ts +41 -1
- package/node/components/DataGrid/useLogic/useLogic.d.ts +8 -3
- package/node/components/DataGrid/useLogic/useLogic.js +25 -12
- package/node/components/DataGrid/utils/checkIsMassActionsOpen/checkIsMassActionsOpen.d.ts +10 -0
- package/node/components/DataGrid/utils/checkIsMassActionsOpen/checkIsMassActionsOpen.js +8 -0
- package/node/components/DataGrid/utils/checkIsMassActionsOpen/index.d.ts +1 -0
- package/node/components/DataGrid/utils/checkIsMassActionsOpen/index.js +5 -0
- package/node/components/DataGrid/utils/getRowDisabledState/getRowDisabledState.d.ts +31 -0
- package/node/components/DataGrid/utils/getRowDisabledState/getRowDisabledState.js +24 -0
- package/node/components/DataGrid/utils/getRowDisabledState/index.d.ts +1 -0
- package/node/components/DataGrid/utils/getRowDisabledState/index.js +5 -0
- package/node/components/DataGrid/utils/index.d.ts +4 -0
- package/node/components/DataGrid/utils/index.js +9 -1
- package/node/components/DataGrid/utils/resolveRowDisabled/index.d.ts +1 -0
- package/node/components/DataGrid/utils/resolveRowDisabled/index.js +5 -0
- package/node/components/DataGrid/utils/resolveRowDisabled/resolveRowDisabled.d.ts +5 -0
- package/node/components/DataGrid/utils/resolveRowDisabled/resolveRowDisabled.js +21 -0
- package/node/components/DataGrid/utils/resolveRowsDisabled/index.d.ts +1 -0
- package/node/components/DataGrid/utils/resolveRowsDisabled/index.js +5 -0
- package/node/components/DataGrid/utils/resolveRowsDisabled/resolveRowsDisabled.d.ts +16 -0
- package/node/components/DataGrid/utils/resolveRowsDisabled/resolveRowsDisabled.js +21 -0
- package/node/components/DataGridActionCell/hooks/useBlockingActions/useBlockingActions.js +3 -3
- package/node/components/DataGridCollapsibleRow/useLogic/useLogic.d.ts +3 -2
- package/node/components/DataGridCollapsibleRow/useLogic/useLogic.js +4 -3
- package/node/components/DataGridInfinite/DataGridInfinite.js +19 -15
- package/node/components/DataGridInfinite/DataGridInfiniteContext/DataGridInfiniteContext.d.ts +1 -1
- package/node/components/DataGridInfinite/DataGridInfiniteContext/DataGridInfiniteContext.js +1 -1
- package/node/components/DataGridInfinite/Footer/Footer.d.ts +6 -0
- package/node/components/DataGridInfinite/Footer/Footer.js +29 -0
- package/node/components/DataGridInfinite/Footer/index.d.ts +2 -0
- package/node/components/DataGridInfinite/Footer/index.js +17 -0
- package/node/components/DataGridInfinite/Footer/types.d.ts +26 -0
- package/node/components/DataGridInfinite/Footer/types.js +2 -0
- package/node/components/DataGridInfinite/Row/Row.js +2 -2
- package/node/components/DataGridInfinite/Row/index.d.ts +1 -0
- package/node/components/DataGridInfinite/Row/types.d.ts +17 -2
- package/node/components/DataGridInfinite/Row/useLogic/useLogic.d.ts +4 -2
- package/node/components/DataGridInfinite/Row/useLogic/useLogic.js +12 -4
- package/node/components/DataGridInfinite/constants.d.ts +3 -0
- package/node/components/DataGridInfinite/constants.js +3 -0
- package/node/components/DataGridInfinite/faker.d.ts +1 -5
- package/node/components/DataGridInfinite/faker.js +1 -2
- package/node/components/DataGridInfinite/styles.d.ts +4 -0
- package/node/components/DataGridInfinite/styles.js +27 -3
- package/node/components/DataGridInfinite/useLogic/useLogic.d.ts +7 -3
- package/node/components/DataGridInfinite/useLogic/useLogic.js +52 -16
- package/node/components/DataGridMassActions/DataGridMassActions.d.ts +15 -0
- package/node/components/DataGridMassActions/DataGridMassActions.js +36 -0
- package/node/components/DataGridMassActions/constants.d.ts +4 -0
- package/node/components/DataGridMassActions/constants.js +8 -0
- package/node/components/DataGridMassActions/index.d.ts +2 -0
- package/node/components/DataGridMassActions/index.js +5 -0
- package/node/components/DataGridMassActions/public.d.ts +2 -0
- package/node/components/DataGridMassActions/public.js +5 -0
- package/node/components/DataGridMassActions/styles.d.ts +8 -0
- package/node/components/DataGridMassActions/styles.js +52 -0
- package/node/components/DataGridMassActions/tests/testDataGridMassActions.d.ts +23 -0
- package/node/components/DataGridMassActions/tests/testDataGridMassActions.js +81 -0
- package/node/components/DataGridMassActions/types.d.ts +2 -0
- package/node/components/DataGridMassActions/types.js +2 -0
- package/node/components/DataGridMassActions/useLogic/index.d.ts +1 -0
- package/node/components/DataGridMassActions/useLogic/index.js +17 -0
- package/node/components/DataGridMassActions/useLogic/useLogic.d.ts +6 -0
- package/node/components/DataGridMassActions/useLogic/useLogic.js +25 -0
- package/node/components/IconDropdownButton/IconDropdownButton.d.ts +5 -0
- package/node/components/IconDropdownButton/IconDropdownButton.js +2 -2
- package/node/components/MassActions/MassActions.d.ts +5 -0
- package/node/components/MassActions/MassActions.js +21 -0
- package/node/components/MassActions/constants.d.ts +6 -0
- package/node/components/MassActions/constants.js +15 -0
- package/node/components/MassActions/index.d.ts +2 -0
- package/node/components/MassActions/index.js +5 -0
- package/node/components/MassActions/styles.d.ts +34 -0
- package/node/components/MassActions/styles.js +46 -0
- package/node/components/MassActions/types.d.ts +20 -0
- package/node/components/MassActions/types.js +2 -0
- package/node/components/MassActions/useLogic/index.d.ts +1 -0
- package/node/components/MassActions/useLogic/index.js +17 -0
- package/node/components/MassActions/useLogic/useLogic.d.ts +7 -0
- package/node/components/MassActions/useLogic/useLogic.js +13 -0
- package/node/components/PageHeader/PageActions/SecondaryActions/styles.d.ts +1 -1
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/index.d.ts +0 -1
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/index.js +0 -1
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/useLogic.js +2 -1
- package/node/components/index.d.ts +1 -1
- package/package.json +1 -1
- /package/components/{Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount → useDelayedUnmount}/index.d.ts +0 -0
- /package/components/{Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount → useDelayedUnmount}/index.js +0 -0
- /package/components/{Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount → useDelayedUnmount}/useDelayedUnmount.d.ts +0 -0
- /package/components/{Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount → useDelayedUnmount}/useDelayedUnmount.js +0 -0
- /package/node/components/{Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount → useDelayedUnmount}/index.d.ts +0 -0
- /package/node/components/{Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount → useDelayedUnmount}/index.js +0 -0
- /package/node/components/{Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount → useDelayedUnmount}/useDelayedUnmount.d.ts +0 -0
- /package/node/components/{Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount → useDelayedUnmount}/useDelayedUnmount.js +0 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ActionGroup } from '../ActionGroup';
|
|
2
|
+
import { styled } from '../styled';
|
|
3
|
+
import { Tag } from '../Tag';
|
|
4
|
+
export const Wrapper = styled.div `
|
|
5
|
+
display: flex;
|
|
6
|
+
gap: ${({ theme }) => theme.spacing(3)};
|
|
7
|
+
align-items: center;
|
|
8
|
+
|
|
9
|
+
width: fit-content;
|
|
10
|
+
padding: ${({ theme }) => theme.spacing(4)};
|
|
11
|
+
|
|
12
|
+
background-color: ${({ theme }) => theme.palette.background.default};
|
|
13
|
+
|
|
14
|
+
/* 16px по макету, токена под это значение в теме нет */
|
|
15
|
+
border-radius: calc(${({ theme }) => theme.shape.medium} * 2);
|
|
16
|
+
box-shadow: ${({ theme }) => theme.elevation[200]};
|
|
17
|
+
`;
|
|
18
|
+
export const Selection = styled.div `
|
|
19
|
+
display: flex;
|
|
20
|
+
gap: ${({ theme }) => theme.spacing(2)};
|
|
21
|
+
align-items: center;
|
|
22
|
+
|
|
23
|
+
padding-left: ${({ theme }) => theme.spacing(2)};
|
|
24
|
+
`;
|
|
25
|
+
export const StyledActionGroup = styled(ActionGroup) `
|
|
26
|
+
gap: ${({ theme }) => theme.spacing(3)};
|
|
27
|
+
`;
|
|
28
|
+
/**
|
|
29
|
+
* Невидимая заглушка и счётчик лежат в одной ячейке: ширину задаёт заглушка, поэтому панель не прыгает при смене количества
|
|
30
|
+
*/
|
|
31
|
+
export const SelectionLabel = styled.div `
|
|
32
|
+
display: grid;
|
|
33
|
+
justify-items: start;
|
|
34
|
+
|
|
35
|
+
font-variant-numeric: tabular-nums;
|
|
36
|
+
|
|
37
|
+
& > * {
|
|
38
|
+
grid-area: 1 / 1;
|
|
39
|
+
}
|
|
40
|
+
`;
|
|
41
|
+
export const ReservedLabel = styled(Tag) `
|
|
42
|
+
visibility: hidden;
|
|
43
|
+
`;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ActionGroupProps } from '../ActionGroup';
|
|
2
|
+
export type MassActionsProps = Pick<ActionGroupProps, 'main' | 'secondary'> & {
|
|
3
|
+
/**
|
|
4
|
+
* Количество выбранных элементов
|
|
5
|
+
*/
|
|
6
|
+
selectedCount: number;
|
|
7
|
+
/**
|
|
8
|
+
* Три формы названия выбранной сущности
|
|
9
|
+
* @example ['документ', 'документа', 'документов']
|
|
10
|
+
*/
|
|
11
|
+
entityDeclension: [string, string, string];
|
|
12
|
+
/**
|
|
13
|
+
* Обработчик закрытия панели
|
|
14
|
+
*/
|
|
15
|
+
onClose: () => void;
|
|
16
|
+
/**
|
|
17
|
+
* Название класса, применяется к корневому компоненту
|
|
18
|
+
*/
|
|
19
|
+
className?: string;
|
|
20
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useLogic';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useLogic';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type MassActionsProps } from '../types';
|
|
2
|
+
type UseLogicParams = Pick<MassActionsProps, 'entityDeclension' | 'selectedCount'>;
|
|
3
|
+
export declare const useLogic: ({ entityDeclension, selectedCount, }: UseLogicParams) => {
|
|
4
|
+
selectionLabel: string;
|
|
5
|
+
reservedLabel: string;
|
|
6
|
+
};
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { declensionOfWords } from '@astral/utils/declension/declensionOfWords';
|
|
2
|
+
import { RESERVED_SELECTED_COUNT } from '../constants';
|
|
3
|
+
export const useLogic = ({ entityDeclension, selectedCount, }) => {
|
|
4
|
+
const selectionLabel = `Выбрано: ${selectedCount} ${declensionOfWords(entityDeclension)(selectedCount)}`;
|
|
5
|
+
// Самая длинная форма слова — чтобы ширина панели не менялась при смене склонения
|
|
6
|
+
const longestEntity = entityDeclension.reduce((longest, entity) => entity.length > longest.length ? entity : longest);
|
|
7
|
+
const reservedLabel = `Выбрано: ${RESERVED_SELECTED_COUNT} ${longestEntity}`;
|
|
8
|
+
return { selectionLabel, reservedLabel };
|
|
9
|
+
};
|
|
@@ -9,4 +9,4 @@ export declare const StyledMobileButton: import("../../../styled").StyledCompone
|
|
|
9
9
|
} & Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, ""> & import("react").RefAttributes<HTMLButtonElement> & {
|
|
10
10
|
theme?: import("@emotion/react").Theme | undefined;
|
|
11
11
|
}, {}, {}>;
|
|
12
|
-
export declare const StyledSecondaryActions: <TSecondaryActionComponent extends import("react").ElementType = import("react").ElementType>({ actions, isDisabled, className, size, }: import("../../../ActionGroup").SecondaryActionProps<TSecondaryActionComponent>) => import("react/jsx-runtime").JSX.Element | null;
|
|
12
|
+
export declare const StyledSecondaryActions: <TSecondaryActionComponent extends import("react").ElementType = import("react").ElementType>({ actions, isDisabled, className, size, popoverProps, }: import("../../../ActionGroup").SecondaryActionProps<TSecondaryActionComponent>) => import("react/jsx-runtime").JSX.Element | null;
|
package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/useLogic.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { useContext } from 'react';
|
|
2
2
|
import { useTheme } from '../../../../../theme/hooks';
|
|
3
|
+
import { useDelayedUnmount } from '../../../../../useDelayedUnmount';
|
|
3
4
|
import { MobileSlidePanelContext } from '../../MobileSlidePanelContext';
|
|
4
|
-
import {
|
|
5
|
+
import { usePanelHeader, useRegisterClose } from './hooks';
|
|
5
6
|
/**
|
|
6
7
|
* Собирает жизненный цикл панели: присутствие в DOM, закрытие и шапку стека.
|
|
7
8
|
*/
|
package/components/index.d.ts
CHANGED
|
@@ -131,7 +131,7 @@ export * from './MenuItem';
|
|
|
131
131
|
export * from './MenuList';
|
|
132
132
|
export { MinimalisticPagination, type MinimalisticPaginationProps, } from './MinimalisticPagination';
|
|
133
133
|
export * from './NavMenu';
|
|
134
|
-
export { type DataGridColumns, type DataGridRenderLink, type DataGridRenderLinkParams, type DataGridRow, type DataGridRowOptions, type DataGridSort, DataGrid, type DataGridProps, } from './DataGrid';
|
|
134
|
+
export { type DataGridColumns, type DataGridRenderLink, type DataGridRenderLinkParams, type DataGridRow, type DataGridRowDisabled, type DataGridRowOptions, type DataGridSort, DataGrid, type DataGridProps, } from './DataGrid';
|
|
135
135
|
export { DataGridInfinite, type DataGridInfiniteProps, } from './DataGridInfinite';
|
|
136
136
|
export { DataGridColumnHintIcon, type DataGridColumnHintIconProps, } from './DataGridColumnHintIcon';
|
|
137
137
|
export { type DateItemProps, type DateRangePickerProps, type DateRangePickerValue, DateRangePicker, } from './DateRangePicker';
|
|
@@ -8,8 +8,8 @@ const SecondaryActions_1 = require("./SecondaryActions");
|
|
|
8
8
|
const SecondaryVisibleActions_1 = require("./SecondaryVisibleActions");
|
|
9
9
|
const styles_1 = require("./styles");
|
|
10
10
|
const ActionGroup = (props) => {
|
|
11
|
-
const { main, secondary, secondaryVisible, className, size = 'medium', } = props;
|
|
11
|
+
const { main, secondary, secondaryVisible, secondaryPopoverProps, className, size = 'medium', } = props;
|
|
12
12
|
const { disabledAction } = (0, hooks_1.useActionsState)({ main, secondary });
|
|
13
|
-
return ((0, jsx_runtime_1.jsxs)(styles_1.Wrapper, { className: className, children: [secondary && ((0, jsx_runtime_1.jsx)(SecondaryActions_1.SecondaryActions, { isDisabled: disabledAction, actions: secondary, size: size })), secondaryVisible && ((0, jsx_runtime_1.jsx)(SecondaryVisibleActions_1.SecondaryVisibleActions, { actions: secondaryVisible, size: size })), main && ((0, jsx_runtime_1.jsx)(MainActions_1.MainActions, { isDisabled: disabledAction, actions: main, size: size }))] }));
|
|
13
|
+
return ((0, jsx_runtime_1.jsxs)(styles_1.Wrapper, { className: className, children: [secondary && ((0, jsx_runtime_1.jsx)(SecondaryActions_1.SecondaryActions, { isDisabled: disabledAction, actions: secondary, size: size, popoverProps: secondaryPopoverProps })), secondaryVisible && ((0, jsx_runtime_1.jsx)(SecondaryVisibleActions_1.SecondaryVisibleActions, { actions: secondaryVisible, size: size })), main && ((0, jsx_runtime_1.jsx)(MainActions_1.MainActions, { isDisabled: disabledAction, actions: main, size: size }))] }));
|
|
14
14
|
};
|
|
15
15
|
exports.ActionGroup = ActionGroup;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type ElementType } from 'react';
|
|
2
2
|
import type { SecondaryActionProps } from '../types';
|
|
3
|
-
export declare const SecondaryActions: <TSecondaryActionComponent extends ElementType = ElementType>({ actions, isDisabled, className, size, }: SecondaryActionProps<TSecondaryActionComponent>) => import("react/jsx-runtime").JSX.Element | null;
|
|
3
|
+
export declare const SecondaryActions: <TSecondaryActionComponent extends ElementType = ElementType>({ actions, isDisabled, className, size, popoverProps, }: SecondaryActionProps<TSecondaryActionComponent>) => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -8,11 +8,11 @@ const IconDropdownButton_1 = require("../../IconDropdownButton");
|
|
|
8
8
|
const ListItemButton_1 = require("../../ListItemButton");
|
|
9
9
|
const ListItemText_1 = require("../../ListItemText");
|
|
10
10
|
const TOOLTIP_PLACEMENT = 'right';
|
|
11
|
-
const SecondaryActions = ({ actions, isDisabled, className, size, }) => {
|
|
11
|
+
const SecondaryActions = ({ actions, isDisabled, className, size, popoverProps, }) => {
|
|
12
12
|
if (!actions.length) {
|
|
13
13
|
return null;
|
|
14
14
|
}
|
|
15
|
-
return ((0, jsx_runtime_1.jsx)(IconDropdownButton_1.IconDropdownButton, { disabled: isDisabled, icon: (0, jsx_runtime_1.jsx)(DotsOutlineMd_1.DotsOutlineMd, {}), variant: "outlined", color: "grey", size: size, className: className, children: actions.map(({ text, ...secondaryProps }) => ((0, react_1.createElement)(ListItemButton_1.ListItemButton, { tooltipPlacement: TOOLTIP_PLACEMENT, ...secondaryProps, key: text },
|
|
15
|
+
return ((0, jsx_runtime_1.jsx)(IconDropdownButton_1.IconDropdownButton, { disabled: isDisabled, icon: (0, jsx_runtime_1.jsx)(DotsOutlineMd_1.DotsOutlineMd, {}), variant: "outlined", color: "grey", size: size, className: className, popoverProps: popoverProps, children: actions.map(({ text, ...secondaryProps }) => ((0, react_1.createElement)(ListItemButton_1.ListItemButton, { tooltipPlacement: TOOLTIP_PLACEMENT, ...secondaryProps, key: text },
|
|
16
16
|
(0, jsx_runtime_1.jsx)(ListItemText_1.ListItemText, { primary: text })))) }));
|
|
17
17
|
};
|
|
18
18
|
exports.SecondaryActions = SecondaryActions;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ComponentProps, ElementType, ReactElement, ReactNode } from 'react';
|
|
2
2
|
import type { ButtonProps, ButtonSize } from '../Button';
|
|
3
3
|
import type { DropdownButtonProps } from '../DropdownButton';
|
|
4
|
+
import type { IconDropdownButtonProps } from '../IconDropdownButton';
|
|
4
5
|
import type { ListItemButtonProps } from '../ListItemButton';
|
|
5
6
|
import type { MenuItemProps } from '../MenuItem';
|
|
6
7
|
import type { TooltipProps } from '../Tooltip';
|
|
@@ -143,6 +144,10 @@ export type SecondaryActionProps<TSecondaryActionComponent extends ElementType>
|
|
|
143
144
|
*/
|
|
144
145
|
className?: string;
|
|
145
146
|
size?: ButtonSize;
|
|
147
|
+
/**
|
|
148
|
+
* Пропсы Popover меню второстепенных действий
|
|
149
|
+
*/
|
|
150
|
+
popoverProps?: IconDropdownButtonProps['popoverProps'];
|
|
146
151
|
};
|
|
147
152
|
/** Модель второстепенного видимого экшена */
|
|
148
153
|
export type SecondaryVisibleAction = Omit<ButtonProps, 'children'> & {
|
|
@@ -177,6 +182,10 @@ export type ActionGroupProps<TMainActionComponent extends ElementType = ElementT
|
|
|
177
182
|
* Второстепенные действия, спрятанные за троеточием
|
|
178
183
|
*/
|
|
179
184
|
secondary?: SecondaryAction<TSecondaryActionComponent>[];
|
|
185
|
+
/**
|
|
186
|
+
* Пропсы Popover меню второстепенных действий
|
|
187
|
+
*/
|
|
188
|
+
secondaryPopoverProps?: IconDropdownButtonProps['popoverProps'];
|
|
180
189
|
/**
|
|
181
190
|
* Видимые второстепенные действия
|
|
182
191
|
*/
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { BodyProps } from './types';
|
|
2
|
-
export declare const Body: <TData extends Record<string, unknown>>({ rows,
|
|
2
|
+
export declare const Body: <TData extends Record<string, unknown>>({ rows, selectedIds, rowsDisabled, getRowDisabled, minDisplayRows, keyId, noDataPlaceholder, className, renderRow, columns, isSelectable, onSelectRow, onRowEnter, onRowLeave, registerRowElement, unregisterRowElement, ...rowProps }: BodyProps<TData>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -18,13 +18,17 @@ const bodyCva = (0, cva_1.cva)(constants_1.bodyClassnames.root, {
|
|
|
18
18
|
},
|
|
19
19
|
},
|
|
20
20
|
});
|
|
21
|
-
const Body = ({ rows,
|
|
21
|
+
const Body = ({ rows, selectedIds, rowsDisabled, getRowDisabled, minDisplayRows, keyId, noDataPlaceholder, className, renderRow, columns, isSelectable, onSelectRow, onRowEnter, onRowLeave, registerRowElement, unregisterRowElement, ...rowProps }) => {
|
|
22
22
|
const { disableMinHeight, bodyCssVars } = (0, useLogic_1.useLogic)({ minDisplayRows });
|
|
23
23
|
const renderedRows = rows.map((row, index) => {
|
|
24
24
|
const rowId = row[keyId];
|
|
25
|
-
const isSelected =
|
|
25
|
+
const isSelected = selectedIds.has(rowId);
|
|
26
|
+
const rowDisabled = rowsDisabled.get(rowId);
|
|
26
27
|
const { children, options } = row;
|
|
27
|
-
|
|
28
|
+
const hasNestedChildren = Array.isArray(children) && children.length > 0;
|
|
29
|
+
return ((0, jsx_runtime_1.jsx)(RowContext_1.RowContextProvider, { row: row, onSelectRow: onSelectRow, onRowEnter: onRowEnter, onRowLeave: onRowLeave, registerRowElement: registerRowElement, unregisterRowElement: unregisterRowElement, isSelectable: isSelectable, isSelected: isSelected, disabledMode: rowDisabled?.mode, disabledReason: rowDisabled?.reason, children: renderRow ? ((0, jsx_runtime_1.jsx)(CustomRowWrapper_1.CustomRowWrapper, { index: index, renderRow: renderRow, row: row })) : ((0, jsx_runtime_1.jsx)(Row_1.Row, { row: row, options: options, keyId: keyId, level: INITIAL_LEVEL, nestedChildren: children, isSelected: isSelected,
|
|
30
|
+
// Функция нужна только для расчёта блокировки вложенных строк, остальным не передаём, чтобы не сбрасывать memo
|
|
31
|
+
getRowDisabled: hasNestedChildren ? getRowDisabled : undefined, columns: columns, isSelectable: isSelectable, onSelectRow: onSelectRow, onRowEnter: onRowEnter, onRowLeave: onRowLeave, registerRowElement: registerRowElement, unregisterRowElement: unregisterRowElement, ...rowProps }, rowId)) }, rowId));
|
|
28
32
|
});
|
|
29
33
|
return ((0, jsx_runtime_1.jsx)(styles_1.Wrapper, { className: (0, cn_1.cn)(className, bodyCva({ disableMinHeight })), style: bodyCssVars, children: rows.length ? renderedRows : noDataPlaceholder }));
|
|
30
34
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ChangeEvent, type ReactNode } from 'react';
|
|
2
2
|
import { type Variant } from '../enums';
|
|
3
|
-
import { type CellValue, type DataGridColumns, type DataGridRowOptions } from '../types';
|
|
3
|
+
import { type CellValue, type DataGridColumns, type DataGridProps, type DataGridRowDisabled, type DataGridRowOptions } from '../types';
|
|
4
4
|
export type BodyProps<TData extends Record<string, CellValue>> = {
|
|
5
5
|
/**
|
|
6
6
|
* Конфигурация колонок для таблицы
|
|
@@ -46,9 +46,17 @@ export type BodyProps<TData extends Record<string, CellValue>> = {
|
|
|
46
46
|
*/
|
|
47
47
|
isSelectable?: boolean;
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
49
|
+
* Идентификаторы выбранных строк
|
|
50
50
|
*/
|
|
51
|
-
|
|
51
|
+
selectedIds: Set<unknown>;
|
|
52
|
+
/**
|
|
53
|
+
* Блокировки строк по идентификатору
|
|
54
|
+
*/
|
|
55
|
+
rowsDisabled: Map<unknown, DataGridRowDisabled | undefined>;
|
|
56
|
+
/**
|
|
57
|
+
* Функция блокировки для вложенных строк
|
|
58
|
+
*/
|
|
59
|
+
getRowDisabled?: DataGridProps<TData>['getRowDisabled'];
|
|
52
60
|
/**
|
|
53
61
|
* Массив данных для отображения
|
|
54
62
|
*/
|
|
@@ -29,6 +29,12 @@ const pinnedSectionsCva = (0, cva_1.cva)(constants_2.dataGridClassnames.pinnedSe
|
|
|
29
29
|
});
|
|
30
30
|
const dataGridCva = (0, cva_1.cva)(constants_2.dataGridClassnames.root, {
|
|
31
31
|
variants: {
|
|
32
|
+
hasMassActions: {
|
|
33
|
+
true: constants_2.dataGridClassnames.hasMassActions,
|
|
34
|
+
},
|
|
35
|
+
isMassActionsOpen: {
|
|
36
|
+
true: constants_2.dataGridClassnames.massActionsOpen,
|
|
37
|
+
},
|
|
32
38
|
hasPinnedColumns: {
|
|
33
39
|
true: constants_2.dataGridClassnames.hasPinnedSections,
|
|
34
40
|
},
|
|
@@ -59,9 +65,9 @@ const bodyCva = (0, cva_1.cva)(constants_2.dataGridClassnames.body, {
|
|
|
59
65
|
},
|
|
60
66
|
});
|
|
61
67
|
const DataGrid = (props) => {
|
|
62
|
-
const { dataGridClassName, isDataGridDisabled, treeRenderConfig, headColumns, headProps, bodyProps, gridColumns, loaderProps, renderRows, isAllowHorizontalScroll, isHideHead, hasPinnedColumns, contentStateProps, rowHoverProps, containerRef, sections, isNoData, isMobile, mobileSkeletonProps, isLoading, containerCssVars, hasGroupedColumns, gridViewMode, mobileDisplayVariant, isSelfContained, } = (0, useLogic_1.useLogic)(props);
|
|
68
|
+
const { dataGridClassName, isDataGridDisabled, treeRenderConfig, headColumns, headProps, bodyProps, gridColumns, loaderProps, renderRows, isAllowHorizontalScroll, isHideHead, hasPinnedColumns, contentStateProps, rowHoverProps, containerRef, sections, isNoData, isMobile, mobileSkeletonProps, isLoading, containerCssVars, hasGroupedColumns, gridViewMode, mobileDisplayVariant, isSelfContained, isMassActionsOpen, hasMassActions, } = (0, useLogic_1.useLogic)(props);
|
|
63
69
|
const { emptySymbol } = (0, react_1.useContext)(ConfigProvider_1.ConfigContext);
|
|
64
|
-
const { columns, selectedRows = [], minDisplayRows = constants_2.MIN_DISPLAY_ROWS_BY_DEFAULT, variant = enums_1.Variant.Tree, footer, noDataPlaceholder, subrows, keyId, activeRowId, emptyCellValue = emptySymbol, onRowClick, noDataOptions, headPreAddon, isTabularNums, renderRow, renderLink, } = props;
|
|
70
|
+
const { columns, selectedRows = [], onSelectRow, minDisplayRows = constants_2.MIN_DISPLAY_ROWS_BY_DEFAULT, variant = enums_1.Variant.Tree, footer, massActions, noDataPlaceholder, subrows, keyId, activeRowId, emptyCellValue = emptySymbol, onRowClick, noDataOptions, headPreAddon, isTabularNums, renderRow, renderLink, } = props;
|
|
65
71
|
const { moreButtonColumnPosition = 1, isVisibleCollapseButton = true } = subrows || {};
|
|
66
72
|
const { isInitialExpanded = false, expandedLevel = constants_2.EXPANDED_LEVEL_BY_DEFAULT, initialVisibleChildrenCount = constants_2.INITIAL_OPENED_NESTED_CHILDREN_COUNT_BY_DEFAULT, } = treeRenderConfig || {};
|
|
67
73
|
const Wrapper = isDataGridDisabled
|
|
@@ -76,7 +82,6 @@ const DataGrid = (props) => {
|
|
|
76
82
|
const commonBodyProps = {
|
|
77
83
|
...bodyProps,
|
|
78
84
|
keyId,
|
|
79
|
-
selectedRows,
|
|
80
85
|
minDisplayRows,
|
|
81
86
|
rows: renderRows,
|
|
82
87
|
variant,
|
|
@@ -101,13 +106,15 @@ const DataGrid = (props) => {
|
|
|
101
106
|
isDisabled: isDataGridDisabled,
|
|
102
107
|
}), isDisabled: isDataGridDisabled, headProps: headProps, gridColumns: gridColumns, bodyProps: commonBodyProps, isNoData: isNoData }) }));
|
|
103
108
|
};
|
|
104
|
-
return ((0, jsx_runtime_1.jsx)(DataGridContext_1.DataGridContextProvider, { isLoading: isLoading, isTabularNums: isTabularNums, gridColumns: gridColumns, emptyCellValue: emptyCellValue, activeRowId: activeRowId, keyId: keyId, columns: columns, onRowClick: onRowClick, mobileDisplayVariant: mobileDisplayVariant, renderLink: renderLink, children: (0, jsx_runtime_1.jsxs)(styles_1.Container, { ref: containerRef, style: containerCssVars, className: (0, cn_1.cn)(dataGridClassName, dataGridCva({
|
|
109
|
+
return ((0, jsx_runtime_1.jsx)(DataGridContext_1.DataGridContextProvider, { isLoading: isLoading, isTabularNums: isTabularNums, gridColumns: gridColumns, emptyCellValue: emptyCellValue, activeRowId: activeRowId, keyId: keyId, columns: columns, onRowClick: onRowClick, mobileDisplayVariant: mobileDisplayVariant, renderLink: renderLink, selectedRows: selectedRows, onSelectRow: onSelectRow, isMassActionsOpen: isMassActionsOpen, children: (0, jsx_runtime_1.jsxs)(styles_1.Container, { ref: containerRef, style: containerCssVars, className: (0, cn_1.cn)(dataGridClassName, dataGridCva({
|
|
105
110
|
isAllowHorizontalScroll,
|
|
106
111
|
hasPinnedColumns,
|
|
107
112
|
gridViewMode,
|
|
108
113
|
hasGroupedColumns,
|
|
109
114
|
mobileDisplayVariant,
|
|
110
115
|
isSelfContained,
|
|
111
|
-
|
|
116
|
+
hasMassActions,
|
|
117
|
+
isMassActionsOpen,
|
|
118
|
+
})), children: [renderTableContent(), (0, jsx_runtime_1.jsx)(Loader_1.Loader, { ...loaderProps }), massActions && (0, jsx_runtime_1.jsx)(styles_1.MassActionsAnchor, { children: massActions }), footer && footer] }) }));
|
|
112
119
|
};
|
|
113
120
|
exports.DataGrid = DataGrid;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
|
+
import { type DataGridSelectionContextProps } from '../../DataGridSelectionContext';
|
|
2
3
|
import { type DataGridContextProps } from '../DataGridContext';
|
|
3
|
-
type DataGridContextProviderProps = Pick<DataGridContextProps, 'isLoading' | 'isTabularNums' | 'gridColumns' | 'emptyCellValue' | 'activeRowId' | 'keyId' | 'columns' | 'onRowClick' | 'mobileDisplayVariant' | 'renderLink'> & {
|
|
4
|
+
type DataGridContextProviderProps = Pick<DataGridContextProps, 'isLoading' | 'isTabularNums' | 'gridColumns' | 'emptyCellValue' | 'activeRowId' | 'keyId' | 'columns' | 'onRowClick' | 'mobileDisplayVariant' | 'renderLink'> & Partial<DataGridSelectionContextProps> & {
|
|
4
5
|
children: ReactNode;
|
|
5
6
|
};
|
|
6
|
-
export declare const DataGridContextProvider: ({ isLoading, isTabularNums, gridColumns, emptyCellValue, activeRowId, children, keyId, columns, onRowClick, mobileDisplayVariant, renderLink, }: DataGridContextProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare const DataGridContextProvider: ({ isLoading, isTabularNums, gridColumns, emptyCellValue, activeRowId, children, keyId, columns, onRowClick, mobileDisplayVariant, renderLink, selectedRows, onSelectRow, isMassActionsOpen, }: DataGridContextProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
8
|
export {};
|
|
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DataGridContextProvider = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
|
+
const DataGridSelectionContext_1 = require("../../DataGridSelectionContext");
|
|
6
7
|
const DataGridStorageContext_1 = require("../../DataGridStorageContext");
|
|
7
8
|
const DataGridContext_1 = require("../DataGridContext");
|
|
8
|
-
const DataGridContextProvider = ({ isLoading, isTabularNums, gridColumns, emptyCellValue, activeRowId, children, keyId, columns, onRowClick, mobileDisplayVariant, renderLink, }) => {
|
|
9
|
+
const DataGridContextProvider = ({ isLoading, isTabularNums, gridColumns, emptyCellValue, activeRowId, children, keyId, columns, onRowClick, mobileDisplayVariant, renderLink, selectedRows, onSelectRow, isMassActionsOpen, }) => {
|
|
9
10
|
const contextValue = (0, react_1.useMemo)(() => ({
|
|
10
11
|
isLoading,
|
|
11
12
|
isTabularNums,
|
|
@@ -29,6 +30,6 @@ const DataGridContextProvider = ({ isLoading, isTabularNums, gridColumns, emptyC
|
|
|
29
30
|
mobileDisplayVariant,
|
|
30
31
|
renderLink,
|
|
31
32
|
]);
|
|
32
|
-
return ((0, jsx_runtime_1.jsx)(DataGridContext_1.DataGridContext.Provider, { value: contextValue, children: (0, jsx_runtime_1.jsx)(DataGridStorageContext_1.DataGridStorageProvider, { children: children }) }));
|
|
33
|
+
return ((0, jsx_runtime_1.jsx)(DataGridContext_1.DataGridContext.Provider, { value: contextValue, children: (0, jsx_runtime_1.jsx)(DataGridSelectionContext_1.DataGridSelectionProvider, { selectedRows: selectedRows, onSelectRow: onSelectRow, isMassActionsOpen: isMassActionsOpen, children: (0, jsx_runtime_1.jsx)(DataGridStorageContext_1.DataGridStorageProvider, { children: children }) }) }));
|
|
33
34
|
};
|
|
34
35
|
exports.DataGridContextProvider = DataGridContextProvider;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { type ContextOnChangeSelectedRows, type ContextSelectedRows } from '../types';
|
|
3
|
+
export type DataGridSelectionContextProps = {
|
|
4
|
+
/**
|
|
5
|
+
* Выбранные строки таблицы
|
|
6
|
+
*/
|
|
7
|
+
selectedRows: ContextSelectedRows;
|
|
8
|
+
/**
|
|
9
|
+
* Обработчик изменения выбора, переданный в таблицу.
|
|
10
|
+
*/
|
|
11
|
+
onSelectRow?: ContextOnChangeSelectedRows;
|
|
12
|
+
/**
|
|
13
|
+
* Флаг отображения панели массовых действий
|
|
14
|
+
*/
|
|
15
|
+
isMassActionsOpen: boolean;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Контекст выбранных строк таблицы для панели массовых действий.
|
|
19
|
+
*
|
|
20
|
+
* Вынесен из `DataGridContext`, чтобы изменение выбора не вызывало ре-рендер всех строк и ячеек:
|
|
21
|
+
* контекст читает только панель массовых действий.
|
|
22
|
+
*
|
|
23
|
+
* Провайдер подключается внутри `DataGridContextProvider`.
|
|
24
|
+
*/
|
|
25
|
+
export declare const DataGridSelectionContext: import("react").Context<DataGridSelectionContextProps>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DataGridSelectionContext = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
/**
|
|
6
|
+
* Контекст выбранных строк таблицы для панели массовых действий.
|
|
7
|
+
*
|
|
8
|
+
* Вынесен из `DataGridContext`, чтобы изменение выбора не вызывало ре-рендер всех строк и ячеек:
|
|
9
|
+
* контекст читает только панель массовых действий.
|
|
10
|
+
*
|
|
11
|
+
* Провайдер подключается внутри `DataGridContextProvider`.
|
|
12
|
+
*/
|
|
13
|
+
exports.DataGridSelectionContext = (0, react_1.createContext)({
|
|
14
|
+
selectedRows: [],
|
|
15
|
+
isMassActionsOpen: false,
|
|
16
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type DataGridSelectionContextProps } from '../DataGridSelectionContext';
|
|
3
|
+
type DataGridSelectionProviderProps = Partial<DataGridSelectionContextProps> & {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
};
|
|
6
|
+
export declare const DataGridSelectionProvider: ({ selectedRows, onSelectRow, isMassActionsOpen, children, }: DataGridSelectionProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DataGridSelectionProvider = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const DataGridSelectionContext_1 = require("../DataGridSelectionContext");
|
|
7
|
+
const EMPTY_SELECTED_ROWS = [];
|
|
8
|
+
const DataGridSelectionProvider = ({ selectedRows = EMPTY_SELECTED_ROWS, onSelectRow, isMassActionsOpen = false, children, }) => {
|
|
9
|
+
const contextValue = (0, react_1.useMemo)(() => ({ selectedRows, onSelectRow, isMassActionsOpen }), [selectedRows, onSelectRow, isMassActionsOpen]);
|
|
10
|
+
return ((0, jsx_runtime_1.jsx)(DataGridSelectionContext_1.DataGridSelectionContext.Provider, { value: contextValue, children: children }));
|
|
11
|
+
};
|
|
12
|
+
exports.DataGridSelectionProvider = DataGridSelectionProvider;
|
package/node/components/DataGrid/DataGridSelectionContext/DataGridSelectionProvider/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DataGridSelectionProvider';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./DataGridSelectionProvider"), exports);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./DataGridSelectionContext"), exports);
|
|
18
|
+
__exportStar(require("./DataGridSelectionProvider"), exports);
|
|
@@ -7,9 +7,9 @@ const Section_1 = require("./Section");
|
|
|
7
7
|
const styles_1 = require("./styles");
|
|
8
8
|
const useLogic_1 = require("./useLogic");
|
|
9
9
|
const PinnedSections = ({ gridColumns, className, isDisabled, headProps, bodyProps, sections, isNoData, }) => {
|
|
10
|
-
const { pinnedContainerStyles, sectionOffsets } = (0, useLogic_1.useLogic)({ sections });
|
|
10
|
+
const { pinnedContainerStyles, sectionOffsets, totalColumnsCount } = (0, useLogic_1.useLogic)({ sections });
|
|
11
11
|
return ((0, jsx_runtime_1.jsx)(styles_1.PinnedColumnsContainer, { "$gridColumns": gridColumns, className: className, ...(0, getInertProps_1.getInertProps)(isDisabled), style: pinnedContainerStyles, children: sections.map(({ columns, position }) => {
|
|
12
|
-
return ((0, jsx_runtime_1.jsx)(Section_1.Section, { columns: columns, position: position, sectionOffset: sectionOffsets[position], bodyProps: bodyProps, headProps: headProps, isNoData: isNoData }, position));
|
|
12
|
+
return ((0, jsx_runtime_1.jsx)(Section_1.Section, { columns: columns, position: position, sectionOffset: sectionOffsets[position], bodyProps: { ...bodyProps, totalColumnsCount }, headProps: headProps, isNoData: isNoData }, position));
|
|
13
13
|
}) }));
|
|
14
14
|
};
|
|
15
15
|
exports.PinnedSections = PinnedSections;
|
|
@@ -5,5 +5,6 @@ type UseLogicParams<TData extends Record<string, CellValue> = DataGridRow> = Pic
|
|
|
5
5
|
export declare const useLogic: <TData extends Record<string, unknown> = DataGridRow>({ sections, }: UseLogicParams<TData>) => {
|
|
6
6
|
pinnedContainerStyles: CSSProperties;
|
|
7
7
|
sectionOffsets: Record<string, number>;
|
|
8
|
+
totalColumnsCount: number;
|
|
8
9
|
};
|
|
9
10
|
export {};
|
|
@@ -14,15 +14,16 @@ const useLogic = ({ sections, }) => {
|
|
|
14
14
|
? (0, utils_1.getFlattenColumns)(rightColumns).length
|
|
15
15
|
: 0,
|
|
16
16
|
};
|
|
17
|
-
|
|
17
|
+
// Строка в секции видит только свои колонки, поэтому для поиска последней ячейки таблицы ей передаётся общее число колонок всех секций
|
|
18
|
+
const { sectionOffsets, totalColumnsCount } = (0, react_1.useMemo)(() => {
|
|
18
19
|
const offsets = {};
|
|
19
20
|
let currentOffset = 0;
|
|
20
21
|
sections.forEach((section) => {
|
|
21
22
|
offsets[section.position] = currentOffset;
|
|
22
23
|
currentOffset += (0, utils_1.getFlattenColumns)(section.columns).length;
|
|
23
24
|
});
|
|
24
|
-
return offsets;
|
|
25
|
+
return { sectionOffsets: offsets, totalColumnsCount: currentOffset };
|
|
25
26
|
}, [sections]);
|
|
26
|
-
return { pinnedContainerStyles, sectionOffsets };
|
|
27
|
+
return { pinnedContainerStyles, sectionOffsets, totalColumnsCount };
|
|
27
28
|
};
|
|
28
29
|
exports.useLogic = useLogic;
|
|
@@ -4,12 +4,12 @@ exports.Row = void 0;
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const BottomDrawer_1 = require("../../BottomDrawer");
|
|
7
|
-
const Checkbox_1 = require("../../Checkbox");
|
|
8
7
|
const Tooltip_1 = require("../../Tooltip");
|
|
9
8
|
const cn_1 = require("../../utils/cn");
|
|
10
9
|
const cva_1 = require("../../utils/cva");
|
|
11
10
|
const getInertProps_1 = require("../../utils/getInertProps");
|
|
12
11
|
const Cell_1 = require("../Cell");
|
|
12
|
+
const RowCheckbox_1 = require("../RowCheckbox");
|
|
13
13
|
const utils_1 = require("../utils");
|
|
14
14
|
const constants_1 = require("./constants");
|
|
15
15
|
const NestedChildren_1 = require("./NestedChildren");
|
|
@@ -60,17 +60,17 @@ const singleCellCva = (0, cva_1.cva)(constants_1.dataGridRowCellClassnames.singl
|
|
|
60
60
|
* который позволяет полностью контролировать рендер каждой строки.
|
|
61
61
|
*/
|
|
62
62
|
const RowInner = (props) => {
|
|
63
|
-
const { isOpen, isShowConnector, childrenColumns, rowId, handleToggle, checkboxProps, rowProps, isHovered, tooltipProps, nestedChildrenProps,
|
|
64
|
-
const { className, row, options, variant, gridColumns, isInitialExpanded, expandedLevel, level, nestedChildren, initialVisibleChildrenCount, moreButtonColumnPosition, isVisibleCollapseButton, columns, emptyCellValue, activeRowId, keyId, onSelectRow, onRowClick, sectionOffset, totalColumnsCount, registerRowElement, unregisterRowElement, onRowEnter, onRowLeave, style,
|
|
63
|
+
const { isOpen, isShowConnector, childrenColumns, rowId, handleToggle, checkboxProps, rowProps, isHovered, tooltipProps, nestedChildrenProps, isDisabled, isDisabledLastCell, isRenderCollapseButton, rowRef, rowStyles, drawerProps, disabledReason, isActive, isSelectable, mobileDisplayVariant, rootRowElement, rootRowRef, } = (0, useLogic_1.useLogic)(props);
|
|
64
|
+
const { className, row, options, variant, gridColumns, isInitialExpanded, expandedLevel, level, nestedChildren, initialVisibleChildrenCount, moreButtonColumnPosition, isVisibleCollapseButton, columns, emptyCellValue, activeRowId, keyId, onSelectRow, onRowClick, sectionOffset, totalColumnsCount, registerRowElement, unregisterRowElement, onRowEnter, onRowLeave, style, getRowDisabled, isNested,
|
|
65
65
|
// В этот rest-оператор попадают специфичные пропсы (атрибуты) virtuoso
|
|
66
66
|
// Необходимы для DataGridInfinite
|
|
67
67
|
...selfProps } = props;
|
|
68
|
-
const {
|
|
68
|
+
const { isNotSelectable, href, target } = options || {};
|
|
69
69
|
const renderStartAdornment = () => {
|
|
70
70
|
if (!isRenderCollapseButton && (!isSelectable || isNotSelectable)) {
|
|
71
71
|
return null;
|
|
72
72
|
}
|
|
73
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [isRenderCollapseButton && ((0, jsx_runtime_1.jsx)(styles_1.CollapseCell, { children: (0, jsx_runtime_1.jsx)(styles_1.CollapseButton, { variant: "text", onClick: handleToggle, children: (0, jsx_runtime_1.jsx)(styles_1.ChevronIcon, { "$isActive": isOpen }) }) })), isSelectable && !isNotSelectable && ((0, jsx_runtime_1.jsx)(styles_1.CheckboxCell, { ...(0, getInertProps_1.getInertProps)(
|
|
73
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [isRenderCollapseButton && ((0, jsx_runtime_1.jsx)(styles_1.CollapseCell, { children: (0, jsx_runtime_1.jsx)(styles_1.CollapseButton, { variant: "text", onClick: handleToggle, children: (0, jsx_runtime_1.jsx)(styles_1.ChevronIcon, { "$isActive": isOpen }) }) })), isSelectable && !isNotSelectable && ((0, jsx_runtime_1.jsx)(styles_1.CheckboxCell, { ...(0, getInertProps_1.getInertProps)(isDisabled), onClick: (event) => event.stopPropagation(), className: constants_1.dataGridRowClassnames.checkbox, children: (0, jsx_runtime_1.jsx)(RowCheckbox_1.RowCheckbox, { ...checkboxProps }) }))] }));
|
|
74
74
|
};
|
|
75
75
|
const renderCells = (0, react_1.useCallback)(() => {
|
|
76
76
|
const lastCellGlobalIndex = (totalColumnsCount ?? columns.length) - 1;
|
|
@@ -80,7 +80,7 @@ const RowInner = (props) => {
|
|
|
80
80
|
return columns?.map((cell, index) => {
|
|
81
81
|
const cellId = `${rowId}-${index}`;
|
|
82
82
|
const globalIndex = (sectionOffset ?? 0) + index;
|
|
83
|
-
const isDisabledCell = (0, utils_2.checkIsDisabled)(
|
|
83
|
+
const isDisabledCell = (0, utils_2.checkIsDisabled)(isDisabled, availableCellsByIndex, globalIndex);
|
|
84
84
|
const isFirstCell = globalIndex === 0;
|
|
85
85
|
if ((0, utils_1.isGroupColumns)(cell)) {
|
|
86
86
|
const { label, children, hideTitleOnMobile, isHideOnMobile } = cell;
|
|
@@ -98,13 +98,16 @@ const RowInner = (props) => {
|
|
|
98
98
|
row,
|
|
99
99
|
isOpen,
|
|
100
100
|
columns,
|
|
101
|
-
|
|
101
|
+
isDisabled,
|
|
102
|
+
isDisabledLastCell,
|
|
102
103
|
checkboxProps.checked,
|
|
104
|
+
checkboxProps.disabled,
|
|
105
|
+
checkboxProps.disabledReason,
|
|
103
106
|
totalColumnsCount,
|
|
104
107
|
sectionOffset,
|
|
105
108
|
rootRowElement,
|
|
106
109
|
]);
|
|
107
|
-
const renderRow = (0, react_1.useCallback)(({ key, ...nestedRowProps }) => ((0, jsx_runtime_1.jsx)(RowInner, { keyId: keyId, ...nestedRowProps, variant: variant, isSelectable: isSelectable, gridColumns: gridColumns, isInitialExpanded: isInitialExpanded, expandedLevel: expandedLevel, initialVisibleChildrenCount: initialVisibleChildrenCount, moreButtonColumnPosition: moreButtonColumnPosition, isVisibleCollapseButton: isVisibleCollapseButton, activeRowId: activeRowId, columns: childrenColumns, onSelectRow: onSelectRow, onRowClick: onRowClick, totalColumnsCount: totalColumnsCount, registerRowElement: registerRowElement, unregisterRowElement: unregisterRowElement, onRowEnter: onRowEnter, onRowLeave: onRowLeave, sectionOffset: sectionOffset }, key)), [
|
|
110
|
+
const renderRow = (0, react_1.useCallback)(({ key, ...nestedRowProps }) => ((0, jsx_runtime_1.jsx)(RowInner, { keyId: keyId, ...nestedRowProps, variant: variant, isSelectable: isSelectable, gridColumns: gridColumns, isInitialExpanded: isInitialExpanded, expandedLevel: expandedLevel, initialVisibleChildrenCount: initialVisibleChildrenCount, moreButtonColumnPosition: moreButtonColumnPosition, isVisibleCollapseButton: isVisibleCollapseButton, activeRowId: activeRowId, columns: childrenColumns, onSelectRow: onSelectRow, onRowClick: onRowClick, totalColumnsCount: totalColumnsCount, registerRowElement: registerRowElement, unregisterRowElement: unregisterRowElement, onRowEnter: onRowEnter, onRowLeave: onRowLeave, sectionOffset: sectionOffset, getRowDisabled: getRowDisabled, isNested: true }, key)), [
|
|
108
111
|
keyId,
|
|
109
112
|
variant,
|
|
110
113
|
isSelectable,
|
|
@@ -123,11 +126,12 @@ const RowInner = (props) => {
|
|
|
123
126
|
unregisterRowElement,
|
|
124
127
|
onRowEnter,
|
|
125
128
|
onRowLeave,
|
|
129
|
+
getRowDisabled,
|
|
126
130
|
]);
|
|
127
131
|
return ((0, jsx_runtime_1.jsxs)(styles_1.Wrapper, { className: (0, cn_1.cn)(className, rootCva({
|
|
128
132
|
isShowConnector,
|
|
129
133
|
mobileDisplayVariant,
|
|
130
134
|
hasNestedChildren: Boolean(nestedChildren?.length),
|
|
131
|
-
})), style: rowStyles, ...selfProps, ref: rootRowRef, children: [(0, jsx_runtime_1.jsx)(Tooltip_1.Tooltip, { followCursor: true, arrow: false, ...tooltipProps, children: (0, jsx_runtime_1.jsx)(styles_1.ContentWrapper, { "data-row-id": rowId, ref: rowRef, onPointerEnter: () => onRowEnter?.(rowId), onPointerLeave: (event) => onRowLeave?.(rowId, event.nativeEvent), className: rowContentCva({ isHovered, isActive }), "$gridColumns": gridColumns, [constants_1.DISABLE_ROW_ATTR]:
|
|
135
|
+
})), style: rowStyles, ...selfProps, ref: rootRowRef, children: [(0, jsx_runtime_1.jsx)(Tooltip_1.Tooltip, { followCursor: true, arrow: false, ...tooltipProps, children: (0, jsx_runtime_1.jsx)(styles_1.ContentWrapper, { "data-row-id": rowId, ref: rowRef, onPointerEnter: () => onRowEnter?.(rowId), onPointerLeave: (event) => onRowLeave?.(rowId, event.nativeEvent), className: rowContentCva({ isHovered, isActive }), "$gridColumns": gridColumns, [constants_1.DISABLE_ROW_ATTR]: isDisabled, ...rowProps, children: renderCells() }) }), (0, jsx_runtime_1.jsx)(NestedChildren_1.NestedChildren, { ...nestedChildrenProps, data: nestedChildren, keyId: keyId, level: level, variant: variant, gridColumns: gridColumns, initialVisibleChildrenCount: initialVisibleChildrenCount, moreButtonColumnPosition: moreButtonColumnPosition, renderRow: renderRow }), (0, jsx_runtime_1.jsx)(BottomDrawer_1.BottomDrawer, { ...drawerProps, children: (0, jsx_runtime_1.jsx)(styles_1.BottomDrawerContent, { children: disabledReason }) })] }, `row-${rowId}`));
|
|
132
136
|
};
|
|
133
137
|
exports.Row = (0, react_1.memo)(RowInner);
|