@mui/material
Version:
Quickly build beautiful React apps. MUI is a simple and customizable component library to build faster, beautiful, and more accessible React applications. Follow your own design system, or start with Material Design.
18 lines (14 loc) • 442 B
TypeScript
import { Components } from './components';
export interface ThemeWithProps {
components?: Components;
}
export type ThemedProps<Theme, Name extends keyof any> = Theme extends {
components: Record<Name, { defaultProps: infer Props }>;
}
? Props
: {};
export default function useThemeProps<
Theme extends ThemeWithProps,
Props,
Name extends keyof any,
>(params: { props: Props; name: Name }): Props & ThemedProps<Theme, Name>;