ng-inail-common 2.1.1-beta.9 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/README.md +1 -1
  2. package/esm2022/lib/components/core/base.component.mjs +120 -0
  3. package/{esm2020 → esm2022}/lib/components/core/basic-ux-element.component.mjs +4 -4
  4. package/esm2022/lib/components/core/form/checkbox/checkbox.component.mjs +124 -0
  5. package/{esm2020 → esm2022}/lib/components/core/form/form-element.component.mjs +4 -4
  6. package/{esm2020 → esm2022}/lib/components/core/form/input-date/input-date.component.mjs +10 -10
  7. package/{esm2020 → esm2022}/lib/components/core/form/input-file/input-file.component.mjs +4 -4
  8. package/{esm2020 → esm2022}/lib/components/core/form/input-money/input-money.component.mjs +10 -10
  9. package/esm2022/lib/components/core/form/input-number/input-number.component.mjs +202 -0
  10. package/esm2022/lib/components/core/form/input-text/input-text.component.mjs +131 -0
  11. package/{esm2020 → esm2022}/lib/components/core/form/input-time/input-time.component.mjs +10 -10
  12. package/{esm2020 → esm2022}/lib/components/core/form/multi-select/multi-select.component.mjs +4 -4
  13. package/esm2022/lib/components/core/form/radio-select/radio-select.component.mjs +144 -0
  14. package/esm2022/lib/components/core/form/select/select.component.mjs +144 -0
  15. package/esm2022/lib/components/core/form/textarea/textarea.component.mjs +134 -0
  16. package/{esm2020 → esm2022}/lib/components/core/layout/breadcrumb/breadcrumb.component.mjs +4 -4
  17. package/esm2022/lib/components/core/layout/dynamic-layout-element.component.mjs +158 -0
  18. package/esm2022/lib/components/core/layout/footer/footer.component.mjs +50 -0
  19. package/esm2022/lib/components/core/layout/header/header.component.mjs +100 -0
  20. package/esm2022/lib/components/core/layout/header-secondario/header-secondario.component.mjs +166 -0
  21. package/esm2022/lib/components/core/layout/inail-layout/inail-layout.component.mjs +587 -0
  22. package/{esm2020 → esm2022}/lib/components/core/layout/loader/loader.component.mjs +4 -4
  23. package/esm2022/lib/components/core/layout/logo-header/logo-header.component.mjs +55 -0
  24. package/{esm2020 → esm2022}/lib/components/core/layout/menu/menu.component.mjs +4 -4
  25. package/{esm2020 → esm2022}/lib/components/core/layout/menu-intranet/menu-intranet.component.mjs +4 -4
  26. package/esm2022/lib/components/core/layout/navigazione-principale/navigazione-principale.component.mjs +102 -0
  27. package/{esm2020 → esm2022}/lib/components/core/layout/navigazione-secondaria/navigazione-secondaria.component.mjs +4 -4
  28. package/{esm2020 → esm2022}/lib/components/core/layout/trigger-slider-menu-button/trigger-slider-menu-button.component.mjs +4 -4
  29. package/{esm2020 → esm2022}/lib/components/core/responsive-element.component.mjs +4 -4
  30. package/{esm2020 → esm2022}/lib/components/core/table/inail-table-page-selector/inail-table-page-selector.component.mjs +4 -4
  31. package/{esm2020 → esm2022}/lib/components/core/table/table/table.component.mjs +4 -4
  32. package/{esm2020 → esm2022}/lib/components/core/table/table-page-length-selector/table-page-length-selector.component.mjs +4 -4
  33. package/esm2022/lib/components/core/table/th-label/th-label.component.mjs +89 -0
  34. package/{esm2020 → esm2022}/lib/components/core/table/tr-accordion/tr-accordion.component.mjs +4 -4
  35. package/{esm2020 → esm2022}/lib/components/core/table/tr-checkbox/tr-checkbox.component.mjs +4 -4
  36. package/{esm2020 → esm2022}/lib/components/core/ux/accordion/accordion.component.mjs +4 -4
  37. package/{esm2020 → esm2022}/lib/components/core/ux/alert/alert.component.mjs +4 -4
  38. package/{esm2020 → esm2022}/lib/components/core/ux/button/button.component.mjs +4 -4
  39. package/{esm2020 → esm2022}/lib/components/core/ux/confirm/confirm.component.mjs +4 -4
  40. package/{esm2020 → esm2022}/lib/components/core/ux/container/container.component.mjs +4 -4
  41. package/{esm2020 → esm2022}/lib/components/core/ux/feedback/feedback.component.mjs +4 -4
  42. package/{esm2020 → esm2022}/lib/components/core/ux/form-grey/form-grey.component.mjs +4 -4
  43. package/{esm2020 → esm2022}/lib/components/core/ux/modal/modal.component.mjs +4 -4
  44. package/{esm2020 → esm2022}/lib/components/core/ux/page-title/page-title.component.mjs +4 -4
  45. package/{esm2020 → esm2022}/lib/components/core/ux/popover/popover.component.mjs +5 -5
  46. package/{esm2020 → esm2022}/lib/components/core/ux/progress-bar/progress-bar.component.mjs +4 -4
  47. package/{esm2020 → esm2022}/lib/components/core/ux/selector/selector.component.mjs +4 -4
  48. package/{esm2020 → esm2022}/lib/components/core/ux/tab-group/tab-group.component.mjs +4 -4
  49. package/{esm2020 → esm2022}/lib/components/core/ux/tab-pane/tab-pane.component.mjs +4 -4
  50. package/{esm2020 → esm2022}/lib/components/core/ux/wizard/wizard.component.mjs +4 -4
  51. package/{esm2020 → esm2022}/lib/components/utilities/form-element-state-propertie/form-element-state-propertie.component.mjs +4 -4
  52. package/{esm2020 → esm2022}/lib/components/utilities/pre/pre.component.mjs +4 -4
  53. package/{esm2020 → esm2022}/lib/components/utilities/state-propertie/state-propertie.component.mjs +4 -4
  54. package/esm2022/lib/ng-inail-common.component.mjs +19 -0
  55. package/esm2022/lib/ng-inail-common.module.mjs +296 -0
  56. package/esm2022/lib/ng-inail-common.service.mjs +14 -0
  57. package/{esm2020 → esm2022}/lib/services/agw-rest.service.mjs +4 -4
  58. package/esm2022/public-api.mjs +64 -0
  59. package/{fesm2020 → fesm2022}/ng-inail-common.mjs +2753 -2908
  60. package/fesm2022/ng-inail-common.mjs.map +1 -0
  61. package/lib/components/core/base.component.d.ts +7 -5
  62. package/lib/components/core/basic-ux-element.component.d.ts +1 -1
  63. package/lib/components/core/form/checkbox/checkbox.component.d.ts +1 -1
  64. package/lib/components/core/form/form-element.component.d.ts +1 -1
  65. package/lib/components/core/form/input-date/input-date.component.d.ts +1 -1
  66. package/lib/components/core/form/input-file/input-file.component.d.ts +1 -1
  67. package/lib/components/core/form/input-money/input-money.component.d.ts +2 -2
  68. package/lib/components/core/form/input-number/input-number.component.d.ts +1 -1
  69. package/lib/components/core/form/input-text/input-text.component.d.ts +1 -1
  70. package/lib/components/core/form/input-time/input-time.component.d.ts +1 -1
  71. package/lib/components/core/form/multi-select/multi-select.component.d.ts +1 -1
  72. package/lib/components/core/form/radio-select/radio-select.component.d.ts +1 -1
  73. package/lib/components/core/form/select/select.component.d.ts +1 -2
  74. package/lib/components/core/form/textarea/textarea.component.d.ts +1 -1
  75. package/lib/components/core/layout/breadcrumb/breadcrumb.component.d.ts +1 -1
  76. package/lib/components/core/layout/dynamic-layout-element.component.d.ts +70 -0
  77. package/lib/components/core/layout/footer/footer.component.d.ts +15 -63
  78. package/lib/components/core/layout/header/header.component.d.ts +22 -18
  79. package/lib/components/core/layout/header-secondario/header-secondario.component.d.ts +14 -63
  80. package/lib/components/core/layout/inail-layout/inail-layout.component.d.ts +19 -19
  81. package/lib/components/core/layout/loader/loader.component.d.ts +1 -1
  82. package/lib/components/core/layout/logo-header/logo-header.component.d.ts +15 -63
  83. package/lib/components/core/layout/menu/menu.component.d.ts +2 -2
  84. package/lib/components/core/layout/menu-intranet/menu-intranet.component.d.ts +1 -1
  85. package/lib/components/core/layout/navigazione-principale/navigazione-principale.component.d.ts +16 -67
  86. package/lib/components/core/layout/navigazione-secondaria/navigazione-secondaria.component.d.ts +1 -1
  87. package/lib/components/core/layout/trigger-slider-menu-button/trigger-slider-menu-button.component.d.ts +1 -1
  88. package/lib/components/core/responsive-element.component.d.ts +2 -2
  89. package/lib/components/core/table/inail-table-page-selector/inail-table-page-selector.component.d.ts +1 -1
  90. package/lib/components/core/table/table/table.component.d.ts +2 -2
  91. package/lib/components/core/table/table-page-length-selector/table-page-length-selector.component.d.ts +1 -1
  92. package/lib/components/core/table/th-label/th-label.component.d.ts +1 -1
  93. package/lib/components/core/table/tr-accordion/tr-accordion.component.d.ts +1 -1
  94. package/lib/components/core/table/tr-checkbox/tr-checkbox.component.d.ts +1 -1
  95. package/lib/components/core/ux/accordion/accordion.component.d.ts +1 -1
  96. package/lib/components/core/ux/alert/alert.component.d.ts +1 -1
  97. package/lib/components/core/ux/button/button.component.d.ts +1 -1
  98. package/lib/components/core/ux/confirm/confirm.component.d.ts +2 -2
  99. package/lib/components/core/ux/container/container.component.d.ts +1 -1
  100. package/lib/components/core/ux/feedback/feedback.component.d.ts +2 -2
  101. package/lib/components/core/ux/form-grey/form-grey.component.d.ts +1 -1
  102. package/lib/components/core/ux/modal/modal.component.d.ts +1 -1
  103. package/lib/components/core/ux/page-title/page-title.component.d.ts +1 -1
  104. package/lib/components/core/ux/popover/popover.component.d.ts +1 -1
  105. package/lib/components/core/ux/progress-bar/progress-bar.component.d.ts +1 -1
  106. package/lib/components/core/ux/selector/selector.component.d.ts +1 -1
  107. package/lib/components/core/ux/tab-group/tab-group.component.d.ts +1 -1
  108. package/lib/components/core/ux/tab-pane/tab-pane.component.d.ts +1 -1
  109. package/lib/components/core/ux/wizard/wizard.component.d.ts +1 -1
  110. package/lib/components/utilities/form-element-state-propertie/form-element-state-propertie.component.d.ts +1 -1
  111. package/lib/components/utilities/pre/pre.component.d.ts +1 -1
  112. package/lib/components/utilities/state-propertie/state-propertie.component.d.ts +1 -1
  113. package/lib/ng-inail-common.component.d.ts +5 -0
  114. package/lib/ng-inail-common.module.d.ts +59 -57
  115. package/lib/ng-inail-common.service.d.ts +6 -0
  116. package/lib/utils/common.operators.d.ts +1 -1
  117. package/lib/utils/date.operators.d.ts +1 -1
  118. package/lib/utils/types.d.ts +1 -1
  119. package/package.json +10 -16
  120. package/public-api.d.ts +2 -0
  121. package/esm2020/lib/components/core/base.component.mjs +0 -115
  122. package/esm2020/lib/components/core/form/checkbox/checkbox.component.mjs +0 -124
  123. package/esm2020/lib/components/core/form/input-number/input-number.component.mjs +0 -202
  124. package/esm2020/lib/components/core/form/input-text/input-text.component.mjs +0 -131
  125. package/esm2020/lib/components/core/form/radio-select/radio-select.component.mjs +0 -143
  126. package/esm2020/lib/components/core/form/select/select.component.mjs +0 -146
  127. package/esm2020/lib/components/core/form/textarea/textarea.component.mjs +0 -134
  128. package/esm2020/lib/components/core/layout/footer/footer.component.mjs +0 -171
  129. package/esm2020/lib/components/core/layout/header/header.component.mjs +0 -106
  130. package/esm2020/lib/components/core/layout/header-secondario/header-secondario.component.mjs +0 -230
  131. package/esm2020/lib/components/core/layout/inail-layout/inail-layout.component.mjs +0 -586
  132. package/esm2020/lib/components/core/layout/logo-header/logo-header.component.mjs +0 -175
  133. package/esm2020/lib/components/core/layout/navigazione-principale/navigazione-principale.component.mjs +0 -199
  134. package/esm2020/lib/components/core/table/th-label/th-label.component.mjs +0 -89
  135. package/esm2020/lib/ng-inail-common.module.mjs +0 -288
  136. package/esm2020/public-api.mjs +0 -62
  137. package/fesm2015/ng-inail-common.mjs +0 -7362
  138. package/fesm2015/ng-inail-common.mjs.map +0 -1
  139. package/fesm2020/ng-inail-common.mjs.map +0 -1
  140. /package/{esm2020 → esm2022}/lib/components/core/layout/inail-layout/static-resources.mjs +0 -0
  141. /package/{esm2020 → esm2022}/lib/components/core/layout/inail-layout/webkit-resources.mjs +0 -0
  142. /package/{esm2020 → esm2022}/lib/ng-inail-common.config.mjs +0 -0
  143. /package/{esm2020 → esm2022}/lib/utils/common.operators.mjs +0 -0
  144. /package/{esm2020 → esm2022}/lib/utils/date.operators.mjs +0 -0
  145. /package/{esm2020 → esm2022}/lib/utils/types.mjs +0 -0
  146. /package/{esm2020 → esm2022}/ng-inail-common.mjs +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # NgInailCommon
