ohctechv3/.svn/pristine/85/85b67124507677feb22fefb071086b67cb294262.svn-base

18 lines
458 B
Plaintext
Raw Permalink Normal View History

2024-10-28 15:03:36 +05:30
export {};
interface ThemeWithProps<Components> {
components?: { [K in keyof Components]: { defaultProps?: Partial<Components[K]> } };
}
type ThemedProps<Theme, Name extends keyof any> = Theme extends {
components: Record<Name, { defaultProps: infer Props }>;
}
? Props
: {};
export default function getThemeProps<Theme, Props, Name extends keyof any>(params: {
props: Props;
name: Name;
theme?: Theme;
}): Props & ThemedProps<Theme, Name>;