source: frontend/node_modules/tailwindcss/resolveConfig.d.ts

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 11 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 1.1 KB
Line 
1import { Config, ResolvableTo, ThemeConfig } from './types/config'
2import { DefaultTheme } from './types/generated/default-theme'
3import { DefaultColors } from './types/generated/colors'
4
5type ResolvedConfig<T extends Config> = Omit<T, 'theme'> & {
6 theme: MergeThemes<
7 UnwrapResolvables<Omit<T['theme'], 'extend'>>,
8 T['theme'] extends { extend: infer TExtend } ? UnwrapResolvables<TExtend> : {}
9 >
10}
11
12type UnwrapResolvables<T> = {
13 [K in keyof T]: T[K] extends ResolvableTo<infer R> ? R : T[K]
14}
15
16type ThemeConfigResolved = UnwrapResolvables<ThemeConfig>
17type DefaultThemeFull = DefaultTheme & { colors: DefaultColors }
18
19type MergeThemes<Overrides extends object, Extensions extends object> = {
20 [K in keyof ThemeConfigResolved | keyof Overrides]: (K extends keyof Overrides
21 ? Overrides[K]
22 : K extends keyof DefaultThemeFull
23 ? DefaultThemeFull[K]
24 : K extends keyof ThemeConfigResolved
25 ? ThemeConfigResolved[K]
26 : never) &
27 (K extends keyof Extensions ? Extensions[K] : {})
28}
29
30declare function resolveConfig<T extends Config>(config: T): ResolvedConfig<T>
31export = resolveConfig
Note: See TracBrowser for help on using the repository browser.