@spicainternational/ngx-sds-components 5.30.1 → 5.31.2

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.
Files changed (37) hide show
  1. package/esm2020/public-api.mjs +2 -1
  2. package/esm2020/src/lib/date-picker/date-picker.component.mjs +40 -68
  3. package/esm2020/src/lib/number-box/number-box.component.mjs +3 -1
  4. package/esm2020/src/lib/timeline/components/timeline.component.mjs +254 -0
  5. package/esm2020/src/lib/timeline/models/timeline.model.mjs +2 -0
  6. package/esm2020/src/lib/timeline/public-api.mjs +3 -0
  7. package/esm2020/src/lib/timeline/services/timeline.service.mjs +115 -0
  8. package/esm2020/src/lib/timeline/spicainternational-ngx-sds-components-src-lib-timeline.mjs +5 -0
  9. package/esm2020/src/lib/timeline/timeline.module.mjs +26 -0
  10. package/esm2020/src/lib/timeline/types/timeline.types.mjs +2 -0
  11. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +39 -67
  12. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
  13. package/fesm2015/spicainternational-ngx-sds-components-src-lib-number-box.mjs +2 -0
  14. package/fesm2015/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -1
  15. package/fesm2015/spicainternational-ngx-sds-components-src-lib-timeline.mjs +401 -0
  16. package/fesm2015/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -0
  17. package/fesm2015/spicainternational-ngx-sds-components.mjs +1 -0
  18. package/fesm2015/spicainternational-ngx-sds-components.mjs.map +1 -1
  19. package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +39 -67
  20. package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
  21. package/fesm2020/spicainternational-ngx-sds-components-src-lib-number-box.mjs +2 -0
  22. package/fesm2020/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -1
  23. package/fesm2020/spicainternational-ngx-sds-components-src-lib-timeline.mjs +398 -0
  24. package/fesm2020/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -0
  25. package/fesm2020/spicainternational-ngx-sds-components.mjs +1 -0
  26. package/fesm2020/spicainternational-ngx-sds-components.mjs.map +1 -1
  27. package/package.json +9 -1
  28. package/public-api.d.ts +1 -0
  29. package/src/lib/date-picker/date-picker.component.d.ts +4 -0
  30. package/src/lib/timeline/components/timeline.component.d.ts +116 -0
  31. package/src/lib/timeline/models/timeline.model.d.ts +21 -0
  32. package/src/lib/timeline/package.json +10 -0
  33. package/src/lib/timeline/public-api.d.ts +2 -0
  34. package/src/lib/timeline/services/timeline.service.d.ts +22 -0
  35. package/src/lib/timeline/spicainternational-ngx-sds-components-src-lib-timeline.d.ts +5 -0
  36. package/src/lib/timeline/timeline.module.d.ts +8 -0
  37. package/src/lib/timeline/types/timeline.types.d.ts +1 -0
@@ -84,6 +84,7 @@ export class SdsNumberBoxComponent {
84
84
  }
