@wwtdev/bsds-css 0.1.0 → 0.2.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.
@@ -584,7 +584,7 @@ body:where(.fluid) {
584
584
 
585
585
  /* dark links still need .dark because we don't want them overwritten by the light theme link styles in applications */
586
586
 
587
- .dark :where(.prose) a:not(.button, .pill) {
587
+ .dark :where(.prose) a:not(.button, .bs-pill) {
588
588
  color: var(--bs-purple-200);
589
589
  outline-color: var(--bs-blue-300);
590
590
  }
package/dist/wwt-bsds.css CHANGED
@@ -584,7 +584,7 @@ body:where(.fluid) {
584
584
 
585
585
  /* dark links still need .dark because we don't want them overwritten by the light theme link styles in applications */
586
586
 
587
- .dark :where(.prose) a:not(.button, .pill) {
587
+ .dark :where(.prose) a:not(.button, .bs-pill) {
588
588
  color: var(--bs-purple-200);
589
589
  outline-color: var(--bs-blue-300);
590
590
  }
@@ -650,8 +650,8 @@ body:where(.fluid) {
650
650
  width: 6px;
651
651
  }
652
652
 
653
- .pill .badge::before,
654
- .pill .badge::after {
653
+ .bs-pill .badge::before,
654
+ .bs-pill .badge::after {
655
655
  font-size: 0.8125em;
656
656
  }
657
657
 
@@ -911,7 +911,7 @@ a.button {
911
911
  }
912
912
 
913
913
  :where([data-disabled], [data-disabled] .required, [data-disabled] label) {
914
- color: var(--bs-gray-400);
914
+ color: var(--bs-ink-light);
915
915
  }
916
916
 
917
917
  :where(.required) {
@@ -945,6 +945,8 @@ a.button {
945
945
  width: 100%;
946
946
  }
947
947
 
948
+ /* Generally applicable (all input types) */
949
+
948
950
  :where(input, textarea, select)::-moz-placeholder {
949
951
  color: var(--bs-violet-200);
950
952
  opacity: 1;
@@ -970,7 +972,7 @@ a.button {
970
972
  }
971
973
 
972
974
  :where(input, textarea, select)[required]:focus,
973
- :where(input, textarea, select).error {
975
+ :where(input, textarea, select)[data-error] {
974
976
  --outline-color: var(--bs-red-200);
975
977
  }
976
978
 
@@ -1007,7 +1009,7 @@ a.button {
1007
1009
  }
1008
1010
 
1009
1011
  :where(textarea[disabled] + .character-count) {
1010
- color: var(--bs-gray-400);
1012
+ color: var(--bs-ink-light);
1011
1013
  }
1012
1014
 
1013
1015
  /* Select */
@@ -1025,9 +1027,29 @@ a.button {
1025
1027
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%23ffffff' d='M8.048 13.375a.745.745 0 0 1-.526-.217L0 5.686l1.053-1.061 6.995 6.95 6.897-6.85 1.053 1.06-7.423 7.373a.745.745 0 0 1-.527.217Z'/%3E%3C/svg%3E");
1026
1028
  }
1027
1029
 
1028
- /* Checkboxes & Radios */
1030
+ /* Errors and Messages */
1031
+
1032
+ :where(input)[data-error] {
1033
+ border-color: var(--bs-red-400);
1034
+ }
1035
+
1036
+ /* Fieldset */
1037
+
1038
+ :where(fieldset) {
1039
+ border: none;
1040
+ margin-left: 0;
1041
+ margin-right: 0;
1042
+ padding: 0;
1043
+ }
1044
+
1045
+ :where(fieldset legend) {
1046
+ margin-bottom: 0.25rem;
1047
+ padding: 0;
1048
+ }
1049
+
1050
+ /* Containers and Labels for Checkbox/Radio */
1029
1051
 
1030
- :where(.checkbox, .radio) {
1052
+ .bs-boolean {
1031
1053
  display: flex;
1032
1054
  align-items: center;
1033
1055
  font-size: var(--bs-text-base);
@@ -1036,13 +1058,25 @@ a.button {
1036
1058
  line-height: 115%;
1037
1059
  }
1038
1060
 
1039
- :where(.checkbox, .radio) label {
1061
+ .bs-boolean[data-size='sm'] input {
1062
+ width: var(--bs-text-xs);
1063
+ height: var(--bs-text-xs);
1064
+ }
1065
+
1066
+ .bs-boolean label {
1040
1067
  font-size: var(--bs-text-base);
1041
1068
  font-weight: 400;
1042
- line-height: 115%;
1069
+ line-height: 1.5;
1043
1070
  width: auto;
1044
1071
  }
1045
1072
 
1073
+ .bs-boolean[data-size='sm'],
1074
+ .bs-boolean[data-size='sm'] label {
1075
+ font-size: var(--bs-text-xs);
1076
+ }
1077
+
1078
+ /* Checkbox & Radio Input */
1079
+
1046
1080
  :where(input[type^='checkbox'], input[type^='radio']) {
1047
1081
  --box-shadow: var(--bs-ink-base);
1048
1082
 
@@ -1067,10 +1101,6 @@ a.button {
1067
1101
  0 0 0 4px var(--outline-color, var(--bs-blue-400));
1068
1102
  }
1069
1103
 
1070
- :where(input[type^='checkbox'], input[type^='radio'])[data-error] {
1071
- --box-shadow: var(--bs-red-400);
1072
- }
1073
-
1074
1104
  :where(input[type^='checkbox']) {
1075
1105
  border-radius: 0.125rem;
1076
1106
  }
@@ -1079,17 +1109,6 @@ a.button {
1079
1109
  border-radius: 50%;
1080
1110
  }
1081
1111
 
1082
- :where(.checkbox, .radio)[data-size='sm'],
1083
- :where(.checkbox, .radio)[data-size='sm'] label {
1084
- font-size: var(--bs-text-sm);
1085
- line-height: 100%;
1086
- }
1087
-
1088
- :where(.checkbox, .radio)[data-size='sm'] input {
1089
- width: var(--bs-text-xs);
1090
- height: var(--bs-text-xs);
1091
- }
1092
-
1093
1112
  :where(input[type='checkbox'])::before {
1094
1113
  --filled-size: 1rem;
1095
1114
  --check-fill-color: var(--bs-blue-400);
@@ -1151,50 +1170,38 @@ a.button {
1151
1170
  visibility: visible;
1152
1171
  }
1153
1172
 
1154
- :where(.checkbox, .radio)[data-size='sm'] input::before {
1173
+ .bs-boolean[data-size='sm'] input::before {
1155
1174
  --filled-size: var(--bs-text-xs);
1156
1175
  }
1157
1176
 
1158
- :where(.checkbox[data-size='sm'] input[type='checkbox'])::after {
1159
- height: 0.5625;
1160
- width: 0.3125;
1177
+ .bs-boolean[data-size='sm'] input[type='checkbox']::after {
1178
+ height: 0.5625rem;
1179
+ width: 0.3125rem;
1161
1180
  }
1162
1181
 
1163
- :where(.radio[data-size='sm'] input[type='radio'])::after {
1182
+ .bs-boolean[data-size='sm'] input[type='radio']::after {
1164
1183
  --inner-size: 0.25rem;
1165
1184
  }
1166
1185
 
1186
+ /* Disabled State */
1187
+
1167
1188
  :where(input[type='checkbox'], input[type='radio']):disabled {
1168
1189
  --box-shadow: var(--bs-gray-400);
1169
1190
  background-color: transparent;
1170
1191
  }
1171
1192
 
1172
- :where(input[type='checkbox']):checked:disabled:before {
1193
+ :where(input[type='checkbox']):checked:disabled::before {
1173
1194
  --check-fill-color: var(--bs-gray-400);
1174
1195
  }
1175
1196
 
1176
- :where(input[type='radio']):checked:disabled:before {
1197
+ :where(input[type='radio']):checked:disabled::before {
1177
1198
  --radio-fill-color: var(--bs-gray-400);
1178
1199
  }
1179
1200
 
1180
- /* Errors and Messages */
1201
+ /* Error state */
1181
1202
 
1182
- :where(input)[data-error] {
1183
- border-color: var(--bs-red-400);
1184
- }
1185
-
1186
- /* Fieldset */
1187
-
1188
- :where(fieldset) {
1189
- border: none;
1190
- margin-left: 0;
1191
- margin-right: 0;
1192
- padding: 0;
1193
- }
1194
-
1195
- :where(fieldset legend) {
1196
- margin-bottom: 0.25rem;
1197
- padding: 0;
1203
+ :where(input[type^='checkbox'], input[type^='radio'])[data-error] {
1204
+ --box-shadow: var(--bs-red-400);
1198
1205
  }
1199
1206
 
1200
1207
  :where(.hints) {
@@ -1209,10 +1216,11 @@ a.button {
1209
1216
  color: var(--bs-red-400);
1210
1217
  }
1211
1218
 
1212
- .pill {
1219
+ .bs-pill {
1213
1220
  --pill-background: var(--bs-bg-subtle);
1214
1221
  --pill-border: transparent;
1215
1222
  --pill-text: var(--bs-royal-400);
1223
+ --pill-gap: var(--bs-space-2);
1216
1224
 
1217
1225
  align-items: center;
1218
1226
  -webkit-appearance: none;
@@ -1224,70 +1232,70 @@ a.button {
1224
1232
  color: var(--pill-text);
1225
1233
  display: inline-flex;
1226
1234
  font-size: var(--bs-text-xs);
1227
- gap: 4px;
1235
+ gap: var(--pill-gap);
1228
1236
  line-height: 1.33;
1229
1237
  padding: 4px 6px;
1230
1238
  text-decoration: none;
1231
1239
  vertical-align: middle;
1232
1240
  }
1233
1241
 
1234
- :where(.dark) .pill {
1242
+ :where(.dark) .bs-pill {
1235
1243
  --pill-text: var(--bs-royal-100);
1236
1244
  }
1237
1245
 
1238
- .pill > svg {
1246
+ :where(.bs-pill > svg) {
1239
1247
  height: 1rem;
1240
1248
  }
1241
1249
 
1242
1250
  /* ------------------------------ Button and Link Styles ------------------------------ */
1243
1251
 
1244
- :is(a, button).pill {
1252
+ :is(a, button).bs-pill {
1245
1253
  color: var(--pill-text);
1246
1254
  cursor: pointer;
1247
1255
  transition: all 0.15s ease-in-out;
1248
1256
  }
1249
1257
 
1250
- :is(a, button).pill:is(:hover, :focus) {
1258
+ :is(a, button).bs-pill:is(:hover, :focus) {
1251
1259
  --pill-border: var(--bs-royal-400);
1252
1260
 
1253
1261
  color: var(--pill-text);
1254
1262
  outline: transparent;
1255
1263
  }
1256
1264
 
1257
- :where(.dark) :is(a, button).pill:is(:hover, :focus) {
1265
+ :where(.dark) :is(a, button).bs-pill:is(:hover, :focus) {
1258
1266
  --pill-border: var(--bs-royal-200);
1259
1267
  }
1260
1268
 
1261
1269
  /* ------------------------------ Background Colors ------------------------------ */
1262
1270
 
1263
- :where(.box, [class*="bg-"]:not([class~="bg-white"])) .pill {
1271
+ :where(.box, [class*="bg-"]:not([class~="bg-white"])) .bs-pill:where(:not([data-variant^="live"], [data-variant^="restricted"], [data-active])) {
1264
1272
  --pill-background: var(--bs-bg-base);
1265
1273
  }
1266
1274
 
1267
- :where(.box[data-invert]) .pill {
1275
+ :where(.box[data-invert]) .bs-pill {
1268
1276
  --pill-background: var(--bs-bg-invert-subtle);
1269
1277
  --pill-text: var(--bs-gray-100);
1270
1278
  }
1271
1279
 
1272
- :where(.box[data-invert]) :is(a, button).pill:is(:hover, :focus) {
1280
+ :where(.box[data-invert]) :is(a, button).bs-pill:is(:hover, :focus) {
1273
1281
  --pill-border: var(--bs-gray-100);
1274
1282
  }
1275
1283
 
1276
- :where(.dark .box[data-invert]) .pill {
1284
+ :where(.dark .box[data-invert]) .bs-pill {
1277
1285
  --pill-text: var(--bs-royal-400);
1278
1286
  }
1279
1287
 
1280
- :where(.dark .box[data-invert]) :is(a, button).pill:is(:hover, :focus) {
1288
+ :where(.dark .box[data-invert]) :is(a, button).bs-pill:is(:hover, :focus) {
1281
1289
  --pill-border: var(--bs-royal-400);
1282
1290
  }
1283
1291
 
1284
1292
  /* ------------------------------ Status Styles ------------------------------ */
1285
1293
 
1286
- .pill:where([data-status]) {
1294
+ .bs-pill:where([data-status]) {
1287
1295
  --status-color: var(--bs-blue-400);
1288
1296
  }
1289
1297
 
1290
- .pill:where([data-status])::before {
1298
+ .bs-pill:where([data-status])::before {
1291
1299
  background-color: var(--status-color);
1292
1300
  border-radius: 100%;
1293
1301
  content: '';
@@ -1297,43 +1305,43 @@ a.button {
1297
1305
 
1298
1306
  /* ----- Status Colors ----- */
1299
1307
 
1300
- .pill:where([data-status^="active"]) {
1308
+ .bs-pill:where([data-status^="active"]) {
1301
1309
  --status-color: var(--bs-blue-400);
1302
1310
  }
1303
1311
 
1304
- .pill:where([data-status^="complete"]) {
1312
+ .bs-pill:where([data-status^="complete"]) {
1305
1313
  --status-color: var(--bs-purple-400);
1306
1314
  }
1307
1315
 
1308
- .pill:where([data-status^="inactive"]) {
1316
+ .bs-pill:where([data-status^="inactive"]) {
1309
1317
  --status-color: var(--bs-gray-300);
1310
1318
  }
1311
1319
 
1312
- .pill:where([data-status^="error"]) {
1320
+ .bs-pill:where([data-status^="error"]) {
1313
1321
  --status-color: var(--bs-red-400);
1314
1322
  }
1315
1323
 
1316
- .pill:where([data-status^="positive"]) {
1324
+ .bs-pill:where([data-status^="positive"]) {
1317
1325
  --status-color: #16986D;
1318
1326
  }
1319
1327
 
1320
- .pill:where([data-status^="warning"]) {
1328
+ .bs-pill:where([data-status^="warning"]) {
1321
1329
  --status-color: var(--bs-orange-warning);
1322
1330
  }
1323
1331
 
1324
1332
  /* ------------------------------ Filter Styles ------------------------------ */
1325
1333
 
1326
- .pill:where([data-type^="filter"]) {
1334
+ .bs-pill:where([data-variant^="filter"]) {
1327
1335
  --pill-background: var(--bs-bg-base);
1328
1336
  --pill-border: var(--bs-border);
1329
1337
  --pill-text: var(--bs-ink-base);
1330
1338
  }
1331
1339
 
1332
- .pill:where([data-type^="filter"]):is(:hover, :focus) {
1340
+ .bs-pill:where([data-variant^="filter"]):is(:hover, :focus) {
1333
1341
  --pill-border: var(--bs-border);
1334
1342
  }
1335
1343
 
1336
- :is(a, button).pill:where([data-type^="filter"]):is(:hover, :focus) {
1344
+ :is(a, button).bs-pill:where([data-variant^="filter"]):is(:hover, :focus) {
1337
1345
  --pill-border: var(--bs-ink-base);
1338
1346
  }
1339
1347
 
@@ -1341,13 +1349,13 @@ a.button {
1341
1349
 
1342
1350
  /* Black + */
1343
1351
 
1344
- .pill:where([data-type^="filter"][data-type*="add"])::after {
1352
+ .bs-pill:where([data-variant^="filter"][data-variant*="add"])::after {
1345
1353
  content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.5 4.5V8h1V4.5H8v-1H4.5V0h-1v3.5H0v1h3.5Z' fill='%230A0B19'/%3E%3C/svg%3E");
1346
1354
  }
1347
1355
 
1348
1356
  /* White + */
1349
1357
 
1350
- :where(.dark) .pill:where([data-type^="filter"][data-type*="add"]):not(:disabled, [aria-disabled="true"])::after{
1358
+ :where(.dark) .bs-pill:where([data-variant^="filter"][data-variant*="add"]):not(:disabled, [aria-disabled="true"])::after{
1351
1359
  content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.5 4.5V8h1V4.5H8v-1H4.5V0h-1v3.5H0v1h3.5Z' fill='%23ffffff'/%3E%3C/svg%3E");
1352
1360
  }
1353
1361
 
@@ -1355,91 +1363,93 @@ a.button {
1355
1363
 
1356
1364
  /* Black X */
1357
1365
 
1358
- .pill:where([data-type^="filter"][data-type*="remove"])::after {
1366
+ .bs-pill:where([data-variant^="filter"][data-variant*="remove"])::after {
1359
1367
  content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%230A0B19'/%3E%3C/svg%3E%0A");
1360
1368
  }
1361
1369
 
1362
1370
  /* White X */
1363
1371
 
1364
- :where(.dark) .pill:where([data-type^="filter"][data-type*="remove"]):not(:disabled, [aria-disabled="true"])::after {
1372
+ :where(.dark) .bs-pill:where([data-variant^="filter"][data-variant*="remove"]):not(:disabled, [aria-disabled="true"])::after {
1365
1373
  content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%23ffffff'/%3E%3C/svg%3E%0A");
1366
1374
  }
1367
1375
 
1368
1376
  /* Dark Red X */
1369
1377
 
1370
- .pill:where([data-type^="filter"][data-type*="remove"]):hover::after {
1378
+ .bs-pill:where([data-variant^="filter"][data-variant*="remove"]):hover::after {
1371
1379
  content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%23D91214'/%3E%3C/svg%3E%0A");
1372
1380
  }
1373
1381
 
1374
1382
  /* Light Red X */
1375
1383
 
1376
- :where(.dark) .pill:where([data-type^="filter"][data-type*="remove"]):hover::after {
1384
+ :where(.dark) .bs-pill:where([data-variant^="filter"][data-variant*="remove"]):hover::after {
1377
1385
  content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%23F15355'/%3E%3C/svg%3E%0A");
1378
1386
  }
1379
1387
 
1380
1388
  /* ----- Filter Active Styles ----- */
1381
1389
 
1382
- .pill:where([data-type^="filter"][data-type*="active"]) {
1390
+ .bs-pill:where([data-variant^="filter"][data-active]) {
1383
1391
  --pill-background: var(--bs-blue-400);
1384
1392
  --pill-border: transparent;
1385
1393
  --pill-text: var(--bs-white);
1386
1394
  }
1387
1395
 
1388
- .pill:where([data-type^="filter"][data-type*="active"]):is(:hover, :focus) {
1396
+ .bs-pill:where([data-variant^="filter"][data-active]):is(:hover, :focus) {
1389
1397
  --pill-border: transparent;
1390
1398
  }
1391
1399
 
1392
- :is(a, button).pill:where([data-type^="filter"][data-type*="active"]):is(:hover, :focus) {
1400
+ :is(a, button).bs-pill:where([data-variant^="filter"][data-active]):is(:hover, :focus) {
1393
1401
  --pill-background: var(--bs-blue-500);
1394
1402
  --pill-border: transparent;
1395
1403
  }
1396
1404
 
1397
1405
  /* White X */
1398
1406
 
1399
- .pill:where([data-type^="filter"][data-type*="active"])::after {
1407
+ .bs-pill:where([data-variant^="filter"][data-active])::after {
1400
1408
  content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%23fff'/%3E%3C/svg%3E");
1401
1409
  }
1402
1410
 
1403
1411
  /* Black X */
1404
1412
 
1405
- .pill:where([data-type^="filter"][data-type*="active"]):where(:disabled, [aria-disabled="true"])::after {
1413
+ .bs-pill:where([data-variant^="filter"][data-active]):where(:disabled, [aria-disabled="true"])::after {
1406
1414
  content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%230A0B19'/%3E%3C/svg%3E%0A");
1407
1415
  }
1408
1416
 
1409
1417
  /* ------------------------------ Restricted Styles ------------------------------ */
1410
1418
 
1411
- .pill:where([data-type^="restricted"]) {
1419
+ .bs-pill:where([data-variant^="restricted"]) {
1412
1420
  --pill-background: var(--bs-gray-400);
1413
1421
  --pill-text: var(--bs-white);
1422
+ --pill-gap: var(--bs-space-1);
1414
1423
  }
1415
1424
 
1416
- .pill:where([data-type^="restricted"]):hover {
1425
+ .bs-pill:where([data-variant^="restricted"]):hover {
1417
1426
  --pill-border: transparent;
1418
1427
  }
1419
1428
 
1420
- .pill:where([data-type^="restricted"])::before {
1429
+ .bs-pill:where([data-variant^="restricted"])::before {
1421
1430
  content: url("data:image/svg+xml,%3Csvg width='11' height='12' viewBox='0 0 8 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.25 4.5H7v3.715a.34.34 0 0 1-.37.285H1V5.285A.34.34 0 0 1 1.37 5h5a.25.25 0 0 0 .25-.25V3.275A2.545 2.545 0 0 0 4 1a2.55 2.55 0 0 0-2.625 2.29L1.39 4.5a.83.83 0 0 0-.89.785V8.75A.25.25 0 0 0 .75 9h5.88a.835.835 0 0 0 .87-.785V4.75a.25.25 0 0 0-.25-.25Zm-2.225 0H2.96V3.425c0-.035 0-.845 1.03-.845a.96.96 0 0 1 1.035.8V4.5ZM4 1.5a2.045 2.045 0 0 1 2.115 1.79V4.5h-.59V3.37A1.455 1.455 0 0 0 4 2.075a1.385 1.385 0 0 0-1.53 1.35V4.5h-.58V3.31A2.045 2.045 0 0 1 4 1.5Zm-.495 4.25H1.5v.5h2.005v-.5Zm-2.005 1h1.505v.5H1.5v-.5Z' fill='%23F0F0FA'/%3E%3C/svg%3E");
1422
1431
  line-height: 1.1;
1423
1432
  }
1424
1433
 
1425
- :where(.dark) .pill:where([data-type^="restricted"]) {
1434
+ :where(.dark) .bs-pill:where([data-variant^="restricted"]) {
1426
1435
  --pill-background: var(--bs-navy-300);
1427
1436
  --pill-text: var(--bs-white);
1428
1437
  }
1429
1438
 
1430
1439
  /* ------------------------------ Live Now Styles ------------------------------ */
1431
1440
 
1432
- .pill:where([data-type^="live"]) {
1441
+ .bs-pill:where([data-variant^="live"]) {
1433
1442
  --pill-background: var(--bs-royal-400);
1434
1443
  --pill-text: var(--bs-white);
1444
+ --pill-gap: var(--bs-space-1);
1435
1445
  text-transform: uppercase;
1436
1446
  }
1437
1447
 
1438
- .pill:where([data-type^="live"]):hover {
1448
+ .bs-pill:where([data-variant^="live"]):hover {
1439
1449
  --pill-border: transparent;
1440
1450
  }
1441
1451
 
1442
- .pill:where([data-type^="live"])::before {
1452
+ .bs-pill:where([data-variant^="live"])::before {
1443
1453
  background-color: var(--bs-red-400);
1444
1454
  border: 3px solid var(--bs-white);
1445
1455
  border-radius: 100%;
@@ -1450,18 +1460,18 @@ a.button {
1450
1460
 
1451
1461
  /* ----- Disabled Styles ----- */
1452
1462
 
1453
- .pill:is(:disabled, [aria-disabled="true"]) {
1463
+ .bs-pill:is(:disabled, [aria-disabled="true"]) {
1454
1464
  pointer-events: none;
1455
1465
  color: var(--bs-gray-400);
1456
1466
  background-color: var(--bs-gray-200);
1457
1467
  }
1458
1468
 
1459
- .pill:where([data-type^="filter"]):not([data-type*="active"]):is(:disabled, [aria-disabled="true"]) {
1469
+ .bs-pill:where([data-variant^="filter"]):not([data-active]):is(:disabled, [aria-disabled="true"]) {
1460
1470
  --pill-border: var(--bs-gray-400);
1461
1471
  }
1462
1472
 
1463
- :where(.profile-img),
1464
- :where(.profile-img[data-img-size^='sm']) {
1473
+ .profile-img,
1474
+ .profile-img:where([data-img-size^='sm']) {
1465
1475
  --profile-size: 2rem;
1466
1476
  --profile-text: var(--bs-text-sm);
1467
1477
 
@@ -1473,41 +1483,41 @@ a.button {
1473
1483
  width: var(--profile-size);
1474
1484
  }
1475
1485
 
1476
- :where(.profile-img img) {
1486
+ .profile-img :where(img) {
1477
1487
  height: 100%;
1478
1488
  -o-object-fit: cover;
1479
1489
  object-fit: cover;
1480
1490
  width: 100%;
1481
1491
  }
1482
1492
 
1483
- :where(.profile-img[data-no-img="true"]) img {
1493
+ .profile-img:where([data-no-img]) img {
1484
1494
  display: none;
1485
1495
  }
1486
1496
 
1487
- :where(.profile-img)::before,
1488
- :where(.profile-img)::after {
1497
+ .profile-img::before,
1498
+ .profile-img::after {
1489
1499
  border-radius: 50%;
1490
1500
  border-collapse: collapse;
1491
1501
  height: 100%;
1492
1502
  inset: 0;
1493
- position:absolute;
1503
+ position: absolute;
1494
1504
  width: 100%;
1495
1505
  }
1496
1506
 
1497
1507
  /* Shadow */
1498
1508
 
1499
- :where(.profile-img)::before {
1509
+ .profile-img::before {
1500
1510
  box-shadow: var(--bs-shadow-profilePhoto);
1501
1511
  content: '';
1502
1512
  }
1503
1513
 
1504
- :where(.profile-img[data-no-img="true"])::before {
1505
- display: none;
1514
+ .profile-img:where([data-no-img])::before {
1515
+ display: none;
1506
1516
  }
1507
1517
 
1508
1518
  /* Initials */
1509
1519
 
1510
- :where(.profile-img[data-no-img="true"])::after {
1520
+ .profile-img:where([data-no-img])::after {
1511
1521
  border: 1px solid currentColor;
1512
1522
  color: var(--bs-blue-500);
1513
1523
  content: attr(data-initials);
@@ -1519,26 +1529,41 @@ a.button {
1519
1529
 
1520
1530
  /* Profile Sizes */
1521
1531
 
1522
- :where([data-img-size^='xs']) {
1532
+ .profile-img:where([data-img-size^='xs']) {
1523
1533
  --profile-size: 1.5rem;
1524
1534
  --profile-text: var(--bs-text-xs);
1525
1535
  }
1526
1536
 
1527
- :where([data-img-size^='md']) {
1537
+ .profile-img:where([data-img-size^='md']) {
1528
1538
  --profile-size: 3rem;
1529
1539
  --profile-text: var(--bs-text-md);
1530
1540
  }
1531
1541
 
1532
- :where([data-img-size^='lg']) {
1542
+ .profile-img:where([data-img-size^='lg']) {
1533
1543
  --profile-size: 4rem;
1534
1544
  --profile-text: var(--bs-text-lg);
1535
1545
  }
1536
1546
 
1537
- :where([data-img-size^='xl']) {
1547
+ .profile-img:where([data-img-size^='xl']) {
1538
1548
  --profile-size: 5.75rem;
1539
1549
  --profile-text: var(--bs-text-xl);
1540
1550
  }
1541
1551
 
1552
+ :where(.profile-details) {
1553
+ color: var(--bs-ink-light);
1554
+ font-size: var(--bs-text-sm);
1555
+ }
1556
+
1557
+ :where(.profile-details > *) {
1558
+ display: block;
1559
+ }
1560
+
1561
+ :where(.profile-details > *:first-child) {
1562
+ --profile-name-color: var(--bs-ink-base);
1563
+
1564
+ color: var(--profile-name-color);
1565
+ }
1566
+
1542
1567
  /* Profile with User Details */
1543
1568
 
1544
1569
  :where(.profile[data-layout]),
@@ -1551,22 +1576,25 @@ a.button {
1551
1576
  -moz-column-gap: 1rem;
1552
1577
  column-gap: 1rem;
1553
1578
  grid-template-columns: auto 1fr;
1579
+ align-items: center;
1554
1580
  }
1555
1581
 
1556
- :where(.profile-content) {
1557
- color: var(--bs-ink-light);
1558
- font-size: var(--bs-text-xs);
1582
+ /* When wrapped in a link */
1583
+
1584
+ a.profile[data-layout] {
1585
+ text-decoration: none;
1559
1586
  }
1560
1587
 
1561
- :where(.profile[data-layout]:hover .profile-content > *:first-child) {
1562
- --profile-ink-hover: var(--bs-blue-500);
1588
+ a.profile[data-layout] .profile-details > *:first-child {
1589
+ --profile-name-color: var(--bs-blue-500);
1590
+ }
1563
1591
 
1564
- color: var(--profile-ink-hover);
1592
+ a.profile[data-layout]:hover .profile-details > *:first-child {
1565
1593
  text-decoration: underline;
1566
1594
  }
1567
1595
 
1568
- .dark :where(.profile[data-layout]:hover .profile-content > *:first-child) {
1569
- --profile-ink-hover: var(--bs-blue-200);
1596
+ .dark a.profile[data-layout] .profile-details > *:first-child {
1597
+ --profile-name-color: var(--bs-blue-200);
1570
1598
  }
1571
1599
 
1572
1600
  table {