mtrl 0.5.2 → 0.5.4

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 (80) hide show
  1. package/dist/components/checkbox/api.d.ts +1 -1
  2. package/dist/components/checkbox/types.d.ts +17 -6
  3. package/dist/components/chips/api.d.ts +5 -2
  4. package/dist/components/chips/chip/api.d.ts +1 -1
  5. package/dist/components/chips/config.d.ts +5 -1
  6. package/dist/components/chips/types.d.ts +14 -3
  7. package/dist/components/index.d.ts +1 -0
  8. package/dist/components/select/types.d.ts +21 -3
  9. package/dist/components/switch/types.d.ts +8 -4
  10. package/dist/index.cjs +14 -14
  11. package/dist/index.cjs.map +13 -13
  12. package/dist/index.js +14 -14
  13. package/dist/index.js.map +13 -13
  14. package/dist/package.json +1 -1
  15. package/dist/styles.css +2 -2
  16. package/package.json +4 -2
  17. package/src/styles/abstract/_base.scss +2 -0
  18. package/src/styles/abstract/_config.scss +28 -0
  19. package/src/styles/abstract/_functions.scss +124 -0
  20. package/src/styles/abstract/_mixins.scss +401 -0
  21. package/src/styles/abstract/_theme.scss +269 -0
  22. package/src/styles/abstract/_variables.scss +338 -0
  23. package/src/styles/base/_reset.scss +86 -0
  24. package/src/styles/base/_typography.scss +155 -0
  25. package/src/styles/components/_badge.scss +183 -0
  26. package/src/styles/components/_bottom-app-bar.scss +103 -0
  27. package/src/styles/components/_button.scss +756 -0
  28. package/src/styles/components/_card.scss +401 -0
  29. package/src/styles/components/_carousel.scss +645 -0
  30. package/src/styles/components/_checkbox.scss +231 -0
  31. package/src/styles/components/_chips.scss +643 -0
  32. package/src/styles/components/_datepicker.scss +358 -0
  33. package/src/styles/components/_dialog.scss +259 -0
  34. package/src/styles/components/_divider.scss +57 -0
  35. package/src/styles/components/_extended-fab.scss +309 -0
  36. package/src/styles/components/_fab.scss +244 -0
  37. package/src/styles/components/_list.scss +774 -0
  38. package/src/styles/components/_menu.scss +245 -0
  39. package/src/styles/components/_navigation-mobile.scss +244 -0
  40. package/src/styles/components/_navigation-system.scss +151 -0
  41. package/src/styles/components/_navigation.scss +407 -0
  42. package/src/styles/components/_progress.scss +101 -0
  43. package/src/styles/components/_radios.scss +187 -0
  44. package/src/styles/components/_search.scss +306 -0
  45. package/src/styles/components/_segmented-button.scss +227 -0
  46. package/src/styles/components/_select.scss +274 -0
  47. package/src/styles/components/_sheet.scss +236 -0
  48. package/src/styles/components/_slider.scss +264 -0
  49. package/src/styles/components/_snackbar.scss +211 -0
  50. package/src/styles/components/_switch.scss +305 -0
  51. package/src/styles/components/_tabs.scss +421 -0
  52. package/src/styles/components/_textfield.scss +1035 -0
  53. package/src/styles/components/_timepicker.scss +451 -0
  54. package/src/styles/components/_tooltip.scss +241 -0
  55. package/src/styles/components/_top-app-bar.scss +225 -0
  56. package/src/styles/main.scss +129 -0
  57. package/src/styles/themes/_autumn.scss +105 -0
  58. package/src/styles/themes/_base-theme.scss +85 -0
  59. package/src/styles/themes/_baseline.scss +173 -0
  60. package/src/styles/themes/_bluekhaki.scss +125 -0
  61. package/src/styles/themes/_brownbeige.scss +125 -0
  62. package/src/styles/themes/_browngreen.scss +125 -0
  63. package/src/styles/themes/_forest.scss +77 -0
  64. package/src/styles/themes/_greenbeige.scss +125 -0
  65. package/src/styles/themes/_index.scss +19 -0
  66. package/src/styles/themes/_material.scss +125 -0
  67. package/src/styles/themes/_ocean.scss +77 -0
  68. package/src/styles/themes/_sageivory.scss +125 -0
  69. package/src/styles/themes/_spring.scss +77 -0
  70. package/src/styles/themes/_summer.scss +87 -0
  71. package/src/styles/themes/_sunset.scss +60 -0
  72. package/src/styles/themes/_tealcaramel.scss +125 -0
  73. package/src/styles/themes/_winter.scss +77 -0
  74. package/src/styles/utilities/_colors.scss +154 -0
  75. package/src/styles/utilities/_flexbox.scss +194 -0
  76. package/src/styles/utilities/_layout.scss +665 -0
  77. package/src/styles/utilities/_ripple.scss +79 -0
  78. package/src/styles/utilities/_spacing.scss +139 -0
  79. package/src/styles/utilities/_typography.scss +178 -0
  80. package/src/styles/utilities/_visibility.scss +142 -0
