ng-inail-common 2.0.34-beta.2 → 2.0.34-beta.5

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 (178) hide show
  1. package/esm2020/lib/components/core/base.component.mjs +120 -0
  2. package/esm2020/lib/components/core/basic-ux-element.component.mjs +48 -0
  3. package/esm2020/lib/components/core/form/checkbox/checkbox.component.mjs +124 -0
  4. package/esm2020/lib/components/core/form/form-element.component.mjs +156 -0
  5. package/esm2020/lib/components/core/form/input-date/input-date.component.mjs +240 -0
  6. package/esm2020/lib/components/core/form/input-file/input-file.component.mjs +98 -0
  7. package/esm2020/lib/components/core/form/input-number/input-number.component.mjs +202 -0
  8. package/esm2020/lib/components/core/form/input-text/input-text.component.mjs +131 -0
  9. package/esm2020/lib/components/core/form/input-time/input-time.component.mjs +211 -0
  10. package/esm2020/lib/components/core/form/multi-select/multi-select.component.mjs +139 -0
  11. package/esm2020/lib/components/core/form/radio-select/radio-select.component.mjs +143 -0
  12. package/esm2020/lib/components/core/form/select/select.component.mjs +146 -0
  13. package/esm2020/lib/components/core/form/textarea/textarea.component.mjs +134 -0
  14. package/esm2020/lib/components/core/layout/breadcrumb/breadcrumb.component.mjs +78 -0
  15. package/esm2020/lib/components/core/layout/footer/footer.component.mjs +137 -0
  16. package/esm2020/lib/components/core/layout/header/header.component.mjs +114 -0
  17. package/esm2020/lib/components/core/layout/inail-layout/inail-layout.component.mjs +614 -0
  18. package/{esm2015/lib/components/core/layout/inail-layout/static-resources.js → esm2020/lib/components/core/layout/inail-layout/static-resources.mjs} +0 -0
  19. package/{esm2015/lib/components/core/layout/inail-layout/webkit-resources.js → esm2020/lib/components/core/layout/inail-layout/webkit-resources.mjs} +0 -0
  20. package/{esm2015/lib/components/core/layout/layout-common-config.js → esm2020/lib/components/core/layout/layout-common-config.mjs} +0 -0
  21. package/esm2020/lib/components/core/layout/loader/loader.component.mjs +33 -0
  22. package/esm2020/lib/components/core/layout/menu/menu.component.mjs +541 -0
  23. package/esm2020/lib/components/core/layout/menu-intranet/menu-intranet.component.mjs +104 -0
  24. package/esm2020/lib/components/core/layout/navigazione-interna/navigazione-interna.component.mjs +19 -0
  25. package/esm2020/lib/components/core/layout/navigazione-principale/navigazione-principale.component.mjs +110 -0
  26. package/esm2020/lib/components/core/layout/navigazione-secondaria/navigazione-secondaria.component.mjs +58 -0
  27. package/esm2020/lib/components/core/layout/navigazione-utente/navigazione-utente.component.mjs +230 -0
  28. package/esm2020/lib/components/core/layout/trigger-slider-menu-button/trigger-slider-menu-button.component.mjs +44 -0
  29. package/esm2020/lib/components/core/responsive-element.component.mjs +53 -0
  30. package/esm2020/lib/components/core/table/inail-table-page-selector/inail-table-page-selector.component.mjs +114 -0
  31. package/esm2020/lib/components/core/table/table/table.component.mjs +595 -0
  32. package/esm2020/lib/components/core/table/table-page-length-selector/table-page-length-selector.component.mjs +57 -0
  33. package/esm2020/lib/components/core/table/th-label/th-label.component.mjs +89 -0
  34. package/esm2020/lib/components/core/table/tr-accordion/tr-accordion.component.mjs +58 -0
  35. package/esm2020/lib/components/core/table/tr-checkbox/tr-checkbox.component.mjs +77 -0
  36. package/esm2020/lib/components/core/ux/accordion/accordion.component.mjs +135 -0
  37. package/esm2020/lib/components/core/ux/alert/alert.component.mjs +66 -0
  38. package/esm2020/lib/components/core/ux/button/button.component.mjs +98 -0
  39. package/esm2020/lib/components/core/ux/confirm/confirm.component.mjs +94 -0
  40. package/esm2020/lib/components/core/ux/container/container.component.mjs +39 -0
  41. package/esm2020/lib/components/core/ux/feedback/feedback.component.mjs +115 -0
  42. package/esm2020/lib/components/core/ux/form-grey/form-grey.component.mjs +32 -0
  43. package/esm2020/lib/components/core/ux/modal/modal.component.mjs +186 -0
  44. package/esm2020/lib/components/core/ux/page-title/page-title.component.mjs +103 -0
  45. package/esm2020/lib/components/core/ux/popover/popover.component.mjs +81 -0
  46. package/esm2020/lib/components/core/ux/progress-bar/progress-bar.component.mjs +50 -0
  47. package/esm2020/lib/components/core/ux/selector/selector.component.mjs +214 -0
  48. package/esm2020/lib/components/core/ux/tab-group/tab-group.component.mjs +77 -0
  49. package/esm2020/lib/components/core/ux/tab-pane/tab-pane.component.mjs +64 -0
  50. package/esm2020/lib/components/core/ux/wizard/wizard.component.mjs +114 -0
  51. package/esm2020/lib/components/utilities/form-element-state-propertie/form-element-state-propertie.component.mjs +19 -0
  52. package/esm2020/lib/components/utilities/pre/pre.component.mjs +14 -0
  53. package/esm2020/lib/components/utilities/state-propertie/state-propertie.component.mjs +21 -0
  54. package/{esm2015/lib/ng-inail-common.config.js → esm2020/lib/ng-inail-common.config.mjs} +0 -0
  55. package/esm2020/lib/ng-inail-common.module.mjs +285 -0
  56. package/{esm2015/lib/utils/common.operators.js → esm2020/lib/utils/common.operators.mjs} +0 -0
  57. package/{esm2015/lib/utils/date.operators.js → esm2020/lib/utils/date.operators.mjs} +0 -0
  58. package/{esm2015/lib/utils/types.js → esm2020/lib/utils/types.mjs} +0 -0
  59. package/esm2020/ng-inail-common.mjs +5 -0
  60. package/esm2020/public-api.mjs +61 -0
  61. package/fesm2015/ng-inail-common.mjs +6757 -0
  62. package/fesm2015/ng-inail-common.mjs.map +1 -0
  63. package/fesm2020/ng-inail-common.mjs +6613 -0
  64. package/fesm2020/ng-inail-common.mjs.map +1 -0
  65. package/lib/components/core/base.component.d.ts +3 -0
  66. package/lib/components/core/basic-ux-element.component.d.ts +3 -0
  67. package/lib/components/core/form/checkbox/checkbox.component.d.ts +3 -0
  68. package/lib/components/core/form/form-element.component.d.ts +3 -0
  69. package/lib/components/core/form/input-date/input-date.component.d.ts +3 -0
  70. package/lib/components/core/form/input-file/input-file.component.d.ts +3 -0
  71. package/lib/components/core/form/input-number/input-number.component.d.ts +3 -0
  72. package/lib/components/core/form/input-text/input-text.component.d.ts +3 -0
  73. package/lib/components/core/form/input-time/input-time.component.d.ts +3 -0
  74. package/lib/components/core/form/multi-select/multi-select.component.d.ts +3 -0
  75. package/lib/components/core/form/radio-select/radio-select.component.d.ts +3 -0
  76. package/lib/components/core/form/select/select.component.d.ts +3 -0
  77. package/lib/components/core/form/textarea/textarea.component.d.ts +3 -0
  78. package/lib/components/core/layout/breadcrumb/breadcrumb.component.d.ts +3 -0
  79. package/lib/components/core/layout/footer/footer.component.d.ts +3 -0
  80. package/lib/components/core/layout/header/header.component.d.ts +3 -0
  81. package/lib/components/core/layout/inail-layout/inail-layout.component.d.ts +3 -0
  82. package/lib/components/core/layout/loader/loader.component.d.ts +3 -0
  83. package/lib/components/core/layout/menu/menu.component.d.ts +3 -0
  84. package/lib/components/core/layout/menu-intranet/menu-intranet.component.d.ts +3 -0
  85. package/lib/components/core/layout/navigazione-interna/navigazione-interna.component.d.ts +3 -0
  86. package/lib/components/core/layout/navigazione-principale/navigazione-principale.component.d.ts +3 -0
  87. package/lib/components/core/layout/navigazione-secondaria/navigazione-secondaria.component.d.ts +3 -0
  88. package/lib/components/core/layout/navigazione-utente/navigazione-utente.component.d.ts +3 -0
  89. package/lib/components/core/layout/trigger-slider-menu-button/trigger-slider-menu-button.component.d.ts +3 -0
  90. package/lib/components/core/responsive-element.component.d.ts +3 -0
  91. package/lib/components/core/table/inail-table-page-selector/inail-table-page-selector.component.d.ts +3 -0
  92. package/lib/components/core/table/table/table.component.d.ts +3 -0
  93. package/lib/components/core/table/table-page-length-selector/table-page-length-selector.component.d.ts +3 -0
  94. package/lib/components/core/table/th-label/th-label.component.d.ts +3 -0
  95. package/lib/components/core/table/tr-accordion/tr-accordion.component.d.ts +3 -0
  96. package/lib/components/core/table/tr-checkbox/tr-checkbox.component.d.ts +3 -0
  97. package/lib/components/core/ux/accordion/accordion.component.d.ts +3 -0
  98. package/lib/components/core/ux/alert/alert.component.d.ts +3 -0
  99. package/lib/components/core/ux/button/button.component.d.ts +3 -0
  100. package/lib/components/core/ux/confirm/confirm.component.d.ts +3 -0
  101. package/lib/components/core/ux/container/container.component.d.ts +3 -0
  102. package/lib/components/core/ux/feedback/feedback.component.d.ts +3 -0
  103. package/lib/components/core/ux/form-grey/form-grey.component.d.ts +3 -0
  104. package/lib/components/core/ux/modal/modal.component.d.ts +3 -0
  105. package/lib/components/core/ux/page-title/page-title.component.d.ts +3 -0
  106. package/lib/components/core/ux/popover/popover.component.d.ts +3 -0
  107. package/lib/components/core/ux/progress-bar/progress-bar.component.d.ts +3 -0
  108. package/lib/components/core/ux/selector/selector.component.d.ts +3 -0
  109. package/lib/components/core/ux/tab-group/tab-group.component.d.ts +3 -0
  110. package/lib/components/core/ux/tab-pane/tab-pane.component.d.ts +3 -0
  111. package/lib/components/core/ux/wizard/wizard.component.d.ts +3 -0
  112. package/lib/components/utilities/form-element-state-propertie/form-element-state-propertie.component.d.ts +3 -0
  113. package/lib/components/utilities/pre/pre.component.d.ts +3 -0
  114. package/lib/components/utilities/state-propertie/state-propertie.component.d.ts +3 -0
  115. package/lib/ng-inail-common.module.d.ts +58 -0
  116. package/ng-inail-common.d.ts +1 -6
  117. package/package.json +22 -10
  118. package/public-api.d.ts +1 -0
  119. package/bundles/ng-inail-common.umd.js +0 -7241
  120. package/bundles/ng-inail-common.umd.js.map +0 -1
  121. package/bundles/ng-inail-common.umd.min.js +0 -17
  122. package/bundles/ng-inail-common.umd.min.js.map +0 -1
  123. package/esm2015/lib/components/core/base.component.js +0 -115
  124. package/esm2015/lib/components/core/basic-ux-element.component.js +0 -44
  125. package/esm2015/lib/components/core/form/checkbox/checkbox.component.js +0 -113
  126. package/esm2015/lib/components/core/form/form-element.component.js +0 -130
  127. package/esm2015/lib/components/core/form/input-date/input-date.component.js +0 -229
  128. package/esm2015/lib/components/core/form/input-file/input-file.component.js +0 -89
  129. package/esm2015/lib/components/core/form/input-number/input-number.component.js +0 -192
  130. package/esm2015/lib/components/core/form/input-text/input-text.component.js +0 -119
  131. package/esm2015/lib/components/core/form/input-time/input-time.component.js +0 -197
  132. package/esm2015/lib/components/core/form/multi-select/multi-select.component.js +0 -131
  133. package/esm2015/lib/components/core/form/radio-select/radio-select.component.js +0 -133
  134. package/esm2015/lib/components/core/form/select/select.component.js +0 -132
  135. package/esm2015/lib/components/core/form/textarea/textarea.component.js +0 -120
  136. package/esm2015/lib/components/core/layout/breadcrumb/breadcrumb.component.js +0 -79
  137. package/esm2015/lib/components/core/layout/footer/footer.component.js +0 -139
  138. package/esm2015/lib/components/core/layout/header/header.component.js +0 -114
  139. package/esm2015/lib/components/core/layout/inail-layout/inail-layout.component.js +0 -621
  140. package/esm2015/lib/components/core/layout/loader/loader.component.js +0 -38
  141. package/esm2015/lib/components/core/layout/menu/menu.component.js +0 -532
  142. package/esm2015/lib/components/core/layout/menu-intranet/menu-intranet.component.js +0 -108
  143. package/esm2015/lib/components/core/layout/navigazione-interna/navigazione-interna.component.js +0 -24
  144. package/esm2015/lib/components/core/layout/navigazione-principale/navigazione-principale.component.js +0 -112
  145. package/esm2015/lib/components/core/layout/navigazione-secondaria/navigazione-secondaria.component.js +0 -60
  146. package/esm2015/lib/components/core/layout/navigazione-utente/navigazione-utente.component.js +0 -242
  147. package/esm2015/lib/components/core/layout/trigger-slider-menu-button/trigger-slider-menu-button.component.js +0 -50
  148. package/esm2015/lib/components/core/responsive-element.component.js +0 -47
  149. package/esm2015/lib/components/core/table/inail-table-page-selector/inail-table-page-selector.component.js +0 -116
  150. package/esm2015/lib/components/core/table/table/table.component.js +0 -568
  151. package/esm2015/lib/components/core/table/table-page-length-selector/table-page-length-selector.component.js +0 -57
  152. package/esm2015/lib/components/core/table/th-label/th-label.component.js +0 -91
  153. package/esm2015/lib/components/core/table/tr-accordion/tr-accordion.component.js +0 -63
  154. package/esm2015/lib/components/core/table/tr-checkbox/tr-checkbox.component.js +0 -74
  155. package/esm2015/lib/components/core/ux/accordion/accordion.component.js +0 -123
  156. package/esm2015/lib/components/core/ux/alert/alert.component.js +0 -60
  157. package/esm2015/lib/components/core/ux/button/button.component.js +0 -83
  158. package/esm2015/lib/components/core/ux/confirm/confirm.component.js +0 -83
  159. package/esm2015/lib/components/core/ux/container/container.component.js +0 -43
  160. package/esm2015/lib/components/core/ux/feedback/feedback.component.js +0 -104
  161. package/esm2015/lib/components/core/ux/form-grey/form-grey.component.js +0 -37
  162. package/esm2015/lib/components/core/ux/modal/modal.component.js +0 -185
  163. package/esm2015/lib/components/core/ux/page-title/page-title.component.js +0 -101
  164. package/esm2015/lib/components/core/ux/popover/popover.component.js +0 -78
  165. package/esm2015/lib/components/core/ux/progress-bar/progress-bar.component.js +0 -53
  166. package/esm2015/lib/components/core/ux/selector/selector.component.js +0 -201
  167. package/esm2015/lib/components/core/ux/tab-group/tab-group.component.js +0 -77
  168. package/esm2015/lib/components/core/ux/tab-pane/tab-pane.component.js +0 -63
  169. package/esm2015/lib/components/core/ux/wizard/wizard.component.js +0 -108
  170. package/esm2015/lib/components/utilities/form-element-state-propertie/form-element-state-propertie.component.js +0 -20
  171. package/esm2015/lib/components/utilities/pre/pre.component.js +0 -16
  172. package/esm2015/lib/components/utilities/state-propertie/state-propertie.component.js +0 -21
  173. package/esm2015/lib/ng-inail-common.module.js +0 -179
  174. package/esm2015/ng-inail-common.js +0 -11
  175. package/esm2015/public-api.js +0 -60
  176. package/fesm2015/ng-inail-common.js +0 -6457
  177. package/fesm2015/ng-inail-common.js.map +0 -1
  178. package/ng-inail-common.metadata.json +0 -1
