UNPKG

@equinor/fusion-react-styles

Version:
19 lines 1.61 kB
import { CSSProperties as ReactCSSProperties } from 'react'; import { StyleProperty, CSSProperties } from '@equinor/fusion-web-theme'; export interface StyleCSSProperties extends ReactCSSProperties { [k: string]: unknown | CSSProperties | ReactCSSProperties | StyleProperty; } export type BaseCreateCSSProperties<Props extends Record<string, unknown> = Record<string, unknown>> = { [P in keyof CSSProperties]: CSSProperties[P] | ReactCSSProperties[P] | PropsFunc<Props, CSSProperties[P]> | PropsFunc<Props, ReactCSSProperties[P]>; }; export interface CreateCSSProperties<Props extends Record<string, unknown> = Record<string, unknown>> extends BaseCreateCSSProperties<Props> { [k: string]: BaseCreateCSSProperties<Props>[keyof BaseCreateCSSProperties<Props>] | CreateCSSProperties<Props>; } export type PropsFunc<Props extends Record<string, unknown>, T> = (props: Props) => T; /** * Same as material but only with fusion defined/imported CSSProperties, typescript mismatch */ export type StyleRules<Props extends Record<string, unknown> = Record<string, unknown>, ClassKey extends string = string> = Record<ClassKey, CSSProperties | ReactCSSProperties | CreateCSSProperties<Props> | PropsFunc<Props, CreateCSSProperties<Props>>>; export type StyleRulesCallback<Theme, Props extends Record<string, unknown>, ClassKey extends string = string> = (theme: Theme) => StyleRules<Props, ClassKey>; export type Styles<Theme, Props extends Record<string, unknown>, ClassKey extends string = string> = StyleRules<Props, ClassKey> | StyleRulesCallback<Theme, Props, ClassKey>; //# sourceMappingURL=types.d.ts.map