raain-ui 2.3.21 → 2.3.23
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/CHANGELOG.md +9 -0
- package/README.md +5 -56
- package/data/wind-markers.css +71 -536
- package/drawers/CartesianDrawer.js +2 -2
- package/drawers/PolarDrawer.js +3 -3
- package/factories/DynamicDateStatusElement.js +5 -6
- package/factories/MapElement.d.ts +19 -20
- package/factories/MapElement.js +52 -50
- package/layers/MarkersLayer.d.ts +3 -3
- package/layers/MarkersLayer.js +13 -12
- package/package.json +3 -3
- package/tools/RaainDivIcon.d.ts +130 -0
- package/tools/RaainDivIcon.js +243 -0
- package/tools/index.d.ts +1 -0
- package/tools/index.js +2 -1
- package/utils/spinning-ball-wrapper.js +2 -2
- package/data/wind-markers-test.css +0 -174
- package/data/wind-markers.v1.css +0 -260
- package/data/wind-markers.v2.css +0 -619
package/data/wind-markers.css
CHANGED
|
@@ -1,93 +1,60 @@
|
|
|
1
1
|
/* ============================================================================
|
|
2
|
-
* Wind Speed/Direction
|
|
2
|
+
* Wind Speed/Direction Static Display for Leaflet Markers
|
|
3
3
|
* ============================================================================
|
|
4
4
|
* Usage: Import this CSS file in your app's global styles or index.html
|
|
5
5
|
*
|
|
6
|
-
* @import "~raain-ui/data/wind-markers.css";
|
|
6
|
+
* @import "~raain-ui/data/wind-markers-static.css";
|
|
7
7
|
*
|
|
8
8
|
* Or in HTML:
|
|
9
|
-
* <link rel="stylesheet" href="node_modules/raain-ui/dist/data/wind-markers.css">
|
|
9
|
+
* <link rel="stylesheet" href="node_modules/raain-ui/dist/data/wind-markers-static.css">
|
|
10
10
|
*
|
|
11
11
|
* Then apply classes to markers via MapElement.changeMarkerStyle():
|
|
12
|
-
* mapElement.changeMarkerStyle(marker, 'marker-wind marker-wind-200', {strength: 10, trustful: 0.5});
|
|
12
|
+
* mapElement.changeMarkerStyle(marker, 'marker-wind-static marker-wind-static-200', {strength: 10, trustful: 0.5});
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
/* Base wind marker class */
|
|
16
|
-
.marker-wind {
|
|
17
|
-
/* Calculate animation speed: stronger wind = faster animation */
|
|
18
|
-
--duration: calc(5s - (min(var(--strength, 5), 25) * 0.08s));
|
|
19
|
-
|
|
20
|
-
/* Calculate displacement: subtle animation, reduced from original */
|
|
21
|
-
--displacement: calc(var(--strength, 5) * 2);
|
|
22
|
-
|
|
15
|
+
/* Base wind marker class - static rotation only */
|
|
16
|
+
.marker-wind-static {
|
|
23
17
|
/* Trustful parameter: 0 = red (untrusted), 1 = original (trusted) */
|
|
24
18
|
--trustful: 1;
|
|
25
19
|
|
|
26
20
|
/* Calculate red overlay intensity: (1 - trustful) gives us 0 at trustful=1, 1 at trustful=0 */
|
|
27
21
|
--red-intensity: calc(1 - var(--trustful, 1));
|
|
28
22
|
|
|
29
|
-
/* Visual glow intensity based on strength and trustfulness */
|
|
30
|
-
/* When trustful is low, glow becomes red; when high, glow is blue */
|
|
31
|
-
filter: drop-shadow(0 0 calc(var(--strength, 5) * 0.5px) rgba(
|
|
32
|
-
calc(100 + 155 * var(--red-intensity)),
|
|
33
|
-
calc(150 * var(--trustful, 1)),
|
|
34
|
-
calc(255 * var(--trustful, 1)),
|
|
35
|
-
0.8
|
|
36
|
-
));
|
|
37
|
-
|
|
38
23
|
/* Rotation will be set by direction-specific classes */
|
|
39
24
|
--rotation: 0deg;
|
|
40
|
-
}
|
|
41
25
|
|
|
42
|
-
.marker-wind img {
|
|
43
26
|
/* Apply red colorization based on trustful value */
|
|
44
27
|
/* Strong red tint: grayscale removes color, then apply red via sepia+hue */
|
|
45
28
|
filter: grayscale(var(--red-intensity)) sepia(var(--red-intensity)) saturate(calc(1 + var(--red-intensity) * 5)) hue-rotate(calc(var(--red-intensity) * -50deg));
|
|
46
29
|
|
|
47
|
-
/*
|
|
48
|
-
transform
|
|
30
|
+
/* Smooth rotation transition when angle changes */
|
|
31
|
+
/* Rotation is applied via JavaScript by modifying the transform property
|
|
32
|
+
transition: transform 0.3s ease-out;
|
|
33
|
+
*/
|
|
49
34
|
}
|
|
50
35
|
|
|
51
|
-
/*
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
0
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/* Travel mode pulse - fade out at destination */
|
|
71
|
-
@keyframes wind-pulse-travel {
|
|
72
|
-
0% {
|
|
73
|
-
filter: grayscale(var(--red-intensity)) sepia(var(--red-intensity)) saturate(calc(1 + var(--red-intensity) * 5)) hue-rotate(calc(var(--red-intensity) * -50deg));
|
|
74
|
-
}
|
|
75
|
-
70% {
|
|
76
|
-
filter: grayscale(var(--red-intensity)) sepia(var(--red-intensity)) saturate(calc(1 + var(--red-intensity) * 5)) hue-rotate(calc(var(--red-intensity) * -50deg));
|
|
77
|
-
}
|
|
78
|
-
71%, 99% {
|
|
79
|
-
filter: grayscale(var(--red-intensity)) sepia(var(--red-intensity)) saturate(calc(1 + var(--red-intensity) * 5)) hue-rotate(calc(var(--red-intensity) * -50deg));
|
|
80
|
-
}
|
|
81
|
-
100% {
|
|
82
|
-
filter: grayscale(var(--red-intensity)) sepia(var(--red-intensity)) saturate(calc(1 + var(--red-intensity) * 5)) hue-rotate(calc(var(--red-intensity) * -50deg));
|
|
83
|
-
}
|
|
36
|
+
/* Speed text label - as a real DOM element (not pseudo-element) */
|
|
37
|
+
.wind-speed-label {
|
|
38
|
+
position: absolute;
|
|
39
|
+
top: -25px;
|
|
40
|
+
left: 50%;
|
|
41
|
+
transform: translateX(-50%);
|
|
42
|
+
font-size: 11px;
|
|
43
|
+
font-weight: bold;
|
|
44
|
+
color: rgba(255, 255, 255, 0.95);
|
|
45
|
+
background: rgba(0, 0, 0, 0.6);
|
|
46
|
+
padding: 2px 5px;
|
|
47
|
+
border-radius: 3px;
|
|
48
|
+
text-shadow: 0 0 2px rgba(0, 0, 0, 0.8);
|
|
49
|
+
pointer-events: none;
|
|
50
|
+
white-space: nowrap;
|
|
51
|
+
z-index: 1000;
|
|
84
52
|
}
|
|
85
53
|
|
|
86
|
-
/* Direction arrow indicator */
|
|
87
|
-
.
|
|
88
|
-
content: '→';
|
|
54
|
+
/* Direction arrow indicator - as a real DOM element (not pseudo-element) */
|
|
55
|
+
.wind-arrow-indicator {
|
|
89
56
|
position: absolute;
|
|
90
|
-
top: -
|
|
57
|
+
top: -45px;
|
|
91
58
|
left: 50%;
|
|
92
59
|
font-size: 18px;
|
|
93
60
|
font-weight: bold;
|
|
@@ -95,540 +62,108 @@
|
|
|
95
62
|
text-shadow: 0 0 4px rgba(0, 0, 0, 0.7);
|
|
96
63
|
pointer-events: none;
|
|
97
64
|
transform-origin: center;
|
|
65
|
+
z-index: 1000;
|
|
98
66
|
}
|
|
99
67
|
|
|
100
|
-
/*
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
.marker-wind-0::after, .marker-wind-360::after {
|
|
68
|
+
/* Rotate arrow based on parent's rotation variable
|
|
69
|
+
.marker-wind-static-0 ~ .wind-arrow-indicator,
|
|
70
|
+
.marker-wind-static-360 ~ .wind-arrow-indicator {
|
|
105
71
|
transform: translateX(-50%) rotate(180deg);
|
|
106
72
|
}
|
|
107
73
|
|
|
108
|
-
.marker-wind-
|
|
109
|
-
--rotation: -90deg;
|
|
110
|
-
animation: wind-0 var(--duration) ease-in-out infinite, wind-pulse var(--duration) ease-in-out infinite;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
@keyframes wind-0 {
|
|
114
|
-
0%, 100% {
|
|
115
|
-
translate: 0 0;
|
|
116
|
-
}
|
|
117
|
-
50% {
|
|
118
|
-
translate: 0 calc(var(--displacement) * -1px);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
.marker-wind-travel.marker-wind-0, .marker-wind-travel.marker-wind-360 {
|
|
123
|
-
animation: wind-0-travel var(--duration) linear infinite, wind-pulse-travel var(--duration) linear infinite;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
@keyframes wind-0-travel {
|
|
127
|
-
0% {
|
|
128
|
-
translate: 0 0;
|
|
129
|
-
opacity: 1;
|
|
130
|
-
}
|
|
131
|
-
70% {
|
|
132
|
-
translate: 0 calc(var(--displacement) * -1px);
|
|
133
|
-
opacity: 1;
|
|
134
|
-
}
|
|
135
|
-
71% {
|
|
136
|
-
opacity: 0;
|
|
137
|
-
}
|
|
138
|
-
99% {
|
|
139
|
-
translate: 0 0;
|
|
140
|
-
opacity: 0;
|
|
141
|
-
}
|
|
142
|
-
100% {
|
|
143
|
-
translate: 0 0;
|
|
144
|
-
opacity: 1;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
.marker-wind-10::after {
|
|
74
|
+
.marker-wind-static-10 ~ .wind-arrow-indicator {
|
|
149
75
|
transform: translateX(-50%) rotate(190deg);
|
|
150
76
|
}
|
|
151
77
|
|
|
152
|
-
.marker-wind-
|
|
153
|
-
--rotation: -80deg;
|
|
154
|
-
animation: wind-10 var(--duration) ease-in-out infinite, wind-pulse var(--duration) ease-in-out infinite;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
@keyframes wind-10 {
|
|
158
|
-
0%, 100% {
|
|
159
|
-
translate: 0 0;
|
|
160
|
-
}
|
|
161
|
-
50% {
|
|
162
|
-
translate: calc(var(--displacement) * 0.17px) calc(var(--displacement) * -0.98px);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
.marker-wind-20::after {
|
|
78
|
+
.marker-wind-static-20 ~ .wind-arrow-indicator {
|
|
167
79
|
transform: translateX(-50%) rotate(200deg);
|
|
168
80
|
}
|
|
169
81
|
|
|
170
|
-
.marker-wind-
|
|
171
|
-
--rotation: -70deg;
|
|
172
|
-
animation: wind-20 var(--duration) ease-in-out infinite, wind-pulse var(--duration) ease-in-out infinite;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
@keyframes wind-20 {
|
|
176
|
-
0%, 100% {
|
|
177
|
-
translate: 0 0;
|
|
178
|
-
}
|
|
179
|
-
50% {
|
|
180
|
-
translate: calc(var(--displacement) * 0.34px) calc(var(--displacement) * -0.94px);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
.marker-wind-30::after {
|
|
82
|
+
.marker-wind-static-30 ~ .wind-arrow-indicator {
|
|
185
83
|
transform: translateX(-50%) rotate(210deg);
|
|
186
84
|
}
|
|
187
85
|
|
|
188
|
-
.marker-wind-
|
|
189
|
-
--rotation: -60deg;
|
|
190
|
-
animation: wind-30 var(--duration) ease-in-out infinite, wind-pulse var(--duration) ease-in-out infinite;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
@keyframes wind-30 {
|
|
194
|
-
0%, 100% {
|
|
195
|
-
translate: 0 0;
|
|
196
|
-
}
|
|
197
|
-
50% {
|
|
198
|
-
translate: calc(var(--displacement) * 0.5px) calc(var(--displacement) * -0.87px);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
.marker-wind-45::after {
|
|
86
|
+
.marker-wind-static-45 ~ .wind-arrow-indicator {
|
|
203
87
|
transform: translateX(-50%) rotate(225deg);
|
|
204
88
|
}
|
|
205
89
|
|
|
206
|
-
.marker-wind-
|
|
207
|
-
--rotation: -45deg;
|
|
208
|
-
animation: wind-45 var(--duration) ease-in-out infinite, wind-pulse var(--duration) ease-in-out infinite;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
@keyframes wind-45 {
|
|
212
|
-
0%, 100% {
|
|
213
|
-
translate: 0 0;
|
|
214
|
-
}
|
|
215
|
-
50% {
|
|
216
|
-
translate: calc(var(--displacement) * 0.71px) calc(var(--displacement) * -0.71px);
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
.marker-wind-90::after {
|
|
90
|
+
.marker-wind-static-90 ~ .wind-arrow-indicator {
|
|
221
91
|
transform: translateX(-50%) rotate(270deg);
|
|
222
92
|
}
|
|
223
93
|
|
|
224
|
-
.marker-wind-
|
|
225
|
-
--rotation: 0deg;
|
|
226
|
-
animation: wind-90 var(--duration) ease-in-out infinite, wind-pulse var(--duration) ease-in-out infinite;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
@keyframes wind-90 {
|
|
230
|
-
0%, 100% {
|
|
231
|
-
translate: 0 0;
|
|
232
|
-
}
|
|
233
|
-
50% {
|
|
234
|
-
translate: calc(var(--displacement) * 1px) 0;
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
.marker-wind-135::after {
|
|
94
|
+
.marker-wind-static-135 ~ .wind-arrow-indicator {
|
|
239
95
|
transform: translateX(-50%) rotate(315deg);
|
|
240
96
|
}
|
|
241
97
|
|
|
242
|
-
.marker-wind-
|
|
243
|
-
--rotation: 45deg;
|
|
244
|
-
animation: wind-135 var(--duration) ease-in-out infinite, wind-pulse var(--duration) ease-in-out infinite;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
@keyframes wind-135 {
|
|
248
|
-
0%, 100% {
|
|
249
|
-
translate: 0 0;
|
|
250
|
-
}
|
|
251
|
-
50% {
|
|
252
|
-
translate: calc(var(--displacement) * 0.71px) calc(var(--displacement) * 0.71px);
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
.marker-wind-180::after {
|
|
98
|
+
.marker-wind-static-180 ~ .wind-arrow-indicator {
|
|
257
99
|
transform: translateX(-50%) rotate(0deg);
|
|
258
100
|
}
|
|
259
101
|
|
|
260
|
-
.marker-wind-
|
|
261
|
-
--rotation: 90deg;
|
|
262
|
-
animation: wind-180 var(--duration) ease-in-out infinite, wind-pulse var(--duration) ease-in-out infinite;
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
@keyframes wind-180 {
|
|
266
|
-
0%, 100% {
|
|
267
|
-
translate: 0 0;
|
|
268
|
-
}
|
|
269
|
-
50% {
|
|
270
|
-
translate: 0 calc(var(--displacement) * 1px);
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
.marker-wind-200::after {
|
|
102
|
+
.marker-wind-static-200 ~ .wind-arrow-indicator {
|
|
275
103
|
transform: translateX(-50%) rotate(20deg);
|
|
276
104
|
}
|
|
277
105
|
|
|
278
|
-
.marker-wind-
|
|
279
|
-
--rotation: 110deg;
|
|
280
|
-
animation: wind-200 var(--duration) ease-in-out infinite, wind-pulse var(--duration) ease-in-out infinite;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
@keyframes wind-200 {
|
|
284
|
-
0%, 100% {
|
|
285
|
-
translate: 0 0;
|
|
286
|
-
}
|
|
287
|
-
50% {
|
|
288
|
-
translate: calc(var(--displacement) * 0.34px) calc(var(--displacement) * 0.94px);
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
.marker-wind-225::after {
|
|
106
|
+
.marker-wind-static-225 ~ .wind-arrow-indicator {
|
|
293
107
|
transform: translateX(-50%) rotate(45deg);
|
|
294
108
|
}
|
|
295
109
|
|
|
296
|
-
.marker-wind-
|
|
297
|
-
--rotation: 135deg;
|
|
298
|
-
animation: wind-225 var(--duration) ease-in-out infinite, wind-pulse var(--duration) ease-in-out infinite;
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
@keyframes wind-225 {
|
|
302
|
-
0%, 100% {
|
|
303
|
-
translate: 0 0;
|
|
304
|
-
}
|
|
305
|
-
50% {
|
|
306
|
-
translate: calc(var(--displacement) * -0.71px) calc(var(--displacement) * 0.71px);
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
.marker-wind-270::after {
|
|
110
|
+
.marker-wind-static-270 ~ .wind-arrow-indicator {
|
|
311
111
|
transform: translateX(-50%) rotate(90deg);
|
|
312
112
|
}
|
|
313
113
|
|
|
314
|
-
.marker-wind-
|
|
315
|
-
--rotation: 180deg;
|
|
316
|
-
animation: wind-270 var(--duration) ease-in-out infinite, wind-pulse var(--duration) ease-in-out infinite;
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
@keyframes wind-270 {
|
|
320
|
-
0%, 100% {
|
|
321
|
-
translate: 0 0;
|
|
322
|
-
}
|
|
323
|
-
50% {
|
|
324
|
-
translate: calc(var(--displacement) * -1px) 0;
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
.marker-wind-315::after {
|
|
114
|
+
.marker-wind-static-315 ~ .wind-arrow-indicator {
|
|
329
115
|
transform: translateX(-50%) rotate(135deg);
|
|
330
116
|
}
|
|
331
117
|
|
|
332
|
-
|
|
333
|
-
--rotation: -135deg;
|
|
334
|
-
animation: wind-315 var(--duration) ease-in-out infinite, wind-pulse var(--duration) ease-in-out infinite;
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
@keyframes wind-315 {
|
|
338
|
-
0%, 100% {
|
|
339
|
-
translate: 0 0;
|
|
340
|
-
}
|
|
341
|
-
50% {
|
|
342
|
-
translate: calc(var(--displacement) * -0.71px) calc(var(--displacement) * -0.71px);
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
/* ============================================================================
|
|
347
|
-
* Travel Mode Animations - Move from source to target, disappear, reappear
|
|
348
|
-
* ============================================================================ */
|
|
349
|
-
|
|
350
|
-
.marker-wind-travel.marker-wind-10 {
|
|
351
|
-
animation: wind-10-travel var(--duration) linear infinite, wind-pulse-travel var(--duration) linear infinite;
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
@keyframes wind-10-travel {
|
|
355
|
-
0% {
|
|
356
|
-
translate: 0 0;
|
|
357
|
-
opacity: 1;
|
|
358
|
-
}
|
|
359
|
-
70% {
|
|
360
|
-
translate: calc(var(--displacement) * 0.17px) calc(var(--displacement) * -0.98px);
|
|
361
|
-
opacity: 1;
|
|
362
|
-
}
|
|
363
|
-
71% {
|
|
364
|
-
opacity: 0;
|
|
365
|
-
}
|
|
366
|
-
99% {
|
|
367
|
-
translate: 0 0;
|
|
368
|
-
opacity: 0;
|
|
369
|
-
}
|
|
370
|
-
100% {
|
|
371
|
-
translate: 0 0;
|
|
372
|
-
opacity: 1;
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
.marker-wind-travel.marker-wind-20 {
|
|
377
|
-
animation: wind-20-travel var(--duration) linear infinite, wind-pulse-travel var(--duration) linear infinite;
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
@keyframes wind-20-travel {
|
|
381
|
-
0% {
|
|
382
|
-
translate: 0 0;
|
|
383
|
-
opacity: 1;
|
|
384
|
-
}
|
|
385
|
-
70% {
|
|
386
|
-
translate: calc(var(--displacement) * 0.34px) calc(var(--displacement) * -0.94px);
|
|
387
|
-
opacity: 1;
|
|
388
|
-
}
|
|
389
|
-
71% {
|
|
390
|
-
opacity: 0;
|
|
391
|
-
}
|
|
392
|
-
99% {
|
|
393
|
-
translate: 0 0;
|
|
394
|
-
opacity: 0;
|
|
395
|
-
}
|
|
396
|
-
100% {
|
|
397
|
-
translate: 0 0;
|
|
398
|
-
opacity: 1;
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
.marker-wind-travel.marker-wind-30 {
|
|
403
|
-
animation: wind-30-travel var(--duration) linear infinite, wind-pulse-travel var(--duration) linear infinite;
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
@keyframes wind-30-travel {
|
|
407
|
-
0% {
|
|
408
|
-
translate: 0 0;
|
|
409
|
-
opacity: 1;
|
|
410
|
-
}
|
|
411
|
-
70% {
|
|
412
|
-
translate: calc(var(--displacement) * 0.5px) calc(var(--displacement) * -0.87px);
|
|
413
|
-
opacity: 1;
|
|
414
|
-
}
|
|
415
|
-
71% {
|
|
416
|
-
opacity: 0;
|
|
417
|
-
}
|
|
418
|
-
99% {
|
|
419
|
-
translate: 0 0;
|
|
420
|
-
opacity: 0;
|
|
421
|
-
}
|
|
422
|
-
100% {
|
|
423
|
-
translate: 0 0;
|
|
424
|
-
opacity: 1;
|
|
425
|
-
}
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
.marker-wind-travel.marker-wind-45 {
|
|
429
|
-
animation: wind-45-travel var(--duration) linear infinite, wind-pulse-travel var(--duration) linear infinite;
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
@keyframes wind-45-travel {
|
|
433
|
-
0% {
|
|
434
|
-
translate: 0 0;
|
|
435
|
-
opacity: 1;
|
|
436
|
-
}
|
|
437
|
-
70% {
|
|
438
|
-
translate: calc(var(--displacement) * 0.71px) calc(var(--displacement) * -0.71px);
|
|
439
|
-
opacity: 1;
|
|
440
|
-
}
|
|
441
|
-
71% {
|
|
442
|
-
opacity: 0;
|
|
443
|
-
}
|
|
444
|
-
99% {
|
|
445
|
-
translate: 0 0;
|
|
446
|
-
opacity: 0;
|
|
447
|
-
}
|
|
448
|
-
100% {
|
|
449
|
-
translate: 0 0;
|
|
450
|
-
opacity: 1;
|
|
451
|
-
}
|
|
452
|
-
}
|
|
453
|
-
|
|
454
|
-
.marker-wind-travel.marker-wind-90 {
|
|
455
|
-
animation: wind-90-travel var(--duration) linear infinite, wind-pulse-travel var(--duration) linear infinite;
|
|
456
|
-
}
|
|
118
|
+
*/
|
|
457
119
|
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
translate: 0 0;
|
|
461
|
-
opacity: 1;
|
|
462
|
-
}
|
|
463
|
-
70% {
|
|
464
|
-
translate: calc(var(--displacement) * 1px) 0;
|
|
465
|
-
opacity: 1;
|
|
466
|
-
}
|
|
467
|
-
71% {
|
|
468
|
-
opacity: 0;
|
|
469
|
-
}
|
|
470
|
-
99% {
|
|
471
|
-
translate: 0 0;
|
|
472
|
-
opacity: 0;
|
|
473
|
-
}
|
|
474
|
-
100% {
|
|
475
|
-
translate: 0 0;
|
|
476
|
-
opacity: 1;
|
|
477
|
-
}
|
|
478
|
-
}
|
|
120
|
+
/* Wind direction classes for every available degree */
|
|
121
|
+
/* Azimuth 0 = North (upward), 90 = East (right), 180 = South (down), 270 = West (left)*/
|
|
479
122
|
|
|
480
|
-
.marker-wind-
|
|
481
|
-
|
|
123
|
+
.marker-wind-static-0 .marker-wind-static-360 {
|
|
124
|
+
--rotation: 0deg;
|
|
482
125
|
}
|
|
483
126
|
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
translate: 0 0;
|
|
487
|
-
opacity: 1;
|
|
488
|
-
}
|
|
489
|
-
70% {
|
|
490
|
-
translate: calc(var(--displacement) * 0.71px) calc(var(--displacement) * 0.71px);
|
|
491
|
-
opacity: 1;
|
|
492
|
-
}
|
|
493
|
-
71% {
|
|
494
|
-
opacity: 0;
|
|
495
|
-
}
|
|
496
|
-
99% {
|
|
497
|
-
translate: 0 0;
|
|
498
|
-
opacity: 0;
|
|
499
|
-
}
|
|
500
|
-
100% {
|
|
501
|
-
translate: 0 0;
|
|
502
|
-
opacity: 1;
|
|
503
|
-
}
|
|
127
|
+
.marker-wind-static-10 {
|
|
128
|
+
--rotation: 10deg;
|
|
504
129
|
}
|
|
505
130
|
|
|
506
|
-
.marker-wind-
|
|
507
|
-
|
|
131
|
+
.marker-wind-static-20 {
|
|
132
|
+
--rotation: 20deg;
|
|
508
133
|
}
|
|
509
134
|
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
translate: 0 0;
|
|
513
|
-
opacity: 1;
|
|
514
|
-
}
|
|
515
|
-
70% {
|
|
516
|
-
translate: 0 calc(var(--displacement) * 1px);
|
|
517
|
-
opacity: 1;
|
|
518
|
-
}
|
|
519
|
-
71% {
|
|
520
|
-
opacity: 0;
|
|
521
|
-
}
|
|
522
|
-
99% {
|
|
523
|
-
translate: 0 0;
|
|
524
|
-
opacity: 0;
|
|
525
|
-
}
|
|
526
|
-
100% {
|
|
527
|
-
translate: 0 0;
|
|
528
|
-
opacity: 1;
|
|
529
|
-
}
|
|
135
|
+
.marker-wind-static-30 {
|
|
136
|
+
--rotation: 30deg;
|
|
530
137
|
}
|
|
531
138
|
|
|
532
|
-
.marker-wind-
|
|
533
|
-
|
|
139
|
+
.marker-wind-static-45 {
|
|
140
|
+
--rotation: 45deg;
|
|
534
141
|
}
|
|
535
142
|
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
translate: 0 0;
|
|
539
|
-
opacity: 1;
|
|
540
|
-
}
|
|
541
|
-
70% {
|
|
542
|
-
translate: calc(var(--displacement) * 0.34px) calc(var(--displacement) * 0.94px);
|
|
543
|
-
opacity: 1;
|
|
544
|
-
}
|
|
545
|
-
71% {
|
|
546
|
-
opacity: 0;
|
|
547
|
-
}
|
|
548
|
-
99% {
|
|
549
|
-
translate: 0 0;
|
|
550
|
-
opacity: 0;
|
|
551
|
-
}
|
|
552
|
-
100% {
|
|
553
|
-
translate: 0 0;
|
|
554
|
-
opacity: 1;
|
|
555
|
-
}
|
|
143
|
+
.marker-wind-static-90 {
|
|
144
|
+
--rotation: 90deg;
|
|
556
145
|
}
|
|
557
146
|
|
|
558
|
-
.marker-wind-
|
|
559
|
-
|
|
147
|
+
.marker-wind-static-135 {
|
|
148
|
+
--rotation: 135deg;
|
|
560
149
|
}
|
|
561
150
|
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
translate: 0 0;
|
|
565
|
-
opacity: 1;
|
|
566
|
-
}
|
|
567
|
-
70% {
|
|
568
|
-
translate: calc(var(--displacement) * -0.71px) calc(var(--displacement) * 0.71px);
|
|
569
|
-
opacity: 1;
|
|
570
|
-
}
|
|
571
|
-
71% {
|
|
572
|
-
opacity: 0;
|
|
573
|
-
}
|
|
574
|
-
99% {
|
|
575
|
-
translate: 0 0;
|
|
576
|
-
opacity: 0;
|
|
577
|
-
}
|
|
578
|
-
100% {
|
|
579
|
-
translate: 0 0;
|
|
580
|
-
opacity: 1;
|
|
581
|
-
}
|
|
151
|
+
.marker-wind-static-180 {
|
|
152
|
+
--rotation: 180deg;
|
|
582
153
|
}
|
|
583
154
|
|
|
584
|
-
.marker-wind-
|
|
585
|
-
|
|
155
|
+
.marker-wind-static-200 {
|
|
156
|
+
--rotation: 200deg;
|
|
586
157
|
}
|
|
587
158
|
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
translate: 0 0;
|
|
591
|
-
opacity: 1;
|
|
592
|
-
}
|
|
593
|
-
70% {
|
|
594
|
-
translate: calc(var(--displacement) * -1px) 0;
|
|
595
|
-
opacity: 1;
|
|
596
|
-
}
|
|
597
|
-
71% {
|
|
598
|
-
opacity: 0;
|
|
599
|
-
}
|
|
600
|
-
99% {
|
|
601
|
-
translate: 0 0;
|
|
602
|
-
opacity: 0;
|
|
603
|
-
}
|
|
604
|
-
100% {
|
|
605
|
-
translate: 0 0;
|
|
606
|
-
opacity: 1;
|
|
607
|
-
}
|
|
159
|
+
.marker-wind-static-225 {
|
|
160
|
+
--rotation: 225deg;
|
|
608
161
|
}
|
|
609
162
|
|
|
610
|
-
.marker-wind-
|
|
611
|
-
|
|
163
|
+
.marker-wind-static-270 {
|
|
164
|
+
--rotation: 270deg;
|
|
612
165
|
}
|
|
613
166
|
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
translate: 0 0;
|
|
617
|
-
opacity: 1;
|
|
618
|
-
}
|
|
619
|
-
70% {
|
|
620
|
-
translate: calc(var(--displacement) * -0.71px) calc(var(--displacement) * -0.71px);
|
|
621
|
-
opacity: 1;
|
|
622
|
-
}
|
|
623
|
-
71% {
|
|
624
|
-
opacity: 0;
|
|
625
|
-
}
|
|
626
|
-
99% {
|
|
627
|
-
translate: 0 0;
|
|
628
|
-
opacity: 0;
|
|
629
|
-
}
|
|
630
|
-
100% {
|
|
631
|
-
translate: 0 0;
|
|
632
|
-
opacity: 1;
|
|
633
|
-
}
|
|
167
|
+
.marker-wind-static-315 {
|
|
168
|
+
--rotation: 315deg;
|
|
634
169
|
}
|