@lunar-js/lunar 0.0.1

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 (162) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/LICENSE +21 -0
  3. package/README.md +41 -0
  4. package/dist/components/composite/Card/Card.d.ts +64 -0
  5. package/dist/components/composite/Card/Card.d.ts.map +1 -0
  6. package/dist/components/composite/Card/Card.js +86 -0
  7. package/dist/components/composite/Card/Card.js.map +1 -0
  8. package/dist/components/composite/Card/card.css.js +62 -0
  9. package/dist/components/composite/Card/card.css.js.map +1 -0
  10. package/dist/components/composite/Dialog/Dialog.d.ts +45 -0
  11. package/dist/components/composite/Dialog/Dialog.d.ts.map +1 -0
  12. package/dist/components/composite/Dialog/Dialog.js +117 -0
  13. package/dist/components/composite/Dialog/Dialog.js.map +1 -0
  14. package/dist/components/composite/Dialog/DialogProvider.d.ts +11 -0
  15. package/dist/components/composite/Dialog/DialogProvider.d.ts.map +1 -0
  16. package/dist/components/composite/Dialog/DialogProvider.js +19 -0
  17. package/dist/components/composite/Dialog/DialogProvider.js.map +1 -0
  18. package/dist/components/composite/Dialog/dialog.css.js +104 -0
  19. package/dist/components/composite/Dialog/dialog.css.js.map +1 -0
  20. package/dist/components/primitives/Button/Button.d.ts +27 -0
  21. package/dist/components/primitives/Button/Button.d.ts.map +1 -0
  22. package/dist/components/primitives/Button/Button.js +25 -0
  23. package/dist/components/primitives/Button/Button.js.map +1 -0
  24. package/dist/components/primitives/Button/button.css.d.ts +16 -0
  25. package/dist/components/primitives/Button/button.css.d.ts.map +1 -0
  26. package/dist/components/primitives/Button/button.css.js +202 -0
  27. package/dist/components/primitives/Button/button.css.js.map +1 -0
  28. package/dist/components/primitives/Button/button.types.d.ts +8 -0
  29. package/dist/components/primitives/Button/button.types.d.ts.map +1 -0
  30. package/dist/components/primitives/Input/Input.d.ts +12 -0
  31. package/dist/components/primitives/Input/Input.d.ts.map +1 -0
  32. package/dist/components/primitives/Input/Input.js +21 -0
  33. package/dist/components/primitives/Input/Input.js.map +1 -0
  34. package/dist/components/primitives/Input/input.css.js +54 -0
  35. package/dist/components/primitives/Input/input.css.js.map +1 -0
  36. package/dist/components/primitives/Label/Label.d.ts +13 -0
  37. package/dist/components/primitives/Label/Label.d.ts.map +1 -0
  38. package/dist/components/primitives/Label/Label.js +22 -0
  39. package/dist/components/primitives/Label/Label.js.map +1 -0
  40. package/dist/components/primitives/Label/label.css.js +35 -0
  41. package/dist/components/primitives/Label/label.css.js.map +1 -0
  42. package/dist/components/primitives/Typography/Text.d.ts +40 -0
  43. package/dist/components/primitives/Typography/Text.d.ts.map +1 -0
  44. package/dist/components/primitives/Typography/Text.js +28 -0
  45. package/dist/components/primitives/Typography/Text.js.map +1 -0
  46. package/dist/components/primitives/Typography/text.css.d.ts +31 -0
  47. package/dist/components/primitives/Typography/text.css.d.ts.map +1 -0
  48. package/dist/components/primitives/Typography/text.css.js +1019 -0
  49. package/dist/components/primitives/Typography/text.css.js.map +1 -0
  50. package/dist/components/primitives/Typography/text.types.d.ts +10 -0
  51. package/dist/components/primitives/Typography/text.types.d.ts.map +1 -0
  52. package/dist/constants/theming.d.ts +10 -0
  53. package/dist/constants/theming.d.ts.map +1 -0
  54. package/dist/constants/theming.js +11 -0
  55. package/dist/constants/theming.js.map +1 -0
  56. package/dist/hooks/dialog.d.ts +7 -0
  57. package/dist/hooks/dialog.d.ts.map +1 -0
  58. package/dist/hooks/dialog.js +14 -0
  59. package/dist/hooks/dialog.js.map +1 -0
  60. package/dist/hooks/refs.js +23 -0
  61. package/dist/hooks/refs.js.map +1 -0
  62. package/dist/hooks/theme.d.ts +7 -0
  63. package/dist/hooks/theme.d.ts.map +1 -0
  64. package/dist/hooks/theme.js +14 -0
  65. package/dist/hooks/theme.js.map +1 -0
  66. package/dist/hooks/utils.js +6 -0
  67. package/dist/hooks/utils.js.map +1 -0
  68. package/dist/index.d.ts +20 -0
  69. package/dist/index.js +20 -0
  70. package/dist/styles.css.d.ts +4 -0
  71. package/dist/styles.css.js +5 -0
  72. package/dist/themes/ThemeProvider/ThemeProvider.d.ts +19 -0
  73. package/dist/themes/ThemeProvider/ThemeProvider.d.ts.map +1 -0
  74. package/dist/themes/ThemeProvider/ThemeProvider.js +25 -0
  75. package/dist/themes/ThemeProvider/ThemeProvider.js.map +1 -0
  76. package/dist/themes/regal.css.d.ts +5 -0
  77. package/dist/themes/regal.css.d.ts.map +1 -0
  78. package/dist/themes/regal.css.js +720 -0
  79. package/dist/themes/regal.css.js.map +1 -0
  80. package/dist/themes/styles/color-scheme.css.d.ts +6 -0
  81. package/dist/themes/styles/color-scheme.css.d.ts.map +1 -0
  82. package/dist/themes/styles/color-scheme.css.js +9 -0
  83. package/dist/themes/styles/color-scheme.css.js.map +1 -0
  84. package/dist/themes/styles/utilities.d.ts +125 -0
  85. package/dist/themes/styles/utilities.d.ts.map +1 -0
  86. package/dist/themes/styles/utilities.js +129 -0
  87. package/dist/themes/styles/utilities.js.map +1 -0
  88. package/dist/themes/tokens/primitives/borders.d.ts +22 -0
  89. package/dist/themes/tokens/primitives/borders.d.ts.map +1 -0
  90. package/dist/themes/tokens/primitives/borders.js +23 -0
  91. package/dist/themes/tokens/primitives/borders.js.map +1 -0
  92. package/dist/themes/tokens/primitives/colors.d.ts +100 -0
  93. package/dist/themes/tokens/primitives/colors.d.ts.map +1 -0
  94. package/dist/themes/tokens/primitives/colors.js +101 -0
  95. package/dist/themes/tokens/primitives/colors.js.map +1 -0
  96. package/dist/themes/tokens/primitives/shadows.d.ts +14 -0
  97. package/dist/themes/tokens/primitives/shadows.d.ts.map +1 -0
  98. package/dist/themes/tokens/primitives/shadows.js +15 -0
  99. package/dist/themes/tokens/primitives/shadows.js.map +1 -0
  100. package/dist/themes/tokens/primitives/spacing.d.ts +41 -0
  101. package/dist/themes/tokens/primitives/spacing.d.ts.map +1 -0
  102. package/dist/themes/tokens/primitives/spacing.js +42 -0
  103. package/dist/themes/tokens/primitives/spacing.js.map +1 -0
  104. package/dist/themes/tokens/primitives/typography.d.ts +105 -0
  105. package/dist/themes/tokens/primitives/typography.d.ts.map +1 -0
  106. package/dist/themes/tokens/primitives/typography.js +106 -0
  107. package/dist/themes/tokens/primitives/typography.js.map +1 -0
  108. package/dist/themes/tokens/semantic/borders.js +23 -0
  109. package/dist/themes/tokens/semantic/borders.js.map +1 -0
  110. package/dist/themes/tokens/semantic/colors.js +145 -0
  111. package/dist/themes/tokens/semantic/colors.js.map +1 -0
  112. package/dist/themes/tokens/semantic/shadows.js +15 -0
  113. package/dist/themes/tokens/semantic/shadows.js.map +1 -0
  114. package/dist/themes/tokens/semantic/spacing.js +70 -0
  115. package/dist/themes/tokens/semantic/spacing.js.map +1 -0
  116. package/dist/themes/tokens/semantic/typography.js +34 -0
  117. package/dist/themes/tokens/semantic/typography.js.map +1 -0
  118. package/dist/themes/tokens/tokens.css.d.ts +714 -0
  119. package/dist/themes/tokens/tokens.css.d.ts.map +1 -0
  120. package/dist/themes/tokens/tokens.css.js +36 -0
  121. package/dist/themes/tokens/tokens.css.js.map +1 -0
  122. package/dist/types/theming.d.ts +7 -0
  123. package/dist/types/theming.d.ts.map +1 -0
  124. package/package.json +80 -0
  125. package/src/components/composite/Card/Card.tsx +62 -0
  126. package/src/components/composite/Card/card.css.ts +79 -0
  127. package/src/components/composite/Dialog/Dialog.tsx +150 -0
  128. package/src/components/composite/Dialog/DialogProvider.tsx +21 -0
  129. package/src/components/composite/Dialog/dialog.css.ts +137 -0
  130. package/src/components/primitives/Button/Button.tsx +35 -0
  131. package/src/components/primitives/Button/button.css.ts +236 -0
  132. package/src/components/primitives/Button/button.types.ts +23 -0
  133. package/src/components/primitives/Input/Input.tsx +13 -0
  134. package/src/components/primitives/Input/input.css.ts +64 -0
  135. package/src/components/primitives/Label/Label.tsx +15 -0
  136. package/src/components/primitives/Label/label.css.ts +39 -0
  137. package/src/components/primitives/Typography/Text.tsx +55 -0
  138. package/src/components/primitives/Typography/text.css.ts +1091 -0
  139. package/src/components/primitives/Typography/text.types.ts +55 -0
  140. package/src/constants/theming.ts +16 -0
  141. package/src/hooks/dialog.ts +15 -0
  142. package/src/hooks/refs.ts +34 -0
  143. package/src/hooks/theme.ts +15 -0
  144. package/src/hooks/utils.ts +3 -0
  145. package/src/index.css.ts +26 -0
  146. package/src/index.ts +111 -0
  147. package/src/themes/ThemeProvider/ThemeProvider.tsx +39 -0
  148. package/src/themes/regal.css.ts +741 -0
  149. package/src/themes/styles/color-scheme.css.ts +11 -0
  150. package/src/themes/styles/utilities.ts +140 -0
  151. package/src/themes/tokens/primitives/borders.ts +21 -0
  152. package/src/themes/tokens/primitives/colors.ts +114 -0
  153. package/src/themes/tokens/primitives/shadows.ts +12 -0
  154. package/src/themes/tokens/primitives/spacing.ts +39 -0
  155. package/src/themes/tokens/primitives/typography.ts +125 -0
  156. package/src/themes/tokens/semantic/borders.ts +21 -0
  157. package/src/themes/tokens/semantic/colors.ts +166 -0
  158. package/src/themes/tokens/semantic/shadows.ts +12 -0
  159. package/src/themes/tokens/semantic/spacing.ts +75 -0
  160. package/src/themes/tokens/semantic/typography.ts +35 -0
  161. package/src/themes/tokens/tokens.css.ts +42 -0
  162. package/src/types/theming.ts +14 -0
