UNPKG

@atlaskit/tokens

Version:

Design tokens are the single source of truth to name and store design decisions.

26 lines (25 loc) 1.7 kB
import { type ThemeIdsWithOverrides, type ThemeState } from './theme-config'; export interface ThemeStyles { id: ThemeIdsWithOverrides; attrs: Record<string, string>; css: string; } /** * Takes an object containing theme preferences, and returns an array of objects for use in applying styles to the document head. * Only supplies the color themes necessary for initial render, based on the current themeState. I.e. if in light mode, dark mode themes are not returned. * * @param {Object<string, string>} themeState The themes and color mode that should be applied. * @param {string} themeState.colorMode Determines which color theme is applied. If set to `auto`, the theme applied will be determined by the OS setting. * @param {string} themeState.dark The color theme to be applied when the color mode resolves to 'dark'. * @param {string} themeState.light The color theme to be applied when the color mode resolves to 'light'. * @param {string} themeState.motion The motion theme to be applied. * @param {string} themeState.shape The shape theme to be applied. * @param {string} themeState.spacing The spacing theme to be applied. * @param {string} themeState.typography The typography theme to be applied. * @param {Object} themeState.UNSAFE_themeOptions The custom branding options to be used for custom theme generation * * @returns A Promise of an object array, containing theme IDs, data-attributes to attach to the theme, and the theme CSS. * If an error is encountered while loading themes, the themes array will be empty. */ declare const getThemeStyles: (preferences?: Partial<ThemeState> | "all") => Promise<ThemeStyles[]>; export default getThemeStyles;