material-inspired-component-library 1.2.2 → 1.3.0
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 +10 -0
- package/components/button/README.md +1 -1
- package/components/button/index.scss +52 -79
- package/components/card/index.scss +28 -29
- package/components/checkbox/index.scss +0 -5
- package/components/dialog/index.scss +11 -7
- package/components/iconbutton/README.md +1 -1
- package/components/iconbutton/index.scss +46 -80
- package/components/list/index.scss +39 -30
- package/components/list/index.ts +10 -9
- package/components/menu/README.md +67 -4
- package/components/menu/index.scss +29 -29
- package/components/menu/index.ts +47 -16
- package/components/navigationrail/README.md +99 -0
- package/components/navigationrail/index.scss +157 -0
- package/components/radio/index.scss +21 -11
- package/components/select/index.scss +5 -11
- package/components/textfield/index.scss +8 -2
- 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/components/menu/index.d.ts +0 -11
- 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/navigationrail.css +1 -0
- package/dist/navigationrail.js +1 -0
- package/dist/radio.css +1 -1
- package/dist/select.css +1 -1
- package/dist/slider.css +1 -1
- package/dist/switch.css +1 -1
- package/dist/textfield.css +1 -1
- package/docs/docs.js +2 -2
- package/docs/index.html +3 -1
- package/docs/menu.html +183 -3
- package/docs/micl.css +1 -1
- package/docs/micl.js +1 -1
- package/docs/navigationrail.html +75 -0
- package/micl.ts +10 -8
- package/package.json +7 -7
- package/styles/statelayer.scss +14 -0
- package/styles.scss +1 -1
- package/webpack.config.js +37 -0
- package/styles/ripple.scss +0 -50
package/README.md
CHANGED
|
@@ -88,6 +88,7 @@ The library currently consists of the following components:
|
|
|
88
88
|
- [x] [Icon button](components/iconbutton/README.md)
|
|
89
89
|
- [x] [List](components/list/README.md)
|
|
90
90
|
- [x] [Menu](components/menu/README.md)
|
|
91
|
+
- [ ] [Navigation rail](components/navigationrail/README.md)
|
|
91
92
|
- [x] [Radio button](components/radio/README.md)
|
|
92
93
|
- [x] [Select](components/select/README.md)
|
|
93
94
|
- [x] [Side sheet](components/sidesheet/README.md)
|
|
@@ -97,10 +98,19 @@ The library currently consists of the following components:
|
|
|
97
98
|
|
|
98
99
|
## Change Log
|
|
99
100
|
|
|
101
|
+
### 1.3.0 (23.08.2025)
|
|
102
|
+
**Features**
|
|
103
|
+
|
|
104
|
+
- **Menu**: Added support for submenus.
|
|
105
|
+
- **Ripple**: The ripple-effect does not use a pseudo-element anymore.
|
|
106
|
+
- **State layer**: Rewrite for simpler styling.
|
|
107
|
+
|
|
100
108
|
### 1.2.0 (17.08.2025)
|
|
101
109
|
**Features**
|
|
110
|
+
|
|
102
111
|
- **List**: Added support for switches inside list items.
|
|
103
112
|
|
|
104
113
|
### 1.1.0 (12.08.2025)
|
|
105
114
|
**Features**
|
|
115
|
+
|
|
106
116
|
- **Text field**: Added support for multi-line text fields.
|
|
@@ -18,7 +18,7 @@ Import the button styles into your project:
|
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
### JavaScript
|
|
21
|
-
This component requires JavaScript for interactive features like the **
|
|
21
|
+
This component requires JavaScript for interactive features like the **toggle logic**:
|
|
22
22
|
|
|
23
23
|
```JavaScript
|
|
24
24
|
import micl from "material-inspired-component-library/dist/micl";
|
|
@@ -21,7 +21,6 @@
|
|
|
21
21
|
|
|
22
22
|
@use '../../styles/elevation';
|
|
23
23
|
@use '../../styles/motion';
|
|
24
|
-
@use '../../styles/ripple';
|
|
25
24
|
@use '../../styles/shapes';
|
|
26
25
|
@use '../../styles/statelayer';
|
|
27
26
|
@use '../../styles/typography';
|
|
@@ -54,11 +53,20 @@ button.micl-button-outlined-xl {
|
|
|
54
53
|
--md-sys-button-motion-effects: #{motion.$md-sys-motion-expressive-fast-spatial};
|
|
55
54
|
--md-sys-button-motion-duration: #{motion.$md-sys-motion-expressive-fast-spatial-duration};
|
|
56
55
|
--md-sys-button-motion-duration-reverse: #{motion.$md-sys-motion-expressive-fast-spatial-duration};
|
|
56
|
+
--miclripple: 1;
|
|
57
57
|
|
|
58
58
|
padding: 0;
|
|
59
59
|
border: none;
|
|
60
|
+
background-image:
|
|
61
|
+
radial-gradient(circle at var(--x, center) var(--y, center), transparent 0%, rgb(from var(--statelayer-color) r g b / var(--statelayer-opacity)) 10%, transparent 10%),
|
|
62
|
+
linear-gradient(rgb(from var(--statelayer-color) r g b / var(--statelayer-opacity)));
|
|
63
|
+
background-repeat: no-repeat;
|
|
64
|
+
background-size: 10000%, 100%;
|
|
60
65
|
cursor: pointer;
|
|
61
|
-
transition:
|
|
66
|
+
transition:
|
|
67
|
+
border-radius var(--md-sys-button-motion-duration) var(--md-sys-button-motion-effects),
|
|
68
|
+
background-size 3000ms,
|
|
69
|
+
--statelayer-opacity var(--md-sys-button-motion-duration) linear;
|
|
62
70
|
|
|
63
71
|
&:disabled {
|
|
64
72
|
background-color: rgb(from var(--md-sys-color-on-surface) r g b / 10%);
|
|
@@ -66,9 +74,15 @@ button.micl-button-outlined-xl {
|
|
|
66
74
|
box-shadow: var(--md-sys-elevation-level0);
|
|
67
75
|
cursor: default;
|
|
68
76
|
}
|
|
69
|
-
&:not(:disabled)
|
|
70
|
-
|
|
71
|
-
|
|
77
|
+
&:not(:disabled) {
|
|
78
|
+
&:focus-visible {
|
|
79
|
+
outline: var(--md-sys-state-focus-indicator-thickness) solid var(--md-sys-color-secondary);
|
|
80
|
+
outline-offset: 3px;
|
|
81
|
+
}
|
|
82
|
+
&:active {
|
|
83
|
+
background-size: 0%, 100%;
|
|
84
|
+
transition: background-size 0ms;
|
|
85
|
+
}
|
|
72
86
|
}
|
|
73
87
|
.micl-button__icon {
|
|
74
88
|
font-variation-settings: 'FILL' 0;
|
|
@@ -105,9 +119,6 @@ button.micl-button-outlined-xs {
|
|
|
105
119
|
}
|
|
106
120
|
}
|
|
107
121
|
&:not(:disabled) {
|
|
108
|
-
--miclripple: 1;
|
|
109
|
-
@include ripple.effect;
|
|
110
|
-
|
|
111
122
|
&:active {
|
|
112
123
|
&.micl-button-elevated-xs {
|
|
113
124
|
border-radius: var(--md-sys-shape-corner-small);
|
|
@@ -157,9 +168,6 @@ button.micl-button-outlined-s {
|
|
|
157
168
|
}
|
|
158
169
|
}
|
|
159
170
|
&:not(:disabled) {
|
|
160
|
-
--miclripple: 1;
|
|
161
|
-
@include ripple.effect;
|
|
162
|
-
|
|
163
171
|
&:active:not(:disabled) {
|
|
164
172
|
&.micl-button-elevated-s {
|
|
165
173
|
border-radius: var(--md-sys-shape-corner-small);
|
|
@@ -203,9 +211,6 @@ button.micl-button-outlined-m {
|
|
|
203
211
|
}
|
|
204
212
|
}
|
|
205
213
|
&:not(:disabled) {
|
|
206
|
-
--miclripple: 1;
|
|
207
|
-
@include ripple.effect;
|
|
208
|
-
|
|
209
214
|
&:active:not(:disabled) {
|
|
210
215
|
border-radius: var(--md-sys-shape-corner-medium);
|
|
211
216
|
}
|
|
@@ -241,9 +246,6 @@ button.micl-button-outlined-l {
|
|
|
241
246
|
}
|
|
242
247
|
}
|
|
243
248
|
&:not(:disabled) {
|
|
244
|
-
--miclripple: 1;
|
|
245
|
-
@include ripple.effect;
|
|
246
|
-
|
|
247
249
|
&:active:not(:disabled) {
|
|
248
250
|
border-radius: var(--md-sys-shape-corner-large);
|
|
249
251
|
}
|
|
@@ -279,9 +281,6 @@ button.micl-button-outlined-xl {
|
|
|
279
281
|
}
|
|
280
282
|
}
|
|
281
283
|
&:not(:disabled) {
|
|
282
|
-
--miclripple: 1;
|
|
283
|
-
@include ripple.effect;
|
|
284
|
-
|
|
285
284
|
&:active:not(:disabled) {
|
|
286
285
|
border-radius: var(--md-sys-shape-corner-large);
|
|
287
286
|
}
|
|
@@ -299,22 +298,24 @@ button.micl-button-text-s,
|
|
|
299
298
|
button.micl-button-text-m,
|
|
300
299
|
button.micl-button-text-l,
|
|
301
300
|
button.micl-button-text-xl {
|
|
301
|
+
--statelayer-color: var(--md-sys-color-primary);
|
|
302
|
+
|
|
302
303
|
background-color: transparent;
|
|
303
304
|
color: var(--md-sys-color-primary);
|
|
304
305
|
|
|
305
306
|
&:not(:disabled) {
|
|
306
307
|
&:hover {
|
|
307
|
-
|
|
308
|
+
--statelayer-opacity: var(--md-sys-state-hover-state-layer-opacity);
|
|
308
309
|
|
|
309
310
|
.micl-button__icon {
|
|
310
311
|
font-variation-settings: 'FILL' 1;
|
|
311
312
|
}
|
|
312
313
|
}
|
|
313
314
|
&:focus-visible {
|
|
314
|
-
|
|
315
|
+
--statelayer-opacity: var(--md-sys-state-focus-state-layer-opacity);
|
|
315
316
|
}
|
|
316
317
|
&:active {
|
|
317
|
-
|
|
318
|
+
--statelayer-opacity: var(--md-sys-state-pressed-state-layer-opacity);
|
|
318
319
|
}
|
|
319
320
|
}
|
|
320
321
|
}
|
|
@@ -324,12 +325,16 @@ button.micl-button-elevated-s,
|
|
|
324
325
|
button.micl-button-elevated-m,
|
|
325
326
|
button.micl-button-elevated-l,
|
|
326
327
|
button.micl-button-elevated-xl {
|
|
328
|
+
--statelayer-color: var(--md-sys-color-primary);
|
|
329
|
+
|
|
327
330
|
background-color: var(--md-sys-color-surface-container-low);
|
|
328
331
|
color: var(--md-sys-color-primary);
|
|
329
332
|
box-shadow: var(--md-sys-elevation-level1);
|
|
330
333
|
|
|
331
334
|
&:not(:disabled) {
|
|
332
335
|
&.micl-button--toggle.micl-button--selected {
|
|
336
|
+
--statelayer-color: var(--md-sys-color-on-primary);
|
|
337
|
+
|
|
333
338
|
background-color: var(--md-sys-color-primary);
|
|
334
339
|
color: var(--md-sys-color-on-primary);
|
|
335
340
|
|
|
@@ -338,28 +343,17 @@ button.micl-button-elevated-xl {
|
|
|
338
343
|
}
|
|
339
344
|
}
|
|
340
345
|
&:hover {
|
|
341
|
-
|
|
346
|
+
--statelayer-opacity: var(--md-sys-state-hover-state-layer-opacity);
|
|
342
347
|
|
|
343
|
-
&.micl-button--toggle.micl-button--selected {
|
|
344
|
-
background-color: color-mix(in srgb, var(--md-sys-color-primary), var(--md-sys-color-on-primary) var(--md-sys-state-hover-state-layer-opacity));
|
|
345
|
-
}
|
|
346
348
|
.micl-button__icon {
|
|
347
349
|
font-variation-settings: 'FILL' 1;
|
|
348
350
|
}
|
|
349
351
|
}
|
|
350
352
|
&:focus-visible {
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
&.micl-button--toggle.micl-button--selected {
|
|
354
|
-
background-color: color-mix(in srgb, var(--md-sys-color-primary), var(--md-sys-color-on-primary) var(--md-sys-state-focus-state-layer-opacity));
|
|
355
|
-
}
|
|
353
|
+
--statelayer-opacity: var(--md-sys-state-focus-state-layer-opacity);
|
|
356
354
|
}
|
|
357
355
|
&:active {
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
&.micl-button--toggle.micl-button--selected {
|
|
361
|
-
background-color: color-mix(in srgb, var(--md-sys-color-primary), var(--md-sys-color-on-primary) var(--md-sys-state-pressed-state-layer-opacity));
|
|
362
|
-
}
|
|
356
|
+
--statelayer-opacity: var(--md-sys-state-pressed-state-layer-opacity);
|
|
363
357
|
}
|
|
364
358
|
}
|
|
365
359
|
}
|
|
@@ -377,6 +371,8 @@ button.micl-button-filled-s,
|
|
|
377
371
|
button.micl-button-filled-m,
|
|
378
372
|
button.micl-button-filled-l,
|
|
379
373
|
button.micl-button-filled-xl {
|
|
374
|
+
--statelayer-color: var(--md-sys-color-on-primary);
|
|
375
|
+
|
|
380
376
|
background-color: var(--md-sys-color-primary);
|
|
381
377
|
color: var(--md-sys-color-on-primary);
|
|
382
378
|
|
|
@@ -387,32 +383,23 @@ button.micl-button-filled-xl {
|
|
|
387
383
|
}
|
|
388
384
|
}
|
|
389
385
|
&.micl-button--toggle:not(.micl-button--selected) {
|
|
386
|
+
--statelayer-color: var(--md-sys-color-on-surface-variant);
|
|
387
|
+
|
|
390
388
|
background-color: var(--md-sys-color-surface-container);
|
|
391
389
|
color: var(--md-sys-color-on-surface-variant);
|
|
392
390
|
}
|
|
393
391
|
&:hover {
|
|
394
|
-
|
|
392
|
+
--statelayer-opacity: var(--md-sys-state-hover-state-layer-opacity);
|
|
395
393
|
|
|
396
|
-
&.micl-button--toggle:not(.micl-button--selected) {
|
|
397
|
-
background-color: color-mix(in srgb, var(--md-sys-color-surface-container), var(--md-sys-color-on-surface-variant) var(--md-sys-state-hover-state-layer-opacity));
|
|
398
|
-
}
|
|
399
394
|
.micl-button__icon {
|
|
400
395
|
font-variation-settings: 'FILL' 1;
|
|
401
396
|
}
|
|
402
397
|
}
|
|
403
398
|
&:focus-visible {
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
&.micl-button--toggle:not(.micl-button--selected) {
|
|
407
|
-
background-color: color-mix(in srgb, var(--md-sys-color-surface-container), var(--md-sys-color-on-surface-variant) var(--md-sys-state-focus-state-layer-opacity));
|
|
408
|
-
}
|
|
399
|
+
--statelayer-opacity: var(--md-sys-state-focus-state-layer-opacity);
|
|
409
400
|
}
|
|
410
401
|
&:active {
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
&.micl-button--toggle:not(.micl-button--selected) {
|
|
414
|
-
background-color: color-mix(in srgb, var(--md-sys-color-surface-container), var(--md-sys-color-on-surface-variant) var(--md-sys-state-pressed-state-layer-opacity));
|
|
415
|
-
}
|
|
402
|
+
--statelayer-opacity: var(--md-sys-state-pressed-state-layer-opacity);
|
|
416
403
|
}
|
|
417
404
|
}
|
|
418
405
|
}
|
|
@@ -422,11 +409,15 @@ button.micl-button-tonal-s,
|
|
|
422
409
|
button.micl-button-tonal-m,
|
|
423
410
|
button.micl-button-tonal-l,
|
|
424
411
|
button.micl-button-tonal-xl {
|
|
412
|
+
--statelayer-color: var(--md-sys-color-on-secondary-container);
|
|
413
|
+
|
|
425
414
|
background-color: var(--md-sys-color-secondary-container);
|
|
426
415
|
color: var(--md-sys-color-on-secondary-container);
|
|
427
416
|
|
|
428
417
|
&:not(:disabled) {
|
|
429
418
|
&.micl-button--toggle.micl-button--selected {
|
|
419
|
+
--statelayer-color: var(--md-sys-color-on-secondary);
|
|
420
|
+
|
|
430
421
|
background-color: var(--md-sys-color-secondary);
|
|
431
422
|
color: var(--md-sys-color-on-secondary);
|
|
432
423
|
|
|
@@ -435,28 +426,17 @@ button.micl-button-tonal-xl {
|
|
|
435
426
|
}
|
|
436
427
|
}
|
|
437
428
|
&:hover {
|
|
438
|
-
|
|
429
|
+
--statelayer-opacity: var(--md-sys-state-hover-state-layer-opacity);
|
|
439
430
|
|
|
440
|
-
&.micl-button--toggle.micl-button--selected {
|
|
441
|
-
background-color: color-mix(in srgb, var(--md-sys-color-secondary), var(--md-sys-color-on-secondary) var(--md-sys-state-hover-state-layer-opacity));
|
|
442
|
-
}
|
|
443
431
|
.micl-button__icon {
|
|
444
432
|
font-variation-settings: 'FILL' 1;
|
|
445
433
|
}
|
|
446
434
|
}
|
|
447
435
|
&:focus-visible {
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
&.micl-button--toggle.micl-button--selected {
|
|
451
|
-
background-color: color-mix(in srgb, var(--md-sys-color-secondary), var(--md-sys-color-on-secondary) var(--md-sys-state-focus-state-layer-opacity));
|
|
452
|
-
}
|
|
436
|
+
--statelayer-opacity: var(--md-sys-state-focus-state-layer-opacity);
|
|
453
437
|
}
|
|
454
438
|
&:active {
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
&.micl-button--toggle.micl-button--selected {
|
|
458
|
-
background-color: color-mix(in srgb, var(--md-sys-color-secondary), var(--md-sys-color-on-secondary) var(--md-sys-state-pressed-state-layer-opacity));
|
|
459
|
-
}
|
|
439
|
+
--statelayer-opacity: var(--md-sys-state-pressed-state-layer-opacity);
|
|
460
440
|
}
|
|
461
441
|
}
|
|
462
442
|
}
|
|
@@ -466,11 +446,15 @@ button.micl-button-outlined-s,
|
|
|
466
446
|
button.micl-button-outlined-m,
|
|
467
447
|
button.micl-button-outlined-l,
|
|
468
448
|
button.micl-button-outlined-xl {
|
|
449
|
+
--statelayer-color: var(--md-sys-color-on-surface-variant);
|
|
450
|
+
|
|
469
451
|
background-color: transparent;
|
|
470
452
|
color: var(--md-sys-color-on-surface-variant);
|
|
471
453
|
|
|
472
454
|
&:not(:disabled) {
|
|
473
455
|
&.micl-button--toggle.micl-button--selected {
|
|
456
|
+
--statelayer-color: var(--md-sys-color-inverse-on-surface);
|
|
457
|
+
|
|
474
458
|
background-color: var(--md-sys-color-inverse-surface);
|
|
475
459
|
color: var(--md-sys-color-inverse-on-surface);
|
|
476
460
|
|
|
@@ -479,28 +463,17 @@ button.micl-button-outlined-xl {
|
|
|
479
463
|
}
|
|
480
464
|
}
|
|
481
465
|
&:hover {
|
|
482
|
-
|
|
466
|
+
--statelayer-opacity: var(--md-sys-state-hover-state-layer-opacity);
|
|
483
467
|
|
|
484
|
-
&.micl-button--toggle.micl-button--selected {
|
|
485
|
-
background-color: color-mix(in srgb, var(--md-sys-color-inverse-surface), var(--md-sys-color-inverse-on-surface) var(--md-sys-state-hover-state-layer-opacity));
|
|
486
|
-
}
|
|
487
468
|
.micl-button__icon {
|
|
488
469
|
font-variation-settings: 'FILL' 1;
|
|
489
470
|
}
|
|
490
471
|
}
|
|
491
472
|
&:focus-visible {
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
&.micl-button--toggle.micl-button--selected {
|
|
495
|
-
background-color: color-mix(in srgb, var(--md-sys-color-inverse-surface), var(--md-sys-color-inverse-on-surface) var(--md-sys-state-focus-state-layer-opacity));
|
|
496
|
-
}
|
|
473
|
+
--statelayer-opacity: var(--md-sys-state-focus-state-layer-opacity);
|
|
497
474
|
}
|
|
498
475
|
&:active {
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
&.micl-button--toggle.micl-button--selected {
|
|
502
|
-
background-color: color-mix(in srgb, var(--md-sys-color-inverse-surface), var(--md-sys-color-inverse-on-surface) var(--md-sys-state-pressed-state-layer-opacity));
|
|
503
|
-
}
|
|
476
|
+
--statelayer-opacity: var(--md-sys-state-pressed-state-layer-opacity);
|
|
504
477
|
}
|
|
505
478
|
}
|
|
506
479
|
}
|
|
@@ -21,7 +21,6 @@
|
|
|
21
21
|
|
|
22
22
|
@use '../../styles/elevation';
|
|
23
23
|
@use '../../styles/motion';
|
|
24
|
-
@use '../../styles/ripple';
|
|
25
24
|
@use '../../styles/shapes';
|
|
26
25
|
@use '../../styles/statelayer';
|
|
27
26
|
@use '../../styles/typography';
|
|
@@ -45,18 +44,45 @@
|
|
|
45
44
|
|
|
46
45
|
&[tabindex='0']:not(.micl-card--disabled) {
|
|
47
46
|
--miclripple: 1;
|
|
47
|
+
--statelayer-color: var(--md-sys-color-on-surface);
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
background-image:
|
|
50
|
+
radial-gradient(circle at var(--x, center) var(--y, center), transparent 0%, rgb(from var(--statelayer-color) r g b / var(--statelayer-opacity)) 10%, transparent 10%),
|
|
51
|
+
linear-gradient(rgb(from var(--statelayer-color) r g b / var(--statelayer-opacity)));
|
|
52
|
+
background-repeat: no-repeat;
|
|
53
|
+
background-size: 10000%, 100%;
|
|
54
|
+
transition:
|
|
55
|
+
background-size 3000ms,
|
|
56
|
+
--statelayer-opacity var(--md-sys-card-motion-duration) linear;
|
|
50
57
|
|
|
51
58
|
&:hover {
|
|
59
|
+
--statelayer-opacity: var(--md-sys-state-hover-state-layer-opacity);
|
|
60
|
+
|
|
52
61
|
box-shadow: var(--md-sys-elevation-level1);
|
|
53
62
|
cursor: pointer;
|
|
54
63
|
}
|
|
55
64
|
&:focus-visible {
|
|
65
|
+
--statelayer-opacity: var(--md-sys-state-focus-state-layer-opacity);
|
|
66
|
+
|
|
56
67
|
outline: var(--md-sys-state-focus-indicator-thickness) solid var(--md-sys-color-secondary);
|
|
57
68
|
outline-offset: var(--md-sys-state-focus-indicator-outer-offset);
|
|
58
69
|
box-shadow: var(--md-sys-elevation-level1);
|
|
59
70
|
}
|
|
71
|
+
&:active {
|
|
72
|
+
--statelayer-opacity: var(--md-sys-state-pressed-state-layer-opacity);
|
|
73
|
+
|
|
74
|
+
background-size: 0%, 100%;
|
|
75
|
+
transition: background-size 0ms;
|
|
76
|
+
}
|
|
77
|
+
&.micl-card--dragging {
|
|
78
|
+
--statelayer-opacity: var(--md-sys-state-dragged-state-layer-opacity);
|
|
79
|
+
|
|
80
|
+
box-shadow: var(--md-sys-elevation-level3);
|
|
81
|
+
cursor: grabbing;
|
|
82
|
+
}
|
|
83
|
+
.micl-card__content {
|
|
84
|
+
background-color: transparent;
|
|
85
|
+
}
|
|
60
86
|
}
|
|
61
87
|
&:not([tabindex='0']):not(.micl-card--disabled):has(> summary:focus-visible) {
|
|
62
88
|
outline: var(--md-sys-state-focus-indicator-thickness) solid var(--md-sys-color-secondary);
|
|
@@ -86,20 +112,13 @@
|
|
|
86
112
|
|
|
87
113
|
&[tabindex='0']:not(.micl-card--disabled) {
|
|
88
114
|
&:hover {
|
|
89
|
-
background-color: color-mix(in srgb, var(--md-sys-color-surface-container-low), var(--md-sys-color-on-surface) var(--md-sys-state-hover-state-layer-opacity));
|
|
90
115
|
box-shadow: var(--md-sys-elevation-level2);
|
|
91
116
|
}
|
|
92
|
-
&:focus-visible {
|
|
93
|
-
background-color: color-mix(in srgb, var(--md-sys-color-surface-container-low), var(--md-sys-color-on-surface) var(--md-sys-state-focus-state-layer-opacity));
|
|
94
|
-
}
|
|
95
117
|
&:active {
|
|
96
|
-
background-color: color-mix(in srgb, var(--md-sys-color-surface-container-low), var(--md-sys-color-on-surface) var(--md-sys-state-pressed-state-layer-opacity));
|
|
97
118
|
box-shadow: var(--md-sys-elevation-level1);
|
|
98
119
|
}
|
|
99
120
|
&.micl-card--dragging {
|
|
100
|
-
background-color: color-mix(in srgb, var(--md-sys-color-surface-container-low), var(--md-sys-color-on-surface) var(--md-sys-state-dragged-state-layer-opacity));
|
|
101
121
|
box-shadow: var(--md-sys-elevation-level4);
|
|
102
|
-
cursor: grabbing;
|
|
103
122
|
}
|
|
104
123
|
}
|
|
105
124
|
}
|
|
@@ -108,22 +127,12 @@
|
|
|
108
127
|
box-shadow: var(--md-sys-elevation-level0);
|
|
109
128
|
|
|
110
129
|
&[tabindex='0']:not(.micl-card--disabled) {
|
|
111
|
-
&:hover {
|
|
112
|
-
background-color: color-mix(in srgb, var(--md-sys-color-surface-container-highest), var(--md-sys-color-on-surface) var(--md-sys-state-hover-state-layer-opacity));
|
|
113
|
-
}
|
|
114
130
|
&:focus-visible {
|
|
115
|
-
background-color: color-mix(in srgb, var(--md-sys-color-surface-container-highest), var(--md-sys-color-on-surface) var(--md-sys-state-focus-state-layer-opacity));
|
|
116
131
|
box-shadow: var(--md-sys-elevation-level0);
|
|
117
132
|
}
|
|
118
133
|
&:active {
|
|
119
|
-
background-color: color-mix(in srgb, var(--md-sys-color-surface-container-highest), var(--md-sys-color-on-surface) var(--md-sys-state-pressed-state-layer-opacity));
|
|
120
134
|
box-shadow: var(--md-sys-elevation-level0);
|
|
121
135
|
}
|
|
122
|
-
&.micl-card--dragging {
|
|
123
|
-
background-color: color-mix(in srgb, var(--md-sys-color-surface-container-highest), var(--md-sys-color-on-surface) var(--md-sys-state-dragged-state-layer-opacity));
|
|
124
|
-
box-shadow: var(--md-sys-elevation-level3);
|
|
125
|
-
cursor: grabbing;
|
|
126
|
-
}
|
|
127
136
|
}
|
|
128
137
|
}
|
|
129
138
|
.micl-card-outlined {
|
|
@@ -132,24 +141,14 @@
|
|
|
132
141
|
border: 1px solid var(--md-sys-color-outline-variant);
|
|
133
142
|
|
|
134
143
|
&[tabindex='0']:not(.micl-card--disabled) {
|
|
135
|
-
&:hover {
|
|
136
|
-
background-color: color-mix(in srgb, var(--md-sys-color-surface), var(--md-sys-color-on-surface) var(--md-sys-state-hover-state-layer-opacity));
|
|
137
|
-
}
|
|
138
144
|
&:focus-visible {
|
|
139
145
|
border-color: var(--md-sys-color-on-surface);
|
|
140
|
-
background-color: color-mix(in srgb, var(--md-sys-color-surface), var(--md-sys-color-on-surface) var(--md-sys-state-focus-state-layer-opacity));
|
|
141
146
|
box-shadow: var(--md-sys-elevation-level0);
|
|
142
147
|
}
|
|
143
148
|
&:active {
|
|
144
149
|
border-color: var(--md-sys-color-outline-variant);
|
|
145
|
-
background-color: color-mix(in srgb, var(--md-sys-color-surface), var(--md-sys-color-on-surface) var(--md-sys-state-pressed-state-layer-opacity));
|
|
146
150
|
box-shadow: var(--md-sys-elevation-level0);
|
|
147
151
|
}
|
|
148
|
-
&.micl-card--dragging {
|
|
149
|
-
background-color: color-mix(in srgb, var(--md-sys-color-surface), var(--md-sys-color-on-surface) var(--md-sys-state-dragged-state-layer-opacity));
|
|
150
|
-
box-shadow: var(--md-sys-elevation-level3);
|
|
151
|
-
cursor: grabbing;
|
|
152
|
-
}
|
|
153
152
|
}
|
|
154
153
|
}
|
|
155
154
|
|
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
// SOFTWARE.
|
|
21
21
|
|
|
22
22
|
@use '../../styles/motion';
|
|
23
|
-
@use '../../styles/ripple';
|
|
24
23
|
@use '../../styles/statelayer';
|
|
25
24
|
@use '../../styles/typography';
|
|
26
25
|
|
|
@@ -54,7 +53,6 @@
|
|
|
54
53
|
|
|
55
54
|
input[type=checkbox].micl-checkbox {
|
|
56
55
|
--md-sys-checkbox-motion-duration: #{motion.$md-sys-motion-expressive-slow-effects-duration};
|
|
57
|
-
--md-sys-ripple-background-color: var(--md-sys-color-primary);
|
|
58
56
|
--checkbox-container-color: transparent;
|
|
59
57
|
--checkbox-container-border-color: var(--md-sys-color-on-surface-variant);
|
|
60
58
|
|
|
@@ -126,7 +124,6 @@ input[type=checkbox].micl-checkbox {
|
|
|
126
124
|
--checkbox-container-border-color var(--md-sys-checkbox-motion-duration);
|
|
127
125
|
|
|
128
126
|
&.micl-checkbox--error {
|
|
129
|
-
--md-sys-ripple-background-color: var(--md-sys-color-error);
|
|
130
127
|
--checkbox-container-border-color: var(--md-sys-color-error);
|
|
131
128
|
}
|
|
132
129
|
&::after {
|
|
@@ -178,8 +175,6 @@ input[type=checkbox].micl-checkbox {
|
|
|
178
175
|
&:not(:disabled) {
|
|
179
176
|
--miclripple: 1;
|
|
180
177
|
|
|
181
|
-
@include ripple.effect;
|
|
182
|
-
|
|
183
178
|
cursor: pointer;
|
|
184
179
|
|
|
185
180
|
&:hover {
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
|
|
37
37
|
dialog.micl-dialog,
|
|
38
38
|
dialog.micl-dialog-fullscreen {
|
|
39
|
+
--statelayer-color: var(--md-sys-color-primary);
|
|
39
40
|
--md-sys-dialog-motion-spatial: #{motion.$md-sys-motion-expressive-fast-spatial};
|
|
40
41
|
--md-sys-dialog-motion-duration: #{motion.$md-sys-motion-expressive-fast-spatial-duration};
|
|
41
42
|
--md-sys-dialog-motion-duration-reverse: #{motion.$md-sys-motion-expressive-fast-spatial-duration};
|
|
@@ -54,6 +55,8 @@ dialog.micl-dialog-fullscreen {
|
|
|
54
55
|
border: none;
|
|
55
56
|
border-radius: var(--md-sys-shape-corner-extra-large);
|
|
56
57
|
background-color: var(--md-sys-color-surface-container-high);
|
|
58
|
+
background-image: linear-gradient(rgb(from var(--statelayer-color) r g b / var(--statelayer-opacity)));
|
|
59
|
+
background-repeat: no-repeat;
|
|
57
60
|
box-shadow: var(--md-sys-elevation-level3);
|
|
58
61
|
opacity: 0;
|
|
59
62
|
overflow: hidden;
|
|
@@ -66,7 +69,8 @@ dialog.micl-dialog-fullscreen {
|
|
|
66
69
|
transform var(--md-sys-dialog-motion-duration-reverse) linear,
|
|
67
70
|
opacity var(--md-sys-dialog-motion-duration-reverse) motion.$md-sys-motion-easing-emphasized-decelerate,
|
|
68
71
|
overlay var(--md-sys-dialog-motion-duration-reverse) linear allow-discrete,
|
|
69
|
-
display var(--md-sys-dialog-motion-duration-reverse) linear allow-discrete
|
|
72
|
+
display var(--md-sys-dialog-motion-duration-reverse) linear allow-discrete,
|
|
73
|
+
--statelayer-opacity var(--md-sys-dialog-motion-duration) linear;
|
|
70
74
|
|
|
71
75
|
@starting-style {
|
|
72
76
|
height: fit-content;
|
|
@@ -133,9 +137,9 @@ dialog.micl-dialog-fullscreen {
|
|
|
133
137
|
background-color: rgba(0, 0, 0, 0);
|
|
134
138
|
}
|
|
135
139
|
}
|
|
136
|
-
&:hover {
|
|
137
|
-
|
|
138
|
-
}
|
|
140
|
+
// &:hover {
|
|
141
|
+
// --statelayer-opacity: var(--md-sys-state-hover-state-layer-opacity);
|
|
142
|
+
// }
|
|
139
143
|
|
|
140
144
|
.micl-dialog__headline {
|
|
141
145
|
display: flex;
|
|
@@ -213,9 +217,9 @@ dialog.micl-dialog-fullscreen {
|
|
|
213
217
|
box-shadow: var(--md-sys-elevation-level0);
|
|
214
218
|
timeline-scope: --headlineTimeline;
|
|
215
219
|
|
|
216
|
-
&:hover {
|
|
217
|
-
|
|
218
|
-
}
|
|
220
|
+
// &:hover {
|
|
221
|
+
// --statelayer-opacity: var(--md-sys-state-hover-state-layer-opacity);
|
|
222
|
+
// }
|
|
219
223
|
.micl-dialog__headline {
|
|
220
224
|
height: 56px;
|
|
221
225
|
flex-direction: row;
|
|
@@ -20,7 +20,7 @@ Import the icon button styles into your project:
|
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
### JavaScript
|
|
23
|
-
This component requires JavaScript for interactive features like the **
|
|
23
|
+
This component requires JavaScript for interactive features like the **toggle logic**:
|
|
24
24
|
|
|
25
25
|
```JavaScript
|
|
26
26
|
import micl from "material-inspired-component-library/dist/micl";
|