@evercam/ui 0.0.52-beta.9 → 0.0.53

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.
@@ -1,7 +1,7 @@
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, TimelinePrecision, TimelineTicksConfig, Timestamp } from '../types';
4
+ import { TimelineAxesConfig, TimelineAxis, TimelineCountEvent, TimelineEvent, TimelineEventsByType, 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;
@@ -49,6 +49,12 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
49
49
  textPadding: number;
50
50
  debouncedOnResize: Function;
51
51
  isFirstPaint: boolean;
52
+ timeouts: number[];
53
+ groupsVisibility: Record<string, boolean>;
54
+ markersPositions: Record<string, {
55
+ position: number;
56
+ isHidden: boolean;
57
+ }>;
52
58
  }, {
53
59
  initTimeline(startDate?: string, endDate?: string): void;
54
60
  initRefs(): void;
@@ -61,6 +67,7 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
61
67
  updateYScaleDomain(): void;
62
68
  initZoomBehavior(): void;
63
69
  initSelectedTimestampCursor(): void;
70
+ updateMarkersPositions(): void;
64
71
  updateAndRedrawTimeline(): void;
65
72
  clearTimeline(): void;
66
73
  repositionSelectedTimestampCursor(): void;
@@ -80,19 +87,20 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
80
87
  handleMouseLeave(): void;
81
88
  handleMouseMove(event: MouseEvent): void;
82
89
  handleClick(event: MouseEvent): void;
90
+ handleMarkerClick(marker: TimelineMarker): void;
83
91
  handleLineMouseOver(_event: MouseEvent, eventData: TimelineCountEvent, eventType: string): void;
84
92
  handleLineMouseOut(): void;
85
- handleBarMouseOver(_event: MouseEvent, eventData: TimelineEvent, eventType: string): void;
93
+ handleBarMouseOver(event: MouseEvent, eventData: TimelineEvent, eventType: string): void;
86
94
  handleBarMouseOut(): void;
87
95
  handleLabelMouseOver(groupType: string): void;
88
96
  handleLabelMouseLeave(groupType: string): void;
89
97
  handleZoom(event: D3ZoomEvent<SVGSVGElement, any>): void;
98
+ panToTimestamp(targetTimestamp: string): void;
90
99
  emitCurtainChange(): void;
91
100
  calculateDateRangeFromCurtains(): {
92
101
  startDate: Date;
93
102
  endDate: Date;
94
103
  };
95
- updateCurtainsOnResize(timelineWidth: number): void;
96
104
  handleDragStart(): void;
97
105
  handleDragEnd(): void;
98
106
  handleLeftDrag(event: d3.D3DragEvent<SVGRectElement, any, any>): void;
@@ -142,21 +150,37 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
142
150
  color: string;
143
151
  type: string;
144
152
  }): void;
