ecabs-components 0.0.16 → 1.0.1

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 (181) hide show
  1. package/esm2022/lib/base/directives/date-mask.directive.mjs +67 -0
  2. package/{esm2020 → esm2022}/lib/base/directives/date-mask.directive.module.mjs +5 -5
  3. package/esm2022/lib/base/directives/digits-only.directive.mjs +133 -0
  4. package/{esm2020 → esm2022}/lib/base/directives/digits-only.directive.module.mjs +5 -5
  5. package/esm2022/lib/base/directives/number-border.directive.mjs +58 -0
  6. package/{esm2020 → esm2022}/lib/base/directives/number-border.directive.module.mjs +5 -5
  7. package/esm2022/lib/base/element-base.mjs +105 -0
  8. package/esm2022/lib/base/element-wrapper/element-wrapper.component.mjs +56 -0
  9. package/esm2022/lib/base/element-wrapper/element-wrapper.module.mjs +52 -0
  10. package/esm2022/lib/base/hint/hint.component.mjs +21 -0
  11. package/esm2022/lib/base/hint/hint.module.mjs +20 -0
  12. package/esm2022/lib/base/validation/validation.component.mjs +75 -0
  13. package/esm2022/lib/base/validation/validation.module.mjs +20 -0
  14. package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +17 -0
  15. package/{esm2020 → esm2022}/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.mjs +5 -5
  16. package/esm2022/lib/ecabs-buttons/ecabs-buttons.component.mjs +67 -0
  17. package/esm2022/lib/ecabs-buttons/ecabs-buttons.module.mjs +21 -0
  18. package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +90 -0
  19. package/{esm2020 → esm2022}/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.mjs +15 -15
  20. package/esm2022/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +15 -0
  21. package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +89 -0
  22. package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.module.mjs +48 -0
  23. package/esm2022/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +15 -0
  24. package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +186 -0
  25. package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.mjs +64 -0
  26. package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +32 -0
  27. package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.mjs +20 -0
  28. package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +29 -0
  29. package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.module.mjs +20 -0
  30. package/{esm2020 → esm2022}/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.mjs +7 -4
  31. package/{esm2020 → esm2022}/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.mjs +5 -5
  32. package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +85 -0
  33. package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.mjs +24 -0
  34. package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +83 -0
  35. package/esm2022/lib/ecabs-increment/ecabs-increment.module.mjs +23 -0
  36. package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +88 -0
  37. package/esm2022/lib/ecabs-input/ecabs-input.module.mjs +22 -0
  38. package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +51 -0
  39. package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.module.mjs +35 -0
  40. package/esm2022/lib/ecabs-loading/ecabs-loading.component.mjs +22 -0
  41. package/{esm2020 → esm2022}/lib/ecabs-loading/ecabs-loading.module.mjs +5 -5
  42. package/esm2022/lib/ecabs-loading/spinner/spinner.component.mjs +14 -0
  43. package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +28 -0
  44. package/{esm2020 → esm2022}/lib/ecabs-note/ecabs-note.module.mjs +5 -5
  45. package/esm2022/lib/ecabs-phone/ecabs-phone.component.mjs +111 -0
  46. package/{esm2020 → esm2022}/lib/ecabs-phone/ecabs-phone.module.mjs +6 -6
  47. package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +53 -0
  48. package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.module.mjs +22 -0
  49. package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +68 -0
  50. package/{esm2020 → esm2022}/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.mjs +12 -12
  51. package/esm2022/lib/ecabs-select/ecabs-select.component.mjs +227 -0
  52. package/esm2022/lib/ecabs-select/ecabs-select.module.mjs +60 -0
  53. package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +19 -0
  54. package/{esm2020 → esm2022}/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.mjs +7 -7
  55. package/esm2022/lib/ecabs-table/ecabs-table.component.mjs +48 -0
  56. package/{esm2020 → esm2022}/lib/ecabs-table/ecabs-table.module.mjs +12 -12
  57. package/esm2022/lib/ecabs-textarea/ecabs-textarea.component.mjs +65 -0
  58. package/{esm2020 → esm2022}/lib/ecabs-textarea/ecabs-textarea.module.mjs +5 -5
  59. package/esm2022/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +144 -0
  60. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +322 -0
  61. package/{esm2020 → esm2022}/lib/ecabs-timepicker/ecabs-timepicker.module.mjs +5 -5
  62. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +29 -0
  63. package/esm2022/lib/models/language.models.mjs +2 -0
  64. package/esm2022/lib/services/ecabs-components.service.mjs +31 -0
  65. package/esm2022/public-api.mjs +51 -0
  66. package/fesm2022/ecabs-components.mjs +3047 -0
  67. package/fesm2022/ecabs-components.mjs.map +1 -0
  68. package/lib/base/directives/date-mask.directive.d.ts +1 -1
  69. package/lib/base/directives/digits-only.directive.d.ts +1 -1
  70. package/lib/base/directives/number-border.directive.d.ts +1 -1
  71. package/lib/base/element-base.d.ts +1 -1
  72. package/lib/base/element-wrapper/element-wrapper.component.d.ts +1 -1
  73. package/lib/base/element-wrapper/element-wrapper.module.d.ts +4 -4
  74. package/lib/base/hint/hint.component.d.ts +1 -1
  75. package/lib/base/hint/hint.module.d.ts +2 -2
  76. package/lib/base/validation/validation.component.d.ts +1 -1
  77. package/lib/base/validation/validation.module.d.ts +2 -2
  78. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.d.ts +1 -1
  79. package/lib/ecabs-buttons/ecabs-buttons.component.d.ts +1 -1
  80. package/lib/ecabs-buttons/ecabs-buttons.module.d.ts +2 -2
  81. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.d.ts +1 -1
  82. package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.d.ts +1 -1
  83. package/lib/ecabs-date-picker/ecabs-date-picker.component.d.ts +1 -1
  84. package/lib/ecabs-date-picker/ecabs-date-picker.module.d.ts +2 -2
  85. package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.d.ts +1 -1
  86. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +1 -1
  87. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.d.ts +2 -2
  88. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.d.ts +1 -1
  89. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.d.ts +2 -2
  90. package/lib/ecabs-dialog-message/ecabs-dialog-message.component.d.ts +1 -1
  91. package/lib/ecabs-dialog-message/ecabs-dialog-message.module.d.ts +2 -2
  92. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.d.ts +1 -1
  93. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.d.ts +1 -1
  94. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.d.ts +3 -3
  95. package/lib/ecabs-increment/ecabs-increment.component.d.ts +1 -1
  96. package/lib/ecabs-increment/ecabs-increment.module.d.ts +2 -2
  97. package/lib/ecabs-input/ecabs-input.component.d.ts +1 -1
  98. package/lib/ecabs-input/ecabs-input.module.d.ts +2 -2
  99. package/lib/ecabs-language-selector/ecabs-language-selector.component.d.ts +17 -0
  100. package/lib/ecabs-language-selector/ecabs-language-selector.module.d.ts +11 -0
  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-picker-header/ecabs-picker-header.module.d.ts +2 -2
  107. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.d.ts +1 -1
  108. package/lib/ecabs-select/ecabs-select.component.d.ts +1 -1
  109. package/lib/ecabs-select/ecabs-select.module.d.ts +4 -4
  110. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.d.ts +1 -1
  111. package/lib/ecabs-table/ecabs-table.component.d.ts +1 -1
  112. package/lib/ecabs-textarea/ecabs-textarea.component.d.ts +1 -1
  113. package/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.d.ts +1 -1
  114. package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +1 -1
  115. package/lib/models/language.models.d.ts +4 -0
  116. package/lib/models/timepicker.models.d.ts +1 -1
  117. package/package.json +12 -17
  118. package/public-api.d.ts +2 -0
  119. package/styles/material/overrides/_form.scss +97 -0
  120. package/styles/material/overrides/_phone.scss +1 -1
  121. package/styles/material/overrides/_select.scss +12 -6
  122. package/styles/material/overrides/_table.scss +2 -2
  123. package/styles/material/overrides/_toggle.scss +3 -3
  124. package/styles/scss/modules/_form.scss +12 -0
  125. package/styles/scss/modules/_select.scss +6 -2
  126. package/esm2020/lib/base/directives/date-mask.directive.mjs +0 -65
  127. package/esm2020/lib/base/directives/digits-only.directive.mjs +0 -130
  128. package/esm2020/lib/base/directives/number-border.directive.mjs +0 -54
  129. package/esm2020/lib/base/element-base.mjs +0 -100
  130. package/esm2020/lib/base/element-wrapper/element-wrapper.component.mjs +0 -53
  131. package/esm2020/lib/base/element-wrapper/element-wrapper.module.mjs +0 -52
  132. package/esm2020/lib/base/hint/hint.component.mjs +0 -21
  133. package/esm2020/lib/base/hint/hint.module.mjs +0 -20
  134. package/esm2020/lib/base/validation/validation.component.mjs +0 -70
  135. package/esm2020/lib/base/validation/validation.module.mjs +0 -20
  136. package/esm2020/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +0 -16
  137. package/esm2020/lib/ecabs-buttons/ecabs-buttons.component.mjs +0 -65
  138. package/esm2020/lib/ecabs-buttons/ecabs-buttons.module.mjs +0 -21
  139. package/esm2020/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +0 -85
  140. package/esm2020/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +0 -17
  141. package/esm2020/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +0 -85
  142. package/esm2020/lib/ecabs-date-picker/ecabs-date-picker.module.mjs +0 -48
  143. package/esm2020/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +0 -17
  144. package/esm2020/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +0 -179
  145. package/esm2020/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.mjs +0 -64
  146. package/esm2020/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +0 -28
  147. package/esm2020/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.mjs +0 -20
  148. package/esm2020/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +0 -25
  149. package/esm2020/lib/ecabs-dialog-message/ecabs-dialog-message.module.mjs +0 -20
  150. package/esm2020/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +0 -76
  151. package/esm2020/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.mjs +0 -24
  152. package/esm2020/lib/ecabs-increment/ecabs-increment.component.mjs +0 -78
  153. package/esm2020/lib/ecabs-increment/ecabs-increment.module.mjs +0 -23
  154. package/esm2020/lib/ecabs-input/ecabs-input.component.mjs +0 -81
  155. package/esm2020/lib/ecabs-input/ecabs-input.module.mjs +0 -22
  156. package/esm2020/lib/ecabs-loading/ecabs-loading.component.mjs +0 -24
  157. package/esm2020/lib/ecabs-loading/spinner/spinner.component.mjs +0 -16
  158. package/esm2020/lib/ecabs-note/ecabs-note.component.mjs +0 -30
  159. package/esm2020/lib/ecabs-phone/ecabs-phone.component.mjs +0 -104
  160. package/esm2020/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +0 -50
  161. package/esm2020/lib/ecabs-picker-header/ecabs-picker-header.module.mjs +0 -22
  162. package/esm2020/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +0 -65
  163. package/esm2020/lib/ecabs-select/ecabs-select.component.mjs +0 -222
  164. package/esm2020/lib/ecabs-select/ecabs-select.module.mjs +0 -60
  165. package/esm2020/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +0 -17
  166. package/esm2020/lib/ecabs-table/ecabs-table.component.mjs +0 -43
  167. package/esm2020/lib/ecabs-textarea/ecabs-textarea.component.mjs +0 -62
  168. package/esm2020/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +0 -137
  169. package/esm2020/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +0 -312
  170. package/esm2020/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +0 -31
  171. package/esm2020/lib/services/ecabs-components.service.mjs +0 -32
  172. package/esm2020/public-api.mjs +0 -49
  173. package/fesm2015/ecabs-components.mjs +0 -2881
  174. package/fesm2015/ecabs-components.mjs.map +0 -1
  175. package/fesm2020/ecabs-components.mjs +0 -2868
  176. package/fesm2020/ecabs-components.mjs.map +0 -1
  177. /package/{esm2020 → esm2022}/ecabs-components.mjs +0 -0
  178. /package/{esm2020 → esm2022}/lib/base/consts/date-mask.consts.mjs +0 -0
  179. /package/{esm2020 → esm2022}/lib/ecabs-timepicker/config.model.mjs +0 -0
  180. /package/{esm2020 → esm2022}/lib/models/bread-crumb.mjs +0 -0
  181. /package/{esm2020 → esm2022}/lib/models/timepicker.models.mjs +0 -0
