Spaces:
Sleeping
Sleeping
pythonic-rag-FastAPIReact
/
frontend
/node_modules
/@mui
/system
/legacy
/styleFunctionSx
/extendSxProp.js
| import _extends from "@babel/runtime/helpers/esm/extends"; | |
| import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray"; | |
| import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties"; | |
| import { isPlainObject } from '@mui/utils/deepmerge'; | |
| import defaultSxConfig from './defaultSxConfig'; | |
| var splitProps = function splitProps(props) { | |
| var _props$theme$unstable, _props$theme; | |
| var result = { | |
| systemProps: {}, | |
| otherProps: {} | |
| }; | |
| var config = (_props$theme$unstable = props == null || (_props$theme = props.theme) == null ? void 0 : _props$theme.unstable_sxConfig) != null ? _props$theme$unstable : defaultSxConfig; | |
| Object.keys(props).forEach(function (prop) { | |
| if (config[prop]) { | |
| result.systemProps[prop] = props[prop]; | |
| } else { | |
| result.otherProps[prop] = props[prop]; | |
| } | |
| }); | |
| return result; | |
| }; | |
| export default function extendSxProp(props) { | |
| var inSx = props.sx, | |
| other = _objectWithoutProperties(props, ["sx"]); | |
| var _splitProps = splitProps(other), | |
| systemProps = _splitProps.systemProps, | |
| otherProps = _splitProps.otherProps; | |
| var finalSx; | |
| if (Array.isArray(inSx)) { | |
| finalSx = [systemProps].concat(_toConsumableArray(inSx)); | |
| } else if (typeof inSx === 'function') { | |
| finalSx = function finalSx() { | |
| var result = inSx.apply(void 0, arguments); | |
| if (!isPlainObject(result)) { | |
| return systemProps; | |
| } | |
| return _extends({}, systemProps, result); | |
| }; | |
| } else { | |
| finalSx = _extends({}, systemProps, inSx); | |
| } | |
| return _extends({}, otherProps, { | |
| sx: finalSx | |
| }); | |
| } |