blue-web 1.17.5 → 1.17.7

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/merged.scss CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Blue Web v1.17.5 (https://bruegmann.github.io/blue-web)
2
+ * Blue Web v1.17.7 (https://bruegmann.github.io/blue-web)
3
3
  * Licensed under GNU General Public License v3.0 (https://github.com/bruegmann/blue-web/blob/master/LICENSE).
4
4
  */
5
5
 
@@ -3708,9 +3708,9 @@ $sidebar-deep-bg: darken($sidebar-bg, 4%) !default;
3708
3708
  $sidebar-color: color-contrast($sidebar-bg, $gray-900) !default;
3709
3709
  $sidebar-color-dark: color-contrast($sidebar-bg-dark, $gray-900) !default;
3710
3710
 
3711
- // Color of indicator for active sidebar item.
3712
- $sidebar-indicator-color: #{var(--bs-primary)} !default;
3713
- $sidebar-indicator-color-dark: #{var(--bs-primary-text-emphasis)} !default;
3711
+ // Color of indicator for active menu item in sidebar.
3712
+ $sidebar-indicator-color: $primary !default;
3713
+ $sidebar-indicator-color-dark: $white !default;
3714
3714
 
3715
3715
  // Background of search control in sidebar.
3716
3716
  $sidebar-search-bg: $input-bg !default;
@@ -3796,126 +3796,142 @@ $sidebar-expanded-breakpoint: 1400px !default;
3796
3796
  backdrop-filter: blur(3px) saturate(125%);
3797
3797
  }
3798
3798
 
3799
- @mixin blue-menu-item-indicator() {
3800
- content: "";
3801
- position: absolute;
3802
- top: 0.625rem;
3803
- bottom: 0.625rem;
3804
- left: 0.125rem;
3805
- right: initial;
3806
- width: 0.25rem;
3807
- height: auto;
3808
- background-color: var(--blue-menu-item-indicator-bg);
3809
- border-radius: 1rem;
3810
- animation: blue-menu-item-indicator-in-from-side 0.2s ease-in-out;
3811
-
3812
- @media (prefers-reduced-motion) {
3813
- animation-duration: 0s;
3814
- }
3815
- }
3816
-
3817
- @mixin blue-menu-item-indicator-horizontal() {
3818
- top: initial;
3819
- bottom: 0.125rem;
3820
- left: 0.625rem;
3821
- right: 0.625rem;
3822
- width: auto;
3823
- height: 0.25rem;
3824
- animation: blue-menu-item-indicator-in-from-below 0.2s ease-in-out;
3825
-
3826
- @media (prefers-reduced-motion) {
3827
- animation-duration: 0s;
3828
- }
3829
- }
3830
-
3831
- @mixin blue-menu-item-dropdown-for-shrunk-sidebar() {
3832
- & > .blue-menu-item-wrapper {
3833
- display: block;
3834
- position: relative;
3835
-
3836
- &:not(:has(.blue-menu-item-dropdown)) > .blue-menu-item:hover {
3837
- .blue-menu-item-label {
3838
- &::before,
3839
- & {
3840
- animation: tips-horz 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
3841
-
3842
- @media (prefers-reduced-motion) {
3843
- animation-duration: 0s;
3844
- }
3845
- }
3846
-
3847
- &::before {
3848
- content: "";
3849
- display: block;
3850
- position: absolute;
3851
- border: 5px solid transparent;
3852
- z-index: 1001;
3853
-
3854
- top: 50%;
3855
- border-left-width: 0;
3856
- border-right-color: var(--bs-tooltip-bg, #353539);
3857
- left: calc(0em - 5px);
3858
- transform: translate(0.5em, -50%);
3859
- opacity: 0;
3860
- }
3861
-
3862
- display: block;
3863
- text-transform: none;
3864
- line-height: 1;
3865
- font-size: 0.9em;
3866
- -webkit-user-select: none;
3867
- user-select: none;
3868
- pointer-events: none;
3869
- position: absolute;
3870
- font-family: var(--bs-font-sans-serif);
3871
- text-align: center;
3872
- min-width: 3em;
3873
- max-width: var(--bs-tooltip-max-width, 21em);
3874
- padding: var(--bs-tooltip-padding-y, 1ch) var(--bs-tooltip-padding-x, 1.5ch);
3875
- border-radius: var(--bs-tooltip-border-radius, 0.3em);
3876
- box-shadow: 0 1em 2em -0.5em rgba(0, 0, 0, 0.35);
3877
- background: var(--bs-tooltip-bg, #353539);
3878
- color: var(--bs-tooltip-color, #fff);
3879
- z-index: 1000;
3880
- width: auto;
3881
- top: 50%;
3882
- left: calc(100% + 5px);
3883
- transform: translate(-0.5em, -50%);
3884
- overflow: visible;
3885
- opacity: 0;
3886
- }
3887
- }
3888
-
3889
- & > .blue-menu-item-dropdown,
3890
- & > .blue-outside > .blue-menu-item-dropdown {
3891
- @extend .ms-1;
3892
- @extend .rounded;
3893
- @extend .shadow;
3894
- @extend .blue-menu-item-dropdown-from-start;
3895
- @extend .blue-sidebar-state;
3896
- @extend .open;
3897
-
3898
- position: absolute;
3899
- top: 0;
3900
- width: $bla-sidebar-width;
3901
- left: $normal-size;
3902
- max-height: calc(100vh - (var(--offset-top, 0px) + 1rem));
3903
- overflow-y: auto;
3904
- overflow-x: hidden;
3905
- background-color: var(--blue-sidebar-bg);
3906
-
3907
- &::before {
3908
- content: none;
3909
- }
3910
- }
3911
-
3912
- &:has(.blue-menu-item-dropdown) {
3913
- & > .blue-menu-item {
3914
- @extend .highlighted;
3915
- }
3916
- }
3917
- }
3918
- }
3799
+ @mixin blue-menu-item-background() {
3800
+ content: "";
3801
+ position: absolute;
3802
+ top: 0.125rem;
3803
+ right: 0.125rem;
3804
+ bottom: 0.125rem;
3805
+ left: 0.125rem;
3806
+ background-color: currentColor;
3807
+ border-radius: $border-radius;
3808
+ transform: scale(0.9);
3809
+ opacity: 0;
3810
+ transition: all 0.2s;
3811
+
3812
+ @media (prefers-reduced-motion) {
3813
+ transition: none;
3814
+ }
3815
+ }
3816
+
3817
+ @mixin blue-menu-item-indicator() {
3818
+ content: "";
3819
+ position: absolute;
3820
+ top: 0.625rem;
3821
+ bottom: 0.625rem;
3822
+ left: 0.125rem;
3823
+ right: initial;
3824
+ width: 0.25rem;
3825
+ height: auto;
3826
+ background-color: var(--blue-menu-item-indicator-bg);
3827
+ border-radius: 1rem;
3828
+ animation: blue-menu-item-indicator-in-from-side 0.2s ease-in-out;
3829
+
3830
+ @media (prefers-reduced-motion) {
3831
+ animation-duration: 0s;
3832
+ }
3833
+ }
3834
+
3835
+ @mixin blue-menu-item-indicator-horizontal() {
3836
+ top: initial;
3837
+ bottom: 0.125rem;
3838
+ left: 0.625rem;
3839
+ right: 0.625rem;
3840
+ width: auto;
3841
+ height: 0.25rem;
3842
+ animation: blue-menu-item-indicator-in-from-below 0.2s ease-in-out;
3843
+
3844
+ @media (prefers-reduced-motion) {
3845
+ animation-duration: 0s;
3846
+ }
3847
+ }
3848
+
3849
+ @mixin blue-menu-item-dropdown-for-shrunk-sidebar() {
3850
+ & > .blue-menu-item-wrapper {
3851
+ display: block;
3852
+ position: relative;
3853
+
3854
+ &:not(:has(.blue-menu-item-dropdown)) > .blue-menu-item:hover {
3855
+ .blue-menu-item-label {
3856
+ &::before,
3857
+ & {
3858
+ animation: tips-horz 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
3859
+
3860
+ @media (prefers-reduced-motion) {
3861
+ animation-duration: 0s;
3862
+ }
3863
+ }
3864
+
3865
+ &::before {
3866
+ content: "";
3867
+ display: block;
3868
+ position: absolute;
3869
+ border: 5px solid transparent;
3870
+ z-index: 1001;
3871
+
3872
+ top: 50%;
3873
+ border-left-width: 0;
3874
+ border-right-color: var(--bs-tooltip-bg, #353539);
3875
+ left: calc(0em - 5px);
3876
+ transform: translate(0.5em, -50%);
3877
+ opacity: 0;
3878
+ }
3879
+
3880
+ display: block;
3881
+ text-transform: none;
3882
+ line-height: 1;
3883
+ font-size: 0.9em;
3884
+ -webkit-user-select: none;
3885
+ user-select: none;
3886
+ pointer-events: none;
3887
+ position: absolute;
3888
+ font-family: var(--bs-font-sans-serif);
3889
+ text-align: center;
3890
+ min-width: 3em;
3891
+ max-width: var(--bs-tooltip-max-width, 21em);
3892
+ padding: var(--bs-tooltip-padding-y, 1ch) var(--bs-tooltip-padding-x, 1.5ch);
3893
+ border-radius: var(--bs-tooltip-border-radius, 0.3em);
3894
+ box-shadow: 0 1em 2em -0.5em rgba(0, 0, 0, 0.35);
3895
+ background: var(--bs-tooltip-bg, #353539);
3896
+ color: var(--bs-tooltip-color, #fff);
3897
+ z-index: 1000;
3898
+ width: auto;
3899
+ top: 50%;
3900
+ left: calc(100% + 5px);
3901
+ transform: translate(-0.5em, -50%);
3902
+ overflow: visible;
3903
+ opacity: 0;
3904
+ }
3905
+ }
3906
+
3907
+ & > .blue-menu-item-dropdown,
3908
+ & > .blue-outside > .blue-menu-item-dropdown {
3909
+ @extend .ms-1;
3910
+ @extend .rounded;
3911
+ @extend .shadow;
3912
+ @extend .blue-menu-item-dropdown-from-start;
3913
+
3914
+ position: absolute;
3915
+ top: 0;
3916
+ width: $bla-sidebar-width;
3917
+ left: $normal-size;
3918
+ max-height: calc(100vh - (var(--offset-top, 0px) + 1rem));
3919
+ overflow-y: auto;
3920
+ overflow-x: hidden;
3921
+ background-color: var(--blue-sidebar-bg);
3922
+
3923
+ &::before {
3924
+ content: none;
3925
+ }
3926
+ }
3927
+
3928
+ &:has(.blue-menu-item-dropdown) {
3929
+ & > .blue-menu-item {
3930
+ @extend .highlighted;
3931
+ }
3932
+ }
3933
+ }
3934
+ }
3919
3935
 
3920
3936
  @mixin show-action-menu-again() {
3921
3937
  max-height: initial;
@@ -11070,199 +11086,185 @@ body {
11070
11086
  animation-delay: -1s;
11071
11087
  }
11072
11088
 
11073
- @keyframes blue-menu-item-indicator-in-from-side {
11074
- from {
11075
- transform: translateX(-100%);
11076
- }
11077
- to {
11078
- transform: translateX(1);
11079
- }
11080
- }
11081
-
11082
- @keyframes blue-menu-item-indicator-in-from-below {
11083
- from {
11084
- transform: translateY(100%);
11085
- }
11086
- to {
11087
- transform: translateY(1);
11088
- }
11089
- }
11090
-
11091
- .blue-menu-item {
11092
- transition:
11093
- width 0.5s,
11094
- background-color 0.3s,
11095
- color 0.15s,
11096
- box-shadow 0.3s,
11097
- opacity 0.3s !important;
11098
-
11099
- @media (prefers-reduced-motion) {
11100
- transition: none !important;
11101
- }
11102
-
11103
- border: none;
11104
- box-shadow: none;
11105
- background-image: none;
11106
-
11107
- &:focus {
11108
- box-shadow: none;
11109
- }
11110
-
11111
- &:focus-visible {
11112
- &,
11113
- &.active {
11114
- box-shadow: inset 0 0 0 0.25rem color-mix(in srgb, currentColor 15%, transparent);
11115
- }
11116
- }
11117
- }
11118
-
11119
- .blue-menu-item-icon {
11120
- display: inline-block;
11121
-
11122
- & > * {
11123
- display: block;
11124
- width: 1.5rem;
11125
- }
11126
- }
11127
-
11128
- .blue-menu-item-icon.iconForActive {
11129
- display: none;
11130
- }
11131
-
11132
- .blue-menu-item.active {
11133
- .blue-menu-item-icon.hasIconForActive {
11134
- display: none;
11135
- }
11136
- .blue-menu-item-icon.iconForActive {
11137
- display: inline-block;
11138
- }
11139
- }
11140
-
11141
- .blue-menu-item-dropdown {
11142
- margin-left: 1rem;
11143
- animation: blue-menu-item-dropdown 0.15s;
11144
-
11145
- @media (prefers-reduced-motion) {
11146
- animation-duration: 0s;
11147
- }
11148
-
11149
- position: relative;
11150
-
11151
- &::before {
11152
- content: "";
11153
- position: absolute;
11154
- top: 0.125rem;
11155
- right: 0.125rem;
11156
- bottom: 0.125rem;
11157
- left: 0.125rem;
11158
- border-radius: $border-radius;
11159
- box-shadow: $box-shadow;
11160
- border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
11161
- background-color: var(--blue-menu-item-dropdown-bg);
11162
- }
11163
-
11164
- &[popover] {
11165
- position: fixed;
11166
- margin: 0;
11167
- padding: 0;
11168
- z-index: 1000;
11169
- border: none;
11170
- background: transparent;
11171
- border-radius: calc(#{$border-radius} + 0.1rem);
11172
- box-shadow: $box-shadow;
11173
- }
11174
- }
11175
-
11176
- .blue-menu-item-dropdown-caret.blue-caret {
11177
- display: none;
11178
- position: absolute;
11179
- right: 1.5rem;
11180
- top: 50%;
11181
- transform: translateY(-50%);
11182
- align-items: center;
11183
- }
11184
-
11185
- .blue-menu-item {
11186
- color: inherit;
11187
- width: auto;
11188
- height: $normal-size;
11189
- font-size: $bla-btn-font-size;
11190
- display: flex;
11191
- align-items: center;
11192
- border-color: transparent;
11193
- --bs-btn-padding-x: 0.437rem;
11194
- @include slide-transition();
11195
-
11196
- &::before {
11197
- content: "";
11198
- position: absolute;
11199
- top: 0.125rem;
11200
- right: 0.125rem;
11201
- bottom: 0.125rem;
11202
- left: 0.125rem;
11203
- background-color: currentColor;
11204
- border-radius: $border-radius;
11205
- transform: scale(0.9);
11206
- opacity: 0;
11207
- transition: all 0.2s;
11208
-
11209
- @media (prefers-reduced-motion) {
11210
- transition: none;
11211
- }
11212
- }
11213
-
11214
- &[draggable] {
11215
- cursor: grab;
11216
-
11217
- &:active {
11218
- box-shadow: inset 0 0 0.25rem;
11219
- }
11220
- }
11221
-
11222
- &:hover,
11223
- &:active,
11224
- &.highlighted,
11225
- &:has(+ :popover-open) {
11226
- color: inherit;
11227
- border-color: transparent;
11228
-
11229
- &::before {
11230
- transform: scale(1);
11231
- opacity: 0.25;
11232
- }
11233
- }
11234
-
11235
- &.highlighted,
11236
- &:has(+ :popover-open) {
11237
- &::before {
11238
- opacity: 0.16;
11239
- }
11240
- }
11241
-
11242
- &:hover,
11243
- &:active {
11244
- &::before {
11245
- opacity: 0.25;
11246
- }
11247
- }
11248
-
11249
- &.active::after {
11250
- @include blue-menu-item-indicator();
11251
- }
11252
-
11253
- & > * + .blue-menu-item-label {
11254
- margin-left: 0.5rem;
11255
- }
11256
- }
11257
-
11258
- .blue-menu-item-wrapper {
11259
- display: contents;
11260
- }
11261
-
11262
- .blue-menu-item-dropdown > .blue-menu-item-wrapper > .blue-menu-item,
11263
- .blue-menu-item-dropdown > .blue-menu-item {
11264
- width: 100%;
11265
- }
11089
+ @keyframes blue-menu-item-indicator-in-from-side {
11090
+ from {
11091
+ transform: translateX(-100%);
11092
+ }
11093
+ to {
11094
+ transform: translateX(1);
11095
+ }
11096
+ }
11097
+
11098
+ @keyframes blue-menu-item-indicator-in-from-below {
11099
+ from {
11100
+ transform: translateY(100%);
11101
+ }
11102
+ to {
11103
+ transform: translateY(1);
11104
+ }
11105
+ }
11106
+
11107
+ .blue-menu-item {
11108
+ transition:
11109
+ width 0.5s,
11110
+ background-color 0.3s,
11111
+ color 0.15s,
11112
+ box-shadow 0.3s,
11113
+ opacity 0.3s !important;
11114
+
11115
+ @media (prefers-reduced-motion) {
11116
+ transition: none !important;
11117
+ }
11118
+
11119
+ border: none;
11120
+ box-shadow: none;
11121
+ background-image: none;
11122
+
11123
+ &:focus {
11124
+ box-shadow: none;
11125
+ }
11126
+
11127
+ &:focus-visible {
11128
+ &,
11129
+ &.active {
11130
+ box-shadow: inset 0 0 0 0.25rem color-mix(in srgb, currentColor 15%, transparent);
11131
+ }
11132
+ }
11133
+ }
11134
+
11135
+ .blue-menu-item-icon {
11136
+ display: inline-block;
11137
+
11138
+ & > * {
11139
+ display: block;
11140
+ width: 1.5rem;
11141
+ }
11142
+ }
11143
+
11144
+ .blue-menu-item-icon.iconForActive {
11145
+ display: none;
11146
+ }
11147
+
11148
+ .blue-menu-item.active {
11149
+ .blue-menu-item-icon.hasIconForActive {
11150
+ display: none;
11151
+ }
11152
+ .blue-menu-item-icon.iconForActive {
11153
+ display: inline-block;
11154
+ }
11155
+ }
11156
+
11157
+ .blue-menu-item-dropdown {
11158
+ margin-left: 1rem;
11159
+ animation: blue-menu-item-dropdown 0.15s;
11160
+
11161
+ @media (prefers-reduced-motion) {
11162
+ animation-duration: 0s;
11163
+ }
11164
+
11165
+ position: relative;
11166
+
11167
+ &::before {
11168
+ content: "";
11169
+ position: absolute;
11170
+ top: 0.125rem;
11171
+ right: 0.125rem;
11172
+ bottom: 0.125rem;
11173
+ left: 0.125rem;
11174
+ border-radius: $border-radius;
11175
+ box-shadow: $box-shadow;
11176
+ border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
11177
+ background-color: var(--blue-menu-item-dropdown-bg);
11178
+ }
11179
+
11180
+ &[popover] {
11181
+ position: fixed;
11182
+ margin: 0;
11183
+ padding: 0;
11184
+ z-index: 1000;
11185
+ border: none;
11186
+ background: transparent;
11187
+ border-radius: calc(#{$border-radius} + 0.1rem);
11188
+ box-shadow: $box-shadow;
11189
+ }
11190
+ }
11191
+
11192
+ .blue-menu-item-dropdown-caret.blue-caret {
11193
+ display: none;
11194
+ position: absolute;
11195
+ right: 1.5rem;
11196
+ top: 50%;
11197
+ transform: translateY(-50%);
11198
+ align-items: center;
11199
+ }
11200
+
11201
+ .blue-menu-item {
11202
+ color: inherit;
11203
+ width: auto;
11204
+ height: $normal-size;
11205
+ font-size: $bla-btn-font-size;
11206
+ display: flex;
11207
+ align-items: center;
11208
+ border-color: transparent;
11209
+ --bs-btn-padding-x: 0.437rem;
11210
+ @include slide-transition();
11211
+
11212
+ &::before {
11213
+ @include blue-menu-item-background();
11214
+ }
11215
+
11216
+ &[draggable] {
11217
+ cursor: grab;
11218
+
11219
+ &:active {
11220
+ box-shadow: inset 0 0 0.25rem;
11221
+ }
11222
+ }
11223
+
11224
+ &:hover,
11225
+ &:active,
11226
+ &.highlighted,
11227
+ &:has(+ :popover-open) {
11228
+ color: inherit;
11229
+ border-color: transparent;
11230
+
11231
+ &::before {
11232
+ transform: scale(1);
11233
+ opacity: 0.25;
11234
+ }
11235
+ }
11236
+
11237
+ &.highlighted,
11238
+ &:has(+ :popover-open) {
11239
+ &::before {
11240
+ opacity: 0.16;
11241
+ }
11242
+ }
11243
+
11244
+ &:hover,
11245
+ &:active {
11246
+ &::before {
11247
+ opacity: 0.25;
11248
+ }
11249
+ }
11250
+
11251
+ &.active::after {
11252
+ @include blue-menu-item-indicator();
11253
+ }
11254
+
11255
+ & > * + .blue-menu-item-label {
11256
+ margin-left: 0.5rem;
11257
+ }
11258
+ }
11259
+
11260
+ .blue-menu-item-wrapper {
11261
+ display: contents;
11262
+ }
11263
+
11264
+ .blue-menu-item-dropdown > .blue-menu-item-wrapper > .blue-menu-item,
11265
+ .blue-menu-item-dropdown > .blue-menu-item {
11266
+ width: 100%;
11267
+ }
11266
11268
 
11267
11269
  .blue-header {
11268
11270
  @include header-bg();
@@ -11846,86 +11848,94 @@ body {
11846
11848
  @include make-grid-columns-cq();
11847
11849
  }
11848
11850
 
11849
- // Customize style of Bootstrap's nav-underline
11850
- .nav-underline {
11851
- .nav-link {
11852
- --#{$prefix}nav-link-color: var(--#{$prefix}list-group-action-color);
11853
- }
11854
-
11855
- .nav-link:hover,
11856
- .nav-link:focus {
11857
- border-bottom-color: transparent;
11858
- }
11859
-
11860
- .nav-link.active,
11861
- .show > .nav-link,
11862
- .blue-tab:checked {
11863
- &::after {
11864
- @include blue-menu-item-indicator();
11865
- @include blue-menu-item-indicator-horizontal();
11866
- }
11867
-
11868
- position: relative;
11869
- font-weight: var(--blue-tabs-underline-active-font-weight, $font-weight-base);
11870
- border-bottom-color: transparent;
11871
- color: var(--bs-nav-underline-link-active-color);
11872
- }
11873
- }
11874
-
11875
- .nav-underline .blue-tabs {
11876
- display: flex;
11877
- flex-wrap: wrap;
11878
- flex-direction: row;
11879
- }
11880
-
11881
- .blue-tab {
11882
- // Unsetting to solve issues in Safari
11883
- width: unset;
11884
- height: unset;
11885
- border-radius: unset;
11886
-
11887
- position: relative;
11888
- order: 0;
11889
- user-select: none;
11890
- -webkit-appearance: none;
11891
- appearance: none;
11892
-
11893
- @if ($enable-button-pointers) {
11894
- cursor: pointer;
11895
- }
11896
- }
11897
-
11898
- .blue-tab::before {
11899
- content: attr(aria-label);
11900
- }
11901
-
11902
- .blue-tab-content {
11903
- display: none;
11904
- order: 1;
11905
- width: 100%;
11906
- }
11907
-
11908
- input.blue-tab:checked + .blue-tab-content {
11909
- display: block;
11910
- }
11911
-
11912
- .blue-tabs.nav-tabs {
11913
- border-bottom: none;
11914
-
11915
- .blue-tab-content {
11916
- border-top: var(--#{$prefix}nav-tabs-border-width) solid var(--#{$prefix}nav-tabs-border-color);
11917
- }
11918
-
11919
- .blue-tab:checked {
11920
- color: var(--bs-nav-tabs-link-active-color);
11921
- background-color: var(--bs-nav-tabs-link-active-bg);
11922
- border-color: var(--bs-nav-tabs-link-active-border-color);
11923
- }
11924
- }
11925
-
11926
- .blue-tabs.nav-underline {
11927
- row-gap: 0;
11928
- }
11851
+ // Customize style of Bootstrap's nav-underline
11852
+ .nav-underline {
11853
+ .nav-link {
11854
+ --#{$prefix}nav-link-color: var(--#{$prefix}list-group-action-color);
11855
+ }
11856
+
11857
+ .nav-link:hover,
11858
+ .nav-link:focus {
11859
+ &::after {
11860
+ @include blue-menu-item-indicator();
11861
+ @include blue-menu-item-indicator-horizontal();
11862
+ opacity: 0.25;
11863
+ }
11864
+
11865
+ position: relative;
11866
+ border-bottom-color: transparent;
11867
+ }
11868
+
11869
+ .nav-link.active,
11870
+ .show > .nav-link,
11871
+ .blue-tab:checked {
11872
+ &::after {
11873
+ @include blue-menu-item-indicator();
11874
+ @include blue-menu-item-indicator-horizontal();
11875
+ opacity: 1;
11876
+ }
11877
+
11878
+ position: relative;
11879
+ font-weight: var(--blue-tabs-underline-active-font-weight, $font-weight-base);
11880
+ border-bottom-color: transparent;
11881
+ color: currentColor;
11882
+ }
11883
+ }
11884
+
11885
+ .nav-underline .blue-tabs {
11886
+ display: flex;
11887
+ flex-wrap: wrap;
11888
+ flex-direction: row;
11889
+ }
11890
+
11891
+ .blue-tab {
11892
+ // Unsetting to solve issues in Safari
11893
+ width: unset;
11894
+ height: unset;
11895
+ border-radius: unset;
11896
+
11897
+ position: relative;
11898
+ order: 0;
11899
+ user-select: none;
11900
+ -webkit-appearance: none;
11901
+ appearance: none;
11902
+
11903
+ @if ($enable-button-pointers) {
11904
+ cursor: pointer;
11905
+ }
11906
+ }
11907
+
11908
+ .blue-tab::before {
11909
+ content: attr(aria-label);
11910
+ }
11911
+
11912
+ .blue-tab-content {
11913
+ display: none;
11914
+ order: 1;
11915
+ width: 100%;
11916
+ }
11917
+
11918
+ input.blue-tab:checked + .blue-tab-content {
11919
+ display: block;
11920
+ }
11921
+
11922
+ .blue-tabs.nav-tabs {
11923
+ border-bottom: none;
11924
+
11925
+ .blue-tab-content {
11926
+ border-top: var(--#{$prefix}nav-tabs-border-width) solid var(--#{$prefix}nav-tabs-border-color);
11927
+ }
11928
+
11929
+ .blue-tab:checked {
11930
+ color: var(--bs-nav-tabs-link-active-color);
11931
+ background-color: var(--bs-nav-tabs-link-active-bg);
11932
+ border-color: var(--bs-nav-tabs-link-active-border-color);
11933
+ }
11934
+ }
11935
+
11936
+ .blue-tabs.nav-underline {
11937
+ row-gap: 0;
11938
+ }
11929
11939
 
11930
11940
  /**
11931
11941
  * Allows to use Bootstrap Modals but with the native dialog element
@@ -12068,6 +12078,9 @@ dialog.blue-modal:has(.offcanvas-start) {
12068
12078
  --side-width: var(--blue-sidebar-width);
12069
12079
  --toggler-size: var(--blue-menu-item-height);
12070
12080
 
12081
+ --blue-menu-item-indicator-bg: #{color-contrast($sidebar-bg, $sidebar-indicator-color)};
12082
+ --bs-link-hover-color: #{color-contrast($sidebar-bg, $link-hover-color)};
12083
+
12071
12084
  height: 100dvh;
12072
12085
  position: relative;
12073
12086
  display: grid;
@@ -12087,6 +12100,13 @@ dialog.blue-modal:has(.offcanvas-start) {
12087
12100
  }
12088
12101
  }
12089
12102
 
12103
+ @include color-mode(dark, false) {
12104
+ .blue-layout {
12105
+ --blue-menu-item-indicator-bg: #{$sidebar-indicator-color-dark};
12106
+ --bs-link-hover-color: #{color-contrast($sidebar-bg, $link-hover-color-dark)};
12107
+ }
12108
+ }
12109
+
12090
12110
  @media (width >= 64rem) {
12091
12111
  .blue-layout {
12092
12112
  &:has(> .blue-layout-state-expand:checked) {
@@ -12145,6 +12165,7 @@ dialog.blue-modal:has(.offcanvas-start) {
12145
12165
  .blue-layout-side {
12146
12166
  grid-area: side;
12147
12167
  overflow: auto;
12168
+ background: inherit;
12148
12169
  }
12149
12170
 
12150
12171
  @media (width < 64rem) {
@@ -12168,22 +12189,32 @@ dialog.blue-modal:has(.offcanvas-start) {
12168
12189
  .blue-layout-main {
12169
12190
  overflow: auto;
12170
12191
  grid-area: main;
12171
- // grid-column-start: 2;
12172
12192
  }
12173
12193
 
12174
12194
  .blue-layout-body {
12175
12195
  --spacing: 0.25rem;
12196
+ --blue-menu-item-indicator-bg: #{$sidebar-indicator-color};
12197
+ --bs-link-hover-color: #{$link-hover-color};
12198
+
12176
12199
  width: calc(100% - var(--spacing) * 2);
12177
12200
  height: calc(100% - var(--spacing));
12178
12201
  margin-left: auto;
12179
12202
  margin-right: auto;
12180
12203
  overflow: auto;
12181
12204
  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity, 1));
12205
+ color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity, 1));
12182
12206
  box-shadow: var(--bs-box-shadow-sm);
12183
12207
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
12184
12208
  border-radius: var(--bs-border-radius-lg);
12185
12209
  }
12186
12210
 
12211
+ @include color-mode(dark, false) {
12212
+ .blue-layout-body {
12213
+ --blue-menu-item-indicator-bg: #{$sidebar-indicator-color-dark};
12214
+ --bs-link-hover-color: #{$link-hover-color-dark};
12215
+ }
12216
+ }
12217
+
12187
12218
  .blue-layout-overlay {
12188
12219
  position: fixed;
12189
12220
  z-index: var(--base-z-index);