@sumup-oss/design-tokens 8.0.0-next.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 (44) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +115 -0
  3. package/dark-scoped.css +140 -0
  4. package/dark.css +201 -0
  5. package/dist/cjs/index.d.ts +27 -0
  6. package/dist/cjs/index.js +55 -0
  7. package/dist/cjs/scripts/build.d.ts +36 -0
  8. package/dist/cjs/scripts/build.js +182 -0
  9. package/dist/cjs/themes/dark.d.ts +555 -0
  10. package/dist/cjs/themes/dark.js +694 -0
  11. package/dist/cjs/themes/legacy/light.d.ts +85 -0
  12. package/dist/cjs/themes/legacy/light.js +196 -0
  13. package/dist/cjs/themes/light.d.ts +555 -0
  14. package/dist/cjs/themes/light.js +694 -0
  15. package/dist/cjs/themes/schema.d.ts +603 -0
  16. package/dist/cjs/themes/schema.js +243 -0
  17. package/dist/cjs/themes/shared.d.ts +259 -0
  18. package/dist/cjs/themes/shared.js +333 -0
  19. package/dist/cjs/types/index.d.ts +175 -0
  20. package/dist/cjs/types/index.js +16 -0
  21. package/dist/cjs/utils/theme-prop-type.d.ts +36 -0
  22. package/dist/cjs/utils/theme-prop-type.js +162 -0
  23. package/dist/es/index.d.ts +27 -0
  24. package/dist/es/index.js +27 -0
  25. package/dist/es/scripts/build.d.ts +36 -0
  26. package/dist/es/scripts/build.js +174 -0
  27. package/dist/es/themes/dark.d.ts +555 -0
  28. package/dist/es/themes/dark.js +691 -0
  29. package/dist/es/themes/legacy/light.d.ts +85 -0
  30. package/dist/es/themes/legacy/light.js +193 -0
  31. package/dist/es/themes/light.d.ts +555 -0
  32. package/dist/es/themes/light.js +691 -0
  33. package/dist/es/themes/schema.d.ts +603 -0
  34. package/dist/es/themes/schema.js +240 -0
  35. package/dist/es/themes/shared.d.ts +259 -0
  36. package/dist/es/themes/shared.js +330 -0
  37. package/dist/es/types/index.d.ts +175 -0
  38. package/dist/es/types/index.js +15 -0
  39. package/dist/es/utils/theme-prop-type.d.ts +36 -0
  40. package/dist/es/utils/theme-prop-type.js +156 -0
  41. package/dynamic.css +626 -0
  42. package/light-scoped.css +140 -0
  43. package/light.css +201 -0
  44. package/package.json +44 -0
