ecabs-components 0.0.47 → 0.0.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/esm2020/lib/base/directives/date-mask.directive.mjs +65 -0
  2. package/{esm2022 → esm2020}/lib/base/directives/date-mask.directive.module.mjs +5 -5
  3. package/esm2020/lib/base/directives/digits-only.directive.mjs +130 -0
  4. package/{esm2022 → esm2020}/lib/base/directives/digits-only.directive.module.mjs +5 -5
  5. package/esm2020/lib/base/directives/number-border.directive.mjs +54 -0
  6. package/{esm2022 → esm2020}/lib/base/directives/number-border.directive.module.mjs +5 -5
  7. package/esm2020/lib/base/element-base.mjs +100 -0
  8. package/esm2020/lib/base/element-wrapper/element-wrapper.component.mjs +53 -0
  9. package/{esm2022 → esm2020}/lib/base/element-wrapper/element-wrapper.module.mjs +21 -21
  10. package/esm2020/lib/base/hint/hint.component.mjs +21 -0
  11. package/{esm2022 → esm2020}/lib/base/hint/hint.module.mjs +5 -5
  12. package/esm2020/lib/base/validation/validation.component.mjs +70 -0
  13. package/{esm2022 → esm2020}/lib/base/validation/validation.module.mjs +5 -5
  14. package/esm2020/lib/ecabs-active-status-filter/active-status-filter.component.mjs +30 -0
  15. package/esm2020/lib/ecabs-active-status-filter/active-status-filter.module.mjs +20 -0
  16. package/esm2020/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +16 -0
  17. package/{esm2022 → esm2020}/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.mjs +5 -5
  18. package/esm2020/lib/ecabs-buttons/ecabs-buttons.component.mjs +65 -0
  19. package/{esm2022 → esm2020}/lib/ecabs-buttons/ecabs-buttons.module.mjs +5 -5
  20. package/esm2020/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +85 -0
  21. package/{esm2022 → esm2020}/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.mjs +13 -13
  22. package/esm2020/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +17 -0
  23. package/esm2020/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +85 -0
  24. package/{esm2022 → esm2020}/lib/ecabs-date-picker/ecabs-date-picker.module.mjs +19 -19
  25. package/esm2020/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +17 -0
  26. package/esm2020/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +179 -0
  27. package/{esm2022 → esm2020}/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.mjs +27 -27
  28. package/esm2020/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +17 -0
  29. package/esm2020/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +193 -0
  30. package/{esm2022 → esm2020}/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.mjs +27 -27
  31. package/esm2020/lib/ecabs-date-time-range-picker/time-range.directive.mjs +45 -0
  32. package/esm2020/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +28 -0
  33. package/{esm2022 → esm2020}/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.mjs +5 -5
  34. package/esm2020/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +25 -0
  35. package/{esm2022 → esm2020}/lib/ecabs-dialog-message/ecabs-dialog-message.module.mjs +5 -5
  36. package/{esm2022 → esm2020}/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.mjs +4 -7
  37. package/{esm2022 → esm2020}/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.mjs +5 -5
  38. package/esm2020/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +76 -0
  39. package/{esm2022 → esm2020}/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.mjs +5 -5
  40. package/esm2020/lib/ecabs-increment/ecabs-increment.component.mjs +78 -0
  41. package/{esm2022 → esm2020}/lib/ecabs-increment/ecabs-increment.module.mjs +5 -5
  42. package/esm2020/lib/ecabs-input/ecabs-input.component.mjs +85 -0
  43. package/{esm2022 → esm2020}/lib/ecabs-input/ecabs-input.module.mjs +5 -5
  44. package/esm2020/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +51 -0
  45. package/{esm2022 → esm2020}/lib/ecabs-language-selector/ecabs-language-selector.module.mjs +13 -13
  46. package/esm2020/lib/ecabs-loading/ecabs-loading.component.mjs +24 -0
  47. package/{esm2022 → esm2020}/lib/ecabs-loading/ecabs-loading.module.mjs +5 -5
  48. package/esm2020/lib/ecabs-loading/spinner/spinner.component.mjs +16 -0
  49. package/esm2020/lib/ecabs-note/ecabs-note.component.mjs +30 -0
  50. package/{esm2022 → esm2020}/lib/ecabs-note/ecabs-note.module.mjs +5 -5
  51. package/esm2020/lib/ecabs-phone/ecabs-phone.component.mjs +105 -0
  52. package/{esm2022 → esm2020}/lib/ecabs-phone/ecabs-phone.module.mjs +5 -5
  53. package/esm2020/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +50 -0
  54. package/{esm2022 → esm2020}/lib/ecabs-picker-header/ecabs-picker-header.module.mjs +5 -5
  55. package/esm2020/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +65 -0
  56. package/{esm2022 → esm2020}/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.mjs +11 -11
  57. package/esm2020/lib/ecabs-select/ecabs-select.component.mjs +222 -0
  58. package/esm2020/lib/ecabs-select/ecabs-select.module.mjs +60 -0
  59. package/esm2020/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +17 -0
  60. package/{esm2022 → esm2020}/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.mjs +7 -7
  61. package/esm2020/lib/ecabs-table/ecabs-table.component.mjs +43 -0
  62. package/{esm2022 → esm2020}/lib/ecabs-table/ecabs-table.module.mjs +11 -11
  63. package/esm2020/lib/ecabs-textarea/ecabs-textarea.component.mjs +62 -0
  64. package/{esm2022 → esm2020}/lib/ecabs-textarea/ecabs-textarea.module.mjs +5 -5
  65. package/esm2020/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +137 -0
  66. package/esm2020/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +312 -0
  67. package/{esm2022 → esm2020}/lib/ecabs-timepicker/ecabs-timepicker.module.mjs +5 -5
  68. package/esm2020/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +31 -0
  69. package/esm2020/lib/services/ecabs-components.service.mjs +32 -0
  70. package/esm2020/public-api.mjs +57 -0
  71. package/fesm2015/ecabs-components.mjs +3283 -0
  72. package/fesm2015/ecabs-components.mjs.map +1 -0
  73. package/fesm2020/ecabs-components.mjs +3267 -0
  74. package/fesm2020/ecabs-components.mjs.map +1 -0
  75. package/lib/base/directives/date-mask.directive.d.ts +1 -1
  76. package/lib/base/directives/digits-only.directive.d.ts +1 -1
  77. package/lib/base/directives/number-border.directive.d.ts +1 -1
  78. package/lib/base/element-base.d.ts +1 -1
  79. package/lib/base/element-wrapper/element-wrapper.component.d.ts +1 -1
  80. package/lib/base/hint/hint.component.d.ts +1 -1
  81. package/lib/base/validation/validation.component.d.ts +1 -1
  82. package/lib/ecabs-active-status-filter/active-status-filter.component.d.ts +14 -0
  83. package/lib/ecabs-active-status-filter/active-status-filter.module.d.ts +10 -0
  84. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.d.ts +1 -1
  85. package/lib/ecabs-buttons/ecabs-buttons.component.d.ts +1 -1
  86. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.d.ts +1 -1
  87. package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.d.ts +1 -1
  88. package/lib/ecabs-date-picker/ecabs-date-picker.component.d.ts +1 -1
  89. package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.d.ts +1 -1
  90. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +1 -1
  91. package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.d.ts +1 -1
  92. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.d.ts +1 -1
  93. package/lib/ecabs-date-time-range-picker/time-range.directive.d.ts +1 -1
  94. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.d.ts +1 -1
  95. package/lib/ecabs-dialog-message/ecabs-dialog-message.component.d.ts +1 -1
  96. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.d.ts +1 -1
  97. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.d.ts +1 -1
  98. package/lib/ecabs-increment/ecabs-increment.component.d.ts +1 -1
  99. package/lib/ecabs-input/ecabs-input.component.d.ts +1 -1
  100. package/lib/ecabs-language-selector/ecabs-language-selector.component.d.ts +1 -1
  101. package/lib/ecabs-loading/ecabs-loading.component.d.ts +1 -1
  102. package/lib/ecabs-loading/spinner/spinner.component.d.ts +1 -1
  103. package/lib/ecabs-note/ecabs-note.component.d.ts +1 -1
  104. package/lib/ecabs-phone/ecabs-phone.component.d.ts +1 -1
  105. package/lib/ecabs-picker-header/ecabs-picker-header.component.d.ts +1 -1
  106. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.d.ts +1 -1
  107. package/lib/ecabs-select/ecabs-select.component.d.ts +1 -1
  108. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.d.ts +1 -1
  109. package/lib/ecabs-table/ecabs-table.component.d.ts +1 -1
  110. package/lib/ecabs-textarea/ecabs-textarea.component.d.ts +1 -1
  111. package/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.d.ts +1 -1
  112. package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +1 -1
  113. package/lib/models/timepicker.models.d.ts +1 -1
  114. package/package.json +11 -5
  115. package/public-api.d.ts +2 -0
  116. package/esm2022/lib/base/directives/date-mask.directive.mjs +0 -67
  117. package/esm2022/lib/base/directives/digits-only.directive.mjs +0 -133
  118. package/esm2022/lib/base/directives/number-border.directive.mjs +0 -58
  119. package/esm2022/lib/base/element-base.mjs +0 -105
  120. package/esm2022/lib/base/element-wrapper/element-wrapper.component.mjs +0 -56
  121. package/esm2022/lib/base/hint/hint.component.mjs +0 -21
  122. package/esm2022/lib/base/validation/validation.component.mjs +0 -75
  123. package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +0 -17
  124. package/esm2022/lib/ecabs-buttons/ecabs-buttons.component.mjs +0 -67
  125. package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +0 -90
  126. package/esm2022/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +0 -15
  127. package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +0 -89
  128. package/esm2022/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +0 -15
  129. package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +0 -186
  130. package/esm2022/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +0 -15
  131. package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +0 -199
  132. package/esm2022/lib/ecabs-date-time-range-picker/time-range.directive.mjs +0 -48
  133. package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +0 -31
  134. package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +0 -28
  135. package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +0 -85
  136. package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +0 -83
  137. package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +0 -93
  138. package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +0 -51
  139. package/esm2022/lib/ecabs-loading/ecabs-loading.component.mjs +0 -22
  140. package/esm2022/lib/ecabs-loading/spinner/spinner.component.mjs +0 -14
  141. package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +0 -28
  142. package/esm2022/lib/ecabs-phone/ecabs-phone.component.mjs +0 -111
  143. package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +0 -53
  144. package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +0 -68
  145. package/esm2022/lib/ecabs-select/ecabs-select.component.mjs +0 -227
  146. package/esm2022/lib/ecabs-select/ecabs-select.module.mjs +0 -60
  147. package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +0 -19
  148. package/esm2022/lib/ecabs-table/ecabs-table.component.mjs +0 -48
  149. package/esm2022/lib/ecabs-textarea/ecabs-textarea.component.mjs +0 -65
  150. package/esm2022/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +0 -144
  151. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +0 -322
  152. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +0 -29
  153. package/esm2022/lib/services/ecabs-components.service.mjs +0 -31
  154. package/esm2022/public-api.mjs +0 -55
  155. package/fesm2022/ecabs-components.mjs +0 -3338
  156. package/fesm2022/ecabs-components.mjs.map +0 -1
  157. /package/{esm2022 → esm2020}/ecabs-components.mjs +0 -0
  158. /package/{esm2022 → esm2020}/lib/base/consts/date-mask.consts.mjs +0 -0
  159. /package/{esm2022 → esm2020}/lib/ecabs-timepicker/config.model.mjs +0 -0
  160. /package/{esm2022 → esm2020}/lib/models/bread-crumb.mjs +0 -0
  161. /package/{esm2022 → esm2020}/lib/models/timepicker.models.mjs +0 -0