@@ -0,0 +1,225 @@
1
+ // src/components/top-app-bar/_styles.scss
2
+ @use 'sass:map';
3
+ @use '../../styles/abstract/base' as base;
4
+ @use '../../styles/abstract/variables' as v;
5
+ @use '../../styles/abstract/functions' as f;
6
+ @use '../../styles/abstract/mixins' as m;
7
+ @use '../../styles/abstract/theme' as t;
8
+
9
+ $component: '#{base.$prefix}-top-app-bar';
10
+
11
+ .#{$component} {
12
+ // Core Properties
13
+ position: absolute;
14
+ top: 0;
15
+ left: 0;
16
+ right: 0;
17
+ z-index: f.get-z-index('fixed');
18
+ display: flex;
19
+ align-items: center;
20
+ width: 100%;
21
+ background-color: t.color('surface');
22
+
23
+ // Default type (small) - 64dp height as per specs
24
+ height: 64px;
25
+ padding: 0 16px;
26
+
27
+ // Apply transition for scroll behavior
28
+ transition:
29
+ box-shadow 0.3s ease-in-out,
30
+ background-color 0.3s ease-in-out,
31
+ height 0.3s ease-in-out;
32
+
33
+ // Container for the headline
34
+ &-headline {
35
+ flex: 1;
36
+ display: flex;
37
+ align-items: center;
38
+ @include m.typography('title-large');
39
+ color: t.color('on-surface');
40
+ margin: 0;
41
+ padding: 0;
42
+ white-space: nowrap;
43
+ overflow: hidden;
44
+ text-overflow: ellipsis;
45
+ transition:
46
+ font-size 0.3s ease-in-out,
47
+ margin 0.3s ease-in-out,
48
+ padding 0.3s ease-in-out;
49
+ }
50
+
51
+ // Leading section (usually navigation icon)
52
+ &-leading {
53
+ display: flex;
54
+ align-items: center;
55
+ margin-right: 24px;
56
+ }
57
+
58
+ // Trailing section (usually action icons)
59
+ &-trailing {
60
+ display: flex;
61
+ align-items: center;
62
+ gap: 8px;
63
+ margin-left: auto;
64
+ }
65
+
66
+ // Center-aligned top app bar
67
+ &--center {
68
+ .#{$component}-headline {
69
+ position: absolute;
70
+ left: 50%;
71
+ transform: translateX(-50%);
72
+ text-align: center;
73
+ flex: 0;
74
+ }
75
+ }
76
+
77
+ // Medium top app bar - 112dp height
78
+ &--medium {
79
+ height: 112px;
80
+ flex-direction: column;
81
+ align-items: flex-start;
82
+ justify-content: space-between;
83
+ padding: 0;
84
+
85
+ .#{$component}-row {
86
+ display: flex;
87
+ align-items: center;
88
+ width: 100%;
89
+ padding: 0 16px;
90
+
91
+ &:first-child {
92
+ margin-top: 20px;
93
+ }
94
+ }
95
+
96
+ .#{$component}-headline {
97
+ margin-bottom: 24px;
98
+ margin-left: 16px;
99
+ @include m.typography('headline-small');
100
+ }
101
+ }
102
+
103
+ // Large top app bar - 152dp height
104
+ &--large {
105
+ height: 152px;
106
+ flex-direction: column;
107
+ align-items: flex-start;
108
+ justify-content: space-between;
109
+ padding: 0;
110
+
111
+ .#{$component}-row {
112
+ display: flex;
113
+ align-items: center;
114
+ width: 100%;
115
+ padding: 0 16px;
116
+
117
+ &:first-child {
118
+ margin-top: 20px;
119
+ }
120
+ }
121
+
122
+ .#{$component}-headline {
123
+ margin-bottom: 28px;
124
+ margin-left: 16px;
125
+ @include m.typography('headline-medium');
126
+ }
127
+ }
128
+
129
+ // States for on-scroll behavior
130
+ &--scrolled {
131
+ background-color: t.color('surface-container');
132
+ @include m.elevation(1);
133
+
134
+ // Compress medium and large variants to small on scroll if compressible
135
+ &.#{$component}--medium.#{$component}--compressible,
136
+ &.#{$component}--large.#{$component}--compressible {
137
+ height: 64px;
138
+ flex-direction: row;
139
+ align-items: center;
140
+ padding: 0 16px;
141
+
142
+ .#{$component}-row {
143
+ display: none;
144
+ }
145
+
146
+ .#{$component}-headline {
147
+ margin: 0;
148
+ @include m.typography('title-large');
149
+ }
150
+
151
+ // Fix for headline that is inside row in medium/large
152
+ .#{$component}-row:nth-child(2) {
153
+ display: flex;
154
+ flex: 1;
155
+ margin: 0;
156
+ padding: 0;
157
+ }
158
+ }
159
+ }
160
+
161
+ // RTL Support
162
+ [dir="rtl"] & {
163
+ .#{$component}-leading {
164
+ margin-right: 0;
165
+ margin-left: 24px;
166
+ }
167
+
168
+ .#{$component}-trailing {
169
+ margin-left: 0;
170
+ margin-right: auto;
171
+ }
172
+
173
+ &--medium,
174
+ &--large {
175
+ .#{$component}-headline {
176
+ margin-left: 0;
177
+ margin-right: 16px;
178
+ }
179
+ }
180
+
181
+ &--center {
182
+ .#{$component}-headline {
183
+ left: auto;
184
+ right: 50%;
185
+ transform: translateX(50%);
186
+ }
187
+ }
188
+ }
189
+
190
+ // Mobile screen adjustments
191
+ @media (max-width: map.get(v.$breakpoints, 'sm')) {
192
+ // Reduce side padding slightly on small screens
193
+ padding: 0 12px;
194
+
195
+ .#{$component}-leading {
196
+ margin-right: 16px;
197
+ }
198
+
199
+ .#{$component}-trailing {
200
+ gap: 4px;
201
+ }
202
+
203
+ // Make icon buttons slightly smaller
204
+ .#{$component}-leading,
205
+ .#{$component}-trailing {
206
+ button {
207
+ padding: 8px;
208
+ }
209
+ }
210
+ }
211
+
212
+ // Reduced motion support
213
+ @include m.reduced-motion {
214
+ transition-duration: 0.01ms;
215
+
216
+ .#{$component}-headline {
217
+ transition-duration: 0.01ms;
218
+ }
219
+ }
220
+
221
+ // High contrast mode support
222
+ @include m.high-contrast {
223
+ border-bottom: 1px solid currentColor;
224
+ }
225
+ }
@@ -0,0 +1,129 @@
1
+ // src/styles/main.scss
2
+
3
+ // Import Sass modules
4
+ @use "sass:map";
5
+ @use "sass:list" as sasslist;
6
+ @use "sass:math";
7
+
8
+ // Abstract layer
9
+ @use "abstract/base";
10
+ @use "abstract/variables" as v;
11
+ @use "abstract/functions" as f;
12
+ @use "abstract/mixins" as m;
13
+ @use "abstract/theme" as t;
14
+
15
+ // Utilities
16
+ @use "utilities/spacing";
17
+ @use "utilities/visibility";
18
+ @use "utilities/colors";
19
+ @use "utilities/flexbox";
20
+ @use "utilities/typography" as typo;
21
+
22
+ // Themes
23
+ @use "themes/index";
24
+
25
+ // Reset
26
+ @use "base/reset";
27
+ @use "base/typography";
28
+
29
+ // Components
30
+ @use "./components/textfield" as textfield;
31
+ @use "./components/badge" as badge;
32
+ @use "./components/bottom-app-bar" as bottom-app-bar;
33
+ @use "./components/menu" as menu;
34
+ @use "./components/slider" as slider;
35
+ @use "./components/switch" as switch;
36
+ @use "./components/select" as select;
37
+ @use "./components/tabs" as tabs;
38
+ @use "./components/top-app-bar" as top-app-bar;
39
+
40
+ @use "./components/button" as button;
41
+ @use "./components/fab" as fab;
42
+ @use "./components/extended-fab" as extended-fab;
43
+ @use "./components/segmented-button" as segmented-button;
44
+ @use "./components/card" as card;
45
+ @use "./components/carousel" as carousel;
46
+ @use "./components/checkbox" as checkbox;
47
+ @use "./components/chips" as chips;
48
+ @use "./components/datepicker" as datepicker;
49
+ @use "./components/dialog" as dialog;
50
+ @use "./components/divider" as divider;
51
+
52
+ @use "./components/progress" as progress;
53
+
54
+ @use "./components/radios" as radios;
55
+ @use "./components/timepicker" as timepicker;
56
+ @use "./components/search" as search;
57
+
58
+ @use "./components/snackbar" as snackbar;
59
+ @use "./components/navigation" as navigation;
60
+ @use "./components/list" as list;
61
+
62
+ @use "./utilities/ripple" as ripple;
63
+ @use "./utilities/layout" as layout;
64
+
65
+ // // Dark mode support
66
+ // @media (prefers-color-scheme: dark) {
67
+ // :root:not([data-theme]) {
68
+ // @include t.dark-theme;
69
+ // }
70
+ // }
71
+
72
+ // Base styles
73
+ body {
74
+ margin: 0;
75
+ padding: 0;
76
+ background-color: var(--#{base.$prefix}-sys-color-surface);
77
+ color: var(--#{base.$prefix}-sys-color-on-surface);
78
+ font-family: var(
79
+ --#{base.$prefix}-sys-typescale-body-medium-font-family-name,
80
+ "Roboto"
81
+ ),
82
+ var(
83
+ --#{base.$prefix}-sys-typescale-body-medium-font-family-fallback,
84
+ sans-serif
85
+ );
86
+ font-size: var(--#{base.$prefix}-sys-typescale-body-medium-font-size);
87
+ line-height: var(--#{base.$prefix}-sys-typescale-body-medium-line-height);
88
+ -webkit-font-smoothing: antialiased;
89
+ -moz-osx-font-smoothing: grayscale;
90
+
91
+ @include m.motion-transition(background-color, color);
92
+ }
93
+
94
+ // // Ensure links have the correct contrast
95
+ // a {
96
+ // color: var(--#{base.$prefix}-sys-color-primary);
97
+ // text-decoration: none;
98
+
99
+ // &:hover {
100
+ // text-decoration: underline;
101
+ // }
102
+
103
+ // // &:focus-visible {
104
+ // // outline: 2px solid var(--#{base.$prefix}-sys-color-primary);
105
+ // // outline-offset: 2px;
106
+ // // }
107
+ // }
108
+
109
+ // // Focus styles for keyboard navigation
110
+ // // :focus-visible {
111
+ // // outline: 2px solid var(--#{base.$prefix}-sys-color-primary);
112
+ // // outline-offset: 2px;
113
+ // // }
114
+
115
+ // // Use smooth scrolling for the page
116
+ html {
117
+ scroll-behavior: smooth;
118
+
119
+ @include m.reduced-motion {
120
+ scroll-behavior: auto;
121
+ }
122
+ }
123
+
124
+ // Set box-sizing for all elements
125
+ *,
126
+ *::before,
127
+ *::after {
128
+ box-sizing: border-box;
129
+ }
@@ -0,0 +1,105 @@
1
+ // src/styles/themes/_autumn.scss
2
+ @use '../abstract/base' as *;
3
+ @use 'base-theme' as *;
4
+
5
+ @include create-theme('autumn') {
6
+ // Key colors with brown as primary and red as secondary
7
+ --#{$prefix}-sys-color-primary: #795548; // Rich brown as primary color
8
+ --#{$prefix}-sys-color-on-primary: #FFFFFF;
9
+ --#{$prefix}-sys-color-primary-container: #FFDCC7;
10
+ --#{$prefix}-sys-color-on-primary-container: #2C1500;
11
+
12
+ --#{$prefix}-sys-color-secondary: #A02A2A; // Autumn red as secondary
13
+ --#{$prefix}-sys-color-on-secondary: #FFFFFF;
14
+ --#{$prefix}-sys-color-secondary-container: #EDD9B9;
15
+ --#{$prefix}-sys-color-on-secondary-container: #410001;
16
+
17
+ --#{$prefix}-sys-color-tertiary: #4D6642; // Dark green like evergreen trees
18
+ --#{$prefix}-sys-color-on-tertiary: #FFFFFF;
19
+ --#{$prefix}-sys-color-tertiary-container: #CFE9BE;
20
+ --#{$prefix}-sys-color-on-tertiary-container: #0A2008;
21
+
22
+ --#{$prefix}-sys-color-quaternary: #8B6500; // Golden yellow like autumn leaves
23
+ --#{$prefix}-sys-color-on-quaternary: #FFFFFF;
24
+ --#{$prefix}-sys-color-quaternary-container: #FFDF8A;
25
+ --#{$prefix}-sys-color-on-quaternary-container: #2C1F00;
26
+
27
+ // Neutral colors with warm, earthy undertones
28
+ --#{$prefix}-sys-color-surface: #FFFBF7;
29
+ --#{$prefix}-sys-color-surface-dim: #EAD7CE;
30
+ --#{$prefix}-sys-color-surface-bright: #FFFBF7;
31
+ --#{$prefix}-sys-color-surface-container-lowest: #FFFFFF;
32
+ --#{$prefix}-sys-color-surface-container-low: #FFF0EA;
33
+ --#{$prefix}-sys-color-surface-container: #F5E1D7;
34
+ --#{$prefix}-sys-color-surface-container-high: #EFDBD1;
35
+ --#{$prefix}-sys-color-surface-container-highest: #E9D5CB;
36
+
37
+ --#{$prefix}-sys-color-on-surface: #201A17;
38
+ --#{$prefix}-sys-color-on-surface-variant: #53433C;
39
+
40
+ --#{$prefix}-sys-color-outline: #85736C;
41
+ --#{$prefix}-sys-color-outline-variant: #D7C1BA;
42
+
43
+ // Success colors
44
+ --#{$prefix}-sys-color-success: #85CFA9;
45
+ --#{$prefix}-sys-color-success-rgb: 133, 207, 169;
46
+ --#{$prefix}-sys-color-on-success: #00392D;
47
+ --#{$prefix}-sys-color-on-success-rgb: 0, 57, 45;
48
+
49
+ // Warning colors
50
+ --#{$prefix}-sys-color-warning: #FFB95C;
51
+ --#{$prefix}-sys-color-warning-rgb: 255, 185, 92;
52
+ --#{$prefix}-sys-color-on-warning: #3F2200;
53
+ --#{$prefix}-sys-color-on-warning-rgb: 63, 34, 0;
54
+
55
+ // Info colors
56
+ --#{$prefix}-sys-color-info: #99CBFF;
57
+ --#{$prefix}-sys-color-info-rgb: 153, 203, 255;
58
+ --#{$prefix}-sys-color-on-info: #003060;
59
+ --#{$prefix}-sys-color-on-info-rgb: 0, 48, 96;
60
+
61
+ // Include status colors for light theme
62
+ @include status-colors-light();
63
+
64
+ &[data-theme-mode="dark"] {
65
+ // Key colors
66
+ --#{$prefix}-sys-color-primary: #DDB995; // Softer brown
67
+ --#{$prefix}-sys-color-on-primary: #422B09;
68
+ --#{$prefix}-sys-color-primary-container: #5D3F1C;
69
+ --#{$prefix}-sys-color-on-primary-container: #FFDCC7;
70
+
71
+ --#{$prefix}-sys-color-secondary: #FFB4AB; // Vibrant red
72
+ --#{$prefix}-sys-color-on-secondary: #690004;
73
+ --#{$prefix}-sys-color-secondary-container: #6A3A22;
74
+ --#{$prefix}-sys-color-on-secondary-container: #FFDAD4;
75
+
76
+ --#{$prefix}-sys-color-tertiary: #B4CCA4; // Muted green
77
+ --#{$prefix}-sys-color-on-tertiary: #213515;
78
+ --#{$prefix}-sys-color-tertiary-container: #384F2B;
79
+ --#{$prefix}-sys-color-on-tertiary-container: #CFE9BE;
80
+
81
+ --#{$prefix}-sys-color-quaternary: #FFC147;
82
+ --#{$prefix}-sys-color-on-quaternary: #463300;
83
+ --#{$prefix}-sys-color-quaternary-container: #644900;
84
+ --#{$prefix}-sys-color-on-quaternary-container: #FFDF8A;
85
+
86
+ // Include status colors for dark theme
87
+ @include status-colors-dark();
88
+
89
+ // Neutral colors
90
+ --#{$prefix}-sys-color-surface: #201A17;
91
+ --#{$prefix}-sys-color-surface-dim: #17120F;
92
+ --#{$prefix}-sys-color-surface-bright: #3D3631;
93
+ --#{$prefix}-sys-color-surface-container-lowest: #130E0B;
94
+ --#{$prefix}-sys-color-surface-container-low: #201A17;
95
+ --#{$prefix}-sys-color-surface-container: #241E1A;
96
+ --#{$prefix}-sys-color-surface-container-high: #2E2723;
97
+ --#{$prefix}-sys-color-surface-container-highest: #39322D;
98
+
99
+ --#{$prefix}-sys-color-on-surface: #EDE0D9;
100
+ --#{$prefix}-sys-color-on-surface-variant: #D7C1BA;
101
+
102
+ --#{$prefix}-sys-color-outline: #A08C85;
103
+ --#{$prefix}-sys-color-outline-variant: #53433C;
104
+ }
105
+ }
@@ -0,0 +1,85 @@
1
+ // src/styles/themes/_base-theme.scss
2
+ @use '../abstract/base' as *;
3
+
4
+ // Base theme definition with common properties and structure
5
+ @mixin create-theme($name) {
6
+ [data-theme="#{$name}"] {
7
+ @content;
8
+ }
9
+ }
10
+
11
+ // Common status colors that should be available in all themes
12
+ @mixin status-colors-light() {
13
+ // Error colors
14
+ --#{$prefix}-sys-color-error: #B3261E;
15
+ --#{$prefix}-sys-color-error-rgb: 179, 38, 30;
16
+ --#{$prefix}-sys-color-on-error: #FFFFFF;
17
+ --#{$prefix}-sys-color-on-error-rgb: 255, 255, 255;
18
+ --#{$prefix}-sys-color-error-container: #F9DEDC;
19
+ --#{$prefix}-sys-color-error-container-rgb: 249, 222, 220;
20
+ --#{$prefix}-sys-color-on-error-container: #410E0B;
21
+ --#{$prefix}-sys-color-on-error-container-rgb: 65, 14, 11;
22
+
23
+ // Success colors
24
+ --#{$prefix}-sys-color-success: #007B5A;
25
+ --#{$prefix}-sys-color-success-rgb: 0, 123, 90;
26
+ --#{$prefix}-sys-color-on-success: #FFFFFF;
27
+ --#{$prefix}-sys-color-on-success-rgb: 255, 255, 255;
28
+
29
+ // Warning colors
30
+ --#{$prefix}-sys-color-warning: #DD6D06;
31
+ --#{$prefix}-sys-color-warning-rgb: 221, 109, 6;
32
+ --#{$prefix}-sys-color-on-warning: #FFFFFF;
33
+ --#{$prefix}-sys-color-on-warning-rgb: 255, 255, 255;
34
+
35
+ // Info colors
36
+ --#{$prefix}-sys-color-info: #0061A4;
37
+ --#{$prefix}-sys-color-info-rgb: 0, 97, 164;
38
+ --#{$prefix}-sys-color-on-info: #FFFFFF;
39
+ --#{$prefix}-sys-color-on-info-rgb: 255, 255, 255;
40
+ }
41
+
42
+ @mixin status-colors-dark() {
43
+ // Error colors
44
+ --#{$prefix}-sys-color-error: #F2B8B5;
45
+ --#{$prefix}-sys-color-error-rgb: 242, 184, 181;
46
+ --#{$prefix}-sys-color-on-error: #601410;
47
+ --#{$prefix}-sys-color-on-error-rgb: 96, 20, 16;
48
+ --#{$prefix}-sys-color-error-container: #8C1D18;
49
+ --#{$prefix}-sys-color-error-container-rgb: 140, 29, 24;
50
+ --#{$prefix}-sys-color-on-error-container: #F9DEDC;
51
+ --#{$prefix}-sys-color-on-error-container-rgb: 249, 222, 220;
52
+
53
+ // Success colors
54
+ --#{$prefix}-sys-color-success: #85CFA9;
55
+ --#{$prefix}-sys-color-success-rgb: 133, 207, 169;
56
+ --#{$prefix}-sys-color-on-success: #00392D;
57
+ --#{$prefix}-sys-color-on-success-rgb: 0, 57, 45;
58
+
59
+ // Warning colors
60
+ --#{$prefix}-sys-color-warning: #FFB95C;
61
+ --#{$prefix}-sys-color-warning-rgb: 255, 185, 92;
62
+ --#{$prefix}-sys-color-on-warning: #3F2200;
63
+ --#{$prefix}-sys-color-on-warning-rgb: 63, 34, 0;
64
+
65
+ // Info colors
66
+ --#{$prefix}-sys-color-info: #99CBFF;
67
+ --#{$prefix}-sys-color-info-rgb: 153, 203, 255;
68
+ --#{$prefix}-sys-color-on-info: #003060;
69
+ --#{$prefix}-sys-color-on-info-rgb: 0, 48, 96;
70
+ }
71
+
72
+ %theme-base {
73
+ // Common properties for all themes
74
+ --#{$prefix}-sys-typescale-label-large-font-family-name: "Roboto";
75
+ --#{$prefix}-sys-typescale-label-large-font-weight: 500;
76
+ --#{$prefix}-sys-typescale-label-large-size: 0.875rem;
77
+ --#{$prefix}-sys-typescale-label-large-line-height: 1.25rem;
78
+ --#{$prefix}-sys-typescale-label-large-letter-spacing: 0.00625rem;
79
+
80
+ --#{$prefix}-sys-shape-corner-extra-small: 4px;
81
+ --#{$prefix}-sys-shape-corner-small: 8px;
82
+ --#{$prefix}-sys-shape-corner-medium: 12px;
83
+ --#{$prefix}-sys-shape-corner-large: 16px;
84
+ --#{$prefix}-sys-shape-corner-extra-large: 28px;
85
+ }