@itwin/itwinui-css 0.45.0 → 0.48.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/css/all.css +699 -710
- package/css/badge.css +4 -2
- package/css/button.css +31 -96
- package/css/color-picker.css +26 -21
- package/css/expandable-block.css +12 -0
- package/css/inputs.css +498 -503
- package/css/popover.css +3 -3
- package/css/side-navigation.css +2 -4
- package/css/skip-to-content.css +51 -0
- package/css/table.css +10 -49
- package/css/tile.css +42 -15
- package/css/tree.css +21 -15
- package/package.json +2 -2
- package/scss/badge/badge.scss +5 -2
- package/scss/button/button-group.scss +19 -41
- package/scss/button/button.scss +19 -1
- package/scss/button/classes.scss +0 -1
- package/scss/button/default.scss +1 -0
- package/scss/classes.scss +1 -0
- package/scss/color-picker/color-picker.scss +57 -52
- package/scss/expandable-block/block.scss +23 -0
- package/scss/index.scss +1 -0
- package/scss/inputs/checkbox-radio.scss +17 -136
- package/scss/inputs/checkbox.scss +77 -43
- package/scss/inputs/classes.scss +15 -9
- package/scss/inputs/index.scss +1 -0
- package/scss/inputs/input-with-icon.scss +36 -0
- package/scss/inputs/input.scss +1 -0
- package/scss/inputs/labeled-inputs.scss +49 -14
- package/scss/inputs/radio.scss +9 -3
- package/scss/inputs/select.scss +44 -93
- package/scss/popover/popover.scss +7 -6
- package/scss/side-navigation/side-navigation.scss +3 -6
- package/scss/skip-to-content/classes.scss +7 -0
- package/scss/skip-to-content/index.scss +3 -0
- package/scss/skip-to-content/skip-to-content.scss +37 -0
- package/scss/style/mixins.scss +29 -4
- package/scss/style/variables.scss +1 -0
- package/scss/table/paginator.scss +5 -10
- package/scss/tile/classes.scss +4 -0
- package/scss/tile/tile.scss +17 -16
- package/scss/tree/classes.scss +4 -0
- package/scss/tree/tree.scss +17 -4
package/css/popover.css
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
5
|
.iui-popover{ }
|
|
6
|
-
.iui-popover[data-reference-hidden]{
|
|
7
|
-
visibility:hidden;
|
|
8
|
-
pointer-events:none; }
|
|
9
6
|
.iui-popover.tippy-box{
|
|
10
7
|
all:revert; }
|
|
8
|
+
.iui-popover.tippy-box[data-reference-hidden]{
|
|
9
|
+
visibility:visible;
|
|
10
|
+
pointer-events:auto; }
|
|
11
11
|
.iui-popover .tippy-content{
|
|
12
12
|
all:revert; }
|
package/css/side-navigation.css
CHANGED
|
@@ -55,7 +55,8 @@
|
|
|
55
55
|
border-left:none;
|
|
56
56
|
border-right:none;
|
|
57
57
|
overflow:hidden;
|
|
58
|
-
justify-content:flex-start;
|
|
58
|
+
justify-content:flex-start;
|
|
59
|
+
--_iui-button-active-stripe-inset:0 calc(100% - 2px) 0 0; }
|
|
59
60
|
.iui-side-navigation .iui-sidenav-button:not(.iui-expand){
|
|
60
61
|
height:55px; }
|
|
61
62
|
@supports (padding: max(0px)){
|
|
@@ -75,9 +76,6 @@
|
|
|
75
76
|
.iui-side-navigation .iui-sidenav-button.iui-submenu-open .iui-button-icon{
|
|
76
77
|
fill:#008BE1;
|
|
77
78
|
fill:var(--iui-color-foreground-primary); }
|
|
78
|
-
.iui-side-navigation .iui-sidenav-button.iui-active{
|
|
79
|
-
box-shadow:inset 2px 0 0 0 #008BE1;
|
|
80
|
-
box-shadow:inset 2px 0 0 0 var(--iui-icons-color-primary); }
|
|
81
79
|
.iui-side-navigation .iui-sidenav-button[disabled], .iui-side-navigation .iui-sidenav-button:disabled{
|
|
82
80
|
background-color:#F8F9FB;
|
|
83
81
|
background-color:var(--iui-color-background-2); }
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
.iui-skip-to-content-link{
|
|
6
|
+
background-color:rgba(0, 0, 0, 0.8);
|
|
7
|
+
background-color:rgba(0, 0, 0, var(--iui-opacity-2));
|
|
8
|
+
color:#FFF;
|
|
9
|
+
color:var(--iui-color-foreground-accessory);
|
|
10
|
+
border-radius:9999px;
|
|
11
|
+
text-decoration:none;
|
|
12
|
+
-webkit-user-select:none;
|
|
13
|
+
-moz-user-select:none;
|
|
14
|
+
-ms-user-select:none;
|
|
15
|
+
user-select:none;
|
|
16
|
+
padding:8.25px 16px;
|
|
17
|
+
position:fixed;
|
|
18
|
+
text-align:center;
|
|
19
|
+
left:50%;
|
|
20
|
+
top:22px;
|
|
21
|
+
transform:translateX(-50%) translateY(-170%);
|
|
22
|
+
transition:background-color 0.2s ease-in-out; }
|
|
23
|
+
@supports ((-webkit-backdrop-filter: blur(5px)) or (backdrop-filter: blur(5px))){
|
|
24
|
+
.iui-skip-to-content-link{
|
|
25
|
+
background-color:rgba(0, 0, 0, var(--iui-opacity-3));
|
|
26
|
+
-webkit-backdrop-filter:blur(5px);
|
|
27
|
+
backdrop-filter:blur(5px); } }
|
|
28
|
+
.iui-skip-to-content-link:focus-visible{
|
|
29
|
+
outline:2px solid var(--iui-color-foreground-primary);
|
|
30
|
+
outline-offset:2px; }
|
|
31
|
+
@supports not selector(*:focus-visible){
|
|
32
|
+
.iui-skip-to-content-link:focus{
|
|
33
|
+
outline:2px solid var(--iui-color-foreground-primary);
|
|
34
|
+
outline-offset:2px; } }
|
|
35
|
+
@media (prefers-reduced-motion: no-preference){
|
|
36
|
+
.iui-skip-to-content-link{
|
|
37
|
+
transition:background-color 0.2s ease-in-out, transform 0.8s ease-in-out, box-shadow 0.2s ease-in-out; } }
|
|
38
|
+
.iui-skip-to-content-link:hover{
|
|
39
|
+
background-color:black;
|
|
40
|
+
background-color:rgba(0, 0, 0, var(--iui-opacity-1)); }
|
|
41
|
+
@supports ((-webkit-backdrop-filter: blur(5px)) or (backdrop-filter: blur(5px))){
|
|
42
|
+
.iui-skip-to-content-link:hover{
|
|
43
|
+
background-color:rgba(0, 0, 0, var(--iui-opacity-2));
|
|
44
|
+
-webkit-backdrop-filter:blur(5px);
|
|
45
|
+
backdrop-filter:blur(5px); } }
|
|
46
|
+
.iui-skip-to-content-link:focus{
|
|
47
|
+
transform:translateX(-50%) translateY(0);
|
|
48
|
+
box-shadow:0 6px 30px rgba(0, 0, 0, 0.25); }
|
|
49
|
+
@media (prefers-reduced-motion: no-preference){
|
|
50
|
+
.iui-skip-to-content-link:focus{
|
|
51
|
+
transition:transform 0.2s ease-in-out; } }
|
package/css/table.css
CHANGED
|
@@ -398,56 +398,10 @@
|
|
|
398
398
|
.iui-paginator-pages-group{
|
|
399
399
|
display:inline-flex;
|
|
400
400
|
align-items:center;
|
|
401
|
-
isolation:isolate;
|
|
402
401
|
margin:0 8px; }
|
|
403
|
-
.iui-paginator-pages-group > *{
|
|
404
|
-
display:flex; }
|
|
405
|
-
.iui-paginator-pages-group > * input, .iui-paginator-pages-group > * button{
|
|
406
|
-
position:relative;
|
|
407
|
-
transition-duration:0ms; }
|
|
408
|
-
.iui-paginator-pages-group > * input:hover, .iui-paginator-pages-group > * button:hover{
|
|
409
|
-
z-index:1; }
|
|
410
|
-
.iui-paginator-pages-group > * input:focus, .iui-paginator-pages-group > * button:focus{
|
|
411
|
-
z-index:2; }
|
|
412
|
-
.iui-paginator-pages-group > * input:focus:where(:not(:focus-visible):not(:hover)), .iui-paginator-pages-group > * button:focus:where(:not(:focus-visible):not(:hover)){
|
|
413
|
-
z-index:revert; }
|
|
414
|
-
.iui-paginator-pages-group > * input:disabled, .iui-paginator-pages-group > * button:disabled{
|
|
415
|
-
z-index:-1; }
|
|
416
|
-
.iui-paginator-pages-group > * input:hover, .iui-paginator-pages-group > * input:focus, .iui-paginator-pages-group > * button:hover, .iui-paginator-pages-group > * button:focus{
|
|
417
|
-
transition-duration:0.2s; }
|
|
418
|
-
.iui-paginator-pages-group > * input.iui-active::after, .iui-paginator-pages-group > * button.iui-active::after{
|
|
419
|
-
content:'';
|
|
420
|
-
position:absolute;
|
|
421
|
-
height:2px;
|
|
422
|
-
opacity:1;
|
|
423
|
-
top:2px;
|
|
424
|
-
left:2px;
|
|
425
|
-
width:calc(100% - 4px);
|
|
426
|
-
background-color:#008BE1;
|
|
427
|
-
background-color:var(--iui-color-foreground-primary); }
|
|
428
|
-
.iui-paginator-pages-group > * input.iui-active:disabled::after, .iui-paginator-pages-group > * button.iui-active:disabled::after{
|
|
429
|
-
background-color:rgba(0, 0, 0, 0.2);
|
|
430
|
-
background-color:rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-5)); }
|
|
431
|
-
.iui-paginator-pages-group > * input:not(.iui-borderless), .iui-paginator-pages-group > * button:not(.iui-borderless){
|
|
432
|
-
border-radius:0; }
|
|
433
|
-
.iui-paginator-pages-group > *:first-child input, .iui-paginator-pages-group > *:first-child button:not(.iui-borderless){
|
|
434
|
-
border-top-left-radius:3px;
|
|
435
|
-
border-bottom-left-radius:3px; }
|
|
436
|
-
.iui-paginator-pages-group > *:last-child input, .iui-paginator-pages-group > *:last-child button:not(.iui-borderless){
|
|
437
|
-
border-top-right-radius:3px;
|
|
438
|
-
border-bottom-right-radius:3px; }
|
|
439
|
-
.iui-paginator-pages-group > * + *{
|
|
440
|
-
margin-left:-1px; }
|
|
441
|
-
.iui-paginator-pages-group > *:not(:first-child) .iui-default:disabled{
|
|
442
|
-
border-left-color:#DCE0E3;
|
|
443
|
-
border-left-color:var(--iui-color-background-4); }
|
|
444
|
-
.iui-paginator-pages-group > * + *{
|
|
445
|
-
margin-left:0; }
|
|
446
|
-
.iui-paginator-pages-group button.iui-active::after{
|
|
447
|
-
top:auto;
|
|
448
|
-
bottom:2px; }
|
|
449
402
|
|
|
450
403
|
.iui-paginator-page-button{
|
|
404
|
+
--_iui-button-active-stripe-inset:initial;
|
|
451
405
|
margin:0;
|
|
452
406
|
padding:0;
|
|
453
407
|
border:none;
|
|
@@ -461,7 +415,6 @@
|
|
|
461
415
|
box-sizing:border-box;
|
|
462
416
|
border-radius:3px;
|
|
463
417
|
line-height:22px;
|
|
464
|
-
outline:none;
|
|
465
418
|
box-shadow:none;
|
|
466
419
|
font-size:14px;
|
|
467
420
|
font-weight:400;
|
|
@@ -480,7 +433,8 @@
|
|
|
480
433
|
padding:0 8px;
|
|
481
434
|
height:38px;
|
|
482
435
|
gap:8px;
|
|
483
|
-
width:38px;
|
|
436
|
+
width:38px;
|
|
437
|
+
--_iui-button-active-stripe-inset:calc(100% - 4px) 2px 2px; }
|
|
484
438
|
@media (prefers-reduced-motion: no-preference){
|
|
485
439
|
.iui-paginator-page-button{
|
|
486
440
|
transition:color 0.2s ease-out, background-color 0.2s ease-out, border-color 0.2s ease-out; } }
|
|
@@ -503,6 +457,13 @@
|
|
|
503
457
|
background:var(--iui-color-background-disabled);
|
|
504
458
|
border-color:var(--iui-color-background-disabled);
|
|
505
459
|
color:rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-5)); }
|
|
460
|
+
.iui-paginator-page-button.iui-active::after{
|
|
461
|
+
content:'';
|
|
462
|
+
position:absolute;
|
|
463
|
+
inset:var(--_iui-button-active-stripe-inset);
|
|
464
|
+
background-color:var(--iui-color-foreground-primary); }
|
|
465
|
+
.iui-paginator-page-button.iui-active[disabled]::after, .iui-paginator-page-button.iui-active:disabled::after{
|
|
466
|
+
background-color:rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-5)); }
|
|
506
467
|
.iui-paginator-page-button > .iui-button-icon:only-child{
|
|
507
468
|
margin-left:3px;
|
|
508
469
|
margin-right:3px; }
|
package/css/tile.css
CHANGED
|
@@ -17,10 +17,26 @@
|
|
|
17
17
|
color:rgba(0, 0, 0, 0.8);
|
|
18
18
|
background-color:var(--iui-color-background-1);
|
|
19
19
|
color:var(--iui-text-color); }
|
|
20
|
+
.iui-tile:focus-visible{
|
|
21
|
+
outline:2px solid var(--iui-color-foreground-primary);
|
|
22
|
+
outline-offset:2px; }
|
|
23
|
+
@supports not selector(*:focus-visible){
|
|
24
|
+
.iui-tile:focus{
|
|
25
|
+
outline:2px solid var(--iui-color-foreground-primary);
|
|
26
|
+
outline-offset:2px; } }
|
|
27
|
+
.iui-tile:hover .iui-tile-more-options, .iui-tile:focus-within .iui-tile-more-options{
|
|
28
|
+
-webkit-clip-path:revert;
|
|
29
|
+
clip-path:revert;
|
|
30
|
+
overflow:visible;
|
|
31
|
+
position:static;
|
|
32
|
+
white-space:normal;
|
|
33
|
+
height:auto;
|
|
34
|
+
width:auto;
|
|
35
|
+
padding:0;
|
|
36
|
+
margin:0;
|
|
37
|
+
position:absolute; }
|
|
20
38
|
.iui-tile:hover .iui-tile-metadata:not(:last-child), .iui-tile:focus-within .iui-tile-metadata:not(:last-child){
|
|
21
39
|
width:calc(100% - 32px); }
|
|
22
|
-
.iui-tile:hover .iui-tile-more-options, .iui-tile:focus-within .iui-tile-more-options{
|
|
23
|
-
visibility:visible; }
|
|
24
40
|
.iui-tile:hover .iui-tile-thumbnail-picture, .iui-tile:focus-within .iui-tile-thumbnail-picture{
|
|
25
41
|
transform:translateZ(0) scale(1.1); }
|
|
26
42
|
.iui-tile.iui-new .iui-tile-name,
|
|
@@ -31,6 +47,13 @@
|
|
|
31
47
|
background:linear-gradient(rgba(0, 139, 225, 0.1), rgba(0, 139, 225, 0.1)), linear-gradient(#FFF, #FFF);
|
|
32
48
|
outline:solid 2px var(--iui-color-foreground-primary);
|
|
33
49
|
background:linear-gradient(rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6)), rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6))), linear-gradient(var(--iui-color-background-1), var(--iui-color-background-1)); }
|
|
50
|
+
.iui-tile.iui-selected:focus-visible{
|
|
51
|
+
outline:4px solid var(--iui-color-foreground-primary);
|
|
52
|
+
outline-offset:0; }
|
|
53
|
+
@supports not selector(*:focus-visible){
|
|
54
|
+
.iui-tile.iui-selected:focus{
|
|
55
|
+
outline:4px solid var(--iui-color-foreground-primary);
|
|
56
|
+
outline-offset:0; } }
|
|
34
57
|
.iui-tile.iui-selected .iui-tile-thumbnail-picture{
|
|
35
58
|
transform:translateZ(0) scale(1.1); }
|
|
36
59
|
.iui-tile.iui-folder{
|
|
@@ -242,11 +265,9 @@
|
|
|
242
265
|
@supports ((-webkit-backdrop-filter: blur(5px)) or (backdrop-filter: blur(5px))){
|
|
243
266
|
.iui-tile-thumbnail-picture ~ .iui-tile-thumbnail-type-indicator,
|
|
244
267
|
.iui-tile-thumbnail-picture ~ .iui-tile-thumbnail-quick-action{
|
|
245
|
-
background-color:rgba(0, 0, 0, 0.2);
|
|
246
|
-
-webkit-backdrop-filter:blur(5px);
|
|
247
|
-
backdrop-filter:blur(5px);
|
|
248
268
|
background-color:rgba(0, 0, 0, var(--iui-opacity-5));
|
|
249
|
-
backdrop-filter:blur(5px);
|
|
269
|
+
-webkit-backdrop-filter:blur(5px);
|
|
270
|
+
backdrop-filter:blur(5px); } }
|
|
250
271
|
.iui-tile-thumbnail-picture ~ .iui-tile-thumbnail-type-indicator > .iui-button-icon,
|
|
251
272
|
.iui-tile-thumbnail-picture ~ .iui-tile-thumbnail-quick-action > .iui-button-icon{
|
|
252
273
|
fill:#FFF;
|
|
@@ -367,13 +388,19 @@
|
|
|
367
388
|
white-space:nowrap;
|
|
368
389
|
overflow:hidden;
|
|
369
390
|
text-overflow:ellipsis; }
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
391
|
+
|
|
392
|
+
.iui-tile-more-options{
|
|
393
|
+
position:absolute;
|
|
394
|
+
bottom:5.5px;
|
|
395
|
+
right:8px; }
|
|
396
|
+
.iui-tile-more-options:not(.iui-visible){
|
|
397
|
+
-webkit-clip-path:inset(50%);
|
|
398
|
+
clip-path:inset(50%);
|
|
399
|
+
overflow:hidden;
|
|
374
400
|
position:absolute;
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
401
|
+
white-space:nowrap;
|
|
402
|
+
height:1px;
|
|
403
|
+
width:1px;
|
|
404
|
+
padding:0;
|
|
405
|
+
margin:-1px;
|
|
406
|
+
border-width:0; }
|
package/css/tree.css
CHANGED
|
@@ -16,10 +16,30 @@
|
|
|
16
16
|
vertical-align:baseline;
|
|
17
17
|
list-style:none; }
|
|
18
18
|
|
|
19
|
+
.iui-tree-item:focus-visible{
|
|
20
|
+
outline:none; }
|
|
21
|
+
.iui-tree-item:focus-visible > .iui-tree-node{
|
|
22
|
+
outline:1px solid var(--iui-color-foreground-primary);
|
|
23
|
+
outline-offset:-1px; }
|
|
24
|
+
.iui-tree-item:focus-visible > .iui-tree-node.iui-active{
|
|
25
|
+
outline:2px solid var(--iui-color-foreground-primary);
|
|
26
|
+
outline-offset:-2px; }
|
|
27
|
+
|
|
28
|
+
@supports not selector(*:focus-visible){
|
|
29
|
+
.iui-tree-item:focus{
|
|
30
|
+
outline:none; }
|
|
31
|
+
.iui-tree-item:focus > .iui-tree-node{
|
|
32
|
+
outline:1px solid var(--iui-color-foreground-primary);
|
|
33
|
+
outline-offset:-1px; }
|
|
34
|
+
.iui-tree-item:focus > .iui-tree-node.iui-active{
|
|
35
|
+
outline:2px solid var(--iui-color-foreground-primary);
|
|
36
|
+
outline-offset:-2px; } }
|
|
37
|
+
|
|
19
38
|
.iui-tree-node{
|
|
20
39
|
display:flex;
|
|
21
40
|
cursor:pointer;
|
|
22
|
-
padding:0 8px;
|
|
41
|
+
padding:0 8px;
|
|
42
|
+
align-items:center; }
|
|
23
43
|
.iui-tree-node-checkbox{
|
|
24
44
|
margin-right:8px; }
|
|
25
45
|
.iui-tree-node-content{
|
|
@@ -72,13 +92,6 @@
|
|
|
72
92
|
font-size:12px;
|
|
73
93
|
color:rgba(0, 0, 0, 0.4);
|
|
74
94
|
color:var(--iui-text-color-muted); }
|
|
75
|
-
.iui-tree-node:focus-visible{
|
|
76
|
-
outline:1px solid var(--iui-color-foreground-primary);
|
|
77
|
-
outline-offset:-1px; }
|
|
78
|
-
@supports not selector(*:focus-visible){
|
|
79
|
-
.iui-tree-node:focus{
|
|
80
|
-
outline:1px solid var(--iui-color-foreground-primary);
|
|
81
|
-
outline-offset:-1px; } }
|
|
82
95
|
.iui-tree-node:hover{
|
|
83
96
|
background-color:rgba(0, 139, 225, 0.1);
|
|
84
97
|
background-color:rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6)); }
|
|
@@ -93,13 +106,6 @@
|
|
|
93
106
|
background-color:rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-5));
|
|
94
107
|
outline:thin solid var(--iui-color-foreground-primary);
|
|
95
108
|
outline-offset:-1px; }
|
|
96
|
-
.iui-tree-node.iui-active:focus-visible{
|
|
97
|
-
outline:2px solid var(--iui-color-foreground-primary);
|
|
98
|
-
outline-offset:-2px; }
|
|
99
|
-
@supports not selector(*:focus-visible){
|
|
100
|
-
.iui-tree-node.iui-active:focus{
|
|
101
|
-
outline:2px solid var(--iui-color-foreground-primary);
|
|
102
|
-
outline-offset:-2px; } }
|
|
103
109
|
.iui-tree-node.iui-disabled{
|
|
104
110
|
cursor:not-allowed;
|
|
105
111
|
outline:none;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/itwinui-css",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.48.0",
|
|
4
4
|
"author": "Bentley Systems",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "src/index.scss",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"html-minifier": "^4.0.0",
|
|
69
69
|
"husky": "=4",
|
|
70
70
|
"lint-staged": "^11.2.6",
|
|
71
|
-
"node-sass": "^
|
|
71
|
+
"node-sass": "^7.0.0",
|
|
72
72
|
"postcss": "^8.4.5",
|
|
73
73
|
"postcss-cli": "^8.3.1",
|
|
74
74
|
"postcss-discard-comments": "^5.0.1",
|
package/scss/badge/badge.scss
CHANGED
|
@@ -11,14 +11,17 @@ $iui-badge-background-primary: $iui-color-foreground-primary--dark;
|
|
|
11
11
|
$iui-badge-text-color: rgba($iui-color-foreground-body--light, $iui-opacity-3--light);
|
|
12
12
|
|
|
13
13
|
@mixin iui-badge {
|
|
14
|
+
--iui-badge-background-color: #{$iui-badge-background-default};
|
|
15
|
+
--_iui-badge-text-color: #{$iui-badge-text-color};
|
|
16
|
+
|
|
14
17
|
@include iui-reset;
|
|
15
18
|
display: inline-block;
|
|
16
19
|
font-size: $iui-font-size-small;
|
|
17
20
|
padding: 0 $iui-xs * 1.5;
|
|
18
21
|
margin: round($iui-baseline * 0.5) 0;
|
|
19
22
|
border-radius: $iui-border-radius;
|
|
20
|
-
background-color: var(--
|
|
21
|
-
color: var(--
|
|
23
|
+
background-color: var(--iui-badge-background-color);
|
|
24
|
+
color: var(--_iui-badge-text-color);
|
|
22
25
|
text-transform: uppercase;
|
|
23
26
|
user-select: none;
|
|
24
27
|
max-width: 20ch;
|
|
@@ -7,29 +7,36 @@
|
|
|
7
7
|
align-items: center;
|
|
8
8
|
isolation: isolate;
|
|
9
9
|
|
|
10
|
-
$
|
|
10
|
+
$childZindexSelector: '.iui-input-container, .iui-button, .iui-input:where(:not(.iui-input-container .iui-input))';
|
|
11
|
+
$childBorderSelector: '.iui-input, .iui-button:where(:not(.iui-borderless))';
|
|
12
|
+
$disabledSelector: '&:disabled, &.iui-disabled, &[aria-disabled="true"]';
|
|
11
13
|
|
|
12
14
|
> * {
|
|
13
15
|
display: flex;
|
|
14
16
|
|
|
15
|
-
#{$
|
|
17
|
+
#{$childZindexSelector} {
|
|
16
18
|
position: relative;
|
|
17
19
|
|
|
20
|
+
// Adds stripe above active button
|
|
21
|
+
--_iui-button-active-stripe-inset: #{$iui-xxs} #{$iui-xxs} calc(100% - #{$iui-xs});
|
|
22
|
+
|
|
18
23
|
&:hover {
|
|
19
24
|
z-index: 1;
|
|
20
25
|
}
|
|
21
26
|
|
|
22
|
-
&:focus
|
|
27
|
+
&:focus,
|
|
28
|
+
&:focus-within {
|
|
23
29
|
z-index: 2;
|
|
24
|
-
|
|
25
|
-
&:where(:not(:focus-visible):not(:hover)) {
|
|
26
|
-
z-index: revert;
|
|
27
|
-
}
|
|
28
30
|
}
|
|
29
31
|
|
|
30
|
-
|
|
32
|
+
#{$disabledSelector} {
|
|
31
33
|
z-index: -1;
|
|
32
34
|
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
#{$childBorderSelector} {
|
|
38
|
+
// Reset border radius
|
|
39
|
+
border-radius: 0;
|
|
33
40
|
|
|
34
41
|
transition-duration: 0ms; // disable exit animation to avoid border flicker
|
|
35
42
|
|
|
@@ -37,47 +44,18 @@
|
|
|
37
44
|
&:focus {
|
|
38
45
|
transition-duration: $iui-speed-fast; // re-enable enter animation
|
|
39
46
|
}
|
|
40
|
-
|
|
41
|
-
// Adds stripe above active button
|
|
42
|
-
&.iui-active {
|
|
43
|
-
&::after {
|
|
44
|
-
content: '';
|
|
45
|
-
position: absolute;
|
|
46
|
-
height: $iui-xxs;
|
|
47
|
-
opacity: 1;
|
|
48
|
-
top: $iui-xxs;
|
|
49
|
-
left: $iui-xxs;
|
|
50
|
-
width: calc(100% - #{$iui-xs});
|
|
51
|
-
@include themed {
|
|
52
|
-
background-color: t(iui-color-foreground-primary);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
&:disabled {
|
|
57
|
-
&::after {
|
|
58
|
-
@include themed {
|
|
59
|
-
background-color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-5));
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// Reset border radius only for non-borderless items
|
|
66
|
-
&:not(.iui-borderless) {
|
|
67
|
-
border-radius: 0;
|
|
68
|
-
}
|
|
69
47
|
}
|
|
70
48
|
|
|
71
49
|
// Add rounded corners to first and last items
|
|
72
50
|
&:first-child {
|
|
73
|
-
#{$
|
|
51
|
+
#{$childBorderSelector} {
|
|
74
52
|
border-top-left-radius: $iui-border-radius;
|
|
75
53
|
border-bottom-left-radius: $iui-border-radius;
|
|
76
54
|
}
|
|
77
55
|
}
|
|
78
56
|
|
|
79
57
|
&:last-child {
|
|
80
|
-
#{$
|
|
58
|
+
#{$childBorderSelector} {
|
|
81
59
|
border-top-right-radius: $iui-border-radius;
|
|
82
60
|
border-bottom-right-radius: $iui-border-radius;
|
|
83
61
|
}
|
|
@@ -89,8 +67,8 @@
|
|
|
89
67
|
}
|
|
90
68
|
|
|
91
69
|
// Add slight border between disabled items
|
|
92
|
-
&:not(:first-child) {
|
|
93
|
-
|
|
70
|
+
&:not(:first-child) :where(.iui-button.iui-default) {
|
|
71
|
+
#{$disabledSelector} {
|
|
94
72
|
@include themed {
|
|
95
73
|
border-left-color: t(iui-color-background-4);
|
|
96
74
|
}
|
package/scss/button/button.scss
CHANGED
|
@@ -10,6 +10,8 @@ $iui-button-padding-small: $iui-xs * 2;
|
|
|
10
10
|
$iui-button-padding-large: $iui-xs * 6;
|
|
11
11
|
|
|
12
12
|
@mixin iui-button {
|
|
13
|
+
--_iui-button-active-stripe-inset: initial;
|
|
14
|
+
|
|
13
15
|
@include iui-reset;
|
|
14
16
|
font-family: inherit;
|
|
15
17
|
display: inline-flex;
|
|
@@ -20,7 +22,6 @@ $iui-button-padding-large: $iui-xs * 6;
|
|
|
20
22
|
box-sizing: border-box;
|
|
21
23
|
border-radius: $iui-border-radius;
|
|
22
24
|
line-height: $iui-line-height;
|
|
23
|
-
outline: none;
|
|
24
25
|
box-shadow: none;
|
|
25
26
|
font-size: $iui-font-size;
|
|
26
27
|
font-weight: $iui-font-weight-normal;
|
|
@@ -51,6 +52,23 @@ $iui-button-padding-large: $iui-xs * 6;
|
|
|
51
52
|
&:disabled {
|
|
52
53
|
@include iui-button-disabled;
|
|
53
54
|
}
|
|
55
|
+
|
|
56
|
+
&.iui-active {
|
|
57
|
+
// Shows active stripe only if --_iui-button-active-stripe-inset is set (from outside)
|
|
58
|
+
&::after {
|
|
59
|
+
content: '';
|
|
60
|
+
position: absolute;
|
|
61
|
+
inset: var(--_iui-button-active-stripe-inset);
|
|
62
|
+
background-color: var(--iui-color-foreground-primary);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
&[disabled],
|
|
66
|
+
&:disabled {
|
|
67
|
+
&::after {
|
|
68
|
+
background-color: rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-5));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
54
72
|
}
|
|
55
73
|
|
|
56
74
|
/// Mixin for applying padding and margins to various button sizes.
|
package/scss/button/classes.scss
CHANGED
package/scss/button/default.scss
CHANGED
package/scss/classes.scss
CHANGED