import { Atoms } from './atoms/atoms'; import { space } from './tokens/tokens'; export type Theme = { base: BaseThemePalette; name: SupportedThemes; color: ThemedPalette; atoms: Atoms; }; export type BaseThemePalette = 'light' | 'dark'; export type SupportedThemes = 'default-light' | 'default-dark' | 'system'; export type ThemeStorage = Readonly<{ save: (name: SupportedThemes) => void; read: () => SupportedThemes | null; key: string; }>; export type HexColor = `#${string}`; export type Gradient = [HexColor, HexColor, ...HexColor[]]; export type BasePalette = { primary_900: HexColor; primary_800: HexColor; primary_700: HexColor; primary_600: HexColor; primary_500: HexColor; primary_400: HexColor; primary_300: HexColor; primary_200: HexColor; primary_100: HexColor; secondary_900: HexColor; secondary_800: HexColor; secondary_700: HexColor; secondary_600: HexColor; secondary_500: HexColor; secondary_400: HexColor; secondary_300: HexColor; secondary_200: HexColor; secondary_100: HexColor; gray_max: HexColor; gray_900: HexColor; gray_800: HexColor; gray_700: HexColor; gray_600: HexColor; gray_500: HexColor; gray_400: HexColor; gray_300: HexColor; gray_200: HexColor; gray_100: HexColor; gray_50: HexColor; gray_min: HexColor; black_static: HexColor; white_static: HexColor; green_static: HexColor; red_static: HexColor; sys_magenta_700: HexColor; sys_magenta_600: HexColor; sys_magenta_500: HexColor; sys_magenta_300: HexColor; sys_magenta_100: HexColor; sys_cyan_500: HexColor; sys_cyan_100: HexColor; sys_yellow_500: HexColor; sys_yellow_100: HexColor; sys_orange_500: HexColor; sys_orange_100: HexColor; bg_gradient_1: Gradient; bg_gradient_2: Gradient; bg_gradient_3: Gradient; }; export type ThemedPalette = BasePalette & { text_primary_max: HexColor; text_primary_medium: HexColor; text_primary_min: HexColor; text_gray_max: HexColor; text_gray_medium: HexColor; text_gray_low: HexColor; text_gray_min: HexColor; text_error: HexColor; text_warning: HexColor; text_success: HexColor; text_info: HexColor; bg_color_max: HexColor; bg_color_min: HexColor; el_primary_max: HexColor; el_primary_medium: HexColor; el_primary_min: HexColor; el_gray_max: HexColor; el_gray_medium: HexColor; el_gray_min: HexColor; el_secondary: HexColor; input_selected: HexColor; web_overlay: HexColor; web_bg_sidebar_active: HexColor; web_bg_sidebar_inactive: HexColor; mobile_overlay: HexColor; mobile_bg_blur: HexColor; }; type PaddingValue = (typeof space)[keyof typeof space]; type PaddingProps = { padding?: PaddingValue; paddingTop?: PaddingValue; paddingBottom?: PaddingValue; paddingLeft?: PaddingValue; paddingRight?: PaddingValue; }; export type ThemePadding = { p_0: PaddingProps; p_2xs: PaddingProps; p_xs: PaddingProps; p_sm: PaddingProps; p_md: PaddingProps; p_lg: PaddingProps; p_xl: PaddingProps; p_2xl: PaddingProps; px_0: PaddingProps; px_2xs: PaddingProps; px_xs: PaddingProps; px_sm: PaddingProps; px_md: PaddingProps; px_lg: PaddingProps; px_xl: PaddingProps; px_2xl: PaddingProps; py_0: PaddingProps; py_2xs: PaddingProps; py_xs: PaddingProps; py_sm: PaddingProps; py_md: PaddingProps; py_lg: PaddingProps; py_xl: PaddingProps; py_2xl: PaddingProps; pt_0: PaddingProps; pt_2xs: PaddingProps; pt_xs: PaddingProps; pt_sm: PaddingProps; pt_md: PaddingProps; pt_lg: PaddingProps; pt_xl: PaddingProps; pt_2xl: PaddingProps; pb_0: PaddingProps; pb_2xs: PaddingProps; pb_xs: PaddingProps; pb_sm: PaddingProps; pb_md: PaddingProps; pb_lg: PaddingProps; pb_xl: PaddingProps; pb_2xl: PaddingProps; pl_0: PaddingProps; pl_2xs: PaddingProps; pl_xs: PaddingProps; pl_sm: PaddingProps; pl_md: PaddingProps; pl_lg: PaddingProps; pl_xl: PaddingProps; pl_2xl: PaddingProps; pr_0: PaddingProps; pr_2xs: PaddingProps; pr_xs: PaddingProps; pr_sm: PaddingProps; pr_md: PaddingProps; pr_lg: PaddingProps; pr_xl: PaddingProps; pr_2xl: PaddingProps; }; type TypographyKey = 'heading_1_medium' | 'heading_1_regular' | 'heading_2_medium' | 'heading_2_regular' | 'heading_3_medium' | 'heading_3_regular' | 'heading_4_medium' | 'heading_4_regular' | 'body_1_lg_medium' | 'body_1_lg_regular' | 'body_2_md_medium' | 'body_2_md_regular' | 'body_3_sm_medium' | 'body_3_sm_regular' | 'button_1_lg' | 'button_2_md' | 'link_1_lg' | 'link_1_lg_underline' | 'link_2_md' | 'link_2_md_underline' | 'navbar' | 'font_thin' | 'font_normal' | 'font_semibold' | 'font_bold' | 'italic' | 'monospace' | 'text_left' | 'text_center' | 'text_right'; type BaseTextStyle = { fontSize?: number; lineHeight?: number; fontFamily?: string; letterSpacing?: number; textTransform?: string; textDecorationLine?: string; fontStyle?: string; textAlign?: string; fontWeight?: string; }; export type TypographyTheme = { [K in TypographyKey]: BaseTextStyle; }; export type SpacingSize = 'none' | '_2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '_2xl'; export {}; //# sourceMappingURL=types.d.ts.map