@breadstone/mosaik-themes 0.0.230 → 0.0.232
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.cjs +2155 -2041
- package/index.cjs.map +1 -1
- package/index.d.mts +525 -372
- package/index.d.ts +525 -372
- package/index.js +2153 -2037
- package/index.js.map +1 -1
- package/package.json +3 -4
- package/tailwind/v3/plugins/joyTailwindPlugin.js +4 -0
- package/tailwind/v3/plugins/joyTailwindPlugin.js.map +1 -1
- package/tailwind/v3/presets/joyTailwindPresets.js +4 -0
- package/tailwind/v3/presets/joyTailwindPresets.js.map +1 -1
- package/themes/___joy-tokens.css +8 -0
- package/themes/cosmopolitan.scss +3357 -997
- package/themes/joy-tokens.scss +8 -0
- package/themes/joy.scss +3444 -1086
- package/themes/memphis.scss +2794 -659
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/Utils/ThemeMode.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/split-complementary.ts","../src/Colors/generators/tetradic.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","num","String","CssShadow","isCssShadow","shadows","every","isCssShadowSingle","shadowRegex","RegExp","CssTime","isCssTime","timeRegex","ThemePalette","THEME_SHADE_NAMES","isThemeShadeName","includes","isThemePalette","Object","keys","key","ITheme","getScheme","mode","getPalette","semanticColor","paletteEntry","getSchemeColor","role","color","getPaletteColor","shade","getElevationShadow","ThemeScheme","ROLES","isRole","isThemeScheme","entries","THEME_MODES","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","baseLuminance","luminance","adjustColor","amount","minLuminance","maxLuminance","c","factor","Math","abs","result","brighten","darken","resultLuminance","generateForeground","darkened","saturate","targetLuminance","min","lightened","max","generateSurface","generateHighlight","generateMiddlelight","generateLowlight","generateDisabled","desaturated","desaturate","alpha","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","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","generateSplitComplementaryColors","splitH1","splitH2","generateSplitComplementaryColor1","splitH","generateSplitComplementaryColor2","generateTetradicColors","generateTetradicColor1","generateTetradicColor3","generateTriadicPalette","triadicHSL","generateTriadicColor","Colors","toDarken","toLighten","toMaterialPalette","toComplementaryPalette","toComplementaryColor","toAnalogousPalette","toAnalogousColor","toTriadicPalette","toTriadicColor","toSplitComplementaryColors","toSplitComplementaryColor1","toSplitComplementaryColor2","toTetradicColors","toTetradicColor1","toTetradicColor3"],"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 * ------------------------------------------------------------------------------\n * <auto-generated>\n * This code was generated by a tool.\n * Changes to this file may cause incorrect behavior and will be lost if\n * the code is regenerated.\n * </auto-generated>\n * ------------------------------------------------------------------------------\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 * ------------------------------------------------------------------------------\n * <auto-generated>\n * This code was generated by a tool.\n * Changes to this file may cause incorrect behavior and will be lost if\n * the code is regenerated.\n * </auto-generated>\n * ------------------------------------------------------------------------------\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 =\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 { 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 * ------------------------------------------------------------------------------\n * <auto-generated>\n * This code was generated by a tool.\n * Changes to this file may cause incorrect behavior and will be lost if\n * the code is regenerated.\n * </auto-generated>\n * ------------------------------------------------------------------------------\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 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_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' | 'svw' | 'svh' | 'dvw' | 'dvh' | 'lvw' | 'lvh' | '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|svw|svh|dvw|dvh|lvw|lvh|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|svw|svh|dvw|dvh|lvw|lvh|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 const num = parseFloat(value);\n\n return isNaN(num) ? undefined : `${num}${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 { CssColor } from './CssColor';\nimport type { CssShadow } from './CssShadow';\nimport type { IThemeElevation } from './IThemeElevation';\nimport type { IThemeLayout } from './IThemeLayout';\nimport type { ThemeMode } from './ThemeMode';\nimport { ThemePalette, type ThemeShadeName } from './ThemePalette';\nimport type { ThemeScheme, ThemeSchemeRole } from './ThemeScheme';\nimport type { ThemeSemantic, ThemeSemanticName } from './ThemeSemantic';\nimport type { ThemeTypography } from './ThemeTypography';\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 /**\n * Gets the scheme for the specified mode.\n *\n * @param theme The theme to get the scheme from.\n * @param mode The theme mode.\n * @returns The theme scheme for the specified mode.\n */\n export function getScheme(\n theme: ITheme,\n mode: ThemeMode\n ): ThemeScheme {\n return theme.scheme[mode];\n }\n\n /**\n * Gets the palette for the specified semantic color and mode.\n *\n * @param theme The theme to get the palette from.\n * @param mode The theme mode.\n * @param semanticColor The semantic color name.\n * @returns The theme palette for the specified semantic color and mode.\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 /**\n * Gets a scheme color for the specified role and mode.\n *\n * @param theme The theme to get the color from.\n * @param mode The theme mode.\n * @param role The scheme role.\n * @returns The CSS color for the specified role and mode.\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 /**\n * Gets a palette color for the specified semantic color, shade, and mode.\n *\n * @param theme The theme to get the color from.\n * @param mode The theme mode.\n * @param semanticColor The semantic color name.\n * @param shade The shade name.\n * @returns The CSS color for the specified semantic color, shade, and mode.\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 /**\n * Gets an elevation shadow for the specified key and mode.\n *\n * @param theme The theme to get the elevation from.\n * @param mode The theme mode.\n * @param key The elevation key.\n * @returns The CSS shadow for the specified elevation key and mode.\n */\n export function getElevationShadow(\n theme: ITheme,\n mode: ThemeMode,\n key: string\n ): CssShadow {\n return theme.elevation[mode][key];\n }\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","/**\n * Theme mode.\n *\n * @public\n */\nexport type ThemeMode = 'dark' | 'light';\n\n/**\n * Available theme modes.\n *\n * @public\n */\nexport const THEME_MODES: ReadonlyArray<ThemeMode> = ['dark', 'light'] as const;\n\n/**\n * Theme mode with system option.\n *\n * @public\n */\nexport type ThemeModeWithSystem = ThemeMode | 'system';\n\n/**\n * Available theme modes including system option.\n *\n * @public\n */\nexport const THEME_MODES_WITH_SYSTEM: ReadonlyArray<ThemeModeWithSystem> = ['dark', 'light', 'system'] as const;\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 baseLuminance = baseChroma.luminance();\n\n /**\n * Adjusts color brightness while respecting min/max luminance bounds.\n * Positive amount = brighten, negative amount = darken.\n */\n const adjustColor = (color: CssColor, amount: number, minLuminance = 0.02, maxLuminance = 0.98): CssColor => {\n const c = chroma(color);\n const factor = Math.abs(amount) / 25.5;\n\n let result = amount > 0\n ? c.brighten(factor)\n : c.darken(factor);\n\n // Clamp luminance to avoid pure black/white\n const resultLuminance = result.luminance();\n if (resultLuminance < minLuminance) {\n result = chroma(result).luminance(minLuminance);\n } else if (resultLuminance > maxLuminance) {\n result = chroma(result).luminance(maxLuminance);\n }\n\n return result.hex() as CssColor;\n };\n\n /**\n * Generates foreground/contrast color with guaranteed readability.\n * Light mode: dark foreground (#1a1a1a - #2d2d2d)\n * Dark mode: light foreground (#e8e8e8 - #f5f5f5)\n */\n const generateForeground = (): CssColor => {\n if (mode === 'light') {\n // Light mode needs dark text - derive from base but ensure darkness\n const darkened = baseChroma.darken(4).saturate(-0.3);\n const targetLuminance = Math.min(darkened.luminance(), 0.08);\n\n return chroma(darkened).luminance(targetLuminance)\n .hex() as CssColor;\n }\n\n // Dark mode needs light text - derive from base but ensure brightness\n const lightened = baseChroma.brighten(4).saturate(-0.3);\n const targetLuminance = Math.max(lightened.luminance(), 0.85);\n\n return chroma(lightened).luminance(targetLuminance)\n .hex() as CssColor;\n };\n\n /**\n * Generates surface color (slightly elevated from background).\n * Light mode: slightly darker or lighter based on background\n * Dark mode: slightly lighter\n */\n const generateSurface = (): CssColor => {\n if (mode === 'light') {\n // For very light backgrounds, make surface slightly darker for elevation\n return baseLuminance > 0.9\n ? adjustColor(baseColor, -8)\n : adjustColor(baseColor, 8);\n }\n\n // Dark mode: surface is slightly lighter than background\n return adjustColor(baseColor, 15);\n };\n\n /**\n * Generates highlight color for hover/focus states.\n */\n const generateHighlight = (): CssColor => mode === 'light'\n ? adjustColor(baseColor, -15, 0.05, 0.95)\n : adjustColor(baseColor, 20, 0.05, 0.95);\n\n /**\n * Generates middlelight color (medium contrast).\n */\n const generateMiddlelight = (): CssColor => mode === 'light'\n ? adjustColor(baseColor, -30, 0.1, 0.9)\n : adjustColor(baseColor, 35, 0.1, 0.9);\n\n /**\n * Generates lowlight color (lower contrast).\n */\n const generateLowlight = (): CssColor => mode === 'light'\n ? adjustColor(baseColor, -50, 0.15, 0.85)\n : adjustColor(baseColor, 55, 0.15, 0.85);\n\n /**\n * Generates disabled state color.\n */\n const generateDisabled = (): CssColor => {\n const desaturated = baseChroma.desaturate(2);\n\n return mode === 'light'\n ? chroma(desaturated).darken(0.5)\n .hex() as CssColor\n : chroma(desaturated).brighten(0.5)\n .hex() as CssColor;\n };\n\n const foreground = generateForeground();\n\n return {\n surface: generateSurface(),\n background: baseColor,\n foreground: foreground,\n highlight: generateHighlight(),\n middlelight: generateMiddlelight(),\n lowlight: generateLowlight(),\n transparent: `${baseColor}00` as CssColor,\n semiTransparent: chroma(baseColor).alpha(0.67)\n .hex() as CssColor,\n disabled: generateDisabled(),\n contrast: foreground,\n selection: generateHighlight()\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()\n .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()\n .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}\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}\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}\n","// #region Imports\n\nimport chroma from 'chroma-js';\n\n// #endregion\n\n/**\n * Generates split-complementary colors based on the given base color.\n * Split-complementary uses two colors adjacent to the complement (150° and 210°).\n *\n * @param baseHex - The base color in hex format.\n * @returns An array of two split-complementary colors.\n * @public\n */\nexport function generateSplitComplementaryColors(baseHex: string): [string, string] {\n const [h, s, l] = chroma(baseHex).hsl();\n const splitH1 = (h + 150) % 360;\n const splitH2 = (h + 210) % 360;\n\n return [\n chroma.hsl(splitH1, s, l).hex(),\n chroma.hsl(splitH2, s, l).hex()\n ];\n}\n\n/**\n * Generates the first split-complementary color (150° from base).\n *\n * @param baseHex - The base color in hex format.\n * @returns The first split-complementary color.\n * @public\n */\nexport function generateSplitComplementaryColor1(baseHex: string): string {\n const [h, s, l] = chroma(baseHex).hsl();\n const splitH = (h + 150) % 360;\n\n return chroma.hsl(splitH, s, l).hex();\n}\n\n/**\n * Generates the second split-complementary color (210° from base).\n *\n * @param baseHex - The base color in hex format.\n * @returns The second split-complementary color.\n * @public\n */\nexport function generateSplitComplementaryColor2(baseHex: string): string {\n const [h, s, l] = chroma(baseHex).hsl();\n const splitH = (h + 210) % 360;\n\n return chroma.hsl(splitH, s, l).hex();\n}\n","// #region Imports\n\nimport chroma from 'chroma-js';\n\n// #endregion\n\n/**\n * Generates tetradic (square) colors based on the given base color.\n * Tetradic uses four colors evenly spaced around the color wheel (90° apart).\n *\n * @param baseHex - The base color in hex format.\n * @returns An array of three tetradic colors (excluding the base).\n * @public\n */\nexport function generateTetradicColors(baseHex: string): [string, string, string] {\n const [h, s, l] = chroma(baseHex).hsl();\n\n return [\n chroma.hsl((h + 90) % 360, s, l).hex(),\n chroma.hsl((h + 180) % 360, s, l).hex(),\n chroma.hsl((h + 270) % 360, s, l).hex()\n ];\n}\n\n/**\n * Generates the first tetradic color (90° from base).\n *\n * @param baseHex - The base color in hex format.\n * @returns The first tetradic color.\n * @public\n */\nexport function generateTetradicColor1(baseHex: string): string {\n const [h, s, l] = chroma(baseHex).hsl();\n\n return chroma.hsl((h + 90) % 360, s, l).hex();\n}\n\n/**\n * Generates the second tetradic color (180° from base - same as complementary).\n *\n * @param baseHex - The base color in hex format.\n * @returns The second tetradic color.\n * @public\n */\nexport function generateTetradicColor2(baseHex: string): string {\n const [h, s, l] = chroma(baseHex).hsl();\n\n return chroma.hsl((h + 180) % 360, s, l).hex();\n}\n\n/**\n * Generates the third tetradic color (270° from base).\n *\n * @param baseHex - The base color in hex format.\n * @returns The third tetradic color.\n * @public\n */\nexport function generateTetradicColor3(baseHex: string): string {\n const [h, s, l] = chroma(baseHex).hsl();\n\n return chroma.hsl((h + 270) % 360, s, l).hex();\n}\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}\n","// #region Imports\n\nimport { darken, lighten } from './adjust';\nimport { generateAnalogousColor, generateAnalogousPalette } from './generators/analogous';\nimport { generateComplementaryColor, generateComplementaryPalette } from './generators/complementary';\nimport { generateMaterialPalette } from './generators/material';\nimport { generateSplitComplementaryColor1, generateSplitComplementaryColor2, generateSplitComplementaryColors } from './generators/split-complementary';\nimport { generateTetradicColor1, generateTetradicColor3, generateTetradicColors } from './generators/tetradic';\nimport { generateTriadicColor, generateTriadicPalette } from './generators/triadic';\n\n// #endregion\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 export const toSplitComplementaryColors = generateSplitComplementaryColors;\n export const toSplitComplementaryColor1 = generateSplitComplementaryColor1;\n export const toSplitComplementaryColor2 = generateSplitComplementaryColor2;\n export const toTetradicColors = generateTetradicColors;\n export const toTetradicColor1 = generateTetradicColor1;\n export const toTetradicColor3 = generateTetradicColor3;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../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/split-complementary.ts","../src/Colors/generators/tetradic.ts","../src/Colors/generators/triadic.ts","../src/Colors/index.ts","../src/Theming/Adapters/BrowserPlatformAdapter.ts","../src/Theming/Adapters/NodePlatformAdapter.ts","../src/Theming/Adapters/PlatformAdapterFactory.ts","../src/Theming/ThemeFactory.ts","../src/Theming/Tokens/CosmopolitanTokens.ts","../src/Theming/CosmopolitanTheme.ts","../src/Theming/Tokens/JoyTokens.ts","../src/Theming/JoyTheme.ts","../src/Theming/Tokens/MemphisTokens.ts","../src/Theming/MemphisTheme.ts","../src/Theming/Strategies/surface/abstracts/HslThemeGeneratorStrategy.ts","../src/Theming/Strategies/surface/abstracts/LchThemeGeneratorStrategy.ts","../src/Theming/Strategies/surface/CosmopolitanThemeGeneratorStrategy.ts","../src/Theming/Strategies/surface/JoyThemeGeneratorStrategy.ts","../src/Theming/Strategies/surface/MemphisThemeGeneratorStrategy.ts","../src/Theming/ThemeGenerator.ts","../src/Theming/ThemeObserver.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/ThemeMode.ts","../src/Theming/Utils/ThemeScheme.ts"],"names":["adjust","color","amount","Math","min","max","darken","hex","factor","r","g","b","chroma","rgb","map","x","lighten","hexToHSL","parseInt","slice","h","s","l","d","hslToHex","hue2rgb","p","q","t","round","toString","padStart","adjustHue","hsl","adjustment","generateAnalogousPalette","baseHex","baseHSL","adjustedHSL","palette","steps","forEach","step","generateAnalogousColor","generateMaterialPalette","hexColor","baseLight","baseDark","amounts","i","base","mix","generateComplementaryPalette","complementaryH","generateComplementaryColor","generateSplitComplementaryColors","splitH1","splitH2","generateSplitComplementaryColor1","splitH","generateSplitComplementaryColor2","generateTetradicColors","generateTetradicColor1","generateTetradicColor3","generateTriadicPalette","triadicHSL","generateTriadicColor","Colors","toDarken","toLighten","toMaterialPalette","toComplementaryPalette","toComplementaryColor","toAnalogousPalette","toAnalogousColor","toTriadicPalette","toTriadicColor","toSplitComplementaryColors","toSplitComplementaryColor1","toSplitComplementaryColor2","toTetradicColors","toTetradicColor1","toTetradicColor3","BrowserPlatformAdapter","matchMedia","query","window","matches","setDocumentAttribute","name","value","document","documentElement","setAttribute","getDocumentAttribute","getAttribute","observeDocumentAttributes","attributes","callback","observer","MutationObserver","mutations","mutation","type","attributeName","newValue","observe","attributeFilter","disconnect","NodePlatformAdapter","_query","_name","_value","_attributes","_callback","PlatformAdapterFactory","create","ThemeFactory","init","scheme","fontFamily","typography","layout","elevation","merge","theme","length","NAME","FONT_FAMILY","LAYOUT_RADIUS","LAYOUT_SPACE","LAYOUT_THICKNESS","SCHEME_LIGHT_SURFACE","SCHEME_LIGHT_CONTRAST","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_SELECTION","SCHEME_DARK_SURFACE","SCHEME_DARK_CONTRAST","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_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_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_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","ELEVATION_NONE","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_BODY1","TYPOGRAPHY_KEY_BODY2","TYPOGRAPHY_KEY_BUTTON","ELEVATION_KEY_LIGHT","ELEVATION_KEY_SEMILIGHT","ELEVATION_KEY_REGULAR","ELEVATION_KEY_SEMIBOLD","ELEVATION_KEY_BOLD","ELEVATION_KEY_EXTRABOLD","VARIANT_PRIMARY","VARIANT_SECONDARY","VARIANT_TERTIARY","CosmopolitanTheme","COSMOPOLITAN_THEME","light","surface","contrast","background","foreground","highlight","middlelight","lowlight","transparent","semiTransparent","disabled","selection","dark","primary","secondary","tertiary","info","warning","danger","success","neutral","headline1","fontSize","lineHeight","fontWeight","letterSpacing","textDecoration","textTransform","headline2","headline3","headline4","headline5","headline6","body1","body2","button","radius","space","thickness","semilight","regular","semibold","bold","extrabold","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","palettes","paletteVariants","schemes","schemeVariants","elevationVariants","typographies","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_SUPPORTING_FONT_FAMILY","TYPOGRAPHY_SUPPORTING_FONT_SIZE","TYPOGRAPHY_SUPPORTING_LINE_HEIGHT","TYPOGRAPHY_SUPPORTING_FONT_WEIGHT","TYPOGRAPHY_SUPPORTING_LETTER_SPACING","TYPOGRAPHY_SUPPORTING_TEXT_DECORATION","TYPOGRAPHY_SUPPORTING_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_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","TYPOGRAPHY_KEY_SUBTITLE1","TYPOGRAPHY_KEY_SUBTITLE2","TYPOGRAPHY_KEY_SUPPORTING","TYPOGRAPHY_KEY_CAPTION","TYPOGRAPHY_KEY_OVERLINE","VARIANT_DANGER","VARIANT_WARNING","VARIANT_SUCCESS","VARIANT_INFO","VARIANT_HIGHLIGHT","VARIANT_NEUTRAL","JoyTheme","JOY_THEME","subtitle1","subtitle2","supporting","caption","overline","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","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","HslThemeGeneratorStrategy","_LIGHTNESS_THRESHOLD","isColorInModeSpectrum","mode","adaptColorToMode","c","invertedL","isNaN","generatePalette","baseColor","idx","lightness","col","generateScheme","alpha","LchThemeGeneratorStrategy","_LUMINANCE_THRESHOLD","luminance","chromaVal","lch","baseChroma","baseLuminance","adjustColor","minLuminance","maxLuminance","abs","result","brighten","resultLuminance","generateForeground","darkened","saturate","targetLuminance","lightened","generateSurface","generateHighlight","generateMiddlelight","generateLowlight","generateDisabled","desaturated","desaturate","CosmopolitanThemeGeneratorStrategy","_CHROMA_REDUCTION_FACTOR","reducedChroma","createCosmopolitanTheme","strategy","JoyThemeGeneratorStrategy","createJoyTheme","MemphisThemeGeneratorStrategy","createMemphisTheme","ThemeGenerator","_strategies","_platformAdapter","platformAdapter","Map","themeName","resolvedMode","resolveMode","getStrategy","isDark","get","Error","ThemeGeneratorServiceLocator","_current","current","isSet","set","isThemeMode","ThemeObserver","_themeChanged","_themeModeChanged","_currentTheme","_currentThemeMode","_unsubscribe","PureEventEmitter","themeChange","emit","themeModeChange","themeMode","themeChanged","themeModeChanged","applyTheme","dispose","undefined","cb","String","ThemeObserverServiceLocator","CssAspectRatio","isCssAspectRatio","trim","ratioParts","split","Number","CssColor","isCssColor","rgbRegex","rgbaRegex","hexRegex","test","CssLength","isCssLength","lengthRegex","isAuto","isPercentage","percentageRegex","isLength","toNumber","match","exec","parseFloat","defaultUnit","extractUnit","cssLength","lengt","extractValue","pxToRem","pixel","baseSize","sizeInRem","tryParse","num","CssShadow","isCssShadow","shadows","every","isCssShadowSingle","shadowRegex","RegExp","CssTime","isCssTime","timeRegex","ThemePalette","THEME_SHADE_NAMES","isThemeShadeName","includes","isThemePalette","Object","keys","key","ITheme","getScheme","getPalette","semanticColor","paletteEntry","getSchemeColor","role","getPaletteColor","shade","getElevationShadow","THEME_MODES","ThemeScheme","ROLES","isRole","isThemeScheme","entries"],"mappings":"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","file":"index.js","sourcesContent":["//#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()\n .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()\n .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}\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}\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}\n","// #region Imports\n\nimport chroma from 'chroma-js';\n\n// #endregion\n\n/**\n * Generates split-complementary colors based on the given base color.\n * Split-complementary uses two colors adjacent to the complement (150° and 210°).\n *\n * @param baseHex - The base color in hex format.\n * @returns An array of two split-complementary colors.\n * @public\n */\nexport function generateSplitComplementaryColors(baseHex: string): [string, string] {\n const [h, s, l] = chroma(baseHex).hsl();\n const splitH1 = (h + 150) % 360;\n const splitH2 = (h + 210) % 360;\n\n return [\n chroma.hsl(splitH1, s, l).hex(),\n chroma.hsl(splitH2, s, l).hex()\n ];\n}\n\n/**\n * Generates the first split-complementary color (150° from base).\n *\n * @param baseHex - The base color in hex format.\n * @returns The first split-complementary color.\n * @public\n */\nexport function generateSplitComplementaryColor1(baseHex: string): string {\n const [h, s, l] = chroma(baseHex).hsl();\n const splitH = (h + 150) % 360;\n\n return chroma.hsl(splitH, s, l).hex();\n}\n\n/**\n * Generates the second split-complementary color (210° from base).\n *\n * @param baseHex - The base color in hex format.\n * @returns The second split-complementary color.\n * @public\n */\nexport function generateSplitComplementaryColor2(baseHex: string): string {\n const [h, s, l] = chroma(baseHex).hsl();\n const splitH = (h + 210) % 360;\n\n return chroma.hsl(splitH, s, l).hex();\n}\n","// #region Imports\n\nimport chroma from 'chroma-js';\n\n// #endregion\n\n/**\n * Generates tetradic (square) colors based on the given base color.\n * Tetradic uses four colors evenly spaced around the color wheel (90° apart).\n *\n * @param baseHex - The base color in hex format.\n * @returns An array of three tetradic colors (excluding the base).\n * @public\n */\nexport function generateTetradicColors(baseHex: string): [string, string, string] {\n const [h, s, l] = chroma(baseHex).hsl();\n\n return [\n chroma.hsl((h + 90) % 360, s, l).hex(),\n chroma.hsl((h + 180) % 360, s, l).hex(),\n chroma.hsl((h + 270) % 360, s, l).hex()\n ];\n}\n\n/**\n * Generates the first tetradic color (90° from base).\n *\n * @param baseHex - The base color in hex format.\n * @returns The first tetradic color.\n * @public\n */\nexport function generateTetradicColor1(baseHex: string): string {\n const [h, s, l] = chroma(baseHex).hsl();\n\n return chroma.hsl((h + 90) % 360, s, l).hex();\n}\n\n/**\n * Generates the second tetradic color (180° from base - same as complementary).\n *\n * @param baseHex - The base color in hex format.\n * @returns The second tetradic color.\n * @public\n */\nexport function generateTetradicColor2(baseHex: string): string {\n const [h, s, l] = chroma(baseHex).hsl();\n\n return chroma.hsl((h + 180) % 360, s, l).hex();\n}\n\n/**\n * Generates the third tetradic color (270° from base).\n *\n * @param baseHex - The base color in hex format.\n * @returns The third tetradic color.\n * @public\n */\nexport function generateTetradicColor3(baseHex: string): string {\n const [h, s, l] = chroma(baseHex).hsl();\n\n return chroma.hsl((h + 270) % 360, s, l).hex();\n}\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}\n","// #region Imports\n\nimport { darken, lighten } from './adjust';\nimport { generateAnalogousColor, generateAnalogousPalette } from './generators/analogous';\nimport { generateComplementaryColor, generateComplementaryPalette } from './generators/complementary';\nimport { generateMaterialPalette } from './generators/material';\nimport { generateSplitComplementaryColor1, generateSplitComplementaryColor2, generateSplitComplementaryColors } from './generators/split-complementary';\nimport { generateTetradicColor1, generateTetradicColor3, generateTetradicColors } from './generators/tetradic';\nimport { generateTriadicColor, generateTriadicPalette } from './generators/triadic';\n\n// #endregion\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 export const toSplitComplementaryColors = generateSplitComplementaryColors;\n export const toSplitComplementaryColor1 = generateSplitComplementaryColor1;\n export const toSplitComplementaryColor2 = generateSplitComplementaryColor2;\n export const toTetradicColors = generateTetradicColors;\n export const toTetradicColor1 = generateTetradicColor1;\n export const toTetradicColor3 = generateTetradicColor3;\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 { 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 * ------------------------------------------------------------------------------\n * <auto-generated>\n * This code was generated by a tool.\n * Changes to this file may cause incorrect behavior and will be lost if\n * the code is regenerated.\n * </auto-generated>\n * ------------------------------------------------------------------------------\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 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_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 * ------------------------------------------------------------------------------\n * <auto-generated>\n * This code was generated by a tool.\n * Changes to this file may cause incorrect behavior and will be lost if\n * the code is regenerated.\n * </auto-generated>\n * ------------------------------------------------------------------------------\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_SUPPORTING_FONT_FAMILY = \"Nunito, sans-serif\";\nexport const TYPOGRAPHY_SUPPORTING_FONT_SIZE = \"12px\";\nexport const TYPOGRAPHY_SUPPORTING_LINE_HEIGHT = \"14px\";\nexport const TYPOGRAPHY_SUPPORTING_FONT_WEIGHT = \"400\";\nexport const TYPOGRAPHY_SUPPORTING_LETTER_SPACING = \"0.2857142857142857px\";\nexport const TYPOGRAPHY_SUPPORTING_TEXT_DECORATION = \"none\";\nexport const TYPOGRAPHY_SUPPORTING_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_SUPPORTING = \"supporting\";\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 { 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_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, ELEVATION_DARK_BOLD, ELEVATION_DARK_EXTRABOLD, ELEVATION_DARK_LIGHT, ELEVATION_DARK_REGULAR, ELEVATION_DARK_SEMIBOLD, ELEVATION_DARK_SEMILIGHT, ELEVATION_KEY_BOLD, ELEVATION_KEY_EXTRABOLD, ELEVATION_KEY_LIGHT, ELEVATION_KEY_REGULAR, ELEVATION_KEY_SEMIBOLD, ELEVATION_KEY_SEMILIGHT, ELEVATION_LIGHT_BOLD, ELEVATION_LIGHT_EXTRABOLD, ELEVATION_LIGHT_LIGHT, ELEVATION_LIGHT_REGULAR, ELEVATION_LIGHT_SEMIBOLD, ELEVATION_LIGHT_SEMILIGHT, FONT_FAMILY, LAYOUT_RADIUS, LAYOUT_SPACE, LAYOUT_THICKNESS, NAME, SCHEME_DARK_BACKGROUND, SCHEME_DARK_CONTRAST, SCHEME_DARK_DISABLED, SCHEME_DARK_FOREGROUND, SCHEME_DARK_HIGHLIGHT, SCHEME_DARK_LOWLIGHT, SCHEME_DARK_MIDDLELIGHT, SCHEME_DARK_SELECTION, SCHEME_DARK_SEMI_TRANSPARENT, SCHEME_DARK_SURFACE, 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_SELECTION, SCHEME_LIGHT_SEMI_TRANSPARENT, SCHEME_LIGHT_SURFACE, SCHEME_LIGHT_TRANSPARENT, TYPOGRAPHY_BODY1_FONT_FAMILY, TYPOGRAPHY_BODY1_FONT_SIZE, TYPOGRAPHY_BODY1_FONT_WEIGHT, TYPOGRAPHY_BODY1_LETTER_SPACING, TYPOGRAPHY_BODY1_LINE_HEIGHT, 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_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, TYPOGRAPHY_CAPTION_FONT_FAMILY, 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_HEADLINE1_FONT_FAMILY, 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_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_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, TYPOGRAPHY_KEY_SUPPORTING, TYPOGRAPHY_OVERLINE_FONT_FAMILY, 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_FAMILY, 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_FAMILY, TYPOGRAPHY_SUBTITLE2_FONT_SIZE, TYPOGRAPHY_SUBTITLE2_FONT_WEIGHT, TYPOGRAPHY_SUBTITLE2_LETTER_SPACING, TYPOGRAPHY_SUBTITLE2_LINE_HEIGHT, TYPOGRAPHY_SUBTITLE2_TEXT_DECORATION, TYPOGRAPHY_SUBTITLE2_TEXT_TRANSFORM, TYPOGRAPHY_SUPPORTING_FONT_FAMILY, TYPOGRAPHY_SUPPORTING_FONT_SIZE, TYPOGRAPHY_SUPPORTING_FONT_WEIGHT, TYPOGRAPHY_SUPPORTING_LETTER_SPACING, TYPOGRAPHY_SUPPORTING_LINE_HEIGHT, TYPOGRAPHY_SUPPORTING_TEXT_DECORATION, TYPOGRAPHY_SUPPORTING_TEXT_TRANSFORM, VARIANT_DANGER, VARIANT_HIGHLIGHT, VARIANT_INFO, VARIANT_NEUTRAL, VARIANT_PRIMARY, VARIANT_SECONDARY, VARIANT_SUCCESS, VARIANT_TERTIARY, VARIANT_WARNING } 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 supporting: {\n fontFamily: TYPOGRAPHY_SUPPORTING_FONT_FAMILY,\n fontSize: TYPOGRAPHY_SUPPORTING_FONT_SIZE,\n lineHeight: TYPOGRAPHY_SUPPORTING_LINE_HEIGHT,\n fontWeight: TYPOGRAPHY_SUPPORTING_FONT_WEIGHT,\n letterSpacing: TYPOGRAPHY_SUPPORTING_LETTER_SPACING,\n textDecoration: TYPOGRAPHY_SUPPORTING_TEXT_DECORATION,\n textTransform: TYPOGRAPHY_SUPPORTING_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, TYPOGRAPHY_KEY_SUPPORTING];\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 * ------------------------------------------------------------------------------\n * <auto-generated>\n * This code was generated by a tool.\n * Changes to this file may cause incorrect behavior and will be lost if\n * the code is regenerated.\n * </auto-generated>\n * ------------------------------------------------------------------------------\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 =\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 { 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","// #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';\n\n// #endregion\n\n/**\n * Abstract theme generator strategy that operates in the **HSL** (Hue, Saturation, Lightness)\n * color space.\n *\n * @remarks\n * HSL is a cylindrical color model widely used in CSS and web design tooling.\n * Unlike LCH it is not perceptually uniform, but it provides a familiar and\n * lightweight alternative for palette generation.\n *\n * Concrete themes that prefer HSL-based generation extend this class.\n *\n * @public\n * @abstract\n */\nexport abstract class HslThemeGeneratorStrategy implements IThemeGeneratorStrategy {\n\n // #region Fields\n\n private static readonly _LIGHTNESS_THRESHOLD = 0.5;\n\n // #endregion\n\n // #region Methods\n\n /**\n * Determines whether a color naturally belongs to the given mode's HSL lightness range.\n *\n * @remarks\n * A color with HSL lightness > 0.5 is considered \"light\"; ≤ 0.5 is considered \"dark\".\n *\n * @public\n * @param color - The color to check\n * @param mode - The target color mode ('dark' | 'light')\n * @returns `true` if the color is naturally compatible with the given mode\n */\n public isColorInModeSpectrum(color: CssColor, mode: 'dark' | 'light'): boolean {\n const [, , l] = chroma(color).hsl();\n\n return mode === 'light'\n ? l > HslThemeGeneratorStrategy._LIGHTNESS_THRESHOLD\n : l <= HslThemeGeneratorStrategy._LIGHTNESS_THRESHOLD;\n }\n\n /**\n * Adapts a color to the opposite mode by symmetrically inverting its HSL lightness\n * (`L → 1 - L`) while preserving hue and saturation.\n *\n * @remarks\n * The inversion is symmetric: a light color becomes dark and vice-versa, regardless\n * of the direction. Therefore no target mode parameter is required.\n *\n * The inverted lightness is clamped to [0.05, 0.95] to avoid pure black / pure white.\n * Subclasses may override this method for theme-specific post-processing.\n *\n * @public\n * @param color - The color to adapt\n * @returns The adapted color with inverted lightness\n */\n public adaptColorToMode(color: CssColor): CssColor {\n const c = chroma(color);\n const [h, s, l] = c.hsl();\n const invertedL = Math.min(Math.max(1 - l, 0.05), 0.95);\n\n return chroma.hsl(isNaN(h) ? 0 : h, s, invertedL).hex() as CssColor;\n }\n\n /**\n * Generates a palette of shades based on a base/accent color using HSL interpolation.\n *\n * @public\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 The generated theme palette with shade steps 0–900\n */\n public generatePalette(baseColor: CssColor, mode: 'light' | 'dark'): Required<ThemePalette> {\n const steps = [0, 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 {\n \"0\": palette['0'],\n \"50\": palette['50'],\n \"100\": palette['100'],\n \"200\": palette['200'],\n \"300\": palette['300'],\n \"400\": palette['400'],\n \"500\": palette['500'],\n \"600\": palette['600'],\n \"700\": palette['700'],\n \"800\": palette['800'],\n \"900\": palette['900']\n };\n }\n\n /**\n * Generates a semantic color scheme for UI usage, based on the generated palette.\n *\n * @public\n * @param baseColor - The base/accent color\n * @param mode - 'light' or 'dark'\n * @returns The generated theme scheme with semantic color roles\n */\n public generateScheme(baseColor: CssColor, mode: 'light' | 'dark'): Required<ThemeScheme> {\n const p = this.generatePalette(baseColor, mode);\n\n return {\n background: p['50'],\n foreground: p['900'],\n disabled: p['300'],\n contrast: p['900'],\n highlight: p['700'],\n lowlight: p['300'],\n middlelight: p['500'],\n selection: p['500'],\n semiTransparent: chroma(p['500']).alpha(0.5).hex() as CssColor,\n surface: p['50'],\n transparent: chroma(p['500']).alpha(0).hex() as CssColor,\n };\n }\n\n // #endregion\n\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';\n\n// #endregion\n\n/**\n * Abstract theme generator strategy that operates in the **LCH** (Luminance, Chroma, Hue)\n * perceptual color space.\n *\n * @remarks\n * LCH is a perceptually uniform color space where `L*` (lightness 0–100) maps linearly\n * to how humans perceive brightness. This makes it ideal for reliable mode detection\n * and color adaptation.\n *\n * Concrete themes (Joy, Memphis, Cosmopolitan, …) extend this class to inherit\n * the shared color-science logic and only override behavior where their visual\n * language demands it.\n *\n * @public\n * @abstract\n */\nexport abstract class LchThemeGeneratorStrategy implements IThemeGeneratorStrategy {\n\n // #region Fields\n\n private static readonly _LUMINANCE_THRESHOLD = 0.5;\n\n // #endregion\n\n // #region Methods\n\n /**\n * Determines whether a color naturally belongs to the given mode's luminance range.\n *\n * @remarks\n * Uses WCAG relative luminance (0 = black, 1 = white).\n * A color with luminance > 0.5 is considered \"light\"; ≤ 0.5 is considered \"dark\".\n *\n * @public\n * @param color - The color to check\n * @param mode - The target color mode ('dark' | 'light')\n * @returns `true` if the color is naturally compatible with the given mode\n */\n public isColorInModeSpectrum(color: CssColor, mode: 'dark' | 'light'): boolean {\n const luminance = chroma(color).luminance();\n\n return mode === 'light'\n ? luminance > LchThemeGeneratorStrategy._LUMINANCE_THRESHOLD\n : luminance <= LchThemeGeneratorStrategy._LUMINANCE_THRESHOLD;\n }\n\n /**\n * Adapts a color to the opposite mode by symmetrically inverting its perceptual\n * lightness in the LCH color space (`L* → 100 - L*`) while preserving hue and chroma.\n *\n * @remarks\n * The inversion is symmetric: a light color becomes dark and vice-versa, regardless\n * of the direction. Therefore no target mode parameter is required.\n *\n * The inverted lightness is clamped to [5, 95] to avoid pure black / pure white,\n * which cannot carry chromatic information.\n * Subclasses may override this method to apply theme-specific post-processing\n * (e.g., chroma reduction for muted palettes).\n *\n * @public\n * @param color - The color to adapt\n * @returns The adapted color with inverted lightness\n */\n public adaptColorToMode(color: CssColor): CssColor {\n const c = chroma(color);\n const [l, chromaVal, h] = c.lch();\n const invertedL = Math.min(Math.max(100 - l, 5), 95);\n\n return chroma.lch(invertedL, chromaVal, isNaN(h) ? 0 : h).hex() as CssColor;\n }\n\n /**\n * Generates a color palette from a base color for the given mode.\n *\n * @public\n * @param baseColor - The base/accent color\n * @param mode - 'light' or 'dark' mode\n * @returns The generated theme palette with shade steps 0–900\n */\n public generatePalette(baseColor: CssColor, mode: 'dark' | 'light'): Required<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 {\n \"0\": palette['0'],\n \"50\": palette['50'],\n \"100\": palette['100'],\n \"200\": palette['200'],\n \"300\": palette['300'],\n \"400\": palette['400'],\n \"500\": palette['500'],\n \"600\": palette['600'],\n \"700\": palette['700'],\n \"800\": palette['800'],\n \"900\": palette['900']\n };\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 {\n \"0\": palette['0'],\n \"50\": palette['50'],\n \"100\": palette['100'],\n \"200\": palette['200'],\n \"300\": palette['300'],\n \"400\": palette['400'],\n \"500\": palette['500'],\n \"600\": palette['600'],\n \"700\": palette['700'],\n \"800\": palette['800'],\n \"900\": palette['900']\n };\n }\n\n /**\n * Generates a semantic color scheme based on a base color and mode.\n *\n * @public\n * @param baseColor - The base/accent color\n * @param mode - 'light' or 'dark' mode\n * @returns The generated theme scheme with semantic color roles\n */\n public generateScheme(baseColor: CssColor, mode: 'dark' | 'light'): Required<ThemeScheme> {\n const baseChroma = chroma(baseColor);\n const baseLuminance = baseChroma.luminance();\n\n /**\n * Adjusts color brightness while respecting min/max luminance bounds.\n * Positive amount = brighten, negative amount = darken.\n */\n const adjustColor = (color: CssColor, amount: number, minLuminance = 0.02, maxLuminance = 0.98): CssColor => {\n const c = chroma(color);\n const factor = Math.abs(amount) / 25.5;\n\n let result = amount > 0\n ? c.brighten(factor)\n : c.darken(factor);\n\n // Clamp luminance to avoid pure black/white\n const resultLuminance = result.luminance();\n if (resultLuminance < minLuminance) {\n result = chroma(result).luminance(minLuminance);\n } else if (resultLuminance > maxLuminance) {\n result = chroma(result).luminance(maxLuminance);\n }\n\n return result.hex() as CssColor;\n };\n\n /**\n * Generates foreground/contrast color with guaranteed readability.\n * Light mode: dark foreground (#1a1a1a - #2d2d2d)\n * Dark mode: light foreground (#e8e8e8 - #f5f5f5)\n */\n const generateForeground = (): CssColor => {\n if (mode === 'light') {\n // Light mode needs dark text - derive from base but ensure darkness\n const darkened = baseChroma.darken(4).saturate(-0.3);\n const targetLuminance = Math.min(darkened.luminance(), 0.08);\n\n return chroma(darkened).luminance(targetLuminance)\n .hex() as CssColor;\n }\n\n // Dark mode needs light text - derive from base but ensure brightness\n const lightened = baseChroma.brighten(4).saturate(-0.3);\n const targetLuminance = Math.max(lightened.luminance(), 0.85);\n\n return chroma(lightened).luminance(targetLuminance)\n .hex() as CssColor;\n };\n\n /**\n * Generates surface color (slightly elevated from background).\n * Light mode: slightly darker or lighter based on background\n * Dark mode: slightly lighter\n */\n const generateSurface = (): CssColor => {\n if (mode === 'light') {\n // For very light backgrounds, make surface slightly darker for elevation\n return baseLuminance > 0.9\n ? adjustColor(baseColor, -8)\n : adjustColor(baseColor, 8);\n }\n\n // Dark mode: surface is slightly lighter than background\n return adjustColor(baseColor, 15);\n };\n\n /**\n * Generates highlight color for hover/focus states.\n */\n const generateHighlight = (): CssColor => mode === 'light'\n ? adjustColor(baseColor, -15, 0.05, 0.95)\n : adjustColor(baseColor, 20, 0.05, 0.95);\n\n /**\n * Generates middlelight color (medium contrast).\n */\n const generateMiddlelight = (): CssColor => mode === 'light'\n ? adjustColor(baseColor, -30, 0.1, 0.9)\n : adjustColor(baseColor, 35, 0.1, 0.9);\n\n /**\n * Generates lowlight color (lower contrast).\n */\n const generateLowlight = (): CssColor => mode === 'light'\n ? adjustColor(baseColor, -50, 0.15, 0.85)\n : adjustColor(baseColor, 55, 0.15, 0.85);\n\n /**\n * Generates disabled state color.\n */\n const generateDisabled = (): CssColor => {\n const desaturated = baseChroma.desaturate(2);\n\n return mode === 'light'\n ? chroma(desaturated).darken(0.5)\n .hex() as CssColor\n : chroma(desaturated).brighten(0.5)\n .hex() as CssColor;\n };\n\n const foreground = generateForeground();\n\n return {\n surface: generateSurface(),\n background: baseColor,\n foreground: foreground,\n highlight: generateHighlight(),\n middlelight: generateMiddlelight(),\n lowlight: generateLowlight(),\n transparent: `${baseColor}00` as CssColor,\n semiTransparent: chroma(baseColor).alpha(0.67)\n .hex() as CssColor,\n disabled: generateDisabled(),\n contrast: foreground,\n selection: generateHighlight()\n };\n }\n\n // #endregion\n\n}\n","// #region Imports\n\nimport chroma from 'chroma-js';\nimport type { CssColor } from '../../Utils/CssColor';\nimport type { ThemePalette } from '../../Utils/ThemePalette';\nimport type { ThemeGeneratorFactoryFn } from '../interfaces/IThemeGeneratorFactory';\nimport { LchThemeGeneratorStrategy } from './abstracts/LchThemeGeneratorStrategy';\n\n// #endregion\n\n/**\n * Cosmopolitan theme generator strategy.\n *\n * @remarks\n * Extends {@link LchThemeGeneratorStrategy} with a muted, desaturated aesthetic\n * that defines the Cosmopolitan visual language. Overrides only where the default\n * LCH behavior needs adjustment; all other behavior is inherited.\n *\n * @public\n */\nexport class CosmopolitanThemeGeneratorStrategy extends LchThemeGeneratorStrategy {\n\n // #region Fields\n\n private static readonly _CHROMA_REDUCTION_FACTOR = 0.9;\n\n // #endregion\n\n // #region Methods\n\n /**\n * Adapts a color to the target mode by inverting its perceptual lightness (LCH L*)\n * with a slight chroma reduction for the Cosmopolitan's muted aesthetic.\n *\n * @override\n * @public\n * @param color - The color to adapt\n * @returns The adapted color with inverted lightness and reduced chroma\n */\n public override adaptColorToMode(color: CssColor): CssColor {\n const c = chroma(color);\n const [l, chromaVal, h] = c.lch();\n const invertedL = Math.min(Math.max(100 - l, 5), 95);\n const reducedChroma = chromaVal * CosmopolitanThemeGeneratorStrategy._CHROMA_REDUCTION_FACTOR;\n\n return chroma.lch(invertedL, reducedChroma, isNaN(h) ? 0 : h).hex() as CssColor;\n }\n\n /**\n * Generates a color palette with Cosmopolitan-specific dark-mode mixing.\n *\n * @remarks\n * Light mode uses the standard LCH base class implementation.\n * Dark mode uses a simplified three-anchor approach (steps 0, 100, 500)\n * to produce the flat, muted dark palette that defines Cosmopolitan.\n *\n * @override\n * @public\n * @param baseColor - The base/accent color\n * @param mode - 'light' or 'dark' mode\n * @returns The generated theme palette with shade steps 0–900\n */\n public override generatePalette(baseColor: CssColor, mode: 'dark' | 'light'): Required<ThemePalette> {\n if (mode === 'light') {\n return super.generatePalette(baseColor, mode);\n }\n\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 palette[`${step}`] = chroma.mix(baseDark, baseColor, amounts[i] / 100, 'rgb').hex() as CssColor;\n });\n\n return {\n \"0\": palette['0'],\n \"50\": palette['0'],\n \"100\": palette['100'],\n \"200\": palette['100'],\n \"300\": palette['100'],\n \"400\": palette['100'],\n \"500\": palette['500'],\n \"600\": palette['500'],\n \"700\": palette['500'],\n \"800\": palette['500'],\n \"900\": palette['500']\n };\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 { ThemeGeneratorFactoryFn } from '../interfaces/IThemeGeneratorFactory';\nimport { LchThemeGeneratorStrategy } from './abstracts/LchThemeGeneratorStrategy';\n\n// #endregion\n\n/**\n * Joy theme generator strategy.\n *\n * @remarks\n * Extends {@link LchThemeGeneratorStrategy} without customization.\n *\n * @public\n */\nexport class JoyThemeGeneratorStrategy extends LchThemeGeneratorStrategy {\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 { ThemeGeneratorFactoryFn } from '../interfaces/IThemeGeneratorFactory';\nimport { LchThemeGeneratorStrategy } from './abstracts/LchThemeGeneratorStrategy';\n\n// #endregion\n\n/**\n * Memphis theme generator strategy.\n *\n * @remarks\n * Extends {@link LchThemeGeneratorStrategy} without customization.\n *\n * @public\n */\nexport class MemphisThemeGeneratorStrategy extends LchThemeGeneratorStrategy {\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 type { IPlatformAdapter } from './Adapters/interfaces/IPlatformAdapter';\nimport { PlatformAdapterFactory } from './Adapters/PlatformAdapterFactory';\nimport type { IThemeGeneratorStrategy } from './Strategies/interfaces/IThemeGeneratorStrategy';\nimport { CosmopolitanThemeGeneratorStrategy } from './Strategies/surface/CosmopolitanThemeGeneratorStrategy';\nimport { JoyThemeGeneratorStrategy } from './Strategies/surface/JoyThemeGeneratorStrategy';\nimport { MemphisThemeGeneratorStrategy } from './Strategies/surface/MemphisThemeGeneratorStrategy';\nimport type { CssColor } from './Utils/CssColor';\nimport type { ThemeMode, ThemeModeWithSystem } from './Utils/ThemeMode';\nimport type { ThemePalette } from './Utils/ThemePalette';\nimport type { ThemeScheme } from './Utils/ThemeScheme';\n\n// #endregion\n\n/**\n * Central facade for generating theme palettes and color schemes.\n *\n * @remarks\n * Accepts any base color with any mode and autonomously ensures compatibility\n * before delegating to the resolved {@link IThemeGeneratorStrategy}.\n * The `'system'` mode is resolved to `'dark'` or `'light'` via the\n * {@link IPlatformAdapter}.\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 complete theme palette (shades 0–900) for the given theme.\n *\n * @remarks\n * 1. If `mode` is `'system'`, it is resolved to `'dark'` or `'light'` via the\n * platform adapter's `prefers-color-scheme` media query.\n * 2. The base color is forwarded as-is to the theme-specific strategy which\n * produces 11 shade steps from lightest (0) to darkest (900).\n *\n * No automatic color adaptation is performed. Callers who need mode-compatible\n * colors can use {@link IThemeGeneratorStrategy.isColorInModeSpectrum} and\n * {@link IThemeGeneratorStrategy.adaptColorToMode} explicitly before calling\n * this method.\n *\n * @public\n * @param themeName - The name of the theme (`'joy'`, `'memphis'`, `'cosmopolitan'`).\n * @param baseColor - The base accent color (any valid CSS color value).\n * @param mode - The target mode (`'dark'`, `'light'`, or `'system'`).\n * @returns A fully populated palette with shade keys `0`–`900`.\n * @throws Error if `themeName` is not a registered theme.\n */\n public generatePalette(themeName: string, baseColor: CssColor, mode: ThemeMode): Required<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 semantic color scheme (surface, foreground, highlight, …) for the given theme.\n *\n * @remarks\n * 1. If `mode` is `'system'`, it is resolved to `'dark'` or `'light'` via the\n * platform adapter's `prefers-color-scheme` media query.\n * 2. The base color is forwarded as-is to the theme-specific strategy which\n * maps it to semantic roles such as `surface`, `foreground`, `highlight`,\n * `contrast`, `disabled`, etc.\n *\n * No automatic color adaptation is performed. Callers who need mode-compatible\n * colors can use {@link IThemeGeneratorStrategy.isColorInModeSpectrum} and\n * {@link IThemeGeneratorStrategy.adaptColorToMode} explicitly before calling\n * this method.\n *\n * @public\n * @param themeName - The name of the theme (`'joy'`, `'memphis'`, `'cosmopolitan'`).\n * @param baseColor - The base background color (any valid CSS color value).\n * @param mode - The target mode (`'dark'`, `'light'`, or `'system'`).\n * @returns A fully populated scheme with all semantic color roles.\n * @throws Error if `themeName` is not a registered theme.\n */\n public generateScheme(themeName: string, baseColor: CssColor, mode: ThemeMode): Required<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 ('joy', 'memphis', 'cosmopolitan').\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 * Global service locator for the singleton {@link ThemeGenerator} instance.\n *\n * @remarks\n * A default instance is created automatically at module load time.\n * Call {@link ThemeGeneratorServiceLocator.set | set} to replace it (e.g. in tests\n * or SSR environments where a custom {@link IPlatformAdapter} is needed).\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","// #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 * Reactive observer that applies and tracks the active theme on the document.\n *\n * @remarks\n * Manages the `theme` and `theme-mode` document attributes and emits events\n * when either changes. The `'system'` mode is resolved via the\n * {@link IPlatformAdapter}.\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 /**\n * Stops observing document attribute changes and releases the underlying listener.\n *\n * @remarks\n * Safe to call multiple times — subsequent calls are no-ops.\n *\n * @public\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 * Global service locator for the singleton {@link ThemeObserver} instance.\n *\n * @remarks\n * A default instance is created automatically at module load time.\n * Call {@link ThemeObserverServiceLocator.set | set} to replace it (e.g. in tests\n * or SSR environments where a custom {@link IPlatformAdapter} is needed).\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","/**\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' | 'svw' | 'svh' | 'dvw' | 'dvh' | 'lvw' | 'lvh' | '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|svw|svh|dvw|dvh|lvw|lvh|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|svw|svh|dvw|dvh|lvw|lvh|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 const num = parseFloat(value);\n\n return isNaN(num) ? undefined : `${num}${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 { CssColor } from './CssColor';\nimport type { CssShadow } from './CssShadow';\nimport type { IThemeElevation } from './IThemeElevation';\nimport type { IThemeLayout } from './IThemeLayout';\nimport type { ThemeMode } from './ThemeMode';\nimport { ThemePalette, type ThemeShadeName } from './ThemePalette';\nimport type { ThemeScheme, ThemeSchemeRole } from './ThemeScheme';\nimport type { ThemeSemantic, ThemeSemanticName } from './ThemeSemantic';\nimport type { ThemeTypography } from './ThemeTypography';\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 /**\n * Gets the scheme for the specified mode.\n *\n * @param theme The theme to get the scheme from.\n * @param mode The theme mode.\n * @returns The theme scheme for the specified mode.\n */\n export function getScheme(\n theme: ITheme,\n mode: ThemeMode\n ): ThemeScheme {\n return theme.scheme[mode];\n }\n\n /**\n * Gets the palette for the specified semantic color and mode.\n *\n * @param theme The theme to get the palette from.\n * @param mode The theme mode.\n * @param semanticColor The semantic color name.\n * @returns The theme palette for the specified semantic color and mode.\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 /**\n * Gets a scheme color for the specified role and mode.\n *\n * @param theme The theme to get the color from.\n * @param mode The theme mode.\n * @param role The scheme role.\n * @returns The CSS color for the specified role and mode.\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 /**\n * Gets a palette color for the specified semantic color, shade, and mode.\n *\n * @param theme The theme to get the color from.\n * @param mode The theme mode.\n * @param semanticColor The semantic color name.\n * @param shade The shade name.\n * @returns The CSS color for the specified semantic color, shade, and mode.\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 /**\n * Gets an elevation shadow for the specified key and mode.\n *\n * @param theme The theme to get the elevation from.\n * @param mode The theme mode.\n * @param key The elevation key.\n * @returns The CSS shadow for the specified elevation key and mode.\n */\n export function getElevationShadow(\n theme: ITheme,\n mode: ThemeMode,\n key: string\n ): CssShadow {\n return theme.elevation[mode][key];\n }\n\n}\n","/**\n * Theme mode.\n *\n * @public\n */\nexport type ThemeMode = 'dark' | 'light';\n\n/**\n * Available theme modes.\n *\n * @public\n */\nexport const THEME_MODES: ReadonlyArray<ThemeMode> = ['dark', 'light'] as const;\n\n/**\n * Theme mode with system option.\n *\n * @public\n */\nexport type ThemeModeWithSystem = ThemeMode | 'system';\n\n/**\n * Available theme modes including system option.\n *\n * @public\n */\nexport const THEME_MODES_WITH_SYSTEM: ReadonlyArray<ThemeModeWithSystem> = ['dark', 'light', 'system'] as const;\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"]}
|