UNPKG

@mui/x-data-grid

Version:

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

58 lines (55 loc) 1.92 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose"; const _excluded = ["className"]; import * as React from 'react'; import clsx from 'clsx'; import { unstable_composeClasses as composeClasses } from '@mui/material'; import { styled, alpha, lighten, darken } from '@mui/material/styles'; import { getDataGridUtilityClass } from '../../constants/gridClasses'; import { useGridRootProps } from '../../hooks/utils/useGridRootProps'; import { jsx as _jsx } from "react/jsx-runtime"; const useUtilityClasses = ownerState => { const { classes } = ownerState; const slots = { root: ['columnHeaders'] }; return composeClasses(slots, getDataGridUtilityClass, classes); }; const GridColumnHeadersRoot = styled('div', { name: 'MuiDataGrid', slot: 'ColumnHeaders', overridesResolver: (props, styles) => styles.columnHeaders })(({ theme }) => { const borderColor = theme.palette.mode === 'light' ? lighten(alpha(theme.palette.divider, 1), 0.88) : darken(alpha(theme.palette.divider, 1), 0.68); return { position: 'absolute', top: 0, left: 0, right: 0, overflow: 'hidden', display: 'flex', alignItems: 'center', borderBottom: `1px solid ${borderColor}`, borderTopLeftRadius: theme.shape.borderRadius, borderTopRightRadius: theme.shape.borderRadius }; }); export const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnHeaders(props, ref) { const { className } = props, other = _objectWithoutPropertiesLoose(props, _excluded); const rootProps = useGridRootProps(); const ownerState = { classes: rootProps.classes }; const classes = useUtilityClasses(ownerState); return /*#__PURE__*/_jsx(GridColumnHeadersRoot, _extends({ ref: ref, className: clsx(className, classes.root) }, other)); });