material-inspired-component-library 1.1.0 → 1.2.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 (97) hide show
  1. package/README.md +22 -21
  2. package/components/accordion/README.md +7 -9
  3. package/components/bottomsheet/README.md +7 -9
  4. package/components/bottomsheet/index.scss +3 -0
  5. package/components/button/README.md +7 -9
  6. package/components/button/index.scss +3 -0
  7. package/components/card/README.md +3 -3
  8. package/components/card/index.scss +3 -0
  9. package/components/checkbox/README.md +7 -9
  10. package/components/checkbox/index.scss +2 -0
  11. package/components/dialog/README.md +3 -3
  12. package/components/dialog/index.scss +3 -0
  13. package/components/divider/README.md +3 -3
  14. package/components/iconbutton/README.md +7 -9
  15. package/components/iconbutton/index.scss +3 -0
  16. package/components/list/README.md +58 -30
  17. package/components/list/index.scss +117 -53
  18. package/components/list/index.ts +1 -1
  19. package/components/menu/README.md +8 -10
  20. package/components/menu/index.scss +5 -2
  21. package/components/radio/README.md +3 -3
  22. package/components/radio/index.scss +2 -0
  23. package/components/select/README.md +9 -11
  24. package/components/select/index.scss +3 -1
  25. package/components/sidesheet/README.md +3 -3
  26. package/components/sidesheet/index.scss +2 -0
  27. package/components/slider/README.md +15 -9
  28. package/components/slider/index.scss +142 -51
  29. package/components/slider/index.ts +67 -31
  30. package/components/switch/README.md +3 -3
  31. package/components/switch/index.scss +3 -0
  32. package/components/textfield/README.md +7 -11
  33. package/components/textfield/index.scss +2 -0
  34. package/dist/bottomsheet.css +1 -1
  35. package/dist/bottomsheet.js +1 -0
  36. package/dist/button.css +1 -1
  37. package/dist/button.js +1 -0
  38. package/dist/card.css +1 -1
  39. package/dist/card.js +1 -0
  40. package/dist/checkbox.css +1 -1
  41. package/dist/checkbox.js +1 -0
  42. package/dist/components/bottomsheet/index.d.ts +6 -0
  43. package/dist/components/button/index.d.ts +6 -0
  44. package/dist/components/checkbox/index.d.ts +5 -0
  45. package/dist/components/iconbutton/index.d.ts +6 -0
  46. package/dist/components/list/index.d.ts +5 -0
  47. package/dist/components/menu/index.d.ts +16 -0
  48. package/dist/components/slider/index.d.ts +6 -0
  49. package/dist/components/textfield/index.d.ts +8 -0
  50. package/dist/dialog.css +1 -1
  51. package/dist/dialog.js +1 -0
  52. package/dist/divider.js +1 -0
  53. package/dist/iconbutton.css +1 -1
  54. package/dist/iconbutton.js +1 -0
  55. package/dist/list.css +1 -1
  56. package/dist/list.js +1 -0
  57. package/dist/menu.css +1 -1
  58. package/dist/menu.js +1 -0
  59. package/dist/micl.css +1 -1
  60. package/dist/micl.d.ts +5 -0
  61. package/dist/micl.js +1 -1
  62. package/dist/radio.css +1 -1
  63. package/dist/radio.js +1 -0
  64. package/dist/select.css +1 -1
  65. package/dist/select.js +1 -0
  66. package/dist/sidesheet.css +1 -1
  67. package/dist/sidesheet.js +1 -0
  68. package/dist/slider.css +1 -1
  69. package/dist/slider.js +1 -0
  70. package/dist/switch.css +1 -1
  71. package/dist/switch.js +1 -0
  72. package/dist/textfield.css +1 -1
  73. package/dist/textfield.js +1 -0
  74. package/docs/accordion.html +1 -1
  75. package/docs/bottomsheet.html +2 -2
  76. package/docs/button.html +1 -1
  77. package/docs/card.html +1 -1
  78. package/docs/checkbox.html +1 -1
  79. package/docs/dialog.html +2 -2
  80. package/docs/divider.html +1 -1
  81. package/docs/iconbutton.html +1 -1
  82. package/docs/index.html +2 -2
  83. package/docs/list.html +51 -34
  84. package/docs/menu.html +15 -11
  85. package/docs/micl.css +1 -1
  86. package/docs/micl.js +1 -1
  87. package/docs/radio.html +1 -1
  88. package/docs/select.html +11 -9
  89. package/docs/sidesheet.html +1 -1
  90. package/docs/slider.html +57 -21
  91. package/docs/switch.html +1 -1
  92. package/docs/textfield.html +1 -1
  93. package/{components.ts → micl.ts} +78 -53
  94. package/package.json +4 -2
  95. package/styles/layout.scss +74 -0
  96. package/tsconfig.json +11 -5
  97. package/webpack.config.js +7 -4
