border
border: {
baseWidthPx: number;
radiusPx: {
base: number;
full: number;
lg: number;
sm: number;
xl: number;
xxl: number;
};
}
brand
brand: {
faviconUrl: string;
logoUrls: { darkBg: string; lightBg: string };
name: string;
}
breakpoints
breakpoints: {
mobile: { isBroken: boolean; px: number };
tablet: { isBroken: boolean; px: number };
}
element
element: { maxBorderRadiusPx: number; maxSizeViewportUnits: number; maxWidthPx: number; zIndex: Record<ThemeStyleZIndexCategory, number>;}
font
font: {
family: { body: string; display: string; heading: string };
lineHeightPx: {
base: number;
lg: number;
sm: number;
xl: number;
xs: number;
xxl: number;
xxs: number;
xxxl: number;
};
sizePx: {
base: number;
lg: number;
sm: number;
xl: number;
xs: number;
xxl: number;
xxs: number;
xxxl: number;
};
}
isDarkMode
isDarkMode: boolean
isWhiteLabeled
isWhiteLabeled: boolean
opacity
opacity: { disabled: number; hidden: number; loading: number; subtle: number }
palette
palette: {
background: string;
backgroundAccent: string;
backgroundDisabled: string;
backgroundHover: string;
backgroundMuted: string;
border: string;
borderAccent: string;
borderMuted: string;
custom: string;
customAccent: string;
customBackground: string;
customMuted: string;
doesPrimaryPassAccessibility: boolean;
doesSecondaryPassAccessibility: boolean;
error: string;
errorAccent: string;
errorBackground: string;
errorMuted: string;
foreground: string;
foregroundAccent: string;
foregroundDisabled: string;
foregroundInverted: string;
foregroundMuted: string;
info: string;
infoAccent: string;
infoBackground: string;
infoMuted: string;
primary: string;
primaryAccent: string;
primaryBackground: string;
primaryContrast: string;
primaryMuted: string;
secondary: string;
secondaryAccent: string;
secondaryBackground: string;
secondaryContrast: string;
secondaryMuted: string;
success: string;
successAccent: string;
successBackground: string;
successMuted: string;
surface: string;
tertiary: string;
tertiaryAccent: string;
tertiaryBackground: string;
tertiaryMuted: string;
warning: string;
warningAccent: string;
warningBackground: string;
warningMuted: string;
}
shadow
shadow: { base: string; focus: string; sm: string; text: string }
spacingPx
spacingPx: {
base: number;
lg: number;
sm: number;
xl: number;
xs: number;
xxl: number;
xxxl: number;
}
toggleDarkMode
toggleDarkMode: () => void
transition
transition: { baseDurationMs: number; timingFunction: string }
Toggles dark mode and saves the preference in local storage.