ecabs-components 1.0.28 → 1.0.29

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 (159) hide show
  1. package/esm2022/ecabs-components.mjs +4 -4
  2. package/esm2022/lib/base/consts/date-mask.consts.mjs +56 -56
  3. package/esm2022/lib/base/directives/date-mask.directive.mjs +64 -64
  4. package/esm2022/lib/base/directives/date-mask.directive.module.mjs +21 -21
  5. package/esm2022/lib/base/directives/digits-only.directive.mjs +129 -129
  6. package/esm2022/lib/base/directives/digits-only.directive.module.mjs +21 -21
  7. package/esm2022/lib/base/directives/number-border.directive.mjs +53 -53
  8. package/esm2022/lib/base/directives/number-border.directive.module.mjs +21 -21
  9. package/esm2022/lib/base/element-base.mjs +99 -99
  10. package/esm2022/lib/base/element-wrapper/element-wrapper.component.mjs +52 -52
  11. package/esm2022/lib/base/element-wrapper/element-wrapper.module.mjs +51 -51
  12. package/esm2022/lib/base/hint/hint.component.mjs +20 -20
  13. package/esm2022/lib/base/hint/hint.module.mjs +19 -19
  14. package/esm2022/lib/base/validation/validation.component.mjs +69 -69
  15. package/esm2022/lib/base/validation/validation.module.mjs +19 -19
  16. package/esm2022/lib/ecabs-active-status-filter/ecabs-active-status-filter.component.mjs +30 -30
  17. package/esm2022/lib/ecabs-active-status-filter/ecabs-active-status-filter.module.mjs +19 -19
  18. package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +15 -15
  19. package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.mjs +19 -19
  20. package/esm2022/lib/ecabs-buttons/ecabs-buttons.component.mjs +62 -62
  21. package/esm2022/lib/ecabs-buttons/ecabs-buttons.module.mjs +20 -20
  22. package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +100 -100
  23. package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.mjs +35 -35
  24. package/esm2022/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +16 -16
  25. package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +84 -84
  26. package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.module.mjs +47 -47
  27. package/esm2022/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +16 -16
  28. package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +203 -179
  29. package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.mjs +63 -63
  30. package/esm2022/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +16 -16
  31. package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +192 -192
  32. package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.mjs +64 -64
  33. package/esm2022/lib/ecabs-date-time-range-picker/time-range.directive.mjs +44 -44
  34. package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +46 -46
  35. package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.mjs +19 -19
  36. package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +43 -43
  37. package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.module.mjs +19 -19
  38. package/esm2022/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.mjs +18 -18
  39. package/esm2022/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.mjs +18 -18
  40. package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +75 -75
  41. package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.mjs +23 -23
  42. package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +77 -77
  43. package/esm2022/lib/ecabs-increment/ecabs-increment.module.mjs +22 -22
  44. package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +82 -82
  45. package/esm2022/lib/ecabs-input/ecabs-input.module.mjs +21 -21
  46. package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +61 -61
  47. package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.module.mjs +38 -38
  48. package/esm2022/lib/ecabs-loading/ecabs-loading.component.mjs +23 -23
  49. package/esm2022/lib/ecabs-loading/ecabs-loading.module.mjs +18 -18
  50. package/esm2022/lib/ecabs-loading/spinner/spinner.component.mjs +15 -15
  51. package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +29 -29
  52. package/esm2022/lib/ecabs-note/ecabs-note.module.mjs +18 -18
  53. package/esm2022/lib/ecabs-phone/ecabs-phone.component.mjs +103 -103
  54. package/esm2022/lib/ecabs-phone/ecabs-phone.module.mjs +21 -21
  55. package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +49 -49
  56. package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.module.mjs +21 -21
  57. package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +64 -64
  58. package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.mjs +31 -31
  59. package/esm2022/lib/ecabs-select/ecabs-select.component.mjs +309 -309
  60. package/esm2022/lib/ecabs-select/ecabs-select.module.mjs +59 -59
  61. package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +16 -16
  62. package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.mjs +23 -23
  63. package/esm2022/lib/ecabs-table/ecabs-table.component.mjs +42 -42
  64. package/esm2022/lib/ecabs-table/ecabs-table.module.mjs +32 -32
  65. package/esm2022/lib/ecabs-textarea/ecabs-textarea.component.mjs +61 -61
  66. package/esm2022/lib/ecabs-textarea/ecabs-textarea.module.mjs +19 -19
  67. package/esm2022/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +136 -136
  68. package/esm2022/lib/ecabs-timepicker/config.model.mjs +1 -1
  69. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +311 -311
  70. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.module.mjs +19 -19
  71. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +30 -30
  72. package/esm2022/lib/ecabs-validation/ecabs-validation.component.mjs +18 -18
  73. package/esm2022/lib/ecabs-validation/ecabs-validation.module.mjs +18 -18
  74. package/esm2022/lib/models/bread-crumb.mjs +1 -1
  75. package/esm2022/lib/models/timepicker.models.mjs +1 -1
  76. package/esm2022/lib/models/validation.models.mjs +1 -1
  77. package/esm2022/lib/services/ecabs-components.service.mjs +31 -31
  78. package/esm2022/public-api.mjs +58 -58
  79. package/fesm2022/ecabs-components.mjs +3277 -3253
  80. package/fesm2022/ecabs-components.mjs.map +1 -1
  81. package/index.d.ts +5 -5
  82. package/lib/base/consts/date-mask.consts.d.ts +7 -7
  83. package/lib/base/directives/date-mask.directive.d.ts +16 -16
  84. package/lib/base/directives/date-mask.directive.module.d.ts +8 -8
  85. package/lib/base/directives/digits-only.directive.d.ts +26 -26
  86. package/lib/base/directives/digits-only.directive.module.d.ts +8 -8
  87. package/lib/base/directives/number-border.directive.d.ts +13 -13
  88. package/lib/base/directives/number-border.directive.module.d.ts +8 -8
  89. package/lib/base/element-base.d.ts +28 -28
  90. package/lib/base/element-wrapper/element-wrapper.component.d.ts +19 -19
  91. package/lib/base/element-wrapper/element-wrapper.module.d.ts +16 -16
  92. package/lib/base/hint/hint.component.d.ts +8 -8
  93. package/lib/base/hint/hint.module.d.ts +10 -10
  94. package/lib/base/validation/validation.component.d.ts +24 -24
  95. package/lib/base/validation/validation.module.d.ts +10 -10
  96. package/lib/ecabs-active-status-filter/ecabs-active-status-filter.component.d.ts +14 -14
  97. package/lib/ecabs-active-status-filter/ecabs-active-status-filter.module.d.ts +10 -10
  98. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.d.ts +7 -7
  99. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.d.ts +10 -10
  100. package/lib/ecabs-buttons/ecabs-buttons.component.d.ts +20 -20
  101. package/lib/ecabs-buttons/ecabs-buttons.module.d.ts +11 -11
  102. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.d.ts +31 -31
  103. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.d.ts +12 -12
  104. package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.d.ts +6 -6
  105. package/lib/ecabs-date-picker/ecabs-date-picker.component.d.ts +29 -29
  106. package/lib/ecabs-date-picker/ecabs-date-picker.module.d.ts +15 -15
  107. package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.d.ts +6 -6
  108. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +55 -51
  109. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.d.ts +19 -19
  110. package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.d.ts +6 -6
  111. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.d.ts +58 -58
  112. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.d.ts +20 -20
  113. package/lib/ecabs-date-time-range-picker/time-range.directive.d.ts +15 -15
  114. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.d.ts +31 -31
  115. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.d.ts +11 -11
  116. package/lib/ecabs-dialog-message/ecabs-dialog-message.component.d.ts +28 -28
  117. package/lib/ecabs-dialog-message/ecabs-dialog-message.module.d.ts +11 -11
  118. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.d.ts +12 -12
  119. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.d.ts +9 -9
  120. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.d.ts +28 -28
  121. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.d.ts +14 -14
  122. package/lib/ecabs-increment/ecabs-increment.component.d.ts +26 -26
  123. package/lib/ecabs-increment/ecabs-increment.module.d.ts +13 -13
  124. package/lib/ecabs-input/ecabs-input.component.d.ts +27 -27
  125. package/lib/ecabs-input/ecabs-input.module.d.ts +12 -12
  126. package/lib/ecabs-language-selector/ecabs-language-selector.component.d.ts +20 -20
  127. package/lib/ecabs-language-selector/ecabs-language-selector.module.d.ts +12 -12
  128. package/lib/ecabs-loading/ecabs-loading.component.d.ts +8 -8
  129. package/lib/ecabs-loading/ecabs-loading.module.d.ts +9 -9
  130. package/lib/ecabs-loading/spinner/spinner.component.d.ts +6 -6
  131. package/lib/ecabs-note/ecabs-note.component.d.ts +7 -7
  132. package/lib/ecabs-note/ecabs-note.module.d.ts +9 -9
  133. package/lib/ecabs-phone/ecabs-phone.component.d.ts +33 -33
  134. package/lib/ecabs-phone/ecabs-phone.module.d.ts +12 -12
  135. package/lib/ecabs-picker-header/ecabs-picker-header.component.d.ts +19 -19
  136. package/lib/ecabs-picker-header/ecabs-picker-header.module.d.ts +12 -12
  137. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.d.ts +24 -24
  138. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.d.ts +11 -11
  139. package/lib/ecabs-select/ecabs-select.component.d.ts +71 -71
  140. package/lib/ecabs-select/ecabs-select.module.d.ts +15 -15
  141. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.d.ts +8 -8
  142. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.d.ts +9 -9
  143. package/lib/ecabs-table/ecabs-table.component.d.ts +18 -18
  144. package/lib/ecabs-table/ecabs-table.module.d.ts +12 -12
  145. package/lib/ecabs-textarea/ecabs-textarea.component.d.ts +20 -20
  146. package/lib/ecabs-textarea/ecabs-textarea.module.d.ts +10 -10
  147. package/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.d.ts +40 -40
  148. package/lib/ecabs-timepicker/config.model.d.ts +5 -5
  149. package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +53 -53
  150. package/lib/ecabs-timepicker/ecabs-timepicker.module.d.ts +10 -10
  151. package/lib/ecabs-timepicker/ecabs-timepicker.service.d.ts +12 -12
  152. package/lib/ecabs-validation/ecabs-validation.component.d.ts +10 -10
  153. package/lib/ecabs-validation/ecabs-validation.module.d.ts +9 -9
  154. package/lib/models/bread-crumb.d.ts +5 -5
  155. package/lib/models/timepicker.models.d.ts +6 -6
  156. package/lib/models/validation.models.d.ts +7 -7
  157. package/lib/services/ecabs-components.service.d.ts +16 -16
  158. package/package.json +1 -1
  159. package/public-api.d.ts +58 -58
