info-library 2.15.1-beta → 3.0.0-beta

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 (184) hide show
  1. package/controls/alert/alert.component.d.ts +7 -7
  2. package/controls/autocomplete/autocomplete.component.d.ts +52 -51
  3. package/controls/big-checkbox/big-checkbox.component.d.ts +41 -41
  4. package/controls/card/card.component.d.ts +16 -16
  5. package/controls/card-menu/card-menu.component.d.ts +23 -23
  6. package/controls/checkbox/checkbox.component.d.ts +27 -27
  7. package/controls/chips/chips.component.d.ts +23 -23
  8. package/controls/date/date.component.d.ts +38 -37
  9. package/controls/date-month/date-month.component.d.ts +40 -39
  10. package/controls/editor/editor.component.d.ts +40 -40
  11. package/controls/grid/grid.component.d.ts +172 -172
  12. package/controls/input/input.component.d.ts +47 -37
  13. package/controls/input-list/input-list.component.d.ts +29 -29
  14. package/controls/list-checkbox/list-checkbox.component.d.ts +26 -26
  15. package/controls/message/message.component.d.ts +10 -10
  16. package/controls/multi-select/multi-select.component.d.ts +39 -37
  17. package/controls/paginator/paginator.component.d.ts +25 -25
  18. package/controls/select/select.component.d.ts +42 -41
  19. package/controls/timeline/timeline.component.d.ts +17 -17
  20. package/directives/mask.directive.d.ts +24 -24
  21. package/directives/unmask.directive.d.ts +12 -11
  22. package/enum/dialog-buttons.enum.d.ts +7 -7
  23. package/enum/index.d.ts +3 -3
  24. package/enum/modal-action.enum.d.ts +10 -10
  25. package/enum/page-action.enum.d.ts +8 -8
  26. package/esm2022/controls/alert/alert.component.mjs +72 -0
  27. package/esm2022/controls/autocomplete/autocomplete.component.mjs +265 -0
  28. package/esm2022/controls/big-checkbox/big-checkbox.component.mjs +300 -0
  29. package/esm2022/controls/card/card.component.mjs +83 -0
  30. package/esm2022/controls/card-menu/card-menu.component.mjs +143 -0
  31. package/esm2022/controls/checkbox/checkbox.component.mjs +93 -0
  32. package/esm2022/controls/chips/chips.component.mjs +114 -0
  33. package/esm2022/controls/date/date.component.mjs +173 -0
  34. package/esm2022/controls/date-month/date-month.component.mjs +181 -0
  35. package/esm2022/controls/editor/editor.component.mjs +139 -0
  36. package/esm2022/controls/grid/grid.component.mjs +1818 -0
  37. package/esm2022/controls/input/input.component.mjs +389 -0
  38. package/esm2022/controls/input-list/input-list.component.mjs +259 -0
  39. package/{esm2020 → esm2022}/controls/list-checkbox/list-checkbox.component.mjs +242 -238
  40. package/esm2022/controls/message/message.component.mjs +48 -0
  41. package/esm2022/controls/multi-select/multi-select.component.mjs +174 -0
  42. package/esm2022/controls/paginator/paginator.component.mjs +177 -0
  43. package/esm2022/controls/select/select.component.mjs +189 -0
  44. package/esm2022/controls/timeline/timeline.component.mjs +116 -0
  45. package/esm2022/directives/mask.directive.mjs +134 -0
  46. package/esm2022/directives/unmask.directive.mjs +35 -0
  47. package/{esm2020 → esm2022}/enum/dialog-buttons.enum.mjs +8 -8
  48. package/{esm2020 → esm2022}/enum/index.mjs +3 -3
  49. package/{esm2020 → esm2022}/enum/modal-action.enum.mjs +11 -11
  50. package/{esm2020 → esm2022}/enum/page-action.enum.mjs +9 -9
  51. package/{esm2020 → esm2022}/global-config.mjs +3 -3
  52. package/{esm2020 → esm2022}/info-library.mjs +4 -4
  53. package/esm2022/info-library.module.mjs +283 -0
  54. package/esm2022/layouts/dialog/dialog.component.mjs +192 -0
  55. package/esm2022/layouts/filter/filter.component.mjs +179 -0
  56. package/esm2022/layouts/loading/loading.component.mjs +40 -0
  57. package/esm2022/layouts/main/main.component.mjs +305 -0
  58. package/esm2022/layouts/modal/modal.component.mjs +273 -0
  59. package/esm2022/layouts/pagebar/pagebar.component.mjs +432 -0
  60. package/esm2022/layouts/sidebar/sidebar.component.mjs +447 -0
  61. package/esm2022/layouts/topbar/topbar.component.mjs +1032 -0
  62. package/esm2022/layouts/topmenu/topmenu.component.mjs +173 -0
  63. package/esm2022/model/app-config.model.mjs +14 -0
  64. package/esm2022/model/data-access.model.mjs +37 -0
  65. package/esm2022/model/dialog-result.model.mjs +9 -0
  66. package/esm2022/model/dialog.model.mjs +15 -0
  67. package/esm2022/model/form-prop.model.mjs +37 -0
  68. package/esm2022/model/grid-button.model.mjs +26 -0
  69. package/{esm2020 → esm2022}/model/index.mjs +14 -14
  70. package/esm2022/model/last-search.model.mjs +7 -0
  71. package/esm2022/model/login.model.mjs +11 -0
  72. package/esm2022/model/method-grid-button.model.mjs +11 -0
  73. package/esm2022/model/notification.model.mjs +13 -0
  74. package/{esm2020 → esm2022}/model/pagebar-buttons.model.mjs +15 -15
  75. package/esm2022/model/permission.model.mjs +6 -0
  76. package/esm2022/model/platform.model.mjs +20 -0
  77. package/esm2022/model/session.model.mjs +27 -0
  78. package/{esm2020 → esm2022}/pipe/index.mjs +2 -2
  79. package/esm2022/pipe/mask.pipe.mjs +38 -0
  80. package/esm2022/pipe/translate.pipe.mjs +27 -0
  81. package/{esm2020 → esm2022}/public_api.mjs +37 -36
  82. package/esm2022/service/authentication.service.mjs +411 -0
  83. package/esm2022/service/configuration.service.mjs +90 -0
  84. package/esm2022/service/data.service.mjs +129 -0
  85. package/{esm2020 → esm2022}/service/index.mjs +5 -5
  86. package/esm2022/service/theme.service.mjs +89 -0
  87. package/esm2022/service/translate.service.mjs +57 -0
  88. package/esm2022/utils/utilities.mjs +189 -0
  89. package/fesm2022/info-library.mjs +9364 -0
  90. package/fesm2022/info-library.mjs.map +1 -0
  91. package/global-config.d.ts +3 -3
  92. package/index.d.ts +5 -5
  93. package/info-library-3.0.0-beta.tgz +0 -0
  94. package/info-library.module.d.ts +61 -60
  95. package/layouts/dialog/dialog.component.d.ts +29 -29
  96. package/layouts/filter/filter.component.d.ts +24 -0
  97. package/layouts/loading/loading.component.d.ts +8 -8
  98. package/layouts/main/main.component.d.ts +60 -56
  99. package/layouts/modal/modal.component.d.ts +40 -39
  100. package/layouts/pagebar/pagebar.component.d.ts +45 -45
  101. package/layouts/sidebar/sidebar.component.d.ts +40 -40
  102. package/layouts/topbar/topbar.component.d.ts +69 -66
  103. package/layouts/topmenu/topmenu.component.d.ts +34 -34
  104. package/model/app-config.model.d.ts +13 -11
  105. package/model/data-access.model.d.ts +12 -12
  106. package/model/dialog-result.model.d.ts +6 -6
  107. package/model/dialog.model.d.ts +14 -14
  108. package/model/form-prop.model.d.ts +12 -12
  109. package/model/grid-button.model.d.ts +18 -18
  110. package/model/index.d.ts +14 -14
  111. package/model/last-search.model.d.ts +6 -6
  112. package/model/login.model.d.ts +6 -6
  113. package/model/method-grid-button.model.d.ts +6 -6
  114. package/model/notification.model.d.ts +12 -12
  115. package/model/pagebar-buttons.model.d.ts +10 -10
  116. package/model/permission.model.d.ts +5 -5
  117. package/model/platform.model.d.ts +16 -16
  118. package/model/session.model.d.ts +27 -22
  119. package/package.json +5 -11
  120. package/pipe/index.d.ts +2 -2
  121. package/pipe/mask.pipe.d.ts +8 -8
  122. package/pipe/translate.pipe.d.ts +10 -10
  123. package/public_api.d.ts +34 -33
  124. package/service/authentication.service.d.ts +63 -61
  125. package/service/configuration.service.d.ts +17 -14
  126. package/service/data.service.d.ts +41 -39
  127. package/service/index.d.ts +5 -5
  128. package/service/theme.service.d.ts +16 -16
  129. package/service/translate.service.d.ts +16 -16
  130. package/utils/utilities.d.ts +38 -27
  131. package/esm2020/controls/alert/alert.component.mjs +0 -74
  132. package/esm2020/controls/autocomplete/autocomplete.component.mjs +0 -258
  133. package/esm2020/controls/big-checkbox/big-checkbox.component.mjs +0 -298
  134. package/esm2020/controls/card/card.component.mjs +0 -77
  135. package/esm2020/controls/card-menu/card-menu.component.mjs +0 -145
  136. package/esm2020/controls/checkbox/checkbox.component.mjs +0 -93
  137. package/esm2020/controls/chips/chips.component.mjs +0 -113
  138. package/esm2020/controls/date/date.component.mjs +0 -141
  139. package/esm2020/controls/date-month/date-month.component.mjs +0 -148
  140. package/esm2020/controls/editor/editor.component.mjs +0 -135
  141. package/esm2020/controls/grid/grid.component.mjs +0 -1800
  142. package/esm2020/controls/input/input.component.mjs +0 -314
  143. package/esm2020/controls/input-list/input-list.component.mjs +0 -258
  144. package/esm2020/controls/message/message.component.mjs +0 -50
  145. package/esm2020/controls/multi-select/multi-select.component.mjs +0 -161
  146. package/esm2020/controls/paginator/paginator.component.mjs +0 -178
  147. package/esm2020/controls/select/select.component.mjs +0 -180
  148. package/esm2020/controls/timeline/timeline.component.mjs +0 -117
  149. package/esm2020/directives/mask.directive.mjs +0 -125
  150. package/esm2020/directives/unmask.directive.mjs +0 -28
  151. package/esm2020/info-library.module.mjs +0 -278
  152. package/esm2020/layouts/dialog/dialog.component.mjs +0 -188
  153. package/esm2020/layouts/loading/loading.component.mjs +0 -42
  154. package/esm2020/layouts/main/main.component.mjs +0 -258
  155. package/esm2020/layouts/modal/modal.component.mjs +0 -258
  156. package/esm2020/layouts/pagebar/pagebar.component.mjs +0 -404
  157. package/esm2020/layouts/sidebar/sidebar.component.mjs +0 -395
  158. package/esm2020/layouts/topbar/topbar.component.mjs +0 -868
  159. package/esm2020/layouts/topmenu/topmenu.component.mjs +0 -165
  160. package/esm2020/model/app-config.model.mjs +0 -14
  161. package/esm2020/model/data-access.model.mjs +0 -35
  162. package/esm2020/model/dialog-result.model.mjs +0 -8
  163. package/esm2020/model/dialog.model.mjs +0 -16
  164. package/esm2020/model/form-prop.model.mjs +0 -35
  165. package/esm2020/model/grid-button.model.mjs +0 -21
  166. package/esm2020/model/last-search.model.mjs +0 -9
  167. package/esm2020/model/login.model.mjs +0 -9
  168. package/esm2020/model/method-grid-button.model.mjs +0 -9
  169. package/esm2020/model/notification.model.mjs +0 -9
  170. package/esm2020/model/permission.model.mjs +0 -3
  171. package/esm2020/model/platform.model.mjs +0 -21
  172. package/esm2020/model/session.model.mjs +0 -8
  173. package/esm2020/pipe/mask.pipe.mjs +0 -34
  174. package/esm2020/pipe/translate.pipe.mjs +0 -26
  175. package/esm2020/service/authentication.service.mjs +0 -358
  176. package/esm2020/service/configuration.service.mjs +0 -59
  177. package/esm2020/service/data.service.mjs +0 -112
  178. package/esm2020/service/theme.service.mjs +0 -79
  179. package/esm2020/service/translate.service.mjs +0 -53
  180. package/esm2020/utils/utilities.mjs +0 -142
  181. package/fesm2015/info-library.mjs +0 -9312
  182. package/fesm2015/info-library.mjs.map +0 -1
  183. package/fesm2020/info-library.mjs +0 -8462
  184. package/fesm2020/info-library.mjs.map +0 -1
