blue-web 1.14.0 → 1.14.2

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/style.scss CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Blue Web v1.14.0 (https://bruegmann.github.io/blue-web)
2
+ * Blue Web v1.14.2 (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
 
@@ -40,6 +40,7 @@
40
40
  @import "./styles/layout";
41
41
  @import "./styles/collapse";
42
42
  @import "./styles/actions";
43
+ @import "./styles/anchor";
43
44
 
44
45
  @import "./styles/devexpress";
45
46
  @import "./styles/inter";
@@ -0,0 +1,36 @@
1
+ .blue-anchor {
2
+ anchor-name: var(--blue-anchor-name, --anchor-1);
3
+ }
4
+
5
+ .blue-anchored {
6
+ top: anchor(var(--blue-anchor-name, --anchor-1) bottom);
7
+ }
8
+
9
+ .blue-anchored-start {
10
+ left: anchor(var(--blue-anchor-name, --anchor-1) left);
11
+ }
12
+
13
+ .blue-anchored-end {
14
+ left: anchor(var(--blue-anchor-name, --anchor-1) right);
15
+ translate: -100%;
16
+ }
17
+
18
+ @supports not (anchor-name: --anchor-1) {
19
+ .blue-anchored-end {
20
+ translate: none;
21
+ }
22
+
23
+ .blue-anchored-fallback {
24
+ left: 50%;
25
+ top: 50%;
26
+ translate: -50% -50%;
27
+
28
+ &::backdrop {
29
+ --bs-backdrop-bg: #000;
30
+ --bs-backdrop-opacity: 0.5;
31
+ background-color: var(--bs-backdrop-bg);
32
+ transition: opacity 0.2s;
33
+ opacity: var(--bs-backdrop-opacity);
34
+ }
35
+ }
36
+ }
@@ -1,6 +1,4 @@
1
1
  // Collapse with details and animated
2
- // Right now not part of Blue Web, but could become one
3
-
4
2
  .blue-collapse {
5
3
  interpolate-size: allow-keywords;
6
4
 
@@ -34,14 +32,20 @@
34
32
 
35
33
  &::details-content {
36
34
  block-size: 0;
35
+ opacity: 0;
36
+ translate: 0 -4rem;
37
37
  transition:
38
38
  block-size 0.2s,
39
- content-visibility 0.2s;
39
+ content-visibility 0.2s,
40
+ opacity 0.2s,
41
+ translate 0.2s;
40
42
  transition-behavior: allow-discrete;
41
43
  }
42
44
 
43
45
  &[open]::details-content {
44
46
  block-size: auto;
47
+ opacity: 1;
48
+ translate: 0;
45
49
  }
46
50
  }
47
51
 
@@ -51,3 +55,22 @@
51
55
  transition: none;
52
56
  }
53
57
  }
58
+
59
+ // Let's you group a collapse together with another UI element like a button that should come before the collapse summary.
60
+ .blue-collapse-group {
61
+ display: grid;
62
+ grid-template-rows: auto;
63
+ grid-template-columns: 1fr;
64
+
65
+ & > details {
66
+ display: contents;
67
+
68
+ & > summary {
69
+ grid-column: 2;
70
+
71
+ & + * {
72
+ width: calc(100% + 1rem - 2px);
73
+ }
74
+ }
75
+ }
76
+ }
@@ -2,33 +2,6 @@
2
2
  scrollbar-width: thin;
3
3
  }
4
4
 
5
- @media screen and (min-width: 768px) {
6
- ::-webkit-scrollbar {
7
- height: var(--blue-scrollbar-size);
8
- overflow: visible;
9
- width: var(--blue-scrollbar-size);
10
- }
11
- ::-webkit-scrollbar-thumb {
12
- background-clip: padding-box;
13
- border: solid transparent;
14
- border-width: 1px;
15
- min-height: 28px;
16
- padding: 100px 0 0;
17
- border-radius: 0.3rem;
18
- }
19
- ::-webkit-scrollbar-button {
20
- height: 0;
21
- width: 0;
22
- }
23
- ::-webkit-scrollbar-track {
24
- border: solid transparent;
25
- border-width: 0 0 0 4px;
26
- }
27
- ::-webkit-scrollbar-corner {
28
- background: 0 0;
29
- }
30
- }
31
-
32
5
  html,