145
- drawBarsChart({ events, gElement, color, yOffset, type, }: {
153
+ drawBarsChart({ events, gElement, color, yOffset, type, index, }: {
146
154
  events: TimelineEvent[];
147
155
  gElement: d3.Selection<SVGGElement, any, any, any>;
148
156
  color: string;
149
157
  yOffset: number;
150
158
  type: string;
159
+ index: number;
151
160
  }): void;
152
- drawTextLabel({ gElement, yPosition, color, label, }: {
161
+ onBarChartBarMouseOver(container: d3.Selection<SVGGElement, any, any, any>, color: string): void;
162
+ onBarChartBarMouseOut(container: d3.Selection<SVGGElement, any, any, any>, eventType: string): void;
163
+ drawTextLabel({ gElement, yPosition, color, label, type, }: {
153
164
  gElement: d3.Selection<SVGGElement, any, any, any>;
154
165
  yPosition: number;
155
166
  color: string;
156
167
  label: string;
168
+ type: string;
157
169
  }): void;
158
170
  getTextFillColor(baseColor: string, k?: number): string;
159
171
  getLabelBackgroundColor(baseColor: string): string;
172
+ getCurrentGroupVisibility(type: string): boolean;
173
+ toggleGroupVisibility(type: string): void;
174
+ getExternalLabelStyles(type: string): {
175
+ background: string;
176
+ color: string;
177
+ };
178
+ getExternalLabelWrapperStyles(type: string): {
179
+ borderColor: string;
180
+ };
181
+ getMarkerContainerStyle(marker: TimelineMarker): Record<string, string>;
182
+ getMarkerLabelStyle(marker: TimelineMarker): Record<string, string>;
183
+ getMarkerLineStyle(marker: TimelineMarker): Record<string, string>;
160
184
  tzStringToDate(timestamp: Timestamp): Date;
161
185
  dateToTzString(date: Date): string;
162
186
  getCurrentTimeBounds(): {
@@ -189,6 +213,9 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
189
213
  filledGapsLineGraphGroups: TimelineEventsByType;
190
214
  isInteractingWithCurtain: boolean;
191
215
  flattenedCounts: TimelineCountEvent[];
216
+ hiddenGroupsLabels: string[];
217
+ minHoverZone: number;
218
+ sortedMarkers: TimelineMarker[];
192
219
  }, {
193
220
  eventsGroups: {};
194
221
  xAxesConfig: TimelineAxesConfig;
@@ -210,5 +237,12 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
210
237
  minZoom: number;
211
238
  maxZoom: number;
212
239
  cursorTimestamp: string | undefined;
240
+ selectedClass: string | undefined;
241
+ panOnDateClick: boolean;
242
+ panTransitionDuration: number;
243
+ selectedDate: string;
244
+ autoResize: boolean;
245
+ markers: TimelineMarker[];
246
+ stickyMarkers: boolean;
213
247
  }, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin>;
214
248
  export default _default;
@@ -218,6 +218,12 @@ export declare const components: {
218
218
  textPadding: number;
219
219
  debouncedOnResize: Function;
220
220
  isFirstPaint: boolean;
221
+ timeouts: number[];
222
+ groupsVisibility: Record<string, boolean>;
223
+ markersPositions: Record<string, {
224
+ position: number;
225
+ isHidden: boolean;
226
+ }>;
221
227
  }, {
222
228
  initTimeline(startDate?: string | undefined, endDate?: string | undefined): void;
223
229
  initRefs(): void;
@@ -230,6 +236,7 @@ export declare const components: {
230
236
  updateYScaleDomain(): void;
231
237
  initZoomBehavior(): void;
232
238
  initSelectedTimestampCursor(): void;
239
+ updateMarkersPositions(): void;
233
240
  updateAndRedrawTimeline(): void;
234
241
  clearTimeline(): void;
235
242
  repositionSelectedTimestampCursor(): void;
@@ -249,19 +256,20 @@ export declare const components: {
249
256
  handleMouseLeave(): void;
250
257
  handleMouseMove(event: MouseEvent): void;
251
258
  handleClick(event: MouseEvent): void;
259
+ handleMarkerClick(marker: import('./types').TimelineMarker): void;
252
260
  handleLineMouseOver(_event: MouseEvent, eventData: import('./types').TimelineCountEvent, eventType: string): void;
253
261
  handleLineMouseOut(): void;
254
- handleBarMouseOver(_event: MouseEvent, eventData: import('./types').TimelineEvent, eventType: string): void;
262
+ handleBarMouseOver(event: MouseEvent, eventData: import('./types').TimelineEvent, eventType: string): void;
255
263
  handleBarMouseOut(): void;
256
264
  handleLabelMouseOver(groupType: string): void;
257
265
  handleLabelMouseLeave(groupType: string): void;
258
266
  handleZoom(event: import("d3-zoom").D3ZoomEvent<SVGSVGElement, any>): void;
267
+ panToTimestamp(targetTimestamp: string): void;
259
268
  emitCurtainChange(): void;
260
269
  calculateDateRangeFromCurtains(): {
261
270
  startDate: Date;
262
271
  endDate: Date;
263
272
  };
264
- updateCurtainsOnResize(timelineWidth: number): void;
265
273
  handleDragStart(): void;
266
274
  handleDragEnd(): void;
267
275
  handleLeftDrag(event: import("d3-drag").D3DragEvent<SVGRectElement, any, any>): void;
@@ -311,21 +319,37 @@ export declare const components: {
311
319
  color: string;
312
320
  type: string;
313
321
  }): void;
314
- drawBarsChart({ events, gElement, color, yOffset, type, }: {
322
+ drawBarsChart({ events, gElement, color, yOffset, type, index, }: {
315
323
  events: import('./types').TimelineEvent[];
316
324
  gElement: import("d3-selection").Selection<SVGGElement, any, any, any>;
317
325
  color: string;
318
326
  yOffset: number;
319
327
  type: string;
328
+ index: number;
320
329
  }): void;
321
- drawTextLabel({ gElement, yPosition, color, label, }: {
330
+ onBarChartBarMouseOver(container: import("d3-selection").Selection<SVGGElement, any, any, any>, color: string): void;
331
+ onBarChartBarMouseOut(container: import("d3-selection").Selection<SVGGElement, any, any, any>, eventType: string): void;
332
+ drawTextLabel({ gElement, yPosition, color, label, type, }: {
322
333
  gElement: import("d3-selection").Selection<SVGGElement, any, any, any>;
323
334
  yPosition: number;
324
335
  color: string;
325
336
  label: string;
337
+ type: string;
326
338
  }): void;
327
339
  getTextFillColor(baseColor: string, k?: number): string;
328
340
  getLabelBackgroundColor(baseColor: string): string;
341
+ getCurrentGroupVisibility(type: string): boolean;
342
+ toggleGroupVisibility(type: string): void;
343
+ getExternalLabelStyles(type: string): {
344
+ background: string;
345
+ color: string;
346
+ };
347
+ getExternalLabelWrapperStyles(type: string): {
348
+ borderColor: string;
349
+ };
350
+ getMarkerContainerStyle(marker: import('./types').TimelineMarker): Record<string, string>;
351
+ getMarkerLabelStyle(marker: import('./types').TimelineMarker): Record<string, string>;
352
+ getMarkerLineStyle(marker: import('./types').TimelineMarker): Record<string, string>;
329
353
  tzStringToDate(timestamp: import('./types').Timestamp): Date;
330
354
  dateToTzString(date: Date): string;
331
355
  getCurrentTimeBounds(): {
@@ -358,6 +382,9 @@ export declare const components: {
358
382
  filledGapsLineGraphGroups: import('./types').TimelineEventsByType;
359
383
  isInteractingWithCurtain: boolean;
360
384
  flattenedCounts: import('./types').TimelineCountEvent[];
385
+ hiddenGroupsLabels: string[];
386
+ minHoverZone: number;
387
+ sortedMarkers: import('./types').TimelineMarker[];
361
388
  }, {
362
389
  eventsGroups: {};
363
390
  xAxesConfig: import('./types').TimelineAxesConfig;
@@ -379,6 +406,13 @@ export declare const components: {
379
406
  minZoom: number;
380
407
  maxZoom: number;
381
408
  cursorTimestamp: string | undefined;
409
+ selectedClass: string | undefined;
410
+ panOnDateClick: boolean;
411
+ panTransitionDuration: number;
412
+ selectedDate: string;
413
+ autoResize: boolean;
414
+ markers: import('./types').TimelineMarker[];
415
+ stickyMarkers: boolean;
382
416
  }, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin>;
383
417
  EVideoEmbed: import("vue").DefineComponent<{
384
418
  videoUrl: {
@@ -58,6 +58,7 @@ export type TimelineBarEvent = {
58
58
  export type TimelineRangeEvent = {
59
59
  startDate: string | Date;
60
60
  endDate: string | Date;
61
+ text?: string;
61
62
  [key: string]: any;
62
63
  };
63
64
  export type TimelineCountEvent = {
@@ -90,5 +91,12 @@ export declare enum TimelineIntervalChangeTrigger {
90
91
  autoPan = "autoPan",
91
92
  initial = "initial"
92
93
  }
94
+ export type TimelineMarker = {
95
+ timestamp: string | Date;
96
+ label: string;
97
+ color: string;
98
+ textColor?: string;
99
+ id: string | number;
100
+ };
93
101
  declare const _default: {};
94
102
  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-dd8ff405]{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-dd8ff405]{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;margin:0 auto}.video-container.full-screen[data-v-dd8ff405]{max-width:initial;width:100%;max-height:100vh}video[data-v-dd8ff405]{width:100%;height:inherit}.video-controls-container[data-v-dd8ff405]{position:absolute;bottom:0;left:0;right:0;color:#fff;z-index:100;opacity:0;transition:opacity .15s ease-in-out}.hide[data-v-dd8ff405]{display:none}.video-controls-container[data-v-dd8ff405]: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-dd8ff405],.video-container:focus-within .video-controls-container[data-v-dd8ff405],.video-container.paused .video-controls-container[data-v-dd8ff405]{opacity:1}.video-controls-container .controls[data-v-dd8ff405]{display:flex;gap:.5rem;padding:.75rem 1rem;align-items:center;width:100%}.video-controls-container .controls button[data-v-dd8ff405]{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-dd8ff405]:hover{opacity:1}.duration-container[data-v-dd8ff405]{display:flex;align-items:center;gap:.25rem;flex-grow:1}.video-container.captions .captions-btn[data-v-dd8ff405]{border-bottom:3px solid red}.video-controls-container .controls button.wide-btn[data-v-dd8ff405]{width:50px}.timeline-container[data-v-dd8ff405]{width:100%;height:7px;margin-inline:.5rem;cursor:pointer;display:flex;align-items:center}.timeline[data-v-dd8ff405]{background-color:#64646480;height:3px;width:100%;position:relative}.timeline[data-v-dd8ff405]: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-dd8ff405]: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-dd8ff405]{--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-dd8ff405]{display:block}.video-container.scrubbing .timeline[data-v-dd8ff405]:before,.timeline-container:hover .timeline[data-v-dd8ff405]:before{display:block}.video-container.scrubbing .thumb-indicator[data-v-dd8ff405],.timeline-container:hover .thumb-indicator[data-v-dd8ff405]{--scale: 1}.video-container.scrubbing .timeline[data-v-dd8ff405],.timeline-container:hover .timeline[data-v-dd8ff405]{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}.event-bar-hover-zone{cursor:pointer}.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-dd8ff405]{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-dd8ff405]{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;margin:0 auto}.video-container.full-screen[data-v-dd8ff405]{max-width:initial;width:100%;max-height:100vh}video[data-v-dd8ff405]{width:100%;height:inherit}.video-controls-container[data-v-dd8ff405]{position:absolute;bottom:0;left:0;right:0;color:#fff;z-index:100;opacity:0;transition:opacity .15s ease-in-out}.hide[data-v-dd8ff405]{display:none}.video-controls-container[data-v-dd8ff405]: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-dd8ff405],.video-container:focus-within .video-controls-container[data-v-dd8ff405],.video-container.paused .video-controls-container[data-v-dd8ff405]{opacity:1}.video-controls-container .controls[data-v-dd8ff405]{display:flex;gap:.5rem;padding:.75rem 1rem;align-items:center;width:100%}.video-controls-container .controls button[data-v-dd8ff405]{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-dd8ff405]:hover{opacity:1}.duration-container[data-v-dd8ff405]{display:flex;align-items:center;gap:.25rem;flex-grow:1}.video-container.captions .captions-btn[data-v-dd8ff405]{border-bottom:3px solid red}.video-controls-container .controls button.wide-btn[data-v-dd8ff405]{width:50px}.timeline-container[data-v-dd8ff405]{width:100%;height:7px;margin-inline:.5rem;cursor:pointer;display:flex;align-items:center}.timeline[data-v-dd8ff405]{background-color:#64646480;height:3px;width:100%;position:relative}.timeline[data-v-dd8ff405]: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-dd8ff405]: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-dd8ff405]{--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-dd8ff405]{display:block}.video-container.scrubbing .timeline[data-v-dd8ff405]:before,.timeline-container:hover .timeline[data-v-dd8ff405]:before{display:block}.video-container.scrubbing .thumb-indicator[data-v-dd8ff405],.timeline-container:hover .thumb-indicator[data-v-dd8ff405]{--scale: 1}.video-container.scrubbing .timeline[data-v-dd8ff405],.timeline-container:hover .timeline[data-v-dd8ff405]{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}.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{filter:saturate(.9)}.marker-line{position:absolute;width:2px;top:-24px}.marker:hover{cursor:pointer;opacity:1;filter:saturate(1.1);.marker-label{transform:translateY(-38px);height:61px;width:255px;padding-bottom:42px}.marker-label-text{box-shadow:2px 2px 11px -4px #000}}.marker--hidden:hover{.marker-label{transform:translateY(-54px)}}.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/styles.css CHANGED
@@ -770,9 +770,6 @@
770
770
  .e-overflow-auto{
771
771
  overflow: auto;
772
772
  }
773
- .e-overflow-hidden{
774
- overflow: hidden;
775
- }
776
773
  .e-overflow-x-hidden{
777
774
  overflow-x: hidden;
778
775
  }
@@ -868,9 +865,18 @@
868
865
  .e-object-cover{
869
866
  object-fit: cover;
870
867
  }
868
+ .e-p-1{
869
+ padding: 0.25rem;
870
+ }
871
+ .e-p-2{
872
+ padding: 0.5rem;
873
+ }
871
874
  .e-p-3{
872
875
  padding: 0.75rem;
873
876
  }
877
+ .e-p-4{
878
+ padding: 1rem;
879
+ }
874
880
  .e-p-5{
875
881
  padding: 1.25rem;
876
882
  }
package/dist/tags.json CHANGED
@@ -98,8 +98,13 @@
98
98
  "min-zoom",
99
99
  "max-zoom",
100
100
  "cursor-timestamp",
101
+ "selected-class",
101
102
  "pan-on-date-click",
102
- "pan-transition-duration"
103
+ "pan-transition-duration",
104
+ "selected-date",
105
+ "auto-resize",
106
+ "markers",
107
+ "sticky-markers"
103
108
  ],
104
109
  "description": ""
105
110
  }
@@ -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.52-beta.9",
5
+ "version": "0.0.53",
6
6
  "contributions": {
7
7
  "html": {
8
8
  "types-syntax": "typescript",
@@ -706,6 +706,18 @@
706
706
  ]
707
707
  }
708
708
  },
709
+ {
710
+ "name": "selected-class",
711
+ "doc-url": "https://www.npmjs.com/package/@evercam/ui",
712
+ "default": "undefined",
713
+ "value": {
714
+ "kind": "expression",
715
+ "type": [
716
+ "string",
717
+ "any"
718
+ ]
719
+ }
720
+ },
709
721
  {
710
722
  "name": "pan-on-date-click",
711
723
  "doc-url": "https://www.npmjs.com/package/@evercam/ui",
@@ -723,6 +735,42 @@
723
735
  "kind": "expression",
724
736
  "type": "number"
725
737
  }
738
+ },
739
+ {
740
+ "name": "selected-date",
741
+ "doc-url": "https://www.npmjs.com/package/@evercam/ui",
742
+ "default": "",
743
+ "value": {
744
+ "kind": "expression",
745
+ "type": "string"
746
+ }
747
+ },
748
+ {
749
+ "name": "auto-resize",
750
+ "doc-url": "https://www.npmjs.com/package/@evercam/ui",
751
+ "default": "true",
752
+ "value": {
753
+ "kind": "expression",
754
+ "type": "boolean"
755
+ }
756
+ },
757
+ {
758
+ "name": "markers",
759
+ "doc-url": "https://www.npmjs.com/package/@evercam/ui",
760
+ "default": "() => []",
761
+ "value": {
762
+ "kind": "expression",
763
+ "type": "array"
764
+ }
765
+ },
766
+ {
767
+ "name": "sticky-markers",
768
+ "doc-url": "https://www.npmjs.com/package/@evercam/ui",
769
+ "default": "true",
770
+ "value": {
771
+ "kind": "expression",
772
+ "type": "boolean"
773
+ }
726
774
  }
727
775
  ]
728
776
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evercam/ui",
3
- "version": "0.0.52-beta.9",
3
+ "version": "0.0.53",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "author": "Evercam - Constuction Cameras.",