import { OverridableComponent, OverrideProps } from '@mui/types'; import { Theme as SystemTheme } from '../createTheme/index.js'; import { SxProps, AllSystemCSSProperties, ResponsiveStyleValue, OverwriteCSSProperties, AliasesCSSProperties } from '../styleFunctionSx/index.js'; import { PropsFor } from '../style/index.js'; import { ComposedStyleFunction } from '../compose/index.js'; import { default as borders } from '../borders/index.js'; import { default as display } from '../display/index.js'; import { default as flexbox } from '../flexbox/index.js'; import { default as grid } from '../cssGrid/index.js'; import { default as palette } from '../palette/index.js'; import { default as positions } from '../positions/index.js'; import { default as shadows } from '../shadows/index.js'; import { default as sizing } from '../sizing/index.js'; import { default as spacing } from '../spacing/index.js'; import { default as typography } from '../typography/index.js'; import * as React from 'react'; export interface CustomSystemProps extends AliasesCSSProperties, OverwriteCSSProperties {} export type SimpleSystemKeys = keyof PropsFor>; // The SimpleSystemKeys are subset of the AllSystemCSSProperties, so this should be ok // This is needed as these are used as keys inside AllSystemCSSProperties type StandardSystemKeys = Extract; export type SystemProps = { [K in StandardSystemKeys]?: ResponsiveStyleValue | ((theme: Theme) => ResponsiveStyleValue) }; export interface BoxOwnProps extends SystemProps { children?: React.ReactNode; ref?: React.Ref | undefined; /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx?: SxProps | undefined; } export interface BoxTypeMap { props: AdditionalProps & BoxOwnProps; defaultComponent: RootComponent; } /** * * Demos: * * - [Box (Joy UI)](https://mui.com/joy-ui/react-box/) * - [Box (Material UI)](https://mui.com/material-ui/react-box/) * - [Menubar (Material UI)](https://mui.com/material-ui/react-menubar/) * - [Box (MUI System)](https://mui.com/system/react-box/) * * API: * * - [Box API](https://mui.com/system/api/box/) */ declare const Box: OverridableComponent; export type BoxProps = OverrideProps, RootComponent> & { component?: React.ElementType | undefined; }; export default Box;