ecabs-components 1.0.15 → 1.0.17

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 (214) 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/{esm2020 → esm2022}/lib/base/element-wrapper/element-wrapper.module.mjs +21 -21
  10. package/esm2022/lib/base/hint/hint.component.mjs +21 -0
  11. package/{esm2020 → esm2022}/lib/base/hint/hint.module.mjs +5 -5
  12. package/esm2022/lib/base/validation/validation.component.mjs +75 -0
  13. package/{esm2020 → esm2022}/lib/base/validation/validation.module.mjs +5 -5
  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/{esm2020 → esm2022}/lib/ecabs-buttons/ecabs-buttons.module.mjs +5 -5
  18. package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +94 -0
  19. package/{esm2020 → esm2022}/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.mjs +13 -13
  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/{esm2020 → esm2022}/lib/ecabs-date-picker/ecabs-date-picker.module.mjs +19 -19
  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/{esm2020 → esm2022}/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.mjs +27 -27
  26. package/esm2022/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +15 -0
  27. package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +199 -0
  28. package/{esm2020 → esm2022}/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.mjs +27 -27
  29. package/esm2022/lib/ecabs-date-time-range-picker/time-range.directive.mjs +48 -0
  30. package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +49 -0
  31. package/{esm2020 → esm2022}/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.mjs +5 -5
  32. package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +46 -0
  33. package/{esm2020 → esm2022}/lib/ecabs-dialog-message/ecabs-dialog-message.module.mjs +5 -5
  34. package/{esm2020 → esm2022}/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.mjs +7 -4
  35. package/{esm2020 → esm2022}/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.mjs +5 -5
  36. package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +85 -0
  37. package/{esm2020 → esm2022}/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.mjs +5 -5
  38. package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +83 -0
  39. package/{esm2020 → esm2022}/lib/ecabs-increment/ecabs-increment.module.mjs +5 -5
  40. package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +90 -0
  41. package/{esm2020 → esm2022}/lib/ecabs-input/ecabs-input.module.mjs +5 -5
  42. package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +64 -0
  43. package/{esm2020 → esm2022}/lib/ecabs-language-selector/ecabs-language-selector.module.mjs +15 -15
  44. package/esm2022/lib/ecabs-loading/ecabs-loading.component.mjs +22 -0
  45. package/{esm2020 → esm2022}/lib/ecabs-loading/ecabs-loading.module.mjs +5 -5
  46. package/esm2022/lib/ecabs-loading/spinner/spinner.component.mjs +14 -0
  47. package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +28 -0
  48. package/{esm2020 → esm2022}/lib/ecabs-note/ecabs-note.module.mjs +5 -5
  49. package/esm2022/lib/ecabs-phone/ecabs-phone.component.mjs +111 -0
  50. package/{esm2020 → esm2022}/lib/ecabs-phone/ecabs-phone.module.mjs +5 -5
  51. package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +53 -0
  52. package/{esm2020 → esm2022}/lib/ecabs-picker-header/ecabs-picker-header.module.mjs +5 -5
  53. package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +68 -0
  54. package/{esm2020 → esm2022}/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.mjs +11 -11
  55. package/esm2022/lib/ecabs-select/ecabs-select.component.mjs +316 -0
  56. package/esm2022/lib/ecabs-select/ecabs-select.module.mjs +60 -0
  57. package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +19 -0
  58. package/{esm2020 → esm2022}/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.mjs +7 -7
  59. package/esm2022/lib/ecabs-table/ecabs-table.component.mjs +48 -0
  60. package/{esm2020 → esm2022}/lib/ecabs-table/ecabs-table.module.mjs +11 -11
  61. package/esm2022/lib/ecabs-textarea/ecabs-textarea.component.mjs +65 -0
  62. package/{esm2020 → esm2022}/lib/ecabs-textarea/ecabs-textarea.module.mjs +5 -5
  63. package/esm2022/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +144 -0
  64. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +322 -0
  65. package/{esm2020 → esm2022}/lib/ecabs-timepicker/ecabs-timepicker.module.mjs +5 -5
  66. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +29 -0
  67. package/esm2022/lib/services/ecabs-components.service.mjs +31 -0
  68. package/fesm2022/ecabs-components.mjs +3477 -0
  69. package/fesm2022/ecabs-components.mjs.map +1 -0
  70. package/lib/base/directives/date-mask.directive.d.ts +1 -1
  71. package/lib/base/directives/digits-only.directive.d.ts +1 -1
  72. package/lib/base/directives/number-border.directive.d.ts +1 -1
  73. package/lib/base/element-base.d.ts +1 -1
  74. package/lib/base/element-wrapper/element-wrapper.component.d.ts +1 -1
  75. package/lib/base/hint/hint.component.d.ts +1 -1
  76. package/lib/base/validation/validation.component.d.ts +1 -1
  77. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.d.ts +1 -1
  78. package/lib/ecabs-buttons/ecabs-buttons.component.d.ts +1 -1
  79. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.d.ts +1 -1
  80. package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.d.ts +1 -1
  81. package/lib/ecabs-date-picker/ecabs-date-picker.component.d.ts +1 -1
  82. package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.d.ts +1 -1
  83. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +1 -1
  84. 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
  85. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.d.ts +1 -1
  86. package/lib/ecabs-date-time-range-picker/time-range.directive.d.ts +1 -1
  87. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.d.ts +1 -1
  88. package/lib/ecabs-dialog-message/ecabs-dialog-message.component.d.ts +1 -1
  89. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.d.ts +1 -1
  90. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.d.ts +1 -1
  91. package/lib/ecabs-increment/ecabs-increment.component.d.ts +1 -1
  92. package/lib/ecabs-input/ecabs-input.component.d.ts +1 -1
  93. package/lib/ecabs-language-selector/ecabs-language-selector.component.d.ts +1 -1
  94. package/lib/ecabs-loading/ecabs-loading.component.d.ts +1 -1
  95. package/lib/ecabs-loading/spinner/spinner.component.d.ts +1 -1
  96. package/lib/ecabs-note/ecabs-note.component.d.ts +1 -1
  97. package/lib/ecabs-phone/ecabs-phone.component.d.ts +1 -1
  98. package/lib/ecabs-picker-header/ecabs-picker-header.component.d.ts +1 -1
  99. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.d.ts +1 -1
  100. package/lib/ecabs-select/ecabs-select.component.d.ts +13 -3
  101. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.d.ts +1 -1
  102. package/lib/ecabs-table/ecabs-table.component.d.ts +1 -1
  103. package/lib/ecabs-textarea/ecabs-textarea.component.d.ts +1 -1
  104. package/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.d.ts +1 -1
  105. package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +1 -1
  106. package/lib/models/timepicker.models.d.ts +1 -1
  107. package/package.json +5 -11
  108. package/styles/material/_theme.scss +74 -0
  109. package/styles/material/overrides/_autocomplete.scss +11 -0
  110. package/styles/material/overrides/_button.scss +81 -0
  111. package/styles/material/overrides/_card.scss +17 -0
  112. package/styles/material/overrides/_chip.scss +108 -0
  113. package/styles/material/overrides/_datepicker.scss +169 -0
  114. package/styles/material/overrides/_dialog.scss +12 -0
  115. package/styles/material/overrides/_divider.scss +3 -0
  116. package/styles/material/overrides/_expansion.scss +31 -0
  117. package/styles/material/overrides/_form.scss +144 -0
  118. package/styles/material/overrides/_icon.scss +3 -0
  119. package/styles/material/overrides/_menu.scss +3 -0
  120. package/styles/material/overrides/_paginator.scss +0 -0
  121. package/styles/material/overrides/_phone.scss +32 -0
  122. package/styles/material/overrides/_select.scss +62 -0
  123. package/styles/material/overrides/_tab.scss +23 -0
  124. package/styles/material/overrides/_table.scss +12 -0
  125. package/styles/material/overrides/_toaster.scss +38 -0
  126. package/styles/material/overrides/_toggle.scss +15 -0
  127. package/styles/material/overrides/_toolbar.scss +3 -0
  128. package/styles/material/overrides/_tooltip.scss +3 -0
  129. package/styles/material/overrides/index.scss +20 -0
  130. package/styles/scss/base/_heading.scss +17 -0
  131. package/styles/scss/base/_normalize.scss +78 -0
  132. package/styles/scss/base/index.scss +2 -0
  133. package/styles/scss/modules/_autocomplete.scss +29 -0
  134. package/styles/scss/modules/_button.scss +221 -0
  135. package/styles/scss/modules/_card.scss +23 -0
  136. package/styles/scss/modules/_chip.scss +56 -0
  137. package/styles/scss/modules/_datepicker.scss +426 -0
  138. package/styles/scss/modules/_dialog.scss +14 -0
  139. package/styles/scss/modules/_divider.scss +3 -0
  140. package/styles/scss/modules/_form.scss +233 -0
  141. package/styles/scss/modules/_icon.scss +30 -0
  142. package/styles/scss/modules/_img.scss +32 -0
  143. package/styles/scss/modules/_legend.scss +64 -0
  144. package/styles/scss/modules/_list.scss +17 -0
  145. package/styles/scss/modules/_map.scss +112 -0
  146. package/styles/scss/modules/_percentage.scss +33 -0
  147. package/styles/scss/modules/_phone.scss +29 -0
  148. package/styles/scss/modules/_select.scss +41 -0
  149. package/styles/scss/modules/_statuses.scss +31 -0
  150. package/styles/scss/modules/_tab.scss +16 -0
  151. package/styles/scss/modules/_table.scss +107 -0
  152. package/styles/scss/modules/_timepicker.scss +96 -0
  153. package/styles/scss/modules/_toaster.scss +53 -0
  154. package/styles/scss/modules/_tooltip.scss +7 -0
  155. package/styles/scss/modules/drag-drop.scss +31 -0
  156. package/styles/scss/modules/index.scss +23 -0
  157. package/styles/scss/utilities/_colors.scss +52 -0
  158. package/styles/scss/utilities/_fonts.scss +26 -0
  159. package/styles/scss/utilities/_functions.scss +27 -0
  160. package/styles/scss/utilities/_helpers.scss +5 -0
  161. package/styles/scss/utilities/_mixins.scss +65 -0
  162. package/styles/scss/utilities/_palettes.scss +74 -0
  163. package/styles/scss/utilities/_variables.scss +19 -0
  164. package/styles/scss/utilities/index.scss +7 -0
  165. package/styles/styles.scss +5 -0
  166. package/styles/tailwind/index.scss +756 -0
  167. package/esm2020/lib/base/directives/date-mask.directive.mjs +0 -65
  168. package/esm2020/lib/base/directives/digits-only.directive.mjs +0 -130
  169. package/esm2020/lib/base/directives/number-border.directive.mjs +0 -54
  170. package/esm2020/lib/base/element-base.mjs +0 -100
  171. package/esm2020/lib/base/element-wrapper/element-wrapper.component.mjs +0 -53
  172. package/esm2020/lib/base/hint/hint.component.mjs +0 -21
  173. package/esm2020/lib/base/validation/validation.component.mjs +0 -70
  174. package/esm2020/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +0 -16
  175. package/esm2020/lib/ecabs-buttons/ecabs-buttons.component.mjs +0 -65
  176. package/esm2020/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +0 -89
  177. package/esm2020/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +0 -17
  178. package/esm2020/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +0 -85
  179. package/esm2020/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +0 -17
  180. package/esm2020/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +0 -179
  181. package/esm2020/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +0 -17
  182. package/esm2020/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +0 -193
  183. package/esm2020/lib/ecabs-date-time-range-picker/time-range.directive.mjs +0 -45
  184. package/esm2020/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +0 -46
  185. package/esm2020/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +0 -43
  186. package/esm2020/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +0 -76
  187. package/esm2020/lib/ecabs-increment/ecabs-increment.component.mjs +0 -78
  188. package/esm2020/lib/ecabs-input/ecabs-input.component.mjs +0 -83
  189. package/esm2020/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +0 -62
  190. package/esm2020/lib/ecabs-loading/ecabs-loading.component.mjs +0 -24
  191. package/esm2020/lib/ecabs-loading/spinner/spinner.component.mjs +0 -16
  192. package/esm2020/lib/ecabs-note/ecabs-note.component.mjs +0 -30
  193. package/esm2020/lib/ecabs-phone/ecabs-phone.component.mjs +0 -104
  194. package/esm2020/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +0 -50
  195. package/esm2020/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +0 -65
  196. package/esm2020/lib/ecabs-select/ecabs-select.component.mjs +0 -233
  197. package/esm2020/lib/ecabs-select/ecabs-select.module.mjs +0 -60
  198. package/esm2020/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +0 -17
  199. package/esm2020/lib/ecabs-table/ecabs-table.component.mjs +0 -43
  200. package/esm2020/lib/ecabs-textarea/ecabs-textarea.component.mjs +0 -62
  201. package/esm2020/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +0 -137
  202. package/esm2020/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +0 -312
  203. package/esm2020/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +0 -31
  204. package/esm2020/lib/services/ecabs-components.service.mjs +0 -32
  205. package/fesm2015/ecabs-components.mjs +0 -3305
  206. package/fesm2015/ecabs-components.mjs.map +0 -1
  207. package/fesm2020/ecabs-components.mjs +0 -3287
  208. package/fesm2020/ecabs-components.mjs.map +0 -1
  209. /package/{esm2020 → esm2022}/ecabs-components.mjs +0 -0
  210. /package/{esm2020 → esm2022}/lib/base/consts/date-mask.consts.mjs +0 -0
  211. /package/{esm2020 → esm2022}/lib/ecabs-timepicker/config.model.mjs +0 -0
  212. /package/{esm2020 → esm2022}/lib/models/bread-crumb.mjs +0 -0
  213. /package/{esm2020 → esm2022}/lib/models/timepicker.models.mjs +0 -0
  214. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -0,0 +1,67 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as textMask from 'vanilla-text-mask/dist/vanillaTextMask';
