'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; }