@mui/x-data-grid
Version:
The community edition of the data grid component (MUI X).
31 lines (30 loc) • 1.62 kB
JavaScript
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;
;