import type { Except } from 'type-fest'; import type { KittTheme } from './types'; interface ConfigMediaQuery { baseAndSmall: string; mediumAndWide: string; } interface LinkThemeConfig { disabledColor: string; } interface HighlightThemeConfig { default: { backgroundColor: string; }; dark: { borderColor: string; backgroundColor: string; }; } interface TypographyThemeConfig { fontFamilyHeader: string; fontFamilyBody: string; fontSizeHeader1: ConfigMediaQuery; fontSizeHeader2: ConfigMediaQuery; fontSizeHeader3: ConfigMediaQuery; fontSizeHeader4: ConfigMediaQuery; fontSizeHeader5: ConfigMediaQuery; fontSizeBodyLarge: ConfigMediaQuery; fontSizeBody: string; fontSizeBodyMedium: string; fontSizeBodySmall: string; fontSizeBodyXSmall: string; fontSizeTitle: string; lineHeightHeader1: ConfigMediaQuery; lineHeightHeader2: ConfigMediaQuery; lineHeightHeader3: ConfigMediaQuery; lineHeightHeader4: ConfigMediaQuery; lineHeightHeader5: ConfigMediaQuery; lineHeightBodyLarge: ConfigMediaQuery; lineHeightBody: string; lineHeightBodyMedium: string; lineHeightBodySmall: string; lineHeightBodyXSmall: string; lineHeightTitle: string; } interface FeedbackMessage { color: string; shadow?: string; dismissBackground: string; } export interface FeedbackMessageThemeConfig { warning: FeedbackMessage; info: FeedbackMessage; confirm: FeedbackMessage; error: FeedbackMessage; } export interface ButtonThemeConfig { minWidth: string; borderRadius: string; contentPadding: { default: string; accent?: string; large: string; xlarge: string; disabled: string; }; primary: { color: string; backgroundColor: string; hoverBackgroundColor: string; focusBorderColor: string; shadow?: string; hoverShadow?: string; activeShadow?: string; }; default: { color: string; backgroundColor: string; hoverBackgroundColor: string; focusBorderColor: string; }; white: { color: string; backgroundColor: string; hoverBackgroundColor: string; focusBorderColor: string; }; subtle: { color: string; hoverColor: string; activeColor: string; focusBorderColor: string; }; subtleDark: { color: string; hoverColor: string; activeColor: string; focusBorderColor: string; }; ghostPrimary: { color: string; backgroundColor: string; hoverBackgroundColor: string; focusBorderColor: string; }; ghostSecondary: { color: string; backgroundColor: string; hoverBackgroundColor: string; focusBorderColor: string; }; disabled: { color: string; backgroundColor: string; borderColor: string; focusBorderColor: string; }; facebook?: { shadow: string; hoverShadow: string; activeShadow: string; }; danger?: { shadow: string; hoverShadow: string; activeShadow: string; }; } interface AvatarVariantThemeConfig { color: string; backgroundColor: string; } interface CheckboxThemeConfig { labelColor?: string; labelFontWeight?: number; borderColor: string; shadow?: string; focusBorderColor: string; checkedBorderColor: string; checkedBackgroundColor: string; } interface RadioButtonThemeConfig extends Except { borderRadius: string; } interface InputThemeConfig { fontWeight?: number; borderRadius?: string; borderColor: string; shadow?: string; focusBorderColor: string; hoverBorderColor: string; placeholderColor?: string; placeholderFontWeight?: number; disabledColor?: string; disabledFontWeight?: number; disabledBackgroundColor: string; disabledBorderColor: string; } export interface FormThemeConfig { radio: CheckboxThemeConfig; checkbox: CheckboxThemeConfig; radioButton: RadioButtonThemeConfig; input: InputThemeConfig; icon: { disabled?: string; valid?: string; invalid?: string; }; feedback: { default: string; valid?: string; invalid?: string; }; } interface DepthThemeConfig { baseColor?: string; default: { base: string; }; card: { base: string; medium: string; high: { base: string; medium: string; large: string; }; }; } interface MapThemeConfig { image: { placeholderBackgroundColor: string; }; } interface OverlayThemeConfig { dark: string; light: string; } export interface ThemeConfig { /** Theme Colors */ primaryColor: string; accentColor: string; correctColor: string; successColor: string; alertColor: string; /** Main Colors */ mainBlackColor: string; mainRegularColor: string; mainBlackAnthraciteColor: string; mainBlackLightColor: string; mainWhiteColor: string; mainWhiteLightColor: string; /** UI Color */ separatorColor: string; hoverColor: string; depth: DepthThemeConfig; uiBackgroundColor: string; button: ButtonThemeConfig; feedbackMessage: FeedbackMessageThemeConfig; highlight: HighlightThemeConfig; avatar: { default: AvatarVariantThemeConfig; light: AvatarVariantThemeConfig; }; form: FormThemeConfig; dropdown: { defaultActiveBackgroundColor: string; primaryActiveBackgroundColor: string; }; map: MapThemeConfig; /** Options (Inputs & Dropdowns) */ options: { item: { fontWeight: number; eventFontWeight: number; eventColor: string; hover: string; active: string; selected: string; focus: string; }; container: { shadow: string; }; }; /** Link */ link: LinkThemeConfig; /** Tooltip */ tooltip: { backgroundColor: string; }; /** Menu */ menu: { item: { focusBorderColor: string; selectedBackgroundColor: string; selectedShadow?: string; borderRadius?: string; }; }; /** Table */ table?: { cellColor: string; headingColor: string; }; /** Close Button */ closeButton?: { color: string; }; /** Overlay */ overlay: OverlayThemeConfig; /** Font & Typography */ typography: TypographyThemeConfig; } export declare function createTheme({ primaryColor, accentColor, successColor, correctColor, alertColor, mainBlackColor, mainRegularColor, mainBlackAnthraciteColor, mainBlackLightColor, mainWhiteColor, mainWhiteLightColor, separatorColor, hoverColor, uiBackgroundColor, depth, button, feedbackMessage, form, dropdown, options, tooltip, highlight, avatar, menu, table, closeButton, map, overlay, link, typography, }: ThemeConfig): KittTheme; export {}; //# sourceMappingURL=createTheme.d.ts.map