3
+ import { createAutoCorrectedDatePipe } from '../consts/date-mask.consts';
4
+ import * as i0 from "@angular/core";
5
+ export class MaskDateDirective {
6
+ element;
7
+ isDateTimeMask = false;
8
+ considerSeconds = false;
9
+ maskedInputController;
10
+ mask = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/]; // dd/mm/yyyy
11
+ maskDateTime = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/, ',', ' ', /\d/, /\d/, ':', /\d/, /\d/]; // dd/mm/yyyy, hh:mm
12
+ maskDateTimeWithSeconds = [
13
+ /\d/,
14
+ /\d/,
15
+ '/',
16
+ /\d/,
17
+ /\d/,
18
+ '/',
19
+ /\d/,
20
+ /\d/,
21
+ /\d/,
22
+ /\d/,
23
+ ',',
24
+ ' ',
25
+ /\d/,
26
+ /\d/,
27
+ ':',
28
+ /\d/,
29
+ /\d/,
30
+ ':',
31
+ /\d/,
32
+ /\d/,
33
+ ]; // dd/mm/yyyy, hh:mm:ss
34
+ constructor(element) {
35
+ this.element = element;
36
+ }
37
+ ngOnInit() {
38
+ this.maskedInputController = textMask.maskInput({
39
+ inputElement: this.element.nativeElement,
40
+ guide: true,
41
+ showMask: false,
42
+ pipe: this.isDateTimeMask
43
+ ? this.considerSeconds
44
+ ? createAutoCorrectedDatePipe('dd/mm/yyyy, HH:MM:SS')
45
+ : createAutoCorrectedDatePipe('dd/mm/yyyy, HH:MM')
46
+ : createAutoCorrectedDatePipe('dd/mm/yyyy'),
47
+ keepCharPositions: true,
48
+ mask: this.isDateTimeMask ? (this.considerSeconds ? this.maskDateTimeWithSeconds : this.maskDateTime) : this.mask,
49
+ });
50
+ }
51
+ ngOnDestroy() {
52
+ this.maskedInputController.destroy();
53
+ }
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MaskDateDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
55
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: MaskDateDirective, selector: "[appMaskDate]", inputs: { isDateTimeMask: "isDateTimeMask", considerSeconds: "considerSeconds" }, ngImport: i0 });
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MaskDateDirective, decorators: [{
58
+ type: Directive,
59
+ args: [{
60
+ selector: '[appMaskDate]',
61
+ }]
62
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { isDateTimeMask: [{
63
+ type: Input
64
+ }], considerSeconds: [{
65
+ type: Input
66
+ }] } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1tYXNrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2RpcmVjdGl2ZXMvZGF0ZS1tYXNrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxLQUFLLFFBQVEsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFLekUsTUFBTSxPQUFPLGlCQUFpQjtJQThCQztJQTdCcEIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBRWpDLHFCQUFxQixDQUFDO0lBQ3RCLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYTtJQUNoRixZQUFZLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxvQkFBb0I7SUFDdEksdUJBQXVCLEdBQUc7UUFDeEIsSUFBSTtRQUNKLElBQUk7UUFDSixHQUFHO1FBQ0gsSUFBSTtRQUNKLElBQUk7UUFDSixHQUFHO1FBQ0gsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLEdBQUc7UUFDSCxHQUFHO1FBQ0gsSUFBSTtRQUNKLElBQUk7UUFDSixHQUFHO1FBQ0gsSUFBSTtRQUNKLElBQUk7UUFDSixHQUFHO1FBQ0gsSUFBSTtRQUNKLElBQUk7S0FDTCxDQUFDLENBQUMsdUJBQXVCO0lBRTFCLFlBQTZCLE9BQW1CO1FBQW5CLFlBQU8sR0FBUCxPQUFPLENBQVk7SUFBRyxDQUFDO0lBRXBELFFBQVE7UUFDTixJQUFJLENBQUMscUJBQXFCLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUM5QyxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhO1lBQ3hDLEtBQUssRUFBRSxJQUFJO1lBQ1gsUUFBUSxFQUFFLEtBQUs7WUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWM7Z0JBQ3ZCLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZTtvQkFDcEIsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLHNCQUFzQixDQUFDO29CQUNyRCxDQUFDLENBQUMsMkJBQTJCLENBQUMsbUJBQW1CLENBQUM7Z0JBQ3BELENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxZQUFZLENBQUM7WUFDN0MsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7U0FDbEgsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkMsQ0FBQzt3R0FqRFUsaUJBQWlCOzRGQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7aUJBQzFCO2lHQUVVLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIHRleHRNYXNrIGZyb20gJ3ZhbmlsbGEtdGV4dC1tYXNrL2Rpc3QvdmFuaWxsYVRleHRNYXNrJztcclxuaW1wb3J0IHsgY3JlYXRlQXV0b0NvcnJlY3RlZERhdGVQaXBlIH0gZnJvbSAnLi4vY29uc3RzL2RhdGUtbWFzay5jb25zdHMnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYXBwTWFza0RhdGVdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hc2tEYXRlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGlzRGF0ZVRpbWVNYXNrID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY29uc2lkZXJTZWNvbmRzID0gZmFsc2U7XHJcblxyXG4gIG1hc2tlZElucHV0Q29udHJvbGxlcjtcclxuICBtYXNrID0gWy9cXGQvLCAvXFxkLywgJy8nLCAvXFxkLywgL1xcZC8sICcvJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC9dOyAvLyBkZC9tbS95eXl5XHJcbiAgbWFza0RhdGVUaW1lID0gWy9cXGQvLCAvXFxkLywgJy8nLCAvXFxkLywgL1xcZC8sICcvJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sICcsJywgJyAnLCAvXFxkLywgL1xcZC8sICc6JywgL1xcZC8sIC9cXGQvXTsgLy8gZGQvbW0veXl5eSwgaGg6bW1cclxuICBtYXNrRGF0ZVRpbWVXaXRoU2Vjb25kcyA9IFtcclxuICAgIC9cXGQvLFxyXG4gICAgL1xcZC8sXHJcbiAgICAnLycsXHJcbiAgICAvXFxkLyxcclxuICAgIC9cXGQvLFxyXG4gICAgJy8nLFxyXG4gICAgL1xcZC8sXHJcbiAgICAvXFxkLyxcclxuICAgIC9cXGQvLFxyXG4gICAgL1xcZC8sXHJcbiAgICAnLCcsXHJcbiAgICAnICcsXHJcbiAgICAvXFxkLyxcclxuICAgIC9cXGQvLFxyXG4gICAgJzonLFxyXG4gICAgL1xcZC8sXHJcbiAgICAvXFxkLyxcclxuICAgICc6JyxcclxuICAgIC9cXGQvLFxyXG4gICAgL1xcZC8sXHJcbiAgXTsgLy8gZGQvbW0veXl5eSwgaGg6bW06c3NcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubWFza2VkSW5wdXRDb250cm9sbGVyID0gdGV4dE1hc2subWFza0lucHV0KHtcclxuICAgICAgaW5wdXRFbGVtZW50OiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcclxuICAgICAgZ3VpZGU6IHRydWUsXHJcbiAgICAgIHNob3dNYXNrOiBmYWxzZSxcclxuICAgICAgcGlwZTogdGhpcy5pc0RhdGVUaW1lTWFza1xyXG4gICAgICAgID8gdGhpcy5jb25zaWRlclNlY29uZHNcclxuICAgICAgICAgID8gY3JlYXRlQXV0b0NvcnJlY3RlZERhdGVQaXBlKCdkZC9tbS95eXl5LCBISDpNTTpTUycpXHJcbiAgICAgICAgICA6IGNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlUGlwZSgnZGQvbW0veXl5eSwgSEg6TU0nKVxyXG4gICAgICAgIDogY3JlYXRlQXV0b0NvcnJlY3RlZERhdGVQaXBlKCdkZC9tbS95eXl5JyksXHJcbiAgICAgIGtlZXBDaGFyUG9zaXRpb25zOiB0cnVlLFxyXG4gICAgICBtYXNrOiB0aGlzLmlzRGF0ZVRpbWVNYXNrID8gKHRoaXMuY29uc2lkZXJTZWNvbmRzID8gdGhpcy5tYXNrRGF0ZVRpbWVXaXRoU2Vjb25kcyA6IHRoaXMubWFza0RhdGVUaW1lKSA6IHRoaXMubWFzayxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLm1hc2tlZElucHV0Q29udHJvbGxlci5kZXN0cm95KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -3,11 +3,11 @@ import { NgModule } from '@angular/core';
3
3
  import { MaskDateDirective } from './date-mask.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  export class MaskDateDirectiveModule {
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MaskDateDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: MaskDateDirectiveModule, declarations: [MaskDateDirective], imports: [CommonModule], exports: [MaskDateDirective] });
8
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MaskDateDirectiveModule, imports: [CommonModule] });
6
9
  }