@@ -0,0 +1,120 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Output, ViewEncapsulation } from '@angular/core';
2
+ import { isNotBlankOrNull, isString } from "../../utils/common.operators";
3
+ import { NG_INAIL_COMMON_CONFIG } from "../../ng-inail-common.config";
4
+ import * as i0 from "@angular/core";
5
+ export var LogLevel;
6
+ (function (LogLevel) {
7
+ LogLevel["LOG"] = "log";
8
+ LogLevel["TRACE"] = "trace";
9
+ LogLevel["DEBUG"] = "debug";
10
+ LogLevel["INFO"] = "info";
11
+ LogLevel["WARN"] = "warn";
12
+ LogLevel["ERROR"] = "error";
13
+ })(LogLevel || (LogLevel = {}));
14
+ export const CHANGE_DETECTION_STRATEGY = ChangeDetectionStrategy.OnPush;
15
+ // export const CHANGE_DETECTION_STRATEGY = ChangeDetectionStrategy.Default;
16
+ export const getConfigValue = (value, defaultValue) => value != undefined ? value : defaultValue;
17
+ export class BaseComponent {
18
+ constructor(baseComponentCdr, baseElementLibConfig) {
19
+ this.baseComponentCdr = baseComponentCdr;
20
+ this.baseElementLibConfig = baseElementLibConfig;
21
+ /**
22
+ * Se true effettua il log direttamente nella console.
23
+ * Altrimenti emette l'evento log
24
+ */
25
+ this.logOnConsole = getConfigValue(this.baseElementLibConfig?.logOnConsole, false);
26
+ /**
27
+ *
28
+ */
29
+ this.showState = false;
30
+ this.subcriptions = [];
31
+ this.push = (subcription) => this.subcriptions.push(subcription);
32
+ // Detach centralizzato
33
+ this.detach = () => {
34
+ this.baseComponentCdr.detach();
35
+ };
36
+ this.detectChanges = () => this.baseComponentCdr.detectChanges();
37
+ this.getMessage = (event) => this.logPrefix && isString(event.message) ? `${this.logPrefix} ${event.message}` : event.message;
38
+ this.getNotBlankValue = (v) => isNotBlankOrNull(`${v}`) ? v : undefined;
39
+ this.log = new EventEmitter();
40
+ saveEE();
41
+ }
42
+ overrideConfig(config) {
43
+ if (config) {
44
+ this.logOnConsole = getConfigValue(config.logOnConsole, this.logOnConsole);
45
+ }
46
+ }
47
+ ngOnChanges(changes) {
48
+ this.emitDebug(`${this.logPrefix} ngOnChanges`);
49
+ this.emitDebug(changes);
50
+ }
51
+ ngOnInit() {
52
+ this.emitDebug(`${this.logPrefix} ngOnInit`);
53
+ this.emitDebug(`${this.logPrefix} this`);
54
+ this.emitDebug(this);
55
+ if (this.detectChange) {
56
+ this.push(this.detectChange.subscribe(() => this.baseComponentCdr.detectChanges()));
57
+ }
58
+ }
59
+ ngOnDestroy() {
60
+ this.emitDebug(`${this.logPrefix} ngOnDestroy`);
61
+ this.subcriptions.forEach(s => s?.unsubscribe());
62
+ }
63
+ emitLog(message) {
64
+ this.emit({ message: message, level: LogLevel.LOG });
65
+ }
66
+ emitTrace(message) {
67
+ this.emit({ message: message, level: LogLevel.TRACE });
68
+ }
69
+ emitDebug(message) {
70
+ this.emit({ message: message, level: LogLevel.DEBUG });
71
+ }
72
+ emitInfo(message) {
73
+ this.emit({ message: message, level: LogLevel.INFO });
74
+ }
75
+ emitWarn(message) {
76
+ this.emit({ message: message, level: LogLevel.WARN });
77
+ }
78
+ emitError(message) {
79
+ this.emit({ message: message, level: LogLevel.ERROR });
80
+ }
81
+ emit(event) {
82
+ if (event) {
83
+ if (this.logOnConsole === true) {
84
+ console[event.level].apply(this, [this.getMessage(event)]);
85
+ }
86
+ else {
87
+ this.log.emit(event);
88
+ }
89
+ }
90
+ }
91
+ }
92
+ BaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BaseComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: NG_INAIL_COMMON_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
93
+ BaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: BaseComponent, selector: "inail-base", inputs: { logOnConsole: "logOnConsole", showState: "showState", detectChange: "detectChange" }, outputs: { log: "log" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BaseComponent, decorators: [{
95
+ type: Component,
96
+ args: [{
97
+ selector: 'inail-base',
98
+ template: '',
99
+ styles: [],
100
+ changeDetection: CHANGE_DETECTION_STRATEGY,
101
+ encapsulation: ViewEncapsulation.None
102
+ }]
103
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
104
+ type: Inject,
105
+ args: [NG_INAIL_COMMON_CONFIG]
106
+ }] }]; }, propDecorators: { log: [{
107
+ type: Output
108
+ }], logOnConsole: [{
109
+ type: Input
110
+ }], showState: [{
111
+ type: Input
112
+ }], detectChange: [{
113
+ type: Input
114
+ }] } });
115
+ function saveEE() {
116
+ if (!window['asd']) {
117
+ window['asd'] = JSON.parse(atob('ewogICJhdXRvcmUiOiAiU2ltb25lIEFudG9uaW5pIiwKICAiZXRhIjogImRpcGVuZGUgZGFsbCdhbm5vIGNvcnJlbnRlIiwKICAiaG9iYnkiOiBbIlBlc2NhIiwgIlNub3dib2FyZCIsICJHYW1pbmciLCAiQ3Jvc3NmaXQiXSwKICAicHJlZmVyaXRpIjogewogICAgInBlc2NpIjogWyJDYXJwYSIsICJCbGFjayBCYXNzIl0sCiAgICAidmlkZW9naW9jaGkiOiBbIkZGVklJIiwgIkZGVklJUiIsICJEZWF0aCBTdHJhbmRpbmciLCAiU2VraXJvIiwgIlJlZCBEZWFkIFJlZGVtcHRpb24gMiIsICJUTE9VIiwgIlRMT1UyIl0sCiAgICAibGlicmkiOiBbCiAgICAgIHsiYXV0b3JlIjogIkdhYnJpZWwgR2FyY2lhIE1hcnF1ZXoiLCAidGl0b2xvIjogIkNlbnQnYW5uaSBkaSBzb2xpdHVkaW5lIn0sCiAgICAgIHsiYXV0b3JlIjogIkFsZXNzYW5kcm8gQmFyaWNjbyIsICJ0aXRvbG8iOiAiQ2FzdGVsbGkgZGkgcmFiYmlhIn0sCiAgICAgIHsiYXV0b3JlIjogIkFsZXNzYW5kcm8gQmFyaWNjbyIsICJ0aXRvbG8iOiAiU2V0YSJ9LAogICAgICB7ImF1dG9yZSI6ICJZYXN1bmFyaSBLYXdhYmF0YSIsICJ0aXRvbG8iOiAiTGEgY2FzYSBkZWxsZSBiZWxsZSBhZGRvcm1lbnRhdGUifQogICAgXQogIH0sCiAgImltcHJlc2VDZWxlYnJpIjogWyJTb3Bwb3J0byBtaWEgbWFkcmUgZGEgcXVhc2kgNDAgYW5uaSJdLAogICJwcm92b0Ftb3JlUGVyIjogWyJJbCBtaW8gY2FuZSIsICJJbCBtaW8gZ2F0dG8iLCAiSWwgdGlyYW1pc3UiXQp9'));
118
+ }
119
+ }
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pbmFpbC1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBK0IsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUwsT0FBTyxFQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRXhFLE9BQU8sRUFBc0Isc0JBQXNCLEVBQXNCLE1BQU0sOEJBQThCLENBQUM7O0FBRTlHLE1BQU0sQ0FBTixJQUFZLFFBUVg7QUFSRCxXQUFZLFFBQVE7SUFFbEIsdUJBQVcsQ0FBQTtJQUNYLDJCQUFlLENBQUE7SUFDZiwyQkFBZSxDQUFBO0lBQ2YseUJBQWEsQ0FBQTtJQUNiLHlCQUFhLENBQUE7SUFDYiwyQkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFSVyxRQUFRLEtBQVIsUUFBUSxRQVFuQjtBQVFELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLHVCQUF1QixDQUFDLE1BQU0sQ0FBQztBQUN4RSw0RUFBNEU7QUFFNUUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBVSxFQUFFLFlBQWlCLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0FBUzNHLE1BQU0sT0FBTyxhQUFhO0lBb0N4QixZQUFvQixnQkFBbUMsRUFFbkMsb0JBQTBDO1FBRjFDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFFbkMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQTlCOUQ7OztXQUdHO1FBRUgsaUJBQVks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QUFlLEVBQUUseUJBQXlCO29CQUMxQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7OzBCQXNDYyxNQUFNOzJCQUFDLHNCQUFzQjs0Q0EvQjFDLEdBQUc7c0JBREYsTUFBTTtnQkFRUCxZQUFZO3NCQURYLEtBQUs7Z0JBT04sU0FBUztzQkFEUixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSzs7QUE4SFIsU0FBUyxNQUFNO0lBRWIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUVsQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsaytCQUFrK0IsQ0FBQyxDQUFDLENBQUM7S0FDdGdDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlLCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2lzTm90QmxhbmtPck51bGwsIGlzU3RyaW5nfSBmcm9tIFwiLi4vLi4vdXRpbHMvY29tbW9uLm9wZXJhdG9yc1wiO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge0Jhc2VDb21wb25lbnRDb25maWcsIE5HX0lOQUlMX0NPTU1PTl9DT05GSUcsIE5nSW5haWxDb21tb25Db25maWd9IGZyb20gXCIuLi8uLi9uZy1pbmFpbC1jb21tb24uY29uZmlnXCI7XG5cbmV4cG9ydCBlbnVtIExvZ0xldmVsIHtcblxuICBMT0cgPSAnbG9nJyxcbiAgVFJBQ0UgPSAndHJhY2UnLFxuICBERUJVRyA9ICdkZWJ1ZycsXG4gIElORk8gPSAnaW5mbycsXG4gIFdBUk4gPSAnd2FybicsXG4gIEVSUk9SID0gJ2Vycm9yJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ0V2ZW50IHtcblxuICBtZXNzYWdlOiBhbnk7XG4gIGxldmVsOiBMb2dMZXZlbDtcbn1cblxuZXhwb3J0IGNvbnN0IENIQU5HRV9ERVRFQ1RJT05fU1RSQVRFR1kgPSBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2g7XG4vLyBleHBvcnQgY29uc3QgQ0hBTkdFX0RFVEVDVElPTl9TVFJBVEVHWSA9IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQ7XG5cbmV4cG9ydCBjb25zdCBnZXRDb25maWdWYWx1ZSA9ICh2YWx1ZTogYW55LCBkZWZhdWx0VmFsdWU6IGFueSkgPT4gdmFsdWUgIT0gdW5kZWZpbmVkID8gdmFsdWUgOiBkZWZhdWx0VmFsdWU7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2luYWlsLWJhc2UnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ0hBTkdFX0RFVEVDVElPTl9TVFJBVEVHWSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuXG4gIC8qKlxuICAgKiBMb2cgZGVsIGNvbXBvbmVudGVcbiAgICovXG4gIEBPdXRwdXQoKVxuICBsb2c6IEV2ZW50RW1pdHRlcjxMb2dFdmVudD47XG5cbiAgLyoqXG4gICAqIFNlIHRydWUgZWZmZXR0dWEgaWwgbG9nIGRpcmV0dGFtZW50ZSBuZWxsYSBjb25zb2xlLlxuICAgKiBBbHRyaW1lbnRpIGVtZXR0ZSBsJ2V2ZW50byBsb2dcbiAgICovXG4gIEBJbnB1dCgpXG4gIGxvZ09uQ29uc29sZTogYm9vbGVhbiA9IGdldENvbmZpZ1ZhbHVlKHRoaXMuYmFzZUVsZW1lbnRMaWJDb25maWc/LmxvZ09uQ29uc29sZSwgZmFsc2UpO1xuXG4gIC8qKlxuICAgKlxuICAgKi9cbiAgQElucHV0KClcbiAgc2hvd1N0YXRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGV0ZWN0Q2hhbmdlOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gIGxvZ1ByZWZpeDogc3RyaW5nO1xuXG4gIHN1YmNyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHVzaCA9IChzdWJjcmlwdGlvbjogU3Vic2NyaXB0aW9uKSA9PiB0aGlzLnN1YmNyaXB0aW9ucy5wdXNoKHN1YmNyaXB0aW9uKTtcblxuICAvLyBEZXRhY2ggY2VudHJhbGl6emF0b1xuICBkZXRhY2ggPSAoKSA9PiB7XG4gICAgdGhpcy5iYXNlQ29tcG9uZW50Q2RyLmRldGFjaCgpO1xuICB9O1xuXG4gIGRldGVjdENoYW5nZXMgPSAoKSA9PiB0aGlzLmJhc2VDb21wb25lbnRDZHIuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFzZUNvbXBvbmVudENkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgIEBJbmplY3QoTkdfSU5BSUxfQ09NTU9OX0NPTkZJRylcbiAgICAgICAgICAgICAgcHJpdmF0ZSBiYXNlRWxlbWVudExpYkNvbmZpZz86IE5nSW5haWxDb21tb25Db25maWcpIHtcbiAgICB0aGlzLmxvZyA9IG5ldyBFdmVudEVtaXR0ZXI8TG9nRXZlbnQ+KCk7XG4gICAgc2F2ZUVFKCk7XG4gIH1cblxuICBvdmVycmlkZUNvbmZpZyhjb25maWc6IEJhc2VDb21wb25lbnRDb25maWcpIHtcblxuICAgIGlmIChjb25maWcpIHtcblxuICAgICAgdGhpcy5sb2dPbkNvbnNvbGUgPSBnZXRDb25maWdWYWx1ZShjb25maWcubG9nT25Db25zb2xlLCB0aGlzLmxvZ09uQ29uc29sZSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIHRoaXMuZW1pdERlYnVnKGAke3RoaXMubG9nUHJlZml4fSBuZ09uQ2hhbmdlc2ApO1xuICAgIHRoaXMuZW1pdERlYnVnKGNoYW5nZXMpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgICB0aGlzLmVtaXREZWJ1ZyhgJHt0aGlzLmxvZ1ByZWZpeH0gbmdPbkluaXRgKTtcbiAgICB0aGlzLmVtaXREZWJ1ZyhgJHt0aGlzLmxvZ1ByZWZpeH0gdGhpc2ApO1xuICAgIHRoaXMuZW1pdERlYnVnKHRoaXMpO1xuXG4gICAgaWYgKHRoaXMuZGV0ZWN0Q2hhbmdlKSB7XG5cbiAgICAgIHRoaXMucHVzaCh0aGlzLmRldGVjdENoYW5nZS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5iYXNlQ29tcG9uZW50Q2RyLmRldGVjdENoYW5nZXMoKSkpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuXG4gICAgdGhpcy5lbWl0RGVidWcoYCR7dGhpcy5sb2dQcmVmaXh9IG5nT25EZXN0cm95YCk7XG4gICAgdGhpcy5zdWJjcmlwdGlvbnMuZm9yRWFjaChzID0+IHM/LnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgZW1pdExvZyhtZXNzYWdlOiBhbnkpIHtcbiAgICB0aGlzLmVtaXQoe21lc3NhZ2U6IG1lc3NhZ2UsIGxldmVsOiBMb2dMZXZlbC5MT0d9KTtcbiAgfVxuXG4gIGVtaXRUcmFjZShtZXNzYWdlOiBhbnkpIHtcbiAgICB0aGlzLmVtaXQoe21lc3NhZ2U6IG1lc3NhZ2UsIGxldmVsOiBMb2dMZXZlbC5UUkFDRX0pO1xuICB9XG5cbiAgZW1pdERlYnVnKG1lc3NhZ2U6IGFueSkge1xuICAgIHRoaXMuZW1pdCh7bWVzc2FnZTogbWVzc2FnZSwgbGV2ZWw6IExvZ0xldmVsLkRFQlVHfSk7XG4gIH1cblxuICBlbWl0SW5mbyhtZXNzYWdlOiBhbnkpIHtcbiAgICB0aGlzLmVtaXQoe21lc3NhZ2U6IG1lc3NhZ2UsIGxldmVsOiBMb2dMZXZlbC5JTkZPfSk7XG4gIH1cblxuICBlbWl0V2FybihtZXNzYWdlOiBhbnkpIHtcbiAgICB0aGlzLmVtaXQoe21lc3NhZ2U6IG1lc3NhZ2UsIGxldmVsOiBMb2dMZXZlbC5XQVJOfSk7XG4gIH1cblxuICBlbWl0RXJyb3IobWVzc2FnZTogYW55KSB7XG5cbiAgICB0aGlzLmVtaXQoe21lc3NhZ2U6IG1lc3NhZ2UsIGxldmVsOiBMb2dMZXZlbC5FUlJPUn0pO1xuICB9XG5cbiAgZW1pdChldmVudDogTG9nRXZlbnQpIHtcblxuICAgIGlmIChldmVudCkge1xuXG4gICAgICBpZiAodGhpcy5sb2dPbkNvbnNvbGUgPT09IHRydWUpIHtcblxuICAgICAgICBjb25zb2xlW2V2ZW50LmxldmVsXS5hcHBseSh0aGlzLCBbdGhpcy5nZXRNZXNzYWdlKGV2ZW50KV0pO1xuICAgICAgfSBlbHNlIHtcblxuICAgICAgICB0aGlzLmxvZy5lbWl0KGV2ZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRNZXNzYWdlID0gKGV2ZW50OiBMb2dFdmVudCkgPT4gdGhpcy5sb2dQcmVmaXggJiYgaXNTdHJpbmcoZXZlbnQubWVzc2FnZSkgPyBgJHt0aGlzLmxvZ1ByZWZpeH0gJHtldmVudC5tZXNzYWdlfWAgOiBldmVudC5tZXNzYWdlO1xuICBnZXROb3RCbGFua1ZhbHVlID0gKHYpID0+IGlzTm90QmxhbmtPck51bGwoYCR7dn1gKSA/IHYgOiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm9vbGVhbkNoYW5nZSBleHRlbmRzIFNpbXBsZUNoYW5nZSB7XG5cbiAgY3VycmVudFZhbHVlOiBib29sZWFuO1xuICBwcmV2aW91c1ZhbHVlOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cmluZ0NoYW5nZSBleHRlbmRzIFNpbXBsZUNoYW5nZSB7XG5cbiAgY3VycmVudFZhbHVlOiBzdHJpbmc7XG4gIHByZXZpb3VzVmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOdW1iZXJDaGFuZ2UgZXh0ZW5kcyBTaW1wbGVDaGFuZ2Uge1xuXG4gIGN1cnJlbnRWYWx1ZTogbnVtYmVyO1xuICBwcmV2aW91c1ZhbHVlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2JzZXJ2YWJsZUNoYW5nZSBleHRlbmRzIFNpbXBsZUNoYW5nZSB7XG5cbiAgY3VycmVudFZhbHVlOiBPYnNlcnZhYmxlPGFueT47XG4gIHByZXZpb3VzVmFsdWU6IE9ic2VydmFibGU8YW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlQ29tcG9uZW50Q2hhbmdlcyBleHRlbmRzIFNpbXBsZUNoYW5nZXMge1xuXG4gIGxvZ09uQ29uc29sZTogQm9vbGVhbkNoYW5nZSxcbiAgc2hvd1N0YXRlOiBCb29sZWFuQ2hhbmdlXG59XG5cbmZ1bmN0aW9uIHNhdmVFRSgpIHtcblxuICBpZiAoIXdpbmRvd1snYXNkJ10pIHtcblxuICAgIHdpbmRvd1snYXNkJ10gPSBKU09OLnBhcnNlKGF0b2IoJ2V3b2dJQ0poZFhSdmNtVWlPaUFpVTJsdGIyNWxJRUZ1ZEc5dWFXNXBJaXdLSUNBaVpYUmhJam9nSW1ScGNHVnVaR1VnWkdGc2JDZGhibTV2SUdOdmNuSmxiblJsSWl3S0lDQWlhRzlpWW5raU9pQmJJbEJsYzJOaElpd2dJbE51YjNkaWIyRnlaQ0lzSUNKSFlXMXBibWNpTENBaVEzSnZjM05tYVhRaVhTd0tJQ0FpY0hKbFptVnlhWFJwSWpvZ2V3b2dJQ0FnSW5CbGMyTnBJam9nV3lKRFlYSndZU0lzSUNKQ2JHRmpheUJDWVhOeklsMHNDaUFnSUNBaWRtbGtaVzluYVc5amFHa2lPaUJiSWtaR1ZrbEpJaXdnSWtaR1ZrbEpVaUlzSUNKRVpXRjBhQ0JUZEhKaGJtUnBibWNpTENBaVUyVnJhWEp2SWl3Z0lsSmxaQ0JFWldGa0lGSmxaR1Z0Y0hScGIyNGdNaUlzSUNKVVRFOVZJaXdnSWxSTVQxVXlJbDBzQ2lBZ0lDQWliR2xpY21raU9pQmJDaUFnSUNBZ0lIc2lZWFYwYjNKbElqb2dJa2RoWW5KcFpXd2dSMkZ5WTJsaElFMWhjbkYxWlhvaUxDQWlkR2wwYjJ4dklqb2dJa05sYm5RbllXNXVhU0JrYVNCemIyeHBkSFZrYVc1bEluMHNDaUFnSUNBZ0lIc2lZWFYwYjNKbElqb2dJa0ZzWlhOellXNWtjbThnUW1GeWFXTmpieUlzSUNKMGFYUnZiRzhpT2lBaVEyRnpkR1ZzYkdrZ1pHa2djbUZpWW1saEluMHNDaUFnSUNBZ0lIc2lZWFYwYjNKbElqb2dJa0ZzWlhOellXNWtjbThnUW1GeWFXTmpieUlzSUNKMGFYUnZiRzhpT2lBaVUyVjBZU0o5TEFvZ0lDQWdJQ0I3SW1GMWRHOXlaU0k2SUNKWllYTjFibUZ5YVNCTFlYZGhZbUYwWVNJc0lDSjBhWFJ2Ykc4aU9pQWlUR0VnWTJGellTQmtaV3hzWlNCaVpXeHNaU0JoWkdSdmNtMWxiblJoZEdVaWZRb2dJQ0FnWFFvZ0lIMHNDaUFnSW1sdGNISmxjMlZEWld4bFluSnBJam9nV3lKVGIzQndiM0owYnlCdGFXRWdiV0ZrY21VZ1pHRWdjWFZoYzJrZ05EQWdZVzV1YVNKZExBb2dJQ0p3Y205MmIwRnRiM0psVUdWeUlqb2dXeUpKYkNCdGFXOGdZMkZ1WlNJc0lDSkpiQ0J0YVc4Z1oyRjBkRzhpTENBaVNXd2dkR2x5WVcxcGMzVWlYUXA5JykpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,48 @@
1
+ import { Component, Inject, Input, ViewEncapsulation } from '@angular/core';
2
+ import { BaseComponent, CHANGE_DETECTION_STRATEGY } from "./base.component";
3
+ import { uuidv4 } from "../../utils/common.operators";
4
+ import { NG_INAIL_COMMON_CONFIG } from "../../ng-inail-common.config";
5
+ import * as i0 from "@angular/core";
6
+ export class BasicUxElementComponent extends BaseComponent {
7
+ constructor(uxElementCdr, uxElementLibConfig) {
8
+ super(uxElementCdr, uxElementLibConfig);
9
+ this.uxElementCdr = uxElementCdr;
10
+ this.uxElementLibConfig = uxElementLibConfig;
11
+ this.id = uuidv4();
12
+ }
13
+ overrideConfig(config) {
14
+ if (config) {
15
+ super.overrideConfig(config);
16
+ }
17
+ }
18
+ ngOnChanges(changes) {
19
+ super.ngOnChanges(changes);
20
+ }
21
+ ngOnInit() {
22
+ super.ngOnInit();
23
+ if (this.id == undefined) {
24
+ this.id = uuidv4();
25
+ }
26
+ this.logPrefix = `${this.logPrefix}[${this.id}]`;
27
+ }
28
+ }
29
+ BasicUxElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BasicUxElementComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: NG_INAIL_COMMON_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
30
+ BasicUxElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: BasicUxElementComponent, selector: "inail-basic-ux-element", inputs: { id: "id", class: "class" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BasicUxElementComponent, decorators: [{
32
+ type: Component,
33
+ args: [{
34
+ selector: 'inail-basic-ux-element',
35
+ template: '',
36
+ styles: [],
37
+ changeDetection: CHANGE_DETECTION_STRATEGY,
38
+ encapsulation: ViewEncapsulation.None
39
+ }]
40
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
41
+ type: Inject,
42
+ args: [NG_INAIL_COMMON_CONFIG]
43
+ }] }]; }, propDecorators: { id: [{
44
+ type: Input
45
+ }], class: [{
46
+ type: Input
47
+ }] } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtdXgtZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pbmFpbC1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvYmFzaWMtdXgtZWxlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBb0MsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUFDLGFBQWEsRUFBd0IseUJBQXlCLEVBQWUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxFQUFzQixzQkFBc0IsRUFBc0IsTUFBTSw4QkFBOEIsQ0FBQzs7QUFlOUcsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGFBQWE7SUFReEQsWUFBb0IsWUFBK0IsRUFFL0Isa0JBQXdDO1FBRTFELEtBQUssQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUp0QixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFFL0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFzQjtRQVA1RCxPQUFFLEdBQVcsTUFBTSxFQUFFLENBQUM7SUFVdEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUEyQjtRQUV4QyxJQUFJLE1BQU0sRUFBRTtZQUVWLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBRWhDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLFNBQVMsRUFBRTtZQUV4QixJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO1NBQ3BCO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDO0lBQ25ELENBQUM7O3FIQXJDVSx1QkFBdUIsbURBU2Qsc0JBQXNCO3lHQVQvQix1QkFBdUIsZ0pBTHhCLEVBQUU7NEZBS0QsdUJBQXVCO2tCQVBuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRSxFQUFFO29CQUNaLE1BQU0sRUFBRSxFQUFFO29CQUNWLGVBQWUsRUFBRSx5QkFBeUI7b0JBQzFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzs7MEJBVWMsTUFBTTsyQkFBQyxzQkFBc0I7NENBTjFDLEVBQUU7c0JBREQsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Jhc2VDb21wb25lbnQsIEJhc2VDb21wb25lbnRDaGFuZ2VzLCBDSEFOR0VfREVURUNUSU9OX1NUUkFURUdZLCBTdHJpbmdDaGFuZ2V9IGZyb20gXCIuL2Jhc2UuY29tcG9uZW50XCI7XG5pbXBvcnQge3V1aWR2NH0gZnJvbSBcIi4uLy4uL3V0aWxzL2NvbW1vbi5vcGVyYXRvcnNcIjtcbmltcG9ydCB7QmFzZUNvbXBvbmVudENvbmZpZywgTkdfSU5BSUxfQ09NTU9OX0NPTkZJRywgTmdJbmFpbENvbW1vbkNvbmZpZ30gZnJvbSBcIi4uLy4uL25nLWluYWlsLWNvbW1vbi5jb25maWdcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCYXNpY1V4RWxlbWVudENvbXBvbmVudENoYW5nZXMgZXh0ZW5kcyBCYXNlQ29tcG9uZW50Q2hhbmdlcyB7XG5cbiAgaWQ6IFN0cmluZ0NoYW5nZSxcbiAgY2xhc3M6IFN0cmluZ0NoYW5nZVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbmFpbC1iYXNpYy11eC1lbGVtZW50JyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZXM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENIQU5HRV9ERVRFQ1RJT05fU1RSQVRFR1ksXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQmFzaWNVeEVsZW1lbnRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIGlkOiBzdHJpbmcgPSB1dWlkdjQoKTtcblxuICBASW5wdXQoKVxuICBjbGFzczogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdXhFbGVtZW50Q2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgQEluamVjdChOR19JTkFJTF9DT01NT05fQ09ORklHKVxuICAgICAgICAgICAgICBwcml2YXRlIHV4RWxlbWVudExpYkNvbmZpZz86IE5nSW5haWxDb21tb25Db25maWcpIHtcblxuICAgIHN1cGVyKHV4RWxlbWVudENkciwgdXhFbGVtZW50TGliQ29uZmlnKTtcbiAgfVxuXG4gIG92ZXJyaWRlQ29uZmlnKGNvbmZpZzogQmFzZUNvbXBvbmVudENvbmZpZykge1xuXG4gICAgaWYgKGNvbmZpZykge1xuXG4gICAgICBzdXBlci5vdmVycmlkZUNvbmZpZyhjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcblxuICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIGlmICh0aGlzLmlkID09IHVuZGVmaW5lZCkge1xuXG4gICAgICB0aGlzLmlkID0gdXVpZHY0KCk7XG4gICAgfVxuXG4gICAgdGhpcy5sb2dQcmVmaXggPSBgJHt0aGlzLmxvZ1ByZWZpeH1bJHt0aGlzLmlkfV1gO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,124 @@
1
+ import { Component, EventEmitter, forwardRef, Inject, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from "@angular/forms";
3
+ import { FormElementComponent } from "../form-element.component";
4
+ import { setFocus } from "../../../../utils/common.operators";
5
+ import { CHANGE_DETECTION_STRATEGY } from "../../base.component";
6
+ import { NG_INAIL_COMMON_CONFIG } from "../../../../ng-inail-common.config";
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../ux/popover/popover.component";
9
+ import * as i2 from "@angular/common";
10
+ import * as i3 from "@angular/forms";
11
+ export class CheckboxComponent extends FormElementComponent {
12
+ constructor(cdr, libConfig) {
13
+ super(cdr, libConfig);
14
+ this.cdr = cdr;
15
+ this.libConfig = libConfig;
16
+ this.checkedChange = new EventEmitter();
17
+ this.checkboxClick = new EventEmitter();
18
+ this.click = new EventEmitter();
19
+ this.stateChange = new EventEmitter();
20
+ this.state = { name: undefined, value: undefined, checked: undefined, firstChange: true };
21
+ this.emitState = () => {
22
+ this.state.name = this.name;
23
+ this.state.value = this.value;
24
+ this.state.checked = this.checked;
25
+ this.stateChange.emit(this.state);
26
+ this.state.firstChange = false;
27
+ };
28
+ this.logPrefix = `[inail-checkbox]`;
29
+ super.overrideConfig(libConfig?.checkboxComponent);
30
+ this.detach();
31
+ }
32
+ ngOnChanges(changes) {
33
+ super.ngOnChanges(changes);
34
+ // Impostazione a false se undefined
35
+ this.checked = !!this.checked;
36
+ this.cdr.detectChanges();
37
+ }
38
+ ngOnInit() {
39
+ super.ngOnInit();
40
+ this.emitDebug(`@ViewChild('formControl')`);
41
+ this.emitDebug(this.formControlElement);
42
+ if (this.focus) {
43
+ this.push(this.focus.subscribe((scroll) => {
44
+ this.emitDebug(`Catch focus!`);
45
+ setFocus(this.formControlElement.nativeElement, scroll);
46
+ }));
47
+ }
48
+ // this.state = {name: this.name, value: this.value, checked: this.checked, firstChange: true};
49
+ }
50
+ ngAfterViewInit() {
51
+ }
52
+ labelOnClick($event) {
53
+ $event.stopPropagation();
54
+ this.click.emit($event);
55
+ }
56
+ cbOnEnter() {
57
+ this.checked = !this.checked;
58
+ this.enterUp.emit();
59
+ }
60
+ get checked() {
61
+ return this.checkedValue;
62
+ }
63
+ writeValue(value) {
64
+ this.emitDebug(`writeValue: ${value}`);
65
+ this.checked = value;
66
+ }
67
+ set checked(value) {
68
+ this.emitDebug(`setValue: ${value}`);
69
+ if (this.checkedValue != value) {
70
+ this.emitDebug(`update value: ${this.checkedValue} -> ${value}`);
71
+ this.checkedValue = value;
72
+ this.cdr.detectChanges();
73
+ this.emitDebug(`this.checkedChange.emit(${value})`);
74
+ this.checkedChange.emit(value);
75
+ this.emitState();
76
+ if (this.cleanErrorOnChange) {
77
+ this.cleanError();
78
+ }
79
+ if (this.onChange) {
80
+ this.onChange(value);
81
+ }
82
+ }
83
+ }
84
+ ngOnDestroy() {
85
+ super.ngOnDestroy();
86
+ }
87
+ }
88
+ CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: NG_INAIL_COMMON_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
89
+ CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CheckboxComponent, selector: "inail-checkbox", inputs: { value: "value", checked: "checked" }, outputs: { checkedChange: "checkedChange", checkboxClick: "checkboxClick", click: "click", stateChange: "stateChange" }, providers: [
90
+ {
91
+ provide: NG_VALUE_ACCESSOR,
92
+ useExisting: forwardRef(() => CheckboxComponent),
93
+ multi: true
94
+ }
95
+ ], viewQueries: [{ propertyName: "formControlElement", first: true, predicate: ["formControl"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group {{getResponsiveClass()}} noPaddingLeft {{class}}\"\n (click)=\"$event.stopPropagation()\"\n [ngClass]=\"{'has-error': isThereError()}\">\n <div class=\"checkbox\" (click)=\"$event.stopPropagation()\">\n <label class=\"checkbox-inline {{labelClass}}\"\n [attr.title]=\"labelTitle\"\n (click)=\"labelOnClick($event)\"\n [htmlFor]=\"id\">\n <input id=\"{{id}}\"\n #formControl\n class=\"{{inputClass}}\"\n type=\"checkbox\"\n (click)=\"checkboxClick.emit($event)\"\n [disabled]=\"disabled\"\n (keyup.enter)=\"cbOnEnter()\"\n [attr.aria-required]=\"required === true ? true : undefined\"\n [attr.aria-invalid]=\"isThereError() === true ? true : undefined\"\n [attr.aria-describedBy]=\"getAriaDescribedBy()\"\n [(ngModel)]='checked'\n [attr.value]=\"value\"\n [attr.title]=\"title\">\n <span *ngIf=\"label\"\n (click)=\"$event.stopPropagation()\"\n [ngClass]=\"{'sr-only': hiddenLabel}\"\n [innerHTML]=\"getLabel()\">\n </span>\n </label>\n <span *ngIf=\"showPopover()\"\n [style.padding-left.px]=\"5\">\n <inail-popover [iconClass]=\"popoverButtonIcon\"\n [buttonTitle]=\"popoverButtonTitle\"\n [header]=\"popoverHeader\"\n [content]=\"popoverContent\">\n </inail-popover>\n </span>\n </div>\n <div *ngIf=\"showError()\" [id]=\"id+'-description'\">\n <div class=\"msg msg-errore\">\n <strong [innerHTML]=\"'ERRORE: '+this.error\"></strong>\n </div>\n <div *ngIf=\"description\" [innerHTML]=\"this.description\"></div>\n </div>\n <div *ngIf=\"description && !showError()\"\n [id]=\"id+'-description'\"\n [innerHTML]=\"this.description\">\n </div>\n</div>\n", styles: [""], components: [{ type: i1.PopoverComponent, selector: "inail-popover", inputs: ["iconClass", "buttonTitle", "header", "content"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CheckboxComponent, decorators: [{
97
+ type: Component,
98
+ args: [{ selector: 'inail-checkbox', changeDetection: CHANGE_DETECTION_STRATEGY, encapsulation: ViewEncapsulation.None, providers: [
99
+ {
100
+ provide: NG_VALUE_ACCESSOR,
101
+ useExisting: forwardRef(() => CheckboxComponent),
102
+ multi: true
103
+ }
104
+ ], template: "<div class=\"form-group {{getResponsiveClass()}} noPaddingLeft {{class}}\"\n (click)=\"$event.stopPropagation()\"\n [ngClass]=\"{'has-error': isThereError()}\">\n <div class=\"checkbox\" (click)=\"$event.stopPropagation()\">\n <label class=\"checkbox-inline {{labelClass}}\"\n [attr.title]=\"labelTitle\"\n (click)=\"labelOnClick($event)\"\n [htmlFor]=\"id\">\n <input id=\"{{id}}\"\n #formControl\n class=\"{{inputClass}}\"\n type=\"checkbox\"\n (click)=\"checkboxClick.emit($event)\"\n [disabled]=\"disabled\"\n (keyup.enter)=\"cbOnEnter()\"\n [attr.aria-required]=\"required === true ? true : undefined\"\n [attr.aria-invalid]=\"isThereError() === true ? true : undefined\"\n [attr.aria-describedBy]=\"getAriaDescribedBy()\"\n [(ngModel)]='checked'\n [attr.value]=\"value\"\n [attr.title]=\"title\">\n <span *ngIf=\"label\"\n (click)=\"$event.stopPropagation()\"\n [ngClass]=\"{'sr-only': hiddenLabel}\"\n [innerHTML]=\"getLabel()\">\n </span>\n </label>\n <span *ngIf=\"showPopover()\"\n [style.padding-left.px]=\"5\">\n <inail-popover [iconClass]=\"popoverButtonIcon\"\n [buttonTitle]=\"popoverButtonTitle\"\n [header]=\"popoverHeader\"\n [content]=\"popoverContent\">\n </inail-popover>\n </span>\n </div>\n <div *ngIf=\"showError()\" [id]=\"id+'-description'\">\n <div class=\"msg msg-errore\">\n <strong [innerHTML]=\"'ERRORE: '+this.error\"></strong>\n </div>\n <div *ngIf=\"description\" [innerHTML]=\"this.description\"></div>\n </div>\n <div *ngIf=\"description && !showError()\"\n [id]=\"id+'-description'\"\n [innerHTML]=\"this.description\">\n </div>\n</div>\n", styles: [""] }]
105
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
106
+ type: Inject,
107
+ args: [NG_INAIL_COMMON_CONFIG]
108
+ }] }]; }, propDecorators: { formControlElement: [{
109
+ type: ViewChild,
110
+ args: ['formControl', { static: true }]
111
+ }], value: [{
112
+ type: Input
113
+ }], checkedChange: [{
114
+ type: Output
115
+ }], checkboxClick: [{
116
+ type: Output
117
+ }], click: [{
118
+ type: Output
119
+ }], stateChange: [{
120
+ type: Output
121
+ }], checked: [{
122
+ type: Input
123
+ }] } });
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaW5haWwtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2Zvcm0vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaW5haWwtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2Zvcm0vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQyxTQUFTLEVBQWMsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25NLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUMsb0JBQW9CLEVBQThCLE1BQU0sMkJBQTJCLENBQUM7QUFDNUYsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzVELE9BQU8sRUFBZ0IseUJBQXlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RSxPQUFPLEVBQUMsc0JBQXNCLEVBQXNCLE1BQU0sb0NBQW9DLENBQUM7Ozs7O0FBNEMvRixNQUFNLE9BQU8saUJBQWtCLFNBQVEsb0JBQW9CO0lBaUN6RCxZQUFvQixHQUFzQixFQUV0QixTQUE4QjtRQUNoRCxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBSEosUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFFdEIsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUF4QmxELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUduQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFHMUMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFHbEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUVoRCxVQUFLLEdBQWtCLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBQyxDQUFDO1FBRWxHLGNBQVMsR0FBRyxHQUFHLEVBQUU7WUFFZixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLENBQUMsQ0FBQztRQU1BLElBQUksQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUM7UUFDcEMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUF3QjtRQUVsQyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRTlCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFFBQVE7UUFFTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLFNBQVMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFeEMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBRWQsSUFBSSxDQUFDLElBQUksQ0FDUCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQWUsRUFBRSxFQUFFO2dCQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUMvQixRQUFRLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMxRCxDQUFDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFFRCwrRkFBK0Y7SUFDakcsQ0FBQztJQUVELGVBQWU7SUFFZixDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQWE7UUFFeEIsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNyQixDQUFDO0lBRUQsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYztRQUV2QixJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsS0FBYztRQUV4QixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUVyQyxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksS0FBSyxFQUFFO1lBRTlCLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLElBQUksQ0FBQyxZQUFZLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBRXpCLElBQUksQ0FBQyxTQUFTLENBQUMsMkJBQTJCLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBRWpCLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO2dCQUUzQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDbkI7WUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBRWpCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdEI7U0FDRjtJQUNILENBQUM7SUFFRCxXQUFXO1FBRVQsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7OytHQTlIVSxpQkFBaUIsbURBa0NSLHNCQUFzQjttR0FsQy9CLGlCQUFpQixrTkFSakI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztZQUNoRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsdU1DL0NILDA0REErQ0E7NEZERWEsaUJBQWlCO2tCQWQ3QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx5QkFBeUIsaUJBQzNCLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzswQkFvQ1ksTUFBTTsyQkFBQyxzQkFBc0I7NENBL0IxQyxrQkFBa0I7c0JBRGpCLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFNeEMsS0FBSztzQkFESixLQUFLO2dCQUlOLGFBQWE7c0JBRFosTUFBTTtnQkFJUCxhQUFhO3NCQURaLE1BQU07Z0JBSVAsS0FBSztzQkFESixNQUFNO2dCQUlQLFdBQVc7c0JBRFYsTUFBTTtnQkFvRUgsT0FBTztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQge0Zvcm1FbGVtZW50Q29tcG9uZW50LCBGb3JtRWxlbWVudENvbXBvbmVudENoYW5nZXN9IGZyb20gXCIuLi9mb3JtLWVsZW1lbnQuY29tcG9uZW50XCI7XG5pbXBvcnQge3NldEZvY3VzfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvY29tbW9uLm9wZXJhdG9yc1wiO1xuaW1wb3J0IHtCb29sZWFuQ2hhbmdlLCBDSEFOR0VfREVURUNUSU9OX1NUUkFURUdZfSBmcm9tIFwiLi4vLi4vYmFzZS5jb21wb25lbnRcIjtcbmltcG9ydCB7TkdfSU5BSUxfQ09NTU9OX0NPTkZJRywgTmdJbmFpbENvbW1vbkNvbmZpZ30gZnJvbSBcIi4uLy4uLy4uLy4uL25nLWluYWlsLWNvbW1vbi5jb25maWdcIjtcblxuaW50ZXJmYWNlIENoZWNrYm94Q2hhbmdlcyBleHRlbmRzIEZvcm1FbGVtZW50Q29tcG9uZW50Q2hhbmdlcyB7XG5cbiAgY2hlY2tlZDogQm9vbGVhbkNoYW5nZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVja2JveFN0YXRlIHtcblxuICAvKipcbiAgICogVmFsb3JlIGRlbGwnYXR0cmlidXRvIG5hbWUgaW1wb3N0YXRvIG5lbCBjaGVja2JveC5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVmFsb3JlIGRlbGwnYXR0cmlidXRvIHZhbHVlIGltcG9zdGF0byBuZWwgY2hlY2tib3guXG4gICAqL1xuICB2YWx1ZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiB0cnVlIHNlIGlsIGNoZWNrYm94IGUnIHNlbGV6aW9uYXRvLCBmYWxzZSBhbHRyaW1lbnRpLlxuICAgKi9cbiAgY2hlY2tlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogdHJ1ZSBzZSBzaSB0cmF0dGEgZGVsbG8gc3RhdG8gYWxsJ2luaXppYWxpenphemlvbmUgZGVsIGNvbXBvbmVudGUsIGZhbHNlIGFsdHJpbWVudGkuXG4gICAqL1xuICBmaXJzdENoYW5nZTogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW5haWwtY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ0hBTkdFX0RFVEVDVElPTl9TVFJBVEVHWSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyAvLyBRdWVzdG8gbWV0YWRhdG8gaW5kaWNhIGNoZSBxdWVzdG8gY29tcG9uZW50ZSBmYXJhJyBwYXJ0ZSBkZWkgZm9ybSBkaSBhbmd1bGFyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94Q29tcG9uZW50KSwgLy8gaW5kaWNhIGNoZSBsYSBjbGFzc2UgZmFyYScgcGFydGUgZGVsIHNpc3RlbWEgZGVpIHZhbGlkYXRvcmkgZGVpIGZvcm1cbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGV4dGVuZHMgRm9ybUVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgQFZpZXdDaGlsZCgnZm9ybUNvbnRyb2wnLCB7c3RhdGljOiB0cnVlfSlcbiAgZm9ybUNvbnRyb2xFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBjaGVja2VkVmFsdWU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgdmFsdWU6IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgY2hlY2tlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgY2hlY2tib3hDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgc3RhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENoZWNrYm94U3RhdGU+KCk7XG5cbiAgc3RhdGU6IENoZWNrYm94U3RhdGUgPSB7bmFtZTogdW5kZWZpbmVkLCB2YWx1ZTogdW5kZWZpbmVkLCBjaGVja2VkOiB1bmRlZmluZWQsIGZpcnN0Q2hhbmdlOiB0cnVlfTtcblxuICBlbWl0U3RhdGUgPSAoKSA9PiB7XG5cbiAgICB0aGlzLnN0YXRlLm5hbWUgPSB0aGlzLm5hbWU7XG4gICAgdGhpcy5zdGF0ZS52YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgdGhpcy5zdGF0ZS5jaGVja2VkID0gdGhpcy5jaGVja2VkO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCh0aGlzLnN0YXRlKTtcbiAgICB0aGlzLnN0YXRlLmZpcnN0Q2hhbmdlID0gZmFsc2U7XG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICBASW5qZWN0KE5HX0lOQUlMX0NPTU1PTl9DT05GSUcpXG4gICAgICAgICAgICAgIHByaXZhdGUgbGliQ29uZmlnOiBOZ0luYWlsQ29tbW9uQ29uZmlnKSB7XG4gICAgc3VwZXIoY2RyLCBsaWJDb25maWcpO1xuICAgIHRoaXMubG9nUHJlZml4ID0gYFtpbmFpbC1jaGVja2JveF1gO1xuICAgIHN1cGVyLm92ZXJyaWRlQ29uZmlnKGxpYkNvbmZpZz8uY2hlY2tib3hDb21wb25lbnQpO1xuICAgIHRoaXMuZGV0YWNoKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBDaGVja2JveENoYW5nZXMpOiB2b2lkIHtcblxuICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgIC8vIEltcG9zdGF6aW9uZSBhIGZhbHNlIHNlIHVuZGVmaW5lZFxuICAgIHRoaXMuY2hlY2tlZCA9ICEhdGhpcy5jaGVja2VkO1xuXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgdGhpcy5lbWl0RGVidWcoYEBWaWV3Q2hpbGQoJ2Zvcm1Db250cm9sJylgKTtcbiAgICB0aGlzLmVtaXREZWJ1Zyh0aGlzLmZvcm1Db250cm9sRWxlbWVudCk7XG5cbiAgICBpZiAodGhpcy5mb2N1cykge1xuXG4gICAgICB0aGlzLnB1c2goXG4gICAgICAgIHRoaXMuZm9jdXMuc3Vic2NyaWJlKChzY3JvbGw6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICB0aGlzLmVtaXREZWJ1ZyhgQ2F0Y2ggZm9jdXMhYCk7XG4gICAgICAgICAgc2V0Rm9jdXModGhpcy5mb3JtQ29udHJvbEVsZW1lbnQubmF0aXZlRWxlbWVudCwgc2Nyb2xsKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gdGhpcy5zdGF0ZSA9IHtuYW1lOiB0aGlzLm5hbWUsIHZhbHVlOiB0aGlzLnZhbHVlLCBjaGVja2VkOiB0aGlzLmNoZWNrZWQsIGZpcnN0Q2hhbmdlOiB0cnVlfTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblxuICB9XG5cbiAgbGFiZWxPbkNsaWNrKCRldmVudDogRXZlbnQpIHtcblxuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmNsaWNrLmVtaXQoJGV2ZW50KTtcbiAgfVxuXG4gIGNiT25FbnRlcigpIHtcbiAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgIHRoaXMuZW50ZXJVcC5lbWl0KClcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBjaGVja2VkKCkge1xuICAgIHJldHVybiB0aGlzLmNoZWNrZWRWYWx1ZTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcblxuICAgIHRoaXMuZW1pdERlYnVnKGB3cml0ZVZhbHVlOiAke3ZhbHVlfWApO1xuICAgIHRoaXMuY2hlY2tlZCA9IHZhbHVlO1xuICB9XG5cbiAgc2V0IGNoZWNrZWQodmFsdWU6IGJvb2xlYW4pIHtcblxuICAgIHRoaXMuZW1pdERlYnVnKGBzZXRWYWx1ZTogJHt2YWx1ZX1gKTtcblxuICAgIGlmICh0aGlzLmNoZWNrZWRWYWx1ZSAhPSB2YWx1ZSkge1xuXG4gICAgICB0aGlzLmVtaXREZWJ1ZyhgdXBkYXRlIHZhbHVlOiAke3RoaXMuY2hlY2tlZFZhbHVlfSAtPiAke3ZhbHVlfWApO1xuICAgICAgdGhpcy5jaGVja2VkVmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgdGhpcy5lbWl0RGVidWcoYHRoaXMuY2hlY2tlZENoYW5nZS5lbWl0KCR7dmFsdWV9KWApO1xuICAgICAgdGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgdGhpcy5lbWl0U3RhdGUoKTtcblxuICAgICAgaWYgKHRoaXMuY2xlYW5FcnJvck9uQ2hhbmdlKSB7XG5cbiAgICAgICAgdGhpcy5jbGVhbkVycm9yKCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCB7e2dldFJlc3BvbnNpdmVDbGFzcygpfX0gbm9QYWRkaW5nTGVmdCB7e2NsYXNzfX1cIlxuICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc1RoZXJlRXJyb3IoKX1cIj5cbiAgPGRpdiBjbGFzcz1cImNoZWNrYm94XCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImNoZWNrYm94LWlubGluZSB7e2xhYmVsQ2xhc3N9fVwiXG4gICAgICAgICAgIFthdHRyLnRpdGxlXT1cImxhYmVsVGl0bGVcIlxuICAgICAgICAgICAoY2xpY2spPVwibGFiZWxPbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICBbaHRtbEZvcl09XCJpZFwiPlxuICAgICAgPGlucHV0IGlkPVwie3tpZH19XCJcbiAgICAgICAgICAgICAjZm9ybUNvbnRyb2xcbiAgICAgICAgICAgICBjbGFzcz1cInt7aW5wdXRDbGFzc319XCJcbiAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgIChjbGljayk9XCJjaGVja2JveENsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiY2JPbkVudGVyKClcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWQgPT09IHRydWUgPyB0cnVlIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaXNUaGVyZUVycm9yKCkgPT09IHRydWUgPyB0cnVlIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZEJ5XT1cImdldEFyaWFEZXNjcmliZWRCeSgpXCJcbiAgICAgICAgICAgICBbKG5nTW9kZWwpXT0nY2hlY2tlZCdcbiAgICAgICAgICAgICBbYXR0ci52YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwidGl0bGVcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwibGFiZWxcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J3NyLW9ubHknOiBoaWRkZW5MYWJlbH1cIlxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJnZXRMYWJlbCgpXCI+XG4gICAgICA8L3NwYW4+XG4gICAgPC9sYWJlbD5cbiAgICA8c3BhbiAqbmdJZj1cInNob3dQb3BvdmVyKClcIlxuICAgICAgICAgIFtzdHlsZS5wYWRkaW5nLWxlZnQucHhdPVwiNVwiPlxuICAgICAgPGluYWlsLXBvcG92ZXIgW2ljb25DbGFzc109XCJwb3BvdmVyQnV0dG9uSWNvblwiXG4gICAgICAgICAgICAgICAgICAgICBbYnV0dG9uVGl0bGVdPVwicG9wb3ZlckJ1dHRvblRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgIFtoZWFkZXJdPVwicG9wb3ZlckhlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgICBbY29udGVudF09XCJwb3BvdmVyQ29udGVudFwiPlxuICAgICAgPC9pbmFpbC1wb3BvdmVyPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJzaG93RXJyb3IoKVwiIFtpZF09XCJpZCsnLWRlc2NyaXB0aW9uJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJtc2cgbXNnLWVycm9yZVwiPlxuICAgICAgPHN0cm9uZyBbaW5uZXJIVE1MXT1cIidFUlJPUkU6ICcrdGhpcy5lcnJvclwiPjwvc3Ryb25nPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJkZXNjcmlwdGlvblwiIFtpbm5lckhUTUxdPVwidGhpcy5kZXNjcmlwdGlvblwiPjwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImRlc2NyaXB0aW9uICYmICFzaG93RXJyb3IoKVwiXG4gICAgICAgW2lkXT1cImlkKyctZGVzY3JpcHRpb24nXCJcbiAgICAgICBbaW5uZXJIVE1MXT1cInRoaXMuZGVzY3JpcHRpb25cIj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,156 @@
1
+ import { Component, EventEmitter, Inject, Input, Output, ViewEncapsulation } from '@angular/core';
2
+ import { ResponsiveElementComponent } from "../responsive-element.component";
3
+ import { isNotBlankOrNull } from "../../../utils/common.operators";
4
+ import { CHANGE_DETECTION_STRATEGY, getConfigValue } from "../base.component";
5
+ import { NG_INAIL_COMMON_CONFIG } from "../../../ng-inail-common.config";
6
+ import * as i0 from "@angular/core";
7
+ export class FormElementComponent extends ResponsiveElementComponent {
8
+ constructor(formElementCdr, formElementLibConfig) {
9
+ super(formElementCdr, formElementLibConfig);
10
+ this.formElementCdr = formElementCdr;
11
+ this.formElementLibConfig = formElementLibConfig;
12
+ this.required = false;
13
+ this.requiredSimbol = getConfigValue(this.formElementLibConfig?.formElementComponent?.requiredSimbol, '*');
14
+ this.requiredSimbolPosition = getConfigValue(this.formElementLibConfig?.formElementComponent?.requiredSimbolPosition, 'left');
15
+ this.disabled = false;
16
+ this.readonly = false;
17
+ this.hasError = false;
18
+ this.hasErrorChange = new EventEmitter();
19
+ this.hiddenLabel = false;
20
+ this.errorChange = new EventEmitter();
21
+ this.enterUp = new EventEmitter();
22
+ this.popover = false;
23
+ this.cleanErrorOnChange = getConfigValue(this.formElementLibConfig?.formElementComponent?.cleanErrorOnChange, true);
24
+ this.getLabel = () => `${(this.required && this.requiredSimbolPosition === 'left') ? `${this.requiredSimbol} ` : ''}${this.label}${(this.required && this.requiredSimbolPosition === 'right') ? ` ${this.requiredSimbol}` : ''}`;
25
+ this.isThereError = () => this.hasError || isNotBlankOrNull(this.error);
26
+ this.showError = () => this.isThereError() && isNotBlankOrNull(this.error);
27
+ this.getAriaDescribedBy = () => this.showError() || isNotBlankOrNull(this.description) ? `${this.id}-description` : undefined;
28
+ // showPopover = (): boolean => isNotBlankOrNull(this.popoverHeader) || isNotBlankOrNull(this.popoverContent);
29
+ this.showPopover = () => this.popover === true;
30
+ super.overrideConfig(formElementLibConfig?.formElementComponent);
31
+ }
32
+ overrideConfig(config) {
33
+ if (config) {
34
+ super.overrideConfig(config);
35
+ this.requiredSimbol = getConfigValue(config.requiredSimbol, this.requiredSimbol);
36
+ this.requiredSimbolPosition = getConfigValue(config.requiredSimbolPosition, this.requiredSimbolPosition);
37
+ this.cleanErrorOnChange = getConfigValue(config.cleanErrorOnChange, this.cleanErrorOnChange);
38
+ }
39
+ }
40
+ ngOnChanges(changes) {
41
+ super.ngOnChanges(changes);
42
+ this.title = this.getNotBlankValue(this.title);
43
+ this.name = this.getNotBlankValue(this.name);
44
+ this.labelTitle = this.getNotBlankValue(this.labelTitle);
45
+ this.popoverButtonTitle = this.getNotBlankValue(this.popoverButtonTitle);
46
+ }
47
+ ngOnInit() {
48
+ super.ngOnInit();
49
+ this.logPrefix = `${this.logPrefix}[${this.label}]`;
50
+ }
51
+ setDescError(s) {
52
+ this.error = s;
53
+ this.formElementCdr.detectChanges();
54
+ }
55
+ setHasError(b) {
56
+ this.hasError = b;
57
+ this.formElementCdr.detectChanges();
58
+ }
59
+ cleanError() {
60
+ setTimeout(() => {
61
+ if (this.hasError) {
62
+ this.hasError = false;
63
+ this.hasErrorChange.emit(false);
64
+ }
65
+ if (this.error) {
66
+ this.error = undefined;
67
+ this.errorChange.emit(undefined);
68
+ }
69
+ this.formElementCdr.detectChanges();
70
+ });
71
+ }
72
+ registerOnChange(fn) {
73
+ this.emitDebug(`registerOnChange`);
74
+ this.onChange = fn;
75
+ }
76
+ registerOnTouched(fn) {
77
+ this.emitDebug(`registerOnTouched`);
78
+ this.onTouched = fn;
79
+ }
80
+ setDisabledState(isDisabled) {
81
+ this.emitDebug(`setDisabledState: ${isDisabled}`);
82
+ this.disabled = isDisabled;
83
+ this.formElementCdr.detectChanges();
84
+ }
85
+ onBlur() {
86
+ if (this.onTouched) {
87
+ this.onTouched();
88
+ }
89
+ }
90
+ }
91
+ FormElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormElementComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: NG_INAIL_COMMON_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
92
+ FormElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FormElementComponent, selector: "inail-form-element", inputs: { label: "label", title: "title", name: "name", labelTitle: "labelTitle", labelClass: "labelClass", inputClass: "inputClass", required: "required", requiredSimbol: "requiredSimbol", requiredSimbolPosition: "requiredSimbolPosition", disabled: "disabled", readonly: "readonly", hasError: "hasError", hiddenLabel: "hiddenLabel", error: "error", description: "description", focus: "focus", popover: "popover", popoverButtonIcon: "popoverButtonIcon", popoverButtonTitle: "popoverButtonTitle", popoverHeader: "popoverHeader", popoverContent: "popoverContent", cleanErrorOnChange: "cleanErrorOnChange" }, outputs: { hasErrorChange: "hasErrorChange", errorChange: "errorChange", enterUp: "enterUp" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormElementComponent, decorators: [{
94
+ type: Component,
95
+ args: [{
96
+ selector: 'inail-form-element',
97
+ template: '',
98
+ styles: [],
99
+ changeDetection: CHANGE_DETECTION_STRATEGY,
100
+ encapsulation: ViewEncapsulation.None
101
+ }]
102
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
103
+ type: Inject,
104
+ args: [NG_INAIL_COMMON_CONFIG]
105
+ }] }]; }, propDecorators: { label: [{
106
+ type: Input
107
+ }], title: [{
108
+ type: Input
109
+ }], name: [{
110
+ type: Input
111
+ }], labelTitle: [{
112
+ type: Input
113
+ }], labelClass: [{
114
+ type: Input
115
+ }], inputClass: [{
116
+ type: Input
117
+ }], required: [{
118
+ type: Input
119
+ }], requiredSimbol: [{
120
+ type: Input
121
+ }], requiredSimbolPosition: [{
122
+ type: Input
123
+ }], disabled: [{
124
+ type: Input
125
+ }], readonly: [{
126
+ type: Input
127
+ }], hasError: [{
128
+ type: Input
129
+ }], hasErrorChange: [{
130
+ type: Output
131
+ }], hiddenLabel: [{
132
+ type: Input
133
+ }], error: [{
134
+ type: Input
135
+ }], description: [{
136
+ type: Input
137
+ }], errorChange: [{
138
+ type: Output
139
+ }], enterUp: [{
140
+ type: Output
141
+ }], focus: [{
142
+ type: Input
143
+ }], popover: [{
144
+ type: Input
145
+ }], popoverButtonIcon: [{
146
+ type: Input
147
+ }], popoverButtonTitle: [{
148
+ type: Input
149
+ }], popoverHeader: [{
150
+ type: Input
151
+ }], popoverContent: [{
152
+ type: Input
153
+ }], cleanErrorOnChange: [{
154
+ type: Input
155
+ }] } });
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWluYWlsLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9mb3JtL2Zvcm0tZWxlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFckosT0FBTyxFQUFDLDBCQUEwQixFQUFvQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzlHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBZ0IseUJBQXlCLEVBQUUsY0FBYyxFQUFpQyxNQUFNLG1CQUFtQixDQUFDO0FBQzNILE9BQU8sRUFBNkIsc0JBQXNCLEVBQXNCLE1BQU0saUNBQWlDLENBQUM7O0FBU3hILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSwwQkFBMEI7SUFtRWxFLFlBQW9CLGNBQWlDLEVBRWpDLG9CQUEwQztRQUM1RCxLQUFLLENBQUMsY0FBYyxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFIMUIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBRWpDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFuRDlELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsbUJBQWMsR0FBVyxjQUFjLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUU5RywyQkFBc0IsR0FBcUIsY0FBYyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUzSSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFCLGFB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R1AsT0FBTztzQkFETixNQUFNO2dCQUdQLEtBQUs7c0JBREosS0FBSztnQkFHTixPQUFPO3NCQUROLEtBQUs7Z0JBR04saUJBQWlCO3NCQURoQixLQUFLO2dCQUdOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUs7Z0JBR04sY0FBYztzQkFEYixLQUFLO2dCQUdOLGtCQUFrQjtzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge1Jlc3BvbnNpdmVFbGVtZW50Q29tcG9uZW50LCBSZXNwb25zaXZlRWxlbWVudENvbXBvbmVudENoYW5nZXN9IGZyb20gXCIuLi9yZXNwb25zaXZlLWVsZW1lbnQuY29tcG9uZW50XCI7XG5pbXBvcnQge2lzTm90QmxhbmtPck51bGx9IGZyb20gXCIuLi8uLi8uLi91dGlscy9jb21tb24ub3BlcmF0b3JzXCI7XG5pbXBvcnQge0Jvb2xlYW5DaGFuZ2UsIENIQU5HRV9ERVRFQ1RJT05fU1RSQVRFR1ksIGdldENvbmZpZ1ZhbHVlLCBPYnNlcnZhYmxlQ2hhbmdlLCBTdHJpbmdDaGFuZ2V9IGZyb20gXCIuLi9iYXNlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtGb3JtRWxlbWVudENvbXBvbmVudENvbmZpZywgTkdfSU5BSUxfQ09NTU9OX0NPTkZJRywgTmdJbmFpbENvbW1vbkNvbmZpZ30gZnJvbSBcIi4uLy4uLy4uL25nLWluYWlsLWNvbW1vbi5jb25maWdcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW5haWwtZm9ybS1lbGVtZW50JyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZXM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENIQU5HRV9ERVRFQ1RJT05fU1RSQVRFR1ksXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUVsZW1lbnRDb21wb25lbnQgZXh0ZW5kcyBSZXNwb25zaXZlRWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcblxuICBvbkNoYW5nZTogKHZhbDogYW55KSA9PiB2b2lkXG4gIG9uVG91Y2hlZDogKCkgPT4gdm9pZDtcblxuICBASW5wdXQoKVxuICBsYWJlbDogTm9uTnVsbGFibGU8c3RyaW5nPjtcbiAgQElucHV0KClcbiAgdGl0bGU6IHN0cmluZztcbiAgQElucHV0KClcbiAgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBsYWJlbFRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGxhYmVsQ2xhc3M6IHN0cmluZztcbiAgQElucHV0KClcbiAgaW5wdXRDbGFzczogc3RyaW5nO1xuICBASW5wdXQoKVxuICByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICByZXF1aXJlZFNpbWJvbDogc3RyaW5nID0gZ2V0Q29uZmlnVmFsdWUodGhpcy5mb3JtRWxlbWVudExpYkNvbmZpZz8uZm9ybUVsZW1lbnRDb21wb25lbnQ/LnJlcXVpcmVkU2ltYm9sLCAnKicpO1xuICBASW5wdXQoKVxuICByZXF1aXJlZFNpbWJvbFBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnID0gZ2V0Q29uZmlnVmFsdWUodGhpcy5mb3JtRWxlbWVudExpYkNvbmZpZz8uZm9ybUVsZW1lbnRDb21wb25lbnQ/LnJlcXVpcmVkU2ltYm9sUG9zaXRpb24sICdsZWZ0Jyk7XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKVxuICBoYXNFcnJvckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQElucHV0KClcbiAgaGlkZGVuTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgZXJyb3I6IHN0cmluZztcbiAgQElucHV0KClcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgQE91dHB1dCgpXG4gIGVycm9yQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKVxuICBlbnRlclVwID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBASW5wdXQoKVxuICBmb2N1czogT2JzZXJ2YWJsZTxib29sZWFuIHwgdm9pZD47XG4gIEBJbnB1dCgpXG4gIHBvcG92ZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgcG9wb3ZlckJ1dHRvbkljb246IHN0cmluZztcbiAgQElucHV0KClcbiAgcG9wb3ZlckJ1dHRvblRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHBvcG92ZXJIZWFkZXI6IHN0cmluZztcbiAgQElucHV0KClcbiAgcG9wb3ZlckNvbnRlbnQ6IHN0cmluZztcbiAgQElucHV0KClcbiAgY2xlYW5FcnJvck9uQ2hhbmdlOiBib29sZWFuID0gZ2V0Q29uZmlnVmFsdWUodGhpcy5mb3JtRWxlbWVudExpYkNvbmZpZz8uZm9ybUVsZW1lbnRDb21wb25lbnQ/LmNsZWFuRXJyb3JPbkNoYW5nZSwgdHJ1ZSk7XG5cbiAgZ2V0TGFiZWwgPSAoKSA9PiBgJHsodGhpcy5yZXF1aXJlZCAmJiB0aGlzLnJlcXVpcmVkU2ltYm9sUG9zaXRpb24gPT09ICdsZWZ0JykgPyBgJHt0aGlzLnJlcXVpcmVkU2ltYm9sfSBgIDogJyd9JHt0aGlzLmxhYmVsfSR7KHRoaXMucmVxdWlyZWQgJiYgdGhpcy5yZXF1aXJlZFNpbWJvbFBvc2l0aW9uID09PSAncmlnaHQnKSA/IGAgJHt0aGlzLnJlcXVpcmVkU2ltYm9sfWAgOiAnJ31gXG5cbiAgaXNUaGVyZUVycm9yID0gKCk6IGJvb2xlYW4gPT4gdGhpcy5oYXNFcnJvciB8fCBpc05vdEJsYW5rT3JOdWxsKHRoaXMuZXJyb3IpO1xuXG4gIHNob3dFcnJvciA9ICgpOiBib29sZWFuID0+IHRoaXMuaXNUaGVyZUVycm9yKCkgJiYgaXNOb3RCbGFua09yTnVsbCh0aGlzLmVycm9yKTtcblxuICBnZXRBcmlhRGVzY3JpYmVkQnkgPSAoKTogc3RyaW5nID0+IHRoaXMuc2hvd0Vycm9yKCkgfHwgaXNOb3RCbGFua09yTnVsbCh0aGlzLmRlc2NyaXB0aW9uKSA/IGAke3RoaXMuaWR9LWRlc2NyaXB0aW9uYCA6IHVuZGVmaW5lZDtcblxuICAvLyBzaG93UG9wb3ZlciA9ICgpOiBib29sZWFuID0+IGlzTm90QmxhbmtPck51bGwodGhpcy5wb3BvdmVySGVhZGVyKSB8fCBpc05vdEJsYW5rT3JOdWxsKHRoaXMucG9wb3ZlckNvbnRlbnQpO1xuICBzaG93UG9wb3ZlciA9ICgpOiBib29sZWFuID0+IHRoaXMucG9wb3ZlciA9PT0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1FbGVtZW50Q2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgQEluamVjdChOR19JTkFJTF9DT01NT05fQ09ORklHKVxuICAgICAgICAgICAgICBwcml2YXRlIGZvcm1FbGVtZW50TGliQ29uZmlnPzogTmdJbmFpbENvbW1vbkNvbmZpZykge1xuICAgIHN1cGVyKGZvcm1FbGVtZW50Q2RyLCBmb3JtRWxlbWVudExpYkNvbmZpZyk7XG4gICAgc3VwZXIub3ZlcnJpZGVDb25maWcoZm9ybUVsZW1lbnRMaWJDb25maWc/LmZvcm1FbGVtZW50Q29tcG9uZW50KTtcbiAgfVxuXG4gIG92ZXJyaWRlQ29uZmlnKGNvbmZpZzogRm9ybUVsZW1lbnRDb21wb25lbnRDb25maWcpIHtcblxuICAgIGlmIChjb25maWcpIHtcblxuICAgICAgc3VwZXIub3ZlcnJpZGVDb25maWcoY29uZmlnKTtcbiAgICAgIHRoaXMucmVxdWlyZWRTaW1ib2wgPSBnZXRDb25maWdWYWx1ZShjb25maWcucmVxdWlyZWRTaW1ib2wsIHRoaXMucmVxdWlyZWRTaW1ib2wpO1xuICAgICAgdGhpcy5yZXF1aXJlZFNpbWJvbFBvc2l0aW9uID0gZ2V0Q29uZmlnVmFsdWUoY29uZmlnLnJlcXVpcmVkU2ltYm9sUG9zaXRpb24sIHRoaXMucmVxdWlyZWRTaW1ib2xQb3NpdGlvbik7XG4gICAgICB0aGlzLmNsZWFuRXJyb3JPbkNoYW5nZSA9IGdldENvbmZpZ1ZhbHVlKGNvbmZpZy5jbGVhbkVycm9yT25DaGFuZ2UsIHRoaXMuY2xlYW5FcnJvck9uQ2hhbmdlKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG5cbiAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICB0aGlzLnRpdGxlID0gdGhpcy5nZXROb3RCbGFua1ZhbHVlKHRoaXMudGl0bGUpO1xuICAgIHRoaXMubmFtZSA9IHRoaXMuZ2V0Tm90QmxhbmtWYWx1ZSh0aGlzLm5hbWUpO1xuICAgIHRoaXMubGFiZWxUaXRsZSA9IHRoaXMuZ2V0Tm90QmxhbmtWYWx1ZSh0aGlzLmxhYmVsVGl0bGUpO1xuICAgIHRoaXMucG9wb3ZlckJ1dHRvblRpdGxlID0gdGhpcy5nZXROb3RCbGFua1ZhbHVlKHRoaXMucG9wb3ZlckJ1dHRvblRpdGxlKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5sb2dQcmVmaXggPSBgJHt0aGlzLmxvZ1ByZWZpeH1bJHt0aGlzLmxhYmVsfV1gO1xuICB9XG5cbiAgc2V0RGVzY0Vycm9yKHM6IHN0cmluZykge1xuXG4gICAgdGhpcy5lcnJvciA9IHM7XG4gICAgdGhpcy5mb3JtRWxlbWVudENkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBzZXRIYXNFcnJvcihiOiBib29sZWFuKSB7XG5cbiAgICB0aGlzLmhhc0Vycm9yID0gYjtcbiAgICB0aGlzLmZvcm1FbGVtZW50Q2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGNsZWFuRXJyb3IoKSB7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcblxuICAgICAgaWYgKHRoaXMuaGFzRXJyb3IpIHtcblxuICAgICAgICB0aGlzLmhhc0Vycm9yID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaGFzRXJyb3JDaGFuZ2UuZW1pdChmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmVycm9yKSB7XG5cbiAgICAgICAgdGhpcy5lcnJvciA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5lcnJvckNoYW5nZS5lbWl0KHVuZGVmaW5lZCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZm9ybUVsZW1lbnRDZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pXG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7XG5cbiAgICB0aGlzLmVtaXREZWJ1ZyhgcmVnaXN0ZXJPbkNoYW5nZWApO1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcblxuICAgIHRoaXMuZW1pdERlYnVnKGByZWdpc3Rlck9uVG91Y2hlZGApO1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG5cbiAgICB0aGlzLmVtaXREZWJ1Zyhgc2V0RGlzYWJsZWRTdGF0ZTogJHtpc0Rpc2FibGVkfWApO1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuZm9ybUVsZW1lbnRDZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIGlmICh0aGlzLm9uVG91Y2hlZCkge1xuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtRWxlbWVudENvbXBvbmVudENoYW5nZXMgZXh0ZW5kcyBSZXNwb25zaXZlRWxlbWVudENvbXBvbmVudENoYW5nZXMge1xuXG4gIGxhYmVsOiBTdHJpbmdDaGFuZ2UsXG4gIHRpdGxlOiBTdHJpbmdDaGFuZ2UsXG4gIG5hbWU6IFN0cmluZ0NoYW5nZSxcbiAgbGFiZWxUaXRsZTogU3RyaW5nQ2hhbmdlLFxuICBsYWJlbENsYXNzOiBTdHJpbmdDaGFuZ2UsXG4gIGlucHV0Q2xhc3M6IFN0cmluZ0NoYW5nZSxcbiAgcmVxdWlyZWQ6IEJvb2xlYW5DaGFuZ2UsXG4gIHJlcXVpcmVkU2ltYm9sOiBTdHJpbmdDaGFuZ2UsXG4gIHJlcXVpcmVkU2ltYm9sUG9zaXRpb246IFN0cmluZ0NoYW5nZSxcbiAgZGlzYWJsZWQ6IEJvb2xlYW5DaGFuZ2UsXG4gIHJlYWRvbmx5OiBCb29sZWFuQ2hhbmdlLFxuICBoYXNFcnJvcjogQm9vbGVhbkNoYW5nZSxcbiAgaGlkZGVuTGFiZWw6IEJvb2xlYW5DaGFuZ2UsXG4gIGVycm9yOiBTdHJpbmdDaGFuZ2UsXG4gIGZvY3VzOiBPYnNlcnZhYmxlQ2hhbmdlXG59XG4iXX0=