@wwtdev/bsds-css 2.18.1 → 2.20.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/dist/components/_accordions.scss +20 -11
- package/dist/components/_alert.scss +128 -0
- package/dist/components/_banner.scss +25 -11
- package/dist/components/_circle-buttons.scss +6 -0
- package/dist/components/_dropdown.scss +7 -0
- package/dist/components/_form-field-details.scss +0 -1
- package/dist/components/_form-input-composite.scss +24 -13
- package/dist/components/_form-input-phone.scss +5 -0
- package/dist/components/_form-text-fields.scss +21 -19
- package/dist/components/_horizontal-navigation-mobile.scss +194 -0
- package/dist/components/_horizontal-navigation.scss +213 -0
- package/dist/components/_modal.scss +1 -1
- package/dist/components/_vertical-navigation.scss +231 -0
- package/dist/components/accordions.css +20 -11
- package/dist/components/alert.css +124 -0
- package/dist/components/banner.css +24 -10
- package/dist/components/circle-buttons.css +6 -0
- package/dist/components/dropdown.css +7 -0
- package/dist/components/form-field-details.css +0 -1
- package/dist/components/form-input-composite.css +24 -13
- package/dist/components/form-input-phone.css +5 -0
- package/dist/components/form-text-fields.css +21 -19
- package/dist/components/horizontal-navigation-mobile.css +190 -0
- package/dist/components/horizontal-navigation.css +209 -0
- package/dist/components/modal.css +1 -1
- package/dist/components/vertical-navigation.css +227 -0
- package/dist/wwt-bsds-preset.js +2 -1
- package/dist/wwt-bsds-wc-base.css +2 -0
- package/dist/wwt-bsds.css +2259 -1547
- package/dist/wwt-bsds.min.css +1 -1
- package/package.json +1 -1
package/dist/wwt-bsds.css
CHANGED
|
@@ -366,6 +366,7 @@ button {
|
|
|
366
366
|
--bs-border-base: var(--bs-gray-200);
|
|
367
367
|
--bs-border-medium: var(--bs-gray-150);
|
|
368
368
|
--bs-border-light: var(--bs-gray-100);
|
|
369
|
+
--bs-border-input: rgba(99, 66, 145, 0.75); /* --bs-violet-300 at .75 opacity */
|
|
369
370
|
|
|
370
371
|
/* Spacing */
|
|
371
372
|
--bs-content-top: 4rem;
|
|
@@ -451,6 +452,7 @@ button {
|
|
|
451
452
|
--bs-border-base: rgba(163, 164, 183, 0.7); /* --bs-gray-300 at .7 opacity */
|
|
452
453
|
--bs-border-medium: var(--bs-gray-400);
|
|
453
454
|
--bs-border-light: rgba(78, 79, 95, 0.5); /* --bs-gray-400 at .5 opacity */
|
|
455
|
+
--bs-border-input: var(--bs-violet-200);
|
|
454
456
|
|
|
455
457
|
--bs-shadow-base: rgba(0, 0, 0, 0.06);
|
|
456
458
|
--bs-shadow-invert: rgba(10, 11, 25, 0.60);
|
|
@@ -904,15 +906,24 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
|
|
|
904
906
|
.bs-bg-light-to-base {
|
|
905
907
|
background-color: var(--bs-bg-light-to-base);
|
|
906
908
|
}
|
|
909
|
+
.bs-bg-light-to-medium {
|
|
910
|
+
background-color: var(--bs-bg-light-to-medium);
|
|
911
|
+
}
|
|
907
912
|
.bs-bg-medium {
|
|
908
913
|
background-color: var(--bs-bg-medium);
|
|
909
914
|
}
|
|
910
915
|
.bs-bg-medium-to-light {
|
|
911
916
|
background-color: var(--bs-bg-medium-to-light);
|
|
912
917
|
}
|
|
918
|
+
.bs-bg-medium-to-base {
|
|
919
|
+
background-color: var(--bs-bg-medium-to-base);
|
|
920
|
+
}
|
|
913
921
|
.bs-bg-disabled {
|
|
914
922
|
background-color: var(--bs-bg-disabled);
|
|
915
923
|
}
|
|
924
|
+
.bs-bg-invert-to-light {
|
|
925
|
+
background-color: var(--bs-bg-invert-to-light);
|
|
926
|
+
}
|
|
916
927
|
.bs-bg-invert-to-medium {
|
|
917
928
|
background-color: var(--bs-bg-invert-to-medium);
|
|
918
929
|
}
|
|
@@ -934,6 +945,9 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
|
|
|
934
945
|
.bs-border-dark {
|
|
935
946
|
border-color: var(--bs-border-dark);
|
|
936
947
|
}
|
|
948
|
+
.bs-border-input {
|
|
949
|
+
border-color: var(--bs-border-input);
|
|
950
|
+
}
|
|
937
951
|
.bs-border-atom-ai {
|
|
938
952
|
/* border-image (which is needed for the border gradient) cannot be combined with border-radius 🤷♂️ */
|
|
939
953
|
/* this uses the background-clip property, which is compatible */
|
|
@@ -1348,7 +1362,8 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
|
|
|
1348
1362
|
}
|
|
1349
1363
|
}
|
|
1350
1364
|
/* Accordion Panel (Icon, Title, Caret) */
|
|
1351
|
-
.bs-accordion :where(
|
|
1365
|
+
.bs-accordion :where(.bs-accordion-toggle),
|
|
1366
|
+
.bs-accordion > :where(header) > :where(button) {
|
|
1352
1367
|
align-items: center;
|
|
1353
1368
|
background-color: var(--bs-bg-base);
|
|
1354
1369
|
border: 0px solid transparent;
|
|
@@ -1368,40 +1383,48 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
|
|
|
1368
1383
|
text-decoration: none;
|
|
1369
1384
|
width: 100%;
|
|
1370
1385
|
}
|
|
1371
|
-
.bs-accordion :where(
|
|
1386
|
+
.bs-accordion :where(.bs-accordion-toggle:focus-visible),
|
|
1387
|
+
.bs-accordion > :where(header) > :where(button:focus-visible) {
|
|
1372
1388
|
--accordion-outline-color: var(--bs-blue-base);
|
|
1373
1389
|
}
|
|
1374
|
-
.bs-accordion :where(
|
|
1390
|
+
.bs-accordion :where(.bs-accordion-toggle) > *,
|
|
1391
|
+
.bs-accordion > :where(header) > :where(button) > * {
|
|
1375
1392
|
font-size: inherit;
|
|
1376
1393
|
font-weight: inherit;
|
|
1377
1394
|
line-height: inherit;
|
|
1378
1395
|
}
|
|
1379
|
-
.bs-accordion :where(
|
|
1396
|
+
.bs-accordion :where(.bs-accordion-toggle) > *,
|
|
1397
|
+
.bs-accordion > :where(header) > :where(button) > * {
|
|
1380
1398
|
grid-area: main;
|
|
1381
1399
|
margin-right: var(--bs-space-2);
|
|
1382
1400
|
text-align: left;
|
|
1383
1401
|
}
|
|
1384
|
-
.bs-accordion :where(
|
|
1402
|
+
.bs-accordion :where(.bs-accordion-toggle) > *,
|
|
1403
|
+
.bs-accordion > :where(header) > :where(button) > * {
|
|
1385
1404
|
vertical-align: middle;
|
|
1386
1405
|
}
|
|
1387
1406
|
@media (min-width: 957px) {
|
|
1388
|
-
.bs-accordion :where(
|
|
1407
|
+
.bs-accordion :where(.bs-accordion-toggle) > * ,
|
|
1408
|
+
.bs-accordion > :where(header) > :where(button) > * {
|
|
1389
1409
|
margin-right: var(--bs-space-3);
|
|
1390
1410
|
}
|
|
1391
1411
|
}
|
|
1392
|
-
.bs-accordion :where(
|
|
1412
|
+
.bs-accordion :where(.bs-accordion-toggle) :where([data-position]),
|
|
1413
|
+
.bs-accordion > :where(header) > :where(button) :where([data-position]) {
|
|
1393
1414
|
width: var(--accordion-text-size);
|
|
1394
1415
|
}
|
|
1395
|
-
.bs-accordion :where(
|
|
1416
|
+
.bs-accordion :where(.bs-accordion-toggle) > :where([data-position="start"]),
|
|
1417
|
+
.bs-accordion > :where(header) > :where(button) > :where([data-position="start"]) {
|
|
1396
1418
|
grid-area: start;
|
|
1397
1419
|
margin-right: var(--bs-space-2);
|
|
1398
1420
|
}
|
|
1399
|
-
.bs-accordion :where(
|
|
1421
|
+
.bs-accordion :where(.bs-accordion-toggle) > :where([data-position="end"]),
|
|
1422
|
+
.bs-accordion > :where(header) > :where(button) > :where([data-position="end"]) {
|
|
1400
1423
|
grid-area: end;
|
|
1401
1424
|
transform: rotate(0);
|
|
1402
1425
|
transition: var(--bs-trans-rotate180);
|
|
1403
1426
|
}
|
|
1404
|
-
.bs-accordion :where(header[data-open]:not([data-open="false"])) :where([data-position="end"]) {
|
|
1427
|
+
.bs-accordion > :where(header[data-open]:not([data-open="false"])) :where([data-position="end"]) {
|
|
1405
1428
|
transform: rotate(180deg);
|
|
1406
1429
|
}
|
|
1407
1430
|
/* Accordion Content (the collapsible / expandible part) */
|
|
@@ -1424,6 +1447,113 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
|
|
|
1424
1447
|
:where(.bs-accordion[data-stacked]:not([data-stacked="false"])) + .bs-accordion:where([data-stacked]:not([data-stacked="false"])) {
|
|
1425
1448
|
border-block-start-color: transparent;
|
|
1426
1449
|
}
|
|
1450
|
+
.bs-alert {
|
|
1451
|
+
/* bs-blue-100 @ 10% */
|
|
1452
|
+
background-color: #99cff71a;
|
|
1453
|
+
border-radius: 8px;
|
|
1454
|
+
border: 2px solid var(--bs-ink-blue);
|
|
1455
|
+
-moz-column-gap: 0.75rem;
|
|
1456
|
+
column-gap: 0.75rem;
|
|
1457
|
+
display: grid;
|
|
1458
|
+
grid-template-columns: 1.25rem 1fr 1rem;
|
|
1459
|
+
grid-template-areas: "icon title close"
|
|
1460
|
+
". description ."
|
|
1461
|
+
". action .";
|
|
1462
|
+
padding: 1rem;
|
|
1463
|
+
}
|
|
1464
|
+
@media (min-width: 752px) {
|
|
1465
|
+
.bs-alert {
|
|
1466
|
+
padding: 1.5rem;
|
|
1467
|
+
}
|
|
1468
|
+
}
|
|
1469
|
+
.bs-alert:where([data-horizontal="true"]) {
|
|
1470
|
+
grid-template-columns: 1.25rem 1fr 1rem;
|
|
1471
|
+
grid-template-areas: "icon title close"
|
|
1472
|
+
". action .";
|
|
1473
|
+
}
|
|
1474
|
+
@media (min-width: 752px) {
|
|
1475
|
+
.bs-alert:where([data-horizontal="true"]) {
|
|
1476
|
+
grid-template-areas: "icon title action close";
|
|
1477
|
+
grid-template-columns: 1.25rem max-content 1fr 1rem;
|
|
1478
|
+
}
|
|
1479
|
+
}
|
|
1480
|
+
.bs-alert :where(.bs-alert-icon) {
|
|
1481
|
+
align-self: center;
|
|
1482
|
+
color: var(--bs-ink-blue);
|
|
1483
|
+
grid-area: icon;
|
|
1484
|
+
height: 1.25rem;
|
|
1485
|
+
width: 1.25rem;
|
|
1486
|
+
}
|
|
1487
|
+
.bs-alert :where(.bs-alert-title) {
|
|
1488
|
+
font-size: 1.125rem;
|
|
1489
|
+
grid-area: title;
|
|
1490
|
+
}
|
|
1491
|
+
@media (min-width: 752px) {
|
|
1492
|
+
.bs-alert :where(.bs-alert-title) {
|
|
1493
|
+
font-size: 1.25rem;
|
|
1494
|
+
}
|
|
1495
|
+
}
|
|
1496
|
+
.bs-alert :where(.bs-alert-description) {
|
|
1497
|
+
font-size: 0.875rem;
|
|
1498
|
+
grid-area: description;
|
|
1499
|
+
margin-top: 0.5rem;
|
|
1500
|
+
}
|
|
1501
|
+
@media (min-width: 752px) {
|
|
1502
|
+
.bs-alert :where(.bs-alert-description) {
|
|
1503
|
+
font-size: 1rem;
|
|
1504
|
+
}
|
|
1505
|
+
}
|
|
1506
|
+
.bs-alert:where([data-horizontal="true"]) :where(.bs-alert-description) {
|
|
1507
|
+
display: none;
|
|
1508
|
+
}
|
|
1509
|
+
.bs-alert :where(.bs-alert-close) {
|
|
1510
|
+
align-self: center;
|
|
1511
|
+
background-color: transparent;
|
|
1512
|
+
cursor: pointer;
|
|
1513
|
+
grid-area: close;
|
|
1514
|
+
height: 1rem;
|
|
1515
|
+
width: 1rem;
|
|
1516
|
+
}
|
|
1517
|
+
.bs-alert :where(.bs-alert-action) {
|
|
1518
|
+
grid-area: action;
|
|
1519
|
+
margin-top: 1rem;
|
|
1520
|
+
}
|
|
1521
|
+
@media (min-width: 752px) {
|
|
1522
|
+
.bs-alert:where([data-horizontal="true"]) :where(.bs-alert-action) {
|
|
1523
|
+
margin-top: 0;
|
|
1524
|
+
}
|
|
1525
|
+
}
|
|
1526
|
+
/* COLOR VARIANTS */
|
|
1527
|
+
.bs-alert:where([data-variant="success"]) {
|
|
1528
|
+
/* bs-purple-100 @ 10% */
|
|
1529
|
+
background-color: #e0c5ef1a;
|
|
1530
|
+
border-color: var(--bs-ink-purple);
|
|
1531
|
+
}
|
|
1532
|
+
.bs-alert:where([data-variant="success"]) :where(.bs-alert-icon) {
|
|
1533
|
+
color: var(--bs-ink-purple);
|
|
1534
|
+
}
|
|
1535
|
+
.bs-alert:where([data-variant="warning"]) {
|
|
1536
|
+
/* bs-orange-100 @ 10% */
|
|
1537
|
+
background-color: #f3c4a81a;
|
|
1538
|
+
border-color: var(--bs-ink-orange);
|
|
1539
|
+
}
|
|
1540
|
+
.bs-alert:where([data-variant="warning"]) :where(.bs-alert-icon) {
|
|
1541
|
+
color: var(--bs-ink-orange);
|
|
1542
|
+
}
|
|
1543
|
+
.bs-alert:where([data-variant="negative"]) {
|
|
1544
|
+
/* bs-red-100 @ 10% */
|
|
1545
|
+
background-color: #f8a9aa1a;
|
|
1546
|
+
border-color: var(--bs-ink-red);
|
|
1547
|
+
}
|
|
1548
|
+
.bs-alert:where([data-variant="negative"]) :where(.bs-alert-icon) {
|
|
1549
|
+
color: var(--bs-ink-red);
|
|
1550
|
+
}
|
|
1551
|
+
/* DARK MODE SPECIAL CASE */
|
|
1552
|
+
.dark .bs-alert :where(.bs-alert-action) {
|
|
1553
|
+
--btn-border-color-focused: var(--bs-text-base);
|
|
1554
|
+
--btn-text-color: var(--bs-text-base);
|
|
1555
|
+
--btn-text-color-hovered: var(--bs-text-base);
|
|
1556
|
+
}
|
|
1427
1557
|
.bs-badge {
|
|
1428
1558
|
--badge-bg: var(--bs-red-400);
|
|
1429
1559
|
--badge-text: var(--bs-white);
|
|
@@ -1500,15 +1630,20 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
|
|
|
1500
1630
|
margin: 0;
|
|
1501
1631
|
top: unset;
|
|
1502
1632
|
}
|
|
1633
|
+
:where(.bs-banner) {
|
|
1634
|
+
--banner-bg: var(--bs-royal-400);
|
|
1635
|
+
--banner-icon-display: none;
|
|
1636
|
+
--banner-padding: var(--banner-padding-m);
|
|
1637
|
+
--banner-padding-m: 1rem 1.5rem;
|
|
1638
|
+
--banner-padding-dt: .5rem 2.25rem;
|
|
1639
|
+
}
|
|
1503
1640
|
.bs-banner {
|
|
1504
|
-
background-color: var(--
|
|
1505
|
-
color: var(--bs-
|
|
1641
|
+
background-color: var(--banner-bg);
|
|
1642
|
+
color: var(--bs-ink-white);
|
|
1506
1643
|
display: flex;
|
|
1507
1644
|
justify-content: center;
|
|
1508
|
-
|
|
1509
|
-
padding
|
|
1510
|
-
padding-right: 1.25rem;
|
|
1511
|
-
padding-top: 1rem;
|
|
1645
|
+
min-height: 3rem;
|
|
1646
|
+
padding: var(--banner-padding);
|
|
1512
1647
|
}
|
|
1513
1648
|
.bs-banner:where([data-dismissed]:not([data-dismissed="false"])) {
|
|
1514
1649
|
display: none;
|
|
@@ -1522,7 +1657,7 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
|
|
|
1522
1657
|
}
|
|
1523
1658
|
.bs-banner :where(.bs-banner-content .bs-banner-warning-icon) {
|
|
1524
1659
|
/* Do not display icon on smaller screens */
|
|
1525
|
-
display:
|
|
1660
|
+
display: var(--banner-icon-display);
|
|
1526
1661
|
margin-right: 0.625rem;
|
|
1527
1662
|
}
|
|
1528
1663
|
.bs-banner :where(.bs-banner-content p) {
|
|
@@ -1530,129 +1665,394 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
|
|
|
1530
1665
|
padding-right: 1.25rem;
|
|
1531
1666
|
}
|
|
1532
1667
|
.bs-banner :where(.bs-banner-content p a) {
|
|
1533
|
-
color: var(--bs-blue-lightest);
|
|
1534
1668
|
text-decoration: underline;
|
|
1535
1669
|
}
|
|
1670
|
+
.bs-banner :where(a:hover) {
|
|
1671
|
+
color: rgba(255, 255, 255, 0.8);
|
|
1672
|
+
}
|
|
1536
1673
|
.bs-banner :where(.bs-banner-content button) {
|
|
1537
1674
|
background-color: inherit;
|
|
1538
1675
|
color: inherit;
|
|
1539
1676
|
cursor: pointer;
|
|
1540
1677
|
}
|
|
1678
|
+
.bs-banner:where([data-variant="negative"]) {
|
|
1679
|
+
--banner-bg: var(--bs-red-300);
|
|
1680
|
+
}
|
|
1541
1681
|
@media (min-width: 957px) {
|
|
1542
|
-
.bs-banner
|
|
1543
|
-
display: inline-flex;
|
|
1682
|
+
.bs-banner {
|
|
1683
|
+
--banner-icon-display: inline-flex;
|
|
1684
|
+
--banner-padding: var(--banner-padding-dt);
|
|
1544
1685
|
}
|
|
1545
1686
|
}
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1687
|
+
/*
|
|
1688
|
+
--btn-main: (this is doing too much.. look into backwards-compatible way to break this up)
|
|
1689
|
+
background color (base)
|
|
1690
|
+
focus ring color
|
|
1691
|
+
|
|
1692
|
+
background colors:
|
|
1693
|
+
--btn-secondary: background color (active, hover)
|
|
1694
|
+
--btn-light: background color (ghost hover, ghost focus)
|
|
1695
|
+
|
|
1696
|
+
border / box-shadow:
|
|
1697
|
+
--btn-ghost-ink: the box shadow color for ghost buttons is synced to ink
|
|
1698
|
+
--btn-highlight: box shadow color (w/ --btn-main) (active)
|
|
1699
|
+
|
|
1700
|
+
padding:
|
|
1701
|
+
--btn-padding: padding (changes by size, and on text btns)
|
|
1702
|
+
|
|
1703
|
+
text color:
|
|
1704
|
+
--btn-ink: text color
|
|
1705
|
+
--btn-ghost-ink: text color (ghost)
|
|
1706
|
+
|
|
1707
|
+
*/
|
|
1708
|
+
.bs-button {
|
|
1709
|
+
--btn-focus-inset: -0.25rem;
|
|
1710
|
+
--btn-focus-pseudo-width: calc(100% + 0.5rem);
|
|
1711
|
+
--btn-ghost-ink: var(--bs-ink-blue);
|
|
1712
|
+
--btn-highlight: var(--bs-blue-100);
|
|
1713
|
+
--btn-ink: var(--bs-white);
|
|
1714
|
+
--btn-main: var(--bs-blue-400);
|
|
1715
|
+
--btn-padding: .25rem .75rem;
|
|
1716
|
+
--btn-secondary: var(--bs-blue-medium);
|
|
1717
|
+
--btn-text-size: var(--bs-text-md);
|
|
1718
|
+
--btn-weight: 600;
|
|
1719
|
+
--btn-height: 2.5rem;
|
|
1720
|
+
align-items: center;
|
|
1721
|
+
background-color: var(--btn-main);
|
|
1722
|
+
border: none;
|
|
1723
|
+
border-radius: 0.25rem;
|
|
1724
|
+
color: var(--btn-ink);
|
|
1725
|
+
-moz-column-gap: var(--bs-space-2);
|
|
1726
|
+
column-gap: var(--bs-space-2);
|
|
1727
|
+
cursor: pointer;
|
|
1728
|
+
display: inline-flex;
|
|
1729
|
+
font-size: var(--btn-text-size);
|
|
1730
|
+
font-weight: var(--btn-weight);
|
|
1731
|
+
height: var(--btn-height);
|
|
1732
|
+
justify-content: center;
|
|
1733
|
+
line-height: 1.5;
|
|
1734
|
+
outline: 2px solid transparent;
|
|
1735
|
+
padding: var(--btn-padding);
|
|
1562
1736
|
position: relative;
|
|
1563
|
-
|
|
1737
|
+
text-decoration: none;
|
|
1738
|
+
transition: all 100ms ease-in-out;
|
|
1739
|
+
vertical-align: middle;
|
|
1564
1740
|
}
|
|
1565
|
-
.bs-
|
|
1566
|
-
|
|
1741
|
+
.bs-button:where(:not(:disabled):not([aria-disabled="true"]):hover) {
|
|
1742
|
+
background-color: var(--btn-secondary);
|
|
1567
1743
|
}
|
|
1568
|
-
.bs-
|
|
1569
|
-
|
|
1744
|
+
.bs-button:where(:not(:disabled):not([aria-disabled="true"]):active) {
|
|
1745
|
+
background-color: var(--btn-secondary);
|
|
1746
|
+
box-shadow: inset 0px 0px 4px 1px var(--btn-main);
|
|
1747
|
+
transform-origin: center;
|
|
1748
|
+
transform: scale(0.97);
|
|
1570
1749
|
}
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1750
|
+
/* ------------ Focus Styles ------------ */
|
|
1751
|
+
.bs-button::before {
|
|
1752
|
+
border-color: transparent;
|
|
1753
|
+
border-radius: 0.5rem;
|
|
1754
|
+
border-style: solid;
|
|
1755
|
+
border-width: 0.125rem;
|
|
1756
|
+
content: '';
|
|
1757
|
+
height: calc(100% + 0.5rem);
|
|
1758
|
+
inset: var(--btn-focus-inset);
|
|
1759
|
+
position: absolute;
|
|
1760
|
+
transition: border-color 0.125s ease-in-out;
|
|
1761
|
+
width: var(--btn-focus-pseudo-width);
|
|
1574
1762
|
}
|
|
1575
|
-
.bs-
|
|
1576
|
-
|
|
1763
|
+
.bs-button:where(:focus:not(:disabled):not([aria-disabled="true"]))::before {
|
|
1764
|
+
border-color: var(--btn-main);
|
|
1577
1765
|
}
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
border-radius: .5rem;
|
|
1582
|
-
border: 1px solid var(--legend-border-color, transparent);
|
|
1583
|
-
clip-path: var(--legend-clip-path, none);
|
|
1584
|
-
max-height: var(--legend-max-height, 100%);
|
|
1585
|
-
overflow-y: var(--legend-overflow-y, hidden);
|
|
1766
|
+
.bs-button:where(:focus-visible:not(:disabled):not([aria-disabled="true"]))::before {
|
|
1767
|
+
border-color: var(--btn-main);
|
|
1768
|
+
box-shadow: none;
|
|
1586
1769
|
}
|
|
1587
|
-
.bs-
|
|
1588
|
-
border:
|
|
1589
|
-
|
|
1590
|
-
height: 1px;
|
|
1591
|
-
margin: 0;
|
|
1592
|
-
overflow: hidden;
|
|
1593
|
-
padding: 0;
|
|
1594
|
-
position: absolute;
|
|
1595
|
-
white-space: nowrap;
|
|
1596
|
-
width: 1px;
|
|
1770
|
+
.bs-button:where(:focus:not(:focus-visible):not(:disabled):not([aria-disabled="true"]))::before {
|
|
1771
|
+
border-color: transparent;
|
|
1772
|
+
box-shadow: none;
|
|
1597
1773
|
}
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
padding-block: var(--legend-padding-block, .25rem);
|
|
1606
|
-
/* cjs-legend-padding is set dynamically by chart.js for bar charts */
|
|
1607
|
-
padding-inline: var(--legend-padding-inline, var(--cjs-legend-padding-inline, 2.5rem));
|
|
1608
|
-
row-gap: .75rem;
|
|
1774
|
+
/* ------------ Ghost Buttons ------------ */
|
|
1775
|
+
.bs-button:where([data-ghost]:not([data-ghost="false"])) {
|
|
1776
|
+
--btn-ink: var(--btn-ghost-ink);
|
|
1777
|
+
--btn-light: var(--bs-blue-10);
|
|
1778
|
+
--btn-secondary: var(--bs-blue-10);
|
|
1779
|
+
background-color: transparent;
|
|
1780
|
+
box-shadow: inset 0 0 0 1px var(--btn-ghost-ink);
|
|
1609
1781
|
}
|
|
1610
|
-
.bs-
|
|
1611
|
-
|
|
1612
|
-
cursor: pointer;
|
|
1613
|
-
display: flex;
|
|
1614
|
-
flex-direction: row;
|
|
1615
|
-
outline: 0;
|
|
1616
|
-
position: relative;
|
|
1617
|
-
width: var(--legend-item-width, auto);
|
|
1782
|
+
.bs-button:where([data-ghost]:not([data-ghost="false"]))::before {
|
|
1783
|
+
border-radius: 0.4375rem;
|
|
1618
1784
|
}
|
|
1619
|
-
.bs-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
content: '';
|
|
1623
|
-
display: block;
|
|
1624
|
-
inset: -.25rem;
|
|
1625
|
-
position: absolute;
|
|
1785
|
+
.bs-button:where([data-ghost]:not([data-ghost="false"]):not(:disabled):not([aria-disabled="true"]):hover),
|
|
1786
|
+
.bs-button:where([data-ghost]:not([data-ghost="false"]):not(:disabled):not([aria-disabled="true"]):focus) {
|
|
1787
|
+
background-color: var(--btn-light);
|
|
1626
1788
|
}
|
|
1627
|
-
.bs-
|
|
1628
|
-
|
|
1789
|
+
.bs-button:where([data-ghost]:not([data-ghost="false"]):not(:disabled):not([aria-disabled="true"]):active) {
|
|
1790
|
+
box-shadow:
|
|
1791
|
+
inset 0 0 0 1px var(--btn-main),
|
|
1792
|
+
inset 0px 0px 4px 1px var(--btn-highlight);
|
|
1629
1793
|
}
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
width: var(--bs-text-f-md);
|
|
1794
|
+
/* ------------ VARIANTS ------------ */
|
|
1795
|
+
.bs-button:where([data-variant^='secondary']) {
|
|
1796
|
+
--btn-ghost-ink: var(--bs-ink-plum);
|
|
1797
|
+
--btn-highlight: var(--bs-plum-100);
|
|
1798
|
+
--btn-light: var(--bs-plum-10);
|
|
1799
|
+
--btn-main: var(--bs-plum-base);
|
|
1800
|
+
--btn-secondary: var(--bs-plum-medium);
|
|
1638
1801
|
}
|
|
1639
|
-
.bs-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
margin: 0;
|
|
1643
|
-
padding: 0;
|
|
1644
|
-
-webkit-text-decoration: var(--legend-item-text-decoration);
|
|
1645
|
-
text-decoration: var(--legend-item-text-decoration);
|
|
1802
|
+
.dark .bs-button:where([data-variant^='secondary']) {
|
|
1803
|
+
--btn-highlight: var(--bs-plum-400);
|
|
1804
|
+
--btn-light: var(--bs-navy-400);
|
|
1646
1805
|
}
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
--
|
|
1806
|
+
.bs-button:where([data-variant^='positive']) {
|
|
1807
|
+
--btn-ghost-ink: var(--bs-ink-purple);
|
|
1808
|
+
--btn-highlight: var(--bs-purple-100);
|
|
1809
|
+
--btn-light: var(--bs-purple-10);
|
|
1810
|
+
--btn-main: var(--bs-purple-400);
|
|
1811
|
+
--btn-secondary: var(--bs-purple-medium);
|
|
1812
|
+
}
|
|
1813
|
+
.bs-button:where([data-variant^='warning']) {
|
|
1814
|
+
--btn-ghost-ink: var(--bs-ink-orange);
|
|
1815
|
+
--btn-highlight: var(--bs-orange-100);
|
|
1816
|
+
--btn-light: var(--bs-orange-10);
|
|
1817
|
+
--btn-main: var(--bs-orange-warning);
|
|
1818
|
+
--btn-secondary: var(--bs-orange-base);
|
|
1819
|
+
}
|
|
1820
|
+
.bs-button:where([data-variant^='negative']) {
|
|
1821
|
+
--btn-ghost-ink: var(--bs-ink-red);
|
|
1822
|
+
--btn-highlight: var(--bs-red-100);
|
|
1823
|
+
--btn-light: var(--bs-red-10);
|
|
1824
|
+
--btn-main: var(--bs-red-400);
|
|
1825
|
+
--btn-secondary: var(--bs-red-medium);
|
|
1826
|
+
}
|
|
1827
|
+
/* pink variant */
|
|
1828
|
+
.bs-button:where([data-variant^='pink']) {
|
|
1829
|
+
--btn-ghost-ink: var(--bs-ink-pink);
|
|
1830
|
+
--btn-highlight: var(--bs-pink-400);
|
|
1831
|
+
--btn-light: var(--bs-pink-10);
|
|
1832
|
+
--btn-main: var(--bs-pink-400);
|
|
1833
|
+
--btn-secondary: var(--bs-pink-300);
|
|
1834
|
+
}
|
|
1835
|
+
/* royal blue variant */
|
|
1836
|
+
.bs-button:where([data-variant^='royal']) {
|
|
1837
|
+
--btn-ghost-ink: var(--bs-ink-royal);
|
|
1838
|
+
--btn-highlight: var(--bs-royal-400);
|
|
1839
|
+
--btn-light: var(--bs-royal-10);
|
|
1840
|
+
--btn-main: var(--bs-royal-400);
|
|
1841
|
+
--btn-secondary: var(--bs-royal-300);
|
|
1842
|
+
}
|
|
1843
|
+
/* white variant - for dark backgrounds + ghost btn or text btn only */
|
|
1844
|
+
.bs-button:where([data-variant^='white'][data-ghost]:not([data-ghost="false"])) {
|
|
1845
|
+
--btn-ghost-ink: var(--bs-ink-white);
|
|
1846
|
+
--btn-highlight: var(--bs-ink-white);
|
|
1847
|
+
--btn-light: var(--bs-white-10);
|
|
1848
|
+
--btn-main: var(--bs-ink-white);
|
|
1849
|
+
}
|
|
1850
|
+
/* ------------ Text Button ------------ */
|
|
1851
|
+
.bs-button:where([data-text]:not([data-text="false"])) {
|
|
1852
|
+
--btn-focus-inset: -0.25rem -0.5rem;
|
|
1853
|
+
--btn-focus-pseudo-width: calc(100% + 1rem); /* text btns don't have side padding, but we do want focus outline to look padded */
|
|
1854
|
+
--btn-height: auto;
|
|
1855
|
+
--btn-ink: var(--bs-ink-blue);
|
|
1856
|
+
--btn-padding: 0;
|
|
1857
|
+
--btn-secondary: transparent;
|
|
1858
|
+
--btn-text-size: var(--bs-text-md);
|
|
1859
|
+
--btn-weight: 400;
|
|
1860
|
+
background-color: transparent;
|
|
1861
|
+
cursor: pointer;
|
|
1862
|
+
line-height: 150%;
|
|
1863
|
+
}
|
|
1864
|
+
.bs-button:where([data-text]:not([data-text="false"]):not(:disabled):not([aria-disabled="true"]):hover) {
|
|
1865
|
+
--btn-ink: var(--bs-blue-base);
|
|
1866
|
+
background-color: transparent;
|
|
1867
|
+
text-decoration: underline;
|
|
1868
|
+
}
|
|
1869
|
+
.bs-button:where([data-text]:not([data-text="false"]):not(:disabled):not([aria-disabled="true"]):hover):has(svg) {
|
|
1870
|
+
text-decoration: none;
|
|
1871
|
+
}
|
|
1872
|
+
.bs-button:where([data-text]:not([data-text="false"]):not(:disabled):not([aria-disabled="true"]):active) {
|
|
1873
|
+
box-shadow: none;
|
|
1874
|
+
transform: none;
|
|
1875
|
+
}
|
|
1876
|
+
.bs-button:where([data-variant^='negative'][data-text]:not([data-text="false"])),
|
|
1877
|
+
.bs-button:where([data-variant^='negative'][data-text]:not([data-text="false"]):not(:disabled):not([aria-disabled="true"]):hover) {
|
|
1878
|
+
--btn-ink: var(--bs-ink-red);
|
|
1879
|
+
}
|
|
1880
|
+
.bs-button:where([data-variant^='white'][data-text]:not([data-text="false"])),
|
|
1881
|
+
.bs-button:where([data-variant^='white'][data-text]:not([data-text="false"]):not(:disabled):not([aria-disabled="true"]):hover) {
|
|
1882
|
+
--btn-ink: var(--bs-ink-white);
|
|
1883
|
+
--btn-main: var(--bs-ink-white);
|
|
1884
|
+
}
|
|
1885
|
+
/* ------------ Button Sizes, Media-based Text Sizing -------------- */
|
|
1886
|
+
/* Std button: Mobile text size, DT text size */
|
|
1887
|
+
.bs-button {
|
|
1888
|
+
--btn-text-size: 1rem;
|
|
1889
|
+
}
|
|
1890
|
+
@media (min-width: 1166px) {
|
|
1891
|
+
.bs-button {
|
|
1892
|
+
--btn-text-size: 1.125rem;
|
|
1893
|
+
}
|
|
1894
|
+
}
|
|
1895
|
+
.bs-button:where([data-size^='sm']) {
|
|
1896
|
+
--btn-height: 1.75rem;
|
|
1897
|
+
--btn-padding: .25rem .75rem .375rem;
|
|
1898
|
+
/* Std button size="sm" text size is same across all media sizes */
|
|
1899
|
+
--btn-text-size: var(--bs-text-sm);
|
|
1900
|
+
}
|
|
1901
|
+
/* Text buttons: For now, text size not dependent on media size */
|
|
1902
|
+
.bs-button:where([data-text]:not([data-text="false"])) {
|
|
1903
|
+
--btn-height: auto;
|
|
1904
|
+
--btn-padding: 0;
|
|
1905
|
+
--btn-text-size: var(--bs-text-md);
|
|
1906
|
+
}
|
|
1907
|
+
.bs-button:where([data-size^='sm'][data-text]:not([data-text="false"])) {
|
|
1908
|
+
--btn-text-size: var(--bs-text-base);
|
|
1909
|
+
}
|
|
1910
|
+
/* Size XS & XXS only applies to text buttons */
|
|
1911
|
+
.bs-button:where([data-size^='xs'][data-text]:not([data-text="false"])) {
|
|
1912
|
+
--btn-text-size: var(--bs-text-sm);
|
|
1913
|
+
}
|
|
1914
|
+
.bs-button:where([data-size^='xxs'][data-text]:not([data-text="false"])) {
|
|
1915
|
+
--btn-text-size: var(--bs-text-xs);
|
|
1916
|
+
--btn-weight: 600;
|
|
1917
|
+
}
|
|
1918
|
+
/* ------------ Disabled Styling ------------ */
|
|
1919
|
+
:where(button:disabled),
|
|
1920
|
+
.bs-button:where(:disabled),
|
|
1921
|
+
.bs-button:where([aria-disabled="true"]) /* for links as buttons */ {
|
|
1922
|
+
pointer-events: none;
|
|
1923
|
+
}
|
|
1924
|
+
.bs-button:where(:disabled),
|
|
1925
|
+
.bs-button:where([aria-disabled="true"]) {
|
|
1926
|
+
--btn-ink: var(--bs-ink-disabled);
|
|
1927
|
+
--btn-main: var(--bs-bg-disabled);
|
|
1928
|
+
box-shadow: none;
|
|
1929
|
+
transform: none;
|
|
1930
|
+
}
|
|
1931
|
+
.bs-button:where([data-ghost]:not([data-ghost="false"])):disabled,
|
|
1932
|
+
.bs-button:where([data-ghost]:not([data-ghost="false"]))[aria-disabled="true"] {
|
|
1933
|
+
--btn-ghost-ink: var(--bs-ink-disabled);
|
|
1934
|
+
}
|
|
1935
|
+
.bs-button:where([data-text]:not([data-text="false"])):disabled,
|
|
1936
|
+
.bs-button:where([data-text]:not([data-text="false"]))[aria-disabled="true"] {
|
|
1937
|
+
--btn-main: transparent;
|
|
1938
|
+
}
|
|
1939
|
+
/* ------------ links as buttons ------------ */
|
|
1940
|
+
a.bs-button {
|
|
1941
|
+
align-items: center;
|
|
1942
|
+
display: inline-flex;
|
|
1943
|
+
outline: none;
|
|
1944
|
+
vertical-align: middle;
|
|
1945
|
+
}
|
|
1946
|
+
.bs-chart {
|
|
1947
|
+
display: block;
|
|
1948
|
+
height: 100%;
|
|
1949
|
+
width: 100%;
|
|
1950
|
+
}
|
|
1951
|
+
.bs-chart :where(figure) {
|
|
1952
|
+
-moz-column-gap: 2.5rem;
|
|
1953
|
+
column-gap: 2.5rem;
|
|
1954
|
+
display: grid;
|
|
1955
|
+
font-size: .875rem;
|
|
1956
|
+
grid-template-areas: var(--chart-gridareas, "chart" "legend");
|
|
1957
|
+
grid-template-columns: var(--chart-gridcols, 100%);
|
|
1958
|
+
grid-template-rows: var(--chart-gridrows, minmax(0px, auto) minmax(0px, min-content));
|
|
1959
|
+
height: 100%;
|
|
1960
|
+
margin-block: unset;
|
|
1961
|
+
margin-inline: unset;
|
|
1962
|
+
position: relative;
|
|
1963
|
+
width: 100%;
|
|
1964
|
+
}
|
|
1965
|
+
.bs-chart :where(figure > :first-child) {
|
|
1966
|
+
grid-area: chart;
|
|
1967
|
+
}
|
|
1968
|
+
.bs-chart :where(figure > :last-child) {
|
|
1969
|
+
grid-area: legend;
|
|
1970
|
+
}
|
|
1971
|
+
.bs-chart :where(figure > div) {
|
|
1972
|
+
min-width: 100%;
|
|
1973
|
+
width: 100%;
|
|
1974
|
+
}
|
|
1975
|
+
.bs-chart :where(canvas) {
|
|
1976
|
+
width: 100%;
|
|
1977
|
+
}
|
|
1978
|
+
/* --------- Legend Styles --------- */
|
|
1979
|
+
.bs-chart :where(figcaption) {
|
|
1980
|
+
background-color: var(--legend-bg-color, transparent);
|
|
1981
|
+
border-radius: .5rem;
|
|
1982
|
+
border: 1px solid var(--legend-border-color, transparent);
|
|
1983
|
+
clip-path: var(--legend-clip-path, none);
|
|
1984
|
+
max-height: var(--legend-max-height, 100%);
|
|
1985
|
+
overflow-y: var(--legend-overflow-y, hidden);
|
|
1986
|
+
}
|
|
1987
|
+
.bs-chart :where(figcaption[data-hidden="true"]) {
|
|
1988
|
+
border: 0;
|
|
1989
|
+
clip: rect(0 0 0 0);
|
|
1990
|
+
height: 1px;
|
|
1991
|
+
margin: 0;
|
|
1992
|
+
overflow: hidden;
|
|
1993
|
+
padding: 0;
|
|
1994
|
+
position: absolute;
|
|
1995
|
+
white-space: nowrap;
|
|
1996
|
+
width: 1px;
|
|
1997
|
+
}
|
|
1998
|
+
.bs-chart :where(ul) {
|
|
1999
|
+
align-items: var(--legend-flexalign, center);
|
|
2000
|
+
display: flex;
|
|
2001
|
+
-moz-column-gap: 2.5rem;
|
|
2002
|
+
column-gap: 2.5rem;
|
|
2003
|
+
flex-direction: var(--legend-flexdir, row);
|
|
2004
|
+
flex-wrap: var(--legend-flexwrap, wrap);
|
|
2005
|
+
padding-block: var(--legend-padding-block, .25rem);
|
|
2006
|
+
/* cjs-legend-padding is set dynamically by chart.js for bar charts */
|
|
2007
|
+
padding-inline: var(--legend-padding-inline, var(--cjs-legend-padding-inline, 2.5rem));
|
|
2008
|
+
row-gap: .75rem;
|
|
2009
|
+
}
|
|
2010
|
+
.bs-chart :where(li, li:focus, li:active, li:focus-visible) {
|
|
2011
|
+
align-items: center;
|
|
2012
|
+
cursor: pointer;
|
|
2013
|
+
display: flex;
|
|
2014
|
+
flex-direction: row;
|
|
2015
|
+
outline: 0;
|
|
2016
|
+
position: relative;
|
|
2017
|
+
width: var(--legend-item-width, auto);
|
|
2018
|
+
}
|
|
2019
|
+
.bs-chart :where(li)::after {
|
|
2020
|
+
border: solid var(--focus-color, transparent) 2px;
|
|
2021
|
+
border-radius: 0.25rem;
|
|
2022
|
+
content: '';
|
|
2023
|
+
display: block;
|
|
2024
|
+
inset: -.25rem;
|
|
2025
|
+
position: absolute;
|
|
2026
|
+
}
|
|
2027
|
+
.bs-chart :where(li:focus-visible) {
|
|
2028
|
+
--focus-color: var(--bs-blue-base);
|
|
2029
|
+
}
|
|
2030
|
+
.bs-chart :where(li span) {
|
|
2031
|
+
background: var(--legend-item-box-fill);
|
|
2032
|
+
border-color: var(--legend-item-box-stroke);
|
|
2033
|
+
border-radius: var(--legend-item-swatch-radius, 3px);
|
|
2034
|
+
display: inline-block;
|
|
2035
|
+
height: var(--bs-text-f-md);
|
|
2036
|
+
margin-right: 10px;
|
|
2037
|
+
width: var(--bs-text-f-md);
|
|
2038
|
+
}
|
|
2039
|
+
.bs-chart :where(li p) {
|
|
2040
|
+
color: var(--legend-item-text-color);
|
|
2041
|
+
font-size: var(--bs-text-f-md);
|
|
2042
|
+
margin: 0;
|
|
2043
|
+
padding: 0;
|
|
2044
|
+
-webkit-text-decoration: var(--legend-item-text-decoration);
|
|
2045
|
+
text-decoration: var(--legend-item-text-decoration);
|
|
2046
|
+
}
|
|
2047
|
+
/* --------- Chart Layout Variants --------- */
|
|
2048
|
+
/*
|
|
2049
|
+
For now, per design team instructions, these are NOT responsive as we're only to expose these
|
|
2050
|
+
variants for a very specific, single use-case that involves horizontal scroll...
|
|
2051
|
+
If we want to make these responsive in the future, can wrap in media query.
|
|
2052
|
+
*/
|
|
2053
|
+
.bs-chart:where([data-layout="chart-right"], [data-layout="chart-left"]) {
|
|
2054
|
+
--chart-gridrows: minmax(0px, auto);
|
|
2055
|
+
--legend-bg-color: var(--bs-bg-base);
|
|
1656
2056
|
--legend-border-color: var(--bs-gray-light);
|
|
1657
2057
|
--legend-clip-path: border-box;
|
|
1658
2058
|
--legend-flexalign: start;
|
|
@@ -1694,12 +2094,420 @@ uncomment to make visible when testing
|
|
|
1694
2094
|
}
|
|
1695
2095
|
|
|
1696
2096
|
*/
|
|
1697
|
-
/*
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
2097
|
+
/*
|
|
2098
|
+
Properties : Defaults // Description
|
|
2099
|
+
====================================
|
|
2100
|
+
--btn-icon-bg-color: var(--btn-main); // icon bg color (base state)
|
|
2101
|
+
--btn-icon-padding: .75rem; // padding around icon svg
|
|
2102
|
+
--btn-icon-size: 1.5rem; // svg width and height
|
|
2103
|
+
--btn-icon-stroke-color: var(--bs-white);
|
|
2104
|
+
--btn-main: var(--bs-blue-base); // many things... should probably break this up
|
|
2105
|
+
--btn-text-color: var(--bs-ink-base);
|
|
2106
|
+
--btn-text-size: var(--bs-text-md);
|
|
2107
|
+
|
|
2108
|
+
--btn-border-color: transparent; // focus state outline color - transparent base state, --btn-main base focus state
|
|
2109
|
+
--btn-border-color-focused: var(--btn-main); // focus state ring color set on variants
|
|
2110
|
+
--btn-secondary: var(--bs-blue-medium); // hover state icon bg
|
|
2111
|
+
--btn-shadow-color-active: var(--btn-main); // active state shadow color (icon bg)
|
|
2112
|
+
--btn-text-color-hovered: var(--bs-ink-base); // hover state text color
|
|
2113
|
+
*/
|
|
2114
|
+
:where(.bs-circle-button) {
|
|
2115
|
+
--btn-border-color-focused: var(--btn-main);
|
|
2116
|
+
--btn-border-color: transparent;
|
|
2117
|
+
--btn-focus-inset: -0.25rem;
|
|
2118
|
+
--btn-gap: .5rem;
|
|
2119
|
+
--btn-icon-bg-color: var(--btn-main);
|
|
2120
|
+
--btn-icon-padding: .75rem;
|
|
2121
|
+
--btn-icon-size: 1.5rem;
|
|
2122
|
+
--btn-icon-stroke-color: var(--bs-white);
|
|
2123
|
+
--btn-main: var(--bs-blue-base);
|
|
2124
|
+
--btn-secondary: var(--bs-blue-medium);
|
|
2125
|
+
--btn-shadow-color-active: var(--btn-main);
|
|
2126
|
+
--btn-text-color-hovered: var(--bs-ink-base);
|
|
2127
|
+
--btn-text-color: var(--bs-ink-base);
|
|
2128
|
+
--btn-text-size: 1.125rem;
|
|
2129
|
+
--btn-text-weight: 400;
|
|
2130
|
+
}
|
|
2131
|
+
.bs-circle-button {
|
|
2132
|
+
align-items: center;
|
|
2133
|
+
background-color: transparent;
|
|
2134
|
+
color: var(--btn-text-color);
|
|
2135
|
+
cursor: pointer;
|
|
2136
|
+
display: inline-flex;
|
|
2137
|
+
font-size: var(--btn-text-size);
|
|
2138
|
+
font-weight: var(--btn-text-weight);
|
|
2139
|
+
gap: var(--btn-gap);
|
|
2140
|
+
outline: none;
|
|
2141
|
+
position: relative;
|
|
2142
|
+
vertical-align: middle;
|
|
2143
|
+
}
|
|
2144
|
+
a.bs-circle-button {
|
|
2145
|
+
align-items: center;
|
|
2146
|
+
display: inline-flex;
|
|
2147
|
+
outline: none;
|
|
2148
|
+
text-decoration: none;
|
|
2149
|
+
}
|
|
2150
|
+
.bs-circle-button :where(.bs-circle-button-icon) {
|
|
2151
|
+
align-items: center;
|
|
2152
|
+
background-color: var(--btn-icon-bg-color);
|
|
2153
|
+
border: none;
|
|
2154
|
+
border-radius: 50%;
|
|
2155
|
+
color: var(--btn-icon-stroke-color);
|
|
2156
|
+
display: inline-flex;
|
|
2157
|
+
justify-content: center;
|
|
2158
|
+
outline: 2px solid transparent;
|
|
2159
|
+
padding: var(--btn-icon-padding);
|
|
2160
|
+
position: relative;
|
|
2161
|
+
transition: all 100ms ease-in-out;
|
|
2162
|
+
}
|
|
2163
|
+
.bs-circle-button :where(.bs-circle-button-icon)::before {
|
|
2164
|
+
border-color: var(--btn-border-color);
|
|
2165
|
+
border-radius: 50%;
|
|
2166
|
+
border-style: solid;
|
|
2167
|
+
border-width: 0.125rem;
|
|
2168
|
+
content: '';
|
|
2169
|
+
inset: var(--btn-focus-inset);
|
|
2170
|
+
position: absolute;
|
|
2171
|
+
transition: border-color 125ms ease-in-out, transform 100ms ease-in-out;
|
|
2172
|
+
}
|
|
2173
|
+
.bs-circle-button :where(.bs-circle-button-icon) :where(.bs-icon) {
|
|
2174
|
+
--icon-size: var(--btn-icon-size);
|
|
2175
|
+
}
|
|
2176
|
+
/* non-bs-icon svgs */
|
|
2177
|
+
.bs-circle-button :where(.bs-circle-button-icon) > :where(svg) {
|
|
2178
|
+
height: var(--btn-icon-size);
|
|
2179
|
+
width: var(--btn-icon-size);
|
|
2180
|
+
}
|
|
2181
|
+
/* Icon Buttons with Text */
|
|
2182
|
+
.bs-circle-button:where([data-text]:not([data-text="false"])) {
|
|
2183
|
+
--btn-text-size: var(--bs-text-md);
|
|
2184
|
+
--btn-icon-size: 0.75rem;
|
|
2185
|
+
--btn-icon-padding: 0.375rem;
|
|
2186
|
+
}
|
|
2187
|
+
/* Ghost Buttons */
|
|
2188
|
+
.bs-circle-button:where([data-ghost]:not([data-ghost="false"])) {
|
|
2189
|
+
--btn-icon-bg-color: transparent;
|
|
2190
|
+
--btn-icon-stroke-color: var(--btn-main);
|
|
2191
|
+
--btn-light: var(--bs-blue-10);
|
|
2192
|
+
--btn-secondary: var(--bs-blue-10);
|
|
2193
|
+
}
|
|
2194
|
+
/* Active, Hover, Focus states */
|
|
2195
|
+
.bs-circle-button:active, .bs-circle-button:hover {
|
|
2196
|
+
--btn-icon-bg-color: var(--btn-secondary);
|
|
2197
|
+
--btn-text-color: var(--btn-text-color-hovered);
|
|
2198
|
+
}
|
|
2199
|
+
.bs-circle-button:active :where(.bs-circle-button-icon) {
|
|
2200
|
+
box-shadow: inset 0px 0px 4px 1px var(--btn-shadow-color-active);
|
|
2201
|
+
transform-origin: center;
|
|
2202
|
+
transform: scale(0.97);
|
|
2203
|
+
}
|
|
2204
|
+
.bs-circle-button:where([data-direction="right"]):hover :where(.bs-circle-button-icon),
|
|
2205
|
+
.bs-circle-button:where([data-direction="right"]):hover::before {
|
|
2206
|
+
transform: translateX(.25rem);
|
|
2207
|
+
}
|
|
2208
|
+
.bs-circle-button:where([data-direction="left"]):hover :where(.bs-circle-button-icon),
|
|
2209
|
+
.bs-circle-button:where([data-direction="left"]):hover::before {
|
|
2210
|
+
transform: translateX(-.25rem);
|
|
2211
|
+
}
|
|
2212
|
+
.bs-circle-button:where([data-ghost]:not([data-ghost="false"])):hover {
|
|
2213
|
+
--btn-icon-bg-color: var(--btn-light);
|
|
2214
|
+
}
|
|
2215
|
+
.bs-circle-button:where(:focus-visible) {
|
|
2216
|
+
--btn-border-color: var(--btn-border-color-focused);
|
|
2217
|
+
}
|
|
2218
|
+
/* Disabled State */
|
|
2219
|
+
.bs-circle-button:where(:disabled, [aria-disabled]:not([aria-disabled="false"])) /* for links as buttons */ {
|
|
2220
|
+
--btn-icon-stroke-color: var(--bs-ink-disabled);
|
|
2221
|
+
--btn-text-color: var(--bs-ink-disabled);
|
|
2222
|
+
pointer-events: none;
|
|
2223
|
+
}
|
|
2224
|
+
.bs-circle-button:where(:disabled, [aria-disabled]:not([aria-disabled="false"])) {
|
|
2225
|
+
--btn-icon-bg-color: var(--bs-bg-disabled);
|
|
2226
|
+
}
|
|
2227
|
+
/* Button Size */
|
|
2228
|
+
.bs-circle-button:where([data-size^='sm']) {
|
|
2229
|
+
--btn-icon-padding: .375rem;
|
|
2230
|
+
--btn-icon-size: .75rem;
|
|
2231
|
+
--btn-text-size: .875rem;
|
|
2232
|
+
}
|
|
2233
|
+
.bs-circle-button:where([data-size^='sm'][data-text]:not([data-text="false"])) {
|
|
2234
|
+
--btn-icon-padding: .3125rem;
|
|
2235
|
+
--btn-icon-size: .625rem;
|
|
2236
|
+
--btn-text-size: 1rem;
|
|
2237
|
+
}
|
|
2238
|
+
.bs-circle-button:where([data-size='xs'][data-text]:not([data-text="false"])) {
|
|
2239
|
+
--btn-icon-padding: .25rem;
|
|
2240
|
+
--btn-icon-size: .5rem;
|
|
2241
|
+
--btn-text-size: .875rem;
|
|
2242
|
+
}
|
|
2243
|
+
/* Color Variants */
|
|
2244
|
+
.bs-circle-button:where([data-variant^="color"]) {
|
|
2245
|
+
--btn-gap: .5rem;
|
|
2246
|
+
--btn-icon-bg-color: transparent;
|
|
2247
|
+
--btn-icon-padding: 0;
|
|
2248
|
+
--btn-icon-size: .75rem; /* stays the same for all sizes */
|
|
2249
|
+
--btn-icon-stroke-color: var(--btn-text-color);
|
|
2250
|
+
--btn-secondary: transparent;
|
|
2251
|
+
--btn-shadow-color-active: transparent;
|
|
2252
|
+
}
|
|
2253
|
+
.bs-circle-button:where([data-variant="color-blue"]) {
|
|
2254
|
+
--btn-border-color-focused: var(--bs-ink-blue);
|
|
2255
|
+
--btn-text-color: var(--bs-ink-blue);
|
|
2256
|
+
--btn-text-color-hovered: var(--bs-blue-base);
|
|
2257
|
+
}
|
|
2258
|
+
.bs-circle-button:where([data-variant="color-royal"]) {
|
|
2259
|
+
--btn-border-color-focused: var(--bs-ink-royal);
|
|
2260
|
+
--btn-text-color: var(--bs-ink-royal);
|
|
2261
|
+
--btn-text-color-hovered: var(--bs-royal-medium);
|
|
2262
|
+
}
|
|
2263
|
+
.bs-circle-button:where([data-variant="color-purple"]) {
|
|
2264
|
+
--btn-border-color-focused: var(--bs-purple-400);
|
|
2265
|
+
--btn-text-color: var(--bs-ink-purple);
|
|
2266
|
+
--btn-text-color-hovered: var(--bs-purple-medium);
|
|
2267
|
+
}
|
|
2268
|
+
.bs-circle-button:where([data-variant="color-pink"]) {
|
|
2269
|
+
--btn-border-color-focused: var(--bs-pink-400);
|
|
2270
|
+
--btn-text-color: var(--bs-ink-pink);
|
|
2271
|
+
--btn-text-color-hovered: var(--bs-pink-base);
|
|
2272
|
+
}
|
|
2273
|
+
.bs-circle-button:where([data-variant="color-orange"]) {
|
|
2274
|
+
--btn-border-color-focused: var(--bs-ink-orange);
|
|
2275
|
+
--btn-text-color: var(--bs-ink-orange);
|
|
2276
|
+
--btn-text-color-hovered: var(--bs-orange-base);
|
|
2277
|
+
}
|
|
2278
|
+
.bs-circle-button:where([data-variant="color-red"]) {
|
|
2279
|
+
--btn-border-color-focused: var(--bs-ink-red);
|
|
2280
|
+
--btn-text-color: var(--bs-ink-red);
|
|
2281
|
+
--btn-text-color-hovered: var(--bs-red-base);
|
|
2282
|
+
}
|
|
2283
|
+
.bs-circle-button:where([data-variant="color-white"]) {
|
|
2284
|
+
--btn-border-color-focused: var(--bs-ink-white);
|
|
2285
|
+
--btn-text-color: var(--bs-ink-white);
|
|
2286
|
+
/* 80% of --bs-white */
|
|
2287
|
+
--btn-text-color-hovered: rgba(255, 255, 255, 0.8);
|
|
2288
|
+
}
|
|
2289
|
+
.bs-circle-button:where([data-variant^="color"]):where(:disabled, [aria-disabled]:not([aria-disabled="false"])) {
|
|
2290
|
+
--btn-icon-bg-color: transparent;
|
|
2291
|
+
--btn-text-color: var(--bs-ink-disabled);
|
|
2292
|
+
}
|
|
2293
|
+
/* size XXS only supported for color variants */
|
|
2294
|
+
.bs-circle-button:where([data-variant^="color"]):where([data-size='xxs'][data-text]:not([data-text="false"])) {
|
|
2295
|
+
--btn-text-size: .75rem;
|
|
2296
|
+
--btn-text-weight: 600;
|
|
2297
|
+
}
|
|
2298
|
+
/* Option list */
|
|
2299
|
+
.bs-dropdown-options {
|
|
2300
|
+
display: flex;
|
|
2301
|
+
flex-direction: column;
|
|
2302
|
+
gap: 0.5rem;
|
|
2303
|
+
list-style: none;
|
|
2304
|
+
margin-bottom: 0.25rem;
|
|
2305
|
+
margin-top: 0.25rem;
|
|
2306
|
+
max-height: var(--options-height-max, 20rem);/* constrain scrollable to options section */
|
|
2307
|
+
overflow-y: auto;
|
|
2308
|
+
padding-block: 0.5rem;
|
|
2309
|
+
padding-left: 0;
|
|
2310
|
+
position: relative;
|
|
2311
|
+
}
|
|
2312
|
+
.bs-dropdown-options:focus-visible {
|
|
2313
|
+
outline: none;
|
|
2314
|
+
}
|
|
2315
|
+
/* Stabilize scrollbar gutter for Firefox (https://bugzilla.mozilla.org/show_bug.cgi?id=764076) */
|
|
2316
|
+
@media (min-width: 1166px) {
|
|
2317
|
+
/* 5th or 8th child triggers overflow-y (depending on variant) */
|
|
2318
|
+
:where([data-width="content"]) > .bs-dropdown-options:where(:has([data-variant*="description"]:nth-child(5))),
|
|
2319
|
+
:where([data-width="content"]) > .bs-dropdown-options:where(:has(li:not([data-variant*="description"]):nth-child(8))) {
|
|
2320
|
+
scrollbar-gutter: stable;
|
|
2321
|
+
}
|
|
2322
|
+
|
|
2323
|
+
/* Fallback for older Firefox+ only if we're not setting data-overflow values */
|
|
2324
|
+
@supports not selector(:has(*)) {
|
|
2325
|
+
:where([data-width="content"]) > .bs-dropdown-options {
|
|
2326
|
+
scrollbar-gutter: stable;
|
|
2327
|
+
}
|
|
2328
|
+
}
|
|
2329
|
+
|
|
2330
|
+
/* Also allow this for js solutions if :has not available via data-overflow */
|
|
2331
|
+
/* Reset scrollbar gutter when data-overflow is used */
|
|
2332
|
+
:where([data-width="content"]) > .bs-dropdown-options:where([data-overflow]) {
|
|
2333
|
+
scrollbar-gutter: auto;
|
|
2334
|
+
}
|
|
2335
|
+
|
|
2336
|
+
:where([data-width="content"]) > .bs-dropdown-options:where([data-overflow="true"]) {
|
|
2337
|
+
scrollbar-gutter: stable;
|
|
2338
|
+
}
|
|
2339
|
+
}
|
|
2340
|
+
/* Option list item */
|
|
2341
|
+
.bs-dropdown-options :where(li) {
|
|
2342
|
+
align-items: center;
|
|
2343
|
+
border-bottom: 2px solid transparent;
|
|
2344
|
+
border-left: 4px solid transparent;
|
|
2345
|
+
border-radius: 3px;
|
|
2346
|
+
border-right: 2px solid transparent;
|
|
2347
|
+
border-top: 2px solid transparent;
|
|
2348
|
+
color: var(--bs-ink-base);
|
|
2349
|
+
-moz-column-gap: 0.5rem;
|
|
2350
|
+
column-gap: 0.5rem;
|
|
2351
|
+
cursor: pointer;
|
|
2352
|
+
display: grid;
|
|
2353
|
+
padding-block: 0.25rem;
|
|
2354
|
+
padding-inline: 1.25rem;
|
|
2355
|
+
row-gap: 0.125rem;
|
|
2356
|
+
word-break: break-word;
|
|
2357
|
+
word-wrap: break-word;
|
|
2358
|
+
}
|
|
2359
|
+
/* Variant: 2-col */
|
|
2360
|
+
.bs-dropdown-options :where(li[data-variant~="2-col"]) {
|
|
2361
|
+
grid-template-columns: min-content 1fr;
|
|
2362
|
+
}
|
|
2363
|
+
/* Variant: 3-col */
|
|
2364
|
+
.bs-dropdown-options :where(li[data-variant~="3-col"]) {
|
|
2365
|
+
grid-template-columns: min-content min-content 1fr;
|
|
2366
|
+
}
|
|
2367
|
+
/* Variant: description */
|
|
2368
|
+
.bs-dropdown-options :where(li:not([data-variant*="-col"])[data-variant~="description"] > :nth-child(2)),
|
|
2369
|
+
.bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"] > :nth-child(3)),
|
|
2370
|
+
.bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"] > :nth-child(4)) {
|
|
2371
|
+
color: var(--bs-ink-light);
|
|
2372
|
+
font-size: var(--bs-text-xs);
|
|
2373
|
+
min-height: 1.125rem;
|
|
2374
|
+
line-height: 1.125rem;
|
|
2375
|
+
}
|
|
2376
|
+
/* Variant: 2-col description */
|
|
2377
|
+
.bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"] > :nth-child(3)) {
|
|
2378
|
+
grid-column-start: 2;
|
|
2379
|
+
}
|
|
2380
|
+
/* Variant: 3-col description */
|
|
2381
|
+
.bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"] > :nth-child(4)) {
|
|
2382
|
+
grid-column-start: 3;
|
|
2383
|
+
}
|
|
2384
|
+
/* Hover or data-selected */
|
|
2385
|
+
.bs-dropdown-options :where(li:not([role="separator"]):hover),
|
|
2386
|
+
.bs-dropdown-options :where(li[data-selected]) {
|
|
2387
|
+
background-color: var(--bs-bg-medium-to-light);
|
|
2388
|
+
border-left: 4px solid var(--bs-ink-blue);
|
|
2389
|
+
color: var(--bs-ink-blue);
|
|
2390
|
+
outline: none;
|
|
2391
|
+
}
|
|
2392
|
+
/* Variant: negative */
|
|
2393
|
+
.bs-dropdown-options :where(li[data-variant~="negative"]:hover),
|
|
2394
|
+
.bs-dropdown-options :where(li[data-variant~="negative"][data-selected]),
|
|
2395
|
+
.bs-dropdown-options :where(li[data-variant~="negative"][data-selected]:hover) {
|
|
2396
|
+
/* 25% alpha version of --bs-red-400 */
|
|
2397
|
+
background-color: rgba(248, 169, 170, 0.25);
|
|
2398
|
+
border-left: 4px solid var(--bs-ink-red);
|
|
2399
|
+
color: var(--bs-ink-red);
|
|
2400
|
+
}
|
|
2401
|
+
/* Hover or data-selected for 2-col/3-col/description variants */
|
|
2402
|
+
.bs-dropdown-options :where(li:not([data-variant*="-col"])[data-variant~="description"]:hover > :nth-child(2)),
|
|
2403
|
+
.bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"]:hover > :nth-child(3)),
|
|
2404
|
+
.bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"]:hover > :nth-child(4)),
|
|
2405
|
+
.bs-dropdown-options :where(li:not([data-variant*="-col"])[data-variant~="description"][data-selected] > :nth-child(2)),
|
|
2406
|
+
.bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"][data-selected] > :nth-child(3)),
|
|
2407
|
+
.bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"][data-selected] > :nth-child(4)) {
|
|
2408
|
+
color: var(--bs-ink-blue);
|
|
2409
|
+
}
|
|
2410
|
+
/* Hover or data-selected for negative + 2-col/3-col/description variants */
|
|
2411
|
+
.bs-dropdown-options :where(li[data-variant~="negative"]:not([data-variant*="-col"])[data-variant~="description"]:hover > :nth-child(2)),
|
|
2412
|
+
.bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="2-col"][data-variant~="description"]:hover > :nth-child(3)),
|
|
2413
|
+
.bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="3-col"][data-variant~="description"]:hover > :nth-child(4)),
|
|
2414
|
+
.bs-dropdown-options :where(li[data-variant~="negative"]:not([data-variant*="-col"])[data-variant~="description"][data-selected] > :nth-child(2)),
|
|
2415
|
+
.bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="2-col"][data-variant~="description"][data-selected] > :nth-child(3)),
|
|
2416
|
+
.bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="3-col"][data-variant~="description"][data-selected] > :nth-child(4)) {
|
|
2417
|
+
color: var(--bs-ink-red);
|
|
2418
|
+
}
|
|
2419
|
+
/* List option keyboard navigation focus */
|
|
2420
|
+
.bs-dropdown-options:where(:focus-visible) :where(li[data-active]) {
|
|
2421
|
+
--focus-border-color: var(--bs-blue-base);
|
|
2422
|
+
border: 2px solid var(--focus-border-color);
|
|
2423
|
+
outline: none;
|
|
2424
|
+
padding-left: 1.375rem;
|
|
2425
|
+
}
|
|
2426
|
+
/* Navigation focus on a selected element should preserve 4px left border */
|
|
2427
|
+
.bs-dropdown-options:where(:focus-visible) :where(li[data-selected][data-active]) {
|
|
2428
|
+
border-left: 4px solid var(--focus-border-color);
|
|
2429
|
+
padding-left: 1.25rem;
|
|
2430
|
+
}
|
|
2431
|
+
/* data-variant="negative" list option keyboard navigation focus */
|
|
2432
|
+
.bs-dropdown-options:where(:focus-visible) :where(li[data-variant~="negative"][data-active]) {
|
|
2433
|
+
--focus-border-color: var(--bs-red-200);
|
|
2434
|
+
}
|
|
2435
|
+
/* Multi-select divider */
|
|
2436
|
+
.bs-dropdown-options :where(li[role="separator"]) {
|
|
2437
|
+
cursor: default;
|
|
2438
|
+
padding-block: 0.125rem;
|
|
2439
|
+
padding-right: 1.375rem;
|
|
2440
|
+
}
|
|
2441
|
+
/* Multi-select divider line */
|
|
2442
|
+
.bs-dropdown-options :where(hr) {
|
|
2443
|
+
background-color: var(--bs-navy-light);
|
|
2444
|
+
height: .0625rem;
|
|
2445
|
+
margin-block: 0;
|
|
2446
|
+
margin-inline: 0;
|
|
2447
|
+
}
|
|
2448
|
+
/* Disable hover styles */
|
|
2449
|
+
.bs-dropdown-options :where(li[data-no-hover]:hover) {
|
|
2450
|
+
background-color: transparent;
|
|
2451
|
+
border-left-color: transparent;
|
|
2452
|
+
color: var(--bs-ink-base);
|
|
2453
|
+
cursor: default;
|
|
2454
|
+
}
|
|
2455
|
+
/* Style label to look like other options */
|
|
2456
|
+
.bs-dropdown-options :where(li label) {
|
|
2457
|
+
cursor: pointer;
|
|
2458
|
+
font-size: 1rem;
|
|
2459
|
+
font-weight: 400;
|
|
2460
|
+
}
|
|
2461
|
+
/* Don't change option color when checkbox is present */
|
|
2462
|
+
.bs-dropdown-options :where(li[data-variant~="checkbox"]):hover,
|
|
2463
|
+
.bs-dropdown-options :where(li[data-variant~="checkbox"][data-selected]) {
|
|
2464
|
+
color: var(--bs-ink-base);
|
|
2465
|
+
}
|
|
2466
|
+
/* Don't change description color when checkbox is present */
|
|
2467
|
+
.bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="2-col"][data-variant~="description"]):hover > :nth-child(3),
|
|
2468
|
+
.bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="2-col"][data-variant~="description"][data-selected]) > :nth-child(3),
|
|
2469
|
+
.bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="3-col"][data-variant~="description"]):hover > :nth-child(4),
|
|
2470
|
+
.bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="3-col"][data-variant~="description"][data-selected]) > :nth-child(4) {
|
|
2471
|
+
color: var(--bs-ink-light);
|
|
2472
|
+
}
|
|
2473
|
+
/* Overrides mobile style when not min-width 1166 */
|
|
2474
|
+
.bs-dropdown:where([data-no-mobile="true"]) :where(.bs-dropdown-options) :where(li) {
|
|
2475
|
+
padding-left: 0.5rem;
|
|
2476
|
+
padding-right: 0.75rem;
|
|
2477
|
+
}
|
|
2478
|
+
.bs-dropdown:where([data-no-mobile="true"]) :where(.bs-dropdown-options) :where(li[role="separator"]) {
|
|
2479
|
+
padding-right: 0.625rem;
|
|
2480
|
+
}
|
|
2481
|
+
.bs-dropdown:where([data-no-mobile="true"]) :where(.bs-dropdown-options:focus-visible) :where(li[data-active]) {
|
|
2482
|
+
padding-left: 0.625rem;
|
|
2483
|
+
}
|
|
2484
|
+
.bs-dropdown:where([data-no-mobile="true"]) :where(.bs-dropdown-options:focus-visible) :where(li[data-selected][data-active]) {
|
|
2485
|
+
padding-left: 0.5rem;
|
|
2486
|
+
}
|
|
2487
|
+
@media (min-width: 1166px) {
|
|
2488
|
+
.bs-dropdown-options :where(li) {
|
|
2489
|
+
padding-left: 0.5rem;
|
|
2490
|
+
padding-right: 0.75rem;
|
|
2491
|
+
}
|
|
2492
|
+
|
|
2493
|
+
.bs-dropdown-options :where(li[role="separator"]) {
|
|
2494
|
+
padding-right: 0.625rem;
|
|
2495
|
+
}
|
|
2496
|
+
|
|
2497
|
+
.bs-dropdown-options:where(:focus-visible) :where(li[data-active]) {
|
|
2498
|
+
padding-left: 0.625rem;
|
|
2499
|
+
}
|
|
2500
|
+
|
|
2501
|
+
.bs-dropdown-options:where(:focus-visible) :where(li[data-selected][data-active]) {
|
|
2502
|
+
padding-left: 0.5rem;
|
|
2503
|
+
}
|
|
2504
|
+
}
|
|
2505
|
+
/* Parent */
|
|
2506
|
+
.bs-dropdown-parent {
|
|
2507
|
+
display: inline-block;
|
|
2508
|
+
position: relative;
|
|
2509
|
+
}
|
|
2510
|
+
/* Backdrop for mobile bottom sheet */
|
|
1703
2511
|
.bs-dropdown-backdrop {
|
|
1704
2512
|
-webkit-backdrop-filter: blur(4px);
|
|
1705
2513
|
backdrop-filter: blur(4px);
|
|
@@ -1775,372 +2583,504 @@ uncomment to make visible when testing
|
|
|
1775
2583
|
.bs-dropdown:where([data-width="lg"]) {
|
|
1776
2584
|
--dropdown-wscreen-width: 40rem;
|
|
1777
2585
|
}
|
|
1778
|
-
.bs-dropdown:where([data-width="content"]) {
|
|
1779
|
-
--dropdown-wscreen-width: max-content;
|
|
2586
|
+
.bs-dropdown:where([data-width="content"]) {
|
|
2587
|
+
--dropdown-wscreen-width: max-content;
|
|
2588
|
+
}
|
|
2589
|
+
.bs-dropdown-parent:where([data-width="toggle"]) :where(.bs-dropdown),
|
|
2590
|
+
.bs-dropdown-parent:where([data-width="anchor"]) :where(.bs-dropdown) {
|
|
2591
|
+
--dropdown-wscreen-width: 100%;
|
|
2592
|
+
}
|
|
2593
|
+
/* data-top */
|
|
2594
|
+
.bs-dropdown:where([data-top]:not([data-top="false"])) {
|
|
2595
|
+
--dropdown-wscreen-bottom: calc(100% + 0.5rem);
|
|
2596
|
+
--dropdown-wscreen-top: auto;
|
|
2597
|
+
}
|
|
2598
|
+
/* data-center */
|
|
2599
|
+
.bs-dropdown-parent:where([data-center]:not([data-center="false"])) :where(.bs-dropdown) {
|
|
2600
|
+
--dropdown-transform: translate(-50%, 0);
|
|
2601
|
+
--dropdown-wscreen-left: 50%;
|
|
2602
|
+
}
|
|
2603
|
+
/* data-right */
|
|
2604
|
+
.bs-dropdown-parent:where([data-right]:not([data-right="false"])) :where(.bs-dropdown) {
|
|
2605
|
+
--dropdown-transform: translate(0, 0);
|
|
2606
|
+
--dropdown-wscreen-left: auto;
|
|
2607
|
+
--dropdown-wscreen-right: 0;
|
|
2608
|
+
}
|
|
2609
|
+
/* Overrides mobile style when not min-width 1166 */
|
|
2610
|
+
.bs-dropdown:where([data-no-mobile="true"]) {
|
|
2611
|
+
--dropdown-bottom: var(--dropdown-wscreen-bottom, auto);
|
|
2612
|
+
--dropdown-left: var(--dropdown-wscreen-left, initial);
|
|
2613
|
+
--dropdown-right: var(--dropdown-wscreen-right, initial);
|
|
2614
|
+
--dropdown-top: var(--dropdown-wscreen-top, calc(100% + 0.5rem));
|
|
2615
|
+
--dropdown-width: var(--dropdown-wscreen-width, initial);
|
|
2616
|
+
--dropdown-transform: initial;
|
|
2617
|
+
|
|
2618
|
+
position: absolute;
|
|
2619
|
+
}
|
|
2620
|
+
.bs-dropdown:where([data-no-mobile="true"]) > :where(header) {
|
|
2621
|
+
display: none;
|
|
2622
|
+
}
|
|
2623
|
+
@media (min-width: 1166px) {
|
|
2624
|
+
.bs-dropdown-backdrop {
|
|
2625
|
+
display: none;
|
|
2626
|
+
}
|
|
2627
|
+
|
|
2628
|
+
.bs-dropdown {
|
|
2629
|
+
--dropdown-bottom: var(--dropdown-wscreen-bottom, auto);
|
|
2630
|
+
--dropdown-left: var(--dropdown-wscreen-left, initial);
|
|
2631
|
+
--dropdown-right: var(--dropdown-wscreen-right, initial);
|
|
2632
|
+
--dropdown-top: var(--dropdown-wscreen-top, calc(100% + 0.5rem));
|
|
2633
|
+
--dropdown-width: var(--dropdown-wscreen-width, initial);
|
|
2634
|
+
--dropdown-transform: initial;
|
|
2635
|
+
|
|
2636
|
+
position: absolute;
|
|
2637
|
+
}
|
|
2638
|
+
|
|
2639
|
+
/* Hide the header */
|
|
2640
|
+
.bs-dropdown > :where(header) {
|
|
2641
|
+
display: none;
|
|
2642
|
+
}
|
|
2643
|
+
}
|
|
2644
|
+
/* Vue Transition Styles - Only used in Vue component */
|
|
2645
|
+
.bs-dropdown:where(.bs-dropdown-enter-from),
|
|
2646
|
+
.bs-dropdown:where(.bs-dropdown-leave-to) {
|
|
2647
|
+
opacity: 0;
|
|
2648
|
+
transform: var(--dropdown-transform);
|
|
2649
|
+
}
|
|
2650
|
+
.bs-dropdown:where(.bs-dropdown-enter-to),
|
|
2651
|
+
.bs-dropdown:where(.bs-dropdown-leave-from) {
|
|
2652
|
+
opacity: 1;
|
|
2653
|
+
transform: translate(0, 0);
|
|
2654
|
+
}
|
|
2655
|
+
.bs-dropdown :where(.mobile-select-button-container) {
|
|
2656
|
+
display: none;
|
|
2657
|
+
overflow: hidden;
|
|
2658
|
+
}
|
|
2659
|
+
@media (max-width: 1166px) {
|
|
2660
|
+
.bs-dropdown :where(.mobile-select-button-container) {
|
|
2661
|
+
display: flex;
|
|
2662
|
+
}
|
|
2663
|
+
}
|
|
2664
|
+
.bs-dropdown :where(.mobile-select-button) {
|
|
2665
|
+
margin: .875rem;
|
|
2666
|
+
width: 100%;
|
|
2667
|
+
}
|
|
2668
|
+
.bs-empty-state {
|
|
2669
|
+
--bs-empty-state-description-color: var(--bs-ink-light);
|
|
2670
|
+
--bs-empty-state-icon-color: var(--bs-violet-300);
|
|
2671
|
+
--bs-empty-state-title-color: var(--bs-ink-base);
|
|
2672
|
+
--col-gap: var(--bs-space-6);
|
|
2673
|
+
--cta-spacing: var(--bs-space-4);
|
|
2674
|
+
--description-font-size: var(--bs-text-base);
|
|
2675
|
+
--description-line-height: var(--bs-leading-base);
|
|
2676
|
+
--description-weight: var(--bs-font-normal);
|
|
2677
|
+
--icon-size: 3rem;
|
|
2678
|
+
--title-font-size: var(--bs-text-lg);
|
|
2679
|
+
--title-line-height: 130%;
|
|
2680
|
+
--title-spacing: 0.5rem;
|
|
2681
|
+
--title-weight: var(--bs-font-normal);
|
|
2682
|
+
|
|
2683
|
+
align-items: center;
|
|
2684
|
+
-moz-column-gap: var(--col-gap);
|
|
2685
|
+
column-gap: var(--col-gap);
|
|
2686
|
+
display: grid;
|
|
2687
|
+
grid-template-columns: auto 1fr;
|
|
2688
|
+
}
|
|
2689
|
+
.bs-empty-state :where(.bs-empty-state-icon) {
|
|
2690
|
+
align-self: start;
|
|
2691
|
+
height: auto;
|
|
2692
|
+
max-width: var(--icon-size);
|
|
2693
|
+
width: 100%;
|
|
2694
|
+
}
|
|
2695
|
+
.bs-empty-state :where(.bs-empty-state-icon path) {
|
|
2696
|
+
fill: var(--bs-empty-state-icon-color);
|
|
2697
|
+
}
|
|
2698
|
+
.bs-empty-state :where(.bs-empty-state-title) {
|
|
2699
|
+
color: var(--bs-empty-state-title-color);
|
|
2700
|
+
font-size: var(--title-font-size);
|
|
2701
|
+
font-weight: var(--title-weight);
|
|
2702
|
+
line-height: var(--title-line-height);
|
|
2703
|
+
padding-block-end: var(--title-spacing);
|
|
2704
|
+
}
|
|
2705
|
+
.bs-empty-state :where(.bs-empty-state-description) {
|
|
2706
|
+
color: var(--bs-empty-state-description-color);
|
|
2707
|
+
font-size: var(--description-font-size);
|
|
2708
|
+
font-weight: var(--description-weight);
|
|
2709
|
+
line-height: var(--description-line-height);
|
|
2710
|
+
}
|
|
2711
|
+
.bs-empty-state :where(a) {
|
|
2712
|
+
color: var(--bs-ink-blue);
|
|
2713
|
+
text-decoration: underline;
|
|
2714
|
+
}
|
|
2715
|
+
.bs-empty-state :where(a:hover) {
|
|
2716
|
+
cursor: pointer;
|
|
2717
|
+
}
|
|
2718
|
+
/* Call to Actions */
|
|
2719
|
+
.bs-empty-state
|
|
2720
|
+
:where(
|
|
2721
|
+
.bs-empty-state-description + *,
|
|
2722
|
+
.bs-empty-state-title + *:not(.bs-empty-state-description)
|
|
2723
|
+
) {
|
|
2724
|
+
margin-block-start: var(--cta-spacing, var(--bs-space-4));
|
|
2725
|
+
}
|
|
2726
|
+
/* Sizing */
|
|
2727
|
+
.bs-empty-state:where([data-size^='xs']) {
|
|
2728
|
+
--col-gap: var(--bs-space-4);
|
|
2729
|
+
--cta-spacing: var(--bs-space-2);
|
|
2730
|
+
--icon-size: 1.5rem;
|
|
2731
|
+
--title-color: var(--bs-ink-light);
|
|
2732
|
+
--title-font-size: var(--bs-text-md);
|
|
2733
|
+
--title-line-height: var(--bs-leading-base);
|
|
2734
|
+
--title-spacing: 0;
|
|
2735
|
+
}
|
|
2736
|
+
.bs-empty-state:where([data-size^='sm']) {
|
|
2737
|
+
--description-font-size: var(--bs-text-sm);
|
|
2738
|
+
--icon-size: 2rem;
|
|
2739
|
+
--title-font-size: var(--bs-text-md);
|
|
2740
|
+
--title-line-height: var(--bs-leading-base);
|
|
2741
|
+
--title-spacing: 0.125rem;
|
|
1780
2742
|
}
|
|
1781
|
-
.bs-
|
|
1782
|
-
|
|
1783
|
-
--
|
|
2743
|
+
.bs-empty-state:where([data-size^='lg']) {
|
|
2744
|
+
--col-gap: var(--bs-space-8);
|
|
2745
|
+
--cta-spacing: var(--bs-space-6);
|
|
2746
|
+
--description-font-size: var(--bs-text-md);
|
|
2747
|
+
--icon-size: 4rem;
|
|
2748
|
+
--title-font-size: var(--bs-text-xl);
|
|
2749
|
+
--title-line-height: 110%;
|
|
2750
|
+
--title-weight: var(--bs-font-bold);
|
|
1784
2751
|
}
|
|
1785
|
-
/*
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
2752
|
+
/*
|
|
2753
|
+
custom properties:
|
|
2754
|
+
--filterbtn-caret-size
|
|
2755
|
+
--filterbtn-caret-transform
|
|
2756
|
+
--filterbtn-color
|
|
2757
|
+
--filterbtn-focus-color
|
|
2758
|
+
--filterbtn-height
|
|
2759
|
+
--filterbtn-text-size
|
|
2760
|
+
--filterbtn-weight
|
|
2761
|
+
*/
|
|
2762
|
+
button:where(.bs-filter-button) {
|
|
2763
|
+
--filterbtn-caret-size: 1rem;
|
|
2764
|
+
--filterbtn-caret-transform: rotate(0deg);
|
|
2765
|
+
--filterbtn-color: var(--bs-ink-blue);
|
|
2766
|
+
--filterbtn-focus-color: transparent;
|
|
2767
|
+
--filterbtn-height: 1.5rem;
|
|
2768
|
+
--filterbtn-text-size: var(--bs-text-base);
|
|
2769
|
+
--filterbtn-weight: 400;
|
|
2770
|
+
flex-shrink: 0;
|
|
2771
|
+
position: relative;
|
|
1789
2772
|
}
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
2773
|
+
.bs-filter-button {
|
|
2774
|
+
align-items: center;
|
|
2775
|
+
color: var(--filterbtn-color);
|
|
2776
|
+
-moz-column-gap: 0.5rem;
|
|
2777
|
+
column-gap: 0.5rem;
|
|
2778
|
+
cursor: pointer;
|
|
2779
|
+
display: inline-flex;
|
|
2780
|
+
font-size: var(--filterbtn-text-size);
|
|
2781
|
+
font-weight: var(--filterbtn-weight);
|
|
2782
|
+
height: var(--filterbtn-height);
|
|
2783
|
+
line-height: 1.5;
|
|
2784
|
+
transition: outline-color 100ms ease-in-out;
|
|
2785
|
+
width: -moz-max-content;
|
|
2786
|
+
width: max-content;
|
|
1794
2787
|
}
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
--dropdown-width: var(--dropdown-wscreen-width, initial);
|
|
1802
|
-
--dropdown-transform: initial;
|
|
1803
|
-
|
|
2788
|
+
.bs-filter-button::after {
|
|
2789
|
+
border: solid var(--filterbtn-focus-color) 2px;
|
|
2790
|
+
border-radius: 0.25rem;
|
|
2791
|
+
content: '';
|
|
2792
|
+
display: block;
|
|
2793
|
+
height: 100%;
|
|
1804
2794
|
position: absolute;
|
|
2795
|
+
transform: scale(1.25);
|
|
2796
|
+
width: 100%;
|
|
1805
2797
|
}
|
|
1806
|
-
.bs-
|
|
1807
|
-
|
|
2798
|
+
.bs-filter-button :where(.bs-icon),
|
|
2799
|
+
.bs-filter-button :where(span:has(svg:only-child)) {
|
|
2800
|
+
display: block;
|
|
2801
|
+
height: var(--filterbtn-caret-size);
|
|
2802
|
+
line-height: 1;
|
|
2803
|
+
transform: var(--filterbtn-caret-transform);
|
|
2804
|
+
transform-origin: center;
|
|
2805
|
+
transition: var(--bs-trans-rotate180);
|
|
2806
|
+
width: var(--filterbtn-caret-size);
|
|
1808
2807
|
}
|
|
1809
|
-
|
|
1810
|
-
.bs-dropdown-backdrop {
|
|
1811
|
-
display: none;
|
|
1812
|
-
}
|
|
1813
|
-
|
|
1814
|
-
.bs-dropdown {
|
|
1815
|
-
--dropdown-bottom: var(--dropdown-wscreen-bottom, auto);
|
|
1816
|
-
--dropdown-left: var(--dropdown-wscreen-left, initial);
|
|
1817
|
-
--dropdown-right: var(--dropdown-wscreen-right, initial);
|
|
1818
|
-
--dropdown-top: var(--dropdown-wscreen-top, calc(100% + 0.5rem));
|
|
1819
|
-
--dropdown-width: var(--dropdown-wscreen-width, initial);
|
|
1820
|
-
--dropdown-transform: initial;
|
|
1821
|
-
|
|
1822
|
-
position: absolute;
|
|
1823
|
-
}
|
|
2808
|
+
.bs-filter-button:where([data-size="sm"],[data-size="xs"]) {
|
|
1824
2809
|
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
display: none;
|
|
1828
|
-
}
|
|
1829
|
-
}
|
|
1830
|
-
/* Vue Transition Styles - Only used in Vue component */
|
|
1831
|
-
.bs-dropdown:where(.bs-dropdown-enter-from),
|
|
1832
|
-
.bs-dropdown:where(.bs-dropdown-leave-to) {
|
|
1833
|
-
opacity: 0;
|
|
1834
|
-
transform: var(--dropdown-transform);
|
|
1835
|
-
}
|
|
1836
|
-
.bs-dropdown:where(.bs-dropdown-enter-to),
|
|
1837
|
-
.bs-dropdown:where(.bs-dropdown-leave-from) {
|
|
1838
|
-
opacity: 1;
|
|
1839
|
-
transform: translate(0, 0);
|
|
1840
|
-
}
|
|
1841
|
-
.bs-dropdown :where(.mobile-select-button-container) {
|
|
1842
|
-
display: none;
|
|
1843
|
-
overflow: hidden;
|
|
2810
|
+
--filterbtn-text-size: var(--bs-text-sm);
|
|
2811
|
+
--filterbtn-caret-size: .75rem;
|
|
1844
2812
|
}
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
display: flex;
|
|
1848
|
-
}
|
|
2813
|
+
.bs-filter-button:where([data-size="sm"]) {
|
|
2814
|
+
--filterbtn-text-size: var(--bs-text-sm);
|
|
1849
2815
|
}
|
|
1850
|
-
.bs-
|
|
1851
|
-
|
|
1852
|
-
|
|
2816
|
+
.bs-filter-button:where([data-size="xs"]) {
|
|
2817
|
+
--filterbtn-text-size: var(--bs-text-xs);
|
|
2818
|
+
--filterbtn-weight: 600;
|
|
1853
2819
|
}
|
|
1854
|
-
/*
|
|
1855
|
-
.bs-
|
|
1856
|
-
|
|
1857
|
-
flex-direction: column;
|
|
1858
|
-
gap: 0.5rem;
|
|
1859
|
-
list-style: none;
|
|
1860
|
-
margin-bottom: 0.25rem;
|
|
1861
|
-
margin-top: 0.25rem;
|
|
1862
|
-
max-height: var(--options-height-max, 20rem);/* constrain scrollable to options section */
|
|
1863
|
-
overflow-y: auto;
|
|
1864
|
-
padding-block: 0.5rem;
|
|
1865
|
-
padding-left: 0;
|
|
1866
|
-
position: relative;
|
|
2820
|
+
/* Hover state */
|
|
2821
|
+
.bs-filter-button:hover {
|
|
2822
|
+
--filterbtn-color: var(--bs-blue-base);
|
|
1867
2823
|
}
|
|
1868
|
-
|
|
2824
|
+
/* Focus state */
|
|
2825
|
+
.bs-filter-button:where(:focus-visible) {
|
|
1869
2826
|
outline: none;
|
|
2827
|
+
--filterbtn-focus-color: var(--bs-blue-base);
|
|
1870
2828
|
}
|
|
1871
|
-
/*
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
:where([data-width="content"]) > .bs-dropdown-options:where(:has([data-variant*="description"]:nth-child(5))),
|
|
1875
|
-
:where([data-width="content"]) > .bs-dropdown-options:where(:has(li:not([data-variant*="description"]):nth-child(8))) {
|
|
1876
|
-
scrollbar-gutter: stable;
|
|
1877
|
-
}
|
|
1878
|
-
|
|
1879
|
-
/* Fallback for older Firefox+ only if we're not setting data-overflow values */
|
|
1880
|
-
@supports not selector(:has(*)) {
|
|
1881
|
-
:where([data-width="content"]) > .bs-dropdown-options {
|
|
1882
|
-
scrollbar-gutter: stable;
|
|
1883
|
-
}
|
|
1884
|
-
}
|
|
1885
|
-
|
|
1886
|
-
/* Also allow this for js solutions if :has not available via data-overflow */
|
|
1887
|
-
/* Reset scrollbar gutter when data-overflow is used */
|
|
1888
|
-
:where([data-width="content"]) > .bs-dropdown-options:where([data-overflow]) {
|
|
1889
|
-
scrollbar-gutter: auto;
|
|
1890
|
-
}
|
|
1891
|
-
|
|
1892
|
-
:where([data-width="content"]) > .bs-dropdown-options:where([data-overflow="true"]) {
|
|
1893
|
-
scrollbar-gutter: stable;
|
|
1894
|
-
}
|
|
2829
|
+
/* Filter open state */
|
|
2830
|
+
.bs-filter-button:where([aria-expanded="true"],[data-open="true"]) {
|
|
2831
|
+
--filterbtn-caret-transform: rotate(180deg);
|
|
1895
2832
|
}
|
|
1896
|
-
/*
|
|
1897
|
-
.bs-
|
|
1898
|
-
|
|
1899
|
-
border-bottom: 2px solid transparent;
|
|
1900
|
-
border-left: 4px solid transparent;
|
|
1901
|
-
border-radius: 3px;
|
|
1902
|
-
border-right: 2px solid transparent;
|
|
1903
|
-
border-top: 2px solid transparent;
|
|
1904
|
-
color: var(--bs-ink-base);
|
|
1905
|
-
-moz-column-gap: 0.5rem;
|
|
1906
|
-
column-gap: 0.5rem;
|
|
1907
|
-
cursor: pointer;
|
|
1908
|
-
display: grid;
|
|
1909
|
-
padding-block: 0.25rem;
|
|
1910
|
-
padding-inline: 1.25rem;
|
|
1911
|
-
row-gap: 0.125rem;
|
|
1912
|
-
word-break: break-word;
|
|
1913
|
-
word-wrap: break-word;
|
|
2833
|
+
/* Badge non-standard color */
|
|
2834
|
+
.bs-filter-button :where(.bs-badge) {
|
|
2835
|
+
--badge-bg: var(--bs-ink-blue);
|
|
1914
2836
|
}
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
grid-template-columns: min-content 1fr;
|
|
2837
|
+
:where(.dark) .bs-filter-button :where(.bs-badge) {
|
|
2838
|
+
--badge-bg: var(--bs-blue-medium);
|
|
1918
2839
|
}
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
grid-template-columns: min-content min-content 1fr;
|
|
2840
|
+
.bs-filter-button:hover :where(.bs-badge) {
|
|
2841
|
+
--badge-bg: var(--filterbtn-color);
|
|
1922
2842
|
}
|
|
1923
|
-
/*
|
|
1924
|
-
.bs-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
color: var(--bs-ink-light);
|
|
1928
|
-
font-size: var(--bs-text-xs);
|
|
1929
|
-
min-height: 1.125rem;
|
|
1930
|
-
line-height: 1.125rem;
|
|
2843
|
+
/* Disabled state */
|
|
2844
|
+
.bs-filter-button:where(:disabled) {
|
|
2845
|
+
--filterbtn-color: var(--bs-ink-disabled);
|
|
2846
|
+
cursor: default;
|
|
1931
2847
|
}
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
2848
|
+
.bs-filter-button:where(:disabled) :where(.bs-badge) {
|
|
2849
|
+
--badge-bg: var(--bs-bg-disabled);
|
|
2850
|
+
--badge-text: var(--bs-ink-disabled);
|
|
1935
2851
|
}
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
2852
|
+
.bs-flyout {
|
|
2853
|
+
background-color: var(--bs-bg-base-to-light);
|
|
2854
|
+
box-shadow: var(--bs-shadow-drawerRight);
|
|
2855
|
+
height: 100%;
|
|
2856
|
+
left: 0;
|
|
2857
|
+
margin: 0;
|
|
2858
|
+
max-width: 100vw;
|
|
2859
|
+
opacity: 0;
|
|
2860
|
+
padding: 1.5rem;
|
|
2861
|
+
position: fixed;
|
|
2862
|
+
top: 0;
|
|
2863
|
+
transform: translateX(-100%);
|
|
2864
|
+
transition-duration: 300ms;
|
|
2865
|
+
transition-property: opacity, transform;
|
|
2866
|
+
transition-timing-function: ease;
|
|
2867
|
+
width: 360px;
|
|
2868
|
+
z-index: 1000;
|
|
1939
2869
|
}
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
.bs-dropdown-options :where(li[data-selected]) {
|
|
1943
|
-
background-color: var(--bs-bg-medium-to-light);
|
|
1944
|
-
border-left: 4px solid var(--bs-ink-blue);
|
|
1945
|
-
color: var(--bs-ink-blue);
|
|
1946
|
-
outline: none;
|
|
2870
|
+
.bs-flyout:where([data-absolute="true"]) {
|
|
2871
|
+
position: absolute;
|
|
1947
2872
|
}
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
background-color: rgba(248, 169, 170, 0.25);
|
|
1954
|
-
border-left: 4px solid var(--bs-ink-red);
|
|
1955
|
-
color: var(--bs-ink-red);
|
|
2873
|
+
.bs-flyout:where([data-position="right"]) {
|
|
2874
|
+
box-shadow: var(--bs-shadow-drawerLeft);
|
|
2875
|
+
left: auto;
|
|
2876
|
+
right: 0;
|
|
2877
|
+
transform: translateX(100%);
|
|
1956
2878
|
}
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
.bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"]:hover > :nth-child(3)),
|
|
1960
|
-
.bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"]:hover > :nth-child(4)),
|
|
1961
|
-
.bs-dropdown-options :where(li:not([data-variant*="-col"])[data-variant~="description"][data-selected] > :nth-child(2)),
|
|
1962
|
-
.bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"][data-selected] > :nth-child(3)),
|
|
1963
|
-
.bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"][data-selected] > :nth-child(4)) {
|
|
1964
|
-
color: var(--bs-ink-blue);
|
|
2879
|
+
.bs-flyout:where([data-size="lg"]) {
|
|
2880
|
+
width: 535px;
|
|
1965
2881
|
}
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
color: var(--bs-ink-red);
|
|
2882
|
+
.bs-flyout:where([data-shown="true"]) {
|
|
2883
|
+
opacity: 1;
|
|
2884
|
+
/*
|
|
2885
|
+
Needs to be "none" instead of "0" so as not to interfere with calculating
|
|
2886
|
+
"containing block" for absolute and fixed positioned elements (see https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block)
|
|
2887
|
+
*/
|
|
2888
|
+
transform: none;
|
|
1974
2889
|
}
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
border: 2px solid var(--focus-border-color);
|
|
1979
|
-
outline: none;
|
|
1980
|
-
padding-left: 1.375rem;
|
|
2890
|
+
.bs-flyout :where(.bs-flyout-close-container) {
|
|
2891
|
+
display: flex;
|
|
2892
|
+
justify-content: flex-end;
|
|
1981
2893
|
}
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
padding
|
|
2894
|
+
.bs-flyout :where(.bs-flyout-close-container button) {
|
|
2895
|
+
cursor: pointer;
|
|
2896
|
+
outline-offset: 2px;
|
|
2897
|
+
padding: 2px;
|
|
1986
2898
|
}
|
|
1987
|
-
/*
|
|
1988
|
-
.bs-
|
|
1989
|
-
|
|
2899
|
+
/* Vue Transition Styles - Only used in Vue component */
|
|
2900
|
+
.bs-flyout:where(.bs-flyout-enter-from),
|
|
2901
|
+
.bs-flyout:where(.bs-flyout-leave-to) {
|
|
2902
|
+
opacity: 0;
|
|
2903
|
+
transform: translateX(-100%);
|
|
1990
2904
|
}
|
|
1991
|
-
|
|
1992
|
-
.bs-
|
|
1993
|
-
|
|
1994
|
-
padding-block: 0.125rem;
|
|
1995
|
-
padding-right: 1.375rem;
|
|
2905
|
+
.bs-flyout:where([data-position="right"].bs-flyout-enter-from),
|
|
2906
|
+
.bs-flyout:where([data-position="right"].bs-flyout-leave-to) {
|
|
2907
|
+
transform: translateX(100%);
|
|
1996
2908
|
}
|
|
1997
|
-
|
|
1998
|
-
.bs-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
margin-block: 0;
|
|
2002
|
-
margin-inline: 0;
|
|
2909
|
+
.bs-flyout:where(.bs-flyout-enter-to),
|
|
2910
|
+
.bs-flyout:where(.bs-flyout-leave-from) {
|
|
2911
|
+
opacity: 1;
|
|
2912
|
+
transform: translateX(0);
|
|
2003
2913
|
}
|
|
2004
|
-
/*
|
|
2005
|
-
.bs-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2914
|
+
/* Containers and Labels for Checkbox/Radio */
|
|
2915
|
+
.bs-boolean {
|
|
2916
|
+
display: inline-flex;
|
|
2917
|
+
align-items: center;
|
|
2918
|
+
font-size: var(--bs-text-base);
|
|
2919
|
+
font-weight: 400;
|
|
2920
|
+
line-height: 115%;
|
|
2010
2921
|
}
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2922
|
+
.bs-boolean:where([data-size='sm']) input {
|
|
2923
|
+
height: .75rem;
|
|
2924
|
+
width: .75rem;
|
|
2925
|
+
}
|
|
2926
|
+
.bs-boolean label {
|
|
2927
|
+
font-size: var(--bs-text-base);
|
|
2015
2928
|
font-weight: 400;
|
|
2929
|
+
line-height: 1.5;
|
|
2930
|
+
width: auto;
|
|
2016
2931
|
}
|
|
2017
|
-
/*
|
|
2018
|
-
.bs-
|
|
2019
|
-
|
|
2020
|
-
color: var(--bs-ink-base);
|
|
2932
|
+
/* not using gap on .bs-boolean due to dead click zone */
|
|
2933
|
+
.bs-boolean label {
|
|
2934
|
+
padding-inline-end: 0.5em;
|
|
2021
2935
|
}
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
.bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="2-col"][data-variant~="description"][data-selected]) > :nth-child(3),
|
|
2025
|
-
.bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="3-col"][data-variant~="description"]):hover > :nth-child(4),
|
|
2026
|
-
.bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="3-col"][data-variant~="description"][data-selected]) > :nth-child(4) {
|
|
2027
|
-
color: var(--bs-ink-light);
|
|
2936
|
+
.bs-boolean input + label {
|
|
2937
|
+
padding-inline: 0.5em 0;
|
|
2028
2938
|
}
|
|
2029
|
-
|
|
2030
|
-
.bs-
|
|
2031
|
-
|
|
2032
|
-
padding-right: 0.75rem;
|
|
2939
|
+
.bs-boolean:where([data-size='sm']),
|
|
2940
|
+
.bs-boolean:where([data-size='sm']) label {
|
|
2941
|
+
font-size: var(--bs-text-xs);
|
|
2033
2942
|
}
|
|
2034
|
-
|
|
2035
|
-
|
|
2943
|
+
/* Checkbox & Radio Input */
|
|
2944
|
+
:where(input[type='checkbox'], input[type='radio']),
|
|
2945
|
+
:is(.bs-boolean :where(input), .bs-checkbox) { /* .bs-checkbox added to accommodate 'fake' cbs */
|
|
2946
|
+
-webkit-appearance: none;
|
|
2947
|
+
-moz-appearance: none;
|
|
2948
|
+
appearance: none;
|
|
2949
|
+
box-shadow: inset 0 0 0 0.125rem var(--box-shadow, var(--bs-ink-base));
|
|
2950
|
+
cursor: pointer;
|
|
2951
|
+
display: grid;
|
|
2952
|
+
height: 1rem;
|
|
2953
|
+
margin: 0;
|
|
2954
|
+
place-content: center;
|
|
2955
|
+
position: relative;
|
|
2956
|
+
width: 1rem;
|
|
2036
2957
|
}
|
|
2037
|
-
|
|
2038
|
-
|
|
2958
|
+
:where(input[type='checkbox'], input[type='radio']):focus-visible,
|
|
2959
|
+
:is(.bs-boolean :where(input), .bs-checkbox):focus-visible {
|
|
2960
|
+
box-shadow: inset 0 0 0 0.125rem var(--box-shadow, var(--bs-ink-base)),
|
|
2961
|
+
0 0 0 2px var(--offset-color, var(--bs-bg-base)),
|
|
2962
|
+
0 0 0 4px var(--outline-color, var(--bs-blue-base));
|
|
2963
|
+
outline: 2px solid transparent;
|
|
2039
2964
|
}
|
|
2040
|
-
|
|
2041
|
-
|
|
2965
|
+
:where(input[type='checkbox']),
|
|
2966
|
+
:is(.bs-boolean :where([type='checkbox']), .bs-checkbox) {
|
|
2967
|
+
border-radius: 0.125rem;
|
|
2042
2968
|
}
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
padding-right: 0.75rem;
|
|
2047
|
-
}
|
|
2048
|
-
|
|
2049
|
-
.bs-dropdown-options :where(li[role="separator"]) {
|
|
2050
|
-
padding-right: 0.625rem;
|
|
2051
|
-
}
|
|
2052
|
-
|
|
2053
|
-
.bs-dropdown-options:where(:focus-visible) :where(li[data-active]) {
|
|
2054
|
-
padding-left: 0.625rem;
|
|
2055
|
-
}
|
|
2056
|
-
|
|
2057
|
-
.bs-dropdown-options:where(:focus-visible) :where(li[data-selected][data-active]) {
|
|
2058
|
-
padding-left: 0.5rem;
|
|
2059
|
-
}
|
|
2969
|
+
:where(input[type='radio']),
|
|
2970
|
+
.bs-boolean :where([type='radio']) {
|
|
2971
|
+
border-radius: 50%;
|
|
2060
2972
|
}
|
|
2061
|
-
.
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
--
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
--
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
--
|
|
2071
|
-
--title-font-size: var(--bs-text-lg);
|
|
2072
|
-
--title-line-height: 130%;
|
|
2073
|
-
--title-spacing: 0.5rem;
|
|
2074
|
-
--title-weight: var(--bs-font-normal);
|
|
2075
|
-
|
|
2076
|
-
align-items: center;
|
|
2077
|
-
-moz-column-gap: var(--col-gap);
|
|
2078
|
-
column-gap: var(--col-gap);
|
|
2079
|
-
display: grid;
|
|
2080
|
-
grid-template-columns: auto 1fr;
|
|
2973
|
+
/* Checkbox's checkbox, checkmark. Checkmark is hidden unless checked/indeterminate. */
|
|
2974
|
+
input:where([type='checkbox'])::before,
|
|
2975
|
+
:is(.bs-boolean :where([type="checkbox"]), .bs-checkbox)::before {
|
|
2976
|
+
--cb-filled-size: var(--filled-size, 1rem);
|
|
2977
|
+
content: '';
|
|
2978
|
+
border-radius: 0.125rem;
|
|
2979
|
+
box-shadow: inset var(--cb-filled-size) var(--cb-filled-size) var(--fill-bg-color, var(--bs-blue-base));
|
|
2980
|
+
height: var(--cb-filled-size);
|
|
2981
|
+
visibility: hidden;
|
|
2982
|
+
width: var(--cb-filled-size);
|
|
2081
2983
|
}
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2984
|
+
input:where([type='checkbox'])::after,
|
|
2985
|
+
:is(.bs-boolean :where([type="checkbox"]), .bs-checkbox)::after {
|
|
2986
|
+
border: solid var(--bs-bg-base);
|
|
2987
|
+
border-width: 0 0.125rem 0.125rem 0;
|
|
2988
|
+
content: '';
|
|
2989
|
+
height: var(--inner-check-height, 0.75em);
|
|
2990
|
+
left: 50%;
|
|
2991
|
+
position: absolute;
|
|
2992
|
+
top: 50%;
|
|
2993
|
+
transform-origin: center;
|
|
2994
|
+
transform: translate(-50%, -60%) rotate(45deg);
|
|
2995
|
+
visibility: hidden;
|
|
2996
|
+
width: var(--inner-check-width, 0.375em);
|
|
2087
2997
|
}
|
|
2088
|
-
|
|
2089
|
-
|
|
2998
|
+
input:where([type='checkbox']):where(:indeterminate)::after,
|
|
2999
|
+
.bs-boolean :where([type="checkbox"]):where(:indeterminate)::after,
|
|
3000
|
+
.bs-checkbox:where([data-indeterminate="true"], :indeterminate)::after {
|
|
3001
|
+
border: none;
|
|
3002
|
+
background-color: var(--bs-bg-base);
|
|
3003
|
+
height: var(--inner-dash-height, 0.125rem);
|
|
3004
|
+
transform: translate(-50%, -0.0625rem) rotate(0deg);
|
|
3005
|
+
width: var(--inner-dash-width, 0.625em);
|
|
3006
|
+
}
|
|
3007
|
+
/* Radio outer circle, Radio dot. Dot is hidden unless checked. */
|
|
3008
|
+
input:where([type='radio'])::before,
|
|
3009
|
+
.bs-boolean :where([type="radio"])::before {
|
|
3010
|
+
--radio-filled-size: var(--filled-size, 1rem);
|
|
3011
|
+
background-color: var(--fill-bg-color, var(--bs-blue-base));
|
|
3012
|
+
border-radius: 50%;
|
|
3013
|
+
box-sizing: content-box;
|
|
3014
|
+
content: '';
|
|
3015
|
+
height: var(--radio-filled-size);
|
|
3016
|
+
visibility: hidden;
|
|
3017
|
+
width: var(--radio-filled-size);
|
|
2090
3018
|
}
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
3019
|
+
input:where([type='radio'])::after,
|
|
3020
|
+
.bs-boolean :where([type="radio"])::after {
|
|
3021
|
+
background-color: var(--bs-bg-base);
|
|
3022
|
+
border-radius: 50%;
|
|
3023
|
+
box-sizing: content-box;
|
|
3024
|
+
content: '';
|
|
3025
|
+
height: var(--inner-dot-size, 0.375rem);
|
|
3026
|
+
left: 50%;
|
|
3027
|
+
position: absolute;
|
|
3028
|
+
top: 50%;
|
|
3029
|
+
transform: translate(-50%, -50%);
|
|
3030
|
+
visibility: hidden;
|
|
3031
|
+
width: var(--inner-dot-size, 0.375rem);
|
|
2097
3032
|
}
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
3033
|
+
/* Show checkmark, indeterminate mark, or radio dot */
|
|
3034
|
+
.bs-checkbox:where([data-indeterminate="true"], [data-checked="true"], :checked, :indeterminate)::before,
|
|
3035
|
+
.bs-checkbox:where([data-indeterminate="true"], [data-checked="true"], :checked, :indeterminate)::after,
|
|
3036
|
+
input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::before,
|
|
3037
|
+
input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::after,
|
|
3038
|
+
.bs-boolean :where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::before,
|
|
3039
|
+
.bs-boolean :where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::after {
|
|
3040
|
+
visibility: visible;
|
|
2103
3041
|
}
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
3042
|
+
/* ---------- Sizes ----------- */
|
|
3043
|
+
.bs-boolean:where([data-size="sm"]),
|
|
3044
|
+
.bs-checkbox:where([data-size="sm"]) {
|
|
3045
|
+
--filled-size: 0.75rem;
|
|
3046
|
+
--inner-check-height: 0.5625rem;
|
|
3047
|
+
--inner-check-width: 0.3125rem;
|
|
3048
|
+
--inner-dash-height: 0.125rem;
|
|
3049
|
+
--inner-dash-width: .75em;
|
|
3050
|
+
--inner-dot-size: 0.25rem;
|
|
2107
3051
|
}
|
|
2108
|
-
|
|
2109
|
-
|
|
3052
|
+
/* ---------- Disabled State ----------- */
|
|
3053
|
+
:where(input[type="checkbox"], input[type="radio"]):disabled,
|
|
3054
|
+
.bs-boolean:where([data-disabled="true"]),
|
|
3055
|
+
.bs-checkbox:where([data-disabled="true"]) {
|
|
3056
|
+
--box-shadow: var(--bs-ink-disabled);
|
|
3057
|
+
--fill-bg-color: var(--bs-ink-disabled);
|
|
3058
|
+
background-color: transparent;
|
|
3059
|
+
cursor: default;
|
|
3060
|
+
pointer-events: none;
|
|
2110
3061
|
}
|
|
2111
|
-
/*
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
)
|
|
2117
|
-
|
|
3062
|
+
/* ---------- Error state ----------- */
|
|
3063
|
+
input:where([type='checkbox'], [type='radio'])[data-error]:where(:not([data-error="false"])),
|
|
3064
|
+
.bs-boolean :where(input[data-error="true"]), /* deprecate this one in favor of next line */
|
|
3065
|
+
.bs-boolean:where([data-error="true"]),
|
|
3066
|
+
.bs-checkbox:where([data-error="true"]) {
|
|
3067
|
+
--box-shadow: var(--bs-red-base);
|
|
3068
|
+
--outline-color: var(--bs-red-base);
|
|
2118
3069
|
}
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
--title-font-size: var(--bs-text-md);
|
|
2126
|
-
--title-line-height: var(--bs-leading-base);
|
|
2127
|
-
--title-spacing: 0;
|
|
3070
|
+
.bs-character-count {
|
|
3071
|
+
color: var(--bs-ink-base);
|
|
3072
|
+
font-size: var(--bs-text-xs);
|
|
3073
|
+
font-weight: 400;
|
|
3074
|
+
text-align: right;
|
|
3075
|
+
white-space: nowrap;
|
|
2128
3076
|
}
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
--title-line-height: var(--bs-leading-base);
|
|
2134
|
-
--title-spacing: 0.125rem;
|
|
3077
|
+
:where(:disabled, [data-disabled="true"]) + .bs-character-count,
|
|
3078
|
+
:where(:disabled, [data-disabled="true"]) .bs-character-count,
|
|
3079
|
+
.bs-character-count:where([data-disabled="true"]) {
|
|
3080
|
+
visibility: hidden;
|
|
2135
3081
|
}
|
|
2136
|
-
.bs-
|
|
2137
|
-
|
|
2138
|
-
--cta-spacing: var(--bs-space-6);
|
|
2139
|
-
--description-font-size: var(--bs-text-md);
|
|
2140
|
-
--icon-size: 4rem;
|
|
2141
|
-
--title-font-size: var(--bs-text-xl);
|
|
2142
|
-
--title-line-height: 110%;
|
|
2143
|
-
--title-weight: var(--bs-font-bold);
|
|
3082
|
+
.bs-character-count:where([data-error="true"]) {
|
|
3083
|
+
color: var(--bs-ink-red);
|
|
2144
3084
|
}
|
|
2145
3085
|
/* Generally applicable (all input types) */
|
|
2146
3086
|
:where([data-required]:not([data-required="false"])) {
|
|
@@ -2169,197 +3109,48 @@ uncomment to make visible when testing
|
|
|
2169
3109
|
margin-left: 0;
|
|
2170
3110
|
margin-right: 0;
|
|
2171
3111
|
padding: 0;
|
|
2172
|
-
}
|
|
2173
|
-
:where(fieldset legend) {
|
|
2174
|
-
margin-bottom: 0.25rem;
|
|
2175
|
-
padding: 0;
|
|
2176
|
-
}
|
|
2177
|
-
|
|
2178
|
-
:where(label + textarea, label > textarea),
|
|
2179
|
-
:where(label + select, label > select) {
|
|
2180
|
-
margin-top: 0.25rem;
|
|
2181
|
-
}
|
|
2182
|
-
/*
|
|
2183
|
-
Custom properties:
|
|
2184
|
-
--input-bg (background color)
|
|
2185
|
-
--input-border (border color)
|
|
2186
|
-
--input-border-width (border width)
|
|
2187
|
-
--input-caret (caret color)
|
|
2188
|
-
--input-padding-block (padding block)
|
|
2189
|
-
--input-padding-inline (padding inline)
|
|
2190
|
-
--input-placeholder (placeholder color)
|
|
2191
|
-
--input-text-size (font size)
|
|
2192
|
-
*/
|
|
2193
|
-
input:where(:not([type='checkbox'], [type='radio'], [type='file'], [type='range'])),
|
|
2194
|
-
textarea,
|
|
2195
|
-
select,
|
|
2196
|
-
:is(.bs-input, .bs-select, .bs-textarea) {
|
|
2197
|
-
-webkit-appearance: none;
|
|
2198
|
-
-moz-appearance: none;
|
|
2199
|
-
appearance: none;
|
|
2200
|
-
background-color: var(--input-bg, transparent);
|
|
2201
|
-
border-color: var(--input-border, var(--bs-violet-medium));
|
|
2202
|
-
border-radius: 0.25rem;
|
|
2203
|
-
border-style: solid;
|
|
2204
|
-
border-width: var(--input-border-width, 1px);
|
|
2205
|
-
caret-color: var(--input-caret, var(--bs-blue-base));
|
|
2206
|
-
color: var(--bs-ink-base);
|
|
2207
|
-
font-size: var(--input-text-size, var(--bs-text-base));
|
|
2208
|
-
font-weight: 400;
|
|
2209
|
-
height: 2.5rem;
|
|
2210
|
-
line-height: var(--bs-leading-base);
|
|
2211
|
-
padding-block: var(--input-padding-block, 0.0625rem);
|
|
2212
|
-
padding-inline: var(--input-padding-inline, 0.75rem);
|
|
2213
|
-
}
|
|
2214
|
-
input:where(:not([type='checkbox'], [type='radio'], [type='file'], [type='range'])),
|
|
2215
|
-
textarea,
|
|
2216
|
-
select,
|
|
2217
|
-
:is(.bs-input, .bs-select, .bs-textarea) {
|
|
2218
|
-
width: 100%;
|
|
2219
|
-
}
|
|
2220
|
-
input:where([type='text'], [type='email'], [type='url']),
|
|
2221
|
-
select,
|
|
2222
|
-
.bs-input:where([type='text'], [type='email'], [type='url']),
|
|
2223
|
-
:is(.bs-input, .bs-select, .bs-textarea) {
|
|
2224
|
-
text-overflow: ellipsis;
|
|
2225
|
-
}
|
|
2226
|
-
.bs-textarea,
|
|
2227
|
-
textarea {
|
|
2228
|
-
height: auto;
|
|
2229
|
-
padding-block: 0.5rem;
|
|
2230
|
-
resize: vertical;
|
|
2231
|
-
}
|
|
2232
|
-
:is(input, textarea, select)::-moz-placeholder, :is(.bs-input, .bs-select, .bs-textarea)::-moz-placeholder {
|
|
2233
|
-
color: var(--input-placeholder, var(--bs-violet-lightest));
|
|
2234
|
-
}
|
|
2235
|
-
:is(input, textarea, select)::placeholder,
|
|
2236
|
-
:is(.bs-input, .bs-select, .bs-textarea)::placeholder,
|
|
2237
|
-
:is(.bs-input, .bs-select, .bs-textarea):where([data-placeholder="true"]) {
|
|
2238
|
-
color: var(--input-placeholder, var(--bs-violet-lightest));
|
|
2239
|
-
}
|
|
2240
|
-
:is(input, textarea, select):where(:focus-visible)::-moz-placeholder, :is(.bs-input, .bs-select, .bs-textarea):where(:focus-visible)::-moz-placeholder {
|
|
2241
|
-
opacity: 0;
|
|
2242
|
-
}
|
|
2243
|
-
:is(input, textarea, select):where(:focus-visible)::placeholder,
|
|
2244
|
-
:is(.bs-input, .bs-select, .bs-textarea):where(:focus-visible)::placeholder {
|
|
2245
|
-
opacity: 0;
|
|
2246
|
-
}
|
|
2247
|
-
/* FOCUS state */
|
|
2248
|
-
:is(input:where(:not([type='checkbox'], [type='radio'])), textarea, select):where(:focus-visible),
|
|
2249
|
-
:is(.bs-input, .bs-select, .bs-textarea):where(:focus-visible),
|
|
2250
|
-
:is(select, .bs-select):where(:focus) {
|
|
2251
|
-
--input-border: var(--bs-blue-base);
|
|
2252
|
-
outline-style: none;
|
|
2253
|
-
outline-width: 0px;
|
|
2254
|
-
}
|
|
2255
|
-
/* HOVER state */
|
|
2256
|
-
:is(input:where(:not([type='checkbox'], [type='radio'])), textarea, select):where(:hover),
|
|
2257
|
-
:is(.bs-input, .bs-select, .bs-textarea):where(:hover) {
|
|
2258
|
-
--input-bg: var(--bs-bg-input-hover);
|
|
2259
|
-
}
|
|
2260
|
-
/* DISABLED state */
|
|
2261
|
-
:is(input:where(:not([type='checkbox'],[type='radio'])), textarea, select):where(:disabled),
|
|
2262
|
-
:is(.bs-input, .bs-select, .bs-textarea):where(:disabled) {
|
|
2263
|
-
--input-border: var(--bs-ink-disabled);
|
|
2264
|
-
--input-bg: var(--bs-bg-disabled);
|
|
2265
|
-
color: var(--bs-ink-disabled);
|
|
2266
|
-
}
|
|
2267
|
-
/* Text inputs should not have a border when disabled */
|
|
2268
|
-
:is(input:where(:not([type]),[type="text"],[type="number"],[type="email"],[type="password"],[type="url"])):where(:disabled) {
|
|
2269
|
-
--input-border-width: 0px;
|
|
2270
|
-
}
|
|
2271
|
-
/* Errors and Messages */
|
|
2272
|
-
:is(input, select, textarea):where([data-error]:not([data-error="false"])),
|
|
2273
|
-
:is(.bs-input, .bs-select, .bs-textarea):where([data-error="true"]) {
|
|
2274
|
-
--input-border: var(--bs-ink-red);
|
|
2275
|
-
}
|
|
2276
|
-
/*
|
|
2277
|
-
Removes the built-in 'margin' on bottom of textarea
|
|
2278
|
-
see https://bugs.chromium.org/p/chromium/issues/detail?id=89530
|
|
2279
|
-
*/
|
|
2280
|
-
:has(> textarea:only-child),
|
|
2281
|
-
:has(> .bs-textarea:only-child) {
|
|
2282
|
-
display: block;
|
|
2283
|
-
line-height: 0;
|
|
2284
|
-
}
|
|
2285
|
-
/* chrome user agent styling was applying opacity: 0.7 */
|
|
2286
|
-
:where(select:disabled) {
|
|
2287
|
-
opacity: 1;
|
|
2288
|
-
}
|
|
2289
|
-
:is(input, textarea, select):disabled::-moz-placeholder, :is(input, textarea, select)[disabled]::-moz-placeholder, :is(.bs-input, .bs-textarea, .bs-select):disabled::-moz-placeholder, :is(.bs-input, .bs-textarea, .bs-select)[disabled]::-moz-placeholder {
|
|
2290
|
-
opacity: 0;
|
|
2291
|
-
}
|
|
2292
|
-
:is(input, textarea, select):disabled::placeholder,
|
|
2293
|
-
:is(input, textarea, select)[disabled]::placeholder,
|
|
2294
|
-
:is(.bs-input, .bs-textarea, .bs-select):disabled::placeholder,
|
|
2295
|
-
:is(.bs-input, .bs-textarea, .bs-select)[disabled]::placeholder {
|
|
2296
|
-
opacity: 0;
|
|
2297
|
-
}
|
|
2298
|
-
/* Select */
|
|
2299
|
-
select,
|
|
2300
|
-
.bs-select {
|
|
2301
|
-
/* URL Encoded SVG dropdown caret so there is something there */
|
|
2302
|
-
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%230A0B19' d='M8.048 13.375a.745.745 0 0 1-.526-.217L0 5.686l1.053-1.061 6.995 6.95 6.897-6.85 1.053 1.06-7.423 7.373a.745.745 0 0 1-.527.217Z'/%3E%3C/svg%3E");
|
|
2303
|
-
background-position: right 0.75rem center;
|
|
2304
|
-
background-repeat: no-repeat;
|
|
2305
|
-
background-size: 1em 1em;
|
|
2306
|
-
padding-right: var(--bs-space-9);
|
|
2307
|
-
}
|
|
2308
|
-
select[multiple],
|
|
2309
|
-
.bs-select[multiple] {
|
|
2310
|
-
background-image: none;
|
|
2311
|
-
height: auto;
|
|
2312
|
-
}
|
|
2313
|
-
:where(.dark) select,
|
|
2314
|
-
:where(.dark) .bs-select {
|
|
2315
|
-
--input-bg: var(--bs-bg-base);
|
|
2316
|
-
/* URL Encoded SVG dropdown caret so there is something there */
|
|
2317
|
-
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%23ffffff' d='M8.048 13.375a.745.745 0 0 1-.526-.217L0 5.686l1.053-1.061 6.995 6.95 6.897-6.85 1.053 1.06-7.423 7.373a.745.745 0 0 1-.527.217Z'/%3E%3C/svg%3E");
|
|
2318
|
-
}
|
|
2319
|
-
:where(.dark .box) select,
|
|
2320
|
-
:where(.dark .box) .bs-select {
|
|
2321
|
-
--input-bg: var(--bg-color, var(--bs-bg-subtle));
|
|
2322
|
-
}
|
|
2323
|
-
:where(.dark) select:where(:disabled),
|
|
2324
|
-
:where(.dark) .bs-select:where(:disabled) {
|
|
2325
|
-
/* URL Encoded SVG dropdown caret so there is something there */
|
|
2326
|
-
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%23555775' d='M8.048 13.375a.745.745 0 0 1-.526-.217L0 5.686l1.053-1.061 6.995 6.95 6.897-6.85 1.053 1.06-7.423 7.373a.745.745 0 0 1-.527.217Z'/%3E%3C/svg%3E");
|
|
2327
|
-
}
|
|
2328
|
-
/* Allows for styling a button to look like a select input */
|
|
2329
|
-
:where(button).bs-select {
|
|
2330
|
-
align-items: center;
|
|
2331
|
-
/* Remove this for buttons since they will have the caret added */
|
|
2332
|
-
background-image: none;
|
|
2333
|
-
cursor: pointer;
|
|
3112
|
+
}
|
|
3113
|
+
:where(fieldset legend) {
|
|
3114
|
+
margin-bottom: 0.25rem;
|
|
3115
|
+
padding: 0;
|
|
3116
|
+
}
|
|
3117
|
+
.bs-field-details {
|
|
2334
3118
|
display: flex;
|
|
2335
|
-
|
|
3119
|
+
justify-content: space-between;
|
|
3120
|
+
align-items: flex-start;
|
|
3121
|
+
gap: var(--bs-space-2);
|
|
3122
|
+
margin-top: 0.5rem;
|
|
2336
3123
|
}
|
|
2337
|
-
:where(
|
|
2338
|
-
:
|
|
2339
|
-
background-image: none;
|
|
3124
|
+
:where(textarea, bs-textarea) + .bs-field-details {
|
|
3125
|
+
margin-top: 0.25rem;
|
|
2340
3126
|
}
|
|
2341
|
-
:where(
|
|
2342
|
-
|
|
2343
|
-
text-align: left;
|
|
3127
|
+
.bs-field-details :where(.bs-character-count:first-child) {
|
|
3128
|
+
margin-left: auto;
|
|
2344
3129
|
}
|
|
2345
|
-
|
|
2346
|
-
color: var(--bs-ink-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
3130
|
+
.bs-hint {
|
|
3131
|
+
--hint-color: var(--bs-ink-light);
|
|
3132
|
+
color: var(--hint-color);
|
|
3133
|
+
font-size: var(--bs-text-xs);
|
|
3134
|
+
list-style: none;
|
|
3135
|
+
margin: 0;
|
|
3136
|
+
min-width: 0;
|
|
3137
|
+
overflow-wrap: break-word;
|
|
3138
|
+
padding: 0;
|
|
2351
3139
|
}
|
|
2352
|
-
|
|
2353
|
-
|
|
3140
|
+
.bs-hint:where([data-error]:not([data-error="false"])) {
|
|
3141
|
+
--hint-color: var(--bs-ink-red);
|
|
3142
|
+
}
|
|
3143
|
+
:where(:disabled, [data-disabled="true"]) .bs-hint {
|
|
3144
|
+
--hint-color: var(--bs-ink-disabled);
|
|
2354
3145
|
}
|
|
2355
3146
|
/* 0 0 1 for width to allow e.g. tailwind override */
|
|
2356
3147
|
:is(div, *):where(.bs-input-addon) {
|
|
2357
3148
|
width: 100%;
|
|
2358
3149
|
}
|
|
2359
3150
|
.bs-input-addon {
|
|
2360
|
-
--input-border: var(--bs-
|
|
3151
|
+
--input-border: var(--bs-border-input);
|
|
2361
3152
|
align-items: center;
|
|
2362
|
-
background-color: var(--input-bg,
|
|
3153
|
+
background-color: var(--input-bg, var(--bs-bg-base));
|
|
2363
3154
|
border-radius: .25rem;
|
|
2364
3155
|
color: var(--bs-ink-base);
|
|
2365
3156
|
display: flex;
|
|
@@ -2369,12 +3160,15 @@ select[multiple],
|
|
|
2369
3160
|
pointer-events: none;
|
|
2370
3161
|
position: relative;
|
|
2371
3162
|
}
|
|
3163
|
+
:where(.dark) .bs-input-addon {
|
|
3164
|
+
background-color: var(--input-bg, transparent);
|
|
3165
|
+
}
|
|
2372
3166
|
.bs-input-addon * {
|
|
2373
3167
|
background-color: transparent;
|
|
2374
3168
|
}
|
|
2375
3169
|
/* Fix issue in Windows, where <select> options would be invisible, due to background-color: transparent */
|
|
2376
3170
|
.bs-input-addon :where(.bs-select, select) {
|
|
2377
|
-
background-color: var(--bs-bg-base);
|
|
3171
|
+
background-color: var(--input-bg, var(--bs-bg-base));
|
|
2378
3172
|
}
|
|
2379
3173
|
/**
|
|
2380
3174
|
Implement an outer 'border' via pseudo-element instead of
|
|
@@ -2397,11 +3191,15 @@ and issues with box-sizing
|
|
|
2397
3191
|
width: 100%;
|
|
2398
3192
|
}
|
|
2399
3193
|
.bs-input-addon::after {
|
|
3194
|
+
border-color: var(--input-border);
|
|
2400
3195
|
border-radius: .25rem;
|
|
2401
|
-
border:
|
|
3196
|
+
border-style: solid;
|
|
3197
|
+
border-width: var(--input-border-width, 1px);
|
|
2402
3198
|
}
|
|
2403
3199
|
.bs-input-addon :where(.bs-input-addon)::after {
|
|
2404
|
-
border:
|
|
3200
|
+
border-color: var(--input-addon-nested-border);
|
|
3201
|
+
border-style: solid;
|
|
3202
|
+
border-width: var(--input-border-width, 1px);
|
|
2405
3203
|
}
|
|
2406
3204
|
.bs-input-addon > * {
|
|
2407
3205
|
flex-grow: 0;
|
|
@@ -2450,7 +3248,7 @@ and issues with box-sizing
|
|
|
2450
3248
|
/* -------- Inner-bordered styles -------- */
|
|
2451
3249
|
/** Inner borders should be straight; shown only if variant: "inner-bordered" */
|
|
2452
3250
|
.bs-input-addon:where([data-variant="inner-bordered"]) {
|
|
2453
|
-
--input-addon-nested-border: var(--bs-violet-
|
|
3251
|
+
--input-addon-nested-border: var(--bs-violet-200);
|
|
2454
3252
|
}
|
|
2455
3253
|
.bs-input-addon > :where(.bs-input-addon:not(:last-child, :focus-within, [data-part="right"])),
|
|
2456
3254
|
.bs-input-addon > :where(:not(:last-child, :focus-within, [data-part="right"]))::after {
|
|
@@ -2504,12 +3302,6 @@ and issues with box-sizing
|
|
|
2504
3302
|
max-height: 100%;
|
|
2505
3303
|
width: 1rem;
|
|
2506
3304
|
}
|
|
2507
|
-
/* -------- Hover styles -------- */
|
|
2508
|
-
.bs-input-addon:hover,
|
|
2509
|
-
:where(label):hover + .bs-input-addon,
|
|
2510
|
-
:where(label):hover + * .bs-input-addon:where(:not(label .bs-input-addon, label + .bs-input-addon)) {
|
|
2511
|
-
--input-bg: var(--bs-bg-input-hover);
|
|
2512
|
-
}
|
|
2513
3305
|
/* -------- Focus styles -------- */
|
|
2514
3306
|
.bs-input-addon {
|
|
2515
3307
|
--focus-border: var(--bs-blue-base);
|
|
@@ -2566,6 +3358,14 @@ and issues with box-sizing
|
|
|
2566
3358
|
.bs-input-addon:where([data-disabled]:not([data-disabled="false"])) * {
|
|
2567
3359
|
pointer-events: none;
|
|
2568
3360
|
}
|
|
3361
|
+
.bs-input-addon:where([data-disabled]:not([data-disabled="false"]))::after,
|
|
3362
|
+
.bs-input-addon:where([data-disabled]:not([data-disabled="false"]))::before,
|
|
3363
|
+
.bs-input-addon:where([data-disabled]:not([data-disabled="false"])):where([data-variant="inner-bordered"]) {
|
|
3364
|
+
--input-border-width: 0;
|
|
3365
|
+
}
|
|
3366
|
+
.bs-input-addon:where([data-disabled]:not([data-disabled="false"])):where([data-variant="inner-bordered"]) > :where(:not(:focus, :focus-within))::after {
|
|
3367
|
+
border-right-width: 0;
|
|
3368
|
+
}
|
|
2569
3369
|
/* -------- Error styles -------- */
|
|
2570
3370
|
.bs-input-addon:where([data-error]:not([data-error="false"])),
|
|
2571
3371
|
.bs-input-addon:where([data-error]:not([data-error="false"])) :where(.bs-input-addon) {
|
|
@@ -2615,6 +3415,9 @@ data-autosize-icons="true" - see above
|
|
|
2615
3415
|
min-width: 6rem;
|
|
2616
3416
|
padding: 0 1rem;
|
|
2617
3417
|
}
|
|
3418
|
+
.bs-input-phone .bs-input-addon:where([data-disabled]:not([data-disabled="false"])) :where(button) :where(span) {
|
|
3419
|
+
filter: grayscale(1);
|
|
3420
|
+
}
|
|
2618
3421
|
.bs-input-phone ul:where(.bs-dropdown-options) {
|
|
2619
3422
|
min-width: 7.5rem;
|
|
2620
3423
|
}
|
|
@@ -2673,190 +3476,37 @@ data-autosize-icons="true" - see above
|
|
|
2673
3476
|
--input-bg: var(--bs-bg-base);
|
|
2674
3477
|
--input-border: transparent;
|
|
2675
3478
|
}
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
align-items: flex-start;
|
|
2680
|
-
gap: var(--bs-space-2);
|
|
2681
|
-
padding: 0 0.75rem;
|
|
2682
|
-
margin-top: 0.5rem;
|
|
2683
|
-
}
|
|
2684
|
-
:where(textarea, bs-textarea) + .bs-field-details {
|
|
2685
|
-
margin-top: 0.25rem;
|
|
2686
|
-
}
|
|
2687
|
-
.bs-field-details :where(.bs-character-count:first-child) {
|
|
2688
|
-
margin-left: auto;
|
|
2689
|
-
}
|
|
2690
|
-
.bs-character-count {
|
|
2691
|
-
color: var(--bs-ink-base);
|
|
2692
|
-
font-size: var(--bs-text-xs);
|
|
2693
|
-
font-weight: 400;
|
|
2694
|
-
text-align: right;
|
|
2695
|
-
white-space: nowrap;
|
|
2696
|
-
}
|
|
2697
|
-
:where(:disabled, [data-disabled="true"]) + .bs-character-count,
|
|
2698
|
-
:where(:disabled, [data-disabled="true"]) .bs-character-count,
|
|
2699
|
-
.bs-character-count:where([data-disabled="true"]) {
|
|
2700
|
-
visibility: hidden;
|
|
2701
|
-
}
|
|
2702
|
-
.bs-character-count:where([data-error="true"]) {
|
|
2703
|
-
color: var(--bs-ink-red);
|
|
2704
|
-
}
|
|
2705
|
-
/* Containers and Labels for Checkbox/Radio */
|
|
2706
|
-
.bs-boolean {
|
|
2707
|
-
display: inline-flex;
|
|
2708
|
-
align-items: center;
|
|
2709
|
-
font-size: var(--bs-text-base);
|
|
2710
|
-
font-weight: 400;
|
|
2711
|
-
line-height: 115%;
|
|
2712
|
-
}
|
|
2713
|
-
.bs-boolean:where([data-size='sm']) input {
|
|
2714
|
-
height: .75rem;
|
|
2715
|
-
width: .75rem;
|
|
2716
|
-
}
|
|
2717
|
-
.bs-boolean label {
|
|
2718
|
-
font-size: var(--bs-text-base);
|
|
2719
|
-
font-weight: 400;
|
|
2720
|
-
line-height: 1.5;
|
|
2721
|
-
width: auto;
|
|
2722
|
-
}
|
|
2723
|
-
/* not using gap on .bs-boolean due to dead click zone */
|
|
2724
|
-
.bs-boolean label {
|
|
2725
|
-
padding-inline-end: 0.5em;
|
|
2726
|
-
}
|
|
2727
|
-
.bs-boolean input + label {
|
|
2728
|
-
padding-inline: 0.5em 0;
|
|
2729
|
-
}
|
|
2730
|
-
.bs-boolean:where([data-size='sm']),
|
|
2731
|
-
.bs-boolean:where([data-size='sm']) label {
|
|
2732
|
-
font-size: var(--bs-text-xs);
|
|
2733
|
-
}
|
|
2734
|
-
/* Checkbox & Radio Input */
|
|
2735
|
-
:where(input[type='checkbox'], input[type='radio']),
|
|
2736
|
-
:is(.bs-boolean :where(input), .bs-checkbox) { /* .bs-checkbox added to accommodate 'fake' cbs */
|
|
2737
|
-
-webkit-appearance: none;
|
|
2738
|
-
-moz-appearance: none;
|
|
2739
|
-
appearance: none;
|
|
2740
|
-
box-shadow: inset 0 0 0 0.125rem var(--box-shadow, var(--bs-ink-base));
|
|
2741
|
-
cursor: pointer;
|
|
2742
|
-
display: grid;
|
|
2743
|
-
height: 1rem;
|
|
2744
|
-
margin: 0;
|
|
2745
|
-
place-content: center;
|
|
3479
|
+
:where(label, legend),
|
|
3480
|
+
label:where(.bs-label) {
|
|
3481
|
+
display: inline-block;
|
|
2746
3482
|
position: relative;
|
|
2747
|
-
width:
|
|
2748
|
-
}
|
|
2749
|
-
:where(input[type='checkbox'], input[type='radio']):focus-visible,
|
|
2750
|
-
:is(.bs-boolean :where(input), .bs-checkbox):focus-visible {
|
|
2751
|
-
box-shadow: inset 0 0 0 0.125rem var(--box-shadow, var(--bs-ink-base)),
|
|
2752
|
-
0 0 0 2px var(--offset-color, var(--bs-bg-base)),
|
|
2753
|
-
0 0 0 4px var(--outline-color, var(--bs-blue-base));
|
|
2754
|
-
outline: 2px solid transparent;
|
|
2755
|
-
}
|
|
2756
|
-
:where(input[type='checkbox']),
|
|
2757
|
-
:is(.bs-boolean :where([type='checkbox']), .bs-checkbox) {
|
|
2758
|
-
border-radius: 0.125rem;
|
|
2759
|
-
}
|
|
2760
|
-
:where(input[type='radio']),
|
|
2761
|
-
.bs-boolean :where([type='radio']) {
|
|
2762
|
-
border-radius: 50%;
|
|
2763
|
-
}
|
|
2764
|
-
/* Checkbox's checkbox, checkmark. Checkmark is hidden unless checked/indeterminate. */
|
|
2765
|
-
input:where([type='checkbox'])::before,
|
|
2766
|
-
:is(.bs-boolean :where([type="checkbox"]), .bs-checkbox)::before {
|
|
2767
|
-
--cb-filled-size: var(--filled-size, 1rem);
|
|
2768
|
-
content: '';
|
|
2769
|
-
border-radius: 0.125rem;
|
|
2770
|
-
box-shadow: inset var(--cb-filled-size) var(--cb-filled-size) var(--fill-bg-color, var(--bs-blue-base));
|
|
2771
|
-
height: var(--cb-filled-size);
|
|
2772
|
-
visibility: hidden;
|
|
2773
|
-
width: var(--cb-filled-size);
|
|
2774
|
-
}
|
|
2775
|
-
input:where([type='checkbox'])::after,
|
|
2776
|
-
:is(.bs-boolean :where([type="checkbox"]), .bs-checkbox)::after {
|
|
2777
|
-
border: solid var(--bs-bg-base);
|
|
2778
|
-
border-width: 0 0.125rem 0.125rem 0;
|
|
2779
|
-
content: '';
|
|
2780
|
-
height: var(--inner-check-height, 0.75em);
|
|
2781
|
-
left: 50%;
|
|
2782
|
-
position: absolute;
|
|
2783
|
-
top: 50%;
|
|
2784
|
-
transform-origin: center;
|
|
2785
|
-
transform: translate(-50%, -60%) rotate(45deg);
|
|
2786
|
-
visibility: hidden;
|
|
2787
|
-
width: var(--inner-check-width, 0.375em);
|
|
2788
|
-
}
|
|
2789
|
-
input:where([type='checkbox']):where(:indeterminate)::after,
|
|
2790
|
-
.bs-boolean :where([type="checkbox"]):where(:indeterminate)::after,
|
|
2791
|
-
.bs-checkbox:where([data-indeterminate="true"], :indeterminate)::after {
|
|
2792
|
-
border: none;
|
|
2793
|
-
background-color: var(--bs-bg-base);
|
|
2794
|
-
height: var(--inner-dash-height, 0.125rem);
|
|
2795
|
-
transform: translate(-50%, -0.0625rem) rotate(0deg);
|
|
2796
|
-
width: var(--inner-dash-width, 0.625em);
|
|
2797
|
-
}
|
|
2798
|
-
/* Radio outer circle, Radio dot. Dot is hidden unless checked. */
|
|
2799
|
-
input:where([type='radio'])::before,
|
|
2800
|
-
.bs-boolean :where([type="radio"])::before {
|
|
2801
|
-
--radio-filled-size: var(--filled-size, 1rem);
|
|
2802
|
-
background-color: var(--fill-bg-color, var(--bs-blue-base));
|
|
2803
|
-
border-radius: 50%;
|
|
2804
|
-
box-sizing: content-box;
|
|
2805
|
-
content: '';
|
|
2806
|
-
height: var(--radio-filled-size);
|
|
2807
|
-
visibility: hidden;
|
|
2808
|
-
width: var(--radio-filled-size);
|
|
2809
|
-
}
|
|
2810
|
-
input:where([type='radio'])::after,
|
|
2811
|
-
.bs-boolean :where([type="radio"])::after {
|
|
2812
|
-
background-color: var(--bs-bg-base);
|
|
2813
|
-
border-radius: 50%;
|
|
2814
|
-
box-sizing: content-box;
|
|
2815
|
-
content: '';
|
|
2816
|
-
height: var(--inner-dot-size, 0.375rem);
|
|
2817
|
-
left: 50%;
|
|
2818
|
-
position: absolute;
|
|
2819
|
-
top: 50%;
|
|
2820
|
-
transform: translate(-50%, -50%);
|
|
2821
|
-
visibility: hidden;
|
|
2822
|
-
width: var(--inner-dot-size, 0.375rem);
|
|
2823
|
-
}
|
|
2824
|
-
/* Show checkmark, indeterminate mark, or radio dot */
|
|
2825
|
-
.bs-checkbox:where([data-indeterminate="true"], [data-checked="true"], :checked, :indeterminate)::before,
|
|
2826
|
-
.bs-checkbox:where([data-indeterminate="true"], [data-checked="true"], :checked, :indeterminate)::after,
|
|
2827
|
-
input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::before,
|
|
2828
|
-
input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::after,
|
|
2829
|
-
.bs-boolean :where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::before,
|
|
2830
|
-
.bs-boolean :where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::after {
|
|
2831
|
-
visibility: visible;
|
|
3483
|
+
width: 100%;
|
|
2832
3484
|
}
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
--
|
|
2837
|
-
--
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
--inner-dash-width: .75em;
|
|
2841
|
-
--inner-dot-size: 0.25rem;
|
|
3485
|
+
.bs-label,
|
|
3486
|
+
:where(label, legend) {
|
|
3487
|
+
--label-color: var(--bs-ink-base);
|
|
3488
|
+
color: var(--label-color);
|
|
3489
|
+
font-size: var(--bs-text-sm);
|
|
3490
|
+
font-weight: 600;
|
|
3491
|
+
line-height: var(--bs-leading-base);
|
|
2842
3492
|
}
|
|
2843
|
-
/*
|
|
2844
|
-
:where(
|
|
2845
|
-
.bs-
|
|
2846
|
-
|
|
2847
|
-
--box-shadow: var(--bs-ink-disabled);
|
|
2848
|
-
--fill-bg-color: var(--bs-ink-disabled);
|
|
2849
|
-
background-color: transparent;
|
|
2850
|
-
cursor: default;
|
|
2851
|
-
pointer-events: none;
|
|
3493
|
+
/* Required asterisk */
|
|
3494
|
+
:where(label, legend) :where([data-required]:not([data-required="false"])),
|
|
3495
|
+
.bs-label :where([data-required="true"]) {
|
|
3496
|
+
color: var(--label-asterisk-color, var(--bs-ink-red));
|
|
2852
3497
|
}
|
|
2853
|
-
/*
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
.bs-
|
|
2857
|
-
.bs-
|
|
2858
|
-
--
|
|
2859
|
-
--
|
|
3498
|
+
/* Disabled state */
|
|
3499
|
+
:where(label[data-disabled]:not([data-disabled="false"])),
|
|
3500
|
+
:where(label[data-disabled]:not([data-disabled="false"])) *,
|
|
3501
|
+
.bs-label:where([data-disabled="true"]),
|
|
3502
|
+
.bs-label:where([data-disabled="true"]) * {
|
|
3503
|
+
--label-asterisk-color: transparent;
|
|
3504
|
+
--label-color: var(--bs-ink-disabled);
|
|
3505
|
+
}
|
|
3506
|
+
.bs-label:where(:has(+ input), :has(+ .bs-input-addon), :has(+ :not(label) .bs-input-addon))::after {
|
|
3507
|
+
content: '';
|
|
3508
|
+
inset: 0 0 -.25rem 0;
|
|
3509
|
+
position: absolute;
|
|
2860
3510
|
}
|
|
2861
3511
|
.bs-switch {
|
|
2862
3512
|
--box-shadow: var(--bs-ink-base);
|
|
@@ -2992,670 +3642,626 @@ input:where([type='checkbox'], [type='radio'])[data-error]:where(:not([data-erro
|
|
|
2992
3642
|
.bs-switch input:where(:disabled) {
|
|
2993
3643
|
cursor: default;
|
|
2994
3644
|
}
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
|
|
2998
|
-
|
|
2999
|
-
list-style: none;
|
|
3000
|
-
margin: 0;
|
|
3001
|
-
min-width: 0;
|
|
3002
|
-
overflow-wrap: break-word;
|
|
3003
|
-
padding: 0;
|
|
3004
|
-
}
|
|
3005
|
-
.bs-hint:where([data-error]:not([data-error="false"])) {
|
|
3006
|
-
--hint-color: var(--bs-ink-red);
|
|
3007
|
-
}
|
|
3008
|
-
:where(:disabled, [data-disabled="true"]) .bs-hint {
|
|
3009
|
-
--hint-color: var(--bs-ink-disabled);
|
|
3010
|
-
}
|
|
3011
|
-
:where(label, legend),
|
|
3012
|
-
label:where(.bs-label) {
|
|
3013
|
-
display: inline-block;
|
|
3014
|
-
position: relative;
|
|
3015
|
-
width: 100%;
|
|
3645
|
+
:where(label + input, label > input):where(:not([type='checkbox'], [type='radio'])),
|
|
3646
|
+
:where(label + textarea, label > textarea),
|
|
3647
|
+
:where(label + select, label > select) {
|
|
3648
|
+
margin-top: 0.25rem;
|
|
3016
3649
|
}
|
|
3017
|
-
|
|
3018
|
-
:
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3650
|
+
/*
|
|
3651
|
+
Custom properties:
|
|
3652
|
+
--input-bg (background color)
|
|
3653
|
+
--input-border (border color)
|
|
3654
|
+
--input-border-width (border width)
|
|
3655
|
+
--input-caret (caret color)
|
|
3656
|
+
--input-padding-block (padding block)
|
|
3657
|
+
--input-padding-inline (padding inline)
|
|
3658
|
+
--input-placeholder (placeholder color)
|
|
3659
|
+
--input-text-size (font size)
|
|
3660
|
+
*/
|
|
3661
|
+
input:where(:not([type='checkbox'], [type='radio'], [type='file'], [type='range'])),
|
|
3662
|
+
textarea,
|
|
3663
|
+
select,
|
|
3664
|
+
:is(.bs-input, .bs-select, .bs-textarea) {
|
|
3665
|
+
-webkit-appearance: none;
|
|
3666
|
+
-moz-appearance: none;
|
|
3667
|
+
appearance: none;
|
|
3668
|
+
background-color: var(--input-bg, var(--bs-bg-base));
|
|
3669
|
+
border-color: var(--input-border, var(--bs-border-input));
|
|
3670
|
+
border-radius: 0.25rem;
|
|
3671
|
+
border-style: solid;
|
|
3672
|
+
border-width: var(--input-border-width, 1px);
|
|
3673
|
+
caret-color: var(--input-caret, var(--bs-blue-base));
|
|
3674
|
+
color: var(--bs-ink-base);
|
|
3675
|
+
font-size: var(--input-text-size, var(--bs-text-base));
|
|
3676
|
+
font-weight: 400;
|
|
3677
|
+
height: 2.5rem;
|
|
3023
3678
|
line-height: var(--bs-leading-base);
|
|
3679
|
+
padding-block: var(--input-padding-block, 0.0625rem);
|
|
3680
|
+
padding-inline: var(--input-padding-inline, 0.75rem);
|
|
3024
3681
|
}
|
|
3025
|
-
|
|
3026
|
-
:where(
|
|
3027
|
-
|
|
3028
|
-
|
|
3682
|
+
:where(.dark) input:where(:not([type='checkbox'], [type='radio'], [type='file'], [type='range'])),
|
|
3683
|
+
:where(.dark) textarea,
|
|
3684
|
+
:where(.dark) select,
|
|
3685
|
+
:where(.dark) :is(.bs-input, .bs-select, .bs-textarea) {
|
|
3686
|
+
--input-bg: transparent;
|
|
3029
3687
|
}
|
|
3030
|
-
|
|
3031
|
-
|
|
3032
|
-
|
|
3033
|
-
.bs-
|
|
3034
|
-
|
|
3035
|
-
--label-asterisk-color: transparent;
|
|
3036
|
-
--label-color: var(--bs-ink-disabled);
|
|
3688
|
+
input:where(:not([type='checkbox'], [type='radio'], [type='file'], [type='range'])),
|
|
3689
|
+
textarea,
|
|
3690
|
+
select,
|
|
3691
|
+
:is(.bs-input, .bs-select, .bs-textarea) {
|
|
3692
|
+
width: 100%;
|
|
3037
3693
|
}
|
|
3038
|
-
|
|
3039
|
-
|
|
3040
|
-
|
|
3041
|
-
|
|
3694
|
+
input:where([type='text'], [type='email'], [type='url']),
|
|
3695
|
+
select,
|
|
3696
|
+
.bs-input:where([type='text'], [type='email'], [type='url']),
|
|
3697
|
+
:is(.bs-input, .bs-select, .bs-textarea) {
|
|
3698
|
+
text-overflow: ellipsis;
|
|
3042
3699
|
}
|
|
3043
|
-
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
background colors:
|
|
3049
|
-
--btn-secondary: background color (active, hover)
|
|
3050
|
-
--btn-light: background color (ghost hover, ghost focus)
|
|
3051
|
-
|
|
3052
|
-
border / box-shadow:
|
|
3053
|
-
--btn-ghost-ink: the box shadow color for ghost buttons is synced to ink
|
|
3054
|
-
--btn-highlight: box shadow color (w/ --btn-main) (active)
|
|
3055
|
-
|
|
3056
|
-
padding:
|
|
3057
|
-
--btn-padding: padding (changes by size, and on text btns)
|
|
3058
|
-
|
|
3059
|
-
text color:
|
|
3060
|
-
--btn-ink: text color
|
|
3061
|
-
--btn-ghost-ink: text color (ghost)
|
|
3062
|
-
|
|
3063
|
-
*/
|
|
3064
|
-
.bs-button {
|
|
3065
|
-
--btn-focus-inset: -0.25rem;
|
|
3066
|
-
--btn-focus-pseudo-width: calc(100% + 0.5rem);
|
|
3067
|
-
--btn-ghost-ink: var(--bs-ink-blue);
|
|
3068
|
-
--btn-highlight: var(--bs-blue-100);
|
|
3069
|
-
--btn-ink: var(--bs-white);
|
|
3070
|
-
--btn-main: var(--bs-blue-400);
|
|
3071
|
-
--btn-padding: .25rem .75rem;
|
|
3072
|
-
--btn-secondary: var(--bs-blue-medium);
|
|
3073
|
-
--btn-text-size: var(--bs-text-md);
|
|
3074
|
-
--btn-weight: 600;
|
|
3075
|
-
--btn-height: 2.5rem;
|
|
3076
|
-
align-items: center;
|
|
3077
|
-
background-color: var(--btn-main);
|
|
3078
|
-
border: none;
|
|
3079
|
-
border-radius: 0.25rem;
|
|
3080
|
-
color: var(--btn-ink);
|
|
3081
|
-
-moz-column-gap: var(--bs-space-2);
|
|
3082
|
-
column-gap: var(--bs-space-2);
|
|
3083
|
-
cursor: pointer;
|
|
3084
|
-
display: inline-flex;
|
|
3085
|
-
font-size: var(--btn-text-size);
|
|
3086
|
-
font-weight: var(--btn-weight);
|
|
3087
|
-
height: var(--btn-height);
|
|
3088
|
-
justify-content: center;
|
|
3089
|
-
line-height: 1.5;
|
|
3090
|
-
outline: 2px solid transparent;
|
|
3091
|
-
padding: var(--btn-padding);
|
|
3092
|
-
position: relative;
|
|
3093
|
-
text-decoration: none;
|
|
3094
|
-
transition: all 100ms ease-in-out;
|
|
3095
|
-
vertical-align: middle;
|
|
3700
|
+
.bs-textarea,
|
|
3701
|
+
textarea {
|
|
3702
|
+
height: auto;
|
|
3703
|
+
padding-block: 0.5rem;
|
|
3704
|
+
resize: vertical;
|
|
3096
3705
|
}
|
|
3097
|
-
|
|
3098
|
-
|
|
3706
|
+
:is(input, textarea, select)::-moz-placeholder, :is(.bs-input, .bs-select, .bs-textarea)::-moz-placeholder {
|
|
3707
|
+
color: var(--input-placeholder, var(--bs-violet-100));
|
|
3099
3708
|
}
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
transform: scale(0.97);
|
|
3709
|
+
:is(input, textarea, select)::placeholder,
|
|
3710
|
+
:is(.bs-input, .bs-select, .bs-textarea)::placeholder,
|
|
3711
|
+
:is(.bs-input, .bs-select, .bs-textarea):where([data-placeholder="true"]) {
|
|
3712
|
+
color: var(--input-placeholder, var(--bs-violet-100));
|
|
3105
3713
|
}
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
border-color: transparent;
|
|
3109
|
-
border-radius: 0.5rem;
|
|
3110
|
-
border-style: solid;
|
|
3111
|
-
border-width: 0.125rem;
|
|
3112
|
-
content: '';
|
|
3113
|
-
height: calc(100% + 0.5rem);
|
|
3114
|
-
inset: var(--btn-focus-inset);
|
|
3115
|
-
position: absolute;
|
|
3116
|
-
transition: border-color 0.125s ease-in-out;
|
|
3117
|
-
width: var(--btn-focus-pseudo-width);
|
|
3714
|
+
:where(.dark) :is(input, textarea, select)::-moz-placeholder, :where(.dark) :is(.bs-input, .bs-select, .bs-textarea)::-moz-placeholder {
|
|
3715
|
+
--input-placeholder: var(--bs-violet-200);
|
|
3118
3716
|
}
|
|
3119
|
-
|
|
3120
|
-
|
|
3717
|
+
:where(.dark) :is(input, textarea, select)::placeholder,
|
|
3718
|
+
:where(.dark) :is(.bs-input, .bs-select, .bs-textarea)::placeholder,
|
|
3719
|
+
:where(.dark) :is(.bs-input, .bs-select, .bs-textarea):where([data-placeholder="true"]) {
|
|
3720
|
+
--input-placeholder: var(--bs-violet-200);
|
|
3121
3721
|
}
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
box-shadow: none;
|
|
3722
|
+
:is(input, textarea, select):where(:focus-visible)::-moz-placeholder, :is(.bs-input, .bs-select, .bs-textarea):where(:focus-visible)::-moz-placeholder {
|
|
3723
|
+
opacity: 0;
|
|
3125
3724
|
}
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3725
|
+
:is(input, textarea, select):where(:focus-visible)::placeholder,
|
|
3726
|
+
:is(.bs-input, .bs-select, .bs-textarea):where(:focus-visible)::placeholder {
|
|
3727
|
+
opacity: 0;
|
|
3129
3728
|
}
|
|
3130
|
-
/*
|
|
3131
|
-
|
|
3132
|
-
|
|
3133
|
-
|
|
3134
|
-
--
|
|
3135
|
-
|
|
3136
|
-
|
|
3729
|
+
/* FOCUS state */
|
|
3730
|
+
:is(input:where(:not([type='checkbox'], [type='radio'])), textarea, select):where(:focus-visible),
|
|
3731
|
+
:is(.bs-input, .bs-select, .bs-textarea):where(:focus-visible),
|
|
3732
|
+
:is(select, .bs-select):where(:focus) {
|
|
3733
|
+
--input-border: var(--bs-blue-base);
|
|
3734
|
+
outline-style: none;
|
|
3735
|
+
outline-width: 0px;
|
|
3137
3736
|
}
|
|
3138
|
-
|
|
3139
|
-
|
|
3737
|
+
/* DISABLED state */
|
|
3738
|
+
:is(input:where(:not([type='checkbox'],[type='radio'])), textarea, select):where(:disabled),
|
|
3739
|
+
:is(.bs-input, .bs-select, .bs-textarea):where(:disabled) {
|
|
3740
|
+
--input-border: var(--bs-ink-disabled);
|
|
3741
|
+
--input-bg: var(--bs-bg-disabled);
|
|
3742
|
+
color: var(--bs-ink-disabled);
|
|
3140
3743
|
}
|
|
3141
|
-
|
|
3142
|
-
|
|
3143
|
-
|
|
3744
|
+
/* Text inputs should not have a border when disabled */
|
|
3745
|
+
:is(input:where(:not([type]),[type="text"],[type="number"],[type="email"],[type="password"],[type="url"])):where(:disabled),
|
|
3746
|
+
textarea:where(:disabled),
|
|
3747
|
+
select:where(:disabled),
|
|
3748
|
+
:is(.bs-input, .bs-select, .bs-textarea):where(:disabled) {
|
|
3749
|
+
--input-border-width: 0px;
|
|
3144
3750
|
}
|
|
3145
|
-
|
|
3146
|
-
|
|
3147
|
-
|
|
3148
|
-
|
|
3751
|
+
/* Errors and Messages */
|
|
3752
|
+
:is(input, select, textarea):where([data-error]:not([data-error="false"])),
|
|
3753
|
+
:is(.bs-input, .bs-select, .bs-textarea):where([data-error="true"]) {
|
|
3754
|
+
--input-border: var(--bs-ink-red);
|
|
3149
3755
|
}
|
|
3150
|
-
/*
|
|
3151
|
-
|
|
3152
|
-
|
|
3153
|
-
|
|
3154
|
-
|
|
3155
|
-
|
|
3156
|
-
|
|
3756
|
+
/*
|
|
3757
|
+
Removes the built-in 'margin' on bottom of textarea
|
|
3758
|
+
see https://bugs.chromium.org/p/chromium/issues/detail?id=89530
|
|
3759
|
+
*/
|
|
3760
|
+
:has(> textarea:only-child),
|
|
3761
|
+
:has(> .bs-textarea:only-child) {
|
|
3762
|
+
display: block;
|
|
3763
|
+
line-height: 0;
|
|
3157
3764
|
}
|
|
3158
|
-
|
|
3159
|
-
|
|
3160
|
-
|
|
3765
|
+
/* chrome user agent styling was applying opacity: 0.7 */
|
|
3766
|
+
:where(select:disabled) {
|
|
3767
|
+
opacity: 1;
|
|
3161
3768
|
}
|
|
3162
|
-
.bs-
|
|
3163
|
-
|
|
3164
|
-
--btn-highlight: var(--bs-purple-100);
|
|
3165
|
-
--btn-light: var(--bs-purple-10);
|
|
3166
|
-
--btn-main: var(--bs-purple-400);
|
|
3167
|
-
--btn-secondary: var(--bs-purple-medium);
|
|
3769
|
+
:is(input, textarea, select):disabled::-moz-placeholder, :is(input, textarea, select)[disabled]::-moz-placeholder, :is(.bs-input, .bs-textarea, .bs-select):disabled::-moz-placeholder, :is(.bs-input, .bs-textarea, .bs-select)[disabled]::-moz-placeholder {
|
|
3770
|
+
opacity: 0;
|
|
3168
3771
|
}
|
|
3169
|
-
|
|
3170
|
-
|
|
3171
|
-
|
|
3172
|
-
|
|
3173
|
-
|
|
3174
|
-
--btn-secondary: var(--bs-orange-base);
|
|
3772
|
+
:is(input, textarea, select):disabled::placeholder,
|
|
3773
|
+
:is(input, textarea, select)[disabled]::placeholder,
|
|
3774
|
+
:is(.bs-input, .bs-textarea, .bs-select):disabled::placeholder,
|
|
3775
|
+
:is(.bs-input, .bs-textarea, .bs-select)[disabled]::placeholder {
|
|
3776
|
+
opacity: 0;
|
|
3175
3777
|
}
|
|
3176
|
-
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
-
|
|
3180
|
-
|
|
3181
|
-
|
|
3778
|
+
/* Select */
|
|
3779
|
+
select,
|
|
3780
|
+
.bs-select {
|
|
3781
|
+
/* URL Encoded SVG dropdown caret so there is something there */
|
|
3782
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%230A0B19' d='M8.048 13.375a.745.745 0 0 1-.526-.217L0 5.686l1.053-1.061 6.995 6.95 6.897-6.85 1.053 1.06-7.423 7.373a.745.745 0 0 1-.527.217Z'/%3E%3C/svg%3E");
|
|
3783
|
+
background-position: right 0.75rem center;
|
|
3784
|
+
background-repeat: no-repeat;
|
|
3785
|
+
background-size: 1em 1em;
|
|
3786
|
+
padding-right: var(--bs-space-9);
|
|
3182
3787
|
}
|
|
3183
|
-
|
|
3184
|
-
.bs-
|
|
3185
|
-
|
|
3186
|
-
|
|
3187
|
-
--btn-light: var(--bs-pink-10);
|
|
3188
|
-
--btn-main: var(--bs-pink-400);
|
|
3189
|
-
--btn-secondary: var(--bs-pink-300);
|
|
3788
|
+
select[multiple],
|
|
3789
|
+
.bs-select[multiple] {
|
|
3790
|
+
background-image: none;
|
|
3791
|
+
height: auto;
|
|
3190
3792
|
}
|
|
3191
|
-
|
|
3192
|
-
|
|
3193
|
-
|
|
3194
|
-
|
|
3195
|
-
--btn-light: var(--bs-royal-10);
|
|
3196
|
-
--btn-main: var(--bs-royal-400);
|
|
3197
|
-
--btn-secondary: var(--bs-royal-300);
|
|
3793
|
+
:where(.dark) select,
|
|
3794
|
+
:where(.dark) .bs-select {
|
|
3795
|
+
/* URL Encoded SVG dropdown caret so there is something there */
|
|
3796
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%23ffffff' d='M8.048 13.375a.745.745 0 0 1-.526-.217L0 5.686l1.053-1.061 6.995 6.95 6.897-6.85 1.053 1.06-7.423 7.373a.745.745 0 0 1-.527.217Z'/%3E%3C/svg%3E");
|
|
3198
3797
|
}
|
|
3199
|
-
|
|
3200
|
-
.bs-
|
|
3201
|
-
|
|
3202
|
-
|
|
3203
|
-
--btn-light: var(--bs-white-10);
|
|
3204
|
-
--btn-main: var(--bs-ink-white);
|
|
3798
|
+
:where(.dark) select:where(:disabled),
|
|
3799
|
+
:where(.dark) .bs-select:where(:disabled) {
|
|
3800
|
+
/* URL Encoded SVG dropdown caret so there is something there */
|
|
3801
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%23555775' d='M8.048 13.375a.745.745 0 0 1-.526-.217L0 5.686l1.053-1.061 6.995 6.95 6.897-6.85 1.053 1.06-7.423 7.373a.745.745 0 0 1-.527.217Z'/%3E%3C/svg%3E");
|
|
3205
3802
|
}
|
|
3206
|
-
/*
|
|
3207
|
-
|
|
3208
|
-
|
|
3209
|
-
|
|
3210
|
-
|
|
3211
|
-
--btn-ink: var(--bs-ink-blue);
|
|
3212
|
-
--btn-padding: 0;
|
|
3213
|
-
--btn-secondary: transparent;
|
|
3214
|
-
--btn-text-size: var(--bs-text-md);
|
|
3215
|
-
--btn-weight: 400;
|
|
3216
|
-
background-color: transparent;
|
|
3803
|
+
/* Allows for styling a button to look like a select input */
|
|
3804
|
+
:where(button).bs-select {
|
|
3805
|
+
align-items: center;
|
|
3806
|
+
/* Remove this for buttons since they will have the caret added */
|
|
3807
|
+
background-image: none;
|
|
3217
3808
|
cursor: pointer;
|
|
3218
|
-
|
|
3809
|
+
display: flex;
|
|
3810
|
+
padding-right: var(--input-padding-inline, 0.75rem);
|
|
3219
3811
|
}
|
|
3220
|
-
|
|
3221
|
-
|
|
3222
|
-
background-
|
|
3223
|
-
text-decoration: underline;
|
|
3812
|
+
:where(.dark) :where(button).bs-select,
|
|
3813
|
+
:where(.dark) :where(button).bs-select:where(:disabled) {
|
|
3814
|
+
background-image: none;
|
|
3224
3815
|
}
|
|
3225
|
-
.bs-
|
|
3226
|
-
|
|
3816
|
+
:where(button).bs-select :where(*:first-child) {
|
|
3817
|
+
flex-grow: 1;
|
|
3818
|
+
text-align: left;
|
|
3227
3819
|
}
|
|
3228
|
-
.bs-
|
|
3229
|
-
|
|
3820
|
+
:where(button).bs-select :where(.bs-icon) {
|
|
3821
|
+
color: var(--bs-ink-base);
|
|
3230
3822
|
transform: none;
|
|
3823
|
+
transition-duration: 200ms;
|
|
3824
|
+
transition-property: transform;
|
|
3825
|
+
transition-timing-function: ease-in-out;
|
|
3231
3826
|
}
|
|
3232
|
-
.bs-
|
|
3233
|
-
|
|
3234
|
-
--btn-ink: var(--bs-ink-red);
|
|
3235
|
-
}
|
|
3236
|
-
.bs-button:where([data-variant^='white'][data-text]:not([data-text="false"])),
|
|
3237
|
-
.bs-button:where([data-variant^='white'][data-text]:not([data-text="false"]):not(:disabled):not([aria-disabled="true"]):hover) {
|
|
3238
|
-
--btn-ink: var(--bs-ink-white);
|
|
3239
|
-
--btn-main: var(--bs-ink-white);
|
|
3827
|
+
:where(button).bs-select:where([data-open="true"]) :where(.bs-icon) {
|
|
3828
|
+
transform: rotate(180deg);
|
|
3240
3829
|
}
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3830
|
+
.bs-horizontal-nav {
|
|
3831
|
+
--bg-color: var(--bs-bg-light);
|
|
3832
|
+
--top-offset: 48px;
|
|
3833
|
+
align-items: center;
|
|
3834
|
+
background-color: var(--bg-color);
|
|
3835
|
+
bottom: auto;
|
|
3836
|
+
display: none;
|
|
3837
|
+
height: 48px;
|
|
3838
|
+
left: 0;
|
|
3839
|
+
position: fixed;
|
|
3840
|
+
right: 0;
|
|
3841
|
+
top: var(--top-offset);
|
|
3842
|
+
z-index: 1001;
|
|
3245
3843
|
}
|
|
3246
|
-
@media (min-width:
|
|
3247
|
-
.bs-
|
|
3248
|
-
|
|
3844
|
+
@media (min-width: 752px) {
|
|
3845
|
+
.bs-horizontal-nav {
|
|
3846
|
+
display: flex;
|
|
3249
3847
|
}
|
|
3250
3848
|
}
|
|
3251
|
-
.bs-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
|
|
3260
|
-
|
|
3261
|
-
--btn-text-size: var(--bs-text-md);
|
|
3849
|
+
.bs-horizontal-nav :where(nav) {
|
|
3850
|
+
align-items: center;
|
|
3851
|
+
display: flex;
|
|
3852
|
+
justify-content: space-between;
|
|
3853
|
+
margin-left: auto;
|
|
3854
|
+
margin-right: auto;
|
|
3855
|
+
max-width: calc(85.5rem + 2.25rem + 2.25rem); /* 1368px + 2.25rem x2 padding */
|
|
3856
|
+
padding-left: 2.25rem;
|
|
3857
|
+
padding-right: 2.25rem;
|
|
3858
|
+
width: 100%;
|
|
3262
3859
|
}
|
|
3263
|
-
|
|
3264
|
-
|
|
3860
|
+
/* ===== Nav List ===== */
|
|
3861
|
+
.bs-horizontal-nav :where(nav > ul),
|
|
3862
|
+
.bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul) {
|
|
3863
|
+
align-items: center;
|
|
3864
|
+
display: flex;
|
|
3865
|
+
flex-direction: row;
|
|
3866
|
+
gap: 1.5rem;
|
|
3867
|
+
list-style: none;
|
|
3868
|
+
width: 100%;
|
|
3265
3869
|
}
|
|
3266
|
-
/*
|
|
3267
|
-
.bs-
|
|
3268
|
-
|
|
3870
|
+
/* ===== Optional Title ===== */
|
|
3871
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-title) {
|
|
3872
|
+
border-right: 1px solid var(--bs-border-base);
|
|
3873
|
+
padding-right: 1.5rem;
|
|
3874
|
+
width: auto;
|
|
3269
3875
|
}
|
|
3270
|
-
.bs-
|
|
3271
|
-
|
|
3272
|
-
|
|
3876
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-title > a) {
|
|
3877
|
+
cursor: pointer;
|
|
3878
|
+
display: inline;
|
|
3879
|
+
padding-bottom: 0;
|
|
3880
|
+
padding-left: 0;
|
|
3881
|
+
padding-right: 0;
|
|
3882
|
+
padding-top: 0;
|
|
3883
|
+
width: auto;
|
|
3273
3884
|
}
|
|
3274
|
-
/*
|
|
3275
|
-
:where(
|
|
3276
|
-
.bs-
|
|
3277
|
-
|
|
3278
|
-
|
|
3885
|
+
/* ===== Nav Items ===== */
|
|
3886
|
+
.bs-horizontal-nav :where(nav > ul > li),
|
|
3887
|
+
.bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li) {
|
|
3888
|
+
border-bottom: none;
|
|
3889
|
+
display: list-item;
|
|
3890
|
+
margin-left: 0;
|
|
3891
|
+
width: auto;
|
|
3279
3892
|
}
|
|
3280
|
-
.bs-
|
|
3281
|
-
.bs-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3893
|
+
.bs-horizontal-nav :where(nav > ul > li:not(.bs-horizontal-nav-title) > a),
|
|
3894
|
+
.bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li > a) {
|
|
3895
|
+
align-items: center;
|
|
3896
|
+
border-radius: 4px;
|
|
3897
|
+
color: var(--bs-ink-light);
|
|
3898
|
+
cursor: pointer;
|
|
3899
|
+
display: flex;
|
|
3900
|
+
font-weight: 400;
|
|
3901
|
+
gap: 0.5rem;
|
|
3902
|
+
height: 100%;
|
|
3903
|
+
padding-bottom: 0.5rem;
|
|
3904
|
+
padding-left: 0;
|
|
3905
|
+
padding-right: 0;
|
|
3906
|
+
padding-top: 0.5rem;
|
|
3907
|
+
width: 100%;
|
|
3286
3908
|
}
|
|
3287
|
-
.bs-
|
|
3288
|
-
.bs-
|
|
3289
|
-
|
|
3909
|
+
.bs-horizontal-nav :where(nav > ul > li:not(.bs-horizontal-nav-title) > a:hover),
|
|
3910
|
+
.bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li > a:hover) {
|
|
3911
|
+
color: var(--bs-ink-blue);
|
|
3290
3912
|
}
|
|
3291
|
-
.bs-
|
|
3292
|
-
.bs-
|
|
3293
|
-
--
|
|
3913
|
+
.bs-horizontal-nav :where(nav > ul > li > a[data-active="true"]),
|
|
3914
|
+
.bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li > a[data-active="true"]) {
|
|
3915
|
+
color: var(--bs-ink-base);
|
|
3916
|
+
font-weight: 600;
|
|
3294
3917
|
}
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
display: inline-flex;
|
|
3299
|
-
outline: none;
|
|
3300
|
-
vertical-align: middle;
|
|
3918
|
+
.bs-horizontal-nav :where(nav > ul > li > a[data-active="true"]:hover),
|
|
3919
|
+
.bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li > a[data-active="true"]:hover) {
|
|
3920
|
+
color: var(--bs-ink-blue);
|
|
3301
3921
|
}
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
--btn-icon-padding: .75rem; // padding around icon svg
|
|
3307
|
-
--btn-icon-size: 1.5rem; // svg width and height
|
|
3308
|
-
--btn-icon-stroke-color: var(--bs-white);
|
|
3309
|
-
--btn-main: var(--bs-blue-base); // many things... should probably break this up
|
|
3310
|
-
--btn-text-color: var(--bs-ink-base);
|
|
3311
|
-
--btn-text-size: var(--bs-text-md);
|
|
3312
|
-
|
|
3313
|
-
--btn-border-color: transparent; // focus state outline color - transparent base state, --btn-main base focus state
|
|
3314
|
-
--btn-border-color-focused: var(--btn-main); // focus state ring color set on variants
|
|
3315
|
-
--btn-secondary: var(--bs-blue-medium); // hover state icon bg
|
|
3316
|
-
--btn-shadow-color-active: var(--btn-main); // active state shadow color (icon bg)
|
|
3317
|
-
--btn-text-color-hovered: var(--bs-ink-base); // hover state text color
|
|
3318
|
-
*/
|
|
3319
|
-
:where(.bs-circle-button) {
|
|
3320
|
-
--btn-border-color-focused: var(--btn-main);
|
|
3321
|
-
--btn-border-color: transparent;
|
|
3322
|
-
--btn-focus-inset: -0.25rem;
|
|
3323
|
-
--btn-gap: .5rem;
|
|
3324
|
-
--btn-icon-bg-color: var(--btn-main);
|
|
3325
|
-
--btn-icon-padding: .75rem;
|
|
3326
|
-
--btn-icon-size: 1.5rem;
|
|
3327
|
-
--btn-icon-stroke-color: var(--bs-white);
|
|
3328
|
-
--btn-main: var(--bs-blue-base);
|
|
3329
|
-
--btn-secondary: var(--bs-blue-medium);
|
|
3330
|
-
--btn-shadow-color-active: var(--btn-main);
|
|
3331
|
-
--btn-text-color-hovered: var(--bs-ink-base);
|
|
3332
|
-
--btn-text-color: var(--bs-ink-base);
|
|
3333
|
-
--btn-text-size: 1.125rem;
|
|
3334
|
-
--btn-text-weight: 400;
|
|
3922
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-first-link-icon) {
|
|
3923
|
+
color: var(--bs-ink-blue);
|
|
3924
|
+
height: 1rem;
|
|
3925
|
+
width: 1rem;
|
|
3335
3926
|
}
|
|
3336
|
-
|
|
3927
|
+
/* ===== Nested Nav Items ===== */
|
|
3928
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle) {
|
|
3337
3929
|
align-items: center;
|
|
3338
|
-
background-color: transparent;
|
|
3339
|
-
color: var(--btn-text-color);
|
|
3340
3930
|
cursor: pointer;
|
|
3341
|
-
display:
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3931
|
+
display: flex;
|
|
3932
|
+
gap: 0.5rem;
|
|
3933
|
+
line-height: 1.5;
|
|
3934
|
+
padding-bottom: 0.5rem;
|
|
3935
|
+
padding-top: 0.5rem;
|
|
3936
|
+
}
|
|
3937
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle:hover) {
|
|
3938
|
+
color: var(--bs-ink-blue);
|
|
3939
|
+
}
|
|
3940
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle[data-active="true"]) {
|
|
3941
|
+
color: var(--bs-ink-base);
|
|
3942
|
+
font-weight: 600;
|
|
3943
|
+
}
|
|
3944
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle[data-active="true"]:hover) {
|
|
3945
|
+
color: var(--bs-ink-blue);
|
|
3946
|
+
}
|
|
3947
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle-caret) {
|
|
3948
|
+
height: 0.75rem;
|
|
3949
|
+
transform: none;
|
|
3950
|
+
transition-duration: 0.2s;
|
|
3951
|
+
transition-property: transform;
|
|
3952
|
+
transition-timing-function: ease-in-out;
|
|
3953
|
+
width: 0.75rem;
|
|
3954
|
+
}
|
|
3955
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle:hover ~ .bs-horizontal-nav-caret) {
|
|
3956
|
+
color: var(--bs-ink-blue);
|
|
3957
|
+
}
|
|
3958
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle[data-expanded="true"]) {
|
|
3959
|
+
color: var(--bs-ink-blue);
|
|
3960
|
+
font-weight: 600;
|
|
3348
3961
|
}
|
|
3349
|
-
|
|
3350
|
-
|
|
3351
|
-
display: inline-flex;
|
|
3352
|
-
outline: none;
|
|
3353
|
-
text-decoration: none;
|
|
3962
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle[data-expanded="true"] .bs-horizontal-nav-nested-toggle-caret) {
|
|
3963
|
+
transform: rotate(180deg);
|
|
3354
3964
|
}
|
|
3355
|
-
.bs-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
|
|
3359
|
-
|
|
3360
|
-
color: var(--btn-icon-stroke-color);
|
|
3361
|
-
display: inline-flex;
|
|
3362
|
-
justify-content: center;
|
|
3363
|
-
outline: 2px solid transparent;
|
|
3364
|
-
padding: var(--btn-icon-padding);
|
|
3365
|
-
position: relative;
|
|
3366
|
-
transition: all 100ms ease-in-out;
|
|
3965
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-nested-menu) {
|
|
3966
|
+
--dropdown-top: 100%;
|
|
3967
|
+
border-radius: 8px;
|
|
3968
|
+
padding: 1.5rem;
|
|
3969
|
+
width: 10.5rem;
|
|
3367
3970
|
}
|
|
3368
|
-
.bs-
|
|
3369
|
-
|
|
3370
|
-
border-radius: 50%;
|
|
3371
|
-
border-style: solid;
|
|
3372
|
-
border-width: 0.125rem;
|
|
3373
|
-
content: '';
|
|
3374
|
-
inset: var(--btn-focus-inset);
|
|
3375
|
-
position: absolute;
|
|
3376
|
-
transition: border-color 125ms ease-in-out, transform 100ms ease-in-out;
|
|
3971
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-nested-menu > ul) {
|
|
3972
|
+
list-style: none;
|
|
3377
3973
|
}
|
|
3378
|
-
.bs-
|
|
3379
|
-
|
|
3974
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-nested-menu > ul > li) {
|
|
3975
|
+
margin-left: 0;
|
|
3380
3976
|
}
|
|
3381
|
-
|
|
3382
|
-
|
|
3383
|
-
height: var(--btn-icon-size);
|
|
3384
|
-
width: var(--btn-icon-size);
|
|
3977
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-nested-menu > ul > li > a) {
|
|
3978
|
+
font-size: 0.875rem;
|
|
3385
3979
|
}
|
|
3386
|
-
|
|
3387
|
-
|
|
3388
|
-
|
|
3389
|
-
--btn-icon-size: 0.75rem;
|
|
3390
|
-
--btn-icon-padding: 0.375rem;
|
|
3980
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-nested-menu > ul > li > a:hover) {
|
|
3981
|
+
color: var(--bs-ink-blue);
|
|
3982
|
+
text-decoration: underline;
|
|
3391
3983
|
}
|
|
3392
|
-
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
--btn-icon-stroke-color: var(--btn-main);
|
|
3396
|
-
--btn-light: var(--bs-blue-10);
|
|
3397
|
-
--btn-secondary: var(--bs-blue-10);
|
|
3984
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-nested-menu > ul > li > a[data-active="true"]) {
|
|
3985
|
+
color: var(--bs-ink-base);
|
|
3986
|
+
font-weight: 600;
|
|
3398
3987
|
}
|
|
3399
|
-
|
|
3400
|
-
|
|
3401
|
-
--btn-icon-bg-color: var(--btn-secondary);
|
|
3402
|
-
--btn-text-color: var(--btn-text-color-hovered);
|
|
3988
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-nested-menu > ul > li > a[data-active="true"]:hover) {
|
|
3989
|
+
color: var(--bs-ink-blue);
|
|
3403
3990
|
}
|
|
3404
|
-
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3991
|
+
/* ===== External Links ===== */
|
|
3992
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-external-link-icon) {
|
|
3993
|
+
height: 1rem;
|
|
3994
|
+
width: 1rem;
|
|
3408
3995
|
}
|
|
3409
|
-
|
|
3410
|
-
.bs-
|
|
3411
|
-
|
|
3996
|
+
/* ===== Slotted Items ===== */
|
|
3997
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-slotted-items) {
|
|
3998
|
+
margin-left: auto;
|
|
3412
3999
|
}
|
|
3413
|
-
.bs-
|
|
3414
|
-
|
|
3415
|
-
transform: translateX(-.25rem);
|
|
4000
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-external-links ~ .bs-horizontal-nav-slotted-items) {
|
|
4001
|
+
margin-left: 1.5rem;
|
|
3416
4002
|
}
|
|
3417
|
-
|
|
3418
|
-
|
|
4003
|
+
/* ===== Component-specific ===== */
|
|
4004
|
+
.bs-horizontal-nav :where(.bs-horizontal-nav-nested-menu-override) {
|
|
4005
|
+
--dropdown-top: 0;
|
|
4006
|
+
padding: 1.5rem;
|
|
4007
|
+
width: 10.5rem;
|
|
3419
4008
|
}
|
|
3420
|
-
.bs-
|
|
3421
|
-
--
|
|
4009
|
+
.bs-horizontal-nav-mobile {
|
|
4010
|
+
--bg-color: var(--bs-bg-light);
|
|
4011
|
+
--top-offset: 48px;
|
|
4012
|
+
-ms-overflow-style: none; /* Internet Explorer 10+ */
|
|
4013
|
+
background-color: var(--bg-color);
|
|
4014
|
+
display: flex;
|
|
4015
|
+
flex-direction: column;
|
|
4016
|
+
height: auto;
|
|
4017
|
+
left: 0;
|
|
4018
|
+
max-height: calc(100vh - var(--top-offset));
|
|
4019
|
+
overflow: scroll;
|
|
4020
|
+
position: fixed;
|
|
4021
|
+
right: 0;
|
|
4022
|
+
scrollbar-width: none; /* Firefox */
|
|
4023
|
+
top: var(--top-offset);
|
|
4024
|
+
z-index: 1001;
|
|
3422
4025
|
}
|
|
3423
|
-
|
|
3424
|
-
|
|
3425
|
-
--btn-icon-stroke-color: var(--bs-ink-disabled);
|
|
3426
|
-
--btn-text-color: var(--bs-ink-disabled);
|
|
3427
|
-
pointer-events: none;
|
|
4026
|
+
.bs-horizontal-nav-mobile:where([data-shown="true"]) {
|
|
4027
|
+
height: 100vh;
|
|
3428
4028
|
}
|
|
3429
|
-
|
|
3430
|
-
|
|
4029
|
+
@media (min-width: 752px) {
|
|
4030
|
+
.bs-horizontal-nav-mobile {
|
|
4031
|
+
display: none;
|
|
4032
|
+
}
|
|
3431
4033
|
}
|
|
3432
|
-
/*
|
|
3433
|
-
.bs-
|
|
3434
|
-
|
|
3435
|
-
|
|
3436
|
-
|
|
4034
|
+
/* ===== Nav List ===== */
|
|
4035
|
+
.bs-horizontal-nav-mobile :where(ul) {
|
|
4036
|
+
display: none;
|
|
4037
|
+
flex-direction: column;
|
|
4038
|
+
list-style: none;
|
|
3437
4039
|
}
|
|
3438
|
-
.bs-
|
|
3439
|
-
|
|
3440
|
-
--btn-icon-size: .625rem;
|
|
3441
|
-
--btn-text-size: 1rem;
|
|
4040
|
+
.bs-horizontal-nav-mobile:where([data-shown="true"]) :where(ul) {
|
|
4041
|
+
display: flex;
|
|
3442
4042
|
}
|
|
3443
|
-
|
|
3444
|
-
|
|
3445
|
-
|
|
3446
|
-
--
|
|
4043
|
+
/* ===== Toggle ===== */
|
|
4044
|
+
.bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-toggle) {
|
|
4045
|
+
align-items: center;
|
|
4046
|
+
color: var(--bs-ink-light);
|
|
4047
|
+
cursor: pointer;
|
|
4048
|
+
display: flex;
|
|
4049
|
+
height: 48px;
|
|
4050
|
+
justify-content: space-between;
|
|
4051
|
+
padding-bottom: 0.5rem;
|
|
4052
|
+
padding-left: 2.25rem;
|
|
4053
|
+
padding-right: 2.25rem;
|
|
4054
|
+
padding-top: 0.5rem;
|
|
4055
|
+
width: 100%;
|
|
3447
4056
|
}
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
--btn-icon-padding: 0;
|
|
3453
|
-
--btn-icon-size: .75rem; /* stays the same for all sizes */
|
|
3454
|
-
--btn-icon-stroke-color: var(--btn-text-color);
|
|
3455
|
-
--btn-secondary: transparent;
|
|
3456
|
-
--btn-shadow-color-active: transparent;
|
|
4057
|
+
.bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-toggle-title) {
|
|
4058
|
+
align-items: center;
|
|
4059
|
+
display: flex;
|
|
4060
|
+
gap: 0.5rem;
|
|
3457
4061
|
}
|
|
3458
|
-
.bs-
|
|
3459
|
-
|
|
3460
|
-
|
|
3461
|
-
|
|
4062
|
+
.bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-toggle-title-icon) {
|
|
4063
|
+
color: var(--bs-ink-blue);
|
|
4064
|
+
height: 1rem;
|
|
4065
|
+
width: 1rem;
|
|
3462
4066
|
}
|
|
3463
|
-
.bs-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
4067
|
+
.bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-toggle-caret) {
|
|
4068
|
+
height: 0.75rem;
|
|
4069
|
+
transform: none;
|
|
4070
|
+
transition-duration: 0.2s;
|
|
4071
|
+
transition-property: transform;
|
|
4072
|
+
transition-timing-function: ease-in-out;
|
|
4073
|
+
width: 0.75rem;
|
|
3467
4074
|
}
|
|
3468
|
-
.bs-
|
|
3469
|
-
|
|
3470
|
-
--btn-text-color: var(--bs-ink-purple);
|
|
3471
|
-
--btn-text-color-hovered: var(--bs-purple-medium);
|
|
4075
|
+
.bs-horizontal-nav-mobile:where([data-shown="true"]) :where(.bs-horizontal-nav-mobile-toggle-caret) {
|
|
4076
|
+
transform: rotate(180deg);
|
|
3472
4077
|
}
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
--btn-text-color-hovered: var(--bs-pink-base);
|
|
4078
|
+
/* ===== Nav Items ===== */
|
|
4079
|
+
.bs-horizontal-nav-mobile :where(ul > li) {
|
|
4080
|
+
border-top: 1px solid var(--bs-border-base);
|
|
3477
4081
|
}
|
|
3478
|
-
.bs-
|
|
3479
|
-
|
|
3480
|
-
--btn-text-color: var(--bs-ink-red);
|
|
3481
|
-
--btn-text-color-hovered: var(--bs-red-base);
|
|
4082
|
+
.bs-horizontal-nav-mobile :where(ul:not(.bs-horizontal-nav-mobile-nested-menu) > li:last-child) {
|
|
4083
|
+
border-bottom: 1px solid var(--bs-border-base);
|
|
3482
4084
|
}
|
|
3483
|
-
.bs-
|
|
3484
|
-
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
4085
|
+
.bs-horizontal-nav-mobile :where(ul > li > a) {
|
|
4086
|
+
color: var(--bs-ink-light);
|
|
4087
|
+
cursor: pointer;
|
|
4088
|
+
display: flex;
|
|
4089
|
+
font-weight: 400;
|
|
4090
|
+
padding-bottom: 0.75rem;
|
|
4091
|
+
padding-left: 2.25rem;
|
|
4092
|
+
padding-right: 2.25rem;
|
|
4093
|
+
padding-top: 0.75rem;
|
|
3488
4094
|
}
|
|
3489
|
-
.bs-
|
|
3490
|
-
--
|
|
3491
|
-
--btn-text-color: var(--bs-ink-disabled);
|
|
4095
|
+
.bs-horizontal-nav-mobile :where(ul > li > a:hover) {
|
|
4096
|
+
color: var(--bs-ink-blue);
|
|
3492
4097
|
}
|
|
3493
|
-
|
|
3494
|
-
|
|
3495
|
-
|
|
3496
|
-
--btn-text-weight: 600;
|
|
4098
|
+
.bs-horizontal-nav-mobile :where(ul > li > a[data-active="true"]) {
|
|
4099
|
+
color: var(--bs-ink-base);
|
|
4100
|
+
font-weight: 600;
|
|
3497
4101
|
}
|
|
3498
|
-
|
|
3499
|
-
|
|
3500
|
-
--filterbtn-caret-size
|
|
3501
|
-
--filterbtn-caret-transform
|
|
3502
|
-
--filterbtn-color
|
|
3503
|
-
--filterbtn-focus-color
|
|
3504
|
-
--filterbtn-height
|
|
3505
|
-
--filterbtn-text-size
|
|
3506
|
-
--filterbtn-weight
|
|
3507
|
-
*/
|
|
3508
|
-
button:where(.bs-filter-button) {
|
|
3509
|
-
--filterbtn-caret-size: 1rem;
|
|
3510
|
-
--filterbtn-caret-transform: rotate(0deg);
|
|
3511
|
-
--filterbtn-color: var(--bs-ink-blue);
|
|
3512
|
-
--filterbtn-focus-color: transparent;
|
|
3513
|
-
--filterbtn-height: 1.5rem;
|
|
3514
|
-
--filterbtn-text-size: var(--bs-text-base);
|
|
3515
|
-
--filterbtn-weight: 400;
|
|
3516
|
-
flex-shrink: 0;
|
|
3517
|
-
position: relative;
|
|
4102
|
+
.bs-horizontal-nav-mobile :where(ul > li > a[data-active="true"]:hover) {
|
|
4103
|
+
color: var(--bs-ink-blue);
|
|
3518
4104
|
}
|
|
3519
|
-
|
|
4105
|
+
/* ===== Nested Nav Items ===== */
|
|
4106
|
+
.bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-toggle) {
|
|
3520
4107
|
align-items: center;
|
|
3521
|
-
color: var(--
|
|
3522
|
-
-moz-column-gap: 0.5rem;
|
|
3523
|
-
column-gap: 0.5rem;
|
|
4108
|
+
color: var(--bs-ink-light);
|
|
3524
4109
|
cursor: pointer;
|
|
3525
|
-
display:
|
|
3526
|
-
|
|
3527
|
-
|
|
3528
|
-
|
|
3529
|
-
|
|
3530
|
-
|
|
3531
|
-
width: -moz-max-content;
|
|
3532
|
-
width: max-content;
|
|
3533
|
-
}
|
|
3534
|
-
.bs-filter-button::after {
|
|
3535
|
-
border: solid var(--filterbtn-focus-color) 2px;
|
|
3536
|
-
border-radius: 0.25rem;
|
|
3537
|
-
content: '';
|
|
3538
|
-
display: block;
|
|
3539
|
-
height: 100%;
|
|
3540
|
-
position: absolute;
|
|
3541
|
-
transform: scale(1.25);
|
|
4110
|
+
display: flex;
|
|
4111
|
+
justify-content: space-between;
|
|
4112
|
+
padding-bottom: 0.75rem;
|
|
4113
|
+
padding-left: 2.25rem;
|
|
4114
|
+
padding-right: 2.25rem;
|
|
4115
|
+
padding-top: 0.75rem;
|
|
3542
4116
|
width: 100%;
|
|
3543
4117
|
}
|
|
3544
|
-
.bs-
|
|
3545
|
-
|
|
4118
|
+
.bs-horizontal-nav-mobile :where(ul li .bs-horizontal-nav-mobile-nested-toggle[data-active="true"]) {
|
|
4119
|
+
font-weight: 600;
|
|
4120
|
+
}
|
|
4121
|
+
.bs-horizontal-nav-mobile :where(ul li[data-expanded="true"] .bs-horizontal-nav-mobile-nested-toggle) {
|
|
4122
|
+
background-color: var(--bs-bg-medium);
|
|
4123
|
+
color: var(--bs-ink-blue);
|
|
4124
|
+
font-weight: 600;
|
|
4125
|
+
}
|
|
4126
|
+
.bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-toggle:hover) {
|
|
4127
|
+
color: var(--bs-ink-blue);
|
|
4128
|
+
}
|
|
4129
|
+
.bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-toggle-caret) {
|
|
4130
|
+
height: 0.75rem;
|
|
4131
|
+
transform: none;
|
|
4132
|
+
transition-duration: 0.2s;
|
|
4133
|
+
transition-property: transform;
|
|
4134
|
+
transition-timing-function: ease-in-out;
|
|
4135
|
+
width: 0.75rem;
|
|
4136
|
+
}
|
|
4137
|
+
.bs-horizontal-nav-mobile :where(ul li[data-expanded="true"] .bs-horizontal-nav-mobile-nested-toggle-caret) {
|
|
4138
|
+
transform: rotate(180deg);
|
|
4139
|
+
}
|
|
4140
|
+
.bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-menu) {
|
|
4141
|
+
background-color: var(--bs-bg-medium);
|
|
4142
|
+
display: none;
|
|
4143
|
+
}
|
|
4144
|
+
.bs-horizontal-nav-mobile :where(ul li[data-expanded="true"] .bs-horizontal-nav-mobile-nested-menu) {
|
|
3546
4145
|
display: block;
|
|
3547
|
-
height: var(--filterbtn-caret-size);
|
|
3548
|
-
line-height: 1;
|
|
3549
|
-
transform: var(--filterbtn-caret-transform);
|
|
3550
|
-
transform-origin: center;
|
|
3551
|
-
transition: var(--bs-trans-rotate180);
|
|
3552
|
-
width: var(--filterbtn-caret-size);
|
|
3553
4146
|
}
|
|
3554
|
-
.bs-
|
|
3555
|
-
|
|
3556
|
-
--filterbtn-text-size: var(--bs-text-sm);
|
|
3557
|
-
--filterbtn-caret-size: .75rem;
|
|
4147
|
+
.bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-menu > li) {
|
|
4148
|
+
border-top: none;
|
|
3558
4149
|
}
|
|
3559
|
-
|
|
3560
|
-
|
|
4150
|
+
/* ===== External Links ===== */
|
|
4151
|
+
.bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-link) {
|
|
4152
|
+
align-items: center;
|
|
4153
|
+
display: flex;
|
|
4154
|
+
gap: 0.5rem;
|
|
3561
4155
|
}
|
|
3562
|
-
.bs-
|
|
3563
|
-
|
|
3564
|
-
|
|
4156
|
+
.bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-link-icon) {
|
|
4157
|
+
height: 1rem;
|
|
4158
|
+
width: 1rem;
|
|
3565
4159
|
}
|
|
3566
|
-
/*
|
|
3567
|
-
.bs-
|
|
3568
|
-
|
|
4160
|
+
/* ===== Slotted Items ===== */
|
|
4161
|
+
.bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-slotted-items) {
|
|
4162
|
+
display: none;
|
|
4163
|
+
padding-bottom: 0.75rem;
|
|
4164
|
+
padding-left: 2.25rem;
|
|
4165
|
+
padding-right: 2.25rem;
|
|
4166
|
+
padding-top: 0.75rem;
|
|
3569
4167
|
}
|
|
3570
|
-
|
|
3571
|
-
|
|
3572
|
-
outline: none;
|
|
3573
|
-
--filterbtn-focus-color: var(--bs-blue-base);
|
|
4168
|
+
.bs-horizontal-nav-mobile:where([data-shown="true"]) :where(.bs-horizontal-nav-mobile-slotted-items) {
|
|
4169
|
+
display: block;
|
|
3574
4170
|
}
|
|
3575
|
-
|
|
3576
|
-
|
|
3577
|
-
--
|
|
4171
|
+
.bs-loader {
|
|
4172
|
+
--loader-dot-bg: var(--bs-blue-500);
|
|
4173
|
+
--loader-dot-size: .75rem;
|
|
4174
|
+
--loader-dot-top: calc(50% - var(--loader-dot-size)/2);
|
|
4175
|
+
--loader-dot-translate: 1.75rem; /* i.e., calc(var(--loader-width)/2 - var(--loader-dot-size)/2); */
|
|
4176
|
+
--loader-height: 3rem;
|
|
4177
|
+
--loader-width: 4rem; /* approx 6 * dot size */
|
|
4178
|
+
display: block;
|
|
4179
|
+
height: var(--loader-height);
|
|
4180
|
+
margin-inline-start: auto;
|
|
4181
|
+
margin-inline-end: auto;
|
|
4182
|
+
position: relative;
|
|
4183
|
+
width: var(--loader-width);
|
|
3578
4184
|
}
|
|
3579
|
-
|
|
3580
|
-
|
|
3581
|
-
--
|
|
4185
|
+
.bs-loader:where([data-size="xs"]) {
|
|
4186
|
+
--loader-dot-size: .3rem;
|
|
4187
|
+
--loader-dot-translate: .75rem;
|
|
4188
|
+
--loader-height: .3rem;
|
|
4189
|
+
--loader-width: 1.8rem;
|
|
3582
4190
|
}
|
|
3583
|
-
|
|
3584
|
-
--
|
|
4191
|
+
.bs-loader:where([data-size="sm"]) {
|
|
4192
|
+
--loader-dot-size: .5rem;
|
|
4193
|
+
--loader-dot-translate: 1.125rem;
|
|
4194
|
+
--loader-height: .5rem;
|
|
4195
|
+
--loader-width: 3rem;
|
|
3585
4196
|
}
|
|
3586
|
-
.bs-
|
|
3587
|
-
--
|
|
4197
|
+
.bs-loader:where([data-size="lg"]) {
|
|
4198
|
+
--loader-dot-size: 1rem;
|
|
4199
|
+
--loader-dot-translate: 2.375rem;
|
|
4200
|
+
--loader-height: 4rem;
|
|
4201
|
+
--loader-width: 6rem;
|
|
3588
4202
|
}
|
|
3589
|
-
/*
|
|
3590
|
-
.bs-
|
|
3591
|
-
|
|
3592
|
-
|
|
4203
|
+
/* ----- loader dots ----- */
|
|
4204
|
+
.bs-loader > :where(*:not(.visually-hidden)) {
|
|
4205
|
+
background-color: var(--loader-dot-bg);
|
|
4206
|
+
border-radius: 50%;
|
|
4207
|
+
display: block;
|
|
4208
|
+
height: var(--loader-dot-size);
|
|
4209
|
+
position: absolute;
|
|
4210
|
+
top: var(--loader-dot-top);
|
|
4211
|
+
width: var(--loader-dot-size);
|
|
3593
4212
|
}
|
|
3594
|
-
.bs-
|
|
3595
|
-
|
|
3596
|
-
--badge-text: var(--bs-ink-disabled);
|
|
4213
|
+
.bs-loader > :where(*:not(.visually-hidden)) {
|
|
4214
|
+
animation-timing-function: cubic-bezier(0, 1, 1, 0);
|
|
3597
4215
|
}
|
|
3598
|
-
.bs-
|
|
3599
|
-
|
|
3600
|
-
|
|
3601
|
-
height: 100%;
|
|
3602
|
-
left: 0;
|
|
3603
|
-
margin: 0;
|
|
3604
|
-
max-width: 100vw;
|
|
3605
|
-
opacity: 0;
|
|
3606
|
-
padding: 1.5rem;
|
|
3607
|
-
position: fixed;
|
|
3608
|
-
top: 0;
|
|
3609
|
-
transform: translateX(-100%);
|
|
3610
|
-
transition-duration: 300ms;
|
|
3611
|
-
transition-property: opacity, transform;
|
|
3612
|
-
transition-timing-function: ease;
|
|
3613
|
-
width: 360px;
|
|
3614
|
-
z-index: 1000;
|
|
4216
|
+
.bs-loader > :where(*:nth-child(1)) {
|
|
4217
|
+
animation: loading-1 0.6s infinite;
|
|
4218
|
+
left: 0%;
|
|
3615
4219
|
}
|
|
3616
|
-
.bs-
|
|
3617
|
-
|
|
4220
|
+
.bs-loader > :where(*:nth-child(2)) {
|
|
4221
|
+
animation: loading-2 0.6s infinite;
|
|
4222
|
+
left: 0%;
|
|
3618
4223
|
}
|
|
3619
|
-
.bs-
|
|
3620
|
-
|
|
3621
|
-
left:
|
|
3622
|
-
right: 0;
|
|
3623
|
-
transform: translateX(100%);
|
|
4224
|
+
.bs-loader > :where(*:nth-child(3)) {
|
|
4225
|
+
animation: loading-2 0.6s infinite;
|
|
4226
|
+
left: 40%;
|
|
3624
4227
|
}
|
|
3625
|
-
.bs-
|
|
3626
|
-
|
|
4228
|
+
.bs-loader > :where(*:nth-child(4)) {
|
|
4229
|
+
animation: loading-3 0.6s infinite;
|
|
4230
|
+
left: 80%;
|
|
3627
4231
|
}
|
|
3628
|
-
|
|
3629
|
-
|
|
3630
|
-
|
|
3631
|
-
Needs to be "none" instead of "0" so as not to interfere with calculating
|
|
3632
|
-
"containing block" for absolute and fixed positioned elements (see https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block)
|
|
3633
|
-
*/
|
|
3634
|
-
transform: none;
|
|
4232
|
+
/* ----- color variants ----- */
|
|
4233
|
+
.bs-loader:where([data-variant="black"]) {
|
|
4234
|
+
--loader-dot-bg: var(--bs-black);
|
|
3635
4235
|
}
|
|
3636
|
-
.bs-
|
|
3637
|
-
|
|
3638
|
-
justify-content: flex-end;
|
|
4236
|
+
.bs-loader:where([data-variant="gray"]) {
|
|
4237
|
+
--loader-dot-bg: var(--bs-gray-400);
|
|
3639
4238
|
}
|
|
3640
|
-
.bs-
|
|
3641
|
-
|
|
3642
|
-
outline-offset: 2px;
|
|
3643
|
-
padding: 2px;
|
|
4239
|
+
.bs-loader:where([data-variant="white"]) {
|
|
4240
|
+
--loader-dot-bg: var(--bs-white);
|
|
3644
4241
|
}
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
4242
|
+
@keyframes loading-1 {
|
|
4243
|
+
0% {
|
|
4244
|
+
transform: scale(0);
|
|
4245
|
+
}
|
|
4246
|
+
100% {
|
|
4247
|
+
transform: scale(1);
|
|
4248
|
+
}
|
|
3650
4249
|
}
|
|
3651
|
-
|
|
3652
|
-
|
|
3653
|
-
|
|
4250
|
+
@keyframes loading-2 {
|
|
4251
|
+
0% {
|
|
4252
|
+
transform: translate(0, 0);
|
|
4253
|
+
}
|
|
4254
|
+
100% {
|
|
4255
|
+
transform: translate(var(--loader-dot-translate), 0);
|
|
4256
|
+
}
|
|
3654
4257
|
}
|
|
3655
|
-
|
|
3656
|
-
|
|
3657
|
-
|
|
3658
|
-
|
|
4258
|
+
@keyframes loading-3 {
|
|
4259
|
+
0% {
|
|
4260
|
+
transform: scale(1);
|
|
4261
|
+
}
|
|
4262
|
+
100% {
|
|
4263
|
+
transform: scale(0);
|
|
4264
|
+
}
|
|
3659
4265
|
}
|
|
3660
4266
|
.bs-modal {
|
|
3661
4267
|
background-color: var(--bs-bg-base-to-medium);
|
|
@@ -3681,7 +4287,7 @@ button:where(.bs-filter-button) {
|
|
|
3681
4287
|
}
|
|
3682
4288
|
@media (min-width: 752px) {
|
|
3683
4289
|
.bs-modal {
|
|
3684
|
-
max-height: 40.625rem;
|
|
4290
|
+
max-height: min(calc(100vh - 3rem), 40.625rem);
|
|
3685
4291
|
width: 35rem;
|
|
3686
4292
|
}
|
|
3687
4293
|
}
|
|
@@ -3773,154 +4379,59 @@ button:where(.bs-filter-button) {
|
|
|
3773
4379
|
.bs-pagination:where([data-variant="results"]) {
|
|
3774
4380
|
gap: 1rem;
|
|
3775
4381
|
}
|
|
3776
|
-
.bs-pagination :where(button) {
|
|
3777
|
-
align-items: center;
|
|
3778
|
-
border-radius: 4px;
|
|
3779
|
-
cursor: pointer;
|
|
3780
|
-
display: flex;
|
|
3781
|
-
min-height: 1.5rem;
|
|
3782
|
-
justify-content: center;
|
|
3783
|
-
outline: 2px solid transparent;
|
|
3784
|
-
min-width: 1.5rem;
|
|
3785
|
-
}
|
|
3786
|
-
.bs-pagination button:where(:focus),
|
|
3787
|
-
.bs-pagination button:where(:focus-visible) {
|
|
3788
|
-
outline: 2px solid var(--bs-blue-base);
|
|
3789
|
-
}
|
|
3790
|
-
.bs-pagination button:where(:focus:not(:focus-visible)) {
|
|
3791
|
-
outline: 2px solid transparent;
|
|
3792
|
-
}
|
|
3793
|
-
.bs-pagination button:where(:disabled) {
|
|
3794
|
-
color: var(--bs-ink-disabled);
|
|
3795
|
-
}
|
|
3796
|
-
.bs-pagination button:where([data-selected]:not([data-selected="false"])) {
|
|
3797
|
-
background-color: var(--bs-blue-base);
|
|
3798
|
-
color: var(--bs-gray-50);
|
|
3799
|
-
}
|
|
3800
|
-
.bs-pagination:where([data-fixed]:not([data-fixed="false"])) {
|
|
3801
|
-
background-color: var(--bs-bg-base-elevated);
|
|
3802
|
-
bottom: 0;
|
|
3803
|
-
left: 0;
|
|
3804
|
-
padding: 1rem;
|
|
3805
|
-
position: fixed;
|
|
3806
|
-
width: 100%;
|
|
3807
|
-
}
|
|
3808
|
-
.bs-pagination :where(.bs-pagination-page-numbers) {
|
|
3809
|
-
display: flex;
|
|
3810
|
-
gap: 1rem;
|
|
3811
|
-
}
|
|
3812
|
-
.bs-pagination :where(.bs-pagination-carets) {
|
|
3813
|
-
display: flex;
|
|
3814
|
-
gap: 1.5rem;
|
|
3815
|
-
}
|
|
3816
|
-
.bs-pagination :where(.bs-pagination-word-caret) {
|
|
3817
|
-
align-items: center;
|
|
3818
|
-
gap: 0.5rem;
|
|
3819
|
-
width: auto;
|
|
3820
|
-
}
|
|
3821
|
-
.bs-pagination :where(.bs-pagination-results-numbers) {
|
|
3822
|
-
display: flex;
|
|
3823
|
-
gap: 0.5rem;
|
|
3824
|
-
}
|
|
3825
|
-
.bs-pagination :where(.bs-pagination-results-numbers) button {
|
|
3826
|
-
padding-left: 2px;
|
|
3827
|
-
padding-right: 2px;
|
|
3828
|
-
width: auto;
|
|
3829
|
-
}
|
|
3830
|
-
.bs-loader {
|
|
3831
|
-
--loader-dot-bg: var(--bs-blue-500);
|
|
3832
|
-
--loader-dot-size: .75rem;
|
|
3833
|
-
--loader-dot-top: calc(50% - var(--loader-dot-size)/2);
|
|
3834
|
-
--loader-dot-translate: 1.75rem; /* i.e., calc(var(--loader-width)/2 - var(--loader-dot-size)/2); */
|
|
3835
|
-
--loader-height: 3rem;
|
|
3836
|
-
--loader-width: 4rem; /* approx 6 * dot size */
|
|
3837
|
-
display: block;
|
|
3838
|
-
height: var(--loader-height);
|
|
3839
|
-
margin-inline-start: auto;
|
|
3840
|
-
margin-inline-end: auto;
|
|
3841
|
-
position: relative;
|
|
3842
|
-
width: var(--loader-width);
|
|
3843
|
-
}
|
|
3844
|
-
.bs-loader:where([data-size="xs"]) {
|
|
3845
|
-
--loader-dot-size: .3rem;
|
|
3846
|
-
--loader-dot-translate: .75rem;
|
|
3847
|
-
--loader-height: .3rem;
|
|
3848
|
-
--loader-width: 1.8rem;
|
|
3849
|
-
}
|
|
3850
|
-
.bs-loader:where([data-size="sm"]) {
|
|
3851
|
-
--loader-dot-size: .5rem;
|
|
3852
|
-
--loader-dot-translate: 1.125rem;
|
|
3853
|
-
--loader-height: .5rem;
|
|
3854
|
-
--loader-width: 3rem;
|
|
3855
|
-
}
|
|
3856
|
-
.bs-loader:where([data-size="lg"]) {
|
|
3857
|
-
--loader-dot-size: 1rem;
|
|
3858
|
-
--loader-dot-translate: 2.375rem;
|
|
3859
|
-
--loader-height: 4rem;
|
|
3860
|
-
--loader-width: 6rem;
|
|
3861
|
-
}
|
|
3862
|
-
/* ----- loader dots ----- */
|
|
3863
|
-
.bs-loader > :where(*:not(.visually-hidden)) {
|
|
3864
|
-
background-color: var(--loader-dot-bg);
|
|
3865
|
-
border-radius: 50%;
|
|
3866
|
-
display: block;
|
|
3867
|
-
height: var(--loader-dot-size);
|
|
3868
|
-
position: absolute;
|
|
3869
|
-
top: var(--loader-dot-top);
|
|
3870
|
-
width: var(--loader-dot-size);
|
|
3871
|
-
}
|
|
3872
|
-
.bs-loader > :where(*:not(.visually-hidden)) {
|
|
3873
|
-
animation-timing-function: cubic-bezier(0, 1, 1, 0);
|
|
3874
|
-
}
|
|
3875
|
-
.bs-loader > :where(*:nth-child(1)) {
|
|
3876
|
-
animation: loading-1 0.6s infinite;
|
|
3877
|
-
left: 0%;
|
|
4382
|
+
.bs-pagination :where(button) {
|
|
4383
|
+
align-items: center;
|
|
4384
|
+
border-radius: 4px;
|
|
4385
|
+
cursor: pointer;
|
|
4386
|
+
display: flex;
|
|
4387
|
+
min-height: 1.5rem;
|
|
4388
|
+
justify-content: center;
|
|
4389
|
+
outline: 2px solid transparent;
|
|
4390
|
+
min-width: 1.5rem;
|
|
3878
4391
|
}
|
|
3879
|
-
.bs-
|
|
3880
|
-
|
|
3881
|
-
|
|
4392
|
+
.bs-pagination button:where(:focus),
|
|
4393
|
+
.bs-pagination button:where(:focus-visible) {
|
|
4394
|
+
outline: 2px solid var(--bs-blue-base);
|
|
3882
4395
|
}
|
|
3883
|
-
.bs-
|
|
3884
|
-
|
|
3885
|
-
left: 40%;
|
|
4396
|
+
.bs-pagination button:where(:focus:not(:focus-visible)) {
|
|
4397
|
+
outline: 2px solid transparent;
|
|
3886
4398
|
}
|
|
3887
|
-
.bs-
|
|
3888
|
-
|
|
3889
|
-
left: 80%;
|
|
4399
|
+
.bs-pagination button:where(:disabled) {
|
|
4400
|
+
color: var(--bs-ink-disabled);
|
|
3890
4401
|
}
|
|
3891
|
-
|
|
3892
|
-
|
|
3893
|
-
|
|
4402
|
+
.bs-pagination button:where([data-selected]:not([data-selected="false"])) {
|
|
4403
|
+
background-color: var(--bs-blue-base);
|
|
4404
|
+
color: var(--bs-gray-50);
|
|
3894
4405
|
}
|
|
3895
|
-
.bs-
|
|
3896
|
-
|
|
4406
|
+
.bs-pagination:where([data-fixed]:not([data-fixed="false"])) {
|
|
4407
|
+
background-color: var(--bs-bg-base-elevated);
|
|
4408
|
+
bottom: 0;
|
|
4409
|
+
left: 0;
|
|
4410
|
+
padding: 1rem;
|
|
4411
|
+
position: fixed;
|
|
4412
|
+
width: 100%;
|
|
3897
4413
|
}
|
|
3898
|
-
.bs-
|
|
3899
|
-
|
|
4414
|
+
.bs-pagination :where(.bs-pagination-page-numbers) {
|
|
4415
|
+
display: flex;
|
|
4416
|
+
gap: 1rem;
|
|
3900
4417
|
}
|
|
3901
|
-
|
|
3902
|
-
|
|
3903
|
-
|
|
3904
|
-
}
|
|
3905
|
-
100% {
|
|
3906
|
-
transform: scale(1);
|
|
3907
|
-
}
|
|
4418
|
+
.bs-pagination :where(.bs-pagination-carets) {
|
|
4419
|
+
display: flex;
|
|
4420
|
+
gap: 1.5rem;
|
|
3908
4421
|
}
|
|
3909
|
-
|
|
3910
|
-
|
|
3911
|
-
|
|
3912
|
-
|
|
3913
|
-
100% {
|
|
3914
|
-
transform: translate(var(--loader-dot-translate), 0);
|
|
3915
|
-
}
|
|
4422
|
+
.bs-pagination :where(.bs-pagination-word-caret) {
|
|
4423
|
+
align-items: center;
|
|
4424
|
+
gap: 0.5rem;
|
|
4425
|
+
width: auto;
|
|
3916
4426
|
}
|
|
3917
|
-
|
|
3918
|
-
|
|
3919
|
-
|
|
3920
|
-
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
4427
|
+
.bs-pagination :where(.bs-pagination-results-numbers) {
|
|
4428
|
+
display: flex;
|
|
4429
|
+
gap: 0.5rem;
|
|
4430
|
+
}
|
|
4431
|
+
.bs-pagination :where(.bs-pagination-results-numbers) button {
|
|
4432
|
+
padding-left: 2px;
|
|
4433
|
+
padding-right: 2px;
|
|
4434
|
+
width: auto;
|
|
3924
4435
|
}
|
|
3925
4436
|
.bs-pill {
|
|
3926
4437
|
--pill-background: var(--bs-bg-medium);
|
|
@@ -4125,6 +4636,44 @@ button:where(.bs-filter-button) {
|
|
|
4125
4636
|
.bs-pill:where([data-variant^="filter"])[data-active="false"]:is(:disabled, [aria-disabled="true"]) {
|
|
4126
4637
|
--pill-border: var(--bs-gray-400);
|
|
4127
4638
|
}
|
|
4639
|
+
.bs-profile-details {
|
|
4640
|
+
color: var(--bs-ink-light);
|
|
4641
|
+
font-size: var(--bs-text-sm);
|
|
4642
|
+
line-height: 1.3;
|
|
4643
|
+
}
|
|
4644
|
+
.bs-profile-details > :where(*) {
|
|
4645
|
+
display: block;
|
|
4646
|
+
}
|
|
4647
|
+
.bs-profile-details > :where(.bs-profile-name) {
|
|
4648
|
+
color: var(--profile-name-color, var(--bs-ink-base));
|
|
4649
|
+
-webkit-text-decoration: var(--profile-name-decoration, none);
|
|
4650
|
+
text-decoration: var(--profile-name-decoration, none);
|
|
4651
|
+
}
|
|
4652
|
+
/* Action button aka Follow toggle. */
|
|
4653
|
+
.bs-profile-details > :where(button:first-child) {
|
|
4654
|
+
color: var(--profile-action-color, var(--bs-orange-warning));
|
|
4655
|
+
font-size: inherit;
|
|
4656
|
+
}
|
|
4657
|
+
.bs-profile-details > :where(button:first-child:hover) {
|
|
4658
|
+
text-decoration: underline;
|
|
4659
|
+
}
|
|
4660
|
+
/* Remove the profile name underline when hovering on the action button. */
|
|
4661
|
+
.bs-profile-details:has(:where(button:first-child:hover)) {
|
|
4662
|
+
--profile-name-decoration: none;
|
|
4663
|
+
}
|
|
4664
|
+
/* Action button and optional meta details w/ icon */
|
|
4665
|
+
.bs-profile-details > :where([data-icon]) {
|
|
4666
|
+
align-items: center;
|
|
4667
|
+
-moz-column-gap: 0.5rem;
|
|
4668
|
+
column-gap: 0.5rem;
|
|
4669
|
+
cursor: pointer;
|
|
4670
|
+
display: flex;
|
|
4671
|
+
font-size: inherit;
|
|
4672
|
+
}
|
|
4673
|
+
.bs-profile-details .bs-icon {
|
|
4674
|
+
height: .75rem;
|
|
4675
|
+
width: .75rem;
|
|
4676
|
+
}
|
|
4128
4677
|
.bs-profile-img,
|
|
4129
4678
|
.bs-profile-img:where([data-img-size^='sm']) {
|
|
4130
4679
|
--profile-size: 2rem;
|
|
@@ -4192,44 +4741,6 @@ button:where(.bs-filter-button) {
|
|
|
4192
4741
|
--profile-size: 5.75rem;
|
|
4193
4742
|
--profile-text: var(--bs-text-2xl);
|
|
4194
4743
|
}
|
|
4195
|
-
.bs-profile-details {
|
|
4196
|
-
color: var(--bs-ink-light);
|
|
4197
|
-
font-size: var(--bs-text-sm);
|
|
4198
|
-
line-height: 1.3;
|
|
4199
|
-
}
|
|
4200
|
-
.bs-profile-details > :where(*) {
|
|
4201
|
-
display: block;
|
|
4202
|
-
}
|
|
4203
|
-
.bs-profile-details > :where(.bs-profile-name) {
|
|
4204
|
-
color: var(--profile-name-color, var(--bs-ink-base));
|
|
4205
|
-
-webkit-text-decoration: var(--profile-name-decoration, none);
|
|
4206
|
-
text-decoration: var(--profile-name-decoration, none);
|
|
4207
|
-
}
|
|
4208
|
-
/* Action button aka Follow toggle. */
|
|
4209
|
-
.bs-profile-details > :where(button:first-child) {
|
|
4210
|
-
color: var(--profile-action-color, var(--bs-orange-warning));
|
|
4211
|
-
font-size: inherit;
|
|
4212
|
-
}
|
|
4213
|
-
.bs-profile-details > :where(button:first-child:hover) {
|
|
4214
|
-
text-decoration: underline;
|
|
4215
|
-
}
|
|
4216
|
-
/* Remove the profile name underline when hovering on the action button. */
|
|
4217
|
-
.bs-profile-details:has(:where(button:first-child:hover)) {
|
|
4218
|
-
--profile-name-decoration: none;
|
|
4219
|
-
}
|
|
4220
|
-
/* Action button and optional meta details w/ icon */
|
|
4221
|
-
.bs-profile-details > :where([data-icon]) {
|
|
4222
|
-
align-items: center;
|
|
4223
|
-
-moz-column-gap: 0.5rem;
|
|
4224
|
-
column-gap: 0.5rem;
|
|
4225
|
-
cursor: pointer;
|
|
4226
|
-
display: flex;
|
|
4227
|
-
font-size: inherit;
|
|
4228
|
-
}
|
|
4229
|
-
.bs-profile-details .bs-icon {
|
|
4230
|
-
height: .75rem;
|
|
4231
|
-
width: .75rem;
|
|
4232
|
-
}
|
|
4233
4744
|
/* Profile with User Details */
|
|
4234
4745
|
.bs-profile:where([data-layout]),
|
|
4235
4746
|
.bs-profile:where([data-layout^='vertical']) {
|
|
@@ -5160,3 +5671,204 @@ This must go last to properly override the other classes
|
|
|
5160
5671
|
opacity: 0;
|
|
5161
5672
|
transform: translateY(-50%) scale(0.5);
|
|
5162
5673
|
}
|
|
5674
|
+
.bs-vertical-nav {
|
|
5675
|
+
--active-color: rgba(255, 255, 255, 0.25);
|
|
5676
|
+
--bg-color: var(--bs-navy-base);
|
|
5677
|
+
--border-color: var(--bs-border-dark);
|
|
5678
|
+
--top-offset: 48px;
|
|
5679
|
+
--width: auto;
|
|
5680
|
+
-ms-overflow-style: none; /* Internet Explorer 10+ */
|
|
5681
|
+
background-color: var(--bg-color);
|
|
5682
|
+
color: var(--bs-white);
|
|
5683
|
+
display: none;
|
|
5684
|
+
flex-direction: column;
|
|
5685
|
+
height: 100vh;
|
|
5686
|
+
left: 0;
|
|
5687
|
+
max-height: calc(100vh - var(--top-offset));
|
|
5688
|
+
overflow: scroll;
|
|
5689
|
+
padding-bottom: 1.5rem;
|
|
5690
|
+
padding-left: 1.5rem;
|
|
5691
|
+
padding-right: 1.5rem;
|
|
5692
|
+
padding-top: 1.5rem;
|
|
5693
|
+
position: fixed;
|
|
5694
|
+
right: 0;
|
|
5695
|
+
scrollbar-width: none; /* Firefox */
|
|
5696
|
+
top: var(--top-offset);
|
|
5697
|
+
transition-duration: 0.2s;
|
|
5698
|
+
transition-property: max-height, transform;
|
|
5699
|
+
transition-timing-function: ease;
|
|
5700
|
+
width: var(--width);
|
|
5701
|
+
z-index: 1001;
|
|
5702
|
+
}
|
|
5703
|
+
.bs-vertical-nav:where([data-mobile-shown="true"]) {
|
|
5704
|
+
display: flex;
|
|
5705
|
+
}
|
|
5706
|
+
.dark .bs-vertical-nav {
|
|
5707
|
+
--active-color: rgba(255, 255, 255, 0.25);
|
|
5708
|
+
--bg-color: var(--bs-bg-base);
|
|
5709
|
+
--border-color: var(--bs-border-dark);
|
|
5710
|
+
border-right: 1px solid var(--bs-border-medium);
|
|
5711
|
+
}
|
|
5712
|
+
@media (min-width: 752px) {
|
|
5713
|
+
.bs-vertical-nav {
|
|
5714
|
+
--width: 9.875rem;
|
|
5715
|
+
border-right: 1px solid var(--bg-color);
|
|
5716
|
+
display: flex;
|
|
5717
|
+
padding-bottom: 1rem;
|
|
5718
|
+
padding-left: 0.5rem;
|
|
5719
|
+
padding-right: 0.5rem;
|
|
5720
|
+
padding-top: 1rem;
|
|
5721
|
+
right: auto;
|
|
5722
|
+
}
|
|
5723
|
+
|
|
5724
|
+
.bs-vertical-nav:where([data-narrow="true"]) {
|
|
5725
|
+
--width: 4.5rem;
|
|
5726
|
+
}
|
|
5727
|
+
}
|
|
5728
|
+
.bs-vertical-nav::-webkit-scrollbar {
|
|
5729
|
+
display: none; /* Safari and Chrome */
|
|
5730
|
+
}
|
|
5731
|
+
.bs-vertical-nav:where([data-y-expand="true"]) {
|
|
5732
|
+
transform: translateY(calc(-1 * var(--top-offset)));
|
|
5733
|
+
max-height: 100vh;
|
|
5734
|
+
}
|
|
5735
|
+
/* ===== Sections ===== */
|
|
5736
|
+
.bs-vertical-nav :where(.bs-vertical-nav-section) {
|
|
5737
|
+
border-top: 2px solid var(--border-color);
|
|
5738
|
+
margin-top: 0.5rem;
|
|
5739
|
+
padding-top: 0.5rem;
|
|
5740
|
+
}
|
|
5741
|
+
@media (min-width: 752px) {
|
|
5742
|
+
.bs-vertical-nav :where(.bs-vertical-nav-section) {
|
|
5743
|
+
margin-top: 0.25rem;
|
|
5744
|
+
}
|
|
5745
|
+
}
|
|
5746
|
+
/* Don't show border if the very first item is a section */
|
|
5747
|
+
.bs-vertical-nav :where(ul li:first-child) {
|
|
5748
|
+
border-top: none;
|
|
5749
|
+
margin-top: 0;
|
|
5750
|
+
padding-top: 0;
|
|
5751
|
+
}
|
|
5752
|
+
.bs-vertical-nav :where(.bs-vertical-nav-section-toggle) {
|
|
5753
|
+
align-items: center;
|
|
5754
|
+
cursor: pointer;
|
|
5755
|
+
display: flex;
|
|
5756
|
+
font-size: 0.75rem;
|
|
5757
|
+
font-weight: 600;
|
|
5758
|
+
justify-content: space-between;
|
|
5759
|
+
padding-bottom: 0.5rem;
|
|
5760
|
+
padding-left: 0.75rem;
|
|
5761
|
+
padding-right: 0.5rem;
|
|
5762
|
+
padding-top: 0.5rem;
|
|
5763
|
+
width: 100%;
|
|
5764
|
+
}
|
|
5765
|
+
.bs-vertical-nav :where(.bs-vertical-nav-section-toggle-caret) {
|
|
5766
|
+
height: 0.75rem;
|
|
5767
|
+
transform: none;
|
|
5768
|
+
transition-duration: 0.2s;
|
|
5769
|
+
transition-property: transform;
|
|
5770
|
+
transition-timing-function: ease-in-out;
|
|
5771
|
+
width: 0.75rem;
|
|
5772
|
+
}
|
|
5773
|
+
.bs-vertical-nav :where(.bs-vertical-nav-section[data-collapsed="true"] .bs-vertical-nav-section-toggle-caret) {
|
|
5774
|
+
transform: rotate(180deg);
|
|
5775
|
+
}
|
|
5776
|
+
/* ===== Nav List ===== */
|
|
5777
|
+
.bs-vertical-nav :where(ul) {
|
|
5778
|
+
display: flex;
|
|
5779
|
+
flex-direction: column;
|
|
5780
|
+
gap: 0;
|
|
5781
|
+
list-style: none;
|
|
5782
|
+
margin-top: 0;
|
|
5783
|
+
padding-left: 0;
|
|
5784
|
+
}
|
|
5785
|
+
@media (min-width: 752px) {
|
|
5786
|
+
.bs-vertical-nav :where(ul) {
|
|
5787
|
+
gap: 0.25rem;
|
|
5788
|
+
}
|
|
5789
|
+
}
|
|
5790
|
+
/* ===== Nav List Items / Links */
|
|
5791
|
+
.bs-vertical-nav :where(ul li a) {
|
|
5792
|
+
align-items: center;
|
|
5793
|
+
border-radius: 4px;
|
|
5794
|
+
cursor: pointer;
|
|
5795
|
+
display: flex;
|
|
5796
|
+
font-size: 1rem;
|
|
5797
|
+
font-weight: 400;
|
|
5798
|
+
gap: 0.5rem;
|
|
5799
|
+
height: 100%;
|
|
5800
|
+
padding-bottom: 0.75rem;
|
|
5801
|
+
padding-left: 0.75rem;
|
|
5802
|
+
padding-right: 0.75rem;
|
|
5803
|
+
padding-top: 0.75rem;
|
|
5804
|
+
width: 100%;
|
|
5805
|
+
}
|
|
5806
|
+
@media (min-width: 752px) {
|
|
5807
|
+
.bs-vertical-nav :where(ul li a) {
|
|
5808
|
+
font-size: 0.875rem;
|
|
5809
|
+
padding-bottom: 0.5rem;
|
|
5810
|
+
padding-top: 0.5rem;
|
|
5811
|
+
}
|
|
5812
|
+
|
|
5813
|
+
.bs-vertical-nav:where([data-narrow="true"]) :where(ul li a) {
|
|
5814
|
+
flex-direction: column;
|
|
5815
|
+
font-size: 0.6875rem;
|
|
5816
|
+
gap: 0.25rem;
|
|
5817
|
+
line-height: 110%;
|
|
5818
|
+
padding-bottom: 0.75rem;
|
|
5819
|
+
padding-left: 0.25rem;
|
|
5820
|
+
padding-right: 0.25rem;
|
|
5821
|
+
padding-top: 0.75rem;
|
|
5822
|
+
text-align: center;
|
|
5823
|
+
}
|
|
5824
|
+
}
|
|
5825
|
+
.bs-vertical-nav :where(ul li a:hover) {
|
|
5826
|
+
font-weight: 600;
|
|
5827
|
+
}
|
|
5828
|
+
.bs-vertical-nav :where(ul li a[data-active="true"]) {
|
|
5829
|
+
background-color: var(--active-color);
|
|
5830
|
+
font-weight: 600;
|
|
5831
|
+
}
|
|
5832
|
+
.bs-vertical-nav :where(.bs-vertical-nav-link-icon) {
|
|
5833
|
+
height: 1rem;
|
|
5834
|
+
width: 1rem;
|
|
5835
|
+
}
|
|
5836
|
+
@media (min-width: 752px) {
|
|
5837
|
+
.bs-vertical-nav :where(.bs-vertical-nav-link-icon) {
|
|
5838
|
+
height: 0.875rem;
|
|
5839
|
+
width: 0.875rem;
|
|
5840
|
+
}
|
|
5841
|
+
|
|
5842
|
+
.bs-vertical-nav:where([data-narrow="true"]) :where(.bs-vertical-nav-link-icon) {
|
|
5843
|
+
height: 1rem;
|
|
5844
|
+
width: 1rem;
|
|
5845
|
+
}
|
|
5846
|
+
}
|
|
5847
|
+
/* ===== External Links ===== */
|
|
5848
|
+
.bs-vertical-nav :where(.bs-vertical-nav-external-links) {
|
|
5849
|
+
margin-top: auto;
|
|
5850
|
+
padding-top: 2.25rem;
|
|
5851
|
+
}
|
|
5852
|
+
.bs-vertical-nav:where([data-narrow="true"]) :where(.bs-vertical-nav-external-links) {
|
|
5853
|
+
display: none;
|
|
5854
|
+
}
|
|
5855
|
+
.bs-vertical-nav :where(.bs-vertical-nav-external-links .bs-vertical-nav-external-link-icon) {
|
|
5856
|
+
height: 1rem;
|
|
5857
|
+
width: 1rem;
|
|
5858
|
+
}
|
|
5859
|
+
@media (min-width: 752px) {
|
|
5860
|
+
.bs-vertical-nav :where(.bs-vertical-nav-external-links .bs-vertical-nav-external-link-icon) {
|
|
5861
|
+
height: 0.875rem;
|
|
5862
|
+
width: 0.875rem;
|
|
5863
|
+
}
|
|
5864
|
+
}
|
|
5865
|
+
/* ===== Slotted Items ===== */
|
|
5866
|
+
.bs-vertical-nav :where(.bs-vertical-nav-slotted-items) {
|
|
5867
|
+
margin-top: auto;
|
|
5868
|
+
}
|
|
5869
|
+
.bs-vertical-nav :where(.bs-vertical-nav-external-links ~ .bs-vertical-nav-slotted-items) {
|
|
5870
|
+
margin-top: 1rem;
|
|
5871
|
+
}
|
|
5872
|
+
.bs-vertical-nav:where([data-narrow="true"]) :where(.bs-vertical-nav-slotted-items) {
|
|
5873
|
+
display: none;
|
|
5874
|
+
}
|