UNPKG

@mui/x-data-grid

Version:

The community edition of the data grid component (MUI X).

31 lines (30 loc) 1.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useGridAriaAttributes = void 0; var _gridColumnsSelector = require("../features/columns/gridColumnsSelector"); var _useGridSelector = require("./useGridSelector"); var _useGridRootProps = require("./useGridRootProps"); var _gridColumnGroupsSelector = require("../features/columnGrouping/gridColumnGroupsSelector"); var _gridRowsSelector = require("../features/rows/gridRowsSelector"); var _useGridPrivateApiContext = require("./useGridPrivateApiContext"); const useGridAriaAttributes = () => { const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)(); const rootProps = (0, _useGridRootProps.useGridRootProps)(); const visibleColumns = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridVisibleColumnDefinitionsSelector); const totalRowCount = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridRowCountSelector); const headerGroupingMaxDepth = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsHeaderMaxDepthSelector); const pinnedRowsCount = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridPinnedRowsCountSelector); let role = 'grid'; if (rootProps.experimentalFeatures?.ariaV7 && rootProps.treeData) { role = 'treegrid'; } return { role, 'aria-colcount': visibleColumns.length, 'aria-rowcount': headerGroupingMaxDepth + 1 + pinnedRowsCount + totalRowCount, 'aria-multiselectable': !rootProps.disableMultipleRowSelection }; }; exports.useGridAriaAttributes = useGridAriaAttributes;