7
- MaskDateDirectiveModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MaskDateDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- MaskDateDirectiveModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: MaskDateDirectiveModule, declarations: [MaskDateDirective], imports: [CommonModule], exports: [MaskDateDirective] });
9
- MaskDateDirectiveModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MaskDateDirectiveModule, imports: [CommonModule] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MaskDateDirectiveModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MaskDateDirectiveModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  imports: [CommonModule],
@@ -19,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
19
19
  ],
20
20
  }]
21
21
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1tYXNrLmRpcmVjdGl2ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS9kaXJlY3RpdmVzL2RhdGUtbWFzay5kaXJlY3RpdmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQVkxRCxNQUFNLE9BQU8sdUJBQXVCOztvSEFBdkIsdUJBQXVCO3FIQUF2Qix1QkFBdUIsaUJBTmhDLGlCQUFpQixhQUZSLFlBQVksYUFLckIsaUJBQWlCO3FIQUdSLHVCQUF1QixZQVJ2QixZQUFZOzJGQVFaLHVCQUF1QjtrQkFUbkMsUUFBUTttQkFBRTtvQkFDVCxPQUFPLEVBQUUsQ0FBRSxZQUFZLENBQUU7b0JBQ3pCLFlBQVksRUFBRTt3QkFDWixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7cUJBQ2xCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWFza0RhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2RhdGUtbWFzay5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBOdW1iZXJCb3JkZXJEaXJlY3RpdmUgfSBmcm9tICcuL251bWJlci1ib3JkZXIuZGlyZWN0aXZlJztcclxuXHJcbkBOZ01vZHVsZSgge1xyXG4gIGltcG9ydHM6IFsgQ29tbW9uTW9kdWxlIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBNYXNrRGF0ZURpcmVjdGl2ZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIE1hc2tEYXRlRGlyZWN0aXZlLFxyXG4gIF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgTWFza0RhdGVEaXJlY3RpdmVNb2R1bGUgeyB9XHJcbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1tYXNrLmRpcmVjdGl2ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS9kaXJlY3RpdmVzL2RhdGUtbWFzay5kaXJlY3RpdmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQVkxRCxNQUFNLE9BQU8sdUJBQXVCO3dHQUF2Qix1QkFBdUI7eUdBQXZCLHVCQUF1QixpQkFOaEMsaUJBQWlCLGFBRlIsWUFBWSxhQUtyQixpQkFBaUI7eUdBR1IsdUJBQXVCLFlBUnZCLFlBQVk7OzRGQVFaLHVCQUF1QjtrQkFUbkMsUUFBUTttQkFBRTtvQkFDVCxPQUFPLEVBQUUsQ0FBRSxZQUFZLENBQUU7b0JBQ3pCLFlBQVksRUFBRTt3QkFDWixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7cUJBQ2xCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWFza0RhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2RhdGUtbWFzay5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBOdW1iZXJCb3JkZXJEaXJlY3RpdmUgfSBmcm9tICcuL251bWJlci1ib3JkZXIuZGlyZWN0aXZlJztcclxuXHJcbkBOZ01vZHVsZSgge1xyXG4gIGltcG9ydHM6IFsgQ29tbW9uTW9kdWxlIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBNYXNrRGF0ZURpcmVjdGl2ZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIE1hc2tEYXRlRGlyZWN0aXZlLFxyXG4gIF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgTWFza0RhdGVEaXJlY3RpdmVNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -0,0 +1,133 @@
1
+ import { Directive, HostListener, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DigitsOnlyDirective {
4
+ el;
5
+ digitsOnly = false;
6
+ allowHyphen = false;
7
+ decimal = false;
8
+ decimalSeparator = '.';
9
+ unit = 0;
10
+ inputElement;
11
+ minus = '-';
12
+ minusCounter = 0;
13
+ regex;
14
+ decimalCounter = 0;
15
+ navigationKeys = [
16
+ 'Backspace',
17
+ 'Delete',
18
+ 'Tab',
19
+ 'Escape',
20
+ 'Enter',
21
+ 'Home',
22
+ 'End',
23
+ 'ArrowLeft',
24
+ 'ArrowRight',
25
+ 'Clear',
26
+ 'Copy',
27
+ 'Paste',
28
+ ];
29
+ constructor(el) {
30
+ this.el = el;
31
+ this.inputElement = el.nativeElement;
32
+ }
33
+ onKeyDown(e) {
34
+ if (this.digitsOnly) {
35
+ if (this.navigationKeys.indexOf(e.key) > -1 || // Allow: navigation keys: backspace, delete, arrows etc.
36
+ (e.key === 'a' && e.ctrlKey) || // Allow: Ctrl+A
37
+ (e.key === 'c' && e.ctrlKey) || // Allow: Ctrl+C
38
+ (e.key === 'v' && e.ctrlKey) || // Allow: Ctrl+V
39
+ (e.key === 'x' && e.ctrlKey) || // Allow: Ctrl+X
40
+ (e.key === 'a' && e.metaKey) || // Allow: Cmd+A (Mac)
41
+ (e.key === 'c' && e.metaKey) || // Allow: Cmd+C (Mac)
42
+ (e.key === 'v' && e.metaKey) || // Allow: Cmd+V (Mac)
43
+ (e.key === 'x' && e.metaKey) || // Allow: Cmd+X (Mac)
44
+ (this.decimal && e.key === this.decimalSeparator && this.decimalCounter < 1) || // Allow: only one decimal point
45
+ (this.decimal && e.key === this.minus && this.minusCounter < 1) // Allow: only one minus
46
+ ) {
47
+ return;
48
+ }
49
+ // Ensure that it is a number and stop the keypress
50
+ if (e.key === ' ' || !this.regex.test(e.key)) {
51
+ e.preventDefault();
52
+ }
53
+ }
54
+ }
55
+ onKeyUp() {
56
+ if (this.digitsOnly) {
57
+ if (!this.decimal) {
58
+ return;
59
+ }
60
+ this.decimalCounter = this.el.nativeElement.value.split(this.decimalSeparator).length - 1;
61
+ this.minusCounter = this.el.nativeElement.value.split(this.minus).length - 1;
62
+ if (isNaN(+this.inputElement.value)) {
63
+ this.inputElement.value = this.sanitizeInput(this.inputElement.value);
64
+ }
65
+ }
66
+ }
67
+ onPaste(event) {
68
+ if (this.digitsOnly) {
69
+ const pastedInput = event.clipboardData?.getData('text/plain');
70
+ this.pasteData(pastedInput);
71
+ event.preventDefault();
72
+ }
73
+ }
74
+ ngOnInit() {
75
+ this.regex = new RegExp(this.allowHyphen ? '^[\\d -]+$' : '\\d');
76
+ }
77
+ pasteData(pastedContent) {
78
+ const sanitizedContent = isNaN(+pastedContent) ? this.sanitizeInput(pastedContent) : pastedContent;
79
+ const pasted = document.execCommand('insertText', false, sanitizedContent);
80
+ if (!pasted) {
81
+ const { selectionStart: start, selectionEnd: end } = this.inputElement;
82
+ this.inputElement.setRangeText(sanitizedContent, start, end, 'end');
83
+ }
84
+ }
85
+ sanitizeInput(input) {
86
+ let result = '';
87
+ if (this.decimal && this.isValidDecimal(input)) {
88
+ const regex = new RegExp(`^[\d -${this.decimalSeparator}]+$`, 'g');
89
+ result = input.replace(regex, '');
90
+ }
91
+ else {
92
+ result = input.replace(`/${this.regex}/g`, '');
93
+ }
94
+ const maxLength = this.inputElement.maxLength;
95
+ if (maxLength > 0) {
96
+ // the input element has maxLength limit
97
+ const allowedLength = maxLength - this.inputElement.value.length;
98
+ result = allowedLength > 0 ? result.substring(0, allowedLength) : '';
99
+ }
100
+ return result;
101
+ }
102
+ isValidDecimal(inputString) {
103
+ return inputString.split(this.decimalSeparator).length <= 2;
104
+ }
105
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DigitsOnlyDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
106
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DigitsOnlyDirective, selector: "[appDigitsOnly]", inputs: { digitsOnly: "digitsOnly", allowHyphen: "allowHyphen", decimal: "decimal", decimalSeparator: "decimalSeparator", unit: "unit" }, host: { listeners: { "keydown": "onKeyDown($event)", "keyup": "onKeyUp($event)", "paste": "onPaste($event)" } }, ngImport: i0 });
107
+ }
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DigitsOnlyDirective, decorators: [{
109
+ type: Directive,
110
+ args: [{
111
+ selector: '[appDigitsOnly]',
112
+ }]
113
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { digitsOnly: [{
114
+ type: Input
115
+ }], allowHyphen: [{
116
+ type: Input
117
+ }], decimal: [{
118
+ type: Input
119
+ }], decimalSeparator: [{
120
+ type: Input
121
+ }], unit: [{
122
+ type: Input
123
+ }], onKeyDown: [{
124
+ type: HostListener,
125
+ args: ['keydown', ['$event']]
126
+ }], onKeyUp: [{
127
+ type: HostListener,
128
+ args: ['keyup', ['$event']]
129
+ }], onPaste: [{
130
+ type: HostListener,
131
+ args: ['paste', ['$event']]
132
+ }] } });
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXRzLW9ubHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvZGlyZWN0aXZlcy9kaWdpdHMtb25seS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQUtuRixNQUFNLE9BQU8sbUJBQW1CO0lBZ0NYO0lBOUJuQixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBR25CLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFFWCxPQUFPLEdBQUksS0FBSyxDQUFDO0lBQ2pCLGdCQUFnQixHQUFJLEdBQUcsQ0FBQztJQUN4QixJQUFJLEdBQUksQ0FBQyxDQUFDO0lBRW5CLFlBQVksQ0FBbUI7SUFDL0IsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUNaLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDakIsS0FBSyxDQUFVO0lBRVAsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUNWLGNBQWMsR0FBRztRQUNoQyxXQUFXO1FBQ1gsUUFBUTtRQUNSLEtBQUs7UUFDTCxRQUFRO1FBQ1IsT0FBTztRQUNQLE1BQU07UUFDTixLQUFLO1FBQ0wsV0FBVztRQUNYLFlBQVk7UUFDWixPQUFPO1FBQ1AsTUFBTTtRQUNOLE9BQU87S0FDUixDQUFDO0lBRUYsWUFBbUIsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7SUFHRCxTQUFTLENBQUMsQ0FBZ0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQ0UsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJ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LFNBQVMsR0FBRyxDQUFDLEVBQUU7WUFDakIsd0NBQXdDO1lBQ3hDLE1BQU0sYUFBYSxHQUFHLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDakUsTUFBTSxHQUFHLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDdEU7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sY0FBYyxDQUFDLFdBQW1CO1FBQ3hDLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQTBCLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO0lBQ3hFLENBQUM7d0dBMUhVLG1CQUFtQjs0RkFBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUgvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCO2lHQUdDLFVBQVU7c0JBRFQsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBNEJOLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBMkJuQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWlCakMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1thcHBEaWdpdHNPbmx5XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaWdpdHNPbmx5RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKVxyXG4gIGRpZ2l0c09ubHkgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBhbGxvd0h5cGhlbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBkZWNpbWFsPyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRlY2ltYWxTZXBhcmF0b3I/ID0gJy4nO1xyXG4gIEBJbnB1dCgpIHVuaXQ/ID0gMDtcclxuXHJcbiAgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xyXG4gIG1pbnVzID0gJy0nO1xyXG4gIG1pbnVzQ291bnRlciA9IDA7XHJcbiAgcmVnZXghOiBSZWdFeHA7XHJcblxyXG4gIHByaXZhdGUgZGVjaW1hbENvdW50ZXIgPSAwO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbmF2aWdhdGlvbktleXMgPSBbXHJcbiAgICAnQmFja3NwYWNlJyxcclxuICAgICdEZWxldGUnLFxyXG4gICAgJ1RhYicsXHJcbiAgICAnRXNjYXBlJyxcclxuICAgICdFbnRlcicsXHJcbiAgICAnSG9tZScsXHJcbiAgICAnRW5kJyxcclxuICAgICdBcnJvd0xlZnQnLFxyXG4gICAgJ0Fycm93UmlnaHQnLFxyXG4gICAgJ0NsZWFyJyxcclxuICAgICdDb3B5JyxcclxuICAgICdQYXN0ZScsXHJcbiAgXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmKSB7XHJcbiAgICB0aGlzLmlucHV0RWxlbWVudCA9IGVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBvbktleURvd24oZTogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGlnaXRzT25seSkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uS2V5cy5pbmRleE9mKGUua2V5KSA+IC0xIHx8IC8vIEFsbG93OiBuYXZpZ2F0aW9uIGtleXM6IGJhY2tzcGFjZSwgZGVsZXRlLCBhcnJvd3MgZXRjLlxyXG4gICAgICAgIChlLmtleSA9PT0gJ2EnICYmIGUuY3RybEtleSkgfHwgLy8gQWxsb3c6IEN0cmwrQVxyXG4gICAgICAgIChlLmtleSA9PT0gJ2MnICYmIGUuY3RybEtleSkgfHwgLy8gQWxsb3c6IEN0cmwrQ1xyXG4gICAgICAgIChlLmtleSA9PT0gJ3YnICYmIGUuY3RybEtleSkgfHwgLy8gQWxsb3c6IEN0cmwrVlxyXG4gICAgICAgIChlLmtleSA9PT0gJ3gnICYmIGUuY3RybEtleSkgfHwgLy8gQWxsb3c6IEN0cmwrWFxyXG4gICAgICAgIChlLmtleSA9PT0gJ2EnICYmIGUubWV0YUtleSkgfHwgLy8gQWxsb3c6IENtZCtBIChNYWMpXHJcbiAgICAgICAgKGUua2V5ID09PSAnYycgJiYgZS5tZXRhS2V5KSB8fCAvLyBBbGxvdzogQ21kK0MgKE1hYylcclxuICAgICAgICAoZS5rZXkgPT09ICd2JyAmJiBlLm1ldGFLZXkpIHx8IC8vIEFsbG93OiBDbWQrViAoTWFjKVxyXG4gICAgICAgIChlLmtleSA9PT0gJ3gnICYmIGUubWV0YUtleSkgfHwgLy8gQWxsb3c6IENtZCtYIChNYWMpXHJcbiAgICAgICAgKHRoaXMuZGVjaW1hbCAmJiBlLmtleSA9PT0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yICYmIHRoaXMuZGVjaW1hbENvdW50ZXIgPCAxKSB8fCAvLyBBbGxvdzogb25seSBvbmUgZGVjaW1hbCBwb2ludFxyXG4gICAgICAgICh0aGlzLmRlY2ltYWwgJiYgZS5rZXkgPT09IHRoaXMubWludXMgJiYgdGhpcy5taW51c0NvdW50ZXIgPCAxKSAvLyBBbGxvdzogb25seSBvbmUgbWludXNcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBFbnN1cmUgdGhhdCBpdCBpcyBhIG51bWJlciBhbmQgc3RvcCB0aGUga2V5cHJlc3NcclxuICAgICAgaWYgKGUua2V5ID09PSAnICcgfHwgIXRoaXMucmVnZXgudGVzdChlLmtleSkpIHtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleXVwJywgWyckZXZlbnQnXSlcclxuICBvbktleVVwKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGlnaXRzT25seSkge1xyXG4gICAgICBpZiAoIXRoaXMuZGVjaW1hbCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5kZWNpbWFsQ291bnRlciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZS5zcGxpdCh0aGlzLmRlY2ltYWxTZXBhcmF0b3IpLmxlbmd0aCAtIDE7XHJcbiAgICAgIHRoaXMubWludXNDb3VudGVyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlLnNwbGl0KHRoaXMubWludXMpLmxlbmd0aCAtIDE7XHJcblxyXG4gICAgICBpZiAoaXNOYU4oK3RoaXMuaW5wdXRFbGVtZW50LnZhbHVlKSkge1xyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gdGhpcy5zYW5pdGl6ZUlucHV0KHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigncGFzdGUnLCBbJyRldmVudCddKVxyXG4gIG9uUGFzdGUoZXZlbnQ6IENsaXBib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaWdpdHNPbmx5KSB7XHJcbiAgICAgIGNvbnN0IHBhc3RlZElucHV0ID0gZXZlbnQuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgndGV4dC9wbGFpbicpIGFzIHN0cmluZztcclxuICAgICAgdGhpcy5wYXN0ZURhdGEocGFzdGVkSW5wdXQpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlZ2V4ID0gbmV3IFJlZ0V4cCh0aGlzLmFsbG93SHlwaGVuID8gJ15bXFxcXGQgLV0rJCcgOiAnXFxcXGQnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFzdGVEYXRhKHBhc3RlZENvbnRlbnQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2FuaXRpemVkQ29udGVudCA9IGlzTmFOKCtwYXN0ZWRDb250ZW50KSA/IHRoaXMuc2FuaXRpemVJbnB1dChwYXN0ZWRDb250ZW50KSA6IHBhc3RlZENvbnRlbnQ7XHJcbiAgICBjb25zdCBwYXN0ZWQgPSBkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0VGV4dCcsIGZhbHNlLCBzYW5pdGl6ZWRDb250ZW50KTtcclxuICAgIGlmICghcGFzdGVkKSB7XHJcbiAgICAgIGNvbnN0IHsgc2VsZWN0aW9uU3RhcnQ6IHN0YXJ0LCBzZWxlY3Rpb25FbmQ6IGVuZCB9ID0gdGhpcy5pbnB1dEVsZW1lbnQ7XHJcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnNldFJhbmdlVGV4dChzYW5pdGl6ZWRDb250ZW50LCBzdGFydCBhcyBudW1iZXIsIGVuZCBhcyBudW1iZXIsICdlbmQnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2FuaXRpemVJbnB1dChpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCByZXN1bHQgPSAnJztcclxuICAgIGlmICh0aGlzLmRlY2ltYWwgJiYgdGhpcy5pc1ZhbGlkRGVjaW1hbChpbnB1dCkpIHtcclxuICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGBeW1xcZCAtJHt0aGlzLmRlY2ltYWxTZXBhcmF0b3J9XSskYCwgJ2cnKTtcclxuICAgICAgcmVzdWx0ID0gaW5wdXQucmVwbGFjZShyZWdleCwgJycpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmVzdWx0ID0gaW5wdXQucmVwbGFjZShgLyR7dGhpcy5yZWdleH0vZ2AsICcnKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtYXhMZW5ndGggPSB0aGlzLmlucHV0RWxlbWVudC5tYXhMZW5ndGg7XHJcblxyXG4gICAgaWYgKG1heExlbmd0aCA+IDApIHtcclxuICAgICAgLy8gdGhlIGlucHV0IGVsZW1lbnQgaGFzIG1heExlbmd0aCBsaW1pdFxyXG4gICAgICBjb25zdCBhbGxvd2VkTGVuZ3RoID0gbWF4TGVuZ3RoIC0gdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoO1xyXG4gICAgICByZXN1bHQgPSBhbGxvd2VkTGVuZ3RoID4gMCA/IHJlc3VsdC5zdWJzdHJpbmcoMCwgYWxsb3dlZExlbmd0aCkgOiAnJztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1ZhbGlkRGVjaW1hbChpbnB1dFN0cmluZzogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaW5wdXRTdHJpbmcuc3BsaXQodGhpcy5kZWNpbWFsU2VwYXJhdG9yIGFzIHN0cmluZykubGVuZ3RoIDw9IDI7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -3,11 +3,11 @@ import { NgModule } from '@angular/core';
3
3
  import { DigitsOnlyDirective } from './digits-only.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  export class DigitsOnlyDirectivesModule {
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DigitsOnlyDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DigitsOnlyDirectivesModule, declarations: [DigitsOnlyDirective], imports: [CommonModule], exports: [DigitsOnlyDirective] });
8
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DigitsOnlyDirectivesModule, imports: [CommonModule] });
6
9
  }
