@mui/x-data-grid-premium
Version:
The Premium plan edition of the MUI X Data Grid Components.
64 lines (63 loc) • 2.4 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.CollapsiblePanel = CollapsiblePanel;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var React = _interopRequireWildcard(require("react"));
var _system = require("@mui/system");
var _internals = require("@mui/x-data-grid-pro/internals");
var _useId = _interopRequireDefault(require("@mui/utils/useId"));
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
var _xDataGridPro = require("@mui/x-data-grid-pro");
var _clsx = _interopRequireDefault(require("clsx"));
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
var _CollapsibleContext = require("./CollapsibleContext");
var _jsxRuntime = require("react/jsx-runtime");
const _excluded = ["aria-label", "children", "className"];
const useUtilityClasses = ownerState => {
const {
classes
} = ownerState;
const slots = {
root: ['collapsiblePanel']
};
return (0, _composeClasses.default)(slots, _xDataGridPro.getDataGridUtilityClass, classes);
};
const CollapsiblePanelRoot = (0, _system.styled)('div', {
name: 'MuiDataGrid',
slot: 'CollapsiblePanel'
})({
border: `1px solid ${_internals.vars.colors.border.base}`,
borderTop: 'none',
borderBottomLeftRadius: _internals.vars.radius.base,
borderBottomRightRadius: _internals.vars.radius.base,
flex: 1,
overflow: 'hidden'
});
function CollapsiblePanel(props) {
const {
children,
className
} = props,
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
const rootProps = (0, _useGridRootProps.useGridRootProps)();
const classes = useUtilityClasses(rootProps);
const id = (0, _useId.default)();
const {
open
} = (0, _CollapsibleContext.useCollapsibleContext)();
if (!open) {
return null;
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CollapsiblePanelRoot, (0, _extends2.default)({
ownerState: rootProps,
className: (0, _clsx.default)(classes.root, className),
id: id
}, other, {
children: children
}));
}