@wwtdev/bsds-css 2.21.1 → 2.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/wwt-bsds.css CHANGED
@@ -1470,7 +1470,7 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
1470
1470
  -moz-column-gap: 0.75rem;
1471
1471
  column-gap: 0.75rem;
1472
1472
  display: grid;
1473
- grid-template-columns: 1.25rem 1fr 1rem;
1473
+ grid-template-columns: 1.125rem 1fr 1rem;
1474
1474
  grid-template-areas: "icon title close"
1475
1475
  ". description ."
1476
1476
  ". action .";
@@ -1479,37 +1479,52 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
1479
1479
  @media (min-width: 752px) {
1480
1480
  .bs-alert {
1481
1481
  padding: 1.5rem;
1482
- }
1483
- }
1484
- .bs-alert:where([data-horizontal="true"]) {
1485
- grid-template-columns: 1.25rem 1fr 1rem;
1486
- grid-template-areas: "icon title close"
1482
+ grid-template-columns: 1.25rem 1fr 1rem;
1483
+ grid-template-areas: "icon title close"
1484
+ ". description ."
1487
1485
  ". action .";
1486
+ }
1488
1487
  }
1489
1488
  @media (min-width: 752px) {
1490
1489
  .bs-alert:where([data-horizontal="true"]) {
1490
+ padding: 1rem 1.5rem;
1491
1491
  grid-template-areas: "icon title action close";
1492
- grid-template-columns: 1.25rem max-content 1fr 1rem;
1492
+ grid-template-columns: 1.125rem max-content 1fr 1rem;
1493
1493
  }
1494
1494
  }
1495
1495
  .bs-alert :where(.bs-alert-icon) {
1496
- align-self: center;
1496
+ margin-top: 0.25rem;
1497
+ align-self: start;
1497
1498
  color: var(--bs-ink-blue);
1498
1499
  grid-area: icon;
1499
- height: 1.25rem;
1500
- width: 1.25rem;
1500
+ height: 1.125rem;
1501
+ width: 1.125rem;
1501
1502
  }
1502
1503
  .bs-alert :where(.bs-alert-title) {
1503
1504
  font-size: 1.125rem;
1505
+ line-height: 1.3;
1506
+ color: var(--bs-ink-base);
1504
1507
  grid-area: title;
1505
1508
  }
1506
1509
  @media (min-width: 752px) {
1507
1510
  .bs-alert :where(.bs-alert-title) {
1508
1511
  font-size: 1.25rem;
1512
+ line-height: 1.3;
1513
+ }
1514
+
1515
+ .bs-alert:where([data-horizontal="true"]) :where(.bs-alert-title) {
1516
+ font-size: 1.125rem;
1517
+ line-height: 1.5;
1518
+ }
1519
+
1520
+ .bs-alert:where(:not([data-horizontal="true"])) :where(.bs-alert-icon) {
1521
+ height: 1.25rem;
1522
+ width: 1.25rem;
1509
1523
  }
1510
1524
  }
1511
1525
  .bs-alert :where(.bs-alert-description) {
1512
1526
  font-size: 0.875rem;
1527
+ color: var(--bs-ink-medium);
1513
1528
  grid-area: description;
1514
1529
  margin-top: 0.5rem;
1515
1530
  }
@@ -1522,7 +1537,8 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
1522
1537
  display: none;
1523
1538
  }
1524
1539
  .bs-alert :where(.bs-alert-close) {
1525
- align-self: center;
1540
+ margin-top: 0.25rem;
1541
+ align-self: start;
1526
1542
  background-color: transparent;
1527
1543
  cursor: pointer;
1528
1544
  grid-area: close;
@@ -3863,7 +3879,7 @@ select[multiple],
3863
3879
  top: var(--top-offset);
3864
3880
  z-index: 1001;
3865
3881
  }