2
2
 
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.2.3.
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.
4
4
 
5
5
  ## Code scaffolding
6
6
 
@@ -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
+ this.viewInit = false;
22
+ /**
23
+ * Se true effettua il log direttamente nella console.
24
+ * Altrimenti emette l'evento log
25
+ */
26
+ this.logOnConsole = getConfigValue(this.baseElementLibConfig?.logOnConsole, false);
27
+ /**
28
+ *
29
+ */
30
+ this.showState = false;
31
+ this.subcriptions = [];
32
+ this.push = (subcription) => this.subcriptions.push(subcription);
33
+ // Detach centralizzato
34
+ this.detach = () => {
35
+ this.baseComponentCdr.detach();
36
+ };
37
+ this.detectChanges = () => this.baseComponentCdr.detectChanges();
38
+ this.getMessage = (event) => this.logPrefix && isString(event.message) ? `${this.logPrefix} ${event.message}` : event.message;
39
+ this.getNotBlankValue = (v) => isNotBlankOrNull(`${v}`) ? v : undefined;
40
+ this.log = new EventEmitter();
41
+ saveEE();
42
+ }
43
+ overrideConfig(config) {
44
+ if (config) {
45
+ this.logOnConsole = getConfigValue(config.logOnConsole, this.logOnConsole);
46
+ }
47
+ }
48
+ ngOnChanges(changes) {
49
+ this.emitDebug(`ngOnChanges`);
50
+ this.emitDebug(changes);
51
+ }
52
+ ngOnInit() {
53
+ this.emitDebug(`ngOnInit`);
54
+ this.emitDebug(`this`);
55
+ this.emitDebug(this);
56
+ if (this.detectChange) {
57
+ this.push(this.detectChange.subscribe(() => this.baseComponentCdr.detectChanges()));
58
+ }
59
+ }
60
+ ngOnDestroy() {
61
+ this.emitDebug(`${this.logPrefix} ngOnDestroy`);
62
+ this.subcriptions.forEach(s => s?.unsubscribe());
63
+ }
64
+ emitLog(message) {
65
+ this.emit({ message: message, level: LogLevel.LOG });
66
+ }
67
+ emitTrace(message) {
68
+ this.emit({ message: message, level: LogLevel.TRACE });
69
+ }
70
+ emitDebug(message) {
71
+ this.emit({ message: message, level: LogLevel.DEBUG });
72
+ }
73
+ emitInfo(message) {
74
+ this.emit({ message: message, level: LogLevel.INFO });
75
+ }
76
+ emitWarn(message) {
77
+ this.emit({ message: message, level: LogLevel.WARN });
78
+ }
79
+ emitError(message) {
80
+ this.emit({ message: message, level: LogLevel.ERROR });
81
+ }
82
+ emit(event) {
83
+ if (event) {
84
+ if (this.logOnConsole === true) {
85
+ console[event.level].apply(this, [this.getMessage(event)]);
86
+ }
87
+ else {
88
+ event.message = this.getMessage(event);
89
+ this.log.emit(event);
90
+ }
91
+ }
92
+ }
93
+ ngAfterViewInit() {
94
+ this.viewInit = true;
95
+ this.detectChanges();
96
+ }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: NG_INAIL_COMMON_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
98
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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 }); }
99
+ }
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseComponent, decorators: [{
101
+ type: Component,
102
+ args: [{ selector: 'inail-base', template: '', changeDetection: CHANGE_DETECTION_STRATEGY, encapsulation: ViewEncapsulation.None }]
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pbmFpbC1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUdOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsUUFBUSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFeEUsT0FBTyxFQUFzQixzQkFBc0IsRUFBc0IsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFOUcsTUFBTSxDQUFOLElBQVksUUFRWDtBQVJELFdBQVksUUFBUTtJQUVsQix1QkFBVyxDQUFBO0lBQ1gsMkJBQWUsQ0FBQTtJQUNmLDJCQUFlLENBQUE7SUFDZix5QkFBYSxDQUFBO0lBQ2IseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7QUFDakIsQ0FBQyxFQVJXLFFBQVEsS0FBUixRQUFRLFFBUW5CO0FBUUQsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsdUJBQXVCLENBQUMsTUFBTSxDQUFDO0FBQ3hFLDRFQUE0RTtBQUU1RSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFVLEVBQUUsWUFBaUIsRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7QUFTM0csTUFBTSxPQUFPLGFBQWE7SUF3Q3hCLFlBQW9CLGdCQUFtQyxFQUVuQyxvQkFBMEM7UUFGMUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQUVuQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBeEM5RCxhQUFRLEdBQVksS0FBSyxDQUFD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Z01BTGQsRUFBRTs7NEZBS0QsYUFBYTtrQkFQekIsU0FBUzsrQkFDRSxZQUFZLFlBQ1osRUFBRSxtQkFFSyx5QkFBeUIsaUJBQzNCLGlCQUFpQixDQUFDLElBQUk7OzBCQTJDeEIsTUFBTTsyQkFBQyxzQkFBc0I7NENBakMxQyxHQUFHO3NCQURGLE1BQU07Z0JBUVAsWUFBWTtzQkFEWCxLQUFLO2dCQU9OLFNBQVM7c0JBRFIsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7O0FBb0lSLFNBQVMsTUFBTTtJQUViLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFFbEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGsrQkFBaytCLENBQUMsQ0FBQyxDQUFDO0tBQ3RnQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2UsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtpc05vdEJsYW5rT3JOdWxsLCBpc1N0cmluZ30gZnJvbSBcIi4uLy4uL3V0aWxzL2NvbW1vbi5vcGVyYXRvcnNcIjtcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtCYXNlQ29tcG9uZW50Q29uZmlnLCBOR19JTkFJTF9DT01NT05fQ09ORklHLCBOZ0luYWlsQ29tbW9uQ29uZmlnfSBmcm9tIFwiLi4vLi4vbmctaW5haWwtY29tbW9uLmNvbmZpZ1wiO1xuXG5leHBvcnQgZW51bSBMb2dMZXZlbCB7XG5cbiAgTE9HID0gJ2xvZycsXG4gIFRSQUNFID0gJ3RyYWNlJyxcbiAgREVCVUcgPSAnZGVidWcnLFxuICBJTkZPID0gJ2luZm8nLFxuICBXQVJOID0gJ3dhcm4nLFxuICBFUlJPUiA9ICdlcnJvcidcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2dFdmVudCB7XG5cbiAgbWVzc2FnZTogYW55O1xuICBsZXZlbDogTG9nTGV2ZWw7XG59XG5cbmV4cG9ydCBjb25zdCBDSEFOR0VfREVURUNUSU9OX1NUUkFURUdZID0gQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoO1xuLy8gZXhwb3J0IGNvbnN0IENIQU5HRV9ERVRFQ1RJT05fU1RSQVRFR1kgPSBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29uZmlnVmFsdWUgPSAodmFsdWU6IGFueSwgZGVmYXVsdFZhbHVlOiBhbnkpID0+IHZhbHVlICE9IHVuZGVmaW5lZCA/IHZhbHVlIDogZGVmYXVsdFZhbHVlO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbmFpbC1iYXNlJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZXM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENIQU5HRV9ERVRFQ1RJT05fU1RSQVRFR1ksXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICB2aWV3SW5pdDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBMb2cgZGVsIGNvbXBvbmVudGVcbiAgICovXG4gIEBPdXRwdXQoKVxuICBsb2c6IEV2ZW50RW1pdHRlcjxMb2dFdmVudD47XG5cbiAgLyoqXG4gICAqIFNlIHRydWUgZWZmZXR0dWEgaWwgbG9nIGRpcmV0dGFtZW50ZSBuZWxsYSBjb25zb2xlLlxuICAgKiBBbHRyaW1lbnRpIGVtZXR0ZSBsJ2V2ZW50byBsb2dcbiAgICovXG4gIEBJbnB1dCgpXG4gIGxvZ09uQ29uc29sZTogYm9vbGVhbiA9IGdldENvbmZpZ1ZhbHVlKHRoaXMuYmFzZUVsZW1lbnRMaWJDb25maWc/LmxvZ09uQ29uc29sZSwgZmFsc2UpO1xuXG4gIC8qKlxuICAgKlxuICAgKi9cbiAgQElucHV0KClcbiAgc2hvd1N0YXRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGV0ZWN0Q2hhbmdlOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gIGxvZ1ByZWZpeDogc3RyaW5nO1xuXG4gIHN1YmNyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHVzaCA9IChzdWJjcmlwdGlvbjogU3Vic2NyaXB0aW9uKSA9PiB0aGlzLnN1YmNyaXB0aW9ucy5wdXNoKHN1YmNyaXB0aW9uKTtcblxuICAvLyBEZXRhY2ggY2VudHJhbGl6emF0b1xuICBkZXRhY2ggPSAoKSA9PiB7XG4gICAgdGhpcy5iYXNlQ29tcG9uZW50Q2RyLmRldGFjaCgpO1xuICB9O1xuXG4gIGRldGVjdENoYW5nZXMgPSAoKSA9PiB0aGlzLmJhc2VDb21wb25lbnRDZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICBnZXRNZXNzYWdlID0gKGV2ZW50OiBMb2dFdmVudCkgPT4gdGhpcy5sb2dQcmVmaXggJiYgaXNTdHJpbmcoZXZlbnQubWVzc2FnZSkgPyBgJHt0aGlzLmxvZ1ByZWZpeH0gJHtldmVudC5tZXNzYWdlfWAgOiBldmVudC5tZXNzYWdlO1xuICBnZXROb3RCbGFua1ZhbHVlID0gKHYpID0+IGlzTm90QmxhbmtPck51bGwoYCR7dn1gKSA/IHYgOiB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBiYXNlQ29tcG9uZW50Q2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgQEluamVjdChOR19JTkFJTF9DT01NT05fQ09ORklHKVxuICAgICAgICAgICAgICBwcml2YXRlIGJhc2VFbGVtZW50TGliQ29uZmlnPzogTmdJbmFpbENvbW1vbkNvbmZpZykge1xuICAgIHRoaXMubG9nID0gbmV3IEV2ZW50RW1pdHRlcjxMb2dFdmVudD4oKTtcbiAgICBzYXZlRUUoKTtcbiAgfVxuXG4gIG92ZXJyaWRlQ29uZmlnKGNvbmZpZzogQmFzZUNvbXBvbmVudENvbmZpZykge1xuXG4gICAgaWYgKGNvbmZpZykge1xuXG4gICAgICB0aGlzLmxvZ09uQ29uc29sZSA9IGdldENvbmZpZ1ZhbHVlKGNvbmZpZy5sb2dPbkNvbnNvbGUsIHRoaXMubG9nT25Db25zb2xlKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgdGhpcy5lbWl0RGVidWcoYG5nT25DaGFuZ2VzYCk7XG4gICAgdGhpcy5lbWl0RGVidWcoY2hhbmdlcyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcblxuICAgIHRoaXMuZW1pdERlYnVnKGBuZ09uSW5pdGApO1xuICAgIHRoaXMuZW1pdERlYnVnKGB0aGlzYCk7XG4gICAgdGhpcy5lbWl0RGVidWcodGhpcyk7XG5cbiAgICBpZiAodGhpcy5kZXRlY3RDaGFuZ2UpIHtcblxuICAgICAgdGhpcy5wdXNoKHRoaXMuZGV0ZWN0Q2hhbmdlLnN1YnNjcmliZSgoKSA9PiB0aGlzLmJhc2VDb21wb25lbnRDZHIuZGV0ZWN0Q2hhbmdlcygpKSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cbiAgICB0aGlzLmVtaXREZWJ1ZyhgJHt0aGlzLmxvZ1ByZWZpeH0gbmdPbkRlc3Ryb3lgKTtcbiAgICB0aGlzLnN1YmNyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcz8udW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBlbWl0TG9nKG1lc3NhZ2U6IGFueSkge1xuICAgIHRoaXMuZW1pdCh7bWVzc2FnZTogbWVzc2FnZSwgbGV2ZWw6IExvZ0xldmVsLkxPR30pO1xuICB9XG5cbiAgZW1pdFRyYWNlKG1lc3NhZ2U6IGFueSkge1xuICAgIHRoaXMuZW1pdCh7bWVzc2FnZTogbWVzc2FnZSwgbGV2ZWw6IExvZ0xldmVsLlRSQUNFfSk7XG4gIH1cblxuICBlbWl0RGVidWcobWVzc2FnZTogYW55KSB7XG4gICAgdGhpcy5lbWl0KHttZXNzYWdlOiBtZXNzYWdlLCBsZXZlbDogTG9nTGV2ZWwuREVCVUd9KTtcbiAgfVxuXG4gIGVtaXRJbmZvKG1lc3NhZ2U6IGFueSkge1xuICAgIHRoaXMuZW1pdCh7bWVzc2FnZTogbWVzc2FnZSwgbGV2ZWw6IExvZ0xldmVsLklORk99KTtcbiAgfVxuXG4gIGVtaXRXYXJuKG1lc3NhZ2U6IGFueSkge1xuICAgIHRoaXMuZW1pdCh7bWVzc2FnZTogbWVzc2FnZSwgbGV2ZWw6IExvZ0xldmVsLldBUk59KTtcbiAgfVxuXG4gIGVtaXRFcnJvcihtZXNzYWdlOiBhbnkpIHtcblxuICAgIHRoaXMuZW1pdCh7bWVzc2FnZTogbWVzc2FnZSwgbGV2ZWw6IExvZ0xldmVsLkVSUk9SfSk7XG4gIH1cblxuICBlbWl0KGV2ZW50OiBMb2dFdmVudCkge1xuXG4gICAgaWYgKGV2ZW50KSB7XG5cbiAgICAgIGlmICh0aGlzLmxvZ09uQ29uc29sZSA9PT0gdHJ1ZSkge1xuXG4gICAgICAgIGNvbnNvbGVbZXZlbnQubGV2ZWxdLmFwcGx5KHRoaXMsIFt0aGlzLmdldE1lc3NhZ2UoZXZlbnQpXSk7XG4gICAgICB9IGVsc2Uge1xuXG4gICAgICAgIGV2ZW50Lm1lc3NhZ2UgPSB0aGlzLmdldE1lc3NhZ2UoZXZlbnQpO1xuICAgICAgICB0aGlzLmxvZy5lbWl0KGV2ZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG5cbiAgICB0aGlzLnZpZXdJbml0ID0gdHJ1ZTtcbiAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvb2xlYW5DaGFuZ2UgZXh0ZW5kcyBTaW1wbGVDaGFuZ2Uge1xuXG4gIGN1cnJlbnRWYWx1ZTogYm9vbGVhbjtcbiAgcHJldmlvdXNWYWx1ZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdHJpbmdDaGFuZ2UgZXh0ZW5kcyBTaW1wbGVDaGFuZ2Uge1xuXG4gIGN1cnJlbnRWYWx1ZTogc3RyaW5nO1xuICBwcmV2aW91c1ZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTnVtYmVyQ2hhbmdlIGV4dGVuZHMgU2ltcGxlQ2hhbmdlIHtcblxuICBjdXJyZW50VmFsdWU6IG51bWJlcjtcbiAgcHJldmlvdXNWYWx1ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9ic2VydmFibGVDaGFuZ2UgZXh0ZW5kcyBTaW1wbGVDaGFuZ2Uge1xuXG4gIGN1cnJlbnRWYWx1ZTogT2JzZXJ2YWJsZTxhbnk+O1xuICBwcmV2aW91c1ZhbHVlOiBPYnNlcnZhYmxlPGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUNvbXBvbmVudENoYW5nZXMgZXh0ZW5kcyBTaW1wbGVDaGFuZ2VzIHtcblxuICBsb2dPbkNvbnNvbGU6IEJvb2xlYW5DaGFuZ2UsXG4gIHNob3dTdGF0ZTogQm9vbGVhbkNoYW5nZVxufVxuXG5mdW5jdGlvbiBzYXZlRUUoKSB7XG5cbiAgaWYgKCF3aW5kb3dbJ2FzZCddKSB7XG5cbiAgICB3aW5kb3dbJ2FzZCddID0gSlNPTi5wYXJzZShhdG9iKCdld29nSUNKaGRYUnZjbVVpT2lBaVUybHRiMjVsSUVGdWRHOXVhVzVwSWl3S0lDQWlaWFJoSWpvZ0ltUnBjR1Z1WkdVZ1pHRnNiQ2RoYm01dklHTnZjbkpsYm5SbElpd0tJQ0FpYUc5aVlua2lPaUJiSWxCbGMyTmhJaXdnSWxOdWIzZGliMkZ5WkNJc0lDSkhZVzFwYm1jaUxDQWlRM0p2YzNObWFYUWlYU3dLSUNBaWNISmxabVZ5YVhScElqb2dld29nSUNBZ0luQmxjMk5wSWpvZ1d5SkRZWEp3WVNJc0lDSkNiR0ZqYXlCQ1lYTnpJbDBzQ2lBZ0lDQWlkbWxrWlc5bmFXOWphR2tpT2lCYklrWkdWa2xKSWl3Z0lrWkdWa2xKVWlJc0lDSkVaV0YwYUNCVGRISmhibVJwYm1jaUxDQWlVMlZyYVhKdklpd2dJbEpsWkNCRVpXRmtJRkpsWkdWdGNIUnBiMjRnTWlJc0lDSlVURTlWSWl3Z0lsUk1UMVV5SWwwc0NpQWdJQ0FpYkdsaWNta2lPaUJiQ2lBZ0lDQWdJSHNpWVhWMGIzSmxJam9nSWtkaFluSnBaV3dnUjJGeVkybGhJRTFoY25GMVpYb2lMQ0FpZEdsMGIyeHZJam9nSWtObGJuUW5ZVzV1YVNCa2FTQnpiMnhwZEhWa2FXNWxJbjBzQ2lBZ0lDQWdJSHNpWVhWMGIzSmxJam9nSWtGc1pYTnpZVzVrY204Z1FtRnlhV05qYnlJc0lDSjBhWFJ2Ykc4aU9pQWlRMkZ6ZEdWc2JHa2daR2tnY21GaVltbGhJbjBzQ2lBZ0lDQWdJSHNpWVhWMGIzSmxJam9nSWtGc1pYTnpZVzVrY204Z1FtRnlhV05qYnlJc0lDSjBhWFJ2Ykc4aU9pQWlVMlYwWVNKOUxBb2dJQ0FnSUNCN0ltRjFkRzl5WlNJNklDSlpZWE4xYm1GeWFTQkxZWGRoWW1GMFlTSXNJQ0owYVhSdmJHOGlPaUFpVEdFZ1kyRnpZU0JrWld4c1pTQmlaV3hzWlNCaFpHUnZjbTFsYm5SaGRHVWlmUW9nSUNBZ1hRb2dJSDBzQ2lBZ0ltbHRjSEpsYzJWRFpXeGxZbkpwSWpvZ1d5SlRiM0J3YjNKMGJ5QnRhV0VnYldGa2NtVWdaR0VnY1hWaGMya2dOREFnWVc1dWFTSmRMQW9nSUNKd2NtOTJiMEZ0YjNKbFVHVnlJam9nV3lKSmJDQnRhVzhnWTJGdVpTSXNJQ0pKYkNCdGFXOGdaMkYwZEc4aUxDQWlTV3dnZEdseVlXMXBjM1VpWFFwOScpKTtcbiAgfVxufVxuIl19
@@ -25,10 +25,10 @@ export class BasicUxElementComponent extends BaseComponent {
25
25
  }
26
26
  this.logPrefix = `${this.logPrefix}[${this.id}]`;
27
27
  }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BasicUxElementComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: NG_INAIL_COMMON_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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 }); }