@@ -1,137 +1,137 @@
1
- import { Component, Input, Output, EventEmitter, HostListener } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../ecabs-timepicker.service";
4
- import * as i2 from "@angular/common";
5
- export class EcabsTimeListPanelComponent {
6
- constructor(elementRef, timepickerService) {
7
- this.elementRef = elementRef;
8
- this.timepickerService = timepickerService;
9
- this.listPlacement = 'auto';
10
- this.listPosition = {};
11
- this.showDayStart = true;
12
- this.showDayEnd = false;
13
- this.position = {};
14
- this.onscroll = new EventEmitter();
15
- this.closeMe = new EventEmitter();
16
- this.hoveredItemIndex = 0;
17
- this.timeList = [];
18
- }
19
- handleKeydown($event) {
20
- if ($event.key === 'ArrowUp') {
21
- // eslint-disable-next-line @typescript-eslint/no-unused-expressions
22
- this.hoveredItemIndex ? this.hoveredItemIndex-- : null;
23
- this.scrollTo(this.hoveredItemIndex);
24
- }
25
- if ($event.key === 'ArrowDown') {
26
- // eslint-disable-next-line @typescript-eslint/no-unused-expressions
27
- this.hoveredItemIndex + 1 < this.timeList.length ? this.hoveredItemIndex++ : null;
28
- this.scrollTo(this.hoveredItemIndex);
29
- }
30
- if ($event.key === 'Enter') {
31
- this.setTime(this.timeList[this.hoveredItemIndex].value);
32
- }
33
- }
34
- ngOnInit() {
35
- this.calcListItems();
36
- if (this.appendTo) {
37
- this.appendListTo();
38
- }
39
- setTimeout(() => {
40
- this.listItemHeight = this.elementRef.nativeElement.querySelector('li').getBoundingClientRect().height;
41
- this.selectTypedValue(this.typedValue);
42
- });
43
- }
44
- appendListTo() {
45
- const parent = document.querySelector(this.appendTo);
46
- if (!parent) {
47
- throw new Error(`appendTo selector ${this.appendTo} did not found any parent element`);
48
- }
49
- parent.appendChild(this.elementRef.nativeElement);
50
- }
51
- calcListItems() {
52
- if (this.showDayStart) {
53
- this.timeList.push({
54
- value: '00:00',
55
- title: this.timepickerService.getConfig().dayStart,
56
- });
57
- }
58
- for (let index = 0; index < 24; index++) {
59
- for (const minute of ['00', '30']) {
60
- if (index === 0 && minute === '00') {
61
- continue;
62
- }
63
- this.timeList.push({
64
- value: (index > 9 ? index + '' : '0' + index) + ':' + minute,
65
- title: (index > 9 ? index + '' : '0' + index) + ':' + minute,
66
- });
67
- }
68
- }
69
- if (this.showDayEnd) {
70
- this.timeList.push({
71
- value: '23:59',
72
- title: this.timepickerService.getConfig().dayEnd,
73
- });
74
- }
75
- }
76
- ngOnChanges() {
77
- this.selectTypedValue(this.typedValue);
78
- if (this.elementRef.nativeElement) {
79
- this.elementRef.nativeElement.style.top = this.listPosition.top + 'px';
80
- this.elementRef.nativeElement.style.left = this.listPosition.left + 'px';
81
- this.elementRef.nativeElement.style.width = this.listPosition.width + 'px';
82
- if (this.appendTo) {
83
- this.elementRef.nativeElement.style.position = 'fixed';
84
- }
85
- }
86
- }
87
- selectTypedValue(value) {
88
- if (value) {
89
- const hour = parseInt(value.split(':')[0], 10);
90
- if (hour || hour === 0) {
91
- this.hoveredItemIndex = hour * 2;
92
- this.scrollTo(this.hoveredItemIndex);
93
- }
94
- }
95
- }
96
- scrollTo(index) {
97
- this.elementRef.nativeElement.querySelector('.inner-scroll').scrollTop = index * this.listItemHeight;
98
- }
99
- close() {
100
- this.closeMe.emit(null);
101
- }
102
- setTime(value) {
103
- this.closeMe.emit(value);
104
- }
105
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTimeListPanelComponent, deps: [{ token: i0.ElementRef }, { token: i1.FormTimePickerService }], target: i0.ɵɵFactoryTarget.Component }); }
106
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsTimeListPanelComponent, selector: "ecabs-time-list-panel", inputs: { typedValue: "typedValue", listPlacement: "listPlacement", listPosition: "listPosition", appendTo: "appendTo", min: "min", max: "max", showDayStart: "showDayStart", showDayEnd: "showDayEnd", position: "position" }, outputs: { onscroll: "onscroll", closeMe: "closeMe" }, host: { listeners: { "document:keydown": "handleKeydown($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"list\">\r\n <div class=\"inner-scroll\">\r\n <div class=\"inner\">\r\n <ul>\r\n <li\r\n *ngFor=\"let i of timeList; let counter = index\"\r\n (click)=\"setTime(i.value)\"\r\n (mouseenter)=\"hoveredItemIndex = counter\"\r\n [ngClass]=\"{ active: typedValue === i.value, hovered: counter === hoveredItemIndex }\"\r\n >\r\n {{ i.title }}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
107
- }
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTimeListPanelComponent, decorators: [{
109
- type: Component,
110
- args: [{ selector: 'ecabs-time-list-panel', template: "<div class=\"list\">\r\n <div class=\"inner-scroll\">\r\n <div class=\"inner\">\r\n <ul>\r\n <li\r\n *ngFor=\"let i of timeList; let counter = index\"\r\n (click)=\"setTime(i.value)\"\r\n (mouseenter)=\"hoveredItemIndex = counter\"\r\n [ngClass]=\"{ active: typedValue === i.value, hovered: counter === hoveredItemIndex }\"\r\n >\r\n {{ i.title }}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
111
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormTimePickerService }]; }, propDecorators: { typedValue: [{
112
- type: Input
113
- }], listPlacement: [{
114
- type: Input
115
- }], listPosition: [{
116
- type: Input
117
- }], appendTo: [{
118
- type: Input
119
- }], min: [{
120
- type: Input
121
- }], max: [{
122
- type: Input
123
- }], showDayStart: [{
124
- type: Input
125
- }], showDayEnd: [{
126
- type: Input
127
- }], position: [{
128
- type: Input
129
- }], onscroll: [{
130
- type: Output
131
- }], closeMe: [{
132
- type: Output
133
- }], handleKeydown: [{
134
- type: HostListener,
135
- args: ['document:keydown', ['$event']]
136
- }] } });
1
+ import { Component, Input, Output, EventEmitter, HostListener } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../ecabs-timepicker.service";
4
+ import * as i2 from "@angular/common";
5
+ export class EcabsTimeListPanelComponent {
6
+ constructor(elementRef, timepickerService) {
7
+ this.elementRef = elementRef;
8
+ this.timepickerService = timepickerService;
9
+ this.listPlacement = 'auto';
10
+ this.listPosition = {};
11
+ this.showDayStart = true;
12
+ this.showDayEnd = false;
13
+ this.position = {};
14
+ this.onscroll = new EventEmitter();
15
+ this.closeMe = new EventEmitter();
16
+ this.hoveredItemIndex = 0;
17
+ this.timeList = [];
18
+ }
19
+ handleKeydown($event) {
20
+ if ($event.key === 'ArrowUp') {
21
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
22
+ this.hoveredItemIndex ? this.hoveredItemIndex-- : null;
23
+ this.scrollTo(this.hoveredItemIndex);
24
+ }
25
+ if ($event.key === 'ArrowDown') {
26
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
27
+ this.hoveredItemIndex + 1 < this.timeList.length ? this.hoveredItemIndex++ : null;
28
+ this.scrollTo(this.hoveredItemIndex);
29
+ }
30
+ if ($event.key === 'Enter') {
31
+ this.setTime(this.timeList[this.hoveredItemIndex].value);
32
+ }
33
+ }
34
+ ngOnInit() {
35
+ this.calcListItems();
36
+ if (this.appendTo) {
37
+ this.appendListTo();
38
+ }
39
+ setTimeout(() => {
40
+ this.listItemHeight = this.elementRef.nativeElement.querySelector('li').getBoundingClientRect().height;
41
+ this.selectTypedValue(this.typedValue);
42
+ });
43
+ }
44
+ appendListTo() {
45
+ const parent = document.querySelector(this.appendTo);
46
+ if (!parent) {
47
+ throw new Error(`appendTo selector ${this.appendTo} did not found any parent element`);
48
+ }
49
+ parent.appendChild(this.elementRef.nativeElement);
50
+ }
51
+ calcListItems() {
52
+ if (this.showDayStart) {
53
+ this.timeList.push({
54
+ value: '00:00',
55
+ title: this.timepickerService.getConfig().dayStart,
56
+ });
57
+ }
58
+ for (let index = 0; index < 24; index++) {
59
+ for (const minute of ['00', '30']) {
60
+ if (index === 0 && minute === '00') {
61
+ continue;
62
+ }
63
+ this.timeList.push({
64
+ value: (index > 9 ? index + '' : '0' + index) + ':' + minute,
65
+ title: (index > 9 ? index + '' : '0' + index) + ':' + minute,
66
+ });
67
+ }
68
+ }
69
+ if (this.showDayEnd) {
70
+ this.timeList.push({
71
+ value: '23:59',
72
+ title: this.timepickerService.getConfig().dayEnd,
73
+ });
74
+ }
75
+ }
76
+ ngOnChanges() {
77
+ this.selectTypedValue(this.typedValue);
78
+ if (this.elementRef.nativeElement) {
79
+ this.elementRef.nativeElement.style.top = this.listPosition.top + 'px';
80
+ this.elementRef.nativeElement.style.left = this.listPosition.left + 'px';
81
+ this.elementRef.nativeElement.style.width = this.listPosition.width + 'px';
82
+ if (this.appendTo) {
83
+ this.elementRef.nativeElement.style.position = 'fixed';
84
+ }
85
+ }
86
+ }
87
+ selectTypedValue(value) {
88
+ if (value) {
89
+ const hour = parseInt(value.split(':')[0], 10);
90
+ if (hour || hour === 0) {
91
+ this.hoveredItemIndex = hour * 2;
92
+ this.scrollTo(this.hoveredItemIndex);
93
+ }
94
+ }
95
+ }
96
+ scrollTo(index) {
97
+ this.elementRef.nativeElement.querySelector('.inner-scroll').scrollTop = index * this.listItemHeight;
98
+ }
99
+ close() {
100
+ this.closeMe.emit(null);
101
+ }
102
+ setTime(value) {
103
+ this.closeMe.emit(value);
104
+ }
105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTimeListPanelComponent, deps: [{ token: i0.ElementRef }, { token: i1.FormTimePickerService }], target: i0.ɵɵFactoryTarget.Component }); }
106
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsTimeListPanelComponent, selector: "ecabs-time-list-panel", inputs: { typedValue: "typedValue", listPlacement: "listPlacement", listPosition: "listPosition", appendTo: "appendTo", min: "min", max: "max", showDayStart: "showDayStart", showDayEnd: "showDayEnd", position: "position" }, outputs: { onscroll: "onscroll", closeMe: "closeMe" }, host: { listeners: { "document:keydown": "handleKeydown($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"list\">\r\n <div class=\"inner-scroll\">\r\n <div class=\"inner\">\r\n <ul>\r\n <li\r\n *ngFor=\"let i of timeList; let counter = index\"\r\n (click)=\"setTime(i.value)\"\r\n (mouseenter)=\"hoveredItemIndex = counter\"\r\n [ngClass]=\"{ active: typedValue === i.value, hovered: counter === hoveredItemIndex }\"\r\n >\r\n {{ i.title }}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
107
+ }
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTimeListPanelComponent, decorators: [{
109
+ type: Component,
110
+ args: [{ selector: 'ecabs-time-list-panel', template: "<div class=\"list\">\r\n <div class=\"inner-scroll\">\r\n <div class=\"inner\">\r\n <ul>\r\n <li\r\n *ngFor=\"let i of timeList; let counter = index\"\r\n (click)=\"setTime(i.value)\"\r\n (mouseenter)=\"hoveredItemIndex = counter\"\r\n [ngClass]=\"{ active: typedValue === i.value, hovered: counter === hoveredItemIndex }\"\r\n >\r\n {{ i.title }}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
111
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormTimePickerService }]; }, propDecorators: { typedValue: [{
112
+ type: Input
113
+ }], listPlacement: [{
114
+ type: Input
115
+ }], listPosition: [{
116
+ type: Input
117
+ }], appendTo: [{
118
+ type: Input
119
+ }], min: [{
120
+ type: Input
121
+ }], max: [{
122
+ type: Input
123
+ }], showDayStart: [{
124
+ type: Input
125
+ }], showDayEnd: [{
126
+ type: Input
127
+ }], position: [{
128
+ type: Input
129
+ }], onscroll: [{
130
+ type: Output
131
+ }], closeMe: [{
132
+ type: Output
133
+ }], handleKeydown: [{
134
+ type: HostListener,
135
+ args: ['document:keydown', ['$event']]
136
+ }] } });
137
137
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGltZS1saXN0LXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10aW1lcGlja2VyL2NvbXBvbmV0cy9lY2Ficy10aW1lLWxpc3QtcGFuZWwvZWNhYnMtdGltZS1saXN0LXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10aW1lcGlja2VyL2NvbXBvbmV0cy9lY2Ficy10aW1lLWxpc3QtcGFuZWwvZWNhYnMtdGltZS1saXN0LXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUF5QixNQUFNLGVBQWUsQ0FBQzs7OztBQU9wSCxNQUFNLE9BQU8sMkJBQTJCO0lBb0J0QyxZQUFxQixVQUFzQixFQUFVLGlCQUF3QztRQUF4RSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF1QjtRQWxCcEYsa0JBQWEsR0FBa0IsTUFBTSxDQUFDO1FBQ3RDLGlCQUFZLEdBQWlCLEVBQUUsQ0FBQztRQUtoQyxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGFBQVEsR0FBaUIsRUFBRSxDQUFDO1FBRTNCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBa0MsQ0FBQztRQUM5RCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU1QyxxQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDckIsYUFBUSxHQUFvQyxFQUFFLENBQUM7SUFJbUQsQ0FBQztJQUduRyxhQUFhLENBQUUsTUFBcUI7UUFDbEMsSUFBSyxNQUFN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R0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQyxJQUFJLENBQUMsUUFBUSxDQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBRSxDQUFDO2FBQ3hDO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFFLEtBQWE7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFFLGVBQWUsQ0FBRSxDQUFDLFNBQVMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUN6RyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPLENBQUUsS0FBVTtRQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBRSxLQUFLLENBQUUsQ0FBQztJQUM3QixDQUFDOytHQXJIVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiwrYUNQeEMseWVBZ0JBOzs0RkRUYSwyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0UsdUJBQXVCO3FJQUl4QixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQVVQLGFBQWE7c0JBRFosWUFBWTt1QkFBRSxrQkFBa0IsRUFBRSxDQUFFLFFBQVEsQ0FBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgRWxlbWVudFJlZiwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpc3RQbGFjZW1lbnQsIExpc3RQb3NpdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy90aW1lcGlja2VyLm1vZGVscyc7XHJcbmltcG9ydCB7IEZvcm1UaW1lUGlja2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2VjYWJzLXRpbWVwaWNrZXIuc2VydmljZSc7XHJcbkBDb21wb25lbnQoIHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLXRpbWUtbGlzdC1wYW5lbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLXRpbWUtbGlzdC1wYW5lbC5jb21wb25lbnQuaHRtbCcsXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRWNhYnNUaW1lTGlzdFBhbmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIHR5cGVkVmFsdWU6IGFueTtcclxuICBASW5wdXQoKSBsaXN0UGxhY2VtZW50OiBMaXN0UGxhY2VtZW50ID0gJ2F1dG8nO1xyXG4gIEBJbnB1dCgpIGxpc3RQb3NpdGlvbjogTGlzdFBvc2l0aW9uID0ge307XHJcblxyXG4gIEBJbnB1dCgpIGFwcGVuZFRvITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1pbiE6IHN0cmluZztcclxuICBASW5wdXQoKSBtYXghOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2hvd0RheVN0YXJ0ID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93RGF5RW5kID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcG9zaXRpb246IExpc3RQb3NpdGlvbiA9IHt9O1xyXG5cclxuICBAT3V0cHV0KCkgb25zY3JvbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHsgc3RhcnQ6IG51bWJlcjsgZW5kOiBudW1iZXIgfT4oKTtcclxuICBAT3V0cHV0KCkgY2xvc2VNZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBob3ZlcmVkSXRlbUluZGV4ID0gMDtcclxuICB0aW1lTGlzdDogeyB2YWx1ZTogYW55OyB0aXRsZTogc3RyaW5nIH1bXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIGxpc3RJdGVtSGVpZ2h0ITogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvciggcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHRpbWVwaWNrZXJTZXJ2aWNlOiBGb3JtVGltZVBpY2tlclNlcnZpY2UgKSB7IH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lciggJ2RvY3VtZW50OmtleWRvd24nLCBbICckZXZlbnQnIF0gKVxyXG4gIGhhbmRsZUtleWRvd24oICRldmVudDogS2V5Ym9hcmRFdmVudCApOiB2b2lkIHtcclxuICAgIGlmICggJGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnICkge1xyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC1leHByZXNzaW9uc1xyXG4gICAgICB0aGlzLmhvdmVyZWRJdGVtSW5kZXggPyB0aGlzLmhvdmVyZWRJdGVtSW5kZXgtLSA6IG51bGw7XHJcbiAgICAgIHRoaXMuc2Nyb2xsVG8oIHRoaXMuaG92ZXJlZEl0ZW1JbmRleCApO1xyXG4gICAgfVxyXG4gICAgaWYgKCAkZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJyApIHtcclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtZXhwcmVzc2lvbnNcclxuICAgICAgdGhpcy5ob3ZlcmVkSXRlbUluZGV4ICsgMSA8IHRoaXMudGltZUxpc3QubGVuZ3RoID8gdGhpcy5ob3ZlcmVkSXRlbUluZGV4KysgOiBudWxsO1xyXG4gICAgICB0aGlzLnNjcm9sbFRvKCB0aGlzLmhvdmVyZWRJdGVtSW5kZXggKTtcclxuICAgIH1cclxuICAgIGlmICggJGV2ZW50LmtleSA9PT0gJ0VudGVyJyApIHtcclxuICAgICAgdGhpcy5zZXRUaW1lKCB0aGlzLnRpbWVMaXN0WyB0aGlzLmhvdmVyZWRJdGVtSW5kZXggXS52YWx1ZSApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbGNMaXN0SXRlbXMoKTtcclxuICAgIGlmICggdGhpcy5hcHBlbmRUbyApIHtcclxuICAgICAgdGhpcy5hcHBlbmRMaXN0VG8oKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRUaW1lb3V0KCAoKSA9PiB7XHJcbiAgICAgIHRoaXMubGlzdEl0ZW1IZWlnaHQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCAnbGknICkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xyXG4gICAgICB0aGlzLnNlbGVjdFR5cGVkVmFsdWUoIHRoaXMudHlwZWRWYWx1ZSApO1xyXG4gICAgfSApO1xyXG4gIH1cclxuXHJcbiAgYXBwZW5kTGlzdFRvKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcGFyZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvciggdGhpcy5hcHBlbmRUbyApO1xyXG4gICAgaWYgKCAhcGFyZW50ICkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoIGBhcHBlbmRUbyBzZWxlY3RvciAkeyB0aGlzLmFwcGVuZFRvIH0gZGlkIG5vdCBmb3VuZCBhbnkgcGFyZW50IGVsZW1lbnRgICk7XHJcbiAgICB9XHJcbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50ICk7XHJcbiAgfVxyXG5cclxuICBjYWxjTGlzdEl0ZW1zKCk6IHZvaWQge1xyXG4gICAgaWYgKCB0aGlzLnNob3dEYXlTdGFydCApIHtcclxuICAgICAgdGhpcy50aW1lTGlzdC5wdXNoKCB7XHJcbiAgICAgICAgdmFsdWU6ICcwMDowMCcsXHJcbiAgICAgICAgdGl0bGU6IHRoaXMudGltZXBpY2tlclNlcnZpY2UuZ2V0Q29uZmlnKCkuZGF5U3RhcnQsXHJcbiAgICAgIH0gKTtcclxuICAgIH1cclxuICAgIGZvciAoIGxldCBpbmRleCA9IDA7IGluZGV4IDwgMjQ7IGluZGV4KysgKSB7XHJcbiAgICAgIGZvciAoIGNvbnN0IG1pbnV0ZSBvZiBbICcwMCcsICczMCcgXSApIHtcclxuICAgICAgICBpZiAoIGluZGV4ID09PSAwICYmIG1pbnV0ZSA9PT0gJzAwJyApIHtcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnRpbWVMaXN0LnB1c2goIHtcclxuICAgICAgICAgIHZhbHVlOiAoIGluZGV4ID4gOSA/IGluZGV4ICsgJycgOiAnMCcgKyBpbmRleCApICsgJzonICsgbWludXRlLFxyXG4gICAgICAgICAgdGl0bGU6ICggaW5kZXggPiA5ID8gaW5kZXggKyAnJyA6ICcwJyArIGluZGV4ICkgKyAnOicgKyBtaW51dGUsXHJcbiAgICAgICAgfSApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoIHRoaXMuc2hvd0RheUVuZCApIHtcclxuICAgICAgdGhpcy50aW1lTGlzdC5wdXNoKCB7XHJcbiAgICAgICAgdmFsdWU6ICcyMzo1OScsXHJcbiAgICAgICAgdGl0bGU6IHRoaXMudGltZXBpY2tlclNlcnZpY2UuZ2V0Q29uZmlnKCkuZGF5RW5kLFxyXG4gICAgICB9ICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0VHlwZWRWYWx1ZSggdGhpcy50eXBlZFZhbHVlICk7XHJcbiAgICBpZiAoIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50ICkge1xyXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSB0aGlzLmxpc3RQb3NpdGlvbi50b3AgKyAncHgnO1xyXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gdGhpcy5saXN0UG9zaXRpb24ubGVmdCArICdweCc7XHJcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gdGhpcy5saXN0UG9zaXRpb24ud2lkdGggKyAncHgnO1xyXG4gICAgICBpZiAoIHRoaXMuYXBwZW5kVG8gKSB7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RUeXBlZFZhbHVlKCB2YWx1ZTogYW55ICk6IHZvaWQge1xyXG4gICAgaWYgKCB2YWx1ZSApIHtcclxuICAgICAgY29uc3QgaG91ciA9IHBhcnNlSW50KCB2YWx1ZS5zcGxpdCggJzonIClbIDAgXSwgMTAgKTtcclxuICAgICAgaWYgKCBob3VyIHx8IGhvdXIgPT09IDAgKSB7XHJcbiAgICAgICAgdGhpcy5ob3ZlcmVkSXRlbUluZGV4ID0gaG91ciAqIDI7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxUbyggdGhpcy5ob3ZlcmVkSXRlbUluZGV4ICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNjcm9sbFRvKCBpbmRleDogbnVtYmVyICk6IHZvaWQge1xyXG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvciggJy5pbm5lci1zY3JvbGwnICkuc2Nyb2xsVG9wID0gaW5kZXggKiB0aGlzLmxpc3RJdGVtSGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NlTWUuZW1pdCggbnVsbCApO1xyXG4gIH1cclxuXHJcbiAgc2V0VGltZSggdmFsdWU6IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VNZS5lbWl0KCB2YWx1ZSApO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibGlzdFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJpbm5lci1zY3JvbGxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbm5lclwiPlxyXG4gICAgICA8dWw+XHJcbiAgICAgICAgPGxpXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgaSBvZiB0aW1lTGlzdDsgbGV0IGNvdW50ZXIgPSBpbmRleFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2V0VGltZShpLnZhbHVlKVwiXHJcbiAgICAgICAgICAobW91c2VlbnRlcik9XCJob3ZlcmVkSXRlbUluZGV4ID0gY291bnRlclwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogdHlwZWRWYWx1ZSA9PT0gaS52YWx1ZSwgaG92ZXJlZDogY291bnRlciA9PT0gaG92ZXJlZEl0ZW1JbmRleCB9XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBpLnRpdGxlIH19XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXRpbWVwaWNrZXIvY29uZmlnLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZvcm1UaW1lUGlja2VyQ29uZmlnIHtcclxuICBkYXlTdGFydDogc3RyaW5nO1xyXG4gIGRheUVuZDogc3RyaW5nO1xyXG4gIGljb25DbGFzczogc3RyaW5nO1xyXG59XHJcbiJdfQ==