ngx-sumax-erp-components 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/README.md +24 -0
  2. package/esm2022/lib/date-picker/CustomDatePickerFormat.mjs +43 -0
  3. package/esm2022/lib/date-picker/CustomDatePickerI18n.mjs +50 -0
  4. package/esm2022/lib/date-picker/date-picker.component.mjs +366 -0
  5. package/esm2022/lib/date-picker/date-picker.mjs +3 -0
  6. package/esm2022/lib/date-picker/date-picker.module.mjs +69 -0
  7. package/esm2022/lib/date-picker/date-picker.service.mjs +68 -0
  8. package/esm2022/lib/date-time-picker/date-time-picker.component.mjs +311 -0
  9. package/esm2022/lib/date-time-picker/date-time-picker.mjs +3 -0
  10. package/esm2022/lib/date-time-picker/date-time-picker.module.mjs +76 -0
  11. package/esm2022/lib/date-time-picker/date-time-picker.service.mjs +64 -0
  12. package/esm2022/lib/date-time-picker-editable/date-time-picker-editable.component.mjs +1140 -0
  13. package/esm2022/lib/date-time-picker-editable/date-time-picker-editable.module.mjs +93 -0
  14. package/esm2022/lib/date-time-picker-editable/date-time-picker-editable.service.mjs +85 -0
  15. package/esm2022/lib/dialog-ag-grid-search/dialog-ag-grid-search.component.mjs +283 -0
  16. package/esm2022/lib/dialog-ag-grid-search/dialog-ag-grid-search.module.mjs +23 -0
  17. package/esm2022/lib/error-message/error-message.component.mjs +24 -0
  18. package/esm2022/lib/error-message/error-message.module.mjs +19 -0
  19. package/esm2022/lib/input-number/input-number.component.mjs +351 -0
  20. package/esm2022/lib/input-number/input-number.mjs +3 -0
  21. package/esm2022/lib/input-number/input-number.module.mjs +65 -0
  22. package/esm2022/lib/input-number/input-number.service.mjs +68 -0
  23. package/esm2022/lib/input-text/input-text.component.mjs +345 -0
  24. package/esm2022/lib/input-text/input-text.mjs +3 -0
  25. package/esm2022/lib/input-text/input-text.module.mjs +73 -0
  26. package/esm2022/lib/input-text/input-text.service.mjs +96 -0
  27. package/esm2022/lib/ng-select-multiple/ng-select-multiple.component.mjs +375 -0
  28. package/esm2022/lib/ng-select-multiple/ng-select-multiple.mjs +3 -0
  29. package/esm2022/lib/ng-select-multiple/ng-select-multiple.module.mjs +69 -0
  30. package/esm2022/lib/ng-select-multiple/ng-select-multiple.service.mjs +96 -0
  31. package/esm2022/lib/ng-select-simple/ng-select-simple.component.mjs +461 -0
  32. package/esm2022/lib/ng-select-simple/ng-select-simple.mjs +3 -0
  33. package/esm2022/lib/ng-select-simple/ng-select-simple.module.mjs +53 -0
  34. package/esm2022/lib/ng-select-simple/ng-select-simple.service.mjs +138 -0
  35. package/esm2022/lib/sc-ag-grid/cell-editors/container-shared/container-shared.component.mjs +144 -0
  36. package/esm2022/lib/sc-ag-grid/cell-render/no-rows-overlay/noRowsOverlayCustom.component.mjs +27 -0
  37. package/esm2022/lib/sc-ag-grid/cell-render/no-rows-overlay/noRowsOverlayDefault.component.mjs +22 -0
  38. package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-button/sc-cell-render-button.component.mjs +242 -0
  39. package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-checkbox-list/sc-cell-render-checkbox-list.component.mjs +62 -0
  40. package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-config.mjs +27 -0
  41. package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-select/sc-cell-render-select.component.mjs +70 -0
  42. package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-toggle/sc-cell-render-toggle.component.mjs +45 -0
  43. package/esm2022/lib/sc-ag-grid/directives/scAgGrid.directive.mjs +25 -0
  44. package/esm2022/lib/sc-ag-grid/index.mjs +14 -0
  45. package/esm2022/lib/sc-ag-grid/input-search/input-search.component.mjs +20 -0
  46. package/esm2022/lib/sc-ag-grid/input-search/input-search.module.mjs +31 -0
  47. package/esm2022/lib/sc-ag-grid/sc-ag-grid-customizable/sc-ag-grid-customizable.component.mjs +564 -0
  48. package/esm2022/lib/sc-ag-grid/sc-ag-grid-pagination/sc-ag-grid-pagination.component.mjs +80 -0
  49. package/esm2022/lib/sc-ag-grid/sc-ag-grid-pagination/sc-ag-grid-pagination.module.mjs +31 -0
  50. package/esm2022/lib/sc-ag-grid/sc-ag-grid.module.mjs +118 -0
  51. package/esm2022/lib/sc-ag-grid/sc-grid.uitl.mjs +10 -0
  52. package/esm2022/lib/sc-wizard/sc-wizard.component.mjs +75 -0
  53. package/esm2022/lib/sc-wizard/sc-wizard.module.mjs +44 -0
  54. package/esm2022/lib/text-area/text-area.component.mjs +272 -0
  55. package/esm2022/lib/text-area/text-area.mjs +3 -0
  56. package/esm2022/lib/text-area/text-area.module.mjs +60 -0
  57. package/esm2022/lib/text-area/text-area.service.mjs +54 -0
  58. package/esm2022/lib/tooltip-message/tooltip-message.component.mjs +25 -0
  59. package/esm2022/lib/tooltip-message/tooltip-message.module.mjs +21 -0
  60. package/esm2022/lib/utils/DateTimeModel.mjs +56 -0
  61. package/esm2022/lib/utils/DateTimePickerEditable.mjs +3 -0
  62. package/esm2022/lib/utils/DateUtil.mjs +196 -0
  63. package/esm2022/lib/utils/INgSelect.mjs +2 -0
  64. package/esm2022/lib/utils/IScAgGrid.mjs +7 -0
  65. package/esm2022/lib/utils/ScWizardBase.mjs +14 -0
  66. package/esm2022/lib/utils/SharedComponentsUtil.mjs +38 -0
  67. package/esm2022/lib/utils/ValidateUtil.mjs +18 -0
  68. package/esm2022/lib/utils/message-util.service.mjs +75 -0
  69. package/esm2022/ngx-sumax-erp-components.mjs +5 -0
  70. package/esm2022/public-api.mjs +33 -0
  71. package/fesm2022/ngx-sumax-erp-components.mjs +7045 -0
  72. package/fesm2022/ngx-sumax-erp-components.mjs.map +1 -0
  73. package/index.d.ts +5 -0
  74. package/lib/date-picker/CustomDatePickerFormat.d.ts +11 -0
  75. package/lib/date-picker/CustomDatePickerI18n.d.ts +25 -0
  76. package/lib/date-picker/date-picker.component.d.ts +108 -0
  77. package/lib/date-picker/date-picker.d.ts +10 -0
  78. package/lib/date-picker/date-picker.module.d.ts +18 -0
  79. package/lib/date-picker/date-picker.service.d.ts +22 -0
  80. package/lib/date-time-picker/date-time-picker.component.d.ts +96 -0
  81. package/lib/date-time-picker/date-time-picker.d.ts +9 -0
  82. package/lib/date-time-picker/date-time-picker.module.d.ts +18 -0
  83. package/lib/date-time-picker/date-time-picker.service.d.ts +20 -0
  84. package/lib/date-time-picker-editable/date-time-picker-editable.component.d.ts +118 -0
  85. package/lib/date-time-picker-editable/date-time-picker-editable.module.d.ts +16 -0
  86. package/lib/date-time-picker-editable/date-time-picker-editable.service.d.ts +27 -0
  87. package/lib/dialog-ag-grid-search/dialog-ag-grid-search.component.d.ts +82 -0
  88. package/lib/dialog-ag-grid-search/dialog-ag-grid-search.module.d.ts +13 -0
  89. package/lib/error-message/error-message.component.d.ts +13 -0
  90. package/lib/error-message/error-message.module.d.ts +9 -0
  91. package/lib/input-number/input-number.component.d.ts +74 -0
  92. package/lib/input-number/input-number.d.ts +10 -0
  93. package/lib/input-number/input-number.module.d.ts +17 -0
  94. package/lib/input-number/input-number.service.d.ts +22 -0
  95. package/lib/input-text/input-text.component.d.ts +85 -0
  96. package/lib/input-text/input-text.d.ts +17 -0
  97. package/lib/input-text/input-text.module.d.ts +18 -0
  98. package/lib/input-text/input-text.service.d.ts +35 -0
  99. package/lib/ng-select-multiple/ng-select-multiple.component.d.ts +83 -0
  100. package/lib/ng-select-multiple/ng-select-multiple.d.ts +14 -0
  101. package/lib/ng-select-multiple/ng-select-multiple.module.d.ts +17 -0
  102. package/lib/ng-select-multiple/ng-select-multiple.service.d.ts +30 -0
  103. package/lib/ng-select-simple/ng-select-simple.component.d.ts +124 -0
  104. package/lib/ng-select-simple/ng-select-simple.d.ts +20 -0
  105. package/lib/ng-select-simple/ng-select-simple.module.d.ts +17 -0
  106. package/lib/ng-select-simple/ng-select-simple.service.d.ts +42 -0
  107. package/lib/sc-ag-grid/cell-editors/container-shared/container-shared.component.d.ts +61 -0
  108. package/lib/sc-ag-grid/cell-render/no-rows-overlay/noRowsOverlayCustom.component.d.ts +10 -0
  109. package/lib/sc-ag-grid/cell-render/no-rows-overlay/noRowsOverlayDefault.component.d.ts +9 -0
  110. package/lib/sc-ag-grid/cell-render/sc-cell-render-button/sc-cell-render-button.component.d.ts +49 -0
  111. package/lib/sc-ag-grid/cell-render/sc-cell-render-checkbox-list/sc-cell-render-checkbox-list.component.d.ts +11 -0
  112. package/lib/sc-ag-grid/cell-render/sc-cell-render-config.d.ts +20 -0
  113. package/lib/sc-ag-grid/cell-render/sc-cell-render-select/sc-cell-render-select.component.d.ts +16 -0
  114. package/lib/sc-ag-grid/cell-render/sc-cell-render-toggle/sc-cell-render-toggle.component.d.ts +16 -0
  115. package/lib/sc-ag-grid/directives/scAgGrid.directive.d.ts +10 -0
  116. package/lib/sc-ag-grid/index.d.ts +13 -0
  117. package/lib/sc-ag-grid/input-search/input-search.component.d.ts +11 -0
  118. package/lib/sc-ag-grid/input-search/input-search.module.d.ts +9 -0
  119. package/lib/sc-ag-grid/sc-ag-grid-customizable/sc-ag-grid-customizable.component.d.ts +191 -0
  120. package/lib/sc-ag-grid/sc-ag-grid-pagination/sc-ag-grid-pagination.component.d.ts +25 -0
  121. package/lib/sc-ag-grid/sc-ag-grid-pagination/sc-ag-grid-pagination.module.d.ts +9 -0
  122. package/lib/sc-ag-grid/sc-ag-grid.module.d.ts +32 -0
  123. package/lib/sc-ag-grid/sc-grid.uitl.d.ts +5 -0
  124. package/lib/sc-wizard/sc-wizard.component.d.ts +38 -0
  125. package/lib/sc-wizard/sc-wizard.module.d.ts +13 -0
  126. package/lib/text-area/text-area.component.d.ts +66 -0
  127. package/lib/text-area/text-area.d.ts +8 -0
  128. package/lib/text-area/text-area.module.d.ts +16 -0
  129. package/lib/text-area/text-area.service.d.ts +18 -0
  130. package/lib/tooltip-message/tooltip-message.component.d.ts +13 -0
  131. package/lib/tooltip-message/tooltip-message.module.d.ts +11 -0
  132. package/lib/utils/DateTimeModel.d.ts +16 -0
  133. package/lib/utils/DateTimePickerEditable.d.ts +13 -0
  134. package/lib/utils/DateUtil.d.ts +37 -0
  135. package/lib/utils/INgSelect.d.ts +6 -0
  136. package/lib/utils/IScAgGrid.d.ts +65 -0
  137. package/lib/utils/ScWizardBase.d.ts +9 -0
  138. package/lib/utils/SharedComponentsUtil.d.ts +6 -0
  139. package/lib/utils/ValidateUtil.d.ts +4 -0
  140. package/lib/utils/message-util.service.d.ts +10 -0
  141. package/package.json +32 -0
  142. package/public-api.d.ts +29 -0
