@mui/material
Version:
Material UI is an open-source React component library that implements Google's Material Design. It's comprehensive and can be used in production out of the box.
22 lines • 1.17 kB
TypeScript
import { PaletteOptions } from "./createPalette.js";
import { ColorSystemOptions } from "./createThemeFoundation.js";
import { CssVarsThemeOptions } from "./createThemeWithVars.js";
import { Theme, CssThemeVariables } from "./createThemeNoVars.js";
export type { Theme, CssThemeVariables } from "./createThemeNoVars.js";
type CssVarsOptions = CssThemeVariables extends {
enabled: true;
} ? ColorSystemOptions : {};
type CssVarsConfigList = 'colorSchemeSelector' | 'rootSelector' | 'disableCssColorScheme' | 'cssVarPrefix' | 'shouldSkipGeneratingVar' | 'nativeColor';
export interface ThemeOptions extends CssVarsOptions, Omit<CssVarsThemeOptions, CssVarsConfigList> {
cssVariables?: boolean | Pick<CssVarsThemeOptions, CssVarsConfigList>;
palette?: PaletteOptions;
}
/**
* Generate a theme base on the options received.
* @param options Takes an incomplete theme object and adds the missing parts.
* @param args Deep merge the arguments with the about to be returned theme.
* @returns A complete, ready-to-use theme object.
*/
export default function createTheme(options?: ThemeOptions,
// cast type to skip module augmentation test
...args: object[]): Theme;