import * as React from 'react'; import { jsx as _jsx } from "react/jsx-runtime"; export const DEFAULT_MODE_STORAGE_KEY = 'mode'; export const DEFAULT_COLOR_SCHEME_STORAGE_KEY = 'color-scheme'; export const DEFAULT_ATTRIBUTE = 'data-color-scheme'; export default function getInitColorSchemeScript(options) { const { defaultMode = 'light', defaultLightColorScheme = 'light', defaultDarkColorScheme = 'dark', modeStorageKey = DEFAULT_MODE_STORAGE_KEY, colorSchemeStorageKey = DEFAULT_COLOR_SCHEME_STORAGE_KEY, attribute = DEFAULT_ATTRIBUTE, colorSchemeNode = 'document.documentElement' } = options || {}; return /*#__PURE__*/_jsx("script", { // eslint-disable-next-line react/no-danger dangerouslySetInnerHTML: { __html: `(function() { try { var mode = localStorage.getItem('${modeStorageKey}') || '${defaultMode}'; var colorScheme = ''; if (mode === 'system') { // handle system mode var mql = window.matchMedia('(prefers-color-scheme: dark)'); if (mql.matches) { colorScheme = localStorage.getItem('${colorSchemeStorageKey}-dark') || '${defaultDarkColorScheme}'; } else { colorScheme = localStorage.getItem('${colorSchemeStorageKey}-light') || '${defaultLightColorScheme}'; } } if (mode === 'light') { colorScheme = localStorage.getItem('${colorSchemeStorageKey}-light') || '${defaultLightColorScheme}'; } if (mode === 'dark') { colorScheme = localStorage.getItem('${colorSchemeStorageKey}-dark') || '${defaultDarkColorScheme}'; } if (colorScheme) { ${colorSchemeNode}.setAttribute('${attribute}', colorScheme); } } catch(e){}})();` } }, "mui-color-scheme-init"); }