@@ -0,0 +1,322 @@
1
+ import { Component, Input, HostBinding, HostListener } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
3
+ import ElementBaseComponent from '../base/element-base';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./ecabs-timepicker.service";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "../base/element-wrapper/element-wrapper.component";
8
+ import * as i4 from "./componets/ecabs-time-list-panel/ecabs-time-list-panel.component";
9
+ export class EcabsTimepickerComponent extends ElementBaseComponent {
10
+ elementRef;
11
+ timepickerService;
12
+ injector;
13
+ showCloseIcon = true;
14
+ focusedFlag = false;
15
+ listPlacement = 'auto';
16
+ appendTo;
17
+ min;
18
+ max;
19
+ showDayStart = true;
20
+ showDayEnd = false;
21
+ addSecond = true;
22
+ position = {};
23
+ _data = '';
24
+ _timePicker;
25
+ _input;
26
+ listPosition = {};
27
+ caretPositionStart;
28
+ caretPositionEnd;
29
+ get data() {
30
+ return this._data;
31
+ }
32
+ set data(value) {
33
+ this._data = value;
34
+ if (this._data.length === 5) {
35
+ if (this._data === '23:59') {
36
+ this.onChangeFn(this._data + (this.addSecond ? ':59' : ''));
37
+ }
38
+ else {
39
+ this.onChangeFn(this._data + (this.addSecond ? ':00' : ''));
40
+ }
41
+ }
42
+ else if (this._data === '') {
43
+ this.onChangeFn(this._data);
44
+ }
45
+ }
46
+ constructor(elementRef, timepickerService, injector) {
47
+ super();
48
+ this.elementRef = elementRef;
49
+ this.timepickerService = timepickerService;
50
+ this.injector = injector;
51
+ this.placeholder = '00:00';
52
+ this._timePicker = this.elementRef.nativeElement;
53
+ setTimeout(() => {
54
+ this._input = this._timePicker.querySelector('input');
55
+ });
56
+ if (!this.iconClass) {
57
+ this.iconClass = this.timepickerService.getConfig().iconClass;
58
+ }
59
+ }
60
+ handleMousedown($event) {
61
+ const target = $event.target;
62
+ if (target.closest('.form-time-list') ||
63
+ target.closest('.timeInputWrapper') === this._timePicker.querySelector('.timeInputWrapper')) {
64
+ this._timePicker.querySelector('.timeInputWrapper').focus();
65
+ return;
66
+ }
67
+ if (this.focusedFlag) {
68
+ this.close();
69
+ }
70
+ }
71
+ ngAfterViewInit() {
72
+ const ngControl = this.injector.get(NgControl, null);
73
+ if (ngControl) {
74
+ this.control = ngControl.control;
75
+ }
76
+ }
77
+ clearInput() {
78
+ this.data = '';
79
+ }
80
+ calcListPosition() {
81
+ const position = this._timePicker.querySelector('.timeInputFieldWrapper').getBoundingClientRect();
82
+ if (this.appendTo) {
83
+ this.listPosition = {
84
+ left: position.x,
85
+ top: position.top + position.height,
86
+ width: position.width,
87
+ };
88
+ }
89
+ else {
90
+ this.listPosition = {
91
+ left: 0,
92
+ top: position.height,
93
+ width: position.width,
94
+ };
95
+ }
96
+ }
97
+ inputKeyDown(event) {
98
+ this.caretPositionStart = event.target.selectionStart;
99
+ this.caretPositionEnd = event.target.selectionEnd;
100
+ const key = event.key;
101
+ this.setCaretPosition(this._input);
102
+ switch (this.checkSpecialKeys(key, this.caretPositionStart, this.caretPositionEnd)) {
103
+ case 'stop':
104
+ return false;
105
+ case 'tab':
106
+ this.close();
107
+ return false;
108
+ case 'arrow':
109
+ return false;
110
+ }
111
+ if (this.checkUnUsedKeys(key)) {
112
+ return false;
113
+ }
114
+ const newData = this.data.slice(0, this.caretPositionStart) + key + this.data.slice(this.caretPositionStart, this.data.length);
115
+ if (this.checkOutOfRangeNumber(newData)) {
116
+ this.data = newData;
117
+ this.caretPositionStart++;
118
+ }
119
+ if (this.caretPositionStart === this.data.length &&
120
+ (this.data.length === 2 || (this.data.length === 1 && parseInt(this.data) > 2))) {
121
+ this.makeHourFull();
122
+ this.data += ':';
123
+ this.caretPositionStart++;
124
+ }
125
+ return false;
126
+ }
127
+ checkSpecialKeys(key, selectionStart, selectionEnd) {
128
+ if (selectionStart !== selectionEnd && key !== 'ArrowLeft' && key !== 'ArrowRight') {
129
+ if (!(this.data.slice(selectionStart, selectionEnd).includes(':') && selectionEnd !== this.data.length)) {
130
+ this.data = this.data.slice(0, selectionStart) + this.data.slice(selectionEnd, this.data.length);
131
+ }
132
+ }
133
+ if (selectionStart === selectionEnd && key === 'Backspace') {
134
+ if (this.data.length > 0) {
135
+ if (this.data[selectionStart - 1] !== ':' ||
136
+ (this.data[selectionStart - 1] === ':' && selectionStart === this.data.length)) {
137
+ this.data = this.data.slice(0, selectionStart - 1) + this.data.slice(selectionEnd, this.data.length);
138
+ this.caretPositionStart--;
139
+ }
140
+ }
141
+ return 'stop';
142
+ }
143
+ if (key === 'Tab' || key === ' ' || key === ':') {
144
+ if (!this.data.includes(':') && this.data.length > 0) {
145
+ this.makeHourFull();
146
+ this.data += ':';
147
+ this.caretPositionStart++;
148
+ return 'stop';
149
+ }
150
+ if (key === 'Tab') {
151
+ return 'tab';
152
+ }
153
+ return 'stop';
154
+ }
155
+ if (key === 'ArrowRight') {
156
+ if (this.caretPositionStart < this.data.length) {
157
+ this.caretPositionStart++;
158
+ }
159
+ return 'arrow';
160
+ }
161
+ if (key === 'ArrowLeft') {
162
+ if (this.caretPositionStart > 0) {
163
+ this.caretPositionStart--;
164
+ }
165
+ return 'arrow';
166
+ }
167
+ if (key === 'ArrowDown' && !this.focusedFlag) {
168
+ this.show();
169
+ }
170
+ return 'continue';
171
+ }
172
+ checkUnUsedKeys(key) {
173
+ const r = new RegExp('[0-9]');
174
+ return !r.test(key);
175
+ }
176
+ setCaretPosition(elem) {
177
+ setTimeout(() => {
178
+ if (elem !== null) {
179
+ if (elem.createTextRange) {
180
+ const range = elem.createTextRange();
181
+ range.move('character', this.caretPositionStart);
182
+ range.select();
183
+ }
184
+ else {
185
+ if (elem.selectionStart) {
186
+ elem.focus();
187
+ elem.setSelectionRange(this.caretPositionStart, this.caretPositionStart);
188
+ }
189
+ else {
190
+ elem.focus();
191
+ }
192
+ }
193
+ }
194
+ });
195
+ }
196
+ checkOutOfRangeNumber(time) {
197
+ const hour = parseInt(time.split(':')[0], 10);
198
+ let minute = -1;
199
+ if (time.split(':').length > 1) {
200
+ minute = parseInt(time.split(':')[1], 10);
201
+ }
202
+ if (hour < 24 && time.split(':')[0].length < 3 && minute < 60) {
203
+ if (time.split(':').length > 1 && time.split(':')[1].length > 2) {
204
+ return false;
205
+ }
206
+ return true;
207
+ }
208
+ return false;
209
+ }
210
+ makeHourFull() {
211
+ const hourPart = this.data.split(':')[0];
212
+ const minutePart = this.data.split(':').length > 1 ? this.data.split(':')[1] : '';
213
+ if (hourPart.length === 1) {
214
+ this.data = '0' + hourPart + (minutePart ? ':' + minutePart : minutePart);
215
+ this.caretPositionStart++;
216
+ }
217
+ }
218
+ makeMinuteFull() {
219
+ const hourPart = this.data.split(':')[0];
220
+ const minutePart = this.data.split(':').length > 1 ? this.data.split(':')[1] : '';
221
+ if (minutePart.length === 0) {
222
+ this.data = hourPart + ':00';
223
+ this.caretPositionStart += 2;
224
+ }
225
+ if (minutePart.length === 1) {
226
+ this.data = hourPart + ':' + minutePart + '0';
227
+ this.caretPositionStart++;
228
+ }
229
+ }
230
+ fixTimeToNearest() {
231
+ if (this.data.length > 0) {
232
+ this.makeHourFull();
233
+ this.makeMinuteFull();
234
+ }
235
+ }
236
+ //eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars, @typescript-eslint/no-empty-function
237
+ onChangeFn = (_) => { };
238
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
239
+ onTouchedFn = () => { };
240
+ registerOnChange(fn) {
241
+ this.onChangeFn = fn;
242
+ }
243
+ registerOnTouched(fn) {
244
+ this.onTouchedFn = fn;
245
+ }
246
+ setDisabledState(isDisabled) {
247
+ this.disabled = isDisabled;
248
+ }
249
+ writeValue(obj) {
250
+ if (obj) {
251
+ obj = obj.toString();
252
+ let temp = '';
253
+ if (obj.split(':').length >= 2) {
254
+ temp = obj.split(':')[0] + ':' + obj.split(':')[1];
255
+ }
256
+ this._data = temp;
257
+ }
258
+ else {
259
+ this._data = '';
260
+ }
261
+ }
262
+ onChange() {
263
+ this.onChangeFn(this.data);
264
+ }
265
+ show() {
266
+ this.calcListPosition();
267
+ this.focusedFlag = true;
268
+ }
269
+ close(val = null) {
270
+ if (val) {
271
+ this.data = val;
272
+ }
273
+ else {
274
+ this.fixTimeToNearest();
275
+ }
276
+ this.focusedFlag = false;
277
+ this.control?.markAsTouched();
278
+ }
279
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EcabsTimepickerComponent, deps: [{ token: i0.ElementRef }, { token: i1.FormTimePickerService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
280
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: EcabsTimepickerComponent, selector: "ecabs-timepicker", inputs: { showCloseIcon: "showCloseIcon", focusedFlag: "focusedFlag", listPlacement: "listPlacement", appendTo: "appendTo", min: "min", max: "max", showDayStart: "showDayStart", showDayEnd: "showDayEnd", addSecond: "addSecond" }, host: { listeners: { "document:mousedown": "handleMousedown($event)" }, properties: { "class.form-timepicker-focused": "this.focusedFlag" } }, providers: [
281
+ {
282
+ provide: NG_VALUE_ACCESSOR,
283
+ useExisting: EcabsTimepickerComponent,
284
+ multi: true,
285
+ },
286
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"timeInputWrapper\" [ngClass]=\"{ disabled: disabled }\">\r\n <app-element-wrapper\r\n [data]=\"getData()\"\r\n [showCloseIcon]=\"showCloseIcon\"\r\n [focusedFlag]=\"focusedFlag\"\r\n (clear)=\"clearInput()\"\r\n >\r\n <div class=\"timeInputFieldWrapper\">\r\n <input\r\n type=\"text\"\r\n class=\"form-field__input\"\r\n [value]=\"data\"\r\n [disabled]=\"disabled\"\r\n (focus)=\"show()\"\r\n (click)=\"show()\"\r\n (keydown)=\"inputKeyDown($event)\"\r\n [placeholder]=\"placeholder\"\r\n />\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n </div>\r\n <ecabs-time-list-panel\r\n [typedValue]=\"data\"\r\n *ngIf=\"focusedFlag\"\r\n [showDayStart]=\"showDayStart\"\r\n [showDayEnd]=\"showDayEnd\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n class=\"form-time-list\"\r\n [appendTo]=\"appendTo\"\r\n [listPosition]=\"listPosition\"\r\n (closeMe)=\"close($event)\"\r\n ></ecabs-time-list-panel>\r\n </div>\r\n </app-element-wrapper>\r\n</div>\r\n", styles: [":host::ng-deep .timeInputWrapper app-element-wrapper .form-field{margin-bottom:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i4.EcabsTimeListPanelComponent, selector: "ecabs-time-list-panel", inputs: ["typedValue", "listPlacement", "listPosition", "appendTo", "min", "max", "showDayStart", "showDayEnd", "position"], outputs: ["onscroll", "closeMe"] }] });
287
+ }
288
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EcabsTimepickerComponent, decorators: [{
289
+ type: Component,
290
+ args: [{ selector: 'ecabs-timepicker', providers: [
291
+ {
292
+ provide: NG_VALUE_ACCESSOR,
293
+ useExisting: EcabsTimepickerComponent,
294
+ multi: true,
295
+ },
296
+ ], template: "<div class=\"timeInputWrapper\" [ngClass]=\"{ disabled: disabled }\">\r\n <app-element-wrapper\r\n [data]=\"getData()\"\r\n [showCloseIcon]=\"showCloseIcon\"\r\n [focusedFlag]=\"focusedFlag\"\r\n (clear)=\"clearInput()\"\r\n >\r\n <div class=\"timeInputFieldWrapper\">\r\n <input\r\n type=\"text\"\r\n class=\"form-field__input\"\r\n [value]=\"data\"\r\n [disabled]=\"disabled\"\r\n (focus)=\"show()\"\r\n (click)=\"show()\"\r\n (keydown)=\"inputKeyDown($event)\"\r\n [placeholder]=\"placeholder\"\r\n />\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n </div>\r\n <ecabs-time-list-panel\r\n [typedValue]=\"data\"\r\n *ngIf=\"focusedFlag\"\r\n [showDayStart]=\"showDayStart\"\r\n [showDayEnd]=\"showDayEnd\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n class=\"form-time-list\"\r\n [appendTo]=\"appendTo\"\r\n [listPosition]=\"listPosition\"\r\n (closeMe)=\"close($event)\"\r\n ></ecabs-time-list-panel>\r\n </div>\r\n </app-element-wrapper>\r\n</div>\r\n", styles: [":host::ng-deep .timeInputWrapper app-element-wrapper .form-field{margin-bottom:0}\n"] }]
297
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormTimePickerService }, { type: i0.Injector }]; }, propDecorators: { showCloseIcon: [{
298
+ type: Input
299
+ }], focusedFlag: [{
300
+ type: Input
301
+ }, {
302
+ type: HostBinding,
303
+ args: ['class.form-timepicker-focused']
304
+ }], listPlacement: [{
305
+ type: Input
306
+ }], appendTo: [{
307
+ type: Input
308
+ }], min: [{
309
+ type: Input
310
+ }], max: [{
311
+ type: Input
312
+ }], showDayStart: [{
313
+ type: Input
314
+ }], showDayEnd: [{
315
+ type: Input
316
+ }], addSecond: [{
317
+ type: Input
318
+ }], handleMousedown: [{
319
+ type: HostListener,
320
+ args: ['document:mousedown', ['$event']]
321
+ }] } });
322
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGltZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtdGltZXBpY2tlci9lY2Ficy10aW1lcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10aW1lcGlja2VyL2VjYWJzLXRpbWVwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxTQUFTLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEcsT0FBTyxvQkFBb0IsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBZXhELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxvQkFBb0I7SUFxQ3REO0lBQ0E7SUFDQTtJQXRDRCxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzJCLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEUsYUFBYSxHQUFrQixNQUFNLENBQUM7SUFDdEMsUUFBUSxDQUFVO0lBQ2xCLEdBQUcsQ0FBVTtJQUNiLEdBQUcsQ0FBVTtJQUNiLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDcEIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBRTFCLFFBQVEsR0FBaUIsRUFBRSxDQUFDO0lBQzVCLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDWCxXQUFXLENBQUM7SUFDWixNQUFNLENBQU87SUFDYixZQUFZLEdBQWlCLEVBQUUsQ0FBQztJQUNoQyxrQkFBa0IsQ0FBTztJQUN6QixnQkFBZ0IsQ0FBTztJQUV2QixJQUFJLElBQUk7UUFDTixPQUFPLElBQUks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S0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQTRDTixlQUFlO3NCQURkLFlBQVk7dUJBQUUsb0JBQW9CLEVBQUUsQ0FBRSxRQUFRLENBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmLCBJbmplY3RvciwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIE5nQ29udHJvbCwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGb3JtVGltZVBpY2tlclNlcnZpY2UgfSBmcm9tICcuL2VjYWJzLXRpbWVwaWNrZXIuc2VydmljZSc7XHJcbmltcG9ydCBFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XHJcbmltcG9ydCB7IExpc3RQbGFjZW1lbnQsIExpc3RQb3NpdGlvbiB9IGZyb20gJy4uL21vZGVscy90aW1lcGlja2VyLm1vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KCB7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy10aW1lcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtdGltZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbICdlY2Ficy10aW1lcGlja2VyLmNvbXBvbmVudC5zY3NzJyBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IEVjYWJzVGltZXBpY2tlckNvbXBvbmVudCxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRWNhYnNUaW1lcGlja2VyQ29tcG9uZW50IGV4dGVuZHMgRWxlbWVudEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgc2hvd0Nsb3NlSWNvbiA9IHRydWU7XHJcbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCAnY2xhc3MuZm9ybS10aW1lcGlja2VyLWZvY3VzZWQnICkgZm9jdXNlZEZsYWcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBsaXN0UGxhY2VtZW50OiBMaXN0UGxhY2VtZW50ID0gJ2F1dG8nO1xyXG4gIEBJbnB1dCgpIGFwcGVuZFRvITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1pbiE6IHN0cmluZztcclxuICBASW5wdXQoKSBtYXghOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2hvd0RheVN0YXJ0ID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93RGF5RW5kID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYWRkU2Vjb25kID0gdHJ1ZTtcclxuXHJcbiAgcG9zaXRpb246IExpc3RQb3NpdGlvbiA9IHt9O1xyXG4gIF9kYXRhID0gJyc7XHJcbiAgX3RpbWVQaWNrZXI7XHJcbiAgX2lucHV0ITogYW55O1xyXG4gIGxpc3RQb3NpdGlvbjogTGlzdFBvc2l0aW9uID0ge307XHJcbiAgY2FyZXRQb3NpdGlvblN0YXJ0ITogYW55O1xyXG4gIGNhcmV0UG9zaXRpb25FbmQhOiBhbnk7XHJcblxyXG4gIGdldCBkYXRhKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcclxuICB9XHJcblxyXG4gIHNldCBkYXRhKCB2YWx1ZTogYW55ICkge1xyXG4gICAgdGhpcy5fZGF0YSA9IHZhbHVlO1xyXG4gICAgaWYgKCB0aGlzLl9kYXRhLmxlbmd0aCA9PT0gNSApIHtcclxuICAgICAgaWYgKCB0aGlzLl9kYXRhID09PSAnMjM6NTknICkge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VGbiggdGhpcy5fZGF0YSArICggdGhpcy5hZGRTZWNvbmQgPyAnOjU5JyA6ICcnICkgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlRm4oIHRoaXMuX2RhdGEgKyAoIHRoaXMuYWRkU2Vjb25kID8gJzowMCcgOiAnJyApICk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoIHRoaXMuX2RhdGEgPT09ICcnICkge1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlRm4oIHRoaXMuX2RhdGEgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSB0aW1lcGlja2VyU2VydmljZTogRm9ybVRpbWVQaWNrZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gJzAwOjAwJztcclxuICAgIHRoaXMuX3RpbWVQaWNrZXIgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIHNldFRpbWVvdXQoICgpID0+IHtcclxuICAgICAgdGhpcy5faW5wdXQgPSB0aGlzLl90aW1lUGlja2VyLnF1ZXJ5U2VsZWN0b3IoICdpbnB1dCcgKTtcclxuICAgIH0gKTtcclxuICAgIGlmICggIXRoaXMuaWNvbkNsYXNzICkge1xyXG4gICAgICB0aGlzLmljb25DbGFzcyA9IHRoaXMudGltZXBpY2tlclNlcnZpY2UuZ2V0Q29uZmlnKCkuaWNvbkNsYXNzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lciggJ2RvY3VtZW50Om1vdXNlZG93bicsIFsgJyRldmVudCcgXSApXHJcbiAgaGFuZGxlTW91c2Vkb3duKCAkZXZlbnQ6IE1vdXNlRXZlbnQgKTogdm9pZCB7XHJcbiAgICBjb25zdCB0YXJnZXQgPSAkZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgaWYgKFxyXG4gICAgICB0YXJnZXQuY2xvc2VzdCggJy5mb3JtLXRpbWUtbGlzdCcgKSB8fFxyXG4gICAgICB0YXJnZXQuY2xvc2VzdCggJy50aW1lSW5wdXRXcmFwcGVyJyApID09PSB0aGlzLl90aW1lUGlja2VyLnF1ZXJ5U2VsZWN0b3IoICcudGltZUlucHV0V3JhcHBlcicgKVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuX3RpbWVQaWNrZXIucXVlcnlTZWxlY3RvciggJy50aW1lSW5wdXRXcmFwcGVyJyApLmZvY3VzKCk7XHJcblxyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoIHRoaXMuZm9jdXNlZEZsYWcgKSB7XHJcbiAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5nQ29udHJvbDogTmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoIE5nQ29udHJvbCwgbnVsbCApIGFzIE5nQ29udHJvbDtcclxuICAgIGlmICggbmdDb250cm9sICkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wgPSBuZ0NvbnRyb2wuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbGVhcklucHV0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRhID0gJyc7XHJcbiAgfVxyXG5cclxuICBjYWxjTGlzdFBvc2l0aW9uKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLl90aW1lUGlja2VyLnF1ZXJ5U2VsZWN0b3IoICcudGltZUlucHV0RmllbGRXcmFwcGVyJyApLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgaWYgKCB0aGlzLmFwcGVuZFRvICkge1xyXG4gICAgICB0aGlzLmxpc3RQb3NpdGlvbiA9IHtcclxuICAgICAgICBsZWZ0OiBwb3NpdGlvbi54LFxyXG4gICAgICAgIHRvcDogcG9zaXRpb24udG9wICsgcG9zaXRpb24uaGVpZ2h0LFxyXG4gICAgICAgIHdpZHRoOiBwb3NpdGlvbi53aWR0aCxcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubGlzdFBvc2l0aW9uID0ge1xyXG4gICAgICAgIGxlZnQ6IDAsXHJcbiAgICAgICAgdG9wOiBwb3NpdGlvbi5oZWlnaHQsXHJcbiAgICAgICAgd2lkdGg6IHBvc2l0aW9uLndpZHRoLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5wdXRLZXlEb3duKCBldmVudDogYW55ICk6IGJvb2xlYW4ge1xyXG4gICAgdGhpcy5jYXJldFBvc2l0aW9uU3RhcnQgPSBldmVudC50YXJnZXQuc2VsZWN0aW9uU3RhcnQ7XHJcbiAgICB0aGlzLmNhcmV0UG9zaXRpb25FbmQgPSBldmVudC50YXJnZXQuc2VsZWN0aW9uRW5kO1xyXG4gICAgY29uc3Qga2V5ID0gZXZlbnQua2V5O1xyXG4gICAgdGhpcy5zZXRDYXJldFBvc2l0aW9uKCB0aGlzLl9pbnB1dCApO1xyXG4gICAgc3dpdGNoICggdGhpcy5jaGVja1NwZWNpYWxLZXlzKCBrZXksIHRoaXMuY2FyZXRQb3NpdGlvblN0YXJ0LCB0aGlzLmNhcmV0UG9zaXRpb25FbmQgKSApIHtcclxuICAgICAgY2FzZSAnc3RvcCc6XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgICAgY2FzZSAndGFiJzpcclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcblxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICAgIGNhc2UgJ2Fycm93JzpcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCB0aGlzLmNoZWNrVW5Vc2VkS2V5cygga2V5ICkgKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBuZXdEYXRhID1cclxuICAgICAgdGhpcy5kYXRhLnNsaWNlKCAwLCB0aGlzLmNhcmV0UG9zaXRpb25TdGFydCApICsga2V5ICsgdGhpcy5kYXRhLnNsaWNlKCB0aGlzLmNhcmV0UG9zaXRpb25TdGFydCwgdGhpcy5kYXRhLmxlbmd0aCApO1xyXG5cclxuICAgIGlmICggdGhpcy5jaGVja091dE9mUmFuZ2VOdW1iZXIoIG5ld0RhdGEgKSApIHtcclxuICAgICAgdGhpcy5kYXRhID0gbmV3RGF0YTtcclxuICAgICAgdGhpcy5jYXJldFBvc2l0aW9uU3RhcnQrKztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuY2FyZXRQb3NpdGlvblN0YXJ0ID09PSB0aGlzLmRhdGEubGVuZ3RoICYmXHJcbiAgICAgICggdGhpcy5kYXRhLmxlbmd0aCA9PT0gMiB8fCAoIHRoaXMuZGF0YS5sZW5ndGggPT09IDEgJiYgcGFyc2VJbnQoIHRoaXMuZGF0YSApID4gMiApIClcclxuICAgICkge1xyXG4gICAgICB0aGlzLm1ha2VIb3VyRnVsbCgpO1xyXG4gICAgICB0aGlzLmRhdGEgKz0gJzonO1xyXG4gICAgICB0aGlzLmNhcmV0UG9zaXRpb25TdGFydCsrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGNoZWNrU3BlY2lhbEtleXMoIGtleTogYW55LCBzZWxlY3Rpb25TdGFydDogYW55LCBzZWxlY3Rpb25FbmQ6IGFueSApOiAnc3RvcCcgfCAnY29udGludWUnIHwgJ3RhYicgfCAnYXJyb3cnIHtcclxuICAgIGlmICggc2VsZWN0aW9uU3RhcnQgIT09IHNlbGVjdGlvbkVuZCAmJiBrZXkgIT09ICdBcnJvd0xlZnQnICYmIGtleSAhPT0gJ0Fycm93UmlnaHQnICkge1xyXG4gICAgICBpZiAoICEoIHRoaXMuZGF0YS5zbGljZSggc2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvbkVuZCApLmluY2x1ZGVzKCAnOicgKSAmJiBzZWxlY3Rpb25FbmQgIT09IHRoaXMuZGF0YS5sZW5ndGggKSApIHtcclxuICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGEuc2xpY2UoIDAsIHNlbGVjdGlvblN0YXJ0ICkgKyB0aGlzLmRhdGEuc2xpY2UoIHNlbGVjdGlvbkVuZCwgdGhpcy5kYXRhLmxlbmd0aCApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoIHNlbGVjdGlvblN0YXJ0ID09PSBzZWxlY3Rpb25FbmQgJiYga2V5ID09PSAnQmFja3NwYWNlJyApIHtcclxuICAgICAgaWYgKCB0aGlzLmRhdGEubGVuZ3RoID4gMCApIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB0aGlzLmRhdGFbIHNlbGVjdGlvblN0YXJ0IC0gMSBdICE9PSAnOicgfHxcclxuICAgICAgICAgICggdGhpcy5kYXRhWyBzZWxlY3Rpb25TdGFydCAtIDEgXSA9PT0gJzonICYmIHNlbGVjdGlvblN0YXJ0ID09PSB0aGlzLmRhdGEubGVuZ3RoIClcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YS5zbGljZSggMCwgc2VsZWN0aW9uU3RhcnQgLSAxICkgKyB0aGlzLmRhdGEuc2xpY2UoIHNlbGVjdGlvbkVuZCwgdGhpcy5kYXRhLmxlbmd0aCApO1xyXG4gICAgICAgICAgdGhpcy5jYXJldFBvc2l0aW9uU3RhcnQtLTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiAnc3RvcCc7XHJcbiAgICB9XHJcbiAgICBpZiAoIGtleSA9PT0gJ1RhYicgfHwga2V5ID09PSAnICcgfHwga2V5ID09PSAnOicgKSB7XHJcbiAgICAgIGlmICggIXRoaXMuZGF0YS5pbmNsdWRlcyggJzonICkgJiYgdGhpcy5kYXRhLmxlbmd0aCA+IDAgKSB7XHJcbiAgICAgICAgdGhpcy5tYWtlSG91ckZ1bGwoKTtcclxuICAgICAgICB0aGlzLmRhdGEgKz0gJzonO1xyXG4gICAgICAgIHRoaXMuY2FyZXRQb3NpdGlvblN0YXJ0Kys7XHJcblxyXG4gICAgICAgIHJldHVybiAnc3RvcCc7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCBrZXkgPT09ICdUYWInICkge1xyXG4gICAgICAgIHJldHVybiAndGFiJztcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuICdzdG9wJztcclxuICAgIH1cclxuICAgIGlmICgga2V5ID09PSAnQXJyb3dSaWdodCcgKSB7XHJcbiAgICAgIGlmICggdGhpcy5jYXJldFBvc2l0aW9uU3RhcnQgPCB0aGlzLmRhdGEubGVuZ3RoICkge1xyXG4gICAgICAgIHRoaXMuY2FyZXRQb3NpdGlvblN0YXJ0Kys7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiAnYXJyb3cnO1xyXG4gICAgfVxyXG4gICAgaWYgKCBrZXkgPT09ICdBcnJvd0xlZnQnICkge1xyXG4gICAgICBpZiAoIHRoaXMuY2FyZXRQb3NpdGlvblN0YXJ0ID4gMCApIHtcclxuICAgICAgICB0aGlzLmNhcmV0UG9zaXRpb25TdGFydC0tO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gJ2Fycm93JztcclxuICAgIH1cclxuICAgIGlmICgga2V5ID09PSAnQXJyb3dEb3duJyAmJiAhdGhpcy5mb2N1c2VkRmxhZyApIHtcclxuICAgICAgdGhpcy5zaG93KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICdjb250aW51ZSc7XHJcbiAgfVxyXG5cclxuICBjaGVja1VuVXNlZEtleXMoIGtleTogc3RyaW5nICk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgciA9IG5ldyBSZWdFeHAoICdbMC05XScgKTtcclxuXHJcbiAgICByZXR1cm4gIXIudGVzdCgga2V5ICk7XHJcbiAgfVxyXG5cclxuICBzZXRDYXJldFBvc2l0aW9uKCBlbGVtOiBhbnkgKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCAoKSA9PiB7XHJcbiAgICAgIGlmICggZWxlbSAhPT0gbnVsbCApIHtcclxuICAgICAgICBpZiAoIGVsZW0uY3JlYXRlVGV4dFJhbmdlICkge1xyXG4gICAgICAgICAgY29uc3QgcmFuZ2UgPSBlbGVtLmNyZWF0ZVRleHRSYW5nZSgpO1xyXG4gICAgICAgICAgcmFuZ2UubW92ZSggJ2NoYXJhY3RlcicsIHRoaXMuY2FyZXRQb3NpdGlvblN0YXJ0ICk7XHJcbiAgICAgICAgICByYW5nZS5zZWxlY3QoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKCBlbGVtLnNlbGVjdGlvblN0YXJ0ICkge1xyXG4gICAgICAgICAgICBlbGVtLmZvY3VzKCk7XHJcbiAgICAgICAgICAgIGVsZW0uc2V0U2VsZWN0aW9uUmFuZ2UoIHRoaXMuY2FyZXRQb3NpdGlvblN0YXJ0LCB0aGlzLmNhcmV0UG9zaXRpb25TdGFydCApO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZWxlbS5mb2N1cygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSApO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tPdXRPZlJhbmdlTnVtYmVyKCB0aW1lOiBhbnkgKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBob3VyID0gcGFyc2VJbnQoIHRpbWUuc3BsaXQoICc6JyApWyAwIF0sIDEwICk7XHJcbiAgICBsZXQgbWludXRlID0gLTE7XHJcbiAgICBpZiAoIHRpbWUuc3BsaXQoICc6JyApLmxlbmd0aCA+IDEgKSB7XHJcbiAgICAgIG1pbnV0ZSA9IHBhcnNlSW50KCB0aW1lLnNwbGl0KCAnOicgKVsgMSBdLCAxMCApO1xyXG4gICAgfVxyXG4gICAgaWYgKCBob3VyIDwgMjQgJiYgdGltZS5zcGxpdCggJzonIClbIDAgXS5sZW5ndGggPCAzICYmIG1pbnV0ZSA8IDYwICkge1xyXG4gICAgICBpZiAoIHRpbWUuc3BsaXQoICc6JyApLmxlbmd0aCA+IDEgJiYgdGltZS5zcGxpdCggJzonIClbIDEgXS5sZW5ndGggPiAyICkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgbWFrZUhvdXJGdWxsKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaG91clBhcnQgPSB0aGlzLmRhdGEuc3BsaXQoICc6JyApWyAwIF07XHJcbiAgICBjb25zdCBtaW51dGVQYXJ0ID0gdGhpcy5kYXRhLnNwbGl0KCAnOicgKS5sZW5ndGggPiAxID8gdGhpcy5kYXRhLnNwbGl0KCAnOicgKVsgMSBdIDogJyc7XHJcbiAgICBpZiAoIGhvdXJQYXJ0Lmxlbmd0aCA9PT0gMSApIHtcclxuICAgICAgdGhpcy5kYXRhID0gJzAnICsgaG91clBhcnQgKyAoIG1pbnV0ZVBhcnQgPyAnOicgKyBtaW51dGVQYXJ0IDogbWludXRlUGFydCApO1xyXG4gICAgICB0aGlzLmNhcmV0UG9zaXRpb25TdGFydCsrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWFrZU1pbnV0ZUZ1bGwoKTogdm9pZCB7XHJcbiAgICBjb25zdCBob3VyUGFydCA9IHRoaXMuZGF0YS5zcGxpdCggJzonIClbIDAgXTtcclxuICAgIGNvbnN0IG1pbnV0ZVBhcnQgPSB0aGlzLmRhdGEuc3BsaXQoICc6JyApLmxlbmd0aCA+IDEgPyB0aGlzLmRhdGEuc3BsaXQoICc6JyApWyAxIF0gOiAnJztcclxuICAgIGlmICggbWludXRlUGFydC5sZW5ndGggPT09IDAgKSB7XHJcbiAgICAgIHRoaXMuZGF0YSA9IGhvdXJQYXJ0ICsgJzowMCc7XHJcbiAgICAgIHRoaXMuY2FyZXRQb3NpdGlvblN0YXJ0ICs9IDI7XHJcbiAgICB9XHJcbiAgICBpZiAoIG1pbnV0ZVBhcnQubGVuZ3RoID09PSAxICkge1xyXG4gICAgICB0aGlzLmRhdGEgPSBob3VyUGFydCArICc6JyArIG1pbnV0ZVBhcnQgKyAnMCc7XHJcbiAgICAgIHRoaXMuY2FyZXRQb3NpdGlvblN0YXJ0Kys7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaXhUaW1lVG9OZWFyZXN0KCk6IHZvaWQge1xyXG4gICAgaWYgKCB0aGlzLmRhdGEubGVuZ3RoID4gMCApIHtcclxuICAgICAgdGhpcy5tYWtlSG91ckZ1bGwoKTtcclxuICAgICAgdGhpcy5tYWtlTWludXRlRnVsbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBuby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgcHVibGljIG9uQ2hhbmdlRm4gPSAoIF86IGFueSApOiB2b2lkID0+IHsgfTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgcHVibGljIG9uVG91Y2hlZEZuID0gKCk6IHZvaWQgPT4geyB9O1xyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZSggZm46IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2VGbiA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKCBmbjogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWRGbiA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoIGlzRGlzYWJsZWQ6IGJvb2xlYW4gKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB3cml0ZVZhbHVlKCBvYmo6IGFueSApOiB2b2lkIHtcclxuICAgIGlmICggb2JqICkge1xyXG4gICAgICBvYmogPSBvYmoudG9TdHJpbmcoKTtcclxuICAgICAgbGV0IHRlbXAgPSAnJztcclxuICAgICAgaWYgKCBvYmouc3BsaXQoICc6JyApLmxlbmd0aCA+PSAyICkge1xyXG4gICAgICAgIHRlbXAgPSBvYmouc3BsaXQoICc6JyApWyAwIF0gKyAnOicgKyBvYmouc3BsaXQoICc6JyApWyAxIF07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5fZGF0YSA9IHRlbXA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9kYXRhID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DaGFuZ2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlRm4oIHRoaXMuZGF0YSApO1xyXG4gIH1cclxuXHJcbiAgc2hvdygpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FsY0xpc3RQb3NpdGlvbigpO1xyXG4gICAgdGhpcy5mb2N1c2VkRmxhZyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBjbG9zZSggdmFsID0gbnVsbCApOiB2b2lkIHtcclxuICAgIGlmICggdmFsICkge1xyXG4gICAgICB0aGlzLmRhdGEgPSB2YWw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpeFRpbWVUb05lYXJlc3QoKTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9jdXNlZEZsYWcgPSBmYWxzZTtcclxuICAgIHRoaXMuY29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidGltZUlucHV0V3JhcHBlclwiIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkIH1cIj5cclxuICA8YXBwLWVsZW1lbnQtd3JhcHBlclxyXG4gICAgW2RhdGFdPVwiZ2V0RGF0YSgpXCJcclxuICAgIFtzaG93Q2xvc2VJY29uXT1cInNob3dDbG9zZUljb25cIlxyXG4gICAgW2ZvY3VzZWRGbGFnXT1cImZvY3VzZWRGbGFnXCJcclxuICAgIChjbGVhcik9XCJjbGVhcklucHV0KClcIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJ0aW1lSW5wdXRGaWVsZFdyYXBwZXJcIj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXRcIlxyXG4gICAgICAgIFt2YWx1ZV09XCJkYXRhXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIChmb2N1cyk9XCJzaG93KClcIlxyXG4gICAgICAgIChjbGljayk9XCJzaG93KClcIlxyXG4gICAgICAgIChrZXlkb3duKT1cImlucHV0S2V5RG93bigkZXZlbnQpXCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAvPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQtLXN1ZmZpeFwiICpuZ0lmPVwidHlwZSAhPT0gJ251bWJlcidcIj5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtYXQtaWNvblwiPjwvbmctY29udGVudD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxlY2Ficy10aW1lLWxpc3QtcGFuZWxcclxuICAgICAgICBbdHlwZWRWYWx1ZV09XCJkYXRhXCJcclxuICAgICAgICAqbmdJZj1cImZvY3VzZWRGbGFnXCJcclxuICAgICAgICBbc2hvd0RheVN0YXJ0XT1cInNob3dEYXlTdGFydFwiXHJcbiAgICAgICAgW3Nob3dEYXlFbmRdPVwic2hvd0RheUVuZFwiXHJcbiAgICAgICAgW21pbl09XCJtaW5cIlxyXG4gICAgICAgIFttYXhdPVwibWF4XCJcclxuICAgICAgICBjbGFzcz1cImZvcm0tdGltZS1saXN0XCJcclxuICAgICAgICBbYXBwZW5kVG9dPVwiYXBwZW5kVG9cIlxyXG4gICAgICAgIFtsaXN0UG9zaXRpb25dPVwibGlzdFBvc2l0aW9uXCJcclxuICAgICAgICAoY2xvc2VNZSk9XCJjbG9zZSgkZXZlbnQpXCJcclxuICAgICAgPjwvZWNhYnMtdGltZS1saXN0LXBhbmVsPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9hcHAtZWxlbWVudC13cmFwcGVyPlxyXG48L2Rpdj5cclxuIl19
@@ -5,11 +5,11 @@ import { EcabsTimeListPanelComponent } from './componets/ecabs-time-list-panel/e
5
5
  import { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';
6
6
  import * as i0 from "@angular/core";
7
7
  export class EcabsTimepickerModule {
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EcabsTimepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.1", ngImport: i0, type: EcabsTimepickerModule, declarations: [EcabsTimepickerComponent, EcabsTimeListPanelComponent], imports: [CommonModule, ElementWrapperModule], exports: [EcabsTimeListPanelComponent, EcabsTimepickerComponent] });
10
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EcabsTimepickerModule, imports: [CommonModule, ElementWrapperModule] });
8
11
  }
