blue-web 1.17.6 → 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.6 (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,124 +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
-
3896
- position: absolute;
3897
- top: 0;
3898
- width: $bla-sidebar-width;
3899
- left: $normal-size;
3900
- max-height: calc(100vh - (var(--offset-top, 0px) + 1rem));
3901
- overflow-y: auto;
3902
- overflow-x: hidden;
3903
- background-color: var(--blue-sidebar-bg);
3904
-
3905
- &::before {
3906
- content: none;
3907
- }
3908
- }
3909
-
3910
- &:has(.blue-menu-item-dropdown) {
3911
- & > .blue-menu-item {
3912
- @extend .highlighted;
3913
- }
3914
- }
3915
- }
3916
- }
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
+ }
3917
3935
 
3918
3936
  @mixin show-action-menu-again() {
3919
3937
  max-height: initial;
@@ -11068,199 +11086,185 @@ body {
11068
11086
  animation-delay: -1s;
11069
11087
  }
11070
11088
 
11071
- @keyframes blue-menu-item-indicator-in-from-side {
11072
- from {
11073
- transform: translateX(-100%);
11074
- }
11075
- to {
11076
- transform: translateX(1);
11077
- }
11078
- }
11079
-
11080
- @keyframes blue-menu-item-indicator-in-from-below {
11081
- from {
11082
- transform: translateY(100%);
11083
- }
11084
- to {
11085
- transform: translateY(1);
11086
- }
11087
- }
11088
-
11089
- .blue-menu-item {
11090
- transition:
11091
- width 0.5s,
11092
- background-color 0.3s,
11093
- color 0.15s,
11094
- box-shadow 0.3s,
11095
- opacity 0.3s !important;
11096
-
11097
- @media (prefers-reduced-motion) {
11098
- transition: none !important;
11099
- }
11100
-
11101
- border: none;
11102
- box-shadow: none;
11103
- background-image: none;
11104
-
11105
- &:focus {
11106
- box-shadow: none;
11107
- }
11108
-
11109
- &:focus-visible {
11110
- &,
11111
- &.active {
11112
- box-shadow: inset 0 0 0 0.25rem color-mix(in srgb, currentColor 15%, transparent);
11113
- }
11114
- }
11115
- }
11116
-
11117
- .blue-menu-item-icon {
11118
- display: inline-block;
11119
-
11120
- & > * {
11121
- display: block;
11122
- width: 1.5rem;
11123
- }
11124
- }
11125
-
11126
- .blue-menu-item-icon.iconForActive {
11127
- display: none;
11128
- }
11129
-
11130
- .blue-menu-item.active {
11131
- .blue-menu-item-icon.hasIconForActive {
11132
- display: none;
11133
- }
11134
- .blue-menu-item-icon.iconForActive {
11135
- display: inline-block;
11136
- }
11137
- }
11138
-
11139
- .blue-menu-item-dropdown {
11140
- margin-left: 1rem;
11141
- animation: blue-menu-item-dropdown 0.15s;
11142
-
11143
- @media (prefers-reduced-motion) {
11144
- animation-duration: 0s;
11145
- }
11146
-
11147
- position: relative;
11148
-
11149
- &::before {
11150
- content: "";
11151
- position: absolute;
11152
- top: 0.125rem;
11153
- right: 0.125rem;
11154
- bottom: 0.125rem;
11155
- left: 0.125rem;
11156
- border-radius: $border-radius;
11157
- box-shadow: $box-shadow;
11158
- border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
11159
- background-color: var(--blue-menu-item-dropdown-bg);
11160
- }
11161
-
11162
- &[popover] {
11163
- position: fixed;
11164
- margin: 0;
11165
- padding: 0;
11166
- z-index: 1000;
11167
- border: none;
11168
- background: transparent;
11169
- border-radius: calc(#{$border-radius} + 0.1rem);
11170
- box-shadow: $box-shadow;
11171
- }
11172
- }
11173
-
11174
- .blue-menu-item-dropdown-caret.blue-caret {
11175
- display: none;
11176
- position: absolute;
11177
- right: 1.5rem;
11178
- top: 50%;
11179
- transform: translateY(-50%);
11180
- align-items: center;
11181
- }
11182
-
11183
- .blue-menu-item {
11184
- color: inherit;
11185
- width: auto;
11186
- height: $normal-size;
11187
- font-size: $bla-btn-font-size;
11188
- display: flex;
11189
- align-items: center;
11190
- border-color: transparent;
11191
- --bs-btn-padding-x: 0.437rem;
11192
- @include slide-transition();
11193
-
11194
- &::before {
11195
- content: "";
11196
- position: absolute;
11197
- top: 0.125rem;
11198
- right: 0.125rem;
11199
- bottom: 0.125rem;
11200
- left: 0.125rem;
11201
- background-color: currentColor;
11202
- border-radius: $border-radius;
11203
- transform: scale(0.9);
11204
- opacity: 0;
11205
- transition: all 0.2s;
11206
-
11207
- @media (prefers-reduced-motion) {
11208
- transition: none;
11209
- }
11210
- }
11211
-
11212
- &[draggable] {
11213
- cursor: grab;
11214
-
11215
- &:active {
11216
- box-shadow: inset 0 0 0.25rem;
11217
- }
11218
- }
11219
-
11220
- &:hover,
11221
- &:active,
11222
- &.highlighted,
11223
- &:has(+ :popover-open) {
11224
- color: inherit;
11225
- border-color: transparent;
11226
-
11227
- &::before {
11228
- transform: scale(1);
11229
- opacity: 0.25;
11230
- }
11231
- }
11232
-
11233
- &.highlighted,
11234
- &:has(+ :popover-open) {
11235
- &::before {
11236
- opacity: 0.16;
11237
- }
11238
- }
11239
-
11240
- &:hover,
11241
- &:active {
11242
- &::before {
11243
- opacity: 0.25;
11244
- }
11245
- }
11246
-
11247
- &.active::after {
11248
- @include blue-menu-item-indicator();
11249
- }
11250
-
11251
- & > * + .blue-menu-item-label {
11252
- margin-left: 0.5rem;
11253
- }
11254
- }
11255
-
11256
- .blue-menu-item-wrapper {
11257
- display: contents;
11258
- }
11259
-
11260
- .blue-menu-item-dropdown > .blue-menu-item-wrapper > .blue-menu-item,
11261
- .blue-menu-item-dropdown > .blue-menu-item {
11262
- width: 100%;
11263
- }
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
+ }
11264
11268
 
11265
11269
  .blue-header {
11266
11270
  @include header-bg();
@@ -11844,86 +11848,94 @@ body {
11844
11848
  @include make-grid-columns-cq();
11845
11849
  }
11846
11850
 
11847
- // Customize style of Bootstrap's nav-underline
11848
- .nav-underline {
11849
- .nav-link {
11850
- --#{$prefix}nav-link-color: var(--#{$prefix}list-group-action-color);
11851
- }
11852
-
11853
- .nav-link:hover,
11854
- .nav-link:focus {
11855
- border-bottom-color: transparent;
11856
- }
11857
-
11858
- .nav-link.active,
11859
- .show > .nav-link,
11860
- .blue-tab:checked {
11861
- &::after {
11862
- @include blue-menu-item-indicator();
11863
- @include blue-menu-item-indicator-horizontal();
11864
- }
11865
-
11866
- position: relative;
11867
- font-weight: var(--blue-tabs-underline-active-font-weight, $font-weight-base);
11868
- border-bottom-color: transparent;
11869
- color: var(--bs-nav-underline-link-active-color);
11870
- }
11871
- }
11872
-
11873
- .nav-underline .blue-tabs {
11874
- display: flex;
11875
- flex-wrap: wrap;
11876
- flex-direction: row;
11877
- }
11878
-
11879
- .blue-tab {
11880
- // Unsetting to solve issues in Safari
11881
- width: unset;
11882
- height: unset;
11883
- border-radius: unset;
11884
-
11885
- position: relative;
11886
- order: 0;
11887
- user-select: none;
11888
- -webkit-appearance: none;
11889
- appearance: none;
11890
-
11891
- @if ($enable-button-pointers) {
11892
- cursor: pointer;
11893
- }
11894
- }
11895
-
11896
- .blue-tab::before {
11897
- content: attr(aria-label);
11898
- }
11899
-
11900
- .blue-tab-content {
11901
- display: none;
11902
- order: 1;
11903
- width: 100%;
11904
- }
11905
-
11906
- input.blue-tab:checked + .blue-tab-content {
11907
- display: block;
11908
- }
11909
-
11910
- .blue-tabs.nav-tabs {
11911
- border-bottom: none;
11912
-
11913
- .blue-tab-content {
11914
- border-top: var(--#{$prefix}nav-tabs-border-width) solid var(--#{$prefix}nav-tabs-border-color);
11915
- }
11916
-
11917
- .blue-tab:checked {
11918
- color: var(--bs-nav-tabs-link-active-color);
11919
- background-color: var(--bs-nav-tabs-link-active-bg);
11920
- border-color: var(--bs-nav-tabs-link-active-border-color);
11921
- }
11922
- }
11923
-
11924
- .blue-tabs.nav-underline {
11925
- row-gap: 0;
11926
- }
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
+ }
11927
11939
 
11928
11940
  /**
11929
11941
  * Allows to use Bootstrap Modals but with the native dialog element
@@ -12066,6 +12078,9 @@ dialog.blue-modal:has(.offcanvas-start) {
12066
12078
  --side-width: var(--blue-sidebar-width);
12067
12079
  --toggler-size: var(--blue-menu-item-height);
12068
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
+
12069
12084
  height: 100dvh;
12070
12085
  position: relative;
12071
12086
  display: grid;
@@ -12085,6 +12100,13 @@ dialog.blue-modal:has(.offcanvas-start) {
12085
12100
  }
12086
12101
  }
12087
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
+
12088
12110
  @media (width >= 64rem) {
12089
12111
  .blue-layout {
12090
12112
  &:has(> .blue-layout-state-expand:checked) {
@@ -12144,7 +12166,6 @@ dialog.blue-modal:has(.offcanvas-start) {
12144
12166
  grid-area: side;
12145
12167
  overflow: auto;
12146
12168
  background: inherit;
12147
- overflow-y: auto;
12148
12169
  }
12149
12170
 
12150
12171
  @media (width < 64rem) {
@@ -12172,6 +12193,9 @@ dialog.blue-modal:has(.offcanvas-start) {
12172
12193
 
12173
12194
  .blue-layout-body {
12174
12195
  --spacing: 0.25rem;
12196
+ --blue-menu-item-indicator-bg: #{$sidebar-indicator-color};
12197
+ --bs-link-hover-color: #{$link-hover-color};
12198
+
12175
12199
  width: calc(100% - var(--spacing) * 2);
12176
12200
  height: calc(100% - var(--spacing));
12177
12201
  margin-left: auto;
@@ -12184,6 +12208,13 @@ dialog.blue-modal:has(.offcanvas-start) {
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);