@@ -0,0 +1,1091 @@
1
+ import { recipe } from '@vanilla-extract/recipes';
2
+
3
+ import { themeContract } from '../../../themes/tokens/tokens.css.js';
4
+
5
+ const TEXT_VARIANT__DISPLAY = 'display';
6
+ const TEXT_VARIANT__HEADING = 'heading';
7
+ const TEXT_VARIANT__SUBHEADING = 'subheading';
8
+ const TEXT_VARIANT__BODY = 'body';
9
+ const TEXT_VARIANT__CAPTION = 'caption';
10
+ const TEXT_VARIANT__LABEL = 'label';
11
+
12
+ const TEXT_SIZE__XL = 'xl';
13
+ const TEXT_SIZE__LG = 'lg';
14
+ const TEXT_SIZE__MD = 'md';
15
+ const TEXT_SIZE__SM = 'sm';
16
+
17
+ // Color variant constants
18
+ const TEXT_COLOR__PRIMARY = 'primary';
19
+ const TEXT_COLOR__SECONDARY = 'secondary';
20
+ const TEXT_COLOR__MUTED = 'muted'; // maps to text.tertiary
21
+ const TEXT_COLOR__DISABLED = 'disabled';
22
+ const TEXT_COLOR__INVERSE = 'inverse';
23
+ const TEXT_COLOR__INTERACTIVE = 'interactive';
24
+ const TEXT_COLOR__SUCCESS = 'success';
25
+ const TEXT_COLOR__WARNING = 'warning';
26
+ const TEXT_COLOR__DANGER = 'danger'; // maps to text.error
27
+ const TEXT_COLOR__INFO = 'info';
28
+ const TEXT_COLOR__BRAND = 'brand'; // maps to text.interactive
29
+ const TEXT_COLOR__ACCENT = 'accent'; // maps to text.interactive.hover
30
+
31
+ const TEXT_WEIGHT__LIGHT = 'light';
32
+ const TEXT_WEIGHT__MEDIUM = 'medium';
33
+ const TEXT_WEIGHT__BOLD = 'bold';
34
+
35
+ const textVariants = recipe({
36
+ base: {
37
+ margin: 0,
38
+ padding: 0,
39
+ fontFamily: themeContract.typography.fontFamily.base,
40
+ },
41
+ defaultVariants: {
42
+ variant: TEXT_VARIANT__BODY,
43
+ size: TEXT_SIZE__MD,
44
+ color: TEXT_COLOR__PRIMARY,
45
+ weight: TEXT_WEIGHT__MEDIUM,
46
+ },
47
+ variants: {
48
+ variant: {
49
+ [TEXT_VARIANT__DISPLAY]: {},
50
+ [TEXT_VARIANT__HEADING]: {},
51
+ [TEXT_VARIANT__SUBHEADING]: {},
52
+ [TEXT_VARIANT__BODY]: {},
53
+ [TEXT_VARIANT__CAPTION]: {},
54
+ [TEXT_VARIANT__LABEL]: {},
55
+ },
56
+ size: {
57
+ [TEXT_SIZE__XL]: {},
58
+ [TEXT_SIZE__LG]: {},
59
+ [TEXT_SIZE__MD]: {},
60
+ [TEXT_SIZE__SM]: {},
61
+ },
62
+ weight: {
63
+ [TEXT_WEIGHT__LIGHT]: {},
64
+ [TEXT_WEIGHT__MEDIUM]: {},
65
+ [TEXT_WEIGHT__BOLD]: {},
66
+ },
67
+ color: {
68
+ // Primary text colors
69
+ [TEXT_COLOR__PRIMARY]: {
70
+ color: themeContract.colors.text.primary,
71
+ },
72
+ [TEXT_COLOR__SECONDARY]: {
73
+ color: themeContract.colors.text.secondary,
74
+ },
75
+ [TEXT_COLOR__MUTED]: {
76
+ color: themeContract.colors.text.tertiary,
77
+ },
78
+ [TEXT_COLOR__DISABLED]: {
79
+ color: themeContract.colors.text.disabled,
80
+ },
81
+ [TEXT_COLOR__INVERSE]: {
82
+ color: themeContract.colors.text.inverse,
83
+ },
84
+
85
+ // Interactive colors
86
+ [TEXT_COLOR__INTERACTIVE]: {
87
+ color: themeContract.colors.text.interactive.default,
88
+ },
89
+
90
+ // Semantic colors
91
+ [TEXT_COLOR__SUCCESS]: {
92
+ color: themeContract.colors.text.success,
93
+ },
94
+ [TEXT_COLOR__WARNING]: {
95
+ color: themeContract.colors.text.warning,
96
+ },
97
+ [TEXT_COLOR__DANGER]: {
98
+ color: themeContract.colors.text.error,
99
+ },
100
+ [TEXT_COLOR__INFO]: {
101
+ color: themeContract.colors.text.info,
102
+ },
103
+
104
+ // Brand colors (using interactive as fallback)
105
+ [TEXT_COLOR__BRAND]: {
106
+ color: themeContract.colors.text.interactive.default,
107
+ },
108
+ [TEXT_COLOR__ACCENT]: {
109
+ color: themeContract.colors.text.interactive.hover,
110
+ },
111
+ },
112
+ },
113
+ compoundVariants: [
114
+ // DISPLAY variants
115
+ {
116
+ variants: {
117
+ variant: TEXT_VARIANT__DISPLAY,
118
+ size: TEXT_SIZE__XL,
119
+ weight: TEXT_WEIGHT__LIGHT,
120
+ },
121
+ style: {
122
+ fontSize: themeContract.typography.display.xl.light.fontSize,
123
+ fontWeight: themeContract.typography.display.xl.light.fontWeight,
124
+ letterSpacing: themeContract.typography.display.xl.light.letterSpacing,
125
+ lineHeight: themeContract.typography.display.xl.light.lineHeight,
126
+ },
127
+ },
128
+ {
129
+ variants: {
130
+ variant: TEXT_VARIANT__DISPLAY,
131
+ size: TEXT_SIZE__XL,
132
+ weight: TEXT_WEIGHT__MEDIUM,
133
+ },
134
+ style: {
135
+ fontSize: themeContract.typography.display.xl.medium.fontSize,
136
+ fontWeight: themeContract.typography.display.xl.medium.fontWeight,
137
+ letterSpacing: themeContract.typography.display.xl.medium.letterSpacing,
138
+ lineHeight: themeContract.typography.display.xl.medium.lineHeight,
139
+ },
140
+ },
141
+ {
142
+ variants: {
143
+ variant: TEXT_VARIANT__DISPLAY,
144
+ size: TEXT_SIZE__XL,
145
+ weight: TEXT_WEIGHT__BOLD,
146
+ },
147
+ style: {
148
+ fontSize: themeContract.typography.display.xl.bold.fontSize,
149
+ fontWeight: themeContract.typography.display.xl.bold.fontWeight,
150
+ letterSpacing: themeContract.typography.display.xl.bold.letterSpacing,
151
+ lineHeight: themeContract.typography.display.xl.bold.lineHeight,
152
+ },
153
+ },
154
+ {
155
+ variants: {
156
+ variant: TEXT_VARIANT__DISPLAY,
157
+ size: TEXT_SIZE__LG,
158
+ weight: TEXT_WEIGHT__LIGHT,
159
+ },
160
+ style: {
161
+ fontSize: themeContract.typography.display.lg.light.fontSize,
162
+ fontWeight: themeContract.typography.display.lg.light.fontWeight,
163
+ letterSpacing: themeContract.typography.display.lg.light.letterSpacing,
164
+ lineHeight: themeContract.typography.display.lg.light.lineHeight,
165
+ },
166
+ },
167
+ {
168
+ variants: {
169
+ variant: TEXT_VARIANT__DISPLAY,
170
+ size: TEXT_SIZE__LG,
171
+ weight: TEXT_WEIGHT__MEDIUM,
172
+ },
173
+ style: {
174
+ fontSize: themeContract.typography.display.lg.medium.fontSize,
175
+ fontWeight: themeContract.typography.display.lg.medium.fontWeight,
176
+ letterSpacing: themeContract.typography.display.lg.medium.letterSpacing,
177
+ lineHeight: themeContract.typography.display.lg.medium.lineHeight,
178
+ },
179
+ },
180
+ {
181
+ variants: {
182
+ variant: TEXT_VARIANT__DISPLAY,
183
+ size: TEXT_SIZE__LG,
184
+ weight: TEXT_WEIGHT__BOLD,
185
+ },
186
+ style: {
187
+ fontSize: themeContract.typography.display.lg.bold.fontSize,
188
+ fontWeight: themeContract.typography.display.lg.bold.fontWeight,
189
+ letterSpacing: themeContract.typography.display.lg.bold.letterSpacing,
190
+ lineHeight: themeContract.typography.display.lg.bold.lineHeight,
191
+ },
192
+ },
193
+ {
194
+ variants: {
195
+ variant: TEXT_VARIANT__DISPLAY,
196
+ size: TEXT_SIZE__MD,
197
+ weight: TEXT_WEIGHT__LIGHT,
198
+ },
199
+ style: {
200
+ fontSize: themeContract.typography.display.md.light.fontSize,
201
+ fontWeight: themeContract.typography.display.md.light.fontWeight,
202
+ letterSpacing: themeContract.typography.display.md.light.letterSpacing,
203
+ lineHeight: themeContract.typography.display.md.light.lineHeight,
204
+ },
205
+ },
206
+ {
207
+ variants: {
208
+ variant: TEXT_VARIANT__DISPLAY,
209
+ size: TEXT_SIZE__MD,
210
+ weight: TEXT_WEIGHT__MEDIUM,
211
+ },
212
+ style: {
213
+ fontSize: themeContract.typography.display.md.medium.fontSize,
214
+ fontWeight: themeContract.typography.display.md.medium.fontWeight,
215
+ letterSpacing: themeContract.typography.display.md.medium.letterSpacing,
216
+ lineHeight: themeContract.typography.display.md.medium.lineHeight,
217
+ },
218
+ },
219
+ {
220
+ variants: {
221
+ variant: TEXT_VARIANT__DISPLAY,
222
+ size: TEXT_SIZE__MD,
223
+ weight: TEXT_WEIGHT__BOLD,
224
+ },
225
+ style: {
226
+ fontSize: themeContract.typography.display.md.bold.fontSize,
227
+ fontWeight: themeContract.typography.display.md.bold.fontWeight,
228
+ letterSpacing: themeContract.typography.display.md.bold.letterSpacing,
229
+ lineHeight: themeContract.typography.display.md.bold.lineHeight,
230
+ },
231
+ },
232
+ {
233
+ variants: {
234
+ variant: TEXT_VARIANT__DISPLAY,
235
+ size: TEXT_SIZE__SM,
236
+ weight: TEXT_WEIGHT__LIGHT,
237
+ },
238
+ style: {
239
+ fontSize: themeContract.typography.display.sm.light.fontSize,
240
+ fontWeight: themeContract.typography.display.sm.light.fontWeight,
241
+ letterSpacing: themeContract.typography.display.sm.light.letterSpacing,
242
+ lineHeight: themeContract.typography.display.sm.light.lineHeight,
243
+ },
244
+ },
245
+ {
246
+ variants: {
247
+ variant: TEXT_VARIANT__DISPLAY,
248
+ size: TEXT_SIZE__SM,
249
+ weight: TEXT_WEIGHT__MEDIUM,
250
+ },
251
+ style: {
252
+ fontSize: themeContract.typography.display.sm.medium.fontSize,
253
+ fontWeight: themeContract.typography.display.sm.medium.fontWeight,
254
+ letterSpacing: themeContract.typography.display.sm.medium.letterSpacing,
255
+ lineHeight: themeContract.typography.display.sm.medium.lineHeight,
256
+ },
257
+ },
258
+ {
259
+ variants: {
260
+ variant: TEXT_VARIANT__DISPLAY,
261
+ size: TEXT_SIZE__SM,
262
+ weight: TEXT_WEIGHT__BOLD,
263
+ },
264
+ style: {
265
+ fontSize: themeContract.typography.display.sm.bold.fontSize,
266
+ fontWeight: themeContract.typography.display.sm.bold.fontWeight,
267
+ letterSpacing: themeContract.typography.display.sm.bold.letterSpacing,
268
+ lineHeight: themeContract.typography.display.sm.bold.lineHeight,
269
+ },
270
+ },
271
+
272
+ // HEADING variants
273
+ {
274
+ variants: {
275
+ variant: TEXT_VARIANT__HEADING,
276
+ size: TEXT_SIZE__XL,
277
+ weight: TEXT_WEIGHT__LIGHT,
278
+ },
279
+ style: {
280
+ fontSize: themeContract.typography.heading.xl.light.fontSize,
281
+ fontWeight: themeContract.typography.heading.xl.light.fontWeight,
282
+ letterSpacing: themeContract.typography.heading.xl.light.letterSpacing,
283
+ lineHeight: themeContract.typography.heading.xl.light.lineHeight,
284
+ },
285
+ },
286
+ {
287
+ variants: {
288
+ variant: TEXT_VARIANT__HEADING,
289
+ size: TEXT_SIZE__XL,
290
+ weight: TEXT_WEIGHT__MEDIUM,
291
+ },
292
+ style: {
293
+ fontSize: themeContract.typography.heading.xl.medium.fontSize,
294
+ fontWeight: themeContract.typography.heading.xl.medium.fontWeight,
295
+ letterSpacing: themeContract.typography.heading.xl.medium.letterSpacing,
296
+ lineHeight: themeContract.typography.heading.xl.medium.lineHeight,
297
+ },
298
+ },
299
+ {
300
+ variants: {
301
+ variant: TEXT_VARIANT__HEADING,
302
+ size: TEXT_SIZE__XL,
303
+ weight: TEXT_WEIGHT__BOLD,
304
+ },
305
+ style: {
306
+ fontSize: themeContract.typography.heading.xl.bold.fontSize,
307
+ fontWeight: themeContract.typography.heading.xl.bold.fontWeight,
308
+ letterSpacing: themeContract.typography.heading.xl.bold.letterSpacing,
309
+ lineHeight: themeContract.typography.heading.xl.bold.lineHeight,
310
+ },
311
+ },
312
+ {
313
+ variants: {
314
+ variant: TEXT_VARIANT__HEADING,
315
+ size: TEXT_SIZE__LG,
316
+ weight: TEXT_WEIGHT__LIGHT,
317
+ },
318
+ style: {
319
+ fontSize: themeContract.typography.heading.lg.light.fontSize,
320
+ fontWeight: themeContract.typography.heading.lg.light.fontWeight,
321
+ letterSpacing: themeContract.typography.heading.lg.light.letterSpacing,
322
+ lineHeight: themeContract.typography.heading.lg.light.lineHeight,
323
+ },
324
+ },
325
+ {
326
+ variants: {
327
+ variant: TEXT_VARIANT__HEADING,
328
+ size: TEXT_SIZE__LG,
329
+ weight: TEXT_WEIGHT__MEDIUM,
330
+ },
331
+ style: {
332
+ fontSize: themeContract.typography.heading.lg.medium.fontSize,
333
+ fontWeight: themeContract.typography.heading.lg.medium.fontWeight,
334
+ letterSpacing: themeContract.typography.heading.lg.medium.letterSpacing,
335
+ lineHeight: themeContract.typography.heading.lg.medium.lineHeight,
336
+ },
337
+ },
338
+ {
339
+ variants: {
340
+ variant: TEXT_VARIANT__HEADING,
341
+ size: TEXT_SIZE__LG,
342
+ weight: TEXT_WEIGHT__BOLD,
343
+ },
344
+ style: {
345
+ fontSize: themeContract.typography.heading.lg.bold.fontSize,
346
+ fontWeight: themeContract.typography.heading.lg.bold.fontWeight,
347
+ letterSpacing: themeContract.typography.heading.lg.bold.letterSpacing,
348
+ lineHeight: themeContract.typography.heading.lg.bold.lineHeight,
349
+ },
350
+ },
351
+ {
352
+ variants: {
353
+ variant: TEXT_VARIANT__HEADING,
354
+ size: TEXT_SIZE__MD,
355
+ weight: TEXT_WEIGHT__LIGHT,
356
+ },
357
+ style: {
358
+ fontSize: themeContract.typography.heading.md.light.fontSize,
359
+ fontWeight: themeContract.typography.heading.md.light.fontWeight,
360
+ letterSpacing: themeContract.typography.heading.md.light.letterSpacing,
361
+ lineHeight: themeContract.typography.heading.md.light.lineHeight,
362
+ },
363
+ },
364
+ {
365
+ variants: {
366
+ variant: TEXT_VARIANT__HEADING,
367
+ size: TEXT_SIZE__MD,
368
+ weight: TEXT_WEIGHT__MEDIUM,
369
+ },
370
+ style: {
371
+ fontSize: themeContract.typography.heading.md.medium.fontSize,
372
+ fontWeight: themeContract.typography.heading.md.medium.fontWeight,
373
+ letterSpacing: themeContract.typography.heading.md.medium.letterSpacing,
374
+ lineHeight: themeContract.typography.heading.md.medium.lineHeight,
375
+ },
376
+ },
377
+ {
378
+ variants: {
379
+ variant: TEXT_VARIANT__HEADING,
380
+ size: TEXT_SIZE__MD,
381
+ weight: TEXT_WEIGHT__BOLD,
382
+ },
383
+ style: {
384
+ fontSize: themeContract.typography.heading.md.bold.fontSize,
385
+ fontWeight: themeContract.typography.heading.md.bold.fontWeight,
386
+ letterSpacing: themeContract.typography.heading.md.bold.letterSpacing,
387
+ lineHeight: themeContract.typography.heading.md.bold.lineHeight,
388
+ },
389
+ },
390
+ {
391
+ variants: {
392
+ variant: TEXT_VARIANT__HEADING,
393
+ size: TEXT_SIZE__SM,
394
+ weight: TEXT_WEIGHT__LIGHT,
395
+ },
396
+ style: {
397
+ fontSize: themeContract.typography.heading.sm.light.fontSize,
398
+ fontWeight: themeContract.typography.heading.sm.light.fontWeight,
399
+ letterSpacing: themeContract.typography.heading.sm.light.letterSpacing,
400
+ lineHeight: themeContract.typography.heading.sm.light.lineHeight,
401
+ },
402
+ },
403
+ {
404
+ variants: {
405
+ variant: TEXT_VARIANT__HEADING,
406
+ size: TEXT_SIZE__SM,
407
+ weight: TEXT_WEIGHT__MEDIUM,
408
+ },
409
+ style: {
410
+ fontSize: themeContract.typography.heading.sm.medium.fontSize,
411
+ fontWeight: themeContract.typography.heading.sm.medium.fontWeight,
412
+ letterSpacing: themeContract.typography.heading.sm.medium.letterSpacing,
413
+ lineHeight: themeContract.typography.heading.sm.medium.lineHeight,
414
+ },
415
+ },
416
+ {
417
+ variants: {
418
+ variant: TEXT_VARIANT__HEADING,
419
+ size: TEXT_SIZE__SM,
420
+ weight: TEXT_WEIGHT__BOLD,
421
+ },
422
+ style: {
423
+ fontSize: themeContract.typography.heading.sm.bold.fontSize,
424
+ fontWeight: themeContract.typography.heading.sm.bold.fontWeight,
425
+ letterSpacing: themeContract.typography.heading.sm.bold.letterSpacing,
426
+ lineHeight: themeContract.typography.heading.sm.bold.lineHeight,
427
+ },
428
+ },
429
+
430
+ // SUBHEADING variants
431
+ {
432
+ variants: {
433
+ variant: TEXT_VARIANT__SUBHEADING,
434
+ size: TEXT_SIZE__XL,
435
+ weight: TEXT_WEIGHT__LIGHT,
436
+ },
437
+ style: {
438
+ fontSize: themeContract.typography.subheading.xl.light.fontSize,
439
+ fontWeight: themeContract.typography.subheading.xl.light.fontWeight,
440
+ letterSpacing: themeContract.typography.subheading.xl.light.letterSpacing,
441
+ lineHeight: themeContract.typography.subheading.xl.light.lineHeight,
442
+ },
443
+ },
444
+ {
445
+ variants: {
446
+ variant: TEXT_VARIANT__SUBHEADING,
447
+ size: TEXT_SIZE__XL,
448
+ weight: TEXT_WEIGHT__MEDIUM,
449
+ },
450
+ style: {
451
+ fontSize: themeContract.typography.subheading.xl.medium.fontSize,
452
+ fontWeight: themeContract.typography.subheading.xl.medium.fontWeight,
453
+ letterSpacing: themeContract.typography.subheading.xl.medium.letterSpacing,
454
+ lineHeight: themeContract.typography.subheading.xl.medium.lineHeight,
455
+ },
456
+ },
457
+ {
458
+ variants: {
459
+ variant: TEXT_VARIANT__SUBHEADING,
460
+ size: TEXT_SIZE__XL,
461
+ weight: TEXT_WEIGHT__BOLD,
462
+ },
463
+ style: {
464
+ fontSize: themeContract.typography.subheading.xl.bold.fontSize,
465
+ fontWeight: themeContract.typography.subheading.xl.bold.fontWeight,
466
+ letterSpacing: themeContract.typography.subheading.xl.bold.letterSpacing,
467
+ lineHeight: themeContract.typography.subheading.xl.bold.lineHeight,
468
+ },
469
+ },
470
+ {
471
+ variants: {
472
+ variant: TEXT_VARIANT__SUBHEADING,
473
+ size: TEXT_SIZE__LG,
474
+ weight: TEXT_WEIGHT__LIGHT,
475
+ },
476
+ style: {
477
+ fontSize: themeContract.typography.subheading.lg.light.fontSize,
478
+ fontWeight: themeContract.typography.subheading.lg.light.fontWeight,
479
+ letterSpacing: themeContract.typography.subheading.lg.light.letterSpacing,
480
+ lineHeight: themeContract.typography.subheading.lg.light.lineHeight,
481
+ },
482
+ },
483
+ {
484
+ variants: {
485
+ variant: TEXT_VARIANT__SUBHEADING,
486
+ size: TEXT_SIZE__LG,
487
+ weight: TEXT_WEIGHT__MEDIUM,
488
+ },
489
+ style: {
490
+ fontSize: themeContract.typography.subheading.lg.medium.fontSize,
491
+ fontWeight: themeContract.typography.subheading.lg.medium.fontWeight,
492
+ letterSpacing: themeContract.typography.subheading.lg.medium.letterSpacing,
493
+ lineHeight: themeContract.typography.subheading.lg.medium.lineHeight,
494
+ },
495
+ },
496
+ {
497
+ variants: {
498
+ variant: TEXT_VARIANT__SUBHEADING,
499
+ size: TEXT_SIZE__LG,
500
+ weight: TEXT_WEIGHT__BOLD,
501
+ },
502
+ style: {
503
+ fontSize: themeContract.typography.subheading.lg.bold.fontSize,
504
+ fontWeight: themeContract.typography.subheading.lg.bold.fontWeight,
505
+ letterSpacing: themeContract.typography.subheading.lg.bold.letterSpacing,
506
+ lineHeight: themeContract.typography.subheading.lg.bold.lineHeight,
507
+ },
508
+ },
509
+ {
510
+ variants: {
511
+ variant: TEXT_VARIANT__SUBHEADING,
512
+ size: TEXT_SIZE__MD,
513
+ weight: TEXT_WEIGHT__LIGHT,
514
+ },
515
+ style: {
516
+ fontSize: themeContract.typography.subheading.md.light.fontSize,
517
+ fontWeight: themeContract.typography.subheading.md.light.fontWeight,
518
+ letterSpacing: themeContract.typography.subheading.md.light.letterSpacing,
519
+ lineHeight: themeContract.typography.subheading.md.light.lineHeight,
520
+ },
521
+ },
522
+ {
523
+ variants: {
524
+ variant: TEXT_VARIANT__SUBHEADING,
525
+ size: TEXT_SIZE__MD,
526
+ weight: TEXT_WEIGHT__MEDIUM,
527
+ },
528
+ style: {
529
+ fontSize: themeContract.typography.subheading.md.medium.fontSize,
530
+ fontWeight: themeContract.typography.subheading.md.medium.fontWeight,
531
+ letterSpacing: themeContract.typography.subheading.md.medium.letterSpacing,
532
+ lineHeight: themeContract.typography.subheading.md.medium.lineHeight,
533
+ },
534
+ },
535
+ {
536
+ variants: {
537
+ variant: TEXT_VARIANT__SUBHEADING,
538
+ size: TEXT_SIZE__MD,
539
+ weight: TEXT_WEIGHT__BOLD,
540
+ },
541
+ style: {
542
+ fontSize: themeContract.typography.subheading.md.bold.fontSize,
543
+ fontWeight: themeContract.typography.subheading.md.bold.fontWeight,
544
+ letterSpacing: themeContract.typography.subheading.md.bold.letterSpacing,
545
+ lineHeight: themeContract.typography.subheading.md.bold.lineHeight,
546
+ },
547
+ },
548
+ {
549
+ variants: {
550
+ variant: TEXT_VARIANT__SUBHEADING,
551
+ size: TEXT_SIZE__SM,
552
+ weight: TEXT_WEIGHT__LIGHT,
553
+ },
554
+ style: {
555
+ fontSize: themeContract.typography.subheading.sm.light.fontSize,
556
+ fontWeight: themeContract.typography.subheading.sm.light.fontWeight,
557
+ letterSpacing: themeContract.typography.subheading.sm.light.letterSpacing,
558
+ lineHeight: themeContract.typography.subheading.sm.light.lineHeight,
559
+ },
560
+ },
561
+ {
562
+ variants: {
563
+ variant: TEXT_VARIANT__SUBHEADING,
564
+ size: TEXT_SIZE__SM,
565
+ weight: TEXT_WEIGHT__MEDIUM,
566
+ },
567
+ style: {
568
+ fontSize: themeContract.typography.subheading.sm.medium.fontSize,
569
+ fontWeight: themeContract.typography.subheading.sm.medium.fontWeight,
570
+ letterSpacing: themeContract.typography.subheading.sm.medium.letterSpacing,
571
+ lineHeight: themeContract.typography.subheading.sm.medium.lineHeight,
572
+ },
573
+ },
574
+ {
575
+ variants: {
576
+ variant: TEXT_VARIANT__SUBHEADING,
577
+ size: TEXT_SIZE__SM,
578
+ weight: TEXT_WEIGHT__BOLD,
579
+ },
580
+ style: {
581
+ fontSize: themeContract.typography.subheading.sm.bold.fontSize,
582
+ fontWeight: themeContract.typography.subheading.sm.bold.fontWeight,
583
+ letterSpacing: themeContract.typography.subheading.sm.bold.letterSpacing,
584
+ lineHeight: themeContract.typography.subheading.sm.bold.lineHeight,
585
+ },
586
+ },
587
+
588
+ // BODY variants
589
+ {
590
+ variants: {
591
+ variant: TEXT_VARIANT__BODY,
592
+ size: TEXT_SIZE__XL,
593
+ weight: TEXT_WEIGHT__LIGHT,
594
+ },
595
+ style: {
596
+ fontSize: themeContract.typography.body.xl.light.fontSize,
597
+ fontWeight: themeContract.typography.body.xl.light.fontWeight,
598
+ letterSpacing: themeContract.typography.body.xl.light.letterSpacing,
599
+ lineHeight: themeContract.typography.body.xl.light.lineHeight,
600
+ },
601
+ },
602
+ {
603
+ variants: {
604
+ variant: TEXT_VARIANT__BODY,
605
+ size: TEXT_SIZE__XL,
606
+ weight: TEXT_WEIGHT__MEDIUM,
607
+ },
608
+ style: {
609
+ fontSize: themeContract.typography.body.xl.medium.fontSize,
610
+ fontWeight: themeContract.typography.body.xl.medium.fontWeight,
611
+ letterSpacing: themeContract.typography.body.xl.medium.letterSpacing,
612
+ lineHeight: themeContract.typography.body.xl.medium.lineHeight,
613
+ },
614
+ },
615
+ {
616
+ variants: {
617
+ variant: TEXT_VARIANT__BODY,
618
+ size: TEXT_SIZE__XL,
619
+ weight: TEXT_WEIGHT__BOLD,
620
+ },
621
+ style: {
622
+ fontSize: themeContract.typography.body.xl.bold.fontSize,
623
+ fontWeight: themeContract.typography.body.xl.bold.fontWeight,
624
+ letterSpacing: themeContract.typography.body.xl.bold.letterSpacing,
625
+ lineHeight: themeContract.typography.body.xl.bold.lineHeight,
626
+ },
627
+ },
628
+ {
629
+ variants: {
630
+ variant: TEXT_VARIANT__BODY,
631
+ size: TEXT_SIZE__LG,
632
+ weight: TEXT_WEIGHT__LIGHT,
633
+ },
634
+ style: {
635
+ fontSize: themeContract.typography.body.lg.light.fontSize,
636
+ fontWeight: themeContract.typography.body.lg.light.fontWeight,
637
+ letterSpacing: themeContract.typography.body.lg.light.letterSpacing,
638
+ lineHeight: themeContract.typography.body.lg.light.lineHeight,
639
+ },
640
+ },
641
+ {
642
+ variants: {
643
+ variant: TEXT_VARIANT__BODY,
644
+ size: TEXT_SIZE__LG,
645
+ weight: TEXT_WEIGHT__MEDIUM,
646
+ },
647
+ style: {
648
+ fontSize: themeContract.typography.body.lg.medium.fontSize,
649
+ fontWeight: themeContract.typography.body.lg.medium.fontWeight,
650
+ letterSpacing: themeContract.typography.body.lg.medium.letterSpacing,
651
+ lineHeight: themeContract.typography.body.lg.medium.lineHeight,
652
+ },
653
+ },
654
+ {
655
+ variants: {
656
+ variant: TEXT_VARIANT__BODY,
657
+ size: TEXT_SIZE__LG,
658
+ weight: TEXT_WEIGHT__BOLD,
659
+ },
660
+ style: {
661
+ fontSize: themeContract.typography.body.lg.bold.fontSize,
662
+ fontWeight: themeContract.typography.body.lg.bold.fontWeight,
663
+ letterSpacing: themeContract.typography.body.lg.bold.letterSpacing,
664
+ lineHeight: themeContract.typography.body.lg.bold.lineHeight,
665
+ },
666
+ },
667
+ {
668
+ variants: {
669
+ variant: TEXT_VARIANT__BODY,
670
+ size: TEXT_SIZE__MD,
671
+ weight: TEXT_WEIGHT__LIGHT,
672
+ },
673
+ style: {
674
+ fontSize: themeContract.typography.body.md.light.fontSize,
675
+ fontWeight: themeContract.typography.body.md.light.fontWeight,
676
+ letterSpacing: themeContract.typography.body.md.light.letterSpacing,
677
+ lineHeight: themeContract.typography.body.md.light.lineHeight,
678
+ },
679
+ },
680
+ {
681
+ variants: {
682
+ variant: TEXT_VARIANT__BODY,
683
+ size: TEXT_SIZE__MD,
684
+ weight: TEXT_WEIGHT__MEDIUM,
685
+ },
686
+ style: {
687
+ fontSize: themeContract.typography.body.md.medium.fontSize,
688
+ fontWeight: themeContract.typography.body.md.medium.fontWeight,
689
+ letterSpacing: themeContract.typography.body.md.medium.letterSpacing,
690
+ lineHeight: themeContract.typography.body.md.medium.lineHeight,
691
+ },
692
+ },
693
+ {
694
+ variants: {
695
+ variant: TEXT_VARIANT__BODY,
696
+ size: TEXT_SIZE__MD,
697
+ weight: TEXT_WEIGHT__BOLD,
698
+ },
699
+ style: {
700
+ fontSize: themeContract.typography.body.md.bold.fontSize,
701
+ fontWeight: themeContract.typography.body.md.bold.fontWeight,
702
+ letterSpacing: themeContract.typography.body.md.bold.letterSpacing,
703
+ lineHeight: themeContract.typography.body.md.bold.lineHeight,
704
+ },
705
+ },
706
+ {
707
+ variants: {
708
+ variant: TEXT_VARIANT__BODY,
709
+ size: TEXT_SIZE__SM,
710
+ weight: TEXT_WEIGHT__LIGHT,
711
+ },
712
+ style: {
713
+ fontSize: themeContract.typography.body.sm.light.fontSize,
714
+ fontWeight: themeContract.typography.body.sm.light.fontWeight,
715
+ letterSpacing: themeContract.typography.body.sm.light.letterSpacing,
716
+ lineHeight: themeContract.typography.body.sm.light.lineHeight,
717
+ },
718
+ },
719
+ {
720
+ variants: {
721
+ variant: TEXT_VARIANT__BODY,
722
+ size: TEXT_SIZE__SM,
723
+ weight: TEXT_WEIGHT__MEDIUM,
724
+ },
725
+ style: {
726
+ fontSize: themeContract.typography.body.sm.medium.fontSize,
727
+ fontWeight: themeContract.typography.body.sm.medium.fontWeight,
728
+ letterSpacing: themeContract.typography.body.sm.medium.letterSpacing,
729
+ lineHeight: themeContract.typography.body.sm.medium.lineHeight,
730
+ },
731
+ },
732
+ {
733
+ variants: {
734
+ variant: TEXT_VARIANT__BODY,
735
+ size: TEXT_SIZE__SM,
736
+ weight: TEXT_WEIGHT__BOLD,
737
+ },
738
+ style: {
739
+ fontSize: themeContract.typography.body.sm.bold.fontSize,
740
+ fontWeight: themeContract.typography.body.sm.bold.fontWeight,
741
+ letterSpacing: themeContract.typography.body.sm.bold.letterSpacing,
742
+ lineHeight: themeContract.typography.body.sm.bold.lineHeight,
743
+ },
744
+ },
745
+
746
+ // CAPTION variants
747
+ {
748
+ variants: {
749
+ variant: TEXT_VARIANT__CAPTION,
750
+ size: TEXT_SIZE__XL,
751
+ weight: TEXT_WEIGHT__LIGHT,
752
+ },
753
+ style: {
754
+ fontSize: themeContract.typography.caption.xl.light.fontSize,
755
+ fontWeight: themeContract.typography.caption.xl.light.fontWeight,
756
+ letterSpacing: themeContract.typography.caption.xl.light.letterSpacing,
757
+ lineHeight: themeContract.typography.caption.xl.light.lineHeight,
758
+ },
759
+ },
760
+ {
761
+ variants: {
762
+ variant: TEXT_VARIANT__CAPTION,
763
+ size: TEXT_SIZE__XL,
764
+ weight: TEXT_WEIGHT__MEDIUM,
765
+ },
766
+ style: {
767
+ fontSize: themeContract.typography.caption.xl.medium.fontSize,
768
+ fontWeight: themeContract.typography.caption.xl.medium.fontWeight,
769
+ letterSpacing: themeContract.typography.caption.xl.medium.letterSpacing,
770
+ lineHeight: themeContract.typography.caption.xl.medium.lineHeight,
771
+ },
772
+ },
773
+ {
774
+ variants: {
775
+ variant: TEXT_VARIANT__CAPTION,
776
+ size: TEXT_SIZE__XL,
777
+ weight: TEXT_WEIGHT__BOLD,
778
+ },
779
+ style: {
780
+ fontSize: themeContract.typography.caption.xl.bold.fontSize,
781
+ fontWeight: themeContract.typography.caption.xl.bold.fontWeight,
782
+ letterSpacing: themeContract.typography.caption.xl.bold.letterSpacing,
783
+ lineHeight: themeContract.typography.caption.xl.bold.lineHeight,
784
+ },
785
+ },
786
+ {
787
+ variants: {
788
+ variant: TEXT_VARIANT__CAPTION,
789
+ size: TEXT_SIZE__LG,
790
+ weight: TEXT_WEIGHT__LIGHT,
791
+ },
792
+ style: {
793
+ fontSize: themeContract.typography.caption.lg.light.fontSize,
794
+ fontWeight: themeContract.typography.caption.lg.light.fontWeight,
795
+ letterSpacing: themeContract.typography.caption.lg.light.letterSpacing,
796
+ lineHeight: themeContract.typography.caption.lg.light.lineHeight,
797
+ },
798
+ },
799
+ {
800
+ variants: {
801
+ variant: TEXT_VARIANT__CAPTION,
802
+ size: TEXT_SIZE__LG,
803
+ weight: TEXT_WEIGHT__MEDIUM,
804
+ },
805
+ style: {
806
+ fontSize: themeContract.typography.caption.lg.medium.fontSize,
807
+ fontWeight: themeContract.typography.caption.lg.medium.fontWeight,
808
+ letterSpacing: themeContract.typography.caption.lg.medium.letterSpacing,
809
+ lineHeight: themeContract.typography.caption.lg.medium.lineHeight,
810
+ },
811
+ },
812
+ {
813
+ variants: {
814
+ variant: TEXT_VARIANT__CAPTION,
815
+ size: TEXT_SIZE__LG,
816
+ weight: TEXT_WEIGHT__BOLD,
817
+ },
818
+ style: {
819
+ fontSize: themeContract.typography.caption.lg.bold.fontSize,
820
+ fontWeight: themeContract.typography.caption.lg.bold.fontWeight,
821
+ letterSpacing: themeContract.typography.caption.lg.bold.letterSpacing,
822
+ lineHeight: themeContract.typography.caption.lg.bold.lineHeight,
823
+ },
824
+ },
825
+ {
826
+ variants: {
827
+ variant: TEXT_VARIANT__CAPTION,
828
+ size: TEXT_SIZE__MD,
829
+ weight: TEXT_WEIGHT__LIGHT,
830
+ },
831
+ style: {
832
+ fontSize: themeContract.typography.caption.md.light.fontSize,
833
+ fontWeight: themeContract.typography.caption.md.light.fontWeight,
834
+ letterSpacing: themeContract.typography.caption.md.light.letterSpacing,
835
+ lineHeight: themeContract.typography.caption.md.light.lineHeight,
836
+ },
837
+ },
838
+ {
839
+ variants: {
840
+ variant: TEXT_VARIANT__CAPTION,
841
+ size: TEXT_SIZE__MD,
842
+ weight: TEXT_WEIGHT__MEDIUM,
843
+ },
844
+ style: {
845
+ fontSize: themeContract.typography.caption.md.medium.fontSize,
846
+ fontWeight: themeContract.typography.caption.md.medium.fontWeight,
847
+ letterSpacing: themeContract.typography.caption.md.medium.letterSpacing,
848
+ lineHeight: themeContract.typography.caption.md.medium.lineHeight,
849
+ },
850
+ },
851
+ {
852
+ variants: {
853
+ variant: TEXT_VARIANT__CAPTION,
854
+ size: TEXT_SIZE__MD,
855
+ weight: TEXT_WEIGHT__BOLD,
856
+ },
857
+ style: {
858
+ fontSize: themeContract.typography.caption.md.bold.fontSize,
859
+ fontWeight: themeContract.typography.caption.md.bold.fontWeight,
860
+ letterSpacing: themeContract.typography.caption.md.bold.letterSpacing,
861
+ lineHeight: themeContract.typography.caption.md.bold.lineHeight,
862
+ },
863
+ },
864
+ {
865
+ variants: {
866
+ variant: TEXT_VARIANT__CAPTION,
867
+ size: TEXT_SIZE__SM,
868
+ weight: TEXT_WEIGHT__LIGHT,
869
+ },
870
+ style: {
871
+ fontSize: themeContract.typography.caption.sm.light.fontSize,
872
+ fontWeight: themeContract.typography.caption.sm.light.fontWeight,
873
+ letterSpacing: themeContract.typography.caption.sm.light.letterSpacing,
874
+ lineHeight: themeContract.typography.caption.sm.light.lineHeight,
875
+ },
876
+ },
877
+ {
878
+ variants: {
879
+ variant: TEXT_VARIANT__CAPTION,
880
+ size: TEXT_SIZE__SM,
881
+ weight: TEXT_WEIGHT__MEDIUM,
882
+ },
883
+ style: {
884
+ fontSize: themeContract.typography.caption.sm.medium.fontSize,
885
+ fontWeight: themeContract.typography.caption.sm.medium.fontWeight,
886
+ letterSpacing: themeContract.typography.caption.sm.medium.letterSpacing,
887
+ lineHeight: themeContract.typography.caption.sm.medium.lineHeight,
888
+ },
889
+ },
890
+ {
891
+ variants: {
892
+ variant: TEXT_VARIANT__CAPTION,
893
+ size: TEXT_SIZE__SM,
894
+ weight: TEXT_WEIGHT__BOLD,
895
+ },
896
+ style: {
897
+ fontSize: themeContract.typography.caption.sm.bold.fontSize,
898
+ fontWeight: themeContract.typography.caption.sm.bold.fontWeight,
899
+ letterSpacing: themeContract.typography.caption.sm.bold.letterSpacing,
900
+ lineHeight: themeContract.typography.caption.sm.bold.lineHeight,
901
+ },
902
+ },
903
+
904
+ // LABEL variants
905
+ {
906
+ variants: {
907
+ variant: TEXT_VARIANT__LABEL,
908
+ size: TEXT_SIZE__XL,
909
+ weight: TEXT_WEIGHT__LIGHT,
910
+ },
911
+ style: {
912
+ fontSize: themeContract.typography.label.xl.light.fontSize,
913
+ fontWeight: themeContract.typography.label.xl.light.fontWeight,
914
+ letterSpacing: themeContract.typography.label.xl.light.letterSpacing,
915
+ lineHeight: themeContract.typography.label.xl.light.lineHeight,
916
+ },
917
+ },
918
+ {
919
+ variants: {
920
+ variant: TEXT_VARIANT__LABEL,
921
+ size: TEXT_SIZE__XL,
922
+ weight: TEXT_WEIGHT__MEDIUM,
923
+ },
924
+ style: {
925
+ fontSize: themeContract.typography.label.xl.medium.fontSize,
926
+ fontWeight: themeContract.typography.label.xl.medium.fontWeight,
927
+ letterSpacing: themeContract.typography.label.xl.medium.letterSpacing,
928
+ lineHeight: themeContract.typography.label.xl.medium.lineHeight,
929
+ },
930
+ },
931
+ {
932
+ variants: {
933
+ variant: TEXT_VARIANT__LABEL,
934
+ size: TEXT_SIZE__XL,
935
+ weight: TEXT_WEIGHT__BOLD,
936
+ },
937
+ style: {
938
+ fontSize: themeContract.typography.label.xl.bold.fontSize,
939
+ fontWeight: themeContract.typography.label.xl.bold.fontWeight,
940
+ letterSpacing: themeContract.typography.label.xl.bold.letterSpacing,
941
+ lineHeight: themeContract.typography.label.xl.bold.lineHeight,
942
+ },
943
+ },
944
+ {
945
+ variants: {
946
+ variant: TEXT_VARIANT__LABEL,
947
+ size: TEXT_SIZE__LG,
948
+ weight: TEXT_WEIGHT__LIGHT,
949
+ },
950
+ style: {
951
+ fontSize: themeContract.typography.label.lg.light.fontSize,
952
+ fontWeight: themeContract.typography.label.lg.light.fontWeight,
953
+ letterSpacing: themeContract.typography.label.lg.light.letterSpacing,
954
+ lineHeight: themeContract.typography.label.lg.light.lineHeight,
955
+ },
956
+ },
957
+ {
958
+ variants: {
959
+ variant: TEXT_VARIANT__LABEL,
960
+ size: TEXT_SIZE__LG,
961
+ weight: TEXT_WEIGHT__MEDIUM,
962
+ },
963
+ style: {
964
+ fontSize: themeContract.typography.label.lg.medium.fontSize,
965
+ fontWeight: themeContract.typography.label.lg.medium.fontWeight,
966
+ letterSpacing: themeContract.typography.label.lg.medium.letterSpacing,
967
+ lineHeight: themeContract.typography.label.lg.medium.lineHeight,
968
+ },
969
+ },
970
+ {
971
+ variants: {
972
+ variant: TEXT_VARIANT__LABEL,
973
+ size: TEXT_SIZE__LG,
974
+ weight: TEXT_WEIGHT__BOLD,
975
+ },
976
+ style: {
977
+ fontSize: themeContract.typography.label.lg.bold.fontSize,
978
+ fontWeight: themeContract.typography.label.lg.bold.fontWeight,
979
+ letterSpacing: themeContract.typography.label.lg.bold.letterSpacing,
980
+ lineHeight: themeContract.typography.label.lg.bold.lineHeight,
981
+ },
982
+ },
983
+ {
984
+ variants: {
985
+ variant: TEXT_VARIANT__LABEL,
986
+ size: TEXT_SIZE__MD,
987
+ weight: TEXT_WEIGHT__LIGHT,
988
+ },
989
+ style: {
990
+ fontSize: themeContract.typography.label.md.light.fontSize,
991
+ fontWeight: themeContract.typography.label.md.light.fontWeight,
992
+ letterSpacing: themeContract.typography.label.md.light.letterSpacing,
993
+ lineHeight: themeContract.typography.label.md.light.lineHeight,
994
+ },
995
+ },
996
+ {
997
+ variants: {
998
+ variant: TEXT_VARIANT__LABEL,
999
+ size: TEXT_SIZE__MD,
1000
+ weight: TEXT_WEIGHT__MEDIUM,
1001
+ },
1002
+ style: {
1003
+ fontSize: themeContract.typography.label.md.medium.fontSize,
1004
+ fontWeight: themeContract.typography.label.md.medium.fontWeight,
1005
+ letterSpacing: themeContract.typography.label.md.medium.letterSpacing,
1006
+ lineHeight: themeContract.typography.label.md.medium.lineHeight,
1007
+ },
1008
+ },
1009
+ {
1010
+ variants: {
1011
+ variant: TEXT_VARIANT__LABEL,
1012
+ size: TEXT_SIZE__MD,
1013
+ weight: TEXT_WEIGHT__BOLD,
1014
+ },
1015
+ style: {
1016
+ fontSize: themeContract.typography.label.md.bold.fontSize,
1017
+ fontWeight: themeContract.typography.label.md.bold.fontWeight,
1018
+ letterSpacing: themeContract.typography.label.md.bold.letterSpacing,
1019
+ lineHeight: themeContract.typography.label.md.bold.lineHeight,
1020
+ },
1021
+ },
1022
+ {
1023
+ variants: {
1024
+ variant: TEXT_VARIANT__LABEL,
1025
+ size: TEXT_SIZE__SM,
1026
+ weight: TEXT_WEIGHT__LIGHT,
1027
+ },
1028
+ style: {
1029
+ fontSize: themeContract.typography.label.sm.light.fontSize,
1030
+ fontWeight: themeContract.typography.label.sm.light.fontWeight,
1031
+ letterSpacing: themeContract.typography.label.sm.light.letterSpacing,
1032
+ lineHeight: themeContract.typography.label.sm.light.lineHeight,
1033
+ },
1034
+ },
1035
+ {
1036
+ variants: {
1037
+ variant: TEXT_VARIANT__LABEL,
1038
+ size: TEXT_SIZE__SM,
1039
+ weight: TEXT_WEIGHT__MEDIUM,
1040
+ },
1041
+ style: {
1042
+ fontSize: themeContract.typography.label.sm.medium.fontSize,
1043
+ fontWeight: themeContract.typography.label.sm.medium.fontWeight,
1044
+ letterSpacing: themeContract.typography.label.sm.medium.letterSpacing,
1045
+ lineHeight: themeContract.typography.label.sm.medium.lineHeight,
1046
+ },
1047
+ },
1048
+ {
1049
+ variants: {
1050
+ variant: TEXT_VARIANT__LABEL,
1051
+ size: TEXT_SIZE__SM,
1052
+ weight: TEXT_WEIGHT__BOLD,
1053
+ },
1054
+ style: {
1055
+ fontSize: themeContract.typography.label.sm.bold.fontSize,
1056
+ fontWeight: themeContract.typography.label.sm.bold.fontWeight,
1057
+ letterSpacing: themeContract.typography.label.sm.bold.letterSpacing,
1058
+ lineHeight: themeContract.typography.label.sm.bold.lineHeight,
1059
+ },
1060
+ },
1061
+ ],
1062
+ });
1063
+
1064
+ export {
1065
+ TEXT_VARIANT__DISPLAY,
1066
+ TEXT_VARIANT__HEADING,
1067
+ TEXT_VARIANT__SUBHEADING,
1068
+ TEXT_VARIANT__BODY,
1069
+ TEXT_VARIANT__CAPTION,
1070
+ TEXT_VARIANT__LABEL,
1071
+ TEXT_SIZE__XL,
1072
+ TEXT_SIZE__LG,
1073
+ TEXT_SIZE__MD,
1074
+ TEXT_SIZE__SM,
1075
+ TEXT_COLOR__PRIMARY,
1076
+ TEXT_COLOR__SECONDARY,
1077
+ TEXT_COLOR__MUTED,
1078
+ TEXT_COLOR__DISABLED,
1079
+ TEXT_COLOR__INVERSE,
1080
+ TEXT_COLOR__INTERACTIVE,
1081
+ TEXT_COLOR__SUCCESS,
1082
+ TEXT_COLOR__WARNING,
1083
+ TEXT_COLOR__DANGER,
1084
+ TEXT_COLOR__INFO,
1085
+ TEXT_COLOR__BRAND,
1086
+ TEXT_COLOR__ACCENT,
1087
+ TEXT_WEIGHT__LIGHT,
1088
+ TEXT_WEIGHT__MEDIUM,
1089
+ TEXT_WEIGHT__BOLD,
1090
+ textVariants,
1091
+ };