import { Theme } from '../Theme/Theme' import { rv } from '../../rv' import { badge } from './components/badge' import { bottomSheet } from './components/bottomSheet' import { card } from './components/card' import { dialog } from './components/dialog' import { divider } from './components/divider' import { filledButton } from './components/filledButton' import { textButton } from './components/textButton' import { topAppBar } from './components/topAppBar' import { listItem } from './components/listItem' import { tabs } from './components/tabs' import { progressIndicator } from './components/progressIndicator' import { outlinedTextInput } from './components/outlinedTextInput' import { fullScreenDialog } from './components/fullScreenDialog' import { checkbox } from './components/checkbox' import { standardIconButton } from './components/standardIconButton' import { dropdown } from './components/dropdown' import { searchField } from './components/searchField' import { switchComponent } from './components/switch' import { radioButton } from './components/radioButton' import { chip } from './components/chip' import { outlinedButton } from './components/outlinedButton' import { filledIconButton } from './components/filledIconButton' import { tonalIconButton } from './components/tonalIconButton' import { filterChip } from './components/filterChip' import { outlinedIconButton } from './components/outlinedIconButton' export const defaultTheme: Theme = { ref: { palette: { primary: { _0: '#8E3900', _10: '#AA4500', _20: '#C65000', _30: '#E35C00', _40: '#FF6700', _50: '#FF8939', _60: '#FFAB71', _70: '#FFCCAA', _80: '#FFEEE3', _90: '#FFF5F0', _95: '#FFF8F4', _99: '#FEF8F6', _100: '#FFFCFB', }, secondary: { _0: '#13074C', _10: '#1A0965', _20: '#220C87', _30: '#270E98', _40: '#2B0FA9', _50: '#3D2CB9', _60: '#8A80FF', _70: '#A7A0FF', _80: '#C5C0FF', _90: '#EDEAFF', _95: '#F3EEFF', _99: '#F6F5FF', _100: '#FFFBFF', }, tertiary: { _0: '#3A3000', _10: '#B89504', _20: '#DDB305', _30: '#F5C705', _40: '#F9D84F', _50: '#FFE269', _60: '#FFE67F', _70: '#FFEA92', _80: '#FFEFAE', _90: '#FDF3C8', _95: '#FFF7D7', _99: '#FFFBEA', _100: '#FFFDF6', }, neutral: { _0: '#262626', _10: '#333333', _20: '#4C4C4C', _30: '#595959', _40: '#7F7F7F', _50: '#8C8C8C', _60: '#999999', _70: '#B2B2B2', _80: '#C9C6C5', _87: '#DED8E1', _90: '#E2DCE4', _92: '#E5E1E8', _94: '#E9E5EB', _95: '#EDE9EE', _96: '#F0EEF2', _98: '#F4F2F5', _99: '#F8F6F8', _100: '#FFFFFF', }, neutralVariant: { _0: '#1E1E1E', _10: '#383838', _20: '#464646', _30: '#6D6D6D', _40: '#A2A2A2', _50: '#BDBDBD', _60: '#D7D7D7', _70: '#DFD9E2', _80: '#E0DBE3', _90: '#E1DCE4', _95: '#E4DFE6', _99: '#E5E0E7', _100: '#FAF9FB', }, info: { _0: '#042965', _10: '#053179', _20: '#063A8E', _30: '#0742A2', _40: '#084AB6', _50: '#0A5DE4', _60: '#2876F6', _70: '#5694F8', _80: '#C2D8FC', _90: '#D1E2FD', _95: '#E0EBFE', _99: '#F5F8FF', _100: '#F8FBFF', }, warning: { _0: '#895806', _10: '#A46907', _20: '#BF7B08', _30: '#DB8D09', _40: '#F59E0B', _50: '#F7AD30', _60: '#F9C060', _70: '#FACF85', _80: '#FCDDAA', _90: '#FDE7C2', _95: '#FEF0DA', _99: '#FEF5E7', _100: '#FFFAF3', }, success: { _0: '#136D35', _10: '#17833F', _20: '#1A9949', _30: '#1EAF54', _40: '#22C55E', _50: '#39DD75', _60: '#60E491', _70: '#9CEEBA', _80: '#B0F1C8', _90: '#C4F5D6', _95: '#D7F8E3', _99: '#EBFCF1', _100: '#F0FDF5', }, error: { _0: '#620808', _10: '#760A0A', _20: '#8A0C0C', _30: '#9D0D0D', _40: '#B10F0F', _50: '#D41212', _60: '#EF4444', _70: '#F36C6C', _80: '#F8A7A7', _90: '#FDE2E2', _95: '#FFEDEA', _99: '#FFF2F0', _100: '#FFF9F8', }, }, typeface: { brandLight: 'inter-300', plainLight: 'inter-300', brandRegular: 'inter-400', plainRegular: 'inter-400', brandMedium: 'inter-500', plainMedium: 'inter-500', brandSemiBold: 'inter-600', plainSemiBold: 'inter-600', }, }, sys: { typeScale: { displayLarge: { fontFamily: (ds) => ds.ref.typeface.brandRegular, fontSize: rv(57), lineHeight: rv(64), letterSpacing: rv(-0.25), }, displayMedium: { fontFamily: (ds) => ds.ref.typeface.brandRegular, fontSize: rv(45), lineHeight: rv(52), letterSpacing: 0, }, displaySmall: { fontFamily: (ds) => ds.ref.typeface.brandRegular, fontSize: rv(36), lineHeight: rv(44), letterSpacing: 0, }, headlineLarge: { fontFamily: (ds) => ds.ref.typeface.brandSemiBold, fontSize: rv(22), lineHeight: rv(33), letterSpacing: 0, }, headlineMedium: { fontFamily: (ds) => ds.ref.typeface.brandSemiBold, fontSize: rv(20), lineHeight: rv(30), letterSpacing: 0, }, headlineSmall: { fontFamily: (ds) => ds.ref.typeface.brandMedium, fontSize: rv(18), lineHeight: rv(27), letterSpacing: 0, }, titleLarge: { fontFamily: (ds) => ds.ref.typeface.plainSemiBold, fontSize: rv(18), lineHeight: rv(27), letterSpacing: 0, }, titleMedium: { fontFamily: (ds) => ds.ref.typeface.plainMedium, fontSize: rv(16), lineHeight: rv(24), letterSpacing: rv(0.15), }, titleSmall: { fontFamily: (ds) => ds.ref.typeface.plainLight, fontSize: rv(12), lineHeight: rv(18), letterSpacing: rv(0.2), }, labelLarge: { fontFamily: (ds) => ds.ref.typeface.plainSemiBold, fontSize: rv(18), lineHeight: rv(27), letterSpacing: rv(0.1), }, labelMedium: { fontFamily: (ds) => ds.ref.typeface.plainMedium, fontSize: rv(16), lineHeight: rv(24), letterSpacing: rv(0.1), }, labelSmall: { fontFamily: (ds) => ds.ref.typeface.plainRegular, fontSize: rv(10), lineHeight: rv(14), letterSpacing: 0, }, bodyLarge: { fontFamily: (ds) => ds.ref.typeface.plainMedium, fontSize: rv(14), lineHeight: rv(21), letterSpacing: rv(0.25), }, bodyMedium: { fontFamily: (ds) => ds.ref.typeface.plainLight, fontSize: rv(14), lineHeight: rv(21), letterSpacing: rv(0.2), }, bodySmall: { fontFamily: (ds) => ds.ref.typeface.plainRegular, fontSize: rv(12), lineHeight: rv(18), letterSpacing: rv(0.2), }, }, color: { screenBackground: '#ffffff', primary: (ds) => ds.ref.palette.primary._40, onPrimary: (ds) => ds.ref.palette.primary._100, primaryContainer: (ds) => ds.ref.palette.primary._90, onPrimaryContainer: (ds) => ds.ref.palette.primary._10, secondary: (ds) => ds.ref.palette.secondary._40, onSecondary: (ds) => ds.ref.palette.secondary._100, secondaryContainer: (ds) => ds.ref.palette.secondary._90, onSecondaryContainer: (ds) => ds.ref.palette.secondary._10, tertiary: (ds) => ds.ref.palette.tertiary._40, onTertiary: (ds) => ds.ref.palette.tertiary._100, tertiaryContainer: (ds) => ds.ref.palette.tertiary._90, onTertiaryContainer: (ds) => ds.ref.palette.tertiary._10, info: (ds) => ds.ref.palette.info._40, onInfo: (ds) => ds.ref.palette.info._100, infoContainer: (ds) => ds.ref.palette.info._90, onInfoContainer: (ds) => ds.ref.palette.info._10, warning: (ds) => ds.ref.palette.warning._40, onWarning: (ds) => ds.ref.palette.warning._100, warningContainer: (ds) => ds.ref.palette.warning._90, onWarningContainer: (ds) => ds.ref.palette.warning._10, success: (ds) => ds.ref.palette.success._40, onSuccess: (ds) => ds.ref.palette.success._100, successContainer: (ds) => ds.ref.palette.success._90, onSuccessContainer: (ds) => ds.ref.palette.success._10, error: (ds) => ds.ref.palette.error._40, onError: (ds) => ds.ref.palette.error._100, errorContainer: (ds) => ds.ref.palette.error._90, onErrorContainer: (ds) => ds.ref.palette.error._10, surface: (ds) => ds.ref.palette.neutral._98, onSurface: (ds) => ds.ref.palette.neutral._0, onSurfaceVariant: (ds) => ds.ref.palette.neutral._10, surfaceDim: (ds) => ds.ref.palette.neutral._87, surfaceBright: (ds) => ds.ref.palette.neutral._99, surfaceContainer: (ds) => ds.ref.palette.neutral._100, inverseSurface: (ds) => ds.ref.palette.neutral._10, inverseOnSurface: (ds) => ds.ref.palette.neutral._95, inversePrimary: (ds) => ds.ref.palette.primary._80, scrim: (ds) => ds.ref.palette.primary._40, shadow: (ds) => ds.ref.palette.neutral._0, outline: (ds) => ds.ref.palette.neutral._30, outlineVariant: (ds) => ds.ref.palette.neutralVariant._60, }, shape: { none: 0, extraSmall: rv(4), small: rv(8), medium: rv(12), large: rv(16), extraLarge: rv(28), full: rv(9999), }, state: { pressedStateLayerOpacity: 0.12, disabledContainerOpacity: 0.12, disabledOnContainerOpacity: 0.38, }, elevation: { level0: 0, level1: 1, level2: 3, level3: 6, level4: 8, level5: 12, }, }, comp: { badge, bottomSheet, card, checkbox, chip, filterChip, dialog, dropdown, fullScreenDialog, divider, filledButton, outlinedButton, outlinedTextInput, listItem, progressIndicator, radioButton, searchField, standardIconButton, filledIconButton, outlinedIconButton, tonalIconButton, switch: switchComponent, tabs, textButton, topAppBar, }, }