@stackoverflow/stacks 3.0.0-beta.20 → 3.0.0-beta.21
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/dist/css/stacks.css +72 -41
- package/dist/css/stacks.min.css +1 -1
- package/lib/components/banner/banner.less +11 -10
- package/lib/components/button/button.less +37 -29
- package/lib/components/notice/notice.less +14 -8
- package/lib/components/toast/toast.less +3 -0
- package/lib/test/visual-test-utils.ts +42 -10
- package/package.json +1 -1
package/dist/css/stacks.css
CHANGED
|
@@ -869,9 +869,10 @@ a.s-badge:hover {
|
|
|
869
869
|
--_no-code-fc: var(--_no-fc);
|
|
870
870
|
background: var(--_no-bg);
|
|
871
871
|
color: var(--_no-fc);
|
|
872
|
-
|
|
872
|
+
display: flex;
|
|
873
|
+
align-items: center;
|
|
874
|
+
padding: var(--su16);
|
|
873
875
|
inset: 0 0 auto 0;
|
|
874
|
-
padding: var(--su12);
|
|
875
876
|
position: fixed;
|
|
876
877
|
transform: translate3d(0, calc(var(--_no-ty) * var(--_no-ty-offset)), 0);
|
|
877
878
|
width: 100%;
|
|
@@ -1001,6 +1002,9 @@ body.theme-highcontrast .s-banner__warning.s-banner__important {
|
|
|
1001
1002
|
padding-right: var(--su2);
|
|
1002
1003
|
white-space: nowrap;
|
|
1003
1004
|
}
|
|
1005
|
+
button.s-banner--dismiss {
|
|
1006
|
+
color: var(--_no-fc);
|
|
1007
|
+
}
|
|
1004
1008
|
button.s-banner--dismiss:active {
|
|
1005
1009
|
background-color: var(--_no-fc);
|
|
1006
1010
|
color: var(--_no-bg);
|
|
@@ -1011,11 +1015,23 @@ button.s-banner--dismiss.focus-inset-bordered {
|
|
|
1011
1015
|
background-color: var(--_no-fc);
|
|
1012
1016
|
color: var(--_no-bg);
|
|
1013
1017
|
}
|
|
1014
|
-
|
|
1018
|
+
.s-banner--actions {
|
|
1019
|
+
display: flex;
|
|
1020
|
+
margin-left: auto;
|
|
1021
|
+
align-self: flex-start;
|
|
1015
1022
|
padding-left: var(--su24);
|
|
1023
|
+
color: var(--_no-fc);
|
|
1016
1024
|
gap: calc(var(--su24) - var(--su2));
|
|
1017
1025
|
overflow-wrap: initial !important;
|
|
1018
1026
|
}
|
|
1027
|
+
.s-banner--actions > .s-link:not(.s-banner--dismiss) {
|
|
1028
|
+
color: var(--_no-fc);
|
|
1029
|
+
}
|
|
1030
|
+
.s-banner--icon {
|
|
1031
|
+
--_no-icon-bg: transparent;
|
|
1032
|
+
margin-right: var(--su8);
|
|
1033
|
+
align-self: flex-start;
|
|
1034
|
+
}
|
|
1019
1035
|
.s-banner[aria-hidden="true"] {
|
|
1020
1036
|
--_no-ty-offset: -1;
|
|
1021
1037
|
opacity: 0;
|
|
@@ -1033,12 +1049,6 @@ button.s-banner--dismiss.focus-inset-bordered {
|
|
|
1033
1049
|
.s-banner__body-pt {
|
|
1034
1050
|
padding-top: 93px;
|
|
1035
1051
|
}
|
|
1036
|
-
.s-banner .s-banner--container {
|
|
1037
|
-
margin: 0 auto;
|
|
1038
|
-
max-width: var(--su1024);
|
|
1039
|
-
position: relative;
|
|
1040
|
-
width: 100%;
|
|
1041
|
-
}
|
|
1042
1052
|
.s-bling {
|
|
1043
1053
|
--_bl-bg: unset;
|
|
1044
1054
|
--_bl-size: calc(var(--su8) + var(--su2));
|
|
@@ -1302,6 +1312,9 @@ body.theme-highcontrast .s-breadcrumbs .s-breadcrumbs--divider {
|
|
|
1302
1312
|
--_bu-g: var(--su8);
|
|
1303
1313
|
--_bu-px: var(--su16);
|
|
1304
1314
|
--_bu-py: calc(var(--su8) + var(--su2));
|
|
1315
|
+
--_bu-badge-fs: var(--fs-caption);
|
|
1316
|
+
--_bu-badge-px: var(--su6);
|
|
1317
|
+
--_bu-badge-py: var(--su2);
|
|
1305
1318
|
--_bu-dropdown-bw: var(--su-static4);
|
|
1306
1319
|
background: linear-gradient(0deg, var(--_bu-bg-selected-overlay, var(--_bu-bg)) 50%, var(--_bu-bg) 50%) padding-box, linear-gradient(0deg, var(--_bu-bg-selected-overlay, var(--_bu-bg)) 50%, var(--_bu-bg) 50%) border-box;
|
|
1307
1320
|
border: var(--_bu-baw) solid var(--_bu-bc, transparent);
|
|
@@ -1326,14 +1339,15 @@ body.theme-highcontrast .s-breadcrumbs .s-breadcrumbs--divider {
|
|
|
1326
1339
|
}
|
|
1327
1340
|
.s-btn:not(.s-btn__danger):not(.s-btn__featured):not(.s-btn__tonal):not(.s-btn__link):not(.s-btn__unset):not(.s-btn__facebook):not(.s-btn__github):not(.s-btn__google) {
|
|
1328
1341
|
--_bu-bg: var(--theme-button-color, var(--theme-secondary));
|
|
1329
|
-
--_bu-bg-disabled: var(--
|
|
1342
|
+
--_bu-bg-disabled: var(--black-350);
|
|
1330
1343
|
--_bu-bg-hover: var(--theme-button-hover-background-color, var(--theme-secondary-500));
|
|
1331
1344
|
--_bu-fc: var(--white);
|
|
1345
|
+
--_bu-fc-disabled: var(--black-050);
|
|
1332
1346
|
--_bu-fc-hover: var(--theme-button-hover-color, var(--white));
|
|
1333
|
-
--_bu-badge-bg: var(--theme-secondary-
|
|
1334
|
-
--_bu-badge-fc: var(--
|
|
1335
|
-
--_bu-badge-bg-disabled: var(--
|
|
1336
|
-
--_bu-badge-fc-disabled: var(--
|
|
1347
|
+
--_bu-badge-bg: var(--theme-secondary-500);
|
|
1348
|
+
--_bu-badge-fc: var(--white);
|
|
1349
|
+
--_bu-badge-bg-disabled: var(--black-250);
|
|
1350
|
+
--_bu-badge-fc-disabled: var(--black-050);
|
|
1337
1351
|
}
|
|
1338
1352
|
.s-btn:not(.s-btn__danger):not(.s-btn__featured):not(.s-btn__tonal):not(.s-btn__link):not(.s-btn__unset):not(.s-btn__facebook):not(.s-btn__github):not(.s-btn__google).s-btn__clear {
|
|
1339
1353
|
--_bu-bg: transparent;
|
|
@@ -1343,10 +1357,10 @@ body.theme-highcontrast .s-breadcrumbs .s-breadcrumbs--divider {
|
|
|
1343
1357
|
--_bu-fc: var(--theme-secondary-600);
|
|
1344
1358
|
--_bu-fc-disabled: var(--theme-secondary-300);
|
|
1345
1359
|
--_bu-fc-hover: var(--_bu-fc);
|
|
1346
|
-
--_bu-badge-bg: var(--theme-secondary-
|
|
1347
|
-
--_bu-badge-fc: var(--
|
|
1348
|
-
--_bu-badge-bg-disabled: var(--
|
|
1349
|
-
--_bu-badge-fc-disabled: var(--
|
|
1360
|
+
--_bu-badge-bg: var(--theme-secondary-100);
|
|
1361
|
+
--_bu-badge-fc: var(--theme-secondary-500);
|
|
1362
|
+
--_bu-badge-bg-disabled: var(--black-100);
|
|
1363
|
+
--_bu-badge-fc-disabled: var(--black-350);
|
|
1350
1364
|
}
|
|
1351
1365
|
body.theme-highcontrast .s-btn:not(.s-btn__danger):not(.s-btn__featured):not(.s-btn__tonal):not(.s-btn__link):not(.s-btn__unset):not(.s-btn__facebook):not(.s-btn__github):not(.s-btn__google).s-btn__clear {
|
|
1352
1366
|
--_bu-bc: var(--theme-secondary-600);
|
|
@@ -1355,13 +1369,14 @@ body.theme-highcontrast .s-btn:not(.s-btn__danger):not(.s-btn__featured):not(.s-
|
|
|
1355
1369
|
--_bu-bg: var(--red-400);
|
|
1356
1370
|
--_bu-fc: var(--white);
|
|
1357
1371
|
--_bu-bg-disabled: var(--red-200);
|
|
1372
|
+
--_bu-fc-disabled: var(--black-050);
|
|
1358
1373
|
--_bu-bg-hover: var(--red-500);
|
|
1359
1374
|
--_bu-bg-selected: var(--red-500);
|
|
1360
1375
|
--_bu-fc-selected: var(--_bu-fc);
|
|
1361
|
-
--_bu-badge-bg: var(--red-
|
|
1362
|
-
--_bu-badge-fc: var(--
|
|
1363
|
-
--_bu-badge-bg-disabled: var(--
|
|
1364
|
-
--_bu-badge-fc-disabled: var(--
|
|
1376
|
+
--_bu-badge-bg: var(--red-500);
|
|
1377
|
+
--_bu-badge-fc: var(--black-050);
|
|
1378
|
+
--_bu-badge-bg-disabled: var(--red-300);
|
|
1379
|
+
--_bu-badge-fc-disabled: var(--black-100);
|
|
1365
1380
|
}
|
|
1366
1381
|
.s-btn.s-btn__danger.s-btn__clear {
|
|
1367
1382
|
--_bu-bg: transparent;
|
|
@@ -1372,11 +1387,10 @@ body.theme-highcontrast .s-btn:not(.s-btn__danger):not(.s-btn__featured):not(.s-
|
|
|
1372
1387
|
--_bu-fc-disabled: var(--red-200);
|
|
1373
1388
|
--_bu-fc-hover: var(--red-500);
|
|
1374
1389
|
--_bu-fc-selected: var(--red-500);
|
|
1375
|
-
--_bu-badge-bg: var(--red-
|
|
1376
|
-
--_bu-badge-
|
|
1377
|
-
--_bu-badge-
|
|
1378
|
-
--_bu-badge-
|
|
1379
|
-
--_bu-badge-fc-disabled: var(--white);
|
|
1390
|
+
--_bu-badge-bg: var(--red-100);
|
|
1391
|
+
--_bu-badge-fc: var(--red-500);
|
|
1392
|
+
--_bu-badge-bg-disabled: var(--red-100);
|
|
1393
|
+
--_bu-badge-fc-disabled: var(--red-300);
|
|
1380
1394
|
}
|
|
1381
1395
|
body.theme-highcontrast .s-btn.s-btn__danger.s-btn__clear {
|
|
1382
1396
|
--_bu-bc: var(--red-600);
|
|
@@ -1389,10 +1403,10 @@ body.theme-highcontrast .s-btn.s-btn__danger.s-btn__clear {
|
|
|
1389
1403
|
--_bu-bg-selected: var(--purple-500);
|
|
1390
1404
|
--_bu-fc: var(--white);
|
|
1391
1405
|
--_bu-fc-selected: var(--_bu-fc);
|
|
1392
|
-
--_bu-badge-bg: var(--purple-
|
|
1393
|
-
--_bu-badge-fc: var(--
|
|
1394
|
-
--_bu-badge-bg-disabled: var(--
|
|
1395
|
-
--_bu-badge-fc-disabled: var(--
|
|
1406
|
+
--_bu-badge-bg: var(--purple-500);
|
|
1407
|
+
--_bu-badge-fc: var(--black-050);
|
|
1408
|
+
--_bu-badge-bg-disabled: var(--purple-300);
|
|
1409
|
+
--_bu-badge-fc-disabled: var(--black-100);
|
|
1396
1410
|
}
|
|
1397
1411
|
.s-btn.s-btn__tonal {
|
|
1398
1412
|
--_bu-bg: var(--black-150);
|
|
@@ -1401,10 +1415,10 @@ body.theme-highcontrast .s-btn.s-btn__danger.s-btn__clear {
|
|
|
1401
1415
|
--_bu-fc: var(--black);
|
|
1402
1416
|
--_bu-fc-disabled: var(--black-300);
|
|
1403
1417
|
--_bu-fc-selected: var(--_bu-fc);
|
|
1404
|
-
--_bu-badge-bg: var(--black-
|
|
1405
|
-
--_bu-badge-fc: var(--
|
|
1406
|
-
--_bu-badge-bg-disabled: var(--black-
|
|
1407
|
-
--_bu-badge-fc-disabled: var(--
|
|
1418
|
+
--_bu-badge-bg: var(--black-200);
|
|
1419
|
+
--_bu-badge-fc: var(--black-600);
|
|
1420
|
+
--_bu-badge-bg-disabled: var(--black-100);
|
|
1421
|
+
--_bu-badge-fc-disabled: var(--black-350);
|
|
1408
1422
|
}
|
|
1409
1423
|
body.theme-highcontrast .s-btn.s-btn__tonal {
|
|
1410
1424
|
--_bu-bc: var(--black-300);
|
|
@@ -1612,10 +1626,11 @@ body.theme-system .theme-dark__forced .s-btn--radio:checked + .s-btn {
|
|
|
1612
1626
|
background-color: var(--_bu-badge-bg);
|
|
1613
1627
|
border-radius: var(--br-pill);
|
|
1614
1628
|
display: inline-block;
|
|
1615
|
-
font-size: var(--fs
|
|
1629
|
+
font-size: var(--_bu-badge-fs);
|
|
1616
1630
|
line-height: inherit;
|
|
1617
1631
|
opacity: var(--_bu-badge-o);
|
|
1618
|
-
padding: var(--
|
|
1632
|
+
padding: var(--_bu-badge-py) var(--_bu-badge-px);
|
|
1633
|
+
margin-block: calc(var(--_bu-badge-py) * -1);
|
|
1619
1634
|
}
|
|
1620
1635
|
.s-btn .s-btn--number {
|
|
1621
1636
|
color: var(--_bu-badge-fc, var(--_bu-fc));
|
|
@@ -1637,6 +1652,9 @@ body.theme-system .theme-dark__forced .s-btn--radio:checked + .s-btn {
|
|
|
1637
1652
|
.s-btn.s-btn__sm {
|
|
1638
1653
|
--_bu-lh: var(--lh-sm);
|
|
1639
1654
|
--_bu-px: var(--su12);
|
|
1655
|
+
--_bu-badge-fs: var(--fs-fine);
|
|
1656
|
+
--_bu-badge-py: var(--su1);
|
|
1657
|
+
--_bu-badge-px: calc(var(--su2) + var(--su1));
|
|
1640
1658
|
}
|
|
1641
1659
|
.s-btn.s-btn__xs {
|
|
1642
1660
|
--_bu-g: var(--su4);
|
|
@@ -1652,6 +1670,7 @@ body.theme-system .theme-dark__forced .s-btn--radio:checked + .s-btn {
|
|
|
1652
1670
|
--_bu-fs: var(--fs-body2);
|
|
1653
1671
|
--_bu-px: var(--su24);
|
|
1654
1672
|
--_bu-py: calc(var(--su12) + var(--su1));
|
|
1673
|
+
--_bu-badge-py: calc(var(--su2) + var(--su1));
|
|
1655
1674
|
}
|
|
1656
1675
|
.s-btn:not(.s-btn__link):not(.s-btn__unset):focus-visible,
|
|
1657
1676
|
.s-btn--radio:focus-visible + .s-btn {
|
|
@@ -3351,8 +3370,9 @@ body.theme-highcontrast .s-navigation .s-navigation--item:active {
|
|
|
3351
3370
|
/**
|
|
3352
3371
|
* Generate styles for a notice-based component
|
|
3353
3372
|
*
|
|
3354
|
-
* Usage
|
|
3373
|
+
* Usage examples:
|
|
3355
3374
|
* .construct-notice-component(s-banner);
|
|
3375
|
+
* .construct-notice-component(s-notice);
|
|
3356
3376
|
*
|
|
3357
3377
|
* @baseClass - The base class name for the notice component
|
|
3358
3378
|
*/
|
|
@@ -3494,6 +3514,9 @@ body.theme-highcontrast .s-notice__warning.s-notice__important {
|
|
|
3494
3514
|
padding-right: var(--su2);
|
|
3495
3515
|
white-space: nowrap;
|
|
3496
3516
|
}
|
|
3517
|
+
button.s-notice--dismiss {
|
|
3518
|
+
color: var(--_no-fc);
|
|
3519
|
+
}
|
|
3497
3520
|
button.s-notice--dismiss:active {
|
|
3498
3521
|
background-color: var(--_no-fc);
|
|
3499
3522
|
color: var(--_no-bg);
|
|
@@ -3504,19 +3527,24 @@ button.s-notice--dismiss.focus-inset-bordered {
|
|
|
3504
3527
|
background-color: var(--_no-fc);
|
|
3505
3528
|
color: var(--_no-bg);
|
|
3506
3529
|
}
|
|
3507
|
-
|
|
3530
|
+
.s-notice--actions {
|
|
3531
|
+
display: flex;
|
|
3532
|
+
margin-left: auto;
|
|
3533
|
+
align-self: flex-start;
|
|
3508
3534
|
padding-left: var(--su24);
|
|
3535
|
+
color: var(--_no-fc);
|
|
3509
3536
|
gap: calc(var(--su24) - var(--su2));
|
|
3510
3537
|
overflow-wrap: initial !important;
|
|
3511
3538
|
}
|
|
3539
|
+
.s-notice--actions > .s-link:not(.s-notice--dismiss) {
|
|
3540
|
+
color: var(--_no-fc);
|
|
3541
|
+
}
|
|
3512
3542
|
.s-notice--icon {
|
|
3513
3543
|
background: var(--_no-icon-bg);
|
|
3514
3544
|
border: var(--su1) solid var(--_no-icon-bc, var(--_no-icon-bg));
|
|
3515
3545
|
padding: var(--_no-pd);
|
|
3516
3546
|
margin-right: var(--su12);
|
|
3517
3547
|
align-self: stretch;
|
|
3518
|
-
display: flex;
|
|
3519
|
-
align-items: top;
|
|
3520
3548
|
margin-top: calc(var(--_no-pd) * -1);
|
|
3521
3549
|
margin-bottom: calc(var(--_no-pd) * -1);
|
|
3522
3550
|
}
|
|
@@ -5737,6 +5765,9 @@ a.s-tag:active {
|
|
|
5737
5765
|
padding-bottom: var(--su8);
|
|
5738
5766
|
padding-top: var(--su8);
|
|
5739
5767
|
pointer-events: all;
|
|
5768
|
+
display: flex;
|
|
5769
|
+
align-items: center;
|
|
5770
|
+
min-width: var(--su448);
|
|
5740
5771
|
}
|
|
5741
5772
|
.s-toggle-switch {
|
|
5742
5773
|
--_ts-bg: var(--black-350);
|