@@ -0,0 +1,330 @@
1
+ /**
2
+ * Copyright 2024, SumUp Ltd.
3
+ * Licensed under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License.
5
+ * You may obtain a copy of the License at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software
10
+ * distributed under the License is distributed on an "AS IS" BASIS,
11
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ * See the License for the specific language governing permissions and
13
+ * limitations under the License.
14
+ */
15
+ export const shared = [
16
+ /* Border radii */
17
+ {
18
+ name: '--cui-border-radius-bit',
19
+ value: '4px',
20
+ type: 'dimension',
21
+ },
22
+ {
23
+ name: '--cui-border-radius-byte',
24
+ value: '8px',
25
+ type: 'dimension',
26
+ },
27
+ {
28
+ name: '--cui-border-radius-kilo',
29
+ value: '12px',
30
+ type: 'dimension',
31
+ },
32
+ {
33
+ name: '--cui-border-radius-mega',
34
+ value: '16px',
35
+ type: 'dimension',
36
+ },
37
+ {
38
+ name: '--cui-border-radius-circle',
39
+ value: '100%',
40
+ type: 'dimension',
41
+ },
42
+ {
43
+ name: '--cui-border-radius-pill',
44
+ value: '999999px',
45
+ type: 'dimension',
46
+ },
47
+ /* Border widths */
48
+ {
49
+ name: '--cui-border-width-kilo',
50
+ value: '1px',
51
+ type: 'dimension',
52
+ },
53
+ {
54
+ name: '--cui-border-width-mega',
55
+ value: '2px',
56
+ type: 'dimension',
57
+ },
58
+ /* Font families */
59
+ {
60
+ name: '--cui-font-stack-default',
61
+ value: 'aktiv-grotesk, Helvetica, Arial, system-ui, sans-serif, "Segoe UI", Roboto, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',
62
+ type: 'fontFamily',
63
+ },
64
+ {
65
+ name: '--cui-font-stack-mono',
66
+ value: 'Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace',
67
+ type: 'fontFamily',
68
+ },
69
+ /* Font weights */
70
+ {
71
+ name: '--cui-font-weight-regular',
72
+ value: '400',
73
+ type: 'fontWeight',
74
+ },
75
+ {
76
+ name: '--cui-font-weight-bold',
77
+ value: '700',
78
+ type: 'fontWeight',
79
+ },
80
+ /* Icon sizes */
81
+ {
82
+ name: '--cui-icon-sizes-kilo',
83
+ value: '16px',
84
+ type: 'dimension',
85
+ },
86
+ {
87
+ name: '--cui-icon-sizes-mega',
88
+ value: '24px',
89
+ type: 'dimension',
90
+ },
91
+ {
92
+ name: '--cui-icon-sizes-giga',
93
+ value: '32px',
94
+ type: 'dimension',
95
+ },
96
+ {
97
+ name: '--cui-icon-sizes-tera',
98
+ value: '48px',
99
+ type: 'dimension',
100
+ },
101
+ /* Spacings */
102
+ {
103
+ name: '--cui-spacings-bit',
104
+ value: '4px',
105
+ type: 'dimension',
106
+ },
107
+ {
108
+ name: '--cui-spacings-byte',
109
+ value: '8px',
110
+ type: 'dimension',
111
+ },
112
+ {
113
+ name: '--cui-spacings-kilo',
114
+ value: '12px',
115
+ type: 'dimension',
116
+ },
117
+ {
118
+ name: '--cui-spacings-mega',
119
+ value: '16px',
120
+ type: 'dimension',
121
+ },
122
+ {
123
+ name: '--cui-spacings-giga',
124
+ value: '24px',
125
+ type: 'dimension',
126
+ },
127
+ {
128
+ name: '--cui-spacings-tera',
129
+ value: '32px',
130
+ type: 'dimension',
131
+ },
132
+ {
133
+ name: '--cui-spacings-peta',
134
+ value: '40px',
135
+ type: 'dimension',
136
+ },
137
+ {
138
+ name: '--cui-spacings-exa',
139
+ value: '48px',
140
+ type: 'dimension',
141
+ },
142
+ {
143
+ name: '--cui-spacings-zetta',
144
+ value: '56px',
145
+ type: 'dimension',
146
+ },
147
+ /* Transitions */
148
+ {
149
+ name: '--cui-transitions-default',
150
+ value: '120ms ease-in-out',
151
+ type: 'duration',
152
+ },
153
+ {
154
+ name: '--cui-transitions-slow',
155
+ value: '300ms ease-in-out',
156
+ type: 'duration',
157
+ },
158
+ /* Typography */
159
+ {
160
+ name: '--cui-typography-headline-one-font-size',
161
+ value: '2rem',
162
+ type: 'dimension',
163
+ },
164
+ {
165
+ name: '--cui-typography-headline-one-line-height',
166
+ value: '2.25rem',
167
+ type: 'dimension',
168
+ },
169
+ {
170
+ name: '--cui-typography-headline-two-font-size',
171
+ value: '1.5rem',
172
+ type: 'dimension',
173
+ },
174
+ {
175
+ name: '--cui-typography-headline-two-line-height',
176
+ value: '1.75rem',
177
+ type: 'dimension',
178
+ },
179
+ {
180
+ name: '--cui-typography-headline-three-font-size',
181
+ value: '1.25rem',
182
+ type: 'dimension',
183
+ },
184
+ {
185
+ name: '--cui-typography-headline-three-line-height',
186
+ value: '1.5rem',
187
+ type: 'dimension',
188
+ },
189
+ {
190
+ name: '--cui-typography-headline-four-font-size',
191
+ value: '1.125rem',
192
+ type: 'dimension',
193
+ },
194
+ {
195
+ name: '--cui-typography-headline-four-line-height',
196
+ value: '1.5rem',
197
+ type: 'dimension',
198
+ },
199
+ {
200
+ name: '--cui-typography-title-one-font-size',
201
+ value: '7.5rem',
202
+ type: 'dimension',
203
+ },
204
+ {
205
+ name: '--cui-typography-title-one-line-height',
206
+ value: '7.5rem',
207
+ type: 'dimension',
208
+ },
209
+ {
210
+ name: '--cui-typography-title-two-font-size',
211
+ value: '6rem',
212
+ type: 'dimension',
213
+ },
214
+ {
215
+ name: '--cui-typography-title-two-line-height',
216
+ value: '6rem',
217
+ type: 'dimension',
218
+ },
219
+ {
220
+ name: '--cui-typography-title-three-font-size',
221
+ value: '4rem',
222
+ type: 'dimension',
223
+ },
224
+ {
225
+ name: '--cui-typography-title-three-line-height',
226
+ value: '4rem',
227
+ type: 'dimension',
228
+ },
229
+ {
230
+ name: '--cui-typography-title-four-font-size',
231
+ value: '3.5rem',
232
+ type: 'dimension',
233
+ },
234
+ {
235
+ name: '--cui-typography-title-four-line-height',
236
+ value: '3.5rem',
237
+ type: 'dimension',
238
+ },
239
+ {
240
+ name: '--cui-typography-sub-headline-font-size',
241
+ value: '0.875rem',
242
+ type: 'dimension',
243
+ },
244
+ {
245
+ name: '--cui-typography-sub-headline-line-height',
246
+ value: '1.25rem',
247
+ type: 'dimension',
248
+ },
249
+ {
250
+ name: '--cui-typography-body-one-font-size',
251
+ value: '1rem',
252
+ type: 'dimension',
253
+ },
254
+ {
255
+ name: '--cui-typography-body-one-line-height',
256
+ value: '1.5rem',
257
+ type: 'dimension',
258
+ },
259
+ {
260
+ name: '--cui-typography-body-two-font-size',
261
+ value: '0.875rem',
262
+ type: 'dimension',
263
+ },
264
+ {
265
+ name: '--cui-typography-body-two-line-height',
266
+ value: '1.25rem',
267
+ type: 'dimension',
268
+ },
269
+ {
270
+ name: '--cui-typography-body-large-font-size',
271
+ value: '1.25rem',
272
+ type: 'dimension',
273
+ },
274
+ {
275
+ name: '--cui-typography-body-large-line-height',
276
+ value: '1.75rem',
277
+ type: 'dimension',
278
+ },
279
+ /* Z-indices */
280
+ {
281
+ name: '--cui-z-index-default',
282
+ value: 0,
283
+ type: 'number',
284
+ },
285
+ {
286
+ name: '--cui-z-index-absolute',
287
+ value: 1,
288
+ type: 'number',
289
+ },
290
+ {
291
+ name: '--cui-z-index-input',
292
+ value: 20,
293
+ type: 'number',
294
+ },
295
+ {
296
+ name: '--cui-z-index-popover',
297
+ value: 30,
298
+ type: 'number',
299
+ },
300
+ {
301
+ name: '--cui-z-index-tooltip',
302
+ value: 40,
303
+ type: 'number',
304
+ },
305
+ {
306
+ name: '--cui-z-index-header',
307
+ value: 600,
308
+ type: 'number',
309
+ },
310
+ {
311
+ name: '--cui-z-index-backdrop',
312
+ value: 700,
313
+ type: 'number',
314
+ },
315
+ {
316
+ name: '--cui-z-index-navigation',
317
+ value: 800,
318
+ type: 'number',
319
+ },
320
+ {
321
+ name: '--cui-z-index-modal',
322
+ value: 1000,
323
+ type: 'number',
324
+ },
325
+ {
326
+ name: '--cui-z-index-toast',
327
+ value: 1100,
328
+ type: 'number',
329
+ },
330
+ ];
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Copyright 2020, SumUp Ltd.
3
+ * Licensed under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License.
5
+ * You may obtain a copy of the License at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software
10
+ * distributed under the License is distributed on an "AS IS" BASIS,
11
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ * See the License for the specific language governing permissions and
13
+ * limitations under the License.
14
+ */
15
+ export type Spacings = {
16
+ bit: string;
17
+ byte: string;
18
+ kilo: string;
19
+ mega: string;
20
+ giga: string;
21
+ tera: string;
22
+ peta: string;
23
+ exa: string;
24
+ zetta: string;
25
+ };
26
+ export type IconSizes = {
27
+ kilo: string;
28
+ mega: string;
29
+ giga: string;
30
+ tera: string;
31
+ };
32
+ export type BorderRadius = {
33
+ bit: string;
34
+ byte: string;
35
+ kilo: string;
36
+ mega: string;
37
+ circle: string;
38
+ pill: string;
39
+ };
40
+ export type BorderWidth = {
41
+ kilo: string;
42
+ mega: string;
43
+ };
44
+ export type Typography = {
45
+ fontSize: string;
46
+ lineHeight: string;
47
+ };
48
+ export type FontStack = {
49
+ default: string;
50
+ mono: string;
51
+ };
52
+ export type FontWeight = {
53
+ regular: string;
54
+ bold: string;
55
+ };
56
+ type Breakpoint = 'untilKilo' | 'kilo' | 'kiloToMega' | 'mega' | 'untilMega' | 'megaToGiga' | 'giga' | 'untilGiga' | 'gigaToTera' | 'tera' | 'untilTera';
57
+ type GridBreakpoint = 'default' | 'untilKilo' | 'kilo' | 'mega' | 'giga' | 'tera';
58
+ export type Breakpoints = {
59
+ [key in Breakpoint]: string;
60
+ };
61
+ export type MediaQueries = {
62
+ [key in Breakpoint]: string;
63
+ };
64
+ export type Grid = {
65
+ [key in GridBreakpoint]: {
66
+ priority: number;
67
+ breakpoint: Breakpoint | 'default';
68
+ cols: number;
69
+ maxWidth: string;
70
+ gutter: string;
71
+ };
72
+ };
73
+ export type Transitions = {
74
+ default: string;
75
+ slow: string;
76
+ };
77
+ export type ZIndex = {
78
+ default: number;
79
+ absolute: number;
80
+ input: number;
81
+ popover: number;
82
+ tooltip: number;
83
+ header: number;
84
+ backdrop: number;
85
+ navigation: number;
86
+ modal: number;
87
+ toast: number;
88
+ };
89
+ /**
90
+ * @deprecated
91
+ *
92
+ * Use the CSS custom properties from `@sumup-oss/design-tokens` instead.
93
+ * Use the [`circuit-ui/prefer-custom-properties`](https://github.com/sumup-oss/circuit-ui/tree/main/packages/eslint-plugin-circuit-ui/prefer-custom-properties)
94
+ * ESLint rule to automatically migrate your code.
95
+ */
96
+ export interface Theme {
97
+ spacings: Spacings;
98
+ iconSizes: IconSizes;
99
+ borderRadius: BorderRadius;
100
+ borderWidth: BorderWidth;
101
+ typography: {
102
+ headline: {
103
+ one: Typography;
104
+ two: Typography;
105
+ three: Typography;
106
+ four: Typography;
107
+ };
108
+ title: {
109
+ one: Typography;
110
+ two: Typography;
111
+ three: Typography;
112
+ four: Typography;
113
+ };
114
+ subHeadline: Typography;
115
+ body: {
116
+ one: Typography;
117
+ two: Typography;
118
+ };
119
+ bodyLarge: Typography;
120
+ };
121
+ fontStack: FontStack;
122
+ fontWeight: FontWeight;
123
+ breakpoints: Breakpoints;
124
+ mq: MediaQueries;
125
+ grid: Grid;
126
+ transitions: Transitions;
127
+ zIndex: ZIndex;
128
+ }
129
+ export type ColorScheme = 'light' | 'dark';
130
+ /**
131
+ * The token definitions below are loosely based on
132
+ * https://github.com/design-tokens/community-group
133
+ */
134
+ export type TokenName = `--cui-${string}`;
135
+ export type TokenType = Token['type'];
136
+ export type Token = ColorToken | DimensionToken | DurationToken | FontFamilyToken | FontWeightToken | NumberToken;
137
+ interface BaseToken {
138
+ name: TokenName;
139
+ description?: string;
140
+ type: string;
141
+ value: unknown;
142
+ }
143
+ type ColorUsage = 'fg' | 'bg' | 'border';
144
+ type ColorSentiment = 'accent' | 'promo' | 'success' | 'warning' | 'danger' | 'on-strong';
145
+ type ColorVariant = 'normal' | 'subtle' | 'highlight' | 'strong' | 'placeholder' | 'elevated' | 'overlay' | 'divider' | 'focus';
146
+ type ColorInteraction = 'hovered' | 'pressed' | 'disabled';
147
+ interface ColorToken extends BaseToken {
148
+ type: 'color';
149
+ name: `--cui-${ColorUsage}-${ColorSentiment | ColorVariant}` | `--cui-${ColorUsage}-${ColorVariant}-${ColorInteraction}` | `--cui-${ColorUsage}-${ColorSentiment}-${ColorVariant | ColorInteraction}` | `--cui-${ColorUsage}-${ColorSentiment}-${ColorVariant}-${ColorInteraction}`;
150
+ value: Color;
151
+ }
152
+ export type Color = `#${string}` | `rgb(${number},${number},${number})` | `rgb(${number},${number},${number},${number})` | `rgba(${number},${number},${number},${number})`;
153
+ interface DimensionToken extends BaseToken {
154
+ type: 'dimension';
155
+ value: Dimension;
156
+ }
157
+ type Dimension = `${number}rem` | `${number}px` | `${number}%`;
158
+ interface DurationToken extends BaseToken {
159
+ type: 'duration';
160
+ value: Duration;
161
+ }
162
+ type Duration = `${number}ms` | `${number}ms ${string}`;
163
+ interface FontFamilyToken extends BaseToken {
164
+ type: 'fontFamily';
165
+ value: string | string[];
166
+ }
167
+ interface FontWeightToken extends BaseToken {
168
+ type: 'fontWeight';
169
+ value: string | number;
170
+ }
171
+ interface NumberToken extends BaseToken {
172
+ type: 'number';
173
+ value: number;
174
+ }
175
+ export {};
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Copyright 2020, SumUp Ltd.
3
+ * Licensed under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License.
5
+ * You may obtain a copy of the License at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software
10
+ * distributed under the License is distributed on an "AS IS" BASIS,
11
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ * See the License for the specific language governing permissions and
13
+ * limitations under the License.
14
+ */
15
+ export {};
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Copyright 2020, SumUp Ltd.
3
+ * Licensed under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License.
5
+ * You may obtain a copy of the License at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software
10
+ * distributed under the License is distributed on an "AS IS" BASIS,
11
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ * See the License for the specific language governing permissions and
13
+ * limitations under the License.
14
+ */
15
+ import PropTypes from 'prop-types';
16
+ /**
17
+ * @deprecated
18
+ *
19
+ * Use the CSS custom properties from `@sumup-oss/design-tokens` instead.
20
+ * Use the [`circuit-ui/prefer-custom-properties`](https://github.com/sumup-oss/circuit-ui/tree/main/packages/eslint-plugin-circuit-ui/prefer-custom-properties)
21
+ * ESLint rule to automatically migrate your code.
22
+ */
23
+ export declare const themePropType: PropTypes.Requireable<PropTypes.InferProps<{
24
+ spacings: PropTypes.Requireable<unknown>;
25
+ iconSizes: PropTypes.Requireable<unknown>;
26
+ borderRadius: PropTypes.Requireable<unknown>;
27
+ borderWidth: PropTypes.Requireable<unknown>;
28
+ typography: PropTypes.Requireable<unknown>;
29
+ fontStack: PropTypes.Requireable<unknown>;
30
+ fontWeight: PropTypes.Requireable<unknown>;
31
+ breakpoints: PropTypes.Requireable<unknown>;
32
+ mq: PropTypes.Requireable<unknown>;
33
+ grid: PropTypes.Requireable<unknown>;
34
+ transitions: PropTypes.Requireable<unknown>;
35
+ zIndex: PropTypes.Requireable<unknown>;
36
+ }>>;
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Copyright 2020, SumUp Ltd.
3
+ * Licensed under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License.
5
+ * You may obtain a copy of the License at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software
10
+ * distributed under the License is distributed on an "AS IS" BASIS,
11
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ * See the License for the specific language governing permissions and
13
+ * limitations under the License.
14
+ */
15
+ import PropTypes from 'prop-types';
16
+ const typePropType = PropTypes.shape({
17
+ fontSize: PropTypes.string,
18
+ lineHeight: PropTypes.string,
19
+ }).isRequired;
20
+ const gridPropType = PropTypes.shape({
21
+ priority: PropTypes.number.isRequired,
22
+ breakpoint: PropTypes.oneOf([
23
+ 'default',
24
+ 'untilKilo',
25
+ 'kilo',
26
+ 'mega',
27
+ 'giga',
28
+ 'tera',
29
+ ]).isRequired,
30
+ cols: PropTypes.number.isRequired,
31
+ maxWidth: PropTypes.string.isRequired,
32
+ gutter: PropTypes.string.isRequired,
33
+ }).isRequired;
34
+ /**
35
+ * @deprecated
36
+ *
37
+ * Use the CSS custom properties from `@sumup-oss/design-tokens` instead.
38
+ * Use the [`circuit-ui/prefer-custom-properties`](https://github.com/sumup-oss/circuit-ui/tree/main/packages/eslint-plugin-circuit-ui/prefer-custom-properties)
39
+ * ESLint rule to automatically migrate your code.
40
+ */
41
+ export const themePropType = PropTypes.shape({
42
+ spacings: PropTypes.shape({
43
+ bit: PropTypes.string.isRequired,
44
+ byte: PropTypes.string.isRequired,
45
+ kilo: PropTypes.string.isRequired,
46
+ mega: PropTypes.string.isRequired,
47
+ giga: PropTypes.string.isRequired,
48
+ tera: PropTypes.string.isRequired,
49
+ peta: PropTypes.string.isRequired,
50
+ exa: PropTypes.string.isRequired,
51
+ zetta: PropTypes.string.isRequired,
52
+ })
53
+ .isRequired,
54
+ iconSizes: PropTypes.shape({
55
+ kilo: PropTypes.string.isRequired,
56
+ mega: PropTypes.string.isRequired,
57
+ giga: PropTypes.string.isRequired,
58
+ tera: PropTypes.string.isRequired,
59
+ })
60
+ .isRequired,
61
+ borderRadius: PropTypes.shape({
62
+ bit: PropTypes.string.isRequired,
63
+ byte: PropTypes.string.isRequired,
64
+ kilo: PropTypes.string.isRequired,
65
+ mega: PropTypes.string.isRequired,
66
+ circle: PropTypes.string.isRequired,
67
+ pill: PropTypes.string.isRequired,
68
+ })
69
+ .isRequired,
70
+ borderWidth: PropTypes.shape({
71
+ kilo: PropTypes.string.isRequired,
72
+ mega: PropTypes.string.isRequired,
73
+ })
74
+ .isRequired,
75
+ typography: PropTypes.shape({
76
+ headline: PropTypes.shape({
77
+ one: typePropType,
78
+ two: typePropType,
79
+ three: typePropType,
80
+ four: typePropType,
81
+ }).isRequired,
82
+ title: PropTypes.shape({
83
+ one: typePropType,
84
+ two: typePropType,
85
+ three: typePropType,
86
+ four: typePropType,
87
+ }).isRequired,
88
+ subHeadline: typePropType,
89
+ body: PropTypes.shape({
90
+ one: typePropType,
91
+ two: typePropType,
92
+ }).isRequired,
93
+ bodyLarge: typePropType,
94
+ }).isRequired,
95
+ fontStack: PropTypes.shape({
96
+ default: PropTypes.string,
97
+ mono: PropTypes.string,
98
+ }).isRequired,
99
+ fontWeight: PropTypes.shape({
100
+ regular: PropTypes.string.isRequired,
101
+ bold: PropTypes.string.isRequired,
102
+ })
103
+ .isRequired,
104
+ breakpoints: PropTypes.shape({
105
+ untilKilo: PropTypes.string.isRequired,
106
+ kilo: PropTypes.string.isRequired,
107
+ kiloToMega: PropTypes.string.isRequired,
108
+ mega: PropTypes.string.isRequired,
109
+ untilMega: PropTypes.string.isRequired,
110
+ megaToGiga: PropTypes.string.isRequired,
111
+ giga: PropTypes.string.isRequired,
112
+ untilGiga: PropTypes.string.isRequired,
113
+ gigaToTera: PropTypes.string.isRequired,
114
+ tera: PropTypes.string.isRequired,
115
+ untilTera: PropTypes.string.isRequired,
116
+ })
117
+ .isRequired,
118
+ mq: PropTypes.shape({
119
+ untilKilo: PropTypes.string.isRequired,
120
+ kilo: PropTypes.string.isRequired,
121
+ kiloToMega: PropTypes.string.isRequired,
122
+ mega: PropTypes.string.isRequired,
123
+ untilMega: PropTypes.string.isRequired,
124
+ megaToGiga: PropTypes.string.isRequired,
125
+ giga: PropTypes.string.isRequired,
126
+ gigaToTera: PropTypes.string.isRequired,
127
+ tera: PropTypes.string.isRequired,
128
+ untilTera: PropTypes.string.isRequired,
129
+ })
130
+ .isRequired,
131
+ grid: PropTypes.shape({
132
+ default: gridPropType,
133
+ untilKilo: gridPropType,
134
+ kilo: gridPropType,
135
+ mega: gridPropType,
136
+ giga: gridPropType,
137
+ tera: gridPropType,
138
+ }).isRequired,
139
+ transitions: PropTypes.shape({
140
+ default: PropTypes.string.isRequired,
141
+ slow: PropTypes.string.isRequired,
142
+ })
143
+ .isRequired,
144
+ zIndex: PropTypes.shape({
145
+ default: PropTypes.number.isRequired,
146
+ absolute: PropTypes.number.isRequired,
147
+ input: PropTypes.number.isRequired,
148
+ popover: PropTypes.number.isRequired,
149
+ tooltip: PropTypes.number.isRequired,
150
+ header: PropTypes.number.isRequired,
151
+ backdrop: PropTypes.number.isRequired,
152
+ navigation: PropTypes.number.isRequired,
153
+ modal: PropTypes.number.isRequired,
154
+ toast: PropTypes.number.isRequired,
155
+ }).isRequired,
156
+ });