3866
- @media (min-width: 752px) {
3882
+ @media (min-width: 1166px) {
3867
3883
  .bs-horizontal-nav {
3868
3884
  display: flex;
3869
3885
  }
@@ -4031,40 +4047,23 @@ select[multiple],
4031
4047
  .bs-horizontal-nav-mobile {
4032
4048
  --bg-color: var(--bs-bg-light);
4033
4049
  --top-offset: 48px;
4034
- -ms-overflow-style: none; /* Internet Explorer 10+ */
4035
- background-color: var(--bg-color);
4036
4050
  display: flex;
4037
4051
  flex-direction: column;
4038
- height: auto;
4039
4052
  left: 0;
4040
- max-height: calc(100vh - var(--top-offset));
4041
- overflow: scroll;
4042
4053
  position: fixed;
4043
4054
  right: 0;
4044
- scrollbar-width: none; /* Firefox */
4045
4055
  top: var(--top-offset);
4046
4056
  z-index: 1001;
4047
4057
  }
4048
- .bs-horizontal-nav-mobile:where([data-shown="true"]) {
4049
- height: 100vh;
4050
- }
4051
- @media (min-width: 752px) {
4058
+ @media (min-width: 1166px) {
4052
4059
  .bs-horizontal-nav-mobile {
4053
4060
  display: none;
4054
4061
  }
4055
4062
  }
4056
- /* ===== Nav List ===== */
4057
- .bs-horizontal-nav-mobile :where(ul) {
4058
- display: none;
4059
- flex-direction: column;
4060
- list-style: none;
4061
- }
4062
- .bs-horizontal-nav-mobile:where([data-shown="true"]) :where(ul) {
4063
- display: flex;
4064
- }
4065
4063
  /* ===== Toggle ===== */
4066
4064
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-toggle) {
4067
4065
  align-items: center;
4066
+ background-color: var(--bs-bg-light);
4068
4067
  color: var(--bs-ink-light);
4069
4068
  cursor: pointer;
4070
4069
  display: flex;
@@ -4076,6 +4075,9 @@ select[multiple],
4076
4075
  padding-top: 0.5rem;
4077
4076
  width: 100%;
4078
4077
  }
4078
+ .bs-horizontal-nav-mobile:where([data-hide-toggle="true"]) :where(.bs-horizontal-nav-mobile-toggle) {
4079
+ display: none;
4080
+ }
4079
4081
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-toggle-title) {
4080
4082
  align-items: center;
4081
4083
  display: flex;
@@ -4097,14 +4099,45 @@ select[multiple],
4097
4099
  .bs-horizontal-nav-mobile:where([data-shown="true"]) :where(.bs-horizontal-nav-mobile-toggle-caret) {
4098
4100
  transform: rotate(180deg);
4099
4101
  }
4102
+ /* ===== Nav Menu Container ===== */
4103
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu) {
4104
+ -ms-overflow-style: none; /* Internet Explorer 10+ */
4105
+ background-color: var(--bg-color);
4106
+ display: flex;
4107
+ flex-direction: column;
4108
+ height: 100vh;
4109
+ /* 100vh - top offset - toggle height */
4110
+ max-height: calc(100vh - var(--top-offset) - 48px);
4111
+ opacity: 0;
4112
+ overflow: scroll;
4113
+ scrollbar-width: none; /* Firefox */
4114
+ transition-duration: 200ms;
4115
+ transition-property: opacity;
4116
+ transition-timing-function: ease;
4117
+ }
4118
+ .bs-horizontal-nav-mobile:where([data-hide-toggle="true"]) :where(.bs-horizontal-nav-mobile-menu) {
4119
+ max-height: calc(100vh - var(--top-offset));
4120
+ }
4121
+ .bs-horizontal-nav-mobile:where([data-shown="true"]) :where(.bs-horizontal-nav-mobile-menu) {
4122
+ opacity: 1;
4123
+ }
4124
+ /* ===== Nav List ===== */
4125
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul) {
4126
+ background-color: var(--bg-color);
4127
+ display: flex;
4128
+ flex-direction: column;
4129
+ list-style: none;
4130
+ }
4100
4131
  /* ===== Nav Items ===== */
4101
- .bs-horizontal-nav-mobile :where(ul > li) {
4132
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li) {
4102
4133
  border-top: 1px solid var(--bs-border-base);
4103
4134
  }
4104
- .bs-horizontal-nav-mobile :where(ul:not(.bs-horizontal-nav-mobile-nested-menu) > li:last-child) {
4135
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li:last-child) {
4105
4136
  border-bottom: 1px solid var(--bs-border-base);
4106
4137
  }
4107
- .bs-horizontal-nav-mobile :where(ul > li > a) {
4138
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li > a),
4139
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-menu > li > a),
4140
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-links > ul > li > a) {
4108
4141
  color: var(--bs-ink-light);
4109
4142
  cursor: pointer;
4110
4143
  display: flex;
@@ -4114,14 +4147,18 @@ select[multiple],
4114
4147
  padding-right: 2.25rem;
4115
4148
  padding-top: 0.75rem;
4116
4149
  }
