seti-ramesesv1
Version:
Reusable components and context for Next.js apps
39 lines (36 loc) • 1.23 kB
JavaScript
import * as React from 'react';
import { clsx } from '../../../../clsx/dist/clsx.js';
import styled from '../../../styled-engine/esm/index.js';
import { jsx } from 'react/jsx-runtime';
import styleFunctionSx from '../styleFunctionSx/styleFunctionSx.js';
import useTheme from '../useTheme/useTheme.js';
import extendSxProp from '../styleFunctionSx/extendSxProp.js';
function createBox(options = {}) {
const {
themeId,
defaultTheme,
defaultClassName = 'MuiBox-root',
generateClassName
} = options;
const BoxRoot = styled('div', {
shouldForwardProp: prop => prop !== 'theme' && prop !== 'sx' && prop !== 'as'
})(styleFunctionSx);
const Box = /*#__PURE__*/React.forwardRef(function Box(inProps, ref) {
const theme = useTheme(defaultTheme);
const {
className,
component = 'div',
...other
} = extendSxProp(inProps);
return /*#__PURE__*/jsx(BoxRoot, {
as: component,
ref: ref,
className: clsx(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),
theme: themeId ? theme[themeId] || theme : theme,
...other
});
});
return Box;
}
export { createBox as default };
//# sourceMappingURL=createBox.js.map