@wwtdev/bsds-css 2.6.0 → 2.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/wwt-bsds.css CHANGED
@@ -285,8 +285,8 @@ button {
285
285
  --bs-bg-light-to-base: var(--bs-gray-50);
286
286
  --bs-bg-medium: var(--bs-gray-100);
287
287
  --bs-bg-medium-to-light: var(--bs-gray-100);
288
- --bs-bg-invert-base: var(--bs-navy-500);
289
- --bs-bg-invert-medium: var(--bs-navy-400);
288
+ --bs-bg-invert-to-base: var(--bs-navy-500);
289
+ --bs-bg-invert-to-medium: var(--bs-navy-400);
290
290
  --bs-bg-disabled: var(--bs-gray-200);
291
291
 
292
292
  --bs-hyperlink: var(--bs-purple-400);
@@ -296,7 +296,7 @@ button {
296
296
  --bs-ink-disabled: rgba(78, 79, 95, 0.6); /* --bs-gray-400 at .6 */
297
297
  --bs-ink-light: var(--bs-gray-400);
298
298
  --bs-ink-invert-base: var(--bs-gray-100);
299
- --bs-ink-invert-medium: var(--bs-gray-200);
299
+ --bs-ink-invert-to-medium: var(--bs-gray-200);
300
300
  --bs-ink-invert-light: var(--bs-gray-300);
301
301
  --bs-ink-medium: var(--bs-gray-500);
302
302
 
@@ -364,6 +364,7 @@ button {
364
364
  --bs-content-max-width: 72rem;
365
365
 
366
366
  /* Type */
367
+ --bs-font-light: 300;
367
368
  --bs-font-normal: 400;
368
369
  --bs-font-bold: 600;
369
370
 
@@ -389,8 +390,8 @@ button {
389
390
  --bs-bg-light-to-base: var(--bs-navy-600);
390
391
  --bs-bg-medium: var(--bs-navy-400);
391
392
  --bs-bg-medium-to-light: var(--bs-navy-500);
392
- --bs-bg-invert-base: var(--bs-gray-100);
393
- --bs-bg-invert-medium: var(--bs-gray-50);
393
+ --bs-bg-invert-to-base: var(--bs-gray-100);
394
+ --bs-bg-invert-to-medium: var(--bs-gray-50);
394
395
  --bs-bg-disabled: var(--bs-gray-500);
395
396
 
396
397
  --bs-hyperlink: var(--bs-purple-200);
@@ -609,6 +610,10 @@ h6,
609
610
  [data-weight^='400'] {
610
611
  font-weight: 400;
611
612
  }
613
+ [data-weight^='light'],
614
+ [data-weight^='300'] {
615
+ font-weight: 300;
616
+ }
612
617
  [data-weight^='bold'],
613
618
  [data-weight^='600'] {
614
619
  font-weight: 600;
@@ -865,6 +870,439 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
865
870
  *:where([data-scroll="false"]) {
866
871
  overflow: hidden;
867
872
  }
873
+ /* Color Utilities */
874
+ .bs-bg-base {
875
+ background-color: var(--bs-bg-base);
876
+ }
877
+ .bs-bg-base-to-light {
878
+ background-color: var(--bs-bg-base-to-light);
879
+ }
880
+ .bs-bg-base-to-medium {
881
+ background-color: var(--bs-bg-base-to-medium);
882
+ }
883
+ .bs-bg-light {
884
+ background-color: var(--bs-bg-light);
885
+ }
886
+ .bs-bg-light-to-base {
887
+ background-color: var(--bs-bg-light-to-base);
888
+ }
889
+ .bs-bg-medium {
890
+ background-color: var(--bs-bg-medium);
891
+ }
892
+ .bs-bg-medium-to-light {
893
+ background-color: var(--bs-bg-medium-to-light);
894
+ }
895
+ .bs-bg-disabled {
896
+ background-color: var(--bs-bg-disabled);
897
+ }
898
+ .bs-bg-invert-to-medium {
899
+ background-color: var(--bs-bg-invert-to-medium);
900
+ }
901
+ .bs-bg-invert-to-base {
902
+ background-color: var(--bs-bg-invert-to-base);
903
+ }
904
+ .bs-border-light {
905
+ border-color: var(--bs-border-light);
906
+ }
907
+ .bs-border-medium {
908
+ border-color: var(--bs-border-medium);
909
+ }
910
+ .bs-border-base {
911
+ border-color: var(--bs-border-base);
912
+ }
913
+ .bs-border-dark {
914
+ border-color: var(--bs-border-dark);
915
+ }
916
+ .bs-text-ink-light {
917
+ color: var(--bs-ink-light);
918
+ }
919
+ .bs-bg-ink-light {
920
+ background-color: var(--bs-ink-light);
921
+ }
922
+ .bs-text-ink-disabled {
923
+ color: var(--bs-ink-disabled);
924
+ }
925
+ .bs-bg-ink-disabled {
926
+ background-color: var(--bs-ink-disabled);
927
+ }
928
+ .bs-text-ink-medium {
929
+ color: var(--bs-ink-medium);
930
+ }
931
+ .bs-bg-ink-medium {
932
+ background-color: var(--bs-ink-medium);
933
+ }
934
+ .bs-text-ink-base {
935
+ color: var(--bs-ink-base);
936
+ }
937
+ .bs-bg-ink-base {
938
+ background-color: var(--bs-ink-base);
939
+ }
940
+ .bs-text-ink-invert-base {
941
+ color: var(--bs-ink-invert-base);
942
+ }
943
+ .bs-bg-ink-invert-base {
944
+ background-color: var(--bs-ink-invert-base);
945
+ }
946
+ .bs-text-ink-invert-medium {
947
+ color: var(--bs-ink-invert-medium);
948
+ }
949
+ .bs-bg-ink-invert-medium {
950
+ background-color: var(--bs-ink-invert-medium);
951
+ }
952
+ .bs-text-ink-invert-light {
953
+ color: var(--bs-ink-invert-light);
954
+ }
955
+ .bs-bg-ink-invert-light {
956
+ background-color: var(--bs-ink-invert-light);
957
+ }
958
+ .bs-text-ink-accent {
959
+ color: var(--bs-ink-accent);
960
+ }
961
+ .bs-bg-ink-accent {
962
+ background-color: var(--bs-ink-accent);
963
+ }
964
+ .bs-text-ink-blue {
965
+ color: var(--bs-ink-blue);
966
+ }
967
+ .bs-bg-ink-blue {
968
+ background-color: var(--bs-ink-blue);
969
+ }
970
+ .bs-text-ink-red {
971
+ color: var(--bs-ink-red);
972
+ }
973
+ .bs-bg-ink-red {
974
+ background-color: var(--bs-ink-red);
975
+ }
976
+ .bs-text-ink-pink {
977
+ color: var(--bs-ink-pink);
978
+ }
979
+ .bs-bg-ink-pink {
980
+ background-color: var(--bs-ink-pink);
981
+ }
982
+ .bs-text-ink-orange {
983
+ color: var(--bs-ink-orange);
984
+ }
985
+ .bs-bg-ink-orange {
986
+ background-color: var(--bs-ink-orange);
987
+ }
988
+ .bs-text-ink-purple {
989
+ color: var(--bs-ink-purple);
990
+ }
991
+ .bs-bg-ink-purple {
992
+ background-color: var(--bs-ink-purple);
993
+ }
994
+ .bs-text-ink-royal {
995
+ color: var(--bs-ink-royal);
996
+ }
997
+ .bs-bg-ink-royal {
998
+ background-color: var(--bs-ink-royal);
999
+ }
1000
+ .bs-text-ink-plum {
1001
+ color: var(--bs-ink-plum);
1002
+ }
1003
+ .bs-bg-ink-plum {
1004
+ background-color: var(--bs-ink-plum);
1005
+ }
1006
+ .bs-text-ink-violet {
1007
+ color: var(--bs-ink-violet);
1008
+ }
1009
+ .bs-bg-ink-violet {
1010
+ background-color: var(--bs-ink-violet);
1011
+ }
1012
+ .bs-text-ink-white {
1013
+ color: var(--bs-ink-white);
1014
+ }
1015
+ .bs-bg-ink-white {
1016
+ background-color: var(--bs-ink-white);
1017
+ }
1018
+ .bs-text-red-lightest {
1019
+ color: var(--bs-red-lightest);
1020
+ }
1021
+ .bs-bg-red-lightest {
1022
+ background-color: var(--bs-red-lightest);
1023
+ }
1024
+ .bs-text-red-light {
1025
+ color: var(--bs-red-light);
1026
+ }
1027
+ .bs-bg-red-light {
1028
+ background-color: var(--bs-red-light);
1029
+ }
1030
+ .bs-text-red-medium {
1031
+ color: var(--bs-red-medium);
1032
+ }
1033
+ .bs-bg-red-medium {
1034
+ background-color: var(--bs-red-medium);
1035
+ }
1036
+ .bs-text-red-base {
1037
+ color: var(--bs-red-base);
1038
+ }
1039
+ .bs-bg-red-base {
1040
+ background-color: var(--bs-red-base);
1041
+ }
1042
+ .bs-text-purple-lightest {
1043
+ color: var(--bs-purple-lightest);
1044
+ }
1045
+ .bs-bg-purple-lightest {
1046
+ background-color: var(--bs-purple-lightest);
1047
+ }
1048
+ .bs-text-purple-light {
1049
+ color: var(--bs-purple-light);
1050
+ }
1051
+ .bs-bg-purple-light {
1052
+ background-color: var(--bs-purple-light);
1053
+ }
1054
+ .bs-text-purple-medium {
1055
+ color: var(--bs-purple-medium);
1056
+ }
1057
+ .bs-bg-purple-medium {
1058
+ background-color: var(--bs-purple-medium);
1059
+ }
1060
+ .bs-text-purple-base {
1061
+ color: var(--bs-purple-base);
1062
+ }
1063
+ .bs-bg-purple-base {
1064
+ background-color: var(--bs-purple-base);
1065
+ }
1066
+ .bs-text-blue-lightest {
1067
+ color: var(--bs-blue-lightest);
1068
+ }
1069
+ .bs-bg-blue-lightest {
1070
+ background-color: var(--bs-blue-lightest);
1071
+ }
1072
+ .bs-text-blue-light {
1073
+ color: var(--bs-blue-light);
1074
+ }
1075
+ .bs-bg-blue-light {
1076
+ background-color: var(--bs-blue-light);
1077
+ }
1078
+ .bs-text-blue-medium {
1079
+ color: var(--bs-blue-medium);
1080
+ }
1081
+ .bs-bg-blue-medium {
1082
+ background-color: var(--bs-blue-medium);
1083
+ }
1084
+ .bs-text-blue-base {
1085
+ color: var(--bs-blue-base);
1086
+ }
1087
+ .bs-bg-blue-base {
1088
+ background-color: var(--bs-blue-base);
1089
+ }
1090
+ .bs-text-red-lightest {
1091
+ color: var(--bs-red-lightest);
1092
+ }
1093
+ .bs-bg-red-lightest {
1094
+ background-color: var(--bs-red-lightest);
1095
+ }
1096
+ .bs-text-red-light {
1097
+ color: var(--bs-red-light);
1098
+ }
1099
+ .bs-bg-red-light {
1100
+ background-color: var(--bs-red-light);
1101
+ }
1102
+ .bs-text-red-medium {
1103
+ color: var(--bs-red-medium);
1104
+ }
1105
+ .bs-bg-red-medium {
1106
+ background-color: var(--bs-red-medium);
1107
+ }
1108
+ .bs-text-red-base {
1109
+ color: var(--bs-red-base);
1110
+ }
1111
+ .bs-bg-red-base {
1112
+ background-color: var(--bs-red-base);
1113
+ }
1114
+ .bs-text-plum-lightest {
1115
+ color: var(--bs-plum-lightest);
1116
+ }
1117
+ .bs-bg-plum-lightest {
1118
+ background-color: var(--bs-plum-lightest);
1119
+ }
1120
+ .bs-text-plum-light {
1121
+ color: var(--bs-plum-light);
1122
+ }
1123
+ .bs-bg-plum-light {
1124
+ background-color: var(--bs-plum-light);
1125
+ }
1126
+ .bs-text-plum-medium {
1127
+ color: var(--bs-plum-medium);
1128
+ }
1129
+ .bs-bg-plum-medium {
1130
+ background-color: var(--bs-plum-medium);
1131
+ }
1132
+ .bs-text-plum-base {
1133
+ color: var(--bs-plum-base);
1134
+ }
1135
+ .bs-bg-plum-base {
1136
+ background-color: var(--bs-plum-base);
1137
+ }
1138
+ .bs-text-white {
1139
+ color: var(--bs-white);
1140
+ }
1141
+ .bs-bg-white {
1142
+ background-color: var(--bs-white);
1143
+ }
1144
+ .bs-text-royal-lightest {
1145
+ color: var(--bs-royal-lightest);
1146
+ }
1147
+ .bs-bg-royal-lightest {
1148
+ background-color: var(--bs-royal-lightest);
1149
+ }
1150
+ .bs-text-royal-light {
1151
+ color: var(--bs-royal-light);
1152
+ }
1153
+ .bs-bg-royal-light {
1154
+ background-color: var(--bs-royal-light);
1155
+ }
1156
+ .bs-text-royal-medium {
1157
+ color: var(--bs-royal-medium);
1158
+ }
1159
+ .bs-bg-royal-medium {
1160
+ background-color: var(--bs-royal-medium);
1161
+ }
1162
+ .bs-text-royal-base {
1163
+ color: var(--bs-royal-base);
1164
+ }
1165
+ .bs-bg-royal-base {
1166
+ background-color: var(--bs-royal-base);
1167
+ }
1168
+ .bs-text-violet-lightest {
1169
+ color: var(--bs-violet-lightest);
1170
+ }
1171
+ .bs-bg-violet-lightest {
1172
+ background-color: var(--bs-violet-lightest);
1173
+ }
1174
+ .bs-text-violet-light {
1175
+ color: var(--bs-violet-light);
1176
+ }
1177
+ .bs-bg-violet-light {
1178
+ background-color: var(--bs-violet-light);
1179
+ }
1180
+ .bs-text-violet-medium {
1181
+ color: var(--bs-violet-medium);
1182
+ }
1183
+ .bs-bg-violet-medium {
1184
+ background-color: var(--bs-violet-medium);
1185
+ }
1186
+ .bs-text-violet-base {
1187
+ color: var(--bs-violet-base);
1188
+ }
1189
+ .bs-bg-violet-base {
1190
+ background-color: var(--bs-violet-base);
1191
+ }
1192
+ .bs-text-navy-lightest {
1193
+ color: var(--bs-navy-lightest);
1194
+ }
1195
+ .bs-bg-navy-lightest {
1196
+ background-color: var(--bs-navy-lightest);
1197
+ }
1198
+ .bs-text-navy-light {
1199
+ color: var(--bs-navy-light);
1200
+ }
1201
+ .bs-bg-navy-light {
1202
+ background-color: var(--bs-navy-light);
1203
+ }
1204
+ .bs-text-navy-medium {
1205
+ color: var(--bs-navy-medium);
1206
+ }
1207
+ .bs-bg-navy-medium {
1208
+ background-color: var(--bs-navy-medium);
1209
+ }
1210
+ .bs-text-navy-base {
1211
+ color: var(--bs-navy-base);
1212
+ }
1213
+ .bs-bg-navy-base {
1214
+ background-color: var(--bs-navy-base);
1215
+ }
1216
+ .bs-text-orange-lightest {
1217
+ color: var(--bs-orange-lightest);
1218
+ }
1219
+ .bs-bg-orange-lightest {
1220
+ background-color: var(--bs-orange-lightest);
1221
+ }
1222
+ .bs-text-orange-light {
1223
+ color: var(--bs-orange-light);
1224
+ }
1225
+ .bs-bg-orange-light {
1226
+ background-color: var(--bs-orange-light);
1227
+ }
1228
+ .bs-text-orange-medium {
1229
+ color: var(--bs-orange-medium);
1230
+ }
1231
+ .bs-bg-orange-medium {
1232
+ background-color: var(--bs-orange-medium);
1233
+ }
1234
+ .bs-text-orange-base {
1235
+ color: var(--bs-orange-base);
1236
+ }
1237
+ .bs-bg-orange-base {
1238
+ background-color: var(--bs-orange-base);
1239
+ }
1240
+ .bs-text-pink-lightest {
1241
+ color: var(--bs-pink-lightest);
1242
+ }
1243
+ .bs-bg-pink-lightest {
1244
+ background-color: var(--bs-pink-lightest);
1245
+ }
1246
+ .bs-text-pink-light {
1247
+ color: var(--bs-pink-light);
1248
+ }
1249
+ .bs-bg-pink-light {
1250
+ background-color: var(--bs-pink-light);
1251
+ }
1252
+ .bs-text-pink-medium {
1253
+ color: var(--bs-pink-medium);
1254
+ }
1255
+ .bs-bg-pink-medium {
1256
+ background-color: var(--bs-pink-medium);
1257
+ }
1258
+ .bs-text-pink-base {
1259
+ color: var(--bs-pink-base);
1260
+ }
1261
+ .bs-bg-pink-base {
1262
+ background-color: var(--bs-pink-base);
1263
+ }
1264
+ .bs-text-gray-lightest {
1265
+ color: var(--bs-gray-lightest);
1266
+ }
1267
+ .bs-bg-gray-lightest {
1268
+ background-color: var(--bs-gray-lightest);
1269
+ }
1270
+ .bs-text-gray-light {
1271
+ color: var(--bs-gray-light);
1272
+ }
1273
+ .bs-bg-gray-light {
1274
+ background-color: var(--bs-gray-light);
1275
+ }
1276
+ .bs-text-gray-medium {
1277
+ color: var(--bs-gray-medium);
1278
+ }
1279
+ .bs-bg-gray-medium {
1280
+ background-color: var(--bs-gray-medium);
1281
+ }
1282
+ .bs-text-gray-base {
1283
+ color: var(--bs-gray-base);
1284
+ }
1285
+ .bs-bg-gray-base {
1286
+ background-color: var(--bs-gray-base);
1287
+ }
1288
+ .bs-text-gray-dark {
1289
+ color: var(--bs-gray-dark);
1290
+ }
1291
+ .bs-bg-gray-dark {
1292
+ background-color: var(--bs-gray-dark);
1293
+ }
1294
+ .bs-text-black {
1295
+ color: var(--bs-black);
1296
+ }
1297
+ .bs-bg-black {
1298
+ background-color: var(--bs-black);
1299
+ }
1300
+ .bs-text-warning {
1301
+ color: var(--bs-warning);
1302
+ }
1303
+ .bs-bg-warning {
1304
+ background-color: var(--bs-warning);
1305
+ }
868
1306
  /* Component Styles */
869
1307
  .bs-accordion {
870
1308
  --accordion-link-color: var(--bs-purple-400);
@@ -1077,6 +1515,158 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
1077
1515
  display: inline-flex;
1078
1516
  }
1079
1517
  }
1518
+ .bs-chart {
1519
+ display: block;
1520
+ height: 100%;
1521
+ width: 100%;
1522
+ }
1523
+ .bs-chart :where(figure) {
1524
+ -moz-column-gap: 2.5rem;
1525
+ column-gap: 2.5rem;
1526
+ display: grid;
1527
+ font-size: .875rem;
1528
+ grid-template-areas: var(--chart-gridareas, "chart" "legend");
1529
+ grid-template-columns: var(--chart-gridcols, 100%);
1530
+ grid-template-rows: var(--chart-gridrows, minmax(0px, auto) minmax(0px, min-content));
1531
+ height: 100%;
1532
+ margin-block: unset;
1533
+ margin-inline: unset;
1534
+ position: relative;
1535
+ width: 100%;
1536
+ }
1537
+ .bs-chart :where(figure > :first-child) {
1538
+ grid-area: chart;
1539
+ }
1540
+ .bs-chart :where(figure > :last-child) {
1541
+ grid-area: legend;
1542
+ }
1543
+ .bs-chart :where(figure > div) {
1544
+ min-width: 100%;
1545
+ width: 100%;
1546
+ }
1547
+ .bs-chart :where(canvas) {
1548
+ width: 100%;
1549
+ }
1550
+ /* --------- Legend Styles --------- */
1551
+ .bs-chart :where(figcaption) {
1552
+ background-color: var(--legend-bg-color, transparent);
1553
+ border-radius: .5rem;
1554
+ border: 1px solid var(--legend-border-color, transparent);
1555
+ -webkit-clip-path: var(--legend-clip-path, none);
1556
+ clip-path: var(--legend-clip-path, none);
1557
+ max-height: var(--legend-max-height, 100%);
1558
+ overflow-y: var(--legend-overflow-y, hidden);
1559
+ }
1560
+ .bs-chart :where(figcaption[data-hidden="true"]) {
1561
+ border: 0;
1562
+ clip: rect(0 0 0 0);
1563
+ height: 1px;
1564
+ margin: 0;
1565
+ overflow: hidden;
1566
+ padding: 0;
1567
+ position: absolute;
1568
+ white-space: nowrap;
1569
+ width: 1px;
1570
+ }
1571
+ .bs-chart :where(ul) {
1572
+ align-items: var(--legend-flexalign, center);
1573
+ display: flex;
1574
+ -moz-column-gap: 2.5rem;
1575
+ column-gap: 2.5rem;
1576
+ flex-direction: var(--legend-flexdir, row);
1577
+ flex-wrap: var(--legend-flexwrap, wrap);
1578
+ padding-block: var(--legend-padding-block, .25rem);
1579
+ /* cjs-legend-padding is set dynamically by chart.js for bar charts */
1580
+ padding-inline: var(--legend-padding-inline, var(--cjs-legend-padding-inline, 2.5rem));
1581
+ row-gap: .75rem;
1582
+ }
1583
+ .bs-chart :where(li, li:focus, li:active, li:focus-visible) {
1584
+ align-items: center;
1585
+ cursor: pointer;
1586
+ display: flex;
1587
+ flex-direction: row;
1588
+ outline: 0;
1589
+ position: relative;
1590
+ width: var(--legend-item-width, auto);
1591
+ }
1592
+ .bs-chart :where(li)::after {
1593
+ border: solid var(--focus-color, transparent) 2px;
1594
+ border-radius: 0.25rem;
1595
+ content: '';
1596
+ display: block;
1597
+ inset: -.25rem;
1598
+ position: absolute;
1599
+ }
1600
+ .bs-chart :where(li:focus-visible) {
1601
+ --focus-color: var(--bs-blue-base);
1602
+ }
1603
+ .bs-chart :where(li span) {
1604
+ background: var(--legend-item-box-fill);
1605
+ border-color: var(--legend-item-box-stroke);
1606
+ border-radius: var(--legend-item-swatch-radius, 3px);
1607
+ display: inline-block;
1608
+ height: var(--bs-text-f-md);
1609
+ margin-right: 10px;
1610
+ width: var(--bs-text-f-md);
1611
+ }
1612
+ .bs-chart :where(li p) {
1613
+ color: var(--legend-item-text-color);
1614
+ font-size: var(--bs-text-f-md);
1615
+ margin: 0;
1616
+ padding: 0;
1617
+ -webkit-text-decoration: var(--legend-item-text-decoration);
1618
+ text-decoration: var(--legend-item-text-decoration);
1619
+ }
1620
+ /* --------- Chart Layout Variants --------- */
1621
+ /*
1622
+ For now, per design team instructions, these are NOT responsive as we're only to expose these
1623
+ variants for a very specific, single use-case that involves horizontal scroll...
1624
+ If we want to make these responsive in the future, can wrap in media query.
1625
+ */
1626
+ .bs-chart:where([data-layout="chart-right"], [data-layout="chart-left"]) {
1627
+ --chart-gridrows: minmax(0px, auto);
1628
+ --legend-bg-color: var(--bs-bg-base);
1629
+ --legend-border-color: var(--bs-gray-light);
1630
+ --legend-clip-path: border-box;
1631
+ --legend-flexalign: start;
1632
+ --legend-flexdir: column;
1633
+ --legend-flexwrap: nowrap;
1634
+ --legend-item-width: 100%;
1635
+ --legend-max-height: 17.1875rem;
1636
+ --legend-overflow-y: auto;
1637
+ --legend-padding-block: .75rem;
1638
+ --legend-padding-inline: .75rem;
1639
+ }
1640
+ .bs-chart:where([data-layout="chart-left"]) {
1641
+ --chart-gridareas: "chart legend";
1642
+ --chart-gridcols: auto minmax(150px, auto);
1643
+ }
1644
+ .bs-chart:where([data-layout="chart-right"]) {
1645
+ --chart-gridareas: "legend chart";
1646
+ --chart-gridcols: minmax(150px, auto) auto;
1647
+ }
1648
+ .bs-chart-table {
1649
+ border: 0;
1650
+ clip: rect(0 0 0 0);
1651
+ height: 1px;
1652
+ margin: 0;
1653
+ overflow: hidden;
1654
+ padding: 0;
1655
+ position: absolute;
1656
+ white-space: nowrap;
1657
+ width: 1px;
1658
+ }
1659
+ /*
1660
+ uncomment to make visible when testing
1661
+ .bs-chart-table {
1662
+ clip: none;
1663
+ overflow: auto;
1664
+ height: auto;
1665
+ position: relative;
1666
+ width: auto;
1667
+ }
1668
+
1669
+ */
1080
1670
  /* Parent */
1081
1671
  .bs-dropdown-parent {
1082
1672
  display: inline-block;
@@ -1210,6 +1800,17 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
1210
1800
  display: none;
1211
1801
  }
1212
1802
  }
1803
+ /* Vue Transition Styles - Only used in Vue component */
1804
+ .bs-dropdown:where(.bs-dropdown-enter-from),
1805
+ .bs-dropdown:where(.bs-dropdown-leave-to) {
1806
+ opacity: 0;
1807
+ transform: var(--dropdown-transform);
1808
+ }
1809
+ .bs-dropdown:where(.bs-dropdown-enter-to),
1810
+ .bs-dropdown:where(.bs-dropdown-leave-from) {
1811
+ opacity: 1;
1812
+ transform: translate(0, 0);
1813
+ }
1213
1814
  /* Option list */
1214
1815
  .bs-dropdown-options {
1215
1816
  display: flex;
@@ -1431,7 +2032,7 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
1431
2032
  }
1432
2033
  :where(.box[data-invert]) :is(input, textarea, select):where(:focus-visible),
1433
2034
  :where(.box[data-invert]) :is(.bs-input, .bs-textarea, .bs-select):where(:focus-visible) {
1434
- --offset-color: var(--bs-bg-invert-base);
2035
+ --offset-color: var(--bs-bg-invert-to-base);
1435
2036
  }
1436
2037
  /* Errors and Messages */
1437
2038
  :is(input, select, textarea):where([data-error]:not([data-error="false"])),
@@ -1732,7 +2333,9 @@ and issues with box-sizing
1732
2333
  width: 1rem;
1733
2334
  }
1734
2335
  /* -------- Hover styles -------- */
1735
- .bs-input-addon:hover {
2336
+ .bs-input-addon:hover,
2337
+ :where(label):hover + .bs-input-addon,
2338
+ :where(label):hover + * .bs-input-addon:where(:not(label .bs-input-addon, label + .bs-input-addon)) {
1736
2339
  --input-bg: var(--bs-bg-input-hover);
1737
2340
  }
1738
2341
  /* -------- Focus styles -------- */
@@ -2206,7 +2809,7 @@ input:where([type='checkbox'], [type='radio'])[data-error]:where(:not([data-erro
2206
2809
  }
2207
2810
  :where(.box[data-invert]) .bs-switch :where(input:focus-visible) + :where(span),
2208
2811
  :where(.box[data-invert]) .bs-switch:where(:focus-visible) :where(button span) {
2209
- --offset-color: var(--bs-bg-invert-base);
2812
+ --offset-color: var(--bs-bg-invert-to-base);
2210
2813
  }
2211
2814
  /* Disabled state */
2212
2815
  .bs-switch:where([data-disabled]:not([data-disabled="false"]), :disabled, [disabled]),
@@ -2236,6 +2839,7 @@ input:where([type='checkbox'], [type='radio'])[data-error]:where(:not([data-erro
2236
2839
  :where(label, legend),
2237
2840
  label:where(.bs-label) {
2238
2841
  display: inline-block;
2842
+ position: relative;
2239
2843
  width: 100%;
2240
2844
  }
2241
2845
  .bs-label,
@@ -2259,6 +2863,11 @@ label:where(.bs-label) {
2259
2863
  --label-asterisk-color: transparent;
2260
2864
  --label-color: var(--bs-ink-disabled);
2261
2865
  }
2866
+ .bs-label:where(:has(+ input), :has(+ .bs-input-addon), :has(+ :not(label) .bs-input-addon))::after {
2867
+ content: '';
2868
+ inset: 0 0 -.25rem 0;
2869
+ position: absolute;
2870
+ }
2262
2871
  /*
2263
2872
  --btn-main: (this is doing too much.. look into backwards-compatible way to break this up)
2264
2873
  background color (base)
@@ -2662,9 +3271,9 @@ a.bs-circle-button {
2662
3271
  /* Color Variants */
2663
3272
  .bs-circle-button:where([data-variant^="color"]) {
2664
3273
  --btn-focus-inset: .125rem;
2665
- --btn-gap: 0;
3274
+ --btn-gap: .5rem;
2666
3275
  --btn-icon-bg-color: transparent;
2667
- --btn-icon-padding: .5rem;
3276
+ --btn-icon-padding: 0;
2668
3277
  --btn-icon-size: .75rem; /* stays the same for all sizes */
2669
3278
  --btn-icon-stroke-color: var(--btn-text-color);
2670
3279
  --btn-secondary: transparent;
@@ -2804,6 +3413,64 @@ button:where(.bs-filter-button) {
2804
3413
  --badge-bg: var(--bs-bg-disabled);
2805
3414
  --badge-text: var(--bs-ink-disabled);
2806
3415
  }
3416
+ .bs-flyout {
3417
+ background-color: var(--bs-bg-base-to-light);
3418
+ box-shadow: var(--bs-shadow-drawerRight);
3419
+ height: 100%;
3420
+ left: 0;
3421
+ margin: 0;
3422
+ max-width: 100vw;
3423
+ opacity: 0;
3424
+ padding: 1.5rem;
3425
+ position: fixed;
3426
+ top: 0;
3427
+ transform: translateX(-100%);
3428
+ transition-duration: 300ms;
3429
+ transition-property: opacity, transform;
3430
+ transition-timing-function: ease;
3431
+ width: 360px;
3432
+ z-index: 1000;
3433
+ }
3434
+ .bs-flyout:where([data-absolute="true"]) {
3435
+ position: absolute;
3436
+ }
3437
+ .bs-flyout:where([data-position="right"]) {
3438
+ box-shadow: var(--bs-shadow-drawerLeft);
3439
+ left: auto;
3440
+ right: 0;
3441
+ transform: translateX(100%);
3442
+ }
3443
+ .bs-flyout:where([data-size="lg"]) {
3444
+ width: 535px;
3445
+ }
3446
+ .bs-flyout:where([data-shown="true"]) {
3447
+ opacity: 1;
3448
+ transform: translateX(0);
3449
+ }
3450
+ .bs-flyout :where(.bs-flyout-close-container) {
3451
+ display: flex;
3452
+ justify-content: flex-end;
3453
+ }
3454
+ .bs-flyout :where(.bs-flyout-close-container button) {
3455
+ cursor: pointer;
3456
+ outline-offset: 2px;
3457
+ padding: 2px;
3458
+ }
3459
+ /* Vue Transition Styles - Only used in Vue component */
3460
+ .bs-flyout:where(.bs-flyout-enter-from),
3461
+ .bs-flyout:where(.bs-flyout-leave-to) {
3462
+ opacity: 0;
3463
+ transform: translateX(-100%);
3464
+ }
3465
+ .bs-flyout:where([data-position="right"].bs-flyout-enter-from),
3466
+ .bs-flyout:where([data-position="right"].bs-flyout-leave-to) {
3467
+ transform: translateX(100%);
3468
+ }
3469
+ .bs-flyout:where(.bs-flyout-enter-to),
3470
+ .bs-flyout:where(.bs-flyout-leave-from) {
3471
+ opacity: 1;
3472
+ transform: translateX(0);
3473
+ }
2807
3474
  .bs-modal {
2808
3475
  background-color: var(--bs-bg-base-to-medium);
2809
3476
  border-radius: 4px;
@@ -2854,6 +3521,15 @@ button:where(.bs-filter-button) {
2854
3521
  width: 35rem;
2855
3522
  }
2856
3523
  }
3524
+ /* Vue Transition Styles - Only used in Vue component */
3525
+ .bs-modal:where(.bs-modal-enter-from),
3526
+ .bs-modal:where(.bs-modal-leave-to) {
3527
+ opacity: 0;
3528
+ }
3529
+ .bs-modal:where(.bs-modal-enter-to),
3530
+ .bs-modal:where(.bs-modal-leave-from) {
3531
+ opacity: 1;
3532
+ }
2857
3533
  .bs-overlay {
2858
3534
  -webkit-backdrop-filter: blur(4px);
2859
3535
  backdrop-filter: blur(4px);
@@ -2872,6 +3548,15 @@ button:where(.bs-filter-button) {
2872
3548
  .bs-overlay:where([data-shown]:not([data-shown="false"])) {
2873
3549
  opacity: 1;
2874
3550
  }
3551
+ /* Vue Transition Styles - Only used in Vue component */
3552
+ .bs-overlay:where(.bs-overlay-enter-from),
3553
+ .bs-overlay:where(.bs-overlay-leave-to) {
3554
+ opacity: 0;
3555
+ }
3556
+ .bs-overlay:where(.bs-overlay-enter-to),
3557
+ .bs-overlay:where(.bs-overlay-leave-from) {
3558
+ opacity: 1;
3559
+ }
2875
3560
  .bs-pagination {
2876
3561
  background-color: var(--bs-bg-base);
2877
3562
  color: var(--bs-ink-base);
@@ -3097,7 +3782,7 @@ button:where(.bs-filter-button) {
3097
3782
  --pill-background: var(--bs-bg-base);
3098
3783
  }
3099
3784
  :where(.box[data-invert]) .bs-pill {
3100
- --pill-background: var(--bs-bg-invert-base-subtle);
3785
+ --pill-background: var(--bs-bg-invert-to-base-subtle);
3101
3786
  --pill-text: var(--bs-gray-100);
3102
3787
  }
3103
3788
  :where(.box[data-invert]) :is(a, button).bs-pill:is(:hover, :focus) {
@@ -3705,6 +4390,8 @@ table:where([data-sticky^="left"]) :is(td:first-child, th:first-child) {
3705
4390
  }
3706
4391
  /* Base Toast Styles */
3707
4392
  .bs-toast {
4393
+ --toast-transform: translate(0, calc(100% + 1.5rem));
4394
+
3708
4395
  background-color: var(--bs-bg-base-elevated);
3709
4396
  border-top: 4px solid var(--bs-blue-base);
3710
4397
  bottom: 1.5rem;
@@ -3715,7 +4402,7 @@ table:where([data-sticky^="left"]) :is(td:first-child, th:first-child) {
3715
4402
  opacity: 0;
3716
4403
  position: fixed;
3717
4404
  right: 0;
3718
- transform: translate(0, calc(100% + 1.5rem));
4405
+ transform: var(--toast-transform);
3719
4406
  transition-duration: 200ms;
3720
4407
  transition-property: transform, opacity;
3721
4408
  transition-timing-function: ease;
@@ -3798,12 +4485,13 @@ table:where([data-sticky^="left"]) :is(td:first-child, th:first-child) {
3798
4485
  }
3799
4486
  @media (min-width: 440px) {
3800
4487
  .bs-toast {
4488
+ --toast-transform: translate(calc(100% + 1.5rem), 0);
4489
+
3801
4490
  left: auto;
3802
4491
  margin-left: 0;
3803
4492
  margin-right: 0;
3804
4493
  opacity: 0;
3805
4494
  right: 1.5rem;
3806
- transform: translate(calc(100% + 1.5rem), 0);
3807
4495
  }
3808
4496
 
3809
4497
  .bs-toast:where([data-shown]:not([data-shown="false"])) {
@@ -3815,6 +4503,17 @@ table:where([data-sticky^="left"]) :is(td:first-child, th:first-child) {
3815
4503
  flex-direction: row;
3816
4504
  }
3817
4505
  }
4506
+ /* Vue Transition Styles - Only used in Vue component */
4507
+ .bs-toast:where(.bs-toast-enter-from),
4508
+ .bs-toast:where(.bs-toast-leave-to) {
4509
+ opacity: 0;
4510
+ transform: var(--toast-transform);
4511
+ }
4512
+ .bs-toast:where(.bs-toast-enter-to),
4513
+ .bs-toast:where(.bs-toast-leave-from) {
4514
+ opacity: 1;
4515
+ transform: translate(0, 0);
4516
+ }
3818
4517
  /* Container for holding all toasts that will be visible */
3819
4518
  .bs-toaster {
3820
4519
  /* Mobile - Center the toasts on the screen */