9
- EcabsTimepickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EcabsTimepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- EcabsTimepickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: EcabsTimepickerModule, declarations: [EcabsTimepickerComponent, EcabsTimeListPanelComponent], imports: [CommonModule, ElementWrapperModule], exports: [EcabsTimeListPanelComponent, EcabsTimepickerComponent] });
11
- EcabsTimepickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EcabsTimepickerModule, imports: [CommonModule, ElementWrapperModule] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EcabsTimepickerModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EcabsTimepickerModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [EcabsTimepickerComponent, EcabsTimeListPanelComponent],
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
17
17
  exports: [EcabsTimeListPanelComponent, EcabsTimepickerComponent],
18
18
  }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGltZXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtdGltZXBpY2tlci9lY2Ficy10aW1lcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7QUFPdEYsTUFBTSxPQUFPLHFCQUFxQjs7bUhBQXJCLHFCQUFxQjtvSEFBckIscUJBQXFCLGlCQUpoQix3QkFBd0IsRUFBRSwyQkFBMkIsYUFDMUQsWUFBWSxFQUFFLG9CQUFvQixhQUNsQywyQkFBMkIsRUFBRSx3QkFBd0I7b0hBRXJELHFCQUFxQixZQUhyQixZQUFZLEVBQUUsb0JBQW9COzRGQUdsQyxxQkFBcUI7a0JBTGpDLFFBQVE7bUJBQUU7b0JBQ1QsWUFBWSxFQUFFLENBQUUsd0JBQXdCLEVBQUUsMkJBQTJCLENBQUU7b0JBQ3ZFLE9BQU8sRUFBRSxDQUFFLFlBQVksRUFBRSxvQkFBb0IsQ0FBRTtvQkFDL0MsT0FBTyxFQUFFLENBQUUsMkJBQTJCLEVBQUUsd0JBQXdCLENBQUU7aUJBQ25FIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRWNhYnNUaW1lcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9lY2Ficy10aW1lcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVjYWJzVGltZUxpc3RQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZXRzL2VjYWJzLXRpbWUtbGlzdC1wYW5lbC9lY2Ficy10aW1lLWxpc3QtcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRWxlbWVudFdyYXBwZXJNb2R1bGUgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQtd3JhcHBlci9lbGVtZW50LXdyYXBwZXIubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSgge1xyXG4gIGRlY2xhcmF0aW9uczogWyBFY2Fic1RpbWVwaWNrZXJDb21wb25lbnQsIEVjYWJzVGltZUxpc3RQYW5lbENvbXBvbmVudCBdLFxyXG4gIGltcG9ydHM6IFsgQ29tbW9uTW9kdWxlLCBFbGVtZW50V3JhcHBlck1vZHVsZSBdLFxyXG4gIGV4cG9ydHM6IFsgRWNhYnNUaW1lTGlzdFBhbmVsQ29tcG9uZW50LCBFY2Fic1RpbWVwaWNrZXJDb21wb25lbnQgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1RpbWVwaWNrZXJNb2R1bGUgeyB9XHJcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGltZXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtdGltZXBpY2tlci9lY2Ficy10aW1lcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7QUFPdEYsTUFBTSxPQUFPLHFCQUFxQjt1R0FBckIscUJBQXFCO3dHQUFyQixxQkFBcUIsaUJBSmhCLHdCQUF3QixFQUFFLDJCQUEyQixhQUMxRCxZQUFZLEVBQUUsb0JBQW9CLGFBQ2xDLDJCQUEyQixFQUFFLHdCQUF3Qjt3R0FFckQscUJBQXFCLFlBSHJCLFlBQVksRUFBRSxvQkFBb0I7OzJGQUdsQyxxQkFBcUI7a0JBTGpDLFFBQVE7bUJBQUU7b0JBQ1QsWUFBWSxFQUFFLENBQUUsd0JBQXdCLEVBQUUsMkJBQTJCLENBQUU7b0JBQ3ZFLE9BQU8sRUFBRSxDQUFFLFlBQVksRUFBRSxvQkFBb0IsQ0FBRTtvQkFDL0MsT0FBTyxFQUFFLENBQUUsMkJBQTJCLEVBQUUsd0JBQXdCLENBQUU7aUJBQ25FIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRWNhYnNUaW1lcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9lY2Ficy10aW1lcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVjYWJzVGltZUxpc3RQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZXRzL2VjYWJzLXRpbWUtbGlzdC1wYW5lbC9lY2Ficy10aW1lLWxpc3QtcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRWxlbWVudFdyYXBwZXJNb2R1bGUgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQtd3JhcHBlci9lbGVtZW50LXdyYXBwZXIubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSgge1xyXG4gIGRlY2xhcmF0aW9uczogWyBFY2Fic1RpbWVwaWNrZXJDb21wb25lbnQsIEVjYWJzVGltZUxpc3RQYW5lbENvbXBvbmVudCBdLFxyXG4gIGltcG9ydHM6IFsgQ29tbW9uTW9kdWxlLCBFbGVtZW50V3JhcHBlck1vZHVsZSBdLFxyXG4gIGV4cG9ydHM6IFsgRWNhYnNUaW1lTGlzdFBhbmVsQ29tcG9uZW50LCBFY2Fic1RpbWVwaWNrZXJDb21wb25lbnQgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1RpbWVwaWNrZXJNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class FormTimePickerService {
5
+ config = {
6
+ dayEnd: 'Day End',
7
+ dayStart: 'Day Start',
8
+ iconClass: '',
9
+ };
10
+ closeSub = new Subject();
11
+ setConfig(c) {
12
+ this.config = Object.assign(this.config, c);
13
+ }
14
+ getConfig() {
15
+ return this.config;
16
+ }
17
+ close() {
18
+ this.closeSub.next(true);
19
+ }
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: FormTimePickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
21
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: FormTimePickerService, providedIn: 'root' });
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: FormTimePickerService, decorators: [{
24
+ type: Injectable,
25
+ args: [{
26
+ providedIn: 'root',
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGltZXBpY2tlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXRpbWVwaWNrZXIvZWNhYnMtdGltZXBpY2tlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNL0IsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxNQUFNLEdBQXlCO1FBQzdCLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLFNBQVMsRUFBRSxFQUFFO0tBQ2QsQ0FBQztJQUVLLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0lBRXpDLFNBQVMsQ0FBQyxDQUF1QjtRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7dUdBbkJVLHFCQUFxQjsyR0FBckIscUJBQXFCLGNBRnBCLE1BQU07OzJGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRm9ybVRpbWVQaWNrZXJDb25maWcgfSBmcm9tICcuL2NvbmZpZy5tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybVRpbWVQaWNrZXJTZXJ2aWNlIHtcclxuICBjb25maWc6IEZvcm1UaW1lUGlja2VyQ29uZmlnID0ge1xyXG4gICAgZGF5RW5kOiAnRGF5IEVuZCcsXHJcbiAgICBkYXlTdGFydDogJ0RheSBTdGFydCcsXHJcbiAgICBpY29uQ2xhc3M6ICcnLFxyXG4gIH07XHJcblxyXG4gIHB1YmxpYyBjbG9zZVN1YiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblxyXG4gIHNldENvbmZpZyhjOiBGb3JtVGltZVBpY2tlckNvbmZpZyk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25maWcgPSBPYmplY3QuYXNzaWduKHRoaXMuY29uZmlnLCBjKTtcclxuICB9XHJcblxyXG4gIGdldENvbmZpZygpOiBGb3JtVGltZVBpY2tlckNvbmZpZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWc7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VTdWIubmV4dCh0cnVlKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9sYW5ndWFnZS5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhcmRMb2NhbGUge1xyXG4gIGlzb19jb2RlOiBzdHJpbmc7XHJcbiAgbG9jYWxlOiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -0,0 +1,31 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class EcabsComponentsService {
4
+ config = {
5
+ errorMessages: [
6
+ { type: 'required', message: '[label] is required' },
7
+ { type: 'minlength', message: '[label] should be atleast [requiredLength] character' },
8
+ { type: 'maxLength', message: '[label] should be maximum [requiredLength] character' },
9
+ { type: 'min', message: '[label] should be minmum [min]' },
10
+ { type: 'max', message: '[label] should be maximum [max]' },
11
+ { type: 'minValue', message: '[label] should be minmum [requiredMin]' },
12
+ { type: 'maxValue', message: '[label] should be maximum [requiredMax]' },
13
+ ],
14
+ };
15
+ constructor() { }
16
+ setConfig(c) {
17
+ this.config.errorMessages = c.errorMessages;
18
+ }
19
+ getConfig() {
20
+ return this.config;
21
+ }
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EcabsComponentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
23
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EcabsComponentsService, providedIn: 'root' });
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EcabsComponentsService, decorators: [{
26
+ type: Injectable,
27
+ args: [{
28
+ providedIn: 'root',
29
+ }]
30
+ }], ctorParameters: function () { return []; } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtY29tcG9uZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL2VjYWJzLWNvbXBvbmVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLE1BQU0sR0FBMEI7UUFDOUIsYUFBYSxFQUFFO1lBQ2IsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRTtZQUNwRCxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLHNEQUFzRCxFQUFFO1lBQ3RGLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsc0RBQXNELEVBQUU7WUFDdEYsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRTtZQUMxRCxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFO1lBQzNELEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsd0NBQXdDLEVBQUU7WUFDdkUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRTtTQUN6RTtLQUNGLENBQUM7SUFDRixnQkFBZSxDQUFDO0lBQ2hCLFNBQVMsQ0FBQyxDQUF3QjtRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFDRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7dUdBbEJVLHNCQUFzQjsyR0FBdEIsc0JBQXNCLGNBRnJCLE1BQU07OzJGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNDb21wb25lbnRzU2VydmljZSB7XHJcbiAgY29uZmlnOiBFY2Fic0NvbXBvbmVudHNDb25maWcgPSB7XHJcbiAgICBlcnJvck1lc3NhZ2VzOiBbXHJcbiAgICAgIHsgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ1tsYWJlbF0gaXMgcmVxdWlyZWQnIH0sXHJcbiAgICAgIHsgdHlwZTogJ21pbmxlbmd0aCcsIG1lc3NhZ2U6ICdbbGFiZWxdIHNob3VsZCBiZSBhdGxlYXN0IFtyZXF1aXJlZExlbmd0aF0gY2hhcmFjdGVyJyB9LFxyXG4gICAgICB7IHR5cGU6ICdtYXhMZW5ndGgnLCBtZXNzYWdlOiAnW2xhYmVsXSBzaG91bGQgYmUgbWF4aW11bSBbcmVxdWlyZWRMZW5ndGhdIGNoYXJhY3RlcicgfSxcclxuICAgICAgeyB0eXBlOiAnbWluJywgbWVzc2FnZTogJ1tsYWJlbF0gc2hvdWxkIGJlIG1pbm11bSBbbWluXScgfSxcclxuICAgICAgeyB0eXBlOiAnbWF4JywgbWVzc2FnZTogJ1tsYWJlbF0gc2hvdWxkIGJlIG1heGltdW0gW21heF0nIH0sXHJcbiAgICAgIHsgdHlwZTogJ21pblZhbHVlJywgbWVzc2FnZTogJ1tsYWJlbF0gc2hvdWxkIGJlIG1pbm11bSBbcmVxdWlyZWRNaW5dJyB9LFxyXG4gICAgICB7IHR5cGU6ICdtYXhWYWx1ZScsIG1lc3NhZ2U6ICdbbGFiZWxdIHNob3VsZCBiZSBtYXhpbXVtIFtyZXF1aXJlZE1heF0nIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG4gIHNldENvbmZpZyhjOiBFY2Fic0NvbXBvbmVudHNDb25maWcpIHtcclxuICAgIHRoaXMuY29uZmlnLmVycm9yTWVzc2FnZXMgPSBjLmVycm9yTWVzc2FnZXM7XHJcbiAgfVxyXG4gIGdldENvbmZpZygpOiBFY2Fic0NvbXBvbmVudHNDb25maWcge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFY2Fic0NvbXBvbmVudHNDb25maWcge1xyXG4gIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRXJyb3JNZXNzYWdlIHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,51 @@
1
+ export * from './lib/ecabs-loading/ecabs-loading.module';
2
+ export * from './lib/ecabs-loading/ecabs-loading.component';
3
+ export * from './lib/ecabs-loading/spinner/spinner.component';
4
+ export * from './lib/ecabs-buttons/ecabs-buttons.component';
5
+ export * from './lib/ecabs-buttons/ecabs-buttons.module';
6
+ export * from './lib/ecabs-input/ecabs-input.component';
7
+ export * from './lib/ecabs-input/ecabs-input.module';
8
+ export * from './lib/ecabs-select/ecabs-select.module';
9
+ export * from './lib/ecabs-select/ecabs-select.component';
10
+ export * from './lib/ecabs-textarea/ecabs-textarea.component';
11
+ export * from './lib/ecabs-textarea/ecabs-textarea.module';
12
+ export * from './lib/services/ecabs-components.service';
13
+ export * from './lib/base/validation/validation.component';
14
+ export * from './lib/base/validation/validation.module';
15
+ export * from './lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component';
16
+ export * from './lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module';
17
+ export * from './lib/ecabs-date-picker/ecabs-date-picker.component';
18
+ export * from './lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component';
19
+ export * from './lib/ecabs-date-time-picker/ecabs-date-time-picker.component';
20
+ export * from './lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component';
21
+ export * from './lib/ecabs-date-time-picker/ecabs-date-time-picker.module';
22
+ export * from './lib/ecabs-date-picker/ecabs-date-picker.module';
23
+ export * from './lib/ecabs-increment/ecabs-increment.component';
24
+ export * from './lib/ecabs-increment/ecabs-increment.module';
25
+ export * from './lib/ecabs-phone/ecabs-phone.component';
26
+ export * from './lib/ecabs-phone/ecabs-phone.module';
27
+ export * from './lib/ecabs-radio-button-list/ecabs-radio-button-list.component';
28
+ export * from './lib/ecabs-radio-button-list/ecabs-radio-button-list.module';
29
+ export * from './lib/ecabs-timepicker/ecabs-timepicker.component';
30
+ export * from './lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component';
31
+ export * from './lib/ecabs-timepicker/ecabs-timepicker.service';
32
+ export * from './lib/ecabs-timepicker/ecabs-timepicker.module';
33
+ export * from './lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component';
34
+ export * from './lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module';
35
+ export * from './lib/ecabs-expansion-panel/ecabs-expansion-panel.component';
36
+ export * from './lib/ecabs-expansion-panel/ecabs-expansion-panel.module';
37
+ export * from './lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component';
38
+ export * from './lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module';
39
+ export * from './lib/ecabs-table/ecabs-table.component';
40
+ export * from './lib/ecabs-table/ecabs-table.module';
41
+ export * from './lib/ecabs-note/ecabs-note.component';
42
+ export * from './lib/ecabs-note/ecabs-note.module';
43
+ export * from './lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component';
44
+ export * from './lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module';
45
+ export * from './lib/ecabs-dialog-message/ecabs-dialog-message.component';
46
+ export * from './lib/ecabs-dialog-message/ecabs-dialog-message.module';
47
+ export * from './lib/ecabs-breadcrumb/ecabs-breadcrumb.component';
48
+ export * from './lib/ecabs-breadcrumb/ecabs-breadcrumb.module';
49
+ export * from './lib/ecabs-language-selector/ecabs-language-selector.component';
50
+ export * from './lib/ecabs-language-selector/ecabs-language-selector.module';
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsZ0dBQWdHLENBQUM7QUFDL0csY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLCtHQUErRyxDQUFDO0FBQzlILGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsd0ZBQXdGLENBQUM7QUFDdkcsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyxtRkFBbUYsQ0FBQztBQUNsRyxjQUFjLGdGQUFnRixDQUFDO0FBQy9GLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLDhEQUE4RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvZWNhYnMtbG9hZGluZy9lY2Ficy1sb2FkaW5nLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VjYWJzLWxvYWRpbmcvZWNhYnMtbG9hZGluZy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy1sb2FkaW5nL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy1idXR0b25zL2VjYWJzLWJ1dHRvbnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWNhYnMtYnV0dG9ucy9lY2Ficy1idXR0b25zLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VjYWJzLWlucHV0L2VjYWJzLWlucHV0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VjYWJzLWlucHV0L2VjYWJzLWlucHV0Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VjYWJzLXNlbGVjdC9lY2Ficy1zZWxlY3QubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWNhYnMtc2VsZWN0L2VjYWJzLXNlbGVjdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy10ZXh0YXJlYS9lY2Ficy10ZXh0YXJlYS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy10ZXh0YXJlYS9lY2Ficy10ZXh0YXJlYS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9lY2Ficy1jb21wb25lbnRzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy1jaGVja2JveC10b2dnbGUvZWNhYnMtY2hlY2tib3gtdG9nZ2xlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VjYWJzLWNoZWNrYm94LXRvZ2dsZS9lY2Ficy1jaGVja2JveC10b2dnbGUubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWNhYnMtZGF0ZS1waWNrZXIvZWNhYnMtZGF0ZS1waWNrZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWNhYnMtZGF0ZS1waWNrZXIvY29tcG9uZW50cy9lY2Ficy1kYXRlLXBpY2tlci1oZWFkZXIvZWNhYnMtZGF0ZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VjYWJzLWRhdGUtdGltZS1waWNrZXIvZWNhYnMtZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyL2NvbXBvbmVudHMvZWNhYnMtZGF0ZS10aW1lLXBpY2tlci1oZWFkZXIvZWNhYnMtZGF0ZS10aW1lLXBpY2tlci1oZWFkZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWNhYnMtZGF0ZS10aW1lLXBpY2tlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VjYWJzLWRhdGUtcGlja2VyL2VjYWJzLWRhdGUtcGlja2VyLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VjYWJzLWluY3JlbWVudC9lY2Ficy1pbmNyZW1lbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWNhYnMtaW5jcmVtZW50L2VjYWJzLWluY3JlbWVudC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy1waG9uZS9lY2Ficy1waG9uZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy1waG9uZS9lY2Ficy1waG9uZS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy1yYWRpby1idXR0b24tbGlzdC9lY2Ficy1yYWRpby1idXR0b24tbGlzdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy1yYWRpby1idXR0b24tbGlzdC9lY2Ficy1yYWRpby1idXR0b24tbGlzdC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy10aW1lcGlja2VyL2VjYWJzLXRpbWVwaWNrZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWNhYnMtdGltZXBpY2tlci9jb21wb25ldHMvZWNhYnMtdGltZS1saXN0LXBhbmVsL2VjYWJzLXRpbWUtbGlzdC1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy10aW1lcGlja2VyL2VjYWJzLXRpbWVwaWNrZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VjYWJzLXRpbWVwaWNrZXIvZWNhYnMtdGltZXBpY2tlci5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy1lbXB0eS1wbGFjZWhvbGRlci9lY2Ficy1lbXB0eS1wbGFjZWhvbGRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy1lbXB0eS1wbGFjZWhvbGRlci9lY2Ficy1lbXB0eS1wbGFjZWhvbGRlci5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy1leHBhbnNpb24tcGFuZWwvZWNhYnMtZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VjYWJzLWV4cGFuc2lvbi1wYW5lbC9lY2Ficy1leHBhbnNpb24tcGFuZWwubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWNhYnMtdGFibGUvZWNhYnMtdGFibGUtZmlsdGVyLXdyYXBwZXIvZWNhYnMtdGFibGUtZmlsdGVyLXdyYXBwZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWNhYnMtdGFibGUvZWNhYnMtdGFibGUtZmlsdGVyLXdyYXBwZXIvZWNhYnMtdGFibGUtZmlsdGVyLXdyYXBwZXIubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWNhYnMtdGFibGUvZWNhYnMtdGFibGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWNhYnMtdGFibGUvZWNhYnMtdGFibGUubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWNhYnMtbm90ZS9lY2Ficy1ub3RlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VjYWJzLW5vdGUvZWNhYnMtbm90ZS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy1kaWFsb2ctY29uZmlybS9lY2Ficy1kaWFsb2ctY29uZmlybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy1kaWFsb2ctY29uZmlybS9lY2Ficy1kaWFsb2ctY29uZmlybS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy1kaWFsb2ctbWVzc2FnZS9lY2Ficy1kaWFsb2ctbWVzc2FnZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy1kaWFsb2ctbWVzc2FnZS9lY2Ficy1kaWFsb2ctbWVzc2FnZS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lY2Ficy1icmVhZGNydW1iL2VjYWJzLWJyZWFkY3J1bWIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWNhYnMtYnJlYWRjcnVtYi9lY2Ficy1icmVhZGNydW1iLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VjYWJzLWxhbmd1YWdlLXNlbGVjdG9yL2VjYWJzLWxhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VjYWJzLWxhbmd1YWdlLXNlbGVjdG9yL2VjYWJzLWxhbmd1YWdlLXNlbGVjdG9yLm1vZHVsZSc7XHJcbiJdfQ==