UNPKG

@vimeo/iris

Version:
23 lines (22 loc) 751 B
import { FlattenSimpleInterpolation } from 'styled-components'; export interface ThemeObject { theme: Mode; } export interface Mode { name: string; type: 'THEME' | 'DEVICE'; [key: string]: unknown; } export type TokenValue = string | number | FlattenSimpleInterpolation; export type TokenProxy = (grade: number) => TokenProxy | TokenPrimitive; export type TokenPrimitive = (grade: number) => TokenValue; type TokenType = 'COLOR' | 'SIZE' | 'MOTION' | 'LAYOUT'; export interface Token { default?: string; type: TokenType; modes: { [mode: string]: TokenPrimitive | TokenValue; }; } export declare function readToken(token: Token, grade?: number): TokenValue | (({ theme }: ThemeObject) => TokenValue); export {};