4117
- .bs-horizontal-nav-mobile :where(ul > li > a:hover) {
4150
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li > a:hover),
4151
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-menu > li > a:hover),
4152
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-links > ul > li > a:hover) {
4118
4153
  color: var(--bs-ink-blue);
4119
4154
  }
4120
- .bs-horizontal-nav-mobile :where(ul > li > a[data-active="true"]) {
4155
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li > a[data-active="true"]),
4156
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-menu > li > a[data-active="true"]) {
4121
4157
  color: var(--bs-ink-base);
4122
4158
  font-weight: 600;
4123
4159
  }
4124
- .bs-horizontal-nav-mobile :where(ul > li > a[data-active="true"]:hover) {
4160
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li > a[data-active="true"]:hover),
4161
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-menu > li > a[data-active="true"]:hover) {
4125
4162
  color: var(--bs-ink-blue);
4126
4163
  }
4127
4164
  /* ===== Nested Nav Items ===== */
@@ -4137,10 +4174,10 @@ select[multiple],
4137
4174
  padding-top: 0.75rem;
4138
4175
  width: 100%;
4139
4176
  }
4140
- .bs-horizontal-nav-mobile :where(ul li .bs-horizontal-nav-mobile-nested-toggle[data-active="true"]) {
4177
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-toggle[data-active="true"]) {
4141
4178
  font-weight: 600;
4142
4179
  }
4143
- .bs-horizontal-nav-mobile :where(ul li[data-expanded="true"] .bs-horizontal-nav-mobile-nested-toggle) {
4180
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li[data-expanded="true"] > .bs-horizontal-nav-mobile-nested-toggle) {
4144
4181
  background-color: var(--bs-bg-medium);
4145
4182
  color: var(--bs-ink-blue);
4146
4183
  font-weight: 600;
@@ -4156,23 +4193,24 @@ select[multiple],
4156
4193
  transition-timing-function: ease-in-out;
4157
4194
  width: 0.75rem;
4158
4195
  }
4159
- .bs-horizontal-nav-mobile :where(ul li[data-expanded="true"] .bs-horizontal-nav-mobile-nested-toggle-caret) {
4196
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li[data-expanded="true"] .bs-horizontal-nav-mobile-nested-toggle-caret) {
4160
4197
  transform: rotate(180deg);
4161
4198
  }
4162
4199
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-menu) {
4163
4200
  background-color: var(--bs-bg-medium);
4164
4201
  display: none;
4165
4202
  }
4166
- .bs-horizontal-nav-mobile :where(ul li[data-expanded="true"] .bs-horizontal-nav-mobile-nested-menu) {
4203
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li[data-expanded="true"] > .bs-horizontal-nav-mobile-nested-menu) {
4167
4204
  display: block;
4168
4205
  }
4169
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-menu > li) {
4170
- border-top: none;
4171
- }
4172
4206
  /* ===== External Links ===== */
4173
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-link) {
4174
- align-items: center;
4207
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-links) {
4208
+ margin-top: auto;
4209
+ padding-top: 2.25rem;
4210
+ }
4211
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-links > ul > li > a) {
4175
4212
  display: flex;
4213
+ align-items: center;
4176
4214
  gap: 0.5rem;
4177
4215
  }
4178
4216
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-link-icon) {
@@ -4181,14 +4219,97 @@ select[multiple],
4181
4219
  }
4182
4220
  /* ===== Slotted Items ===== */
4183
4221
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-slotted-items) {
4184
- display: none;
4185
4222
  padding-bottom: 0.75rem;
4186
4223
  padding-left: 2.25rem;
4187
4224
  padding-right: 2.25rem;
4188
4225
  padding-top: 0.75rem;
4226
+ margin-top: auto;
4189
4227
  }
