react-base16-styling
Version:
React styling with base16 color scheme support
33 lines (26 loc) • 817 B
text/typescript
import * as CSS from 'csstype';
import type { Base16Theme } from './themes/index.js';
export interface Styling {
className?: string;
style?: CSS.Properties<string | number>;
}
export type StylingValueFunction = (
styling: Styling,
...rest: unknown[]
) => Partial<Styling>;
export type StylingValue =
| string
| CSS.Properties<string | number>
| StylingValueFunction;
export type StylingConfig = {
// Should actually only be string | Base16Theme
extend?: string | Base16Theme | StylingValue;
} & {
// Should actually only be StylingValue
[name: string]: StylingValue | string | Base16Theme;
};
export type Theme = string | Base16Theme | StylingConfig;
export type StylingFunction = (
keys: (string | false | undefined) | (string | false | undefined)[],
...rest: unknown[]
) => Styling;