1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 | import { Theme } from "@material-ui/core";
|
22 | import { ThemeOptions } from "@material-ui/core/styles";
|
23 | import { Typography, TypographyStyle } from "@material-ui/core/styles/createTypography";
|
24 | import { JssStyle } from "jss";
|
25 | import { Palette } from "@material-ui/core/styles/createPalette";
|
26 | import { IconSetConfiguration, IconStyles } from "./icon";
|
27 | export interface ThemeConfiguration extends ThemeOptions {
|
28 | name: string;
|
29 | label: string;
|
30 | localFonts?: Record<string, (path: string) => string>;
|
31 | stylesheets?: string[];
|
32 | licenses?: string[];
|
33 | iconSet: ThemeIcons;
|
34 | }
|
35 | export interface ThemeIcons {
|
36 | config: IconSetConfiguration;
|
37 | styles: (theme: PrismTheme) => IconStyles;
|
38 | iconColor: (color: string) => JssStyle;
|
39 | }
|
40 | interface PrismPalette extends Palette {
|
41 | adjustAlpha: (color: string, alpha: number) => string;
|
42 | }
|
43 | interface PrismTypography extends Typography {
|
44 | body: TypographyStyle;
|
45 | heading: TypographyStyle;
|
46 | }
|
47 | export interface PrismTheme extends Theme {
|
48 | icons: ThemeIcons;
|
49 | palette: PrismPalette;
|
50 | typography: PrismTypography;
|
51 | }
|
52 | export interface CreatePrismThemeOptions {
|
53 | icons: ThemeIcons;
|
54 | }
|
55 | export declare function createPrismTheme(configuration: ThemeConfiguration, options?: Partial<CreatePrismThemeOptions>, ...args: object[]): PrismTheme;
|
56 | export {};
|