85
85
  startIncrement() {
86
86
  this.increment();
87
+ console.log('startIncrement');
87
88
  interval(this.burstInterval)
88
89
  .pipe(takeUntil(this.destroy$))
89
90
  .subscribe(() => {
@@ -91,6 +92,7 @@ export class SdsNumberBoxComponent {
91
92
  });
92
93
  }
93
94
  stopIncrement() {
95
+ console.log('stopIncrement');
94
96
  this.destroy$.next();
95
97
  }
96
98
  startDecrement() {
@@ -135,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
135
137
  }], debounceTime: [{
136
138
  type: Input
137
139
  }] } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9udW1iZXItYm94L251bWJlci1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvbnVtYmVyLWJveC9udW1iZXItYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFhLFFBQVEsRUFBTyxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7O0FBT2hHLE1BQU0sT0FBTyxxQkFBcUI7SUFnRjlCO1FBL0VTLFVBQUssR0FBVyxDQUFDLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRW5EOzs7OztXQUtHO1FBQ00sVUFBSyxHQUFXLE1BQU0sQ0FBQztRQUVoQzs7Ozs7V0FLRztRQUNNLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFrQm5DOzs7OztXQUtHO1FBQ00sU0FBSSxHQUFXLENBQUMsQ0FBQztRQUUxQjs7Ozs7Ozs7V0FRRztRQUNNLFlBQU8sR0FBZ0MsWUFBWSxDQUFDO1FBRTdEOzs7OztXQUtHO1FBQ00sa0JBQWEsR0FBVyxHQUFHLENBQUM7UUFFckM7Ozs7OztXQU1HO1FBQ00saUJBQVksR0FBVyxHQUFHLENBQUM7UUFFN0IsZUFBVSxHQUFHLE9BQU8sQ0FBQztRQUNyQixjQUFTLEdBQUcsTUFBTSxDQUFDO1FBQ25CLGNB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QUs7Z0JBU0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIE9uSW5pdCxcclxuICAgIE91dHB1dCxcclxuICAgIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmFDaGV2cm9uTGVmdCwgZmFDaGV2cm9uUmlnaHQsIGZhTWludXMsIGZhUGx1cyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9wcm8tcmVndWxhci1zdmctaWNvbnMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIGZyb21FdmVudCwgaW50ZXJ2YWwsIG1hcCwgdGFrZVVudGlsLCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzZHMtbnVtYmVyLWJveCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLWJveC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9udW1iZXItYm94LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZHNOdW1iZXJCb3hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoKSB2YWx1ZTogbnVtYmVyID0gMDtcclxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2lkdGggb2YgY29tcG9uZW50LiBCeSBkZWZhdWx0IDhyZW0uXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge3N0cmluZ31cclxuICAgICAqIEBtZW1iZXJvZiBTZHNEdXJhdGlvbkJveENvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJzhyZW0nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIFVJIGNvbXBvbmVudCByZXNwb25kcyB0byB1c2VyIGludGVyYWN0aW9uLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAgICogQG1lbWJlcm9mIFNkc0R1cmF0aW9uQm94Q29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbWF4aW11bSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgZHVyYXRpb24gYm94LlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzRHVyYXRpb25Cb3hDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgbWF4PzogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG1pbmltdW0gdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGR1cmF0aW9uIGJveC5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc0R1cmF0aW9uQm94Q29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIG1pbj86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBpbmNyZW1lbnQgYnkgd2hpY2ggdGhlIHZhbHVlIGlzIGluY3JlYXNlZCBvciBkZWNyZWFzZWQuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge251bWJlcn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNEdXJhdGlvbkJveENvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBzdGVwOiBudW1iZXIgPSAxO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGljb24gc2V0IHRvIHVzZSBmb3IgdGhlIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMuXHJcbiAgICAgKiBJY29ucyB1c2VkIGFyZSBmcm9tIHRoZSBGcm9udEF3ZXNvbWUgbGlicmFyeSwgc28geW91IG11c3QgaW5jbHVkZSB0aGVtIGluIHRoZSBwcm9qZWN0IHRvIHVzZSB0aGVtLiBcclxuICAgICAqIFlvdSBjYW4gYWRkIHRoZW0gdG8gRkEgbGlicmFyeSBvbiB0aGUgbW9kdWxlL2NvbXBvbmVudCBsZXZlbC5cclxuICAgICAqIEljb25zOiByZWd1bGFyLCBtaW51cy9wbHVzLCBjaGV2cm9uLWxlZnQvcmlnaHRcclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7KCdwbHVzLW1pbnVzJyB8ICdsZWZ0LXJpZ2h0Jyl9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzTnVtYmVyQm94Q29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGljb25TZXQ6ICdwbHVzLW1pbnVzJyB8ICdsZWZ0LXJpZ2h0JyA9ICdwbHVzLW1pbnVzJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEludGVydmFsIGJldHdlZW4gdmFsdWUgY2hhbmdlcyB3aGVuIHRoZSBpbmNyZW1lbnQgb3IgZGVjcmVtZW50IGJ1dHRvbiBpcyBoZWxkIGRvd24uXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge251bWJlcn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNOdW1iZXJCb3hDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgYnVyc3RJbnRlcnZhbDogbnVtYmVyID0gMTIwO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW50ZXJ2YWwgaW4gd2hpY2ggbmV3IHZhbHVlIGlzIGVtaXR0ZWQgdG8gdGhlIHBhcmVudCBjb21wb25lbnQuXHJcbiAgICAgKiBJdCBzaG91bGQgYmUgaGlnaGVyIHRoYW4gYnVyc3RJbnRlcnZhbCB0byBwcmV2ZW50IG11bHRpcGxlIHZhbHVlIGNoYW5nZXMgaW4gYnVyc3QgbW9kZS5cclxuICAgICAqIFxyXG4gICAgICogQHR5cGUge251bWJlcn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNOdW1iZXJCb3hDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgZGVib3VuY2VUaW1lOiBudW1iZXIgPSAxNTA7XHJcblxyXG4gICAgcHVibGljIElDT05fTUlOVVMgPSBmYU1pbnVzO1xyXG4gICAgcHVibGljIElDT05fUExVUyA9IGZhUGx1cztcclxuICAgIHB1YmxpYyBJQ09OX0xFRlQgPSBmYUNoZXZyb25MZWZ0O1xyXG4gICAgcHVibGljIElDT05fUklHSFQgPSBmYUNoZXZyb25SaWdodDtcclxuXHJcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIHByaXZhdGUgbmV3VmFsdWUkOiBTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubmV3VmFsdWUkLnBpcGUoXHJcbiAgICAgICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZSlcclxuICAgICAgICApLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaW5jcmVtZW50KCkge1xyXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy52YWx1ZSArIHRoaXMuc3RlcDtcclxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWF4ICE9PSAndW5kZWZpbmVkJyAmJiBuZXdWYWx1ZSA+IHRoaXMubWF4KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xyXG4gICAgICAgIHRoaXMubmV3VmFsdWUkLm5leHQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRlY3JlbWVudCgpIHtcclxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMudmFsdWUgLSB0aGlzLnN0ZXA7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1pbiAhPT0gJ3VuZGVmaW5lZCcgJiYgbmV3VmFsdWUgPCB0aGlzLm1pbikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcclxuICAgICAgICB0aGlzLm5ld1ZhbHVlJC5uZXh0KHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0SW5jcmVtZW50KCkge1xyXG4gICAgICAgIHRoaXMuaW5jcmVtZW50KCk7XHJcbiAgICAgICAgaW50ZXJ2YWwodGhpcy5idXJzdEludGVydmFsKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbmNyZW1lbnQoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RvcEluY3JlbWVudCgpIHtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydERlY3JlbWVudCgpIHtcclxuICAgICAgICB0aGlzLmRlY3JlbWVudCgpO1xyXG4gICAgICAgIGludGVydmFsKHRoaXMuYnVyc3RJbnRlcnZhbClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGVjcmVtZW50KCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN0b3BEZWNyZW1lbnQoKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgICAgIHRoaXMubmV3VmFsdWUkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBcclxuICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXBcIlxyXG4gICAgW3N0eWxlLndpZHRoXT1cIndpZHRoXCJcclxuPlxyXG5cclxuICAgIDxidXR0b24gXHJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBidG4tc20gYm9yZGVyXCIgXHJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydERlY3JlbWVudCgpXCIgXHJcbiAgICAgICAgKG1vdXNldXApPVwic3RvcERlY3JlbWVudCgpXCJcclxuICAgICAgICAobW91c2VsZWF2ZSk9XCJzdG9wRGVjcmVtZW50KClcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICA+IFxyXG4gICAgICAgIDxmYS1pY29uICpuZ0lmPVwiaWNvblNldCA9PT0gJ3BsdXMtbWludXMnXCIgW2ljb25dPVwiSUNPTl9NSU5VU1wiIFtmaXhlZFdpZHRoXT1cInRydWVcIiBbc2l6ZV09XCInc20nXCI+PC9mYS1pY29uPlxyXG4gICAgICAgIDxmYS1pY29uICpuZ0lmPVwiaWNvblNldCA9PT0gJ2xlZnQtcmlnaHQnXCIgW2ljb25dPVwiSUNPTl9MRUZUXCIgW2ZpeGVkV2lkdGhdPVwidHJ1ZVwiIFtzaXplXT1cIidzbSdcIj48L2ZhLWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIFxyXG4gICAgPGlucHV0IFxyXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCIgXHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdGV4dC1jZW50ZXIgYmctd2hpdGUgdGV4dC1tb25vc3BhY2VcIiBcclxuICAgICAgICBbY2xhc3MudGV4dC1tdXRlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgW3N0eWxlLnBhZGRpbmctdG9wLnJlbV09XCIwLjMxXCJcclxuICAgICAgICBbc3R5bGUucGFkZGluZy1ib3R0b20ucmVtXT1cIjAuMzFcIlxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiXCJcclxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICAgIFttYXhdPVwibWF4XCJcclxuICAgICAgICBbbWluXT1cIm1pblwiXHJcbiAgICAgICAgW3N0ZXBdPVwic3RlcFwiXHJcbiAgICAgICAgPlxyXG4gICAgXHJcbiAgICA8YnV0dG9uIFxyXG4gICAgICAgICNpbmNyZW1lbnRCdXR0b25cclxuICAgICAgICBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbSBib3JkZXJcIiBcclxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAobW91c2Vkb3duKT1cInN0YXJ0SW5jcmVtZW50KClcIiBcclxuICAgICAgICAobW91c2V1cCk9XCJzdG9wSW5jcmVtZW50KClcIlxyXG4gICAgICAgIChtb3VzZWxlYXZlKT1cInN0b3BJbmNyZW1lbnQoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgID5cclxuICAgIDxmYS1pY29uICpuZ0lmPVwiaWNvblNldCA9PT0gJ3BsdXMtbWludXMnXCIgW2ljb25dPVwiSUNPTl9QTFVTXCIgW2ZpeGVkV2lkdGhdPVwidHJ1ZVwiIFtzaXplXT1cIidzbSdcIj48L2ZhLWljb24+XHJcbiAgICA8ZmEtaWNvbiAqbmdJZj1cImljb25TZXQgPT09ICdsZWZ0LXJpZ2h0J1wiIFtpY29uXT1cIklDT05fUklHSFRcIiBbZml4ZWRXaWR0aF09XCJ0cnVlXCIgW3NpemVdPVwiJ3NtJ1wiPjwvZmEtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuPC9kaXY+Il19
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9udW1iZXItYm94L251bWJlci1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvbnVtYmVyLWJveC9udW1iZXItYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFhLFFBQVEsRUFBTyxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7O0FBT2hHLE1BQU0sT0FBTyxxQkFBcUI7SUFnRjlCO1FBL0VTLFVBQUssR0FBVyxDQUFDLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRW5EOzs7OztXQUtHO1FBQ00sVUFBSyxHQUFXLE1BQU0sQ0FBQztRQUVoQzs7Ozs7V0FLRztRQUNNLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFrQm5DOzs7OztXQUtHO1FBQ00sU0FBSSxHQUFXLENBQUMsQ0FBQztRQUUxQjs7Ozs7Ozs7V0FRRztRQUNNLFlBQU8sR0FBZ0MsWUFBWSxDQUFDO1FBRTdEOzs7OztXQUtHO1FBQ00sa0JBQWEsR0FBVyxHQUFHLENBQUM7UUFFckM7Ozs7OztXQU1HO1FBQ00saUJBQVksR0FBVyxHQUFHLENBQUM7UUFFN0IsZUFBVSxHQUFHLE9BQU8sQ0FBQztRQUNyQixjQUFTLEdBQUcsTUFBTSxDQUFDO1FBQ25CLGNB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QVFHLEdBQUc7c0JBQVgsS0FBSztnQkFRRyxJQUFJO3NCQUFaLEtBQUs7Z0JBV0csT0FBTztzQkFBZixLQUFLO2dCQVFHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBU0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZhQ2hldnJvbkxlZnQsIGZhQ2hldnJvblJpZ2h0LCBmYU1pbnVzLCBmYVBsdXMgfSBmcm9tICdAZm9ydGF3ZXNvbWUvcHJvLXJlZ3VsYXItc3ZnLWljb25zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgZGVib3VuY2VUaW1lLCBmcm9tRXZlbnQsIGludGVydmFsLCBtYXAsIHRha2VVbnRpbCwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2RzLW51bWJlci1ib3gnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL251bWJlci1ib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbnVtYmVyLWJveC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RzTnVtYmVyQm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgdmFsdWU6IG51bWJlciA9IDA7XHJcbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFdpZHRoIG9mIGNvbXBvbmVudC4gQnkgZGVmYXVsdCA4cmVtLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzRHVyYXRpb25Cb3hDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgd2lkdGg6IHN0cmluZyA9ICc4cmVtJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBVSSBjb21wb25lbnQgcmVzcG9uZHMgdG8gdXNlciBpbnRlcmFjdGlvbi5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNEdXJhdGlvbkJveENvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG1heGltdW0gdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGR1cmF0aW9uIGJveC5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc0R1cmF0aW9uQm94Q29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIG1heD86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtaW5pbXVtIHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBkdXJhdGlvbiBib3guXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge251bWJlcn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNEdXJhdGlvbkJveENvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBtaW4/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgaW5jcmVtZW50IGJ5IHdoaWNoIHRoZSB2YWx1ZSBpcyBpbmNyZWFzZWQgb3IgZGVjcmVhc2VkLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzRHVyYXRpb25Cb3hDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgc3RlcDogbnVtYmVyID0gMTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBpY29uIHNldCB0byB1c2UgZm9yIHRoZSBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zLlxyXG4gICAgICogSWNvbnMgdXNlZCBhcmUgZnJvbSB0aGUgRnJvbnRBd2Vzb21lIGxpYnJhcnksIHNvIHlvdSBtdXN0IGluY2x1ZGUgdGhlbSBpbiB0aGUgcHJvamVjdCB0byB1c2UgdGhlbS4gXHJcbiAgICAgKiBZb3UgY2FuIGFkZCB0aGVtIHRvIEZBIGxpYnJhcnkgb24gdGhlIG1vZHVsZS9jb21wb25lbnQgbGV2ZWwuXHJcbiAgICAgKiBJY29uczogcmVndWxhciwgbWludXMvcGx1cywgY2hldnJvbi1sZWZ0L3JpZ2h0XHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUgeygncGx1cy1taW51cycgfCAnbGVmdC1yaWdodCcpfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc051bWJlckJveENvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBpY29uU2V0OiAncGx1cy1taW51cycgfCAnbGVmdC1yaWdodCcgPSAncGx1cy1taW51cyc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbnRlcnZhbCBiZXR3ZWVuIHZhbHVlIGNoYW5nZXMgd2hlbiB0aGUgaW5jcmVtZW50IG9yIGRlY3JlbWVudCBidXR0b24gaXMgaGVsZCBkb3duLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzTnVtYmVyQm94Q29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGJ1cnN0SW50ZXJ2YWw6IG51bWJlciA9IDEyMDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEludGVydmFsIGluIHdoaWNoIG5ldyB2YWx1ZSBpcyBlbWl0dGVkIHRvIHRoZSBwYXJlbnQgY29tcG9uZW50LlxyXG4gICAgICogSXQgc2hvdWxkIGJlIGhpZ2hlciB0aGFuIGJ1cnN0SW50ZXJ2YWwgdG8gcHJldmVudCBtdWx0aXBsZSB2YWx1ZSBjaGFuZ2VzIGluIGJ1cnN0IG1vZGUuXHJcbiAgICAgKiBcclxuICAgICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzTnVtYmVyQm94Q29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGRlYm91bmNlVGltZTogbnVtYmVyID0gMTUwO1xyXG5cclxuICAgIHB1YmxpYyBJQ09OX01JTlVTID0gZmFNaW51cztcclxuICAgIHB1YmxpYyBJQ09OX1BMVVMgPSBmYVBsdXM7XHJcbiAgICBwdWJsaWMgSUNPTl9MRUZUID0gZmFDaGV2cm9uTGVmdDtcclxuICAgIHB1YmxpYyBJQ09OX1JJR0hUID0gZmFDaGV2cm9uUmlnaHQ7XHJcblxyXG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIG5ld1ZhbHVlJDogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm5ld1ZhbHVlJC5waXBlKFxyXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWUpXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGluY3JlbWVudCgpIHtcclxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMudmFsdWUgKyB0aGlzLnN0ZXA7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1heCAhPT0gJ3VuZGVmaW5lZCcgJiYgbmV3VmFsdWUgPiB0aGlzLm1heCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcclxuICAgICAgICB0aGlzLm5ld1ZhbHVlJC5uZXh0KHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkZWNyZW1lbnQoKSB7XHJcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLnZhbHVlIC0gdGhpcy5zdGVwO1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5taW4gIT09ICd1bmRlZmluZWQnICYmIG5ld1ZhbHVlIDwgdGhpcy5taW4pIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnZhbHVlID0gbmV3VmFsdWU7XHJcbiAgICAgICAgdGhpcy5uZXdWYWx1ZSQubmV4dCh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydEluY3JlbWVudCgpIHtcclxuICAgICAgICB0aGlzLmluY3JlbWVudCgpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdzdGFydEluY3JlbWVudCcpO1xyXG4gICAgICAgIGludGVydmFsKHRoaXMuYnVyc3RJbnRlcnZhbClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5jcmVtZW50KCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN0b3BJbmNyZW1lbnQoKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ3N0b3BJbmNyZW1lbnQnKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydERlY3JlbWVudCgpIHtcclxuICAgICAgICB0aGlzLmRlY3JlbWVudCgpO1xyXG4gICAgICAgIGludGVydmFsKHRoaXMuYnVyc3RJbnRlcnZhbClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGVjcmVtZW50KCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN0b3BEZWNyZW1lbnQoKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgICAgIHRoaXMubmV3VmFsdWUkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBcclxuICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXBcIlxyXG4gICAgW3N0eWxlLndpZHRoXT1cIndpZHRoXCJcclxuPlxyXG5cclxuICAgIDxidXR0b24gXHJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBidG4tc20gYm9yZGVyXCIgXHJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydERlY3JlbWVudCgpXCIgXHJcbiAgICAgICAgKG1vdXNldXApPVwic3RvcERlY3JlbWVudCgpXCJcclxuICAgICAgICAobW91c2VsZWF2ZSk9XCJzdG9wRGVjcmVtZW50KClcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICA+IFxyXG4gICAgICAgIDxmYS1pY29uICpuZ0lmPVwiaWNvblNldCA9PT0gJ3BsdXMtbWludXMnXCIgW2ljb25dPVwiSUNPTl9NSU5VU1wiIFtmaXhlZFdpZHRoXT1cInRydWVcIiBbc2l6ZV09XCInc20nXCI+PC9mYS1pY29uPlxyXG4gICAgICAgIDxmYS1pY29uICpuZ0lmPVwiaWNvblNldCA9PT0gJ2xlZnQtcmlnaHQnXCIgW2ljb25dPVwiSUNPTl9MRUZUXCIgW2ZpeGVkV2lkdGhdPVwidHJ1ZVwiIFtzaXplXT1cIidzbSdcIj48L2ZhLWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIFxyXG4gICAgPGlucHV0IFxyXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCIgXHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdGV4dC1jZW50ZXIgYmctd2hpdGUgdGV4dC1tb25vc3BhY2VcIiBcclxuICAgICAgICBbY2xhc3MudGV4dC1tdXRlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgW3N0eWxlLnBhZGRpbmctdG9wLnJlbV09XCIwLjMxXCJcclxuICAgICAgICBbc3R5bGUucGFkZGluZy1ib3R0b20ucmVtXT1cIjAuMzFcIlxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiXCJcclxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICAgIFttYXhdPVwibWF4XCJcclxuICAgICAgICBbbWluXT1cIm1pblwiXHJcbiAgICAgICAgW3N0ZXBdPVwic3RlcFwiXHJcbiAgICAgICAgPlxyXG4gICAgXHJcbiAgICA8YnV0dG9uIFxyXG4gICAgICAgICNpbmNyZW1lbnRCdXR0b25cclxuICAgICAgICBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbSBib3JkZXJcIiBcclxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAobW91c2Vkb3duKT1cInN0YXJ0SW5jcmVtZW50KClcIiBcclxuICAgICAgICAobW91c2V1cCk9XCJzdG9wSW5jcmVtZW50KClcIlxyXG4gICAgICAgIChtb3VzZWxlYXZlKT1cInN0b3BJbmNyZW1lbnQoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgID5cclxuICAgIDxmYS1pY29uICpuZ0lmPVwiaWNvblNldCA9PT0gJ3BsdXMtbWludXMnXCIgW2ljb25dPVwiSUNPTl9QTFVTXCIgW2ZpeGVkV2lkdGhdPVwidHJ1ZVwiIFtzaXplXT1cIidzbSdcIj48L2ZhLWljb24+XHJcbiAgICA8ZmEtaWNvbiAqbmdJZj1cImljb25TZXQgPT09ICdsZWZ0LXJpZ2h0J1wiIFtpY29uXT1cIklDT05fUklHSFRcIiBbZml4ZWRXaWR0aF09XCJ0cnVlXCIgW3NpemVdPVwiJ3NtJ1wiPjwvZmEtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuPC9kaXY+Il19
@@ -0,0 +1,254 @@
1
+ import { Component, HostListener, Input, ViewChild, } from '@angular/core';
2
+ import { SdsTimelineService } from '../services/timeline.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class SdsTimelineComponent {
6
+ constructor() {
7
+ /**
8
+ * The start date and time for the timeline.
9
+ *
10
+ * @type {Date}
11
+ * @memberof SdsTimelineComponent
12
+ */
13
+ this.start = new Date();
14
+ /**
15
+ * The end date and time for the timeline.
16
+ *
17
+ * @type {Date}
18
+ * @memberof SdsTimelineComponent
19
+ */
20
+ this.end = new Date();
21
+ /**
22
+ * The items to be displayed on the timeline. Specify data if you need
23
+ * additional data for custom rendering of the items.
24
+ *
25
+ * @type {TimelineItem[]}
26
+ * @memberof SdsTimelineComponent
27
+ */
28
+ this.items = [];
29
+ /**
30
+ * The template to be used for custom rendering of the items.
31
+ *
32
+ * @type {(TemplateRef<any> | undefined)}
33
+ * @memberof SdsTimelineComponent
34
+ */
35
+ this.itemTemplate = undefined;
36
+ /**
37
+ * The frequency of the ticks on the timeline.
38
+ *
39
+ * @type {TimelineTickFrequency}
40
+ * @memberof SdsTimelineComponent
41
+ */
42
+ this.tickFrequency = 'hourly';
43
+ /**
44
+ * The current zoom level of the timeline. In percent.
45
+ *
46
+ * @type {number}
47
+ * @memberof SdsTimelineComponent
48
+ */
49
+ this.zoomPercent = 100;
50
+ /**
51
+ * The maximum allowed zoom level of the timeline. In percent.
52
+ *
53
+ * @type {number}
54
+ * @memberof SdsTimelineComponent
55
+ */
56
+ this.maxZoomPercent = 500;
57
+ /**
58
+ * Whether to show hour labels.
59
+ *
60
+ * @type {boolean}
61
+ * @memberof SdsTimelineComponent
62
+ */
63
+ this.showHourLabels = true;
64
+ /**
65
+ * Whether to show day labels.
66
+ *
67
+ * @type {boolean}
68
+ * @memberof SdsTimelineComponent
69
+ */
70
+ this.showDayLabels = false;
71
+ /**
72
+ * The height of the timeline. Default is 2rem.
73
+ *
74
+ * @type {string}
75
+ * @memberof SdsTimelineComponent
76
+ */
77
+ this.timelineHeight = '2rem';
78
+ /**
79
+ * Whether to enable zoom and drag functionality.
80
+ *
81
+ * @type {boolean}
82
+ * @memberof SdsTimelineComponent
83
+ */
84
+ this.enableZoomAndDrag = true;
85
+ /**
86
+ * Number of minutes added to start and stop to fit the data on the edges
87
+ *
88
+ * @type {number}
89
+ * @memberof SdsTimelineComponent
90
+ */
91
+ this.offSetMinutes = 15;
92
+ // protected
93
+ this.hourTicks = [];
94
+ this.hourLabels = [];
95
+ this.dayLabels = [];
96
+ this._timelineService = new SdsTimelineService(this.start, this.end, this.offSetMinutes);
97
+ this.presentationItems = [];
98
+ this.viewOffsetPercent = 0;
99
+ this.isDragging = false;
100
+ this.initialDragX = 0;
101
+ this.viewOffsetPercentDragStart = 0;
102
+ }
103
+ ngAfterViewInit() {
104
+ this.generateTicks();
105
+ }
106
+ ngOnChanges(changes) {
107
+ if (this.start && this.end) {
108
+ this._timelineService = new SdsTimelineService(this.start, this.end, this.offSetMinutes);
109
+ this.generateTicks();
110
+ this.generateInternalTimelineItems();
111
+ }
112
+ if (changes['start'] || changes['end']) {
113
+ this._timelineService = new SdsTimelineService(this.start, this.end, this.offSetMinutes);
114
+ }
115
+ if (changes['items']) {
116
+ this.generateInternalTimelineItems();
117
+ }
118
+ if (changes['zoomPercent']) {
119
+ this.viewOffsetPercent = (this.zoomPercent - 100) / -2;
120
+ }
121
+ if (changes['showDayLabels'] || changes['showHourLabels']) {
122
+ this.generateTicks();
123
+ }
124
+ }
125
+ ngOnInit() { }
126
+ //#region mouse wheel zoom
127
+ onScroll(event) {
128
+ if (this.enableZoomAndDrag) {
129
+ event.preventDefault();
130
+ const delta = Math.sign(event.deltaY);
131
+ const newZoomPercent = Math.min(Math.max(this.zoomPercent + -delta * 20, 100), this.maxZoomPercent);
132
+ const deltaZoomPercent = newZoomPercent - this.zoomPercent;
133
+ this.zoomPercent = newZoomPercent;
134
+ // get the relative position of the cursor on the viewport so we can zoom in into this position
135
+ const x = event.clientX - this._viewport?.nativeElement.getBoundingClientRect().left;
136
+ const cursorRelativePosition = x / this._viewport?.nativeElement.getBoundingClientRect().width;
137
+ this.viewOffsetPercent = this.viewOffsetPercent - deltaZoomPercent * cursorRelativePosition;
138
+ this.constrainOffset();
139
+ }
140
+ }
141
+ //#endregion
142
+ //#region dragging
143
+ onDragStart(event) {
144
+ if (this.enableZoomAndDrag) {
145
+ event.preventDefault();
146
+ this.isDragging = true;
147
+ this.viewOffsetPercentDragStart = this.viewOffsetPercent;
148
+ if (event instanceof MouseEvent) {
149
+ this.initialDragX = event.clientX;
150
+ }
151
+ else if (event instanceof TouchEvent) {
152
+ this.initialDragX = event.touches[0].clientX;
153
+ }
154
+ }
155
+ }
156
+ onDragMove(event) {
157
+ if (this.enableZoomAndDrag) {
158
+ if (this.isDragging) {
159
+ const currentX = event.clientX;
160
+ this.moveElement(currentX);
161
+ }
162
+ }
163
+ }
164
+ onDragMoveTouch(event) {
165
+ if (this.enableZoomAndDrag) {
166
+ if (this.isDragging) {
167
+ const currentX = event.touches[0].clientX;
168
+ this.moveElement(currentX);
169
+ }
170
+ }
171
+ }
172
+ onDragEnd(event) {
173
+ if (this.enableZoomAndDrag) {
174
+ this.isDragging = false;
175
+ }
176
+ }
177
+ moveElement(currentX) {
178
+ const diff = currentX - this.initialDragX;
179
+ if (this._viewport && this._viewport.nativeElement) {
180
+ const diffInPercent = (diff / this._viewport?.nativeElement.getBoundingClientRect().width) * 100;
181
+ this.viewOffsetPercent = this.viewOffsetPercentDragStart + diffInPercent;
182
+ this.constrainOffset();
183
+ }
184
+ }
185
+ //#endregion
186
+ constrainOffset() {
187
+ if (this.zoomPercent + this.viewOffsetPercent < 100) {
188
+ this.viewOffsetPercent = -this.zoomPercent + 100;
189
+ }
190
+ this.viewOffsetPercent = Math.min(0, this.viewOffsetPercent);
191
+ }
192
+ generateTicks() {
193
+ this.hourTicks = this._timelineService.getHourTicks(this.tickFrequency);
194
+ this.dayLabels = this._timelineService.dayLabels;
195
+ this.hourLabels = this._timelineService.hourLabels;
196
+ }
197
+ generateInternalTimelineItems() {
198
+ this.presentationItems = this.items.map((item) => {
199
+ const startTime = new Date(item.start).toLocaleTimeString([], { hour: 'numeric', minute: '2-digit' });
200
+ const endTime = new Date(item.end).toLocaleTimeString([], { hour: 'numeric', minute: '2-digit' });
201
+ const timeRange = `${startTime} - ${endTime}`;
202
+ return {
203
+ data: item.data,
204
+ x: this._timelineService.getX(item.start),
205
+ width: this._timelineService.getWidthFromTime(item.start, item.end),
206
+ hint: item.hint ?? timeRange
207
+ };
208
+ });
209
+ }
210
+ }
211
+ SdsTimelineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
212
+ SdsTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsTimelineComponent, selector: "sds-timeline", inputs: { start: "start", end: "end", items: "items", itemTemplate: "itemTemplate", tickFrequency: "tickFrequency", zoomPercent: "zoomPercent", maxZoomPercent: "maxZoomPercent", showHourLabels: "showHourLabels", showDayLabels: "showDayLabels", timelineHeight: "timelineHeight", enableZoomAndDrag: "enableZoomAndDrag" }, host: { listeners: { "window:mousemove": "onDragMove($event)", "window:touchmove": "onDragMoveTouch($event)", "window:mouseup": "onDragEnd($event)", "window:touchend": "onDragEnd($event)" } }, viewQueries: [{ propertyName: "_viewport", first: true, predicate: ["viewport"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #defaultItemTemplate let-item=\"item\">\r\n <div \r\n class=\"sds-timeline-item\"\r\n [title]=\"item.hint\"\r\n >\r\n </div>\r\n</ng-template>\r\n\r\n<div \r\n #viewport\r\n class=\"sds-timeline-viewport\"\r\n (wheel)=\"onScroll($event)\"\r\n\r\n (mousedown)=\"onDragStart($event)\"\r\n (touchstart)=\"onDragStart($event)\"\r\n >\r\n\r\n <div \r\n class=\"sds-timeline-container d-flex flex-column\"\r\n [style.left.%]=\"viewOffsetPercent\"\r\n [style.width.%]=\"zoomPercent\"\r\n [style.cursor]=\"isDragging ? 'ew-resize' : 'default'\"\r\n >\r\n\r\n <div\r\n *ngIf=\"showDayLabels\" \r\n class=\"sds-timeline-day-header\">\r\n\r\n <div \r\n *ngFor=\"let label of dayLabels\"\r\n class=\"sds-day-label font-monospace\" \r\n [style.left.%]=\"label.x\"\r\n [style.width.%]=\"label.width\"\r\n >\r\n <small>\r\n {{label.label}}\r\n </small>\r\n </div>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"showHourLabels\" \r\n class=\"sds-timeline-hour-header\">\r\n\r\n <div \r\n *ngFor=\"let label of hourLabels;\"\r\n class=\"sds-hour-label font-monospace\" \r\n [style.left.%]=\"label.x\"\r\n [style.width.%]=\"label.width\"\r\n >\r\n <small>\r\n {{label.label}}\r\n </small>\r\n </div>\r\n </div>\r\n\r\n <div \r\n class=\"sds-timeline flex-grow-1\"\r\n [style.height]=\"timelineHeight\"\r\n >\r\n\r\n <div \r\n *ngFor=\"let tick of hourTicks\"\r\n class=\"sds-timeline-tick\" \r\n [ngStyle]=\"tick.x == 100 ? {'left': 'calc(' + tick.x +'% - 1px)'} : {'left': 'calc(' + tick.x + '% - 0.5px)'}\"\r\n >\r\n </div>\r\n\r\n\r\n <div \r\n *ngFor=\"let item of presentationItems\"\r\n class=\"sds-timeline-item-container\"\r\n [ngStyle]=\"{'width': 'max(' + item.width +'%, 1px)'}\"\r\n [style.left.%]=\"item.x\"\r\n >\r\n\r\n <ng-container \r\n [ngTemplateOutlet]=\"itemTemplate ? itemTemplate : defaultItemTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item}\">\r\n </ng-container> \r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".sds-timeline-viewport{overflow:hidden}.sds-timeline-viewport .sds-timeline-container{width:100%;min-height:0;position:relative;-webkit-user-select:none;user-select:none}.sds-timeline-viewport .sds-timeline-container .sds-timeline-day-header{height:1.6rem;position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline-day-header .sds-day-label{position:absolute;display:inline;text-align:center}.sds-timeline-viewport .sds-timeline-container .sds-timeline-hour-header{height:1.6rem;position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline-hour-header .sds-hour-label{position:absolute;display:inline;text-align:center}.sds-timeline-viewport .sds-timeline-container .sds-timeline{position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-tick{border-left:1px solid #bbbbbb;height:100%;position:absolute;display:inline}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-item-container{height:100%;position:absolute;display:inline}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-item-container .sds-timeline-item{position:relative;top:20%;height:60%;width:100%;background-color:#4a8399}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsTimelineComponent, decorators: [{
214
+ type: Component,
215
+ args: [{ selector: 'sds-timeline', template: "<ng-template #defaultItemTemplate let-item=\"item\">\r\n <div \r\n class=\"sds-timeline-item\"\r\n [title]=\"item.hint\"\r\n >\r\n </div>\r\n</ng-template>\r\n\r\n<div \r\n #viewport\r\n class=\"sds-timeline-viewport\"\r\n (wheel)=\"onScroll($event)\"\r\n\r\n (mousedown)=\"onDragStart($event)\"\r\n (touchstart)=\"onDragStart($event)\"\r\n >\r\n\r\n <div \r\n class=\"sds-timeline-container d-flex flex-column\"\r\n [style.left.%]=\"viewOffsetPercent\"\r\n [style.width.%]=\"zoomPercent\"\r\n [style.cursor]=\"isDragging ? 'ew-resize' : 'default'\"\r\n >\r\n\r\n <div\r\n *ngIf=\"showDayLabels\" \r\n class=\"sds-timeline-day-header\">\r\n\r\n <div \r\n *ngFor=\"let label of dayLabels\"\r\n class=\"sds-day-label font-monospace\" \r\n [style.left.%]=\"label.x\"\r\n [style.width.%]=\"label.width\"\r\n >\r\n <small>\r\n {{label.label}}\r\n </small>\r\n </div>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"showHourLabels\" \r\n class=\"sds-timeline-hour-header\">\r\n\r\n <div \r\n *ngFor=\"let label of hourLabels;\"\r\n class=\"sds-hour-label font-monospace\" \r\n [style.left.%]=\"label.x\"\r\n [style.width.%]=\"label.width\"\r\n >\r\n <small>\r\n {{label.label}}\r\n </small>\r\n </div>\r\n </div>\r\n\r\n <div \r\n class=\"sds-timeline flex-grow-1\"\r\n [style.height]=\"timelineHeight\"\r\n >\r\n\r\n <div \r\n *ngFor=\"let tick of hourTicks\"\r\n class=\"sds-timeline-tick\" \r\n [ngStyle]=\"tick.x == 100 ? {'left': 'calc(' + tick.x +'% - 1px)'} : {'left': 'calc(' + tick.x + '% - 0.5px)'}\"\r\n >\r\n </div>\r\n\r\n\r\n <div \r\n *ngFor=\"let item of presentationItems\"\r\n class=\"sds-timeline-item-container\"\r\n [ngStyle]=\"{'width': 'max(' + item.width +'%, 1px)'}\"\r\n [style.left.%]=\"item.x\"\r\n >\r\n\r\n <ng-container \r\n [ngTemplateOutlet]=\"itemTemplate ? itemTemplate : defaultItemTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item}\">\r\n </ng-container> \r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".sds-timeline-viewport{overflow:hidden}.sds-timeline-viewport .sds-timeline-container{width:100%;min-height:0;position:relative;-webkit-user-select:none;user-select:none}.sds-timeline-viewport .sds-timeline-container .sds-timeline-day-header{height:1.6rem;position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline-day-header .sds-day-label{position:absolute;display:inline;text-align:center}.sds-timeline-viewport .sds-timeline-container .sds-timeline-hour-header{height:1.6rem;position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline-hour-header .sds-hour-label{position:absolute;display:inline;text-align:center}.sds-timeline-viewport .sds-timeline-container .sds-timeline{position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-tick{border-left:1px solid #bbbbbb;height:100%;position:absolute;display:inline}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-item-container{height:100%;position:absolute;display:inline}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-item-container .sds-timeline-item{position:relative;top:20%;height:60%;width:100%;background-color:#4a8399}\n"] }]
216
+ }], ctorParameters: function () { return []; }, propDecorators: { start: [{
217
+ type: Input
218
+ }], end: [{
219
+ type: Input
220
+ }], items: [{
221
+ type: Input
222
+ }], itemTemplate: [{
223
+ type: Input
224
+ }], tickFrequency: [{
225
+ type: Input
226
+ }], zoomPercent: [{
227
+ type: Input
228
+ }], maxZoomPercent: [{
229
+ type: Input
230
+ }], showHourLabels: [{
231
+ type: Input
232
+ }], showDayLabels: [{
233
+ type: Input
234
+ }], timelineHeight: [{
235
+ type: Input
236
+ }], enableZoomAndDrag: [{
237
+ type: Input
238
+ }], _viewport: [{
239
+ type: ViewChild,
240
+ args: ['viewport', { static: true }]
241
+ }], onDragMove: [{
242
+ type: HostListener,
243
+ args: ['window:mousemove', ['$event']]
244
+ }], onDragMoveTouch: [{
245
+ type: HostListener,
246
+ args: ['window:touchmove', ['$event']]
247
+ }], onDragEnd: [{
248
+ type: HostListener,
249
+ args: ['window:mouseup', ['$event']]
250
+ }, {
251
+ type: HostListener,
252
+ args: ['window:touchend', ['$event']]
253
+ }] } });
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvdGltZWxpbmUvY29tcG9uZW50cy90aW1lbGluZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lbGluZS9jb21wb25lbnRzL3RpbWVsaW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFLTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQWFsRSxNQUFNLE9BQU8sb0JBQW9CO0lBdUg3QjtRQXRIQTs7Ozs7V0FLRztRQUNNLFVBQUssR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRWxDOzs7OztXQUtHO1FBQ00sUUFBRyxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFFaEM7Ozs7OztXQU1HO1FBQ00sVUFBSyxHQUFtQixFQUFFLENBQUM7UUFFcEM7Ozs7O1dBS0c7UUFDTSxpQkFBWSxHQUFpQyxTQUFTLENBQUM7UUFFaEU7Ozs7O1dBS0c7UUFDTSxrQkFBYSxHQUEwQixRQUFRLENBQUM7UUFDekQ7Ozs7O1dBS0c7UUFDTSxnQkFBVyxHQUFXLEdBQUcsQ0FBQztRQUVuQzs7Ozs7V0FLRztRQUNNLG1CQUFjLEdBQVcsR0FBRyxDQUFDO1FBRXRDOzs7OztXQUtHO1FBQ00sbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFFeEM7Ozs7O1dBS0c7UUFDTSxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUV4Qzs7Ozs7V0FLRztRQUNNLG1CQUFjLEdBQVcsTUFBTSxDQUFDO1FBRXpDOzs7OztXQUtHO1FBQ00sc0JB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O3NCQUFiLEtBQUs7Z0JBUUcsWUFBWTtzQkFBcEIsS0FBSztnQkFRRyxhQUFhO3NCQUFyQixLQUFLO2dCQU9HLFdBQVc7c0JBQW5CLEtBQUs7Z0JBUUcsY0FBYztzQkFBdEIsS0FBSztnQkFRRyxjQUFjO3NCQUF0QixLQUFLO2dCQVFHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBUUcsY0FBYztzQkFBdEIsS0FBSztnQkFRRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBOEJtQyxTQUFTO3NCQUFqRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBbUZoQyxVQUFVO3NCQURoQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVc1QyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBWXJDLFNBQVM7c0JBRmYsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3pDLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIENvbXBvbmVudCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBIb3N0TGlzdGVuZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9uSW5pdCxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbiAgICBUZW1wbGF0ZVJlZixcclxuICAgIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGltZWxpbmVUaWNrRnJlcXVlbmN5IH0gZnJvbSAnLi4vdHlwZXMvdGltZWxpbmUudHlwZXMnO1xyXG5pbXBvcnQgeyBTZHNUaW1lbGluZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90aW1lbGluZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICAgIFRpbWVsaW5lSW50ZXJ2YWxMYWJlbCxcclxuICAgIFRpbWVsaW5lSXRlbSxcclxuICAgIFRpbWVsaW5lSXRlbVByZXNlbnRhdGlvbixcclxuICAgIFRpbWVsaW5lVGljayxcclxufSBmcm9tICcuLi9tb2RlbHMvdGltZWxpbmUubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Nkcy10aW1lbGluZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGltZWxpbmUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdGltZWxpbmUuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkc1RpbWVsaW5lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc3RhcnQgZGF0ZSBhbmQgdGltZSBmb3IgdGhlIHRpbWVsaW5lLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtEYXRlfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHN0YXJ0OiBEYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBlbmQgZGF0ZSBhbmQgdGltZSBmb3IgdGhlIHRpbWVsaW5lLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtEYXRlfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGVuZDogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgaXRlbXMgdG8gYmUgZGlzcGxheWVkIG9uIHRoZSB0aW1lbGluZS4gU3BlY2lmeSBkYXRhIGlmIHlvdSBuZWVkIFxyXG4gICAgICogYWRkaXRpb25hbCBkYXRhIGZvciBjdXN0b20gcmVuZGVyaW5nIG9mIHRoZSBpdGVtcy5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7VGltZWxpbmVJdGVtW119XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgaXRlbXM6IFRpbWVsaW5lSXRlbVtdID0gW107XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdGVtcGxhdGUgdG8gYmUgdXNlZCBmb3IgY3VzdG9tIHJlbmRlcmluZyBvZiB0aGUgaXRlbXMuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUgeyhUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkKX1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgZnJlcXVlbmN5IG9mIHRoZSB0aWNrcyBvbiB0aGUgdGltZWxpbmUuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge1RpbWVsaW5lVGlja0ZyZXF1ZW5jeX1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB0aWNrRnJlcXVlbmN5OiBUaW1lbGluZVRpY2tGcmVxdWVuY3kgPSAnaG91cmx5JztcclxuICAgIC8qKlxyXG4gICAgICogVGhlIGN1cnJlbnQgem9vbSBsZXZlbCBvZiB0aGUgdGltZWxpbmUuIEluIHBlcmNlbnQuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge251bWJlcn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB6b29tUGVyY2VudDogbnVtYmVyID0gMTAwO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG1heGltdW0gYWxsb3dlZCB6b29tIGxldmVsIG9mIHRoZSB0aW1lbGluZS4gSW4gcGVyY2VudC5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIG1heFpvb21QZXJjZW50OiBudW1iZXIgPSA1MDA7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXaGV0aGVyIHRvIHNob3cgaG91ciBsYWJlbHMuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgc2hvd0hvdXJMYWJlbHM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hldGhlciB0byBzaG93IGRheSBsYWJlbHMuIFxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHNob3dEYXlMYWJlbHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBoZWlnaHQgb2YgdGhlIHRpbWVsaW5lLiBEZWZhdWx0IGlzIDJyZW0uXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge3N0cmluZ31cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB0aW1lbGluZUhlaWdodDogc3RyaW5nID0gJzJyZW0nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hldGhlciB0byBlbmFibGUgem9vbSBhbmQgZHJhZyBmdW5jdGlvbmFsaXR5LlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGVuYWJsZVpvb21BbmREcmFnOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE51bWJlciBvZiBtaW51dGVzIGFkZGVkIHRvIHN0YXJ0IGFuZCBzdG9wIHRvIGZpdCB0aGUgZGF0YSBvbiB0aGUgZWRnZXNcclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIG9mZlNldE1pbnV0ZXM6IG51bWJlciA9IDE1O1xyXG5cclxuICAgIC8vIHByb3RlY3RlZFxyXG4gICAgaG91clRpY2tzOiBUaW1lbGluZVRpY2tbXSA9IFtdO1xyXG4gICAgaG91ckxhYmVsczogVGltZWxpbmVJbnRlcnZhbExhYmVsW10gPSBbXTtcclxuICAgIGRheUxhYmVsczogVGltZWxpbmVJbnRlcnZhbExhYmVsW10gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIF90aW1lbGluZVNlcnZpY2U6IFNkc1RpbWVsaW5lU2VydmljZSA9IG5ldyBTZHNUaW1lbGluZVNlcnZpY2UoXHJcbiAgICAgICAgdGhpcy5zdGFydCxcclxuICAgICAgICB0aGlzLmVuZCxcclxuICAgICAgICB0aGlzLm9mZlNldE1pbnV0ZXNcclxuICAgICk7XHJcblxyXG4gICAgcHVibGljIHByZXNlbnRhdGlvbkl0ZW1zOiBUaW1lbGluZUl0ZW1QcmVzZW50YXRpb25bXSA9IFtdO1xyXG5cclxuICAgIHB1YmxpYyB2aWV3T2Zmc2V0UGVyY2VudCA9IDA7XHJcblxyXG4gICAgcHVibGljIGlzRHJhZ2dpbmcgPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpbml0aWFsRHJhZ1ggPSAwO1xyXG5cclxuICAgIHByaXZhdGUgdmlld09mZnNldFBlcmNlbnREcmFnU3RhcnQgPSAwO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ3ZpZXdwb3J0JywgeyBzdGF0aWM6IHRydWUgfSkgX3ZpZXdwb3J0OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVRpY2tzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnN0YXJ0ICYmIHRoaXMuZW5kKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lU2VydmljZSA9IG5ldyBTZHNUaW1lbGluZVNlcnZpY2UoXHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5lbmQsXHJcbiAgICAgICAgICAgICAgICB0aGlzLm9mZlNldE1pbnV0ZXNcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZVRpY2tzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVJbnRlcm5hbFRpbWVsaW5lSXRlbXMoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzWydzdGFydCddIHx8IGNoYW5nZXNbJ2VuZCddKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lU2VydmljZSA9IG5ldyBTZHNUaW1lbGluZVNlcnZpY2UoXHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5lbmQsXHJcbiAgICAgICAgICAgICAgICB0aGlzLm9mZlNldE1pbnV0ZXNcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzWydpdGVtcyddKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVJbnRlcm5hbFRpbWVsaW5lSXRlbXMoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzWyd6b29tUGVyY2VudCddKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmlld09mZnNldFBlcmNlbnQgPSAodGhpcy56b29tUGVyY2VudCAtIDEwMCkgLyAtMjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzWydzaG93RGF5TGFiZWxzJ10gfHwgY2hhbmdlc1snc2hvd0hvdXJMYWJlbHMnXSkge1xyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlVGlja3MoKTtcclxuICAgICAgICB9ICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICAgIC8vI3JlZ2lvbiBtb3VzZSB3aGVlbCB6b29tXHJcbiAgICBvblNjcm9sbChldmVudDogV2hlZWxFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZVpvb21BbmREcmFnKSB7XHJcblxyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgZGVsdGEgPSBNYXRoLnNpZ24oZXZlbnQuZGVsdGFZKTtcclxuICAgICAgICAgICAgY29uc3QgbmV3Wm9vbVBlcmNlbnQgPSBNYXRoLm1pbihcclxuICAgICAgICAgICAgICAgIE1hdGgubWF4KHRoaXMuem9vbVBlcmNlbnQgKyAtZGVsdGEgKiAyMCwgMTAwKSxcclxuICAgICAgICAgICAgICAgIHRoaXMubWF4Wm9vbVBlcmNlbnRcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgY29uc3QgZGVsdGFab29tUGVyY2VudCA9IG5ld1pvb21QZXJjZW50IC0gdGhpcy56b29tUGVyY2VudDtcclxuICAgICAgICAgICAgdGhpcy56b29tUGVyY2VudCA9IG5ld1pvb21QZXJjZW50O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLy8gZ2V0IHRoZSByZWxhdGl2ZSBwb3NpdGlvbiBvZiB0aGUgY3Vyc29yIG9uIHRoZSB2aWV3cG9ydCBzbyB3ZSBjYW4gem9vbSBpbiBpbnRvIHRoaXMgcG9zaXRpb25cclxuICAgICAgICAgICAgY29uc3QgeCA9IGV2ZW50LmNsaWVudFggLSB0aGlzLl92aWV3cG9ydD8ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0O1xyXG4gICAgICAgICAgICBjb25zdCBjdXJzb3JSZWxhdGl2ZVBvc2l0aW9uID0geCAvIHRoaXMuX3ZpZXdwb3J0Py5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdPZmZzZXRQZXJjZW50ID0gdGhpcy52aWV3T2Zmc2V0UGVyY2VudCAtIGRlbHRhWm9vbVBlcmNlbnQgKiBjdXJzb3JSZWxhdGl2ZVBvc2l0aW9uO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5jb25zdHJhaW5PZmZzZXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gZHJhZ2dpbmdcclxuICAgIFxyXG4gICAgcHVibGljIG9uRHJhZ1N0YXJ0KGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZVpvb21BbmREcmFnKSB7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudmlld09mZnNldFBlcmNlbnREcmFnU3RhcnQgPSB0aGlzLnZpZXdPZmZzZXRQZXJjZW50O1xyXG5cclxuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsRHJhZ1ggPSBldmVudC5jbGllbnRYO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgVG91Y2hFdmVudCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsRHJhZ1ggPSBldmVudC50b3VjaGVzWzBdLmNsaWVudFg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93Om1vdXNlbW92ZScsIFsnJGV2ZW50J10pXHJcbiAgICBwdWJsaWMgb25EcmFnTW92ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZVpvb21BbmREcmFnKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRHJhZ2dpbmcpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRYID0gZXZlbnQuY2xpZW50WDtcclxuICAgICAgICAgICAgICAgIHRoaXMubW92ZUVsZW1lbnQoY3VycmVudFgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzp0b3VjaG1vdmUnLCBbJyRldmVudCddKVxyXG4gICAgb25EcmFnTW92ZVRvdWNoKGV2ZW50OiBUb3VjaEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlWm9vbUFuZERyYWcpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNEcmFnZ2luZykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFggPSBldmVudC50b3VjaGVzWzBdLmNsaWVudFg7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVFbGVtZW50KGN1cnJlbnRYKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bW91c2V1cCcsIFsnJGV2ZW50J10pXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6dG91Y2hlbmQnLCBbJyRldmVudCddKVxyXG4gICAgcHVibGljIG9uRHJhZ0VuZChldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5lbmFibGVab29tQW5kRHJhZykge1xyXG4gICAgICAgICAgICB0aGlzLmlzRHJhZ2dpbmcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBtb3ZlRWxlbWVudChjdXJyZW50WDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZGlmZiA9IGN1cnJlbnRYIC0gdGhpcy5pbml0aWFsRHJhZ1g7XHJcbiAgICAgICAgaWYgKHRoaXMuX3ZpZXdwb3J0ICYmIHRoaXMuX3ZpZXdwb3J0Lm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgY29uc3QgZGlmZkluUGVyY2VudCA9IChkaWZmIC8gdGhpcy5fdmlld3BvcnQ/Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgpICogMTAwO1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdPZmZzZXRQZXJjZW50ID0gdGhpcy52aWV3T2Zmc2V0UGVyY2VudERyYWdTdGFydCArIGRpZmZJblBlcmNlbnQ7XHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RyYWluT2Zmc2V0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIHByaXZhdGUgY29uc3RyYWluT2Zmc2V0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnpvb21QZXJjZW50ICsgdGhpcy52aWV3T2Zmc2V0UGVyY2VudCA8IDEwMCkge1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdPZmZzZXRQZXJjZW50ID0gLXRoaXMuem9vbVBlcmNlbnQgKyAxMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmlld09mZnNldFBlcmNlbnQgPSBNYXRoLm1pbigwLCB0aGlzLnZpZXdPZmZzZXRQZXJjZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdlbmVyYXRlVGlja3MoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5ob3VyVGlja3MgPSB0aGlzLl90aW1lbGluZVNlcnZpY2UuZ2V0SG91clRpY2tzKHRoaXMudGlja0ZyZXF1ZW5jeSk7XHJcbiAgICAgICAgdGhpcy5kYXlMYWJlbHMgPSB0aGlzLl90aW1lbGluZVNlcnZpY2UuZGF5TGFiZWxzO1xyXG4gICAgICAgIHRoaXMuaG91ckxhYmVscyA9IHRoaXMuX3RpbWVsaW5lU2VydmljZS5ob3VyTGFiZWxzO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2VuZXJhdGVJbnRlcm5hbFRpbWVsaW5lSXRlbXMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5wcmVzZW50YXRpb25JdGVtcyA9IHRoaXMuaXRlbXMubWFwKChpdGVtKSA9PiB7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBzdGFydFRpbWUgPSBuZXcgRGF0ZShpdGVtLnN0YXJ0KS50b0xvY2FsZVRpbWVTdHJpbmcoW10sIHsgaG91cjogJ251bWVyaWMnLCBtaW51dGU6ICcyLWRpZ2l0JyB9KTtcclxuICAgICAgICAgICAgY29uc3QgZW5kVGltZSA9IG5ldyBEYXRlKGl0ZW0uZW5kKS50b0xvY2FsZVRpbWVTdHJpbmcoW10sIHsgaG91cjogJ251bWVyaWMnLCBtaW51dGU6ICcyLWRpZ2l0JyB9KTtcclxuICAgICAgICAgICAgY29uc3QgdGltZVJhbmdlID0gYCR7c3RhcnRUaW1lfSAtICR7ZW5kVGltZX1gO1xyXG4gICAgXHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBkYXRhOiBpdGVtLmRhdGEsXHJcbiAgICAgICAgICAgICAgICB4OiB0aGlzLl90aW1lbGluZVNlcnZpY2UuZ2V0WChpdGVtLnN0YXJ0KSxcclxuICAgICAgICAgICAgICAgIHdpZHRoOiB0aGlzLl90aW1lbGluZVNlcnZpY2UuZ2V0V2lkdGhGcm9tVGltZShcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnN0YXJ0LFxyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uZW5kXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgaGludDogaXRlbS5oaW50ID8/IHRpbWVSYW5nZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEl0ZW1UZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICAgIDxkaXYgXHJcbiAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUtaXRlbVwiXHJcbiAgICAgICAgW3RpdGxlXT1cIml0ZW0uaGludFwiXHJcbiAgICAgICAgPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48ZGl2IFxyXG4gICAgI3ZpZXdwb3J0XHJcbiAgICBjbGFzcz1cInNkcy10aW1lbGluZS12aWV3cG9ydFwiXHJcbiAgICAod2hlZWwpPVwib25TY3JvbGwoJGV2ZW50KVwiXHJcblxyXG4gICAgKG1vdXNlZG93bik9XCJvbkRyYWdTdGFydCgkZXZlbnQpXCJcclxuICAgICh0b3VjaHN0YXJ0KT1cIm9uRHJhZ1N0YXJ0KCRldmVudClcIlxyXG4gICAgPlxyXG5cclxuICAgIDxkaXYgXHJcbiAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUtY29udGFpbmVyIGQtZmxleCBmbGV4LWNvbHVtblwiXHJcbiAgICAgICAgW3N0eWxlLmxlZnQuJV09XCJ2aWV3T2Zmc2V0UGVyY2VudFwiXHJcbiAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwiem9vbVBlcmNlbnRcIlxyXG4gICAgICAgIFtzdHlsZS5jdXJzb3JdPVwiaXNEcmFnZ2luZyA/ICdldy1yZXNpemUnIDogJ2RlZmF1bHQnXCJcclxuICAgICAgICA+XHJcblxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgKm5nSWY9XCJzaG93RGF5TGFiZWxzXCIgXHJcbiAgICAgICAgICAgIGNsYXNzPVwic2RzLXRpbWVsaW5lLWRheS1oZWFkZXJcIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbGFiZWwgb2YgZGF5TGFiZWxzXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2RzLWRheS1sYWJlbCBmb250LW1vbm9zcGFjZVwiICBcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LiVdPVwibGFiZWwueFwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGguJV09XCJsYWJlbC53aWR0aFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxzbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICB7e2xhYmVsLmxhYmVsfX1cclxuICAgICAgICAgICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAqbmdJZj1cInNob3dIb3VyTGFiZWxzXCIgXHJcbiAgICAgICAgICAgIGNsYXNzPVwic2RzLXRpbWVsaW5lLWhvdXItaGVhZGVyXCI+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxhYmVsIG9mIGhvdXJMYWJlbHM7XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2RzLWhvdXItbGFiZWwgZm9udC1tb25vc3BhY2VcIiAgXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC4lXT1cImxhYmVsLnhcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwibGFiZWwud2lkdGhcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAge3tsYWJlbC5sYWJlbH19XHJcbiAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUgZmxleC1ncm93LTFcIlxyXG4gICAgICAgICAgICBbc3R5bGUuaGVpZ2h0XT1cInRpbWVsaW5lSGVpZ2h0XCJcclxuICAgICAgICAgICAgPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0aWNrIG9mIGhvdXJUaWNrc1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNkcy10aW1lbGluZS10aWNrXCIgIFxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwidGljay54ID09IDEwMCA/IHsnbGVmdCc6ICdjYWxjKCcgKyB0aWNrLnggKyclIC0gMXB4KSd9IDogeydsZWZ0JzogJ2NhbGMoJyArIHRpY2sueCArICclIC0gMC41cHgpJ31cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwcmVzZW50YXRpb25JdGVtc1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNkcy10aW1lbGluZS1pdGVtLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7J3dpZHRoJzogJ21heCgnICsgaXRlbS53aWR0aCArJyUsIDFweCknfVwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC4lXT1cIml0ZW0ueFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcblxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBcclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVGVtcGxhdGUgPyBpdGVtVGVtcGxhdGUgOiBkZWZhdWx0SXRlbVRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06IGl0ZW19XCI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gIFxyXG5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lbGluZS9tb2RlbHMvdGltZWxpbmUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVUaWNrIHtcclxuICAgIGRhdGU6IERhdGU7XHJcbiAgICB4OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVJbnRlcnZhbExhYmVsIHtcclxuICAgIHg6IG51bWJlcjtcclxuICAgIHdpZHRoOiBudW1iZXI7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVsaW5lSXRlbSB7XHJcbiAgICBkYXRhPzogYW55O1xyXG5cclxuICAgIHN0YXJ0OiBEYXRlO1xyXG4gICAgZW5kOiBEYXRlO1xyXG5cclxuICAgIGhpbnQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVJdGVtUHJlc2VudGF0aW9uIHtcclxuICAgIGRhdGE/OiBhbnk7XHJcblxyXG4gICAgeDogbnVtYmVyO1xyXG4gICAgd2lkdGg6IG51bWJlcjtcclxuXHJcbiAgICBoaW50Pzogc3RyaW5nO1xyXG59Il19
@@ -0,0 +1,3 @@
1
+ export * from './timeline.module';
2
+ export * from './components/timeline.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3RpbWVsaW5lL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90aW1lbGluZS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGltZWxpbmUuY29tcG9uZW50JztcclxuXHJcblxyXG4iXX0=
@@ -0,0 +1,115 @@
1
+ export class SdsTimelineService {
2
+ constructor(start, end, offSetMinutes) {
3
+ this.start = new Date();
4
+ this.end = new Date();
5
+ this.hourTicks = [];
6
+ this.dayLabels = [];
7
+ this.hourLabels = [];
8
+ this.start = new Date(start);
9
+ this.start.setMinutes(this.start.getMinutes() - offSetMinutes);
10
+ this.end = new Date(end);
11
+ this.end.setMinutes(this.end.getMinutes() + offSetMinutes);
12
+ this.widthPercentPerMinute = (100 / this.diffInMinutes(start, end));
13
+ this.initHourTicks();
14
+ this.initDayLabels();
15
+ this.initHourLabels();
16
+ }
17
+ getX(time) {
18
+ return this.diffInMinutes(this.start, time) * this.widthPercentPerMinute;
19
+ }
20
+ getWidthFromMinutes(minutes) {
21
+ return minutes * this.widthPercentPerMinute;
22
+ }
23
+ getWidthFromTime(start, end) {
24
+ return this.getWidthFromMinutes(this.diffInMinutes(start, end));
25
+ }
26
+ getTick(time) {
27
+ return {
28
+ date: new Date(time),
29
+ x: this.getX(time),
30
+ };
31
+ }
32
+ getHourTicks(frequency = 'hourly') {
33
+ if (frequency == 'hourly') {
34
+ return this.hourTicks;
35
+ }
36
+ else if (frequency == '3hrs') {
37
+ return this.hourTicks.filter((tick, index) => index % 3 == 0);
38
+ }
39
+ else if (frequency == '6hrs') {
40
+ return this.hourTicks.filter((tick, index) => index % 6 == 0);
41
+ }
42
+ return [];
43
+ }
44
+ //#region Private Methods
45
+ diffInMinutes(start, end) {
46
+ return (end.getTime() - start.getTime()) / (1000 * 60);
47
+ }
48
+ roundHoursUp(time) {
49
+ let newTime = new Date(time);
50
+ if (newTime.getMinutes() > 0 || newTime.getSeconds() > 0 || newTime.getMilliseconds() > 0) {
51
+ newTime.setHours(newTime.getHours() + 1);
52
+ }
53
+ newTime.setMinutes(0, 0, 0);
54
+ return newTime;
55
+ }
56
+ roundHoursDown(time) {
57
+ let newTime = new Date(time);
58
+ newTime.setMinutes(0, 0, 0);
59
+ return newTime;
60
+ }
61
+ initHourTicks() {
62
+ this.hourTicks = [];
63
+ // get first whole hour from start date
64
+ let startHour = this.roundHoursUp(this.start);
65
+ // get last whole hour from end date
66
+ let endHour = this.roundHoursDown(this.end);
67
+ let currentHour = new Date(startHour);
68
+ while (currentHour <= endHour) {
69
+ this.hourTicks.push(this.getTick(currentHour));
70
+ currentHour.setHours(currentHour.getHours() + 1);
71
+ }
72
+ }
73
+ initDayLabels() {
74
+ this.dayLabels = [];
75
+ // get start date at the beginning of the day
76
+ let startDate = new Date(this.start);
77
+ startDate.setHours(0, 0, 0, 0);
78
+ // get end date at the end of the day
79
+ let endDate = new Date(this.end);
80
+ endDate.setHours(23, 59, 59, 999);
81
+ let currentDate = new Date(startDate);
82
+ while (currentDate <= endDate) {
83
+ let endOfCurrentDay = new Date(currentDate);
84
+ endOfCurrentDay.setHours(23, 59, 59, 999);
85
+ this.dayLabels.push({
86
+ // date: new Date(currentDate),
87
+ x: this.getX(new Date(currentDate)),
88
+ width: this.getWidthFromTime(currentDate, endOfCurrentDay),
89
+ label: currentDate.toLocaleDateString([], { weekday: 'long', day: 'numeric', month: 'long', year: 'numeric' })
90
+ });
91
+ currentDate.setDate(currentDate.getDate() + 1);
92
+ }
93
+ }
94
+ initHourLabels() {
95
+ // get first whole hour from start date
96
+ let startHour = this.roundHoursUp(this.start);
97
+ // get last whole hour from end date
98
+ let endHour = this.roundHoursDown(this.end);
99
+ let currentHour = new Date(startHour);
100
+ while (currentHour <= endHour) {
101
+ if (currentHour.getHours() % 3 === 0) {
102
+ let labelStartTime = new Date(currentHour);
103
+ labelStartTime.setMinutes(-30);
104
+ this.hourLabels.push({
105
+ x: this.getX(labelStartTime),
106
+ width: this.getWidthFromMinutes(60),
107
+ label: currentHour.getHours().toString() //currentHour.toLocaleTimeString([], { hour: 'numeric'})
108
+ });
109
+ currentHour.setHours(currentHour.getHours() + 2);
110
+ }
111
+ currentHour.setHours(currentHour.getHours() + 1);
112
+ }
113
+ }
114
+ }
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3RpbWVsaW5lL3NlcnZpY2VzL3RpbWVsaW5lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLGtCQUFrQjtJQVczQixZQUFZLEtBQVcsRUFBRSxHQUFTLEVBQUUsYUFBcUI7UUFUakQsVUFBSyxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFDekIsUUFBRyxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFJdkIsY0FBUyxHQUFtQixFQUFFLENBQUM7UUFDaEMsY0FBUyxHQUE0QixFQUFFLENBQUM7UUFDeEMsZUFBVSxHQUE0QixFQUFFLENBQUM7UUFHNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLGFBQWEsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxhQUFhLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVwRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sSUFBSSxDQUFDLElB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LENBQUMsQ0FBQzthQUNwRDtZQUNELFdBQVcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3BEO0lBQ0wsQ0FBQztDQUlKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUaW1lbGluZUludGVydmFsTGFiZWwsIFRpbWVsaW5lVGljayB9IGZyb20gJy4uL21vZGVscy90aW1lbGluZS5tb2RlbCc7XHJcbmltcG9ydCB7IFRpbWVsaW5lVGlja0ZyZXF1ZW5jeSB9IGZyb20gJy4uL3R5cGVzL3RpbWVsaW5lLnR5cGVzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBTZHNUaW1lbGluZVNlcnZpY2Uge1xyXG5cclxuICAgIHByaXZhdGUgc3RhcnQ6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgcHJpdmF0ZSBlbmQ6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICAgIHByaXZhdGUgd2lkdGhQZXJjZW50UGVyTWludXRlOiBudW1iZXI7XHJcblxyXG4gICAgcHJpdmF0ZSBob3VyVGlja3M6IFRpbWVsaW5lVGlja1tdID0gW107XHJcbiAgICBwdWJsaWMgZGF5TGFiZWxzOiBUaW1lbGluZUludGVydmFsTGFiZWxbXSA9IFtdO1xyXG4gICAgcHVibGljIGhvdXJMYWJlbHM6IFRpbWVsaW5lSW50ZXJ2YWxMYWJlbFtdID0gW107XHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yKHN0YXJ0OiBEYXRlLCBlbmQ6IERhdGUsIG9mZlNldE1pbnV0ZXM6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuc3RhcnQgPSBuZXcgRGF0ZShzdGFydCk7XHJcbiAgICAgICAgdGhpcy5zdGFydC5zZXRNaW51dGVzKHRoaXMuc3RhcnQuZ2V0TWludXRlcygpIC0gb2ZmU2V0TWludXRlcyk7XHJcbiAgICAgICAgdGhpcy5lbmQgPSBuZXcgRGF0ZShlbmQpOyBcclxuICAgICAgICB0aGlzLmVuZC5zZXRNaW51dGVzKHRoaXMuZW5kLmdldE1pbnV0ZXMoKSArIG9mZlNldE1pbnV0ZXMpO1xyXG4gICAgICAgIHRoaXMud2lkdGhQZXJjZW50UGVyTWludXRlID0gKDEwMCAvIHRoaXMuZGlmZkluTWludXRlcyhzdGFydCwgZW5kKSk7XHJcblxyXG4gICAgICAgIHRoaXMuaW5pdEhvdXJUaWNrcygpO1xyXG4gICAgICAgIHRoaXMuaW5pdERheUxhYmVscygpO1xyXG4gICAgICAgIHRoaXMuaW5pdEhvdXJMYWJlbHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0WCh0aW1lOiBEYXRlKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kaWZmSW5NaW51dGVzKHRoaXMuc3RhcnQsIHRpbWUpICogdGhpcy53aWR0aFBlcmNlbnRQZXJNaW51dGU7ICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0V2lkdGhGcm9tTWludXRlcyhtaW51dGVzOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBtaW51dGVzICogdGhpcy53aWR0aFBlcmNlbnRQZXJNaW51dGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldFdpZHRoRnJvbVRpbWUoc3RhcnQ6IERhdGUsIGVuZDogRGF0ZSk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0V2lkdGhGcm9tTWludXRlcyh0aGlzLmRpZmZJbk1pbnV0ZXMoc3RhcnQsIGVuZCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRUaWNrKHRpbWU6IERhdGUpOiBUaW1lbGluZVRpY2sge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKHRpbWUpLFxyXG4gICAgICAgICAgICB4OiB0aGlzLmdldFgodGltZSksXHJcbiAgICAgICAgfSAgICAgICAgXHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBnZXRIb3VyVGlja3MoZnJlcXVlbmN5OiBUaW1lbGluZVRpY2tGcmVxdWVuY3kgPSAnaG91cmx5Jyk6IFRpbWVsaW5lVGlja1tdIHtcclxuICAgICAgICBpZiAoZnJlcXVlbmN5ID09ICdob3VybHknKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhvdXJUaWNrcztcclxuICAgICAgICB9IGVsc2UgaWYgKGZyZXF1ZW5jeSA9PSAnM2hycycpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaG91clRpY2tzLmZpbHRlcigodGljaywgaW5kZXgpID0+ICBpbmRleCAlIDMgPT0gMClcclxuICAgICAgICB9IGVsc2UgaWYgKGZyZXF1ZW5jeSA9PSAnNmhycycpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaG91clRpY2tzLmZpbHRlcigodGljaywgaW5kZXgpID0+ICBpbmRleCAlIDYgPT0gMClcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFtdXHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcclxuXHJcbiAgICBwcml2YXRlIGRpZmZJbk1pbnV0ZXMoc3RhcnQ6IERhdGUsIGVuZDogRGF0ZSk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIChlbmQuZ2V0VGltZSgpIC0gc3RhcnQuZ2V0VGltZSgpKSAvICgxMDAwICogNjApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcm91bmRIb3Vyc1VwKHRpbWU6IERhdGUpOiBEYXRlIHtcclxuICAgIFxyXG4gICAgICAgIGxldCBuZXdUaW1lID0gbmV3IERhdGUodGltZSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKG5ld1RpbWUuZ2V0TWludXRlcygpID4gMCB8fCBuZXdUaW1lLmdldFNlY29uZHMoKSA+IDAgfHwgbmV3VGltZS5nZXRNaWxsaXNlY29uZHMoKSA+IDApIHtcclxuICAgICAgICAgICAgbmV3VGltZS5zZXRIb3VycyhuZXdUaW1lLmdldEhvdXJzKCkgKyAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbmV3VGltZS5zZXRNaW51dGVzKDAsIDAsIDApO1xyXG4gICAgICAgIHJldHVybiBuZXdUaW1lO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIHJvdW5kSG91cnNEb3duKHRpbWU6IERhdGUpIHtcclxuICAgICAgICBsZXQgbmV3VGltZSA9IG5ldyBEYXRlKHRpbWUpO1xyXG4gICAgICAgIG5ld1RpbWUuc2V0TWludXRlcygwLCAwLCAwKTtcclxuICAgICAgICByZXR1cm4gbmV3VGltZTtcclxuICAgIH1cclxuICAgIFxyXG5cclxuICAgIHByaXZhdGUgaW5pdEhvdXJUaWNrcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhvdXJUaWNrcyA9IFtdO1xyXG5cclxuICAgICAgICAvLyBnZXQgZmlyc3Qgd2hvbGUgaG91ciBmcm9tIHN0YXJ0IGRhdGVcclxuICAgICAgICBsZXQgc3RhcnRIb3VyID0gdGhpcy5yb3VuZEhvdXJzVXAodGhpcy5zdGFydCk7XHJcblxyXG4gICAgICAgIC8vIGdldCBsYXN0IHdob2xlIGhvdXIgZnJvbSBlbmQgZGF0ZVxyXG4gICAgICAgIGxldCBlbmRIb3VyID0gdGhpcy5yb3VuZEhvdXJzRG93bih0aGlzLmVuZCk7XHJcblxyXG4gICAgICAgIGxldCBjdXJyZW50SG91ciA9IG5ldyBEYXRlKHN0YXJ0SG91cilcclxuICAgICAgICB3aGlsZSAoY3VycmVudEhvdXIgPD0gZW5kSG91cikge1xyXG4gICAgICAgICAgICB0aGlzLmhvdXJUaWNrcy5wdXNoKHRoaXMuZ2V0VGljayhjdXJyZW50SG91cikpO1xyXG4gICAgICAgICAgICBjdXJyZW50SG91ci5zZXRIb3VycyhjdXJyZW50SG91ci5nZXRIb3VycygpICsgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdERheUxhYmVscygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRheUxhYmVscyA9IFtdO1xyXG5cclxuICAgICAgICAvLyBnZXQgc3RhcnQgZGF0ZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkYXlcclxuICAgICAgICBsZXQgc3RhcnREYXRlID0gbmV3IERhdGUodGhpcy5zdGFydCk7XHJcbiAgICAgICAgc3RhcnREYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xyXG5cclxuICAgICAgICAvLyBnZXQgZW5kIGRhdGUgYXQgdGhlIGVuZCBvZiB0aGUgZGF5XHJcbiAgICAgICAgbGV0IGVuZERhdGUgPSBuZXcgRGF0ZSh0aGlzLmVuZCk7XHJcbiAgICAgICAgZW5kRGF0ZS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpO1xyXG5cclxuICAgICAgICBsZXQgY3VycmVudERhdGUgPSBuZXcgRGF0ZShzdGFydERhdGUpO1xyXG4gICAgICAgIHdoaWxlIChjdXJyZW50RGF0ZSA8PSBlbmREYXRlKSB7XHJcbiAgICAgICAgICAgIGxldCBlbmRPZkN1cnJlbnREYXkgPSBuZXcgRGF0ZShjdXJyZW50RGF0ZSk7XHJcbiAgICAgICAgICAgIGVuZE9mQ3VycmVudERheS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5kYXlMYWJlbHMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAvLyBkYXRlOiBuZXcgRGF0ZShjdXJyZW50RGF0ZSksXHJcbiAgICAgICAgICAgICAgICB4OiB0aGlzLmdldFgobmV3IERhdGUoY3VycmVudERhdGUpKSxcclxuICAgICAgICAgICAgICAgIHdpZHRoOiB0aGlzLmdldFdpZHRoRnJvbVRpbWUoY3VycmVudERhdGUsIGVuZE9mQ3VycmVudERheSksXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogY3VycmVudERhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKFtdLCB7IHdlZWtkYXk6ICdsb25nJywgZGF5OiAnbnVtZXJpYycsIG1vbnRoOiAnbG9uZycsIHllYXI6ICdudW1lcmljJyB9KVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgY3VycmVudERhdGUuc2V0RGF0ZShjdXJyZW50RGF0ZS5nZXREYXRlKCkgKyAxKTsgXHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuICAgIFxyXG4gICAgcHJpdmF0ZSBpbml0SG91ckxhYmVscygpOiB2b2lkIHtcclxuXHJcbiAgICAgICAgLy8gZ2V0IGZpcnN0IHdob2xlIGhvdXIgZnJvbSBzdGFydCBkYXRlXHJcbiAgICAgICAgbGV0IHN0YXJ0SG91ciA9IHRoaXMucm91bmRIb3Vyc1VwKHRoaXMuc3RhcnQpO1xyXG4gICAgICAgIC8vIGdldCBsYXN0IHdob2xlIGhvdXIgZnJvbSBlbmQgZGF0ZVxyXG4gICAgICAgIGxldCBlbmRIb3VyID0gdGhpcy5yb3VuZEhvdXJzRG93bih0aGlzLmVuZCk7XHJcblxyXG4gICAgICAgIGxldCBjdXJyZW50SG91ciA9IG5ldyBEYXRlKHN0YXJ0SG91cilcclxuICAgICAgICB3aGlsZSAoY3VycmVudEhvdXIgPD0gZW5kSG91cikge1xyXG4gICAgICAgICAgICBpZiAoY3VycmVudEhvdXIuZ2V0SG91cnMoKSAlIDMgPT09IDApIHtcclxuICAgICAgICAgICAgICAgIGxldCBsYWJlbFN0YXJ0VGltZSA9IG5ldyBEYXRlKGN1cnJlbnRIb3VyKTtcclxuICAgICAgICAgICAgICAgIGxhYmVsU3RhcnRUaW1lLnNldE1pbnV0ZXMoLTMwKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaG91ckxhYmVscy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgeDogdGhpcy5nZXRYKGxhYmVsU3RhcnRUaW1lKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHRoaXMuZ2V0V2lkdGhGcm9tTWludXRlcyg2MCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBjdXJyZW50SG91ci5nZXRIb3VycygpLnRvU3RyaW5nKCkgLy9jdXJyZW50SG91ci50b0xvY2FsZVRpbWVTdHJpbmcoW10sIHsgaG91cjogJ251bWVyaWMnfSlcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgY3VycmVudEhvdXIuc2V0SG91cnMoY3VycmVudEhvdXIuZ2V0SG91cnMoKSArIDIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGN1cnJlbnRIb3VyLnNldEhvdXJzKGN1cnJlbnRIb3VyLmdldEhvdXJzKCkgKyAxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpY2FpbnRlcm5hdGlvbmFsLW5neC1zZHMtY29tcG9uZW50cy1zcmMtbGliLXRpbWVsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvdGltZWxpbmUvc3BpY2FpbnRlcm5hdGlvbmFsLW5neC1zZHMtY29tcG9uZW50cy1zcmMtbGliLXRpbWVsaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { SdsTimelineComponent } from './components/timeline.component';
4
+ import * as i0 from "@angular/core";
5
+ export class SdsTimelineModule {
6
+ }
7
+ SdsTimelineModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsTimelineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ SdsTimelineModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsTimelineModule, declarations: [SdsTimelineComponent], imports: [CommonModule], exports: [SdsTimelineComponent] });
9
+ SdsTimelineModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsTimelineModule, imports: [[
10
+ CommonModule
11
+ ]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsTimelineModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [
16
+ SdsTimelineComponent
17
+ ],
18
+ imports: [
19
+ CommonModule
20
+ ],
21
+ exports: [
22
+ SdsTimelineComponent
23
+ ],
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvdGltZWxpbmUvdGltZWxpbmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQWF2RSxNQUFNLE9BQU8saUJBQWlCOzs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBVHRCLG9CQUFvQixhQUdwQixZQUFZLGFBR1osb0JBQW9COytHQUdmLGlCQUFpQixZQVBqQjtZQUNMLFlBQVk7U0FDZjsyRkFLUSxpQkFBaUI7a0JBWDdCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFO3dCQUNWLG9CQUFvQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLG9CQUFvQjtxQkFDdkI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBTZHNUaW1lbGluZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90aW1lbGluZS5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZVxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkc1RpbWVsaW5lTW9kdWxlIHt9XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lbGluZS90eXBlcy90aW1lbGluZS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVGltZWxpbmVUaWNrRnJlcXVlbmN5ID0gJ2hvdXJseScgfCAnM2hycycgfCAnNmhycyc7Il19