UNPKG

19.4 kBPlain TextView Raw
1interface Breakpoints {
2 small: number;
3 medium: number;
4 large: number;
5}
6
7interface MediaQuery {
8 small: string;
9 medium: string;
10 large: string;
11}
12
13type Responsive<T> = T | T[];
14export type CSSLengthUnitT =
15 | 'cm'
16 | 'mm'
17 | 'Q'
18 | 'in'
19 | 'pc'
20 | 'px'
21 | 'pt'
22 | 'em'
23 | 'ex'
24 | 'ch'
25 | 'rem'
26 | 'lh'
27 | 'vw'
28 | 'vh'
29 | 'vmin'
30 | 'vmax'
31 | '%';
32interface Grid {
33 columns: Responsive<number>;
34 gutters: Responsive<number>;
35 margins: Responsive<number>;
36 gaps: Responsive<number>;
37 maxWidth: number;
38 unit: CSSLengthUnitT;
39}
40
41interface Colors {
42 // Primary Palette
43 primaryA: string;
44 primaryB: string;
45 primary: string;
46 primary50: string;
47 primary100: string;
48 primary200: string;
49 primary300: string;
50 primary400: string;
51 primary500: string;
52 primary600: string;
53 primary700: string;
54
55 // Accent Palette
56 accent: string;
57 accent50: string;
58 accent100: string;
59 accent200: string;
60 accent300: string;
61 accent400: string;
62 accent500: string;
63 accent600: string;
64 accent700: string;
65
66 // Alert Palette
67 negative: string;
68 negative50: string;
69 negative100: string;
70 negative200: string;
71 negative300: string;
72 negative400: string;
73 negative500: string;
74 negative600: string;
75 negative700: string;
76
77 // Warning Palette
78 warning: string;
79 warning50: string;
80 warning100: string;
81 warning200: string;
82 warning300: string;
83 warning400: string;
84 warning500: string;
85 warning600: string;
86 warning700: string;
87
88 // Success Palette
89 positive: string;
90 positive50: string;
91 positive100: string;
92 positive200: string;
93 positive300: string;
94 positive400: string;
95 positive500: string;
96 positive600: string;
97 positive700: string;
98
99 // Monochrome Palette
100 white: string;
101 mono100: string;
102 mono200: string;
103 mono300: string;
104 mono400: string;
105 mono500: string;
106 mono600: string;
107 mono700: string;
108 mono800: string;
109 mono900: string;
110 mono1000: string;
111 black: string;
112
113 // Rating Palette
114 rating200: string;
115 rating400: string;
116
117 /* ---- Semantic Colors ---- */
118
119 /* CoreSemanticColorTokensT */
120
121 // Background
122 backgroundPrimary: string;
123 backgroundSecondary: string;
124 backgroundTertiary: string;
125 backgroundInversePrimary: string;
126 backgroundInverseSecondary: string;
127
128 // Content
129 contentPrimary: string;
130 contentSecondary: string;
131 contentTertiary: string;
132 contentInversePrimary: string;
133 contentInverseSecondary: string;
134 contentInverseTertiary: string;
135
136 // Border
137 borderOpaque: string;
138 borderTransparent: string;
139 borderSelected: string;
140 borderInverseOpaque: string;
141 borderInverseTransparent: string;
142 borderInverseSelected: string;
143
144 /* CoreExtensionSemanticColorTokensT */
145
146 // Backgrounds
147 backgroundStateDisabled: string;
148 backgroundOverlayDark: string;
149 backgroundOverlayLight: string;
150 backgroundAccent: string;
151 backgroundNegative: string;
152 backgroundWarning: string;
153 backgroundPositive: string;
154 backgroundLightAccent: string;
155 backgroundLightPositive: string;
156 backgroundLightNegative: string;
157 backgroundLightWarning: string;
158 backgroundAlwaysDark: string;
159 backgroundAlwaysLight: string;
160
161 // Content
162 contentStateDisabled: string;
163 contentAccent: string;
164 contentOnColor: string;
165 contentNegative: string;
166 contentWarning: string;
167 contentPositive: string;
168
169 // Border
170 borderStateDisabled: string;
171 borderAccent: string;
172 borderAccentLight: string;
173 borderNegative: string;
174 borderWarning: string;
175 borderPositive: string;
176
177 /* ---- End of Semantic Colors ---- */
178
179 /* ---- Deprecated Semantic Colors ---- */
180
181 // Font Color
182 colorPrimary: string;
183 colorSecondary: string;
184
185 // Background
186 background: string;
187 backgroundAlt: string;
188 backgroundInv: string;
189
190 // Foreground
191 foreground: string;
192 foregroundAlt: string;
193 foregroundInv: string;
194
195 // Borders
196 border: string;
197 borderAlt: string;
198 borderFocus: string;
199 borderError: string;
200
201 /* ---- End of Deprecated Semantic Colors ---- */
202
203 /* ---- Component Specific Colors ---- */
204
205 // Buttons
206 buttonPrimaryFill: string;
207 buttonPrimaryText: string;
208 buttonPrimaryHover: string;
209 buttonPrimaryActive: string;
210 buttonPrimarySelectedText: string;
211 buttonPrimarySelectedFill: string;
212 buttonPrimarySpinnerForeground: string;
213 buttonPrimarySpinnerBackground: string;
214 buttonSecondaryFill: string;
215 buttonSecondaryText: string;
216 buttonSecondaryHover: string;
217 buttonSecondaryActive: string;
218 buttonSecondarySelectedText: string;
219 buttonSecondarySelectedFill: string;
220 buttonSecondarySpinnerForeground: string;
221 buttonSecondarySpinnerBackground: string;
222 buttonTertiaryFill: string;
223 buttonTertiaryText: string;
224 buttonTertiaryHover: string;
225 buttonTertiaryActive: string;
226 buttonTertiarySelectedText: string;
227 buttonTertiarySelectedFill: string;
228 buttonTertiarySpinnerForeground: string;
229 buttonTertiarySpinnerBackground: string;
230 buttonMinimalFill: string;
231 buttonMinimalText: string;
232 buttonMinimalHover: string;
233 buttonMinimalActive: string;
234 buttonMinimalSelectedText: string;
235 buttonMinimalSelectedFill: string;
236 buttonMinimalSpinnerForeground: string;
237 buttonMinimalSpinnerBackground: string;
238 buttonDisabledFill: string;
239 buttonDisabledText: string;
240 buttonDisabledSpinnerForeground: string;
241 buttonDisabledSpinnerBackground: string;
242
243 // Breadcrumbs
244 breadcrumbsText: string;
245 breadcrumbsSeparatorFill: string;
246
247 // Datepicker
248 datepickerBackground: string;
249 datepickerDayFont: string;
250 datepickerDayFontDisabled: string;
251 datepickerDayPseudoSelected: string;
252 datepickerDayPseudoHighlighted: string;
253
254 calendarBackground: string;
255 calendarForeground: string;
256 calendarForegroundDisabled: string;
257 calendarHeaderBackground: string;
258 calendarHeaderForeground: string;
259 calendarHeaderBackgroundActive: string;
260 calendarHeaderForegroundDisabled: string;
261 calendarDayBackgroundPseudoSelected: string;
262 calendarDayForegroundPseudoSelected: string;
263 calendarDayBackgroundPseudoSelectedHighlighted: string;
264 calendarDayForegroundPseudoSelectedHighlighted: string;
265 calendarDayBackgroundSelected: string;
266 calendarDayForegroundSelected: string;
267 calendarDayBackgroundSelectedHighlighted: string;
268 calendarDayForegroundSelectedHighlighted: string;
269
270 // Combobox
271 comboboxListItemFocus: string;
272 comboboxListItemHover: string;
273
274 // FileUploader
275 fileUploaderBackgroundColor: string;
276 fileUploaderBackgroundColorActive: string;
277 fileUploaderBorderColorActive: string;
278 fileUploaderBorderColorDefault: string;
279 fileUploaderMessageColor: string;
280
281 // Links
282 linkText: string;
283 linkVisited: string;
284 linkHover: string;
285 linkActive: string;
286
287 // Lists
288 listHeaderFill: string;
289 listBodyFill: string;
290 listIconFill: string;
291 listBorder: string;
292
293 // ProgressSteps
294 progressStepsCompletedText: string;
295 progressStepsCompletedFill: string;
296 progressStepsActiveText: string;
297 progressStepsActiveFill: string;
298 progressStepsIconActiveFill: string;
299
300 // Ticks
301 tickFill: string;
302 tickFillHover: string;
303 tickFillActive: string;
304 tickFillSelected: string;
305 tickFillSelectedHover: string;
306 tickFillSelectedHoverActive: string;
307 tickFillError: string;
308 tickFillErrorHover: string;
309 tickFillErrorHoverActive: string;
310 tickFillErrorSelected: string;
311 tickFillErrorSelectedHover: string;
312 tickFillErrorSelectedHoverActive: string;
313 tickFillDisabled: string;
314 tickBorder: string;
315 tickBorderError: string;
316 tickMarkFill: string;
317 tickMarkFillDisabled: string;
318 tickMarkFillError: string;
319
320 // Slider/Toggle
321 sliderTrackFill: string;
322 sliderTrackFillHover: string;
323 sliderTrackFillActive: string;
324 sliderTrackFillSelected: string;
325 sliderTrackFillSelectedHover: string;
326 sliderTrackFillSelectedActive: string;
327 sliderTrackFillDisabled: string;
328 sliderHandleFill: string;
329 sliderHandleFillHover: string;
330 sliderHandleFillActive: string;
331 sliderHandleFillSelected: string;
332 sliderHandleFillSelectedHover: string;
333 sliderHandleFillSelectedActive: string;
334 sliderHandleFillDisabled: string;
335 sliderHandleInnerFill: string;
336 sliderHandleInnerFillDisabled: string;
337 sliderHandleInnerFillSelectedHover: string;
338 sliderHandleInnerFillSelectedActive: string;
339 sliderBorder: string;
340 sliderBorderHover: string;
341 sliderBorderDisabled: string;
342
343 // Input
344 inputBorder: string;
345 inputFill: string;
346 inputFillActive: string;
347 inputFillError: string;
348 inputFillDisabled: string;
349 inputTextDisabled: string;
350 inputPlaceholder: string;
351 inputPlaceholderDisabled: string;
352
353 // Notification
354 notificationPrimaryBackground: string;
355 notificationPrimaryText: string;
356 notificationInfoBackground: string;
357 notificationInfoText: string;
358 notificationPositiveBackground: string;
359 notificationPositiveText: string;
360 notificationWarningBackground: string;
361 notificationWarningText: string;
362 notificationNegativeBackground: string;
363 notificationNegativeText: string;
364
365 // Menu
366 menuFill: string;
367 menuFillHover: string;
368 menuFontDefault: string;
369 menuFontDisabled: string;
370 menuFontHighlighted: string;
371 menuFontSelected: string;
372
373 // Modal
374 modalCloseColor: string;
375 modalCloseColorHover: string;
376 modalCloseColorFocus: string;
377
378 // Pagination
379 paginationTriangleDown: string;
380
381 // Header navigation
382 headerNavigationFill: string;
383
384 // Tab
385 tabBarFill: string;
386 tabColor: string;
387
388 // Shadow
389 shadowFocus: string;
390 shadowError: string;
391
392 // Tag
393
394 // Remove this section of theme values in next major version
395 tagBackground: string;
396 tagNeutralBackground: string;
397 tagPrimaryBackground: string;
398 tagPositiveBackground: string;
399 tagWarningBackground: string;
400 tagNegativeBackground: string;
401 tagRGBGradient: string;
402 tagRGBGradientSecondary: string;
403 // ^^^^^^^
404
405 tagSolidRampUnit: string;
406 tagSolidHoverRampUnit: string;
407 tagSolidActiveRampUnit: string;
408 tagSolidDisabledRampUnit: string;
409 tagSolidFontRampUnit: string;
410 tagSolidFontHoverRampUnit: string;
411 tagLightRampUnit: string;
412 tagLightHoverRampUnit: string;
413 tagLightActiveRampUnit: string;
414 tagLightDisabledRampUnit: string;
415 tagLightFontRampUnit: string;
416 tagLightFontHoverRampUnit: string;
417 tagOutlinedRampUnit: string;
418 tagOutlinedHoverRampUnit: string;
419 tagOutlinedActiveRampUnit: string;
420 tagOutlinedDisabledRampUnit: string;
421 tagOutlinedFontRampUnit: string;
422 tagOutlinedFontHoverRampUnit: string;
423 tagFontDisabledRampUnit: string;
424
425 tagNeutralSolidBackground: string;
426 tagNeutralSolidHover: string;
427 tagNeutralSolidActive: string;
428 tagNeutralSolidDisabled: string;
429 tagNeutralSolidFont: string;
430 tagNeutralSolidFontHover: string;
431 tagNeutralLightBackground: string;
432 tagNeutralLightHover: string;
433 tagNeutralLightActive: string;
434 tagNeutralLightDisabled: string;
435 tagNeutralLightFont: string;
436 tagNeutralLightFontHover: string;
437 tagNeutralOutlinedBackground: string;
438 tagNeutralOutlinedHover: string;
439 tagNeutralOutlinedActive: string;
440 tagNeutralOutlinedDisabled: string;
441 tagNeutralOutlinedFont: string;
442 tagNeutralOutlinedFontHover: string;
443 tagNeutralFontDisabled: string;
444
445 tagPrimarySolidBackground: string;
446 tagPrimarySolidHover: string;
447 tagPrimarySolidActive: string;
448 tagPrimarySolidDisabled: string;
449 tagPrimarySolidFont: string;
450 tagPrimarySolidFontHover: string;
451 tagPrimaryLightBackground: string;
452 tagPrimaryLightHover: string;
453 tagPrimaryLightActive: string;
454 tagPrimaryLightDisabled: string;
455 tagPrimaryLightFont: string;
456 tagPrimaryLightFontHover: string;
457 tagPrimaryOutlinedBackground: string;
458 tagPrimaryOutlinedHover: string;
459 tagPrimaryOutlinedActive: string;
460 tagPrimaryOutlinedDisabled: string;
461 tagPrimaryOutlinedFont: string;
462 tagPrimaryOutlinedFontHover: string;
463 tagPrimaryFontDisabled: string;
464
465 tagAccentSolidBackground: string;
466 tagAccentSolidHover: string;
467 tagAccentSolidActive: string;
468 tagAccentSolidDisabled: string;
469 tagAccentSolidFont: string;
470 tagAccentSolidFontHover: string;
471 tagAccentLightBackground: string;
472 tagAccentLightHover: string;
473 tagAccentLightActive: string;
474 tagAccentLightDisabled: string;
475 tagAccentLightFont: string;
476 tagAccentLightFontHover: string;
477 tagAccentOutlinedBackground: string;
478 tagAccentOutlinedHover: string;
479 tagAccentOutlinedActive: string;
480 tagAccentOutlinedDisabled: string;
481 tagAccentOutlinedFont: string;
482 tagAccentOutlinedFontHover: string;
483 tagAccentFontDisabled: string;
484
485 tagPositiveSolidBackground: string;
486 tagPositiveSolidHover: string;
487 tagPositiveSolidActive: string;
488 tagPositiveSolidDisabled: string;
489 tagPositiveSolidFont: string;
490 tagPositiveSolidFontHover: string;
491 tagPositiveLightBackground: string;
492 tagPositiveLightHover: string;
493 tagPositiveLightActive: string;
494 tagPositiveLightDisabled: string;
495 tagPositiveLightFont: string;
496 tagPositiveLightFontHover: string;
497 tagPositiveOutlinedBackground: string;
498 tagPositiveOutlinedHover: string;
499 tagPositiveOutlinedActive: string;
500 tagPositiveOutlinedDisabled: string;
501 tagPositiveOutlinedFont: string;
502 tagPositiveOutlinedFontHover: string;
503 tagPositiveFontDisabled: string;
504
505 tagWarningSolidBackground: string;
506 tagWarningSolidHover: string;
507 tagWarningSolidActive: string;
508 tagWarningSolidDisabled: string;
509 tagWarningSolidFont: string;
510 tagWarningSolidFontHover: string;
511 tagWarningLightBackground: string;
512 tagWarningLightHover: string;
513 tagWarningLightActive: string;
514 tagWarningLightDisabled: string;
515 tagWarningLightFont: string;
516 tagWarningLightFontHover: string;
517 tagWarningOutlinedBackground: string;
518 tagWarningOutlinedHover: string;
519 tagWarningOutlinedActive: string;
520 tagWarningOutlinedDisabled: string;
521 tagWarningOutlinedFont: string;
522 tagWarningOutlinedFontHover: string;
523 tagWarningFontDisabled: string;
524
525 tagNegativeSolidBackground: string;
526 tagNegativeSolidHover: string;
527 tagNegativeSolidActive: string;
528 tagNegativeSolidDisabled: string;
529 tagNegativeSolidFont: string;
530 tagNegativeSolidFontHover: string;
531 tagNegativeLightBackground: string;
532 tagNegativeLightHover: string;
533 tagNegativeLightActive: string;
534 tagNegativeLightDisabled: string;
535 tagNegativeLightFont: string;
536 tagNegativeLightFontHover: string;
537 tagNegativeOutlinedBackground: string;
538 tagNegativeOutlinedHover: string;
539 tagNegativeOutlinedActive: string;
540 tagNegativeOutlinedDisabled: string;
541 tagNegativeOutlinedFont: string;
542 tagNegativeOutlinedFontHover: string;
543 tagNegativeFontDisabled: string;
544
545 // Table
546 tableHeadBackgroundColor: string;
547 tableBackground: string;
548 tableFilter: string;
549 tableFilterHeading: string;
550 tableFilterBackground: string;
551 tableFilterFooterBackground: string;
552
553 // Toast
554 toastText: string;
555 toastPrimaryBackground: string;
556 toastInfoBackground: string;
557 toastPositiveBackground: string;
558 toastWarningBackground: string;
559 toastNegativeBackground: string;
560
561 // Spinner
562 spinnerTrackFill: string;
563
564 // Progress bar
565 progressbarTrackFill: string;
566
567 // Tooltip
568 tooltipBackground: string;
569 tooltipText: string;
570
571 /* ---- End of Component Specific Colors ---- */
572}
573
574interface Font {
575 fontFamily: string;
576 fontWeight:
577 | '-moz-initial'
578 | 'inherit'
579 | 'initial'
580 | 'revert'
581 | 'unset'
582 | 'bold'
583 | 'normal'
584 | 'bolder'
585 | 'lighter'
586 | number;
587 fontSize: string;
588 lineHeight: string | number;
589}
590
591interface Typography {
592 font100: Font;
593 font150: Font;
594 font200: Font;
595 font250: Font;
596 font300: Font;
597 font350: Font;
598 font400: Font;
599 font450: Font;
600 font550: Font;
601 font650: Font;
602 font750: Font;
603 font850: Font;
604 font950: Font;
605 font1050: Font;
606 font1150: Font;
607 font1250: Font;
608 font1350: Font;
609 font1450: Font;
610 ParagraphXSmall: Font;
611 ParagraphSmall: Font;
612 ParagraphMedium: Font;
613 ParagraphLarge: Font;
614 LabelXSmall: Font;
615 LabelSmall: Font;
616 LabelMedium: Font;
617 LabelLarge: Font;
618 HeadingXSmall: Font;
619 HeadingSmall: Font;
620 HeadingMedium: Font;
621 HeadingLarge: Font;
622 HeadingXLarge: Font;
623 HeadingXXLarge: Font;
624 DisplayXSmall: Font;
625 DisplaySmall: Font;
626 DisplayMedium: Font;
627 DisplayLarge: Font;
628}
629
630interface Sizing {
631 scale0: string;
632 scale100: string;
633 scale200: string;
634 scale300: string;
635 scale400: string;
636 scale500: string;
637 scale550: string;
638 scale600: string;
639 scale700: string;
640 scale750: string;
641 scale800: string;
642 scale900: string;
643 scale1000: string;
644 scale1200: string;
645 scale1400: string;
646 scale1600: string;
647 scale2400: string;
648 scale3200: string;
649 scale4800: string;
650}
651
652interface Lighting {
653 shadow400: string;
654 shadow500: string;
655 shadow600: string;
656 shadow700: string;
657 overlay0: string;
658 overlay100: string;
659 overlay200: string;
660 overlay300: string;
661 overlay400: string;
662 overlay500: string;
663 overlay600: string;
664}
665
666interface Animation {
667 timing100: string;
668 timing200: string;
669 timing300: string;
670 timing400: string;
671 timing500: string;
672 timing600: string;
673 timing700: string;
674 timing800: string;
675 timing900: string;
676 timing1000: string;
677 easeOutCurve: string;
678 easeInCurve: string;
679 easeInOutCurve: string;
680 easeInQuinticCurve: string;
681 easeOutQuinticCurve: string;
682 easeInOutQuinticCurve: string;
683 linearCurve: string;
684}
685
686export interface Border {
687 borderColor: string;
688 borderStyle: string;
689 borderWidth: string;
690}
691
692interface Borders {
693 border100: Border;
694 border200: Border;
695 border300: Border;
696 border400: Border;
697 border500: Border;
698 border600: Border;
699 useRoundedCorners: boolean;
700 radius100: string;
701 radius200: string;
702 radius300: string;
703 radius400: string;
704 buttonBorderRadius: string;
705 inputBorderRadius: string;
706 popoverBorderRadius: string;
707 surfaceBorderRadius: string;
708}
709
710interface ZIndex {
711 modal: number;
712}
713
714export interface Theme {
715 name: string;
716 direction: 'auto' | 'rtl' | 'ltr';
717 breakpoints: Breakpoints;
718 mediaQuery: MediaQuery;
719 grid: Grid;
720 colors: Colors;
721 typography: Typography;
722 sizing: Sizing;
723 lighting: Lighting;
724 animation: Animation;
725 borders: Borders;
726 zIndex: ZIndex;
727}
728
729export interface ThemePrimitives {
730 // Primary Palette
731 primaryA: string;
732 primaryB: string;
733 primary: string;
734 primary50: string;
735 primary100: string;
736 primary200: string;
737 primary300: string;
738 primary400: string;
739 primary500: string;
740 primary600: string;
741 primary700: string;
742
743 // Accent Palette
744 accent: string;
745 accent50: string;
746 accent100: string;
747 accent200: string;
748 accent300: string;
749 accent400: string;
750 accent500: string;
751 accent600: string;
752 accent700: string;
753
754 // Alert Palette
755 negative: string;
756 negative50: string;
757 negative100: string;
758 negative200: string;
759 negative300: string;
760 negative400: string;
761 negative500: string;
762 negative600: string;
763 negative700: string;
764
765 // Warning Palette
766 warning: string;
767 warning50: string;
768 warning100: string;
769 warning200: string;
770 warning300: string;
771 warning400: string;
772 warning500: string;
773 warning600: string;
774 warning700: string;
775
776 // Success Palette
777 positive: string;
778 positive50: string;
779 positive100: string;
780 positive200: string;
781 positive300: string;
782 positive400: string;
783 positive500: string;
784 positive600: string;
785 positive700: string;
786
787 // Monochrome Palette
788 mono100: string;
789 mono200: string;
790 mono300: string;
791 mono400: string;
792 mono500: string;
793 mono600: string;
794 mono700: string;
795 mono800: string;
796 mono900: string;
797 mono1000: string;
798
799 // Rating Palette
800 rating200: string;
801 rating400: string;
802
803 primaryFontFamily: string;
804}