@stackoverflow/stacks 2.0.9 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/LICENSE.MD +1 -1
  2. package/README.md +7 -9
  3. package/dist/css/stacks.css +193 -206
  4. package/dist/css/stacks.min.css +1 -1
  5. package/dist/js/stacks.js +1 -1
  6. package/lib/components/activity-indicator/activity-indicator.a11y.test.ts +2 -3
  7. package/lib/components/activity-indicator/activity-indicator.visual.test.ts +2 -3
  8. package/lib/components/anchor/anchor.a11y.test.ts +2 -4
  9. package/lib/components/anchor/anchor.visual.test.ts +2 -4
  10. package/lib/components/avatar/avatar.a11y.test.ts +2 -3
  11. package/lib/components/avatar/avatar.visual.test.ts +2 -3
  12. package/lib/components/award-bling/award-bling.a11y.test.ts +2 -4
  13. package/lib/components/award-bling/award-bling.visual.test.ts +2 -4
  14. package/lib/components/badge/badge.a11y.test.ts +7 -16
  15. package/lib/components/badge/badge.visual.test.ts +8 -21
  16. package/lib/components/banner/banner.a11y.test.ts +2 -3
  17. package/lib/components/banner/banner.visual.test.ts +2 -3
  18. package/lib/components/block-link/block-link.a11y.test.ts +4 -9
  19. package/lib/components/block-link/block-link.less +7 -10
  20. package/lib/components/block-link/block-link.visual.test.ts +4 -9
  21. package/lib/components/breadcrumbs/breadcrumbs.a11y.test.ts +2 -3
  22. package/lib/components/breadcrumbs/breadcrumbs.visual.test.ts +2 -3
  23. package/lib/components/button/button.a11y.test.ts +2 -3
  24. package/lib/components/button/button.less +70 -35
  25. package/lib/components/button/button.visual.test.ts +2 -3
  26. package/lib/components/card/card.a11y.test.ts +2 -3
  27. package/lib/components/card/card.visual.test.ts +3 -6
  28. package/lib/components/check-control/check-control.a11y.test.ts +2 -4
  29. package/lib/components/check-control/check-control.visual.test.ts +2 -4
  30. package/lib/components/check-group/check-group.a11y.test.ts +2 -4
  31. package/lib/components/check-group/check-group.visual.test.ts +2 -4
  32. package/lib/components/checkbox_radio/checkbox_radio.a11y.test.ts +2 -4
  33. package/lib/components/checkbox_radio/checkbox_radio.less +1 -13
  34. package/lib/components/checkbox_radio/checkbox_radio.visual.test.ts +2 -4
  35. package/lib/components/code-block/code-block.a11y.test.ts +2 -4
  36. package/lib/components/code-block/code-block.visual.test.ts +2 -4
  37. package/lib/components/description/description.a11y.test.ts +2 -4
  38. package/lib/components/description/description.visual.test.ts +2 -4
  39. package/lib/components/empty-state/empty-state.a11y.test.ts +2 -3
  40. package/lib/components/empty-state/empty-state.visual.test.ts +2 -3
  41. package/lib/components/expandable/expandable.a11y.test.ts +2 -3
  42. package/lib/components/expandable/expandable.visual.test.ts +2 -3
  43. package/lib/components/input-fill/input-fill.a11y.test.ts +2 -3
  44. package/lib/components/input-fill/input-fill.visual.test.ts +2 -3
  45. package/lib/components/input-message/input-message.a11y.test.ts +2 -3
  46. package/lib/components/input-message/input-message.visual.test.ts +2 -3
  47. package/lib/components/input_textarea/input_textarea.a11y.test.ts +4 -7
  48. package/lib/components/input_textarea/input_textarea.less +2 -20
  49. package/lib/components/input_textarea/input_textarea.visual.test.ts +4 -7
  50. package/lib/components/label/label.a11y.test.ts +2 -3
  51. package/lib/components/label/label.visual.test.ts +2 -3
  52. package/lib/components/link/link.a11y.test.ts +2 -3
  53. package/lib/components/link/link.visual.test.ts +2 -3
  54. package/lib/components/link-preview/link-preview.a11y.test.ts +2 -3
  55. package/lib/components/link-preview/link-preview.visual.test.ts +3 -3
  56. package/lib/components/menu/menu.a11y.test.ts +2 -3
  57. package/lib/components/menu/menu.visual.test.ts +2 -3
  58. package/lib/components/modal/modal.a11y.test.ts +2 -3
  59. package/lib/components/modal/modal.visual.test.ts +2 -3
  60. package/lib/components/navigation/navigation.a11y.test.ts +2 -3
  61. package/lib/components/navigation/navigation.less +3 -1
  62. package/lib/components/navigation/navigation.visual.test.ts +3 -6
  63. package/lib/components/notice/notice.a11y.test.ts +2 -3
  64. package/lib/components/notice/notice.visual.test.ts +2 -3
  65. package/lib/components/page-title/page-title.a11y.test.ts +2 -3
  66. package/lib/components/page-title/page-title.visual.test.ts +2 -3
  67. package/lib/components/pagination/pagination.a11y.test.ts +2 -3
  68. package/lib/components/pagination/pagination.less +9 -0
  69. package/lib/components/pagination/pagination.visual.test.ts +2 -3
  70. package/lib/components/progress-bar/progress-bar.a11y.test.ts +7 -18
  71. package/lib/components/progress-bar/progress-bar.visual.test.ts +7 -18
  72. package/lib/components/select/select.less +1 -15
  73. package/lib/components/spinner/spinner.a11y.test.ts +2 -3
  74. package/lib/components/spinner/spinner.visual.test.ts +4 -7
  75. package/lib/components/table/table.a11y.test.ts +3 -4
  76. package/lib/components/table/table.visual.test.ts +2 -3
  77. package/lib/components/tag/tag.a11y.test.ts +2 -3
  78. package/lib/components/tag/tag.less +27 -21
  79. package/lib/components/tag/tag.visual.test.ts +3 -6
  80. package/lib/components/toast/toast.a11y.test.ts +2 -3
  81. package/lib/components/toast/toast.visual.test.ts +2 -3
  82. package/lib/components/toggle-switch/toggle-switch.a11y.test.ts +3 -6
  83. package/lib/components/toggle-switch/toggle-switch.less +5 -16
  84. package/lib/components/toggle-switch/toggle-switch.visual.test.ts +3 -7
  85. package/lib/components/topbar/topbar.less +61 -39
  86. package/lib/components/topbar/topbar.visual.test.ts +188 -0
  87. package/lib/components/uploader/uploader.less +1 -1
  88. package/lib/exports/__snapshots__/color-mixins.less.test.ts.snap +2 -0
  89. package/lib/exports/__snapshots__/color.less.test.ts.snap +12 -0
  90. package/lib/exports/color-sets.less +17 -7
  91. package/lib/exports/mixins.less +33 -0
  92. package/lib/input-utils.less +0 -3
  93. package/lib/test/a11y-test-utils.ts +94 -0
  94. package/lib/test/assertions.ts +10 -3
  95. package/lib/test/test-utils.ts +152 -300
  96. package/lib/test/visual-test-utils.ts +58 -0
  97. package/package.json +7 -8
  98. package/lib/components/popover/tooltip.visual.test.ts +0 -31
@@ -1071,44 +1071,16 @@ a.s-block-link.is-selected,
1071
1071
  --_bl-fc: var(--black-600);
1072
1072
  font-weight: bold;
1073
1073
  }
