@totalsoft/rocket-ui
Version:
A set of reusable and composable React components built on top of Material UI core for developing fast and friendly web applications interfaces.
112 lines (111 loc) • 3.17 kB
TypeScript
import { Components, ComponentsOverrides, ComponentsProps, ComponentsVariants, Palette, PaletteColor, PaletteColorOptions, ThemeOptions } from '@mui/material';
import { TypographyOptions } from '@mui/material/styles/createTypography';
import { CSSProperties } from 'react';
declare module '@mui/material/styles/createTypography' {
interface TypographyOptions {
defaultFont: CSSProperties;
useNextVariants: boolean;
body: CSSProperties;
}
interface Typography {
defaultFont: CSSProperties;
useNextVariants: boolean;
body: CSSProperties;
}
}
declare module '@mui/material' {
interface Theme {
customShadows: CustomShadows;
palette: Palette;
}
interface Palette {
sideMenu: SideMenu;
rose: PaletteColor;
white: PaletteColor;
dark: PaletteColor;
black: Partial<PaletteColor>;
link: Partial<PaletteColor>;
default: PaletteColor;
grey: Color;
createGradient?: (colorsArray: string[]) => string;
gradients: ColorGradients;
darkGradients: ColorGradients;
}
interface PaletteOptions {
sideMenu: SideMenuOptions;
rose?: PaletteColorOptions;
white?: PaletteColorOptions;
dark?: PaletteColorOptions;
black?: Partial<SimplePaletteColorOptions>;
link?: Partial<SimplePaletteColorOptions>;
default?: PaletteColorOptions;
createGradient?: (colorsArray: string[]) => string;
gradients?: ColorGradients;
darkGradients?: ColorGradients;
}
interface SimplePaletteColorOptions {
lighter?: string;
darker?: string;
rgba?: string;
}
interface Color {
500_8: string;
500_12: string;
500_16: string;
500_24: string;
500_32: string;
500_48: string;
500_56: string;
500_80: string;
main: string;
}
}
export interface CustomComponents extends Components {
MuiButton?: {
defaultProps?: ComponentsProps['MuiButton'];
styleOverrides?: ComponentsOverrides['MuiButton'] & {
sizeTiny: unknown;
};
variants?: ComponentsVariants['MuiButton'];
};
}
export type CustomShadows = {
z1: string;
z8: string;
z12: string;
z16: string;
z20: string;
z24: string;
primary: string;
secondary: string;
info: string;
success: string;
warning: string;
error: string;
};
export type ColorGradients = {
primary: string;
secondary: string;
rose: string;
error: string;
warning: string;
info: string;
success: string;
dark: string;
default: string;
};
export interface CreateThemeOptions extends Omit<ThemeOptions, 'typography'> {
typography: TypographyOptions | ((palette: Palette) => TypographyOptions);
}
export type SideMenuOptions = CSSProperties & {
bgColor?: string;
hoverBgColor?: string;
hoverTextColor?: string;
bgOpacity?: string;
};
export type SideMenu = CSSProperties & {
bgColor: string;
hoverBgColor: string;
hoverTextColor: string;
bgOpacity: string;
};