@3deye-toolkit/react-event-list 0.0.1-alpha.21 → 0.0.1-alpha.22
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/react-event-list.css +209 -342
- package/dist/react-event-list.js +1 -66
- package/package.json +3 -3
|
@@ -1,344 +1,3 @@
|
|
|
1
|
-
.x-3deye-button {
|
|
2
|
-
color: inherit;
|
|
3
|
-
background: none;
|
|
4
|
-
border: none;
|
|
5
|
-
position: relative;
|
|
6
|
-
padding: 4px;
|
|
7
|
-
text-transform: uppercase;
|
|
8
|
-
-webkit-user-select: none;
|
|
9
|
-
-moz-user-select: none;
|
|
10
|
-
-ms-user-select: none;
|
|
11
|
-
user-select: none;
|
|
12
|
-
font-family: 'Roboto', sans-serif;
|
|
13
|
-
text-align: center;
|
|
14
|
-
align-items: flex-start;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.x-3deye-button.fullwidth {
|
|
18
|
-
width: 100%;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.x-3deye-button:focus, .x-3deye-button.x-3deye-button--icon:not(:disabled):hover {
|
|
22
|
-
background-color: rgba(var(--surface-highlight-rgb), 0.1);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.x-3deye-button--icon {
|
|
26
|
-
border-radius: 16px;
|
|
27
|
-
width: 32px;
|
|
28
|
-
height: 32px;
|
|
29
|
-
display: inline-flex;
|
|
30
|
-
align-items: center;
|
|
31
|
-
justify-content: center;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.x-3deye-button:disabled {
|
|
35
|
-
opacity: 0.4;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.x-3deye-button.x-3deye-button--save, .x-3deye-button.x-3deye-button--cancel {
|
|
39
|
-
color: white;
|
|
40
|
-
border-radius: 4px;
|
|
41
|
-
text-transform: none;
|
|
42
|
-
margin: 4px;
|
|
43
|
-
min-width: 80px;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
.x-3deye-button.x-3deye-button--save.fullwidth, .x-3deye-button.x-3deye-button--cancel.fullwidth {
|
|
47
|
-
width: calc(100% - 8px);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.x-3deye-button:not(:disabled) {
|
|
51
|
-
cursor: pointer;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
.x-3deye-button.x-3deye-button--save {
|
|
55
|
-
background-color: #27B9A1;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.x-3deye-button.x-3deye-button--save:focus {
|
|
59
|
-
transition: box-shadow 0.2s cubic-bezier(0.215, 0.610, 0.355, 1);
|
|
60
|
-
box-shadow: 0 0 0 2px rgba(39, 185, 161, 0.33);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.x-3deye-button.x-3deye-button--cancel {
|
|
64
|
-
background-color: rgb(119, 87, 178);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.x-3deye-button.x-3deye-button--cancel:focus {
|
|
68
|
-
transition: box-shadow 0.2s cubic-bezier(0.215, 0.610, 0.355, 1);
|
|
69
|
-
box-shadow: 0 0 0 2px rgba(119, 87, 178, 0.33);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
.x-3deye-button canvas {
|
|
74
|
-
color: rgb(var(--surface-highlight-rgb));
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
:root {
|
|
78
|
-
--reach-tooltip: 1;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
[data-reach-tooltip] {
|
|
82
|
-
z-index: 1;
|
|
83
|
-
pointer-events: none;
|
|
84
|
-
position: absolute;
|
|
85
|
-
padding: 0.25em 0.5em;
|
|
86
|
-
box-shadow: 2px 2px 10px hsla(0, 0%, 0%, 0.1);
|
|
87
|
-
white-space: nowrap;
|
|
88
|
-
font-size: 85%;
|
|
89
|
-
background: #f0f0f0;
|
|
90
|
-
color: #444;
|
|
91
|
-
border: solid 1px #ccc;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.menu-items-container {
|
|
95
|
-
background: rgba(0, 0, 0, 0.9);
|
|
96
|
-
box-shadow: 0 12px 28px 0 rgba(0, 0, 0, 0.2),0 2px 4px 0 rgb(0 0 0 / 0.1),inset 0 0 0 1px rgb(255 255 255 /0.05);
|
|
97
|
-
border-radius: 4px;
|
|
98
|
-
padding: 4px;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
.menu-items-container .x-3deye-button {
|
|
102
|
-
text-transform: none;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
.menu-items-container button {
|
|
106
|
-
background: none;
|
|
107
|
-
border: none;
|
|
108
|
-
text-align: left;
|
|
109
|
-
color: white;
|
|
110
|
-
padding: 8px 16px;
|
|
111
|
-
display: block;
|
|
112
|
-
width: 100%;
|
|
113
|
-
border-radius: 4px;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
.menu-items-container button:hover {
|
|
117
|
-
background-color: rgba(255, 255, 255, 0.22);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
.themed-menu.menu-items-container {
|
|
121
|
-
background-color: var(--background);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
.themed-menu.menu-items-container button {
|
|
125
|
-
color: var(--primary-text);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
.themed-menu.menu-items-container button:hover {
|
|
129
|
-
background-color: rgba(var(--surface-highlight-rgb), var(--surface-highlight-opacity));
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* @license
|
|
134
|
-
* Copyright Google LLC All Rights Reserved.
|
|
135
|
-
*
|
|
136
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
137
|
-
* found in the LICENSE file at https://github.com/material-components/material-components-web/blob/master/LICENSE
|
|
138
|
-
*/
|
|
139
|
-
@-webkit-keyframes mdc-ripple-fg-radius-in {
|
|
140
|
-
from {
|
|
141
|
-
-webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
142
|
-
animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
143
|
-
transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1);
|
|
144
|
-
}
|
|
145
|
-
to {
|
|
146
|
-
transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
@keyframes mdc-ripple-fg-radius-in {
|
|
150
|
-
from {
|
|
151
|
-
-webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
152
|
-
animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
153
|
-
transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1);
|
|
154
|
-
}
|
|
155
|
-
to {
|
|
156
|
-
transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
@-webkit-keyframes mdc-ripple-fg-opacity-in {
|
|
160
|
-
from {
|
|
161
|
-
-webkit-animation-timing-function: linear;
|
|
162
|
-
animation-timing-function: linear;
|
|
163
|
-
opacity: 0;
|
|
164
|
-
}
|
|
165
|
-
to {
|
|
166
|
-
opacity: var(--mdc-ripple-fg-opacity, 0);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
@keyframes mdc-ripple-fg-opacity-in {
|
|
170
|
-
from {
|
|
171
|
-
-webkit-animation-timing-function: linear;
|
|
172
|
-
animation-timing-function: linear;
|
|
173
|
-
opacity: 0;
|
|
174
|
-
}
|
|
175
|
-
to {
|
|
176
|
-
opacity: var(--mdc-ripple-fg-opacity, 0);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
@-webkit-keyframes mdc-ripple-fg-opacity-out {
|
|
180
|
-
from {
|
|
181
|
-
-webkit-animation-timing-function: linear;
|
|
182
|
-
animation-timing-function: linear;
|
|
183
|
-
opacity: var(--mdc-ripple-fg-opacity, 0);
|
|
184
|
-
}
|
|
185
|
-
to {
|
|
186
|
-
opacity: 0;
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
@keyframes mdc-ripple-fg-opacity-out {
|
|
190
|
-
from {
|
|
191
|
-
-webkit-animation-timing-function: linear;
|
|
192
|
-
animation-timing-function: linear;
|
|
193
|
-
opacity: var(--mdc-ripple-fg-opacity, 0);
|
|
194
|
-
}
|
|
195
|
-
to {
|
|
196
|
-
opacity: 0;
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
.mdc-ripple-surface {
|
|
200
|
-
--mdc-ripple-fg-size: 0;
|
|
201
|
-
--mdc-ripple-left: 0;
|
|
202
|
-
--mdc-ripple-top: 0;
|
|
203
|
-
--mdc-ripple-fg-scale: 1;
|
|
204
|
-
--mdc-ripple-fg-translate-end: 0;
|
|
205
|
-
--mdc-ripple-fg-translate-start: 0;
|
|
206
|
-
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
|
207
|
-
position: relative;
|
|
208
|
-
outline: none;
|
|
209
|
-
overflow: hidden;
|
|
210
|
-
}
|
|
211
|
-
.mdc-ripple-surface::before, .mdc-ripple-surface::after {
|
|
212
|
-
position: absolute;
|
|
213
|
-
border-radius: 50%;
|
|
214
|
-
opacity: 0;
|
|
215
|
-
pointer-events: none;
|
|
216
|
-
content: "";
|
|
217
|
-
}
|
|
218
|
-
.mdc-ripple-surface::before {
|
|
219
|
-
transition: opacity 15ms linear, background-color 15ms linear;
|
|
220
|
-
z-index: 1;
|
|
221
|
-
}
|
|
222
|
-
.mdc-ripple-surface.mdc-ripple-upgraded::before {
|
|
223
|
-
transform: scale(var(--mdc-ripple-fg-scale, 1));
|
|
224
|
-
}
|
|
225
|
-
.mdc-ripple-surface.mdc-ripple-upgraded::after {
|
|
226
|
-
top: 0;
|
|
227
|
-
/* @noflip */
|
|
228
|
-
left: 0;
|
|
229
|
-
transform: scale(0);
|
|
230
|
-
transform-origin: center center;
|
|
231
|
-
}
|
|
232
|
-
.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after {
|
|
233
|
-
top: var(--mdc-ripple-top, 0);
|
|
234
|
-
/* @noflip */
|
|
235
|
-
left: var(--mdc-ripple-left, 0);
|
|
236
|
-
}
|
|
237
|
-
.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after {
|
|
238
|
-
-webkit-animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
|
|
239
|
-
animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
|
|
240
|
-
}
|
|
241
|
-
.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after {
|
|
242
|
-
-webkit-animation: mdc-ripple-fg-opacity-out 150ms;
|
|
243
|
-
animation: mdc-ripple-fg-opacity-out 150ms;
|
|
244
|
-
transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
|
|
245
|
-
}
|
|
246
|
-
.mdc-ripple-surface::before, .mdc-ripple-surface::after {
|
|
247
|
-
background-color: #000;
|
|
248
|
-
}
|
|
249
|
-
.mdc-ripple-surface:hover::before {
|
|
250
|
-
opacity: 0.04;
|
|
251
|
-
}
|
|
252
|
-
.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before, .mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before {
|
|
253
|
-
transition-duration: 75ms;
|
|
254
|
-
opacity: 0.12;
|
|
255
|
-
}
|
|
256
|
-
.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after {
|
|
257
|
-
transition: opacity 150ms linear;
|
|
258
|
-
}
|
|
259
|
-
.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after {
|
|
260
|
-
transition-duration: 75ms;
|
|
261
|
-
opacity: 0.12;
|
|
262
|
-
}
|
|
263
|
-
.mdc-ripple-surface.mdc-ripple-upgraded {
|
|
264
|
-
--mdc-ripple-fg-opacity: 0.12;
|
|
265
|
-
}
|
|
266
|
-
.mdc-ripple-surface::before, .mdc-ripple-surface::after {
|
|
267
|
-
top: calc(50% - 100%);
|
|
268
|
-
/* @noflip */
|
|
269
|
-
left: calc(50% - 100%);
|
|
270
|
-
width: 200%;
|
|
271
|
-
height: 200%;
|
|
272
|
-
}
|
|
273
|
-
.mdc-ripple-surface.mdc-ripple-upgraded::after {
|
|
274
|
-
width: var(--mdc-ripple-fg-size, 100%);
|
|
275
|
-
height: var(--mdc-ripple-fg-size, 100%);
|
|
276
|
-
}
|
|
277
|
-
.mdc-ripple-surface[data-mdc-ripple-is-unbounded] {
|
|
278
|
-
overflow: visible;
|
|
279
|
-
}
|
|
280
|
-
.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before, .mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after {
|
|
281
|
-
top: calc(50% - 50%);
|
|
282
|
-
/* @noflip */
|
|
283
|
-
left: calc(50% - 50%);
|
|
284
|
-
width: 100%;
|
|
285
|
-
height: 100%;
|
|
286
|
-
}
|
|
287
|
-
.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before, .mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after {
|
|
288
|
-
top: var(--mdc-ripple-top, calc(50% - 50%));
|
|
289
|
-
/* @noflip */
|
|
290
|
-
left: var(--mdc-ripple-left, calc(50% - 50%));
|
|
291
|
-
width: var(--mdc-ripple-fg-size, 100%);
|
|
292
|
-
height: var(--mdc-ripple-fg-size, 100%);
|
|
293
|
-
}
|
|
294
|
-
.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after {
|
|
295
|
-
width: var(--mdc-ripple-fg-size, 100%);
|
|
296
|
-
height: var(--mdc-ripple-fg-size, 100%);
|
|
297
|
-
}
|
|
298
|
-
.mdc-ripple-surface--primary::before, .mdc-ripple-surface--primary::after {
|
|
299
|
-
background-color: #6200ee;
|
|
300
|
-
/* @alternate */
|
|
301
|
-
background-color: var(--mdc-theme-primary, #6200ee);
|
|
302
|
-
}
|
|
303
|
-
.mdc-ripple-surface--primary:hover::before {
|
|
304
|
-
opacity: 0.04;
|
|
305
|
-
}
|
|
306
|
-
.mdc-ripple-surface--primary.mdc-ripple-upgraded--background-focused::before, .mdc-ripple-surface--primary:not(.mdc-ripple-upgraded):focus::before {
|
|
307
|
-
transition-duration: 75ms;
|
|
308
|
-
opacity: 0.12;
|
|
309
|
-
}
|
|
310
|
-
.mdc-ripple-surface--primary:not(.mdc-ripple-upgraded)::after {
|
|
311
|
-
transition: opacity 150ms linear;
|
|
312
|
-
}
|
|
313
|
-
.mdc-ripple-surface--primary:not(.mdc-ripple-upgraded):active::after {
|
|
314
|
-
transition-duration: 75ms;
|
|
315
|
-
opacity: 0.12;
|
|
316
|
-
}
|
|
317
|
-
.mdc-ripple-surface--primary.mdc-ripple-upgraded {
|
|
318
|
-
--mdc-ripple-fg-opacity: 0.12;
|
|
319
|
-
}
|
|
320
|
-
.mdc-ripple-surface--accent::before, .mdc-ripple-surface--accent::after {
|
|
321
|
-
background-color: #018786;
|
|
322
|
-
/* @alternate */
|
|
323
|
-
background-color: var(--mdc-theme-secondary, #018786);
|
|
324
|
-
}
|
|
325
|
-
.mdc-ripple-surface--accent:hover::before {
|
|
326
|
-
opacity: 0.04;
|
|
327
|
-
}
|
|
328
|
-
.mdc-ripple-surface--accent.mdc-ripple-upgraded--background-focused::before, .mdc-ripple-surface--accent:not(.mdc-ripple-upgraded):focus::before {
|
|
329
|
-
transition-duration: 75ms;
|
|
330
|
-
opacity: 0.12;
|
|
331
|
-
}
|
|
332
|
-
.mdc-ripple-surface--accent:not(.mdc-ripple-upgraded)::after {
|
|
333
|
-
transition: opacity 150ms linear;
|
|
334
|
-
}
|
|
335
|
-
.mdc-ripple-surface--accent:not(.mdc-ripple-upgraded):active::after {
|
|
336
|
-
transition-duration: 75ms;
|
|
337
|
-
opacity: 0.12;
|
|
338
|
-
}
|
|
339
|
-
.mdc-ripple-surface--accent.mdc-ripple-upgraded {
|
|
340
|
-
--mdc-ripple-fg-opacity: 0.12;
|
|
341
|
-
}
|
|
342
1
|
.event-list-item {
|
|
343
2
|
-webkit-user-select: none;
|
|
344
3
|
-moz-user-select: none;
|
|
@@ -352,7 +11,7 @@
|
|
|
352
11
|
bottom: 2px;
|
|
353
12
|
left: 0;
|
|
354
13
|
right: 0;
|
|
355
|
-
|
|
14
|
+
overflow: hidden;
|
|
356
15
|
}
|
|
357
16
|
|
|
358
17
|
.event-list-item.mdc-ripple-surface {
|
|
@@ -547,6 +206,214 @@
|
|
|
547
206
|
background-color: orange;
|
|
548
207
|
}
|
|
549
208
|
|
|
209
|
+
.event-list-item .menu-button {
|
|
210
|
+
position: absolute;
|
|
211
|
+
top: 0;
|
|
212
|
+
right: 0;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.x-3deye-button {
|
|
216
|
+
color: inherit;
|
|
217
|
+
background: none;
|
|
218
|
+
border: none;
|
|
219
|
+
position: relative;
|
|
220
|
+
padding: 4px;
|
|
221
|
+
text-transform: uppercase;
|
|
222
|
+
-webkit-user-select: none;
|
|
223
|
+
-moz-user-select: none;
|
|
224
|
+
-ms-user-select: none;
|
|
225
|
+
user-select: none;
|
|
226
|
+
font-family: 'Roboto', sans-serif;
|
|
227
|
+
text-align: center;
|
|
228
|
+
align-items: flex-start;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.x-3deye-button.fullwidth {
|
|
232
|
+
width: 100%;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.x-3deye-button:focus,
|
|
236
|
+
.x-3deye-button.x-3deye-button:not(:disabled):hover {
|
|
237
|
+
background-color: rgba(var(--surface-highlight-rgb), 0.1);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.x-3deye-button--icon {
|
|
241
|
+
border-radius: 16px;
|
|
242
|
+
width: 32px;
|
|
243
|
+
height: 32px;
|
|
244
|
+
display: inline-flex;
|
|
245
|
+
align-items: center;
|
|
246
|
+
justify-content: center;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
.x-3deye-button:disabled {
|
|
250
|
+
opacity: 0.4;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.x-3deye-button.x-3deye-button--ok,
|
|
254
|
+
.x-3deye-button.x-3deye-button--cancel {
|
|
255
|
+
color: white;
|
|
256
|
+
border-radius: 4px;
|
|
257
|
+
text-transform: none;
|
|
258
|
+
margin: 4px;
|
|
259
|
+
min-width: 80px;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
.x-3deye-button.x-3deye-button--ok.fullwidth,
|
|
263
|
+
.x-3deye-button.x-3deye-button--cancel.fullwidth {
|
|
264
|
+
width: calc(100% - 8px);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.x-3deye-button:not(:disabled) {
|
|
268
|
+
cursor: pointer;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
.x-3deye-button.x-3deye-button--ok {
|
|
272
|
+
background-color: #27b9a1;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
.x-3deye-button.x-3deye-button--ok:not(:disabled):hover {
|
|
276
|
+
background-color: #61beaf;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.x-3deye-button.x-3deye-button--ok:focus {
|
|
280
|
+
transition: box-shadow 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
|
|
281
|
+
box-shadow: 0 0 0 2px rgba(39, 185, 161, 0.33);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
.x-3deye-button.x-3deye-button--cancel {
|
|
285
|
+
background-color: rgb(119, 87, 178);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
.x-3deye-button.x-3deye-button--cancel:not(:disabled):hover {
|
|
289
|
+
background-color: rgb(142, 122, 180);
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
.x-3deye-button.x-3deye-button--cancel:focus {
|
|
293
|
+
transition: box-shadow 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
|
|
294
|
+
box-shadow: 0 0 0 2px rgba(119, 87, 178, 0.33);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
.x-3deye-button canvas {
|
|
298
|
+
color: rgb(var(--surface-highlight-rgb));
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
:root {
|
|
302
|
+
--reach-tooltip: 1;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
[data-reach-tooltip] {
|
|
306
|
+
z-index: 1;
|
|
307
|
+
pointer-events: none;
|
|
308
|
+
position: absolute;
|
|
309
|
+
padding: 0.25em 0.5em;
|
|
310
|
+
box-shadow: 2px 2px 10px hsla(0, 0%, 0%, 0.1);
|
|
311
|
+
white-space: nowrap;
|
|
312
|
+
font-size: 85%;
|
|
313
|
+
background: #f0f0f0;
|
|
314
|
+
color: #444;
|
|
315
|
+
border: solid 1px #ccc;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
@-webkit-keyframes slide-in {
|
|
319
|
+
0% {
|
|
320
|
+
opacity: 0;
|
|
321
|
+
transform: scale(0.9);
|
|
322
|
+
}
|
|
323
|
+
100% {
|
|
324
|
+
opacity: 1;
|
|
325
|
+
transform: scale(1);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
@keyframes slide-in {
|
|
330
|
+
0% {
|
|
331
|
+
opacity: 0;
|
|
332
|
+
transform: scale(0.9);
|
|
333
|
+
}
|
|
334
|
+
100% {
|
|
335
|
+
opacity: 1;
|
|
336
|
+
transform: scale(1);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
.menu-items-container {
|
|
341
|
+
transform-origin: right top;
|
|
342
|
+
position: absolute;
|
|
343
|
+
z-index: 10000001;
|
|
344
|
+
background: rgba(0, 0, 0, 0.9);
|
|
345
|
+
box-shadow: 0 12px 28px 0 rgba(0, 0, 0, 0.2), 0 2px 4px 0 rgb(0 0 0 / 0.1), inset 0 0 0 1px rgb(255 255 255 /0.05);
|
|
346
|
+
border-radius: 4px;
|
|
347
|
+
padding: 4px;
|
|
348
|
+
-webkit-animation: slide-in 0.15s ease-in;
|
|
349
|
+
animation: slide-in 0.15s ease-in;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
@media (prefers-reduced-motion) {
|
|
353
|
+
.menu-items-container {
|
|
354
|
+
-webkit-animation: none;
|
|
355
|
+
animation: none;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
.menu-items-container[data-placement='top-start'] {
|
|
360
|
+
transform-origin: left bottom;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
.menu-items-container[data-placement='top-end'] {
|
|
364
|
+
transform-origin: right bottom;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
.menu-items-container[data-placement='bottom-start'] {
|
|
368
|
+
transform-origin: left top;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
.menu-items-container[data-placement='bottom-end'] {
|
|
372
|
+
transform-origin: right top;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
.menu-items-container[data-placement='top'] {
|
|
376
|
+
transform-origin: center bottom;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
.menu-items-container .x-3deye-button {
|
|
380
|
+
text-transform: none;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
.menu-items-container button {
|
|
384
|
+
font-size: 14px;
|
|
385
|
+
background: none;
|
|
386
|
+
border: none;
|
|
387
|
+
text-align: left;
|
|
388
|
+
color: white;
|
|
389
|
+
padding: 8px 16px;
|
|
390
|
+
display: block;
|
|
391
|
+
width: 100%;
|
|
392
|
+
border-radius: 4px;
|
|
393
|
+
letter-spacing: 0.5px;
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
.menu-items-container .x-3deye-button.menu-item:hover,
|
|
397
|
+
.menu-items-container .x-3deye-button.menu-item:focus {
|
|
398
|
+
background-color: rgba(255, 255, 255, 0.22);
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
.menu-items-container .menu-item--danger {
|
|
402
|
+
color: #f44336;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
.themed-menu.menu-items-container {
|
|
406
|
+
background-color: var(--background);
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
.themed-menu.menu-items-container .x-3deye-button.menu-item {
|
|
410
|
+
color: var(--primary-text);
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
.themed-menu.menu-items-container .x-3deye-button.menu-item:hover {
|
|
414
|
+
background-color: rgba(var(--surface-highlight-rgb), var(--surface-highlight-opacity));
|
|
415
|
+
}
|
|
416
|
+
|
|
550
417
|
.preloader-container {
|
|
551
418
|
color: var(--primary-text);
|
|
552
419
|
flex: 1;
|
package/dist/react-event-list.js
CHANGED
|
@@ -1,66 +1 @@
|
|
|
1
|
-
import*as e from"react";import t,{useState as r,useRef as i,useMemo as n,useEffect as o,useCallback as a,useContext as s,Fragment as l}from"react";import{AppContext as c,app as d}from"@3deye-toolkit/core";import{observer as u,Observer as p,useLocalObservable as h}from"mobx-react-lite";import*as m from"react-dom";import f from"react-dom";import v from"clsx";import b from"react-ink";import g from"@reach/tooltip";import{makeObservable as y,observable as E,runInAction as _,action as w,reaction as C,computed as O,when as P}from"mobx";import{format as T,isSameYear as S,isSameDay as I,subHours as L,startOfHour as D}from"date-fns/esm";import M from"i18next";import{Subject as j,Subscription as x,Observable as N,of as A,throwError as R,EMPTY as k}from"rxjs";import{FixedSizeGrid as H}from"react-window";import F from"react-virtualized-auto-sizer";import z from"react-window-infinite-loader";import{debounceTime as V,mergeMap as U,catchError as B,switchMap as $,mapTo as W,concatMap as G}from"rxjs/operators";import q from"@seznam/compose-react-refs";import X from"material-colors";import{MDCSlider as Y}from"@material/slider";import K from"resize-observer-polyfill";import{useSpring as Z,animated as J}from"@react-spring/web";import Q from"react-datepicker";import ee,{components as te}from"react-select";import{subHours as re}from"date-fns";const ie=t.createContext(null);
|
|
2
|
-
/*! *****************************************************************************
|
|
3
|
-
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
5
|
-
this file except in compliance with the License. You may obtain a copy of the
|
|
6
|
-
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
-
|
|
8
|
-
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
9
|
-
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
|
10
|
-
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
11
|
-
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
12
|
-
|
|
13
|
-
See the Apache Version 2.0 License for specific language governing permissions
|
|
14
|
-
and limitations under the License.
|
|
15
|
-
***************************************************************************** */var ne=function(e,t){return(ne=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function oe(e,t){function r(){this.constructor=e}ne(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var ae=function(){return(ae=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)};function se(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]])}return r}function le(e){var t="function"==typeof Symbol&&e[Symbol.iterator],r=0;return t?t.call(e):{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}function ce(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var i,n,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(i=o.next()).done;)a.push(i.value)}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}return a}function de(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(ce(arguments[t]));return e}var ue="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};
|
|
16
|
-
/*!
|
|
17
|
-
Copyright (c) 2018 Jed Watson.
|
|
18
|
-
Licensed under the MIT License (MIT), see
|
|
19
|
-
http://jedwatson.github.io/classnames
|
|
20
|
-
*/
|
|
21
|
-
var pe,he=(function(e){!function(){var t={}.hasOwnProperty;function r(){for(var e=[],i=0;i<arguments.length;i++){var n=arguments[i];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)){if(n.length){var a=r.apply(null,n);a&&e.push(a)}}else if("object"===o)if(n.toString===Object.prototype.toString)for(var s in n)t.call(n,s)&&n[s]&&e.push(s);else e.push(n.toString())}}return e.join(" ")}e.exports?(r.default=r,e.exports=r):window.classNames=r}()}(pe={exports:{}},pe.exports),pe.exports),me={blur:"onBlur",cancel:"onCancel",click:"onClick",close:"onClose",contextmenu:"onContextMenu",copy:"onCopy",cut:"onCut",auxclick:"onAuxClick",doubleclick:"onDoubleClick",dragend:"onDragEnd",dragstart:"onDragStart",drop:"onDrop",focus:"onFocus",input:"onInput",invalid:"onInvalid",keydown:"onKeyDown",keypress:"onKeyPress",keyup:"onKeyUp",mousedown:"onMouseDown",mouseup:"onMouseUp",paste:"onPaste",pause:"onPause",play:"onPlay",pointercancel:"onPointerCancel",pointerdown:"onPointerDown",pointerup:"onPointerUp",ratechange:"onRateChange",reset:"onReset",seeked:"onSeeked",submit:"onSubmit",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchstart:"onTouchStart",volumechange:"onVolumeChange",abort:"onAbort",animationend:"onAnimationEnd",animationiteration:"onAnimationIteration",animationstart:"onAnimationStart",canplay:"onCanPlay",canplaythrough:"onCanPlayThrough",drag:"onDrag",dragenter:"onDragEnter",dragexit:"onDragExit",dragleave:"onDragLeave",dragover:"onDragOver",durationchange:"onDurationChange",emptied:"onEmptied",encrypted:"onEncrypted",ended:"onEnded",error:"onError",gotpointercapture:"onGotPointerCapture",load:"onLoad",loadeddata:"onLoadedData",loadedmetadata:"onLoadedMetadata",loadstart:"onLoadStart",lostpointercapture:"onLostPointerCapture",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseover:"onMouseOver",playing:"onPlaying",pointermove:"onPointerMove",pointerout:"onPointerOut",pointerover:"onPointerOver",progress:"onProgress",scroll:"onScroll",seeking:"onSeeking",stalled:"onStalled",suspend:"onSuspend",timeupdate:"onTimeUpdate",toggle:"onToggle",touchmove:"onTouchMove",transitionend:"onTransitionEnd",waiting:"onWaiting",wheel:"onWheel",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",pointerenter:"onPointerEnter",pointerleave:"onPointerLeave",change:"onChange",select:"onSelect",beforeinput:"onBeforeInput",compositionend:"onCompositionEnd",compositionstart:"onCompositionStart",compositionupdate:"onCompositionUpdate"},fe={bottom:0,height:0,left:0,right:0,top:0,width:0};t.forwardRef((function(e,r){var i=e.tag,n=void 0===i?"div":i;e.theme;var o=e.element,a=se(e,["tag","theme","element"]),s=o?o.props(a):a,l=o?be(r,o.setRef):r;return t.createElement(n,ae({},s,{ref:l}))}));var ve,be=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t){var r,i;try{for(var n=le(e),o=n.next();!o.done;o=n.next()){var a=o.value;"function"==typeof a?a(t):a&&"current"in a&&(a.current=t)}}catch(e){r={error:e}}finally{try{o&&!o.done&&(i=n.return)&&i.call(n)}finally{if(r)throw r.error}}}},ge=function(e,t){"function"==typeof e?e(t):e&&"current"in e&&(e.current=t)},ye=function(e){return me[e]||e},Ee=function(){function e(e){this._classes=new Set,this._events={},this._style={},this._props={},this._ref=null,this._onChange=null,this._onChange=e,this.onChange=this.onChange.bind(this),this.addClass=this.addClass.bind(this),this.removeClass=this.removeClass.bind(this),this.hasClass=this.hasClass.bind(this),this.setProp=this.setProp.bind(this),this.getProp=this.getProp.bind(this),this.removeProp=this.removeProp.bind(this),this.setStyle=this.setStyle.bind(this),this.addEventListener=this.addEventListener.bind(this),this.removeEventListener=this.removeEventListener.bind(this),this.setRef=this.setRef.bind(this)}return e.prototype.onChange=function(){this._onChange&&this._onChange()},e.prototype.destroy=function(){var e=this;this._onChange=null,this._events={},this._style={},this._props={},this._classes=new Set,setTimeout((function(){e._ref=null}))},e.prototype.addClass=function(e){this._classes.has(e)||(this._classes.add(e),this.onChange())},e.prototype.removeClass=function(e){this._classes.has(e)&&(this._classes.delete(e),this.onChange())},e.prototype.hasClass=function(e){return this._classes.has(e)},e.prototype.setProp=function(e,t,r){void 0===r&&(r=!1),this._props[e]!==t&&(this._props[e]=t,!r&&this.onChange())},e.prototype.getProp=function(e){return this._props[e]},e.prototype.removeProp=function(e){void 0!==this._props[e]&&(delete this._props[e],this.onChange())},e.prototype.props=function(e){var t=this,r=e.className,i=void 0===r?"":r,n=e.style,o=void 0===n?{}:n,a=Object.entries(e).reduce((function(e,r){var i=ce(r,2),n=i[0],o=i[1],a=t._events[n];if("function"==typeof o&&"function"==typeof a){e[n]=function(e){return a(e),o(e)}}return e}),ae({},this._events)),s=he(i,de(this._classes)),l=ae(ae({},this._style),o);return ae(ae(ae(ae({},e),this._props),a),{style:l,className:s})},e.prototype.setStyle=function(e,t){e=e.startsWith("--")?e:e.replace(/(-[a-z])/g,(function(e){return e.toUpperCase().replace("-","")})),this._style[e]!==t&&(this._style[e]=t,this.onChange())},e.prototype.addEventListener=function(e,t){var r=ye(e);this._events[r]!==t&&(this._events[r]=t,this.onChange())},e.prototype.removeEventListener=function(e,t){var r=ye(e);this._events[r]&&(delete this._events[r],this.onChange())},e.prototype.setRef=function(e){e&&(this._ref=e)},Object.defineProperty(e.prototype,"ref",{get:function(){return this._ref},enumerable:!1,configurable:!0}),e}(),_e=function(e){return function(t,r,i){var n;void 0===i&&(i=!1),n=new CustomEvent(t,{detail:r,bubbles:i}),Object.defineProperty(n,"target",{value:r,writable:!1}),Object.defineProperty(n,"currentTarget",{value:r,writable:!1});var o=t;return e[o]&&e[o](n),n}};
|
|
22
|
-
/**
|
|
23
|
-
* @license
|
|
24
|
-
* Copyright 2016 Google Inc.
|
|
25
|
-
*
|
|
26
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
27
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
28
|
-
* in the Software without restriction, including without limitation the rights
|
|
29
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
30
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
31
|
-
* furnished to do so, subject to the following conditions:
|
|
32
|
-
*
|
|
33
|
-
* The above copyright notice and this permission notice shall be included in
|
|
34
|
-
* all copies or substantial portions of the Software.
|
|
35
|
-
*
|
|
36
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
37
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
38
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
39
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
40
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
41
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
42
|
-
* THE SOFTWARE.
|
|
43
|
-
*/
|
|
44
|
-
var we,Ce=function(){function e(e){void 0===e&&(e={}),this.adapter_=e}return Object.defineProperty(e,"cssClasses",{get:function(){return{}},enumerable:!0,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return{}},enumerable:!0,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return{}},enumerable:!0,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{}},enumerable:!0,configurable:!0}),e.prototype.init=function(){},e.prototype.destroy=function(){},e}(),Oe={BG_FOCUSED:"mdc-ripple-upgraded--background-focused",FG_ACTIVATION:"mdc-ripple-upgraded--foreground-activation",FG_DEACTIVATION:"mdc-ripple-upgraded--foreground-deactivation",ROOT:"mdc-ripple-upgraded",UNBOUNDED:"mdc-ripple-upgraded--unbounded"},Pe={VAR_FG_SCALE:"--mdc-ripple-fg-scale",VAR_FG_SIZE:"--mdc-ripple-fg-size",VAR_FG_TRANSLATE_END:"--mdc-ripple-fg-translate-end",VAR_FG_TRANSLATE_START:"--mdc-ripple-fg-translate-start",VAR_LEFT:"--mdc-ripple-left",VAR_TOP:"--mdc-ripple-top"},Te={DEACTIVATION_TIMEOUT_MS:225,FG_DEACTIVATION_MS:150,INITIAL_ORIGIN_SCALE:.6,PADDING:10,TAP_DELAY_MS:300},Se=["touchstart","pointerdown","mousedown","keydown"],Ie=["touchend","pointerup","mouseup","contextmenu"],Le=[],De=function(e){function t(r){var i=e.call(this,ae({},t.defaultAdapter,r))||this;return i.activationAnimationHasEnded_=!1,i.activationTimer_=0,i.fgDeactivationRemovalTimer_=0,i.fgScale_="0",i.frame_={width:0,height:0},i.initialSize_=0,i.layoutFrame_=0,i.maxRadius_=0,i.unboundedCoords_={left:0,top:0},i.activationState_=i.defaultActivationState_(),i.activationTimerCallback_=function(){i.activationAnimationHasEnded_=!0,i.runDeactivationUXLogicIfReady_()},i.activateHandler_=function(e){return i.activate_(e)},i.deactivateHandler_=function(){return i.deactivate_()},i.focusHandler_=function(){return i.handleFocus()},i.blurHandler_=function(){return i.handleBlur()},i.resizeHandler_=function(){return i.layout()},i}return oe(t,e),Object.defineProperty(t,"cssClasses",{get:function(){return Oe},enumerable:!0,configurable:!0}),Object.defineProperty(t,"strings",{get:function(){return Pe},enumerable:!0,configurable:!0}),Object.defineProperty(t,"numbers",{get:function(){return Te},enumerable:!0,configurable:!0}),Object.defineProperty(t,"defaultAdapter",{get:function(){return{addClass:function(){},browserSupportsCssVars:function(){return!0},computeBoundingRect:function(){return{top:0,right:0,bottom:0,left:0,width:0,height:0}},containsEventTarget:function(){return!0},deregisterDocumentInteractionHandler:function(){},deregisterInteractionHandler:function(){},deregisterResizeHandler:function(){},getWindowPageOffset:function(){return{x:0,y:0}},isSurfaceActive:function(){return!0},isSurfaceDisabled:function(){return!0},isUnbounded:function(){return!0},registerDocumentInteractionHandler:function(){},registerInteractionHandler:function(){},registerResizeHandler:function(){},removeClass:function(){},updateCssVariable:function(){}}},enumerable:!0,configurable:!0}),t.prototype.init=function(){var e=this,r=this.supportsPressRipple_();if(this.registerRootHandlers_(r),r){var i=t.cssClasses,n=i.ROOT,o=i.UNBOUNDED;requestAnimationFrame((function(){e.adapter_.addClass(n),e.adapter_.isUnbounded()&&(e.adapter_.addClass(o),e.layoutInternal_())}))}},t.prototype.destroy=function(){var e=this;if(this.supportsPressRipple_()){this.activationTimer_&&(clearTimeout(this.activationTimer_),this.activationTimer_=0,this.adapter_.removeClass(t.cssClasses.FG_ACTIVATION)),this.fgDeactivationRemovalTimer_&&(clearTimeout(this.fgDeactivationRemovalTimer_),this.fgDeactivationRemovalTimer_=0,this.adapter_.removeClass(t.cssClasses.FG_DEACTIVATION));var r=t.cssClasses,i=r.ROOT,n=r.UNBOUNDED;requestAnimationFrame((function(){e.adapter_.removeClass(i),e.adapter_.removeClass(n),e.removeCssVars_()}))}this.deregisterRootHandlers_(),this.deregisterDeactivationHandlers_()},t.prototype.activate=function(e){this.activate_(e)},t.prototype.deactivate=function(){this.deactivate_()},t.prototype.layout=function(){var e=this;this.layoutFrame_&&cancelAnimationFrame(this.layoutFrame_),this.layoutFrame_=requestAnimationFrame((function(){e.layoutInternal_(),e.layoutFrame_=0}))},t.prototype.setUnbounded=function(e){var r=t.cssClasses.UNBOUNDED;e?this.adapter_.addClass(r):this.adapter_.removeClass(r)},t.prototype.handleFocus=function(){var e=this;requestAnimationFrame((function(){return e.adapter_.addClass(t.cssClasses.BG_FOCUSED)}))},t.prototype.handleBlur=function(){var e=this;requestAnimationFrame((function(){return e.adapter_.removeClass(t.cssClasses.BG_FOCUSED)}))},t.prototype.supportsPressRipple_=function(){return this.adapter_.browserSupportsCssVars()},t.prototype.defaultActivationState_=function(){return{activationEvent:void 0,hasDeactivationUXRun:!1,isActivated:!1,isProgrammatic:!1,wasActivatedByPointer:!1,wasElementMadeActive:!1}},t.prototype.registerRootHandlers_=function(e){var t=this;e&&(Se.forEach((function(e){t.adapter_.registerInteractionHandler(e,t.activateHandler_)})),this.adapter_.isUnbounded()&&this.adapter_.registerResizeHandler(this.resizeHandler_)),this.adapter_.registerInteractionHandler("focus",this.focusHandler_),this.adapter_.registerInteractionHandler("blur",this.blurHandler_)},t.prototype.registerDeactivationHandlers_=function(e){var t=this;"keydown"===e.type?this.adapter_.registerInteractionHandler("keyup",this.deactivateHandler_):Ie.forEach((function(e){t.adapter_.registerDocumentInteractionHandler(e,t.deactivateHandler_)}))},t.prototype.deregisterRootHandlers_=function(){var e=this;Se.forEach((function(t){e.adapter_.deregisterInteractionHandler(t,e.activateHandler_)})),this.adapter_.deregisterInteractionHandler("focus",this.focusHandler_),this.adapter_.deregisterInteractionHandler("blur",this.blurHandler_),this.adapter_.isUnbounded()&&this.adapter_.deregisterResizeHandler(this.resizeHandler_)},t.prototype.deregisterDeactivationHandlers_=function(){var e=this;this.adapter_.deregisterInteractionHandler("keyup",this.deactivateHandler_),Ie.forEach((function(t){e.adapter_.deregisterDocumentInteractionHandler(t,e.deactivateHandler_)}))},t.prototype.removeCssVars_=function(){var e=this,r=t.strings;Object.keys(r).forEach((function(t){0===t.indexOf("VAR_")&&e.adapter_.updateCssVariable(r[t],null)}))},t.prototype.activate_=function(e){var t=this;if(!this.adapter_.isSurfaceDisabled()){var r=this.activationState_;if(!r.isActivated){var i=this.previousActivationEvent_;if(!(i&&void 0!==e&&i.type!==e.type))r.isActivated=!0,r.isProgrammatic=void 0===e,r.activationEvent=e,r.wasActivatedByPointer=!r.isProgrammatic&&(void 0!==e&&("mousedown"===e.type||"touchstart"===e.type||"pointerdown"===e.type)),void 0!==e&&Le.length>0&&Le.some((function(e){return t.adapter_.containsEventTarget(e)}))?this.resetActivationState_():(void 0!==e&&(Le.push(e.target),this.registerDeactivationHandlers_(e)),r.wasElementMadeActive=this.checkElementMadeActive_(e),r.wasElementMadeActive&&this.animateActivation_(),requestAnimationFrame((function(){Le=[],r.wasElementMadeActive||void 0===e||" "!==e.key&&32!==e.keyCode||(r.wasElementMadeActive=t.checkElementMadeActive_(e),r.wasElementMadeActive&&t.animateActivation_()),r.wasElementMadeActive||(t.activationState_=t.defaultActivationState_())})))}}},t.prototype.checkElementMadeActive_=function(e){return void 0===e||"keydown"!==e.type||this.adapter_.isSurfaceActive()},t.prototype.animateActivation_=function(){var e=this,r=t.strings,i=r.VAR_FG_TRANSLATE_START,n=r.VAR_FG_TRANSLATE_END,o=t.cssClasses,a=o.FG_DEACTIVATION,s=o.FG_ACTIVATION,l=t.numbers.DEACTIVATION_TIMEOUT_MS;this.layoutInternal_();var c="",d="";if(!this.adapter_.isUnbounded()){var u=this.getFgTranslationCoordinates_(),p=u.startPoint,h=u.endPoint;c=p.x+"px, "+p.y+"px",d=h.x+"px, "+h.y+"px"}this.adapter_.updateCssVariable(i,c),this.adapter_.updateCssVariable(n,d),clearTimeout(this.activationTimer_),clearTimeout(this.fgDeactivationRemovalTimer_),this.rmBoundedActivationClasses_(),this.adapter_.removeClass(a),this.adapter_.computeBoundingRect(),this.adapter_.addClass(s),this.activationTimer_=setTimeout((function(){return e.activationTimerCallback_()}),l)},t.prototype.getFgTranslationCoordinates_=function(){var e,t=this.activationState_,r=t.activationEvent;return{startPoint:e={x:(e=t.wasActivatedByPointer?function(e,t,r){if(!e)return{x:0,y:0};var i,n,o=t.x,a=t.y,s=o+r.left,l=a+r.top;if("touchstart"===e.type){var c=e;i=c.changedTouches[0].pageX-s,n=c.changedTouches[0].pageY-l}else{var d=e;i=d.pageX-s,n=d.pageY-l}return{x:i,y:n}}(r,this.adapter_.getWindowPageOffset(),this.adapter_.computeBoundingRect()):{x:this.frame_.width/2,y:this.frame_.height/2}).x-this.initialSize_/2,y:e.y-this.initialSize_/2},endPoint:{x:this.frame_.width/2-this.initialSize_/2,y:this.frame_.height/2-this.initialSize_/2}}},t.prototype.runDeactivationUXLogicIfReady_=function(){var e=this,r=t.cssClasses.FG_DEACTIVATION,i=this.activationState_,n=i.hasDeactivationUXRun,o=i.isActivated;(n||!o)&&this.activationAnimationHasEnded_&&(this.rmBoundedActivationClasses_(),this.adapter_.addClass(r),this.fgDeactivationRemovalTimer_=setTimeout((function(){e.adapter_.removeClass(r)}),Te.FG_DEACTIVATION_MS))},t.prototype.rmBoundedActivationClasses_=function(){var e=t.cssClasses.FG_ACTIVATION;this.adapter_.removeClass(e),this.activationAnimationHasEnded_=!1,this.adapter_.computeBoundingRect()},t.prototype.resetActivationState_=function(){var e=this;this.previousActivationEvent_=this.activationState_.activationEvent,this.activationState_=this.defaultActivationState_(),setTimeout((function(){return e.previousActivationEvent_=void 0}),t.numbers.TAP_DELAY_MS)},t.prototype.deactivate_=function(){var e=this,t=this.activationState_;if(t.isActivated){var r=ae({},t);t.isProgrammatic?(requestAnimationFrame((function(){return e.animateDeactivation_(r)})),this.resetActivationState_()):(this.deregisterDeactivationHandlers_(),requestAnimationFrame((function(){e.activationState_.hasDeactivationUXRun=!0,e.animateDeactivation_(r),e.resetActivationState_()})))}},t.prototype.animateDeactivation_=function(e){var t=e.wasActivatedByPointer,r=e.wasElementMadeActive;(t||r)&&this.runDeactivationUXLogicIfReady_()},t.prototype.layoutInternal_=function(){var e=this;this.frame_=this.adapter_.computeBoundingRect();var r=Math.max(this.frame_.height,this.frame_.width);this.maxRadius_=this.adapter_.isUnbounded()?r:Math.sqrt(Math.pow(e.frame_.width,2)+Math.pow(e.frame_.height,2))+t.numbers.PADDING;var i=Math.floor(r*t.numbers.INITIAL_ORIGIN_SCALE);this.adapter_.isUnbounded()&&i%2!=0?this.initialSize_=i-1:this.initialSize_=i,this.fgScale_=""+this.maxRadius_/this.initialSize_,this.updateLayoutCssVars_()},t.prototype.updateLayoutCssVars_=function(){var e=t.strings,r=e.VAR_FG_SIZE,i=e.VAR_LEFT,n=e.VAR_TOP,o=e.VAR_FG_SCALE;this.adapter_.updateCssVariable(r,this.initialSize_+"px"),this.adapter_.updateCssVariable(o,this.fgScale_),this.adapter_.isUnbounded()&&(this.unboundedCoords_={left:Math.round(this.frame_.width/2-this.initialSize_/2),top:Math.round(this.frame_.height/2-this.initialSize_/2)},this.adapter_.updateCssVariable(i,this.unboundedCoords_.left+"px"),this.adapter_.updateCssVariable(n,this.unboundedCoords_.top+"px"))},t}(Ce),Me=function(e){var t=i(!1),s=function(e){var t=e.foundation,a=e.props,s=e.elements,l=e.api,c=ce(r(0),2)[1],d=i(a);d.current=a;var u=n((function(){return Object.keys(s).reduce((function(e,t){return e[t]=new Ee((function(){c((function(e){return e+1}))})),e}),{})}),[]),p=n((function(){var e=t(ae(ae({},u),{getProps:function(){return d.current},emit:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return _e(d.current).apply(void 0,de(e))}}));return l&&ge(d.current.apiRef,l(ae({foundation:e},u))),e}),[]);return o((function(){var e=p;return e.init(),l&&ge(d.current.apiRef,l(ae({foundation:e},u))),ge(d.current.foundationRef,e),function(){e.destroy(),ge(d.current.apiRef,null),ge(d.current.foundationRef,null),Object.values(u).map((function(e){return e.destroy()})),d.current={}}}),[p,u]),ae({foundation:p},u)}({props:e,elements:{rootEl:!0,surfaceEl:!0},foundation:function(e){var t=e.rootEl,r=e.surfaceEl,i=e.getProps;return new De({browserSupportsCssVars:function(){return function(e,t){void 0===t&&(t=!1);var r,i=e.CSS;if("boolean"==typeof ve&&!t)return ve;if(!i||"function"!=typeof i.supports)return!1;var n=i.supports("--css-vars","yes"),o=i.supports("(--css-vars: yes)")&&i.supports("color","#00000000");return r=n||o,t||(ve=r),r}(window)},isUnbounded:function(){return!!i().unbounded},isSurfaceActive:function(){return!!t.ref&&(e=t.ref,r=":active",(e.matches||e.webkitMatchesSelector||e.msMatchesSelector).call(e,r));var e,r},isSurfaceDisabled:function(){return!!i().disabled},addClass:function(e){r.addClass(e)},removeClass:function(e){r.removeClass(e)},containsEventTarget:function(e){return!!t.ref&&t.ref.contains(e)},registerInteractionHandler:function(e,t){},deregisterInteractionHandler:function(e,t){},registerDocumentInteractionHandler:function(e,t){return document.documentElement.addEventListener(e,t,{passive:!0})},deregisterDocumentInteractionHandler:function(e,t){return document.documentElement.removeEventListener(e,t)},registerResizeHandler:function(e){return window.addEventListener("resize",e)},deregisterResizeHandler:function(e){return window.removeEventListener("resize",e)},updateCssVariable:function(e,t){return r.setStyle(e,t)},computeBoundingRect:function(){return t.ref?t.ref.getBoundingClientRect():fe},getWindowPageOffset:function(){return{x:window.pageXOffset,y:window.pageYOffset}}})}}),l=s.foundation,c=se(s,["foundation"]),d=c.rootEl,u=a((function(e){e.persist(),l.activate(e)}),[l]),p=a((function(e){e.persist(),l.deactivate()}),[l]),h=a((function(t){var r;null===(r=e.onFocus)||void 0===r||r.call(e,t),l.handleFocus()}),[l,e.onFocus]),m=a((function(t){var r;null===(r=e.onBlur)||void 0===r||r.call(e,t),l.handleBlur()}),[l,e.onBlur]),f=a((function(r){var i;null===(i=e.onMouseDown)||void 0===i||i.call(e,r),t.current||u(r),t.current=!1}),[e.onMouseDown,u]),v=a((function(t){var r;null===(r=e.onMouseUp)||void 0===r||r.call(e,t),p(t)}),[e.onMouseUp,p]),b=a((function(r){var i;t.current=!0,null===(i=e.onTouchStart)||void 0===i||i.call(e,r),u(r)}),[e.onTouchStart,u]),g=a((function(t){var r;null===(r=e.onTouchEnd)||void 0===r||r.call(e,t),p(t)}),[e.onTouchEnd,p]),y=a((function(t){var r;null===(r=e.onKeyDown)||void 0===r||r.call(e,t),u(t)}),[e.onKeyDown,u]),E=a((function(t){var r;null===(r=e.onKeyUp)||void 0===r||r.call(e,t),p(t)}),[e.onKeyUp,p]);return d.setProp("onFocus",h,!0),d.setProp("onBlur",m,!0),d.setProp("onMouseDown",f,!0),d.setProp("onMouseUp",v,!0),d.setProp("onTouchStart",b,!0),d.setProp("onTouchEnd",g,!0),d.setProp("onKeyDown",y,!0),d.setProp("onKeyUp",E,!0),o((function(){d.setRef(e.domNode)}),[d,e.domNode]),o((function(){l.setUnbounded(!!e.unbounded)}),[e.unbounded,l]),o((function(){e.disabled&&l.handleBlur()}),[e.disabled,l]),ae({},c)},je=t.createContext({}),xe=(we=function(e){var r=e.children,i=e.className,n=e.primary,o=e.accent,a=e.unbounded,s=e.surface;e.domNode,e.foundationRef;var l=se(e,["children","className","primary","accent","unbounded","surface","domNode","foundationRef"]),c=Me(e),d=c.rootEl,u=c.surfaceEl,p=t.Children.only(r);if(!t.isValidElement(p))return null;var h=a?{"data-mdc-ripple-is-unbounded":!0}:{},m=s&&a?{}:u.props({style:p.props.style}),f=he(i!==p.props.className&&i,m.className,p.props.className,{"mdc-ripple-surface":"boolean"==typeof s?s:void 0===s,"mdc-ripple-surface--primary":n,"mdc-ripple-surface--accent":o});l.disabled&&(f=f.replace("mdc-ripple-upgraded--background-focused",""));var v=t.cloneElement(p,ae(ae(ae({},p.props),h),d.props(ae(ae(ae(ae({},l),{style:p.props.style}),m),{className:f}))));return t.createElement(je.Provider,{value:u.props({style:p.props.style})},v)},function(e){function r(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={domNode:null},t}return oe(r,e),r.prototype.componentDidMount=function(){this.setState({domNode:m.findDOMNode(this)})},r.prototype.componentDidUpdate=function(){var e=m.findDOMNode(this);e!==this.state.domNode&&this.setState({rootRippleElement:e})},r.prototype.render=function(){return t.createElement(we,ae({},this.props,{domNode:this.state.domNode}))},r}(t.Component));
|
|
45
|
-
/**
|
|
46
|
-
* @license
|
|
47
|
-
* Copyright 2016 Google Inc.
|
|
48
|
-
*
|
|
49
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
50
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
51
|
-
* in the Software without restriction, including without limitation the rights
|
|
52
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
53
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
54
|
-
* furnished to do so, subject to the following conditions:
|
|
55
|
-
*
|
|
56
|
-
* The above copyright notice and this permission notice shall be included in
|
|
57
|
-
* all copies or substantial portions of the Software.
|
|
58
|
-
*
|
|
59
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
60
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
61
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
62
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
63
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
64
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
65
|
-
* THE SOFTWARE.
|
|
66
|
-
*/const Ne={background:"rgb(0 0 0 / 0.9)",color:"white",border:"none",borderRadius:"4px",padding:"0.5em 1em",fontSize:12},Ae=({label:e,children:r})=>t.createElement(g,{label:e,style:Ne},r);Ae.displayName="Tooltip";class Re extends t.Component{render(){const{forwardedRef:e,children:r,className:i,fullwidth:n,type:o,title:a,...s}=this.props,l=v(i,"x-3deye-button",{fullwidth:n}),c=t.createElement("button",{ref:e,className:l,type:o||"button",...s},r,s.disabled?null:t.createElement(b,null));return a?t.createElement(Ae,{label:a},c):c}}const ke=t.forwardRef(((e,r)=>t.createElement(Re,{forwardedRef:r,...e}))),He=document.body;class Fe extends t.Component{constructor(e){super(e),Object.defineProperty(this,"el",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.el=document.createElement("div")}componentDidMount(){He.appendChild(this.el)}componentWillUnmount(){He.removeChild(this.el)}render(){return f.createPortal(this.props.children,this.el)}}class ze extends t.Component{constructor(e){super(e),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{isOpened:!1,top:0,left:0,bottom:void 0,right:void 0}}),Object.defineProperty(this,"buttonRef",{enumerable:!0,configurable:!0,writable:!0,value:t.createRef()}),Object.defineProperty(this,"menuRef",{enumerable:!0,configurable:!0,writable:!0,value:t.createRef()}),Object.defineProperty(this,"outsideClickListener",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"windowResizeListener",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"updatePosition",{enumerable:!0,configurable:!0,writable:!0,value:e=>{if(!this.menuRef)return;const{top:t,height:r,left:i,width:n}=e?{...e,width:0,height:0}:this.buttonRef.current.getBoundingClientRect(),{offsetWidth:o,offsetHeight:a}=this.menuRef.current||{offsetHeight:0,offsetWidth:0},s=window.innerHeight,l=window.innerWidth;let c,d=i+n-o,u=t+r;e?(d=i,u=t,d+o>l&&(d-=o),u+a>s&&(u-=a)):(t+r+a>s&&(u=void 0,c=s-t+4),i-o<0&&(d=i+n,c&&(c-=r),u&&(u-=r))),this.setState({top:u,bottom:c,left:d},(()=>{this.forceUpdate()}))}}),Object.defineProperty(this,"toggleMenu",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.setState((({isOpened:e})=>({isOpened:!e})),(()=>{this.state.isOpened?(this.startOutsideClickListening(),this.startWindowResizeListening(),this.updatePosition(e)):(this.stopOutsideClickListening(),this.stopWindowResizeListening())}))}}),Object.defineProperty(this,"targetClick",{enumerable:!0,configurable:!0,writable:!0,value:e=>{e.stopPropagation(),this.toggleMenu()}}),Object.defineProperty(this,"itemClick",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{t.stopPropagation();const{autoClose:r=!0}=this.props;r&&this.toggleMenu(),this.props.onSelect(e,this.props.options[e])}}),this.outsideClickListener=e=>{const t=e.target;this.menuRef.current&&(this.menuRef.current.contains(t)||this.buttonRef.current.contains(t)||this.toggleMenu())}}startOutsideClickListening(){document.addEventListener("mousedown",this.outsideClickListener,!0)}stopOutsideClickListening(){document.removeEventListener("mousedown",this.outsideClickListener)}startWindowResizeListening(){this.windowResizeListener&&this.stopWindowResizeListening(),this.windowResizeListener=this.updatePosition.bind(null,void 0),window.addEventListener("resize",this.windowResizeListener)}stopWindowResizeListening(){window.removeEventListener("resize",this.windowResizeListener),this.windowResizeListener=null}componentWillUnmount(){this.stopOutsideClickListening(),this.stopWindowResizeListening()}render(){const{top:e,left:r,bottom:i,right:n,isOpened:o}=this.state,{className:a,itemRenderer:s,containerStyle:l}=this.props,c=v(a,"menu-items-container"),d=o&&t.createElement(Fe,null,t.createElement("div",{className:c,ref:this.menuRef,style:{zIndex:10000001,position:"absolute",top:e,left:r,bottom:i,right:n}},this.props.options.map(((e,r)=>t.createElement(ke,{key:r,onClick:this.itemClick.bind(null,r)},s?s(r,e):e))))),u=this.props.target(this.buttonRef,this.targetClick),p=v(a,"menu",{"menu-opened":o});return t.createElement("div",{className:p,style:l},u,d)}}class Ve{constructor(e){Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cameraId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"startTime",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"endTime",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"duration",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"chunks",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clipUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isDownloading",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"archives",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),y(this,{name:E,clipUrl:E,isDownloading:E}),this.update(e)}get isTimelapse(){return this.type.startsWith("Timelaps")}update(e){this.raw=e,this.id=e.id,this.startTime=new Date(e.startTime),this.endTime=new Date(e.endTime),this.type=e.recordType,this.duration=e.duration,this.cameraId=e.cameraId,this.name=e.name||e.tagName,this.description=e.description,this.clipUrl=e.clipUrl,this.version=e.version}}const Ue=()=>!0;function Be(e){const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="absolute",t.style.left="-9999px",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}const $e=new Map,We=M.createInstance();function Ge(e,t){const r=$e.get(We.language);return T(e,t,{locale:r})}function qe(e){return r=>{const{size:i=24,color:n="currentColor",className:o,...a}=r,s=e.viewBox||"0 0 24 24",l=e.svg;return t.createElement("svg",{preserveAspectRatio:"xMinYMin",className:`icon ${o}`,width:i,fill:n,viewBox:s,height:i,...a},l)}}const Xe=qe({viewBox:"0 0 24 24",svg:t.createElement("g",null,t.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),t.createElement("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}))});Xe.displayName="MoreVertIcon";const Ye=({Type:e,Box:{Top:r,Left:i,Right:n,Bottom:o},Probability:a,height:l})=>{const{eventSchema:c}=s(ie);let d="top";d=l&&r*l>12||r>.1?"top":1-o-r>.5?"bottom":"top inset";const u={top:"top"===d?-12:"top inset"===d?0:"auto",bottom:"bottom"===d?-12:"auto",left:"top"===d?-2:0};return t.createElement("div",{style:{position:"absolute",top:100*r+"%",left:100*i+"%",bottom:100*(1-o)+"%",right:100*(1-n)+"%",outline:`2px solid ${c.colorsByFoundObjectType.get(e)}`}},t.createElement("div",{style:{color:c.colorsByFoundObjectType.get(e),backgroundColor:"rgba(0, 0, 0, 0.8)",position:"absolute",fontSize:10,fontFamily:"monospace",padding:"0 2px",...u},title:`${e.toLowerCase()} ${Math.floor(100*a)}%`},e.toLowerCase()," ",Math.floor(100*a),"%"))};Ye.displayName="FoundObjectBox";const Ke=u((({data:e,hideCameraName:n,height:a,onClick:c})=>{var d,u,p,h;const m=i(null),f=i(null),[v,b]=r(null),g=s(ie),{cameras:y,eventSchema:E,thumbnails:_}=g;o((()=>{if(e.thumbnailUrl)return void b(null);const t=_.fetchThumbnail(e.cameraId,e.startTime,e.startTime).subscribe((e=>{b(e||null)}));return()=>t.unsubscribe()}),[e.id]);const w="clipSharing"in g&&!!(4&(null!==(u=null===(d=y.camerasById.get(e.cameraId))||void 0===d?void 0:d.permissions)&&void 0!==u?u:0));let C=null;e.detectedObjects.length&&(C=e.detectedObjects.filter((({Type:e})=>E.foundObjectTypes.includes(e))).map(((e,r)=>t.createElement(Ye,{key:r,...e,height:a}))));let O="",P=!1;if(e.thumbnailUrl?O=e.thumbnailUrl:null===v&&y.loaded?(O=(null===(p=y.camerasById.get(e.cameraId))||void 0===p?void 0:p.imageUrl)||"",P=!0):v&&(O=v.url),e.faces){const{Width:r,Height:i}=JSON.parse(e.raw.data).ThumbnailSize;C||(C=[]);const n=100,o=C.length;C=C.concat(e.faces.map((({Name:e,Box:{Top:a,Left:s,Right:c,Bottom:d},Probability:u},p)=>{const h=n/r/(c-s),m={top:2},f={};return s>=1-c?(m.left=2,f.right=-2):(m.right=2,f.left=-2),a>=1-d?f.bottom="calc(100% + 1px)":f.top="calc(100% + 1px)",t.createElement(l,{key:o+p},t.createElement("div",{className:"event-list-item-face-trigger",style:{position:"absolute",top:100*a+"%",left:100*s+"%",bottom:100*(1-d)+"%",right:100*(1-c)+"%",outline:"1px solid orange"}},t.createElement("div",{style:{color:"orange",backgroundColor:"rgba(0, 0, 0, 0.8)",position:"absolute",fontSize:10,fontFamily:"monospace",...f},title:`${e} ${Math.floor(100*u)}%`},e," ",Math.floor(100*u),"%")),t.createElement("div",{className:"event-list-item-face",style:{overflow:"hidden",width:r*(c-s)*h,height:i*(d-a)*h,...m}},t.createElement("img",{style:{width:r*h,height:i*h,transform:`translate(-${100*s}%, -${100*a}%)`},src:O}),t.createElement("div",{className:"frame"},t.createElement("div",{className:"corner-highlight-tl"}),t.createElement("div",{className:"corner-highlight-tr"}),t.createElement("div",{className:"corner-highlight-br"}),t.createElement("div",{className:"corner-highlight-bl"}))))})))}const T=y.loaded&&(null===(h=y.camerasById.get(e.cameraId))||void 0===h?void 0:h.name)||"...",L=[{name:"share",action:()=>{var t;const{cameraId:r}=e;let{startTime:i,endTime:n}=e;+n-+i<5e3&&(i=new Date(+i-5e3),n=new Date(+n+5e3));const o="clipSharing"in g?g.clipSharing:void 0;null==o||o.openModalWithSelectedClip(new Ve({cameraId:r,startTime:i,endTime:n,name:null===(t=y.camerasById.get(r))||void 0===t?void 0:t.name}))},visible:()=>w},{name:"copy id to clipboard",action:()=>{Be(e.id.toString())},visible:Ue},{name:"copy camera id to clipboard",action:()=>{Be(e.cameraId.toString())},visible:Ue}];return t.createElement(xe,null,t.createElement("div",{onDragStart:t=>{if(!t.dataTransfer)return;t.dataTransfer.setData("x-3deye/event",""+e.id),t.dataTransfer.dropEffect="move";const r=f.current;if(r){const{x:e,y:i}=r.getBoundingClientRect();t.dataTransfer.setDragImage(r,t.clientX-e,t.clientY-i)}},className:"event-list-item",onClick:()=>c(e),onContextMenu:e=>{var t;e.preventDefault(),null===(t=m.current)||void 0===t||t.toggleMenu({top:e.clientY,left:e.clientX})},draggable:!0},O&&t.createElement("img",{key:O,ref:f,style:{position:"absolute",width:"100%",height:"100%",top:0,left:0},src:O}),P?t.createElement("div",{className:"no-preview-overlay"}):null,e.acknowledged?t.createElement("div",{className:"acknowledged-overlay"},"acknowledged"):null,C,t.createElement(ze,{ref:m,containerStyle:{position:"absolute",right:0,top:0},target:(e,r)=>t.createElement(ke,{ref:e,onClick:r,className:"x-3deye-button--icon camera-list-item-button"},t.createElement(Xe,null)),options:L.filter((e=>e.visible())),itemRenderer:(e,t)=>t.name,onSelect:(e,t)=>{t.action(void 0)}}),t.createElement("div",{className:"event-list-item-caption"},t.createElement("div",{className:"event-list-item__time"},function(e,t){let r="",i="";return S(e,new Date)?I(e,new Date)?r=i="HH:mm":I(e,t)?(r="EEE d MMM HH:mm",i="HH:mm"):r=i="EEE d MMM HH:mm":S(e,t)?(r="yyyy d MMM HH:mm",i="d MMM HH:mm"):r=i="yyyy d MMM HH:mm",(e.getSeconds()||t.getSeconds())&&(r+=":ss",i+=":ss"),+e==+t?`${Ge(e,r)}`:`${Ge(e,r)} - ${Ge(t,i)}`}(e.startTime,e.endTime)),n?null:t.createElement("div",{className:"event-list-item__camera-name",title:T},T),+e.endTime-+e.startTime>0&&t.createElement("div",{className:"event-list-item__duration"},function(e,t=!0){if((e=Math.round(e/1e3))<60)return`${e}s`;const r=e%60,i=t?`${r}`:`${r}`.padStart(2,"0");let n=(e-r)/60;if(n<60)return!r&&t?`${n}m`:`${n}m ${i}s`;const o=Math.floor(n/60);if(n-=60*o,!r&&!n&&t)return`${o}h`;const a=t?`${n}`:`${n}`.padStart(2,"0");return!r&&n&&t?`${o}h ${a}m`:`${o}h ${a}m ${i}s`}(+e.endTime-+e.startTime)))))}));Ke.displayName="EventListItem";var Ze="object"==typeof ue&&ue&&ue.Object===Object&&ue,Je="object"==typeof self&&self&&self.Object===Object&&self,Qe=Ze||Je||Function("return this")(),et=Qe.Symbol,tt=Object.prototype,rt=tt.hasOwnProperty,it=tt.toString,nt=et?et.toStringTag:void 0;var ot=function(e){var t=rt.call(e,nt),r=e[nt];try{e[nt]=void 0;var i=!0}catch(e){}var n=it.call(e);return i&&(t?e[nt]=r:delete e[nt]),n},at=Object.prototype.toString;var st=function(e){return at.call(e)},lt=et?et.toStringTag:void 0;var ct=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":lt&< in Object(e)?ot(e):st(e)};var dt=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};var ut,pt=function(e){if(!dt(e))return!1;var t=ct(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},ht=Qe["__core-js_shared__"],mt=(ut=/[^.]+$/.exec(ht&&ht.keys&&ht.keys.IE_PROTO||""))?"Symbol(src)_1."+ut:"";var ft=function(e){return!!mt&&mt in e},vt=Function.prototype.toString;var bt=function(e){if(null!=e){try{return vt.call(e)}catch(e){}try{return e+""}catch(e){}}return""},gt=/^\[object .+?Constructor\]$/,yt=Function.prototype,Et=Object.prototype,_t=yt.toString,wt=Et.hasOwnProperty,Ct=RegExp("^"+_t.call(wt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var Ot=function(e){return!(!dt(e)||ft(e))&&(pt(e)?Ct:gt).test(bt(e))};var Pt=function(e,t){return null==e?void 0:e[t]};var Tt=function(e,t){var r=Pt(e,t);return Ot(r)?r:void 0},St=Tt(Object,"create");var It=function(){this.__data__=St?St(null):{},this.size=0};var Lt=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Dt=Object.prototype.hasOwnProperty;var Mt=function(e){var t=this.__data__;if(St){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return Dt.call(t,e)?t[e]:void 0},jt=Object.prototype.hasOwnProperty;var xt=function(e){var t=this.__data__;return St?void 0!==t[e]:jt.call(t,e)};var Nt=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=St&&void 0===t?"__lodash_hash_undefined__":t,this};function At(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}At.prototype.clear=It,At.prototype.delete=Lt,At.prototype.get=Mt,At.prototype.has=xt,At.prototype.set=Nt;var Rt=At;var kt=function(){this.__data__=[],this.size=0};var Ht=function(e,t){return e===t||e!=e&&t!=t};var Ft=function(e,t){for(var r=e.length;r--;)if(Ht(e[r][0],t))return r;return-1},zt=Array.prototype.splice;var Vt=function(e){var t=this.__data__,r=Ft(t,e);return!(r<0)&&(r==t.length-1?t.pop():zt.call(t,r,1),--this.size,!0)};var Ut=function(e){var t=this.__data__,r=Ft(t,e);return r<0?void 0:t[r][1]};var Bt=function(e){return Ft(this.__data__,e)>-1};var $t=function(e,t){var r=this.__data__,i=Ft(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this};function Wt(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Wt.prototype.clear=kt,Wt.prototype.delete=Vt,Wt.prototype.get=Ut,Wt.prototype.has=Bt,Wt.prototype.set=$t;var Gt=Wt,qt=Tt(Qe,"Map");var Xt=function(){this.size=0,this.__data__={hash:new Rt,map:new(qt||Gt),string:new Rt}};var Yt=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var Kt=function(e,t){var r=e.__data__;return Yt(t)?r["string"==typeof t?"string":"hash"]:r.map};var Zt=function(e){var t=Kt(this,e).delete(e);return this.size-=t?1:0,t};var Jt=function(e){return Kt(this,e).get(e)};var Qt=function(e){return Kt(this,e).has(e)};var er=function(e,t){var r=Kt(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this};function tr(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}tr.prototype.clear=Xt,tr.prototype.delete=Zt,tr.prototype.get=Jt,tr.prototype.has=Qt,tr.prototype.set=er;var rr=tr;function ir(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function(){var i=arguments,n=t?t.apply(this,i):i[0],o=r.cache;if(o.has(n))return o.get(n);var a=e.apply(this,i);return r.cache=o.set(n,a)||o,a};return r.cache=new(ir.Cache||rr),r}ir.Cache=rr;const nr=ir((()=>{const e=document.createElement("div");e.style.overflowY="scroll",e.style.position="absolute",e.style.top="-9999px",document.body.append(e);const t=e.offsetWidth;return e.remove(),t})),or=({size:e=48})=>t.createElement("svg",{width:e,height:e,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},t.createElement("rect",{x:"0",y:"0",width:"100",height:"100",fill:"none",className:"bk"}),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(0 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(30 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.08333333333333333s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(60 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.16666666666666666s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(90 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.25s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(120 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.3333333333333333s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(150 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.4166666666666667s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(180 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.5s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(210 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.5833333333333334s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(240 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.6666666666666666s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(270 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.75s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(300 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.8333333333333334s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(330 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.9166666666666666s",repeatCount:"indefinite"})));or.displayName="Preloader";class ar extends t.Component{constructor(e){super(e),Object.defineProperty(this,"scrollState",{enumerable:!0,configurable:!0,writable:!0,value:{rowIndex:0,columnIndex:0}}),Object.defineProperty(this,"scrollTop",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"columnCount",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(this,"rowHeight",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"lastScrollEventTimestamp",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"scrolls",{enumerable:!0,configurable:!0,writable:!0,value:new j}),Object.defineProperty(this,"updates",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"disposables",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"listRef",{enumerable:!0,configurable:!0,writable:!0,value:t.createRef()}),Object.defineProperty(this,"setScrollState",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{this.scrollState.rowIndex=e,this.scrollState.columnIndex=t}}),Object.defineProperty(this,"resetScrollState",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.scrollState.rowIndex=0,this.scrollState.columnIndex=0}}),Object.defineProperty(this,"onScroll",{enumerable:!0,configurable:!0,writable:!0,value:({scrollTop:e})=>{this.scrollTop=e,this.lastScrollEventTimestamp=Date.now(),this.scrolls.next(e),"disabled"!==this.props.store.liveUpdateMode&&_((()=>this.props.store.liveUpdateMode=this.scrollTop?"manual":"auto"))}}),Object.defineProperty(this,"rowRenderer",{enumerable:!0,configurable:!0,writable:!0,value:e=>({columnIndex:r,rowIndex:i,style:n})=>t.createElement(p,null,(()=>{var o;const a=i*e+r,s=this.props.store.data[a];return a===this.props.store.data.length?this.props.store.error?t.createElement("div",{style:n},t.createElement("div",{style:{position:"absolute",inset:0,display:"grid",placeItems:"center"}},t.createElement("div",{style:{textAlign:"center"}},t.createElement("div",null,"Couldn't fetch more data"),t.createElement(ke,{onClick:this.props.store.loadMore},"Retry")))):t.createElement("div",{style:n},t.createElement("div",{style:{position:"absolute",inset:0,display:"grid",placeItems:"center"}},t.createElement(or,{size:32}))):!s&&(null===(o=this.props.store.pageInfo)||void 0===o?void 0:o.haveMore)?t.createElement("div",{style:n}):s?t.createElement("div",{style:n},t.createElement(Ke,{data:s,hideCameraName:this.props.hideCameraName,onClick:this.props.onEventClick})):t.createElement("div",{style:n})}))}),Object.defineProperty(this,"loadMoreItems",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>(this.props.store.loadMore(),Promise.resolve())}),y(this,{scrollState:E,setScrollState:w,resetScrollState:w})}componentDidMount(){this.disposables.push(this.scrolls.pipe(V(200)).subscribe((()=>{this.props.store.pendingData.length&&(this.updates=this.props.store.pendingData.length,this.props.store.flushUpdates(),this.forceUpdate())}))),this.disposables.push(C((()=>this.props.store.pendingData),(e=>{e.length&&(Date.now()-this.lastScrollEventTimestamp<200||(this.updates=e.length,this.props.store.flushUpdates(),this.forceUpdate()))})))}componentWillUnmount(){this.disposables.forEach((e=>{e instanceof x?e.closed||e.unsubscribe():e()})),"disabled"!==this.props.store.liveUpdateMode&&_((()=>this.props.store.liveUpdateMode="auto"))}componentDidUpdate(){if(0!==this.scrollTop&&this.listRef.current&&this.updates){const e=this.scrollTop+Math.round(this.updates/this.columnCount)*this.rowHeight;this.listRef.current.scrollTo({scrollTop:e,scrollLeft:0}),this.updates=0}}render(){return t.createElement(p,null,(()=>{const{store:e}=this.props;return e.error&&!e.data.length?(this.resetScrollState(),t.createElement("div",{style:{flex:1,display:"flex",justifyContent:"center",alignItems:"center"}},t.createElement("div",{style:{textAlign:"center"}},t.createElement("div",null,"Couldn't fetch data"),t.createElement(ke,{onClick:e.reload},"Retry")))):e.loading?(this.resetScrollState(),t.createElement("div",{style:{flex:1,display:"flex",justifyContent:"center",alignItems:"center"}},t.createElement(or,null))):e.data.length?t.createElement(F,null,(({width:r,height:i})=>t.createElement(p,null,(()=>{var n;const{minColumnWidth:o=180}=this.props,a=Math.floor(r/o)||1,s=r/a/16*9,l=a*Math.floor(i/s)>=e.data.length?0:nr(),c=Math.max(1,Math.floor((r-l)/o)),d=Math.ceil(this.props.store.data.length/c),u=(r-l)/c/16*9;this.rowHeight=u,this.columnCount=c;return t.createElement(z,{isItemLoaded:e=>e<d,itemCount:d+((null===(n=e.pageInfo)||void 0===n?void 0:n.haveMore)?1:0),loadMoreItems:this.loadMoreItems},(({onItemsRendered:n,ref:o})=>{var a;return t.createElement(H,{ref:q(this.listRef,o),columnCount:c,columnWidth:(r-l)/c,height:i,width:r,rowCount:d+((null===(a=e.pageInfo)||void 0===a?void 0:a.haveMore)||e.error?1:0),rowHeight:u,initialScrollTop:u*this.scrollState.rowIndex,onScroll:this.onScroll,onItemsRendered:({visibleRowStartIndex:e,visibleColumnStartIndex:t,visibleRowStopIndex:r,overscanRowStopIndex:i,overscanRowStartIndex:o})=>{this.setScrollState(e,t),n({overscanStartIndex:o,overscanStopIndex:i,visibleStartIndex:e,visibleStopIndex:r})}},this.rowRenderer(c))}))})))):(this.resetScrollState(),t.createElement("div",{style:{flex:1,display:"flex",justifyContent:"center",alignItems:"center"}},We.t("noEventsFound")))}))}}const sr=e=>{const{className:r,children:i,...n}=e;return t.createElement("div",{className:v("x-3deye-button-group",r),...n},i)},lr=qe({viewBox:"0 0 24 24",svg:t.createElement("g",null,t.createElement("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),t.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))});lr.displayName="CloseIcon";const cr=qe({viewBox:"0 0 24 24",svg:t.createElement(t.Fragment,null,t.createElement("path",{fill:"none",d:"M0 0h24v24H0z"}),t.createElement("path",{d:"M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"}))});cr.displayName="DoneIcon";const dr=[{color:X.red[500],name:"red",highlightColor:X.red[100]},{color:X.green[500],name:"green",highlightColor:X.green[100]},{color:X.blue[500],name:"blue",highlightColor:X.blue[100]},{color:X.yellow[500],name:"yellow",highlightColor:X.yellow[900]},{color:X.black,name:"black",highlightColor:X.white},{color:X.white,name:"white",highlightColor:X.black},{color:X.grey[500],name:"dimgrey",highlightColor:X.grey[100]}],ur=u((({value:e,clear:r,toggle:i})=>t.createElement("div",{className:"color-selector"},t.createElement("div",null,"COLOR"),t.createElement("div",{className:"color-selector__items"},dr.map((({color:r,highlightColor:n,name:o})=>t.createElement("button",{key:o,className:v("color-selector__item",{selected:e.has(o)}),style:{backgroundColor:r,color:n},onClick:i.bind(null,o)},t.createElement(cr,{size:20})))),t.createElement(ke,{disabled:!e.size,onClick:r},t.createElement(lr,{size:20}))))));ur.displayName="ColorSelector";const pr=({value:e,onChange:n})=>{const a=i(null),s=i(),[l,c]=r(0);return o((()=>{if(!a.current)return;const e=new Y(a.current);return s.current=e,e.listen("MDCSlider:change",(()=>{null==n||n(e.value)})),()=>{s.current=void 0,e.destroy()}}),[]),o((()=>{const e=new K((e=>{var t;for(const r of e){const e=r.contentRect.width;e!==l&&(null===(t=s.current)||void 0===t||t.layout()),c(e)}}));return e.observe(a.current),()=>e.disconnect()}),[]),o((()=>{s.current&&(s.current.value=e)}),[e]),t.createElement("div",{ref:a,className:"mdc-slider mdc-slider--discrete mdc-slider--display-markers",tabIndex:0,role:"slider","data-step":5,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e,"aria-label":"Select Value"},t.createElement("div",{className:"mdc-slider__track-container"},t.createElement("div",{className:"mdc-slider__track"}),t.createElement("div",{className:"mdc-slider__track-marker-container"})),t.createElement("div",{className:"mdc-slider__thumb-container"},t.createElement("div",{className:"mdc-slider__pin"},t.createElement("span",{className:"mdc-slider__pin-value-marker"})),t.createElement("svg",{className:"mdc-slider__thumb",width:"21",height:"21"},t.createElement("circle",{cx:"10.5",cy:"10.5",r:"7.875"})),t.createElement("div",{className:"mdc-slider__focus-ring"})))};pr.displayName="Slider";const hr=u((({getter:e,setter:n})=>{const[a,s]=r(0),l=i(null),c=Math.floor(100*e());return o((()=>C(e,(e=>{s(Math.floor(100*e))}),{fireImmediately:!0})),[e]),t.createElement("div",{ref:l,style:{paddingLeft:8,paddingRight:8,marginTop:5}},t.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},t.createElement("div",null,"CONFIDENCE"),t.createElement("div",{style:{fontSize:"1.1em"}},c,"%")),t.createElement(pr,{value:a,onChange:e=>{n(e/100)}}))}));hr.displayName="ProbabilitySlider";const mr=e=>`scale(${e})`,fr=({children:t,from:r,style:i})=>{const n=Z({opacity:1,from:{opacity:0},config:{tension:300}});return e.createElement(J.div,{style:{...i,...n,transform:n.opacity.to(mr),transformOrigin:`${r||"bottom"} center`,width:"max-content"}},t)},vr=({width:e,height:r,color:i,position:n="top",style:o})=>{const a=[0,"top"===n?r:0],s=[e,a[1]],l=[e/2,r-a[1]],c=[e/4,r*("top"===n?3:1)/4],d=[.325*e,r-a[1]],u=[e-d[0],d[1]],p=[e-c[0],c[1]],h=e=>e.join(","),m=`M ${h(a)} C ${h(c)} ${h(d)} ${h(l)} ${h(u)} ${h(p)} ${h(s)} Z`;return t.createElement("svg",{className:"tip",style:o,width:e,height:r,fill:i},t.createElement("path",{d:m}))};class br extends t.Component{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{top:0,left:0,bottom:"auto",tipPosition:"bottom",tipOffset:0}}),Object.defineProperty(this,"targetRef",{enumerable:!0,configurable:!0,writable:!0,value:t.createRef()}),Object.defineProperty(this,"popoverRef",{enumerable:!0,configurable:!0,writable:!0,value:t.createRef()}),Object.defineProperty(this,"outsideClickListener",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.target;if(this.popoverRef.current.contains(t))return;const r=this.targetRef.current;r&&r.contains(t)||this.props.onCloseRequest()}}),Object.defineProperty(this,"updatePosition",{enumerable:!0,configurable:!0,writable:!0,value:()=>{if(!this.popoverRef)return;const{disablePortal:e}=this.props,t=this.targetRef.current;if(!t)return void console.warn("popover: no target element found");const{top:r,left:i,bottom:n,height:o,width:a}=t.getBoundingClientRect();let s="calc(50% - 12px)",l="auto";const c=this.popoverRef.current;let d="bottom"===this.props.placement?n+10:r-c.clientHeight-10,u=i+a/2-c.clientWidth/2,p="bottom"===this.props.placement?"top":"bottom";d<0&&(d=n+10,p="top"),u<0&&(u=0,s=i+a/2-12),u+c.clientWidth>window.innerWidth&&(u=window.innerWidth-c.clientWidth,s=i-u+a/2-12),e&&(d=o+10,u=0,s=8,"top"===this.props.placement&&(l=d,d="auto")),this.setState({top:d,bottom:l,left:u,tipPosition:p,tipOffset:s},(()=>{this.forceUpdate()}))}})}componentWillUnmount(){this.stopOutsideClickListening()}componentDidUpdate(e){const{ignoreOutsideClick:t}=this.props;this.props.opened&&!e.opened&&(t||this.startOutsideClickListening(),requestAnimationFrame(this.updatePosition)),!this.props.opened&&e.opened&&this.stopOutsideClickListening()}render(){const{top:e,left:r,bottom:i,tipPosition:n,tipOffset:o}=this.state,{className:a,opened:s,disablePortal:l,disableAnimation:c}=this.props,d={position:"absolute",left:o};"bottom"===n?d.bottom=-8:d.top=-8;const u=v(a,"x-3deye-popover-body");let p=null;if(s){const o={zIndex:l?1:100000001,position:"absolute",top:e,bottom:i,left:r},a=t.createElement("div",{className:u,ref:this.popoverRef},this.props.children,t.createElement(vr,{width:24,height:8,position:n,color:"white",style:d}));p=c?t.createElement("div",{style:o},a):t.createElement(fr,{from:n,style:o},a)}const h=t.cloneElement(this.props.target,{ref:this.targetRef});if(l)return t.createElement("div",{className:"x-3deye-popover",onMouseLeave:this.props.onMouseLeave},h,p);const m=s&&t.createElement(Fe,null,p);return t.createElement(t.Fragment,null,h,m)}startOutsideClickListening(){document.addEventListener("mousedown",this.outsideClickListener,!0)}stopOutsideClickListening(){document.removeEventListener("mousedown",this.outsideClickListener,!0)}}const gr=qe({viewBox:"0 0 24 24",svg:t.createElement("path",{fill:"currentColor",d:"M21 17H24L20 21L16 17H19V3H21V17M8 16H11V13H8V16M13 5H12V3H10V5H6V3H4V5H3C1.89 5 1 5.89 1 7V18C1 19.11 1.89 20 3 20H13C14.11 20 15 19.11 15 18V7C15 5.89 14.11 5 13 5M3 18L3 11H13L13 18L3 18Z"})});gr.displayName="SortCalendarAsc";const yr=qe({viewBox:"0 0 24 24",svg:t.createElement("path",{fill:"currentColor",d:"M19 7H16L20 3L24 7H21V21H19V7M8 16H11V13H8V16M13 5H12V3H10V5H6V3H4V5H3C1.89 5 1 5.89 1 7V18C1 19.11 1.89 20 3 20H13C14.11 20 15 19.11 15 18V7C15 5.89 14.11 5 13 5M3 18L3 11H13L13 18L3 18Z"})});yr.displayName="SortCalendarDesc";const Er=u((({store:e})=>{const{date:r,sortDirection:i}=e,n=h((()=>({opened:!1,toggle(){this.opened=!this.opened},close(){this.opened=!1,e.applyFilters()},onDateChange(t){e.date=t},clear(){e.date=null,e.applyFilters()}}))),o=t.createElement("div",{style:{flex:1,display:"flex"}},t.createElement(ke,{className:"date-button",style:{flex:1,textAlign:"left"},onClick:n.toggle},r?Ge(r,"MMM d, HH:mm"):"now"),"DESC"===i&&r?t.createElement(ke,{onClick:n.clear},t.createElement(lr,{size:16})):null);return t.createElement("div",{className:"events-panel-datepicker"},t.createElement("div",{style:{position:"relative"}},t.createElement(br,{target:o,opened:n.opened,onCloseRequest:n.close,disableAnimation:!0,className:"popover-datepicker"},t.createElement(Q,{selected:r||new Date,onChange:n.onDateChange,showTimeSelect:!0,dateFormat:"MMM d, HH:mm",timeFormat:"HH:mm",inline:!0}),t.createElement(ke,{onClick:n.close,className:"x-3deye-button--save"},"Ok")),t.createElement(ke,{className:"x-3deye-button--icon events-panel-datepicker__sorting-button",onClick:e.toggleSorting},"ASC"===i?t.createElement(gr,null):t.createElement(yr,null))))}));Er.displayName="EventsPanelDatepicker";var _r,wr=(_r=8,{container:e=>({...e,padding:_r}),control:(e,t)=>({...e,borderRadius:8,backgroundColor:t.isFocused?"white":"rgba(0, 0, 0, 0.5)",border:"none",boxShadow:null,"&:hover":{borderColor:null}}),menu:e=>({...e,borderRadius:"0 0 4px 4px",marginTop:0,marginLeft:-_r,marginRight:_r}),option:e=>({...e,color:"black"}),multiValueRemove:e=>({...e,color:"black"})});const Cr=qe({viewBox:"0 0 24 24",svg:t.createElement("g",null,t.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),t.createElement("path",{d:"M10.13 3.245a1.994 1.994 0 0 0-1.542.992l-5.491 9.53c-.55.954-.23 2.178.723 2.728l8.66 5c.953.55 2.174.216 2.724-.737l5.509-9.521c.335-.58.349-1.265.087-1.832L17.65 2.54z"}))});Cr.displayName="LabelIcon";const Or=qe({viewBox:"0 0 24 24",svg:t.createElement("g",null,t.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),t.createElement("path",{d:"M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11l-4 4z"}))});Or.displayName="CameraIcon";const Pr=qe({viewBox:"0 0 24 24",svg:t.createElement("path",{d:"M17,6h-2V3c0-0.55-0.45-1-1-1h-4C9.45,2,9,2.45,9,3v3H7C5.9,6,5,6.9,5,8v11c0,1.1,0.9,2,2,2c0,0.55,0.45,1,1,1 c0.55,0,1-0.45,1-1h6c0,0.55,0.45,1,1,1c0.55,0,1-0.45,1-1c1.1,0,2-0.9,2-2V8C19,6.9,18.1,6,17,6z M9.5,18H8V9h1.5V18z M12.75,18 h-1.5V9h1.5V18z M13.5,6h-3V3.5h3V6z M16,18h-1.5V9H16V18z"})});Pr.displayName="LuggageIcon";const Tr=qe({viewBox:"0 0 24 24",svg:t.createElement(t.Fragment,null,t.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),t.createElement("path",{d:"M18.92 6.01C18.72 5.42 18.16 5 17.5 5h-11c-.66 0-1.21.42-1.42 1.01L3 12v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h12v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-8l-2.08-5.99zM6.5 16c-.83 0-1.5-.67-1.5-1.5S5.67 13 6.5 13s1.5.67 1.5 1.5S7.33 16 6.5 16zm11 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zM5 11l1.5-4.5h11L19 11H5z"}))});Tr.displayName="CarIcon";const Sr=qe({viewBox:"0 0 24 24",svg:t.createElement(t.Fragment,null,t.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),t.createElement("path",{d:"M20 21c-1.39 0-2.78-.47-4-1.32-2.44 1.71-5.56 1.71-8 0C6.78 20.53 5.39 21 4 21H2v2h2c1.38 0 2.74-.35 4-.99 2.52 1.29 5.48 1.29 8 0 1.26.65 2.62.99 4 .99h2v-2h-2zM3.95 19H4c1.6 0 3.02-.88 4-2 .98 1.12 2.4 2 4 2s3.02-.88 4-2c.98 1.12 2.4 2 4 2h.05l1.89-6.68c.08-.26.06-.54-.06-.78s-.34-.42-.6-.5L20 10.62V6c0-1.1-.9-2-2-2h-3V1H9v3H6c-1.1 0-2 .9-2 2v4.62l-1.29.42c-.26.08-.48.26-.6.5s-.15.52-.06.78L3.95 19zM6 6h12v3.97L12 8 6 9.97V6z"}))});Sr.displayName="BoatIcon";const Ir=qe({viewBox:"0 0 24 24",svg:t.createElement(t.Fragment,null,t.createElement("path",{d:"M11.74 13.36L14.14 7.71L13.06 5.5H10.5V4H14L14.73 5.5H21.75L20.75 9H16.44L17.11 10.37C17.69 10.13 18.33 10 19 10C21.76 10 24 12.24 24 15C24 17.76 21.76 20 19 20C16.24 20 14 17.76 14 15C14 13.45 14.71 12.06 15.82 11.15L15 9.5L12.25 16H9.9C9.44 18.28 7.42 20 5 20C2.24 20 0 17.76 0 15C0 12.24 2.24 10 5 10C7.59 10 9.72 11.97 10 14.5H10.58L8.3 9H7.5C7.09 9 6.75 8.66 6.75 8.25C6.75 7.84 7.09 7.5 7.5 7.5H10.25C10.66 7.5 11 7.84 11 8.25C11 8.66 10.66 9 10.25 9H9.97L11.74 13.36M5 11.5C3.07 11.5 1.5 13.07 1.5 15C1.5 16.93 3.07 18.5 5 18.5C6.59 18.5 7.93 17.45 8.36 16H4V14.5H8.47C8.22 12.8 6.76 11.5 5 11.5M19 11.5C18.57 11.5 18.15 11.58 17.77 11.72L19.7 15.68L18.35 16.34L16.5 12.55C15.88 13.18 15.5 14.05 15.5 15C15.5 16.93 17.07 18.5 19 18.5C20.93 18.5 22.5 16.93 22.5 15C22.5 13.07 20.93 11.5 19 11.5Z"}))});Ir.displayName="BicycleIcon";const Lr=qe({viewBox:"0 0 24 24",svg:t.createElement("g",null,t.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),t.createElement("path",{d:"M13.5 5.5c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zM9.8 8.9L7 23h2.1l1.8-8 2.1 2v6h2v-7.5l-2.1-2 .6-3C14.8 12 16.8 13 19 13v-2c-1.9 0-3.5-1-4.3-2.4l-1-1.6c-.4-.6-1-1-1.7-1-.3 0-.5.1-.8.1L6 8.3V13h2V9.6l1.8-.7"}))});Lr.displayName="DirectionsWalkIcon";const Dr=qe({viewBox:"0 0 24 24",svg:t.createElement(t.Fragment,null,t.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),t.createElement("circle",{cx:"4.5",cy:"9.5",r:"2.5"}),t.createElement("circle",{cx:"9",cy:"5.5",r:"2.5"}),t.createElement("circle",{cx:"15",cy:"5.5",r:"2.5"}),t.createElement("circle",{cx:"19.5",cy:"9.5",r:"2.5"}),t.createElement("path",{d:"M17.34 14.86c-.87-1.02-1.6-1.89-2.48-2.91-.46-.54-1.05-1.08-1.75-1.32-.11-.04-.22-.07-.33-.09-.25-.04-.52-.04-.78-.04s-.53 0-.79.05c-.11.02-.22.05-.33.09-.7.24-1.28.78-1.75 1.32-.87 1.02-1.6 1.89-2.48 2.91-1.31 1.31-2.92 2.76-2.62 4.79.29 1.02 1.02 2.03 2.33 2.32.73.15 3.06-.44 5.54-.44h.18c2.48 0 4.81.58 5.54.44 1.31-.29 2.04-1.31 2.33-2.32.31-2.04-1.3-3.49-2.61-4.8z"}))});Dr.displayName="PetsIcon";const Mr=({data:e})=>{const r=16;return e.isEventType?"Luggage"===e.id?t.createElement(Pr,{size:r}):"Car"===e.id?t.createElement(Tr,{size:r}):"Person"===e.id?t.createElement(Lr,{size:r}):"Bicycle"===e.id?t.createElement(Ir,{size:r}):"Boat"===e.id?t.createElement(Sr,{size:r}):"Animal"===e.id?t.createElement(Dr,{size:r}):t.createElement(Cr,{size:r}):t.createElement(Or,{size:r})},jr=e=>{const{children:r,innerProps:i,...n}=e,{Option:o}=te,{data:a}=e;if(!a.isEventType)return t.createElement(o,{...e});const s={...i,style:{display:"inline-flex",alignItems:"center",width:"auto"}};return t.createElement(o,{innerProps:s,...n},t.createElement(Mr,{data:a}),t.createElement("div",{style:{marginLeft:4}},r))},xr=e=>{const{children:r,innerProps:i,...n}=e,{MultiValueLabel:o}=te,{data:a}=e,s={...i,style:{display:"flex",alignItems:"center"}};return t.createElement(o,{innerProps:s,...n},t.createElement(Mr,{data:a}),t.createElement("div",{style:{marginLeft:4}},r))},Nr=qe({viewBox:"0 0 24 24",svg:t.createElement(t.Fragment,null,t.createElement("path",{d:"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"}),t.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))});Nr.displayName="FilterListIcon";const Ar={...wr,multiValue:(e,{data:t})=>t.color?{...e,backgroundColor:t.color,color:"white"}:e,multiValueLabel:(e,{data:t})=>t.color?{...e,color:"white"}:e,multiValueRemove:(e,{data:t})=>t.color?{...e,color:"white",":hover":{backgroundColor:"rgba(255, 255, 255, 0.7)",color:t.color}}:e,option:(e,{data:t})=>t.color?{...e,color:t.color}:e},Rr=e=>{const{children:r,...i}=e;return t.createElement(te.Placeholder,{...i},t.createElement(Nr,{size:16,style:{position:"relative",top:4}})," ",r)},kr=u((({store:e})=>{const{cameras:r,eventSchema:n}=s(ie),o=i({opened:!1});if(!("filters"in e))return null;return t.createElement(ee,{closeMenuOnSelect:!1,isMulti:!0,onChange:(t,r)=>{e.setFilters(t),"remove-value"!==r.action||o.current.opened||e.applyFilters()},onMenuOpen:()=>o.current.opened=!0,onMenuClose:()=>{o.current.opened=!1,e.applyFilters()},getOptionLabel:e=>e.name,getOptionValue:e=>e.id,options:(()=>{if(!n)return[];const t=e.facesSelected?[]:n.foundObjectTypesForSelect;return r.loaded?[].concat(t,r.data.slice()):t})(),placeholder:We.t("filter"),value:e.filters,components:{MultiValueLabel:xr,Option:jr,Placeholder:Rr},styles:Ar})}));kr.displayName="EventsPanelSelect";const Hr=u((({store:e,onEventClick:r})=>{const{facesSelected:i,getFacesProbabilityTreshold:n,getProbabilityTreshold:o,setFacesProbabilityTreshold:a,setProbabilityTreshold:s,someAnalyticsFilterSelected:l,colors:c,toggleColor:d,clearColors:u,selectEvents:p,selectFaces:h}=e;return t.createElement(t.Fragment,null,t.createElement("div",{style:{color:"black",zIndex:3}},t.createElement(kr,{store:e})),t.createElement(Er,{store:e}),l&&!i&&t.createElement(hr,{getter:i?n:o,setter:i?a:s}),!i&&l?t.createElement(ur,{value:c,toggle:d,clear:u}):null,t.createElement("div",{style:{display:"flex",flex:1}},i?t.createElement(ar,{key:"faces",minColumnWidth:800,hideCameraName:!1,store:e.facesLoader,onEventClick:r}):t.createElement(ar,{key:"events",minColumnWidth:800,hideCameraName:!1,store:e.eventsLoader,onEventClick:r})),t.createElement(sr,null,t.createElement(ke,{className:i?"button-unselected":"button-selected",onClick:p},"ALL"),t.createElement(ke,{className:i?"button-selected":"button-unselected",onClick:h},"Face recognition")))}));var Fr,zr;function Vr(e,t=!1){const r=O(e);return new N((e=>{const i=r.observe_((({newValue:t})=>e.next(t)),t);return()=>i()}))}Hr.displayName="EventsPanelContents",function(e){e[e.CONNECTING=0]="CONNECTING",e[e.CONNECTED=1]="CONNECTED",e[e.RECONNECTING=2]="RECONNECTING",e[e.DISCONNECTED=3]="DISCONNECTED"}(Fr||(Fr={})),function(e){e[e.Motion=0]="Motion",e[e.Tampering=1]="Tampering",e[e.PanTiltZoom=2]="PanTiltZoom",e[e.CrossLine=3]="CrossLine",e[e.Intrusion=4]="Intrusion",e[e.LicensePlate=5]="LicensePlate",e[e.FaceDetection=6]="FaceDetection",e[e.Audio=7]="Audio",e[e.Analytic=8]="Analytic",e[e.SpeedDetection=9]="SpeedDetection",e[e.PeopleCounter=10]="PeopleCounter",e[e.Temperature=11]="Temperature",e[e.PoS=12]="PoS",e[e.GPS=13]="GPS",e[e.DigitalInput=14]="DigitalInput",e[e.Normal=15]="Normal",e[e.Suspicious=16]="Suspicious",e[e.Loitering=17]="Loitering",e[e.Vandalism=18]="Vandalism",e[e.Trespass=19]="Trespass",e[e.Emergency=20]="Emergency",e[e.LifeInDanger=21]="LifeInDanger",e[e.ErroneousAlert=22]="ErroneousAlert",e[e.Misidentification=23]="Misidentification",e[e.Fire=24]="Fire",e[e.MedicalDuress=25]="MedicalDuress",e[e.HoldUp=26]="HoldUp",e[e.CheckIn=27]="CheckIn",e[e.CheckOut=28]="CheckOut",e[e.ClockIn=29]="ClockIn",e[e.ClockOut=30]="ClockOut",e[e.ParkingStart=31]="ParkingStart",e[e.ParkingEnd=32]="ParkingEnd",e[e.ParkingViolation=33]="ParkingViolation",e[e.GateAccess=34]="GateAccess",e[e.DoorAccess=35]="DoorAccess",e[e.TemperatureCheck=36]="TemperatureCheck",e[e.IDCheck=37]="IDCheck",e[e.PPECheck=38]="PPECheck",e[e.WelfareCheck=39]="WelfareCheck",e[e.Uncategorized=40]="Uncategorized",e[e.Unknown=999]="Unknown"}(zr||(zr={}));class Ur{constructor(){Object.defineProperty(this,"api",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"disposables",{enumerable:!0,configurable:!0,writable:!0,value:[]})}initWith(e){this.api=e,this.afterInit&&this.afterInit()}dispose(){this.disposables.forEach((e=>{e instanceof x?e.closed||e.unsubscribe():e()}))}}const Br=new Set(["LicensePlate","FaceDetection","Analytic","SpeedDetection","Temperature","PoS","GPS","DigitalInput"]);class $r{constructor(e){if(Object.defineProperty(this,"cameraId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"thumbnailUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"detectedObjects",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"faces",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"instant",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),y(this,{id:O,startTime:O,endTime:O,acknowledged:O,isLive:O,raw:E.ref}),this.raw=e,this.type=e.eventType,this.cameraId=e.sensorId,("Analytic"===this.type||"FaceDetection"===this.type)&&e.data)try{const t=JSON.parse(e.data);t.FoundObjects&&(this.type="Analytic",this.detectedObjects=t.FoundObjects),t.Faces&&(this.type="FaceDetection",this.faces=t.Faces),this.thumbnailUrl=t.ThumbnailUrl}catch{console.warn("invalid data",e.data),this.type="Motion"}this.instant=Br.has(this.type),this.detectedObjects||(this.detectedObjects=[])}get id(){return this.raw.id}get startTime(){return new Date(this.raw.startTime)}get endTime(){return new Date(this.raw.endTime)}get isLive(){return!Br.has(this.type)&&+this.startTime==+this.endTime}get acknowledged(){return"sensorId"in this.raw&&!!this.raw.ackEventType}}class Wr extends Ur{constructor(e){super(),Object.defineProperty(this,"eventsStore",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"pendingData",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"liveUpdateMode",{enumerable:!0,configurable:!0,writable:!0,value:"auto"}),Object.defineProperty(this,"updateTrigger",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"colors",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"disposables",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"pageInfo",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"loading",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"loadMoreTrigger",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"retryTrigger",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"error",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"sortDirection",{enumerable:!0,configurable:!0,writable:!0,value:"DESC"}),Object.defineProperty(this,"probabilityThreshold",{enumerable:!0,configurable:!0,writable:!0,value:.5}),Object.defineProperty(this,"from",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"to",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cameras",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"detectedObjects",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"polygons",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"eventTypes",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"loadingInited",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"flushUpdates",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.data=[...this.pendingData,...this.data],this.pendingData=[]}}),Object.defineProperty(this,"load",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.loadingInited||(this.loadingInited=!0,this.initDataLoading(),this.initLiveUpdates())}}),Object.defineProperty(this,"reload",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.error&&(this.retryTrigger=+!this.retryTrigger)}}),Object.defineProperty(this,"loadMore",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.error=null,this.loadMoreTrigger=+!this.loadMoreTrigger}}),Object.defineProperty(this,"requestData",{enumerable:!0,configurable:!0,writable:!0,value:({sortDirection:e,from:t,to:r,filter:i,pageInfo:n,cameras:o,polygons:a})=>this.api.cameras.GetSensorEventsPage({sensorIds:o,sensorType:"camera",sensorEventTypes:this.eventTypes,startTime:t,endTime:r,isDescending:"DESC"===e,rowsLimit:10,pageToken:null==n?void 0:n.nextPageToken},i,a).pipe(U((e=>e.success?A({events:e.resultItems,pageInfo:e.pageInfo}):R(e.error))),B((e=>(console.error(e),this.error=e,A({events:[],pageInfo:null})))))}),y(this,{data:E.ref,cameras:E.struct,detectedObjects:E.struct,from:E,to:E,sortDirection:E,probabilityThreshold:E,pendingData:E.ref,liveUpdateMode:E,updateTrigger:E,colors:E.ref,flushUpdates:w,pageInfo:E.ref,isLive:O,loading:E,loadMoreTrigger:E,retryTrigger:E,error:E.ref,loadMore:w,filterJson:O})}get isLive(){return"DESC"==this.sortDirection&&!this.to}get totalCount(){return this.data.length}get filterJson(){if(1===this.eventTypes.length&&this.eventTypes[0]===zr.FaceDetection)return null;const{probabilityThreshold:e}=this;if(null===e)return null;const t={And:[]};return this.detectedObjects.length&&t.And.push({Or:this.detectedObjects.map((e=>({Type:e})))}),this.colors.size&&t.And.push({Or:[...this.colors].map((e=>({ObjectColors:[e]})))}),t.And.push({Or:[{Probability:e}]}),JSON.stringify(t)}initDataLoading(){const e=Vr((()=>({from:this.from?+this.from:void 0,to:this.to?+this.to:void 0,sortDirection:this.sortDirection,filter:this.filterJson,cameraFilters:this.cameras,polygons:this.polygons})),!0);this.disposables.push(e.pipe($((e=>Vr((()=>this.retryTrigger),!0).pipe(W(e)))),$((({from:e,to:t,sortDirection:r,filter:i,cameraFilters:n,polygons:o})=>(_((()=>{this.loading=!0,this.pageInfo=null,this.error=null,this.data=[]})),this.requestData({from:e?new Date(e):void 0,to:t?new Date(t):void 0,sortDirection:r,filter:i,cameras:n,pageInfo:this.pageInfo,polygons:o}))))).subscribe((({events:e,pageInfo:t})=>{_((()=>{var r,i,n;if(!t)return;const o=e.map(Gr);this.isLive?this.data=this.uniquelyConcat(this.eventsStore.getEvents({cameraIds:this.cameras,eventTypes:6===this.eventTypes[0]?["FaceDetection"]:[],from:null!==(i=null===(r=o[0])||void 0===r?void 0:r.startTime)&&void 0!==i?i:re(new Date,1),to:null,colors:this.colors.size?this.colors:void 0,detectedObjectTypes:this.detectedObjects,probability:null!==(n=this.probabilityThreshold)&&void 0!==n?n:void 0}),o):this.data=o,this.eventsStore.add(o),this.pageInfo=t,this.loading=!1}))}))),this.disposables.push(e.pipe($((({from:e,to:t,sortDirection:r,filter:i,cameraFilters:n})=>Vr((()=>this.loadMoreTrigger)).pipe(G((()=>this.requestData({from:e?new Date(e):void 0,to:t?new Date(t):void 0,sortDirection:r,filter:i,cameras:n,pageInfo:this.pageInfo,polygons:this.polygons}))))))).subscribe((({events:e,pageInfo:t})=>{if(!t)return;const r=e.map(Gr);this.eventsStore.add(r),_((()=>{this.data=this.data.concat(r),this.pageInfo=t,this.loading=!1}))})))}initLiveUpdates(){this.disposables.push(Vr((()=>({liveUpdateMode:this.liveUpdateMode,isLive:this.isLive})),!0).pipe($((({liveUpdateMode:e,isLive:t})=>t&&"auto"===e?Vr((()=>this.eventsStore.recentAdditions)):k))).subscribe((e=>{if(this.loading)return;if(!this.pageInfo&&this.error)return;const t=this.filter(e.map((e=>this.eventsStore.eventsById.get(e))));t.length&&_((()=>{this.data=[...t,...this.data]}))}))),this.disposables.push(Vr((()=>({liveUpdateMode:this.liveUpdateMode,isLive:this.isLive})),!0).pipe($((({liveUpdateMode:e,isLive:t})=>t&&"manual"===e?Vr((()=>this.eventsStore.recentAdditions)):(this.pendingData&&_((()=>this.pendingData=[])),k)))).subscribe((e=>{if(!this.data.length)return;const t=this.filter(e.map((e=>this.eventsStore.eventsById.get(e))));t.length&&_((()=>{this.pendingData=[...t,...this.pendingData]}))})))}filter(e){let t=e;const{from:r,to:i}=this;return r&&(t=t.filter((e=>e.startTime>=r))),i&&(t=t.filter((e=>e.startTime<=i))),this.cameras.length&&(t=t.filter((e=>this.cameras.includes(e.cameraId)))),this.eventTypes.length&&6===this.eventTypes[0]&&(t=t.filter((e=>"FaceDetection"===e.type))),this.detectedObjects.length&&(t=t.filter((e=>e.detectedObjects.some((e=>{const{probabilityThreshold:t}=this;return!(null!==t&&e.Probability<t)&&(this.colors.size?this.detectedObjects.includes(e.Type)&&e.Colors.some((e=>this.colors.has(e.Color))):this.detectedObjects.includes(e.Type))}))))),t}uniquelyConcat(e,t){if(!e.length)return t.concat();if(!t.length)return e.concat();const r=e=>[e.id,e];return Array.from(new Map([...e.map(r),...t.map(r)]).values())}dispose(){this.disposables.forEach((e=>{e instanceof x?e.closed||e.unsubscribe():e()}))}}function Gr(e){return new $r(e)}class qr extends Ur{constructor(e){super(),Object.defineProperty(this,"cameraFilters",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"objectFilters",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"date",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"sortDirection",{enumerable:!0,configurable:!0,writable:!0,value:"DESC"}),Object.defineProperty(this,"probabilityThreshold",{enumerable:!0,configurable:!0,writable:!0,value:.5}),Object.defineProperty(this,"facesProbabilityThreshold",{enumerable:!0,configurable:!0,writable:!0,value:.7}),Object.defineProperty(this,"facesSelected",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"colors",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"disposables",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"eventsLoader",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"facesLoader",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"selectEvents",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.facesSelected=!1}}),Object.defineProperty(this,"selectFaces",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.facesSelected=!0}}),Object.defineProperty(this,"toggleSorting",{enumerable:!0,configurable:!0,writable:!0,value:()=>{"ASC"===this.sortDirection?(this.sortDirection="DESC",this.date=null):(this.sortDirection="ASC",null===this.date&&(this.date=L(D(new Date),1))),this.applyFilters()}}),Object.defineProperty(this,"applyFilters",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;this.eventsLoader.cameras=this.cameraFilters.map((e=>e.id)),this.facesLoader.cameras=this.eventsLoader.cameras,this.eventsLoader.detectedObjects=this.objectFilters.map((e=>e.id)),this.eventsLoader.colors=this.colors,this.eventsLoader.probabilityThreshold=this.objectFilters.length?this.probabilityThreshold:null,this.facesLoader.probabilityThreshold=this.facesProbabilityThreshold,"ASC"===this.sortDirection?(this.eventsLoader.sortDirection="ASC",this.eventsLoader.to=void 0,this.eventsLoader.from=this.date):(this.eventsLoader.sortDirection="DESC",this.eventsLoader.from=void 0,this.eventsLoader.to=null!==(e=this.date)&&void 0!==e?e:void 0),this.facesLoader.sortDirection=this.eventsLoader.sortDirection,this.facesLoader.from=this.eventsLoader.from,this.facesLoader.to=this.eventsLoader.to}}),Object.defineProperty(this,"getProbabilityTreshold",{enumerable:!0,configurable:!0,writable:!0,value:()=>this.probabilityThreshold}),Object.defineProperty(this,"setProbabilityTreshold",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.probabilityThreshold=e,this.applyFilters()}}),Object.defineProperty(this,"getFacesProbabilityTreshold",{enumerable:!0,configurable:!0,writable:!0,value:()=>this.facesProbabilityThreshold}),Object.defineProperty(this,"setFacesProbabilityTreshold",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.facesProbabilityThreshold=e,this.applyFilters()}}),y(this,{cameraFilters:E.ref,objectFilters:E.ref,date:E,sortDirection:E,probabilityThreshold:E,setProbabilityTreshold:w,facesProbabilityThreshold:E,setFacesProbabilityTreshold:w,facesSelected:E,colors:E.ref,someAnalyticsFilterSelected:O,filters:O,setFilters:w,selectEvents:w,selectFaces:w,load:w,toggleColor:w.bound,clearColors:w.bound,applyFilters:w,toggleSorting:w}),this.eventsLoader=new Wr(e),this.eventsLoader.loading=!0,this.eventsLoader.probabilityThreshold=null,this.facesLoader=new Wr(e),this.facesLoader.eventTypes=[zr.FaceDetection],this.facesLoader.loading=!0}get someAnalyticsFilterSelected(){return!!this.objectFilters.length}get filters(){return this.facesSelected?this.cameraFilters:this.objectFilters.concat(this.cameraFilters)}load(){this.eventsLoader.load()}TEMP_FIX_loadFaces(){this.facesLoader.load()}setFilters(e){this.cameraFilters=e?e.filter((e=>!("isEventType"in e))):[],this.facesSelected||(this.objectFilters=e?e.filter((e=>"isEventType"in e)):[])}toggleColor(e){const t=new Set(this.colors);this.colors.has(e)?t.delete(e):t.add(e),this.colors=t,this.applyFilters()}clearColors(){this.colors=new Set,this.applyFilters()}afterInit(){this.eventsLoader.initWith(this.api),this.facesLoader.initWith(this.api)}dispose(){this.disposables.forEach((e=>{e instanceof x?e.closed||e.unsubscribe():e()})),this.eventsLoader.dispose()}}const Xr=({onEventClick:e})=>{var i;const n=null!==(i=s(c))&&void 0!==i?i:d,[a,l]=r();return o((()=>{null==a||a.dispose();const e=new qr(n.events);return e.initWith(n.api),e.load(),l(e),P((()=>e.facesSelected),(()=>{e.TEMP_FIX_loadFaces()}))}),[n]),t.createElement(ie.Provider,{value:n},a?t.createElement(Hr,{store:a,onEventClick:e}):null)};Xr.displayName="EventList";export default Xr;
|
|
1
|
+
import*as e from"react";import t,{useContext as r,useEffect as i,createContext as n,useState as o,useImperativeHandle as a,useRef as l,useLayoutEffect as s,useCallback as c,Fragment as d}from"react";import{AppContext as u,app as h}from"@3deye-toolkit/core";import{observer as m,Observer as p,useLocalObservable as b}from"mobx-react-lite";import f from"react-ink";import{makeObservable as v,observable as g,makeAutoObservable as y,runInAction as w,action as E,reaction as C,computed as P,when as O}from"mobx";import{format as j,isSameYear as T,isSameDay as x,subHours as M,startOfHour as S}from"date-fns/esm";import L from"i18next";import{fromEvent as N,from as I,Subject as D,Subscription as k,Observable as _,of as F,throwError as H,EMPTY as z}from"rxjs";import R from"clsx";import{map as A,share as V,debounceTime as U,startWith as $,switchMap as B,bufferCount as W,mergeMap as q,sequenceEqual as G,filter as J,catchError as Z,mapTo as K,concatMap as Y}from"rxjs/operators";import X from"@reach/tooltip";import Q from"react-dom";import{FixedSizeGrid as ee}from"react-window";import te from"react-virtualized-auto-sizer";import re from"react-window-infinite-loader";import ie from"@seznam/compose-react-refs";import ne from"material-colors";import{MDCSlider as oe}from"@material/slider";import ae from"resize-observer-polyfill";import{useSpring as le,animated as se}from"@react-spring/web";import ce from"react-datepicker";import de,{components as ue}from"react-select";import{subHours as he}from"date-fns";const me=t.createContext(null);class pe{constructor(e){Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cameraId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"startTime",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"endTime",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"duration",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"chunks",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clipUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isDownloading",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"archives",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),v(this,{name:g,clipUrl:g,isDownloading:g}),this.update(e)}get isTimelapse(){return this.type.startsWith("Timelaps")}update(e){this.raw=e,this.id=e.id,this.startTime=new Date(e.startTime),this.endTime=new Date(e.endTime),this.type=e.recordType,this.duration=e.duration,this.cameraId=e.cameraId,this.name=e.name||e.tagName,this.description=e.description,this.clipUrl=e.clipUrl,this.version=e.version}}function be(e){const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="absolute",t.style.left="-9999px",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}const fe=new Map,ve=L.createInstance();function ge(e,t){const r=fe.get(ve.language);return j(e,t,{locale:r})}function ye(e){return r=>{const{size:i=24,color:n="currentColor",className:o,...a}=r,l=e.viewBox||"0 0 24 24",s=e.svg;return t.createElement("svg",{preserveAspectRatio:"xMinYMin",className:`icon ${o}`,width:i,fill:n,viewBox:l,height:i,...a},s)}}const we=ye({viewBox:"0 0 24 24",svg:t.createElement("g",null,t.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),t.createElement("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}))});we.displayName="MoreVertIcon";const Ee=({Type:e,Box:{Top:i,Left:n,Right:o,Bottom:a},Probability:l,height:s})=>{const{eventSchema:c}=r(me);let d="top";d=s&&i*s>12||i>.1?"top":1-a-i>.5?"bottom":"top inset";const u={top:"top"===d?-12:"top inset"===d?0:"auto",bottom:"bottom"===d?-12:"auto",left:"top"===d?-2:0};return t.createElement("div",{style:{position:"absolute",top:100*i+"%",left:100*n+"%",bottom:100*(1-a)+"%",right:100*(1-o)+"%",outline:`2px solid ${c.colorsByFoundObjectType.get(e)}`}},t.createElement("div",{style:{color:c.colorsByFoundObjectType.get(e),backgroundColor:"rgba(0, 0, 0, 0.8)",position:"absolute",fontSize:10,fontFamily:"monospace",padding:"0 2px",...u},title:`${e.toLowerCase()} ${Math.floor(100*l)}%`},e.toLowerCase()," ",Math.floor(100*l),"%"))};Ee.displayName="FoundObjectBox";const Ce=/Mac|iPod|iPhone|iPad/.test(window.navigator.platform),Pe=N(document,"keydown").pipe(A((function({target:e,code:t,shiftKey:r,metaKey:i,ctrlKey:n,altKey:o}){var a;if(/^(input|select|textarea)$/i.test(e.tagName))return;const l=[];if("Space"===t&&"button"===(null===(a=document.activeElement)||void 0===a?void 0:a.tagName.toLowerCase()))return;t.startsWith("Key")&&(t=t.substr(3).toLowerCase());Ce&&i&&l.push("CtrlCmd");!Ce&&n&&l.push("CtrlCmd");o&&l.push("Alt");r&&l.push("Shift");return l.push(t),l.join("+")})),V());function Oe(e,t,r=!0){i((()=>{if(!r)return;const i=t=>{t.key===e&&t.preventDefault()};"ArrowUp"!==e&&"ArrowDown"!==e||document.addEventListener("keydown",i);const n=e.split(" "),o=Pe.pipe(U(1e3),$(null),B((()=>Pe.pipe(W(n.length,1)))),q((e=>I(e).pipe(G(I(n)),J(Boolean))))).subscribe(t);return()=>{o.unsubscribe(),"ArrowUp"!==e&&"ArrowDown"!==e||document.removeEventListener("keydown",i)}}),[r])}const je={background:"rgb(0 0 0 / 0.9)",color:"white",border:"none",borderRadius:"4px",padding:"0.5em 1em",fontSize:12},Te=({label:e,children:r})=>t.createElement(X,{label:e,style:je},r);Te.displayName="Tooltip";class xe extends t.Component{render(){const{forwardedRef:e,children:r,className:i,fullwidth:n,type:o,title:a,...l}=this.props,s=R(i,"x-3deye-button",{fullwidth:n}),c=t.createElement("button",{ref:e,className:s,type:o||"button",...l},r,l.disabled?null:t.createElement(f,null));return a?t.createElement(Te,{label:a},c):c}}const Me=t.forwardRef(((e,r)=>t.createElement(xe,{forwardedRef:r,...e}))),Se=document.body;class Le extends t.Component{constructor(e){super(e),Object.defineProperty(this,"el",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.el=document.createElement("div")}componentDidMount(){Se.appendChild(this.el)}componentWillUnmount(){Se.removeChild(this.el)}render(){return Q.createPortal(this.props.children,this.el)}}class Ne{constructor(){Object.defineProperty(this,"opened",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"top",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"left",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"bottom",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"right",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"buttonRef",{enumerable:!0,configurable:!0,writable:!0,value:t.createRef()}),Object.defineProperty(this,"requestedPlacement",{enumerable:!0,configurable:!0,writable:!0,value:"bottom-end"}),Object.defineProperty(this,"placement",{enumerable:!0,configurable:!0,writable:!0,value:"bottom-end"}),Object.defineProperty(this,"targetPosition",{enumerable:!0,configurable:!0,writable:!0,value:{top:0,left:0,width:0,height:0}}),Object.defineProperty(this,"toggleMenu",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.opened=!this.opened}}),Object.defineProperty(this,"toggleAt",{enumerable:!0,configurable:!0,writable:!0,value:({top:e,left:t})=>{this.setTargetPosition({top:e,left:t,width:0,height:0}),this.placement="bottom-start",this.opened=!this.opened}}),Object.defineProperty(this,"setRequestedPlacement",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.requestedPlacement=e}}),Object.defineProperty(this,"resetPlacement",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.placement=this.requestedPlacement}}),y(this)}setTargetPosition({top:e,left:t,width:r,height:i}){this.targetPosition={top:e,left:t,width:r,height:i}}}const Ie=n(null),De=()=>{const e=r(Ie);if(!e)throw new Error("MenuContext is not defined");return e},ke=m((({children:e,placement:r="bottom-end"},n)=>{const[l]=o((()=>new Ne));return a(n,(()=>l)),i((()=>{l.requestedPlacement=r}),[r]),t.createElement(Ie.Provider,{value:l},e)}),{forwardRef:!0});ke.displayName="Menu";const _e=m((({children:e,className:r,...n})=>{const o=De(),a=l(null);return i((()=>{if(!o.opened)return;const e=e=>{const t=e.target;a.current&&(a.current.contains(t)||o.buttonRef.current.contains(t)||o.toggleMenu())};return document.addEventListener("mousedown",e,!0),()=>document.removeEventListener("mousedown",e)}),[o.opened]),Oe("ArrowUp",(()=>{var e;const t=Array.from(a.current.querySelectorAll(".menu-item"));if(!t.length)return;const r=document.activeElement;if(!(null===(e=a.current)||void 0===e?void 0:e.contains(r)))return void t[0].focus();if(1===t.length)return;const i=t.findIndex((e=>e.contains(r)));t[(i+t.length-1)%t.length].focus()}),o.opened),Oe("ArrowDown",(()=>{var e;const t=Array.from(a.current.querySelectorAll(".menu-item"));if(!t.length)return;const r=document.activeElement;if(!(null===(e=a.current)||void 0===e?void 0:e.contains(r)))return void t[0].focus();if(1===t.length)return;const i=t.findIndex((e=>e.contains(r)));t[(i+1)%t.length].focus()}),o.opened),Oe("Escape",o.toggleMenu,o.opened),s((()=>{if(o.opened){if(!a.current)return;const{offsetWidth:e,offsetHeight:t}=a.current,r=o.targetPosition.left,i=o.targetPosition.top,n=o.targetPosition.width,l=o.targetPosition.height,s=window.innerHeight,c=window.innerWidth;let d,u=r+n-e,h=i+l,m=o.placement;"bottom-start"===m?(u=r,h=i,u+e>c&&(u-=e,m="bottom-end"),h+t>s&&(h-=t,m=m.endsWith("start")?"top-start":"top-end")):"bottom-end"===m?(i+l+t>s&&(h=void 0,d=s-i+4,m="top-end"),r-e<0&&(u=r,m=m.startsWith("top")?"top-start":"bottom-start")):"top"===m&&(u=r+(n-e)/2,h=i-t,m="top"),a.current.dataset.placement=m,a.current.style.top=h?`${h}px`:void 0,a.current.style.bottom=d?`${d}px`:void 0,a.current.style.left=u?`${u}px`:void 0}}),[o.opened]),o.opened?t.createElement(Le,null,t.createElement("div",{ref:a,onClick:e=>{e.stopPropagation()},className:R("menu-items-container",r),...n},e)):null}));_e.displayName="MenuList";const Fe=({children:e,style:r,className:i,noClose:n,action:o})=>{const a=De();return t.createElement(Me,{onClick:e=>{e.stopPropagation(),null==o||o(),n||a.toggleMenu()},className:R("menu-item",i),style:r},e)};Fe.displayName="MenuItem";const He=({className:e,children:r,...i})=>{const n=De(),o=c((e=>{if(e.stopPropagation(),!n.opened){const e=n.buttonRef.current;n.setTargetPosition(e.getBoundingClientRect()),n.resetPlacement()}n.toggleMenu()}),[]);return t.createElement(Me,{ref:n.buttonRef,className:R("menu-button",e),onClick:o,...i},r)};He.displayName="MenuButton";const ze=m((({data:e,width:n,hideCameraName:a,height:s,onClick:c})=>{var u,h,m,p;const b=l(null),v=l(null),[g,y]=o(null),w=r(me),{cameras:E,eventSchema:C,thumbnails:P}=w;i((()=>{if(e.thumbnailUrl)return void y(null);const t=P.fetchThumbnail(e.cameraId,e.startTime,e.startTime).subscribe((e=>{y(e||null)}));return()=>t.unsubscribe()}),[e.id]);const O="clipSharing"in w&&!!(4&(null!==(h=null===(u=E.camerasById.get(e.cameraId))||void 0===u?void 0:u.permissions)&&void 0!==h?h:0));let j=null;e.detectedObjects.length&&(j=e.detectedObjects.filter((({Type:e})=>C.foundObjectTypes.includes(e))).map(((e,r)=>t.createElement(Ee,{key:r,...e,height:s}))));let M="",S=!1;if(e.thumbnailUrl?M=e.thumbnailUrl:null===g&&E.loaded?(M=(null===(m=E.camerasById.get(e.cameraId))||void 0===m?void 0:m.imageUrl)||"",S=!0):g&&(M=g.url),e.faces){const{Width:r,Height:i}=JSON.parse(e.raw.data).ThumbnailSize;j||(j=[]);const n=100,o=j.length;j=j.concat(e.faces.map((({Name:e,Box:{Top:a,Left:l,Right:s,Bottom:c},Probability:u},h)=>{const m=n/r/(s-l),p={top:2},b={};return l>=1-s?(p.left=2,b.right=-2):(p.right=2,b.left=-2),a>=1-c?b.bottom="calc(100% + 1px)":b.top="calc(100% + 1px)",t.createElement(d,{key:o+h},t.createElement("div",{className:"event-list-item-face-trigger",style:{position:"absolute",top:100*a+"%",left:100*l+"%",bottom:100*(1-c)+"%",right:100*(1-s)+"%",outline:"1px solid orange"}},t.createElement("div",{style:{color:"orange",backgroundColor:"rgba(0, 0, 0, 0.8)",position:"absolute",fontSize:10,fontFamily:"monospace",...b},title:`${e} ${Math.floor(100*u)}%`},e," ",Math.floor(100*u),"%")),t.createElement("div",{className:"event-list-item-face",style:{overflow:"hidden",width:r*(s-l)*m,height:i*(c-a)*m,...p}},t.createElement("img",{style:{width:r*m,height:i*m,transform:`translate(-${100*l}%, -${100*a}%)`},src:M}),t.createElement("div",{className:"frame"},t.createElement("div",{className:"corner-highlight-tl"}),t.createElement("div",{className:"corner-highlight-tr"}),t.createElement("div",{className:"corner-highlight-br"}),t.createElement("div",{className:"corner-highlight-bl"}))))})))}const L=E.loaded&&(null===(p=E.camerasById.get(e.cameraId))||void 0===p?void 0:p.name)||"...";return t.createElement("div",{onDragStart:t=>{if(!t.dataTransfer)return;t.dataTransfer.setData("x-3deye/event",""+e.id),t.dataTransfer.dropEffect="move";const r=v.current;if(r){const{x:e,y:i}=r.getBoundingClientRect();t.dataTransfer.setDragImage(r,t.clientX-e,t.clientY-i)}},className:"event-list-item",onClick:()=>c(e),onContextMenu:e=>{var t;e.preventDefault(),null===(t=b.current)||void 0===t||t.toggleAt({top:e.clientY,left:e.clientX})},draggable:!0},M&&t.createElement("img",{key:M,ref:v,style:{position:"absolute",width:"100%",height:"100%",top:0,left:0},src:M}),t.createElement(f,{radius:n}),S?t.createElement("div",{className:"no-preview-overlay"}):null,e.acknowledged?t.createElement("div",{className:"acknowledged-overlay"},"acknowledged"):null,j,t.createElement(ke,{ref:b},t.createElement(He,{className:"x-3deye-button--icon"},t.createElement(we,null)),t.createElement(_e,null,O&&t.createElement(Fe,{action:()=>{var t;const{cameraId:r}=e;let{startTime:i,endTime:n}=e;+n-+i<5e3&&(i=new Date(+i-5e3),n=new Date(+n+5e3));const o="clipSharing"in w?w.clipSharing:void 0;null==o||o.openModalWithSelectedClip(new pe({cameraId:r,startTime:i,endTime:n,name:null===(t=E.camerasById.get(r))||void 0===t?void 0:t.name}))}},"Share"),t.createElement(Fe,{action:()=>{be(e.id.toString())}},"Copy ID to clipboard"),t.createElement(Fe,{action:()=>{be(e.cameraId.toString())}},"Copy camera ID to clipboard"))),t.createElement("div",{className:"event-list-item-caption"},t.createElement("div",{className:"event-list-item__time"},function(e,t){let r="",i="";return T(e,new Date)?x(e,new Date)?r=i="HH:mm":x(e,t)?(r="EEE d MMM HH:mm",i="HH:mm"):r=i="EEE d MMM HH:mm":T(e,t)?(r="yyyy d MMM HH:mm",i="d MMM HH:mm"):r=i="yyyy d MMM HH:mm",(e.getSeconds()||t.getSeconds())&&(r+=":ss",i+=":ss"),+e==+t?`${ge(e,r)}`:`${ge(e,r)} - ${ge(t,i)}`}(e.startTime,e.endTime)),a?null:t.createElement("div",{className:"event-list-item__camera-name",title:L},L),+e.endTime-+e.startTime>0&&t.createElement("div",{className:"event-list-item__duration"},function(e,t=!0){if((e=Math.round(e/1e3))<60)return`${e}s`;const r=e%60,i=t?`${r}`:`${r}`.padStart(2,"0");let n=(e-r)/60;if(n<60)return!r&&t?`${n}m`:`${n}m ${i}s`;const o=Math.floor(n/60);if(n-=60*o,!r&&!n&&t)return`${o}h`;const a=t?`${n}`:`${n}`.padStart(2,"0");return!r&&n&&t?`${o}h ${a}m`:`${o}h ${a}m ${i}s`}(+e.endTime-+e.startTime))))}));ze.displayName="EventListItem";var Re="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},Ae="object"==typeof Re&&Re&&Re.Object===Object&&Re,Ve="object"==typeof self&&self&&self.Object===Object&&self,Ue=Ae||Ve||Function("return this")(),$e=Ue.Symbol,Be=Object.prototype,We=Be.hasOwnProperty,qe=Be.toString,Ge=$e?$e.toStringTag:void 0;var Je=function(e){var t=We.call(e,Ge),r=e[Ge];try{e[Ge]=void 0;var i=!0}catch(e){}var n=qe.call(e);return i&&(t?e[Ge]=r:delete e[Ge]),n},Ze=Object.prototype.toString;var Ke=function(e){return Ze.call(e)},Ye=$e?$e.toStringTag:void 0;var Xe=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Ye&&Ye in Object(e)?Je(e):Ke(e)};var Qe=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};var et,tt=function(e){if(!Qe(e))return!1;var t=Xe(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},rt=Ue["__core-js_shared__"],it=(et=/[^.]+$/.exec(rt&&rt.keys&&rt.keys.IE_PROTO||""))?"Symbol(src)_1."+et:"";var nt=function(e){return!!it&&it in e},ot=Function.prototype.toString;var at=function(e){if(null!=e){try{return ot.call(e)}catch(e){}try{return e+""}catch(e){}}return""},lt=/^\[object .+?Constructor\]$/,st=Function.prototype,ct=Object.prototype,dt=st.toString,ut=ct.hasOwnProperty,ht=RegExp("^"+dt.call(ut).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var mt=function(e){return!(!Qe(e)||nt(e))&&(tt(e)?ht:lt).test(at(e))};var pt=function(e,t){return null==e?void 0:e[t]};var bt=function(e,t){var r=pt(e,t);return mt(r)?r:void 0},ft=bt(Object,"create");var vt=function(){this.__data__=ft?ft(null):{},this.size=0};var gt=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},yt=Object.prototype.hasOwnProperty;var wt=function(e){var t=this.__data__;if(ft){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return yt.call(t,e)?t[e]:void 0},Et=Object.prototype.hasOwnProperty;var Ct=function(e){var t=this.__data__;return ft?void 0!==t[e]:Et.call(t,e)};var Pt=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ft&&void 0===t?"__lodash_hash_undefined__":t,this};function Ot(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Ot.prototype.clear=vt,Ot.prototype.delete=gt,Ot.prototype.get=wt,Ot.prototype.has=Ct,Ot.prototype.set=Pt;var jt=Ot;var Tt=function(){this.__data__=[],this.size=0};var xt=function(e,t){return e===t||e!=e&&t!=t};var Mt=function(e,t){for(var r=e.length;r--;)if(xt(e[r][0],t))return r;return-1},St=Array.prototype.splice;var Lt=function(e){var t=this.__data__,r=Mt(t,e);return!(r<0)&&(r==t.length-1?t.pop():St.call(t,r,1),--this.size,!0)};var Nt=function(e){var t=this.__data__,r=Mt(t,e);return r<0?void 0:t[r][1]};var It=function(e){return Mt(this.__data__,e)>-1};var Dt=function(e,t){var r=this.__data__,i=Mt(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this};function kt(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}kt.prototype.clear=Tt,kt.prototype.delete=Lt,kt.prototype.get=Nt,kt.prototype.has=It,kt.prototype.set=Dt;var _t=kt,Ft=bt(Ue,"Map");var Ht=function(){this.size=0,this.__data__={hash:new jt,map:new(Ft||_t),string:new jt}};var zt=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var Rt=function(e,t){var r=e.__data__;return zt(t)?r["string"==typeof t?"string":"hash"]:r.map};var At=function(e){var t=Rt(this,e).delete(e);return this.size-=t?1:0,t};var Vt=function(e){return Rt(this,e).get(e)};var Ut=function(e){return Rt(this,e).has(e)};var $t=function(e,t){var r=Rt(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this};function Bt(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Bt.prototype.clear=Ht,Bt.prototype.delete=At,Bt.prototype.get=Vt,Bt.prototype.has=Ut,Bt.prototype.set=$t;var Wt=Bt;function qt(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function(){var i=arguments,n=t?t.apply(this,i):i[0],o=r.cache;if(o.has(n))return o.get(n);var a=e.apply(this,i);return r.cache=o.set(n,a)||o,a};return r.cache=new(qt.Cache||Wt),r}qt.Cache=Wt;const Gt=qt((()=>{const e=document.createElement("div");e.style.overflowY="scroll",e.style.position="absolute",e.style.top="-9999px",document.body.append(e);const t=e.offsetWidth;return e.remove(),t})),Jt=({size:e=48})=>t.createElement("svg",{width:e,height:e,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},t.createElement("rect",{x:"0",y:"0",width:"100",height:"100",fill:"none",className:"bk"}),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(0 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(30 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.08333333333333333s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(60 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.16666666666666666s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(90 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.25s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(120 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.3333333333333333s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(150 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.4166666666666667s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(180 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.5s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(210 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.5833333333333334s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(240 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.6666666666666666s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(270 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.75s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(300 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.8333333333333334s",repeatCount:"indefinite"})),t.createElement("rect",{x:"46.5",y:"38",width:"7",height:"24",rx:"5",ry:"5",fill:"currentColor",transform:"rotate(330 50 50) translate(0 -30)"},t.createElement("animate",{attributeName:"opacity",from:"1",to:"0",dur:"1s",begin:"0.9166666666666666s",repeatCount:"indefinite"})));Jt.displayName="Preloader";class Zt extends t.Component{constructor(e){super(e),Object.defineProperty(this,"scrollState",{enumerable:!0,configurable:!0,writable:!0,value:{rowIndex:0,columnIndex:0}}),Object.defineProperty(this,"scrollTop",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"columnCount",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(this,"rowHeight",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"lastScrollEventTimestamp",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"scrolls",{enumerable:!0,configurable:!0,writable:!0,value:new D}),Object.defineProperty(this,"updates",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"disposables",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"listRef",{enumerable:!0,configurable:!0,writable:!0,value:t.createRef()}),Object.defineProperty(this,"setScrollState",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{this.scrollState.rowIndex=e,this.scrollState.columnIndex=t}}),Object.defineProperty(this,"resetScrollState",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.scrollState.rowIndex=0,this.scrollState.columnIndex=0}}),Object.defineProperty(this,"onScroll",{enumerable:!0,configurable:!0,writable:!0,value:({scrollTop:e})=>{this.scrollTop=e,this.lastScrollEventTimestamp=Date.now(),this.scrolls.next(e),"disabled"!==this.props.store.liveUpdateMode&&w((()=>this.props.store.liveUpdateMode=this.scrollTop?"manual":"auto"))}}),Object.defineProperty(this,"rowRenderer",{enumerable:!0,configurable:!0,writable:!0,value:e=>({columnIndex:r,rowIndex:i,style:n})=>t.createElement(p,null,(()=>{var o;const a=i*e+r,l=this.props.store.data[a];return a===this.props.store.data.length?this.props.store.error?t.createElement("div",{style:n},t.createElement("div",{style:{position:"absolute",inset:0,display:"grid",placeItems:"center"}},t.createElement("div",{style:{textAlign:"center"}},t.createElement("div",null,"Couldn't fetch more data"),t.createElement(Me,{onClick:this.props.store.loadMore},"Retry")))):t.createElement("div",{style:n},t.createElement("div",{style:{position:"absolute",inset:0,display:"grid",placeItems:"center"}},t.createElement(Jt,{size:32}))):!l&&(null===(o=this.props.store.pageInfo)||void 0===o?void 0:o.haveMore)?t.createElement("div",{style:n}):l?t.createElement("div",{style:n},t.createElement(ze,{data:l,hideCameraName:this.props.hideCameraName,onClick:this.props.onEventClick})):t.createElement("div",{style:n})}))}),Object.defineProperty(this,"loadMoreItems",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>(this.props.store.loadMore(),Promise.resolve())}),v(this,{scrollState:g,setScrollState:E,resetScrollState:E})}componentDidMount(){this.disposables.push(this.scrolls.pipe(U(200)).subscribe((()=>{this.props.store.pendingData.length&&(this.updates=this.props.store.pendingData.length,this.props.store.flushUpdates(),this.forceUpdate())}))),this.disposables.push(C((()=>this.props.store.pendingData),(e=>{e.length&&(Date.now()-this.lastScrollEventTimestamp<200||(this.updates=e.length,this.props.store.flushUpdates(),this.forceUpdate()))})))}componentWillUnmount(){this.disposables.forEach((e=>{e instanceof k?e.closed||e.unsubscribe():e()})),"disabled"!==this.props.store.liveUpdateMode&&w((()=>this.props.store.liveUpdateMode="auto"))}componentDidUpdate(){if(0!==this.scrollTop&&this.listRef.current&&this.updates){const e=this.scrollTop+Math.round(this.updates/this.columnCount)*this.rowHeight;this.listRef.current.scrollTo({scrollTop:e,scrollLeft:0}),this.updates=0}}render(){return t.createElement(p,null,(()=>{const{store:e}=this.props;return e.error&&!e.data.length?(this.resetScrollState(),t.createElement("div",{style:{flex:1,display:"flex",justifyContent:"center",alignItems:"center"}},t.createElement("div",{style:{textAlign:"center"}},t.createElement("div",null,"Couldn't fetch data"),t.createElement(Me,{onClick:e.reload},"Retry")))):e.loading?(this.resetScrollState(),t.createElement("div",{style:{flex:1,display:"flex",justifyContent:"center",alignItems:"center"}},t.createElement(Jt,null))):e.data.length?t.createElement(te,null,(({width:r,height:i})=>t.createElement(p,null,(()=>{var n;const{minColumnWidth:o=180}=this.props,a=Math.floor(r/o)||1,l=r/a/16*9,s=a*Math.floor(i/l)>=e.data.length?0:Gt(),c=Math.max(1,Math.floor((r-s)/o)),d=Math.ceil(this.props.store.data.length/c),u=(r-s)/c/16*9;this.rowHeight=u,this.columnCount=c;return t.createElement(re,{isItemLoaded:e=>e<d,itemCount:d+((null===(n=e.pageInfo)||void 0===n?void 0:n.haveMore)?1:0),loadMoreItems:this.loadMoreItems},(({onItemsRendered:n,ref:o})=>{var a;return t.createElement(ee,{ref:ie(this.listRef,o),columnCount:c,columnWidth:(r-s)/c,height:i,width:r,rowCount:d+((null===(a=e.pageInfo)||void 0===a?void 0:a.haveMore)||e.error?1:0),rowHeight:u,initialScrollTop:u*this.scrollState.rowIndex,onScroll:this.onScroll,onItemsRendered:({visibleRowStartIndex:e,visibleColumnStartIndex:t,visibleRowStopIndex:r,overscanRowStopIndex:i,overscanRowStartIndex:o})=>{this.setScrollState(e,t),n({overscanStartIndex:o,overscanStopIndex:i,visibleStartIndex:e,visibleStopIndex:r})}},this.rowRenderer(c))}))})))):(this.resetScrollState(),t.createElement("div",{style:{flex:1,display:"flex",justifyContent:"center",alignItems:"center"}},ve.t("noEventsFound")))}))}}const Kt=e=>{const{className:r,children:i,...n}=e;return t.createElement("div",{className:R("x-3deye-button-group",r),...n},i)},Yt=ye({viewBox:"0 0 24 24",svg:t.createElement("g",null,t.createElement("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),t.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))});Yt.displayName="CloseIcon";const Xt=ye({viewBox:"0 0 24 24",svg:t.createElement(t.Fragment,null,t.createElement("path",{fill:"none",d:"M0 0h24v24H0z"}),t.createElement("path",{d:"M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"}))});Xt.displayName="DoneIcon";const Qt=[{color:ne.red[500],name:"red",highlightColor:ne.red[100]},{color:ne.green[500],name:"green",highlightColor:ne.green[100]},{color:ne.blue[500],name:"blue",highlightColor:ne.blue[100]},{color:ne.yellow[500],name:"yellow",highlightColor:ne.yellow[900]},{color:ne.black,name:"black",highlightColor:ne.white},{color:ne.white,name:"white",highlightColor:ne.black},{color:ne.grey[500],name:"dimgrey",highlightColor:ne.grey[100]}],er=m((({value:e,clear:r,toggle:i})=>t.createElement("div",{className:"color-selector"},t.createElement("div",null,"COLOR"),t.createElement("div",{className:"color-selector__items"},Qt.map((({color:r,highlightColor:n,name:o})=>t.createElement("button",{key:o,className:R("color-selector__item",{selected:e.has(o)}),style:{backgroundColor:r,color:n},onClick:i.bind(null,o)},t.createElement(Xt,{size:20})))),t.createElement(Me,{disabled:!e.size,onClick:r},t.createElement(Yt,{size:20}))))));er.displayName="ColorSelector";const tr=({value:e,onChange:r})=>{const n=l(null),a=l(),[s,c]=o(0);return i((()=>{if(!n.current)return;const e=new oe(n.current);return a.current=e,e.listen("MDCSlider:change",(()=>{null==r||r(e.value)})),()=>{a.current=void 0,e.destroy()}}),[]),i((()=>{const e=new ae((e=>{var t;for(const r of e){const e=r.contentRect.width;e!==s&&(null===(t=a.current)||void 0===t||t.layout()),c(e)}}));return e.observe(n.current),()=>e.disconnect()}),[]),i((()=>{a.current&&(a.current.value=e)}),[e]),t.createElement("div",{ref:n,className:"mdc-slider mdc-slider--discrete mdc-slider--display-markers",tabIndex:0,role:"slider","data-step":5,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e,"aria-label":"Select Value"},t.createElement("div",{className:"mdc-slider__track-container"},t.createElement("div",{className:"mdc-slider__track"}),t.createElement("div",{className:"mdc-slider__track-marker-container"})),t.createElement("div",{className:"mdc-slider__thumb-container"},t.createElement("div",{className:"mdc-slider__pin"},t.createElement("span",{className:"mdc-slider__pin-value-marker"})),t.createElement("svg",{className:"mdc-slider__thumb",width:"21",height:"21"},t.createElement("circle",{cx:"10.5",cy:"10.5",r:"7.875"})),t.createElement("div",{className:"mdc-slider__focus-ring"})))};tr.displayName="Slider";const rr=m((({getter:e,setter:r})=>{const[n,a]=o(0),s=l(null),c=Math.floor(100*e());return i((()=>C(e,(e=>{a(Math.floor(100*e))}),{fireImmediately:!0})),[e]),t.createElement("div",{ref:s,style:{paddingLeft:8,paddingRight:8,marginTop:5}},t.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},t.createElement("div",null,"CONFIDENCE"),t.createElement("div",{style:{fontSize:"1.1em"}},c,"%")),t.createElement(tr,{value:n,onChange:e=>{r(e/100)}}))}));rr.displayName="ProbabilitySlider";const ir=e=>`scale(${e})`,nr=({children:t,from:r,style:i})=>{const n=le({opacity:1,from:{opacity:0},config:{tension:300}});return e.createElement(se.div,{style:{...i,...n,transform:n.opacity.to(ir),transformOrigin:`${r||"bottom"} center`,width:"max-content"}},t)},or=({width:e,height:r,color:i,position:n="top",style:o})=>{const a=[0,"top"===n?r:0],l=[e,a[1]],s=[e/2,r-a[1]],c=[e/4,r*("top"===n?3:1)/4],d=[.325*e,r-a[1]],u=[e-d[0],d[1]],h=[e-c[0],c[1]],m=e=>e.join(","),p=`M ${m(a)} C ${m(c)} ${m(d)} ${m(s)} ${m(u)} ${m(h)} ${m(l)} Z`;return t.createElement("svg",{className:"tip",style:o,width:e,height:r,fill:i},t.createElement("path",{d:p}))};class ar extends t.Component{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{top:0,left:0,bottom:"auto",tipPosition:"bottom",tipOffset:0}}),Object.defineProperty(this,"targetRef",{enumerable:!0,configurable:!0,writable:!0,value:t.createRef()}),Object.defineProperty(this,"popoverRef",{enumerable:!0,configurable:!0,writable:!0,value:t.createRef()}),Object.defineProperty(this,"outsideClickListener",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.target;if(this.popoverRef.current.contains(t))return;const r=this.targetRef.current;r&&r.contains(t)||this.props.onCloseRequest()}}),Object.defineProperty(this,"updatePosition",{enumerable:!0,configurable:!0,writable:!0,value:()=>{if(!this.popoverRef)return;const{disablePortal:e}=this.props,t=this.targetRef.current;if(!t)return void console.warn("popover: no target element found");const{top:r,left:i,bottom:n,height:o,width:a}=t.getBoundingClientRect();let l="calc(50% - 12px)",s="auto";const c=this.popoverRef.current;let d="bottom"===this.props.placement?n+10:r-c.clientHeight-10,u=i+a/2-c.clientWidth/2,h="bottom"===this.props.placement?"top":"bottom";d<0&&(d=n+10,h="top"),u<0&&(u=0,l=i+a/2-12),u+c.clientWidth>window.innerWidth&&(u=window.innerWidth-c.clientWidth,l=i-u+a/2-12),e&&(d=o+10,u=0,l=8,"top"===this.props.placement&&(s=d,d="auto")),this.setState({top:d,bottom:s,left:u,tipPosition:h,tipOffset:l},(()=>{this.forceUpdate()}))}})}componentWillUnmount(){this.stopOutsideClickListening()}componentDidUpdate(e){const{ignoreOutsideClick:t}=this.props;this.props.opened&&!e.opened&&(t||this.startOutsideClickListening(),requestAnimationFrame(this.updatePosition)),!this.props.opened&&e.opened&&this.stopOutsideClickListening()}render(){const{top:e,left:r,bottom:i,tipPosition:n,tipOffset:o}=this.state,{className:a,opened:l,disablePortal:s,disableAnimation:c}=this.props,d={position:"absolute",left:o};"bottom"===n?d.bottom=-8:d.top=-8;const u=R(a,"x-3deye-popover-body");let h=null;if(l){const o={zIndex:s?1:100000001,position:"absolute",top:e,bottom:i,left:r},a=t.createElement("div",{className:u,ref:this.popoverRef},this.props.children,t.createElement(or,{width:24,height:8,position:n,color:"white",style:d}));h=c?t.createElement("div",{style:o},a):t.createElement(nr,{from:n,style:o},a)}const m=t.cloneElement(this.props.target,{ref:this.targetRef});if(s)return t.createElement("div",{className:"x-3deye-popover",onMouseLeave:this.props.onMouseLeave},m,h);const p=l&&t.createElement(Le,null,h);return t.createElement(t.Fragment,null,m,p)}startOutsideClickListening(){document.addEventListener("mousedown",this.outsideClickListener,!0)}stopOutsideClickListening(){document.removeEventListener("mousedown",this.outsideClickListener,!0)}}const lr=ye({viewBox:"0 0 24 24",svg:t.createElement("path",{fill:"currentColor",d:"M21 17H24L20 21L16 17H19V3H21V17M8 16H11V13H8V16M13 5H12V3H10V5H6V3H4V5H3C1.89 5 1 5.89 1 7V18C1 19.11 1.89 20 3 20H13C14.11 20 15 19.11 15 18V7C15 5.89 14.11 5 13 5M3 18L3 11H13L13 18L3 18Z"})});lr.displayName="SortCalendarAsc";const sr=ye({viewBox:"0 0 24 24",svg:t.createElement("path",{fill:"currentColor",d:"M19 7H16L20 3L24 7H21V21H19V7M8 16H11V13H8V16M13 5H12V3H10V5H6V3H4V5H3C1.89 5 1 5.89 1 7V18C1 19.11 1.89 20 3 20H13C14.11 20 15 19.11 15 18V7C15 5.89 14.11 5 13 5M3 18L3 11H13L13 18L3 18Z"})});sr.displayName="SortCalendarDesc";const cr=m((({store:e})=>{const{date:r,sortDirection:i}=e,n=b((()=>({opened:!1,toggle(){this.opened=!this.opened},close(){this.opened=!1,e.applyFilters()},onDateChange(t){e.date=t},clear(){e.date=null,e.applyFilters()}}))),o=t.createElement("div",{style:{flex:1,display:"flex"}},t.createElement(Me,{className:"date-button",style:{flex:1,textAlign:"left"},onClick:n.toggle},r?ge(r,"MMM d, HH:mm"):"now"),"DESC"===i&&r?t.createElement(Me,{onClick:n.clear},t.createElement(Yt,{size:16})):null);return t.createElement("div",{className:"events-panel-datepicker"},t.createElement("div",{style:{position:"relative"}},t.createElement(ar,{target:o,opened:n.opened,onCloseRequest:n.close,disableAnimation:!0,className:"popover-datepicker"},t.createElement(ce,{selected:r||new Date,onChange:n.onDateChange,showTimeSelect:!0,dateFormat:"MMM d, HH:mm",timeFormat:"HH:mm",inline:!0}),t.createElement(Me,{onClick:n.close,className:"x-3deye-button--ok"},"Ok")),t.createElement(Me,{className:"x-3deye-button--icon events-panel-datepicker__sorting-button",onClick:e.toggleSorting},"ASC"===i?t.createElement(lr,null):t.createElement(sr,null))))}));cr.displayName="EventsPanelDatepicker";var dr,ur=(dr=8,{container:e=>({...e,padding:dr}),control:(e,t)=>({...e,borderRadius:8,backgroundColor:t.isFocused?"white":"rgba(0, 0, 0, 0.5)",border:"none",boxShadow:null,"&:hover":{borderColor:null}}),menu:e=>({...e,borderRadius:"0 0 4px 4px",marginTop:0,marginLeft:-dr,marginRight:dr}),option:e=>({...e,color:"black"}),multiValueRemove:e=>({...e,color:"black"})});const hr=ye({viewBox:"0 0 24 24",svg:t.createElement("g",null,t.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),t.createElement("path",{d:"M10.13 3.245a1.994 1.994 0 0 0-1.542.992l-5.491 9.53c-.55.954-.23 2.178.723 2.728l8.66 5c.953.55 2.174.216 2.724-.737l5.509-9.521c.335-.58.349-1.265.087-1.832L17.65 2.54z"}))});hr.displayName="LabelIcon";const mr=ye({viewBox:"0 0 24 24",svg:t.createElement("g",null,t.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),t.createElement("path",{d:"M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11l-4 4z"}))});mr.displayName="CameraIcon";const pr=ye({viewBox:"0 0 24 24",svg:t.createElement("path",{d:"M17,6h-2V3c0-0.55-0.45-1-1-1h-4C9.45,2,9,2.45,9,3v3H7C5.9,6,5,6.9,5,8v11c0,1.1,0.9,2,2,2c0,0.55,0.45,1,1,1 c0.55,0,1-0.45,1-1h6c0,0.55,0.45,1,1,1c0.55,0,1-0.45,1-1c1.1,0,2-0.9,2-2V8C19,6.9,18.1,6,17,6z M9.5,18H8V9h1.5V18z M12.75,18 h-1.5V9h1.5V18z M13.5,6h-3V3.5h3V6z M16,18h-1.5V9H16V18z"})});pr.displayName="LuggageIcon";const br=ye({viewBox:"0 0 24 24",svg:t.createElement(t.Fragment,null,t.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),t.createElement("path",{d:"M18.92 6.01C18.72 5.42 18.16 5 17.5 5h-11c-.66 0-1.21.42-1.42 1.01L3 12v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h12v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-8l-2.08-5.99zM6.5 16c-.83 0-1.5-.67-1.5-1.5S5.67 13 6.5 13s1.5.67 1.5 1.5S7.33 16 6.5 16zm11 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zM5 11l1.5-4.5h11L19 11H5z"}))});br.displayName="CarIcon";const fr=ye({viewBox:"0 0 24 24",svg:t.createElement(t.Fragment,null,t.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),t.createElement("path",{d:"M20 21c-1.39 0-2.78-.47-4-1.32-2.44 1.71-5.56 1.71-8 0C6.78 20.53 5.39 21 4 21H2v2h2c1.38 0 2.74-.35 4-.99 2.52 1.29 5.48 1.29 8 0 1.26.65 2.62.99 4 .99h2v-2h-2zM3.95 19H4c1.6 0 3.02-.88 4-2 .98 1.12 2.4 2 4 2s3.02-.88 4-2c.98 1.12 2.4 2 4 2h.05l1.89-6.68c.08-.26.06-.54-.06-.78s-.34-.42-.6-.5L20 10.62V6c0-1.1-.9-2-2-2h-3V1H9v3H6c-1.1 0-2 .9-2 2v4.62l-1.29.42c-.26.08-.48.26-.6.5s-.15.52-.06.78L3.95 19zM6 6h12v3.97L12 8 6 9.97V6z"}))});fr.displayName="BoatIcon";const vr=ye({viewBox:"0 0 24 24",svg:t.createElement(t.Fragment,null,t.createElement("path",{d:"M11.74 13.36L14.14 7.71L13.06 5.5H10.5V4H14L14.73 5.5H21.75L20.75 9H16.44L17.11 10.37C17.69 10.13 18.33 10 19 10C21.76 10 24 12.24 24 15C24 17.76 21.76 20 19 20C16.24 20 14 17.76 14 15C14 13.45 14.71 12.06 15.82 11.15L15 9.5L12.25 16H9.9C9.44 18.28 7.42 20 5 20C2.24 20 0 17.76 0 15C0 12.24 2.24 10 5 10C7.59 10 9.72 11.97 10 14.5H10.58L8.3 9H7.5C7.09 9 6.75 8.66 6.75 8.25C6.75 7.84 7.09 7.5 7.5 7.5H10.25C10.66 7.5 11 7.84 11 8.25C11 8.66 10.66 9 10.25 9H9.97L11.74 13.36M5 11.5C3.07 11.5 1.5 13.07 1.5 15C1.5 16.93 3.07 18.5 5 18.5C6.59 18.5 7.93 17.45 8.36 16H4V14.5H8.47C8.22 12.8 6.76 11.5 5 11.5M19 11.5C18.57 11.5 18.15 11.58 17.77 11.72L19.7 15.68L18.35 16.34L16.5 12.55C15.88 13.18 15.5 14.05 15.5 15C15.5 16.93 17.07 18.5 19 18.5C20.93 18.5 22.5 16.93 22.5 15C22.5 13.07 20.93 11.5 19 11.5Z"}))});vr.displayName="BicycleIcon";const gr=ye({viewBox:"0 0 24 24",svg:t.createElement("g",null,t.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),t.createElement("path",{d:"M13.5 5.5c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zM9.8 8.9L7 23h2.1l1.8-8 2.1 2v6h2v-7.5l-2.1-2 .6-3C14.8 12 16.8 13 19 13v-2c-1.9 0-3.5-1-4.3-2.4l-1-1.6c-.4-.6-1-1-1.7-1-.3 0-.5.1-.8.1L6 8.3V13h2V9.6l1.8-.7"}))});gr.displayName="DirectionsWalkIcon";const yr=ye({viewBox:"0 0 24 24",svg:t.createElement(t.Fragment,null,t.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),t.createElement("circle",{cx:"4.5",cy:"9.5",r:"2.5"}),t.createElement("circle",{cx:"9",cy:"5.5",r:"2.5"}),t.createElement("circle",{cx:"15",cy:"5.5",r:"2.5"}),t.createElement("circle",{cx:"19.5",cy:"9.5",r:"2.5"}),t.createElement("path",{d:"M17.34 14.86c-.87-1.02-1.6-1.89-2.48-2.91-.46-.54-1.05-1.08-1.75-1.32-.11-.04-.22-.07-.33-.09-.25-.04-.52-.04-.78-.04s-.53 0-.79.05c-.11.02-.22.05-.33.09-.7.24-1.28.78-1.75 1.32-.87 1.02-1.6 1.89-2.48 2.91-1.31 1.31-2.92 2.76-2.62 4.79.29 1.02 1.02 2.03 2.33 2.32.73.15 3.06-.44 5.54-.44h.18c2.48 0 4.81.58 5.54.44 1.31-.29 2.04-1.31 2.33-2.32.31-2.04-1.3-3.49-2.61-4.8z"}))});yr.displayName="PetsIcon";const wr=({data:e})=>{const r=16;return e.isEventType?"Luggage"===e.id?t.createElement(pr,{size:r}):"Car"===e.id?t.createElement(br,{size:r}):"Person"===e.id?t.createElement(gr,{size:r}):"Bicycle"===e.id?t.createElement(vr,{size:r}):"Boat"===e.id?t.createElement(fr,{size:r}):"Animal"===e.id?t.createElement(yr,{size:r}):t.createElement(hr,{size:r}):t.createElement(mr,{size:r})},Er=e=>{const{children:r,innerProps:i,...n}=e,{Option:o}=ue,{data:a}=e;if(!a.isEventType)return t.createElement(o,{...e});const l={...i,style:{display:"inline-flex",alignItems:"center",width:"auto"}};return t.createElement(o,{innerProps:l,...n},t.createElement(wr,{data:a}),t.createElement("div",{style:{marginLeft:4}},r))},Cr=e=>{const{children:r,innerProps:i,...n}=e,{MultiValueLabel:o}=ue,{data:a}=e,l={...i,style:{display:"flex",alignItems:"center"}};return t.createElement(o,{innerProps:l,...n},t.createElement(wr,{data:a}),t.createElement("div",{style:{marginLeft:4}},r))},Pr=ye({viewBox:"0 0 24 24",svg:t.createElement(t.Fragment,null,t.createElement("path",{d:"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"}),t.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))});Pr.displayName="FilterListIcon";const Or={...ur,multiValue:(e,{data:t})=>t.color?{...e,backgroundColor:t.color,color:"white"}:e,multiValueLabel:(e,{data:t})=>t.color?{...e,color:"white"}:e,multiValueRemove:(e,{data:t})=>t.color?{...e,color:"white",":hover":{backgroundColor:"rgba(255, 255, 255, 0.7)",color:t.color}}:e,option:(e,{data:t})=>t.color?{...e,color:t.color}:e},jr=e=>{const{children:r,...i}=e;return t.createElement(ue.Placeholder,{...i},t.createElement(Pr,{size:16,style:{position:"relative",top:4}})," ",r)},Tr=m((({store:e})=>{const{cameras:i,eventSchema:n}=r(me),o=l({opened:!1});if(!("filters"in e))return null;return t.createElement(de,{closeMenuOnSelect:!1,isMulti:!0,onChange:(t,r)=>{e.setFilters(t),"remove-value"!==r.action||o.current.opened||e.applyFilters()},onMenuOpen:()=>o.current.opened=!0,onMenuClose:()=>{o.current.opened=!1,e.applyFilters()},getOptionLabel:e=>e.name,getOptionValue:e=>e.id,options:(()=>{if(!n)return[];const t=e.facesSelected?[]:n.foundObjectTypesForSelect;return i.loaded?[].concat(t,i.data.slice()):t})(),placeholder:ve.t("filter"),value:e.filters,components:{MultiValueLabel:Cr,Option:Er,Placeholder:jr},styles:Or})}));Tr.displayName="EventsPanelSelect";const xr=m((({store:e,onEventClick:r})=>{const{facesSelected:i,getFacesProbabilityTreshold:n,getProbabilityTreshold:o,setFacesProbabilityTreshold:a,setProbabilityTreshold:l,someAnalyticsFilterSelected:s,colors:c,toggleColor:d,clearColors:u,selectEvents:h,selectFaces:m}=e;return t.createElement(t.Fragment,null,t.createElement("div",{style:{color:"black",zIndex:3}},t.createElement(Tr,{store:e})),t.createElement(cr,{store:e}),s&&!i&&t.createElement(rr,{getter:i?n:o,setter:i?a:l}),!i&&s?t.createElement(er,{value:c,toggle:d,clear:u}):null,t.createElement("div",{style:{display:"flex",flex:1}},i?t.createElement(Zt,{key:"faces",minColumnWidth:800,hideCameraName:!1,store:e.facesLoader,onEventClick:r}):t.createElement(Zt,{key:"events",minColumnWidth:800,hideCameraName:!1,store:e.eventsLoader,onEventClick:r})),t.createElement(Kt,null,t.createElement(Me,{className:i?"button-unselected":"button-selected",onClick:h},"ALL"),t.createElement(Me,{className:i?"button-selected":"button-unselected",onClick:m},"Face recognition")))}));var Mr,Sr;function Lr(e,t=!1){const r=P(e);return new _((e=>{const i=r.observe_((({newValue:t})=>e.next(t)),t);return()=>i()}))}xr.displayName="EventsPanelContents",function(e){e[e.CONNECTING=0]="CONNECTING",e[e.CONNECTED=1]="CONNECTED",e[e.RECONNECTING=2]="RECONNECTING",e[e.DISCONNECTED=3]="DISCONNECTED"}(Mr||(Mr={})),function(e){e[e.Motion=0]="Motion",e[e.Tampering=1]="Tampering",e[e.PanTiltZoom=2]="PanTiltZoom",e[e.CrossLine=3]="CrossLine",e[e.Intrusion=4]="Intrusion",e[e.LicensePlate=5]="LicensePlate",e[e.FaceDetection=6]="FaceDetection",e[e.Audio=7]="Audio",e[e.Analytic=8]="Analytic",e[e.SpeedDetection=9]="SpeedDetection",e[e.PeopleCounter=10]="PeopleCounter",e[e.Temperature=11]="Temperature",e[e.PoS=12]="PoS",e[e.GPS=13]="GPS",e[e.DigitalInput=14]="DigitalInput",e[e.Normal=15]="Normal",e[e.Suspicious=16]="Suspicious",e[e.Loitering=17]="Loitering",e[e.Vandalism=18]="Vandalism",e[e.Trespass=19]="Trespass",e[e.Emergency=20]="Emergency",e[e.LifeInDanger=21]="LifeInDanger",e[e.ErroneousAlert=22]="ErroneousAlert",e[e.Misidentification=23]="Misidentification",e[e.Fire=24]="Fire",e[e.MedicalDuress=25]="MedicalDuress",e[e.HoldUp=26]="HoldUp",e[e.CheckIn=27]="CheckIn",e[e.CheckOut=28]="CheckOut",e[e.ClockIn=29]="ClockIn",e[e.ClockOut=30]="ClockOut",e[e.ParkingStart=31]="ParkingStart",e[e.ParkingEnd=32]="ParkingEnd",e[e.ParkingViolation=33]="ParkingViolation",e[e.GateAccess=34]="GateAccess",e[e.DoorAccess=35]="DoorAccess",e[e.TemperatureCheck=36]="TemperatureCheck",e[e.IDCheck=37]="IDCheck",e[e.PPECheck=38]="PPECheck",e[e.WelfareCheck=39]="WelfareCheck",e[e.Uncategorized=40]="Uncategorized",e[e.Unknown=999]="Unknown"}(Sr||(Sr={}));class Nr{constructor(){Object.defineProperty(this,"api",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"disposables",{enumerable:!0,configurable:!0,writable:!0,value:[]})}initWith(e){this.api=e,this.afterInit&&this.afterInit()}dispose(){this.disposables.forEach((e=>{e instanceof k?e.closed||e.unsubscribe():e()}))}}const Ir=new Set(["LicensePlate","FaceDetection","Analytic","SpeedDetection","Temperature","PoS","GPS","DigitalInput"]);class Dr{constructor(e){if(Object.defineProperty(this,"cameraId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"thumbnailUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"detectedObjects",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"faces",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"instant",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),v(this,{id:P,startTime:P,endTime:P,acknowledged:P,isLive:P,raw:g.ref}),this.raw=e,this.type=e.eventType,this.cameraId=e.sensorId,("Analytic"===this.type||"FaceDetection"===this.type)&&e.data)try{const t=JSON.parse(e.data);t.FoundObjects&&(this.type="Analytic",this.detectedObjects=t.FoundObjects),t.Faces&&(this.type="FaceDetection",this.faces=t.Faces),this.thumbnailUrl=t.ThumbnailUrl}catch{console.warn("invalid data",e.data),this.type="Motion"}this.instant=Ir.has(this.type),this.detectedObjects||(this.detectedObjects=[])}get id(){return this.raw.id}get startTime(){return new Date(this.raw.startTime)}get endTime(){return new Date(this.raw.endTime)}get isLive(){return!Ir.has(this.type)&&+this.startTime==+this.endTime}get acknowledged(){return"sensorId"in this.raw&&!!this.raw.ackEventType}}class kr extends Nr{constructor(e){super(),Object.defineProperty(this,"eventsStore",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"pendingData",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"liveUpdateMode",{enumerable:!0,configurable:!0,writable:!0,value:"auto"}),Object.defineProperty(this,"updateTrigger",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"colors",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"disposables",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"pageInfo",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"loading",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"loadMoreTrigger",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"retryTrigger",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"error",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"sortDirection",{enumerable:!0,configurable:!0,writable:!0,value:"DESC"}),Object.defineProperty(this,"probabilityThreshold",{enumerable:!0,configurable:!0,writable:!0,value:.5}),Object.defineProperty(this,"from",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"to",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cameras",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"detectedObjects",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"polygons",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"eventTypes",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"loadingInited",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"flushUpdates",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.data=[...this.pendingData,...this.data],this.pendingData=[]}}),Object.defineProperty(this,"load",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.loadingInited||(this.loadingInited=!0,this.initDataLoading(),this.initLiveUpdates())}}),Object.defineProperty(this,"reload",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.error&&(this.retryTrigger=+!this.retryTrigger)}}),Object.defineProperty(this,"loadMore",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.error=null,this.loadMoreTrigger=+!this.loadMoreTrigger}}),Object.defineProperty(this,"requestData",{enumerable:!0,configurable:!0,writable:!0,value:({sortDirection:e,from:t,to:r,filter:i,pageInfo:n,cameras:o,polygons:a})=>this.api.cameras.GetSensorEventsPage({sensorIds:o,sensorType:"camera",sensorEventTypes:this.eventTypes,startTime:t,endTime:r,isDescending:"DESC"===e,rowsLimit:10,pageToken:null==n?void 0:n.nextPageToken},i,a).pipe(q((e=>e.success?F({events:e.resultItems,pageInfo:e.pageInfo}):H(e.error))),Z((e=>(console.error(e),this.error=e,F({events:[],pageInfo:null})))))}),v(this,{data:g.ref,cameras:g.struct,detectedObjects:g.struct,from:g,to:g,sortDirection:g,probabilityThreshold:g,pendingData:g.ref,liveUpdateMode:g,updateTrigger:g,colors:g.ref,flushUpdates:E,pageInfo:g.ref,isLive:P,loading:g,loadMoreTrigger:g,retryTrigger:g,error:g.ref,loadMore:E,filterJson:P})}get isLive(){return"DESC"==this.sortDirection&&!this.to}get totalCount(){return this.data.length}get filterJson(){if(1===this.eventTypes.length&&this.eventTypes[0]===Sr.FaceDetection)return null;const{probabilityThreshold:e}=this;if(null===e)return null;const t={And:[]};return this.detectedObjects.length&&t.And.push({Or:this.detectedObjects.map((e=>({Type:e})))}),this.colors.size&&t.And.push({Or:[...this.colors].map((e=>({ObjectColors:[e]})))}),t.And.push({Or:[{Probability:e}]}),JSON.stringify(t)}initDataLoading(){const e=Lr((()=>({from:this.from?+this.from:void 0,to:this.to?+this.to:void 0,sortDirection:this.sortDirection,filter:this.filterJson,cameraFilters:this.cameras,polygons:this.polygons})),!0);this.disposables.push(e.pipe(B((e=>Lr((()=>this.retryTrigger),!0).pipe(K(e)))),B((({from:e,to:t,sortDirection:r,filter:i,cameraFilters:n,polygons:o})=>(w((()=>{this.loading=!0,this.pageInfo=null,this.error=null,this.data=[]})),this.requestData({from:e?new Date(e):void 0,to:t?new Date(t):void 0,sortDirection:r,filter:i,cameras:n,pageInfo:this.pageInfo,polygons:o}))))).subscribe((({events:e,pageInfo:t})=>{w((()=>{var r,i,n;if(!t)return;const o=e.map(_r);this.isLive?this.data=this.uniquelyConcat(this.eventsStore.getEvents({cameraIds:this.cameras,eventTypes:6===this.eventTypes[0]?["FaceDetection"]:[],from:null!==(i=null===(r=o[0])||void 0===r?void 0:r.startTime)&&void 0!==i?i:he(new Date,1),to:null,colors:this.colors.size?this.colors:void 0,detectedObjectTypes:this.detectedObjects,probability:null!==(n=this.probabilityThreshold)&&void 0!==n?n:void 0}),o):this.data=o,this.eventsStore.add(o),this.pageInfo=t,this.loading=!1}))}))),this.disposables.push(e.pipe(B((({from:e,to:t,sortDirection:r,filter:i,cameraFilters:n})=>Lr((()=>this.loadMoreTrigger)).pipe(Y((()=>this.requestData({from:e?new Date(e):void 0,to:t?new Date(t):void 0,sortDirection:r,filter:i,cameras:n,pageInfo:this.pageInfo,polygons:this.polygons}))))))).subscribe((({events:e,pageInfo:t})=>{if(!t)return;const r=e.map(_r);this.eventsStore.add(r),w((()=>{this.data=this.data.concat(r),this.pageInfo=t,this.loading=!1}))})))}initLiveUpdates(){this.disposables.push(Lr((()=>({liveUpdateMode:this.liveUpdateMode,isLive:this.isLive})),!0).pipe(B((({liveUpdateMode:e,isLive:t})=>t&&"auto"===e?Lr((()=>this.eventsStore.recentAdditions)):z))).subscribe((e=>{if(this.loading)return;if(!this.pageInfo&&this.error)return;const t=this.filter(e.map((e=>this.eventsStore.eventsById.get(e))));t.length&&w((()=>{this.data=[...t,...this.data]}))}))),this.disposables.push(Lr((()=>({liveUpdateMode:this.liveUpdateMode,isLive:this.isLive})),!0).pipe(B((({liveUpdateMode:e,isLive:t})=>t&&"manual"===e?Lr((()=>this.eventsStore.recentAdditions)):(this.pendingData&&w((()=>this.pendingData=[])),z)))).subscribe((e=>{if(!this.data.length)return;const t=this.filter(e.map((e=>this.eventsStore.eventsById.get(e))));t.length&&w((()=>{this.pendingData=[...t,...this.pendingData]}))})))}filter(e){let t=e;const{from:r,to:i}=this;return r&&(t=t.filter((e=>e.startTime>=r))),i&&(t=t.filter((e=>e.startTime<=i))),this.cameras.length&&(t=t.filter((e=>this.cameras.includes(e.cameraId)))),this.eventTypes.length&&6===this.eventTypes[0]&&(t=t.filter((e=>"FaceDetection"===e.type))),this.detectedObjects.length&&(t=t.filter((e=>e.detectedObjects.some((e=>{const{probabilityThreshold:t}=this;return!(null!==t&&e.Probability<t)&&(this.colors.size?this.detectedObjects.includes(e.Type)&&e.Colors.some((e=>this.colors.has(e.Color))):this.detectedObjects.includes(e.Type))}))))),t}uniquelyConcat(e,t){if(!e.length)return t.concat();if(!t.length)return e.concat();const r=e=>[e.id,e];return Array.from(new Map([...e.map(r),...t.map(r)]).values())}dispose(){this.disposables.forEach((e=>{e instanceof k?e.closed||e.unsubscribe():e()}))}}function _r(e){return new Dr(e)}class Fr extends Nr{constructor(e){super(),Object.defineProperty(this,"cameraFilters",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"objectFilters",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"date",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"sortDirection",{enumerable:!0,configurable:!0,writable:!0,value:"DESC"}),Object.defineProperty(this,"probabilityThreshold",{enumerable:!0,configurable:!0,writable:!0,value:.5}),Object.defineProperty(this,"facesProbabilityThreshold",{enumerable:!0,configurable:!0,writable:!0,value:.7}),Object.defineProperty(this,"facesSelected",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"colors",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"disposables",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"eventsLoader",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"facesLoader",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"selectEvents",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.facesSelected=!1}}),Object.defineProperty(this,"selectFaces",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.facesSelected=!0}}),Object.defineProperty(this,"toggleSorting",{enumerable:!0,configurable:!0,writable:!0,value:()=>{"ASC"===this.sortDirection?(this.sortDirection="DESC",this.date=null):(this.sortDirection="ASC",null===this.date&&(this.date=M(S(new Date),1))),this.applyFilters()}}),Object.defineProperty(this,"applyFilters",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;this.eventsLoader.cameras=this.cameraFilters.map((e=>e.id)),this.facesLoader.cameras=this.eventsLoader.cameras,this.eventsLoader.detectedObjects=this.objectFilters.map((e=>e.id)),this.eventsLoader.colors=this.colors,this.eventsLoader.probabilityThreshold=this.objectFilters.length?this.probabilityThreshold:null,this.facesLoader.probabilityThreshold=this.facesProbabilityThreshold,"ASC"===this.sortDirection?(this.eventsLoader.sortDirection="ASC",this.eventsLoader.to=void 0,this.eventsLoader.from=this.date):(this.eventsLoader.sortDirection="DESC",this.eventsLoader.from=void 0,this.eventsLoader.to=null!==(e=this.date)&&void 0!==e?e:void 0),this.facesLoader.sortDirection=this.eventsLoader.sortDirection,this.facesLoader.from=this.eventsLoader.from,this.facesLoader.to=this.eventsLoader.to}}),Object.defineProperty(this,"getProbabilityTreshold",{enumerable:!0,configurable:!0,writable:!0,value:()=>this.probabilityThreshold}),Object.defineProperty(this,"setProbabilityTreshold",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.probabilityThreshold=e,this.applyFilters()}}),Object.defineProperty(this,"getFacesProbabilityTreshold",{enumerable:!0,configurable:!0,writable:!0,value:()=>this.facesProbabilityThreshold}),Object.defineProperty(this,"setFacesProbabilityTreshold",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.facesProbabilityThreshold=e,this.applyFilters()}}),v(this,{cameraFilters:g.ref,objectFilters:g.ref,date:g,sortDirection:g,probabilityThreshold:g,setProbabilityTreshold:E,facesProbabilityThreshold:g,setFacesProbabilityTreshold:E,facesSelected:g,colors:g.ref,someAnalyticsFilterSelected:P,filters:P,setFilters:E,selectEvents:E,selectFaces:E,load:E,toggleColor:E.bound,clearColors:E.bound,applyFilters:E,toggleSorting:E}),this.eventsLoader=new kr(e),this.eventsLoader.loading=!0,this.eventsLoader.probabilityThreshold=null,this.facesLoader=new kr(e),this.facesLoader.eventTypes=[Sr.FaceDetection],this.facesLoader.loading=!0}get someAnalyticsFilterSelected(){return!!this.objectFilters.length}get filters(){return this.facesSelected?this.cameraFilters:this.objectFilters.concat(this.cameraFilters)}load(){this.eventsLoader.load()}TEMP_FIX_loadFaces(){this.facesLoader.load()}setFilters(e){this.cameraFilters=e?e.filter((e=>!("isEventType"in e))):[],this.facesSelected||(this.objectFilters=e?e.filter((e=>"isEventType"in e)):[])}toggleColor(e){const t=new Set(this.colors);this.colors.has(e)?t.delete(e):t.add(e),this.colors=t,this.applyFilters()}clearColors(){this.colors=new Set,this.applyFilters()}afterInit(){this.eventsLoader.initWith(this.api),this.facesLoader.initWith(this.api)}dispose(){this.disposables.forEach((e=>{e instanceof k?e.closed||e.unsubscribe():e()})),this.eventsLoader.dispose()}}const Hr=({onEventClick:e})=>{var n;const a=null!==(n=r(u))&&void 0!==n?n:h,[l,s]=o();return i((()=>{null==l||l.dispose();const e=new Fr(a.events);return e.initWith(a.api),e.load(),s(e),O((()=>e.facesSelected),(()=>{e.TEMP_FIX_loadFaces()}))}),[a]),t.createElement(me.Provider,{value:a},l?t.createElement(xr,{store:l,onEventClick:e}):null)};Hr.displayName="EventList";export{Hr as default};
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@3deye-toolkit/react-event-list",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.22",
|
|
4
4
|
"module": "dist/react-event-list.js",
|
|
5
5
|
"types": "dist/react-event-list.d.ts",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist"
|
|
8
8
|
],
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@3deye-toolkit/core": "0.0.1-alpha.
|
|
10
|
+
"@3deye-toolkit/core": "0.0.1-alpha.22",
|
|
11
11
|
"@material/slider": "^5.1.0",
|
|
12
12
|
"@reach/tooltip": "^0.15.3",
|
|
13
13
|
"@react-spring/web": "^9.2.5",
|
|
14
14
|
"@seznam/compose-react-refs": "^1.0.6",
|
|
15
15
|
"clsx": "^1.1.1",
|
|
16
16
|
"date-fns": "^2.22.1",
|
|
17
|
-
"i18next": "
|
|
17
|
+
"i18next": "21.5.3",
|
|
18
18
|
"lodash": "4.17.21",
|
|
19
19
|
"material-colors": "^1.2.6",
|
|
20
20
|
"mobx": "^6.3.2",
|