{"version":3,"file":"stringifyTheme.mjs","sources":["../../../../../../../../node_modules/@mui/material/styles/stringifyTheme.js"],"sourcesContent":["/* eslint-disable import/prefer-default-export */\nimport { isPlainObject } from '@mui/utils/deepmerge';\nfunction isSerializable(val) {\n  return isPlainObject(val) || typeof val === 'undefined' || typeof val === 'string' || typeof val === 'boolean' || typeof val === 'number' || Array.isArray(val);\n}\n\n/**\n * `baseTheme` usually comes from `createTheme()` or `extendTheme()`.\n *\n * This function is intended to be used with zero-runtime CSS-in-JS like Pigment CSS\n * For example, in a Next.js project:\n *\n * ```js\n * // next.config.js\n * const { extendTheme } = require('@mui/material/styles');\n *\n * const theme = extendTheme();\n * // `.toRuntimeSource` is Pigment CSS specific to create a theme that is available at runtime.\n * theme.toRuntimeSource = stringifyTheme;\n *\n * module.exports = withPigment({\n *  theme,\n * });\n * ```\n */\nexport function stringifyTheme(baseTheme = {}) {\n  const serializableTheme = {\n    ...baseTheme\n  };\n  function serializeTheme(object) {\n    const array = Object.entries(object);\n    // eslint-disable-next-line no-plusplus\n    for (let index = 0; index < array.length; index++) {\n      const [key, value] = array[index];\n      if (!isSerializable(value) || key.startsWith('unstable_')) {\n        delete object[key];\n      } else if (isPlainObject(value)) {\n        object[key] = {\n          ...value\n        };\n        serializeTheme(object[key]);\n      }\n    }\n  }\n  serializeTheme(serializableTheme);\n  return `import { unstable_createBreakpoints as createBreakpoints, createTransitions } from '@mui/material/styles';\n\nconst theme = ${JSON.stringify(serializableTheme, null, 2)};\n\ntheme.breakpoints = createBreakpoints(theme.breakpoints || {});\ntheme.transitions = createTransitions(theme.transitions || {});\n\nexport default theme;`;\n}"],"names":[],"mappings":";;AAAA;AAEA,SAAS,cAAc,CAAC,GAAG,EAAE;AAC7B,EAAE,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AACjK;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,cAAc,CAAC,SAAS,GAAG,EAAE,EAAE;AAC/C,EAAE,MAAM,iBAAiB,GAAG;AAC5B,IAAI,GAAG;AACP,GAAG;AACH,EAAE,SAAS,cAAc,CAAC,MAAM,EAAE;AAClC,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;AACxC;AACA,IAAI,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACvD,MAAM,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;AACvC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;AACjE,QAAQ,OAAO,MAAM,CAAC,GAAG,CAAC;AAC1B,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE;AACvC,QAAQ,MAAM,CAAC,GAAG,CAAC,GAAG;AACtB,UAAU,GAAG;AACb,SAAS;AACT,QAAQ,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACnC,MAAM;AACN,IAAI;AACJ,EAAE;AACF,EAAE,cAAc,CAAC,iBAAiB,CAAC;AACnC,EAAE,OAAO,CAAC;;AAEV,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;;AAE3D;AACA;;AAEA,qBAAqB,CAAC;AACtB;;;;","x_google_ignoreList":[0]}