ecabs-components 0.0.47 → 0.0.49

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 (161) hide show
  1. package/esm2020/lib/base/directives/date-mask.directive.mjs +65 -0
  2. package/{esm2022 → esm2020}/lib/base/directives/date-mask.directive.module.mjs +5 -5
  3. package/esm2020/lib/base/directives/digits-only.directive.mjs +130 -0
  4. package/{esm2022 → esm2020}/lib/base/directives/digits-only.directive.module.mjs +5 -5
  5. package/esm2020/lib/base/directives/number-border.directive.mjs +54 -0
  6. package/{esm2022 → esm2020}/lib/base/directives/number-border.directive.module.mjs +5 -5
  7. package/esm2020/lib/base/element-base.mjs +100 -0
  8. package/esm2020/lib/base/element-wrapper/element-wrapper.component.mjs +53 -0
  9. package/{esm2022 → esm2020}/lib/base/element-wrapper/element-wrapper.module.mjs +21 -21
  10. package/esm2020/lib/base/hint/hint.component.mjs +21 -0
  11. package/{esm2022 → esm2020}/lib/base/hint/hint.module.mjs +5 -5
  12. package/esm2020/lib/base/validation/validation.component.mjs +70 -0
  13. package/{esm2022 → esm2020}/lib/base/validation/validation.module.mjs +5 -5
  14. package/esm2020/lib/ecabs-active-status-filter/active-status-filter.component.mjs +30 -0
  15. package/esm2020/lib/ecabs-active-status-filter/active-status-filter.module.mjs +20 -0
  16. package/esm2020/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +16 -0
  17. package/{esm2022 → esm2020}/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.mjs +5 -5
  18. package/esm2020/lib/ecabs-buttons/ecabs-buttons.component.mjs +65 -0
  19. package/{esm2022 → esm2020}/lib/ecabs-buttons/ecabs-buttons.module.mjs +5 -5
  20. package/esm2020/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +85 -0
  21. package/{esm2022 → esm2020}/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.mjs +13 -13
  22. package/esm2020/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +17 -0
  23. package/esm2020/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +85 -0
  24. package/{esm2022 → esm2020}/lib/ecabs-date-picker/ecabs-date-picker.module.mjs +19 -19
  25. package/esm2020/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +17 -0
  26. package/esm2020/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +179 -0
  27. package/{esm2022 → esm2020}/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.mjs +27 -27
  28. package/esm2020/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +17 -0
  29. package/esm2020/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +193 -0
  30. package/{esm2022 → esm2020}/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.mjs +27 -27
  31. package/esm2020/lib/ecabs-date-time-range-picker/time-range.directive.mjs +45 -0
  32. package/esm2020/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +28 -0
  33. package/{esm2022 → esm2020}/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.mjs +5 -5
  34. package/esm2020/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +25 -0
  35. package/{esm2022 → esm2020}/lib/ecabs-dialog-message/ecabs-dialog-message.module.mjs +5 -5
  36. package/{esm2022 → esm2020}/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.mjs +4 -7
  37. package/{esm2022 → esm2020}/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.mjs +5 -5
  38. package/esm2020/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +76 -0
  39. package/{esm2022 → esm2020}/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.mjs +5 -5
  40. package/esm2020/lib/ecabs-increment/ecabs-increment.component.mjs +78 -0
  41. package/{esm2022 → esm2020}/lib/ecabs-increment/ecabs-increment.module.mjs +5 -5
  42. package/esm2020/lib/ecabs-input/ecabs-input.component.mjs +85 -0
  43. package/{esm2022 → esm2020}/lib/ecabs-input/ecabs-input.module.mjs +5 -5
  44. package/esm2020/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +51 -0
  45. package/{esm2022 → esm2020}/lib/ecabs-language-selector/ecabs-language-selector.module.mjs +13 -13
  46. package/esm2020/lib/ecabs-loading/ecabs-loading.component.mjs +24 -0
  47. package/{esm2022 → esm2020}/lib/ecabs-loading/ecabs-loading.module.mjs +5 -5
  48. package/esm2020/lib/ecabs-loading/spinner/spinner.component.mjs +16 -0
  49. package/esm2020/lib/ecabs-note/ecabs-note.component.mjs +30 -0
  50. package/{esm2022 → esm2020}/lib/ecabs-note/ecabs-note.module.mjs +5 -5
  51. package/esm2020/lib/ecabs-phone/ecabs-phone.component.mjs +105 -0
  52. package/{esm2022 → esm2020}/lib/ecabs-phone/ecabs-phone.module.mjs +5 -5
  53. package/esm2020/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +50 -0
  54. package/{esm2022 → esm2020}/lib/ecabs-picker-header/ecabs-picker-header.module.mjs +5 -5
  55. package/esm2020/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +65 -0
  56. package/{esm2022 → esm2020}/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.mjs +11 -11
  57. package/esm2020/lib/ecabs-select/ecabs-select.component.mjs +222 -0
  58. package/esm2020/lib/ecabs-select/ecabs-select.module.mjs +60 -0
  59. package/esm2020/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +17 -0
  60. package/{esm2022 → esm2020}/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.mjs +7 -7
  61. package/esm2020/lib/ecabs-table/ecabs-table.component.mjs +43 -0
  62. package/{esm2022 → esm2020}/lib/ecabs-table/ecabs-table.module.mjs +11 -11
  63. package/esm2020/lib/ecabs-textarea/ecabs-textarea.component.mjs +62 -0
  64. package/{esm2022 → esm2020}/lib/ecabs-textarea/ecabs-textarea.module.mjs +5 -5
  65. package/esm2020/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +137 -0
  66. package/esm2020/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +312 -0
  67. package/{esm2022 → esm2020}/lib/ecabs-timepicker/ecabs-timepicker.module.mjs +5 -5
  68. package/esm2020/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +31 -0
  69. package/esm2020/lib/services/ecabs-components.service.mjs +32 -0
  70. package/esm2020/public-api.mjs +57 -0
  71. package/fesm2015/ecabs-components.mjs +3283 -0
  72. package/fesm2015/ecabs-components.mjs.map +1 -0
  73. package/fesm2020/ecabs-components.mjs +3267 -0
  74. package/fesm2020/ecabs-components.mjs.map +1 -0
  75. package/lib/base/directives/date-mask.directive.d.ts +1 -1
  76. package/lib/base/directives/digits-only.directive.d.ts +1 -1
  77. package/lib/base/directives/number-border.directive.d.ts +1 -1
  78. package/lib/base/element-base.d.ts +1 -1
  79. package/lib/base/element-wrapper/element-wrapper.component.d.ts +1 -1
  80. package/lib/base/hint/hint.component.d.ts +1 -1
  81. package/lib/base/validation/validation.component.d.ts +1 -1
  82. package/lib/ecabs-active-status-filter/active-status-filter.component.d.ts +14 -0
  83. package/lib/ecabs-active-status-filter/active-status-filter.module.d.ts +10 -0
  84. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.d.ts +1 -1
  85. package/lib/ecabs-buttons/ecabs-buttons.component.d.ts +1 -1
  86. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.d.ts +1 -1
  87. package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.d.ts +1 -1
  88. package/lib/ecabs-date-picker/ecabs-date-picker.component.d.ts +1 -1
  89. package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.d.ts +1 -1
  90. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +1 -1
  91. package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.d.ts +1 -1
  92. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.d.ts +1 -1
  93. package/lib/ecabs-date-time-range-picker/time-range.directive.d.ts +1 -1
  94. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.d.ts +1 -1
  95. package/lib/ecabs-dialog-message/ecabs-dialog-message.component.d.ts +1 -1
  96. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.d.ts +1 -1
  97. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.d.ts +1 -1
  98. package/lib/ecabs-increment/ecabs-increment.component.d.ts +1 -1
  99. package/lib/ecabs-input/ecabs-input.component.d.ts +1 -1
  100. package/lib/ecabs-language-selector/ecabs-language-selector.component.d.ts +1 -1
  101. package/lib/ecabs-loading/ecabs-loading.component.d.ts +1 -1
  102. package/lib/ecabs-loading/spinner/spinner.component.d.ts +1 -1
  103. package/lib/ecabs-note/ecabs-note.component.d.ts +1 -1
  104. package/lib/ecabs-phone/ecabs-phone.component.d.ts +1 -1
  105. package/lib/ecabs-picker-header/ecabs-picker-header.component.d.ts +1 -1
  106. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.d.ts +1 -1
  107. package/lib/ecabs-select/ecabs-select.component.d.ts +1 -1
  108. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.d.ts +1 -1
  109. package/lib/ecabs-table/ecabs-table.component.d.ts +1 -1
  110. package/lib/ecabs-textarea/ecabs-textarea.component.d.ts +1 -1
  111. package/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.d.ts +1 -1
  112. package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +1 -1
  113. package/lib/models/timepicker.models.d.ts +1 -1
  114. package/package.json +11 -5
  115. package/public-api.d.ts +2 -0
  116. package/esm2022/lib/base/directives/date-mask.directive.mjs +0 -67
  117. package/esm2022/lib/base/directives/digits-only.directive.mjs +0 -133
  118. package/esm2022/lib/base/directives/number-border.directive.mjs +0 -58
  119. package/esm2022/lib/base/element-base.mjs +0 -105
  120. package/esm2022/lib/base/element-wrapper/element-wrapper.component.mjs +0 -56
  121. package/esm2022/lib/base/hint/hint.component.mjs +0 -21
  122. package/esm2022/lib/base/validation/validation.component.mjs +0 -75
  123. package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +0 -17
  124. package/esm2022/lib/ecabs-buttons/ecabs-buttons.component.mjs +0 -67
  125. package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +0 -90
  126. package/esm2022/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +0 -15
  127. package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +0 -89
  128. package/esm2022/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +0 -15
  129. package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +0 -186
  130. package/esm2022/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +0 -15
  131. package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +0 -199
  132. package/esm2022/lib/ecabs-date-time-range-picker/time-range.directive.mjs +0 -48
  133. package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +0 -31
  134. package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +0 -28
  135. package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +0 -85
  136. package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +0 -83
  137. package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +0 -93
  138. package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +0 -51
  139. package/esm2022/lib/ecabs-loading/ecabs-loading.component.mjs +0 -22
  140. package/esm2022/lib/ecabs-loading/spinner/spinner.component.mjs +0 -14
  141. package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +0 -28
  142. package/esm2022/lib/ecabs-phone/ecabs-phone.component.mjs +0 -111
  143. package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +0 -53
  144. package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +0 -68
  145. package/esm2022/lib/ecabs-select/ecabs-select.component.mjs +0 -227
  146. package/esm2022/lib/ecabs-select/ecabs-select.module.mjs +0 -60
  147. package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +0 -19
  148. package/esm2022/lib/ecabs-table/ecabs-table.component.mjs +0 -48
  149. package/esm2022/lib/ecabs-textarea/ecabs-textarea.component.mjs +0 -65
  150. package/esm2022/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +0 -144
  151. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +0 -322
  152. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +0 -29
  153. package/esm2022/lib/services/ecabs-components.service.mjs +0 -31
  154. package/esm2022/public-api.mjs +0 -55
  155. package/fesm2022/ecabs-components.mjs +0 -3338
  156. package/fesm2022/ecabs-components.mjs.map +0 -1
  157. /package/{esm2022 → esm2020}/ecabs-components.mjs +0 -0
  158. /package/{esm2022 → esm2020}/lib/base/consts/date-mask.consts.mjs +0 -0
  159. /package/{esm2022 → esm2020}/lib/ecabs-timepicker/config.model.mjs +0 -0
  160. /package/{esm2022 → esm2020}/lib/models/bread-crumb.mjs +0 -0
  161. /package/{esm2022 → esm2020}/lib/models/timepicker.models.mjs +0 -0