33
6
  body {
34
7
  height: 100%;
@@ -63,7 +36,11 @@ body {
63
36
  .pagination > li > a,
64
37
  .list-group a.list-group-item {
65
38
  &:not(.disabled):not(.readonly):not(.dropdown-toggle) {
66
- transition: background-color 0.3s, color 0.15s, box-shadow 0.3s, opacity 0.3s;
39
+ transition:
40
+ background-color 0.3s,
41
+ color 0.15s,
42
+ box-shadow 0.3s,
43
+ opacity 0.3s;
67
44
 
68
45
  @media (prefers-reduced-motion) {
69
46
  transition: none;
@@ -86,6 +86,17 @@
86
86
  border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
87
87
  background-color: var(--blue-menu-item-dropdown-bg);
88
88
  }
89
+
90
+ &[popover] {
91
+ position: fixed;
92
+ margin: 0;
93
+ padding: 0;
94
+ z-index: 1000;
95
+ border: none;
96
+ background: transparent;
97
+ border-radius: calc(#{$border-radius} + 0.1rem);
98
+ box-shadow: $box-shadow;
99
+ }
89
100
  }
90
101
 
91
102
  .blue-menu-item-dropdown-caret.blue-caret {
@@ -136,7 +147,8 @@
136
147
 
137
148
  &:hover,
138
149
  &:active,
139
- &.highlighted {
150
+ &.highlighted,
151
+ &:has(+ :popover-open) {
140
152
  color: inherit;
141
153
  border-color: transparent;
142
154
 
@@ -146,7 +158,8 @@
146
158
  }
147
159
  }
148
160
 
149
- &.highlighted {
161
+ &.highlighted,
162
+ &:has(+ :popover-open) {
150
163
  &::before {
151
164
  opacity: 0.16;
152
165
  }
@@ -11,10 +11,6 @@
11
11
  right: 0;
12
12
  z-index: 4;
13
13
 
14
- @media screen and (min-width: 768px) {
15
- right: $scrollbar-size;
16
- }
17
-
18
14
  .navbar-nav {
19
15
  margin: 0;
20
16
 
@@ -1,46 +1,15 @@
1
1
  .blue-tabs {
2
- display: grid;
3
- align-items: flex-end;
4
-
5
- --#{$prefix}nav-link-padding-x: #{$nav-link-padding-x};
6
- --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};
7
- @include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size);
8
- --#{$prefix}nav-link-font-weight: #{$nav-link-font-weight};
9
- --#{$prefix}nav-link-color: #{$nav-link-color};
10
- --#{$prefix}nav-link-hover-color: #{$nav-link-hover-color};
11
- --#{$prefix}nav-link-disabled-color: #{$nav-link-disabled-color};
12
-
13
- --#{$prefix}nav-tabs-border-width: #{$nav-tabs-border-width};
14
- --#{$prefix}nav-tabs-border-color: #{$nav-tabs-border-color};
15
- --#{$prefix}nav-tabs-border-radius: #{$nav-tabs-border-radius};
16
- --#{$prefix}nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color};
17
- --#{$prefix}nav-tabs-link-active-color: #{$nav-tabs-link-active-color};
18
- --#{$prefix}nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg};
19
- --#{$prefix}nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color};
2
+ display: flex;
3
+ flex-wrap: wrap;
4
+ flex-direction: row;
20
5
  }
21
6
 
22
7
  .blue-tab {
23
8
  position: relative;
24
- grid-row-start: 1;
9
+ order: 0;
25
10
  cursor: pointer;
26
11
  user-select: none;
27
12
  appearance: none;
28
-
29
- font-size: var(--#{$prefix}nav-link-font-size, 1rem);
30
- font-weight: var(--#{$prefix}nav-link-font-weight);
31
- color: var(--#{$prefix}nav-link-color);
32
- padding: var(--#{$prefix}nav-link-padding-y) var(--#{$prefix}nav-link-padding-x);
33
- margin-bottom: calc(-1 * var(--#{$prefix}nav-tabs-border-width)); // stylelint-disable-line function-disallowed-list
34
- border: var(--#{$prefix}nav-tabs-border-width) solid transparent;
35
- @include border-top-radius(var(--#{$prefix}nav-tabs-border-radius));
36
-
37
- &:hover,
38
- &:focus {
39
- color: var(--#{$prefix}nav-link-hover-color);
40
- // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link
41
- isolation: isolate;
42
- border-color: var(--#{$prefix}nav-tabs-link-hover-border-color);
43
- }
44
13
  }
45
14
 
46
15
  .blue-tab::before {
@@ -49,19 +18,33 @@
49
18
 
50
19
  .blue-tab-content {
51
20
  display: none;
52
- grid-column-start: 1;
53
- grid-column-end: span 9999;
54
- grid-row-start: 2;
21
+ order: 1;
22
+ width: 100%;
23
+ }
55
24
 
56
- border-top: var(--#{$prefix}nav-tabs-border-width) solid var(--#{$prefix}nav-tabs-border-color);
25
+ input.blue-tab:checked + .blue-tab-content {
26
+ display: block;
57
27
  }
58
28
 
59
- .blue-tab:checked {
60
- color: var(--bs-nav-tabs-link-active-color);
61
- background-color: var(--bs-nav-tabs-link-active-bg);
62
- border-color: var(--bs-nav-tabs-link-active-border-color);
29
+ .blue-tabs.nav-tabs {
30
+ border-bottom: none;
31
+
32
+ .blue-tab-content {
33
+ border-top: var(--#{$prefix}nav-tabs-border-width) solid var(--#{$prefix}nav-tabs-border-color);
34
+ }
35
+
36
+ .blue-tab:checked {
37
+ color: var(--bs-nav-tabs-link-active-color);
38
+ background-color: var(--bs-nav-tabs-link-active-bg);
39
+ border-color: var(--bs-nav-tabs-link-active-border-color);
40
+ }
63
41
  }
64
42
 
65
- input.blue-tab:checked + .blue-tab-content {
66
- display: block;
43
+ .blue-tabs.nav-underline {
44
+ row-gap: 0;
45
+ .blue-tab:checked {
46
+ font-weight: var(--blue-tabs-underline-active-font-weight, 700);
47
+ color: var(--bs-nav-underline-link-active-color);
48
+ border-bottom-color: var(--blue-tabs-underline-active-border-bottom-color, currentcolor);
49
+ }
67
50
  }
@@ -81,9 +81,6 @@ $header-deep-bg: darken($header-bg, 4%) !default;
81
81
  // Background color, when hovering action menu item.
82
82
  $actions-control-bg-hover: $bla-button-bg-hover !default;
83
83
 
84
- // Width and height of the scrollbar indicators
85
- $scrollbar-size: 10px;
86
-
87
84
  // Shrink sidebar on smaller screens
88
85
  $sidebar-shrink: true !default;
89
86
 
@@ -97,7 +94,6 @@ $sidebar-expanded-breakpoint: 1400px !default;
97
94
  --blue-app-bg: #{$app-bg};
98
95
 
99
96
  --blue-scrollbar-thumb-color-rgb: #{$scrollbar-thumb-color-rgb};
100
- --blue-scrollbar-size: #{$scrollbar-size};
101
97
 
102
98
  --blue-sidebar-width: #{$bla-sidebar-width};
103
99
  --blue-sidebar-color: #{$sidebar-color};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blue-web",
3
- "version": "1.14.0",
3
+ "version": "1.14.2",
4
4
  "description": "UI components built on top of Bootstrap 5",
5
5
  "license": "LGPL-3.0-or-later",
6
6
  "type": "module",
@@ -33,7 +33,7 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "@popperjs/core": "^2.11.5",
36
- "bootstrap": "~5.3.5"
36
+ "bootstrap": "~5.3.6"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@astrojs/mdx": "^4.2.3",