7
- DigitsOnlyDirectivesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DigitsOnlyDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- DigitsOnlyDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: DigitsOnlyDirectivesModule, declarations: [DigitsOnlyDirective], imports: [CommonModule], exports: [DigitsOnlyDirective] });
9
- DigitsOnlyDirectivesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DigitsOnlyDirectivesModule, imports: [CommonModule] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DigitsOnlyDirectivesModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DigitsOnlyDirectivesModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  imports: [CommonModule],
@@ -19,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
19
19
  ],
20
20
  }]
21
21
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXRzLW9ubHkuZGlyZWN0aXZlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2RpcmVjdGl2ZXMvZGlnaXRzLW9ubHkuZGlyZWN0aXZlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFXOUQsTUFBTSxPQUFPLDBCQUEwQjs7dUhBQTFCLDBCQUEwQjt3SEFBMUIsMEJBQTBCLGlCQU5uQyxtQkFBbUIsYUFGVixZQUFZLGFBS3JCLG1CQUFtQjt3SEFHViwwQkFBMEIsWUFSMUIsWUFBWTsyRkFRWiwwQkFBMEI7a0JBVHRDLFFBQVE7bUJBQUU7b0JBQ1QsT0FBTyxFQUFFLENBQUUsWUFBWSxDQUFFO29CQUN6QixZQUFZLEVBQUU7d0JBQ1osbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3FCQUNwQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBEaWdpdHNPbmx5RGlyZWN0aXZlIH0gZnJvbSAnLi9kaWdpdHMtb25seS5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKCB7XHJcbiAgaW1wb3J0czogWyBDb21tb25Nb2R1bGUgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIERpZ2l0c09ubHlEaXJlY3RpdmUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBEaWdpdHNPbmx5RGlyZWN0aXZlLFxyXG4gIF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRGlnaXRzT25seURpcmVjdGl2ZXNNb2R1bGUgeyB9XHJcbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXRzLW9ubHkuZGlyZWN0aXZlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2RpcmVjdGl2ZXMvZGlnaXRzLW9ubHkuZGlyZWN0aXZlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFXOUQsTUFBTSxPQUFPLDBCQUEwQjt3R0FBMUIsMEJBQTBCO3lHQUExQiwwQkFBMEIsaUJBTm5DLG1CQUFtQixhQUZWLFlBQVksYUFLckIsbUJBQW1CO3lHQUdWLDBCQUEwQixZQVIxQixZQUFZOzs0RkFRWiwwQkFBMEI7a0JBVHRDLFFBQVE7bUJBQUU7b0JBQ1QsT0FBTyxFQUFFLENBQUUsWUFBWSxDQUFFO29CQUN6QixZQUFZLEVBQUU7d0JBQ1osbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3FCQUNwQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBEaWdpdHNPbmx5RGlyZWN0aXZlIH0gZnJvbSAnLi9kaWdpdHMtb25seS5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKCB7XHJcbiAgaW1wb3J0czogWyBDb21tb25Nb2R1bGUgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIERpZ2l0c09ubHlEaXJlY3RpdmUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBEaWdpdHNPbmx5RGlyZWN0aXZlLFxyXG4gIF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRGlnaXRzT25seURpcmVjdGl2ZXNNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -0,0 +1,58 @@
1
+ import { Directive, HostListener, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class NumberBorderDirective {
4
+ el;
5
+ maxValue;
6
+ minValue;
7
+ inputElement;
8
+ constructor(el) {
9
+ this.el = el;
10
+ this.inputElement = el.nativeElement;
11
+ }
12
+ onKeyUp(e) {
13
+ const value = +e.target.value;
14
+ if (isNaN(value)) {
15
+ this.inputElement.value = this.sanitizeInput(e.target.value);
16
+ return;
17
+ }
18
+ if (this.maxValue) {
19
+ if (value > this.maxValue) {
20
+ this.inputElement.value = this.sanitizeInput(this.maxValue.toString());
21
+ return;
22
+ }
23
+ }
24
+ if (this.minValue && this.minValue !== value) {
25
+ if (value < this.minValue) {
26
+ this.inputElement.value = this.sanitizeInput(this.minValue.toString());
27
+ return;
28
+ }
29
+ }
30
+ }
31
+ sanitizeInput(input) {
32
+ let result = '';
33
+ const regex = new RegExp(`/\d+/g`);
34
+ result = input.replace(regex, '');
35
+ const maxLength = this.inputElement.maxLength;
36
+ if (maxLength > 0) {
37
+ const allowedLength = maxLength - this.inputElement.value.length;
38
+ result = allowedLength > 0 ? result.substring(0, allowedLength) : '';
39
+ }
40
+ return result;
41
+ }
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NumberBorderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
43
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NumberBorderDirective, selector: "[appNumberBorder]", inputs: { maxValue: "maxValue", minValue: "minValue" }, host: { listeners: { "keyup": "onKeyUp($event)" } }, ngImport: i0 });
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NumberBorderDirective, decorators: [{
46
+ type: Directive,
47
+ args: [{
48
+ selector: '[appNumberBorder]',
49
+ }]
50
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { maxValue: [{
51
+ type: Input
52
+ }], minValue: [{
53
+ type: Input
54
+ }], onKeyUp: [{
55
+ type: HostListener,
56
+ args: ['keyup', ['$event']]
57
+ }] } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJvcmRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS9kaXJlY3RpdmVzL251bWJlci1ib3JkZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0UsTUFBTSxPQUFPLHFCQUFxQjtJQU1iO0lBTFYsUUFBUSxDQUFTO0lBQ2pCLFFBQVEsQ0FBUztJQUUxQixZQUFZLENBQW1CO0lBRS9CLFlBQW1CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0lBR0QsT0FBTyxDQUFDLENBQUM7UUFDUCxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBRTlCLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUU3RCxPQUFPO1NBQ1I7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBRXZFLE9BQU87YUFDUjtTQUNGO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFO1lBQzVDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUV2RSxPQUFPO2FBQ1I7U0FDRjtJQUNILENBQUM7SUFFTyxhQUFhLENBQUMsS0FBYTtRQUNqQyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO1FBRTlDLElBQUksU0FBUyxHQUFHLENBQUMsRUFBRTtZQUNqQixNQUFNLGFBQWEsR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2pFLE1BQU0sR0FBRyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ3RFO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzt3R0FsRFUscUJBQXFCOzRGQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7aUdBRVUsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQVNOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2FwcE51bWJlckJvcmRlcl0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTnVtYmVyQm9yZGVyRGlyZWN0aXZlIHtcclxuICBASW5wdXQoKSBtYXhWYWx1ZTogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG1pblZhbHVlOiBudW1iZXI7XHJcblxyXG4gIGlucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmKSB7XHJcbiAgICB0aGlzLmlucHV0RWxlbWVudCA9IGVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXHJcbiAgb25LZXlVcChlKTogdm9pZCB7XHJcbiAgICBjb25zdCB2YWx1ZSA9ICtlLnRhcmdldC52YWx1ZTtcclxuXHJcbiAgICBpZiAoaXNOYU4odmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gdGhpcy5zYW5pdGl6ZUlucHV0KGUudGFyZ2V0LnZhbHVlKTtcclxuXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5tYXhWYWx1ZSkge1xyXG4gICAgICBpZiAodmFsdWUgPiB0aGlzLm1heFZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUgPSB0aGlzLnNhbml0aXplSW5wdXQodGhpcy5tYXhWYWx1ZS50b1N0cmluZygpKTtcclxuXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubWluVmFsdWUgJiYgdGhpcy5taW5WYWx1ZSAhPT0gdmFsdWUpIHtcclxuICAgICAgaWYgKHZhbHVlIDwgdGhpcy5taW5WYWx1ZSkge1xyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gdGhpcy5zYW5pdGl6ZUlucHV0KHRoaXMubWluVmFsdWUudG9TdHJpbmcoKSk7XHJcblxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzYW5pdGl6ZUlucHV0KGlucHV0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJlc3VsdCA9ICcnO1xyXG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGAvXFxkKy9nYCk7XHJcbiAgICByZXN1bHQgPSBpbnB1dC5yZXBsYWNlKHJlZ2V4LCAnJyk7XHJcblxyXG4gICAgY29uc3QgbWF4TGVuZ3RoID0gdGhpcy5pbnB1dEVsZW1lbnQubWF4TGVuZ3RoO1xyXG5cclxuICAgIGlmIChtYXhMZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IGFsbG93ZWRMZW5ndGggPSBtYXhMZW5ndGggLSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5sZW5ndGg7XHJcbiAgICAgIHJlc3VsdCA9IGFsbG93ZWRMZW5ndGggPiAwID8gcmVzdWx0LnN1YnN0cmluZygwLCBhbGxvd2VkTGVuZ3RoKSA6ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -3,11 +3,11 @@ import { NgModule } from '@angular/core';
3
3
  import { NumberBorderDirective } from './number-border.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  export class NumberBorderDirectiveModule {
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NumberBorderDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NumberBorderDirectiveModule, declarations: [NumberBorderDirective], imports: [CommonModule], exports: [NumberBorderDirective] });
8
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NumberBorderDirectiveModule, imports: [CommonModule] });
6
9
  }