@@ -7,17 +7,17 @@ import { RouterModule } from '@angular/router';
7
7
  import { EcabsEmptyPlaceholderModule } from '../ecabs-empty-placeholder/ecabs-empty-placeholder.module';
8
8
  import * as i0 from "@angular/core";
9
9
  export class EcabsTableModule {
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: EcabsTableModule, declarations: [TableComponent], imports: [CommonModule,
12
- MatProgressBarModule,
13
- RouterModule,
14
- EcabsEmptyPlaceholderModule], exports: [TableComponent, MatTableModule, EcabsEmptyPlaceholderModule] });
15
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsTableModule, imports: [CommonModule,
16
- MatProgressBarModule,
17
- RouterModule,
18
- EcabsEmptyPlaceholderModule, MatTableModule, EcabsEmptyPlaceholderModule] });
19
10
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsTableModule, decorators: [{
11
+ EcabsTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ EcabsTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: EcabsTableModule, declarations: [TableComponent], imports: [CommonModule,
13
+ MatProgressBarModule,
14
+ RouterModule,
15
+ EcabsEmptyPlaceholderModule], exports: [TableComponent, MatTableModule, EcabsEmptyPlaceholderModule] });
16
+ EcabsTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsTableModule, imports: [CommonModule,
17
+ MatProgressBarModule,
18
+ RouterModule,
19
+ EcabsEmptyPlaceholderModule, MatTableModule, EcabsEmptyPlaceholderModule] });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsTableModule, decorators: [{
21
21
  type: NgModule,
22
22
  args: [{
23
23
  declarations: [TableComponent],
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
30
30
  exports: [TableComponent, MatTableModule, EcabsEmptyPlaceholderModule],
31
31
  }]
32
32
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXRhYmxlL2VjYWJzLXRhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7QUFZeEcsTUFBTSxPQUFPLGdCQUFnQjt1R0FBaEIsZ0JBQWdCO3dHQUFoQixnQkFBZ0IsaUJBVFgsY0FBYyxhQUU1QixZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLFlBQVk7WUFDWiwyQkFBMkIsYUFFbEIsY0FBYyxFQUFFLGNBQWMsRUFBRSwyQkFBMkI7d0dBRTNELGdCQUFnQixZQVB6QixZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLFlBQVk7WUFDWiwyQkFBMkIsRUFFRixjQUFjLEVBQUUsMkJBQTJCOzsyRkFFM0QsZ0JBQWdCO2tCQVY1QixRQUFRO21CQUFFO29CQUNULFlBQVksRUFBRSxDQUFFLGNBQWMsQ0FBRTtvQkFDaEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFLENBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSwyQkFBMkIsQ0FBRTtpQkFDekUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vZWNhYnMtdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRWNhYnNFbXB0eVBsYWNlaG9sZGVyTW9kdWxlIH0gZnJvbSAnLi4vZWNhYnMtZW1wdHktcGxhY2Vob2xkZXIvZWNhYnMtZW1wdHktcGxhY2Vob2xkZXIubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSgge1xyXG4gIGRlY2xhcmF0aW9uczogWyBUYWJsZUNvbXBvbmVudCBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgRWNhYnNFbXB0eVBsYWNlaG9sZGVyTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbIFRhYmxlQ29tcG9uZW50LCBNYXRUYWJsZU1vZHVsZSwgRWNhYnNFbXB0eVBsYWNlaG9sZGVyTW9kdWxlIF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRWNhYnNUYWJsZU1vZHVsZSB7IH1cclxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXRhYmxlL2VjYWJzLXRhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7QUFZeEcsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQVRYLGNBQWMsYUFFNUIsWUFBWTtRQUNaLG9CQUFvQjtRQUNwQixZQUFZO1FBQ1osMkJBQTJCLGFBRWxCLGNBQWMsRUFBRSxjQUFjLEVBQUUsMkJBQTJCOzhHQUUzRCxnQkFBZ0IsWUFQekIsWUFBWTtRQUNaLG9CQUFvQjtRQUNwQixZQUFZO1FBQ1osMkJBQTJCLEVBRUYsY0FBYyxFQUFFLDJCQUEyQjsyRkFFM0QsZ0JBQWdCO2tCQVY1QixRQUFRO21CQUFFO29CQUNULFlBQVksRUFBRSxDQUFFLGNBQWMsQ0FBRTtvQkFDaEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFLENBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSwyQkFBMkIsQ0FBRTtpQkFDekUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vZWNhYnMtdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRWNhYnNFbXB0eVBsYWNlaG9sZGVyTW9kdWxlIH0gZnJvbSAnLi4vZWNhYnMtZW1wdHktcGxhY2Vob2xkZXIvZWNhYnMtZW1wdHktcGxhY2Vob2xkZXIubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSgge1xyXG4gIGRlY2xhcmF0aW9uczogWyBUYWJsZUNvbXBvbmVudCBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgRWNhYnNFbXB0eVBsYWNlaG9sZGVyTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbIFRhYmxlQ29tcG9uZW50LCBNYXRUYWJsZU1vZHVsZSwgRWNhYnNFbXB0eVBsYWNlaG9sZGVyTW9kdWxlIF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRWNhYnNUYWJsZU1vZHVsZSB7IH1cclxuIl19
@@ -0,0 +1,62 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import ElementBaseComponent from '../base/element-base';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../base/element-wrapper/element-wrapper.component";
6
+ import * as i2 from "@angular/forms";
7
+ export class EcabsTextareaComponent extends ElementBaseComponent {
8
+ constructor(injector) {
9
+ super();
10
+ this.injector = injector;
11
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
12
+ this.onChange = () => { };
13
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
14
+ this.onTouch = () => { };
15
+ }
16
+ get value() {
17
+ return this.val;
18
+ }
19
+ set value(val) {
20
+ if (val !== undefined && this.val !== val) {
21
+ this.val = val;
22
+ this.onChange(val);
23
+ this.onTouch(val);
24
+ }
25
+ }
26
+ ngAfterViewInit() {
27
+ const ngControl = this.injector.get(NgControl, null);
28
+ if (ngControl) {
29
+ this.control = ngControl.control;
30
+ }
31
+ }
32
+ writeValue(value) {
33
+ this.value = value;
34
+ }
35
+ registerOnChange(fn) {
36
+ this.onChange = fn;
37
+ }
38
+ registerOnTouched(fn) {
39
+ this.onTouch = fn;
40
+ }
41
+ }
42
+ EcabsTextareaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsTextareaComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
43
+ EcabsTextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: EcabsTextareaComponent, selector: "ecabs-textarea", inputs: { rows: "rows" }, providers: [
44
+ {
45
+ provide: NG_VALUE_ACCESSOR,
46
+ useExisting: EcabsTextareaComponent,
47
+ multi: true,
48
+ },
49
+ ], usesInheritance: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <textarea\r\n class=\"form-field__textarea\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [rows]=\"rows\"\r\n >\r\n </textarea>\r\n</app-element-wrapper>\r\n", dependencies: [{ kind: "component", type: i1.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsTextareaComponent, decorators: [{
51
+ type: Component,
52
+ args: [{ selector: 'ecabs-textarea', providers: [
53
+ {
54
+ provide: NG_VALUE_ACCESSOR,
55
+ useExisting: EcabsTextareaComponent,
56
+ multi: true,
57
+ },
58
+ ], template: "<app-element-wrapper [data]=\"getData()\">\r\n <textarea\r\n class=\"form-field__textarea\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [rows]=\"rows\"\r\n >\r\n </textarea>\r\n</app-element-wrapper>\r\n" }]
59
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { rows: [{
60
+ type: Input
61
+ }] } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXRleHRhcmVhL2VjYWJzLXRleHRhcmVhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10ZXh0YXJlYS9lY2Ficy10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBWSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUE0QyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RyxPQUFPLG9CQUFvQixNQUFNLHNCQUFzQixDQUFDOzs7O0FBYXhELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxvQkFBb0I7SUFrQjlELFlBQW9CLFFBQWtCO1FBQ3BDLEtBQUssRUFBRSxDQUFDO1FBRFUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQVd0QyxnRUFBZ0U7UUFDaEUsYUFBUSxHQUFRLEdBQVMsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUMvQixnRUFBZ0U7UUFDaEUsWUFBTyxHQUFRLEdBQVMsRUFBRSxHQUFFLENBQUMsQ0FBQztJQVo5QixDQUFDO0lBZEQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxHQUFHO1FBQ1gsSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQU1ELGVBQWU7UUFDYixNQUFNLFNBQVMsR0FBYyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFjLENBQUM7UUFDN0UsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUE2QixDQUFDO1NBQ3hEO0lBQ0gsQ0FBQztJQU9ELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7O21IQTVDVSxzQkFBc0I7dUdBQXRCLHNCQUFzQixtRUFSdEI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLHNCQUFzQjtZQUNuQyxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsaURDYkgsaVdBYUE7MkZERWEsc0JBQXNCO2tCQVhsQyxTQUFTOytCQUNFLGdCQUFnQixhQUVmO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsd0JBQXdCOzRCQUNuQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjsrRkFJRCxJQUFJO3NCQURILEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVW50eXBlZEZvcm1Db250cm9sLCBOZ0NvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgRWxlbWVudEJhc2VDb21wb25lbnQgZnJvbSAnLi4vYmFzZS9lbGVtZW50LWJhc2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy10ZXh0YXJlYScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLXRleHRhcmVhLmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBFY2Fic1RleHRhcmVhQ29tcG9uZW50LFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzVGV4dGFyZWFDb21wb25lbnQgZXh0ZW5kcyBFbGVtZW50QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKVxyXG4gIHJvd3MhOiBudW1iZXI7XHJcblxyXG4gIHZhbCE6IHN0cmluZztcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy52YWw7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsKSB7XHJcbiAgICBpZiAodmFsICE9PSB1bmRlZmluZWQgJiYgdGhpcy52YWwgIT09IHZhbCkge1xyXG4gICAgICB0aGlzLnZhbCA9IHZhbDtcclxuICAgICAgdGhpcy5vbkNoYW5nZSh2YWwpO1xyXG4gICAgICB0aGlzLm9uVG91Y2godmFsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmdDb250cm9sOiBOZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwpIGFzIE5nQ29udHJvbDtcclxuICAgIGlmIChuZ0NvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKTogdm9pZCA9PiB7fTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgb25Ub3VjaDogYW55ID0gKCk6IHZvaWQgPT4ge307XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1lbGVtZW50LXdyYXBwZXIgW2RhdGFdPVwiZ2V0RGF0YSgpXCI+XHJcbiAgPHRleHRhcmVhXHJcbiAgICBjbGFzcz1cImZvcm0tZmllbGRfX3RleHRhcmVhXCJcclxuICAgIFtpZF09XCJuYW1lXCJcclxuICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgIChibHVyKT1cIm9uVG91Y2goKVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgW21heGxlbmd0aF09XCJtYXhMZW5ndGhcIlxyXG4gICAgW3Jvd3NdPVwicm93c1wiXHJcbiAgPlxyXG4gIDwvdGV4dGFyZWE+XHJcbjwvYXBwLWVsZW1lbnQtd3JhcHBlcj5cclxuIl19
@@ -5,11 +5,11 @@ import { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.mo
5
5
  import { FormsModule } from '@angular/forms';
6
6
  import * as i0 from "@angular/core";
7
7
  export class EcabsTextAreaModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsTextAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: EcabsTextAreaModule, declarations: [EcabsTextareaComponent], imports: [CommonModule, ElementWrapperModule, FormsModule], exports: [EcabsTextareaComponent] });
10
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsTextAreaModule, imports: [CommonModule, ElementWrapperModule, FormsModule] });
11
8
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsTextAreaModule, decorators: [{
9
+ EcabsTextAreaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsTextAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ EcabsTextAreaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: EcabsTextAreaModule, declarations: [EcabsTextareaComponent], imports: [CommonModule, ElementWrapperModule, FormsModule], exports: [EcabsTextareaComponent] });
11
+ EcabsTextAreaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsTextAreaModule, imports: [CommonModule, ElementWrapperModule, FormsModule] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsTextAreaModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [EcabsTextareaComponent],
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
17
17
  exports: [EcabsTextareaComponent],
18
18
  }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGV4dGFyZWEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXRleHRhcmVhL2VjYWJzLXRleHRhcmVhLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTzdDLE1BQU0sT0FBTyxtQkFBbUI7dUdBQW5CLG1CQUFtQjt3R0FBbkIsbUJBQW1CLGlCQUpmLHNCQUFzQixhQUMzQixZQUFZLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxhQUMvQyxzQkFBc0I7d0dBRXJCLG1CQUFtQixZQUhwQixZQUFZLEVBQUUsb0JBQW9CLEVBQUUsV0FBVzs7MkZBRzlDLG1CQUFtQjtrQkFML0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFdBQVcsQ0FBQztvQkFDMUQsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRWNhYnNUZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4vZWNhYnMtdGV4dGFyZWEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRWxlbWVudFdyYXBwZXJNb2R1bGUgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQtd3JhcHBlci9lbGVtZW50LXdyYXBwZXIubW9kdWxlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0VjYWJzVGV4dGFyZWFDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEVsZW1lbnRXcmFwcGVyTW9kdWxlLCBGb3Jtc01vZHVsZV0sXHJcbiAgZXhwb3J0czogW0VjYWJzVGV4dGFyZWFDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNUZXh0QXJlYU1vZHVsZSB7fVxyXG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGV4dGFyZWEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXRleHRhcmVhL2VjYWJzLXRleHRhcmVhLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTzdDLE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkFKZixzQkFBc0IsYUFDM0IsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFdBQVcsYUFDL0Msc0JBQXNCO2lIQUVyQixtQkFBbUIsWUFIcEIsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFdBQVc7MkZBRzlDLG1CQUFtQjtrQkFML0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFdBQVcsQ0FBQztvQkFDMUQsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRWNhYnNUZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4vZWNhYnMtdGV4dGFyZWEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRWxlbWVudFdyYXBwZXJNb2R1bGUgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQtd3JhcHBlci9lbGVtZW50LXdyYXBwZXIubW9kdWxlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0VjYWJzVGV4dGFyZWFDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEVsZW1lbnRXcmFwcGVyTW9kdWxlLCBGb3Jtc01vZHVsZV0sXHJcbiAgZXhwb3J0czogW0VjYWJzVGV4dGFyZWFDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNUZXh0QXJlYU1vZHVsZSB7fVxyXG4iXX0=
@@ -0,0 +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
+ }
106
+ EcabsTimeListPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsTimeListPanelComponent, deps: [{ token: i0.ElementRef }, { token: i1.FormTimePickerService }], target: i0.ɵɵFactoryTarget.Component });
107
+ EcabsTimeListPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", 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"] }] });
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", 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
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGltZS1saXN0LXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10aW1lcGlja2VyL2NvbXBvbmV0cy9lY2Ficy10aW1lLWxpc3QtcGFuZWwvZWNhYnMtdGltZS1saXN0LXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10aW1lcGlja2VyL2NvbXBvbmV0cy9lY2Ficy10aW1lLWxpc3QtcGFuZWwvZWNhYnMtdGltZS1saXN0LXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUF5QixNQUFNLGVBQWUsQ0FBQzs7OztBQU9wSCxNQUFNLE9BQU8sMkJBQTJCO0lBb0J0QyxZQUFxQixVQUFzQixFQUFVLGlCQUF3QztRQUF4RSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF1QjtRQWxCcEYsa0JBQWEsR0FBa0IsTUFBTSxDQUFDO1FBQ3RDLGlCQUFZLEdBQWlCLEVBQUUsQ0FBQztRQUtoQyxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGFBQVEsR0FBaUIsRUFBRSxDQUFDO1FBRTNCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBa0MsQ0FBQztRQUM5RCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU1QyxxQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDckIsYUFBUSxHQUFvQyxFQUFFLENBQUM7SUFJbUQsQ0FBQztJQUduRyxhQUFhLENBQUUsTUFBcUI7UUFDbEMsSUFBSyxNQUFN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R0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQyxJQUFJLENBQUMsUUFBUSxDQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBRSxDQUFDO2FBQ3hDO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFFLEtBQWE7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFFLGVBQWUsQ0FBRSxDQUFDLFNBQVMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUN6RyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPLENBQUUsS0FBVTtRQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBRSxLQUFLLENBQUUsQ0FBQztJQUM3QixDQUFDOzt3SEFySFUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsK2FDUHhDLHllQWdCQTsyRkRUYSwyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0UsdUJBQXVCO3FJQUl4QixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQVVQLGFBQWE7c0JBRFosWUFBWTt1QkFBRSxrQkFBa0IsRUFBRSxDQUFFLFFBQVEsQ0FBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgRWxlbWVudFJlZiwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpc3RQbGFjZW1lbnQsIExpc3RQb3NpdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy90aW1lcGlja2VyLm1vZGVscyc7XHJcbmltcG9ydCB7IEZvcm1UaW1lUGlja2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2VjYWJzLXRpbWVwaWNrZXIuc2VydmljZSc7XHJcbkBDb21wb25lbnQoIHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLXRpbWUtbGlzdC1wYW5lbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLXRpbWUtbGlzdC1wYW5lbC5jb21wb25lbnQuaHRtbCcsXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRWNhYnNUaW1lTGlzdFBhbmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIHR5cGVkVmFsdWU6IGFueTtcclxuICBASW5wdXQoKSBsaXN0UGxhY2VtZW50OiBMaXN0UGxhY2VtZW50ID0gJ2F1dG8nO1xyXG4gIEBJbnB1dCgpIGxpc3RQb3NpdGlvbjogTGlzdFBvc2l0aW9uID0ge307XHJcblxyXG4gIEBJbnB1dCgpIGFwcGVuZFRvITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1pbiE6IHN0cmluZztcclxuICBASW5wdXQoKSBtYXghOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2hvd0RheVN0YXJ0ID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93RGF5RW5kID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcG9zaXRpb246IExpc3RQb3NpdGlvbiA9IHt9O1xyXG5cclxuICBAT3V0cHV0KCkgb25zY3JvbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHsgc3RhcnQ6IG51bWJlcjsgZW5kOiBudW1iZXIgfT4oKTtcclxuICBAT3V0cHV0KCkgY2xvc2VNZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBob3ZlcmVkSXRlbUluZGV4ID0gMDtcclxuICB0aW1lTGlzdDogeyB2YWx1ZTogYW55OyB0aXRsZTogc3RyaW5nIH1bXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIGxpc3RJdGVtSGVpZ2h0ITogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvciggcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHRpbWVwaWNrZXJTZXJ2aWNlOiBGb3JtVGltZVBpY2tlclNlcnZpY2UgKSB7IH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lciggJ2RvY3VtZW50OmtleWRvd24nLCBbICckZXZlbnQnIF0gKVxyXG4gIGhhbmRsZUtleWRvd24oICRldmVudDogS2V5Ym9hcmRFdmVudCApOiB2b2lkIHtcclxuICAgIGlmICggJGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnICkge1xyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC1leHByZXNzaW9uc1xyXG4gICAgICB0aGlzLmhvdmVyZWRJdGVtSW5kZXggPyB0aGlzLmhvdmVyZWRJdGVtSW5kZXgtLSA6IG51bGw7XHJcbiAgICAgIHRoaXMuc2Nyb2xsVG8oIHRoaXMuaG92ZXJlZEl0ZW1JbmRleCApO1xyXG4gICAgfVxyXG4gICAgaWYgKCAkZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJyApIHtcclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtZXhwcmVzc2lvbnNcclxuICAgICAgdGhpcy5ob3ZlcmVkSXRlbUluZGV4ICsgMSA8IHRoaXMudGltZUxpc3QubGVuZ3RoID8gdGhpcy5ob3ZlcmVkSXRlbUluZGV4KysgOiBudWxsO1xyXG4gICAgICB0aGlzLnNjcm9sbFRvKCB0aGlzLmhvdmVyZWRJdGVtSW5kZXggKTtcclxuICAgIH1cclxuICAgIGlmICggJGV2ZW50LmtleSA9PT0gJ0VudGVyJyApIHtcclxuICAgICAgdGhpcy5zZXRUaW1lKCB0aGlzLnRpbWVMaXN0WyB0aGlzLmhvdmVyZWRJdGVtSW5kZXggXS52YWx1ZSApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbGNMaXN0SXRlbXMoKTtcclxuICAgIGlmICggdGhpcy5hcHBlbmRUbyApIHtcclxuICAgICAgdGhpcy5hcHBlbmRMaXN0VG8oKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRUaW1lb3V0KCAoKSA9PiB7XHJcbiAgICAgIHRoaXMubGlzdEl0ZW1IZWlnaHQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCAnbGknICkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xyXG4gICAgICB0aGlzLnNlbGVjdFR5cGVkVmFsdWUoIHRoaXMudHlwZWRWYWx1ZSApO1xyXG4gICAgfSApO1xyXG4gIH1cclxuXHJcbiAgYXBwZW5kTGlzdFRvKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcGFyZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvciggdGhpcy5hcHBlbmRUbyApO1xyXG4gICAgaWYgKCAhcGFyZW50ICkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoIGBhcHBlbmRUbyBzZWxlY3RvciAkeyB0aGlzLmFwcGVuZFRvIH0gZGlkIG5vdCBmb3VuZCBhbnkgcGFyZW50IGVsZW1lbnRgICk7XHJcbiAgICB9XHJcbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50ICk7XHJcbiAgfVxyXG5cclxuICBjYWxjTGlzdEl0ZW1zKCk6IHZvaWQge1xyXG4gICAgaWYgKCB0aGlzLnNob3dEYXlTdGFydCApIHtcclxuICAgICAgdGhpcy50aW1lTGlzdC5wdXNoKCB7XHJcbiAgICAgICAgdmFsdWU6ICcwMDowMCcsXHJcbiAgICAgICAgdGl0bGU6IHRoaXMudGltZXBpY2tlclNlcnZpY2UuZ2V0Q29uZmlnKCkuZGF5U3RhcnQsXHJcbiAgICAgIH0gKTtcclxuICAgIH1cclxuICAgIGZvciAoIGxldCBpbmRleCA9IDA7IGluZGV4IDwgMjQ7IGluZGV4KysgKSB7XHJcbiAgICAgIGZvciAoIGNvbnN0IG1pbnV0ZSBvZiBbICcwMCcsICczMCcgXSApIHtcclxuICAgICAgICBpZiAoIGluZGV4ID09PSAwICYmIG1pbnV0ZSA9PT0gJzAwJyApIHtcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnRpbWVMaXN0LnB1c2goIHtcclxuICAgICAgICAgIHZhbHVlOiAoIGluZGV4ID4gOSA/IGluZGV4ICsgJycgOiAnMCcgKyBpbmRleCApICsgJzonICsgbWludXRlLFxyXG4gICAgICAgICAgdGl0bGU6ICggaW5kZXggPiA5ID8gaW5kZXggKyAnJyA6ICcwJyArIGluZGV4ICkgKyAnOicgKyBtaW51dGUsXHJcbiAgICAgICAgfSApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoIHRoaXMuc2hvd0RheUVuZCApIHtcclxuICAgICAgdGhpcy50aW1lTGlzdC5wdXNoKCB7XHJcbiAgICAgICAgdmFsdWU6ICcyMzo1OScsXHJcbiAgICAgICAgdGl0bGU6IHRoaXMudGltZXBpY2tlclNlcnZpY2UuZ2V0Q29uZmlnKCkuZGF5RW5kLFxyXG4gICAgICB9ICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0VHlwZWRWYWx1ZSggdGhpcy50eXBlZFZhbHVlICk7XHJcbiAgICBpZiAoIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50ICkge1xyXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSB0aGlzLmxpc3RQb3NpdGlvbi50b3AgKyAncHgnO1xyXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gdGhpcy5saXN0UG9zaXRpb24ubGVmdCArICdweCc7XHJcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gdGhpcy5saXN0UG9zaXRpb24ud2lkdGggKyAncHgnO1xyXG4gICAgICBpZiAoIHRoaXMuYXBwZW5kVG8gKSB7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RUeXBlZFZhbHVlKCB2YWx1ZTogYW55ICk6IHZvaWQge1xyXG4gICAgaWYgKCB2YWx1ZSApIHtcclxuICAgICAgY29uc3QgaG91ciA9IHBhcnNlSW50KCB2YWx1ZS5zcGxpdCggJzonIClbIDAgXSwgMTAgKTtcclxuICAgICAgaWYgKCBob3VyIHx8IGhvdXIgPT09IDAgKSB7XHJcbiAgICAgICAgdGhpcy5ob3ZlcmVkSXRlbUluZGV4ID0gaG91ciAqIDI7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxUbyggdGhpcy5ob3ZlcmVkSXRlbUluZGV4ICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNjcm9sbFRvKCBpbmRleDogbnVtYmVyICk6IHZvaWQge1xyXG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvciggJy5pbm5lci1zY3JvbGwnICkuc2Nyb2xsVG9wID0gaW5kZXggKiB0aGlzLmxpc3RJdGVtSGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NlTWUuZW1pdCggbnVsbCApO1xyXG4gIH1cclxuXHJcbiAgc2V0VGltZSggdmFsdWU6IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VNZS5lbWl0KCB2YWx1ZSApO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibGlzdFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJpbm5lci1zY3JvbGxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbm5lclwiPlxyXG4gICAgICA8dWw+XHJcbiAgICAgICAgPGxpXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgaSBvZiB0aW1lTGlzdDsgbGV0IGNvdW50ZXIgPSBpbmRleFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2V0VGltZShpLnZhbHVlKVwiXHJcbiAgICAgICAgICAobW91c2VlbnRlcik9XCJob3ZlcmVkSXRlbUluZGV4ID0gY291bnRlclwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogdHlwZWRWYWx1ZSA9PT0gaS52YWx1ZSwgaG92ZXJlZDogY291bnRlciA9PT0gaG92ZXJlZEl0ZW1JbmRleCB9XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBpLnRpdGxlIH19XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19