@@ -21,6 +21,8 @@
21
21
 
22
22
  @use '../../styles/motion';
23
23
  @use '../../styles/ripple';
24
+ @use '../../styles/shapes';
25
+ @use '../../styles/statelayer';
24
26
  @use '../../styles/typography';
25
27
 
26
28
  :root {
@@ -35,10 +37,10 @@
35
37
  }
36
38
 
37
39
  .micl-list {
38
- --md-sys-list-item-background-color: var(--md-sys-color-surface);
40
+ --md-sys-list-item-container-color: var(--md-sys-color-surface);
39
41
 
40
42
  margin: 0;
41
- padding: 0;
43
+ padding: 8px 0;
42
44
  interpolate-size: allow-keywords;
43
45
  list-style-type: none;
44
46
 
@@ -66,8 +68,8 @@
66
68
  pointer-events: none;
67
69
  }
68
70
  &:not(.micl-list-item--disabled) {
69
- --miclripple: 1;
70
71
  @include ripple.effect;
72
+ --miclripple: 1;
71
73
 
72
74
  cursor: pointer;
73
75
  }
@@ -75,7 +77,7 @@
75
77
  .micl-list-item__content {
76
78
  box-sizing: border-box;
77
79
  padding-inline: var(--md-sys-list-item-padding-inline);
78
- background-color: var(--md-sys-list-item-background-color);
80
+ background-color: var(--md-sys-list-item-container-color);
79
81
  overflow: hidden;
80
82
  }
81
83
  }
@@ -93,16 +95,33 @@
93
95
  .micl-list-item-one,
94
96
  .micl-list-item-two,
