@evercam/ui 0.0.45-beta.7 → 0.0.47-beta.1
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/README.md +47 -47
- package/dist/index.mjs +254 -323
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +2 -2
- package/dist/index.umd.js.map +1 -1
- package/dist/src/components/ETimeline.vue.d.ts +1 -32
- package/dist/src/index.d.ts +19 -63
- package/dist/src/types.d.ts +30 -0
- package/dist/style.css +1 -1
- package/dist/styles.css +3211 -3214
- package/dist/web-types.json +2 -12
- package/package.json +76 -76
- package/dist/src/components/EVideoEmbed.vue.d.ts +0 -45
|
@@ -1,38 +1,7 @@
|
|
|
1
1
|
import * as d3 from "d3";
|
|
2
2
|
import Vue from "vue";
|
|
3
3
|
import { D3ZoomEvent } from "d3";
|
|
4
|
-
import { TimelineAxesConfig, TimelineAxis, TimelineTicksConfig, Timestamp } from '../types';
|
|
5
|
-
export type TimelineBarEvent = {
|
|
6
|
-
timestamp: string | Date;
|
|
7
|
-
color?: string;
|
|
8
|
-
[key: string]: any;
|
|
9
|
-
};
|
|
10
|
-
export type TimelineRangeEvent = {
|
|
11
|
-
startDate: string | Date;
|
|
12
|
-
endDate: string | Date;
|
|
13
|
-
[key: string]: any;
|
|
14
|
-
};
|
|
15
|
-
export type TimelineCountEvent = {
|
|
16
|
-
timestamp: string | Date;
|
|
17
|
-
count: number;
|
|
18
|
-
[key: string]: any;
|
|
19
|
-
};
|
|
20
|
-
export type TimelineEvent = TimelineBarEvent | TimelineRangeEvent | TimelineCountEvent;
|
|
21
|
-
export declare enum TimelineChartType {
|
|
22
|
-
bars = "bars",
|
|
23
|
-
lineGraph = "lineGraph"
|
|
24
|
-
}
|
|
25
|
-
export type TimelineEventsGroup = {
|
|
26
|
-
label: string;
|
|
27
|
-
color: string;
|
|
28
|
-
isLoading?: Boolean;
|
|
29
|
-
isHidden?: Boolean;
|
|
30
|
-
chartType?: TimelineChartType;
|
|
31
|
-
events: Array<TimelineEvent>;
|
|
32
|
-
};
|
|
33
|
-
export type TimelineEventsByType = {
|
|
34
|
-
[eventsType: string]: TimelineEventsGroup;
|
|
35
|
-
};
|
|
4
|
+
import { TimelineAxesConfig, TimelineAxis, TimelineTicksConfig, Timestamp, TimelineCountEvent, TimelineEvent, TimelineEventsByType } from '../types';
|
|
36
5
|
declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => Vue<Record<string, any>, Record<string, any>, never, never, any>>, {
|
|
37
6
|
tooltip: HTMLElement;
|
|
38
7
|
cursor: HTMLElement;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -6,7 +6,6 @@ import ERow from './components/ERow.vue';
|
|
|
6
6
|
import ECol from './components/ECol.vue';
|
|
7
7
|
import EVideoPlayer from './components/EVideoPlayer.vue';
|
|
8
8
|
import ETimeline from './components/ETimeline.vue';
|
|
9
|
-
import EVideoEmbed from './components/EVideoEmbed.vue';
|
|
10
9
|
import { VueConstructor } from "vue";
|
|
11
10
|
export declare const components: {
|
|
12
11
|
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>>, {
|
|
@@ -187,7 +186,7 @@ export declare const components: {
|
|
|
187
186
|
axisHeight: number;
|
|
188
187
|
eventGroupPadding: number;
|
|
189
188
|
isHoveringEvent: boolean;
|
|
190
|
-
hoveredEvent: import('./
|
|
189
|
+
hoveredEvent: import('./types').TimelineEvent;
|
|
191
190
|
isHoveringTimeline: boolean;
|
|
192
191
|
hoveredTimestamp: string;
|
|
193
192
|
eventTooltipStyle: {};
|
|
@@ -244,9 +243,9 @@ export declare const components: {
|
|
|
244
243
|
handleMouseLeave(): void;
|
|
245
244
|
handleMouseMove(event: MouseEvent): void;
|
|
246
245
|
handleClick(event: MouseEvent): void;
|
|
247
|
-
handleLineMouseOver(_event: MouseEvent, eventData: import('./
|
|
246
|
+
handleLineMouseOver(_event: MouseEvent, eventData: import('./types').TimelineCountEvent, eventType: string): void;
|
|
248
247
|
handleLineMouseOut(): void;
|
|
249
|
-
handleBarMouseOver(_event: MouseEvent, eventData: import('./
|
|
248
|
+
handleBarMouseOver(_event: MouseEvent, eventData: import('./types').TimelineEvent, eventType: string): void;
|
|
250
249
|
handleBarMouseOut(): void;
|
|
251
250
|
handleLabelMouseOver(groupType: string): void;
|
|
252
251
|
handleLabelMouseLeave(groupType: string): void;
|
|
@@ -267,19 +266,19 @@ export declare const components: {
|
|
|
267
266
|
updateBarCharts(): void;
|
|
268
267
|
updateLineGraphs(): void;
|
|
269
268
|
updateLineGraphHoverZones(): void;
|
|
270
|
-
getEventRectX(d: import('./
|
|
271
|
-
getEventRectWidth(d: import('./
|
|
269
|
+
getEventRectX(d: import('./types').TimelineEvent): any;
|
|
270
|
+
getEventRectWidth(d: import('./types').TimelineEvent): number;
|
|
272
271
|
initCurtains(): void;
|
|
273
272
|
drawEventsGroups(): void;
|
|
274
273
|
drawLineGraphEventsGroups(): void;
|
|
275
274
|
drawLineGraph({ events, gElement, color, type, }: {
|
|
276
|
-
events: import('./
|
|
275
|
+
events: import('./types').TimelineEvent[];
|
|
277
276
|
gElement: import("d3-selection").Selection<SVGGElement, any, any, any>;
|
|
278
277
|
color: string;
|
|
279
278
|
type: string;
|
|
280
279
|
}): void;
|
|
281
280
|
drawLineGraphHoverZones({ events, gElement, color, type, }: {
|
|
282
|
-
events: import('./
|
|
281
|
+
events: import('./types').TimelineCountEvent[];
|
|
283
282
|
gElement: import("d3-selection").Selection<SVGGElement, any, any, any>;
|
|
284
283
|
color: string;
|
|
285
284
|
type: string;
|
|
@@ -297,7 +296,7 @@ export declare const components: {
|
|
|
297
296
|
color: string;
|
|
298
297
|
}): void;
|
|
299
298
|
drawBars({ events, gElement, yPosition, color, type, }: {
|
|
300
|
-
events: import('./
|
|
299
|
+
events: import('./types').TimelineEvent[];
|
|
301
300
|
gElement: import("d3-selection").Selection<SVGGElement, any, any, any>;
|
|
302
301
|
yPosition: number;
|
|
303
302
|
color: string;
|
|
@@ -318,24 +317,24 @@ export declare const components: {
|
|
|
318
317
|
endDate: string;
|
|
319
318
|
};
|
|
320
319
|
getFormattedTimestamp(timestamp: import('./types').Timestamp): string;
|
|
321
|
-
fillTimeGaps(events: import('./
|
|
322
|
-
getNormalizedEvents(events: import('./
|
|
320
|
+
fillTimeGaps(events: import('./types').TimelineEvent[]): import('./types').TimelineEvent[];
|
|
321
|
+
getNormalizedEvents(events: import('./types').TimelineEvent[]): import('./types').TimelineEvent[];
|
|
323
322
|
}, {
|
|
324
323
|
classes: Record<string, string | Record<string, boolean>>;
|
|
325
|
-
lineGraphGroups: import('./
|
|
324
|
+
lineGraphGroups: import('./types').TimelineEventsByType;
|
|
326
325
|
lineGraphChartHeight: number;
|
|
327
|
-
barGroups: import('./
|
|
326
|
+
barGroups: import('./types').TimelineEventsByType;
|
|
328
327
|
hasLineGraphChart: boolean;
|
|
329
328
|
labelRectWidth: number;
|
|
330
329
|
combinedXAxesHeight: number;
|
|
331
330
|
timelineHeight: number;
|
|
332
|
-
filteredEventsGroups: import('./
|
|
333
|
-
allEventsSorted: import('./
|
|
334
|
-
oldestEvent: import('./
|
|
335
|
-
latestEvent: import('./
|
|
331
|
+
filteredEventsGroups: import('./types').TimelineEventsByType;
|
|
332
|
+
allEventsSorted: import('./types').TimelineEvent[];
|
|
333
|
+
oldestEvent: import('./types').TimelineEvent;
|
|
334
|
+
latestEvent: import('./types').TimelineEvent;
|
|
336
335
|
allLineChartTimestamps: string[];
|
|
337
|
-
placeholderLineChartGroup: import('./
|
|
338
|
-
normalizedLineGraphGroups: import('./
|
|
336
|
+
placeholderLineChartGroup: import('./types').TimelineEvent[];
|
|
337
|
+
normalizedLineGraphGroups: import('./types').TimelineEventsByType;
|
|
339
338
|
isInteractingWithCurtain: boolean;
|
|
340
339
|
}, {
|
|
341
340
|
eventsGroups: {};
|
|
@@ -357,55 +356,12 @@ export declare const components: {
|
|
|
357
356
|
maxZoom: number;
|
|
358
357
|
cursorTimestamp: string | undefined;
|
|
359
358
|
}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin>;
|
|
360
|
-
EVideoEmbed: import("vue").DefineComponent<{
|
|
361
|
-
videoUrl: {
|
|
362
|
-
type: StringConstructor;
|
|
363
|
-
required: true;
|
|
364
|
-
};
|
|
365
|
-
platform: {
|
|
366
|
-
type: import("vue").PropType<"youtube" | "vimeo">;
|
|
367
|
-
required: true;
|
|
368
|
-
validator: (value: string) => boolean;
|
|
369
|
-
};
|
|
370
|
-
iframeListeners: {
|
|
371
|
-
type: import("vue").PropType<Partial<HTMLIFrameElement>>;
|
|
372
|
-
default: () => {};
|
|
373
|
-
};
|
|
374
|
-
iframeOptions: {
|
|
375
|
-
type: ObjectConstructor;
|
|
376
|
-
default: () => {};
|
|
377
|
-
};
|
|
378
|
-
}, {}, {}, {
|
|
379
|
-
videoId(): string | undefined;
|
|
380
|
-
embedUrl(): string;
|
|
381
|
-
}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
|
|
382
|
-
videoUrl: {
|
|
383
|
-
type: StringConstructor;
|
|
384
|
-
required: true;
|
|
385
|
-
};
|
|
386
|
-
platform: {
|
|
387
|
-
type: import("vue").PropType<"youtube" | "vimeo">;
|
|
388
|
-
required: true;
|
|
389
|
-
validator: (value: string) => boolean;
|
|
390
|
-
};
|
|
391
|
-
iframeListeners: {
|
|
392
|
-
type: import("vue").PropType<Partial<HTMLIFrameElement>>;
|
|
393
|
-
default: () => {};
|
|
394
|
-
};
|
|
395
|
-
iframeOptions: {
|
|
396
|
-
type: ObjectConstructor;
|
|
397
|
-
default: () => {};
|
|
398
|
-
};
|
|
399
|
-
}>>, {
|
|
400
|
-
iframeListeners: Partial<HTMLIFrameElement>;
|
|
401
|
-
iframeOptions: Record<string, any>;
|
|
402
|
-
}>;
|
|
403
359
|
};
|
|
404
360
|
declare const _default: {
|
|
405
361
|
install(Vue: VueConstructor): void;
|
|
406
362
|
};
|
|
407
363
|
export default _default;
|
|
408
|
-
export { EAvatar, EBadge, EIcon, ESpinner, ERow, ECol, EVideoPlayer, ETimeline
|
|
364
|
+
export { EAvatar, EBadge, EIcon, ESpinner, ERow, ECol, EVideoPlayer, ETimeline };
|
|
409
365
|
export * from './constants';
|
|
410
366
|
export * from './types';
|
|
411
367
|
export * from './utils';
|
package/dist/src/types.d.ts
CHANGED
|
@@ -48,5 +48,35 @@ export type TimelineAxesConfig = {
|
|
|
48
48
|
[key in TimelineAxis]: TimelineTicksConfig[];
|
|
49
49
|
};
|
|
50
50
|
export type Timestamp = Date | string | number;
|
|
51
|
+
export type TimelineBarEvent = {
|
|
52
|
+
timestamp: string | Date;
|
|
53
|
+
[key: string]: any;
|
|
54
|
+
};
|
|
55
|
+
export type TimelineRangeEvent = {
|
|
56
|
+
startDate: string | Date;
|
|
57
|
+
endDate: string | Date;
|
|
58
|
+
[key: string]: any;
|
|
59
|
+
};
|
|
60
|
+
export type TimelineCountEvent = {
|
|
61
|
+
timestamp: string | Date;
|
|
62
|
+
count: number;
|
|
63
|
+
[key: string]: any;
|
|
64
|
+
};
|
|
65
|
+
export type TimelineEvent = TimelineBarEvent | TimelineRangeEvent | TimelineCountEvent;
|
|
66
|
+
export declare enum TimelineChartType {
|
|
67
|
+
bars = "bars",
|
|
68
|
+
lineGraph = "lineGraph"
|
|
69
|
+
}
|
|
70
|
+
export type TimelineEventsGroup = {
|
|
71
|
+
label: string;
|
|
72
|
+
color: string;
|
|
73
|
+
isLoading?: Boolean;
|
|
74
|
+
isHidden?: Boolean;
|
|
75
|
+
chartType?: TimelineChartType;
|
|
76
|
+
events: Array<TimelineEvent>;
|
|
77
|
+
};
|
|
78
|
+
export type TimelineEventsByType = {
|
|
79
|
+
[eventsType: string]: TimelineEventsGroup;
|
|
80
|
+
};
|
|
51
81
|
declare const _default: {};
|
|
52
82
|
export default _default;
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.e-spinner[data-v-
|
|
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-99c9162d]{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-99c9162d]{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;margin:0 auto}.video-container.full-screen[data-v-99c9162d]{max-width:initial;width:100%;max-height:100vh}video[data-v-99c9162d]{width:100%;height:inherit}.video-controls-container[data-v-99c9162d]{position:absolute;bottom:0;left:0;right:0;color:#fff;z-index:100;opacity:0;transition:opacity .15s ease-in-out}.hide[data-v-99c9162d]{display:none}.video-controls-container[data-v-99c9162d]: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-99c9162d],.video-container:focus-within .video-controls-container[data-v-99c9162d],.video-container.paused .video-controls-container[data-v-99c9162d]{opacity:1}.video-controls-container .controls[data-v-99c9162d]{display:flex;gap:.5rem;padding:.75rem 1rem;align-items:center;width:100%}.video-controls-container .controls button[data-v-99c9162d]{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-99c9162d]:hover{opacity:1}.duration-container[data-v-99c9162d]{display:flex;align-items:center;gap:.25rem;flex-grow:1}.video-container.captions .captions-btn[data-v-99c9162d]{border-bottom:3px solid red}.video-controls-container .controls button.wide-btn[data-v-99c9162d]{width:50px}.timeline-container[data-v-99c9162d]{width:100%;height:7px;margin-inline:.5rem;cursor:pointer;display:flex;align-items:center}.timeline[data-v-99c9162d]{background-color:#64646480;height:3px;width:100%;position:relative}.timeline[data-v-99c9162d]: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-99c9162d]: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-99c9162d]{--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-99c9162d]{display:block}.video-container.scrubbing .timeline[data-v-99c9162d]:before,.timeline-container:hover .timeline[data-v-99c9162d]:before{display:block}.video-container.scrubbing .thumb-indicator[data-v-99c9162d],.timeline-container:hover .thumb-indicator[data-v-99c9162d]{--scale: 1}.video-container.scrubbing .timeline[data-v-99c9162d],.timeline-container:hover .timeline[data-v-99c9162d]{height:100%}.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}
|