@@ -1,133 +0,0 @@
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.1.7", ngImport: i0, type: DigitsOnlyDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
106
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", 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.1.7", 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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LFNBQVMsR0FBRyxDQUFDLEVBQUU7WUFDakIsd0NBQXdDO1lBQ3hDLE1BQU0sYUFBYSxHQUFHLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDakUsTUFBTSxHQUFHLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDdEU7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sY0FBYyxDQUFDLFdBQW1CO1FBQ3hDLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQTBCLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO0lBQ3hFLENBQUM7dUdBMUhVLG1CQUFtQjsyRkFBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUgvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCO2lHQUdDLFVBQVU7c0JBRFQsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBNEJOLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBMkJuQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWlCakMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1thcHBEaWdpdHNPbmx5XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaWdpdHNPbmx5RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKVxyXG4gIGRpZ2l0c09ubHkgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBhbGxvd0h5cGhlbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBkZWNpbWFsPyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRlY2ltYWxTZXBhcmF0b3I/ID0gJy4nO1xyXG4gIEBJbnB1dCgpIHVuaXQ/ID0gMDtcclxuXHJcbiAgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xyXG4gIG1pbnVzID0gJy0nO1xyXG4gIG1pbnVzQ291bnRlciA9IDA7XHJcbiAgcmVnZXghOiBSZWdFeHA7XHJcblxyXG4gIHByaXZhdGUgZGVjaW1hbENvdW50ZXIgPSAwO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbmF2aWdhdGlvbktleXMgPSBbXHJcbiAgICAnQmFja3NwYWNlJyxcclxuICAgICdEZWxldGUnLFxyXG4gICAgJ1RhYicsXHJcbiAgICAnRXNjYXBlJyxcclxuICAgICdFbnRlcicsXHJcbiAgICAnSG9tZScsXHJcbiAgICAnRW5kJyxcclxuICAgICdBcnJvd0xlZnQnLFxyXG4gICAgJ0Fycm93UmlnaHQnLFxyXG4gICAgJ0NsZWFyJyxcclxuICAgICdDb3B5JyxcclxuICAgICdQYXN0ZScsXHJcbiAgXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmKSB7XHJcbiAgICB0aGlzLmlucHV0RWxlbWVudCA9IGVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBvbktleURvd24oZTogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGlnaXRzT25seSkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uS2V5cy5pbmRleE9mKGUua2V5KSA+IC0xIHx8IC8vIEFsbG93OiBuYXZpZ2F0aW9uIGtleXM6IGJhY2tzcGFjZSwgZGVsZXRlLCBhcnJvd3MgZXRjLlxyXG4gICAgICAgIChlLmtleSA9PT0gJ2EnICYmIGUuY3RybEtleSkgfHwgLy8gQWxsb3c6IEN0cmwrQVxyXG4gICAgICAgIChlLmtleSA9PT0gJ2MnICYmIGUuY3RybEtleSkgfHwgLy8gQWxsb3c6IEN0cmwrQ1xyXG4gICAgICAgIChlLmtleSA9PT0gJ3YnICYmIGUuY3RybEtleSkgfHwgLy8gQWxsb3c6IEN0cmwrVlxyXG4gICAgICAgIChlLmtleSA9PT0gJ3gnICYmIGUuY3RybEtleSkgfHwgLy8gQWxsb3c6IEN0cmwrWFxyXG4gICAgICAgIChlLmtleSA9PT0gJ2EnICYmIGUubWV0YUtleSkgfHwgLy8gQWxsb3c6IENtZCtBIChNYWMpXHJcbiAgICAgICAgKGUua2V5ID09PSAnYycgJiYgZS5tZXRhS2V5KSB8fCAvLyBBbGxvdzogQ21kK0MgKE1hYylcclxuICAgICAgICAoZS5rZXkgPT09ICd2JyAmJiBlLm1ldGFLZXkpIHx8IC8vIEFsbG93OiBDbWQrViAoTWFjKVxyXG4gICAgICAgIChlLmtleSA9PT0gJ3gnICYmIGUubWV0YUtleSkgfHwgLy8gQWxsb3c6IENtZCtYIChNYWMpXHJcbiAgICAgICAgKHRoaXMuZGVjaW1hbCAmJiBlLmtleSA9PT0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yICYmIHRoaXMuZGVjaW1hbENvdW50ZXIgPCAxKSB8fCAvLyBBbGxvdzogb25seSBvbmUgZGVjaW1hbCBwb2ludFxyXG4gICAgICAgICh0aGlzLmRlY2ltYWwgJiYgZS5rZXkgPT09IHRoaXMubWludXMgJiYgdGhpcy5taW51c0NvdW50ZXIgPCAxKSAvLyBBbGxvdzogb25seSBvbmUgbWludXNcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBFbnN1cmUgdGhhdCBpdCBpcyBhIG51bWJlciBhbmQgc3RvcCB0aGUga2V5cHJlc3NcclxuICAgICAgaWYgKGUua2V5ID09PSAnICcgfHwgIXRoaXMucmVnZXgudGVzdChlLmtleSkpIHtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleXVwJywgWyckZXZlbnQnXSlcclxuICBvbktleVVwKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGlnaXRzT25seSkge1xyXG4gICAgICBpZiAoIXRoaXMuZGVjaW1hbCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5kZWNpbWFsQ291bnRlciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZS5zcGxpdCh0aGlzLmRlY2ltYWxTZXBhcmF0b3IpLmxlbmd0aCAtIDE7XHJcbiAgICAgIHRoaXMubWludXNDb3VudGVyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlLnNwbGl0KHRoaXMubWludXMpLmxlbmd0aCAtIDE7XHJcblxyXG4gICAgICBpZiAoaXNOYU4oK3RoaXMuaW5wdXRFbGVtZW50LnZhbHVlKSkge1xyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gdGhpcy5zYW5pdGl6ZUlucHV0KHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigncGFzdGUnLCBbJyRldmVudCddKVxyXG4gIG9uUGFzdGUoZXZlbnQ6IENsaXBib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaWdpdHNPbmx5KSB7XHJcbiAgICAgIGNvbnN0IHBhc3RlZElucHV0ID0gZXZlbnQuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgndGV4dC9wbGFpbicpIGFzIHN0cmluZztcclxuICAgICAgdGhpcy5wYXN0ZURhdGEocGFzdGVkSW5wdXQpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlZ2V4ID0gbmV3IFJlZ0V4cCh0aGlzLmFsbG93SHlwaGVuID8gJ15bXFxcXGQgLV0rJCcgOiAnXFxcXGQnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFzdGVEYXRhKHBhc3RlZENvbnRlbnQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2FuaXRpemVkQ29udGVudCA9IGlzTmFOKCtwYXN0ZWRDb250ZW50KSA/IHRoaXMuc2FuaXRpemVJbnB1dChwYXN0ZWRDb250ZW50KSA6IHBhc3RlZENvbnRlbnQ7XHJcbiAgICBjb25zdCBwYXN0ZWQgPSBkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0VGV4dCcsIGZhbHNlLCBzYW5pdGl6ZWRDb250ZW50KTtcclxuICAgIGlmICghcGFzdGVkKSB7XHJcbiAgICAgIGNvbnN0IHsgc2VsZWN0aW9uU3RhcnQ6IHN0YXJ0LCBzZWxlY3Rpb25FbmQ6IGVuZCB9ID0gdGhpcy5pbnB1dEVsZW1lbnQ7XHJcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnNldFJhbmdlVGV4dChzYW5pdGl6ZWRDb250ZW50LCBzdGFydCBhcyBudW1iZXIsIGVuZCBhcyBudW1iZXIsICdlbmQnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2FuaXRpemVJbnB1dChpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCByZXN1bHQgPSAnJztcclxuICAgIGlmICh0aGlzLmRlY2ltYWwgJiYgdGhpcy5pc1ZhbGlkRGVjaW1hbChpbnB1dCkpIHtcclxuICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGBeW1xcZCAtJHt0aGlzLmRlY2ltYWxTZXBhcmF0b3J9XSskYCwgJ2cnKTtcclxuICAgICAgcmVzdWx0ID0gaW5wdXQucmVwbGFjZShyZWdleCwgJycpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmVzdWx0ID0gaW5wdXQucmVwbGFjZShgLyR7dGhpcy5yZWdleH0vZ2AsICcnKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtYXhMZW5ndGggPSB0aGlzLmlucHV0RWxlbWVudC5tYXhMZW5ndGg7XHJcblxyXG4gICAgaWYgKG1heExlbmd0aCA+IDApIHtcclxuICAgICAgLy8gdGhlIGlucHV0IGVsZW1lbnQgaGFzIG1heExlbmd0aCBsaW1pdFxyXG4gICAgICBjb25zdCBhbGxvd2VkTGVuZ3RoID0gbWF4TGVuZ3RoIC0gdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoO1xyXG4gICAgICByZXN1bHQgPSBhbGxvd2VkTGVuZ3RoID4gMCA/IHJlc3VsdC5zdWJzdHJpbmcoMCwgYWxsb3dlZExlbmd0aCkgOiAnJztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1ZhbGlkRGVjaW1hbChpbnB1dFN0cmluZzogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaW5wdXRTdHJpbmcuc3BsaXQodGhpcy5kZWNpbWFsU2VwYXJhdG9yIGFzIHN0cmluZykubGVuZ3RoIDw9IDI7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,58 +0,0 @@
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.1.7", ngImport: i0, type: NumberBorderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
43
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", 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.1.7", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJvcmRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS9kaXJlY3RpdmVzL251bWJlci1ib3JkZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0UsTUFBTSxPQUFPLHFCQUFxQjtJQU1iO0lBTFYsUUFBUSxDQUFTO0lBQ2pCLFFBQVEsQ0FBUztJQUUxQixZQUFZLENBQW1CO0lBRS9CLFlBQW1CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0lBR0QsT0FBTyxDQUFDLENBQUM7UUFDUCxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBRTlCLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUU3RCxPQUFPO1NBQ1I7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBRXZFLE9BQU87YUFDUjtTQUNGO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFO1lBQzVDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUV2RSxPQUFPO2FBQ1I7U0FDRjtJQUNILENBQUM7SUFFTyxhQUFhLENBQUMsS0FBYTtRQUNqQyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO1FBRTlDLElBQUksU0FBUyxHQUFHLENBQUMsRUFBRTtZQUNqQixNQUFNLGFBQWEsR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2pFLE1BQU0sR0FBRyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ3RFO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzt1R0FsRFUscUJBQXFCOzJGQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBSGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7aUdBRVUsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQVNOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2FwcE51bWJlckJvcmRlcl0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTnVtYmVyQm9yZGVyRGlyZWN0aXZlIHtcclxuICBASW5wdXQoKSBtYXhWYWx1ZTogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG1pblZhbHVlOiBudW1iZXI7XHJcblxyXG4gIGlucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmKSB7XHJcbiAgICB0aGlzLmlucHV0RWxlbWVudCA9IGVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXHJcbiAgb25LZXlVcChlKTogdm9pZCB7XHJcbiAgICBjb25zdCB2YWx1ZSA9ICtlLnRhcmdldC52YWx1ZTtcclxuXHJcbiAgICBpZiAoaXNOYU4odmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gdGhpcy5zYW5pdGl6ZUlucHV0KGUudGFyZ2V0LnZhbHVlKTtcclxuXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5tYXhWYWx1ZSkge1xyXG4gICAgICBpZiAodmFsdWUgPiB0aGlzLm1heFZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUgPSB0aGlzLnNhbml0aXplSW5wdXQodGhpcy5tYXhWYWx1ZS50b1N0cmluZygpKTtcclxuXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubWluVmFsdWUgJiYgdGhpcy5taW5WYWx1ZSAhPT0gdmFsdWUpIHtcclxuICAgICAgaWYgKHZhbHVlIDwgdGhpcy5taW5WYWx1ZSkge1xyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gdGhpcy5zYW5pdGl6ZUlucHV0KHRoaXMubWluVmFsdWUudG9TdHJpbmcoKSk7XHJcblxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzYW5pdGl6ZUlucHV0KGlucHV0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJlc3VsdCA9ICcnO1xyXG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGAvXFxkKy9nYCk7XHJcbiAgICByZXN1bHQgPSBpbnB1dC5yZXBsYWNlKHJlZ2V4LCAnJyk7XHJcblxyXG4gICAgY29uc3QgbWF4TGVuZ3RoID0gdGhpcy5pbnB1dEVsZW1lbnQubWF4TGVuZ3RoO1xyXG5cclxuICAgIGlmIChtYXhMZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IGFsbG93ZWRMZW5ndGggPSBtYXhMZW5ndGggLSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5sZW5ndGg7XHJcbiAgICAgIHJlc3VsdCA9IGFsbG93ZWRMZW5ndGggPiAwID8gcmVzdWx0LnN1YnN0cmluZygwLCBhbGxvd2VkTGVuZ3RoKSA6ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,105 +0,0 @@
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.1.7", ngImport: i0, type: ElementBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", 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.1.7", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvZWxlbWVudC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXZFLE1BQU0sQ0FBQyxPQUFPLE9BQU8sb0JBQW9CO0lBQzlCLElBQUksQ0FBUztJQUNiLElBQUksQ0FBUztJQUNiLEtBQUssQ0FBUztJQUNkLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDakIsZUFBZSxDQUFTO0lBQ3hCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsY0FBYyxHQUFHLElBQUksQ0FBQztJQUN0QiwwQkFBMEIsR0FBRyxLQUFLLENBQUM7SUFDbkMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO0lBQzlCLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDZixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDMUIsU0FBUyxDQUFVO0lBQ25CLE9BQU8sQ0FBVTtJQUNqQixZQUFZLEdBQVksSUFBSSxDQUFDO0lBRTVCLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2xDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRS9DLE9BQU8sQ0FBc0I7SUFDN0IsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUUxQixPQUFPO1FBQ0wsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLE1BQU07WUFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsMEJBQTBCO1lBQzNELHFCQUFxQixFQUFFLElBQUksQ0FBQyxxQkFBcUI7WUFDakQsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUN2QyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDaEMsQ0FBQztJQUNKLENBQUM7SUFFTyxVQUFVLEdBQUcsQ0FBQyxJQUFTLEVBQVcsRUFBRTtRQUMxQyxJQUFJLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDbkIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFxQixDQUFDLENBQUM7WUFDeEQsSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUN0QyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFFRCxJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3RCLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNuQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDMUIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO3dCQUMzQyxPQUFPLElBQUksQ0FBQztxQkFDYjtpQkFDRjthQUNGO1NBQ0Y7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQzt1R0FoRWlCLG9CQUFvQjsyRkFBcEIsb0JBQW9CLHFoQkFGN0IsRUFBRTs7MkZBRU8sb0JBQW9CO2tCQUh4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiOzhCQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJycsXHJcbn0pXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVsZW1lbnRCYXNlQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSB0eXBlITpzdHJpbmc7XHJcbiAgQElucHV0KCkgbmFtZSE6c3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsITpzdHJpbmc7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuICBASW5wdXQoKSB2YWxpZGF0aW9uTGFiZWwhOnN0cmluZztcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dWYWxpZGF0aW9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93VmFsaWRhdGlvbk9uTm90VG91Y2hlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhpZGVWYWxpZGF0aW9uTWVzc2FnZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGljb25DbGFzcyA9ICcnO1xyXG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93SGludDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG1heExlbmd0aCE6IG51bWJlcjtcclxuICBASW5wdXQoKSB0b29sdGlwITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNob3dBc3RlcmlzazogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBmb2N1c2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGZvY3VzT3V0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29udHJvbCE6IFVudHlwZWRGb3JtQ29udHJvbDtcclxuICByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBnZXREYXRhKCk6IGFueSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0eXBlOiB0aGlzLnR5cGUgfHwgJ3RleHQnLFxyXG4gICAgICBsYWJlbDogdGhpcy5sYWJlbCxcclxuICAgICAgcGxhY2Vob2xkZXI6IHRoaXMucGxhY2Vob2xkZXIsXHJcbiAgICAgIHZhbGlkYXRpb25MYWJlbDogdGhpcy52YWxpZGF0aW9uTGFiZWwsXHJcbiAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxyXG4gICAgICBzaG93VmFsaWRhdGlvbjogdGhpcy5zaG93VmFsaWRhdGlvbixcclxuICAgICAgc2hvd1ZhbGlkYXRpb25Pbk5vdFRvdWNoZWQ6IHRoaXMuc2hvd1ZhbGlkYXRpb25Pbk5vdFRvdWNoZWQsXHJcbiAgICAgIGhpZGVWYWxpZGF0aW9uTWVzc2FnZTogdGhpcy5oaWRlVmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIGljb25DbGFzczogdGhpcy5pY29uQ2xhc3MsXHJcbiAgICAgIGNvbnRyb2w6IHRoaXMuY29udHJvbCxcclxuICAgICAgbG9hZGluZzogdGhpcy5sb2FkaW5nLFxyXG4gICAgICBzaG93SGludDogdGhpcy5zaG93SGludCxcclxuICAgICAgbWF4TGVuZ3RoOiB0aGlzLm1heExlbmd0aCxcclxuICAgICAgdG9vbHRpcDogdGhpcy50b29sdGlwLFxyXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXHJcbiAgICAgIHJlcXVpcmVkOiB0aGlzLmlzUmVxdWlyZWQodGhpcy5jb250cm9sKSxcclxuICAgICAgc2hvd0FzdGVyaXNrOiB0aGlzLnNob3dBc3RlcmlzayxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzUmVxdWlyZWQgPSAoY3RybDogYW55KTogYm9vbGVhbiA9PiB7XHJcbiAgICBpZiAoY3RybD8udmFsaWRhdG9yKSB7XHJcbiAgICAgIGNvbnN0IHZhbGlkYXRvciA9IGN0cmwudmFsaWRhdG9yKHt9IGFzIEFic3RyYWN0Q29udHJvbCk7XHJcbiAgICAgIGlmICh2YWxpZGF0b3IgJiYgdmFsaWRhdG9yWydyZXF1aXJlZCddKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoY3RybD8uWydjb250cm9scyddKSB7XHJcbiAgICAgIGZvciAoY29uc3QgbmFtZSBpbiBjdHJsWydjb250cm9scyddKSB7XHJcbiAgICAgICAgaWYgKGN0cmxbJ2NvbnRyb2xzJ11bbmFtZV0pIHtcclxuICAgICAgICAgIGlmICh0aGlzLmlzUmVxdWlyZWQoY3RybFsnY29udHJvbHMnXVtuYW1lXSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH07XHJcbn1cclxuIl19
@@ -1,56 +0,0 @@
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.1.7", ngImport: i0, type: ElementWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", 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.1.7", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2VsZW1lbnQtd3JhcHBlci9lbGVtZW50LXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvZWxlbWVudC13cmFwcGVyL2VsZW1lbnQtd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQU12RSxNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLElBQUksQ0FBTTtJQUNWLGFBQWEsQ0FBVTtJQUN2QixXQUFXLENBQU07SUFDakIsWUFBWSxDQUFVO0lBQ3RCLE9BQU8sQ0FBTTtJQUNaLGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0MsS0FBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDaEMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbkMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFN0Msa0JBQWtCLENBQUMsS0FBUztRQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7dUdBekJVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLGtUQ05wQyxzdUNBOEJBOzsyRkR4QmEsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLHFCQUFxQjs4QkFJdEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1lbGVtZW50LXdyYXBwZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGVtZW50LXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWxlbWVudFdyYXBwZXJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGRhdGEhOmFueTtcclxuICBASW5wdXQoKSBzaG93Q2xvc2VJY29uITpib29sZWFuO1xyXG4gIEBJbnB1dCgpIGZvY3VzZWRGbGFnITphbnk7XHJcbiAgQElucHV0KCkgc2hvd1Bhc3N3b3JkITpib29sZWFuO1xyXG4gIEBJbnB1dCgpIGNvbnRyb2whOmFueTtcclxuICBAT3V0cHV0KCkgc2hvd0hpZGVQYXNzd29yZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBjbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBpbmNyZWFzZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBkZWNyZWFzZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBzaG93SGlkZVBhc3N3b3JkRm4oZXZlbnQ6YW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dIaWRlUGFzc3dvcmQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBjbGVhckZuKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbGVhci5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBpbmNyZWFzZUZuKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbmNyZWFzZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBkZWNyZWFzZUZuKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZWNyZWFzZS5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImZvcm0tZmllbGRcIlxyXG4gIFtuZ0NsYXNzXT1cIntcclxuICAgICdmb3JtLWZpZWxkLS1pbnZhbGlkJzpcclxuICAgICAgZGF0YT8uc2hvd1ZhbGlkYXRpb24gJiYgKGRhdGE/LmNvbnRyb2w/LnRvdWNoZWQgfHwgZGF0YT8uc2hvd1ZhbGlkYXRpb25Pbk5vdFRvdWNoZWQpICYmIGRhdGE/LmNvbnRyb2w/LmludmFsaWQsXHJcbiAgICBkaXNhYmxlZDogZGF0YT8uZGlzYWJsZWQsXHJcbiAgICAnZm9ybS1maWVsZC0tcmVxdWlyZWQnOiBkYXRhPy5yZXF1aXJlZCAmJiBkYXRhPy5zaG93QXN0ZXJpc2tcclxuICB9XCJcclxuPlxyXG4gIDxkaXY+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWZpZWxkX19sYWJlbFwiIFthdHRyLmZvcl09XCJkYXRhPy5uYW1lXCIgKm5nSWY9XCJkYXRhPy5sYWJlbFwiPlxyXG4gICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImRhdGE/LmxhYmVsXCI+PC9zcGFuPlxyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJpY29uXCIgKm5nSWY9XCJkYXRhPy50b29sdGlwXCIgW21hdFRvb2x0aXBdPVwiZGF0YT8udG9vbHRpcFwiPmVycm9yX291dGxpbmU8L21hdC1pY29uPlxyXG4gICAgPC9sYWJlbD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG5cclxuICA8ZWNhYnMtbG9hZGluZy1zcGlubmVyIGNsYXNzPVwic3Bpbm5lclwiIHNpemU9XCJ0aW55XCIgKm5nSWY9XCJkYXRhLmxvYWRpbmdcIj48L2VjYWJzLWxvYWRpbmctc3Bpbm5lcj5cclxuXHJcbiAgPGFwcC1oaW50IFtlbGVtZW50XT1cImRhdGE/LmNvbnRyb2xcIiBbc2hvd0hpbnRdPVwiZGF0YT8uc2hvd0hpbnRcIiBbbWF4VmFsdWVdPVwiZGF0YT8ubWF4TGVuZ3RoXCI+PC9hcHAtaGludD5cclxuXHJcbiAgPGFwcC12YWxpZGF0aW9ucy1tZXNzYWdlc1xyXG4gICAgKm5nSWY9XCJkYXRhPy5zaG93VmFsaWRhdGlvbiAmJiAhZGF0YT8uaGlkZVZhbGlkYXRpb25NZXNzYWdlXCJcclxuICAgIFtlbGVtZW50XT1cImRhdGE/LmNvbnRyb2xcIlxyXG4gICAgW2xhYmVsXT1cImRhdGE/LmxhYmVsID8gZGF0YT8ubGFiZWwgOiBkYXRhPy5wbGFjZWhvbGRlciA/IGRhdGEucGxhY2Vob2xkZXIgOiBkYXRhPy52YWxpZGF0aW9uTGFiZWxcIlxyXG4gICAgW3Nob3dWYWxpZGF0aW9uT25Ob3RUb3VjaGVkXT1cImRhdGE/LnNob3dWYWxpZGF0aW9uT25Ob3RUb3VjaGVkXCJcclxuICA+XHJcbiAgPC9hcHAtdmFsaWRhdGlvbnMtbWVzc2FnZXM+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,21 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class HintComponent {
5
- element;
6
- maxValue;
7
- showHint = false;
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: HintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: HintComponent, selector: "app-hint", inputs: { element: "element", maxValue: "maxValue", showHint: "showHint" }, ngImport: i0, template: "<div class=\"hint\" *ngIf=\"element && showHint\">{{ element?.value?.length || 0 }}/{{ this.maxValue }}</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: HintComponent, decorators: [{
12
- type: Component,
13
- args: [{ selector: 'app-hint', template: "<div class=\"hint\" *ngIf=\"element && showHint\">{{ element?.value?.length || 0 }}/{{ this.maxValue }}</div>\r\n" }]
14
- }], propDecorators: { element: [{
15
- type: Input
16
- }], maxValue: [{
17
- type: Input
18
- }], showHint: [{
19
- type: Input
20
- }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS9oaW50L2hpbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvaGludC9oaW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPakQsTUFBTSxPQUFPLGFBQWE7SUFDZixPQUFPLENBQU07SUFDYixRQUFRLENBQVM7SUFDakIsUUFBUSxHQUFHLEtBQUssQ0FBQzt1R0FIZixhQUFhOzJGQUFiLGFBQWEsNEhDUDFCLG1IQUNBOzsyRkRNYSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFVBQVU7OEJBS1gsT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWhpbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oaW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9oaW50LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaW50Q29tcG9uZW50IHtcclxuICBASW5wdXQoKSBlbGVtZW50ITphbnk7XHJcbiAgQElucHV0KCkgbWF4VmFsdWUhOm51bWJlcjtcclxuICBASW5wdXQoKSBzaG93SGludCA9IGZhbHNlO1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJoaW50XCIgKm5nSWY9XCJlbGVtZW50ICYmIHNob3dIaW50XCI+e3sgZWxlbWVudD8udmFsdWU/Lmxlbmd0aCB8fCAwIH19L3t7IHRoaXMubWF4VmFsdWUgfX08L2Rpdj5cclxuIl19
@@ -1,75 +0,0 @@
1
- import { Component, Input, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../services/ecabs-components.service";
4
- import * as i2 from "@angular/common";
5
- export class ValidationComponent {
6
- ecabsService;
7
- element;
8
- label;
9
- showValidationOnNotTouched = false;
10
- updatedErrors;
11
- config;
12
- _messages = {};
13
- get messages() {
14
- if (this.element) {
15
- for (const errorKey in this.element.errors) {
16
- for (const key in this.element.errors[errorKey]) {
17
- if (this._messages[errorKey]) {
18
- this._messages[errorKey] = this._messages[errorKey].replace(`[${key}]`, this.element.errors[errorKey][key]);
19
- }
20
- }
21
- }
22
- }
23
- return this._messages;
24
- }
25
- set messages(m) {
26
- this._messages = m;
27
- }
28
- constructor(ecabsService) {
29
- this.ecabsService = ecabsService;
30
- }
31
- ngOnInit() {
32
- this.config = this.ecabsService.getConfig();
33
- for (let error of this.config.errorMessages) {
34
- this.messages[error.type] = this.replaceTokens(error.message);
35
- }
36
- }
37
- ngOnChanges(changes) {
38
- const { updatedErrors } = changes;
39
- if (updatedErrors &&
40
- updatedErrors.currentValue &&
41
- updatedErrors.currentValue.length > 0) {
42
- for (const error of updatedErrors.currentValue) {
43
- this.messages[error.type] = error.message;
44
- }
45
- }
46
- }
47
- replaceTokens(message) {
48
- let retMessage;
49
- if (this.label) {
50
- retMessage = message.replace('[label]', this.label);
51
- }
52
- else {
53
- retMessage = message;
54
- }
55
- return retMessage;
56
- }
57
- getMessageDetail(key) {
58
- return this.messages[key];
59
- }
60
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ValidationComponent, deps: [{ token: i1.EcabsComponentsService }], target: i0.ɵɵFactoryTarget.Component });
61
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ValidationComponent, selector: "app-validations-messages", inputs: { element: "element", label: "label", showValidationOnNotTouched: "showValidationOnNotTouched", updatedErrors: "updatedErrors" }, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"form-field__validation\"\r\n *ngIf=\"element && (element?.touched || showValidationOnNotTouched) && element?.invalid\"\r\n>\r\n <div class=\"form-field__validation__item\" *ngFor=\"let item of element?.errors | keyvalue\">\r\n {{ getMessageDetail(item.key) }}\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }] });
62
- }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ValidationComponent, decorators: [{
64
- type: Component,
65
- args: [{ selector: 'app-validations-messages', template: "<div\r\n class=\"form-field__validation\"\r\n *ngIf=\"element && (element?.touched || showValidationOnNotTouched) && element?.invalid\"\r\n>\r\n <div class=\"form-field__validation__item\" *ngFor=\"let item of element?.errors | keyvalue\">\r\n {{ getMessageDetail(item.key) }}\r\n </div>\r\n</div>\r\n" }]
66
- }], ctorParameters: function () { return [{ type: i1.EcabsComponentsService }]; }, propDecorators: { element: [{
67
- type: Input
68
- }], label: [{
69
- type: Input
70
- }], showValidationOnNotTouched: [{
71
- type: Input
72
- }], updatedErrors: [{
73
- type: Input
74
- }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS92YWxpZGF0aW9uL3ZhbGlkYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvdmFsaWRhdGlvbi92YWxpZGF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDOzs7O0FBV3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUE2QlY7SUE1QlgsT0FBTyxDQUFPO0lBQ2QsS0FBSyxDQUFVO0lBQ2YsMEJBQTBCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLGFBQWEsQ0FBdUM7SUFDN0QsTUFBTSxDQUF5QjtJQUN2QixTQUFTLEdBQVEsRUFBRSxDQUFDO0lBRTVCLElBQUksUUFBUTtRQUNWLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUMxQyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUMvQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7d0JBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQ3pELElBQUksR0FBRyxHQUFHLEVBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQ25DLENBQUM7cUJBQ0g7aUJBQ0Y7YUFDRjtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxDQUFDO1FBQ1osSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQW9CLFlBQW9DO1FBQXBDLGlCQUFZLEdBQVosWUFBWSxDQUF3QjtJQUFHLENBQUM7SUFFNUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM1QyxLQUFLLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFO1lBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQy9EO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRWxDLElBQ0UsYUFBYTtZQUNiLGFBQWEsQ0FBQyxZQUFZO1lBQzFCLGFBQWEsQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDckM7WUFDQSxLQUFLLE1BQU0sS0FBSyxJQUFJLGFBQWEsQ0FBQyxZQUFZLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7YUFDM0M7U0FDRjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZTtRQUMzQixJQUFJLFVBQWtCLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsVUFBVSxHQUFHLE9BQU8sQ0FBQztTQUN0QjtRQUVELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUFRO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO3VHQWpFVSxtQkFBbUI7MkZBQW5CLG1CQUFtQiwrTkNqQmhDLHNUQVFBOzsyRkRTYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsMEJBQTBCOzZHQUszQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEVjYWJzQ29tcG9uZW50c0NvbmZpZyxcclxuICBFY2Fic0NvbXBvbmVudHNTZXJ2aWNlLFxyXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VjYWJzLWNvbXBvbmVudHMuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC12YWxpZGF0aW9ucy1tZXNzYWdlcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ZhbGlkYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3ZhbGlkYXRpb24uY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgZWxlbWVudCE6IGFueTtcclxuICBASW5wdXQoKSBsYWJlbCE6IHN0cmluZztcclxuICBASW5wdXQoKSBzaG93VmFsaWRhdGlvbk9uTm90VG91Y2hlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHVwZGF0ZWRFcnJvcnMhOiB7IHR5cGU6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH1bXTtcclxuICBjb25maWchOiBFY2Fic0NvbXBvbmVudHNDb25maWc7XHJcbiAgcHJpdmF0ZSBfbWVzc2FnZXM6IGFueSA9IHt9O1xyXG5cclxuICBnZXQgbWVzc2FnZXMoKTogYW55IHtcclxuICAgIGlmICh0aGlzLmVsZW1lbnQpIHtcclxuICAgICAgZm9yIChjb25zdCBlcnJvcktleSBpbiB0aGlzLmVsZW1lbnQuZXJyb3JzKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5lbGVtZW50LmVycm9yc1tlcnJvcktleV0pIHtcclxuICAgICAgICAgIGlmICh0aGlzLl9tZXNzYWdlc1tlcnJvcktleV0pIHtcclxuICAgICAgICAgICAgdGhpcy5fbWVzc2FnZXNbZXJyb3JLZXldID0gdGhpcy5fbWVzc2FnZXNbZXJyb3JLZXldLnJlcGxhY2UoXHJcbiAgICAgICAgICAgICAgYFske2tleX1dYCxcclxuICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuZXJyb3JzW2Vycm9yS2V5XVtrZXldXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2VzO1xyXG4gIH1cclxuXHJcbiAgc2V0IG1lc3NhZ2VzKG0pIHtcclxuICAgIHRoaXMuX21lc3NhZ2VzID0gbTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWNhYnNTZXJ2aWNlOiBFY2Fic0NvbXBvbmVudHNTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY29uZmlnID0gdGhpcy5lY2Fic1NlcnZpY2UuZ2V0Q29uZmlnKCk7XHJcbiAgICBmb3IgKGxldCBlcnJvciBvZiB0aGlzLmNvbmZpZy5lcnJvck1lc3NhZ2VzKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZXNbZXJyb3IudHlwZV0gPSB0aGlzLnJlcGxhY2VUb2tlbnMoZXJyb3IubWVzc2FnZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IHVwZGF0ZWRFcnJvcnMgfSA9IGNoYW5nZXM7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICB1cGRhdGVkRXJyb3JzICYmXHJcbiAgICAgIHVwZGF0ZWRFcnJvcnMuY3VycmVudFZhbHVlICYmXHJcbiAgICAgIHVwZGF0ZWRFcnJvcnMuY3VycmVudFZhbHVlLmxlbmd0aCA+IDBcclxuICAgICkge1xyXG4gICAgICBmb3IgKGNvbnN0IGVycm9yIG9mIHVwZGF0ZWRFcnJvcnMuY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlc1tlcnJvci50eXBlXSA9IGVycm9yLm1lc3NhZ2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlcGxhY2VUb2tlbnMobWVzc2FnZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCByZXRNZXNzYWdlOiBzdHJpbmc7XHJcbiAgICBpZiAodGhpcy5sYWJlbCkge1xyXG4gICAgICByZXRNZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKCdbbGFiZWxdJywgdGhpcy5sYWJlbCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXRNZXNzYWdlID0gbWVzc2FnZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmV0TWVzc2FnZTtcclxuICB9XHJcblxyXG4gIGdldE1lc3NhZ2VEZXRhaWwoa2V5OiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZXNba2V5XTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiZm9ybS1maWVsZF9fdmFsaWRhdGlvblwiXHJcbiAgKm5nSWY9XCJlbGVtZW50ICYmIChlbGVtZW50Py50b3VjaGVkIHx8IHNob3dWYWxpZGF0aW9uT25Ob3RUb3VjaGVkKSAmJiBlbGVtZW50Py5pbnZhbGlkXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX192YWxpZGF0aW9uX19pdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZWxlbWVudD8uZXJyb3JzIHwga2V5dmFsdWVcIj5cclxuICAgIHt7IGdldE1lc3NhZ2VEZXRhaWwoaXRlbS5rZXkpIH19XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,17 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/icon";
5
- import * as i3 from "@angular/router";
6
- export class EcabsBreadcrumbComponent {
7
- breadCrumb;
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: EcabsBreadcrumbComponent, selector: "ecabs-breadcrumb", inputs: { breadCrumb: "breadCrumb" }, ngImport: i0, template: "<ul class=\"flex text-gray-500 text-sm\">\r\n <li\r\n *ngFor=\"let item of breadCrumb; let counter = index\"\r\n [routerLink]=\"item.url\"\r\n [ngClass]=\"{ 'cursor-pointer': item.url }\"\r\n class=\"flex\"\r\n >\r\n <mat-icon class=\"!text-sm text-center text-gray-400\" *ngIf=\"counter !== 0\">keyboard_arrow_right</mat-icon>\r\n <span>{{ item.title }}</span>\r\n </li>\r\n</ul>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsBreadcrumbComponent, decorators: [{
12
- type: Component,
13
- args: [{ selector: 'ecabs-breadcrumb', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ul class=\"flex text-gray-500 text-sm\">\r\n <li\r\n *ngFor=\"let item of breadCrumb; let counter = index\"\r\n [routerLink]=\"item.url\"\r\n [ngClass]=\"{ 'cursor-pointer': item.url }\"\r\n class=\"flex\"\r\n >\r\n <mat-icon class=\"!text-sm text-center text-gray-400\" *ngIf=\"counter !== 0\">keyboard_arrow_right</mat-icon>\r\n <span>{{ item.title }}</span>\r\n </li>\r\n</ul>\r\n" }]
14
- }], propDecorators: { breadCrumb: [{
15
- type: Input
16
- }] } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtYnJlYWRjcnVtYi9lY2Ficy1icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1icmVhZGNydW1iL2VjYWJzLWJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUzFFLE1BQU0sT0FBTyx3QkFBd0I7SUFDMUIsVUFBVSxDQUFlO3VHQUR2Qix3QkFBd0I7MkZBQXhCLHdCQUF3Qiw4RkNUckMsdVpBV0E7OzJGREZhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJyZWFkQ3J1bWIgfSBmcm9tICcuLi9tb2RlbHMvYnJlYWQtY3J1bWInO1xyXG5cclxuQENvbXBvbmVudCgge1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtYnJlYWRjcnVtYicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyAnLi9lY2Ficy1icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzJyBdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59IClcclxuZXhwb3J0IGNsYXNzIEVjYWJzQnJlYWRjcnVtYkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgYnJlYWRDcnVtYjogQnJlYWRDcnVtYltdO1xyXG59XHJcbiIsIjx1bCBjbGFzcz1cImZsZXggdGV4dC1ncmF5LTUwMCB0ZXh0LXNtXCI+XHJcbiAgPGxpXHJcbiAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBicmVhZENydW1iOyBsZXQgY291bnRlciA9IGluZGV4XCJcclxuICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0udXJsXCJcclxuICAgIFtuZ0NsYXNzXT1cInsgJ2N1cnNvci1wb2ludGVyJzogaXRlbS51cmwgfVwiXHJcbiAgICBjbGFzcz1cImZsZXhcIlxyXG4gID5cclxuICAgIDxtYXQtaWNvbiBjbGFzcz1cIiF0ZXh0LXNtIHRleHQtY2VudGVyIHRleHQtZ3JheS00MDBcIiAqbmdJZj1cImNvdW50ZXIgIT09IDBcIj5rZXlib2FyZF9hcnJvd19yaWdodDwvbWF0LWljb24+XHJcbiAgICA8c3Bhbj57eyBpdGVtLnRpdGxlIH19PC9zcGFuPlxyXG4gIDwvbGk+XHJcbjwvdWw+XHJcbiJdfQ==
@@ -1,67 +0,0 @@
1
- import { Component, HostBinding, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/button";
5
- import * as i3 from "../ecabs-loading/spinner/spinner.component";
6
- export class ButtonsComponent {
7
- label;
8
- disabled;
9
- loading;
10
- form;
11
- size = 'default';
12
- type = 'button';
13
- raised = false;
14
- stroked = false;
15
- full = false;
16
- color = 'primary';
17
- borderWidth = '';
18
- classAttr = '';
19
- ngOnInit() {
20
- if (this.full) {
21
- this.borderWidth = '100%';
22
- }
23
- }
24
- ngOnChanges(changes) {
25
- const disabled = changes['disabled']?.currentValue !== undefined ? changes['disabled'].currentValue : this.disabled;
26
- const loading = changes['loading']?.currentValue !== undefined ? changes['loading'].currentValue : this.loading;
27
- if (disabled || loading) {
28
- this.classAttr = 'pointer-events-none';
29
- }
30
- else {
31
- this.classAttr = '';
32
- }
33
- }
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ButtonsComponent, selector: "ecabs-buttons", inputs: { label: "label", disabled: "disabled", loading: "loading", form: "form", size: "size", type: "type", raised: "raised", stroked: "stroked", full: "full", color: "color" }, host: { properties: { "style.width": "this.borderWidth", "class": "this.classAttr" } }, usesOnChanges: true, ngImport: i0, template: "<button\r\n mat-button\r\n [ngClass]=\"{\r\n 'w-full': full,\r\n 'mat-stroked-button': stroked,\r\n 'mat-raised-button': raised\r\n }\"\r\n [color]=\"color\"\r\n [disabled]=\"disabled\"\r\n [type]=\"type\"\r\n [attr.form]=\"form\"\r\n>\r\n <ecabs-loading-spinner size=\"tiny\" *ngIf=\"loading\"></ecabs-loading-spinner>\r\n <ng-container *ngIf=\"!loading\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content></ng-content>\r\n </ng-container>\r\n</button>\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.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: ["size"] }] });
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ButtonsComponent, decorators: [{
38
- type: Component,
39
- args: [{ selector: 'ecabs-buttons', template: "<button\r\n mat-button\r\n [ngClass]=\"{\r\n 'w-full': full,\r\n 'mat-stroked-button': stroked,\r\n 'mat-raised-button': raised\r\n }\"\r\n [color]=\"color\"\r\n [disabled]=\"disabled\"\r\n [type]=\"type\"\r\n [attr.form]=\"form\"\r\n>\r\n <ecabs-loading-spinner size=\"tiny\" *ngIf=\"loading\"></ecabs-loading-spinner>\r\n <ng-container *ngIf=\"!loading\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content></ng-content>\r\n </ng-container>\r\n</button>\r\n" }]
40
- }], propDecorators: { label: [{
41
- type: Input
42
- }], disabled: [{
43
- type: Input
44
- }], loading: [{
45
- type: Input
46
- }], form: [{
47
- type: Input
48
- }], size: [{
49
- type: Input
50
- }], type: [{
51
- type: Input
52
- }], raised: [{
53
- type: Input
54
- }], stroked: [{
55
- type: Input
56
- }], full: [{
57
- type: Input
58
- }], color: [{
59
- type: Input
60
- }], borderWidth: [{
61
- type: HostBinding,
62
- args: ['style.width']
63
- }], classAttr: [{
64
- type: HostBinding,
65
- args: ['class']
66
- }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtYnV0dG9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtYnV0dG9ucy9lY2Ficy1idXR0b25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1idXR0b25zL2VjYWJzLWJ1dHRvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPaEcsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixLQUFLLENBQVU7SUFHZixRQUFRLENBQVc7SUFHbkIsT0FBTyxDQUFXO0lBR2xCLElBQUksQ0FBVTtJQUdkLElBQUksR0FBd0IsU0FBUyxDQUFDO0lBR3RDLElBQUksR0FBd0IsUUFBUSxDQUFDO0lBRTVCLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDZixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLElBQUksR0FBRyxLQUFLLENBQUM7SUFFdEIsS0FBSyxHQUE2QixTQUFTLENBQUM7SUFHNUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUVqQixTQUFTLEdBQUcsRUFBRSxDQUFDO0lBRWYsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsWUFBWSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNwSCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsWUFBWSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUVoSCxJQUFJLFFBQVEsSUFBSSxPQUFPLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQztTQUN4QzthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDO3VHQTdDVSxnQkFBZ0I7MkZBQWhCLGdCQUFnQixzVkNQN0IscWZBa0JBOzsyRkRYYSxnQkFBZ0I7a0JBSjVCLFNBQVM7K0JBQ0UsZUFBZTs4QkFLekIsS0FBSztzQkFESixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRU4sS0FBSztzQkFESixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsV0FBVzt1QkFBQyxhQUFhO2dCQUcxQixTQUFTO3NCQURSLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtYnV0dG9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWJ1dHRvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnV0dG9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKVxyXG4gIGxhYmVsITogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkITogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBsb2FkaW5nITogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBmb3JtITogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNpemU6ICdkZWZhdWx0JyB8ICdsYXJnZScgPSAnZGVmYXVsdCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyA9ICdidXR0b24nO1xyXG5cclxuICBASW5wdXQoKSByYWlzZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzdHJva2VkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZnVsbCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgY29sb3I6IFRoZW1lUGFsZXR0ZSB8ICdzdWNjZXNzJyA9ICdwcmltYXJ5JztcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpXHJcbiAgYm9yZGVyV2lkdGggPSAnJztcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBjbGFzc0F0dHIgPSAnJztcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5mdWxsKSB7XHJcbiAgICAgIHRoaXMuYm9yZGVyV2lkdGggPSAnMTAwJSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCBkaXNhYmxlZCA9IGNoYW5nZXNbJ2Rpc2FibGVkJ10/LmN1cnJlbnRWYWx1ZSAhPT0gdW5kZWZpbmVkID8gY2hhbmdlc1snZGlzYWJsZWQnXS5jdXJyZW50VmFsdWUgOiB0aGlzLmRpc2FibGVkO1xyXG4gICAgY29uc3QgbG9hZGluZyA9IGNoYW5nZXNbJ2xvYWRpbmcnXT8uY3VycmVudFZhbHVlICE9PSB1bmRlZmluZWQgPyBjaGFuZ2VzWydsb2FkaW5nJ10uY3VycmVudFZhbHVlIDogdGhpcy5sb2FkaW5nO1xyXG5cclxuICAgIGlmIChkaXNhYmxlZCB8fCBsb2FkaW5nKSB7XHJcbiAgICAgIHRoaXMuY2xhc3NBdHRyID0gJ3BvaW50ZXItZXZlbnRzLW5vbmUnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbGFzc0F0dHIgPSAnJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvblxyXG4gIG1hdC1idXR0b25cclxuICBbbmdDbGFzc109XCJ7XHJcbiAgICAndy1mdWxsJzogZnVsbCxcclxuICAgICdtYXQtc3Ryb2tlZC1idXR0b24nOiBzdHJva2VkLFxyXG4gICAgJ21hdC1yYWlzZWQtYnV0dG9uJzogcmFpc2VkXHJcbiAgfVwiXHJcbiAgW2NvbG9yXT1cImNvbG9yXCJcclxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gIFt0eXBlXT1cInR5cGVcIlxyXG4gIFthdHRyLmZvcm1dPVwiZm9ybVwiXHJcbj5cclxuICA8ZWNhYnMtbG9hZGluZy1zcGlubmVyIHNpemU9XCJ0aW55XCIgKm5nSWY9XCJsb2FkaW5nXCI+PC9lY2Ficy1sb2FkaW5nLXNwaW5uZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nXCI+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtYXQtaWNvblwiPjwvbmctY29udGVudD5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9idXR0b24+XHJcbiJdfQ==