@wwtdev/bsds-css 3.0.0-rc.47 → 3.0.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/wwt-bsds-components.css +481 -279
- package/dist/wwt-bsds-components.min.css +1 -1
- package/dist/wwt-bsds-preset.js +69 -74
- package/dist/wwt-bsds-tokens.css +260 -275
- package/dist/wwt-bsds-tokens.min.css +1 -1
- package/dist/wwt-bsds-utilities.css +89 -83
- package/dist/wwt-bsds-utilities.min.css +1 -1
- package/dist/wwt-bsds.css +832 -653
- package/dist/wwt-bsds.min.css +1 -1
- package/package.json +1 -1
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
}
|
|
143
143
|
/* data-variant="negative" list option keyboard navigation focus */
|
|
144
144
|
.bs-dropdown-options-deprecated:where(:focus-visible) :where(li[data-variant~="negative"][data-active]) {
|
|
145
|
-
--focus-border-color: var(--bs-
|
|
145
|
+
--focus-border-color: var(--bs-red-light);
|
|
146
146
|
}
|
|
147
147
|
/* Multi-select divider */
|
|
148
148
|
.bs-dropdown-options-deprecated :where(li[role="separator"]) {
|
|
@@ -847,12 +847,6 @@ Custom properties:
|
|
|
847
847
|
.bs-toast-deprecated:where([data-variant^='positive']) :where(.bs-toast-header-deprecated .bs-toast-header-deprecated-icon) {
|
|
848
848
|
color: var(--bs-ink-positive);
|
|
849
849
|
}
|
|
850
|
-
:where(.dark) .bs-toast-deprecated:where([data-variant^='positive']) {
|
|
851
|
-
border-top: 4px solid var(--bs-positive-light);
|
|
852
|
-
}
|
|
853
|
-
:where(.dark) .bs-toast-deprecated:where([data-variant^='positive']) :where(.bs-toast-header-deprecated .bs-toast-header-deprecated-icon) {
|
|
854
|
-
color: var(--bs-positive-light);
|
|
855
|
-
}
|
|
856
850
|
/* Negative Toast Styles */
|
|
857
851
|
.bs-toast-deprecated:where([data-variant^='negative']) {
|
|
858
852
|
border-top: 4px solid var(--bs-negative-dark);
|
|
@@ -1312,16 +1306,16 @@ This must go last to properly override the other classes
|
|
|
1312
1306
|
-webkit-backdrop-filter: blur(4px);
|
|
1313
1307
|
backdrop-filter: blur(4px);
|
|
1314
1308
|
background: rgba(29, 30, 72, 0.05);
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1309
|
+
transition-property: opacity;
|
|
1310
|
+
transition-duration: var(--bs-backdrop-transition-duration);
|
|
1311
|
+
transition-timing-function: var(--bs-transition-cubic);
|
|
1312
|
+
}
|
|
1313
|
+
.bs-backdrop-enter-from,
|
|
1314
|
+
.bs-backdrop-leave-to {
|
|
1315
|
+
opacity: 0;
|
|
1322
1316
|
}
|
|
1323
1317
|
.bs-badge {
|
|
1324
|
-
--badge-bg: var(--bs-
|
|
1318
|
+
--badge-bg: var(--bs-accent-6-base);
|
|
1325
1319
|
--badge-text: var(--bs-white);
|
|
1326
1320
|
display: inline-block;
|
|
1327
1321
|
}
|
|
@@ -1449,10 +1443,7 @@ This must go last to properly override the other classes
|
|
|
1449
1443
|
text-decoration: none;
|
|
1450
1444
|
}
|
|
1451
1445
|
.bs-banner:where([data-variant="negative"]) {
|
|
1452
|
-
--banner-bg: var(--bs-
|
|
1453
|
-
}
|
|
1454
|
-
:where(.softchoice) .bs-banner:where([data-variant="negative"]) {
|
|
1455
|
-
--banner-bg: var(--bs-maroon-400);
|
|
1446
|
+
--banner-bg: var(--bs-accent-6-medium);
|
|
1456
1447
|
}
|
|
1457
1448
|
@media (min-width: 957px) {
|
|
1458
1449
|
.bs-banner {
|
|
@@ -1467,7 +1458,7 @@ This must go last to properly override the other classes
|
|
|
1467
1458
|
--btn-ghost-ink: var(--bs-ink-primary);
|
|
1468
1459
|
--btn-highlight: var(--bs-primary-lightest);
|
|
1469
1460
|
--btn-ink: var(--bs-white);
|
|
1470
|
-
--btn-main: var(--bs-primary-base
|
|
1461
|
+
--btn-main: var(--bs-primary-base);
|
|
1471
1462
|
--btn-padding: .25rem .75rem;
|
|
1472
1463
|
--btn-secondary: var(--bs-primary-medium);
|
|
1473
1464
|
--btn-text-size: var(--bs-text-md);
|
|
@@ -1568,50 +1559,67 @@ See: https://github.wwt.com/custom-apps/wwt-blue-steel/pull/917
|
|
|
1568
1559
|
--btn-ghost-ink: var(--bs-ink-secondary);
|
|
1569
1560
|
--btn-highlight: var(--bs-secondary-lightest);
|
|
1570
1561
|
--btn-light: var(--bs-secondary-highlight);
|
|
1571
|
-
--btn-main: var(--bs-secondary-base
|
|
1562
|
+
--btn-main: var(--bs-secondary-base);
|
|
1572
1563
|
--btn-secondary: var(--bs-secondary-medium);
|
|
1573
1564
|
}
|
|
1574
|
-
.dark .bs-button:where([data-variant^='secondary']) {
|
|
1575
|
-
--btn-highlight: var(--bs-secondary-base-fixed);
|
|
1576
|
-
--btn-light: var(--bs-navy-400);
|
|
1577
|
-
}
|
|
1578
1565
|
.bs-button:where([data-variant^='positive']) {
|
|
1579
1566
|
--btn-ghost-ink: var(--bs-ink-positive);
|
|
1580
|
-
--btn-highlight: var(--bs-positive-
|
|
1567
|
+
--btn-highlight: var(--bs-positive-highlight);
|
|
1581
1568
|
--btn-light: var(--bs-positive-highlight);
|
|
1582
|
-
--btn-main: var(--bs-positive-base
|
|
1569
|
+
--btn-main: var(--bs-positive-base);
|
|
1583
1570
|
--btn-secondary: var(--bs-positive-medium);
|
|
1584
1571
|
}
|
|
1585
1572
|
.bs-button:where([data-variant^='warning']) {
|
|
1586
1573
|
--btn-ghost-ink: var(--bs-ink-warning);
|
|
1587
|
-
--btn-highlight: var(--bs-warning-
|
|
1574
|
+
--btn-highlight: var(--bs-warning-highlight);
|
|
1588
1575
|
--btn-light: var(--bs-warning-highlight);
|
|
1589
|
-
--btn-main: var(--bs-warning-
|
|
1576
|
+
--btn-main: var(--bs-warning-base);
|
|
1590
1577
|
--btn-secondary: var(--bs-warning-medium);
|
|
1591
1578
|
}
|
|
1592
1579
|
.bs-button:where([data-variant^='negative']) {
|
|
1593
1580
|
--btn-ghost-ink: var(--bs-ink-negative);
|
|
1594
|
-
--btn-highlight: var(--bs-negative-
|
|
1581
|
+
--btn-highlight: var(--bs-negative-highlight);
|
|
1595
1582
|
--btn-light: var(--bs-negative-highlight);
|
|
1596
|
-
--btn-main: var(--bs-negative-
|
|
1583
|
+
--btn-main: var(--bs-negative-base);
|
|
1597
1584
|
--btn-secondary: var(--bs-negative-medium);
|
|
1598
1585
|
}
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
--btn-
|
|
1602
|
-
--btn-
|
|
1603
|
-
--btn-
|
|
1604
|
-
--btn-
|
|
1605
|
-
--btn-secondary: var(--bs-accent-3-medium);
|
|
1586
|
+
.bs-button:where([data-variant^='accent-1']) {
|
|
1587
|
+
--btn-ghost-ink: var(--bs-ink-accent-1);
|
|
1588
|
+
--btn-highlight: var(--bs-accent-1-base);
|
|
1589
|
+
--btn-light: var(--bs-accent-1-highlight);
|
|
1590
|
+
--btn-main: var(--bs-accent-1-base);
|
|
1591
|
+
--btn-secondary: var(--bs-accent-1-medium);
|
|
1606
1592
|
}
|
|
1607
|
-
/* royal blue variant */
|
|
1593
|
+
/* DEPRECATED - royal blue variant (use accent-1 instead) */
|
|
1608
1594
|
.bs-button:where([data-variant^='royal']) {
|
|
1609
1595
|
--btn-ghost-ink: var(--bs-ink-accent-1);
|
|
1610
|
-
--btn-highlight: var(--bs-accent-1-base
|
|
1596
|
+
--btn-highlight: var(--bs-accent-1-base);
|
|
1611
1597
|
--btn-light: var(--bs-accent-1-highlight);
|
|
1612
|
-
--btn-main: var(--bs-accent-1-base
|
|
1598
|
+
--btn-main: var(--bs-accent-1-base);
|
|
1613
1599
|
--btn-secondary: var(--bs-accent-1-medium);
|
|
1614
1600
|
}
|
|
1601
|
+
.bs-button:where([data-variant^='accent-2']) {
|
|
1602
|
+
--btn-ghost-ink: var(--bs-ink-accent-2);
|
|
1603
|
+
--btn-highlight: var(--bs-accent-2-base);
|
|
1604
|
+
--btn-light: var(--bs-accent-2-highlight);
|
|
1605
|
+
--btn-main: var(--bs-accent-2-base);
|
|
1606
|
+
--btn-secondary: var(--bs-accent-2-medium);
|
|
1607
|
+
}
|
|
1608
|
+
.bs-button:where([data-variant^='accent-3']) {
|
|
1609
|
+
--btn-ghost-ink: var(--bs-ink-accent-3);
|
|
1610
|
+
--btn-highlight: var(--bs-accent-3-base);
|
|
1611
|
+
--btn-light: var(--bs-accent-3-highlight);
|
|
1612
|
+
--btn-main: var(--bs-accent-3-base);
|
|
1613
|
+
--btn-secondary: var(--bs-accent-3-medium);
|
|
1614
|
+
}
|
|
1615
|
+
/* DEPRECATED - pink variant (use accent-3 instead) */
|
|
1616
|
+
.bs-button:where([data-variant^='pink']) {
|
|
1617
|
+
--btn-ghost-ink: var(--bs-ink-accent-3);
|
|
1618
|
+
--btn-highlight: var(--bs-accent-3-base);
|
|
1619
|
+
--btn-light: var(--bs-accent-3-highlight);
|
|
1620
|
+
--btn-main: var(--bs-accent-3-base);
|
|
1621
|
+
--btn-secondary: var(--bs-accent-3-medium);
|
|
1622
|
+
}
|
|
1615
1623
|
/* white variant - for dark backgrounds + ghost btn or text btn only */
|
|
1616
1624
|
.bs-button:where([data-variant^='white'][data-ghost]:not([data-ghost="false"])) {
|
|
1617
1625
|
--btn-ghost-ink: var(--bs-ink-white);
|
|
@@ -2064,36 +2072,72 @@ a.bs-circle-button {
|
|
|
2064
2072
|
--btn-secondary: transparent;
|
|
2065
2073
|
--btn-shadow-color-active: transparent;
|
|
2066
2074
|
}
|
|
2075
|
+
.bs-circle-button:where([data-variant="color-primary"]) {
|
|
2076
|
+
--btn-border-color-focused: var(--bs-ink-primary);
|
|
2077
|
+
--btn-text-color: var(--bs-ink-primary);
|
|
2078
|
+
--btn-text-color-hovered: var(--bs-primary-base);
|
|
2079
|
+
}
|
|
2080
|
+
/* DEPRECATED - blue variant (use primary instead) */
|
|
2067
2081
|
.bs-circle-button:where([data-variant="color-blue"]) {
|
|
2068
2082
|
--btn-border-color-focused: var(--bs-ink-primary);
|
|
2069
2083
|
--btn-text-color: var(--bs-ink-primary);
|
|
2070
2084
|
--btn-text-color-hovered: var(--bs-primary-base);
|
|
2071
2085
|
}
|
|
2072
|
-
.bs-circle-button:where([data-variant="color-
|
|
2073
|
-
--btn-border-color-focused: var(--bs-
|
|
2074
|
-
--btn-text-color: var(--bs-ink-
|
|
2075
|
-
--btn-text-color-hovered: var(--bs-
|
|
2086
|
+
.bs-circle-button:where([data-variant="color-positive"]) {
|
|
2087
|
+
--btn-border-color-focused: var(--bs-positive-base);
|
|
2088
|
+
--btn-text-color: var(--bs-ink-positive);
|
|
2089
|
+
--btn-text-color-hovered: var(--bs-positive-medium);
|
|
2076
2090
|
}
|
|
2091
|
+
/* DEPRECATED - purple variant (use positive instead) */
|
|
2077
2092
|
.bs-circle-button:where([data-variant="color-purple"]) {
|
|
2078
2093
|
--btn-border-color-focused: var(--bs-positive-base);
|
|
2079
2094
|
--btn-text-color: var(--bs-ink-positive);
|
|
2080
2095
|
--btn-text-color-hovered: var(--bs-positive-medium);
|
|
2081
2096
|
}
|
|
2082
|
-
.bs-circle-button:where([data-variant="color-
|
|
2083
|
-
--btn-border-color-focused: var(--bs-
|
|
2084
|
-
--btn-text-color: var(--bs-ink-
|
|
2085
|
-
--btn-text-color-hovered: var(--bs-
|
|
2097
|
+
.bs-circle-button:where([data-variant="color-warning"]) {
|
|
2098
|
+
--btn-border-color-focused: var(--bs-ink-warning);
|
|
2099
|
+
--btn-text-color: var(--bs-ink-warning);
|
|
2100
|
+
--btn-text-color-hovered: var(--bs-warning-base);
|
|
2086
2101
|
}
|
|
2102
|
+
/* DEPRECATED - orange variant (use warning instead) */
|
|
2087
2103
|
.bs-circle-button:where([data-variant="color-orange"]) {
|
|
2088
2104
|
--btn-border-color-focused: var(--bs-ink-warning);
|
|
2089
2105
|
--btn-text-color: var(--bs-ink-warning);
|
|
2090
2106
|
--btn-text-color-hovered: var(--bs-warning-base);
|
|
2091
2107
|
}
|
|
2108
|
+
.bs-circle-button:where([data-variant="color-negative"]) {
|
|
2109
|
+
--btn-border-color-focused: var(--bs-ink-negative);
|
|
2110
|
+
--btn-text-color: var(--bs-ink-negative);
|
|
2111
|
+
--btn-text-color-hovered: var(--bs-negative-base);
|
|
2112
|
+
}
|
|
2113
|
+
/* DEPRECATED - red variant (use negative instead) */
|
|
2092
2114
|
.bs-circle-button:where([data-variant="color-red"]) {
|
|
2093
2115
|
--btn-border-color-focused: var(--bs-ink-regative);
|
|
2094
2116
|
--btn-text-color: var(--bs-ink-negative);
|
|
2095
2117
|
--btn-text-color-hovered: var(--bs-negative-base);
|
|
2096
2118
|
}
|
|
2119
|
+
.bs-circle-button:where([data-variant="color-accent-1"]) {
|
|
2120
|
+
--btn-border-color-focused: var(--bs-ink-accent-1);
|
|
2121
|
+
--btn-text-color: var(--bs-ink-accent-1);
|
|
2122
|
+
--btn-text-color-hovered: var(--bs-accent-1-medium);
|
|
2123
|
+
}
|
|
2124
|
+
/* DEPRECATED - royal blue variant (use accent-1 instead) */
|
|
2125
|
+
.bs-circle-button:where([data-variant="color-royal"]) {
|
|
2126
|
+
--btn-border-color-focused: var(--bs-ink-accent-1);
|
|
2127
|
+
--btn-text-color: var(--bs-ink-accent-1);
|
|
2128
|
+
--btn-text-color-hovered: var(--bs-accent-1-medium);
|
|
2129
|
+
}
|
|
2130
|
+
.bs-circle-button:where([data-variant="color-accent-3"]) {
|
|
2131
|
+
--btn-border-color-focused: var(--bs-accent-3-base);
|
|
2132
|
+
--btn-text-color: var(--bs-ink-accent-3);
|
|
2133
|
+
--btn-text-color-hovered: var(--bs-accent-3-medium);
|
|
2134
|
+
}
|
|
2135
|
+
/* DEPRECATED - pink variant (use accent-3 instead) */
|
|
2136
|
+
.bs-circle-button:where([data-variant="color-pink"]) {
|
|
2137
|
+
--btn-border-color-focused: var(--bs-accent-3-base);
|
|
2138
|
+
--btn-text-color: var(--bs-ink-accent-3);
|
|
2139
|
+
--btn-text-color-hovered: var(--bs-accent-3-medium);
|
|
2140
|
+
}
|
|
2097
2141
|
.bs-circle-button:where([data-variant="color-white"]) {
|
|
2098
2142
|
--btn-border-color-focused: var(--bs-ink-white);
|
|
2099
2143
|
--btn-text-color: var(--bs-ink-white);
|
|
@@ -2111,7 +2155,7 @@ a.bs-circle-button {
|
|
|
2111
2155
|
}
|
|
2112
2156
|
.bs-empty-state {
|
|
2113
2157
|
--bs-empty-state-description-color: var(--bs-ink-light);
|
|
2114
|
-
--bs-empty-state-icon-color: var(--bs-
|
|
2158
|
+
--bs-empty-state-icon-color: var(--bs-accent-2-medium);
|
|
2115
2159
|
--bs-empty-state-title-color: var(--bs-ink-base);
|
|
2116
2160
|
--col-gap: var(--bs-space-6);
|
|
2117
2161
|
--cta-spacing: var(--bs-space-4);
|
|
@@ -2832,7 +2876,7 @@ button:where(.bs-filter-button) {
|
|
|
2832
2876
|
border-color: transparent;
|
|
2833
2877
|
border-radius: var(--bs-space-1);
|
|
2834
2878
|
border: 1px solid transparent;
|
|
2835
|
-
color: var(--bs-
|
|
2879
|
+
color: var(--bs-ink-accent-1);
|
|
2836
2880
|
cursor: pointer;
|
|
2837
2881
|
display: inline-flex;
|
|
2838
2882
|
font-family: inherit;
|
|
@@ -2853,11 +2897,11 @@ button:where(.bs-filter-button) {
|
|
|
2853
2897
|
}
|
|
2854
2898
|
/* Hover */
|
|
2855
2899
|
.bs-inline-tab:where(:not([data-selected]):hover) {
|
|
2856
|
-
border-color: var(--bs-
|
|
2900
|
+
border-color: var(--bs-ink-accent-1);
|
|
2857
2901
|
}
|
|
2858
2902
|
/* Keyboard Focus */
|
|
2859
2903
|
.bs-inline-tab:where(:focus-visible) {
|
|
2860
|
-
outline: 2px solid var(--bs-
|
|
2904
|
+
outline: 2px solid var(--bs-ink-accent-1);
|
|
2861
2905
|
|
|
2862
2906
|
&:where([data-selected]) {
|
|
2863
2907
|
outline-offset: 2px;
|
|
@@ -2883,45 +2927,10 @@ button:where(.bs-filter-button) {
|
|
|
2883
2927
|
/* -- Dark Mode Overrides -- */
|
|
2884
2928
|
:where(.dark .bs-inline-tab) {
|
|
2885
2929
|
|
|
2886
|
-
/* Ink */
|
|
2887
|
-
&:not([data-selected], :disabled, [aria-disabled="true"]) {
|
|
2888
|
-
color: var(--bs-royal-200);
|
|
2889
|
-
}
|
|
2890
|
-
|
|
2891
2930
|
/* Selected & Disabled */
|
|
2892
2931
|
&[data-selected]:where(:disabled, [aria-disabled="true"]) {
|
|
2893
2932
|
color: var(--bs-ink-invert-base);
|
|
2894
2933
|
}
|
|
2895
|
-
|
|
2896
|
-
/* Keyboard Focus */
|
|
2897
|
-
&:not([disabled]):where(:focus-visible) {
|
|
2898
|
-
outline-color: var(--bs-royal-200);
|
|
2899
|
-
}
|
|
2900
|
-
|
|
2901
|
-
/* Hover */
|
|
2902
|
-
&:not([disabled]):where(:not([data-selected]):hover) {
|
|
2903
|
-
border-color: var(--bs-royal-200);
|
|
2904
|
-
}
|
|
2905
|
-
|
|
2906
|
-
}
|
|
2907
|
-
/* -- Softchoice Mode Overrides -- */
|
|
2908
|
-
:where(.softchoice .bs-inline-tab) {
|
|
2909
|
-
|
|
2910
|
-
/* Ink */
|
|
2911
|
-
&:not([data-selected], :disabled, [aria-disabled="true"]) {
|
|
2912
|
-
color: var(--bs-cobalt-400);
|
|
2913
|
-
}
|
|
2914
|
-
|
|
2915
|
-
/* Keyboard Focus */
|
|
2916
|
-
&:not([disabled]):where(:focus-visible) {
|
|
2917
|
-
outline-color: var(--bs-cobalt-400);
|
|
2918
|
-
}
|
|
2919
|
-
|
|
2920
|
-
/* Hover */
|
|
2921
|
-
&:not([disabled]):where(:not([data-selected]):hover) {
|
|
2922
|
-
border-color: var(--bs-cobalt-400);
|
|
2923
|
-
}
|
|
2924
|
-
|
|
2925
2934
|
}
|
|
2926
2935
|
/* 0 0 1 for width to allow e.g. tailwind override */
|
|
2927
2936
|
:is(div, *):where(.bs-input-addon) {
|
|
@@ -3028,7 +3037,7 @@ and issues with box-sizing
|
|
|
3028
3037
|
/* -------- Inner-bordered styles -------- */
|
|
3029
3038
|
/** Inner borders should be straight; shown only if variant: "inner-bordered" */
|
|
3030
3039
|
.bs-input-addon:where([data-variant="inner-bordered"]) {
|
|
3031
|
-
--input-addon-nested-border: var(--bs-
|
|
3040
|
+
--input-addon-nested-border: var(--bs-border-input);
|
|
3032
3041
|
}
|
|
3033
3042
|
.bs-input-addon > :where(.bs-input-addon:not(:last-child, :focus-within, [data-part="right"])),
|
|
3034
3043
|
.bs-input-addon > :where(:not(:last-child, :focus-within, [data-part="right"]))::after {
|
|
@@ -3122,7 +3131,7 @@ and issues with box-sizing
|
|
|
3122
3131
|
/* Straight-lined ::before border to fill the gap below the rounded ::after border */
|
|
3123
3132
|
.bs-input-addon:where([data-multifocus]:not([data-multifocus="false"])) :where(:focus-within)::before {
|
|
3124
3133
|
border-bottom-width: 1px;
|
|
3125
|
-
border-color: var(--bs-
|
|
3134
|
+
border-color: var(--bs-border-input);
|
|
3126
3135
|
border-radius: 0;
|
|
3127
3136
|
border-top-width: 1px;
|
|
3128
3137
|
z-index: 1;
|
|
@@ -3325,8 +3334,8 @@ data-autosize-icons="true" - see above
|
|
|
3325
3334
|
.bs-boolean :where(input[data-error="true"]), /* deprecate this one in favor of next line */
|
|
3326
3335
|
.bs-boolean:where([data-error="true"]),
|
|
3327
3336
|
.bs-checkbox:where([data-error="true"]) {
|
|
3328
|
-
--box-shadow: var(--bs-negative
|
|
3329
|
-
--outline-color: var(--bs-negative
|
|
3337
|
+
--box-shadow: var(--bs-ink-negative);
|
|
3338
|
+
--outline-color: var(--bs-ink-negative);
|
|
3330
3339
|
}
|
|
3331
3340
|
/*
|
|
3332
3341
|
HEADS-UP! Styling to look like an input is inherited from .bs-input
|
|
@@ -3425,73 +3434,88 @@ data-autosize-icons="true" - see above
|
|
|
3425
3434
|
.bs-input-phone ul:where(.bs-dropdown-options-deprecated) {
|
|
3426
3435
|
min-width: 7.5rem;
|
|
3427
3436
|
}
|
|
3428
|
-
|
|
3429
|
-
display:
|
|
3437
|
+
.bs-input-search {
|
|
3438
|
+
display: grid;
|
|
3439
|
+
grid-template-columns: 1fr 2.5rem;
|
|
3440
|
+
align-items: center;
|
|
3430
3441
|
width: 100%;
|
|
3442
|
+
height: var(--input-search-height, 2.5rem);
|
|
3431
3443
|
}
|
|
3432
|
-
|
|
3433
|
-
|
|
3434
|
-
}
|
|
3435
|
-
.bs-input-search :where([data-component="bs-icon-search"]) {
|
|
3444
|
+
/* -- Icon -- */
|
|
3445
|
+
.bs-input-search-icon {
|
|
3436
3446
|
--icon-size: var(--search-icon-size, 1.75rem);
|
|
3447
|
+
position: relative;
|
|
3448
|
+
grid-area: 1 / 1;
|
|
3437
3449
|
padding: var(--search-icon-padding, 0 0 0 .75rem);
|
|
3450
|
+
height: 100%;
|
|
3451
|
+
pointer-events: none;
|
|
3452
|
+
z-index: 1;
|
|
3438
3453
|
}
|
|
3439
|
-
|
|
3440
|
-
|
|
3441
|
-
|
|
3442
|
-
|
|
3443
|
-
|
|
3444
|
-
|
|
3445
|
-
|
|
3454
|
+
.bs-input-search-icon :where(svg) {
|
|
3455
|
+
box-sizing: content-box;
|
|
3456
|
+
}
|
|
3457
|
+
/* -- Input -- */
|
|
3458
|
+
.bs-input-search-input {
|
|
3459
|
+
--input-padding-inline: .75rem;
|
|
3460
|
+
grid-area: 1 / 1 / 1 / -1;
|
|
3461
|
+
pointer-events: auto;
|
|
3462
|
+
}
|
|
3463
|
+
/* make room for search icon */
|
|
3464
|
+
/* can't use 0,1,0 here due to :is() usage in input-text.css trumping it */
|
|
3465
|
+
.bs-input-search-icon + .bs-input-search-input {
|
|
3466
|
+
padding-inline-start: 2.25rem;
|
|
3467
|
+
}
|
|
3468
|
+
/* make room for X button (so text doesn't overlap) */
|
|
3469
|
+
/* can't use 0,1,0 here due to :is() usage in input-text.css trumping it */
|
|
3470
|
+
.bs-input-search-input:has(+ .bs-input-search-button) {
|
|
3471
|
+
padding-inline-end: 2.25rem;
|
|
3472
|
+
}
|
|
3473
|
+
.bs-input-search:where(:focus-within) :where(.bs-input-search-input) {
|
|
3474
|
+
--input-border: var(--bs-blue-base);
|
|
3475
|
+
}
|
|
3476
|
+
/* -- Button -- */
|
|
3477
|
+
.bs-input-search-button {
|
|
3478
|
+
grid-area: 1 / 2 / 1 / -1;
|
|
3446
3479
|
display: flex;
|
|
3447
|
-
|
|
3448
|
-
|
|
3480
|
+
align-items: center;
|
|
3481
|
+
justify-content: center;
|
|
3449
3482
|
height: 100%;
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
padding-right: 0.75rem;
|
|
3453
|
-
padding-top: var(--bs-space-0);
|
|
3454
|
-
position: relative;
|
|
3455
|
-
text-decoration: none;
|
|
3483
|
+
cursor: pointer;
|
|
3484
|
+
background-color: inherit;
|
|
3456
3485
|
transition: transform var(--bs-transition-fast) var(--bs-transition-ease);
|
|
3457
3486
|
}
|
|
3458
|
-
.bs-input-search
|
|
3459
|
-
|
|
3460
|
-
transform-origin: center;
|
|
3461
|
-
box-shadow: inset 0px 0px 4px 1px var(--bs-primary-base);
|
|
3462
|
-
}
|
|
3463
|
-
.bs-input-search button:where(:focus) {
|
|
3487
|
+
.bs-input-search-button:where(:focus-visible) {
|
|
3488
|
+
outline: none;
|
|
3464
3489
|
border-radius: .25rem;
|
|
3465
|
-
box-shadow: var(--
|
|
3466
|
-
z-index: 1;
|
|
3490
|
+
box-shadow: var(--bs-blue-base) 0px 0px 0px 1px inset;
|
|
3467
3491
|
}
|
|
3468
|
-
/*
|
|
3469
|
-
.bs-input-search:where(
|
|
3492
|
+
/* -- Disabled -- */
|
|
3493
|
+
.bs-input-search:where(:has(:disabled)) {
|
|
3494
|
+
color: var(--bs-ink-disabled);
|
|
3495
|
+
}
|
|
3496
|
+
/* -- Filter Variant -- */
|
|
3497
|
+
.bs-input-search:where([data-variant="filter"]) :where(.bs-input-search-input) {
|
|
3470
3498
|
--focus-border: transparent;
|
|
3471
3499
|
--input-border: transparent;
|
|
3472
3500
|
--input-addon-height: 1.5rem;
|
|
3473
|
-
--input-caret: var(--bs-
|
|
3501
|
+
--input-caret: var(--bs-blue-base);
|
|
3474
3502
|
--input-padding-block: 0 0.125rem;
|
|
3475
|
-
--input-padding-inline: 0.5rem;
|
|
3503
|
+
--input-padding-inline: 2.5rem 0.5rem;
|
|
3476
3504
|
--input-placeholder: var(--bs-ink-light);
|
|
3477
3505
|
--input-text-size: var(--bs-text-sm);
|
|
3478
3506
|
--search-icon-size: 1rem;
|
|
3479
3507
|
--search-icon-padding: 0;
|
|
3480
3508
|
}
|
|
3481
|
-
|
|
3482
|
-
|
|
3483
|
-
--input-placeholder: var(--bs-ink-light);
|
|
3509
|
+
.bs-input-search:where([data-variant="filter"]):where(:focus-within) .bs-input-search-input {
|
|
3510
|
+
--input-border: transparent;
|
|
3484
3511
|
}
|
|
3485
|
-
:where(.dark) .bs-input-search:where([data-variant="filter"])
|
|
3512
|
+
:where(.dark) .bs-input-search:where([data-variant="filter"]) .bs-input-search-input::-moz-placeholder {
|
|
3486
3513
|
--input-placeholder: var(--bs-ink-light);
|
|
3487
3514
|
}
|
|
3488
|
-
|
|
3489
|
-
|
|
3490
|
-
--input-bg: var(--bs-bg-base);
|
|
3515
|
+
:where(.dark) .bs-input-search:where([data-variant="filter"]) .bs-input-search-input::placeholder {
|
|
3516
|
+
--input-placeholder: var(--bs-ink-light);
|
|
3491
3517
|
}
|
|
3492
|
-
|
|
3493
|
-
.bs-input-addon:where([data-variant="filter"][data-disabled="true"]),
|
|
3494
|
-
.bs-input-addon:where([data-variant="filter"][data-disabled="true"]) :is(.bs-button, .bs-input) {
|
|
3518
|
+
.bs-input-search:where([data-variant="filter"]):where(:has(:disabled)) .bs-input-search-input {
|
|
3495
3519
|
--input-bg: var(--bs-bg-base);
|
|
3496
3520
|
--input-border: transparent;
|
|
3497
3521
|
}
|
|
@@ -3724,11 +3748,17 @@ label:where(.bs-label) {
|
|
|
3724
3748
|
}
|
|
3725
3749
|
}
|
|
3726
3750
|
.bs-option-group {
|
|
3727
|
-
margin: var(--bs-space-
|
|
3751
|
+
margin-bottom: var(--bs-space-6);
|
|
3728
3752
|
padding-top: var(--bs-space-3);
|
|
3729
3753
|
border-top: 1px solid var(--bs-border-base);
|
|
3754
|
+
display: flex;
|
|
3755
|
+
flex-direction: column;
|
|
3756
|
+
}
|
|
3757
|
+
.bs-option-group:where(:first-child) {
|
|
3758
|
+
padding-top: 0;
|
|
3759
|
+
border-top: none;
|
|
3730
3760
|
}
|
|
3731
|
-
.bs-option-group:where(:last-child) {
|
|
3761
|
+
.bs-option-group:where(:nth-last-child(1 of [data-visible="true"])) {
|
|
3732
3762
|
margin-bottom: 0;
|
|
3733
3763
|
}
|
|
3734
3764
|
.bs-option-group:where(:has(.bs-option-group-title)) {
|
|
@@ -3744,27 +3774,47 @@ label:where(.bs-label) {
|
|
|
3744
3774
|
display: flex;
|
|
3745
3775
|
font-size: var(--bs-text-xs);
|
|
3746
3776
|
font-weight: var(--bs-font-semibold);
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
padding: var(--bs-space-1) var(--bs-space-3);
|
|
3777
|
+
height: var(--bs-space-8);
|
|
3778
|
+
margin: 0 0 var(--bs-space-2);
|
|
3779
|
+
padding: var(--bs-space-1) var(--bs-space-3) var(--bs-space-1) 1.75rem;
|
|
3750
3780
|
position: sticky;
|
|
3751
3781
|
top: 0;
|
|
3782
|
+
order: -2;
|
|
3783
|
+
z-index: 1;
|
|
3784
|
+
}
|
|
3785
|
+
/* Separator for multiple selected options */
|
|
3786
|
+
.bs-option-group-multiple-hr {
|
|
3787
|
+
margin: 0 var(--bs-space-3) var(--bs-space-3);
|
|
3788
|
+
border-bottom: 0.0625rem solid var(--bs-border-base);
|
|
3789
|
+
}
|
|
3790
|
+
@media (min-width: 1166px) {
|
|
3791
|
+
.bs-option-group-title {
|
|
3792
|
+
padding: var(--bs-space-1) var(--bs-space-3);
|
|
3793
|
+
}
|
|
3752
3794
|
}
|
|
3753
3795
|
.bs-option {
|
|
3754
|
-
padding: var(--bs-space-1) var(--bs-space-2);
|
|
3755
|
-
color: var(--bs-ink-base);
|
|
3756
3796
|
--description-color: var(--bs-ink-light);
|
|
3757
|
-
cursor: pointer;
|
|
3758
3797
|
border-left: 4px solid transparent;
|
|
3759
3798
|
border-right: 4px solid transparent;
|
|
3799
|
+
color: var(--bs-ink-base);
|
|
3800
|
+
cursor: pointer;
|
|
3760
3801
|
overflow-wrap: break-word;
|
|
3802
|
+
padding: var(--bs-space-1) var(--bs-space-3) var(--bs-space-1) var(--bs-space-6);
|
|
3761
3803
|
scroll-margin-bottom: var(--bs-space-3);
|
|
3804
|
+
/* Make sure options are visible when scrolling with group title */
|
|
3805
|
+
/* This is group title height + margin + padding + border */
|
|
3806
|
+
scroll-margin-top: 2.5rem;
|
|
3807
|
+
}
|
|
3808
|
+
@media (min-width: 1166px) {
|
|
3809
|
+
.bs-option {
|
|
3810
|
+
padding: var(--bs-space-1) var(--bs-space-2);
|
|
3811
|
+
}
|
|
3762
3812
|
}
|
|
3763
3813
|
.bs-option {
|
|
3764
3814
|
margin-bottom: var(--bs-space-2); /* ask ux: 12px is too much, can't see many menu options in view */
|
|
3765
3815
|
}
|
|
3766
|
-
/* is basically doing a last visible child selector, since filtered options and groups are hidden by v-show */
|
|
3767
|
-
.bs-option:where(:
|
|
3816
|
+
/* is basically doing a last visible child selector ignoring selectToTop, since filtered options and groups are hidden by v-show */
|
|
3817
|
+
.bs-option:where(:nth-last-child(1 of [data-visible="true"][data-selected-to-top="false"])) {
|
|
3768
3818
|
margin-bottom: 0;
|
|
3769
3819
|
}
|
|
3770
3820
|
/* -- DISABLED -- */
|
|
@@ -3950,10 +4000,11 @@ label:where(.bs-label) {
|
|
|
3950
4000
|
padding-right: 2px;
|
|
3951
4001
|
width: auto;
|
|
3952
4002
|
}
|
|
4003
|
+
/* todo: waiting to hear back from UX on disabled, but there is at least 1 exmple in code of a pill w/ disable */
|
|
3953
4004
|
.bs-pill {
|
|
3954
4005
|
--pill-background: var(--bs-bg-medium);
|
|
3955
4006
|
--pill-border: transparent;
|
|
3956
|
-
--pill-text: var(--bs-
|
|
4007
|
+
--pill-text: var(--bs-ink-accent-1);
|
|
3957
4008
|
--pill-gap: var(--bs-space-2);
|
|
3958
4009
|
|
|
3959
4010
|
align-items: center;
|
|
@@ -3975,33 +4026,24 @@ label:where(.bs-label) {
|
|
|
3975
4026
|
position: relative;
|
|
3976
4027
|
text-decoration: none;
|
|
3977
4028
|
}
|
|
3978
|
-
|
|
3979
|
-
|
|
3980
|
-
|
|
3981
|
-
|
|
3982
|
-
/* ------------------------------- Dark mode (basic & status types only) ------------------------------- */
|
|
3983
|
-
:where(.dark) .bs-pill {
|
|
3984
|
-
--pill-text: var(--bs-royal-200);
|
|
4029
|
+
.bs-pill-content {
|
|
4030
|
+
display: inline-flex;
|
|
4031
|
+
align-items: center;
|
|
4032
|
+
gap: var(--pill-gap);
|
|
3985
4033
|
}
|
|
3986
|
-
|
|
3987
|
-
:
|
|
3988
|
-
|
|
4034
|
+
.bs-pill :where(.bs-icon) {
|
|
4035
|
+
height: 0.75rem;
|
|
4036
|
+
width: 0.75rem;
|
|
4037
|
+
flex-shrink: 0;
|
|
3989
4038
|
}
|
|
3990
4039
|
/* ------------------------------ Auto-truncation for content ------------------------------ */
|
|
3991
4040
|
.bs-pill:has([data-truncate="true"]) {
|
|
3992
4041
|
max-width: 100%;
|
|
3993
4042
|
}
|
|
3994
|
-
.bs-pill
|
|
3995
|
-
|
|
4043
|
+
.bs-pill-content:where([data-truncate="true"]) {
|
|
4044
|
+
white-space: nowrap;
|
|
3996
4045
|
overflow: hidden;
|
|
3997
4046
|
text-overflow: ellipsis;
|
|
3998
|
-
white-space: nowrap;
|
|
3999
|
-
}
|
|
4000
|
-
/* If false, pass thru .bs-pill display styles */
|
|
4001
|
-
.bs-pill > :where([data-truncate="false"]) {
|
|
4002
|
-
display: inline-flex;
|
|
4003
|
-
align-items: center;
|
|
4004
|
-
gap: var(--pill-gap);
|
|
4005
4047
|
}
|
|
4006
4048
|
/* ------------------------------ Button and Link Styles ------------------------------ */
|
|
4007
4049
|
:is(a, button).bs-pill {
|
|
@@ -4021,37 +4063,47 @@ label:where(.bs-label) {
|
|
|
4021
4063
|
}
|
|
4022
4064
|
/* ------------------------------ Status Styles ------------------------------ */
|
|
4023
4065
|
.bs-pill:where([data-status]) {
|
|
4024
|
-
|
|
4025
|
-
|
|
4026
|
-
|
|
4027
|
-
background-color: var(--status-color);
|
|
4028
|
-
border-radius: 100%;
|
|
4029
|
-
content: '';
|
|
4030
|
-
height: 12px;
|
|
4031
|
-
width: 12px;
|
|
4066
|
+
font-size: var(--bs-text-xs);
|
|
4067
|
+
font-weight: var(--bs-font-semibold);
|
|
4068
|
+
color: var(--status-color);
|
|
4032
4069
|
}
|
|
4033
4070
|
/* ----- Status Colors ----- */
|
|
4034
|
-
|
|
4035
|
-
|
|
4071
|
+
/* Disabled is being renamed to Neutral */
|
|
4072
|
+
.bs-pill:where([data-status^="neutral"], [data-status^="disabled"]) {
|
|
4073
|
+
--status-color: var(--bs-ink-light);
|
|
4074
|
+
--pill-background: var(--bs-accent-7-highlight);
|
|
4036
4075
|
}
|
|
4037
|
-
.bs-pill:where([data-status^="
|
|
4038
|
-
--status-color: var(--bs-
|
|
4039
|
-
|
|
4040
|
-
.bs-pill:where([data-status^="disabled"]) {
|
|
4041
|
-
--status-color: var(--bs-ink-disabled);
|
|
4042
|
-
}
|
|
4043
|
-
.bs-pill:where([data-status^="error"]) {
|
|
4044
|
-
--status-color: var(--bs-negative-dark);
|
|
4076
|
+
.bs-pill:where([data-status^="active"]) {
|
|
4077
|
+
--status-color: var(--bs-ink-primary);
|
|
4078
|
+
--pill-background: var(--bs-primary-highlight);
|
|
4045
4079
|
}
|
|
4046
4080
|
.bs-pill:where([data-status^="positive"]) {
|
|
4047
|
-
--status-color:
|
|
4081
|
+
--status-color: var(--bs-ink-positive);
|
|
4082
|
+
--pill-background: var(--bs-positive-highlight);
|
|
4048
4083
|
}
|
|
4049
4084
|
.bs-pill:where([data-status^="warning"]) {
|
|
4050
|
-
--status-color: var(--bs-warning
|
|
4085
|
+
--status-color: var(--bs-ink-warning);
|
|
4086
|
+
--pill-background: var(--bs-warning-highlight);
|
|
4087
|
+
}
|
|
4088
|
+
/* Error is being renamed to Negative */
|
|
4089
|
+
.bs-pill:where([data-status^="negative"],[data-status^="error"]) {
|
|
4090
|
+
--status-color: var(--bs-ink-negative);
|
|
4091
|
+
--pill-background: var(--bs-negative-highlight);
|
|
4051
4092
|
}
|
|
4052
4093
|
/* Deprecated; use "data-status disabled" instead */
|
|
4053
4094
|
.bs-pill:where([data-status^="inactive"]) {
|
|
4054
|
-
--status-color: var(--bs-gray-
|
|
4095
|
+
--status-color: var(--bs-gray-400);
|
|
4096
|
+
--pill-background: var(--bs-gray-100);
|
|
4097
|
+
}
|
|
4098
|
+
/* Deprecated; use "data-status positive" instead */
|
|
4099
|
+
.bs-pill:where([data-status^="complete"]) {
|
|
4100
|
+
--status-color: var(--bs-purple-500);
|
|
4101
|
+
--pill-background: var(--bs-purple-100);
|
|
4102
|
+
}
|
|
4103
|
+
/* Dark mode selector for complete */
|
|
4104
|
+
:where(.dark) .bs-pill:where([data-status^="complete"]) {
|
|
4105
|
+
--status-color: var(--bs-purple-100);
|
|
4106
|
+
--pill-background: var(--bs-purple-500);
|
|
4055
4107
|
}
|
|
4056
4108
|
/* ------------------------------ Filter Styles ------------------------------ */
|
|
4057
4109
|
.bs-pill:where([data-variant^="filter"]) {
|
|
@@ -4065,6 +4117,10 @@ label:where(.bs-label) {
|
|
|
4065
4117
|
:is(a, button).bs-pill:where([data-variant^="filter"]):is(:hover, :focus) {
|
|
4066
4118
|
--pill-border: var(--bs-ink-base);
|
|
4067
4119
|
}
|
|
4120
|
+
/* ------------------------------ Variant: "White" Styles ------------------------------ */
|
|
4121
|
+
.bs-pill:where([data-variant="white"]) {
|
|
4122
|
+
background-color: var(--bs-bg-base-to-medium);
|
|
4123
|
+
}
|
|
4068
4124
|
/* ------------------------------ Variant: "Filter Add" Styles ------------------------------ */
|
|
4069
4125
|
/* Black + */
|
|
4070
4126
|
.bs-pill:where([data-variant^="filter"][data-variant*="add"])::after {
|
|
@@ -4083,7 +4139,7 @@ label:where(.bs-label) {
|
|
|
4083
4139
|
:where(.dark) .bs-pill:where([data-variant^="filter"][data-variant*="remove"]):not(:disabled, [aria-disabled="true"])::after {
|
|
4084
4140
|
content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%23ffffff'/%3E%3C/svg%3E%0A");
|
|
4085
4141
|
}
|
|
4086
|
-
/* ------------------------------ Variant: "Filter Active" Styles ------------------------------ */
|
|
4142
|
+
/* ------------------------------ Variant: "Filter Active" Styles DEPRECATED ------------------------------ */
|
|
4087
4143
|
.bs-pill:where([data-variant^="filter"][data-active]:not([data-active="false"])) {
|
|
4088
4144
|
--pill-background: var(--bs-primary-base-fixed);
|
|
4089
4145
|
--pill-border: transparent;
|
|
@@ -4110,6 +4166,8 @@ label:where(.bs-label) {
|
|
|
4110
4166
|
--pill-text: var(--bs-white);
|
|
4111
4167
|
--pill-gap: var(--bs-space-1);
|
|
4112
4168
|
text-transform: uppercase;
|
|
4169
|
+
font-size: var(--bs-text-xs);
|
|
4170
|
+
font-weight: var(--bs-font-semibold);
|
|
4113
4171
|
}
|
|
4114
4172
|
.bs-pill:where([data-variant^="live"]):hover {
|
|
4115
4173
|
--pill-border: transparent;
|
|
@@ -4123,6 +4181,7 @@ label:where(.bs-label) {
|
|
|
4123
4181
|
width: 12px;
|
|
4124
4182
|
}
|
|
4125
4183
|
/* ------------------------------ Variant: "Inactive" Styles ------------------------------ */
|
|
4184
|
+
/* Deprecated; use Status Neutral instead */
|
|
4126
4185
|
.bs-pill:where([data-variant^="inactive"]) {
|
|
4127
4186
|
--pill-background: var(--bs-neutral-base);
|
|
4128
4187
|
--pill-text: var(--bs-ink-invert-base);
|
|
@@ -5077,7 +5136,7 @@ a.bs-text-button {
|
|
|
5077
5136
|
/* ------------ Status colors ------------ */
|
|
5078
5137
|
.bs-timeline :where(.bs-step-item[data-status="in-progress"]) {
|
|
5079
5138
|
--step-color: var(--bs-ink-base);
|
|
5080
|
-
--progress-step-bg: var(--bs-
|
|
5139
|
+
--progress-step-bg: var(--bs-accent-4-base);
|
|
5081
5140
|
}
|
|
5082
5141
|
.bs-progress-bar :where(.bs-step-item[data-status="not-started"]) {
|
|
5083
5142
|
--step-color: var(--bs-ink-light);
|
|
@@ -5093,11 +5152,11 @@ a.bs-text-button {
|
|
|
5093
5152
|
.bs-timeline :where(.bs-step-item[data-status="complete"]),
|
|
5094
5153
|
.bs-timeline :where(.bs-step-item[data-status="paused"]),
|
|
5095
5154
|
.bs-timeline :where(.bs-step-item[data-status="ongoing"]) {
|
|
5096
|
-
--step-color: var(--bs-ink-
|
|
5097
|
-
--progress-step-bg: var(--bs-
|
|
5155
|
+
--step-color: var(--bs-ink-accent-4);
|
|
5156
|
+
--progress-step-bg: var(--bs-accent-4-medium);
|
|
5098
5157
|
}
|
|
5099
5158
|
:is(.bs-progress-bar, .bs-timeline) :where(.bs-step-item[data-status="base"]) {
|
|
5100
|
-
--progress-step-bg: var(--bs-
|
|
5159
|
+
--progress-step-bg: var(--bs-accent-4-base);
|
|
5101
5160
|
}
|
|
5102
5161
|
.bs-timeline :where(.bs-step-item[data-status="warning"]) {
|
|
5103
5162
|
--step-color: var(--bs-ink-warning);
|
|
@@ -5124,6 +5183,27 @@ a.bs-text-button {
|
|
|
5124
5183
|
--toggle-color: var(--bs-white);
|
|
5125
5184
|
--top-offset: 48px;
|
|
5126
5185
|
}
|
|
5186
|
+
.bs-vertical-nav-wrapper:where([data-bg-variant="bg-base"]) {
|
|
5187
|
+
--active-color: var(--bs-blue-10);
|
|
5188
|
+
--bg-color: var(--bs-bg-base);
|
|
5189
|
+
--border-color: var(--bs-border-medium);
|
|
5190
|
+
--text-color: var(--bs-ink-medium);
|
|
5191
|
+
--link-color: var(--bs-ink-medium);
|
|
5192
|
+
--link-hover-color: var(--bs-ink-blue);
|
|
5193
|
+
--link-active-color: var(--bs-ink-blue);
|
|
5194
|
+
--toggle-bg-color: var(--bs-bg-base);
|
|
5195
|
+
--toggle-color: var(--bs-ink-medium);
|
|
5196
|
+
}
|
|
5197
|
+
.dark :where(.bs-vertical-nav-wrapper),
|
|
5198
|
+
.dark :where(.bs-vertical-nav-wrapper:where([data-bg-variant="bg-base"])) {
|
|
5199
|
+
--active-color: rgba(255, 255, 255, 0.25);
|
|
5200
|
+
--bg-color: var(--bs-bg-base);
|
|
5201
|
+
--border-color: var(--bs-border-medium);
|
|
5202
|
+
--text-color: var(--bs-white);
|
|
5203
|
+
--link-color: var(--bs-white);
|
|
5204
|
+
--link-hover-color: var(--bs-white);
|
|
5205
|
+
--link-active-color: var(--bs-white);
|
|
5206
|
+
}
|
|
5127
5207
|
.bs-vertical-nav {
|
|
5128
5208
|
-ms-overflow-style: none; /* Internet Explorer 10+ */
|
|
5129
5209
|
background-color: var(--bg-color);
|
|
@@ -5147,30 +5227,25 @@ a.bs-text-button {
|
|
|
5147
5227
|
/* Slight delay for visibility to change prior to opacity */
|
|
5148
5228
|
transition: opacity var(--bs-transition-medium) var(--bs-transition-ease) 10ms;
|
|
5149
5229
|
visibility: hidden;
|
|
5230
|
+
pointer-events: none;
|
|
5150
5231
|
width: auto;
|
|
5151
|
-
z-index:
|
|
5232
|
+
z-index: 999;
|
|
5152
5233
|
}
|
|
5153
5234
|
.bs-vertical-nav:where([data-mobile-shown="true"]) {
|
|
5154
5235
|
opacity: 1;
|
|
5155
5236
|
visibility: visible;
|
|
5237
|
+
pointer-events: auto;
|
|
5156
5238
|
}
|
|
5157
5239
|
.bs-vertical-nav:where([data-collapsible="true"]) {
|
|
5158
5240
|
transition: opacity 200ms ease 10ms, width 350ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
5159
5241
|
}
|
|
5160
|
-
.dark .bs-vertical-nav-wrapper {
|
|
5161
|
-
--active-color: rgba(255, 255, 255, 0.25);
|
|
5162
|
-
--bg-color: var(--bs-bg-base);
|
|
5163
|
-
--border-color: var(--bs-border-medium);
|
|
5164
|
-
}
|
|
5165
5242
|
@media (min-width: 1166px) {
|
|
5166
5243
|
.bs-vertical-nav {
|
|
5167
5244
|
opacity: 1;
|
|
5168
|
-
padding
|
|
5169
|
-
padding-left: 0.5rem;
|
|
5170
|
-
padding-right: 0.5rem;
|
|
5171
|
-
padding-top: 1rem;
|
|
5245
|
+
padding: 1rem;
|
|
5172
5246
|
right: auto;
|
|
5173
5247
|
visibility: visible;
|
|
5248
|
+
pointer-events: auto;
|
|
5174
5249
|
width: var(--bs-vertical-nav-width);
|
|
5175
5250
|
}
|
|
5176
5251
|
|
|
@@ -5201,7 +5276,7 @@ a.bs-text-button {
|
|
|
5201
5276
|
position: fixed;
|
|
5202
5277
|
left: calc(var(--bs-vertical-nav-width) - 0.5rem);
|
|
5203
5278
|
pointer-events: auto; /* Ensure button is clickable */
|
|
5204
|
-
top: calc(var(--top-offset) +
|
|
5279
|
+
top: calc(var(--top-offset) + 1.125rem); /* top-offset + 18px */
|
|
5205
5280
|
transition: left 300ms ease-out, opacity 100ms ease-out;
|
|
5206
5281
|
z-index: 1002; /* Above nav to prevent hover conflicts */
|
|
5207
5282
|
}
|
|
@@ -5211,11 +5286,11 @@ a.bs-text-button {
|
|
|
5211
5286
|
opacity: 1;
|
|
5212
5287
|
transition: left 300ms ease-out, opacity 100ms ease-out;
|
|
5213
5288
|
}
|
|
5214
|
-
|
|
5289
|
+
|
|
5215
5290
|
.bs-vertical-nav-toggle:where([data-collapsed="true"]) {
|
|
5216
5291
|
left: calc(var(--bs-vertical-nav-collapsed-width) - 0.5rem);
|
|
5217
5292
|
}
|
|
5218
|
-
|
|
5293
|
+
|
|
5219
5294
|
/* Adjust position for narrow variant when NOT collapsed */
|
|
5220
5295
|
.bs-vertical-nav-toggle:where([data-narrow="true"]:not([data-collapsed="true"])) {
|
|
5221
5296
|
left: calc(var(--bs-vertical-nav-narrow-width) - 0.5rem);
|
|
@@ -5231,18 +5306,18 @@ a.bs-text-button {
|
|
|
5231
5306
|
}
|
|
5232
5307
|
/* ===== Sections ===== */
|
|
5233
5308
|
.bs-vertical-nav :where(.bs-vertical-nav-section) {
|
|
5234
|
-
border-top:
|
|
5309
|
+
border-top: 1px solid var(--border-color);
|
|
5235
5310
|
margin-top: 0.5rem;
|
|
5236
5311
|
padding-top: 0.5rem;
|
|
5237
5312
|
}
|
|
5238
5313
|
@media (min-width: 1166px) {
|
|
5239
5314
|
.bs-vertical-nav :where(.bs-vertical-nav-section) {
|
|
5240
|
-
margin-top: 0.
|
|
5315
|
+
margin-top: 0.5rem;
|
|
5241
5316
|
}
|
|
5242
5317
|
}
|
|
5243
5318
|
/* Divider-only sections have no additional padding since no toggle button */
|
|
5244
5319
|
.bs-vertical-nav :where(.bs-vertical-nav-section[data-divider-only="true"]) {
|
|
5245
|
-
padding-top: 0.
|
|
5320
|
+
padding-top: 0.5rem;
|
|
5246
5321
|
}
|
|
5247
5322
|
/* Don't show border if the very first item is a section */
|
|
5248
5323
|
.bs-vertical-nav :where(ul li:first-child) {
|
|
@@ -5272,7 +5347,7 @@ a.bs-text-button {
|
|
|
5272
5347
|
@media (min-width: 1166px) {
|
|
5273
5348
|
.bs-vertical-nav :where(.bs-vertical-nav-section-toggle) {
|
|
5274
5349
|
/* nav width - nav left padding - nav right padding */
|
|
5275
|
-
width: calc(var(--bs-vertical-nav-width) -
|
|
5350
|
+
width: calc(var(--bs-vertical-nav-width) - 1rem - 1rem);
|
|
5276
5351
|
}
|
|
5277
5352
|
|
|
5278
5353
|
.bs-vertical-nav :where(.bs-vertical-nav-section-toggle span:first-child) {
|
|
@@ -5280,7 +5355,7 @@ a.bs-text-button {
|
|
|
5280
5355
|
text-align: start;
|
|
5281
5356
|
text-overflow: ellipsis;
|
|
5282
5357
|
/* nav width - nav left padding - nav right padding - link left padding - link right padding - caret width */
|
|
5283
|
-
width: calc(var(--bs-vertical-nav-width) -
|
|
5358
|
+
width: calc(var(--bs-vertical-nav-width) - 1rem - 1rem - 0.75rem - 0.75rem - 0.75rem);
|
|
5284
5359
|
}
|
|
5285
5360
|
}
|
|
5286
5361
|
.bs-vertical-nav :where(.bs-vertical-nav-section-toggle-caret) {
|
|
@@ -5303,11 +5378,6 @@ a.bs-text-button {
|
|
|
5303
5378
|
margin-top: 0;
|
|
5304
5379
|
padding-left: 0;
|
|
5305
5380
|
}
|
|
5306
|
-
@media (min-width: 1166px) {
|
|
5307
|
-
.bs-vertical-nav :where(ul) {
|
|
5308
|
-
gap: 0.25rem;
|
|
5309
|
-
}
|
|
5310
|
-
}
|
|
5311
5381
|
/* ===== Nav List Items / Links */
|
|
5312
5382
|
.bs-vertical-nav :where(ul li a) {
|
|
5313
5383
|
align-items: center;
|
|
@@ -5337,13 +5407,13 @@ a.bs-text-button {
|
|
|
5337
5407
|
min-height: 2.5rem; /* Fixed minimum height to prevent height changes */
|
|
5338
5408
|
padding: 0.5rem 0.75rem; /* Explicit padding for consistency */
|
|
5339
5409
|
/* nav width - nav left padding - nav right padding */
|
|
5340
|
-
width: calc(var(--bs-vertical-nav-width) -
|
|
5410
|
+
width: calc(var(--bs-vertical-nav-width) - 1rem - 1rem);
|
|
5341
5411
|
}
|
|
5342
5412
|
|
|
5343
5413
|
/* Collapsed state width */
|
|
5344
5414
|
.bs-vertical-nav:where([data-collapsed="true"]) :where(ul li a) {
|
|
5345
5415
|
/* collapsed width - nav left padding - nav right padding */
|
|
5346
|
-
width: calc(var(--bs-vertical-nav-collapsed-width) -
|
|
5416
|
+
width: calc(var(--bs-vertical-nav-collapsed-width) - 1rem - 1rem);
|
|
5347
5417
|
}
|
|
5348
5418
|
|
|
5349
5419
|
/* Text overflow - normal width - no icon */
|
|
@@ -5352,7 +5422,7 @@ a.bs-text-button {
|
|
|
5352
5422
|
text-overflow: ellipsis;
|
|
5353
5423
|
white-space: nowrap;
|
|
5354
5424
|
/* nav width - nav left padding - nav right padding - link left padding - link right padding */
|
|
5355
|
-
width: calc(var(--bs-vertical-nav-width) -
|
|
5425
|
+
width: calc(var(--bs-vertical-nav-width) - 1rem - 1rem - 0.75rem - 0.75rem);
|
|
5356
5426
|
}
|
|
5357
5427
|
|
|
5358
5428
|
/* Text overflow - normal width - with icon */
|
|
@@ -5361,7 +5431,7 @@ a.bs-text-button {
|
|
|
5361
5431
|
text-overflow: ellipsis;
|
|
5362
5432
|
white-space: nowrap;
|
|
5363
5433
|
/* nav width - nav left padding - nav right padding - link left padding - link right padding - icon width - icon gap */
|
|
5364
|
-
width: calc(var(--bs-vertical-nav-width) -
|
|
5434
|
+
width: calc(var(--bs-vertical-nav-width) - 1rem - 1rem - 0.75rem - 0.75rem - 1rem - 0.5rem);
|
|
5365
5435
|
}
|
|
5366
5436
|
|
|
5367
5437
|
.bs-vertical-nav:where([data-narrow="true"]) :where(ul li a) {
|
|
@@ -5372,7 +5442,7 @@ a.bs-text-button {
|
|
|
5372
5442
|
padding: 0.5rem 0.75rem; /* 8px 12px - matches Figma */
|
|
5373
5443
|
text-align: center;
|
|
5374
5444
|
/* nav width - nav left padding - nav right padding */
|
|
5375
|
-
width: calc(var(--bs-vertical-nav-narrow-width) -
|
|
5445
|
+
width: calc(var(--bs-vertical-nav-narrow-width) - 1rem - 1rem);
|
|
5376
5446
|
}
|
|
5377
5447
|
|
|
5378
5448
|
/* Text overflow - narrow width */
|
|
@@ -5385,10 +5455,21 @@ a.bs-text-button {
|
|
|
5385
5455
|
width: calc(var(--bs-vertical-nav-narrow-width) - 0.5rem - 0.5rem);
|
|
5386
5456
|
}
|
|
5387
5457
|
}
|
|
5458
|
+
.bs-vertical-nav-section:where([data-app-links="true"]) {
|
|
5459
|
+
padding-top: 1rem;
|
|
5460
|
+
}
|
|
5461
|
+
.bs-vertical-nav-section:where([data-app-links="true"]) :where(ul li a) {
|
|
5462
|
+
padding: 0.375rem 0.5rem;
|
|
5463
|
+
font-size: 0.75rem;
|
|
5464
|
+
font-weight: 600;
|
|
5465
|
+
}
|
|
5388
5466
|
.bs-vertical-nav :where(ul li a:hover) {
|
|
5389
5467
|
color: var(--link-hover-color);
|
|
5390
5468
|
font-weight: 600;
|
|
5391
5469
|
}
|
|
5470
|
+
.bs-vertical-nav-section:where([data-app-links="true"]) :where(ul li a:hover) {
|
|
5471
|
+
color: var(--bs-ink-blue);
|
|
5472
|
+
}
|
|
5392
5473
|
.bs-vertical-nav :where(ul li a[data-active="true"]) {
|
|
5393
5474
|
background-color: var(--active-color);
|
|
5394
5475
|
color: var(--link-active-color);
|
|
@@ -5406,7 +5487,6 @@ a.bs-text-button {
|
|
|
5406
5487
|
.bs-vertical-nav:not([data-narrow="true"]) :where(.bs-vertical-nav-link-icon) {
|
|
5407
5488
|
height: 0.875rem;
|
|
5408
5489
|
width: 0.875rem;
|
|
5409
|
-
margin-left: 0.25rem; /* Visual centering adjustment */
|
|
5410
5490
|
}
|
|
5411
5491
|
|
|
5412
5492
|
/* Narrow variant icons - 16px (inherits from base) */
|
|
@@ -5415,6 +5495,11 @@ a.bs-text-button {
|
|
|
5415
5495
|
width: 1rem;
|
|
5416
5496
|
}
|
|
5417
5497
|
}
|
|
5498
|
+
.bs-vertical-nav-section:where([data-app-links="true"]) .bs-vertical-nav-link-icon {
|
|
5499
|
+
height: 1.5rem;
|
|
5500
|
+
width: 1.5rem;
|
|
5501
|
+
margin-left: 0;
|
|
5502
|
+
}
|
|
5418
5503
|
/* Default: Show text on mobile */
|
|
5419
5504
|
.bs-vertical-nav :where(ul li a > span:last-child) {
|
|
5420
5505
|
opacity: 1;
|
|
@@ -5465,7 +5550,7 @@ a.bs-text-button {
|
|
|
5465
5550
|
|
|
5466
5551
|
/* Expand link widths on hover when collapsed */
|
|
5467
5552
|
.bs-vertical-nav-wrapper:where(:hover:not(:has(.bs-vertical-nav-toggle:hover))) :where(.bs-vertical-nav[data-collapsed="true"]) :where(ul li a) {
|
|
5468
|
-
width: calc(var(--bs-vertical-nav-width) -
|
|
5553
|
+
width: calc(var(--bs-vertical-nav-width) - 1rem - 1rem);
|
|
5469
5554
|
}
|
|
5470
5555
|
|
|
5471
5556
|
/* Narrow variant links should respect narrow width on hover */
|
|
@@ -5478,7 +5563,6 @@ a.bs-text-button {
|
|
|
5478
5563
|
opacity: 1;
|
|
5479
5564
|
visibility: visible;
|
|
5480
5565
|
width: auto;
|
|
5481
|
-
overflow: visible;
|
|
5482
5566
|
}
|
|
5483
5567
|
|
|
5484
5568
|
/* Hide toggle button on hover when collapsed - but NOT when hovering the button itself */
|
|
@@ -5492,6 +5576,16 @@ a.bs-text-button {
|
|
|
5492
5576
|
display: flex;
|
|
5493
5577
|
}
|
|
5494
5578
|
}
|
|
5579
|
+
/* ===== Top Content ===== */
|
|
5580
|
+
.bs-vertical-nav :where(.bs-vertical-nav-top-content) {
|
|
5581
|
+
margin-bottom: 0.5rem;
|
|
5582
|
+
padding: 0;
|
|
5583
|
+
}
|
|
5584
|
+
@media (min-width: 1166px) {
|
|
5585
|
+
.bs-vertical-nav :where(.bs-vertical-nav-top-content) {
|
|
5586
|
+
margin-bottom: 0.75rem;
|
|
5587
|
+
}
|
|
5588
|
+
}
|
|
5495
5589
|
/* ===== End Items ===== */
|
|
5496
5590
|
.bs-vertical-nav :where(.bs-vertical-nav-end-items) {
|
|
5497
5591
|
display: flex;
|
|
@@ -5563,9 +5657,6 @@ a.bs-text-button {
|
|
|
5563
5657
|
overflow: hidden;
|
|
5564
5658
|
z-index: var(--bs-popover-z-index);
|
|
5565
5659
|
}
|
|
5566
|
-
.bs-popover-wrap .bs-backdrop {
|
|
5567
|
-
z-index: -1;
|
|
5568
|
-
}
|
|
5569
5660
|
.bs-popover {
|
|
5570
5661
|
/* absolute positioning is needed for floating-ui, i.e. to anchor to element (is unset if anchored to viewport) */
|
|
5571
5662
|
position: absolute;
|
|
@@ -5655,13 +5746,6 @@ a.bs-text-button {
|
|
|
5655
5746
|
.bs-popover-leave-active {
|
|
5656
5747
|
transition-duration: var(--bs-popover-transition-duration)
|
|
5657
5748
|
}
|
|
5658
|
-
.bs-popover-enter-active .bs-backdrop,
|
|
5659
|
-
.bs-popover-leave-active .bs-backdrop {
|
|
5660
|
-
transition-property: opacity;
|
|
5661
|
-
transition-duration: var(--bs-popover-transition-duration);
|
|
5662
|
-
transition-timing-function: var(--bs-transition-cubic);
|
|
5663
|
-
}
|
|
5664
|
-
.bs-popover-enter-from .bs-backdrop,
|
|
5665
5749
|
.bs-popover-leave-to .bs-backdrop {
|
|
5666
5750
|
opacity: 0;
|
|
5667
5751
|
}
|
|
@@ -5798,13 +5882,6 @@ a.bs-text-button {
|
|
|
5798
5882
|
.bs-flyout-leave-active {
|
|
5799
5883
|
transition-duration: var(--bs-popover-transition-duration);
|
|
5800
5884
|
}
|
|
5801
|
-
.bs-flyout-enter-active .bs-backdrop,
|
|
5802
|
-
.bs-flyout-leave-active .bs-backdrop {
|
|
5803
|
-
transition-property: opacity;
|
|
5804
|
-
transition-duration: var(--bs-transition-leisurely);
|
|
5805
|
-
transition-timing-function: var(--bs-transition-cubic);
|
|
5806
|
-
}
|
|
5807
|
-
.bs-flyout-enter-from .bs-backdrop,
|
|
5808
5885
|
.bs-flyout-leave-to .bs-backdrop {
|
|
5809
5886
|
opacity: 0;
|
|
5810
5887
|
}
|
|
@@ -5880,13 +5957,6 @@ a.bs-text-button {
|
|
|
5880
5957
|
.bs-modal-leave-active {
|
|
5881
5958
|
transition-duration: var(--bs-popover-transition-duration);
|
|
5882
5959
|
}
|
|
5883
|
-
.bs-modal-enter-active .bs-backdrop,
|
|
5884
|
-
.bs-modal-leave-active .bs-backdrop {
|
|
5885
|
-
transition-property: opacity;
|
|
5886
|
-
transition-duration: var(--bs-transition-leisurely);
|
|
5887
|
-
transition-timing-function: var(--bs-transition-cubic);
|
|
5888
|
-
}
|
|
5889
|
-
.bs-modal-enter-from .bs-backdrop,
|
|
5890
5960
|
.bs-modal-leave-to .bs-backdrop {
|
|
5891
5961
|
opacity: 0;
|
|
5892
5962
|
}
|
|
@@ -5972,10 +6042,6 @@ a.bs-text-button {
|
|
|
5972
6042
|
--toast-icon-color: var(--bs-ink-positive);
|
|
5973
6043
|
--toast-variant-color: var(--bs-positive-base);
|
|
5974
6044
|
}
|
|
5975
|
-
.dark :where(.bs-toast[data-variant="positive"]) {
|
|
5976
|
-
--toast-icon-color: var(--bs-positive-light);
|
|
5977
|
-
--toast-variant-color: var(--bs-positive-light);
|
|
5978
|
-
}
|
|
5979
6045
|
.bs-toast:where([data-variant="negative"]) {
|
|
5980
6046
|
--toast-icon: var(--toast-icon-warning);
|
|
5981
6047
|
--toast-icon-color: var(--bs-negative-dark);
|
|
@@ -6018,52 +6084,185 @@ a.bs-text-button {
|
|
|
6018
6084
|
BsDropdown inherits base styles from its BsPopover root element
|
|
6019
6085
|
...so some of these styles override those defaults.
|
|
6020
6086
|
*/
|
|
6087
|
+
/* -- DROPDOWN -- */
|
|
6088
|
+
/* Note: Assumes mobile sheet by default */
|
|
6089
|
+
/* Note: Some heights for reference */
|
|
6090
|
+
/* filter (desktop): 4rem (64px) */
|
|
6091
|
+
/* filter (mobile sheet): 5.5rem (88px) */
|
|
6092
|
+
/* mobile header (heading and description): 6rem (96px) */
|
|
6093
|
+
/* mobile header (just heading text): 4.25rem (68px) */
|
|
6094
|
+
/* mobile sheet footer: 3rem (48px) */
|
|
6021
6095
|
.bs-dropdown {
|
|
6096
|
+
--bs-popover-width: 100dvw;
|
|
6022
6097
|
background-color: var(--bs-bg-base-to-medium);
|
|
6023
|
-
|
|
6098
|
+
height: 60dvh;
|
|
6099
|
+
margin: 0;
|
|
6100
|
+
max-width: 100dvw;
|
|
6024
6101
|
padding: 0;
|
|
6025
6102
|
}
|
|
6026
|
-
/*
|
|
6027
|
-
.bs-dropdown:where(:
|
|
6028
|
-
|
|
6103
|
+
/* Don't use mobile sheet at any breakpoint */
|
|
6104
|
+
.bs-dropdown:where(:not([data-mobile-sheet])) {
|
|
6105
|
+
--bs-popover-width: 20rem;
|
|
6106
|
+
height: unset;
|
|
6107
|
+
max-height: 20rem; /* 320px */
|
|
6108
|
+
max-width: calc(100dvw - 3rem);
|
|
6029
6109
|
}
|
|
6030
|
-
|
|
6031
|
-
|
|
6110
|
+
@media (min-width: 752px) {
|
|
6111
|
+
/* Remove bottom drawer at tablet breakpoint */
|
|
6112
|
+
.bs-dropdown:where([data-mobile-sheet="mobile"]) {
|
|
6113
|
+
--bs-popover-width: 20rem;
|
|
6114
|
+
height: unset;
|
|
6115
|
+
max-height: 20rem; /* 320px */
|
|
6116
|
+
max-width: calc(100dvw - 3rem);
|
|
6117
|
+
}
|
|
6032
6118
|
}
|
|
6033
|
-
|
|
6034
|
-
|
|
6119
|
+
@media (min-width: 1166px) {
|
|
6120
|
+
/* Remove bottom drawer at desktop breakpoint */
|
|
6121
|
+
.bs-dropdown:where([data-mobile-sheet="tablet"]) {
|
|
6122
|
+
--bs-popover-width: 20rem;
|
|
6123
|
+
height: unset;
|
|
6124
|
+
max-height: 20rem; /* 320px */
|
|
6125
|
+
max-width: calc(100dvw - 3rem);
|
|
6126
|
+
}
|
|
6035
6127
|
}
|
|
6128
|
+
/* Here if a consumer adds their own hr between BsOptions. Just don't override the internal option group separator. */
|
|
6129
|
+
.bs-dropdown :where(hr:not(.bs-option-group-multiple-hr)) {
|
|
6130
|
+
margin: var(--bs-space-3) 0;
|
|
6131
|
+
}
|
|
6132
|
+
/* -- LIST -- */
|
|
6036
6133
|
.bs-dropdown-list {
|
|
6037
|
-
|
|
6134
|
+
display: flex;
|
|
6135
|
+
flex-direction: column;
|
|
6136
|
+
}
|
|
6137
|
+
/* Only add padding, etc when there is at least one child visible */
|
|
6138
|
+
.bs-dropdown-list:where(:has(.bs-option[data-visible="true"], .bs-option-group[data-visible="true"])) {
|
|
6139
|
+
flex: 1;
|
|
6038
6140
|
overflow-y: auto;
|
|
6039
6141
|
overscroll-behavior: contain;
|
|
6040
6142
|
padding: var(--bs-space-3) 0;
|
|
6041
6143
|
}
|
|
6144
|
+
.bs-dropdown-list:where(:has( .bs-option-group)) {
|
|
6145
|
+
padding-top: 0;
|
|
6146
|
+
}
|
|
6042
6147
|
.bs-dropdown-list:where(:focus-visible) {
|
|
6043
6148
|
outline: none;
|
|
6044
6149
|
}
|
|
6045
6150
|
.bs-dropdown:where(:has(.bs-dropdown-filter)) :where(.bs-dropdown-list) {
|
|
6046
6151
|
padding-top: 0;
|
|
6047
|
-
|
|
6048
|
-
|
|
6152
|
+
}
|
|
6153
|
+
/* Move selected options to the top */
|
|
6154
|
+
.bs-dropdown-list:where([aria-multiselectable="true"]) :where(.bs-option:where([data-selected-to-top="true"])) {
|
|
6155
|
+
order: -1;
|
|
6156
|
+
}
|
|
6157
|
+
/* Separator for multiple selected options */
|
|
6158
|
+
.bs-dropdown-multiple-hr {
|
|
6159
|
+
margin: 0 var(--bs-space-3) var(--bs-space-3);
|
|
6160
|
+
border-bottom: 0.0625rem solid var(--bs-accent-7-light);
|
|
6161
|
+
}
|
|
6162
|
+
/* -- MOBILE HEADER -- */
|
|
6163
|
+
/* Mobile sheet header */
|
|
6164
|
+
.bs-dropdown :where(.bs-dropdown-mobile-header) {
|
|
6165
|
+
border-bottom: 1px solid var(--bs-border-base);
|
|
6166
|
+
padding: var(--bs-space-6);
|
|
6167
|
+
}
|
|
6168
|
+
/* Hide header if not using mobile sheet */
|
|
6169
|
+
.bs-dropdown:where(:not([data-mobile-sheet])) :where(.bs-dropdown-mobile-header) {
|
|
6170
|
+
display: none;
|
|
6171
|
+
}
|
|
6172
|
+
/* Hide header at tablet breakpoint if only using mobile sheet */
|
|
6173
|
+
@media (min-width: 752px) {
|
|
6174
|
+
.bs-dropdown:where([data-mobile-sheet="mobile"]) :where(.bs-dropdown-mobile-header) {
|
|
6175
|
+
display: none;
|
|
6176
|
+
}
|
|
6177
|
+
}
|
|
6178
|
+
/* Hide header at desktop breakpoint if only using tablet sheet */
|
|
6179
|
+
@media (min-width: 1166px) {
|
|
6180
|
+
.bs-dropdown:where([data-mobile-sheet="tablet"]) :where(.bs-dropdown-mobile-header) {
|
|
6181
|
+
display: none;
|
|
6182
|
+
}
|
|
6183
|
+
}
|
|
6184
|
+
.bs-dropdown :where(.bs-dropdown-mobile-heading) {
|
|
6185
|
+
font-size: var(--bs-text-lg);
|
|
6186
|
+
line-height: var(--bs-leading-none);
|
|
6187
|
+
}
|
|
6188
|
+
.bs-dropdown :where(.bs-dropdown-mobile-description) {
|
|
6189
|
+
color: var(--bs-ink-light);
|
|
6190
|
+
font-size: var(--bs-text-base);
|
|
6191
|
+
padding-top: var(--bs-space-1);
|
|
6192
|
+
}
|
|
6193
|
+
/* -- MOBILE FOOTER -- */
|
|
6194
|
+
/* Mobile sheet footer, show by default */
|
|
6195
|
+
.bs-dropdown-mobile-footer {
|
|
6196
|
+
display: flex;
|
|
6197
|
+
}
|
|
6198
|
+
/* Hide footer if not using mobile sheet */
|
|
6199
|
+
.bs-dropdown:where(:not([data-mobile-sheet])) :where(.bs-dropdown-mobile-footer) {
|
|
6200
|
+
display: none;
|
|
6201
|
+
}
|
|
6202
|
+
@media (min-width: 752px) {
|
|
6203
|
+
/* Hide footer at tablet breakpoint if only using mobile sheet */
|
|
6204
|
+
.bs-dropdown:where([data-mobile-sheet="mobile"]) :where(.bs-dropdown-mobile-footer) {
|
|
6205
|
+
display: none;
|
|
6206
|
+
}
|
|
6207
|
+
}
|
|
6208
|
+
@media (min-width: 1166px) {
|
|
6209
|
+
/* Hide footer at desktop breakpoint if only using tablet sheet */
|
|
6210
|
+
.bs-dropdown:where([data-mobile-sheet="tablet"]) :where(.bs-dropdown-mobile-footer) {
|
|
6211
|
+
display: none;
|
|
6212
|
+
}
|
|
6213
|
+
}
|
|
6214
|
+
.bs-dropdown-mobile-footer :where(.bs-button) {
|
|
6215
|
+
margin: var(--bs-space-2) var(--bs-space-6);
|
|
6216
|
+
width: 100%;
|
|
6217
|
+
}
|
|
6218
|
+
/* -- CLOSE BUTTON -- */
|
|
6219
|
+
/* Override popover button positioning for mobile drawer */
|
|
6220
|
+
.bs-dropdown :where(.bs-popover-close-button) {
|
|
6221
|
+
right: var(--bs-space-4);
|
|
6222
|
+
top: var(--bs-space-4);
|
|
6049
6223
|
}
|
|
6050
6224
|
/* -- FILTER -- */
|
|
6051
6225
|
.bs-dropdown-filter {
|
|
6052
6226
|
position: sticky;
|
|
6053
6227
|
top: 0;
|
|
6054
|
-
padding: var(--bs-space-3);
|
|
6055
|
-
/* fade to transparent in bottom padding area, so scrolling menu items under filter looks better */
|
|
6056
|
-
background-image: linear-gradient(
|
|
6057
|
-
var(--bs-bg-base-to-medium) calc(100% - var(--bs-space-3)),
|
|
6058
|
-
transparent 100%
|
|
6059
|
-
);
|
|
6228
|
+
padding: var(--bs-space-6) var(--bs-space-3);
|
|
6060
6229
|
z-index: 1;
|
|
6061
6230
|
}
|
|
6231
|
+
/* No mobile sheet, so always use desktop padding */
|
|
6232
|
+
.bs-dropdown:where(:not([data-mobile-sheet])) :where(.bs-dropdown-filter) {
|
|
6233
|
+
padding: var(--bs-space-3);
|
|
6234
|
+
}
|
|
6235
|
+
/* Mobile sheet, so use desktop padding at tablet breakpoint */
|
|
6236
|
+
@media (min-width: 752px) {
|
|
6237
|
+
.bs-dropdown:where([data-mobile-sheet="mobile"]) :where(.bs-dropdown-filter) {
|
|
6238
|
+
padding: var(--bs-space-3);
|
|
6239
|
+
}
|
|
6240
|
+
}
|
|
6241
|
+
/* Tablet sheet, so use desktop padding at desktop breakpoint */
|
|
6242
|
+
@media (min-width: 1166px) {
|
|
6243
|
+
.bs-dropdown:where([data-mobile-sheet="tablet"]) :where(.bs-dropdown-filter) {
|
|
6244
|
+
padding: var(--bs-space-3);
|
|
6245
|
+
}
|
|
6246
|
+
}
|
|
6247
|
+
.bs-dropdown-filter:where([data-hide-input="true"]) {
|
|
6248
|
+
padding-top: 0;
|
|
6249
|
+
}
|
|
6062
6250
|
.bs-dropdown-filter-icon {
|
|
6063
6251
|
margin-left: var(--bs-space-3);
|
|
6064
6252
|
}
|
|
6065
6253
|
.bs-dropdown-filter-input {
|
|
6254
|
+
overflow: hidden;
|
|
6066
6255
|
padding-inline: var(--bs-space-2);
|
|
6256
|
+
text-overflow: ellipsis;
|
|
6257
|
+
white-space: nowrap;
|
|
6258
|
+
}
|
|
6259
|
+
.bs-dropdown-filter-hint {
|
|
6260
|
+
color: var(--bs-ink-light);
|
|
6261
|
+
font-size: var(--bs-text-xs);
|
|
6262
|
+
padding-top: var(--bs-space-2);
|
|
6263
|
+
}
|
|
6264
|
+
.bs-dropdown-filter:where([data-hide-input="true"]) :where(.bs-dropdown-filter-hint) {
|
|
6265
|
+
padding-top: var(--bs-space-4);
|
|
6067
6266
|
}
|
|
6068
6267
|
/* override form-text-fields.css style that hides placeholder when inputs are focused */
|
|
6069
6268
|
.bs-dropdown-filter-input::-moz-placeholder {
|
|
@@ -6087,14 +6286,19 @@ a.bs-text-button {
|
|
|
6087
6286
|
box-shadow: 0px 0px 0px 1px inset var(--bs-primary-base);
|
|
6088
6287
|
}
|
|
6089
6288
|
/* -- SIZING -- */
|
|
6090
|
-
|
|
6091
|
-
|
|
6092
|
-
|
|
6093
|
-
|
|
6094
|
-
|
|
6095
|
-
|
|
6096
|
-
.bs-dropdown:where([data-size="
|
|
6097
|
-
|
|
6289
|
+
/* Only applies to non-mobile */
|
|
6290
|
+
@media (min-width: 1166px) {
|
|
6291
|
+
.bs-dropdown:where([data-size="sm"]) {
|
|
6292
|
+
--bs-popover-width: 10rem; /* 160px */
|
|
6293
|
+
}
|
|
6294
|
+
|
|
6295
|
+
.bs-dropdown:where([data-size="md"]) {
|
|
6296
|
+
--bs-popover-width: 20rem; /* 320px */
|
|
6297
|
+
}
|
|
6298
|
+
|
|
6299
|
+
.bs-dropdown:where([data-size="lg"]) {
|
|
6300
|
+
--bs-popover-width: 28rem; /* 448px */
|
|
6301
|
+
}
|
|
6098
6302
|
}
|
|
6099
6303
|
/*
|
|
6100
6304
|
HEADS-UP:
|
|
@@ -6102,16 +6306,14 @@ a.bs-text-button {
|
|
|
6102
6306
|
so some of these styles are there to override those defaults.
|
|
6103
6307
|
*/
|
|
6104
6308
|
.bs-tooltip {
|
|
6309
|
+
display: block;
|
|
6105
6310
|
padding: var(--bs-space-4);
|
|
6106
6311
|
font-size: var(--bs-text-sm);
|
|
6107
|
-
color: var(--bs-ink-
|
|
6312
|
+
color: var(--bs-ink-accent-2);
|
|
6108
6313
|
text-align: center;
|
|
6109
6314
|
line-height: var(--bs-leading-lg);
|
|
6110
6315
|
background-color: var(--bs-bg-base-to-medium);
|
|
6111
6316
|
}
|
|
6112
|
-
.dark :where(.bs-tooltip) {
|
|
6113
|
-
color: var(--bs-ink-base);
|
|
6114
|
-
}
|
|
6115
6317
|
/* Prevent tiny empty tooltip from showing if empty string is rendered into slot. */
|
|
6116
6318
|
.bs-tooltip:where(:empty) {
|
|
6117
6319
|
display: none;
|