baseline-foundry 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -9
- package/config/experiments/ibm-plex-engine-smoke.json +1 -1
- package/config/experiments/ubuntu-engine-smoke.json +1 -1
- package/config/foundation-theme.json +1 -1
- package/config/tiers/app.json +6 -6
- package/config/tiers/documentation.json +2 -2
- package/config/tiers/editorial.json +1 -1
- package/config/tiers/os.json +6 -6
- package/dist/baseline-grid-overlay.js +2 -2
- package/dist/build.js +4 -4
- package/dist/code-snippet.js +1 -1
- package/dist/css-app-tier.js +16 -5
- package/dist/css-components/article-pagination.js +9 -8
- package/dist/css-components/button-actions.js +24 -4
- package/dist/css-components/cards-options.js +8 -8
- package/dist/css-components/chip-badge-status.d.ts +0 -3
- package/dist/css-components/chip-badge-status.js +57 -10
- package/dist/css-components/content-card.d.ts +7 -7
- package/dist/css-components/content-card.js +17 -16
- package/dist/css-components/control-row.d.ts +1 -1
- package/dist/css-components/control-row.js +1 -1
- package/dist/css-components/document-navigation.js +66 -29
- package/dist/css-components/editorial-content.js +1 -1
- package/dist/css-components/interactive-feedback.js +50 -28
- package/dist/css-components/interactive-tables.js +13 -8
- package/dist/css-components/legacy-navigation.d.ts +0 -1
- package/dist/css-components/legacy-navigation.js +108 -32
- package/dist/css-components/linked-logo-site-layout.d.ts +3 -3
- package/dist/css-components/linked-logo-site-layout.js +17 -20
- package/dist/css-components/list-tree.js +21 -19
- package/dist/css-components/list.js +9 -7
- package/dist/css-components/logo-media.d.ts +6 -6
- package/dist/css-components/logo-media.js +38 -27
- package/dist/css-components/navigation-layout.js +6 -8
- package/dist/css-components/panel.js +12 -12
- package/dist/css-components/search-box-and-filter.d.ts +0 -1
- package/dist/css-components/search-box-and-filter.js +18 -19
- package/dist/css-components/sites-editorial-ports.d.ts +3 -4
- package/dist/css-components/sites-editorial-ports.js +61 -29
- package/dist/css-components/sites-foundation.js +15 -19
- package/dist/css-components/sites-rich-lists.d.ts +5 -5
- package/dist/css-components/sites-rich-lists.js +26 -36
- package/dist/css-components/static-content-ports.d.ts +3 -3
- package/dist/css-components/static-content-ports.js +51 -37
- package/dist/css-components/tab-section.d.ts +3 -3
- package/dist/css-components/tab-section.js +34 -26
- package/dist/css-components/table.js +4 -7
- package/dist/css-components/tabs-choice-breadcrumbs.js +25 -21
- package/dist/css-components/tiered-list-equal-height-row.js +10 -10
- package/dist/css-components.js +243 -124
- package/dist/css-grid.d.ts +1 -1
- package/dist/css-grid.js +18 -8
- package/dist/css.js +94 -18
- package/dist/experiments/ibm-plex-engine-smoke/styles.css +1005 -563
- package/dist/experiments/ibm-plex-engine-smoke/surfaces.json +2 -2
- package/dist/experiments/ibm-plex-engine-smoke/tokens.json +1 -1
- package/dist/in-page-navigation.js +1 -1
- package/dist/presets/app-tier/styles.css +1046 -593
- package/dist/presets/app-tier/surfaces.json +17 -17
- package/dist/presets/app-tier/tokens.json +7 -7
- package/dist/presets/prose/styles.css +1036 -587
- package/dist/presets/prose/surfaces.json +17 -17
- package/dist/presets/prose/tokens.json +1 -1
- package/dist/resizable-aside.js +12 -4
- package/dist/styles.css +1036 -587
- package/dist/surfaces.json +17 -17
- package/dist/tiers/app/styles.css +1046 -593
- package/dist/tiers/app/surfaces.json +17 -17
- package/dist/tiers/app/tokens.json +7 -7
- package/dist/tiers/documentation/styles.css +1037 -588
- package/dist/tiers/documentation/surfaces.json +17 -17
- package/dist/tiers/documentation/tokens.json +2 -2
- package/dist/tiers/editorial/styles.css +1036 -587
- package/dist/tiers/editorial/surfaces.json +17 -17
- package/dist/tiers/editorial/tokens.json +1 -1
- package/dist/tiers/os/styles.css +1042 -593
- package/dist/tiers/os/surfaces.json +17 -17
- package/dist/tiers/os/tokens.json +7 -7
- package/dist/tokens.json +1 -1
- package/dist/types.d.ts +1 -1
- package/docs/publishing.md +1 -1
- package/package.json +2 -2
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
background-image: linear-gradient(
|
|
11
11
|
to top,
|
|
12
12
|
var(--bf-baseline-grid-color),
|
|
13
|
-
var(--bf-baseline-grid-color)
|
|
14
|
-
transparent
|
|
13
|
+
var(--bf-baseline-grid-color) 0.0625rem,
|
|
14
|
+
transparent 0.0625rem,
|
|
15
15
|
transparent
|
|
16
16
|
);
|
|
17
17
|
background-size: 100% var(--bf-baseline-grid-size);
|
|
@@ -279,7 +279,7 @@ html.u-baseline-grid::after {
|
|
|
279
279
|
--bf-space-8: calc(var(--bf-baseline) * 8);
|
|
280
280
|
--bf-space-12: calc(var(--bf-baseline) * 12);
|
|
281
281
|
--bf-space-16: calc(var(--bf-baseline) * 16);
|
|
282
|
-
--bf-content-max-width:
|
|
282
|
+
--bf-content-max-width: 80rem;
|
|
283
283
|
--bf-content-padding-inline: 1.5rem;
|
|
284
284
|
--bf-measure: 38rem;
|
|
285
285
|
--bf-section-space: 3rem;
|
|
@@ -395,13 +395,13 @@ html.u-baseline-grid::after {
|
|
|
395
395
|
--bf-space-8: calc(var(--bf-baseline) * 8);
|
|
396
396
|
--bf-space-12: calc(var(--bf-baseline) * 12);
|
|
397
397
|
--bf-space-16: calc(var(--bf-baseline) * 16);
|
|
398
|
-
--bf-content-max-width:
|
|
398
|
+
--bf-content-max-width: 60rem;
|
|
399
399
|
--bf-content-padding-inline: 1rem;
|
|
400
400
|
--bf-measure: 40rem;
|
|
401
401
|
--bf-section-space: 1rem;
|
|
402
402
|
--bf-section-space-shallow: 0.5rem;
|
|
403
403
|
--bf-section-space-deep: 2rem;
|
|
404
|
-
--bf-strip-space:
|
|
404
|
+
--bf-strip-space: 3rem;
|
|
405
405
|
--bf-grid-gap-inline: 1.5rem;
|
|
406
406
|
--bf-grid-gap-block: 1.5rem;
|
|
407
407
|
--bf-page-margin: 2rem;
|
|
@@ -511,13 +511,13 @@ html.u-baseline-grid::after {
|
|
|
511
511
|
--bf-space-8: calc(var(--bf-baseline) * 8);
|
|
512
512
|
--bf-space-12: calc(var(--bf-baseline) * 12);
|
|
513
513
|
--bf-space-16: calc(var(--bf-baseline) * 16);
|
|
514
|
-
--bf-content-max-width:
|
|
514
|
+
--bf-content-max-width: 60rem;
|
|
515
515
|
--bf-content-padding-inline: 0.75rem;
|
|
516
516
|
--bf-measure: 30rem;
|
|
517
517
|
--bf-section-space: 3rem;
|
|
518
518
|
--bf-section-space-shallow: 1.5rem;
|
|
519
519
|
--bf-section-space-deep: 6rem;
|
|
520
|
-
--bf-strip-space:
|
|
520
|
+
--bf-strip-space: 2rem;
|
|
521
521
|
--bf-grid-gap-inline: 1rem;
|
|
522
522
|
--bf-grid-gap-block: 1rem;
|
|
523
523
|
--bf-page-margin: 1rem;
|
|
@@ -785,7 +785,7 @@ html.u-baseline-grid::after {
|
|
|
785
785
|
:where(.bf-theme) :where(a) {
|
|
786
786
|
color: var(--bf-color-link);
|
|
787
787
|
text-decoration: none;
|
|
788
|
-
text-decoration-thickness:
|
|
788
|
+
text-decoration-thickness: 0.0625rem;
|
|
789
789
|
text-underline-offset: 0.12em;
|
|
790
790
|
}
|
|
791
791
|
|
|
@@ -798,8 +798,22 @@ html.u-baseline-grid::after {
|
|
|
798
798
|
}
|
|
799
799
|
|
|
800
800
|
:where(.bf-theme) :where(a:focus-visible) {
|
|
801
|
-
outline:
|
|
802
|
-
outline-offset:
|
|
801
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
802
|
+
outline-offset: 0.125rem;
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
/* Standalone anchors need the same metric-owned text box as adjacent body
|
|
806
|
+
* controls. Raw anchors remain inline so prose links still participate in the
|
|
807
|
+
* surrounding line box. */
|
|
808
|
+
:where(.bf-theme) :where(a.bf-text-link) {
|
|
809
|
+
display: inline-block;
|
|
810
|
+
font-family: var(--bf-body-font-family);
|
|
811
|
+
font-size: var(--bf-body-font-size);
|
|
812
|
+
font-style: var(--bf-body-font-style);
|
|
813
|
+
font-weight: var(--bf-body-font-weight);
|
|
814
|
+
line-height: var(--bf-body-line-height);
|
|
815
|
+
margin-block: 0 var(--bf-body-margin-bottom);
|
|
816
|
+
padding-block: var(--bf-body-nudge-start) 0;
|
|
803
817
|
}
|
|
804
818
|
|
|
805
819
|
:where(.bf-theme) :where(code) {
|
|
@@ -810,7 +824,7 @@ html.u-baseline-grid::after {
|
|
|
810
824
|
:where(.bf-theme) :where(.bf-page) {
|
|
811
825
|
margin-inline: auto;
|
|
812
826
|
max-inline-size: var(--bf-content-max-width);
|
|
813
|
-
padding-inline:
|
|
827
|
+
padding-inline: var(--bf-page-margin);
|
|
814
828
|
}
|
|
815
829
|
|
|
816
830
|
:where(.bf-theme) :where(.bf-page.is-fill) {
|
|
@@ -893,7 +907,14 @@ html.u-baseline-grid::after {
|
|
|
893
907
|
}
|
|
894
908
|
|
|
895
909
|
:where(.bf-theme) :where(.bf-stack.is-flush) {
|
|
896
|
-
--bf-stack-space:
|
|
910
|
+
--bf-stack-space: 0rem;
|
|
911
|
+
}
|
|
912
|
+
|
|
913
|
+
/* A metric-flush stack is an explicit relationship between adjacent text
|
|
914
|
+
* roles. It retains the outer role nudges while cancelling only the preceding
|
|
915
|
+
* end compensation and following start nudge; no guessed negative gap is used. */
|
|
916
|
+
:where(.bf-theme) :where(.bf-stack.is-metric-flush) {
|
|
917
|
+
--bf-stack-space: 0rem;
|
|
897
918
|
}
|
|
898
919
|
|
|
899
920
|
:where(.bf-theme) :where(.bf-stack.is-extra-dense) {
|
|
@@ -921,10 +942,19 @@ html.u-baseline-grid::after {
|
|
|
921
942
|
}
|
|
922
943
|
|
|
923
944
|
:where(.bf-theme) :where(.bf-cluster) {
|
|
945
|
+
--bf-cluster-space: var(--bf-space-2);
|
|
924
946
|
align-items: flex-start;
|
|
925
947
|
display: flex;
|
|
926
948
|
flex-wrap: wrap;
|
|
927
|
-
gap: var(--bf-space
|
|
949
|
+
gap: var(--bf-cluster-space);
|
|
950
|
+
}
|
|
951
|
+
|
|
952
|
+
:where(.bf-theme) :where(.bf-cluster.is-dense) {
|
|
953
|
+
--bf-cluster-space: var(--bf-space-1);
|
|
954
|
+
}
|
|
955
|
+
|
|
956
|
+
:where(.bf-theme) :where(.bf-cluster.is-nowrap) {
|
|
957
|
+
flex-wrap: nowrap;
|
|
928
958
|
}
|
|
929
959
|
|
|
930
960
|
:where(.bf-theme) :where(.bf-cluster.is-split) {
|
|
@@ -1046,6 +1076,14 @@ html.u-baseline-grid::after {
|
|
|
1046
1076
|
}
|
|
1047
1077
|
|
|
1048
1078
|
|
|
1079
|
+
:where(.bf-theme) .bf-stack.is-metric-flush > :where(blockquote, p, h1, h2, h3, h4, h5, h6, .bf-body, .bf-h1, .bf-h2, .bf-h3, .bf-h4, .bf-h5, .bf-h6):has(+ :where(blockquote, p, h1, h2, h3, h4, h5, h6, .bf-body, .bf-h1, .bf-h2, .bf-h3, .bf-h4, .bf-h5, .bf-h6)) {
|
|
1080
|
+
margin-block-end: 0;
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1083
|
+
:where(.bf-theme) .bf-stack.is-metric-flush > :where(blockquote, p, h1, h2, h3, h4, h5, h6, .bf-body, .bf-h1, .bf-h2, .bf-h3, .bf-h4, .bf-h5, .bf-h6) + :where(blockquote, p, h1, h2, h3, h4, h5, h6, .bf-body, .bf-h1, .bf-h2, .bf-h3, .bf-h4, .bf-h5, .bf-h6) {
|
|
1084
|
+
padding-block-start: 0;
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1049
1087
|
/* DEMO ONLY — Cap-derived nudges are unreliable (ascender ≠ cap height).
|
|
1050
1088
|
The approximation (line-height + 1cap) / 2 drifts at larger sizes.
|
|
1051
1089
|
Kept as a reference for why metrics-derived nudges are used instead. */
|
|
@@ -1101,10 +1139,36 @@ html.u-baseline-grid::after {
|
|
|
1101
1139
|
|
|
1102
1140
|
:where(.bf-theme) :where(ul, ol) {
|
|
1103
1141
|
margin-bottom: 0;
|
|
1142
|
+
padding-block-end: 0;
|
|
1104
1143
|
}
|
|
1105
1144
|
|
|
1106
|
-
:where(.bf-theme) :where(.bf-prose
|
|
1107
|
-
padding-inline-start: var(--bf-
|
|
1145
|
+
:where(.bf-theme) :where(.bf-prose ol) {
|
|
1146
|
+
padding-inline-start: calc(var(--bf-leading-mark-group-inset) + var(--bf-leading-mark-offset) - (var(--bf-leading-mark-size) * 0.5));
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
:where(.bf-theme) :where(.bf-prose ol > li) {
|
|
1150
|
+
padding-inline-start: calc(var(--bf-leading-mark-size) * 0.5);
|
|
1151
|
+
}
|
|
1152
|
+
|
|
1153
|
+
:where(.bf-theme) :where(.bf-prose ul) {
|
|
1154
|
+
list-style: none;
|
|
1155
|
+
padding-inline-start: var(--bf-leading-mark-group-inset);
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1158
|
+
:where(.bf-theme) :where(.bf-prose ul > li) {
|
|
1159
|
+
padding-inline-start: var(--bf-leading-mark-offset);
|
|
1160
|
+
position: relative;
|
|
1161
|
+
}
|
|
1162
|
+
|
|
1163
|
+
:where(.bf-theme) :where(.bf-prose ul > li)::before {
|
|
1164
|
+
background: currentColor;
|
|
1165
|
+
block-size: var(--bf-list-marker-dot-size);
|
|
1166
|
+
border-radius: 50%;
|
|
1167
|
+
content: "";
|
|
1168
|
+
inline-size: var(--bf-list-marker-dot-size);
|
|
1169
|
+
inset-block-start: calc(var(--bf-tick-box-offset) + ((var(--bf-leading-mark-size) - var(--bf-list-marker-dot-size)) * 0.5));
|
|
1170
|
+
inset-inline-start: calc((var(--bf-leading-mark-size) - var(--bf-list-marker-dot-size)) * 0.5);
|
|
1171
|
+
position: absolute;
|
|
1108
1172
|
}
|
|
1109
1173
|
|
|
1110
1174
|
:where(.bf-theme) :where(.bf-prose li) {
|
|
@@ -1114,39 +1178,37 @@ html.u-baseline-grid::after {
|
|
|
1114
1178
|
}
|
|
1115
1179
|
|
|
1116
1180
|
:where(.bf-theme) :where(.bf-prose blockquote) {
|
|
1117
|
-
|
|
1118
|
-
color: var(--bf-color-muted);
|
|
1181
|
+
color: var(--bf-color-text-default);
|
|
1119
1182
|
font-family: var(--bf-body-font-family, "Ubuntu Sans", "Segoe UI", system-ui, sans-serif);
|
|
1120
1183
|
font-size: var(--bf-body-font-size, 1rem);
|
|
1121
1184
|
font-style: var(--bf-body-font-style, normal);
|
|
1122
1185
|
font-weight: var(--bf-body-font-weight, 400);
|
|
1123
1186
|
line-height: var(--bf-body-line-height, 1.5rem);
|
|
1124
1187
|
margin-bottom: var(--bf-body-margin-bottom, 0.09rem);
|
|
1125
|
-
max-inline-size:
|
|
1188
|
+
max-inline-size: var(--bf-measure);
|
|
1126
1189
|
padding-block-end: 0rem;
|
|
1127
1190
|
padding-block-start: var(--bf-body-nudge-start, 0.41rem);
|
|
1128
|
-
padding-inline-start: var(--bf-space-3);
|
|
1129
1191
|
}
|
|
1130
1192
|
|
|
1131
|
-
:where(.bf-theme) :where(
|
|
1193
|
+
:where(.bf-theme) :where(hr) {
|
|
1132
1194
|
background: var(--bf-color-rule);
|
|
1133
|
-
block-size:
|
|
1195
|
+
block-size: 0.0625rem;
|
|
1134
1196
|
border: 0;
|
|
1135
1197
|
inline-size: 100%;
|
|
1136
1198
|
/* Reserve one half-rem rhythm step after the rule, including its */
|
|
1137
1199
|
/* thickness, so borderless content does not touch the divider. */
|
|
1138
|
-
margin: 0 0 calc(0.5rem -
|
|
1200
|
+
margin: 0 0 calc(0.5rem - 0.0625rem);
|
|
1139
1201
|
}
|
|
1140
1202
|
|
|
1141
1203
|
/* Highlight rules share the same scalable emphasis-bar geometry as active
|
|
1142
1204
|
* navigation, tabs, notifications, and document-navigation markers. */
|
|
1143
|
-
:where(.bf-theme) :where(
|
|
1205
|
+
:where(.bf-theme) :where(hr.is-highlighted) {
|
|
1144
1206
|
block-size: var(--bf-bar-thickness);
|
|
1145
1207
|
margin-block-end: calc(0.5rem - var(--bf-bar-thickness));
|
|
1146
1208
|
}
|
|
1147
1209
|
|
|
1148
1210
|
:where(.bf-theme) :where(.bf-token-row) {
|
|
1149
|
-
border-top:
|
|
1211
|
+
border-top: 0.0625rem solid var(--bf-color-rule);
|
|
1150
1212
|
display: grid;
|
|
1151
1213
|
gap: var(--bf-space-1);
|
|
1152
1214
|
padding-top: var(--bf-space-2);
|
|
@@ -1158,7 +1220,7 @@ html.u-baseline-grid::after {
|
|
|
1158
1220
|
}
|
|
1159
1221
|
|
|
1160
1222
|
:where(.bf-theme) {
|
|
1161
|
-
--bf-border-width:
|
|
1223
|
+
--bf-border-width: 0.0625rem;
|
|
1162
1224
|
--bf-bar-thickness: 0.1875rem;
|
|
1163
1225
|
--bf-radius: 0rem;
|
|
1164
1226
|
--bf-control-block-padding: 0.5rem;
|
|
@@ -1176,22 +1238,48 @@ html.u-baseline-grid::after {
|
|
|
1176
1238
|
/* Action surfaces keep comfortable command targets; field surfaces can tighten independently. */
|
|
1177
1239
|
--bf-disclosure-gap: 1rem;
|
|
1178
1240
|
--bf-disclosure-icon-inline-size: 1rem;
|
|
1241
|
+
--bf-icon-label-inline-offset: calc(var(--bf-disclosure-icon-inline-size) + var(--bf-disclosure-gap));
|
|
1242
|
+
--bf-disclosure-label-inline-offset: var(--bf-icon-label-inline-offset);
|
|
1243
|
+
/* Every component-owned inline start resolves to one of these three rails.
|
|
1244
|
+
Field and action values remain tier inputs; continuation is the shared
|
|
1245
|
+
icon/mark-to-copy line. Structural page, grid and navigation-depth offsets
|
|
1246
|
+
are deliberately outside this component inset contract. */
|
|
1247
|
+
--bf-component-inline-inset-field: var(--bf-control-inline-padding-field);
|
|
1248
|
+
--bf-component-inline-inset-action: var(--bf-control-inline-padding-action);
|
|
1249
|
+
--bf-component-inline-inset-continuation: var(--bf-disclosure-label-inline-offset);
|
|
1179
1250
|
--bf-input-block-padding: var(--bf-body-nudge-start, 0.41rem);
|
|
1180
1251
|
--bf-button-block-padding: var(--bf-body-nudge-start, 0.41rem);
|
|
1252
|
+
/* One border-aware occupied-block contract for body-sized, single-line UI.
|
|
1253
|
+
Components may paint their block borders differently, but their text line,
|
|
1254
|
+
padding and trailing baseline compensation must resolve through this pair. */
|
|
1255
|
+
--bf-single-line-row-padding-block: max(0rem, calc(var(--bf-button-block-padding) - var(--bf-border-width)));
|
|
1256
|
+
--bf-single-line-row-margin-block-end: calc(0rem + mod(calc(var(--bf-baseline) - mod(calc(var(--bf-body-line-height, 1.5rem) + (var(--bf-button-block-padding) * 2)), var(--bf-baseline))), var(--bf-baseline)));
|
|
1257
|
+
--bf-single-line-row-block-size: calc(var(--bf-body-line-height, 1.5rem) + (var(--bf-single-line-row-padding-block) * 2) + (var(--bf-border-width) * 2) + var(--bf-single-line-row-margin-block-end));
|
|
1258
|
+
--bf-single-line-row-in-box-padding-block-start: var(--bf-body-nudge-start, 0.41rem);
|
|
1259
|
+
--bf-single-line-row-in-box-padding-block-end: max(0rem, calc(var(--bf-single-line-row-block-size) - var(--bf-body-line-height, 1.5rem) - var(--bf-single-line-row-in-box-padding-block-start)));
|
|
1260
|
+
--bf-single-line-row-visual-offset: calc(var(--bf-body-nudge-start, 0.41rem) + ((var(--bf-body-line-height, 1.5rem) - var(--bf-control-visual-size)) / 2));
|
|
1261
|
+
/* Auxiliary surfaces may opt into a host-owned nested composition. The
|
|
1262
|
+
shorter line and capped symmetric padding fit their complete paint inside
|
|
1263
|
+
the host body line without introducing a second row rhythm. */
|
|
1264
|
+
--bf-nested-auxiliary-line-height: max(1em, calc(var(--bf-body-line-height) - var(--bf-baseline)));
|
|
1265
|
+
--bf-nested-auxiliary-padding-block: min(var(--bf-single-line-row-padding-block), max(0rem, calc((var(--bf-body-line-height) - var(--bf-nested-auxiliary-line-height)) / 2)));
|
|
1181
1266
|
--bf-slider-track-size: calc(var(--bf-baseline) * 0.25);
|
|
1182
|
-
--bf-slider-row-block-size:
|
|
1267
|
+
--bf-slider-row-block-size: var(--bf-single-line-row-block-size);
|
|
1183
1268
|
--bf-slider-track-offset: calc(var(--bf-body-nudge-start, 0.41rem) + ((var(--bf-body-line-height, 1.5rem) - var(--bf-slider-track-size)) / 2));
|
|
1184
1269
|
--bf-table-row-border-size: var(--bf-border-width);
|
|
1185
|
-
--bf-table-row-padding: var(--bf-
|
|
1186
|
-
--bf-table-row-
|
|
1187
|
-
--bf-table-row-block-
|
|
1188
|
-
--bf-table-row-line-height:
|
|
1189
|
-
--bf-switch-
|
|
1190
|
-
--bf-
|
|
1191
|
-
--bf-
|
|
1192
|
-
--bf-
|
|
1193
|
-
--bf-
|
|
1194
|
-
--bf-
|
|
1270
|
+
--bf-table-row-padding-block-start: var(--bf-single-line-row-in-box-padding-block-start);
|
|
1271
|
+
--bf-table-row-block-size: var(--bf-single-line-row-block-size);
|
|
1272
|
+
--bf-table-row-padding-block-end: max(0rem, calc(var(--bf-table-row-block-size) - var(--bf-body-line-height, 1.5rem) - var(--bf-table-row-padding-block-start) - var(--bf-table-row-border-size)));
|
|
1273
|
+
--bf-table-row-line-height: var(--bf-body-line-height, 1.5rem);
|
|
1274
|
+
--bf-switch-track-offset: var(--bf-single-line-row-visual-offset);
|
|
1275
|
+
--bf-tick-box-offset: var(--bf-single-line-row-visual-offset);
|
|
1276
|
+
--bf-leading-mark-size: var(--bf-control-visual-size);
|
|
1277
|
+
--bf-leading-mark-gap: var(--bf-component-inline-inset-field);
|
|
1278
|
+
--bf-leading-mark-offset: calc(var(--bf-leading-mark-size) + var(--bf-leading-mark-gap));
|
|
1279
|
+
--bf-leading-mark-group-inset: calc(var(--bf-component-inline-inset-continuation) - var(--bf-leading-mark-offset));
|
|
1280
|
+
--bf-tick-label-offset: var(--bf-leading-mark-offset);
|
|
1281
|
+
--bf-radio-dot-size: calc((var(--bf-control-visual-size) * 0.375) + var(--bf-border-width));
|
|
1282
|
+
--bf-list-marker-dot-size: calc(var(--bf-border-width) * 4);
|
|
1195
1283
|
--bf-app-drawer-width-icon: 2rem;
|
|
1196
1284
|
--bf-app-drawer-width-small: 15rem;
|
|
1197
1285
|
--bf-app-drawer-width-small-max: 20rem;
|
|
@@ -1203,7 +1291,9 @@ html.u-baseline-grid::after {
|
|
|
1203
1291
|
--bf-app-aside-width-max: var(--bf-app-drawer-width-medium-max);
|
|
1204
1292
|
--bf-app-navigation-width: 15rem;
|
|
1205
1293
|
--bf-app-navigation-width-collapsed: 3rem;
|
|
1206
|
-
--bf-
|
|
1294
|
+
--bf-icon-label-optical-offset-block: 0.1875rem;
|
|
1295
|
+
--bf-disclosure-icon-optical-offset-block: var(--bf-icon-label-optical-offset-block);
|
|
1296
|
+
--bf-side-navigation-icon-optical-offset-block: var(--bf-icon-label-optical-offset-block);
|
|
1207
1297
|
--bf-side-navigation-icon-gap: 0.625rem;
|
|
1208
1298
|
--bf-navigation-bar-min-block-size: calc(var(--bf-baseline) * 6);
|
|
1209
1299
|
--bf-authoring-accent: #f6b73c;
|
|
@@ -1216,9 +1306,10 @@ html.u-baseline-grid::after {
|
|
|
1216
1306
|
--bf-authoring-accent-focus-ring: rgba(246, 183, 60, 0.55);
|
|
1217
1307
|
--bf-application-resize-handle-active: var(--bf-authoring-accent-strong);
|
|
1218
1308
|
--bf-application-resize-handle-focus-ring: var(--bf-authoring-accent-focus-ring);
|
|
1219
|
-
--bf-
|
|
1220
|
-
--bf-top-navigation-
|
|
1221
|
-
--bf-top-navigation-
|
|
1309
|
+
--bf-control-inline-padding-action-bordered: max(0rem, calc(var(--bf-component-inline-inset-action) - var(--bf-border-width)));
|
|
1310
|
+
--bf-top-navigation-link-padding-inline: var(--bf-component-inline-inset-action);
|
|
1311
|
+
--bf-top-navigation-end-slot-inline-size: calc(1rem + var(--bf-component-inline-inset-field));
|
|
1312
|
+
--bf-top-navigation-search-toggle-inline-size: calc(1rem + (var(--bf-component-inline-inset-field) * 2));
|
|
1222
1313
|
--bf-top-navigation-link-padding-block: max(var(--bf-body-nudge-start), calc(var(--bf-baseline) * 1.5));
|
|
1223
1314
|
--bf-top-navigation-search-max-inline-size: 20rem;
|
|
1224
1315
|
--bf-top-navigation-logo-tag-inline-size: 1.375rem;
|
|
@@ -1227,18 +1318,18 @@ html.u-baseline-grid::after {
|
|
|
1227
1318
|
--bf-top-navigation-logo-tag-gap: 0.25rem;
|
|
1228
1319
|
--bf-top-navigation-logo-icon-bottom-offset: 0.375rem;
|
|
1229
1320
|
--bf-top-navigation-logo-icon-optical-offset-inline: -0.0125rem;
|
|
1230
|
-
--bf-navigation-brand-
|
|
1321
|
+
--bf-navigation-brand-line-center-block: calc(var(--bf-top-navigation-logo-tag-block-size) - var(--bf-top-navigation-logo-icon-bottom-offset) - (var(--bf-top-navigation-logo-icon-size) / 2));
|
|
1322
|
+
--bf-navigation-brand-block-size: calc(var(--bf-navigation-brand-line-center-block) * 2);
|
|
1231
1323
|
--bf-icon-size-default: 1rem;
|
|
1232
1324
|
--bf-icon-size-medium: 2.5rem;
|
|
1233
1325
|
--bf-icon-size-large: 4rem;
|
|
1234
1326
|
--bf-icon-size-x-large: 4.5rem;
|
|
1235
1327
|
--bf-icon-size-xx-large: 6rem;
|
|
1236
|
-
--bf-leading-icon-size:
|
|
1237
|
-
--bf-leading-icon-gap:
|
|
1238
|
-
--bf-leading-icon-offset:
|
|
1239
|
-
--bf-ui-chip-padding-inline:
|
|
1240
|
-
--bf-ui-chip-
|
|
1241
|
-
--bf-ui-chip-block-size: calc(var(--bf-body-line-height, 1.5rem) + (var(--bf-ui-chip-padding-block) * 2) + (var(--bf-border-width) * 2));
|
|
1328
|
+
--bf-leading-icon-size: var(--bf-leading-mark-size);
|
|
1329
|
+
--bf-leading-icon-gap: var(--bf-leading-mark-gap);
|
|
1330
|
+
--bf-leading-icon-offset: var(--bf-single-line-row-visual-offset);
|
|
1331
|
+
--bf-ui-chip-padding-inline: var(--bf-component-inline-inset-field);
|
|
1332
|
+
--bf-ui-chip-radius: 999rem;
|
|
1242
1333
|
--bf-ui-badge-padding-inline: calc(var(--bf-body-line-height, 1.5rem) * 0.25);
|
|
1243
1334
|
--bf-ui-badge-overhang: calc(var(--bf-ui-badge-padding-inline) * -0.75);
|
|
1244
1335
|
--bf-grid-max-inline-size: var(--bf-content-max-width);
|
|
@@ -1301,6 +1392,7 @@ html.u-baseline-grid::after {
|
|
|
1301
1392
|
--bf-color-focus: var(--vf-color-focus, #2e96ff);
|
|
1302
1393
|
|
|
1303
1394
|
--bf-ui-icon-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.25 6.25 8 10l3.75-3.75'/%3E%3C/svg%3E");
|
|
1395
|
+
--bf-ui-icon-number-stepper: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.25 5.75 8 2l3.75 3.75M4.25 10.25 8 14l3.75-3.75'/%3E%3C/svg%3E");
|
|
1304
1396
|
--bf-ui-icon-close: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.25 4.25 11.75 11.75M11.75 4.25 4.25 11.75' fill='none' stroke='%23111' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
|
|
1305
1397
|
--bf-ui-icon-error-grey: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 1.52588e-05C12.4183 1.52588e-05 16 3.58174 16 8.00002C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8.00002C0 3.58174 3.58172 1.52588e-05 8 1.52588e-05ZM10.2821 4.63808L11.3427 5.69874L9.05007 7.99008L11.3427 10.2821L10.2821 11.3427L7.99007 9.05008L5.69873 11.3427L4.63807 10.2821L6.92907 7.99008L4.63807 5.69874L5.69873 4.63808L7.99007 6.92908L10.2821 4.63808ZM1.5 8.00002C1.5 4.41016 4.41015 1.50002 8 1.50002C11.5899 1.50002 14.5 4.41016 14.5 8.00002C14.5 11.5899 11.5899 14.5 8 14.5C4.41015 14.5 1.5 11.5899 1.5 8.00002Z' fill='%23111' fill-rule='evenodd'/%3E%3C/svg%3E");
|
|
1306
1398
|
--bf-ui-icon-search: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.964 1a5.964 5.964 0 014.709 9.623l4.303 4.305-1.06 1.06-4.306-4.305A5.964 5.964 0 116.963 1zm0 1.5a4.464 4.464 0 100 8.927 4.464 4.464 0 000-8.927z' fill='%23111' fill-rule='nonzero'/%3E%3C/svg%3E");
|
|
@@ -1325,11 +1417,9 @@ html.u-baseline-grid::after {
|
|
|
1325
1417
|
}
|
|
1326
1418
|
|
|
1327
1419
|
:where(.bf-theme.bf-tier-editorial) {
|
|
1328
|
-
--bf-control-baseline-reserve: 0rem;
|
|
1329
1420
|
--bf-input-block-padding: 0.41rem;
|
|
1330
1421
|
--bf-button-block-padding: 0.41rem;
|
|
1331
|
-
--bf-
|
|
1332
|
-
--bf-border-width: 1px;
|
|
1422
|
+
--bf-border-width: 0.0625rem;
|
|
1333
1423
|
--bf-bar-thickness: 0.1875rem;
|
|
1334
1424
|
--bf-radius: 0rem;
|
|
1335
1425
|
--bf-control-block-padding: 0.5rem;
|
|
@@ -1348,11 +1438,9 @@ html.u-baseline-grid::after {
|
|
|
1348
1438
|
}
|
|
1349
1439
|
|
|
1350
1440
|
:where(.bf-theme.bf-tier-documentation) {
|
|
1351
|
-
--bf-control-baseline-reserve: 0rem;
|
|
1352
1441
|
--bf-input-block-padding: 0.0775rem;
|
|
1353
1442
|
--bf-button-block-padding: 0.0775rem;
|
|
1354
|
-
--bf-
|
|
1355
|
-
--bf-border-width: 1px;
|
|
1443
|
+
--bf-border-width: 0.0625rem;
|
|
1356
1444
|
--bf-bar-thickness: 0.1875rem;
|
|
1357
1445
|
--bf-radius: 0rem;
|
|
1358
1446
|
--bf-control-block-padding: 0.5rem;
|
|
@@ -1371,53 +1459,48 @@ html.u-baseline-grid::after {
|
|
|
1371
1459
|
}
|
|
1372
1460
|
|
|
1373
1461
|
:where(.bf-theme.bf-tier-app) {
|
|
1374
|
-
--bf-control-baseline-reserve: 0rem;
|
|
1375
1462
|
--bf-input-block-padding: 0.0775rem;
|
|
1376
1463
|
--bf-button-block-padding: 0.0775rem;
|
|
1377
|
-
--bf-
|
|
1378
|
-
--bf-border-width: 1px;
|
|
1464
|
+
--bf-border-width: 0.0625rem;
|
|
1379
1465
|
--bf-bar-thickness: 0.1875rem;
|
|
1380
1466
|
--bf-radius: 0.125rem;
|
|
1381
1467
|
--bf-control-block-padding: 0.5rem;
|
|
1382
1468
|
--bf-control-block-padding-compact: 0.375rem;
|
|
1383
1469
|
--bf-control-box-size: calc(var(--bf-body-line-height) + (var(--bf-control-block-padding) * 2));
|
|
1384
1470
|
--bf-control-box-size-compact: calc(var(--bf-body-line-height) + (var(--bf-control-block-padding-compact) * 2));
|
|
1385
|
-
--bf-control-inline-padding:
|
|
1386
|
-
--bf-control-inline-padding-action:
|
|
1471
|
+
--bf-control-inline-padding: 1rem;
|
|
1472
|
+
--bf-control-inline-padding-action: 1rem;
|
|
1387
1473
|
--bf-control-inline-padding-field: 0.25rem;
|
|
1388
1474
|
--bf-control-visual-size: 1rem;
|
|
1389
1475
|
--bf-field-gap: 0.5rem;
|
|
1390
|
-
--bf-panel-padding-inline:
|
|
1391
|
-
--bf-panel-padding-block:
|
|
1476
|
+
--bf-panel-padding-inline: 0.75rem;
|
|
1477
|
+
--bf-panel-padding-block: 0.75rem;
|
|
1392
1478
|
--bf-accordion-indent: 1.5rem;
|
|
1393
1479
|
|
|
1394
1480
|
}
|
|
1395
1481
|
|
|
1396
1482
|
:where(.bf-theme.bf-tier-os) {
|
|
1397
|
-
--bf-control-baseline-reserve: 0rem;
|
|
1398
1483
|
--bf-input-block-padding: 0.245rem;
|
|
1399
1484
|
--bf-button-block-padding: 0.245rem;
|
|
1400
|
-
--bf-
|
|
1401
|
-
--bf-border-width: 1px;
|
|
1485
|
+
--bf-border-width: 0.0625rem;
|
|
1402
1486
|
--bf-bar-thickness: 0.1875rem;
|
|
1403
1487
|
--bf-radius: 0rem;
|
|
1404
1488
|
--bf-control-block-padding: 0.375rem;
|
|
1405
1489
|
--bf-control-block-padding-compact: 0.25rem;
|
|
1406
1490
|
--bf-control-box-size: calc(var(--bf-body-line-height) + (var(--bf-control-block-padding) * 2));
|
|
1407
1491
|
--bf-control-box-size-compact: calc(var(--bf-body-line-height) + (var(--bf-control-block-padding-compact) * 2));
|
|
1408
|
-
--bf-control-inline-padding:
|
|
1409
|
-
--bf-control-inline-padding-action:
|
|
1492
|
+
--bf-control-inline-padding: 1rem;
|
|
1493
|
+
--bf-control-inline-padding-action: 1rem;
|
|
1410
1494
|
--bf-control-inline-padding-field: 0.25rem;
|
|
1411
1495
|
--bf-control-visual-size: 0.75rem;
|
|
1412
1496
|
--bf-field-gap: 0.25rem;
|
|
1413
|
-
--bf-panel-padding-inline:
|
|
1414
|
-
--bf-panel-padding-block:
|
|
1497
|
+
--bf-panel-padding-inline: 0.5rem;
|
|
1498
|
+
--bf-panel-padding-block: 0.5rem;
|
|
1415
1499
|
--bf-accordion-indent: 0.75rem;
|
|
1416
1500
|
|
|
1417
1501
|
}
|
|
1418
1502
|
|
|
1419
1503
|
|
|
1420
|
-
:where(.bf-theme.is-dark),
|
|
1421
1504
|
:where(.bf-theme.is-dark) {
|
|
1422
1505
|
--bf-color-text-default: var(--vf-color-text-default, var(--bf-color-text, #ffffff));
|
|
1423
1506
|
--bf-color-text-muted: var(--vf-color-text-muted, var(--bf-color-muted, rgba(255, 255, 255, 0.6)));
|
|
@@ -1467,6 +1550,7 @@ html.u-baseline-grid::after {
|
|
|
1467
1550
|
--bf-color-focus: var(--vf-color-focus, #99ccff);
|
|
1468
1551
|
|
|
1469
1552
|
--bf-ui-icon-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.25 6.25 8 10l3.75-3.75'/%3E%3C/svg%3E");
|
|
1553
|
+
--bf-ui-icon-number-stepper: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.25 5.75 8 2l3.75 3.75M4.25 10.25 8 14l3.75-3.75'/%3E%3C/svg%3E");
|
|
1470
1554
|
--bf-ui-icon-close: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.25 4.25 11.75 11.75M11.75 4.25 4.25 11.75' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
|
|
1471
1555
|
--bf-ui-icon-error-grey: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 1.52588e-05C12.4183 1.52588e-05 16 3.58174 16 8.00002C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8.00002C0 3.58174 3.58172 1.52588e-05 8 1.52588e-05ZM10.2821 4.63808L11.3427 5.69874L9.05007 7.99008L11.3427 10.2821L10.2821 11.3427L7.99007 9.05008L5.69873 11.3427L4.63807 10.2821L6.92907 7.99008L4.63807 5.69874L5.69873 4.63808L7.99007 6.92908L10.2821 4.63808ZM1.5 8.00002C1.5 4.41016 4.41015 1.50002 8 1.50002C11.5899 1.50002 14.5 4.41016 14.5 8.00002C14.5 11.5899 11.5899 14.5 8 14.5C4.41015 14.5 1.5 11.5899 1.5 8.00002Z' fill='%23fff' fill-rule='evenodd'/%3E%3C/svg%3E");
|
|
1472
1556
|
--bf-ui-icon-search: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.964 1a5.964 5.964 0 014.709 9.623l4.303 4.305-1.06 1.06-4.306-4.305A5.964 5.964 0 116.963 1zm0 1.5a4.464 4.464 0 100 8.927 4.464 4.464 0 000-8.927z' fill='%23fff' fill-rule='nonzero'/%3E%3C/svg%3E");
|
|
@@ -1560,6 +1644,10 @@ html.u-baseline-grid::after {
|
|
|
1560
1644
|
grid-template-columns: minmax(0, 1fr);
|
|
1561
1645
|
}
|
|
1562
1646
|
|
|
1647
|
+
:where(.bf-theme) :where(.bf-field.is-range.is-stacked) > :where(.bf-control, .bf-form-help) {
|
|
1648
|
+
grid-column: 1;
|
|
1649
|
+
}
|
|
1650
|
+
|
|
1563
1651
|
:where(.bf-theme) :where(.bf-field.is-range.is-stacked) > :where(.bf-control) {
|
|
1564
1652
|
min-inline-size: 0;
|
|
1565
1653
|
}
|
|
@@ -1577,7 +1665,7 @@ html.u-baseline-grid::after {
|
|
|
1577
1665
|
margin: 0;
|
|
1578
1666
|
min-inline-size: 0;
|
|
1579
1667
|
padding-block-end: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
1580
|
-
padding-inline: var(--bf-
|
|
1668
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
1581
1669
|
padding-block-start: var(--bf-panel-padding-block);
|
|
1582
1670
|
}
|
|
1583
1671
|
|
|
@@ -1604,13 +1692,36 @@ html.u-baseline-grid::after {
|
|
|
1604
1692
|
min-inline-size: 0;
|
|
1605
1693
|
margin-bottom: calc(0rem + mod(calc(var(--bf-baseline) - mod(calc(var(--bf-body-line-height, 1.5rem) + (var(--bf-input-block-padding) * 2)), var(--bf-baseline))), var(--bf-baseline)));
|
|
1606
1694
|
padding-block: max(0rem, calc(var(--bf-input-block-padding) - var(--bf-border-width)));
|
|
1607
|
-
padding-inline: var(--bf-
|
|
1695
|
+
padding-inline: var(--bf-component-inline-inset-field);
|
|
1608
1696
|
}
|
|
1609
1697
|
|
|
1610
|
-
:where(.bf-theme) :where(
|
|
1698
|
+
:where(.bf-theme) :where(.bf-color-control) {
|
|
1699
|
+
display: grid;
|
|
1700
|
+
grid-template-areas: "color-control";
|
|
1611
1701
|
inline-size: 4rem;
|
|
1612
|
-
|
|
1613
|
-
|
|
1702
|
+
}
|
|
1703
|
+
|
|
1704
|
+
/* Native color inputs do not expose a body-text line box. This invisible
|
|
1705
|
+
metric strut gives their wrapper the same natural padding/border/margin
|
|
1706
|
+
construction as every textual control, including under browser zoom. */
|
|
1707
|
+
:where(.bf-theme) :where(.bf-color-control)::before {
|
|
1708
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
1709
|
+
content: "\00a0";
|
|
1710
|
+
grid-area: color-control;
|
|
1711
|
+
line-height: var(--bf-body-line-height);
|
|
1712
|
+
margin-bottom: var(--bf-single-line-row-margin-block-end);
|
|
1713
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
1714
|
+
visibility: hidden;
|
|
1715
|
+
}
|
|
1716
|
+
|
|
1717
|
+
:where(.bf-theme) :where(.bf-color-control) > :where(input[type='color'].bf-color-input) {
|
|
1718
|
+
align-self: stretch;
|
|
1719
|
+
block-size: auto;
|
|
1720
|
+
grid-area: color-control;
|
|
1721
|
+
inline-size: 100%;
|
|
1722
|
+
margin-bottom: var(--bf-single-line-row-margin-block-end);
|
|
1723
|
+
min-block-size: 0;
|
|
1724
|
+
padding: var(--bf-border-width);
|
|
1614
1725
|
}
|
|
1615
1726
|
|
|
1616
1727
|
:where(.bf-theme) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):hover {
|
|
@@ -1623,8 +1734,8 @@ html.u-baseline-grid::after {
|
|
|
1623
1734
|
|
|
1624
1735
|
:where(.bf-theme) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):focus-visible {
|
|
1625
1736
|
background-color: var(--bf-color-background-active);
|
|
1626
|
-
outline:
|
|
1627
|
-
outline-offset:
|
|
1737
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
1738
|
+
outline-offset: 0.125rem;
|
|
1628
1739
|
}
|
|
1629
1740
|
|
|
1630
1741
|
:where(.bf-theme) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):disabled {
|
|
@@ -1651,13 +1762,12 @@ html.u-baseline-grid::after {
|
|
|
1651
1762
|
line-height: var(--bf-body-line-height, 1.5rem);
|
|
1652
1763
|
background: transparent;
|
|
1653
1764
|
border: 0 solid transparent;
|
|
1654
|
-
|
|
1655
|
-
border-top: var(--bf-border-width) solid transparent;
|
|
1765
|
+
box-shadow: inset 0 calc(var(--bf-border-width) * -1) 0 var(--bf-color-border-default);
|
|
1656
1766
|
color: var(--bf-color-text-default);
|
|
1657
1767
|
margin-bottom: calc(0rem + mod(calc(var(--bf-baseline) - mod(calc(var(--bf-body-line-height, 1.5rem) + (var(--bf-input-block-padding) * 2)), var(--bf-baseline))), var(--bf-baseline)));
|
|
1658
1768
|
max-inline-size: 100%;
|
|
1659
1769
|
min-inline-size: 0;
|
|
1660
|
-
padding-block:
|
|
1770
|
+
padding-block: 0;
|
|
1661
1771
|
padding-inline: 0;
|
|
1662
1772
|
width: 100%;
|
|
1663
1773
|
}
|
|
@@ -1675,9 +1785,9 @@ html.u-baseline-grid::after {
|
|
|
1675
1785
|
color: var(--bf-color-text-default);
|
|
1676
1786
|
cursor: pointer;
|
|
1677
1787
|
margin-inline-end: var(--bf-field-gap);
|
|
1678
|
-
min-block-size:
|
|
1679
|
-
padding-block:
|
|
1680
|
-
padding-inline: var(--bf-control-inline-padding-action);
|
|
1788
|
+
min-block-size: 0;
|
|
1789
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
1790
|
+
padding-inline: var(--bf-control-inline-padding-action-bordered);
|
|
1681
1791
|
}
|
|
1682
1792
|
|
|
1683
1793
|
:where(.bf-theme) :where(input[type='file'])::file-selector-button:hover {
|
|
@@ -1686,16 +1796,31 @@ html.u-baseline-grid::after {
|
|
|
1686
1796
|
|
|
1687
1797
|
:where(.bf-theme) :where(select) {
|
|
1688
1798
|
background-image: var(--bf-ui-icon-chevron-down);
|
|
1689
|
-
background-position: right var(--bf-
|
|
1799
|
+
background-position: right var(--bf-component-inline-inset-field) center;
|
|
1690
1800
|
background-repeat: no-repeat;
|
|
1691
1801
|
background-size: 1rem 1rem;
|
|
1692
|
-
|
|
1802
|
+
overflow: hidden;
|
|
1803
|
+
padding-inline-end: calc(var(--bf-component-inline-inset-field) * 2.5);
|
|
1804
|
+
text-overflow: ellipsis;
|
|
1805
|
+
white-space: nowrap;
|
|
1693
1806
|
}
|
|
1694
1807
|
|
|
1695
1808
|
:where(.bf-theme) :where(input[type='number'], .bf-slider-input) {
|
|
1696
1809
|
font-variant-numeric: tabular-nums;
|
|
1697
1810
|
}
|
|
1698
1811
|
|
|
1812
|
+
/* Number fields retain their native input semantics and keyboard stepping,
|
|
1813
|
+
while one field-owned background paints the compact pair. Sharing select's
|
|
1814
|
+
1rem canvas and end position avoids a second browser-reserved spin slot. */
|
|
1815
|
+
:where(.bf-theme) :where(input[type='number']) {
|
|
1816
|
+
appearance: textfield;
|
|
1817
|
+
background-image: var(--bf-ui-icon-number-stepper);
|
|
1818
|
+
background-position: right var(--bf-component-inline-inset-field) center;
|
|
1819
|
+
background-repeat: no-repeat;
|
|
1820
|
+
background-size: 1rem 1rem;
|
|
1821
|
+
padding-inline-end: calc(var(--bf-component-inline-inset-field) * 2.5);
|
|
1822
|
+
}
|
|
1823
|
+
|
|
1699
1824
|
:where(.bf-theme) :where(.bf-slider-input) {
|
|
1700
1825
|
flex: 0 1 5rem;
|
|
1701
1826
|
inline-size: min(100%, 5rem);
|
|
@@ -1707,12 +1832,14 @@ html.u-baseline-grid::after {
|
|
|
1707
1832
|
|
|
1708
1833
|
:where(.bf-theme) :where(input[type='number'])::-webkit-inner-spin-button,
|
|
1709
1834
|
:where(.bf-theme) :where(input[type='number'])::-webkit-outer-spin-button {
|
|
1835
|
+
appearance: none;
|
|
1710
1836
|
margin: 0;
|
|
1711
1837
|
}
|
|
1712
1838
|
|
|
1713
1839
|
:where(.bf-theme) :where(.bf-checkbox, .bf-radio) {
|
|
1840
|
+
display: grid;
|
|
1714
1841
|
margin: 0;
|
|
1715
|
-
|
|
1842
|
+
padding-inline-start: var(--bf-leading-mark-group-inset);
|
|
1716
1843
|
position: relative;
|
|
1717
1844
|
}
|
|
1718
1845
|
|
|
@@ -1733,12 +1860,11 @@ html.u-baseline-grid::after {
|
|
|
1733
1860
|
font-weight: var(--bf-body-font-weight, 400);
|
|
1734
1861
|
line-height: var(--bf-body-line-height, 1.5rem);
|
|
1735
1862
|
color: var(--bf-color-text-default);
|
|
1863
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
1736
1864
|
cursor: pointer;
|
|
1737
1865
|
display: block;
|
|
1738
|
-
margin
|
|
1739
|
-
|
|
1740
|
-
padding-block-end: var(--bf-body-nudge-end);
|
|
1741
|
-
padding-block-start: var(--bf-body-nudge-start, 0.41rem);
|
|
1866
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
1867
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
1742
1868
|
padding-inline-start: var(--bf-tick-label-offset);
|
|
1743
1869
|
position: relative;
|
|
1744
1870
|
}
|
|
@@ -1769,7 +1895,7 @@ html.u-baseline-grid::after {
|
|
|
1769
1895
|
border-left: calc(var(--bf-border-width) * 2) solid var(--bf-color-background-default);
|
|
1770
1896
|
inline-size: calc(var(--bf-control-visual-size) * 0.6);
|
|
1771
1897
|
inset-inline-start: calc(var(--bf-control-visual-size) * 0.2);
|
|
1772
|
-
inset-block-start: calc(var(--bf-tick-box-offset) + (var(--bf-control-visual-size) * 0.18));
|
|
1898
|
+
inset-block-start: calc(var(--bf-tick-box-offset) + (var(--bf-control-visual-size) * 0.18) + (var(--bf-border-width) * 2));
|
|
1773
1899
|
opacity: 0;
|
|
1774
1900
|
transform: rotate(-45deg);
|
|
1775
1901
|
}
|
|
@@ -1807,20 +1933,19 @@ html.u-baseline-grid::after {
|
|
|
1807
1933
|
}
|
|
1808
1934
|
|
|
1809
1935
|
:where(.bf-theme) :where(.bf-checkbox-input:focus-visible + .bf-checkbox-label)::before {
|
|
1810
|
-
outline:
|
|
1811
|
-
outline-offset:
|
|
1936
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
1937
|
+
outline-offset: 0.125rem;
|
|
1812
1938
|
}
|
|
1813
1939
|
|
|
1814
1940
|
:where(.bf-theme) :where(.bf-radio-input:focus-visible + .bf-radio-label)::before {
|
|
1815
|
-
outline:
|
|
1816
|
-
outline-offset:
|
|
1941
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
1942
|
+
outline-offset: 0.125rem;
|
|
1817
1943
|
}
|
|
1818
1944
|
|
|
1819
1945
|
:where(.bf-theme) :where(.bf-switch) {
|
|
1820
1946
|
align-items: flex-start;
|
|
1821
1947
|
display: inline-flex;
|
|
1822
1948
|
gap: var(--bf-field-gap);
|
|
1823
|
-
min-block-size: var(--bf-switch-row-block-size);
|
|
1824
1949
|
position: relative;
|
|
1825
1950
|
}
|
|
1826
1951
|
|
|
@@ -1869,8 +1994,8 @@ html.u-baseline-grid::after {
|
|
|
1869
1994
|
}
|
|
1870
1995
|
|
|
1871
1996
|
:where(.bf-theme) :where(.bf-switch-input:focus-visible + .bf-switch-slider) {
|
|
1872
|
-
outline:
|
|
1873
|
-
outline-offset:
|
|
1997
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
1998
|
+
outline-offset: 0.125rem;
|
|
1874
1999
|
}
|
|
1875
2000
|
|
|
1876
2001
|
:where(.bf-theme) :where(.bf-switch-input:disabled + .bf-switch-slider) {
|
|
@@ -1884,11 +2009,11 @@ html.u-baseline-grid::after {
|
|
|
1884
2009
|
font-weight: var(--bf-body-font-weight, 400);
|
|
1885
2010
|
line-height: var(--bf-body-line-height, 1.5rem);
|
|
1886
2011
|
color: var(--bf-color-text-default);
|
|
2012
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
1887
2013
|
cursor: pointer;
|
|
1888
2014
|
display: inline-block;
|
|
1889
|
-
margin: 0 0 var(--bf-
|
|
1890
|
-
padding-block
|
|
1891
|
-
padding-block-start: var(--bf-body-nudge-start, 0.41rem);
|
|
2015
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
2016
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
1892
2017
|
}
|
|
1893
2018
|
|
|
1894
2019
|
:where(.bf-theme) :where(.bf-validation-message) {
|
|
@@ -1897,11 +2022,12 @@ html.u-baseline-grid::after {
|
|
|
1897
2022
|
font-style: var(--bf-body-font-style, normal);
|
|
1898
2023
|
font-weight: var(--bf-body-font-weight, 400);
|
|
1899
2024
|
line-height: var(--bf-body-line-height, 1.5rem);
|
|
2025
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
1900
2026
|
color: var(--bf-color-text-muted);
|
|
1901
|
-
margin: 0 0 var(--bf-
|
|
1902
|
-
|
|
1903
|
-
padding-block
|
|
1904
|
-
padding-inline-start:
|
|
2027
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
2028
|
+
margin-inline-start: var(--bf-leading-mark-group-inset);
|
|
2029
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
2030
|
+
padding-inline-start: var(--bf-leading-mark-offset);
|
|
1905
2031
|
position: relative;
|
|
1906
2032
|
}
|
|
1907
2033
|
|
|
@@ -2020,6 +2146,15 @@ html.u-baseline-grid::after {
|
|
|
2020
2146
|
padding: 0;
|
|
2021
2147
|
}
|
|
2022
2148
|
|
|
2149
|
+
/* A composite slider's numeric field owns the shared occupied row. Stretching
|
|
2150
|
+
the track within that real sibling height avoids a second nominal-height
|
|
2151
|
+
calculation that can diverge when rem borders are rasterised under zoom. */
|
|
2152
|
+
:where(.bf-theme) :where(.bf-slider:not(.is-stacked)):not(:where(.bf-field.is-range.is-stacked) :where(.bf-slider)) > :where(input[type='range']) {
|
|
2153
|
+
align-self: stretch;
|
|
2154
|
+
block-size: auto;
|
|
2155
|
+
margin-block: 0;
|
|
2156
|
+
}
|
|
2157
|
+
|
|
2023
2158
|
:where(.bf-theme) :where(input[type='range']):focus:not(:focus-visible) {
|
|
2024
2159
|
outline: none;
|
|
2025
2160
|
}
|
|
@@ -2036,7 +2171,7 @@ html.u-baseline-grid::after {
|
|
|
2036
2171
|
border: var(--bf-border-width) solid var(--bf-color-border-high-contrast);
|
|
2037
2172
|
block-size: var(--bf-control-visual-size);
|
|
2038
2173
|
border-radius: 50%;
|
|
2039
|
-
box-shadow: 0 0 calc(var(--bf-control-visual-size) * 0.25)
|
|
2174
|
+
box-shadow: 0 0 calc(var(--bf-control-visual-size) * 0.25) 0.0625rem rgba(0, 0, 0, 0.2);
|
|
2040
2175
|
inline-size: var(--bf-control-visual-size);
|
|
2041
2176
|
margin-top: calc((var(--bf-slider-track-size) - var(--bf-control-visual-size)) / 2);
|
|
2042
2177
|
}
|
|
@@ -2062,7 +2197,7 @@ html.u-baseline-grid::after {
|
|
|
2062
2197
|
border: var(--bf-border-width) solid var(--bf-color-border-high-contrast);
|
|
2063
2198
|
block-size: var(--bf-control-visual-size);
|
|
2064
2199
|
border-radius: 50%;
|
|
2065
|
-
box-shadow: 0 0 calc(var(--bf-control-visual-size) * 0.25)
|
|
2200
|
+
box-shadow: 0 0 calc(var(--bf-control-visual-size) * 0.25) 0.0625rem rgba(0, 0, 0, 0.2);
|
|
2066
2201
|
inline-size: var(--bf-control-visual-size);
|
|
2067
2202
|
}
|
|
2068
2203
|
|
|
@@ -2161,9 +2296,9 @@ html.u-baseline-grid::after {
|
|
|
2161
2296
|
color: var(--bf-color-text-default);
|
|
2162
2297
|
cursor: pointer;
|
|
2163
2298
|
display: inline-block;
|
|
2164
|
-
margin-bottom:
|
|
2165
|
-
padding-block:
|
|
2166
|
-
padding-inline: var(--bf-control-inline-padding-action);
|
|
2299
|
+
margin-bottom: var(--bf-single-line-row-margin-block-end);
|
|
2300
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
2301
|
+
padding-inline: var(--bf-control-inline-padding-action-bordered);
|
|
2167
2302
|
text-align: center;
|
|
2168
2303
|
text-decoration: none;
|
|
2169
2304
|
}
|
|
@@ -2181,6 +2316,13 @@ html.u-baseline-grid::after {
|
|
|
2181
2316
|
background-color: var(--bf-color-background-hover);
|
|
2182
2317
|
}
|
|
2183
2318
|
|
|
2319
|
+
/* Anchor buttons are controls, not prose links. Qualifying the element and
|
|
2320
|
+
* its interaction states prevents the generic anchor underline from leaking
|
|
2321
|
+
* through while leaving the explicit is-link variant unchanged. */
|
|
2322
|
+
:where(.bf-theme) :where(a.bf-button:not(.is-link):is(:hover, :active)) {
|
|
2323
|
+
text-decoration: none;
|
|
2324
|
+
}
|
|
2325
|
+
|
|
2184
2326
|
:where(.bf-theme) :where(.bf-button:not(.is-base):is(:active, [aria-pressed='true'])) {
|
|
2185
2327
|
background-color: var(--bf-color-background-active);
|
|
2186
2328
|
}
|
|
@@ -2190,8 +2332,8 @@ html.u-baseline-grid::after {
|
|
|
2190
2332
|
}
|
|
2191
2333
|
|
|
2192
2334
|
:where(.bf-theme) :where(.bf-button, .bf-button.is-base):focus-visible {
|
|
2193
|
-
outline:
|
|
2194
|
-
outline-offset:
|
|
2335
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
2336
|
+
outline-offset: 0.125rem;
|
|
2195
2337
|
}
|
|
2196
2338
|
|
|
2197
2339
|
/* ------------------------------------------------------------------ */
|
|
@@ -2263,7 +2405,7 @@ html.u-baseline-grid::after {
|
|
|
2263
2405
|
background-color: transparent;
|
|
2264
2406
|
color: var(--bf-color-link-default);
|
|
2265
2407
|
text-decoration: underline;
|
|
2266
|
-
text-decoration-thickness:
|
|
2408
|
+
text-decoration-thickness: 0.0625rem;
|
|
2267
2409
|
text-underline-offset: 0.075em;
|
|
2268
2410
|
}
|
|
2269
2411
|
|
|
@@ -2290,6 +2432,19 @@ html.u-baseline-grid::after {
|
|
|
2290
2432
|
justify-content: center;
|
|
2291
2433
|
}
|
|
2292
2434
|
|
|
2435
|
+
/* An icon-only flex button has no text line box to preserve the occupied
|
|
2436
|
+
* control rhythm. A zero-width metric strut restores the active body line
|
|
2437
|
+
* without imposing a target block size or changing icon/label spacing. */
|
|
2438
|
+
:where(.bf-theme) :where(.bf-button.is-icon:not(:has(.bf-button-label))) {
|
|
2439
|
+
column-gap: 0;
|
|
2440
|
+
}
|
|
2441
|
+
|
|
2442
|
+
:where(.bf-theme) :where(.bf-button.is-icon:not(:has(.bf-button-label)))::before {
|
|
2443
|
+
block-size: var(--bf-body-line-height);
|
|
2444
|
+
content: "";
|
|
2445
|
+
inline-size: 0;
|
|
2446
|
+
}
|
|
2447
|
+
|
|
2293
2448
|
:where(.bf-theme) :where(.bf-button-label) {
|
|
2294
2449
|
min-inline-size: 0;
|
|
2295
2450
|
}
|
|
@@ -2450,7 +2605,7 @@ html.u-baseline-grid::after {
|
|
|
2450
2605
|
border-inline-start: var(--bf-bar-thickness) solid var(--bf-notice-border);
|
|
2451
2606
|
color: var(--bf-color-text-default);
|
|
2452
2607
|
display: flow-root;
|
|
2453
|
-
margin
|
|
2608
|
+
margin: 0;
|
|
2454
2609
|
max-inline-size: 100%;
|
|
2455
2610
|
padding-block: var(--bf-space-2);
|
|
2456
2611
|
padding-inline: var(--bf-space-2);
|
|
@@ -2496,16 +2651,15 @@ html.u-baseline-grid::after {
|
|
|
2496
2651
|
/* ------------------------------------------------------------------ */
|
|
2497
2652
|
/* Static content ports — Vanilla data spotlight and divided section. */
|
|
2498
2653
|
/* Their children retain role-owned rhythm; these layout */
|
|
2499
|
-
/* wrappers add only structural columns, rules, and
|
|
2654
|
+
/* wrappers add only structural columns, rules, and internal gaps. */
|
|
2500
2655
|
/* ------------------------------------------------------------------ */
|
|
2501
2656
|
|
|
2502
2657
|
/* Data spotlight: Vanilla's equal-height wrap becomes an intrinsic grid.
|
|
2503
2658
|
Each item begins with a public highlighted rule using the shared emphasis
|
|
2504
|
-
thickness.
|
|
2505
|
-
shallow inter-row rhythm when the pattern narrows. */
|
|
2659
|
+
thickness. The items container owns every inter-row gap. */
|
|
2506
2660
|
:where(.bf-theme) :where(.bf-data-spotlight) {
|
|
2507
2661
|
container-type: inline-size;
|
|
2508
|
-
margin
|
|
2662
|
+
margin: 0;
|
|
2509
2663
|
min-inline-size: 0;
|
|
2510
2664
|
}
|
|
2511
2665
|
|
|
@@ -2518,15 +2672,13 @@ html.u-baseline-grid::after {
|
|
|
2518
2672
|
display: grid;
|
|
2519
2673
|
grid-template-columns: minmax(0, 1fr);
|
|
2520
2674
|
min-inline-size: 0;
|
|
2675
|
+
row-gap: var(--bf-section-space-shallow);
|
|
2521
2676
|
}
|
|
2522
2677
|
|
|
2523
2678
|
:where(.bf-theme) :where(.bf-data-spotlight-item) {
|
|
2524
2679
|
min-inline-size: 0;
|
|
2525
2680
|
overflow-wrap: anywhere;
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
:where(.bf-theme) :where(.bf-data-spotlight-item:not(:last-child)) {
|
|
2529
|
-
padding-block-end: var(--bf-section-space-shallow);
|
|
2681
|
+
padding: 0;
|
|
2530
2682
|
}
|
|
2531
2683
|
|
|
2532
2684
|
:where(.bf-theme) :where(.bf-data-spotlight-stat) {
|
|
@@ -2579,6 +2731,14 @@ html.u-baseline-grid::after {
|
|
|
2579
2731
|
@container (width >= 38.75rem) {
|
|
2580
2732
|
:where(.bf-theme) :where(.bf-data-spotlight-items) {
|
|
2581
2733
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
2734
|
+
row-gap: var(--bf-space-1);
|
|
2735
|
+
}
|
|
2736
|
+
|
|
2737
|
+
:where(.bf-theme) :where(.bf-data-spotlight-items)::after {
|
|
2738
|
+
block-size: calc(var(--bf-section-space-shallow) - (var(--bf-space-1) * 2));
|
|
2739
|
+
content: "";
|
|
2740
|
+
grid-column: 1 / -1;
|
|
2741
|
+
grid-row: 6;
|
|
2582
2742
|
}
|
|
2583
2743
|
|
|
2584
2744
|
:where(.bf-theme) :where(.bf-data-spotlight-header, .bf-data-spotlight-item) {
|
|
@@ -2587,10 +2747,6 @@ html.u-baseline-grid::after {
|
|
|
2587
2747
|
grid-template-rows: subgrid;
|
|
2588
2748
|
}
|
|
2589
2749
|
|
|
2590
|
-
:where(.bf-theme) :where(.bf-data-spotlight-item) {
|
|
2591
|
-
padding-block-end: 0;
|
|
2592
|
-
}
|
|
2593
|
-
|
|
2594
2750
|
:where(.bf-theme) :where(.bf-data-spotlight.is-three-blocks) :where(.bf-data-spotlight-header) {
|
|
2595
2751
|
block-size: 0;
|
|
2596
2752
|
overflow: visible;
|
|
@@ -2598,7 +2754,13 @@ html.u-baseline-grid::after {
|
|
|
2598
2754
|
|
|
2599
2755
|
:where(.bf-theme) :where(.bf-data-spotlight.is-three-blocks) :where(.bf-data-spotlight-item:first-of-type),
|
|
2600
2756
|
:where(.bf-theme) :where(.bf-data-spotlight.is-four-blocks) :where(.bf-data-spotlight-item:nth-child(-n + 2)) {
|
|
2601
|
-
|
|
2757
|
+
grid-row: span 5;
|
|
2758
|
+
}
|
|
2759
|
+
|
|
2760
|
+
:where(.bf-theme) :where(.bf-data-spotlight.is-two-blocks) :where(.bf-data-spotlight-item:nth-of-type(2)),
|
|
2761
|
+
:where(.bf-theme) :where(.bf-data-spotlight.is-three-blocks) :where(.bf-data-spotlight-item:nth-of-type(n + 2)),
|
|
2762
|
+
:where(.bf-theme) :where(.bf-data-spotlight.is-four-blocks) :where(.bf-data-spotlight-item:nth-of-type(n + 3)) {
|
|
2763
|
+
grid-row: 7 / span 5;
|
|
2602
2764
|
}
|
|
2603
2765
|
}
|
|
2604
2766
|
|
|
@@ -2611,15 +2773,18 @@ html.u-baseline-grid::after {
|
|
|
2611
2773
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
2612
2774
|
}
|
|
2613
2775
|
|
|
2776
|
+
:where(.bf-theme) :where(.bf-data-spotlight-items)::after {
|
|
2777
|
+
content: none;
|
|
2778
|
+
}
|
|
2779
|
+
|
|
2614
2780
|
:where(.bf-theme) :where(.bf-data-spotlight.is-two-blocks) :where(.bf-data-spotlight-header) {
|
|
2615
2781
|
block-size: 0;
|
|
2616
2782
|
grid-column: span 2;
|
|
2617
2783
|
overflow: visible;
|
|
2618
2784
|
}
|
|
2619
2785
|
|
|
2620
|
-
:where(.bf-theme) :where(.bf-data-spotlight
|
|
2621
|
-
|
|
2622
|
-
padding-block-end: 0;
|
|
2786
|
+
:where(.bf-theme) :where(.bf-data-spotlight-item) {
|
|
2787
|
+
grid-row: span 5;
|
|
2623
2788
|
}
|
|
2624
2789
|
}
|
|
2625
2790
|
|
|
@@ -2628,7 +2793,7 @@ html.u-baseline-grid::after {
|
|
|
2628
2793
|
headings, copy, and content items keep their own metric-derived rhythm. */
|
|
2629
2794
|
:where(.bf-theme) :where(.bf-divided-section) {
|
|
2630
2795
|
container-type: inline-size;
|
|
2631
|
-
margin
|
|
2796
|
+
margin: 0;
|
|
2632
2797
|
min-inline-size: 0;
|
|
2633
2798
|
}
|
|
2634
2799
|
|
|
@@ -2647,37 +2812,41 @@ html.u-baseline-grid::after {
|
|
|
2647
2812
|
}
|
|
2648
2813
|
|
|
2649
2814
|
:where(.bf-theme) :where(.bf-divided-section-list) {
|
|
2650
|
-
|
|
2651
|
-
|
|
2815
|
+
--bf-divided-section-rule-to-content: calc(0.5rem - var(--bf-border-width));
|
|
2816
|
+
--bf-stack-space: 1.5rem;
|
|
2652
2817
|
list-style: none;
|
|
2653
2818
|
margin: 0;
|
|
2654
2819
|
padding: 0;
|
|
2655
2820
|
}
|
|
2656
2821
|
|
|
2822
|
+
/* Preserve the pre-0.1.5 list markup; canonical composition also carries
|
|
2823
|
+
bf-stack so the container remains the explicit owner of item spacing. */
|
|
2824
|
+
:where(.bf-theme) :where(.bf-divided-section-list:not(.bf-stack)) {
|
|
2825
|
+
align-content: start;
|
|
2826
|
+
display: grid;
|
|
2827
|
+
gap: var(--bf-stack-space);
|
|
2828
|
+
}
|
|
2829
|
+
|
|
2657
2830
|
:where(.bf-theme) :where(.bf-divided-section-item) {
|
|
2658
2831
|
align-content: start;
|
|
2659
2832
|
display: grid;
|
|
2833
|
+
margin: 0;
|
|
2660
2834
|
min-inline-size: 0;
|
|
2661
2835
|
overflow-wrap: anywhere;
|
|
2836
|
+
padding: 0;
|
|
2837
|
+
position: relative;
|
|
2662
2838
|
}
|
|
2663
2839
|
|
|
2664
|
-
:where(.bf-theme) :where(.bf-divided-section-item
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
:
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
}
|
|
2672
|
-
|
|
2673
|
-
@container (width >= 38.75rem) {
|
|
2674
|
-
:where(.bf-theme) :where(.bf-divided-section.is-split-medium) :where(.bf-divided-section-layout) {
|
|
2675
|
-
column-gap: var(--bf-grid-gap-inline);
|
|
2676
|
-
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
2677
|
-
}
|
|
2840
|
+
:where(.bf-theme) :where(.bf-divided-section-item + .bf-divided-section-item)::before {
|
|
2841
|
+
background: var(--bf-color-border-low-contrast);
|
|
2842
|
+
block-size: var(--bf-border-width);
|
|
2843
|
+
content: "";
|
|
2844
|
+
inset-block-start: calc((var(--bf-divided-section-rule-to-content) + var(--bf-border-width)) * -1);
|
|
2845
|
+
inset-inline: 0;
|
|
2846
|
+
position: absolute;
|
|
2678
2847
|
}
|
|
2679
2848
|
|
|
2680
|
-
@container (width >=
|
|
2849
|
+
@container (width >= 45rem) {
|
|
2681
2850
|
:where(.bf-theme) :where(.bf-divided-section) :where(.bf-divided-section-layout) {
|
|
2682
2851
|
column-gap: var(--bf-grid-gap-inline);
|
|
2683
2852
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
@@ -2762,12 +2931,13 @@ html.u-baseline-grid::after {
|
|
|
2762
2931
|
border: var(--bf-border-width) solid var(--bf-color-border-default);
|
|
2763
2932
|
border-inline-start: var(--bf-bar-thickness) solid var(--bf-notification-accent);
|
|
2764
2933
|
color: var(--bf-color-text-default);
|
|
2765
|
-
margin-block: 0
|
|
2934
|
+
margin-block: 0;
|
|
2766
2935
|
max-inline-size: 100%;
|
|
2767
2936
|
min-inline-size: 0;
|
|
2768
2937
|
overflow-wrap: anywhere;
|
|
2769
|
-
padding-block: calc(var(--bf-space-
|
|
2770
|
-
padding-
|
|
2938
|
+
padding-block-end: max(0rem, calc(var(--bf-space-half) - var(--bf-border-width)));
|
|
2939
|
+
padding-block-start: 0;
|
|
2940
|
+
padding-inline: calc(var(--bf-icon-label-inline-offset) - var(--bf-bar-thickness)) var(--bf-space-1);
|
|
2771
2941
|
position: relative;
|
|
2772
2942
|
}
|
|
2773
2943
|
|
|
@@ -2790,14 +2960,14 @@ html.u-baseline-grid::after {
|
|
|
2790
2960
|
:where(.bf-theme) :where(.bf-notification.is-borderless) {
|
|
2791
2961
|
border: 0;
|
|
2792
2962
|
padding-block: 0;
|
|
2793
|
-
padding-inline: calc(var(--bf-
|
|
2963
|
+
padding-inline: calc(var(--bf-icon-size-default) + var(--bf-space-1)) 0;
|
|
2794
2964
|
}
|
|
2795
2965
|
|
|
2796
2966
|
:where(.bf-theme) :where(.bf-notification-icon) {
|
|
2797
2967
|
background-color: var(--bf-notification-accent);
|
|
2798
2968
|
background-image: none;
|
|
2799
|
-
inset-block-start: calc(
|
|
2800
|
-
inset-inline-start: var(--bf-space-
|
|
2969
|
+
inset-block-start: calc(((var(--bf-h6-line-height) - var(--bf-icon-size-default)) / 2) + var(--bf-h6-nudge-start) - var(--bf-border-width));
|
|
2970
|
+
inset-inline-start: calc(var(--bf-icon-label-inline-offset) - var(--bf-bar-thickness) - var(--bf-icon-size-default) - var(--bf-space-1));
|
|
2801
2971
|
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zm0 1.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13zm-.75 5.25h1.5v5h-1.5v-5zM8 3.5a1 1 0 1 1 0 2 1 1 0 0 1 0-2z'/%3E%3C/svg%3E");
|
|
2802
2972
|
mask-position: center;
|
|
2803
2973
|
mask-repeat: no-repeat;
|
|
@@ -2818,22 +2988,52 @@ html.u-baseline-grid::after {
|
|
|
2818
2988
|
}
|
|
2819
2989
|
|
|
2820
2990
|
:where(.bf-theme) :where(.bf-notification.is-borderless > .bf-notification-icon) {
|
|
2821
|
-
inset-block-start: calc(((var(--bf-
|
|
2991
|
+
inset-block-start: calc(((var(--bf-h6-line-height) - var(--bf-icon-size-default)) / 2) + var(--bf-h6-nudge-start));
|
|
2822
2992
|
inset-inline-start: 0;
|
|
2823
2993
|
}
|
|
2824
2994
|
|
|
2995
|
+
:where(.bf-theme) :where(.bf-notification.is-inline > .bf-notification-icon) {
|
|
2996
|
+
inset-block-start: calc(((var(--bf-body-line-height) - var(--bf-icon-size-default)) / 2) + var(--bf-body-nudge-start) - var(--bf-border-width));
|
|
2997
|
+
}
|
|
2998
|
+
|
|
2825
2999
|
:where(.bf-theme) :where(.bf-notification-content, .bf-notification-meta) {
|
|
2826
3000
|
max-inline-size: 100%;
|
|
2827
3001
|
min-inline-size: 0;
|
|
2828
3002
|
}
|
|
2829
3003
|
|
|
2830
3004
|
:where(.bf-theme) :where(.bf-notification-content) {
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
padding-
|
|
3005
|
+
/* Neutralise the shell's top border so the first metric role starts on-grid. */
|
|
3006
|
+
margin-block: calc(var(--bf-border-width) * -1) 0;
|
|
3007
|
+
padding-block-start: 0;
|
|
3008
|
+
padding-inline-end: calc(var(--bf-icon-size-default) + var(--bf-space-1));
|
|
3009
|
+
}
|
|
3010
|
+
|
|
3011
|
+
:where(.bf-theme) :where(.bf-notification.is-borderless .bf-notification-content) {
|
|
3012
|
+
--bf-stack-space: 0rem;
|
|
3013
|
+
margin-block-start: 0;
|
|
3014
|
+
}
|
|
3015
|
+
|
|
3016
|
+
/* Metadata-bearing notifications use a full baseline between title and copy,
|
|
3017
|
+
and pair it with the full end inset. This keeps both the metadata boundary
|
|
3018
|
+
and the complete shell on-grid; simpler messages retain compact rhythm. */
|
|
3019
|
+
:where(.bf-theme) :where(.bf-notification:has(> .bf-notification-meta)) {
|
|
3020
|
+
padding-block-end: calc(var(--bf-space-1) - var(--bf-border-width));
|
|
3021
|
+
}
|
|
3022
|
+
|
|
3023
|
+
:where(.bf-theme) :where(.bf-notification.is-inline) {
|
|
3024
|
+
padding-block-end: calc(var(--bf-space-1) - var(--bf-border-width));
|
|
2834
3025
|
}
|
|
2835
3026
|
|
|
2836
|
-
|
|
3027
|
+
/* Return the cancelled H6/body metric edges to the shell boundary. The
|
|
3028
|
+
* Documentation tier deliberately gives those roles different metrics, so
|
|
3029
|
+
* deriving this inset keeps every bordered notification on-grid without
|
|
3030
|
+
* reopening the visible title/copy gap. Keep this after the shell variants so
|
|
3031
|
+
* the metric relationship owns their final compensation. */
|
|
3032
|
+
:where(.bf-theme) :where(.bf-notification:has(> .bf-notification-content.is-metric-flush):not(.is-borderless)) {
|
|
3033
|
+
padding-block-end: calc(var(--bf-space-1) - var(--bf-border-width) + var(--bf-baseline) - var(--bf-h6-nudge-start) - var(--bf-body-margin-bottom));
|
|
3034
|
+
}
|
|
3035
|
+
|
|
3036
|
+
:where(.bf-theme) :where(.bf-notification-message, .bf-notification-timestamp) {
|
|
2837
3037
|
font-family: var(--bf-body-font-family);
|
|
2838
3038
|
font-size: var(--bf-body-font-size);
|
|
2839
3039
|
font-style: var(--bf-body-font-style);
|
|
@@ -2841,20 +3041,11 @@ html.u-baseline-grid::after {
|
|
|
2841
3041
|
max-inline-size: 100%;
|
|
2842
3042
|
}
|
|
2843
3043
|
|
|
2844
|
-
:where(.bf-theme) :where(.bf-notification-title) {
|
|
2845
|
-
font-weight: 600;
|
|
2846
|
-
margin-block: 0;
|
|
2847
|
-
padding-block: 0;
|
|
2848
|
-
}
|
|
2849
|
-
|
|
2850
3044
|
:where(.bf-theme) :where(.bf-notification-message) {
|
|
2851
3045
|
font-weight: var(--bf-body-font-weight);
|
|
2852
|
-
margin-block: 0;
|
|
2853
|
-
padding-block: 0;
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
:where(.bf-theme) :where(.bf-notification.is-inline .bf-notification-title, .bf-notification.is-inline .bf-notification-message) {
|
|
2857
|
-
display: inline;
|
|
3046
|
+
margin-block: 0 var(--bf-body-margin-bottom);
|
|
3047
|
+
padding-block-end: 0;
|
|
3048
|
+
padding-block-start: var(--bf-body-nudge-start);
|
|
2858
3049
|
}
|
|
2859
3050
|
|
|
2860
3051
|
:where(.bf-theme) :where(.bf-notification-close) {
|
|
@@ -2864,8 +3055,8 @@ html.u-baseline-grid::after {
|
|
|
2864
3055
|
margin-block-end: 0;
|
|
2865
3056
|
padding: 0;
|
|
2866
3057
|
position: absolute;
|
|
2867
|
-
inset-block-start:
|
|
2868
|
-
inset-inline-end:
|
|
3058
|
+
inset-block-start: 0;
|
|
3059
|
+
inset-inline-end: 0;
|
|
2869
3060
|
}
|
|
2870
3061
|
|
|
2871
3062
|
:where(.bf-theme) :where(.bf-notification.is-borderless .bf-notification-close) {
|
|
@@ -2880,7 +3071,7 @@ html.u-baseline-grid::after {
|
|
|
2880
3071
|
flex-wrap: wrap;
|
|
2881
3072
|
gap: var(--bf-space-1) var(--bf-space-2);
|
|
2882
3073
|
justify-content: space-between;
|
|
2883
|
-
margin-block-end:
|
|
3074
|
+
margin-block-end: 0;
|
|
2884
3075
|
padding-block-start: calc(var(--bf-space-1) - var(--bf-border-width));
|
|
2885
3076
|
padding-inline-end: var(--bf-space-2);
|
|
2886
3077
|
}
|
|
@@ -2893,7 +3084,7 @@ html.u-baseline-grid::after {
|
|
|
2893
3084
|
:where(.bf-theme) :where(.bf-notification-timestamp) {
|
|
2894
3085
|
color: var(--bf-color-text-muted);
|
|
2895
3086
|
font-weight: var(--bf-body-font-weight);
|
|
2896
|
-
margin-block: 0
|
|
3087
|
+
margin-block: 0 var(--bf-body-margin-bottom);
|
|
2897
3088
|
padding-block: var(--bf-body-nudge-start) 0;
|
|
2898
3089
|
}
|
|
2899
3090
|
|
|
@@ -2908,7 +3099,7 @@ html.u-baseline-grid::after {
|
|
|
2908
3099
|
|
|
2909
3100
|
:where(.bf-theme) :where(.bf-notification-actions > .bf-button.is-link) {
|
|
2910
3101
|
flex: 0 0 auto;
|
|
2911
|
-
margin-block-end:
|
|
3102
|
+
margin-block-end: var(--bf-body-margin-bottom);
|
|
2912
3103
|
padding-block: var(--bf-body-nudge-start) 0;
|
|
2913
3104
|
}
|
|
2914
3105
|
|
|
@@ -2928,10 +3119,10 @@ html.u-baseline-grid::after {
|
|
|
2928
3119
|
cursor: inherit;
|
|
2929
3120
|
display: inline-block;
|
|
2930
3121
|
font: inherit;
|
|
2931
|
-
margin: -
|
|
3122
|
+
margin: -0.125rem calc(var(--bf-space-half) * -1);
|
|
2932
3123
|
max-inline-size: 100%;
|
|
2933
3124
|
overflow: hidden;
|
|
2934
|
-
padding:
|
|
3125
|
+
padding: 0.125rem var(--bf-space-half);
|
|
2935
3126
|
text-align: inherit;
|
|
2936
3127
|
text-decoration: inherit;
|
|
2937
3128
|
text-overflow: inherit;
|
|
@@ -2942,7 +3133,7 @@ html.u-baseline-grid::after {
|
|
|
2942
3133
|
:where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort]:hover, .bf-table-sort-button:focus-visible) {
|
|
2943
3134
|
color: var(--bf-color-link-default);
|
|
2944
3135
|
text-decoration: underline;
|
|
2945
|
-
text-decoration-thickness:
|
|
3136
|
+
text-decoration-thickness: 0.0625rem;
|
|
2946
3137
|
text-underline-offset: 0.075em;
|
|
2947
3138
|
}
|
|
2948
3139
|
|
|
@@ -2951,11 +3142,11 @@ html.u-baseline-grid::after {
|
|
|
2951
3142
|
}
|
|
2952
3143
|
|
|
2953
3144
|
:where(.bf-theme) :where(.bf-table-sort-button:focus-visible) {
|
|
2954
|
-
outline:
|
|
2955
|
-
outline-offset: -
|
|
3145
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
3146
|
+
outline-offset: -0.125rem;
|
|
2956
3147
|
}
|
|
2957
3148
|
|
|
2958
|
-
:where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort
|
|
3149
|
+
:where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort])::after {
|
|
2959
3150
|
background-image: var(--bf-ui-icon-chevron-down);
|
|
2960
3151
|
background-position: center;
|
|
2961
3152
|
background-repeat: no-repeat;
|
|
@@ -2965,9 +3156,14 @@ html.u-baseline-grid::after {
|
|
|
2965
3156
|
display: inline-block;
|
|
2966
3157
|
inline-size: var(--bf-icon-size-default);
|
|
2967
3158
|
margin-inline-start: var(--bf-space-half);
|
|
3159
|
+
opacity: 0;
|
|
2968
3160
|
vertical-align: calc((1cap - var(--bf-icon-size-default)) / 2);
|
|
2969
3161
|
}
|
|
2970
3162
|
|
|
3163
|
+
:where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort='ascending'], .bf-table.is-sortable th[aria-sort='descending'])::after {
|
|
3164
|
+
opacity: 1;
|
|
3165
|
+
}
|
|
3166
|
+
|
|
2971
3167
|
:where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort='ascending'])::after {
|
|
2972
3168
|
transform: rotate(180deg);
|
|
2973
3169
|
}
|
|
@@ -3004,9 +3200,9 @@ html.u-baseline-grid::after {
|
|
|
3004
3200
|
}
|
|
3005
3201
|
|
|
3006
3202
|
:where(.bf-theme) :where(.bf-table-mobile-card-frame > .bf-table.is-mobile-card > thead) {
|
|
3007
|
-
block-size:
|
|
3203
|
+
block-size: 0.0625rem;
|
|
3008
3204
|
clip-path: inset(50%);
|
|
3009
|
-
inline-size:
|
|
3205
|
+
inline-size: 0.0625rem;
|
|
3010
3206
|
overflow: hidden;
|
|
3011
3207
|
position: absolute;
|
|
3012
3208
|
white-space: nowrap;
|
|
@@ -3077,7 +3273,7 @@ html.u-baseline-grid::after {
|
|
|
3077
3273
|
:where(.bf-theme) :where(.bf-logo-section) {
|
|
3078
3274
|
container-name: bf-logo-section;
|
|
3079
3275
|
container-type: inline-size;
|
|
3080
|
-
margin
|
|
3276
|
+
margin: 0;
|
|
3081
3277
|
min-inline-size: 0;
|
|
3082
3278
|
}
|
|
3083
3279
|
|
|
@@ -3111,8 +3307,8 @@ html.u-baseline-grid::after {
|
|
|
3111
3307
|
}
|
|
3112
3308
|
|
|
3113
3309
|
:where(.bf-theme) :where(.bf-logo-section-link:focus-visible) {
|
|
3114
|
-
outline:
|
|
3115
|
-
outline-offset:
|
|
3310
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
3311
|
+
outline-offset: 0.125rem;
|
|
3116
3312
|
}
|
|
3117
3313
|
|
|
3118
3314
|
:where(.bf-theme) :where(.bf-logo-section-logo) {
|
|
@@ -3139,7 +3335,7 @@ html.u-baseline-grid::after {
|
|
|
3139
3335
|
inline-size: 100%;
|
|
3140
3336
|
}
|
|
3141
3337
|
|
|
3142
|
-
/* Vanilla's small breakpoint is
|
|
3338
|
+
/* Vanilla's small breakpoint is 38.75rem. The items descendant, rather than the
|
|
3143
3339
|
query container itself, responds when its allocated space reaches it. */
|
|
3144
3340
|
@container bf-logo-section (width >= 38.75rem) {
|
|
3145
3341
|
:where(.bf-theme) :where(.bf-logo-section-items) {
|
|
@@ -3163,19 +3359,21 @@ html.u-baseline-grid::after {
|
|
|
3163
3359
|
|
|
3164
3360
|
/* ------------------------------------------------------------------ */
|
|
3165
3361
|
/* Media object — semantic media/content slots with a container-owned */
|
|
3166
|
-
/* structural collapse
|
|
3362
|
+
/* structural collapse. Content roles retain their metric boxes. */
|
|
3167
3363
|
/* ------------------------------------------------------------------ */
|
|
3168
3364
|
|
|
3169
3365
|
:where(.bf-theme) :where(.bf-media-object) {
|
|
3170
|
-
|
|
3366
|
+
container-name: bf-media-object;
|
|
3367
|
+
container-type: inline-size;
|
|
3368
|
+
margin: 0;
|
|
3171
3369
|
min-inline-size: 0;
|
|
3172
3370
|
}
|
|
3173
3371
|
|
|
3174
3372
|
:where(.bf-theme) :where(.bf-media-object-layout) {
|
|
3175
|
-
display: grid;
|
|
3176
3373
|
align-items: start;
|
|
3177
|
-
column-gap: var(--bf-
|
|
3178
|
-
|
|
3374
|
+
column-gap: var(--bf-grid-gap-inline);
|
|
3375
|
+
display: grid;
|
|
3376
|
+
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
3179
3377
|
min-inline-size: 0;
|
|
3180
3378
|
}
|
|
3181
3379
|
|
|
@@ -3187,6 +3385,10 @@ html.u-baseline-grid::after {
|
|
|
3187
3385
|
min-inline-size: 0;
|
|
3188
3386
|
}
|
|
3189
3387
|
|
|
3388
|
+
:where(.bf-theme) :where(.bf-media-object-media) {
|
|
3389
|
+
grid-column: 1 / span 2;
|
|
3390
|
+
}
|
|
3391
|
+
|
|
3190
3392
|
:where(.bf-theme) :where(.bf-media-object-media > :where(img, picture, svg, video)) {
|
|
3191
3393
|
block-size: 100%;
|
|
3192
3394
|
display: block;
|
|
@@ -3201,6 +3403,7 @@ html.u-baseline-grid::after {
|
|
|
3201
3403
|
}
|
|
3202
3404
|
|
|
3203
3405
|
:where(.bf-theme) :where(.bf-media-object-content) {
|
|
3406
|
+
grid-column: 3 / -1;
|
|
3204
3407
|
min-inline-size: 0;
|
|
3205
3408
|
overflow-wrap: anywhere;
|
|
3206
3409
|
}
|
|
@@ -3240,8 +3443,12 @@ html.u-baseline-grid::after {
|
|
|
3240
3443
|
}
|
|
3241
3444
|
|
|
3242
3445
|
:where(.bf-theme) :where(.bf-media-object-meta-list) {
|
|
3446
|
+
--bf-stack-space: var(--bf-space-1);
|
|
3447
|
+
align-content: start;
|
|
3448
|
+
display: grid;
|
|
3449
|
+
gap: var(--bf-stack-space);
|
|
3243
3450
|
list-style: none;
|
|
3244
|
-
margin:
|
|
3451
|
+
margin: 0;
|
|
3245
3452
|
padding: 0;
|
|
3246
3453
|
}
|
|
3247
3454
|
|
|
@@ -3254,22 +3461,22 @@ html.u-baseline-grid::after {
|
|
|
3254
3461
|
overflow-wrap: anywhere;
|
|
3255
3462
|
}
|
|
3256
3463
|
|
|
3257
|
-
:where(.bf-theme) :where(.bf-media-object-meta + .bf-media-object-meta) {
|
|
3258
|
-
margin-block-start: var(--bf-space-1);
|
|
3259
|
-
}
|
|
3260
|
-
|
|
3261
3464
|
:where(.bf-theme) :where(.bf-media-object-meta .bf-icon) {
|
|
3262
3465
|
margin-block-start: var(--bf-body-nudge-start);
|
|
3263
3466
|
}
|
|
3264
3467
|
|
|
3265
|
-
|
|
3266
|
-
|
|
3267
|
-
|
|
3268
|
-
}
|
|
3468
|
+
@container bf-media-object (width >= 38.75rem) {
|
|
3469
|
+
:where(.bf-theme) :where(.bf-media-object-layout) {
|
|
3470
|
+
grid-template-columns: repeat(8, minmax(0, 1fr));
|
|
3471
|
+
}
|
|
3269
3472
|
|
|
3270
|
-
:where(.bf-theme) :where(.bf-media-object
|
|
3271
|
-
|
|
3272
|
-
|
|
3473
|
+
:where(.bf-theme) :where(.bf-media-object-media) {
|
|
3474
|
+
grid-column: 1 / span 2;
|
|
3475
|
+
}
|
|
3476
|
+
|
|
3477
|
+
:where(.bf-theme) :where(.bf-media-object-content) {
|
|
3478
|
+
grid-column: 3 / -1;
|
|
3479
|
+
}
|
|
3273
3480
|
}
|
|
3274
3481
|
|
|
3275
3482
|
|
|
@@ -3280,20 +3487,13 @@ html.u-baseline-grid::after {
|
|
|
3280
3487
|
:where(.bf-theme) :where(.bf-linked-logo-section) {
|
|
3281
3488
|
container-name: bf-linked-logo-section;
|
|
3282
3489
|
container-type: inline-size;
|
|
3283
|
-
margin
|
|
3490
|
+
margin: 0;
|
|
3284
3491
|
min-inline-size: 0;
|
|
3285
3492
|
}
|
|
3286
3493
|
|
|
3287
|
-
:where(.bf-theme) :where(.bf-linked-logo-section.is-shallow) {
|
|
3288
|
-
margin-block-end: var(--bf-section-space-shallow);
|
|
3289
|
-
}
|
|
3290
|
-
|
|
3291
|
-
:where(.bf-theme) :where(.bf-linked-logo-section.is-deep) {
|
|
3292
|
-
margin-block-end: var(--bf-section-space-deep);
|
|
3293
|
-
}
|
|
3294
|
-
|
|
3295
3494
|
:where(.bf-theme) :where(.bf-linked-logo-section-layout) {
|
|
3296
3495
|
display: grid;
|
|
3496
|
+
gap: var(--bf-section-space-shallow);
|
|
3297
3497
|
grid-template-columns: minmax(0, 1fr);
|
|
3298
3498
|
min-inline-size: 0;
|
|
3299
3499
|
}
|
|
@@ -3326,7 +3526,7 @@ html.u-baseline-grid::after {
|
|
|
3326
3526
|
max-inline-size: none;
|
|
3327
3527
|
}
|
|
3328
3528
|
|
|
3329
|
-
:where(.bf-theme) :where(.bf-linked-logo-section-card) {
|
|
3529
|
+
:where(.bf-theme) :where(a.bf-linked-logo-section-card) {
|
|
3330
3530
|
align-content: start;
|
|
3331
3531
|
align-items: stretch;
|
|
3332
3532
|
color: inherit;
|
|
@@ -3338,7 +3538,7 @@ html.u-baseline-grid::after {
|
|
|
3338
3538
|
text-decoration: none;
|
|
3339
3539
|
}
|
|
3340
3540
|
|
|
3341
|
-
:where(.bf-theme) :where(.bf-linked-logo-section-card:hover) :where(.bf-linked-logo-section-card-copy) {
|
|
3541
|
+
:where(.bf-theme) :where(a.bf-linked-logo-section-card:hover) :where(.bf-linked-logo-section-card-copy) {
|
|
3342
3542
|
text-decoration: underline;
|
|
3343
3543
|
}
|
|
3344
3544
|
|
|
@@ -3357,7 +3557,7 @@ html.u-baseline-grid::after {
|
|
|
3357
3557
|
of baselines tall. Keep the visual ratio exact and put only the residual
|
|
3358
3558
|
rhythm compensation after the mark; the copy keeps its own semantic
|
|
3359
3559
|
spacing and the occupied card still lands on the tier grid. */
|
|
3360
|
-
@supports (margin-block-end: round(up,
|
|
3560
|
+
@supports (margin-block-end: round(up, 0.0625rem, 0.0625rem)) {
|
|
3361
3561
|
:where(.bf-theme) :where(.bf-linked-logo-section-mark) {
|
|
3362
3562
|
margin-block-end: calc(
|
|
3363
3563
|
round(up, calc(100cqi * 9 / 16), var(--bf-baseline))
|
|
@@ -3389,21 +3589,25 @@ html.u-baseline-grid::after {
|
|
|
3389
3589
|
overflow-wrap: anywhere;
|
|
3390
3590
|
}
|
|
3391
3591
|
|
|
3392
|
-
/*
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
|
|
3592
|
+
/* The linked-logo block moves from one to two cards per row at the 4-column
|
|
3593
|
+
medium grid. The balanced 50/50 section split uses the shared readable
|
|
3594
|
+
threshold; the 25/75 content rail and four-card density retain their
|
|
3595
|
+
separately measured wide threshold. The root establishes the query context;
|
|
3596
|
+
only descendants change. */
|
|
3396
3597
|
@container bf-linked-logo-section (width >= 38.75rem) {
|
|
3397
3598
|
:where(.bf-theme) :where(.bf-linked-logo-section-logos) :where(.bf-logo-section-items) {
|
|
3398
3599
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
3399
3600
|
}
|
|
3400
3601
|
}
|
|
3401
3602
|
|
|
3402
|
-
@container bf-linked-logo-section (width >=
|
|
3603
|
+
@container bf-linked-logo-section (width >= 45rem) {
|
|
3403
3604
|
:where(.bf-theme) :where(.bf-linked-logo-section.is-50-50) :where(.bf-linked-logo-section-layout) {
|
|
3404
3605
|
column-gap: var(--bf-grid-gap-inline);
|
|
3405
3606
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
3406
3607
|
}
|
|
3608
|
+
}
|
|
3609
|
+
|
|
3610
|
+
@container bf-linked-logo-section (width >= 64.75rem) {
|
|
3407
3611
|
|
|
3408
3612
|
:where(.bf-theme) :where(.bf-linked-logo-section.is-25-75) :where(.bf-linked-logo-section-layout) {
|
|
3409
3613
|
column-gap: var(--bf-grid-gap-inline);
|
|
@@ -3506,33 +3710,25 @@ html.u-baseline-grid::after {
|
|
|
3506
3710
|
}
|
|
3507
3711
|
|
|
3508
3712
|
/* A section title may be the route action without looking like body copy. */
|
|
3509
|
-
:where(.bf-theme) :where(.bf-basic-section-title-link, .bf-basic-section-title-link:visited) {
|
|
3713
|
+
:where(.bf-theme) :where(a.bf-basic-section-title-link, a.bf-basic-section-title-link:visited) {
|
|
3510
3714
|
color: var(--bf-color-link-default);
|
|
3511
3715
|
text-decoration: none;
|
|
3512
3716
|
}
|
|
3513
3717
|
|
|
3514
|
-
:where(.bf-theme) :where(.bf-basic-section-title-link:hover) {
|
|
3718
|
+
:where(.bf-theme) :where(a.bf-basic-section-title-link:hover) {
|
|
3515
3719
|
text-decoration: underline;
|
|
3516
3720
|
text-decoration-thickness: var(--bf-border-width);
|
|
3517
3721
|
text-underline-offset: 0.12em;
|
|
3518
3722
|
}
|
|
3519
3723
|
|
|
3520
|
-
/*
|
|
3521
|
-
|
|
3724
|
+
/* A balanced section switches at the shared readable 50/50 threshold. The
|
|
3725
|
+
layout descendant reacts to the root container; the query never tries to
|
|
3522
3726
|
restyle the container that established it. */
|
|
3523
|
-
@container bf-basic-section (width >=
|
|
3524
|
-
:where(.bf-theme) :where(.bf-basic-section
|
|
3525
|
-
column-gap: var(--bf-grid-gap-inline);
|
|
3526
|
-
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
3527
|
-
}
|
|
3528
|
-
}
|
|
3529
|
-
|
|
3530
|
-
@container bf-basic-section (width >= 64.75rem) {
|
|
3531
|
-
:where(.bf-theme) :where(.bf-basic-section:not(.is-split-medium)) :where(.bf-basic-section-layout) {
|
|
3727
|
+
@container bf-basic-section (width >= 45rem) {
|
|
3728
|
+
:where(.bf-theme) :where(.bf-basic-section-layout) {
|
|
3532
3729
|
column-gap: var(--bf-grid-gap-inline);
|
|
3533
3730
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
3534
3731
|
}
|
|
3535
|
-
|
|
3536
3732
|
}
|
|
3537
3733
|
|
|
3538
3734
|
/* CTA section: Vanilla's 25/75 variant is an offset content rail. The full
|
|
@@ -3548,19 +3744,23 @@ html.u-baseline-grid::after {
|
|
|
3548
3744
|
display: grid;
|
|
3549
3745
|
grid-template-columns: minmax(0, 1fr);
|
|
3550
3746
|
min-inline-size: 0;
|
|
3551
|
-
padding-block: calc(var(--bf-section-space-deep) / 2);
|
|
3552
3747
|
}
|
|
3553
3748
|
|
|
3554
3749
|
:where(.bf-theme) :where(.bf-cta-section-content) {
|
|
3750
|
+
--bf-stack-space: var(--bf-section-space-shallow);
|
|
3751
|
+
align-content: start;
|
|
3752
|
+
display: grid;
|
|
3753
|
+
gap: var(--bf-stack-space);
|
|
3555
3754
|
min-inline-size: 0;
|
|
3556
3755
|
overflow-wrap: anywhere;
|
|
3557
3756
|
}
|
|
3558
3757
|
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3758
|
+
:where(.bf-theme) :where(.bf-cta-section-copy) {
|
|
3759
|
+
min-inline-size: 0;
|
|
3760
|
+
overflow-wrap: anywhere;
|
|
3761
|
+
}
|
|
3563
3762
|
|
|
3763
|
+
@container bf-cta-section (width >= 64.75rem) {
|
|
3564
3764
|
:where(.bf-theme) :where(.bf-cta-section.is-offset) :where(.bf-cta-section-layout) {
|
|
3565
3765
|
column-gap: var(--bf-grid-gap-inline);
|
|
3566
3766
|
grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
|
|
@@ -3628,15 +3828,15 @@ html.u-baseline-grid::after {
|
|
|
3628
3828
|
/* semantic gaps and every text child keeps metric compensation. */
|
|
3629
3829
|
/* ------------------------------------------------------------------ */
|
|
3630
3830
|
|
|
3631
|
-
/* Hero:
|
|
3632
|
-
|
|
3633
|
-
|
|
3831
|
+
/* Hero: the compact arrival space belongs inside its entry rule. The outer
|
|
3832
|
+
stack owns the section exit, and the rule replaces one pixel of padding so
|
|
3833
|
+
it never changes the rhythm. */
|
|
3634
3834
|
:where(.bf-theme) :where(.bf-hero) {
|
|
3635
3835
|
border-block-start: var(--bf-border-width) solid var(--bf-color-border-low-contrast);
|
|
3636
3836
|
container-name: bf-hero;
|
|
3637
3837
|
container-type: inline-size;
|
|
3638
3838
|
min-inline-size: 0;
|
|
3639
|
-
padding-block-end:
|
|
3839
|
+
padding-block-end: 0;
|
|
3640
3840
|
padding-block-start: calc(var(--bf-space-2) - var(--bf-border-width));
|
|
3641
3841
|
}
|
|
3642
3842
|
|
|
@@ -3649,6 +3849,7 @@ html.u-baseline-grid::after {
|
|
|
3649
3849
|
|
|
3650
3850
|
:where(.bf-theme) :where(.bf-hero-layout) {
|
|
3651
3851
|
display: grid;
|
|
3852
|
+
gap: var(--bf-section-space-shallow);
|
|
3652
3853
|
grid-template-columns: minmax(0, 1fr);
|
|
3653
3854
|
min-inline-size: 0;
|
|
3654
3855
|
}
|
|
@@ -3658,9 +3859,9 @@ html.u-baseline-grid::after {
|
|
|
3658
3859
|
overflow-wrap: anywhere;
|
|
3659
3860
|
}
|
|
3660
3861
|
|
|
3661
|
-
/*
|
|
3662
|
-
|
|
3663
|
-
|
|
3862
|
+
/* Legacy copy slots remain valid for signpost variants. The default arrival
|
|
3863
|
+
composition separates a title area from its supporting content area, and
|
|
3864
|
+
the demo composes each area with the public stack density modifiers. */
|
|
3664
3865
|
:where(.bf-theme) :where(.bf-hero-copy) {
|
|
3665
3866
|
align-content: start;
|
|
3666
3867
|
display: grid;
|
|
@@ -3687,7 +3888,7 @@ html.u-baseline-grid::after {
|
|
|
3687
3888
|
allocated a fluid grid track. Snap only the media block to the active tier
|
|
3688
3889
|
baseline so the following semantic text remains on-grid; its inline track
|
|
3689
3890
|
and the surrounding Vanilla proportions remain unchanged. */
|
|
3690
|
-
@supports (block-size: calc-size(auto, round(up, size,
|
|
3891
|
+
@supports (block-size: calc-size(auto, round(up, size, 0.0625rem))) {
|
|
3691
3892
|
:where(.bf-theme) :where(.bf-hero-media > .bf-aspect, .bf-hero-signpost > :where(img, picture, video, canvas, svg)) {
|
|
3692
3893
|
block-size: calc-size(auto, round(up, size, var(--bf-baseline)));
|
|
3693
3894
|
}
|
|
@@ -3710,14 +3911,10 @@ html.u-baseline-grid::after {
|
|
|
3710
3911
|
inline-size: 100%;
|
|
3711
3912
|
}
|
|
3712
3913
|
|
|
3713
|
-
/*
|
|
3714
|
-
|
|
3715
|
-
correctly. */
|
|
3716
|
-
/* The section boundary itself follows Vanilla's page-level desktop switch;
|
|
3717
|
-
the composition below continues to react to the allocated container. */
|
|
3914
|
+
/* The section boundary follows the page-level desktop switch, while the
|
|
3915
|
+
two-column composition uses its measured intrinsic allocation below. */
|
|
3718
3916
|
@media (width >= 64.75rem) {
|
|
3719
3917
|
:where(.bf-theme) :where(.bf-hero) {
|
|
3720
|
-
padding-block-end: var(--bf-section-space);
|
|
3721
3918
|
padding-block-start: calc(var(--bf-space-3) - var(--bf-border-width));
|
|
3722
3919
|
}
|
|
3723
3920
|
|
|
@@ -3726,7 +3923,7 @@ html.u-baseline-grid::after {
|
|
|
3726
3923
|
}
|
|
3727
3924
|
}
|
|
3728
3925
|
|
|
3729
|
-
@container bf-hero (width >=
|
|
3926
|
+
@container bf-hero (width >= 45rem) {
|
|
3730
3927
|
:where(.bf-theme) :where(.bf-hero-layout) {
|
|
3731
3928
|
column-gap: var(--bf-grid-gap-inline);
|
|
3732
3929
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
@@ -3746,9 +3943,10 @@ html.u-baseline-grid::after {
|
|
|
3746
3943
|
}
|
|
3747
3944
|
}
|
|
3748
3945
|
|
|
3749
|
-
/*
|
|
3750
|
-
|
|
3751
|
-
|
|
3946
|
+
/* The named variants retain their proportion but share the readable split
|
|
3947
|
+
threshold with the default hero. The modifier changes only structural
|
|
3948
|
+
tracks; it does not introduce an earlier cramped layout. */
|
|
3949
|
+
@container bf-hero (width >= 45rem) {
|
|
3752
3950
|
:where(.bf-theme) :where(.bf-hero.is-split-medium) :where(.bf-hero-layout) {
|
|
3753
3951
|
column-gap: var(--bf-grid-gap-inline);
|
|
3754
3952
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
@@ -3768,14 +3966,10 @@ html.u-baseline-grid::after {
|
|
|
3768
3966
|
:where(.bf-theme) :where(.bf-quote-wrapper) {
|
|
3769
3967
|
container-name: bf-quote-wrapper;
|
|
3770
3968
|
container-type: inline-size;
|
|
3771
|
-
margin
|
|
3969
|
+
margin: 0;
|
|
3772
3970
|
min-inline-size: 0;
|
|
3773
3971
|
}
|
|
3774
3972
|
|
|
3775
|
-
:where(.bf-theme) :where(.bf-quote-wrapper.is-shallow) {
|
|
3776
|
-
margin-block-end: var(--bf-section-space-shallow);
|
|
3777
|
-
}
|
|
3778
|
-
|
|
3779
3973
|
:where(.bf-theme) :where(.bf-quote-wrapper-header, .bf-quote-wrapper-layout, .bf-quote-wrapper-signpost, .bf-quote-wrapper-content, .bf-quote-wrapper-citation, .bf-quote-wrapper-media) {
|
|
3780
3974
|
min-inline-size: 0;
|
|
3781
3975
|
overflow-wrap: anywhere;
|
|
@@ -3822,7 +4016,7 @@ html.u-baseline-grid::after {
|
|
|
3822
4016
|
/* The quote rail can also be a fractional grid track. Keep its media from
|
|
3823
4017
|
introducing a sub-baseline row while leaving quotation and citation rhythm
|
|
3824
4018
|
entirely baseline-compensated while its stack owns semantic gaps. */
|
|
3825
|
-
@supports (block-size: calc-size(auto, round(up, size,
|
|
4019
|
+
@supports (block-size: calc-size(auto, round(up, size, 0.0625rem))) {
|
|
3826
4020
|
:where(.bf-theme) :where(.bf-quote-wrapper-signpost > :where(img, picture, svg), .bf-quote-wrapper-media > .bf-aspect) {
|
|
3827
4021
|
block-size: calc-size(auto, round(up, size, var(--bf-baseline)));
|
|
3828
4022
|
}
|
|
@@ -3861,8 +4055,47 @@ html.u-baseline-grid::after {
|
|
|
3861
4055
|
}
|
|
3862
4056
|
|
|
3863
4057
|
@container bf-quote-wrapper (width >= 64.75rem) {
|
|
4058
|
+
:where(.bf-theme) :where(.bf-quote-wrapper-header) {
|
|
4059
|
+
grid-template-columns: repeat(8, minmax(0, 1fr));
|
|
4060
|
+
}
|
|
4061
|
+
|
|
4062
|
+
:where(.bf-theme) :where(.bf-quote-wrapper-header) > :first-child {
|
|
4063
|
+
grid-column: 1 / span 6;
|
|
4064
|
+
}
|
|
4065
|
+
|
|
4066
|
+
:where(.bf-theme) :where(.bf-quote-wrapper-header-link) {
|
|
4067
|
+
grid-column: 7 / -1;
|
|
4068
|
+
}
|
|
4069
|
+
|
|
4070
|
+
:where(.bf-theme) :where(.bf-quote-wrapper-layout) {
|
|
4071
|
+
grid-template-columns: repeat(8, minmax(0, 1fr));
|
|
4072
|
+
}
|
|
4073
|
+
|
|
4074
|
+
:where(.bf-theme) :where(.bf-quote-wrapper-signpost) {
|
|
4075
|
+
grid-column: 1 / span 2;
|
|
4076
|
+
}
|
|
4077
|
+
|
|
4078
|
+
:where(.bf-theme) :where(.bf-quote-wrapper-content, .bf-quote-wrapper-content:only-child) {
|
|
4079
|
+
display: grid;
|
|
4080
|
+
grid-column: 3 / -1;
|
|
4081
|
+
grid-template-columns: subgrid;
|
|
4082
|
+
}
|
|
4083
|
+
|
|
3864
4084
|
:where(.bf-theme) :where(.bf-quote-wrapper-quote-row) {
|
|
3865
|
-
grid-
|
|
4085
|
+
grid-column: 1 / -1;
|
|
4086
|
+
grid-template-columns: subgrid;
|
|
4087
|
+
}
|
|
4088
|
+
|
|
4089
|
+
:where(.bf-theme) :where(.bf-quote-wrapper-prose) {
|
|
4090
|
+
grid-column: 1 / span 4;
|
|
4091
|
+
}
|
|
4092
|
+
|
|
4093
|
+
:where(.bf-theme) :where(.bf-quote-wrapper-citation) {
|
|
4094
|
+
grid-column: 5 / -1;
|
|
4095
|
+
}
|
|
4096
|
+
|
|
4097
|
+
:where(.bf-theme) :where(.bf-quote-wrapper-content) > :where(.bf-cta-block, .bf-quote-wrapper-media) {
|
|
4098
|
+
grid-column: 1 / -1;
|
|
3866
4099
|
}
|
|
3867
4100
|
}
|
|
3868
4101
|
|
|
@@ -3875,19 +4108,13 @@ html.u-baseline-grid::after {
|
|
|
3875
4108
|
container-name: bf-rich-list;
|
|
3876
4109
|
container-type: inline-size;
|
|
3877
4110
|
min-inline-size: 0;
|
|
3878
|
-
padding-block-end: calc(var(--bf-section-space) / 2);
|
|
3879
|
-
}
|
|
3880
|
-
|
|
3881
|
-
:where(.bf-theme) :where(.bf-rich-list.is-shallow) {
|
|
3882
|
-
padding-block-end: var(--bf-section-space-shallow);
|
|
3883
|
-
}
|
|
3884
|
-
|
|
3885
|
-
:where(.bf-theme) :where(.bf-rich-list.is-deep) {
|
|
3886
|
-
padding-block-end: calc(var(--bf-section-space-deep) / 2);
|
|
3887
4111
|
}
|
|
3888
4112
|
|
|
3889
4113
|
:where(.bf-theme) :where(.bf-rich-list-layout) {
|
|
4114
|
+
--bf-stack-space: var(--bf-space-1);
|
|
4115
|
+
align-content: start;
|
|
3890
4116
|
display: grid;
|
|
4117
|
+
gap: var(--bf-stack-space);
|
|
3891
4118
|
grid-template-columns: minmax(0, 1fr);
|
|
3892
4119
|
min-inline-size: 0;
|
|
3893
4120
|
}
|
|
@@ -3902,14 +4129,11 @@ html.u-baseline-grid::after {
|
|
|
3902
4129
|
overflow-wrap: anywhere;
|
|
3903
4130
|
}
|
|
3904
4131
|
|
|
3905
|
-
|
|
3906
|
-
|
|
3907
|
-
|
|
3908
|
-
|
|
3909
|
-
|
|
3910
|
-
:where(.bf-theme) :where(.bf-rich-list.is-deep) {
|
|
3911
|
-
padding-block-end: var(--bf-section-space-deep);
|
|
3912
|
-
}
|
|
4132
|
+
:where(.bf-theme) :where(.bf-rich-list-support, .bf-rich-list-content) {
|
|
4133
|
+
--bf-stack-space: var(--bf-space-1);
|
|
4134
|
+
align-content: start;
|
|
4135
|
+
display: grid;
|
|
4136
|
+
gap: var(--bf-stack-space);
|
|
3913
4137
|
}
|
|
3914
4138
|
|
|
3915
4139
|
/* ------------------------------------------------------------------ */
|
|
@@ -3936,7 +4160,7 @@ html.u-baseline-grid::after {
|
|
|
3936
4160
|
/* A full-width ratio inside a fluid Sites rail otherwise leaves the next
|
|
3937
4161
|
heading on a fractional pixel. The visual alone absorbs the trailing
|
|
3938
4162
|
compensation; semantic children retain their own margins unchanged. */
|
|
3939
|
-
@supports (block-size: calc-size(auto, round(up, size,
|
|
4163
|
+
@supports (block-size: calc-size(auto, round(up, size, 0.0625rem))) {
|
|
3940
4164
|
:where(.bf-theme) :where(.bf-rich-list-visual > .bf-aspect) {
|
|
3941
4165
|
block-size: calc-size(auto, round(up, size, var(--bf-baseline)));
|
|
3942
4166
|
}
|
|
@@ -3975,8 +4199,12 @@ html.u-baseline-grid::after {
|
|
|
3975
4199
|
|
|
3976
4200
|
/* Prefixes are logical here even though the shared list predates BF's
|
|
3977
4201
|
logical-property rule. This keeps ticks, bullets and numbers RTL-safe. */
|
|
4202
|
+
:where(.bf-theme) :where(.bf-rich-list-list:has(> .bf-list-item:is(.is-ticked, .is-crossed)), .bf-rich-list-list.is-bulleted, ol.bf-rich-list-list) {
|
|
4203
|
+
padding-inline-start: var(--bf-leading-mark-group-inset);
|
|
4204
|
+
}
|
|
4205
|
+
|
|
3978
4206
|
:where(.bf-theme) :where(.bf-rich-list-list) > .bf-list-item:is(.is-ticked, .is-crossed) {
|
|
3979
|
-
padding-inline-start:
|
|
4207
|
+
padding-inline-start: var(--bf-leading-mark-offset);
|
|
3980
4208
|
}
|
|
3981
4209
|
|
|
3982
4210
|
:where(.bf-theme) :where(.bf-rich-list-list) > .bf-list-item:is(.is-ticked, .is-crossed)::before {
|
|
@@ -3986,7 +4214,7 @@ html.u-baseline-grid::after {
|
|
|
3986
4214
|
}
|
|
3987
4215
|
|
|
3988
4216
|
:where(.bf-theme) :where(.bf-rich-list-list.is-bulleted) > :where(.bf-list-item) {
|
|
3989
|
-
padding-inline-start:
|
|
4217
|
+
padding-inline-start: var(--bf-leading-mark-offset);
|
|
3990
4218
|
}
|
|
3991
4219
|
|
|
3992
4220
|
:where(.bf-theme) :where(.bf-rich-list-list.is-bulleted) > :where(.bf-list-item)::before {
|
|
@@ -4005,7 +4233,7 @@ html.u-baseline-grid::after {
|
|
|
4005
4233
|
|
|
4006
4234
|
:where(.bf-theme) :where(ol.bf-rich-list-list) > :where(.bf-list-item) {
|
|
4007
4235
|
counter-increment: bf-rich-horizontal-counter;
|
|
4008
|
-
padding-inline-start:
|
|
4236
|
+
padding-inline-start: var(--bf-leading-mark-offset);
|
|
4009
4237
|
}
|
|
4010
4238
|
|
|
4011
4239
|
:where(.bf-theme) :where(ol.bf-rich-list-list) > :where(.bf-list-item)::before {
|
|
@@ -4052,7 +4280,7 @@ html.u-baseline-grid::after {
|
|
|
4052
4280
|
}
|
|
4053
4281
|
}
|
|
4054
4282
|
|
|
4055
|
-
@container bf-rich-list (width >=
|
|
4283
|
+
@container bf-rich-list (width >= 45rem) {
|
|
4056
4284
|
:where(.bf-theme) :where(.bf-rich-list.is-horizontal.is-50-50) > :where(.bf-rich-list-layout) {
|
|
4057
4285
|
column-gap: var(--bf-grid-gap-inline);
|
|
4058
4286
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
@@ -4066,7 +4294,7 @@ html.u-baseline-grid::after {
|
|
|
4066
4294
|
grid-column: 2;
|
|
4067
4295
|
}
|
|
4068
4296
|
|
|
4069
|
-
:where(.bf-theme) :where(.bf-rich-list.is-horizontal) > :where(.bf-rich-list-layout) > :where(.bf-rich-list-cta) {
|
|
4297
|
+
:where(.bf-theme) :where(.bf-rich-list.is-horizontal.is-50-50) > :where(.bf-rich-list-layout) > :where(.bf-rich-list-cta) {
|
|
4070
4298
|
grid-column: 2;
|
|
4071
4299
|
}
|
|
4072
4300
|
}
|
|
@@ -4081,7 +4309,6 @@ html.u-baseline-grid::after {
|
|
|
4081
4309
|
|
|
4082
4310
|
:where(.bf-theme) :where(.bf-rich-list.is-vertical) :where(.bf-rich-list-media) {
|
|
4083
4311
|
container-type: inline-size;
|
|
4084
|
-
padding-block-end: var(--bf-section-space-shallow);
|
|
4085
4312
|
}
|
|
4086
4313
|
|
|
4087
4314
|
:where(.bf-theme) :where(.bf-rich-list.is-vertical.is-flipped) :where(.bf-rich-list-media) {
|
|
@@ -4100,7 +4327,7 @@ html.u-baseline-grid::after {
|
|
|
4100
4327
|
/* The media object deliberately stretches across fluid 1/2 and 2/3 ratios.
|
|
4101
4328
|
Snap that resulting block, rather than resetting content spacing, so each
|
|
4102
4329
|
tier's baseline survives both portrait and landscape allocations. */
|
|
4103
|
-
@supports (block-size: calc-size(auto, round(up, size,
|
|
4330
|
+
@supports (block-size: calc-size(auto, round(up, size, 0.0625rem))) {
|
|
4104
4331
|
:where(.bf-theme) :where(.bf-rich-list-media-frame) {
|
|
4105
4332
|
block-size: calc-size(auto, round(up, size, var(--bf-baseline)));
|
|
4106
4333
|
}
|
|
@@ -4143,11 +4370,7 @@ html.u-baseline-grid::after {
|
|
|
4143
4370
|
/* Auto height has no shallow media wrapper in Vanilla. At narrow widths it
|
|
4144
4371
|
remains a normal 3:2 frame; at the wide split it stretches with the content
|
|
4145
4372
|
rail, clamped between the equivalent 16:9 and 2:3 heights. */
|
|
4146
|
-
|
|
4147
|
-
padding-block-end: 0;
|
|
4148
|
-
}
|
|
4149
|
-
|
|
4150
|
-
@container bf-rich-list (width >= 64.75rem) {
|
|
4373
|
+
@container bf-rich-list (width >= 45rem) {
|
|
4151
4374
|
:where(.bf-theme) :where(.bf-rich-list.is-vertical) > :where(.bf-rich-list-layout) {
|
|
4152
4375
|
align-items: stretch;
|
|
4153
4376
|
column-gap: var(--bf-grid-gap-inline);
|
|
@@ -4196,7 +4419,7 @@ html.u-baseline-grid::after {
|
|
|
4196
4419
|
min-block-size: 56.25cqi;
|
|
4197
4420
|
}
|
|
4198
4421
|
|
|
4199
|
-
@supports (min-block-size: round(up,
|
|
4422
|
+
@supports (min-block-size: round(up, 0.0625rem, 0.0625rem)) {
|
|
4200
4423
|
:where(.bf-theme) :where(.bf-rich-list-media.is-auto-height) :where(.bf-rich-list-media-frame) {
|
|
4201
4424
|
max-block-size: round(down, 150cqi, var(--bf-baseline));
|
|
4202
4425
|
min-block-size: round(up, 56.25cqi, var(--bf-baseline));
|
|
@@ -4214,6 +4437,7 @@ html.u-baseline-grid::after {
|
|
|
4214
4437
|
|
|
4215
4438
|
|
|
4216
4439
|
:where(.bf-theme) :where(.bf-panel) {
|
|
4440
|
+
--bf-panel-content-padding-inline: var(--bf-component-inline-inset-continuation);
|
|
4217
4441
|
background: var(--bf-color-background-default);
|
|
4218
4442
|
color: var(--bf-color-text-default);
|
|
4219
4443
|
display: flex;
|
|
@@ -4236,6 +4460,9 @@ html.u-baseline-grid::after {
|
|
|
4236
4460
|
overscroll-behavior: contain;
|
|
4237
4461
|
}
|
|
4238
4462
|
|
|
4463
|
+
/* Panel chrome and content consume the live page-grid gutter through a local
|
|
4464
|
+
* derived property, so their internal text rails follow the same
|
|
4465
|
+
* viewport brackets as surrounding page content. */
|
|
4239
4466
|
:where(.bf-theme) :where(.bf-panel-header) {
|
|
4240
4467
|
align-items: start;
|
|
4241
4468
|
display: flex;
|
|
@@ -4244,7 +4471,7 @@ html.u-baseline-grid::after {
|
|
|
4244
4471
|
justify-content: space-between;
|
|
4245
4472
|
padding-block-end: var(--bf-panel-padding-block);
|
|
4246
4473
|
padding-block-start: var(--bf-panel-padding-block);
|
|
4247
|
-
padding-inline: var(--bf-panel-padding-inline);
|
|
4474
|
+
padding-inline: var(--bf-panel-content-padding-inline, var(--bf-panel-padding-inline));
|
|
4248
4475
|
}
|
|
4249
4476
|
|
|
4250
4477
|
/* A navigation brand keeps the Canonical tag attached to the panel's top edge
|
|
@@ -4254,17 +4481,13 @@ html.u-baseline-grid::after {
|
|
|
4254
4481
|
gap: 0;
|
|
4255
4482
|
padding-block: 0;
|
|
4256
4483
|
padding-inline-end: 0;
|
|
4257
|
-
padding-inline-start: var(--bf-panel-padding-inline);
|
|
4484
|
+
padding-inline-start: var(--bf-panel-content-padding-inline, var(--bf-panel-padding-inline));
|
|
4258
4485
|
}
|
|
4259
4486
|
|
|
4260
4487
|
:where(.bf-theme) :where(.bf-panel-header.is-navigation-brand) > :where(.bf-top-navigation-logo.is-canonical-tagged) {
|
|
4261
4488
|
inline-size: 100%;
|
|
4262
4489
|
}
|
|
4263
4490
|
|
|
4264
|
-
:where(.bf-theme) :where(.bf-panel-header.is-navigation-brand) :where(.bf-top-navigation-logo-title) {
|
|
4265
|
-
transform: translateY(var(--bf-navigation-brand-title-optical-offset-block));
|
|
4266
|
-
}
|
|
4267
|
-
|
|
4268
4491
|
:where(.bf-theme) :where(.bf-panel-header) > :where(.bf-panel-title) {
|
|
4269
4492
|
min-inline-size: 0;
|
|
4270
4493
|
}
|
|
@@ -4285,10 +4508,10 @@ html.u-baseline-grid::after {
|
|
|
4285
4508
|
flex-wrap: wrap;
|
|
4286
4509
|
gap: var(--bf-field-gap);
|
|
4287
4510
|
justify-content: space-between;
|
|
4288
|
-
min-block-size: calc(var(--bf-control-box-size-compact) +
|
|
4511
|
+
min-block-size: calc(var(--bf-control-box-size-compact) + var(--bf-panel-padding-block));
|
|
4289
4512
|
padding-block-end: var(--bf-panel-padding-block);
|
|
4290
|
-
padding-block-start:
|
|
4291
|
-
padding-inline: var(--bf-panel-padding-inline);
|
|
4513
|
+
padding-block-start: 0;
|
|
4514
|
+
padding-inline: var(--bf-panel-content-padding-inline, var(--bf-panel-padding-inline));
|
|
4292
4515
|
}
|
|
4293
4516
|
|
|
4294
4517
|
:where(.bf-theme) :where(.bf-panel-footer.is-sticky) {
|
|
@@ -4350,8 +4573,8 @@ html.u-baseline-grid::after {
|
|
|
4350
4573
|
}
|
|
4351
4574
|
|
|
4352
4575
|
:where(.bf-theme) :where(.bf-panel-toggle:focus-visible) {
|
|
4353
|
-
outline:
|
|
4354
|
-
outline-offset:
|
|
4576
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
4577
|
+
outline-offset: 0.125rem;
|
|
4355
4578
|
}
|
|
4356
4579
|
|
|
4357
4580
|
:where(.bf-theme) :where(.bf-panel-content) {
|
|
@@ -4359,7 +4582,7 @@ html.u-baseline-grid::after {
|
|
|
4359
4582
|
min-block-size: 0;
|
|
4360
4583
|
padding-block-end: var(--bf-panel-padding-block);
|
|
4361
4584
|
padding-block-start: var(--bf-panel-padding-block);
|
|
4362
|
-
padding-inline: var(--bf-panel-padding-inline);
|
|
4585
|
+
padding-inline: var(--bf-panel-content-padding-inline, var(--bf-panel-padding-inline));
|
|
4363
4586
|
}
|
|
4364
4587
|
|
|
4365
4588
|
:where(.bf-theme) :where(.bf-panel-content.is-flush) {
|
|
@@ -4384,7 +4607,7 @@ html.u-baseline-grid::after {
|
|
|
4384
4607
|
overflow: auto;
|
|
4385
4608
|
padding-block-end: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
4386
4609
|
padding-block-start: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
4387
|
-
padding-inline: var(--bf-
|
|
4610
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
4388
4611
|
}
|
|
4389
4612
|
|
|
4390
4613
|
:where(.bf-theme) :where(.bf-card.is-highlighted) {
|
|
@@ -4409,7 +4632,7 @@ html.u-baseline-grid::after {
|
|
|
4409
4632
|
|
|
4410
4633
|
:where(.bf-theme) :where(a.bf-card:hover, a.bf-card.is-highlighted:hover, a.bf-card.is-overlay:hover, a.bf-card.is-muted:hover) {
|
|
4411
4634
|
border-color: var(--bf-color-focus);
|
|
4412
|
-
transform: translateY(-
|
|
4635
|
+
transform: translateY(-0.0625rem);
|
|
4413
4636
|
}
|
|
4414
4637
|
|
|
4415
4638
|
:where(.bf-theme) :where(a.bf-card:focus:not(:focus-visible), a.bf-card.is-highlighted:focus:not(:focus-visible), a.bf-card.is-overlay:focus:not(:focus-visible), a.bf-card.is-muted:focus:not(:focus-visible)) {
|
|
@@ -4417,8 +4640,8 @@ html.u-baseline-grid::after {
|
|
|
4417
4640
|
}
|
|
4418
4641
|
|
|
4419
4642
|
:where(.bf-theme) :where(a.bf-card:focus-visible, a.bf-card.is-highlighted:focus-visible, a.bf-card.is-overlay:focus-visible, a.bf-card.is-muted:focus-visible) {
|
|
4420
|
-
outline:
|
|
4421
|
-
outline-offset: -
|
|
4643
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
4644
|
+
outline-offset: -0.125rem;
|
|
4422
4645
|
}
|
|
4423
4646
|
|
|
4424
4647
|
:where(.bf-theme) :where(.bf-card.is-preview) {
|
|
@@ -4501,7 +4724,7 @@ html.u-baseline-grid::after {
|
|
|
4501
4724
|
min-inline-size: 0;
|
|
4502
4725
|
padding-block-end: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
4503
4726
|
padding-block-start: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
4504
|
-
padding-inline: var(--bf-
|
|
4727
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
4505
4728
|
text-align: left;
|
|
4506
4729
|
}
|
|
4507
4730
|
|
|
@@ -4514,7 +4737,7 @@ html.u-baseline-grid::after {
|
|
|
4514
4737
|
:where(.bf-theme) :where(button.bf-option-card:hover:not(:disabled)) {
|
|
4515
4738
|
background: var(--bf-color-background-hover);
|
|
4516
4739
|
border-color: var(--bf-color-focus);
|
|
4517
|
-
transform: translateY(-
|
|
4740
|
+
transform: translateY(-0.0625rem);
|
|
4518
4741
|
}
|
|
4519
4742
|
|
|
4520
4743
|
:where(.bf-theme) :where(.bf-option-card.is-active),
|
|
@@ -4525,8 +4748,8 @@ html.u-baseline-grid::after {
|
|
|
4525
4748
|
}
|
|
4526
4749
|
|
|
4527
4750
|
:where(.bf-theme) :where(button.bf-option-card:focus-visible) {
|
|
4528
|
-
outline:
|
|
4529
|
-
outline-offset: -
|
|
4751
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
4752
|
+
outline-offset: -0.125rem;
|
|
4530
4753
|
}
|
|
4531
4754
|
|
|
4532
4755
|
:where(.bf-theme) :where(.bf-option-card-label) {
|
|
@@ -4574,7 +4797,7 @@ html.u-baseline-grid::after {
|
|
|
4574
4797
|
/* Snap the grid-row wrapper after intrinsic image/copy measurement. Because
|
|
4575
4798
|
the card flexes inside it, peers retain Vanilla's equal-height row while
|
|
4576
4799
|
the card edge and the following row both land on BF baselines. */
|
|
4577
|
-
@supports (block-size: calc-size(auto, round(up, size,
|
|
4800
|
+
@supports (block-size: calc-size(auto, round(up, size, 0.0625rem))) {
|
|
4578
4801
|
:where(.bf-theme) :where(.bf-content-card-wrapper) {
|
|
4579
4802
|
block-size: calc-size(auto, round(up, size, var(--bf-baseline)));
|
|
4580
4803
|
}
|
|
@@ -4751,7 +4974,7 @@ html.u-baseline-grid::after {
|
|
|
4751
4974
|
text-transform: var(--bf-h1-text-transform);
|
|
4752
4975
|
}
|
|
4753
4976
|
|
|
4754
|
-
:where(.bf-theme) :where(.bf-content-card-main-link) {
|
|
4977
|
+
:where(.bf-theme) :where(a.bf-content-card-main-link) {
|
|
4755
4978
|
-webkit-box-orient: vertical;
|
|
4756
4979
|
-webkit-line-clamp: 3;
|
|
4757
4980
|
color: inherit;
|
|
@@ -4771,7 +4994,7 @@ html.u-baseline-grid::after {
|
|
|
4771
4994
|
z-index: 1;
|
|
4772
4995
|
}
|
|
4773
4996
|
|
|
4774
|
-
:where(.bf-theme) :where(.bf-content-card-main-link:is(:hover, :focus, :active, :visited)) {
|
|
4997
|
+
:where(.bf-theme) :where(a.bf-content-card-main-link:is(:hover, :focus, :active, :visited)) {
|
|
4775
4998
|
color: inherit;
|
|
4776
4999
|
text-decoration: none;
|
|
4777
5000
|
}
|
|
@@ -4781,8 +5004,8 @@ html.u-baseline-grid::after {
|
|
|
4781
5004
|
}
|
|
4782
5005
|
|
|
4783
5006
|
:where(.bf-theme) :where(.bf-content-card:has(.bf-content-card-main-link:focus-visible)) {
|
|
4784
|
-
outline:
|
|
4785
|
-
outline-offset:
|
|
5007
|
+
outline: 0.1875rem solid var(--bf-color-focus);
|
|
5008
|
+
outline-offset: 0.125rem;
|
|
4786
5009
|
}
|
|
4787
5010
|
|
|
4788
5011
|
/* All nested actions sit above the expanded main-link hit area. This includes
|
|
@@ -4858,6 +5081,7 @@ html.u-baseline-grid::after {
|
|
|
4858
5081
|
min-inline-size: 0;
|
|
4859
5082
|
overflow-x: auto;
|
|
4860
5083
|
padding-block-end: var(--bf-space-1);
|
|
5084
|
+
padding-block-start: calc(0.5rem - var(--bf-border-width));
|
|
4861
5085
|
padding-inline: var(--bf-space-2);
|
|
4862
5086
|
position: relative;
|
|
4863
5087
|
scrollbar-width: none;
|
|
@@ -4895,11 +5119,11 @@ html.u-baseline-grid::after {
|
|
|
4895
5119
|
|
|
4896
5120
|
/* Internal geometry responds to the card's allocated width. The card root is
|
|
4897
5121
|
only the container; the frame/media/body descendants own queried styles. */
|
|
4898
|
-
/* Vanilla switches the viewport at
|
|
5122
|
+
/* Vanilla switches the viewport at 38.75rem/64.75rem. A four-column card is much
|
|
4899
5123
|
narrower than that viewport after grid margins and gutters, so its internal
|
|
4900
|
-
horizontal layout uses Vanilla's
|
|
4901
|
-
eight-column 50/50 split starts at the roughly
|
|
4902
|
-
|
|
5124
|
+
horizontal layout uses Vanilla's 28.75rem minimum viable allocation. The
|
|
5125
|
+
eight-column 50/50 split starts at the roughly 60rem allocation left by the
|
|
5126
|
+
64.75rem viewport. This preserves the rendered switch in embedded BF grids. */
|
|
4903
5127
|
@container bf-content-card (width < 28.75rem) {
|
|
4904
5128
|
:where(.bf-theme) :where(.bf-content-card-frame:not(:has(.bf-content-card-footer))) {
|
|
4905
5129
|
min-block-size: 0;
|
|
@@ -5051,18 +5275,16 @@ html.u-baseline-grid::after {
|
|
|
5051
5275
|
|
|
5052
5276
|
:where(.bf-theme) :where(.bf-tabs) {
|
|
5053
5277
|
display: grid;
|
|
5278
|
+
gap: var(--bf-space-2);
|
|
5054
5279
|
min-inline-size: 0;
|
|
5055
5280
|
}
|
|
5056
5281
|
|
|
5057
5282
|
:where(.bf-theme) :where(.bf-tabs-list) {
|
|
5058
|
-
|
|
5283
|
+
box-shadow: inset 0 calc(var(--bf-border-width) * -1) 0 var(--bf-color-border-default);
|
|
5059
5284
|
display: flex;
|
|
5060
5285
|
gap: 0;
|
|
5061
5286
|
list-style: none;
|
|
5062
|
-
|
|
5063
|
-
than leaving each link's control compensation between its active rule and
|
|
5064
|
-
the list rule. */
|
|
5065
|
-
margin: 0 0 calc((var(--bf-baseline) * 2) - var(--bf-border-width));
|
|
5287
|
+
margin: 0;
|
|
5066
5288
|
min-inline-size: 0;
|
|
5067
5289
|
overflow-x: auto;
|
|
5068
5290
|
padding: 0;
|
|
@@ -5084,16 +5306,16 @@ html.u-baseline-grid::after {
|
|
|
5084
5306
|
align-items: center;
|
|
5085
5307
|
background: transparent;
|
|
5086
5308
|
border: 0;
|
|
5087
|
-
border-
|
|
5309
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
5088
5310
|
color: var(--bf-color-text-muted);
|
|
5089
5311
|
cursor: pointer;
|
|
5090
|
-
display:
|
|
5312
|
+
display: flex;
|
|
5091
5313
|
gap: calc(var(--bf-baseline) * 0.5);
|
|
5092
5314
|
justify-content: center;
|
|
5093
5315
|
margin-bottom: 0;
|
|
5094
|
-
padding-block-end: calc(var(--bf-
|
|
5095
|
-
padding-block-start: var(--bf-
|
|
5096
|
-
padding-inline: var(--bf-
|
|
5316
|
+
padding-block-end: calc(var(--bf-single-line-row-padding-block) + var(--bf-single-line-row-margin-block-end));
|
|
5317
|
+
padding-block-start: var(--bf-single-line-row-padding-block);
|
|
5318
|
+
padding-inline: var(--bf-component-inline-inset-action);
|
|
5097
5319
|
text-decoration: none;
|
|
5098
5320
|
}
|
|
5099
5321
|
|
|
@@ -5102,18 +5324,22 @@ html.u-baseline-grid::after {
|
|
|
5102
5324
|
color: var(--bf-color-text-default);
|
|
5103
5325
|
}
|
|
5104
5326
|
|
|
5327
|
+
:where(.bf-theme) :where(a.bf-tabs-link:hover) {
|
|
5328
|
+
text-decoration: none;
|
|
5329
|
+
}
|
|
5330
|
+
|
|
5105
5331
|
:where(.bf-theme) :where(.bf-tabs-link:focus:not(:focus-visible)) {
|
|
5106
5332
|
outline: none;
|
|
5107
5333
|
}
|
|
5108
5334
|
|
|
5109
5335
|
:where(.bf-theme) :where(.bf-tabs-link:focus-visible) {
|
|
5110
5336
|
color: var(--bf-color-text-default);
|
|
5111
|
-
outline:
|
|
5112
|
-
outline-offset: -
|
|
5337
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
5338
|
+
outline-offset: -0.125rem;
|
|
5113
5339
|
}
|
|
5114
5340
|
|
|
5115
5341
|
:where(.bf-theme) :where(.bf-tabs-link.is-active, .bf-tabs-link[aria-selected='true']) {
|
|
5116
|
-
|
|
5342
|
+
box-shadow: inset 0 calc(var(--bf-bar-thickness) * -1) 0 var(--bf-color-text-default);
|
|
5117
5343
|
color: var(--bf-color-text-default);
|
|
5118
5344
|
}
|
|
5119
5345
|
|
|
@@ -5163,10 +5389,10 @@ html.u-baseline-grid::after {
|
|
|
5163
5389
|
display: grid;
|
|
5164
5390
|
gap: calc(var(--bf-baseline) * 0.75);
|
|
5165
5391
|
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
5166
|
-
margin: 0 0
|
|
5392
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
5167
5393
|
min-inline-size: 0;
|
|
5168
|
-
padding-block:
|
|
5169
|
-
padding-inline: var(--bf-
|
|
5394
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
5395
|
+
padding-inline: var(--bf-component-inline-inset-field);
|
|
5170
5396
|
}
|
|
5171
5397
|
|
|
5172
5398
|
:where(.bf-theme) :where(.bf-choice-row:hover) {
|
|
@@ -5174,8 +5400,8 @@ html.u-baseline-grid::after {
|
|
|
5174
5400
|
}
|
|
5175
5401
|
|
|
5176
5402
|
:where(.bf-theme) :where(.bf-choice-row:has(:focus-visible)) {
|
|
5177
|
-
outline:
|
|
5178
|
-
outline-offset: -
|
|
5403
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
5404
|
+
outline-offset: -0.125rem;
|
|
5179
5405
|
}
|
|
5180
5406
|
|
|
5181
5407
|
:where(.bf-theme) :where(.bf-choice-row input[type='radio']) {
|
|
@@ -5222,7 +5448,7 @@ html.u-baseline-grid::after {
|
|
|
5222
5448
|
gap: var(--bf-field-gap);
|
|
5223
5449
|
padding-block-end: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
5224
5450
|
padding-block-start: var(--bf-panel-padding-block);
|
|
5225
|
-
padding-inline: var(--bf-
|
|
5451
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
5226
5452
|
}
|
|
5227
5453
|
|
|
5228
5454
|
:where(.bf-theme) :where(.bf-inline-options-heading) {
|
|
@@ -5296,11 +5522,11 @@ html.u-baseline-grid::after {
|
|
|
5296
5522
|
cursor: pointer;
|
|
5297
5523
|
display: inline-flex;
|
|
5298
5524
|
justify-content: center;
|
|
5299
|
-
margin-bottom:
|
|
5525
|
+
margin-bottom: var(--bf-single-line-row-margin-block-end);
|
|
5300
5526
|
max-inline-size: 100%;
|
|
5301
5527
|
overflow: hidden;
|
|
5302
|
-
padding-block:
|
|
5303
|
-
padding-inline: var(--bf-control-inline-padding-action);
|
|
5528
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
5529
|
+
padding-inline: var(--bf-control-inline-padding-action-bordered);
|
|
5304
5530
|
text-align: center;
|
|
5305
5531
|
text-decoration: none;
|
|
5306
5532
|
text-overflow: ellipsis;
|
|
@@ -5326,8 +5552,8 @@ html.u-baseline-grid::after {
|
|
|
5326
5552
|
}
|
|
5327
5553
|
|
|
5328
5554
|
:where(.bf-theme) :where(.bf-segmented-control-button:focus-visible, .bf-tab-buttons-button:focus-visible) {
|
|
5329
|
-
outline:
|
|
5330
|
-
outline-offset: -
|
|
5555
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
5556
|
+
outline-offset: -0.125rem;
|
|
5331
5557
|
z-index: 2;
|
|
5332
5558
|
}
|
|
5333
5559
|
|
|
@@ -5361,8 +5587,10 @@ html.u-baseline-grid::after {
|
|
|
5361
5587
|
font-weight: var(--bf-body-font-weight, 400);
|
|
5362
5588
|
line-height: var(--bf-body-line-height, 1.5rem);
|
|
5363
5589
|
color: var(--bf-color-text-muted);
|
|
5364
|
-
margin: 0;
|
|
5590
|
+
margin: 0 0 var(--bf-body-margin-bottom);
|
|
5365
5591
|
min-inline-size: 0;
|
|
5592
|
+
padding-block-end: 0;
|
|
5593
|
+
padding-block-start: var(--bf-body-nudge-start);
|
|
5366
5594
|
}
|
|
5367
5595
|
|
|
5368
5596
|
:where(.bf-theme) :where(.bf-breadcrumbs-item) + :where(.bf-breadcrumbs-item)::before {
|
|
@@ -5393,26 +5621,35 @@ html.u-baseline-grid::after {
|
|
|
5393
5621
|
:where(.bf-theme) :where(.bf-tab-section) {
|
|
5394
5622
|
container-name: bf-tab-section;
|
|
5395
5623
|
container-type: inline-size;
|
|
5396
|
-
margin
|
|
5624
|
+
margin: 0;
|
|
5397
5625
|
min-inline-size: 0;
|
|
5398
5626
|
}
|
|
5399
5627
|
|
|
5400
|
-
:where(.bf-theme) :where(.bf-tab-section
|
|
5401
|
-
|
|
5628
|
+
:where(.bf-theme) :where(.bf-tab-section-layout) {
|
|
5629
|
+
display: grid;
|
|
5630
|
+
grid-template-columns: minmax(0, 1fr);
|
|
5631
|
+
min-inline-size: 0;
|
|
5402
5632
|
}
|
|
5403
5633
|
|
|
5404
|
-
:where(.bf-theme) :where(.bf-tab-section
|
|
5405
|
-
|
|
5634
|
+
:where(.bf-theme) :where(.bf-tab-section-rule) {
|
|
5635
|
+
grid-column: 1 / -1;
|
|
5406
5636
|
}
|
|
5407
5637
|
|
|
5408
|
-
:where(.bf-theme) :where(.bf-tab-section-
|
|
5638
|
+
:where(.bf-theme) :where(.bf-tab-section-body) {
|
|
5639
|
+
--bf-stack-space: var(--bf-section-space-shallow);
|
|
5640
|
+
align-content: start;
|
|
5409
5641
|
display: grid;
|
|
5642
|
+
gap: var(--bf-stack-space);
|
|
5410
5643
|
grid-template-columns: minmax(0, 1fr);
|
|
5411
5644
|
min-inline-size: 0;
|
|
5412
5645
|
}
|
|
5413
5646
|
|
|
5414
|
-
:where(.bf-theme) :where(.bf-tab-section-
|
|
5415
|
-
|
|
5647
|
+
:where(.bf-theme) :where(.bf-tab-section-copy) {
|
|
5648
|
+
align-content: start;
|
|
5649
|
+
display: grid;
|
|
5650
|
+
grid-template-columns: minmax(0, 1fr);
|
|
5651
|
+
min-inline-size: 0;
|
|
5652
|
+
row-gap: var(--bf-space-1);
|
|
5416
5653
|
}
|
|
5417
5654
|
|
|
5418
5655
|
:where(.bf-theme) :where(.bf-tab-section-header, .bf-tab-section-intro, .bf-tab-section-tabs) {
|
|
@@ -5420,51 +5657,50 @@ html.u-baseline-grid::after {
|
|
|
5420
5657
|
overflow-wrap: anywhere;
|
|
5421
5658
|
}
|
|
5422
5659
|
|
|
5423
|
-
|
|
5424
|
-
|
|
5425
|
-
child's semantic margins. */
|
|
5426
|
-
:where(.bf-theme) :where(.bf-tab-section:not(.is-50-50)) > :where(.bf-tab-section-layout) > :where(.bf-tab-section-tabs),
|
|
5427
|
-
:where(.bf-theme) :where(.bf-tab-section.is-50-50) > :where(.bf-tab-section-layout:has(> .bf-tab-section-intro)) > :where(.bf-tab-section-tabs) {
|
|
5428
|
-
padding-block-start: var(--bf-section-space-shallow);
|
|
5660
|
+
:where(.bf-theme) :where(.bf-tab-section-tabs) {
|
|
5661
|
+
align-self: start;
|
|
5429
5662
|
}
|
|
5430
5663
|
|
|
5431
|
-
@container bf-tab-section (width >=
|
|
5432
|
-
:where(.bf-theme) :where(.bf-tab-section
|
|
5664
|
+
@container bf-tab-section (width >= 45rem) {
|
|
5665
|
+
:where(.bf-theme) :where(.bf-tab-section-body) {
|
|
5433
5666
|
column-gap: var(--bf-grid-gap-inline);
|
|
5434
5667
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
5435
5668
|
}
|
|
5436
5669
|
|
|
5437
|
-
:where(.bf-theme) :where(.bf-tab-section
|
|
5670
|
+
:where(.bf-theme) :where(.bf-tab-section-copy) {
|
|
5438
5671
|
grid-column: 1 / -1;
|
|
5672
|
+
grid-template-columns: subgrid;
|
|
5439
5673
|
}
|
|
5440
5674
|
|
|
5441
5675
|
/* With supporting copy or actions, Vanilla's heading row is 50/50 for all
|
|
5442
5676
|
three section layouts. The following tab rail retains its own requested
|
|
5443
5677
|
full, half or three-quarter span. */
|
|
5444
|
-
:where(.bf-theme) :where(.bf-tab-section-
|
|
5678
|
+
:where(.bf-theme) :where(.bf-tab-section-copy:has(> .bf-tab-section-intro)) > :where(.bf-tab-section-header) {
|
|
5445
5679
|
grid-column: 1 / 3;
|
|
5446
5680
|
}
|
|
5447
5681
|
|
|
5448
|
-
:where(.bf-theme) :where(.bf-tab-section
|
|
5682
|
+
:where(.bf-theme) :where(.bf-tab-section-copy) > :where(.bf-tab-section-intro) {
|
|
5449
5683
|
grid-column: 3 / -1;
|
|
5450
5684
|
}
|
|
5451
5685
|
|
|
5452
|
-
:where(.bf-theme) :where(.bf-tab-section
|
|
5686
|
+
:where(.bf-theme) :where(.bf-tab-section-body) > :where(.bf-tab-section-tabs) {
|
|
5453
5687
|
grid-column: 1 / -1;
|
|
5454
5688
|
}
|
|
5455
5689
|
|
|
5456
5690
|
/* An unadorned 50/50 section lets auto-placement put the heading and tabs
|
|
5457
5691
|
in the same row. If an intro exists, it occupies that right-hand cell and
|
|
5458
5692
|
the tabs move to the following row, matching the upstream rendering. */
|
|
5459
|
-
:where(.bf-theme) :where(.bf-tab-section.is-50-50)
|
|
5693
|
+
:where(.bf-theme) :where(.bf-tab-section.is-50-50) :where(.bf-tab-section-copy:not(:has(> .bf-tab-section-intro))) {
|
|
5460
5694
|
grid-column: 1 / 3;
|
|
5695
|
+
grid-row: 1;
|
|
5461
5696
|
}
|
|
5462
5697
|
|
|
5463
|
-
:where(.bf-theme) :where(.bf-tab-section.is-50-50)
|
|
5698
|
+
:where(.bf-theme) :where(.bf-tab-section.is-50-50) :where(.bf-tab-section-copy:not(:has(> .bf-tab-section-intro))) + :where(.bf-tab-section-tabs) {
|
|
5464
5699
|
grid-column: 3 / -1;
|
|
5700
|
+
grid-row: 1;
|
|
5465
5701
|
}
|
|
5466
5702
|
|
|
5467
|
-
:where(.bf-theme) :where(.bf-tab-section.is-25-75)
|
|
5703
|
+
:where(.bf-theme) :where(.bf-tab-section.is-25-75) :where(.bf-tab-section-body) > :where(.bf-tab-section-tabs) {
|
|
5468
5704
|
grid-column: 2 / -1;
|
|
5469
5705
|
}
|
|
5470
5706
|
}
|
|
@@ -5475,11 +5711,11 @@ html.u-baseline-grid::after {
|
|
|
5475
5711
|
container-type: inline-size;
|
|
5476
5712
|
display: grid;
|
|
5477
5713
|
grid-template-columns: auto minmax(0, 1fr);
|
|
5478
|
-
margin
|
|
5714
|
+
margin: 0;
|
|
5479
5715
|
min-inline-size: 0;
|
|
5480
5716
|
}
|
|
5481
5717
|
|
|
5482
|
-
:where(.bf-theme) :where(.bf-article-pagination-link) {
|
|
5718
|
+
:where(.bf-theme) :where(a.bf-article-pagination-link) {
|
|
5483
5719
|
background-color: var(--bf-color-background-default);
|
|
5484
5720
|
border: var(--bf-border-width) solid transparent;
|
|
5485
5721
|
box-sizing: border-box;
|
|
@@ -5495,8 +5731,9 @@ html.u-baseline-grid::after {
|
|
|
5495
5731
|
text-decoration: none;
|
|
5496
5732
|
}
|
|
5497
5733
|
|
|
5498
|
-
:where(.bf-theme) :where(.bf-article-pagination-link:hover) {
|
|
5734
|
+
:where(.bf-theme) :where(a.bf-article-pagination-link:hover) {
|
|
5499
5735
|
background-color: var(--bf-color-background-hover);
|
|
5736
|
+
text-decoration: none;
|
|
5500
5737
|
}
|
|
5501
5738
|
|
|
5502
5739
|
:where(.bf-theme) :where(.bf-article-pagination-link:focus:not(:focus-visible)) {
|
|
@@ -5504,8 +5741,8 @@ html.u-baseline-grid::after {
|
|
|
5504
5741
|
}
|
|
5505
5742
|
|
|
5506
5743
|
:where(.bf-theme) :where(.bf-article-pagination-link:focus-visible) {
|
|
5507
|
-
outline:
|
|
5508
|
-
outline-offset:
|
|
5744
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
5745
|
+
outline-offset: 0.125rem;
|
|
5509
5746
|
}
|
|
5510
5747
|
|
|
5511
5748
|
:where(.bf-theme) :where(.bf-article-pagination-link.is-previous) {
|
|
@@ -5607,12 +5844,12 @@ html.u-baseline-grid::after {
|
|
|
5607
5844
|
|
|
5608
5845
|
:where(.bf-theme) :where(.bf-article-pagination-link.is-previous:not(:only-child) .bf-article-pagination-label),
|
|
5609
5846
|
:where(.bf-theme) :where(.bf-article-pagination-link.is-previous:not(:only-child) .bf-article-pagination-title) {
|
|
5610
|
-
block-size:
|
|
5847
|
+
block-size: 0.0625rem;
|
|
5611
5848
|
border: 0;
|
|
5612
5849
|
clip: rect(0 0 0 0);
|
|
5613
5850
|
clip-path: inset(50%);
|
|
5614
|
-
inline-size:
|
|
5615
|
-
margin: -
|
|
5851
|
+
inline-size: 0.0625rem;
|
|
5852
|
+
margin: -0.0625rem;
|
|
5616
5853
|
overflow: hidden;
|
|
5617
5854
|
padding: 0;
|
|
5618
5855
|
position: absolute;
|
|
@@ -5630,6 +5867,10 @@ html.u-baseline-grid::after {
|
|
|
5630
5867
|
padding: 0;
|
|
5631
5868
|
}
|
|
5632
5869
|
|
|
5870
|
+
:where(.bf-theme) :where(.bf-list:has(> .bf-list-item:is(.is-ticked, .is-crossed)), ol.bf-list.is-divided) {
|
|
5871
|
+
padding-inline-start: var(--bf-leading-mark-group-inset);
|
|
5872
|
+
}
|
|
5873
|
+
|
|
5633
5874
|
:where(.bf-theme) :where(.bf-list-item) {
|
|
5634
5875
|
font-family: var(--bf-body-font-family, "Ubuntu Sans", "Segoe UI", system-ui, sans-serif);
|
|
5635
5876
|
font-size: var(--bf-body-font-size, 1rem);
|
|
@@ -5645,8 +5886,10 @@ html.u-baseline-grid::after {
|
|
|
5645
5886
|
}
|
|
5646
5887
|
|
|
5647
5888
|
:where(.bf-theme) :where(.bf-list.is-divided) > :where(.bf-list-item) {
|
|
5648
|
-
|
|
5649
|
-
|
|
5889
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
5890
|
+
box-shadow: inset 0 0.0625rem 0 var(--bf-color-border-low-contrast);
|
|
5891
|
+
margin-block-end: var(--bf-single-line-row-margin-block-end);
|
|
5892
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
5650
5893
|
}
|
|
5651
5894
|
|
|
5652
5895
|
:where(.bf-theme) :where(.bf-list.is-divided) > :where(.bf-list-item:first-child) {
|
|
@@ -5654,7 +5897,7 @@ html.u-baseline-grid::after {
|
|
|
5654
5897
|
}
|
|
5655
5898
|
|
|
5656
5899
|
:where(.bf-theme) :where(.bf-list-item.is-ticked, .bf-list-item.is-crossed) {
|
|
5657
|
-
padding-inline-start:
|
|
5900
|
+
padding-inline-start: var(--bf-leading-mark-offset);
|
|
5658
5901
|
position: relative;
|
|
5659
5902
|
}
|
|
5660
5903
|
|
|
@@ -5679,10 +5922,6 @@ html.u-baseline-grid::after {
|
|
|
5679
5922
|
background-image: var(--bf-ui-icon-error-grey);
|
|
5680
5923
|
}
|
|
5681
5924
|
|
|
5682
|
-
:where(.bf-theme) :where(.bf-list.is-divided) > :where(.bf-list-item.is-ticked, .bf-list-item.is-crossed)::before {
|
|
5683
|
-
top: calc(var(--bf-leading-icon-offset) + (var(--bf-baseline) * 0.5));
|
|
5684
|
-
}
|
|
5685
|
-
|
|
5686
5925
|
:where(.bf-theme) :where(ol.bf-list.is-divided) {
|
|
5687
5926
|
counter-reset: bf-list-counter;
|
|
5688
5927
|
}
|
|
@@ -5764,11 +6003,11 @@ html.u-baseline-grid::after {
|
|
|
5764
6003
|
background: var(--bf-color-background-alt);
|
|
5765
6004
|
color: var(--bf-color-link-default);
|
|
5766
6005
|
display: block;
|
|
5767
|
-
left: -
|
|
6006
|
+
left: -62.4375rem;
|
|
5768
6007
|
max-inline-size: calc(100vw - var(--bf-baseline));
|
|
5769
6008
|
position: absolute;
|
|
5770
6009
|
text-decoration: none;
|
|
5771
|
-
top: -
|
|
6010
|
+
top: -62.4375rem;
|
|
5772
6011
|
}
|
|
5773
6012
|
|
|
5774
6013
|
:where(.bf-theme) :where(.bf-skip-link:hover) {
|
|
@@ -5777,7 +6016,7 @@ html.u-baseline-grid::after {
|
|
|
5777
6016
|
|
|
5778
6017
|
:where(.bf-theme) :where(.bf-skip-link:focus, .bf-skip-link:focus-visible) {
|
|
5779
6018
|
left: calc(var(--bf-baseline) * 0.5);
|
|
5780
|
-
outline:
|
|
6019
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
5781
6020
|
outline-offset: 0;
|
|
5782
6021
|
padding-block: calc(var(--bf-baseline) * 1.5);
|
|
5783
6022
|
padding-inline: calc(var(--bf-baseline) * 1.5);
|
|
@@ -5828,15 +6067,16 @@ html.u-baseline-grid::after {
|
|
|
5828
6067
|
line-height: var(--bf-table-row-line-height);
|
|
5829
6068
|
margin: 0;
|
|
5830
6069
|
overflow: hidden;
|
|
5831
|
-
padding-block: var(--bf-table-row-padding);
|
|
5832
|
-
padding-
|
|
6070
|
+
padding-block-end: var(--bf-table-row-padding-block-end);
|
|
6071
|
+
padding-block-start: var(--bf-table-row-padding-block-start);
|
|
6072
|
+
padding-inline: var(--bf-component-inline-inset-field);
|
|
5833
6073
|
text-align: left;
|
|
5834
6074
|
text-overflow: ellipsis;
|
|
5835
6075
|
vertical-align: top;
|
|
5836
6076
|
}
|
|
5837
6077
|
|
|
5838
6078
|
:where(.bf-theme) :where(th.is-icon-placeholder, td.is-icon-placeholder, .bf-table-cell.is-icon-placeholder) {
|
|
5839
|
-
padding-inline-start: calc(
|
|
6079
|
+
padding-inline-start: calc(var(--bf-component-inline-inset-field) + var(--bf-leading-icon-size) + var(--bf-leading-icon-gap));
|
|
5840
6080
|
}
|
|
5841
6081
|
|
|
5842
6082
|
:where(.bf-theme) :where(th.is-icon-placeholder, td.is-icon-placeholder, .bf-table-cell.is-icon-placeholder) > :where(.bf-icon:first-child) {
|
|
@@ -5864,10 +6104,6 @@ html.u-baseline-grid::after {
|
|
|
5864
6104
|
border-block-end-color: var(--bf-color-border-low-contrast);
|
|
5865
6105
|
}
|
|
5866
6106
|
|
|
5867
|
-
:where(.bf-theme) :where(tbody tr:has(.bf-status-label) > td) {
|
|
5868
|
-
padding-block: calc((var(--bf-baseline) - var(--bf-table-row-border-size)) / 2);
|
|
5869
|
-
}
|
|
5870
|
-
|
|
5871
6107
|
:where(.bf-theme) :where(tbody tr:hover td) {
|
|
5872
6108
|
background: color-mix(in srgb, var(--bf-color-background-hover) 68%, transparent);
|
|
5873
6109
|
}
|
|
@@ -5888,21 +6124,23 @@ html.u-baseline-grid::after {
|
|
|
5888
6124
|
align-items: baseline;
|
|
5889
6125
|
background-color: var(--bf-ui-chip-background);
|
|
5890
6126
|
border: var(--bf-border-width) solid var(--bf-ui-chip-border);
|
|
5891
|
-
border-radius:
|
|
6127
|
+
border-radius: var(--bf-ui-chip-radius);
|
|
5892
6128
|
color: var(--bf-color-text-default);
|
|
5893
6129
|
display: inline-flex;
|
|
5894
6130
|
gap: 0;
|
|
5895
6131
|
inline-size: fit-content;
|
|
5896
6132
|
justify-self: start;
|
|
5897
|
-
margin: 0 var(--bf-ui-chip-padding-inline) var(--bf-
|
|
6133
|
+
margin: 0 var(--bf-ui-chip-padding-inline) var(--bf-single-line-row-margin-block-end) 0;
|
|
5898
6134
|
max-inline-size: 100%;
|
|
5899
|
-
|
|
5900
|
-
padding-
|
|
5901
|
-
padding-inline: var(--bf-ui-chip-padding-inline);
|
|
6135
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
6136
|
+
padding-inline: max(0rem, calc(var(--bf-ui-chip-padding-inline) - var(--bf-border-width)));
|
|
5902
6137
|
position: relative;
|
|
5903
6138
|
text-decoration: none;
|
|
5904
6139
|
user-select: none;
|
|
5905
|
-
|
|
6140
|
+
/* Inline-flex exposes the first text child's baseline. The surrounding
|
|
6141
|
+
border-aware row contract now matches buttons instead of inventing a
|
|
6142
|
+
second chip-only occupied height. */
|
|
6143
|
+
vertical-align: baseline;
|
|
5906
6144
|
white-space: nowrap;
|
|
5907
6145
|
}
|
|
5908
6146
|
|
|
@@ -5942,6 +6180,15 @@ html.u-baseline-grid::after {
|
|
|
5942
6180
|
--bf-ui-chip-background-active: var(--bf-color-background-information-active);
|
|
5943
6181
|
}
|
|
5944
6182
|
|
|
6183
|
+
:where(.bf-theme) :where(.bf-chip.is-borderless) {
|
|
6184
|
+
--bf-ui-chip-border: transparent;
|
|
6185
|
+
--bf-ui-chip-border-hover: transparent;
|
|
6186
|
+
--bf-ui-chip-border-active: transparent;
|
|
6187
|
+
--bf-ui-chip-background: transparent;
|
|
6188
|
+
--bf-ui-chip-background-hover: transparent;
|
|
6189
|
+
--bf-ui-chip-background-active: transparent;
|
|
6190
|
+
}
|
|
6191
|
+
|
|
5945
6192
|
:where(.bf-theme) :where(.bf-chip, .bf-chip.is-positive, .bf-chip.is-caution, .bf-chip.is-negative, .bf-chip.is-information):hover {
|
|
5946
6193
|
background-color: var(--bf-ui-chip-background-hover);
|
|
5947
6194
|
border-color: var(--bf-ui-chip-border-hover);
|
|
@@ -6026,16 +6273,20 @@ html.u-baseline-grid::after {
|
|
|
6026
6273
|
--bf-ui-status-background: color-mix(in srgb, var(--bf-color-background-alt) 70%, black);
|
|
6027
6274
|
--bf-ui-status-color: var(--bf-color-button-positive-text);
|
|
6028
6275
|
background-color: var(--bf-ui-status-background);
|
|
6276
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
6029
6277
|
color: var(--bf-ui-status-color);
|
|
6030
6278
|
display: inline-block;
|
|
6279
|
+
inline-size: fit-content;
|
|
6280
|
+
justify-self: start;
|
|
6031
6281
|
font-family: var(--bf-body-font-family, "Ubuntu Sans", "Segoe UI", system-ui, sans-serif);
|
|
6032
6282
|
font-size: var(--bf-body-font-size, 1rem);
|
|
6033
6283
|
font-style: var(--bf-body-font-style, normal);
|
|
6034
6284
|
font-weight: var(--bf-body-font-weight, 400);
|
|
6035
6285
|
line-height: var(--bf-body-line-height, 1.5rem);
|
|
6036
|
-
margin: 0;
|
|
6037
|
-
|
|
6038
|
-
|
|
6286
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
6287
|
+
/* Status paint is physically symmetric and shares the same occupied block
|
|
6288
|
+
as a button; typography still comes from the body role. */
|
|
6289
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
6039
6290
|
padding-inline: var(--bf-ui-chip-padding-inline);
|
|
6040
6291
|
text-align: center;
|
|
6041
6292
|
text-decoration: none;
|
|
@@ -6062,6 +6313,38 @@ html.u-baseline-grid::after {
|
|
|
6062
6313
|
--bf-ui-status-color: var(--bf-color-button-negative-text);
|
|
6063
6314
|
}
|
|
6064
6315
|
|
|
6316
|
+
/* Nested auxiliary surfaces fit a body-sized flex/grid host instead of
|
|
6317
|
+
carrying a second standalone occupied-row contract. This modifier is
|
|
6318
|
+
explicit so component density never changes merely because of ancestry. */
|
|
6319
|
+
:where(.bf-theme) :where(.bf-chip.is-nested, .bf-status-label.is-nested) {
|
|
6320
|
+
line-height: var(--bf-nested-auxiliary-line-height);
|
|
6321
|
+
margin-block: 0;
|
|
6322
|
+
padding-block: var(--bf-nested-auxiliary-padding-block);
|
|
6323
|
+
}
|
|
6324
|
+
|
|
6325
|
+
:where(.bf-theme) :where(.bf-chip.is-nested) {
|
|
6326
|
+
border: 0;
|
|
6327
|
+
box-shadow: inset 0 0 0 var(--bf-border-width) var(--bf-ui-chip-border);
|
|
6328
|
+
}
|
|
6329
|
+
|
|
6330
|
+
:where(.bf-theme) :where(.bf-chip.is-nested:hover) {
|
|
6331
|
+
box-shadow: inset 0 0 0 var(--bf-border-width) var(--bf-ui-chip-border-hover);
|
|
6332
|
+
}
|
|
6333
|
+
|
|
6334
|
+
:where(.bf-theme) :where(.bf-chip.is-nested:is(:active, [aria-pressed='true'], .is-selected)) {
|
|
6335
|
+
box-shadow: inset 0 0 0 var(--bf-border-width) var(--bf-ui-chip-border-active);
|
|
6336
|
+
}
|
|
6337
|
+
|
|
6338
|
+
:where(.bf-theme) :where(.bf-status-label.is-nested) {
|
|
6339
|
+
border-block-width: 0;
|
|
6340
|
+
}
|
|
6341
|
+
|
|
6342
|
+
:where(.bf-theme) :where(.bf-badge.is-nested) {
|
|
6343
|
+
align-self: center;
|
|
6344
|
+
line-height: var(--bf-nested-auxiliary-line-height);
|
|
6345
|
+
vertical-align: middle;
|
|
6346
|
+
}
|
|
6347
|
+
|
|
6065
6348
|
|
|
6066
6349
|
:where(.bf-theme) :where(.bf-chip-dismiss, .bf-search-box-reset, .bf-search-and-filter-clear) {
|
|
6067
6350
|
appearance: none;
|
|
@@ -6073,7 +6356,7 @@ html.u-baseline-grid::after {
|
|
|
6073
6356
|
margin: 0;
|
|
6074
6357
|
padding: 0;
|
|
6075
6358
|
position: relative;
|
|
6076
|
-
text-indent: -
|
|
6359
|
+
text-indent: -624.9375rem;
|
|
6077
6360
|
}
|
|
6078
6361
|
|
|
6079
6362
|
:where(.bf-theme) :where(.bf-chip-dismiss) {
|
|
@@ -6085,7 +6368,7 @@ html.u-baseline-grid::after {
|
|
|
6085
6368
|
:where(.bf-theme) :where(.bf-chip-dismiss, .bf-search-box-reset, .bf-search-and-filter-clear)::before,
|
|
6086
6369
|
:where(.bf-theme) :where(.bf-chip-dismiss, .bf-search-box-reset, .bf-search-and-filter-clear)::after {
|
|
6087
6370
|
background: currentColor;
|
|
6088
|
-
block-size:
|
|
6371
|
+
block-size: 0.125rem;
|
|
6089
6372
|
content: "";
|
|
6090
6373
|
inline-size: 0.75rem;
|
|
6091
6374
|
left: 50%;
|
|
@@ -6103,7 +6386,7 @@ html.u-baseline-grid::after {
|
|
|
6103
6386
|
|
|
6104
6387
|
|
|
6105
6388
|
:where(.bf-theme) :where(.bf-search-box) {
|
|
6106
|
-
--bf-search-box-action-inline-size: calc(1rem + (var(--bf-
|
|
6389
|
+
--bf-search-box-action-inline-size: calc(1rem + (var(--bf-component-inline-inset-field) * 2));
|
|
6107
6390
|
--bf-search-box-trailing-inline-size: calc((var(--bf-search-box-action-inline-size) * 2) + var(--bf-border-width));
|
|
6108
6391
|
display: flex;
|
|
6109
6392
|
inline-size: 100%;
|
|
@@ -6120,12 +6403,12 @@ html.u-baseline-grid::after {
|
|
|
6120
6403
|
|
|
6121
6404
|
:where(.bf-theme) :where(.bf-search-box-reset, .bf-search-box-button) {
|
|
6122
6405
|
align-items: center;
|
|
6123
|
-
block-size:
|
|
6406
|
+
block-size: auto;
|
|
6124
6407
|
display: inline-flex;
|
|
6125
6408
|
inline-size: var(--bf-search-box-action-inline-size);
|
|
6409
|
+
inset-block: 0;
|
|
6126
6410
|
justify-content: center;
|
|
6127
6411
|
position: absolute;
|
|
6128
|
-
top: 0;
|
|
6129
6412
|
}
|
|
6130
6413
|
|
|
6131
6414
|
:where(.bf-theme) :where(.bf-search-box-reset) {
|
|
@@ -6142,7 +6425,7 @@ html.u-baseline-grid::after {
|
|
|
6142
6425
|
inset-inline-end: var(--bf-border-width);
|
|
6143
6426
|
margin: 0;
|
|
6144
6427
|
padding: 0;
|
|
6145
|
-
text-indent: -
|
|
6428
|
+
text-indent: -624.9375rem;
|
|
6146
6429
|
}
|
|
6147
6430
|
|
|
6148
6431
|
:where(.bf-theme) :where(.bf-search-box-button)::before {
|
|
@@ -6169,8 +6452,8 @@ html.u-baseline-grid::after {
|
|
|
6169
6452
|
}
|
|
6170
6453
|
|
|
6171
6454
|
:where(.bf-theme) :where(.bf-search-box-reset:focus-visible, .bf-search-box-button:focus-visible) {
|
|
6172
|
-
outline:
|
|
6173
|
-
outline-offset: -
|
|
6455
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
6456
|
+
outline-offset: -0.125rem;
|
|
6174
6457
|
}
|
|
6175
6458
|
|
|
6176
6459
|
:where(.bf-theme) :where(.bf-search-and-filter) {
|
|
@@ -6185,7 +6468,7 @@ html.u-baseline-grid::after {
|
|
|
6185
6468
|
:where(.bf-theme) :where(.bf-search-and-filter-search-container) {
|
|
6186
6469
|
align-items: stretch;
|
|
6187
6470
|
background: transparent;
|
|
6188
|
-
box-shadow: inset 0 -
|
|
6471
|
+
box-shadow: inset 0 -0.0625rem 0 var(--bf-color-border-high-contrast);
|
|
6189
6472
|
display: flex;
|
|
6190
6473
|
flex-wrap: wrap;
|
|
6191
6474
|
gap: var(--bf-field-gap);
|
|
@@ -6201,7 +6484,7 @@ html.u-baseline-grid::after {
|
|
|
6201
6484
|
}
|
|
6202
6485
|
|
|
6203
6486
|
:where(.bf-theme) :where(.bf-search-and-filter-box) {
|
|
6204
|
-
--bf-search-and-filter-action-inline-size: calc(1rem + (var(--bf-
|
|
6487
|
+
--bf-search-and-filter-action-inline-size: calc(1rem + (var(--bf-component-inline-inset-field) * 2));
|
|
6205
6488
|
--bf-search-and-filter-trailing-inline-size: calc(var(--bf-search-and-filter-action-inline-size) * 2);
|
|
6206
6489
|
display: inline-flex;
|
|
6207
6490
|
flex: 1 1 12rem;
|
|
@@ -6218,17 +6501,17 @@ html.u-baseline-grid::after {
|
|
|
6218
6501
|
:where(.bf-theme) :where(.bf-search-and-filter-search-button) {
|
|
6219
6502
|
appearance: none;
|
|
6220
6503
|
background: transparent;
|
|
6221
|
-
block-size:
|
|
6504
|
+
block-size: auto;
|
|
6222
6505
|
border: 0;
|
|
6223
6506
|
color: var(--bf-color-text-default);
|
|
6224
6507
|
cursor: pointer;
|
|
6225
6508
|
inline-size: var(--bf-search-and-filter-action-inline-size);
|
|
6509
|
+
inset-block: 0;
|
|
6226
6510
|
inset-inline-end: 0;
|
|
6227
6511
|
margin: 0;
|
|
6228
6512
|
padding: 0;
|
|
6229
6513
|
position: absolute;
|
|
6230
|
-
text-indent: -
|
|
6231
|
-
top: 0;
|
|
6514
|
+
text-indent: -624.9375rem;
|
|
6232
6515
|
}
|
|
6233
6516
|
|
|
6234
6517
|
:where(.bf-theme) :where(.bf-search-and-filter-search-button)::before {
|
|
@@ -6255,16 +6538,16 @@ html.u-baseline-grid::after {
|
|
|
6255
6538
|
}
|
|
6256
6539
|
|
|
6257
6540
|
:where(.bf-theme) :where(.bf-search-and-filter-search-button:focus-visible, .bf-search-and-filter-selected-count:focus-visible) {
|
|
6258
|
-
outline:
|
|
6259
|
-
outline-offset: -
|
|
6541
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
6542
|
+
outline-offset: -0.125rem;
|
|
6260
6543
|
}
|
|
6261
6544
|
|
|
6262
6545
|
:where(.bf-theme) :where(.bf-search-and-filter-clear) {
|
|
6263
|
-
block-size:
|
|
6546
|
+
block-size: auto;
|
|
6264
6547
|
inline-size: var(--bf-search-and-filter-action-inline-size);
|
|
6548
|
+
inset-block: 0;
|
|
6265
6549
|
inset-inline-end: var(--bf-search-and-filter-action-inline-size);
|
|
6266
6550
|
position: absolute;
|
|
6267
|
-
top: 0;
|
|
6268
6551
|
}
|
|
6269
6552
|
|
|
6270
6553
|
:where(.bf-theme) :where(.bf-search-and-filter-selected-count) {
|
|
@@ -6294,12 +6577,12 @@ html.u-baseline-grid::after {
|
|
|
6294
6577
|
background-color: var(--bf-color-background-inputs);
|
|
6295
6578
|
border: var(--bf-border-width) solid var(--bf-color-border-default);
|
|
6296
6579
|
border-top: 0;
|
|
6297
|
-
box-shadow: 0
|
|
6580
|
+
box-shadow: 0 1.5rem 4.5rem rgba(0, 0, 0, 0.38);
|
|
6298
6581
|
display: grid;
|
|
6299
6582
|
gap: var(--bf-field-gap);
|
|
6300
6583
|
opacity: 1;
|
|
6301
6584
|
padding-bottom: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
6302
|
-
padding-inline: var(--bf-
|
|
6585
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
6303
6586
|
padding-top: var(--bf-panel-padding-block);
|
|
6304
6587
|
position: absolute;
|
|
6305
6588
|
top: 100%;
|
|
@@ -6344,12 +6627,6 @@ html.u-baseline-grid::after {
|
|
|
6344
6627
|
}
|
|
6345
6628
|
|
|
6346
6629
|
:where(.bf-theme) :where(.bf-filter-panel-section-heading) {
|
|
6347
|
-
font-family: var(--bf-h6-font-family, "Ubuntu Sans", "Segoe UI", system-ui, sans-serif);
|
|
6348
|
-
font-size: var(--bf-h6-font-size, 1rem);
|
|
6349
|
-
font-style: var(--bf-h6-font-style, normal);
|
|
6350
|
-
font-weight: var(--bf-h6-font-weight, 550);
|
|
6351
|
-
line-height: var(--bf-h6-line-height, 1.5rem);
|
|
6352
|
-
color: var(--bf-color-text-muted);
|
|
6353
6630
|
margin: 0;
|
|
6354
6631
|
padding-block: 0;
|
|
6355
6632
|
}
|
|
@@ -6396,7 +6673,7 @@ html.u-baseline-grid::after {
|
|
|
6396
6673
|
:where(.bf-theme) :where(.bf-list-tree) {
|
|
6397
6674
|
list-style: none;
|
|
6398
6675
|
margin: 0;
|
|
6399
|
-
padding-left:
|
|
6676
|
+
padding-left: 0;
|
|
6400
6677
|
}
|
|
6401
6678
|
|
|
6402
6679
|
:where(.bf-theme) :where(.bf-list-tree) :where(.bf-list-tree) {
|
|
@@ -6410,27 +6687,29 @@ html.u-baseline-grid::after {
|
|
|
6410
6687
|
}
|
|
6411
6688
|
|
|
6412
6689
|
:where(.bf-theme) :where(.bf-list-tree-item) {
|
|
6690
|
+
display: grid;
|
|
6413
6691
|
margin: 0;
|
|
6414
|
-
padding-left:
|
|
6692
|
+
padding-left: 0;
|
|
6415
6693
|
position: relative;
|
|
6416
6694
|
}
|
|
6417
6695
|
|
|
6418
|
-
:where(.bf-theme) :where(.bf-list-tree-link) {
|
|
6696
|
+
:where(.bf-theme) :where(a.bf-list-tree-link) {
|
|
6419
6697
|
font-family: var(--bf-body-font-family, "Ubuntu Sans", "Segoe UI", system-ui, sans-serif);
|
|
6420
6698
|
font-size: var(--bf-body-font-size, 1rem);
|
|
6421
6699
|
font-style: var(--bf-body-font-style, normal);
|
|
6422
6700
|
font-weight: var(--bf-body-font-weight, 400);
|
|
6423
6701
|
line-height: var(--bf-body-line-height, 1.5rem);
|
|
6424
6702
|
color: var(--bf-color-text-default);
|
|
6703
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
6425
6704
|
cursor: pointer;
|
|
6426
6705
|
display: block;
|
|
6427
|
-
margin: 0;
|
|
6428
|
-
|
|
6429
|
-
padding-
|
|
6706
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
6707
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
6708
|
+
padding-inline: var(--bf-component-inline-inset-continuation) var(--bf-component-inline-inset-action);
|
|
6430
6709
|
text-decoration: none;
|
|
6431
6710
|
}
|
|
6432
6711
|
|
|
6433
|
-
:where(.bf-theme) :where(.bf-list-tree-link
|
|
6712
|
+
:where(.bf-theme) :where(a.bf-list-tree-link:hover) {
|
|
6434
6713
|
color: var(--bf-color-link-default);
|
|
6435
6714
|
text-decoration: underline;
|
|
6436
6715
|
}
|
|
@@ -6444,8 +6723,8 @@ html.u-baseline-grid::after {
|
|
|
6444
6723
|
}
|
|
6445
6724
|
|
|
6446
6725
|
:where(.bf-theme) :where(.bf-list-tree-link):focus-visible {
|
|
6447
|
-
outline:
|
|
6448
|
-
outline-offset: -
|
|
6726
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
6727
|
+
outline-offset: -0.125rem;
|
|
6449
6728
|
}
|
|
6450
6729
|
|
|
6451
6730
|
:where(.bf-theme) :where(.bf-list-tree-toggle) {
|
|
@@ -6457,14 +6736,14 @@ html.u-baseline-grid::after {
|
|
|
6457
6736
|
align-items: center;
|
|
6458
6737
|
background: transparent;
|
|
6459
6738
|
border: 0;
|
|
6739
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
6460
6740
|
color: var(--bf-color-text-default);
|
|
6461
6741
|
cursor: pointer;
|
|
6462
|
-
display:
|
|
6463
|
-
gap:
|
|
6464
|
-
margin: 0 0
|
|
6465
|
-
|
|
6466
|
-
padding-
|
|
6467
|
-
padding-inline: calc(var(--bf-baseline) * 0.25) calc(var(--bf-baseline) * 0.5);
|
|
6742
|
+
display: flex;
|
|
6743
|
+
gap: var(--bf-disclosure-gap);
|
|
6744
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
6745
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
6746
|
+
padding-inline: 0 calc(var(--bf-baseline) * 0.5);
|
|
6468
6747
|
text-align: left;
|
|
6469
6748
|
width: 100%;
|
|
6470
6749
|
}
|
|
@@ -6478,8 +6757,8 @@ html.u-baseline-grid::after {
|
|
|
6478
6757
|
}
|
|
6479
6758
|
|
|
6480
6759
|
:where(.bf-theme) :where(.bf-list-tree-toggle):focus-visible {
|
|
6481
|
-
outline:
|
|
6482
|
-
outline-offset: -
|
|
6760
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
6761
|
+
outline-offset: -0.125rem;
|
|
6483
6762
|
}
|
|
6484
6763
|
|
|
6485
6764
|
:where(.bf-theme) :where(.bf-list-tree-toggle)::before {
|
|
@@ -6491,20 +6770,63 @@ html.u-baseline-grid::after {
|
|
|
6491
6770
|
content: "";
|
|
6492
6771
|
flex: 0 0 1rem;
|
|
6493
6772
|
inline-size: 1rem;
|
|
6494
|
-
transform: rotate(-90deg);
|
|
6773
|
+
transform: translateY(var(--bf-disclosure-icon-optical-offset-block)) rotate(-90deg);
|
|
6495
6774
|
}
|
|
6496
6775
|
|
|
6497
6776
|
:where(.bf-theme) :where(.bf-list-tree-toggle[aria-expanded='true'])::before {
|
|
6498
|
-
transform: rotate(0deg);
|
|
6777
|
+
transform: translateY(var(--bf-disclosure-icon-optical-offset-block)) rotate(0deg);
|
|
6499
6778
|
}
|
|
6500
6779
|
|
|
6501
6780
|
|
|
6502
6781
|
:where(.bf-theme) :where(.bf-side-navigation, .bf-side-navigation.is-icons, .bf-side-navigation.is-accordion, .bf-side-navigation.is-raw-html) {
|
|
6782
|
+
/* Plain navigation commands use the action rail. Icon-led rows move only their mark canvas,
|
|
6783
|
+
so their copy reaches the shared continuation rail without a fourth
|
|
6784
|
+
component inset. Navigation depth is added separately below. */
|
|
6785
|
+
/* Navigation copy uses one continuation rail whether a row has a leading
|
|
6786
|
+
disclosure/icon slot or not. The mark canvas is derived backwards from
|
|
6787
|
+
that rail, so iconless rows never introduce a fourth text start. */
|
|
6788
|
+
--bf-side-navigation-content-inset: var(--bf-component-inline-inset-continuation);
|
|
6789
|
+
--bf-side-navigation-disclosure-inset: max(0rem, calc(var(--bf-component-inline-inset-continuation) - var(--bf-disclosure-icon-inline-size) - var(--bf-disclosure-gap)));
|
|
6790
|
+
--bf-side-navigation-depth-step: var(--bf-space-2);
|
|
6791
|
+
--bf-side-navigation-group-gap: 1.5rem;
|
|
6792
|
+
--bf-side-navigation-heading-list-gap: 0.5rem;
|
|
6503
6793
|
color: var(--bf-color-text-inactive);
|
|
6504
6794
|
display: block;
|
|
6505
6795
|
inline-size: 100%;
|
|
6506
6796
|
}
|
|
6507
6797
|
|
|
6798
|
+
:where(.bf-theme) :where(.bf-side-navigation-groups) {
|
|
6799
|
+
align-content: start;
|
|
6800
|
+
display: grid;
|
|
6801
|
+
gap: var(--bf-side-navigation-group-gap);
|
|
6802
|
+
}
|
|
6803
|
+
|
|
6804
|
+
:where(.bf-theme) :where(.bf-side-navigation-group) {
|
|
6805
|
+
display: grid;
|
|
6806
|
+
gap: var(--bf-side-navigation-heading-list-gap);
|
|
6807
|
+
min-inline-size: 0;
|
|
6808
|
+
}
|
|
6809
|
+
|
|
6810
|
+
/* Keep the divider and heading as one tight header. The group owns only the
|
|
6811
|
+
larger transition from that header to its list, so the compensated rule
|
|
6812
|
+
cannot change the heading/list phase. */
|
|
6813
|
+
:where(.bf-theme) :where(.bf-side-navigation-group-header) {
|
|
6814
|
+
display: grid;
|
|
6815
|
+
gap: 0rem;
|
|
6816
|
+
min-inline-size: 0;
|
|
6817
|
+
}
|
|
6818
|
+
|
|
6819
|
+
:where(.bf-theme) :where(.bf-side-navigation-group-header) > hr {
|
|
6820
|
+
inline-size: auto;
|
|
6821
|
+
margin-inline: var(--bf-side-navigation-content-inset) 0;
|
|
6822
|
+
}
|
|
6823
|
+
|
|
6824
|
+
/* A single-line group heading occupies four baselines. min-block-size keeps
|
|
6825
|
+
that phase exact while still allowing a long heading to wrap and grow. */
|
|
6826
|
+
:where(.bf-theme) :where(.bf-side-navigation-group-header) > :where(.bf-side-navigation-heading) {
|
|
6827
|
+
min-block-size: calc((var(--bf-baseline) * 4) - var(--bf-body-margin-bottom));
|
|
6828
|
+
}
|
|
6829
|
+
|
|
6508
6830
|
:where(.bf-theme) :where(.bf-side-navigation-drawer) {
|
|
6509
6831
|
background: var(--bf-color-background-default);
|
|
6510
6832
|
bottom: 0;
|
|
@@ -6521,7 +6843,7 @@ html.u-baseline-grid::after {
|
|
|
6521
6843
|
}
|
|
6522
6844
|
|
|
6523
6845
|
:where(.bf-theme) :where(.bf-side-navigation, .bf-side-navigation.is-icons, .bf-side-navigation.is-accordion, .bf-side-navigation.is-raw-html):where(.is-drawer-expanded) :where(.bf-side-navigation-drawer) {
|
|
6524
|
-
box-shadow: 0
|
|
6846
|
+
box-shadow: 0 1.5rem 4.5rem rgba(0, 0, 0, 0.38);
|
|
6525
6847
|
transform: translateX(0);
|
|
6526
6848
|
}
|
|
6527
6849
|
|
|
@@ -6551,7 +6873,7 @@ html.u-baseline-grid::after {
|
|
|
6551
6873
|
border-bottom: var(--bf-border-width) solid var(--bf-color-border-low-contrast);
|
|
6552
6874
|
margin-bottom: calc(var(--bf-baseline) * 2);
|
|
6553
6875
|
padding-bottom: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
6554
|
-
padding-inline: var(--bf-
|
|
6876
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
6555
6877
|
padding-top: var(--bf-panel-padding-block);
|
|
6556
6878
|
position: sticky;
|
|
6557
6879
|
top: 0;
|
|
@@ -6574,9 +6896,9 @@ html.u-baseline-grid::after {
|
|
|
6574
6896
|
display: inline-flex;
|
|
6575
6897
|
gap: calc(var(--bf-baseline) * 0.5);
|
|
6576
6898
|
justify-content: center;
|
|
6577
|
-
margin: 0 0
|
|
6578
|
-
padding-block:
|
|
6579
|
-
padding-inline: var(--bf-control-inline-padding-action);
|
|
6899
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
6900
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
6901
|
+
padding-inline: var(--bf-control-inline-padding-action-bordered);
|
|
6580
6902
|
text-decoration: none;
|
|
6581
6903
|
}
|
|
6582
6904
|
|
|
@@ -6611,8 +6933,8 @@ html.u-baseline-grid::after {
|
|
|
6611
6933
|
}
|
|
6612
6934
|
|
|
6613
6935
|
:where(.bf-theme) :where(.bf-side-navigation-toggle:focus-visible) {
|
|
6614
|
-
outline:
|
|
6615
|
-
outline-offset: -
|
|
6936
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
6937
|
+
outline-offset: -0.125rem;
|
|
6616
6938
|
}
|
|
6617
6939
|
|
|
6618
6940
|
:where(.bf-theme) :where(.bf-side-navigation-heading, .bf-side-navigation-heading.is-linked) {
|
|
@@ -6624,22 +6946,23 @@ html.u-baseline-grid::after {
|
|
|
6624
6946
|
display: block;
|
|
6625
6947
|
margin: 0 0 var(--bf-body-margin-bottom);
|
|
6626
6948
|
padding-block: var(--bf-body-nudge-start) 0;
|
|
6949
|
+
padding-inline: var(--bf-side-navigation-content-inset);
|
|
6627
6950
|
}
|
|
6628
6951
|
|
|
6629
|
-
:where(.bf-theme) :where(.bf-side-navigation-
|
|
6630
|
-
|
|
6631
|
-
list-style: none;
|
|
6632
|
-
margin: 0 0 calc(var(--bf-baseline) * 2);
|
|
6633
|
-
padding: 0 0 calc((var(--bf-baseline) * 2) - var(--bf-border-width));
|
|
6952
|
+
:where(.bf-theme) :where(.bf-side-navigation-heading.is-linked) {
|
|
6953
|
+
padding-inline: 0;
|
|
6634
6954
|
}
|
|
6635
6955
|
|
|
6636
|
-
:where(.bf-theme) :where(.bf-side-navigation-list
|
|
6637
|
-
|
|
6638
|
-
|
|
6639
|
-
|
|
6956
|
+
:where(.bf-theme) :where(.bf-side-navigation-list) {
|
|
6957
|
+
display: grid;
|
|
6958
|
+
grid-auto-rows: var(--bf-single-line-row-block-size);
|
|
6959
|
+
list-style: none;
|
|
6960
|
+
margin: 0;
|
|
6961
|
+
padding: 0;
|
|
6640
6962
|
}
|
|
6641
6963
|
|
|
6642
6964
|
:where(.bf-theme) :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title) {
|
|
6965
|
+
display: grid;
|
|
6643
6966
|
margin: 0;
|
|
6644
6967
|
position: relative;
|
|
6645
6968
|
}
|
|
@@ -6651,23 +6974,26 @@ html.u-baseline-grid::after {
|
|
|
6651
6974
|
font-weight: var(--bf-body-font-weight, 400);
|
|
6652
6975
|
line-height: var(--bf-body-line-height, 1.5rem);
|
|
6653
6976
|
align-items: center;
|
|
6977
|
+
align-self: start;
|
|
6654
6978
|
background: transparent;
|
|
6655
6979
|
border: 0;
|
|
6980
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
6656
6981
|
color: var(--bf-color-text-inactive);
|
|
6657
6982
|
display: flex;
|
|
6658
6983
|
gap: calc(var(--bf-baseline) * 0.5);
|
|
6659
6984
|
inline-size: 100%;
|
|
6660
6985
|
justify-content: flex-start;
|
|
6661
|
-
margin: 0;
|
|
6662
|
-
|
|
6663
|
-
padding-
|
|
6664
|
-
|
|
6986
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
6987
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
6988
|
+
padding-inline: var(--bf-side-navigation-content-inset);
|
|
6989
|
+
--bf-side-navigation-row-inset: var(--bf-side-navigation-content-inset);
|
|
6665
6990
|
position: relative;
|
|
6666
6991
|
text-align: left;
|
|
6667
6992
|
text-decoration: none;
|
|
6668
6993
|
}
|
|
6669
6994
|
|
|
6670
6995
|
:where(.bf-theme) :where(.bf-side-navigation-accordion-button) {
|
|
6996
|
+
--bf-side-navigation-row-inset: var(--bf-side-navigation-disclosure-inset);
|
|
6671
6997
|
gap: var(--bf-disclosure-gap);
|
|
6672
6998
|
}
|
|
6673
6999
|
|
|
@@ -6676,22 +7002,21 @@ html.u-baseline-grid::after {
|
|
|
6676
7002
|
font-weight: 600;
|
|
6677
7003
|
}
|
|
6678
7004
|
|
|
6679
|
-
:where(.bf-theme) :where(.bf-side-navigation-heading, .bf-side-navigation-heading.is-linked),
|
|
6680
7005
|
:where(.bf-theme) :where(.bf-side-navigation-list) > :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title) > :where(.bf-side-navigation-link, .bf-side-navigation-text, .bf-side-navigation-accordion-button) {
|
|
6681
|
-
padding-inline-start: var(--bf-
|
|
7006
|
+
padding-inline-start: var(--bf-side-navigation-row-inset, var(--bf-side-navigation-content-inset));
|
|
6682
7007
|
}
|
|
6683
7008
|
|
|
6684
7009
|
:where(.bf-theme) :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
|
|
6685
7010
|
:where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
|
|
6686
7011
|
> :where(.bf-side-navigation-link, .bf-side-navigation-text, .bf-side-navigation-accordion-button) {
|
|
6687
|
-
padding-inline-start: calc(var(--bf-
|
|
7012
|
+
padding-inline-start: calc(var(--bf-side-navigation-row-inset, var(--bf-side-navigation-content-inset)) + var(--bf-side-navigation-depth-step));
|
|
6688
7013
|
}
|
|
6689
7014
|
|
|
6690
7015
|
:where(.bf-theme) :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
|
|
6691
7016
|
:where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
|
|
6692
7017
|
:where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
|
|
6693
7018
|
> :where(.bf-side-navigation-link, .bf-side-navigation-text, .bf-side-navigation-accordion-button) {
|
|
6694
|
-
padding-inline-start: calc(var(--bf-
|
|
7019
|
+
padding-inline-start: calc(var(--bf-side-navigation-row-inset, var(--bf-side-navigation-content-inset)) + (var(--bf-side-navigation-depth-step) * 2));
|
|
6695
7020
|
}
|
|
6696
7021
|
|
|
6697
7022
|
:where(.bf-theme) :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
|
|
@@ -6699,7 +7024,7 @@ html.u-baseline-grid::after {
|
|
|
6699
7024
|
:where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
|
|
6700
7025
|
:where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
|
|
6701
7026
|
> :where(.bf-side-navigation-link, .bf-side-navigation-text, .bf-side-navigation-accordion-button) {
|
|
6702
|
-
padding-inline-start: calc(var(--bf-
|
|
7027
|
+
padding-inline-start: calc(var(--bf-side-navigation-row-inset, var(--bf-side-navigation-content-inset)) + (var(--bf-side-navigation-depth-step) * 3));
|
|
6703
7028
|
}
|
|
6704
7029
|
|
|
6705
7030
|
:where(.bf-theme) :where(.bf-side-navigation-link:hover, .bf-side-navigation-accordion-button:hover) {
|
|
@@ -6708,13 +7033,17 @@ html.u-baseline-grid::after {
|
|
|
6708
7033
|
text-decoration: none;
|
|
6709
7034
|
}
|
|
6710
7035
|
|
|
7036
|
+
:where(.bf-theme) :where(a.bf-side-navigation-link:is(:hover, :active)) {
|
|
7037
|
+
text-decoration: none;
|
|
7038
|
+
}
|
|
7039
|
+
|
|
6711
7040
|
:where(.bf-theme) :where(.bf-side-navigation-link:focus:not(:focus-visible), .bf-side-navigation-accordion-button:focus:not(:focus-visible)) {
|
|
6712
7041
|
outline: none;
|
|
6713
7042
|
}
|
|
6714
7043
|
|
|
6715
7044
|
:where(.bf-theme) :where(.bf-side-navigation-link:focus-visible, .bf-side-navigation-accordion-button:focus-visible) {
|
|
6716
|
-
outline:
|
|
6717
|
-
outline-offset: -
|
|
7045
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
7046
|
+
outline-offset: -0.125rem;
|
|
6718
7047
|
}
|
|
6719
7048
|
|
|
6720
7049
|
:where(.bf-theme) :where(.bf-side-navigation-link.is-active, .bf-side-navigation-link[aria-current='page'], .bf-side-navigation-link[aria-current='true']) {
|
|
@@ -6885,13 +7214,17 @@ html.u-baseline-grid::after {
|
|
|
6885
7214
|
text-decoration: none;
|
|
6886
7215
|
}
|
|
6887
7216
|
|
|
7217
|
+
:where(.bf-theme) :where(a.bf-top-navigation-link:is(:hover, :active)) {
|
|
7218
|
+
text-decoration: none;
|
|
7219
|
+
}
|
|
7220
|
+
|
|
6888
7221
|
:where(.bf-theme) :where(.bf-top-navigation-link:focus:not(:focus-visible), .bf-top-navigation-menu-toggle:focus:not(:focus-visible), .bf-top-navigation-search-toggle:focus:not(:focus-visible)) {
|
|
6889
7222
|
outline: none;
|
|
6890
7223
|
}
|
|
6891
7224
|
|
|
6892
7225
|
:where(.bf-theme) :where(.bf-top-navigation-link:focus-visible, .bf-top-navigation-menu-toggle:focus-visible, .bf-top-navigation-search-toggle:focus-visible) {
|
|
6893
|
-
outline:
|
|
6894
|
-
outline-offset: -
|
|
7226
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
7227
|
+
outline-offset: -0.125rem;
|
|
6895
7228
|
}
|
|
6896
7229
|
|
|
6897
7230
|
:where(.bf-theme) :where(.bf-top-navigation-item.is-selected) > :where(.bf-top-navigation-link),
|
|
@@ -7015,8 +7348,8 @@ html.u-baseline-grid::after {
|
|
|
7015
7348
|
}
|
|
7016
7349
|
|
|
7017
7350
|
:where(.bf-theme) :where(.bf-top-navigation-dropdown-item:focus-visible) {
|
|
7018
|
-
outline:
|
|
7019
|
-
outline-offset: -
|
|
7351
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
7352
|
+
outline-offset: -0.125rem;
|
|
7020
7353
|
}
|
|
7021
7354
|
|
|
7022
7355
|
:where(.bf-theme) :where(.bf-top-navigation-search-label) {
|
|
@@ -7187,11 +7520,12 @@ html.u-baseline-grid::after {
|
|
|
7187
7520
|
content: "";
|
|
7188
7521
|
flex: 0 0 var(--bf-disclosure-icon-inline-size);
|
|
7189
7522
|
inline-size: var(--bf-disclosure-icon-inline-size);
|
|
7523
|
+
transform: translateY(var(--bf-disclosure-icon-optical-offset-block));
|
|
7190
7524
|
transition: transform 120ms ease;
|
|
7191
7525
|
}
|
|
7192
7526
|
|
|
7193
7527
|
:where(.bf-theme) :where(.bf-side-navigation-accordion-button[aria-expanded='false'], .bf-side-navigation-expand[aria-expanded='false'])::before {
|
|
7194
|
-
transform: rotate(-90deg);
|
|
7528
|
+
transform: translateY(var(--bf-disclosure-icon-optical-offset-block)) rotate(-90deg);
|
|
7195
7529
|
}
|
|
7196
7530
|
|
|
7197
7531
|
:where(.bf-theme) :where(.bf-side-navigation-expand) {
|
|
@@ -7256,14 +7590,34 @@ html.u-baseline-grid::after {
|
|
|
7256
7590
|
}
|
|
7257
7591
|
|
|
7258
7592
|
:where(.bf-theme) :where(.bf-side-navigation.is-icons) :where(.bf-side-navigation-link, .bf-side-navigation-text, .bf-side-navigation-accordion-button) {
|
|
7593
|
+
--bf-side-navigation-row-inset: max(0rem, calc(var(--bf-component-inline-inset-continuation) - 1rem - var(--bf-side-navigation-icon-gap)));
|
|
7259
7594
|
align-items: baseline;
|
|
7260
7595
|
column-gap: var(--bf-side-navigation-icon-gap);
|
|
7261
7596
|
}
|
|
7262
7597
|
|
|
7598
|
+
/* Icon navigation keeps one stable label edge. Rows may omit a decorative
|
|
7599
|
+
icon without collapsing the shared icon track and pulling their copy left. */
|
|
7600
|
+
:where(.bf-theme) :where(.bf-side-navigation.is-icons) :where(.bf-side-navigation-link, .bf-side-navigation-text):not(:has(> .bf-side-navigation-icon))::before {
|
|
7601
|
+
content: "";
|
|
7602
|
+
flex: 0 0 1rem;
|
|
7603
|
+
inline-size: 1rem;
|
|
7604
|
+
}
|
|
7605
|
+
|
|
7606
|
+
/* A collapsed icon rail cannot communicate an iconless destination. Remove
|
|
7607
|
+
the alignment spacer with the hidden label so it cannot become a blank
|
|
7608
|
+
visual affordance in that state. */
|
|
7609
|
+
:where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation.is-icons) :where(.bf-side-navigation-link, .bf-side-navigation-text):not(:has(> .bf-side-navigation-icon))::before {
|
|
7610
|
+
content: none;
|
|
7611
|
+
}
|
|
7612
|
+
|
|
7263
7613
|
/* Icon-navigation headings share the label edge, not the icon edge. This
|
|
7264
7614
|
keeps section names aligned with both the menu copy and a tagged wordmark. */
|
|
7265
|
-
:where(.bf-theme) :where(.bf-side-navigation.is-icons) :where(.bf-side-navigation-heading
|
|
7266
|
-
padding-inline-start:
|
|
7615
|
+
:where(.bf-theme) :where(.bf-side-navigation.is-icons) :where(.bf-side-navigation-heading:not(.is-linked)) {
|
|
7616
|
+
padding-inline-start: var(--bf-component-inline-inset-continuation);
|
|
7617
|
+
}
|
|
7618
|
+
|
|
7619
|
+
:where(.bf-theme) :where(.bf-side-navigation.is-icons) :where(.bf-side-navigation-heading.is-linked) > :where(.bf-side-navigation-link) {
|
|
7620
|
+
padding-inline-start: var(--bf-component-inline-inset-continuation);
|
|
7267
7621
|
}
|
|
7268
7622
|
|
|
7269
7623
|
:where(.bf-theme) :where(.bf-side-navigation-icon) > svg {
|
|
@@ -7307,7 +7661,7 @@ html.u-baseline-grid::after {
|
|
|
7307
7661
|
:where(.bf-theme) :where(.bf-contextual-menu-dropdown) {
|
|
7308
7662
|
background: var(--bf-color-background-default);
|
|
7309
7663
|
border: var(--bf-border-width) solid var(--bf-color-border-default);
|
|
7310
|
-
box-shadow: 0
|
|
7664
|
+
box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.28);
|
|
7311
7665
|
display: none;
|
|
7312
7666
|
list-style: none;
|
|
7313
7667
|
margin: 0;
|
|
@@ -7341,7 +7695,7 @@ html.u-baseline-grid::after {
|
|
|
7341
7695
|
}
|
|
7342
7696
|
|
|
7343
7697
|
:where(.bf-theme) :where(.bf-contextual-menu-group) + :where(.bf-contextual-menu-group) {
|
|
7344
|
-
box-shadow: inset 0
|
|
7698
|
+
box-shadow: inset 0 0.0625rem 0 var(--bf-color-border-default);
|
|
7345
7699
|
}
|
|
7346
7700
|
|
|
7347
7701
|
:where(.bf-theme) :where(.bf-contextual-menu-link) {
|
|
@@ -7358,8 +7712,9 @@ html.u-baseline-grid::after {
|
|
|
7358
7712
|
display: block;
|
|
7359
7713
|
margin: 0;
|
|
7360
7714
|
overflow: hidden;
|
|
7361
|
-
padding-block: var(--bf-
|
|
7362
|
-
padding-
|
|
7715
|
+
padding-block-end: var(--bf-single-line-row-in-box-padding-block-end);
|
|
7716
|
+
padding-block-start: var(--bf-single-line-row-in-box-padding-block-start);
|
|
7717
|
+
padding-inline: var(--bf-component-inline-inset-action);
|
|
7363
7718
|
text-align: left;
|
|
7364
7719
|
text-decoration: none;
|
|
7365
7720
|
text-overflow: ellipsis;
|
|
@@ -7385,8 +7740,8 @@ html.u-baseline-grid::after {
|
|
|
7385
7740
|
}
|
|
7386
7741
|
|
|
7387
7742
|
:where(.bf-theme) :where(.bf-contextual-menu-link):focus-visible {
|
|
7388
|
-
outline:
|
|
7389
|
-
outline-offset: -
|
|
7743
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
7744
|
+
outline-offset: -0.125rem;
|
|
7390
7745
|
}
|
|
7391
7746
|
|
|
7392
7747
|
:where(.bf-theme) :where(.bf-contextual-menu-link.is-disabled, .bf-contextual-menu-link[disabled]) {
|
|
@@ -7414,7 +7769,7 @@ html.u-baseline-grid::after {
|
|
|
7414
7769
|
font-weight: var(--bf-body-font-weight, 400);
|
|
7415
7770
|
line-height: var(--bf-body-line-height, 1.5rem);
|
|
7416
7771
|
background-color: var(--bf-color-background-alt);
|
|
7417
|
-
box-shadow: inset 0 0 0 var(--bf-border-width) var(--bf-color-border-default), 0
|
|
7772
|
+
box-shadow: inset 0 0 0 var(--bf-border-width) var(--bf-color-border-default), 0 0.75rem 2rem rgba(0, 0, 0, 0.24);
|
|
7418
7773
|
color: var(--bf-color-text-default);
|
|
7419
7774
|
inline-size: max-content;
|
|
7420
7775
|
left: 0;
|
|
@@ -7423,7 +7778,7 @@ html.u-baseline-grid::after {
|
|
|
7423
7778
|
opacity: 0;
|
|
7424
7779
|
padding-block-end: var(--bf-body-nudge-end);
|
|
7425
7780
|
padding-block-start: var(--bf-body-nudge-start, 0.41rem);
|
|
7426
|
-
padding-inline: var(--bf-
|
|
7781
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
7427
7782
|
pointer-events: none;
|
|
7428
7783
|
position: absolute;
|
|
7429
7784
|
top: 100%;
|
|
@@ -7567,10 +7922,10 @@ html.u-baseline-grid::after {
|
|
|
7567
7922
|
display: inline-flex;
|
|
7568
7923
|
gap: calc(var(--bf-baseline) * 0.5);
|
|
7569
7924
|
justify-content: center;
|
|
7570
|
-
margin-bottom:
|
|
7925
|
+
margin-bottom: var(--bf-single-line-row-margin-block-end);
|
|
7571
7926
|
min-inline-size: var(--bf-control-box-size);
|
|
7572
7927
|
padding-block: max(0rem, calc(var(--bf-button-block-padding) - var(--bf-border-width)));
|
|
7573
|
-
padding-inline: var(--bf-control-inline-padding-action);
|
|
7928
|
+
padding-inline: var(--bf-control-inline-padding-action-bordered);
|
|
7574
7929
|
text-align: center;
|
|
7575
7930
|
text-decoration: none;
|
|
7576
7931
|
}
|
|
@@ -7584,8 +7939,8 @@ html.u-baseline-grid::after {
|
|
|
7584
7939
|
}
|
|
7585
7940
|
|
|
7586
7941
|
:where(.bf-theme) :where(.bf-pagination-link:focus-visible, .bf-pagination-link.is-previous:focus-visible, .bf-pagination-link.is-next:focus-visible) {
|
|
7587
|
-
outline:
|
|
7588
|
-
outline-offset:
|
|
7942
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
7943
|
+
outline-offset: 0.125rem;
|
|
7589
7944
|
}
|
|
7590
7945
|
|
|
7591
7946
|
:where(.bf-theme) :where(.bf-pagination-link.is-active, .bf-pagination-link[aria-current='page'], .bf-pagination-link[aria-current='true']) {
|
|
@@ -7664,14 +8019,15 @@ html.u-baseline-grid::after {
|
|
|
7664
8019
|
appearance: none;
|
|
7665
8020
|
background: transparent;
|
|
7666
8021
|
border: 0;
|
|
8022
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
7667
8023
|
color: var(--bf-color-text-default);
|
|
7668
8024
|
cursor: pointer;
|
|
7669
8025
|
display: flex;
|
|
7670
8026
|
gap: var(--bf-disclosure-gap);
|
|
7671
8027
|
inline-size: 100%;
|
|
7672
8028
|
justify-content: flex-start;
|
|
7673
|
-
|
|
7674
|
-
padding-block: var(--bf-
|
|
8029
|
+
margin-block-end: var(--bf-single-line-row-margin-block-end);
|
|
8030
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
7675
8031
|
padding-inline: 0;
|
|
7676
8032
|
text-align: left;
|
|
7677
8033
|
}
|
|
@@ -7681,8 +8037,8 @@ html.u-baseline-grid::after {
|
|
|
7681
8037
|
}
|
|
7682
8038
|
|
|
7683
8039
|
:where(.bf-theme) :where(.bf-accordion-tab):focus-visible {
|
|
7684
|
-
outline:
|
|
7685
|
-
outline-offset:
|
|
8040
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
8041
|
+
outline-offset: 0.125rem;
|
|
7686
8042
|
}
|
|
7687
8043
|
|
|
7688
8044
|
:where(.bf-theme) :where(.bf-accordion-tab)::before {
|
|
@@ -7695,18 +8051,19 @@ html.u-baseline-grid::after {
|
|
|
7695
8051
|
display: inline-block;
|
|
7696
8052
|
flex: none;
|
|
7697
8053
|
inline-size: var(--bf-disclosure-icon-inline-size);
|
|
8054
|
+
transform: translateY(var(--bf-disclosure-icon-optical-offset-block));
|
|
7698
8055
|
transition: transform 120ms ease;
|
|
7699
8056
|
}
|
|
7700
8057
|
|
|
7701
8058
|
:where(.bf-theme) :where(.bf-accordion-tab[aria-expanded='false'])::before {
|
|
7702
|
-
transform: rotate(-90deg);
|
|
8059
|
+
transform: translateY(var(--bf-disclosure-icon-optical-offset-block)) rotate(-90deg);
|
|
7703
8060
|
}
|
|
7704
8061
|
|
|
7705
8062
|
:where(.bf-theme) :where(.bf-accordion-panel) {
|
|
7706
8063
|
margin: 0;
|
|
7707
8064
|
overflow: hidden;
|
|
7708
8065
|
padding-block-start: var(--bf-baseline);
|
|
7709
|
-
padding-inline-start:
|
|
8066
|
+
padding-inline-start: var(--bf-component-inline-inset-continuation);
|
|
7710
8067
|
}
|
|
7711
8068
|
|
|
7712
8069
|
:where(.bf-theme) :where(.bf-accordion-panel[aria-hidden='true']) {
|
|
@@ -7772,7 +8129,7 @@ html.u-baseline-grid::after {
|
|
|
7772
8129
|
:where(.bf-theme) :where(.bf-modal-header, .bf-modal-body, .bf-modal-footer) {
|
|
7773
8130
|
padding-block-end: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
7774
8131
|
padding-block-start: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
7775
|
-
padding-inline: var(--bf-
|
|
8132
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
7776
8133
|
}
|
|
7777
8134
|
|
|
7778
8135
|
:where(.bf-theme) :where(.bf-modal-header) {
|
|
@@ -7846,7 +8203,7 @@ html.u-baseline-grid::after {
|
|
|
7846
8203
|
:where(.bf-theme) :where(.bf-code-snippet-header) {
|
|
7847
8204
|
align-items: start;
|
|
7848
8205
|
background: var(--bf-color-background-active);
|
|
7849
|
-
box-shadow: inset 0 -
|
|
8206
|
+
box-shadow: inset 0 -0.0625rem 0 var(--bf-color-border-default);
|
|
7850
8207
|
display: flex;
|
|
7851
8208
|
flex-wrap: wrap;
|
|
7852
8209
|
justify-content: space-between;
|
|
@@ -7868,7 +8225,7 @@ html.u-baseline-grid::after {
|
|
|
7868
8225
|
margin: 0;
|
|
7869
8226
|
overflow-wrap: anywhere;
|
|
7870
8227
|
padding-block: var(--bf-panel-padding-block);
|
|
7871
|
-
padding-inline: var(--bf-
|
|
8228
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
7872
8229
|
}
|
|
7873
8230
|
|
|
7874
8231
|
:where(.bf-theme) :where(.bf-code-snippet-dropdowns) {
|
|
@@ -7883,7 +8240,7 @@ html.u-baseline-grid::after {
|
|
|
7883
8240
|
:where(.bf-theme) :where(.bf-code-snippet-header.is-stacked) :where(.bf-code-snippet-dropdowns) {
|
|
7884
8241
|
justify-content: stretch;
|
|
7885
8242
|
margin-inline-start: 0;
|
|
7886
|
-
box-shadow: inset 0
|
|
8243
|
+
box-shadow: inset 0 0.0625rem 0 var(--bf-color-border-default);
|
|
7887
8244
|
width: 100%;
|
|
7888
8245
|
}
|
|
7889
8246
|
|
|
@@ -7902,12 +8259,12 @@ html.u-baseline-grid::after {
|
|
|
7902
8259
|
min-block-size: calc(var(--bf-body-line-height, 1.5rem) + (var(--bf-panel-padding-block) * 2));
|
|
7903
8260
|
min-inline-size: 0;
|
|
7904
8261
|
padding-block: var(--bf-panel-padding-block);
|
|
7905
|
-
padding-inline: var(--bf-
|
|
8262
|
+
padding-inline: var(--bf-component-inline-inset-action);
|
|
7906
8263
|
text-align: start;
|
|
7907
8264
|
}
|
|
7908
8265
|
|
|
7909
8266
|
:where(.bf-theme) :where(.bf-code-snippet-dropdown) + :where(.bf-code-snippet-dropdown) {
|
|
7910
|
-
box-shadow: inset
|
|
8267
|
+
box-shadow: inset 0.0625rem 0 0 var(--bf-color-border-default);
|
|
7911
8268
|
}
|
|
7912
8269
|
|
|
7913
8270
|
:where(.bf-theme) :where(.bf-code-snippet-dropdown):focus:not(:focus-visible) {
|
|
@@ -7915,8 +8272,8 @@ html.u-baseline-grid::after {
|
|
|
7915
8272
|
}
|
|
7916
8273
|
|
|
7917
8274
|
:where(.bf-theme) :where(.bf-code-snippet-dropdown):focus-visible {
|
|
7918
|
-
outline:
|
|
7919
|
-
outline-offset: -
|
|
8275
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
8276
|
+
outline-offset: -0.125rem;
|
|
7920
8277
|
}
|
|
7921
8278
|
|
|
7922
8279
|
:where(.bf-theme) :where(.bf-code-snippet-block, .bf-code-snippet-block.is-icon, .bf-code-snippet-block.is-numbered) {
|
|
@@ -7931,7 +8288,7 @@ html.u-baseline-grid::after {
|
|
|
7931
8288
|
min-inline-size: 0;
|
|
7932
8289
|
overflow-x: auto;
|
|
7933
8290
|
padding-block: var(--bf-panel-padding-block);
|
|
7934
|
-
padding-inline: var(--bf-
|
|
8291
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
7935
8292
|
tab-size: 2;
|
|
7936
8293
|
white-space: pre;
|
|
7937
8294
|
}
|
|
@@ -7947,7 +8304,7 @@ html.u-baseline-grid::after {
|
|
|
7947
8304
|
|
|
7948
8305
|
:where(.bf-theme) :where(.bf-code-snippet-block.is-icon) {
|
|
7949
8306
|
cursor: copy;
|
|
7950
|
-
padding-inline-start: calc(var(--bf-
|
|
8307
|
+
padding-inline-start: calc(var(--bf-component-inline-inset-continuation) + (var(--bf-baseline) * 3));
|
|
7951
8308
|
position: relative;
|
|
7952
8309
|
}
|
|
7953
8310
|
|
|
@@ -7959,7 +8316,7 @@ html.u-baseline-grid::after {
|
|
|
7959
8316
|
line-height: var(--bf-h6-line-height, 1.5rem);
|
|
7960
8317
|
color: var(--bf-color-text-muted);
|
|
7961
8318
|
content: "$";
|
|
7962
|
-
inset-inline-start: var(--bf-
|
|
8319
|
+
inset-inline-start: var(--bf-component-inline-inset-continuation);
|
|
7963
8320
|
inset-block-start: var(--bf-panel-padding-block);
|
|
7964
8321
|
position: absolute;
|
|
7965
8322
|
}
|
|
@@ -7974,7 +8331,7 @@ html.u-baseline-grid::after {
|
|
|
7974
8331
|
|
|
7975
8332
|
:where(.bf-theme) :where(.bf-code-snippet-block.is-icon.is-copied) {
|
|
7976
8333
|
background: color-mix(in srgb, var(--bf-color-background-alt) 78%, var(--bf-color-background-information-default));
|
|
7977
|
-
box-shadow: inset 0 0 0
|
|
8334
|
+
box-shadow: inset 0 0 0 0.0625rem var(--bf-color-border-information);
|
|
7978
8335
|
}
|
|
7979
8336
|
|
|
7980
8337
|
:where(.bf-theme) :where(.bf-code-snippet-block.is-icon):focus:not(:focus-visible) {
|
|
@@ -7982,8 +8339,8 @@ html.u-baseline-grid::after {
|
|
|
7982
8339
|
}
|
|
7983
8340
|
|
|
7984
8341
|
:where(.bf-theme) :where(.bf-code-snippet-block.is-icon):focus-visible {
|
|
7985
|
-
outline:
|
|
7986
|
-
outline-offset: -
|
|
8342
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
8343
|
+
outline-offset: -0.125rem;
|
|
7987
8344
|
}
|
|
7988
8345
|
|
|
7989
8346
|
:where(.bf-theme) :where(.bf-code-snippet-block.is-numbered) {
|
|
@@ -8045,6 +8402,32 @@ html.u-baseline-grid::after {
|
|
|
8045
8402
|
z-index: 40;
|
|
8046
8403
|
}
|
|
8047
8404
|
|
|
8405
|
+
/* A responsive application brand occupies the persistent bar only while the
|
|
8406
|
+
* full navigation brand is unavailable. The same public tagged-logo contract
|
|
8407
|
+
* is used in both locations; state CSS guarantees that only one copy is
|
|
8408
|
+
* visible and exposed at a time. */
|
|
8409
|
+
:where(.bf-theme) :where(.bf-navigation-bar.is-responsive) :where(.bf-panel-header.is-navigation-brand) {
|
|
8410
|
+
align-items: start;
|
|
8411
|
+
column-gap: calc(var(--bf-baseline) * 2);
|
|
8412
|
+
padding-inline-end: var(--bf-panel-content-padding-inline, var(--bf-panel-padding-inline));
|
|
8413
|
+
}
|
|
8414
|
+
|
|
8415
|
+
:where(.bf-theme) :where(.bf-navigation-bar.is-responsive) {
|
|
8416
|
+
margin-block-end: calc(var(--bf-border-width) * -1);
|
|
8417
|
+
}
|
|
8418
|
+
|
|
8419
|
+
:where(.bf-theme) :where(.bf-navigation-bar.is-responsive) :where(.bf-panel-header.is-navigation-brand) > :where(.bf-top-navigation-logo.is-canonical-tagged) {
|
|
8420
|
+
flex: 1 1 12rem;
|
|
8421
|
+
inline-size: auto;
|
|
8422
|
+
min-inline-size: 0;
|
|
8423
|
+
}
|
|
8424
|
+
|
|
8425
|
+
:where(.bf-theme) :where(.bf-application:has(> .bf-navigation:not(.is-collapsed)))
|
|
8426
|
+
> :where(.bf-navigation-bar.is-responsive)
|
|
8427
|
+
:where(.bf-top-navigation-logo) {
|
|
8428
|
+
visibility: hidden;
|
|
8429
|
+
}
|
|
8430
|
+
|
|
8048
8431
|
:where(.bf-theme) :where(.bf-navigation) {
|
|
8049
8432
|
grid-column: 1 / -1;
|
|
8050
8433
|
grid-row: 1 / -1;
|
|
@@ -8091,7 +8474,7 @@ html.u-baseline-grid::after {
|
|
|
8091
8474
|
}
|
|
8092
8475
|
|
|
8093
8476
|
:where(.bf-theme) :where(.bf-navigation:not(.is-collapsed)) > :where(.bf-navigation-drawer) {
|
|
8094
|
-
box-shadow: 0
|
|
8477
|
+
box-shadow: 0 1.5rem 4.5rem rgba(0, 0, 0, 0.38);
|
|
8095
8478
|
transform: translateX(0);
|
|
8096
8479
|
visibility: visible;
|
|
8097
8480
|
}
|
|
@@ -8101,10 +8484,10 @@ html.u-baseline-grid::after {
|
|
|
8101
8484
|
}
|
|
8102
8485
|
|
|
8103
8486
|
:where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation-label) {
|
|
8104
|
-
block-size:
|
|
8487
|
+
block-size: 0.0625rem;
|
|
8105
8488
|
clip-path: inset(50%);
|
|
8106
|
-
inline-size:
|
|
8107
|
-
max-inline-size:
|
|
8489
|
+
inline-size: 0.0625rem;
|
|
8490
|
+
max-inline-size: 0.0625rem;
|
|
8108
8491
|
opacity: 0;
|
|
8109
8492
|
overflow: hidden;
|
|
8110
8493
|
pointer-events: none;
|
|
@@ -8122,8 +8505,8 @@ html.u-baseline-grid::after {
|
|
|
8122
8505
|
padding-inline: calc(var(--bf-baseline) * 1.25);
|
|
8123
8506
|
}
|
|
8124
8507
|
|
|
8125
|
-
:where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation-list) {
|
|
8126
|
-
|
|
8508
|
+
:where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation-list)::after {
|
|
8509
|
+
content: none;
|
|
8127
8510
|
}
|
|
8128
8511
|
|
|
8129
8512
|
:where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation-item.is-title > .bf-side-navigation-link, .bf-side-navigation-item.is-title > .bf-side-navigation-text) {
|
|
@@ -8136,6 +8519,14 @@ html.u-baseline-grid::after {
|
|
|
8136
8519
|
grid-template-rows: minmax(0, 1fr);
|
|
8137
8520
|
}
|
|
8138
8521
|
|
|
8522
|
+
:where(.bf-theme) :where(.bf-application:has(> .bf-navigation)):has(> .bf-aside.is-pinned:not(.is-collapsed)) {
|
|
8523
|
+
grid-template-areas:
|
|
8524
|
+
"navigation-bar navigation-bar"
|
|
8525
|
+
"main aside";
|
|
8526
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, var(--bf-application-aside-width));
|
|
8527
|
+
grid-template-rows: min-content minmax(0, 1fr);
|
|
8528
|
+
}
|
|
8529
|
+
|
|
8139
8530
|
:where(.bf-theme) :where(.bf-main) {
|
|
8140
8531
|
grid-area: main;
|
|
8141
8532
|
min-block-size: 0;
|
|
@@ -8174,7 +8565,7 @@ html.u-baseline-grid::after {
|
|
|
8174
8565
|
:where(.bf-theme) :where(.bf-aside.is-overlay, .bf-aside.is-drawer) {
|
|
8175
8566
|
align-self: stretch;
|
|
8176
8567
|
block-size: auto;
|
|
8177
|
-
box-shadow: 0
|
|
8568
|
+
box-shadow: 0 1.5rem 4.5rem rgba(0, 0, 0, 0.38);
|
|
8178
8569
|
bottom: 0;
|
|
8179
8570
|
grid-column: 1 / -1;
|
|
8180
8571
|
grid-row: 1 / -1;
|
|
@@ -8264,14 +8655,14 @@ html.u-baseline-grid::after {
|
|
|
8264
8655
|
|
|
8265
8656
|
:where(.bf-theme) :where(.bf-application-aside-resize-handle)::after {
|
|
8266
8657
|
background: var(--bf-color-border-default);
|
|
8267
|
-
border-radius:
|
|
8658
|
+
border-radius: 62.4375rem;
|
|
8268
8659
|
content: "";
|
|
8269
8660
|
inset-block: var(--bf-panel-padding-block);
|
|
8270
|
-
inset-inline-start: calc(50% -
|
|
8661
|
+
inset-inline-start: calc(50% - 0.0625rem);
|
|
8271
8662
|
opacity: 0.95;
|
|
8272
8663
|
position: absolute;
|
|
8273
8664
|
transition: background-color 120ms ease, opacity 120ms ease;
|
|
8274
|
-
width:
|
|
8665
|
+
width: 0.125rem;
|
|
8275
8666
|
}
|
|
8276
8667
|
|
|
8277
8668
|
:where(.bf-theme) :where(.bf-application-aside-resize-handle):hover::after,
|
|
@@ -8281,8 +8672,8 @@ html.u-baseline-grid::after {
|
|
|
8281
8672
|
}
|
|
8282
8673
|
|
|
8283
8674
|
:where(.bf-theme) :where(.bf-application-aside-resize-handle):focus-visible {
|
|
8284
|
-
outline:
|
|
8285
|
-
outline-offset: -
|
|
8675
|
+
outline: 0.125rem solid var(--bf-application-resize-handle-focus-ring);
|
|
8676
|
+
outline-offset: -0.125rem;
|
|
8286
8677
|
}
|
|
8287
8678
|
|
|
8288
8679
|
@media (min-width: 64.75rem) {
|
|
@@ -8301,6 +8692,16 @@ html.u-baseline-grid::after {
|
|
|
8301
8692
|
grid-template-columns: minmax(0, var(--bf-application-navigation-width)) minmax(0, 1fr) minmax(0, var(--bf-application-aside-width));
|
|
8302
8693
|
}
|
|
8303
8694
|
|
|
8695
|
+
:where(.bf-theme) :where(.bf-application:has(> .bf-navigation:not(.is-collapsed))) > :where(.bf-navigation-bar.is-responsive) {
|
|
8696
|
+
block-size: 0;
|
|
8697
|
+
border: 0;
|
|
8698
|
+
min-block-size: 0;
|
|
8699
|
+
overflow: hidden;
|
|
8700
|
+
pointer-events: none;
|
|
8701
|
+
position: absolute;
|
|
8702
|
+
visibility: hidden;
|
|
8703
|
+
}
|
|
8704
|
+
|
|
8304
8705
|
:where(.bf-theme) :where(.bf-application:has(> .bf-navigation.is-collapsed)) {
|
|
8305
8706
|
--bf-application-navigation-width: var(--bf-application-navigation-width-collapsed);
|
|
8306
8707
|
}
|
|
@@ -8346,8 +8747,8 @@ html.u-baseline-grid::after {
|
|
|
8346
8747
|
}
|
|
8347
8748
|
|
|
8348
8749
|
/* The tagged treatment is opt-in. The Circle of Friends is aligned to the
|
|
8349
|
-
* first title line, then the
|
|
8350
|
-
* Its
|
|
8750
|
+
* first title line, then the 2.375rem tag extends upward to the navigation edge.
|
|
8751
|
+
* Its 1.375rem inline size preserves the established 38:22 (~1.73) tag ratio; the
|
|
8351
8752
|
* tag must not stretch to the full occupied navigation row. */
|
|
8352
8753
|
:where(.bf-theme) :where(.bf-top-navigation-logo.is-canonical-tagged) {
|
|
8353
8754
|
min-inline-size: 0;
|
|
@@ -8401,13 +8802,11 @@ html.u-baseline-grid::after {
|
|
|
8401
8802
|
line-height: var(--bf-top-navigation-logo-title-line-height, var(--bf-body-line-height, 1.5));
|
|
8402
8803
|
overflow: visible;
|
|
8403
8804
|
overflow-wrap: anywhere;
|
|
8404
|
-
/* The first title line and the
|
|
8405
|
-
*
|
|
8406
|
-
*
|
|
8805
|
+
/* The first title line and the 1rem mark share the public brand-line centre.
|
|
8806
|
+
* The derived brand block is twice that fixed centre, so the orange tag can
|
|
8807
|
+
* extend upward without changing the title or adjacent-header baseline. */
|
|
8407
8808
|
padding-block: calc(
|
|
8408
|
-
var(--bf-
|
|
8409
|
-
- var(--bf-top-navigation-logo-icon-bottom-offset)
|
|
8410
|
-
- (var(--bf-top-navigation-logo-icon-size) / 2)
|
|
8809
|
+
var(--bf-navigation-brand-line-center-block)
|
|
8411
8810
|
- (var(--bf-top-navigation-logo-title-line-height, var(--bf-body-line-height, 1.5rem)) / 2)
|
|
8412
8811
|
);
|
|
8413
8812
|
text-overflow: clip;
|
|
@@ -8488,11 +8887,15 @@ html.u-baseline-grid::after {
|
|
|
8488
8887
|
:where(.bf-theme) :where(.bf-in-page-navigation) {
|
|
8489
8888
|
container-name: bf-in-page-navigation;
|
|
8490
8889
|
container-type: inline-size;
|
|
8491
|
-
margin
|
|
8890
|
+
margin: 0;
|
|
8492
8891
|
min-inline-size: 0;
|
|
8493
8892
|
}
|
|
8494
8893
|
|
|
8495
8894
|
:where(.bf-theme) :where(.bf-in-page-navigation-nav) {
|
|
8895
|
+
--bf-stack-space: var(--bf-space-1);
|
|
8896
|
+
align-content: start;
|
|
8897
|
+
display: grid;
|
|
8898
|
+
gap: var(--bf-stack-space);
|
|
8496
8899
|
max-block-size: 100dvb;
|
|
8497
8900
|
min-inline-size: 0;
|
|
8498
8901
|
overflow: auto;
|
|
@@ -8508,12 +8911,17 @@ html.u-baseline-grid::after {
|
|
|
8508
8911
|
line-height: var(--bf-h6-line-height, 1.5rem);
|
|
8509
8912
|
color: var(--bf-color-text-muted);
|
|
8510
8913
|
display: block;
|
|
8511
|
-
margin: 0
|
|
8512
|
-
padding-block:
|
|
8914
|
+
margin-block: 0 var(--bf-h6-margin-bottom);
|
|
8915
|
+
padding-block-end: 0;
|
|
8916
|
+
padding-block-start: var(--bf-h6-nudge-start);
|
|
8513
8917
|
}
|
|
8514
8918
|
|
|
8515
8919
|
:where(.bf-theme) :where(.bf-in-page-navigation-list) {
|
|
8920
|
+
--bf-stack-space: var(--bf-space-1);
|
|
8921
|
+
align-content: start;
|
|
8516
8922
|
border-inline-start: var(--bf-bar-thickness) solid var(--bf-color-border-low-contrast);
|
|
8923
|
+
display: grid;
|
|
8924
|
+
gap: var(--bf-stack-space);
|
|
8517
8925
|
list-style: none;
|
|
8518
8926
|
margin: 0;
|
|
8519
8927
|
min-inline-size: 0;
|
|
@@ -8521,13 +8929,16 @@ html.u-baseline-grid::after {
|
|
|
8521
8929
|
}
|
|
8522
8930
|
|
|
8523
8931
|
:where(.bf-theme) :where(.bf-in-page-navigation-item) {
|
|
8932
|
+
align-content: start;
|
|
8933
|
+
display: grid;
|
|
8934
|
+
gap: var(--bf-stack-space);
|
|
8524
8935
|
margin: 0;
|
|
8525
8936
|
min-inline-size: 0;
|
|
8526
8937
|
padding: 0;
|
|
8527
8938
|
position: relative;
|
|
8528
8939
|
}
|
|
8529
8940
|
|
|
8530
|
-
:where(.bf-theme) :where(.bf-in-page-navigation-link) {
|
|
8941
|
+
:where(.bf-theme) :where(a.bf-in-page-navigation-link) {
|
|
8531
8942
|
font-family: var(--bf-body-font-family, "Ubuntu Sans", "Segoe UI", system-ui, sans-serif);
|
|
8532
8943
|
font-size: var(--bf-body-font-size, 1rem);
|
|
8533
8944
|
font-style: var(--bf-body-font-style, normal);
|
|
@@ -8540,7 +8951,7 @@ html.u-baseline-grid::after {
|
|
|
8540
8951
|
min-inline-size: 0;
|
|
8541
8952
|
overflow: hidden;
|
|
8542
8953
|
overflow-wrap: anywhere;
|
|
8543
|
-
padding-block:
|
|
8954
|
+
padding-block: var(--bf-body-nudge-start) var(--bf-body-nudge-end);
|
|
8544
8955
|
padding-inline: var(--bf-space-2) 0;
|
|
8545
8956
|
position: relative;
|
|
8546
8957
|
text-decoration: none;
|
|
@@ -8548,7 +8959,7 @@ html.u-baseline-grid::after {
|
|
|
8548
8959
|
-webkit-box-orient: vertical;
|
|
8549
8960
|
}
|
|
8550
8961
|
|
|
8551
|
-
:where(.bf-theme) :where(.bf-in-page-navigation-link:hover) {
|
|
8962
|
+
:where(.bf-theme) :where(a.bf-in-page-navigation-link:hover) {
|
|
8552
8963
|
color: var(--bf-color-text-default);
|
|
8553
8964
|
text-decoration: none;
|
|
8554
8965
|
}
|
|
@@ -8558,8 +8969,8 @@ html.u-baseline-grid::after {
|
|
|
8558
8969
|
}
|
|
8559
8970
|
|
|
8560
8971
|
:where(.bf-theme) :where(.bf-in-page-navigation-link:focus-visible) {
|
|
8561
|
-
outline:
|
|
8562
|
-
outline-offset:
|
|
8972
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
8973
|
+
outline-offset: 0.125rem;
|
|
8563
8974
|
}
|
|
8564
8975
|
|
|
8565
8976
|
:where(.bf-theme) :where(.bf-in-page-navigation-link.is-active, .bf-in-page-navigation-link[aria-current]) {
|
|
@@ -8615,8 +9026,8 @@ html.u-baseline-grid::after {
|
|
|
8615
9026
|
}
|
|
8616
9027
|
|
|
8617
9028
|
:where(.bf-theme) :where(.bf-in-page-navigation-toggle:focus-visible) {
|
|
8618
|
-
outline:
|
|
8619
|
-
outline-offset: -
|
|
9029
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
9030
|
+
outline-offset: -0.125rem;
|
|
8620
9031
|
}
|
|
8621
9032
|
|
|
8622
9033
|
:where(.bf-theme) :where(.bf-in-page-navigation-toggle > .bf-icon) {
|
|
@@ -8630,6 +9041,7 @@ html.u-baseline-grid::after {
|
|
|
8630
9041
|
border-block-end: var(--bf-border-width) solid var(--bf-color-border-low-contrast);
|
|
8631
9042
|
display: grid;
|
|
8632
9043
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
9044
|
+
row-gap: 0;
|
|
8633
9045
|
max-block-size: none;
|
|
8634
9046
|
overflow: visible;
|
|
8635
9047
|
position: static;
|
|
@@ -8642,6 +9054,7 @@ html.u-baseline-grid::after {
|
|
|
8642
9054
|
:where(.bf-theme) :where(.bf-in-page-navigation-list) {
|
|
8643
9055
|
border: 0;
|
|
8644
9056
|
display: flex;
|
|
9057
|
+
gap: 0;
|
|
8645
9058
|
grid-column: 1;
|
|
8646
9059
|
grid-row: 1;
|
|
8647
9060
|
margin: 0;
|
|
@@ -8706,7 +9119,8 @@ html.u-baseline-grid::after {
|
|
|
8706
9119
|
:where(.bf-theme) :where(.bf-in-page-navigation.is-expanded > .bf-in-page-navigation-nav > .bf-in-page-navigation-list, .bf-in-page-navigation:has(.bf-in-page-navigation-toggle[aria-expanded='true']) > .bf-in-page-navigation-nav > .bf-in-page-navigation-list) {
|
|
8707
9120
|
background: var(--bf-color-background-alt);
|
|
8708
9121
|
border-inline-start: var(--bf-bar-thickness) solid var(--bf-color-border-low-contrast);
|
|
8709
|
-
display:
|
|
9122
|
+
display: grid;
|
|
9123
|
+
gap: var(--bf-stack-space);
|
|
8710
9124
|
grid-column: 1 / -1;
|
|
8711
9125
|
grid-row: 2;
|
|
8712
9126
|
/* The mobile nav owns a bottom rule; reserve its thickness within the
|
|
@@ -8717,20 +9131,21 @@ html.u-baseline-grid::after {
|
|
|
8717
9131
|
}
|
|
8718
9132
|
|
|
8719
9133
|
:where(.bf-theme) :where(.bf-in-page-navigation.is-expanded .bf-in-page-navigation-item, .bf-in-page-navigation:has(.bf-in-page-navigation-toggle[aria-expanded='true']) .bf-in-page-navigation-item) {
|
|
8720
|
-
display:
|
|
9134
|
+
display: grid;
|
|
8721
9135
|
max-inline-size: none;
|
|
8722
9136
|
}
|
|
8723
9137
|
|
|
8724
9138
|
:where(.bf-theme) :where(.bf-in-page-navigation.is-expanded .bf-in-page-navigation-link, .bf-in-page-navigation:has(.bf-in-page-navigation-toggle[aria-expanded='true']) .bf-in-page-navigation-link) {
|
|
8725
9139
|
display: -webkit-box;
|
|
8726
9140
|
overflow-wrap: anywhere;
|
|
8727
|
-
padding-block:
|
|
9141
|
+
padding-block: var(--bf-body-nudge-start) var(--bf-body-nudge-end);
|
|
8728
9142
|
padding-inline: var(--bf-space-2) 0;
|
|
8729
9143
|
white-space: normal;
|
|
8730
9144
|
}
|
|
8731
9145
|
|
|
8732
9146
|
:where(.bf-theme) :where(.bf-in-page-navigation.is-expanded .bf-in-page-navigation-list .bf-in-page-navigation-list, .bf-in-page-navigation:has(.bf-in-page-navigation-toggle[aria-expanded='true']) .bf-in-page-navigation-list .bf-in-page-navigation-list) {
|
|
8733
|
-
display:
|
|
9147
|
+
display: grid;
|
|
9148
|
+
gap: var(--bf-stack-space);
|
|
8734
9149
|
}
|
|
8735
9150
|
|
|
8736
9151
|
:where(.bf-theme) :where(.bf-in-page-navigation.is-expanded .bf-in-page-navigation-link.is-active, .bf-in-page-navigation.is-expanded .bf-in-page-navigation-link[aria-current], .bf-in-page-navigation:has(.bf-in-page-navigation-toggle[aria-expanded='true']) .bf-in-page-navigation-link.is-active, .bf-in-page-navigation:has(.bf-in-page-navigation-toggle[aria-expanded='true']) .bf-in-page-navigation-link[aria-current])::before {
|
|
@@ -8813,35 +9228,47 @@ html.u-baseline-grid::after {
|
|
|
8813
9228
|
/* ------------------------------------------------------------------ */
|
|
8814
9229
|
|
|
8815
9230
|
:where(.bf-theme) :where(.bf-table-of-contents) {
|
|
9231
|
+
--bf-table-of-contents-section-gap: var(--bf-section-space-shallow);
|
|
9232
|
+
align-content: start;
|
|
8816
9233
|
container-name: bf-table-of-contents;
|
|
8817
9234
|
container-type: inline-size;
|
|
8818
|
-
|
|
9235
|
+
display: grid;
|
|
9236
|
+
gap: var(--bf-table-of-contents-section-gap);
|
|
9237
|
+
margin: 0;
|
|
8819
9238
|
min-inline-size: 0;
|
|
8820
9239
|
}
|
|
8821
9240
|
|
|
8822
9241
|
:where(.bf-theme) :where(.bf-table-of-contents-section) {
|
|
9242
|
+
--bf-stack-space: 0rem;
|
|
9243
|
+
align-content: start;
|
|
9244
|
+
display: grid;
|
|
9245
|
+
gap: var(--bf-stack-space);
|
|
8823
9246
|
margin: 0;
|
|
8824
9247
|
min-inline-size: 0;
|
|
8825
|
-
padding
|
|
9248
|
+
padding: 0;
|
|
9249
|
+
position: relative;
|
|
8826
9250
|
}
|
|
8827
9251
|
|
|
8828
|
-
:where(.bf-theme) :where(.bf-table-of-contents-section + .bf-table-of-contents-section) {
|
|
8829
|
-
|
|
8830
|
-
|
|
9252
|
+
:where(.bf-theme) :where(.bf-table-of-contents-section + .bf-table-of-contents-section)::before {
|
|
9253
|
+
background: var(--bf-color-border-low-contrast);
|
|
9254
|
+
block-size: var(--bf-border-width);
|
|
9255
|
+
content: "";
|
|
9256
|
+
inset-block-start: 0;
|
|
9257
|
+
inset-inline: 0;
|
|
9258
|
+
position: absolute;
|
|
8831
9259
|
}
|
|
8832
9260
|
|
|
8833
9261
|
:where(.bf-theme) :where(.bf-table-of-contents-heading) {
|
|
8834
|
-
|
|
8835
|
-
|
|
8836
|
-
|
|
8837
|
-
font-weight: var(--bf-h6-font-weight, 550);
|
|
8838
|
-
line-height: var(--bf-h6-line-height, 1.5rem);
|
|
8839
|
-
color: var(--bf-color-text-muted);
|
|
8840
|
-
margin: 0 0 var(--bf-space-1);
|
|
8841
|
-
padding-block: var(--bf-h6-nudge-start) var(--bf-h6-nudge-end);
|
|
9262
|
+
color: var(--bf-color-text-default);
|
|
9263
|
+
margin: 0;
|
|
9264
|
+
padding-block-end: 0;
|
|
8842
9265
|
}
|
|
8843
9266
|
|
|
8844
9267
|
:where(.bf-theme) :where(.bf-table-of-contents-list) {
|
|
9268
|
+
--bf-stack-space: 0rem;
|
|
9269
|
+
align-content: start;
|
|
9270
|
+
display: grid;
|
|
9271
|
+
gap: var(--bf-stack-space);
|
|
8845
9272
|
list-style: none;
|
|
8846
9273
|
margin: 0;
|
|
8847
9274
|
min-inline-size: 0;
|
|
@@ -8849,26 +9276,30 @@ html.u-baseline-grid::after {
|
|
|
8849
9276
|
}
|
|
8850
9277
|
|
|
8851
9278
|
:where(.bf-theme) :where(.bf-table-of-contents-item) {
|
|
9279
|
+
align-content: start;
|
|
9280
|
+
display: grid;
|
|
9281
|
+
gap: var(--bf-stack-space);
|
|
8852
9282
|
margin: 0;
|
|
8853
9283
|
min-inline-size: 0;
|
|
8854
9284
|
padding: 0;
|
|
8855
9285
|
}
|
|
8856
9286
|
|
|
8857
|
-
:where(.bf-theme) :where(.bf-table-of-contents-link) {
|
|
9287
|
+
:where(.bf-theme) :where(a.bf-table-of-contents-link) {
|
|
8858
9288
|
font-family: var(--bf-body-font-family, "Ubuntu Sans", "Segoe UI", system-ui, sans-serif);
|
|
8859
9289
|
font-size: var(--bf-body-font-size, 1rem);
|
|
8860
9290
|
font-style: var(--bf-body-font-style, normal);
|
|
8861
9291
|
font-weight: var(--bf-body-font-weight, 400);
|
|
8862
9292
|
line-height: var(--bf-body-line-height, 1.5rem);
|
|
9293
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
8863
9294
|
color: var(--bf-color-link-default);
|
|
8864
9295
|
display: block;
|
|
8865
|
-
margin: 0;
|
|
9296
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
8866
9297
|
overflow-wrap: anywhere;
|
|
8867
|
-
padding-block:
|
|
9298
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
8868
9299
|
text-decoration: none;
|
|
8869
9300
|
}
|
|
8870
9301
|
|
|
8871
|
-
:where(.bf-theme) :where(.bf-table-of-contents-link:hover) {
|
|
9302
|
+
:where(.bf-theme) :where(a.bf-table-of-contents-link:hover) {
|
|
8872
9303
|
color: var(--bf-color-text-default);
|
|
8873
9304
|
text-decoration: underline;
|
|
8874
9305
|
}
|
|
@@ -8878,8 +9309,8 @@ html.u-baseline-grid::after {
|
|
|
8878
9309
|
}
|
|
8879
9310
|
|
|
8880
9311
|
:where(.bf-theme) :where(.bf-table-of-contents-link:focus-visible) {
|
|
8881
|
-
outline:
|
|
8882
|
-
outline-offset:
|
|
9312
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
9313
|
+
outline-offset: 0.125rem;
|
|
8883
9314
|
}
|
|
8884
9315
|
|
|
8885
9316
|
:where(.bf-theme) :where(.bf-table-of-contents-link.is-active, .bf-table-of-contents-link[aria-current]) {
|
|
@@ -8959,9 +9390,9 @@ html.u-baseline-grid::after {
|
|
|
8959
9390
|
padding: 0;
|
|
8960
9391
|
}
|
|
8961
9392
|
|
|
8962
|
-
:where(.bf-theme) :where(.bf-tiered-list-header) >
|
|
8963
|
-
:where(.bf-theme) :where(.bf-tiered-list-item) >
|
|
8964
|
-
:where(.bf-theme) :where(.bf-tiered-list-cta) >
|
|
9393
|
+
:where(.bf-theme) :where(.bf-tiered-list-header) > hr,
|
|
9394
|
+
:where(.bf-theme) :where(.bf-tiered-list-item) > hr,
|
|
9395
|
+
:where(.bf-theme) :where(.bf-tiered-list-cta) > hr {
|
|
8965
9396
|
grid-column: 1 / -1;
|
|
8966
9397
|
}
|
|
8967
9398
|
|
|
@@ -8976,8 +9407,8 @@ html.u-baseline-grid::after {
|
|
|
8976
9407
|
grid-template-columns: repeat(8, minmax(0, 1fr));
|
|
8977
9408
|
}
|
|
8978
9409
|
|
|
8979
|
-
:where(.bf-theme) :where(.bf-tiered-list:not(.is-list-full-width):not(.is-flush):not(.is-triple)) :where(.bf-tiered-list-item) >
|
|
8980
|
-
:where(.bf-theme) :where(.bf-tiered-list:not(.is-list-full-width):not(.is-flush):not(.is-triple)) :where(.bf-tiered-list-cta) >
|
|
9410
|
+
:where(.bf-theme) :where(.bf-tiered-list:not(.is-list-full-width):not(.is-flush):not(.is-triple)) :where(.bf-tiered-list-item) > hr,
|
|
9411
|
+
:where(.bf-theme) :where(.bf-tiered-list:not(.is-list-full-width):not(.is-flush):not(.is-triple)) :where(.bf-tiered-list-cta) > hr {
|
|
8981
9412
|
grid-column: 3 / span 6;
|
|
8982
9413
|
}
|
|
8983
9414
|
|
|
@@ -8992,9 +9423,9 @@ html.u-baseline-grid::after {
|
|
|
8992
9423
|
}
|
|
8993
9424
|
|
|
8994
9425
|
/* ------------------------------------------------------------------ */
|
|
8995
|
-
/* Header split (≥
|
|
9426
|
+
/* Header split (≥ 45rem): the shared readable 50/50 title/content split. */
|
|
8996
9427
|
/* ------------------------------------------------------------------ */
|
|
8997
|
-
@container (width >=
|
|
9428
|
+
@container (width >= 45rem) {
|
|
8998
9429
|
:where(.bf-theme) :where(.bf-tiered-list:not(.is-description-full-width)) :where(.bf-tiered-list-header) {
|
|
8999
9430
|
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
|
9000
9431
|
}
|
|
@@ -9018,7 +9449,7 @@ html.u-baseline-grid::after {
|
|
|
9018
9449
|
queries cannot style their own container, so responsive descendants span
|
|
9019
9450
|
these tracks instead of relying on an ineligible self-query. */
|
|
9020
9451
|
grid-template-columns: repeat(8, minmax(0, 1fr));
|
|
9021
|
-
margin
|
|
9452
|
+
margin: 0;
|
|
9022
9453
|
position: relative;
|
|
9023
9454
|
}
|
|
9024
9455
|
|
|
@@ -9035,7 +9466,7 @@ html.u-baseline-grid::after {
|
|
|
9035
9466
|
/* Responsive aspect media can make a shared subgrid track land between
|
|
9036
9467
|
baselines. Snap that media box itself; the surrounding composition still
|
|
9037
9468
|
does not own or erase any child's semantic margins. */
|
|
9038
|
-
@supports (block-size: calc-size(auto, round(up, size,
|
|
9469
|
+
@supports (block-size: calc-size(auto, round(up, size, 0.0625rem))) {
|
|
9039
9470
|
:where(.bf-theme) :where(.bf-equal-height-row-item) > :where(.bf-aspect) {
|
|
9040
9471
|
block-size: calc-size(auto, round(up, size, var(--bf-baseline)));
|
|
9041
9472
|
}
|
|
@@ -9114,7 +9545,7 @@ html.u-baseline-grid::after {
|
|
|
9114
9545
|
:where(.bf-theme) :where(.bf-equal-height-row.is-divider-3:not(.is-divider-1))::before,
|
|
9115
9546
|
:where(.bf-theme) :where(.bf-equal-height-row.is-divider-3:not(.is-divider-2))::after {
|
|
9116
9547
|
background-color: var(--bf-color-border-low-contrast);
|
|
9117
|
-
block-size:
|
|
9548
|
+
block-size: 0.0625rem;
|
|
9118
9549
|
content: "";
|
|
9119
9550
|
display: none;
|
|
9120
9551
|
grid-column: 1 / -1;
|
|
@@ -9187,8 +9618,8 @@ html.u-baseline-grid::after {
|
|
|
9187
9618
|
/* ------------------------------------------------------------------ */
|
|
9188
9619
|
/* Gutter and margin escalation — viewport-based, all tiers */
|
|
9189
9620
|
/* Grid spec v0.3 §2.3: gutters set by global viewport breakpoint. */
|
|
9190
|
-
/* Baseline Foundry models the spec's
|
|
9191
|
-
/* default <
|
|
9621
|
+
/* Baseline Foundry models the spec's 28.75rem x-small row as part of the */
|
|
9622
|
+
/* default <38.75rem bracket because the values do not change at 28.75rem. */
|
|
9192
9623
|
/* ------------------------------------------------------------------ */
|
|
9193
9624
|
|
|
9194
9625
|
:where(.bf-theme) {
|
|
@@ -9271,6 +9702,13 @@ html.u-baseline-grid::after {
|
|
|
9271
9702
|
padding-inline: 0;
|
|
9272
9703
|
}
|
|
9273
9704
|
|
|
9705
|
+
/* A page is the outer grid row and therefore owns its horizontal gutter.
|
|
9706
|
+
* Fixed-width regions nested anywhere inside it retain their cap and
|
|
9707
|
+
* centering behavior without introducing a second page inset. */
|
|
9708
|
+
:where(.bf-theme) :where(.bf-page) :where(.bf-fixed-width) {
|
|
9709
|
+
padding-inline: 0;
|
|
9710
|
+
}
|
|
9711
|
+
|
|
9274
9712
|
/* ------------------------------------------------------------------ */
|
|
9275
9713
|
/* Grid base — 4 columns, all tiers */
|
|
9276
9714
|
/* ------------------------------------------------------------------ */
|
|
@@ -9292,7 +9730,7 @@ html.u-baseline-grid::after {
|
|
|
9292
9730
|
|
|
9293
9731
|
:where(.bf-theme) :where(.bf-grid.is-guide) > * {
|
|
9294
9732
|
background: color-mix(in srgb, var(--bf-color-accent) 18%, var(--bf-color-background-default));
|
|
9295
|
-
box-shadow: inset 0 0 0
|
|
9733
|
+
box-shadow: inset 0 0 0 0.0625rem color-mix(in srgb, var(--bf-color-accent) 50%, var(--bf-color-rule));
|
|
9296
9734
|
min-block-size: calc(var(--bf-baseline) * 4);
|
|
9297
9735
|
}
|
|
9298
9736
|
|
|
@@ -9375,18 +9813,24 @@ html.u-baseline-grid::after {
|
|
|
9375
9813
|
|
|
9376
9814
|
:where(.bf-theme.bf-tier-app) :where(.bf-form-label, .bf-form-help, .bf-button, .bf-button.is-base, .bf-status-label, .bf-chip, .bf-checkbox-label, .bf-radio-label, .bf-tabs-link, .bf-accordion-tab, .bf-validation-message) {
|
|
9377
9815
|
font-family: inherit;
|
|
9378
|
-
font-size:
|
|
9816
|
+
font-size: var(--bf-body-font-size);
|
|
9379
9817
|
font-style: normal;
|
|
9380
9818
|
font-weight: 400;
|
|
9381
|
-
line-height:
|
|
9819
|
+
line-height: var(--bf-body-line-height);
|
|
9820
|
+
}
|
|
9821
|
+
|
|
9822
|
+
/* Preserve the public nested fit after the preset's general typography pass.
|
|
9823
|
+
The modifier remains explicit and zero-specificity in every app scope. */
|
|
9824
|
+
:where(.bf-theme.bf-tier-app) :where(.bf-status-label.is-nested, .bf-chip.is-nested) {
|
|
9825
|
+
line-height: var(--bf-nested-auxiliary-line-height);
|
|
9382
9826
|
}
|
|
9383
9827
|
|
|
9384
9828
|
:where(.bf-theme.bf-tier-app) :where(.bf-input, .bf-button, .bf-button.is-base) {
|
|
9385
9829
|
font-family: inherit;
|
|
9386
|
-
font-size:
|
|
9830
|
+
font-size: var(--bf-body-font-size);
|
|
9387
9831
|
font-style: normal;
|
|
9388
9832
|
font-weight: 400;
|
|
9389
|
-
line-height:
|
|
9833
|
+
line-height: var(--bf-body-line-height);
|
|
9390
9834
|
}
|
|
9391
9835
|
|
|
9392
9836
|
:where(.bf-theme.bf-tier-app) :where(.bf-application) {
|
|
@@ -9396,7 +9840,7 @@ html.u-baseline-grid::after {
|
|
|
9396
9840
|
:where(.bf-theme.bf-tier-app) :where(.bf-navigation-drawer),
|
|
9397
9841
|
:where(.bf-theme.bf-tier-app) :where(.bf-navigation:not(.is-collapsed)) > :where(.bf-navigation-drawer),
|
|
9398
9842
|
:where(.bf-theme.bf-tier-app) :where(.bf-aside.is-overlay, .bf-aside.is-drawer) {
|
|
9399
|
-
box-shadow: 0
|
|
9843
|
+
box-shadow: 0 0.625rem 1.25rem rgba(0, 0, 0, 0.12), 0 0 0.1875rem rgba(0, 0, 0, 0.12);
|
|
9400
9844
|
}
|
|
9401
9845
|
|
|
9402
9846
|
:where(.bf-theme.bf-tier-app) :where(.bf-panel-header) {
|
|
@@ -9415,6 +9859,11 @@ html.u-baseline-grid::after {
|
|
|
9415
9859
|
padding-block-end: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
9416
9860
|
}
|
|
9417
9861
|
|
|
9862
|
+
:where(.bf-theme.bf-tier-app) :where(.bf-navigation-bar.is-responsive) :where(.bf-panel-header.is-navigation-brand) {
|
|
9863
|
+
gap: calc(var(--bf-baseline) * 2);
|
|
9864
|
+
padding-block: 0;
|
|
9865
|
+
}
|
|
9866
|
+
|
|
9418
9867
|
:where(.bf-theme.bf-tier-app) :where(.bf-panel-controls) {
|
|
9419
9868
|
gap: calc(var(--bf-baseline) * 1.5);
|
|
9420
9869
|
}
|