1
0
Fork 0

worked on GarageApp stuff

This commit is contained in:
Techognito 2025-08-25 17:46:11 +02:00
parent 60aaf17af3
commit eb606572b0
51919 changed files with 2168177 additions and 18 deletions

View file

@ -0,0 +1,11 @@
export {};
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>;

View file

@ -0,0 +1,12 @@
import resolveProps from '@mui/utils/resolveProps';
export default function getThemeProps(params) {
const {
theme,
name,
props
} = params;
if (!theme || !theme.components || !theme.components[name] || !theme.components[name].defaultProps) {
return props;
}
return resolveProps(theme.components[name].defaultProps, props);
}

View file

@ -0,0 +1,3 @@
export { default } from "./useThemeProps.js";
export * from "./useThemeProps.js";
export { default as getThemeProps } from "./getThemeProps.js";

2
node_modules/@mui/system/esm/useThemeProps/index.js generated vendored Normal file
View file

@ -0,0 +1,2 @@
export { default } from "./useThemeProps.js";
export { default as getThemeProps } from "./getThemeProps.js";

View file

@ -0,0 +1,14 @@
export interface ThemeWithProps {
components?: any;
}
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;
defaultTheme?: Theme;
themeId?: string;
}): Props & ThemedProps<Theme, Name>;

View file

@ -0,0 +1,20 @@
'use client';
import getThemeProps from "./getThemeProps.js";
import useTheme from "../useTheme/index.js";
export default function useThemeProps({
props,
name,
defaultTheme,
themeId
}) {
let theme = useTheme(defaultTheme);
if (themeId) {
theme = theme[themeId] || theme;
}
return getThemeProps({
theme,
name,
props
});
}