38 lines
1.3 KiB
Plaintext
38 lines
1.3 KiB
Plaintext
'use client';
|
|
|
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
const _excluded = ["className", "component"];
|
|
import * as React from 'react';
|
|
import clsx from 'clsx';
|
|
import styled from '@mui/styled-engine';
|
|
import styleFunctionSx, { extendSxProp } from './styleFunctionSx';
|
|
import useTheme from './useTheme';
|
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
export default 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 _extendSxProp = extendSxProp(inProps),
|
|
{
|
|
className,
|
|
component = 'div'
|
|
} = _extendSxProp,
|
|
other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded);
|
|
return /*#__PURE__*/_jsx(BoxRoot, _extends({
|
|
as: component,
|
|
ref: ref,
|
|
className: clsx(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),
|
|
theme: themeId ? theme[themeId] || theme : theme
|
|
}, other));
|
|
});
|
|
return Box;
|
|
} |