95
97
  .micl-list-item-three {
98
+ --md-sys-list-item-thumbnail-aspect-ratio: 1.778;
99
+
96
100
  box-sizing: border-box;
97
101
  display: flex;
98
102
  align-items: center;
99
103
  column-gap: var(--md-sys-list-item-space);
100
104
  padding-inline: var(--md-sys-list-item-space);
101
105
  border-radius: var(--md-sys-shape-corner-none);
102
- background-color: var(--md-sys-list-item-background-color);
106
+ background-color: var(--md-sys-list-item-container-color);
103
107
  list-style: none;
104
108
  transition: background-color var(--md-sys-motion-duration-long2) linear;
105
109
 
110
+ &> a,
111
+ &> label {
112
+ display: inherit;
113
+ align-items: inherit;
114
+ column-gap: inherit;
115
+ border-radius: inherit;
116
+ background-color: inherit;
117
+ inline-size: 100%;
118
+ padding-inline: var(--md-sys-list-item-space);
119
+ text-decoration: none;
120
+ cursor: pointer;
121
+ }
122
+ &:has(> a,> label) {
123
+ padding-inline: 0;
124
+ }
106
125
  &:disabled,
107
126
  &.micl-list-item--disabled {
108
127
  .micl-list-item__icon,
@@ -117,12 +136,16 @@
117
136
  .micl-list-item__thumbnail {
118
137
  opacity: 38%;
119
138
  }
139
+ a, label {
140
+ pointer-events: none;
141
+ cursor: auto;
142
+ }
120
143
  }
121
144
  &:not(:disabled):not(.micl-list-item--disabled) {
122
145
  &:hover {
123
- background-color: color-mix(in srgb, var(--md-sys-list-item-background-color), var(--md-sys-color-on-surface) var(--md-sys-state-hover-state-layer-opacity));
146
+ background-color: color-mix(in srgb, var(--md-sys-list-item-container-color), var(--md-sys-color-on-surface) var(--md-sys-state-hover-state-layer-opacity));
124
147
 
125
- &:has(input[type=checkbox].micl-checkbox) {
148
+ &:has(input[type=checkbox]) {
126
149
  cursor: pointer;
127
150
  }
128
151
  .micl-list-item__icon {
@@ -131,26 +154,26 @@
131
154
  }
132
155
  &:focus-visible {
133
156
  outline: var(--md-sys-state-focus-indicator-thickness) solid var(--md-sys-color-secondary);
134
- background-color: color-mix(in srgb, var(--md-sys-list-item-background-color), var(--md-sys-color-on-surface) var(--md-sys-state-focus-state-layer-opacity));
135
- z-index: 1;
157
+ outline-offset: calc(-1 * var(--md-sys-state-focus-indicator-thickness));
158
+ background-color: color-mix(in srgb, var(--md-sys-list-item-container-color), var(--md-sys-color-on-surface) var(--md-sys-state-focus-state-layer-opacity));
136
159
 
137
160
  .micl-list-item__icon {
138
161
  font-variation-settings: 'FILL' 1;
139
162
  }
140
163
  }
141
164
  &:active {
142
- background-color: color-mix(in srgb, var(--md-sys-list-item-background-color), var(--md-sys-color-on-surface) var(--md-sys-state-pressed-state-layer-opacity));
165
+ background-color: color-mix(in srgb, var(--md-sys-list-item-container-color), var(--md-sys-color-on-surface) var(--md-sys-state-pressed-state-layer-opacity));
143
166
 
144
167
  .micl-list-item__icon {
145
168
  font-variation-settings: 'FILL' 1;
146
169
  }
147
170
  }
148
- &:has(input[type=checkbox].micl-checkbox) {
171
+ &:has(input[type=checkbox]) {
172
+ @include ripple.effect;
149
173
  --miclripple: 1;
150
174
  --md-sys-ripple-background-color: var(--md-sys-color-primary);
151
- @include ripple.effect;
152
175
  }
153
- &:has(input[type=checkbox].micl-checkbox:checked) {
176
+ &:has(input[type=checkbox]:checked) {
154
177
  background-color: var(--md-sys-color-secondary-container);
155
178
 
156
179
  .micl-list-item__headline {
@@ -161,45 +184,70 @@
161
184
  .micl-list-item__trailing-text {
162
185
  color: var(--md-sys-color-on-surface);
163
186
  }
187
+ &:focus-visible {
188
+ background-color: color-mix(in srgb, var(--md-sys-color-secondary-container), var(--md-sys-color-on-surface) var(--md-sys-state-focus-state-layer-opacity));
189
+ }
190
+ &:active {
191
+ background-color: color-mix(in srgb, var(--md-sys-color-secondary-container), var(--md-sys-color-on-surface) var(--md-sys-state-pressed-state-layer-opacity));
192
+ }
164
193
  }
165
- input[type=checkbox].micl-checkbox:not(:disabled):hover,
166
- input[type=checkbox].micl-checkbox:not(:disabled):active {
194
+ input[type=checkbox]:not(:disabled):hover,
195
+ input[type=checkbox]:not(:disabled):active {
167
196
  --checkbox-state-layer-color: initial;
168
197
  --checkbox-outline-color: initial;
169
198
  --md-sys-ripple-background-color: transparent;
170
199
  }
171
200
  }
172
- &> a {
173
- box-sizing: border-box;
174
- display: flex;
175
- align-items: center;
176
- align-self: normal;
177
- width: 100%;
178
- column-gap: var(--md-sys-list-item-space);
179
- text-decoration: none;
180
- }
181
201
  }
182
202
 
183
203
  .micl-list-item-one {
184
204
  min-height: var(--md-sys-list-item-one-height);
185
- padding-block-start: var(--md-sys-list-item-one-padding);
186
- padding-block-end: var(--md-sys-list-item-one-padding);
187
205
 
188
- &:has(.micl-list-item__thumbnail) {
189
- padding-block-start: var(--md-sys-list-item-three-padding);
190
- padding-block-end: var(--md-sys-list-item-three-padding);
191
- padding-inline-start: 0px;
206
+ &:not(:has(> a,> label)) {
207
+ padding-block-start: var(--md-sys-list-item-one-padding);
208
+ padding-block-end: var(--md-sys-list-item-one-padding);
209
+
210
+ &:has(.micl-list-item__thumbnail) {
211
+ padding-block-start: var(--md-sys-list-item-three-padding);
212
+ padding-block-end: var(--md-sys-list-item-three-padding);
213
+ padding-inline-start: 0px;
214
+ }
215
+ }
216
+ &> a,
217
+ &> label {
218
+ padding-block-start: var(--md-sys-list-item-one-padding);
219
+ padding-block-end: var(--md-sys-list-item-one-padding);
220
+
221
+ &:has(.micl-list-item__thumbnail) {
222
+ padding-block-start: var(--md-sys-list-item-three-padding);
223
+ padding-block-end: var(--md-sys-list-item-three-padding);
224
+ padding-inline-start: 0px;
225
+ }
192
226
  }
193
227
  }
194
228
  .micl-list-item-two {
195
229
  min-height: var(--md-sys-list-item-two-height);
196
- padding-block-start: var(--md-sys-list-item-two-padding);
197
- padding-block-end: var(--md-sys-list-item-two-padding);
198
230
 
199
- &:has(.micl-list-item__thumbnail) {
200
- padding-inline-start: 0px;
201
- padding-block-start: 12px;
202
- padding-block-end: 12px;
231
+ &:not(:has(> a, > label)) {
232
+ padding-block-start: var(--md-sys-list-item-two-padding);
233
+ padding-block-end: var(--md-sys-list-item-two-padding);
234
+
235
+ &:has(.micl-list-item__thumbnail) {
236
+ padding-inline-start: 0px;
237
+ padding-block-start: 12px;
238
+ padding-block-end: 12px;
239
+ }
240
+ }
241
+ &> a,
242
+ &> label {
243
+ padding-block-start: var(--md-sys-list-item-two-padding);
244
+ padding-block-end: var(--md-sys-list-item-two-padding);
245
+
246
+ &:has(.micl-list-item__thumbnail) {
247
+ padding-inline-start: 0px;
248
+ padding-block-start: 12px;
249
+ padding-block-end: 12px;
250
+ }
203
251
  }
204
252
  .micl-list-item__supporting-text {
205
253
  white-space: nowrap;
@@ -209,13 +257,27 @@
209
257
  }
210
258
  .micl-list-item-three {
211
259
  min-height: var(--md-sys-list-item-three-height);
212
- padding-block-start: var(--md-sys-list-item-three-padding);
213
- padding-block-end: var(--md-sys-list-item-three-padding);
214
260
 
215
- &:has(.micl-list-item__thumbnail) {
261
+ &:not(:has(> a, > label)) {
262
+ padding-block-start: var(--md-sys-list-item-three-padding);
263
+ padding-block-end: var(--md-sys-list-item-three-padding);
264
+
265
+ &:has(.micl-list-item__thumbnail) {
266
+ padding-block-start: var(--md-sys-list-item-three-padding);
267
+ padding-block-end: var(--md-sys-list-item-three-padding);
268
+ padding-inline-start: 0px;
269
+ }
270
+ }
271
+ &> a,
272
+ &> label {
216
273
  padding-block-start: var(--md-sys-list-item-three-padding);
217
274
  padding-block-end: var(--md-sys-list-item-three-padding);
218
- padding-inline-start: 0px;
275
+
276
+ &:has(.micl-list-item__thumbnail) {
277
+ padding-block-start: var(--md-sys-list-item-three-padding);
278
+ padding-block-end: var(--md-sys-list-item-three-padding);
279
+ padding-inline-start: 0px;
280
+ }
219
281
  }
220
282
  .micl-list-item__icon,
221
283
  .micl-list-item__avatar,
@@ -228,7 +290,7 @@
228
290
  -webkit-box-orient: vertical;
229
291
  -webkit-line-clamp: 2;
230
292
  }
231
- input[type=checkbox].micl-checkbox {
293
+ input[type=checkbox] {
232
294
  align-self: flex-start;
233
295
  margin-block-start: -12px;
234
296
  }
@@ -236,37 +298,39 @@
236
298
 
237
299
  .micl-list-item__icon {
238
300
  color: var(--md-sys-color-on-surface-variant);
301
+ font-size: 24px;
239
302
  font-variation-settings: 'FILL' 0;
240
303
  transition: font-variation-settings var(--md-sys-motion-duration-long2) linear;
241
304
  }
242
305
  .micl-list-item__avatar {
243
- font-size: 40px;
244
- border-radius: var(--md-sys-shape-corner-full);
245
- color: var(--md-sys-color-primary-container);
246
- }
247
- .micl-list-item__avatar-text {
248
306
  @include typography.title-medium;
249
307
 
250
- color: var(--md-sys-on-primary-container);
308
+ display: flex;
309
+ align-items: center;
310
+ justify-content: center;
311
+ block-size: 40px;
312
+ min-inline-size: 40px;
313
+ border-radius: var(--md-sys-shape-corner-full);
314
+ color: var(--md-sys-color-on-primary-container);
315
+ background-color: var(--md-sys-color-primary-container);
251
316
  }
252
317
  .micl-list-item__image {
253
318
  display: inline-block;
254
- width: 56px;
255
319
  height: 56px;
256
320
  min-width: 56px;
257
- min-height: 56px;
258
321
  border-radius: var(--md-sys-shape-corner-none);
322
+ background-position: center;
323
+ background-repeat: no-repeat;
259
324
  background-size: cover;
260
325
  }
261
326
  .micl-list-item__thumbnail {
262
327
  display: inline-block;
263
- width: auto;
264
328
  height: 64px;
265
- min-height: 64px;
266
- aspect-ratio: 1.5;
329
+ min-width: calc(64px * var(--md-sys-list-item-thumbnail-aspect-ratio));
267
330
  border-radius: var(--md-sys-shape-corner-none);
268
- background-size: contain;
331
+ background-position: center;
269
332
  background-repeat: no-repeat;
333
+ background-size: contain;
270
334
  }
271
335
 
272
336
  .micl-list-item__text {
@@ -91,7 +91,7 @@ export default (() =>
91
91
  break;
92
92
  case 'Enter':
93
93
  case ' ':
94
- const cb = (event.target as Element).querySelector('input[type=checkbox].micl-checkbox');
94
+ const cb = (event.target as Element).querySelector('input[type=checkbox]');
95
95
  if (cb instanceof HTMLInputElement) {
96
96
  cb.checked = !cb.checked;
97
97
  }
@@ -24,21 +24,19 @@ The Menu component is an extension of the [List component](../list/README.md). I
24
24
  Import the styles for both the menu and list components into your project:
25
25
 
26
26
  ```CSS
27
- @use "material-inspired-component-library/components/list";
28
- @use "material-inspired-component-library/components/menu";
27
+ @use "material-inspired-component-library/dist/list";
28
+ @use "material-inspired-component-library/dist/menu";
29
29
  ```
30
30
 
31
- ### TypeScript
32
- This component requires the **Menu** TypeScript module for functionality. You can import the specific module and handle initialization manually, or use the main MICL library for automatic initialization.
31
+ ### JavaScript
32
+ This component requires JavaScript for functionality:
33
33
 
34
- To manually initialize the component:
35
-
36
- ```TypeScript
37
- import miclMenu from 'material-inspired-component-library/components/menu';
38
-
39
- miclMenu.initialize(document.querySelector('.micl-menu'));
34
+ ```JavaScript
35
+ import micl from "material-inspired-component-library/dist/micl";
40
36
  ```
41
37
 
38
+ This will initialize any Menu component, including those that will be added to the DOM later on.
39
+
42
40
  ### Demo
43
41
  A live example of the [Menu component](https://henkpb.github.io/micl/menu.html) is available for you to interact with.
44
42
 
@@ -19,8 +19,11 @@
19
19
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
20
  // SOFTWARE.
21
21
 
22
+ @use '../../styles/elevation';
22
23
  @use '../../styles/motion';
23
24
  @use '../../styles/ripple';
25
+ @use '../../styles/shapes';
26
+ @use '../../styles/statelayer';
24
27
 
25
28
  .micl-menu[popover] {
26
29
  position: absolute;
@@ -30,13 +33,13 @@
30
33
  position-try-fallbacks: flip-block, flip-inline;
31
34
  min-width: 112px;
32
35
  max-width: 280px;
33
- padding-block: 8px;
34
36
  padding-inline: 0;
35
37
  border: none;
36
38
  border-radius: var(--md-sys-shape-corner-extra-small);
37
39
  background-color: var(--md-sys-color-surface-container);
38
40
  box-shadow: var(--md-sys-elevation-level2);
39
41
  opacity: 0;
42
+ overflow: hidden;
40
43
  transform: scaleY(0);
41
44
  transform-origin: top left;
42
45
  transition:
@@ -87,7 +90,7 @@
87
90
  --md-sys-list-item-one-padding: 0;
88
91
  --md-sys-list-item-two-padding: 0;
89
92
  --md-sys-list-item-space: 12px;
90
- --md-sys-list-item-background-color: var(--md-sys-color-surface-container);
93
+ --md-sys-list-item-container-color: var(--md-sys-color-surface-container);
91
94
 
92
95
  .micl-list-item-one,
93
96
  .micl-list-item-two,
@@ -15,11 +15,11 @@ To add a basic radio button, use the `<input type="radio">` element with the `mi
15
15
  Import the radio button styles into your project:
16
16
 
17
17
  ```CSS
18
- @use "material-inspired-component-library/components/radio";
18
+ @use "material-inspired-component-library/dist/radio";
19
19
  ```
20
20
 
21
- ### TypeScript
22
- No custom TypeScript is required for the core functionality of this component. However, to enable the ripple effect on interaction, include the Ripple TypeScript in your project.
21
+ ### JavaScript
22
+ No custom JavaScript is required for the core functionality of this component.
23
23
 
24
24
  ### Demo
25
25
  A live example of the [Radio button component](https://henkpb.github.io/micl/radio.html) is available for you to interact with.
@@ -21,6 +21,8 @@
21
21
 
22
22
  @use '../../styles/motion';
23
23
  @use '../../styles/ripple';
24
+ @use '../../styles/shapes';
25
+ @use '../../styles/statelayer';
24
26
 
25
27
  :root {
26
28
  --md-sys-radio-border-width: 2px;
@@ -24,22 +24,20 @@ The Select component is an extension of the [Text field](../textfield/README.md)
24
24
  The Select component relies on styles from the text field and list components. Be sure to import all three styles into your project.
25
25
 
26
26
  ```CSS
27
- @use "material-inspired-component-library/components/list";
28
- @use "material-inspired-component-library/components/textfield";
29
- @use "material-inspired-component-library/components/select";
27
+ @use "material-inspired-component-library/dist/list";
28
+ @use "material-inspired-component-library/dist/textfield";
29
+ @use "material-inspired-component-library/dist/select";
30
30
  ```
31
31
 
32
- ### TypeScript
33
- This component requires the **Text field** TypeScript module for functionality. You can import the specific module and handle initialization manually, or use the main MICL library for automatic initialization.
32
+ ### JavaScript
33
+ This component requires JavaScript for functionality:
34
34
 
35
- To manually initialize the component:
36
-
37
- ```TypeScript
38
- import miclTextField from 'material-inspired-component-library/components/textfield';
39
-
40
- miclTextField.initialize(document.querySelector('.micl-textfield-filled'));
35
+ ```JavaScript
36
+ import micl from "material-inspired-component-library/dist/micl";
41
37
  ```
42
38
 
39
+ This will initialize any Select component, including those that will be added to the DOM later on.
40
+
43
41
  ### Demo
44
42
  A live example of the [Select component](https://henkpb.github.io/micl/select.html) is available for you to interact with.
45
43
 
@@ -19,8 +19,10 @@
19
19
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
20
  // SOFTWARE.
21
21
 
22
+ @use '../../styles/elevation';
22
23
  @use '../../styles/motion';
23
24
  @use '../../styles/ripple';
25
+ @use '../../styles/shapes';
24
26
  @use '../../styles/statelayer';
25
27
  @use '../../styles/typography';
26
28
 
@@ -61,7 +63,7 @@
61
63
  --md-sys-list-item-two-padding: 0;
62
64
  --md-sys-list-item-space: 12px;
63
65
  --md-sys-list-item-padding-inline: 16px;
64
- --md-sys-list-item-background-color: var(--md-sys-color-surface-container);
66
+ --md-sys-list-item-container-color: var(--md-sys-color-surface-container);
65
67
  --md-sys-motion-duration-long2: 500ms;
66
68
  --md-sys-state-hover-state-layer-opacity: #{statelayer.$md-sys-state-hover-state-layer-opacity};
67
69
  --md-sys-state-focus-state-layer-opacity: #{statelayer.$md-sys-state-focus-state-layer-opacity};
@@ -27,11 +27,11 @@ To create a standard side sheet, use the `<dialog>` element with the `popover` a
27
27
  Import the side sheet styles into your project:
28
28
 
29
29
  ```CSS
30
- @use "material-inspired-component-library/components/sidesheet";
30
+ @use "material-inspired-component-library/dist/sidesheet";
31
31
  ```
32
32
 
33
- ### TypeScript
34
- No custom TypeScript is required for the core functionality of the side sheet component.
33
+ ### JavaScript
34
+ No custom JavaScript is required for the core functionality of the side sheet component.
35
35
 
36
36
  ### Demo
37
37
  A live example of the [Side sheet component](https://henkpb.github.io/micl/sidesheet.html) is available for you to interact with.
@@ -19,7 +19,9 @@
19
19
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
20
  // SOFTWARE.
21
21
 
22
+ @use '../../styles/elevation';
22
23
  @use '../../styles/motion';
24
+ @use '../../styles/shapes';
23
25
  @use '../../styles/typography';
24
26
 
25
27
  dialog.micl-sidesheet {
@@ -14,20 +14,18 @@ To add a basic slider, use the `<input type="range">` element with one of the pr
14
14
  Import the slider styles into your project:
15
15
 
16
16
  ```CSS
17
- @use "material-inspired-component-library/components/slider";
17
+ @use "material-inspired-component-library/dist/slider";
18
18
  ```
19
19
 
20
- ### TypeScript
21
- This component requires the **Slider** TypeScript module for functionality. You can import the specific module and handle initialization manually, or use the main MICL library for automatic initialization.
20
+ ### JavaScript
21
+ This component requires JavaScript for functionality:
22
22
 
23
- To manually initialize the component:
24
-
25
- ```TypeScript
26
- import miclSlider from 'material-inspired-component-library/components/slider';
27
-
28
- miclSlider.initialize(document.querySelector('.micl-slider-m'));
23
+ ```JavaScript
24
+ import micl from "material-inspired-component-library/dist/micl";
29
25
  ```
30
26
 
27
+ This will initialize any Slider component, including those that will be added to the DOM later on.
28
+
31
29
  ### Demo
32
30
  A live example of the [Slider component](https://henkpb.github.io/micl/slider.html) is available for you to interact with.
33
31
 
@@ -67,3 +65,11 @@ The Slider component is aware of the `dir` global attribute that indicates the d
67
65
 
68
66
  ## Compatibility
69
67
  This component uses the `color-mix` CSS functional notation, which might not be supported in your browser. Please check [Browser compatibility](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/color-mix#browser_compatibility) for details.
68
+
69
+ > [!NOTE]
70
+ > **Gecko browsers** The Slider component uses the `::after` pseudo-element to display the value indicator. For this to work on **Gecko** browsers, like Mozilla Firefox, wrap the Slider component inside a slider container:
71
+ ```HTML
72
+ <div class="micl-slider__container">
73
+ <input type="range" class="micl-slider-l" value="0">
74
+ </div>
75
+ ```