@@ -0,0 +1,389 @@
1
+ import { Component, forwardRef, Input, Output, EventEmitter, Injector } from "@angular/core";
2
+ import { NG_VALUE_ACCESSOR, NgControl, FormControl } from "@angular/forms";
3
+ import { StaticUtils } from "../../utils/utilities";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/forms";
7
+ import * as i3 from "@angular/material/icon";
8
+ import * as i4 from "@angular/material/form-field";
9
+ import * as i5 from "@angular/material/input";
10
+ import * as i6 from "ng2-currency-mask";
11
+ import * as i7 from "../../directives/mask.directive";
12
+ import * as i8 from "../../directives/unmask.directive";
13
+ import * as i9 from "../../pipe/translate.pipe";
14
+ function InfoInputComponent_mat_form_field_0_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
15
+ i0.ɵɵelementStart(0, "mat-icon", 6);
16
+ i0.ɵɵtext(1);
17
+ i0.ɵɵelementEnd();
18
+ } if (rf & 2) {
19
+ const ctx_r4 = i0.ɵɵnextContext(2);
20
+ i0.ɵɵadvance(1);
21
+ i0.ɵɵtextInterpolate(ctx_r4.iconPrefix);
22
+ } }
23
+ function InfoInputComponent_mat_form_field_0_mat_icon_4_Template(rf, ctx) { if (rf & 1) {
24
+ i0.ɵɵelementStart(0, "mat-icon", 7);
25
+ i0.ɵɵtext(1);
26
+ i0.ɵɵelementEnd();
27
+ } if (rf & 2) {
28
+ const ctx_r5 = i0.ɵɵnextContext(2);
29
+ i0.ɵɵadvance(1);
30
+ i0.ɵɵtextInterpolate(ctx_r5.iconSuffix);
31
+ } }
32
+ function InfoInputComponent_mat_form_field_0_mat_icon_5_Template(rf, ctx) { if (rf & 1) {
33
+ const _r9 = i0.ɵɵgetCurrentView();
34
+ i0.ɵɵelementStart(0, "mat-icon", 8);
35
+ i0.ɵɵlistener("click", function InfoInputComponent_mat_form_field_0_mat_icon_5_Template_mat_icon_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r8.type = ctx_r8.type == "password" ? "text" : "password"); });
36
+ i0.ɵɵtext(1);
37
+ i0.ɵɵelementEnd();
38
+ } if (rf & 2) {
39
+ const ctx_r6 = i0.ɵɵnextContext(2);
40
+ i0.ɵɵadvance(1);
41
+ i0.ɵɵtextInterpolate1("visibility", ctx_r6.type == "password" ? "" : "_off", "");
42
+ } }
43
+ function InfoInputComponent_mat_form_field_0_mat_error_6_Template(rf, ctx) { if (rf & 1) {
44
+ i0.ɵɵelementStart(0, "mat-error");
45
+ i0.ɵɵtext(1);
46
+ i0.ɵɵpipe(2, "translate");
47
+ i0.ɵɵelementEnd();
48
+ } if (rf & 2) {
49
+ const ctx_r7 = i0.ɵɵnextContext(2);
50
+ i0.ɵɵadvance(1);
51
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r7.errorMessage));
52
+ } }
53
+ function InfoInputComponent_mat_form_field_0_Template(rf, ctx) { if (rf & 1) {
54
+ const _r11 = i0.ɵɵgetCurrentView();
55
+ i0.ɵɵelementStart(0, "mat-form-field");
56
+ i0.ɵɵtemplate(1, InfoInputComponent_mat_form_field_0_mat_icon_1_Template, 2, 1, "mat-icon", 2);
57
+ i0.ɵɵelementStart(2, "input", 3);
58
+ i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_0_Template_input_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.value = $event); })("input", function InfoInputComponent_mat_form_field_0_Template_input_input_2_listener() { i0.ɵɵrestoreView(_r11); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_0_Template_input_blur_2_listener() { i0.ɵɵrestoreView(_r11); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.onBlur()); })("focusin", function InfoInputComponent_mat_form_field_0_Template_input_focusin_2_listener() { i0.ɵɵrestoreView(_r11); const ctx_r14 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r14.valueOnEnter = ctx_r14.value); });
59
+ i0.ɵɵpipe(3, "translate");
60
+ i0.ɵɵelementEnd();
61
+ i0.ɵɵtemplate(4, InfoInputComponent_mat_form_field_0_mat_icon_4_Template, 2, 1, "mat-icon", 4);
62
+ i0.ɵɵtemplate(5, InfoInputComponent_mat_form_field_0_mat_icon_5_Template, 2, 1, "mat-icon", 5);
63
+ i0.ɵɵtemplate(6, InfoInputComponent_mat_form_field_0_mat_error_6_Template, 3, 3, "mat-error", 0);
64
+ i0.ɵɵelementEnd();
65
+ } if (rf & 2) {
66
+ const ctx_r0 = i0.ɵɵnextContext();
67
+ i0.ɵɵadvance(1);
68
+ i0.ɵɵproperty("ngIf", ctx_r0.iconPrefix);
69
+ i0.ɵɵadvance(1);
70
+ i0.ɵɵproperty("type", ctx_r0.type)("step", ctx_r0.step)("min", ctx_r0.min)("max", ctx_r0.max)("tabindex", ctx_r0.tabindex)("placeholder", i0.ɵɵpipeBind1(3, 15, ctx_r0.placeholder))("ngModel", ctx_r0.value)("maxlength", ctx_r0.maxlength)("readonly", ctx_r0.readonly)("disabled", ctx_r0.disabled)("required", ctx_r0.required);
71
+ i0.ɵɵadvance(2);
72
+ i0.ɵɵproperty("ngIf", ctx_r0.iconSuffix);
73
+ i0.ɵɵadvance(1);
74
+ i0.ɵɵproperty("ngIf", ctx_r0.passwordMode);
75
+ i0.ɵɵadvance(1);
76
+ i0.ɵɵproperty("ngIf", ctx_r0.errorMessage);
77
+ } }
78
+ function InfoInputComponent_mat_form_field_1_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
79
+ i0.ɵɵelementStart(0, "mat-icon", 6);
80
+ i0.ɵɵtext(1);
81
+ i0.ɵɵelementEnd();
82
+ } if (rf & 2) {
83
+ const ctx_r15 = i0.ɵɵnextContext(2);
84
+ i0.ɵɵadvance(1);
85
+ i0.ɵɵtextInterpolate(ctx_r15.iconPrefix);
86
+ } }
87
+ function InfoInputComponent_mat_form_field_1_input_2_Template(rf, ctx) { if (rf & 1) {
88
+ const _r21 = i0.ɵɵgetCurrentView();
89
+ i0.ɵɵelementStart(0, "input", 11);
90
+ i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_1_input_2_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r20 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r20.value = $event); })("ngModelChange", function InfoInputComponent_mat_form_field_1_input_2_Template_input_ngModelChange_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r22 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r22.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_1_input_2_Template_input_blur_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r23 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r23.onBlur()); })("focusin", function InfoInputComponent_mat_form_field_1_input_2_Template_input_focusin_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r24 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r24.valueOnEnter = ctx_r24.value); });
91
+ i0.ɵɵpipe(1, "translate");
92
+ i0.ɵɵelementEnd();
93
+ } if (rf & 2) {
94
+ const ctx_r16 = i0.ɵɵnextContext(2);
95
+ i0.ɵɵproperty("tabindex", ctx_r16.tabindex)("placeholder", i0.ɵɵpipeBind1(1, 7, ctx_r16.placeholder))("ngModel", ctx_r16.value)("readonly", ctx_r16.readonly)("disabled", ctx_r16.disabled)("required", ctx_r16.required)("options", ctx_r16.maskOptions);
96
+ } }
97
+ function InfoInputComponent_mat_form_field_1_input_3_Template(rf, ctx) { if (rf & 1) {
98
+ const _r26 = i0.ɵɵgetCurrentView();
99
+ i0.ɵɵelementStart(0, "input", 12);
100
+ i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_1_input_3_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r25.value = $event); })("ngModelChange", function InfoInputComponent_mat_form_field_1_input_3_Template_input_ngModelChange_0_listener() { i0.ɵɵrestoreView(_r26); const ctx_r27 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r27.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_1_input_3_Template_input_blur_0_listener() { i0.ɵɵrestoreView(_r26); const ctx_r28 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r28.onBlur()); })("focusin", function InfoInputComponent_mat_form_field_1_input_3_Template_input_focusin_0_listener() { i0.ɵɵrestoreView(_r26); const ctx_r29 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r29.valueOnEnter = ctx_r29.value); });
101
+ i0.ɵɵpipe(1, "translate");
102
+ i0.ɵɵelementEnd();
103
+ } if (rf & 2) {
104
+ const ctx_r17 = i0.ɵɵnextContext(2);
105
+ i0.ɵɵproperty("formControl", ctx_r17.formControl)("tabindex", ctx_r17.tabindex)("placeholder", i0.ɵɵpipeBind1(1, 9, ctx_r17.placeholder))("ngModel", ctx_r17.value)("readonly", ctx_r17.readonly)("disabled", ctx_r17.disabled)("required", ctx_r17.required)("setmask", ctx_r17.customMask)("unmask", ctx_r17.customMask);
106
+ } }
107
+ function InfoInputComponent_mat_form_field_1_mat_icon_4_Template(rf, ctx) { if (rf & 1) {
108
+ i0.ɵɵelementStart(0, "mat-icon", 7);
109
+ i0.ɵɵtext(1);
110
+ i0.ɵɵelementEnd();
111
+ } if (rf & 2) {
112
+ const ctx_r18 = i0.ɵɵnextContext(2);
113
+ i0.ɵɵadvance(1);
114
+ i0.ɵɵtextInterpolate(ctx_r18.iconSuffix);
115
+ } }
116
+ function InfoInputComponent_mat_form_field_1_mat_error_5_Template(rf, ctx) { if (rf & 1) {
117
+ i0.ɵɵelementStart(0, "mat-error");
118
+ i0.ɵɵtext(1);
119
+ i0.ɵɵpipe(2, "translate");
120
+ i0.ɵɵelementEnd();
121
+ } if (rf & 2) {
122
+ const ctx_r19 = i0.ɵɵnextContext(2);
123
+ i0.ɵɵadvance(1);
124
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r19.errorMessage));
125
+ } }
126
+ function InfoInputComponent_mat_form_field_1_Template(rf, ctx) { if (rf & 1) {
127
+ i0.ɵɵelementStart(0, "mat-form-field");
128
+ i0.ɵɵtemplate(1, InfoInputComponent_mat_form_field_1_mat_icon_1_Template, 2, 1, "mat-icon", 2);
129
+ i0.ɵɵtemplate(2, InfoInputComponent_mat_form_field_1_input_2_Template, 2, 9, "input", 9);
130
+ i0.ɵɵtemplate(3, InfoInputComponent_mat_form_field_1_input_3_Template, 2, 11, "input", 10);
131
+ i0.ɵɵtemplate(4, InfoInputComponent_mat_form_field_1_mat_icon_4_Template, 2, 1, "mat-icon", 4);
132
+ i0.ɵɵtemplate(5, InfoInputComponent_mat_form_field_1_mat_error_5_Template, 3, 3, "mat-error", 0);
133
+ i0.ɵɵelementEnd();
134
+ } if (rf & 2) {
135
+ const ctx_r1 = i0.ɵɵnextContext();
136
+ i0.ɵɵadvance(1);
137
+ i0.ɵɵproperty("ngIf", ctx_r1.iconPrefix);
138
+ i0.ɵɵadvance(1);
139
+ i0.ɵɵproperty("ngIf", ctx_r1.customMask == null);
140
+ i0.ɵɵadvance(1);
141
+ i0.ɵɵproperty("ngIf", ctx_r1.customMask != null);
142
+ i0.ɵɵadvance(1);
143
+ i0.ɵɵproperty("ngIf", ctx_r1.iconSuffix);
144
+ i0.ɵɵadvance(1);
145
+ i0.ɵɵproperty("ngIf", ctx_r1.errorMessage);
146
+ } }
147
+ function InfoInputComponent_mat_form_field_2_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
148
+ i0.ɵɵelementStart(0, "mat-icon", 6);
149
+ i0.ɵɵtext(1);
150
+ i0.ɵɵelementEnd();
151
+ } if (rf & 2) {
152
+ const ctx_r30 = i0.ɵɵnextContext(2);
153
+ i0.ɵɵadvance(1);
154
+ i0.ɵɵtextInterpolate(ctx_r30.iconPrefix);
155
+ } }
156
+ function InfoInputComponent_mat_form_field_2_mat_error_4_Template(rf, ctx) { if (rf & 1) {
157
+ i0.ɵɵelementStart(0, "mat-error");
158
+ i0.ɵɵtext(1);
159
+ i0.ɵɵpipe(2, "translate");
160
+ i0.ɵɵelementEnd();
161
+ } if (rf & 2) {
162
+ const ctx_r31 = i0.ɵɵnextContext(2);
163
+ i0.ɵɵadvance(1);
164
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r31.errorMessage));
165
+ } }
166
+ function InfoInputComponent_mat_form_field_2_Template(rf, ctx) { if (rf & 1) {
167
+ const _r33 = i0.ɵɵgetCurrentView();
168
+ i0.ɵɵelementStart(0, "mat-form-field");
169
+ i0.ɵɵtemplate(1, InfoInputComponent_mat_form_field_2_mat_icon_1_Template, 2, 1, "mat-icon", 2);
170
+ i0.ɵɵelementStart(2, "textarea", 13);
171
+ i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_2_Template_textarea_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r33); const ctx_r32 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r32.value = $event); })("input", function InfoInputComponent_mat_form_field_2_Template_textarea_input_2_listener() { i0.ɵɵrestoreView(_r33); const ctx_r34 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r34.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_2_Template_textarea_blur_2_listener() { i0.ɵɵrestoreView(_r33); const ctx_r35 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r35.onBlur()); })("focusin", function InfoInputComponent_mat_form_field_2_Template_textarea_focusin_2_listener() { i0.ɵɵrestoreView(_r33); const ctx_r36 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r36.valueOnEnter = ctx_r36.value); });
172
+ i0.ɵɵpipe(3, "translate");
173
+ i0.ɵɵelementEnd();
174
+ i0.ɵɵtemplate(4, InfoInputComponent_mat_form_field_2_mat_error_4_Template, 3, 3, "mat-error", 0);
175
+ i0.ɵɵelementEnd();
176
+ } if (rf & 2) {
177
+ const ctx_r2 = i0.ɵɵnextContext();
178
+ i0.ɵɵadvance(1);
179
+ i0.ɵɵproperty("ngIf", ctx_r2.iconPrefix);
180
+ i0.ɵɵadvance(1);
181
+ i0.ɵɵproperty("tabindex", ctx_r2.tabindex)("placeholder", i0.ɵɵpipeBind1(3, 10, ctx_r2.placeholder))("ngModel", ctx_r2.value)("rows", ctx_r2.rows)("maxlength", ctx_r2.maxlength)("readonly", ctx_r2.readonly)("disabled", ctx_r2.disabled)("required", ctx_r2.required);
182
+ i0.ɵɵadvance(2);
183
+ i0.ɵɵproperty("ngIf", ctx_r2.errorMessage);
184
+ } }
185
+ function InfoInputComponent_mat_form_field_3_mat_icon_7_Template(rf, ctx) { if (rf & 1) {
186
+ i0.ɵɵelementStart(0, "mat-icon", 7);
187
+ i0.ɵɵtext(1);
188
+ i0.ɵɵelementEnd();
189
+ } if (rf & 2) {
190
+ const ctx_r38 = i0.ɵɵnextContext(2);
191
+ i0.ɵɵadvance(1);
192
+ i0.ɵɵtextInterpolate(ctx_r38.iconSuffix);
193
+ } }
194
+ function InfoInputComponent_mat_form_field_3_Template(rf, ctx) { if (rf & 1) {
195
+ const _r40 = i0.ɵɵgetCurrentView();
196
+ i0.ɵɵelementStart(0, "mat-form-field", 14)(1, "div", 15)(2, "input", 16, 17);
197
+ i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_3_Template_input_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r39.value = $event); })("change", function InfoInputComponent_mat_form_field_3_Template_input_change_2_listener() { i0.ɵɵrestoreView(_r40); const ctx_r41 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r41.writeValue(ctx_r41.value)); });
198
+ i0.ɵɵelementEnd();
199
+ i0.ɵɵelementStart(4, "div", 18);
200
+ i0.ɵɵlistener("click", function InfoInputComponent_mat_form_field_3_Template_div_click_4_listener() { i0.ɵɵrestoreView(_r40); const _r37 = i0.ɵɵreference(3); return i0.ɵɵresetView(_r37.click()); });
201
+ i0.ɵɵelementEnd();
202
+ i0.ɵɵelementStart(5, "input", 19);
203
+ i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_3_Template_input_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r40); const ctx_r43 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r43.value = $event); })("input", function InfoInputComponent_mat_form_field_3_Template_input_input_5_listener() { i0.ɵɵrestoreView(_r40); const ctx_r44 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r44.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_3_Template_input_blur_5_listener() { i0.ɵɵrestoreView(_r40); const ctx_r45 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r45.onBlur()); })("focusin", function InfoInputComponent_mat_form_field_3_Template_input_focusin_5_listener() { i0.ɵɵrestoreView(_r40); const ctx_r46 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r46.valueOnEnter = ctx_r46.value); });
204
+ i0.ɵɵpipe(6, "translate");
205
+ i0.ɵɵelementEnd();
206
+ i0.ɵɵtemplate(7, InfoInputComponent_mat_form_field_3_mat_icon_7_Template, 2, 1, "mat-icon", 4);
207
+ i0.ɵɵelementEnd()();
208
+ } if (rf & 2) {
209
+ const ctx_r3 = i0.ɵɵnextContext();
210
+ i0.ɵɵadvance(2);
211
+ i0.ɵɵproperty("ngModel", ctx_r3.value)("readonly", ctx_r3.readonly)("disabled", ctx_r3.disabled);
212
+ i0.ɵɵadvance(2);
213
+ i0.ɵɵstyleProp("background-color", ctx_r3.value);
214
+ i0.ɵɵadvance(1);
215
+ i0.ɵɵproperty("tabindex", ctx_r3.tabindex)("placeholder", i0.ɵɵpipeBind1(6, 13, ctx_r3.placeholder))("ngModel", ctx_r3.value)("maxlength", ctx_r3.maxlength)("readonly", ctx_r3.readonly)("disabled", ctx_r3.disabled)("required", ctx_r3.required);
216
+ i0.ɵɵadvance(2);
217
+ i0.ɵɵproperty("ngIf", ctx_r3.iconSuffix);
218
+ } }
219
+ export class InfoInputComponent {
220
+ injector;
221
+ control;
222
+ placeholder;
223
+ disabled = false;
224
+ readonly = false;
225
+ required = false;
226
+ maxlength;
227
+ type = 'text';
228
+ rows = 1;
229
+ tabindex = 0;
230
+ iconPrefix = '';
231
+ iconSuffix = '';
232
+ min = -99999999999999.999999999;
233
+ max = 99999999999999.999999999;
234
+ step = null;
235
+ validate = false;
236
+ bluronlychange = false;
237
+ onblur = new EventEmitter();
238
+ maskOptions = {
239
+ align: 'right',
240
+ allowNegative: true,
241
+ decimal: ',',
242
+ precision: 2,
243
+ prefix: '',
244
+ suffix: '',
245
+ thousands: '.'
246
+ };
247
+ value = '';
248
+ valueOnEnter = null;
249
+ customMask = null;
250
+ onChange;
251
+ onTouched;
252
+ passwordMode = false;
253
+ errorMessage = null;
254
+ formControl = new FormControl();
255
+ constructor(injector) {
256
+ this.injector = injector;
257
+ }
258
+ ngAfterViewInit() {
259
+ this.control = this.injector.get(NgControl, null);
260
+ if (this.control)
261
+ this.formControl = this.control.control;
262
+ }
263
+ ngOnInit() {
264
+ this.passwordMode = this.type.toLocaleLowerCase() == 'password';
265
+ }
266
+ methodIsmask = null;
267
+ get ismask() {
268
+ return this.methodIsmask;
269
+ }
270
+ set ismask(value) {
271
+ this.methodIsmask = value;
272
+ if (this.methodIsmask != null) {
273
+ this.methodIsmask = this.methodIsmask.toLowerCase();
274
+ if (this.methodIsmask == 'int')
275
+ this.maskOptions.precision = 0;
276
+ else if (this.methodIsmask[0] == 'n' && (this.methodIsmask.length == 2 || this.methodIsmask.length == 3))
277
+ this.maskOptions.precision = parseInt(this.methodIsmask.replace('n', ''));
278
+ else
279
+ this.customMask = this.methodIsmask;
280
+ }
281
+ }
282
+ validarCampo() {
283
+ if (!this.validate)
284
+ return;
285
+ this.errorMessage = null;
286
+ if (this.value && this.customMask == 'cnpj' && !StaticUtils.validarCnpj(this.value))
287
+ this.errorMessage = 'CNPJInvalido';
288
+ else if (this.value && this.customMask == 'cpf' && !StaticUtils.validarCpf(this.value))
289
+ this.errorMessage = 'CPFInvalido';
290
+ if (!!this.errorMessage && this.formControl) {
291
+ this.formControl.setErrors({ invalid: true });
292
+ }
293
+ }
294
+ onBlur() {
295
+ this.validarCampo();
296
+ if (this.type == 'number' || (this.ismask != null && this.ismask.startsWith("n"))) {
297
+ if (this.min != null)
298
+ this.value = this.min > Number(this.value) ? null : this.value;
299
+ if (this.max != null)
300
+ this.value = this.max < Number(this.value) ? null : this.value;
301
+ this.onChangeValue();
302
+ }
303
+ if (this.onblur != null && (!this.bluronlychange || this.valueOnEnter != this.value))
304
+ this.onblur.emit(this.value);
305
+ }
306
+ onChangeValue() {
307
+ if (this.onChange != null)
308
+ this.onChange(this.value);
309
+ }
310
+ writeValue(modelValue) {
311
+ this.value = modelValue;
312
+ this.onChangeValue();
313
+ }
314
+ registerOnChange(fn) {
315
+ this.onChange = fn;
316
+ }
317
+ registerOnTouched(fn) {
318
+ this.onTouched = fn;
319
+ }
320
+ setDisabledState(isDisabled) {
321
+ this.disabled = isDisabled;
322
+ }
323
+ /** @nocollapse */ static ɵfac = function InfoInputComponent_Factory(t) { return new (t || InfoInputComponent)(i0.ɵɵdirectiveInject(i0.Injector)); };
324
+ /** @nocollapse */ static ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: InfoInputComponent, selectors: [["info-input"]], inputs: { placeholder: "placeholder", disabled: "disabled", readonly: "readonly", required: "required", maxlength: "maxlength", type: "type", rows: "rows", tabindex: "tabindex", iconPrefix: "iconPrefix", iconSuffix: "iconSuffix", min: "min", max: "max", step: "step", validate: "validate", bluronlychange: "bluronlychange", ismask: "ismask" }, outputs: { onblur: "onblur" }, features: [i0.ɵɵProvidersFeature([
325
+ {
326
+ provide: NG_VALUE_ACCESSOR,
327
+ useExisting: forwardRef((() => InfoInputComponent)),
328
+ multi: true
329
+ },
330
+ ])], decls: 4, vars: 4, consts: [[4, "ngIf"], ["class", "input-color", 4, "ngIf"], ["matPrefix", "", "style", "color: #aaa", 4, "ngIf"], ["matInput", "", 3, "type", "step", "min", "max", "tabindex", "placeholder", "ngModel", "maxlength", "readonly", "disabled", "required", "ngModelChange", "input", "blur", "focusin"], ["matSuffix", "", "style", "color: #aaa", 4, "ngIf"], ["class", "show-password", "matSuffix", "", 3, "click", 4, "ngIf"], ["matPrefix", "", 2, "color", "#aaa"], ["matSuffix", "", 2, "color", "#aaa"], ["matSuffix", "", 1, "show-password", 3, "click"], ["matInput", "", "currencyMask", "", 3, "tabindex", "placeholder", "ngModel", "readonly", "disabled", "required", "options", "ngModelChange", "blur", "focusin", 4, "ngIf"], ["matInput", "", 3, "formControl", "tabindex", "placeholder", "ngModel", "readonly", "disabled", "required", "setmask", "unmask", "ngModelChange", "blur", "focusin", 4, "ngIf"], ["matInput", "", "currencyMask", "", 3, "tabindex", "placeholder", "ngModel", "readonly", "disabled", "required", "options", "ngModelChange", "blur", "focusin"], ["matInput", "", 3, "formControl", "tabindex", "placeholder", "ngModel", "readonly", "disabled", "required", "setmask", "unmask", "ngModelChange", "blur", "focusin"], ["matInput", "", 3, "tabindex", "placeholder", "ngModel", "rows", "maxlength", "readonly", "disabled", "required", "ngModelChange", "input", "blur", "focusin"], [1, "input-color"], [1, "input-color-container"], ["type", "color", 2, "width", "0px", "visibility", "hidden", 3, "ngModel", "readonly", "disabled", "ngModelChange", "change"], ["colorInput", ""], [1, "color-picker", 3, "click"], ["matInput", "", "type", "text", 3, "tabindex", "placeholder", "ngModel", "maxlength", "readonly", "disabled", "required", "ngModelChange", "input", "blur", "focusin"]], template: function InfoInputComponent_Template(rf, ctx) { if (rf & 1) {
331
+ i0.ɵɵtemplate(0, InfoInputComponent_mat_form_field_0_Template, 7, 17, "mat-form-field", 0);
332
+ i0.ɵɵtemplate(1, InfoInputComponent_mat_form_field_1_Template, 6, 5, "mat-form-field", 0);
333
+ i0.ɵɵtemplate(2, InfoInputComponent_mat_form_field_2_Template, 5, 12, "mat-form-field", 0);
334
+ i0.ɵɵtemplate(3, InfoInputComponent_mat_form_field_3_Template, 8, 15, "mat-form-field", 1);
335
+ } if (rf & 2) {
336
+ i0.ɵɵproperty("ngIf", ctx.type != "color" && ctx.type != "textarea" && ctx.ismask == null);
337
+ i0.ɵɵadvance(1);
338
+ i0.ɵɵproperty("ngIf", ctx.type != "color" && ctx.type != "textarea" && ctx.ismask != null);
339
+ i0.ɵɵadvance(1);
340
+ i0.ɵɵproperty("ngIf", ctx.type == "textarea");
341
+ i0.ɵɵadvance(1);
342
+ i0.ɵɵproperty("ngIf", ctx.type == "color");
343
+ } }, dependencies: [i1.NgIf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.RequiredValidator, i2.MaxLengthValidator, i2.NgModel, i2.FormControlDirective, i3.MatIcon, i4.MatError, i4.MatFormField, i4.MatPrefix, i4.MatSuffix, i5.MatInput, i6.CurrencyMaskDirective, i7.InfoMaskDirective, i8.InfoUnmaskDirective, i9.InfoTranslatePipe], styles: ["[_nghost-%COMP%] .input-color[_ngcontent-%COMP%] .mat-form-field-label{transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1),margin .4s cubic-bezier(.25,.8,.25,1)}[_nghost-%COMP%] .input-color[_ngcontent-%COMP%]:not(.mat-form-field-should-float) .mat-form-field-label{margin-left:40px}[_nghost-%COMP%] .input-color.mat-form-field-should-float[_ngcontent-%COMP%] .mat-form-field-label{margin-left:0}[_nghost-%COMP%] .input-color[_ngcontent-%COMP%] .input-color-container[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .input-color[_ngcontent-%COMP%] .input-color-container[_ngcontent-%COMP%] input[type=color][_ngcontent-%COMP%]{width:0px;height:0px;visibility:hidden}[_nghost-%COMP%] .input-color[_ngcontent-%COMP%] .input-color-container[_ngcontent-%COMP%] .color-picker[_ngcontent-%COMP%]{width:30px;border:solid 1px black;border-radius:5px;margin-right:5px}"] });
344
+ }
345
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoInputComponent, [{
346
+ type: Component,
347
+ args: [{ selector: 'info-input', providers: [
348
+ {
349
+ provide: NG_VALUE_ACCESSOR,
350
+ useExisting: forwardRef((() => InfoInputComponent)),
351
+ multi: true
352
+ },
353
+ ], template: "<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask == null\" >\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <input matInput [type]=\"type\" [step]=\"step\" [min]=\"min\" [max]=\"max\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" \r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-icon class=\"show-password\" *ngIf=\"passwordMode\" (click)=\"type = (type == 'password') ? 'text' : 'password'\" matSuffix >visibility{{ type == 'password' ? '' : '_off' }}</mat-icon>\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask != null\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n\r\n <input matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" *ngIf=\"customMask == null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [options]=\"maskOptions\" currencyMask>\r\n\r\n <input matInput [formControl]=\"formControl\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" *ngIf=\"customMask != null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [setmask]=\"customMask\" [unmask]=\"customMask\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type == 'textarea'\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <textarea matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" [rows]=\"rows\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\"></textarea>\r\n\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field class=\"input-color\" *ngIf=\"type == 'color'\">\r\n \r\n <div class=\"input-color-container\">\r\n <input #colorInput style=\"width: 0px;visibility: hidden;\" type=\"color\" [(ngModel)]=\"value\" (change)=\"writeValue(value)\" [readonly]=\"readonly\" [disabled]=\"disabled\">\r\n <div class=\"color-picker\" [style.background-color]=\"value\" (click)=\"colorInput.click()\"></div>\r\n \r\n <input matInput type=\"text\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" \r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n \r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n </div>\r\n</mat-form-field>", styles: [":host .input-color ::ng-deep .mat-form-field-label{transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1),margin .4s cubic-bezier(.25,.8,.25,1)}:host .input-color:not(.mat-form-field-should-float) ::ng-deep .mat-form-field-label{margin-left:40px}:host .input-color.mat-form-field-should-float ::ng-deep .mat-form-field-label{margin-left:0}:host .input-color .input-color-container{display:flex}:host .input-color .input-color-container input[type=color]{width:0px;height:0px;visibility:hidden}:host .input-color .input-color-container .color-picker{width:30px;border:solid 1px black;border-radius:5px;margin-right:5px}\n"] }]
354
+ }], function () { return [{ type: i0.Injector }]; }, { placeholder: [{
355
+ type: Input
356
+ }], disabled: [{
357
+ type: Input
358
+ }], readonly: [{
359
+ type: Input
360
+ }], required: [{
361
+ type: Input
362
+ }], maxlength: [{
363
+ type: Input
364
+ }], type: [{
365
+ type: Input
366
+ }], rows: [{
367
+ type: Input
368
+ }], tabindex: [{
369
+ type: Input
370
+ }], iconPrefix: [{
371
+ type: Input
372
+ }], iconSuffix: [{
373
+ type: Input
374
+ }], min: [{
375
+ type: Input
376
+ }], max: [{
377
+ type: Input
378
+ }], step: [{
379
+ type: Input
380
+ }], validate: [{
381
+ type: Input
382
+ }], bluronlychange: [{
383
+ type: Input
384
+ }], onblur: [{
385
+ type: Output
386
+ }], ismask: [{
387
+ type: Input
388
+ }] }); })();
389
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5mby1saWJyYXJ5L3NyYy9jb250cm9scy9pbnB1dC9pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL2lucHV0L2lucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFrQixRQUFRLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzNJLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsU0FBUyxFQUFpQixXQUFXLEVBQXlFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkwsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7SUNEM0QsbUNBQTJEO0lBQUEsWUFBYztJQUFBLGlCQUFXOzs7SUFBekIsZUFBYztJQUFkLHVDQUFjOzs7SUFLekUsbUNBQTJEO0lBQUEsWUFBYztJQUFBLGlCQUFXOzs7SUFBekIsZUFBYztJQUFkLHVDQUFjOzs7O0lBQ3pFLG1DQUE0SDtJQUF2RSxvT0FBeUIsVUFBVSxHQUFJLE1BQU0sR0FBRyxVQUFVLEtBQUM7SUFBWSxZQUFnRDtJQUFBLGlCQUFXOzs7SUFBM0QsZUFBZ0Q7SUFBaEQsZ0ZBQWdEOzs7SUFDNUssaUNBQWdDO0lBQUEsWUFBNEI7O0lBQUEsaUJBQVk7OztJQUF4QyxlQUE0QjtJQUE1QiwrREFBNEI7Ozs7SUFSaEUsc0NBQWlGO0lBQzdFLDhGQUFvRjtJQUVwRixnQ0FDOEY7SUFEb0MsMk9BQW1CLDhKQUFVLGVBQUEsdUJBQWUsQ0FBQSxJQUF6Qiw0SkFBbUMsZUFBQSxnQkFBUSxDQUFBLElBQTNDLDBOQUFBOztJQUFySixpQkFDOEY7SUFFOUYsOEZBQW9GO0lB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LEVBQUUsSUFBSTtpQkFDZDthQUNKO1lDZEwsMEZBU2lCO1lBRWpCLHlGQVdpQjtZQUVqQiwwRkFPaUI7WUFFakIsMEZBV2lCOztZQTVDQSwwRkFBNkQ7WUFXN0QsZUFBNkQ7WUFBN0QsMEZBQTZEO1lBYTdELGVBQXdCO1lBQXhCLDZDQUF3QjtZQVNKLGVBQXFCO1lBQXJCLDBDQUFxQjs7O3VGRGpCN0Msa0JBQWtCO2NBWjlCLFNBQVM7MkJBQ0ksWUFBWSxhQUdaO29CQUNOO3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLG1CQUFtQixFQUFDO3dCQUNqRCxLQUFLLEVBQUUsSUFBSTtxQkFDZDtpQkFDSjsyREFNUSxXQUFXO2tCQUFuQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLEdBQUc7a0JBQVgsS0FBSztZQUNHLEdBQUc7a0JBQVgsS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBRUksTUFBTTtrQkFBZixNQUFNO1lBb0NILE1BQU07a0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9wdGlvbmFsLCBTZWxmLCBJbmplY3RvciwgRGlyZWN0aXZlLCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCwgTkdfVkFMSURBVE9SUywgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZuLCBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBTdGF0aWNVdGlscywgVXRpbGl0aWVzIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3V0aWxpdGllc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2luZm8taW5wdXQnLFxyXG4gICAgc3R5bGVVcmxzOiBbICdpbnB1dC5jb21wb25lbnQuc2NzcycgXSxcclxuICAgIHRlbXBsYXRlVXJsOiAnaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgcHJvdmlkZXJzOltcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbmZvSW5wdXRDb21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgIH0sXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmZvSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICBwcml2YXRlIGNvbnRyb2w6IE5nQ29udHJvbFxyXG5cclxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBtYXhsZW5ndGg6IGFueTtcclxuICAgIEBJbnB1dCgpIHR5cGU6IHN0cmluZyA9ICd0ZXh0JztcclxuICAgIEBJbnB1dCgpIHJvd3M6IG51bWJlciA9IDE7XHJcbiAgICBASW5wdXQoKSB0YWJpbmRleDogbnVtYmVyID0gMDtcclxuICAgIEBJbnB1dCgpIGljb25QcmVmaXg6IHN0cmluZyA9ICcnO1xyXG4gICAgQElucHV0KCkgaWNvblN1ZmZpeDogc3RyaW5nID0gJyc7XHJcbiAgICBASW5wdXQoKSBtaW46IG51bWJlciA9IC05OTk5OTk5OTk5OTk5OS45OTk5OTk5OTk7XHJcbiAgICBASW5wdXQoKSBtYXg6IG51bWJlciA9IDk5OTk5OTk5OTk5OTk5Ljk5OTk5OTk5OTtcclxuICAgIEBJbnB1dCgpIHN0ZXA6IG51bWJlciA9IG51bGw7XHJcbiAgICBASW5wdXQoKSB2YWxpZGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgYmx1cm9ubHljaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25ibHVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgXHJcbiAgICBtYXNrT3B0aW9uczogYW55ID0ge1xyXG4gICAgICAgIGFsaWduOiAncmlnaHQnLFxyXG4gICAgICAgIGFsbG93TmVnYXRpdmU6IHRydWUsXHJcbiAgICAgICAgZGVjaW1hbDogJywnLFxyXG4gICAgICAgIHByZWNpc2lvbjogMixcclxuICAgICAgICBwcmVmaXg6ICcnLFxyXG4gICAgICAgIHN1ZmZpeDogJycsXHJcbiAgICAgICAgdGhvdXNhbmRzOiAnLidcclxuICAgIH07XHJcbiAgICBcclxuICAgIHZhbHVlOiBzdHJpbmcgPSAnJztcclxuICAgIHZhbHVlT25FbnRlcjogYW55ID0gbnVsbDtcclxuICAgIGN1c3RvbU1hc2s6IHN0cmluZyA9IG51bGw7XHJcbiAgICBvbkNoYW5nZTogYW55O1xyXG4gICAgb25Ub3VjaGVkOiBhbnk7XHJcbiAgICBwYXNzd29yZE1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGVycm9yTWVzc2FnZTogc3RyaW5nID0gbnVsbDtcclxuICAgIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHsgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwpO1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpXHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmNvbnRyb2wuY29udHJvbDsgXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7IFxyXG4gICAgICAgIHRoaXMucGFzc3dvcmRNb2RlID0gdGhpcy50eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT0gJ3Bhc3N3b3JkJztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG1ldGhvZElzbWFzazogc3RyaW5nID0gbnVsbDtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgaXNtYXNrKCl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWV0aG9kSXNtYXNrO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBpc21hc2sodmFsdWUpe1xyXG4gICAgICAgIHRoaXMubWV0aG9kSXNtYXNrID0gdmFsdWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm1ldGhvZElzbWFzayAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWV0aG9kSXNtYXNrID0gdGhpcy5tZXRob2RJc21hc2sudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1ldGhvZElzbWFzayA9PSAnaW50JylcclxuICAgICAgICAgICAgICAgIHRoaXMubWFza09wdGlvbnMucHJlY2lzaW9uID0gMDtcclxuXHJcbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMubWV0aG9kSXNtYXNrWzBdID09ICduJyAmJiAodGhpcy5tZXRob2RJc21hc2subGVuZ3RoID09IDIgfHwgdGhpcy5tZXRob2RJc21hc2subGVuZ3RoID09IDMpKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXNrT3B0aW9ucy5wcmVjaXNpb24gPSBwYXJzZUludCh0aGlzLm1ldGhvZElzbWFzay5yZXBsYWNlKCduJywgJycpKTtcclxuXHJcbiAgICAgICAgICAgIGVsc2UgdGhpcy5jdXN0b21NYXNrID0gdGhpcy5tZXRob2RJc21hc2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHZhbGlkYXJDYW1wbygpIHtcclxuICAgICAgICBpZiAoIXRoaXMudmFsaWRhdGUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBudWxsO1xyXG5cclxuICAgICAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLmN1c3RvbU1hc2sgPT0gJ2NucGonICYmICFTdGF0aWNVdGlscy52YWxpZGFyQ25waih0aGlzLnZhbHVlKSlcclxuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnQ05QSkludmFsaWRvJztcclxuICAgICAgICBlbHNlIGlmICh0aGlzLnZhbHVlICYmIHRoaXMuY3VzdG9tTWFzayA9PSAnY3BmJyAmJiAhU3RhdGljVXRpbHMudmFsaWRhckNwZih0aGlzLnZhbHVlKSlcclxuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnQ1BGSW52YWxpZG8nO1xyXG5cclxuICAgICAgICBpZiAoISF0aGlzLmVycm9yTWVzc2FnZSAmJiB0aGlzLmZvcm1Db250cm9sKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0RXJyb3JzKHtpbnZhbGlkOiB0cnVlfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uQmx1cigpIHtcclxuICAgICAgICB0aGlzLnZhbGlkYXJDYW1wbygpO1xyXG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT0gJ251bWJlcicgfHwgKHRoaXMuaXNtYXNrICE9IG51bGwgJiYgdGhpcy5pc21hc2suc3RhcnRzV2l0aChcIm5cIikpKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1pbiAhPSBudWxsKVxyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubWluID4gTnVtYmVyKHRoaXMudmFsdWUpID8gbnVsbCA6IHRoaXMudmFsdWU7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5tYXggIT0gbnVsbClcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm1heCA8IE51bWJlcih0aGlzLnZhbHVlKSA/IG51bGwgOiB0aGlzLnZhbHVlO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZVZhbHVlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5vbmJsdXIgIT0gbnVsbCAmJiAoIXRoaXMuYmx1cm9ubHljaGFuZ2UgfHwgdGhpcy52YWx1ZU9uRW50ZXIgIT0gdGhpcy52YWx1ZSkpXHJcbiAgICAgICAgICAgIHRoaXMub25ibHVyLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DaGFuZ2VWYWx1ZSgpe1xyXG4gICAgICAgIGlmICh0aGlzLm9uQ2hhbmdlICE9IG51bGwpXHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZShtb2RlbFZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gbW9kZWxWYWx1ZTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlVmFsdWUoKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgfVxyXG59IiwiPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwidHlwZSAhPSAnY29sb3InICYmIHR5cGUgIT0gJ3RleHRhcmVhJyAmJiBpc21hc2sgPT0gbnVsbFwiID5cclxuICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25QcmVmaXhcIiBtYXRQcmVmaXggc3R5bGU9XCJjb2xvcjogI2FhYVwiPnt7aWNvblByZWZpeH19PC9tYXQtaWNvbj5cclxuICAgIFxyXG4gICAgPGlucHV0IG1hdElucHV0IFt0eXBlXT1cInR5cGVcIiBbc3RlcF09XCJzdGVwXCIgW21pbl09XCJtaW5cIiBbbWF4XT1cIm1heFwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiIFsobmdNb2RlbCldPVwidmFsdWVcIiAoaW5wdXQpPVwib25DaGFuZ2VWYWx1ZSgpXCIgKGJsdXIpPVwib25CbHVyKClcIiAoZm9jdXNpbik9XCJ2YWx1ZU9uRW50ZXIgPSB2YWx1ZVwiIFxyXG4gICAgICAgIFttYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCI+XHJcblxyXG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblN1ZmZpeFwiIG1hdFN1ZmZpeCBzdHlsZT1cImNvbG9yOiAjYWFhXCI+e3tpY29uU3VmZml4fX08L21hdC1pY29uPlxyXG4gICAgPG1hdC1pY29uIGNsYXNzPVwic2hvdy1wYXNzd29yZFwiICpuZ0lmPVwicGFzc3dvcmRNb2RlXCIgKGNsaWNrKT1cInR5cGUgPSAodHlwZSA9PSAncGFzc3dvcmQnKSA/ICd0ZXh0JyA6ICdwYXNzd29yZCdcIiBtYXRTdWZmaXggPnZpc2liaWxpdHl7eyB0eXBlID09ICdwYXNzd29yZCcgPyAnJyA6ICdfb2ZmJyB9fTwvbWF0LWljb24+XHJcbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCI+e3tlcnJvck1lc3NhZ2UgfCB0cmFuc2xhdGV9fTwvbWF0LWVycm9yPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwidHlwZSAhPSAnY29sb3InICYmIHR5cGUgIT0gJ3RleHRhcmVhJyAmJiBpc21hc2sgIT0gbnVsbFwiPlxyXG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblByZWZpeFwiIG1hdFByZWZpeCBzdHlsZT1cImNvbG9yOiAjYWFhXCI+e3tpY29uUHJlZml4fX08L21hdC1pY29uPlxyXG5cclxuICAgIDxpbnB1dCBtYXRJbnB1dCBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2VWYWx1ZSgpXCIgKGJsdXIpPVwib25CbHVyKClcIiAoZm9jdXNpbik9XCJ2YWx1ZU9uRW50ZXIgPSB2YWx1ZVwiICpuZ0lmPVwiY3VzdG9tTWFzayA9PSBudWxsXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbb3B0aW9uc109XCJtYXNrT3B0aW9uc1wiIGN1cnJlbmN5TWFzaz5cclxuXHJcbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlVmFsdWUoKVwiIChibHVyKT1cIm9uQmx1cigpXCIgKGZvY3VzaW4pPVwidmFsdWVPbkVudGVyID0gdmFsdWVcIiAqbmdJZj1cImN1c3RvbU1hc2sgIT0gbnVsbFwiXHJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgW3NldG1hc2tdPVwiY3VzdG9tTWFza1wiIFt1bm1hc2tdPVwiY3VzdG9tTWFza1wiPlxyXG5cclxuICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25TdWZmaXhcIiBtYXRTdWZmaXggc3R5bGU9XCJjb2xvcjogI2FhYVwiPnt7aWNvblN1ZmZpeH19PC9tYXQtaWNvbj5cclxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj57e2Vycm9yTWVzc2FnZSB8IHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG48bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJ0eXBlID09ICd0ZXh0YXJlYSdcIj5cclxuICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25QcmVmaXhcIiBtYXRQcmVmaXggc3R5bGU9XCJjb2xvcjogI2FhYVwiPnt7aWNvblByZWZpeH19PC9tYXQtaWNvbj5cclxuICAgIFxyXG4gICAgPHRleHRhcmVhIG1hdElucHV0IFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiIFsobmdNb2RlbCldPVwidmFsdWVcIiAoaW5wdXQpPVwib25DaGFuZ2VWYWx1ZSgpXCIgKGJsdXIpPVwib25CbHVyKClcIiAoZm9jdXNpbik9XCJ2YWx1ZU9uRW50ZXIgPSB2YWx1ZVwiIFtyb3dzXT1cInJvd3NcIlxyXG4gICAgICAgIFttYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCI+PC90ZXh0YXJlYT5cclxuXHJcbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCI+e3tlcnJvck1lc3NhZ2UgfCB0cmFuc2xhdGV9fTwvbWF0LWVycm9yPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiaW5wdXQtY29sb3JcIiAqbmdJZj1cInR5cGUgPT0gJ2NvbG9yJ1wiPlxyXG4gICAgXHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtY29sb3ItY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGlucHV0ICNjb2xvcklucHV0IHN0eWxlPVwid2lkdGg6IDBweDt2aXNpYmlsaXR5OiBoaWRkZW47XCIgdHlwZT1cImNvbG9yXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChjaGFuZ2UpPVwid3JpdGVWYWx1ZSh2YWx1ZSlcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sb3ItcGlja2VyXCIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwidmFsdWVcIiAoY2xpY2spPVwiY29sb3JJbnB1dC5jbGljaygpXCI+PC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChpbnB1dCk9XCJvbkNoYW5nZVZhbHVlKClcIiAoYmx1cik9XCJvbkJsdXIoKVwiIChmb2N1c2luKT1cInZhbHVlT25FbnRlciA9IHZhbHVlXCIgXHJcbiAgICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5ndGhcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIj5cclxuICAgICAgICBcclxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uU3VmZml4XCIgbWF0U3VmZml4IHN0eWxlPVwiY29sb3I6ICNhYWFcIj57e2ljb25TdWZmaXh9fTwvbWF0LWljb24+XHJcbiAgICA8L2Rpdj5cclxuPC9tYXQtZm9ybS1maWVsZD4iXX0=