material-inspired-component-library 1.1.1 → 1.2.2
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 +4 -0
- package/components/bottomsheet/index.scss +18 -16
- package/components/button/index.scss +6 -2
- package/components/card/index.scss +5 -2
- package/components/checkbox/index.scss +5 -4
- package/components/dialog/index.scss +28 -23
- package/components/iconbutton/index.scss +6 -2
- package/components/list/README.md +51 -21
- package/components/list/index.scss +122 -57
- package/components/list/index.ts +1 -1
- package/components/menu/index.scss +17 -13
- package/components/radio/index.scss +8 -5
- package/components/select/index.scss +1 -3
- package/components/sidesheet/index.scss +21 -19
- package/components/slider/README.md +8 -0
- package/components/slider/index.scss +140 -51
- package/components/slider/index.ts +67 -31
- package/components/switch/index.scss +11 -8
- package/components/textfield/index.scss +8 -5
- package/dist/bottomsheet.css +1 -1
- package/dist/button.css +1 -1
- package/dist/card.css +1 -1
- package/dist/checkbox.css +1 -1
- package/dist/dialog.css +1 -1
- package/dist/iconbutton.css +1 -1
- package/dist/list.css +1 -1
- package/dist/menu.css +1 -1
- package/dist/micl.css +1 -1
- package/dist/micl.js +1 -1
- package/dist/radio.css +1 -1
- package/dist/select.css +1 -1
- package/dist/sidesheet.css +1 -1
- package/dist/slider.css +1 -1
- package/dist/switch.css +1 -1
- package/dist/textfield.css +1 -1
- 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 +6 -6
- 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/micl.ts +5 -1
- package/package.json +1 -1
- package/styles/layout.scss +74 -0
|
@@ -37,10 +37,13 @@
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
.micl-list {
|
|
40
|
-
--md-sys-list-item-
|
|
40
|
+
--md-sys-list-item-container-color: var(--md-sys-color-surface);
|
|
41
|
+
--md-sys-list-motion-duration: #{motion.$md-sys-motion-expressive-default-effects-duration};
|
|
42
|
+
--md-sys-accordion-motion-spatial: #{motion.$md-sys-motion-expressive-default-spatial};
|
|
43
|
+
--md-sys-accordion-motion-duration: #{motion.$md-sys-motion-expressive-default-spatial-duration};
|
|
41
44
|
|
|
42
45
|
margin: 0;
|
|
43
|
-
padding: 0;
|
|
46
|
+
padding: 8px 0;
|
|
44
47
|
interpolate-size: allow-keywords;
|
|
45
48
|
list-style-type: none;
|
|
46
49
|
|
|
@@ -49,8 +52,8 @@
|
|
|
49
52
|
height: 0;
|
|
50
53
|
overflow: hidden;
|
|
51
54
|
transition:
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
height var( --md-sys-accordion-motion-duration) var(--md-sys-accordion-motion-spatial),
|
|
56
|
+
content-visibility var(--md-sys-accordion-motion-duration) linear allow-discrete;
|
|
54
57
|
}
|
|
55
58
|
&[open]::details-content {
|
|
56
59
|
height: auto;
|
|
@@ -68,8 +71,8 @@
|
|
|
68
71
|
pointer-events: none;
|
|
69
72
|
}
|
|
70
73
|
&:not(.micl-list-item--disabled) {
|
|
71
|
-
--miclripple: 1;
|
|
72
74
|
@include ripple.effect;
|
|
75
|
+
--miclripple: 1;
|
|
73
76
|
|
|
74
77
|
cursor: pointer;
|
|
75
78
|
}
|
|
@@ -77,7 +80,7 @@
|
|
|
77
80
|
.micl-list-item__content {
|
|
78
81
|
box-sizing: border-box;
|
|
79
82
|
padding-inline: var(--md-sys-list-item-padding-inline);
|
|
80
|
-
background-color: var(--md-sys-list-item-
|
|
83
|
+
background-color: var(--md-sys-list-item-container-color);
|
|
81
84
|
overflow: hidden;
|
|
82
85
|
}
|
|
83
86
|
}
|
|
@@ -95,16 +98,33 @@
|
|
|
95
98
|
.micl-list-item-one,
|
|
96
99
|
.micl-list-item-two,
|
|
97
100
|
.micl-list-item-three {
|
|
101
|
+
--md-sys-list-item-thumbnail-aspect-ratio: 1.778;
|
|
102
|
+
|
|
98
103
|
box-sizing: border-box;
|
|
99
104
|
display: flex;
|
|
100
105
|
align-items: center;
|
|
101
106
|
column-gap: var(--md-sys-list-item-space);
|
|
102
107
|
padding-inline: var(--md-sys-list-item-space);
|
|
103
108
|
border-radius: var(--md-sys-shape-corner-none);
|
|
104
|
-
background-color: var(--md-sys-list-item-
|
|
109
|
+
background-color: var(--md-sys-list-item-container-color);
|
|
105
110
|
list-style: none;
|
|
106
|
-
transition: background-color var(--md-sys-motion-duration
|
|
111
|
+
transition: background-color var(--md-sys-list-motion-duration) linear;
|
|
107
112
|
|
|
113
|
+
&> a,
|
|
114
|
+
&> label {
|
|
115
|
+
display: inherit;
|
|
116
|
+
align-items: inherit;
|
|
117
|
+
column-gap: inherit;
|
|
118
|
+
border-radius: inherit;
|
|
119
|
+
background-color: inherit;
|
|
120
|
+
inline-size: 100%;
|
|
121
|
+
padding-inline: var(--md-sys-list-item-space);
|
|
122
|
+
text-decoration: none;
|
|
123
|
+
cursor: pointer;
|
|
124
|
+
}
|
|
125
|
+
&:has(> a,> label) {
|
|
126
|
+
padding-inline: 0;
|
|
127
|
+
}
|
|
108
128
|
&:disabled,
|
|
109
129
|
&.micl-list-item--disabled {
|
|
110
130
|
.micl-list-item__icon,
|
|
@@ -119,12 +139,16 @@
|
|
|
119
139
|
.micl-list-item__thumbnail {
|
|
120
140
|
opacity: 38%;
|
|
121
141
|
}
|
|
142
|
+
a, label {
|
|
143
|
+
pointer-events: none;
|
|
144
|
+
cursor: auto;
|
|
145
|
+
}
|
|
122
146
|
}
|
|
123
147
|
&:not(:disabled):not(.micl-list-item--disabled) {
|
|
124
148
|
&:hover {
|
|
125
|
-
background-color: color-mix(in srgb, var(--md-sys-list-item-
|
|
149
|
+
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));
|
|
126
150
|
|
|
127
|
-
&:has(input[type=checkbox]
|
|
151
|
+
&:has(input[type=checkbox]) {
|
|
128
152
|
cursor: pointer;
|
|
129
153
|
}
|
|
130
154
|
.micl-list-item__icon {
|
|
@@ -133,26 +157,26 @@
|
|
|
133
157
|
}
|
|
134
158
|
&:focus-visible {
|
|
135
159
|
outline: var(--md-sys-state-focus-indicator-thickness) solid var(--md-sys-color-secondary);
|
|
136
|
-
|
|
137
|
-
|
|
160
|
+
outline-offset: calc(-1 * var(--md-sys-state-focus-indicator-thickness));
|
|
161
|
+
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));
|
|
138
162
|
|
|
139
163
|
.micl-list-item__icon {
|
|
140
164
|
font-variation-settings: 'FILL' 1;
|
|
141
165
|
}
|
|
142
166
|
}
|
|
143
167
|
&:active {
|
|
144
|
-
background-color: color-mix(in srgb, var(--md-sys-list-item-
|
|
168
|
+
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));
|
|
145
169
|
|
|
146
170
|
.micl-list-item__icon {
|
|
147
171
|
font-variation-settings: 'FILL' 1;
|
|
148
172
|
}
|
|
149
173
|
}
|
|
150
|
-
&:has(input[type=checkbox]
|
|
174
|
+
&:has(input[type=checkbox]) {
|
|
175
|
+
@include ripple.effect;
|
|
151
176
|
--miclripple: 1;
|
|
152
177
|
--md-sys-ripple-background-color: var(--md-sys-color-primary);
|
|
153
|
-
@include ripple.effect;
|
|
154
178
|
}
|
|
155
|
-
&:has(input[type=checkbox]
|
|
179
|
+
&:has(input[type=checkbox]:checked) {
|
|
156
180
|
background-color: var(--md-sys-color-secondary-container);
|
|
157
181
|
|
|
158
182
|
.micl-list-item__headline {
|
|
@@ -163,45 +187,70 @@
|
|
|
163
187
|
.micl-list-item__trailing-text {
|
|
164
188
|
color: var(--md-sys-color-on-surface);
|
|
165
189
|
}
|
|
190
|
+
&:focus-visible {
|
|
191
|
+
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));
|
|
192
|
+
}
|
|
193
|
+
&:active {
|
|
194
|
+
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));
|
|
195
|
+
}
|
|
166
196
|
}
|
|
167
|
-
input[type=checkbox]
|
|
168
|
-
input[type=checkbox]
|
|
197
|
+
input[type=checkbox]:not(:disabled):hover,
|
|
198
|
+
input[type=checkbox]:not(:disabled):active {
|
|
169
199
|
--checkbox-state-layer-color: initial;
|
|
170
200
|
--checkbox-outline-color: initial;
|
|
171
201
|
--md-sys-ripple-background-color: transparent;
|
|
172
202
|
}
|
|
173
203
|
}
|
|
174
|
-
&> a {
|
|
175
|
-
box-sizing: border-box;
|
|
176
|
-
display: flex;
|
|
177
|
-
align-items: center;
|
|
178
|
-
align-self: normal;
|
|
179
|
-
width: 100%;
|
|
180
|
-
column-gap: var(--md-sys-list-item-space);
|
|
181
|
-
text-decoration: none;
|
|
182
|
-
}
|
|
183
204
|
}
|
|
184
205
|
|
|
185
206
|
.micl-list-item-one {
|
|
186
207
|
min-height: var(--md-sys-list-item-one-height);
|
|
187
|
-
padding-block-start: var(--md-sys-list-item-one-padding);
|
|
188
|
-
padding-block-end: var(--md-sys-list-item-one-padding);
|
|
189
208
|
|
|
190
|
-
&:has(
|
|
191
|
-
padding-block-start: var(--md-sys-list-item-
|
|
192
|
-
padding-block-end: var(--md-sys-list-item-
|
|
193
|
-
|
|
209
|
+
&:not(:has(> a,> label)) {
|
|
210
|
+
padding-block-start: var(--md-sys-list-item-one-padding);
|
|
211
|
+
padding-block-end: var(--md-sys-list-item-one-padding);
|
|
212
|
+
|
|
213
|
+
&:has(.micl-list-item__thumbnail) {
|
|
214
|
+
padding-block-start: var(--md-sys-list-item-three-padding);
|
|
215
|
+
padding-block-end: var(--md-sys-list-item-three-padding);
|
|
216
|
+
padding-inline-start: 0px;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
&> a,
|
|
220
|
+
&> label {
|
|
221
|
+
padding-block-start: var(--md-sys-list-item-one-padding);
|
|
222
|
+
padding-block-end: var(--md-sys-list-item-one-padding);
|
|
223
|
+
|
|
224
|
+
&:has(.micl-list-item__thumbnail) {
|
|
225
|
+
padding-block-start: var(--md-sys-list-item-three-padding);
|
|
226
|
+
padding-block-end: var(--md-sys-list-item-three-padding);
|
|
227
|
+
padding-inline-start: 0px;
|
|
228
|
+
}
|
|
194
229
|
}
|
|
195
230
|
}
|
|
196
231
|
.micl-list-item-two {
|
|
197
232
|
min-height: var(--md-sys-list-item-two-height);
|
|
198
|
-
padding-block-start: var(--md-sys-list-item-two-padding);
|
|
199
|
-
padding-block-end: var(--md-sys-list-item-two-padding);
|
|
200
233
|
|
|
201
|
-
&:has(
|
|
202
|
-
padding-
|
|
203
|
-
padding-block-
|
|
204
|
-
|
|
234
|
+
&:not(:has(> a, > label)) {
|
|
235
|
+
padding-block-start: var(--md-sys-list-item-two-padding);
|
|
236
|
+
padding-block-end: var(--md-sys-list-item-two-padding);
|
|
237
|
+
|
|
238
|
+
&:has(.micl-list-item__thumbnail) {
|
|
239
|
+
padding-inline-start: 0px;
|
|
240
|
+
padding-block-start: 12px;
|
|
241
|
+
padding-block-end: 12px;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
&> a,
|
|
245
|
+
&> label {
|
|
246
|
+
padding-block-start: var(--md-sys-list-item-two-padding);
|
|
247
|
+
padding-block-end: var(--md-sys-list-item-two-padding);
|
|
248
|
+
|
|
249
|
+
&:has(.micl-list-item__thumbnail) {
|
|
250
|
+
padding-inline-start: 0px;
|
|
251
|
+
padding-block-start: 12px;
|
|
252
|
+
padding-block-end: 12px;
|
|
253
|
+
}
|
|
205
254
|
}
|
|
206
255
|
.micl-list-item__supporting-text {
|
|
207
256
|
white-space: nowrap;
|
|
@@ -211,13 +260,27 @@
|
|
|
211
260
|
}
|
|
212
261
|
.micl-list-item-three {
|
|
213
262
|
min-height: var(--md-sys-list-item-three-height);
|
|
214
|
-
padding-block-start: var(--md-sys-list-item-three-padding);
|
|
215
|
-
padding-block-end: var(--md-sys-list-item-three-padding);
|
|
216
263
|
|
|
217
|
-
&:has(
|
|
264
|
+
&:not(:has(> a, > label)) {
|
|
265
|
+
padding-block-start: var(--md-sys-list-item-three-padding);
|
|
266
|
+
padding-block-end: var(--md-sys-list-item-three-padding);
|
|
267
|
+
|
|
268
|
+
&:has(.micl-list-item__thumbnail) {
|
|
269
|
+
padding-block-start: var(--md-sys-list-item-three-padding);
|
|
270
|
+
padding-block-end: var(--md-sys-list-item-three-padding);
|
|
271
|
+
padding-inline-start: 0px;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
&> a,
|
|
275
|
+
&> label {
|
|
218
276
|
padding-block-start: var(--md-sys-list-item-three-padding);
|
|
219
277
|
padding-block-end: var(--md-sys-list-item-three-padding);
|
|
220
|
-
|
|
278
|
+
|
|
279
|
+
&:has(.micl-list-item__thumbnail) {
|
|
280
|
+
padding-block-start: var(--md-sys-list-item-three-padding);
|
|
281
|
+
padding-block-end: var(--md-sys-list-item-three-padding);
|
|
282
|
+
padding-inline-start: 0px;
|
|
283
|
+
}
|
|
221
284
|
}
|
|
222
285
|
.micl-list-item__icon,
|
|
223
286
|
.micl-list-item__avatar,
|
|
@@ -230,7 +293,7 @@
|
|
|
230
293
|
-webkit-box-orient: vertical;
|
|
231
294
|
-webkit-line-clamp: 2;
|
|
232
295
|
}
|
|
233
|
-
input[type=checkbox]
|
|
296
|
+
input[type=checkbox] {
|
|
234
297
|
align-self: flex-start;
|
|
235
298
|
margin-block-start: -12px;
|
|
236
299
|
}
|
|
@@ -238,37 +301,39 @@
|
|
|
238
301
|
|
|
239
302
|
.micl-list-item__icon {
|
|
240
303
|
color: var(--md-sys-color-on-surface-variant);
|
|
304
|
+
font-size: 24px;
|
|
241
305
|
font-variation-settings: 'FILL' 0;
|
|
242
|
-
transition: font-variation-settings var(--md-sys-motion-duration
|
|
306
|
+
transition: font-variation-settings var(--md-sys-list-motion-duration) linear;
|
|
243
307
|
}
|
|
244
308
|
.micl-list-item__avatar {
|
|
245
|
-
font-size: 40px;
|
|
246
|
-
border-radius: var(--md-sys-shape-corner-full);
|
|
247
|
-
color: var(--md-sys-color-primary-container);
|
|
248
|
-
}
|
|
249
|
-
.micl-list-item__avatar-text {
|
|
250
309
|
@include typography.title-medium;
|
|
251
310
|
|
|
252
|
-
|
|
311
|
+
display: flex;
|
|
312
|
+
align-items: center;
|
|
313
|
+
justify-content: center;
|
|
314
|
+
block-size: 40px;
|
|
315
|
+
min-inline-size: 40px;
|
|
316
|
+
border-radius: var(--md-sys-shape-corner-full);
|
|
317
|
+
color: var(--md-sys-color-on-primary-container);
|
|
318
|
+
background-color: var(--md-sys-color-primary-container);
|
|
253
319
|
}
|
|
254
320
|
.micl-list-item__image {
|
|
255
321
|
display: inline-block;
|
|
256
|
-
width: 56px;
|
|
257
322
|
height: 56px;
|
|
258
323
|
min-width: 56px;
|
|
259
|
-
min-height: 56px;
|
|
260
324
|
border-radius: var(--md-sys-shape-corner-none);
|
|
325
|
+
background-position: center;
|
|
326
|
+
background-repeat: no-repeat;
|
|
261
327
|
background-size: cover;
|
|
262
328
|
}
|
|
263
329
|
.micl-list-item__thumbnail {
|
|
264
330
|
display: inline-block;
|
|
265
|
-
width: auto;
|
|
266
331
|
height: 64px;
|
|
267
|
-
min-
|
|
268
|
-
aspect-ratio: 1.5;
|
|
332
|
+
min-width: calc(64px * var(--md-sys-list-item-thumbnail-aspect-ratio));
|
|
269
333
|
border-radius: var(--md-sys-shape-corner-none);
|
|
270
|
-
background-
|
|
334
|
+
background-position: center;
|
|
271
335
|
background-repeat: no-repeat;
|
|
336
|
+
background-size: contain;
|
|
272
337
|
}
|
|
273
338
|
|
|
274
339
|
.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
|
}
|
|
@@ -26,6 +26,10 @@
|
|
|
26
26
|
@use '../../styles/statelayer';
|
|
27
27
|
|
|
28
28
|
.micl-menu[popover] {
|
|
29
|
+
--md-sys-menu-motion-spatial: #{motion.$md-sys-motion-expressive-default-spatial};
|
|
30
|
+
--md-sys-menu-motion-duration: #{motion.$md-sys-motion-expressive-default-spatial-duration};
|
|
31
|
+
--md-sys-menu-motion-duration-reverse: #{motion.$md-sys-motion-expressive-fast-spatial-duration};
|
|
32
|
+
|
|
29
33
|
position: absolute;
|
|
30
34
|
inset: unset;
|
|
31
35
|
inset-block-start: anchor(end);
|
|
@@ -33,29 +37,29 @@
|
|
|
33
37
|
position-try-fallbacks: flip-block, flip-inline;
|
|
34
38
|
min-width: 112px;
|
|
35
39
|
max-width: 280px;
|
|
36
|
-
padding-block: 8px;
|
|
37
40
|
padding-inline: 0;
|
|
38
41
|
border: none;
|
|
39
42
|
border-radius: var(--md-sys-shape-corner-extra-small);
|
|
40
43
|
background-color: var(--md-sys-color-surface-container);
|
|
41
44
|
box-shadow: var(--md-sys-elevation-level2);
|
|
42
45
|
opacity: 0;
|
|
46
|
+
overflow: hidden;
|
|
43
47
|
transform: scaleY(0);
|
|
44
48
|
transform-origin: top left;
|
|
45
49
|
transition:
|
|
46
|
-
opacity var(--md-sys-motion-duration-
|
|
47
|
-
transform var(--md-sys-motion-duration-
|
|
48
|
-
overlay var(--md-sys-motion-duration-
|
|
49
|
-
display var(--md-sys-motion-duration-
|
|
50
|
+
opacity var(--md-sys-menu-motion-duration-reverse) linear,
|
|
51
|
+
transform var(--md-sys-menu-motion-duration-reverse) var(--md-sys-menu-motion-spatial),
|
|
52
|
+
overlay var(--md-sys-menu-motion-duration-reverse) linear allow-discrete,
|
|
53
|
+
display var(--md-sys-menu-motion-duration-reverse) linear allow-discrete;
|
|
50
54
|
|
|
51
55
|
&:popover-open {
|
|
52
56
|
opacity: 1;
|
|
53
57
|
transform: scaleY(1);
|
|
54
58
|
transition:
|
|
55
|
-
opacity var(--md-sys-motion-duration
|
|
56
|
-
transform var(--md-sys-motion-duration
|
|
57
|
-
overlay var(--md-sys-motion-duration
|
|
58
|
-
display var(--md-sys-motion-duration
|
|
59
|
+
opacity var(--md-sys-menu-motion-duration) motion.$md-sys-motion-easing-emphasized-decelerate,
|
|
60
|
+
transform var(--md-sys-menu-motion-duration) var(--md-sys-menu-motion-spatial),
|
|
61
|
+
overlay var(--md-sys-menu-motion-duration) linear allow-discrete,
|
|
62
|
+
display var(--md-sys-menu-motion-duration) linear allow-discrete;
|
|
59
63
|
|
|
60
64
|
@position-try-on {
|
|
61
65
|
transform-origin: bottom left;
|
|
@@ -80,9 +84,9 @@
|
|
|
80
84
|
&::backdrop {
|
|
81
85
|
background-color: rgba(0, 0, 0, 0);
|
|
82
86
|
transition:
|
|
83
|
-
background-color var(--md-sys-motion-duration
|
|
84
|
-
overlay var(--md-sys-motion-duration
|
|
85
|
-
display var(--md-sys-motion-duration
|
|
87
|
+
background-color var(--md-sys-menu-motion-duration) linear,
|
|
88
|
+
overlay var(--md-sys-menu-motion-duration) linear allow-discrete,
|
|
89
|
+
display var(--md-sys-menu-motion-duration) linear allow-discrete;
|
|
86
90
|
}
|
|
87
91
|
|
|
88
92
|
.micl-list {
|
|
@@ -90,7 +94,7 @@
|
|
|
90
94
|
--md-sys-list-item-one-padding: 0;
|
|
91
95
|
--md-sys-list-item-two-padding: 0;
|
|
92
96
|
--md-sys-list-item-space: 12px;
|
|
93
|
-
--md-sys-list-item-
|
|
97
|
+
--md-sys-list-item-container-color: var(--md-sys-color-surface-container);
|
|
94
98
|
|
|
95
99
|
.micl-list-item-one,
|
|
96
100
|
.micl-list-item-two,
|
|
@@ -31,6 +31,9 @@
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
input[type=radio].micl-radio {
|
|
34
|
+
--md-sys-radio-motion-effects: #{motion.$md-sys-motion-expressive-slow-effects};
|
|
35
|
+
--md-sys-radio-motion-duration: #{motion.$md-sys-motion-expressive-slow-effects-duration};
|
|
36
|
+
--md-sys-radio-motion-duration-reverse: #{motion.$md-sys-motion-expressive-default-effects-duration};
|
|
34
37
|
--md-sys-ripple-background-color: var(--md-sys-color-primary);
|
|
35
38
|
|
|
36
39
|
appearance: none;
|
|
@@ -44,7 +47,7 @@ input[type=radio].micl-radio {
|
|
|
44
47
|
background-color: transparent;
|
|
45
48
|
border-radius: var(--md-sys-shape-corner-full);
|
|
46
49
|
outline-offset: -7px;
|
|
47
|
-
transition: background-color var(--md-sys-motion-duration
|
|
50
|
+
transition: background-color var(--md-sys-radio-motion-duration) linear;
|
|
48
51
|
|
|
49
52
|
&::after {
|
|
50
53
|
content: "";
|
|
@@ -60,15 +63,15 @@ input[type=radio].micl-radio {
|
|
|
60
63
|
background-clip: content-box;
|
|
61
64
|
border-radius: var(--md-sys-shape-corner-full);
|
|
62
65
|
transition:
|
|
63
|
-
padding var(--md-sys-motion-duration-
|
|
64
|
-
border-color var(--md-sys-motion-duration-
|
|
66
|
+
padding var(--md-sys-radio-motion-duration-reverse) var(--md-sys-radio-motion-effects),
|
|
67
|
+
border-color var(--md-sys-radio-motion-duration-reverse) motion.$md-sys-motion-easing-emphasized;
|
|
65
68
|
}
|
|
66
69
|
&:checked::after {
|
|
67
70
|
border-color: var(--md-sys-color-primary);
|
|
68
71
|
padding: 3px;
|
|
69
72
|
transition:
|
|
70
|
-
padding var(--md-sys-motion-duration
|
|
71
|
-
border-color var(--md-sys-motion-duration
|
|
73
|
+
padding var(--md-sys-radio-motion-duration) var(--md-sys-radio-motion-effects),
|
|
74
|
+
border-color var(--md-sys-radio-motion-duration) motion.$md-sys-motion-easing-emphasized;
|
|
72
75
|
}
|
|
73
76
|
&:not(:disabled) {
|
|
74
77
|
--miclripple: 1;
|
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
// SOFTWARE.
|
|
21
21
|
|
|
22
22
|
@use '../../styles/elevation';
|
|
23
|
-
@use '../../styles/motion';
|
|
24
23
|
@use '../../styles/ripple';
|
|
25
24
|
@use '../../styles/shapes';
|
|
26
25
|
@use '../../styles/statelayer';
|
|
@@ -63,8 +62,7 @@
|
|
|
63
62
|
--md-sys-list-item-two-padding: 0;
|
|
64
63
|
--md-sys-list-item-space: 12px;
|
|
65
64
|
--md-sys-list-item-padding-inline: 16px;
|
|
66
|
-
--md-sys-list-item-
|
|
67
|
-
--md-sys-motion-duration-long2: 500ms;
|
|
65
|
+
--md-sys-list-item-container-color: var(--md-sys-color-surface-container);
|
|
68
66
|
--md-sys-state-hover-state-layer-opacity: #{statelayer.$md-sys-state-hover-state-layer-opacity};
|
|
69
67
|
--md-sys-state-focus-state-layer-opacity: #{statelayer.$md-sys-state-focus-state-layer-opacity};
|
|
70
68
|
--md-sys-state-pressed-state-layer-opacity: #{statelayer.$md-sys-state-pressed-state-layer-opacity};
|
|
@@ -30,6 +30,9 @@ dialog.micl-sidesheet {
|
|
|
30
30
|
--md-sys-sidesheet-spring-buffer: 200px;
|
|
31
31
|
--md-sys-sidesheet-padding-standard: 24px;
|
|
32
32
|
--md-sys-sidesheet-padding-modal: 16px;
|
|
33
|
+
--md-sys-sidesheet-motion-spatial: #{motion.$md-sys-motion-expressive-slow-spatial};
|
|
34
|
+
--md-sys-sidesheet-motion-duration: #{motion.$md-sys-motion-expressive-slow-spatial-duration};
|
|
35
|
+
--md-sys-sidesheet-motion-duration-reverse: #{motion.$md-sys-motion-expressive-default-spatial-duration};
|
|
33
36
|
|
|
34
37
|
box-sizing: border-box;
|
|
35
38
|
display: none;
|
|
@@ -53,10 +56,10 @@ dialog.micl-sidesheet {
|
|
|
53
56
|
opacity: 0;
|
|
54
57
|
overflow: hidden;
|
|
55
58
|
transition:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
opacity var(--md-sys-sidesheet-motion-duration-reverse) linear,
|
|
60
|
+
margin-inline-end var(--md-sys-sidesheet-motion-duration-reverse) var(--md-sys-sidesheet-motion-spatial),
|
|
61
|
+
overlay var(--md-sys-sidesheet-motion-duration-reverse) linear allow-discrete,
|
|
62
|
+
display var(--md-sys-sidesheet-motion-duration-reverse) linear allow-discrete;
|
|
60
63
|
|
|
61
64
|
.micl-sidesheet__headline {
|
|
62
65
|
display: flex;
|
|
@@ -109,9 +112,9 @@ dialog.micl-sidesheet {
|
|
|
109
112
|
&::backdrop {
|
|
110
113
|
background-color: rgba(0, 0, 0, 0);
|
|
111
114
|
transition:
|
|
112
|
-
|
|
113
|
-
overlay var(--md-sys-motion-duration
|
|
114
|
-
|
|
115
|
+
background-color var(--md-sys-sidesheet-motion-duration) linear,
|
|
116
|
+
overlay var(--md-sys-sidesheet-motion-duration) linear allow-discrete,
|
|
117
|
+
display var(--md-sys-sidesheet-motion-duration) linear allow-discrete;
|
|
115
118
|
}
|
|
116
119
|
&[open] {
|
|
117
120
|
background-color: var(--md-sys-color-surface-container-low);
|
|
@@ -132,23 +135,22 @@ dialog.micl-sidesheet {
|
|
|
132
135
|
margin-inline-end: calc(-1 * var(--md-sys-sidesheet-spring-buffer));
|
|
133
136
|
opacity: 1;
|
|
134
137
|
transition:
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
138
|
+
opacity var(--md-sys-sidesheet-motion-duration) linear,
|
|
139
|
+
margin-inline-end var(--md-sys-sidesheet-motion-duration) var(--md-sys-sidesheet-motion-spatial),
|
|
140
|
+
overlay var(--md-sys-sidesheet-motion-duration) linear allow-discrete,
|
|
141
|
+
display var(--md-sys-sidesheet-motion-duration) linear allow-discrete;
|
|
139
142
|
|
|
140
143
|
@starting-style {
|
|
141
|
-
opacity: 0;
|
|
142
144
|
margin-inline-end: calc(-1 * (var(--md-sys-sidesheet-maxwidth) + var(--md-sys-sidesheet-spring-buffer)));
|
|
143
|
-
|
|
144
|
-
&::backdrop {
|
|
145
|
-
@starting-style {
|
|
146
|
-
background-color: rgba(0, 0, 0, 0);
|
|
147
|
-
}
|
|
145
|
+
opacity: 0;
|
|
148
146
|
}
|
|
149
147
|
}
|
|
150
148
|
&[open]::backdrop {
|
|
151
149
|
background-color: rgba(0, 0, 0, 0.2);
|
|
150
|
+
|
|
151
|
+
@starting-style {
|
|
152
|
+
background-color: rgba(0, 0, 0, 0);
|
|
153
|
+
}
|
|
152
154
|
}
|
|
153
155
|
}
|
|
154
156
|
|
|
@@ -156,9 +158,9 @@ body:has(dialog.micl-sidesheet[popover]) {
|
|
|
156
158
|
box-sizing: border-box;
|
|
157
159
|
max-width: 100%;
|
|
158
160
|
margin: 0;
|
|
159
|
-
transition: max-width var(--md-sys-motion-duration-
|
|
161
|
+
transition: max-width var(--md-sys-sidesheet-motion-duration-reverse);
|
|
160
162
|
}
|
|
161
163
|
body:has(dialog.micl-sidesheet:popover-open) {
|
|
162
164
|
max-width: calc(100vw - 400px);
|
|
163
|
-
transition: max-width var(--md-sys-motion-duration
|
|
165
|
+
transition: max-width var(--md-sys-sidesheet-motion-duration) var(--md-sys-sidesheet-motion-spatial);
|
|
164
166
|
}
|
|
@@ -65,3 +65,11 @@ The Slider component is aware of the `dir` global attribute that indicates the d
|
|
|
65
65
|
|
|
66
66
|
## Compatibility
|
|
67
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
|
+
```
|