mithril-materialized 2.0.0-beta.2 → 2.0.0-beta.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 (67) hide show
  1. package/dist/advanced.css +1888 -0
  2. package/dist/autocomplete.d.ts +3 -3
  3. package/dist/breadcrumb.d.ts +53 -0
  4. package/dist/button.d.ts +10 -10
  5. package/dist/carousel.d.ts +2 -2
  6. package/dist/chip.d.ts +2 -2
  7. package/dist/code-block.d.ts +2 -2
  8. package/dist/collapsible.d.ts +2 -2
  9. package/dist/collection.d.ts +2 -2
  10. package/dist/components.css +2310 -0
  11. package/dist/core.css +3402 -0
  12. package/dist/datepicker.d.ts +66 -0
  13. package/dist/dropdown.d.ts +2 -2
  14. package/dist/file-upload.d.ts +34 -0
  15. package/dist/floating-action-button.d.ts +2 -2
  16. package/dist/forms.css +2284 -0
  17. package/dist/index.css +1483 -167
  18. package/dist/index.d.ts +12 -1
  19. package/dist/index.esm.js +3694 -1717
  20. package/dist/index.js +3714 -1716
  21. package/dist/index.min.css +8 -0
  22. package/dist/index.umd.js +3714 -1716
  23. package/dist/input-options.d.ts +1 -1
  24. package/dist/input.d.ts +9 -9
  25. package/dist/label.d.ts +4 -2
  26. package/dist/material-box.d.ts +2 -2
  27. package/dist/modal.d.ts +2 -2
  28. package/dist/option.d.ts +4 -4
  29. package/dist/pagination.d.ts +2 -2
  30. package/dist/parallax.d.ts +2 -2
  31. package/dist/pickers.css +487 -0
  32. package/dist/pushpin.d.ts +32 -0
  33. package/dist/radio.d.ts +4 -4
  34. package/dist/search-select.d.ts +2 -2
  35. package/dist/select.d.ts +2 -2
  36. package/dist/sidenav.d.ts +76 -0
  37. package/dist/switch.d.ts +2 -2
  38. package/dist/tabs.d.ts +2 -4
  39. package/dist/theme-switcher.d.ts +49 -0
  40. package/dist/timepicker.d.ts +42 -0
  41. package/dist/toast.d.ts +45 -0
  42. package/dist/tooltip.d.ts +59 -0
  43. package/dist/utilities.css +3197 -0
  44. package/dist/wizard.d.ts +58 -0
  45. package/package.json +16 -8
  46. package/sass/components/_breadcrumb.scss +248 -0
  47. package/sass/components/_buttons.scss +3 -3
  48. package/sass/components/_chips.scss +8 -8
  49. package/sass/components/_collapsible.scss +8 -8
  50. package/sass/components/_datepicker.scss +45 -14
  51. package/sass/components/_dropdown.scss +5 -5
  52. package/sass/components/_file-upload.scss +228 -0
  53. package/sass/components/_global.scss +7 -5
  54. package/sass/components/_modal.scss +5 -2
  55. package/sass/components/_navbar.scss +13 -5
  56. package/sass/components/_sidenav.scss +164 -7
  57. package/sass/components/_tabs.scss +5 -4
  58. package/sass/components/_theme-switcher.scss +120 -0
  59. package/sass/components/_theme-variables.scss +205 -0
  60. package/sass/components/_timepicker.scss +179 -87
  61. package/sass/components/_wizard.scss +416 -0
  62. package/sass/components/forms/_input-fields.scss +34 -12
  63. package/sass/components/forms/_radio-buttons.scss +10 -10
  64. package/sass/components/forms/_select.scss +8 -8
  65. package/sass/components/forms/_switches.scss +6 -6
  66. package/sass/materialize.scss +7 -0
  67. 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
 
@@ -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 {
@@ -134,24 +134,24 @@ select:disabled {
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 {
@@ -20,14 +20,14 @@
20
20
  height: 0;
21
21
 
22
22
  &:checked + .lever {
23
- background-color: variables.$switch-checked-lever-bg;
23
+ background-color: var(--mm-switch-checked-track, variables.$switch-checked-lever-bg);
24
24
 
25
25
  &:before, &:after {
26
26
  left: 18px;
27
27
  }
28
28
 
29
29
  &:after {
30
- background-color: variables.$switch-bg-color;
30
+ background-color: var(--mm-switch-checked-thumb, variables.$switch-bg-color);
31
31
  }
32
32
  }
33
33
  }
@@ -38,7 +38,7 @@
38
38
  position: relative;
39
39
  width: 36px;
40
40
  height: 14px;
41
- background-color: variables.$switch-unchecked-lever-bg;
41
+ background-color: var(--mm-switch-unchecked-track, variables.$switch-unchecked-lever-bg);
42
42
  border-radius: variables.$switch-radius;
43
43
  margin-right: 10px;
44
44
  transition: background 0.3s ease;
@@ -62,7 +62,7 @@
62
62
  }
63
63
 
64
64
  &:after {
65
- background-color: variables.$switch-unchecked-bg;
65
+ background-color: var(--mm-switch-unchecked-thumb, variables.$switch-unchecked-bg);
66
66
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
67
67
  }
68
68
  }
@@ -83,10 +83,10 @@ input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before {
83
83
  // Disabled Styles
84
84
  .switch input[type=checkbox][disabled] + .lever {
85
85
  cursor: default;
86
- background-color: rgba(0,0,0,.12);
86
+ background-color: var(--mm-switch-disabled-track, rgba(0,0,0,.12));
87
87
  }
88
88
 
89
89
  .switch label input[type=checkbox][disabled] + .lever:after,
90
90
  .switch label input[type=checkbox][disabled]:checked + .lever:after {
91
- background-color: variables.$input-disabled-solid-color;
91
+ background-color: var(--mm-switch-disabled-thumb, variables.$input-disabled-solid-color);
92
92
  }
@@ -1,5 +1,8 @@
1
1
  @charset "UTF-8";
2
2
 
3
+ // Theme Variables (must be first for CSS custom properties)
4
+ @use "components/theme-variables";
5
+
3
6
  // Color
4
7
  @use "components/color-variables";
5
8
  @use "components/color-classes";
@@ -39,3 +42,7 @@
39
42
  @use "components/pulse";
40
43
  @use "components/datepicker";
41
44
  @use "components/timepicker";
45
+ @use "components/theme-switcher";
46
+ @use "components/file-upload";
47
+ @use "components/breadcrumb";
48
+ @use "components/wizard";