blue-web 1.1.2 → 1.2.1

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.1.2 (https://bruegmann.github.io/blue-web)
2
+ * Blue Web v1.2.1 (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
 
@@ -25,6 +25,7 @@
25
25
  @import "./styles/_router";
26
26
  @import "./styles/_status";
27
27
  @import "./styles/_layout";
28
+ @import "./styles/menu-item";
28
29
  @import "./styles/_sidebar";
29
30
  @import "./styles/_search";
30
31
  @import "./styles/action-menu";
@@ -36,7 +36,9 @@
36
36
  }
37
37
 
38
38
  &:not(.open) {
39
- .blue-sidebar-visible-on-open {
39
+ .blue-sidebar-visible-on-open,
40
+ .blue-sidebar-d-flex-on-open,
41
+ .blue-sidebar-d-block-on-open {
40
42
  display: none !important;
41
43
  }
42
44
 
@@ -44,6 +46,14 @@
44
46
  animation: fade-in 1s;
45
47
  }
46
48
  }
49
+
50
+ &:not(.expandSidebar):not(.open) .blue-sidebar {
51
+ .blue-sidebar-top,
52
+ .blue-menu,
53
+ .blue-sidebar-bottom {
54
+ @include blue-menu-item-dropdown-for-shrunk-sidebar();
55
+ }
56
+ }
47
57
  }
48
58
 
49
59
  .blue-sidebar-toggler {
@@ -308,9 +318,8 @@
308
318
  bottom: 0.125rem;
309
319
  left: 0.125rem;
310
320
  border-radius: $border-radius;
311
- box-shadow: 0 0.5rem 1rem $black;
312
- border: 1px solid;
313
- opacity: 0.15;
321
+ box-shadow: $box-shadow;
322
+ border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
314
323
  }
315
324
  }
316
325
 
@@ -319,6 +328,9 @@
319
328
 
320
329
  &::before {
321
330
  background-color: var(--blue-sidebar-bg);
331
+ box-shadow: 0 0.5rem 1rem $black;
332
+ opacity: 0.15;
333
+ border-color: currentColor;
322
334
  }
323
335
 
324
336
  .blue-menu-item-dropdown {
@@ -0,0 +1,3 @@
1
+ .blue-menu-item-wrapper {
2
+ display: contents;
3
+ }
@@ -14,7 +14,9 @@
14
14
  }
15
15
 
16
16
  &:not(.open) {
17
- .blue-sidebar-visible-on-open {
17
+ .blue-sidebar-visible-on-open,
18
+ .blue-sidebar-d-flex-on-open,
19
+ .blue-sidebar-d-block-on-open {
18
20
  display: none !important;
19
21
  }
20
22
 
@@ -21,3 +21,88 @@
21
21
  height: 0.25rem;
22
22
  animation: blue-menu-item-indicator-in-from-below 0.2s ease-in-out;
23
23
  }
24
+
25
+ @mixin blue-menu-item-dropdown-for-shrunk-sidebar() {
26
+ & > .blue-menu-item-wrapper {
27
+ display: block;
28
+ position: relative;
29
+
30
+ &:not(:has(.blue-menu-item-dropdown)) > .blue-menu-item:hover {
31
+ .blue-menu-item-label {
32
+ &::before,
33
+ & {
34
+ animation: tips-horz 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
35
+ }
36
+
37
+ &::before {
38
+ content: "";
39
+ display: block;
40
+ position: absolute;
41
+ border: 5px solid transparent;
42
+ z-index: 1001;
43
+
44
+ top: 50%;
45
+ border-left-width: 0;
46
+ border-right-color: var(--bs-tooltip-bg, #353539);
47
+ left: calc(0em - 5px);
48
+ transform: translate(0.5em, -50%);
49
+ opacity: 0;
50
+ }
51
+
52
+ display: block;
53
+ text-transform: none;
54
+ line-height: 1;
55
+ font-size: 0.9em;
56
+ -webkit-user-select: none;
57
+ user-select: none;
58
+ pointer-events: none;
59
+ position: absolute;
60
+ font-family: var(--bs-font-sans-serif);
61
+ text-align: center;
62
+ min-width: 3em;
63
+ max-width: var(--bs-tooltip-max-width, 21em);
64
+ padding: var(--bs-tooltip-padding-y, 1ch) var(--bs-tooltip-padding-x, 1.5ch);
65
+ border-radius: var(--bs-tooltip-border-radius, 0.3em);
66
+ box-shadow: 0 1em 2em -0.5em rgba(0, 0, 0, 0.35);
67
+ background: var(--bs-tooltip-bg, #353539);
68
+ color: var(--bs-tooltip-color, #fff);
69
+ z-index: 1000;
70
+ width: auto;
71
+ top: 50%;
72
+ left: calc(100% + 5px);
73
+ transform: translate(-0.5em, -50%);
74
+ overflow: visible;
75
+ opacity: 0;
76
+ }
77
+ }
78
+
79
+ & > .blue-menu-item-dropdown,
80
+ & > .blue-outside > .blue-menu-item-dropdown {
81
+ @extend .ms-1;
82
+ @extend .rounded;
83
+ @extend .shadow;
84
+ @extend .blue-menu-item-dropdown-from-start;
85
+ @extend .blue-sidebar-state;
86
+ @extend .open;
87
+
88
+ position: absolute;
89
+ top: 0;
90
+ width: $bla-sidebar-width;
91
+ left: $normal-size;
92
+ max-height: calc(100vh - (var(--offset-top, 0px) + 1rem));
93
+ overflow-y: auto;
94
+ overflow-x: hidden;
95
+ background-color: var(--blue-sidebar-bg);
96
+
97
+ &::before {
98
+ content: none;
99
+ }
100
+ }
101
+
102
+ &:has(.blue-menu-item-dropdown) {
103
+ & > .blue-menu-item {
104
+ @extend .highlighted;
105
+ }
106
+ }
107
+ }
108
+ }
@@ -7,11 +7,21 @@
7
7
  display: none !important;
8
8
  }
9
9
 
10
- .blue-sidebar-visible-on-open {
10
+ .blue-sidebar-visible-on-open,
11
+ .blue-sidebar-d-flex-on-open,
12
+ .blue-sidebar-d-block-on-open {
11
13
  animation: fade-in 1s;
14
+ }
15
+
16
+ .blue-sidebar-visible-on-open,
17
+ .blue-sidebar-d-flex-on-open {
12
18
  display: flex !important;
13
19
  }
14
20
 
21
+ .blue-sidebar-d-block-on-open {
22
+ display: block !important;
23
+ }
24
+
15
25
  .blue-menu-item-label {
16
26
  display: inline-block;
17
27
  }
@@ -199,3 +209,18 @@
199
209
  transform: translateY(1);
200
210
  }
201
211
  }
212
+
213
+ .blue-sidebar-visible-on-open,
214
+ .blue-sidebar-d-flex-on-open,
215
+ .blue-sidebar-d-block-on-open {
216
+ display: none !important;
217
+ }
218
+
219
+ .blue-sidebar.open .blue-sidebar-visible-on-open,
220
+ .blue-sidebar.open .blue-sidebar-d-flex-on-open {
221
+ display: flex !important;
222
+ }
223
+
224
+ .blue-sidebar.open .blue-sidebar-d-block-on-open {
225
+ display: block !important;
226
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blue-web",
3
- "version": "1.1.2",
3
+ "version": "1.2.1",
4
4
  "description": "UI components built on top of Bootstrap 5",
5
5
  "license": "LGPL-3.0-or-later",
6
6
  "homepage": "https://bruegmann.github.io/blue-web/v1",