@vellira-ui/tokens 2.26.1 → 2.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/css/tokens.css +695 -329
  2. package/dist/dark/components/button.d.ts +263 -95
  3. package/dist/dark/components/button.d.ts.map +1 -1
  4. package/dist/dark/components/button.js +136 -151
  5. package/dist/dark/components/formField.d.ts +1 -1
  6. package/dist/dark/components/input.d.ts +3 -3
  7. package/dist/dark/semantic/icons.d.ts +1 -1
  8. package/dist/dark/semantic/status.d.ts +4 -4
  9. package/dist/dark/theme.d.ts +11 -11
  10. package/dist/generated/token-types.d.ts +4 -4
  11. package/dist/generated/token-types.d.ts.map +1 -1
  12. package/dist/generated/token-types.js +704 -216
  13. package/dist/highContrast/components/button.d.ts +264 -96
  14. package/dist/highContrast/components/button.d.ts.map +1 -1
  15. package/dist/highContrast/components/button.js +135 -150
  16. package/dist/highContrast/components/formField.d.ts +1 -1
  17. package/dist/highContrast/components/input.d.ts +3 -3
  18. package/dist/highContrast/semantic/action.d.ts +6 -6
  19. package/dist/highContrast/semantic/action.js +6 -6
  20. package/dist/highContrast/semantic/icons.d.ts +1 -1
  21. package/dist/highContrast/semantic/status.d.ts +5 -5
  22. package/dist/highContrast/theme.d.ts +11 -11
  23. package/dist/light/components/button.d.ts +264 -96
  24. package/dist/light/components/button.d.ts.map +1 -1
  25. package/dist/light/components/button.js +136 -151
  26. package/dist/light/components/formField.d.ts +2 -2
  27. package/dist/light/components/input.d.ts +3 -3
  28. package/dist/light/semantic/icons.d.ts +1 -1
  29. package/dist/light/semantic/status.d.ts +7 -7
  30. package/dist/light/semantic/status.js +3 -3
  31. package/dist/light/theme.d.ts +11 -11
  32. package/dist/primitives/colors.d.ts +11 -11
  33. package/dist/primitives/colors.js +11 -11
  34. package/dist/utils/createButtonPalette.d.ts +106 -0
  35. package/dist/utils/createButtonPalette.d.ts.map +1 -0
  36. package/dist/utils/createButtonPalette.js +72 -0
  37. package/package.json +1 -1
@@ -1,174 +1,159 @@
1
1
  import { colors } from '../../primitives/colors.js';
2
- import { action } from '../semantic/action.js';
2
+ import { createButtonPalette } from '../../utils/createButtonPalette.js';
3
3
  import { border } from '../semantic/border.js';
4
- import { status } from '../semantic/status.js';
5
4
  import { surface } from '../semantic/surface.js';
6
5
  import { text } from '../semantic/text.js';
