mithril-materialized 0.19.6 → 1.0.0-beta.1

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 (84) hide show
  1. package/README.md +6 -2
  2. package/dist/autocomplete.d.ts +14 -7
  3. package/dist/button.d.ts +40 -40
  4. package/dist/carousel.d.ts +38 -18
  5. package/dist/chip.d.ts +31 -11
  6. package/dist/code-block.d.ts +8 -9
  7. package/dist/collapsible.d.ts +26 -22
  8. package/dist/collection.d.ts +49 -49
  9. package/dist/dropdown.d.ts +45 -46
  10. package/dist/floating-action-button.d.ts +37 -34
  11. package/dist/icon.d.ts +11 -11
  12. package/dist/index.css +7968 -2
  13. package/dist/index.d.ts +26 -28
  14. package/dist/index.esm.js +4211 -2
  15. package/dist/index.js +4265 -2
  16. package/dist/index.umd.js +4269 -2
  17. package/dist/input-options.d.ts +85 -81
  18. package/dist/input.d.ts +47 -42
  19. package/dist/label.d.ts +21 -22
  20. package/dist/material-box.d.ts +38 -21
  21. package/dist/material-icon.d.ts +14 -0
  22. package/dist/modal.d.ts +41 -26
  23. package/dist/option.d.ts +61 -52
  24. package/dist/pagination.d.ts +16 -20
  25. package/dist/parallax.d.ts +14 -13
  26. package/dist/pickers.d.ts +130 -8
  27. package/dist/radio.d.ts +41 -37
  28. package/dist/search-select.d.ts +41 -0
  29. package/dist/select.d.ts +46 -45
  30. package/dist/switch.d.ts +12 -13
  31. package/dist/tabs.d.ts +57 -45
  32. package/dist/utils.d.ts +43 -70
  33. package/package.json +55 -16
  34. package/sass/components/_badges.scss +59 -0
  35. package/sass/components/_buttons.scss +327 -0
  36. package/sass/components/_cards.scss +197 -0
  37. package/sass/components/_carousel.scss +92 -0
  38. package/sass/components/_chips.scss +92 -0
  39. package/sass/components/_collapsible.scss +94 -0
  40. package/sass/components/_color-classes.scss +34 -0
  41. package/sass/components/_color-variables.scss +371 -0
  42. package/sass/components/_datepicker.scss +251 -0
  43. package/sass/components/_dropdown.scss +90 -0
  44. package/sass/components/_global.scss +775 -0
  45. package/sass/components/_grid.scss +160 -0
  46. package/sass/components/_icons-material-design.scss +5 -0
  47. package/sass/components/_materialbox.scss +43 -0
  48. package/sass/components/_modal.scss +97 -0
  49. package/sass/components/_navbar.scss +211 -0
  50. package/sass/components/_normalize.scss +447 -0
  51. package/sass/components/_preloader.scss +336 -0
  52. package/sass/components/_pulse.scss +34 -0
  53. package/sass/components/_sidenav.scss +213 -0
  54. package/sass/components/_slider.scss +94 -0
  55. package/sass/components/_table_of_contents.scss +36 -0
  56. package/sass/components/_tabs.scss +102 -0
  57. package/sass/components/_tapTarget.scss +105 -0
  58. package/sass/components/_timepicker.scss +170 -0
  59. package/sass/components/_toast.scss +61 -0
  60. package/sass/components/_tooltip.scss +32 -0
  61. package/sass/components/_transitions.scss +13 -0
  62. package/sass/components/_typography.scss +61 -0
  63. package/sass/components/_variables.scss +352 -0
  64. package/sass/components/_waves.scss +114 -0
  65. package/sass/components/forms/_checkboxes.scss +203 -0
  66. package/sass/components/forms/_file-input.scss +50 -0
  67. package/sass/components/forms/_form-groups.scss +28 -0
  68. package/sass/components/forms/_forms.scss +24 -0
  69. package/sass/components/forms/_input-fields.scss +361 -0
  70. package/sass/components/forms/_radio-buttons.scss +118 -0
  71. package/sass/components/forms/_range.scss +164 -0
  72. package/sass/components/forms/_select.scss +193 -0
  73. package/sass/components/forms/_switches.scss +92 -0
  74. package/sass/materialize.scss +41 -0
  75. package/dist/index.css.map +0 -1
  76. package/dist/index.esm.js.map +0 -1
  77. package/dist/index.js.map +0 -1
  78. package/dist/index.modern.js +0 -2
  79. package/dist/index.modern.js.map +0 -1
  80. package/dist/index.umd.js.map +0 -1
  81. package/dist/kanban.d.ts +0 -47
  82. package/dist/layout-form-generator.d.ts +0 -75
  83. package/dist/map-editor.d.ts +0 -63
  84. package/dist/timeline.d.ts +0 -24
