blue-react 9.6.0 → 9.7.0-alpha1

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 React v9.6.0-alpha2 (https://bruegmann.github.io/blue-react)
2
+ * Blue React v9.7.0-alpha1-alpha1-alpha2 (https://bruegmann.github.io/blue-react)
3
3
  * Licensed under GNU General Public License v3.0 (https://github.com/bruegmann/blue-react/blob/master/LICENSE).
4
4
  */
5
5
 
@@ -1,19 +1,5 @@
1
- .blue-actions-menu {
2
- .nav-link {
3
- position: relative;
4
- margin-left: 2px;
5
-
6
- background-color: var(--blue-action-link-bg-color);
7
-
8
- &:hover {
9
- background-color: $bla-button-bg-hover;
10
- }
11
- }
12
- }
13
-
14
1
  .blue-actions {
15
2
  display: inline;
16
- transition: background-color 0.5s linear;
17
3
  position: absolute;
18
4
  left: 0;
19
5
  right: 0;
@@ -9,7 +9,7 @@
9
9
  .blue-d-hover {
10
10
  &:not(:hover):not(:focus):not(:active):not(.active):not(:focus-within) {
11
11
  .blue-d-hover-content-active {
12
- display: none;
12
+ display: none !important;
13
13
  }
14
14
  }
15
15
 
@@ -19,7 +19,7 @@
19
19
  &.active,
20
20
  &:focus-within {
21
21
  .blue-d-hover-content-default {
22
- display: none;
22
+ display: none !important;
23
23
  }
24
24
  }
25
25
  }
@@ -1,6 +1,7 @@
1
1
  .blue-layout {
2
2
  position: relative;
3
3
  min-height: 100vh;
4
+ min-height: 100dvh;
4
5
 
5
6
  &.hasNoSidebarMenu {
6
7
  .blue-page,
@@ -36,7 +37,7 @@
36
37
 
37
38
  &:not(.open) {
38
39
  .blue-sidebar-visible-on-open {
39
- display: none;
40
+ display: none !important;
40
41
  }
41
42
 
42
43
  .blue-sidebar-hidden-on-open {
@@ -45,14 +46,6 @@
45
46
  }
46
47
  }
47
48
 
48
- .blue-header-wrapper {
49
- position: absolute;
50
- top: 0;
51
- right: 0;
52
- bottom: 0;
53
- left: 0;
54
- }
55
-
56
49
  .blue-sidebar-toggler {
57
50
  position: fixed;
58
51
  width: $normal-size;
@@ -231,6 +224,7 @@
231
224
 
232
225
  .blue-page {
233
226
  min-height: calc(100vh - #{$normal-size});
227
+ min-height: calc(100dvh - #{$normal-size});
234
228
  margin-top: $normal-size;
235
229
  }
236
230
 
@@ -238,6 +232,7 @@
238
232
  .blue-page {
239
233
  margin-top: initial;
240
234
  min-height: calc(100vh);
235
+ min-height: calc(100dvh);
241
236
  }
242
237
  }
243
238
 
@@ -318,26 +313,26 @@
318
313
  }
319
314
 
320
315
  .blue-sidebar .blue-menu-item-dropdown {
321
- --blue-sidebar-bg: #{$sidebar-deep-bg};
316
+ --blue-sidebar-bg: var(--blue-sidebar-depth-1-bg, #{$sidebar-deep-bg});
322
317
 
323
318
  &::before {
324
319
  background-color: var(--blue-sidebar-bg);
325
320
  }
326
321
 
327
322
  .blue-menu-item-dropdown {
328
- --blue-sidebar-bg: #{darken($sidebar-deep-bg, 4%)};
323
+ --blue-sidebar-bg: var(--blue-sidebar-depth-2-bg, #{darken($sidebar-deep-bg, 4%)});
329
324
 
330
325
  .blue-menu-item-dropdown {
331
- --blue-sidebar-bg: #{darken($sidebar-deep-bg, 8%)};
326
+ --blue-sidebar-bg: var(--blue-sidebar-depth-3-bg, #{darken($sidebar-deep-bg, 8%)});
332
327
 
333
328
  .blue-menu-item-dropdown {
334
- --blue-sidebar-bg: #{darken($sidebar-deep-bg, 12%)};
329
+ --blue-sidebar-bg: var(--blue-sidebar-depth-4-bg, #{darken($sidebar-deep-bg, 12%)});
335
330
 
336
331
  .blue-menu-item-dropdown {
337
- --blue-sidebar-bg: #{darken($sidebar-deep-bg, 16%)};
332
+ --blue-sidebar-bg: var(--blue-sidebar-depth-5-bg, #{darken($sidebar-deep-bg, 16%)});
338
333
 
339
334
  .blue-menu-item-dropdown {
340
- --blue-sidebar-bg: #{darken($sidebar-deep-bg, 20%)};
335
+ --blue-sidebar-bg: var(--blue-sidebar-depth-6-bg, #{darken($sidebar-deep-bg, 20%)});
341
336
  }
342
337
  }
343
338
  }
@@ -8,9 +8,10 @@ body {
8
8
 
9
9
  overflow-y: scroll;
10
10
  overflow-x: hidden;
11
- position: absolute;
12
11
  width: 100vw;
12
+
13
13
  height: 100vh;
14
+ height: 100dvh;
14
15
 
15
16
  &:not(.active) {
16
17
  display: none;
@@ -15,7 +15,7 @@
15
15
 
16
16
  &:not(.open) {
17
17
  .blue-sidebar-visible-on-open {
18
- display: none;
18
+ display: none !important;
19
19
  }
20
20
 
21
21
  .blue-sidebar-hidden-on-open {
@@ -44,9 +44,11 @@
44
44
  right: 1rem;
45
45
 
46
46
  max-height: calc(100vh - 15rem);
47
+ max-height: calc(100dvh - 15rem);
47
48
 
48
49
  .alert-body {
49
50
  max-height: calc(100vh - 16rem);
51
+ max-height: calc(100dvh - 16rem);
50
52
  overflow-y: auto;
51
53
  }
52
54
  }
@@ -1,194 +1,196 @@
1
- @keyframes tips-vert {
2
- to {
3
- opacity: 0.9;
4
- transform: translate(-50%, 0);
5
- }
6
- }
7
-
8
- @keyframes tips-horz {
9
- to {
10
- opacity: 0.9;
11
- transform: translate(0, -50%);
12
- }
13
- }
14
-
15
- @keyframes tips-diag-right {
16
- to {
17
- opacity: 0.9;
18
- transform: translate(-1em, 0);
19
- }
20
- }
21
-
22
- @keyframes tips-diag-left {
23
- to {
24
- opacity: 0.9;
25
- transform: translate(1em, 0);
26
- }
27
- }
28
-
29
- // [data-tooltip]s
30
- [data-tooltip] {
31
- position: relative;
32
- &::before,
33
- &::after {
34
- text-transform: none;
35
- line-height: 1;
36
- font-size: 0.9em;
37
- user-select: none;
38
- pointer-events: none;
39
- position: absolute;
40
- display: none;
41
- opacity: 0;
42
- }
43
- // the dink
44
- &::before {
45
- content: "";
46
- border: 5px solid transparent;
47
- z-index: 1001;
48
- }
49
- // the bubble
50
- &::after {
51
- content: attr(data-tooltip);
52
- font-family: $font-family-base;
53
- text-align: center;
54
-
55
- min-width: 3em;
56
- max-width: var(--bs-tooltip-max-width, 21em);
57
-
58
- padding: var(--bs-tooltip-padding-y, 1ch) var(--bs-tooltip-padding-x, 1.5ch);
59
- border-radius: var(--bs-tooltip-border-radius, 0.3em);
60
- box-shadow: 0 1em 2em -0.5em rgba(0, 0, 0, 0.35);
61
- background: var(--bs-tooltip-bg, #353539);
62
- color: var(--bs-tooltip-color, #fff);
63
- z-index: 1000;
64
- }
65
- // show the [data-tooltip]
66
- &:hover::before,
67
- &:hover::after {
68
- display: block;
69
- }
70
- }
1
+ @media (hover: hover) {
2
+ @keyframes tips-vert {
3
+ to {
4
+ opacity: 0.9;
5
+ transform: translate(-50%, 0);
6
+ }
7
+ }
8
+
9
+ @keyframes tips-horz {
10
+ to {
11
+ opacity: 0.9;
12
+ transform: translate(0, -50%);
13
+ }
14
+ }
15
+
16
+ @keyframes tips-diag-right {
17
+ to {
18
+ opacity: 0.9;
19
+ transform: translate(-1em, 0);
20
+ }
21
+ }
22
+
23
+ @keyframes tips-diag-left {
24
+ to {
25
+ opacity: 0.9;
26
+ transform: translate(1em, 0);
27
+ }
28
+ }
29
+
30
+ // [data-tooltip]s
31
+ [data-tooltip] {
32
+ position: relative;
33
+ &::before,
34
+ &::after {
35
+ text-transform: none;
36
+ line-height: 1;
37
+ font-size: 0.9em;
38
+ user-select: none;
39
+ pointer-events: none;
40
+ position: absolute;
41
+ display: none;
42
+ opacity: 0;
43
+ }
44
+ // the dink
45
+ &::before {
46
+ content: "";
47
+ border: 5px solid transparent;
48
+ z-index: 1001;
49
+ }
50
+ // the bubble
51
+ &::after {
52
+ content: attr(data-tooltip);
53
+ font-family: $font-family-base;
54
+ text-align: center;
55
+
56
+ min-width: 3em;
57
+ max-width: var(--bs-tooltip-max-width, 21em);
58
+
59
+ padding: var(--bs-tooltip-padding-y, 1ch) var(--bs-tooltip-padding-x, 1.5ch);
60
+ border-radius: var(--bs-tooltip-border-radius, 0.3em);
61
+ box-shadow: 0 1em 2em -0.5em rgba(0, 0, 0, 0.35);
62
+ background: var(--bs-tooltip-bg, #353539);
63
+ color: var(--bs-tooltip-color, #fff);
64
+ z-index: 1000;
65
+ }
66
+ // show the [data-tooltip]
67
+ &:hover::before,
68
+ &:hover::after {
69
+ display: block;
70
+ }
71
+ }
72
+
73
+ [data-tooltip][class*="blue-tooltip-up"] {
74
+ &::before {
75
+ bottom: 100%;
76
+ border-bottom-width: 0;
77
+ border-top-color: var(--bs-tooltip-bg, #353539);
78
+ }
79
+ &::after {
80
+ bottom: calc(100% + 5px);
81
+ }
82
+ &::before,
83
+ &::after {
84
+ left: 50%;
85
+ transform: translate(-50%, 0.5em);
86
+ }
87
+ }
88
+
89
+ [data-tooltip][class*="blue-tooltip-down"] {
90
+ &::before {
91
+ top: 100%;
92
+ border-top-width: 0;
93
+ border-bottom-color: var(--bs-tooltip-bg, #353539);
94
+ }
95
+ &::after {
96
+ top: calc(100% + 5px);
97
+ }
98
+ &::before,
99
+ &::after {
100
+ left: 50%;
101
+ transform: translate(-50%, -0.5em);
102
+ }
103
+ }
104
+
105
+ [data-tooltip][class$="-left"]::after {
106
+ right: 50%;
107
+ left: auto;
108
+ }
109
+
110
+ [data-tooltip].blue-tooltip-up-left::after {
111
+ transform: translate(1.5em, 0.5em);
112
+ }
113
+
114
+ [data-tooltip].blue-tooltip-down-left::after {
115
+ transform: translate(1.5em, -0.5em);
116
+ }
117
+
118
+ [data-tooltip].blue-tooltip-up-right::after {
119
+ transform: translate(-1.5em, 0.5em);
120
+ }
121
+
122
+ [data-tooltip].blue-tooltip-down-right::after {
123
+ transform: translate(-1.5em, -0.5em);
124
+ }
125
+
126
+ [data-tooltip].blue-tooltip-start {
127
+ &::before {
128
+ top: 50%;
129
+ border-right-width: 0;
130
+ border-left-color: var(--bs-tooltip-bg, #353539);
131
+ left: calc(0em - 5px);
132
+ transform: translate(0.5em, -50%);
133
+ }
134
+ &::after {
135
+ top: 50%;
136
+ right: calc(100% + 5px);
137
+ transform: translate(0.5em, -50%);
138
+ }
139
+ }
140
+
141
+ [data-tooltip].blue-tooltip-end {
142
+ &::before {
143
+ top: 50%;
144
+ border-left-width: 0;
145
+ border-right-color: var(--bs-tooltip-bg, #353539);
146
+ right: calc(0em - 5px);
147
+ transform: translate(-0.5em, -50%);
148
+ }
149
+ &::after {
150
+ top: 50%;
151
+ left: calc(100% + 5px);
152
+ transform: translate(-0.5em, -50%);
153
+ }
154
+ }
155
+
156
+ // FX: do the thing
157
+ [data-tooltip][class*="blue-tooltip-up"]:hover,
158
+ [data-tooltip][class*="blue-tooltip-down"]:hover {
159
+ &::before,
160
+ &::after {
161
+ animation: tips-vert 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
162
+ }
163
+ }
164
+
165
+ [data-tooltip][class$="blue-tooltip-end"]:hover::after {
166
+ animation: tips-diag-right 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
167
+ }
168
+
169
+ [data-tooltip][class$="blue-tooltip-start"]:hover::after {
170
+ animation: tips-diag-left 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
171
+ }
172
+
173
+ [data-tooltip].blue-tooltip-start:hover,
174
+ [data-tooltip].blue-tooltip-end:hover {
175
+ &::before,
176
+ &::after {
177
+ animation: tips-horz 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
178
+ }
179
+ }
71
180
 
72
- [data-tooltip][class*="blue-tooltip-up"] {
73
- &::before {
74
- bottom: 100%;
75
- border-bottom-width: 0;
76
- border-top-color: var(--bs-tooltip-bg, #353539);
181
+ // don't show empty [data-tooltip]s
182
+ [data-tooltip=""] {
183
+ &::after,
184
+ &::before {
185
+ display: none !important;
186
+ }
77
187
  }
78
- &::after {
79
- bottom: calc(100% + 5px);
80
- }
81
- &::before,
82
- &::after {
83
- left: 50%;
84
- transform: translate(-50%, 0.5em);
85
- }
86
- }
87
-
88
- [data-tooltip][class*="blue-tooltip-down"] {
89
- &::before {
90
- top: 100%;
91
- border-top-width: 0;
92
- border-bottom-color: var(--bs-tooltip-bg, #353539);
93
- }
94
- &::after {
95
- top: calc(100% + 5px);
96
- }
97
- &::before,
98
- &::after {
99
- left: 50%;
100
- transform: translate(-50%, -0.5em);
101
- }
102
- }
103
-
104
- [data-tooltip][class$="-left"]::after {
105
- right: 50%;
106
- left: auto;
107
- }
108
-
109
- [data-tooltip].blue-tooltip-up-left::after {
110
- transform: translate(1.5em, 0.5em);
111
- }
112
-
113
- [data-tooltip].blue-tooltip-down-left::after {
114
- transform: translate(1.5em, -0.5em);
115
- }
116
-
117
- [data-tooltip].blue-tooltip-up-right::after {
118
- transform: translate(-1.5em, 0.5em);
119
- }
120
-
121
- [data-tooltip].blue-tooltip-down-right::after {
122
- transform: translate(-1.5em, -0.5em);
123
- }
124
-
125
- [data-tooltip].blue-tooltip-start {
126
- &::before {
127
- top: 50%;
128
- border-right-width: 0;
129
- border-left-color: var(--bs-tooltip-bg, #353539);
130
- left: calc(0em - 5px);
131
- transform: translate(0.5em, -50%);
132
- }
133
- &::after {
134
- top: 50%;
135
- right: calc(100% + 5px);
136
- transform: translate(0.5em, -50%);
137
- }
138
- }
139
-
140
- [data-tooltip].blue-tooltip-end {
141
- &::before {
142
- top: 50%;
143
- border-left-width: 0;
144
- border-right-color: var(--bs-tooltip-bg, #353539);
145
- right: calc(0em - 5px);
146
- transform: translate(-0.5em, -50%);
147
- }
148
- &::after {
149
- top: 50%;
150
- left: calc(100% + 5px);
151
- transform: translate(-0.5em, -50%);
152
- }
153
- }
154
-
155
- // FX: do the thing
156
- [data-tooltip][class*="blue-tooltip-up"]:hover,
157
- [data-tooltip][class*="blue-tooltip-down"]:hover {
158
- &::before,
159
- &::after {
160
- animation: tips-vert 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
161
- }
162
- }
163
-
164
- [data-tooltip][class$="blue-tooltip-end"]:hover::after {
165
- animation: tips-diag-right 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
166
- }
167
-
168
- [data-tooltip][class$="blue-tooltip-start"]:hover::after {
169
- animation: tips-diag-left 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
170
- }
171
-
172
- [data-tooltip].blue-tooltip-start:hover,
173
- [data-tooltip].blue-tooltip-end:hover {
174
- &::before,
175
- &::after {
176
- animation: tips-horz 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
177
- }
178
- }
179
-
180
- // don't show empty [data-tooltip]s
181
- [data-tooltip=""] {
182
- &::after,
183
- &::before {
184
- display: none !important;
185
- }
186
- }
187
188
 
188
- .blue-tooltip-nowrap {
189
- &::after {
190
- white-space: nowrap;
191
- overflow: hidden;
192
- text-overflow: ellipsis;
189
+ .blue-tooltip-nowrap {
190
+ &::after {
191
+ white-space: nowrap;
192
+ overflow: hidden;
193
+ text-overflow: ellipsis;
194
+ }
193
195
  }
194
196
  }
@@ -93,11 +93,26 @@ $scrollbar-size: 10px;
93
93
  --blue-sidebar-width: #{$bla-sidebar-width};
94
94
  --blue-sidebar-color: #{$sidebar-color};
95
95
  --blue-theme: var(--theme, #{$theme});
96
- --blue-shimmering: 0.8;
96
+ --blue-shimmering: 0.9;
97
97
 
98
98
  --blue-app-bg: #{$app-bg};
99
+
99
100
  --blue-sidebar-bg: #{$sidebar-bg};
101
+ --blue-sidebar-depth-1-bg: #{darken($sidebar-bg, 4%)};
102
+ --blue-sidebar-depth-2-bg: #{darken(darken($sidebar-bg, 4%), 4%)};
103
+ --blue-sidebar-depth-3-bg: #{darken(darken($sidebar-bg, 4%), 8%)};
104
+ --blue-sidebar-depth-4-bg: #{darken(darken($sidebar-bg, 4%), 12%)};
105
+ --blue-sidebar-depth-5-bg: #{darken(darken($sidebar-bg, 4%), 16%)};
106
+ --blue-sidebar-depth-6-bg: #{darken(darken($sidebar-bg, 4%), 20%)};
107
+
100
108
  --blue-header-bg: #{$header-bg};
109
+ --blue-header-depth-1-bg: #{darken($header-bg, 4%)};
110
+ --blue-header-depth-2-bg: #{darken(darken($header-bg, 4%), 4%)};
111
+ --blue-header-depth-3-bg: #{darken(darken($header-bg, 4%), 8%)};
112
+ --blue-header-depth-4-bg: #{darken(darken($header-bg, 4%), 12%)};
113
+ --blue-header-depth-5-bg: #{darken(darken($header-bg, 4%), 16%)};
114
+ --blue-header-depth-6-bg: #{darken(darken($header-bg, 4%), 20%)};
115
+
101
116
  --blue-header-color: #{$header-color};
102
117
  --blue-action-link-bg-color: var(--blue-theme);
103
118
  --blue-menu-item-indicator-bg: #{$sidebar-indicator-color};
@@ -8,19 +8,18 @@
8
8
  }
9
9
 
10
10
  @mixin actions($breakpoint) {
11
- @media screen and (max-width: $breakpoint + 1px) {
11
+ @media screen and (max-width: #{$breakpoint + 1px}) {
12
12
  &.open {
13
- --blue-action-link-bg-color: #{darken($theme, 30%)};
14
-
15
13
  display: block;
16
- background-color: var(--blue-action-link-bg-color);
17
- width: 100%;
14
+ background-color: var(--blue-header-depth-1-bg, #{darken($theme, 30%)});
15
+ width: auto;
18
16
  position: absolute;
19
17
  z-index: 1;
20
- left: 0;
21
- top: 0;
18
+ left: unset;
19
+ top: 0.25rem;
22
20
  box-shadow: 0.6rem 6rem 6rem rgba(0, 0, 0, 0.3);
23
21
  animation: fadeInDown 0.5s;
22
+ border-radius: $border-radius;
24
23
 
25
24
  @include show-action-menu-again();
26
25
 
@@ -28,7 +27,7 @@
28
27
  display: flex;
29
28
  flex-wrap: wrap;
30
29
  justify-content: center;
31
- flex-direction: row;
30
+ flex-direction: column;
32
31
 
33
32
  > li {
34
33
  text-align: center;
@@ -41,6 +41,9 @@
41
41
  }
42
42
 
43
43
  @mixin header-bg() {
44
- background-color: rgba(var(--bs-theme-rgb, $header-bg), var(--blue-shimmering, $shimmering));
44
+ background-image: linear-gradient(
45
+ rgba(var(--bs-theme-rgb, $header-bg), 1),
46
+ rgba(var(--bs-theme-rgb, $header-bg), var(--blue-shimmering, $shimmering))
47
+ );
45
48
  backdrop-filter: blur(3px) saturate(125%);
46
49
  }
@@ -4,12 +4,12 @@
4
4
  .blue-sidebar-after-hidden-on-open::after,
5
5
  .blue-sidebar-pseudo-hidden-on-open::before,
6
6
  .blue-sidebar-pseudo-hidden-on-open::after {
7
- display: none;
7
+ display: none !important;
8
8
  }
9
9
 
10
10
  .blue-sidebar-visible-on-open {
11
11
  animation: fade-in 1s;
12
- display: flex;
12
+ display: flex !important;
13
13
  }
14
14
 
15
15
  .blue-menu-item-label {
@@ -1,6 +1,6 @@
1
- /// <reference types="react" />
1
+ import { ReactNode } from "react";
2
2
  export interface HeaderProps {
3
- children?: any;
3
+ children?: ReactNode;
4
4
  }
5
5
  /**
6
6
  * The top of a page.
@@ -10,6 +10,9 @@ export declare function startLoading(): void;
10
10
  export declare function finishLoading(): void;
11
11
  export declare function showSuccess(): void;
12
12
  export declare function hideSuccess(): void;
13
+ /**
14
+ * @deprecated Is handled inside of `ActioMenu` component now
15
+ */
13
16
  export declare function toggleActions(): void;
14
17
  /**
15
18
  * Resets alert messages that was set with `setAlertMessage`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blue-react",
3
- "version": "9.6.0",
3
+ "version": "9.7.0-alpha1",
4
4
  "description": "Blue React Components",
5
5
  "license": "LGPL-3.0-or-later",
6
6
  "main": "index.js",