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.
- package/README.md +22 -21
- package/components/accordion/README.md +7 -9
- package/components/bottomsheet/README.md +7 -9
- package/components/bottomsheet/index.scss +3 -0
- package/components/button/README.md +7 -9
- package/components/button/index.scss +3 -0
- package/components/card/README.md +3 -3
- package/components/card/index.scss +3 -0
- package/components/checkbox/README.md +7 -9
- package/components/checkbox/index.scss +2 -0
- package/components/dialog/README.md +3 -3
- package/components/dialog/index.scss +3 -0
- package/components/divider/README.md +3 -3
- package/components/iconbutton/README.md +7 -9
- package/components/iconbutton/index.scss +3 -0
- package/components/list/README.md +58 -30
- package/components/list/index.scss +117 -53
- package/components/list/index.ts +1 -1
- package/components/menu/README.md +8 -10
- package/components/menu/index.scss +5 -2
- package/components/radio/README.md +3 -3
- package/components/radio/index.scss +2 -0
- package/components/select/README.md +9 -11
- package/components/select/index.scss +3 -1
- package/components/sidesheet/README.md +3 -3
- package/components/sidesheet/index.scss +2 -0
- package/components/slider/README.md +15 -9
- package/components/slider/index.scss +142 -51
- package/components/slider/index.ts +67 -31
- package/components/switch/README.md +3 -3
- package/components/switch/index.scss +3 -0
- package/components/textfield/README.md +7 -11
- package/components/textfield/index.scss +2 -0
- package/dist/bottomsheet.css +1 -1
- package/dist/bottomsheet.js +1 -0
- package/dist/button.css +1 -1
- package/dist/button.js +1 -0
- package/dist/card.css +1 -1
- package/dist/card.js +1 -0
- package/dist/checkbox.css +1 -1
- package/dist/checkbox.js +1 -0
- package/dist/components/bottomsheet/index.d.ts +6 -0
- package/dist/components/button/index.d.ts +6 -0
- package/dist/components/checkbox/index.d.ts +5 -0
- package/dist/components/iconbutton/index.d.ts +6 -0
- package/dist/components/list/index.d.ts +5 -0
- package/dist/components/menu/index.d.ts +16 -0
- package/dist/components/slider/index.d.ts +6 -0
- package/dist/components/textfield/index.d.ts +8 -0
- package/dist/dialog.css +1 -1
- package/dist/dialog.js +1 -0
- package/dist/divider.js +1 -0
- package/dist/iconbutton.css +1 -1
- package/dist/iconbutton.js +1 -0
- package/dist/list.css +1 -1
- package/dist/list.js +1 -0
- package/dist/menu.css +1 -1
- package/dist/menu.js +1 -0
- package/dist/micl.css +1 -1
- package/dist/micl.d.ts +5 -0
- package/dist/micl.js +1 -1
- package/dist/radio.css +1 -1
- package/dist/radio.js +1 -0
- package/dist/select.css +1 -1
- package/dist/select.js +1 -0
- package/dist/sidesheet.css +1 -1
- package/dist/sidesheet.js +1 -0
- package/dist/slider.css +1 -1
- package/dist/slider.js +1 -0
- package/dist/switch.css +1 -1
- package/dist/switch.js +1 -0
- package/dist/textfield.css +1 -1
- package/dist/textfield.js +1 -0
- package/docs/accordion.html +1 -1
- package/docs/bottomsheet.html +2 -2
- package/docs/button.html +1 -1
- package/docs/card.html +1 -1
- package/docs/checkbox.html +1 -1
- package/docs/dialog.html +2 -2
- package/docs/divider.html +1 -1
- package/docs/iconbutton.html +1 -1
- package/docs/index.html +2 -2
- package/docs/list.html +51 -34
- package/docs/menu.html +15 -11
- package/docs/micl.css +1 -1
- package/docs/micl.js +1 -1
- package/docs/radio.html +1 -1
- package/docs/select.html +11 -9
- package/docs/sidesheet.html +1 -1
- package/docs/slider.html +57 -21
- package/docs/switch.html +1 -1
- package/docs/textfield.html +1 -1
- package/{components.ts → micl.ts} +78 -53
- package/package.json +4 -2
- package/styles/layout.scss +74 -0
- package/tsconfig.json +11 -5
- 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-
|
|
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-
|
|
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-
|
|
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-
|
|
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]
|
|
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
|
-
|
|
135
|
-
|
|
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-
|
|
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]
|
|
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]
|
|
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]
|
|
166
|
-
input[type=checkbox]
|
|
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(
|
|
189
|
-
padding-block-start: var(--md-sys-list-item-
|
|
190
|
-
padding-block-end: var(--md-sys-list-item-
|
|
191
|
-
|
|
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(
|
|
200
|
-
padding-
|
|
201
|
-
padding-block-
|
|
202
|
-
|
|
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(
|
|
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
|
-
|
|
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]
|
|
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
|
-
|
|
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-
|
|
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-
|
|
331
|
+
background-position: center;
|
|
269
332
|
background-repeat: no-repeat;
|
|
333
|
+
background-size: contain;
|
|
270
334
|
}
|
|
271
335
|
|
|
272
336
|
.micl-list-item__text {
|
package/components/list/index.ts
CHANGED
|
@@ -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]
|
|
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/
|
|
28
|
-
@use "material-inspired-component-library/
|
|
27
|
+
@use "material-inspired-component-library/dist/list";
|
|
28
|
+
@use "material-inspired-component-library/dist/menu";
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
###
|
|
32
|
-
This component requires
|
|
31
|
+
### JavaScript
|
|
32
|
+
This component requires JavaScript for functionality:
|
|
33
33
|
|
|
34
|
-
|
|
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-
|
|
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/
|
|
18
|
+
@use "material-inspired-component-library/dist/radio";
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
###
|
|
22
|
-
No custom
|
|
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.
|
|
@@ -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/
|
|
28
|
-
@use "material-inspired-component-library/
|
|
29
|
-
@use "material-inspired-component-library/
|
|
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
|
-
###
|
|
33
|
-
This component requires
|
|
32
|
+
### JavaScript
|
|
33
|
+
This component requires JavaScript for functionality:
|
|
34
34
|
|
|
35
|
-
|
|
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-
|
|
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/
|
|
30
|
+
@use "material-inspired-component-library/dist/sidesheet";
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
###
|
|
34
|
-
No custom
|
|
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/
|
|
17
|
+
@use "material-inspired-component-library/dist/slider";
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
###
|
|
21
|
-
This component requires
|
|
20
|
+
### JavaScript
|
|
21
|
+
This component requires JavaScript for functionality:
|
|
22
22
|
|
|
23
|
-
|
|
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
|
+
```
|