{"version":3,"file":"styleFunctionSx.mjs","sources":["../../../../../../../../../node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js"],"sourcesContent":["import capitalize from '@mui/utils/capitalize';\nimport merge from \"../merge/index.js\";\nimport { getPath, getStyleValue as getValue } from \"../style/index.js\";\nimport { handleBreakpoints, createEmptyBreakpointObject, removeUnusedBreakpoints } from \"../breakpoints/index.js\";\nimport { sortContainerQueries } from \"../cssContainerQueries/index.js\";\nimport defaultSxConfig from \"./defaultSxConfig.js\";\nfunction objectsHaveSameKeys(...objects) {\n  const allKeys = objects.reduce((keys, object) => keys.concat(Object.keys(object)), []);\n  const union = new Set(allKeys);\n  return objects.every(object => union.size === Object.keys(object).length);\n}\nfunction callIfFn(maybeFn, arg) {\n  return typeof maybeFn === 'function' ? maybeFn(arg) : maybeFn;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function unstable_createStyleFunctionSx() {\n  function getThemeValue(prop, val, theme, config) {\n    const props = {\n      [prop]: val,\n      theme\n    };\n    const options = config[prop];\n    if (!options) {\n      return {\n        [prop]: val\n      };\n    }\n    const {\n      cssProperty = prop,\n      themeKey,\n      transform,\n      style\n    } = options;\n    if (val == null) {\n      return null;\n    }\n\n    // TODO v6: remove, see https://github.com/mui/material-ui/pull/38123\n    if (themeKey === 'typography' && val === 'inherit') {\n      return {\n        [prop]: val\n      };\n    }\n    const themeMapping = getPath(theme, themeKey) || {};\n    if (style) {\n      return style(props);\n    }\n    const styleFromPropValue = propValueFinal => {\n      let value = getValue(themeMapping, transform, propValueFinal);\n      if (propValueFinal === value && typeof propValueFinal === 'string') {\n        // Haven't found value\n        value = getValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n      }\n      if (cssProperty === false) {\n        return value;\n      }\n      return {\n        [cssProperty]: value\n      };\n    };\n    return handleBreakpoints(props, val, styleFromPropValue);\n  }\n  function styleFunctionSx(props) {\n    const {\n      sx,\n      theme = {},\n      nested\n    } = props || {};\n    if (!sx) {\n      return null; // Emotion & styled-components will neglect null\n    }\n    const config = theme.unstable_sxConfig ?? defaultSxConfig;\n\n    /*\n     * Receive `sxInput` as object or callback\n     * and then recursively check keys & values to create media query object styles.\n     * (the result will be used in `styled`)\n     */\n    function traverse(sxInput) {\n      let sxObject = sxInput;\n      if (typeof sxInput === 'function') {\n        sxObject = sxInput(theme);\n      } else if (typeof sxInput !== 'object') {\n        // value\n        return sxInput;\n      }\n      if (!sxObject) {\n        return null;\n      }\n      const emptyBreakpoints = createEmptyBreakpointObject(theme.breakpoints);\n      const breakpointsKeys = Object.keys(emptyBreakpoints);\n      let css = emptyBreakpoints;\n      Object.keys(sxObject).forEach(styleKey => {\n        const value = callIfFn(sxObject[styleKey], theme);\n        if (value !== null && value !== undefined) {\n          if (typeof value === 'object') {\n            if (config[styleKey]) {\n              css = merge(css, getThemeValue(styleKey, value, theme, config));\n            } else {\n              const breakpointsValues = handleBreakpoints({\n                theme\n              }, value, x => ({\n                [styleKey]: x\n              }));\n              if (objectsHaveSameKeys(breakpointsValues, value)) {\n                css[styleKey] = styleFunctionSx({\n                  sx: value,\n                  theme,\n                  nested: true\n                });\n              } else {\n                css = merge(css, breakpointsValues);\n              }\n            }\n          } else {\n            css = merge(css, getThemeValue(styleKey, value, theme, config));\n          }\n        }\n      });\n      if (!nested && theme.modularCssLayers) {\n        return {\n          '@layer sx': sortContainerQueries(theme, removeUnusedBreakpoints(breakpointsKeys, css))\n        };\n      }\n      return sortContainerQueries(theme, removeUnusedBreakpoints(breakpointsKeys, css));\n    }\n    return Array.isArray(sx) ? sx.map(traverse) : traverse(sx);\n  }\n  return styleFunctionSx;\n}\nconst styleFunctionSx = unstable_createStyleFunctionSx();\nstyleFunctionSx.filterProps = ['sx'];\nexport default styleFunctionSx;"],"names":["getValue"],"mappings":"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","x_google_ignoreList":[0]}