@wwtdev/bsds-css 2.23.0 → 2.25.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
@@ -235,7 +235,7 @@ html:where(:focus-within) {
235
235
  /* Set core body defaults */
236
236
  body {
237
237
  line-height: 1.5;
238
- min-height: 100vh;
238
+ min-height: 100dvh;
239
239
  text-rendering: optimizeSpeed;
240
240
  }
241
241
  /* Elements that don't have a class get default styles */
@@ -3113,6 +3113,99 @@ input:where([type='checkbox'], [type='radio'])[data-error]:where(:not([data-erro
3113
3113
  .bs-character-count:where([data-error="true"]) {
3114
3114
  color: var(--bs-ink-red);
3115
3115
  }
3116
+ .bs-form-container {
3117
+ background: var(--bs-bg-base-to-light);
3118
+ border-radius: 0;
3119
+ }
3120
+ @media (min-width: 752px) {
3121
+ .bs-form-container {
3122
+ border-radius: 8px;
3123
+ }
3124
+ }
3125
+ .bs-form-container :where(.bs-form-container-header-wrapper) {
3126
+ padding: var(--bs-space-3) var(--bs-space-4);
3127
+ display: flex;
3128
+ }
3129
+ .bs-form-container :where(.bs-form-container-header) {
3130
+ padding-right: var(--bs-space-6);
3131
+ display: flex;
3132
+ flex: 1;
3133
+ flex-direction: column;
3134
+ flex-wrap: wrap;
3135
+ justify-content: center;
3136
+ }
3137
+ .bs-form-container :where(.bs-form-container-title-wrapper) {
3138
+ margin-right: auto;
3139
+ display: flex;
3140
+ align-items: center;
3141
+ }
3142
+ .bs-form-container :where(.bs-form-container-title) {
3143
+ color: var(--bs-ink-medium);
3144
+ font-size: var(--bs-text-base);
3145
+ }
3146
+ .bs-form-container :where(.bs-form-container-title-addon) {
3147
+ margin-left: var(--bs-space-2);
3148
+ display: flex;
3149
+ align-items: center;
3150
+ gap: var(--bs-space-2);
3151
+ }
3152
+ .bs-form-container :where(.bs-form-container-header-icon) {
3153
+ margin-right: var(--bs-space-2);
3154
+ color: var(--bs-ink-base);
3155
+ height: 1rem;
3156
+ width: 1rem;
3157
+ }
3158
+ .bs-form-container :where(.bs-form-container-subtitle) {
3159
+ margin-top: var(--bs-space-1);
3160
+ color: var(--bs-ink-light);
3161
+ font-size: var(--bs-text-sm);
3162
+ }
3163
+ .bs-form-container :where(.bs-form-container-header-actions) {
3164
+ display: flex;
3165
+ align-items: center;
3166
+ gap: var(--bs-space-4);
3167
+ }
3168
+ .bs-form-container :where(.bs-form-container-content) {
3169
+ display: none;
3170
+ padding: var(--bs-space-6);
3171
+ border-top: 1px solid var(--bs-border-light);
3172
+ }
3173
+ .bs-form-container :where(.bs-form-container-content):where([data-open="true"]) {
3174
+ display: flex;
3175
+ }
3176
+ /* adds styling utilities for icons in header actions slot */
3177
+ .bs-form-container :where(.bs-form-container-header-actions) :where(.bs-icon) {
3178
+ color: var(--bs-ink-medium);
3179
+ cursor: pointer;
3180
+ transition: transform 200ms ease-in-out, color 100ms ease-in-out;
3181
+
3182
+ /* color utilities for specified icons */
3183
+ &:where([data-component="bs-icon-caret-down"]) {
3184
+ color: var(--bs-ink-base);
3185
+ }
3186
+
3187
+ &:where([data-component="bs-icon-edit"]):hover {
3188
+ color: var(--bs-ink-blue);
3189
+ }
3190
+
3191
+ &:where([data-component="bs-icon-delete"]):hover {
3192
+ color: var(--bs-ink-red);
3193
+ }
3194
+ }
3195
+ .bs-form-container :where(.bs-form-container-header-actions):where([data-open="true"]) {
3196
+ /* transition utilities for specified icons */
3197
+ :where([data-component="bs-icon-caret-down"]) {
3198
+ transform: rotate(180deg);
3199
+ }
3200
+ }
3201
+ /* inactive state styles */
3202
+ .bs-form-container:where([data-inactive="true"]) {
3203
+ background: rgba(255, 255, 255, 0.5);
3204
+ }
3205
+ .bs-form-container :where(.bs-form-container-title:where([data-inactive="true"])),
3206
+ .bs-form-container :where(.bs-form-container-subtitle:where([data-inactive="true"])) {
3207
+ color: var(--bs-ink-disabled);
3208
+ }
3116
3209
  /* Generally applicable (all input types) */
3117
3210
  :where([data-required]:not([data-required="false"])) {
3118
3211
  color: var(--bs-ink-red);
@@ -3869,6 +3962,9 @@ select[multiple],
3869
3962
  :where(button).bs-select:where([data-open="true"]) :where(.bs-icon) {
3870
3963
  transform: rotate(180deg);
3871
3964
  }
3965
+ :root {
3966
+ --bs-horizontal-nav-height: 48px;
3967
+ }
3872
3968
  .bs-horizontal-nav {
3873
3969
  --bg-color: var(--bs-bg-light);
3874
3970
  --top-offset: 48px;
@@ -3876,12 +3972,12 @@ select[multiple],
3876
3972
  background-color: var(--bg-color);
3877
3973
  bottom: auto;
3878
3974
  display: none;
3879
- height: 48px;
3975
+ height: var(--bs-horizontal-nav-height);
3880
3976
  left: 0;
3881
3977
  position: fixed;
3882
3978
  right: 0;
3883
3979
  top: var(--top-offset);
3884
- z-index: 1001;
3980
+ z-index: 1000;
3885
3981
  }
3886
3982
  @media (min-width: 1166px) {
3887
3983
  .bs-horizontal-nav {
@@ -3900,8 +3996,7 @@ select[multiple],
3900
3996
  width: 100%;
3901
3997
  }
3902
3998
  /* ===== Nav List ===== */
3903
- .bs-horizontal-nav :where(nav > ul),
3904
- .bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul) {
3999
+ .bs-horizontal-nav :where(nav > ul) {
3905
4000
  align-items: center;
3906
4001
  display: flex;
3907
4002
  flex-direction: row;
@@ -3922,18 +4017,15 @@ select[multiple],
3922
4017
  padding-left: 0;
3923
4018
  padding-right: 0;
3924
4019
  padding-top: 0;
3925
- width: auto;
3926
4020
  }
3927
4021
  /* ===== Nav Items ===== */
3928
- .bs-horizontal-nav :where(nav > ul > li),
3929
- .bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li) {
4022
+ .bs-horizontal-nav :where(nav > ul > li) {
3930
4023
  border-bottom: none;
3931
4024
  display: list-item;
3932
4025
  margin-left: 0;
3933
4026
  width: auto;
3934
4027
  }
3935
- .bs-horizontal-nav :where(nav > ul > li:not(.bs-horizontal-nav-title) > a),
3936
- .bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li > a) {
4028
+ .bs-horizontal-nav :where(nav > ul > li:not(.bs-horizontal-nav-title) > a) {
3937
4029
  align-items: center;
3938
4030
  border-radius: 4px;
3939
4031
  color: var(--bs-ink-light);
@@ -3948,17 +4040,14 @@ select[multiple],
3948
4040
  padding-top: 0.5rem;
3949
4041
  width: 100%;
3950
4042
  }
3951
- .bs-horizontal-nav :where(nav > ul > li:not(.bs-horizontal-nav-title) > a:hover),
3952
- .bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li > a:hover) {
4043
+ .bs-horizontal-nav :where(nav > ul > li > a:hover) {
3953
4044
  color: var(--bs-ink-blue);
3954
4045
  }
3955
- .bs-horizontal-nav :where(nav > ul > li > a[data-active="true"]),
3956
- .bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li > a[data-active="true"]) {
4046
+ .bs-horizontal-nav :where(nav > ul > li > a[data-active="true"]) {
3957
4047
  color: var(--bs-ink-base);
3958
4048
  font-weight: 600;
3959
4049
  }
3960
- .bs-horizontal-nav :where(nav > ul > li > a[data-active="true"]:hover),
3961
- .bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li > a[data-active="true"]:hover) {
4050
+ .bs-horizontal-nav :where(nav > ul > li > a[data-active="true"]:hover) {
3962
4051
  color: var(--bs-ink-blue);
3963
4052
  }
3964
4053
  .bs-horizontal-nav :where(.bs-horizontal-nav-first-link-icon) {
@@ -4008,9 +4097,11 @@ select[multiple],
4008
4097
  --dropdown-top: 100%;
4009
4098
  border-radius: 8px;
4010
4099
  padding: 1.5rem;
4011
- width: 10.5rem;
4012
4100
  }
4013
4101
  .bs-horizontal-nav :where(.bs-horizontal-nav-nested-menu > ul) {
4102
+ display: inline-flex;
4103
+ flex-direction: column;
4104
+ gap: 0.5rem;
4014
4105
  list-style: none;
4015
4106
  }
4016
4107
  .bs-horizontal-nav :where(.bs-horizontal-nav-nested-menu > ul > li) {
@@ -4030,23 +4121,29 @@ select[multiple],
4030
4121
  .bs-horizontal-nav :where(.bs-horizontal-nav-nested-menu > ul > li > a[data-active="true"]:hover) {
4031
4122
  color: var(--bs-ink-blue);
4032
4123
  }
4033
- /* ===== External Links ===== */
4034
- .bs-horizontal-nav :where(.bs-horizontal-nav-external-link-icon) {
4035
- height: 1rem;
4036
- width: 1rem;
4037
- }
4038
- /* ===== Slotted Items ===== */
4039
- .bs-horizontal-nav :where(.bs-horizontal-nav-slotted-items) {
4124
+ /* ===== End Items ===== */
4125
+ .bs-horizontal-nav :where(.bs-horizontal-nav-end-items) {
4126
+ display: flex;
4127
+ gap: 1.5rem;
4040
4128
  margin-left: auto;
4129
+ white-space: nowrap;
4130
+ }
4131
+ .bs-horizontal-nav :where(.bs-horizontal-nav-end-items > *) {
4132
+ font-size: 0.75rem;
4133
+ font-weight: 600;
4041
4134
  }
4042
- .bs-horizontal-nav :where(.bs-horizontal-nav-external-links ~ .bs-horizontal-nav-slotted-items) {
4043
- margin-left: 1.5rem;
4135
+ .bs-horizontal-nav :where(.bs-horizontal-nav-end-items > *:not(button)) {
4136
+ color: var(--bs-ink-light);
4137
+ padding-bottom: 0.5rem;
4138
+ padding-left: 0rem;
4139
+ padding-right: 0rem;
4140
+ padding-top: 0.5rem;
4044
4141
  }
4045
- /* ===== Component-specific ===== */
4046
- .bs-horizontal-nav :where(.bs-horizontal-nav-nested-menu-override) {
4047
- --dropdown-top: 0;
4048
- padding: 1.5rem;
4049
- width: 10.5rem;
4142
+ .bs-horizontal-nav :where(.bs-horizontal-nav-end-items > button) {
4143
+ margin-bottom: 0.5rem;
4144
+ margin-left: 0rem;
4145
+ margin-right: 0rem;
4146
+ margin-top: 0.5rem;
4050
4147
  }
4051
4148
  .bs-horizontal-nav-mobile {
4052
4149
  --bg-color: var(--bs-bg-light);
@@ -4057,7 +4154,7 @@ select[multiple],
4057
4154
  position: fixed;
4058
4155
  right: 0;
4059
4156
  top: var(--top-offset);
4060
- z-index: 1001;
4157
+ z-index: 1000;
4061
4158
  }
4062
4159
  @media (min-width: 1166px) {
4063
4160
  .bs-horizontal-nav-mobile {
@@ -4071,7 +4168,7 @@ select[multiple],
4071
4168
  color: var(--bs-ink-light);
4072
4169
  cursor: pointer;
4073
4170
  display: flex;
4074
- height: 48px;
4171
+ height: var(--bs-horizontal-nav-height);
4075
4172
  justify-content: space-between;
4076
4173
  padding-bottom: 0.5rem;
4077
4174
  padding-left: 2.25rem;
@@ -4109,9 +4206,9 @@ select[multiple],
4109
4206
  background-color: var(--bg-color);
4110
4207
  display: flex;
4111
4208
  flex-direction: column;
4112
- height: 100vh;
4209
+ height: 100dvh;
4113
4210
  /* 100vh - top offset - toggle height */
4114
- max-height: calc(100vh - var(--top-offset) - 48px);
4211
+ max-height: calc(100dvh - var(--top-offset) - 48px);
4115
4212
  opacity: 0;
4116
4213
  overflow: scroll;
4117
4214
  scrollbar-width: none; /* Firefox */
@@ -4120,7 +4217,7 @@ select[multiple],
4120
4217
  transition-timing-function: ease;
4121
4218
  }
4122
4219
  .bs-horizontal-nav-mobile:where([data-hide-toggle="true"]) :where(.bs-horizontal-nav-mobile-menu) {
4123
- max-height: calc(100vh - var(--top-offset));
4220
+ max-height: calc(100dvh - var(--top-offset));
4124
4221
  }
4125
4222
  .bs-horizontal-nav-mobile:where([data-shown="true"]) :where(.bs-horizontal-nav-mobile-menu) {
4126
4223
  opacity: 1;
@@ -4221,16 +4318,24 @@ select[multiple],
4221
4318
  height: 1rem;
4222
4319
  width: 1rem;
4223
4320
  }
4224
- /* ===== Slotted Items ===== */
4225
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-slotted-items) {
4321
+ /* ===== End Items ===== */
4322
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-end-items) {
4323
+ display: flex;
4324
+ flex-direction: column;
4325
+ margin-bottom: 1.5rem;
4326
+ margin-top: auto;
4327
+ }
4328
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-end-items > *:not(button)) {
4226
4329
  padding-bottom: 0.75rem;
4227
4330
  padding-left: 2.25rem;
4228
4331
  padding-right: 2.25rem;
4229
4332
  padding-top: 0.75rem;
4230
- margin-top: auto;
4231
4333
  }
4232
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-links ~ .bs-horizontal-nav-mobile-slotted-items) {
4233
- margin-top: 0;
4334
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-end-items > button) {
4335
+ margin-bottom: 0.75rem;
4336
+ margin-left: 2.25rem;
4337
+ margin-right: 2.25rem;
4338
+ margin-top: 0.75rem;
4234
4339
  }
4235
4340
  /* Vue Transition Styles - Only used in Vue component */
4236
4341
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-enter-from),
@@ -4440,7 +4545,7 @@ select[multiple],
4440
4545
  }
4441
4546
  @media (min-width: 752px) {
4442
4547
  .bs-modal {
4443
- max-height: min(calc(100vh - 3rem), 40.625rem);
4548
+ max-height: min(calc(100dvh - 3rem), 40.625rem);
4444
4549
  width: var(--base-modal-width);
4445
4550
  }
4446
4551
 
@@ -5219,7 +5324,7 @@ a.bs-profile:where([data-layout]):hover {
5219
5324
  .bs-table-header-rowgroup-freeze {
5220
5325
  position: sticky;
5221
5326
  top: 0;
5222
- z-index: 1;
5327
+ z-index: 2;
5223
5328
 
5224
5329
  .bs-table:not(.bs-table-border-none) & {
5225
5330
  box-shadow: 0 3px 0 rgba(0, 0, 0, .03);
@@ -5246,6 +5351,7 @@ a.bs-profile:where([data-layout]):hover {
5246
5351
  .bs-table-footer-rowgroup-freeze {
5247
5352
  position: sticky;
5248
5353
  bottom: 0;
5354
+ z-index: 2;
5249
5355
 
5250
5356
  .bs-table:not(.bs-table-border-none) & {
5251
5357
  box-shadow: 0 -3px 0 rgba(0, 0, 0, .03);
@@ -5275,6 +5381,7 @@ a.bs-profile:where([data-layout]):hover {
5275
5381
  grid-template-columns: subgrid;
5276
5382
  background: inherit;
5277
5383
  border-color: inherit;
5384
+ z-index: 1;
5278
5385
 
5279
5386
  .bs-table:not(.bs-table-border-none) & {
5280
5387
  box-shadow: 3px 0 0 rgba(0, 0, 0, .03);
@@ -5288,6 +5395,7 @@ a.bs-profile:where([data-layout]):hover {
5288
5395
  grid-template-columns: subgrid;
5289
5396
  background: inherit;
5290
5397
  border-color: inherit;
5398
+ z-index: 1;
5291
5399
 
5292
5400
  .bs-table:not(.bs-table-border-none) & {
5293
5401
  box-shadow: -3px 0 0 rgba(0, 0, 0, .03);
@@ -5912,21 +6020,24 @@ This must go last to properly override the other classes
5912
6020
  opacity: 0;
5913
6021
  transform: translateY(-50%) scale(0.5);
5914
6022
  }
6023
+ :root {
6024
+ --bs-vertical-nav-width: 9.875rem;
6025
+ --bs-vertical-nav-narrow-width: 4.5rem;
6026
+ }
5915
6027
  .bs-vertical-nav {
5916
6028
  --active-color: rgba(255, 255, 255, 0.25);
5917
6029
  --bg-color: var(--bs-navy-base);
5918
6030
  --border-color: var(--bs-border-dark);
5919
6031
  --expand-y-transform: translateY(calc(-1 * var(--top-offset)));
5920
6032
  --top-offset: 48px;
5921
- --width: auto;
5922
6033
  -ms-overflow-style: none; /* Internet Explorer 10+ */
5923
6034
  background-color: var(--bg-color);
5924
6035
  color: var(--bs-white);
5925
6036
  display: flex;
5926
6037
  flex-direction: column;
5927
- height: 100vh;
6038
+ height: 100dvh;
5928
6039
  left: 0;
5929
- max-height: calc(100vh - var(--top-offset));
6040
+ max-height: calc(100dvh - var(--top-offset));
5930
6041
  opacity: 0;
5931
6042
  overflow: scroll;
5932
6043
  padding-bottom: 1.5rem;
@@ -5940,8 +6051,8 @@ This must go last to properly override the other classes
5940
6051
  /* Slight delay for visibility to change prior to opacity */
5941
6052
  transition: opacity 200ms ease 10ms;
5942
6053
  visibility: hidden;
5943
- width: var(--width);
5944
- z-index: 1001;
6054
+ width: auto;
6055
+ z-index: 1000;
5945
6056
  }
5946
6057
  .bs-vertical-nav:where([data-mobile-shown="true"]) {
5947
6058
  opacity: 1;
@@ -5955,7 +6066,6 @@ This must go last to properly override the other classes
5955
6066
  }
5956
6067
  @media (min-width: 1166px) {
5957
6068
  .bs-vertical-nav {
5958
- --width: 9.875rem;
5959
6069
  border-right: 1px solid var(--bg-color);
5960
6070
  opacity: 1;
5961
6071
  padding-bottom: 1rem;
@@ -5965,10 +6075,11 @@ This must go last to properly override the other classes
5965
6075
  right: auto;
5966
6076
  transition: max-height 200ms ease, transform 200ms ease;
5967
6077
  visibility: visible;
6078
+ width: var(--bs-vertical-nav-width);
5968
6079
  }
5969
6080
 
5970
6081
  .bs-vertical-nav:where([data-narrow="true"]) {
5971
- --width: 4.5rem;
6082
+ width: var(--bs-vertical-nav-narrow-width);
5972
6083
  }
5973
6084
  }
5974
6085
  .bs-vertical-nav::-webkit-scrollbar {
@@ -5976,7 +6087,7 @@ This must go last to properly override the other classes
5976
6087
  }
5977
6088
  .bs-vertical-nav:where([data-y-expand="true"]) {
5978
6089
  transform: var(--expand-y-transform);
5979
- max-height: 100vh;
6090
+ max-height: 100dvh;
5980
6091
  }
5981
6092
  /* ===== Sections ===== */
5982
6093
  .bs-vertical-nav :where(.bs-vertical-nav-section) {
@@ -6008,6 +6119,20 @@ This must go last to properly override the other classes
6008
6119
  padding-top: 0.5rem;
6009
6120
  width: 100%;
6010
6121
  }
6122
+ @media (min-width: 1166px) {
6123
+ .bs-vertical-nav :where(.bs-vertical-nav-section-toggle) {
6124
+ /* nav width - nav left padding - nav right padding */
6125
+ width: calc(var(--bs-vertical-nav-width) - 0.5rem - 0.5rem);
6126
+ }
6127
+
6128
+ .bs-vertical-nav :where(.bs-vertical-nav-section-toggle span:first-child) {
6129
+ overflow: hidden;
6130
+ text-align: start;
6131
+ text-overflow: ellipsis;
6132
+ /* nav width - nav left padding - nav right padding - link left padding - link right padding - caret width */
6133
+ width: calc(var(--bs-vertical-nav-width) - 0.5rem - 0.5rem - 0.75rem - 0.75rem - 0.75rem);
6134
+ }
6135
+ }
6011
6136
  .bs-vertical-nav :where(.bs-vertical-nav-section-toggle-caret) {
6012
6137
  height: 0.75rem;
6013
6138
  transform: none;
@@ -6054,6 +6179,24 @@ This must go last to properly override the other classes
6054
6179
  font-size: 0.875rem;
6055
6180
  padding-bottom: 0.5rem;
6056
6181
  padding-top: 0.5rem;
6182
+ /* nav width - nav left padding - nav right padding */
6183
+ width: calc(var(--bs-vertical-nav-width) - 0.5rem - 0.5rem);
6184
+ }
6185
+
6186
+ /* Text overflow - normal width - no icon */
6187
+ .bs-vertical-nav :where(ul li a:not(:has(.bs-vertical-nav-link-icon)) span:first-child) {
6188
+ overflow: hidden;
6189
+ text-overflow: ellipsis;
6190
+ /* nav width - nav left padding - nav right padding - link left padding - link right padding */
6191
+ width: calc(var(--bs-vertical-nav-width) - 0.5rem - 0.5rem - 0.75rem - 0.75rem);
6192
+ }
6193
+
6194
+ /* Text overflow - normal width - with icon */
6195
+ .bs-vertical-nav :where(ul li a:has(.bs-vertical-nav-link-icon) span:nth-child(2)) {
6196
+ overflow: hidden;
6197
+ text-overflow: ellipsis;
6198
+ /* nav width - nav left padding - nav right padding - link left padding - link right padding - icon width - icon gap */
6199
+ width: calc(var(--bs-vertical-nav-width) - 0.5rem - 0.5rem - 0.75rem - 0.75rem - 0.875rem - 0.5rem);
6057
6200
  }
6058
6201
 
6059
6202
  .bs-vertical-nav:where([data-narrow="true"]) :where(ul li a) {
@@ -6066,6 +6209,17 @@ This must go last to properly override the other classes
6066
6209
  padding-right: 0.25rem;
6067
6210
  padding-top: 0.75rem;
6068
6211
  text-align: center;
6212
+ /* nav width - nav left padding - nav right padding */
6213
+ width: calc(var(--bs-vertical-nav-narrow-width) - 0.5rem - 0.5rem);
6214
+ }
6215
+
6216
+ /* Text overflow - narrow width */
6217
+ .bs-vertical-nav:where([data-narrow="true"]) :where(ul li a:not(:has(.bs-vertical-nav-link-icon)) span:first-child),
6218
+ .bs-vertical-nav:where([data-narrow="true"]) :where(ul li a:has(.bs-vertical-nav-link-icon) span:nth-child(2)) {
6219
+ overflow: hidden;
6220
+ text-overflow: ellipsis;
6221
+ /* nav width - nav left padding - nav right padding - link left padding */
6222
+ width: calc(var(--bs-vertical-nav-narrow-width) - 0.5rem - 0.5rem);
6069
6223
  }
6070
6224
  }
6071
6225
  .bs-vertical-nav :where(ul li a:hover) {
@@ -6090,31 +6244,34 @@ This must go last to properly override the other classes
6090
6244
  width: 1rem;
6091
6245
  }
6092
6246
  }
6093
- /* ===== External Links ===== */
6094
- .bs-vertical-nav :where(.bs-vertical-nav-external-links) {
6247
+ /* ===== End Items ===== */
6248
+ .bs-vertical-nav :where(.bs-vertical-nav-end-items) {
6249
+ display: flex;
6250
+ flex-direction: column;
6251
+ gap: 0.25rem;
6095
6252
  margin-top: auto;
6096
- padding-top: 2.25rem;
6097
6253
  }
6098
- .bs-vertical-nav:where([data-narrow="true"]) :where(.bs-vertical-nav-external-links) {
6099
- display: none;
6254
+ .bs-vertical-nav :where(.bs-vertical-nav-end-items > *) {
6255
+ color: var(--bs-white);
6100
6256
  }
6101
- .bs-vertical-nav :where(.bs-vertical-nav-external-links .bs-vertical-nav-external-link-icon) {
6102
- height: 1rem;
6103
- width: 1rem;
6257
+ .bs-vertical-nav :where(.bs-vertical-nav-end-items > *:not(button)) {
6258
+ color: var(--bs-white);
6259
+ padding-bottom: 0.5rem;
6260
+ padding-left: 0.75rem;
6261
+ padding-right: 0.75rem;
6262
+ padding-top: 0.5rem;
6104
6263
  }
6105
6264
  @media (min-width: 1166px) {
6106
- .bs-vertical-nav :where(.bs-vertical-nav-external-links .bs-vertical-nav-external-link-icon) {
6107
- height: 0.875rem;
6108
- width: 0.875rem;
6265
+ .bs-vertical-nav :where(.bs-vertical-nav-end-items > *:not(button)) {
6266
+ font-size: 0.875rem;
6109
6267
  }
6110
6268
  }
6111
- /* ===== Slotted Items ===== */
6112
- .bs-vertical-nav :where(.bs-vertical-nav-slotted-items) {
6113
- margin-top: auto;
6114
- }
6115
- .bs-vertical-nav :where(.bs-vertical-nav-external-links ~ .bs-vertical-nav-slotted-items) {
6116
- margin-top: 1rem;
6269
+ .bs-vertical-nav :where(.bs-vertical-nav-end-items > button) {
6270
+ margin-bottom: 0.5rem;
6271
+ margin-left: 0.75rem;
6272
+ margin-right: 0.75rem;
6273
+ margin-top: 0.5rem;
6117
6274
  }
6118
- .bs-vertical-nav:where([data-narrow="true"]) :where(.bs-vertical-nav-slotted-items) {
6275
+ .bs-vertical-nav:where([data-narrow="true"]) :where(.bs-vertical-nav-end-items) {
6119
6276
  display: none;
6120
6277
  }