@evercam/ui 0.0.55-beta.11 → 0.0.55-beta.12

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,111 +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
- }, {}, {
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>>, {
228
122
  playing: boolean;
229
123
  percentagePlayed: number;
230
124
  videoLength: string;
@@ -239,16 +133,9 @@ export declare const components: {
239
133
  isLoading: boolean;
240
134
  isError: boolean;
241
135
  player: import("hls.js").default;
242
- playbackRetries: number;
243
- }, {
244
- sourceItems(): import('./components/EVideoPlayer.vue').VideoSource[];
245
- hasStartedOrFinished(): boolean;
246
- withControls(): "" | "hide";
247
136
  }, {
248
137
  initHls(): void;
249
- onContainerClick(): void;
250
138
  handle404Error(): void;
251
- handleHlsError(_: import("hls.js").Events.ERROR, data: import("hls.js").ErrorData): void;
252
139
  bindEvents(): void;
253
140
  unbindEvents(): void;
254
141
  bindVideoEvent(which: string): void;
@@ -261,9 +148,9 @@ export declare const components: {
261
148
  handleScrubbingOnMouseEnd(e: MouseEvent): void;
262
149
  handleEnded(): void;
263
150
  handleLoading(): void;
264
- play(): Promise<void>;
151
+ play(): void;
265
152
  pause(): void;
266
- togglePlay(): Promise<void>;
153
+ togglePlay(): void;
267
154
  setPlaying(state: boolean): void;
268
155
  seekToPercentage(percentage: number): void;
269
156
  convertTimeToDuration(seconds: number): string;
@@ -276,139 +163,18 @@ export declare const components: {
276
163
  skip(duration?: number): void;
277
164
  toggleScrubbing(e: MouseEvent): Promise<void>;
278
165
  handleKeyDown(e: KeyboardEvent): void;
279
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
280
- targetTimestamp: {
281
- type: (StringConstructor | DateConstructor)[];
282
- default: undefined;
283
- };
284
- sources: {
285
- type: import("vue").PropType<string | import('./components/EVideoPlayer.vue').VideoSource[]>;
286
- required: true;
287
- };
288
- videoListeners: {
289
- type: import("vue").PropType<Partial<HTMLVideoElement>>;
290
- default: () => {};
291
- };
292
- videoOptions: {
293
- type: import("vue").PropType<Partial<HTMLVideoElement>>;
294
- default: () => {};
295
- };
296
- isHls: {
297
- type: BooleanConstructor;
298
- default: boolean;
299
- };
300
- streamingToken: {
301
- type: StringConstructor;
302
- default: string;
303
- };
304
- isLiveView: {
305
- type: BooleanConstructor;
306
- default: boolean;
307
- };
308
- pauseOnClick: {
309
- type: BooleanConstructor;
310
- default: boolean;
311
- };
312
- isHlsLoading: {
313
- type: BooleanConstructor;
314
- default: boolean;
315
- };
316
- isPlaying: {
317
- type: BooleanConstructor;
318
- default: boolean;
319
- };
320
- preloadedInterval: {
321
- type: import("vue").PropType<{
322
- start: string;
323
- end: string;
324
- }>;
325
- default: () => {};
326
- };
327
- selectedResolution: {
328
- type: import("vue").PropType<import('./components/EVideoPlayer.vue').EdgeVideoResolution | undefined>;
329
- default: undefined;
330
- };
331
- isLive: {
332
- type: BooleanConstructor;
333
- default: boolean;
334
- };
335
- isZoomable: {
336
- type: BooleanConstructor;
337
- default: boolean;
338
- };
339
- zoomableIgnorePointerEvents: {
340
- type: BooleanConstructor;
341
- default: boolean;
342
- };
343
- blurBackground: {
344
- type: BooleanConstructor;
345
- default: boolean;
346
- };
347
- isRecordings: {
348
- type: BooleanConstructor;
349
- default: boolean;
350
- };
351
- progressBarEvents: {
352
- type: ArrayConstructor;
353
- default: () => never[];
354
- };
355
- progressBarFrames: {
356
- type: ArrayConstructor;
357
- default: () => never[];
358
- };
359
- progressBarFrameIndex: {
360
- type: NumberConstructor;
361
- default: number;
362
- };
363
- progressBarPreloadedFrames: {
364
- type: ArrayConstructor;
365
- default: () => never[];
366
- };
367
- thumbnailsUrls: {
368
- type: import("vue").PropType<string[]>;
369
- default: () => never[];
370
- };
371
- timezone: {
372
- type: StringConstructor;
373
- default: string;
374
- };
375
- playPauseAnimation: {
376
- type: BooleanConstructor;
377
- default: boolean;
378
- };
379
- disablePlayPauseAnimation: {
380
- type: BooleanConstructor;
381
- default: boolean;
382
- };
383
- }>>, {
384
- timezone: string;
385
- isPlaying: boolean;
386
- isLive: boolean;
387
- targetTimestamp: string | Date;
388
- thumbnailsUrls: string[];
389
- selectedResolution: import('./components/EVideoPlayer.vue').EdgeVideoResolution | undefined;
390
- isHlsLoading: boolean;
391
- videoListeners: Partial<HTMLVideoElement>;
392
- 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: {};
393
174
  isHls: boolean;
394
175
  streamingToken: string;
395
176
  isLiveView: boolean;
396
- pauseOnClick: boolean;
397
- preloadedInterval: {
398
- start: string;
399
- end: string;
400
- };
401
- isZoomable: boolean;
402
- zoomableIgnorePointerEvents: boolean;
403
- blurBackground: boolean;
404
- isRecordings: boolean;
405
- progressBarEvents: unknown[];
406
- progressBarFrames: unknown[];
407
- progressBarFrameIndex: number;
408
- progressBarPreloadedFrames: unknown[];
409
- playPauseAnimation: boolean;
410
- disablePlayPauseAnimation: boolean;
411
- }>;
177
+ }, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin>;
412
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>>, {
413
179
  tooltip: HTMLElement;
414
180
  cursor: HTMLElement;
@@ -545,8 +311,7 @@ export declare const components: {
545
311
  initCurtains(): void;
546
312
  createCurtains(): void;
547
313
  updateCurtains(): void;
548
- initForbiddenIntervals(): void;
549
- updateForbiddenIntervals(): void;
314
+ updateForbiddenIntervals(reset?: boolean): void;
550
315
  drawEventsGroups(): void;
551
316
  drawLineGraphEventsGroups(): void;
552
317
  drawLineGraph({ events, gElement, color, type, }: {
@@ -561,14 +326,13 @@ export declare const components: {
561
326
  color: string;
562
327
  type: string;
563
328
  }): void;
564
- drawSingleBarEventsGroup({ type, eventsGroup, index, milestone, height, dots, dotsSize, }: {
329
+ drawSingleBarEventsGroup({ type, eventsGroup, milestone, dots, dotsSize, bottom, }: {
565
330
  type: string;
566
331
  eventsGroup: import('./types').TimelineEventsGroup;
567
- index?: number | undefined;
568
332
  milestone?: boolean | undefined;
569
- height?: number | undefined;
570
333
  dots?: boolean | undefined;
571
334
  dotsSize?: number | undefined;
335
+ bottom?: boolean | undefined;
572
336
  }): void;
573
337
  drawBarEventsGroups(): void;
574
338
  drawMilestonesPlaceholder(): void;
@@ -578,6 +342,8 @@ export declare const components: {
578
342
  border: string;
579
343
  };
580
344
  getMilestoneGroupYPosition(groupName: string): number;
345
+ getBarGroupYPosition(groupName: string, bottom?: boolean | undefined): number;
346
+ getBarGroupHeight(eventsGroup: import('./types').TimelineEventsGroup): number;
581
347
  updateMilestonesPositions(): void;
582
348
  drawBarChartEventsGroups(): void;
583
349
  drawProgressIndicator({ yPosition, type, isLoading, }: {
@@ -592,7 +358,7 @@ export declare const components: {
592
358
  color: string;
593
359
  height?: number | undefined;
594
360
  }): void;
595
- drawBars({ events, gElement, yPosition, color, type, dots, dotsSize, }: {
361
+ drawBars({ events, gElement, yPosition, color, type, dots, dotsSize, height, barBorderRadius, }: {
596
362
  events: import('./types').TimelineEvent[];
597
363
  gElement: import("d3-selection").Selection<SVGGElement, any, any, any>;
598
364
  yPosition: number;
@@ -600,6 +366,8 @@ export declare const components: {
600
366
  type: string;
601
367
  dots?: boolean | undefined;
602
368
  dotsSize?: number | undefined;
369
+ height?: number | undefined;
370
+ barBorderRadius?: number | undefined;
603
371
  }): void;
604
372
  drawBarsChart({ events, gElement, color, yOffset, type, index, }: {
605
373
  events: import('./types').TimelineEvent[];
@@ -653,6 +421,7 @@ export declare const components: {
653
421
  getSortedEvents(events: import('./types').TimelineEvent[]): import('./types').TimelineEvent[];
654
422
  }, {
655
423
  combinedBarsHeight: number;
424
+ combinedBottomBarsHeight: number;
656
425
  combinedMilestonesHeight: number;
657
426
  milestonesYOffset: number;
658
427
  chartsYOffset: number;
@@ -699,12 +468,11 @@ export declare const components: {
699
468
  barYPadding: number;
700
469
  barXPadding: number;
701
470
  chartMinHeight: number;
471
+ chartMinLabelHeight: number;
702
472
  minZoom: number;
703
473
  maxZoom: number;
704
474
  minDate: string;
705
475
  maxDate: string;
706
- minVisibleDate: string;
707
- maxVisibleDate: string;
708
476
  cursorTimestamp: string | undefined;
709
477
  selectedClass: string | undefined;
710
478
  panOnDateClick: boolean;
@@ -718,6 +486,8 @@ export declare const components: {
718
486
  zoomToBoundariesTransitionDuration: number;
719
487
  milestoneBulletSize: number;
720
488
  milestonesFirst: boolean;
489
+ forbiddenIntervals: import('./types').TimelineForbiddenInterval[];
490
+ forbiddenIntervalColor: string;
721
491
  }, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin>;
722
492
  EVideoEmbed: import("vue").DefineComponent<{
723
493
  videoUrl: {
@@ -762,118 +532,12 @@ export declare const components: {
762
532
  iframeListeners: Partial<HTMLIFrameElement>;
763
533
  iframeOptions: Record<string, any>;
764
534
  }>;
765
- EToggleSwitch: import("vue").DefineComponent<{
766
- options: {
767
- type: import("vue").PropType<import('./components/EToggleSwitch.vue').EToggleSwitchOptions[]>;
768
- required: true;
769
- };
770
- color: {
771
- type: import("vue").PropType<"primary" | "brand" | "gray">;
772
- default: string;
773
- };
774
- size: {
775
- type: import("vue").PropType<"lg" | "md" | "sm">;
776
- default: string;
777
- };
778
- defaultValue: {
779
- type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
780
- default: null;
781
- };
782
- }, {}, {
783
- value: any;
784
- }, {}, {
785
- handleClick(value: any): void;
786
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
787
- options: {
788
- type: import("vue").PropType<import('./components/EToggleSwitch.vue').EToggleSwitchOptions[]>;
789
- required: true;
790
- };
791
- color: {
792
- type: import("vue").PropType<"primary" | "brand" | "gray">;
793
- default: string;
794
- };
795
- size: {
796
- type: import("vue").PropType<"lg" | "md" | "sm">;
797
- default: string;
798
- };
799
- defaultValue: {
800
- type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
801
- default: null;
802
- };
803
- }>>, {
804
- color: "primary" | "brand" | "gray";
805
- size: "lg" | "md" | "sm";
806
- defaultValue: string | number | boolean;
807
- }>;
808
- EZoomable: import("vue").DefineComponent<{
809
- ignorePointerEvents: {
810
- type: BooleanConstructor;
811
- default: boolean;
812
- };
813
- withOverlay: {
814
- type: BooleanConstructor;
815
- default: boolean;
816
- };
817
- }, {}, {
818
- scale: number;
819
- minScale: number;
820
- maxScale: number;
821
- top: number;
822
- left: number;
823
- isPanning: boolean;
824
- panStart: {
825
- x: number;
826
- y: number;
827
- };
828
- isPinching: boolean;
829
- previousPinchDistance: number;
830
- pinchDistance: number;
831
- pointers: {};
832
- transform: string;
833
- }, {
834
- contentStyle(): {
835
- transform: string;
836
- };
837
- isZoomed(): boolean;
838
- }, {
839
- updateZoomScale(): void;
840
- handleZoom(e: any): void;
841
- handleMouseDown(e: any): void;
842
- handleMouseUp(): void;
843
- handleMouseLeave(): void;
844
- handleMouseMove(e: any): void;
845
- applyBoundsCorrection(): void;
846
- updateTransform(): void;
847
- getPointersDistance(a: any, b: any): number;
848
- getPointersMidPoint(a: any, b: any): {
849
- x: any;
850
- y: any;
851
- };
852
- updatePointerEvent(e: any): void;
853
- clearPointerEvent(e: any): void;
854
- updatePinchDistance(): void;
855
- handlePointerDown(e: any): void;
856
- handlePointerMove(e: any): void;
857
- handlePointerUp(e: any): void;
858
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
859
- ignorePointerEvents: {
860
- type: BooleanConstructor;
861
- default: boolean;
862
- };
863
- withOverlay: {
864
- type: BooleanConstructor;
865
- default: boolean;
866
- };
867
- }>>, {
868
- ignorePointerEvents: boolean;
869
- withOverlay: boolean;
870
- }>;
871
535
  };
872
536
  declare const _default: {
873
537
  install(Vue: VueConstructor): void;
874
538
  };
875
539
  export default _default;
876
- export { EAvatar, EBadge, EIcon, ESpinner, ERow, ECol, EVideoPlayer, ETimeline, EVideoEmbed, EToggleSwitch, EZoomable, };
540
+ export { EAvatar, EBadge, EIcon, ESpinner, ERow, ECol, EVideoPlayer, ETimeline, EVideoEmbed, };
877
541
  export * from './constants';
878
542
  export * from './types';
879
543
  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];
@@ -105,6 +98,8 @@ export type TimelineEventsGroup = {
105
98
  milestonesDotSize?: number;
106
99
  height?: number;
107
100
  dotsSize?: number;
101
+ bottom?: boolean;
102
+ barBorderRadius?: number;
108
103
  };
109
104
  export type TimelineEventsByType = {
110
105
  [eventsType: string]: TimelineEventsGroup;
@@ -127,5 +122,9 @@ export type TimelineMarker = {
127
122
  maxDate?: string;
128
123
  [key: string]: any;
129
124
  };
125
+ export type TimelineForbiddenInterval = {
126
+ startDate: Date | string | number;
127
+ endDate: Date | string | number;
128
+ };
130
129
  declare const _default: {};
131
130
  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-b64a8d0d]{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-b64a8d0d]{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;margin:0 auto}.video-container.full-screen[data-v-b64a8d0d]{max-width:initial;width:100%;max-height:100vh}video[data-v-b64a8d0d]{width:100%;height:inherit}.video-controls-container[data-v-b64a8d0d]{position:absolute;bottom:0;left:0;right:0;color:#fff;z-index:100;opacity:0;transition:opacity .15s ease-in-out}.hide[data-v-b64a8d0d]{display:none}.video-controls-container[data-v-b64a8d0d]: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-b64a8d0d],.video-container:focus-within .video-controls-container[data-v-b64a8d0d],.video-container.paused .video-controls-container[data-v-b64a8d0d]{opacity:1}.video-controls-container .controls[data-v-b64a8d0d]{display:flex;gap:.5rem;padding:.75rem 1rem;align-items:center;width:100%}.video-controls-container .controls button[data-v-b64a8d0d]{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-b64a8d0d]:hover{opacity:1}.duration-container[data-v-b64a8d0d]{display:flex;align-items:center;gap:.25rem;flex-grow:1}.video-container.captions .captions-btn[data-v-b64a8d0d]{border-bottom:3px solid red}.video-controls-container .controls button.wide-btn[data-v-b64a8d0d]{width:50px}.timeline-container[data-v-b64a8d0d]{width:100%;height:7px;margin-inline:.5rem;cursor:pointer;display:flex;align-items:center}.timeline[data-v-b64a8d0d]{background-color:#64646480;height:3px;width:100%;position:relative}.timeline[data-v-b64a8d0d]: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-b64a8d0d]: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-b64a8d0d]{--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-b64a8d0d]{display:block}.video-container.scrubbing .timeline[data-v-b64a8d0d]:before,.timeline-container:hover .timeline[data-v-b64a8d0d]:before{display:block}.video-container.scrubbing .thumb-indicator[data-v-b64a8d0d],.timeline-container:hover .thumb-indicator[data-v-b64a8d0d]{--scale: 1}.video-container.scrubbing .timeline[data-v-b64a8d0d],.timeline-container:hover .timeline[data-v-b64a8d0d]{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%}