@breadstone/mosaik-themes 0.0.211 → 0.0.212

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Theming/ThemeFactory.ts","../src/Theming/Tokens/JoyTokens.ts","../src/Theming/JoyTheme.ts","../src/Theming/Tokens/MemphisTokens.ts","../src/Theming/MemphisTheme.ts","../src/Theming/Tokens/CosmopolitanTokens.ts","../src/Theming/CosmopolitanTheme.ts","../src/Theming/Utils/CssAspectRatio.ts","../src/Theming/Utils/CssColor.ts","../src/Theming/Utils/CssLength.ts","../src/Theming/Utils/CssShadow.ts","../src/Theming/Utils/CssTime.ts","../src/Theming/Utils/ThemePalette.ts","../src/Theming/Utils/ITheme.ts","../src/Theming/Utils/ThemeScheme.ts","../src/Theming/Adapters/BrowserPlatformAdapter.ts","../src/Theming/Adapters/NodePlatformAdapter.ts","../src/Theming/Adapters/PlatformAdapterFactory.ts","../src/Theming/ThemeObserver.ts","../src/Theming/Strategies/MaterialThemeGeneratorStrategy.ts","../src/Theming/Strategies/surface/JoyThemeGeneratorStrategy.ts","../src/Theming/Strategies/surface/MemphisThemeGeneratorStrategy.ts","../src/Theming/Strategies/surface/CosmopolitanThemeGeneratorStrategy.ts","../src/Theming/ThemeGenerator.ts","../src/Theming/Strategies/TailwindThemeGeneratorStrategy.ts","../src/Colors/adjust.ts","../src/Colors/common.ts","../src/Colors/generators/analogous.ts","../src/Colors/generators/material.ts","../src/Colors/generators/complementary.ts","../src/Colors/generators/triadic.ts","../src/Colors/index.ts"],"names":["ThemeFactory","create","init","name","scheme","palette","fontFamily","typography","layout","elevation","merge","theme","length","NAME","FONT_FAMILY","LAYOUT_RADIUS","LAYOUT_SPACE","LAYOUT_THICKNESS","SCHEME_LIGHT_SURFACE","SCHEME_LIGHT_BACKGROUND","SCHEME_LIGHT_FOREGROUND","SCHEME_LIGHT_HIGHLIGHT","SCHEME_LIGHT_MIDDLELIGHT","SCHEME_LIGHT_LOWLIGHT","SCHEME_LIGHT_TRANSPARENT","SCHEME_LIGHT_SEMI_TRANSPARENT","SCHEME_LIGHT_DISABLED","SCHEME_LIGHT_CONTRAST","SCHEME_LIGHT_SELECTION","SCHEME_DARK_SURFACE","SCHEME_DARK_BACKGROUND","SCHEME_DARK_FOREGROUND","SCHEME_DARK_HIGHLIGHT","SCHEME_DARK_MIDDLELIGHT","SCHEME_DARK_LOWLIGHT","SCHEME_DARK_TRANSPARENT","SCHEME_DARK_SEMI_TRANSPARENT","SCHEME_DARK_DISABLED","SCHEME_DARK_CONTRAST","SCHEME_DARK_SELECTION","COLOR_LIGHT_PRIMARY_0","COLOR_LIGHT_PRIMARY_50","COLOR_LIGHT_PRIMARY_100","COLOR_LIGHT_PRIMARY_200","COLOR_LIGHT_PRIMARY_300","COLOR_LIGHT_PRIMARY_400","COLOR_LIGHT_PRIMARY_500","COLOR_LIGHT_PRIMARY_600","COLOR_LIGHT_PRIMARY_700","COLOR_LIGHT_PRIMARY_800","COLOR_LIGHT_PRIMARY_900","COLOR_LIGHT_SECONDARY_0","COLOR_LIGHT_SECONDARY_50","COLOR_LIGHT_SECONDARY_100","COLOR_LIGHT_SECONDARY_200","COLOR_LIGHT_SECONDARY_300","COLOR_LIGHT_SECONDARY_400","COLOR_LIGHT_SECONDARY_500","COLOR_LIGHT_SECONDARY_600","COLOR_LIGHT_SECONDARY_700","COLOR_LIGHT_SECONDARY_800","COLOR_LIGHT_SECONDARY_900","COLOR_LIGHT_TERTIARY_0","COLOR_LIGHT_TERTIARY_50","COLOR_LIGHT_TERTIARY_100","COLOR_LIGHT_TERTIARY_200","COLOR_LIGHT_TERTIARY_300","COLOR_LIGHT_TERTIARY_400","COLOR_LIGHT_TERTIARY_500","COLOR_LIGHT_TERTIARY_600","COLOR_LIGHT_TERTIARY_700","COLOR_LIGHT_TERTIARY_800","COLOR_LIGHT_TERTIARY_900","COLOR_LIGHT_INFO_0","COLOR_LIGHT_INFO_50","COLOR_LIGHT_INFO_100","COLOR_LIGHT_INFO_200","COLOR_LIGHT_INFO_300","COLOR_LIGHT_INFO_400","COLOR_LIGHT_INFO_500","COLOR_LIGHT_INFO_600","COLOR_LIGHT_INFO_700","COLOR_LIGHT_INFO_800","COLOR_LIGHT_INFO_900","COLOR_LIGHT_WARNING_0","COLOR_LIGHT_WARNING_50","COLOR_LIGHT_WARNING_100","COLOR_LIGHT_WARNING_200","COLOR_LIGHT_WARNING_300","COLOR_LIGHT_WARNING_400","COLOR_LIGHT_WARNING_500","COLOR_LIGHT_WARNING_600","COLOR_LIGHT_WARNING_700","COLOR_LIGHT_WARNING_800","COLOR_LIGHT_WARNING_900","COLOR_LIGHT_DANGER_0","COLOR_LIGHT_DANGER_50","COLOR_LIGHT_DANGER_100","COLOR_LIGHT_DANGER_200","COLOR_LIGHT_DANGER_300","COLOR_LIGHT_DANGER_400","COLOR_LIGHT_DANGER_500","COLOR_LIGHT_DANGER_600","COLOR_LIGHT_DANGER_700","COLOR_LIGHT_DANGER_800","COLOR_LIGHT_DANGER_900","COLOR_LIGHT_SUCCESS_0","COLOR_LIGHT_SUCCESS_50","COLOR_LIGHT_SUCCESS_100","COLOR_LIGHT_SUCCESS_200","COLOR_LIGHT_SUCCESS_300","COLOR_LIGHT_SUCCESS_400","COLOR_LIGHT_SUCCESS_500","COLOR_LIGHT_SUCCESS_600","COLOR_LIGHT_SUCCESS_700","COLOR_LIGHT_SUCCESS_800","COLOR_LIGHT_SUCCESS_900","COLOR_LIGHT_HIGHLIGHT_0","COLOR_LIGHT_HIGHLIGHT_50","COLOR_LIGHT_HIGHLIGHT_100","COLOR_LIGHT_HIGHLIGHT_200","COLOR_LIGHT_HIGHLIGHT_300","COLOR_LIGHT_HIGHLIGHT_400","COLOR_LIGHT_HIGHLIGHT_500","COLOR_LIGHT_HIGHLIGHT_600","COLOR_LIGHT_HIGHLIGHT_700","COLOR_LIGHT_HIGHLIGHT_800","COLOR_LIGHT_HIGHLIGHT_900","COLOR_LIGHT_NEUTRAL_0","COLOR_LIGHT_NEUTRAL_50","COLOR_LIGHT_NEUTRAL_100","COLOR_LIGHT_NEUTRAL_200","COLOR_LIGHT_NEUTRAL_300","COLOR_LIGHT_NEUTRAL_400","COLOR_LIGHT_NEUTRAL_500","COLOR_LIGHT_NEUTRAL_600","COLOR_LIGHT_NEUTRAL_700","COLOR_LIGHT_NEUTRAL_800","COLOR_LIGHT_NEUTRAL_900","COLOR_DARK_PRIMARY_0","COLOR_DARK_PRIMARY_50","COLOR_DARK_PRIMARY_100","COLOR_DARK_PRIMARY_200","COLOR_DARK_PRIMARY_300","COLOR_DARK_PRIMARY_400","COLOR_DARK_PRIMARY_500","COLOR_DARK_PRIMARY_600","COLOR_DARK_PRIMARY_700","COLOR_DARK_PRIMARY_800","COLOR_DARK_PRIMARY_900","COLOR_DARK_SECONDARY_0","COLOR_DARK_SECONDARY_50","COLOR_DARK_SECONDARY_100","COLOR_DARK_SECONDARY_200","COLOR_DARK_SECONDARY_300","COLOR_DARK_SECONDARY_400","COLOR_DARK_SECONDARY_500","COLOR_DARK_SECONDARY_600","COLOR_DARK_SECONDARY_700","COLOR_DARK_SECONDARY_800","COLOR_DARK_SECONDARY_900","COLOR_DARK_TERTIARY_0","COLOR_DARK_TERTIARY_50","COLOR_DARK_TERTIARY_100","COLOR_DARK_TERTIARY_200","COLOR_DARK_TERTIARY_300","COLOR_DARK_TERTIARY_400","COLOR_DARK_TERTIARY_500","COLOR_DARK_TERTIARY_600","COLOR_DARK_TERTIARY_700","COLOR_DARK_TERTIARY_800","COLOR_DARK_TERTIARY_900","COLOR_DARK_INFO_0","COLOR_DARK_INFO_50","COLOR_DARK_INFO_100","COLOR_DARK_INFO_200","COLOR_DARK_INFO_300","COLOR_DARK_INFO_400","COLOR_DARK_INFO_500","COLOR_DARK_INFO_600","COLOR_DARK_INFO_700","COLOR_DARK_INFO_800","COLOR_DARK_INFO_900","COLOR_DARK_WARNING_0","COLOR_DARK_WARNING_50","COLOR_DARK_WARNING_100","COLOR_DARK_WARNING_200","COLOR_DARK_WARNING_300","COLOR_DARK_WARNING_400","COLOR_DARK_WARNING_500","COLOR_DARK_WARNING_600","COLOR_DARK_WARNING_700","COLOR_DARK_WARNING_800","COLOR_DARK_WARNING_900","COLOR_DARK_DANGER_0","COLOR_DARK_DANGER_50","COLOR_DARK_DANGER_100","COLOR_DARK_DANGER_200","COLOR_DARK_DANGER_300","COLOR_DARK_DANGER_400","COLOR_DARK_DANGER_500","COLOR_DARK_DANGER_600","COLOR_DARK_DANGER_700","COLOR_DARK_DANGER_800","COLOR_DARK_DANGER_900","COLOR_DARK_SUCCESS_0","COLOR_DARK_SUCCESS_50","COLOR_DARK_SUCCESS_100","COLOR_DARK_SUCCESS_200","COLOR_DARK_SUCCESS_300","COLOR_DARK_SUCCESS_400","COLOR_DARK_SUCCESS_500","COLOR_DARK_SUCCESS_600","COLOR_DARK_SUCCESS_700","COLOR_DARK_SUCCESS_800","COLOR_DARK_SUCCESS_900","COLOR_DARK_HIGHLIGHT_0","COLOR_DARK_HIGHLIGHT_50","COLOR_DARK_HIGHLIGHT_100","COLOR_DARK_HIGHLIGHT_200","COLOR_DARK_HIGHLIGHT_300","COLOR_DARK_HIGHLIGHT_400","COLOR_DARK_HIGHLIGHT_500","COLOR_DARK_HIGHLIGHT_600","COLOR_DARK_HIGHLIGHT_700","COLOR_DARK_HIGHLIGHT_800","COLOR_DARK_HIGHLIGHT_900","COLOR_DARK_NEUTRAL_0","COLOR_DARK_NEUTRAL_50","COLOR_DARK_NEUTRAL_100","COLOR_DARK_NEUTRAL_200","COLOR_DARK_NEUTRAL_300","COLOR_DARK_NEUTRAL_400","COLOR_DARK_NEUTRAL_500","COLOR_DARK_NEUTRAL_600","COLOR_DARK_NEUTRAL_700","COLOR_DARK_NEUTRAL_800","COLOR_DARK_NEUTRAL_900","TYPOGRAPHY_HEADLINE1_FONT_FAMILY","TYPOGRAPHY_HEADLINE1_FONT_SIZE","TYPOGRAPHY_HEADLINE1_LINE_HEIGHT","TYPOGRAPHY_HEADLINE1_FONT_WEIGHT","TYPOGRAPHY_HEADLINE1_LETTER_SPACING","TYPOGRAPHY_HEADLINE1_TEXT_DECORATION","TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM","TYPOGRAPHY_HEADLINE2_FONT_FAMILY","TYPOGRAPHY_HEADLINE2_FONT_SIZE","TYPOGRAPHY_HEADLINE2_LINE_HEIGHT","TYPOGRAPHY_HEADLINE2_FONT_WEIGHT","TYPOGRAPHY_HEADLINE2_LETTER_SPACING","TYPOGRAPHY_HEADLINE2_TEXT_DECORATION","TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM","TYPOGRAPHY_HEADLINE3_FONT_FAMILY","TYPOGRAPHY_HEADLINE3_FONT_SIZE","TYPOGRAPHY_HEADLINE3_LINE_HEIGHT","TYPOGRAPHY_HEADLINE3_FONT_WEIGHT","TYPOGRAPHY_HEADLINE3_LETTER_SPACING","TYPOGRAPHY_HEADLINE3_TEXT_DECORATION","TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM","TYPOGRAPHY_HEADLINE4_FONT_FAMILY","TYPOGRAPHY_HEADLINE4_FONT_SIZE","TYPOGRAPHY_HEADLINE4_LINE_HEIGHT","TYPOGRAPHY_HEADLINE4_FONT_WEIGHT","TYPOGRAPHY_HEADLINE4_LETTER_SPACING","TYPOGRAPHY_HEADLINE4_TEXT_DECORATION","TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM","TYPOGRAPHY_HEADLINE5_FONT_FAMILY","TYPOGRAPHY_HEADLINE5_FONT_SIZE","TYPOGRAPHY_HEADLINE5_LINE_HEIGHT","TYPOGRAPHY_HEADLINE5_FONT_WEIGHT","TYPOGRAPHY_HEADLINE5_LETTER_SPACING","TYPOGRAPHY_HEADLINE5_TEXT_DECORATION","TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM","TYPOGRAPHY_HEADLINE6_FONT_FAMILY","TYPOGRAPHY_HEADLINE6_FONT_SIZE","TYPOGRAPHY_HEADLINE6_LINE_HEIGHT","TYPOGRAPHY_HEADLINE6_FONT_WEIGHT","TYPOGRAPHY_HEADLINE6_LETTER_SPACING","TYPOGRAPHY_HEADLINE6_TEXT_DECORATION","TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM","TYPOGRAPHY_SUBTITLE1_FONT_FAMILY","TYPOGRAPHY_SUBTITLE1_FONT_SIZE","TYPOGRAPHY_SUBTITLE1_LINE_HEIGHT","TYPOGRAPHY_SUBTITLE1_FONT_WEIGHT","TYPOGRAPHY_SUBTITLE1_LETTER_SPACING","TYPOGRAPHY_SUBTITLE1_TEXT_DECORATION","TYPOGRAPHY_SUBTITLE1_TEXT_TRANSFORM","TYPOGRAPHY_SUBTITLE2_FONT_FAMILY","TYPOGRAPHY_SUBTITLE2_FONT_SIZE","TYPOGRAPHY_SUBTITLE2_LINE_HEIGHT","TYPOGRAPHY_SUBTITLE2_FONT_WEIGHT","TYPOGRAPHY_SUBTITLE2_LETTER_SPACING","TYPOGRAPHY_SUBTITLE2_TEXT_DECORATION","TYPOGRAPHY_SUBTITLE2_TEXT_TRANSFORM","TYPOGRAPHY_BODY1_FONT_FAMILY","TYPOGRAPHY_BODY1_FONT_SIZE","TYPOGRAPHY_BODY1_LINE_HEIGHT","TYPOGRAPHY_BODY1_FONT_WEIGHT","TYPOGRAPHY_BODY1_LETTER_SPACING","TYPOGRAPHY_BODY1_TEXT_DECORATION","TYPOGRAPHY_BODY1_TEXT_TRANSFORM","TYPOGRAPHY_BODY2_FONT_FAMILY","TYPOGRAPHY_BODY2_FONT_SIZE","TYPOGRAPHY_BODY2_LINE_HEIGHT","TYPOGRAPHY_BODY2_FONT_WEIGHT","TYPOGRAPHY_BODY2_LETTER_SPACING","TYPOGRAPHY_BODY2_TEXT_DECORATION","TYPOGRAPHY_BODY2_TEXT_TRANSFORM","TYPOGRAPHY_CAPTION_FONT_FAMILY","TYPOGRAPHY_CAPTION_FONT_SIZE","TYPOGRAPHY_CAPTION_LINE_HEIGHT","TYPOGRAPHY_CAPTION_FONT_WEIGHT","TYPOGRAPHY_CAPTION_LETTER_SPACING","TYPOGRAPHY_CAPTION_TEXT_DECORATION","TYPOGRAPHY_CAPTION_TEXT_TRANSFORM","TYPOGRAPHY_BUTTON_FONT_FAMILY","TYPOGRAPHY_BUTTON_FONT_SIZE","TYPOGRAPHY_BUTTON_LINE_HEIGHT","TYPOGRAPHY_BUTTON_FONT_WEIGHT","TYPOGRAPHY_BUTTON_LETTER_SPACING","TYPOGRAPHY_BUTTON_TEXT_DECORATION","TYPOGRAPHY_BUTTON_TEXT_TRANSFORM","TYPOGRAPHY_OVERLINE_FONT_FAMILY","TYPOGRAPHY_OVERLINE_FONT_SIZE","TYPOGRAPHY_OVERLINE_LINE_HEIGHT","TYPOGRAPHY_OVERLINE_FONT_WEIGHT","TYPOGRAPHY_OVERLINE_LETTER_SPACING","TYPOGRAPHY_OVERLINE_TEXT_DECORATION","TYPOGRAPHY_OVERLINE_TEXT_TRANSFORM","ELEVATION_LIGHT_LIGHT","ELEVATION_LIGHT_SEMILIGHT","ELEVATION_LIGHT_REGULAR","ELEVATION_LIGHT_SEMIBOLD","ELEVATION_LIGHT_BOLD","ELEVATION_LIGHT_EXTRABOLD","ELEVATION_DARK_LIGHT","ELEVATION_DARK_SEMILIGHT","ELEVATION_DARK_REGULAR","ELEVATION_DARK_SEMIBOLD","ELEVATION_DARK_BOLD","ELEVATION_DARK_EXTRABOLD","TYPOGRAPHY_KEY_HEADLINE1","TYPOGRAPHY_KEY_HEADLINE2","TYPOGRAPHY_KEY_HEADLINE3","TYPOGRAPHY_KEY_HEADLINE4","TYPOGRAPHY_KEY_HEADLINE5","TYPOGRAPHY_KEY_HEADLINE6","TYPOGRAPHY_KEY_SUBTITLE1","TYPOGRAPHY_KEY_SUBTITLE2","TYPOGRAPHY_KEY_BODY1","TYPOGRAPHY_KEY_BODY2","TYPOGRAPHY_KEY_CAPTION","TYPOGRAPHY_KEY_BUTTON","TYPOGRAPHY_KEY_OVERLINE","ELEVATION_KEY_LIGHT","ELEVATION_KEY_SEMILIGHT","ELEVATION_KEY_REGULAR","ELEVATION_KEY_SEMIBOLD","ELEVATION_KEY_BOLD","ELEVATION_KEY_EXTRABOLD","VARIANT_PRIMARY","VARIANT_SECONDARY","VARIANT_TERTIARY","VARIANT_DANGER","VARIANT_WARNING","VARIANT_SUCCESS","VARIANT_INFO","VARIANT_HIGHLIGHT","VARIANT_NEUTRAL","JoyTheme","JOY_THEME","light","surface","background","foreground","highlight","middlelight","lowlight","transparent","semiTransparent","disabled","contrast","selection","dark","primary","secondary","tertiary","info","warning","danger","success","neutral","headline1","fontSize","lineHeight","fontWeight","letterSpacing","textDecoration","textTransform","headline2","headline3","headline4","headline5","headline6","subtitle1","subtitle2","body1","body2","caption","overline","button","radius","space","thickness","semilight","regular","semibold","bold","extrabold","JOY_THEME_PALETTES","JOY_THEME_PALETTE_VARIANTS","JOY_THEME_SCHEMES","JOY_THEME_SCHEME_VARIANTS","JOY_THEME_ELEVATION","JOY_THEME_ELEVATION_VARIANTS","JOY_THEME_TYPOGRAPHY","JOY_THEME_METADATA","palettes","paletteVariants","schemes","schemeVariants","elevationVariants","typographies","MemphisTheme","MEMPHIS_THEME","MEMPHIS_THEME_PALETTES","MEMPHIS_THEME_PALETTE_VARIANTS","MEMPHIS_THEME_SCHEMES","MEMPHIS_THEME_SCHEME_VARIANTS","MEMPHIS_THEME_ELEVATION","MEMPHIS_THEME_ELEVATION_VARIANTS","MEMPHIS_THEME_TYPOGRAPHY","MEMPHIS_THEME_METADATA","ELEVATION_NONE","CosmopolitanTheme","COSMOPOLITAN_THEME","none","COSMOPOLITAN_THEME_PALETTES","COSMOPOLITAN_THEME_PALETTE_VARIANTS","COSMOPOLITAN_THEME_SCHEMES","COSMOPOLITAN_THEME_SCHEME_VARIANTS","COSMOPOLITAN_THEME_ELEVATION","COSMOPOLITAN_THEME_ELEVATION_VARIANTS","COSMOPOLITAN_THEME_TYPOGRAPHY","COSMOPOLITAN_THEME_METADATA","CssAspectRatio","isCssAspectRatio","value","trim","ratioParts","split","isNaN","Number","CssColor","isCssColor","rgbRegex","rgbaRegex","hexRegex","test","CssLength","isCssLength","lengthRegex","isAuto","isPercentage","percentageRegex","isLength","toNumber","Error","match","exec","parseFloat","extractUnit","cssLength","lengt","extractValue","pxToRem","pixel","baseSize","sizeInRem","tryParse","defaultUnit","undefined","String","CssShadow","isCssShadow","shadows","every","isCssShadowSingle","shadowRegex","RegExp","CssTime","isCssTime","timeRegex","ThemePalette","THEME_SHADE_NAMES","isThemeShadeName","includes","isThemePalette","Object","keys","key","ITheme","getScheme","mode","getSchemeColor","role","color","getPalette","semanticColor","paletteEntry","getPaletteColor","shade","ThemeScheme","ROLES","isRole","isThemeScheme","entries","BrowserPlatformAdapter","matchMedia","query","window","matches","setDocumentAttribute","document","documentElement","setAttribute","getDocumentAttribute","getAttribute","observeDocumentAttributes","attributes","callback","observer","MutationObserver","mutations","forEach","mutation","type","attributeName","newValue","observe","attributeFilter","disconnect","NodePlatformAdapter","_query","_name","_value","_attributes","_callback","PlatformAdapterFactory","isThemeMode","ThemeObserver","_themeChanged","_themeModeChanged","_platformAdapter","_currentTheme","_currentThemeMode","_unsubscribe","platformAdapter","PureEventEmitter","themeChange","emit","themeModeChange","themeMode","themeChanged","themeModeChanged","applyTheme","isDark","dispose","cb","ThemeObserverServiceLocator","_current","current","isSet","set","MaterialThemeGeneratorStrategy","generatePalette","baseColor","baseLight","chroma","baseDark","steps","amounts","step","i","base","mix","hex","generateScheme","baseChroma","luminance","isDarkBase","adjustColor","targetAmount","c","currentLuminance","brighten","Math","abs","darkened","darken","createMaterialTheme","strategy","JoyThemeGeneratorStrategy","_materialStrategy","createJoyTheme","MemphisThemeGeneratorStrategy","createMemphisTheme","CosmopolitanThemeGeneratorStrategy","createCosmopolitanTheme","ThemeGenerator","_strategies","Map","themeName","resolvedMode","resolveMode","getStrategy","get","ThemeGeneratorServiceLocator","TailwindThemeGeneratorStrategy","h","s","hsl","idx","t","lightness","col","toString","p","createTailwindTheme","adjust","amount","min","max","factor","r","g","b","rgb","map","x","lighten","hexToHSL","parseInt","slice","l","d","hslToHex","hue2rgb","q","round","padStart","adjustHue","adjustment","generateAnalogousPalette","baseHex","baseHSL","adjustedHSL","generateAnalogousColor","generateMaterialPalette","hexColor","generateComplementaryPalette","complementaryH","generateComplementaryColor","generateTriadicPalette","triadicHSL","generateTriadicColor","Colors","toDarken","toLighten","toMaterialPalette","toComplementaryPalette","toComplementaryColor","toAnalogousPalette","toAnalogousColor","toTriadicPalette","toTriadicColor"],"mappings":"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","file":"index.js","sourcesContent":["// #region Imports\n\nimport type { IThemeElevation } from './Utils/IThemeElevation';\nimport type { IThemeLayout } from './Utils/IThemeLayout';\nimport type { ITheme } from './Utils/ITheme';\nimport type { ThemeScheme } from './Utils/ThemeScheme';\nimport type { ThemeTypography } from './Utils/ThemeTypography';\nimport type { ThemeMode } from './Utils/ThemeMode';\nimport type { ThemeSemantic } from './Utils/ThemeSemantic';\n\n// #endregion\n\n/**\n * @private\n */\nexport type ThemeName = string;\n\n/**\n * @private\n */\nexport type SemanticColorName = string;\n\n/**\n * @private\n */\nexport interface IThemeInit {\n name: string;\n scheme: Readonly<Record<ThemeMode, ThemeScheme>>;\n palette: Readonly<Record<ThemeMode, ThemeSemantic>>;\n fontFamily: string;\n typography: ThemeTypography;\n layout: IThemeLayout;\n elevation: Record<string, IThemeElevation>;\n}\n\n/**\n * Factory for creating fully dynamic themes.\n *\n * @private\n */\nexport class ThemeFactory {\n\n /**\n * Creates a new theme.\n *\n * @public\n * @static\n */\n public static create(init: IThemeInit): ITheme {\n return {\n name: init.name,\n scheme: init.scheme,\n palette: init.palette,\n fontFamily: init.fontFamily,\n typography: init.typography,\n layout: init.layout,\n elevation: init.elevation\n };\n }\n\n /**\n * Merges the given theme with the initial theme.\n *\n * @public\n * @static\n */\n public static merge(init: IThemeInit, theme: ITheme): ITheme {\n return {\n name: init.name,\n scheme: {\n ...theme.scheme,\n ...init.scheme\n },\n palette: {\n ...theme.palette,\n ...init.palette\n },\n fontFamily: init.fontFamily.length > 0 ? init.fontFamily : theme.fontFamily,\n typography: {\n ...theme.typography,\n ...init.typography\n },\n layout: {\n ...theme.layout,\n ...init.layout\n },\n elevation: {\n ...theme.elevation,\n ...init.elevation\n }\n };\n }\n\n}\n","/**\n * Do not edit directly, this file was auto-generated.\n */\n\nexport const NAME = \"joy\";\nexport const FONT_FAMILY = \"Nunito, sans-serif\";\nexport const LAYOUT_RADIUS = \"12px\";\nexport const LAYOUT_SPACE = \"8px\";\nexport const LAYOUT_THICKNESS = \"2px\";\nexport const SCHEME_LIGHT_SURFACE = \"#f5f5f5\";\nexport const SCHEME_LIGHT_BACKGROUND = \"#eaeaea\";\nexport const SCHEME_LIGHT_FOREGROUND = \"#3c454f\";\nexport const SCHEME_LIGHT_HIGHLIGHT = \"#d1d1d1\";\nexport const SCHEME_LIGHT_MIDDLELIGHT = \"#8a8a8a\";\nexport const SCHEME_LIGHT_LOWLIGHT = \"#5c5c5c\";\nexport const SCHEME_LIGHT_TRANSPARENT = \"rgba(255, 255, 255, 0)\";\nexport const SCHEME_LIGHT_SEMI_TRANSPARENT = \"rgba(255, 255, 255, 0.67)\";\nexport const SCHEME_LIGHT_DISABLED = \"#686868\";\nexport const SCHEME_LIGHT_CONTRAST = \"#ffffff\";\nexport const SCHEME_LIGHT_SELECTION = \"rgba(204, 204, 204, 0.44)\";\nexport const SCHEME_DARK_SURFACE = \"#1e1e1e\";\nexport const SCHEME_DARK_BACKGROUND = \"#151515\";\nexport const SCHEME_DARK_FOREGROUND = \"#c3bab0\";\nexport const SCHEME_DARK_HIGHLIGHT = \"#2e2e2e\";\nexport const SCHEME_DARK_MIDDLELIGHT = \"#757575\";\nexport const SCHEME_DARK_LOWLIGHT = \"#a3a3a3\";\nexport const SCHEME_DARK_TRANSPARENT = \"rgba(255, 255, 255, 0)\";\nexport const SCHEME_DARK_SEMI_TRANSPARENT = \"rgba(255, 255, 255, 0.03)\";\nexport const SCHEME_DARK_DISABLED = \"#474747\";\nexport const SCHEME_DARK_CONTRAST = \"#000000\";\nexport const SCHEME_DARK_SELECTION = \"rgba(204, 204, 204, 0.44)\";\nexport const COLOR_LIGHT_PRIMARY_0 = \"#ffffff\";\nexport const COLOR_LIGHT_PRIMARY_50 = \"#fce4ec\";\nexport const COLOR_LIGHT_PRIMARY_100 = \"#f8bcd0\";\nexport const COLOR_LIGHT_PRIMARY_200 = \"#f48fb1\";\nexport const COLOR_LIGHT_PRIMARY_300 = \"#f06292\";\nexport const COLOR_LIGHT_PRIMARY_400 = \"#ec407a\";\nexport const COLOR_LIGHT_PRIMARY_500 = \"#e91e63\";\nexport const COLOR_LIGHT_PRIMARY_600 = \"#cb1a56\";\nexport const COLOR_LIGHT_PRIMARY_700 = \"#a31545\";\nexport const COLOR_LIGHT_PRIMARY_800 = \"#7e1035\";\nexport const COLOR_LIGHT_PRIMARY_900 = \"#3a0819\";\nexport const COLOR_LIGHT_SECONDARY_0 = \"#ffffff\";\nexport const COLOR_LIGHT_SECONDARY_50 = \"#e6f6e9\";\nexport const COLOR_LIGHT_SECONDARY_100 = \"#c3e8c9\";\nexport const COLOR_LIGHT_SECONDARY_200 = \"#9bd9a7\";\nexport const COLOR_LIGHT_SECONDARY_300 = \"#70cb83\";\nexport const COLOR_LIGHT_SECONDARY_400 = \"#4dbf68\";\nexport const COLOR_LIGHT_SECONDARY_500 = \"#21b34d\";\nexport const COLOR_LIGHT_SECONDARY_600 = \"#16a444\";\nexport const COLOR_LIGHT_SECONDARY_700 = \"#009238\";\nexport const COLOR_LIGHT_SECONDARY_800 = \"#00812d\";\nexport const COLOR_LIGHT_SECONDARY_900 = \"#006218\";\nexport const COLOR_LIGHT_TERTIARY_0 = \"#ffffff\";\nexport const COLOR_LIGHT_TERTIARY_50 = \"#e1f5fc\";\nexport const COLOR_LIGHT_TERTIARY_100 = \"#b4e6f7\";\nexport const COLOR_LIGHT_TERTIARY_200 = \"#84d5f3\";\nexport const COLOR_LIGHT_TERTIARY_300 = \"#56c5ee\";\nexport const COLOR_LIGHT_TERTIARY_400 = \"#35b8eb\";\nexport const COLOR_LIGHT_TERTIARY_500 = \"#19ace9\";\nexport const COLOR_LIGHT_TERTIARY_600 = \"#139edb\";\nexport const COLOR_LIGHT_TERTIARY_700 = \"#098bc7\";\nexport const COLOR_LIGHT_TERTIARY_800 = \"#087ab4\";\nexport const COLOR_LIGHT_TERTIARY_900 = \"#005a92\";\nexport const COLOR_LIGHT_INFO_0 = \"#ffffff\";\nexport const COLOR_LIGHT_INFO_50 = \"#f4faff\";\nexport const COLOR_LIGHT_INFO_100 = \"#ddf1ff\";\nexport const COLOR_LIGHT_INFO_200 = \"#addbff\";\nexport const COLOR_LIGHT_INFO_300 = \"#6fb6ff\";\nexport const COLOR_LIGHT_INFO_400 = \"#3990ff\";\nexport const COLOR_LIGHT_INFO_500 = \"#096bde\";\nexport const COLOR_LIGHT_INFO_600 = \"#054da7\";\nexport const COLOR_LIGHT_INFO_700 = \"#02367d\";\nexport const COLOR_LIGHT_INFO_800 = \"#072859\";\nexport const COLOR_LIGHT_INFO_900 = \"#00153c\";\nexport const COLOR_LIGHT_WARNING_0 = \"#ffffff\";\nexport const COLOR_LIGHT_WARNING_50 = \"#fff8c5\";\nexport const COLOR_LIGHT_WARNING_100 = \"#fae17d\";\nexport const COLOR_LIGHT_WARNING_200 = \"#eac54f\";\nexport const COLOR_LIGHT_WARNING_300 = \"#d4a72c\";\nexport const COLOR_LIGHT_WARNING_400 = \"#bf8700\";\nexport const COLOR_LIGHT_WARNING_500 = \"#9a6700\";\nexport const COLOR_LIGHT_WARNING_600 = \"#7d4e00\";\nexport const COLOR_LIGHT_WARNING_700 = \"#633c01\";\nexport const COLOR_LIGHT_WARNING_800 = \"#4d2d00\";\nexport const COLOR_LIGHT_WARNING_900 = \"#3b2300\";\nexport const COLOR_LIGHT_DANGER_0 = \"#ffffff\";\nexport const COLOR_LIGHT_DANGER_50 = \"#fff8f6\";\nexport const COLOR_LIGHT_DANGER_100 = \"#ffe9e8\";\nexport const COLOR_LIGHT_DANGER_200 = \"#ffc7c5\";\nexport const COLOR_LIGHT_DANGER_300 = \"#ff9192\";\nexport const COLOR_LIGHT_DANGER_400 = \"#fa5255\";\nexport const COLOR_LIGHT_DANGER_500 = \"#d3232f\";\nexport const COLOR_LIGHT_DANGER_600 = \"#a10e25\";\nexport const COLOR_LIGHT_DANGER_700 = \"#77061b\";\nexport const COLOR_LIGHT_DANGER_800 = \"#580013\";\nexport const COLOR_LIGHT_DANGER_900 = \"#39000d\";\nexport const COLOR_LIGHT_SUCCESS_0 = \"#ffffff\";\nexport const COLOR_LIGHT_SUCCESS_50 = \"#f3fef5\";\nexport const COLOR_LIGHT_SUCCESS_100 = \"#d7f5dd\";\nexport const COLOR_LIGHT_SUCCESS_200 = \"#77ec95\";\nexport const COLOR_LIGHT_SUCCESS_300 = \"#4cc76e\";\nexport const COLOR_LIGHT_SUCCESS_400 = \"#2ca24d\";\nexport const COLOR_LIGHT_SUCCESS_500 = \"#1a7d36\";\nexport const COLOR_LIGHT_SUCCESS_600 = \"#0f5d26\";\nexport const COLOR_LIGHT_SUCCESS_700 = \"#034318\";\nexport const COLOR_LIGHT_SUCCESS_800 = \"#002f0f\";\nexport const COLOR_LIGHT_SUCCESS_900 = \"#001d09\";\nexport const COLOR_LIGHT_HIGHLIGHT_0 = \"#ffffff\";\nexport const COLOR_LIGHT_HIGHLIGHT_50 = \"#fdf7ff\";\nexport const COLOR_LIGHT_HIGHLIGHT_100 = \"#f4eaff\";\nexport const COLOR_LIGHT_HIGHLIGHT_200 = \"#e1cbff\";\nexport const COLOR_LIGHT_HIGHLIGHT_300 = \"#c69eff\";\nexport const COLOR_LIGHT_HIGHLIGHT_400 = \"#a374f9\";\nexport const COLOR_LIGHT_HIGHLIGHT_500 = \"#814dde\";\nexport const COLOR_LIGHT_HIGHLIGHT_600 = \"#5f35ae\";\nexport const COLOR_LIGHT_HIGHLIGHT_700 = \"#452382\";\nexport const COLOR_LIGHT_HIGHLIGHT_800 = \"#301761\";\nexport const COLOR_LIGHT_HIGHLIGHT_900 = \"#1d0a42\";\nexport const COLOR_LIGHT_NEUTRAL_0 = \"#ffffff\";\nexport const COLOR_LIGHT_NEUTRAL_50 = \"#f7f7f8\";\nexport const COLOR_LIGHT_NEUTRAL_100 = \"#ebebef\";\nexport const COLOR_LIGHT_NEUTRAL_200 = \"#d8d8df\";\nexport const COLOR_LIGHT_NEUTRAL_300 = \"#b9b9c6\";\nexport const COLOR_LIGHT_NEUTRAL_400 = \"#8f8fa3\";\nexport const COLOR_LIGHT_NEUTRAL_500 = \"#73738c\";\nexport const COLOR_LIGHT_NEUTRAL_600 = \"#5a5a72\";\nexport const COLOR_LIGHT_NEUTRAL_700 = \"#434356\";\nexport const COLOR_LIGHT_NEUTRAL_800 = \"#25252d\";\nexport const COLOR_LIGHT_NEUTRAL_900 = \"#131318\";\nexport const COLOR_DARK_PRIMARY_0 = \"#000000\";\nexport const COLOR_DARK_PRIMARY_50 = \"#3a0819\";\nexport const COLOR_DARK_PRIMARY_100 = \"#7e1035\";\nexport const COLOR_DARK_PRIMARY_200 = \"#a31545\";\nexport const COLOR_DARK_PRIMARY_300 = \"#cb1a56\";\nexport const COLOR_DARK_PRIMARY_400 = \"#e91e63\";\nexport const COLOR_DARK_PRIMARY_500 = \"#ec407a\";\nexport const COLOR_DARK_PRIMARY_600 = \"#f06292\";\nexport const COLOR_DARK_PRIMARY_700 = \"#f48fb1\";\nexport const COLOR_DARK_PRIMARY_800 = \"#f8bcd0\";\nexport const COLOR_DARK_PRIMARY_900 = \"#fce4ec\";\nexport const COLOR_DARK_SECONDARY_0 = \"#000000\";\nexport const COLOR_DARK_SECONDARY_50 = \"#006218\";\nexport const COLOR_DARK_SECONDARY_100 = \"#00812d\";\nexport const COLOR_DARK_SECONDARY_200 = \"#009238\";\nexport const COLOR_DARK_SECONDARY_300 = \"#16a444\";\nexport const COLOR_DARK_SECONDARY_400 = \"#21b34d\";\nexport const COLOR_DARK_SECONDARY_500 = \"#4dbf68\";\nexport const COLOR_DARK_SECONDARY_600 = \"#70cb83\";\nexport const COLOR_DARK_SECONDARY_700 = \"#9bd9a7\";\nexport const COLOR_DARK_SECONDARY_800 = \"#c3e8c9\";\nexport const COLOR_DARK_SECONDARY_900 = \"#e6f6e9\";\nexport const COLOR_DARK_TERTIARY_0 = \"#000000\";\nexport const COLOR_DARK_TERTIARY_50 = \"#005a92\";\nexport const COLOR_DARK_TERTIARY_100 = \"#087ab4\";\nexport const COLOR_DARK_TERTIARY_200 = \"#098bc7\";\nexport const COLOR_DARK_TERTIARY_300 = \"#139edb\";\nexport const COLOR_DARK_TERTIARY_400 = \"#19ace9\";\nexport const COLOR_DARK_TERTIARY_500 = \"#35b8eb\";\nexport const COLOR_DARK_TERTIARY_600 = \"#56c5ee\";\nexport const COLOR_DARK_TERTIARY_700 = \"#84d5f3\";\nexport const COLOR_DARK_TERTIARY_800 = \"#b4e6f7\";\nexport const COLOR_DARK_TERTIARY_900 = \"#e1f5fc\";\nexport const COLOR_DARK_INFO_0 = \"#000000\";\nexport const COLOR_DARK_INFO_50 = \"#00153c\";\nexport const COLOR_DARK_INFO_100 = \"#072859\";\nexport const COLOR_DARK_INFO_200 = \"#02367d\";\nexport const COLOR_DARK_INFO_300 = \"#054da7\";\nexport const COLOR_DARK_INFO_400 = \"#096bde\";\nexport const COLOR_DARK_INFO_500 = \"#3990ff\";\nexport const COLOR_DARK_INFO_600 = \"#6fb6ff\";\nexport const COLOR_DARK_INFO_700 = \"#addbff\";\nexport const COLOR_DARK_INFO_800 = \"#ddf1ff\";\nexport const COLOR_DARK_INFO_900 = \"#f4faff\";\nexport const COLOR_DARK_WARNING_0 = \"#000000\";\nexport const COLOR_DARK_WARNING_50 = \"#3b2300\";\nexport const COLOR_DARK_WARNING_100 = \"#4d2d00\";\nexport const COLOR_DARK_WARNING_200 = \"#633c01\";\nexport const COLOR_DARK_WARNING_300 = \"#7d4e00\";\nexport const COLOR_DARK_WARNING_400 = \"#9a6700\";\nexport const COLOR_DARK_WARNING_500 = \"#bf8700\";\nexport const COLOR_DARK_WARNING_600 = \"#d4a72c\";\nexport const COLOR_DARK_WARNING_700 = \"#eac54f\";\nexport const COLOR_DARK_WARNING_800 = \"#fae17d\";\nexport const COLOR_DARK_WARNING_900 = \"#fff8c5\";\nexport const COLOR_DARK_DANGER_0 = \"#000000\";\nexport const COLOR_DARK_DANGER_50 = \"#39000d\";\nexport const COLOR_DARK_DANGER_100 = \"#580013\";\nexport const COLOR_DARK_DANGER_200 = \"#77061b\";\nexport const COLOR_DARK_DANGER_300 = \"#a10e25\";\nexport const COLOR_DARK_DANGER_400 = \"#d3232f\";\nexport const COLOR_DARK_DANGER_500 = \"#fa5255\";\nexport const COLOR_DARK_DANGER_600 = \"#ff9192\";\nexport const COLOR_DARK_DANGER_700 = \"#ffc7c5\";\nexport const COLOR_DARK_DANGER_800 = \"#ffe9e8\";\nexport const COLOR_DARK_DANGER_900 = \"#fff8f6\";\nexport const COLOR_DARK_SUCCESS_0 = \"#000000\";\nexport const COLOR_DARK_SUCCESS_50 = \"#001d09\";\nexport const COLOR_DARK_SUCCESS_100 = \"#002f0f\";\nexport const COLOR_DARK_SUCCESS_200 = \"#034318\";\nexport const COLOR_DARK_SUCCESS_300 = \"#0f5d26\";\nexport const COLOR_DARK_SUCCESS_400 = \"#1a7d36\";\nexport const COLOR_DARK_SUCCESS_500 = \"#2ca24d\";\nexport const COLOR_DARK_SUCCESS_600 = \"#4cc76e\";\nexport const COLOR_DARK_SUCCESS_700 = \"#77ec95\";\nexport const COLOR_DARK_SUCCESS_800 = \"#d7f5dd\";\nexport const COLOR_DARK_SUCCESS_900 = \"#f3fef5\";\nexport const COLOR_DARK_HIGHLIGHT_0 = \"#000000\";\nexport const COLOR_DARK_HIGHLIGHT_50 = \"#1d0a42\";\nexport const COLOR_DARK_HIGHLIGHT_100 = \"#301761\";\nexport const COLOR_DARK_HIGHLIGHT_200 = \"#452382\";\nexport const COLOR_DARK_HIGHLIGHT_300 = \"#5f35ae\";\nexport const COLOR_DARK_HIGHLIGHT_400 = \"#814dde\";\nexport const COLOR_DARK_HIGHLIGHT_500 = \"#a374f9\";\nexport const COLOR_DARK_HIGHLIGHT_600 = \"#c69eff\";\nexport const COLOR_DARK_HIGHLIGHT_700 = \"#e1cbff\";\nexport const COLOR_DARK_HIGHLIGHT_800 = \"#f4eaff\";\nexport const COLOR_DARK_HIGHLIGHT_900 = \"#fdf7ff\";\nexport const COLOR_DARK_NEUTRAL_0 = \"#000000\";\nexport const COLOR_DARK_NEUTRAL_50 = \"#131318\";\nexport const COLOR_DARK_NEUTRAL_100 = \"#25252d\";\nexport const COLOR_DARK_NEUTRAL_200 = \"#434356\";\nexport const COLOR_DARK_NEUTRAL_300 = \"#5a5a72\";\nexport const COLOR_DARK_NEUTRAL_400 = \"#73738c\";\nexport const COLOR_DARK_NEUTRAL_500 = \"#8f8fa3\";\nexport const COLOR_DARK_NEUTRAL_600 = \"#b9b9c6\";\nexport const COLOR_DARK_NEUTRAL_700 = \"#d8d8df\";\nexport const COLOR_DARK_NEUTRAL_800 = \"#ebebef\";\nexport const COLOR_DARK_NEUTRAL_900 = \"#f7f7f8\";\nexport const TYPOGRAPHY_HEADLINE1_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE1_FONT_SIZE = \"96px\";\nexport const TYPOGRAPHY_HEADLINE1_LINE_HEIGHT = \"100px\";\nexport const TYPOGRAPHY_HEADLINE1_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE1_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_HEADLINE1_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE2_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE2_FONT_SIZE = \"60px\";\nexport const TYPOGRAPHY_HEADLINE2_LINE_HEIGHT = \"64px\";\nexport const TYPOGRAPHY_HEADLINE2_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE2_LETTER_SPACING = \"-0.13333333333333333px\";\nexport const TYPOGRAPHY_HEADLINE2_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE3_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE3_FONT_SIZE = \"48px\";\nexport const TYPOGRAPHY_HEADLINE3_LINE_HEIGHT = \"52px\";\nexport const TYPOGRAPHY_HEADLINE3_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_HEADLINE3_LETTER_SPACING = \"normal\";\nexport const TYPOGRAPHY_HEADLINE3_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE4_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE4_FONT_SIZE = \"34px\";\nexport const TYPOGRAPHY_HEADLINE4_LINE_HEIGHT = \"38px\";\nexport const TYPOGRAPHY_HEADLINE4_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_HEADLINE4_LETTER_SPACING = \"0.11764705882352941px\";\nexport const TYPOGRAPHY_HEADLINE4_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE5_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE5_FONT_SIZE = \"24px\";\nexport const TYPOGRAPHY_HEADLINE5_LINE_HEIGHT = \"28px\";\nexport const TYPOGRAPHY_HEADLINE5_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_HEADLINE5_LETTER_SPACING = \"normal\";\nexport const TYPOGRAPHY_HEADLINE5_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE6_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE6_FONT_SIZE = \"20px\";\nexport const TYPOGRAPHY_HEADLINE6_LINE_HEIGHT = \"24px\";\nexport const TYPOGRAPHY_HEADLINE6_FONT_WEIGHT = \"500\";\nexport const TYPOGRAPHY_HEADLINE6_LETTER_SPACING = \"0.2px\";\nexport const TYPOGRAPHY_HEADLINE6_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_SUBTITLE1_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_SUBTITLE1_FONT_SIZE = \"16px\";\nexport const TYPOGRAPHY_SUBTITLE1_LINE_HEIGHT = \"20px\";\nexport const TYPOGRAPHY_SUBTITLE1_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_SUBTITLE1_LETTER_SPACING = \"0.15px\";\nexport const TYPOGRAPHY_SUBTITLE1_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_SUBTITLE1_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_SUBTITLE2_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_SUBTITLE2_FONT_SIZE = \"14px\";\nexport const TYPOGRAPHY_SUBTITLE2_LINE_HEIGHT = \"18px\";\nexport const TYPOGRAPHY_SUBTITLE2_FONT_WEIGHT = \"500\";\nexport const TYPOGRAPHY_SUBTITLE2_LETTER_SPACING = \"0.1142857142857143px\";\nexport const TYPOGRAPHY_SUBTITLE2_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_SUBTITLE2_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_BODY1_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_BODY1_FONT_SIZE = \"16px\";\nexport const TYPOGRAPHY_BODY1_LINE_HEIGHT = \"20px\";\nexport const TYPOGRAPHY_BODY1_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_BODY1_LETTER_SPACING = \"0.5px\";\nexport const TYPOGRAPHY_BODY1_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_BODY1_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_BODY2_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_BODY2_FONT_SIZE = \"14px\";\nexport const TYPOGRAPHY_BODY2_LINE_HEIGHT = \"18px\";\nexport const TYPOGRAPHY_BODY2_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_BODY2_LETTER_SPACING = \"0.2857142857142857px\";\nexport const TYPOGRAPHY_BODY2_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_BODY2_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_CAPTION_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_CAPTION_FONT_SIZE = \"12px\";\nexport const TYPOGRAPHY_CAPTION_LINE_HEIGHT = \"16px\";\nexport const TYPOGRAPHY_CAPTION_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_CAPTION_LETTER_SPACING = \"0.5333333333333333px\";\nexport const TYPOGRAPHY_CAPTION_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_CAPTION_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_BUTTON_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_BUTTON_FONT_SIZE = \"14px\";\nexport const TYPOGRAPHY_BUTTON_LINE_HEIGHT = \"18px\";\nexport const TYPOGRAPHY_BUTTON_FONT_WEIGHT = \"700\";\nexport const TYPOGRAPHY_BUTTON_LETTER_SPACING = \"1.4285714285714286px\";\nexport const TYPOGRAPHY_BUTTON_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_BUTTON_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_OVERLINE_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_OVERLINE_FONT_SIZE = \"12px\";\nexport const TYPOGRAPHY_OVERLINE_LINE_HEIGHT = \"16px\";\nexport const TYPOGRAPHY_OVERLINE_FONT_WEIGHT = \"500\";\nexport const TYPOGRAPHY_OVERLINE_LETTER_SPACING = \"2.6666666666666665px\";\nexport const TYPOGRAPHY_OVERLINE_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_OVERLINE_TEXT_TRANSFORM = \"none\";\nexport const ELEVATION_NONE = \"none\";\nexport const ELEVATION_LIGHT_LIGHT =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 1px 2px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_Y_1 = \"1px\";\nexport const ELEVATION_LIGHT_LIGHT_BLUR_0 = \"2px\";\nexport const ELEVATION_LIGHT_LIGHT_BLUR_1 = \"2px\";\nexport const ELEVATION_LIGHT_LIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_LIGHT_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_SEMILIGHT =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 2px 4px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_Y_1 = \"2px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_BLUR_0 = \"2px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_BLUR_1 = \"4px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_SEMILIGHT_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_REGULAR =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 4px 8px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_Y_1 = \"4px\";\nexport const ELEVATION_LIGHT_REGULAR_BLUR_0 = \"2px\";\nexport const ELEVATION_LIGHT_REGULAR_BLUR_1 = \"8px\";\nexport const ELEVATION_LIGHT_REGULAR_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_REGULAR_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_SEMIBOLD =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 8px 16px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_Y_1 = \"8px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_BLUR_0 = \"2px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_BLUR_1 = \"16px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_SEMIBOLD_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_BOLD =\n \"0px 0px 8px 0px rgba(0, 0, 0, 0.12), 0px 14px 28px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_Y_1 = \"14px\";\nexport const ELEVATION_LIGHT_BOLD_BLUR_0 = \"8px\";\nexport const ELEVATION_LIGHT_BOLD_BLUR_1 = \"28px\";\nexport const ELEVATION_LIGHT_BOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_BOLD_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_EXTRABOLD =\n \"0px 0px 8px 0px rgba(0, 0, 0, 0.12), 0px 32px 64px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_Y_1 = \"32px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_BLUR_0 = \"8px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_BLUR_1 = \"64px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_EXTRABOLD_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_DARK_LIGHT =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.24), 0px 1px 2px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_Y_1 = \"1px\";\nexport const ELEVATION_DARK_LIGHT_BLUR_0 = \"2px\";\nexport const ELEVATION_DARK_LIGHT_BLUR_1 = \"2px\";\nexport const ELEVATION_DARK_LIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_LIGHT_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_SEMILIGHT =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.24), 0px 2px 4px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_Y_1 = \"2px\";\nexport const ELEVATION_DARK_SEMILIGHT_BLUR_0 = \"2px\";\nexport const ELEVATION_DARK_SEMILIGHT_BLUR_1 = \"4px\";\nexport const ELEVATION_DARK_SEMILIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_SEMILIGHT_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_REGULAR =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.24), 0px 4px 8px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_Y_1 = \"4px\";\nexport const ELEVATION_DARK_REGULAR_BLUR_0 = \"2px\";\nexport const ELEVATION_DARK_REGULAR_BLUR_1 = \"8px\";\nexport const ELEVATION_DARK_REGULAR_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_REGULAR_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_SEMIBOLD =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.24), 0px 8px 16px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_Y_1 = \"8px\";\nexport const ELEVATION_DARK_SEMIBOLD_BLUR_0 = \"2px\";\nexport const ELEVATION_DARK_SEMIBOLD_BLUR_1 = \"16px\";\nexport const ELEVATION_DARK_SEMIBOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_SEMIBOLD_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_BOLD =\n \"0px 0px 8px 0px rgba(0, 0, 0, 0.24), 0px 14px 28px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_BOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_BOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_BOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_BOLD_OFFSET_Y_1 = \"14px\";\nexport const ELEVATION_DARK_BOLD_BLUR_0 = \"8px\";\nexport const ELEVATION_DARK_BOLD_BLUR_1 = \"28px\";\nexport const ELEVATION_DARK_BOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_BOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_BOLD_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_BOLD_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_EXTRABOLD =\n \"0px 0px 8px 0px rgba(0, 0, 0, 0.24), 0px 32px 64px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_Y_1 = \"32px\";\nexport const ELEVATION_DARK_EXTRABOLD_BLUR_0 = \"8px\";\nexport const ELEVATION_DARK_EXTRABOLD_BLUR_1 = \"64px\";\nexport const ELEVATION_DARK_EXTRABOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_EXTRABOLD_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const SIZE_TINY = \"2px\";\nexport const SIZE_SMALL = \"4px\";\nexport const SIZE_MEDIUM = \"8px\";\nexport const SIZE_LARGE = \"16px\";\nexport const SIZE_GIANT = \"32px\";\nexport const SIZE_KEY = \"tiny small medium large giant\";\nexport const SIZE_KEY_TINY = \"tiny\";\nexport const SIZE_KEY_SMALL = \"small\";\nexport const SIZE_KEY_MEDIUM = \"medium\";\nexport const SIZE_KEY_LARGE = \"large\";\nexport const SIZE_KEY_GIANT = \"giant\";\nexport const TYPOGRAPHY_KEY_HEADLINE1 = \"headline1\";\nexport const TYPOGRAPHY_KEY_HEADLINE2 = \"headline2\";\nexport const TYPOGRAPHY_KEY_HEADLINE3 = \"headline3\";\nexport const TYPOGRAPHY_KEY_HEADLINE4 = \"headline4\";\nexport const TYPOGRAPHY_KEY_HEADLINE5 = \"headline5\";\nexport const TYPOGRAPHY_KEY_HEADLINE6 = \"headline6\";\nexport const TYPOGRAPHY_KEY_SUBTITLE1 = \"subtitle1\";\nexport const TYPOGRAPHY_KEY_SUBTITLE2 = \"subtitle2\";\nexport const TYPOGRAPHY_KEY_BODY1 = \"body1\";\nexport const TYPOGRAPHY_KEY_BODY2 = \"body2\";\nexport const TYPOGRAPHY_KEY_CAPTION = \"caption\";\nexport const TYPOGRAPHY_KEY_BUTTON = \"button\";\nexport const TYPOGRAPHY_KEY_OVERLINE = \"overline\";\nexport const ELEVATION_KEY = \"light semilight regular semibold bold extrabold\";\nexport const ELEVATION_KEY_LIGHT = \"light\";\nexport const ELEVATION_KEY_SEMILIGHT = \"semilight\";\nexport const ELEVATION_KEY_REGULAR = \"regular\";\nexport const ELEVATION_KEY_SEMIBOLD = \"semibold\";\nexport const ELEVATION_KEY_BOLD = \"bold\";\nexport const ELEVATION_KEY_EXTRABOLD = \"extrabold\";\nexport const APPEARANCE = \"default outline plain soft solid\";\nexport const APPEARANCE_DEFAULT = \"default\";\nexport const APPEARANCE_OUTLINE = \"outline\";\nexport const APPEARANCE_PLAIN = \"plain\";\nexport const APPEARANCE_SOFT = \"soft\";\nexport const APPEARANCE_SOLID = \"solid\";\nexport const VARIANT =\n \"primary secondary tertiary danger warning success info highlight neutral\";\nexport const VARIANT_PRIMARY = \"primary\";\nexport const VARIANT_SECONDARY = \"secondary\";\nexport const VARIANT_TERTIARY = \"tertiary\";\nexport const VARIANT_DANGER = \"danger\";\nexport const VARIANT_WARNING = \"warning\";\nexport const VARIANT_SUCCESS = \"success\";\nexport const VARIANT_INFO = \"info\";\nexport const VARIANT_HIGHLIGHT = \"highlight\";\nexport const VARIANT_NEUTRAL = \"neutral\";\nexport const DURATION = \"200ms 400ms 600ms\";\nexport const DURATION_SHORT = \"200ms\";\nexport const DURATION_MEDIUM = \"400ms\";\nexport const DURATION_LONG = \"600ms\";\n","// #region Imports\n\nimport { ThemeFactory } from './ThemeFactory';\nimport { NAME, TYPOGRAPHY_BODY1_FONT_SIZE, SCHEME_DARK_BACKGROUND, SCHEME_DARK_DISABLED, SCHEME_DARK_FOREGROUND, SCHEME_DARK_HIGHLIGHT, SCHEME_DARK_LOWLIGHT, SCHEME_DARK_MIDDLELIGHT, SCHEME_DARK_SEMI_TRANSPARENT, SCHEME_DARK_TRANSPARENT, SCHEME_LIGHT_BACKGROUND, SCHEME_LIGHT_DISABLED, SCHEME_LIGHT_FOREGROUND, SCHEME_LIGHT_HIGHLIGHT, SCHEME_LIGHT_LOWLIGHT, SCHEME_LIGHT_MIDDLELIGHT, SCHEME_LIGHT_SEMI_TRANSPARENT, SCHEME_LIGHT_TRANSPARENT, TYPOGRAPHY_BODY1_FONT_WEIGHT, TYPOGRAPHY_BODY1_LETTER_SPACING, TYPOGRAPHY_BODY1_LINE_HEIGHT, TYPOGRAPHY_BODY1_TEXT_DECORATION, TYPOGRAPHY_BODY1_TEXT_TRANSFORM, TYPOGRAPHY_BODY2_FONT_SIZE, TYPOGRAPHY_BODY2_FONT_WEIGHT, TYPOGRAPHY_BODY2_LETTER_SPACING, TYPOGRAPHY_BODY2_LINE_HEIGHT, TYPOGRAPHY_BODY2_TEXT_DECORATION, TYPOGRAPHY_BODY2_TEXT_TRANSFORM, TYPOGRAPHY_BUTTON_FONT_SIZE, TYPOGRAPHY_BUTTON_FONT_WEIGHT, TYPOGRAPHY_BUTTON_LETTER_SPACING, TYPOGRAPHY_BUTTON_LINE_HEIGHT, TYPOGRAPHY_BUTTON_TEXT_DECORATION, TYPOGRAPHY_BUTTON_TEXT_TRANSFORM, TYPOGRAPHY_CAPTION_FONT_SIZE, TYPOGRAPHY_CAPTION_FONT_WEIGHT, TYPOGRAPHY_CAPTION_LETTER_SPACING, TYPOGRAPHY_CAPTION_LINE_HEIGHT, TYPOGRAPHY_CAPTION_TEXT_DECORATION, TYPOGRAPHY_CAPTION_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE2_FONT_SIZE, TYPOGRAPHY_HEADLINE2_FONT_WEIGHT, TYPOGRAPHY_HEADLINE2_LETTER_SPACING, TYPOGRAPHY_HEADLINE2_LINE_HEIGHT, TYPOGRAPHY_HEADLINE2_TEXT_DECORATION, TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE3_FONT_SIZE, TYPOGRAPHY_HEADLINE3_FONT_WEIGHT, TYPOGRAPHY_HEADLINE3_LETTER_SPACING, TYPOGRAPHY_HEADLINE3_LINE_HEIGHT, TYPOGRAPHY_HEADLINE3_TEXT_DECORATION, TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE4_FONT_SIZE, TYPOGRAPHY_HEADLINE4_FONT_WEIGHT, TYPOGRAPHY_HEADLINE4_LETTER_SPACING, TYPOGRAPHY_HEADLINE4_LINE_HEIGHT, TYPOGRAPHY_HEADLINE4_TEXT_DECORATION, TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE5_FONT_SIZE, TYPOGRAPHY_HEADLINE1_FONT_SIZE, TYPOGRAPHY_HEADLINE1_FONT_WEIGHT, TYPOGRAPHY_HEADLINE1_LETTER_SPACING, TYPOGRAPHY_HEADLINE1_LINE_HEIGHT, TYPOGRAPHY_HEADLINE1_TEXT_DECORATION, TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE5_FONT_WEIGHT, TYPOGRAPHY_HEADLINE5_LETTER_SPACING, TYPOGRAPHY_HEADLINE5_LINE_HEIGHT, TYPOGRAPHY_HEADLINE5_TEXT_DECORATION, TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE6_FONT_SIZE, TYPOGRAPHY_HEADLINE6_FONT_WEIGHT, TYPOGRAPHY_HEADLINE6_LETTER_SPACING, TYPOGRAPHY_HEADLINE6_LINE_HEIGHT, TYPOGRAPHY_HEADLINE6_TEXT_DECORATION, TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM, TYPOGRAPHY_OVERLINE_FONT_SIZE, TYPOGRAPHY_OVERLINE_FONT_WEIGHT, TYPOGRAPHY_OVERLINE_LETTER_SPACING, TYPOGRAPHY_OVERLINE_LINE_HEIGHT, TYPOGRAPHY_OVERLINE_TEXT_DECORATION, TYPOGRAPHY_OVERLINE_TEXT_TRANSFORM, TYPOGRAPHY_SUBTITLE1_FONT_SIZE, TYPOGRAPHY_SUBTITLE1_FONT_WEIGHT, TYPOGRAPHY_SUBTITLE1_LETTER_SPACING, TYPOGRAPHY_SUBTITLE1_LINE_HEIGHT, TYPOGRAPHY_SUBTITLE1_TEXT_DECORATION, TYPOGRAPHY_SUBTITLE1_TEXT_TRANSFORM, TYPOGRAPHY_SUBTITLE2_FONT_SIZE, TYPOGRAPHY_SUBTITLE2_FONT_WEIGHT, TYPOGRAPHY_SUBTITLE2_LETTER_SPACING, TYPOGRAPHY_SUBTITLE2_LINE_HEIGHT, TYPOGRAPHY_SUBTITLE2_TEXT_DECORATION, TYPOGRAPHY_SUBTITLE2_TEXT_TRANSFORM, LAYOUT_RADIUS, LAYOUT_SPACE, LAYOUT_THICKNESS, TYPOGRAPHY_BODY1_FONT_FAMILY, TYPOGRAPHY_BODY2_FONT_FAMILY, TYPOGRAPHY_BUTTON_FONT_FAMILY, TYPOGRAPHY_CAPTION_FONT_FAMILY, TYPOGRAPHY_HEADLINE1_FONT_FAMILY, TYPOGRAPHY_HEADLINE2_FONT_FAMILY, TYPOGRAPHY_HEADLINE3_FONT_FAMILY, TYPOGRAPHY_HEADLINE5_FONT_FAMILY, TYPOGRAPHY_HEADLINE6_FONT_FAMILY, TYPOGRAPHY_OVERLINE_FONT_FAMILY, TYPOGRAPHY_SUBTITLE1_FONT_FAMILY, TYPOGRAPHY_SUBTITLE2_FONT_FAMILY, TYPOGRAPHY_HEADLINE4_FONT_FAMILY, FONT_FAMILY, COLOR_DARK_DANGER_0, COLOR_DARK_DANGER_100, COLOR_DARK_DANGER_200, COLOR_DARK_DANGER_300, COLOR_DARK_DANGER_400, COLOR_DARK_DANGER_50, COLOR_DARK_DANGER_500, COLOR_DARK_DANGER_600, COLOR_DARK_DANGER_700, COLOR_DARK_DANGER_800, COLOR_DARK_DANGER_900, COLOR_DARK_NEUTRAL_0, COLOR_DARK_NEUTRAL_100, COLOR_DARK_NEUTRAL_200, COLOR_DARK_NEUTRAL_300, COLOR_DARK_NEUTRAL_400, COLOR_DARK_NEUTRAL_50, COLOR_DARK_NEUTRAL_500, COLOR_DARK_NEUTRAL_600, COLOR_DARK_NEUTRAL_700, COLOR_DARK_NEUTRAL_800, COLOR_DARK_NEUTRAL_900, COLOR_DARK_HIGHLIGHT_0, COLOR_DARK_HIGHLIGHT_100, COLOR_DARK_HIGHLIGHT_200, COLOR_DARK_HIGHLIGHT_300, COLOR_DARK_HIGHLIGHT_400, COLOR_DARK_HIGHLIGHT_50, COLOR_DARK_HIGHLIGHT_500, COLOR_DARK_HIGHLIGHT_600, COLOR_DARK_HIGHLIGHT_700, COLOR_DARK_HIGHLIGHT_800, COLOR_DARK_HIGHLIGHT_900, COLOR_DARK_INFO_0, COLOR_DARK_INFO_100, COLOR_DARK_INFO_200, COLOR_DARK_INFO_300, COLOR_DARK_INFO_400, COLOR_DARK_INFO_50, COLOR_DARK_INFO_500, COLOR_DARK_INFO_600, COLOR_DARK_INFO_700, COLOR_DARK_INFO_800, COLOR_DARK_INFO_900, COLOR_DARK_PRIMARY_0, COLOR_DARK_PRIMARY_100, COLOR_DARK_PRIMARY_200, COLOR_DARK_PRIMARY_300, COLOR_DARK_PRIMARY_400, COLOR_DARK_PRIMARY_50, COLOR_DARK_PRIMARY_500, COLOR_DARK_PRIMARY_600, COLOR_DARK_PRIMARY_700, COLOR_DARK_PRIMARY_800, COLOR_DARK_PRIMARY_900, COLOR_DARK_SECONDARY_0, COLOR_DARK_SECONDARY_100, COLOR_DARK_SECONDARY_200, COLOR_DARK_SECONDARY_300, COLOR_DARK_SECONDARY_400, COLOR_DARK_SECONDARY_50, COLOR_DARK_SECONDARY_500, COLOR_DARK_SECONDARY_600, COLOR_DARK_SECONDARY_700, COLOR_DARK_SECONDARY_800, COLOR_DARK_SECONDARY_900, COLOR_DARK_SUCCESS_0, COLOR_DARK_SUCCESS_100, COLOR_DARK_SUCCESS_200, COLOR_DARK_SUCCESS_300, COLOR_DARK_SUCCESS_400, COLOR_DARK_SUCCESS_50, COLOR_DARK_SUCCESS_500, COLOR_DARK_SUCCESS_600, COLOR_DARK_SUCCESS_700, COLOR_DARK_SUCCESS_800, COLOR_DARK_SUCCESS_900, COLOR_DARK_TERTIARY_0, COLOR_DARK_TERTIARY_100, COLOR_DARK_TERTIARY_200, COLOR_DARK_TERTIARY_300, COLOR_DARK_TERTIARY_400, COLOR_DARK_TERTIARY_50, COLOR_DARK_TERTIARY_500, COLOR_DARK_TERTIARY_600, COLOR_DARK_TERTIARY_700, COLOR_DARK_TERTIARY_800, COLOR_DARK_TERTIARY_900, COLOR_DARK_WARNING_0, COLOR_DARK_WARNING_100, COLOR_DARK_WARNING_200, COLOR_DARK_WARNING_300, COLOR_DARK_WARNING_400, COLOR_DARK_WARNING_50, COLOR_DARK_WARNING_500, COLOR_DARK_WARNING_600, COLOR_DARK_WARNING_700, COLOR_DARK_WARNING_800, COLOR_DARK_WARNING_900, COLOR_LIGHT_DANGER_0, COLOR_LIGHT_DANGER_100, COLOR_LIGHT_DANGER_200, COLOR_LIGHT_DANGER_300, COLOR_LIGHT_DANGER_400, COLOR_LIGHT_DANGER_50, COLOR_LIGHT_DANGER_500, COLOR_LIGHT_DANGER_600, COLOR_LIGHT_DANGER_700, COLOR_LIGHT_DANGER_800, COLOR_LIGHT_DANGER_900, COLOR_LIGHT_NEUTRAL_0, COLOR_LIGHT_NEUTRAL_100, COLOR_LIGHT_NEUTRAL_200, COLOR_LIGHT_NEUTRAL_300, COLOR_LIGHT_NEUTRAL_400, COLOR_LIGHT_NEUTRAL_50, COLOR_LIGHT_NEUTRAL_500, COLOR_LIGHT_NEUTRAL_600, COLOR_LIGHT_NEUTRAL_700, COLOR_LIGHT_NEUTRAL_800, COLOR_LIGHT_NEUTRAL_900, COLOR_LIGHT_HIGHLIGHT_0, COLOR_LIGHT_HIGHLIGHT_100, COLOR_LIGHT_HIGHLIGHT_200, COLOR_LIGHT_HIGHLIGHT_300, COLOR_LIGHT_HIGHLIGHT_400, COLOR_LIGHT_HIGHLIGHT_50, COLOR_LIGHT_HIGHLIGHT_500, COLOR_LIGHT_HIGHLIGHT_600, COLOR_LIGHT_HIGHLIGHT_700, COLOR_LIGHT_HIGHLIGHT_800, COLOR_LIGHT_HIGHLIGHT_900, COLOR_LIGHT_INFO_0, COLOR_LIGHT_INFO_100, COLOR_LIGHT_INFO_200, COLOR_LIGHT_INFO_300, COLOR_LIGHT_INFO_400, COLOR_LIGHT_INFO_50, COLOR_LIGHT_INFO_500, COLOR_LIGHT_INFO_600, COLOR_LIGHT_INFO_700, COLOR_LIGHT_INFO_800, COLOR_LIGHT_INFO_900, COLOR_LIGHT_PRIMARY_0, COLOR_LIGHT_PRIMARY_100, COLOR_LIGHT_PRIMARY_200, COLOR_LIGHT_PRIMARY_300, COLOR_LIGHT_PRIMARY_400, COLOR_LIGHT_PRIMARY_50, COLOR_LIGHT_PRIMARY_500, COLOR_LIGHT_PRIMARY_600, COLOR_LIGHT_PRIMARY_700, COLOR_LIGHT_PRIMARY_800, COLOR_LIGHT_PRIMARY_900, COLOR_LIGHT_SECONDARY_0, COLOR_LIGHT_SECONDARY_100, COLOR_LIGHT_SECONDARY_200, COLOR_LIGHT_SECONDARY_300, COLOR_LIGHT_SECONDARY_400, COLOR_LIGHT_SECONDARY_50, COLOR_LIGHT_SECONDARY_500, COLOR_LIGHT_SECONDARY_600, COLOR_LIGHT_SECONDARY_700, COLOR_LIGHT_SECONDARY_800, COLOR_LIGHT_SECONDARY_900, COLOR_LIGHT_SUCCESS_0, COLOR_LIGHT_SUCCESS_100, COLOR_LIGHT_SUCCESS_200, COLOR_LIGHT_SUCCESS_300, COLOR_LIGHT_SUCCESS_400, COLOR_LIGHT_SUCCESS_50, COLOR_LIGHT_SUCCESS_500, COLOR_LIGHT_SUCCESS_600, COLOR_LIGHT_SUCCESS_700, COLOR_LIGHT_SUCCESS_800, COLOR_LIGHT_SUCCESS_900, COLOR_LIGHT_TERTIARY_0, COLOR_LIGHT_TERTIARY_100, COLOR_LIGHT_TERTIARY_200, COLOR_LIGHT_TERTIARY_300, COLOR_LIGHT_TERTIARY_400, COLOR_LIGHT_TERTIARY_50, COLOR_LIGHT_TERTIARY_500, COLOR_LIGHT_TERTIARY_600, COLOR_LIGHT_TERTIARY_700, COLOR_LIGHT_TERTIARY_800, COLOR_LIGHT_TERTIARY_900, COLOR_LIGHT_WARNING_0, COLOR_LIGHT_WARNING_100, COLOR_LIGHT_WARNING_200, COLOR_LIGHT_WARNING_300, COLOR_LIGHT_WARNING_400, COLOR_LIGHT_WARNING_50, COLOR_LIGHT_WARNING_500, COLOR_LIGHT_WARNING_600, COLOR_LIGHT_WARNING_700, COLOR_LIGHT_WARNING_800, COLOR_LIGHT_WARNING_900, SCHEME_LIGHT_CONTRAST, SCHEME_LIGHT_SELECTION, SCHEME_DARK_CONTRAST, SCHEME_DARK_SELECTION, VARIANT_PRIMARY, VARIANT_SECONDARY, VARIANT_DANGER, VARIANT_HIGHLIGHT, VARIANT_INFO, VARIANT_NEUTRAL, VARIANT_SUCCESS, VARIANT_TERTIARY, VARIANT_WARNING, ELEVATION_KEY_LIGHT, ELEVATION_KEY_REGULAR, ELEVATION_KEY_SEMILIGHT, ELEVATION_KEY_BOLD, ELEVATION_KEY_EXTRABOLD, ELEVATION_KEY_SEMIBOLD, TYPOGRAPHY_KEY_BODY1, TYPOGRAPHY_KEY_BODY2, TYPOGRAPHY_KEY_BUTTON, TYPOGRAPHY_KEY_CAPTION, TYPOGRAPHY_KEY_HEADLINE1, TYPOGRAPHY_KEY_HEADLINE2, TYPOGRAPHY_KEY_HEADLINE3, TYPOGRAPHY_KEY_HEADLINE4, TYPOGRAPHY_KEY_HEADLINE5, TYPOGRAPHY_KEY_HEADLINE6, TYPOGRAPHY_KEY_OVERLINE, TYPOGRAPHY_KEY_SUBTITLE1, TYPOGRAPHY_KEY_SUBTITLE2, ELEVATION_DARK_BOLD, ELEVATION_DARK_EXTRABOLD, ELEVATION_DARK_LIGHT, ELEVATION_DARK_REGULAR, ELEVATION_DARK_SEMIBOLD, ELEVATION_DARK_SEMILIGHT, ELEVATION_LIGHT_BOLD, ELEVATION_LIGHT_EXTRABOLD, ELEVATION_LIGHT_LIGHT, ELEVATION_LIGHT_REGULAR, ELEVATION_LIGHT_SEMIBOLD, ELEVATION_LIGHT_SEMILIGHT, SCHEME_LIGHT_SURFACE, SCHEME_DARK_SURFACE } from './Tokens/JoyTokens';\nimport type { IThemeMetadata } from './Utils/IThemeMetadata';\n\n// #endregion\n\nexport namespace JoyTheme {\n\n export const JOY_THEME = ThemeFactory.create({\n name: NAME,\n scheme: {\n light: {\n surface: SCHEME_LIGHT_SURFACE,\n background: SCHEME_LIGHT_BACKGROUND,\n foreground: SCHEME_LIGHT_FOREGROUND,\n highlight: SCHEME_LIGHT_HIGHLIGHT,\n middlelight: SCHEME_LIGHT_MIDDLELIGHT,\n lowlight: SCHEME_LIGHT_LOWLIGHT,\n transparent: SCHEME_LIGHT_TRANSPARENT,\n semiTransparent: SCHEME_LIGHT_SEMI_TRANSPARENT,\n disabled: SCHEME_LIGHT_DISABLED,\n contrast: SCHEME_LIGHT_CONTRAST,\n selection: SCHEME_LIGHT_SELECTION\n },\n dark: {\n surface: SCHEME_DARK_SURFACE,\n background: SCHEME_DARK_BACKGROUND,\n foreground: SCHEME_DARK_FOREGROUND,\n highlight: SCHEME_DARK_HIGHLIGHT,\n middlelight: SCHEME_DARK_MIDDLELIGHT,\n lowlight: SCHEME_DARK_LOWLIGHT,\n transparent: SCHEME_DARK_TRANSPARENT,\n semiTransparent: SCHEME_DARK_SEMI_TRANSPARENT,\n disabled: SCHEME_DARK_DISABLED,\n contrast: SCHEME_DARK_CONTRAST,\n selection: SCHEME_DARK_SELECTION\n }\n },\n palette: {\n light: {\n primary: {\n 0: COLOR_LIGHT_PRIMARY_0,\n 50: COLOR_LIGHT_PRIMARY_50,\n 100: COLOR_LIGHT_PRIMARY_100,\n 200: COLOR_LIGHT_PRIMARY_200,\n 300: COLOR_LIGHT_PRIMARY_300,\n 400: COLOR_LIGHT_PRIMARY_400,\n 500: COLOR_LIGHT_PRIMARY_500,\n 600: COLOR_LIGHT_PRIMARY_600,\n 700: COLOR_LIGHT_PRIMARY_700,\n 800: COLOR_LIGHT_PRIMARY_800,\n 900: COLOR_LIGHT_PRIMARY_900\n },\n secondary: {\n 0: COLOR_LIGHT_SECONDARY_0,\n 50: COLOR_LIGHT_SECONDARY_50,\n 100: COLOR_LIGHT_SECONDARY_100,\n 200: COLOR_LIGHT_SECONDARY_200,\n 300: COLOR_LIGHT_SECONDARY_300,\n 400: COLOR_LIGHT_SECONDARY_400,\n 500: COLOR_LIGHT_SECONDARY_500,\n 600: COLOR_LIGHT_SECONDARY_600,\n 700: COLOR_LIGHT_SECONDARY_700,\n 800: COLOR_LIGHT_SECONDARY_800,\n 900: COLOR_LIGHT_SECONDARY_900\n },\n tertiary: {\n 0: COLOR_LIGHT_TERTIARY_0,\n 50: COLOR_LIGHT_TERTIARY_50,\n 100: COLOR_LIGHT_TERTIARY_100,\n 200: COLOR_LIGHT_TERTIARY_200,\n 300: COLOR_LIGHT_TERTIARY_300,\n 400: COLOR_LIGHT_TERTIARY_400,\n 500: COLOR_LIGHT_TERTIARY_500,\n 600: COLOR_LIGHT_TERTIARY_600,\n 700: COLOR_LIGHT_TERTIARY_700,\n 800: COLOR_LIGHT_TERTIARY_800,\n 900: COLOR_LIGHT_TERTIARY_900\n },\n info: {\n 0: COLOR_LIGHT_INFO_0,\n 50: COLOR_LIGHT_INFO_50,\n 100: COLOR_LIGHT_INFO_100,\n 200: COLOR_LIGHT_INFO_200,\n 300: COLOR_LIGHT_INFO_300,\n 400: COLOR_LIGHT_INFO_400,\n 500: COLOR_LIGHT_INFO_500,\n 600: COLOR_LIGHT_INFO_600,\n 700: COLOR_LIGHT_INFO_700,\n 800: COLOR_LIGHT_INFO_800,\n 900: COLOR_LIGHT_INFO_900\n },\n warning: {\n 0: COLOR_LIGHT_WARNING_0,\n 50: COLOR_LIGHT_WARNING_50,\n 100: COLOR_LIGHT_WARNING_100,\n 200: COLOR_LIGHT_WARNING_200,\n 300: COLOR_LIGHT_WARNING_300,\n 400: COLOR_LIGHT_WARNING_400,\n 500: COLOR_LIGHT_WARNING_500,\n 600: COLOR_LIGHT_WARNING_600,\n 700: COLOR_LIGHT_WARNING_700,\n 800: COLOR_LIGHT_WARNING_800,\n 900: COLOR_LIGHT_WARNING_900\n },\n danger: {\n 0: COLOR_LIGHT_DANGER_0,\n 50: COLOR_LIGHT_DANGER_50,\n 100: COLOR_LIGHT_DANGER_100,\n 200: COLOR_LIGHT_DANGER_200,\n 300: COLOR_LIGHT_DANGER_300,\n 400: COLOR_LIGHT_DANGER_400,\n 500: COLOR_LIGHT_DANGER_500,\n 600: COLOR_LIGHT_DANGER_600,\n 700: COLOR_LIGHT_DANGER_700,\n 800: COLOR_LIGHT_DANGER_800,\n 900: COLOR_LIGHT_DANGER_900\n },\n success: {\n 0: COLOR_LIGHT_SUCCESS_0,\n 50: COLOR_LIGHT_SUCCESS_50,\n 100: COLOR_LIGHT_SUCCESS_100,\n 200: COLOR_LIGHT_SUCCESS_200,\n 300: COLOR_LIGHT_SUCCESS_300,\n 400: COLOR_LIGHT_SUCCESS_400,\n 500: COLOR_LIGHT_SUCCESS_500,\n 600: COLOR_LIGHT_SUCCESS_600,\n 700: COLOR_LIGHT_SUCCESS_700,\n 800: COLOR_LIGHT_SUCCESS_800,\n 900: COLOR_LIGHT_SUCCESS_900\n },\n highlight: {\n 0: COLOR_LIGHT_HIGHLIGHT_0,\n 50: COLOR_LIGHT_HIGHLIGHT_50,\n 100: COLOR_LIGHT_HIGHLIGHT_100,\n 200: COLOR_LIGHT_HIGHLIGHT_200,\n 300: COLOR_LIGHT_HIGHLIGHT_300,\n 400: COLOR_LIGHT_HIGHLIGHT_400,\n 500: COLOR_LIGHT_HIGHLIGHT_500,\n 600: COLOR_LIGHT_HIGHLIGHT_600,\n 700: COLOR_LIGHT_HIGHLIGHT_700,\n 800: COLOR_LIGHT_HIGHLIGHT_800,\n 900: COLOR_LIGHT_HIGHLIGHT_900\n },\n neutral: {\n 0: COLOR_LIGHT_NEUTRAL_0,\n 50: COLOR_LIGHT_NEUTRAL_50,\n 100: COLOR_LIGHT_NEUTRAL_100,\n 200: COLOR_LIGHT_NEUTRAL_200,\n 300: COLOR_LIGHT_NEUTRAL_300,\n 400: COLOR_LIGHT_NEUTRAL_400,\n 500: COLOR_LIGHT_NEUTRAL_500,\n 600: COLOR_LIGHT_NEUTRAL_600,\n 700: COLOR_LIGHT_NEUTRAL_700,\n 800: COLOR_LIGHT_NEUTRAL_800,\n 900: COLOR_LIGHT_NEUTRAL_900\n }\n },\n dark: {\n primary: {\n 0: COLOR_DARK_PRIMARY_0,\n 50: COLOR_DARK_PRIMARY_50,\n 100: COLOR_DARK_PRIMARY_100,\n 200: COLOR_DARK_PRIMARY_200,\n 300: COLOR_DARK_PRIMARY_300,\n 400: COLOR_DARK_PRIMARY_400,\n 500: COLOR_DARK_PRIMARY_500,\n 600: COLOR_DARK_PRIMARY_600,\n 700: COLOR_DARK_PRIMARY_700,\n 800: COLOR_DARK_PRIMARY_800,\n 900: COLOR_DARK_PRIMARY_900\n },\n secondary: {\n 0: COLOR_DARK_SECONDARY_0,\n 50: COLOR_DARK_SECONDARY_50,\n 100: COLOR_DARK_SECONDARY_100,\n 200: COLOR_DARK_SECONDARY_200,\n 300: COLOR_DARK_SECONDARY_300,\n 400: COLOR_DARK_SECONDARY_400,\n 500: COLOR_DARK_SECONDARY_500,\n 600: COLOR_DARK_SECONDARY_600,\n 700: COLOR_DARK_SECONDARY_700,\n 800: COLOR_DARK_SECONDARY_800,\n 900: COLOR_DARK_SECONDARY_900\n },\n tertiary: {\n 0: COLOR_DARK_TERTIARY_0,\n 50: COLOR_DARK_TERTIARY_50,\n 100: COLOR_DARK_TERTIARY_100,\n 200: COLOR_DARK_TERTIARY_200,\n 300: COLOR_DARK_TERTIARY_300,\n 400: COLOR_DARK_TERTIARY_400,\n 500: COLOR_DARK_TERTIARY_500,\n 600: COLOR_DARK_TERTIARY_600,\n 700: COLOR_DARK_TERTIARY_700,\n 800: COLOR_DARK_TERTIARY_800,\n 900: COLOR_DARK_TERTIARY_900\n },\n info: {\n 0: COLOR_DARK_INFO_0,\n 50: COLOR_DARK_INFO_50,\n 100: COLOR_DARK_INFO_100,\n 200: COLOR_DARK_INFO_200,\n 300: COLOR_DARK_INFO_300,\n 400: COLOR_DARK_INFO_400,\n 500: COLOR_DARK_INFO_500,\n 600: COLOR_DARK_INFO_600,\n 700: COLOR_DARK_INFO_700,\n 800: COLOR_DARK_INFO_800,\n 900: COLOR_DARK_INFO_900\n },\n warning: {\n 0: COLOR_DARK_WARNING_0,\n 50: COLOR_DARK_WARNING_50,\n 100: COLOR_DARK_WARNING_100,\n 200: COLOR_DARK_WARNING_200,\n 300: COLOR_DARK_WARNING_300,\n 400: COLOR_DARK_WARNING_400,\n 500: COLOR_DARK_WARNING_500,\n 600: COLOR_DARK_WARNING_600,\n 700: COLOR_DARK_WARNING_700,\n 800: COLOR_DARK_WARNING_800,\n 900: COLOR_DARK_WARNING_900\n },\n danger: {\n 0: COLOR_DARK_DANGER_0,\n 50: COLOR_DARK_DANGER_50,\n 100: COLOR_DARK_DANGER_100,\n 200: COLOR_DARK_DANGER_200,\n 300: COLOR_DARK_DANGER_300,\n 400: COLOR_DARK_DANGER_400,\n 500: COLOR_DARK_DANGER_500,\n 600: COLOR_DARK_DANGER_600,\n 700: COLOR_DARK_DANGER_700,\n 800: COLOR_DARK_DANGER_800,\n 900: COLOR_DARK_DANGER_900\n },\n success: {\n 0: COLOR_DARK_SUCCESS_0,\n 50: COLOR_DARK_SUCCESS_50,\n 100: COLOR_DARK_SUCCESS_100,\n 200: COLOR_DARK_SUCCESS_200,\n 300: COLOR_DARK_SUCCESS_300,\n 400: COLOR_DARK_SUCCESS_400,\n 500: COLOR_DARK_SUCCESS_500,\n 600: COLOR_DARK_SUCCESS_600,\n 700: COLOR_DARK_SUCCESS_700,\n 800: COLOR_DARK_SUCCESS_800,\n 900: COLOR_DARK_SUCCESS_900\n },\n highlight: {\n 0: COLOR_DARK_HIGHLIGHT_0,\n 50: COLOR_DARK_HIGHLIGHT_50,\n 100: COLOR_DARK_HIGHLIGHT_100,\n 200: COLOR_DARK_HIGHLIGHT_200,\n 300: COLOR_DARK_HIGHLIGHT_300,\n 400: COLOR_DARK_HIGHLIGHT_400,\n 500: COLOR_DARK_HIGHLIGHT_500,\n 600: COLOR_DARK_HIGHLIGHT_600,\n 700: COLOR_DARK_HIGHLIGHT_700,\n 800: COLOR_DARK_HIGHLIGHT_800,\n 900: COLOR_DARK_HIGHLIGHT_900\n },\n neutral: {\n 0: COLOR_DARK_NEUTRAL_0,\n 50: COLOR_DARK_NEUTRAL_50,\n 100: COLOR_DARK_NEUTRAL_100,\n 200: COLOR_DARK_NEUTRAL_200,\n 300: COLOR_DARK_NEUTRAL_300,\n 400: COLOR_DARK_NEUTRAL_400,\n 500: COLOR_DARK_NEUTRAL_500,\n 600: COLOR_DARK_NEUTRAL_600,\n 700: COLOR_DARK_NEUTRAL_700,\n 800: COLOR_DARK_NEUTRAL_800,\n 900: COLOR_DARK_NEUTRAL_900\n }\n }\n },\n fontFamily: FONT_FAMILY,\n typography: {\n headline1: {\n fontFamily: TYPOGRAPHY_HEADLINE1_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE1_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE1_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE1_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE1_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE1_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM\n },\n headline2: {\n fontFamily: TYPOGRAPHY_HEADLINE2_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE2_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE2_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE2_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE2_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE2_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM\n },\n headline3: {\n fontFamily: TYPOGRAPHY_HEADLINE3_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE3_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE3_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE3_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE3_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE3_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM\n },\n headline4: {\n fontFamily: TYPOGRAPHY_HEADLINE4_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE4_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE4_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE4_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE4_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE4_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM\n },\n headline5: {\n fontFamily: TYPOGRAPHY_HEADLINE5_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE5_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE5_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE5_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE5_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE5_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM\n },\n headline6: {\n fontFamily: TYPOGRAPHY_HEADLINE6_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE6_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE6_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE6_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE6_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE6_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM\n },\n subtitle1: {\n fontFamily: TYPOGRAPHY_SUBTITLE1_FONT_FAMILY,\n fontSize: TYPOGRAPHY_SUBTITLE1_FONT_SIZE,\n lineHeight: TYPOGRAPHY_SUBTITLE1_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_SUBTITLE1_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_SUBTITLE1_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_SUBTITLE1_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_SUBTITLE1_TEXT_TRANSFORM\n },\n subtitle2: {\n fontFamily: TYPOGRAPHY_SUBTITLE2_FONT_FAMILY,\n fontSize: TYPOGRAPHY_SUBTITLE2_FONT_SIZE,\n lineHeight: TYPOGRAPHY_SUBTITLE2_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_SUBTITLE2_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_SUBTITLE2_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_SUBTITLE2_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_SUBTITLE2_TEXT_TRANSFORM\n },\n body1: {\n fontFamily: TYPOGRAPHY_BODY1_FONT_FAMILY,\n fontSize: TYPOGRAPHY_BODY1_FONT_SIZE,\n lineHeight: TYPOGRAPHY_BODY1_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_BODY1_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_BODY1_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_BODY1_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_BODY1_TEXT_TRANSFORM\n },\n body2: {\n fontFamily: TYPOGRAPHY_BODY2_FONT_FAMILY,\n fontSize: TYPOGRAPHY_BODY2_FONT_SIZE,\n lineHeight: TYPOGRAPHY_BODY2_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_BODY2_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_BODY2_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_BODY2_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_BODY2_TEXT_TRANSFORM\n },\n caption: {\n fontFamily: TYPOGRAPHY_CAPTION_FONT_FAMILY,\n fontSize: TYPOGRAPHY_CAPTION_FONT_SIZE,\n lineHeight: TYPOGRAPHY_CAPTION_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_CAPTION_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_CAPTION_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_CAPTION_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_CAPTION_TEXT_TRANSFORM\n },\n overline: {\n fontFamily: TYPOGRAPHY_OVERLINE_FONT_FAMILY,\n fontSize: TYPOGRAPHY_OVERLINE_FONT_SIZE,\n lineHeight: TYPOGRAPHY_OVERLINE_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_OVERLINE_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_OVERLINE_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_OVERLINE_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_OVERLINE_TEXT_TRANSFORM\n },\n button: {\n fontFamily: TYPOGRAPHY_BUTTON_FONT_FAMILY,\n fontSize: TYPOGRAPHY_BUTTON_FONT_SIZE,\n lineHeight: TYPOGRAPHY_BUTTON_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_BUTTON_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_BUTTON_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_BUTTON_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_BUTTON_TEXT_TRANSFORM\n }\n },\n layout: {\n radius: LAYOUT_RADIUS,\n space: LAYOUT_SPACE,\n thickness: LAYOUT_THICKNESS\n },\n elevation: {\n light: {\n light: ELEVATION_LIGHT_LIGHT,\n semilight: ELEVATION_LIGHT_SEMILIGHT,\n regular: ELEVATION_LIGHT_REGULAR,\n semibold: ELEVATION_LIGHT_SEMIBOLD,\n bold: ELEVATION_LIGHT_BOLD,\n extrabold: ELEVATION_LIGHT_EXTRABOLD\n },\n dark: {\n light: ELEVATION_DARK_LIGHT,\n semilight: ELEVATION_DARK_SEMILIGHT,\n regular: ELEVATION_DARK_REGULAR,\n semibold: ELEVATION_DARK_SEMIBOLD,\n bold: ELEVATION_DARK_BOLD,\n extrabold: ELEVATION_DARK_EXTRABOLD\n }\n }\n });\n\n export const JOY_THEME_PALETTES = [VARIANT_PRIMARY, VARIANT_SECONDARY, VARIANT_TERTIARY, VARIANT_DANGER, VARIANT_INFO, VARIANT_WARNING, VARIANT_SUCCESS, VARIANT_HIGHLIGHT, VARIANT_NEUTRAL];\n\n export const JOY_THEME_PALETTE_VARIANTS = ['0', '50', '100', '200', '300', '400', '500', '600', '700', '800', '900'];\n\n export const JOY_THEME_SCHEMES = ['light', 'dark'];\n\n export const JOY_THEME_SCHEME_VARIANTS = ['surface', 'background', 'foreground', 'highlight', 'middlelight', 'lowlight', 'transparent', 'semiTransparent', 'disabled', 'contrast', 'selection'];\n\n export const JOY_THEME_ELEVATION = ['light', 'dark'];\n\n export const JOY_THEME_ELEVATION_VARIANTS = [ELEVATION_KEY_LIGHT, ELEVATION_KEY_SEMILIGHT, ELEVATION_KEY_REGULAR, ELEVATION_KEY_SEMIBOLD, ELEVATION_KEY_BOLD, ELEVATION_KEY_EXTRABOLD];\n\n export const JOY_THEME_TYPOGRAPHY = [TYPOGRAPHY_KEY_HEADLINE1, TYPOGRAPHY_KEY_HEADLINE2, TYPOGRAPHY_KEY_HEADLINE3, TYPOGRAPHY_KEY_HEADLINE4, TYPOGRAPHY_KEY_HEADLINE5, TYPOGRAPHY_KEY_HEADLINE6, TYPOGRAPHY_KEY_SUBTITLE1, TYPOGRAPHY_KEY_SUBTITLE2, TYPOGRAPHY_KEY_BODY1, TYPOGRAPHY_KEY_BODY2, TYPOGRAPHY_KEY_CAPTION, TYPOGRAPHY_KEY_OVERLINE, TYPOGRAPHY_KEY_BUTTON];\n\n export const JOY_THEME_METADATA: IThemeMetadata = {\n theme: JOY_THEME,\n palettes: JOY_THEME_PALETTES,\n paletteVariants: JOY_THEME_PALETTE_VARIANTS,\n schemes: JOY_THEME_SCHEMES,\n schemeVariants: JOY_THEME_SCHEME_VARIANTS,\n elevation: JOY_THEME_ELEVATION,\n elevationVariants: JOY_THEME_ELEVATION_VARIANTS,\n typographies: JOY_THEME_TYPOGRAPHY\n };\n\n}\n","/**\n * Do not edit directly, this file was auto-generated.\n */\n\nexport const NAME = \"memphis\";\nexport const FONT_FAMILY = \"Nunito, sans-serif\";\nexport const LAYOUT_RADIUS = \"0px\";\nexport const LAYOUT_SPACE = \"10px\";\nexport const LAYOUT_THICKNESS = \"3px\";\nexport const SCHEME_LIGHT_SURFACE = \"#ffffff\";\nexport const SCHEME_LIGHT_BACKGROUND = \"#eaeaea\";\nexport const SCHEME_LIGHT_FOREGROUND = \"#3c454f\";\nexport const SCHEME_LIGHT_HIGHLIGHT = \"#d1d1d1\";\nexport const SCHEME_LIGHT_MIDDLELIGHT = \"#8a8a8a\";\nexport const SCHEME_LIGHT_LOWLIGHT = \"#5c5c5c\";\nexport const SCHEME_LIGHT_TRANSPARENT = \"rgba(255, 255, 255, 0)\";\nexport const SCHEME_LIGHT_SEMI_TRANSPARENT = \"rgba(255, 255, 255, 0.67)\";\nexport const SCHEME_LIGHT_DISABLED = \"#686868\";\nexport const SCHEME_LIGHT_CONTRAST = \"#333333\";\nexport const SCHEME_LIGHT_SELECTION = \"#a8c0ff\";\nexport const SCHEME_DARK_SURFACE = \"#2e2e2e\";\nexport const SCHEME_DARK_BACKGROUND = \"#151515\";\nexport const SCHEME_DARK_FOREGROUND = \"#c3bab0\";\nexport const SCHEME_DARK_HIGHLIGHT = \"#2e2e2e\";\nexport const SCHEME_DARK_MIDDLELIGHT = \"#757575\";\nexport const SCHEME_DARK_LOWLIGHT = \"#a3a3a3\";\nexport const SCHEME_DARK_TRANSPARENT = \"rgba(255, 255, 255, 0)\";\nexport const SCHEME_DARK_SEMI_TRANSPARENT = \"rgba(0, 0, 0, 0.67)\";\nexport const SCHEME_DARK_DISABLED = \"#474747\";\nexport const SCHEME_DARK_CONTRAST = \"#ffffff\";\nexport const SCHEME_DARK_SELECTION = \"#6666ff\";\nexport const COLOR_LIGHT_PRIMARY_0 = \"#ffffff\";\nexport const COLOR_LIGHT_PRIMARY_50 = \"#fce4ec\";\nexport const COLOR_LIGHT_PRIMARY_100 = \"#f8bcd0\";\nexport const COLOR_LIGHT_PRIMARY_200 = \"#f48fb1\";\nexport const COLOR_LIGHT_PRIMARY_300 = \"#f06292\";\nexport const COLOR_LIGHT_PRIMARY_400 = \"#ec407a\";\nexport const COLOR_LIGHT_PRIMARY_500 = \"#e91e63\";\nexport const COLOR_LIGHT_PRIMARY_600 = \"#cb1a56\";\nexport const COLOR_LIGHT_PRIMARY_700 = \"#a31545\";\nexport const COLOR_LIGHT_PRIMARY_800 = \"#7e1035\";\nexport const COLOR_LIGHT_PRIMARY_900 = \"#3a0819\";\nexport const COLOR_LIGHT_SECONDARY_0 = \"#ffffff\";\nexport const COLOR_LIGHT_SECONDARY_50 = \"#e6f6e9\";\nexport const COLOR_LIGHT_SECONDARY_100 = \"#c3e8c9\";\nexport const COLOR_LIGHT_SECONDARY_200 = \"#9bd9a7\";\nexport const COLOR_LIGHT_SECONDARY_300 = \"#70cb83\";\nexport const COLOR_LIGHT_SECONDARY_400 = \"#4dbf68\";\nexport const COLOR_LIGHT_SECONDARY_500 = \"#21b34d\";\nexport const COLOR_LIGHT_SECONDARY_600 = \"#16a444\";\nexport const COLOR_LIGHT_SECONDARY_700 = \"#009238\";\nexport const COLOR_LIGHT_SECONDARY_800 = \"#00812d\";\nexport const COLOR_LIGHT_SECONDARY_900 = \"#006218\";\nexport const COLOR_LIGHT_TERTIARY_0 = \"#ffffff\";\nexport const COLOR_LIGHT_TERTIARY_50 = \"#e1f5fc\";\nexport const COLOR_LIGHT_TERTIARY_100 = \"#b4e6f7\";\nexport const COLOR_LIGHT_TERTIARY_200 = \"#84d5f3\";\nexport const COLOR_LIGHT_TERTIARY_300 = \"#56c5ee\";\nexport const COLOR_LIGHT_TERTIARY_400 = \"#35b8eb\";\nexport const COLOR_LIGHT_TERTIARY_500 = \"#19ace9\";\nexport const COLOR_LIGHT_TERTIARY_600 = \"#139edb\";\nexport const COLOR_LIGHT_TERTIARY_700 = \"#098bc7\";\nexport const COLOR_LIGHT_TERTIARY_800 = \"#087ab4\";\nexport const COLOR_LIGHT_TERTIARY_900 = \"#005a92\";\nexport const COLOR_LIGHT_INFO_0 = \"#ffffff\";\nexport const COLOR_LIGHT_INFO_50 = \"#f4faff\";\nexport const COLOR_LIGHT_INFO_100 = \"#ddf1ff\";\nexport const COLOR_LIGHT_INFO_200 = \"#addbff\";\nexport const COLOR_LIGHT_INFO_300 = \"#6fb6ff\";\nexport const COLOR_LIGHT_INFO_400 = \"#3990ff\";\nexport const COLOR_LIGHT_INFO_500 = \"#096bde\";\nexport const COLOR_LIGHT_INFO_600 = \"#054da7\";\nexport const COLOR_LIGHT_INFO_700 = \"#02367d\";\nexport const COLOR_LIGHT_INFO_800 = \"#072859\";\nexport const COLOR_LIGHT_INFO_900 = \"#00153c\";\nexport const COLOR_LIGHT_WARNING_0 = \"#ffffff\";\nexport const COLOR_LIGHT_WARNING_50 = \"#fff8c5\";\nexport const COLOR_LIGHT_WARNING_100 = \"#fae17d\";\nexport const COLOR_LIGHT_WARNING_200 = \"#eac54f\";\nexport const COLOR_LIGHT_WARNING_300 = \"#d4a72c\";\nexport const COLOR_LIGHT_WARNING_400 = \"#bf8700\";\nexport const COLOR_LIGHT_WARNING_500 = \"#9a6700\";\nexport const COLOR_LIGHT_WARNING_600 = \"#7d4e00\";\nexport const COLOR_LIGHT_WARNING_700 = \"#633c01\";\nexport const COLOR_LIGHT_WARNING_800 = \"#4d2d00\";\nexport const COLOR_LIGHT_WARNING_900 = \"#3b2300\";\nexport const COLOR_LIGHT_DANGER_0 = \"#ffffff\";\nexport const COLOR_LIGHT_DANGER_50 = \"#fff8f6\";\nexport const COLOR_LIGHT_DANGER_100 = \"#ffe9e8\";\nexport const COLOR_LIGHT_DANGER_200 = \"#ffc7c5\";\nexport const COLOR_LIGHT_DANGER_300 = \"#ff9192\";\nexport const COLOR_LIGHT_DANGER_400 = \"#fa5255\";\nexport const COLOR_LIGHT_DANGER_500 = \"#d3232f\";\nexport const COLOR_LIGHT_DANGER_600 = \"#a10e25\";\nexport const COLOR_LIGHT_DANGER_700 = \"#77061b\";\nexport const COLOR_LIGHT_DANGER_800 = \"#580013\";\nexport const COLOR_LIGHT_DANGER_900 = \"#39000d\";\nexport const COLOR_LIGHT_SUCCESS_0 = \"#ffffff\";\nexport const COLOR_LIGHT_SUCCESS_50 = \"#f3fef5\";\nexport const COLOR_LIGHT_SUCCESS_100 = \"#d7f5dd\";\nexport const COLOR_LIGHT_SUCCESS_200 = \"#77ec95\";\nexport const COLOR_LIGHT_SUCCESS_300 = \"#4cc76e\";\nexport const COLOR_LIGHT_SUCCESS_400 = \"#2ca24d\";\nexport const COLOR_LIGHT_SUCCESS_500 = \"#1a7d36\";\nexport const COLOR_LIGHT_SUCCESS_600 = \"#0f5d26\";\nexport const COLOR_LIGHT_SUCCESS_700 = \"#034318\";\nexport const COLOR_LIGHT_SUCCESS_800 = \"#002f0f\";\nexport const COLOR_LIGHT_SUCCESS_900 = \"#001d09\";\nexport const COLOR_LIGHT_HIGHLIGHT_0 = \"#ffffff\";\nexport const COLOR_LIGHT_HIGHLIGHT_50 = \"#fdf7ff\";\nexport const COLOR_LIGHT_HIGHLIGHT_100 = \"#f4eaff\";\nexport const COLOR_LIGHT_HIGHLIGHT_200 = \"#e1cbff\";\nexport const COLOR_LIGHT_HIGHLIGHT_300 = \"#c69eff\";\nexport const COLOR_LIGHT_HIGHLIGHT_400 = \"#a374f9\";\nexport const COLOR_LIGHT_HIGHLIGHT_500 = \"#814dde\";\nexport const COLOR_LIGHT_HIGHLIGHT_600 = \"#5f35ae\";\nexport const COLOR_LIGHT_HIGHLIGHT_700 = \"#452382\";\nexport const COLOR_LIGHT_HIGHLIGHT_800 = \"#301761\";\nexport const COLOR_LIGHT_HIGHLIGHT_900 = \"#1d0a42\";\nexport const COLOR_LIGHT_NEUTRAL_0 = \"#ffffff\";\nexport const COLOR_LIGHT_NEUTRAL_50 = \"#f7f7f8\";\nexport const COLOR_LIGHT_NEUTRAL_100 = \"#ebebef\";\nexport const COLOR_LIGHT_NEUTRAL_200 = \"#d8d8df\";\nexport const COLOR_LIGHT_NEUTRAL_300 = \"#b9b9c6\";\nexport const COLOR_LIGHT_NEUTRAL_400 = \"#8f8fa3\";\nexport const COLOR_LIGHT_NEUTRAL_500 = \"#73738c\";\nexport const COLOR_LIGHT_NEUTRAL_600 = \"#5a5a72\";\nexport const COLOR_LIGHT_NEUTRAL_700 = \"#434356\";\nexport const COLOR_LIGHT_NEUTRAL_800 = \"#25252d\";\nexport const COLOR_LIGHT_NEUTRAL_900 = \"#131318\";\nexport const COLOR_DARK_PRIMARY_0 = \"#000000\";\nexport const COLOR_DARK_PRIMARY_50 = \"#3a0819\";\nexport const COLOR_DARK_PRIMARY_100 = \"#7e1035\";\nexport const COLOR_DARK_PRIMARY_200 = \"#a31545\";\nexport const COLOR_DARK_PRIMARY_300 = \"#cb1a56\";\nexport const COLOR_DARK_PRIMARY_400 = \"#e91e63\";\nexport const COLOR_DARK_PRIMARY_500 = \"#ec407a\";\nexport const COLOR_DARK_PRIMARY_600 = \"#f06292\";\nexport const COLOR_DARK_PRIMARY_700 = \"#f48fb1\";\nexport const COLOR_DARK_PRIMARY_800 = \"#f8bcd0\";\nexport const COLOR_DARK_PRIMARY_900 = \"#fce4ec\";\nexport const COLOR_DARK_SECONDARY_0 = \"#000000\";\nexport const COLOR_DARK_SECONDARY_50 = \"#006218\";\nexport const COLOR_DARK_SECONDARY_100 = \"#00812d\";\nexport const COLOR_DARK_SECONDARY_200 = \"#009238\";\nexport const COLOR_DARK_SECONDARY_300 = \"#16a444\";\nexport const COLOR_DARK_SECONDARY_400 = \"#21b34d\";\nexport const COLOR_DARK_SECONDARY_500 = \"#4dbf68\";\nexport const COLOR_DARK_SECONDARY_600 = \"#70cb83\";\nexport const COLOR_DARK_SECONDARY_700 = \"#9bd9a7\";\nexport const COLOR_DARK_SECONDARY_800 = \"#c3e8c9\";\nexport const COLOR_DARK_SECONDARY_900 = \"#e6f6e9\";\nexport const COLOR_DARK_TERTIARY_0 = \"#000000\";\nexport const COLOR_DARK_TERTIARY_50 = \"#005a92\";\nexport const COLOR_DARK_TERTIARY_100 = \"#087ab4\";\nexport const COLOR_DARK_TERTIARY_200 = \"#098bc7\";\nexport const COLOR_DARK_TERTIARY_300 = \"#139edb\";\nexport const COLOR_DARK_TERTIARY_400 = \"#19ace9\";\nexport const COLOR_DARK_TERTIARY_500 = \"#35b8eb\";\nexport const COLOR_DARK_TERTIARY_600 = \"#56c5ee\";\nexport const COLOR_DARK_TERTIARY_700 = \"#84d5f3\";\nexport const COLOR_DARK_TERTIARY_800 = \"#b4e6f7\";\nexport const COLOR_DARK_TERTIARY_900 = \"#e1f5fc\";\nexport const COLOR_DARK_INFO_0 = \"#000000\";\nexport const COLOR_DARK_INFO_50 = \"#00153c\";\nexport const COLOR_DARK_INFO_100 = \"#072859\";\nexport const COLOR_DARK_INFO_200 = \"#02367d\";\nexport const COLOR_DARK_INFO_300 = \"#054da7\";\nexport const COLOR_DARK_INFO_400 = \"#096bde\";\nexport const COLOR_DARK_INFO_500 = \"#3990ff\";\nexport const COLOR_DARK_INFO_600 = \"#6fb6ff\";\nexport const COLOR_DARK_INFO_700 = \"#addbff\";\nexport const COLOR_DARK_INFO_800 = \"#ddf1ff\";\nexport const COLOR_DARK_INFO_900 = \"#f4faff\";\nexport const COLOR_DARK_WARNING_0 = \"#000000\";\nexport const COLOR_DARK_WARNING_50 = \"#3b2300\";\nexport const COLOR_DARK_WARNING_100 = \"#4d2d00\";\nexport const COLOR_DARK_WARNING_200 = \"#633c01\";\nexport const COLOR_DARK_WARNING_300 = \"#7d4e00\";\nexport const COLOR_DARK_WARNING_400 = \"#9a6700\";\nexport const COLOR_DARK_WARNING_500 = \"#bf8700\";\nexport const COLOR_DARK_WARNING_600 = \"#d4a72c\";\nexport const COLOR_DARK_WARNING_700 = \"#eac54f\";\nexport const COLOR_DARK_WARNING_800 = \"#fae17d\";\nexport const COLOR_DARK_WARNING_900 = \"#fff8c5\";\nexport const COLOR_DARK_DANGER_0 = \"#000000\";\nexport const COLOR_DARK_DANGER_50 = \"#39000d\";\nexport const COLOR_DARK_DANGER_100 = \"#580013\";\nexport const COLOR_DARK_DANGER_200 = \"#77061b\";\nexport const COLOR_DARK_DANGER_300 = \"#a10e25\";\nexport const COLOR_DARK_DANGER_400 = \"#d3232f\";\nexport const COLOR_DARK_DANGER_500 = \"#fa5255\";\nexport const COLOR_DARK_DANGER_600 = \"#ff9192\";\nexport const COLOR_DARK_DANGER_700 = \"#ffc7c5\";\nexport const COLOR_DARK_DANGER_800 = \"#ffe9e8\";\nexport const COLOR_DARK_DANGER_900 = \"#fff8f6\";\nexport const COLOR_DARK_SUCCESS_0 = \"#000000\";\nexport const COLOR_DARK_SUCCESS_50 = \"#001d09\";\nexport const COLOR_DARK_SUCCESS_100 = \"#002f0f\";\nexport const COLOR_DARK_SUCCESS_200 = \"#034318\";\nexport const COLOR_DARK_SUCCESS_300 = \"#0f5d26\";\nexport const COLOR_DARK_SUCCESS_400 = \"#1a7d36\";\nexport const COLOR_DARK_SUCCESS_500 = \"#2ca24d\";\nexport const COLOR_DARK_SUCCESS_600 = \"#4cc76e\";\nexport const COLOR_DARK_SUCCESS_700 = \"#77ec95\";\nexport const COLOR_DARK_SUCCESS_800 = \"#d7f5dd\";\nexport const COLOR_DARK_SUCCESS_900 = \"#f3fef5\";\nexport const COLOR_DARK_HIGHLIGHT_0 = \"#000000\";\nexport const COLOR_DARK_HIGHLIGHT_50 = \"#1d0a42\";\nexport const COLOR_DARK_HIGHLIGHT_100 = \"#301761\";\nexport const COLOR_DARK_HIGHLIGHT_200 = \"#452382\";\nexport const COLOR_DARK_HIGHLIGHT_300 = \"#5f35ae\";\nexport const COLOR_DARK_HIGHLIGHT_400 = \"#814dde\";\nexport const COLOR_DARK_HIGHLIGHT_500 = \"#a374f9\";\nexport const COLOR_DARK_HIGHLIGHT_600 = \"#c69eff\";\nexport const COLOR_DARK_HIGHLIGHT_700 = \"#e1cbff\";\nexport const COLOR_DARK_HIGHLIGHT_800 = \"#f4eaff\";\nexport const COLOR_DARK_HIGHLIGHT_900 = \"#fdf7ff\";\nexport const COLOR_DARK_NEUTRAL_0 = \"#000000\";\nexport const COLOR_DARK_NEUTRAL_50 = \"#131318\";\nexport const COLOR_DARK_NEUTRAL_100 = \"#25252d\";\nexport const COLOR_DARK_NEUTRAL_200 = \"#434356\";\nexport const COLOR_DARK_NEUTRAL_300 = \"#5a5a72\";\nexport const COLOR_DARK_NEUTRAL_400 = \"#73738c\";\nexport const COLOR_DARK_NEUTRAL_500 = \"#8f8fa3\";\nexport const COLOR_DARK_NEUTRAL_600 = \"#b9b9c6\";\nexport const COLOR_DARK_NEUTRAL_700 = \"#d8d8df\";\nexport const COLOR_DARK_NEUTRAL_800 = \"#ebebef\";\nexport const COLOR_DARK_NEUTRAL_900 = \"#f7f7f8\";\nexport const TYPOGRAPHY_HEADLINE1_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE1_FONT_SIZE = \"96px\";\nexport const TYPOGRAPHY_HEADLINE1_LINE_HEIGHT = \"100px\";\nexport const TYPOGRAPHY_HEADLINE1_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE1_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_HEADLINE1_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE2_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE2_FONT_SIZE = \"60px\";\nexport const TYPOGRAPHY_HEADLINE2_LINE_HEIGHT = \"64px\";\nexport const TYPOGRAPHY_HEADLINE2_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE2_LETTER_SPACING = \"-0.13333333333333333px\";\nexport const TYPOGRAPHY_HEADLINE2_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE3_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE3_FONT_SIZE = \"48px\";\nexport const TYPOGRAPHY_HEADLINE3_LINE_HEIGHT = \"52px\";\nexport const TYPOGRAPHY_HEADLINE3_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_HEADLINE3_LETTER_SPACING = \"normal\";\nexport const TYPOGRAPHY_HEADLINE3_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE4_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE4_FONT_SIZE = \"34px\";\nexport const TYPOGRAPHY_HEADLINE4_LINE_HEIGHT = \"38px\";\nexport const TYPOGRAPHY_HEADLINE4_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_HEADLINE4_LETTER_SPACING = \"0.11764705882352941px\";\nexport const TYPOGRAPHY_HEADLINE4_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE5_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE5_FONT_SIZE = \"24px\";\nexport const TYPOGRAPHY_HEADLINE5_LINE_HEIGHT = \"28px\";\nexport const TYPOGRAPHY_HEADLINE5_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_HEADLINE5_LETTER_SPACING = \"normal\";\nexport const TYPOGRAPHY_HEADLINE5_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE6_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE6_FONT_SIZE = \"20px\";\nexport const TYPOGRAPHY_HEADLINE6_LINE_HEIGHT = \"24px\";\nexport const TYPOGRAPHY_HEADLINE6_FONT_WEIGHT = \"500\";\nexport const TYPOGRAPHY_HEADLINE6_LETTER_SPACING = \"0.2px\";\nexport const TYPOGRAPHY_HEADLINE6_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_SUBTITLE1_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_SUBTITLE1_FONT_SIZE = \"16px\";\nexport const TYPOGRAPHY_SUBTITLE1_LINE_HEIGHT = \"20px\";\nexport const TYPOGRAPHY_SUBTITLE1_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_SUBTITLE1_LETTER_SPACING = \"0.15px\";\nexport const TYPOGRAPHY_SUBTITLE1_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_SUBTITLE1_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_SUBTITLE2_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_SUBTITLE2_FONT_SIZE = \"14px\";\nexport const TYPOGRAPHY_SUBTITLE2_LINE_HEIGHT = \"18px\";\nexport const TYPOGRAPHY_SUBTITLE2_FONT_WEIGHT = \"500\";\nexport const TYPOGRAPHY_SUBTITLE2_LETTER_SPACING = \"0.1142857142857143px\";\nexport const TYPOGRAPHY_SUBTITLE2_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_SUBTITLE2_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_BODY1_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_BODY1_FONT_SIZE = \"16px\";\nexport const TYPOGRAPHY_BODY1_LINE_HEIGHT = \"20px\";\nexport const TYPOGRAPHY_BODY1_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_BODY1_LETTER_SPACING = \"0.5px\";\nexport const TYPOGRAPHY_BODY1_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_BODY1_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_BODY2_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_BODY2_FONT_SIZE = \"14px\";\nexport const TYPOGRAPHY_BODY2_LINE_HEIGHT = \"18px\";\nexport const TYPOGRAPHY_BODY2_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_BODY2_LETTER_SPACING = \"0.2857142857142857px\";\nexport const TYPOGRAPHY_BODY2_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_BODY2_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_CAPTION_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_CAPTION_FONT_SIZE = \"12px\";\nexport const TYPOGRAPHY_CAPTION_LINE_HEIGHT = \"16px\";\nexport const TYPOGRAPHY_CAPTION_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_CAPTION_LETTER_SPACING = \"0.5333333333333333px\";\nexport const TYPOGRAPHY_CAPTION_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_CAPTION_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_BUTTON_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_BUTTON_FONT_SIZE = \"14px\";\nexport const TYPOGRAPHY_BUTTON_LINE_HEIGHT = \"18px\";\nexport const TYPOGRAPHY_BUTTON_FONT_WEIGHT = \"700\";\nexport const TYPOGRAPHY_BUTTON_LETTER_SPACING = \"1.4285714285714286px\";\nexport const TYPOGRAPHY_BUTTON_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_BUTTON_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_OVERLINE_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_OVERLINE_FONT_SIZE = \"12px\";\nexport const TYPOGRAPHY_OVERLINE_LINE_HEIGHT = \"16px\";\nexport const TYPOGRAPHY_OVERLINE_FONT_WEIGHT = \"500\";\nexport const TYPOGRAPHY_OVERLINE_LETTER_SPACING = \"2.6666666666666665px\";\nexport const TYPOGRAPHY_OVERLINE_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_OVERLINE_TEXT_TRANSFORM = \"none\";\nexport const ELEVATION_NONE = \"none\";\nexport const ELEVATION_LIGHT_LIGHT = \"2px 2px 0px 0px #333333\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_X_0 = \"2px\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_Y_0 = \"2px\";\nexport const ELEVATION_LIGHT_LIGHT_BLUR_0 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_COLOR_0 = \"#333333\";\nexport const ELEVATION_LIGHT_SEMILIGHT = \"3px 3px 0px 0px #333333\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_X_0 = \"3px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_Y_0 = \"3px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_BLUR_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_COLOR_0 = \"#333333\";\nexport const ELEVATION_LIGHT_REGULAR = \"4px 4px 0px 0px #333333\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_X_0 = \"4px\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_Y_0 = \"4px\";\nexport const ELEVATION_LIGHT_REGULAR_BLUR_0 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_COLOR_0 = \"#333333\";\nexport const ELEVATION_LIGHT_SEMIBOLD = \"5px 5px 0px 0px #333333\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_X_0 = \"5px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_Y_0 = \"5px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_BLUR_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_COLOR_0 = \"#333333\";\nexport const ELEVATION_LIGHT_BOLD = \"6px 6px 0px 0px #333333\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_X_0 = \"6px\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_Y_0 = \"6px\";\nexport const ELEVATION_LIGHT_BOLD_BLUR_0 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_COLOR_0 = \"#333333\";\nexport const ELEVATION_LIGHT_EXTRABOLD = \"7px 7px 0px 0px #333333\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_X_0 = \"7px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_Y_0 = \"7px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_BLUR_0 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_COLOR_0 = \"#333333\";\nexport const ELEVATION_DARK_LIGHT = \"2px 2px 0px 0px #ffffff\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_X_0 = \"2px\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_Y_0 = \"2px\";\nexport const ELEVATION_DARK_LIGHT_BLUR_0 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_COLOR_0 = \"#ffffff\";\nexport const ELEVATION_DARK_SEMILIGHT = \"3px 3px 0px 0px #ffffff\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_X_0 = \"3px\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_Y_0 = \"3px\";\nexport const ELEVATION_DARK_SEMILIGHT_BLUR_0 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_COLOR_0 = \"#ffffff\";\nexport const ELEVATION_DARK_REGULAR = \"4px 4px 0px 0px #ffffff\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_X_0 = \"4px\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_Y_0 = \"4px\";\nexport const ELEVATION_DARK_REGULAR_BLUR_0 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_COLOR_0 = \"#ffffff\";\nexport const ELEVATION_DARK_SEMIBOLD = \"5px 5px 0px 0px #ffffff\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_X_0 = \"5px\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_Y_0 = \"5px\";\nexport const ELEVATION_DARK_SEMIBOLD_BLUR_0 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_COLOR_0 = \"#ffffff\";\nexport const ELEVATION_DARK_BOLD = \"6px 6px 0px 0px #ffffff\";\nexport const ELEVATION_DARK_BOLD_OFFSET_X_0 = \"6px\";\nexport const ELEVATION_DARK_BOLD_OFFSET_Y_0 = \"6px\";\nexport const ELEVATION_DARK_BOLD_BLUR_0 = \"0px\";\nexport const ELEVATION_DARK_BOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_BOLD_COLOR_0 = \"#ffffff\";\nexport const ELEVATION_DARK_EXTRABOLD = \"7px 7px 0px 0px #ffffff\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_X_0 = \"7px\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_Y_0 = \"7px\";\nexport const ELEVATION_DARK_EXTRABOLD_BLUR_0 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_COLOR_0 = \"#ffffff\";\nexport const SIZE_TINY = \"2px\";\nexport const SIZE_SMALL = \"4px\";\nexport const SIZE_MEDIUM = \"8px\";\nexport const SIZE_LARGE = \"16px\";\nexport const SIZE_GIANT = \"32px\";\nexport const SIZE_KEY = \"tiny small medium large giant\";\nexport const SIZE_KEY_TINY = \"tiny\";\nexport const SIZE_KEY_SMALL = \"small\";\nexport const SIZE_KEY_MEDIUM = \"medium\";\nexport const SIZE_KEY_LARGE = \"large\";\nexport const SIZE_KEY_GIANT = \"giant\";\nexport const TYPOGRAPHY_KEY_HEADLINE1 = \"headline1\";\nexport const TYPOGRAPHY_KEY_HEADLINE2 = \"headline2\";\nexport const TYPOGRAPHY_KEY_HEADLINE3 = \"headline3\";\nexport const TYPOGRAPHY_KEY_HEADLINE4 = \"headline4\";\nexport const TYPOGRAPHY_KEY_HEADLINE5 = \"headline5\";\nexport const TYPOGRAPHY_KEY_HEADLINE6 = \"headline6\";\nexport const TYPOGRAPHY_KEY_SUBTITLE1 = \"subtitle1\";\nexport const TYPOGRAPHY_KEY_SUBTITLE2 = \"subtitle2\";\nexport const TYPOGRAPHY_KEY_BODY1 = \"body1\";\nexport const TYPOGRAPHY_KEY_BODY2 = \"body2\";\nexport const TYPOGRAPHY_KEY_CAPTION = \"caption\";\nexport const TYPOGRAPHY_KEY_BUTTON = \"button\";\nexport const TYPOGRAPHY_KEY_OVERLINE = \"overline\";\nexport const ELEVATION_KEY = \"light semilight regular semibold bold extrabold\";\nexport const ELEVATION_KEY_LIGHT = \"light\";\nexport const ELEVATION_KEY_SEMILIGHT = \"semilight\";\nexport const ELEVATION_KEY_REGULAR = \"regular\";\nexport const ELEVATION_KEY_SEMIBOLD = \"semibold\";\nexport const ELEVATION_KEY_BOLD = \"bold\";\nexport const ELEVATION_KEY_EXTRABOLD = \"extrabold\";\nexport const APPEARANCE = \"default outline plain soft solid\";\nexport const APPEARANCE_DEFAULT = \"default\";\nexport const APPEARANCE_OUTLINE = \"outline\";\nexport const APPEARANCE_PLAIN = \"plain\";\nexport const APPEARANCE_SOFT = \"soft\";\nexport const APPEARANCE_SOLID = \"solid\";\nexport const VARIANT = \"primary secondary info warning danger success neutral\";\nexport const VARIANT_PRIMARY = \"primary\";\nexport const VARIANT_SECONDARY = \"secondary\";\nexport const VARIANT_INFO = \"info\";\nexport const VARIANT_WARNING = \"warning\";\nexport const VARIANT_DANGER = \"danger\";\nexport const VARIANT_SUCCESS = \"success\";\nexport const VARIANT_NEUTRAL = \"neutral\";\nexport const DURATION = \"200ms 400ms 600ms\";\nexport const DURATION_SHORT = \"200ms\";\nexport const DURATION_MEDIUM = \"400ms\";\nexport const DURATION_LONG = \"600ms\";\n","// #region Imports\n\nimport { ThemeFactory } from './ThemeFactory';\nimport { SCHEME_DARK_BACKGROUND, SCHEME_DARK_DISABLED, SCHEME_DARK_FOREGROUND, SCHEME_DARK_HIGHLIGHT, SCHEME_DARK_LOWLIGHT, SCHEME_DARK_MIDDLELIGHT, SCHEME_DARK_SEMI_TRANSPARENT, SCHEME_DARK_TRANSPARENT, SCHEME_LIGHT_BACKGROUND, SCHEME_LIGHT_DISABLED, SCHEME_LIGHT_FOREGROUND, SCHEME_LIGHT_HIGHLIGHT, SCHEME_LIGHT_LOWLIGHT, SCHEME_LIGHT_MIDDLELIGHT, SCHEME_LIGHT_SEMI_TRANSPARENT, SCHEME_LIGHT_TRANSPARENT, TYPOGRAPHY_BODY1_TEXT_DECORATION, TYPOGRAPHY_BODY1_TEXT_TRANSFORM, TYPOGRAPHY_BODY2_FONT_SIZE, TYPOGRAPHY_BODY2_FONT_WEIGHT, TYPOGRAPHY_BODY2_LETTER_SPACING, TYPOGRAPHY_BODY2_LINE_HEIGHT, TYPOGRAPHY_BODY2_TEXT_DECORATION, TYPOGRAPHY_BODY2_TEXT_TRANSFORM, TYPOGRAPHY_BUTTON_FONT_SIZE, TYPOGRAPHY_BUTTON_FONT_WEIGHT, TYPOGRAPHY_BUTTON_LETTER_SPACING, TYPOGRAPHY_BUTTON_LINE_HEIGHT, TYPOGRAPHY_BUTTON_TEXT_DECORATION, TYPOGRAPHY_BUTTON_TEXT_TRANSFORM, TYPOGRAPHY_CAPTION_FONT_SIZE, TYPOGRAPHY_CAPTION_FONT_WEIGHT, TYPOGRAPHY_CAPTION_LETTER_SPACING, TYPOGRAPHY_CAPTION_LINE_HEIGHT, TYPOGRAPHY_CAPTION_TEXT_DECORATION, TYPOGRAPHY_CAPTION_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE2_FONT_SIZE, TYPOGRAPHY_HEADLINE2_FONT_WEIGHT, TYPOGRAPHY_HEADLINE2_LETTER_SPACING, TYPOGRAPHY_HEADLINE2_LINE_HEIGHT, TYPOGRAPHY_HEADLINE2_TEXT_DECORATION, TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE3_FONT_SIZE, TYPOGRAPHY_HEADLINE3_FONT_WEIGHT, TYPOGRAPHY_HEADLINE3_LETTER_SPACING, TYPOGRAPHY_HEADLINE3_LINE_HEIGHT, TYPOGRAPHY_HEADLINE3_TEXT_DECORATION, TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE4_FONT_SIZE, TYPOGRAPHY_HEADLINE4_FONT_WEIGHT, TYPOGRAPHY_HEADLINE4_LETTER_SPACING, TYPOGRAPHY_HEADLINE4_LINE_HEIGHT, TYPOGRAPHY_HEADLINE4_TEXT_DECORATION, TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE5_FONT_SIZE, TYPOGRAPHY_HEADLINE1_FONT_SIZE, TYPOGRAPHY_HEADLINE1_FONT_WEIGHT, TYPOGRAPHY_HEADLINE1_LETTER_SPACING, TYPOGRAPHY_HEADLINE1_LINE_HEIGHT, TYPOGRAPHY_HEADLINE1_TEXT_DECORATION, TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE5_FONT_WEIGHT, TYPOGRAPHY_HEADLINE5_LETTER_SPACING, TYPOGRAPHY_HEADLINE5_LINE_HEIGHT, TYPOGRAPHY_HEADLINE5_TEXT_DECORATION, TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE6_FONT_SIZE, TYPOGRAPHY_HEADLINE6_FONT_WEIGHT, TYPOGRAPHY_HEADLINE6_LETTER_SPACING, TYPOGRAPHY_HEADLINE6_LINE_HEIGHT, TYPOGRAPHY_HEADLINE6_TEXT_DECORATION, TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM, TYPOGRAPHY_OVERLINE_FONT_SIZE, TYPOGRAPHY_OVERLINE_FONT_WEIGHT, TYPOGRAPHY_OVERLINE_LETTER_SPACING, TYPOGRAPHY_OVERLINE_LINE_HEIGHT, TYPOGRAPHY_OVERLINE_TEXT_DECORATION, TYPOGRAPHY_OVERLINE_TEXT_TRANSFORM, TYPOGRAPHY_SUBTITLE1_FONT_SIZE, TYPOGRAPHY_SUBTITLE1_FONT_WEIGHT, TYPOGRAPHY_SUBTITLE1_LETTER_SPACING, TYPOGRAPHY_SUBTITLE1_LINE_HEIGHT, TYPOGRAPHY_SUBTITLE1_TEXT_DECORATION, TYPOGRAPHY_SUBTITLE1_TEXT_TRANSFORM, TYPOGRAPHY_SUBTITLE2_FONT_SIZE, TYPOGRAPHY_SUBTITLE2_FONT_WEIGHT, TYPOGRAPHY_SUBTITLE2_LETTER_SPACING, TYPOGRAPHY_SUBTITLE2_LINE_HEIGHT, TYPOGRAPHY_SUBTITLE2_TEXT_DECORATION, TYPOGRAPHY_SUBTITLE2_TEXT_TRANSFORM, LAYOUT_RADIUS, LAYOUT_SPACE, LAYOUT_THICKNESS, TYPOGRAPHY_BODY1_FONT_SIZE, TYPOGRAPHY_BODY1_LINE_HEIGHT, ELEVATION_DARK_BOLD, ELEVATION_DARK_EXTRABOLD, ELEVATION_DARK_LIGHT, ELEVATION_DARK_REGULAR, ELEVATION_DARK_SEMIBOLD, ELEVATION_DARK_SEMILIGHT, ELEVATION_LIGHT_BOLD, ELEVATION_LIGHT_EXTRABOLD, ELEVATION_LIGHT_LIGHT, ELEVATION_LIGHT_REGULAR, ELEVATION_LIGHT_SEMIBOLD, ELEVATION_LIGHT_SEMILIGHT, TYPOGRAPHY_BODY1_FONT_WEIGHT, TYPOGRAPHY_BODY1_LETTER_SPACING, FONT_FAMILY, NAME, COLOR_LIGHT_PRIMARY_0, COLOR_DARK_PRIMARY_0, COLOR_DARK_PRIMARY_100, COLOR_DARK_PRIMARY_200, COLOR_DARK_PRIMARY_300, COLOR_DARK_PRIMARY_400, COLOR_DARK_PRIMARY_50, COLOR_DARK_PRIMARY_500, COLOR_DARK_PRIMARY_600, COLOR_DARK_PRIMARY_700, COLOR_DARK_PRIMARY_800, COLOR_DARK_PRIMARY_900, COLOR_DARK_SECONDARY_0, COLOR_DARK_SECONDARY_100, COLOR_DARK_SECONDARY_200, COLOR_DARK_SECONDARY_300, COLOR_DARK_SECONDARY_400, COLOR_DARK_SECONDARY_50, COLOR_DARK_SECONDARY_500, COLOR_DARK_SECONDARY_600, COLOR_DARK_SECONDARY_700, COLOR_DARK_SECONDARY_800, COLOR_DARK_SECONDARY_900, COLOR_LIGHT_PRIMARY_100, COLOR_LIGHT_PRIMARY_200, COLOR_LIGHT_PRIMARY_300, COLOR_LIGHT_PRIMARY_400, COLOR_LIGHT_PRIMARY_50, COLOR_LIGHT_PRIMARY_500, COLOR_LIGHT_PRIMARY_600, COLOR_LIGHT_PRIMARY_700, COLOR_LIGHT_PRIMARY_800, COLOR_LIGHT_PRIMARY_900, COLOR_LIGHT_SECONDARY_0, COLOR_LIGHT_SECONDARY_100, COLOR_LIGHT_SECONDARY_200, COLOR_LIGHT_SECONDARY_300, COLOR_LIGHT_SECONDARY_400, COLOR_LIGHT_SECONDARY_50, COLOR_LIGHT_SECONDARY_500, COLOR_LIGHT_SECONDARY_600, COLOR_LIGHT_SECONDARY_700, COLOR_LIGHT_SECONDARY_800, COLOR_LIGHT_SECONDARY_900, TYPOGRAPHY_HEADLINE1_FONT_FAMILY, TYPOGRAPHY_HEADLINE2_FONT_FAMILY, TYPOGRAPHY_HEADLINE3_FONT_FAMILY, TYPOGRAPHY_SUBTITLE1_FONT_FAMILY, TYPOGRAPHY_HEADLINE4_FONT_FAMILY, TYPOGRAPHY_HEADLINE5_FONT_FAMILY, TYPOGRAPHY_HEADLINE6_FONT_FAMILY, TYPOGRAPHY_BODY1_FONT_FAMILY, TYPOGRAPHY_OVERLINE_FONT_FAMILY, TYPOGRAPHY_BODY2_FONT_FAMILY, TYPOGRAPHY_BUTTON_FONT_FAMILY, TYPOGRAPHY_CAPTION_FONT_FAMILY, TYPOGRAPHY_SUBTITLE2_FONT_FAMILY, SCHEME_LIGHT_CONTRAST, SCHEME_DARK_CONTRAST, COLOR_LIGHT_DANGER_0, COLOR_LIGHT_DANGER_100, COLOR_LIGHT_DANGER_200, COLOR_LIGHT_DANGER_300, COLOR_LIGHT_DANGER_400, COLOR_LIGHT_DANGER_50, COLOR_LIGHT_DANGER_500, COLOR_LIGHT_DANGER_600, COLOR_LIGHT_DANGER_700, COLOR_LIGHT_DANGER_800, COLOR_LIGHT_DANGER_900, COLOR_LIGHT_INFO_0, COLOR_LIGHT_INFO_100, COLOR_LIGHT_INFO_200, COLOR_LIGHT_INFO_300, COLOR_LIGHT_INFO_400, COLOR_LIGHT_INFO_50, COLOR_LIGHT_INFO_500, COLOR_LIGHT_INFO_600, COLOR_LIGHT_INFO_700, COLOR_LIGHT_INFO_800, COLOR_LIGHT_INFO_900, COLOR_LIGHT_WARNING_0, COLOR_LIGHT_WARNING_100, COLOR_LIGHT_WARNING_200, COLOR_LIGHT_WARNING_300, COLOR_LIGHT_WARNING_400, COLOR_LIGHT_WARNING_50, COLOR_LIGHT_WARNING_500, COLOR_LIGHT_WARNING_600, COLOR_LIGHT_WARNING_700, COLOR_LIGHT_WARNING_800, COLOR_LIGHT_WARNING_900, COLOR_LIGHT_NEUTRAL_0, COLOR_LIGHT_NEUTRAL_100, COLOR_LIGHT_NEUTRAL_200, COLOR_LIGHT_NEUTRAL_300, COLOR_LIGHT_NEUTRAL_400, COLOR_LIGHT_NEUTRAL_50, COLOR_LIGHT_NEUTRAL_500, COLOR_LIGHT_NEUTRAL_600, COLOR_LIGHT_NEUTRAL_700, COLOR_LIGHT_NEUTRAL_800, COLOR_LIGHT_NEUTRAL_900, COLOR_LIGHT_SUCCESS_0, COLOR_LIGHT_SUCCESS_100, COLOR_LIGHT_SUCCESS_200, COLOR_LIGHT_SUCCESS_300, COLOR_LIGHT_SUCCESS_400, COLOR_LIGHT_SUCCESS_50, COLOR_LIGHT_SUCCESS_500, COLOR_LIGHT_SUCCESS_600, COLOR_LIGHT_SUCCESS_700, COLOR_LIGHT_SUCCESS_800, COLOR_LIGHT_SUCCESS_900, COLOR_DARK_DANGER_0, COLOR_DARK_DANGER_100, COLOR_DARK_DANGER_200, COLOR_DARK_DANGER_300, COLOR_DARK_DANGER_400, COLOR_DARK_DANGER_50, COLOR_DARK_DANGER_500, COLOR_DARK_DANGER_600, COLOR_DARK_DANGER_700, COLOR_DARK_DANGER_800, COLOR_DARK_DANGER_900, COLOR_DARK_INFO_0, COLOR_DARK_INFO_100, COLOR_DARK_INFO_200, COLOR_DARK_INFO_300, COLOR_DARK_INFO_400, COLOR_DARK_INFO_50, COLOR_DARK_INFO_500, COLOR_DARK_INFO_600, COLOR_DARK_INFO_700, COLOR_DARK_INFO_800, COLOR_DARK_INFO_900, COLOR_DARK_NEUTRAL_0, COLOR_DARK_NEUTRAL_100, COLOR_DARK_NEUTRAL_200, COLOR_DARK_NEUTRAL_300, COLOR_DARK_NEUTRAL_400, COLOR_DARK_NEUTRAL_50, COLOR_DARK_NEUTRAL_500, COLOR_DARK_NEUTRAL_600, COLOR_DARK_NEUTRAL_700, COLOR_DARK_NEUTRAL_800, COLOR_DARK_NEUTRAL_900, COLOR_DARK_SUCCESS_0, COLOR_DARK_SUCCESS_100, COLOR_DARK_SUCCESS_200, COLOR_DARK_SUCCESS_300, COLOR_DARK_SUCCESS_400, COLOR_DARK_SUCCESS_50, COLOR_DARK_SUCCESS_500, COLOR_DARK_SUCCESS_600, COLOR_DARK_SUCCESS_700, COLOR_DARK_SUCCESS_800, COLOR_DARK_SUCCESS_900, COLOR_DARK_WARNING_0, COLOR_DARK_WARNING_100, COLOR_DARK_WARNING_200, COLOR_DARK_WARNING_300, COLOR_DARK_WARNING_400, COLOR_DARK_WARNING_50, COLOR_DARK_WARNING_500, COLOR_DARK_WARNING_600, COLOR_DARK_WARNING_700, COLOR_DARK_WARNING_800, COLOR_DARK_WARNING_900, VARIANT_PRIMARY, VARIANT_SECONDARY, ELEVATION_KEY_BOLD, ELEVATION_KEY_EXTRABOLD, ELEVATION_KEY_LIGHT, ELEVATION_KEY_REGULAR, ELEVATION_KEY_SEMIBOLD, ELEVATION_KEY_SEMILIGHT, VARIANT_DANGER, VARIANT_INFO, VARIANT_NEUTRAL, VARIANT_SUCCESS, VARIANT_WARNING, TYPOGRAPHY_KEY_BODY1, TYPOGRAPHY_KEY_BODY2, TYPOGRAPHY_KEY_BUTTON, TYPOGRAPHY_KEY_CAPTION, TYPOGRAPHY_KEY_HEADLINE1, TYPOGRAPHY_KEY_HEADLINE2, TYPOGRAPHY_KEY_HEADLINE3, TYPOGRAPHY_KEY_HEADLINE4, TYPOGRAPHY_KEY_HEADLINE5, TYPOGRAPHY_KEY_HEADLINE6, TYPOGRAPHY_KEY_OVERLINE, TYPOGRAPHY_KEY_SUBTITLE1, TYPOGRAPHY_KEY_SUBTITLE2, SCHEME_DARK_SURFACE, SCHEME_DARK_SELECTION, SCHEME_LIGHT_SELECTION, SCHEME_LIGHT_SURFACE, COLOR_DARK_HIGHLIGHT_600, COLOR_DARK_HIGHLIGHT_100, COLOR_DARK_HIGHLIGHT_0, COLOR_DARK_HIGHLIGHT_200, COLOR_DARK_HIGHLIGHT_300, COLOR_DARK_HIGHLIGHT_400, COLOR_DARK_HIGHLIGHT_50, COLOR_DARK_HIGHLIGHT_500, COLOR_DARK_HIGHLIGHT_700, COLOR_DARK_HIGHLIGHT_800, COLOR_DARK_HIGHLIGHT_900, COLOR_DARK_TERTIARY_0, COLOR_DARK_TERTIARY_100, COLOR_DARK_TERTIARY_200, COLOR_DARK_TERTIARY_300, COLOR_DARK_TERTIARY_400, COLOR_DARK_TERTIARY_50, COLOR_DARK_TERTIARY_500, COLOR_DARK_TERTIARY_600, COLOR_DARK_TERTIARY_700, COLOR_DARK_TERTIARY_800, COLOR_DARK_TERTIARY_900, COLOR_LIGHT_HIGHLIGHT_0, COLOR_LIGHT_HIGHLIGHT_100, COLOR_LIGHT_HIGHLIGHT_200, COLOR_LIGHT_HIGHLIGHT_300, COLOR_LIGHT_HIGHLIGHT_400, COLOR_LIGHT_HIGHLIGHT_50, COLOR_LIGHT_HIGHLIGHT_500, COLOR_LIGHT_HIGHLIGHT_600, COLOR_LIGHT_HIGHLIGHT_700, COLOR_LIGHT_HIGHLIGHT_800, COLOR_LIGHT_HIGHLIGHT_900, COLOR_LIGHT_TERTIARY_0, COLOR_LIGHT_TERTIARY_100, COLOR_LIGHT_TERTIARY_200, COLOR_LIGHT_TERTIARY_300, COLOR_LIGHT_TERTIARY_400, COLOR_LIGHT_TERTIARY_50, COLOR_LIGHT_TERTIARY_500, COLOR_LIGHT_TERTIARY_600, COLOR_LIGHT_TERTIARY_700, COLOR_LIGHT_TERTIARY_800, COLOR_LIGHT_TERTIARY_900 } from './Tokens/MemphisTokens';\nimport type { IThemeMetadata } from './Utils/IThemeMetadata';\n\n// #endregion\n\nexport namespace MemphisTheme {\n\n export const MEMPHIS_THEME = ThemeFactory.create({\n name: NAME,\n scheme: {\n light: {\n surface: SCHEME_LIGHT_SURFACE,\n background: SCHEME_LIGHT_BACKGROUND,\n foreground: SCHEME_LIGHT_FOREGROUND,\n highlight: SCHEME_LIGHT_HIGHLIGHT,\n middlelight: SCHEME_LIGHT_MIDDLELIGHT,\n lowlight: SCHEME_LIGHT_LOWLIGHT,\n transparent: SCHEME_LIGHT_TRANSPARENT,\n semiTransparent: SCHEME_LIGHT_SEMI_TRANSPARENT,\n disabled: SCHEME_LIGHT_DISABLED,\n contrast: SCHEME_LIGHT_CONTRAST,\n selection: SCHEME_LIGHT_SELECTION\n },\n dark: {\n surface: SCHEME_DARK_SURFACE,\n background: SCHEME_DARK_BACKGROUND,\n foreground: SCHEME_DARK_FOREGROUND,\n highlight: SCHEME_DARK_HIGHLIGHT,\n middlelight: SCHEME_DARK_MIDDLELIGHT,\n lowlight: SCHEME_DARK_LOWLIGHT,\n transparent: SCHEME_DARK_TRANSPARENT,\n semiTransparent: SCHEME_DARK_SEMI_TRANSPARENT,\n disabled: SCHEME_DARK_DISABLED,\n contrast: SCHEME_DARK_CONTRAST,\n selection: SCHEME_DARK_SELECTION\n }\n },\n palette: {\n light: {\n primary: {\n 0: COLOR_LIGHT_PRIMARY_0,\n 50: COLOR_LIGHT_PRIMARY_50,\n 100: COLOR_LIGHT_PRIMARY_100,\n 200: COLOR_LIGHT_PRIMARY_200,\n 300: COLOR_LIGHT_PRIMARY_300,\n 400: COLOR_LIGHT_PRIMARY_400,\n 500: COLOR_LIGHT_PRIMARY_500,\n 600: COLOR_LIGHT_PRIMARY_600,\n 700: COLOR_LIGHT_PRIMARY_700,\n 800: COLOR_LIGHT_PRIMARY_800,\n 900: COLOR_LIGHT_PRIMARY_900\n },\n secondary: {\n 0: COLOR_LIGHT_SECONDARY_0,\n 50: COLOR_LIGHT_SECONDARY_50,\n 100: COLOR_LIGHT_SECONDARY_100,\n 200: COLOR_LIGHT_SECONDARY_200,\n 300: COLOR_LIGHT_SECONDARY_300,\n 400: COLOR_LIGHT_SECONDARY_400,\n 500: COLOR_LIGHT_SECONDARY_500,\n 600: COLOR_LIGHT_SECONDARY_600,\n 700: COLOR_LIGHT_SECONDARY_700,\n 800: COLOR_LIGHT_SECONDARY_800,\n 900: COLOR_LIGHT_SECONDARY_900\n },\n tertiary: {\n 0: COLOR_LIGHT_TERTIARY_0,\n 50: COLOR_LIGHT_TERTIARY_50,\n 100: COLOR_LIGHT_TERTIARY_100,\n 200: COLOR_LIGHT_TERTIARY_200,\n 300: COLOR_LIGHT_TERTIARY_300,\n 400: COLOR_LIGHT_TERTIARY_400,\n 500: COLOR_LIGHT_TERTIARY_500,\n 600: COLOR_LIGHT_TERTIARY_600,\n 700: COLOR_LIGHT_TERTIARY_700,\n 800: COLOR_LIGHT_TERTIARY_800,\n 900: COLOR_LIGHT_TERTIARY_900\n },\n info: {\n 0: COLOR_LIGHT_INFO_0,\n 50: COLOR_LIGHT_INFO_50,\n 100: COLOR_LIGHT_INFO_100,\n 200: COLOR_LIGHT_INFO_200,\n 300: COLOR_LIGHT_INFO_300,\n 400: COLOR_LIGHT_INFO_400,\n 500: COLOR_LIGHT_INFO_500,\n 600: COLOR_LIGHT_INFO_600,\n 700: COLOR_LIGHT_INFO_700,\n 800: COLOR_LIGHT_INFO_800,\n 900: COLOR_LIGHT_INFO_900\n },\n warning: {\n 0: COLOR_LIGHT_WARNING_0,\n 50: COLOR_LIGHT_WARNING_50,\n 100: COLOR_LIGHT_WARNING_100,\n 200: COLOR_LIGHT_WARNING_200,\n 300: COLOR_LIGHT_WARNING_300,\n 400: COLOR_LIGHT_WARNING_400,\n 500: COLOR_LIGHT_WARNING_500,\n 600: COLOR_LIGHT_WARNING_600,\n 700: COLOR_LIGHT_WARNING_700,\n 800: COLOR_LIGHT_WARNING_800,\n 900: COLOR_LIGHT_WARNING_900\n },\n danger: {\n 0: COLOR_LIGHT_DANGER_0,\n 50: COLOR_LIGHT_DANGER_50,\n 100: COLOR_LIGHT_DANGER_100,\n 200: COLOR_LIGHT_DANGER_200,\n 300: COLOR_LIGHT_DANGER_300,\n 400: COLOR_LIGHT_DANGER_400,\n 500: COLOR_LIGHT_DANGER_500,\n 600: COLOR_LIGHT_DANGER_600,\n 700: COLOR_LIGHT_DANGER_700,\n 800: COLOR_LIGHT_DANGER_800,\n 900: COLOR_LIGHT_DANGER_900\n },\n success: {\n 0: COLOR_LIGHT_SUCCESS_0,\n 50: COLOR_LIGHT_SUCCESS_50,\n 100: COLOR_LIGHT_SUCCESS_100,\n 200: COLOR_LIGHT_SUCCESS_200,\n 300: COLOR_LIGHT_SUCCESS_300,\n 400: COLOR_LIGHT_SUCCESS_400,\n 500: COLOR_LIGHT_SUCCESS_500,\n 600: COLOR_LIGHT_SUCCESS_600,\n 700: COLOR_LIGHT_SUCCESS_700,\n 800: COLOR_LIGHT_SUCCESS_800,\n 900: COLOR_LIGHT_SUCCESS_900\n },\n highlight: {\n 0: COLOR_LIGHT_HIGHLIGHT_0,\n 50: COLOR_LIGHT_HIGHLIGHT_50,\n 100: COLOR_LIGHT_HIGHLIGHT_100,\n 200: COLOR_LIGHT_HIGHLIGHT_200,\n 300: COLOR_LIGHT_HIGHLIGHT_300,\n 400: COLOR_LIGHT_HIGHLIGHT_400,\n 500: COLOR_LIGHT_HIGHLIGHT_500,\n 600: COLOR_LIGHT_HIGHLIGHT_600,\n 700: COLOR_LIGHT_HIGHLIGHT_700,\n 800: COLOR_LIGHT_HIGHLIGHT_800,\n 900: COLOR_LIGHT_HIGHLIGHT_900\n },\n neutral: {\n 0: COLOR_LIGHT_NEUTRAL_0,\n 50: COLOR_LIGHT_NEUTRAL_50,\n 100: COLOR_LIGHT_NEUTRAL_100,\n 200: COLOR_LIGHT_NEUTRAL_200,\n 300: COLOR_LIGHT_NEUTRAL_300,\n 400: COLOR_LIGHT_NEUTRAL_400,\n 500: COLOR_LIGHT_NEUTRAL_500,\n 600: COLOR_LIGHT_NEUTRAL_600,\n 700: COLOR_LIGHT_NEUTRAL_700,\n 800: COLOR_LIGHT_NEUTRAL_800,\n 900: COLOR_LIGHT_NEUTRAL_900\n }\n },\n dark: {\n primary: {\n 0: COLOR_DARK_PRIMARY_0,\n 50: COLOR_DARK_PRIMARY_50,\n 100: COLOR_DARK_PRIMARY_100,\n 200: COLOR_DARK_PRIMARY_200,\n 300: COLOR_DARK_PRIMARY_300,\n 400: COLOR_DARK_PRIMARY_400,\n 500: COLOR_DARK_PRIMARY_500,\n 600: COLOR_DARK_PRIMARY_600,\n 700: COLOR_DARK_PRIMARY_700,\n 800: COLOR_DARK_PRIMARY_800,\n 900: COLOR_DARK_PRIMARY_900\n },\n secondary: {\n 0: COLOR_DARK_SECONDARY_0,\n 50: COLOR_DARK_SECONDARY_50,\n 100: COLOR_DARK_SECONDARY_100,\n 200: COLOR_DARK_SECONDARY_200,\n 300: COLOR_DARK_SECONDARY_300,\n 400: COLOR_DARK_SECONDARY_400,\n 500: COLOR_DARK_SECONDARY_500,\n 600: COLOR_DARK_SECONDARY_600,\n 700: COLOR_DARK_SECONDARY_700,\n 800: COLOR_DARK_SECONDARY_800,\n 900: COLOR_DARK_SECONDARY_900\n },\n tertiary: {\n 0: COLOR_DARK_TERTIARY_0,\n 50: COLOR_DARK_TERTIARY_50,\n 100: COLOR_DARK_TERTIARY_100,\n 200: COLOR_DARK_TERTIARY_200,\n 300: COLOR_DARK_TERTIARY_300,\n 400: COLOR_DARK_TERTIARY_400,\n 500: COLOR_DARK_TERTIARY_500,\n 600: COLOR_DARK_TERTIARY_600,\n 700: COLOR_DARK_TERTIARY_700,\n 800: COLOR_DARK_TERTIARY_800,\n 900: COLOR_DARK_TERTIARY_900\n },\n info: {\n 0: COLOR_DARK_INFO_0,\n 50: COLOR_DARK_INFO_50,\n 100: COLOR_DARK_INFO_100,\n 200: COLOR_DARK_INFO_200,\n 300: COLOR_DARK_INFO_300,\n 400: COLOR_DARK_INFO_400,\n 500: COLOR_DARK_INFO_500,\n 600: COLOR_DARK_INFO_600,\n 700: COLOR_DARK_INFO_700,\n 800: COLOR_DARK_INFO_800,\n 900: COLOR_DARK_INFO_900\n },\n warning: {\n 0: COLOR_DARK_WARNING_0,\n 50: COLOR_DARK_WARNING_50,\n 100: COLOR_DARK_WARNING_100,\n 200: COLOR_DARK_WARNING_200,\n 300: COLOR_DARK_WARNING_300,\n 400: COLOR_DARK_WARNING_400,\n 500: COLOR_DARK_WARNING_500,\n 600: COLOR_DARK_WARNING_600,\n 700: COLOR_DARK_WARNING_700,\n 800: COLOR_DARK_WARNING_800,\n 900: COLOR_DARK_WARNING_900\n },\n danger: {\n 0: COLOR_DARK_DANGER_0,\n 50: COLOR_DARK_DANGER_50,\n 100: COLOR_DARK_DANGER_100,\n 200: COLOR_DARK_DANGER_200,\n 300: COLOR_DARK_DANGER_300,\n 400: COLOR_DARK_DANGER_400,\n 500: COLOR_DARK_DANGER_500,\n 600: COLOR_DARK_DANGER_600,\n 700: COLOR_DARK_DANGER_700,\n 800: COLOR_DARK_DANGER_800,\n 900: COLOR_DARK_DANGER_900\n },\n success: {\n 0: COLOR_DARK_SUCCESS_0,\n 50: COLOR_DARK_SUCCESS_50,\n 100: COLOR_DARK_SUCCESS_100,\n 200: COLOR_DARK_SUCCESS_200,\n 300: COLOR_DARK_SUCCESS_300,\n 400: COLOR_DARK_SUCCESS_400,\n 500: COLOR_DARK_SUCCESS_500,\n 600: COLOR_DARK_SUCCESS_600,\n 700: COLOR_DARK_SUCCESS_700,\n 800: COLOR_DARK_SUCCESS_800,\n 900: COLOR_DARK_SUCCESS_900\n },\n highlight: {\n 0: COLOR_DARK_HIGHLIGHT_0,\n 50: COLOR_DARK_HIGHLIGHT_50,\n 100: COLOR_DARK_HIGHLIGHT_100,\n 200: COLOR_DARK_HIGHLIGHT_200,\n 300: COLOR_DARK_HIGHLIGHT_300,\n 400: COLOR_DARK_HIGHLIGHT_400,\n 500: COLOR_DARK_HIGHLIGHT_500,\n 600: COLOR_DARK_HIGHLIGHT_600,\n 700: COLOR_DARK_HIGHLIGHT_700,\n 800: COLOR_DARK_HIGHLIGHT_800,\n 900: COLOR_DARK_HIGHLIGHT_900\n },\n neutral: {\n 0: COLOR_DARK_NEUTRAL_0,\n 50: COLOR_DARK_NEUTRAL_50,\n 100: COLOR_DARK_NEUTRAL_100,\n 200: COLOR_DARK_NEUTRAL_200,\n 300: COLOR_DARK_NEUTRAL_300,\n 400: COLOR_DARK_NEUTRAL_400,\n 500: COLOR_DARK_NEUTRAL_500,\n 600: COLOR_DARK_NEUTRAL_600,\n 700: COLOR_DARK_NEUTRAL_700,\n 800: COLOR_DARK_NEUTRAL_800,\n 900: COLOR_DARK_NEUTRAL_900\n }\n }\n },\n fontFamily: FONT_FAMILY,\n typography: {\n headline1: {\n fontFamily: TYPOGRAPHY_HEADLINE1_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE1_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE1_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE1_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE1_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE1_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM\n },\n headline2: {\n fontFamily: TYPOGRAPHY_HEADLINE2_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE2_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE2_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE2_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE2_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE2_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM\n },\n headline3: {\n fontFamily: TYPOGRAPHY_HEADLINE3_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE3_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE3_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE3_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE3_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE3_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM\n },\n headline4: {\n fontFamily: TYPOGRAPHY_HEADLINE4_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE4_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE4_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE4_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE4_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE4_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM\n },\n headline5: {\n fontFamily: TYPOGRAPHY_HEADLINE5_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE5_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE5_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE5_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE5_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE5_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM\n },\n headline6: {\n fontFamily: TYPOGRAPHY_HEADLINE6_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE6_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE6_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE6_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE6_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE6_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM\n },\n subtitle1: {\n fontFamily: TYPOGRAPHY_SUBTITLE1_FONT_FAMILY,\n fontSize: TYPOGRAPHY_SUBTITLE1_FONT_SIZE,\n lineHeight: TYPOGRAPHY_SUBTITLE1_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_SUBTITLE1_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_SUBTITLE1_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_SUBTITLE1_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_SUBTITLE1_TEXT_TRANSFORM\n },\n subtitle2: {\n fontFamily: TYPOGRAPHY_SUBTITLE2_FONT_FAMILY,\n fontSize: TYPOGRAPHY_SUBTITLE2_FONT_SIZE,\n lineHeight: TYPOGRAPHY_SUBTITLE2_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_SUBTITLE2_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_SUBTITLE2_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_SUBTITLE2_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_SUBTITLE2_TEXT_TRANSFORM\n },\n body1: {\n fontFamily: TYPOGRAPHY_BODY1_FONT_FAMILY,\n fontSize: TYPOGRAPHY_BODY1_FONT_SIZE,\n lineHeight: TYPOGRAPHY_BODY1_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_BODY1_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_BODY1_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_BODY1_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_BODY1_TEXT_TRANSFORM\n },\n body2: {\n fontFamily: TYPOGRAPHY_BODY2_FONT_FAMILY,\n fontSize: TYPOGRAPHY_BODY2_FONT_SIZE,\n lineHeight: TYPOGRAPHY_BODY2_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_BODY2_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_BODY2_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_BODY2_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_BODY2_TEXT_TRANSFORM\n },\n caption: {\n fontFamily: TYPOGRAPHY_CAPTION_FONT_FAMILY,\n fontSize: TYPOGRAPHY_CAPTION_FONT_SIZE,\n lineHeight: TYPOGRAPHY_CAPTION_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_CAPTION_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_CAPTION_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_CAPTION_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_CAPTION_TEXT_TRANSFORM\n },\n overline: {\n fontFamily: TYPOGRAPHY_OVERLINE_FONT_FAMILY,\n fontSize: TYPOGRAPHY_OVERLINE_FONT_SIZE,\n lineHeight: TYPOGRAPHY_OVERLINE_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_OVERLINE_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_OVERLINE_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_OVERLINE_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_OVERLINE_TEXT_TRANSFORM\n },\n button: {\n fontFamily: TYPOGRAPHY_BUTTON_FONT_FAMILY,\n fontSize: TYPOGRAPHY_BUTTON_FONT_SIZE,\n lineHeight: TYPOGRAPHY_BUTTON_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_BUTTON_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_BUTTON_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_BUTTON_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_BUTTON_TEXT_TRANSFORM\n }\n },\n layout: {\n radius: LAYOUT_RADIUS,\n space: LAYOUT_SPACE,\n thickness: LAYOUT_THICKNESS\n },\n elevation: {\n light: {\n light: ELEVATION_LIGHT_LIGHT,\n semilight: ELEVATION_LIGHT_SEMILIGHT,\n regular: ELEVATION_LIGHT_REGULAR,\n semibold: ELEVATION_LIGHT_SEMIBOLD,\n bold: ELEVATION_LIGHT_BOLD,\n extrabold: ELEVATION_LIGHT_EXTRABOLD\n },\n dark: {\n light: ELEVATION_DARK_LIGHT,\n semilight: ELEVATION_DARK_SEMILIGHT,\n regular: ELEVATION_DARK_REGULAR,\n semibold: ELEVATION_DARK_SEMIBOLD,\n bold: ELEVATION_DARK_BOLD,\n extrabold: ELEVATION_DARK_EXTRABOLD\n }\n }\n });\n\n export const MEMPHIS_THEME_PALETTES = [VARIANT_PRIMARY, VARIANT_SECONDARY, VARIANT_DANGER, VARIANT_INFO, VARIANT_NEUTRAL, VARIANT_SUCCESS, VARIANT_WARNING];\n\n export const MEMPHIS_THEME_PALETTE_VARIANTS = ['0', '50', '100', '200', '300', '400', '500', '600', '700', '800', '900'];\n\n export const MEMPHIS_THEME_SCHEMES = ['light', 'dark'];\n\n export const MEMPHIS_THEME_SCHEME_VARIANTS = ['surface', 'background', 'foreground', 'highlight', 'middlelight', 'lowlight', 'transparent', 'semiTransparent', 'disabled', 'contrast', 'selection'];\n\n export const MEMPHIS_THEME_ELEVATION = ['light', 'dark'];\n\n export const MEMPHIS_THEME_ELEVATION_VARIANTS = [ELEVATION_KEY_LIGHT, ELEVATION_KEY_SEMILIGHT, ELEVATION_KEY_REGULAR, ELEVATION_KEY_SEMIBOLD, ELEVATION_KEY_BOLD, ELEVATION_KEY_EXTRABOLD];\n\n export const MEMPHIS_THEME_TYPOGRAPHY = [TYPOGRAPHY_KEY_HEADLINE1, TYPOGRAPHY_KEY_HEADLINE2, TYPOGRAPHY_KEY_HEADLINE3, TYPOGRAPHY_KEY_HEADLINE4, TYPOGRAPHY_KEY_HEADLINE5, TYPOGRAPHY_KEY_HEADLINE6, TYPOGRAPHY_KEY_SUBTITLE1, TYPOGRAPHY_KEY_SUBTITLE2, TYPOGRAPHY_KEY_BODY1, TYPOGRAPHY_KEY_BODY2, TYPOGRAPHY_KEY_CAPTION, TYPOGRAPHY_KEY_OVERLINE, TYPOGRAPHY_KEY_BUTTON];\n\n export const MEMPHIS_THEME_METADATA: IThemeMetadata = {\n theme: MEMPHIS_THEME,\n palettes: MEMPHIS_THEME_PALETTES,\n paletteVariants: MEMPHIS_THEME_PALETTE_VARIANTS,\n schemes: MEMPHIS_THEME_SCHEMES,\n schemeVariants: MEMPHIS_THEME_SCHEME_VARIANTS,\n elevation: MEMPHIS_THEME_ELEVATION,\n elevationVariants: MEMPHIS_THEME_ELEVATION_VARIANTS,\n typographies: MEMPHIS_THEME_TYPOGRAPHY\n };\n\n}\n","/**\n * Do not edit directly, this file was auto-generated.\n */\n\nexport const NAME = \"cosmopolitan\";\nexport const FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const LAYOUT_RADIUS = \"3px\";\nexport const LAYOUT_SPACE = \"8px\";\nexport const LAYOUT_THICKNESS = \"1px\";\nexport const SCHEME_LIGHT_SURFACE = \"#fefefe\";\nexport const SCHEME_LIGHT_CONTRAST = \"#ffffff\";\nexport const SCHEME_LIGHT_BACKGROUND = \"#ffffff\";\nexport const SCHEME_LIGHT_FOREGROUND = \"#000000\";\nexport const SCHEME_LIGHT_HIGHLIGHT = \"#e2e2e2\";\nexport const SCHEME_LIGHT_MIDDLELIGHT = \"#777777\";\nexport const SCHEME_LIGHT_LOWLIGHT = \"#4d4d4d\";\nexport const SCHEME_LIGHT_TRANSPARENT = \"rgba(255, 255, 255, 0)\";\nexport const SCHEME_LIGHT_SEMI_TRANSPARENT = \"rgba(255, 255, 255, 0.67)\";\nexport const SCHEME_LIGHT_DISABLED = \"#b8b5b2\";\nexport const SCHEME_LIGHT_SELECTION = \"#ffaad4\";\nexport const SCHEME_DARK_SURFACE = \"#2e2d2d\";\nexport const SCHEME_DARK_CONTRAST = \"#ffffff\";\nexport const SCHEME_DARK_BACKGROUND = \"#2e2d2d\";\nexport const SCHEME_DARK_FOREGROUND = \"#ffffff\";\nexport const SCHEME_DARK_HIGHLIGHT = \"#333333\";\nexport const SCHEME_DARK_MIDDLELIGHT = \"#666666\";\nexport const SCHEME_DARK_LOWLIGHT = \"#999999\";\nexport const SCHEME_DARK_TRANSPARENT = \"rgba(23, 23, 23, 0)\";\nexport const SCHEME_DARK_SEMI_TRANSPARENT = \"rgba(23, 23, 23, 0.67)\";\nexport const SCHEME_DARK_DISABLED = \"#5c5956\";\nexport const SCHEME_DARK_SELECTION = \"#ff66aa\";\nexport const COLOR_LIGHT_PRIMARY_0 = \"#ffffff\";\nexport const COLOR_LIGHT_PRIMARY_50 = \"#fce4ec\";\nexport const COLOR_LIGHT_PRIMARY_100 = \"#f8bcd0\";\nexport const COLOR_LIGHT_PRIMARY_200 = \"#f48fb1\";\nexport const COLOR_LIGHT_PRIMARY_300 = \"#f06292\";\nexport const COLOR_LIGHT_PRIMARY_400 = \"#ec407a\";\nexport const COLOR_LIGHT_PRIMARY_500 = \"#e91e63\";\nexport const COLOR_LIGHT_PRIMARY_600 = \"#cb1a56\";\nexport const COLOR_LIGHT_PRIMARY_700 = \"#a31545\";\nexport const COLOR_LIGHT_PRIMARY_800 = \"#7e1035\";\nexport const COLOR_LIGHT_PRIMARY_900 = \"#3a0819\";\nexport const COLOR_LIGHT_SECONDARY_0 = \"#ffffff\";\nexport const COLOR_LIGHT_SECONDARY_50 = \"#e6f6e9\";\nexport const COLOR_LIGHT_SECONDARY_100 = \"#c3e8c9\";\nexport const COLOR_LIGHT_SECONDARY_200 = \"#9bd9a7\";\nexport const COLOR_LIGHT_SECONDARY_300 = \"#70cb83\";\nexport const COLOR_LIGHT_SECONDARY_400 = \"#4dbf68\";\nexport const COLOR_LIGHT_SECONDARY_500 = \"#21b34d\";\nexport const COLOR_LIGHT_SECONDARY_600 = \"#16a444\";\nexport const COLOR_LIGHT_SECONDARY_700 = \"#009238\";\nexport const COLOR_LIGHT_SECONDARY_800 = \"#00812d\";\nexport const COLOR_LIGHT_SECONDARY_900 = \"#006218\";\nexport const COLOR_LIGHT_TERTIARY_0 = \"#ffffff\";\nexport const COLOR_LIGHT_TERTIARY_50 = \"#e1f5fc\";\nexport const COLOR_LIGHT_TERTIARY_100 = \"#b4e6f7\";\nexport const COLOR_LIGHT_TERTIARY_200 = \"#84d5f3\";\nexport const COLOR_LIGHT_TERTIARY_300 = \"#56c5ee\";\nexport const COLOR_LIGHT_TERTIARY_400 = \"#35b8eb\";\nexport const COLOR_LIGHT_TERTIARY_500 = \"#19ace9\";\nexport const COLOR_LIGHT_TERTIARY_600 = \"#139edb\";\nexport const COLOR_LIGHT_TERTIARY_700 = \"#098bc7\";\nexport const COLOR_LIGHT_TERTIARY_800 = \"#087ab4\";\nexport const COLOR_LIGHT_TERTIARY_900 = \"#005a92\";\nexport const COLOR_LIGHT_INFO_0 = \"#ffffff\";\nexport const COLOR_LIGHT_INFO_50 = \"#f4faff\";\nexport const COLOR_LIGHT_INFO_100 = \"#ddf1ff\";\nexport const COLOR_LIGHT_INFO_200 = \"#addbff\";\nexport const COLOR_LIGHT_INFO_300 = \"#6fb6ff\";\nexport const COLOR_LIGHT_INFO_400 = \"#3990ff\";\nexport const COLOR_LIGHT_INFO_500 = \"#096bde\";\nexport const COLOR_LIGHT_INFO_600 = \"#054da7\";\nexport const COLOR_LIGHT_INFO_700 = \"#02367d\";\nexport const COLOR_LIGHT_INFO_800 = \"#072859\";\nexport const COLOR_LIGHT_INFO_900 = \"#00153c\";\nexport const COLOR_LIGHT_WARNING_0 = \"#ffffff\";\nexport const COLOR_LIGHT_WARNING_50 = \"#fff8c5\";\nexport const COLOR_LIGHT_WARNING_100 = \"#fae17d\";\nexport const COLOR_LIGHT_WARNING_200 = \"#eac54f\";\nexport const COLOR_LIGHT_WARNING_300 = \"#d4a72c\";\nexport const COLOR_LIGHT_WARNING_400 = \"#bf8700\";\nexport const COLOR_LIGHT_WARNING_500 = \"#9a6700\";\nexport const COLOR_LIGHT_WARNING_600 = \"#7d4e00\";\nexport const COLOR_LIGHT_WARNING_700 = \"#633c01\";\nexport const COLOR_LIGHT_WARNING_800 = \"#4d2d00\";\nexport const COLOR_LIGHT_WARNING_900 = \"#3b2300\";\nexport const COLOR_LIGHT_DANGER_0 = \"#ffffff\";\nexport const COLOR_LIGHT_DANGER_50 = \"#fff8f6\";\nexport const COLOR_LIGHT_DANGER_100 = \"#ffe9e8\";\nexport const COLOR_LIGHT_DANGER_200 = \"#ffc7c5\";\nexport const COLOR_LIGHT_DANGER_300 = \"#ff9192\";\nexport const COLOR_LIGHT_DANGER_400 = \"#fa5255\";\nexport const COLOR_LIGHT_DANGER_500 = \"#d3232f\";\nexport const COLOR_LIGHT_DANGER_600 = \"#a10e25\";\nexport const COLOR_LIGHT_DANGER_700 = \"#77061b\";\nexport const COLOR_LIGHT_DANGER_800 = \"#580013\";\nexport const COLOR_LIGHT_DANGER_900 = \"#39000d\";\nexport const COLOR_LIGHT_SUCCESS_0 = \"#ffffff\";\nexport const COLOR_LIGHT_SUCCESS_50 = \"#f3fef5\";\nexport const COLOR_LIGHT_SUCCESS_100 = \"#d7f5dd\";\nexport const COLOR_LIGHT_SUCCESS_200 = \"#77ec95\";\nexport const COLOR_LIGHT_SUCCESS_300 = \"#4cc76e\";\nexport const COLOR_LIGHT_SUCCESS_400 = \"#2ca24d\";\nexport const COLOR_LIGHT_SUCCESS_500 = \"#1a7d36\";\nexport const COLOR_LIGHT_SUCCESS_600 = \"#0f5d26\";\nexport const COLOR_LIGHT_SUCCESS_700 = \"#034318\";\nexport const COLOR_LIGHT_SUCCESS_800 = \"#002f0f\";\nexport const COLOR_LIGHT_SUCCESS_900 = \"#001d09\";\nexport const COLOR_LIGHT_HIGHLIGHT_0 = \"#ffffff\";\nexport const COLOR_LIGHT_HIGHLIGHT_50 = \"#fdf7ff\";\nexport const COLOR_LIGHT_HIGHLIGHT_100 = \"#f4eaff\";\nexport const COLOR_LIGHT_HIGHLIGHT_200 = \"#e1cbff\";\nexport const COLOR_LIGHT_HIGHLIGHT_300 = \"#c69eff\";\nexport const COLOR_LIGHT_HIGHLIGHT_400 = \"#a374f9\";\nexport const COLOR_LIGHT_HIGHLIGHT_500 = \"#814dde\";\nexport const COLOR_LIGHT_HIGHLIGHT_600 = \"#5f35ae\";\nexport const COLOR_LIGHT_HIGHLIGHT_700 = \"#452382\";\nexport const COLOR_LIGHT_HIGHLIGHT_800 = \"#301761\";\nexport const COLOR_LIGHT_HIGHLIGHT_900 = \"#1d0a42\";\nexport const COLOR_LIGHT_NEUTRAL_0 = \"#ffffff\";\nexport const COLOR_LIGHT_NEUTRAL_50 = \"#f7f7f8\";\nexport const COLOR_LIGHT_NEUTRAL_100 = \"#ebebef\";\nexport const COLOR_LIGHT_NEUTRAL_200 = \"#d8d8df\";\nexport const COLOR_LIGHT_NEUTRAL_300 = \"#b9b9c6\";\nexport const COLOR_LIGHT_NEUTRAL_400 = \"#8f8fa3\";\nexport const COLOR_LIGHT_NEUTRAL_500 = \"#73738c\";\nexport const COLOR_LIGHT_NEUTRAL_600 = \"#5a5a72\";\nexport const COLOR_LIGHT_NEUTRAL_700 = \"#434356\";\nexport const COLOR_LIGHT_NEUTRAL_800 = \"#25252d\";\nexport const COLOR_LIGHT_NEUTRAL_900 = \"#131318\";\nexport const COLOR_DARK_PRIMARY_0 = \"#000000\";\nexport const COLOR_DARK_PRIMARY_50 = \"#3a0819\";\nexport const COLOR_DARK_PRIMARY_100 = \"#7e1035\";\nexport const COLOR_DARK_PRIMARY_200 = \"#a31545\";\nexport const COLOR_DARK_PRIMARY_300 = \"#cb1a56\";\nexport const COLOR_DARK_PRIMARY_400 = \"#e91e63\";\nexport const COLOR_DARK_PRIMARY_500 = \"#ec407a\";\nexport const COLOR_DARK_PRIMARY_600 = \"#f06292\";\nexport const COLOR_DARK_PRIMARY_700 = \"#f48fb1\";\nexport const COLOR_DARK_PRIMARY_800 = \"#f8bcd0\";\nexport const COLOR_DARK_PRIMARY_900 = \"#fce4ec\";\nexport const COLOR_DARK_SECONDARY_0 = \"#000000\";\nexport const COLOR_DARK_SECONDARY_50 = \"#006218\";\nexport const COLOR_DARK_SECONDARY_100 = \"#00812d\";\nexport const COLOR_DARK_SECONDARY_200 = \"#009238\";\nexport const COLOR_DARK_SECONDARY_300 = \"#16a444\";\nexport const COLOR_DARK_SECONDARY_400 = \"#21b34d\";\nexport const COLOR_DARK_SECONDARY_500 = \"#4dbf68\";\nexport const COLOR_DARK_SECONDARY_600 = \"#70cb83\";\nexport const COLOR_DARK_SECONDARY_700 = \"#9bd9a7\";\nexport const COLOR_DARK_SECONDARY_800 = \"#c3e8c9\";\nexport const COLOR_DARK_SECONDARY_900 = \"#e6f6e9\";\nexport const COLOR_DARK_TERTIARY_0 = \"#000000\";\nexport const COLOR_DARK_TERTIARY_50 = \"#005a92\";\nexport const COLOR_DARK_TERTIARY_100 = \"#087ab4\";\nexport const COLOR_DARK_TERTIARY_200 = \"#098bc7\";\nexport const COLOR_DARK_TERTIARY_300 = \"#139edb\";\nexport const COLOR_DARK_TERTIARY_400 = \"#19ace9\";\nexport const COLOR_DARK_TERTIARY_500 = \"#35b8eb\";\nexport const COLOR_DARK_TERTIARY_600 = \"#56c5ee\";\nexport const COLOR_DARK_TERTIARY_700 = \"#84d5f3\";\nexport const COLOR_DARK_TERTIARY_800 = \"#b4e6f7\";\nexport const COLOR_DARK_TERTIARY_900 = \"#e1f5fc\";\nexport const COLOR_DARK_INFO_0 = \"#000000\";\nexport const COLOR_DARK_INFO_50 = \"#00153c\";\nexport const COLOR_DARK_INFO_100 = \"#072859\";\nexport const COLOR_DARK_INFO_200 = \"#02367d\";\nexport const COLOR_DARK_INFO_300 = \"#054da7\";\nexport const COLOR_DARK_INFO_400 = \"#096bde\";\nexport const COLOR_DARK_INFO_500 = \"#3990ff\";\nexport const COLOR_DARK_INFO_600 = \"#6fb6ff\";\nexport const COLOR_DARK_INFO_700 = \"#addbff\";\nexport const COLOR_DARK_INFO_800 = \"#ddf1ff\";\nexport const COLOR_DARK_INFO_900 = \"#f4faff\";\nexport const COLOR_DARK_WARNING_0 = \"#000000\";\nexport const COLOR_DARK_WARNING_50 = \"#3b2300\";\nexport const COLOR_DARK_WARNING_100 = \"#4d2d00\";\nexport const COLOR_DARK_WARNING_200 = \"#633c01\";\nexport const COLOR_DARK_WARNING_300 = \"#7d4e00\";\nexport const COLOR_DARK_WARNING_400 = \"#9a6700\";\nexport const COLOR_DARK_WARNING_500 = \"#bf8700\";\nexport const COLOR_DARK_WARNING_600 = \"#d4a72c\";\nexport const COLOR_DARK_WARNING_700 = \"#eac54f\";\nexport const COLOR_DARK_WARNING_800 = \"#fae17d\";\nexport const COLOR_DARK_WARNING_900 = \"#fff8c5\";\nexport const COLOR_DARK_DANGER_0 = \"#000000\";\nexport const COLOR_DARK_DANGER_50 = \"#39000d\";\nexport const COLOR_DARK_DANGER_100 = \"#580013\";\nexport const COLOR_DARK_DANGER_200 = \"#77061b\";\nexport const COLOR_DARK_DANGER_300 = \"#a10e25\";\nexport const COLOR_DARK_DANGER_400 = \"#d3232f\";\nexport const COLOR_DARK_DANGER_500 = \"#fa5255\";\nexport const COLOR_DARK_DANGER_600 = \"#ff9192\";\nexport const COLOR_DARK_DANGER_700 = \"#ffc7c5\";\nexport const COLOR_DARK_DANGER_800 = \"#ffe9e8\";\nexport const COLOR_DARK_DANGER_900 = \"#fff8f6\";\nexport const COLOR_DARK_SUCCESS_0 = \"#000000\";\nexport const COLOR_DARK_SUCCESS_50 = \"#001d09\";\nexport const COLOR_DARK_SUCCESS_100 = \"#002f0f\";\nexport const COLOR_DARK_SUCCESS_200 = \"#034318\";\nexport const COLOR_DARK_SUCCESS_300 = \"#0f5d26\";\nexport const COLOR_DARK_SUCCESS_400 = \"#1a7d36\";\nexport const COLOR_DARK_SUCCESS_500 = \"#2ca24d\";\nexport const COLOR_DARK_SUCCESS_600 = \"#4cc76e\";\nexport const COLOR_DARK_SUCCESS_700 = \"#77ec95\";\nexport const COLOR_DARK_SUCCESS_800 = \"#d7f5dd\";\nexport const COLOR_DARK_SUCCESS_900 = \"#f3fef5\";\nexport const COLOR_DARK_HIGHLIGHT_0 = \"#000000\";\nexport const COLOR_DARK_HIGHLIGHT_50 = \"#1d0a42\";\nexport const COLOR_DARK_HIGHLIGHT_100 = \"#301761\";\nexport const COLOR_DARK_HIGHLIGHT_200 = \"#452382\";\nexport const COLOR_DARK_HIGHLIGHT_300 = \"#5f35ae\";\nexport const COLOR_DARK_HIGHLIGHT_400 = \"#814dde\";\nexport const COLOR_DARK_HIGHLIGHT_500 = \"#a374f9\";\nexport const COLOR_DARK_HIGHLIGHT_600 = \"#c69eff\";\nexport const COLOR_DARK_HIGHLIGHT_700 = \"#e1cbff\";\nexport const COLOR_DARK_HIGHLIGHT_800 = \"#f4eaff\";\nexport const COLOR_DARK_HIGHLIGHT_900 = \"#fdf7ff\";\nexport const COLOR_DARK_NEUTRAL_0 = \"#000000\";\nexport const COLOR_DARK_NEUTRAL_50 = \"#131318\";\nexport const COLOR_DARK_NEUTRAL_100 = \"#25252d\";\nexport const COLOR_DARK_NEUTRAL_200 = \"#434356\";\nexport const COLOR_DARK_NEUTRAL_300 = \"#5a5a72\";\nexport const COLOR_DARK_NEUTRAL_400 = \"#73738c\";\nexport const COLOR_DARK_NEUTRAL_500 = \"#8f8fa3\";\nexport const COLOR_DARK_NEUTRAL_600 = \"#b9b9c6\";\nexport const COLOR_DARK_NEUTRAL_700 = \"#d8d8df\";\nexport const COLOR_DARK_NEUTRAL_800 = \"#ebebef\";\nexport const COLOR_DARK_NEUTRAL_900 = \"#f7f7f8\";\nexport const TYPOGRAPHY_HEADLINE1_FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const TYPOGRAPHY_HEADLINE1_FONT_SIZE = \"24px\";\nexport const TYPOGRAPHY_HEADLINE1_LINE_HEIGHT = \"28px\";\nexport const TYPOGRAPHY_HEADLINE1_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE1_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_HEADLINE1_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE2_FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const TYPOGRAPHY_HEADLINE2_FONT_SIZE = \"24px\";\nexport const TYPOGRAPHY_HEADLINE2_LINE_HEIGHT = \"28px\";\nexport const TYPOGRAPHY_HEADLINE2_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE2_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_HEADLINE2_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE3_FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const TYPOGRAPHY_HEADLINE3_FONT_SIZE = \"24px\";\nexport const TYPOGRAPHY_HEADLINE3_LINE_HEIGHT = \"28px\";\nexport const TYPOGRAPHY_HEADLINE3_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE3_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_HEADLINE3_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE4_FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const TYPOGRAPHY_HEADLINE4_FONT_SIZE = \"24px\";\nexport const TYPOGRAPHY_HEADLINE4_LINE_HEIGHT = \"28px\";\nexport const TYPOGRAPHY_HEADLINE4_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE4_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_HEADLINE4_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE5_FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const TYPOGRAPHY_HEADLINE5_FONT_SIZE = \"24px\";\nexport const TYPOGRAPHY_HEADLINE5_LINE_HEIGHT = \"28px\";\nexport const TYPOGRAPHY_HEADLINE5_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE5_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_HEADLINE5_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE6_FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const TYPOGRAPHY_HEADLINE6_FONT_SIZE = \"24px\";\nexport const TYPOGRAPHY_HEADLINE6_LINE_HEIGHT = \"28px\";\nexport const TYPOGRAPHY_HEADLINE6_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE6_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_HEADLINE6_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_BODY1_FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const TYPOGRAPHY_BODY1_FONT_SIZE = \"16px\";\nexport const TYPOGRAPHY_BODY1_LINE_HEIGHT = \"20px\";\nexport const TYPOGRAPHY_BODY1_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_BODY1_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_BODY1_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_BODY1_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_BODY2_FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const TYPOGRAPHY_BODY2_FONT_SIZE = \"16px\";\nexport const TYPOGRAPHY_BODY2_LINE_HEIGHT = \"20px\";\nexport const TYPOGRAPHY_BODY2_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_BODY2_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_BODY2_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_BODY2_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_BUTTON_FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const TYPOGRAPHY_BUTTON_FONT_SIZE = \"16px\";\nexport const TYPOGRAPHY_BUTTON_LINE_HEIGHT = \"20px\";\nexport const TYPOGRAPHY_BUTTON_FONT_WEIGHT = \"700\";\nexport const TYPOGRAPHY_BUTTON_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_BUTTON_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_BUTTON_TEXT_TRANSFORM = \"uppercase\";\nexport const ELEVATION_NONE = \"none\";\nexport const ELEVATION_LIGHT_LIGHT =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 1px 2px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_Y_1 = \"1px\";\nexport const ELEVATION_LIGHT_LIGHT_BLUR_0 = \"2px\";\nexport const ELEVATION_LIGHT_LIGHT_BLUR_1 = \"2px\";\nexport const ELEVATION_LIGHT_LIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_LIGHT_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_SEMILIGHT =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 2px 4px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_Y_1 = \"2px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_BLUR_0 = \"2px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_BLUR_1 = \"4px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_SEMILIGHT_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_REGULAR =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 4px 8px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_Y_1 = \"4px\";\nexport const ELEVATION_LIGHT_REGULAR_BLUR_0 = \"2px\";\nexport const ELEVATION_LIGHT_REGULAR_BLUR_1 = \"8px\";\nexport const ELEVATION_LIGHT_REGULAR_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_REGULAR_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_SEMIBOLD =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 8px 16px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_Y_1 = \"8px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_BLUR_0 = \"2px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_BLUR_1 = \"16px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_SEMIBOLD_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_BOLD =\n \"0px 0px 8px 0px rgba(0, 0, 0, 0.12), 0px 14px 28px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_Y_1 = \"14px\";\nexport const ELEVATION_LIGHT_BOLD_BLUR_0 = \"8px\";\nexport const ELEVATION_LIGHT_BOLD_BLUR_1 = \"28px\";\nexport const ELEVATION_LIGHT_BOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_BOLD_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_EXTRABOLD =\n \"0px 0px 8px 0px rgba(0, 0, 0, 0.12), 0px 32px 64px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_Y_1 = \"32px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_BLUR_0 = \"8px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_BLUR_1 = \"64px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_EXTRABOLD_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_DARK_LIGHT =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.24), 0px 1px 2px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_Y_1 = \"1px\";\nexport const ELEVATION_DARK_LIGHT_BLUR_0 = \"2px\";\nexport const ELEVATION_DARK_LIGHT_BLUR_1 = \"2px\";\nexport const ELEVATION_DARK_LIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_LIGHT_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_SEMILIGHT =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.24), 0px 2px 4px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_Y_1 = \"2px\";\nexport const ELEVATION_DARK_SEMILIGHT_BLUR_0 = \"2px\";\nexport const ELEVATION_DARK_SEMILIGHT_BLUR_1 = \"4px\";\nexport const ELEVATION_DARK_SEMILIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_SEMILIGHT_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_REGULAR =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.24), 0px 4px 8px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_Y_1 = \"4px\";\nexport const ELEVATION_DARK_REGULAR_BLUR_0 = \"2px\";\nexport const ELEVATION_DARK_REGULAR_BLUR_1 = \"8px\";\nexport const ELEVATION_DARK_REGULAR_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_REGULAR_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_SEMIBOLD =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.24), 0px 8px 16px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_Y_1 = \"8px\";\nexport const ELEVATION_DARK_SEMIBOLD_BLUR_0 = \"2px\";\nexport const ELEVATION_DARK_SEMIBOLD_BLUR_1 = \"16px\";\nexport const ELEVATION_DARK_SEMIBOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_SEMIBOLD_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_BOLD =\n \"0px 0px 8px 0px rgba(0, 0, 0, 0.24), 0px 14px 28px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_BOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_BOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_BOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_BOLD_OFFSET_Y_1 = \"14px\";\nexport const ELEVATION_DARK_BOLD_BLUR_0 = \"8px\";\nexport const ELEVATION_DARK_BOLD_BLUR_1 = \"28px\";\nexport const ELEVATION_DARK_BOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_BOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_BOLD_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_BOLD_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_EXTRABOLD =\n \"0px 0px 8px 0px rgba(0, 0, 0, 0.24), 0px 32px 64px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_Y_1 = \"32px\";\nexport const ELEVATION_DARK_EXTRABOLD_BLUR_0 = \"8px\";\nexport const ELEVATION_DARK_EXTRABOLD_BLUR_1 = \"64px\";\nexport const ELEVATION_DARK_EXTRABOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_EXTRABOLD_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const SIZE_TINY = \"2px\";\nexport const SIZE_SMALL = \"4px\";\nexport const SIZE_MEDIUM = \"8px\";\nexport const SIZE_LARGE = \"16px\";\nexport const SIZE_GIANT = \"32px\";\nexport const SIZE_KEY = \"tiny small medium large giant\";\nexport const SIZE_KEY_TINY = \"tiny\";\nexport const SIZE_KEY_SMALL = \"small\";\nexport const SIZE_KEY_MEDIUM = \"medium\";\nexport const SIZE_KEY_LARGE = \"large\";\nexport const SIZE_KEY_GIANT = \"giant\";\nexport const TYPOGRAPHY_KEY_HEADLINE1 = \"headline1\";\nexport const TYPOGRAPHY_KEY_HEADLINE2 = \"headline2\";\nexport const TYPOGRAPHY_KEY_HEADLINE3 = \"headline3\";\nexport const TYPOGRAPHY_KEY_HEADLINE4 = \"headline4\";\nexport const TYPOGRAPHY_KEY_HEADLINE5 = \"headline5\";\nexport const TYPOGRAPHY_KEY_HEADLINE6 = \"headline6\";\nexport const TYPOGRAPHY_KEY_BODY1 = \"body1\";\nexport const TYPOGRAPHY_KEY_BODY2 = \"body2\";\nexport const TYPOGRAPHY_KEY_BUTTON = \"button\";\nexport const ELEVATION_KEY = \"light semilight regular semibold bold extrabold\";\nexport const ELEVATION_KEY_LIGHT = \"light\";\nexport const ELEVATION_KEY_SEMILIGHT = \"semilight\";\nexport const ELEVATION_KEY_REGULAR = \"regular\";\nexport const ELEVATION_KEY_SEMIBOLD = \"semibold\";\nexport const ELEVATION_KEY_BOLD = \"bold\";\nexport const ELEVATION_KEY_EXTRABOLD = \"extrabold\";\nexport const VARIANT = \"primary\";\nexport const VARIANT_PRIMARY = \"primary\";\nexport const VARIANT_SECONDARY = \"secondary\";\nexport const VARIANT_TERTIARY = \"tertiary\";\nexport const DURATION_SHORT = \"200ms\";\nexport const DURATION_MEDIUM = \"400ms\";\nexport const DURATION_LONG = \"600ms\";\n","// #region Imports\n\nimport { ThemeFactory } from './ThemeFactory';\nimport { FONT_FAMILY, ELEVATION_NONE, LAYOUT_RADIUS, LAYOUT_SPACE, LAYOUT_THICKNESS, SCHEME_DARK_BACKGROUND, SCHEME_DARK_CONTRAST, SCHEME_DARK_DISABLED, SCHEME_DARK_FOREGROUND, SCHEME_DARK_HIGHLIGHT, SCHEME_DARK_LOWLIGHT, SCHEME_DARK_MIDDLELIGHT, SCHEME_DARK_SEMI_TRANSPARENT, SCHEME_DARK_TRANSPARENT, SCHEME_LIGHT_BACKGROUND, SCHEME_LIGHT_CONTRAST, SCHEME_LIGHT_DISABLED, SCHEME_LIGHT_FOREGROUND, SCHEME_LIGHT_HIGHLIGHT, SCHEME_LIGHT_LOWLIGHT, SCHEME_LIGHT_MIDDLELIGHT, SCHEME_LIGHT_SEMI_TRANSPARENT, SCHEME_LIGHT_TRANSPARENT, NAME, TYPOGRAPHY_BUTTON_FONT_FAMILY, TYPOGRAPHY_BUTTON_FONT_SIZE, TYPOGRAPHY_BUTTON_FONT_WEIGHT, TYPOGRAPHY_BUTTON_LETTER_SPACING, TYPOGRAPHY_BUTTON_LINE_HEIGHT, TYPOGRAPHY_BUTTON_TEXT_DECORATION, TYPOGRAPHY_BUTTON_TEXT_TRANSFORM, COLOR_LIGHT_PRIMARY_100, COLOR_LIGHT_PRIMARY_500, COLOR_LIGHT_PRIMARY_0, VARIANT_PRIMARY, VARIANT_SECONDARY, VARIANT_TERTIARY, ELEVATION_LIGHT_LIGHT, ELEVATION_LIGHT_SEMILIGHT, ELEVATION_LIGHT_REGULAR, ELEVATION_LIGHT_SEMIBOLD, ELEVATION_LIGHT_BOLD, ELEVATION_LIGHT_EXTRABOLD, ELEVATION_DARK_LIGHT, ELEVATION_DARK_SEMILIGHT, ELEVATION_DARK_REGULAR, ELEVATION_DARK_SEMIBOLD, ELEVATION_DARK_BOLD, ELEVATION_DARK_EXTRABOLD, ELEVATION_KEY_LIGHT, ELEVATION_KEY_SEMILIGHT, ELEVATION_KEY_REGULAR, ELEVATION_KEY_SEMIBOLD, ELEVATION_KEY_BOLD, ELEVATION_KEY_EXTRABOLD, TYPOGRAPHY_KEY_BUTTON, SCHEME_LIGHT_SURFACE, SCHEME_LIGHT_SELECTION, SCHEME_DARK_SELECTION, SCHEME_DARK_SURFACE, COLOR_LIGHT_PRIMARY_50, COLOR_LIGHT_PRIMARY_200, COLOR_LIGHT_PRIMARY_300, COLOR_LIGHT_PRIMARY_400, COLOR_LIGHT_PRIMARY_600, COLOR_LIGHT_PRIMARY_700, COLOR_LIGHT_PRIMARY_800, COLOR_LIGHT_PRIMARY_900, COLOR_LIGHT_SECONDARY_0, COLOR_LIGHT_SECONDARY_50, COLOR_LIGHT_SECONDARY_100, COLOR_LIGHT_SECONDARY_200, COLOR_LIGHT_SECONDARY_300, COLOR_LIGHT_SECONDARY_400, COLOR_LIGHT_SECONDARY_500, COLOR_LIGHT_SECONDARY_600, COLOR_LIGHT_SECONDARY_700, COLOR_LIGHT_SECONDARY_800, COLOR_LIGHT_SECONDARY_900, COLOR_DARK_DANGER_0, COLOR_DARK_DANGER_100, COLOR_DARK_DANGER_200, COLOR_DARK_DANGER_300, COLOR_DARK_DANGER_400, COLOR_DARK_DANGER_50, COLOR_DARK_DANGER_500, COLOR_DARK_DANGER_600, COLOR_DARK_DANGER_700, COLOR_DARK_DANGER_800, COLOR_DARK_DANGER_900, COLOR_DARK_HIGHLIGHT_0, COLOR_DARK_HIGHLIGHT_100, COLOR_DARK_HIGHLIGHT_200, COLOR_DARK_HIGHLIGHT_300, COLOR_DARK_HIGHLIGHT_400, COLOR_DARK_HIGHLIGHT_50, COLOR_DARK_HIGHLIGHT_500, COLOR_DARK_HIGHLIGHT_600, COLOR_DARK_HIGHLIGHT_700, COLOR_DARK_HIGHLIGHT_800, COLOR_DARK_HIGHLIGHT_900, COLOR_DARK_INFO_0, COLOR_DARK_INFO_100, COLOR_DARK_INFO_200, COLOR_DARK_INFO_300, COLOR_DARK_INFO_400, COLOR_DARK_INFO_50, COLOR_DARK_INFO_500, COLOR_DARK_INFO_600, COLOR_DARK_INFO_700, COLOR_DARK_INFO_800, COLOR_DARK_INFO_900, COLOR_DARK_NEUTRAL_0, COLOR_DARK_NEUTRAL_100, COLOR_DARK_NEUTRAL_200, COLOR_DARK_NEUTRAL_300, COLOR_DARK_NEUTRAL_400, COLOR_DARK_NEUTRAL_50, COLOR_DARK_NEUTRAL_500, COLOR_DARK_NEUTRAL_600, COLOR_DARK_NEUTRAL_700, COLOR_DARK_NEUTRAL_800, COLOR_DARK_NEUTRAL_900, COLOR_DARK_PRIMARY_0, COLOR_DARK_PRIMARY_100, COLOR_DARK_PRIMARY_200, COLOR_DARK_PRIMARY_300, COLOR_DARK_PRIMARY_400, COLOR_DARK_PRIMARY_50, COLOR_DARK_PRIMARY_500, COLOR_DARK_PRIMARY_600, COLOR_DARK_PRIMARY_700, COLOR_DARK_PRIMARY_800, COLOR_DARK_PRIMARY_900, COLOR_DARK_SECONDARY_0, COLOR_DARK_SECONDARY_100, COLOR_DARK_SECONDARY_200, COLOR_DARK_SECONDARY_300, COLOR_DARK_SECONDARY_400, COLOR_DARK_SECONDARY_50, COLOR_DARK_SECONDARY_500, COLOR_DARK_SECONDARY_600, COLOR_DARK_SECONDARY_700, COLOR_DARK_SECONDARY_800, COLOR_DARK_SECONDARY_900, COLOR_DARK_SUCCESS_0, COLOR_DARK_SUCCESS_100, COLOR_DARK_SUCCESS_200, COLOR_DARK_SUCCESS_300, COLOR_DARK_SUCCESS_400, COLOR_DARK_SUCCESS_50, COLOR_DARK_SUCCESS_500, COLOR_DARK_SUCCESS_600, COLOR_DARK_SUCCESS_700, COLOR_DARK_SUCCESS_800, COLOR_DARK_SUCCESS_900, COLOR_DARK_TERTIARY_0, COLOR_DARK_TERTIARY_100, COLOR_DARK_TERTIARY_200, COLOR_DARK_TERTIARY_300, COLOR_DARK_TERTIARY_400, COLOR_DARK_TERTIARY_50, COLOR_DARK_TERTIARY_500, COLOR_DARK_TERTIARY_600, COLOR_DARK_TERTIARY_700, COLOR_DARK_TERTIARY_800, COLOR_DARK_TERTIARY_900, COLOR_DARK_WARNING_0, COLOR_DARK_WARNING_100, COLOR_DARK_WARNING_200, COLOR_DARK_WARNING_300, COLOR_DARK_WARNING_400, COLOR_DARK_WARNING_50, COLOR_DARK_WARNING_500, COLOR_DARK_WARNING_600, COLOR_DARK_WARNING_700, COLOR_DARK_WARNING_800, COLOR_DARK_WARNING_900, COLOR_LIGHT_DANGER_0, COLOR_LIGHT_DANGER_100, COLOR_LIGHT_DANGER_200, COLOR_LIGHT_DANGER_300, COLOR_LIGHT_DANGER_400, COLOR_LIGHT_DANGER_50, COLOR_LIGHT_DANGER_500, COLOR_LIGHT_DANGER_600, COLOR_LIGHT_DANGER_700, COLOR_LIGHT_DANGER_800, COLOR_LIGHT_DANGER_900, COLOR_LIGHT_HIGHLIGHT_0, COLOR_LIGHT_HIGHLIGHT_100, COLOR_LIGHT_HIGHLIGHT_200, COLOR_LIGHT_HIGHLIGHT_300, COLOR_LIGHT_HIGHLIGHT_400, COLOR_LIGHT_HIGHLIGHT_50, COLOR_LIGHT_HIGHLIGHT_500, COLOR_LIGHT_HIGHLIGHT_600, COLOR_LIGHT_HIGHLIGHT_700, COLOR_LIGHT_HIGHLIGHT_800, COLOR_LIGHT_HIGHLIGHT_900, COLOR_LIGHT_INFO_0, COLOR_LIGHT_INFO_100, COLOR_LIGHT_INFO_200, COLOR_LIGHT_INFO_300, COLOR_LIGHT_INFO_400, COLOR_LIGHT_INFO_50, COLOR_LIGHT_INFO_500, COLOR_LIGHT_INFO_600, COLOR_LIGHT_INFO_700, COLOR_LIGHT_INFO_800, COLOR_LIGHT_INFO_900, COLOR_LIGHT_NEUTRAL_0, COLOR_LIGHT_NEUTRAL_100, COLOR_LIGHT_NEUTRAL_200, COLOR_LIGHT_NEUTRAL_300, COLOR_LIGHT_NEUTRAL_400, COLOR_LIGHT_NEUTRAL_50, COLOR_LIGHT_NEUTRAL_500, COLOR_LIGHT_NEUTRAL_600, COLOR_LIGHT_NEUTRAL_700, COLOR_LIGHT_NEUTRAL_800, COLOR_LIGHT_NEUTRAL_900, COLOR_LIGHT_SUCCESS_0, COLOR_LIGHT_SUCCESS_100, COLOR_LIGHT_SUCCESS_200, COLOR_LIGHT_SUCCESS_300, COLOR_LIGHT_SUCCESS_400, COLOR_LIGHT_SUCCESS_50, COLOR_LIGHT_SUCCESS_500, COLOR_LIGHT_SUCCESS_600, COLOR_LIGHT_SUCCESS_700, COLOR_LIGHT_SUCCESS_800, COLOR_LIGHT_SUCCESS_900, COLOR_LIGHT_TERTIARY_0, COLOR_LIGHT_TERTIARY_100, COLOR_LIGHT_TERTIARY_200, COLOR_LIGHT_TERTIARY_300, COLOR_LIGHT_TERTIARY_400, COLOR_LIGHT_TERTIARY_50, COLOR_LIGHT_TERTIARY_500, COLOR_LIGHT_TERTIARY_600, COLOR_LIGHT_TERTIARY_700, COLOR_LIGHT_TERTIARY_800, COLOR_LIGHT_TERTIARY_900, COLOR_LIGHT_WARNING_0, COLOR_LIGHT_WARNING_100, COLOR_LIGHT_WARNING_200, COLOR_LIGHT_WARNING_300, COLOR_LIGHT_WARNING_400, COLOR_LIGHT_WARNING_50, COLOR_LIGHT_WARNING_500, COLOR_LIGHT_WARNING_600, COLOR_LIGHT_WARNING_700, COLOR_LIGHT_WARNING_800, COLOR_LIGHT_WARNING_900, TYPOGRAPHY_HEADLINE1_FONT_FAMILY, TYPOGRAPHY_HEADLINE1_FONT_SIZE, TYPOGRAPHY_HEADLINE1_LINE_HEIGHT, TYPOGRAPHY_HEADLINE1_FONT_WEIGHT, TYPOGRAPHY_HEADLINE1_LETTER_SPACING, TYPOGRAPHY_HEADLINE1_TEXT_DECORATION, TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM, TYPOGRAPHY_BODY1_FONT_FAMILY, TYPOGRAPHY_BODY1_FONT_SIZE, TYPOGRAPHY_BODY1_LINE_HEIGHT, TYPOGRAPHY_BODY1_FONT_WEIGHT, TYPOGRAPHY_BODY1_LETTER_SPACING, TYPOGRAPHY_BODY1_TEXT_DECORATION, TYPOGRAPHY_BODY1_TEXT_TRANSFORM, TYPOGRAPHY_BODY2_FONT_FAMILY, TYPOGRAPHY_BODY2_FONT_SIZE, TYPOGRAPHY_BODY2_FONT_WEIGHT, TYPOGRAPHY_BODY2_LETTER_SPACING, TYPOGRAPHY_BODY2_LINE_HEIGHT, TYPOGRAPHY_BODY2_TEXT_DECORATION, TYPOGRAPHY_BODY2_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE2_FONT_FAMILY, TYPOGRAPHY_HEADLINE2_FONT_SIZE, TYPOGRAPHY_HEADLINE2_FONT_WEIGHT, TYPOGRAPHY_HEADLINE2_LETTER_SPACING, TYPOGRAPHY_HEADLINE2_LINE_HEIGHT, TYPOGRAPHY_HEADLINE2_TEXT_DECORATION, TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE3_FONT_FAMILY, TYPOGRAPHY_HEADLINE3_FONT_SIZE, TYPOGRAPHY_HEADLINE3_FONT_WEIGHT, TYPOGRAPHY_HEADLINE3_LETTER_SPACING, TYPOGRAPHY_HEADLINE3_LINE_HEIGHT, TYPOGRAPHY_HEADLINE3_TEXT_DECORATION, TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE4_FONT_FAMILY, TYPOGRAPHY_HEADLINE4_FONT_SIZE, TYPOGRAPHY_HEADLINE4_FONT_WEIGHT, TYPOGRAPHY_HEADLINE4_LETTER_SPACING, TYPOGRAPHY_HEADLINE4_LINE_HEIGHT, TYPOGRAPHY_HEADLINE4_TEXT_DECORATION, TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE5_FONT_FAMILY, TYPOGRAPHY_HEADLINE5_FONT_SIZE, TYPOGRAPHY_HEADLINE5_FONT_WEIGHT, TYPOGRAPHY_HEADLINE5_LETTER_SPACING, TYPOGRAPHY_HEADLINE5_LINE_HEIGHT, TYPOGRAPHY_HEADLINE5_TEXT_DECORATION, TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE6_FONT_FAMILY, TYPOGRAPHY_HEADLINE6_FONT_SIZE, TYPOGRAPHY_HEADLINE6_FONT_WEIGHT, TYPOGRAPHY_HEADLINE6_LETTER_SPACING, TYPOGRAPHY_HEADLINE6_LINE_HEIGHT, TYPOGRAPHY_HEADLINE6_TEXT_DECORATION, TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM, TYPOGRAPHY_KEY_BODY1, TYPOGRAPHY_KEY_BODY2, TYPOGRAPHY_KEY_HEADLINE1, TYPOGRAPHY_KEY_HEADLINE2, TYPOGRAPHY_KEY_HEADLINE3, TYPOGRAPHY_KEY_HEADLINE4, TYPOGRAPHY_KEY_HEADLINE5, TYPOGRAPHY_KEY_HEADLINE6 } from './Tokens/CosmopolitanTokens';\nimport type { IThemeMetadata } from './Utils/IThemeMetadata';\n\n// #endregion\n\nexport namespace CosmopolitanTheme {\n\n export const COSMOPOLITAN_THEME = ThemeFactory.create({\n name: NAME,\n scheme: {\n light: {\n surface: SCHEME_LIGHT_SURFACE,\n contrast: SCHEME_LIGHT_CONTRAST,\n background: SCHEME_LIGHT_BACKGROUND,\n foreground: SCHEME_LIGHT_FOREGROUND,\n highlight: SCHEME_LIGHT_HIGHLIGHT,\n middlelight: SCHEME_LIGHT_MIDDLELIGHT,\n lowlight: SCHEME_LIGHT_LOWLIGHT,\n transparent: SCHEME_LIGHT_TRANSPARENT,\n semiTransparent: SCHEME_LIGHT_SEMI_TRANSPARENT,\n disabled: SCHEME_LIGHT_DISABLED,\n selection: SCHEME_LIGHT_SELECTION\n },\n dark: {\n surface: SCHEME_DARK_SURFACE,\n contrast: SCHEME_DARK_CONTRAST,\n background: SCHEME_DARK_BACKGROUND,\n foreground: SCHEME_DARK_FOREGROUND,\n highlight: SCHEME_DARK_HIGHLIGHT,\n middlelight: SCHEME_DARK_MIDDLELIGHT,\n lowlight: SCHEME_DARK_LOWLIGHT,\n transparent: SCHEME_DARK_TRANSPARENT,\n semiTransparent: SCHEME_DARK_SEMI_TRANSPARENT,\n disabled: SCHEME_DARK_DISABLED,\n selection: SCHEME_DARK_SELECTION\n }\n },\n palette: {\n light: {\n primary: {\n 0: COLOR_LIGHT_PRIMARY_0,\n 50: COLOR_LIGHT_PRIMARY_50,\n 100: COLOR_LIGHT_PRIMARY_100,\n 200: COLOR_LIGHT_PRIMARY_200,\n 300: COLOR_LIGHT_PRIMARY_300,\n 400: COLOR_LIGHT_PRIMARY_400,\n 500: COLOR_LIGHT_PRIMARY_500,\n 600: COLOR_LIGHT_PRIMARY_600,\n 700: COLOR_LIGHT_PRIMARY_700,\n 800: COLOR_LIGHT_PRIMARY_800,\n 900: COLOR_LIGHT_PRIMARY_900\n },\n secondary: {\n 0: COLOR_LIGHT_SECONDARY_0,\n 50: COLOR_LIGHT_SECONDARY_50,\n 100: COLOR_LIGHT_SECONDARY_100,\n 200: COLOR_LIGHT_SECONDARY_200,\n 300: COLOR_LIGHT_SECONDARY_300,\n 400: COLOR_LIGHT_SECONDARY_400,\n 500: COLOR_LIGHT_SECONDARY_500,\n 600: COLOR_LIGHT_SECONDARY_600,\n 700: COLOR_LIGHT_SECONDARY_700,\n 800: COLOR_LIGHT_SECONDARY_800,\n 900: COLOR_LIGHT_SECONDARY_900\n },\n tertiary: {\n 0: COLOR_LIGHT_TERTIARY_0,\n 50: COLOR_LIGHT_TERTIARY_50,\n 100: COLOR_LIGHT_TERTIARY_100,\n 200: COLOR_LIGHT_TERTIARY_200,\n 300: COLOR_LIGHT_TERTIARY_300,\n 400: COLOR_LIGHT_TERTIARY_400,\n 500: COLOR_LIGHT_TERTIARY_500,\n 600: COLOR_LIGHT_TERTIARY_600,\n 700: COLOR_LIGHT_TERTIARY_700,\n 800: COLOR_LIGHT_TERTIARY_800,\n 900: COLOR_LIGHT_TERTIARY_900\n },\n info: {\n 0: COLOR_LIGHT_INFO_0,\n 50: COLOR_LIGHT_INFO_50,\n 100: COLOR_LIGHT_INFO_100,\n 200: COLOR_LIGHT_INFO_200,\n 300: COLOR_LIGHT_INFO_300,\n 400: COLOR_LIGHT_INFO_400,\n 500: COLOR_LIGHT_INFO_500,\n 600: COLOR_LIGHT_INFO_600,\n 700: COLOR_LIGHT_INFO_700,\n 800: COLOR_LIGHT_INFO_800,\n 900: COLOR_LIGHT_INFO_900\n },\n warning: {\n 0: COLOR_LIGHT_WARNING_0,\n 50: COLOR_LIGHT_WARNING_50,\n 100: COLOR_LIGHT_WARNING_100,\n 200: COLOR_LIGHT_WARNING_200,\n 300: COLOR_LIGHT_WARNING_300,\n 400: COLOR_LIGHT_WARNING_400,\n 500: COLOR_LIGHT_WARNING_500,\n 600: COLOR_LIGHT_WARNING_600,\n 700: COLOR_LIGHT_WARNING_700,\n 800: COLOR_LIGHT_WARNING_800,\n 900: COLOR_LIGHT_WARNING_900\n },\n danger: {\n 0: COLOR_LIGHT_DANGER_0,\n 50: COLOR_LIGHT_DANGER_50,\n 100: COLOR_LIGHT_DANGER_100,\n 200: COLOR_LIGHT_DANGER_200,\n 300: COLOR_LIGHT_DANGER_300,\n 400: COLOR_LIGHT_DANGER_400,\n 500: COLOR_LIGHT_DANGER_500,\n 600: COLOR_LIGHT_DANGER_600,\n 700: COLOR_LIGHT_DANGER_700,\n 800: COLOR_LIGHT_DANGER_800,\n 900: COLOR_LIGHT_DANGER_900\n },\n success: {\n 0: COLOR_LIGHT_SUCCESS_0,\n 50: COLOR_LIGHT_SUCCESS_50,\n 100: COLOR_LIGHT_SUCCESS_100,\n 200: COLOR_LIGHT_SUCCESS_200,\n 300: COLOR_LIGHT_SUCCESS_300,\n 400: COLOR_LIGHT_SUCCESS_400,\n 500: COLOR_LIGHT_SUCCESS_500,\n 600: COLOR_LIGHT_SUCCESS_600,\n 700: COLOR_LIGHT_SUCCESS_700,\n 800: COLOR_LIGHT_SUCCESS_800,\n 900: COLOR_LIGHT_SUCCESS_900\n },\n highlight: {\n 0: COLOR_LIGHT_HIGHLIGHT_0,\n 50: COLOR_LIGHT_HIGHLIGHT_50,\n 100: COLOR_LIGHT_HIGHLIGHT_100,\n 200: COLOR_LIGHT_HIGHLIGHT_200,\n 300: COLOR_LIGHT_HIGHLIGHT_300,\n 400: COLOR_LIGHT_HIGHLIGHT_400,\n 500: COLOR_LIGHT_HIGHLIGHT_500,\n 600: COLOR_LIGHT_HIGHLIGHT_600,\n 700: COLOR_LIGHT_HIGHLIGHT_700,\n 800: COLOR_LIGHT_HIGHLIGHT_800,\n 900: COLOR_LIGHT_HIGHLIGHT_900\n },\n neutral: {\n 0: COLOR_LIGHT_NEUTRAL_0,\n 50: COLOR_LIGHT_NEUTRAL_50,\n 100: COLOR_LIGHT_NEUTRAL_100,\n 200: COLOR_LIGHT_NEUTRAL_200,\n 300: COLOR_LIGHT_NEUTRAL_300,\n 400: COLOR_LIGHT_NEUTRAL_400,\n 500: COLOR_LIGHT_NEUTRAL_500,\n 600: COLOR_LIGHT_NEUTRAL_600,\n 700: COLOR_LIGHT_NEUTRAL_700,\n 800: COLOR_LIGHT_NEUTRAL_800,\n 900: COLOR_LIGHT_NEUTRAL_900\n }\n },\n dark: {\n primary: {\n 0: COLOR_DARK_PRIMARY_0,\n 50: COLOR_DARK_PRIMARY_50,\n 100: COLOR_DARK_PRIMARY_100,\n 200: COLOR_DARK_PRIMARY_200,\n 300: COLOR_DARK_PRIMARY_300,\n 400: COLOR_DARK_PRIMARY_400,\n 500: COLOR_DARK_PRIMARY_500,\n 600: COLOR_DARK_PRIMARY_600,\n 700: COLOR_DARK_PRIMARY_700,\n 800: COLOR_DARK_PRIMARY_800,\n 900: COLOR_DARK_PRIMARY_900\n },\n secondary: {\n 0: COLOR_DARK_SECONDARY_0,\n 50: COLOR_DARK_SECONDARY_50,\n 100: COLOR_DARK_SECONDARY_100,\n 200: COLOR_DARK_SECONDARY_200,\n 300: COLOR_DARK_SECONDARY_300,\n 400: COLOR_DARK_SECONDARY_400,\n 500: COLOR_DARK_SECONDARY_500,\n 600: COLOR_DARK_SECONDARY_600,\n 700: COLOR_DARK_SECONDARY_700,\n 800: COLOR_DARK_SECONDARY_800,\n 900: COLOR_DARK_SECONDARY_900\n },\n tertiary: {\n 0: COLOR_DARK_TERTIARY_0,\n 50: COLOR_DARK_TERTIARY_50,\n 100: COLOR_DARK_TERTIARY_100,\n 200: COLOR_DARK_TERTIARY_200,\n 300: COLOR_DARK_TERTIARY_300,\n 400: COLOR_DARK_TERTIARY_400,\n 500: COLOR_DARK_TERTIARY_500,\n 600: COLOR_DARK_TERTIARY_600,\n 700: COLOR_DARK_TERTIARY_700,\n 800: COLOR_DARK_TERTIARY_800,\n 900: COLOR_DARK_TERTIARY_900\n },\n info: {\n 0: COLOR_DARK_INFO_0,\n 50: COLOR_DARK_INFO_50,\n 100: COLOR_DARK_INFO_100,\n 200: COLOR_DARK_INFO_200,\n 300: COLOR_DARK_INFO_300,\n 400: COLOR_DARK_INFO_400,\n 500: COLOR_DARK_INFO_500,\n 600: COLOR_DARK_INFO_600,\n 700: COLOR_DARK_INFO_700,\n 800: COLOR_DARK_INFO_800,\n 900: COLOR_DARK_INFO_900\n },\n warning: {\n 0: COLOR_DARK_WARNING_0,\n 50: COLOR_DARK_WARNING_50,\n 100: COLOR_DARK_WARNING_100,\n 200: COLOR_DARK_WARNING_200,\n 300: COLOR_DARK_WARNING_300,\n 400: COLOR_DARK_WARNING_400,\n 500: COLOR_DARK_WARNING_500,\n 600: COLOR_DARK_WARNING_600,\n 700: COLOR_DARK_WARNING_700,\n 800: COLOR_DARK_WARNING_800,\n 900: COLOR_DARK_WARNING_900\n },\n danger: {\n 0: COLOR_DARK_DANGER_0,\n 50: COLOR_DARK_DANGER_50,\n 100: COLOR_DARK_DANGER_100,\n 200: COLOR_DARK_DANGER_200,\n 300: COLOR_DARK_DANGER_300,\n 400: COLOR_DARK_DANGER_400,\n 500: COLOR_DARK_DANGER_500,\n 600: COLOR_DARK_DANGER_600,\n 700: COLOR_DARK_DANGER_700,\n 800: COLOR_DARK_DANGER_800,\n 900: COLOR_DARK_DANGER_900\n },\n success: {\n 0: COLOR_DARK_SUCCESS_0,\n 50: COLOR_DARK_SUCCESS_50,\n 100: COLOR_DARK_SUCCESS_100,\n 200: COLOR_DARK_SUCCESS_200,\n 300: COLOR_DARK_SUCCESS_300,\n 400: COLOR_DARK_SUCCESS_400,\n 500: COLOR_DARK_SUCCESS_500,\n 600: COLOR_DARK_SUCCESS_600,\n 700: COLOR_DARK_SUCCESS_700,\n 800: COLOR_DARK_SUCCESS_800,\n 900: COLOR_DARK_SUCCESS_900\n },\n highlight: {\n 0: COLOR_DARK_HIGHLIGHT_0,\n 50: COLOR_DARK_HIGHLIGHT_50,\n 100: COLOR_DARK_HIGHLIGHT_100,\n 200: COLOR_DARK_HIGHLIGHT_200,\n 300: COLOR_DARK_HIGHLIGHT_300,\n 400: COLOR_DARK_HIGHLIGHT_400,\n 500: COLOR_DARK_HIGHLIGHT_500,\n 600: COLOR_DARK_HIGHLIGHT_600,\n 700: COLOR_DARK_HIGHLIGHT_700,\n 800: COLOR_DARK_HIGHLIGHT_800,\n 900: COLOR_DARK_HIGHLIGHT_900\n },\n neutral: {\n 0: COLOR_DARK_NEUTRAL_0,\n 50: COLOR_DARK_NEUTRAL_50,\n 100: COLOR_DARK_NEUTRAL_100,\n 200: COLOR_DARK_NEUTRAL_200,\n 300: COLOR_DARK_NEUTRAL_300,\n 400: COLOR_DARK_NEUTRAL_400,\n 500: COLOR_DARK_NEUTRAL_500,\n 600: COLOR_DARK_NEUTRAL_600,\n 700: COLOR_DARK_NEUTRAL_700,\n 800: COLOR_DARK_NEUTRAL_800,\n 900: COLOR_DARK_NEUTRAL_900\n }\n }\n },\n fontFamily: FONT_FAMILY,\n typography: {\n headline1: {\n fontFamily: TYPOGRAPHY_HEADLINE1_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE1_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE1_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE1_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE1_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE1_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM\n },\n headline2: {\n fontFamily: TYPOGRAPHY_HEADLINE2_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE2_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE2_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE2_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE2_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE2_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM\n },\n headline3: {\n fontFamily: TYPOGRAPHY_HEADLINE3_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE3_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE3_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE3_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE3_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE3_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM\n },\n headline4: {\n fontFamily: TYPOGRAPHY_HEADLINE4_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE4_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE4_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE4_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE4_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE4_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM\n },\n headline5: {\n fontFamily: TYPOGRAPHY_HEADLINE5_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE5_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE5_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE5_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE5_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE5_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM\n },\n headline6: {\n fontFamily: TYPOGRAPHY_HEADLINE6_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE6_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE6_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE6_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE6_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE6_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM\n },\n body1: {\n fontFamily: TYPOGRAPHY_BODY1_FONT_FAMILY,\n fontSize: TYPOGRAPHY_BODY1_FONT_SIZE,\n lineHeight: TYPOGRAPHY_BODY1_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_BODY1_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_BODY1_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_BODY1_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_BODY1_TEXT_TRANSFORM\n },\n body2: {\n fontFamily: TYPOGRAPHY_BODY2_FONT_FAMILY,\n fontSize: TYPOGRAPHY_BODY2_FONT_SIZE,\n lineHeight: TYPOGRAPHY_BODY2_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_BODY2_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_BODY2_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_BODY2_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_BODY2_TEXT_TRANSFORM\n },\n button: {\n fontFamily: TYPOGRAPHY_BUTTON_FONT_FAMILY,\n fontSize: TYPOGRAPHY_BUTTON_FONT_SIZE,\n lineHeight: TYPOGRAPHY_BUTTON_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_BUTTON_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_BUTTON_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_BUTTON_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_BUTTON_TEXT_TRANSFORM\n }\n },\n layout: {\n radius: LAYOUT_RADIUS,\n space: LAYOUT_SPACE,\n thickness: LAYOUT_THICKNESS\n },\n elevation: {\n light: {\n light: ELEVATION_LIGHT_LIGHT,\n semilight: ELEVATION_LIGHT_SEMILIGHT,\n regular: ELEVATION_LIGHT_REGULAR,\n semibold: ELEVATION_LIGHT_SEMIBOLD,\n bold: ELEVATION_LIGHT_BOLD,\n extrabold: ELEVATION_LIGHT_EXTRABOLD,\n none: ELEVATION_NONE\n },\n dark: {\n light: ELEVATION_DARK_LIGHT,\n semilight: ELEVATION_DARK_SEMILIGHT,\n regular: ELEVATION_DARK_REGULAR,\n semibold: ELEVATION_DARK_SEMIBOLD,\n bold: ELEVATION_DARK_BOLD,\n extrabold: ELEVATION_DARK_EXTRABOLD,\n none: ELEVATION_NONE\n }\n }\n });\n\n export const COSMOPOLITAN_THEME_PALETTES = [VARIANT_PRIMARY, VARIANT_SECONDARY, VARIANT_TERTIARY];\n\n export const COSMOPOLITAN_THEME_PALETTE_VARIANTS = ['0', '50', '100', '200', '300', '400', '500', '600', '700', '800', '900'];\n\n export const COSMOPOLITAN_THEME_SCHEMES = ['light', 'dark'];\n\n export const COSMOPOLITAN_THEME_SCHEME_VARIANTS = ['surface', 'background', 'foreground', 'highlight', 'middlelight', 'lowlight', 'transparent', 'semiTransparent', 'disabled', 'contrast', 'selection'];\n\n export const COSMOPOLITAN_THEME_ELEVATION = ['light', 'dark'];\n\n export const COSMOPOLITAN_THEME_ELEVATION_VARIANTS = [ELEVATION_KEY_LIGHT, ELEVATION_KEY_SEMILIGHT, ELEVATION_KEY_REGULAR, ELEVATION_KEY_SEMIBOLD, ELEVATION_KEY_BOLD, ELEVATION_KEY_EXTRABOLD];\n\n export const COSMOPOLITAN_THEME_TYPOGRAPHY = [TYPOGRAPHY_KEY_HEADLINE1, TYPOGRAPHY_KEY_HEADLINE2, TYPOGRAPHY_KEY_HEADLINE3, TYPOGRAPHY_KEY_HEADLINE4, TYPOGRAPHY_KEY_HEADLINE5, TYPOGRAPHY_KEY_HEADLINE6, TYPOGRAPHY_KEY_BODY1, TYPOGRAPHY_KEY_BODY2, TYPOGRAPHY_KEY_BUTTON];\n\n export const COSMOPOLITAN_THEME_METADATA: IThemeMetadata = {\n theme: COSMOPOLITAN_THEME,\n palettes: COSMOPOLITAN_THEME_PALETTES,\n paletteVariants: COSMOPOLITAN_THEME_PALETTE_VARIANTS,\n schemes: COSMOPOLITAN_THEME_SCHEMES,\n schemeVariants: COSMOPOLITAN_THEME_SCHEME_VARIANTS,\n elevation: COSMOPOLITAN_THEME_ELEVATION,\n elevationVariants: COSMOPOLITAN_THEME_ELEVATION_VARIANTS,\n typographies: COSMOPOLITAN_THEME_TYPOGRAPHY\n };\n\n}\n","/**\n * @public\n */\nexport type CssAspectRatio = 'auto' | `${number}` | `${number}/${number}`;\n\n/**\n * @public\n */\nexport namespace CssAspectRatio {\n\n /**\n * @public\n */\n export function isCssAspectRatio(value: unknown): value is CssAspectRatio {\n if (typeof value === 'string') {\n if (value.trim() === '') {\n return false;\n }\n\n if (value === 'auto') {\n return true;\n }\n\n const ratioParts = value.split('/');\n if (ratioParts.length === 1) {\n // Check if it's a single number\n return !isNaN(Number(ratioParts[0])) && Number(ratioParts[0]) >= 0;\n }\n if (ratioParts.length === 2) {\n // Check if both parts are numbers\n return !isNaN(Number(ratioParts[0])) && Number(ratioParts[0]) >= 0 && !isNaN(Number(ratioParts[1])) && Number(ratioParts[1]) >= 0;\n }\n }\n\n return false;\n }\n\n}\n","/**\n * @public\n */\nexport type CssRGBColor = `rgb(${number}, ${number}, ${number})`;\n\n/**\n * @public\n */\nexport type CssRGBAColor = `rgba(${number}, ${number}, ${number}, ${number})`;\n\n/**\n * @public\n */\nexport type CssHEXColor = `#${string}`;\n\n/**\n * @public\n */\nexport type CssNameColor = 'aliceblue' | 'antiquewhite' | 'aqua' | 'aquamarine' | 'azure' | 'beige' | 'bisque' | 'black' | 'blanchedalmond' | 'blue' | 'blueviolet' | 'brown' | 'burlywood' | 'cadetblue' | 'chartreuse' | 'chocolate' | 'coral' | 'cornflowerblue' | 'cornsilk' | 'crimson' | 'cyan' | 'darkblue' | 'darkcyan' | 'darkgoldenrod' | 'darkgray' | 'darkgreen' | 'darkgrey' | 'darkkhaki' | 'darkmagenta' | 'darkolivegreen' | 'darkorange' | 'darkorchid' | 'darkred' | 'darksalmon' | 'darkseagreen' | 'darkslateblue' | 'darkslategray' | 'darkslategrey' | 'darkturquoise' | 'darkviolet' | 'deeppink' | 'deepskyblue' | 'dimgray' | 'dimgrey' | 'dodgerblue' | 'firebrick' | 'floralwhite' | 'forestgreen' | 'fuchsia' | 'gainsboro' | 'ghostwhite' | 'gold' | 'goldenrod' | 'gray' | 'green' | 'greenyellow' | 'grey' | 'honeydew' | 'hotpink' | 'indianred' | 'indigo' | 'ivory' | 'khaki' | 'lavender' | 'lavenderblush' | 'lawngreen' | 'lemonchiffon' | 'lightblue' | 'lightcoral' | 'lightcyan' | 'lightgoldenrodyellow' | 'lightgray' | 'lightgreen' | 'lightgrey' | 'lightpink' | 'lightsalmon' | 'lightseagreen' | 'lightskyblue' | 'lightslategray' | 'lightslategrey' | 'lightsteelblue' | 'lightyellow' | 'lime' | 'limegreen' | 'linen' | 'magenta' | 'maroon' | 'mediumaquamarine' | 'mediumblue' | 'mediumorchid' | 'mediumpurple' | 'mediumseagreen' | 'mediumslateblue' | 'mediumspringgreen' | 'mediumturquoise' | 'mediumvioletred' | 'midnightblue' | 'mintcream' | 'mistyrose' | 'moccasin' | 'navajowhite' | 'navy' | 'oldlace' | 'olive' | 'olivedrab' | 'orange' | 'orangered' | 'orchid' | 'palegoldenrod' | 'palegreen' | 'paleturquoise' | 'palevioletred' | 'papayawhip' | 'peachpuff' | 'peru' | 'pink' | 'plum' | 'powderblue' | 'purple' | 'rebeccapurple' | 'red' | 'rosybrown' | 'royalblue' | 'saddlebrown' | 'salmon' | 'sandybrown' | 'seagreen' | 'seashell' | 'sienna' | 'silver' | 'skyblue' | 'slateblue' | 'slategray' | 'slategrey' | 'snow' | 'springgreen' | 'steelblue' | 'tan' | 'teal' | 'thistle' | 'tomato' | 'transparent' | 'turquoise' | 'violet' | 'wheat' | 'white' | 'whitesmoke' | 'yellow' | 'yellowgreen';\n\n/**\n * @public\n */\nexport type CssColor = CssRGBColor | CssRGBAColor | CssHEXColor;\n\n/**\n * @public\n */\nexport namespace CssColor {\n\n /**\n * @public\n */\n export function isCssColor(value: unknown): value is CssColor {\n if (typeof value !== 'string') {\n return false;\n }\n\n if (value.trim() === '') {\n return false;\n }\n\n const rgbRegex = /^rgb\\(\\d{1,3},\\s*\\d{1,3},\\s*\\d{1,3}\\)$/;\n const rgbaRegex = /^rgba\\(\\d{1,3},\\s*\\d{1,3},\\s*\\d{1,3},\\s*(0(\\.\\d+)?|1(\\.0+)?)\\)$/;\n const hexRegex = /^#[0-9a-fA-F]{3,6}$/;\n\n return rgbRegex.test(value) || rgbaRegex.test(value) || hexRegex.test(value);\n }\n\n}\n","/**\n * @public\n */\nexport type CssLengthUnit = 'em' | 'ex' | 'ch' | 'rem' | 'vh' | 'vw' | 'vmin' | 'vmax' | 'px' | 'mm' | 'cm' | 'in' | 'pt' | 'pc' | 'mozmm';\n\n/**\n * @public\n */\nexport type CssNumber = `${number}${CssLengthUnit}` | number;\n\n/**\n * @public\n */\nexport type CssLength = `${number}${CssLengthUnit | '%'}` | CssNumber | 'auto';\n\nexport namespace CssLength {\n\n /**\n * Determines whether the given value is a valid CSS length.\n *\n * @public\n * @param value - The value to check.\n * @returns `true` if the value is a valid CSS length; otherwise, `false`.\n */\n export function isCssLength(value: unknown): value is CssLength {\n if (typeof value === 'number' || value === 'auto') {\n return true;\n }\n\n if (typeof value !== 'string') {\n return false;\n }\n\n if (value.trim() === '') {\n return false;\n }\n\n const lengthRegex = /^-?\\d+(\\.\\d+)?(em|ex|ch|rem|vh|vw|vmin|vmax|px|mm|cm|in|pt|pc|mozmm|%)/;\n\n return lengthRegex.test(value);\n }\n\n /**\n * @public\n */\n export function isAuto(value: unknown): value is Extract<CssLength, 'auto'> {\n return value === 'auto';\n }\n\n /**\n * @public\n */\n export function isPercentage(value: unknown): value is `${number}%` {\n if (typeof value !== 'string') {\n return false;\n }\n\n if (value.trim() === '') {\n return false;\n }\n\n const percentageRegex = /^-?\\d+(\\.\\d+)?%/;\n\n return percentageRegex.test(value);\n }\n\n /**\n * @public\n */\n export function isLength(value: unknown): value is `${number}${CssLengthUnit}` {\n if (typeof value !== 'string') {\n return false;\n }\n\n if (value.trim() === '') {\n return false;\n }\n\n const lengthRegex = /^-?\\d+(\\.\\d+)?(em|ex|ch|rem|vh|vw|vmin|vmax|px|mm|cm|in|pt|pc|mozmm)/;\n\n return lengthRegex.test(value);\n }\n\n export function toNumber(value: CssLength): number {\n if (typeof value === 'number') {\n return value;\n }\n\n if (value === 'auto') {\n throw new Error('Cannot convert \"auto\" to a number.');\n }\n\n const match = (/^-?\\d*\\.?\\d+/).exec(value);\n if (!match) {\n throw new Error(`Invalid CSS length: ${value}`);\n }\n\n return parseFloat(match[0]);\n }\n\n /**\n * Extracts the unit from a CSS length string.\n *\n * @public\n * @param cssLength - The CSS length string to extract the unit from.\n * @returns The unit as a `CssLengthUnit`.\n * @throws Error if the input is not a valid CSS length.\n */\n export function extractUnit(cssLength: `${number}${CssLengthUnit | '%'}`): CssLengthUnit {\n const match = (/[a-z%]+$/i).exec(cssLength);\n const lengt = match ? (match[0] as CssLengthUnit) : null;\n\n if (lengt === null) {\n throw new Error(`Invalid value: ${cssLength}`);\n }\n\n return lengt;\n }\n\n /**\n * Extracts the numeric value from a CSS length string.\n *\n * @public\n * @param cssLength - The CSS length string to extract the value from.\n * @returns The numeric value as a number.\n * @throws Error if the input is not a valid CSS length.\n */\n export function extractValue(cssLength: `${number}${CssLengthUnit | '%'}`): number {\n const match = (/^-?\\d*\\.?\\d+/).exec(cssLength);\n const value = match ? parseFloat(match[0]) : null;\n\n if (value === null) {\n throw new Error(`Invalid value: ${cssLength}`);\n }\n\n return value;\n }\n\n /**\n * Converts pixel values to rem units.\n *\n * @public\n * @param pixel - The pixel value to convert.\n * @returns The converted value in rem units.\n */\n export function pxToRem(pixel: `${number}${Extract<CssLengthUnit, 'px'>}`): string {\n const value = extractValue(pixel);\n const baseSize = 16; // Default font size in pixels\n const sizeInRem = `${value / baseSize}rem`;\n return sizeInRem;\n }\n\n /**\n * Tries to parse a value into a `CssLength`.\n *\n * @public\n * @param value - The value to parse.\n * @param defaultUnit - The default unit to use if the value is a string without a unit.\n * @returns The parsed `CssLength` or `undefined` if parsing fails.\n */\n export function tryParse(value: unknown, defaultUnit: CssLengthUnit = 'px'): CssLength | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n if (typeof value === 'string') {\n if (isLength(value)) {\n return value;\n }\n\n if (value.trim() === '') {\n return undefined;\n }\n\n return `${value}${defaultUnit}` as CssLength;\n }\n\n if (typeof value === 'number') {\n return `${String(value)}${defaultUnit}` as CssLength;\n }\n\n return undefined;\n }\n\n}\n","// #region Imports\n\nimport type { CssColor } from './CssColor';\nimport type { CssLengthUnit } from './CssLength';\n\n// #endregion\n\n/**\n * Represents a valid CSS box-shadow value (single or multiple).\n *\n * @public\n */\nexport type CssShadowSingle =\n | 'none'\n | `${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${CssColor}`\n | `inset ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${CssColor}`\n | `${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${CssColor}`\n | `inset ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${CssColor}`\n | `${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${CssColor}`\n | `inset ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${CssColor}`;\n\n/**\n * Represents a valid CSS box-shadow value, including multiple shadows.\n *\n * @public\n */\nexport type CssShadow = CssShadowSingle | `${CssShadowSingle}, ${CssShadowSingle}` | `${CssShadowSingle}, ${CssShadowSingle}, ${CssShadowSingle}`;\n\n/**\n * @public\n */\nexport namespace CssShadow {\n\n /**\n * Checks if the given value is a valid CSS box-shadow (single or multiple).\n *\n * @param value - The value to check.\n * @returns `true` if the value is a valid CSS box-shadow, otherwise `false`.\n */\n export function isCssShadow(value: unknown): value is CssShadow {\n if (typeof value !== 'string') {\n return false;\n }\n\n if (value.trim() === '') {\n return false;\n }\n\n if (value === 'none') {\n return true;\n }\n\n // Split multiple shadows by comma\n const shadows = value.split(/\\s*,\\s*/);\n\n return shadows.every(isCssShadowSingle);\n }\n\n /**\n * Checks if a single value is a valid CSS box-shadow (without multiple shadows).\n *\n * @param value - The value to check.\n * @returns `true` if the value is a valid single CSS box-shadow, otherwise `false`.\n */\n function isCssShadowSingle(value: string): boolean {\n const shadowRegex = new RegExp(\n '^' +\n '(inset\\\\s+)?' + // Optional \"inset\"\n '(-?\\\\d+(\\\\.\\\\d+)?(px|em|rem|vh|vw|%)?)\\\\s+' + // X-offset\n '(-?\\\\d+(\\\\.\\\\d+)?(px|em|rem|vh|vw|%)?)\\\\s+' + // Y-offset\n '(-?\\\\d+(\\\\.\\\\d+)?(px|em|rem|vh|vw|%)?)?\\\\s*' + // Optional Blur-radius\n '(-?\\\\d+(\\\\.\\\\d+)?(px|em|rem|vh|vw|%)?)?\\\\s*' + // Optional Spread-radius\n '(rgba?\\\\(\\\\d{1,3},\\\\s*\\\\d{1,3},\\\\s*\\\\d{1,3}(,\\\\s*(0|1|0?\\\\.\\\\d+))?\\\\)|#[0-9a-fA-F]{3,6})$', // Color (RGB, RGBA, HEX)\n 'i'\n );\n\n return shadowRegex.test(value);\n }\n}\n","/**\n * @public\n */\nexport type CssTimeUnit = 's' | 'ms';\n\n/**\n * @public\n */\nexport type CssTime = `${string}${CssTimeUnit}` | number | 0;\n\n/**\n * @public\n */\nexport namespace CssTime {\n\n /**\n * @public\n */\n export function isCssTime(value: unknown): value is CssTime {\n if (typeof value === 'number' || value === 0) {\n return true;\n }\n\n if (typeof value !== 'string') {\n return false;\n }\n\n if (value.trim() === '') {\n return false;\n }\n\n const timeRegex = /^-?\\d+(\\.\\d+)?(s|ms)/;\n\n return timeRegex.test(value);\n }\n\n}\n","// #region Imports\n\nimport type { CssColor } from './CssColor';\n\n// #endregion\n\n/**\n * Represents the shade names available in a theme palette.\n *\n * @public\n */\nexport type ThemeShadeName = '0' | '50' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900';\n\n/**\n * Represents a dynamic theme palette.\n *\n * @public\n */\nexport type ThemePalette = Partial<Record<ThemeShadeName, CssColor>>;\n\n/**\n * @public\n */\nexport namespace ThemePalette {\n\n const THEME_SHADE_NAMES: ReadonlyArray<ThemeShadeName> = ['0', '50', '100', '200', '300', '400', '500', '600', '700', '800', '900'];\n\n /**\n * Checks if the value is a theme shade name.\n *\n * @private\n * @param value - The value to check.\n * @returns The result.\n */\n function isThemeShadeName(value: string): value is ThemeShadeName {\n return THEME_SHADE_NAMES.includes(value as ThemeShadeName);\n }\n\n /**\n * Checks if the value is a theme palette.\n *\n * @public\n * @param value - The value to check.\n * @returns The result.\n */\n export function isThemePalette(value: unknown): value is ThemePalette {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n\n return Object.keys(value).every((key) => isThemeShadeName(key) && typeof (value as Record<string, unknown>)[key] === 'string');\n }\n\n}\n","// #region Imports\n\nimport type { ThemeScheme, ThemeSchemeRole } from './ThemeScheme';\nimport { ThemePalette, type ThemeShadeName } from './ThemePalette';\nimport type { IThemeElevation } from './IThemeElevation';\nimport type { IThemeLayout } from './IThemeLayout';\nimport type { ThemeTypography } from './ThemeTypography';\nimport type { CssColor } from './CssColor';\nimport type { ThemeMode } from './ThemeMode';\nimport type { ThemeSemantic, ThemeSemanticName } from './ThemeSemantic';\n\n// #endregion\n\n/**\n * Represents a dynamic theme system.\n *\n * @public\n */\nexport interface ITheme {\n\n /**\n * Human-readable theme name.\n */\n name: string;\n\n /**\n * Theme color schemes.\n *\n * ThemeMode → ThemeScheme\n */\n scheme: Readonly<Record<ThemeMode, ThemeScheme>>;\n\n /**\n * Theme color palettes.\n *\n * ThemeMode → Semantic Color → ThemePalette | CssColor\n */\n palette: Readonly<Record<ThemeMode, ThemeSemantic>>;\n\n /**\n * Base font family.\n */\n fontFamily: string;\n\n /**\n * Typography definition.\n */\n typography: ThemeTypography;\n\n /**\n * Layout definition.\n */\n layout: IThemeLayout;\n\n /**\n * Elevation definitions.\n */\n elevation: Readonly<Record<string, IThemeElevation>>;\n}\n\n/**\n * @public\n */\nexport namespace ITheme {\n\n export function getScheme(\n theme: ITheme,\n mode: ThemeMode\n ): ThemeScheme {\n return theme.scheme[mode];\n }\n\n export function getSchemeColor(\n theme: ITheme,\n mode: ThemeMode,\n role: ThemeSchemeRole\n ): CssColor {\n const scheme = theme.scheme[mode];\n const color = scheme[role];\n\n if (typeof color !== 'string') {\n throw new Error(`Scheme color '${role}' is not defined for mode '${mode}'.`);\n }\n\n return color;\n }\n\n export function getPalette(\n theme: ITheme,\n mode: ThemeMode,\n semanticColor: ThemeSemanticName\n ): ThemePalette {\n const paletteEntry = theme.palette[mode][semanticColor];\n\n if (!ThemePalette.isThemePalette(paletteEntry)) {\n throw new Error(\n `Palette '${semanticColor}' is not a valid theme palette for mode '${mode}'.`\n );\n }\n\n return paletteEntry;\n }\n\n export function getPaletteColor(\n theme: ITheme,\n mode: ThemeMode,\n semanticColor: ThemeSemanticName,\n shade: ThemeShadeName\n ): CssColor {\n const palette = getPalette(theme, mode, semanticColor);\n const color = palette[shade];\n\n if (typeof color !== 'string') {\n throw new Error(\n `Shade '${shade}' is not defined in palette '${semanticColor}' for mode '${mode}'.`\n );\n }\n\n return color;\n }\n}\n","// #region Imports\n\nimport type { CssColor } from './CssColor';\n\n// #endregion\n\n/**\n * Represents the roles available in a theme scheme.\n *\n * @public\n */\nexport type ThemeSchemeRole = | 'surface' | 'background' | 'foreground' | 'highlight' | 'middlelight' | 'lowlight' | 'transparent' | 'semiTransparent' | 'disabled' | 'contrast' | 'selection';\n\n/**\n * Represents a semantic color scheme.\n *\n * ThemeSchemeRole → CssColor\n *\n * @public\n */\nexport type ThemeScheme = Readonly<Partial<Record<ThemeSchemeRole, CssColor>>>;\n\n/**\n * @public\n */\nexport namespace ThemeScheme {\n\n const ROLES: ReadonlyArray<ThemeSchemeRole> = ['surface', 'background', 'foreground', 'highlight', 'middlelight', 'lowlight', 'transparent', 'semiTransparent', 'disabled', 'contrast', 'selection'];\n\n function isRole(value: string): value is ThemeSchemeRole {\n return ROLES.includes(value as ThemeSchemeRole);\n }\n\n /**\n * Checks whether a value is a ThemeScheme.\n */\n export function isThemeScheme(value: unknown): value is ThemeScheme {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n\n return Object.entries(value).every(\n ([key, color]) => isRole(key) && typeof color === 'string'\n );\n }\n}\n","import type { IPlatformAdapter } from './interfaces/IPlatformAdapter';\n\n/**\n * Browser implementation of the platform adapter.\n * Uses native DOM APIs (window, document, MutationObserver).\n *\n * @public\n */\nexport class BrowserPlatformAdapter implements IPlatformAdapter {\n\n // #region Methods\n\n public matchMedia(query: string): boolean {\n return window.matchMedia(query).matches;\n }\n\n public setDocumentAttribute(name: string, value: string): void {\n document.documentElement.setAttribute(name, value);\n }\n\n public getDocumentAttribute(name: string): string | null {\n return document.documentElement.getAttribute(name);\n }\n\n public observeDocumentAttributes(\n attributes: Array<string>,\n callback: (attributeName: string, newValue: string | null) => void\n ): () => void {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.type === 'attributes' && mutation.attributeName) {\n const newValue = document.documentElement.getAttribute(mutation.attributeName);\n callback(mutation.attributeName, newValue);\n }\n });\n });\n\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: attributes\n });\n\n // Return unsubscribe function\n return () => observer.disconnect();\n }\n\n // #endregion\n\n}\n","import type { IPlatformAdapter } from './interfaces/IPlatformAdapter';\n\n/**\n * Node.js implementation of the platform adapter.\n * No-op implementation that doesn't crash but does nothing.\n *\n * @public\n */\nexport class NodePlatformAdapter implements IPlatformAdapter {\n\n // #region Methods\n\n public matchMedia(_query: string): boolean {\n // Default to light mode in Node.js\n return false;\n }\n\n public setDocumentAttribute(_name: string, _value: string): void {\n // No-op in Node.js\n }\n\n public getDocumentAttribute(_name: string): string | null {\n // No attributes available in Node.js\n return null;\n }\n\n public observeDocumentAttributes(\n _attributes: Array<string>,\n _callback: (attributeName: string, newValue: string | null) => void\n ): () => void {\n // No observation possible in Node.js, return no-op unsubscribe\n return () => { };\n }\n\n // #endregion\n\n}\n","import type { IPlatformAdapter } from './interfaces/IPlatformAdapter';\nimport { BrowserPlatformAdapter } from './BrowserPlatformAdapter';\nimport { NodePlatformAdapter } from './NodePlatformAdapter';\n\n/**\n * Factory that automatically detects the environment and returns the appropriate adapter.\n *\n * @public\n */\nexport class PlatformAdapterFactory {\n\n // #region Methods\n\n /**\n * Creates the appropriate platform adapter based on the current environment.\n * Automatically detects if running in browser or Node.js.\n *\n * @public\n */\n public static create(): IPlatformAdapter {\n // Check if we're in a browser environment\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n return new BrowserPlatformAdapter();\n }\n\n // Fallback to Node.js adapter\n return new NodePlatformAdapter();\n }\n\n // #endregion\n\n}\n","// #region Imports\n\nimport { type IEventEmitter, PureEventEmitter } from '@breadstone/mosaik-elements';\nimport type { IPlatformAdapter } from './Adapters/interfaces/IPlatformAdapter';\nimport { PlatformAdapterFactory } from './Adapters/PlatformAdapterFactory';\nimport type { ThemeMode, ThemeModeWithSystem } from './Utils/ThemeMode';\n\n// #endregion\n\n/**\n * Checks if the given value is a theme mode.\n *\n * @public\n */\nexport function isThemeMode(value: unknown): value is ThemeMode {\n return value === 'system' || value === 'dark' || value === 'light';\n}\n\n/**\n * Observer for applying themes.\n *\n * @public\n */\nexport class ThemeObserver {\n\n // #region Fields\n\n private readonly _themeChanged: PureEventEmitter<string>;\n private readonly _themeModeChanged: PureEventEmitter<ThemeMode>;\n private readonly _platformAdapter: IPlatformAdapter;\n private _currentTheme: string | null;\n private _currentThemeMode: ThemeMode | null;\n private _unsubscribe?: () => void;\n\n // #region Ctor\n\n /**\n * Constructs a new instance of the `ThemeObserver` class.\n *\n * @param platformAdapter - Optional platform adapter. Auto-detects if not provided.\n * @public\n */\n public constructor(platformAdapter?: IPlatformAdapter) {\n this._themeChanged = new PureEventEmitter<string>();\n this._themeModeChanged = new PureEventEmitter<ThemeMode>();\n this._platformAdapter = platformAdapter ?? PlatformAdapterFactory.create();\n this._currentTheme = null;\n this._currentThemeMode = null;\n\n this.observe({\n themeChange: (theme) => this._themeChanged.emit(theme),\n themeModeChange: (themeMode) => this._themeModeChanged.emit(themeMode)\n });\n }\n\n // #endregion\n\n // #region Properties\n\n /**\n * Fires when the theme changes.\n *\n * @public\n * @readonly\n */\n public get themeChanged(): IEventEmitter<string> {\n return this._themeChanged;\n }\n\n /**\n * Fires when the theme mode changes.\n *\n * @public\n * @readonly\n */\n public get themeModeChanged(): IEventEmitter<ThemeMode> {\n return this._themeModeChanged;\n }\n\n // #endregion\n\n // #region Methods\n\n /**\n * Applies the given theme and theme mode to the document.\n *\n * @public\n * @param theme - The theme to apply (joy, cosmopolitan or memphis).\n * @param themeMode - The theme mode to apply.\n */\n public applyTheme(theme: string, themeMode: ThemeModeWithSystem): void {\n this._platformAdapter.setDocumentAttribute('theme', theme);\n\n switch (themeMode) {\n case 'dark':\n case 'light':\n this._platformAdapter.setDocumentAttribute('theme-mode', themeMode);\n break;\n case 'system':\n default:\n const isDark = this._platformAdapter.matchMedia('(prefers-color-scheme: dark)');\n this._platformAdapter.setDocumentAttribute('theme-mode', isDark ? 'dark' : 'light');\n break;\n }\n }\n\n public dispose(): void {\n if (this._unsubscribe) {\n this._unsubscribe();\n this._unsubscribe = undefined;\n }\n }\n\n private observe(cb: {\n themeChange: (theme: string) => void;\n themeModeChange: (themeMode: ThemeMode) => void;\n }): void {\n this._currentTheme = this._platformAdapter.getDocumentAttribute('theme');\n this._currentThemeMode = this._platformAdapter.getDocumentAttribute('theme-mode') as ThemeMode | null;\n\n this._unsubscribe = this._platformAdapter.observeDocumentAttributes(\n ['theme', 'theme-mode'],\n (attributeName, newValue) => {\n if (attributeName === 'theme' && newValue) {\n const theme = newValue;\n\n if (this._currentTheme !== theme) {\n this._currentTheme = theme;\n cb.themeChange(theme);\n }\n }\n\n if (attributeName === 'theme-mode') {\n const themeMode = newValue as ThemeMode;\n\n if (!isThemeMode(themeMode)) {\n throw new Error(`Invalid theme mode: ${String(themeMode)}`);\n }\n\n if (this._currentThemeMode !== themeMode) {\n this._currentThemeMode = themeMode;\n cb.themeModeChange(themeMode);\n }\n }\n }\n );\n }\n\n // #endregion\n\n}\n\n/**\n * @public\n */\nexport class ThemeObserverServiceLocator {\n\n // #region Fields\n\n private static _current: ThemeObserver | null = null;\n\n // #endregion\n\n // #region Properties\n\n public static get current(): ThemeObserver {\n if (!ThemeObserverServiceLocator.isSet()) {\n throw new Error('\\'ThemeObserver\\' not set.');\n }\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return ThemeObserverServiceLocator._current!;\n }\n\n // #endregion\n\n // #region Methods\n\n public static isSet(): boolean {\n return ThemeObserverServiceLocator._current !== null;\n }\n\n public static set(current: ThemeObserver): void {\n ThemeObserverServiceLocator._current = current;\n }\n\n // #endregion\n\n}\n\nThemeObserverServiceLocator.set(new ThemeObserver());\n","// #region Imports\n\nimport chroma from 'chroma-js';\nimport type { CssColor } from '../Utils/CssColor';\nimport type { ThemePalette } from '../Utils/ThemePalette';\nimport type { ThemeScheme } from '../Utils/ThemeScheme';\nimport type { IThemeGeneratorStrategy } from './interfaces/IThemeGeneratorStrategy';\nimport type { ThemeGeneratorFactoryFn } from './interfaces/IThemeGeneratorFactory';\n\n// #endregion\n\n/**\n * Material Design theme generator strategy.\n *\n * @public\n */\nexport class MaterialThemeGeneratorStrategy implements IThemeGeneratorStrategy {\n\n // #region Ctor\n\n public constructor() {\n }\n\n // #endregion\n\n // #region Methods\n\n /**\n * Generates a color palette for the Material theme.\n *\n * @public\n * @param baseColor The base/accent color.\n * @param mode 'light' or 'dark' mode.\n * @returns The generated theme palette.\n */\n public generatePalette(baseColor: CssColor, mode: 'dark' | 'light'): ThemePalette {\n if (mode === 'light') {\n const baseLight = chroma('#ffffff');\n const baseDark = chroma('#000000');\n const palette: Record<string, CssColor> = {};\n const steps = [0, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900];\n const amounts = [0, 12, 30, 50, 70, 85, 100, 87, 70, 54, 25];\n\n steps.forEach((step, i) => {\n const base = step <= 500 ? baseLight : baseDark;\n palette[`${step}`] = chroma.mix(base, baseColor, amounts[i] / 100, 'rgb').hex() as CssColor;\n });\n\n return palette;\n }\n\n const baseLight = chroma('#ffffff');\n const baseDark = chroma('#000000');\n const palette: Record<string, CssColor> = {};\n const steps = [0, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900];\n const amounts = [0, 15, 30, 45, 60, 75, 90, 100, 70, 54, 25];\n\n steps.forEach((step, i) => {\n const base = step <= 600 ? baseDark : baseLight;\n palette[`${step}`] = chroma.mix(base, baseColor, amounts[i] / 100, 'rgb').hex() as CssColor;\n });\n\n return palette;\n }\n\n /**\n * Generates a semantic color scheme for Material theme usage, based on the generated palette.\n *\n * @public\n * @param baseColor The base/accent color.\n * @param mode 'light' or 'dark' mode.\n * @returns The generated theme scheme.\n */\n public generateScheme(baseColor: CssColor, mode: 'dark' | 'light'): ThemeScheme {\n const baseChroma = chroma(baseColor);\n const luminance = baseChroma.luminance();\n const isDarkBase = luminance < 0.3;\n\n /**\n * Intelligent color adjustment that prevents colors from becoming too dark.\n * For dark input colors, colors are lightened instead of darkened.\n */\n const adjustColor = (color: CssColor, targetAmount: number): CssColor => {\n const c = chroma(color);\n const currentLuminance = c.luminance();\n\n // If the color is too dark (luminance < 0.15) and we would darken it,\n // reverse direction and lighten instead\n if (currentLuminance < 0.15 && targetAmount < 0) {\n return c.brighten(Math.abs(targetAmount / 25.5)).hex() as CssColor;\n }\n\n // Normal adjustment\n if (targetAmount > 0) {\n return c.brighten(targetAmount / 25.5).hex() as CssColor;\n }\n\n const darkened = c.darken(Math.abs(targetAmount / 25.5));\n\n // Ensure we never reach black (luminance > 0.02)\n if (darkened.luminance() < 0.02) {\n return c.brighten(Math.abs(targetAmount / 50)).hex() as CssColor;\n }\n\n return darkened.hex() as CssColor;\n };\n\n return {\n surface: adjustColor(baseColor, mode === 'dark' ? -10 : 10),\n background: baseColor,\n foreground: adjustColor(baseColor, mode === 'dark' ? 190 : -190),\n highlight: adjustColor(baseColor, mode === 'dark' ? 30 : -30),\n middlelight: adjustColor(baseColor, isDarkBase ? 50 : -50),\n lowlight: adjustColor(baseColor, isDarkBase ? 80 : -80),\n transparent: `${baseColor}00` as CssColor,\n semiTransparent: `${baseColor}aa` as CssColor,\n disabled: adjustColor(baseColor, isDarkBase ? 40 : -40),\n contrast: adjustColor(baseColor, mode === 'dark' ? 190 : -190),\n selection: adjustColor(baseColor, mode === 'dark' ? 30 : -30)\n };\n }\n\n // #endregion\n\n}\n\n/**\n * Generates a Material theme generator strategy.\n *\n * @public\n */\nexport function createMaterialTheme(): ThemeGeneratorFactoryFn {\n const strategy = new MaterialThemeGeneratorStrategy();\n\n return () => strategy;\n}\n","// #region Imports\n\nimport type { CssColor } from '../../Utils/CssColor';\nimport type { ThemePalette } from '../../Utils/ThemePalette';\nimport type { ThemeScheme } from '../../Utils/ThemeScheme';\nimport type { ThemeGeneratorFactoryFn } from '../interfaces/IThemeGeneratorFactory';\nimport type { IThemeGeneratorStrategy } from '../interfaces/IThemeGeneratorStrategy';\nimport { MaterialThemeGeneratorStrategy } from '../MaterialThemeGeneratorStrategy';\n\n// #endregion\n\n/**\n * Joy UI theme generator strategy.\n * Uses the same generation logic as Material Design.\n *\n * @public\n */\nexport class JoyThemeGeneratorStrategy implements IThemeGeneratorStrategy {\n\n // #region Fields\n\n private readonly _materialStrategy: MaterialThemeGeneratorStrategy;\n\n // #endregion\n\n // #region Ctor\n\n public constructor() {\n this._materialStrategy = new MaterialThemeGeneratorStrategy();\n }\n\n // #endregion\n\n // #region Methods\n\n public generatePalette(baseColor: CssColor, mode: 'dark' | 'light'): ThemePalette {\n return this._materialStrategy.generatePalette(baseColor, mode);\n }\n\n public generateScheme(baseColor: CssColor, mode: 'dark' | 'light'): ThemeScheme {\n return this._materialStrategy.generateScheme(baseColor, mode);\n }\n\n // #endregion\n\n}\n\n/**\n * Generates a Joy theme generator strategy.\n *\n * @public\n */\nexport function createJoyTheme(): ThemeGeneratorFactoryFn {\n const strategy = new JoyThemeGeneratorStrategy();\n\n return () => strategy;\n}\n","// #region Imports\n\nimport type { CssColor } from '../../Utils/CssColor';\nimport type { ThemePalette } from '../../Utils/ThemePalette';\nimport type { ThemeScheme } from '../../Utils/ThemeScheme';\nimport type { ThemeGeneratorFactoryFn } from '../interfaces/IThemeGeneratorFactory';\nimport type { IThemeGeneratorStrategy } from '../interfaces/IThemeGeneratorStrategy';\nimport { MaterialThemeGeneratorStrategy } from '../MaterialThemeGeneratorStrategy';\n\n// #endregion\n\n/**\n * Memphis theme generator strategy.\n * Uses the same generation logic as Material Design.\n *\n * @public\n */\nexport class MemphisThemeGeneratorStrategy implements IThemeGeneratorStrategy {\n\n // #region Fields\n\n private readonly _materialStrategy: MaterialThemeGeneratorStrategy;\n\n // #endregion\n\n // #region Ctor\n\n public constructor() {\n this._materialStrategy = new MaterialThemeGeneratorStrategy();\n }\n\n // #endregion\n\n // #region Methods\n\n public generatePalette(baseColor: CssColor, mode: 'dark' | 'light'): ThemePalette {\n return this._materialStrategy.generatePalette(baseColor, mode);\n }\n\n public generateScheme(baseColor: CssColor, mode: 'dark' | 'light'): ThemeScheme {\n return this._materialStrategy.generateScheme(baseColor, mode);\n }\n\n // #endregion\n\n}\n\n/**\n * Generates a Memphis theme generator strategy.\n *\n * @public\n */\nexport function createMemphisTheme(): ThemeGeneratorFactoryFn {\n const strategy = new MemphisThemeGeneratorStrategy();\n\n return () => strategy;\n}\n","// #region Imports\n\nimport chroma from 'chroma-js';\nimport type { CssColor } from '../../Utils/CssColor';\nimport type { ThemePalette } from '../../Utils/ThemePalette';\nimport type { ThemeScheme } from '../../Utils/ThemeScheme';\nimport type { IThemeGeneratorStrategy } from '../interfaces/IThemeGeneratorStrategy';\nimport { MaterialThemeGeneratorStrategy } from '../MaterialThemeGeneratorStrategy';\nimport type { ThemeGeneratorFactoryFn } from '../interfaces/IThemeGeneratorFactory';\n\n// #endregion\n\n/**\n * Cosmopolitan theme generator strategy.\n *\n * @public\n */\nexport class CosmopolitanThemeGeneratorStrategy implements IThemeGeneratorStrategy {\n\n // #region Fields\n\n private readonly _materialStrategy: MaterialThemeGeneratorStrategy;\n\n // #endregion\n\n // #region Ctor\n\n public constructor() {\n this._materialStrategy = new MaterialThemeGeneratorStrategy();\n }\n\n // #endregion\n\n // #region Methods\n\n public generatePalette(baseColor: CssColor, mode: 'dark' | 'light'): ThemePalette {\n if (mode === 'light') {\n const baseLight = chroma('#ffffff');\n const baseDark = chroma('#000000');\n const palette: Record<string, CssColor> = {};\n const steps = [0, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900];\n const amounts = [0, 12, 30, 50, 70, 85, 100, 87, 70, 54, 25];\n\n steps.forEach((step, i) => {\n const base = step <= 500 ? baseLight : baseDark;\n palette[`${step}`] = chroma.mix(base, baseColor, amounts[i] / 100, 'rgb').hex() as CssColor;\n });\n\n return palette;\n }\n\n const baseLight = chroma('#ffffff');\n const baseDark = chroma('#000000');\n const palette: Record<string, CssColor> = {};\n const steps = [0, 100, 500];\n const amounts = [0, 30, 100];\n\n steps.forEach((step, i) => {\n const base = step <= 600 ? baseDark : baseLight;\n palette[`${step}`] = chroma.mix(base, baseColor, amounts[i] / 100, 'rgb').hex() as CssColor;\n });\n\n return palette;\n }\n\n public generateScheme(baseColor: CssColor, mode: 'dark' | 'light'): ThemeScheme {\n return this._materialStrategy.generateScheme(baseColor, mode);\n }\n\n // #endregion\n\n}\n\n/**\n * Generates a Cosmopolitan theme generator strategy.\n *\n * @public\n */\nexport function createCosmopolitanTheme(): ThemeGeneratorFactoryFn {\n const strategy = new CosmopolitanThemeGeneratorStrategy();\n\n return () => strategy;\n}\n","// #region Imports\n\nimport type { ThemePalette } from './Utils/ThemePalette';\nimport type { CssColor } from './Utils/CssColor';\nimport type { ThemeScheme } from './Utils/ThemeScheme';\nimport type { IThemeGeneratorStrategy } from './Strategies/interfaces/IThemeGeneratorStrategy';\nimport type { IPlatformAdapter } from './Adapters/interfaces/IPlatformAdapter';\nimport { JoyThemeGeneratorStrategy } from './Strategies/surface/JoyThemeGeneratorStrategy';\nimport { MemphisThemeGeneratorStrategy } from './Strategies/surface/MemphisThemeGeneratorStrategy';\nimport { CosmopolitanThemeGeneratorStrategy } from './Strategies/surface/CosmopolitanThemeGeneratorStrategy';\nimport { PlatformAdapterFactory } from './Adapters/PlatformAdapterFactory';\nimport type { ThemeMode, ThemeModeWithSystem } from './Utils/ThemeMode';\n\n// #endregion\n\n/**\n * @public\n */\nexport class ThemeGenerator {\n\n // #region Fields\n\n private readonly _strategies: Map<string, IThemeGeneratorStrategy>;\n private readonly _platformAdapter: IPlatformAdapter;\n\n // #endregion\n\n // #region Ctor\n\n /**\n * @public\n * @param platformAdapter - Optional platform adapter. Auto-detects if not provided.\n */\n public constructor(platformAdapter?: IPlatformAdapter) {\n this._strategies = new Map<string, IThemeGeneratorStrategy>([\n ['joy', new JoyThemeGeneratorStrategy()],\n ['memphis', new MemphisThemeGeneratorStrategy()],\n ['cosmopolitan', new CosmopolitanThemeGeneratorStrategy()]\n ]);\n this._platformAdapter = platformAdapter ?? PlatformAdapterFactory.create();\n }\n\n // #endregion\n\n // #region Methods\n\n /**\n * Generates a theme palette.\n *\n * @public\n * @param themeName The name of the theme.\n * @param baseColor The base color (typically a 500 level shade).\n * @param mode The theme mode ('dark', 'light', or 'system').\n * @returns The generated theme palette.\n */\n public generatePalette(themeName: string, baseColor: CssColor, mode: ThemeMode): ThemePalette {\n const resolvedMode = this.resolveMode(mode);\n const strategy = this.getStrategy(themeName);\n\n return strategy.generatePalette(baseColor, resolvedMode);\n }\n\n /**\n * Generates a theme scheme.\n *\n * @public\n * @param themeName The name of the theme.\n * @param baseColor The base color (typically a background level shade).\n * @param mode The theme mode ('dark', 'light', or 'system').\n * @returns The generated theme scheme.\n */\n public generateScheme(themeName: string, baseColor: CssColor, mode: ThemeMode): ThemeScheme {\n const resolvedMode = this.resolveMode(mode);\n const strategy = this.getStrategy(themeName);\n\n return strategy.generateScheme(baseColor, resolvedMode);\n }\n\n /**\n * Resolves the theme mode, converting 'system' to 'dark' or 'light' based on platform settings.\n *\n * @private\n * @param mode The theme mode to resolve.\n * @returns The resolved theme mode.\n */\n private resolveMode(mode: ThemeModeWithSystem): ThemeMode {\n if (mode === 'system') {\n const isDark = this._platformAdapter.matchMedia('(prefers-color-scheme: dark)');\n return isDark ? 'dark' : 'light';\n }\n\n return mode;\n }\n\n /**\n * Gets the theme generator strategy for the specified theme name.\n *\n * @private\n * @param themeName The name of the theme.\n * @returns The theme generator strategy.\n */\n private getStrategy(themeName: string): IThemeGeneratorStrategy {\n const strategy = this._strategies.get(themeName);\n\n if (!strategy) {\n throw new Error(`Theme '${themeName}' is not supported.`);\n }\n\n return strategy;\n }\n\n // #endregion\n\n}\n\n/**\n * @public\n */\nexport class ThemeGeneratorServiceLocator {\n\n // #region Fields\n\n private static _current: ThemeGenerator | null = null;\n\n // #endregion\n\n // #region Properties\n\n public static get current(): ThemeGenerator {\n if (!ThemeGeneratorServiceLocator.isSet()) {\n throw new Error('\\'ThemeGenerator\\' not set.');\n }\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return ThemeGeneratorServiceLocator._current!;\n }\n\n // #endregion\n\n // #region Methods\n\n public static isSet(): boolean {\n return ThemeGeneratorServiceLocator._current !== null;\n }\n\n public static set(current: ThemeGenerator): void {\n ThemeGeneratorServiceLocator._current = current;\n }\n\n // #endregion\n\n}\n\nThemeGeneratorServiceLocator.set(new ThemeGenerator());\n","// themeStrategies.ts\n\nimport chroma from 'chroma-js';\nimport type { CssColor } from '../Utils/CssColor';\nimport type { IThemeGeneratorStrategy } from './interfaces/IThemeGeneratorStrategy';\nimport type { ThemePalette } from '../Utils/ThemePalette';\nimport type { ThemeScheme } from '../Utils/ThemeScheme';\nimport type { ThemeGeneratorFactoryFn } from './interfaces/IThemeGeneratorFactory';\n\n/**\n * Tailwind-like strategy.\n *\n * Generates a color palette with the following shade steps:\n * 50, 100, 200, 300, 400, 500, 600, 700, 800, 900.\n *\n * Each returned color is a hex string (CssColor).\n */\nexport class TailwindThemeGeneratorStrategy implements IThemeGeneratorStrategy {\n\n /**\n * Generates a palette of shades based on a base/accent color.\n *\n * @param baseColor - The base/accent color (e.g. \"#3498db\")\n * @param mode - 'light' or 'dark' mode: determines how light or dark the palette extremes are.\n * @returns An IThemePalette mapping each shade step to a hex color.\n *\n * Example (light mode, baseColor = blue-ish):\n * {\n * \"50\": \"#f5faff\",\n * \"100\": \"#e1f3ff\",\n * ...\n * \"500\": \"#3498db\",\n * ...\n * \"900\": \"#0a2d4b\"\n * }\n */\n public generatePalette(baseColor: CssColor, mode: 'light' | 'dark'): ThemePalette {\n const steps = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900];\n const base = chroma(baseColor);\n const [h, s] = base.hsl();\n const palette: Record<string, CssColor> = {};\n\n steps.forEach((step, idx) => {\n const t = idx / (steps.length - 1);\n const lightness = mode === 'light'\n ? 0.95 - t * 0.6 // from ~95% light → ~35% light\n : 0.15 + t * 0.6; // from ~15% light → ~75% light\n const col = chroma.hsl(h, s, lightness);\n palette[step.toString()] = col.hex() as CssColor;\n });\n\n return palette;\n }\n\n /**\n * Generates a semantic color scheme for UI usage, based on the generated palette.\n *\n * @param baseColor - The base/accent color\n * @param mode - 'light' or 'dark'\n * @returns An scheme with semantic color roles.\n *\n * Returned keys:\n * - background → shade \"50\"\n * - foreground → shade \"900\"\n * - primary → shade \"500\"\n * - accent → shade \"700\"\n * - muted → shade \"300\"\n */\n public generateScheme(baseColor: CssColor, mode: 'light' | 'dark'): ThemeScheme {\n const p = this.generatePalette(baseColor, mode);\n\n return {\n background: p['50'],\n foreground: p['900'],\n disabled: p['300']\n };\n }\n\n}\n\n/**\n * Generates a Tailwind theme generator strategy.\n *\n * @public\n */\nexport function createTailwindTheme(): ThemeGeneratorFactoryFn {\n const strategy = new TailwindThemeGeneratorStrategy();\n\n return () => strategy;\n}\n","//#region Imports\n\nimport chroma from 'chroma-js';\n\n//#endregion\n\nfunction adjust(color: number, amount: number): number {\n return Math.min(255, Math.max(0, color + amount));\n}\n\n/**\n * @public\n */\nexport function darken(hex: string, factor: number): string {\n const [r, g, b] = chroma(hex).rgb().map(x => adjust(x, -factor));\n return chroma(r, g, b, 'rgb').hex();\n}\n\n/**\n * @public\n */\nexport function lighten(hex: string, factor: number): string {\n const [r, g, b] = chroma(hex).rgb().map(x => adjust(x, factor));\n return chroma(r, g, b, 'rgb').hex();\n}\n","export function hexToHSL(hex: string): [number, number, number] {\n // Convert hex to RGB\n const r = parseInt(hex.slice(1, 3), 16) / 255;\n const g = parseInt(hex.slice(3, 5), 16) / 255;\n const b = parseInt(hex.slice(5, 7), 16) / 255;\n\n const max = Math.max(r, g, b); const min = Math.min(r, g, b);\n let h: number = 0;\n let s: number = 0;\n const l = (max + min) / 2;\n\n if (max === min) {\n h = 0;\n s = 0; // Achromatic\n } else {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n default: break;\n }\n h /= 6;\n }\n\n return [h, s, l];\n}\n\nexport function hexToRGB(hex: string): [number, number, number] {\n const r = parseInt(hex.slice(1, 3), 16) / 255;\n const g = parseInt(hex.slice(3, 5), 16) / 255;\n const b = parseInt(hex.slice(5, 7), 16) / 255;\n\n return [r, g, b];\n}\n\nexport function hslToHex(h: number, s: number, l: number): string {\n const hue2rgb = (p: number, q: number, t: number): number => {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + ((q - p) * 6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + ((q - p) * (2 / 3 - t) * 6);\n }\n return p;\n };\n\n let r: number = 0;\n let g: number = 0;\n let b: number = 0;\n\n if (s === 0) {\n r = l;\n g = l;\n b = l; // Achromatic\n } else {\n const q = l < 0.5 ? l * (1 + s) : l + s - (l * s);\n const p = (2 * l) - q;\n r = hue2rgb(p, q, h + (1 / 3));\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - (1 / 3));\n }\n\n return `#${Math.round(r * 255).toString(16)\n .padStart(2, '0')}${Math.round(g * 255).toString(16)\n .padStart(2, '0')}${Math.round(b * 255).toString(16)\n .padStart(2, '0')}`;\n}\n\nexport function rgbToHSL(r: number, g: number, b: number): [number, number, number] {\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n\n let h: number = 0;\n let s: number = 0;\n\n if (max === min) {\n h = 0;\n s = 0; // Achromatic\n } else {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r: h = ((g - b) / d) + (g < b ? 6 : 0); break;\n case g: h = ((b - r) / d) + 2; break;\n case b: h = ((r - g) / d) + 4; break;\n default: break;\n }\n\n h /= 6;\n }\n\n return [h, s, l];\n}\n\nexport function adjustHue(hsl: [number, number, number], adjustment: number): [number, number, number] {\n // Adjusts the hue by a given amount, wrapping around the color wheel if necessary\n return [(hsl[0] + adjustment + 1) % 1, hsl[1], hsl[2]];\n}\n","//#region Imports\n\nimport { adjustHue, hexToHSL, hslToHex } from '../common';\n\n//#endregion\n\n/**\n * Generate an analogous color palette\n * @param baseHex\n * @param adjustment\n * @returns\n */\nexport function generateAnalogousPalette(baseHex: string, adjustment: number): Record<string, string> {\n const baseHSL = hexToHSL(baseHex);\n const adjustedHSL = adjustHue(baseHSL, adjustment);\n const palette: Record<string, string> = {};\n\n // Define the steps\n const steps = [\n 0,\n 50,\n 100,\n 200,\n 300,\n 400,\n 500,\n 600,\n 700,\n 800,\n 900\n ];\n\n steps.forEach((step) => {\n let [h, s, l]: [number, number, number] = adjustedHSL;\n\n if (step === 0) {\n l = 1; // White\n } else {\n // Gradually decrease lightness for other steps\n l = 1 - (step / 1000);\n }\n\n palette[`${step}`] = hslToHex(h, s, Math.max(0, Math.min(1, l)));\n });\n\n return palette;\n}\n\n/**\n * Generate a single analogous color\n * @param baseHex\n * @param adjustment\n * @returns\n */\nexport function generateAnalogousColor(baseHex: string, adjustment: number): string {\n const baseHSL = hexToHSL(baseHex);\n const adjustedHSL = adjustHue(baseHSL, adjustment);\n const [h, s]: [number, number, number] = adjustedHSL;\n // Use step 500 lightness (0.5) to match palette base\n return hslToHex(h, s, 0.5);\n}","//#region Imports\n\nimport chroma from 'chroma-js';\n\n//#endregion\n\n/**\n * Generates a material color palette based on the given hex color.\n * @param hexColor\n * @returns\n */\nexport function generateMaterialPalette(hexColor: string): Record<string, string> {\n const baseLight = chroma('#ffffff');\n const baseDark = chroma('#000000');\n\n const palette: Record<string, string> = {};\n const steps = [0, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900];\n const amounts = [0, 12, 30, 50, 70, 85, 100, 87, 70, 54, 25];\n\n steps.forEach((step, i) => {\n const base = step <= 500 ? baseLight : baseDark;\n palette[`${step}`] = chroma.mix(base, hexColor, amounts[i] / 100, 'rgb').hex();\n });\n\n return palette;\n}","//#region Imports\n\nimport chroma from 'chroma-js';\nimport { generateMaterialPalette } from './material';\n\n//#endregion\n\n/**\n * Generates a complementary color palette based on the given base color.\n * @param baseHex\n * @returns\n */\nexport function generateComplementaryPalette(baseHex: string): Record<string, string> {\n const [h, s, l] = chroma(baseHex).hsl();\n const complementaryH = (h + 180) % 360;\n return generateMaterialPalette(chroma.hsl(complementaryH, s, l).hex());\n}\n\n/**\n * Generates a single complementary color based on the given base color.\n * @param baseHex\n * @returns\n */\nexport function generateComplementaryColor(baseHex: string): string {\n const [h, s, l] = chroma(baseHex).hsl();\n const complementaryH = (h + 180) % 360;\n return chroma.hsl(complementaryH, s, l).hex();\n}","//#region Imports\n\nimport { adjustHue, hexToHSL, hslToHex } from '../common';\n\n//#endregion\n\n/**\n * Generate a triadic color palette\n * @param baseHex\n * @param adjustment\n * @returns\n */\nexport function generateTriadicPalette(baseHex: string, adjustment: number): Record<string, string> {\n const baseHSL = hexToHSL(baseHex);\n const triadicHSL = adjustHue(baseHSL, adjustment);\n const palette: Record<string, string> = {};\n\n // Define the steps\n const steps = [\n 0,\n 50,\n 100,\n 200,\n 300,\n 400,\n 500,\n 600,\n 700,\n 800,\n 900\n ];\n\n steps.forEach((step) => {\n let [h, s, l]: [number, number, number] = triadicHSL;\n\n if (step === 0) {\n l = 1; // White\n } else {\n // Gradually decrease lightness for other steps\n l = 1 - (step / 1000);\n }\n\n palette[`${step}`] = hslToHex(h, s, Math.max(0, Math.min(1, l)));\n });\n\n return palette;\n}\n\n/**\n * Generate a single triadic color\n * @param baseHex\n * @param adjustment\n * @returns\n */\nexport function generateTriadicColor(baseHex: string, adjustment: number): string {\n const baseHSL = hexToHSL(baseHex);\n const triadicHSL = adjustHue(baseHSL, adjustment);\n const [h, s]: [number, number, number] = triadicHSL;\n // Use step 500 lightness (0.5) to match palette base\n return hslToHex(h, s, 0.5);\n}","//#region Imports\n\nimport { darken, lighten } from './adjust';\nimport { generateAnalogousPalette, generateAnalogousColor } from './generators/analogous';\nimport { generateComplementaryPalette, generateComplementaryColor } from './generators/complementary';\nimport { generateMaterialPalette } from './generators/material';\nimport { generateTriadicPalette, generateTriadicColor } from './generators/triadic';\n\n//#endregion\n\n\nexport namespace Colors {\n export const toDarken = darken;\n export const toLighten = lighten;\n export const toMaterialPalette = generateMaterialPalette;\n export const toComplementaryPalette = generateComplementaryPalette;\n export const toComplementaryColor = generateComplementaryColor;\n export const toAnalogousPalette = generateAnalogousPalette;\n export const toAnalogousColor = generateAnalogousColor;\n export const toTriadicPalette = generateTriadicPalette;\n export const toTriadicColor = generateTriadicColor;\n}\n"]}
1
+ {"version":3,"sources":["../src/Theming/ThemeFactory.ts","../src/Theming/Tokens/JoyTokens.ts","../src/Theming/JoyTheme.ts","../src/Theming/Tokens/MemphisTokens.ts","../src/Theming/MemphisTheme.ts","../src/Theming/Tokens/CosmopolitanTokens.ts","../src/Theming/CosmopolitanTheme.ts","../src/Theming/Utils/CssAspectRatio.ts","../src/Theming/Utils/CssColor.ts","../src/Theming/Utils/CssLength.ts","../src/Theming/Utils/CssShadow.ts","../src/Theming/Utils/CssTime.ts","../src/Theming/Utils/ThemePalette.ts","../src/Theming/Utils/ITheme.ts","../src/Theming/Utils/ThemeScheme.ts","../src/Theming/Adapters/BrowserPlatformAdapter.ts","../src/Theming/Adapters/NodePlatformAdapter.ts","../src/Theming/Adapters/PlatformAdapterFactory.ts","../src/Theming/ThemeObserver.ts","../src/Theming/Strategies/MaterialThemeGeneratorStrategy.ts","../src/Theming/Strategies/surface/JoyThemeGeneratorStrategy.ts","../src/Theming/Strategies/surface/MemphisThemeGeneratorStrategy.ts","../src/Theming/Strategies/surface/CosmopolitanThemeGeneratorStrategy.ts","../src/Theming/ThemeGenerator.ts","../src/Theming/Strategies/TailwindThemeGeneratorStrategy.ts","../src/Colors/adjust.ts","../src/Colors/common.ts","../src/Colors/generators/analogous.ts","../src/Colors/generators/material.ts","../src/Colors/generators/complementary.ts","../src/Colors/generators/triadic.ts","../src/Colors/index.ts"],"names":["ThemeFactory","create","init","name","scheme","palette","fontFamily","typography","layout","elevation","merge","theme","length","NAME","FONT_FAMILY","LAYOUT_RADIUS","LAYOUT_SPACE","LAYOUT_THICKNESS","SCHEME_LIGHT_SURFACE","SCHEME_LIGHT_BACKGROUND","SCHEME_LIGHT_FOREGROUND","SCHEME_LIGHT_HIGHLIGHT","SCHEME_LIGHT_MIDDLELIGHT","SCHEME_LIGHT_LOWLIGHT","SCHEME_LIGHT_TRANSPARENT","SCHEME_LIGHT_SEMI_TRANSPARENT","SCHEME_LIGHT_DISABLED","SCHEME_LIGHT_CONTRAST","SCHEME_LIGHT_SELECTION","SCHEME_DARK_SURFACE","SCHEME_DARK_BACKGROUND","SCHEME_DARK_FOREGROUND","SCHEME_DARK_HIGHLIGHT","SCHEME_DARK_MIDDLELIGHT","SCHEME_DARK_LOWLIGHT","SCHEME_DARK_TRANSPARENT","SCHEME_DARK_SEMI_TRANSPARENT","SCHEME_DARK_DISABLED","SCHEME_DARK_CONTRAST","SCHEME_DARK_SELECTION","COLOR_LIGHT_PRIMARY_0","COLOR_LIGHT_PRIMARY_50","COLOR_LIGHT_PRIMARY_100","COLOR_LIGHT_PRIMARY_200","COLOR_LIGHT_PRIMARY_300","COLOR_LIGHT_PRIMARY_400","COLOR_LIGHT_PRIMARY_500","COLOR_LIGHT_PRIMARY_600","COLOR_LIGHT_PRIMARY_700","COLOR_LIGHT_PRIMARY_800","COLOR_LIGHT_PRIMARY_900","COLOR_LIGHT_SECONDARY_0","COLOR_LIGHT_SECONDARY_50","COLOR_LIGHT_SECONDARY_100","COLOR_LIGHT_SECONDARY_200","COLOR_LIGHT_SECONDARY_300","COLOR_LIGHT_SECONDARY_400","COLOR_LIGHT_SECONDARY_500","COLOR_LIGHT_SECONDARY_600","COLOR_LIGHT_SECONDARY_700","COLOR_LIGHT_SECONDARY_800","COLOR_LIGHT_SECONDARY_900","COLOR_LIGHT_TERTIARY_0","COLOR_LIGHT_TERTIARY_50","COLOR_LIGHT_TERTIARY_100","COLOR_LIGHT_TERTIARY_200","COLOR_LIGHT_TERTIARY_300","COLOR_LIGHT_TERTIARY_400","COLOR_LIGHT_TERTIARY_500","COLOR_LIGHT_TERTIARY_600","COLOR_LIGHT_TERTIARY_700","COLOR_LIGHT_TERTIARY_800","COLOR_LIGHT_TERTIARY_900","COLOR_LIGHT_INFO_0","COLOR_LIGHT_INFO_50","COLOR_LIGHT_INFO_100","COLOR_LIGHT_INFO_200","COLOR_LIGHT_INFO_300","COLOR_LIGHT_INFO_400","COLOR_LIGHT_INFO_500","COLOR_LIGHT_INFO_600","COLOR_LIGHT_INFO_700","COLOR_LIGHT_INFO_800","COLOR_LIGHT_INFO_900","COLOR_LIGHT_WARNING_0","COLOR_LIGHT_WARNING_50","COLOR_LIGHT_WARNING_100","COLOR_LIGHT_WARNING_200","COLOR_LIGHT_WARNING_300","COLOR_LIGHT_WARNING_400","COLOR_LIGHT_WARNING_500","COLOR_LIGHT_WARNING_600","COLOR_LIGHT_WARNING_700","COLOR_LIGHT_WARNING_800","COLOR_LIGHT_WARNING_900","COLOR_LIGHT_DANGER_0","COLOR_LIGHT_DANGER_50","COLOR_LIGHT_DANGER_100","COLOR_LIGHT_DANGER_200","COLOR_LIGHT_DANGER_300","COLOR_LIGHT_DANGER_400","COLOR_LIGHT_DANGER_500","COLOR_LIGHT_DANGER_600","COLOR_LIGHT_DANGER_700","COLOR_LIGHT_DANGER_800","COLOR_LIGHT_DANGER_900","COLOR_LIGHT_SUCCESS_0","COLOR_LIGHT_SUCCESS_50","COLOR_LIGHT_SUCCESS_100","COLOR_LIGHT_SUCCESS_200","COLOR_LIGHT_SUCCESS_300","COLOR_LIGHT_SUCCESS_400","COLOR_LIGHT_SUCCESS_500","COLOR_LIGHT_SUCCESS_600","COLOR_LIGHT_SUCCESS_700","COLOR_LIGHT_SUCCESS_800","COLOR_LIGHT_SUCCESS_900","COLOR_LIGHT_HIGHLIGHT_0","COLOR_LIGHT_HIGHLIGHT_50","COLOR_LIGHT_HIGHLIGHT_100","COLOR_LIGHT_HIGHLIGHT_200","COLOR_LIGHT_HIGHLIGHT_300","COLOR_LIGHT_HIGHLIGHT_400","COLOR_LIGHT_HIGHLIGHT_500","COLOR_LIGHT_HIGHLIGHT_600","COLOR_LIGHT_HIGHLIGHT_700","COLOR_LIGHT_HIGHLIGHT_800","COLOR_LIGHT_HIGHLIGHT_900","COLOR_LIGHT_NEUTRAL_0","COLOR_LIGHT_NEUTRAL_50","COLOR_LIGHT_NEUTRAL_100","COLOR_LIGHT_NEUTRAL_200","COLOR_LIGHT_NEUTRAL_300","COLOR_LIGHT_NEUTRAL_400","COLOR_LIGHT_NEUTRAL_500","COLOR_LIGHT_NEUTRAL_600","COLOR_LIGHT_NEUTRAL_700","COLOR_LIGHT_NEUTRAL_800","COLOR_LIGHT_NEUTRAL_900","COLOR_DARK_PRIMARY_0","COLOR_DARK_PRIMARY_50","COLOR_DARK_PRIMARY_100","COLOR_DARK_PRIMARY_200","COLOR_DARK_PRIMARY_300","COLOR_DARK_PRIMARY_400","COLOR_DARK_PRIMARY_500","COLOR_DARK_PRIMARY_600","COLOR_DARK_PRIMARY_700","COLOR_DARK_PRIMARY_800","COLOR_DARK_PRIMARY_900","COLOR_DARK_SECONDARY_0","COLOR_DARK_SECONDARY_50","COLOR_DARK_SECONDARY_100","COLOR_DARK_SECONDARY_200","COLOR_DARK_SECONDARY_300","COLOR_DARK_SECONDARY_400","COLOR_DARK_SECONDARY_500","COLOR_DARK_SECONDARY_600","COLOR_DARK_SECONDARY_700","COLOR_DARK_SECONDARY_800","COLOR_DARK_SECONDARY_900","COLOR_DARK_TERTIARY_0","COLOR_DARK_TERTIARY_50","COLOR_DARK_TERTIARY_100","COLOR_DARK_TERTIARY_200","COLOR_DARK_TERTIARY_300","COLOR_DARK_TERTIARY_400","COLOR_DARK_TERTIARY_500","COLOR_DARK_TERTIARY_600","COLOR_DARK_TERTIARY_700","COLOR_DARK_TERTIARY_800","COLOR_DARK_TERTIARY_900","COLOR_DARK_INFO_0","COLOR_DARK_INFO_50","COLOR_DARK_INFO_100","COLOR_DARK_INFO_200","COLOR_DARK_INFO_300","COLOR_DARK_INFO_400","COLOR_DARK_INFO_500","COLOR_DARK_INFO_600","COLOR_DARK_INFO_700","COLOR_DARK_INFO_800","COLOR_DARK_INFO_900","COLOR_DARK_WARNING_0","COLOR_DARK_WARNING_50","COLOR_DARK_WARNING_100","COLOR_DARK_WARNING_200","COLOR_DARK_WARNING_300","COLOR_DARK_WARNING_400","COLOR_DARK_WARNING_500","COLOR_DARK_WARNING_600","COLOR_DARK_WARNING_700","COLOR_DARK_WARNING_800","COLOR_DARK_WARNING_900","COLOR_DARK_DANGER_0","COLOR_DARK_DANGER_50","COLOR_DARK_DANGER_100","COLOR_DARK_DANGER_200","COLOR_DARK_DANGER_300","COLOR_DARK_DANGER_400","COLOR_DARK_DANGER_500","COLOR_DARK_DANGER_600","COLOR_DARK_DANGER_700","COLOR_DARK_DANGER_800","COLOR_DARK_DANGER_900","COLOR_DARK_SUCCESS_0","COLOR_DARK_SUCCESS_50","COLOR_DARK_SUCCESS_100","COLOR_DARK_SUCCESS_200","COLOR_DARK_SUCCESS_300","COLOR_DARK_SUCCESS_400","COLOR_DARK_SUCCESS_500","COLOR_DARK_SUCCESS_600","COLOR_DARK_SUCCESS_700","COLOR_DARK_SUCCESS_800","COLOR_DARK_SUCCESS_900","COLOR_DARK_HIGHLIGHT_0","COLOR_DARK_HIGHLIGHT_50","COLOR_DARK_HIGHLIGHT_100","COLOR_DARK_HIGHLIGHT_200","COLOR_DARK_HIGHLIGHT_300","COLOR_DARK_HIGHLIGHT_400","COLOR_DARK_HIGHLIGHT_500","COLOR_DARK_HIGHLIGHT_600","COLOR_DARK_HIGHLIGHT_700","COLOR_DARK_HIGHLIGHT_800","COLOR_DARK_HIGHLIGHT_900","COLOR_DARK_NEUTRAL_0","COLOR_DARK_NEUTRAL_50","COLOR_DARK_NEUTRAL_100","COLOR_DARK_NEUTRAL_200","COLOR_DARK_NEUTRAL_300","COLOR_DARK_NEUTRAL_400","COLOR_DARK_NEUTRAL_500","COLOR_DARK_NEUTRAL_600","COLOR_DARK_NEUTRAL_700","COLOR_DARK_NEUTRAL_800","COLOR_DARK_NEUTRAL_900","TYPOGRAPHY_HEADLINE1_FONT_FAMILY","TYPOGRAPHY_HEADLINE1_FONT_SIZE","TYPOGRAPHY_HEADLINE1_LINE_HEIGHT","TYPOGRAPHY_HEADLINE1_FONT_WEIGHT","TYPOGRAPHY_HEADLINE1_LETTER_SPACING","TYPOGRAPHY_HEADLINE1_TEXT_DECORATION","TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM","TYPOGRAPHY_HEADLINE2_FONT_FAMILY","TYPOGRAPHY_HEADLINE2_FONT_SIZE","TYPOGRAPHY_HEADLINE2_LINE_HEIGHT","TYPOGRAPHY_HEADLINE2_FONT_WEIGHT","TYPOGRAPHY_HEADLINE2_LETTER_SPACING","TYPOGRAPHY_HEADLINE2_TEXT_DECORATION","TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM","TYPOGRAPHY_HEADLINE3_FONT_FAMILY","TYPOGRAPHY_HEADLINE3_FONT_SIZE","TYPOGRAPHY_HEADLINE3_LINE_HEIGHT","TYPOGRAPHY_HEADLINE3_FONT_WEIGHT","TYPOGRAPHY_HEADLINE3_LETTER_SPACING","TYPOGRAPHY_HEADLINE3_TEXT_DECORATION","TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM","TYPOGRAPHY_HEADLINE4_FONT_FAMILY","TYPOGRAPHY_HEADLINE4_FONT_SIZE","TYPOGRAPHY_HEADLINE4_LINE_HEIGHT","TYPOGRAPHY_HEADLINE4_FONT_WEIGHT","TYPOGRAPHY_HEADLINE4_LETTER_SPACING","TYPOGRAPHY_HEADLINE4_TEXT_DECORATION","TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM","TYPOGRAPHY_HEADLINE5_FONT_FAMILY","TYPOGRAPHY_HEADLINE5_FONT_SIZE","TYPOGRAPHY_HEADLINE5_LINE_HEIGHT","TYPOGRAPHY_HEADLINE5_FONT_WEIGHT","TYPOGRAPHY_HEADLINE5_LETTER_SPACING","TYPOGRAPHY_HEADLINE5_TEXT_DECORATION","TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM","TYPOGRAPHY_HEADLINE6_FONT_FAMILY","TYPOGRAPHY_HEADLINE6_FONT_SIZE","TYPOGRAPHY_HEADLINE6_LINE_HEIGHT","TYPOGRAPHY_HEADLINE6_FONT_WEIGHT","TYPOGRAPHY_HEADLINE6_LETTER_SPACING","TYPOGRAPHY_HEADLINE6_TEXT_DECORATION","TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM","TYPOGRAPHY_SUBTITLE1_FONT_FAMILY","TYPOGRAPHY_SUBTITLE1_FONT_SIZE","TYPOGRAPHY_SUBTITLE1_LINE_HEIGHT","TYPOGRAPHY_SUBTITLE1_FONT_WEIGHT","TYPOGRAPHY_SUBTITLE1_LETTER_SPACING","TYPOGRAPHY_SUBTITLE1_TEXT_DECORATION","TYPOGRAPHY_SUBTITLE1_TEXT_TRANSFORM","TYPOGRAPHY_SUBTITLE2_FONT_FAMILY","TYPOGRAPHY_SUBTITLE2_FONT_SIZE","TYPOGRAPHY_SUBTITLE2_LINE_HEIGHT","TYPOGRAPHY_SUBTITLE2_FONT_WEIGHT","TYPOGRAPHY_SUBTITLE2_LETTER_SPACING","TYPOGRAPHY_SUBTITLE2_TEXT_DECORATION","TYPOGRAPHY_SUBTITLE2_TEXT_TRANSFORM","TYPOGRAPHY_BODY1_FONT_FAMILY","TYPOGRAPHY_BODY1_FONT_SIZE","TYPOGRAPHY_BODY1_LINE_HEIGHT","TYPOGRAPHY_BODY1_FONT_WEIGHT","TYPOGRAPHY_BODY1_LETTER_SPACING","TYPOGRAPHY_BODY1_TEXT_DECORATION","TYPOGRAPHY_BODY1_TEXT_TRANSFORM","TYPOGRAPHY_BODY2_FONT_FAMILY","TYPOGRAPHY_BODY2_FONT_SIZE","TYPOGRAPHY_BODY2_LINE_HEIGHT","TYPOGRAPHY_BODY2_FONT_WEIGHT","TYPOGRAPHY_BODY2_LETTER_SPACING","TYPOGRAPHY_BODY2_TEXT_DECORATION","TYPOGRAPHY_BODY2_TEXT_TRANSFORM","TYPOGRAPHY_CAPTION_FONT_FAMILY","TYPOGRAPHY_CAPTION_FONT_SIZE","TYPOGRAPHY_CAPTION_LINE_HEIGHT","TYPOGRAPHY_CAPTION_FONT_WEIGHT","TYPOGRAPHY_CAPTION_LETTER_SPACING","TYPOGRAPHY_CAPTION_TEXT_DECORATION","TYPOGRAPHY_CAPTION_TEXT_TRANSFORM","TYPOGRAPHY_BUTTON_FONT_FAMILY","TYPOGRAPHY_BUTTON_FONT_SIZE","TYPOGRAPHY_BUTTON_LINE_HEIGHT","TYPOGRAPHY_BUTTON_FONT_WEIGHT","TYPOGRAPHY_BUTTON_LETTER_SPACING","TYPOGRAPHY_BUTTON_TEXT_DECORATION","TYPOGRAPHY_BUTTON_TEXT_TRANSFORM","TYPOGRAPHY_OVERLINE_FONT_FAMILY","TYPOGRAPHY_OVERLINE_FONT_SIZE","TYPOGRAPHY_OVERLINE_LINE_HEIGHT","TYPOGRAPHY_OVERLINE_FONT_WEIGHT","TYPOGRAPHY_OVERLINE_LETTER_SPACING","TYPOGRAPHY_OVERLINE_TEXT_DECORATION","TYPOGRAPHY_OVERLINE_TEXT_TRANSFORM","ELEVATION_LIGHT_LIGHT","ELEVATION_LIGHT_SEMILIGHT","ELEVATION_LIGHT_REGULAR","ELEVATION_LIGHT_SEMIBOLD","ELEVATION_LIGHT_BOLD","ELEVATION_LIGHT_EXTRABOLD","ELEVATION_DARK_LIGHT","ELEVATION_DARK_SEMILIGHT","ELEVATION_DARK_REGULAR","ELEVATION_DARK_SEMIBOLD","ELEVATION_DARK_BOLD","ELEVATION_DARK_EXTRABOLD","TYPOGRAPHY_KEY_HEADLINE1","TYPOGRAPHY_KEY_HEADLINE2","TYPOGRAPHY_KEY_HEADLINE3","TYPOGRAPHY_KEY_HEADLINE4","TYPOGRAPHY_KEY_HEADLINE5","TYPOGRAPHY_KEY_HEADLINE6","TYPOGRAPHY_KEY_SUBTITLE1","TYPOGRAPHY_KEY_SUBTITLE2","TYPOGRAPHY_KEY_BODY1","TYPOGRAPHY_KEY_BODY2","TYPOGRAPHY_KEY_CAPTION","TYPOGRAPHY_KEY_BUTTON","TYPOGRAPHY_KEY_OVERLINE","ELEVATION_KEY_LIGHT","ELEVATION_KEY_SEMILIGHT","ELEVATION_KEY_REGULAR","ELEVATION_KEY_SEMIBOLD","ELEVATION_KEY_BOLD","ELEVATION_KEY_EXTRABOLD","VARIANT_PRIMARY","VARIANT_SECONDARY","VARIANT_TERTIARY","VARIANT_DANGER","VARIANT_WARNING","VARIANT_SUCCESS","VARIANT_INFO","VARIANT_HIGHLIGHT","VARIANT_NEUTRAL","JoyTheme","JOY_THEME","light","surface","background","foreground","highlight","middlelight","lowlight","transparent","semiTransparent","disabled","contrast","selection","dark","primary","secondary","tertiary","info","warning","danger","success","neutral","headline1","fontSize","lineHeight","fontWeight","letterSpacing","textDecoration","textTransform","headline2","headline3","headline4","headline5","headline6","subtitle1","subtitle2","body1","body2","caption","overline","button","radius","space","thickness","semilight","regular","semibold","bold","extrabold","JOY_THEME_PALETTES","JOY_THEME_PALETTE_VARIANTS","JOY_THEME_SCHEMES","JOY_THEME_SCHEME_VARIANTS","JOY_THEME_ELEVATION","JOY_THEME_ELEVATION_VARIANTS","JOY_THEME_TYPOGRAPHY","JOY_THEME_METADATA","palettes","paletteVariants","schemes","schemeVariants","elevationVariants","typographies","MemphisTheme","MEMPHIS_THEME","MEMPHIS_THEME_PALETTES","MEMPHIS_THEME_PALETTE_VARIANTS","MEMPHIS_THEME_SCHEMES","MEMPHIS_THEME_SCHEME_VARIANTS","MEMPHIS_THEME_ELEVATION","MEMPHIS_THEME_ELEVATION_VARIANTS","MEMPHIS_THEME_TYPOGRAPHY","MEMPHIS_THEME_METADATA","ELEVATION_NONE","CosmopolitanTheme","COSMOPOLITAN_THEME","none","COSMOPOLITAN_THEME_PALETTES","COSMOPOLITAN_THEME_PALETTE_VARIANTS","COSMOPOLITAN_THEME_SCHEMES","COSMOPOLITAN_THEME_SCHEME_VARIANTS","COSMOPOLITAN_THEME_ELEVATION","COSMOPOLITAN_THEME_ELEVATION_VARIANTS","COSMOPOLITAN_THEME_TYPOGRAPHY","COSMOPOLITAN_THEME_METADATA","CssAspectRatio","isCssAspectRatio","value","trim","ratioParts","split","isNaN","Number","CssColor","isCssColor","rgbRegex","rgbaRegex","hexRegex","test","CssLength","isCssLength","lengthRegex","isAuto","isPercentage","percentageRegex","isLength","toNumber","Error","match","exec","parseFloat","toString","defaultUnit","undefined","extractUnit","cssLength","lengt","extractValue","pxToRem","pixel","baseSize","sizeInRem","tryParse","String","CssShadow","isCssShadow","shadows","every","isCssShadowSingle","shadowRegex","RegExp","CssTime","isCssTime","timeRegex","ThemePalette","THEME_SHADE_NAMES","isThemeShadeName","includes","isThemePalette","Object","keys","key","ITheme","getScheme","mode","getSchemeColor","role","color","getPalette","semanticColor","paletteEntry","getPaletteColor","shade","ThemeScheme","ROLES","isRole","isThemeScheme","entries","BrowserPlatformAdapter","matchMedia","query","window","matches","setDocumentAttribute","document","documentElement","setAttribute","getDocumentAttribute","getAttribute","observeDocumentAttributes","attributes","callback","observer","MutationObserver","mutations","forEach","mutation","type","attributeName","newValue","observe","attributeFilter","disconnect","NodePlatformAdapter","_query","_name","_value","_attributes","_callback","PlatformAdapterFactory","isThemeMode","ThemeObserver","_themeChanged","_themeModeChanged","_platformAdapter","_currentTheme","_currentThemeMode","_unsubscribe","platformAdapter","PureEventEmitter","themeChange","emit","themeModeChange","themeMode","themeChanged","themeModeChanged","applyTheme","isDark","dispose","cb","ThemeObserverServiceLocator","_current","current","isSet","set","MaterialThemeGeneratorStrategy","generatePalette","baseColor","baseLight","chroma","baseDark","steps","amounts","step","i","base","mix","hex","generateScheme","baseChroma","luminance","isDarkBase","adjustColor","targetAmount","c","currentLuminance","brighten","Math","abs","darkened","darken","createMaterialTheme","strategy","JoyThemeGeneratorStrategy","_materialStrategy","createJoyTheme","MemphisThemeGeneratorStrategy","createMemphisTheme","CosmopolitanThemeGeneratorStrategy","createCosmopolitanTheme","ThemeGenerator","_strategies","Map","themeName","resolvedMode","resolveMode","getStrategy","get","ThemeGeneratorServiceLocator","TailwindThemeGeneratorStrategy","h","s","hsl","idx","t","lightness","col","p","createTailwindTheme","adjust","amount","min","max","factor","r","g","b","rgb","map","x","lighten","hexToHSL","parseInt","slice","l","d","hslToHex","hue2rgb","q","round","padStart","adjustHue","adjustment","generateAnalogousPalette","baseHex","baseHSL","adjustedHSL","generateAnalogousColor","generateMaterialPalette","hexColor","generateComplementaryPalette","complementaryH","generateComplementaryColor","generateTriadicPalette","triadicHSL","generateTriadicColor","Colors","toDarken","toLighten","toMaterialPalette","toComplementaryPalette","toComplementaryColor","toAnalogousPalette","toAnalogousColor","toTriadicPalette","toTriadicColor"],"mappings":"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","file":"index.js","sourcesContent":["// #region Imports\n\nimport type { IThemeElevation } from './Utils/IThemeElevation';\nimport type { IThemeLayout } from './Utils/IThemeLayout';\nimport type { ITheme } from './Utils/ITheme';\nimport type { ThemeScheme } from './Utils/ThemeScheme';\nimport type { ThemeTypography } from './Utils/ThemeTypography';\nimport type { ThemeMode } from './Utils/ThemeMode';\nimport type { ThemeSemantic } from './Utils/ThemeSemantic';\n\n// #endregion\n\n/**\n * @private\n */\nexport type ThemeName = string;\n\n/**\n * @private\n */\nexport type SemanticColorName = string;\n\n/**\n * @private\n */\nexport interface IThemeInit {\n name: string;\n scheme: Readonly<Record<ThemeMode, ThemeScheme>>;\n palette: Readonly<Record<ThemeMode, ThemeSemantic>>;\n fontFamily: string;\n typography: ThemeTypography;\n layout: IThemeLayout;\n elevation: Record<string, IThemeElevation>;\n}\n\n/**\n * Factory for creating fully dynamic themes.\n *\n * @private\n */\nexport class ThemeFactory {\n\n /**\n * Creates a new theme.\n *\n * @public\n * @static\n */\n public static create(init: IThemeInit): ITheme {\n return {\n name: init.name,\n scheme: init.scheme,\n palette: init.palette,\n fontFamily: init.fontFamily,\n typography: init.typography,\n layout: init.layout,\n elevation: init.elevation\n };\n }\n\n /**\n * Merges the given theme with the initial theme.\n *\n * @public\n * @static\n */\n public static merge(init: IThemeInit, theme: ITheme): ITheme {\n return {\n name: init.name,\n scheme: {\n ...theme.scheme,\n ...init.scheme\n },\n palette: {\n ...theme.palette,\n ...init.palette\n },\n fontFamily: init.fontFamily.length > 0 ? init.fontFamily : theme.fontFamily,\n typography: {\n ...theme.typography,\n ...init.typography\n },\n layout: {\n ...theme.layout,\n ...init.layout\n },\n elevation: {\n ...theme.elevation,\n ...init.elevation\n }\n };\n }\n\n}\n","/**\n * Do not edit directly, this file was auto-generated.\n */\n\nexport const NAME = \"joy\";\nexport const FONT_FAMILY = \"Nunito, sans-serif\";\nexport const LAYOUT_RADIUS = \"12px\";\nexport const LAYOUT_SPACE = \"8px\";\nexport const LAYOUT_THICKNESS = \"2px\";\nexport const SCHEME_LIGHT_SURFACE = \"#f5f5f5\";\nexport const SCHEME_LIGHT_BACKGROUND = \"#eaeaea\";\nexport const SCHEME_LIGHT_FOREGROUND = \"#3c454f\";\nexport const SCHEME_LIGHT_HIGHLIGHT = \"#d1d1d1\";\nexport const SCHEME_LIGHT_MIDDLELIGHT = \"#8a8a8a\";\nexport const SCHEME_LIGHT_LOWLIGHT = \"#5c5c5c\";\nexport const SCHEME_LIGHT_TRANSPARENT = \"rgba(255, 255, 255, 0)\";\nexport const SCHEME_LIGHT_SEMI_TRANSPARENT = \"rgba(255, 255, 255, 0.67)\";\nexport const SCHEME_LIGHT_DISABLED = \"#686868\";\nexport const SCHEME_LIGHT_CONTRAST = \"#ffffff\";\nexport const SCHEME_LIGHT_SELECTION = \"rgba(204, 204, 204, 0.44)\";\nexport const SCHEME_DARK_SURFACE = \"#1e1e1e\";\nexport const SCHEME_DARK_BACKGROUND = \"#151515\";\nexport const SCHEME_DARK_FOREGROUND = \"#c3bab0\";\nexport const SCHEME_DARK_HIGHLIGHT = \"#2e2e2e\";\nexport const SCHEME_DARK_MIDDLELIGHT = \"#757575\";\nexport const SCHEME_DARK_LOWLIGHT = \"#a3a3a3\";\nexport const SCHEME_DARK_TRANSPARENT = \"rgba(255, 255, 255, 0)\";\nexport const SCHEME_DARK_SEMI_TRANSPARENT = \"rgba(255, 255, 255, 0.03)\";\nexport const SCHEME_DARK_DISABLED = \"#474747\";\nexport const SCHEME_DARK_CONTRAST = \"#000000\";\nexport const SCHEME_DARK_SELECTION = \"rgba(204, 204, 204, 0.44)\";\nexport const COLOR_LIGHT_PRIMARY_0 = \"#ffffff\";\nexport const COLOR_LIGHT_PRIMARY_50 = \"#fce4ec\";\nexport const COLOR_LIGHT_PRIMARY_100 = \"#f8bcd0\";\nexport const COLOR_LIGHT_PRIMARY_200 = \"#f48fb1\";\nexport const COLOR_LIGHT_PRIMARY_300 = \"#f06292\";\nexport const COLOR_LIGHT_PRIMARY_400 = \"#ec407a\";\nexport const COLOR_LIGHT_PRIMARY_500 = \"#e91e63\";\nexport const COLOR_LIGHT_PRIMARY_600 = \"#cb1a56\";\nexport const COLOR_LIGHT_PRIMARY_700 = \"#a31545\";\nexport const COLOR_LIGHT_PRIMARY_800 = \"#7e1035\";\nexport const COLOR_LIGHT_PRIMARY_900 = \"#3a0819\";\nexport const COLOR_LIGHT_SECONDARY_0 = \"#ffffff\";\nexport const COLOR_LIGHT_SECONDARY_50 = \"#e6f6e9\";\nexport const COLOR_LIGHT_SECONDARY_100 = \"#c3e8c9\";\nexport const COLOR_LIGHT_SECONDARY_200 = \"#9bd9a7\";\nexport const COLOR_LIGHT_SECONDARY_300 = \"#70cb83\";\nexport const COLOR_LIGHT_SECONDARY_400 = \"#4dbf68\";\nexport const COLOR_LIGHT_SECONDARY_500 = \"#21b34d\";\nexport const COLOR_LIGHT_SECONDARY_600 = \"#16a444\";\nexport const COLOR_LIGHT_SECONDARY_700 = \"#009238\";\nexport const COLOR_LIGHT_SECONDARY_800 = \"#00812d\";\nexport const COLOR_LIGHT_SECONDARY_900 = \"#006218\";\nexport const COLOR_LIGHT_TERTIARY_0 = \"#ffffff\";\nexport const COLOR_LIGHT_TERTIARY_50 = \"#e1f5fc\";\nexport const COLOR_LIGHT_TERTIARY_100 = \"#b4e6f7\";\nexport const COLOR_LIGHT_TERTIARY_200 = \"#84d5f3\";\nexport const COLOR_LIGHT_TERTIARY_300 = \"#56c5ee\";\nexport const COLOR_LIGHT_TERTIARY_400 = \"#35b8eb\";\nexport const COLOR_LIGHT_TERTIARY_500 = \"#19ace9\";\nexport const COLOR_LIGHT_TERTIARY_600 = \"#139edb\";\nexport const COLOR_LIGHT_TERTIARY_700 = \"#098bc7\";\nexport const COLOR_LIGHT_TERTIARY_800 = \"#087ab4\";\nexport const COLOR_LIGHT_TERTIARY_900 = \"#005a92\";\nexport const COLOR_LIGHT_INFO_0 = \"#ffffff\";\nexport const COLOR_LIGHT_INFO_50 = \"#f4faff\";\nexport const COLOR_LIGHT_INFO_100 = \"#ddf1ff\";\nexport const COLOR_LIGHT_INFO_200 = \"#addbff\";\nexport const COLOR_LIGHT_INFO_300 = \"#6fb6ff\";\nexport const COLOR_LIGHT_INFO_400 = \"#3990ff\";\nexport const COLOR_LIGHT_INFO_500 = \"#096bde\";\nexport const COLOR_LIGHT_INFO_600 = \"#054da7\";\nexport const COLOR_LIGHT_INFO_700 = \"#02367d\";\nexport const COLOR_LIGHT_INFO_800 = \"#072859\";\nexport const COLOR_LIGHT_INFO_900 = \"#00153c\";\nexport const COLOR_LIGHT_WARNING_0 = \"#ffffff\";\nexport const COLOR_LIGHT_WARNING_50 = \"#fff8c5\";\nexport const COLOR_LIGHT_WARNING_100 = \"#fae17d\";\nexport const COLOR_LIGHT_WARNING_200 = \"#eac54f\";\nexport const COLOR_LIGHT_WARNING_300 = \"#d4a72c\";\nexport const COLOR_LIGHT_WARNING_400 = \"#bf8700\";\nexport const COLOR_LIGHT_WARNING_500 = \"#9a6700\";\nexport const COLOR_LIGHT_WARNING_600 = \"#7d4e00\";\nexport const COLOR_LIGHT_WARNING_700 = \"#633c01\";\nexport const COLOR_LIGHT_WARNING_800 = \"#4d2d00\";\nexport const COLOR_LIGHT_WARNING_900 = \"#3b2300\";\nexport const COLOR_LIGHT_DANGER_0 = \"#ffffff\";\nexport const COLOR_LIGHT_DANGER_50 = \"#fff8f6\";\nexport const COLOR_LIGHT_DANGER_100 = \"#ffe9e8\";\nexport const COLOR_LIGHT_DANGER_200 = \"#ffc7c5\";\nexport const COLOR_LIGHT_DANGER_300 = \"#ff9192\";\nexport const COLOR_LIGHT_DANGER_400 = \"#fa5255\";\nexport const COLOR_LIGHT_DANGER_500 = \"#d3232f\";\nexport const COLOR_LIGHT_DANGER_600 = \"#a10e25\";\nexport const COLOR_LIGHT_DANGER_700 = \"#77061b\";\nexport const COLOR_LIGHT_DANGER_800 = \"#580013\";\nexport const COLOR_LIGHT_DANGER_900 = \"#39000d\";\nexport const COLOR_LIGHT_SUCCESS_0 = \"#ffffff\";\nexport const COLOR_LIGHT_SUCCESS_50 = \"#f3fef5\";\nexport const COLOR_LIGHT_SUCCESS_100 = \"#d7f5dd\";\nexport const COLOR_LIGHT_SUCCESS_200 = \"#77ec95\";\nexport const COLOR_LIGHT_SUCCESS_300 = \"#4cc76e\";\nexport const COLOR_LIGHT_SUCCESS_400 = \"#2ca24d\";\nexport const COLOR_LIGHT_SUCCESS_500 = \"#1a7d36\";\nexport const COLOR_LIGHT_SUCCESS_600 = \"#0f5d26\";\nexport const COLOR_LIGHT_SUCCESS_700 = \"#034318\";\nexport const COLOR_LIGHT_SUCCESS_800 = \"#002f0f\";\nexport const COLOR_LIGHT_SUCCESS_900 = \"#001d09\";\nexport const COLOR_LIGHT_HIGHLIGHT_0 = \"#ffffff\";\nexport const COLOR_LIGHT_HIGHLIGHT_50 = \"#fdf7ff\";\nexport const COLOR_LIGHT_HIGHLIGHT_100 = \"#f4eaff\";\nexport const COLOR_LIGHT_HIGHLIGHT_200 = \"#e1cbff\";\nexport const COLOR_LIGHT_HIGHLIGHT_300 = \"#c69eff\";\nexport const COLOR_LIGHT_HIGHLIGHT_400 = \"#a374f9\";\nexport const COLOR_LIGHT_HIGHLIGHT_500 = \"#814dde\";\nexport const COLOR_LIGHT_HIGHLIGHT_600 = \"#5f35ae\";\nexport const COLOR_LIGHT_HIGHLIGHT_700 = \"#452382\";\nexport const COLOR_LIGHT_HIGHLIGHT_800 = \"#301761\";\nexport const COLOR_LIGHT_HIGHLIGHT_900 = \"#1d0a42\";\nexport const COLOR_LIGHT_NEUTRAL_0 = \"#ffffff\";\nexport const COLOR_LIGHT_NEUTRAL_50 = \"#f7f7f8\";\nexport const COLOR_LIGHT_NEUTRAL_100 = \"#ebebef\";\nexport const COLOR_LIGHT_NEUTRAL_200 = \"#d8d8df\";\nexport const COLOR_LIGHT_NEUTRAL_300 = \"#b9b9c6\";\nexport const COLOR_LIGHT_NEUTRAL_400 = \"#8f8fa3\";\nexport const COLOR_LIGHT_NEUTRAL_500 = \"#73738c\";\nexport const COLOR_LIGHT_NEUTRAL_600 = \"#5a5a72\";\nexport const COLOR_LIGHT_NEUTRAL_700 = \"#434356\";\nexport const COLOR_LIGHT_NEUTRAL_800 = \"#25252d\";\nexport const COLOR_LIGHT_NEUTRAL_900 = \"#131318\";\nexport const COLOR_DARK_PRIMARY_0 = \"#000000\";\nexport const COLOR_DARK_PRIMARY_50 = \"#3a0819\";\nexport const COLOR_DARK_PRIMARY_100 = \"#7e1035\";\nexport const COLOR_DARK_PRIMARY_200 = \"#a31545\";\nexport const COLOR_DARK_PRIMARY_300 = \"#cb1a56\";\nexport const COLOR_DARK_PRIMARY_400 = \"#e91e63\";\nexport const COLOR_DARK_PRIMARY_500 = \"#ec407a\";\nexport const COLOR_DARK_PRIMARY_600 = \"#f06292\";\nexport const COLOR_DARK_PRIMARY_700 = \"#f48fb1\";\nexport const COLOR_DARK_PRIMARY_800 = \"#f8bcd0\";\nexport const COLOR_DARK_PRIMARY_900 = \"#fce4ec\";\nexport const COLOR_DARK_SECONDARY_0 = \"#000000\";\nexport const COLOR_DARK_SECONDARY_50 = \"#006218\";\nexport const COLOR_DARK_SECONDARY_100 = \"#00812d\";\nexport const COLOR_DARK_SECONDARY_200 = \"#009238\";\nexport const COLOR_DARK_SECONDARY_300 = \"#16a444\";\nexport const COLOR_DARK_SECONDARY_400 = \"#21b34d\";\nexport const COLOR_DARK_SECONDARY_500 = \"#4dbf68\";\nexport const COLOR_DARK_SECONDARY_600 = \"#70cb83\";\nexport const COLOR_DARK_SECONDARY_700 = \"#9bd9a7\";\nexport const COLOR_DARK_SECONDARY_800 = \"#c3e8c9\";\nexport const COLOR_DARK_SECONDARY_900 = \"#e6f6e9\";\nexport const COLOR_DARK_TERTIARY_0 = \"#000000\";\nexport const COLOR_DARK_TERTIARY_50 = \"#005a92\";\nexport const COLOR_DARK_TERTIARY_100 = \"#087ab4\";\nexport const COLOR_DARK_TERTIARY_200 = \"#098bc7\";\nexport const COLOR_DARK_TERTIARY_300 = \"#139edb\";\nexport const COLOR_DARK_TERTIARY_400 = \"#19ace9\";\nexport const COLOR_DARK_TERTIARY_500 = \"#35b8eb\";\nexport const COLOR_DARK_TERTIARY_600 = \"#56c5ee\";\nexport const COLOR_DARK_TERTIARY_700 = \"#84d5f3\";\nexport const COLOR_DARK_TERTIARY_800 = \"#b4e6f7\";\nexport const COLOR_DARK_TERTIARY_900 = \"#e1f5fc\";\nexport const COLOR_DARK_INFO_0 = \"#000000\";\nexport const COLOR_DARK_INFO_50 = \"#00153c\";\nexport const COLOR_DARK_INFO_100 = \"#072859\";\nexport const COLOR_DARK_INFO_200 = \"#02367d\";\nexport const COLOR_DARK_INFO_300 = \"#054da7\";\nexport const COLOR_DARK_INFO_400 = \"#096bde\";\nexport const COLOR_DARK_INFO_500 = \"#3990ff\";\nexport const COLOR_DARK_INFO_600 = \"#6fb6ff\";\nexport const COLOR_DARK_INFO_700 = \"#addbff\";\nexport const COLOR_DARK_INFO_800 = \"#ddf1ff\";\nexport const COLOR_DARK_INFO_900 = \"#f4faff\";\nexport const COLOR_DARK_WARNING_0 = \"#000000\";\nexport const COLOR_DARK_WARNING_50 = \"#3b2300\";\nexport const COLOR_DARK_WARNING_100 = \"#4d2d00\";\nexport const COLOR_DARK_WARNING_200 = \"#633c01\";\nexport const COLOR_DARK_WARNING_300 = \"#7d4e00\";\nexport const COLOR_DARK_WARNING_400 = \"#9a6700\";\nexport const COLOR_DARK_WARNING_500 = \"#bf8700\";\nexport const COLOR_DARK_WARNING_600 = \"#d4a72c\";\nexport const COLOR_DARK_WARNING_700 = \"#eac54f\";\nexport const COLOR_DARK_WARNING_800 = \"#fae17d\";\nexport const COLOR_DARK_WARNING_900 = \"#fff8c5\";\nexport const COLOR_DARK_DANGER_0 = \"#000000\";\nexport const COLOR_DARK_DANGER_50 = \"#39000d\";\nexport const COLOR_DARK_DANGER_100 = \"#580013\";\nexport const COLOR_DARK_DANGER_200 = \"#77061b\";\nexport const COLOR_DARK_DANGER_300 = \"#a10e25\";\nexport const COLOR_DARK_DANGER_400 = \"#d3232f\";\nexport const COLOR_DARK_DANGER_500 = \"#fa5255\";\nexport const COLOR_DARK_DANGER_600 = \"#ff9192\";\nexport const COLOR_DARK_DANGER_700 = \"#ffc7c5\";\nexport const COLOR_DARK_DANGER_800 = \"#ffe9e8\";\nexport const COLOR_DARK_DANGER_900 = \"#fff8f6\";\nexport const COLOR_DARK_SUCCESS_0 = \"#000000\";\nexport const COLOR_DARK_SUCCESS_50 = \"#001d09\";\nexport const COLOR_DARK_SUCCESS_100 = \"#002f0f\";\nexport const COLOR_DARK_SUCCESS_200 = \"#034318\";\nexport const COLOR_DARK_SUCCESS_300 = \"#0f5d26\";\nexport const COLOR_DARK_SUCCESS_400 = \"#1a7d36\";\nexport const COLOR_DARK_SUCCESS_500 = \"#2ca24d\";\nexport const COLOR_DARK_SUCCESS_600 = \"#4cc76e\";\nexport const COLOR_DARK_SUCCESS_700 = \"#77ec95\";\nexport const COLOR_DARK_SUCCESS_800 = \"#d7f5dd\";\nexport const COLOR_DARK_SUCCESS_900 = \"#f3fef5\";\nexport const COLOR_DARK_HIGHLIGHT_0 = \"#000000\";\nexport const COLOR_DARK_HIGHLIGHT_50 = \"#1d0a42\";\nexport const COLOR_DARK_HIGHLIGHT_100 = \"#301761\";\nexport const COLOR_DARK_HIGHLIGHT_200 = \"#452382\";\nexport const COLOR_DARK_HIGHLIGHT_300 = \"#5f35ae\";\nexport const COLOR_DARK_HIGHLIGHT_400 = \"#814dde\";\nexport const COLOR_DARK_HIGHLIGHT_500 = \"#a374f9\";\nexport const COLOR_DARK_HIGHLIGHT_600 = \"#c69eff\";\nexport const COLOR_DARK_HIGHLIGHT_700 = \"#e1cbff\";\nexport const COLOR_DARK_HIGHLIGHT_800 = \"#f4eaff\";\nexport const COLOR_DARK_HIGHLIGHT_900 = \"#fdf7ff\";\nexport const COLOR_DARK_NEUTRAL_0 = \"#000000\";\nexport const COLOR_DARK_NEUTRAL_50 = \"#131318\";\nexport const COLOR_DARK_NEUTRAL_100 = \"#25252d\";\nexport const COLOR_DARK_NEUTRAL_200 = \"#434356\";\nexport const COLOR_DARK_NEUTRAL_300 = \"#5a5a72\";\nexport const COLOR_DARK_NEUTRAL_400 = \"#73738c\";\nexport const COLOR_DARK_NEUTRAL_500 = \"#8f8fa3\";\nexport const COLOR_DARK_NEUTRAL_600 = \"#b9b9c6\";\nexport const COLOR_DARK_NEUTRAL_700 = \"#d8d8df\";\nexport const COLOR_DARK_NEUTRAL_800 = \"#ebebef\";\nexport const COLOR_DARK_NEUTRAL_900 = \"#f7f7f8\";\nexport const TYPOGRAPHY_HEADLINE1_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE1_FONT_SIZE = \"96px\";\nexport const TYPOGRAPHY_HEADLINE1_LINE_HEIGHT = \"100px\";\nexport const TYPOGRAPHY_HEADLINE1_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE1_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_HEADLINE1_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE2_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE2_FONT_SIZE = \"60px\";\nexport const TYPOGRAPHY_HEADLINE2_LINE_HEIGHT = \"64px\";\nexport const TYPOGRAPHY_HEADLINE2_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE2_LETTER_SPACING = \"-0.13333333333333333px\";\nexport const TYPOGRAPHY_HEADLINE2_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE3_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE3_FONT_SIZE = \"48px\";\nexport const TYPOGRAPHY_HEADLINE3_LINE_HEIGHT = \"52px\";\nexport const TYPOGRAPHY_HEADLINE3_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_HEADLINE3_LETTER_SPACING = \"normal\";\nexport const TYPOGRAPHY_HEADLINE3_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE4_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE4_FONT_SIZE = \"34px\";\nexport const TYPOGRAPHY_HEADLINE4_LINE_HEIGHT = \"38px\";\nexport const TYPOGRAPHY_HEADLINE4_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_HEADLINE4_LETTER_SPACING = \"0.11764705882352941px\";\nexport const TYPOGRAPHY_HEADLINE4_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE5_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE5_FONT_SIZE = \"24px\";\nexport const TYPOGRAPHY_HEADLINE5_LINE_HEIGHT = \"28px\";\nexport const TYPOGRAPHY_HEADLINE5_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_HEADLINE5_LETTER_SPACING = \"normal\";\nexport const TYPOGRAPHY_HEADLINE5_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE6_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE6_FONT_SIZE = \"20px\";\nexport const TYPOGRAPHY_HEADLINE6_LINE_HEIGHT = \"24px\";\nexport const TYPOGRAPHY_HEADLINE6_FONT_WEIGHT = \"500\";\nexport const TYPOGRAPHY_HEADLINE6_LETTER_SPACING = \"0.2px\";\nexport const TYPOGRAPHY_HEADLINE6_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_SUBTITLE1_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_SUBTITLE1_FONT_SIZE = \"16px\";\nexport const TYPOGRAPHY_SUBTITLE1_LINE_HEIGHT = \"20px\";\nexport const TYPOGRAPHY_SUBTITLE1_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_SUBTITLE1_LETTER_SPACING = \"0.15px\";\nexport const TYPOGRAPHY_SUBTITLE1_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_SUBTITLE1_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_SUBTITLE2_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_SUBTITLE2_FONT_SIZE = \"14px\";\nexport const TYPOGRAPHY_SUBTITLE2_LINE_HEIGHT = \"18px\";\nexport const TYPOGRAPHY_SUBTITLE2_FONT_WEIGHT = \"500\";\nexport const TYPOGRAPHY_SUBTITLE2_LETTER_SPACING = \"0.1142857142857143px\";\nexport const TYPOGRAPHY_SUBTITLE2_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_SUBTITLE2_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_BODY1_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_BODY1_FONT_SIZE = \"16px\";\nexport const TYPOGRAPHY_BODY1_LINE_HEIGHT = \"20px\";\nexport const TYPOGRAPHY_BODY1_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_BODY1_LETTER_SPACING = \"0.5px\";\nexport const TYPOGRAPHY_BODY1_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_BODY1_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_BODY2_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_BODY2_FONT_SIZE = \"14px\";\nexport const TYPOGRAPHY_BODY2_LINE_HEIGHT = \"18px\";\nexport const TYPOGRAPHY_BODY2_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_BODY2_LETTER_SPACING = \"0.2857142857142857px\";\nexport const TYPOGRAPHY_BODY2_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_BODY2_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_CAPTION_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_CAPTION_FONT_SIZE = \"12px\";\nexport const TYPOGRAPHY_CAPTION_LINE_HEIGHT = \"16px\";\nexport const TYPOGRAPHY_CAPTION_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_CAPTION_LETTER_SPACING = \"0.5333333333333333px\";\nexport const TYPOGRAPHY_CAPTION_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_CAPTION_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_BUTTON_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_BUTTON_FONT_SIZE = \"14px\";\nexport const TYPOGRAPHY_BUTTON_LINE_HEIGHT = \"18px\";\nexport const TYPOGRAPHY_BUTTON_FONT_WEIGHT = \"700\";\nexport const TYPOGRAPHY_BUTTON_LETTER_SPACING = \"1.4285714285714286px\";\nexport const TYPOGRAPHY_BUTTON_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_BUTTON_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_OVERLINE_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_OVERLINE_FONT_SIZE = \"12px\";\nexport const TYPOGRAPHY_OVERLINE_LINE_HEIGHT = \"16px\";\nexport const TYPOGRAPHY_OVERLINE_FONT_WEIGHT = \"500\";\nexport const TYPOGRAPHY_OVERLINE_LETTER_SPACING = \"2.6666666666666665px\";\nexport const TYPOGRAPHY_OVERLINE_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_OVERLINE_TEXT_TRANSFORM = \"none\";\nexport const ELEVATION_NONE = \"none\";\nexport const ELEVATION_LIGHT_LIGHT =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 1px 2px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_Y_1 = \"1px\";\nexport const ELEVATION_LIGHT_LIGHT_BLUR_0 = \"2px\";\nexport const ELEVATION_LIGHT_LIGHT_BLUR_1 = \"2px\";\nexport const ELEVATION_LIGHT_LIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_LIGHT_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_SEMILIGHT =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 2px 4px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_Y_1 = \"2px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_BLUR_0 = \"2px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_BLUR_1 = \"4px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_SEMILIGHT_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_REGULAR =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 4px 8px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_Y_1 = \"4px\";\nexport const ELEVATION_LIGHT_REGULAR_BLUR_0 = \"2px\";\nexport const ELEVATION_LIGHT_REGULAR_BLUR_1 = \"8px\";\nexport const ELEVATION_LIGHT_REGULAR_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_REGULAR_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_SEMIBOLD =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 8px 16px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_Y_1 = \"8px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_BLUR_0 = \"2px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_BLUR_1 = \"16px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_SEMIBOLD_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_BOLD =\n \"0px 0px 8px 0px rgba(0, 0, 0, 0.12), 0px 14px 28px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_Y_1 = \"14px\";\nexport const ELEVATION_LIGHT_BOLD_BLUR_0 = \"8px\";\nexport const ELEVATION_LIGHT_BOLD_BLUR_1 = \"28px\";\nexport const ELEVATION_LIGHT_BOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_BOLD_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_EXTRABOLD =\n \"0px 0px 8px 0px rgba(0, 0, 0, 0.12), 0px 32px 64px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_Y_1 = \"32px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_BLUR_0 = \"8px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_BLUR_1 = \"64px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_EXTRABOLD_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_DARK_LIGHT =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.24), 0px 1px 2px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_Y_1 = \"1px\";\nexport const ELEVATION_DARK_LIGHT_BLUR_0 = \"2px\";\nexport const ELEVATION_DARK_LIGHT_BLUR_1 = \"2px\";\nexport const ELEVATION_DARK_LIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_LIGHT_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_SEMILIGHT =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.24), 0px 2px 4px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_Y_1 = \"2px\";\nexport const ELEVATION_DARK_SEMILIGHT_BLUR_0 = \"2px\";\nexport const ELEVATION_DARK_SEMILIGHT_BLUR_1 = \"4px\";\nexport const ELEVATION_DARK_SEMILIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_SEMILIGHT_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_REGULAR =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.24), 0px 4px 8px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_Y_1 = \"4px\";\nexport const ELEVATION_DARK_REGULAR_BLUR_0 = \"2px\";\nexport const ELEVATION_DARK_REGULAR_BLUR_1 = \"8px\";\nexport const ELEVATION_DARK_REGULAR_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_REGULAR_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_SEMIBOLD =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.24), 0px 8px 16px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_Y_1 = \"8px\";\nexport const ELEVATION_DARK_SEMIBOLD_BLUR_0 = \"2px\";\nexport const ELEVATION_DARK_SEMIBOLD_BLUR_1 = \"16px\";\nexport const ELEVATION_DARK_SEMIBOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_SEMIBOLD_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_BOLD =\n \"0px 0px 8px 0px rgba(0, 0, 0, 0.24), 0px 14px 28px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_BOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_BOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_BOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_BOLD_OFFSET_Y_1 = \"14px\";\nexport const ELEVATION_DARK_BOLD_BLUR_0 = \"8px\";\nexport const ELEVATION_DARK_BOLD_BLUR_1 = \"28px\";\nexport const ELEVATION_DARK_BOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_BOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_BOLD_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_BOLD_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_EXTRABOLD =\n \"0px 0px 8px 0px rgba(0, 0, 0, 0.24), 0px 32px 64px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_Y_1 = \"32px\";\nexport const ELEVATION_DARK_EXTRABOLD_BLUR_0 = \"8px\";\nexport const ELEVATION_DARK_EXTRABOLD_BLUR_1 = \"64px\";\nexport const ELEVATION_DARK_EXTRABOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_EXTRABOLD_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const SIZE_TINY = \"2px\";\nexport const SIZE_SMALL = \"4px\";\nexport const SIZE_MEDIUM = \"8px\";\nexport const SIZE_LARGE = \"16px\";\nexport const SIZE_GIANT = \"32px\";\nexport const SIZE_KEY = \"tiny small medium large giant\";\nexport const SIZE_KEY_TINY = \"tiny\";\nexport const SIZE_KEY_SMALL = \"small\";\nexport const SIZE_KEY_MEDIUM = \"medium\";\nexport const SIZE_KEY_LARGE = \"large\";\nexport const SIZE_KEY_GIANT = \"giant\";\nexport const TYPOGRAPHY_KEY_HEADLINE1 = \"headline1\";\nexport const TYPOGRAPHY_KEY_HEADLINE2 = \"headline2\";\nexport const TYPOGRAPHY_KEY_HEADLINE3 = \"headline3\";\nexport const TYPOGRAPHY_KEY_HEADLINE4 = \"headline4\";\nexport const TYPOGRAPHY_KEY_HEADLINE5 = \"headline5\";\nexport const TYPOGRAPHY_KEY_HEADLINE6 = \"headline6\";\nexport const TYPOGRAPHY_KEY_SUBTITLE1 = \"subtitle1\";\nexport const TYPOGRAPHY_KEY_SUBTITLE2 = \"subtitle2\";\nexport const TYPOGRAPHY_KEY_BODY1 = \"body1\";\nexport const TYPOGRAPHY_KEY_BODY2 = \"body2\";\nexport const TYPOGRAPHY_KEY_CAPTION = \"caption\";\nexport const TYPOGRAPHY_KEY_BUTTON = \"button\";\nexport const TYPOGRAPHY_KEY_OVERLINE = \"overline\";\nexport const ELEVATION_KEY = \"light semilight regular semibold bold extrabold\";\nexport const ELEVATION_KEY_LIGHT = \"light\";\nexport const ELEVATION_KEY_SEMILIGHT = \"semilight\";\nexport const ELEVATION_KEY_REGULAR = \"regular\";\nexport const ELEVATION_KEY_SEMIBOLD = \"semibold\";\nexport const ELEVATION_KEY_BOLD = \"bold\";\nexport const ELEVATION_KEY_EXTRABOLD = \"extrabold\";\nexport const APPEARANCE = \"default outline plain soft solid\";\nexport const APPEARANCE_DEFAULT = \"default\";\nexport const APPEARANCE_OUTLINE = \"outline\";\nexport const APPEARANCE_PLAIN = \"plain\";\nexport const APPEARANCE_SOFT = \"soft\";\nexport const APPEARANCE_SOLID = \"solid\";\nexport const VARIANT =\n \"primary secondary tertiary danger warning success info highlight neutral\";\nexport const VARIANT_PRIMARY = \"primary\";\nexport const VARIANT_SECONDARY = \"secondary\";\nexport const VARIANT_TERTIARY = \"tertiary\";\nexport const VARIANT_DANGER = \"danger\";\nexport const VARIANT_WARNING = \"warning\";\nexport const VARIANT_SUCCESS = \"success\";\nexport const VARIANT_INFO = \"info\";\nexport const VARIANT_HIGHLIGHT = \"highlight\";\nexport const VARIANT_NEUTRAL = \"neutral\";\nexport const DURATION = \"200ms 400ms 600ms\";\nexport const DURATION_SHORT = \"200ms\";\nexport const DURATION_MEDIUM = \"400ms\";\nexport const DURATION_LONG = \"600ms\";\n","// #region Imports\n\nimport { ThemeFactory } from './ThemeFactory';\nimport { NAME, TYPOGRAPHY_BODY1_FONT_SIZE, SCHEME_DARK_BACKGROUND, SCHEME_DARK_DISABLED, SCHEME_DARK_FOREGROUND, SCHEME_DARK_HIGHLIGHT, SCHEME_DARK_LOWLIGHT, SCHEME_DARK_MIDDLELIGHT, SCHEME_DARK_SEMI_TRANSPARENT, SCHEME_DARK_TRANSPARENT, SCHEME_LIGHT_BACKGROUND, SCHEME_LIGHT_DISABLED, SCHEME_LIGHT_FOREGROUND, SCHEME_LIGHT_HIGHLIGHT, SCHEME_LIGHT_LOWLIGHT, SCHEME_LIGHT_MIDDLELIGHT, SCHEME_LIGHT_SEMI_TRANSPARENT, SCHEME_LIGHT_TRANSPARENT, TYPOGRAPHY_BODY1_FONT_WEIGHT, TYPOGRAPHY_BODY1_LETTER_SPACING, TYPOGRAPHY_BODY1_LINE_HEIGHT, TYPOGRAPHY_BODY1_TEXT_DECORATION, TYPOGRAPHY_BODY1_TEXT_TRANSFORM, TYPOGRAPHY_BODY2_FONT_SIZE, TYPOGRAPHY_BODY2_FONT_WEIGHT, TYPOGRAPHY_BODY2_LETTER_SPACING, TYPOGRAPHY_BODY2_LINE_HEIGHT, TYPOGRAPHY_BODY2_TEXT_DECORATION, TYPOGRAPHY_BODY2_TEXT_TRANSFORM, TYPOGRAPHY_BUTTON_FONT_SIZE, TYPOGRAPHY_BUTTON_FONT_WEIGHT, TYPOGRAPHY_BUTTON_LETTER_SPACING, TYPOGRAPHY_BUTTON_LINE_HEIGHT, TYPOGRAPHY_BUTTON_TEXT_DECORATION, TYPOGRAPHY_BUTTON_TEXT_TRANSFORM, TYPOGRAPHY_CAPTION_FONT_SIZE, TYPOGRAPHY_CAPTION_FONT_WEIGHT, TYPOGRAPHY_CAPTION_LETTER_SPACING, TYPOGRAPHY_CAPTION_LINE_HEIGHT, TYPOGRAPHY_CAPTION_TEXT_DECORATION, TYPOGRAPHY_CAPTION_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE2_FONT_SIZE, TYPOGRAPHY_HEADLINE2_FONT_WEIGHT, TYPOGRAPHY_HEADLINE2_LETTER_SPACING, TYPOGRAPHY_HEADLINE2_LINE_HEIGHT, TYPOGRAPHY_HEADLINE2_TEXT_DECORATION, TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE3_FONT_SIZE, TYPOGRAPHY_HEADLINE3_FONT_WEIGHT, TYPOGRAPHY_HEADLINE3_LETTER_SPACING, TYPOGRAPHY_HEADLINE3_LINE_HEIGHT, TYPOGRAPHY_HEADLINE3_TEXT_DECORATION, TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE4_FONT_SIZE, TYPOGRAPHY_HEADLINE4_FONT_WEIGHT, TYPOGRAPHY_HEADLINE4_LETTER_SPACING, TYPOGRAPHY_HEADLINE4_LINE_HEIGHT, TYPOGRAPHY_HEADLINE4_TEXT_DECORATION, TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE5_FONT_SIZE, TYPOGRAPHY_HEADLINE1_FONT_SIZE, TYPOGRAPHY_HEADLINE1_FONT_WEIGHT, TYPOGRAPHY_HEADLINE1_LETTER_SPACING, TYPOGRAPHY_HEADLINE1_LINE_HEIGHT, TYPOGRAPHY_HEADLINE1_TEXT_DECORATION, TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE5_FONT_WEIGHT, TYPOGRAPHY_HEADLINE5_LETTER_SPACING, TYPOGRAPHY_HEADLINE5_LINE_HEIGHT, TYPOGRAPHY_HEADLINE5_TEXT_DECORATION, TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE6_FONT_SIZE, TYPOGRAPHY_HEADLINE6_FONT_WEIGHT, TYPOGRAPHY_HEADLINE6_LETTER_SPACING, TYPOGRAPHY_HEADLINE6_LINE_HEIGHT, TYPOGRAPHY_HEADLINE6_TEXT_DECORATION, TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM, TYPOGRAPHY_OVERLINE_FONT_SIZE, TYPOGRAPHY_OVERLINE_FONT_WEIGHT, TYPOGRAPHY_OVERLINE_LETTER_SPACING, TYPOGRAPHY_OVERLINE_LINE_HEIGHT, TYPOGRAPHY_OVERLINE_TEXT_DECORATION, TYPOGRAPHY_OVERLINE_TEXT_TRANSFORM, TYPOGRAPHY_SUBTITLE1_FONT_SIZE, TYPOGRAPHY_SUBTITLE1_FONT_WEIGHT, TYPOGRAPHY_SUBTITLE1_LETTER_SPACING, TYPOGRAPHY_SUBTITLE1_LINE_HEIGHT, TYPOGRAPHY_SUBTITLE1_TEXT_DECORATION, TYPOGRAPHY_SUBTITLE1_TEXT_TRANSFORM, TYPOGRAPHY_SUBTITLE2_FONT_SIZE, TYPOGRAPHY_SUBTITLE2_FONT_WEIGHT, TYPOGRAPHY_SUBTITLE2_LETTER_SPACING, TYPOGRAPHY_SUBTITLE2_LINE_HEIGHT, TYPOGRAPHY_SUBTITLE2_TEXT_DECORATION, TYPOGRAPHY_SUBTITLE2_TEXT_TRANSFORM, LAYOUT_RADIUS, LAYOUT_SPACE, LAYOUT_THICKNESS, TYPOGRAPHY_BODY1_FONT_FAMILY, TYPOGRAPHY_BODY2_FONT_FAMILY, TYPOGRAPHY_BUTTON_FONT_FAMILY, TYPOGRAPHY_CAPTION_FONT_FAMILY, TYPOGRAPHY_HEADLINE1_FONT_FAMILY, TYPOGRAPHY_HEADLINE2_FONT_FAMILY, TYPOGRAPHY_HEADLINE3_FONT_FAMILY, TYPOGRAPHY_HEADLINE5_FONT_FAMILY, TYPOGRAPHY_HEADLINE6_FONT_FAMILY, TYPOGRAPHY_OVERLINE_FONT_FAMILY, TYPOGRAPHY_SUBTITLE1_FONT_FAMILY, TYPOGRAPHY_SUBTITLE2_FONT_FAMILY, TYPOGRAPHY_HEADLINE4_FONT_FAMILY, FONT_FAMILY, COLOR_DARK_DANGER_0, COLOR_DARK_DANGER_100, COLOR_DARK_DANGER_200, COLOR_DARK_DANGER_300, COLOR_DARK_DANGER_400, COLOR_DARK_DANGER_50, COLOR_DARK_DANGER_500, COLOR_DARK_DANGER_600, COLOR_DARK_DANGER_700, COLOR_DARK_DANGER_800, COLOR_DARK_DANGER_900, COLOR_DARK_NEUTRAL_0, COLOR_DARK_NEUTRAL_100, COLOR_DARK_NEUTRAL_200, COLOR_DARK_NEUTRAL_300, COLOR_DARK_NEUTRAL_400, COLOR_DARK_NEUTRAL_50, COLOR_DARK_NEUTRAL_500, COLOR_DARK_NEUTRAL_600, COLOR_DARK_NEUTRAL_700, COLOR_DARK_NEUTRAL_800, COLOR_DARK_NEUTRAL_900, COLOR_DARK_HIGHLIGHT_0, COLOR_DARK_HIGHLIGHT_100, COLOR_DARK_HIGHLIGHT_200, COLOR_DARK_HIGHLIGHT_300, COLOR_DARK_HIGHLIGHT_400, COLOR_DARK_HIGHLIGHT_50, COLOR_DARK_HIGHLIGHT_500, COLOR_DARK_HIGHLIGHT_600, COLOR_DARK_HIGHLIGHT_700, COLOR_DARK_HIGHLIGHT_800, COLOR_DARK_HIGHLIGHT_900, COLOR_DARK_INFO_0, COLOR_DARK_INFO_100, COLOR_DARK_INFO_200, COLOR_DARK_INFO_300, COLOR_DARK_INFO_400, COLOR_DARK_INFO_50, COLOR_DARK_INFO_500, COLOR_DARK_INFO_600, COLOR_DARK_INFO_700, COLOR_DARK_INFO_800, COLOR_DARK_INFO_900, COLOR_DARK_PRIMARY_0, COLOR_DARK_PRIMARY_100, COLOR_DARK_PRIMARY_200, COLOR_DARK_PRIMARY_300, COLOR_DARK_PRIMARY_400, COLOR_DARK_PRIMARY_50, COLOR_DARK_PRIMARY_500, COLOR_DARK_PRIMARY_600, COLOR_DARK_PRIMARY_700, COLOR_DARK_PRIMARY_800, COLOR_DARK_PRIMARY_900, COLOR_DARK_SECONDARY_0, COLOR_DARK_SECONDARY_100, COLOR_DARK_SECONDARY_200, COLOR_DARK_SECONDARY_300, COLOR_DARK_SECONDARY_400, COLOR_DARK_SECONDARY_50, COLOR_DARK_SECONDARY_500, COLOR_DARK_SECONDARY_600, COLOR_DARK_SECONDARY_700, COLOR_DARK_SECONDARY_800, COLOR_DARK_SECONDARY_900, COLOR_DARK_SUCCESS_0, COLOR_DARK_SUCCESS_100, COLOR_DARK_SUCCESS_200, COLOR_DARK_SUCCESS_300, COLOR_DARK_SUCCESS_400, COLOR_DARK_SUCCESS_50, COLOR_DARK_SUCCESS_500, COLOR_DARK_SUCCESS_600, COLOR_DARK_SUCCESS_700, COLOR_DARK_SUCCESS_800, COLOR_DARK_SUCCESS_900, COLOR_DARK_TERTIARY_0, COLOR_DARK_TERTIARY_100, COLOR_DARK_TERTIARY_200, COLOR_DARK_TERTIARY_300, COLOR_DARK_TERTIARY_400, COLOR_DARK_TERTIARY_50, COLOR_DARK_TERTIARY_500, COLOR_DARK_TERTIARY_600, COLOR_DARK_TERTIARY_700, COLOR_DARK_TERTIARY_800, COLOR_DARK_TERTIARY_900, COLOR_DARK_WARNING_0, COLOR_DARK_WARNING_100, COLOR_DARK_WARNING_200, COLOR_DARK_WARNING_300, COLOR_DARK_WARNING_400, COLOR_DARK_WARNING_50, COLOR_DARK_WARNING_500, COLOR_DARK_WARNING_600, COLOR_DARK_WARNING_700, COLOR_DARK_WARNING_800, COLOR_DARK_WARNING_900, COLOR_LIGHT_DANGER_0, COLOR_LIGHT_DANGER_100, COLOR_LIGHT_DANGER_200, COLOR_LIGHT_DANGER_300, COLOR_LIGHT_DANGER_400, COLOR_LIGHT_DANGER_50, COLOR_LIGHT_DANGER_500, COLOR_LIGHT_DANGER_600, COLOR_LIGHT_DANGER_700, COLOR_LIGHT_DANGER_800, COLOR_LIGHT_DANGER_900, COLOR_LIGHT_NEUTRAL_0, COLOR_LIGHT_NEUTRAL_100, COLOR_LIGHT_NEUTRAL_200, COLOR_LIGHT_NEUTRAL_300, COLOR_LIGHT_NEUTRAL_400, COLOR_LIGHT_NEUTRAL_50, COLOR_LIGHT_NEUTRAL_500, COLOR_LIGHT_NEUTRAL_600, COLOR_LIGHT_NEUTRAL_700, COLOR_LIGHT_NEUTRAL_800, COLOR_LIGHT_NEUTRAL_900, COLOR_LIGHT_HIGHLIGHT_0, COLOR_LIGHT_HIGHLIGHT_100, COLOR_LIGHT_HIGHLIGHT_200, COLOR_LIGHT_HIGHLIGHT_300, COLOR_LIGHT_HIGHLIGHT_400, COLOR_LIGHT_HIGHLIGHT_50, COLOR_LIGHT_HIGHLIGHT_500, COLOR_LIGHT_HIGHLIGHT_600, COLOR_LIGHT_HIGHLIGHT_700, COLOR_LIGHT_HIGHLIGHT_800, COLOR_LIGHT_HIGHLIGHT_900, COLOR_LIGHT_INFO_0, COLOR_LIGHT_INFO_100, COLOR_LIGHT_INFO_200, COLOR_LIGHT_INFO_300, COLOR_LIGHT_INFO_400, COLOR_LIGHT_INFO_50, COLOR_LIGHT_INFO_500, COLOR_LIGHT_INFO_600, COLOR_LIGHT_INFO_700, COLOR_LIGHT_INFO_800, COLOR_LIGHT_INFO_900, COLOR_LIGHT_PRIMARY_0, COLOR_LIGHT_PRIMARY_100, COLOR_LIGHT_PRIMARY_200, COLOR_LIGHT_PRIMARY_300, COLOR_LIGHT_PRIMARY_400, COLOR_LIGHT_PRIMARY_50, COLOR_LIGHT_PRIMARY_500, COLOR_LIGHT_PRIMARY_600, COLOR_LIGHT_PRIMARY_700, COLOR_LIGHT_PRIMARY_800, COLOR_LIGHT_PRIMARY_900, COLOR_LIGHT_SECONDARY_0, COLOR_LIGHT_SECONDARY_100, COLOR_LIGHT_SECONDARY_200, COLOR_LIGHT_SECONDARY_300, COLOR_LIGHT_SECONDARY_400, COLOR_LIGHT_SECONDARY_50, COLOR_LIGHT_SECONDARY_500, COLOR_LIGHT_SECONDARY_600, COLOR_LIGHT_SECONDARY_700, COLOR_LIGHT_SECONDARY_800, COLOR_LIGHT_SECONDARY_900, COLOR_LIGHT_SUCCESS_0, COLOR_LIGHT_SUCCESS_100, COLOR_LIGHT_SUCCESS_200, COLOR_LIGHT_SUCCESS_300, COLOR_LIGHT_SUCCESS_400, COLOR_LIGHT_SUCCESS_50, COLOR_LIGHT_SUCCESS_500, COLOR_LIGHT_SUCCESS_600, COLOR_LIGHT_SUCCESS_700, COLOR_LIGHT_SUCCESS_800, COLOR_LIGHT_SUCCESS_900, COLOR_LIGHT_TERTIARY_0, COLOR_LIGHT_TERTIARY_100, COLOR_LIGHT_TERTIARY_200, COLOR_LIGHT_TERTIARY_300, COLOR_LIGHT_TERTIARY_400, COLOR_LIGHT_TERTIARY_50, COLOR_LIGHT_TERTIARY_500, COLOR_LIGHT_TERTIARY_600, COLOR_LIGHT_TERTIARY_700, COLOR_LIGHT_TERTIARY_800, COLOR_LIGHT_TERTIARY_900, COLOR_LIGHT_WARNING_0, COLOR_LIGHT_WARNING_100, COLOR_LIGHT_WARNING_200, COLOR_LIGHT_WARNING_300, COLOR_LIGHT_WARNING_400, COLOR_LIGHT_WARNING_50, COLOR_LIGHT_WARNING_500, COLOR_LIGHT_WARNING_600, COLOR_LIGHT_WARNING_700, COLOR_LIGHT_WARNING_800, COLOR_LIGHT_WARNING_900, SCHEME_LIGHT_CONTRAST, SCHEME_LIGHT_SELECTION, SCHEME_DARK_CONTRAST, SCHEME_DARK_SELECTION, VARIANT_PRIMARY, VARIANT_SECONDARY, VARIANT_DANGER, VARIANT_HIGHLIGHT, VARIANT_INFO, VARIANT_NEUTRAL, VARIANT_SUCCESS, VARIANT_TERTIARY, VARIANT_WARNING, ELEVATION_KEY_LIGHT, ELEVATION_KEY_REGULAR, ELEVATION_KEY_SEMILIGHT, ELEVATION_KEY_BOLD, ELEVATION_KEY_EXTRABOLD, ELEVATION_KEY_SEMIBOLD, TYPOGRAPHY_KEY_BODY1, TYPOGRAPHY_KEY_BODY2, TYPOGRAPHY_KEY_BUTTON, TYPOGRAPHY_KEY_CAPTION, TYPOGRAPHY_KEY_HEADLINE1, TYPOGRAPHY_KEY_HEADLINE2, TYPOGRAPHY_KEY_HEADLINE3, TYPOGRAPHY_KEY_HEADLINE4, TYPOGRAPHY_KEY_HEADLINE5, TYPOGRAPHY_KEY_HEADLINE6, TYPOGRAPHY_KEY_OVERLINE, TYPOGRAPHY_KEY_SUBTITLE1, TYPOGRAPHY_KEY_SUBTITLE2, ELEVATION_DARK_BOLD, ELEVATION_DARK_EXTRABOLD, ELEVATION_DARK_LIGHT, ELEVATION_DARK_REGULAR, ELEVATION_DARK_SEMIBOLD, ELEVATION_DARK_SEMILIGHT, ELEVATION_LIGHT_BOLD, ELEVATION_LIGHT_EXTRABOLD, ELEVATION_LIGHT_LIGHT, ELEVATION_LIGHT_REGULAR, ELEVATION_LIGHT_SEMIBOLD, ELEVATION_LIGHT_SEMILIGHT, SCHEME_LIGHT_SURFACE, SCHEME_DARK_SURFACE } from './Tokens/JoyTokens';\nimport type { IThemeMetadata } from './Utils/IThemeMetadata';\n\n// #endregion\n\nexport namespace JoyTheme {\n\n export const JOY_THEME = ThemeFactory.create({\n name: NAME,\n scheme: {\n light: {\n surface: SCHEME_LIGHT_SURFACE,\n background: SCHEME_LIGHT_BACKGROUND,\n foreground: SCHEME_LIGHT_FOREGROUND,\n highlight: SCHEME_LIGHT_HIGHLIGHT,\n middlelight: SCHEME_LIGHT_MIDDLELIGHT,\n lowlight: SCHEME_LIGHT_LOWLIGHT,\n transparent: SCHEME_LIGHT_TRANSPARENT,\n semiTransparent: SCHEME_LIGHT_SEMI_TRANSPARENT,\n disabled: SCHEME_LIGHT_DISABLED,\n contrast: SCHEME_LIGHT_CONTRAST,\n selection: SCHEME_LIGHT_SELECTION\n },\n dark: {\n surface: SCHEME_DARK_SURFACE,\n background: SCHEME_DARK_BACKGROUND,\n foreground: SCHEME_DARK_FOREGROUND,\n highlight: SCHEME_DARK_HIGHLIGHT,\n middlelight: SCHEME_DARK_MIDDLELIGHT,\n lowlight: SCHEME_DARK_LOWLIGHT,\n transparent: SCHEME_DARK_TRANSPARENT,\n semiTransparent: SCHEME_DARK_SEMI_TRANSPARENT,\n disabled: SCHEME_DARK_DISABLED,\n contrast: SCHEME_DARK_CONTRAST,\n selection: SCHEME_DARK_SELECTION\n }\n },\n palette: {\n light: {\n primary: {\n 0: COLOR_LIGHT_PRIMARY_0,\n 50: COLOR_LIGHT_PRIMARY_50,\n 100: COLOR_LIGHT_PRIMARY_100,\n 200: COLOR_LIGHT_PRIMARY_200,\n 300: COLOR_LIGHT_PRIMARY_300,\n 400: COLOR_LIGHT_PRIMARY_400,\n 500: COLOR_LIGHT_PRIMARY_500,\n 600: COLOR_LIGHT_PRIMARY_600,\n 700: COLOR_LIGHT_PRIMARY_700,\n 800: COLOR_LIGHT_PRIMARY_800,\n 900: COLOR_LIGHT_PRIMARY_900\n },\n secondary: {\n 0: COLOR_LIGHT_SECONDARY_0,\n 50: COLOR_LIGHT_SECONDARY_50,\n 100: COLOR_LIGHT_SECONDARY_100,\n 200: COLOR_LIGHT_SECONDARY_200,\n 300: COLOR_LIGHT_SECONDARY_300,\n 400: COLOR_LIGHT_SECONDARY_400,\n 500: COLOR_LIGHT_SECONDARY_500,\n 600: COLOR_LIGHT_SECONDARY_600,\n 700: COLOR_LIGHT_SECONDARY_700,\n 800: COLOR_LIGHT_SECONDARY_800,\n 900: COLOR_LIGHT_SECONDARY_900\n },\n tertiary: {\n 0: COLOR_LIGHT_TERTIARY_0,\n 50: COLOR_LIGHT_TERTIARY_50,\n 100: COLOR_LIGHT_TERTIARY_100,\n 200: COLOR_LIGHT_TERTIARY_200,\n 300: COLOR_LIGHT_TERTIARY_300,\n 400: COLOR_LIGHT_TERTIARY_400,\n 500: COLOR_LIGHT_TERTIARY_500,\n 600: COLOR_LIGHT_TERTIARY_600,\n 700: COLOR_LIGHT_TERTIARY_700,\n 800: COLOR_LIGHT_TERTIARY_800,\n 900: COLOR_LIGHT_TERTIARY_900\n },\n info: {\n 0: COLOR_LIGHT_INFO_0,\n 50: COLOR_LIGHT_INFO_50,\n 100: COLOR_LIGHT_INFO_100,\n 200: COLOR_LIGHT_INFO_200,\n 300: COLOR_LIGHT_INFO_300,\n 400: COLOR_LIGHT_INFO_400,\n 500: COLOR_LIGHT_INFO_500,\n 600: COLOR_LIGHT_INFO_600,\n 700: COLOR_LIGHT_INFO_700,\n 800: COLOR_LIGHT_INFO_800,\n 900: COLOR_LIGHT_INFO_900\n },\n warning: {\n 0: COLOR_LIGHT_WARNING_0,\n 50: COLOR_LIGHT_WARNING_50,\n 100: COLOR_LIGHT_WARNING_100,\n 200: COLOR_LIGHT_WARNING_200,\n 300: COLOR_LIGHT_WARNING_300,\n 400: COLOR_LIGHT_WARNING_400,\n 500: COLOR_LIGHT_WARNING_500,\n 600: COLOR_LIGHT_WARNING_600,\n 700: COLOR_LIGHT_WARNING_700,\n 800: COLOR_LIGHT_WARNING_800,\n 900: COLOR_LIGHT_WARNING_900\n },\n danger: {\n 0: COLOR_LIGHT_DANGER_0,\n 50: COLOR_LIGHT_DANGER_50,\n 100: COLOR_LIGHT_DANGER_100,\n 200: COLOR_LIGHT_DANGER_200,\n 300: COLOR_LIGHT_DANGER_300,\n 400: COLOR_LIGHT_DANGER_400,\n 500: COLOR_LIGHT_DANGER_500,\n 600: COLOR_LIGHT_DANGER_600,\n 700: COLOR_LIGHT_DANGER_700,\n 800: COLOR_LIGHT_DANGER_800,\n 900: COLOR_LIGHT_DANGER_900\n },\n success: {\n 0: COLOR_LIGHT_SUCCESS_0,\n 50: COLOR_LIGHT_SUCCESS_50,\n 100: COLOR_LIGHT_SUCCESS_100,\n 200: COLOR_LIGHT_SUCCESS_200,\n 300: COLOR_LIGHT_SUCCESS_300,\n 400: COLOR_LIGHT_SUCCESS_400,\n 500: COLOR_LIGHT_SUCCESS_500,\n 600: COLOR_LIGHT_SUCCESS_600,\n 700: COLOR_LIGHT_SUCCESS_700,\n 800: COLOR_LIGHT_SUCCESS_800,\n 900: COLOR_LIGHT_SUCCESS_900\n },\n highlight: {\n 0: COLOR_LIGHT_HIGHLIGHT_0,\n 50: COLOR_LIGHT_HIGHLIGHT_50,\n 100: COLOR_LIGHT_HIGHLIGHT_100,\n 200: COLOR_LIGHT_HIGHLIGHT_200,\n 300: COLOR_LIGHT_HIGHLIGHT_300,\n 400: COLOR_LIGHT_HIGHLIGHT_400,\n 500: COLOR_LIGHT_HIGHLIGHT_500,\n 600: COLOR_LIGHT_HIGHLIGHT_600,\n 700: COLOR_LIGHT_HIGHLIGHT_700,\n 800: COLOR_LIGHT_HIGHLIGHT_800,\n 900: COLOR_LIGHT_HIGHLIGHT_900\n },\n neutral: {\n 0: COLOR_LIGHT_NEUTRAL_0,\n 50: COLOR_LIGHT_NEUTRAL_50,\n 100: COLOR_LIGHT_NEUTRAL_100,\n 200: COLOR_LIGHT_NEUTRAL_200,\n 300: COLOR_LIGHT_NEUTRAL_300,\n 400: COLOR_LIGHT_NEUTRAL_400,\n 500: COLOR_LIGHT_NEUTRAL_500,\n 600: COLOR_LIGHT_NEUTRAL_600,\n 700: COLOR_LIGHT_NEUTRAL_700,\n 800: COLOR_LIGHT_NEUTRAL_800,\n 900: COLOR_LIGHT_NEUTRAL_900\n }\n },\n dark: {\n primary: {\n 0: COLOR_DARK_PRIMARY_0,\n 50: COLOR_DARK_PRIMARY_50,\n 100: COLOR_DARK_PRIMARY_100,\n 200: COLOR_DARK_PRIMARY_200,\n 300: COLOR_DARK_PRIMARY_300,\n 400: COLOR_DARK_PRIMARY_400,\n 500: COLOR_DARK_PRIMARY_500,\n 600: COLOR_DARK_PRIMARY_600,\n 700: COLOR_DARK_PRIMARY_700,\n 800: COLOR_DARK_PRIMARY_800,\n 900: COLOR_DARK_PRIMARY_900\n },\n secondary: {\n 0: COLOR_DARK_SECONDARY_0,\n 50: COLOR_DARK_SECONDARY_50,\n 100: COLOR_DARK_SECONDARY_100,\n 200: COLOR_DARK_SECONDARY_200,\n 300: COLOR_DARK_SECONDARY_300,\n 400: COLOR_DARK_SECONDARY_400,\n 500: COLOR_DARK_SECONDARY_500,\n 600: COLOR_DARK_SECONDARY_600,\n 700: COLOR_DARK_SECONDARY_700,\n 800: COLOR_DARK_SECONDARY_800,\n 900: COLOR_DARK_SECONDARY_900\n },\n tertiary: {\n 0: COLOR_DARK_TERTIARY_0,\n 50: COLOR_DARK_TERTIARY_50,\n 100: COLOR_DARK_TERTIARY_100,\n 200: COLOR_DARK_TERTIARY_200,\n 300: COLOR_DARK_TERTIARY_300,\n 400: COLOR_DARK_TERTIARY_400,\n 500: COLOR_DARK_TERTIARY_500,\n 600: COLOR_DARK_TERTIARY_600,\n 700: COLOR_DARK_TERTIARY_700,\n 800: COLOR_DARK_TERTIARY_800,\n 900: COLOR_DARK_TERTIARY_900\n },\n info: {\n 0: COLOR_DARK_INFO_0,\n 50: COLOR_DARK_INFO_50,\n 100: COLOR_DARK_INFO_100,\n 200: COLOR_DARK_INFO_200,\n 300: COLOR_DARK_INFO_300,\n 400: COLOR_DARK_INFO_400,\n 500: COLOR_DARK_INFO_500,\n 600: COLOR_DARK_INFO_600,\n 700: COLOR_DARK_INFO_700,\n 800: COLOR_DARK_INFO_800,\n 900: COLOR_DARK_INFO_900\n },\n warning: {\n 0: COLOR_DARK_WARNING_0,\n 50: COLOR_DARK_WARNING_50,\n 100: COLOR_DARK_WARNING_100,\n 200: COLOR_DARK_WARNING_200,\n 300: COLOR_DARK_WARNING_300,\n 400: COLOR_DARK_WARNING_400,\n 500: COLOR_DARK_WARNING_500,\n 600: COLOR_DARK_WARNING_600,\n 700: COLOR_DARK_WARNING_700,\n 800: COLOR_DARK_WARNING_800,\n 900: COLOR_DARK_WARNING_900\n },\n danger: {\n 0: COLOR_DARK_DANGER_0,\n 50: COLOR_DARK_DANGER_50,\n 100: COLOR_DARK_DANGER_100,\n 200: COLOR_DARK_DANGER_200,\n 300: COLOR_DARK_DANGER_300,\n 400: COLOR_DARK_DANGER_400,\n 500: COLOR_DARK_DANGER_500,\n 600: COLOR_DARK_DANGER_600,\n 700: COLOR_DARK_DANGER_700,\n 800: COLOR_DARK_DANGER_800,\n 900: COLOR_DARK_DANGER_900\n },\n success: {\n 0: COLOR_DARK_SUCCESS_0,\n 50: COLOR_DARK_SUCCESS_50,\n 100: COLOR_DARK_SUCCESS_100,\n 200: COLOR_DARK_SUCCESS_200,\n 300: COLOR_DARK_SUCCESS_300,\n 400: COLOR_DARK_SUCCESS_400,\n 500: COLOR_DARK_SUCCESS_500,\n 600: COLOR_DARK_SUCCESS_600,\n 700: COLOR_DARK_SUCCESS_700,\n 800: COLOR_DARK_SUCCESS_800,\n 900: COLOR_DARK_SUCCESS_900\n },\n highlight: {\n 0: COLOR_DARK_HIGHLIGHT_0,\n 50: COLOR_DARK_HIGHLIGHT_50,\n 100: COLOR_DARK_HIGHLIGHT_100,\n 200: COLOR_DARK_HIGHLIGHT_200,\n 300: COLOR_DARK_HIGHLIGHT_300,\n 400: COLOR_DARK_HIGHLIGHT_400,\n 500: COLOR_DARK_HIGHLIGHT_500,\n 600: COLOR_DARK_HIGHLIGHT_600,\n 700: COLOR_DARK_HIGHLIGHT_700,\n 800: COLOR_DARK_HIGHLIGHT_800,\n 900: COLOR_DARK_HIGHLIGHT_900\n },\n neutral: {\n 0: COLOR_DARK_NEUTRAL_0,\n 50: COLOR_DARK_NEUTRAL_50,\n 100: COLOR_DARK_NEUTRAL_100,\n 200: COLOR_DARK_NEUTRAL_200,\n 300: COLOR_DARK_NEUTRAL_300,\n 400: COLOR_DARK_NEUTRAL_400,\n 500: COLOR_DARK_NEUTRAL_500,\n 600: COLOR_DARK_NEUTRAL_600,\n 700: COLOR_DARK_NEUTRAL_700,\n 800: COLOR_DARK_NEUTRAL_800,\n 900: COLOR_DARK_NEUTRAL_900\n }\n }\n },\n fontFamily: FONT_FAMILY,\n typography: {\n headline1: {\n fontFamily: TYPOGRAPHY_HEADLINE1_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE1_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE1_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE1_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE1_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE1_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM\n },\n headline2: {\n fontFamily: TYPOGRAPHY_HEADLINE2_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE2_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE2_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE2_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE2_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE2_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM\n },\n headline3: {\n fontFamily: TYPOGRAPHY_HEADLINE3_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE3_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE3_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE3_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE3_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE3_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM\n },\n headline4: {\n fontFamily: TYPOGRAPHY_HEADLINE4_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE4_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE4_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE4_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE4_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE4_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM\n },\n headline5: {\n fontFamily: TYPOGRAPHY_HEADLINE5_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE5_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE5_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE5_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE5_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE5_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM\n },\n headline6: {\n fontFamily: TYPOGRAPHY_HEADLINE6_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE6_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE6_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE6_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE6_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE6_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM\n },\n subtitle1: {\n fontFamily: TYPOGRAPHY_SUBTITLE1_FONT_FAMILY,\n fontSize: TYPOGRAPHY_SUBTITLE1_FONT_SIZE,\n lineHeight: TYPOGRAPHY_SUBTITLE1_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_SUBTITLE1_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_SUBTITLE1_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_SUBTITLE1_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_SUBTITLE1_TEXT_TRANSFORM\n },\n subtitle2: {\n fontFamily: TYPOGRAPHY_SUBTITLE2_FONT_FAMILY,\n fontSize: TYPOGRAPHY_SUBTITLE2_FONT_SIZE,\n lineHeight: TYPOGRAPHY_SUBTITLE2_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_SUBTITLE2_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_SUBTITLE2_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_SUBTITLE2_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_SUBTITLE2_TEXT_TRANSFORM\n },\n body1: {\n fontFamily: TYPOGRAPHY_BODY1_FONT_FAMILY,\n fontSize: TYPOGRAPHY_BODY1_FONT_SIZE,\n lineHeight: TYPOGRAPHY_BODY1_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_BODY1_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_BODY1_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_BODY1_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_BODY1_TEXT_TRANSFORM\n },\n body2: {\n fontFamily: TYPOGRAPHY_BODY2_FONT_FAMILY,\n fontSize: TYPOGRAPHY_BODY2_FONT_SIZE,\n lineHeight: TYPOGRAPHY_BODY2_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_BODY2_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_BODY2_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_BODY2_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_BODY2_TEXT_TRANSFORM\n },\n caption: {\n fontFamily: TYPOGRAPHY_CAPTION_FONT_FAMILY,\n fontSize: TYPOGRAPHY_CAPTION_FONT_SIZE,\n lineHeight: TYPOGRAPHY_CAPTION_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_CAPTION_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_CAPTION_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_CAPTION_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_CAPTION_TEXT_TRANSFORM\n },\n overline: {\n fontFamily: TYPOGRAPHY_OVERLINE_FONT_FAMILY,\n fontSize: TYPOGRAPHY_OVERLINE_FONT_SIZE,\n lineHeight: TYPOGRAPHY_OVERLINE_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_OVERLINE_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_OVERLINE_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_OVERLINE_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_OVERLINE_TEXT_TRANSFORM\n },\n button: {\n fontFamily: TYPOGRAPHY_BUTTON_FONT_FAMILY,\n fontSize: TYPOGRAPHY_BUTTON_FONT_SIZE,\n lineHeight: TYPOGRAPHY_BUTTON_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_BUTTON_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_BUTTON_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_BUTTON_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_BUTTON_TEXT_TRANSFORM\n }\n },\n layout: {\n radius: LAYOUT_RADIUS,\n space: LAYOUT_SPACE,\n thickness: LAYOUT_THICKNESS\n },\n elevation: {\n light: {\n light: ELEVATION_LIGHT_LIGHT,\n semilight: ELEVATION_LIGHT_SEMILIGHT,\n regular: ELEVATION_LIGHT_REGULAR,\n semibold: ELEVATION_LIGHT_SEMIBOLD,\n bold: ELEVATION_LIGHT_BOLD,\n extrabold: ELEVATION_LIGHT_EXTRABOLD\n },\n dark: {\n light: ELEVATION_DARK_LIGHT,\n semilight: ELEVATION_DARK_SEMILIGHT,\n regular: ELEVATION_DARK_REGULAR,\n semibold: ELEVATION_DARK_SEMIBOLD,\n bold: ELEVATION_DARK_BOLD,\n extrabold: ELEVATION_DARK_EXTRABOLD\n }\n }\n });\n\n export const JOY_THEME_PALETTES = [VARIANT_PRIMARY, VARIANT_SECONDARY, VARIANT_TERTIARY, VARIANT_DANGER, VARIANT_INFO, VARIANT_WARNING, VARIANT_SUCCESS, VARIANT_HIGHLIGHT, VARIANT_NEUTRAL];\n\n export const JOY_THEME_PALETTE_VARIANTS = ['0', '50', '100', '200', '300', '400', '500', '600', '700', '800', '900'];\n\n export const JOY_THEME_SCHEMES = ['light', 'dark'];\n\n export const JOY_THEME_SCHEME_VARIANTS = ['surface', 'background', 'foreground', 'highlight', 'middlelight', 'lowlight', 'transparent', 'semiTransparent', 'disabled', 'contrast', 'selection'];\n\n export const JOY_THEME_ELEVATION = ['light', 'dark'];\n\n export const JOY_THEME_ELEVATION_VARIANTS = [ELEVATION_KEY_LIGHT, ELEVATION_KEY_SEMILIGHT, ELEVATION_KEY_REGULAR, ELEVATION_KEY_SEMIBOLD, ELEVATION_KEY_BOLD, ELEVATION_KEY_EXTRABOLD];\n\n export const JOY_THEME_TYPOGRAPHY = [TYPOGRAPHY_KEY_HEADLINE1, TYPOGRAPHY_KEY_HEADLINE2, TYPOGRAPHY_KEY_HEADLINE3, TYPOGRAPHY_KEY_HEADLINE4, TYPOGRAPHY_KEY_HEADLINE5, TYPOGRAPHY_KEY_HEADLINE6, TYPOGRAPHY_KEY_SUBTITLE1, TYPOGRAPHY_KEY_SUBTITLE2, TYPOGRAPHY_KEY_BODY1, TYPOGRAPHY_KEY_BODY2, TYPOGRAPHY_KEY_CAPTION, TYPOGRAPHY_KEY_OVERLINE, TYPOGRAPHY_KEY_BUTTON];\n\n export const JOY_THEME_METADATA: IThemeMetadata = {\n theme: JOY_THEME,\n palettes: JOY_THEME_PALETTES,\n paletteVariants: JOY_THEME_PALETTE_VARIANTS,\n schemes: JOY_THEME_SCHEMES,\n schemeVariants: JOY_THEME_SCHEME_VARIANTS,\n elevation: JOY_THEME_ELEVATION,\n elevationVariants: JOY_THEME_ELEVATION_VARIANTS,\n typographies: JOY_THEME_TYPOGRAPHY\n };\n\n}\n","/**\n * Do not edit directly, this file was auto-generated.\n */\n\nexport const NAME = \"memphis\";\nexport const FONT_FAMILY = \"Nunito, sans-serif\";\nexport const LAYOUT_RADIUS = \"0px\";\nexport const LAYOUT_SPACE = \"10px\";\nexport const LAYOUT_THICKNESS = \"3px\";\nexport const SCHEME_LIGHT_SURFACE = \"#ffffff\";\nexport const SCHEME_LIGHT_BACKGROUND = \"#eaeaea\";\nexport const SCHEME_LIGHT_FOREGROUND = \"#3c454f\";\nexport const SCHEME_LIGHT_HIGHLIGHT = \"#d1d1d1\";\nexport const SCHEME_LIGHT_MIDDLELIGHT = \"#8a8a8a\";\nexport const SCHEME_LIGHT_LOWLIGHT = \"#5c5c5c\";\nexport const SCHEME_LIGHT_TRANSPARENT = \"rgba(255, 255, 255, 0)\";\nexport const SCHEME_LIGHT_SEMI_TRANSPARENT = \"rgba(255, 255, 255, 0.67)\";\nexport const SCHEME_LIGHT_DISABLED = \"#686868\";\nexport const SCHEME_LIGHT_CONTRAST = \"#333333\";\nexport const SCHEME_LIGHT_SELECTION = \"#a8c0ff\";\nexport const SCHEME_DARK_SURFACE = \"#2e2e2e\";\nexport const SCHEME_DARK_BACKGROUND = \"#151515\";\nexport const SCHEME_DARK_FOREGROUND = \"#c3bab0\";\nexport const SCHEME_DARK_HIGHLIGHT = \"#2e2e2e\";\nexport const SCHEME_DARK_MIDDLELIGHT = \"#757575\";\nexport const SCHEME_DARK_LOWLIGHT = \"#a3a3a3\";\nexport const SCHEME_DARK_TRANSPARENT = \"rgba(255, 255, 255, 0)\";\nexport const SCHEME_DARK_SEMI_TRANSPARENT = \"rgba(0, 0, 0, 0.67)\";\nexport const SCHEME_DARK_DISABLED = \"#474747\";\nexport const SCHEME_DARK_CONTRAST = \"#ffffff\";\nexport const SCHEME_DARK_SELECTION = \"#6666ff\";\nexport const COLOR_LIGHT_PRIMARY_0 = \"#ffffff\";\nexport const COLOR_LIGHT_PRIMARY_50 = \"#fce4ec\";\nexport const COLOR_LIGHT_PRIMARY_100 = \"#f8bcd0\";\nexport const COLOR_LIGHT_PRIMARY_200 = \"#f48fb1\";\nexport const COLOR_LIGHT_PRIMARY_300 = \"#f06292\";\nexport const COLOR_LIGHT_PRIMARY_400 = \"#ec407a\";\nexport const COLOR_LIGHT_PRIMARY_500 = \"#e91e63\";\nexport const COLOR_LIGHT_PRIMARY_600 = \"#cb1a56\";\nexport const COLOR_LIGHT_PRIMARY_700 = \"#a31545\";\nexport const COLOR_LIGHT_PRIMARY_800 = \"#7e1035\";\nexport const COLOR_LIGHT_PRIMARY_900 = \"#3a0819\";\nexport const COLOR_LIGHT_SECONDARY_0 = \"#ffffff\";\nexport const COLOR_LIGHT_SECONDARY_50 = \"#e6f6e9\";\nexport const COLOR_LIGHT_SECONDARY_100 = \"#c3e8c9\";\nexport const COLOR_LIGHT_SECONDARY_200 = \"#9bd9a7\";\nexport const COLOR_LIGHT_SECONDARY_300 = \"#70cb83\";\nexport const COLOR_LIGHT_SECONDARY_400 = \"#4dbf68\";\nexport const COLOR_LIGHT_SECONDARY_500 = \"#21b34d\";\nexport const COLOR_LIGHT_SECONDARY_600 = \"#16a444\";\nexport const COLOR_LIGHT_SECONDARY_700 = \"#009238\";\nexport const COLOR_LIGHT_SECONDARY_800 = \"#00812d\";\nexport const COLOR_LIGHT_SECONDARY_900 = \"#006218\";\nexport const COLOR_LIGHT_TERTIARY_0 = \"#ffffff\";\nexport const COLOR_LIGHT_TERTIARY_50 = \"#e1f5fc\";\nexport const COLOR_LIGHT_TERTIARY_100 = \"#b4e6f7\";\nexport const COLOR_LIGHT_TERTIARY_200 = \"#84d5f3\";\nexport const COLOR_LIGHT_TERTIARY_300 = \"#56c5ee\";\nexport const COLOR_LIGHT_TERTIARY_400 = \"#35b8eb\";\nexport const COLOR_LIGHT_TERTIARY_500 = \"#19ace9\";\nexport const COLOR_LIGHT_TERTIARY_600 = \"#139edb\";\nexport const COLOR_LIGHT_TERTIARY_700 = \"#098bc7\";\nexport const COLOR_LIGHT_TERTIARY_800 = \"#087ab4\";\nexport const COLOR_LIGHT_TERTIARY_900 = \"#005a92\";\nexport const COLOR_LIGHT_INFO_0 = \"#ffffff\";\nexport const COLOR_LIGHT_INFO_50 = \"#f4faff\";\nexport const COLOR_LIGHT_INFO_100 = \"#ddf1ff\";\nexport const COLOR_LIGHT_INFO_200 = \"#addbff\";\nexport const COLOR_LIGHT_INFO_300 = \"#6fb6ff\";\nexport const COLOR_LIGHT_INFO_400 = \"#3990ff\";\nexport const COLOR_LIGHT_INFO_500 = \"#096bde\";\nexport const COLOR_LIGHT_INFO_600 = \"#054da7\";\nexport const COLOR_LIGHT_INFO_700 = \"#02367d\";\nexport const COLOR_LIGHT_INFO_800 = \"#072859\";\nexport const COLOR_LIGHT_INFO_900 = \"#00153c\";\nexport const COLOR_LIGHT_WARNING_0 = \"#ffffff\";\nexport const COLOR_LIGHT_WARNING_50 = \"#fff8c5\";\nexport const COLOR_LIGHT_WARNING_100 = \"#fae17d\";\nexport const COLOR_LIGHT_WARNING_200 = \"#eac54f\";\nexport const COLOR_LIGHT_WARNING_300 = \"#d4a72c\";\nexport const COLOR_LIGHT_WARNING_400 = \"#bf8700\";\nexport const COLOR_LIGHT_WARNING_500 = \"#9a6700\";\nexport const COLOR_LIGHT_WARNING_600 = \"#7d4e00\";\nexport const COLOR_LIGHT_WARNING_700 = \"#633c01\";\nexport const COLOR_LIGHT_WARNING_800 = \"#4d2d00\";\nexport const COLOR_LIGHT_WARNING_900 = \"#3b2300\";\nexport const COLOR_LIGHT_DANGER_0 = \"#ffffff\";\nexport const COLOR_LIGHT_DANGER_50 = \"#fff8f6\";\nexport const COLOR_LIGHT_DANGER_100 = \"#ffe9e8\";\nexport const COLOR_LIGHT_DANGER_200 = \"#ffc7c5\";\nexport const COLOR_LIGHT_DANGER_300 = \"#ff9192\";\nexport const COLOR_LIGHT_DANGER_400 = \"#fa5255\";\nexport const COLOR_LIGHT_DANGER_500 = \"#d3232f\";\nexport const COLOR_LIGHT_DANGER_600 = \"#a10e25\";\nexport const COLOR_LIGHT_DANGER_700 = \"#77061b\";\nexport const COLOR_LIGHT_DANGER_800 = \"#580013\";\nexport const COLOR_LIGHT_DANGER_900 = \"#39000d\";\nexport const COLOR_LIGHT_SUCCESS_0 = \"#ffffff\";\nexport const COLOR_LIGHT_SUCCESS_50 = \"#f3fef5\";\nexport const COLOR_LIGHT_SUCCESS_100 = \"#d7f5dd\";\nexport const COLOR_LIGHT_SUCCESS_200 = \"#77ec95\";\nexport const COLOR_LIGHT_SUCCESS_300 = \"#4cc76e\";\nexport const COLOR_LIGHT_SUCCESS_400 = \"#2ca24d\";\nexport const COLOR_LIGHT_SUCCESS_500 = \"#1a7d36\";\nexport const COLOR_LIGHT_SUCCESS_600 = \"#0f5d26\";\nexport const COLOR_LIGHT_SUCCESS_700 = \"#034318\";\nexport const COLOR_LIGHT_SUCCESS_800 = \"#002f0f\";\nexport const COLOR_LIGHT_SUCCESS_900 = \"#001d09\";\nexport const COLOR_LIGHT_HIGHLIGHT_0 = \"#ffffff\";\nexport const COLOR_LIGHT_HIGHLIGHT_50 = \"#fdf7ff\";\nexport const COLOR_LIGHT_HIGHLIGHT_100 = \"#f4eaff\";\nexport const COLOR_LIGHT_HIGHLIGHT_200 = \"#e1cbff\";\nexport const COLOR_LIGHT_HIGHLIGHT_300 = \"#c69eff\";\nexport const COLOR_LIGHT_HIGHLIGHT_400 = \"#a374f9\";\nexport const COLOR_LIGHT_HIGHLIGHT_500 = \"#814dde\";\nexport const COLOR_LIGHT_HIGHLIGHT_600 = \"#5f35ae\";\nexport const COLOR_LIGHT_HIGHLIGHT_700 = \"#452382\";\nexport const COLOR_LIGHT_HIGHLIGHT_800 = \"#301761\";\nexport const COLOR_LIGHT_HIGHLIGHT_900 = \"#1d0a42\";\nexport const COLOR_LIGHT_NEUTRAL_0 = \"#ffffff\";\nexport const COLOR_LIGHT_NEUTRAL_50 = \"#f7f7f8\";\nexport const COLOR_LIGHT_NEUTRAL_100 = \"#ebebef\";\nexport const COLOR_LIGHT_NEUTRAL_200 = \"#d8d8df\";\nexport const COLOR_LIGHT_NEUTRAL_300 = \"#b9b9c6\";\nexport const COLOR_LIGHT_NEUTRAL_400 = \"#8f8fa3\";\nexport const COLOR_LIGHT_NEUTRAL_500 = \"#73738c\";\nexport const COLOR_LIGHT_NEUTRAL_600 = \"#5a5a72\";\nexport const COLOR_LIGHT_NEUTRAL_700 = \"#434356\";\nexport const COLOR_LIGHT_NEUTRAL_800 = \"#25252d\";\nexport const COLOR_LIGHT_NEUTRAL_900 = \"#131318\";\nexport const COLOR_DARK_PRIMARY_0 = \"#000000\";\nexport const COLOR_DARK_PRIMARY_50 = \"#3a0819\";\nexport const COLOR_DARK_PRIMARY_100 = \"#7e1035\";\nexport const COLOR_DARK_PRIMARY_200 = \"#a31545\";\nexport const COLOR_DARK_PRIMARY_300 = \"#cb1a56\";\nexport const COLOR_DARK_PRIMARY_400 = \"#e91e63\";\nexport const COLOR_DARK_PRIMARY_500 = \"#ec407a\";\nexport const COLOR_DARK_PRIMARY_600 = \"#f06292\";\nexport const COLOR_DARK_PRIMARY_700 = \"#f48fb1\";\nexport const COLOR_DARK_PRIMARY_800 = \"#f8bcd0\";\nexport const COLOR_DARK_PRIMARY_900 = \"#fce4ec\";\nexport const COLOR_DARK_SECONDARY_0 = \"#000000\";\nexport const COLOR_DARK_SECONDARY_50 = \"#006218\";\nexport const COLOR_DARK_SECONDARY_100 = \"#00812d\";\nexport const COLOR_DARK_SECONDARY_200 = \"#009238\";\nexport const COLOR_DARK_SECONDARY_300 = \"#16a444\";\nexport const COLOR_DARK_SECONDARY_400 = \"#21b34d\";\nexport const COLOR_DARK_SECONDARY_500 = \"#4dbf68\";\nexport const COLOR_DARK_SECONDARY_600 = \"#70cb83\";\nexport const COLOR_DARK_SECONDARY_700 = \"#9bd9a7\";\nexport const COLOR_DARK_SECONDARY_800 = \"#c3e8c9\";\nexport const COLOR_DARK_SECONDARY_900 = \"#e6f6e9\";\nexport const COLOR_DARK_TERTIARY_0 = \"#000000\";\nexport const COLOR_DARK_TERTIARY_50 = \"#005a92\";\nexport const COLOR_DARK_TERTIARY_100 = \"#087ab4\";\nexport const COLOR_DARK_TERTIARY_200 = \"#098bc7\";\nexport const COLOR_DARK_TERTIARY_300 = \"#139edb\";\nexport const COLOR_DARK_TERTIARY_400 = \"#19ace9\";\nexport const COLOR_DARK_TERTIARY_500 = \"#35b8eb\";\nexport const COLOR_DARK_TERTIARY_600 = \"#56c5ee\";\nexport const COLOR_DARK_TERTIARY_700 = \"#84d5f3\";\nexport const COLOR_DARK_TERTIARY_800 = \"#b4e6f7\";\nexport const COLOR_DARK_TERTIARY_900 = \"#e1f5fc\";\nexport const COLOR_DARK_INFO_0 = \"#000000\";\nexport const COLOR_DARK_INFO_50 = \"#00153c\";\nexport const COLOR_DARK_INFO_100 = \"#072859\";\nexport const COLOR_DARK_INFO_200 = \"#02367d\";\nexport const COLOR_DARK_INFO_300 = \"#054da7\";\nexport const COLOR_DARK_INFO_400 = \"#096bde\";\nexport const COLOR_DARK_INFO_500 = \"#3990ff\";\nexport const COLOR_DARK_INFO_600 = \"#6fb6ff\";\nexport const COLOR_DARK_INFO_700 = \"#addbff\";\nexport const COLOR_DARK_INFO_800 = \"#ddf1ff\";\nexport const COLOR_DARK_INFO_900 = \"#f4faff\";\nexport const COLOR_DARK_WARNING_0 = \"#000000\";\nexport const COLOR_DARK_WARNING_50 = \"#3b2300\";\nexport const COLOR_DARK_WARNING_100 = \"#4d2d00\";\nexport const COLOR_DARK_WARNING_200 = \"#633c01\";\nexport const COLOR_DARK_WARNING_300 = \"#7d4e00\";\nexport const COLOR_DARK_WARNING_400 = \"#9a6700\";\nexport const COLOR_DARK_WARNING_500 = \"#bf8700\";\nexport const COLOR_DARK_WARNING_600 = \"#d4a72c\";\nexport const COLOR_DARK_WARNING_700 = \"#eac54f\";\nexport const COLOR_DARK_WARNING_800 = \"#fae17d\";\nexport const COLOR_DARK_WARNING_900 = \"#fff8c5\";\nexport const COLOR_DARK_DANGER_0 = \"#000000\";\nexport const COLOR_DARK_DANGER_50 = \"#39000d\";\nexport const COLOR_DARK_DANGER_100 = \"#580013\";\nexport const COLOR_DARK_DANGER_200 = \"#77061b\";\nexport const COLOR_DARK_DANGER_300 = \"#a10e25\";\nexport const COLOR_DARK_DANGER_400 = \"#d3232f\";\nexport const COLOR_DARK_DANGER_500 = \"#fa5255\";\nexport const COLOR_DARK_DANGER_600 = \"#ff9192\";\nexport const COLOR_DARK_DANGER_700 = \"#ffc7c5\";\nexport const COLOR_DARK_DANGER_800 = \"#ffe9e8\";\nexport const COLOR_DARK_DANGER_900 = \"#fff8f6\";\nexport const COLOR_DARK_SUCCESS_0 = \"#000000\";\nexport const COLOR_DARK_SUCCESS_50 = \"#001d09\";\nexport const COLOR_DARK_SUCCESS_100 = \"#002f0f\";\nexport const COLOR_DARK_SUCCESS_200 = \"#034318\";\nexport const COLOR_DARK_SUCCESS_300 = \"#0f5d26\";\nexport const COLOR_DARK_SUCCESS_400 = \"#1a7d36\";\nexport const COLOR_DARK_SUCCESS_500 = \"#2ca24d\";\nexport const COLOR_DARK_SUCCESS_600 = \"#4cc76e\";\nexport const COLOR_DARK_SUCCESS_700 = \"#77ec95\";\nexport const COLOR_DARK_SUCCESS_800 = \"#d7f5dd\";\nexport const COLOR_DARK_SUCCESS_900 = \"#f3fef5\";\nexport const COLOR_DARK_HIGHLIGHT_0 = \"#000000\";\nexport const COLOR_DARK_HIGHLIGHT_50 = \"#1d0a42\";\nexport const COLOR_DARK_HIGHLIGHT_100 = \"#301761\";\nexport const COLOR_DARK_HIGHLIGHT_200 = \"#452382\";\nexport const COLOR_DARK_HIGHLIGHT_300 = \"#5f35ae\";\nexport const COLOR_DARK_HIGHLIGHT_400 = \"#814dde\";\nexport const COLOR_DARK_HIGHLIGHT_500 = \"#a374f9\";\nexport const COLOR_DARK_HIGHLIGHT_600 = \"#c69eff\";\nexport const COLOR_DARK_HIGHLIGHT_700 = \"#e1cbff\";\nexport const COLOR_DARK_HIGHLIGHT_800 = \"#f4eaff\";\nexport const COLOR_DARK_HIGHLIGHT_900 = \"#fdf7ff\";\nexport const COLOR_DARK_NEUTRAL_0 = \"#000000\";\nexport const COLOR_DARK_NEUTRAL_50 = \"#131318\";\nexport const COLOR_DARK_NEUTRAL_100 = \"#25252d\";\nexport const COLOR_DARK_NEUTRAL_200 = \"#434356\";\nexport const COLOR_DARK_NEUTRAL_300 = \"#5a5a72\";\nexport const COLOR_DARK_NEUTRAL_400 = \"#73738c\";\nexport const COLOR_DARK_NEUTRAL_500 = \"#8f8fa3\";\nexport const COLOR_DARK_NEUTRAL_600 = \"#b9b9c6\";\nexport const COLOR_DARK_NEUTRAL_700 = \"#d8d8df\";\nexport const COLOR_DARK_NEUTRAL_800 = \"#ebebef\";\nexport const COLOR_DARK_NEUTRAL_900 = \"#f7f7f8\";\nexport const TYPOGRAPHY_HEADLINE1_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE1_FONT_SIZE = \"96px\";\nexport const TYPOGRAPHY_HEADLINE1_LINE_HEIGHT = \"100px\";\nexport const TYPOGRAPHY_HEADLINE1_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE1_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_HEADLINE1_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE2_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE2_FONT_SIZE = \"60px\";\nexport const TYPOGRAPHY_HEADLINE2_LINE_HEIGHT = \"64px\";\nexport const TYPOGRAPHY_HEADLINE2_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE2_LETTER_SPACING = \"-0.13333333333333333px\";\nexport const TYPOGRAPHY_HEADLINE2_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE3_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE3_FONT_SIZE = \"48px\";\nexport const TYPOGRAPHY_HEADLINE3_LINE_HEIGHT = \"52px\";\nexport const TYPOGRAPHY_HEADLINE3_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_HEADLINE3_LETTER_SPACING = \"normal\";\nexport const TYPOGRAPHY_HEADLINE3_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE4_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE4_FONT_SIZE = \"34px\";\nexport const TYPOGRAPHY_HEADLINE4_LINE_HEIGHT = \"38px\";\nexport const TYPOGRAPHY_HEADLINE4_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_HEADLINE4_LETTER_SPACING = \"0.11764705882352941px\";\nexport const TYPOGRAPHY_HEADLINE4_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE5_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE5_FONT_SIZE = \"24px\";\nexport const TYPOGRAPHY_HEADLINE5_LINE_HEIGHT = \"28px\";\nexport const TYPOGRAPHY_HEADLINE5_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_HEADLINE5_LETTER_SPACING = \"normal\";\nexport const TYPOGRAPHY_HEADLINE5_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE6_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_HEADLINE6_FONT_SIZE = \"20px\";\nexport const TYPOGRAPHY_HEADLINE6_LINE_HEIGHT = \"24px\";\nexport const TYPOGRAPHY_HEADLINE6_FONT_WEIGHT = \"500\";\nexport const TYPOGRAPHY_HEADLINE6_LETTER_SPACING = \"0.2px\";\nexport const TYPOGRAPHY_HEADLINE6_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_SUBTITLE1_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_SUBTITLE1_FONT_SIZE = \"16px\";\nexport const TYPOGRAPHY_SUBTITLE1_LINE_HEIGHT = \"20px\";\nexport const TYPOGRAPHY_SUBTITLE1_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_SUBTITLE1_LETTER_SPACING = \"0.15px\";\nexport const TYPOGRAPHY_SUBTITLE1_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_SUBTITLE1_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_SUBTITLE2_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_SUBTITLE2_FONT_SIZE = \"14px\";\nexport const TYPOGRAPHY_SUBTITLE2_LINE_HEIGHT = \"18px\";\nexport const TYPOGRAPHY_SUBTITLE2_FONT_WEIGHT = \"500\";\nexport const TYPOGRAPHY_SUBTITLE2_LETTER_SPACING = \"0.1142857142857143px\";\nexport const TYPOGRAPHY_SUBTITLE2_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_SUBTITLE2_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_BODY1_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_BODY1_FONT_SIZE = \"16px\";\nexport const TYPOGRAPHY_BODY1_LINE_HEIGHT = \"20px\";\nexport const TYPOGRAPHY_BODY1_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_BODY1_LETTER_SPACING = \"0.5px\";\nexport const TYPOGRAPHY_BODY1_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_BODY1_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_BODY2_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_BODY2_FONT_SIZE = \"14px\";\nexport const TYPOGRAPHY_BODY2_LINE_HEIGHT = \"18px\";\nexport const TYPOGRAPHY_BODY2_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_BODY2_LETTER_SPACING = \"0.2857142857142857px\";\nexport const TYPOGRAPHY_BODY2_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_BODY2_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_CAPTION_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_CAPTION_FONT_SIZE = \"12px\";\nexport const TYPOGRAPHY_CAPTION_LINE_HEIGHT = \"16px\";\nexport const TYPOGRAPHY_CAPTION_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_CAPTION_LETTER_SPACING = \"0.5333333333333333px\";\nexport const TYPOGRAPHY_CAPTION_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_CAPTION_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_BUTTON_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_BUTTON_FONT_SIZE = \"14px\";\nexport const TYPOGRAPHY_BUTTON_LINE_HEIGHT = \"18px\";\nexport const TYPOGRAPHY_BUTTON_FONT_WEIGHT = \"700\";\nexport const TYPOGRAPHY_BUTTON_LETTER_SPACING = \"1.4285714285714286px\";\nexport const TYPOGRAPHY_BUTTON_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_BUTTON_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_OVERLINE_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_OVERLINE_FONT_SIZE = \"12px\";\nexport const TYPOGRAPHY_OVERLINE_LINE_HEIGHT = \"16px\";\nexport const TYPOGRAPHY_OVERLINE_FONT_WEIGHT = \"500\";\nexport const TYPOGRAPHY_OVERLINE_LETTER_SPACING = \"2.6666666666666665px\";\nexport const TYPOGRAPHY_OVERLINE_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_OVERLINE_TEXT_TRANSFORM = \"none\";\nexport const ELEVATION_NONE = \"none\";\nexport const ELEVATION_LIGHT_LIGHT = \"2px 2px 0px 0px #333333\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_X_0 = \"2px\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_Y_0 = \"2px\";\nexport const ELEVATION_LIGHT_LIGHT_BLUR_0 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_COLOR_0 = \"#333333\";\nexport const ELEVATION_LIGHT_SEMILIGHT = \"3px 3px 0px 0px #333333\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_X_0 = \"3px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_Y_0 = \"3px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_BLUR_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_COLOR_0 = \"#333333\";\nexport const ELEVATION_LIGHT_REGULAR = \"4px 4px 0px 0px #333333\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_X_0 = \"4px\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_Y_0 = \"4px\";\nexport const ELEVATION_LIGHT_REGULAR_BLUR_0 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_COLOR_0 = \"#333333\";\nexport const ELEVATION_LIGHT_SEMIBOLD = \"5px 5px 0px 0px #333333\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_X_0 = \"5px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_Y_0 = \"5px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_BLUR_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_COLOR_0 = \"#333333\";\nexport const ELEVATION_LIGHT_BOLD = \"6px 6px 0px 0px #333333\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_X_0 = \"6px\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_Y_0 = \"6px\";\nexport const ELEVATION_LIGHT_BOLD_BLUR_0 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_COLOR_0 = \"#333333\";\nexport const ELEVATION_LIGHT_EXTRABOLD = \"7px 7px 0px 0px #333333\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_X_0 = \"7px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_Y_0 = \"7px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_BLUR_0 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_COLOR_0 = \"#333333\";\nexport const ELEVATION_DARK_LIGHT = \"2px 2px 0px 0px #ffffff\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_X_0 = \"2px\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_Y_0 = \"2px\";\nexport const ELEVATION_DARK_LIGHT_BLUR_0 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_COLOR_0 = \"#ffffff\";\nexport const ELEVATION_DARK_SEMILIGHT = \"3px 3px 0px 0px #ffffff\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_X_0 = \"3px\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_Y_0 = \"3px\";\nexport const ELEVATION_DARK_SEMILIGHT_BLUR_0 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_COLOR_0 = \"#ffffff\";\nexport const ELEVATION_DARK_REGULAR = \"4px 4px 0px 0px #ffffff\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_X_0 = \"4px\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_Y_0 = \"4px\";\nexport const ELEVATION_DARK_REGULAR_BLUR_0 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_COLOR_0 = \"#ffffff\";\nexport const ELEVATION_DARK_SEMIBOLD = \"5px 5px 0px 0px #ffffff\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_X_0 = \"5px\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_Y_0 = \"5px\";\nexport const ELEVATION_DARK_SEMIBOLD_BLUR_0 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_COLOR_0 = \"#ffffff\";\nexport const ELEVATION_DARK_BOLD = \"6px 6px 0px 0px #ffffff\";\nexport const ELEVATION_DARK_BOLD_OFFSET_X_0 = \"6px\";\nexport const ELEVATION_DARK_BOLD_OFFSET_Y_0 = \"6px\";\nexport const ELEVATION_DARK_BOLD_BLUR_0 = \"0px\";\nexport const ELEVATION_DARK_BOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_BOLD_COLOR_0 = \"#ffffff\";\nexport const ELEVATION_DARK_EXTRABOLD = \"7px 7px 0px 0px #ffffff\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_X_0 = \"7px\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_Y_0 = \"7px\";\nexport const ELEVATION_DARK_EXTRABOLD_BLUR_0 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_COLOR_0 = \"#ffffff\";\nexport const SIZE_TINY = \"2px\";\nexport const SIZE_SMALL = \"4px\";\nexport const SIZE_MEDIUM = \"8px\";\nexport const SIZE_LARGE = \"16px\";\nexport const SIZE_GIANT = \"32px\";\nexport const SIZE_KEY = \"tiny small medium large giant\";\nexport const SIZE_KEY_TINY = \"tiny\";\nexport const SIZE_KEY_SMALL = \"small\";\nexport const SIZE_KEY_MEDIUM = \"medium\";\nexport const SIZE_KEY_LARGE = \"large\";\nexport const SIZE_KEY_GIANT = \"giant\";\nexport const TYPOGRAPHY_KEY_HEADLINE1 = \"headline1\";\nexport const TYPOGRAPHY_KEY_HEADLINE2 = \"headline2\";\nexport const TYPOGRAPHY_KEY_HEADLINE3 = \"headline3\";\nexport const TYPOGRAPHY_KEY_HEADLINE4 = \"headline4\";\nexport const TYPOGRAPHY_KEY_HEADLINE5 = \"headline5\";\nexport const TYPOGRAPHY_KEY_HEADLINE6 = \"headline6\";\nexport const TYPOGRAPHY_KEY_SUBTITLE1 = \"subtitle1\";\nexport const TYPOGRAPHY_KEY_SUBTITLE2 = \"subtitle2\";\nexport const TYPOGRAPHY_KEY_BODY1 = \"body1\";\nexport const TYPOGRAPHY_KEY_BODY2 = \"body2\";\nexport const TYPOGRAPHY_KEY_CAPTION = \"caption\";\nexport const TYPOGRAPHY_KEY_BUTTON = \"button\";\nexport const TYPOGRAPHY_KEY_OVERLINE = \"overline\";\nexport const ELEVATION_KEY = \"light semilight regular semibold bold extrabold\";\nexport const ELEVATION_KEY_LIGHT = \"light\";\nexport const ELEVATION_KEY_SEMILIGHT = \"semilight\";\nexport const ELEVATION_KEY_REGULAR = \"regular\";\nexport const ELEVATION_KEY_SEMIBOLD = \"semibold\";\nexport const ELEVATION_KEY_BOLD = \"bold\";\nexport const ELEVATION_KEY_EXTRABOLD = \"extrabold\";\nexport const APPEARANCE = \"default outline plain soft solid\";\nexport const APPEARANCE_DEFAULT = \"default\";\nexport const APPEARANCE_OUTLINE = \"outline\";\nexport const APPEARANCE_PLAIN = \"plain\";\nexport const APPEARANCE_SOFT = \"soft\";\nexport const APPEARANCE_SOLID = \"solid\";\nexport const VARIANT = \"primary secondary info warning danger success neutral\";\nexport const VARIANT_PRIMARY = \"primary\";\nexport const VARIANT_SECONDARY = \"secondary\";\nexport const VARIANT_INFO = \"info\";\nexport const VARIANT_WARNING = \"warning\";\nexport const VARIANT_DANGER = \"danger\";\nexport const VARIANT_SUCCESS = \"success\";\nexport const VARIANT_NEUTRAL = \"neutral\";\nexport const DURATION = \"200ms 400ms 600ms\";\nexport const DURATION_SHORT = \"200ms\";\nexport const DURATION_MEDIUM = \"400ms\";\nexport const DURATION_LONG = \"600ms\";\n","// #region Imports\n\nimport { ThemeFactory } from './ThemeFactory';\nimport { SCHEME_DARK_BACKGROUND, SCHEME_DARK_DISABLED, SCHEME_DARK_FOREGROUND, SCHEME_DARK_HIGHLIGHT, SCHEME_DARK_LOWLIGHT, SCHEME_DARK_MIDDLELIGHT, SCHEME_DARK_SEMI_TRANSPARENT, SCHEME_DARK_TRANSPARENT, SCHEME_LIGHT_BACKGROUND, SCHEME_LIGHT_DISABLED, SCHEME_LIGHT_FOREGROUND, SCHEME_LIGHT_HIGHLIGHT, SCHEME_LIGHT_LOWLIGHT, SCHEME_LIGHT_MIDDLELIGHT, SCHEME_LIGHT_SEMI_TRANSPARENT, SCHEME_LIGHT_TRANSPARENT, TYPOGRAPHY_BODY1_TEXT_DECORATION, TYPOGRAPHY_BODY1_TEXT_TRANSFORM, TYPOGRAPHY_BODY2_FONT_SIZE, TYPOGRAPHY_BODY2_FONT_WEIGHT, TYPOGRAPHY_BODY2_LETTER_SPACING, TYPOGRAPHY_BODY2_LINE_HEIGHT, TYPOGRAPHY_BODY2_TEXT_DECORATION, TYPOGRAPHY_BODY2_TEXT_TRANSFORM, TYPOGRAPHY_BUTTON_FONT_SIZE, TYPOGRAPHY_BUTTON_FONT_WEIGHT, TYPOGRAPHY_BUTTON_LETTER_SPACING, TYPOGRAPHY_BUTTON_LINE_HEIGHT, TYPOGRAPHY_BUTTON_TEXT_DECORATION, TYPOGRAPHY_BUTTON_TEXT_TRANSFORM, TYPOGRAPHY_CAPTION_FONT_SIZE, TYPOGRAPHY_CAPTION_FONT_WEIGHT, TYPOGRAPHY_CAPTION_LETTER_SPACING, TYPOGRAPHY_CAPTION_LINE_HEIGHT, TYPOGRAPHY_CAPTION_TEXT_DECORATION, TYPOGRAPHY_CAPTION_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE2_FONT_SIZE, TYPOGRAPHY_HEADLINE2_FONT_WEIGHT, TYPOGRAPHY_HEADLINE2_LETTER_SPACING, TYPOGRAPHY_HEADLINE2_LINE_HEIGHT, TYPOGRAPHY_HEADLINE2_TEXT_DECORATION, TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE3_FONT_SIZE, TYPOGRAPHY_HEADLINE3_FONT_WEIGHT, TYPOGRAPHY_HEADLINE3_LETTER_SPACING, TYPOGRAPHY_HEADLINE3_LINE_HEIGHT, TYPOGRAPHY_HEADLINE3_TEXT_DECORATION, TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE4_FONT_SIZE, TYPOGRAPHY_HEADLINE4_FONT_WEIGHT, TYPOGRAPHY_HEADLINE4_LETTER_SPACING, TYPOGRAPHY_HEADLINE4_LINE_HEIGHT, TYPOGRAPHY_HEADLINE4_TEXT_DECORATION, TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE5_FONT_SIZE, TYPOGRAPHY_HEADLINE1_FONT_SIZE, TYPOGRAPHY_HEADLINE1_FONT_WEIGHT, TYPOGRAPHY_HEADLINE1_LETTER_SPACING, TYPOGRAPHY_HEADLINE1_LINE_HEIGHT, TYPOGRAPHY_HEADLINE1_TEXT_DECORATION, TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE5_FONT_WEIGHT, TYPOGRAPHY_HEADLINE5_LETTER_SPACING, TYPOGRAPHY_HEADLINE5_LINE_HEIGHT, TYPOGRAPHY_HEADLINE5_TEXT_DECORATION, TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE6_FONT_SIZE, TYPOGRAPHY_HEADLINE6_FONT_WEIGHT, TYPOGRAPHY_HEADLINE6_LETTER_SPACING, TYPOGRAPHY_HEADLINE6_LINE_HEIGHT, TYPOGRAPHY_HEADLINE6_TEXT_DECORATION, TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM, TYPOGRAPHY_OVERLINE_FONT_SIZE, TYPOGRAPHY_OVERLINE_FONT_WEIGHT, TYPOGRAPHY_OVERLINE_LETTER_SPACING, TYPOGRAPHY_OVERLINE_LINE_HEIGHT, TYPOGRAPHY_OVERLINE_TEXT_DECORATION, TYPOGRAPHY_OVERLINE_TEXT_TRANSFORM, TYPOGRAPHY_SUBTITLE1_FONT_SIZE, TYPOGRAPHY_SUBTITLE1_FONT_WEIGHT, TYPOGRAPHY_SUBTITLE1_LETTER_SPACING, TYPOGRAPHY_SUBTITLE1_LINE_HEIGHT, TYPOGRAPHY_SUBTITLE1_TEXT_DECORATION, TYPOGRAPHY_SUBTITLE1_TEXT_TRANSFORM, TYPOGRAPHY_SUBTITLE2_FONT_SIZE, TYPOGRAPHY_SUBTITLE2_FONT_WEIGHT, TYPOGRAPHY_SUBTITLE2_LETTER_SPACING, TYPOGRAPHY_SUBTITLE2_LINE_HEIGHT, TYPOGRAPHY_SUBTITLE2_TEXT_DECORATION, TYPOGRAPHY_SUBTITLE2_TEXT_TRANSFORM, LAYOUT_RADIUS, LAYOUT_SPACE, LAYOUT_THICKNESS, TYPOGRAPHY_BODY1_FONT_SIZE, TYPOGRAPHY_BODY1_LINE_HEIGHT, ELEVATION_DARK_BOLD, ELEVATION_DARK_EXTRABOLD, ELEVATION_DARK_LIGHT, ELEVATION_DARK_REGULAR, ELEVATION_DARK_SEMIBOLD, ELEVATION_DARK_SEMILIGHT, ELEVATION_LIGHT_BOLD, ELEVATION_LIGHT_EXTRABOLD, ELEVATION_LIGHT_LIGHT, ELEVATION_LIGHT_REGULAR, ELEVATION_LIGHT_SEMIBOLD, ELEVATION_LIGHT_SEMILIGHT, TYPOGRAPHY_BODY1_FONT_WEIGHT, TYPOGRAPHY_BODY1_LETTER_SPACING, FONT_FAMILY, NAME, COLOR_LIGHT_PRIMARY_0, COLOR_DARK_PRIMARY_0, COLOR_DARK_PRIMARY_100, COLOR_DARK_PRIMARY_200, COLOR_DARK_PRIMARY_300, COLOR_DARK_PRIMARY_400, COLOR_DARK_PRIMARY_50, COLOR_DARK_PRIMARY_500, COLOR_DARK_PRIMARY_600, COLOR_DARK_PRIMARY_700, COLOR_DARK_PRIMARY_800, COLOR_DARK_PRIMARY_900, COLOR_DARK_SECONDARY_0, COLOR_DARK_SECONDARY_100, COLOR_DARK_SECONDARY_200, COLOR_DARK_SECONDARY_300, COLOR_DARK_SECONDARY_400, COLOR_DARK_SECONDARY_50, COLOR_DARK_SECONDARY_500, COLOR_DARK_SECONDARY_600, COLOR_DARK_SECONDARY_700, COLOR_DARK_SECONDARY_800, COLOR_DARK_SECONDARY_900, COLOR_LIGHT_PRIMARY_100, COLOR_LIGHT_PRIMARY_200, COLOR_LIGHT_PRIMARY_300, COLOR_LIGHT_PRIMARY_400, COLOR_LIGHT_PRIMARY_50, COLOR_LIGHT_PRIMARY_500, COLOR_LIGHT_PRIMARY_600, COLOR_LIGHT_PRIMARY_700, COLOR_LIGHT_PRIMARY_800, COLOR_LIGHT_PRIMARY_900, COLOR_LIGHT_SECONDARY_0, COLOR_LIGHT_SECONDARY_100, COLOR_LIGHT_SECONDARY_200, COLOR_LIGHT_SECONDARY_300, COLOR_LIGHT_SECONDARY_400, COLOR_LIGHT_SECONDARY_50, COLOR_LIGHT_SECONDARY_500, COLOR_LIGHT_SECONDARY_600, COLOR_LIGHT_SECONDARY_700, COLOR_LIGHT_SECONDARY_800, COLOR_LIGHT_SECONDARY_900, TYPOGRAPHY_HEADLINE1_FONT_FAMILY, TYPOGRAPHY_HEADLINE2_FONT_FAMILY, TYPOGRAPHY_HEADLINE3_FONT_FAMILY, TYPOGRAPHY_SUBTITLE1_FONT_FAMILY, TYPOGRAPHY_HEADLINE4_FONT_FAMILY, TYPOGRAPHY_HEADLINE5_FONT_FAMILY, TYPOGRAPHY_HEADLINE6_FONT_FAMILY, TYPOGRAPHY_BODY1_FONT_FAMILY, TYPOGRAPHY_OVERLINE_FONT_FAMILY, TYPOGRAPHY_BODY2_FONT_FAMILY, TYPOGRAPHY_BUTTON_FONT_FAMILY, TYPOGRAPHY_CAPTION_FONT_FAMILY, TYPOGRAPHY_SUBTITLE2_FONT_FAMILY, SCHEME_LIGHT_CONTRAST, SCHEME_DARK_CONTRAST, COLOR_LIGHT_DANGER_0, COLOR_LIGHT_DANGER_100, COLOR_LIGHT_DANGER_200, COLOR_LIGHT_DANGER_300, COLOR_LIGHT_DANGER_400, COLOR_LIGHT_DANGER_50, COLOR_LIGHT_DANGER_500, COLOR_LIGHT_DANGER_600, COLOR_LIGHT_DANGER_700, COLOR_LIGHT_DANGER_800, COLOR_LIGHT_DANGER_900, COLOR_LIGHT_INFO_0, COLOR_LIGHT_INFO_100, COLOR_LIGHT_INFO_200, COLOR_LIGHT_INFO_300, COLOR_LIGHT_INFO_400, COLOR_LIGHT_INFO_50, COLOR_LIGHT_INFO_500, COLOR_LIGHT_INFO_600, COLOR_LIGHT_INFO_700, COLOR_LIGHT_INFO_800, COLOR_LIGHT_INFO_900, COLOR_LIGHT_WARNING_0, COLOR_LIGHT_WARNING_100, COLOR_LIGHT_WARNING_200, COLOR_LIGHT_WARNING_300, COLOR_LIGHT_WARNING_400, COLOR_LIGHT_WARNING_50, COLOR_LIGHT_WARNING_500, COLOR_LIGHT_WARNING_600, COLOR_LIGHT_WARNING_700, COLOR_LIGHT_WARNING_800, COLOR_LIGHT_WARNING_900, COLOR_LIGHT_NEUTRAL_0, COLOR_LIGHT_NEUTRAL_100, COLOR_LIGHT_NEUTRAL_200, COLOR_LIGHT_NEUTRAL_300, COLOR_LIGHT_NEUTRAL_400, COLOR_LIGHT_NEUTRAL_50, COLOR_LIGHT_NEUTRAL_500, COLOR_LIGHT_NEUTRAL_600, COLOR_LIGHT_NEUTRAL_700, COLOR_LIGHT_NEUTRAL_800, COLOR_LIGHT_NEUTRAL_900, COLOR_LIGHT_SUCCESS_0, COLOR_LIGHT_SUCCESS_100, COLOR_LIGHT_SUCCESS_200, COLOR_LIGHT_SUCCESS_300, COLOR_LIGHT_SUCCESS_400, COLOR_LIGHT_SUCCESS_50, COLOR_LIGHT_SUCCESS_500, COLOR_LIGHT_SUCCESS_600, COLOR_LIGHT_SUCCESS_700, COLOR_LIGHT_SUCCESS_800, COLOR_LIGHT_SUCCESS_900, COLOR_DARK_DANGER_0, COLOR_DARK_DANGER_100, COLOR_DARK_DANGER_200, COLOR_DARK_DANGER_300, COLOR_DARK_DANGER_400, COLOR_DARK_DANGER_50, COLOR_DARK_DANGER_500, COLOR_DARK_DANGER_600, COLOR_DARK_DANGER_700, COLOR_DARK_DANGER_800, COLOR_DARK_DANGER_900, COLOR_DARK_INFO_0, COLOR_DARK_INFO_100, COLOR_DARK_INFO_200, COLOR_DARK_INFO_300, COLOR_DARK_INFO_400, COLOR_DARK_INFO_50, COLOR_DARK_INFO_500, COLOR_DARK_INFO_600, COLOR_DARK_INFO_700, COLOR_DARK_INFO_800, COLOR_DARK_INFO_900, COLOR_DARK_NEUTRAL_0, COLOR_DARK_NEUTRAL_100, COLOR_DARK_NEUTRAL_200, COLOR_DARK_NEUTRAL_300, COLOR_DARK_NEUTRAL_400, COLOR_DARK_NEUTRAL_50, COLOR_DARK_NEUTRAL_500, COLOR_DARK_NEUTRAL_600, COLOR_DARK_NEUTRAL_700, COLOR_DARK_NEUTRAL_800, COLOR_DARK_NEUTRAL_900, COLOR_DARK_SUCCESS_0, COLOR_DARK_SUCCESS_100, COLOR_DARK_SUCCESS_200, COLOR_DARK_SUCCESS_300, COLOR_DARK_SUCCESS_400, COLOR_DARK_SUCCESS_50, COLOR_DARK_SUCCESS_500, COLOR_DARK_SUCCESS_600, COLOR_DARK_SUCCESS_700, COLOR_DARK_SUCCESS_800, COLOR_DARK_SUCCESS_900, COLOR_DARK_WARNING_0, COLOR_DARK_WARNING_100, COLOR_DARK_WARNING_200, COLOR_DARK_WARNING_300, COLOR_DARK_WARNING_400, COLOR_DARK_WARNING_50, COLOR_DARK_WARNING_500, COLOR_DARK_WARNING_600, COLOR_DARK_WARNING_700, COLOR_DARK_WARNING_800, COLOR_DARK_WARNING_900, VARIANT_PRIMARY, VARIANT_SECONDARY, ELEVATION_KEY_BOLD, ELEVATION_KEY_EXTRABOLD, ELEVATION_KEY_LIGHT, ELEVATION_KEY_REGULAR, ELEVATION_KEY_SEMIBOLD, ELEVATION_KEY_SEMILIGHT, VARIANT_DANGER, VARIANT_INFO, VARIANT_NEUTRAL, VARIANT_SUCCESS, VARIANT_WARNING, TYPOGRAPHY_KEY_BODY1, TYPOGRAPHY_KEY_BODY2, TYPOGRAPHY_KEY_BUTTON, TYPOGRAPHY_KEY_CAPTION, TYPOGRAPHY_KEY_HEADLINE1, TYPOGRAPHY_KEY_HEADLINE2, TYPOGRAPHY_KEY_HEADLINE3, TYPOGRAPHY_KEY_HEADLINE4, TYPOGRAPHY_KEY_HEADLINE5, TYPOGRAPHY_KEY_HEADLINE6, TYPOGRAPHY_KEY_OVERLINE, TYPOGRAPHY_KEY_SUBTITLE1, TYPOGRAPHY_KEY_SUBTITLE2, SCHEME_DARK_SURFACE, SCHEME_DARK_SELECTION, SCHEME_LIGHT_SELECTION, SCHEME_LIGHT_SURFACE, COLOR_DARK_HIGHLIGHT_600, COLOR_DARK_HIGHLIGHT_100, COLOR_DARK_HIGHLIGHT_0, COLOR_DARK_HIGHLIGHT_200, COLOR_DARK_HIGHLIGHT_300, COLOR_DARK_HIGHLIGHT_400, COLOR_DARK_HIGHLIGHT_50, COLOR_DARK_HIGHLIGHT_500, COLOR_DARK_HIGHLIGHT_700, COLOR_DARK_HIGHLIGHT_800, COLOR_DARK_HIGHLIGHT_900, COLOR_DARK_TERTIARY_0, COLOR_DARK_TERTIARY_100, COLOR_DARK_TERTIARY_200, COLOR_DARK_TERTIARY_300, COLOR_DARK_TERTIARY_400, COLOR_DARK_TERTIARY_50, COLOR_DARK_TERTIARY_500, COLOR_DARK_TERTIARY_600, COLOR_DARK_TERTIARY_700, COLOR_DARK_TERTIARY_800, COLOR_DARK_TERTIARY_900, COLOR_LIGHT_HIGHLIGHT_0, COLOR_LIGHT_HIGHLIGHT_100, COLOR_LIGHT_HIGHLIGHT_200, COLOR_LIGHT_HIGHLIGHT_300, COLOR_LIGHT_HIGHLIGHT_400, COLOR_LIGHT_HIGHLIGHT_50, COLOR_LIGHT_HIGHLIGHT_500, COLOR_LIGHT_HIGHLIGHT_600, COLOR_LIGHT_HIGHLIGHT_700, COLOR_LIGHT_HIGHLIGHT_800, COLOR_LIGHT_HIGHLIGHT_900, COLOR_LIGHT_TERTIARY_0, COLOR_LIGHT_TERTIARY_100, COLOR_LIGHT_TERTIARY_200, COLOR_LIGHT_TERTIARY_300, COLOR_LIGHT_TERTIARY_400, COLOR_LIGHT_TERTIARY_50, COLOR_LIGHT_TERTIARY_500, COLOR_LIGHT_TERTIARY_600, COLOR_LIGHT_TERTIARY_700, COLOR_LIGHT_TERTIARY_800, COLOR_LIGHT_TERTIARY_900 } from './Tokens/MemphisTokens';\nimport type { IThemeMetadata } from './Utils/IThemeMetadata';\n\n// #endregion\n\nexport namespace MemphisTheme {\n\n export const MEMPHIS_THEME = ThemeFactory.create({\n name: NAME,\n scheme: {\n light: {\n surface: SCHEME_LIGHT_SURFACE,\n background: SCHEME_LIGHT_BACKGROUND,\n foreground: SCHEME_LIGHT_FOREGROUND,\n highlight: SCHEME_LIGHT_HIGHLIGHT,\n middlelight: SCHEME_LIGHT_MIDDLELIGHT,\n lowlight: SCHEME_LIGHT_LOWLIGHT,\n transparent: SCHEME_LIGHT_TRANSPARENT,\n semiTransparent: SCHEME_LIGHT_SEMI_TRANSPARENT,\n disabled: SCHEME_LIGHT_DISABLED,\n contrast: SCHEME_LIGHT_CONTRAST,\n selection: SCHEME_LIGHT_SELECTION\n },\n dark: {\n surface: SCHEME_DARK_SURFACE,\n background: SCHEME_DARK_BACKGROUND,\n foreground: SCHEME_DARK_FOREGROUND,\n highlight: SCHEME_DARK_HIGHLIGHT,\n middlelight: SCHEME_DARK_MIDDLELIGHT,\n lowlight: SCHEME_DARK_LOWLIGHT,\n transparent: SCHEME_DARK_TRANSPARENT,\n semiTransparent: SCHEME_DARK_SEMI_TRANSPARENT,\n disabled: SCHEME_DARK_DISABLED,\n contrast: SCHEME_DARK_CONTRAST,\n selection: SCHEME_DARK_SELECTION\n }\n },\n palette: {\n light: {\n primary: {\n 0: COLOR_LIGHT_PRIMARY_0,\n 50: COLOR_LIGHT_PRIMARY_50,\n 100: COLOR_LIGHT_PRIMARY_100,\n 200: COLOR_LIGHT_PRIMARY_200,\n 300: COLOR_LIGHT_PRIMARY_300,\n 400: COLOR_LIGHT_PRIMARY_400,\n 500: COLOR_LIGHT_PRIMARY_500,\n 600: COLOR_LIGHT_PRIMARY_600,\n 700: COLOR_LIGHT_PRIMARY_700,\n 800: COLOR_LIGHT_PRIMARY_800,\n 900: COLOR_LIGHT_PRIMARY_900\n },\n secondary: {\n 0: COLOR_LIGHT_SECONDARY_0,\n 50: COLOR_LIGHT_SECONDARY_50,\n 100: COLOR_LIGHT_SECONDARY_100,\n 200: COLOR_LIGHT_SECONDARY_200,\n 300: COLOR_LIGHT_SECONDARY_300,\n 400: COLOR_LIGHT_SECONDARY_400,\n 500: COLOR_LIGHT_SECONDARY_500,\n 600: COLOR_LIGHT_SECONDARY_600,\n 700: COLOR_LIGHT_SECONDARY_700,\n 800: COLOR_LIGHT_SECONDARY_800,\n 900: COLOR_LIGHT_SECONDARY_900\n },\n tertiary: {\n 0: COLOR_LIGHT_TERTIARY_0,\n 50: COLOR_LIGHT_TERTIARY_50,\n 100: COLOR_LIGHT_TERTIARY_100,\n 200: COLOR_LIGHT_TERTIARY_200,\n 300: COLOR_LIGHT_TERTIARY_300,\n 400: COLOR_LIGHT_TERTIARY_400,\n 500: COLOR_LIGHT_TERTIARY_500,\n 600: COLOR_LIGHT_TERTIARY_600,\n 700: COLOR_LIGHT_TERTIARY_700,\n 800: COLOR_LIGHT_TERTIARY_800,\n 900: COLOR_LIGHT_TERTIARY_900\n },\n info: {\n 0: COLOR_LIGHT_INFO_0,\n 50: COLOR_LIGHT_INFO_50,\n 100: COLOR_LIGHT_INFO_100,\n 200: COLOR_LIGHT_INFO_200,\n 300: COLOR_LIGHT_INFO_300,\n 400: COLOR_LIGHT_INFO_400,\n 500: COLOR_LIGHT_INFO_500,\n 600: COLOR_LIGHT_INFO_600,\n 700: COLOR_LIGHT_INFO_700,\n 800: COLOR_LIGHT_INFO_800,\n 900: COLOR_LIGHT_INFO_900\n },\n warning: {\n 0: COLOR_LIGHT_WARNING_0,\n 50: COLOR_LIGHT_WARNING_50,\n 100: COLOR_LIGHT_WARNING_100,\n 200: COLOR_LIGHT_WARNING_200,\n 300: COLOR_LIGHT_WARNING_300,\n 400: COLOR_LIGHT_WARNING_400,\n 500: COLOR_LIGHT_WARNING_500,\n 600: COLOR_LIGHT_WARNING_600,\n 700: COLOR_LIGHT_WARNING_700,\n 800: COLOR_LIGHT_WARNING_800,\n 900: COLOR_LIGHT_WARNING_900\n },\n danger: {\n 0: COLOR_LIGHT_DANGER_0,\n 50: COLOR_LIGHT_DANGER_50,\n 100: COLOR_LIGHT_DANGER_100,\n 200: COLOR_LIGHT_DANGER_200,\n 300: COLOR_LIGHT_DANGER_300,\n 400: COLOR_LIGHT_DANGER_400,\n 500: COLOR_LIGHT_DANGER_500,\n 600: COLOR_LIGHT_DANGER_600,\n 700: COLOR_LIGHT_DANGER_700,\n 800: COLOR_LIGHT_DANGER_800,\n 900: COLOR_LIGHT_DANGER_900\n },\n success: {\n 0: COLOR_LIGHT_SUCCESS_0,\n 50: COLOR_LIGHT_SUCCESS_50,\n 100: COLOR_LIGHT_SUCCESS_100,\n 200: COLOR_LIGHT_SUCCESS_200,\n 300: COLOR_LIGHT_SUCCESS_300,\n 400: COLOR_LIGHT_SUCCESS_400,\n 500: COLOR_LIGHT_SUCCESS_500,\n 600: COLOR_LIGHT_SUCCESS_600,\n 700: COLOR_LIGHT_SUCCESS_700,\n 800: COLOR_LIGHT_SUCCESS_800,\n 900: COLOR_LIGHT_SUCCESS_900\n },\n highlight: {\n 0: COLOR_LIGHT_HIGHLIGHT_0,\n 50: COLOR_LIGHT_HIGHLIGHT_50,\n 100: COLOR_LIGHT_HIGHLIGHT_100,\n 200: COLOR_LIGHT_HIGHLIGHT_200,\n 300: COLOR_LIGHT_HIGHLIGHT_300,\n 400: COLOR_LIGHT_HIGHLIGHT_400,\n 500: COLOR_LIGHT_HIGHLIGHT_500,\n 600: COLOR_LIGHT_HIGHLIGHT_600,\n 700: COLOR_LIGHT_HIGHLIGHT_700,\n 800: COLOR_LIGHT_HIGHLIGHT_800,\n 900: COLOR_LIGHT_HIGHLIGHT_900\n },\n neutral: {\n 0: COLOR_LIGHT_NEUTRAL_0,\n 50: COLOR_LIGHT_NEUTRAL_50,\n 100: COLOR_LIGHT_NEUTRAL_100,\n 200: COLOR_LIGHT_NEUTRAL_200,\n 300: COLOR_LIGHT_NEUTRAL_300,\n 400: COLOR_LIGHT_NEUTRAL_400,\n 500: COLOR_LIGHT_NEUTRAL_500,\n 600: COLOR_LIGHT_NEUTRAL_600,\n 700: COLOR_LIGHT_NEUTRAL_700,\n 800: COLOR_LIGHT_NEUTRAL_800,\n 900: COLOR_LIGHT_NEUTRAL_900\n }\n },\n dark: {\n primary: {\n 0: COLOR_DARK_PRIMARY_0,\n 50: COLOR_DARK_PRIMARY_50,\n 100: COLOR_DARK_PRIMARY_100,\n 200: COLOR_DARK_PRIMARY_200,\n 300: COLOR_DARK_PRIMARY_300,\n 400: COLOR_DARK_PRIMARY_400,\n 500: COLOR_DARK_PRIMARY_500,\n 600: COLOR_DARK_PRIMARY_600,\n 700: COLOR_DARK_PRIMARY_700,\n 800: COLOR_DARK_PRIMARY_800,\n 900: COLOR_DARK_PRIMARY_900\n },\n secondary: {\n 0: COLOR_DARK_SECONDARY_0,\n 50: COLOR_DARK_SECONDARY_50,\n 100: COLOR_DARK_SECONDARY_100,\n 200: COLOR_DARK_SECONDARY_200,\n 300: COLOR_DARK_SECONDARY_300,\n 400: COLOR_DARK_SECONDARY_400,\n 500: COLOR_DARK_SECONDARY_500,\n 600: COLOR_DARK_SECONDARY_600,\n 700: COLOR_DARK_SECONDARY_700,\n 800: COLOR_DARK_SECONDARY_800,\n 900: COLOR_DARK_SECONDARY_900\n },\n tertiary: {\n 0: COLOR_DARK_TERTIARY_0,\n 50: COLOR_DARK_TERTIARY_50,\n 100: COLOR_DARK_TERTIARY_100,\n 200: COLOR_DARK_TERTIARY_200,\n 300: COLOR_DARK_TERTIARY_300,\n 400: COLOR_DARK_TERTIARY_400,\n 500: COLOR_DARK_TERTIARY_500,\n 600: COLOR_DARK_TERTIARY_600,\n 700: COLOR_DARK_TERTIARY_700,\n 800: COLOR_DARK_TERTIARY_800,\n 900: COLOR_DARK_TERTIARY_900\n },\n info: {\n 0: COLOR_DARK_INFO_0,\n 50: COLOR_DARK_INFO_50,\n 100: COLOR_DARK_INFO_100,\n 200: COLOR_DARK_INFO_200,\n 300: COLOR_DARK_INFO_300,\n 400: COLOR_DARK_INFO_400,\n 500: COLOR_DARK_INFO_500,\n 600: COLOR_DARK_INFO_600,\n 700: COLOR_DARK_INFO_700,\n 800: COLOR_DARK_INFO_800,\n 900: COLOR_DARK_INFO_900\n },\n warning: {\n 0: COLOR_DARK_WARNING_0,\n 50: COLOR_DARK_WARNING_50,\n 100: COLOR_DARK_WARNING_100,\n 200: COLOR_DARK_WARNING_200,\n 300: COLOR_DARK_WARNING_300,\n 400: COLOR_DARK_WARNING_400,\n 500: COLOR_DARK_WARNING_500,\n 600: COLOR_DARK_WARNING_600,\n 700: COLOR_DARK_WARNING_700,\n 800: COLOR_DARK_WARNING_800,\n 900: COLOR_DARK_WARNING_900\n },\n danger: {\n 0: COLOR_DARK_DANGER_0,\n 50: COLOR_DARK_DANGER_50,\n 100: COLOR_DARK_DANGER_100,\n 200: COLOR_DARK_DANGER_200,\n 300: COLOR_DARK_DANGER_300,\n 400: COLOR_DARK_DANGER_400,\n 500: COLOR_DARK_DANGER_500,\n 600: COLOR_DARK_DANGER_600,\n 700: COLOR_DARK_DANGER_700,\n 800: COLOR_DARK_DANGER_800,\n 900: COLOR_DARK_DANGER_900\n },\n success: {\n 0: COLOR_DARK_SUCCESS_0,\n 50: COLOR_DARK_SUCCESS_50,\n 100: COLOR_DARK_SUCCESS_100,\n 200: COLOR_DARK_SUCCESS_200,\n 300: COLOR_DARK_SUCCESS_300,\n 400: COLOR_DARK_SUCCESS_400,\n 500: COLOR_DARK_SUCCESS_500,\n 600: COLOR_DARK_SUCCESS_600,\n 700: COLOR_DARK_SUCCESS_700,\n 800: COLOR_DARK_SUCCESS_800,\n 900: COLOR_DARK_SUCCESS_900\n },\n highlight: {\n 0: COLOR_DARK_HIGHLIGHT_0,\n 50: COLOR_DARK_HIGHLIGHT_50,\n 100: COLOR_DARK_HIGHLIGHT_100,\n 200: COLOR_DARK_HIGHLIGHT_200,\n 300: COLOR_DARK_HIGHLIGHT_300,\n 400: COLOR_DARK_HIGHLIGHT_400,\n 500: COLOR_DARK_HIGHLIGHT_500,\n 600: COLOR_DARK_HIGHLIGHT_600,\n 700: COLOR_DARK_HIGHLIGHT_700,\n 800: COLOR_DARK_HIGHLIGHT_800,\n 900: COLOR_DARK_HIGHLIGHT_900\n },\n neutral: {\n 0: COLOR_DARK_NEUTRAL_0,\n 50: COLOR_DARK_NEUTRAL_50,\n 100: COLOR_DARK_NEUTRAL_100,\n 200: COLOR_DARK_NEUTRAL_200,\n 300: COLOR_DARK_NEUTRAL_300,\n 400: COLOR_DARK_NEUTRAL_400,\n 500: COLOR_DARK_NEUTRAL_500,\n 600: COLOR_DARK_NEUTRAL_600,\n 700: COLOR_DARK_NEUTRAL_700,\n 800: COLOR_DARK_NEUTRAL_800,\n 900: COLOR_DARK_NEUTRAL_900\n }\n }\n },\n fontFamily: FONT_FAMILY,\n typography: {\n headline1: {\n fontFamily: TYPOGRAPHY_HEADLINE1_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE1_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE1_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE1_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE1_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE1_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM\n },\n headline2: {\n fontFamily: TYPOGRAPHY_HEADLINE2_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE2_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE2_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE2_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE2_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE2_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM\n },\n headline3: {\n fontFamily: TYPOGRAPHY_HEADLINE3_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE3_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE3_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE3_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE3_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE3_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM\n },\n headline4: {\n fontFamily: TYPOGRAPHY_HEADLINE4_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE4_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE4_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE4_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE4_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE4_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM\n },\n headline5: {\n fontFamily: TYPOGRAPHY_HEADLINE5_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE5_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE5_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE5_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE5_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE5_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM\n },\n headline6: {\n fontFamily: TYPOGRAPHY_HEADLINE6_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE6_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE6_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE6_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE6_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE6_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM\n },\n subtitle1: {\n fontFamily: TYPOGRAPHY_SUBTITLE1_FONT_FAMILY,\n fontSize: TYPOGRAPHY_SUBTITLE1_FONT_SIZE,\n lineHeight: TYPOGRAPHY_SUBTITLE1_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_SUBTITLE1_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_SUBTITLE1_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_SUBTITLE1_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_SUBTITLE1_TEXT_TRANSFORM\n },\n subtitle2: {\n fontFamily: TYPOGRAPHY_SUBTITLE2_FONT_FAMILY,\n fontSize: TYPOGRAPHY_SUBTITLE2_FONT_SIZE,\n lineHeight: TYPOGRAPHY_SUBTITLE2_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_SUBTITLE2_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_SUBTITLE2_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_SUBTITLE2_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_SUBTITLE2_TEXT_TRANSFORM\n },\n body1: {\n fontFamily: TYPOGRAPHY_BODY1_FONT_FAMILY,\n fontSize: TYPOGRAPHY_BODY1_FONT_SIZE,\n lineHeight: TYPOGRAPHY_BODY1_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_BODY1_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_BODY1_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_BODY1_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_BODY1_TEXT_TRANSFORM\n },\n body2: {\n fontFamily: TYPOGRAPHY_BODY2_FONT_FAMILY,\n fontSize: TYPOGRAPHY_BODY2_FONT_SIZE,\n lineHeight: TYPOGRAPHY_BODY2_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_BODY2_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_BODY2_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_BODY2_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_BODY2_TEXT_TRANSFORM\n },\n caption: {\n fontFamily: TYPOGRAPHY_CAPTION_FONT_FAMILY,\n fontSize: TYPOGRAPHY_CAPTION_FONT_SIZE,\n lineHeight: TYPOGRAPHY_CAPTION_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_CAPTION_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_CAPTION_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_CAPTION_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_CAPTION_TEXT_TRANSFORM\n },\n overline: {\n fontFamily: TYPOGRAPHY_OVERLINE_FONT_FAMILY,\n fontSize: TYPOGRAPHY_OVERLINE_FONT_SIZE,\n lineHeight: TYPOGRAPHY_OVERLINE_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_OVERLINE_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_OVERLINE_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_OVERLINE_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_OVERLINE_TEXT_TRANSFORM\n },\n button: {\n fontFamily: TYPOGRAPHY_BUTTON_FONT_FAMILY,\n fontSize: TYPOGRAPHY_BUTTON_FONT_SIZE,\n lineHeight: TYPOGRAPHY_BUTTON_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_BUTTON_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_BUTTON_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_BUTTON_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_BUTTON_TEXT_TRANSFORM\n }\n },\n layout: {\n radius: LAYOUT_RADIUS,\n space: LAYOUT_SPACE,\n thickness: LAYOUT_THICKNESS\n },\n elevation: {\n light: {\n light: ELEVATION_LIGHT_LIGHT,\n semilight: ELEVATION_LIGHT_SEMILIGHT,\n regular: ELEVATION_LIGHT_REGULAR,\n semibold: ELEVATION_LIGHT_SEMIBOLD,\n bold: ELEVATION_LIGHT_BOLD,\n extrabold: ELEVATION_LIGHT_EXTRABOLD\n },\n dark: {\n light: ELEVATION_DARK_LIGHT,\n semilight: ELEVATION_DARK_SEMILIGHT,\n regular: ELEVATION_DARK_REGULAR,\n semibold: ELEVATION_DARK_SEMIBOLD,\n bold: ELEVATION_DARK_BOLD,\n extrabold: ELEVATION_DARK_EXTRABOLD\n }\n }\n });\n\n export const MEMPHIS_THEME_PALETTES = [VARIANT_PRIMARY, VARIANT_SECONDARY, VARIANT_DANGER, VARIANT_INFO, VARIANT_NEUTRAL, VARIANT_SUCCESS, VARIANT_WARNING];\n\n export const MEMPHIS_THEME_PALETTE_VARIANTS = ['0', '50', '100', '200', '300', '400', '500', '600', '700', '800', '900'];\n\n export const MEMPHIS_THEME_SCHEMES = ['light', 'dark'];\n\n export const MEMPHIS_THEME_SCHEME_VARIANTS = ['surface', 'background', 'foreground', 'highlight', 'middlelight', 'lowlight', 'transparent', 'semiTransparent', 'disabled', 'contrast', 'selection'];\n\n export const MEMPHIS_THEME_ELEVATION = ['light', 'dark'];\n\n export const MEMPHIS_THEME_ELEVATION_VARIANTS = [ELEVATION_KEY_LIGHT, ELEVATION_KEY_SEMILIGHT, ELEVATION_KEY_REGULAR, ELEVATION_KEY_SEMIBOLD, ELEVATION_KEY_BOLD, ELEVATION_KEY_EXTRABOLD];\n\n export const MEMPHIS_THEME_TYPOGRAPHY = [TYPOGRAPHY_KEY_HEADLINE1, TYPOGRAPHY_KEY_HEADLINE2, TYPOGRAPHY_KEY_HEADLINE3, TYPOGRAPHY_KEY_HEADLINE4, TYPOGRAPHY_KEY_HEADLINE5, TYPOGRAPHY_KEY_HEADLINE6, TYPOGRAPHY_KEY_SUBTITLE1, TYPOGRAPHY_KEY_SUBTITLE2, TYPOGRAPHY_KEY_BODY1, TYPOGRAPHY_KEY_BODY2, TYPOGRAPHY_KEY_CAPTION, TYPOGRAPHY_KEY_OVERLINE, TYPOGRAPHY_KEY_BUTTON];\n\n export const MEMPHIS_THEME_METADATA: IThemeMetadata = {\n theme: MEMPHIS_THEME,\n palettes: MEMPHIS_THEME_PALETTES,\n paletteVariants: MEMPHIS_THEME_PALETTE_VARIANTS,\n schemes: MEMPHIS_THEME_SCHEMES,\n schemeVariants: MEMPHIS_THEME_SCHEME_VARIANTS,\n elevation: MEMPHIS_THEME_ELEVATION,\n elevationVariants: MEMPHIS_THEME_ELEVATION_VARIANTS,\n typographies: MEMPHIS_THEME_TYPOGRAPHY\n };\n\n}\n","/**\n * Do not edit directly, this file was auto-generated.\n */\n\nexport const NAME = \"cosmopolitan\";\nexport const FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const LAYOUT_RADIUS = \"3px\";\nexport const LAYOUT_SPACE = \"8px\";\nexport const LAYOUT_THICKNESS = \"1px\";\nexport const SCHEME_LIGHT_SURFACE = \"#fefefe\";\nexport const SCHEME_LIGHT_CONTRAST = \"#ffffff\";\nexport const SCHEME_LIGHT_BACKGROUND = \"#ffffff\";\nexport const SCHEME_LIGHT_FOREGROUND = \"#000000\";\nexport const SCHEME_LIGHT_HIGHLIGHT = \"#e2e2e2\";\nexport const SCHEME_LIGHT_MIDDLELIGHT = \"#777777\";\nexport const SCHEME_LIGHT_LOWLIGHT = \"#4d4d4d\";\nexport const SCHEME_LIGHT_TRANSPARENT = \"rgba(255, 255, 255, 0)\";\nexport const SCHEME_LIGHT_SEMI_TRANSPARENT = \"rgba(255, 255, 255, 0.67)\";\nexport const SCHEME_LIGHT_DISABLED = \"#b8b5b2\";\nexport const SCHEME_LIGHT_SELECTION = \"#ffaad4\";\nexport const SCHEME_DARK_SURFACE = \"#2e2d2d\";\nexport const SCHEME_DARK_CONTRAST = \"#ffffff\";\nexport const SCHEME_DARK_BACKGROUND = \"#2e2d2d\";\nexport const SCHEME_DARK_FOREGROUND = \"#ffffff\";\nexport const SCHEME_DARK_HIGHLIGHT = \"#333333\";\nexport const SCHEME_DARK_MIDDLELIGHT = \"#666666\";\nexport const SCHEME_DARK_LOWLIGHT = \"#999999\";\nexport const SCHEME_DARK_TRANSPARENT = \"rgba(23, 23, 23, 0)\";\nexport const SCHEME_DARK_SEMI_TRANSPARENT = \"rgba(23, 23, 23, 0.67)\";\nexport const SCHEME_DARK_DISABLED = \"#5c5956\";\nexport const SCHEME_DARK_SELECTION = \"#ff66aa\";\nexport const COLOR_LIGHT_PRIMARY_0 = \"#ffffff\";\nexport const COLOR_LIGHT_PRIMARY_50 = \"#fce4ec\";\nexport const COLOR_LIGHT_PRIMARY_100 = \"#f8bcd0\";\nexport const COLOR_LIGHT_PRIMARY_200 = \"#f48fb1\";\nexport const COLOR_LIGHT_PRIMARY_300 = \"#f06292\";\nexport const COLOR_LIGHT_PRIMARY_400 = \"#ec407a\";\nexport const COLOR_LIGHT_PRIMARY_500 = \"#e91e63\";\nexport const COLOR_LIGHT_PRIMARY_600 = \"#cb1a56\";\nexport const COLOR_LIGHT_PRIMARY_700 = \"#a31545\";\nexport const COLOR_LIGHT_PRIMARY_800 = \"#7e1035\";\nexport const COLOR_LIGHT_PRIMARY_900 = \"#3a0819\";\nexport const COLOR_LIGHT_SECONDARY_0 = \"#ffffff\";\nexport const COLOR_LIGHT_SECONDARY_50 = \"#e6f6e9\";\nexport const COLOR_LIGHT_SECONDARY_100 = \"#c3e8c9\";\nexport const COLOR_LIGHT_SECONDARY_200 = \"#9bd9a7\";\nexport const COLOR_LIGHT_SECONDARY_300 = \"#70cb83\";\nexport const COLOR_LIGHT_SECONDARY_400 = \"#4dbf68\";\nexport const COLOR_LIGHT_SECONDARY_500 = \"#21b34d\";\nexport const COLOR_LIGHT_SECONDARY_600 = \"#16a444\";\nexport const COLOR_LIGHT_SECONDARY_700 = \"#009238\";\nexport const COLOR_LIGHT_SECONDARY_800 = \"#00812d\";\nexport const COLOR_LIGHT_SECONDARY_900 = \"#006218\";\nexport const COLOR_LIGHT_TERTIARY_0 = \"#ffffff\";\nexport const COLOR_LIGHT_TERTIARY_50 = \"#e1f5fc\";\nexport const COLOR_LIGHT_TERTIARY_100 = \"#b4e6f7\";\nexport const COLOR_LIGHT_TERTIARY_200 = \"#84d5f3\";\nexport const COLOR_LIGHT_TERTIARY_300 = \"#56c5ee\";\nexport const COLOR_LIGHT_TERTIARY_400 = \"#35b8eb\";\nexport const COLOR_LIGHT_TERTIARY_500 = \"#19ace9\";\nexport const COLOR_LIGHT_TERTIARY_600 = \"#139edb\";\nexport const COLOR_LIGHT_TERTIARY_700 = \"#098bc7\";\nexport const COLOR_LIGHT_TERTIARY_800 = \"#087ab4\";\nexport const COLOR_LIGHT_TERTIARY_900 = \"#005a92\";\nexport const COLOR_LIGHT_INFO_0 = \"#ffffff\";\nexport const COLOR_LIGHT_INFO_50 = \"#f4faff\";\nexport const COLOR_LIGHT_INFO_100 = \"#ddf1ff\";\nexport const COLOR_LIGHT_INFO_200 = \"#addbff\";\nexport const COLOR_LIGHT_INFO_300 = \"#6fb6ff\";\nexport const COLOR_LIGHT_INFO_400 = \"#3990ff\";\nexport const COLOR_LIGHT_INFO_500 = \"#096bde\";\nexport const COLOR_LIGHT_INFO_600 = \"#054da7\";\nexport const COLOR_LIGHT_INFO_700 = \"#02367d\";\nexport const COLOR_LIGHT_INFO_800 = \"#072859\";\nexport const COLOR_LIGHT_INFO_900 = \"#00153c\";\nexport const COLOR_LIGHT_WARNING_0 = \"#ffffff\";\nexport const COLOR_LIGHT_WARNING_50 = \"#fff8c5\";\nexport const COLOR_LIGHT_WARNING_100 = \"#fae17d\";\nexport const COLOR_LIGHT_WARNING_200 = \"#eac54f\";\nexport const COLOR_LIGHT_WARNING_300 = \"#d4a72c\";\nexport const COLOR_LIGHT_WARNING_400 = \"#bf8700\";\nexport const COLOR_LIGHT_WARNING_500 = \"#9a6700\";\nexport const COLOR_LIGHT_WARNING_600 = \"#7d4e00\";\nexport const COLOR_LIGHT_WARNING_700 = \"#633c01\";\nexport const COLOR_LIGHT_WARNING_800 = \"#4d2d00\";\nexport const COLOR_LIGHT_WARNING_900 = \"#3b2300\";\nexport const COLOR_LIGHT_DANGER_0 = \"#ffffff\";\nexport const COLOR_LIGHT_DANGER_50 = \"#fff8f6\";\nexport const COLOR_LIGHT_DANGER_100 = \"#ffe9e8\";\nexport const COLOR_LIGHT_DANGER_200 = \"#ffc7c5\";\nexport const COLOR_LIGHT_DANGER_300 = \"#ff9192\";\nexport const COLOR_LIGHT_DANGER_400 = \"#fa5255\";\nexport const COLOR_LIGHT_DANGER_500 = \"#d3232f\";\nexport const COLOR_LIGHT_DANGER_600 = \"#a10e25\";\nexport const COLOR_LIGHT_DANGER_700 = \"#77061b\";\nexport const COLOR_LIGHT_DANGER_800 = \"#580013\";\nexport const COLOR_LIGHT_DANGER_900 = \"#39000d\";\nexport const COLOR_LIGHT_SUCCESS_0 = \"#ffffff\";\nexport const COLOR_LIGHT_SUCCESS_50 = \"#f3fef5\";\nexport const COLOR_LIGHT_SUCCESS_100 = \"#d7f5dd\";\nexport const COLOR_LIGHT_SUCCESS_200 = \"#77ec95\";\nexport const COLOR_LIGHT_SUCCESS_300 = \"#4cc76e\";\nexport const COLOR_LIGHT_SUCCESS_400 = \"#2ca24d\";\nexport const COLOR_LIGHT_SUCCESS_500 = \"#1a7d36\";\nexport const COLOR_LIGHT_SUCCESS_600 = \"#0f5d26\";\nexport const COLOR_LIGHT_SUCCESS_700 = \"#034318\";\nexport const COLOR_LIGHT_SUCCESS_800 = \"#002f0f\";\nexport const COLOR_LIGHT_SUCCESS_900 = \"#001d09\";\nexport const COLOR_LIGHT_HIGHLIGHT_0 = \"#ffffff\";\nexport const COLOR_LIGHT_HIGHLIGHT_50 = \"#fdf7ff\";\nexport const COLOR_LIGHT_HIGHLIGHT_100 = \"#f4eaff\";\nexport const COLOR_LIGHT_HIGHLIGHT_200 = \"#e1cbff\";\nexport const COLOR_LIGHT_HIGHLIGHT_300 = \"#c69eff\";\nexport const COLOR_LIGHT_HIGHLIGHT_400 = \"#a374f9\";\nexport const COLOR_LIGHT_HIGHLIGHT_500 = \"#814dde\";\nexport const COLOR_LIGHT_HIGHLIGHT_600 = \"#5f35ae\";\nexport const COLOR_LIGHT_HIGHLIGHT_700 = \"#452382\";\nexport const COLOR_LIGHT_HIGHLIGHT_800 = \"#301761\";\nexport const COLOR_LIGHT_HIGHLIGHT_900 = \"#1d0a42\";\nexport const COLOR_LIGHT_NEUTRAL_0 = \"#ffffff\";\nexport const COLOR_LIGHT_NEUTRAL_50 = \"#f7f7f8\";\nexport const COLOR_LIGHT_NEUTRAL_100 = \"#ebebef\";\nexport const COLOR_LIGHT_NEUTRAL_200 = \"#d8d8df\";\nexport const COLOR_LIGHT_NEUTRAL_300 = \"#b9b9c6\";\nexport const COLOR_LIGHT_NEUTRAL_400 = \"#8f8fa3\";\nexport const COLOR_LIGHT_NEUTRAL_500 = \"#73738c\";\nexport const COLOR_LIGHT_NEUTRAL_600 = \"#5a5a72\";\nexport const COLOR_LIGHT_NEUTRAL_700 = \"#434356\";\nexport const COLOR_LIGHT_NEUTRAL_800 = \"#25252d\";\nexport const COLOR_LIGHT_NEUTRAL_900 = \"#131318\";\nexport const COLOR_DARK_PRIMARY_0 = \"#000000\";\nexport const COLOR_DARK_PRIMARY_50 = \"#3a0819\";\nexport const COLOR_DARK_PRIMARY_100 = \"#7e1035\";\nexport const COLOR_DARK_PRIMARY_200 = \"#a31545\";\nexport const COLOR_DARK_PRIMARY_300 = \"#cb1a56\";\nexport const COLOR_DARK_PRIMARY_400 = \"#e91e63\";\nexport const COLOR_DARK_PRIMARY_500 = \"#ec407a\";\nexport const COLOR_DARK_PRIMARY_600 = \"#f06292\";\nexport const COLOR_DARK_PRIMARY_700 = \"#f48fb1\";\nexport const COLOR_DARK_PRIMARY_800 = \"#f8bcd0\";\nexport const COLOR_DARK_PRIMARY_900 = \"#fce4ec\";\nexport const COLOR_DARK_SECONDARY_0 = \"#000000\";\nexport const COLOR_DARK_SECONDARY_50 = \"#006218\";\nexport const COLOR_DARK_SECONDARY_100 = \"#00812d\";\nexport const COLOR_DARK_SECONDARY_200 = \"#009238\";\nexport const COLOR_DARK_SECONDARY_300 = \"#16a444\";\nexport const COLOR_DARK_SECONDARY_400 = \"#21b34d\";\nexport const COLOR_DARK_SECONDARY_500 = \"#4dbf68\";\nexport const COLOR_DARK_SECONDARY_600 = \"#70cb83\";\nexport const COLOR_DARK_SECONDARY_700 = \"#9bd9a7\";\nexport const COLOR_DARK_SECONDARY_800 = \"#c3e8c9\";\nexport const COLOR_DARK_SECONDARY_900 = \"#e6f6e9\";\nexport const COLOR_DARK_TERTIARY_0 = \"#000000\";\nexport const COLOR_DARK_TERTIARY_50 = \"#005a92\";\nexport const COLOR_DARK_TERTIARY_100 = \"#087ab4\";\nexport const COLOR_DARK_TERTIARY_200 = \"#098bc7\";\nexport const COLOR_DARK_TERTIARY_300 = \"#139edb\";\nexport const COLOR_DARK_TERTIARY_400 = \"#19ace9\";\nexport const COLOR_DARK_TERTIARY_500 = \"#35b8eb\";\nexport const COLOR_DARK_TERTIARY_600 = \"#56c5ee\";\nexport const COLOR_DARK_TERTIARY_700 = \"#84d5f3\";\nexport const COLOR_DARK_TERTIARY_800 = \"#b4e6f7\";\nexport const COLOR_DARK_TERTIARY_900 = \"#e1f5fc\";\nexport const COLOR_DARK_INFO_0 = \"#000000\";\nexport const COLOR_DARK_INFO_50 = \"#00153c\";\nexport const COLOR_DARK_INFO_100 = \"#072859\";\nexport const COLOR_DARK_INFO_200 = \"#02367d\";\nexport const COLOR_DARK_INFO_300 = \"#054da7\";\nexport const COLOR_DARK_INFO_400 = \"#096bde\";\nexport const COLOR_DARK_INFO_500 = \"#3990ff\";\nexport const COLOR_DARK_INFO_600 = \"#6fb6ff\";\nexport const COLOR_DARK_INFO_700 = \"#addbff\";\nexport const COLOR_DARK_INFO_800 = \"#ddf1ff\";\nexport const COLOR_DARK_INFO_900 = \"#f4faff\";\nexport const COLOR_DARK_WARNING_0 = \"#000000\";\nexport const COLOR_DARK_WARNING_50 = \"#3b2300\";\nexport const COLOR_DARK_WARNING_100 = \"#4d2d00\";\nexport const COLOR_DARK_WARNING_200 = \"#633c01\";\nexport const COLOR_DARK_WARNING_300 = \"#7d4e00\";\nexport const COLOR_DARK_WARNING_400 = \"#9a6700\";\nexport const COLOR_DARK_WARNING_500 = \"#bf8700\";\nexport const COLOR_DARK_WARNING_600 = \"#d4a72c\";\nexport const COLOR_DARK_WARNING_700 = \"#eac54f\";\nexport const COLOR_DARK_WARNING_800 = \"#fae17d\";\nexport const COLOR_DARK_WARNING_900 = \"#fff8c5\";\nexport const COLOR_DARK_DANGER_0 = \"#000000\";\nexport const COLOR_DARK_DANGER_50 = \"#39000d\";\nexport const COLOR_DARK_DANGER_100 = \"#580013\";\nexport const COLOR_DARK_DANGER_200 = \"#77061b\";\nexport const COLOR_DARK_DANGER_300 = \"#a10e25\";\nexport const COLOR_DARK_DANGER_400 = \"#d3232f\";\nexport const COLOR_DARK_DANGER_500 = \"#fa5255\";\nexport const COLOR_DARK_DANGER_600 = \"#ff9192\";\nexport const COLOR_DARK_DANGER_700 = \"#ffc7c5\";\nexport const COLOR_DARK_DANGER_800 = \"#ffe9e8\";\nexport const COLOR_DARK_DANGER_900 = \"#fff8f6\";\nexport const COLOR_DARK_SUCCESS_0 = \"#000000\";\nexport const COLOR_DARK_SUCCESS_50 = \"#001d09\";\nexport const COLOR_DARK_SUCCESS_100 = \"#002f0f\";\nexport const COLOR_DARK_SUCCESS_200 = \"#034318\";\nexport const COLOR_DARK_SUCCESS_300 = \"#0f5d26\";\nexport const COLOR_DARK_SUCCESS_400 = \"#1a7d36\";\nexport const COLOR_DARK_SUCCESS_500 = \"#2ca24d\";\nexport const COLOR_DARK_SUCCESS_600 = \"#4cc76e\";\nexport const COLOR_DARK_SUCCESS_700 = \"#77ec95\";\nexport const COLOR_DARK_SUCCESS_800 = \"#d7f5dd\";\nexport const COLOR_DARK_SUCCESS_900 = \"#f3fef5\";\nexport const COLOR_DARK_HIGHLIGHT_0 = \"#000000\";\nexport const COLOR_DARK_HIGHLIGHT_50 = \"#1d0a42\";\nexport const COLOR_DARK_HIGHLIGHT_100 = \"#301761\";\nexport const COLOR_DARK_HIGHLIGHT_200 = \"#452382\";\nexport const COLOR_DARK_HIGHLIGHT_300 = \"#5f35ae\";\nexport const COLOR_DARK_HIGHLIGHT_400 = \"#814dde\";\nexport const COLOR_DARK_HIGHLIGHT_500 = \"#a374f9\";\nexport const COLOR_DARK_HIGHLIGHT_600 = \"#c69eff\";\nexport const COLOR_DARK_HIGHLIGHT_700 = \"#e1cbff\";\nexport const COLOR_DARK_HIGHLIGHT_800 = \"#f4eaff\";\nexport const COLOR_DARK_HIGHLIGHT_900 = \"#fdf7ff\";\nexport const COLOR_DARK_NEUTRAL_0 = \"#000000\";\nexport const COLOR_DARK_NEUTRAL_50 = \"#131318\";\nexport const COLOR_DARK_NEUTRAL_100 = \"#25252d\";\nexport const COLOR_DARK_NEUTRAL_200 = \"#434356\";\nexport const COLOR_DARK_NEUTRAL_300 = \"#5a5a72\";\nexport const COLOR_DARK_NEUTRAL_400 = \"#73738c\";\nexport const COLOR_DARK_NEUTRAL_500 = \"#8f8fa3\";\nexport const COLOR_DARK_NEUTRAL_600 = \"#b9b9c6\";\nexport const COLOR_DARK_NEUTRAL_700 = \"#d8d8df\";\nexport const COLOR_DARK_NEUTRAL_800 = \"#ebebef\";\nexport const COLOR_DARK_NEUTRAL_900 = \"#f7f7f8\";\nexport const TYPOGRAPHY_HEADLINE1_FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const TYPOGRAPHY_HEADLINE1_FONT_SIZE = \"24px\";\nexport const TYPOGRAPHY_HEADLINE1_LINE_HEIGHT = \"28px\";\nexport const TYPOGRAPHY_HEADLINE1_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE1_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_HEADLINE1_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE2_FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const TYPOGRAPHY_HEADLINE2_FONT_SIZE = \"24px\";\nexport const TYPOGRAPHY_HEADLINE2_LINE_HEIGHT = \"28px\";\nexport const TYPOGRAPHY_HEADLINE2_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE2_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_HEADLINE2_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE3_FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const TYPOGRAPHY_HEADLINE3_FONT_SIZE = \"24px\";\nexport const TYPOGRAPHY_HEADLINE3_LINE_HEIGHT = \"28px\";\nexport const TYPOGRAPHY_HEADLINE3_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE3_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_HEADLINE3_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE4_FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const TYPOGRAPHY_HEADLINE4_FONT_SIZE = \"24px\";\nexport const TYPOGRAPHY_HEADLINE4_LINE_HEIGHT = \"28px\";\nexport const TYPOGRAPHY_HEADLINE4_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE4_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_HEADLINE4_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE5_FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const TYPOGRAPHY_HEADLINE5_FONT_SIZE = \"24px\";\nexport const TYPOGRAPHY_HEADLINE5_LINE_HEIGHT = \"28px\";\nexport const TYPOGRAPHY_HEADLINE5_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE5_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_HEADLINE5_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_HEADLINE6_FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const TYPOGRAPHY_HEADLINE6_FONT_SIZE = \"24px\";\nexport const TYPOGRAPHY_HEADLINE6_LINE_HEIGHT = \"28px\";\nexport const TYPOGRAPHY_HEADLINE6_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_HEADLINE6_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_HEADLINE6_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_BODY1_FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const TYPOGRAPHY_BODY1_FONT_SIZE = \"16px\";\nexport const TYPOGRAPHY_BODY1_LINE_HEIGHT = \"20px\";\nexport const TYPOGRAPHY_BODY1_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_BODY1_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_BODY1_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_BODY1_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_BODY2_FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const TYPOGRAPHY_BODY2_FONT_SIZE = \"16px\";\nexport const TYPOGRAPHY_BODY2_LINE_HEIGHT = \"20px\";\nexport const TYPOGRAPHY_BODY2_FONT_WEIGHT = \"300\";\nexport const TYPOGRAPHY_BODY2_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_BODY2_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_BODY2_TEXT_TRANSFORM = \"none\";\nexport const TYPOGRAPHY_BUTTON_FONT_FAMILY = \"'Noto Sans', sans-serif\";\nexport const TYPOGRAPHY_BUTTON_FONT_SIZE = \"16px\";\nexport const TYPOGRAPHY_BUTTON_LINE_HEIGHT = \"20px\";\nexport const TYPOGRAPHY_BUTTON_FONT_WEIGHT = \"700\";\nexport const TYPOGRAPHY_BUTTON_LETTER_SPACING = \"-0.25px\";\nexport const TYPOGRAPHY_BUTTON_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_BUTTON_TEXT_TRANSFORM = \"uppercase\";\nexport const ELEVATION_NONE = \"none\";\nexport const ELEVATION_LIGHT_LIGHT =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 1px 2px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_OFFSET_Y_1 = \"1px\";\nexport const ELEVATION_LIGHT_LIGHT_BLUR_0 = \"2px\";\nexport const ELEVATION_LIGHT_LIGHT_BLUR_1 = \"2px\";\nexport const ELEVATION_LIGHT_LIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_LIGHT_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_LIGHT_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_SEMILIGHT =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 2px 4px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_OFFSET_Y_1 = \"2px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_BLUR_0 = \"2px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_BLUR_1 = \"4px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_SEMILIGHT_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_SEMILIGHT_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_REGULAR =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 4px 8px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_OFFSET_Y_1 = \"4px\";\nexport const ELEVATION_LIGHT_REGULAR_BLUR_0 = \"2px\";\nexport const ELEVATION_LIGHT_REGULAR_BLUR_1 = \"8px\";\nexport const ELEVATION_LIGHT_REGULAR_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_REGULAR_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_REGULAR_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_SEMIBOLD =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.12), 0px 8px 16px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_OFFSET_Y_1 = \"8px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_BLUR_0 = \"2px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_BLUR_1 = \"16px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_SEMIBOLD_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_SEMIBOLD_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_BOLD =\n \"0px 0px 8px 0px rgba(0, 0, 0, 0.12), 0px 14px 28px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_OFFSET_Y_1 = \"14px\";\nexport const ELEVATION_LIGHT_BOLD_BLUR_0 = \"8px\";\nexport const ELEVATION_LIGHT_BOLD_BLUR_1 = \"28px\";\nexport const ELEVATION_LIGHT_BOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_BOLD_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_BOLD_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_EXTRABOLD =\n \"0px 0px 8px 0px rgba(0, 0, 0, 0.12), 0px 32px 64px 0px rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_OFFSET_Y_1 = \"32px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_BLUR_0 = \"8px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_BLUR_1 = \"64px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_LIGHT_EXTRABOLD_COLOR_0 = \"rgba(0, 0, 0, 0.12)\";\nexport const ELEVATION_LIGHT_EXTRABOLD_COLOR_1 = \"rgba(0, 0, 0, 0.14)\";\nexport const ELEVATION_DARK_LIGHT =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.24), 0px 1px 2px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_OFFSET_Y_1 = \"1px\";\nexport const ELEVATION_DARK_LIGHT_BLUR_0 = \"2px\";\nexport const ELEVATION_DARK_LIGHT_BLUR_1 = \"2px\";\nexport const ELEVATION_DARK_LIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_LIGHT_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_LIGHT_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_SEMILIGHT =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.24), 0px 2px 4px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_OFFSET_Y_1 = \"2px\";\nexport const ELEVATION_DARK_SEMILIGHT_BLUR_0 = \"2px\";\nexport const ELEVATION_DARK_SEMILIGHT_BLUR_1 = \"4px\";\nexport const ELEVATION_DARK_SEMILIGHT_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_SEMILIGHT_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_SEMILIGHT_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_REGULAR =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.24), 0px 4px 8px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_OFFSET_Y_1 = \"4px\";\nexport const ELEVATION_DARK_REGULAR_BLUR_0 = \"2px\";\nexport const ELEVATION_DARK_REGULAR_BLUR_1 = \"8px\";\nexport const ELEVATION_DARK_REGULAR_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_REGULAR_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_REGULAR_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_SEMIBOLD =\n \"0px 0px 2px 0px rgba(0, 0, 0, 0.24), 0px 8px 16px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_OFFSET_Y_1 = \"8px\";\nexport const ELEVATION_DARK_SEMIBOLD_BLUR_0 = \"2px\";\nexport const ELEVATION_DARK_SEMIBOLD_BLUR_1 = \"16px\";\nexport const ELEVATION_DARK_SEMIBOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_SEMIBOLD_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_SEMIBOLD_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_BOLD =\n \"0px 0px 8px 0px rgba(0, 0, 0, 0.24), 0px 14px 28px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_BOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_BOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_BOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_BOLD_OFFSET_Y_1 = \"14px\";\nexport const ELEVATION_DARK_BOLD_BLUR_0 = \"8px\";\nexport const ELEVATION_DARK_BOLD_BLUR_1 = \"28px\";\nexport const ELEVATION_DARK_BOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_BOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_BOLD_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_BOLD_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_EXTRABOLD =\n \"0px 0px 8px 0px rgba(0, 0, 0, 0.24), 0px 32px 64px 0px rgba(0, 0, 0, 0.28)\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_X_0 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_X_1 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_Y_0 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_OFFSET_Y_1 = \"32px\";\nexport const ELEVATION_DARK_EXTRABOLD_BLUR_0 = \"8px\";\nexport const ELEVATION_DARK_EXTRABOLD_BLUR_1 = \"64px\";\nexport const ELEVATION_DARK_EXTRABOLD_SPREAD_0 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_SPREAD_1 = \"0px\";\nexport const ELEVATION_DARK_EXTRABOLD_COLOR_0 = \"rgba(0, 0, 0, 0.24)\";\nexport const ELEVATION_DARK_EXTRABOLD_COLOR_1 = \"rgba(0, 0, 0, 0.28)\";\nexport const SIZE_TINY = \"2px\";\nexport const SIZE_SMALL = \"4px\";\nexport const SIZE_MEDIUM = \"8px\";\nexport const SIZE_LARGE = \"16px\";\nexport const SIZE_GIANT = \"32px\";\nexport const SIZE_KEY = \"tiny small medium large giant\";\nexport const SIZE_KEY_TINY = \"tiny\";\nexport const SIZE_KEY_SMALL = \"small\";\nexport const SIZE_KEY_MEDIUM = \"medium\";\nexport const SIZE_KEY_LARGE = \"large\";\nexport const SIZE_KEY_GIANT = \"giant\";\nexport const TYPOGRAPHY_KEY_HEADLINE1 = \"headline1\";\nexport const TYPOGRAPHY_KEY_HEADLINE2 = \"headline2\";\nexport const TYPOGRAPHY_KEY_HEADLINE3 = \"headline3\";\nexport const TYPOGRAPHY_KEY_HEADLINE4 = \"headline4\";\nexport const TYPOGRAPHY_KEY_HEADLINE5 = \"headline5\";\nexport const TYPOGRAPHY_KEY_HEADLINE6 = \"headline6\";\nexport const TYPOGRAPHY_KEY_BODY1 = \"body1\";\nexport const TYPOGRAPHY_KEY_BODY2 = \"body2\";\nexport const TYPOGRAPHY_KEY_BUTTON = \"button\";\nexport const ELEVATION_KEY = \"light semilight regular semibold bold extrabold\";\nexport const ELEVATION_KEY_LIGHT = \"light\";\nexport const ELEVATION_KEY_SEMILIGHT = \"semilight\";\nexport const ELEVATION_KEY_REGULAR = \"regular\";\nexport const ELEVATION_KEY_SEMIBOLD = \"semibold\";\nexport const ELEVATION_KEY_BOLD = \"bold\";\nexport const ELEVATION_KEY_EXTRABOLD = \"extrabold\";\nexport const VARIANT = \"primary\";\nexport const VARIANT_PRIMARY = \"primary\";\nexport const VARIANT_SECONDARY = \"secondary\";\nexport const VARIANT_TERTIARY = \"tertiary\";\nexport const DURATION_SHORT = \"200ms\";\nexport const DURATION_MEDIUM = \"400ms\";\nexport const DURATION_LONG = \"600ms\";\n","// #region Imports\n\nimport { ThemeFactory } from './ThemeFactory';\nimport { FONT_FAMILY, ELEVATION_NONE, LAYOUT_RADIUS, LAYOUT_SPACE, LAYOUT_THICKNESS, SCHEME_DARK_BACKGROUND, SCHEME_DARK_CONTRAST, SCHEME_DARK_DISABLED, SCHEME_DARK_FOREGROUND, SCHEME_DARK_HIGHLIGHT, SCHEME_DARK_LOWLIGHT, SCHEME_DARK_MIDDLELIGHT, SCHEME_DARK_SEMI_TRANSPARENT, SCHEME_DARK_TRANSPARENT, SCHEME_LIGHT_BACKGROUND, SCHEME_LIGHT_CONTRAST, SCHEME_LIGHT_DISABLED, SCHEME_LIGHT_FOREGROUND, SCHEME_LIGHT_HIGHLIGHT, SCHEME_LIGHT_LOWLIGHT, SCHEME_LIGHT_MIDDLELIGHT, SCHEME_LIGHT_SEMI_TRANSPARENT, SCHEME_LIGHT_TRANSPARENT, NAME, TYPOGRAPHY_BUTTON_FONT_FAMILY, TYPOGRAPHY_BUTTON_FONT_SIZE, TYPOGRAPHY_BUTTON_FONT_WEIGHT, TYPOGRAPHY_BUTTON_LETTER_SPACING, TYPOGRAPHY_BUTTON_LINE_HEIGHT, TYPOGRAPHY_BUTTON_TEXT_DECORATION, TYPOGRAPHY_BUTTON_TEXT_TRANSFORM, COLOR_LIGHT_PRIMARY_100, COLOR_LIGHT_PRIMARY_500, COLOR_LIGHT_PRIMARY_0, VARIANT_PRIMARY, VARIANT_SECONDARY, VARIANT_TERTIARY, ELEVATION_LIGHT_LIGHT, ELEVATION_LIGHT_SEMILIGHT, ELEVATION_LIGHT_REGULAR, ELEVATION_LIGHT_SEMIBOLD, ELEVATION_LIGHT_BOLD, ELEVATION_LIGHT_EXTRABOLD, ELEVATION_DARK_LIGHT, ELEVATION_DARK_SEMILIGHT, ELEVATION_DARK_REGULAR, ELEVATION_DARK_SEMIBOLD, ELEVATION_DARK_BOLD, ELEVATION_DARK_EXTRABOLD, ELEVATION_KEY_LIGHT, ELEVATION_KEY_SEMILIGHT, ELEVATION_KEY_REGULAR, ELEVATION_KEY_SEMIBOLD, ELEVATION_KEY_BOLD, ELEVATION_KEY_EXTRABOLD, TYPOGRAPHY_KEY_BUTTON, SCHEME_LIGHT_SURFACE, SCHEME_LIGHT_SELECTION, SCHEME_DARK_SELECTION, SCHEME_DARK_SURFACE, COLOR_LIGHT_PRIMARY_50, COLOR_LIGHT_PRIMARY_200, COLOR_LIGHT_PRIMARY_300, COLOR_LIGHT_PRIMARY_400, COLOR_LIGHT_PRIMARY_600, COLOR_LIGHT_PRIMARY_700, COLOR_LIGHT_PRIMARY_800, COLOR_LIGHT_PRIMARY_900, COLOR_LIGHT_SECONDARY_0, COLOR_LIGHT_SECONDARY_50, COLOR_LIGHT_SECONDARY_100, COLOR_LIGHT_SECONDARY_200, COLOR_LIGHT_SECONDARY_300, COLOR_LIGHT_SECONDARY_400, COLOR_LIGHT_SECONDARY_500, COLOR_LIGHT_SECONDARY_600, COLOR_LIGHT_SECONDARY_700, COLOR_LIGHT_SECONDARY_800, COLOR_LIGHT_SECONDARY_900, COLOR_DARK_DANGER_0, COLOR_DARK_DANGER_100, COLOR_DARK_DANGER_200, COLOR_DARK_DANGER_300, COLOR_DARK_DANGER_400, COLOR_DARK_DANGER_50, COLOR_DARK_DANGER_500, COLOR_DARK_DANGER_600, COLOR_DARK_DANGER_700, COLOR_DARK_DANGER_800, COLOR_DARK_DANGER_900, COLOR_DARK_HIGHLIGHT_0, COLOR_DARK_HIGHLIGHT_100, COLOR_DARK_HIGHLIGHT_200, COLOR_DARK_HIGHLIGHT_300, COLOR_DARK_HIGHLIGHT_400, COLOR_DARK_HIGHLIGHT_50, COLOR_DARK_HIGHLIGHT_500, COLOR_DARK_HIGHLIGHT_600, COLOR_DARK_HIGHLIGHT_700, COLOR_DARK_HIGHLIGHT_800, COLOR_DARK_HIGHLIGHT_900, COLOR_DARK_INFO_0, COLOR_DARK_INFO_100, COLOR_DARK_INFO_200, COLOR_DARK_INFO_300, COLOR_DARK_INFO_400, COLOR_DARK_INFO_50, COLOR_DARK_INFO_500, COLOR_DARK_INFO_600, COLOR_DARK_INFO_700, COLOR_DARK_INFO_800, COLOR_DARK_INFO_900, COLOR_DARK_NEUTRAL_0, COLOR_DARK_NEUTRAL_100, COLOR_DARK_NEUTRAL_200, COLOR_DARK_NEUTRAL_300, COLOR_DARK_NEUTRAL_400, COLOR_DARK_NEUTRAL_50, COLOR_DARK_NEUTRAL_500, COLOR_DARK_NEUTRAL_600, COLOR_DARK_NEUTRAL_700, COLOR_DARK_NEUTRAL_800, COLOR_DARK_NEUTRAL_900, COLOR_DARK_PRIMARY_0, COLOR_DARK_PRIMARY_100, COLOR_DARK_PRIMARY_200, COLOR_DARK_PRIMARY_300, COLOR_DARK_PRIMARY_400, COLOR_DARK_PRIMARY_50, COLOR_DARK_PRIMARY_500, COLOR_DARK_PRIMARY_600, COLOR_DARK_PRIMARY_700, COLOR_DARK_PRIMARY_800, COLOR_DARK_PRIMARY_900, COLOR_DARK_SECONDARY_0, COLOR_DARK_SECONDARY_100, COLOR_DARK_SECONDARY_200, COLOR_DARK_SECONDARY_300, COLOR_DARK_SECONDARY_400, COLOR_DARK_SECONDARY_50, COLOR_DARK_SECONDARY_500, COLOR_DARK_SECONDARY_600, COLOR_DARK_SECONDARY_700, COLOR_DARK_SECONDARY_800, COLOR_DARK_SECONDARY_900, COLOR_DARK_SUCCESS_0, COLOR_DARK_SUCCESS_100, COLOR_DARK_SUCCESS_200, COLOR_DARK_SUCCESS_300, COLOR_DARK_SUCCESS_400, COLOR_DARK_SUCCESS_50, COLOR_DARK_SUCCESS_500, COLOR_DARK_SUCCESS_600, COLOR_DARK_SUCCESS_700, COLOR_DARK_SUCCESS_800, COLOR_DARK_SUCCESS_900, COLOR_DARK_TERTIARY_0, COLOR_DARK_TERTIARY_100, COLOR_DARK_TERTIARY_200, COLOR_DARK_TERTIARY_300, COLOR_DARK_TERTIARY_400, COLOR_DARK_TERTIARY_50, COLOR_DARK_TERTIARY_500, COLOR_DARK_TERTIARY_600, COLOR_DARK_TERTIARY_700, COLOR_DARK_TERTIARY_800, COLOR_DARK_TERTIARY_900, COLOR_DARK_WARNING_0, COLOR_DARK_WARNING_100, COLOR_DARK_WARNING_200, COLOR_DARK_WARNING_300, COLOR_DARK_WARNING_400, COLOR_DARK_WARNING_50, COLOR_DARK_WARNING_500, COLOR_DARK_WARNING_600, COLOR_DARK_WARNING_700, COLOR_DARK_WARNING_800, COLOR_DARK_WARNING_900, COLOR_LIGHT_DANGER_0, COLOR_LIGHT_DANGER_100, COLOR_LIGHT_DANGER_200, COLOR_LIGHT_DANGER_300, COLOR_LIGHT_DANGER_400, COLOR_LIGHT_DANGER_50, COLOR_LIGHT_DANGER_500, COLOR_LIGHT_DANGER_600, COLOR_LIGHT_DANGER_700, COLOR_LIGHT_DANGER_800, COLOR_LIGHT_DANGER_900, COLOR_LIGHT_HIGHLIGHT_0, COLOR_LIGHT_HIGHLIGHT_100, COLOR_LIGHT_HIGHLIGHT_200, COLOR_LIGHT_HIGHLIGHT_300, COLOR_LIGHT_HIGHLIGHT_400, COLOR_LIGHT_HIGHLIGHT_50, COLOR_LIGHT_HIGHLIGHT_500, COLOR_LIGHT_HIGHLIGHT_600, COLOR_LIGHT_HIGHLIGHT_700, COLOR_LIGHT_HIGHLIGHT_800, COLOR_LIGHT_HIGHLIGHT_900, COLOR_LIGHT_INFO_0, COLOR_LIGHT_INFO_100, COLOR_LIGHT_INFO_200, COLOR_LIGHT_INFO_300, COLOR_LIGHT_INFO_400, COLOR_LIGHT_INFO_50, COLOR_LIGHT_INFO_500, COLOR_LIGHT_INFO_600, COLOR_LIGHT_INFO_700, COLOR_LIGHT_INFO_800, COLOR_LIGHT_INFO_900, COLOR_LIGHT_NEUTRAL_0, COLOR_LIGHT_NEUTRAL_100, COLOR_LIGHT_NEUTRAL_200, COLOR_LIGHT_NEUTRAL_300, COLOR_LIGHT_NEUTRAL_400, COLOR_LIGHT_NEUTRAL_50, COLOR_LIGHT_NEUTRAL_500, COLOR_LIGHT_NEUTRAL_600, COLOR_LIGHT_NEUTRAL_700, COLOR_LIGHT_NEUTRAL_800, COLOR_LIGHT_NEUTRAL_900, COLOR_LIGHT_SUCCESS_0, COLOR_LIGHT_SUCCESS_100, COLOR_LIGHT_SUCCESS_200, COLOR_LIGHT_SUCCESS_300, COLOR_LIGHT_SUCCESS_400, COLOR_LIGHT_SUCCESS_50, COLOR_LIGHT_SUCCESS_500, COLOR_LIGHT_SUCCESS_600, COLOR_LIGHT_SUCCESS_700, COLOR_LIGHT_SUCCESS_800, COLOR_LIGHT_SUCCESS_900, COLOR_LIGHT_TERTIARY_0, COLOR_LIGHT_TERTIARY_100, COLOR_LIGHT_TERTIARY_200, COLOR_LIGHT_TERTIARY_300, COLOR_LIGHT_TERTIARY_400, COLOR_LIGHT_TERTIARY_50, COLOR_LIGHT_TERTIARY_500, COLOR_LIGHT_TERTIARY_600, COLOR_LIGHT_TERTIARY_700, COLOR_LIGHT_TERTIARY_800, COLOR_LIGHT_TERTIARY_900, COLOR_LIGHT_WARNING_0, COLOR_LIGHT_WARNING_100, COLOR_LIGHT_WARNING_200, COLOR_LIGHT_WARNING_300, COLOR_LIGHT_WARNING_400, COLOR_LIGHT_WARNING_50, COLOR_LIGHT_WARNING_500, COLOR_LIGHT_WARNING_600, COLOR_LIGHT_WARNING_700, COLOR_LIGHT_WARNING_800, COLOR_LIGHT_WARNING_900, TYPOGRAPHY_HEADLINE1_FONT_FAMILY, TYPOGRAPHY_HEADLINE1_FONT_SIZE, TYPOGRAPHY_HEADLINE1_LINE_HEIGHT, TYPOGRAPHY_HEADLINE1_FONT_WEIGHT, TYPOGRAPHY_HEADLINE1_LETTER_SPACING, TYPOGRAPHY_HEADLINE1_TEXT_DECORATION, TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM, TYPOGRAPHY_BODY1_FONT_FAMILY, TYPOGRAPHY_BODY1_FONT_SIZE, TYPOGRAPHY_BODY1_LINE_HEIGHT, TYPOGRAPHY_BODY1_FONT_WEIGHT, TYPOGRAPHY_BODY1_LETTER_SPACING, TYPOGRAPHY_BODY1_TEXT_DECORATION, TYPOGRAPHY_BODY1_TEXT_TRANSFORM, TYPOGRAPHY_BODY2_FONT_FAMILY, TYPOGRAPHY_BODY2_FONT_SIZE, TYPOGRAPHY_BODY2_FONT_WEIGHT, TYPOGRAPHY_BODY2_LETTER_SPACING, TYPOGRAPHY_BODY2_LINE_HEIGHT, TYPOGRAPHY_BODY2_TEXT_DECORATION, TYPOGRAPHY_BODY2_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE2_FONT_FAMILY, TYPOGRAPHY_HEADLINE2_FONT_SIZE, TYPOGRAPHY_HEADLINE2_FONT_WEIGHT, TYPOGRAPHY_HEADLINE2_LETTER_SPACING, TYPOGRAPHY_HEADLINE2_LINE_HEIGHT, TYPOGRAPHY_HEADLINE2_TEXT_DECORATION, TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE3_FONT_FAMILY, TYPOGRAPHY_HEADLINE3_FONT_SIZE, TYPOGRAPHY_HEADLINE3_FONT_WEIGHT, TYPOGRAPHY_HEADLINE3_LETTER_SPACING, TYPOGRAPHY_HEADLINE3_LINE_HEIGHT, TYPOGRAPHY_HEADLINE3_TEXT_DECORATION, TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE4_FONT_FAMILY, TYPOGRAPHY_HEADLINE4_FONT_SIZE, TYPOGRAPHY_HEADLINE4_FONT_WEIGHT, TYPOGRAPHY_HEADLINE4_LETTER_SPACING, TYPOGRAPHY_HEADLINE4_LINE_HEIGHT, TYPOGRAPHY_HEADLINE4_TEXT_DECORATION, TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE5_FONT_FAMILY, TYPOGRAPHY_HEADLINE5_FONT_SIZE, TYPOGRAPHY_HEADLINE5_FONT_WEIGHT, TYPOGRAPHY_HEADLINE5_LETTER_SPACING, TYPOGRAPHY_HEADLINE5_LINE_HEIGHT, TYPOGRAPHY_HEADLINE5_TEXT_DECORATION, TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM, TYPOGRAPHY_HEADLINE6_FONT_FAMILY, TYPOGRAPHY_HEADLINE6_FONT_SIZE, TYPOGRAPHY_HEADLINE6_FONT_WEIGHT, TYPOGRAPHY_HEADLINE6_LETTER_SPACING, TYPOGRAPHY_HEADLINE6_LINE_HEIGHT, TYPOGRAPHY_HEADLINE6_TEXT_DECORATION, TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM, TYPOGRAPHY_KEY_BODY1, TYPOGRAPHY_KEY_BODY2, TYPOGRAPHY_KEY_HEADLINE1, TYPOGRAPHY_KEY_HEADLINE2, TYPOGRAPHY_KEY_HEADLINE3, TYPOGRAPHY_KEY_HEADLINE4, TYPOGRAPHY_KEY_HEADLINE5, TYPOGRAPHY_KEY_HEADLINE6 } from './Tokens/CosmopolitanTokens';\nimport type { IThemeMetadata } from './Utils/IThemeMetadata';\n\n// #endregion\n\nexport namespace CosmopolitanTheme {\n\n export const COSMOPOLITAN_THEME = ThemeFactory.create({\n name: NAME,\n scheme: {\n light: {\n surface: SCHEME_LIGHT_SURFACE,\n contrast: SCHEME_LIGHT_CONTRAST,\n background: SCHEME_LIGHT_BACKGROUND,\n foreground: SCHEME_LIGHT_FOREGROUND,\n highlight: SCHEME_LIGHT_HIGHLIGHT,\n middlelight: SCHEME_LIGHT_MIDDLELIGHT,\n lowlight: SCHEME_LIGHT_LOWLIGHT,\n transparent: SCHEME_LIGHT_TRANSPARENT,\n semiTransparent: SCHEME_LIGHT_SEMI_TRANSPARENT,\n disabled: SCHEME_LIGHT_DISABLED,\n selection: SCHEME_LIGHT_SELECTION\n },\n dark: {\n surface: SCHEME_DARK_SURFACE,\n contrast: SCHEME_DARK_CONTRAST,\n background: SCHEME_DARK_BACKGROUND,\n foreground: SCHEME_DARK_FOREGROUND,\n highlight: SCHEME_DARK_HIGHLIGHT,\n middlelight: SCHEME_DARK_MIDDLELIGHT,\n lowlight: SCHEME_DARK_LOWLIGHT,\n transparent: SCHEME_DARK_TRANSPARENT,\n semiTransparent: SCHEME_DARK_SEMI_TRANSPARENT,\n disabled: SCHEME_DARK_DISABLED,\n selection: SCHEME_DARK_SELECTION\n }\n },\n palette: {\n light: {\n primary: {\n 0: COLOR_LIGHT_PRIMARY_0,\n 50: COLOR_LIGHT_PRIMARY_50,\n 100: COLOR_LIGHT_PRIMARY_100,\n 200: COLOR_LIGHT_PRIMARY_200,\n 300: COLOR_LIGHT_PRIMARY_300,\n 400: COLOR_LIGHT_PRIMARY_400,\n 500: COLOR_LIGHT_PRIMARY_500,\n 600: COLOR_LIGHT_PRIMARY_600,\n 700: COLOR_LIGHT_PRIMARY_700,\n 800: COLOR_LIGHT_PRIMARY_800,\n 900: COLOR_LIGHT_PRIMARY_900\n },\n secondary: {\n 0: COLOR_LIGHT_SECONDARY_0,\n 50: COLOR_LIGHT_SECONDARY_50,\n 100: COLOR_LIGHT_SECONDARY_100,\n 200: COLOR_LIGHT_SECONDARY_200,\n 300: COLOR_LIGHT_SECONDARY_300,\n 400: COLOR_LIGHT_SECONDARY_400,\n 500: COLOR_LIGHT_SECONDARY_500,\n 600: COLOR_LIGHT_SECONDARY_600,\n 700: COLOR_LIGHT_SECONDARY_700,\n 800: COLOR_LIGHT_SECONDARY_800,\n 900: COLOR_LIGHT_SECONDARY_900\n },\n tertiary: {\n 0: COLOR_LIGHT_TERTIARY_0,\n 50: COLOR_LIGHT_TERTIARY_50,\n 100: COLOR_LIGHT_TERTIARY_100,\n 200: COLOR_LIGHT_TERTIARY_200,\n 300: COLOR_LIGHT_TERTIARY_300,\n 400: COLOR_LIGHT_TERTIARY_400,\n 500: COLOR_LIGHT_TERTIARY_500,\n 600: COLOR_LIGHT_TERTIARY_600,\n 700: COLOR_LIGHT_TERTIARY_700,\n 800: COLOR_LIGHT_TERTIARY_800,\n 900: COLOR_LIGHT_TERTIARY_900\n },\n info: {\n 0: COLOR_LIGHT_INFO_0,\n 50: COLOR_LIGHT_INFO_50,\n 100: COLOR_LIGHT_INFO_100,\n 200: COLOR_LIGHT_INFO_200,\n 300: COLOR_LIGHT_INFO_300,\n 400: COLOR_LIGHT_INFO_400,\n 500: COLOR_LIGHT_INFO_500,\n 600: COLOR_LIGHT_INFO_600,\n 700: COLOR_LIGHT_INFO_700,\n 800: COLOR_LIGHT_INFO_800,\n 900: COLOR_LIGHT_INFO_900\n },\n warning: {\n 0: COLOR_LIGHT_WARNING_0,\n 50: COLOR_LIGHT_WARNING_50,\n 100: COLOR_LIGHT_WARNING_100,\n 200: COLOR_LIGHT_WARNING_200,\n 300: COLOR_LIGHT_WARNING_300,\n 400: COLOR_LIGHT_WARNING_400,\n 500: COLOR_LIGHT_WARNING_500,\n 600: COLOR_LIGHT_WARNING_600,\n 700: COLOR_LIGHT_WARNING_700,\n 800: COLOR_LIGHT_WARNING_800,\n 900: COLOR_LIGHT_WARNING_900\n },\n danger: {\n 0: COLOR_LIGHT_DANGER_0,\n 50: COLOR_LIGHT_DANGER_50,\n 100: COLOR_LIGHT_DANGER_100,\n 200: COLOR_LIGHT_DANGER_200,\n 300: COLOR_LIGHT_DANGER_300,\n 400: COLOR_LIGHT_DANGER_400,\n 500: COLOR_LIGHT_DANGER_500,\n 600: COLOR_LIGHT_DANGER_600,\n 700: COLOR_LIGHT_DANGER_700,\n 800: COLOR_LIGHT_DANGER_800,\n 900: COLOR_LIGHT_DANGER_900\n },\n success: {\n 0: COLOR_LIGHT_SUCCESS_0,\n 50: COLOR_LIGHT_SUCCESS_50,\n 100: COLOR_LIGHT_SUCCESS_100,\n 200: COLOR_LIGHT_SUCCESS_200,\n 300: COLOR_LIGHT_SUCCESS_300,\n 400: COLOR_LIGHT_SUCCESS_400,\n 500: COLOR_LIGHT_SUCCESS_500,\n 600: COLOR_LIGHT_SUCCESS_600,\n 700: COLOR_LIGHT_SUCCESS_700,\n 800: COLOR_LIGHT_SUCCESS_800,\n 900: COLOR_LIGHT_SUCCESS_900\n },\n highlight: {\n 0: COLOR_LIGHT_HIGHLIGHT_0,\n 50: COLOR_LIGHT_HIGHLIGHT_50,\n 100: COLOR_LIGHT_HIGHLIGHT_100,\n 200: COLOR_LIGHT_HIGHLIGHT_200,\n 300: COLOR_LIGHT_HIGHLIGHT_300,\n 400: COLOR_LIGHT_HIGHLIGHT_400,\n 500: COLOR_LIGHT_HIGHLIGHT_500,\n 600: COLOR_LIGHT_HIGHLIGHT_600,\n 700: COLOR_LIGHT_HIGHLIGHT_700,\n 800: COLOR_LIGHT_HIGHLIGHT_800,\n 900: COLOR_LIGHT_HIGHLIGHT_900\n },\n neutral: {\n 0: COLOR_LIGHT_NEUTRAL_0,\n 50: COLOR_LIGHT_NEUTRAL_50,\n 100: COLOR_LIGHT_NEUTRAL_100,\n 200: COLOR_LIGHT_NEUTRAL_200,\n 300: COLOR_LIGHT_NEUTRAL_300,\n 400: COLOR_LIGHT_NEUTRAL_400,\n 500: COLOR_LIGHT_NEUTRAL_500,\n 600: COLOR_LIGHT_NEUTRAL_600,\n 700: COLOR_LIGHT_NEUTRAL_700,\n 800: COLOR_LIGHT_NEUTRAL_800,\n 900: COLOR_LIGHT_NEUTRAL_900\n }\n },\n dark: {\n primary: {\n 0: COLOR_DARK_PRIMARY_0,\n 50: COLOR_DARK_PRIMARY_50,\n 100: COLOR_DARK_PRIMARY_100,\n 200: COLOR_DARK_PRIMARY_200,\n 300: COLOR_DARK_PRIMARY_300,\n 400: COLOR_DARK_PRIMARY_400,\n 500: COLOR_DARK_PRIMARY_500,\n 600: COLOR_DARK_PRIMARY_600,\n 700: COLOR_DARK_PRIMARY_700,\n 800: COLOR_DARK_PRIMARY_800,\n 900: COLOR_DARK_PRIMARY_900\n },\n secondary: {\n 0: COLOR_DARK_SECONDARY_0,\n 50: COLOR_DARK_SECONDARY_50,\n 100: COLOR_DARK_SECONDARY_100,\n 200: COLOR_DARK_SECONDARY_200,\n 300: COLOR_DARK_SECONDARY_300,\n 400: COLOR_DARK_SECONDARY_400,\n 500: COLOR_DARK_SECONDARY_500,\n 600: COLOR_DARK_SECONDARY_600,\n 700: COLOR_DARK_SECONDARY_700,\n 800: COLOR_DARK_SECONDARY_800,\n 900: COLOR_DARK_SECONDARY_900\n },\n tertiary: {\n 0: COLOR_DARK_TERTIARY_0,\n 50: COLOR_DARK_TERTIARY_50,\n 100: COLOR_DARK_TERTIARY_100,\n 200: COLOR_DARK_TERTIARY_200,\n 300: COLOR_DARK_TERTIARY_300,\n 400: COLOR_DARK_TERTIARY_400,\n 500: COLOR_DARK_TERTIARY_500,\n 600: COLOR_DARK_TERTIARY_600,\n 700: COLOR_DARK_TERTIARY_700,\n 800: COLOR_DARK_TERTIARY_800,\n 900: COLOR_DARK_TERTIARY_900\n },\n info: {\n 0: COLOR_DARK_INFO_0,\n 50: COLOR_DARK_INFO_50,\n 100: COLOR_DARK_INFO_100,\n 200: COLOR_DARK_INFO_200,\n 300: COLOR_DARK_INFO_300,\n 400: COLOR_DARK_INFO_400,\n 500: COLOR_DARK_INFO_500,\n 600: COLOR_DARK_INFO_600,\n 700: COLOR_DARK_INFO_700,\n 800: COLOR_DARK_INFO_800,\n 900: COLOR_DARK_INFO_900\n },\n warning: {\n 0: COLOR_DARK_WARNING_0,\n 50: COLOR_DARK_WARNING_50,\n 100: COLOR_DARK_WARNING_100,\n 200: COLOR_DARK_WARNING_200,\n 300: COLOR_DARK_WARNING_300,\n 400: COLOR_DARK_WARNING_400,\n 500: COLOR_DARK_WARNING_500,\n 600: COLOR_DARK_WARNING_600,\n 700: COLOR_DARK_WARNING_700,\n 800: COLOR_DARK_WARNING_800,\n 900: COLOR_DARK_WARNING_900\n },\n danger: {\n 0: COLOR_DARK_DANGER_0,\n 50: COLOR_DARK_DANGER_50,\n 100: COLOR_DARK_DANGER_100,\n 200: COLOR_DARK_DANGER_200,\n 300: COLOR_DARK_DANGER_300,\n 400: COLOR_DARK_DANGER_400,\n 500: COLOR_DARK_DANGER_500,\n 600: COLOR_DARK_DANGER_600,\n 700: COLOR_DARK_DANGER_700,\n 800: COLOR_DARK_DANGER_800,\n 900: COLOR_DARK_DANGER_900\n },\n success: {\n 0: COLOR_DARK_SUCCESS_0,\n 50: COLOR_DARK_SUCCESS_50,\n 100: COLOR_DARK_SUCCESS_100,\n 200: COLOR_DARK_SUCCESS_200,\n 300: COLOR_DARK_SUCCESS_300,\n 400: COLOR_DARK_SUCCESS_400,\n 500: COLOR_DARK_SUCCESS_500,\n 600: COLOR_DARK_SUCCESS_600,\n 700: COLOR_DARK_SUCCESS_700,\n 800: COLOR_DARK_SUCCESS_800,\n 900: COLOR_DARK_SUCCESS_900\n },\n highlight: {\n 0: COLOR_DARK_HIGHLIGHT_0,\n 50: COLOR_DARK_HIGHLIGHT_50,\n 100: COLOR_DARK_HIGHLIGHT_100,\n 200: COLOR_DARK_HIGHLIGHT_200,\n 300: COLOR_DARK_HIGHLIGHT_300,\n 400: COLOR_DARK_HIGHLIGHT_400,\n 500: COLOR_DARK_HIGHLIGHT_500,\n 600: COLOR_DARK_HIGHLIGHT_600,\n 700: COLOR_DARK_HIGHLIGHT_700,\n 800: COLOR_DARK_HIGHLIGHT_800,\n 900: COLOR_DARK_HIGHLIGHT_900\n },\n neutral: {\n 0: COLOR_DARK_NEUTRAL_0,\n 50: COLOR_DARK_NEUTRAL_50,\n 100: COLOR_DARK_NEUTRAL_100,\n 200: COLOR_DARK_NEUTRAL_200,\n 300: COLOR_DARK_NEUTRAL_300,\n 400: COLOR_DARK_NEUTRAL_400,\n 500: COLOR_DARK_NEUTRAL_500,\n 600: COLOR_DARK_NEUTRAL_600,\n 700: COLOR_DARK_NEUTRAL_700,\n 800: COLOR_DARK_NEUTRAL_800,\n 900: COLOR_DARK_NEUTRAL_900\n }\n }\n },\n fontFamily: FONT_FAMILY,\n typography: {\n headline1: {\n fontFamily: TYPOGRAPHY_HEADLINE1_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE1_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE1_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE1_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE1_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE1_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE1_TEXT_TRANSFORM\n },\n headline2: {\n fontFamily: TYPOGRAPHY_HEADLINE2_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE2_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE2_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE2_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE2_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE2_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE2_TEXT_TRANSFORM\n },\n headline3: {\n fontFamily: TYPOGRAPHY_HEADLINE3_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE3_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE3_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE3_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE3_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE3_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE3_TEXT_TRANSFORM\n },\n headline4: {\n fontFamily: TYPOGRAPHY_HEADLINE4_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE4_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE4_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE4_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE4_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE4_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE4_TEXT_TRANSFORM\n },\n headline5: {\n fontFamily: TYPOGRAPHY_HEADLINE5_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE5_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE5_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE5_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE5_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE5_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE5_TEXT_TRANSFORM\n },\n headline6: {\n fontFamily: TYPOGRAPHY_HEADLINE6_FONT_FAMILY,\n fontSize: TYPOGRAPHY_HEADLINE6_FONT_SIZE,\n lineHeight: TYPOGRAPHY_HEADLINE6_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_HEADLINE6_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_HEADLINE6_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_HEADLINE6_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_HEADLINE6_TEXT_TRANSFORM\n },\n body1: {\n fontFamily: TYPOGRAPHY_BODY1_FONT_FAMILY,\n fontSize: TYPOGRAPHY_BODY1_FONT_SIZE,\n lineHeight: TYPOGRAPHY_BODY1_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_BODY1_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_BODY1_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_BODY1_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_BODY1_TEXT_TRANSFORM\n },\n body2: {\n fontFamily: TYPOGRAPHY_BODY2_FONT_FAMILY,\n fontSize: TYPOGRAPHY_BODY2_FONT_SIZE,\n lineHeight: TYPOGRAPHY_BODY2_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_BODY2_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_BODY2_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_BODY2_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_BODY2_TEXT_TRANSFORM\n },\n button: {\n fontFamily: TYPOGRAPHY_BUTTON_FONT_FAMILY,\n fontSize: TYPOGRAPHY_BUTTON_FONT_SIZE,\n lineHeight: TYPOGRAPHY_BUTTON_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_BUTTON_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_BUTTON_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_BUTTON_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_BUTTON_TEXT_TRANSFORM\n }\n },\n layout: {\n radius: LAYOUT_RADIUS,\n space: LAYOUT_SPACE,\n thickness: LAYOUT_THICKNESS\n },\n elevation: {\n light: {\n light: ELEVATION_LIGHT_LIGHT,\n semilight: ELEVATION_LIGHT_SEMILIGHT,\n regular: ELEVATION_LIGHT_REGULAR,\n semibold: ELEVATION_LIGHT_SEMIBOLD,\n bold: ELEVATION_LIGHT_BOLD,\n extrabold: ELEVATION_LIGHT_EXTRABOLD,\n none: ELEVATION_NONE\n },\n dark: {\n light: ELEVATION_DARK_LIGHT,\n semilight: ELEVATION_DARK_SEMILIGHT,\n regular: ELEVATION_DARK_REGULAR,\n semibold: ELEVATION_DARK_SEMIBOLD,\n bold: ELEVATION_DARK_BOLD,\n extrabold: ELEVATION_DARK_EXTRABOLD,\n none: ELEVATION_NONE\n }\n }\n });\n\n export const COSMOPOLITAN_THEME_PALETTES = [VARIANT_PRIMARY, VARIANT_SECONDARY, VARIANT_TERTIARY];\n\n export const COSMOPOLITAN_THEME_PALETTE_VARIANTS = ['0', '50', '100', '200', '300', '400', '500', '600', '700', '800', '900'];\n\n export const COSMOPOLITAN_THEME_SCHEMES = ['light', 'dark'];\n\n export const COSMOPOLITAN_THEME_SCHEME_VARIANTS = ['surface', 'background', 'foreground', 'highlight', 'middlelight', 'lowlight', 'transparent', 'semiTransparent', 'disabled', 'contrast', 'selection'];\n\n export const COSMOPOLITAN_THEME_ELEVATION = ['light', 'dark'];\n\n export const COSMOPOLITAN_THEME_ELEVATION_VARIANTS = [ELEVATION_KEY_LIGHT, ELEVATION_KEY_SEMILIGHT, ELEVATION_KEY_REGULAR, ELEVATION_KEY_SEMIBOLD, ELEVATION_KEY_BOLD, ELEVATION_KEY_EXTRABOLD];\n\n export const COSMOPOLITAN_THEME_TYPOGRAPHY = [TYPOGRAPHY_KEY_HEADLINE1, TYPOGRAPHY_KEY_HEADLINE2, TYPOGRAPHY_KEY_HEADLINE3, TYPOGRAPHY_KEY_HEADLINE4, TYPOGRAPHY_KEY_HEADLINE5, TYPOGRAPHY_KEY_HEADLINE6, TYPOGRAPHY_KEY_BODY1, TYPOGRAPHY_KEY_BODY2, TYPOGRAPHY_KEY_BUTTON];\n\n export const COSMOPOLITAN_THEME_METADATA: IThemeMetadata = {\n theme: COSMOPOLITAN_THEME,\n palettes: COSMOPOLITAN_THEME_PALETTES,\n paletteVariants: COSMOPOLITAN_THEME_PALETTE_VARIANTS,\n schemes: COSMOPOLITAN_THEME_SCHEMES,\n schemeVariants: COSMOPOLITAN_THEME_SCHEME_VARIANTS,\n elevation: COSMOPOLITAN_THEME_ELEVATION,\n elevationVariants: COSMOPOLITAN_THEME_ELEVATION_VARIANTS,\n typographies: COSMOPOLITAN_THEME_TYPOGRAPHY\n };\n\n}\n","/**\n * @public\n */\nexport type CssAspectRatio = 'auto' | `${number}` | `${number}/${number}`;\n\n/**\n * @public\n */\nexport namespace CssAspectRatio {\n\n /**\n * @public\n */\n export function isCssAspectRatio(value: unknown): value is CssAspectRatio {\n if (typeof value === 'string') {\n if (value.trim() === '') {\n return false;\n }\n\n if (value === 'auto') {\n return true;\n }\n\n const ratioParts = value.split('/');\n if (ratioParts.length === 1) {\n // Check if it's a single number\n return !isNaN(Number(ratioParts[0])) && Number(ratioParts[0]) >= 0;\n }\n if (ratioParts.length === 2) {\n // Check if both parts are numbers\n return !isNaN(Number(ratioParts[0])) && Number(ratioParts[0]) >= 0 && !isNaN(Number(ratioParts[1])) && Number(ratioParts[1]) >= 0;\n }\n }\n\n return false;\n }\n\n}\n","/**\n * @public\n */\nexport type CssRGBColor = `rgb(${number}, ${number}, ${number})`;\n\n/**\n * @public\n */\nexport type CssRGBAColor = `rgba(${number}, ${number}, ${number}, ${number})`;\n\n/**\n * @public\n */\nexport type CssHEXColor = `#${string}`;\n\n/**\n * @public\n */\nexport type CssNameColor = 'aliceblue' | 'antiquewhite' | 'aqua' | 'aquamarine' | 'azure' | 'beige' | 'bisque' | 'black' | 'blanchedalmond' | 'blue' | 'blueviolet' | 'brown' | 'burlywood' | 'cadetblue' | 'chartreuse' | 'chocolate' | 'coral' | 'cornflowerblue' | 'cornsilk' | 'crimson' | 'cyan' | 'darkblue' | 'darkcyan' | 'darkgoldenrod' | 'darkgray' | 'darkgreen' | 'darkgrey' | 'darkkhaki' | 'darkmagenta' | 'darkolivegreen' | 'darkorange' | 'darkorchid' | 'darkred' | 'darksalmon' | 'darkseagreen' | 'darkslateblue' | 'darkslategray' | 'darkslategrey' | 'darkturquoise' | 'darkviolet' | 'deeppink' | 'deepskyblue' | 'dimgray' | 'dimgrey' | 'dodgerblue' | 'firebrick' | 'floralwhite' | 'forestgreen' | 'fuchsia' | 'gainsboro' | 'ghostwhite' | 'gold' | 'goldenrod' | 'gray' | 'green' | 'greenyellow' | 'grey' | 'honeydew' | 'hotpink' | 'indianred' | 'indigo' | 'ivory' | 'khaki' | 'lavender' | 'lavenderblush' | 'lawngreen' | 'lemonchiffon' | 'lightblue' | 'lightcoral' | 'lightcyan' | 'lightgoldenrodyellow' | 'lightgray' | 'lightgreen' | 'lightgrey' | 'lightpink' | 'lightsalmon' | 'lightseagreen' | 'lightskyblue' | 'lightslategray' | 'lightslategrey' | 'lightsteelblue' | 'lightyellow' | 'lime' | 'limegreen' | 'linen' | 'magenta' | 'maroon' | 'mediumaquamarine' | 'mediumblue' | 'mediumorchid' | 'mediumpurple' | 'mediumseagreen' | 'mediumslateblue' | 'mediumspringgreen' | 'mediumturquoise' | 'mediumvioletred' | 'midnightblue' | 'mintcream' | 'mistyrose' | 'moccasin' | 'navajowhite' | 'navy' | 'oldlace' | 'olive' | 'olivedrab' | 'orange' | 'orangered' | 'orchid' | 'palegoldenrod' | 'palegreen' | 'paleturquoise' | 'palevioletred' | 'papayawhip' | 'peachpuff' | 'peru' | 'pink' | 'plum' | 'powderblue' | 'purple' | 'rebeccapurple' | 'red' | 'rosybrown' | 'royalblue' | 'saddlebrown' | 'salmon' | 'sandybrown' | 'seagreen' | 'seashell' | 'sienna' | 'silver' | 'skyblue' | 'slateblue' | 'slategray' | 'slategrey' | 'snow' | 'springgreen' | 'steelblue' | 'tan' | 'teal' | 'thistle' | 'tomato' | 'transparent' | 'turquoise' | 'violet' | 'wheat' | 'white' | 'whitesmoke' | 'yellow' | 'yellowgreen';\n\n/**\n * @public\n */\nexport type CssColor = CssRGBColor | CssRGBAColor | CssHEXColor;\n\n/**\n * @public\n */\nexport namespace CssColor {\n\n /**\n * @public\n */\n export function isCssColor(value: unknown): value is CssColor {\n if (typeof value !== 'string') {\n return false;\n }\n\n if (value.trim() === '') {\n return false;\n }\n\n const rgbRegex = /^rgb\\(\\d{1,3},\\s*\\d{1,3},\\s*\\d{1,3}\\)$/;\n const rgbaRegex = /^rgba\\(\\d{1,3},\\s*\\d{1,3},\\s*\\d{1,3},\\s*(0(\\.\\d+)?|1(\\.0+)?)\\)$/;\n const hexRegex = /^#[0-9a-fA-F]{3,6}$/;\n\n return rgbRegex.test(value) || rgbaRegex.test(value) || hexRegex.test(value);\n }\n\n}\n","/**\n * @public\n */\nexport type CssLengthUnit = 'em' | 'ex' | 'ch' | 'rem' | 'vh' | 'vw' | 'vmin' | 'vmax' | 'px' | 'mm' | 'cm' | 'in' | 'pt' | 'pc' | 'mozmm';\n\n/**\n * @public\n */\nexport type CssNumber = `${number}${CssLengthUnit}` | number;\n\n/**\n * @public\n */\nexport type CssLength = `${number}${CssLengthUnit | '%'}` | CssNumber | 'auto';\n\nexport namespace CssLength {\n\n /**\n * Determines whether the given value is a valid CSS length.\n *\n * @public\n * @param value - The value to check.\n * @returns `true` if the value is a valid CSS length; otherwise, `false`.\n */\n export function isCssLength(value: unknown): value is CssLength {\n if (typeof value === 'number' || value === 'auto') {\n return true;\n }\n\n if (typeof value !== 'string') {\n return false;\n }\n\n if (value.trim() === '') {\n return false;\n }\n\n const lengthRegex = /^-?\\d+(\\.\\d+)?(em|ex|ch|rem|vh|vw|vmin|vmax|px|mm|cm|in|pt|pc|mozmm|%)/;\n\n return lengthRegex.test(value);\n }\n\n /**\n * Determines whether the given value is 'auto'.\n *\n * @public\n * @param value - The value to check.\n * @returns `true` if the value is 'auto'; otherwise, `false`.\n */\n export function isAuto(value: unknown): value is Extract<CssLength, 'auto'> {\n return value === 'auto';\n }\n\n /**\n * Determines whether the given value is a percentage CSS length.\n *\n * @public\n * @param value - The value to check.\n * @returns `true` if the value is a percentage; otherwise, `false`.\n */\n export function isPercentage(value: unknown): value is `${number}%` {\n if (typeof value !== 'string') {\n return false;\n }\n\n if (value.trim() === '') {\n return false;\n }\n\n const percentageRegex = /^-?\\d+(\\.\\d+)?%/;\n\n return percentageRegex.test(value);\n }\n\n /**\n * Determines whether the given value is a valid CSS length with units (excluding percentages).\n *\n * @public\n * @param value - The value to check.\n * @returns `true` if the value is a valid CSS length with units; otherwise, `false`.\n */\n export function isLength(value: unknown): value is `${number}${CssLengthUnit}` {\n if (typeof value !== 'string') {\n return false;\n }\n\n if (value.trim() === '') {\n return false;\n }\n\n const lengthRegex = /^-?\\d+(\\.\\d+)?(em|ex|ch|rem|vh|vw|vmin|vmax|px|mm|cm|in|pt|pc|mozmm)/;\n\n return lengthRegex.test(value);\n }\n\n /**\n * Converts a `CssLength` to a number.\n * Only works for numeric values without units.\n *\n * @public\n * @param value - The `CssLength` value to convert.\n * @returns The numeric value.\n * @throws Error if the value is not a number.\n */\n export function toNumber(value: CssLength): number {\n if (typeof value === 'number') {\n return value;\n }\n\n if (value === 'auto') {\n throw new Error('Cannot convert \"auto\" to a number.');\n }\n\n const match = (/^-?\\d*\\.?\\d+/).exec(value);\n if (!match) {\n throw new Error(`Invalid CSS length: ${value}`);\n }\n\n return parseFloat(match[0]);\n }\n\n /**\n * Converts a `CssLength` to a string representation.\n * Numbers are treated as pixels.\n *\n * @public\n * @param value - The `CssLength` value to convert.\n * @param defaultUnit - The default unit to use if the value is a number.\n * @returns The string representation of the `CssLength`.\n */\n export function toString(value?: CssLength, defaultUnit: CssLengthUnit = 'px'): string {\n if (value === undefined || value === null) {\n return '';\n }\n\n if (typeof value === 'number') {\n return `${value}${defaultUnit}`;\n }\n\n return value;\n }\n\n /**\n * Extracts the unit from a CSS length string.\n *\n * @public\n * @param cssLength - The CSS length string to extract the unit from.\n * @returns The unit as a `CssLengthUnit`.\n * @throws Error if the input is not a valid CSS length.\n */\n export function extractUnit(cssLength: `${number}${CssLengthUnit | '%'}`): CssLengthUnit {\n const match = (/[a-z%]+$/i).exec(cssLength);\n const lengt = match ? (match[0] as CssLengthUnit) : null;\n\n if (lengt === null) {\n throw new Error(`Invalid value: ${cssLength}`);\n }\n\n return lengt;\n }\n\n /**\n * Extracts the numeric value from a CSS length string.\n *\n * @public\n * @param cssLength - The CSS length string to extract the value from.\n * @returns The numeric value as a number.\n * @throws Error if the input is not a valid CSS length.\n */\n export function extractValue(cssLength: `${number}${CssLengthUnit | '%'}`): number {\n const match = (/^-?\\d*\\.?\\d+/).exec(cssLength);\n const value = match ? parseFloat(match[0]) : null;\n\n if (value === null) {\n throw new Error(`Invalid value: ${cssLength}`);\n }\n\n return value;\n }\n\n /**\n * Converts pixel values to rem units.\n *\n * @public\n * @param pixel - The pixel value to convert.\n * @returns The converted value in rem units.\n */\n export function pxToRem(pixel: `${number}${Extract<CssLengthUnit, 'px'>}`): string {\n const value = extractValue(pixel);\n const baseSize = 16; // Default font size in pixels\n const sizeInRem = `${value / baseSize}rem`;\n return sizeInRem;\n }\n\n /**\n * Tries to parse a value into a `CssLength`.\n *\n * @public\n * @param value - The value to parse.\n * @param defaultUnit - The default unit to use if the value is a string without a unit.\n * @returns The parsed `CssLength` or `undefined` if parsing fails.\n */\n export function tryParse(value: unknown, defaultUnit: CssLengthUnit = 'px'): CssLength | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n if (typeof value === 'string') {\n if (isLength(value)) {\n return value;\n }\n\n if (value.trim() === '') {\n return undefined;\n }\n\n return `${value}${defaultUnit}` as CssLength;\n }\n\n if (typeof value === 'number') {\n return `${String(value)}${defaultUnit}` as CssLength;\n }\n\n return undefined;\n }\n\n}\n","// #region Imports\n\nimport type { CssColor } from './CssColor';\nimport type { CssLengthUnit } from './CssLength';\n\n// #endregion\n\n/**\n * Represents a valid CSS box-shadow value (single or multiple).\n *\n * @public\n */\nexport type CssShadowSingle =\n | 'none'\n | `${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${CssColor}`\n | `inset ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${CssColor}`\n | `${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${CssColor}`\n | `inset ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${CssColor}`\n | `${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${CssColor}`\n | `inset ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${`${number}${Extract<CssLengthUnit, 'px'>}`} ${CssColor}`;\n\n/**\n * Represents a valid CSS box-shadow value, including multiple shadows.\n *\n * @public\n */\nexport type CssShadow = CssShadowSingle | `${CssShadowSingle}, ${CssShadowSingle}` | `${CssShadowSingle}, ${CssShadowSingle}, ${CssShadowSingle}`;\n\n/**\n * @public\n */\nexport namespace CssShadow {\n\n /**\n * Checks if the given value is a valid CSS box-shadow (single or multiple).\n *\n * @param value - The value to check.\n * @returns `true` if the value is a valid CSS box-shadow, otherwise `false`.\n */\n export function isCssShadow(value: unknown): value is CssShadow {\n if (typeof value !== 'string') {\n return false;\n }\n\n if (value.trim() === '') {\n return false;\n }\n\n if (value === 'none') {\n return true;\n }\n\n // Split multiple shadows by comma\n const shadows = value.split(/\\s*,\\s*/);\n\n return shadows.every(isCssShadowSingle);\n }\n\n /**\n * Checks if a single value is a valid CSS box-shadow (without multiple shadows).\n *\n * @param value - The value to check.\n * @returns `true` if the value is a valid single CSS box-shadow, otherwise `false`.\n */\n function isCssShadowSingle(value: string): boolean {\n const shadowRegex = new RegExp(\n '^' +\n '(inset\\\\s+)?' + // Optional \"inset\"\n '(-?\\\\d+(\\\\.\\\\d+)?(px|em|rem|vh|vw|%)?)\\\\s+' + // X-offset\n '(-?\\\\d+(\\\\.\\\\d+)?(px|em|rem|vh|vw|%)?)\\\\s+' + // Y-offset\n '(-?\\\\d+(\\\\.\\\\d+)?(px|em|rem|vh|vw|%)?)?\\\\s*' + // Optional Blur-radius\n '(-?\\\\d+(\\\\.\\\\d+)?(px|em|rem|vh|vw|%)?)?\\\\s*' + // Optional Spread-radius\n '(rgba?\\\\(\\\\d{1,3},\\\\s*\\\\d{1,3},\\\\s*\\\\d{1,3}(,\\\\s*(0|1|0?\\\\.\\\\d+))?\\\\)|#[0-9a-fA-F]{3,6})$', // Color (RGB, RGBA, HEX)\n 'i'\n );\n\n return shadowRegex.test(value);\n }\n}\n","/**\n * @public\n */\nexport type CssTimeUnit = 's' | 'ms';\n\n/**\n * @public\n */\nexport type CssTime = `${string}${CssTimeUnit}` | number | 0;\n\n/**\n * @public\n */\nexport namespace CssTime {\n\n /**\n * @public\n */\n export function isCssTime(value: unknown): value is CssTime {\n if (typeof value === 'number' || value === 0) {\n return true;\n }\n\n if (typeof value !== 'string') {\n return false;\n }\n\n if (value.trim() === '') {\n return false;\n }\n\n const timeRegex = /^-?\\d+(\\.\\d+)?(s|ms)/;\n\n return timeRegex.test(value);\n }\n\n}\n","// #region Imports\n\nimport type { CssColor } from './CssColor';\n\n// #endregion\n\n/**\n * Represents the shade names available in a theme palette.\n *\n * @public\n */\nexport type ThemeShadeName = '0' | '50' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900';\n\n/**\n * Represents a dynamic theme palette.\n *\n * @public\n */\nexport type ThemePalette = Partial<Record<ThemeShadeName, CssColor>>;\n\n/**\n * @public\n */\nexport namespace ThemePalette {\n\n const THEME_SHADE_NAMES: ReadonlyArray<ThemeShadeName> = ['0', '50', '100', '200', '300', '400', '500', '600', '700', '800', '900'];\n\n /**\n * Checks if the value is a theme shade name.\n *\n * @private\n * @param value - The value to check.\n * @returns The result.\n */\n function isThemeShadeName(value: string): value is ThemeShadeName {\n return THEME_SHADE_NAMES.includes(value as ThemeShadeName);\n }\n\n /**\n * Checks if the value is a theme palette.\n *\n * @public\n * @param value - The value to check.\n * @returns The result.\n */\n export function isThemePalette(value: unknown): value is ThemePalette {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n\n return Object.keys(value).every((key) => isThemeShadeName(key) && typeof (value as Record<string, unknown>)[key] === 'string');\n }\n\n}\n","// #region Imports\n\nimport type { ThemeScheme, ThemeSchemeRole } from './ThemeScheme';\nimport { ThemePalette, type ThemeShadeName } from './ThemePalette';\nimport type { IThemeElevation } from './IThemeElevation';\nimport type { IThemeLayout } from './IThemeLayout';\nimport type { ThemeTypography } from './ThemeTypography';\nimport type { CssColor } from './CssColor';\nimport type { ThemeMode } from './ThemeMode';\nimport type { ThemeSemantic, ThemeSemanticName } from './ThemeSemantic';\n\n// #endregion\n\n/**\n * Represents a dynamic theme system.\n *\n * @public\n */\nexport interface ITheme {\n\n /**\n * Human-readable theme name.\n */\n name: string;\n\n /**\n * Theme color schemes.\n *\n * ThemeMode → ThemeScheme\n */\n scheme: Readonly<Record<ThemeMode, ThemeScheme>>;\n\n /**\n * Theme color palettes.\n *\n * ThemeMode → Semantic Color → ThemePalette | CssColor\n */\n palette: Readonly<Record<ThemeMode, ThemeSemantic>>;\n\n /**\n * Base font family.\n */\n fontFamily: string;\n\n /**\n * Typography definition.\n */\n typography: ThemeTypography;\n\n /**\n * Layout definition.\n */\n layout: IThemeLayout;\n\n /**\n * Elevation definitions.\n */\n elevation: Readonly<Record<string, IThemeElevation>>;\n}\n\n/**\n * @public\n */\nexport namespace ITheme {\n\n export function getScheme(\n theme: ITheme,\n mode: ThemeMode\n ): ThemeScheme {\n return theme.scheme[mode];\n }\n\n export function getSchemeColor(\n theme: ITheme,\n mode: ThemeMode,\n role: ThemeSchemeRole\n ): CssColor {\n const scheme = theme.scheme[mode];\n const color = scheme[role];\n\n if (typeof color !== 'string') {\n throw new Error(`Scheme color '${role}' is not defined for mode '${mode}'.`);\n }\n\n return color;\n }\n\n export function getPalette(\n theme: ITheme,\n mode: ThemeMode,\n semanticColor: ThemeSemanticName\n ): ThemePalette {\n const paletteEntry = theme.palette[mode][semanticColor];\n\n if (!ThemePalette.isThemePalette(paletteEntry)) {\n throw new Error(\n `Palette '${semanticColor}' is not a valid theme palette for mode '${mode}'.`\n );\n }\n\n return paletteEntry;\n }\n\n export function getPaletteColor(\n theme: ITheme,\n mode: ThemeMode,\n semanticColor: ThemeSemanticName,\n shade: ThemeShadeName\n ): CssColor {\n const palette = getPalette(theme, mode, semanticColor);\n const color = palette[shade];\n\n if (typeof color !== 'string') {\n throw new Error(\n `Shade '${shade}' is not defined in palette '${semanticColor}' for mode '${mode}'.`\n );\n }\n\n return color;\n }\n}\n","// #region Imports\n\nimport type { CssColor } from './CssColor';\n\n// #endregion\n\n/**\n * Represents the roles available in a theme scheme.\n *\n * @public\n */\nexport type ThemeSchemeRole = | 'surface' | 'background' | 'foreground' | 'highlight' | 'middlelight' | 'lowlight' | 'transparent' | 'semiTransparent' | 'disabled' | 'contrast' | 'selection';\n\n/**\n * Represents a semantic color scheme.\n *\n * ThemeSchemeRole → CssColor\n *\n * @public\n */\nexport type ThemeScheme = Readonly<Partial<Record<ThemeSchemeRole, CssColor>>>;\n\n/**\n * @public\n */\nexport namespace ThemeScheme {\n\n const ROLES: ReadonlyArray<ThemeSchemeRole> = ['surface', 'background', 'foreground', 'highlight', 'middlelight', 'lowlight', 'transparent', 'semiTransparent', 'disabled', 'contrast', 'selection'];\n\n function isRole(value: string): value is ThemeSchemeRole {\n return ROLES.includes(value as ThemeSchemeRole);\n }\n\n /**\n * Checks whether a value is a ThemeScheme.\n */\n export function isThemeScheme(value: unknown): value is ThemeScheme {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n\n return Object.entries(value).every(\n ([key, color]) => isRole(key) && typeof color === 'string'\n );\n }\n}\n","import type { IPlatformAdapter } from './interfaces/IPlatformAdapter';\n\n/**\n * Browser implementation of the platform adapter.\n * Uses native DOM APIs (window, document, MutationObserver).\n *\n * @public\n */\nexport class BrowserPlatformAdapter implements IPlatformAdapter {\n\n // #region Methods\n\n public matchMedia(query: string): boolean {\n return window.matchMedia(query).matches;\n }\n\n public setDocumentAttribute(name: string, value: string): void {\n document.documentElement.setAttribute(name, value);\n }\n\n public getDocumentAttribute(name: string): string | null {\n return document.documentElement.getAttribute(name);\n }\n\n public observeDocumentAttributes(\n attributes: Array<string>,\n callback: (attributeName: string, newValue: string | null) => void\n ): () => void {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.type === 'attributes' && mutation.attributeName) {\n const newValue = document.documentElement.getAttribute(mutation.attributeName);\n callback(mutation.attributeName, newValue);\n }\n });\n });\n\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: attributes\n });\n\n // Return unsubscribe function\n return () => observer.disconnect();\n }\n\n // #endregion\n\n}\n","import type { IPlatformAdapter } from './interfaces/IPlatformAdapter';\n\n/**\n * Node.js implementation of the platform adapter.\n * No-op implementation that doesn't crash but does nothing.\n *\n * @public\n */\nexport class NodePlatformAdapter implements IPlatformAdapter {\n\n // #region Methods\n\n public matchMedia(_query: string): boolean {\n // Default to light mode in Node.js\n return false;\n }\n\n public setDocumentAttribute(_name: string, _value: string): void {\n // No-op in Node.js\n }\n\n public getDocumentAttribute(_name: string): string | null {\n // No attributes available in Node.js\n return null;\n }\n\n public observeDocumentAttributes(\n _attributes: Array<string>,\n _callback: (attributeName: string, newValue: string | null) => void\n ): () => void {\n // No observation possible in Node.js, return no-op unsubscribe\n return () => { };\n }\n\n // #endregion\n\n}\n","import type { IPlatformAdapter } from './interfaces/IPlatformAdapter';\nimport { BrowserPlatformAdapter } from './BrowserPlatformAdapter';\nimport { NodePlatformAdapter } from './NodePlatformAdapter';\n\n/**\n * Factory that automatically detects the environment and returns the appropriate adapter.\n *\n * @public\n */\nexport class PlatformAdapterFactory {\n\n // #region Methods\n\n /**\n * Creates the appropriate platform adapter based on the current environment.\n * Automatically detects if running in browser or Node.js.\n *\n * @public\n */\n public static create(): IPlatformAdapter {\n // Check if we're in a browser environment\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n return new BrowserPlatformAdapter();\n }\n\n // Fallback to Node.js adapter\n return new NodePlatformAdapter();\n }\n\n // #endregion\n\n}\n","// #region Imports\n\nimport { type IEventEmitter, PureEventEmitter } from '@breadstone/mosaik-elements';\nimport type { IPlatformAdapter } from './Adapters/interfaces/IPlatformAdapter';\nimport { PlatformAdapterFactory } from './Adapters/PlatformAdapterFactory';\nimport type { ThemeMode, ThemeModeWithSystem } from './Utils/ThemeMode';\n\n// #endregion\n\n/**\n * Checks if the given value is a theme mode.\n *\n * @public\n */\nexport function isThemeMode(value: unknown): value is ThemeMode {\n return value === 'system' || value === 'dark' || value === 'light';\n}\n\n/**\n * Observer for applying themes.\n *\n * @public\n */\nexport class ThemeObserver {\n\n // #region Fields\n\n private readonly _themeChanged: PureEventEmitter<string>;\n private readonly _themeModeChanged: PureEventEmitter<ThemeMode>;\n private readonly _platformAdapter: IPlatformAdapter;\n private _currentTheme: string | null;\n private _currentThemeMode: ThemeMode | null;\n private _unsubscribe?: () => void;\n\n // #region Ctor\n\n /**\n * Constructs a new instance of the `ThemeObserver` class.\n *\n * @param platformAdapter - Optional platform adapter. Auto-detects if not provided.\n * @public\n */\n public constructor(platformAdapter?: IPlatformAdapter) {\n this._themeChanged = new PureEventEmitter<string>();\n this._themeModeChanged = new PureEventEmitter<ThemeMode>();\n this._platformAdapter = platformAdapter ?? PlatformAdapterFactory.create();\n this._currentTheme = null;\n this._currentThemeMode = null;\n\n this.observe({\n themeChange: (theme) => this._themeChanged.emit(theme),\n themeModeChange: (themeMode) => this._themeModeChanged.emit(themeMode)\n });\n }\n\n // #endregion\n\n // #region Properties\n\n /**\n * Fires when the theme changes.\n *\n * @public\n * @readonly\n */\n public get themeChanged(): IEventEmitter<string> {\n return this._themeChanged;\n }\n\n /**\n * Fires when the theme mode changes.\n *\n * @public\n * @readonly\n */\n public get themeModeChanged(): IEventEmitter<ThemeMode> {\n return this._themeModeChanged;\n }\n\n // #endregion\n\n // #region Methods\n\n /**\n * Applies the given theme and theme mode to the document.\n *\n * @public\n * @param theme - The theme to apply (joy, cosmopolitan or memphis).\n * @param themeMode - The theme mode to apply.\n */\n public applyTheme(theme: string, themeMode: ThemeModeWithSystem): void {\n this._platformAdapter.setDocumentAttribute('theme', theme);\n\n switch (themeMode) {\n case 'dark':\n case 'light':\n this._platformAdapter.setDocumentAttribute('theme-mode', themeMode);\n break;\n case 'system':\n default:\n const isDark = this._platformAdapter.matchMedia('(prefers-color-scheme: dark)');\n this._platformAdapter.setDocumentAttribute('theme-mode', isDark ? 'dark' : 'light');\n break;\n }\n }\n\n public dispose(): void {\n if (this._unsubscribe) {\n this._unsubscribe();\n this._unsubscribe = undefined;\n }\n }\n\n private observe(cb: {\n themeChange: (theme: string) => void;\n themeModeChange: (themeMode: ThemeMode) => void;\n }): void {\n this._currentTheme = this._platformAdapter.getDocumentAttribute('theme');\n this._currentThemeMode = this._platformAdapter.getDocumentAttribute('theme-mode') as ThemeMode | null;\n\n this._unsubscribe = this._platformAdapter.observeDocumentAttributes(\n ['theme', 'theme-mode'],\n (attributeName, newValue) => {\n if (attributeName === 'theme' && newValue) {\n const theme = newValue;\n\n if (this._currentTheme !== theme) {\n this._currentTheme = theme;\n cb.themeChange(theme);\n }\n }\n\n if (attributeName === 'theme-mode') {\n const themeMode = newValue as ThemeMode;\n\n if (!isThemeMode(themeMode)) {\n throw new Error(`Invalid theme mode: ${String(themeMode)}`);\n }\n\n if (this._currentThemeMode !== themeMode) {\n this._currentThemeMode = themeMode;\n cb.themeModeChange(themeMode);\n }\n }\n }\n );\n }\n\n // #endregion\n\n}\n\n/**\n * @public\n */\nexport class ThemeObserverServiceLocator {\n\n // #region Fields\n\n private static _current: ThemeObserver | null = null;\n\n // #endregion\n\n // #region Properties\n\n public static get current(): ThemeObserver {\n if (!ThemeObserverServiceLocator.isSet()) {\n throw new Error('\\'ThemeObserver\\' not set.');\n }\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return ThemeObserverServiceLocator._current!;\n }\n\n // #endregion\n\n // #region Methods\n\n public static isSet(): boolean {\n return ThemeObserverServiceLocator._current !== null;\n }\n\n public static set(current: ThemeObserver): void {\n ThemeObserverServiceLocator._current = current;\n }\n\n // #endregion\n\n}\n\nThemeObserverServiceLocator.set(new ThemeObserver());\n","// #region Imports\n\nimport chroma from 'chroma-js';\nimport type { CssColor } from '../Utils/CssColor';\nimport type { ThemePalette } from '../Utils/ThemePalette';\nimport type { ThemeScheme } from '../Utils/ThemeScheme';\nimport type { IThemeGeneratorStrategy } from './interfaces/IThemeGeneratorStrategy';\nimport type { ThemeGeneratorFactoryFn } from './interfaces/IThemeGeneratorFactory';\n\n// #endregion\n\n/**\n * Material Design theme generator strategy.\n *\n * @public\n */\nexport class MaterialThemeGeneratorStrategy implements IThemeGeneratorStrategy {\n\n // #region Ctor\n\n public constructor() {\n }\n\n // #endregion\n\n // #region Methods\n\n /**\n * Generates a color palette for the Material theme.\n *\n * @public\n * @param baseColor The base/accent color.\n * @param mode 'light' or 'dark' mode.\n * @returns The generated theme palette.\n */\n public generatePalette(baseColor: CssColor, mode: 'dark' | 'light'): ThemePalette {\n if (mode === 'light') {\n const baseLight = chroma('#ffffff');\n const baseDark = chroma('#000000');\n const palette: Record<string, CssColor> = {};\n const steps = [0, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900];\n const amounts = [0, 12, 30, 50, 70, 85, 100, 87, 70, 54, 25];\n\n steps.forEach((step, i) => {\n const base = step <= 500 ? baseLight : baseDark;\n palette[`${step}`] = chroma.mix(base, baseColor, amounts[i] / 100, 'rgb').hex() as CssColor;\n });\n\n return palette;\n }\n\n const baseLight = chroma('#ffffff');\n const baseDark = chroma('#000000');\n const palette: Record<string, CssColor> = {};\n const steps = [0, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900];\n const amounts = [0, 15, 30, 45, 60, 75, 90, 100, 70, 54, 25];\n\n steps.forEach((step, i) => {\n const base = step <= 600 ? baseDark : baseLight;\n palette[`${step}`] = chroma.mix(base, baseColor, amounts[i] / 100, 'rgb').hex() as CssColor;\n });\n\n return palette;\n }\n\n /**\n * Generates a semantic color scheme for Material theme usage, based on the generated palette.\n *\n * @public\n * @param baseColor The base/accent color.\n * @param mode 'light' or 'dark' mode.\n * @returns The generated theme scheme.\n */\n public generateScheme(baseColor: CssColor, mode: 'dark' | 'light'): ThemeScheme {\n const baseChroma = chroma(baseColor);\n const luminance = baseChroma.luminance();\n const isDarkBase = luminance < 0.3;\n\n /**\n * Intelligent color adjustment that prevents colors from becoming too dark.\n * For dark input colors, colors are lightened instead of darkened.\n */\n const adjustColor = (color: CssColor, targetAmount: number): CssColor => {\n const c = chroma(color);\n const currentLuminance = c.luminance();\n\n // If the color is too dark (luminance < 0.15) and we would darken it,\n // reverse direction and lighten instead\n if (currentLuminance < 0.15 && targetAmount < 0) {\n return c.brighten(Math.abs(targetAmount / 25.5)).hex() as CssColor;\n }\n\n // Normal adjustment\n if (targetAmount > 0) {\n return c.brighten(targetAmount / 25.5).hex() as CssColor;\n }\n\n const darkened = c.darken(Math.abs(targetAmount / 25.5));\n\n // Ensure we never reach black (luminance > 0.02)\n if (darkened.luminance() < 0.02) {\n return c.brighten(Math.abs(targetAmount / 50)).hex() as CssColor;\n }\n\n return darkened.hex() as CssColor;\n };\n\n return {\n surface: adjustColor(baseColor, mode === 'dark' ? -10 : 10),\n background: baseColor,\n foreground: adjustColor(baseColor, mode === 'dark' ? 190 : -190),\n highlight: adjustColor(baseColor, mode === 'dark' ? 30 : -30),\n middlelight: adjustColor(baseColor, isDarkBase ? 50 : -50),\n lowlight: adjustColor(baseColor, isDarkBase ? 80 : -80),\n transparent: `${baseColor}00` as CssColor,\n semiTransparent: `${baseColor}aa` as CssColor,\n disabled: adjustColor(baseColor, isDarkBase ? 40 : -40),\n contrast: adjustColor(baseColor, mode === 'dark' ? 190 : -190),\n selection: adjustColor(baseColor, mode === 'dark' ? 30 : -30)\n };\n }\n\n // #endregion\n\n}\n\n/**\n * Generates a Material theme generator strategy.\n *\n * @public\n */\nexport function createMaterialTheme(): ThemeGeneratorFactoryFn {\n const strategy = new MaterialThemeGeneratorStrategy();\n\n return () => strategy;\n}\n","// #region Imports\n\nimport type { CssColor } from '../../Utils/CssColor';\nimport type { ThemePalette } from '../../Utils/ThemePalette';\nimport type { ThemeScheme } from '../../Utils/ThemeScheme';\nimport type { ThemeGeneratorFactoryFn } from '../interfaces/IThemeGeneratorFactory';\nimport type { IThemeGeneratorStrategy } from '../interfaces/IThemeGeneratorStrategy';\nimport { MaterialThemeGeneratorStrategy } from '../MaterialThemeGeneratorStrategy';\n\n// #endregion\n\n/**\n * Joy UI theme generator strategy.\n * Uses the same generation logic as Material Design.\n *\n * @public\n */\nexport class JoyThemeGeneratorStrategy implements IThemeGeneratorStrategy {\n\n // #region Fields\n\n private readonly _materialStrategy: MaterialThemeGeneratorStrategy;\n\n // #endregion\n\n // #region Ctor\n\n public constructor() {\n this._materialStrategy = new MaterialThemeGeneratorStrategy();\n }\n\n // #endregion\n\n // #region Methods\n\n public generatePalette(baseColor: CssColor, mode: 'dark' | 'light'): ThemePalette {\n return this._materialStrategy.generatePalette(baseColor, mode);\n }\n\n public generateScheme(baseColor: CssColor, mode: 'dark' | 'light'): ThemeScheme {\n return this._materialStrategy.generateScheme(baseColor, mode);\n }\n\n // #endregion\n\n}\n\n/**\n * Generates a Joy theme generator strategy.\n *\n * @public\n */\nexport function createJoyTheme(): ThemeGeneratorFactoryFn {\n const strategy = new JoyThemeGeneratorStrategy();\n\n return () => strategy;\n}\n","// #region Imports\n\nimport type { CssColor } from '../../Utils/CssColor';\nimport type { ThemePalette } from '../../Utils/ThemePalette';\nimport type { ThemeScheme } from '../../Utils/ThemeScheme';\nimport type { ThemeGeneratorFactoryFn } from '../interfaces/IThemeGeneratorFactory';\nimport type { IThemeGeneratorStrategy } from '../interfaces/IThemeGeneratorStrategy';\nimport { MaterialThemeGeneratorStrategy } from '../MaterialThemeGeneratorStrategy';\n\n// #endregion\n\n/**\n * Memphis theme generator strategy.\n * Uses the same generation logic as Material Design.\n *\n * @public\n */\nexport class MemphisThemeGeneratorStrategy implements IThemeGeneratorStrategy {\n\n // #region Fields\n\n private readonly _materialStrategy: MaterialThemeGeneratorStrategy;\n\n // #endregion\n\n // #region Ctor\n\n public constructor() {\n this._materialStrategy = new MaterialThemeGeneratorStrategy();\n }\n\n // #endregion\n\n // #region Methods\n\n public generatePalette(baseColor: CssColor, mode: 'dark' | 'light'): ThemePalette {\n return this._materialStrategy.generatePalette(baseColor, mode);\n }\n\n public generateScheme(baseColor: CssColor, mode: 'dark' | 'light'): ThemeScheme {\n return this._materialStrategy.generateScheme(baseColor, mode);\n }\n\n // #endregion\n\n}\n\n/**\n * Generates a Memphis theme generator strategy.\n *\n * @public\n */\nexport function createMemphisTheme(): ThemeGeneratorFactoryFn {\n const strategy = new MemphisThemeGeneratorStrategy();\n\n return () => strategy;\n}\n","// #region Imports\n\nimport chroma from 'chroma-js';\nimport type { CssColor } from '../../Utils/CssColor';\nimport type { ThemePalette } from '../../Utils/ThemePalette';\nimport type { ThemeScheme } from '../../Utils/ThemeScheme';\nimport type { IThemeGeneratorStrategy } from '../interfaces/IThemeGeneratorStrategy';\nimport { MaterialThemeGeneratorStrategy } from '../MaterialThemeGeneratorStrategy';\nimport type { ThemeGeneratorFactoryFn } from '../interfaces/IThemeGeneratorFactory';\n\n// #endregion\n\n/**\n * Cosmopolitan theme generator strategy.\n *\n * @public\n */\nexport class CosmopolitanThemeGeneratorStrategy implements IThemeGeneratorStrategy {\n\n // #region Fields\n\n private readonly _materialStrategy: MaterialThemeGeneratorStrategy;\n\n // #endregion\n\n // #region Ctor\n\n public constructor() {\n this._materialStrategy = new MaterialThemeGeneratorStrategy();\n }\n\n // #endregion\n\n // #region Methods\n\n public generatePalette(baseColor: CssColor, mode: 'dark' | 'light'): ThemePalette {\n if (mode === 'light') {\n const baseLight = chroma('#ffffff');\n const baseDark = chroma('#000000');\n const palette: Record<string, CssColor> = {};\n const steps = [0, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900];\n const amounts = [0, 12, 30, 50, 70, 85, 100, 87, 70, 54, 25];\n\n steps.forEach((step, i) => {\n const base = step <= 500 ? baseLight : baseDark;\n palette[`${step}`] = chroma.mix(base, baseColor, amounts[i] / 100, 'rgb').hex() as CssColor;\n });\n\n return palette;\n }\n\n const baseLight = chroma('#ffffff');\n const baseDark = chroma('#000000');\n const palette: Record<string, CssColor> = {};\n const steps = [0, 100, 500];\n const amounts = [0, 30, 100];\n\n steps.forEach((step, i) => {\n const base = step <= 600 ? baseDark : baseLight;\n palette[`${step}`] = chroma.mix(base, baseColor, amounts[i] / 100, 'rgb').hex() as CssColor;\n });\n\n return palette;\n }\n\n public generateScheme(baseColor: CssColor, mode: 'dark' | 'light'): ThemeScheme {\n return this._materialStrategy.generateScheme(baseColor, mode);\n }\n\n // #endregion\n\n}\n\n/**\n * Generates a Cosmopolitan theme generator strategy.\n *\n * @public\n */\nexport function createCosmopolitanTheme(): ThemeGeneratorFactoryFn {\n const strategy = new CosmopolitanThemeGeneratorStrategy();\n\n return () => strategy;\n}\n","// #region Imports\n\nimport type { ThemePalette } from './Utils/ThemePalette';\nimport type { CssColor } from './Utils/CssColor';\nimport type { ThemeScheme } from './Utils/ThemeScheme';\nimport type { IThemeGeneratorStrategy } from './Strategies/interfaces/IThemeGeneratorStrategy';\nimport type { IPlatformAdapter } from './Adapters/interfaces/IPlatformAdapter';\nimport { JoyThemeGeneratorStrategy } from './Strategies/surface/JoyThemeGeneratorStrategy';\nimport { MemphisThemeGeneratorStrategy } from './Strategies/surface/MemphisThemeGeneratorStrategy';\nimport { CosmopolitanThemeGeneratorStrategy } from './Strategies/surface/CosmopolitanThemeGeneratorStrategy';\nimport { PlatformAdapterFactory } from './Adapters/PlatformAdapterFactory';\nimport type { ThemeMode, ThemeModeWithSystem } from './Utils/ThemeMode';\n\n// #endregion\n\n/**\n * @public\n */\nexport class ThemeGenerator {\n\n // #region Fields\n\n private readonly _strategies: Map<string, IThemeGeneratorStrategy>;\n private readonly _platformAdapter: IPlatformAdapter;\n\n // #endregion\n\n // #region Ctor\n\n /**\n * @public\n * @param platformAdapter - Optional platform adapter. Auto-detects if not provided.\n */\n public constructor(platformAdapter?: IPlatformAdapter) {\n this._strategies = new Map<string, IThemeGeneratorStrategy>([\n ['joy', new JoyThemeGeneratorStrategy()],\n ['memphis', new MemphisThemeGeneratorStrategy()],\n ['cosmopolitan', new CosmopolitanThemeGeneratorStrategy()]\n ]);\n this._platformAdapter = platformAdapter ?? PlatformAdapterFactory.create();\n }\n\n // #endregion\n\n // #region Methods\n\n /**\n * Generates a theme palette.\n *\n * @public\n * @param themeName The name of the theme.\n * @param baseColor The base color (typically a 500 level shade).\n * @param mode The theme mode ('dark', 'light', or 'system').\n * @returns The generated theme palette.\n */\n public generatePalette(themeName: string, baseColor: CssColor, mode: ThemeMode): ThemePalette {\n const resolvedMode = this.resolveMode(mode);\n const strategy = this.getStrategy(themeName);\n\n return strategy.generatePalette(baseColor, resolvedMode);\n }\n\n /**\n * Generates a theme scheme.\n *\n * @public\n * @param themeName The name of the theme.\n * @param baseColor The base color (typically a background level shade).\n * @param mode The theme mode ('dark', 'light', or 'system').\n * @returns The generated theme scheme.\n */\n public generateScheme(themeName: string, baseColor: CssColor, mode: ThemeMode): ThemeScheme {\n const resolvedMode = this.resolveMode(mode);\n const strategy = this.getStrategy(themeName);\n\n return strategy.generateScheme(baseColor, resolvedMode);\n }\n\n /**\n * Resolves the theme mode, converting 'system' to 'dark' or 'light' based on platform settings.\n *\n * @private\n * @param mode The theme mode to resolve.\n * @returns The resolved theme mode.\n */\n private resolveMode(mode: ThemeModeWithSystem): ThemeMode {\n if (mode === 'system') {\n const isDark = this._platformAdapter.matchMedia('(prefers-color-scheme: dark)');\n return isDark ? 'dark' : 'light';\n }\n\n return mode;\n }\n\n /**\n * Gets the theme generator strategy for the specified theme name.\n *\n * @private\n * @param themeName The name of the theme.\n * @returns The theme generator strategy.\n */\n private getStrategy(themeName: string): IThemeGeneratorStrategy {\n const strategy = this._strategies.get(themeName);\n\n if (!strategy) {\n throw new Error(`Theme '${themeName}' is not supported.`);\n }\n\n return strategy;\n }\n\n // #endregion\n\n}\n\n/**\n * @public\n */\nexport class ThemeGeneratorServiceLocator {\n\n // #region Fields\n\n private static _current: ThemeGenerator | null = null;\n\n // #endregion\n\n // #region Properties\n\n public static get current(): ThemeGenerator {\n if (!ThemeGeneratorServiceLocator.isSet()) {\n throw new Error('\\'ThemeGenerator\\' not set.');\n }\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return ThemeGeneratorServiceLocator._current!;\n }\n\n // #endregion\n\n // #region Methods\n\n public static isSet(): boolean {\n return ThemeGeneratorServiceLocator._current !== null;\n }\n\n public static set(current: ThemeGenerator): void {\n ThemeGeneratorServiceLocator._current = current;\n }\n\n // #endregion\n\n}\n\nThemeGeneratorServiceLocator.set(new ThemeGenerator());\n","// themeStrategies.ts\n\nimport chroma from 'chroma-js';\nimport type { CssColor } from '../Utils/CssColor';\nimport type { IThemeGeneratorStrategy } from './interfaces/IThemeGeneratorStrategy';\nimport type { ThemePalette } from '../Utils/ThemePalette';\nimport type { ThemeScheme } from '../Utils/ThemeScheme';\nimport type { ThemeGeneratorFactoryFn } from './interfaces/IThemeGeneratorFactory';\n\n/**\n * Tailwind-like strategy.\n *\n * Generates a color palette with the following shade steps:\n * 50, 100, 200, 300, 400, 500, 600, 700, 800, 900.\n *\n * Each returned color is a hex string (CssColor).\n */\nexport class TailwindThemeGeneratorStrategy implements IThemeGeneratorStrategy {\n\n /**\n * Generates a palette of shades based on a base/accent color.\n *\n * @param baseColor - The base/accent color (e.g. \"#3498db\")\n * @param mode - 'light' or 'dark' mode: determines how light or dark the palette extremes are.\n * @returns An IThemePalette mapping each shade step to a hex color.\n *\n * Example (light mode, baseColor = blue-ish):\n * {\n * \"50\": \"#f5faff\",\n * \"100\": \"#e1f3ff\",\n * ...\n * \"500\": \"#3498db\",\n * ...\n * \"900\": \"#0a2d4b\"\n * }\n */\n public generatePalette(baseColor: CssColor, mode: 'light' | 'dark'): ThemePalette {\n const steps = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900];\n const base = chroma(baseColor);\n const [h, s] = base.hsl();\n const palette: Record<string, CssColor> = {};\n\n steps.forEach((step, idx) => {\n const t = idx / (steps.length - 1);\n const lightness = mode === 'light'\n ? 0.95 - t * 0.6 // from ~95% light → ~35% light\n : 0.15 + t * 0.6; // from ~15% light → ~75% light\n const col = chroma.hsl(h, s, lightness);\n palette[step.toString()] = col.hex() as CssColor;\n });\n\n return palette;\n }\n\n /**\n * Generates a semantic color scheme for UI usage, based on the generated palette.\n *\n * @param baseColor - The base/accent color\n * @param mode - 'light' or 'dark'\n * @returns An scheme with semantic color roles.\n *\n * Returned keys:\n * - background → shade \"50\"\n * - foreground → shade \"900\"\n * - primary → shade \"500\"\n * - accent → shade \"700\"\n * - muted → shade \"300\"\n */\n public generateScheme(baseColor: CssColor, mode: 'light' | 'dark'): ThemeScheme {\n const p = this.generatePalette(baseColor, mode);\n\n return {\n background: p['50'],\n foreground: p['900'],\n disabled: p['300']\n };\n }\n\n}\n\n/**\n * Generates a Tailwind theme generator strategy.\n *\n * @public\n */\nexport function createTailwindTheme(): ThemeGeneratorFactoryFn {\n const strategy = new TailwindThemeGeneratorStrategy();\n\n return () => strategy;\n}\n","//#region Imports\n\nimport chroma from 'chroma-js';\n\n//#endregion\n\nfunction adjust(color: number, amount: number): number {\n return Math.min(255, Math.max(0, color + amount));\n}\n\n/**\n * @public\n */\nexport function darken(hex: string, factor: number): string {\n const [r, g, b] = chroma(hex).rgb().map(x => adjust(x, -factor));\n return chroma(r, g, b, 'rgb').hex();\n}\n\n/**\n * @public\n */\nexport function lighten(hex: string, factor: number): string {\n const [r, g, b] = chroma(hex).rgb().map(x => adjust(x, factor));\n return chroma(r, g, b, 'rgb').hex();\n}\n","export function hexToHSL(hex: string): [number, number, number] {\n // Convert hex to RGB\n const r = parseInt(hex.slice(1, 3), 16) / 255;\n const g = parseInt(hex.slice(3, 5), 16) / 255;\n const b = parseInt(hex.slice(5, 7), 16) / 255;\n\n const max = Math.max(r, g, b); const min = Math.min(r, g, b);\n let h: number = 0;\n let s: number = 0;\n const l = (max + min) / 2;\n\n if (max === min) {\n h = 0;\n s = 0; // Achromatic\n } else {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n default: break;\n }\n h /= 6;\n }\n\n return [h, s, l];\n}\n\nexport function hexToRGB(hex: string): [number, number, number] {\n const r = parseInt(hex.slice(1, 3), 16) / 255;\n const g = parseInt(hex.slice(3, 5), 16) / 255;\n const b = parseInt(hex.slice(5, 7), 16) / 255;\n\n return [r, g, b];\n}\n\nexport function hslToHex(h: number, s: number, l: number): string {\n const hue2rgb = (p: number, q: number, t: number): number => {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + ((q - p) * 6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + ((q - p) * (2 / 3 - t) * 6);\n }\n return p;\n };\n\n let r: number = 0;\n let g: number = 0;\n let b: number = 0;\n\n if (s === 0) {\n r = l;\n g = l;\n b = l; // Achromatic\n } else {\n const q = l < 0.5 ? l * (1 + s) : l + s - (l * s);\n const p = (2 * l) - q;\n r = hue2rgb(p, q, h + (1 / 3));\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - (1 / 3));\n }\n\n return `#${Math.round(r * 255).toString(16)\n .padStart(2, '0')}${Math.round(g * 255).toString(16)\n .padStart(2, '0')}${Math.round(b * 255).toString(16)\n .padStart(2, '0')}`;\n}\n\nexport function rgbToHSL(r: number, g: number, b: number): [number, number, number] {\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n\n let h: number = 0;\n let s: number = 0;\n\n if (max === min) {\n h = 0;\n s = 0; // Achromatic\n } else {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r: h = ((g - b) / d) + (g < b ? 6 : 0); break;\n case g: h = ((b - r) / d) + 2; break;\n case b: h = ((r - g) / d) + 4; break;\n default: break;\n }\n\n h /= 6;\n }\n\n return [h, s, l];\n}\n\nexport function adjustHue(hsl: [number, number, number], adjustment: number): [number, number, number] {\n // Adjusts the hue by a given amount, wrapping around the color wheel if necessary\n return [(hsl[0] + adjustment + 1) % 1, hsl[1], hsl[2]];\n}\n","//#region Imports\n\nimport { adjustHue, hexToHSL, hslToHex } from '../common';\n\n//#endregion\n\n/**\n * Generate an analogous color palette\n * @param baseHex\n * @param adjustment\n * @returns\n */\nexport function generateAnalogousPalette(baseHex: string, adjustment: number): Record<string, string> {\n const baseHSL = hexToHSL(baseHex);\n const adjustedHSL = adjustHue(baseHSL, adjustment);\n const palette: Record<string, string> = {};\n\n // Define the steps\n const steps = [\n 0,\n 50,\n 100,\n 200,\n 300,\n 400,\n 500,\n 600,\n 700,\n 800,\n 900\n ];\n\n steps.forEach((step) => {\n let [h, s, l]: [number, number, number] = adjustedHSL;\n\n if (step === 0) {\n l = 1; // White\n } else {\n // Gradually decrease lightness for other steps\n l = 1 - (step / 1000);\n }\n\n palette[`${step}`] = hslToHex(h, s, Math.max(0, Math.min(1, l)));\n });\n\n return palette;\n}\n\n/**\n * Generate a single analogous color\n * @param baseHex\n * @param adjustment\n * @returns\n */\nexport function generateAnalogousColor(baseHex: string, adjustment: number): string {\n const baseHSL = hexToHSL(baseHex);\n const adjustedHSL = adjustHue(baseHSL, adjustment);\n const [h, s]: [number, number, number] = adjustedHSL;\n // Use step 500 lightness (0.5) to match palette base\n return hslToHex(h, s, 0.5);\n}","//#region Imports\n\nimport chroma from 'chroma-js';\n\n//#endregion\n\n/**\n * Generates a material color palette based on the given hex color.\n * @param hexColor\n * @returns\n */\nexport function generateMaterialPalette(hexColor: string): Record<string, string> {\n const baseLight = chroma('#ffffff');\n const baseDark = chroma('#000000');\n\n const palette: Record<string, string> = {};\n const steps = [0, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900];\n const amounts = [0, 12, 30, 50, 70, 85, 100, 87, 70, 54, 25];\n\n steps.forEach((step, i) => {\n const base = step <= 500 ? baseLight : baseDark;\n palette[`${step}`] = chroma.mix(base, hexColor, amounts[i] / 100, 'rgb').hex();\n });\n\n return palette;\n}","//#region Imports\n\nimport chroma from 'chroma-js';\nimport { generateMaterialPalette } from './material';\n\n//#endregion\n\n/**\n * Generates a complementary color palette based on the given base color.\n * @param baseHex\n * @returns\n */\nexport function generateComplementaryPalette(baseHex: string): Record<string, string> {\n const [h, s, l] = chroma(baseHex).hsl();\n const complementaryH = (h + 180) % 360;\n return generateMaterialPalette(chroma.hsl(complementaryH, s, l).hex());\n}\n\n/**\n * Generates a single complementary color based on the given base color.\n * @param baseHex\n * @returns\n */\nexport function generateComplementaryColor(baseHex: string): string {\n const [h, s, l] = chroma(baseHex).hsl();\n const complementaryH = (h + 180) % 360;\n return chroma.hsl(complementaryH, s, l).hex();\n}","//#region Imports\n\nimport { adjustHue, hexToHSL, hslToHex } from '../common';\n\n//#endregion\n\n/**\n * Generate a triadic color palette\n * @param baseHex\n * @param adjustment\n * @returns\n */\nexport function generateTriadicPalette(baseHex: string, adjustment: number): Record<string, string> {\n const baseHSL = hexToHSL(baseHex);\n const triadicHSL = adjustHue(baseHSL, adjustment);\n const palette: Record<string, string> = {};\n\n // Define the steps\n const steps = [\n 0,\n 50,\n 100,\n 200,\n 300,\n 400,\n 500,\n 600,\n 700,\n 800,\n 900\n ];\n\n steps.forEach((step) => {\n let [h, s, l]: [number, number, number] = triadicHSL;\n\n if (step === 0) {\n l = 1; // White\n } else {\n // Gradually decrease lightness for other steps\n l = 1 - (step / 1000);\n }\n\n palette[`${step}`] = hslToHex(h, s, Math.max(0, Math.min(1, l)));\n });\n\n return palette;\n}\n\n/**\n * Generate a single triadic color\n * @param baseHex\n * @param adjustment\n * @returns\n */\nexport function generateTriadicColor(baseHex: string, adjustment: number): string {\n const baseHSL = hexToHSL(baseHex);\n const triadicHSL = adjustHue(baseHSL, adjustment);\n const [h, s]: [number, number, number] = triadicHSL;\n // Use step 500 lightness (0.5) to match palette base\n return hslToHex(h, s, 0.5);\n}","//#region Imports\n\nimport { darken, lighten } from './adjust';\nimport { generateAnalogousPalette, generateAnalogousColor } from './generators/analogous';\nimport { generateComplementaryPalette, generateComplementaryColor } from './generators/complementary';\nimport { generateMaterialPalette } from './generators/material';\nimport { generateTriadicPalette, generateTriadicColor } from './generators/triadic';\n\n//#endregion\n\n\nexport namespace Colors {\n export const toDarken = darken;\n export const toLighten = lighten;\n export const toMaterialPalette = generateMaterialPalette;\n export const toComplementaryPalette = generateComplementaryPalette;\n export const toComplementaryColor = generateComplementaryColor;\n export const toAnalogousPalette = generateAnalogousPalette;\n export const toAnalogousColor = generateAnalogousColor;\n export const toTriadicPalette = generateTriadicPalette;\n export const toTriadicColor = generateTriadicColor;\n}\n"]}