@@ -0,0 +1,28 @@
1
+ @use "../variables";
2
+
3
+ /* Shared styles for form groups (Options and RadioButtons components) */
4
+
5
+ /* New grid-based style for horizontal and consistent alignment */
6
+ .grid-container {
7
+ display: grid;
8
+ /* Create columns that are at least 150px wide and fill the available space */
9
+ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
10
+ /* Add space between grid items */
11
+ gap: 15px;
12
+ padding-top: 10px;
13
+ padding-bottom: 20px;
14
+ }
15
+
16
+ /* The paragraph elements don't need margin anymore as gap handles it */
17
+ .grid-container p {
18
+ margin: 0;
19
+ }
20
+
21
+ .form-group-label {
22
+ font-size: variables.$label-font-size;
23
+ color: variables.$input-border-color;
24
+ margin-bottom: 15px;
25
+ display: block;
26
+ cursor: text;
27
+ text-align: initial;
28
+ }
@@ -0,0 +1,24 @@
1
+ @use "../variables";
2
+ @use "input-fields";
3
+ @use "radio-buttons";
4
+ @use "checkboxes";
5
+ @use "switches";
6
+ @use "select";
7
+ @use "file-input";
8
+ @use "range";
9
+ @use "form-groups";
10
+
11
+ // Remove Focus Boxes
12
+ select:focus {
13
+ outline: variables.$select-focus;
14
+ }
15
+
16
+ button:focus {
17
+ outline: none;
18
+ background-color: variables.$button-background-focus;
19
+ }
20
+
21
+ label {
22
+ font-size: variables.$label-font-size;
23
+ color: variables.$input-border-color;
24
+ }
@@ -0,0 +1,361 @@
1
+ @use 'sass:math';
2
+ @use "../variables";
3
+ @use "../global";
4
+
5
+ /* Text Inputs + Textarea
6
+ ========================================================================== */
7
+
8
+ /* Style Placeholders */
9
+
10
+ ::placeholder {
11
+ color: variables.$placeholder-text-color;
12
+ }
13
+
14
+ /* Text inputs */
15
+
16
+ input:not([type]):not(.browser-default),
17
+ input[type=text]:not(.browser-default),
18
+ input[type=password]:not(.browser-default),
19
+ input[type=email]:not(.browser-default),
20
+ input[type=url]:not(.browser-default),
21
+ input[type=time]:not(.browser-default),
22
+ input[type=date]:not(.browser-default),
23
+ input[type=datetime]:not(.browser-default),
24
+ input[type=datetime-local]:not(.browser-default),
25
+ input[type=tel]:not(.browser-default),
26
+ input[type=number]:not(.browser-default),
27
+ input[type=search]:not(.browser-default),
28
+ textarea.materialize-textarea {
29
+
30
+ // General Styles
31
+ background-color: transparent;
32
+ border: none;
33
+ border-bottom: variables.$input-border;
34
+ border-radius: 0;
35
+ outline: none;
36
+ height: variables.$input-height;
37
+ width: 100%;
38
+ font-size: variables.$input-font-size;
39
+ margin: variables.$input-margin;
40
+ padding: variables.$input-padding;
41
+ box-shadow: none;
42
+ box-sizing: content-box;
43
+ transition: box-shadow .3s, border .3s;
44
+
45
+ // Disabled input style
46
+ &:disabled,
47
+ &[readonly="readonly"] {
48
+ color: variables.$input-disabled-color;
49
+ border-bottom: variables.$input-disabled-border;
50
+ }
51
+
52
+ // Disabled label style
53
+ &:disabled+label,
54
+ &[readonly="readonly"]+label {
55
+ color: variables.$input-disabled-color;
56
+ }
57
+
58
+ // Focused input style
59
+ &:focus:not([readonly]) {
60
+ border-bottom: 1px solid variables.$input-focus-color;
61
+ box-shadow: 0 1px 0 0 variables.$input-focus-color;
62
+ }
63
+
64
+ // Focused label style
65
+ &:focus:not([readonly])+label {
66
+ color: variables.$input-focus-color;
67
+ }
68
+
69
+ // Hide helper text on data message
70
+ &.valid ~ .helper-text[data-success],
71
+ &:focus.valid ~ .helper-text[data-success],
72
+ &.invalid ~ .helper-text[data-error],
73
+ &:focus.invalid ~ .helper-text[data-error] {
74
+ @extend %hidden-text !optional;
75
+ }
76
+
77
+ // Valid Input Style
78
+ &.valid,
79
+ &:focus.valid {
80
+ @extend %valid-input-style !optional;
81
+ }
82
+
83
+ // Custom Success Message
84
+ &.valid ~ .helper-text:after,
85
+ &:focus.valid ~ .helper-text:after {
86
+ @extend %custom-success-message !optional;
87
+ }
88
+ &:focus.valid ~ label {
89
+ color: variables.$input-success-color;
90
+ }
91
+
92
+ // Invalid Input Style
93
+ &.invalid,
94
+ &:focus.invalid {
95
+ @extend %invalid-input-style !optional;
96
+ }
97
+
98
+ // Custom Error message
99
+ &.invalid ~ .helper-text:after,
100
+ &:focus.invalid ~ .helper-text:after {
101
+ @extend %custom-error-message !optional;
102
+ }
103
+ &:focus.invalid ~ label {
104
+ color: variables.$input-error-color;
105
+ }
106
+
107
+ // Full width label when using validate for error messages
108
+ &.validate + label {
109
+ width: 100%;
110
+ }
111
+
112
+ // Form Message Shared Styles
113
+ & + label:after {
114
+ @extend %input-after-style !optional;
115
+ }
116
+ }
117
+
118
+
119
+ /* Validation Sass Placeholders */
120
+ %valid-input-style {
121
+ border-bottom: 1px solid variables.$input-success-color;
122
+ box-shadow: 0 1px 0 0 variables.$input-success-color;
123
+ }
124
+ %invalid-input-style {
125
+ border-bottom: variables.$input-invalid-border;
126
+ box-shadow: 0 1px 0 0 variables.$input-error-color;
127
+ }
128
+ %hidden-text {
129
+ color: transparent;
130
+ user-select: none;
131
+ pointer-events: none;
132
+ }
133
+ %custom-success-message {
134
+ content: attr(data-success);
135
+ color: variables.$input-success-color;
136
+ }
137
+ %custom-error-message {
138
+ content: attr(data-error);
139
+ color: variables.$input-error-color;
140
+ }
141
+ %input-after-style {
142
+ display: block;
143
+ content: "";
144
+ position: absolute;
145
+ top: 100%;
146
+ left: 0;
147
+ opacity: 0;
148
+ transition: .2s opacity ease-out, .2s color ease-out;
149
+ }
150
+
151
+
152
+ // Styling for input field wrapper
153
+ .input-field {
154
+ // Inline styles
155
+ &.inline {
156
+ display: inline-block;
157
+ vertical-align: middle;
158
+ margin-left: 5px;
159
+
160
+ input,
161
+ .select-dropdown {
162
+ margin-bottom: 1rem;
163
+ }
164
+ }
165
+
166
+ // Gutter spacing
167
+ &.col {
168
+ label {
169
+ left: math.div(variables.$gutter-width, 2);
170
+ }
171
+
172
+ .prefix ~ label,
173
+ .prefix ~ .validate ~ label {
174
+ width: calc(100% - 3rem - #{variables.$gutter-width});
175
+ }
176
+ }
177
+
178
+ position: relative;
179
+ margin-top: 1rem;
180
+ margin-bottom: 1rem;
181
+
182
+ & > label {
183
+ color: variables.$input-border-color;
184
+ position: absolute;
185
+ top: 0;
186
+ left: 0;
187
+ font-size: 1rem;
188
+ cursor: text;
189
+ transition: transform .2s ease-out, color .2s ease-out;
190
+ transform-origin: 0% 100%;
191
+ text-align: initial;
192
+ transform: translateY(12px);
193
+
194
+ &:not(.label-icon).active {
195
+ transform: translateY(-14px) scale(.8);
196
+ transform-origin: 0 0;
197
+ }
198
+ }
199
+
200
+ // Autofill + date + time inputs
201
+ & > input[type]:-webkit-autofill:not(.browser-default):not([type="search"]) + label,
202
+ & > input[type=date]:not(.browser-default) + label,
203
+ & > input[type=time]:not(.browser-default) + label {
204
+ transform: translateY(-14px) scale(.8);
205
+ transform-origin: 0 0;
206
+ }
207
+
208
+ .helper-text {
209
+ &::after {
210
+ opacity: 1;
211
+ position: absolute;
212
+ top: 0;
213
+ left: 0;
214
+ }
215
+
216
+ position: relative;
217
+ min-height: 18px;
218
+ display: block;
219
+ font-size: 12px;
220
+ color: rgba(0,0,0,.54);
221
+ }
222
+
223
+ // Prefix Icons
224
+ .prefix {
225
+ position: absolute;
226
+ width: variables.$input-height;
227
+ font-size: variables.$input-icon-size;
228
+ transition: color .2s;
229
+ top: math.div((variables.$input-height - variables.$input-icon-size), 2);
230
+
231
+ &.active { color: variables.$input-focus-color; }
232
+ }
233
+
234
+ .prefix ~ input,
235
+ .prefix ~ textarea,
236
+ .prefix ~ label,
237
+ .prefix ~ .validate ~ label,
238
+ .prefix ~ .helper-text,
239
+ .prefix ~ .autocomplete-content {
240
+ margin-left: 3rem;
241
+ width: 92%;
242
+ width: calc(100% - 3rem);
243
+ }
244
+
245
+ .prefix ~ label { margin-left: 3rem; }
246
+
247
+ @media #{variables.$medium-and-down} {
248
+ .prefix ~ input {
249
+ width: 86%;
250
+ width: calc(100% - 3rem);
251
+ }
252
+ }
253
+
254
+ @media #{variables.$small-and-down} {
255
+ .prefix ~ input {
256
+ width: 80%;
257
+ width: calc(100% - 3rem);
258
+ }
259
+ }
260
+ }
261
+
262
+ .input-field input[type=color]:not(.browser-default) {
263
+ margin-top: 8px;
264
+ }
265
+
266
+ /* Search Field */
267
+
268
+ .input-field input[type=search] {
269
+ display: block;
270
+ line-height: inherit;
271
+ transition: .3s background-color;
272
+
273
+ .nav-wrapper & {
274
+ height: inherit;
275
+ padding-left: 4rem;
276
+ width: calc(100% - 4rem);
277
+ border: 0;
278
+ box-shadow: none;
279
+ }
280
+
281
+ &:focus:not(.browser-default) {
282
+ background-color: variables.$input-background;
283
+ border: 0;
284
+ box-shadow: none;
285
+ color: #444;
286
+
287
+ & + label i,
288
+ & ~ .mdi-navigation-close,
289
+ & ~ .material-icons {
290
+ color: #444;
291
+ }
292
+ }
293
+
294
+ & + .label-icon {
295
+ transform: none;
296
+ left: 1rem;
297
+ }
298
+
299
+ & ~ .mdi-navigation-close,
300
+ & ~ .material-icons {
301
+ position: absolute;
302
+ top: 0;
303
+ right: 1rem;
304
+ color: transparent;
305
+ cursor: pointer;
306
+ font-size: variables.$input-icon-size;
307
+ transition: .3s color;
308
+ }
309
+ }
310
+
311
+
312
+ /* Textarea */
313
+
314
+ // Default textarea
315
+ textarea {
316
+ width: 100%;
317
+ height: variables.$input-height;
318
+ background-color: transparent;
319
+
320
+ &.materialize-textarea {
321
+ line-height: normal;
322
+ overflow-y: hidden; /* prevents scroll bar flash */
323
+ padding: .8rem 0 .8rem 0; /* prevents text jump on Enter keypress */
324
+ resize: none;
325
+ min-height: variables.$input-height;
326
+ box-sizing: border-box;
327
+ }
328
+ }
329
+
330
+ // For textarea autoresize
331
+ .hiddendiv {
332
+ visibility: hidden;
333
+ white-space: pre-wrap;
334
+ word-wrap: break-word;
335
+ overflow-wrap: break-word; /* future version of deprecated 'word-wrap' */
336
+ padding-top: 1.2rem; /* prevents text jump on Enter keypress */
337
+
338
+ // Reduces repaints
339
+ position: absolute;
340
+ top: 0;
341
+ z-index: -1;
342
+ }
343
+
344
+
345
+ /* Autocomplete */
346
+ .autocomplete-content {
347
+ li {
348
+ .highlight { color: #444; }
349
+
350
+ img {
351
+ height: variables.$dropdown-item-height - 10;
352
+ width: variables.$dropdown-item-height - 10;
353
+ margin: 5px 15px;
354
+ }
355
+ }
356
+ }
357
+
358
+ /* Character Counter */
359
+ .character-counter {
360
+ min-height: 18px;
361
+ }
@@ -0,0 +1,118 @@
1
+ @use "../variables";
2
+
3
+ /* Radio Buttons
4
+ ========================================================================== */
5
+
6
+ // Remove default Radio Buttons
7
+ [type="radio"]:not(:checked),
8
+ [type="radio"]:checked {
9
+ position: absolute;
10
+ opacity: 0;
11
+ pointer-events: none;
12
+ }
13
+
14
+ [type="radio"]:not(:checked) + span,
15
+ [type="radio"]:checked + span {
16
+ position: relative;
17
+ padding-left: 35px;
18
+ cursor: pointer;
19
+ display: inline-block;
20
+ height: 25px;
21
+ line-height: 25px;
22
+ font-size: 1rem;
23
+ transition: .28s ease;
24
+ user-select: none;
25
+ }
26
+
27
+ [type="radio"] + span:before,
28
+ [type="radio"] + span:after {
29
+ content: '';
30
+ position: absolute;
31
+ left: 0;
32
+ top: 0;
33
+ margin: 4px;
34
+ width: 16px;
35
+ height: 16px;
36
+ z-index: 0;
37
+ transition: .28s ease;
38
+ }
39
+
40
+ /* Unchecked styles */
41
+ [type="radio"]:not(:checked) + span:before,
42
+ [type="radio"]:not(:checked) + span:after,
43
+ [type="radio"]:checked + span:before,
44
+ [type="radio"]:checked + span:after,
45
+ [type="radio"].with-gap:checked + span:before,
46
+ [type="radio"].with-gap:checked + span:after {
47
+ border-radius: 50%;
48
+ }
49
+
50
+ [type="radio"]:not(:checked) + span:before,
51
+ [type="radio"]:not(:checked) + span:after {
52
+ border: 2px solid variables.$radio-empty-color;
53
+ }
54
+
55
+ [type="radio"]:not(:checked) + span:after {
56
+ transform: scale(0);
57
+ }
58
+
59
+ /* Checked styles */
60
+ [type="radio"]:checked + span:before {
61
+ border: 2px solid transparent;
62
+ }
63
+
64
+ [type="radio"]:checked + span:after,
65
+ [type="radio"].with-gap:checked + span:before,
66
+ [type="radio"].with-gap:checked + span:after {
67
+ border: variables.$radio-border;
68
+ }
69
+
70
+ [type="radio"]:checked + span:after,
71
+ [type="radio"].with-gap:checked + span:after {
72
+ background-color: variables.$radio-fill-color;
73
+ }
74
+
75
+ [type="radio"]:checked + span:after {
76
+ transform: scale(1.02);
77
+ }
78
+
79
+ /* Radio With gap */
80
+ [type="radio"].with-gap:checked + span:after {
81
+ transform: scale(.5);
82
+ }
83
+
84
+ /* Focused styles */
85
+ [type="radio"].tabbed:focus + span:before {
86
+ box-shadow: 0 0 0 10px rgba(0,0,0,.1);
87
+ }
88
+
89
+ /* Disabled Radio With gap */
90
+ [type="radio"].with-gap:disabled:checked + span:before {
91
+ border: 2px solid variables.$input-disabled-color;
92
+ }
93
+
94
+ [type="radio"].with-gap:disabled:checked + span:after {
95
+ border: none;
96
+ background-color: variables.$input-disabled-color;
97
+ }
98
+
99
+ /* Disabled style */
100
+ [type="radio"]:disabled:not(:checked) + span:before,
101
+ [type="radio"]:disabled:checked + span:before {
102
+ background-color: transparent;
103
+ border-color: variables.$input-disabled-color;
104
+ }
105
+
106
+ [type="radio"]:disabled + span {
107
+ color: variables.$input-disabled-color;
108
+ }
109
+
110
+ [type="radio"]:disabled:not(:checked) + span:before {
111
+ border-color: variables.$input-disabled-color;
112
+ }
113
+
114
+ [type="radio"]:disabled:checked + span:after {
115
+ background-color: variables.$input-disabled-color;
116
+ border-color: variables.$input-disabled-solid-color;
117
+ }
118
+
@@ -0,0 +1,164 @@
1
+ @use "../variables";
2
+ @use "../global";
3
+
4
+ /* Range
5
+ ========================================================================== */
6
+
7
+ .range-field {
8
+ position: relative;
9
+ }
10
+
11
+ input[type=range],
12
+ input[type=range] + .thumb {
13
+ @extend .no-select !optional;
14
+ cursor: pointer;
15
+ }
16
+
17
+ input[type=range] {
18
+ position: relative;
19
+ background-color: transparent;
20
+ border: none;
21
+ outline: none;
22
+ width: 100%;
23
+ margin: 15px 0;
24
+ padding: 0;
25
+
26
+ &:focus {
27
+ outline: none;
28
+ }
29
+ }
30
+
31
+ input[type=range] + .thumb {
32
+ position: absolute;
33
+ top: 10px;
34
+ left: 0;
35
+ border: none;
36
+ height: 0;
37
+ width: 0;
38
+ border-radius: 50%;
39
+ background-color: variables.$radio-fill-color;
40
+ margin-left: 7px;
41
+
42
+ transform-origin: 50% 50%;
43
+ transform: rotate(-45deg);
44
+
45
+ .value {
46
+ display: block;
47
+ width: 30px;
48
+ text-align: center;
49
+ color: variables.$radio-fill-color;
50
+ font-size: 0;
51
+ transform: rotate(45deg);
52
+ }
53
+
54
+ &.active {
55
+ border-radius: 50% 50% 50% 0;
56
+
57
+ .value {
58
+ color: variables.$input-background;
59
+ margin-left: -1px;
60
+ margin-top: 8px;
61
+ font-size: 10px;
62
+ }
63
+ }
64
+ }
65
+
66
+ // Shared
67
+ @mixin range-track {
68
+ height: variables.$track-height;
69
+ background: #c2c0c2;
70
+ border: none;
71
+ }
72
+
73
+ @mixin range-thumb {
74
+ border: none;
75
+ height: variables.$range-height;
76
+ width: variables.$range-width;
77
+ border-radius: 50%;
78
+ background: variables.$radio-fill-color;
79
+ transition: box-shadow .3s;
80
+ }
81
+
82
+ // WebKit
83
+ input[type=range] {
84
+ -webkit-appearance: none;
85
+ }
86
+
87
+ input[type=range]::-webkit-slider-runnable-track {
88
+ @include range-track;
89
+ }
90
+
91
+ input[type=range]::-webkit-slider-thumb {
92
+ @include range-thumb;
93
+ -webkit-appearance: none;
94
+ background-color: variables.$radio-fill-color;
95
+ transform-origin: 50% 50%;
96
+ margin: -5px 0 0 0;
97
+
98
+ }
99
+
100
+ .keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb {
101
+ box-shadow: 0 0 0 10px rgba(variables.$radio-fill-color, .26);
102
+ }
103
+
104
+ // FireFox
105
+ input[type=range] {
106
+ /* fix for FF unable to apply focus style bug */
107
+ border: 1px solid white;
108
+
109
+ /*required for proper track sizing in FF*/
110
+ }
111
+
112
+ input[type=range]::-moz-range-track {
113
+ @include range-track;
114
+ }
115
+
116
+ input[type=range]::-moz-focus-inner {
117
+ border: 0;
118
+ }
119
+
120
+ input[type=range]::-moz-range-thumb {
121
+ @include range-thumb;
122
+ margin-top: -5px;
123
+ }
124
+
125
+ // hide the outline behind the border
126
+ input[type=range]:-moz-focusring {
127
+ outline: 1px solid #fff;
128
+ outline-offset: -1px;
129
+ }
130
+
131
+ .keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb {
132
+ box-shadow: 0 0 0 10px rgba(variables.$radio-fill-color, .26);
133
+ }
134
+
135
+ // IE 10+
136
+ input[type=range]::-ms-track {
137
+ height: variables.$track-height;
138
+
139
+ // remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead
140
+ background: transparent;
141
+
142
+ // leave room for the larger thumb to overflow with a transparent border */
143
+ border-color: transparent;
144
+ border-width: 6px 0;
145
+
146
+ /*remove default tick marks*/
147
+ color: transparent;
148
+ }
149
+
150
+ input[type=range]::-ms-fill-lower {
151
+ background: #777;
152
+ }
153
+
154
+ input[type=range]::-ms-fill-upper {
155
+ background: #ddd;
156
+ }
157
+
158
+ input[type=range]::-ms-thumb {
159
+ @include range-thumb;
160
+ }
161
+
162
+ .keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb {
163
+ box-shadow: 0 0 0 10px rgba(variables.$radio-fill-color, .26);
164
+ }