@evercam/ui 0.0.53-beta.6 → 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 +29 -1
- package/dist/index.mjs +3248 -2810
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +16 -16
- package/dist/index.umd.js.map +1 -1
- package/dist/src/components/ETimeline.vue.d.ts +51 -7
- package/dist/src/components/ETimelineMilestone.vue.d.ts +39 -0
- package/dist/src/components/EVideoPlayer.vue.d.ts +1 -2
- package/dist/src/index.d.ts +50 -7
- package/dist/src/types.d.ts +17 -2
- package/dist/style.css +1 -1
- package/dist/tags.json +7 -1
- package/dist/web-types.json +57 -3
- package/package.json +2 -1
|
@@ -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;
|
|
@@ -180,6 +215,7 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
180
215
|
};
|
|
181
216
|
getMarkerClass(marker: TimelineMarker): {
|
|
182
217
|
"marker--hidden": boolean;
|
|
218
|
+
"marker--draggable": boolean | undefined;
|
|
183
219
|
};
|
|
184
220
|
getMarkerContainerStyle(marker: TimelineMarker): Record<string, string>;
|
|
185
221
|
getMarkerLabelStyle(marker: TimelineMarker): Record<string, string>;
|
|
@@ -192,10 +228,11 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
192
228
|
};
|
|
193
229
|
getFormattedTimestamp(timestamp: Timestamp): string;
|
|
194
230
|
fillTimeGaps(events: TimelineEvent[]): (import('../types').TimelineBarEvent | import('../types').TimelineRangeEvent | TimelineCountEvent | {
|
|
195
|
-
timestamp:
|
|
231
|
+
timestamp: string;
|
|
196
232
|
count: number;
|
|
197
233
|
})[];
|
|
198
234
|
fillEvents(events: TimelineEvent[]): TimelineEvent[];
|
|
235
|
+
onMilestoneClick(milestone: TimelineEvent, milestoneType: string): void;
|
|
199
236
|
}, {
|
|
200
237
|
barChartHeight: number;
|
|
201
238
|
classes: Record<string, string | Record<string, boolean>>;
|
|
@@ -203,6 +240,7 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
203
240
|
chartHeight: number;
|
|
204
241
|
barGroups: TimelineEventsByType;
|
|
205
242
|
barChartGroups: TimelineEventsByType;
|
|
243
|
+
milestonesGroups: TimelineEventsByType;
|
|
206
244
|
hasChart: boolean;
|
|
207
245
|
labelRectWidth: number;
|
|
208
246
|
combinedXAxesHeight: number;
|
|
@@ -239,6 +277,8 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
239
277
|
chartMinHeight: number;
|
|
240
278
|
minZoom: number;
|
|
241
279
|
maxZoom: number;
|
|
280
|
+
minDate: string;
|
|
281
|
+
maxDate: string;
|
|
242
282
|
cursorTimestamp: string | undefined;
|
|
243
283
|
selectedClass: string | undefined;
|
|
244
284
|
panOnDateClick: boolean;
|
|
@@ -247,5 +287,9 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
247
287
|
autoResize: boolean;
|
|
248
288
|
markers: TimelineMarker[];
|
|
249
289
|
stickyMarkers: boolean;
|
|
290
|
+
fitMarkersOnChange: boolean;
|
|
291
|
+
fitMarkersTransitionDuration: number;
|
|
292
|
+
zoomToBoundariesTransitionDuration: number;
|
|
293
|
+
milestoneBulletSize: number;
|
|
250
294
|
}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin>;
|
|
251
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,4 +1,4 @@
|
|
|
1
|
-
import Hls
|
|
1
|
+
import Hls from "hls.js";
|
|
2
2
|
import Vue from "vue";
|
|
3
3
|
export type VideoSource = {
|
|
4
4
|
type: string;
|
|
@@ -23,7 +23,6 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
23
23
|
}, {
|
|
24
24
|
initHls(): void;
|
|
25
25
|
handle404Error(): void;
|
|
26
|
-
handleHlsError(_: Events.ERROR, data: ErrorData): void;
|
|
27
26
|
bindEvents(): void;
|
|
28
27
|
unbindEvents(): void;
|
|
29
28
|
bindVideoEvent(which: string): void;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -136,7 +136,6 @@ export declare const components: {
|
|
|
136
136
|
}, {
|
|
137
137
|
initHls(): void;
|
|
138
138
|
handle404Error(): void;
|
|
139
|
-
handleHlsError(_: import("hls.js").Events.ERROR, data: import("hls.js").ErrorData): void;
|
|
140
139
|
bindEvents(): void;
|
|
141
140
|
unbindEvents(): void;
|
|
142
141
|
bindVideoEvent(which: string): void;
|
|
@@ -180,6 +179,7 @@ export declare const components: {
|
|
|
180
179
|
tooltip: HTMLElement;
|
|
181
180
|
cursor: HTMLElement;
|
|
182
181
|
timeline: HTMLElement;
|
|
182
|
+
wrapperDiv: HTMLElement;
|
|
183
183
|
selectedTimestampCursor: HTMLElement;
|
|
184
184
|
svg: import("d3-selection").Selection<SVGSVGElement, any, any, any>;
|
|
185
185
|
axesContainer: import("d3-selection").Selection<SVGGElement, any, any, any>;
|
|
@@ -229,6 +229,10 @@ export declare const components: {
|
|
|
229
229
|
position: number;
|
|
230
230
|
isHidden: boolean;
|
|
231
231
|
}>;
|
|
232
|
+
markersDragBehavior: import("d3-drag").DragBehavior<HTMLElement, import('./types').TimelineMarker, any>;
|
|
233
|
+
initialMarkerDragMouseOffset: number;
|
|
234
|
+
selectedMilestoneId: any;
|
|
235
|
+
isInitialized: boolean;
|
|
232
236
|
}, {
|
|
233
237
|
initTimeline(startDate?: string | undefined, endDate?: string | undefined): void;
|
|
234
238
|
initRefs(): void;
|
|
@@ -240,8 +244,10 @@ export declare const components: {
|
|
|
240
244
|
initYScale(): void;
|
|
241
245
|
updateYScaleDomain(): void;
|
|
242
246
|
initZoomBehavior(): void;
|
|
247
|
+
zoomToFitMarkers(): void;
|
|
248
|
+
translateMarkersIntoView(minTimestamp: number, maxTimestamp: number, scaleFactor: number): void;
|
|
243
249
|
initSelectedTimestampCursor(): void;
|
|
244
|
-
|
|
250
|
+
updateMarkers(): void;
|
|
245
251
|
updateAndRedrawTimeline(): void;
|
|
246
252
|
clearTimeline(): void;
|
|
247
253
|
repositionSelectedTimestampCursor(): void;
|
|
@@ -257,7 +263,7 @@ export declare const components: {
|
|
|
257
263
|
handleResize({ contentRect }: ResizeObserverEntry): void;
|
|
258
264
|
handleDarkModeChange(): void;
|
|
259
265
|
handleMouseDown(): void;
|
|
260
|
-
handleDocumentMouseUp(): void;
|
|
266
|
+
handleDocumentMouseUp(e: MouseEvent): void;
|
|
261
267
|
handleMouseLeave(): void;
|
|
262
268
|
handleMouseMove(event: MouseEvent): void;
|
|
263
269
|
handleClick(event: MouseEvent): void;
|
|
@@ -269,7 +275,7 @@ export declare const components: {
|
|
|
269
275
|
handleLabelMouseOver(groupType: string): void;
|
|
270
276
|
handleLabelMouseLeave(groupType: string): void;
|
|
271
277
|
handleZoom(event: import("d3-zoom").D3ZoomEvent<SVGSVGElement, any>): void;
|
|
272
|
-
panToTimestamp(targetTimestamp: string): void;
|
|
278
|
+
panToTimestamp(targetTimestamp: string | Date): void;
|
|
273
279
|
emitCurtainChange(): void;
|
|
274
280
|
calculateDateRangeFromCurtains(): {
|
|
275
281
|
startDate: Date;
|
|
@@ -289,7 +295,18 @@ export declare const components: {
|
|
|
289
295
|
getEventRectX(d: import('./types').TimelineEvent): any;
|
|
290
296
|
getEventRectWidth(d: import('./types').TimelineEvent): number;
|
|
291
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;
|
|
292
307
|
initCurtains(): void;
|
|
308
|
+
initForbiddenIntervals(): void;
|
|
309
|
+
updateForbiddenIntervals(): void;
|
|
293
310
|
drawEventsGroups(): void;
|
|
294
311
|
drawLineGraphEventsGroups(): void;
|
|
295
312
|
drawLineGraph({ events, gElement, color, type, }: {
|
|
@@ -304,7 +321,22 @@ export declare const components: {
|
|
|
304
321
|
color: string;
|
|
305
322
|
type: string;
|
|
306
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;
|
|
307
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;
|
|
308
340
|
drawBarChartEventsGroups(): void;
|
|
309
341
|
drawProgressIndicator({ yPosition, type, isLoading, }: {
|
|
310
342
|
yPosition: number;
|
|
@@ -312,10 +344,11 @@ export declare const components: {
|
|
|
312
344
|
color: string;
|
|
313
345
|
isLoading: Boolean | undefined;
|
|
314
346
|
}): void;
|
|
315
|
-
drawBackground({ color, yPosition, gElement, }: {
|
|
347
|
+
drawBackground({ color, yPosition, gElement, height, }: {
|
|
316
348
|
gElement: import("d3-selection").Selection<SVGGElement, any, any, any>;
|
|
317
349
|
yPosition: number;
|
|
318
350
|
color: string;
|
|
351
|
+
height?: number | undefined;
|
|
319
352
|
}): void;
|
|
320
353
|
drawBars({ events, gElement, yPosition, color, type, }: {
|
|
321
354
|
events: import('./types').TimelineEvent[];
|
|
@@ -334,12 +367,13 @@ export declare const components: {
|
|
|
334
367
|
}): void;
|
|
335
368
|
onBarChartBarMouseOver(container: import("d3-selection").Selection<SVGGElement, any, any, any>, color: string): void;
|
|
336
369
|
onBarChartBarMouseOut(container: import("d3-selection").Selection<SVGGElement, any, any, any>, eventType: string): void;
|
|
337
|
-
drawTextLabel({ gElement, yPosition, color, label, type, }: {
|
|
370
|
+
drawTextLabel({ gElement, yPosition, color, label, type, height, }: {
|
|
338
371
|
gElement: import("d3-selection").Selection<SVGGElement, any, any, any>;
|
|
339
372
|
yPosition: number;
|
|
340
373
|
color: string;
|
|
341
374
|
label: string;
|
|
342
375
|
type: string;
|
|
376
|
+
height?: number | undefined;
|
|
343
377
|
}): void;
|
|
344
378
|
getTextFillColor(baseColor: string, k?: number): string;
|
|
345
379
|
getLabelBackgroundColor(baseColor: string): string;
|
|
@@ -354,6 +388,7 @@ export declare const components: {
|
|
|
354
388
|
};
|
|
355
389
|
getMarkerClass(marker: import('./types').TimelineMarker): {
|
|
356
390
|
"marker--hidden": boolean;
|
|
391
|
+
"marker--draggable": boolean | undefined;
|
|
357
392
|
};
|
|
358
393
|
getMarkerContainerStyle(marker: import('./types').TimelineMarker): Record<string, string>;
|
|
359
394
|
getMarkerLabelStyle(marker: import('./types').TimelineMarker): Record<string, string>;
|
|
@@ -366,10 +401,11 @@ export declare const components: {
|
|
|
366
401
|
};
|
|
367
402
|
getFormattedTimestamp(timestamp: import('./types').Timestamp): string;
|
|
368
403
|
fillTimeGaps(events: import('./types').TimelineEvent[]): (import('./types').TimelineBarEvent | import('./types').TimelineRangeEvent | import('./types').TimelineCountEvent | {
|
|
369
|
-
timestamp:
|
|
404
|
+
timestamp: string;
|
|
370
405
|
count: number;
|
|
371
406
|
})[];
|
|
372
407
|
fillEvents(events: import('./types').TimelineEvent[]): import('./types').TimelineEvent[];
|
|
408
|
+
onMilestoneClick(milestone: import('./types').TimelineEvent, milestoneType: string): void;
|
|
373
409
|
}, {
|
|
374
410
|
barChartHeight: number;
|
|
375
411
|
classes: Record<string, string | Record<string, boolean>>;
|
|
@@ -377,6 +413,7 @@ export declare const components: {
|
|
|
377
413
|
chartHeight: number;
|
|
378
414
|
barGroups: import('./types').TimelineEventsByType;
|
|
379
415
|
barChartGroups: import('./types').TimelineEventsByType;
|
|
416
|
+
milestonesGroups: import('./types').TimelineEventsByType;
|
|
380
417
|
hasChart: boolean;
|
|
381
418
|
labelRectWidth: number;
|
|
382
419
|
combinedXAxesHeight: number;
|
|
@@ -413,6 +450,8 @@ export declare const components: {
|
|
|
413
450
|
chartMinHeight: number;
|
|
414
451
|
minZoom: number;
|
|
415
452
|
maxZoom: number;
|
|
453
|
+
minDate: string;
|
|
454
|
+
maxDate: string;
|
|
416
455
|
cursorTimestamp: string | undefined;
|
|
417
456
|
selectedClass: string | undefined;
|
|
418
457
|
panOnDateClick: boolean;
|
|
@@ -421,6 +460,10 @@ export declare const components: {
|
|
|
421
460
|
autoResize: boolean;
|
|
422
461
|
markers: import('./types').TimelineMarker[];
|
|
423
462
|
stickyMarkers: boolean;
|
|
463
|
+
fitMarkersOnChange: boolean;
|
|
464
|
+
fitMarkersTransitionDuration: number;
|
|
465
|
+
zoomToBoundariesTransitionDuration: number;
|
|
466
|
+
milestoneBulletSize: number;
|
|
424
467
|
}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin>;
|
|
425
468
|
EVideoEmbed: import("vue").DefineComponent<{
|
|
426
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
|
@@ -100,6 +100,8 @@
|
|
|
100
100
|
"chart-min-height",
|
|
101
101
|
"min-zoom",
|
|
102
102
|
"max-zoom",
|
|
103
|
+
"min-date",
|
|
104
|
+
"max-date",
|
|
103
105
|
"cursor-timestamp",
|
|
104
106
|
"selected-class",
|
|
105
107
|
"pan-on-date-click",
|
|
@@ -107,7 +109,11 @@
|
|
|
107
109
|
"selected-date",
|
|
108
110
|
"auto-resize",
|
|
109
111
|
"markers",
|
|
110
|
-
"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"
|
|
111
117
|
],
|
|
112
118
|
"description": ""
|
|
113
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",
|
|
@@ -562,7 +562,7 @@
|
|
|
562
562
|
{
|
|
563
563
|
"name": "x-axes-config",
|
|
564
564
|
"doc-url": "https://www.npmjs.com/package/@evercam/ui",
|
|
565
|
-
"default": "() =>
|
|
565
|
+
"default": "() => Ah",
|
|
566
566
|
"value": {
|
|
567
567
|
"kind": "expression",
|
|
568
568
|
"type": "object"
|
|
@@ -721,6 +721,24 @@
|
|
|
721
721
|
"type": "number"
|
|
722
722
|
}
|
|
723
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
|
+
},
|
|
724
742
|
{
|
|
725
743
|
"name": "cursor-timestamp",
|
|
726
744
|
"doc-url": "https://www.npmjs.com/package/@evercam/ui",
|
|
@@ -757,7 +775,7 @@
|
|
|
757
775
|
{
|
|
758
776
|
"name": "pan-transition-duration",
|
|
759
777
|
"doc-url": "https://www.npmjs.com/package/@evercam/ui",
|
|
760
|
-
"default": "
|
|
778
|
+
"default": "800",
|
|
761
779
|
"value": {
|
|
762
780
|
"kind": "expression",
|
|
763
781
|
"type": "number"
|
|
@@ -798,6 +816,42 @@
|
|
|
798
816
|
"kind": "expression",
|
|
799
817
|
"type": "boolean"
|
|
800
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
|
+
}
|
|
801
855
|
}
|
|
802
856
|
]
|
|
803
857
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@evercam/ui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.54",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"private": false,
|
|
6
6
|
"author": "Evercam - Constuction Cameras.",
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
"build": "yarn build:lib && yarn build:style && yarn generate-ide-docs",
|
|
34
34
|
"build:lib": "vite build",
|
|
35
35
|
"build:style": "postcss src/style/main.css --verbose -o dist/styles.css",
|
|
36
|
+
"build-and-copy": "yarn build && rsync -av --delete ./dist/ ../../node_modules/@evercam/ui/dist/",
|
|
36
37
|
"typecheck": "vue-tsc --declaration --emitDeclarationOnly",
|
|
37
38
|
"generate-ide-docs": "node scripts/generate-vetur.mjs && node scripts/generate-web-types.mjs",
|
|
38
39
|
"ci": "(cd ../..; yarn ci)",
|