@mui/x-data-grid-premium
Version:
The Premium plan edition of the MUI X Data Grid Components.
57 lines • 1.79 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
const _excluded = ["aria-label", "children", "className"];
import * as React from 'react';
import { styled } from '@mui/material/styles';
import { vars } from '@mui/x-data-grid-pro/internals';
import useId from '@mui/utils/useId';
import composeClasses from '@mui/utils/composeClasses';
import { getDataGridUtilityClass } from '@mui/x-data-grid-pro';
import clsx from 'clsx';
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.mjs";
import { useCollapsibleContext } from "./CollapsibleContext.mjs";
import { jsx as _jsx } from "react/jsx-runtime";
const useUtilityClasses = ownerState => {
const {
classes
} = ownerState;
const slots = {
root: ['collapsiblePanel']
};
return composeClasses(slots, getDataGridUtilityClass, classes);
};
const CollapsiblePanelRoot = styled('div', {
name: 'MuiDataGrid',
slot: 'CollapsiblePanel'
})({
border: `1px solid ${vars.colors.border.base}`,
borderTop: 'none',
borderBottomLeftRadius: vars.radius.base,
borderBottomRightRadius: vars.radius.base,
flex: 1,
overflow: 'hidden'
});
function CollapsiblePanel(props) {
const {
children,
className
} = props,
other = _objectWithoutPropertiesLoose(props, _excluded);
const rootProps = useGridRootProps();
const classes = useUtilityClasses(rootProps);
const id = useId();
const {
open
} = useCollapsibleContext();
if (!open) {
return null;
}
return /*#__PURE__*/_jsx(CollapsiblePanelRoot, _extends({
ownerState: rootProps,
className: clsx(classes.root, className),
id: id
}, other, {
children: children
}));
}
export { CollapsiblePanel };