-
Notifications
You must be signed in to change notification settings - Fork 1
/
declarations.d.ts
68 lines (63 loc) · 1.36 KB
/
declarations.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import 'styled-components'
declare module 'styled-components' {
export interface ThemeColors {
primary: string
secondary: string
gray01: string
gray02: string
gray03: string
gray04: string
gray05: string
gray06: string
gray07: string
white: string
error: string
success: string
info: string
alert: string
}
// TEXT
interface TextVariant {
family: string
size: number
spacing?: number
}
export interface TextVariants {
title: TextVariant
smallTitle: TextVariant
subtitle: TextVariant
body: TextVariant
label: TextVariant
smallLabel: TextVariant
}
// BUTTONS
interface ButtonVariant {
background: keyof ThemeColors
borderColor?: keyof ThemeColors
borderWidth?: number
fontColor?: keyof ThemeColors
}
export interface ButtonVariants {
primary: ButtonVariant
disabled: ButtonVariant
}
// COMPONENTS
interface TextFieldTheme {
height: number,
borderRadius: number,
background: keyof ThemeColors
textColor: keyof ThemeColors
labelColor: keyof ThemeColors
}
export interface DefaultTheme {
spacing: (factor: number) => number
viewPadding: number
viewBackground: keyof ThemeColors
components: {
textField: TextFieldTheme
}
colors: ThemeColors
text: TextVariants
buttons: ButtonVariants
}
}