@wwtdev/bsds-css 3.0.0-rc.43 → 3.0.0-rc.45
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-components.css +262 -30
- package/dist/wwt-bsds-components.min.css +1 -1
- package/dist/wwt-bsds.css +262 -30
- package/dist/wwt-bsds.min.css +1 -1
- package/package.json +1 -1
package/dist/wwt-bsds.css
CHANGED
|
@@ -5195,6 +5195,7 @@ label:where(.bs-label) {
|
|
|
5195
5195
|
.bs-option {
|
|
5196
5196
|
padding: var(--bs-space-1) var(--bs-space-2);
|
|
5197
5197
|
color: var(--bs-ink-base);
|
|
5198
|
+
--description-color: var(--bs-ink-light);
|
|
5198
5199
|
cursor: pointer;
|
|
5199
5200
|
border-left: 4px solid transparent;
|
|
5200
5201
|
border-right: 4px solid transparent;
|
|
@@ -5212,12 +5213,14 @@ label:where(.bs-label) {
|
|
|
5212
5213
|
/* Don't disable via pointer-events, so tooltips still work in a disabled menu item. */
|
|
5213
5214
|
.bs-option:where([aria-disabled="true"]) {
|
|
5214
5215
|
color: var(--bs-ink-disabled);
|
|
5216
|
+
--description-color: var(--bs-ink-disabled);
|
|
5215
5217
|
cursor: default;
|
|
5216
5218
|
}
|
|
5217
5219
|
/* -- SELECTED -- */
|
|
5218
|
-
.bs-option:where(:not([aria-disabled="true"])):hover,
|
|
5219
|
-
.bs-
|
|
5220
|
+
.bs-option:where(:not([aria-disabled="true"], [data-negative="true"])):hover,
|
|
5221
|
+
.bs-option:where(:not([data-multiple="true"])[aria-selected="true"]) {
|
|
5220
5222
|
color: var(--bs-ink-primary);
|
|
5223
|
+
--description-color: var(--bs-ink-primary);
|
|
5221
5224
|
background: var(--bs-bg-medium-to-light);
|
|
5222
5225
|
border-left-color: var(--bs-ink-primary);
|
|
5223
5226
|
}
|
|
@@ -5230,16 +5233,62 @@ label:where(.bs-label) {
|
|
|
5230
5233
|
.bs-option:where([data-active="true"]) {
|
|
5231
5234
|
box-shadow: inset 0 0 0 2px var(--bs-primary-base);
|
|
5232
5235
|
}
|
|
5233
|
-
/* --
|
|
5234
|
-
.bs-
|
|
5236
|
+
/* -- NEGATIVE -- */
|
|
5237
|
+
.bs-option:where([data-negative="true"]:hover),
|
|
5238
|
+
.bs-option:where(:not([data-multiple="true"])[data-negative="true"][aria-selected="true"]) {
|
|
5239
|
+
color: var(--bs-ink-negative);
|
|
5240
|
+
background: var(--bs-negative-highlight);
|
|
5241
|
+
border-left-color: var(--bs-negative-base);
|
|
5242
|
+
--description-color: var(--bs-ink-negative);
|
|
5243
|
+
}
|
|
5244
|
+
.bs-option:where([data-negative="true"][aria-selected="true"]) :where(.bs-checkbox):before {
|
|
5245
|
+
--fill-bg-color: var(--bs-negative-base);
|
|
5246
|
+
}
|
|
5247
|
+
.bs-option:where([data-negative="true"][data-active="true"]) {
|
|
5248
|
+
box-shadow: inset 0 0 0 2px var(--bs-negative-base);
|
|
5249
|
+
}
|
|
5250
|
+
/* -- MULTIPLE -- */
|
|
5251
|
+
.bs-option:where([data-multiple="true"]) {
|
|
5235
5252
|
display: grid;
|
|
5236
5253
|
grid-template-columns: auto 1fr;
|
|
5237
5254
|
align-items: start;
|
|
5238
5255
|
gap: var(--bs-space-2);
|
|
5239
5256
|
}
|
|
5240
|
-
.bs-
|
|
5257
|
+
.bs-option:where([data-multiple="true"]) :where(.bs-checkbox) {
|
|
5241
5258
|
margin-top: var(--bs-space-1);
|
|
5242
5259
|
}
|
|
5260
|
+
/* -- VARIANTS -- */
|
|
5261
|
+
.bs-option-grid:where([data-icon-col="true"]) {
|
|
5262
|
+
display: grid;
|
|
5263
|
+
grid-template:
|
|
5264
|
+
"icon label"
|
|
5265
|
+
". description"
|
|
5266
|
+
/ auto 1fr;
|
|
5267
|
+
grid-column-gap: var(--bs-space-2);
|
|
5268
|
+
}
|
|
5269
|
+
.bs-option-grid:where(:not([data-icon-col="true"])) {
|
|
5270
|
+
display: grid;
|
|
5271
|
+
grid-template:
|
|
5272
|
+
"label"
|
|
5273
|
+
"description";
|
|
5274
|
+
}
|
|
5275
|
+
.bs-option-grid:where([data-icon-col="true"]) :where(:nth-child(1)) {
|
|
5276
|
+
grid-area: icon;
|
|
5277
|
+
align-self: center;
|
|
5278
|
+
max-width: 1.5rem;
|
|
5279
|
+
max-height: 1.5rem;
|
|
5280
|
+
}
|
|
5281
|
+
.bs-option-grid:where([data-icon-col="true"]) :where(:nth-child(2)),
|
|
5282
|
+
.bs-option-grid:where(:not([data-icon-col="true"])) :where(:nth-child(1)) {
|
|
5283
|
+
grid-area: label;
|
|
5284
|
+
}
|
|
5285
|
+
.bs-option-grid:where([data-icon-col="true"]) :where(:nth-child(3)),
|
|
5286
|
+
.bs-option-grid:where(:not([data-icon-col="true"])) :where(:nth-child(2)) {
|
|
5287
|
+
grid-area: description;
|
|
5288
|
+
font-size: var(--bs-text-xs);
|
|
5289
|
+
padding-top: 0.125rem;
|
|
5290
|
+
color: var(--description-color);
|
|
5291
|
+
}
|
|
5243
5292
|
.bs-overlay {
|
|
5244
5293
|
-webkit-backdrop-filter: blur(4px);
|
|
5245
5294
|
backdrop-filter: blur(4px);
|
|
@@ -6505,14 +6554,30 @@ a.bs-text-button {
|
|
|
6505
6554
|
--step-color: var(--bs-ink-negative);
|
|
6506
6555
|
--progress-step-bg: var(--bs-negative-base);
|
|
6507
6556
|
}
|
|
6508
|
-
|
|
6557
|
+
:root {
|
|
6558
|
+
--bs-vertical-nav-width: 9.875rem;
|
|
6559
|
+
--bs-vertical-nav-narrow-width: 4.5rem;
|
|
6560
|
+
--bs-vertical-nav-collapsed-width: 4rem;
|
|
6561
|
+
/* Dynamic width set by the navigation component for page layout */
|
|
6562
|
+
--bs-page-nav-width: 0px;
|
|
6563
|
+
}
|
|
6564
|
+
.bs-vertical-nav-wrapper {
|
|
6509
6565
|
--active-color: rgba(255, 255, 255, 0.25);
|
|
6510
6566
|
--bg-color: var(--bs-navy-base);
|
|
6511
6567
|
--border-color: var(--bs-border-dark);
|
|
6568
|
+
--text-color: var(--bs-white);
|
|
6569
|
+
--link-color: var(--bs-white);
|
|
6570
|
+
--link-hover-color: var(--bs-white);
|
|
6571
|
+
--link-active-color: var(--bs-white);
|
|
6572
|
+
--toggle-bg-color: var(--bg-color);
|
|
6573
|
+
--toggle-color: var(--bs-white);
|
|
6512
6574
|
--top-offset: 48px;
|
|
6575
|
+
}
|
|
6576
|
+
.bs-vertical-nav {
|
|
6513
6577
|
-ms-overflow-style: none; /* Internet Explorer 10+ */
|
|
6514
6578
|
background-color: var(--bg-color);
|
|
6515
|
-
|
|
6579
|
+
border-inline-end: 1px solid var(--border-color);
|
|
6580
|
+
color: var(--text-color);
|
|
6516
6581
|
display: flex;
|
|
6517
6582
|
flex-direction: column;
|
|
6518
6583
|
height: 100dvh;
|
|
@@ -6538,22 +6603,22 @@ a.bs-text-button {
|
|
|
6538
6603
|
opacity: 1;
|
|
6539
6604
|
visibility: visible;
|
|
6540
6605
|
}
|
|
6541
|
-
.
|
|
6606
|
+
.bs-vertical-nav:where([data-collapsible="true"]) {
|
|
6607
|
+
transition: opacity 200ms ease 10ms, width 350ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
6608
|
+
}
|
|
6609
|
+
.dark .bs-vertical-nav-wrapper {
|
|
6542
6610
|
--active-color: rgba(255, 255, 255, 0.25);
|
|
6543
6611
|
--bg-color: var(--bs-bg-base);
|
|
6544
|
-
--border-color: var(--bs-border-
|
|
6545
|
-
border-right: 1px solid var(--bs-border-medium);
|
|
6612
|
+
--border-color: var(--bs-border-medium);
|
|
6546
6613
|
}
|
|
6547
6614
|
@media (min-width: 1166px) {
|
|
6548
6615
|
.bs-vertical-nav {
|
|
6549
|
-
border-right: 1px solid var(--bg-color);
|
|
6550
6616
|
opacity: 1;
|
|
6551
6617
|
padding-bottom: 1rem;
|
|
6552
6618
|
padding-left: 0.5rem;
|
|
6553
6619
|
padding-right: 0.5rem;
|
|
6554
6620
|
padding-top: 1rem;
|
|
6555
6621
|
right: auto;
|
|
6556
|
-
transition: none;
|
|
6557
6622
|
visibility: visible;
|
|
6558
6623
|
width: var(--bs-vertical-nav-width);
|
|
6559
6624
|
}
|
|
@@ -6561,10 +6626,58 @@ a.bs-text-button {
|
|
|
6561
6626
|
.bs-vertical-nav:where([data-narrow="true"]) {
|
|
6562
6627
|
width: var(--bs-vertical-nav-narrow-width);
|
|
6563
6628
|
}
|
|
6629
|
+
|
|
6630
|
+
.bs-vertical-nav:where([data-collapsed="true"]) {
|
|
6631
|
+
width: var(--bs-vertical-nav-collapsed-width);
|
|
6632
|
+
}
|
|
6564
6633
|
}
|
|
6565
6634
|
.bs-vertical-nav::-webkit-scrollbar {
|
|
6566
6635
|
display: none; /* Safari and Chrome */
|
|
6567
6636
|
}
|
|
6637
|
+
/* ===== Collapse Toggle Button ===== */
|
|
6638
|
+
.bs-vertical-nav-toggle {
|
|
6639
|
+
align-items: center;
|
|
6640
|
+
background: var(--toggle-bg-color);
|
|
6641
|
+
border: 1px solid var(--border-color);
|
|
6642
|
+
border-radius: 100px;
|
|
6643
|
+
color: var(--toggle-color);
|
|
6644
|
+
cursor: pointer;
|
|
6645
|
+
display: none; /* Hidden by default on mobile */
|
|
6646
|
+
height: 24px;
|
|
6647
|
+
width: 24px;
|
|
6648
|
+
justify-content: center;
|
|
6649
|
+
padding: 0;
|
|
6650
|
+
position: fixed;
|
|
6651
|
+
left: calc(var(--bs-vertical-nav-width) - 0.5rem);
|
|
6652
|
+
pointer-events: auto; /* Ensure button is clickable */
|
|
6653
|
+
top: calc(var(--top-offset) + 3rem); /* top-offset + 3rem */
|
|
6654
|
+
transition: left 300ms ease-out, opacity 100ms ease-out;
|
|
6655
|
+
z-index: 1002; /* Above nav to prevent hover conflicts */
|
|
6656
|
+
}
|
|
6657
|
+
@media (min-width: 1166px) {
|
|
6658
|
+
.bs-vertical-nav-toggle {
|
|
6659
|
+
display: flex;
|
|
6660
|
+
opacity: 1;
|
|
6661
|
+
transition: left 300ms ease-out, opacity 100ms ease-out;
|
|
6662
|
+
}
|
|
6663
|
+
|
|
6664
|
+
.bs-vertical-nav-toggle:where([data-collapsed="true"]) {
|
|
6665
|
+
left: calc(var(--bs-vertical-nav-collapsed-width) - 0.5rem);
|
|
6666
|
+
}
|
|
6667
|
+
|
|
6668
|
+
/* Adjust position for narrow variant when NOT collapsed */
|
|
6669
|
+
.bs-vertical-nav-toggle:where([data-narrow="true"]:not([data-collapsed="true"])) {
|
|
6670
|
+
left: calc(var(--bs-vertical-nav-narrow-width) - 0.5rem);
|
|
6671
|
+
}
|
|
6672
|
+
}
|
|
6673
|
+
.bs-vertical-nav-toggle-icon {
|
|
6674
|
+
height: 8px;
|
|
6675
|
+
width: 8px;
|
|
6676
|
+
color: inherit;
|
|
6677
|
+
transition: transform 200ms var(--bs-transition-ease);
|
|
6678
|
+
will-change: transform;
|
|
6679
|
+
flex-shrink: 0;
|
|
6680
|
+
}
|
|
6568
6681
|
/* ===== Sections ===== */
|
|
6569
6682
|
.bs-vertical-nav :where(.bs-vertical-nav-section) {
|
|
6570
6683
|
border-top: 2px solid var(--border-color);
|
|
@@ -6576,6 +6689,10 @@ a.bs-text-button {
|
|
|
6576
6689
|
margin-top: 0.25rem;
|
|
6577
6690
|
}
|
|
6578
6691
|
}
|
|
6692
|
+
/* Divider-only sections have no additional padding since no toggle button */
|
|
6693
|
+
.bs-vertical-nav :where(.bs-vertical-nav-section[data-divider-only="true"]) {
|
|
6694
|
+
padding-top: 0.25rem;
|
|
6695
|
+
}
|
|
6579
6696
|
/* Don't show border if the very first item is a section */
|
|
6580
6697
|
.bs-vertical-nav :where(ul li:first-child) {
|
|
6581
6698
|
border-top: none;
|
|
@@ -6644,54 +6761,64 @@ a.bs-text-button {
|
|
|
6644
6761
|
.bs-vertical-nav :where(ul li a) {
|
|
6645
6762
|
align-items: center;
|
|
6646
6763
|
border-radius: 4px;
|
|
6647
|
-
color: var(--
|
|
6764
|
+
color: var(--link-color);
|
|
6648
6765
|
cursor: pointer;
|
|
6649
6766
|
display: flex;
|
|
6650
6767
|
font-size: 1rem;
|
|
6651
6768
|
font-weight: 400;
|
|
6652
6769
|
gap: 0.5rem;
|
|
6653
6770
|
height: 100%;
|
|
6654
|
-
padding
|
|
6655
|
-
|
|
6656
|
-
padding-right: 0.75rem;
|
|
6657
|
-
padding-top: 0.75rem;
|
|
6771
|
+
padding: 0.5rem 0.75rem;
|
|
6772
|
+
position: relative;
|
|
6658
6773
|
text-decoration: none;
|
|
6659
|
-
|
|
6774
|
+
}
|
|
6775
|
+
/* Narrow variant - text always visible on desktop (overrides collapsed state) */
|
|
6776
|
+
@media (min-width: 1166px) {
|
|
6777
|
+
.bs-vertical-nav:where([data-narrow="true"]) :where(ul li a > span:last-child) {
|
|
6778
|
+
opacity: 1;
|
|
6779
|
+
visibility: visible;
|
|
6780
|
+
width: auto;
|
|
6781
|
+
}
|
|
6660
6782
|
}
|
|
6661
6783
|
@media (min-width: 1166px) {
|
|
6662
6784
|
.bs-vertical-nav :where(ul li a) {
|
|
6663
6785
|
font-size: 0.875rem;
|
|
6664
|
-
|
|
6665
|
-
padding
|
|
6786
|
+
min-height: 2.5rem; /* Fixed minimum height to prevent height changes */
|
|
6787
|
+
padding: 0.5rem 0.75rem; /* Explicit padding for consistency */
|
|
6666
6788
|
/* nav width - nav left padding - nav right padding */
|
|
6667
6789
|
width: calc(var(--bs-vertical-nav-width) - 0.5rem - 0.5rem);
|
|
6668
6790
|
}
|
|
6669
6791
|
|
|
6792
|
+
/* Collapsed state width */
|
|
6793
|
+
.bs-vertical-nav:where([data-collapsed="true"]) :where(ul li a) {
|
|
6794
|
+
/* collapsed width - nav left padding - nav right padding */
|
|
6795
|
+
width: calc(var(--bs-vertical-nav-collapsed-width) - 0.5rem - 0.5rem);
|
|
6796
|
+
}
|
|
6797
|
+
|
|
6670
6798
|
/* Text overflow - normal width - no icon */
|
|
6671
6799
|
.bs-vertical-nav :where(ul li a:not(:has(.bs-vertical-nav-link-icon)) span:first-child) {
|
|
6672
6800
|
overflow: hidden;
|
|
6673
6801
|
text-overflow: ellipsis;
|
|
6802
|
+
white-space: nowrap;
|
|
6674
6803
|
/* nav width - nav left padding - nav right padding - link left padding - link right padding */
|
|
6675
|
-
width: calc(var(--bs-vertical-nav-width) - 0.5rem - 0.5rem
|
|
6804
|
+
width: calc(var(--bs-vertical-nav-width) - 0.5rem - 0.5rem - 0.75rem - 0.75rem);
|
|
6676
6805
|
}
|
|
6677
6806
|
|
|
6678
6807
|
/* Text overflow - normal width - with icon */
|
|
6679
6808
|
.bs-vertical-nav :where(ul li a:has(.bs-vertical-nav-link-icon) span:nth-child(2)) {
|
|
6680
6809
|
overflow: hidden;
|
|
6681
6810
|
text-overflow: ellipsis;
|
|
6811
|
+
white-space: nowrap;
|
|
6682
6812
|
/* nav width - nav left padding - nav right padding - link left padding - link right padding - icon width - icon gap */
|
|
6683
|
-
width: calc(var(--bs-vertical-nav-width) - 0.5rem - 0.5rem - 0.75rem - 0.75rem -
|
|
6813
|
+
width: calc(var(--bs-vertical-nav-width) - 0.5rem - 0.5rem - 0.75rem - 0.75rem - 1rem - 0.5rem);
|
|
6684
6814
|
}
|
|
6685
6815
|
|
|
6686
6816
|
.bs-vertical-nav:where([data-narrow="true"]) :where(ul li a) {
|
|
6687
6817
|
flex-direction: column;
|
|
6688
6818
|
font-size: 0.6875rem;
|
|
6689
|
-
gap: 0.
|
|
6819
|
+
gap: 0.5rem; /* 8px - matches Figma */
|
|
6690
6820
|
line-height: 1.3;
|
|
6691
|
-
padding
|
|
6692
|
-
padding-left: 0.25rem;
|
|
6693
|
-
padding-right: 0.25rem;
|
|
6694
|
-
padding-top: 0.75rem;
|
|
6821
|
+
padding: 0.5rem 0.75rem; /* 8px 12px - matches Figma */
|
|
6695
6822
|
text-align: center;
|
|
6696
6823
|
/* nav width - nav left padding - nav right padding */
|
|
6697
6824
|
width: calc(var(--bs-vertical-nav-narrow-width) - 0.5rem - 0.5rem);
|
|
@@ -6702,32 +6829,118 @@ a.bs-text-button {
|
|
|
6702
6829
|
.bs-vertical-nav:where([data-narrow="true"]) :where(ul li a:has(.bs-vertical-nav-link-icon) span:nth-child(2)) {
|
|
6703
6830
|
overflow: hidden;
|
|
6704
6831
|
text-overflow: ellipsis;
|
|
6832
|
+
white-space: nowrap;
|
|
6705
6833
|
/* nav width - nav left padding - nav right padding - link left padding */
|
|
6706
6834
|
width: calc(var(--bs-vertical-nav-narrow-width) - 0.5rem - 0.5rem);
|
|
6707
6835
|
}
|
|
6708
6836
|
}
|
|
6709
6837
|
.bs-vertical-nav :where(ul li a:hover) {
|
|
6838
|
+
color: var(--link-hover-color);
|
|
6710
6839
|
font-weight: 600;
|
|
6711
6840
|
}
|
|
6712
6841
|
.bs-vertical-nav :where(ul li a[data-active="true"]) {
|
|
6713
6842
|
background-color: var(--active-color);
|
|
6843
|
+
color: var(--link-active-color);
|
|
6714
6844
|
font-weight: 600;
|
|
6845
|
+
transition: background-color 200ms ease-out;
|
|
6715
6846
|
}
|
|
6847
|
+
/* Icon sizing - mobile/default */
|
|
6716
6848
|
.bs-vertical-nav :where(.bs-vertical-nav-link-icon) {
|
|
6717
6849
|
height: 1rem;
|
|
6718
6850
|
width: 1rem;
|
|
6851
|
+
flex-shrink: 0; /* Prevent icon from shrinking */
|
|
6719
6852
|
}
|
|
6720
6853
|
@media (min-width: 1166px) {
|
|
6721
|
-
|
|
6854
|
+
/* Wide and collapsible variant icons - 14px */
|
|
6855
|
+
.bs-vertical-nav:not([data-narrow="true"]) :where(.bs-vertical-nav-link-icon) {
|
|
6722
6856
|
height: 0.875rem;
|
|
6723
6857
|
width: 0.875rem;
|
|
6858
|
+
margin-left: 0.25rem; /* Visual centering adjustment */
|
|
6724
6859
|
}
|
|
6725
6860
|
|
|
6861
|
+
/* Narrow variant icons - 16px (inherits from base) */
|
|
6726
6862
|
.bs-vertical-nav:where([data-narrow="true"]) :where(.bs-vertical-nav-link-icon) {
|
|
6727
6863
|
height: 1rem;
|
|
6728
6864
|
width: 1rem;
|
|
6729
6865
|
}
|
|
6730
6866
|
}
|
|
6867
|
+
/* Default: Show text on mobile */
|
|
6868
|
+
.bs-vertical-nav :where(ul li a > span:last-child) {
|
|
6869
|
+
opacity: 1;
|
|
6870
|
+
visibility: visible;
|
|
6871
|
+
width: auto;
|
|
6872
|
+
}
|
|
6873
|
+
/* Desktop: Show text when NOT collapsed */
|
|
6874
|
+
@media (min-width: 1166px) {
|
|
6875
|
+
.bs-vertical-nav:not([data-collapsed="true"]) :where(ul li a > span:last-child) {
|
|
6876
|
+
opacity: 1;
|
|
6877
|
+
visibility: visible;
|
|
6878
|
+
width: auto;
|
|
6879
|
+
/* Immediate visibility when appropriate */
|
|
6880
|
+
transition: opacity 150ms ease, visibility 0ms linear;
|
|
6881
|
+
}
|
|
6882
|
+
}
|
|
6883
|
+
/* Desktop: Hide text when collapsed */
|
|
6884
|
+
@media (min-width: 1166px) {
|
|
6885
|
+
.bs-vertical-nav:where([data-collapsed="true"]) :where(ul li a > span:last-child) {
|
|
6886
|
+
opacity: 0;
|
|
6887
|
+
visibility: hidden;
|
|
6888
|
+
width: 0;
|
|
6889
|
+
overflow: hidden;
|
|
6890
|
+
white-space: nowrap;
|
|
6891
|
+
/* Delay visibility to prevent flash during breakpoint transition */
|
|
6892
|
+
transition: opacity 150ms ease, visibility 0ms linear 150ms;
|
|
6893
|
+
}
|
|
6894
|
+
}
|
|
6895
|
+
/* Keep icons visible when collapsed */
|
|
6896
|
+
.bs-vertical-nav:where([data-collapsed="true"]) :where(.bs-vertical-nav-link-icon) {
|
|
6897
|
+
display: block;
|
|
6898
|
+
}
|
|
6899
|
+
/* Hide section toggle when collapsed */
|
|
6900
|
+
.bs-vertical-nav:where([data-collapsed="true"]) :where(.bs-vertical-nav-section-toggle) {
|
|
6901
|
+
display: none;
|
|
6902
|
+
}
|
|
6903
|
+
/* ===== Hover Expansion (CSS-only) ===== */
|
|
6904
|
+
@media (min-width: 1166px) {
|
|
6905
|
+
/* Expand nav on hover when collapsed and collapsible - but NOT when hovering the toggle button */
|
|
6906
|
+
.bs-vertical-nav-wrapper:where(:hover:not(:has(.bs-vertical-nav-toggle:hover))) :where(.bs-vertical-nav[data-collapsed="true"][data-collapsible="true"]) {
|
|
6907
|
+
width: var(--bs-vertical-nav-width);
|
|
6908
|
+
}
|
|
6909
|
+
|
|
6910
|
+
/* Narrow variant should respect narrow width on hover */
|
|
6911
|
+
.bs-vertical-nav-wrapper:where(:hover:not(:has(.bs-vertical-nav-toggle:hover))) :where(.bs-vertical-nav[data-collapsed="true"][data-narrow="true"]) {
|
|
6912
|
+
width: var(--bs-vertical-nav-narrow-width);
|
|
6913
|
+
}
|
|
6914
|
+
|
|
6915
|
+
/* Expand link widths on hover when collapsed */
|
|
6916
|
+
.bs-vertical-nav-wrapper:where(:hover:not(:has(.bs-vertical-nav-toggle:hover))) :where(.bs-vertical-nav[data-collapsed="true"]) :where(ul li a) {
|
|
6917
|
+
width: calc(var(--bs-vertical-nav-width) - 0.5rem - 0.5rem);
|
|
6918
|
+
}
|
|
6919
|
+
|
|
6920
|
+
/* Narrow variant links should respect narrow width on hover */
|
|
6921
|
+
.bs-vertical-nav-wrapper:where(:hover:not(:has(.bs-vertical-nav-toggle:hover))) :where(.bs-vertical-nav[data-collapsed="true"][data-narrow="true"]) :where(ul li a) {
|
|
6922
|
+
width: calc(var(--bs-vertical-nav-narrow-width) - 0.5rem - 0.5rem);
|
|
6923
|
+
}
|
|
6924
|
+
|
|
6925
|
+
/* Show text on hover when collapsed */
|
|
6926
|
+
.bs-vertical-nav-wrapper:where(:hover:not(:has(.bs-vertical-nav-toggle:hover))) :where(.bs-vertical-nav[data-collapsed="true"]) :where(ul li a > span:last-child) {
|
|
6927
|
+
opacity: 1;
|
|
6928
|
+
visibility: visible;
|
|
6929
|
+
width: auto;
|
|
6930
|
+
overflow: visible;
|
|
6931
|
+
}
|
|
6932
|
+
|
|
6933
|
+
/* Hide toggle button on hover when collapsed - but NOT when hovering the button itself */
|
|
6934
|
+
.bs-vertical-nav-wrapper:where(:hover:not(:has(.bs-vertical-nav-toggle:hover))) :where(.bs-vertical-nav-toggle[data-collapsed="true"]) {
|
|
6935
|
+
opacity: 0;
|
|
6936
|
+
pointer-events: none; /* Prevent interaction when hidden */
|
|
6937
|
+
}
|
|
6938
|
+
|
|
6939
|
+
/* Show section toggles on hover when collapsed */
|
|
6940
|
+
.bs-vertical-nav-wrapper:where(:hover:not(:has(.bs-vertical-nav-toggle:hover))) :where(.bs-vertical-nav[data-collapsed="true"]) :where(.bs-vertical-nav-section-toggle) {
|
|
6941
|
+
display: flex;
|
|
6942
|
+
}
|
|
6943
|
+
}
|
|
6731
6944
|
/* ===== End Items ===== */
|
|
6732
6945
|
.bs-vertical-nav :where(.bs-vertical-nav-end-items) {
|
|
6733
6946
|
display: flex;
|
|
@@ -6735,11 +6948,23 @@ a.bs-text-button {
|
|
|
6735
6948
|
gap: 0.25rem;
|
|
6736
6949
|
margin-top: auto;
|
|
6737
6950
|
}
|
|
6951
|
+
/* End items visibility for collapsible variant (desktop only) */
|
|
6952
|
+
@media (min-width: 1166px) {
|
|
6953
|
+
/* Hide end items when collapsible variant is collapsed */
|
|
6954
|
+
.bs-vertical-nav:where([data-collapsible="true"][data-collapsed="true"]) :where(.bs-vertical-nav-end-items) {
|
|
6955
|
+
display: none;
|
|
6956
|
+
}
|
|
6957
|
+
|
|
6958
|
+
/* Show end items on hover when collapsible variant is collapsed */
|
|
6959
|
+
.bs-vertical-nav-wrapper:where(:hover:not(:has(.bs-vertical-nav-toggle:hover))) :where(.bs-vertical-nav[data-collapsible="true"][data-collapsed="true"]) :where(.bs-vertical-nav-end-items) {
|
|
6960
|
+
display: flex;
|
|
6961
|
+
}
|
|
6962
|
+
}
|
|
6738
6963
|
.bs-vertical-nav :where(.bs-vertical-nav-end-items > *) {
|
|
6739
|
-
color: var(--
|
|
6964
|
+
color: var(--text-color);
|
|
6740
6965
|
}
|
|
6741
6966
|
.bs-vertical-nav :where(.bs-vertical-nav-end-items > *:not(button)) {
|
|
6742
|
-
color: var(--
|
|
6967
|
+
color: var(--text-color);
|
|
6743
6968
|
padding-bottom: 0.5rem;
|
|
6744
6969
|
padding-left: 0.75rem;
|
|
6745
6970
|
padding-right: 0.75rem;
|
|
@@ -6756,9 +6981,16 @@ a.bs-text-button {
|
|
|
6756
6981
|
margin-right: 0.75rem;
|
|
6757
6982
|
margin-top: 0.5rem;
|
|
6758
6983
|
}
|
|
6984
|
+
/* Hide end items in narrow variant (all screen sizes) */
|
|
6759
6985
|
.bs-vertical-nav:where([data-narrow="true"]) :where(.bs-vertical-nav-end-items) {
|
|
6760
6986
|
display: none;
|
|
6761
6987
|
}
|
|
6988
|
+
/* ===== CSS-Only Page Layout Support ===== */
|
|
6989
|
+
/* Apply to any element that needs to adjust for navigation width (e.g., headers, main content) */
|
|
6990
|
+
.bs-header-with-nav {
|
|
6991
|
+
margin-inline-start: var(--bs-page-nav-width);
|
|
6992
|
+
transition: margin-inline-start 350ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
6993
|
+
}
|
|
6762
6994
|
/*
|
|
6763
6995
|
POP SYSTEM COMPONENTS
|
|
6764
6996
|
Components that are built on top of BsPopover. The popover.css must come first.
|