UNPKG

@mui/x-data-grid

Version:

The Community plan edition of the Data Grid components (MUI X).

22 lines 1.35 kB
import { gridVisibleColumnDefinitionsSelector } from '../features/columns/gridColumnsSelector'; import { useGridSelector } from './useGridSelector'; import { useGridRootProps } from './useGridRootProps'; import { gridColumnGroupsHeaderMaxDepthSelector } from '../features/columnGrouping/gridColumnGroupsSelector'; import { gridPinnedRowsCountSelector } from '../features/rows/gridRowsSelector'; import { useGridPrivateApiContext } from './useGridPrivateApiContext'; import { isMultipleRowSelectionEnabled } from '../features/rowSelection/utils'; import { gridExpandedRowCountSelector } from '../features/filter/gridFilterSelector'; export const useGridAriaAttributes = () => { const apiRef = useGridPrivateApiContext(); const rootProps = useGridRootProps(); const visibleColumns = useGridSelector(apiRef, gridVisibleColumnDefinitionsSelector); const accessibleRowCount = useGridSelector(apiRef, gridExpandedRowCountSelector); const headerGroupingMaxDepth = useGridSelector(apiRef, gridColumnGroupsHeaderMaxDepthSelector); const pinnedRowsCount = useGridSelector(apiRef, gridPinnedRowsCountSelector); return { role: 'grid', 'aria-colcount': visibleColumns.length, 'aria-rowcount': headerGroupingMaxDepth + 1 + pinnedRowsCount + accessibleRowCount, 'aria-multiselectable': isMultipleRowSelectionEnabled(rootProps) }; };