4190
- .bs-horizontal-nav-mobile:where([data-shown="true"]) :where(.bs-horizontal-nav-mobile-slotted-items) {
4191
- display: block;
4228
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-links ~ .bs-horizontal-nav-mobile-slotted-items) {
4229
+ margin-top: 0;
4230
+ }
4231
+ /* Vue Transition Styles - Only used in Vue component */
4232
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-enter-from),
4233
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-leave-to) {
4234
+ opacity: 0;
4235
+ }
4236
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-enter-to),
4237
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-leave-from) {
4238
+ opacity: 1;
4239
+ }
4240
+ .bs-inline-tabs {
4241
+ display: flex;
4242
+ gap: var(--bs-space-2);
4243
+ }
4244
+ .bs-inline-tab {
4245
+ display: inline-flex;
4246
+ justify-content: center;
4247
+ align-items: center;
4248
+ padding: var(--bs-space-2) var(--bs-space-3);
4249
+ font-size: var(--bs-text-sm);
4250
+ font-weight: 600;
4251
+ line-height: 1.5;
4252
+ color: var(--bs-ink-royal);
4253
+ text-align: center; /* needed for "as link" wrap cases */
4254
+ text-decoration: none;
4255
+ background-color: var(--bs-bg-medium);
4256
+ border-radius: var(--bs-space-1);
4257
+ border: 1px solid transparent;
4258
+ outline: none;
4259
+ cursor: pointer;
4260
+ transition: all 100ms ease-in-out;
4261
+ }
4262
+ /* Variant */
4263
+ .bs-inline-tab:where([data-variant="white"]) {
4264
+ background-color: var(--bs-bg-base);
4265
+ }
4266
+ /* Hover */
4267
+ .bs-inline-tab:where(:not([data-selected]):hover) {
4268
+ border-color: var(--bs-ink-royal); /* "ink-royal" instead of "royal-base", matches Figma design */
4269
+ }
4270
+ /* Keyboard Focus */
4271
+ .bs-inline-tab:where(:focus-visible) {
4272
+ outline: 2px solid var(--bs-ink-royal);
4273
+
4274
+ &:where([data-selected]) {
4275
+ outline-offset: 2px;
4276
+ }
4277
+ }
4278
+ /* Selected */
4279
+ .bs-inline-tab:where([data-selected]) {
4280
+ color: var(--bs-ink-white);
4281
+ background-color: var(--bs-royal-400); /* "400" instead of "base", matches Figma design */
4282
+ }
4283
+ /* Disabled (as button or link) */
4284
+ .bs-inline-tab:where(:disabled, [aria-disabled="true"]) {
4285
+ color: var(--bs-ink-light);
4286
+ background-color: var(--bs-gray-light);
4287
+ cursor: default;
4288
+ pointer-events: none;
4289
+ }
4290
+ /* Selected & Disabled */
4291
+ .bs-inline-tab:where([data-selected]):where(:disabled, [aria-disabled="true"]) {
4292
+ color: var(--bs-ink-white);
4293
+ background-color: var(--bs-gray-base);
4294
+ }
4295
+ /* -- Dark Mode Overrides -- */
4296
+ :where(.dark .bs-inline-tab) {
4297
+
4298
+ /* Ink */
4299
+ &:not([data-selected], :disabled, [aria-disabled="true"]) {
4300
+ color: var(--bs-ink-medium);
4301
+ }
4302
+
4303
+ /* Selected & Disabled */
4304
+ &[data-selected]:where(:disabled, [aria-disabled="true"]) {
4305
+ color: var(--bs-ink-invert-base);
4306
+ }
4307
+
4308
+ /* Keyboard Focus */
4309
+ &[data-selected]:where(:focus-visible) {
4310
+ outline-offset: 0;
4311
+ }
4312
+
4192
4313
  }
4193
4314
  .bs-loader {
4194
4315
  --loader-dot-bg: var(--bs-blue-500);
@@ -4286,6 +4407,11 @@ select[multiple],
4286
4407
  }
4287
4408
  }
4288
4409
  .bs-modal {
4410
+ --base-modal-width: 35rem;
4411
+ --modal-padding: 1.5rem;
4412
+ --sm-modal-width: 21.25rem;
4413
+ --lg-modal-width: 45.3125rem;
4414
+ --lg-modal-padding: 2rem;
4289
4415
  background-color: var(--bs-bg-base-to-medium);
4290
4416
  border-radius: 4px;
4291
4417
  bottom: 0;
@@ -4297,7 +4423,7 @@ select[multiple],
4297
4423
  max-height: calc(100% - 3rem);
4298
4424
  opacity: 0;
4299
4425
  overflow: auto;
4300
- padding: 1.5rem;
4426
+ padding: var(--modal-padding);
4301
4427
  position: fixed;
4302
4428
  right: 0;
4303
4429
  top: 0;
@@ -4307,50 +4433,137 @@ select[multiple],
4307
4433
  width: calc(100% - 3rem);
4308
4434
  z-index: 9999;
4309
4435
  }
