@prezly/theme-kit-ui
Version:
UI components for Prezly themes
12 lines (11 loc) • 646 B
TypeScript
export type Styling<Props extends {}> = ClassNames | ClassNamesMapping<Props>;
export type ClassNames = ClassNamesArray | string | null | undefined | 0 | false;
type ClassNamesArray = Array<ClassNames>;
type ClassNamesMapping<Props extends {}> = Partial<{
[K in keyof Props]: ClassNames | Partial<{
$on: ClassNames;
$off: ClassNames;
}> | (Required<Props>[K] extends string ? Partial<Record<string & Required<Props>[K], ClassNames>> : never);
}>;
export declare function createStyling<Props extends {}>(...styles: Styling<Required<Props>>[]): (config?: Partial<Props>, ...extraClasses: ClassNames[]) => string;
export {};