@@ -0,0 +1,68 @@
1
+ import { Inject, Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class InputNumberService {
4
+ constructor(decimals = -1, formatCero = false, btnEnable = false, bold = false, validatorMessage = false, tooltipMessage = true, submitted = true, validatorAlert = false) {
5
+ this.decimals = decimals;
6
+ this.formatCero = formatCero;
7
+ this.btnEnable = btnEnable;
8
+ this.bold = bold;
9
+ this.validatorMessage = validatorMessage;
10
+ this.tooltipMessage = tooltipMessage;
11
+ this.submitted = submitted;
12
+ this.validatorAlert = validatorAlert;
13
+ }
14
+ getDecimals() {
15
+ return this.decimals;
16
+ }
17
+ getFormatCero() {
18
+ return this.formatCero;
19
+ }
20
+ getBtnEnable() {
21
+ return this.btnEnable;
22
+ }
23
+ getBold() {
24
+ return this.bold;
25
+ }
26
+ getValidatorMessage() {
27
+ return this.validatorMessage;
28
+ }
29
+ getTooltipMessage() {
30
+ return this.tooltipMessage;
31
+ }
32
+ getSubmitted() {
33
+ return this.submitted;
34
+ }
35
+ getValidatorAlert() {
36
+ return this.validatorAlert;
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputNumberService, deps: [{ token: "INPUT_NUMBER_DECIMALS" }, { token: "INPUT_NUMBER_FORMAT_CERO" }, { token: "INPUT_NUMBER_BTN_ENABLE" }, { token: "INPUT_NUMBER_BOLD" }, { token: "INPUT_NUMBER_VALIDATOR_MESSAGE" }, { token: "INPUT_NUMBER_TOOLTIP_MESSAGE" }, { token: "INPUT_NUMBER_SUBMITTED" }, { token: "INPUT_NUMBER_VALIDATOR_ALERT" }], target: i0.ɵɵFactoryTarget.Injectable }); }
39
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputNumberService }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputNumberService, decorators: [{
42
+ type: Injectable
43
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
44
+ type: Inject,
45
+ args: ["INPUT_NUMBER_DECIMALS"]
46
+ }] }, { type: undefined, decorators: [{
47
+ type: Inject,
48
+ args: ["INPUT_NUMBER_FORMAT_CERO"]
49
+ }] }, { type: undefined, decorators: [{
50
+ type: Inject,
51
+ args: ["INPUT_NUMBER_BTN_ENABLE"]
52
+ }] }, { type: undefined, decorators: [{
53
+ type: Inject,
54
+ args: ["INPUT_NUMBER_BOLD"]
55
+ }] }, { type: undefined, decorators: [{
56
+ type: Inject,
57
+ args: ["INPUT_NUMBER_VALIDATOR_MESSAGE"]
58
+ }] }, { type: undefined, decorators: [{
59
+ type: Inject,
60
+ args: ["INPUT_NUMBER_TOOLTIP_MESSAGE"]
61
+ }] }, { type: undefined, decorators: [{
62
+ type: Inject,
63
+ args: ["INPUT_NUMBER_SUBMITTED"]
64
+ }] }, { type: undefined, decorators: [{
65
+ type: Inject,
66
+ args: ["INPUT_NUMBER_VALIDATOR_ALERT"]
67
+ }] }] });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHbkQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUMyQyxXQUFtQixDQUFDLENBQUMsRUFDbEIsYUFBc0IsS0FBSyxFQUM1QixZQUFxQixLQUFLLEVBQ2hDLE9BQWdCLEtBQUssRUFDUixtQkFBNEIsS0FBSyxFQUNuQyxpQkFBMEIsSUFBSSxFQUNwQyxZQUFxQixJQUFJLEVBQ25CLGlCQUEwQixLQUFLO1FBUHRDLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDbEIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDaEMsU0FBSSxHQUFKLElBQUksQ0FBaUI7UUFDUixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBQ25DLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUNwQyxjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUNuQixtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7SUFDOUUsQ0FBQztJQUVHLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDTSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQ00sWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNNLE9BQU87UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNNLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBQ00saUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBQ00sWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQzsrR0FuQ1Usa0JBQWtCLGtCQUVuQix1QkFBdUIsYUFDdkIsMEJBQTBCLGFBQzFCLHlCQUF5QixhQUN6QixtQkFBbUIsYUFDbkIsZ0NBQWdDLGFBQ2hDLDhCQUE4QixhQUM5Qix3QkFBd0IsYUFDeEIsOEJBQThCO21IQVQ3QixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVU7OzBCQUdOLE1BQU07MkJBQUMsdUJBQXVCOzswQkFDOUIsTUFBTTsyQkFBQywwQkFBMEI7OzBCQUNqQyxNQUFNOzJCQUFDLHlCQUF5Qjs7MEJBQ2hDLE1BQU07MkJBQUMsbUJBQW1COzswQkFDMUIsTUFBTTsyQkFBQyxnQ0FBZ0M7OzBCQUN2QyxNQUFNOzJCQUFDLDhCQUE4Qjs7MEJBQ3JDLE1BQU07MkJBQUMsd0JBQXdCOzswQkFDL0IsTUFBTTsyQkFBQyw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSW5wdXROdW1iZXJTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoXCJJTlBVVF9OVU1CRVJfREVDSU1BTFNcIikgcHJpdmF0ZSBkZWNpbWFsczogbnVtYmVyID0gLTEsXHJcbiAgICBASW5qZWN0KFwiSU5QVVRfTlVNQkVSX0ZPUk1BVF9DRVJPXCIpIHByaXZhdGUgZm9ybWF0Q2VybzogYm9vbGVhbiA9IGZhbHNlLFxyXG4gICAgQEluamVjdChcIklOUFVUX05VTUJFUl9CVE5fRU5BQkxFXCIpIHByaXZhdGUgYnRuRW5hYmxlOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICBASW5qZWN0KFwiSU5QVVRfTlVNQkVSX0JPTERcIikgcHJpdmF0ZSBib2xkOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICBASW5qZWN0KFwiSU5QVVRfTlVNQkVSX1ZBTElEQVRPUl9NRVNTQUdFXCIpIHByaXZhdGUgdmFsaWRhdG9yTWVzc2FnZTogYm9vbGVhbiA9IGZhbHNlLFxyXG4gICAgQEluamVjdChcIklOUFVUX05VTUJFUl9UT09MVElQX01FU1NBR0VcIikgcHJpdmF0ZSB0b29sdGlwTWVzc2FnZTogYm9vbGVhbiA9IHRydWUsXHJcbiAgICBASW5qZWN0KFwiSU5QVVRfTlVNQkVSX1NVQk1JVFRFRFwiKSBwcml2YXRlIHN1Ym1pdHRlZDogYm9vbGVhbiA9IHRydWUsXHJcbiAgICBASW5qZWN0KFwiSU5QVVRfTlVNQkVSX1ZBTElEQVRPUl9BTEVSVFwiKSBwcml2YXRlIHZhbGlkYXRvckFsZXJ0OiBib29sZWFuID0gZmFsc2VcclxuICApIHt9XHJcblxyXG4gIHB1YmxpYyBnZXREZWNpbWFscygpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVjaW1hbHM7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXRGb3JtYXRDZXJvKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0Q2VybztcclxuICB9XHJcbiAgcHVibGljIGdldEJ0bkVuYWJsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmJ0bkVuYWJsZTtcclxuICB9XHJcbiAgcHVibGljIGdldEJvbGQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5ib2xkO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0VmFsaWRhdG9yTWVzc2FnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnZhbGlkYXRvck1lc3NhZ2U7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXRUb29sdGlwTWVzc2FnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnRvb2x0aXBNZXNzYWdlO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0U3VibWl0dGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3VibWl0dGVkO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0VmFsaWRhdG9yQWxlcnQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0b3JBbGVydDtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,345 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild, forwardRef, } from "@angular/core";
2
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from "@angular/forms";
3
+ import { SharedComponentsUtil } from "../utils/SharedComponentsUtil";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../utils/message-util.service";
6
+ import * as i2 from "./input-text.service";
7
+ import * as i3 from "@angular/common";
8
+ import * as i4 from "@angular/forms";
9
+ import * as i5 from "../error-message/error-message.component";
10
+ import * as i6 from "../tooltip-message/tooltip-message.component";
11
+ import * as i7 from "@angular/material/tooltip";
12
+ import * as i8 from "ngx-mask";
13
+ export class InputTextComponent {
14
+ constructor(messageUtilService, inputTextService, _render) {
15
+ this.messageUtilService = messageUtilService;
16
+ this.inputTextService = inputTextService;
17
+ this._render = _render;
18
+ this.format = "M";
19
+ this.type = "text";
20
+ this.showLabel = true;
21
+ this.label = "";
22
+ this.btnEnable = false;
23
+ this.autocomplete = "no-autocomplete-input-text";
24
+ this.bold = false;
25
+ this.inputMask = null;
26
+ this.showMaskTyped = false;
27
+ this.required = false;
28
+ this.textRight = false;
29
+ this.disabled = false;
30
+ this.readonly = false;
31
+ this.validatorMessage = false;
32
+ this.tooltipMessage = true;
33
+ this.maxLength = null;
34
+ this.submitted = true;
35
+ this.validatorAlert = false;
36
+ this.setNgClass = "";
37
+ this.patterns = "";
38
+ this.placeholder = "";
39
+ this.labelInfo = false;
40
+ this.textLabelInfo = "";
41
+ this.controlCharClearReplace = false;
42
+ this.replaceRegex = {};
43
+ this.clearRegex = "";
44
+ this.onNext = new EventEmitter();
45
+ this.onBack = new EventEmitter();
46
+ this.change = new EventEmitter();
47
+ this.blur = new EventEmitter();
48
+ this.onfocus = new EventEmitter();
49
+ this.onchange = new EventEmitter();
50
+ this.onfocusout = new EventEmitter();
51
+ this.controls = null;
52
+ this.sharedComponentsUtil = new SharedComponentsUtil();
53
+ this._initValue = false;
54
+ this.showPassword = false;
55
+ this.onChange = (_) => { };
56
+ this.onValidationChange = () => { };
57
+ this.onTouch = () => { };
58
+ this.focus = () => {
59
+ this.nativeElement?.focus();
60
+ this.nativeElement?.select();
61
+ };
62
+ this.format = this.inputTextService.getFormat();
63
+ this.showLabel = this.inputTextService.getShowLabel();
64
+ this.btnEnable = this.inputTextService.getBtnEnable();
65
+ this.bold = this.inputTextService.getBold();
66
+ this.textRight = this.inputTextService.getTextRight();
67
+ this.validatorMessage = this.inputTextService.getValidatorMessage();
68
+ this.tooltipMessage = this.inputTextService.getTooltipMessage();
69
+ this.submitted = this.inputTextService.getSubmitted();
70
+ this.validatorAlert = this.inputTextService.getValidatorAlert();
71
+ this.controlCharClearReplace = this.inputTextService.getControlCharClearReplace();
72
+ this.replaceRegex = this.inputTextService.getReplaceRegex();
73
+ this.clearRegex = this.inputTextService.getClearRegex();
74
+ }
75
+ ngOnChanges(changes) {
76
+ if (changes["submitted"]) {
77
+ if (this.controls != null && changes["submitted"].currentValue) {
78
+ this.controls.markAsDirty();
79
+ this.controls.markAsTouched();
80
+ }
81
+ }
82
+ }
83
+ ngOnInit() { }
84
+ ngAfterViewInit() { }
85
+ get nativeElement() {
86
+ return this._inputText.nativeElement;
87
+ }
88
+ onBlur(value) {
89
+ this.onTouch();
90
+ this.blur.emit(this.formatInput(value));
91
+ }
92
+ onFocus(value) {
93
+ if (value.trim() !== "") {
94
+ this.nativeElement?.select();
95
+ this.onfocus.emit(value.trim());
96
+ }
97
+ }
98
+ onInput(value) {
99
+ const newValue = this.formatInput(value);
100
+ this.onTouch();
101
+ this.onChange(newValue);
102
+ this.onValidationChange();
103
+ this.onchange.emit(newValue);
104
+ this.change.emit(newValue);
105
+ }
106
+ writeValue(value) {
107
+ if (value) {
108
+ this.value = this.formatInput(value);
109
+ if (this.controls) {
110
+ this._render.setProperty(this.controls, "value", this.value);
111
+ }
112
+ }
113
+ else {
114
+ this.value = null;
115
+ }
116
+ }
117
+ registerOnChange(fn) {
118
+ this.onChange = fn;
119
+ }
120
+ registerOnTouched(fn) {
121
+ this.onTouch = fn;
122
+ }
123
+ setDisabledState(isDisabled) {
124
+ this.disabled = isDisabled;
125
+ }
126
+ validate(control) {
127
+ this.controls = control;
128
+ if (!this._initValue) {
129
+ if (this.value) {
130
+ this._render.setProperty(this.controls, "value", this.value);
131
+ }
132
+ this._initValue = true;
133
+ }
134
+ return null;
135
+ }
136
+ registerOnValidatorChange(fn) {
137
+ this.onValidationChange = fn;
138
+ }
139
+ formatInput(value) {
140
+ if (value !== null && value.toString().trim() !== "") {
141
+ let newValue = value.toString().trim();
142
+ if (this.format === "M")
143
+ newValue = newValue.toUpperCase();
144
+ if (this.format === "m")
145
+ newValue = newValue.toLowerCase();
146
+ if (this.controlCharClearReplace) {
147
+ newValue = this.clearCharacters(newValue);
148
+ newValue = this.replaceCharacters(newValue);
149
+ }
150
+ return newValue;
151
+ }
152
+ return value;
153
+ }
154
+ enterKeyUp() {
155
+ if (!this.disabled) {
156
+ this.writeValue(this.value);
157
+ let validator = this.sharedComponentsUtil.stopByValidator(this.controls, this.validatorAlert, this.label);
158
+ if (validator.error) {
159
+ this.messageUtilService.getMessageError("000046", "Error", validator.message);
160
+ return;
161
+ }
162
+ }
163
+ if (this.next != undefined) {
164
+ if (this.next.disabled || this.next.readonly) {
165
+ if (this.nextIsDisable != undefined) {
166
+ this.nextIsDisable.focus();
167
+ }
168
+ }
169
+ else {
170
+ this.next.focus();
171
+ }
172
+ }
173
+ else {
174
+ if (this.nextIsDisable != undefined) {
175
+ this.nextIsDisable.focus();
176
+ }
177
+ else {
178
+ this.onNext.emit();
179
+ }
180
+ }
181
+ }
182
+ arrowUpKeyUp() {
183
+ if (!this.disabled) {
184
+ let validator = this.sharedComponentsUtil.stopByValidator(this.controls, this.validatorAlert, this.label);
185
+ if (validator.error) {
186
+ this.messageUtilService.getMessageError("000046", "Error", validator.message);
187
+ return;
188
+ }
189
+ }
190
+ if (this.back != undefined) {
191
+ if (this.back.disabled || this.back.readonly) {
192
+ if (this.backIsDisable != undefined) {
193
+ this.backIsDisable.focus();
194
+ }
195
+ }
196
+ else {
197
+ this.back.focus();
198
+ }
199
+ }
200
+ else {
201
+ if (this.backIsDisable != undefined) {
202
+ this.backIsDisable.focus();
203
+ }
204
+ else {
205
+ this.onBack.emit();
206
+ }
207
+ }
208
+ }
209
+ onFocusOut(evt) {
210
+ this.onfocusout.emit(evt);
211
+ if (this.btnEnable) {
212
+ this.disabled = true;
213
+ }
214
+ }
215
+ clickEnable() {
216
+ this.disabled = false;
217
+ this.readonly = false;
218
+ setTimeout(() => {
219
+ this.focus();
220
+ }, 150);
221
+ }
222
+ clickShowPassword() {
223
+ this.showPassword = !this.showPassword;
224
+ }
225
+ clearCharacters(text) {
226
+ if (!text)
227
+ return text;
228
+ const regexPattern = `[${this.clearRegex}]`;
229
+ let formattedString = text.replace(new RegExp(regexPattern, 'g'), '');
230
+ return formattedString;
231
+ }
232
+ replaceCharacters(text) {
233
+ if (!text)
234
+ return text;
235
+ const regexReplace = Object.keys(this.replaceRegex).join('');
236
+ const regexPattern = `[${regexReplace}]`;
237
+ return text.replace(new RegExp(regexPattern, 'g'), (char) => this.replaceRegex[char] || char);
238
+ }
239
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputTextComponent, deps: [{ token: i1.MessageUtilService }, { token: i2.InputTextService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
240
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: InputTextComponent, selector: "input-text", inputs: { format: "format", type: "type", showLabel: "showLabel", label: "label", btnEnable: "btnEnable", autocomplete: "autocomplete", bold: "bold", inputMask: "inputMask", showMaskTyped: "showMaskTyped", next: "next", nextIsDisable: "nextIsDisable", back: "back", backIsDisable: "backIsDisable", required: "required", textRight: "textRight", disabled: "disabled", readonly: "readonly", validatorMessage: "validatorMessage", tooltipMessage: "tooltipMessage", maxLength: "maxLength", submitted: "submitted", validatorAlert: "validatorAlert", setNgClass: "setNgClass", patterns: "patterns", placeholder: "placeholder", labelInfo: "labelInfo", textLabelInfo: "textLabelInfo", controlCharClearReplace: "controlCharClearReplace", replaceRegex: "replaceRegex", clearRegex: "clearRegex" }, outputs: { onNext: "onNext", onBack: "onBack", change: "change", blur: "blur", onfocus: "onfocus", onchange: "onchange", onfocusout: "onfocusout" }, providers: [
241
+ {
242
+ provide: NG_VALUE_ACCESSOR,
243
+ useExisting: forwardRef(() => InputTextComponent),
244
+ multi: true,
245
+ },
246
+ {
247
+ provide: NG_VALIDATORS,
248
+ useExisting: forwardRef(() => InputTextComponent),
249
+ multi: true,
250
+ },
251
+ ], viewQueries: [{ propertyName: "_inputText", first: true, predicate: ["inputText"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"label != null && label != '' && showLabel\" class=\"d-flex sumax-label mb-0 p-0\"\r\n ><span [title]=\"label\" style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis\">{{ label }}</span>\r\n <span *ngIf=\"required\" class=\"ml-1\" [class.text-danger]=\"controls?.errors != null\"> *</span>\r\n <span *ngIf=\"labelInfo\">\r\n <i class=\"fa fa-exclamation-circle text-info ms-2\" [matTooltip]=\"textLabelInfo\" matTooltipClass=\"bg-info\"></i>\r\n </span>\r\n</label>\r\n<div\r\n [class.input-icon]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [class.right]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\">\r\n <div class=\"d-flex\">\r\n <div class=\"w-100 position-relative\">\r\n <tooltip-message\r\n [label]=\"label\"\r\n [controls]=\"controls\"\r\n [validatorMessage]=\"validatorMessage\"\r\n [submitted]=\"submitted\"\r\n [tooltipMessage]=\"tooltipMessage\"></tooltip-message>\r\n\r\n <input\r\n *ngIf=\"inputMask != null\"\r\n #inputText\r\n type=\"text\"\r\n class=\"form-control form-control-sm\"\r\n [class.text-uppercase]=\"format === 'M'\"\r\n [class.text-lowercase]=\"format === 'm'\"\r\n [class.text-end]=\"textRight\"\r\n [attr.autocomplete]=\"autocomplete\"\r\n [placeholder]=\"placeholder\"\r\n [class.is-invalid]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [mask]=\"inputMask\"\r\n [showMaskTyped]=\"showMaskTyped\"\r\n [patterns]=\"patterns\"\r\n (blur)=\"onBlur($any($event.target).value)\"\r\n (input)=\"onInput($any($event.target).value)\"\r\n (focusout)=\"onFocusOut($any($event.target).value)\"\r\n (focus)=\"onFocus($any($event.target).value)\"\r\n (keyup.enter)=\"enterKeyUp()\"\r\n (keyup.ArrowUp)=\"arrowUpKeyUp()\"\r\n [ngClass]=\"setNgClass\"\r\n [(ngModel)]=\"value\"\r\n [class.bold]=\"bold\" />\r\n <input\r\n *ngIf=\"inputMask == null\"\r\n #inputText\r\n [type]=\"type === 'password' ? (showPassword ? 'text' : 'password') : type\"\r\n class=\"form-control form-control-sm\"\r\n [class.text-uppercase]=\"format === 'M'\"\r\n [class.text-lowercase]=\"format === 'm'\"\r\n [class.text-end]=\"textRight\"\r\n [attr.autocomplete]=\"autocomplete\"\r\n [placeholder]=\"placeholder\"\r\n [class.is-invalid]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [attr.maxLength]=\"maxLength\"\r\n (blur)=\"onBlur($any($event.target).value)\"\r\n (input)=\"onInput($any($event.target).value)\"\r\n (focusout)=\"onFocusOut($any($event.target).value)\"\r\n (focus)=\"onFocus($any($event.target).value)\"\r\n (keyup.enter)=\"enterKeyUp()\"\r\n (keyup.ArrowUp)=\"arrowUpKeyUp()\"\r\n [ngClass]=\"setNgClass\"\r\n [(ngModel)]=\"value\"\r\n [class.bold]=\"bold\" />\r\n </div>\r\n <div class=\"bd-highlight\" *ngIf=\"type === 'password'\">\r\n <button type=\"button\" class=\"btn btn-info p-0 rounded-0 h-100\" (click)=\"clickShowPassword()\">\r\n <i\r\n [class.fa-eye]=\"showPassword\"\r\n [class.fa-eye-slash]=\"!showPassword\"\r\n class=\"far px-1\"\r\n [matTooltip]=\"!showPassword ? 'Mostrar' : 'Ocultar'\"\r\n matTooltipClass=\"bg-info\"></i>\r\n </button>\r\n </div>\r\n <div class=\"bd-highlight\" *ngIf=\"btnEnable\">\r\n <button type=\"button\" class=\"btn btn-info p-0 rounded-0 h-100\" (click)=\"clickEnable()\">\r\n <i class=\"fa fa-check text-white px-1\" [matTooltip]=\"'Habilitar'\" matTooltipClass=\"bg-info\"></i>\r\n </button>\r\n </div>\r\n <ng-content select=\"[more-buttons]\"></ng-content>\r\n </div>\r\n</div>\r\n<error-message\r\n [label]=\"label\"\r\n [controls]=\"controls\"\r\n [validatorMessage]=\"validatorMessage\"\r\n [submitted]=\"submitted\"\r\n [tooltipMessage]=\"tooltipMessage\"></error-message>\r\n", styles: [".sumax-label{color:#646c9a!important}.btn-password{position:absolute;right:.3em;top:50%;transform:translateY(-50%);font-size:.8em;border:0;outline:0;border-radius:50%}.input-icon tooltip-message{color:#ccc;position:absolute;z-index:3;font-size:16px;text-align:center;right:10px;top:50%;transform:translateY(-50%)}.input-icon.right>.form-control{padding-right:33px;padding-left:12px}.bold{color:#000;font-weight:700}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #fde6e8!important}.was-validated .form-control:invalid,.form-control.is-invalid{background-image:none;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #fde6e8!important}.form-control:focus,.form-control:active{border-color:#007eff;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #007eff1a!important}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.errorMessageComponent, selector: "error-message", inputs: ["tooltipMessage", "validatorMessage", "controls", "label", "submitted"] }, { kind: "component", type: i6.tooltipMessageComponent, selector: "tooltip-message", inputs: ["tooltipMessage", "validatorMessage", "controls", "label", "submitted"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i8.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }] }); }
252
+ }
253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputTextComponent, decorators: [{
254
+ type: Component,
255
+ args: [{ selector: "input-text", providers: [
256
+ {
257
+ provide: NG_VALUE_ACCESSOR,
258
+ useExisting: forwardRef(() => InputTextComponent),
259
+ multi: true,
260
+ },
261
+ {
262
+ provide: NG_VALIDATORS,
263
+ useExisting: forwardRef(() => InputTextComponent),
264
+ multi: true,
265
+ },
266
+ ], template: "<label *ngIf=\"label != null && label != '' && showLabel\" class=\"d-flex sumax-label mb-0 p-0\"\r\n ><span [title]=\"label\" style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis\">{{ label }}</span>\r\n <span *ngIf=\"required\" class=\"ml-1\" [class.text-danger]=\"controls?.errors != null\"> *</span>\r\n <span *ngIf=\"labelInfo\">\r\n <i class=\"fa fa-exclamation-circle text-info ms-2\" [matTooltip]=\"textLabelInfo\" matTooltipClass=\"bg-info\"></i>\r\n </span>\r\n</label>\r\n<div\r\n [class.input-icon]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [class.right]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\">\r\n <div class=\"d-flex\">\r\n <div class=\"w-100 position-relative\">\r\n <tooltip-message\r\n [label]=\"label\"\r\n [controls]=\"controls\"\r\n [validatorMessage]=\"validatorMessage\"\r\n [submitted]=\"submitted\"\r\n [tooltipMessage]=\"tooltipMessage\"></tooltip-message>\r\n\r\n <input\r\n *ngIf=\"inputMask != null\"\r\n #inputText\r\n type=\"text\"\r\n class=\"form-control form-control-sm\"\r\n [class.text-uppercase]=\"format === 'M'\"\r\n [class.text-lowercase]=\"format === 'm'\"\r\n [class.text-end]=\"textRight\"\r\n [attr.autocomplete]=\"autocomplete\"\r\n [placeholder]=\"placeholder\"\r\n [class.is-invalid]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [mask]=\"inputMask\"\r\n [showMaskTyped]=\"showMaskTyped\"\r\n [patterns]=\"patterns\"\r\n (blur)=\"onBlur($any($event.target).value)\"\r\n (input)=\"onInput($any($event.target).value)\"\r\n (focusout)=\"onFocusOut($any($event.target).value)\"\r\n (focus)=\"onFocus($any($event.target).value)\"\r\n (keyup.enter)=\"enterKeyUp()\"\r\n (keyup.ArrowUp)=\"arrowUpKeyUp()\"\r\n [ngClass]=\"setNgClass\"\r\n [(ngModel)]=\"value\"\r\n [class.bold]=\"bold\" />\r\n <input\r\n *ngIf=\"inputMask == null\"\r\n #inputText\r\n [type]=\"type === 'password' ? (showPassword ? 'text' : 'password') : type\"\r\n class=\"form-control form-control-sm\"\r\n [class.text-uppercase]=\"format === 'M'\"\r\n [class.text-lowercase]=\"format === 'm'\"\r\n [class.text-end]=\"textRight\"\r\n [attr.autocomplete]=\"autocomplete\"\r\n [placeholder]=\"placeholder\"\r\n [class.is-invalid]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [attr.maxLength]=\"maxLength\"\r\n (blur)=\"onBlur($any($event.target).value)\"\r\n (input)=\"onInput($any($event.target).value)\"\r\n (focusout)=\"onFocusOut($any($event.target).value)\"\r\n (focus)=\"onFocus($any($event.target).value)\"\r\n (keyup.enter)=\"enterKeyUp()\"\r\n (keyup.ArrowUp)=\"arrowUpKeyUp()\"\r\n [ngClass]=\"setNgClass\"\r\n [(ngModel)]=\"value\"\r\n [class.bold]=\"bold\" />\r\n </div>\r\n <div class=\"bd-highlight\" *ngIf=\"type === 'password'\">\r\n <button type=\"button\" class=\"btn btn-info p-0 rounded-0 h-100\" (click)=\"clickShowPassword()\">\r\n <i\r\n [class.fa-eye]=\"showPassword\"\r\n [class.fa-eye-slash]=\"!showPassword\"\r\n class=\"far px-1\"\r\n [matTooltip]=\"!showPassword ? 'Mostrar' : 'Ocultar'\"\r\n matTooltipClass=\"bg-info\"></i>\r\n </button>\r\n </div>\r\n <div class=\"bd-highlight\" *ngIf=\"btnEnable\">\r\n <button type=\"button\" class=\"btn btn-info p-0 rounded-0 h-100\" (click)=\"clickEnable()\">\r\n <i class=\"fa fa-check text-white px-1\" [matTooltip]=\"'Habilitar'\" matTooltipClass=\"bg-info\"></i>\r\n </button>\r\n </div>\r\n <ng-content select=\"[more-buttons]\"></ng-content>\r\n </div>\r\n</div>\r\n<error-message\r\n [label]=\"label\"\r\n [controls]=\"controls\"\r\n [validatorMessage]=\"validatorMessage\"\r\n [submitted]=\"submitted\"\r\n [tooltipMessage]=\"tooltipMessage\"></error-message>\r\n", styles: [".sumax-label{color:#646c9a!important}.btn-password{position:absolute;right:.3em;top:50%;transform:translateY(-50%);font-size:.8em;border:0;outline:0;border-radius:50%}.input-icon tooltip-message{color:#ccc;position:absolute;z-index:3;font-size:16px;text-align:center;right:10px;top:50%;transform:translateY(-50%)}.input-icon.right>.form-control{padding-right:33px;padding-left:12px}.bold{color:#000;font-weight:700}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #fde6e8!important}.was-validated .form-control:invalid,.form-control.is-invalid{background-image:none;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #fde6e8!important}.form-control:focus,.form-control:active{border-color:#007eff;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #007eff1a!important}\n"] }]
267
+ }], ctorParameters: () => [{ type: i1.MessageUtilService }, { type: i2.InputTextService }, { type: i0.Renderer2 }], propDecorators: { format: [{
268
+ type: Input
269
+ }], type: [{
270
+ type: Input
271
+ }], showLabel: [{
272
+ type: Input
273
+ }], label: [{
274
+ type: Input
275
+ }], btnEnable: [{
276
+ type: Input
277
+ }], autocomplete: [{
278
+ type: Input
279
+ }], bold: [{
280
+ type: Input
281
+ }], inputMask: [{
282
+ type: Input
283
+ }], showMaskTyped: [{
284
+ type: Input
285
+ }], next: [{
286
+ type: Input
287
+ }], nextIsDisable: [{
288
+ type: Input
289
+ }], back: [{
290
+ type: Input
291
+ }], backIsDisable: [{
292
+ type: Input
293
+ }], required: [{
294
+ type: Input
295
+ }], textRight: [{
296
+ type: Input
297
+ }], disabled: [{
298
+ type: Input
299
+ }], readonly: [{
300
+ type: Input
301
+ }], validatorMessage: [{
302
+ type: Input
303
+ }], tooltipMessage: [{
304
+ type: Input
305
+ }], maxLength: [{
306
+ type: Input
307
+ }], submitted: [{
308
+ type: Input
309
+ }], validatorAlert: [{
310
+ type: Input
311
+ }], setNgClass: [{
312
+ type: Input
313
+ }], patterns: [{
314
+ type: Input
315
+ }], placeholder: [{
316
+ type: Input
317
+ }], labelInfo: [{
318
+ type: Input
319
+ }], textLabelInfo: [{
320
+ type: Input
321
+ }], controlCharClearReplace: [{
322
+ type: Input
323
+ }], replaceRegex: [{
324
+ type: Input
325
+ }], clearRegex: [{
326
+ type: Input
327
+ }], onNext: [{
328
+ type: Output
329
+ }], onBack: [{
330
+ type: Output
331
+ }], change: [{
332
+ type: Output
333
+ }], blur: [{
334
+ type: Output
335
+ }], onfocus: [{
336
+ type: Output
337
+ }], onchange: [{
338
+ type: Output
339
+ }], onfocusout: [{
340
+ type: Output
341
+ }], _inputText: [{
342
+ type: ViewChild,
343
+ args: ["inputText"]
344
+ }] } });
345
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL2lucHV0LXRleHQvaW5wdXQtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL2lucHV0LXRleHQvaW5wdXQtdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUdOLFNBQVMsRUFDVCxVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF5QyxhQUFhLEVBQUUsaUJBQWlCLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0gsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7Ozs7QUFxQnJFLE1BQU0sT0FBTyxrQkFBa0I7SUFnRDdCLFlBQ1Usa0JBQXNDLEVBQ3RDLGdCQUFrQyxFQUNsQyxPQUFrQjtRQUZsQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQWxEbkIsV0FBTSxHQUFXLEdBQUcsQ0FBQztRQUNyQixTQUFJLEdBQVMsTUFBTSxDQUFDO1FBQ3BCLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsVUFBSyxHQUFRLEVBQUUsQ0FBQztRQUNoQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGlCQUFZLEdBQVcsNEJBQTRCLENBQUM7UUFDcEQsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUN0QixjQUFTLEdBQWtCLElBQUksQ0FBQztRQUNoQyxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUsvQixhQUFRLEdBQVks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c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFFaUIsVUFBVTtzQkFBakMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBSZW5kZXJlcjIsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbiAgZm9yd2FyZFJlZixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBJbnB1dFRleHRTZXJ2aWNlIH0gZnJvbSBcIi4vaW5wdXQtdGV4dC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE1lc3NhZ2VVdGlsU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9tZXNzYWdlLXV0aWwuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTaGFyZWRDb21wb25lbnRzVXRpbCB9IGZyb20gXCIuLi91dGlscy9TaGFyZWRDb21wb25lbnRzVXRpbFwiO1xyXG5cclxuZXhwb3J0IHR5cGUgVHlwZSA9IFwidGV4dFwiIHwgXCJwYXNzd29yZFwiIHwgXCJlbWFpbFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiaW5wdXQtdGV4dFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5wdXQtdGV4dC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbnB1dC10ZXh0LmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRUZXh0Q29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dFRleHRDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0VGV4dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQElucHV0KCkgZm9ybWF0OiBzdHJpbmcgPSBcIk1cIjtcclxuICBASW5wdXQoKSB0eXBlOiBUeXBlID0gXCJ0ZXh0XCI7XHJcbiAgQElucHV0KCkgc2hvd0xhYmVsOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBsYWJlbDogYW55ID0gXCJcIjtcclxuICBASW5wdXQoKSBidG5FbmFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBhdXRvY29tcGxldGU6IHN0cmluZyA9IFwibm8tYXV0b2NvbXBsZXRlLWlucHV0LXRleHRcIjtcclxuICBASW5wdXQoKSBib2xkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaW5wdXRNYXNrOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBzaG93TWFza1R5cGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbmV4dDogYW55O1xyXG4gIEBJbnB1dCgpIG5leHRJc0Rpc2FibGU6IGFueTtcclxuICBASW5wdXQoKSBiYWNrOiBhbnk7XHJcbiAgQElucHV0KCkgYmFja0lzRGlzYWJsZTogYW55O1xyXG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdGV4dFJpZ2h0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHZhbGlkYXRvck1lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSB0b29sdGlwTWVzc2FnZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgbWF4TGVuZ3RoOiBhbnkgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHN1Ym1pdHRlZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgdmFsaWRhdG9yQWxlcnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXROZ0NsYXNzOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHBhdHRlcm5zOiBhbnkgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIGxhYmVsSW5mbzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRleHRMYWJlbEluZm86IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCkgY29udHJvbENoYXJDbGVhclJlcGxhY2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSByZXBsYWNlUmVnZXg6IHtba2V5OnN0cmluZ106IHN0cmluZ30gPSB7fTtcclxuICBASW5wdXQoKSBjbGVhclJlZ2V4OiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBPdXRwdXQoKSBvbk5leHQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkJhY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBibHVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25mb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uY2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25mb2N1c291dDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJpbnB1dFRleHRcIikgX2lucHV0VGV4dCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcblxyXG4gIGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsID0gbnVsbDtcclxuICB2YWx1ZTogYW55O1xyXG4gIHNoYXJlZENvbXBvbmVudHNVdGlsID0gbmV3IFNoYXJlZENvbXBvbmVudHNVdGlsKCk7XHJcbiAgX2luaXRWYWx1ZSA9IGZhbHNlO1xyXG5cclxuICBzaG93UGFzc3dvcmQgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VVdGlsU2VydmljZTogTWVzc2FnZVV0aWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBpbnB1dFRleHRTZXJ2aWNlOiBJbnB1dFRleHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcmVuZGVyOiBSZW5kZXJlcjJcclxuICApIHtcclxuICAgIHRoaXMuZm9ybWF0ID0gdGhpcy5pbnB1dFRleHRTZXJ2aWNlLmdldEZvcm1hdCgpO1xyXG4gICAgdGhpcy5zaG93TGFiZWwgPSB0aGlzLmlucHV0VGV4dFNlcnZpY2UuZ2V0U2hvd0xhYmVsKCk7XHJcbiAgICB0aGlzLmJ0bkVuYWJsZSA9IHRoaXMuaW5wdXRUZXh0U2VydmljZS5nZXRCdG5FbmFibGUoKTtcclxuICAgIHRoaXMuYm9sZCA9IHRoaXMuaW5wdXRUZXh0U2VydmljZS5nZXRCb2xkKCk7XHJcbiAgICB0aGlzLnRleHRSaWdodCA9IHRoaXMuaW5wdXRUZXh0U2VydmljZS5nZXRUZXh0UmlnaHQoKTtcclxuICAgIHRoaXMudmFsaWRhdG9yTWVzc2FnZSA9IHRoaXMuaW5wdXRUZXh0U2VydmljZS5nZXRWYWxpZGF0b3JNZXNzYWdlKCk7XHJcbiAgICB0aGlzLnRvb2x0aXBNZXNzYWdlID0gdGhpcy5pbnB1dFRleHRTZXJ2aWNlLmdldFRvb2x0aXBNZXNzYWdlKCk7XHJcbiAgICB0aGlzLnN1Ym1pdHRlZCA9IHRoaXMuaW5wdXRUZXh0U2VydmljZS5nZXRTdWJtaXR0ZWQoKTtcclxuICAgIHRoaXMudmFsaWRhdG9yQWxlcnQgPSB0aGlzLmlucHV0VGV4dFNlcnZpY2UuZ2V0VmFsaWRhdG9yQWxlcnQoKTtcclxuICAgIHRoaXMuY29udHJvbENoYXJDbGVhclJlcGxhY2UgPSB0aGlzLmlucHV0VGV4dFNlcnZpY2UuZ2V0Q29udHJvbENoYXJDbGVhclJlcGxhY2UoKTtcclxuICAgIHRoaXMucmVwbGFjZVJlZ2V4ID0gdGhpcy5pbnB1dFRleHRTZXJ2aWNlLmdldFJlcGxhY2VSZWdleCgpO1xyXG4gICAgdGhpcy5jbGVhclJlZ2V4ID0gdGhpcy5pbnB1dFRleHRTZXJ2aWNlLmdldENsZWFyUmVnZXgoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzIChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1tcInN1Ym1pdHRlZFwiXSkge1xyXG4gICAgICBpZiAodGhpcy5jb250cm9scyAhPSBudWxsICYmIGNoYW5nZXNbXCJzdWJtaXR0ZWRcIl0uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5jb250cm9scy5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgIHRoaXMuY29udHJvbHMubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCAoKSB7IH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHsgfVxyXG5cclxuICBnZXQgbmF0aXZlRWxlbWVudCAoKTogSFRNTElucHV0RWxlbWVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5wdXRUZXh0Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcclxuICBvblZhbGlkYXRpb25DaGFuZ2UgPSAoKSA9PiB7IH07XHJcbiAgb25Ub3VjaCA9ICgpID0+IHsgfTtcclxuICBmb2N1cyA9ICgpID0+IHtcclxuICAgIHRoaXMubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcclxuICAgIHRoaXMubmF0aXZlRWxlbWVudD8uc2VsZWN0KCk7XHJcbiAgfTtcclxuXHJcbiAgb25CbHVyICh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2goKTtcclxuICAgIHRoaXMuYmx1ci5lbWl0KHRoaXMuZm9ybWF0SW5wdXQodmFsdWUpKTtcclxuICB9XHJcblxyXG4gIG9uRm9jdXMgKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZS50cmltKCkgIT09IFwiXCIpIHtcclxuICAgICAgdGhpcy5uYXRpdmVFbGVtZW50Py5zZWxlY3QoKTtcclxuICAgICAgdGhpcy5vbmZvY3VzLmVtaXQodmFsdWUudHJpbSgpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSW5wdXQgKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5mb3JtYXRJbnB1dCh2YWx1ZSk7XHJcblxyXG4gICAgdGhpcy5vblRvdWNoKCk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcclxuICAgIHRoaXMub25WYWxpZGF0aW9uQ2hhbmdlKCk7XHJcbiAgICB0aGlzLm9uY2hhbmdlLmVtaXQobmV3VmFsdWUpO1xyXG4gICAgdGhpcy5jaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlICh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZm9ybWF0SW5wdXQodmFsdWUpO1xyXG4gICAgICBpZiAodGhpcy5jb250cm9scykge1xyXG4gICAgICAgIHRoaXMuX3JlbmRlci5zZXRQcm9wZXJ0eSh0aGlzLmNvbnRyb2xzLCBcInZhbHVlXCIsIHRoaXMudmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UgKGZuOiAodjogYW55KSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZCAoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlIChpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgYW55IHtcclxuICAgIHRoaXMuY29udHJvbHMgPSBjb250cm9sO1xyXG4gICAgaWYgKCF0aGlzLl9pbml0VmFsdWUpIHtcclxuICAgICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgICB0aGlzLl9yZW5kZXIuc2V0UHJvcGVydHkodGhpcy5jb250cm9scywgXCJ2YWx1ZVwiLCB0aGlzLnZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLl9pbml0VmFsdWUgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlPyhmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIGZvcm1hdElucHV0ICh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZS50b1N0cmluZygpLnRyaW0oKSAhPT0gXCJcIikge1xyXG4gICAgICBsZXQgbmV3VmFsdWUgPSB2YWx1ZS50b1N0cmluZygpLnRyaW0oKTtcclxuICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSBcIk1cIikgbmV3VmFsdWUgPSBuZXdWYWx1ZS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgICBpZiAodGhpcy5mb3JtYXQgPT09IFwibVwiKSBuZXdWYWx1ZSA9IG5ld1ZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgICBpZiAodGhpcy5jb250cm9sQ2hhckNsZWFyUmVwbGFjZSkge1xyXG4gICAgICAgIG5ld1ZhbHVlID0gdGhpcy5jbGVhckNoYXJhY3RlcnMobmV3VmFsdWUpO1xyXG4gICAgICAgIG5ld1ZhbHVlID0gdGhpcy5yZXBsYWNlQ2hhcmFjdGVycyhuZXdWYWx1ZSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5ld1ZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGVudGVyS2V5VXAgKCkge1xyXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLnZhbHVlKTtcclxuICAgICAgbGV0IHZhbGlkYXRvciA9IHRoaXMuc2hhcmVkQ29tcG9uZW50c1V0aWwuc3RvcEJ5VmFsaWRhdG9yKHRoaXMuY29udHJvbHMsIHRoaXMudmFsaWRhdG9yQWxlcnQsIHRoaXMubGFiZWwpO1xyXG4gICAgICBpZiAodmFsaWRhdG9yLmVycm9yKSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlVXRpbFNlcnZpY2UuZ2V0TWVzc2FnZUVycm9yKFwiMDAwMDQ2XCIsIFwiRXJyb3JcIiwgdmFsaWRhdG9yLm1lc3NhZ2UpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubmV4dCAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgaWYgKHRoaXMubmV4dC5kaXNhYmxlZCB8fCB0aGlzLm5leHQucmVhZG9ubHkpIHtcclxuICAgICAgICBpZiAodGhpcy5uZXh0SXNEaXNhYmxlICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgdGhpcy5uZXh0SXNEaXNhYmxlLmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubmV4dC5mb2N1cygpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5uZXh0SXNEaXNhYmxlICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMubmV4dElzRGlzYWJsZS5mb2N1cygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMub25OZXh0LmVtaXQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXJyb3dVcEtleVVwICgpIHtcclxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICBsZXQgdmFsaWRhdG9yID0gdGhpcy5zaGFyZWRDb21wb25lbnRzVXRpbC5zdG9wQnlWYWxpZGF0b3IodGhpcy5jb250cm9scywgdGhpcy52YWxpZGF0b3JBbGVydCwgdGhpcy5sYWJlbCk7XHJcbiAgICAgIGlmICh2YWxpZGF0b3IuZXJyb3IpIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VVdGlsU2VydmljZS5nZXRNZXNzYWdlRXJyb3IoXCIwMDAwNDZcIiwgXCJFcnJvclwiLCB2YWxpZGF0b3IubWVzc2FnZSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5iYWNrICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICBpZiAodGhpcy5iYWNrLmRpc2FibGVkIHx8IHRoaXMuYmFjay5yZWFkb25seSkge1xyXG4gICAgICAgIGlmICh0aGlzLmJhY2tJc0Rpc2FibGUgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICB0aGlzLmJhY2tJc0Rpc2FibGUuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5iYWNrLmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLmJhY2tJc0Rpc2FibGUgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5iYWNrSXNEaXNhYmxlLmZvY3VzKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5vbkJhY2suZW1pdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzT3V0IChldnQ6IGFueSkge1xyXG4gICAgdGhpcy5vbmZvY3Vzb3V0LmVtaXQoZXZ0KTtcclxuICAgIGlmICh0aGlzLmJ0bkVuYWJsZSkge1xyXG4gICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsaWNrRW5hYmxlICgpIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIHRoaXMucmVhZG9ubHkgPSBmYWxzZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmZvY3VzKCk7XHJcbiAgICB9LCAxNTApO1xyXG4gIH1cclxuXHJcbiAgY2xpY2tTaG93UGFzc3dvcmQgKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93UGFzc3dvcmQgPSAhdGhpcy5zaG93UGFzc3dvcmQ7XHJcbiAgfVxyXG5cclxuICBjbGVhckNoYXJhY3RlcnModGV4dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmICghdGV4dCkgcmV0dXJuIHRleHQ7XHJcbiAgICBjb25zdCByZWdleFBhdHRlcm4gPSBgWyR7dGhpcy5jbGVhclJlZ2V4fV1gO1xyXG4gICAgbGV0IGZvcm1hdHRlZFN0cmluZyA9IHRleHQucmVwbGFjZShuZXcgUmVnRXhwKHJlZ2V4UGF0dGVybiwgJ2cnKSwgJycpO1xyXG4gICAgcmV0dXJuIGZvcm1hdHRlZFN0cmluZztcclxuICB9XHJcblxyXG4gIHJlcGxhY2VDaGFyYWN0ZXJzKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRleHQpIHJldHVybiB0ZXh0O1xyXG4gICAgY29uc3QgcmVnZXhSZXBsYWNlID0gT2JqZWN0LmtleXModGhpcy5yZXBsYWNlUmVnZXgpLmpvaW4oJycpO1xyXG4gICAgY29uc3QgcmVnZXhQYXR0ZXJuID0gYFske3JlZ2V4UmVwbGFjZX1dYDtcclxuICAgIHJldHVybiB0ZXh0LnJlcGxhY2UobmV3IFJlZ0V4cChyZWdleFBhdHRlcm4sICdnJyksIChjaGFyKSA9PiB0aGlzLnJlcGxhY2VSZWdleFtjaGFyXSB8fCBjaGFyKTtcclxuICB9XHJcbn1cclxuXHJcbiIsIjxsYWJlbCAqbmdJZj1cImxhYmVsICE9IG51bGwgJiYgbGFiZWwgIT0gJycgJiYgc2hvd0xhYmVsXCIgY2xhc3M9XCJkLWZsZXggc3VtYXgtbGFiZWwgbWItMCBwLTBcIlxyXG4gID48c3BhbiBbdGl0bGVdPVwibGFiZWxcIiBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3dyYXA7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzXCI+e3sgbGFiZWwgfX08L3NwYW4+XHJcbiAgPHNwYW4gKm5nSWY9XCJyZXF1aXJlZFwiIGNsYXNzPVwibWwtMVwiIFtjbGFzcy50ZXh0LWRhbmdlcl09XCJjb250cm9scz8uZXJyb3JzICE9IG51bGxcIj4gKjwvc3Bhbj5cclxuICA8c3BhbiAqbmdJZj1cImxhYmVsSW5mb1wiPlxyXG4gICAgPGkgY2xhc3M9XCJmYSBmYS1leGNsYW1hdGlvbi1jaXJjbGUgdGV4dC1pbmZvIG1zLTJcIiBbbWF0VG9vbHRpcF09XCJ0ZXh0TGFiZWxJbmZvXCIgbWF0VG9vbHRpcENsYXNzPVwiYmctaW5mb1wiPjwvaT5cclxuICA8L3NwYW4+XHJcbjwvbGFiZWw+XHJcbjxkaXZcclxuICBbY2xhc3MuaW5wdXQtaWNvbl09XCJjb250cm9scz8uZXJyb3JzICE9IG51bGwgJiYgKGNvbnRyb2xzPy5kaXJ0eSB8fCBjb250cm9scz8udG91Y2hlZCkgJiYgc3VibWl0dGVkXCJcclxuICBbY2xhc3MucmlnaHRdPVwiY29udHJvbHM/LmVycm9ycyAhPSBudWxsICYmIChjb250cm9scz8uZGlydHkgfHwgY29udHJvbHM/LnRvdWNoZWQpICYmIHN1Ym1pdHRlZFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICA8dG9vbHRpcC1tZXNzYWdlXHJcbiAgICAgICAgW2xhYmVsXT1cImxhYmVsXCJcclxuICAgICAgICBbY29udHJvbHNdPVwiY29udHJvbHNcIlxyXG4gICAgICAgIFt2YWxpZGF0b3JNZXNzYWdlXT1cInZhbGlkYXRvck1lc3NhZ2VcIlxyXG4gICAgICAgIFtzdWJtaXR0ZWRdPVwic3VibWl0dGVkXCJcclxuICAgICAgICBbdG9vbHRpcE1lc3NhZ2VdPVwidG9vbHRpcE1lc3NhZ2VcIj48L3Rvb2x0aXAtbWVzc2FnZT5cclxuXHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgICpuZ0lmPVwiaW5wdXRNYXNrICE9IG51bGxcIlxyXG4gICAgICAgICNpbnB1dFRleHRcclxuICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtXCJcclxuICAgICAgICBbY2xhc3MudGV4dC11cHBlcmNhc2VdPVwiZm9ybWF0ID09PSAnTSdcIlxyXG4gICAgICAgIFtjbGFzcy50ZXh0LWxvd2VyY2FzZV09XCJmb3JtYXQgPT09ICdtJ1wiXHJcbiAgICAgICAgW2NsYXNzLnRleHQtZW5kXT1cInRleHRSaWdodFwiXHJcbiAgICAgICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJjb250cm9scz8uZXJyb3JzICE9IG51bGwgJiYgKGNvbnRyb2xzPy5kaXJ0eSB8fCBjb250cm9scz8udG91Y2hlZCkgJiYgc3VibWl0dGVkXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgW21hc2tdPVwiaW5wdXRNYXNrXCJcclxuICAgICAgICBbc2hvd01hc2tUeXBlZF09XCJzaG93TWFza1R5cGVkXCJcclxuICAgICAgICBbcGF0dGVybnNdPVwicGF0dGVybnNcIlxyXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkYW55KCRldmVudC50YXJnZXQpLnZhbHVlKVwiXHJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGFueSgkZXZlbnQudGFyZ2V0KS52YWx1ZSlcIlxyXG4gICAgICAgIChmb2N1c291dCk9XCJvbkZvY3VzT3V0KCRhbnkoJGV2ZW50LnRhcmdldCkudmFsdWUpXCJcclxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkYW55KCRldmVudC50YXJnZXQpLnZhbHVlKVwiXHJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cImVudGVyS2V5VXAoKVwiXHJcbiAgICAgICAgKGtleXVwLkFycm93VXApPVwiYXJyb3dVcEtleVVwKClcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInNldE5nQ2xhc3NcIlxyXG4gICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgIFtjbGFzcy5ib2xkXT1cImJvbGRcIiAvPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICAqbmdJZj1cImlucHV0TWFzayA9PSBudWxsXCJcclxuICAgICAgICAjaW5wdXRUZXh0XHJcbiAgICAgICAgW3R5cGVdPVwidHlwZSA9PT0gJ3Bhc3N3b3JkJyA/IChzaG93UGFzc3dvcmQgPyAndGV4dCcgOiAncGFzc3dvcmQnKSA6IHR5cGVcIlxyXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiXHJcbiAgICAgICAgW2NsYXNzLnRleHQtdXBwZXJjYXNlXT1cImZvcm1hdCA9PT0gJ00nXCJcclxuICAgICAgICBbY2xhc3MudGV4dC1sb3dlcmNhc2VdPVwiZm9ybWF0ID09PSAnbSdcIlxyXG4gICAgICAgIFtjbGFzcy50ZXh0LWVuZF09XCJ0ZXh0UmlnaHRcIlxyXG4gICAgICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwiY29udHJvbHM/LmVycm9ycyAhPSBudWxsICYmIChjb250cm9scz8uZGlydHkgfHwgY29udHJvbHM/LnRvdWNoZWQpICYmIHN1Ym1pdHRlZFwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgIFthdHRyLm1heExlbmd0aF09XCJtYXhMZW5ndGhcIlxyXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkYW55KCRldmVudC50YXJnZXQpLnZhbHVlKVwiXHJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGFueSgkZXZlbnQudGFyZ2V0KS52YWx1ZSlcIlxyXG4gICAgICAgIChmb2N1c291dCk9XCJvbkZvY3VzT3V0KCRhbnkoJGV2ZW50LnRhcmdldCkudmFsdWUpXCJcclxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkYW55KCRldmVudC50YXJnZXQpLnZhbHVlKVwiXHJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cImVudGVyS2V5VXAoKVwiXHJcbiAgICAgICAgKGtleXVwLkFycm93VXApPVwiYXJyb3dVcEtleVVwKClcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInNldE5nQ2xhc3NcIlxyXG4gICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgIFtjbGFzcy5ib2xkXT1cImJvbGRcIiAvPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYmQtaGlnaGxpZ2h0XCIgKm5nSWY9XCJ0eXBlID09PSAncGFzc3dvcmQnXCI+XHJcbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1pbmZvIHAtMCByb3VuZGVkLTAgaC0xMDBcIiAoY2xpY2spPVwiY2xpY2tTaG93UGFzc3dvcmQoKVwiPlxyXG4gICAgICAgIDxpXHJcbiAgICAgICAgICBbY2xhc3MuZmEtZXllXT1cInNob3dQYXNzd29yZFwiXHJcbiAgICAgICAgICBbY2xhc3MuZmEtZXllLXNsYXNoXT1cIiFzaG93UGFzc3dvcmRcIlxyXG4gICAgICAgICAgY2xhc3M9XCJmYXIgcHgtMVwiXHJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCIhc2hvd1Bhc3N3b3JkID8gJ01vc3RyYXInIDogJ09jdWx0YXInXCJcclxuICAgICAgICAgIG1hdFRvb2x0aXBDbGFzcz1cImJnLWluZm9cIj48L2k+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYmQtaGlnaGxpZ2h0XCIgKm5nSWY9XCJidG5FbmFibGVcIj5cclxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWluZm8gcC0wIHJvdW5kZWQtMCBoLTEwMFwiIChjbGljayk9XCJjbGlja0VuYWJsZSgpXCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGVjayB0ZXh0LXdoaXRlIHB4LTFcIiBbbWF0VG9vbHRpcF09XCInSGFiaWxpdGFyJ1wiIG1hdFRvb2x0aXBDbGFzcz1cImJnLWluZm9cIj48L2k+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbW9yZS1idXR0b25zXVwiPjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxlcnJvci1tZXNzYWdlXHJcbiAgW2xhYmVsXT1cImxhYmVsXCJcclxuICBbY29udHJvbHNdPVwiY29udHJvbHNcIlxyXG4gIFt2YWxpZGF0b3JNZXNzYWdlXT1cInZhbGlkYXRvck1lc3NhZ2VcIlxyXG4gIFtzdWJtaXR0ZWRdPVwic3VibWl0dGVkXCJcclxuICBbdG9vbHRpcE1lc3NhZ2VdPVwidG9vbHRpcE1lc3NhZ2VcIj48L2Vycm9yLW1lc3NhZ2U+XHJcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export class InputText {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdW1heC1lcnAtY29tcG9uZW50L3NyYy9saWIvaW5wdXQtdGV4dC9pbnB1dC10ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxTQUFTO0NBYXJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIElucHV0VGV4dCB7XHJcbiAgZm9ybWF0Pzogc3RyaW5nO1xyXG4gIHNob3dMYWJlbD86IGJvb2xlYW47XHJcbiAgYnRuRW5hYmxlPzogYm9vbGVhbjtcclxuICBib2xkPzogYm9vbGVhbjtcclxuICB0ZXh0UmlnaHQ/OiBib29sZWFuO1xyXG4gIHZhbGlkYXRvck1lc3NhZ2U/OiBib29sZWFuO1xyXG4gIHRvb2x0aXBNZXNzYWdlPzogYm9vbGVhbjtcclxuICBzdWJtaXR0ZWQ/OiBib29sZWFuO1xyXG4gIHZhbGlkYXRvckFsZXJ0PzogYm9vbGVhbjtcclxuICBjb250cm9sQ2hhckNsZWFyUmVwbGFjZT86IGJvb2xlYW47XHJcbiAgcmVwbGFjZVJlZ2V4Pzoge1trZXk6c3RyaW5nXTogc3RyaW5nfTtcclxuICBjbGVhclJlZ2V4Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGb3JtYXQgPSBcIk1cIiB8IFwibVwiIHwgXCJNblwiO1xyXG4iXX0=
@@ -0,0 +1,73 @@
1
+ import { CommonModule } from "@angular/common";
2
+ import { NgModule } from "@angular/core";
3
+ import { FormsModule, ReactiveFormsModule } from "@angular/forms";
4
+ import { MatIconModule } from "@angular/material/icon";
5
+ import { MatTooltipModule } from "@angular/material/tooltip";
6
+ import { RouterModule } from "@angular/router";
7
+ import { NgxMaskDirective, provideNgxMask } from "ngx-mask";
8
+ import { ErrorMessageModule } from "../error-message/error-message.module";
9
+ import { TooltipMessageModule } from "../tooltip-message/tooltip-message.module";
10
+ import { InputText } from "./input-text";
11
+ import { InputTextComponent } from "./input-text.component";
12
+ import { InputTextService } from "./input-text.service";
13
+ import * as i0 from "@angular/core";
14
+ export class InputTextModule {
15
+ static forRoot(inputText = new InputText()) {
16
+ return {
17
+ ngModule: InputTextModule,
18
+ providers: [
19
+ { provide: "INPUT_TEXT_FORMAT", useValue: inputText.format },
20
+ { provide: "INPUT_TEXT_SHOW_LABEL", useValue: inputText.showLabel },
21
+ { provide: "INPUT_TEXT_BTN_ENABLE", useValue: inputText.btnEnable },
22
+ { provide: "INPUT_TEXT_BOLD", useValue: inputText.bold },
23
+ { provide: "INPUT_TEXT_TEXT_RIGHT", useValue: inputText.textRight },
24
+ { provide: "INPUT_TEXT_VALIDATOR_MESSAGE", useValue: inputText.validatorMessage },
25
+ { provide: "INPUT_TEXT_TOOLTIP_MESSAGE", useValue: inputText.tooltipMessage },
26
+ { provide: "INPUT_TEXT_SUBMITTED", useValue: inputText.submitted },
27
+ { provide: "INPUT_TEXT_VALIDATOR_ALERT", useValue: inputText.validatorAlert },
28
+ { provide: "INPUT_TEXT_CONTROL_CLEAR_REPLACE_REGEX", useValue: inputText.controlCharClearReplace },
29
+ { provide: "INPUT_TEXT_REPLACE_REGEX", useValue: inputText.replaceRegex },
30
+ { provide: "INPUT_TEXT_CLEAR_REGEX", useValue: inputText.clearRegex },
31
+ InputTextService
32
+ ],
33
+ };
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputTextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
36
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: InputTextModule, declarations: [InputTextComponent], imports: [CommonModule,
37
+ RouterModule,
38
+ FormsModule,
39
+ ReactiveFormsModule,
40
+ ErrorMessageModule,
41
+ TooltipMessageModule,
42
+ MatIconModule,
43
+ MatTooltipModule,
44
+ NgxMaskDirective], exports: [InputTextComponent] }); }
45
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputTextModule, providers: [provideNgxMask({ validation: false })], imports: [CommonModule,
46
+ RouterModule,
47
+ FormsModule,
48
+ ReactiveFormsModule,
49
+ ErrorMessageModule,
50
+ TooltipMessageModule,
51
+ MatIconModule,
52
+ MatTooltipModule] }); }
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputTextModule, decorators: [{
55
+ type: NgModule,
56
+ args: [{
57
+ declarations: [InputTextComponent],
58
+ imports: [
59
+ CommonModule,
60
+ RouterModule,
61
+ FormsModule,
62
+ ReactiveFormsModule,
63
+ ErrorMessageModule,
64
+ TooltipMessageModule,
65
+ MatIconModule,
66
+ MatTooltipModule,
67
+ NgxMaskDirective,
68
+ ],
69
+ exports: [InputTextComponent],
70
+ providers: [provideNgxMask({ validation: false })],
71
+ }]
72
+ }] });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL2lucHV0LXRleHQvaW5wdXQtdGV4dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFrQnhELE1BQU0sT0FBTyxlQUFlO0lBQzFCLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBdUIsSUFBSSxTQUFTLEVBQUU7UUFDbkQsT0FBTztZQUNMLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRTtnQkFDNUQsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxTQUFTLEVBQUU7Z0JBQ25FLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsU0FBUyxFQUFFO2dCQUNuRSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRTtnQkFDeEQsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxTQUFTLEVBQUU7Z0JBQ25FLEVBQUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ2pGLEVBQUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsY0FBYyxFQUFFO2dCQUM3RSxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRTtnQkFDbEUsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxjQUFjLEVBQUU7Z0JBQzdFLEVBQUUsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsdUJBQXVCLEVBQUU7Z0JBQ2xHLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsWUFBWSxFQUFFO2dCQUN6RSxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLFVBQVUsRUFBRTtnQkFDckUsZ0JBQWdCO2FBQ2pCO1NBRUYsQ0FBQztJQUNKLENBQUM7K0dBckJVLGVBQWU7Z0hBQWYsZUFBZSxpQkFmWCxrQkFBa0IsYUFFL0IsWUFBWTtZQUNaLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixnQkFBZ0IsYUFFUixrQkFBa0I7Z0hBR2pCLGVBQWUsYUFGZixDQUFDLGNBQWMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLFlBWGhELFlBQVk7WUFDWixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsb0JBQW9CO1lBQ3BCLGFBQWE7WUFDYixnQkFBZ0I7OzRGQU1QLGVBQWU7a0JBaEIzQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUNsQyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQzdCLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2lCQUNuRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwXCI7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgTmd4TWFza0RpcmVjdGl2ZSwgcHJvdmlkZU5neE1hc2sgfSBmcm9tIFwibmd4LW1hc2tcIjtcclxuaW1wb3J0IHsgRXJyb3JNZXNzYWdlTW9kdWxlIH0gZnJvbSBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZS5tb2R1bGVcIjtcclxuaW1wb3J0IHsgVG9vbHRpcE1lc3NhZ2VNb2R1bGUgfSBmcm9tIFwiLi4vdG9vbHRpcC1tZXNzYWdlL3Rvb2x0aXAtbWVzc2FnZS5tb2R1bGVcIjtcclxuaW1wb3J0IHsgSW5wdXRUZXh0IH0gZnJvbSBcIi4vaW5wdXQtdGV4dFwiO1xyXG5pbXBvcnQgeyBJbnB1dFRleHRDb21wb25lbnQgfSBmcm9tIFwiLi9pbnB1dC10ZXh0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBJbnB1dFRleHRTZXJ2aWNlIH0gZnJvbSBcIi4vaW5wdXQtdGV4dC5zZXJ2aWNlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0lucHV0VGV4dENvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRXJyb3JNZXNzYWdlTW9kdWxlLFxyXG4gICAgVG9vbHRpcE1lc3NhZ2VNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE5neE1hc2tEaXJlY3RpdmUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbSW5wdXRUZXh0Q29tcG9uZW50XSxcclxuICBwcm92aWRlcnM6IFtwcm92aWRlTmd4TWFzayh7IHZhbGlkYXRpb246IGZhbHNlIH0pXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0VGV4dE1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoaW5wdXRUZXh0OiBJbnB1dFRleHQgPSBuZXcgSW5wdXRUZXh0KCkpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElucHV0VGV4dE1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IElucHV0VGV4dE1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBcIklOUFVUX1RFWFRfRk9STUFUXCIsIHVzZVZhbHVlOiBpbnB1dFRleHQuZm9ybWF0IH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBcIklOUFVUX1RFWFRfU0hPV19MQUJFTFwiLCB1c2VWYWx1ZTogaW5wdXRUZXh0LnNob3dMYWJlbCB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogXCJJTlBVVF9URVhUX0JUTl9FTkFCTEVcIiwgdXNlVmFsdWU6IGlucHV0VGV4dC5idG5FbmFibGUgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFwiSU5QVVRfVEVYVF9CT0xEXCIsIHVzZVZhbHVlOiBpbnB1dFRleHQuYm9sZCB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogXCJJTlBVVF9URVhUX1RFWFRfUklHSFRcIiwgdXNlVmFsdWU6IGlucHV0VGV4dC50ZXh0UmlnaHQgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFwiSU5QVVRfVEVYVF9WQUxJREFUT1JfTUVTU0FHRVwiLCB1c2VWYWx1ZTogaW5wdXRUZXh0LnZhbGlkYXRvck1lc3NhZ2UgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFwiSU5QVVRfVEVYVF9UT09MVElQX01FU1NBR0VcIiwgdXNlVmFsdWU6IGlucHV0VGV4dC50b29sdGlwTWVzc2FnZSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogXCJJTlBVVF9URVhUX1NVQk1JVFRFRFwiLCB1c2VWYWx1ZTogaW5wdXRUZXh0LnN1Ym1pdHRlZCB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogXCJJTlBVVF9URVhUX1ZBTElEQVRPUl9BTEVSVFwiLCB1c2VWYWx1ZTogaW5wdXRUZXh0LnZhbGlkYXRvckFsZXJ0IH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBcIklOUFVUX1RFWFRfQ09OVFJPTF9DTEVBUl9SRVBMQUNFX1JFR0VYXCIsIHVzZVZhbHVlOiBpbnB1dFRleHQuY29udHJvbENoYXJDbGVhclJlcGxhY2UgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFwiSU5QVVRfVEVYVF9SRVBMQUNFX1JFR0VYXCIsIHVzZVZhbHVlOiBpbnB1dFRleHQucmVwbGFjZVJlZ2V4IH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBcIklOUFVUX1RFWFRfQ0xFQVJfUkVHRVhcIiwgdXNlVmFsdWU6IGlucHV0VGV4dC5jbGVhclJlZ2V4IH0sXHJcbiAgICAgICAgSW5wdXRUZXh0U2VydmljZVxyXG4gICAgICBdLFxyXG4gICAgIFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19