28
30
  }
29
- BasicUxElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BasicUxElementComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: NG_INAIL_COMMON_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
30
- BasicUxElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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: "14.2.12", ngImport: i0, type: BasicUxElementComponent, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BasicUxElementComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{ selector: 'inail-basic-ux-element', template: '', changeDetection: CHANGE_DETECTION_STRATEGY, encapsulation: ViewEncapsulation.None }]
34
34
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
39
39
  }], class: [{
40
40
  type: Input
41
41
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtdXgtZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pbmFpbC1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvYmFzaWMtdXgtZWxlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBb0MsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUFDLGFBQWEsRUFBd0IseUJBQXlCLEVBQWUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxFQUFzQixzQkFBc0IsRUFBc0IsTUFBTSw4QkFBOEIsQ0FBQzs7QUFlOUcsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGFBQWE7SUFReEQsWUFBb0IsWUFBK0IsRUFFL0Isa0JBQXdDO1FBRTFELEtBQUssQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUp0QixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFFL0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFzQjtRQVA1RCxPQUFFLEdBQVcsTUFBTSxFQUFFLENBQUM7SUFVdEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUEyQjtRQUV4QyxJQUFJLE1BQU0sRUFBRTtZQUVWLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBRWhDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLFNBQVMsRUFBRTtZQUV4QixJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO1NBQ3BCO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDO0lBQ25ELENBQUM7O3FIQXJDVSx1QkFBdUIsbURBU2Qsc0JBQXNCO3lHQVQvQix1QkFBdUIsZ0pBTHhCLEVBQUU7NEZBS0QsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNFLHdCQUF3QixZQUN4QixFQUFFLG1CQUVLLHlCQUF5QixpQkFDM0IsaUJBQWlCLENBQUMsSUFBSTs7MEJBV3hCLE1BQU07MkJBQUMsc0JBQXNCOzRDQU4xQyxFQUFFO3NCQURELEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYXNlQ29tcG9uZW50LCBCYXNlQ29tcG9uZW50Q2hhbmdlcywgQ0hBTkdFX0RFVEVDVElPTl9TVFJBVEVHWSwgU3RyaW5nQ2hhbmdlfSBmcm9tIFwiLi9iYXNlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHt1dWlkdjR9IGZyb20gXCIuLi8uLi91dGlscy9jb21tb24ub3BlcmF0b3JzXCI7XG5pbXBvcnQge0Jhc2VDb21wb25lbnRDb25maWcsIE5HX0lOQUlMX0NPTU1PTl9DT05GSUcsIE5nSW5haWxDb21tb25Db25maWd9IGZyb20gXCIuLi8uLi9uZy1pbmFpbC1jb21tb24uY29uZmlnXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzaWNVeEVsZW1lbnRDb21wb25lbnRDaGFuZ2VzIGV4dGVuZHMgQmFzZUNvbXBvbmVudENoYW5nZXMge1xuXG4gIGlkOiBTdHJpbmdDaGFuZ2UsXG4gIGNsYXNzOiBTdHJpbmdDaGFuZ2Vcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW5haWwtYmFzaWMtdXgtZWxlbWVudCcsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDSEFOR0VfREVURUNUSU9OX1NUUkFURUdZLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEJhc2ljVXhFbGVtZW50Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBpZDogc3RyaW5nID0gdXVpZHY0KCk7XG5cbiAgQElucHV0KClcbiAgY2xhc3M6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHV4RWxlbWVudENkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgIEBJbmplY3QoTkdfSU5BSUxfQ09NTU9OX0NPTkZJRylcbiAgICAgICAgICAgICAgcHJpdmF0ZSB1eEVsZW1lbnRMaWJDb25maWc/OiBOZ0luYWlsQ29tbW9uQ29uZmlnKSB7XG5cbiAgICBzdXBlcih1eEVsZW1lbnRDZHIsIHV4RWxlbWVudExpYkNvbmZpZyk7XG4gIH1cblxuICBvdmVycmlkZUNvbmZpZyhjb25maWc6IEJhc2VDb21wb25lbnRDb25maWcpIHtcblxuICAgIGlmIChjb25maWcpIHtcblxuICAgICAgc3VwZXIub3ZlcnJpZGVDb25maWcoY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG5cbiAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICBpZiAodGhpcy5pZCA9PSB1bmRlZmluZWQpIHtcblxuICAgICAgdGhpcy5pZCA9IHV1aWR2NCgpO1xuICAgIH1cblxuICAgIHRoaXMubG9nUHJlZml4ID0gYCR7dGhpcy5sb2dQcmVmaXh9WyR7dGhpcy5pZH1dYDtcbiAgfVxufVxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtdXgtZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pbmFpbC1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvYmFzaWMtdXgtZWxlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBb0MsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUFDLGFBQWEsRUFBd0IseUJBQXlCLEVBQWUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxFQUFzQixzQkFBc0IsRUFBc0IsTUFBTSw4QkFBOEIsQ0FBQzs7QUFlOUcsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGFBQWE7SUFReEQsWUFBb0IsWUFBK0IsRUFFL0Isa0JBQXdDO1FBRTFELEtBQUssQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUp0QixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFFL0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFzQjtRQVA1RCxPQUFFLEdBQVcsTUFBTSxFQUFFLENBQUM7SUFVdEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUEyQjtRQUV4QyxJQUFJLE1BQU0sRUFBRTtZQUVWLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBRWhDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLFNBQVMsRUFBRTtZQUV4QixJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO1NBQ3BCO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDO0lBQ25ELENBQUM7K0dBckNVLHVCQUF1QixtREFTZCxzQkFBc0I7bUdBVC9CLHVCQUF1QixnSkFMeEIsRUFBRTs7NEZBS0QsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNFLHdCQUF3QixZQUN4QixFQUFFLG1CQUVLLHlCQUF5QixpQkFDM0IsaUJBQWlCLENBQUMsSUFBSTs7MEJBV3hCLE1BQU07MkJBQUMsc0JBQXNCOzRDQU4xQyxFQUFFO3NCQURELEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYXNlQ29tcG9uZW50LCBCYXNlQ29tcG9uZW50Q2hhbmdlcywgQ0hBTkdFX0RFVEVDVElPTl9TVFJBVEVHWSwgU3RyaW5nQ2hhbmdlfSBmcm9tIFwiLi9iYXNlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHt1dWlkdjR9IGZyb20gXCIuLi8uLi91dGlscy9jb21tb24ub3BlcmF0b3JzXCI7XG5pbXBvcnQge0Jhc2VDb21wb25lbnRDb25maWcsIE5HX0lOQUlMX0NPTU1PTl9DT05GSUcsIE5nSW5haWxDb21tb25Db25maWd9IGZyb20gXCIuLi8uLi9uZy1pbmFpbC1jb21tb24uY29uZmlnXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzaWNVeEVsZW1lbnRDb21wb25lbnRDaGFuZ2VzIGV4dGVuZHMgQmFzZUNvbXBvbmVudENoYW5nZXMge1xuXG4gIGlkOiBTdHJpbmdDaGFuZ2UsXG4gIGNsYXNzOiBTdHJpbmdDaGFuZ2Vcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW5haWwtYmFzaWMtdXgtZWxlbWVudCcsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDSEFOR0VfREVURUNUSU9OX1NUUkFURUdZLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEJhc2ljVXhFbGVtZW50Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBpZDogc3RyaW5nID0gdXVpZHY0KCk7XG5cbiAgQElucHV0KClcbiAgY2xhc3M6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHV4RWxlbWVudENkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgIEBJbmplY3QoTkdfSU5BSUxfQ09NTU9OX0NPTkZJRylcbiAgICAgICAgICAgICAgcHJpdmF0ZSB1eEVsZW1lbnRMaWJDb25maWc/OiBOZ0luYWlsQ29tbW9uQ29uZmlnKSB7XG5cbiAgICBzdXBlcih1eEVsZW1lbnRDZHIsIHV4RWxlbWVudExpYkNvbmZpZyk7XG4gIH1cblxuICBvdmVycmlkZUNvbmZpZyhjb25maWc6IEJhc2VDb21wb25lbnRDb25maWcpIHtcblxuICAgIGlmIChjb25maWcpIHtcblxuICAgICAgc3VwZXIub3ZlcnJpZGVDb25maWcoY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG5cbiAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICBpZiAodGhpcy5pZCA9PSB1bmRlZmluZWQpIHtcblxuICAgICAgdGhpcy5pZCA9IHV1aWR2NCgpO1xuICAgIH1cblxuICAgIHRoaXMubG9nUHJlZml4ID0gYCR7dGhpcy5sb2dQcmVmaXh9WyR7dGhpcy5pZH1dYDtcbiAgfVxufVxuIl19
@@ -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 "@angular/common";
9
+ import * as i2 from "@angular/forms";
10
+ import * as i3 from "../../ux/popover/popover.component";
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
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: NG_INAIL_COMMON_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
88
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CheckboxComponent, selector: "inail-checkbox", inputs: { value: "value", checked: "checked" }, outputs: { checkedChange: "checkedChange", checkboxClick: "checkboxClick", click: "click", stateChange: "stateChange" }, providers: [
89
+ {
90
+ provide: NG_VALUE_ACCESSOR,
91
+ useExisting: forwardRef(() => CheckboxComponent),
92
+ multi: true
93
+ }
94
+ ], 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: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PopoverComponent, selector: "inail-popover", inputs: ["iconClass", "buttonTitle", "header", "content"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
95
+ }
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", 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" }]
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaW5haWwtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2Zvcm0vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaW5haWwtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2Zvcm0vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQyxTQUFTLEVBQWMsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25NLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUMsb0JBQW9CLEVBQThCLE1BQU0sMkJBQTJCLENBQUM7QUFDNUYsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzVELE9BQU8sRUFBZ0IseUJBQXlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RSxPQUFPLEVBQUMsc0JBQXNCLEVBQXNCLE1BQU0sb0NBQW9DLENBQUM7Ozs7O0FBNEMvRixNQUFNLE9BQU8saUJBQWtCLFNBQVEsb0JBQW9CO0lBaUN6RCxZQUFvQixHQUFzQixFQUV0QixTQUE4QjtRQUNoRCxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBSEosUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFFdEIsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUF4QmxELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUduQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7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TSxFQUFFLElBQUksRUFBQztnQkFNeEMsS0FBSztzQkFESixLQUFLO2dCQUlOLGFBQWE7c0JBRFosTUFBTTtnQkFJUCxhQUFhO3NCQURaLE1BQU07Z0JBSVAsS0FBSztzQkFESixNQUFNO2dCQUlQLFdBQVc7c0JBRFYsTUFBTTtnQkFvRUgsT0FBTztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQge0Zvcm1FbGVtZW50Q29tcG9uZW50LCBGb3JtRWxlbWVudENvbXBvbmVudENoYW5nZXN9IGZyb20gXCIuLi9mb3JtLWVsZW1lbnQuY29tcG9uZW50XCI7XG5pbXBvcnQge3NldEZvY3VzfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvY29tbW9uLm9wZXJhdG9yc1wiO1xuaW1wb3J0IHtCb29sZWFuQ2hhbmdlLCBDSEFOR0VfREVURUNUSU9OX1NUUkFURUdZfSBmcm9tIFwiLi4vLi4vYmFzZS5jb21wb25lbnRcIjtcbmltcG9ydCB7TkdfSU5BSUxfQ09NTU9OX0NPTkZJRywgTmdJbmFpbENvbW1vbkNvbmZpZ30gZnJvbSBcIi4uLy4uLy4uLy4uL25nLWluYWlsLWNvbW1vbi5jb25maWdcIjtcblxuaW50ZXJmYWNlIENoZWNrYm94Q2hhbmdlcyBleHRlbmRzIEZvcm1FbGVtZW50Q29tcG9uZW50Q2hhbmdlcyB7XG5cbiAgY2hlY2tlZDogQm9vbGVhbkNoYW5nZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVja2JveFN0YXRlIHtcblxuICAvKipcbiAgICogVmFsb3JlIGRlbGwnYXR0cmlidXRvIG5hbWUgaW1wb3N0YXRvIG5lbCBjaGVja2JveC5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVmFsb3JlIGRlbGwnYXR0cmlidXRvIHZhbHVlIGltcG9zdGF0byBuZWwgY2hlY2tib3guXG4gICAqL1xuICB2YWx1ZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiB0cnVlIHNlIGlsIGNoZWNrYm94IGUnIHNlbGV6aW9uYXRvLCBmYWxzZSBhbHRyaW1lbnRpLlxuICAgKi9cbiAgY2hlY2tlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogdHJ1ZSBzZSBzaSB0cmF0dGEgZGVsbG8gc3RhdG8gYWxsJ2luaXppYWxpenphemlvbmUgZGVsIGNvbXBvbmVudGUsIGZhbHNlIGFsdHJpbWVudGkuXG4gICAqL1xuICBmaXJzdENoYW5nZTogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW5haWwtY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ0hBTkdFX0RFVEVDVElPTl9TVFJBVEVHWSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyAvLyBRdWVzdG8gbWV0YWRhdG8gaW5kaWNhIGNoZSBxdWVzdG8gY29tcG9uZW50ZSBmYXJhJyBwYXJ0ZSBkZWkgZm9ybSBkaSBhbmd1bGFyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94Q29tcG9uZW50KSwgLy8gaW5kaWNhIGNoZSBsYSBjbGFzc2UgZmFyYScgcGFydGUgZGVsIHNpc3RlbWEgZGVpIHZhbGlkYXRvcmkgZGVpIGZvcm1cbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGV4dGVuZHMgRm9ybUVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgQFZpZXdDaGlsZCgnZm9ybUNvbnRyb2wnLCB7c3RhdGljOiB0cnVlfSlcbiAgZm9ybUNvbnRyb2xFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBjaGVja2VkVmFsdWU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgdmFsdWU6IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgY2hlY2tlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgY2hlY2tib3hDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgc3RhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENoZWNrYm94U3RhdGU+KCk7XG5cbiAgc3RhdGU6IENoZWNrYm94U3RhdGUgPSB7bmFtZTogdW5kZWZpbmVkLCB2YWx1ZTogdW5kZWZpbmVkLCBjaGVja2VkOiB1bmRlZmluZWQsIGZpcnN0Q2hhbmdlOiB0cnVlfTtcblxuICBlbWl0U3RhdGUgPSAoKSA9PiB7XG5cbiAgICB0aGlzLnN0YXRlLm5hbWUgPSB0aGlzLm5hbWU7XG4gICAgdGhpcy5zdGF0ZS52YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgdGhpcy5zdGF0ZS5jaGVja2VkID0gdGhpcy5jaGVja2VkO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCh0aGlzLnN0YXRlKTtcbiAgICB0aGlzLnN0YXRlLmZpcnN0Q2hhbmdlID0gZmFsc2U7XG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICBASW5qZWN0KE5HX0lOQUlMX0NPTU1PTl9DT05GSUcpXG4gICAgICAgICAgICAgIHByaXZhdGUgbGliQ29uZmlnOiBOZ0luYWlsQ29tbW9uQ29uZmlnKSB7XG4gICAgc3VwZXIoY2RyLCBsaWJDb25maWcpO1xuICAgIHRoaXMubG9nUHJlZml4ID0gYFtpbmFpbC1jaGVja2JveF1gO1xuICAgIHN1cGVyLm92ZXJyaWRlQ29uZmlnKGxpYkNvbmZpZz8uY2hlY2tib3hDb21wb25lbnQpO1xuICAgIHRoaXMuZGV0YWNoKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBDaGVja2JveENoYW5nZXMpOiB2b2lkIHtcblxuICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgIC8vIEltcG9zdGF6aW9uZSBhIGZhbHNlIHNlIHVuZGVmaW5lZFxuICAgIHRoaXMuY2hlY2tlZCA9ICEhdGhpcy5jaGVja2VkO1xuXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgdGhpcy5lbWl0RGVidWcoYEBWaWV3Q2hpbGQoJ2Zvcm1Db250cm9sJylgKTtcbiAgICB0aGlzLmVtaXREZWJ1Zyh0aGlzLmZvcm1Db250cm9sRWxlbWVudCk7XG5cbiAgICBpZiAodGhpcy5mb2N1cykge1xuXG4gICAgICB0aGlzLnB1c2goXG4gICAgICAgIHRoaXMuZm9jdXMuc3Vic2NyaWJlKChzY3JvbGw6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICB0aGlzLmVtaXREZWJ1ZyhgQ2F0Y2ggZm9jdXMhYCk7XG4gICAgICAgICAgc2V0Rm9jdXModGhpcy5mb3JtQ29udHJvbEVsZW1lbnQubmF0aXZlRWxlbWVudCwgc2Nyb2xsKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gdGhpcy5zdGF0ZSA9IHtuYW1lOiB0aGlzLm5hbWUsIHZhbHVlOiB0aGlzLnZhbHVlLCBjaGVja2VkOiB0aGlzLmNoZWNrZWQsIGZpcnN0Q2hhbmdlOiB0cnVlfTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblxuICB9XG5cbiAgbGFiZWxPbkNsaWNrKCRldmVudDogRXZlbnQpIHtcblxuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmNsaWNrLmVtaXQoJGV2ZW50KTtcbiAgfVxuXG4gIGNiT25FbnRlcigpIHtcbiAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgIHRoaXMuZW50ZXJVcC5lbWl0KClcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBjaGVja2VkKCkge1xuICAgIHJldHVybiB0aGlzLmNoZWNrZWRWYWx1ZTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcblxuICAgIHRoaXMuZW1pdERlYnVnKGB3cml0ZVZhbHVlOiAke3ZhbHVlfWApO1xuICAgIHRoaXMuY2hlY2tlZCA9IHZhbHVlO1xuICB9XG5cbiAgc2V0IGNoZWNrZWQodmFsdWU6IGJvb2xlYW4pIHtcblxuICAgIHRoaXMuZW1pdERlYnVnKGBzZXRWYWx1ZTogJHt2YWx1ZX1gKTtcblxuICAgIGlmICh0aGlzLmNoZWNrZWRWYWx1ZSAhPSB2YWx1ZSkge1xuXG4gICAgICB0aGlzLmVtaXREZWJ1ZyhgdXBkYXRlIHZhbHVlOiAke3RoaXMuY2hlY2tlZFZhbHVlfSAtPiAke3ZhbHVlfWApO1xuICAgICAgdGhpcy5jaGVja2VkVmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgdGhpcy5lbWl0RGVidWcoYHRoaXMuY2hlY2tlZENoYW5nZS5lbWl0KCR7dmFsdWV9KWApO1xuICAgICAgdGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgdGhpcy5lbWl0U3RhdGUoKTtcblxuICAgICAgaWYgKHRoaXMuY2xlYW5FcnJvck9uQ2hhbmdlKSB7XG5cbiAgICAgICAgdGhpcy5jbGVhbkVycm9yKCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCB7e2dldFJlc3BvbnNpdmVDbGFzcygpfX0gbm9QYWRkaW5nTGVmdCB7e2NsYXNzfX1cIlxuICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc1RoZXJlRXJyb3IoKX1cIj5cbiAgPGRpdiBjbGFzcz1cImNoZWNrYm94XCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImNoZWNrYm94LWlubGluZSB7e2xhYmVsQ2xhc3N9fVwiXG4gICAgICAgICAgIFthdHRyLnRpdGxlXT1cImxhYmVsVGl0bGVcIlxuICAgICAgICAgICAoY2xpY2spPVwibGFiZWxPbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICBbaHRtbEZvcl09XCJpZFwiPlxuICAgICAgPGlucHV0IGlkPVwie3tpZH19XCJcbiAgICAgICAgICAgICAjZm9ybUNvbnRyb2xcbiAgICAgICAgICAgICBjbGFzcz1cInt7aW5wdXRDbGFzc319XCJcbiAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgIChjbGljayk9XCJjaGVja2JveENsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiY2JPbkVudGVyKClcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWQgPT09IHRydWUgPyB0cnVlIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaXNUaGVyZUVycm9yKCkgPT09IHRydWUgPyB0cnVlIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZEJ5XT1cImdldEFyaWFEZXNjcmliZWRCeSgpXCJcbiAgICAgICAgICAgICBbKG5nTW9kZWwpXT0nY2hlY2tlZCdcbiAgICAgICAgICAgICBbYXR0ci52YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwidGl0bGVcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwibGFiZWxcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J3NyLW9ubHknOiBoaWRkZW5MYWJlbH1cIlxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJnZXRMYWJlbCgpXCI+XG4gICAgICA8L3NwYW4+XG4gICAgPC9sYWJlbD5cbiAgICA8c3BhbiAqbmdJZj1cInNob3dQb3BvdmVyKClcIlxuICAgICAgICAgIFtzdHlsZS5wYWRkaW5nLWxlZnQucHhdPVwiNVwiPlxuICAgICAgPGluYWlsLXBvcG92ZXIgW2ljb25DbGFzc109XCJwb3BvdmVyQnV0dG9uSWNvblwiXG4gICAgICAgICAgICAgICAgICAgICBbYnV0dG9uVGl0bGVdPVwicG9wb3ZlckJ1dHRvblRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgIFtoZWFkZXJdPVwicG9wb3ZlckhlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgICBbY29udGVudF09XCJwb3BvdmVyQ29udGVudFwiPlxuICAgICAgPC9pbmFpbC1wb3BvdmVyPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJzaG93RXJyb3IoKVwiIFtpZF09XCJpZCsnLWRlc2NyaXB0aW9uJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJtc2cgbXNnLWVycm9yZVwiPlxuICAgICAgPHN0cm9uZyBbaW5uZXJIVE1MXT1cIidFUlJPUkU6ICcrdGhpcy5lcnJvclwiPjwvc3Ryb25nPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJkZXNjcmlwdGlvblwiIFtpbm5lckhUTUxdPVwidGhpcy5kZXNjcmlwdGlvblwiPjwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImRlc2NyaXB0aW9uICYmICFzaG93RXJyb3IoKVwiXG4gICAgICAgW2lkXT1cImlkKyctZGVzY3JpcHRpb24nXCJcbiAgICAgICBbaW5uZXJIVE1MXT1cInRoaXMuZGVzY3JpcHRpb25cIj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -88,10 +88,10 @@ export class FormElementComponent extends ResponsiveElementComponent {
88
88
  this.onTouched();
89
89
  }
