{"version":3,"file":"mui_system-CI0AcX_Y.js","sources":["../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/createTheme/shape.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/merge/merge.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/breakpoints/breakpoints.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/style/style.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/memoize/memoize.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/spacing/spacing.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/createTheme/createSpacing.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/compose/compose.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/borders/borders.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/cssGrid/cssGrid.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/palette/palette.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/sizing/sizing.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/createTheme/applyStyles.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/createTheme/createTheme.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/useTheme/useTheme.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/preprocessStyles.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/createStyled/createStyled.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/styled/styled.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/useThemeProps/getThemeProps.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/useThemeProps/useThemeProps.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/useMediaQuery/useMediaQuery.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/colorManipulator/colorManipulator.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/RtlProvider/index.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/memoTheme.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/InitColorSchemeScript/InitColorSchemeScript.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/cssVars/useCurrentColorScheme.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/cssVars/createCssVarsProvider.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/cssVars/createGetCssVar.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/cssVars/cssVarsParser.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/cssVars/prepareCssVars.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/cssVars/getColorSchemeSelector.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/Stack/createStack.js","../../node_modules/.pnpm/@mui+system@6.4.0_@emotion+react@11.14.0_@types+react@18.3.12_react@18.3.1__@emotion+styled@1_i23d7vyoydvjqbv4cwm5tpg26a/node_modules/@mui/system/esm/cssVars/prepareTypographyVars.js"],"sourcesContent":["// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nexport const breakpointKeys = ['xs', 'sm', 'md', 'lg', 'xl'];\nconst sortBreakpointsValues = values => {\n const breakpointsAsArray = Object.keys(values).map(key => ({\n key,\n val: values[key]\n })) || [];\n // Sort in ascending order\n breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);\n return breakpointsAsArray.reduce((acc, obj) => {\n return {\n ...acc,\n [obj.key]: obj.val\n };\n }, {});\n};\n\n// Keep in mind that @media is inclusive by the CSS specification.\nexport default function createBreakpoints(breakpoints) {\n const {\n // The breakpoint **start** at this value.\n // For instance with the first breakpoint xs: [xs, sm).\n values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n },\n unit = 'px',\n step = 5,\n ...other\n } = breakpoints;\n const sortedValues = sortBreakpointsValues(values);\n const keys = Object.keys(sortedValues);\n function up(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (min-width:${value}${unit})`;\n }\n function down(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (max-width:${value - step / 100}${unit})`;\n }\n function between(start, end) {\n const endIndex = keys.indexOf(end);\n return `@media (min-width:${typeof values[start] === 'number' ? values[start] : start}${unit}) and ` + `(max-width:${(endIndex !== -1 && typeof values[keys[endIndex]] === 'number' ? values[keys[endIndex]] : end) - step / 100}${unit})`;\n }\n function only(key) {\n if (keys.indexOf(key) + 1 < keys.length) {\n return between(key, keys[keys.indexOf(key) + 1]);\n }\n return up(key);\n }\n function not(key) {\n // handle first and last key separately, for better readability\n const keyIndex = keys.indexOf(key);\n if (keyIndex === 0) {\n return up(keys[1]);\n }\n if (keyIndex === keys.length - 1) {\n return down(keys[keyIndex]);\n }\n return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and');\n }\n return {\n keys,\n values: sortedValues,\n up,\n down,\n between,\n only,\n not,\n unit,\n ...other\n };\n}","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/**\n * For using in `sx` prop to sort the breakpoint from low to high.\n * Note: this function does not work and will not support multiple units.\n * e.g. input: { '@container (min-width:300px)': '1rem', '@container (min-width:40rem)': '2rem' }\n * output: { '@container (min-width:40rem)': '2rem', '@container (min-width:300px)': '1rem' } // since 40 < 300 eventhough 40rem > 300px\n */\nexport function sortContainerQueries(theme, css) {\n if (!theme.containerQueries) {\n return css;\n }\n const sorted = Object.keys(css).filter(key => key.startsWith('@container')).sort((a, b) => {\n const regex = /min-width:\\s*([0-9.]+)/;\n return +(a.match(regex)?.[1] || 0) - +(b.match(regex)?.[1] || 0);\n });\n if (!sorted.length) {\n return css;\n }\n return sorted.reduce((acc, key) => {\n const value = css[key];\n delete acc[key];\n acc[key] = value;\n return acc;\n }, {\n ...css\n });\n}\nexport function isCqShorthand(breakpointKeys, value) {\n return value === '@' || value.startsWith('@') && (breakpointKeys.some(key => value.startsWith(`@${key}`)) || !!value.match(/^@\\d/));\n}\nexport function getContainerQuery(theme, shorthand) {\n const matches = shorthand.match(/^@([^/]+)?\\/?(.+)?$/);\n if (!matches) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The provided shorthand ${`(${shorthand})`} is invalid. The format should be \\`@\\` or \\`@/\\`.\\n` + 'For example, `@sm` or `@600` or `@40rem/sidebar`.' : _formatMuiErrorMessage(18, `(${shorthand})`));\n }\n return null;\n }\n const [, containerQuery, containerName] = matches;\n const value = Number.isNaN(+containerQuery) ? containerQuery || 0 : +containerQuery;\n return theme.containerQueries(containerName).up(value);\n}\nexport default function cssContainerQueries(themeInput) {\n const toContainerQuery = (mediaQuery, name) => mediaQuery.replace('@media', name ? `@container ${name}` : '@container');\n function attachCq(node, name) {\n node.up = (...args) => toContainerQuery(themeInput.breakpoints.up(...args), name);\n node.down = (...args) => toContainerQuery(themeInput.breakpoints.down(...args), name);\n node.between = (...args) => toContainerQuery(themeInput.breakpoints.between(...args), name);\n node.only = (...args) => toContainerQuery(themeInput.breakpoints.only(...args), name);\n node.not = (...args) => {\n const result = toContainerQuery(themeInput.breakpoints.not(...args), name);\n if (result.includes('not all and')) {\n // `@container` does not work with `not all and`, so need to invert the logic\n return result.replace('not all and ', '').replace('min-width:', 'width<').replace('max-width:', 'width>').replace('and', 'or');\n }\n return result;\n };\n }\n const node = {};\n const containerQueries = name => {\n attachCq(node, name);\n return node;\n };\n attachCq(containerQueries);\n return {\n ...themeInput,\n containerQueries\n };\n}","const shape = {\n borderRadius: 4\n};\nexport default shape;","import deepmerge from '@mui/utils/deepmerge';\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n return deepmerge(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n });\n}\nexport default merge;","import PropTypes from 'prop-types';\nimport deepmerge from '@mui/utils/deepmerge';\nimport merge from \"../merge/index.js\";\nimport { isCqShorthand, getContainerQuery } from \"../cssContainerQueries/index.js\";\n\n// The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\nexport const values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n};\nconst defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: key => `@media (min-width:${values[key]}px)`\n};\nconst defaultContainerQueries = {\n containerQueries: containerName => ({\n up: key => {\n let result = typeof key === 'number' ? key : values[key] || key;\n if (typeof result === 'number') {\n result = `${result}px`;\n }\n return containerName ? `@container ${containerName} (min-width:${result})` : `@container (min-width:${result})`;\n }\n })\n};\nexport function handleBreakpoints(props, propValue, styleFromPropValue) {\n const theme = props.theme || {};\n if (Array.isArray(propValue)) {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return propValue.reduce((acc, item, index) => {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n if (typeof propValue === 'object') {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return Object.keys(propValue).reduce((acc, breakpoint) => {\n if (isCqShorthand(themeBreakpoints.keys, breakpoint)) {\n const containerKey = getContainerQuery(theme.containerQueries ? theme : defaultContainerQueries, breakpoint);\n if (containerKey) {\n acc[containerKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n }\n }\n // key is breakpoint\n else if (Object.keys(themeBreakpoints.values || values).includes(breakpoint)) {\n const mediaKey = themeBreakpoints.up(breakpoint);\n acc[mediaKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n } else {\n const cssKey = breakpoint;\n acc[cssKey] = propValue[cssKey];\n }\n return acc;\n }, {});\n }\n const output = styleFromPropValue(propValue);\n return output;\n}\nfunction breakpoints(styleFunction) {\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const newStyleFunction = props => {\n const theme = props.theme || {};\n const base = styleFunction(props);\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n const extended = themeBreakpoints.keys.reduce((acc, key) => {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction({\n theme,\n ...props[key]\n });\n }\n return acc;\n }, null);\n return merge(base, extended);\n };\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? {\n ...styleFunction.propTypes,\n xs: PropTypes.object,\n sm: PropTypes.object,\n md: PropTypes.object,\n lg: PropTypes.object,\n xl: PropTypes.object\n } : {};\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl', ...styleFunction.filterProps];\n return newStyleFunction;\n}\nexport function createEmptyBreakpointObject(breakpointsInput = {}) {\n const breakpointsInOrder = breakpointsInput.keys?.reduce((acc, key) => {\n const breakpointStyleKey = breakpointsInput.up(key);\n acc[breakpointStyleKey] = {};\n return acc;\n }, {});\n return breakpointsInOrder || {};\n}\nexport function removeUnusedBreakpoints(breakpointKeys, style) {\n return breakpointKeys.reduce((acc, key) => {\n const breakpointOutput = acc[key];\n const isBreakpointUnused = !breakpointOutput || Object.keys(breakpointOutput).length === 0;\n if (isBreakpointUnused) {\n delete acc[key];\n }\n return acc;\n }, style);\n}\nexport function mergeBreakpointsInOrder(breakpointsInput, ...styles) {\n const emptyBreakpoints = createEmptyBreakpointObject(breakpointsInput);\n const mergedOutput = [emptyBreakpoints, ...styles].reduce((prev, next) => deepmerge(prev, next), {});\n return removeUnusedBreakpoints(Object.keys(emptyBreakpoints), mergedOutput);\n}\n\n// compute base for responsive values; e.g.,\n// [1,2,3] => {xs: true, sm: true, md: true}\n// {xs: 1, sm: 2, md: 3} => {xs: true, sm: true, md: true}\nexport function computeBreakpointsBase(breakpointValues, themeBreakpoints) {\n // fixed value\n if (typeof breakpointValues !== 'object') {\n return {};\n }\n const base = {};\n const breakpointsKeys = Object.keys(themeBreakpoints);\n if (Array.isArray(breakpointValues)) {\n breakpointsKeys.forEach((breakpoint, i) => {\n if (i < breakpointValues.length) {\n base[breakpoint] = true;\n }\n });\n } else {\n breakpointsKeys.forEach(breakpoint => {\n if (breakpointValues[breakpoint] != null) {\n base[breakpoint] = true;\n }\n });\n }\n return base;\n}\nexport function resolveBreakpointValues({\n values: breakpointValues,\n breakpoints: themeBreakpoints,\n base: customBase\n}) {\n const base = customBase || computeBreakpointsBase(breakpointValues, themeBreakpoints);\n const keys = Object.keys(base);\n if (keys.length === 0) {\n return breakpointValues;\n }\n let previous;\n return keys.reduce((acc, breakpoint, i) => {\n if (Array.isArray(breakpointValues)) {\n acc[breakpoint] = breakpointValues[i] != null ? breakpointValues[i] : breakpointValues[previous];\n previous = i;\n } else if (typeof breakpointValues === 'object') {\n acc[breakpoint] = breakpointValues[breakpoint] != null ? breakpointValues[breakpoint] : breakpointValues[previous];\n previous = breakpoint;\n } else {\n acc[breakpoint] = breakpointValues;\n }\n return acc;\n }, {});\n}\nexport default breakpoints;","import capitalize from '@mui/utils/capitalize';\nimport responsivePropType from \"../responsivePropType/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nexport function getPath(obj, path, checkVars = true) {\n if (!path || typeof path !== 'string') {\n return null;\n }\n\n // Check if CSS variables are used\n if (obj && obj.vars && checkVars) {\n const val = `vars.${path}`.split('.').reduce((acc, item) => acc && acc[item] ? acc[item] : null, obj);\n if (val != null) {\n return val;\n }\n }\n return path.split('.').reduce((acc, item) => {\n if (acc && acc[item] != null) {\n return acc[item];\n }\n return null;\n }, obj);\n}\nexport function getStyleValue(themeMapping, transform, propValueFinal, userValue = propValueFinal) {\n let value;\n if (typeof themeMapping === 'function') {\n value = themeMapping(propValueFinal);\n } else if (Array.isArray(themeMapping)) {\n value = themeMapping[propValueFinal] || userValue;\n } else {\n value = getPath(themeMapping, propValueFinal) || userValue;\n }\n if (transform) {\n value = transform(value, userValue, themeMapping);\n }\n return value;\n}\nfunction style(options) {\n const {\n prop,\n cssProperty = options.prop,\n themeKey,\n transform\n } = options;\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n if (props[prop] == null) {\n return null;\n }\n const propValue = props[prop];\n const theme = props.theme;\n const themeMapping = getPath(theme, themeKey) || {};\n const styleFromPropValue = propValueFinal => {\n let value = getStyleValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getStyleValue(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, propValue, styleFromPropValue);\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? {\n [prop]: responsivePropType\n } : {};\n fn.filterProps = [prop];\n return fn;\n}\nexport default style;","export default function memoize(fn) {\n const cache = {};\n return arg => {\n if (cache[arg] === undefined) {\n cache[arg] = fn(arg);\n }\n return cache[arg];\n };\n}","import responsivePropType from \"../responsivePropType/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nimport { getPath } from \"../style/index.js\";\nimport merge from \"../merge/index.js\";\nimport memoize from \"../memoize/index.js\";\nconst properties = {\n m: 'margin',\n p: 'padding'\n};\nconst directions = {\n t: 'Top',\n r: 'Right',\n b: 'Bottom',\n l: 'Left',\n x: ['Left', 'Right'],\n y: ['Top', 'Bottom']\n};\nconst aliases = {\n marginX: 'mx',\n marginY: 'my',\n paddingX: 'px',\n paddingY: 'py'\n};\n\n// memoize() impact:\n// From 300,000 ops/sec\n// To 350,000 ops/sec\nconst getCssProperties = memoize(prop => {\n // It's not a shorthand notation.\n if (prop.length > 2) {\n if (aliases[prop]) {\n prop = aliases[prop];\n } else {\n return [prop];\n }\n }\n const [a, b] = prop.split('');\n const property = properties[a];\n const direction = directions[b] || '';\n return Array.isArray(direction) ? direction.map(dir => property + dir) : [property + direction];\n});\nexport const marginKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'marginInline', 'marginInlineStart', 'marginInlineEnd', 'marginBlock', 'marginBlockStart', 'marginBlockEnd'];\nexport const paddingKeys = ['p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd'];\nconst spacingKeys = [...marginKeys, ...paddingKeys];\nexport function createUnaryUnit(theme, themeKey, defaultValue, propName) {\n const themeSpacing = getPath(theme, themeKey, true) ?? defaultValue;\n if (typeof themeSpacing === 'number' || typeof themeSpacing === 'string') {\n return val => {\n if (typeof val === 'string') {\n return val;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (typeof val !== 'number') {\n console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${val}.`);\n }\n }\n if (typeof themeSpacing === 'string') {\n return `calc(${val} * ${themeSpacing})`;\n }\n return themeSpacing * val;\n };\n }\n if (Array.isArray(themeSpacing)) {\n return val => {\n if (typeof val === 'string') {\n return val;\n }\n const abs = Math.abs(val);\n if (process.env.NODE_ENV !== 'production') {\n if (!Number.isInteger(abs)) {\n console.error([`MUI: The \\`theme.${themeKey}\\` array type cannot be combined with non integer values.` + `You should either use an integer value that can be used as index, or define the \\`theme.${themeKey}\\` as a number.`].join('\\n'));\n } else if (abs > themeSpacing.length - 1) {\n console.error([`MUI: The value provided (${abs}) overflows.`, `The supported values are: ${JSON.stringify(themeSpacing)}.`, `${abs} > ${themeSpacing.length - 1}, you need to add the missing values.`].join('\\n'));\n }\n }\n const transformed = themeSpacing[abs];\n if (val >= 0) {\n return transformed;\n }\n if (typeof transformed === 'number') {\n return -transformed;\n }\n return `-${transformed}`;\n };\n }\n if (typeof themeSpacing === 'function') {\n return themeSpacing;\n }\n if (process.env.NODE_ENV !== 'production') {\n console.error([`MUI: The \\`theme.${themeKey}\\` value (${themeSpacing}) is invalid.`, 'It should be a number, an array or a function.'].join('\\n'));\n }\n return () => undefined;\n}\nexport function createUnarySpacing(theme) {\n return createUnaryUnit(theme, 'spacing', 8, 'spacing');\n}\nexport function getValue(transformer, propValue) {\n if (typeof propValue === 'string' || propValue == null) {\n return propValue;\n }\n return transformer(propValue);\n}\nexport function getStyleFromPropValue(cssProperties, transformer) {\n return propValue => cssProperties.reduce((acc, cssProperty) => {\n acc[cssProperty] = getValue(transformer, propValue);\n return acc;\n }, {});\n}\nfunction resolveCssProperty(props, keys, prop, transformer) {\n // Using a hash computation over an array iteration could be faster, but with only 28 items,\n // it's doesn't worth the bundle size.\n if (!keys.includes(prop)) {\n return null;\n }\n const cssProperties = getCssProperties(prop);\n const styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);\n const propValue = props[prop];\n return handleBreakpoints(props, propValue, styleFromPropValue);\n}\nfunction style(props, keys) {\n const transformer = createUnarySpacing(props.theme);\n return Object.keys(props).map(prop => resolveCssProperty(props, keys, prop, transformer)).reduce(merge, {});\n}\nexport function margin(props) {\n return style(props, marginKeys);\n}\nmargin.propTypes = process.env.NODE_ENV !== 'production' ? marginKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nmargin.filterProps = marginKeys;\nexport function padding(props) {\n return style(props, paddingKeys);\n}\npadding.propTypes = process.env.NODE_ENV !== 'production' ? paddingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\npadding.filterProps = paddingKeys;\nfunction spacing(props) {\n return style(props, spacingKeys);\n}\nspacing.propTypes = process.env.NODE_ENV !== 'production' ? spacingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nspacing.filterProps = spacingKeys;\nexport default spacing;","import { createUnarySpacing } from \"../spacing/index.js\";\n\n// The different signatures imply different meaning for their arguments that can't be expressed structurally.\n// We express the difference with variable names.\n\nexport default function createSpacing(spacingInput = 8,\n// Material Design layouts are visually balanced. Most measurements align to an 8dp grid, which aligns both spacing and the overall layout.\n// Smaller components, such as icons, can align to a 4dp grid.\n// https://m2.material.io/design/layout/understanding-layout.html\ntransform = createUnarySpacing({\n spacing: spacingInput\n})) {\n // Already transformed.\n if (spacingInput.mui) {\n return spacingInput;\n }\n const spacing = (...argsInput) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!(argsInput.length <= 4)) {\n console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${argsInput.length}`);\n }\n }\n const args = argsInput.length === 0 ? [1] : argsInput;\n return args.map(argument => {\n const output = transform(argument);\n return typeof output === 'number' ? `${output}px` : output;\n }).join(' ');\n };\n spacing.mui = true;\n return spacing;\n}","import merge from \"../merge/index.js\";\nfunction compose(...styles) {\n const handlers = styles.reduce((acc, style) => {\n style.filterProps.forEach(prop => {\n acc[prop] = style;\n });\n return acc;\n }, {});\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n return Object.keys(props).reduce((acc, prop) => {\n if (handlers[prop]) {\n return merge(acc, handlers[prop](props));\n }\n return acc;\n }, {});\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? styles.reduce((acc, style) => Object.assign(acc, style.propTypes), {}) : {};\n fn.filterProps = styles.reduce((acc, style) => acc.concat(style.filterProps), []);\n return fn;\n}\nexport default compose;","import responsivePropType from \"../responsivePropType/index.js\";\nimport style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nimport { createUnaryUnit, getValue } from \"../spacing/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nexport function borderTransform(value) {\n if (typeof value !== 'number') {\n return value;\n }\n return `${value}px solid`;\n}\nfunction createBorderStyle(prop, transform) {\n return style({\n prop,\n themeKey: 'borders',\n transform\n });\n}\nexport const border = createBorderStyle('border', borderTransform);\nexport const borderTop = createBorderStyle('borderTop', borderTransform);\nexport const borderRight = createBorderStyle('borderRight', borderTransform);\nexport const borderBottom = createBorderStyle('borderBottom', borderTransform);\nexport const borderLeft = createBorderStyle('borderLeft', borderTransform);\nexport const borderColor = createBorderStyle('borderColor');\nexport const borderTopColor = createBorderStyle('borderTopColor');\nexport const borderRightColor = createBorderStyle('borderRightColor');\nexport const borderBottomColor = createBorderStyle('borderBottomColor');\nexport const borderLeftColor = createBorderStyle('borderLeftColor');\nexport const outline = createBorderStyle('outline', borderTransform);\nexport const outlineColor = createBorderStyle('outlineColor');\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const borderRadius = props => {\n if (props.borderRadius !== undefined && props.borderRadius !== null) {\n const transformer = createUnaryUnit(props.theme, 'shape.borderRadius', 4, 'borderRadius');\n const styleFromPropValue = propValue => ({\n borderRadius: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.borderRadius, styleFromPropValue);\n }\n return null;\n};\nborderRadius.propTypes = process.env.NODE_ENV !== 'production' ? {\n borderRadius: responsivePropType\n} : {};\nborderRadius.filterProps = ['borderRadius'];\nconst borders = compose(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderRadius, outline, outlineColor);\nexport default borders;","import style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nimport { createUnaryUnit, getValue } from \"../spacing/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nimport responsivePropType from \"../responsivePropType/index.js\";\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const gap = props => {\n if (props.gap !== undefined && props.gap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'gap');\n const styleFromPropValue = propValue => ({\n gap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.gap, styleFromPropValue);\n }\n return null;\n};\ngap.propTypes = process.env.NODE_ENV !== 'production' ? {\n gap: responsivePropType\n} : {};\ngap.filterProps = ['gap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const columnGap = props => {\n if (props.columnGap !== undefined && props.columnGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'columnGap');\n const styleFromPropValue = propValue => ({\n columnGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.columnGap, styleFromPropValue);\n }\n return null;\n};\ncolumnGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n columnGap: responsivePropType\n} : {};\ncolumnGap.filterProps = ['columnGap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const rowGap = props => {\n if (props.rowGap !== undefined && props.rowGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'rowGap');\n const styleFromPropValue = propValue => ({\n rowGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.rowGap, styleFromPropValue);\n }\n return null;\n};\nrowGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n rowGap: responsivePropType\n} : {};\nrowGap.filterProps = ['rowGap'];\nexport const gridColumn = style({\n prop: 'gridColumn'\n});\nexport const gridRow = style({\n prop: 'gridRow'\n});\nexport const gridAutoFlow = style({\n prop: 'gridAutoFlow'\n});\nexport const gridAutoColumns = style({\n prop: 'gridAutoColumns'\n});\nexport const gridAutoRows = style({\n prop: 'gridAutoRows'\n});\nexport const gridTemplateColumns = style({\n prop: 'gridTemplateColumns'\n});\nexport const gridTemplateRows = style({\n prop: 'gridTemplateRows'\n});\nexport const gridTemplateAreas = style({\n prop: 'gridTemplateAreas'\n});\nexport const gridArea = style({\n prop: 'gridArea'\n});\nconst grid = compose(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);\nexport default grid;","import style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nexport function paletteTransform(value, userValue) {\n if (userValue === 'grey') {\n return userValue;\n }\n return value;\n}\nexport const color = style({\n prop: 'color',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const bgcolor = style({\n prop: 'bgcolor',\n cssProperty: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const backgroundColor = style({\n prop: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nconst palette = compose(color, bgcolor, backgroundColor);\nexport default palette;","import style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nimport { handleBreakpoints, values as breakpointsValues } from \"../breakpoints/index.js\";\nexport function sizingTransform(value) {\n return value <= 1 && value !== 0 ? `${value * 100}%` : value;\n}\nexport const width = style({\n prop: 'width',\n transform: sizingTransform\n});\nexport const maxWidth = props => {\n if (props.maxWidth !== undefined && props.maxWidth !== null) {\n const styleFromPropValue = propValue => {\n const breakpoint = props.theme?.breakpoints?.values?.[propValue] || breakpointsValues[propValue];\n if (!breakpoint) {\n return {\n maxWidth: sizingTransform(propValue)\n };\n }\n if (props.theme?.breakpoints?.unit !== 'px') {\n return {\n maxWidth: `${breakpoint}${props.theme.breakpoints.unit}`\n };\n }\n return {\n maxWidth: breakpoint\n };\n };\n return handleBreakpoints(props, props.maxWidth, styleFromPropValue);\n }\n return null;\n};\nmaxWidth.filterProps = ['maxWidth'];\nexport const minWidth = style({\n prop: 'minWidth',\n transform: sizingTransform\n});\nexport const height = style({\n prop: 'height',\n transform: sizingTransform\n});\nexport const maxHeight = style({\n prop: 'maxHeight',\n transform: sizingTransform\n});\nexport const minHeight = style({\n prop: 'minHeight',\n transform: sizingTransform\n});\nexport const sizeWidth = style({\n prop: 'size',\n cssProperty: 'width',\n transform: sizingTransform\n});\nexport const sizeHeight = style({\n prop: 'size',\n cssProperty: 'height',\n transform: sizingTransform\n});\nexport const boxSizing = style({\n prop: 'boxSizing'\n});\nconst sizing = compose(width, maxWidth, minWidth, height, maxHeight, minHeight, boxSizing);\nexport default sizing;","import { padding, margin } from \"../spacing/index.js\";\nimport { borderRadius, borderTransform } from \"../borders/index.js\";\nimport { gap, rowGap, columnGap } from \"../cssGrid/index.js\";\nimport { paletteTransform } from \"../palette/index.js\";\nimport { maxWidth, sizingTransform } from \"../sizing/index.js\";\nconst defaultSxConfig = {\n // borders\n border: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderTop: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderRight: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderBottom: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderLeft: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderColor: {\n themeKey: 'palette'\n },\n borderTopColor: {\n themeKey: 'palette'\n },\n borderRightColor: {\n themeKey: 'palette'\n },\n borderBottomColor: {\n themeKey: 'palette'\n },\n borderLeftColor: {\n themeKey: 'palette'\n },\n outline: {\n themeKey: 'borders',\n transform: borderTransform\n },\n outlineColor: {\n themeKey: 'palette'\n },\n borderRadius: {\n themeKey: 'shape.borderRadius',\n style: borderRadius\n },\n // palette\n color: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n bgcolor: {\n themeKey: 'palette',\n cssProperty: 'backgroundColor',\n transform: paletteTransform\n },\n backgroundColor: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n // spacing\n p: {\n style: padding\n },\n pt: {\n style: padding\n },\n pr: {\n style: padding\n },\n pb: {\n style: padding\n },\n pl: {\n style: padding\n },\n px: {\n style: padding\n },\n py: {\n style: padding\n },\n padding: {\n style: padding\n },\n paddingTop: {\n style: padding\n },\n paddingRight: {\n style: padding\n },\n paddingBottom: {\n style: padding\n },\n paddingLeft: {\n style: padding\n },\n paddingX: {\n style: padding\n },\n paddingY: {\n style: padding\n },\n paddingInline: {\n style: padding\n },\n paddingInlineStart: {\n style: padding\n },\n paddingInlineEnd: {\n style: padding\n },\n paddingBlock: {\n style: padding\n },\n paddingBlockStart: {\n style: padding\n },\n paddingBlockEnd: {\n style: padding\n },\n m: {\n style: margin\n },\n mt: {\n style: margin\n },\n mr: {\n style: margin\n },\n mb: {\n style: margin\n },\n ml: {\n style: margin\n },\n mx: {\n style: margin\n },\n my: {\n style: margin\n },\n margin: {\n style: margin\n },\n marginTop: {\n style: margin\n },\n marginRight: {\n style: margin\n },\n marginBottom: {\n style: margin\n },\n marginLeft: {\n style: margin\n },\n marginX: {\n style: margin\n },\n marginY: {\n style: margin\n },\n marginInline: {\n style: margin\n },\n marginInlineStart: {\n style: margin\n },\n marginInlineEnd: {\n style: margin\n },\n marginBlock: {\n style: margin\n },\n marginBlockStart: {\n style: margin\n },\n marginBlockEnd: {\n style: margin\n },\n // display\n displayPrint: {\n cssProperty: false,\n transform: value => ({\n '@media print': {\n display: value\n }\n })\n },\n display: {},\n overflow: {},\n textOverflow: {},\n visibility: {},\n whiteSpace: {},\n // flexbox\n flexBasis: {},\n flexDirection: {},\n flexWrap: {},\n justifyContent: {},\n alignItems: {},\n alignContent: {},\n order: {},\n flex: {},\n flexGrow: {},\n flexShrink: {},\n alignSelf: {},\n justifyItems: {},\n justifySelf: {},\n // grid\n gap: {\n style: gap\n },\n rowGap: {\n style: rowGap\n },\n columnGap: {\n style: columnGap\n },\n gridColumn: {},\n gridRow: {},\n gridAutoFlow: {},\n gridAutoColumns: {},\n gridAutoRows: {},\n gridTemplateColumns: {},\n gridTemplateRows: {},\n gridTemplateAreas: {},\n gridArea: {},\n // positions\n position: {},\n zIndex: {\n themeKey: 'zIndex'\n },\n top: {},\n right: {},\n bottom: {},\n left: {},\n // shadows\n boxShadow: {\n themeKey: 'shadows'\n },\n // sizing\n width: {\n transform: sizingTransform\n },\n maxWidth: {\n style: maxWidth\n },\n minWidth: {\n transform: sizingTransform\n },\n height: {\n transform: sizingTransform\n },\n maxHeight: {\n transform: sizingTransform\n },\n minHeight: {\n transform: sizingTransform\n },\n boxSizing: {},\n // typography\n font: {\n themeKey: 'font'\n },\n fontFamily: {\n themeKey: 'typography'\n },\n fontSize: {\n themeKey: 'typography'\n },\n fontStyle: {\n themeKey: 'typography'\n },\n fontWeight: {\n themeKey: 'typography'\n },\n letterSpacing: {},\n textTransform: {},\n lineHeight: {},\n textAlign: {},\n typography: {\n cssProperty: false,\n themeKey: 'typography'\n }\n};\nexport default defaultSxConfig;","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 } = 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 });\n } else {\n css = merge(css, breakpointsValues);\n }\n }\n } else {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n }\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;","/**\n * A universal utility to style components with multiple color modes. Always use it from the theme object.\n * It works with:\n * - [Basic theme](https://mui.com/material-ui/customization/dark-mode/)\n * - [CSS theme variables](https://mui.com/material-ui/customization/css-theme-variables/overview/)\n * - Zero-runtime engine\n *\n * Tips: Use an array over object spread and place `theme.applyStyles()` last.\n *\n * With the styled function:\n * ✅ [{ background: '#e5e5e5' }, theme.applyStyles('dark', { background: '#1c1c1c' })]\n * 🚫 { background: '#e5e5e5', ...theme.applyStyles('dark', { background: '#1c1c1c' })}\n *\n * With the sx prop:\n * ✅ [{ background: '#e5e5e5' }, theme => theme.applyStyles('dark', { background: '#1c1c1c' })]\n * 🚫 { background: '#e5e5e5', ...theme => theme.applyStyles('dark', { background: '#1c1c1c' })}\n *\n * @example\n * 1. using with `styled`:\n * ```jsx\n * const Component = styled('div')(({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]);\n * ```\n *\n * @example\n * 2. using with `sx` prop:\n * ```jsx\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]}\n * />\n * ```\n *\n * @example\n * 3. theming a component:\n * ```jsx\n * extendTheme({\n * components: {\n * MuiButton: {\n * styleOverrides: {\n * root: ({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ],\n * },\n * }\n * }\n * })\n *```\n */\nexport default function applyStyles(key, styles) {\n // @ts-expect-error this is 'any' type\n const theme = this;\n if (theme.vars) {\n if (!theme.colorSchemes?.[key] || typeof theme.getColorSchemeSelector !== 'function') {\n return {};\n }\n // If CssVarsProvider is used as a provider, returns '*:where({selector}) &'\n let selector = theme.getColorSchemeSelector(key);\n if (selector === '&') {\n return styles;\n }\n if (selector.includes('data-') || selector.includes('.')) {\n // '*' is required as a workaround for Emotion issue (https://github.com/emotion-js/emotion/issues/2836)\n selector = `*:where(${selector.replace(/\\s*&$/, '')}) &`;\n }\n return {\n [selector]: styles\n };\n }\n if (theme.palette.mode === key) {\n return styles;\n }\n return {};\n}","import deepmerge from '@mui/utils/deepmerge';\nimport createBreakpoints from \"../createBreakpoints/createBreakpoints.js\";\nimport cssContainerQueries from \"../cssContainerQueries/index.js\";\nimport shape from \"./shape.js\";\nimport createSpacing from \"./createSpacing.js\";\nimport styleFunctionSx from \"../styleFunctionSx/styleFunctionSx.js\";\nimport defaultSxConfig from \"../styleFunctionSx/defaultSxConfig.js\";\nimport applyStyles from \"./applyStyles.js\";\nfunction createTheme(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput = {},\n palette: paletteInput = {},\n spacing: spacingInput,\n shape: shapeInput = {},\n ...other\n } = options;\n const breakpoints = createBreakpoints(breakpointsInput);\n const spacing = createSpacing(spacingInput);\n let muiTheme = deepmerge({\n breakpoints,\n direction: 'ltr',\n components: {},\n // Inject component definitions.\n palette: {\n mode: 'light',\n ...paletteInput\n },\n spacing,\n shape: {\n ...shape,\n ...shapeInput\n }\n }, other);\n muiTheme = cssContainerQueries(muiTheme);\n muiTheme.applyStyles = applyStyles;\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n muiTheme.unstable_sxConfig = {\n ...defaultSxConfig,\n ...other?.unstable_sxConfig\n };\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nexport default createTheme;","'use client';\n\nimport * as React from 'react';\nimport { ThemeContext } from '@mui/styled-engine';\nfunction isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction useTheme(defaultTheme = null) {\n const contextTheme = React.useContext(ThemeContext);\n return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme;\n}\nexport default useTheme;","'use client';\n\nimport createTheme from \"../createTheme/index.js\";\nimport useThemeWithoutDefault from \"../useThemeWithoutDefault/index.js\";\nexport const systemDefaultTheme = createTheme();\nfunction useTheme(defaultTheme = systemDefaultTheme) {\n return useThemeWithoutDefault(defaultTheme);\n}\nexport default useTheme;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GlobalStyles as MuiGlobalStyles } from '@mui/styled-engine';\nimport useTheme from \"../useTheme/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction GlobalStyles({\n styles,\n themeId,\n defaultTheme = {}\n}) {\n const upperTheme = useTheme(defaultTheme);\n const globalStyles = typeof styles === 'function' ? styles(themeId ? upperTheme[themeId] || upperTheme : upperTheme) : styles;\n return /*#__PURE__*/_jsx(MuiGlobalStyles, {\n styles: globalStyles\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n defaultTheme: PropTypes.object,\n /**\n * @ignore\n */\n styles: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.array, PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.string, PropTypes.bool]),\n /**\n * @ignore\n */\n themeId: PropTypes.string\n} : void 0;\nexport default GlobalStyles;","import { isPlainObject } from '@mui/utils/deepmerge';\nimport defaultSxConfig from \"./defaultSxConfig.js\";\nconst splitProps = props => {\n const result = {\n systemProps: {},\n otherProps: {}\n };\n const config = props?.theme?.unstable_sxConfig ?? defaultSxConfig;\n Object.keys(props).forEach(prop => {\n if (config[prop]) {\n result.systemProps[prop] = props[prop];\n } else {\n result.otherProps[prop] = props[prop];\n }\n });\n return result;\n};\nexport default function extendSxProp(props) {\n const {\n sx: inSx,\n ...other\n } = props;\n const {\n systemProps,\n otherProps\n } = splitProps(other);\n let finalSx;\n if (Array.isArray(inSx)) {\n finalSx = [systemProps, ...inSx];\n } else if (typeof inSx === 'function') {\n finalSx = (...args) => {\n const result = inSx(...args);\n if (!isPlainObject(result)) {\n return systemProps;\n }\n return {\n ...systemProps,\n ...result\n };\n };\n } else {\n finalSx = {\n ...systemProps,\n ...inSx\n };\n }\n return {\n ...otherProps,\n sx: finalSx\n };\n}","import { internal_serializeStyles } from '@mui/styled-engine';\nexport default function preprocessStyles(input) {\n const {\n variants,\n ...style\n } = input;\n const result = {\n variants,\n style: internal_serializeStyles(style),\n isProcessed: true\n };\n\n // Not supported on styled-components\n if (result.style === style) {\n return result;\n }\n if (variants) {\n variants.forEach(variant => {\n if (typeof variant.style !== 'function') {\n variant.style = internal_serializeStyles(variant.style);\n }\n });\n }\n return result;\n}","import styledEngineStyled, { internal_mutateStyles as mutateStyles } from '@mui/styled-engine';\nimport { isPlainObject } from '@mui/utils/deepmerge';\nimport capitalize from '@mui/utils/capitalize';\nimport getDisplayName from '@mui/utils/getDisplayName';\nimport createTheme from \"../createTheme/index.js\";\nimport styleFunctionSx from \"../styleFunctionSx/index.js\";\nimport preprocessStyles from \"../preprocessStyles.js\";\n\n/* eslint-disable no-underscore-dangle */\n/* eslint-disable no-labels */\n/* eslint-disable no-lone-blocks */\n\nexport const systemDefaultTheme = createTheme();\n\n// Update /system/styled/#api in case if this changes\nexport function shouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nfunction defaultOverridesResolver(slot) {\n if (!slot) {\n return null;\n }\n return (_props, styles) => styles[slot];\n}\nfunction attachTheme(props, themeId, defaultTheme) {\n props.theme = isObjectEmpty(props.theme) ? defaultTheme : props.theme[themeId] || props.theme;\n}\nfunction processStyle(props, style) {\n /*\n * Style types:\n * - null/undefined\n * - string\n * - CSS style object: { [cssKey]: [cssValue], variants }\n * - Processed style object: { style, variants, isProcessed: true }\n * - Array of any of the above\n */\n\n const resolvedStyle = typeof style === 'function' ? style(props) : style;\n if (Array.isArray(resolvedStyle)) {\n return resolvedStyle.flatMap(subStyle => processStyle(props, subStyle));\n }\n if (Array.isArray(resolvedStyle?.variants)) {\n let rootStyle;\n if (resolvedStyle.isProcessed) {\n rootStyle = resolvedStyle.style;\n } else {\n const {\n variants,\n ...otherStyles\n } = resolvedStyle;\n rootStyle = otherStyles;\n }\n return processStyleVariants(props, resolvedStyle.variants, [rootStyle]);\n }\n if (resolvedStyle?.isProcessed) {\n return resolvedStyle.style;\n }\n return resolvedStyle;\n}\nfunction processStyleVariants(props, variants, results = []) {\n let mergedState; // We might not need it, initialized lazily\n\n variantLoop: for (let i = 0; i < variants.length; i += 1) {\n const variant = variants[i];\n if (typeof variant.props === 'function') {\n mergedState ??= {\n ...props,\n ...props.ownerState,\n ownerState: props.ownerState\n };\n if (!variant.props(mergedState)) {\n continue;\n }\n } else {\n for (const key in variant.props) {\n if (props[key] !== variant.props[key] && props.ownerState?.[key] !== variant.props[key]) {\n continue variantLoop;\n }\n }\n }\n if (typeof variant.style === 'function') {\n mergedState ??= {\n ...props,\n ...props.ownerState,\n ownerState: props.ownerState\n };\n results.push(variant.style(mergedState));\n } else {\n results.push(variant.style);\n }\n }\n return results;\n}\nexport default function createStyled(input = {}) {\n const {\n themeId,\n defaultTheme = systemDefaultTheme,\n rootShouldForwardProp = shouldForwardProp,\n slotShouldForwardProp = shouldForwardProp\n } = input;\n function styleAttachTheme(props) {\n attachTheme(props, themeId, defaultTheme);\n }\n const styled = (tag, inputOptions = {}) => {\n // If `tag` is already a styled component, filter out the `sx` style function\n // to prevent unnecessary styles generated by the composite components.\n mutateStyles(tag, styles => styles.filter(style => style !== styleFunctionSx));\n const {\n name: componentName,\n slot: componentSlot,\n skipVariantsResolver: inputSkipVariantsResolver,\n skipSx: inputSkipSx,\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot)),\n ...options\n } = inputOptions;\n\n // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.\n const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n componentSlot && componentSlot !== 'Root' && componentSlot !== 'root' || false;\n const skipSx = inputSkipSx || false;\n let shouldForwardPropOption = shouldForwardProp;\n\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n if (componentSlot === 'Root' || componentSlot === 'root') {\n shouldForwardPropOption = rootShouldForwardProp;\n } else if (componentSlot) {\n // any other slot specified\n shouldForwardPropOption = slotShouldForwardProp;\n } else if (isStringTag(tag)) {\n // for string (html) tag, preserve the behavior in emotion & styled-components.\n shouldForwardPropOption = undefined;\n }\n const defaultStyledResolver = styledEngineStyled(tag, {\n shouldForwardProp: shouldForwardPropOption,\n label: generateStyledLabel(componentName, componentSlot),\n ...options\n });\n const transformStyle = style => {\n // On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n if (typeof style === 'function' && style.__emotion_real !== style) {\n return function styleFunctionProcessor(props) {\n return processStyle(props, style);\n };\n }\n if (isPlainObject(style)) {\n const serialized = preprocessStyles(style);\n if (!serialized.variants) {\n return serialized.style;\n }\n return function styleObjectProcessor(props) {\n return processStyle(props, serialized);\n };\n }\n return style;\n };\n const muiStyledResolver = (...expressionsInput) => {\n const expressionsHead = [];\n const expressionsBody = expressionsInput.map(transformStyle);\n const expressionsTail = [];\n\n // Preprocess `props` to set the scoped theme value.\n // This must run before any other expression.\n expressionsHead.push(styleAttachTheme);\n if (componentName && overridesResolver) {\n expressionsTail.push(function styleThemeOverrides(props) {\n const theme = props.theme;\n const styleOverrides = theme.components?.[componentName]?.styleOverrides;\n if (!styleOverrides) {\n return null;\n }\n const resolvedStyleOverrides = {};\n\n // TODO: v7 remove iteration and use `resolveStyleArg(styleOverrides[slot])` directly\n // eslint-disable-next-line guard-for-in\n for (const slotKey in styleOverrides) {\n resolvedStyleOverrides[slotKey] = processStyle(props, styleOverrides[slotKey]);\n }\n return overridesResolver(props, resolvedStyleOverrides);\n });\n }\n if (componentName && !skipVariantsResolver) {\n expressionsTail.push(function styleThemeVariants(props) {\n const theme = props.theme;\n const themeVariants = theme?.components?.[componentName]?.variants;\n if (!themeVariants) {\n return null;\n }\n return processStyleVariants(props, themeVariants);\n });\n }\n if (!skipSx) {\n expressionsTail.push(styleFunctionSx);\n }\n\n // This function can be called as a tagged template, so the first argument would contain\n // CSS `string[]` values.\n if (Array.isArray(expressionsBody[0])) {\n const inputStrings = expressionsBody.shift();\n\n // We need to add placeholders in the tagged template for the custom functions we have\n // possibly added (attachTheme, overrides, variants, and sx).\n const placeholdersHead = new Array(expressionsHead.length).fill('');\n const placeholdersTail = new Array(expressionsTail.length).fill('');\n let outputStrings;\n // prettier-ignore\n {\n outputStrings = [...placeholdersHead, ...inputStrings, ...placeholdersTail];\n outputStrings.raw = [...placeholdersHead, ...inputStrings.raw, ...placeholdersTail];\n }\n\n // The only case where we put something before `attachTheme`\n expressionsHead.unshift(outputStrings);\n }\n const expressions = [...expressionsHead, ...expressionsBody, ...expressionsTail];\n const Component = defaultStyledResolver(...expressions);\n if (tag.muiName) {\n Component.muiName = tag.muiName;\n }\n if (process.env.NODE_ENV !== 'production') {\n Component.displayName = generateDisplayName(componentName, componentSlot, tag);\n }\n return Component;\n };\n if (defaultStyledResolver.withConfig) {\n muiStyledResolver.withConfig = defaultStyledResolver.withConfig;\n }\n return muiStyledResolver;\n };\n return styled;\n}\nfunction generateDisplayName(componentName, componentSlot, tag) {\n if (componentName) {\n return `${componentName}${capitalize(componentSlot || '')}`;\n }\n return `Styled(${getDisplayName(tag)})`;\n}\nfunction generateStyledLabel(componentName, componentSlot) {\n let label;\n if (process.env.NODE_ENV !== 'production') {\n if (componentName) {\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n label = `${componentName}-${lowercaseFirstLetter(componentSlot || 'Root')}`;\n }\n }\n return label;\n}\nfunction isObjectEmpty(object) {\n // eslint-disable-next-line\n for (const _ in object) {\n return false;\n }\n return true;\n}\n\n// https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40\nfunction isStringTag(tag) {\n return typeof tag === 'string' &&\n // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96;\n}\nfunction lowercaseFirstLetter(string) {\n if (!string) {\n return string;\n }\n return string.charAt(0).toLowerCase() + string.slice(1);\n}","import createStyled from \"../createStyled/index.js\";\nconst styled = createStyled();\nexport default styled;","import resolveProps from '@mui/utils/resolveProps';\nexport default function getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name] || !theme.components[name].defaultProps) {\n return props;\n }\n return resolveProps(theme.components[name].defaultProps, props);\n}","'use client';\n\nimport getThemeProps from \"./getThemeProps.js\";\nimport useTheme from \"../useTheme/index.js\";\nexport default function useThemeProps({\n props,\n name,\n defaultTheme,\n themeId\n}) {\n let theme = useTheme(defaultTheme);\n if (themeId) {\n theme = theme[themeId] || theme;\n }\n return getThemeProps({\n theme,\n name,\n props\n });\n}","'use client';\n\nimport * as React from 'react';\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nimport { getThemeProps } from \"../useThemeProps/index.js\";\nimport useTheme from \"../useThemeWithoutDefault/index.js\";\n// TODO React 17: Remove `useMediaQueryOld` once React 17 support is removed\nfunction useMediaQueryOld(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const [match, setMatch] = React.useState(() => {\n if (noSsr && matchMedia) {\n return matchMedia(query).matches;\n }\n if (ssrMatchMedia) {\n return ssrMatchMedia(query).matches;\n }\n\n // Once the component is mounted, we rely on the\n // event listeners to return the correct matches value.\n return defaultMatches;\n });\n useEnhancedEffect(() => {\n if (!matchMedia) {\n return undefined;\n }\n const queryList = matchMedia(query);\n const updateMatch = () => {\n setMatch(queryList.matches);\n };\n updateMatch();\n queryList.addEventListener('change', updateMatch);\n return () => {\n queryList.removeEventListener('change', updateMatch);\n };\n }, [query, matchMedia]);\n return match;\n}\n\n// See https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379 for why\nconst safeReact = {\n ...React\n};\nconst maybeReactUseSyncExternalStore = safeReact.useSyncExternalStore;\nfunction useMediaQueryNew(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const getDefaultSnapshot = React.useCallback(() => defaultMatches, [defaultMatches]);\n const getServerSnapshot = React.useMemo(() => {\n if (noSsr && matchMedia) {\n return () => matchMedia(query).matches;\n }\n if (ssrMatchMedia !== null) {\n const {\n matches\n } = ssrMatchMedia(query);\n return () => matches;\n }\n return getDefaultSnapshot;\n }, [getDefaultSnapshot, query, ssrMatchMedia, noSsr, matchMedia]);\n const [getSnapshot, subscribe] = React.useMemo(() => {\n if (matchMedia === null) {\n return [getDefaultSnapshot, () => () => {}];\n }\n const mediaQueryList = matchMedia(query);\n return [() => mediaQueryList.matches, notify => {\n mediaQueryList.addEventListener('change', notify);\n return () => {\n mediaQueryList.removeEventListener('change', notify);\n };\n }];\n }, [getDefaultSnapshot, matchMedia, query]);\n const match = maybeReactUseSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return match;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function unstable_createUseMediaQuery(params = {}) {\n const {\n themeId\n } = params;\n return function useMediaQuery(queryInput, options = {}) {\n let theme = useTheme();\n if (theme && themeId) {\n theme = theme[themeId] || theme;\n }\n // Wait for jsdom to support the match media feature.\n // All the browsers MUI support have this built-in.\n // This defensive check is here for simplicity.\n // Most of the time, the match media logic isn't central to people tests.\n const supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n const {\n defaultMatches = false,\n matchMedia = supportMatchMedia ? window.matchMedia : null,\n ssrMatchMedia = null,\n noSsr = false\n } = getThemeProps({\n name: 'MuiUseMediaQuery',\n props: options,\n theme\n });\n if (process.env.NODE_ENV !== 'production') {\n if (typeof queryInput === 'function' && theme === null) {\n console.error(['MUI: The `query` argument provided is invalid.', 'You are providing a function without a theme in the context.', 'One of the parent elements needs to use a ThemeProvider.'].join('\\n'));\n }\n }\n let query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;\n query = query.replace(/^@media( ?)/m, '');\n const useMediaQueryImplementation = maybeReactUseSyncExternalStore !== undefined ? useMediaQueryNew : useMediaQueryOld;\n const match = useMediaQueryImplementation(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue({\n query,\n match\n });\n }\n return match;\n };\n}\nconst useMediaQuery = unstable_createUseMediaQuery();\nexport default useMediaQuery;","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/* eslint-disable @typescript-eslint/naming-convention */\nimport clamp from '@mui/utils/clamp';\n\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return clamp(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nexport function hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n if (process.env.NODE_ENV !== 'production') {\n if (color.length !== color.trim().length) {\n console.error(`MUI: The color: \"${color}\" is invalid. Make sure the color input doesn't contain leading/trailing space.`);\n }\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (!['rgb', 'rgba', 'hsl', 'hsla', 'color'].includes(type)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\\n` + 'The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().' : _formatMuiErrorMessage(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (!['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].includes(colorSpace)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\\n` + 'The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.' : _formatMuiErrorMessage(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nexport const colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.includes('hsl') && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexport const private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexport function recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.includes('rgb')) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.includes('hsl')) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.includes('color')) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nexport function rgbToHex(color) {\n // Idempotent\n if (color.startsWith('#')) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nexport function getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nexport function getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nexport function private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.includes('hsl')) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.includes('rgb') || color.type.includes('color')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.includes('hsl')) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.includes('rgb')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.includes('color')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nexport function private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nexport function blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst RtlContext = /*#__PURE__*/React.createContext();\nfunction RtlProvider({\n value,\n ...props\n}) {\n return /*#__PURE__*/_jsx(RtlContext.Provider, {\n value: value ?? true,\n ...props\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? RtlProvider.propTypes = {\n children: PropTypes.node,\n value: PropTypes.bool\n} : void 0;\nexport const useRtl = () => {\n const value = React.useContext(RtlContext);\n return value ?? false;\n};\nexport default RtlProvider;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport resolveProps from '@mui/utils/resolveProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PropsContext = /*#__PURE__*/React.createContext(undefined);\nfunction DefaultPropsProvider({\n value,\n children\n}) {\n return /*#__PURE__*/_jsx(PropsContext.Provider, {\n value: value,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object\n} : void 0;\nfunction getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name]) {\n return props;\n }\n const config = theme.components[name];\n if (config.defaultProps) {\n // compatible with v5 signature\n return resolveProps(config.defaultProps, props);\n }\n if (!config.styleOverrides && !config.variants) {\n // v6 signature, no property 'defaultProps'\n return resolveProps(config, props);\n }\n return props;\n}\nexport function useDefaultProps({\n props,\n name\n}) {\n const ctx = React.useContext(PropsContext);\n return getThemeProps({\n props,\n name,\n theme: {\n components: ctx\n }\n });\n}\nexport default DefaultPropsProvider;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { ThemeProvider as MuiThemeProvider, useTheme as usePrivateTheme } from '@mui/private-theming';\nimport exactProp from '@mui/utils/exactProp';\nimport { ThemeContext as StyledEngineThemeContext } from '@mui/styled-engine';\nimport useThemeWithoutDefault from \"../useThemeWithoutDefault/index.js\";\nimport RtlProvider from \"../RtlProvider/index.js\";\nimport DefaultPropsProvider from \"../DefaultPropsProvider/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst EMPTY_THEME = {};\nfunction useThemeScoping(themeId, upperTheme, localTheme, isPrivate = false) {\n return React.useMemo(() => {\n const resolvedTheme = themeId ? upperTheme[themeId] || upperTheme : upperTheme;\n if (typeof localTheme === 'function') {\n const mergedTheme = localTheme(resolvedTheme);\n const result = themeId ? {\n ...upperTheme,\n [themeId]: mergedTheme\n } : mergedTheme;\n // must return a function for the private theme to NOT merge with the upper theme.\n // see the test case \"use provided theme from a callback\" in ThemeProvider.test.js\n if (isPrivate) {\n return () => result;\n }\n return result;\n }\n return themeId ? {\n ...upperTheme,\n [themeId]: localTheme\n } : {\n ...upperTheme,\n ...localTheme\n };\n }, [themeId, upperTheme, localTheme, isPrivate]);\n}\n\n/**\n * This component makes the `theme` available down the React tree.\n * It should preferably be used at **the root of your component tree**.\n *\n * // existing use case\n * // theme scoping\n */\nfunction ThemeProvider(props) {\n const {\n children,\n theme: localTheme,\n themeId\n } = props;\n const upperTheme = useThemeWithoutDefault(EMPTY_THEME);\n const upperPrivateTheme = usePrivateTheme() || EMPTY_THEME;\n if (process.env.NODE_ENV !== 'production') {\n if (upperTheme === null && typeof localTheme === 'function' || themeId && upperTheme && !upperTheme[themeId] && typeof localTheme === 'function') {\n console.error(['MUI: You are providing a theme function prop to the ThemeProvider component:', ' outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n'));\n }\n }\n const engineTheme = useThemeScoping(themeId, upperTheme, localTheme);\n const privateTheme = useThemeScoping(themeId, upperPrivateTheme, localTheme, true);\n const rtlValue = (themeId ? engineTheme[themeId] : engineTheme).direction === 'rtl';\n return /*#__PURE__*/_jsx(MuiThemeProvider, {\n theme: privateTheme,\n children: /*#__PURE__*/_jsx(StyledEngineThemeContext.Provider, {\n value: engineTheme,\n children: /*#__PURE__*/_jsx(RtlProvider, {\n value: rtlValue,\n children: /*#__PURE__*/_jsx(DefaultPropsProvider, {\n value: themeId ? engineTheme[themeId].components : engineTheme.components,\n children: children\n })\n })\n })\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).isRequired,\n /**\n * The design system's unique id for getting the corresponded theme when there are multiple design systems.\n */\n themeId: PropTypes.string\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = exactProp(ThemeProvider.propTypes) : void 0;\n}\nexport default ThemeProvider;","import preprocessStyles from \"./preprocessStyles.js\";\n\n/* eslint-disable @typescript-eslint/naming-convention */\n\n// We need to pass an argument as `{ theme }` for PigmentCSS, but we don't want to\n// allocate more objects.\nconst arg = {\n theme: undefined\n};\n\n/**\n * Memoize style function on theme.\n * Intended to be used in styled() calls that only need access to the theme.\n */\nexport default function unstable_memoTheme(styleFn) {\n let lastValue;\n let lastTheme;\n return function styleMemoized(props) {\n let value = lastValue;\n if (value === undefined || props.theme !== lastTheme) {\n arg.theme = props.theme;\n value = preprocessStyles(styleFn(arg));\n lastValue = value;\n lastTheme = props.theme;\n }\n return value;\n };\n}","/**\n * Split this component for RSC import\n */\nimport * as React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const DEFAULT_MODE_STORAGE_KEY = 'mode';\nexport const DEFAULT_COLOR_SCHEME_STORAGE_KEY = 'color-scheme';\nexport const DEFAULT_ATTRIBUTE = 'data-color-scheme';\nexport default function InitColorSchemeScript(options) {\n const {\n defaultMode = 'system',\n defaultLightColorScheme = 'light',\n defaultDarkColorScheme = 'dark',\n modeStorageKey = DEFAULT_MODE_STORAGE_KEY,\n colorSchemeStorageKey = DEFAULT_COLOR_SCHEME_STORAGE_KEY,\n attribute: initialAttribute = DEFAULT_ATTRIBUTE,\n colorSchemeNode = 'document.documentElement',\n nonce\n } = options || {};\n let setter = '';\n let attribute = initialAttribute;\n if (initialAttribute === 'class') {\n attribute = '.%s';\n }\n if (initialAttribute === 'data') {\n attribute = '[data-%s]';\n }\n if (attribute.startsWith('.')) {\n const selector = attribute.substring(1);\n setter += `${colorSchemeNode}.classList.remove('${selector}'.replace('%s', light), '${selector}'.replace('%s', dark));\n ${colorSchemeNode}.classList.add('${selector}'.replace('%s', colorScheme));`;\n }\n const matches = attribute.match(/\\[([^\\]]+)\\]/); // case [data-color-scheme=%s] or [data-color-scheme]\n if (matches) {\n const [attr, value] = matches[1].split('=');\n if (!value) {\n setter += `${colorSchemeNode}.removeAttribute('${attr}'.replace('%s', light));\n ${colorSchemeNode}.removeAttribute('${attr}'.replace('%s', dark));`;\n }\n setter += `\n ${colorSchemeNode}.setAttribute('${attr}'.replace('%s', colorScheme), ${value ? `${value}.replace('%s', colorScheme)` : '\"\"'});`;\n } else {\n setter += `${colorSchemeNode}.setAttribute('${attribute}', colorScheme);`;\n }\n return /*#__PURE__*/_jsx(\"script\", {\n suppressHydrationWarning: true,\n nonce: typeof window === 'undefined' ? nonce : ''\n // eslint-disable-next-line react/no-danger\n ,\n dangerouslySetInnerHTML: {\n __html: `(function() {\ntry {\n let colorScheme = '';\n const mode = localStorage.getItem('${modeStorageKey}') || '${defaultMode}';\n const dark = localStorage.getItem('${colorSchemeStorageKey}-dark') || '${defaultDarkColorScheme}';\n const light = localStorage.getItem('${colorSchemeStorageKey}-light') || '${defaultLightColorScheme}';\n if (mode === 'system') {\n // handle system mode\n const mql = window.matchMedia('(prefers-color-scheme: dark)');\n if (mql.matches) {\n colorScheme = dark\n } else {\n colorScheme = light\n }\n }\n if (mode === 'light') {\n colorScheme = light;\n }\n if (mode === 'dark') {\n colorScheme = dark;\n }\n if (colorScheme) {\n ${setter}\n }\n} catch(e){}})();`\n }\n }, \"mui-color-scheme-init\");\n}","'use client';\n\nimport * as React from 'react';\nimport { DEFAULT_MODE_STORAGE_KEY, DEFAULT_COLOR_SCHEME_STORAGE_KEY } from \"../InitColorSchemeScript/InitColorSchemeScript.js\";\nexport function getSystemMode(mode) {\n if (typeof window !== 'undefined' && typeof window.matchMedia === 'function' && mode === 'system') {\n const mql = window.matchMedia('(prefers-color-scheme: dark)');\n if (mql.matches) {\n return 'dark';\n }\n return 'light';\n }\n return undefined;\n}\nfunction processState(state, callback) {\n if (state.mode === 'light' || state.mode === 'system' && state.systemMode === 'light') {\n return callback('light');\n }\n if (state.mode === 'dark' || state.mode === 'system' && state.systemMode === 'dark') {\n return callback('dark');\n }\n return undefined;\n}\nexport function getColorScheme(state) {\n return processState(state, mode => {\n if (mode === 'light') {\n return state.lightColorScheme;\n }\n if (mode === 'dark') {\n return state.darkColorScheme;\n }\n return undefined;\n });\n}\nfunction initializeValue(key, defaultValue) {\n if (typeof window === 'undefined') {\n return undefined;\n }\n let value;\n try {\n value = localStorage.getItem(key) || undefined;\n if (!value) {\n // the first time that user enters the site.\n localStorage.setItem(key, defaultValue);\n }\n } catch {\n // Unsupported\n }\n return value || defaultValue;\n}\nexport default function useCurrentColorScheme(options) {\n const {\n defaultMode = 'light',\n defaultLightColorScheme,\n defaultDarkColorScheme,\n supportedColorSchemes = [],\n modeStorageKey = DEFAULT_MODE_STORAGE_KEY,\n colorSchemeStorageKey = DEFAULT_COLOR_SCHEME_STORAGE_KEY,\n storageWindow = typeof window === 'undefined' ? undefined : window,\n noSsr = false\n } = options;\n const joinedColorSchemes = supportedColorSchemes.join(',');\n const isMultiSchemes = supportedColorSchemes.length > 1;\n const [state, setState] = React.useState(() => {\n const initialMode = initializeValue(modeStorageKey, defaultMode);\n const lightColorScheme = initializeValue(`${colorSchemeStorageKey}-light`, defaultLightColorScheme);\n const darkColorScheme = initializeValue(`${colorSchemeStorageKey}-dark`, defaultDarkColorScheme);\n return {\n mode: initialMode,\n systemMode: getSystemMode(initialMode),\n lightColorScheme,\n darkColorScheme\n };\n });\n const [isClient, setIsClient] = React.useState(noSsr || !isMultiSchemes);\n React.useEffect(() => {\n setIsClient(true); // to rerender the component after hydration\n }, []);\n const colorScheme = getColorScheme(state);\n const setMode = React.useCallback(mode => {\n setState(currentState => {\n if (mode === currentState.mode) {\n // do nothing if mode does not change\n return currentState;\n }\n const newMode = mode ?? defaultMode;\n try {\n localStorage.setItem(modeStorageKey, newMode);\n } catch {\n // Unsupported\n }\n return {\n ...currentState,\n mode: newMode,\n systemMode: getSystemMode(newMode)\n };\n });\n }, [modeStorageKey, defaultMode]);\n const setColorScheme = React.useCallback(value => {\n if (!value) {\n setState(currentState => {\n try {\n localStorage.setItem(`${colorSchemeStorageKey}-light`, defaultLightColorScheme);\n localStorage.setItem(`${colorSchemeStorageKey}-dark`, defaultDarkColorScheme);\n } catch {\n // Unsupported\n }\n return {\n ...currentState,\n lightColorScheme: defaultLightColorScheme,\n darkColorScheme: defaultDarkColorScheme\n };\n });\n } else if (typeof value === 'string') {\n if (value && !joinedColorSchemes.includes(value)) {\n console.error(`\\`${value}\\` does not exist in \\`theme.colorSchemes\\`.`);\n } else {\n setState(currentState => {\n const newState = {\n ...currentState\n };\n processState(currentState, mode => {\n try {\n localStorage.setItem(`${colorSchemeStorageKey}-${mode}`, value);\n } catch {\n // Unsupported\n }\n if (mode === 'light') {\n newState.lightColorScheme = value;\n }\n if (mode === 'dark') {\n newState.darkColorScheme = value;\n }\n });\n return newState;\n });\n }\n } else {\n setState(currentState => {\n const newState = {\n ...currentState\n };\n const newLightColorScheme = value.light === null ? defaultLightColorScheme : value.light;\n const newDarkColorScheme = value.dark === null ? defaultDarkColorScheme : value.dark;\n if (newLightColorScheme) {\n if (!joinedColorSchemes.includes(newLightColorScheme)) {\n console.error(`\\`${newLightColorScheme}\\` does not exist in \\`theme.colorSchemes\\`.`);\n } else {\n newState.lightColorScheme = newLightColorScheme;\n try {\n localStorage.setItem(`${colorSchemeStorageKey}-light`, newLightColorScheme);\n } catch (error) {\n // Unsupported\n }\n }\n }\n if (newDarkColorScheme) {\n if (!joinedColorSchemes.includes(newDarkColorScheme)) {\n console.error(`\\`${newDarkColorScheme}\\` does not exist in \\`theme.colorSchemes\\`.`);\n } else {\n newState.darkColorScheme = newDarkColorScheme;\n try {\n localStorage.setItem(`${colorSchemeStorageKey}-dark`, newDarkColorScheme);\n } catch (error) {\n // Unsupported\n }\n }\n }\n return newState;\n });\n }\n }, [joinedColorSchemes, colorSchemeStorageKey, defaultLightColorScheme, defaultDarkColorScheme]);\n const handleMediaQuery = React.useCallback(event => {\n if (state.mode === 'system') {\n setState(currentState => {\n const systemMode = event?.matches ? 'dark' : 'light';\n\n // Early exit, nothing changed.\n if (currentState.systemMode === systemMode) {\n return currentState;\n }\n return {\n ...currentState,\n systemMode\n };\n });\n }\n }, [state.mode]);\n\n // Ref hack to avoid adding handleMediaQuery as a dep\n const mediaListener = React.useRef(handleMediaQuery);\n mediaListener.current = handleMediaQuery;\n React.useEffect(() => {\n if (typeof window.matchMedia !== 'function' || !isMultiSchemes) {\n return undefined;\n }\n const handler = (...args) => mediaListener.current(...args);\n\n // Always listen to System preference\n const media = window.matchMedia('(prefers-color-scheme: dark)');\n\n // Intentionally use deprecated listener methods to support iOS & old browsers\n media.addListener(handler);\n handler(media);\n return () => {\n media.removeListener(handler);\n };\n }, [isMultiSchemes]);\n\n // Handle when localStorage has changed\n React.useEffect(() => {\n if (storageWindow && isMultiSchemes) {\n const handleStorage = event => {\n const value = event.newValue;\n if (typeof event.key === 'string' && event.key.startsWith(colorSchemeStorageKey) && (!value || joinedColorSchemes.match(value))) {\n // If the key is deleted, value will be null then reset color scheme to the default one.\n if (event.key.endsWith('light')) {\n setColorScheme({\n light: value\n });\n }\n if (event.key.endsWith('dark')) {\n setColorScheme({\n dark: value\n });\n }\n }\n if (event.key === modeStorageKey && (!value || ['light', 'dark', 'system'].includes(value))) {\n setMode(value || defaultMode);\n }\n };\n // For syncing color-scheme changes between iframes\n storageWindow.addEventListener('storage', handleStorage);\n return () => {\n storageWindow.removeEventListener('storage', handleStorage);\n };\n }\n return undefined;\n }, [setColorScheme, setMode, modeStorageKey, colorSchemeStorageKey, joinedColorSchemes, defaultMode, storageWindow, isMultiSchemes]);\n return {\n ...state,\n mode: isClient ? state.mode : undefined,\n systemMode: isClient ? state.systemMode : undefined,\n colorScheme: isClient ? colorScheme : undefined,\n setMode,\n setColorScheme\n };\n}","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GlobalStyles } from '@mui/styled-engine';\nimport { useTheme as muiUseTheme } from '@mui/private-theming';\nimport ThemeProvider from \"../ThemeProvider/index.js\";\nimport InitColorSchemeScript, { DEFAULT_COLOR_SCHEME_STORAGE_KEY, DEFAULT_MODE_STORAGE_KEY } from \"../InitColorSchemeScript/InitColorSchemeScript.js\";\nimport useCurrentColorScheme from \"./useCurrentColorScheme.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const DISABLE_CSS_TRANSITION = '*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}';\nexport default function createCssVarsProvider(options) {\n const {\n themeId,\n /**\n * This `theme` object needs to follow a certain structure to\n * be used correctly by the finel `CssVarsProvider`. It should have a\n * `colorSchemes` key with the light and dark (and any other) palette.\n * It should also ideally have a vars object created using `prepareCssVars`.\n */\n theme: defaultTheme = {},\n modeStorageKey: defaultModeStorageKey = DEFAULT_MODE_STORAGE_KEY,\n colorSchemeStorageKey: defaultColorSchemeStorageKey = DEFAULT_COLOR_SCHEME_STORAGE_KEY,\n disableTransitionOnChange: designSystemTransitionOnChange = false,\n defaultColorScheme,\n resolveTheme\n } = options;\n const defaultContext = {\n allColorSchemes: [],\n colorScheme: undefined,\n darkColorScheme: undefined,\n lightColorScheme: undefined,\n mode: undefined,\n setColorScheme: () => {},\n setMode: () => {},\n systemMode: undefined\n };\n const ColorSchemeContext = /*#__PURE__*/React.createContext(undefined);\n if (process.env.NODE_ENV !== 'production') {\n ColorSchemeContext.displayName = 'ColorSchemeContext';\n }\n const useColorScheme = () => React.useContext(ColorSchemeContext) || defaultContext;\n const defaultColorSchemes = {};\n const defaultComponents = {};\n function CssVarsProvider(props) {\n const {\n children,\n theme: themeProp,\n modeStorageKey = defaultModeStorageKey,\n colorSchemeStorageKey = defaultColorSchemeStorageKey,\n disableTransitionOnChange = designSystemTransitionOnChange,\n storageWindow = typeof window === 'undefined' ? undefined : window,\n documentNode = typeof document === 'undefined' ? undefined : document,\n colorSchemeNode = typeof document === 'undefined' ? undefined : document.documentElement,\n disableNestedContext = false,\n disableStyleSheetGeneration = false,\n defaultMode: initialMode = 'system',\n noSsr\n } = props;\n const hasMounted = React.useRef(false);\n const upperTheme = muiUseTheme();\n const ctx = React.useContext(ColorSchemeContext);\n const nested = !!ctx && !disableNestedContext;\n const initialTheme = React.useMemo(() => {\n if (themeProp) {\n return themeProp;\n }\n return typeof defaultTheme === 'function' ? defaultTheme() : defaultTheme;\n }, [themeProp]);\n const scopedTheme = initialTheme[themeId];\n const restThemeProp = scopedTheme || initialTheme;\n const {\n colorSchemes = defaultColorSchemes,\n components = defaultComponents,\n cssVarPrefix\n } = restThemeProp;\n const joinedColorSchemes = Object.keys(colorSchemes).filter(k => !!colorSchemes[k]).join(',');\n const allColorSchemes = React.useMemo(() => joinedColorSchemes.split(','), [joinedColorSchemes]);\n const defaultLightColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.light;\n const defaultDarkColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.dark;\n const defaultMode = colorSchemes[defaultLightColorScheme] && colorSchemes[defaultDarkColorScheme] ? initialMode : colorSchemes[restThemeProp.defaultColorScheme]?.palette?.mode || restThemeProp.palette?.mode;\n\n // 1. Get the data about the `mode`, `colorScheme`, and setter functions.\n const {\n mode: stateMode,\n setMode,\n systemMode,\n lightColorScheme,\n darkColorScheme,\n colorScheme: stateColorScheme,\n setColorScheme\n } = useCurrentColorScheme({\n supportedColorSchemes: allColorSchemes,\n defaultLightColorScheme,\n defaultDarkColorScheme,\n modeStorageKey,\n colorSchemeStorageKey,\n defaultMode,\n storageWindow,\n noSsr\n });\n let mode = stateMode;\n let colorScheme = stateColorScheme;\n if (nested) {\n mode = ctx.mode;\n colorScheme = ctx.colorScheme;\n }\n const memoTheme = React.useMemo(() => {\n // `colorScheme` is undefined on the server and hydration phase\n const calculatedColorScheme = colorScheme || restThemeProp.defaultColorScheme;\n\n // 2. get the `vars` object that refers to the CSS custom properties\n const themeVars = restThemeProp.generateThemeVars?.() || restThemeProp.vars;\n\n // 3. Start composing the theme object\n const theme = {\n ...restThemeProp,\n components,\n colorSchemes,\n cssVarPrefix,\n vars: themeVars\n };\n if (typeof theme.generateSpacing === 'function') {\n theme.spacing = theme.generateSpacing();\n }\n\n // 4. Resolve the color scheme and merge it to the theme\n if (calculatedColorScheme) {\n const scheme = colorSchemes[calculatedColorScheme];\n if (scheme && typeof scheme === 'object') {\n // 4.1 Merge the selected color scheme to the theme\n Object.keys(scheme).forEach(schemeKey => {\n if (scheme[schemeKey] && typeof scheme[schemeKey] === 'object') {\n // shallow merge the 1st level structure of the theme.\n theme[schemeKey] = {\n ...theme[schemeKey],\n ...scheme[schemeKey]\n };\n } else {\n theme[schemeKey] = scheme[schemeKey];\n }\n });\n }\n }\n return resolveTheme ? resolveTheme(theme) : theme;\n }, [restThemeProp, colorScheme, components, colorSchemes, cssVarPrefix]);\n\n // 5. Declaring effects\n // 5.1 Updates the selector value to use the current color scheme which tells CSS to use the proper stylesheet.\n const colorSchemeSelector = restThemeProp.colorSchemeSelector;\n React.useEffect(() => {\n if (colorScheme && colorSchemeNode && colorSchemeSelector && colorSchemeSelector !== 'media') {\n const selector = colorSchemeSelector;\n let rule = colorSchemeSelector;\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-mui-color-scheme' -> '[data-mui-color-scheme=\"%s\"]'\n rule = `[${selector}=\"%s\"]`;\n }\n if (rule.startsWith('.')) {\n colorSchemeNode.classList.remove(...allColorSchemes.map(scheme => rule.substring(1).replace('%s', scheme)));\n colorSchemeNode.classList.add(rule.substring(1).replace('%s', colorScheme));\n } else {\n const matches = rule.replace('%s', colorScheme).match(/\\[([^\\]]+)\\]/);\n if (matches) {\n const [attr, value] = matches[1].split('=');\n if (!value) {\n // for attributes like `data-theme-dark`, `data-theme-light`\n // remove all the existing data attributes before setting the new one\n allColorSchemes.forEach(scheme => {\n colorSchemeNode.removeAttribute(attr.replace(colorScheme, scheme));\n });\n }\n colorSchemeNode.setAttribute(attr, value ? value.replace(/\"|'/g, '') : '');\n } else {\n colorSchemeNode.setAttribute(rule, colorScheme);\n }\n }\n }\n }, [colorScheme, colorSchemeSelector, colorSchemeNode, allColorSchemes]);\n\n // 5.2 Remove the CSS transition when color scheme changes to create instant experience.\n // credit: https://github.com/pacocoursey/next-themes/blob/b5c2bad50de2d61ad7b52a9c5cdc801a78507d7a/index.tsx#L313\n React.useEffect(() => {\n let timer;\n if (disableTransitionOnChange && hasMounted.current && documentNode) {\n const css = documentNode.createElement('style');\n css.appendChild(documentNode.createTextNode(DISABLE_CSS_TRANSITION));\n documentNode.head.appendChild(css);\n\n // Force browser repaint\n (() => window.getComputedStyle(documentNode.body))();\n timer = setTimeout(() => {\n documentNode.head.removeChild(css);\n }, 1);\n }\n return () => {\n clearTimeout(timer);\n };\n }, [colorScheme, disableTransitionOnChange, documentNode]);\n React.useEffect(() => {\n hasMounted.current = true;\n return () => {\n hasMounted.current = false;\n };\n }, []);\n const contextValue = React.useMemo(() => ({\n allColorSchemes,\n colorScheme,\n darkColorScheme,\n lightColorScheme,\n mode,\n setColorScheme,\n setMode: process.env.NODE_ENV === 'production' ? setMode : newMode => {\n if (memoTheme.colorSchemeSelector === 'media') {\n console.error(['MUI: The `setMode` function has no effect if `colorSchemeSelector` is `media` (`media` is the default value).', 'To toggle the mode manually, please configure `colorSchemeSelector` to use a class or data attribute.', 'To learn more, visit https://mui.com/material-ui/customization/css-theme-variables/configuration/#toggling-dark-mode-manually'].join('\\n'));\n }\n setMode(newMode);\n },\n systemMode\n }), [allColorSchemes, colorScheme, darkColorScheme, lightColorScheme, mode, setColorScheme, setMode, systemMode, memoTheme.colorSchemeSelector]);\n let shouldGenerateStyleSheet = true;\n if (disableStyleSheetGeneration || restThemeProp.cssVariables === false || nested && upperTheme?.cssVarPrefix === cssVarPrefix) {\n shouldGenerateStyleSheet = false;\n }\n const element = /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(ThemeProvider, {\n themeId: scopedTheme ? themeId : undefined,\n theme: memoTheme,\n children: children\n }), shouldGenerateStyleSheet && /*#__PURE__*/_jsx(GlobalStyles, {\n styles: memoTheme.generateStyleSheets?.() || []\n })]\n });\n if (nested) {\n return element;\n }\n return /*#__PURE__*/_jsx(ColorSchemeContext.Provider, {\n value: contextValue,\n children: element\n });\n }\n process.env.NODE_ENV !== \"production\" ? CssVarsProvider.propTypes = {\n /**\n * The component tree.\n */\n children: PropTypes.node,\n /**\n * The node used to attach the color-scheme attribute\n */\n colorSchemeNode: PropTypes.any,\n /**\n * localStorage key used to store `colorScheme`\n */\n colorSchemeStorageKey: PropTypes.string,\n /**\n * The default mode when the storage is empty,\n * require the theme to have `colorSchemes` with light and dark.\n */\n defaultMode: PropTypes.string,\n /**\n * If `true`, the provider creates its own context and generate stylesheet as if it is a root `CssVarsProvider`.\n */\n disableNestedContext: PropTypes.bool,\n /**\n * If `true`, the style sheet won't be generated.\n *\n * This is useful for controlling nested CssVarsProvider behavior.\n */\n disableStyleSheetGeneration: PropTypes.bool,\n /**\n * Disable CSS transitions when switching between modes or color schemes.\n */\n disableTransitionOnChange: PropTypes.bool,\n /**\n * The document to attach the attribute to.\n */\n documentNode: PropTypes.any,\n /**\n * The key in the local storage used to store current color scheme.\n */\n modeStorageKey: PropTypes.string,\n /**\n * If `true`, the mode will be the same value as the storage without an extra rerendering after the hydration.\n * You should use this option in conjuction with `InitColorSchemeScript` component.\n */\n noSsr: PropTypes.bool,\n /**\n * The window that attaches the 'storage' event listener.\n * @default window\n */\n storageWindow: PropTypes.any,\n /**\n * The calculated theme object that will be passed through context.\n */\n theme: PropTypes.object\n } : void 0;\n const defaultLightColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.light;\n const defaultDarkColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.dark;\n const getInitColorSchemeScript = params => InitColorSchemeScript({\n colorSchemeStorageKey: defaultColorSchemeStorageKey,\n defaultLightColorScheme,\n defaultDarkColorScheme,\n modeStorageKey: defaultModeStorageKey,\n ...params\n });\n return {\n CssVarsProvider,\n useColorScheme,\n getInitColorSchemeScript\n };\n}","/**\n * The benefit of this function is to help developers get CSS var from theme without specifying the whole variable\n * and they does not need to remember the prefix (defined once).\n */\nexport default function createGetCssVar(prefix = '') {\n function appendVar(...vars) {\n if (!vars.length) {\n return '';\n }\n const value = vars[0];\n if (typeof value === 'string' && !value.match(/(#|\\(|\\)|(-?(\\d*\\.)?\\d+)(px|em|%|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc))|^(-?(\\d*\\.)?\\d+)$|(\\d+ \\d+ \\d+)/)) {\n return `, var(--${prefix ? `${prefix}-` : ''}${value}${appendVar(...vars.slice(1))})`;\n }\n return `, ${value}`;\n }\n\n // AdditionalVars makes `getCssVar` less strict, so it can be use like this `getCssVar('non-mui-variable')` without type error.\n const getCssVar = (field, ...fallbacks) => {\n return `var(--${prefix ? `${prefix}-` : ''}${field}${appendVar(...fallbacks)})`;\n };\n return getCssVar;\n}","/**\n * This function create an object from keys, value and then assign to target\n *\n * @param {Object} obj : the target object to be assigned\n * @param {string[]} keys\n * @param {string | number} value\n *\n * @example\n * const source = {}\n * assignNestedKeys(source, ['palette', 'primary'], 'var(--palette-primary)')\n * console.log(source) // { palette: { primary: 'var(--palette-primary)' } }\n *\n * @example\n * const source = { palette: { primary: 'var(--palette-primary)' } }\n * assignNestedKeys(source, ['palette', 'secondary'], 'var(--palette-secondary)')\n * console.log(source) // { palette: { primary: 'var(--palette-primary)', secondary: 'var(--palette-secondary)' } }\n */\nexport const assignNestedKeys = (obj, keys, value, arrayKeys = []) => {\n let temp = obj;\n keys.forEach((k, index) => {\n if (index === keys.length - 1) {\n if (Array.isArray(temp)) {\n temp[Number(k)] = value;\n } else if (temp && typeof temp === 'object') {\n temp[k] = value;\n }\n } else if (temp && typeof temp === 'object') {\n if (!temp[k]) {\n temp[k] = arrayKeys.includes(k) ? [] : {};\n }\n temp = temp[k];\n }\n });\n};\n\n/**\n *\n * @param {Object} obj : source object\n * @param {Function} callback : a function that will be called when\n * - the deepest key in source object is reached\n * - the value of the deepest key is NOT `undefined` | `null`\n *\n * @example\n * walkObjectDeep({ palette: { primary: { main: '#000000' } } }, console.log)\n * // ['palette', 'primary', 'main'] '#000000'\n */\nexport const walkObjectDeep = (obj, callback, shouldSkipPaths) => {\n function recurse(object, parentKeys = [], arrayKeys = []) {\n Object.entries(object).forEach(([key, value]) => {\n if (!shouldSkipPaths || shouldSkipPaths && !shouldSkipPaths([...parentKeys, key])) {\n if (value !== undefined && value !== null) {\n if (typeof value === 'object' && Object.keys(value).length > 0) {\n recurse(value, [...parentKeys, key], Array.isArray(value) ? [...arrayKeys, key] : arrayKeys);\n } else {\n callback([...parentKeys, key], value, arrayKeys);\n }\n }\n }\n });\n }\n recurse(obj);\n};\nconst getCssValue = (keys, value) => {\n if (typeof value === 'number') {\n if (['lineHeight', 'fontWeight', 'opacity', 'zIndex'].some(prop => keys.includes(prop))) {\n // CSS property that are unitless\n return value;\n }\n const lastKey = keys[keys.length - 1];\n if (lastKey.toLowerCase().includes('opacity')) {\n // opacity values are unitless\n return value;\n }\n return `${value}px`;\n }\n return value;\n};\n\n/**\n * a function that parse theme and return { css, vars }\n *\n * @param {Object} theme\n * @param {{\n * prefix?: string,\n * shouldSkipGeneratingVar?: (objectPathKeys: Array, value: string | number) => boolean\n * }} options.\n * `prefix`: The prefix of the generated CSS variables. This function does not change the value.\n *\n * @returns {{ css: Object, vars: Object }} `css` is the stylesheet, `vars` is an object to get css variable (same structure as theme).\n *\n * @example\n * const { css, vars } = parser({\n * fontSize: 12,\n * lineHeight: 1.2,\n * palette: { primary: { 500: 'var(--color)' } }\n * }, { prefix: 'foo' })\n *\n * console.log(css) // { '--foo-fontSize': '12px', '--foo-lineHeight': 1.2, '--foo-palette-primary-500': 'var(--color)' }\n * console.log(vars) // { fontSize: 'var(--foo-fontSize)', lineHeight: 'var(--foo-lineHeight)', palette: { primary: { 500: 'var(--foo-palette-primary-500)' } } }\n */\nexport default function cssVarsParser(theme, options) {\n const {\n prefix,\n shouldSkipGeneratingVar\n } = options || {};\n const css = {};\n const vars = {};\n const varsWithDefaults = {};\n walkObjectDeep(theme, (keys, value, arrayKeys) => {\n if (typeof value === 'string' || typeof value === 'number') {\n if (!shouldSkipGeneratingVar || !shouldSkipGeneratingVar(keys, value)) {\n // only create css & var if `shouldSkipGeneratingVar` return false\n const cssVar = `--${prefix ? `${prefix}-` : ''}${keys.join('-')}`;\n const resolvedValue = getCssValue(keys, value);\n Object.assign(css, {\n [cssVar]: resolvedValue\n });\n assignNestedKeys(vars, keys, `var(${cssVar})`, arrayKeys);\n assignNestedKeys(varsWithDefaults, keys, `var(${cssVar}, ${resolvedValue})`, arrayKeys);\n }\n }\n }, keys => keys[0] === 'vars' // skip 'vars/*' paths\n );\n return {\n css,\n vars,\n varsWithDefaults\n };\n}","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;","/* eslint-disable import/prefer-default-export */\nexport function createGetColorSchemeSelector(selector) {\n return function getColorSchemeSelector(colorScheme) {\n if (selector === 'media') {\n if (process.env.NODE_ENV !== 'production') {\n if (colorScheme !== 'light' && colorScheme !== 'dark') {\n console.error(`MUI: @media (prefers-color-scheme) supports only 'light' or 'dark', but receive '${colorScheme}'.`);\n }\n }\n return `@media (prefers-color-scheme: ${colorScheme})`;\n }\n if (selector) {\n if (selector.startsWith('data-') && !selector.includes('%s')) {\n return `[${selector}=\"${colorScheme}\"] &`;\n }\n if (selector === 'class') {\n return `.${colorScheme} &`;\n }\n if (selector === 'data') {\n return `[data-${colorScheme}] &`;\n }\n return `${selector.replace('%s', colorScheme)} &`;\n }\n return '&';\n };\n}","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport deepmerge from '@mui/utils/deepmerge';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport composeClasses from '@mui/utils/composeClasses';\nimport systemStyled from \"../styled/index.js\";\nimport useThemePropsSystem from \"../useThemeProps/index.js\";\nimport { extendSxProp } from \"../styleFunctionSx/index.js\";\nimport createTheme from \"../createTheme/index.js\";\nimport { handleBreakpoints, mergeBreakpointsInOrder, resolveBreakpointValues } from \"../breakpoints/index.js\";\nimport { createUnarySpacing, getValue } from \"../spacing/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultTheme = createTheme();\n// widening Theme to any so that the consumer can own the theme structure.\nconst defaultCreateStyledComponent = systemStyled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n});\nfunction useThemePropsDefault(props) {\n return useThemePropsSystem({\n props,\n name: 'MuiStack',\n defaultTheme\n });\n}\n\n/**\n * Return an array with the separator React element interspersed between\n * each React node of the input children.\n *\n * > joinChildren([1,2,3], 0)\n * [1,0,2,0,3]\n */\nfunction joinChildren(children, separator) {\n const childrenArray = React.Children.toArray(children).filter(Boolean);\n return childrenArray.reduce((output, child, index) => {\n output.push(child);\n if (index < childrenArray.length - 1) {\n output.push(/*#__PURE__*/React.cloneElement(separator, {\n key: `separator-${index}`\n }));\n }\n return output;\n }, []);\n}\nconst getSideFromDirection = direction => {\n return {\n row: 'Left',\n 'row-reverse': 'Right',\n column: 'Top',\n 'column-reverse': 'Bottom'\n }[direction];\n};\nexport const style = ({\n ownerState,\n theme\n}) => {\n let styles = {\n display: 'flex',\n flexDirection: 'column',\n ...handleBreakpoints({\n theme\n }, resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n }), propValue => ({\n flexDirection: propValue\n }))\n };\n if (ownerState.spacing) {\n const transformer = createUnarySpacing(theme);\n const base = Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {\n if (typeof ownerState.spacing === 'object' && ownerState.spacing[breakpoint] != null || typeof ownerState.direction === 'object' && ownerState.direction[breakpoint] != null) {\n acc[breakpoint] = true;\n }\n return acc;\n }, {});\n const directionValues = resolveBreakpointValues({\n values: ownerState.direction,\n base\n });\n const spacingValues = resolveBreakpointValues({\n values: ownerState.spacing,\n base\n });\n if (typeof directionValues === 'object') {\n Object.keys(directionValues).forEach((breakpoint, index, breakpoints) => {\n const directionValue = directionValues[breakpoint];\n if (!directionValue) {\n const previousDirectionValue = index > 0 ? directionValues[breakpoints[index - 1]] : 'column';\n directionValues[breakpoint] = previousDirectionValue;\n }\n });\n }\n const styleFromPropValue = (propValue, breakpoint) => {\n if (ownerState.useFlexGap) {\n return {\n gap: getValue(transformer, propValue)\n };\n }\n return {\n // The useFlexGap={false} implement relies on each child to give up control of the margin.\n // We need to reset the margin to avoid double spacing.\n '& > :not(style):not(style)': {\n margin: 0\n },\n '& > :not(style) ~ :not(style)': {\n [`margin${getSideFromDirection(breakpoint ? directionValues[breakpoint] : ownerState.direction)}`]: getValue(transformer, propValue)\n }\n };\n };\n styles = deepmerge(styles, handleBreakpoints({\n theme\n }, spacingValues, styleFromPropValue));\n }\n styles = mergeBreakpointsInOrder(theme.breakpoints, styles);\n return styles;\n};\nexport default function createStack(options = {}) {\n const {\n // This will allow adding custom styled fn (for example for custom sx style function)\n createStyledComponent = defaultCreateStyledComponent,\n useThemeProps = useThemePropsDefault,\n componentName = 'MuiStack'\n } = options;\n const useUtilityClasses = () => {\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, slot => generateUtilityClass(componentName, slot), {});\n };\n const StackRoot = createStyledComponent(style);\n const Stack = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {\n const themeProps = useThemeProps(inProps);\n const props = extendSxProp(themeProps); // `color` type conflicts with html color attribute.\n const {\n component = 'div',\n direction = 'column',\n spacing = 0,\n divider,\n children,\n className,\n useFlexGap = false,\n ...other\n } = props;\n const ownerState = {\n direction,\n spacing,\n useFlexGap\n };\n const classes = useUtilityClasses();\n return /*#__PURE__*/_jsx(StackRoot, {\n as: component,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className),\n ...other,\n children: divider ? joinChildren(children, divider) : children\n });\n });\n process.env.NODE_ENV !== \"production\" ? Stack.propTypes /* remove-proptypes */ = {\n children: PropTypes.node,\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n divider: PropTypes.node,\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n } : void 0;\n return Stack;\n}","export default function prepareTypographyVars(typography) {\n const vars = {};\n const entries = Object.entries(typography);\n entries.forEach(entry => {\n const [key, value] = entry;\n if (typeof value === 'object') {\n vars[key] = `${value.fontStyle ? `${value.fontStyle} ` : ''}${value.fontVariant ? `${value.fontVariant} ` : ''}${value.fontWeight ? `${value.fontWeight} ` : ''}${value.fontStretch ? `${value.fontStretch} ` : ''}${value.fontSize || ''}${value.lineHeight ? `/${value.lineHeight} ` : ''}${value.fontFamily || ''}`;\n }\n });\n return vars;\n}"],"names":["sortBreakpointsValues","values","breakpointsAsArray","key","breakpoint1","breakpoint2","acc","obj","createBreakpoints","breakpoints","unit","step","other","sortedValues","keys","up","down","between","start","end","endIndex","only","not","keyIndex","sortContainerQueries","theme","css","sorted","a","b","regex","_a","_b","value","isCqShorthand","breakpointKeys","getContainerQuery","shorthand","matches","containerQuery","containerName","cssContainerQueries","themeInput","toContainerQuery","mediaQuery","name","attachCq","node","args","result","containerQueries","shape","merge","item","deepmerge","defaultBreakpoints","defaultContainerQueries","handleBreakpoints","props","propValue","styleFromPropValue","themeBreakpoints","index","breakpoint","containerKey","mediaKey","cssKey","createEmptyBreakpointObject","breakpointsInput","breakpointStyleKey","removeUnusedBreakpoints","style","breakpointOutput","mergeBreakpointsInOrder","styles","emptyBreakpoints","mergedOutput","prev","next","computeBreakpointsBase","breakpointValues","base","breakpointsKeys","i","resolveBreakpointValues","customBase","previous","getPath","path","checkVars","val","getStyleValue","themeMapping","transform","propValueFinal","userValue","options","prop","cssProperty","themeKey","fn","capitalize","memoize","cache","arg","properties","directions","aliases","getCssProperties","property","direction","dir","marginKeys","paddingKeys","createUnaryUnit","defaultValue","propName","themeSpacing","abs","transformed","createUnarySpacing","getValue","transformer","getStyleFromPropValue","cssProperties","resolveCssProperty","margin","padding","createSpacing","spacingInput","spacing","argsInput","argument","output","compose","handlers","borderTransform","createBorderStyle","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outline","outlineColor","borderRadius","gap","columnGap","rowGap","gridColumn","gridRow","gridAutoFlow","gridAutoColumns","gridAutoRows","gridTemplateColumns","gridTemplateRows","gridTemplateAreas","gridArea","paletteTransform","color","bgcolor","backgroundColor","sizingTransform","width","maxWidth","_c","breakpointsValues","_e","_d","minWidth","height","maxHeight","minHeight","boxSizing","defaultSxConfig","objectsHaveSameKeys","objects","allKeys","object","union","callIfFn","maybeFn","unstable_createStyleFunctionSx","getThemeValue","config","styleFunctionSx","sx","traverse","sxInput","sxObject","styleKey","x","applyStyles","selector","createTheme","paletteInput","shapeInput","muiTheme","isObjectEmpty","useTheme","defaultTheme","contextTheme","React.useContext","ThemeContext","systemDefaultTheme","useThemeWithoutDefault","GlobalStyles","themeId","upperTheme","globalStyles","MuiGlobalStyles","splitProps","extendSxProp","inSx","systemProps","otherProps","finalSx","isPlainObject","preprocessStyles","input","variants","internal_serializeStyles","variant","shouldForwardProp","defaultOverridesResolver","slot","_props","attachTheme","processStyle","resolvedStyle","subStyle","rootStyle","otherStyles","processStyleVariants","results","mergedState","variantLoop","createStyled","rootShouldForwardProp","slotShouldForwardProp","styleAttachTheme","tag","inputOptions","mutateStyles","componentName","componentSlot","inputSkipVariantsResolver","inputSkipSx","overridesResolver","lowercaseFirstLetter","skipVariantsResolver","skipSx","shouldForwardPropOption","isStringTag","defaultStyledResolver","styledEngineStyled","generateStyledLabel","transformStyle","serialized","muiStyledResolver","expressionsInput","expressionsHead","expressionsBody","expressionsTail","styleOverrides","resolvedStyleOverrides","slotKey","themeVariants","inputStrings","placeholdersHead","placeholdersTail","outputStrings","expressions","Component","_","string","styled","getThemeProps","params","resolveProps","useThemeProps","useMediaQueryOld","query","defaultMatches","matchMedia","ssrMatchMedia","noSsr","match","setMatch","React.useState","useEnhancedEffect","queryList","updateMatch","safeReact","React","maybeReactUseSyncExternalStore","useMediaQueryNew","getDefaultSnapshot","React.useCallback","getServerSnapshot","React.useMemo","getSnapshot","subscribe","mediaQueryList","notify","unstable_createUseMediaQuery","queryInput","supportMatchMedia","clampWrapper","min","max","clamp","hexToRgb","re","colors","decomposeColor","marker","type","_formatMuiErrorMessage","colorSpace","colorChannel","decomposedColor","idx","private_safeColorChannel","warning","recomposeColor","n","hslToRgb","h","s","l","f","k","rgb","getLuminance","getContrastRatio","foreground","background","lumA","lumB","alpha","private_safeAlpha","darken","coefficient","private_safeDarken","lighten","private_safeLighten","emphasize","private_safeEmphasize","RtlContext","RtlProvider","_jsx","useRtl","PropsContext","React.createContext","DefaultPropsProvider","children","useDefaultProps","ctx","EMPTY_THEME","useThemeScoping","localTheme","isPrivate","resolvedTheme","mergedTheme","ThemeProvider","upperPrivateTheme","usePrivateTheme","engineTheme","privateTheme","rtlValue","MuiThemeProvider","StyledEngineThemeContext","unstable_memoTheme","styleFn","lastValue","lastTheme","DEFAULT_MODE_STORAGE_KEY","DEFAULT_COLOR_SCHEME_STORAGE_KEY","DEFAULT_ATTRIBUTE","InitColorSchemeScript","defaultMode","defaultLightColorScheme","defaultDarkColorScheme","modeStorageKey","colorSchemeStorageKey","initialAttribute","colorSchemeNode","nonce","setter","attribute","attr","getSystemMode","mode","processState","state","callback","getColorScheme","initializeValue","useCurrentColorScheme","supportedColorSchemes","storageWindow","joinedColorSchemes","isMultiSchemes","setState","initialMode","lightColorScheme","darkColorScheme","isClient","setIsClient","React.useEffect","colorScheme","setMode","currentState","newMode","setColorScheme","newState","newLightColorScheme","newDarkColorScheme","handleMediaQuery","event","systemMode","mediaListener","React.useRef","handler","media","handleStorage","DISABLE_CSS_TRANSITION","createCssVarsProvider","defaultModeStorageKey","defaultColorSchemeStorageKey","designSystemTransitionOnChange","defaultColorScheme","resolveTheme","defaultContext","ColorSchemeContext","useColorScheme","defaultColorSchemes","defaultComponents","CssVarsProvider","themeProp","disableTransitionOnChange","documentNode","disableNestedContext","disableStyleSheetGeneration","hasMounted","muiUseTheme","nested","initialTheme","scopedTheme","restThemeProp","colorSchemes","components","cssVarPrefix","allColorSchemes","stateMode","stateColorScheme","memoTheme","calculatedColorScheme","themeVars","scheme","schemeKey","colorSchemeSelector","rule","timer","contextValue","shouldGenerateStyleSheet","element","_jsxs","React.Fragment","createGetCssVar","prefix","appendVar","vars","field","fallbacks","assignNestedKeys","arrayKeys","temp","walkObjectDeep","shouldSkipPaths","recurse","parentKeys","getCssValue","cssVarsParser","shouldSkipGeneratingVar","varsWithDefaults","cssVar","resolvedValue","prepareCssVars","parserConfig","getSelector","defaultGetSelector","disableCssColorScheme","otherTheme","rootVars","rootCss","rootVarsWithDefaults","colorSchemesMap","defaultScheme","otherColorSchemes","cssObject","schemeVars","stylesheets","insertStyleSheet","defaultSchemeVal","cssColorSheme","finalCss","createGetColorSchemeSelector","defaultCreateStyledComponent","systemStyled","useThemePropsDefault","useThemePropsSystem","joinChildren","separator","childrenArray","React.Children","child","React.cloneElement","getSideFromDirection","ownerState","directionValues","spacingValues","previousDirectionValue","createStack","createStyledComponent","useUtilityClasses","composeClasses","generateUtilityClass","StackRoot","React.forwardRef","inProps","ref","themeProps","component","divider","className","useFlexGap","classes","clsx","prepareTypographyVars","typography","entry"],"mappings":"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AAiB,CACf,SAAU,UACV,UAAWA,EACZ,EAED,EAAG,CACD,MAAOpC,CACR,EACD,GAAI,CACF,MAAOA,CACR,EACD,GAAI,CACF,MAAOA,CACR,EACD,GAAI,CACF,MAAOA,CACR,EACD,GAAI,CACF,MAAOA,CACR,EACD,GAAI,CACF,MAAOA,CACR,EACD,GAAI,CACF,MAAOA,CACR,EACD,QAAS,CACP,MAAOA,CACR,EACD,WAAY,CACV,MAAOA,CACR,EACD,aAAc,CACZ,MAAOA,CACR,EACD,cAAe,CACb,MAAOA,CACR,EACD,YAAa,CACX,MAAOA,CACR,EACD,SAAU,CACR,MAAOA,CACR,EACD,SAAU,CACR,MAAOA,CACR,EACD,cAAe,CACb,MAAOA,CACR,EACD,mBAAoB,CAClB,MAAOA,CACR,EACD,iBAAkB,CAChB,MAAOA,CACR,EACD,aAAc,CACZ,MAAOA,CACR,EACD,kBAAmB,CACjB,MAAOA,CACR,EACD,gBAAiB,CACf,MAAOA,CACR,EACD,EAAG,CACD,MAAOD,CACR,EACD,GAAI,CACF,MAAOA,CACR,EACD,GAAI,CACF,MAAOA,CACR,EACD,GAAI,CACF,MAAOA,CACR,EACD,GAAI,CACF,MAAOA,CACR,EACD,GAAI,CACF,MAAOA,CACR,EACD,GAAI,CACF,MAAOA,CACR,EACD,OAAQ,CACN,MAAOA,CACR,EACD,UAAW,CACT,MAAOA,CACR,EACD,YAAa,CACX,MAAOA,CACR,EACD,aAAc,CACZ,MAAOA,CACR,EACD,WAAY,CACV,MAAOA,CACR,EACD,QAAS,CACP,MAAOA,CACR,EACD,QAAS,CACP,MAAOA,CACR,EACD,aAAc,CACZ,MAAOA,CACR,EACD,kBAAmB,CACjB,MAAOA,CACR,EACD,gBAAiB,CACf,MAAOA,CACR,EACD,YAAa,CACX,MAAOA,CACR,EACD,iBAAkB,CAChB,MAAOA,CACR,EACD,eAAgB,CACd,MAAOA,CACR,EAED,aAAc,CACZ,YAAa,GACb,UAAW7F,IAAU,CACnB,eAAgB,CACd,QAASA,CACjB,CACK,EACF,EACD,QAAS,CAAE,EACX,SAAU,CAAE,EA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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41]}