/** * Context based theming system * * Loosely based on https://github.com/seek-oss/braid-design-system */ import React from "react"; import MyCauseTheme from "./mycause-theme"; export type Theme = { typography: { fontFamily: { brand: string; default: string; alternate: string; }; }; color: { foreground: { neutral: string; primary: string; accent: string; secondary: string; muted: string; inactive: string; partner: string; coral: string; }; background: { neutral: string; primary: string; accent: string; secondary: string; muted: string; inactive: string; partner: string; coral: string; }; }; }; export declare const ThemeContext: React.Context; type ThemeProviderProps = { value: Theme; children?: React.ReactNode; }; export declare function ThemeProvider({ value, children }: ThemeProviderProps): React.JSX.Element; export declare function useTheme(): Theme; export type ColorSpecifier = keyof Theme["color"]["foreground"] | { foreground: string; background: string; }; type GetColorTokenOptions = { invert?: boolean; }; export declare function getColorToken(theme: Theme, kind: keyof Theme["color"], color: keyof Theme["color"]["foreground"] | { [T in keyof Theme["color"]]: string; } | string, options?: GetColorTokenOptions): string; export { MyCauseTheme };