{"version":3,"file":"prepareCssVars.mjs","sources":["../../../../../../../../../node_modules/@mui/system/esm/cssVars/prepareCssVars.js"],"sourcesContent":["import deepmerge from '@mui/utils/deepmerge';\nimport cssVarsParser from \"./cssVarsParser.js\";\nfunction prepareCssVars(theme, parserConfig = {}) {\n  const {\n    getSelector = defaultGetSelector,\n    disableCssColorScheme,\n    colorSchemeSelector: selector\n  } = parserConfig;\n  // @ts-ignore - ignore components do not exist\n  const {\n    colorSchemes = {},\n    components,\n    defaultColorScheme = 'light',\n    ...otherTheme\n  } = theme;\n  const {\n    vars: rootVars,\n    css: rootCss,\n    varsWithDefaults: rootVarsWithDefaults\n  } = cssVarsParser(otherTheme, parserConfig);\n  let themeVars = rootVarsWithDefaults;\n  const colorSchemesMap = {};\n  const {\n    [defaultColorScheme]: defaultScheme,\n    ...otherColorSchemes\n  } = colorSchemes;\n  Object.entries(otherColorSchemes || {}).forEach(([key, scheme]) => {\n    const {\n      vars,\n      css,\n      varsWithDefaults\n    } = cssVarsParser(scheme, parserConfig);\n    themeVars = deepmerge(themeVars, varsWithDefaults);\n    colorSchemesMap[key] = {\n      css,\n      vars\n    };\n  });\n  if (defaultScheme) {\n    // default color scheme vars should be merged last to set as default\n    const {\n      css,\n      vars,\n      varsWithDefaults\n    } = cssVarsParser(defaultScheme, parserConfig);\n    themeVars = deepmerge(themeVars, varsWithDefaults);\n    colorSchemesMap[defaultColorScheme] = {\n      css,\n      vars\n    };\n  }\n  function defaultGetSelector(colorScheme, cssObject) {\n    let rule = selector;\n    if (selector === 'class') {\n      rule = '.%s';\n    }\n    if (selector === 'data') {\n      rule = '[data-%s]';\n    }\n    if (selector?.startsWith('data-') && !selector.includes('%s')) {\n      // 'data-joy-color-scheme' -> '[data-joy-color-scheme=\"%s\"]'\n      rule = `[${selector}=\"%s\"]`;\n    }\n    if (colorScheme) {\n      if (rule === 'media') {\n        if (theme.defaultColorScheme === colorScheme) {\n          return ':root';\n        }\n        const mode = colorSchemes[colorScheme]?.palette?.mode || colorScheme;\n        return {\n          [`@media (prefers-color-scheme: ${mode})`]: {\n            ':root': cssObject\n          }\n        };\n      }\n      if (rule) {\n        if (theme.defaultColorScheme === colorScheme) {\n          return `:root, ${rule.replace('%s', String(colorScheme))}`;\n        }\n        return rule.replace('%s', String(colorScheme));\n      }\n    }\n    return ':root';\n  }\n  const generateThemeVars = () => {\n    let vars = {\n      ...rootVars\n    };\n    Object.entries(colorSchemesMap).forEach(([, {\n      vars: schemeVars\n    }]) => {\n      vars = deepmerge(vars, schemeVars);\n    });\n    return vars;\n  };\n  const generateStyleSheets = () => {\n    const stylesheets = [];\n    const colorScheme = theme.defaultColorScheme || 'light';\n    function insertStyleSheet(key, css) {\n      if (Object.keys(css).length) {\n        stylesheets.push(typeof key === 'string' ? {\n          [key]: {\n            ...css\n          }\n        } : key);\n      }\n    }\n    insertStyleSheet(getSelector(undefined, {\n      ...rootCss\n    }), rootCss);\n    const {\n      [colorScheme]: defaultSchemeVal,\n      ...other\n    } = colorSchemesMap;\n    if (defaultSchemeVal) {\n      // default color scheme has to come before other color schemes\n      const {\n        css\n      } = defaultSchemeVal;\n      const cssColorSheme = colorSchemes[colorScheme]?.palette?.mode;\n      const finalCss = !disableCssColorScheme && cssColorSheme ? {\n        colorScheme: cssColorSheme,\n        ...css\n      } : {\n        ...css\n      };\n      insertStyleSheet(getSelector(colorScheme, {\n        ...finalCss\n      }), finalCss);\n    }\n    Object.entries(other).forEach(([key, {\n      css\n    }]) => {\n      const cssColorSheme = colorSchemes[key]?.palette?.mode;\n      const finalCss = !disableCssColorScheme && cssColorSheme ? {\n        colorScheme: cssColorSheme,\n        ...css\n      } : {\n        ...css\n      };\n      insertStyleSheet(getSelector(key, {\n        ...finalCss\n      }), finalCss);\n    });\n    return stylesheets;\n  };\n  return {\n    vars: themeVars,\n    generateThemeVars,\n    generateStyleSheets\n  };\n}\nexport default prepareCssVars;"],"names":[],"mappings":"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","x_google_ignoreList":[0]}