@evercam/ui 0.0.55-beta.13 → 0.0.55-beta.14

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.
@@ -7,8 +7,6 @@ import ECol from './components/ECol.vue';
7
7
  import EVideoPlayer from './components/EVideoPlayer.vue';
8
8
  import ETimeline from './components/ETimeline.vue';
9
9
  import EVideoEmbed from './components/EVideoEmbed.vue';
10
- import EToggleSwitch from './components/EToggleSwitch.vue';
11
- import EZoomable from './components/EZoomable.vue';
12
10
  import { VueConstructor } from "vue";
13
11
  export declare const components: {
14
12
  EAvatar: import("vue/types/vue").ExtendedVue<import("vue").default<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => import("vue").default<Record<string, any>, Record<string, any>, never, never, any>>, {
@@ -120,115 +118,7 @@ export declare const components: {
120
118
  xs: string | number | boolean;
121
119
  xl: string | number | boolean;
122
120
  }, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin>;
123
- EVideoPlayer: import("vue").DefineComponent<{
124
- targetTimestamp: {
125
- type: (StringConstructor | DateConstructor)[];
126
- default: undefined;
127
- };
128
- sources: {
129
- type: import("vue").PropType<string | import('./components/EVideoPlayer.vue').VideoSource[]>;
130
- required: true;
131
- };
132
- videoListeners: {
133
- type: import("vue").PropType<Partial<HTMLVideoElement>>;
134
- default: () => {};
135
- };
136
- videoOptions: {
137
- type: import("vue").PropType<Partial<HTMLVideoElement>>;
138
- default: () => {};
139
- };
140
- isHls: {
141
- type: BooleanConstructor;
142
- default: boolean;
143
- };
144
- streamingToken: {
145
- type: StringConstructor;
146
- default: string;
147
- };
148
- isLiveView: {
149
- type: BooleanConstructor;
150
- default: boolean;
151
- };
152
- pauseOnClick: {
153
- type: BooleanConstructor;
154
- default: boolean;
155
- };
156
- isHlsLoading: {
157
- type: BooleanConstructor;
158
- default: boolean;
159
- };
160
- isPlaying: {
161
- type: BooleanConstructor;
162
- default: boolean;
163
- };
164
- preloadedInterval: {
165
- type: import("vue").PropType<{
166
- start: string;
167
- end: string;
168
- }>;
169
- default: () => {};
170
- };
171
- selectedResolution: {
172
- type: import("vue").PropType<import('./components/EVideoPlayer.vue').EdgeVideoResolution | undefined>;
173
- default: undefined;
174
- };
175
- isLive: {
176
- type: BooleanConstructor;
177
- default: boolean;
178
- };
179
- isZoomable: {
180
- type: BooleanConstructor;
181
- default: boolean;
182
- };
183
- zoomableIgnorePointerEvents: {
184
- type: BooleanConstructor;
185
- default: boolean;
186
- };
187
- blurBackground: {
188
- type: BooleanConstructor;
189
- default: boolean;
190
- };
191
- isRecordings: {
192
- type: BooleanConstructor;
193
- default: boolean;
194
- };
195
- progressBarEvents: {
196
- type: ArrayConstructor;
197
- default: () => never[];
198
- };
199
- progressBarFrames: {
200
- type: ArrayConstructor;
201
- default: () => never[];
202
- };
203
- progressBarFrameIndex: {
204
- type: NumberConstructor;
205
- default: number;
206
- };
207
- progressBarPreloadedFrames: {
208
- type: ArrayConstructor;
209
- default: () => never[];
210
- };
211
- thumbnailsUrls: {
212
- type: import("vue").PropType<string[]>;
213
- default: () => never[];
214
- };
215
- timezone: {
216
- type: StringConstructor;
217
- default: string;
218
- };
219
- playPauseAnimation: {
220
- type: BooleanConstructor;
221
- default: boolean;
222
- };
223
- disablePlayPauseAnimation: {
224
- type: BooleanConstructor;
225
- default: boolean;
226
- };
227
- isWebRtc: {
228
- type: BooleanConstructor;
229
- default: boolean;
230
- };
231
- }, {}, {
121
+ EVideoPlayer: import("vue/types/vue").ExtendedVue<import("vue").default<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => import("vue").default<Record<string, any>, Record<string, any>, never, never, any>>, {
232
122
  playing: boolean;
233
123
  percentagePlayed: number;
234
124
  videoLength: string;
@@ -243,16 +133,9 @@ export declare const components: {
243
133
  isLoading: boolean;
244
134
  isError: boolean;
245
135
  player: import("hls.js").default;
246
- playbackRetries: number;
247
- }, {
248
- sourceItems(): import('./components/EVideoPlayer.vue').VideoSource[];
249
- hasStartedOrFinished(): boolean;
250
- withControls(): "" | "hide";
251
136
  }, {
252
137
  initHls(): void;
253
- onContainerClick(): void;
254
138
  handle404Error(): void;
255
- handleHlsError(_: import("hls.js").Events.ERROR, data: import("hls.js").ErrorData): void;
256
139
  bindEvents(): void;
257
140
  unbindEvents(): void;
258
141
  bindVideoEvent(which: string): void;
@@ -265,9 +148,9 @@ export declare const components: {
265
148
  handleScrubbingOnMouseEnd(e: MouseEvent): void;
266
149
  handleEnded(): void;
267
150
  handleLoading(): void;
268
- play(): Promise<void>;
151
+ play(): void;
269
152
  pause(): void;
270
- togglePlay(): Promise<void>;
153
+ togglePlay(): void;
271
154
  setPlaying(state: boolean): void;
272
155
  seekToPercentage(percentage: number): void;
273
156
  convertTimeToDuration(seconds: number): string;
@@ -280,144 +163,18 @@ export declare const components: {
280
163
  skip(duration?: number): void;
281
164
  toggleScrubbing(e: MouseEvent): Promise<void>;
282
165
  handleKeyDown(e: KeyboardEvent): void;
283
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
284
- targetTimestamp: {
285
- type: (StringConstructor | DateConstructor)[];
286
- default: undefined;
287
- };
288
- sources: {
289
- type: import("vue").PropType<string | import('./components/EVideoPlayer.vue').VideoSource[]>;
290
- required: true;
291
- };
292
- videoListeners: {
293
- type: import("vue").PropType<Partial<HTMLVideoElement>>;
294
- default: () => {};
295
- };
296
- videoOptions: {
297
- type: import("vue").PropType<Partial<HTMLVideoElement>>;
298
- default: () => {};
299
- };
300
- isHls: {
301
- type: BooleanConstructor;
302
- default: boolean;
303
- };
304
- streamingToken: {
305
- type: StringConstructor;
306
- default: string;
307
- };
308
- isLiveView: {
309
- type: BooleanConstructor;
310
- default: boolean;
311
- };
312
- pauseOnClick: {
313
- type: BooleanConstructor;
314
- default: boolean;
315
- };
316
- isHlsLoading: {
317
- type: BooleanConstructor;
318
- default: boolean;
319
- };
320
- isPlaying: {
321
- type: BooleanConstructor;
322
- default: boolean;
323
- };
324
- preloadedInterval: {
325
- type: import("vue").PropType<{
326
- start: string;
327
- end: string;
328
- }>;
329
- default: () => {};
330
- };
331
- selectedResolution: {
332
- type: import("vue").PropType<import('./components/EVideoPlayer.vue').EdgeVideoResolution | undefined>;
333
- default: undefined;
334
- };
335
- isLive: {
336
- type: BooleanConstructor;
337
- default: boolean;
338
- };
339
- isZoomable: {
340
- type: BooleanConstructor;
341
- default: boolean;
342
- };
343
- zoomableIgnorePointerEvents: {
344
- type: BooleanConstructor;
345
- default: boolean;
346
- };
347
- blurBackground: {
348
- type: BooleanConstructor;
349
- default: boolean;
350
- };
351
- isRecordings: {
352
- type: BooleanConstructor;
353
- default: boolean;
354
- };
355
- progressBarEvents: {
356
- type: ArrayConstructor;
357
- default: () => never[];
358
- };
359
- progressBarFrames: {
360
- type: ArrayConstructor;
361
- default: () => never[];
362
- };
363
- progressBarFrameIndex: {
364
- type: NumberConstructor;
365
- default: number;
366
- };
367
- progressBarPreloadedFrames: {
368
- type: ArrayConstructor;
369
- default: () => never[];
370
- };
371
- thumbnailsUrls: {
372
- type: import("vue").PropType<string[]>;
373
- default: () => never[];
374
- };
375
- timezone: {
376
- type: StringConstructor;
377
- default: string;
378
- };
379
- playPauseAnimation: {
380
- type: BooleanConstructor;
381
- default: boolean;
382
- };
383
- disablePlayPauseAnimation: {
384
- type: BooleanConstructor;
385
- default: boolean;
386
- };
387
- isWebRtc: {
388
- type: BooleanConstructor;
389
- default: boolean;
390
- };
391
- }>>, {
392
- timezone: string;
393
- isPlaying: boolean;
394
- isLive: boolean;
395
- targetTimestamp: string | Date;
396
- thumbnailsUrls: string[];
397
- selectedResolution: import('./components/EVideoPlayer.vue').EdgeVideoResolution | undefined;
398
- isHlsLoading: boolean;
399
- videoListeners: Partial<HTMLVideoElement>;
400
- videoOptions: Partial<HTMLVideoElement>;
166
+ }, {
167
+ sourceItems: import('./components/EVideoPlayer.vue').VideoSource[];
168
+ hasStartedOrFinished: boolean;
169
+ withControls: "" | "hide";
170
+ }, {
171
+ sources: string | import('./components/EVideoPlayer.vue').VideoSource[];
172
+ videoListeners: {};
173
+ videoOptions: {};
401
174
  isHls: boolean;
402
175
  streamingToken: string;
403
176
  isLiveView: boolean;
404
- pauseOnClick: boolean;
405
- preloadedInterval: {
406
- start: string;
407
- end: string;
408
- };
409
- isZoomable: boolean;
410
- zoomableIgnorePointerEvents: boolean;
411
- blurBackground: boolean;
412
- isRecordings: boolean;
413
- progressBarEvents: unknown[];
414
- progressBarFrames: unknown[];
415
- progressBarFrameIndex: number;
416
- progressBarPreloadedFrames: unknown[];
417
- playPauseAnimation: boolean;
418
- disablePlayPauseAnimation: boolean;
419
- isWebRtc: boolean;
420
- }>;
177
+ }, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin>;
421
178
  ETimeline: import("vue/types/vue").ExtendedVue<import("vue").default<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => import("vue").default<Record<string, any>, Record<string, any>, never, never, any>>, {
422
179
  tooltip: HTMLElement;
423
180
  cursor: HTMLElement;
@@ -771,118 +528,14 @@ export declare const components: {
771
528
  iframeListeners: Partial<HTMLIFrameElement>;
772
529
  iframeOptions: Record<string, any>;
773
530
  }>;
774
- EToggleSwitch: import("vue").DefineComponent<{
775
- options: {
776
- type: import("vue").PropType<import('./components/EToggleSwitch.vue').EToggleSwitchOptions[]>;
777
- required: true;
778
- };
779
- color: {
780
- type: import("vue").PropType<"primary" | "brand" | "gray">;
781
- default: string;
782
- };
783
- size: {
784
- type: import("vue").PropType<"lg" | "md" | "sm">;
785
- default: string;
786
- };
787
- defaultValue: {
788
- type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
789
- default: null;
790
- };
791
- }, {}, {
792
- value: any;
793
- }, {}, {
794
- handleClick(value: any): void;
795
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
796
- options: {
797
- type: import("vue").PropType<import('./components/EToggleSwitch.vue').EToggleSwitchOptions[]>;
798
- required: true;
799
- };
800
- color: {
801
- type: import("vue").PropType<"primary" | "brand" | "gray">;
802
- default: string;
803
- };
804
- size: {
805
- type: import("vue").PropType<"lg" | "md" | "sm">;
806
- default: string;
807
- };
808
- defaultValue: {
809
- type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
810
- default: null;
811
- };
812
- }>>, {
813
- color: "primary" | "brand" | "gray";
814
- size: "lg" | "md" | "sm";
815
- defaultValue: string | number | boolean;
816
- }>;
817
- EZoomable: import("vue").DefineComponent<{
818
- ignorePointerEvents: {
819
- type: BooleanConstructor;
820
- default: boolean;
821
- };
822
- withOverlay: {
823
- type: BooleanConstructor;
824
- default: boolean;
825
- };
826
- }, {}, {
827
- scale: number;
828
- minScale: number;
829
- maxScale: number;
830
- top: number;
831
- left: number;
832
- isPanning: boolean;
833
- panStart: {
834
- x: number;
835
- y: number;
836
- };
837
- isPinching: boolean;
838
- previousPinchDistance: number;
839
- pinchDistance: number;
840
- pointers: {};
841
- transform: string;
842
- }, {
843
- contentStyle(): {
844
- transform: string;
845
- };
846
- isZoomed(): boolean;
847
- }, {
848
- updateZoomScale(): void;
849
- handleZoom(e: any): void;
850
- handleMouseDown(e: any): void;
851
- handleMouseUp(): void;
852
- handleMouseLeave(): void;
853
- handleMouseMove(e: any): void;
854
- applyBoundsCorrection(): void;
855
- updateTransform(): void;
856
- getPointersDistance(a: any, b: any): number;
857
- getPointersMidPoint(a: any, b: any): {
858
- x: any;
859
- y: any;
860
- };
861
- updatePointerEvent(e: any): void;
862
- clearPointerEvent(e: any): void;
863
- updatePinchDistance(): void;
864
- handlePointerDown(e: any): void;
865
- handlePointerMove(e: any): void;
866
- handlePointerUp(e: any): void;
867
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
868
- ignorePointerEvents: {
869
- type: BooleanConstructor;
870
- default: boolean;
871
- };
872
- withOverlay: {
873
- type: BooleanConstructor;
874
- default: boolean;
875
- };
876
- }>>, {
877
- ignorePointerEvents: boolean;
878
- withOverlay: boolean;
879
- }>;
531
+ EHeatmapBar: import("vue/types/vue").ExtendedVue<import("vue").default<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => import("vue").default<Record<string, any>, Record<string, any>, never, never, any>>, {}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin>;
532
+ EHoursHeatmap: import("vue/types/vue").ExtendedVue<import("vue").default<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => import("vue").default<Record<string, any>, Record<string, any>, never, never, any>>, {}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin>;
880
533
  };
881
534
  declare const _default: {
882
535
  install(Vue: VueConstructor): void;
883
536
  };
884
537
  export default _default;
885
- export { EAvatar, EBadge, EIcon, ESpinner, ERow, ECol, EVideoPlayer, ETimeline, EVideoEmbed, EToggleSwitch, EZoomable, };
538
+ export { EAvatar, EBadge, EIcon, ESpinner, ERow, ECol, EVideoPlayer, ETimeline, EVideoEmbed, };
886
539
  export * from './constants';
887
540
  export * from './types';
888
541
  export * from './utils';
@@ -25,13 +25,6 @@ export declare enum BaseColor {
25
25
  brand = "brand",
26
26
  default = "default"
27
27
  }
28
- export declare enum ImageQuality {
29
- _360 = "360",
30
- _480 = "480",
31
- _720 = "720",
32
- _1080 = "1080",
33
- auto = "auto"
34
- }
35
28
  export type TBadgeSize = (typeof BadgeSizes)[number];
36
29
  export type TAvatarSize = (typeof AvatarSizes)[number];
37
30
  export type TIconSize = (typeof IconSizes)[number];
@@ -127,5 +120,14 @@ export type TimelineMarker = {
127
120
  maxDate?: string;
128
121
  [key: string]: any;
129
122
  };
123
+ export type HeatmapBarItem = {
124
+ name: string;
125
+ count: string;
126
+ value: string | number;
127
+ };
128
+ export type HoursHeatmapChartItem = {
129
+ count: number;
130
+ timestamp: Timestamp;
131
+ };
130
132
  declare const _default: {};
131
133
  export default _default;
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .e-spinner[data-v-29711f67]{vertical-align:center}.e-spinner__primary[data-v-29711f67],.e-spinner__secondary[data-v-29711f67]{stroke-width:0;animation:fade-29711f67;animation-iteration-count:infinite}@keyframes fade-29711f67{0%{fill-opacity:0}50%{fill-opacity:1}to{fill-opacity:0}}.e-row.e-row--no-gutters{margin:0}.e-row.e-row--no-gutters>.e-col{padding:0}.e-col{padding:.75rem}.text-shadow{text-shadow:0 0 4px rgb(0 0 0 / 75%)}.text-drop-shadow{filter:drop-shadow(0 0 5px #0009)}.hover-filter-drop{filter:drop-shadow(0 0 4px rgba(255,255,255,.67))}select{background-image:none!important}.player-progress-tooltip-shadow[data-v-92f9461c]{text-shadow:0 0 4px rgba(0,0,0,.75)}.img-shadow{box-shadow:#0000 0 0,#0000 0 0,#0000004a 0 20px 25px -5px,#00000069 0 8px 10px -6px}.e-transform-0[data-v-3fb6736d]{transform-origin:0 0}.image-player-overlay{position:absolute;left:50%;top:50%;width:52px;height:52px;z-index:19;margin-left:-26px;margin-top:-26px;background:rgba(0,0,0,.5);border-radius:26px;-webkit-animation:overlay-fadeout .5s linear 1 normal forwards;animation:overlay-fadeout .5s linear 1 normal forwards;pointer-events:none}.image-player-overlay__wrapper{height:40px;width:40px}.image-player-overlay__wrapper>path{fill:#fff}@-webkit-keyframes overlay-fadeout{0%{opacity:1}to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}@keyframes overlay-fadeout{0%{opacity:1}to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}.spinner-container[data-v-207d017d]{position:absolute;background:linear-gradient(to top,rgba(0,0,0,.65),transparent);inset:0;display:flex;justify-content:center;align-items:center;vertical-align:middle}.video-container[data-v-207d017d]{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;margin:0 auto}.video-container.full-screen[data-v-207d017d]{max-width:initial;width:100%;max-height:100vh}video[data-v-207d017d]{width:100%;height:inherit}.video-controls-container[data-v-207d017d]{position:absolute;bottom:0;left:0;right:0;color:#fff;z-index:100;opacity:0;transition:opacity .15s ease-in-out}.hide[data-v-207d017d]{display:none}.video-controls-container[data-v-207d017d]:before{content:"";position:absolute;bottom:0;background:linear-gradient(to top,rgba(0,0,0,.75),transparent);width:100%;aspect-ratio:6 / 1;z-index:-1;pointer-events:none}.video-container:hover .video-controls-container[data-v-207d017d],.video-container:focus-within .video-controls-container[data-v-207d017d],.video-container.paused .video-controls-container[data-v-207d017d]{opacity:1}.video-controls-container .controls[data-v-207d017d]{display:flex;gap:.5rem;padding:.75rem 1rem;align-items:center;width:100%}.video-controls-container .controls button[data-v-207d017d]{background:none;border:none;color:inherit;padding:0;height:32px;width:32px;font-size:1.35rem;cursor:pointer;opacity:.85;transition:opacity .15s ease-in-out}.video-controls-container .controls button[data-v-207d017d]:hover{opacity:1}.duration-container[data-v-207d017d]{display:flex;align-items:center;gap:.25rem;flex-grow:1}.video-container.captions .captions-btn[data-v-207d017d]{border-bottom:3px solid red}.video-controls-container .controls button.wide-btn[data-v-207d017d]{width:50px}.timeline-container[data-v-207d017d]{width:100%;height:7px;margin-inline:.5rem;cursor:pointer;display:flex;align-items:center}.timeline[data-v-207d017d]{background-color:#64646480;height:3px;width:100%;position:relative}.timeline[data-v-207d017d]:before{content:"";position:absolute;left:0;top:0;bottom:0;right:calc(100% - var(--preview-position) * 100%);background-color:#969696;display:none}.timeline[data-v-207d017d]:after{content:"";position:absolute;left:0;top:0;bottom:0;right:calc(100% - var(--progress-position) * 100%);background-color:red}.timeline .thumb-indicator[data-v-207d017d]{--scale: 0;position:absolute;transform:translate(-50%) scale(var(--scale));height:200%;top:-50%;left:calc(var(--progress-position) * 100%);background-color:red;border-radius:50%;transition:transform .15s ease-in-out;aspect-ratio:1 / 1}.video-container.scrubbing .thumbnail-img[data-v-207d017d]{display:block}.video-container.scrubbing .timeline[data-v-207d017d]:before,.timeline-container:hover .timeline[data-v-207d017d]:before{display:block}.video-container.scrubbing .thumb-indicator[data-v-207d017d],.timeline-container:hover .thumb-indicator[data-v-207d017d]{--scale: 1}.video-container.scrubbing .timeline[data-v-207d017d],.timeline-container:hover .timeline[data-v-207d017d]{height:100%}.e-tl-milestone{position:absolute;border-radius:10em;box-sizing:border-box}.e-tl-milestone-content{cursor:pointer}.e-tl-milestone--bullet{transform:translate(-50%,-50%)}.e-tl-milestone--bullet .e-tl-milestone-content{opacity:0;width:0;height:0;white-space:nowrap;pointer-events:none;cursor:pointer}.e-tl-milestone--bullet.e-tl-milestone--hovered{cursor:pointer;min-height:26px;padding:0 8px;border-radius:.5em}.e-tl-milestone--bullet.e-tl-milestone--hovered .e-tl-milestone-content{opacity:1;font-size:small;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.e-tl-milestone--bullet .e-tl-milestone-label{position:absolute;top:0;left:0;opacity:1;pointer-events:none;height:100%;width:100%}.e-tl-milestone--bullet.e-tl-milestone--hovered .e-tl-milestone-label{opacity:0}.e-tl-milestone--dot{transform:translateY(-50%)}.e-tl-milestone-dot--hovered .e-tl-milestone-dot-container{padding:0 3em;transform:translate(-50%);opacity:1}.e-tl-milestone-dot-line{position:absolute}.e-tl-milestone-dot-dot{position:absolute;border-radius:50%}.e-tl-milestone-dot-container{opacity:0;position:absolute;padding:0 .3em;transform:translate(-50%,-100%);cursor:pointer}.e-timeline svg{display:block}.e-timeline .x-axis-overview .domain,.e-timeline .x-axis-detailed .domain,.e-timeline .x-axis-overviewBackground .domain,.e-timeline .x-axis-detailedBackground .domain{display:none}.e-timeline .x-axis-detailedBackground .domain,.e-timeline .x-axis-detailedBackground text{display:none}.e-timeline .x-axis-overview>g.tick>line{opacity:.1;stroke-width:3;stroke-linecap:round}.e-timeline .x-axis-detailed>g.tick>line{opacity:.1;stroke-linecap:round}.e-timeline .x-axis-detailedBackground>g.tick>line{opacity:.075;stroke-linecap:round}.e-timeline--dark .tick line{stroke:#fff}.e-timeline--dark .tick text{fill:#fff}@keyframes moveGradient{0%{transform:translate(-50%)}to{transform:translate(100%)}}@keyframes pulse-rect{0%{filter:saturate(3.5) drop-shadow(0 0 1px #0008)}50%{filter:saturate(.5) drop-shadow(0 0 0 #0000)}to{filter:saturate(3.5) drop-shadow(0 0 1px #0008)}}@keyframes pulse-circle{0%{r:4px}50%{r:1px}to{r:4px}}.loading-indicator{animation:moveGradient 1.5s ease-in infinite}.line-graph-dot--active{animation:pulse-circle 1s ease-in-out infinite}.event-rect--hovered{animation:pulse-rect 1s ease-in-out infinite}@keyframes dash{0%{filter:saturate(1) drop-shadow(0 0 0 #0000)}50%{stroke-width:2px;filter:saturate(2.5) drop-shadow(0 0 0 #0006)}to{filter:saturate(1) drop-shadow(0 0 0 #0000)}}.line-graph-group--highlighted path{animation:dash 1s ease-in-out infinite}.e-timeline--dragging{cursor:ew-resize}.curtain{cursor:ew-resize;fill:#3332;stroke-width:1px;stroke:#3338;transition:stroke-width .2s}.e-timeline--dragging .curtain{stroke-width:3px}.e-timeline--dark .curtain{fill:#fff3;stroke:#fff7}.event-bar-hover-zone{cursor:pointer}.external-labels-container{position:absolute;top:-1.5em;left:0}.external-label{margin-right:.35em;border-width:.5px;border-radius:.2em}.external-label__content{cursor:pointer;font-size:.8em;font-weight:500;padding:0 .6em;line-height:1.4em}.marker-label{transition:transform .2s;transform:translateY(-32px);position:absolute;width:max-content}.marker-label-text{position:absolute;width:max-content;font-size:.8em;font-weight:500;padding:0 .75em;border-radius:.4em .4em .4em 0;box-shadow:0 0 5px -1px #000000f5}.marker-label-text:after{content:"";background:inherit;width:5px;height:5px;bottom:-5px;position:absolute;left:2px;clip-path:path("M 0,5 L 0,0 L 5,0 A 5,5 0 0 0 0,5")}.marker-label-text:before{content:"";background:inherit;height:20px;top:18px;position:absolute;width:2px;left:0}.marker{top:0;filter:saturate(.9)}.marker-line{position:absolute;width:2px;top:-24px;transition:top .2s,height .2s}.marker:hover{cursor:pointer;opacity:1;filter:saturate(1.1)}.marker:hover .marker-label{transform:translateY(-38px);height:61px;width:255px;padding-bottom:42px}.marker:hover .marker-label-text{box-shadow:2px 2px 11px -4px #000}.marker--hidden:hover .marker-label{transform:translateY(-54px)}.marker--draggable,.marker--draggable:hover{user-select:none;cursor:grab}.marker--dragged:hover{cursor:grabbing}.forbidden-interval{opacity:.2}.e-timeline-milestones{height:0}.video-embed[data-v-0ecf4a71]{position:relative;width:100%!important;padding-bottom:56.25%}.video-embed iframe[data-v-0ecf4a71]{position:absolute;top:0;left:0;width:100%;height:100%}
1
+ .e-spinner[data-v-29711f67]{vertical-align:center}.e-spinner__primary[data-v-29711f67],.e-spinner__secondary[data-v-29711f67]{stroke-width:0;animation:fade-29711f67;animation-iteration-count:infinite}@keyframes fade-29711f67{0%{fill-opacity:0}50%{fill-opacity:1}to{fill-opacity:0}}.e-row.e-row--no-gutters{margin:0}.e-row.e-row--no-gutters>.e-col{padding:0}.e-col{padding:.75rem}.spinner-container[data-v-9071f674]{position:absolute;background:linear-gradient(to top,rgba(0,0,0,.65),transparent);inset:0;display:flex;justify-content:center;align-items:center;vertical-align:middle}.video-container[data-v-9071f674]{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;margin:0 auto}.video-container.full-screen[data-v-9071f674]{max-width:initial;width:100%;max-height:100vh}video[data-v-9071f674]{width:100%;height:inherit}.video-controls-container[data-v-9071f674]{position:absolute;bottom:0;left:0;right:0;color:#fff;z-index:100;opacity:0;transition:opacity .15s ease-in-out}.hide[data-v-9071f674]{display:none}.video-controls-container[data-v-9071f674]:before{content:"";position:absolute;bottom:0;background:linear-gradient(to top,rgba(0,0,0,.75),transparent);width:100%;aspect-ratio:6 / 1;z-index:-1;pointer-events:none}.video-container:hover .video-controls-container[data-v-9071f674],.video-container:focus-within .video-controls-container[data-v-9071f674],.video-container.paused .video-controls-container[data-v-9071f674]{opacity:1}.video-controls-container .controls[data-v-9071f674]{display:flex;gap:.5rem;padding:.75rem 1rem;align-items:center;width:100%}.video-controls-container .controls button[data-v-9071f674]{background:none;border:none;color:inherit;padding:0;height:32px;width:32px;font-size:1.35rem;cursor:pointer;opacity:.85;transition:opacity .15s ease-in-out}.video-controls-container .controls button[data-v-9071f674]:hover{opacity:1}.duration-container[data-v-9071f674]{display:flex;align-items:center;gap:.25rem;flex-grow:1}.video-container.captions .captions-btn[data-v-9071f674]{border-bottom:3px solid red}.video-controls-container .controls button.wide-btn[data-v-9071f674]{width:50px}.timeline-container[data-v-9071f674]{width:100%;height:7px;margin-inline:.5rem;cursor:pointer;display:flex;align-items:center}.timeline[data-v-9071f674]{background-color:#64646480;height:3px;width:100%;position:relative}.timeline[data-v-9071f674]:before{content:"";position:absolute;left:0;top:0;bottom:0;right:calc(100% - var(--preview-position) * 100%);background-color:#969696;display:none}.timeline[data-v-9071f674]:after{content:"";position:absolute;left:0;top:0;bottom:0;right:calc(100% - var(--progress-position) * 100%);background-color:red}.timeline .thumb-indicator[data-v-9071f674]{--scale: 0;position:absolute;transform:translate(-50%) scale(var(--scale));height:200%;top:-50%;left:calc(var(--progress-position) * 100%);background-color:red;border-radius:50%;transition:transform .15s ease-in-out;aspect-ratio:1 / 1}.video-container.scrubbing .thumbnail-img[data-v-9071f674]{display:block}.video-container.scrubbing .timeline[data-v-9071f674]:before,.timeline-container:hover .timeline[data-v-9071f674]:before{display:block}.video-container.scrubbing .thumb-indicator[data-v-9071f674],.timeline-container:hover .thumb-indicator[data-v-9071f674]{--scale: 1}.video-container.scrubbing .timeline[data-v-9071f674],.timeline-container:hover .timeline[data-v-9071f674]{height:100%}.e-tl-milestone{position:absolute;border-radius:10em;box-sizing:border-box}.e-tl-milestone-content{cursor:pointer}.e-tl-milestone--bullet{transform:translate(-50%,-50%)}.e-tl-milestone--bullet .e-tl-milestone-content{opacity:0;width:0;height:0;white-space:nowrap;pointer-events:none;cursor:pointer}.e-tl-milestone--bullet.e-tl-milestone--hovered{cursor:pointer;min-height:26px;padding:0 8px;border-radius:.5em}.e-tl-milestone--bullet.e-tl-milestone--hovered .e-tl-milestone-content{opacity:1;font-size:small;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.e-tl-milestone--bullet .e-tl-milestone-label{position:absolute;top:0;left:0;opacity:1;pointer-events:none;height:100%;width:100%}.e-tl-milestone--bullet.e-tl-milestone--hovered .e-tl-milestone-label{opacity:0}.e-tl-milestone--dot{transform:translateY(-50%)}.e-tl-milestone-dot--hovered .e-tl-milestone-dot-container{padding:0 3em;transform:translate(-50%);opacity:1}.e-tl-milestone-dot-line{position:absolute}.e-tl-milestone-dot-dot{position:absolute;border-radius:50%}.e-tl-milestone-dot-container{opacity:0;position:absolute;padding:0 .3em;transform:translate(-50%,-100%);cursor:pointer}.e-timeline svg{display:block}.e-timeline .x-axis-overview .domain,.e-timeline .x-axis-detailed .domain,.e-timeline .x-axis-overviewBackground .domain,.e-timeline .x-axis-detailedBackground .domain{display:none}.e-timeline .x-axis-detailedBackground .domain,.e-timeline .x-axis-detailedBackground text{display:none}.e-timeline .x-axis-overview>g.tick>line{opacity:.1;stroke-width:3;stroke-linecap:round}.e-timeline .x-axis-detailed>g.tick>line{opacity:.1;stroke-linecap:round}.e-timeline .x-axis-detailedBackground>g.tick>line{opacity:.075;stroke-linecap:round}.e-timeline--dark .tick line{stroke:#fff}.e-timeline--dark .tick text{fill:#fff}@keyframes moveGradient{0%{transform:translate(-50%)}to{transform:translate(100%)}}@keyframes pulse-rect{0%{filter:saturate(3.5) drop-shadow(0 0 1px #0008)}50%{filter:saturate(.5) drop-shadow(0 0 0 #0000)}to{filter:saturate(3.5) drop-shadow(0 0 1px #0008)}}@keyframes pulse-circle{0%{r:4px}50%{r:1px}to{r:4px}}.loading-indicator{animation:moveGradient 1.5s ease-in infinite}.line-graph-dot--active{animation:pulse-circle 1s ease-in-out infinite}.event-rect--hovered{animation:pulse-rect 1s ease-in-out infinite}@keyframes dash{0%{filter:saturate(1) drop-shadow(0 0 0 #0000)}50%{stroke-width:2px;filter:saturate(2.5) drop-shadow(0 0 0 #0006)}to{filter:saturate(1) drop-shadow(0 0 0 #0000)}}.line-graph-group--highlighted path{animation:dash 1s ease-in-out infinite}.e-timeline--dragging{cursor:ew-resize}.curtain{cursor:ew-resize;fill:#3332;stroke-width:1px;stroke:#3338;transition:stroke-width .2s}.e-timeline--dragging .curtain{stroke-width:3px}.e-timeline--dark .curtain{fill:#fff3;stroke:#fff7}.event-bar-hover-zone{cursor:pointer}.external-labels-container{position:absolute;top:-1.5em;left:0}.external-label{margin-right:.35em;border-width:.5px;border-radius:.2em}.external-label__content{cursor:pointer;font-size:.8em;font-weight:500;padding:0 .6em;line-height:1.4em}.marker-label{transition:transform .2s;transform:translateY(-32px);position:absolute;width:max-content}.marker-label-text{position:absolute;width:max-content;font-size:.8em;font-weight:500;padding:0 .75em;border-radius:.4em .4em .4em 0;box-shadow:0 0 5px -1px #000000f5}.marker-label-text:after{content:"";background:inherit;width:5px;height:5px;bottom:-5px;position:absolute;left:2px;clip-path:path("M 0,5 L 0,0 L 5,0 A 5,5 0 0 0 0,5")}.marker-label-text:before{content:"";background:inherit;height:20px;top:18px;position:absolute;width:2px;left:0}.marker{top:0;filter:saturate(.9)}.marker-line{position:absolute;width:2px;top:-24px;transition:top .2s,height .2s}.marker:hover{cursor:pointer;opacity:1;filter:saturate(1.1)}.marker:hover .marker-label{transform:translateY(-38px);height:61px;width:255px;padding-bottom:42px}.marker:hover .marker-label-text{box-shadow:2px 2px 11px -4px #000}.marker--hidden:hover .marker-label{transform:translateY(-54px)}.marker--draggable,.marker--draggable:hover{user-select:none;cursor:grab}.marker--dragged:hover{cursor:grabbing}.forbidden-interval{opacity:.2}.e-timeline-milestones{height:0}.video-embed[data-v-0ecf4a71]{position:relative;width:100%!important;padding-bottom:56.25%}.video-embed iframe[data-v-0ecf4a71]{position:absolute;top:0;left:0;width:100%;height:100%}.e-heatmap-bar__label{white-space:nowrap;width:6rem;min-width:6rem}.e-heatmap-bar__item{height:16px;margin:2px;position:relative;cursor:pointer;border-radius:2px;min-width:0}.e-heatmap-bar__item:hover{box-shadow:0 0 0 1.5px #5c6d97}.e-heatmap-bar__item--selected{box-shadow:0 0 0 2px #151e3a}.e-heatmap-bar__item__count{font-size:12px;color:#fff;font-weight:500}.e-heatmap-bar__item__count--light{color:#0a214bbd}.e-heatmap-bar__item__name{position:absolute;top:-25px}.e-heatmap-bar:not(.e-heatmap-bar--dense) .e-heatmap-bar__item{min-width:35px}