@evercam/ui 0.0.53 → 0.0.54
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/attributes.json +44 -1
- package/dist/index.mjs +19358 -2055
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +27 -2
- package/dist/index.umd.js.map +1 -1
- package/dist/src/components/ETimeline.vue.d.ts +54 -7
- package/dist/src/components/ETimelineMilestone.vue.d.ts +39 -0
- package/dist/src/components/EVideoPlayer.vue.d.ts +6 -1
- package/dist/src/index.d.ts +58 -7
- package/dist/src/types.d.ts +17 -2
- package/dist/style.css +1 -1
- package/dist/tags.json +11 -2
- package/dist/web-types.json +84 -3
- package/package.json +6 -2
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as d3 from "d3";
|
|
2
2
|
import { D3ZoomEvent } from "d3";
|
|
3
3
|
import Vue from "vue";
|
|
4
|
-
import { TimelineAxesConfig, TimelineAxis, TimelineCountEvent, TimelineEvent, TimelineEventsByType, TimelineIntervalChangeTrigger, TimelineMarker, TimelinePrecision, TimelineTicksConfig, Timestamp } from '../types';
|
|
4
|
+
import { TimelineAxesConfig, TimelineAxis, TimelineCountEvent, TimelineEvent, TimelineEventsByType, TimelineEventsGroup, TimelineIntervalChangeTrigger, TimelineMarker, TimelinePrecision, TimelineTicksConfig, Timestamp } from '../types';
|
|
5
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>>, {
|
|
6
6
|
tooltip: HTMLElement;
|
|
7
7
|
cursor: HTMLElement;
|
|
8
8
|
timeline: HTMLElement;
|
|
9
|
+
wrapperDiv: HTMLElement;
|
|
9
10
|
selectedTimestampCursor: HTMLElement;
|
|
10
11
|
svg: d3.Selection<SVGSVGElement, any, any, any>;
|
|
11
12
|
axesContainer: d3.Selection<SVGGElement, any, any, any>;
|
|
@@ -55,6 +56,10 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
55
56
|
position: number;
|
|
56
57
|
isHidden: boolean;
|
|
57
58
|
}>;
|
|
59
|
+
markersDragBehavior: d3.DragBehavior<HTMLElement, TimelineMarker, any>;
|
|
60
|
+
initialMarkerDragMouseOffset: number;
|
|
61
|
+
selectedMilestoneId: any;
|
|
62
|
+
isInitialized: boolean;
|
|
58
63
|
}, {
|
|
59
64
|
initTimeline(startDate?: string, endDate?: string): void;
|
|
60
65
|
initRefs(): void;
|
|
@@ -66,8 +71,10 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
66
71
|
initYScale(): void;
|
|
67
72
|
updateYScaleDomain(): void;
|
|
68
73
|
initZoomBehavior(): void;
|
|
74
|
+
zoomToFitMarkers(): void;
|
|
75
|
+
translateMarkersIntoView(minTimestamp: number, maxTimestamp: number, scaleFactor: number): void;
|
|
69
76
|
initSelectedTimestampCursor(): void;
|
|
70
|
-
|
|
77
|
+
updateMarkers(): void;
|
|
71
78
|
updateAndRedrawTimeline(): void;
|
|
72
79
|
clearTimeline(): void;
|
|
73
80
|
repositionSelectedTimestampCursor(): void;
|
|
@@ -83,7 +90,7 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
83
90
|
handleResize({ contentRect }: ResizeObserverEntry): void;
|
|
84
91
|
handleDarkModeChange(): void;
|
|
85
92
|
handleMouseDown(): void;
|
|
86
|
-
handleDocumentMouseUp(): void;
|
|
93
|
+
handleDocumentMouseUp(e: MouseEvent): void;
|
|
87
94
|
handleMouseLeave(): void;
|
|
88
95
|
handleMouseMove(event: MouseEvent): void;
|
|
89
96
|
handleClick(event: MouseEvent): void;
|
|
@@ -95,7 +102,7 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
95
102
|
handleLabelMouseOver(groupType: string): void;
|
|
96
103
|
handleLabelMouseLeave(groupType: string): void;
|
|
97
104
|
handleZoom(event: D3ZoomEvent<SVGSVGElement, any>): void;
|
|
98
|
-
panToTimestamp(targetTimestamp: string): void;
|
|
105
|
+
panToTimestamp(targetTimestamp: string | Date): void;
|
|
99
106
|
emitCurtainChange(): void;
|
|
100
107
|
calculateDateRangeFromCurtains(): {
|
|
101
108
|
startDate: Date;
|
|
@@ -115,7 +122,18 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
115
122
|
getEventRectX(d: TimelineEvent): any;
|
|
116
123
|
getEventRectWidth(d: TimelineEvent): number;
|
|
117
124
|
getEventText(e: TimelineEvent): string;
|
|
125
|
+
getElementLeftPosition(element: HTMLElement): number;
|
|
126
|
+
isTimestampAllowedForMarker(timestamp: any, marker: TimelineMarker): boolean;
|
|
127
|
+
handleMarkerDrag({ marker, markerElement, dragEvent, }: {
|
|
128
|
+
marker: TimelineMarker;
|
|
129
|
+
markerElement: d3.Selection<any, TimelineMarker, any, any>;
|
|
130
|
+
dragEvent: d3.D3DragEvent<any, TimelineMarker, any>;
|
|
131
|
+
}): void;
|
|
132
|
+
removeMarkersDragBehavior(): void;
|
|
133
|
+
initMarkersDragBehavior(): void;
|
|
118
134
|
initCurtains(): void;
|
|
135
|
+
initForbiddenIntervals(): void;
|
|
136
|
+
updateForbiddenIntervals(): void;
|
|
119
137
|
drawEventsGroups(): void;
|
|
120
138
|
drawLineGraphEventsGroups(): void;
|
|
121
139
|
drawLineGraph({ events, gElement, color, type, }: {
|
|
@@ -130,7 +148,22 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
130
148
|
color: string;
|
|
131
149
|
type: string;
|
|
132
150
|
}): void;
|
|
151
|
+
drawSingleBarEventsGroup({ type, eventsGroup, index, milestone, height, }: {
|
|
152
|
+
type: string;
|
|
153
|
+
eventsGroup: TimelineEventsGroup;
|
|
154
|
+
index?: number | undefined;
|
|
155
|
+
milestone?: boolean | undefined;
|
|
156
|
+
height?: number | undefined;
|
|
157
|
+
}): void;
|
|
133
158
|
drawBarEventsGroups(): void;
|
|
159
|
+
drawMilestonesPlaceholder(): void;
|
|
160
|
+
getMilestoneClass(milestone: TimelineEvent): Record<string, boolean>;
|
|
161
|
+
getMilestoneColors(milestoneColor: string | undefined, groupColor: string): {
|
|
162
|
+
background: string;
|
|
163
|
+
border: string;
|
|
164
|
+
};
|
|
165
|
+
getMilestoneGroupYPosition(groupName: string): number;
|
|
166
|
+
updateMilestonesPositions(): void;
|
|
134
167
|
drawBarChartEventsGroups(): void;
|
|
135
168
|
drawProgressIndicator({ yPosition, type, isLoading, }: {
|
|
136
169
|
yPosition: number;
|
|
@@ -138,10 +171,11 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
138
171
|
color: string;
|
|
139
172
|
isLoading: Boolean | undefined;
|
|
140
173
|
}): void;
|
|
141
|
-
drawBackground({ color, yPosition, gElement, }: {
|
|
174
|
+
drawBackground({ color, yPosition, gElement, height, }: {
|
|
142
175
|
gElement: d3.Selection<SVGGElement, any, any, any>;
|
|
143
176
|
yPosition: number;
|
|
144
177
|
color: string;
|
|
178
|
+
height?: number | undefined;
|
|
145
179
|
}): void;
|
|
146
180
|
drawBars({ events, gElement, yPosition, color, type, }: {
|
|
147
181
|
events: TimelineEvent[];
|
|
@@ -160,12 +194,13 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
160
194
|
}): void;
|
|
161
195
|
onBarChartBarMouseOver(container: d3.Selection<SVGGElement, any, any, any>, color: string): void;
|
|
162
196
|
onBarChartBarMouseOut(container: d3.Selection<SVGGElement, any, any, any>, eventType: string): void;
|
|
163
|
-
drawTextLabel({ gElement, yPosition, color, label, type, }: {
|
|
197
|
+
drawTextLabel({ gElement, yPosition, color, label, type, height, }: {
|
|
164
198
|
gElement: d3.Selection<SVGGElement, any, any, any>;
|
|
165
199
|
yPosition: number;
|
|
166
200
|
color: string;
|
|
167
201
|
label: string;
|
|
168
202
|
type: string;
|
|
203
|
+
height?: number | undefined;
|
|
169
204
|
}): void;
|
|
170
205
|
getTextFillColor(baseColor: string, k?: number): string;
|
|
171
206
|
getLabelBackgroundColor(baseColor: string): string;
|
|
@@ -178,6 +213,10 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
178
213
|
getExternalLabelWrapperStyles(type: string): {
|
|
179
214
|
borderColor: string;
|
|
180
215
|
};
|
|
216
|
+
getMarkerClass(marker: TimelineMarker): {
|
|
217
|
+
"marker--hidden": boolean;
|
|
218
|
+
"marker--draggable": boolean | undefined;
|
|
219
|
+
};
|
|
181
220
|
getMarkerContainerStyle(marker: TimelineMarker): Record<string, string>;
|
|
182
221
|
getMarkerLabelStyle(marker: TimelineMarker): Record<string, string>;
|
|
183
222
|
getMarkerLineStyle(marker: TimelineMarker): Record<string, string>;
|
|
@@ -189,10 +228,11 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
189
228
|
};
|
|
190
229
|
getFormattedTimestamp(timestamp: Timestamp): string;
|
|
191
230
|
fillTimeGaps(events: TimelineEvent[]): (import('../types').TimelineBarEvent | import('../types').TimelineRangeEvent | TimelineCountEvent | {
|
|
192
|
-
timestamp:
|
|
231
|
+
timestamp: string;
|
|
193
232
|
count: number;
|
|
194
233
|
})[];
|
|
195
234
|
fillEvents(events: TimelineEvent[]): TimelineEvent[];
|
|
235
|
+
onMilestoneClick(milestone: TimelineEvent, milestoneType: string): void;
|
|
196
236
|
}, {
|
|
197
237
|
barChartHeight: number;
|
|
198
238
|
classes: Record<string, string | Record<string, boolean>>;
|
|
@@ -200,6 +240,7 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
200
240
|
chartHeight: number;
|
|
201
241
|
barGroups: TimelineEventsByType;
|
|
202
242
|
barChartGroups: TimelineEventsByType;
|
|
243
|
+
milestonesGroups: TimelineEventsByType;
|
|
203
244
|
hasChart: boolean;
|
|
204
245
|
labelRectWidth: number;
|
|
205
246
|
combinedXAxesHeight: number;
|
|
@@ -236,6 +277,8 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
236
277
|
chartMinHeight: number;
|
|
237
278
|
minZoom: number;
|
|
238
279
|
maxZoom: number;
|
|
280
|
+
minDate: string;
|
|
281
|
+
maxDate: string;
|
|
239
282
|
cursorTimestamp: string | undefined;
|
|
240
283
|
selectedClass: string | undefined;
|
|
241
284
|
panOnDateClick: boolean;
|
|
@@ -244,5 +287,9 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
244
287
|
autoResize: boolean;
|
|
245
288
|
markers: TimelineMarker[];
|
|
246
289
|
stickyMarkers: boolean;
|
|
290
|
+
fitMarkersOnChange: boolean;
|
|
291
|
+
fitMarkersTransitionDuration: number;
|
|
292
|
+
zoomToBoundariesTransitionDuration: number;
|
|
293
|
+
milestoneBulletSize: number;
|
|
247
294
|
}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin>;
|
|
248
295
|
export default _default;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import Vue from "vue";
|
|
2
|
+
import { TimelineMilestoneEvent } from '../types';
|
|
3
|
+
export declare const milestoneClasses: {
|
|
4
|
+
milestone: string;
|
|
5
|
+
milestoneContent: string;
|
|
6
|
+
milestoneLine: string;
|
|
7
|
+
milestonesContainer: string;
|
|
8
|
+
milestoneHovered: string;
|
|
9
|
+
milestoneSelected: string;
|
|
10
|
+
milestoneLabel: string;
|
|
11
|
+
};
|
|
12
|
+
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>>, {
|
|
13
|
+
milestoneClasses: {
|
|
14
|
+
milestone: string;
|
|
15
|
+
milestoneContent: string;
|
|
16
|
+
milestoneLine: string;
|
|
17
|
+
milestonesContainer: string;
|
|
18
|
+
milestoneHovered: string;
|
|
19
|
+
milestoneSelected: string;
|
|
20
|
+
milestoneLabel: string;
|
|
21
|
+
};
|
|
22
|
+
timeouts: number[];
|
|
23
|
+
}, {
|
|
24
|
+
onMilestoneMouseOver(e: MouseEvent, _milestone: TimelineMilestoneEvent): void;
|
|
25
|
+
onMilestoneMouseLeave(e: MouseEvent, _milestone: TimelineMilestoneEvent): void;
|
|
26
|
+
onMilestoneClick(_e: MouseEvent, milestone: TimelineMilestoneEvent): void;
|
|
27
|
+
}, {
|
|
28
|
+
styles: Record<string, any>;
|
|
29
|
+
contentStyles: Record<string, any>;
|
|
30
|
+
labelStyles: Record<string, any>;
|
|
31
|
+
}, {
|
|
32
|
+
milestone: TimelineMilestoneEvent;
|
|
33
|
+
size: number;
|
|
34
|
+
borderColor: string;
|
|
35
|
+
backgroundColor: string;
|
|
36
|
+
borderWidth: number;
|
|
37
|
+
transitionDuration: number;
|
|
38
|
+
}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin>;
|
|
39
|
+
export default _default;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import Hls from "hls.js";
|
|
1
2
|
import Vue from "vue";
|
|
2
3
|
export type VideoSource = {
|
|
3
4
|
type: string;
|
|
@@ -18,12 +19,13 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
18
19
|
isFinished: boolean;
|
|
19
20
|
isLoading: boolean;
|
|
20
21
|
isError: boolean;
|
|
22
|
+
player: Hls;
|
|
21
23
|
}, {
|
|
24
|
+
initHls(): void;
|
|
22
25
|
handle404Error(): void;
|
|
23
26
|
bindEvents(): void;
|
|
24
27
|
unbindEvents(): void;
|
|
25
28
|
bindVideoEvent(which: string): void;
|
|
26
|
-
unbindVideoEvent(which: string): void;
|
|
27
29
|
initializePlayer(): void;
|
|
28
30
|
destroyPlayer(): void;
|
|
29
31
|
removeFullscreenListeners(): void;
|
|
@@ -56,5 +58,8 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
56
58
|
sources: string | VideoSource[];
|
|
57
59
|
videoListeners: {};
|
|
58
60
|
videoOptions: {};
|
|
61
|
+
isHls: boolean;
|
|
62
|
+
streamingToken: string;
|
|
63
|
+
isLiveView: boolean;
|
|
59
64
|
}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin>;
|
|
60
65
|
export default _default;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -132,12 +132,13 @@ export declare const components: {
|
|
|
132
132
|
isFinished: boolean;
|
|
133
133
|
isLoading: boolean;
|
|
134
134
|
isError: boolean;
|
|
135
|
+
player: import("hls.js").default;
|
|
135
136
|
}, {
|
|
137
|
+
initHls(): void;
|
|
136
138
|
handle404Error(): void;
|
|
137
139
|
bindEvents(): void;
|
|
138
140
|
unbindEvents(): void;
|
|
139
141
|
bindVideoEvent(which: string): void;
|
|
140
|
-
unbindVideoEvent(which: string): void;
|
|
141
142
|
initializePlayer(): void;
|
|
142
143
|
destroyPlayer(): void;
|
|
143
144
|
removeFullscreenListeners(): void;
|
|
@@ -170,11 +171,15 @@ export declare const components: {
|
|
|
170
171
|
sources: string | import('./components/EVideoPlayer.vue').VideoSource[];
|
|
171
172
|
videoListeners: {};
|
|
172
173
|
videoOptions: {};
|
|
174
|
+
isHls: boolean;
|
|
175
|
+
streamingToken: string;
|
|
176
|
+
isLiveView: boolean;
|
|
173
177
|
}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin>;
|
|
174
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>>, {
|
|
175
179
|
tooltip: HTMLElement;
|
|
176
180
|
cursor: HTMLElement;
|
|
177
181
|
timeline: HTMLElement;
|
|
182
|
+
wrapperDiv: HTMLElement;
|
|
178
183
|
selectedTimestampCursor: HTMLElement;
|
|
179
184
|
svg: import("d3-selection").Selection<SVGSVGElement, any, any, any>;
|
|
180
185
|
axesContainer: import("d3-selection").Selection<SVGGElement, any, any, any>;
|
|
@@ -224,6 +229,10 @@ export declare const components: {
|
|
|
224
229
|
position: number;
|
|
225
230
|
isHidden: boolean;
|
|
226
231
|
}>;
|
|
232
|
+
markersDragBehavior: import("d3-drag").DragBehavior<HTMLElement, import('./types').TimelineMarker, any>;
|
|
233
|
+
initialMarkerDragMouseOffset: number;
|
|
234
|
+
selectedMilestoneId: any;
|
|
235
|
+
isInitialized: boolean;
|
|
227
236
|
}, {
|
|
228
237
|
initTimeline(startDate?: string | undefined, endDate?: string | undefined): void;
|
|
229
238
|
initRefs(): void;
|
|
@@ -235,8 +244,10 @@ export declare const components: {
|
|
|
235
244
|
initYScale(): void;
|
|
236
245
|
updateYScaleDomain(): void;
|
|
237
246
|
initZoomBehavior(): void;
|
|
247
|
+
zoomToFitMarkers(): void;
|
|
248
|
+
translateMarkersIntoView(minTimestamp: number, maxTimestamp: number, scaleFactor: number): void;
|
|
238
249
|
initSelectedTimestampCursor(): void;
|
|
239
|
-
|
|
250
|
+
updateMarkers(): void;
|
|
240
251
|
updateAndRedrawTimeline(): void;
|
|
241
252
|
clearTimeline(): void;
|
|
242
253
|
repositionSelectedTimestampCursor(): void;
|
|
@@ -252,7 +263,7 @@ export declare const components: {
|
|
|
252
263
|
handleResize({ contentRect }: ResizeObserverEntry): void;
|
|
253
264
|
handleDarkModeChange(): void;
|
|
254
265
|
handleMouseDown(): void;
|
|
255
|
-
handleDocumentMouseUp(): void;
|
|
266
|
+
handleDocumentMouseUp(e: MouseEvent): void;
|
|
256
267
|
handleMouseLeave(): void;
|
|
257
268
|
handleMouseMove(event: MouseEvent): void;
|
|
258
269
|
handleClick(event: MouseEvent): void;
|
|
@@ -264,7 +275,7 @@ export declare const components: {
|
|
|
264
275
|
handleLabelMouseOver(groupType: string): void;
|
|
265
276
|
handleLabelMouseLeave(groupType: string): void;
|
|
266
277
|
handleZoom(event: import("d3-zoom").D3ZoomEvent<SVGSVGElement, any>): void;
|
|
267
|
-
panToTimestamp(targetTimestamp: string): void;
|
|
278
|
+
panToTimestamp(targetTimestamp: string | Date): void;
|
|
268
279
|
emitCurtainChange(): void;
|
|
269
280
|
calculateDateRangeFromCurtains(): {
|
|
270
281
|
startDate: Date;
|
|
@@ -284,7 +295,18 @@ export declare const components: {
|
|
|
284
295
|
getEventRectX(d: import('./types').TimelineEvent): any;
|
|
285
296
|
getEventRectWidth(d: import('./types').TimelineEvent): number;
|
|
286
297
|
getEventText(e: import('./types').TimelineEvent): string;
|
|
298
|
+
getElementLeftPosition(element: HTMLElement): number;
|
|
299
|
+
isTimestampAllowedForMarker(timestamp: any, marker: import('./types').TimelineMarker): boolean;
|
|
300
|
+
handleMarkerDrag({ marker, markerElement, dragEvent, }: {
|
|
301
|
+
marker: import('./types').TimelineMarker;
|
|
302
|
+
markerElement: import("d3-selection").Selection<any, import('./types').TimelineMarker, any, any>;
|
|
303
|
+
dragEvent: import("d3-drag").D3DragEvent<any, import('./types').TimelineMarker, any>;
|
|
304
|
+
}): void;
|
|
305
|
+
removeMarkersDragBehavior(): void;
|
|
306
|
+
initMarkersDragBehavior(): void;
|
|
287
307
|
initCurtains(): void;
|
|
308
|
+
initForbiddenIntervals(): void;
|
|
309
|
+
updateForbiddenIntervals(): void;
|
|
288
310
|
drawEventsGroups(): void;
|
|
289
311
|
drawLineGraphEventsGroups(): void;
|
|
290
312
|
drawLineGraph({ events, gElement, color, type, }: {
|
|
@@ -299,7 +321,22 @@ export declare const components: {
|
|
|
299
321
|
color: string;
|
|
300
322
|
type: string;
|
|
301
323
|
}): void;
|
|
324
|
+
drawSingleBarEventsGroup({ type, eventsGroup, index, milestone, height, }: {
|
|
325
|
+
type: string;
|
|
326
|
+
eventsGroup: import('./types').TimelineEventsGroup;
|
|
327
|
+
index?: number | undefined;
|
|
328
|
+
milestone?: boolean | undefined;
|
|
329
|
+
height?: number | undefined;
|
|
330
|
+
}): void;
|
|
302
331
|
drawBarEventsGroups(): void;
|
|
332
|
+
drawMilestonesPlaceholder(): void;
|
|
333
|
+
getMilestoneClass(milestone: import('./types').TimelineEvent): Record<string, boolean>;
|
|
334
|
+
getMilestoneColors(milestoneColor: string | undefined, groupColor: string): {
|
|
335
|
+
background: string;
|
|
336
|
+
border: string;
|
|
337
|
+
};
|
|
338
|
+
getMilestoneGroupYPosition(groupName: string): number;
|
|
339
|
+
updateMilestonesPositions(): void;
|
|
303
340
|
drawBarChartEventsGroups(): void;
|
|
304
341
|
drawProgressIndicator({ yPosition, type, isLoading, }: {
|
|
305
342
|
yPosition: number;
|
|
@@ -307,10 +344,11 @@ export declare const components: {
|
|
|
307
344
|
color: string;
|
|
308
345
|
isLoading: Boolean | undefined;
|
|
309
346
|
}): void;
|
|
310
|
-
drawBackground({ color, yPosition, gElement, }: {
|
|
347
|
+
drawBackground({ color, yPosition, gElement, height, }: {
|
|
311
348
|
gElement: import("d3-selection").Selection<SVGGElement, any, any, any>;
|
|
312
349
|
yPosition: number;
|
|
313
350
|
color: string;
|
|
351
|
+
height?: number | undefined;
|
|
314
352
|
}): void;
|
|
315
353
|
drawBars({ events, gElement, yPosition, color, type, }: {
|
|
316
354
|
events: import('./types').TimelineEvent[];
|
|
@@ -329,12 +367,13 @@ export declare const components: {
|
|
|
329
367
|
}): void;
|
|
330
368
|
onBarChartBarMouseOver(container: import("d3-selection").Selection<SVGGElement, any, any, any>, color: string): void;
|
|
331
369
|
onBarChartBarMouseOut(container: import("d3-selection").Selection<SVGGElement, any, any, any>, eventType: string): void;
|
|
332
|
-
drawTextLabel({ gElement, yPosition, color, label, type, }: {
|
|
370
|
+
drawTextLabel({ gElement, yPosition, color, label, type, height, }: {
|
|
333
371
|
gElement: import("d3-selection").Selection<SVGGElement, any, any, any>;
|
|
334
372
|
yPosition: number;
|
|
335
373
|
color: string;
|
|
336
374
|
label: string;
|
|
337
375
|
type: string;
|
|
376
|
+
height?: number | undefined;
|
|
338
377
|
}): void;
|
|
339
378
|
getTextFillColor(baseColor: string, k?: number): string;
|
|
340
379
|
getLabelBackgroundColor(baseColor: string): string;
|
|
@@ -347,6 +386,10 @@ export declare const components: {
|
|
|
347
386
|
getExternalLabelWrapperStyles(type: string): {
|
|
348
387
|
borderColor: string;
|
|
349
388
|
};
|
|
389
|
+
getMarkerClass(marker: import('./types').TimelineMarker): {
|
|
390
|
+
"marker--hidden": boolean;
|
|
391
|
+
"marker--draggable": boolean | undefined;
|
|
392
|
+
};
|
|
350
393
|
getMarkerContainerStyle(marker: import('./types').TimelineMarker): Record<string, string>;
|
|
351
394
|
getMarkerLabelStyle(marker: import('./types').TimelineMarker): Record<string, string>;
|
|
352
395
|
getMarkerLineStyle(marker: import('./types').TimelineMarker): Record<string, string>;
|
|
@@ -358,10 +401,11 @@ export declare const components: {
|
|
|
358
401
|
};
|
|
359
402
|
getFormattedTimestamp(timestamp: import('./types').Timestamp): string;
|
|
360
403
|
fillTimeGaps(events: import('./types').TimelineEvent[]): (import('./types').TimelineBarEvent | import('./types').TimelineRangeEvent | import('./types').TimelineCountEvent | {
|
|
361
|
-
timestamp:
|
|
404
|
+
timestamp: string;
|
|
362
405
|
count: number;
|
|
363
406
|
})[];
|
|
364
407
|
fillEvents(events: import('./types').TimelineEvent[]): import('./types').TimelineEvent[];
|
|
408
|
+
onMilestoneClick(milestone: import('./types').TimelineEvent, milestoneType: string): void;
|
|
365
409
|
}, {
|
|
366
410
|
barChartHeight: number;
|
|
367
411
|
classes: Record<string, string | Record<string, boolean>>;
|
|
@@ -369,6 +413,7 @@ export declare const components: {
|
|
|
369
413
|
chartHeight: number;
|
|
370
414
|
barGroups: import('./types').TimelineEventsByType;
|
|
371
415
|
barChartGroups: import('./types').TimelineEventsByType;
|
|
416
|
+
milestonesGroups: import('./types').TimelineEventsByType;
|
|
372
417
|
hasChart: boolean;
|
|
373
418
|
labelRectWidth: number;
|
|
374
419
|
combinedXAxesHeight: number;
|
|
@@ -405,6 +450,8 @@ export declare const components: {
|
|
|
405
450
|
chartMinHeight: number;
|
|
406
451
|
minZoom: number;
|
|
407
452
|
maxZoom: number;
|
|
453
|
+
minDate: string;
|
|
454
|
+
maxDate: string;
|
|
408
455
|
cursorTimestamp: string | undefined;
|
|
409
456
|
selectedClass: string | undefined;
|
|
410
457
|
panOnDateClick: boolean;
|
|
@@ -413,6 +460,10 @@ export declare const components: {
|
|
|
413
460
|
autoResize: boolean;
|
|
414
461
|
markers: import('./types').TimelineMarker[];
|
|
415
462
|
stickyMarkers: boolean;
|
|
463
|
+
fitMarkersOnChange: boolean;
|
|
464
|
+
fitMarkersTransitionDuration: number;
|
|
465
|
+
zoomToBoundariesTransitionDuration: number;
|
|
466
|
+
milestoneBulletSize: number;
|
|
416
467
|
}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin>;
|
|
417
468
|
EVideoEmbed: import("vue").DefineComponent<{
|
|
418
469
|
videoUrl: {
|
package/dist/src/types.d.ts
CHANGED
|
@@ -67,11 +67,21 @@ export type TimelineCountEvent = {
|
|
|
67
67
|
className?: string;
|
|
68
68
|
[key: string]: any;
|
|
69
69
|
};
|
|
70
|
-
export type
|
|
70
|
+
export type TimelineMilestoneEvent = {
|
|
71
|
+
timestamp: string | Date;
|
|
72
|
+
color?: string;
|
|
73
|
+
className?: string;
|
|
74
|
+
text?: string;
|
|
75
|
+
milestoneType: string;
|
|
76
|
+
size?: number;
|
|
77
|
+
[key: string]: any;
|
|
78
|
+
};
|
|
79
|
+
export type TimelineEvent = TimelineBarEvent | TimelineRangeEvent | TimelineCountEvent | TimelineMilestoneEvent;
|
|
71
80
|
export declare enum TimelineChartType {
|
|
72
81
|
bars = "bars",
|
|
73
82
|
lineGraph = "lineGraph",
|
|
74
|
-
barChart = "barGraph"
|
|
83
|
+
barChart = "barGraph",
|
|
84
|
+
milestones = "milestones"
|
|
75
85
|
}
|
|
76
86
|
export type TimelineEventsGroup = {
|
|
77
87
|
label: string;
|
|
@@ -81,6 +91,7 @@ export type TimelineEventsGroup = {
|
|
|
81
91
|
isHidden?: Boolean;
|
|
82
92
|
chartType?: TimelineChartType;
|
|
83
93
|
events: Array<TimelineEvent>;
|
|
94
|
+
height?: number;
|
|
84
95
|
};
|
|
85
96
|
export type TimelineEventsByType = {
|
|
86
97
|
[eventsType: string]: TimelineEventsGroup;
|
|
@@ -96,7 +107,11 @@ export type TimelineMarker = {
|
|
|
96
107
|
label: string;
|
|
97
108
|
color: string;
|
|
98
109
|
textColor?: string;
|
|
110
|
+
className?: string;
|
|
99
111
|
id: string | number;
|
|
112
|
+
isDraggable?: boolean;
|
|
113
|
+
minDate?: string;
|
|
114
|
+
maxDate?: string;
|
|
100
115
|
};
|
|
101
116
|
declare const _default: {};
|
|
102
117
|
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}.spinner-container[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-160e835f]{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-160e835f]{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;margin:0 auto}.video-container.full-screen[data-v-160e835f]{max-width:initial;width:100%;max-height:100vh}video[data-v-160e835f]{width:100%;height:inherit}.video-controls-container[data-v-160e835f]{position:absolute;bottom:0;left:0;right:0;color:#fff;z-index:100;opacity:0;transition:opacity .15s ease-in-out}.hide[data-v-160e835f]{display:none}.video-controls-container[data-v-160e835f]: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-160e835f],.video-container:focus-within .video-controls-container[data-v-160e835f],.video-container.paused .video-controls-container[data-v-160e835f]{opacity:1}.video-controls-container .controls[data-v-160e835f]{display:flex;gap:.5rem;padding:.75rem 1rem;align-items:center;width:100%}.video-controls-container .controls button[data-v-160e835f]{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-160e835f]:hover{opacity:1}.duration-container[data-v-160e835f]{display:flex;align-items:center;gap:.25rem;flex-grow:1}.video-container.captions .captions-btn[data-v-160e835f]{border-bottom:3px solid red}.video-controls-container .controls button.wide-btn[data-v-160e835f]{width:50px}.timeline-container[data-v-160e835f]{width:100%;height:7px;margin-inline:.5rem;cursor:pointer;display:flex;align-items:center}.timeline[data-v-160e835f]{background-color:#64646480;height:3px;width:100%;position:relative}.timeline[data-v-160e835f]: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-160e835f]: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-160e835f]{--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-160e835f]{display:block}.video-container.scrubbing .timeline[data-v-160e835f]:before,.timeline-container:hover .timeline[data-v-160e835f]:before{display:block}.video-container.scrubbing .thumb-indicator[data-v-160e835f],.timeline-container:hover .thumb-indicator[data-v-160e835f]{--scale: 1}.video-container.scrubbing .timeline[data-v-160e835f],.timeline-container:hover .timeline[data-v-160e835f]{height:100%}.e-tl-milestone{position:absolute;border-radius:10em;box-sizing:border-box}.e-tl-milestone-content{opacity:0;width:0;height:0;white-space:nowrap;pointer-events:none}.e-tl-milestone--hovered{cursor:pointer;min-height:26px;padding:0 8px;border-radius:.5em}.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-label{position:absolute;top:0;left:0;opacity:1;pointer-events:none;height:100%;width:100%}.e-tl-milestone--hovered .e-tl-milestone-label{opacity:0}.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%}
|
package/dist/tags.json
CHANGED
|
@@ -72,7 +72,10 @@
|
|
|
72
72
|
"attributes": [
|
|
73
73
|
"sources",
|
|
74
74
|
"video-listeners",
|
|
75
|
-
"video-options"
|
|
75
|
+
"video-options",
|
|
76
|
+
"is-hls",
|
|
77
|
+
"streaming-token",
|
|
78
|
+
"is-live-view"
|
|
76
79
|
],
|
|
77
80
|
"description": ""
|
|
78
81
|
},
|
|
@@ -97,6 +100,8 @@
|
|
|
97
100
|
"chart-min-height",
|
|
98
101
|
"min-zoom",
|
|
99
102
|
"max-zoom",
|
|
103
|
+
"min-date",
|
|
104
|
+
"max-date",
|
|
100
105
|
"cursor-timestamp",
|
|
101
106
|
"selected-class",
|
|
102
107
|
"pan-on-date-click",
|
|
@@ -104,7 +109,11 @@
|
|
|
104
109
|
"selected-date",
|
|
105
110
|
"auto-resize",
|
|
106
111
|
"markers",
|
|
107
|
-
"sticky-markers"
|
|
112
|
+
"sticky-markers",
|
|
113
|
+
"fit-markers-on-change",
|
|
114
|
+
"fit-markers-transition-duration",
|
|
115
|
+
"zoom-to-boundaries-transition-duration",
|
|
116
|
+
"milestone-bullet-size"
|
|
108
117
|
],
|
|
109
118
|
"description": ""
|
|
110
119
|
}
|
package/dist/web-types.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json.schemastore.org/web-types",
|
|
3
3
|
"framework": "vue",
|
|
4
4
|
"name": "@evercam/ui",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.54",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
8
8
|
"types-syntax": "typescript",
|
|
@@ -511,6 +511,33 @@
|
|
|
511
511
|
"kind": "expression",
|
|
512
512
|
"type": "object"
|
|
513
513
|
}
|
|
514
|
+
},
|
|
515
|
+
{
|
|
516
|
+
"name": "is-hls",
|
|
517
|
+
"doc-url": "https://www.npmjs.com/package/@evercam/ui",
|
|
518
|
+
"default": "false",
|
|
519
|
+
"value": {
|
|
520
|
+
"kind": "expression",
|
|
521
|
+
"type": "boolean"
|
|
522
|
+
}
|
|
523
|
+
},
|
|
524
|
+
{
|
|
525
|
+
"name": "streaming-token",
|
|
526
|
+
"doc-url": "https://www.npmjs.com/package/@evercam/ui",
|
|
527
|
+
"default": "",
|
|
528
|
+
"value": {
|
|
529
|
+
"kind": "expression",
|
|
530
|
+
"type": "string"
|
|
531
|
+
}
|
|
532
|
+
},
|
|
533
|
+
{
|
|
534
|
+
"name": "is-live-view",
|
|
535
|
+
"doc-url": "https://www.npmjs.com/package/@evercam/ui",
|
|
536
|
+
"default": "false",
|
|
537
|
+
"value": {
|
|
538
|
+
"kind": "expression",
|
|
539
|
+
"type": "boolean"
|
|
540
|
+
}
|
|
514
541
|
}
|
|
515
542
|
]
|
|
516
543
|
},
|
|
@@ -535,7 +562,7 @@
|
|
|
535
562
|
{
|
|
536
563
|
"name": "x-axes-config",
|
|
537
564
|
"doc-url": "https://www.npmjs.com/package/@evercam/ui",
|
|
538
|
-
"default": "() =>
|
|
565
|
+
"default": "() => Ah",
|
|
539
566
|
"value": {
|
|
540
567
|
"kind": "expression",
|
|
541
568
|
"type": "object"
|
|
@@ -694,6 +721,24 @@
|
|
|
694
721
|
"type": "number"
|
|
695
722
|
}
|
|
696
723
|
},
|
|
724
|
+
{
|
|
725
|
+
"name": "min-date",
|
|
726
|
+
"doc-url": "https://www.npmjs.com/package/@evercam/ui",
|
|
727
|
+
"default": "undefined",
|
|
728
|
+
"value": {
|
|
729
|
+
"kind": "expression",
|
|
730
|
+
"type": "string"
|
|
731
|
+
}
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
"name": "max-date",
|
|
735
|
+
"doc-url": "https://www.npmjs.com/package/@evercam/ui",
|
|
736
|
+
"default": "undefined",
|
|
737
|
+
"value": {
|
|
738
|
+
"kind": "expression",
|
|
739
|
+
"type": "string"
|
|
740
|
+
}
|
|
741
|
+
},
|
|
697
742
|
{
|
|
698
743
|
"name": "cursor-timestamp",
|
|
699
744
|
"doc-url": "https://www.npmjs.com/package/@evercam/ui",
|
|
@@ -730,7 +775,7 @@
|
|
|
730
775
|
{
|
|
731
776
|
"name": "pan-transition-duration",
|
|
732
777
|
"doc-url": "https://www.npmjs.com/package/@evercam/ui",
|
|
733
|
-
"default": "
|
|
778
|
+
"default": "800",
|
|
734
779
|
"value": {
|
|
735
780
|
"kind": "expression",
|
|
736
781
|
"type": "number"
|
|
@@ -771,6 +816,42 @@
|
|
|
771
816
|
"kind": "expression",
|
|
772
817
|
"type": "boolean"
|
|
773
818
|
}
|
|
819
|
+
},
|
|
820
|
+
{
|
|
821
|
+
"name": "fit-markers-on-change",
|
|
822
|
+
"doc-url": "https://www.npmjs.com/package/@evercam/ui",
|
|
823
|
+
"default": "false",
|
|
824
|
+
"value": {
|
|
825
|
+
"kind": "expression",
|
|
826
|
+
"type": "boolean"
|
|
827
|
+
}
|
|
828
|
+
},
|
|
829
|
+
{
|
|
830
|
+
"name": "fit-markers-transition-duration",
|
|
831
|
+
"doc-url": "https://www.npmjs.com/package/@evercam/ui",
|
|
832
|
+
"default": "800",
|
|
833
|
+
"value": {
|
|
834
|
+
"kind": "expression",
|
|
835
|
+
"type": "number"
|
|
836
|
+
}
|
|
837
|
+
},
|
|
838
|
+
{
|
|
839
|
+
"name": "zoom-to-boundaries-transition-duration",
|
|
840
|
+
"doc-url": "https://www.npmjs.com/package/@evercam/ui",
|
|
841
|
+
"default": "0",
|
|
842
|
+
"value": {
|
|
843
|
+
"kind": "expression",
|
|
844
|
+
"type": "number"
|
|
845
|
+
}
|
|
846
|
+
},
|
|
847
|
+
{
|
|
848
|
+
"name": "milestone-bullet-size",
|
|
849
|
+
"doc-url": "https://www.npmjs.com/package/@evercam/ui",
|
|
850
|
+
"default": "18",
|
|
851
|
+
"value": {
|
|
852
|
+
"kind": "expression",
|
|
853
|
+
"type": "number"
|
|
854
|
+
}
|
|
774
855
|
}
|
|
775
856
|
]
|
|
776
857
|
},
|