7
- NumberBorderDirectiveModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NumberBorderDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- NumberBorderDirectiveModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NumberBorderDirectiveModule, declarations: [NumberBorderDirective], imports: [CommonModule], exports: [NumberBorderDirective] });
9
- NumberBorderDirectiveModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NumberBorderDirectiveModule, imports: [CommonModule] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NumberBorderDirectiveModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NumberBorderDirectiveModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  imports: [CommonModule],
@@ -19,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
19
19
  ],
20
20
  }]
21
21
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJvcmRlci5kaXJlY3RpdmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvZGlyZWN0aXZlcy9udW1iZXItYm9yZGVyLmRpcmVjdGl2ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBV2xFLE1BQU0sT0FBTywyQkFBMkI7O3dIQUEzQiwyQkFBMkI7eUhBQTNCLDJCQUEyQixpQkFOcEMscUJBQXFCLGFBRlosWUFBWSxhQUtyQixxQkFBcUI7eUhBR1osMkJBQTJCLFlBUjNCLFlBQVk7MkZBUVosMkJBQTJCO2tCQVR2QyxRQUFRO21CQUFFO29CQUNULE9BQU8sRUFBRSxDQUFFLFlBQVksQ0FBRTtvQkFDekIsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHFCQUFxQjtxQkFDdEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOdW1iZXJCb3JkZXJEaXJlY3RpdmUgfSBmcm9tICcuL251bWJlci1ib3JkZXIuZGlyZWN0aXZlJztcclxuXHJcbkBOZ01vZHVsZSgge1xyXG4gIGltcG9ydHM6IFsgQ29tbW9uTW9kdWxlIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBOdW1iZXJCb3JkZXJEaXJlY3RpdmUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBOdW1iZXJCb3JkZXJEaXJlY3RpdmUsXHJcbiAgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBOdW1iZXJCb3JkZXJEaXJlY3RpdmVNb2R1bGUgeyB9XHJcbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJvcmRlci5kaXJlY3RpdmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvZGlyZWN0aXZlcy9udW1iZXItYm9yZGVyLmRpcmVjdGl2ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBV2xFLE1BQU0sT0FBTywyQkFBMkI7d0dBQTNCLDJCQUEyQjt5R0FBM0IsMkJBQTJCLGlCQU5wQyxxQkFBcUIsYUFGWixZQUFZLGFBS3JCLHFCQUFxQjt5R0FHWiwyQkFBMkIsWUFSM0IsWUFBWTs7NEZBUVosMkJBQTJCO2tCQVR2QyxRQUFRO21CQUFFO29CQUNULE9BQU8sRUFBRSxDQUFFLFlBQVksQ0FBRTtvQkFDekIsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHFCQUFxQjtxQkFDdEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOdW1iZXJCb3JkZXJEaXJlY3RpdmUgfSBmcm9tICcuL251bWJlci1ib3JkZXIuZGlyZWN0aXZlJztcclxuXHJcbkBOZ01vZHVsZSgge1xyXG4gIGltcG9ydHM6IFsgQ29tbW9uTW9kdWxlIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBOdW1iZXJCb3JkZXJEaXJlY3RpdmUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBOdW1iZXJCb3JkZXJEaXJlY3RpdmUsXHJcbiAgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBOdW1iZXJCb3JkZXJEaXJlY3RpdmVNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -0,0 +1,105 @@
1
+ import { Input, Output, EventEmitter, Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export default class ElementBaseComponent {
4
+ type;
5
+ name;
6
+ label;
7
+ placeholder = '';
8
+ validationLabel;
9
+ disabled = false;
10
+ showValidation = true;
11
+ showValidationOnNotTouched = false;
12
+ hideValidationMessage = false;
13
+ iconClass = '';
14
+ loading = false;
15
+ showHint = false;
16
+ maxLength;
17
+ tooltip;
18
+ showAsterisk = true;
19
+ focused = new EventEmitter();
20
+ focusOuted = new EventEmitter();
21
+ control;
22
+ required = false;
23
+ getData() {
24
+ return {
25
+ type: this.type || 'text',
26
+ label: this.label,
27
+ placeholder: this.placeholder,
28
+ validationLabel: this.validationLabel,
29
+ disabled: this.disabled,
30
+ showValidation: this.showValidation,
31
+ showValidationOnNotTouched: this.showValidationOnNotTouched,
32
+ hideValidationMessage: this.hideValidationMessage,
33
+ iconClass: this.iconClass,
34
+ control: this.control,
35
+ loading: this.loading,
36
+ showHint: this.showHint,
37
+ maxLength: this.maxLength,
38
+ tooltip: this.tooltip,
39
+ name: this.name,
40
+ required: this.isRequired(this.control),
41
+ showAsterisk: this.showAsterisk,
42
+ };
43
+ }
44
+ isRequired = (ctrl) => {
45
+ if (ctrl?.validator) {
46
+ const validator = ctrl.validator({});
47
+ if (validator && validator['required']) {
48
+ return true;
49
+ }
50
+ }
51
+ if (ctrl?.['controls']) {
52
+ for (const name in ctrl['controls']) {
53
+ if (ctrl['controls'][name]) {
54
+ if (this.isRequired(ctrl['controls'][name])) {
55
+ return true;
56
+ }
57
+ }
58
+ }
59
+ }
60
+ return false;
61
+ };
62
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElementBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ElementBaseComponent, selector: "ng-component", inputs: { type: "type", name: "name", label: "label", placeholder: "placeholder", validationLabel: "validationLabel", disabled: "disabled", showValidation: "showValidation", showValidationOnNotTouched: "showValidationOnNotTouched", hideValidationMessage: "hideValidationMessage", iconClass: "iconClass", loading: "loading", showHint: "showHint", maxLength: "maxLength", tooltip: "tooltip", showAsterisk: "showAsterisk" }, outputs: { focused: "focused", focusOuted: "focusOuted" }, ngImport: i0, template: '', isInline: true });
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElementBaseComponent, decorators: [{
66
+ type: Component,
67
+ args: [{
68
+ template: '',
69
+ }]
70
+ }], propDecorators: { type: [{
71
+ type: Input
72
+ }], name: [{
73
+ type: Input
74
+ }], label: [{
75
+ type: Input
76
+ }], placeholder: [{
77
+ type: Input
78
+ }], validationLabel: [{
79
+ type: Input
80
+ }], disabled: [{
81
+ type: Input
82
+ }], showValidation: [{
83
+ type: Input
84
+ }], showValidationOnNotTouched: [{
85
+ type: Input
86
+ }], hideValidationMessage: [{
87
+ type: Input
88
+ }], iconClass: [{
89
+ type: Input
90
+ }], loading: [{
91
+ type: Input
92
+ }], showHint: [{
93
+ type: Input
94
+ }], maxLength: [{
95
+ type: Input
96
+ }], tooltip: [{
97
+ type: Input
98
+ }], showAsterisk: [{
99
+ type: Input
100
+ }], focused: [{
101
+ type: Output
102
+ }], focusOuted: [{
103
+ type: Output
104
+ }] } });
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvZWxlbWVudC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXZFLE1BQU0sQ0FBQyxPQUFPLE9BQU8sb0JBQW9CO0lBQzlCLElBQUksQ0FBUztJQUNiLElBQUksQ0FBUztJQUNiLEtBQUssQ0FBUztJQUNkLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDakIsZUFBZSxDQUFTO0lBQ3hCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsY0FBYyxHQUFHLElBQUksQ0FBQztJQUN0QiwwQkFBMEIsR0FBRyxLQUFLLENBQUM7SUFDbkMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO0lBQzlCLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDZixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDMUIsU0FBUyxDQUFVO0lBQ25CLE9BQU8sQ0FBVTtJQUNqQixZQUFZLEdBQVksSUFBSSxDQUFDO0lBRTVCLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2xDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRS9DLE9BQU8sQ0FBc0I7SUFDN0IsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUUxQixPQUFPO1FBQ0wsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLE1BQU07WUFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsMEJBQTBCO1lBQzNELHFCQUFxQixFQUFFLElBQUksQ0FBQyxxQkFBcUI7WUFDakQsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUN2QyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDaEMsQ0FBQztJQUNKLENBQUM7SUFFTyxVQUFVLEdBQUcsQ0FBQyxJQUFTLEVBQVcsRUFBRTtRQUMxQyxJQUFJLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDbkIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFxQixDQUFDLENBQUM7WUFDeEQsSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUN0QyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFFRCxJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3RCLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNuQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDMUIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO3dCQUMzQyxPQUFPLElBQUksQ0FBQztxQkFDYjtpQkFDRjthQUNGO1NBQ0Y7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQzt3R0FoRWlCLG9CQUFvQjs0RkFBcEIsb0JBQW9CLHFoQkFGN0IsRUFBRTs7NEZBRU8sb0JBQW9CO2tCQUh4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiOzhCQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJycsXHJcbn0pXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVsZW1lbnRCYXNlQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSB0eXBlITpzdHJpbmc7XHJcbiAgQElucHV0KCkgbmFtZSE6c3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsITpzdHJpbmc7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuICBASW5wdXQoKSB2YWxpZGF0aW9uTGFiZWwhOnN0cmluZztcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dWYWxpZGF0aW9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93VmFsaWRhdGlvbk9uTm90VG91Y2hlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhpZGVWYWxpZGF0aW9uTWVzc2FnZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGljb25DbGFzcyA9ICcnO1xyXG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93SGludDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG1heExlbmd0aCE6IG51bWJlcjtcclxuICBASW5wdXQoKSB0b29sdGlwITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNob3dBc3RlcmlzazogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBmb2N1c2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGZvY3VzT3V0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29udHJvbCE6IFVudHlwZWRGb3JtQ29udHJvbDtcclxuICByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBnZXREYXRhKCk6IGFueSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0eXBlOiB0aGlzLnR5cGUgfHwgJ3RleHQnLFxyXG4gICAgICBsYWJlbDogdGhpcy5sYWJlbCxcclxuICAgICAgcGxhY2Vob2xkZXI6IHRoaXMucGxhY2Vob2xkZXIsXHJcbiAgICAgIHZhbGlkYXRpb25MYWJlbDogdGhpcy52YWxpZGF0aW9uTGFiZWwsXHJcbiAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxyXG4gICAgICBzaG93VmFsaWRhdGlvbjogdGhpcy5zaG93VmFsaWRhdGlvbixcclxuICAgICAgc2hvd1ZhbGlkYXRpb25Pbk5vdFRvdWNoZWQ6IHRoaXMuc2hvd1ZhbGlkYXRpb25Pbk5vdFRvdWNoZWQsXHJcbiAgICAgIGhpZGVWYWxpZGF0aW9uTWVzc2FnZTogdGhpcy5oaWRlVmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIGljb25DbGFzczogdGhpcy5pY29uQ2xhc3MsXHJcbiAgICAgIGNvbnRyb2w6IHRoaXMuY29udHJvbCxcclxuICAgICAgbG9hZGluZzogdGhpcy5sb2FkaW5nLFxyXG4gICAgICBzaG93SGludDogdGhpcy5zaG93SGludCxcclxuICAgICAgbWF4TGVuZ3RoOiB0aGlzLm1heExlbmd0aCxcclxuICAgICAgdG9vbHRpcDogdGhpcy50b29sdGlwLFxyXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXHJcbiAgICAgIHJlcXVpcmVkOiB0aGlzLmlzUmVxdWlyZWQodGhpcy5jb250cm9sKSxcclxuICAgICAgc2hvd0FzdGVyaXNrOiB0aGlzLnNob3dBc3RlcmlzayxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzUmVxdWlyZWQgPSAoY3RybDogYW55KTogYm9vbGVhbiA9PiB7XHJcbiAgICBpZiAoY3RybD8udmFsaWRhdG9yKSB7XHJcbiAgICAgIGNvbnN0IHZhbGlkYXRvciA9IGN0cmwudmFsaWRhdG9yKHt9IGFzIEFic3RyYWN0Q29udHJvbCk7XHJcbiAgICAgIGlmICh2YWxpZGF0b3IgJiYgdmFsaWRhdG9yWydyZXF1aXJlZCddKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoY3RybD8uWydjb250cm9scyddKSB7XHJcbiAgICAgIGZvciAoY29uc3QgbmFtZSBpbiBjdHJsWydjb250cm9scyddKSB7XHJcbiAgICAgICAgaWYgKGN0cmxbJ2NvbnRyb2xzJ11bbmFtZV0pIHtcclxuICAgICAgICAgIGlmICh0aGlzLmlzUmVxdWlyZWQoY3RybFsnY29udHJvbHMnXVtuYW1lXSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH07XHJcbn1cclxuIl19
@@ -0,0 +1,56 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../../ecabs-loading/spinner/spinner.component";
5
+ import * as i3 from "../validation/validation.component";
6
+ import * as i4 from "@angular/material/icon";
7
+ import * as i5 from "@angular/material/tooltip";
8
+ import * as i6 from "../hint/hint.component";
9
+ export class ElementWrapperComponent {
10
+ data;
11
+ showCloseIcon;
12
+ focusedFlag;
13
+ showPassword;
14
+ control;
15
+ showHidePassword = new EventEmitter();
16
+ clear = new EventEmitter();
17
+ increase = new EventEmitter();
18
+ decrease = new EventEmitter();
19
+ showHidePasswordFn(event) {
20
+ this.showHidePassword.emit(event);
21
+ }
22
+ clearFn() {
23
+ this.clear.emit();
24
+ }
25
+ increaseFn() {
26
+ this.increase.emit();
27
+ }
28
+ decreaseFn() {
29
+ this.decrease.emit();
30
+ }
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElementWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ElementWrapperComponent, selector: "app-element-wrapper", inputs: { data: "data", showCloseIcon: "showCloseIcon", focusedFlag: "focusedFlag", showPassword: "showPassword", control: "control" }, outputs: { showHidePassword: "showHidePassword", clear: "clear", increase: "increase", decrease: "decrease" }, ngImport: i0, template: "<div\r\n class=\"form-field\"\r\n [ngClass]=\"{\r\n 'form-field--invalid':\r\n data?.showValidation && (data?.control?.touched || data?.showValidationOnNotTouched) && data?.control?.invalid,\r\n disabled: data?.disabled,\r\n 'form-field--required': data?.required && data?.showAsterisk\r\n }\"\r\n>\r\n <div>\r\n <label class=\"form-field__label\" [attr.for]=\"data?.name\" *ngIf=\"data?.label\">\r\n <span [innerHTML]=\"data?.label\"></span>\r\n <mat-icon class=\"icon\" *ngIf=\"data?.tooltip\" [matTooltip]=\"data?.tooltip\">error_outline</mat-icon>\r\n </label>\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ecabs-loading-spinner class=\"spinner\" size=\"tiny\" *ngIf=\"data.loading\"></ecabs-loading-spinner>\r\n\r\n <app-hint [element]=\"data?.control\" [showHint]=\"data?.showHint\" [maxValue]=\"data?.maxLength\"></app-hint>\r\n\r\n <app-validations-messages\r\n *ngIf=\"data?.showValidation && !data?.hideValidationMessage\"\r\n [element]=\"data?.control\"\r\n [label]=\"data?.label ? data?.label : data?.placeholder ? data.placeholder : data?.validationLabel\"\r\n [showValidationOnNotTouched]=\"data?.showValidationOnNotTouched\"\r\n >\r\n </app-validations-messages>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: ["size"] }, { kind: "component", type: i3.ValidationComponent, selector: "app-validations-messages", inputs: ["element", "label", "showValidationOnNotTouched", "updatedErrors"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i6.HintComponent, selector: "app-hint", inputs: ["element", "maxValue", "showHint"] }] });
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElementWrapperComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'app-element-wrapper', template: "<div\r\n class=\"form-field\"\r\n [ngClass]=\"{\r\n 'form-field--invalid':\r\n data?.showValidation && (data?.control?.touched || data?.showValidationOnNotTouched) && data?.control?.invalid,\r\n disabled: data?.disabled,\r\n 'form-field--required': data?.required && data?.showAsterisk\r\n }\"\r\n>\r\n <div>\r\n <label class=\"form-field__label\" [attr.for]=\"data?.name\" *ngIf=\"data?.label\">\r\n <span [innerHTML]=\"data?.label\"></span>\r\n <mat-icon class=\"icon\" *ngIf=\"data?.tooltip\" [matTooltip]=\"data?.tooltip\">error_outline</mat-icon>\r\n </label>\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ecabs-loading-spinner class=\"spinner\" size=\"tiny\" *ngIf=\"data.loading\"></ecabs-loading-spinner>\r\n\r\n <app-hint [element]=\"data?.control\" [showHint]=\"data?.showHint\" [maxValue]=\"data?.maxLength\"></app-hint>\r\n\r\n <app-validations-messages\r\n *ngIf=\"data?.showValidation && !data?.hideValidationMessage\"\r\n [element]=\"data?.control\"\r\n [label]=\"data?.label ? data?.label : data?.placeholder ? data.placeholder : data?.validationLabel\"\r\n [showValidationOnNotTouched]=\"data?.showValidationOnNotTouched\"\r\n >\r\n </app-validations-messages>\r\n</div>\r\n" }]
37
+ }], propDecorators: { data: [{
38
+ type: Input
39
+ }], showCloseIcon: [{
40
+ type: Input
41
+ }], focusedFlag: [{
42
+ type: Input
43
+ }], showPassword: [{
44
+ type: Input
45
+ }], control: [{
46
+ type: Input
47
+ }], showHidePassword: [{
48
+ type: Output
49
+ }], clear: [{
50
+ type: Output
51
+ }], increase: [{
52
+ type: Output
53
+ }], decrease: [{
54
+ type: Output
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2VsZW1lbnQtd3JhcHBlci9lbGVtZW50LXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvZWxlbWVudC13cmFwcGVyL2VsZW1lbnQtd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQU12RSxNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLElBQUksQ0FBTTtJQUNWLGFBQWEsQ0FBVTtJQUN2QixXQUFXLENBQU07SUFDakIsWUFBWSxDQUFVO0lBQ3RCLE9BQU8sQ0FBTTtJQUNaLGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0MsS0FBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDaEMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbkMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFN0Msa0JBQWtCLENBQUMsS0FBUztRQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7d0dBekJVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLGtUQ05wQyxzdUNBOEJBOzs0RkR4QmEsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLHFCQUFxQjs4QkFJdEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1lbGVtZW50LXdyYXBwZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGVtZW50LXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWxlbWVudFdyYXBwZXJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGRhdGEhOmFueTtcclxuICBASW5wdXQoKSBzaG93Q2xvc2VJY29uITpib29sZWFuO1xyXG4gIEBJbnB1dCgpIGZvY3VzZWRGbGFnITphbnk7XHJcbiAgQElucHV0KCkgc2hvd1Bhc3N3b3JkITpib29sZWFuO1xyXG4gIEBJbnB1dCgpIGNvbnRyb2whOmFueTtcclxuICBAT3V0cHV0KCkgc2hvd0hpZGVQYXNzd29yZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBjbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBpbmNyZWFzZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBkZWNyZWFzZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBzaG93SGlkZVBhc3N3b3JkRm4oZXZlbnQ6YW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dIaWRlUGFzc3dvcmQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBjbGVhckZuKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbGVhci5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBpbmNyZWFzZUZuKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbmNyZWFzZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBkZWNyZWFzZUZuKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZWNyZWFzZS5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImZvcm0tZmllbGRcIlxyXG4gIFtuZ0NsYXNzXT1cIntcclxuICAgICdmb3JtLWZpZWxkLS1pbnZhbGlkJzpcclxuICAgICAgZGF0YT8uc2hvd1ZhbGlkYXRpb24gJiYgKGRhdGE/LmNvbnRyb2w/LnRvdWNoZWQgfHwgZGF0YT8uc2hvd1ZhbGlkYXRpb25Pbk5vdFRvdWNoZWQpICYmIGRhdGE/LmNvbnRyb2w/LmludmFsaWQsXHJcbiAgICBkaXNhYmxlZDogZGF0YT8uZGlzYWJsZWQsXHJcbiAgICAnZm9ybS1maWVsZC0tcmVxdWlyZWQnOiBkYXRhPy5yZXF1aXJlZCAmJiBkYXRhPy5zaG93QXN0ZXJpc2tcclxuICB9XCJcclxuPlxyXG4gIDxkaXY+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWZpZWxkX19sYWJlbFwiIFthdHRyLmZvcl09XCJkYXRhPy5uYW1lXCIgKm5nSWY9XCJkYXRhPy5sYWJlbFwiPlxyXG4gICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImRhdGE/LmxhYmVsXCI+PC9zcGFuPlxyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJpY29uXCIgKm5nSWY9XCJkYXRhPy50b29sdGlwXCIgW21hdFRvb2x0aXBdPVwiZGF0YT8udG9vbHRpcFwiPmVycm9yX291dGxpbmU8L21hdC1pY29uPlxyXG4gICAgPC9sYWJlbD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG5cclxuICA8ZWNhYnMtbG9hZGluZy1zcGlubmVyIGNsYXNzPVwic3Bpbm5lclwiIHNpemU9XCJ0aW55XCIgKm5nSWY9XCJkYXRhLmxvYWRpbmdcIj48L2VjYWJzLWxvYWRpbmctc3Bpbm5lcj5cclxuXHJcbiAgPGFwcC1oaW50IFtlbGVtZW50XT1cImRhdGE/LmNvbnRyb2xcIiBbc2hvd0hpbnRdPVwiZGF0YT8uc2hvd0hpbnRcIiBbbWF4VmFsdWVdPVwiZGF0YT8ubWF4TGVuZ3RoXCI+PC9hcHAtaGludD5cclxuXHJcbiAgPGFwcC12YWxpZGF0aW9ucy1tZXNzYWdlc1xyXG4gICAgKm5nSWY9XCJkYXRhPy5zaG93VmFsaWRhdGlvbiAmJiAhZGF0YT8uaGlkZVZhbGlkYXRpb25NZXNzYWdlXCJcclxuICAgIFtlbGVtZW50XT1cImRhdGE/LmNvbnRyb2xcIlxyXG4gICAgW2xhYmVsXT1cImRhdGE/LmxhYmVsID8gZGF0YT8ubGFiZWwgOiBkYXRhPy5wbGFjZWhvbGRlciA/IGRhdGEucGxhY2Vob2xkZXIgOiBkYXRhPy52YWxpZGF0aW9uTGFiZWxcIlxyXG4gICAgW3Nob3dWYWxpZGF0aW9uT25Ob3RUb3VjaGVkXT1cImRhdGE/LnNob3dWYWxpZGF0aW9uT25Ob3RUb3VjaGVkXCJcclxuICA+XHJcbiAgPC9hcHAtdmFsaWRhdGlvbnMtbWVzc2FnZXM+XHJcbjwvZGl2PlxyXG4iXX0=