blue-web 1.3.1 → 1.4.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/style.scss CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Blue Web v1.3.1 (https://bruegmann.github.io/blue-web)
2
+ * Blue Web v1.4.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
 
@@ -19,6 +19,10 @@
19
19
 
20
20
  .navbar-nav > li > a {
21
21
  animation: fadeInDown 0.5s;
22
+
23
+ @media (prefers-reduced-motion) {
24
+ animation-duration: 0s;
25
+ }
22
26
  }
23
27
 
24
28
  &.none {
@@ -34,6 +34,10 @@
34
34
  transform: rotate(-45deg) translate(-50%, -50%);
35
35
  margin-top: calc((var(--caret-size) + var(--caret-strength)) * -1);
36
36
  transition: all 0.2s;
37
+
38
+ @media (prefers-reduced-motion) {
39
+ transition: none;
40
+ }
37
41
  }
38
42
 
39
43
  &.blue-caret-mirrored {
@@ -70,8 +70,12 @@ body {
70
70
  .pagination > li > a,
71
71
  .list-group a.list-group-item {
72
72
  &:not(.disabled):not(.readonly):not(.dropdown-toggle) {
73
- -webkit-transition: background-color 0.3s, color 0.15s, box-shadow 0.3s, opacity 0.3s;
74
73
  transition: background-color 0.3s, color 0.15s, box-shadow 0.3s, opacity 0.3s;
74
+
75
+ @media (prefers-reduced-motion) {
76
+ transition: none;
77
+ }
78
+
75
79
  position: relative;
76
80
 
77
81
  &:hover,
@@ -108,6 +112,10 @@ body {
108
112
 
109
113
  .sign-in-container {
110
114
  animation: enabledBlueAppPage 0.5s;
115
+
116
+ @media (prefers-reduced-motion) {
117
+ animation-duration: 0s;
118
+ }
111
119
  }
112
120
 
113
121
  @media screen and (min-width: 768px) {
@@ -127,6 +135,11 @@ body {
127
135
  padding-left: calc(#{$normal-size} + #{$spacer});
128
136
  transform: translateX(-100%);
129
137
  transition: transform 0.4s;
138
+
139
+ @media (prefers-reduced-motion) {
140
+ transition: none;
141
+ }
142
+
130
143
  background: var(--blue-sidebar-bg);
131
144
  color: $sidebar-color;
132
145
  }
@@ -44,6 +44,10 @@
44
44
 
45
45
  .blue-sidebar-hidden-on-open {
46
46
  animation: fade-in 1s;
47
+
48
+ @media (prefers-reduced-motion) {
49
+ animation-duration: 0s;
50
+ }
47
51
  }
48
52
  }
49
53
 
@@ -129,6 +133,11 @@
129
133
  .blue-page {
130
134
  margin-left: $normal-size;
131
135
  animation: enabledBlueAppPage 0.5s;
136
+
137
+ @media (prefers-reduced-motion) {
138
+ animation-duration: 0s;
139
+ }
140
+
132
141
  border-top-left-radius: var(--bs-border-radius, 0.5rem);
133
142
  border-top-right-radius: var(--bs-border-radius, 0.5rem);
134
143
  --bs-bg-opacity: 1;
@@ -161,6 +170,10 @@
161
170
 
162
171
  .blue-sidebar-toggler {
163
172
  transition: transform 0.5s;
173
+
174
+ @media (prefers-reduced-motion) {
175
+ transition: none;
176
+ }
164
177
  }
165
178
 
166
179
  .blue-layout:not(.open).disableHeaders .blue-sidebar-toggler {
@@ -227,6 +240,10 @@
227
240
  background-color: var(--blue-sidebar-bg);
228
241
  transition: box-shadow 0.2s;
229
242
 
243
+ @media (prefers-reduced-motion) {
244
+ transition: none;
245
+ }
246
+
230
247
  &.has-shadow {
231
248
  box-shadow: 0 -2rem 2rem rgba(black, 0.1);
232
249
  }
@@ -263,6 +280,11 @@
263
280
 
264
281
  .blue-menu-item {
265
282
  transition: width 0.5s, background-color 0.3s, color 0.15s, box-shadow 0.3s, opacity 0.3s !important;
283
+
284
+ @media (prefers-reduced-motion) {
285
+ transition: none !important;
286
+ }
287
+
266
288
  padding: 0.5rem 0.75rem;
267
289
  border: none;
268
290
 
@@ -303,6 +325,11 @@
303
325
  .blue-menu-item-dropdown {
304
326
  margin-left: 1rem;
305
327
  animation: blue-menu-item-dropdown 0.15s;
328
+
329
+ @media (prefers-reduced-motion) {
330
+ animation-duration: 0s;
331
+ }
332
+
306
333
  position: relative;
307
334
 
308
335
  &::before {
@@ -55,6 +55,10 @@
55
55
 
56
56
  .blue-search.blue-search-sidebar {
57
57
  transition: opacity 0.2s ease-in-out;
58
+
59
+ @media (prefers-reduced-motion) {
60
+ transition: none;
61
+ }
58
62
  }
59
63
 
60
64
  .blue-search.blue-search-sidebar:not(:hover):not(.focus) {
@@ -22,6 +22,10 @@
22
22
 
23
23
  .blue-sidebar-hidden-on-open {
24
24
  animation: fade-in 1s;
25
+
26
+ @media (prefers-reduced-motion) {
27
+ animation-duration: 0s;
28
+ }
25
29
  }
26
30
  }
27
31
  }
@@ -35,6 +39,10 @@
35
39
 
36
40
  .blue-menu-item-dropdown-from-start {
37
41
  animation: blue-menu-item-dropdown-from-start 0.15s;
42
+
43
+ @media (prefers-reduced-motion) {
44
+ animation-duration: 0s;
45
+ }
38
46
  }
39
47
 
40
48
  .blue-sidebar {
@@ -30,9 +30,18 @@
30
30
  background-repeat: no-repeat;
31
31
  background-position: 50%;
32
32
  animation: alert-in 1s;
33
+
34
+ @media (prefers-reduced-motion) {
35
+ animation-duration: 0s;
36
+ }
37
+
33
38
  transform: scale(10, 10);
34
39
  opacity: 0;
35
40
  transition: transform 0.5s, opacity 1s;
41
+
42
+ @media (prefers-reduced-motion) {
43
+ transition: none;
44
+ }
36
45
  }
37
46
 
38
47
  transform: translate3d(0, 0, 0);
@@ -109,7 +118,6 @@
109
118
  top: 0;
110
119
  left: 0;
111
120
 
112
- -webkit-animation: circlebounce 2s infinite ease-in-out;
113
121
  animation: circlebounce 2s infinite ease-in-out;
114
122
  }
115
123
 
@@ -117,31 +125,3 @@
117
125
  -webkit-animation-delay: -1s;
118
126
  animation-delay: -1s;
119
127
  }
120
-
121
- $bla-status-bar-width: 37.5rem;
122
- $bla-status-bar-loading-height: 2px;
123
-
124
- .blue-status-bar {
125
- background-color: rgba(0, 0, 0, 0.7);
126
- color: #fff;
127
- position: fixed;
128
- z-index: 6;
129
- // width: 100%;
130
- box-sizing: border-box;
131
- right: 0;
132
- bottom: 0;
133
- padding: 0.4rem;
134
- padding-top: calc(0.4rem + #{$bla-status-bar-loading-height});
135
- overflow: hidden;
136
-
137
- &::after {
138
- content: "";
139
- position: absolute;
140
- left: 0;
141
- top: 0;
142
- width: 100%;
143
- height: $bla-status-bar-loading-height;
144
- background-color: #5cb85c;
145
- animation: scrolling 1s linear infinite;
146
- }
147
- }
@@ -159,15 +159,27 @@
159
159
  &::before,
160
160
  &::after {
161
161
  animation: tips-vert 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
162
+
163
+ @media (prefers-reduced-motion) {
164
+ animation-duration: 0s;
165
+ }
162
166
  }
163
167
  }
164
168
 
165
169
  [data-tooltip][class$="blue-tooltip-end"]:hover::after {
166
170
  animation: tips-diag-right 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
171
+
172
+ @media (prefers-reduced-motion) {
173
+ animation-duration: 0s;
174
+ }
167
175
  }
168
176
 
169
177
  [data-tooltip][class$="blue-tooltip-start"]:hover::after {
170
178
  animation: tips-diag-left 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
179
+
180
+ @media (prefers-reduced-motion) {
181
+ animation-duration: 0s;
182
+ }
171
183
  }
172
184
 
173
185
  [data-tooltip].blue-tooltip-start:hover,
@@ -175,6 +187,10 @@
175
187
  &::before,
176
188
  &::after {
177
189
  animation: tips-horz 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
190
+
191
+ @media (prefers-reduced-motion) {
192
+ animation-duration: 0s;
193
+ }
178
194
  }
179
195
  }
180
196
 
@@ -19,6 +19,11 @@
19
19
  top: 0.25rem;
20
20
  box-shadow: 0.6rem 6rem 6rem rgba(0, 0, 0, 0.3);
21
21
  animation: fadeInDown 0.5s;
22
+
23
+ @media (prefers-reduced-motion) {
24
+ animation-duration: 0s;
25
+ }
26
+
22
27
  border-radius: $border-radius;
23
28
 
24
29
  @include show-action-menu-again();
@@ -10,6 +10,10 @@
10
10
  background-color: var(--blue-menu-item-indicator-bg);
11
11
  border-radius: 1rem;
12
12
  animation: blue-menu-item-indicator-in-from-side 0.2s ease-in-out;
13
+
14
+ @media (prefers-reduced-motion) {
15
+ animation-duration: 0s;
16
+ }
13
17
  }
14
18
 
15
19
  @mixin blue-menu-item-indicator-horizontal() {
@@ -20,6 +24,10 @@
20
24
  width: auto;
21
25
  height: 0.25rem;
22
26
  animation: blue-menu-item-indicator-in-from-below 0.2s ease-in-out;
27
+
28
+ @media (prefers-reduced-motion) {
29
+ animation-duration: 0s;
30
+ }
23
31
  }
24
32
 
25
33
  @mixin blue-menu-item-dropdown-for-shrunk-sidebar() {
@@ -32,6 +40,10 @@
32
40
  &::before,
33
41
  & {
34
42
  animation: tips-horz 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
43
+
44
+ @media (prefers-reduced-motion) {
45
+ animation-duration: 0s;
46
+ }
35
47
  }
36
48
 
37
49
  &::before {
@@ -38,6 +38,14 @@
38
38
  @mixin slide-transition() {
39
39
  $slide-transition: width 0.5s;
40
40
  transition: $slide-transition;
41
+
42
+ @media (prefers-reduced-motion) {
43
+ transition: none;
44
+ }
45
+
46
+ @media (prefers-reduced-motion) {
47
+ transition: none;
48
+ }
41
49
  }
42
50
 
43
51
  @mixin header-bg() {
@@ -11,6 +11,10 @@
11
11
  .blue-sidebar-d-flex-on-open,
12
12
  .blue-sidebar-d-block-on-open {
13
13
  animation: fade-in 1s;
14
+
15
+ @media (prefers-reduced-motion) {
16
+ animation-duration: 0s;
17
+ }
14
18
  }
15
19
 
16
20
  .blue-sidebar-visible-on-open,
@@ -111,6 +115,10 @@
111
115
  transform: scale(0.9);
112
116
  opacity: 0;
113
117
  transition: all 0.2s;
118
+
119
+ @media (prefers-reduced-motion) {
120
+ transition: none;
121
+ }
114
122
  }
115
123
 
116
124
  &[draggable] {
@@ -1,10 +1,4 @@
1
- @mixin switch(
2
- $width: 35px,
3
- $height: 20px,
4
- $padding: 3px,
5
- $color: $body-color,
6
- $color-active: $success
7
- ) {
1
+ @mixin switch($width: 35px, $height: 20px, $padding: 3px, $color: $body-color, $color-active: $success) {
8
2
  $slider-size: $height - ($padding * 2);
9
3
 
10
4
  & {
@@ -35,6 +29,11 @@
35
29
  bottom: 0;
36
30
  background-color: $input-group-addon-bg;
37
31
  transition: 0.4s;
32
+
33
+ @media (prefers-reduced-motion) {
34
+ transition: none;
35
+ }
36
+
38
37
  box-shadow: inset 0 0 0 1px rgba($color, 0.5);
39
38
 
40
39
  &::before {
@@ -46,6 +45,10 @@
46
45
  bottom: $padding;
47
46
  background-color: $color;
48
47
  transition: 0.4s;
48
+
49
+ @media (prefers-reduced-motion) {
50
+ transition: none;
51
+ }
49
52
  }
50
53
 
51
54
  &::after {
@@ -56,6 +59,11 @@
56
59
  transform: translate(-50%, -50%);
57
60
  margin-left: ($slider-size * 0.5);
58
61
  transition: margin-left 0.4s;
62
+
63
+ @media (prefers-reduced-motion) {
64
+ transition: none;
65
+ }
66
+
59
67
  color: $color;
60
68
  }
61
69
  }
@@ -66,9 +74,7 @@
66
74
  box-shadow: inset 0 0 12px rgba(255, 255, 255, 0.3);
67
75
 
68
76
  &::before {
69
- transform: translateX(
70
- $width - $slider-size - ($padding * 2)
71
- );
77
+ transform: translateX($width - $slider-size - ($padding * 2));
72
78
  background-color: white;
73
79
  }
74
80
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blue-web",
3
- "version": "1.3.1",
3
+ "version": "1.4.0",
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",
@@ -17,8 +17,10 @@
17
17
  "build-types": "tsc --declaration --emitDeclarationOnly --declarationDir ./dist/js --noEmit false --project tsconfig.build.json",
18
18
  "build": "babel ./src/js --out-dir ./dist/js --extensions \".tsx,.js,.ts\"",
19
19
  "build-bundles": "webpack",
20
- "build-css": "node ./setVersionToStyleScss.js && node-sass ./dist/style.scss ./dist/style.css && npx postcss ./dist/style.css --use autoprefixer -r && npx postcss ./dist/style.css --use postcss-minify -o ./dist/style.min.css",
21
- "build-neu-css": "node-sass ./dist/neu.scss ./dist/neu.css && npx postcss ./dist/neu.css --use autoprefixer -r && npx postcss ./dist/neu.css --use postcss-minify -o ./dist/neu.min.css",
20
+ "build-css-legacy": "node ./setVersionToStyleScss.js && node-sass ./dist/style.scss ./dist/style.css && npx postcss ./dist/style.css --use autoprefixer -r && npx postcss ./dist/style.css --use postcss-minify -o ./dist/style.min.css",
21
+ "build-css": "node ./setVersionToStyleScss.js && sass --load-path=. ./dist/style.scss:./dist/style.css && npx postcss ./dist/style.css --use autoprefixer -r && npx postcss ./dist/style.css --use postcss-minify -o ./dist/style.min.css",
22
+ "build-neu-css-legacy": "node-sass ./dist/neu.scss ./dist/neu.css && npx postcss ./dist/neu.css --use autoprefixer -r && npx postcss ./dist/neu.css --use postcss-minify -o ./dist/neu.min.css",
23
+ "build-neu-css": "sass --load-path=. ./dist/neu.scss:./dist/neu.css && npx postcss ./dist/neu.css --use autoprefixer -r && npx postcss ./dist/neu.css --use postcss-minify -o ./dist/neu.min.css",
22
24
  "build-release": "npm run build-types && npm run build && npm run build-bundles && npm run build-css",
23
25
  "test": "react-scripts test",
24
26
  "eject": "react-scripts eject",
@@ -65,6 +67,7 @@
65
67
  "react-scripts": "^5.0.1",
66
68
  "react-syntax-highlighter": "^15.4.3",
67
69
  "reactstrap": "^9.0.0-0",
70
+ "sass": "~1.77.6",
68
71
  "typescript": "^4.3.5",
69
72
  "webpack": "^5.95.0",
70
73
  "webpack-cli": "^5.1.4"