1074
- a.s-block-linka.s-block-link__left.is-selected,
1075
- a.s-block-link.s-block-link__left.is-selected,
1076
- .s-block-linka.s-block-link__left.is-selected,
1077
- .s-block-link.s-block-link__left.is-selected,
1078
- a.s-block-linka.s-block-link__right.is-selected,
1079
- a.s-block-link.s-block-link__right.is-selected,
1080
- .s-block-linka.s-block-link__right.is-selected,
1081
- .s-block-link.s-block-link__right.is-selected {
1074
+ a.s-block-linka.s-block-link__left.is-selected:not(:focus-visible),
1075
+ a.s-block-link.s-block-link__left.is-selected:not(:focus-visible),
1076
+ .s-block-linka.s-block-link__left.is-selected:not(:focus-visible),
1077
+ .s-block-link.s-block-link__left.is-selected:not(:focus-visible),
1078
+ a.s-block-linka.s-block-link__right.is-selected:not(:focus-visible),
1079
+ a.s-block-link.s-block-link__right.is-selected:not(:focus-visible),
1080
+ .s-block-linka.s-block-link__right.is-selected:not(:focus-visible),
1081
+ .s-block-link.s-block-link__right.is-selected:not(:focus-visible) {
1082
1082
  box-shadow: inset var(--_li-block-bs-offset-x, 3px) 0 0 var(--_bl-bs-color);
1083
1083
  }
1084
- a.s-block-linka.s-block-link__left.is-selected:focus:not(:focus-visible),
1085
- a.s-block-link.s-block-link__left.is-selected:focus:not(:focus-visible),
1086
- .s-block-linka.s-block-link__left.is-selected:focus:not(:focus-visible),
1087
- .s-block-link.s-block-link__left.is-selected:focus:not(:focus-visible),
1088
- a.s-block-linka.s-block-link__right.is-selected:focus:not(:focus-visible),
1089
- a.s-block-link.s-block-link__right.is-selected:focus:not(:focus-visible),
1090
- .s-block-linka.s-block-link__right.is-selected:focus:not(:focus-visible),
1091
- .s-block-link.s-block-link__right.is-selected:focus:not(:focus-visible),
1092
- a.s-block-linka.s-block-link__left.is-selected:focus-visible,
1093
- a.s-block-link.s-block-link__left.is-selected:focus-visible,
1094
- .s-block-linka.s-block-link__left.is-selected:focus-visible,
1095
- .s-block-link.s-block-link__left.is-selected:focus-visible,
1096
- a.s-block-linka.s-block-link__right.is-selected:focus-visible,
1097
- a.s-block-link.s-block-link__right.is-selected:focus-visible,
1098
- .s-block-linka.s-block-link__right.is-selected:focus-visible,
1099
- .s-block-link.s-block-link__right.is-selected:focus-visible {
1100
- outline: none;
1101
- }
1102
- a.s-block-linka.s-block-link__left.is-selected:focus-visible,
1103
- a.s-block-link.s-block-link__left.is-selected:focus-visible,
1104
- .s-block-linka.s-block-link__left.is-selected:focus-visible,
1105
- .s-block-link.s-block-link__left.is-selected:focus-visible,
1106
- a.s-block-linka.s-block-link__right.is-selected:focus-visible,
1107
- a.s-block-link.s-block-link__right.is-selected:focus-visible,
1108
- .s-block-linka.s-block-link__right.is-selected:focus-visible,
1109
- .s-block-link.s-block-link__right.is-selected:focus-visible {
1110
- box-shadow: inset var(--_li-block-bs-offset-x, 3px) 0 0 var(--_bl-bs-color), 0 0 0 var(--su-static4) var(--focus-ring-muted);
1111
- }
1112
1084
  a.s-block-linka.s-block-link__right.is-selected,
1113
1085
  a.s-block-link.s-block-link__right.is-selected,
1114
1086
  .s-block-linka.s-block-link__right.is-selected,
@@ -1137,15 +1109,11 @@ a.s-block-link:visited,
1137
1109
  .s-block-link:visited {
1138
1110
  color: var(--_bl-fc-visited);
1139
1111
  }
1140
- a.s-block-link:focus:not(:focus-visible),
1141
- .s-block-link:focus:not(:focus-visible) {
1142
- outline: none;
1143
- box-shadow: none;
1144
- }
1145
1112
  a.s-block-link:focus-visible,
1146
1113
  .s-block-link:focus-visible {
1147
- outline: none;
1148
- box-shadow: 0 0 0 var(--su-static4) var(--focus-ring-muted);
1114
+ border-radius: var(--br-sm);
1115
+ box-shadow: inset 0 0 0 var(--su-static2) var(--focus-theme), inset 0 0 0 var(--su-static4) var(--focus-neutral);
1116
+ outline: var(--su-static2) solid transparent !important;
1149
1117
  }
1150
1118
  .s-breadcrumbs {
1151
1119
  --_br-divider-px: var(--su4);
@@ -1186,29 +1154,31 @@ body.theme-highcontrast .s-breadcrumbs .s-breadcrumbs--divider {
1186
1154
  --_bu-bc: transparent;
1187
1155
  --_bu-br: var(--br-md);
1188
1156
  --_bu-fc: var(--theme-button-color, var(--theme-secondary-400));
1189
- --_bu-focus-ring: 0 0 0 var(--su-static4) var(--focus-ring);
1190
1157
  --_bu-fs: var(--fs-body1);
1191
1158
  --_bu-p: 0.8em;
1192
- --_bu-bc-selected: transparent;
1159
+ --_bu-bc-active: var(--_bu-bc);
1193
1160
  --_bu-bg-active: var(--theme-button-active-background-color, var(--theme-secondary-300));
1194
- --_bu-bg-hover: var(--theme-button-hover-background-color, var(--theme-secondary-200));
1195
- --_bu-bg-selected: var(--theme-button-selected-background-color, var(--theme-secondary-300));
1196
1161
  --_bu-fc-active: var(--theme-button-hover-color, var(--theme-secondary-500));
1162
+ --_bu-bc-hover: var(--_bu-bc);
1163
+ --_bu-bg-hover: var(--theme-button-hover-background-color, var(--theme-secondary-200));
1197
1164
  --_bu-fc-hover: var(--theme-button-hover-color, var(--theme-secondary-500));
1165
+ --_bu-bg-selected: var(--theme-button-selected-background-color, var(--theme-secondary-300));
1198
1166
  --_bu-fc-selected: var(--theme-button-selected-color, var(--theme-secondary-600));
1199
1167
  --_bu-filled-bc: transparent;
1200
- --_bu-filled-bc-active: transparent;
1201
- --_bu-filled-bc-selected: transparent;
1202
1168
  --_bu-filled-bg: var(--theme-button-primary-background-color, var(--theme-secondary-400));
1203
- --_bu-filled-bg-active: var(--theme-button-primary-active-background-color, var(--theme-secondary-600));
1204
- --_bu-filled-bg-hover: var(--theme-button-primary-hover-background-color, var(--theme-secondary-500));
1205
- --_bu-filled-bg-selected: var(--theme-button-primary-selected-background-color, var(--theme-secondary-500));
1206
1169
  --_bu-filled-fc: var(--theme-button-primary-color, var(--white));
1170
+ --_bu-filled-bc-selected: transparent;
1171
+ --_bu-filled-bg-selected: var(--theme-button-primary-selected-background-color, var(--theme-secondary-500));
1172
+ --_bu-filled-fc-selected: var(--theme-button-primary-selected-color, var(--white));
1173
+ --_bu-filled-bc-active: var(--_bu-filled-bc);
1174
+ --_bu-filled-bg-active: var(--theme-button-primary-active-background-color, var(--theme-secondary-600));
1207
1175
  --_bu-filled-fc-active: var(--theme-button-primary-hover-color, var(--white));
1176
+ --_bu-filled-bc-hover: var(--_bu-filled-bc);
1177
+ --_bu-filled-bg-hover: var(--theme-button-primary-hover-background-color, var(--theme-secondary-500));
1208
1178
  --_bu-filled-fc-hover: var(--theme-button-primary-hover-color, var(--white));
1209
- --_bu-filled-fc-selected: var(--theme-button-primary-selected-color, var(--white));
1210
1179
  --_bu-outlined-bc: var(--theme-button-outlined-border-color, var(--theme-secondary-400));
1211
1180
  --_bu-outlined-bg: var(--theme-button-outlined-background-color);
1181
+ --_bg-outlined-fc: var(--theme-button-outlined-color, var(--theme-secondary-400));
1212
1182
  --_bu-outlined-bc-selected: var(--theme-button-outlined-selected-border-color, var(--theme-secondary-400));
1213
1183
  --_bu-outlined-bg-selected: var(--theme-button-selected-background-color, var(--theme-secondary-300));
1214
1184
  --_bu-outlined-fc-selected: var(--theme-button-selected-color, var(--theme-secondary-600));
@@ -1267,29 +1237,29 @@ button[type="reset"] .s-btn {
1267
1237
  opacity: 0;
1268
1238
  }
1269
1239
  .s-btn.is-selected,
1270
- .s-btn-group.s-btn-group--radio .s-btn--radio:checked + .s-btn {
1240
+ .s-btn--radio:checked + .s-btn {
1271
1241
  background-color: var(--_bu-bg-selected);
1272
- border-color: var(--_bu-bc-selected);
1242
+ border-color: var(--_bu-bc-selected, transparent);
1273
1243
  color: var(--_bu-fc-selected);
1274
1244
  }
1275
1245
  .s-btn.is-selected .s-btn--number,
1276
- .s-btn-group.s-btn-group--radio .s-btn--radio:checked + .s-btn .s-btn--number {
1246
+ .s-btn--radio:checked + .s-btn .s-btn--number {
1277
1247
  color: var(--_bu-number-fc-selected);
1278
1248
  }
1279
1249
  .s-btn.is-selected.s-btn__filled,
1280
- .s-btn-group.s-btn-group--radio .s-btn--radio:checked + .s-btn.s-btn__filled {
1250
+ .s-btn--radio:checked + .s-btn.s-btn__filled {
1281
1251
  border-color: var(--_bu-filled-bc-selected);
1282
1252
  background-color: var(--_bu-filled-bg-selected);
1283
1253
  color: var(--_bu-filled-fc-selected);
1284
1254
  }
1285
1255
  .s-btn.is-selected.s-btn__outlined,
1286
- .s-btn-group.s-btn-group--radio .s-btn--radio:checked + .s-btn.s-btn__outlined {
1256
+ .s-btn--radio:checked + .s-btn.s-btn__outlined {
1287
1257
  border-color: var(--_bu-outlined-bc-selected);
1288
1258
  background-color: var(--_bu-outlined-bg-selected);
1289
1259
  color: var(--_bu-outlined-fc-selected);
1290
1260
  }
1291
1261
  body.theme-highcontrast .s-btn.is-selected.s-btn__outlined.s-btn__muted,
1292
- body.theme-highcontrast .s-btn-group.s-btn-group--radio .s-btn--radio:checked + .s-btn.s-btn__outlined.s-btn__muted {
1262
+ body.theme-highcontrast .s-btn--radio:checked + .s-btn.s-btn__outlined.s-btn__muted {
1293
1263
  --_bu-outlined-bc-selected: var(--_bu-filled-bc-selected);
1294
1264
  --_bu-outlined-bg-selected: var(--_bu-filled-bg-selected);
1295
1265
  --_bu-outlined-fc-selected: var(--_bu-filled-fc-selected);
@@ -1316,7 +1286,6 @@ body.theme-highcontrast .s-btn-group.s-btn-group--radio .s-btn--radio:checked +
1316
1286
  .s-btn.s-btn__link {
1317
1287
  --_bu-baw: 0;
1318
1288
  --_bu-br: 0;
1319
- --_bu-focus-ring: none;
1320
1289
  --_bu-p: 0;
1321
1290
  --_li-fc: var(--theme-link-color, var(--theme-secondary-400));
1322
1291
  --_li-fc-hover: var(--theme-link-color-hover, var(--theme-secondary-500));
@@ -1440,7 +1409,6 @@ button.s-btn.s-btn__link:focus {
1440
1409
  --_bu-bg: none;
1441
1410
  --_bu-br: 0;
1442
1411
  --_bu-fc: unset;
1443
- --_bu-focus-ring: none;
1444
1412
  --_bu-p: 0;
1445
1413
  cursor: default;
1446
1414
  font: unset;
@@ -1492,7 +1460,6 @@ body.theme-highcontrast .s-btn.s-btn__muted {
1492
1460
  --_bu-fc-active: var(--_bu-fc);
1493
1461
  --_bu-fc-hover: var(--red-500);
1494
1462
  --_bu-fc-selected: var(--red-600);
1495
- --_bu-focus-ring: 0 0 0 var(--su-static4) var(--focus-ring-error);
1496
1463
  --_bu-filled-bc: transparent;
1497
1464
  --_bu-filled-bc-selected: var(--_bu-filled-bc);
1498
1465
  --_bu-filled-bg: var(--red-400);
@@ -1511,6 +1478,7 @@ body.theme-highcontrast .s-btn.s-btn__muted {
1511
1478
  --_bu-number-fc-filled: var(--black);
1512
1479
  }
1513
1480
  .s-btn.s-btn__muted {
1481
+ --_bu-bc-hover: var(--black-300);
1514
1482
  --_bu-bg-active: var(--black-150);
1515
1483
  --_bu-bg-hover: var(--black-100);
1516
1484
  --_bu-bg-selected: var(--black-200);
@@ -1518,7 +1486,6 @@ body.theme-highcontrast .s-btn.s-btn__muted {
1518
1486
  --_bu-fc-active: var(--_bu-fc);
1519
1487
  --_bu-fc-hover: var(--black-500);
1520
1488
  --_bu-fc-selected: var(--black-500);
1521
- --_bu-focus-ring: 0 0 0 var(--su-static4) var(--focus-ring-muted);
1522
1489
  --_bu-filled-bc: transparent;
1523
1490
  --_bu-filled-bc-selected: var(--_bu-filled-bc);
1524
1491
  --_bu-filled-bg: var(--black-225);
@@ -1533,7 +1500,11 @@ body.theme-highcontrast .s-btn.s-btn__muted {
1533
1500
  --_bu-outlined-bc-selected: var(--black-300);
1534
1501
  --_bu-outlined-bg-selected: var(--_bu-bg-selected);
1535
1502
  --_bu-outlined-fc-selected: var(--_bu-fc-selected);
1503
+ --_bu-number-fc-filled: var(--white);
1536
1504
  --_bu-number-fc-selected: var(--white);
1505
+ --_bu-bg-focus: var(--black-400);
1506
+ --_bu-fc-focus: var(--white);
1507
+ --_bu-number-fc-focus: var(--black-500);
1537
1508
  }
1538
1509
  body.theme-highcontrast .s-btn.s-btn__muted {
1539
1510
  --_bu-bg-hover: var(--black-225);
@@ -1585,7 +1556,6 @@ body.theme-highcontrast .s-btn.s-btn__github {
1585
1556
  --_bu-fc: var(--fc-medium);
1586
1557
  --_bu-fc-active: var(--fc-dark);
1587
1558
  --_bu-fc-hover: var(--black-600);
1588
- --_bu-focus-ring: 0 0 0 var(--su-static4) var(--focus-ring-muted);
1589
1559
  }
1590
1560
  .s-btn.s-btn__github {
1591
1561
  --_bu-bg: var(--black-600);
@@ -1594,7 +1564,6 @@ body.theme-highcontrast .s-btn.s-btn__github {
1594
1564
  --_bu-fc: var(--white);
1595
1565
  --_bu-fc-active: var(--white);
1596
1566
  --_bu-fc-hover: var(--white);
1597
- --_bu-focus-ring: 0 0 0 var(--su-static4) var(--focus-ring-muted);
1598
1567
  --_bu-hc-bc: transparent;
1599
1568
  }
1600
1569
  .s-btn .s-btn--badge {
@@ -1621,37 +1590,58 @@ body.theme-highcontrast .s-btn.s-btn__github {
1621
1590
  position: absolute;
1622
1591
  width: var(--su-static1);
1623
1592
  }
1624
- .s-btn:not(.is-selected):not(.s-btn__link):not(.s-btn__unset):hover,
1625
- .s-btn:not(.is-selected):not(.s-btn__link):not(.s-btn__unset):focus {
1593
+ .s-btn:not(.s-btn__link):not(.s-btn__unset):focus-visible,
1594
+ .s-btn--radio:focus-visible + .s-btn {
1595
+ border-color: var(--theme-secondary-400) !important;
1596
+ border-color: var(--focus-theme) !important;
1597
+ box-shadow: inset 0 0 0 var(--su-static1) var(--focus-theme), inset 0 0 0 calc(var(--su-static4) - var(--su-static1)) var(--focus-neutral);
1598
+ outline: var(--su-static2) solid transparent !important;
1599
+ }
1600
+ .s-btn:not(.s-btn__link):not(.s-btn__unset).s-btn:not(.s-btn__facebook):not(.s-btn__github):not(.s-btn__google):not(.is-selected):focus-visible,
1601
+ .s-btn--radio:focus-visible + .s-btn,
1602
+ .s-btn:not(.s-btn__link):not(.s-btn__unset).s-btn:not(.s-btn__facebook):not(.s-btn__github):not(.s-btn__google):not(.is-selected):focus-visible.s-btn__filled,
1603
+ .s-btn--radio:focus-visible + .s-btn.s-btn__filled {
1604
+ background-color: var(--_bu-bg-focus, var(--_bu-filled-bg));
1605
+ color: var(--_bu-fc-focus, var(--_bu-filled-fc));
1606
+ }
1607
+ .s-btn:not(.s-btn__link):not(.s-btn__unset).s-btn:not(.s-btn__facebook):not(.s-btn__github):not(.s-btn__google):not(.is-selected):focus-visible:not(:hover) .s-btn--number,
1608
+ .s-btn--radio:focus-visible + .s-btn:not(:hover) .s-btn--number,
1609
+ .s-btn:not(.s-btn__link):not(.s-btn__unset).s-btn:not(.s-btn__facebook):not(.s-btn__github):not(.s-btn__google):not(.is-selected):focus-visible.s-btn__filled:not(:hover) .s-btn--number,
1610
+ .s-btn--radio:focus-visible + .s-btn.s-btn__filled:not(:hover) .s-btn--number {
1611
+ color: var(--_bu-number-fc-focus, var(--_bu-number-fc-filled));
1612
+ }
1613
+ .s-btn:not(.s-btn__link):not(.s-btn__unset).s-btn:not(.s-btn__facebook):not(.s-btn__github):not(.s-btn__google):not(.is-selected):hover {
1626
1614
  background-color: var(--_bu-bg-hover);
1627
1615
  color: var(--_bu-fc-hover);
1628
1616
  }
1629
- .s-btn:not(.is-selected):not(.s-btn__link):not(.s-btn__unset):hover.s-btn__filled,
1630
- .s-btn:not(.is-selected):not(.s-btn__link):not(.s-btn__unset):focus.s-btn__filled {
1617
+ .s-btn:not(.s-btn__link):not(.s-btn__unset).s-btn:not(.s-btn__facebook):not(.s-btn__github):not(.s-btn__google):not(.is-selected):hover.s-btn__filled {
1631
1618
  background-color: var(--_bu-filled-bg-hover);
1619
+ border-color: var(--_bu-filled-bc-hover);
1632
1620
  color: var(--_bu-filled-fc-hover);
1633
1621
  }
1634
- .s-btn:not(.is-selected):not(.s-btn__link):not(.s-btn__unset):active {
1622
+ .s-btn:not(.s-btn__link):not(.s-btn__unset).s-btn:not(.s-btn__facebook):not(.s-btn__github):not(.s-btn__google):not(.is-selected):hover:not(.s-btn__outlined) {
1623
+ border-color: var(--_bu-bc-hover);
1624
+ }
1625
+ .s-btn:not(.s-btn__link):not(.s-btn__unset).s-btn:not(.s-btn__facebook):not(.s-btn__github):not(.s-btn__google):not(.is-selected):active {
1635
1626
  background-color: var(--_bu-bg-active);
1627
+ border-color: var(--_bu-bc-active);
1636
1628
  color: var(--_bu-fc-active);
1637
1629
  }
1638
- .s-btn:not(.is-selected):not(.s-btn__link):not(.s-btn__unset):active.s-btn__filled {
1630
+ .s-btn:not(.s-btn__link):not(.s-btn__unset).s-btn:not(.s-btn__facebook):not(.s-btn__github):not(.s-btn__google):not(.is-selected):active.s-btn__filled {
1639
1631
  background-color: var(--_bu-filled-bg-active);
1632
+ border-color: var(--_bu-filled-bc-active);
1640
1633
  color: var(--_bu-filled-fc-active);
1641
1634
  }
1642
- .s-btn:not(.is-selected):not(.s-btn__link):not(.s-btn__unset):visited:not(:hover):not(:focus) {
1635
+ .s-btn:visited:not(:hover):not(:focus) {
1643
1636
  background-color: var(--_bu-bg);
1637
+ border-color: var(--_bu-bc);
1644
1638
  color: var(--_bu-fc);
1645
1639
  }
1646
- .s-btn:not(.is-selected):not(.s-btn__link):not(.s-btn__unset):visited:not(:hover):not(:focus).s-btn__filled {
1640
+ .s-btn:visited:not(:hover):not(:focus).s-btn__filled {
1647
1641
  background-color: var(--_bu-filled-bg);
1642
+ border-color: var(--_bu-filled-bc);
1648
1643
  color: var(--_bu-filled-fc);
1649
1644
  }
1650
- .s-btn:focus,
1651
- .s-btn--radio:focus + .s-btn {
1652
- box-shadow: var(--_bu-focus-ring);
1653
- outline: none;
1654
- }
1655
1645
  .s-btn-group {
1656
1646
  display: flex;
1657
1647
  flex-wrap: wrap;
@@ -1771,10 +1761,8 @@ body.theme-highcontrast .s-card.s-card__muted > * {
1771
1761
  .s-radio {
1772
1762
  --_ch-baw: var(--su-static1);
1773
1763
  --_ch-bc: var(--bc-dark);
1774
- --_ch-bc-focus: var(--theme-secondary-400);
1775
1764
  --_ch-bg: var(--white);
1776
1765
  --_ch-bg-image: unset;
1777
- --_ch-bs-focus: 0 0 0 var(--su-static4) var(--focus-ring);
1778
1766
  background-color: var(--_ch-bg);
1779
1767
  border: var(--_ch-baw) solid var(--_ch-bc);
1780
1768
  appearance: none;
@@ -1803,7 +1791,8 @@ input.s-radio {
1803
1791
  }
1804
1792
  .s-checkbox:focus,
1805
1793
  .s-radio:focus {
1806
- box-shadow: var(--_ch-bs-focus);
1794
+ box-shadow: 0 0 0 var(--su-static2) var(--focus-neutral), 0 0 0 var(--su-static4) var(--focus-theme);
1795
+ outline: var(--su-static2) solid transparent !important;
1807
1796
  }
1808
1797
  .s-checkbox {
1809
1798
  background-image: var(--_ch-bg-image);
@@ -1834,14 +1823,12 @@ body.theme-system .theme-dark__forced .s-checkbox:indeterminate {
1834
1823
  body.theme-highcontrast.theme-system .s-checkbox:checked,
1835
1824
  body.theme-highcontrast.theme-system .s-checkbox:indeterminate {
1836
1825
  --_ch-bc: var(--blue-500) !important;
1837
- --_ch-bc-focus: var(--_ch-bc);
1838
1826
  --_ch-bg: var(--blue-400);
1839
1827
  }
1840
1828
  }
1841
1829
  body.theme-highcontrast.theme-dark .s-checkbox:checked,
1842
1830
  body.theme-highcontrast.theme-dark .s-checkbox:indeterminate {
1843
1831
  --_ch-bc: var(--blue-500) !important;
1844
- --_ch-bc-focus: var(--_ch-bc);
1845
1832
  --_ch-bg: var(--blue-400);
1846
1833
  }
1847
1834
  .s-checkbox:checked,
@@ -1849,19 +1836,12 @@ body.theme-highcontrast.theme-dark .s-checkbox:indeterminate {
1849
1836
  --_ch-bc: var(--theme-secondary-400) !important;
1850
1837
  --_ch-bg: var(--theme-secondary-400);
1851
1838
  }
1852
- .s-checkbox:checked:focus,
1853
- .s-checkbox:indeterminate:focus {
1854
- --_ch-bc-focus: var(--theme-secondary-400);
1855
- }
1856
1839
  .s-checkbox:checked {
1857
1840
  --_ch-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 3.41L8.59 2 4 6.59 2.41 5 1 6.41l3 3z' fill='hsl(0, 0%, 100%)'/%3E%3C/svg%3E");
1858
1841
  }
1859
1842
  .s-checkbox:indeterminate {
1860
1843
  --_ch-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4.5 h7 v2 h-7 z' fill='hsl(0, 0%, 100%)'/%3E%3C/svg%3E");
1861
1844
  }
1862
- .s-checkbox:focus {
1863
- border-color: var(--_ch-bc-focus);
1864
- }
1865
1845
  .s-radio {
1866
1846
  border-radius: var(--br-circle);
1867
1847
  }
@@ -1891,17 +1871,14 @@ body.theme-highcontrast.theme-dark .s-radio:checked {
1891
1871
  .has-error .s-checkbox,
1892
1872
  .has-error .s-radio:not(:checked) {
1893
1873
  --_ch-bc: var(--red-400);
1894
- --_ch-bs-focus: 0 0 0 var(--su-static4) var(--focus-ring-error);
1895
1874
  }
1896
1875
  .has-success .s-checkbox,
1897
1876
  .has-success .s-radio:not(:checked) {
1898
1877
  --_ch-bc: var(--green-400);
1899
- --_ch-bs-focus: 0 0 0 var(--su-static4) var(--focus-ring-success);
1900
1878
  }
1901
1879
  .has-warning .s-checkbox,
1902
1880
  .has-warning .s-radio:not(:checked) {
1903
1881
  --_ch-bc: var(--yellow-500);
1904
- --_ch-bs-focus: 0 0 0 var(--su-static4) var(--focus-ring-warning);
1905
1882
  }
1906
1883
  .s-check-control {
1907
1884
  --_cc-ai: center;
@@ -2171,13 +2148,10 @@ pre.s-code-block::-webkit-scrollbar-corner {
2171
2148
  .s-input,
2172
2149
  .s-textarea {
2173
2150
  --_in-bc: var(--bc-darker);
2174
- --_in-bc-focus: var(--theme-secondary-400);
2175
2151
  --_in-bg: var(--white);
2176
2152
  --_in-br: var(--br-md);
2177
- --_in-bs-focus: 0 0 0 var(--su-static4) var(--focus-ring);
2178
2153
  --_in-c: unset;
2179
2154
  --_in-fc: var(--fc-dark);
2180
- --_in-fc-focus: var(--black);
2181
2155
  --_in-fs: var(--fs-body1);
2182
2156
  --_in-o: unset;
2183
2157
  --_in-px: 0.7em;
@@ -2237,7 +2211,6 @@ fieldset[disabled] .s-textarea,
2237
2211
  --_in-bg: var(--black-150);
2238
2212
  --_in-bc: var(--bc-light);
2239
2213
  --_in-fc: var(--black-300);
2240
- --_in-fc-focus: var(--_in-fc);
2241
2214
  }
2242
2215
  body.theme-highcontrast .s-input[readonly],
2243
2216
  body.theme-highcontrast .s-textarea[readonly],
@@ -2256,7 +2229,6 @@ body.theme-highcontrast .is-readonly .s-textarea {
2256
2229
  .has-error .s-input,
2257
2230
  .has-error .s-textarea {
2258
2231
  --_in-bc: var(--red-400);
2259
- --_in-bs-focus: 0 0 0 var(--su-static4) var(--focus-ring-error);
2260
2232
  }
2261
2233
  body.theme-highcontrast .has-error .s-input,
2262
2234
  body.theme-highcontrast .has-error .s-textarea {
@@ -2265,7 +2237,6 @@ body.theme-highcontrast .has-error .s-textarea {
2265
2237
  .has-success .s-input,
2266
2238
  .has-success .s-textarea {
2267
2239
  --_in-bc: var(--green-400);
2268
- --_in-bs-focus: 0 0 0 var(--su-static4) var(--focus-ring-success);
2269
2240
  }
2270
2241
  body.theme-highcontrast .has-success .s-input,
2271
2242
  body.theme-highcontrast .has-success .s-textarea {
@@ -2274,7 +2245,6 @@ body.theme-highcontrast .has-success .s-textarea {
2274
2245
  .has-warning .s-input,
2275
2246
  .has-warning .s-textarea {
2276
2247
  --_in-bc: var(--yellow-500);
2277
- --_in-bs-focus: 0 0 0 var(--su-static4) var(--focus-ring-warning);
2278
2248
  }
2279
2249
  body.theme-highcontrast .has-warning .s-input,
2280
2250
  body.theme-highcontrast .has-warning .s-textarea {
@@ -2358,10 +2328,8 @@ body.theme-highcontrast .has-warning .s-textarea {
2358
2328
  }
2359
2329
  .s-input:focus,
2360
2330
  .s-textarea:focus {
2361
- border-color: var(--_in-bc-focus);
2362
- box-shadow: var(--_in-bs-focus);
2363
- color: var(--_in-fc-focus);
2364
- outline: 0;
2331
+ box-shadow: 0 0 0 var(--su-static2) var(--focus-neutral), 0 0 0 var(--su-static4) var(--focus-theme);
2332
+ outline: var(--su-static2) solid transparent !important;
2365
2333
  }
2366
2334
  .s-input::-webkit-scrollbar,
2367
2335
  .s-textarea::-webkit-scrollbar {
@@ -2391,15 +2359,6 @@ body.theme-highcontrast .has-warning .s-textarea {
2391
2359
  .has-warning .s-input {
2392
2360
  padding-right: var(--su32);
2393
2361
  }
2394
- .s-input:focus-within {
2395
- border-color: var(--_in-bc-focus);
2396
- box-shadow: var(--_in-bs-focus);
2397
- color: var(--_in-fc-focus);
2398
- outline: 0;
2399
- }
2400
- body.theme-highcontrast .s-input:focus-within {
2401
- --_in-bc-focus: var(--black);
2402
- }
2403
2362
  .s-input.s-input__md {
2404
2363
  --_in-py: 0.5em;
2405
2364
  }
@@ -3133,13 +3092,9 @@ body.theme-highcontrast .s-navigation .s-navigation--item.is-selected {
3133
3092
  background-color: var(--_na-item-bg-hover);
3134
3093
  color: var(--_na-item-fc-hover);
3135
3094
  }
3136
- .s-navigation .s-navigation--item:focus:not(:focus-visible) {
3137
- outline: none;
3138
- box-shadow: none;
3139
- }
3140
3095
  .s-navigation .s-navigation--item:focus-visible {
3141
- outline: none;
3142
- box-shadow: 0 0 0 var(--su-static4) var(--focus-ring-muted);
3096
+ box-shadow: inset 0 0 0 var(--su-static2) var(--focus-theme), inset 0 0 0 var(--su-static4) var(--focus-neutral);
3097
+ outline: var(--su-static2) solid transparent !important;
3143
3098
  }
3144
3099
  .s-navigation .s-navigation--title {
3145
3100
  margin-top: var(--_na-title-mt);
@@ -3358,6 +3313,8 @@ body.theme-highcontrast .s-notice__warning.s-notice__important {
3358
3313
  --_pa-item-bg: transparent;
3359
3314
  --_pa-item-bc: var(--bc-darker);
3360
3315
  --_pa-item-fc: var(--fc-medium);
3316
+ --_pa-item-bg-focus: var(--black-400);
3317
+ --_pa-item-fc-focus: var(--white);
3361
3318
  --_pa-item-bg-hover: var(--black-225);
3362
3319
  --_pa-item-bc-hover: var(--bc-darker);
3363
3320
  --_pa-item-fc-hover: var(--fc-dark);
@@ -3376,6 +3333,7 @@ body.theme-highcontrast .s-pagination .s-pagination--item {
3376
3333
  --_pa-item-bg: var(--theme-primary);
3377
3334
  --_pa-item-bc: transparent;
3378
3335
  --_pa-item-fc: var(--white);
3336
+ --_pa-item-bg-focus: var(--theme-primary-400);
3379
3337
  }
3380
3338
  .s-pagination .s-pagination--item.s-pagination--item__clear {
3381
3339
  --_pa-item-bg: transparent;
@@ -3393,6 +3351,13 @@ body.theme-highcontrast .s-pagination .s-pagination--item {
3393
3351
  border-color: var(--_pa-item-bc-hover);
3394
3352
  color: var(--_pa-item-fc-hover);
3395
3353
  }
3354
+ .s-pagination .s-pagination--item:focus-visible {
3355
+ background-color: var(--_pa-item-bg-focus);
3356
+ color: var(--_pa-item-fc-focus);
3357
+ border-color: var(--focus-theme) !important;
3358
+ box-shadow: inset 0 0 0 var(--su-static1) var(--focus-theme), inset 0 0 0 calc(var(--su-static4) - var(--su-static1)) var(--focus-neutral);
3359
+ outline: var(--su-static2) solid transparent !important;
3360
+ }
3396
3361
  .s-popover {
3397
3362
  --_po-bg: var(--white);
3398
3363
  --_po-bc: var(--bc-medium);
@@ -4708,8 +4673,6 @@ body.theme-highcontrast .s-prose {
4708
4673
  --_se-arrow-bc: currentColor transparent;
4709
4674
  --_se-arrow-size: var(--su-static4);
4710
4675
  --_se-select-bc: var(--bc-darker);
4711
- --_se-select-bc-focus: var(--theme-secondary-400);
4712
- --_se-select-bs-focus: 0 0 0 var(--su-static4) var(--focus-ring);
4713
4676
  --_se-select-bg: var(--white);
4714
4677
  --_se-select-br: var(--br-md);
4715
4678
  --_se-select-fc: var(--black);
@@ -4740,15 +4703,12 @@ body.theme-highcontrast .s-prose {
4740
4703
  }
4741
4704
  .has-error .s-select {
4742
4705
  --_se-select-bc: var(--red-400);
4743
- --_se-select-bs-focus: 0 0 0 var(--su-static4) var(--focus-ring-error);
4744
4706
  }
4745
4707
  .has-success .s-select {
4746
4708
  --_se-select-bc: var(--green-400);
4747
- --_se-select-bs-focus: 0 0 0 var(--su-static4) var(--focus-ring-success);
4748
4709
  }
4749
4710
  .has-warning .s-select {
4750
4711
  --_se-select-bc: var(--yellow-500);
4751
- --_se-select-bs-focus: 0 0 0 var(--su-static4) var(--focus-ring-warning);
4752
4712
  }
4753
4713
  .is-disabled .s-select {
4754
4714
  --_se-arrow-bc: var(--bc-dark) transparent;
@@ -4840,17 +4800,10 @@ body.theme-highcontrast .s-select > select[readonly],
4840
4800
  body.theme-highcontrast .is-readonly .s-select > select {
4841
4801
  --_se-select-fc: var(--fc-light);
4842
4802
  }
4843
- .s-select > select::-moz-focus-inner {
4844
- outline: none !important;
4845
- }
4846
4803
  .s-select > select:focus {
4847
- border-color: var(--_se-select-bc-focus);
4848
- box-shadow: var(--_se-select-bs-focus);
4849
4804
  color: var(--black);
4850
- outline: 0;
4851
- }
4852
- body.theme-highcontrast .s-select > select:focus {
4853
- --_se-select-bc-focus: var(--black);
4805
+ box-shadow: 0 0 0 var(--su-static2) var(--focus-neutral), 0 0 0 var(--su-static4) var(--focus-theme);
4806
+ outline: var(--su-static2) solid transparent !important;
4854
4807
  }
4855
4808
  .s-select .s-input-icon {
4856
4809
  right: var(--su32);
@@ -5448,9 +5401,9 @@ body.theme-highcontrast .s-sidebarwidget.s-sidebarwidget__green {
5448
5401
  border-color: transparent;
5449
5402
  }
5450
5403
  .s-tag {
5451
- --_ta-bc: var(--theme-tag-border-color, transparent);
5452
- --_ta-bc-hover: var(--theme-tag-hover-border-color, transparent);
5453
- --_ta-bc-selected: var(--theme-tag-selected-border-color, transparent);
5404
+ --_ta-bc: var(--theme-tag-border-color, var(--_ta-bg));
5405
+ --_ta-bc-hover: var(--theme-tag-hover-border-color, var(--_ta-bg-hover));
5406
+ --_ta-bc-selected: var(--theme-tag-selected-border-color, var(--_ta-bg-selected));
5454
5407
  --_ta-bg: var(--theme-tag-background-color, var(--theme-secondary-100));
5455
5408
  --_ta-bg-hover: var(--theme-tag-hover-background-color, var(--theme-secondary-200));
5456
5409
  --_ta-bg-selected: var(--theme-tag-selected-background-color, var(--theme-secondary-300));
@@ -5463,6 +5416,7 @@ body.theme-highcontrast .s-sidebarwidget.s-sidebarwidget__green {
5463
5416
  --_ta-pl: var(--_ta-px);
5464
5417
  --_ta-pr: var(--_ta-px);
5465
5418
  --_ta-px: var(--su4);
5419
+ --_ta-dismiss-padding: calc(var(--_ta-px) - var(--su-static1));
5466
5420
  background-color: var(--_ta-bg);
5467
5421
  border: var(--su-static1) solid var(--_ta-bc);
5468
5422
  border-radius: var(--_ta-br);
@@ -5487,8 +5441,7 @@ body.theme-highcontrast .s-tag {
5487
5441
  .s-tag.is-selected,
5488
5442
  a.s-tag.is-selected,
5489
5443
  a.s-tag.is-selected:active,
5490
- a.s-tag.is-selected:hover,
5491
- a.s-tag.is-selected:focus {
5444
+ a.s-tag.is-selected:hover {
5492
5445
  background-color: var(--_ta-bg-selected);
5493
5446
  border-color: var(--_ta-bc-selected);
5494
5447
  color: var(--_ta-fc-selected);
@@ -5496,9 +5449,7 @@ a.s-tag.is-selected:focus {
5496
5449
  body.theme-highcontrast .s-tag.is-selected,
5497
5450
  body.theme-highcontrast a.s-tag.is-selected,
5498
5451
  body.theme-highcontrast a.s-tag.is-selected:active,
5499
- body.theme-highcontrast a.s-tag.is-selected:hover,
5500
- body.theme-highcontrast a.s-tag.is-selected:focus {
5501
- --_ta-bc-selected: transparent;
5452
+ body.theme-highcontrast a.s-tag.is-selected:hover {
5502
5453
  --_ta-fc-selected: var(--white);
5503
5454
  }
5504
5455
  .s-tag.s-tag__xs {
@@ -5566,13 +5517,10 @@ body.theme-highcontrast .s-tag.s-tag__moderator {
5566
5517
  --_ta-bg-selected: var(--orange-500);
5567
5518
  }
5568
5519
  .s-tag.s-tag__muted:not(.s-tag__moderator):not(.s-tag__required) {
5569
- --_ta-bc: transparent;
5570
5520
  --_ta-bg: var(--black-150);
5571
5521
  --_ta-fc: var(--black-400);
5572
- --_ta-bc-hover: transparent;
5573
5522
  --_ta-bg-hover: var(--black-200);
5574
5523
  --_ta-fc-hover: var(--black-500);
5575
- --_ta-bc-selected: transparent;
5576
5524
  --_ta-bg-selected: var(--black-225);
5577
5525
  --_ta-fc-selected: var(--black-600);
5578
5526
  }
@@ -5580,9 +5528,9 @@ body.theme-highcontrast .s-tag.s-tag__muted:not(.s-tag__moderator):not(.s-tag__r
5580
5528
  --_ta-bc: currentColor;
5581
5529
  }
5582
5530
  .s-tag.s-tag__required:not(.s-tag__moderator) {
5583
- --_ta-bc: var(--theme-tag-required-border-color, transparent);
5584
- --_ta-bc-hover: var(--theme-tag-required-hover-border-color, transparent);
5585
- --_ta-bc-selected: var(--theme-tag-required-selected-border-color, transparent);
5531
+ --_ta-bc: var(--theme-tag-required-border-color, var(--_ta-bg));
5532
+ --_ta-bc-hover: var(--theme-tag-required-hover-border-color, var(--_ta-bg-hover));
5533
+ --_ta-bc-selected: var(--theme-tag-required-selected-border-color, var(--_ta-bg-selected));
5586
5534
  --_ta-bg: var(--theme-tag-required-background-color, var(--theme-secondary-500));
5587
5535
  --_ta-bg-hover: var(--theme-tag-required-hover-background-color, var(--theme-secondary-400));
5588
5536
  --_ta-bg-selected: var(--theme-tag-required-selected-background-color, var(--theme-secondary-600));
@@ -5594,25 +5542,34 @@ body.theme-highcontrast .s-tag.s-tag__muted:not(.s-tag__moderator):not(.s-tag__r
5594
5542
  .s-tag.s-tag__watched {
5595
5543
  --_ta-before-icon: url("data:image/svg+xml;,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M7.05 1C2.63 1 0 6.5 0 6.5S2.63 12 7.05 12C11.38 12 14 6.5 14 6.5S11.37 1 7.05 1ZM7 10.17A3.59 3.59 0 0 1 3.5 6.5 3.6 3.6 0 0 1 7 2.83c1.94 0 3.5 1.65 3.5 3.67A3.57 3.57 0 0 1 7 10.17Zm0-1.84c.97 0 1.75-.81 1.75-1.83S7.97 4.67 7 4.67s-1.75.81-1.75 1.83S6.03 8.33 7 8.33Z'/%3E%3C/svg%3E");
5596
5544
  }
5597
- .s-tag .s-tag--dismiss {
5598
- align-content: center;
5599
- align-self: center;
5545
+ .s-tag button.s-tag--dismiss:not(.s-btn) {
5546
+ all: unset;
5547
+ }
5548
+ .s-tag .s-tag--dismiss,
5549
+ .s-tag button.s-tag--dismiss:not(.s-btn) {
5550
+ align-items: center;
5551
+ align-self: stretch;
5600
5552
  background-color: transparent;
5601
5553
  border-radius: var(--br-sm);
5602
5554
  color: inherit;
5603
5555
  cursor: pointer;
5604
5556
  display: flex;
5605
- height: var(--su-static16);
5606
5557
  justify-content: center;
5607
- margin-left: var(--su4);
5608
- padding: var(--su1);
5609
- width: var(--su-static16);
5558
+ margin: var(--su-static1) calc(var(--_ta-dismiss-padding) * -1) var(--su-static1) var(--_ta-dismiss-padding);
5559
+ padding: var(--_ta-dismiss-padding);
5610
5560
  }
5611
- .s-tag .s-tag--dismiss:hover {
5561
+ .s-tag .s-tag--dismiss:focus-visible,
5562
+ .s-tag button.s-tag--dismiss:not(.s-btn):focus-visible {
5563
+ box-shadow: 0 0 0 var(--su-static2) var(--focus-neutral), 0 0 0 var(--su-static4) var(--focus-theme);
5564
+ outline: var(--su-static2) solid transparent !important;
5565
+ }
5566
+ .s-tag .s-tag--dismiss:hover,
5567
+ .s-tag button.s-tag--dismiss:not(.s-btn):hover {
5612
5568
  background-color: var(--_ta-fc);
5613
5569
  color: var(--_ta-bg);
5614
5570
  }
5615
- body.theme-highcontrast .s-tag .s-tag--dismiss:hover {
5571
+ body.theme-highcontrast .s-tag .s-tag--dismiss:hover,
5572
+ body.theme-highcontrast .s-tag button.s-tag--dismiss:not(.s-btn):hover {
5616
5573
  color: var(--white);
5617
5574
  }
5618
5575
  .s-tag .s-tag--sponsor {
@@ -5628,17 +5585,20 @@ body.theme-highcontrast .s-tag .s-tag--dismiss:hover {
5628
5585
  height: 100%;
5629
5586
  }
5630
5587
  a.s-tag:not(.is-selected):hover,
5631
- a.s-tag:not(.is-selected):focus,
5632
5588
  a.s-tag:not(.is-selected):active {
5633
5589
  background-color: var(--_ta-bg-hover);
5634
5590
  border-color: var(--_ta-bc-hover);
5635
5591
  color: var(--_ta-fc-hover);
5636
5592
  }
5637
5593
  body.theme-highcontrast a.s-tag:not(.is-selected):hover,
5638
- body.theme-highcontrast a.s-tag:not(.is-selected):focus,
5639
5594
  body.theme-highcontrast a.s-tag:not(.is-selected):active {
5640
5595
  border-color: currentColor;
5641
5596
  }
5597
+ .s-tag:focus-visible {
5598
+ border-color: var(--focus-neutral) !important;
5599
+ box-shadow: 0 0 0 var(--su-static1) var(--focus-neutral), 0 0 0 calc(var(--su-static4) - var(--su-static1)) var(--focus-theme);
5600
+ outline: var(--su-static2) solid transparent !important;
5601
+ }
5642
5602
  .s-toast {
5643
5603
  display: flex;
5644
5604
  justify-content: center;
@@ -5676,7 +5636,6 @@ body.theme-highcontrast a.s-tag:not(.is-selected):active {
5676
5636
  --_ts-bg: var(--black-350);
5677
5637
  --_ts-bg-image: url("data:image/svg+xml;,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='hsl(0, 0%, 100%)'/%3e%3c/svg%3e");
5678
5638
  --_ts-bg-ps: left center;
5679
- --_ts-bs-color: transparent;
5680
5639
  --_ts-multiple-bg: unset;
5681
5640
  --_ts-multiple-fc: var(--black-400);
5682
5641
  }
@@ -5715,15 +5674,12 @@ fieldset[disabled] .s-toggle-switch label,
5715
5674
  --_ts-multiple-bg: var(--green-400);
5716
5675
  --_ts-multiple-fc: var(--white);
5717
5676
  }
5718
- .s-toggle-switch.s-toggle-switch__multiple input[type="radio"]:checked:focus + label {
5719
- --_ts-bs-color: var(--focus-ring-success);
5720
- }
5721
- .s-toggle-switch.s-toggle-switch__multiple input[type="radio"]:checked:focus + label.s-toggle-switch--label-off {
5722
- --_ts-bs-color: var(--focus-ring-muted);
5677
+ .s-toggle-switch.s-toggle-switch__multiple input[type="radio"]:focus-visible + label {
5678
+ box-shadow: inset 0 0 0 var(--su-static2) var(--focus-theme), inset 0 0 0 var(--su-static4) var(--focus-neutral);
5679
+ outline: var(--su-static2) solid transparent !important;
5723
5680
  }
5724
5681
  .s-toggle-switch.s-toggle-switch__multiple label {
5725
5682
  background-color: var(--_ts-multiple-bg);
5726
- box-shadow: 0 0 0 var(--su-static4) var(--_ts-bs-color);
5727
5683
  color: var(--_ts-multiple-fc);
5728
5684
  border-radius: 1000px;
5729
5685
  cursor: pointer;
@@ -5743,7 +5699,6 @@ fieldset[disabled] .s-toggle-switch label,
5743
5699
  input[type="checkbox"].s-toggle-switch {
5744
5700
  background-color: var(--_ts-bg);
5745
5701
  background-position: var(--_ts-bg-ps);
5746
- box-shadow: 0 0 0 var(--su-static4) var(--_ts-bs-color);
5747
5702
  appearance: none;
5748
5703
  background-image: var(--_ts-bg-image);
5749
5704
  background-size: contain;
@@ -5762,14 +5717,10 @@ input[type="checkbox"].s-toggle-switch:checked {
5762
5717
  --_ts-bg: var(--green-400);
5763
5718
  --_ts-bg-ps: right center;
5764
5719
  }
5765
- .s-toggle-switch input[type="checkbox"]:checked:focus,
5766
- input[type="checkbox"].s-toggle-switch:checked:focus {
5767
- --_ts-bs-color: var(--focus-ring-success);
5768
- }
5769
- .s-toggle-switch input[type="checkbox"]:focus,
5770
- input[type="checkbox"].s-toggle-switch:focus {
5771
- --_ts-bs-color: var(--focus-ring-muted);
5772
- outline: none;
5720
+ .s-toggle-switch input[type="checkbox"]:focus-visible,
5721
+ input[type="checkbox"].s-toggle-switch:focus-visible {
5722
+ box-shadow: 0 0 0 var(--su-static2) var(--focus-neutral), 0 0 0 var(--su-static4) var(--focus-theme);
5723
+ outline: var(--su-static2) solid transparent !important;
5773
5724
  }
5774
5725
  .s-toggle-switch input[type="checkbox"][disabled],
5775
5726
  input[type="checkbox"].s-toggle-switch[disabled] {
@@ -5792,7 +5743,6 @@ body.theme-highcontrast .s-topbar {
5792
5743
  --theme-topbar-search-background: var(--theme-topbar-background-color, var(--white));
5793
5744
  --theme-topbar-search-placeholder: var(--theme-topbar-item-color, var(--black-400));
5794
5745
  --theme-topbar-search-border: var(--theme-topbar-item-color, var(--black-400));
5795
- --theme-topbar-search-border-focus: var(--theme-topbar-item-color, var(--black-400));
5796
5746
  --theme-topbar-select-color: var(--theme-topbar-item-color, var(--black-400));
5797
5747
  --theme-topbar-select-background: var(--theme-topbar-background-color, var(--white));
5798
5748
  --theme-topbar-item-color: var(--black-600);
@@ -5803,6 +5753,40 @@ body.theme-highcontrast .s-topbar {
5803
5753
  body.theme-highcontrast .s-topbar {
5804
5754
  border-bottom: 1px solid currentColor;
5805
5755
  }
5756
+ .s-topbar.s-topbar__light {
5757
+ --focus-neutral: hsl(0, 0%, 100%);
5758
+ }
5759
+ @media (prefers-color-scheme: dark) {
5760
+ body.theme-system .s-topbar.s-topbar__light {
5761
+ --focus-theme: var(--theme-dark-secondary-custom-200, var(--blue-200));
5762
+ }
5763
+ }
5764
+ body.theme-dark .s-topbar.s-topbar__light,
5765
+ .theme-dark__forced .s-topbar.s-topbar__light,
5766
+ body.theme-system .theme-dark__forced .s-topbar.s-topbar__light {
5767
+ --focus-theme: var(--theme-dark-secondary-custom-200, var(--blue-200));
5768
+ }
5769
+ @media (prefers-color-scheme: dark) {
5770
+ body.theme-highcontrast.theme-system .s-topbar.s-topbar__light {
5771
+ --focus-theme: var(--blue-200);
5772
+ }
5773
+ }
5774
+ body.theme-highcontrast.theme-dark .s-topbar.s-topbar__light {
5775
+ --focus-theme: var(--blue-200);
5776
+ }
5777
+ body.theme-highcontrast .s-topbar.s-topbar__dark {
5778
+ --focus-theme: hsl(210, 89%, 77%);
5779
+ }
5780
+ .s-topbar.s-topbar__dark {
5781
+ --focus-neutral: hsl(210, 8%, 5%);
5782
+ --focus-theme: var(--theme-dark-secondary-custom-400, hsl(210, 89%, 77%));
5783
+ }
5784
+ a.s-topbar--logo:focus-visible,
5785
+ .s-topbar .s-topbar--content .s-topbar--item:not(.s-topbar--item__unset):focus-visible,
5786
+ .s-topbar--notice:focus-visible {
5787
+ box-shadow: inset 0 0 0 var(--su-static2) var(--focus-theme), inset 0 0 0 var(--su-static4) var(--focus-neutral);
5788
+ outline: var(--su-static2) solid transparent !important;
5789
+ }
5806
5790
  .s-topbar .s-topbar--container {
5807
5791
  width: var(--s-full);
5808
5792
  max-width: 100%;
@@ -5817,6 +5801,7 @@ body.theme-highcontrast .s-topbar {
5817
5801
  display: flex;
5818
5802
  align-items: center;
5819
5803
  background-color: transparent;
5804
+ border-radius: var(--br-sm);
5820
5805
  }
5821
5806
  .s-topbar a.s-topbar--logo:hover {
5822
5807
  background-color: var(--theme-topbar-item-background-hover, var(--black-200));
@@ -5872,9 +5857,6 @@ body.theme-highcontrast .s-topbar {
5872
5857
  color: var(--theme-topbar-item-color-hover, var(--black-400));
5873
5858
  background-color: var(--theme-topbar-item-background-hover, var(--black-200));
5874
5859
  }
5875
- .s-topbar .s-navigation .s-navigation--item:focus-visible {
5876
- box-shadow: var(--theme-topbar-search-shadow-focus, 0 0 0 var(--su-static4) var(--focus-ring));
5877
- }
5878
5860
  .s-topbar .s-navigation .s-navigation--item:not(.is-selected) {
5879
5861
  color: var(--theme-topbar-item-color, var(--black-400));
5880
5862
  }
@@ -5882,9 +5864,6 @@ body.theme-highcontrast .s-topbar {
5882
5864
  color: var(--theme-topbar-item-color-hover, var(--black-400));
5883
5865
  background-color: var(--theme-topbar-item-background-hover, var(--black-200));
5884
5866
  }
5885
- .s-topbar .s-popover .s-navigation .s-navigation--item:focus-visible {
5886
- box-shadow: var(0 0 0 var(--su-static4) var(--focus-ring));
5887
- }
5888
5867
  .s-topbar .s-popover .s-navigation .s-navigation--item:not(.is-selected) {
5889
5868
  color: var(--black-500);
5890
5869
  }
@@ -5899,8 +5878,6 @@ body.theme-highcontrast .s-topbar {
5899
5878
  --theme-topbar-search-background: var(--_white-static);
5900
5879
  --theme-topbar-search-placeholder: hsl(210, 8%, 42%);
5901
5880
  --theme-topbar-search-border: hsl(210, 9%, 75%);
5902
- --theme-topbar-search-border-focus: hsl(210, 77%, 46%);
5903
- --theme-topbar-search-shadow-focus: 0 0 0 var(--su-static4) var(--focus-ring);
5904
5881
  --theme-topbar-select-color: hsl(210, 8%, 25%);
5905
5882
  --theme-topbar-select-background: hsl(210, 8%, 90%);
5906
5883
  --theme-topbar-item-color: hsl(210, 8%, 42%);
@@ -5922,8 +5899,6 @@ body.theme-highcontrast .s-topbar__light {
5922
5899
  --theme-topbar-search-background: hsl(210, 8%, 25%);
5923
5900
  --theme-topbar-search-placeholder: hsl(210, 8%, 85%);
5924
5901
  --theme-topbar-search-border: hsl(210, 8%, 45%);
5925
- --theme-topbar-search-border-focus: hsl(210, 8%, 70%);
5926
- --theme-topbar-search-shadow-focus: 0 0 0 var(--su-static4) hsla(0, 0%, 100%, 0.3);
5927
5902
  --theme-topbar-select-color: hsl(210, 8%, 85%);
5928
5903
  --theme-topbar-select-background: hsl(210, 8%, 35%);
5929
5904
  --theme-topbar-item-color: hsl(210, 8%, 85%);
@@ -6004,22 +5979,18 @@ body.theme-highcontrast .s-topbar__dark .s-badge {
6004
5979
  text-decoration: none;
6005
5980
  white-space: nowrap;
6006
5981
  position: relative;
5982
+ border-radius: var(--br-sm);
6007
5983
  }
6008
5984
  .s-topbar .s-topbar--content .s-topbar--item:not(.s-topbar--item__unset):hover,
6009
- .s-topbar .s-topbar--content .s-topbar--item:not(.s-topbar--item__unset):focus,
6010
5985
  .s-topbar .s-topbar--content .s-topbar--item:not(.s-topbar--item__unset).is-selected,
6011
- .s-topbar .s-topbar--content .s-topbar--item:not(.s-topbar--item__unset).is-selected:hover,
6012
- .s-topbar .s-topbar--content .s-topbar--item:not(.s-topbar--item__unset).is-selected:focus {
5986
+ .s-topbar .s-topbar--content .s-topbar--item:not(.s-topbar--item__unset).is-selected:hover {
6013
5987
  color: var(--theme-topbar-item-color-hover, var(--black-600));
6014
5988
  background-color: var(--theme-topbar-item-background-hover, var(--black-200));
6015
5989
  text-decoration: none;
6016
- outline: none;
6017
5990
  }
6018
5991
  .s-topbar .s-topbar--content .s-topbar--item:not(.s-topbar--item__unset):hover .s-activity-indicator,
6019
- .s-topbar .s-topbar--content .s-topbar--item:not(.s-topbar--item__unset):focus .s-activity-indicator,
6020
5992
  .s-topbar .s-topbar--content .s-topbar--item:not(.s-topbar--item__unset).is-selected .s-activity-indicator,
6021
- .s-topbar .s-topbar--content .s-topbar--item:not(.s-topbar--item__unset).is-selected:hover .s-activity-indicator,
6022
- .s-topbar .s-topbar--content .s-topbar--item:not(.s-topbar--item__unset).is-selected:focus .s-activity-indicator {
5993
+ .s-topbar .s-topbar--content .s-topbar--item:not(.s-topbar--item__unset).is-selected:hover .s-activity-indicator {
6023
5994
  top: calc(50% - calc(var(--su16) + var(--su2)));
6024
5995
  box-shadow: 0 0 0 var(--su-static2) var(--theme-topbar-item-background-hover, var(--black-200));
6025
5996
  }
@@ -6049,8 +6020,7 @@ body.theme-highcontrast .s-topbar__dark .s-badge {
6049
6020
  background-color: transparent;
6050
6021
  color: var(--theme-topbar-item-color, var(--black-400));
6051
6022
  }
6052
- .s-topbar--notice:hover,
6053
- .s-topbar--notice:focus {
6023
+ .s-topbar--notice:hover {
6054
6024
  border-color: var(--theme-topbar-item-background-hover, var(--black-200));
6055
6025
  background-color: var(--theme-topbar-item-background-hover, var(--black-200));
6056
6026
  color: var(--theme-topbar-item-color-hover, var(--black-600));
@@ -6060,8 +6030,7 @@ body.theme-highcontrast .s-topbar__dark .s-badge {
6060
6030
  background-color: var(--theme-primary);
6061
6031
  color: var(--white);
6062
6032
  }
6063
- .s-topbar--notice.is-unread:hover,
6064
- .s-topbar--notice.is-unread:focus {
6033
+ .s-topbar--notice.is-unread:hover {
6065
6034
  border-color: var(--theme-primary-500);
6066
6035
  background-color: var(--theme-primary-500);
6067
6036
  color: var(--white);
@@ -6078,16 +6047,14 @@ body.theme-highcontrast .s-topbar__dark .s-badge {
6078
6047
  flex-grow: 1;
6079
6048
  }
6080
6049
  .s-topbar .s-topbar--searchbar .s-topbar--searchbar--input-group .s-input {
6081
- border-color: var(--theme-topbar-search-border, var(--black-300));
6082
6050
  background-color: var(--theme-topbar-search-background, var(--white));
6083
- box-shadow: var(--theme-topbar-search-shadow);
6051
+ border-color: var(--theme-topbar-search-border, var(--black-300));
6084
6052
  color: var(--theme-topbar-search-color, var(--black-500));
6085
6053
  display: block;
6086
6054
  line-height: var(--lh-sm);
6087
6055
  }
6088
- .s-topbar .s-topbar--searchbar .s-topbar--searchbar--input-group .s-input:focus {
6089
- border-color: var(--theme-topbar-search-border-focus, var(--blue-400));
6090
- box-shadow: var(--theme-topbar-search-shadow-focus, 0 0 0 var(--su-static4) var(--focus-ring));
6056
+ .s-topbar .s-topbar--searchbar .s-topbar--searchbar--input-group .s-input:not(:focus-visible) {
6057
+ box-shadow: var(--theme-topbar-search-shadow);
6091
6058
  }
6092
6059
  .s-topbar .s-topbar--searchbar .s-topbar--searchbar--input-group .s-input::placeholder {
6093
6060
  color: var(--theme-topbar-search-placeholder, var(--black-400));
@@ -6107,17 +6074,15 @@ body.theme-highcontrast .s-topbar__dark .s-badge {
6107
6074
  z-index: var(--zi-active);
6108
6075
  }
6109
6076
  .s-topbar .s-topbar--searchbar .s-select > select {
6077
+ border-color: var(--theme-topbar-search-border, var(--black-300));
6110
6078
  border-top-right-radius: 0 !important;
6111
6079
  border-bottom-right-radius: 0 !important;
6112
6080
  height: 100%;
6113
6081
  line-height: var(--lh-sm);
6114
- border-color: var(--theme-topbar-search-border, var(--black-300));
6115
6082
  background-color: var(--theme-topbar-select-background, var(--black-200));
6116
6083
  color: var(--theme-topbar-select-color, var(--black-500));
6117
6084
  }
6118
- .s-topbar .s-topbar--searchbar .s-select > select:focus {
6119
- border-color: var(--theme-topbar-search-border-focus, var(--blue-400));
6120
- box-shadow: var(--theme-topbar-search-shadow-focus, 0 0 0 var(--su-static4) var(--focus-ring));
6085
+ .s-topbar .s-topbar--searchbar .s-select > select:focus-visible {
6121
6086
  z-index: var(--zi-selected);
6122
6087
  }
6123
6088
  .s-topbar .s-topbar--searchbar .s-select + .s-topbar--searchbar--input-group > .s-input {
@@ -6229,7 +6194,8 @@ body.theme-highcontrast .s-uploader.has-warning {
6229
6194
  }
6230
6195
  .s-uploader .s-uploader--input:focus:focus-visible + .s-uploader--container {
6231
6196
  background-color: var(--_up-bg-focus);
6232
- box-shadow: 0 0 0 var(--su-static4) var(--_up-focus-ring-color);
6197
+ box-shadow: 0 0 0 var(--su-static2) var(--focus-neutral), 0 0 0 var(--su-static4) var(--focus-theme);
6198
+ outline: var(--su-static2) solid transparent !important;
6233
6199
  }
6234
6200
  .s-uploader .s-uploader--preview {
6235
6201
  max-width: 100%;
@@ -7566,6 +7532,8 @@ body:not(.theme-highcontrast).theme-system .theme-light__forced .themed {
7566
7532
  --translucent-warning: hsla(47, 79%, 58%, 0.4);
7567
7533
  --translucent-error: hsla(358, 62%, 47%, 0.15);
7568
7534
  --translucent-muted: hsla(210, 8%, 15%, 0.1);
7535
+ --focus-neutral: var(--white);
7536
+ --focus-theme: var(--theme-secondary-400);
7569
7537
  --focus-ring: var(--theme-secondary-custom-focus-ring, hsla(206, 100%, 40%, 0.15));
7570
7538
  --focus-ring-success: hsla(140, 40%, 75%, 0.4);
7571
7539
  --focus-ring-warning: hsla(47, 79%, 58%, 0.4);
@@ -7698,6 +7666,8 @@ body:not(.theme-highcontrast):not(.theme-dark) .theme-dark__forced .themed {
7698
7666
  --translucent-warning: hsla(47, 79%, 58%, 0.4);
7699
7667
  --translucent-error: hsla(358, 62%, 47%, 0.15);
7700
7668
  --translucent-muted: hsla(210, 8%, 15%, 0.1);
7669
+ --focus-neutral: var(--white);
7670
+ --focus-theme: var(--theme-secondary-400);
7701
7671
  --focus-ring: var(--theme-dark-secondary-custom-focus-ring, hsla(206, 100%, 40%, 0.25));
7702
7672
  --focus-ring-success: hsla(140, 40%, 75%, 0.4);
7703
7673
  --focus-ring-warning: hsla(47, 79%, 58%, 0.4);
@@ -7828,6 +7798,8 @@ body:not(.theme-highcontrast):not(.theme-dark) .theme-dark__forced .themed {
7828
7798
  --translucent-warning: hsla(47, 79%, 58%, 0.4);
7829
7799
  --translucent-error: hsla(358, 62%, 47%, 0.15);
7830
7800
  --translucent-muted: hsla(210, 8%, 15%, 0.1);
7801
+ --focus-neutral: var(--white);
7802
+ --focus-theme: var(--theme-secondary-400);
7831
7803
  --focus-ring: var(--theme-dark-secondary-custom-focus-ring, hsla(206, 100%, 40%, 0.25));
7832
7804
  --focus-ring-success: hsla(140, 40%, 75%, 0.4);
7833
7805
  --focus-ring-warning: hsla(47, 79%, 58%, 0.4);
@@ -7958,6 +7930,8 @@ body.theme-highcontrast.theme-system .theme-light__forced {
7958
7930
  --translucent-warning: hsla(47, 76%, 46%, 0.9);
7959
7931
  --translucent-error: hsla(358, 62%, 47%, 0.9);
7960
7932
  --translucent-muted: hsla(210, 8%, 55%, 0.95);
7933
+ --focus-neutral: var(--white);
7934
+ --focus-theme: var(--theme-secondary-400);
7961
7935
  --focus-ring: hsla(206, 100%, 40%, 0.9);
7962
7936
  --focus-ring-success: hsla(140, 40%, 40%, 0.9);
7963
7937
  --focus-ring-warning: hsla(47, 76%, 46%, 0.9);
@@ -8070,6 +8044,8 @@ body.theme-highcontrast:not(.theme-dark) .theme-dark__forced {
8070
8044
  --translucent-warning: hsla(47, 76%, 46%, 0.9);
8071
8045
  --translucent-error: hsla(358, 62%, 47%, 0.9);
8072
8046
  --translucent-muted: hsla(210, 8%, 55%, 0.95);
8047
+ --focus-neutral: var(--white);
8048
+ --focus-theme: var(--theme-secondary-400);
8073
8049
  --focus-ring: hsla(206, 100%, 40%, 0.9);
8074
8050
  --focus-ring-success: hsla(140, 40%, 40%, 0.9);
8075
8051
  --focus-ring-warning: hsla(47, 76%, 46%, 0.9);
@@ -8182,6 +8158,8 @@ body.theme-highcontrast:not(.theme-dark) .theme-dark__forced {
8182
8158
  --translucent-warning: hsla(47, 76%, 46%, 0.9);
8183
8159
  --translucent-error: hsla(358, 62%, 47%, 0.9);
8184
8160
  --translucent-muted: hsla(210, 8%, 55%, 0.95);
8161
+ --focus-neutral: var(--white);
8162
+ --focus-theme: var(--theme-secondary-400);
8185
8163
  --focus-ring: hsla(206, 100%, 40%, 0.9);
8186
8164
  --focus-ring-success: hsla(140, 40%, 40%, 0.9);
8187
8165
  --focus-ring-warning: hsla(47, 76%, 46%, 0.9);
@@ -8218,6 +8196,15 @@ body.theme-highcontrast:not(.theme-dark) .theme-dark__forced {
8218
8196
  }
8219
8197
  }
8220
8198
  /* stylelint-disable indentation */
8199
+ /**
8200
+ * Focus styles for the given context.
8201
+ *
8202
+ * Usage example:
8203
+ * .focus-styles(true, true);
8204
+ *
8205
+ * @inset: boolean - whether the focus style be placed inside the element.
8206
+ * @border: boolean - whether the element's border color change to match the focus style.
8207
+ */
8221
8208
  .bc-white-legacy-1 {
8222
8209
  border-color: var(--black-legacy-500) !important;
8223
8210
  }