blue-web 1.19.1 → 1.20.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/merged.scss CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Blue Web v1.19.1 (https://bruegmann.github.io/blue-web)
2
+ * Blue Web v1.20.0 (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
 
@@ -3742,6 +3742,8 @@ $sidebar-shrink-breakpoint: 600px !default;
3742
3742
  // Breakpoint for sidebar fully expanded
3743
3743
  $sidebar-expanded-breakpoint: 1400px !default;
3744
3744
 
3745
+ $corner-shape: #{round} !default;
3746
+
3745
3747
  :root {
3746
3748
  --blue-app-bg: #{$app-bg};
3747
3749
 
@@ -3759,6 +3761,8 @@ $sidebar-expanded-breakpoint: 1400px !default;
3759
3761
  --blue-action-link-bg-color: var(--blue-theme);
3760
3762
  --blue-menu-item-indicator-bg: #{$sidebar-indicator-color};
3761
3763
  --blue-menu-item-height: #{$normal-size};
3764
+
3765
+ --blue-corner-shape: #{$corner-shape};
3762
3766
  }
3763
3767
 
3764
3768
  @include color-mode(dark, true) {
@@ -3775,163 +3779,150 @@ $sidebar-expanded-breakpoint: 1400px !default;
3775
3779
  }
3776
3780
 
3777
3781
 
3778
- @mixin slide-transition() {
3779
- $slide-transition: width 0.5s;
3780
- transition: $slide-transition;
3782
+ @mixin header-bg() {
3783
+ background-image: linear-gradient(
3784
+ var(--blue-header-bg, $header-bg),
3785
+ rgba(var(--blue-header-bg-rgb, var(--bs-theme-rgb)), var(--blue-shimmering, $shimmering))
3786
+ );
3787
+ backdrop-filter: blur(3px) saturate(125%);
3788
+ }
3789
+
3790
+ @mixin blue-menu-item-background() {
3791
+ content: "";
3792
+ position: absolute;
3793
+ top: 0.125rem;
3794
+ right: 0.125rem;
3795
+ bottom: 0.125rem;
3796
+ left: 0.125rem;
3797
+ background-color: currentColor;
3798
+ border-radius: $border-radius;
3799
+ transform: scale(0.9);
3800
+ opacity: 0;
3801
+ transition: all 0.2s;
3781
3802
 
3782
3803
  @media (prefers-reduced-motion) {
3783
3804
  transition: none;
3784
3805
  }
3806
+ }
3807
+
3808
+ @mixin blue-menu-item-indicator() {
3809
+ content: "";
3810
+ position: absolute;
3811
+ top: 0.625rem;
3812
+ bottom: 0.625rem;
3813
+ left: 0.125rem;
3814
+ right: initial;
3815
+ width: 3px;
3816
+ height: auto;
3817
+ background-color: var(--blue-menu-item-indicator-bg);
3818
+ border-radius: 1rem;
3819
+ animation: blue-menu-item-indicator-in-from-side 0.2s ease-in-out;
3785
3820
 
3786
3821
  @media (prefers-reduced-motion) {
3787
- transition: none;
3822
+ animation-duration: 0s;
3788
3823
  }
3789
3824
  }
3790
3825
 
3791
- @mixin header-bg() {
3792
- background-image: linear-gradient(
3793
- var(--blue-header-bg, $header-bg),
3794
- rgba(var(--blue-header-bg-rgb, var(--bs-theme-rgb)), var(--blue-shimmering, $shimmering))
3795
- );
3796
- backdrop-filter: blur(3px) saturate(125%);
3826
+ @mixin blue-menu-item-indicator-horizontal() {
3827
+ top: initial;
3828
+ bottom: 0.125rem;
3829
+ left: 50%;
3830
+ transform: translateX(-50%);
3831
+ width: 2em;
3832
+ height: 3px;
3833
+ animation: blue-menu-item-indicator-in-from-below 0.2s ease-in-out;
3834
+
3835
+ @media (prefers-reduced-motion) {
3836
+ animation-duration: 0s;
3837
+ }
3797
3838
  }
3798
3839
 
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
- }
3840
+ @mixin blue-menu-item-dropdown-for-shrunk-sidebar() {
3841
+ & > .blue-menu-item-wrapper {
3842
+ display: block;
3843
+ position: relative;
3844
+
3845
+ &:not(:has(.blue-menu-item-dropdown)) > .blue-menu-item:hover {
3846
+ .blue-menu-item-label {
3847
+ &::before,
3848
+ & {
3849
+ animation: tips-horz 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
3850
+
3851
+ @media (prefers-reduced-motion) {
3852
+ animation-duration: 0s;
3853
+ }
3854
+ }
3855
+
3856
+ &::before {
3857
+ content: "";
3858
+ display: block;
3859
+ position: absolute;
3860
+ border: 5px solid transparent;
3861
+ z-index: 1001;
3862
+
3863
+ top: 50%;
3864
+ border-left-width: 0;
3865
+ border-right-color: var(--bs-tooltip-bg, #353539);
3866
+ left: calc(0em - 5px);
3867
+ transform: translate(0.5em, -50%);
3868
+ opacity: 0;
3869
+ }
3870
+
3871
+ display: block;
3872
+ text-transform: none;
3873
+ line-height: 1;
3874
+ font-size: 0.9em;
3875
+ -webkit-user-select: none;
3876
+ user-select: none;
3877
+ pointer-events: none;
3878
+ position: absolute;
3879
+ font-family: var(--bs-font-sans-serif);
3880
+ text-align: center;
3881
+ min-width: 3em;
3882
+ max-width: var(--bs-tooltip-max-width, 21em);
3883
+ padding: var(--bs-tooltip-padding-y, 1ch) var(--bs-tooltip-padding-x, 1.5ch);
3884
+ border-radius: var(--bs-tooltip-border-radius, 0.3em);
3885
+ box-shadow: 0 1em 2em -0.5em rgba(0, 0, 0, 0.35);
3886
+ background: var(--bs-tooltip-bg, #353539);
3887
+ color: var(--bs-tooltip-color, #fff);
3888
+ z-index: 1000;
3889
+ width: auto;
3890
+ top: 50%;
3891
+ left: calc(100% + 5px);
3892
+ transform: translate(-0.5em, -50%);
3893
+ overflow: visible;
3894
+ opacity: 0;
3895
+ }
3896
+ }
3897
+
3898
+ & > .blue-menu-item-dropdown,
3899
+ & > .blue-outside > .blue-menu-item-dropdown {
3900
+ @extend .ms-1;
3901
+ @extend .rounded;
3902
+ @extend .shadow;
3903
+ @extend .blue-menu-item-dropdown-from-start;
3904
+
3905
+ position: absolute;
3906
+ top: 0;
3907
+ width: $bla-sidebar-width;
3908
+ left: $normal-size;
3909
+ max-height: calc(100vh - (var(--offset-top, 0px) + 1rem));
3910
+ overflow-y: auto;
3911
+ overflow-x: hidden;
3912
+ background-color: var(--blue-sidebar-bg);
3913
+
3914
+ &::before {
3915
+ content: none;
3916
+ }
3917
+ }
3918
+
3919
+ &:has(.blue-menu-item-dropdown) {
3920
+ & > .blue-menu-item {
3921
+ @extend .highlighted;
3922
+ }
3923
+ }
3924
+ }
3925
+ }
3935
3926
 
3936
3927
  @mixin show-action-menu-again() {
3937
3928
  max-height: initial;
@@ -11047,84 +11038,30 @@ body {
11047
11038
  animation-delay: -1s;
11048
11039
  }
11049
11040
 
11050
- @keyframes blue-menu-item-indicator-in-from-side {
11051
- from {
11052
- transform: translateX(-100%);
11053
- }
11054
- to {
11055
- transform: translateX(1);
11056
- }
11057
- }
11058
-
11059
- @keyframes blue-menu-item-indicator-in-from-below {
11060
- from {
11061
- transform: translateY(100%);
11062
- }
11063
- to {
11064
- transform: translateY(1);
11065
- }
11066
- }
11067
-
11068
11041
  .blue-menu-item {
11042
+ display: inline-flex;
11043
+ align-items: center;
11069
11044
  transition:
11070
11045
  width 0.5s,
11071
11046
  background-color 0.3s,
11072
11047
  color 0.15s,
11073
11048
  box-shadow 0.3s,
11074
11049
  opacity 0.3s !important;
11050
+ color: inherit;
11051
+ border-color: transparent;
11052
+ --bs-btn-active-border-color: transparent;
11053
+ --bs-btn-disabled-border-color: transparent;
11075
11054
 
11076
11055
  @media (prefers-reduced-motion) {
11077
11056
  transition: none !important;
11078
11057
  }
11079
11058
 
11080
- & {
11081
- border: none;
11082
- box-shadow: none;
11083
- background-image: none;
11084
- }
11085
-
11086
- &:focus {
11087
- box-shadow: none;
11088
- }
11089
-
11090
11059
  &:focus-visible {
11091
11060
  &,
11092
11061
  &.active {
11093
11062
  box-shadow: inset 0 0 0 0.25rem color-mix(in srgb, currentColor 15%, transparent);
11094
11063
  }
11095
11064
  }
11096
- }
11097
-
11098
- .blue-menu-item-icon {
11099
- display: inline-block;
11100
-
11101
- & > * {
11102
- display: block;
11103
- width: 1.5rem;
11104
- }
11105
- }
11106
-
11107
- .blue-menu-item-icon.iconForActive {
11108
- display: none;
11109
- }
11110
-
11111
- .blue-menu-item.active {
11112
- .blue-menu-item-icon.hasIconForActive {
11113
- display: none;
11114
- }
11115
- .blue-menu-item-icon.iconForActive {
11116
- display: inline-block;
11117
- }
11118
- }
11119
-
11120
- .blue-menu-item-dropdown {
11121
- margin-left: 1rem;
11122
- animation: blue-menu-item-dropdown 0.15s;
11123
- position: relative;
11124
-
11125
- @media (prefers-reduced-motion) {
11126
- animation-duration: 0s;
11127
- }
11128
11065
 
11129
11066
  &::before {
11130
11067
  content: "";
@@ -11133,91 +11070,229 @@ body {
11133
11070
  right: 0.125rem;
11134
11071
  bottom: 0.125rem;
11135
11072
  left: 0.125rem;
11073
+ background-color: currentColor;
11136
11074
  border-radius: $border-radius;
11137
- box-shadow: $box-shadow;
11138
- border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
11139
- background-color: var(--blue-menu-item-dropdown-bg);
11140
- }
11141
-
11142
- &[popover] {
11143
- position: fixed;
11144
- margin: 0;
11145
- padding: 0;
11146
- z-index: 1000;
11147
- border: none;
11148
- background: transparent;
11149
- border-radius: calc(#{$border-radius} + 0.1rem);
11150
- box-shadow: $box-shadow;
11151
- }
11152
- }
11153
-
11154
- .blue-menu-item {
11155
- color: inherit;
11156
- width: auto;
11157
- height: $normal-size;
11158
- font-size: $bla-btn-font-size;
11159
- display: flex;
11160
- align-items: center;
11161
- border-color: transparent;
11162
- --bs-btn-padding-x: 0.437rem;
11163
- @include slide-transition();
11164
-
11165
- &::before {
11166
- @include blue-menu-item-background();
11167
- }
11168
-
11169
- &[draggable] {
11170
- cursor: grab;
11075
+ transform: scale(0.9);
11076
+ opacity: 0;
11077
+ transition: all 0.2s;
11171
11078
 
11172
- &:active {
11173
- box-shadow: inset 0 0 0.25rem;
11079
+ @media (prefers-reduced-motion) {
11080
+ transition: none;
11174
11081
  }
11175
11082
  }
11176
11083
 
11177
11084
  &:hover,
11178
11085
  &:active,
11179
- &.highlighted,
11086
+ &.active,
11180
11087
  &:has(+ :popover-open) {
11181
- color: inherit;
11182
- border-color: transparent;
11183
-
11184
11088
  &::before {
11185
11089
  transform: scale(1);
11186
11090
  opacity: 0.25;
11187
11091
  }
11188
11092
  }
11189
11093
 
11190
- &.highlighted,
11094
+ &.active,
11191
11095
  &:has(+ :popover-open) {
11192
11096
  &::before {
11193
11097
  opacity: 0.16;
11194
11098
  }
11195
11099
  }
11196
11100
 
11197
- &:hover,
11198
- &:active {
11199
- &::before {
11200
- opacity: 0.25;
11101
+ &.current {
11102
+ position: relative;
11103
+ &::after {
11104
+ @include blue-menu-item-indicator();
11201
11105
  }
11202
11106
  }
11107
+ }
11203
11108
 
11204
- &.active::after {
11205
- @include blue-menu-item-indicator();
11109
+ .blue-horizontal {
11110
+ .blue-menu-item.current::after {
11111
+ @include blue-menu-item-indicator-horizontal();
11206
11112
  }
11113
+ }
11207
11114
 
11208
- & > * + .blue-menu-item-label {
11209
- margin-left: 0.5rem;
11115
+ .blue-menu-item-current-hidden {
11116
+ &:is(:where(.blue-menu-item):is(.current) *) {
11117
+ display: none !important;
11210
11118
  }
11211
11119
  }
11212
-
11213
- .blue-menu-item-wrapper {
11214
- display: contents;
11120
+ .blue-menu-item-default-hidden {
11121
+ &:is(:where(.blue-menu-item):is(:not(.current)) *) {
11122
+ display: none !important;
11123
+ }
11215
11124
  }
11216
11125
 
11217
- .blue-menu-item-dropdown > .blue-menu-item-wrapper > .blue-menu-item,
11218
- .blue-menu-item-dropdown > .blue-menu-item {
11219
- width: 100%;
11220
- }
11126
+ // @keyframes blue-menu-item-indicator-in-from-side {
11127
+ // from {
11128
+ // transform: translateX(-100%);
11129
+ // }
11130
+ // to {
11131
+ // transform: translateX(1);
11132
+ // }
11133
+ // }
11134
+
11135
+ // @keyframes blue-menu-item-indicator-in-from-below {
11136
+ // from {
11137
+ // transform: translateY(100%);
11138
+ // }
11139
+ // to {
11140
+ // transform: translateY(1);
11141
+ // }
11142
+ // }
11143
+
11144
+ // .blue-menu-item {
11145
+ // transition:
11146
+ // width 0.5s,
11147
+ // background-color 0.3s,
11148
+ // color 0.15s,
11149
+ // box-shadow 0.3s,
11150
+ // opacity 0.3s !important;
11151
+
11152
+ // @media (prefers-reduced-motion) {
11153
+ // transition: none !important;
11154
+ // }
11155
+
11156
+ // & {
11157
+ // border: none;
11158
+ // box-shadow: none;
11159
+ // background-image: none;
11160
+ // }
11161
+
11162
+ // &:focus {
11163
+ // box-shadow: none;
11164
+ // }
11165
+
11166
+ // &:focus-visible {
11167
+ // &,
11168
+ // &.active {
11169
+ // box-shadow: inset 0 0 0 0.25rem color-mix(in srgb, currentColor 15%, transparent);
11170
+ // }
11171
+ // }
11172
+ // }
11173
+
11174
+ // .blue-menu-item-icon {
11175
+ // display: inline-block;
11176
+
11177
+ // & > * {
11178
+ // display: block;
11179
+ // width: 1.5rem;
11180
+ // }
11181
+ // }
11182
+
11183
+ // .blue-menu-item-icon.iconForActive {
11184
+ // display: none;
11185
+ // }
11186
+
11187
+ // .blue-menu-item.active {
11188
+ // .blue-menu-item-icon.hasIconForActive {
11189
+ // display: none;
11190
+ // }
11191
+ // .blue-menu-item-icon.iconForActive {
11192
+ // display: inline-block;
11193
+ // }
11194
+ // }
11195
+
11196
+ // .blue-menu-item-dropdown {
11197
+ // margin-left: 1rem;
11198
+ // animation: blue-menu-item-dropdown 0.15s;
11199
+ // position: relative;
11200
+
11201
+ // @media (prefers-reduced-motion) {
11202
+ // animation-duration: 0s;
11203
+ // }
11204
+
11205
+ // &::before {
11206
+ // content: "";
11207
+ // position: absolute;
11208
+ // top: 0.125rem;
11209
+ // right: 0.125rem;
11210
+ // bottom: 0.125rem;
11211
+ // left: 0.125rem;
11212
+ // border-radius: $border-radius;
11213
+ // box-shadow: $box-shadow;
11214
+ // border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
11215
+ // background-color: var(--blue-menu-item-dropdown-bg);
11216
+ // }
11217
+
11218
+ // &[popover] {
11219
+ // position: fixed;
11220
+ // margin: 0;
11221
+ // padding: 0;
11222
+ // z-index: 1000;
11223
+ // border: none;
11224
+ // background: transparent;
11225
+ // border-radius: calc(#{$border-radius} + 0.1rem);
11226
+ // box-shadow: $box-shadow;
11227
+ // }
11228
+ // }
11229
+
11230
+ // .blue-menu-item {
11231
+ // color: inherit;
11232
+ // width: auto;
11233
+ // height: $normal-size;
11234
+ // font-size: $bla-btn-font-size;
11235
+ // display: flex;
11236
+ // align-items: center;
11237
+ // border-color: transparent;
11238
+ // --bs-btn-padding-x: 0.437rem;
11239
+
11240
+ // &::before {
11241
+ // @include blue-menu-item-background();
11242
+ // }
11243
+
11244
+ // &[draggable] {
11245
+ // cursor: grab;
11246
+
11247
+ // &:active {
11248
+ // box-shadow: inset 0 0 0.25rem;
11249
+ // }
11250
+ // }
11251
+
11252
+ // &:hover,
11253
+ // &:active,
11254
+ // &.highlighted,
11255
+ // &:has(+ :popover-open) {
11256
+ // color: inherit;
11257
+ // border-color: transparent;
11258
+
11259
+ // &::before {
11260
+ // transform: scale(1);
11261
+ // opacity: 0.25;
11262
+ // }
11263
+ // }
11264
+
11265
+ // &.highlighted,
11266
+ // &:has(+ :popover-open) {
11267
+ // &::before {
11268
+ // opacity: 0.16;
11269
+ // }
11270
+ // }
11271
+
11272
+ // &:hover,
11273
+ // &:active {
11274
+ // &::before {
11275
+ // opacity: 0.25;
11276
+ // }
11277
+ // }
11278
+
11279
+ // &.active::after {
11280
+ // @include blue-menu-item-indicator();
11281
+ // }
11282
+
11283
+ // & > * + .blue-menu-item-label {
11284
+ // margin-left: 0.5rem;
11285
+ // }
11286
+ // }
11287
+
11288
+ // .blue-menu-item-wrapper {
11289
+ // display: contents;
11290
+ // }
11291
+
11292
+ // .blue-menu-item-dropdown > .blue-menu-item-wrapper > .blue-menu-item,
11293
+ // .blue-menu-item-dropdown > .blue-menu-item {
11294
+ // width: 100%;
11295
+ // }
11221
11296
 
11222
11297
  .blue-header-title {
11223
11298
  a {
@@ -11536,6 +11611,10 @@ body {
11536
11611
  }
11537
11612
  }
11538
11613
 
11614
+ .blue-btn-square {
11615
+ padding: calc(var(--bs-btn-padding-y) + #{$icon-link-underline-offset});
11616
+ }
11617
+
11539
11618
  // Inspired by Bootstrap's button system but extended with more variants
11540
11619
 
11541
11620
  // Soft buttons
@@ -12096,8 +12175,7 @@ dialog.blue-modal:has(.offcanvas-start) {
12096
12175
  transition: transform 0.2s;
12097
12176
  }
12098
12177
 
12099
- &[open] > summary > .blue-collapse-header > .blue-collapse-chevron,
12100
- &[open] > summary > .blue-collapse-chevron {
12178
+ &[open] > summary .blue-collapse-chevron {
12101
12179
  --blue-collapse-chevron-rotate: 90deg;
12102
12180
  transform: rotate(var(--blue-collapse-chevron-rotate));
12103
12181
  }
@@ -12128,6 +12206,12 @@ dialog.blue-modal:has(.offcanvas-start) {
12128
12206
  }
12129
12207
  }
12130
12208
 
12209
+ .blue-collapse-indent {
12210
+ // 0.5em is half of icon width
12211
+ --margin-inline-start: calc(#{$input-btn-padding-x} + 0.5em + #{$input-btn-border-width});
12212
+ margin-inline-start: var(--margin-inline-start);
12213
+ }
12214
+
12131
12215
  // Let's you group a collapse together with another UI element like a button that should come before the collapse summary.
12132
12216
  .blue-collapse-group {
12133
12217
  display: grid;
@@ -12142,7 +12226,7 @@ dialog.blue-modal:has(.offcanvas-start) {
12142
12226
  grid-column: 2;
12143
12227
 
12144
12228
  & + * {
12145
- width: calc(100% + 1rem - 2px);
12229
+ width: calc(100% + var(--margin-inline-start) - 3px);
12146
12230
  }
12147
12231
  }
12148
12232
  }
@@ -12186,39 +12270,28 @@ dialog.blue-modal:has(.offcanvas-start) {
12186
12270
  position: absolute;
12187
12271
  }
12188
12272
 
12189
- .blue-anchor {
12190
- anchor-name: var(--blue-anchor-name, --anchor-1);
12191
- }
12192
-
12193
- @position-try --blue-anchored-below {
12194
- top: anchor(var(--blue-anchor-name, --anchor-1) bottom);
12195
- bottom: unset;
12196
- }
12197
-
12198
- @position-try --blue-anchored-above {
12199
- bottom: anchor(var(--blue-anchor-name, --anchor-1) top);
12200
- top: unset;
12201
- }
12202
-
12203
12273
  .blue-anchored {
12204
- top: anchor(var(--blue-anchor-name, --anchor-1) bottom);
12205
- position-try: --blue-anchored-below, --blue-anchored-above;
12274
+ position-try: flip-inline;
12275
+ position-area: bottom span-right;
12276
+ position: fixed;
12277
+
12278
+ // Normalize popover
12279
+ &[popover] {
12280
+ margin: 0;
12281
+ padding: 0;
12282
+ border: 0;
12283
+ }
12206
12284
  }
12207
12285
 
12208
12286
  .blue-anchored-start {
12209
- left: anchor(var(--blue-anchor-name, --anchor-1) left);
12287
+ position-area: bottom span-right;
12210
12288
  }
12211
12289
 
12212
12290
  .blue-anchored-end {
12213
- left: anchor(var(--blue-anchor-name, --anchor-1) right);
12214
- translate: -100%;
12291
+ position-area: bottom span-left;
12215
12292
  }
12216
12293
 
12217
12294
  @supports not (anchor-name: --anchor-1) {
12218
- .blue-anchored-end {
12219
- translate: none;
12220
- }
12221
-
12222
12295
  .blue-anchored-fallback {
12223
12296
  left: 50%;
12224
12297
  top: 50%;
@@ -12414,13 +12487,8 @@ body.modal-open .dxbl-popup-cell[style="z-index: 1050;"] {
12414
12487
 
12415
12488
  :root {
12416
12489
  --bs-font-sans-serif: Inter, #{$font-family-sans-serif};
12417
- font-feature-settings:
12418
- "liga" 1,
12419
- "calt" 1,
12420
- "cv05" 1,
12421
- "cv07" 1,
12422
- "tnum" 1,
12423
- "zero" 1;
12490
+ --blue-font-feature-settings: "liga" 1, "calt" 1, "cv05" 1, "cv07" 1, "tnum" 1, "zero" 1;
12491
+ font-feature-settings: var(--blue-font-feature-settings);
12424
12492
  font-size: 14px;
12425
12493
  }
12426
12494
  @supports (font-variation-settings: normal) {
@@ -12437,3 +12505,9 @@ textarea {
12437
12505
  font-feature-settings: inherit;
12438
12506
  }
12439
12507
 
12508
+
12509
+ *,
12510
+ *:before,
12511
+ *:after {
12512
+ corner-shape: var(--blue-corner-shape);
12513
+ }