mithril-materialized 2.0.0-beta.1 → 2.0.0-beta.11

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 (73) hide show
  1. package/README.md +287 -308
  2. package/dist/advanced.css +1888 -0
  3. package/dist/autocomplete.d.ts +3 -3
  4. package/dist/breadcrumb.d.ts +53 -0
  5. package/dist/button.d.ts +66 -21
  6. package/dist/carousel.d.ts +2 -2
  7. package/dist/chip.d.ts +2 -2
  8. package/dist/code-block.d.ts +2 -2
  9. package/dist/collapsible.d.ts +2 -2
  10. package/dist/collection.d.ts +2 -2
  11. package/dist/components.css +2310 -0
  12. package/dist/core.css +3402 -0
  13. package/dist/datatable.d.ts +291 -0
  14. package/dist/datepicker.d.ts +66 -0
  15. package/dist/dropdown.d.ts +2 -2
  16. package/dist/file-upload.d.ts +34 -0
  17. package/dist/floating-action-button.d.ts +2 -2
  18. package/dist/forms.css +2284 -0
  19. package/dist/index.css +1825 -184
  20. package/dist/index.d.ts +14 -1
  21. package/dist/index.esm.js +4752 -2143
  22. package/dist/index.js +4776 -2142
  23. package/dist/index.min.css +8 -0
  24. package/dist/index.umd.js +4776 -2142
  25. package/dist/input-options.d.ts +1 -1
  26. package/dist/input.d.ts +9 -10
  27. package/dist/label.d.ts +4 -2
  28. package/dist/material-box.d.ts +2 -2
  29. package/dist/modal.d.ts +2 -2
  30. package/dist/option.d.ts +4 -4
  31. package/dist/pagination.d.ts +2 -2
  32. package/dist/parallax.d.ts +2 -2
  33. package/dist/pickers.css +487 -0
  34. package/dist/pushpin.d.ts +32 -0
  35. package/dist/radio.d.ts +4 -4
  36. package/dist/search-select.d.ts +2 -2
  37. package/dist/select.d.ts +2 -2
  38. package/dist/sidenav.d.ts +76 -0
  39. package/dist/switch.d.ts +2 -2
  40. package/dist/tabs.d.ts +2 -4
  41. package/dist/theme-switcher.d.ts +49 -0
  42. package/dist/timepicker.d.ts +42 -0
  43. package/dist/toast.d.ts +45 -0
  44. package/dist/tooltip.d.ts +59 -0
  45. package/dist/types.d.ts +226 -0
  46. package/dist/utilities.css +3204 -0
  47. package/dist/wizard.d.ts +58 -0
  48. package/package.json +20 -9
  49. package/sass/components/_breadcrumb.scss +248 -0
  50. package/sass/components/_buttons.scss +3 -3
  51. package/sass/components/_cards.scss +10 -3
  52. package/sass/components/_chips.scss +8 -8
  53. package/sass/components/_collapsible.scss +8 -8
  54. package/sass/components/_datatable.scss +417 -0
  55. package/sass/components/_datepicker.scss +45 -14
  56. package/sass/components/_dropdown.scss +5 -5
  57. package/sass/components/_file-upload.scss +228 -0
  58. package/sass/components/_global.scss +13 -11
  59. package/sass/components/_modal.scss +5 -2
  60. package/sass/components/_navbar.scss +13 -5
  61. package/sass/components/_sidenav.scss +164 -7
  62. package/sass/components/_tabs.scss +5 -4
  63. package/sass/components/_theme-switcher.scss +120 -0
  64. package/sass/components/_theme-variables.scss +205 -0
  65. package/sass/components/_timepicker.scss +179 -87
  66. package/sass/components/_wizard.scss +416 -0
  67. package/sass/components/forms/_input-fields.scss +34 -12
  68. package/sass/components/forms/_radio-buttons.scss +10 -10
  69. package/sass/components/forms/_range.scss +5 -5
  70. package/sass/components/forms/_select.scss +9 -9
  71. package/sass/components/forms/_switches.scss +6 -6
  72. package/sass/materialize.scss +8 -0
  73. package/dist/pickers.d.ts +0 -130
