Začetni commit projekta rezervacije

This commit is contained in:
Mark Poljanšek committed 2025-04-23 20:19:33 +02:00
commit 328731b32f
56062 files changed
+2485242

No files matched your search

+11
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>;
+12
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);
}
+3
View File
@@ -0,0 +1,3 @@
export { default } from "./useThemeProps.js";
export * from "./useThemeProps.js";
export { default as getThemeProps } from "./getThemeProps.js";
+2
View File
@@ -0,0 +1,2 @@
export { default } from "./useThemeProps.js";
export { default as getThemeProps } from "./getThemeProps.js";
+14
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>;
+20
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
});
}