4436
+ .bs-modal:where([data-has-header-or-footer="true"]) {
4437
+ padding: 0;
4438
+ }
4310
4439
  @media (min-width: 752px) {
4311
4440
  .bs-modal {
4312
4441
  max-height: min(calc(100vh - 3rem), 40.625rem);
4313
- width: 35rem;
4442
+ width: var(--base-modal-width);
4443
+ }
4444
+ .bs-modal:where([data-size="sm"]) {
4445
+ width: var(--sm-modal-width);
4446
+ }
4447
+ .bs-modal:where([data-size="lg"]) {
4448
+ width: var(--lg-modal-width);
4314
4449
  }
4315
4450
  }
4316
4451
  .bs-modal:where([data-shown]:not([data-shown="false"])) {
4317
4452
  opacity: 1;
4318
4453
  }
4319
- .bs-modal:where([data-full-width="true"]) {
4320
- padding-left: 0;
4321
- padding-right: 0;
4454
+ .bs-modal :where(.bs-modal-header-container) {
4455
+ padding: var(--modal-padding);
4322
4456
  }
4323
- .bs-modal:where([data-full-height="true"]) {
4324
- padding-top: 0;
4325
- padding-bottom: 0;
4457
+ .bs-modal:where([data-size="lg"]) :where(.bs-modal-header-container) {
4458
+ padding: var(--lg-modal-padding);
4326
4459
  }
4327
- .bs-modal :where(.modal-header) {
4328
- align-items: start;
4460
+ .bs-modal :where(.bs-modal-header) {
4461
+ align-items: center;
4329
4462
  display: flex;
4330
4463
  justify-content: space-between;
4331
- margin-bottom: 2rem;
4464
+ margin-bottom: 0.5rem;
4332
4465
  }
4333
- .bs-modal :where(.modal-title) {
4466
+ .bs-modal :where(.bs-modal-title) {
4334
4467
  flex-grow: 1;
4335
- font-size: var(--bs-text-md);
4336
- font-weight: 600;
4468
+ font-size: var(--bs-text-lg);
4469
+ font-weight: 400;
4470
+ margin-right: 2rem;
4471
+ }
4472
+ .bs-modal :where(.bs-modal-subtitle) {
4473
+ font-size: var(--bs-text-sm);
4474
+ font-weight: 400;
4337
4475
  margin: 0;
4476
+ width: 100%;
4477
+ margin-bottom: 1.5rem;
4338
4478
  }
4339
- .bs-modal :where(.only-close-button-modal-header) {
4479
+ .bs-modal :where(.bs-modal-only-close-button-modal-header) {
4340
4480
  display: flex;
4341
4481
  justify-content: flex-end;
4482
+ }
4483
+ .bs-modal :where(.bs-modal-header-container):where(:has(.bs-modal-only-close-button-modal-header)) {
4342
4484
  margin-bottom: 0;
4485
+ padding-bottom: 0;
4343
4486
  }
4344
- .bs-modal :where(.full-width-header-close-button) {
4487
+ .bs-modal :where(.bs-modal-full-width-header-close-button) {
4345
4488
  position: absolute;
4346
4489
  right: 0.75rem;
4347
4490
  top: 0.75rem;
4348
4491
  }
4349
- .bs-modal :where(.close-button) {
4492
+ .bs-modal :where(.bs-modal-close-button) {
4350
4493
  cursor: pointer;
4351
4494
  }
4352
- .bs-modal :where(.modal-footer) {
4353
- margin-top: 3rem;
4495
+ .bs-modal :where(.bs-modal-progress) {
4496
+ width: 100%;
4497
+ }
4498
+ .bs-modal :where(.bs-modal-body) {
4499
+ padding: 0 var(--modal-padding);
4500
+ }
4501
+ .bs-modal:where([data-header-border="true"]) :where(.bs-modal-body) {
4502
+ padding-top: var(--modal-padding);
4503
+ }
4504
+ .bs-modal:where([data-footer-border="true"]) :where(.bs-modal-body) {
4505
+ padding-bottom: var(--modal-padding);
4506
+ }
4507
+ .bs-modal:where([data-size="lg"]) :where(.bs-modal-body) {
4508
+ padding: 0 var(--lg-modal-padding);
4509
+ }
4510
+ .bs-modal:where([data-body-background-contrast="true"]) :where(.bs-modal-body) {
4511
+ background-color: var(--bs-bg-light);
4512
+ }
4513
+ .bs-modal:where([data-no-header-container="true"]):where([data-size="lg"]) :where(.bs-modal-body) {
4514
+ padding-top: var(--lg-modal-padding);
4515
+ }
4516
+ .bs-modal:where([data-no-header-container="true"]) :where(.bs-modal-body) {
4517
+ padding-top: var(--modal-padding);
4518
+ }
4519
+ .bs-modal:where([data-no-footer="true"]):where([data-size="lg"]) :where(.bs-modal-body) {
4520
+ padding-bottom: var(--lg-modal-padding);
4521
+ }
4522
+ .bs-modal:where([data-no-footer="true"]) :where(.bs-modal-body) {
4523
+ padding-bottom: var(--modal-padding);
4524
+ }
4525
+ .bs-modal:where([data-no-footer="true"]):where([data-full-height="true"]) :where(.bs-modal-body) {
4526
+ padding-bottom: 0;
4527
+ }
4528
+ .bs-modal :where(.bs-modal-footer) {
4529
+ padding: var(--modal-padding);
4530
+ }
4531
+ .bs-modal:where([data-size="lg"]) :where(.bs-modal-footer) {
4532
+ padding: var(--lg-modal-padding);
4533
+ }
4534
+ .bs-modal:where([data-sticky-header="true"]) :where(.bs-modal-header-container) {
4535
+ position: sticky;
4536
+ top: 0;
4537
+ z-index: 1;
4538
+ background: inherit;
4539
+ }
4540
+ .bs-modal:where([data-sticky-footer="true"]) :where(.bs-modal-footer) {
4541
+ position: sticky;
4542
+ bottom: 0;
4543
+ z-index: 1;
4544
+ background: inherit;
4545
+ }
4546
+ .bs-modal:where([data-header-border="true"]) :where(.bs-modal-header-container) {
4547
+ border-bottom: 1px solid var(--bs-border-base);
4548
+ }
4549
+ .bs-modal:where([data-footer-border="true"]) :where(.bs-modal-footer) {
4550
+ border-top: 1px solid var(--bs-border-base);
4551
+ }
4552
+ .bs-modal:where([data-full-width="true"]) :where(.bs-modal-section) {
4553
+ padding-left: 0;
4554
+ padding-right: 0;
4555
+ }
4556
+ .bs-modal:where([data-full-height="true"]) :where(.bs-modal-section) {
4557
+ padding-top: 0;
4558
+ padding-bottom: 0;
4559
+ }
4560
+ .bs-modal:where([data-full-width="true"]) {
4561
+ padding-left: 0;
4562
+ padding-right: 0;
4563
+ }
4564
+ .bs-modal:where([data-full-height="true"]) {
4565
+ padding-top: 0;
4566
+ padding-bottom: 0;
4354
4567
  }
4355
4568
  /* Vue Transition Styles - Only used in Vue component */
4356
4569
  .bs-modal:where(.bs-modal-enter-from),
@@ -5712,16 +5925,18 @@ This must go last to properly override the other classes
5712
5925
  --active-color: rgba(255, 255, 255, 0.25);
5713
5926
  --bg-color: var(--bs-navy-base);
5714
5927
  --border-color: var(--bs-border-dark);
5928
+ --expand-y-transform: translateY(calc(-1 * var(--top-offset)));
5715
5929
  --top-offset: 48px;
5716
5930
  --width: auto;
5717
5931
  -ms-overflow-style: none; /* Internet Explorer 10+ */
5718
5932
  background-color: var(--bg-color);
5719
5933
  color: var(--bs-white);
5720
- display: none;
5934
+ display: flex;
5721
5935
  flex-direction: column;
5722
5936
  height: 100vh;
5723
5937
  left: 0;
5724
5938
  max-height: calc(100vh - var(--top-offset));
5939
+ opacity: 0;
5725
5940
  overflow: scroll;
5726
5941
  padding-bottom: 1.5rem;
5727
5942
  padding-left: 1.5rem;
@@ -5731,14 +5946,15 @@ This must go last to properly override the other classes
5731
5946
  right: 0;
5732
5947
  scrollbar-width: none; /* Firefox */
5733
5948
  top: var(--top-offset);
5734
- transition-duration: 0.2s;
5735
- transition-property: max-height, transform;
5736
- transition-timing-function: ease;
5949
+ /* Slight delay for visibility to change prior to opacity */
5950
+ transition: opacity 200ms ease 10ms;
5951
+ visibility: hidden;
5737
5952
  width: var(--width);
5738
5953
  z-index: 1001;
5739
5954
  }
5740
5955
  .bs-vertical-nav:where([data-mobile-shown="true"]) {
5741
- display: flex;
5956
+ opacity: 1;
5957
+ visibility: visible;
5742
5958
  }
5743
5959
  .dark .bs-vertical-nav {
5744
5960
  --active-color: rgba(255, 255, 255, 0.25);
@@ -5746,16 +5962,18 @@ This must go last to properly override the other classes
5746
5962
  --border-color: var(--bs-border-dark);
5747
5963
  border-right: 1px solid var(--bs-border-medium);
5748
5964
  }
5749
- @media (min-width: 752px) {
5965
+ @media (min-width: 1166px) {
5750
5966
  .bs-vertical-nav {
5751
5967
  --width: 9.875rem;
5752
5968
  border-right: 1px solid var(--bg-color);
5753
- display: flex;
5969
+ opacity: 1;
5754
5970
  padding-bottom: 1rem;
5755
5971
  padding-left: 0.5rem;
5756
5972
  padding-right: 0.5rem;
5757
5973
  padding-top: 1rem;
5758
5974
  right: auto;
5975
+ transition: max-height 200ms ease, transform 200ms ease;
5976
+ visibility: visible;
5759
5977
  }
5760
5978
 
5761
5979
  .bs-vertical-nav:where([data-narrow="true"]) {
@@ -5766,7 +5984,7 @@ This must go last to properly override the other classes
5766
5984
  display: none; /* Safari and Chrome */
5767
5985
  }
5768
5986
  .bs-vertical-nav:where([data-y-expand="true"]) {
5769
- transform: translateY(calc(-1 * var(--top-offset)));
5987
+ transform: var(--expand-y-transform);
5770
5988
  max-height: 100vh;
5771
5989
  }
5772
5990
  /* ===== Sections ===== */
@@ -5775,7 +5993,7 @@ This must go last to properly override the other classes
5775
5993
  margin-top: 0.5rem;
5776
5994
  padding-top: 0.5rem;
5777
5995
  }
5778
- @media (min-width: 752px) {
5996
+ @media (min-width: 1166px) {
5779
5997
  .bs-vertical-nav :where(.bs-vertical-nav-section) {
5780
5998
  margin-top: 0.25rem;
5781
5999
  }
@@ -5819,7 +6037,7 @@ This must go last to properly override the other classes
5819
6037
  margin-top: 0;
5820
6038
  padding-left: 0;
5821
6039
  }
5822
- @media (min-width: 752px) {
6040
+ @media (min-width: 1166px) {
5823
6041
  .bs-vertical-nav :where(ul) {
5824
6042
  gap: 0.25rem;
5825
6043
  }
@@ -5840,7 +6058,7 @@ This must go last to properly override the other classes
5840
6058
  padding-top: 0.75rem;
5841
6059
  width: 100%;
5842
6060
  }
5843
- @media (min-width: 752px) {
6061
+ @media (min-width: 1166px) {
5844
6062
  .bs-vertical-nav :where(ul li a) {
5845
6063
  font-size: 0.875rem;
5846
6064
  padding-bottom: 0.5rem;
@@ -5870,7 +6088,7 @@ This must go last to properly override the other classes
5870
6088
  height: 1rem;
5871
6089
  width: 1rem;
5872
6090
  }
5873
- @media (min-width: 752px) {
6091
+ @media (min-width: 1166px) {
5874
6092
  .bs-vertical-nav :where(.bs-vertical-nav-link-icon) {
5875
6093
  height: 0.875rem;
5876
6094
  width: 0.875rem;
@@ -5893,7 +6111,7 @@ This must go last to properly override the other classes
5893
6111
  height: 1rem;
5894
6112
  width: 1rem;
5895
6113
  }
5896
- @media (min-width: 752px) {
6114
+ @media (min-width: 1166px) {
5897
6115
  .bs-vertical-nav :where(.bs-vertical-nav-external-links .bs-vertical-nav-external-link-icon) {
5898
6116
  height: 0.875rem;
5899
6117
  width: 0.875rem;