7
- const transparent = {
8
- bg: 'transparent',
9
- border: 'transparent',
10
- };
11
- export const button = {
12
- primary: {
13
- solid: {
14
- default: action.primary.default,
15
- hover: action.primary.hover,
16
- pressed: action.primary.active,
6
+ const primary = createButtonPalette({
7
+ ring: colors.primary[400],
8
+ solid: {
9
+ default: {
10
+ bg: colors.primary[600],
11
+ fg: colors.primary[50],
12
+ border: colors.primary[600],
17
13
  },
18
- outline: {
19
- default: {
20
- bg: 'transparent',
21
- fg: colors.primary[700],
22
- border: colors.primary[600],
23
- },
24
- hover: {
25
- bg: action.primary.subtle.bg,
26
- fg: colors.primary[800],
27
- border: colors.primary[700],
28
- },
29
- pressed: {
30
- bg: action.primary.muted.bg,
31
- fg: colors.primary[900],
32
- border: colors.primary[800],
33
- },
14
+ hover: {
15
+ bg: colors.primary[700],
16
+ fg: colors.primary[200],
17
+ border: colors.primary[700],
34
18
  },
35
- ghost: {
36
- default: {
37
- ...transparent,
38
- fg: colors.primary[700],
39
- },
40
- hover: {
41
- ...transparent,
42
- bg: action.primary.subtle.bg,
43
- fg: colors.primary[800],
44
- },
45
- pressed: {
46
- ...transparent,
47
- bg: action.primary.muted.bg,
48
- fg: colors.primary[900],
49
- },
19
+ pressed: {
20
+ bg: colors.primary[800],
21
+ fg: colors.primary[300],
22
+ border: colors.primary[800],
50
23
  },
51
24
  },
52
- secondary: {
53
- solid: {
54
- default: action.secondary.default,
55
- hover: action.secondary.hover,
56
- pressed: action.secondary.active,
25
+ fg: colors.primary[700],
26
+ bg: colors.primary[50],
27
+ border: colors.primary[400],
28
+ hoverFg: colors.primary[800],
29
+ hoverBg: colors.primary[100],
30
+ hoverBorder: colors.primary[500],
31
+ pressedFg: colors.primary[900],
32
+ pressedBg: colors.primary[200],
33
+ pressedBorder: colors.primary[600],
34
+ });
35
+ const neutral = createButtonPalette({
36
+ ring: colors.vellira[400],
37
+ solid: {
38
+ default: {
39
+ bg: colors.vellira[200],
40
+ fg: colors.vellira[950],
41
+ border: colors.vellira[200],
57
42
  },
58
- outline: {
59
- default: {
60
- bg: 'transparent',
61
- fg: colors.secondary[700],
62
- border: colors.secondary[700],
63
- },
64
- hover: {
65
- bg: action.secondary.subtle.bg,
66
- fg: colors.secondary[800],
67
- border: colors.secondary[800],
68
- },
69
- pressed: {
70
- bg: action.secondary.muted.bg,
71
- fg: colors.secondary[900],
72
- border: colors.secondary[900],
73
- },
43
+ hover: {
44
+ bg: colors.vellira[300],
45
+ fg: colors.vellira[900],
46
+ border: colors.vellira[300],
74
47
  },
75
- ghost: {
76
- default: {
77
- ...transparent,
78
- fg: colors.secondary[700],
79
- },
80
- hover: {
81
- ...transparent,
82
- bg: action.secondary.subtle.bg,
83
- fg: colors.secondary[800],
84
- },
85
- pressed: {
86
- ...transparent,
87
- bg: action.secondary.muted.bg,
88
- fg: colors.secondary[900],
89
- },
48
+ pressed: {
49
+ bg: colors.vellira[400],
50
+ fg: colors.vellira[800],
51
+ border: colors.vellira[400],
90
52
  },
91
53
  },
92
- close: {
93
- solid: {
94
- default: action.close.default,
95
- hover: action.close.hover,
96
- pressed: action.close.active,
54
+ fg: colors.vellira[600],
55
+ bg: colors.vellira[100],
56
+ border: colors.vellira[400],
57
+ hoverFg: colors.vellira[700],
58
+ hoverBg: colors.vellira[200],
59
+ hoverBorder: colors.vellira[500],
60
+ pressedFg: colors.vellira[800],
61
+ pressedBg: colors.vellira[300],
62
+ pressedBorder: colors.vellira[600],
63
+ });
64
+ const success = createButtonPalette({
65
+ ring: colors.success[500],
66
+ solid: {
67
+ default: {
68
+ bg: colors.success[500],
69
+ fg: colors.success[950],
70
+ border: colors.success[500],
97
71
  },
98
- outline: {
99
- default: {
100
- bg: 'transparent',
101
- fg: colors.vellira[700],
102
- border: colors.vellira[400],
103
- },
104
- hover: {
105
- bg: action.close.subtle.bg,
106
- fg: colors.vellira[800],
107
- border: colors.vellira[500],
108
- },
109
- pressed: {
110
- bg: action.close.muted.bg,
111
- fg: colors.vellira[900],
112
- border: colors.vellira[600],
113
- },
72
+ hover: {
73
+ bg: colors.success[600],
74
+ fg: colors.success[900],
75
+ border: colors.success[600],
114
76
  },
115
- ghost: {
116
- default: {
117
- ...transparent,
118
- fg: text.primary,
119
- },
120
- hover: {
121
- ...transparent,
122
- bg: action.close.subtle.bg,
123
- fg: colors.vellira[800],
124
- },
125
- pressed: {
126
- ...transparent,
127
- bg: action.close.muted.bg,
128
- fg: colors.vellira[900],
129
- },
77
+ pressed: {
78
+ bg: colors.success[700],
79
+ fg: colors.success[800],
80
+ border: colors.success[700],
130
81
  },
131
82
  },
132
- danger: {
133
- solid: {
134
- default: action.danger.default,
135
- hover: action.danger.hover,
136
- pressed: action.danger.active,
83
+ fg: colors.success[700],
84
+ bg: colors.success[50],
85
+ border: colors.success[600],
86
+ hoverFg: colors.success[800],
87
+ hoverBg: colors.success[100],
88
+ hoverBorder: colors.success[700],
89
+ pressedFg: colors.success[900],
90
+ pressedBg: colors.success[200],
91
+ pressedBorder: colors.success[800],
92
+ });
93
+ const warning = createButtonPalette({
94
+ ring: colors.warning[500],
95
+ solid: {
96
+ default: {
97
+ bg: colors.warning[500],
98
+ fg: colors.warning[950],
99
+ border: colors.warning[500],
137
100
  },
138
- outline: {
139
- default: {
140
- bg: 'transparent',
141
- fg: status.error.fg,
142
- border: status.error.border,
143
- },
144
- hover: {
145
- bg: status.error.bg,
146
- fg: colors.error[800],
147
- border: colors.error[700],
148
- },
149
- pressed: {
150
- bg: action.danger.muted.bg,
151
- fg: colors.error[900],
152
- border: colors.error[800],
153
- },
101
+ hover: {
102
+ bg: colors.warning[600],
103
+ fg: colors.warning[900],
104
+ border: colors.warning[600],
154
105
  },
155
- ghost: {
156
- default: {
157
- ...transparent,
158
- fg: status.error.fg,
159
- },
160
- hover: {
161
- ...transparent,
162
- bg: status.error.bg,
163
- fg: colors.error[800],
164
- },
165
- pressed: {
166
- ...transparent,
167
- bg: action.danger.muted.bg,
168
- fg: colors.error[900],
169
- },
106
+ pressed: {
107
+ bg: colors.warning[700],
108
+ fg: colors.warning[800],
109
+ border: colors.warning[700],
170
110
  },
171
111
  },
112
+ fg: colors.warning[700],
113
+ bg: colors.warning[50],
114
+ border: colors.warning[600],
115
+ hoverFg: colors.warning[800],
116
+ hoverBg: colors.warning[100],
117
+ hoverBorder: colors.warning[700],
118
+ pressedFg: colors.warning[900],
119
+ pressedBg: colors.warning[200],
120
+ pressedBorder: colors.warning[800],
121
+ });
122
+ const danger = createButtonPalette({
123
+ ring: colors.error[500],
124
+ solid: {
125
+ default: {
126
+ bg: colors.error[700],
127
+ fg: colors.error[50],
128
+ border: colors.error[700],
129
+ },
130
+ hover: {
131
+ bg: colors.error[800],
132
+ fg: colors.error[200],
133
+ border: colors.error[800],
134
+ },
135
+ pressed: {
136
+ bg: colors.error[900],
137
+ fg: colors.error[300],
138
+ border: colors.error[900],
139
+ },
140
+ },
141
+ fg: colors.error[700],
142
+ bg: colors.error[50],
143
+ border: colors.error[500],
144
+ hoverFg: colors.error[800],
145
+ hoverBg: colors.error[100],
146
+ hoverBorder: colors.error[700],
147
+ pressedFg: colors.error[700],
148
+ pressedBg: colors.error[200],
149
+ pressedBorder: colors.error[600],
150
+ });
151
+ export const button = {
152
+ primary,
153
+ neutral,
154
+ success,
155
+ warning,
156
+ danger,
172
157
  disabled: {
173
158
  bg: surface.disabled,
174
159
  fg: text.disabled,
@@ -13,10 +13,10 @@ export declare const formField: {
13
13
  readonly fg: "#BE123C";
14
14
  };
15
15
  readonly success: {
16
- readonly fg: "#047857";
16
+ readonly fg: "#0F766E";
17
17
  };
18
18
  readonly warning: {
19
- readonly fg: "#92400E";
19
+ readonly fg: "#B45309";
20
20
  };
21
21
  readonly info: {
22
22
  readonly fg: "#0C4A6E";
@@ -33,8 +33,8 @@ export declare const input: {
33
33
  readonly ring: "#F43F5E";
34
34
  };
35
35
  readonly success: {
36
- readonly border: "#10B981";
37
- readonly ring: "#10B981";
36
+ readonly border: "#0F766E";
37
+ readonly ring: "#14B8A6";
38
38
  };
39
39
  readonly readOnly: {
40
40
  readonly bg: "#FDFCFF";
@@ -47,7 +47,7 @@ export declare const input: {
47
47
  readonly default: "#3D3754";
48
48
  readonly primary: "#5037C8";
49
49
  readonly secondary: "#6B6386";
50
- readonly success: "#047857";
50
+ readonly success: "#0F766E";
51
51
  readonly danger: "#BE123C";
52
52
  readonly muted: "#958CB0";
53
53
  readonly inverse: "#FFFFFF";
@@ -7,7 +7,7 @@ export declare const icons: {
7
7
  readonly primary: "#5037C8";
8
8
  readonly brand: "#5037C8";
9
9
  readonly hover: "#402C9F";
10
- readonly success: "#047857";
10
+ readonly success: "#0F766E";
11
11
  readonly danger: "#BE123C";
12
12
  readonly inverse: "#FFFFFF";
13
13
  };
@@ -1,10 +1,10 @@
1
1
  export declare const status: {
2
2
  readonly success: {
3
- readonly fg: "#047857";
4
- readonly bg: "#ECFDF5";
5
- readonly border: "#10B981";
6
- readonly ring: "#10B981";
7
- readonly strong: "#065F46";
3
+ readonly fg: "#0F766E";
4
+ readonly bg: "#F0FDFA";
5
+ readonly border: "#0F766E";
6
+ readonly ring: "#14B8A6";
7
+ readonly strong: "#115E59";
8
8
  };
9
9
  readonly error: {
10
10
  readonly fg: "#BE123C";
@@ -14,9 +14,9 @@ export declare const status: {
14
14
  readonly strong: "#9F1239";
15
15
  };
16
16
  readonly warning: {
17
- readonly fg: "#92400E";
17
+ readonly fg: "#B45309";
18
18
  readonly bg: "#FFFBEB";
19
- readonly border: "#F59E0B";
19
+ readonly border: "#B45309";
20
20
  readonly ring: "#F59E0B";
21
21
  readonly strong: "#92400E";
22
22
  };
@@ -3,7 +3,7 @@ export const status = {
3
3
  success: {
4
4
  fg: colors.success[700],
5
5
  bg: colors.success[50],
6
- border: colors.success[500],
6
+ border: colors.success[700],
7
7
  ring: colors.success[500],
8
8
  strong: colors.success[800],
9
9
  },
@@ -15,9 +15,9 @@ export const status = {
15
15
  strong: colors.error[800],
16
16
  },
17
17
  warning: {
18
- fg: colors.warning[800],
18
+ fg: colors.warning[700],
19
19
  bg: colors.warning[50],
20
- border: colors.warning[500],
20
+ border: colors.warning[700],
21
21
  ring: colors.warning[500],
22
22
  strong: colors.warning[800],
23
23
  },
@@ -62,17 +62,17 @@ export declare const lightTheme: {
62
62
  readonly 950: "#071927";
63
63
  };
64
64
  readonly success: {
65
- readonly 50: "#ECFDF5";
66
- readonly 100: "#D1FAE5";
67
- readonly 200: "#A7F3D0";
68
- readonly 300: "#6EE7B7";
69
- readonly 400: "#34D399";
70
- readonly 500: "#10B981";
71
- readonly 600: "#059669";
72
- readonly 700: "#047857";
73
- readonly 800: "#065F46";
74
- readonly 900: "#064E3B";
75
- readonly 950: "#022C22";
65
+ readonly 50: "#F0FDFA";
66
+ readonly 100: "#CCFBF1";
67
+ readonly 200: "#99F6E4";
68
+ readonly 300: "#5EEAD4";
69
+ readonly 400: "#2DD4BF";
70
+ readonly 500: "#14B8A6";
71
+ readonly 600: "#0F9E94";
72
+ readonly 700: "#0F766E";
73
+ readonly 800: "#115E59";
74
+ readonly 900: "#134E4A";
75
+ readonly 950: "#042F2E";
76
76
  };
77
77
  readonly error: {
78
78
  readonly 50: "#FFF1F2";
@@ -64,17 +64,17 @@ export declare const colors: {
64
64
  readonly 950: "#071927";
65
65
  };
66
66
  readonly success: {
67
- readonly 50: "#ECFDF5";
68
- readonly 100: "#D1FAE5";
69
- readonly 200: "#A7F3D0";
70
- readonly 300: "#6EE7B7";
71
- readonly 400: "#34D399";
72
- readonly 500: "#10B981";
73
- readonly 600: "#059669";
74
- readonly 700: "#047857";
75
- readonly 800: "#065F46";
76
- readonly 900: "#064E3B";
77
- readonly 950: "#022C22";
67
+ readonly 50: "#F0FDFA";
68
+ readonly 100: "#CCFBF1";
69
+ readonly 200: "#99F6E4";
70
+ readonly 300: "#5EEAD4";
71
+ readonly 400: "#2DD4BF";
72
+ readonly 500: "#14B8A6";
73
+ readonly 600: "#0F9E94";
74
+ readonly 700: "#0F766E";
75
+ readonly 800: "#115E59";
76
+ readonly 900: "#134E4A";
77
+ readonly 950: "#042F2E";
78
78
  };
79
79
  readonly error: {
80
80
  readonly 50: "#FFF1F2";
@@ -64,17 +64,17 @@ export const colors = {
64
64
  950: '#071927',
65
65
  },
66
66
  success: {
67
- 50: '#ECFDF5',
68
- 100: '#D1FAE5',
69
- 200: '#A7F3D0',
70
- 300: '#6EE7B7',
71
- 400: '#34D399',
72
- 500: '#10B981',
73
- 600: '#059669',
74
- 700: '#047857',
75
- 800: '#065F46',
76
- 900: '#064E3B',
77
- 950: '#022C22',
67
+ 50: '#F0FDFA',
68
+ 100: '#CCFBF1',
69
+ 200: '#99F6E4',
70
+ 300: '#5EEAD4',
71
+ 400: '#2DD4BF',
72
+ 500: '#14B8A6',
73
+ 600: '#0F9E94',
74
+ 700: '#0F766E',
75
+ 800: '#115E59',
76
+ 900: '#134E4A',
77
+ 950: '#042F2E',
78
78
  },
79
79
  error: {
80
80
  50: '#FFF1F2',
@@ -0,0 +1,106 @@
1
+ export type ButtonState = {
2
+ bg: string;
3
+ fg: string;
4
+ border: string;
5
+ };
6
+ export type ButtonPaletteConfig = {
7
+ ring: string;
8
+ solid: {
9
+ default: ButtonState;
10
+ hover: ButtonState;
11
+ pressed: ButtonState;
12
+ };
13
+ fg: string;
14
+ bg: string;
15
+ border: string;
16
+ hoverBg: string;
17
+ hoverFg: string;
18
+ hoverBorder?: string;
19
+ pressedBg: string;
20
+ pressedFg: string;
21
+ pressedBorder?: string;
22
+ softBorder?: string;
23
+ softHoverBorder?: string;
24
+ softPressedBorder?: string;
25
+ };
26
+ export declare const transparent: {
27
+ readonly bg: "transparent";
28
+ readonly border: "transparent";
29
+ };
30
+ export declare const createButtonPalette: ({ ring, solid, fg, bg, border, hoverBg, hoverFg, hoverBorder, pressedBg, pressedFg, pressedBorder, softBorder, softHoverBorder, softPressedBorder, }: ButtonPaletteConfig) => {
31
+ readonly ring: string;
32
+ readonly solid: {
33
+ default: ButtonState;
34
+ hover: ButtonState;
35
+ pressed: ButtonState;
36
+ };
37
+ readonly outline: {
38
+ readonly default: {
39
+ readonly bg: "transparent";
40
+ readonly fg: string;
41
+ readonly border: string;
42
+ };
43
+ readonly hover: {
44
+ readonly bg: string;
45
+ readonly fg: string;
46
+ readonly border: string;
47
+ };
48
+ readonly pressed: {
49
+ readonly bg: string;
50
+ readonly fg: string;
51
+ readonly border: string;
52
+ };
53
+ };
54
+ readonly ghost: {
55
+ readonly default: {
56
+ readonly fg: string;
57
+ readonly bg: "transparent";
58
+ readonly border: "transparent";
59
+ };
60
+ readonly hover: {
61
+ readonly bg: string;
62
+ readonly fg: string;
63
+ readonly border: "transparent";
64
+ };
65
+ readonly pressed: {
66
+ readonly bg: string;
67
+ readonly fg: string;
68
+ readonly border: "transparent";
69
+ };
70
+ };
71
+ readonly soft: {
72
+ readonly default: {
73
+ readonly bg: string;
74
+ readonly fg: string;
75
+ readonly border: string;
76
+ };
77
+ readonly hover: {
78
+ readonly bg: string;
79
+ readonly fg: string;
80
+ readonly border: string;
81
+ };
82
+ readonly pressed: {
83
+ readonly bg: string;
84
+ readonly fg: string;
85
+ readonly border: string;
86
+ };
87
+ };
88
+ readonly link: {
89
+ readonly default: {
90
+ readonly fg: string;
91
+ readonly bg: "transparent";
92
+ readonly border: "transparent";
93
+ };
94
+ readonly hover: {
95
+ readonly fg: string;
96
+ readonly bg: "transparent";
97
+ readonly border: "transparent";
98
+ };
99
+ readonly pressed: {
100
+ readonly fg: string;
101
+ readonly bg: "transparent";
102
+ readonly border: "transparent";
103
+ };
104
+ };
105
+ };
106
+ //# sourceMappingURL=createButtonPalette.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createButtonPalette.d.ts","sourceRoot":"","sources":["../../src/utils/createButtonPalette.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE;QACL,OAAO,EAAE,WAAW,CAAC;QACrB,KAAK,EAAE,WAAW,CAAC;QACnB,OAAO,EAAE,WAAW,CAAC;KACtB,CAAC;IAEF,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,WAAW;;;CAGd,CAAC;AAEX,eAAO,MAAM,mBAAmB,GAAI,sJAejC,mBAAmB;;;iBA1CT,WAAW;eACb,WAAW;iBACT,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiHX,CAAC"}
@@ -0,0 +1,72 @@
1
+ export const transparent = {
2
+ bg: 'transparent',
3
+ border: 'transparent',
4
+ };
5
+ export const createButtonPalette = ({ ring, solid, fg, bg, border, hoverBg, hoverFg, hoverBorder = border, pressedBg, pressedFg, pressedBorder = border, softBorder = transparent.border, softHoverBorder = softBorder, softPressedBorder = softBorder, }) => ({
6
+ ring,
7
+ solid,
8
+ outline: {
9
+ default: {
10
+ bg: transparent.bg,
11
+ fg,
12
+ border,
13
+ },
14
+ hover: {
15
+ bg: hoverBg,
16
+ fg: hoverFg,
17
+ border: hoverBorder,
18
+ },
19
+ pressed: {
20
+ bg: pressedBg,
21
+ fg: pressedFg,
22
+ border: pressedBorder,
23
+ },
24
+ },
25
+ ghost: {
26
+ default: {
27
+ ...transparent,
28
+ fg,
29
+ },
30
+ hover: {
31
+ ...transparent,
32
+ bg: hoverBg,
33
+ fg: hoverFg,
34
+ },
35
+ pressed: {
36
+ ...transparent,
37
+ bg: pressedBg,
38
+ fg: pressedFg,
39
+ },
40
+ },
41
+ soft: {
42
+ default: {
43
+ bg,
44
+ fg,
45
+ border: softBorder,
46
+ },
47
+ hover: {
48
+ bg: hoverBg,
49
+ fg: hoverFg,
50
+ border: softHoverBorder,
51
+ },
52
+ pressed: {
53
+ bg: pressedBg,
54
+ fg: pressedFg,
55
+ border: softPressedBorder,
56
+ },
57
+ },
58
+ link: {
59
+ default: {
60
+ ...transparent,
61
+ fg,
62
+ },
63
+ hover: {
64
+ ...transparent,
65
+ fg: hoverFg,
66
+ },
67
+ pressed: {
68
+ ...transparent,
69
+ fg: pressedFg,
70
+ },
71
+ },
72
+ });