@@ -0,0 +1,416 @@
1
+ // Wizard/Stepper Component Styles
2
+
3
+ .wizard {
4
+ display: flex;
5
+ flex-direction: column;
6
+ width: 100%;
7
+
8
+ &.horizontal {
9
+ .wizard-steps {
10
+ display: flex;
11
+ align-items: flex-start;
12
+ justify-content: space-between;
13
+ position: relative;
14
+ }
15
+
16
+ .wizard-step {
17
+ display: flex;
18
+ flex-direction: column;
19
+ align-items: center;
20
+ text-align: center;
21
+ flex: 1;
22
+ position: relative;
23
+
24
+ &:not(:last-child) {
25
+ margin-right: 2rem;
26
+ }
27
+ }
28
+
29
+ .wizard-step-content {
30
+ margin-top: 0.75rem;
31
+ max-width: 200px;
32
+ }
33
+
34
+ .wizard-step-connector {
35
+ position: absolute;
36
+ top: 20px;
37
+ left: calc(50% + 20px);
38
+ width: calc(100% - 40px);
39
+ height: 2px;
40
+ background: var(--mm-border-color, rgba(0, 0, 0, 0.12));
41
+ z-index: 1;
42
+ }
43
+ }
44
+
45
+ &.vertical {
46
+ .wizard-steps {
47
+ display: flex;
48
+ flex-direction: column;
49
+ }
50
+
51
+ .wizard-step {
52
+ display: flex;
53
+ align-items: flex-start;
54
+ text-align: left;
55
+ position: relative;
56
+ padding-bottom: 2rem;
57
+
58
+ &:last-child {
59
+ padding-bottom: 0;
60
+ }
61
+ }
62
+
63
+ .wizard-step-content {
64
+ margin-left: 1rem;
65
+ flex: 1;
66
+ }
67
+
68
+ .wizard-step-connector {
69
+ position: absolute;
70
+ top: 40px;
71
+ left: 19px;
72
+ bottom: -2rem;
73
+ width: 2px;
74
+ background: var(--mm-border-color, rgba(0, 0, 0, 0.12));
75
+ z-index: 1;
76
+ }
77
+ }
78
+ }
79
+
80
+ .wizard-header {
81
+ margin-bottom: 2rem;
82
+ }
83
+
84
+ .wizard-step {
85
+ cursor: pointer;
86
+ transition: opacity 0.2s ease;
87
+
88
+ &.disabled {
89
+ opacity: 0.6;
90
+ cursor: not-allowed;
91
+ }
92
+
93
+ &:hover:not(.disabled) {
94
+ .wizard-step-indicator {
95
+ box-shadow: 0 0 0 8px var(--mm-primary-color-light, rgba(38, 166, 154, 0.1));
96
+ }
97
+ }
98
+ }
99
+
100
+ .wizard-step-indicator {
101
+ width: 40px;
102
+ height: 40px;
103
+ border-radius: 50%;
104
+ display: flex;
105
+ align-items: center;
106
+ justify-content: center;
107
+ background: var(--mm-border-color, rgba(0, 0, 0, 0.12));
108
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
109
+ font-weight: 500;
110
+ font-size: 0.875rem;
111
+ transition: all 0.2s ease;
112
+ position: relative;
113
+ z-index: 2;
114
+
115
+ .material-icons {
116
+ font-size: 1.25rem;
117
+ }
118
+
119
+ .wizard-step-number {
120
+ font-weight: 600;
121
+ }
122
+ }
123
+
124
+ .wizard-step.active {
125
+ .wizard-step-indicator {
126
+ background: var(--mm-primary-color, #26a69a);
127
+ color: var(--mm-button-text, #ffffff);
128
+ }
129
+
130
+ .wizard-step-title {
131
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
132
+ font-weight: 600;
133
+ }
134
+ }
135
+
136
+ .wizard-step.completed {
137
+ .wizard-step-indicator {
138
+ background: var(--mm-primary-color, #26a69a);
139
+ color: var(--mm-button-text, #ffffff);
140
+ }
141
+
142
+ .wizard-step-connector {
143
+ background: var(--mm-primary-color, #26a69a);
144
+ }
145
+ }
146
+
147
+ .wizard-step.error {
148
+ .wizard-step-indicator {
149
+ background: #f44336;
150
+ color: #ffffff;
151
+ }
152
+
153
+ .wizard-step-title {
154
+ color: #f44336;
155
+ }
156
+ }
157
+
158
+ .wizard-step-title {
159
+ font-size: 0.875rem;
160
+ font-weight: 500;
161
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
162
+ margin-bottom: 0.25rem;
163
+ line-height: 1.3;
164
+ }
165
+
166
+ .wizard-step-subtitle {
167
+ font-size: 0.75rem;
168
+ color: var(--mm-text-hint, rgba(0, 0, 0, 0.38));
169
+ line-height: 1.3;
170
+ margin-bottom: 0.25rem;
171
+ }
172
+
173
+ .wizard-step-optional {
174
+ font-size: 0.625rem;
175
+ color: var(--mm-text-hint, rgba(0, 0, 0, 0.38));
176
+ font-style: italic;
177
+ text-transform: uppercase;
178
+ letter-spacing: 0.5px;
179
+ }
180
+
181
+ .wizard-body {
182
+ flex: 1;
183
+ margin-bottom: 2rem;
184
+
185
+ // Ensure form elements have proper responsive layout
186
+ .input-field {
187
+ margin-bottom: 1.5rem;
188
+
189
+ input, textarea {
190
+ width: 100%;
191
+ box-sizing: border-box;
192
+ }
193
+
194
+ label {
195
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
196
+ transition: all 0.3s ease;
197
+
198
+ &.active {
199
+ color: var(--mm-primary-color, #26a69a);
200
+ transform: translateY(-14px) scale(0.8);
201
+ }
202
+ }
203
+ }
204
+
205
+ .row {
206
+ margin-bottom: 0;
207
+
208
+ .col {
209
+ padding: 0 0.75rem;
210
+
211
+ &:first-child {
212
+ padding-left: 0;
213
+ }
214
+
215
+ &:last-child {
216
+ padding-right: 0;
217
+ }
218
+ }
219
+ }
220
+ }
221
+
222
+ .wizard-step-panel {
223
+ animation: wizard-slide-in 0.3s ease;
224
+ }
225
+
226
+ @keyframes wizard-slide-in {
227
+ from {
228
+ opacity: 0;
229
+ transform: translateX(20px);
230
+ }
231
+ to {
232
+ opacity: 1;
233
+ transform: translateX(0);
234
+ }
235
+ }
236
+
237
+ .wizard-footer {
238
+ border-top: 1px solid var(--mm-border-color, rgba(0, 0, 0, 0.12));
239
+ padding-top: 1.5rem;
240
+ }
241
+
242
+ .wizard-navigation {
243
+ display: flex;
244
+ justify-content: space-between;
245
+ align-items: center;
246
+ gap: 1rem;
247
+
248
+ .wizard-btn-previous,
249
+ .wizard-btn-skip {
250
+ margin-right: auto;
251
+ }
252
+
253
+ .wizard-btn-next,
254
+ .wizard-btn-complete {
255
+ margin-left: auto;
256
+
257
+ .material-icons {
258
+ margin-right: 0.5rem;
259
+ animation: wizard-loading 1s infinite linear;
260
+ }
261
+ }
262
+ }
263
+
264
+ @keyframes wizard-loading {
265
+ from {
266
+ transform: rotate(0deg);
267
+ }
268
+ to {
269
+ transform: rotate(360deg);
270
+ }
271
+ }
272
+
273
+ // Compact variant
274
+ .wizard.compact {
275
+ .wizard-step-indicator {
276
+ width: 32px;
277
+ height: 32px;
278
+ font-size: 0.75rem;
279
+
280
+ .material-icons {
281
+ font-size: 1rem;
282
+ }
283
+ }
284
+
285
+ .wizard-step-title {
286
+ font-size: 0.75rem;
287
+ }
288
+
289
+ .wizard-step-subtitle {
290
+ font-size: 0.625rem;
291
+ }
292
+
293
+ .wizard-header {
294
+ margin-bottom: 1.5rem;
295
+ }
296
+
297
+ &.horizontal {
298
+ .wizard-step-connector {
299
+ top: 16px;
300
+ }
301
+ }
302
+
303
+ &.vertical {
304
+ .wizard-step-connector {
305
+ top: 32px;
306
+ left: 15px;
307
+ }
308
+ }
309
+ }
310
+
311
+ // Large variant
312
+ .wizard.large {
313
+ .wizard-step-indicator {
314
+ width: 48px;
315
+ height: 48px;
316
+ font-size: 1rem;
317
+
318
+ .material-icons {
319
+ font-size: 1.5rem;
320
+ }
321
+ }
322
+
323
+ .wizard-step-title {
324
+ font-size: 1rem;
325
+ }
326
+
327
+ .wizard-step-subtitle {
328
+ font-size: 0.875rem;
329
+ }
330
+
331
+ .wizard-header {
332
+ margin-bottom: 2.5rem;
333
+ }
334
+
335
+ &.horizontal {
336
+ .wizard-step-connector {
337
+ top: 24px;
338
+ }
339
+ }
340
+
341
+ &.vertical {
342
+ .wizard-step-connector {
343
+ top: 48px;
344
+ left: 23px;
345
+ }
346
+ }
347
+ }
348
+
349
+ // Responsive behavior
350
+ @media (max-width: 768px) {
351
+ .wizard.horizontal {
352
+ .wizard-steps {
353
+ flex-direction: column;
354
+ align-items: stretch;
355
+ }
356
+
357
+ .wizard-step {
358
+ flex-direction: row;
359
+ align-items: center;
360
+ text-align: left;
361
+ margin-right: 0;
362
+ margin-bottom: 1rem;
363
+
364
+ &:last-child {
365
+ margin-bottom: 0;
366
+ }
367
+ }
368
+
369
+ .wizard-step-content {
370
+ margin-top: 0;
371
+ margin-left: 1rem;
372
+ max-width: none;
373
+ }
374
+
375
+ .wizard-step-connector {
376
+ display: none;
377
+ }
378
+ }
379
+ }
380
+
381
+ // Dark theme adjustments
382
+ [data-theme="dark"] {
383
+ .wizard-step.error {
384
+ .wizard-step-title {
385
+ color: #f48fb1;
386
+ }
387
+
388
+ .wizard-step-indicator {
389
+ background: #f48fb1;
390
+ color: #000000;
391
+ }
392
+ }
393
+
394
+ .wizard-footer {
395
+ border-color: var(--mm-border-color, rgba(255, 255, 255, 0.12));
396
+ }
397
+ }
398
+
399
+ // Accessibility improvements
400
+ .wizard-step {
401
+ &:focus {
402
+ outline: 2px solid var(--mm-primary-color, #26a69a);
403
+ outline-offset: 2px;
404
+ border-radius: 4px;
405
+ }
406
+
407
+ &[aria-disabled="true"] {
408
+ pointer-events: none;
409
+ }
410
+ }
411
+
412
+ .wizard-step-indicator {
413
+ &[aria-current="step"] {
414
+ box-shadow: 0 0 0 4px var(--mm-primary-color-light, rgba(38, 166, 154, 0.2));
415
+ }
416
+ }
@@ -8,7 +8,7 @@
8
8
  /* Style Placeholders */
9
9
 
10
10
  ::placeholder {
11
- color: variables.$placeholder-text-color;
11
+ color: var(--mm-text-hint, variables.$placeholder-text-color);
12
12
  }
13
13
 
14
14
  /* Text inputs */
@@ -30,7 +30,7 @@ textarea.materialize-textarea {
30
30
  // General Styles
31
31
  background-color: transparent;
32
32
  border: none;
33
- border-bottom: variables.$input-border;
33
+ border-bottom: 1px solid var(--mm-input-border, variables.$input-border);
34
34
  border-radius: 0;
35
35
  outline: none;
36
36
  height: variables.$input-height;
@@ -41,29 +41,30 @@ textarea.materialize-textarea {
41
41
  box-shadow: none;
42
42
  box-sizing: content-box;
43
43
  transition: box-shadow .3s, border .3s;
44
+ color: var(--mm-input-text, inherit);
44
45
 
45
46
  // Disabled input style
46
47
  &:disabled,
47
48
  &[readonly="readonly"] {
48
- color: variables.$input-disabled-color;
49
- border-bottom: variables.$input-disabled-border;
49
+ color: var(--mm-text-disabled, variables.$input-disabled-color);
50
+ border-bottom: 1px dotted var(--mm-input-border, variables.$input-disabled-border);
50
51
  }
51
52
 
52
53
  // Disabled label style
53
54
  &:disabled+label,
54
55
  &[readonly="readonly"]+label {
55
- color: variables.$input-disabled-color;
56
+ color: var(--mm-text-disabled, variables.$input-disabled-color);
56
57
  }
57
58
 
58
59
  // Focused input style
59
60
  &:focus:not([readonly]) {
60
- border-bottom: 1px solid variables.$input-focus-color;
61
- box-shadow: 0 1px 0 0 variables.$input-focus-color;
61
+ border-bottom: 1px solid var(--mm-input-border-focus, variables.$input-focus-color);
62
+ box-shadow: 0 1px 0 0 var(--mm-input-border-focus, variables.$input-focus-color);
62
63
  }
63
64
 
64
65
  // Focused label style
65
66
  &:focus:not([readonly])+label {
66
- color: variables.$input-focus-color;
67
+ color: var(--mm-input-border-focus, variables.$input-focus-color);
67
68
  }
68
69
 
69
70
  // Hide helper text on data message
@@ -113,6 +114,27 @@ textarea.materialize-textarea {
113
114
  & + label:after {
114
115
  @extend %input-after-style !optional;
115
116
  }
117
+
118
+ // Enhanced autofill prevention for all browsers including Edge
119
+ &:-webkit-autofill,
120
+ &:-webkit-autofill:hover,
121
+ &:-webkit-autofill:focus,
122
+ &:-webkit-autofill:active {
123
+ -webkit-box-shadow: 0 0 0 30px var(--mm-input-background, transparent) inset !important;
124
+ -webkit-text-fill-color: var(--mm-input-text, inherit) !important;
125
+ background-color: transparent !important;
126
+ color: var(--mm-input-text, inherit) !important;
127
+ transition: background-color 5000s ease-in-out 0s;
128
+ }
129
+
130
+ // Edge specific autofill styles
131
+ &:-ms-input-placeholder {
132
+ color: var(--mm-text-hint, variables.$placeholder-text-color) !important;
133
+ }
134
+
135
+ &::-ms-input-placeholder {
136
+ color: var(--mm-text-hint, variables.$placeholder-text-color) !important;
137
+ }
116
138
  }
117
139
 
118
140
 
@@ -217,7 +239,7 @@ textarea.materialize-textarea {
217
239
  min-height: 18px;
218
240
  display: block;
219
241
  font-size: 12px;
220
- color: rgba(0,0,0,.54);
242
+ color: var(--mm-text-secondary, rgba(0,0,0,.54));
221
243
  }
222
244
 
223
245
  // Prefix Icons
@@ -279,15 +301,15 @@ textarea.materialize-textarea {
279
301
  }
280
302
 
281
303
  &:focus:not(.browser-default) {
282
- background-color: variables.$input-background;
304
+ background-color: var(--mm-input-background, variables.$input-background);
283
305
  border: 0;
284
306
  box-shadow: none;
285
- color: #444;
307
+ color: var(--mm-input-text, #444);
286
308
 
287
309
  & + label i,
288
310
  & ~ .mdi-navigation-close,
289
311
  & ~ .material-icons {
290
- color: #444;
312
+ color: var(--mm-input-text, #444);
291
313
  }
292
314
  }
293
315
 
@@ -49,7 +49,7 @@
49
49
 
50
50
  [type="radio"]:not(:checked) + span:before,
51
51
  [type="radio"]:not(:checked) + span:after {
52
- border: 2px solid variables.$radio-empty-color;
52
+ border: 2px solid var(--mm-text-secondary, variables.$radio-empty-color);
53
53
  }
54
54
 
55
55
  [type="radio"]:not(:checked) + span:after {
@@ -64,12 +64,12 @@
64
64
  [type="radio"]:checked + span:after,
65
65
  [type="radio"].with-gap:checked + span:before,
66
66
  [type="radio"].with-gap:checked + span:after {
67
- border: variables.$radio-border;
67
+ border: 2px solid var(--mm-primary-color, variables.$radio-fill-color);
68
68
  }
69
69
 
70
70
  [type="radio"]:checked + span:after,
71
71
  [type="radio"].with-gap:checked + span:after {
72
- background-color: variables.$radio-fill-color;
72
+ background-color: var(--mm-primary-color, variables.$radio-fill-color);
73
73
  }
74
74
 
75
75
  [type="radio"]:checked + span:after {
@@ -88,31 +88,31 @@
88
88
 
89
89
  /* Disabled Radio With gap */
90
90
  [type="radio"].with-gap:disabled:checked + span:before {
91
- border: 2px solid variables.$input-disabled-color;
91
+ border: 2px solid var(--mm-text-disabled, variables.$input-disabled-color);
92
92
  }
93
93
 
94
94
  [type="radio"].with-gap:disabled:checked + span:after {
95
95
  border: none;
96
- background-color: variables.$input-disabled-color;
96
+ background-color: var(--mm-text-disabled, variables.$input-disabled-color);
97
97
  }
98
98
 
99
99
  /* Disabled style */
100
100
  [type="radio"]:disabled:not(:checked) + span:before,
101
101
  [type="radio"]:disabled:checked + span:before {
102
102
  background-color: transparent;
103
- border-color: variables.$input-disabled-color;
103
+ border-color: var(--mm-text-disabled, variables.$input-disabled-color);
104
104
  }
105
105
 
106
106
  [type="radio"]:disabled + span {
107
- color: variables.$input-disabled-color;
107
+ color: var(--mm-text-disabled, variables.$input-disabled-color);
108
108
  }
109
109
 
110
110
  [type="radio"]:disabled:not(:checked) + span:before {
111
- border-color: variables.$input-disabled-color;
111
+ border-color: var(--mm-text-disabled, variables.$input-disabled-color);
112
112
  }
113
113
 
114
114
  [type="radio"]:disabled:checked + span:after {
115
- background-color: variables.$input-disabled-color;
116
- border-color: variables.$input-disabled-solid-color;
115
+ background-color: var(--mm-text-disabled, variables.$input-disabled-color);
116
+ border-color: var(--mm-text-disabled, variables.$input-disabled-solid-color);
117
117
  }
118
118
 
@@ -66,7 +66,7 @@ input[type=range] + .thumb {
66
66
  // Shared
67
67
  @mixin range-track {
68
68
  height: variables.$track-height;
69
- background: #c2c0c2;
69
+ background: var(--mm-border-color, #c2c0c2);
70
70
  border: none;
71
71
  }
72
72
 
@@ -104,7 +104,7 @@ input[type=range]::-webkit-slider-thumb {
104
104
  // FireFox
105
105
  input[type=range] {
106
106
  /* fix for FF unable to apply focus style bug */
107
- border: 1px solid white;
107
+ border: 1px solid var(--mm-card-background, white);
108
108
 
109
109
  /*required for proper track sizing in FF*/
110
110
  }
@@ -124,7 +124,7 @@ input[type=range]::-moz-range-thumb {
124
124
 
125
125
  // hide the outline behind the border
126
126
  input[type=range]:-moz-focusring {
127
- outline: 1px solid #fff;
127
+ outline: 1px solid var(--mm-card-background, #fff);
128
128
  outline-offset: -1px;
129
129
  }
130
130
 
@@ -148,11 +148,11 @@ input[type=range]::-ms-track {
148
148
  }
149
149
 
150
150
  input[type=range]::-ms-fill-lower {
151
- background: #777;
151
+ background: var(--mm-text-secondary, #777);
152
152
  }
153
153
 
154
154
  input[type=range]::-ms-fill-upper {
155
- background: #ddd;
155
+ background: var(--mm-surface-color, #ddd);
156
156
  }
157
157
 
158
158
  input[type=range]::-ms-thumb {
@@ -86,7 +86,7 @@ select {
86
86
  bottom: 0;
87
87
  margin: auto 0;
88
88
  z-index: 0;
89
- fill: rgba(0,0,0,.87);
89
+ fill: var(--mm-text-primary, rgba(0,0,0,.87));
90
90
  }
91
91
 
92
92
  & + label {
@@ -128,30 +128,30 @@ select:disabled {
128
128
  }
129
129
 
130
130
  .select-wrapper i {
131
- color: variables.$select-disabled-color;
131
+ color: var(--mm-text-primary, rgba(0,0,0,.87))
132
132
  }
133
133
 
134
134
  .select-dropdown li.disabled,
135
135
  .select-dropdown li.disabled > span,
136
136
  .select-dropdown li.optgroup {
137
- color: variables.$select-disabled-color;
137
+ color: var(--mm-text-disabled, variables.$select-disabled-color);
138
138
  background-color: transparent;
139
139
  }
140
140
 
141
141
  body.keyboard-focused {
142
142
  .select-dropdown.dropdown-content li:focus {
143
- background-color: variables.$select-option-focus;
143
+ background-color: var(--mm-dropdown-focus, variables.$select-option-focus);
144
144
  }
145
145
  }
146
146
 
147
147
  .select-dropdown.dropdown-content {
148
148
  li {
149
149
  &:hover {
150
- background-color: variables.$select-option-hover;
150
+ background-color: var(--mm-dropdown-hover, variables.$select-option-hover);
151
151
  }
152
152
 
153
153
  &.selected {
154
- background-color: variables.$select-option-selected;
154
+ background-color: var(--mm-dropdown-selected, variables.$select-option-selected);
155
155
  }
156
156
  }
157
157
  }
@@ -177,14 +177,14 @@ body.keyboard-focused {
177
177
 
178
178
  // Optgroup styles
179
179
  .select-dropdown li.optgroup {
180
- border-top: 1px solid variables.$dropdown-hover-bg-color;
180
+ border-top: 1px solid var(--mm-border-color, variables.$dropdown-hover-bg-color);
181
181
 
182
182
  &.selected > span {
183
- color: rgba(0, 0, 0, .7);
183
+ color: var(--mm-text-secondary, rgba(0, 0, 0, .7));
184
184
  }
185
185
 
186
186
  & > span {
187
- color: rgba(0, 0, 0, .4);
187
+ color: var(--mm-text-hint, rgba(0, 0, 0, .4));
188
188
  }
189
189
 
190
190
  & ~ li.optgroup-option {