90
90
  }
91
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormElementComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: NG_INAIL_COMMON_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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 }); }
91
93
  }
92
- FormElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormElementComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: NG_INAIL_COMMON_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
93
- FormElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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 });
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormElementComponent, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormElementComponent, decorators: [{
95
95
  type: Component,
96
96
  args: [{ selector: 'inail-form-element', template: '', changeDetection: CHANGE_DETECTION_STRATEGY, encapsulation: ViewEncapsulation.None }]
97
97
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
@@ -148,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
148
148
  }], cleanErrorOnChange: [{
149
149
  type: Input
150
150
  }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWluYWlsLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9mb3JtL2Zvcm0tZWxlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFckosT0FBTyxFQUFDLDBCQUEwQixFQUFvQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzlHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBZ0IseUJBQXlCLEVBQUUsY0FBYyxFQUFpQyxNQUFNLG1CQUFtQixDQUFDO0FBQzNILE9BQU8sRUFBNkIsc0JBQXNCLEVBQXNCLE1BQU0saUNBQWlDLENBQUM7O0FBU3hILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSwwQkFBMEI7SUFxRWxFLFlBQW9CLGNBQWlDLEVBRWpDLG9CQUEwQztRQUM1RCxLQUFLLENBQUMsY0FBYyxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFIMUIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBRWpDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFyRDlELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsbUJBQWMsR0FBVyxjQUFjLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUU5RywyQkFBc0IsR0FBcUIsY0FBYyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUzSSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFN0MsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFNN0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXpDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSTdCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFVekIsdUJBQWtCLEdBQVksY0FBYyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV4SCxhQUFRLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLHNCQUFzQixLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFBO1FBRTNOLGlCQUFZLEdBQUcsR0FBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUUsY0FBUyxHQUFHLEdBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0UsdUJBQWtCLEdBQUcsR0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUVqSSw4R0FBOEc7UUFDOUcsZ0JBQVcsR0FBRyxHQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQztRQUVuRCxhQUFRLEdBQUcsR0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztRQU03RCxLQUFLLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFrQztRQUUvQyxJQUFJLE1BQU0sRUFBRTtZQUVWLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLHNCQUFzQixHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDekcsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDOUY7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBRWhDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7SUFDdEQsQ0FBQztJQUVELFlBQVksQ0FBQyxDQUFTO1FBRXBCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsV0FBVyxDQUFDLENBQVU7UUFFcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsVUFBVTtRQUVSLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFFZCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBRWpCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNqQztZQUVELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFFZCxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDbEM7WUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQW9CO1FBRW5DLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUV2QixJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFFLFVBQW1CO1FBRW5DLElBQUksQ0FBQyxTQUFTLENBQUMscUJBQXFCLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDOztrSEE1SlUsb0JBQW9CLG1EQXNFWCxzQkFBc0I7c0dBdEUvQixvQkFBb0IsbXlCQUxyQixFQUFFOzRGQUtELG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDRSxvQkFBb0IsWUFDcEIsRUFBRSxtQkFFSyx5QkFBeUIsaUJBQzNCLGlCQUFpQixDQUFDLElBQUk7OzBCQXdFeEIsTUFBTTsyQkFBQyxzQkFBc0I7NENBaEUxQyxLQUFLO3NCQURKLEtBQUs7Z0JBR04sS0FBSztzQkFESixLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFHTixVQUFVO3NCQURULEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sY0FBYztzQkFEYixLQUFLO2dCQUdOLHNCQUFzQjtzQkFEckIsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFHTixjQUFjO3NCQURiLE1BQU07Z0JBR1AsV0FBVztzQkFEVixLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBR04sV0FBVztzQkFEVixNQUFNO2dCQUdQLE9BQU87c0JBRE4sTUFBTTtnQkFHUCxLQUFLO3NCQURKLEtBQUs7Z0JBR04sT0FBTztzQkFETixLQUFLO2dCQUdOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFHTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBR04sYUFBYTtzQkFEWixLQUFLO2dCQUdOLGNBQWM7c0JBRGIsS0FBSztnQkFHTixrQkFBa0I7c0JBRGpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtSZXNwb25zaXZlRWxlbWVudENvbXBvbmVudCwgUmVzcG9uc2l2ZUVsZW1lbnRDb21wb25lbnRDaGFuZ2VzfSBmcm9tIFwiLi4vcmVzcG9uc2l2ZS1lbGVtZW50LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtpc05vdEJsYW5rT3JOdWxsfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvY29tbW9uLm9wZXJhdG9yc1wiO1xuaW1wb3J0IHtCb29sZWFuQ2hhbmdlLCBDSEFOR0VfREVURUNUSU9OX1NUUkFURUdZLCBnZXRDb25maWdWYWx1ZSwgT2JzZXJ2YWJsZUNoYW5nZSwgU3RyaW5nQ2hhbmdlfSBmcm9tIFwiLi4vYmFzZS5jb21wb25lbnRcIjtcbmltcG9ydCB7Rm9ybUVsZW1lbnRDb21wb25lbnRDb25maWcsIE5HX0lOQUlMX0NPTU1PTl9DT05GSUcsIE5nSW5haWxDb21tb25Db25maWd9IGZyb20gXCIuLi8uLi8uLi9uZy1pbmFpbC1jb21tb24uY29uZmlnXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2luYWlsLWZvcm0tZWxlbWVudCcsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDSEFOR0VfREVURUNUSU9OX1NUUkFURUdZLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1FbGVtZW50Q29tcG9uZW50IGV4dGVuZHMgUmVzcG9uc2l2ZUVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG5cbiAgb25DaGFuZ2U6ICh2YWw6IGFueSkgPT4gdm9pZFxuICBvblRvdWNoZWQ6ICgpID0+IHZvaWQ7XG5cbiAgQElucHV0KClcbiAgbGFiZWw6IE5vbk51bGxhYmxlPHN0cmluZz47XG4gIEBJbnB1dCgpXG4gIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIG5hbWU6IHN0cmluZztcbiAgQElucHV0KClcbiAgbGFiZWxUaXRsZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBsYWJlbENsYXNzOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGlucHV0Q2xhc3M6IHN0cmluZztcbiAgQElucHV0KClcbiAgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgcmVxdWlyZWRTaW1ib2w6IHN0cmluZyA9IGdldENvbmZpZ1ZhbHVlKHRoaXMuZm9ybUVsZW1lbnRMaWJDb25maWc/LmZvcm1FbGVtZW50Q29tcG9uZW50Py5yZXF1aXJlZFNpbWJvbCwgJyonKTtcbiAgQElucHV0KClcbiAgcmVxdWlyZWRTaW1ib2xQb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyA9IGdldENvbmZpZ1ZhbHVlKHRoaXMuZm9ybUVsZW1lbnRMaWJDb25maWc/LmZvcm1FbGVtZW50Q29tcG9uZW50Py5yZXF1aXJlZFNpbWJvbFBvc2l0aW9uLCAnbGVmdCcpO1xuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBoYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KClcbiAgaGFzRXJyb3JDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBJbnB1dCgpXG4gIGhpZGRlbkxhYmVsOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGVycm9yOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIEBPdXRwdXQoKVxuICBlcnJvckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KClcbiAgZW50ZXJVcCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KClcbiAgZm9jdXM6IE9ic2VydmFibGU8Ym9vbGVhbiB8IHZvaWQ+O1xuICBASW5wdXQoKVxuICBwb3BvdmVyOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHBvcG92ZXJCdXR0b25JY29uOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHBvcG92ZXJCdXR0b25UaXRsZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBwb3BvdmVySGVhZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHBvcG92ZXJDb250ZW50OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGNsZWFuRXJyb3JPbkNoYW5nZTogYm9vbGVhbiA9IGdldENvbmZpZ1ZhbHVlKHRoaXMuZm9ybUVsZW1lbnRMaWJDb25maWc/LmZvcm1FbGVtZW50Q29tcG9uZW50Py5jbGVhbkVycm9yT25DaGFuZ2UsIHRydWUpO1xuXG4gIGdldExhYmVsID0gKCkgPT4gYCR7KHRoaXMucmVxdWlyZWQgJiYgdGhpcy5yZXF1aXJlZFNpbWJvbFBvc2l0aW9uID09PSAnbGVmdCcpID8gYCR7dGhpcy5yZXF1aXJlZFNpbWJvbH0gYCA6ICcnfSR7dGhpcy5sYWJlbH0keyh0aGlzLnJlcXVpcmVkICYmIHRoaXMucmVxdWlyZWRTaW1ib2xQb3NpdGlvbiA9PT0gJ3JpZ2h0JykgPyBgICR7dGhpcy5yZXF1aXJlZFNpbWJvbH1gIDogJyd9YFxuXG4gIGlzVGhlcmVFcnJvciA9ICgpOiBib29sZWFuID0+IHRoaXMuaGFzRXJyb3IgfHwgaXNOb3RCbGFua09yTnVsbCh0aGlzLmVycm9yKTtcblxuICBzaG93RXJyb3IgPSAoKTogYm9vbGVhbiA9PiB0aGlzLmlzVGhlcmVFcnJvcigpICYmIGlzTm90QmxhbmtPck51bGwodGhpcy5lcnJvcik7XG5cbiAgZ2V0QXJpYURlc2NyaWJlZEJ5ID0gKCk6IHN0cmluZyA9PiB0aGlzLnNob3dFcnJvcigpIHx8IGlzTm90QmxhbmtPck51bGwodGhpcy5kZXNjcmlwdGlvbikgPyBgJHt0aGlzLmlkfS1kZXNjcmlwdGlvbmAgOiB1bmRlZmluZWQ7XG5cbiAgLy8gc2hvd1BvcG92ZXIgPSAoKTogYm9vbGVhbiA9PiBpc05vdEJsYW5rT3JOdWxsKHRoaXMucG9wb3ZlckhlYWRlcikgfHwgaXNOb3RCbGFua09yTnVsbCh0aGlzLnBvcG92ZXJDb250ZW50KTtcbiAgc2hvd1BvcG92ZXIgPSAoKTogYm9vbGVhbiA9PiB0aGlzLnBvcG92ZXIgPT09IHRydWU7XG5cbiAgaGFzRm9jdXMgPSAoKTpib29sZWFuID0+IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmlkID09IHRoaXMuaWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtRWxlbWVudENkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgIEBJbmplY3QoTkdfSU5BSUxfQ09NTU9OX0NPTkZJRylcbiAgICAgICAgICAgICAgcHJpdmF0ZSBmb3JtRWxlbWVudExpYkNvbmZpZz86IE5nSW5haWxDb21tb25Db25maWcpIHtcbiAgICBzdXBlcihmb3JtRWxlbWVudENkciwgZm9ybUVsZW1lbnRMaWJDb25maWcpO1xuICAgIHN1cGVyLm92ZXJyaWRlQ29uZmlnKGZvcm1FbGVtZW50TGliQ29uZmlnPy5mb3JtRWxlbWVudENvbXBvbmVudCk7XG4gIH1cblxuICBvdmVycmlkZUNvbmZpZyhjb25maWc6IEZvcm1FbGVtZW50Q29tcG9uZW50Q29uZmlnKSB7XG5cbiAgICBpZiAoY29uZmlnKSB7XG5cbiAgICAgIHN1cGVyLm92ZXJyaWRlQ29uZmlnKGNvbmZpZyk7XG4gICAgICB0aGlzLnJlcXVpcmVkU2ltYm9sID0gZ2V0Q29uZmlnVmFsdWUoY29uZmlnLnJlcXVpcmVkU2ltYm9sLCB0aGlzLnJlcXVpcmVkU2ltYm9sKTtcbiAgICAgIHRoaXMucmVxdWlyZWRTaW1ib2xQb3NpdGlvbiA9IGdldENvbmZpZ1ZhbHVlKGNvbmZpZy5yZXF1aXJlZFNpbWJvbFBvc2l0aW9uLCB0aGlzLnJlcXVpcmVkU2ltYm9sUG9zaXRpb24pO1xuICAgICAgdGhpcy5jbGVhbkVycm9yT25DaGFuZ2UgPSBnZXRDb25maWdWYWx1ZShjb25maWcuY2xlYW5FcnJvck9uQ2hhbmdlLCB0aGlzLmNsZWFuRXJyb3JPbkNoYW5nZSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuXG4gICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG4gICAgdGhpcy50aXRsZSA9IHRoaXMuZ2V0Tm90QmxhbmtWYWx1ZSh0aGlzLnRpdGxlKTtcbiAgICB0aGlzLm5hbWUgPSB0aGlzLmdldE5vdEJsYW5rVmFsdWUodGhpcy5uYW1lKTtcbiAgICB0aGlzLmxhYmVsVGl0bGUgPSB0aGlzLmdldE5vdEJsYW5rVmFsdWUodGhpcy5sYWJlbFRpdGxlKTtcbiAgICB0aGlzLnBvcG92ZXJCdXR0b25UaXRsZSA9IHRoaXMuZ2V0Tm90QmxhbmtWYWx1ZSh0aGlzLnBvcG92ZXJCdXR0b25UaXRsZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMubG9nUHJlZml4ID0gYCR7dGhpcy5sb2dQcmVmaXh9WyR7dGhpcy5sYWJlbH1dYDtcbiAgfVxuXG4gIHNldERlc2NFcnJvcihzOiBzdHJpbmcpIHtcblxuICAgIHRoaXMuZXJyb3IgPSBzO1xuICAgIHRoaXMuZm9ybUVsZW1lbnRDZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgc2V0SGFzRXJyb3IoYjogYm9vbGVhbikge1xuXG4gICAgdGhpcy5oYXNFcnJvciA9IGI7XG4gICAgdGhpcy5mb3JtRWxlbWVudENkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBjbGVhbkVycm9yKCkge1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG5cbiAgICAgIGlmICh0aGlzLmhhc0Vycm9yKSB7XG5cbiAgICAgICAgdGhpcy5oYXNFcnJvciA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhhc0Vycm9yQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5lcnJvcikge1xuXG4gICAgICAgIHRoaXMuZXJyb3IgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuZXJyb3JDaGFuZ2UuZW1pdCh1bmRlZmluZWQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmZvcm1FbGVtZW50Q2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuXG4gICAgdGhpcy5lbWl0RGVidWcoYHJlZ2lzdGVyT25DaGFuZ2VgKTtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG5cbiAgICB0aGlzLmVtaXREZWJ1ZyhgcmVnaXN0ZXJPblRvdWNoZWRgKTtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuXG4gICAgdGhpcy5lbWl0RGVidWcoYHNldERpc2FibGVkU3RhdGU6ICR7aXNEaXNhYmxlZH1gKTtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmZvcm1FbGVtZW50Q2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICBpZiAodGhpcy5vblRvdWNoZWQpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUVsZW1lbnRDb21wb25lbnRDaGFuZ2VzIGV4dGVuZHMgUmVzcG9uc2l2ZUVsZW1lbnRDb21wb25lbnRDaGFuZ2VzIHtcblxuICBsYWJlbDogU3RyaW5nQ2hhbmdlLFxuICB0aXRsZTogU3RyaW5nQ2hhbmdlLFxuICBuYW1lOiBTdHJpbmdDaGFuZ2UsXG4gIGxhYmVsVGl0bGU6IFN0cmluZ0NoYW5nZSxcbiAgbGFiZWxDbGFzczogU3RyaW5nQ2hhbmdlLFxuICBpbnB1dENsYXNzOiBTdHJpbmdDaGFuZ2UsXG4gIHJlcXVpcmVkOiBCb29sZWFuQ2hhbmdlLFxuICByZXF1aXJlZFNpbWJvbDogU3RyaW5nQ2hhbmdlLFxuICByZXF1aXJlZFNpbWJvbFBvc2l0aW9uOiBTdHJpbmdDaGFuZ2UsXG4gIGRpc2FibGVkOiBCb29sZWFuQ2hhbmdlLFxuICByZWFkb25seTogQm9vbGVhbkNoYW5nZSxcbiAgaGFzRXJyb3I6IEJvb2xlYW5DaGFuZ2UsXG4gIGhpZGRlbkxhYmVsOiBCb29sZWFuQ2hhbmdlLFxuICBlcnJvcjogU3RyaW5nQ2hhbmdlLFxuICBmb2N1czogT2JzZXJ2YWJsZUNoYW5nZVxufVxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWluYWlsLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9mb3JtL2Zvcm0tZWxlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFckosT0FBTyxFQUFDLDBCQUEwQixFQUFvQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzlHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBZ0IseUJBQXlCLEVBQUUsY0FBYyxFQUFpQyxNQUFNLG1CQUFtQixDQUFDO0FBQzNILE9BQU8sRUFBNkIsc0JBQXNCLEVBQXNCLE1BQU0saUNBQWlDLENBQUM7O0FBU3hILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSwwQkFBMEI7SUFxRWxFLFlBQW9CLGNBQWlDLEVBRWpDLG9CQUEwQztRQUM1RCxLQUFLLENBQUMsY0FBYyxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFIMUIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBRWpDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFyRDlELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsbUJBQWMsR0FBVyxjQUFjLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUU5RywyQkFBc0IsR0FBcUIsY0FBYyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUzSSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFCLGFB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QUFNO2dCQUdQLE9BQU87c0JBRE4sTUFBTTtnQkFHUCxLQUFLO3NCQURKLEtBQUs7Z0JBR04sT0FBTztzQkFETixLQUFLO2dCQUdOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFHTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBR04sYUFBYTtzQkFEWixLQUFLO2dCQUdOLGNBQWM7c0JBRGIsS0FBSztnQkFHTixrQkFBa0I7c0JBRGpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtSZXNwb25zaXZlRWxlbWVudENvbXBvbmVudCwgUmVzcG9uc2l2ZUVsZW1lbnRDb21wb25lbnRDaGFuZ2VzfSBmcm9tIFwiLi4vcmVzcG9uc2l2ZS1lbGVtZW50LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtpc05vdEJsYW5rT3JOdWxsfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvY29tbW9uLm9wZXJhdG9yc1wiO1xuaW1wb3J0IHtCb29sZWFuQ2hhbmdlLCBDSEFOR0VfREVURUNUSU9OX1NUUkFURUdZLCBnZXRDb25maWdWYWx1ZSwgT2JzZXJ2YWJsZUNoYW5nZSwgU3RyaW5nQ2hhbmdlfSBmcm9tIFwiLi4vYmFzZS5jb21wb25lbnRcIjtcbmltcG9ydCB7Rm9ybUVsZW1lbnRDb21wb25lbnRDb25maWcsIE5HX0lOQUlMX0NPTU1PTl9DT05GSUcsIE5nSW5haWxDb21tb25Db25maWd9IGZyb20gXCIuLi8uLi8uLi9uZy1pbmFpbC1jb21tb24uY29uZmlnXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2luYWlsLWZvcm0tZWxlbWVudCcsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDSEFOR0VfREVURUNUSU9OX1NUUkFURUdZLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1FbGVtZW50Q29tcG9uZW50IGV4dGVuZHMgUmVzcG9uc2l2ZUVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG5cbiAgb25DaGFuZ2U6ICh2YWw6IGFueSkgPT4gdm9pZFxuICBvblRvdWNoZWQ6ICgpID0+IHZvaWQ7XG5cbiAgQElucHV0KClcbiAgbGFiZWw6IE5vbk51bGxhYmxlPHN0cmluZz47XG4gIEBJbnB1dCgpXG4gIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIG5hbWU6IHN0cmluZztcbiAgQElucHV0KClcbiAgbGFiZWxUaXRsZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBsYWJlbENsYXNzOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGlucHV0Q2xhc3M6IHN0cmluZztcbiAgQElucHV0KClcbiAgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgcmVxdWlyZWRTaW1ib2w6IHN0cmluZyA9IGdldENvbmZpZ1ZhbHVlKHRoaXMuZm9ybUVsZW1lbnRMaWJDb25maWc/LmZvcm1FbGVtZW50Q29tcG9uZW50Py5yZXF1aXJlZFNpbWJvbCwgJyonKTtcbiAgQElucHV0KClcbiAgcmVxdWlyZWRTaW1ib2xQb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyA9IGdldENvbmZpZ1ZhbHVlKHRoaXMuZm9ybUVsZW1lbnRMaWJDb25maWc/LmZvcm1FbGVtZW50Q29tcG9uZW50Py5yZXF1aXJlZFNpbWJvbFBvc2l0aW9uLCAnbGVmdCcpO1xuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBoYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KClcbiAgaGFzRXJyb3JDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBJbnB1dCgpXG4gIGhpZGRlbkxhYmVsOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGVycm9yOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIEBPdXRwdXQoKVxuICBlcnJvckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KClcbiAgZW50ZXJVcCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KClcbiAgZm9jdXM6IE9ic2VydmFibGU8Ym9vbGVhbiB8IHZvaWQ+O1xuICBASW5wdXQoKVxuICBwb3BvdmVyOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHBvcG92ZXJCdXR0b25JY29uOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHBvcG92ZXJCdXR0b25UaXRsZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBwb3BvdmVySGVhZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHBvcG92ZXJDb250ZW50OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGNsZWFuRXJyb3JPbkNoYW5nZTogYm9vbGVhbiA9IGdldENvbmZpZ1ZhbHVlKHRoaXMuZm9ybUVsZW1lbnRMaWJDb25maWc/LmZvcm1FbGVtZW50Q29tcG9uZW50Py5jbGVhbkVycm9yT25DaGFuZ2UsIHRydWUpO1xuXG4gIGdldExhYmVsID0gKCkgPT4gYCR7KHRoaXMucmVxdWlyZWQgJiYgdGhpcy5yZXF1aXJlZFNpbWJvbFBvc2l0aW9uID09PSAnbGVmdCcpID8gYCR7dGhpcy5yZXF1aXJlZFNpbWJvbH0gYCA6ICcnfSR7dGhpcy5sYWJlbH0keyh0aGlzLnJlcXVpcmVkICYmIHRoaXMucmVxdWlyZWRTaW1ib2xQb3NpdGlvbiA9PT0gJ3JpZ2h0JykgPyBgICR7dGhpcy5yZXF1aXJlZFNpbWJvbH1gIDogJyd9YFxuXG4gIGlzVGhlcmVFcnJvciA9ICgpOiBib29sZWFuID0+IHRoaXMuaGFzRXJyb3IgfHwgaXNOb3RCbGFua09yTnVsbCh0aGlzLmVycm9yKTtcblxuICBzaG93RXJyb3IgPSAoKTogYm9vbGVhbiA9PiB0aGlzLmlzVGhlcmVFcnJvcigpICYmIGlzTm90QmxhbmtPck51bGwodGhpcy5lcnJvcik7XG5cbiAgZ2V0QXJpYURlc2NyaWJlZEJ5ID0gKCk6IHN0cmluZyA9PiB0aGlzLnNob3dFcnJvcigpIHx8IGlzTm90QmxhbmtPck51bGwodGhpcy5kZXNjcmlwdGlvbikgPyBgJHt0aGlzLmlkfS1kZXNjcmlwdGlvbmAgOiB1bmRlZmluZWQ7XG5cbiAgLy8gc2hvd1BvcG92ZXIgPSAoKTogYm9vbGVhbiA9PiBpc05vdEJsYW5rT3JOdWxsKHRoaXMucG9wb3ZlckhlYWRlcikgfHwgaXNOb3RCbGFua09yTnVsbCh0aGlzLnBvcG92ZXJDb250ZW50KTtcbiAgc2hvd1BvcG92ZXIgPSAoKTogYm9vbGVhbiA9PiB0aGlzLnBvcG92ZXIgPT09IHRydWU7XG5cbiAgaGFzRm9jdXMgPSAoKTpib29sZWFuID0+IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmlkID09IHRoaXMuaWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtRWxlbWVudENkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgIEBJbmplY3QoTkdfSU5BSUxfQ09NTU9OX0NPTkZJRylcbiAgICAgICAgICAgICAgcHJpdmF0ZSBmb3JtRWxlbWVudExpYkNvbmZpZz86IE5nSW5haWxDb21tb25Db25maWcpIHtcbiAgICBzdXBlcihmb3JtRWxlbWVudENkciwgZm9ybUVsZW1lbnRMaWJDb25maWcpO1xuICAgIHN1cGVyLm92ZXJyaWRlQ29uZmlnKGZvcm1FbGVtZW50TGliQ29uZmlnPy5mb3JtRWxlbWVudENvbXBvbmVudCk7XG4gIH1cblxuICBvdmVycmlkZUNvbmZpZyhjb25maWc6IEZvcm1FbGVtZW50Q29tcG9uZW50Q29uZmlnKSB7XG5cbiAgICBpZiAoY29uZmlnKSB7XG5cbiAgICAgIHN1cGVyLm92ZXJyaWRlQ29uZmlnKGNvbmZpZyk7XG4gICAgICB0aGlzLnJlcXVpcmVkU2ltYm9sID0gZ2V0Q29uZmlnVmFsdWUoY29uZmlnLnJlcXVpcmVkU2ltYm9sLCB0aGlzLnJlcXVpcmVkU2ltYm9sKTtcbiAgICAgIHRoaXMucmVxdWlyZWRTaW1ib2xQb3NpdGlvbiA9IGdldENvbmZpZ1ZhbHVlKGNvbmZpZy5yZXF1aXJlZFNpbWJvbFBvc2l0aW9uLCB0aGlzLnJlcXVpcmVkU2ltYm9sUG9zaXRpb24pO1xuICAgICAgdGhpcy5jbGVhbkVycm9yT25DaGFuZ2UgPSBnZXRDb25maWdWYWx1ZShjb25maWcuY2xlYW5FcnJvck9uQ2hhbmdlLCB0aGlzLmNsZWFuRXJyb3JPbkNoYW5nZSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuXG4gICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG4gICAgdGhpcy50aXRsZSA9IHRoaXMuZ2V0Tm90QmxhbmtWYWx1ZSh0aGlzLnRpdGxlKTtcbiAgICB0aGlzLm5hbWUgPSB0aGlzLmdldE5vdEJsYW5rVmFsdWUodGhpcy5uYW1lKTtcbiAgICB0aGlzLmxhYmVsVGl0bGUgPSB0aGlzLmdldE5vdEJsYW5rVmFsdWUodGhpcy5sYWJlbFRpdGxlKTtcbiAgICB0aGlzLnBvcG92ZXJCdXR0b25UaXRsZSA9IHRoaXMuZ2V0Tm90QmxhbmtWYWx1ZSh0aGlzLnBvcG92ZXJCdXR0b25UaXRsZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMubG9nUHJlZml4ID0gYCR7dGhpcy5sb2dQcmVmaXh9WyR7dGhpcy5sYWJlbH1dYDtcbiAgfVxuXG4gIHNldERlc2NFcnJvcihzOiBzdHJpbmcpIHtcblxuICAgIHRoaXMuZXJyb3IgPSBzO1xuICAgIHRoaXMuZm9ybUVsZW1lbnRDZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgc2V0SGFzRXJyb3IoYjogYm9vbGVhbikge1xuXG4gICAgdGhpcy5oYXNFcnJvciA9IGI7XG4gICAgdGhpcy5mb3JtRWxlbWVudENkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBjbGVhbkVycm9yKCkge1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG5cbiAgICAgIGlmICh0aGlzLmhhc0Vycm9yKSB7XG5cbiAgICAgICAgdGhpcy5oYXNFcnJvciA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhhc0Vycm9yQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5lcnJvcikge1xuXG4gICAgICAgIHRoaXMuZXJyb3IgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuZXJyb3JDaGFuZ2UuZW1pdCh1bmRlZmluZWQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmZvcm1FbGVtZW50Q2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuXG4gICAgdGhpcy5lbWl0RGVidWcoYHJlZ2lzdGVyT25DaGFuZ2VgKTtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG5cbiAgICB0aGlzLmVtaXREZWJ1ZyhgcmVnaXN0ZXJPblRvdWNoZWRgKTtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuXG4gICAgdGhpcy5lbWl0RGVidWcoYHNldERpc2FibGVkU3RhdGU6ICR7aXNEaXNhYmxlZH1gKTtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmZvcm1FbGVtZW50Q2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICBpZiAodGhpcy5vblRvdWNoZWQpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUVsZW1lbnRDb21wb25lbnRDaGFuZ2VzIGV4dGVuZHMgUmVzcG9uc2l2ZUVsZW1lbnRDb21wb25lbnRDaGFuZ2VzIHtcblxuICBsYWJlbDogU3RyaW5nQ2hhbmdlLFxuICB0aXRsZTogU3RyaW5nQ2hhbmdlLFxuICBuYW1lOiBTdHJpbmdDaGFuZ2UsXG4gIGxhYmVsVGl0bGU6IFN0cmluZ0NoYW5nZSxcbiAgbGFiZWxDbGFzczogU3RyaW5nQ2hhbmdlLFxuICBpbnB1dENsYXNzOiBTdHJpbmdDaGFuZ2UsXG4gIHJlcXVpcmVkOiBCb29sZWFuQ2hhbmdlLFxuICByZXF1aXJlZFNpbWJvbDogU3RyaW5nQ2hhbmdlLFxuICByZXF1aXJlZFNpbWJvbFBvc2l0aW9uOiBTdHJpbmdDaGFuZ2UsXG4gIGRpc2FibGVkOiBCb29sZWFuQ2hhbmdlLFxuICByZWFkb25seTogQm9vbGVhbkNoYW5nZSxcbiAgaGFzRXJyb3I6IEJvb2xlYW5DaGFuZ2UsXG4gIGhpZGRlbkxhYmVsOiBCb29sZWFuQ2hhbmdlLFxuICBlcnJvcjogU3RyaW5nQ2hhbmdlLFxuICBmb2N1czogT2JzZXJ2YWJsZUNoYW5nZVxufVxuIl19