1 | import { ChakraTheme, Theme } from "@chakra-ui/theme";
|
2 | import { AnyFunction, Dict } from "@chakra-ui/utils";
|
3 | declare type CloneKey<Target, Key> = Key extends keyof Target ? Target[Key] : unknown;
|
4 | export declare type DeepPartial<T> = {
|
5 | [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
|
6 | };
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 | declare type DeepThemeExtension<BaseTheme, ThemeType> = {
|
13 | [Key in keyof BaseTheme]?: BaseTheme[Key] extends (...args: any[]) => any ? DeepThemeExtension<DeepPartial<ReturnType<BaseTheme[Key]>>, CloneKey<ThemeType, Key>> : BaseTheme[Key] extends Array<any> ? CloneKey<ThemeType, Key> : BaseTheme[Key] extends object ? DeepThemeExtension<DeepPartial<BaseTheme[Key]>, CloneKey<ThemeType, Key>> : CloneKey<ThemeType, Key>;
|
14 | };
|
15 | export declare type ThemeOverride<BaseTheme = Theme> = DeepPartial<ChakraTheme> & DeepThemeExtension<BaseTheme, ChakraTheme> & Dict;
|
16 | export declare type ThemeExtension<Override extends ThemeOverride = ThemeOverride> = (themeOverride: Override) => Override;
|
17 | export declare type BaseThemeWithExtensions<BaseTheme extends ChakraTheme, Extensions extends readonly [...any]> = BaseTheme & (Extensions extends [infer L, ...infer R] ? L extends AnyFunction ? ReturnType<L> & BaseThemeWithExtensions<BaseTheme, R> : L & BaseThemeWithExtensions<BaseTheme, R> : Extensions);
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
31 |
|
32 |
|
33 |
|
34 |
|
35 |
|
36 |
|
37 |
|
38 |
|
39 |
|
40 | export declare function extendTheme(...extensions: Array<Dict | ((theme: Dict) => Dict)>): Dict;
|
41 | export declare function mergeThemeOverride(...overrides: any[]): any;
|
42 | export {};
|
43 |
|
\ | No newline at end of file |