UNPKG

@mui/x-data-grid-premium

Version:

The Premium plan edition of the MUI X Data Grid Components.

54 lines (53 loc) 2.79 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.GridBottomContainer = GridBottomContainer; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var React = _interopRequireWildcard(require("react")); var _clsx = _interopRequireDefault(require("clsx")); var _styles = require("@mui/material/styles"); var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses")); var _xDataGridPro = require("@mui/x-data-grid-pro"); var _useGridPrivateApiContext = require("../hooks/utils/useGridPrivateApiContext"); var _GridAggregationRowOverlay = require("./GridAggregationRowOverlay"); var _reexports = require("../typeOverloads/reexports"); var _hooks = require("../hooks"); var _jsxRuntime = require("react/jsx-runtime"); const _excluded = ["children"]; const useUtilityClasses = () => { const slots = { root: ['bottomContainer'] }; return (0, _composeClasses.default)(slots, _xDataGridPro.getDataGridUtilityClass, {}); }; const Element = (0, _styles.styled)('div', { slot: 'internal', shouldForwardProp: undefined })({ position: 'sticky', zIndex: 40, bottom: 'calc(var(--DataGrid-hasScrollX) * var(--DataGrid-scrollbarSize))' }); function GridBottomContainer(props) { const classes = useUtilityClasses(); const rootProps = (0, _reexports.useGridRootProps)(); const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)(); const isLoading = (0, _xDataGridPro.useGridSelector)(apiRef, _xDataGridPro.gridRowsLoadingSelector); const tree = (0, _xDataGridPro.useGridSelector)(apiRef, _xDataGridPro.gridRowTreeSelector); const aggregationModel = (0, _xDataGridPro.useGridSelector)(apiRef, _hooks.gridAggregationModelSelector); const aggregationPosition = rootProps.getAggregationPosition(tree[_xDataGridPro.GRID_ROOT_GROUP_ID]); const hasAggregation = React.useMemo(() => Object.keys(aggregationModel).length > 0, [aggregationModel]); const { children } = props, other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); return /*#__PURE__*/(0, _jsxRuntime.jsx)(Element, (0, _extends2.default)({}, other, { className: (0, _clsx.default)(classes.root, _xDataGridPro.gridClasses['container--bottom']), role: "presentation", children: hasAggregation && isLoading && aggregationPosition === 'footer' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridAggregationRowOverlay.GridAggregationRowOverlay, {}) : children })); }