@porscheinformatik/material-addons 17.4.4 → 18.0.0

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 (156) hide show
  1. package/esm2022/lib/alert/alert.component.mjs +4 -4
  2. package/esm2022/lib/button/button.module.mjs +26 -8
  3. package/esm2022/lib/button/danger-button/danger-button.component.mjs +6 -7
  4. package/esm2022/lib/button/flat-button/link-button.component.mjs +6 -7
  5. package/esm2022/lib/button/icon-button/icon-button.component.mjs +6 -7
  6. package/esm2022/lib/button/mad-basic-button.mjs +4 -4
  7. package/esm2022/lib/button/mad-button/mad-button.directive.mjs +5 -4
  8. package/esm2022/lib/button/mad-button-group/mad-button-group.component.mjs +5 -4
  9. package/esm2022/lib/button/outline-button/outline-button.component.mjs +6 -7
  10. package/esm2022/lib/button/primary-button/primary-button.component.mjs +6 -7
  11. package/esm2022/lib/card/card.component.mjs +22 -12
  12. package/esm2022/lib/card/card.module.mjs +6 -7
  13. package/esm2022/lib/data-table/data-table-columns-modal/data-table-columns-modal.component.mjs +5 -5
  14. package/esm2022/lib/data-table/data-table-filter/data-table-filter-component/data-table-filter-dialog/data-table-filter-dialog.component.mjs +3 -3
  15. package/esm2022/lib/data-table/data-table-filter/data-table-filter-component/data-table-filter.component.mjs +4 -4
  16. package/esm2022/lib/data-table/data-table-filter/data-table-filter-header.directive.mjs +4 -4
  17. package/esm2022/lib/data-table/data-table-filter/data-table-filter.directive.mjs +4 -4
  18. package/esm2022/lib/data-table/data-table-persistence.service.mjs +4 -4
  19. package/esm2022/lib/data-table/data-table-template/data-table-template-cell-definition.directive.mjs +3 -3
  20. package/esm2022/lib/data-table/data-table-template/data-table-template-column-definition.directive.mjs +3 -3
  21. package/esm2022/lib/data-table/data-table-template/data-table-template-expandable-cell-definition.directive.mjs +3 -3
  22. package/esm2022/lib/data-table/data-table-template/data-table-template-expandable-column-definition.directive.mjs +3 -3
  23. package/esm2022/lib/data-table/data-table.component.mjs +4 -4
  24. package/esm2022/lib/data-table/util/data-table-action-util.mjs +1 -1
  25. package/esm2022/lib/data-table/util/data-table-data-util.mjs +1 -1
  26. package/esm2022/lib/data-table/util/data-table-sort-util.mjs +1 -1
  27. package/esm2022/lib/file-upload/drag-and-drop-directive.directive.mjs +4 -4
  28. package/esm2022/lib/file-upload/file-upload.component.mjs +4 -4
  29. package/esm2022/lib/layout/content-panel/content-header/content-header.component.mjs +5 -5
  30. package/esm2022/lib/layout/content-panel/content-panel-container/content-panel-container.component.mjs +5 -5
  31. package/esm2022/lib/layout/content-panel/content-panel-container-content/content-panel-container-content.component.mjs +5 -5
  32. package/esm2022/lib/layout/content-panel/content-panel-container-footer/content-panel-container-footer.component.mjs +5 -5
  33. package/esm2022/lib/layout/content-panel/content-panel-container-sidebar/content-panel-container-sidebar.component.mjs +5 -5
  34. package/esm2022/lib/layout/content-panel/content-panel.module.mjs +9 -8
  35. package/esm2022/lib/layout/content-panel/main-container/main-container.component.mjs +5 -5
  36. package/esm2022/lib/layout/flowbar/flowbar.component.mjs +8 -7
  37. package/esm2022/lib/layout/flowbar/flowbar.module.mjs +6 -7
  38. package/esm2022/lib/layout/sidebar/sidebar-item/sidebar-item.component.mjs +5 -5
  39. package/esm2022/lib/layout/sidebar/sidebar.component.mjs +9 -7
  40. package/esm2022/lib/layout/sidebar/sidebar.module.mjs +6 -7
  41. package/esm2022/lib/layout/sidebar-layout/sidebar-layout.component.mjs +3 -3
  42. package/esm2022/lib/layout/toolbar/toolbar.component.mjs +36 -16
  43. package/esm2022/lib/layout/toolbar/toolbar.module.mjs +10 -8
  44. package/esm2022/lib/layout/toolbar/toolbar.service.mjs +4 -4
  45. package/esm2022/lib/material-action-button/material-action-button.component.mjs +13 -10
  46. package/esm2022/lib/material-action-button/material-action-button.module.mjs +6 -7
  47. package/esm2022/lib/material-addons.module.mjs +4 -4
  48. package/esm2022/lib/numeric-field/number-format.service.mjs +4 -4
  49. package/esm2022/lib/numeric-field/numeric-field.directive.mjs +5 -4
  50. package/esm2022/lib/numeric-field/numeric-field.module.mjs +6 -6
  51. package/esm2022/lib/quick-list/base-quick-list.component.mjs +5 -5
  52. package/esm2022/lib/quick-list/quick-list-compact/quick-list-compact.component.mjs +17 -9
  53. package/esm2022/lib/quick-list/quick-list.component.mjs +10 -9
  54. package/esm2022/lib/quick-list/quick-list.module.mjs +25 -8
  55. package/esm2022/lib/quick-list/reactive-form-quick-list/reactive-form-quick-list.component.mjs +17 -9
  56. package/esm2022/lib/quick-list/reactive-form-quick-list-compact/reactive-form-quick-list-compact.component.mjs +17 -9
  57. package/esm2022/lib/readonly/readonly-form-field/readonly-form-field.component.mjs +18 -12
  58. package/esm2022/lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component.mjs +15 -10
  59. package/esm2022/lib/readonly/readonly-form-field.module.mjs +33 -8
  60. package/esm2022/lib/stepper/step-header/step-header.component.mjs +8 -7
  61. package/esm2022/lib/stepper/stepper.component.mjs +14 -15
  62. package/esm2022/lib/stepper/stepper.module.mjs +29 -7
  63. package/esm2022/lib/table/table.component.mjs +34 -18
  64. package/esm2022/lib/table/table.module.mjs +10 -8
  65. package/esm2022/lib/throttle-click/throttle-click.directive.mjs +5 -4
  66. package/esm2022/lib/throttle-click/throttle-click.module.mjs +6 -7
  67. package/fesm2022/porscheinformatik-material-addons.mjs +465 -328
  68. package/fesm2022/porscheinformatik-material-addons.mjs.map +1 -1
  69. package/lib/button/button.module.d.ts +13 -13
  70. package/lib/button/button.module.d.ts.map +1 -1
  71. package/lib/button/danger-button/danger-button.component.d.ts +1 -1
  72. package/lib/button/danger-button/danger-button.component.d.ts.map +1 -1
  73. package/lib/button/flat-button/link-button.component.d.ts +1 -1
  74. package/lib/button/flat-button/link-button.component.d.ts.map +1 -1
  75. package/lib/button/icon-button/icon-button.component.d.ts +1 -1
  76. package/lib/button/icon-button/icon-button.component.d.ts.map +1 -1
  77. package/lib/button/mad-button/mad-button.directive.d.ts +1 -1
  78. package/lib/button/mad-button/mad-button.directive.d.ts.map +1 -1
  79. package/lib/button/mad-button-group/mad-button-group.component.d.ts +1 -1
  80. package/lib/button/mad-button-group/mad-button-group.component.d.ts.map +1 -1
  81. package/lib/button/outline-button/outline-button.component.d.ts +1 -1
  82. package/lib/button/outline-button/outline-button.component.d.ts.map +1 -1
  83. package/lib/button/primary-button/primary-button.component.d.ts +1 -1
  84. package/lib/button/primary-button/primary-button.component.d.ts.map +1 -1
  85. package/lib/card/card.component.d.ts +1 -1
  86. package/lib/card/card.component.d.ts.map +1 -1
  87. package/lib/card/card.module.d.ts +8 -8
  88. package/lib/card/card.module.d.ts.map +1 -1
  89. package/lib/layout/content-panel/content-header/content-header.component.d.ts +1 -1
  90. package/lib/layout/content-panel/content-header/content-header.component.d.ts.map +1 -1
  91. package/lib/layout/content-panel/content-panel-container/content-panel-container.component.d.ts +1 -1
  92. package/lib/layout/content-panel/content-panel-container/content-panel-container.component.d.ts.map +1 -1
  93. package/lib/layout/content-panel/content-panel-container-content/content-panel-container-content.component.d.ts +1 -1
  94. package/lib/layout/content-panel/content-panel-container-content/content-panel-container-content.component.d.ts.map +1 -1
  95. package/lib/layout/content-panel/content-panel-container-footer/content-panel-container-footer.component.d.ts +1 -1
  96. package/lib/layout/content-panel/content-panel-container-footer/content-panel-container-footer.component.d.ts.map +1 -1
  97. package/lib/layout/content-panel/content-panel-container-sidebar/content-panel-container-sidebar.component.d.ts +1 -1
  98. package/lib/layout/content-panel/content-panel-container-sidebar/content-panel-container-sidebar.component.d.ts.map +1 -1
  99. package/lib/layout/content-panel/content-panel.module.d.ts +8 -8
  100. package/lib/layout/content-panel/content-panel.module.d.ts.map +1 -1
  101. package/lib/layout/content-panel/main-container/main-container.component.d.ts +1 -1
  102. package/lib/layout/content-panel/main-container/main-container.component.d.ts.map +1 -1
  103. package/lib/layout/flowbar/flowbar.component.d.ts +1 -1
  104. package/lib/layout/flowbar/flowbar.component.d.ts.map +1 -1
  105. package/lib/layout/flowbar/flowbar.module.d.ts +4 -4
  106. package/lib/layout/flowbar/flowbar.module.d.ts.map +1 -1
  107. package/lib/layout/sidebar/sidebar-item/sidebar-item.component.d.ts +1 -1
  108. package/lib/layout/sidebar/sidebar-item/sidebar-item.component.d.ts.map +1 -1
  109. package/lib/layout/sidebar/sidebar.component.d.ts +1 -1
  110. package/lib/layout/sidebar/sidebar.component.d.ts.map +1 -1
  111. package/lib/layout/sidebar/sidebar.module.d.ts +6 -6
  112. package/lib/layout/sidebar/sidebar.module.d.ts.map +1 -1
  113. package/lib/layout/toolbar/toolbar.component.d.ts +1 -1
  114. package/lib/layout/toolbar/toolbar.component.d.ts.map +1 -1
  115. package/lib/layout/toolbar/toolbar.module.d.ts +12 -12
  116. package/lib/material-action-button/material-action-button.component.d.ts +1 -1
  117. package/lib/material-action-button/material-action-button.component.d.ts.map +1 -1
  118. package/lib/material-action-button/material-action-button.module.d.ts +7 -7
  119. package/lib/material-action-button/material-action-button.module.d.ts.map +1 -1
  120. package/lib/numeric-field/numeric-field.directive.d.ts +1 -1
  121. package/lib/numeric-field/numeric-field.directive.d.ts.map +1 -1
  122. package/lib/numeric-field/numeric-field.module.d.ts +1 -1
  123. package/lib/quick-list/base-quick-list.component.d.ts +1 -1
  124. package/lib/quick-list/base-quick-list.component.d.ts.map +1 -1
  125. package/lib/quick-list/quick-list-compact/quick-list-compact.component.d.ts +1 -1
  126. package/lib/quick-list/quick-list-compact/quick-list-compact.component.d.ts.map +1 -1
  127. package/lib/quick-list/quick-list.component.d.ts +1 -1
  128. package/lib/quick-list/quick-list.component.d.ts.map +1 -1
  129. package/lib/quick-list/quick-list.module.d.ts +11 -11
  130. package/lib/quick-list/quick-list.module.d.ts.map +1 -1
  131. package/lib/quick-list/reactive-form-quick-list/reactive-form-quick-list.component.d.ts +1 -1
  132. package/lib/quick-list/reactive-form-quick-list/reactive-form-quick-list.component.d.ts.map +1 -1
  133. package/lib/quick-list/reactive-form-quick-list-compact/reactive-form-quick-list-compact.component.d.ts +1 -1
  134. package/lib/quick-list/reactive-form-quick-list-compact/reactive-form-quick-list-compact.component.d.ts.map +1 -1
  135. package/lib/readonly/readonly-form-field/readonly-form-field.component.d.ts +1 -1
  136. package/lib/readonly/readonly-form-field/readonly-form-field.component.d.ts.map +1 -1
  137. package/lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component.d.ts +3 -2
  138. package/lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component.d.ts.map +1 -1
  139. package/lib/readonly/readonly-form-field.module.d.ts +10 -10
  140. package/lib/readonly/readonly-form-field.module.d.ts.map +1 -1
  141. package/lib/stepper/step-header/step-header.component.d.ts +1 -1
  142. package/lib/stepper/step-header/step-header.component.d.ts.map +1 -1
  143. package/lib/stepper/stepper.component.d.ts +2 -2
  144. package/lib/stepper/stepper.component.d.ts.map +1 -1
  145. package/lib/stepper/stepper.module.d.ts +8 -8
  146. package/lib/stepper/stepper.module.d.ts.map +1 -1
  147. package/lib/table/table.component.d.ts +1 -1
  148. package/lib/table/table.component.d.ts.map +1 -1
  149. package/lib/table/table.module.d.ts +12 -12
  150. package/lib/throttle-click/throttle-click.directive.d.ts +1 -1
  151. package/lib/throttle-click/throttle-click.directive.d.ts.map +1 -1
  152. package/lib/throttle-click/throttle-click.module.d.ts +3 -3
  153. package/lib/throttle-click/throttle-click.module.d.ts.map +1 -1
  154. package/package.json +3 -2
  155. package/themes/common/styles.scss +3 -3
  156. package/themes/common/theme.scss +6 -6
@@ -1,23 +1,24 @@
1
1
  // Based on https://github.com/porscheinformatik/clarity-addons/blob/master/src/clr-addons/generic-quick-list/generic-quick-list.ts
2
2
  import { Component } from '@angular/core';
3
3
  import { BaseQuickListComponent } from './base-quick-list.component';
4
+ import { OutlineButtonComponent } from '../button/outline-button/outline-button.component';
5
+ import { MatIconModule } from '@angular/material/icon';
6
+ import { IconButtonComponent } from '../button/icon-button/icon-button.component';
7
+ import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
4
8
  import * as i0 from "@angular/core";
5
9
  import * as i1 from "@angular/forms";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "@angular/material/icon";
8
- import * as i4 from "../button/outline-button/outline-button.component";
9
- import * as i5 from "../button/icon-button/icon-button.component";
10
+ import * as i2 from "@angular/material/icon";
10
11
  export class QuickListComponent extends BaseQuickListComponent {
11
12
  constructor(changeDetectorRef, formBuilder) {
12
13
  super(changeDetectorRef, formBuilder);
13
14
  this.changeDetectorRef = changeDetectorRef;
14
15
  this.formBuilder = formBuilder;
15
16
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: QuickListComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: QuickListComponent, selector: "mad-quick-list", usesInheritance: true, ngImport: i0, template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of allItems\">\n <div *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteAllowed()\" (click)=\"removeItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n<mad-outline-button data-cy=\"add-item-button\" *ngIf=\"!readonly\" (click)=\"addItem()\" [disabled]=\"!addPossible || !isAddAllowed()\">\n {{ addLabel }}\n</mad-outline-button>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.OutlineButtonComponent, selector: "mad-outline-button", inputs: ["type", "disabled", "title", "color"] }, { kind: "component", type: i5.IconButtonComponent, selector: "mad-icon-button", inputs: ["type", "disabled", "title"] }] }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: QuickListComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: QuickListComponent, isStandalone: true, selector: "mad-quick-list", usesInheritance: true, ngImport: i0, template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of allItems\">\n <div *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteAllowed()\" (click)=\"removeItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n<mad-outline-button data-cy=\"add-item-button\" *ngIf=\"!readonly\" (click)=\"addItem()\" [disabled]=\"!addPossible || !isAddAllowed()\">\n {{ addLabel }}\n</mad-outline-button>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconButtonComponent, selector: "mad-icon-button", inputs: ["type", "disabled", "title"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: OutlineButtonComponent, selector: "mad-outline-button", inputs: ["type", "disabled", "title", "color"] }] }); }
18
19
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: QuickListComponent, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: QuickListComponent, decorators: [{
20
21
  type: Component,
21
- args: [{ selector: 'mad-quick-list', template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of allItems\">\n <div *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteAllowed()\" (click)=\"removeItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n<mad-outline-button data-cy=\"add-item-button\" *ngIf=\"!readonly\" (click)=\"addItem()\" [disabled]=\"!addPossible || !isAddAllowed()\">\n {{ addLabel }}\n</mad-outline-button>\n" }]
22
+ args: [{ selector: 'mad-quick-list', standalone: true, imports: [NgFor, NgIf, NgTemplateOutlet, IconButtonComponent, MatIconModule, OutlineButtonComponent], template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of allItems\">\n <div *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteAllowed()\" (click)=\"removeItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n<mad-outline-button data-cy=\"add-item-button\" *ngIf=\"!readonly\" (click)=\"addItem()\" [disabled]=\"!addPossible || !isAddAllowed()\">\n {{ addLabel }}\n</mad-outline-button>\n" }]
22
23
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.FormBuilder }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2stbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9xdWljay1saXN0L3F1aWNrLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvcXVpY2stbGlzdC9xdWljay1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1JQUFtSTtBQUVuSSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQWlCLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7QUFRcEYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHNCQUFxQztJQUMzRSxZQUNTLGlCQUFvQyxFQUNwQyxXQUF3QjtRQUUvQixLQUFLLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFIL0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUdqQyxDQUFDOzhHQU5VLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDZFQ1gvQixxcEJBY0E7OzJGREhhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vcG9yc2NoZWluZm9ybWF0aWsvY2xhcml0eS1hZGRvbnMvYmxvYi9tYXN0ZXIvc3JjL2Nsci1hZGRvbnMvZ2VuZXJpYy1xdWljay1saXN0L2dlbmVyaWMtcXVpY2stbGlzdC50c1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlUXVpY2tMaXN0Q29tcG9uZW50LCBRdWlja0xpc3RJdGVtIH0gZnJvbSAnLi9iYXNlLXF1aWNrLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWQtcXVpY2stbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWljay1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgUXVpY2tMaXN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZVF1aWNrTGlzdENvbXBvbmVudDxRdWlja0xpc3RJdGVtPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgKSB7XG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3JSZWYsIGZvcm1CdWlsZGVyKTtcbiAgfVxufVxuIiwiPGgzPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJsYWJlbFwiPjwvbmctY29udGVudD5cbjwvaDM+XG48bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGFsbEl0ZW1zXCI+XG4gIDxkaXYgKm5nSWY9XCJpdGVtVGVtcGxhdGVcIiAjcm93IGNsYXNzPVwicXVpY2stbGlzdC1yb3dcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPG1hZC1pY29uLWJ1dHRvbiBkYXRhLWN5PVwiZGVsZXRlLWl0ZW0tYnV0dG9uXCIgKm5nSWY9XCIhcmVhZG9ubHkgJiYgaXNEZWxldGVBbGxvd2VkKClcIiAoY2xpY2spPVwicmVtb3ZlSXRlbShpdGVtKVwiPlxuICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgPC9tYWQtaWNvbi1idXR0b24+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG48bWFkLW91dGxpbmUtYnV0dG9uIGRhdGEtY3k9XCJhZGQtaXRlbS1idXR0b25cIiAqbmdJZj1cIiFyZWFkb25seVwiIChjbGljayk9XCJhZGRJdGVtKClcIiBbZGlzYWJsZWRdPVwiIWFkZFBvc3NpYmxlIHx8ICFpc0FkZEFsbG93ZWQoKVwiPlxuICB7eyBhZGRMYWJlbCB9fVxuPC9tYWQtb3V0bGluZS1idXR0b24+XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2stbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9xdWljay1saXN0L3F1aWNrLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvcXVpY2stbGlzdC9xdWljay1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1JQUFtSTtBQUVuSSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQWlCLE1BQU0sNkJBQTZCLENBQUM7QUFFcEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDM0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFTaEUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHNCQUFxQztJQUMzRSxZQUNTLGlCQUFvQyxFQUNwQyxXQUF3QjtRQUUvQixLQUFLLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFIL0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUdqQyxDQUFDOzhHQU5VLGtCQUFrQjtrR0FBbEIsa0JBQWtCLGlHQ2pCL0IscXBCQWNBLDRDRENZLEtBQUssbUhBQUUsSUFBSSw2RkFBRSxnQkFBZ0Isb0pBQUUsbUJBQW1CLGtHQUFFLGFBQWEsb0xBQUUsc0JBQXNCOzsyRkFFeEYsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLGdCQUFnQixjQUdkLElBQUksV0FDUCxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL3BvcnNjaGVpbmZvcm1hdGlrL2NsYXJpdHktYWRkb25zL2Jsb2IvbWFzdGVyL3NyYy9jbHItYWRkb25zL2dlbmVyaWMtcXVpY2stbGlzdC9nZW5lcmljLXF1aWNrLWxpc3QudHNcblxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZVF1aWNrTGlzdENvbXBvbmVudCwgUXVpY2tMaXN0SXRlbSB9IGZyb20gJy4vYmFzZS1xdWljay1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE91dGxpbmVCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vb3V0bGluZS1idXR0b24vb3V0bGluZS1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IEljb25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IE5nRm9yLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFkLXF1aWNrLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vcXVpY2stbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgSWNvbkJ1dHRvbkNvbXBvbmVudCwgTWF0SWNvbk1vZHVsZSwgT3V0bGluZUJ1dHRvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFF1aWNrTGlzdENvbXBvbmVudCBleHRlbmRzIEJhc2VRdWlja0xpc3RDb21wb25lbnQ8UXVpY2tMaXN0SXRlbT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICkge1xuICAgIHN1cGVyKGNoYW5nZURldGVjdG9yUmVmLCBmb3JtQnVpbGRlcik7XG4gIH1cbn1cbiIsIjxoMz5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibGFiZWxcIj48L25nLWNvbnRlbnQ+XG48L2gzPlxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhbGxJdGVtc1wiPlxuICA8ZGl2ICpuZ0lmPVwiaXRlbVRlbXBsYXRlXCIgI3JvdyBjbGFzcz1cInF1aWNrLWxpc3Qtcm93XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDxtYWQtaWNvbi1idXR0b24gZGF0YS1jeT1cImRlbGV0ZS1pdGVtLWJ1dHRvblwiICpuZ0lmPVwiIXJlYWRvbmx5ICYmIGlzRGVsZXRlQWxsb3dlZCgpXCIgKGNsaWNrKT1cInJlbW92ZUl0ZW0oaXRlbSlcIj5cbiAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgIDwvbWFkLWljb24tYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuPG1hZC1vdXRsaW5lLWJ1dHRvbiBkYXRhLWN5PVwiYWRkLWl0ZW0tYnV0dG9uXCIgKm5nSWY9XCIhcmVhZG9ubHlcIiAoY2xpY2spPVwiYWRkSXRlbSgpXCIgW2Rpc2FibGVkXT1cIiFhZGRQb3NzaWJsZSB8fCAhaXNBZGRBbGxvd2VkKClcIj5cbiAge3sgYWRkTGFiZWwgfX1cbjwvbWFkLW91dGxpbmUtYnV0dG9uPlxuIl19
@@ -11,29 +11,46 @@ import { ReactiveFormsModule } from '@angular/forms';
11
11
  import { ReactiveFormQuickListCompactComponent } from './reactive-form-quick-list-compact/reactive-form-quick-list-compact.component';
12
12
  import * as i0 from "@angular/core";
13
13
  export class QuickListModule {
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: QuickListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: QuickListModule, declarations: [QuickListComponent,
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: QuickListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: QuickListModule, imports: [CommonModule,
16
+ MatButtonModule,
17
+ MatIconModule,
18
+ ButtonModule,
19
+ ReactiveFormsModule,
20
+ QuickListComponent,
16
21
  BaseQuickListComponent,
17
22
  QuickListCompactComponent,
18
23
  ReactiveFormQuickListComponent,
19
- ReactiveFormQuickListCompactComponent], imports: [CommonModule, MatButtonModule, MatIconModule, ButtonModule, ReactiveFormsModule], exports: [QuickListComponent,
24
+ ReactiveFormQuickListCompactComponent], exports: [QuickListComponent,
20
25
  QuickListCompactComponent,
21
26
  BaseQuickListComponent,
22
27
  ReactiveFormQuickListComponent,
23
28
  ReactiveFormQuickListCompactComponent] }); }
24
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: QuickListModule, imports: [CommonModule, MatButtonModule, MatIconModule, ButtonModule, ReactiveFormsModule] }); }
29
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: QuickListModule, imports: [CommonModule,
30
+ MatButtonModule,
31
+ MatIconModule,
32
+ ButtonModule,
33
+ ReactiveFormsModule,
34
+ QuickListComponent,
35
+ QuickListCompactComponent,
36
+ ReactiveFormQuickListComponent,
37
+ ReactiveFormQuickListCompactComponent] }); }
25
38
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: QuickListModule, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: QuickListModule, decorators: [{
27
40
  type: NgModule,
28
41
  args: [{
29
- declarations: [
42
+ imports: [
43
+ CommonModule,
44
+ MatButtonModule,
45
+ MatIconModule,
46
+ ButtonModule,
47
+ ReactiveFormsModule,
30
48
  QuickListComponent,
31
49
  BaseQuickListComponent,
32
50
  QuickListCompactComponent,
33
51
  ReactiveFormQuickListComponent,
34
52
  ReactiveFormQuickListCompactComponent,
35
53
  ],
36
- imports: [CommonModule, MatButtonModule, MatIconModule, ButtonModule, ReactiveFormsModule],
37
54
  exports: [
38
55
  QuickListComponent,
39
56
  QuickListCompactComponent,
@@ -43,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
43
60
  ],
44
61
  }]
45
62
  }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2stbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9xdWljay1saXN0L3F1aWNrLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLCtFQUErRSxDQUFDOztBQW1CdEksTUFBTSxPQUFPLGVBQWU7OEdBQWYsZUFBZTsrR0FBZixlQUFlLGlCQWZ4QixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLHlCQUF5QjtZQUN6Qiw4QkFBOEI7WUFDOUIscUNBQXFDLGFBRTdCLFlBQVksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxtQkFBbUIsYUFFdkYsa0JBQWtCO1lBQ2xCLHlCQUF5QjtZQUN6QixzQkFBc0I7WUFDdEIsOEJBQThCO1lBQzlCLHFDQUFxQzsrR0FHNUIsZUFBZSxZQVRoQixZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsbUJBQW1COzsyRkFTOUUsZUFBZTtrQkFqQjNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0Qix5QkFBeUI7d0JBQ3pCLDhCQUE4Qjt3QkFDOUIscUNBQXFDO3FCQUN0QztvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLENBQUM7b0JBQzFGLE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7d0JBQ2xCLHlCQUF5Qjt3QkFDekIsc0JBQXNCO3dCQUN0Qiw4QkFBOEI7d0JBQzlCLHFDQUFxQztxQkFDdEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBRdWlja0xpc3RDb21wb25lbnQgfSBmcm9tICcuL3F1aWNrLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IEJhc2VRdWlja0xpc3RDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtcXVpY2stbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUXVpY2tMaXN0Q29tcGFjdENvbXBvbmVudCB9IGZyb20gJy4vcXVpY2stbGlzdC1jb21wYWN0L3F1aWNrLWxpc3QtY29tcGFjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3JtUXVpY2tMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9yZWFjdGl2ZS1mb3JtLXF1aWNrLWxpc3QvcmVhY3RpdmUtZm9ybS1xdWljay1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3JtUXVpY2tMaXN0Q29tcGFjdENvbXBvbmVudCB9IGZyb20gJy4vcmVhY3RpdmUtZm9ybS1xdWljay1saXN0LWNvbXBhY3QvcmVhY3RpdmUtZm9ybS1xdWljay1saXN0LWNvbXBhY3QuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUXVpY2tMaXN0Q29tcG9uZW50LFxuICAgIEJhc2VRdWlja0xpc3RDb21wb25lbnQsXG4gICAgUXVpY2tMaXN0Q29tcGFjdENvbXBvbmVudCxcbiAgICBSZWFjdGl2ZUZvcm1RdWlja0xpc3RDb21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3JtUXVpY2tMaXN0Q29tcGFjdENvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBCdXR0b25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICBleHBvcnRzOiBbXG4gICAgUXVpY2tMaXN0Q29tcG9uZW50LFxuICAgIFF1aWNrTGlzdENvbXBhY3RDb21wb25lbnQsXG4gICAgQmFzZVF1aWNrTGlzdENvbXBvbmVudCxcbiAgICBSZWFjdGl2ZUZvcm1RdWlja0xpc3RDb21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3JtUXVpY2tMaXN0Q29tcGFjdENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUXVpY2tMaXN0TW9kdWxlIHt9XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2stbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9xdWljay1saXN0L3F1aWNrLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLCtFQUErRSxDQUFDOztBQXVCdEksTUFBTSxPQUFPLGVBQWU7OEdBQWYsZUFBZTsrR0FBZixlQUFlLFlBbkJ4QixZQUFZO1lBQ1osZUFBZTtZQUNmLGFBQWE7WUFDYixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFDdEIseUJBQXlCO1lBQ3pCLDhCQUE4QjtZQUM5QixxQ0FBcUMsYUFHckMsa0JBQWtCO1lBQ2xCLHlCQUF5QjtZQUN6QixzQkFBc0I7WUFDdEIsOEJBQThCO1lBQzlCLHFDQUFxQzsrR0FHNUIsZUFBZSxZQW5CeEIsWUFBWTtZQUNaLGVBQWU7WUFDZixhQUFhO1lBQ2IsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFFbEIseUJBQXlCO1lBQ3pCLDhCQUE4QjtZQUM5QixxQ0FBcUM7OzJGQVU1QixlQUFlO2tCQXJCM0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0Qix5QkFBeUI7d0JBQ3pCLDhCQUE4Qjt3QkFDOUIscUNBQXFDO3FCQUN0QztvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQix5QkFBeUI7d0JBQ3pCLHNCQUFzQjt3QkFDdEIsOEJBQThCO3dCQUM5QixxQ0FBcUM7cUJBQ3RDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgUXVpY2tMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9xdWljay1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLm1vZHVsZSc7XG5pbXBvcnQgeyBCYXNlUXVpY2tMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLXF1aWNrLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFF1aWNrTGlzdENvbXBhY3RDb21wb25lbnQgfSBmcm9tICcuL3F1aWNrLWxpc3QtY29tcGFjdC9xdWljay1saXN0LWNvbXBhY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybVF1aWNrTGlzdENvbXBvbmVudCB9IGZyb20gJy4vcmVhY3RpdmUtZm9ybS1xdWljay1saXN0L3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybVF1aWNrTGlzdENvbXBhY3RDb21wb25lbnQgfSBmcm9tICcuL3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC1jb21wYWN0L3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC1jb21wYWN0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgUXVpY2tMaXN0Q29tcG9uZW50LFxuICAgIEJhc2VRdWlja0xpc3RDb21wb25lbnQsXG4gICAgUXVpY2tMaXN0Q29tcGFjdENvbXBvbmVudCxcbiAgICBSZWFjdGl2ZUZvcm1RdWlja0xpc3RDb21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3JtUXVpY2tMaXN0Q29tcGFjdENvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFF1aWNrTGlzdENvbXBvbmVudCxcbiAgICBRdWlja0xpc3RDb21wYWN0Q29tcG9uZW50LFxuICAgIEJhc2VRdWlja0xpc3RDb21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3JtUXVpY2tMaXN0Q29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybVF1aWNrTGlzdENvbXBhY3RDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFF1aWNrTGlzdE1vZHVsZSB7fVxuIl19
@@ -1,22 +1,30 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { BaseQuickListComponent } from '../base-quick-list.component';
3
+ import { OutlineButtonComponent } from '../../button/outline-button/outline-button.component';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { IconButtonComponent } from '../../button/icon-button/icon-button.component';
6
+ import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
3
7
  import * as i0 from "@angular/core";
4
8
  import * as i1 from "@angular/forms";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/material/icon";
7
- import * as i4 from "../../button/outline-button/outline-button.component";
8
- import * as i5 from "../../button/icon-button/icon-button.component";
9
+ import * as i2 from "@angular/material/icon";
9
10
  export class ReactiveFormQuickListComponent extends BaseQuickListComponent {
10
11
  constructor(changeDetectorRef, formBuilder) {
11
12
  super(changeDetectorRef, formBuilder);
12
13
  this.changeDetectorRef = changeDetectorRef;
13
14
  this.formBuilder = formBuilder;
14
15
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ReactiveFormQuickListComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: ReactiveFormQuickListComponent, selector: "mad-reactive-form-quick-list", usesInheritance: true, ngImport: i0, template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of formArray.controls\">\n <div *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteReactiveAllowed()\" (click)=\"removeReactiveItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n\n<mad-outline-button data-cy=\"add-item-button\" *ngIf=\"!readonly\" (click)=\"addReactiveItem()\" [disabled]=\"!isAddReactiveAllowed()\">\n {{ addLabel }}\n</mad-outline-button>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.OutlineButtonComponent, selector: "mad-outline-button", inputs: ["type", "disabled", "title", "color"] }, { kind: "component", type: i5.IconButtonComponent, selector: "mad-icon-button", inputs: ["type", "disabled", "title"] }] }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ReactiveFormQuickListComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: ReactiveFormQuickListComponent, isStandalone: true, selector: "mad-reactive-form-quick-list", usesInheritance: true, ngImport: i0, template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of formArray.controls\">\n <div *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteReactiveAllowed()\" (click)=\"removeReactiveItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n\n<mad-outline-button data-cy=\"add-item-button\" *ngIf=\"!readonly\" (click)=\"addReactiveItem()\" [disabled]=\"!isAddReactiveAllowed()\">\n {{ addLabel }}\n</mad-outline-button>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconButtonComponent, selector: "mad-icon-button", inputs: ["type", "disabled", "title"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: OutlineButtonComponent, selector: "mad-outline-button", inputs: ["type", "disabled", "title", "color"] }] }); }
17
18
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ReactiveFormQuickListComponent, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ReactiveFormQuickListComponent, decorators: [{
19
20
  type: Component,
20
- args: [{ selector: 'mad-reactive-form-quick-list', template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of formArray.controls\">\n <div *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteReactiveAllowed()\" (click)=\"removeReactiveItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n\n<mad-outline-button data-cy=\"add-item-button\" *ngIf=\"!readonly\" (click)=\"addReactiveItem()\" [disabled]=\"!isAddReactiveAllowed()\">\n {{ addLabel }}\n</mad-outline-button>\n" }]
21
+ args: [{ selector: 'mad-reactive-form-quick-list', standalone: true, imports: [
22
+ NgFor,
23
+ NgIf,
24
+ NgTemplateOutlet,
25
+ IconButtonComponent,
26
+ MatIconModule,
27
+ OutlineButtonComponent,
28
+ ], template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of formArray.controls\">\n <div *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteReactiveAllowed()\" (click)=\"removeReactiveItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n\n<mad-outline-button data-cy=\"add-item-button\" *ngIf=\"!readonly\" (click)=\"addReactiveItem()\" [disabled]=\"!isAddReactiveAllowed()\">\n {{ addLabel }}\n</mad-outline-button>\n" }]
21
29
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.FormBuilder }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3RpdmUtZm9ybS1xdWljay1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL3F1aWNrLWxpc3QvcmVhY3RpdmUtZm9ybS1xdWljay1saXN0L3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9xdWljay1saXN0L3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC9yZWFjdGl2ZS1mb3JtLXF1aWNrLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFpQixNQUFNLDhCQUE4QixDQUFDOzs7Ozs7O0FBUXJGLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxzQkFBcUM7SUFDdkYsWUFDUyxpQkFBb0MsRUFDcEMsV0FBd0I7UUFFL0IsS0FBSyxDQUFDLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBSC9CLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFHakMsQ0FBQzs4R0FOVSw4QkFBOEI7a0dBQTlCLDhCQUE4QiwyRkNUM0MsaXJCQWVBOzsyRkROYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZVF1aWNrTGlzdENvbXBvbmVudCwgUXVpY2tMaXN0SXRlbSB9IGZyb20gJy4uL2Jhc2UtcXVpY2stbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hZC1yZWFjdGl2ZS1mb3JtLXF1aWNrLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVhY3RpdmUtZm9ybS1xdWljay1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVhY3RpdmVGb3JtUXVpY2tMaXN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZVF1aWNrTGlzdENvbXBvbmVudDxRdWlja0xpc3RJdGVtPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgKSB7XG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3JSZWYsIGZvcm1CdWlsZGVyKTtcbiAgfVxufVxuIiwiPGgzPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJsYWJlbFwiPjwvbmctY29udGVudD5cbjwvaDM+XG48bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZvcm1BcnJheS5jb250cm9sc1wiPlxuICA8ZGl2ICpuZ0lmPVwiaXRlbVRlbXBsYXRlXCIgI3JvdyBjbGFzcz1cInF1aWNrLWxpc3Qtcm93XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDxtYWQtaWNvbi1idXR0b24gZGF0YS1jeT1cImRlbGV0ZS1pdGVtLWJ1dHRvblwiICpuZ0lmPVwiIXJlYWRvbmx5ICYmIGlzRGVsZXRlUmVhY3RpdmVBbGxvd2VkKClcIiAoY2xpY2spPVwicmVtb3ZlUmVhY3RpdmVJdGVtKGl0ZW0pXCI+XG4gICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICA8L21hZC1pY29uLWJ1dHRvbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG1hZC1vdXRsaW5lLWJ1dHRvbiBkYXRhLWN5PVwiYWRkLWl0ZW0tYnV0dG9uXCIgKm5nSWY9XCIhcmVhZG9ubHlcIiAoY2xpY2spPVwiYWRkUmVhY3RpdmVJdGVtKClcIiBbZGlzYWJsZWRdPVwiIWlzQWRkUmVhY3RpdmVBbGxvd2VkKClcIj5cbiAge3sgYWRkTGFiZWwgfX1cbjwvbWFkLW91dGxpbmUtYnV0dG9uPlxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3RpdmUtZm9ybS1xdWljay1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL3F1aWNrLWxpc3QvcmVhY3RpdmUtZm9ybS1xdWljay1saXN0L3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9xdWljay1saXN0L3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC9yZWFjdGl2ZS1mb3JtLXF1aWNrLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFpQixNQUFNLDhCQUE4QixDQUFDO0FBRXJGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBZ0JoRSxNQUFNLE9BQU8sOEJBQStCLFNBQVEsc0JBQXFDO0lBQ3ZGLFlBQ1MsaUJBQW9DLEVBQ3BDLFdBQXdCO1FBRS9CLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUgvQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBR2pDLENBQUM7OEdBTlUsOEJBQThCO2tHQUE5Qiw4QkFBOEIsK0dDdEIzQyxpckJBZUEsNENERFEsS0FBSyxtSEFDTCxJQUFJLDZGQUNKLGdCQUFnQixvSkFDaEIsbUJBQW1CLGtHQUNuQixhQUFhLG9MQUNiLHNCQUFzQjs7MkZBR2pCLDhCQUE4QjtrQkFkMUMsU0FBUzsrQkFDSSw4QkFBOEIsY0FHNUIsSUFBSSxXQUNQO3dCQUNMLEtBQUs7d0JBQ0wsSUFBSTt3QkFDSixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixzQkFBc0I7cUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZVF1aWNrTGlzdENvbXBvbmVudCwgUXVpY2tMaXN0SXRlbSB9IGZyb20gJy4uL2Jhc2UtcXVpY2stbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPdXRsaW5lQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uL291dGxpbmUtYnV0dG9uL291dGxpbmUtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbWFkLXJlYWN0aXZlLWZvcm0tcXVpY2stbGlzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdGb3IsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIEljb25CdXR0b25Db21wb25lbnQsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE91dGxpbmVCdXR0b25Db21wb25lbnQsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVhY3RpdmVGb3JtUXVpY2tMaXN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZVF1aWNrTGlzdENvbXBvbmVudDxRdWlja0xpc3RJdGVtPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgKSB7XG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3JSZWYsIGZvcm1CdWlsZGVyKTtcbiAgfVxufVxuIiwiPGgzPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJsYWJlbFwiPjwvbmctY29udGVudD5cbjwvaDM+XG48bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZvcm1BcnJheS5jb250cm9sc1wiPlxuICA8ZGl2ICpuZ0lmPVwiaXRlbVRlbXBsYXRlXCIgI3JvdyBjbGFzcz1cInF1aWNrLWxpc3Qtcm93XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDxtYWQtaWNvbi1idXR0b24gZGF0YS1jeT1cImRlbGV0ZS1pdGVtLWJ1dHRvblwiICpuZ0lmPVwiIXJlYWRvbmx5ICYmIGlzRGVsZXRlUmVhY3RpdmVBbGxvd2VkKClcIiAoY2xpY2spPVwicmVtb3ZlUmVhY3RpdmVJdGVtKGl0ZW0pXCI+XG4gICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICA8L21hZC1pY29uLWJ1dHRvbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG1hZC1vdXRsaW5lLWJ1dHRvbiBkYXRhLWN5PVwiYWRkLWl0ZW0tYnV0dG9uXCIgKm5nSWY9XCIhcmVhZG9ubHlcIiAoY2xpY2spPVwiYWRkUmVhY3RpdmVJdGVtKClcIiBbZGlzYWJsZWRdPVwiIWlzQWRkUmVhY3RpdmVBbGxvd2VkKClcIj5cbiAge3sgYWRkTGFiZWwgfX1cbjwvbWFkLW91dGxpbmUtYnV0dG9uPlxuIl19
@@ -1,22 +1,30 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { BaseQuickListComponent } from '../base-quick-list.component';
3
+ import { LinkButtonComponent } from '../../button/flat-button/link-button.component';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { IconButtonComponent } from '../../button/icon-button/icon-button.component';
6
+ import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
3
7
  import * as i0 from "@angular/core";
4
8
  import * as i1 from "@angular/forms";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/material/icon";
7
- import * as i4 from "../../button/flat-button/link-button.component";
8
- import * as i5 from "../../button/icon-button/icon-button.component";
9
+ import * as i2 from "@angular/material/icon";
9
10
  export class ReactiveFormQuickListCompactComponent extends BaseQuickListComponent {
10
11
  constructor(changeDetectorRef, formBuilder) {
11
12
  super(changeDetectorRef, formBuilder);
12
13
  this.changeDetectorRef = changeDetectorRef;
13
14
  this.formBuilder = formBuilder;
14
15
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ReactiveFormQuickListCompactComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: ReactiveFormQuickListCompactComponent, selector: "mad-reactive-form-quick-list-compact", usesInheritance: true, ngImport: i0, template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of formArray.controls; let isLast = last\">\n <div *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteReactiveAllowed()\" (click)=\"removeReactiveItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n <mad-icon-button data-cy=\"add-item-button\" *ngIf=\"!readonly && isLast\" [disabled]=\"!isAddReactiveAllowed()\" (click)=\"addReactiveItem()\">\n <mat-icon>add_circle_outline</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n<mad-link-button data-cy=\"add-first-item-button\" *ngIf=\"!readonly && !this.formArray?.controls.length\" (click)=\"addReactiveItem()\" [disabled]=\"!isAddReactiveAllowed()\">\n {{ addLabel }}\n</mad-link-button>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.LinkButtonComponent, selector: "mad-link-button", inputs: ["type", "disabled", "title"] }, { kind: "component", type: i5.IconButtonComponent, selector: "mad-icon-button", inputs: ["type", "disabled", "title"] }] }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ReactiveFormQuickListCompactComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: ReactiveFormQuickListCompactComponent, isStandalone: true, selector: "mad-reactive-form-quick-list-compact", usesInheritance: true, ngImport: i0, template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of formArray.controls; let isLast = last\">\n <div *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteReactiveAllowed()\" (click)=\"removeReactiveItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n <mad-icon-button data-cy=\"add-item-button\" *ngIf=\"!readonly && isLast\" [disabled]=\"!isAddReactiveAllowed()\" (click)=\"addReactiveItem()\">\n <mat-icon>add_circle_outline</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n<mad-link-button data-cy=\"add-first-item-button\" *ngIf=\"!readonly && !this.formArray?.controls.length\" (click)=\"addReactiveItem()\" [disabled]=\"!isAddReactiveAllowed()\">\n {{ addLabel }}\n</mad-link-button>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconButtonComponent, selector: "mad-icon-button", inputs: ["type", "disabled", "title"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: LinkButtonComponent, selector: "mad-link-button", inputs: ["type", "disabled", "title"] }] }); }
17
18
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ReactiveFormQuickListCompactComponent, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ReactiveFormQuickListCompactComponent, decorators: [{
19
20
  type: Component,
20
- args: [{ selector: 'mad-reactive-form-quick-list-compact', template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of formArray.controls; let isLast = last\">\n <div *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteReactiveAllowed()\" (click)=\"removeReactiveItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n <mad-icon-button data-cy=\"add-item-button\" *ngIf=\"!readonly && isLast\" [disabled]=\"!isAddReactiveAllowed()\" (click)=\"addReactiveItem()\">\n <mat-icon>add_circle_outline</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n<mad-link-button data-cy=\"add-first-item-button\" *ngIf=\"!readonly && !this.formArray?.controls.length\" (click)=\"addReactiveItem()\" [disabled]=\"!isAddReactiveAllowed()\">\n {{ addLabel }}\n</mad-link-button>\n" }]
21
+ args: [{ selector: 'mad-reactive-form-quick-list-compact', standalone: true, imports: [
22
+ NgFor,
23
+ NgIf,
24
+ NgTemplateOutlet,
25
+ IconButtonComponent,
26
+ MatIconModule,
27
+ LinkButtonComponent,
28
+ ], template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of formArray.controls; let isLast = last\">\n <div *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteReactiveAllowed()\" (click)=\"removeReactiveItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n <mad-icon-button data-cy=\"add-item-button\" *ngIf=\"!readonly && isLast\" [disabled]=\"!isAddReactiveAllowed()\" (click)=\"addReactiveItem()\">\n <mat-icon>add_circle_outline</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n<mad-link-button data-cy=\"add-first-item-button\" *ngIf=\"!readonly && !this.formArray?.controls.length\" (click)=\"addReactiveItem()\" [disabled]=\"!isAddReactiveAllowed()\">\n {{ addLabel }}\n</mad-link-button>\n" }]
21
29
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.FormBuilder }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3RpdmUtZm9ybS1xdWljay1saXN0LWNvbXBhY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvcXVpY2stbGlzdC9yZWFjdGl2ZS1mb3JtLXF1aWNrLWxpc3QtY29tcGFjdC9yZWFjdGl2ZS1mb3JtLXF1aWNrLWxpc3QtY29tcGFjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9xdWljay1saXN0L3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC1jb21wYWN0L3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC1jb21wYWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxzQkFBc0IsRUFBaUIsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7OztBQU9yRixNQUFNLE9BQU8scUNBQXNDLFNBQVEsc0JBQXFDO0lBQzlGLFlBQ1MsaUJBQW9DLEVBQ3BDLFdBQXdCO1FBRS9CLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUgvQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBR2pDLENBQUM7OEdBTlUscUNBQXFDO2tHQUFyQyxxQ0FBcUMsbUdDVGxELG04QkFpQkE7OzJGRFJhLHFDQUFxQztrQkFMakQsU0FBUzsrQkFDRSxzQ0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJhc2VRdWlja0xpc3RDb21wb25lbnQsIFF1aWNrTGlzdEl0ZW0gfSBmcm9tICcuLi9iYXNlLXF1aWNrLWxpc3QuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFkLXJlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC1jb21wYWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC1jb21wYWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVhY3RpdmVGb3JtUXVpY2tMaXN0Q29tcGFjdENvbXBvbmVudCBleHRlbmRzIEJhc2VRdWlja0xpc3RDb21wb25lbnQ8UXVpY2tMaXN0SXRlbT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICkge1xuICAgIHN1cGVyKGNoYW5nZURldGVjdG9yUmVmLCBmb3JtQnVpbGRlcik7XG4gIH1cbn1cbiIsIjxoMz5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibGFiZWxcIj48L25nLWNvbnRlbnQ+XG48L2gzPlxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmb3JtQXJyYXkuY29udHJvbHM7IGxldCBpc0xhc3QgPSBsYXN0XCI+XG4gIDxkaXYgKm5nSWY9XCJpdGVtVGVtcGxhdGVcIiAjcm93IGNsYXNzPVwicXVpY2stbGlzdC1yb3dcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPG1hZC1pY29uLWJ1dHRvbiBkYXRhLWN5PVwiZGVsZXRlLWl0ZW0tYnV0dG9uXCIgKm5nSWY9XCIhcmVhZG9ubHkgJiYgaXNEZWxldGVSZWFjdGl2ZUFsbG93ZWQoKVwiIChjbGljayk9XCJyZW1vdmVSZWFjdGl2ZUl0ZW0oaXRlbSlcIj5cbiAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgIDwvbWFkLWljb24tYnV0dG9uPlxuICAgIDxtYWQtaWNvbi1idXR0b24gZGF0YS1jeT1cImFkZC1pdGVtLWJ1dHRvblwiICpuZ0lmPVwiIXJlYWRvbmx5ICYmIGlzTGFzdFwiIFtkaXNhYmxlZF09XCIhaXNBZGRSZWFjdGl2ZUFsbG93ZWQoKVwiIChjbGljayk9XCJhZGRSZWFjdGl2ZUl0ZW0oKVwiPlxuICAgICAgPG1hdC1pY29uPmFkZF9jaXJjbGVfb3V0bGluZTwvbWF0LWljb24+XG4gICAgPC9tYWQtaWNvbi1idXR0b24+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG48bWFkLWxpbmstYnV0dG9uIGRhdGEtY3k9XCJhZGQtZmlyc3QtaXRlbS1idXR0b25cIiAqbmdJZj1cIiFyZWFkb25seSAmJiAhdGhpcy5mb3JtQXJyYXk/LmNvbnRyb2xzLmxlbmd0aFwiIChjbGljayk9XCJhZGRSZWFjdGl2ZUl0ZW0oKVwiIFtkaXNhYmxlZF09XCIhaXNBZGRSZWFjdGl2ZUFsbG93ZWQoKVwiPlxuICB7eyBhZGRMYWJlbCB9fVxuPC9tYWQtbGluay1idXR0b24+XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3RpdmUtZm9ybS1xdWljay1saXN0LWNvbXBhY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvcXVpY2stbGlzdC9yZWFjdGl2ZS1mb3JtLXF1aWNrLWxpc3QtY29tcGFjdC9yZWFjdGl2ZS1mb3JtLXF1aWNrLWxpc3QtY29tcGFjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9xdWljay1saXN0L3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC1jb21wYWN0L3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC1jb21wYWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxzQkFBc0IsRUFBaUIsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQWdCaEUsTUFBTSxPQUFPLHFDQUFzQyxTQUFRLHNCQUFxQztJQUM5RixZQUNTLGlCQUFvQyxFQUNwQyxXQUF3QjtRQUUvQixLQUFLLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFIL0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUdqQyxDQUFDOzhHQU5VLHFDQUFxQztrR0FBckMscUNBQXFDLHVIQ3RCbEQsbThCQWlCQSw0Q0RIUSxLQUFLLG1IQUNMLElBQUksNkZBQ0osZ0JBQWdCLG9KQUNoQixtQkFBbUIsa0dBQ25CLGFBQWEsb0xBQ2IsbUJBQW1COzsyRkFHZCxxQ0FBcUM7a0JBZGpELFNBQVM7K0JBQ0ksc0NBQXNDLGNBR3BDLElBQUksV0FDUDt3QkFDTCxLQUFLO3dCQUNMLElBQUk7d0JBQ0osZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsbUJBQW1CO3FCQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmFzZVF1aWNrTGlzdENvbXBvbmVudCwgUXVpY2tMaXN0SXRlbSB9IGZyb20gJy4uL2Jhc2UtcXVpY2stbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlua0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2J1dHRvbi9mbGF0LWJ1dHRvbi9saW5rLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgSWNvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2J1dHRvbi9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ21hZC1yZWFjdGl2ZS1mb3JtLXF1aWNrLWxpc3QtY29tcGFjdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC1jb21wYWN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFtdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0ZvcixcbiAgICAgICAgTmdJZixcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgSWNvbkJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTGlua0J1dHRvbkNvbXBvbmVudCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBSZWFjdGl2ZUZvcm1RdWlja0xpc3RDb21wYWN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZVF1aWNrTGlzdENvbXBvbmVudDxRdWlja0xpc3RJdGVtPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgKSB7XG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3JSZWYsIGZvcm1CdWlsZGVyKTtcbiAgfVxufVxuIiwiPGgzPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJsYWJlbFwiPjwvbmctY29udGVudD5cbjwvaDM+XG48bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZvcm1BcnJheS5jb250cm9sczsgbGV0IGlzTGFzdCA9IGxhc3RcIj5cbiAgPGRpdiAqbmdJZj1cIml0ZW1UZW1wbGF0ZVwiICNyb3cgY2xhc3M9XCJxdWljay1saXN0LXJvd1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bWFkLWljb24tYnV0dG9uIGRhdGEtY3k9XCJkZWxldGUtaXRlbS1idXR0b25cIiAqbmdJZj1cIiFyZWFkb25seSAmJiBpc0RlbGV0ZVJlYWN0aXZlQWxsb3dlZCgpXCIgKGNsaWNrKT1cInJlbW92ZVJlYWN0aXZlSXRlbShpdGVtKVwiPlxuICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgPC9tYWQtaWNvbi1idXR0b24+XG4gICAgPG1hZC1pY29uLWJ1dHRvbiBkYXRhLWN5PVwiYWRkLWl0ZW0tYnV0dG9uXCIgKm5nSWY9XCIhcmVhZG9ubHkgJiYgaXNMYXN0XCIgW2Rpc2FibGVkXT1cIiFpc0FkZFJlYWN0aXZlQWxsb3dlZCgpXCIgKGNsaWNrKT1cImFkZFJlYWN0aXZlSXRlbSgpXCI+XG4gICAgICA8bWF0LWljb24+YWRkX2NpcmNsZV9vdXRsaW5lPC9tYXQtaWNvbj5cbiAgICA8L21hZC1pY29uLWJ1dHRvbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxtYWQtbGluay1idXR0b24gZGF0YS1jeT1cImFkZC1maXJzdC1pdGVtLWJ1dHRvblwiICpuZ0lmPVwiIXJlYWRvbmx5ICYmICF0aGlzLmZvcm1BcnJheT8uY29udHJvbHMubGVuZ3RoXCIgKGNsaWNrKT1cImFkZFJlYWN0aXZlSXRlbSgpXCIgW2Rpc2FibGVkXT1cIiFpc0FkZFJlYWN0aXZlQWxsb3dlZCgpXCI+XG4gIHt7IGFkZExhYmVsIH19XG48L21hZC1saW5rLWJ1dHRvbj5cbiJdfQ==
@@ -1,14 +1,20 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
2
  import { NumberFormatService } from '../../numeric-field/number-format.service';
3
+ import { MatIconModule } from '@angular/material/icon';
4
+ import { TextFieldModule } from '@angular/cdk/text-field';
5
+ import { MatTooltipModule } from '@angular/material/tooltip';
6
+ import { FormsModule } from '@angular/forms';
7
+ import { MatInputModule } from '@angular/material/input';
8
+ import { NgIf, NgStyle, NgClass } from '@angular/common';
9
+ import { MatFormFieldModule } from '@angular/material/form-field';
3
10
  import * as i0 from "@angular/core";
4
11
  import * as i1 from "../../numeric-field/number-format.service";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/material/form-field";
7
- import * as i4 from "@angular/material/input";
8
- import * as i5 from "@angular/cdk/text-field";
9
- import * as i6 from "@angular/forms";
10
- import * as i7 from "@angular/material/tooltip";
11
- import * as i8 from "@angular/material/icon";
12
+ import * as i2 from "@angular/material/form-field";
13
+ import * as i3 from "@angular/material/input";
14
+ import * as i4 from "@angular/cdk/text-field";
15
+ import * as i5 from "@angular/forms";
16
+ import * as i6 from "@angular/material/tooltip";
17
+ import * as i7 from "@angular/material/icon";
12
18
  /**
13
19
  * Read-only mat-form-field representation of provided value
14
20
  *
@@ -170,12 +176,12 @@ export class ReadOnlyFormFieldComponent {
170
176
  }
171
177
  return this.unitPosition === 'left' ? this.unit + ' ' + this.value : this.value + ' ' + this.unit;
172
178
  }
173
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ReadOnlyFormFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1.NumberFormatService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
174
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: ReadOnlyFormFieldComponent, selector: "mad-readonly-form-field", inputs: { useProjectedContent: "useProjectedContent", value: "value", label: "label", textAlign: "textAlign", formatNumber: "formatNumber", decimalPlaces: "decimalPlaces", roundValue: ["roundDisplayValue", "roundValue"], autofillDecimals: "autofillDecimals", unit: "unit", unitPosition: "unitPosition", errorMessage: "errorMessage", multiline: "multiline", rows: "rows", id: "id", shrinkIfEmpty: "shrinkIfEmpty", suffix: "suffix", prefix: "prefix", multilineAutoSize: "multilineAutoSize" }, outputs: { suffixClickedEmitter: "suffixClickedEmitter", prefixClickedEmitter: "prefixClickedEmitter" }, viewQueries: [{ propertyName: "originalContent", first: true, predicate: ["contentWrapper"], descendants: true }, { propertyName: "inputEl", first: true, predicate: ["inputEl"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-form-field class=\"form-group mad-read-only\">\n <mat-label>{{ label }}</mat-label>\n <input\n *ngIf=\"!multiline\"\n [ngStyle]=\"{ display: useProjectedContent ? 'none' : 'block' }\"\n [ngModel]=\"value\"\n [ngClass]=\"'text-' + textAlign + ' content'\"\n [errorStateMatcher]=\"errorMatcher\"\n [id]=\"id\"\n readonly\n [disabled]=\"!useProjectedContent\"\n matInput\n #inputEl\n matTooltip=\"{{ toolTipText }}\"\n matTooltipPosition=\"right\"\n matTooltipClass=\"custom-tooltip\"\n matTooltipDisabled=\"{{ !toolTipForInputEnabled }}\"\n />\n\n <textarea\n *ngIf=\"multiline\"\n [ngStyle]=\"{ display: useProjectedContent ? 'none' : 'block' }\"\n [rows]=\"rows\"\n [ngModel]=\"value\"\n class=\"multiline content\"\n [errorStateMatcher]=\"errorMatcher\"\n [id]=\"id\"\n readonly\n [disabled]=\"!useProjectedContent\"\n matInput\n [cdkTextareaAutosize]=\"multilineAutoSize\"\n ></textarea>\n <ng-content *ngIf=\"useProjectedContent\" />\n <mat-error>{{ errorMessage }}</mat-error>\n <mat-icon data-cy=\"suffix-icon\" *ngIf=\"suffix\" (click)=\"suffixClicked()\" class=\"pointer\" color=\"primary\" matSuffix>{{ suffix }}</mat-icon>\n <mat-icon data-cy=\"prefix-icon\" *ngIf=\"prefix\" (click)=\"prefixClicked()\" class=\"pointer\" color=\"primary\" matPrefix>{{ prefix }}</mat-icon>\n</mat-form-field>\n", styles: ["mat-form-field{width:100%;width:-webkit-fill-available;width:-moz-available;width:stretch}mat-label{line-height:1.4}span[matPrefix]{padding-right:5px}span[matSuffix]{padding-left:5px}.text-left{text-align:left}.text-right{text-align:right}.multiline{resize:none}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i5.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
179
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ReadOnlyFormFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1.NumberFormatService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
180
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: ReadOnlyFormFieldComponent, isStandalone: true, selector: "mad-readonly-form-field", inputs: { useProjectedContent: "useProjectedContent", value: "value", label: "label", textAlign: "textAlign", formatNumber: "formatNumber", decimalPlaces: "decimalPlaces", roundValue: ["roundDisplayValue", "roundValue"], autofillDecimals: "autofillDecimals", unit: "unit", unitPosition: "unitPosition", errorMessage: "errorMessage", multiline: "multiline", rows: "rows", id: "id", shrinkIfEmpty: "shrinkIfEmpty", suffix: "suffix", prefix: "prefix", multilineAutoSize: "multilineAutoSize" }, outputs: { suffixClickedEmitter: "suffixClickedEmitter", prefixClickedEmitter: "prefixClickedEmitter" }, viewQueries: [{ propertyName: "originalContent", first: true, predicate: ["contentWrapper"], descendants: true }, { propertyName: "inputEl", first: true, predicate: ["inputEl"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-form-field class=\"form-group mad-read-only\">\n <mat-label>{{ label }}</mat-label>\n <input\n *ngIf=\"!multiline\"\n [ngStyle]=\"{ display: useProjectedContent ? 'none' : 'block' }\"\n [ngModel]=\"value\"\n [ngClass]=\"'text-' + textAlign + ' content'\"\n [errorStateMatcher]=\"errorMatcher\"\n [id]=\"id\"\n readonly\n [disabled]=\"!useProjectedContent\"\n matInput\n #inputEl\n matTooltip=\"{{ toolTipText }}\"\n matTooltipPosition=\"right\"\n matTooltipClass=\"custom-tooltip\"\n matTooltipDisabled=\"{{ !toolTipForInputEnabled }}\"\n />\n\n <textarea\n *ngIf=\"multiline\"\n [ngStyle]=\"{ display: useProjectedContent ? 'none' : 'block' }\"\n [rows]=\"rows\"\n [ngModel]=\"value\"\n class=\"multiline content\"\n [errorStateMatcher]=\"errorMatcher\"\n [id]=\"id\"\n readonly\n [disabled]=\"!useProjectedContent\"\n matInput\n [cdkTextareaAutosize]=\"multilineAutoSize\"\n ></textarea>\n <ng-content *ngIf=\"useProjectedContent\" />\n <mat-error>{{ errorMessage }}</mat-error>\n <mat-icon data-cy=\"suffix-icon\" *ngIf=\"suffix\" (click)=\"suffixClicked()\" class=\"pointer\" color=\"primary\" matSuffix>{{ suffix }}</mat-icon>\n <mat-icon data-cy=\"prefix-icon\" *ngIf=\"prefix\" (click)=\"prefixClicked()\" class=\"pointer\" color=\"primary\" matPrefix>{{ prefix }}</mat-icon>\n</mat-form-field>\n", styles: ["mat-form-field{width:100%;width:-moz-available;width:-webkit-fill-available;width:stretch}mat-label{line-height:1.4}span[matPrefix]{padding-right:5px}span[matSuffix]{padding-left:5px}.text-left{text-align:left}.text-right{text-align:right}.multiline{resize:none}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
175
181
  }
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ReadOnlyFormFieldComponent, decorators: [{
182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ReadOnlyFormFieldComponent, decorators: [{
177
183
  type: Component,
178
- args: [{ selector: 'mad-readonly-form-field', template: "<mat-form-field class=\"form-group mad-read-only\">\n <mat-label>{{ label }}</mat-label>\n <input\n *ngIf=\"!multiline\"\n [ngStyle]=\"{ display: useProjectedContent ? 'none' : 'block' }\"\n [ngModel]=\"value\"\n [ngClass]=\"'text-' + textAlign + ' content'\"\n [errorStateMatcher]=\"errorMatcher\"\n [id]=\"id\"\n readonly\n [disabled]=\"!useProjectedContent\"\n matInput\n #inputEl\n matTooltip=\"{{ toolTipText }}\"\n matTooltipPosition=\"right\"\n matTooltipClass=\"custom-tooltip\"\n matTooltipDisabled=\"{{ !toolTipForInputEnabled }}\"\n />\n\n <textarea\n *ngIf=\"multiline\"\n [ngStyle]=\"{ display: useProjectedContent ? 'none' : 'block' }\"\n [rows]=\"rows\"\n [ngModel]=\"value\"\n class=\"multiline content\"\n [errorStateMatcher]=\"errorMatcher\"\n [id]=\"id\"\n readonly\n [disabled]=\"!useProjectedContent\"\n matInput\n [cdkTextareaAutosize]=\"multilineAutoSize\"\n ></textarea>\n <ng-content *ngIf=\"useProjectedContent\" />\n <mat-error>{{ errorMessage }}</mat-error>\n <mat-icon data-cy=\"suffix-icon\" *ngIf=\"suffix\" (click)=\"suffixClicked()\" class=\"pointer\" color=\"primary\" matSuffix>{{ suffix }}</mat-icon>\n <mat-icon data-cy=\"prefix-icon\" *ngIf=\"prefix\" (click)=\"prefixClicked()\" class=\"pointer\" color=\"primary\" matPrefix>{{ prefix }}</mat-icon>\n</mat-form-field>\n", styles: ["mat-form-field{width:100%;width:-webkit-fill-available;width:-moz-available;width:stretch}mat-label{line-height:1.4}span[matPrefix]{padding-right:5px}span[matSuffix]{padding-left:5px}.text-left{text-align:left}.text-right{text-align:right}.multiline{resize:none}\n"] }]
184
+ args: [{ selector: 'mad-readonly-form-field', standalone: true, imports: [MatFormFieldModule, NgIf, MatInputModule, FormsModule, NgStyle, NgClass, MatTooltipModule, TextFieldModule, MatIconModule], template: "<mat-form-field class=\"form-group mad-read-only\">\n <mat-label>{{ label }}</mat-label>\n <input\n *ngIf=\"!multiline\"\n [ngStyle]=\"{ display: useProjectedContent ? 'none' : 'block' }\"\n [ngModel]=\"value\"\n [ngClass]=\"'text-' + textAlign + ' content'\"\n [errorStateMatcher]=\"errorMatcher\"\n [id]=\"id\"\n readonly\n [disabled]=\"!useProjectedContent\"\n matInput\n #inputEl\n matTooltip=\"{{ toolTipText }}\"\n matTooltipPosition=\"right\"\n matTooltipClass=\"custom-tooltip\"\n matTooltipDisabled=\"{{ !toolTipForInputEnabled }}\"\n />\n\n <textarea\n *ngIf=\"multiline\"\n [ngStyle]=\"{ display: useProjectedContent ? 'none' : 'block' }\"\n [rows]=\"rows\"\n [ngModel]=\"value\"\n class=\"multiline content\"\n [errorStateMatcher]=\"errorMatcher\"\n [id]=\"id\"\n readonly\n [disabled]=\"!useProjectedContent\"\n matInput\n [cdkTextareaAutosize]=\"multilineAutoSize\"\n ></textarea>\n <ng-content *ngIf=\"useProjectedContent\" />\n <mat-error>{{ errorMessage }}</mat-error>\n <mat-icon data-cy=\"suffix-icon\" *ngIf=\"suffix\" (click)=\"suffixClicked()\" class=\"pointer\" color=\"primary\" matSuffix>{{ suffix }}</mat-icon>\n <mat-icon data-cy=\"prefix-icon\" *ngIf=\"prefix\" (click)=\"prefixClicked()\" class=\"pointer\" color=\"primary\" matPrefix>{{ prefix }}</mat-icon>\n</mat-form-field>\n", styles: ["mat-form-field{width:100%;width:-moz-available;width:-webkit-fill-available;width:stretch}mat-label{line-height:1.4}span[matPrefix]{padding-right:5px}span[matSuffix]{padding-left:5px}.text-left{text-align:left}.text-right{text-align:right}.multiline{resize:none}\n"] }]
179
185
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i1.NumberFormatService }, { type: i0.ElementRef }], propDecorators: { originalContent: [{
180
186
  type: ViewChild,
181
187
  args: ['contentWrapper', { static: false }]
@@ -234,4 +240,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
234
240
  type: ViewChild,
235
241
  args: ['inputEl']
236
242
  }] } });
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHktZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9yZWFkb25seS9yZWFkb25seS1mb3JtLWZpZWxkL3JlYWRvbmx5LWZvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvcmVhZG9ubHkvcmVhZG9ubHktZm9ybS1maWVsZC9yZWFkb25seS1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBR04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7Ozs7O0FBRTlFOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8sMEJBQTBCO0lBaURyQyxZQUNVLGNBQWlDLEVBQ2pDLFFBQW1CLEVBQ25CLG1CQUF3QyxFQUN4QyxVQUFzQjtRQUh0QixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFsREYsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBRy9DLGNBQVMsR0FBcUIsTUFBTSxDQUFDO1FBQ2xDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNwQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDckMsU0FBSSxHQUFrQixJQUFJLENBQUM7UUFDbkIsaUJBQVksR0FBcUIsTUFBTSxDQUFDO1FBQ3hDLGlC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WTtzQkFBbEMsS0FBSzt1QkFBQyxjQUFjO2dCQUNaLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFPRyxhQUFhO3NCQUFyQixLQUFLO2dCQUlHLE1BQU07c0JBQWQsS0FBSztnQkFJRyxNQUFNO3NCQUFkLEtBQUs7Z0JBSUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNJLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ2UsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RXJyb3JTdGF0ZU1hdGNoZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtOdW1iZXJGb3JtYXRTZXJ2aWNlfSBmcm9tICcuLi8uLi9udW1lcmljLWZpZWxkL251bWJlci1mb3JtYXQuc2VydmljZSc7XG5cbi8qKlxuICogUmVhZC1vbmx5IG1hdC1mb3JtLWZpZWxkIHJlcHJlc2VudGF0aW9uIG9mIHByb3ZpZGVkIHZhbHVlXG4gKlxuICogQGF1dGhvciBTdGVmYW4gTGFlc3NlclxuICovXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hZC1yZWFkb25seS1mb3JtLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlYWRvbmx5LWZvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWFkb25seS1mb3JtLWZpZWxkLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVhZE9ubHlGb3JtRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0NoZWNrZWQge1xuICBAVmlld0NoaWxkKCdjb250ZW50V3JhcHBlcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBvcmlnaW5hbENvbnRlbnQ6IEVsZW1lbnRSZWY7XG4gIEBJbnB1dCgndXNlUHJvamVjdGVkQ29udGVudCcpIHVzZVByb2plY3RlZENvbnRlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCd2YWx1ZScpIHZhbHVlPzogYW55O1xuICBASW5wdXQoJ2xhYmVsJykgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCd0ZXh0QWxpZ24nKSB0ZXh0QWxpZ246ICdyaWdodCcgfCAnbGVmdCcgPSAnbGVmdCc7XG4gIEBJbnB1dCgnZm9ybWF0TnVtYmVyJykgZm9ybWF0TnVtYmVyID0gZmFsc2U7XG4gIEBJbnB1dCgnZGVjaW1hbFBsYWNlcycpIGRlY2ltYWxQbGFjZXMgPSAyO1xuICBASW5wdXQoJ3JvdW5kRGlzcGxheVZhbHVlJykgcm91bmRWYWx1ZSA9IGZhbHNlO1xuICBASW5wdXQoJ2F1dG9maWxsRGVjaW1hbHMnKSBhdXRvZmlsbERlY2ltYWxzID0gZmFsc2U7XG4gIEBJbnB1dCgndW5pdCcpIHVuaXQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoJ3VuaXRQb3NpdGlvbicpIHVuaXRQb3NpdGlvbjogJ3JpZ2h0JyB8ICdsZWZ0JyA9ICdsZWZ0JztcbiAgQElucHV0KCdlcnJvck1lc3NhZ2UnKSBlcnJvck1lc3NhZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBtdWx0aWxpbmUgPSBmYWxzZTtcbiAgQElucHV0KCkgcm93czogbnVtYmVyO1xuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICAvKlxuICAgKiBJZiBzaHJpbmtJZkVtcHR5IGlzIHNldCB0byBcImZhbHNlXCIsIG5vdGhpbmcgY2hhbmdlc1xuICAgKiBJZiBzZXQgdG8gXCJ0cnVlXCIgYW5kIG11bHRpbGluZSBpcyBhbHNvIFwidHJ1ZVwiLCB0aGUgdGV4dGFyZWEgd2lsbFxuICAgKiBzaHJpbmsgdG8gb25lIHJvdywgaWYgdmFsdWUgaXMgZW1wdHkvbnVsbC91bmRlZmluZWQuXG4gICAqIE90aGVyd2lzZSwgdGhlIGRlZmluZWQgcm93cy12YWx1ZSB3aWxsIGJlIHVzZWRcbiAgICovXG4gIEBJbnB1dCgpIHNocmlua0lmRW1wdHkgPSBmYWxzZTtcbiAgLyoqXG4gICAqIHN1ZmZpeCBpb2NvblxuICAgKi9cbiAgQElucHV0KCkgc3VmZml4OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBwcmVmaXggaW9jb25cbiAgICovXG4gIEBJbnB1dCgpIHByZWZpeDogc3RyaW5nO1xuICAvKipcbiAgICogaWYgY2RrVGV4dGFyZWFBdXRvc2l6ZSBpcyBhY3RpdmUgZm9yIHRleHRhcmVhc1xuICAgKi9cbiAgQElucHV0KCkgbXVsdGlsaW5lQXV0b1NpemUgPSBmYWxzZTtcbiAgQE91dHB1dCgpIHN1ZmZpeENsaWNrZWRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHJlZml4Q2xpY2tlZEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWwnKSBpbnB1dEVsOiBFbGVtZW50UmVmO1xuICBlcnJvck1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyID0ge1xuICAgIGlzRXJyb3JTdGF0ZTogKCkgPT4gISF0aGlzLmVycm9yTWVzc2FnZSxcbiAgfTtcblxuICBwcml2YXRlIHVuaXRTcGFuOiBIVE1MU3BhbkVsZW1lbnQ7XG4gIHByaXZhdGUgdGV4dFNwYW46IEhUTUxTcGFuRWxlbWVudDtcblxuICB0b29sVGlwRm9ySW5wdXRFbmFibGVkID0gZmFsc2U7XG4gIHRvb2xUaXBUZXh0OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgbnVtYmVyRm9ybWF0U2VydmljZTogTnVtYmVyRm9ybWF0U2VydmljZSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICkge31cblxuICBuZ09uQ2hhbmdlcyhfOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCFOdW1iZXJGb3JtYXRTZXJ2aWNlLnZhbHVlSXNTZXQodGhpcy52YWx1ZSkpIHtcbiAgICAgIHRoaXMudmFsdWUgPSAnLSc7XG4gICAgICBpZiAodGhpcy5zaHJpbmtJZkVtcHR5KSB7XG4gICAgICAgIHRoaXMucm93cyA9IDE7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmZvcm1hdE51bWJlciAmJiB0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm51bWJlckZvcm1hdFNlcnZpY2UuZm9ybWF0KHRoaXMudmFsdWUsIHtcbiAgICAgICAgZGVjaW1hbFBsYWNlczogdGhpcy5kZWNpbWFsUGxhY2VzLFxuICAgICAgICBmaW5hbEZvcm1hdHRpbmc6IHRydWUsXG4gICAgICAgIGF1dG9maWxsRGVjaW1hbHM6IHRoaXMuYXV0b2ZpbGxEZWNpbWFscyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8vIFRPRE8gZGlyZWN0IGNvcHkgZnJvbSBOdW1lcmljRmllbGREaXJlY3RpdmVcbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuaW5qZWN0VW5pdFN5bWJvbCgpO1xuICAgIC8vIElmIHVzZVByb2plY3RlZENvbnRlbnQgaXMgc2V0IHRvIHRydWUsIHRoZSBpbnB1dCB3b250IGJlIHNob3dcbiAgICBpZiAoIXRoaXMudXNlUHJvamVjdGVkQ29udGVudCl7XG4gICAgICB0aGlzLnNldFJlYWRvbmx5RmllbGRTdHlsZSgpO1xuICAgICAgdGhpcy5zZXRUb29sdGlwRm9yT3ZlcmZsb3duRmllbGQoKTtcbiAgICB9XG4gIH1cblxuICBzdWZmaXhDbGlja2VkKCkge1xuICAgIHRoaXMuc3VmZml4Q2xpY2tlZEVtaXR0ZXIuZW1pdChudWxsKTtcbiAgfVxuXG4gIHByZWZpeENsaWNrZWQoKSB7XG4gICAgdGhpcy5wcmVmaXhDbGlja2VkRW1pdHRlci5lbWl0KG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbmplY3RVbml0U3ltYm9sKCk6IHZvaWQge1xuICAgIC8vIE5lZWQgdG8gaW5qZWN0IHRoZSB1bml0IHN5bWJvbCB3aGVuIHRoZSBpbnB1dCBlbGVtZW50IHdpZHRoIGlzIHNldCB0byBpdHMgYWN0dWFsIHZhbHVlLFxuICAgIC8vIG90aGVyd2lzZSB0aGUgaWNvbiB3b250IHNob3cgaW4gdGhlIGNvcnJlY3QgcG9zaXRpb25cbiAgICBpZiAoISF0aGlzLnVuaXQgJiYgIXRoaXMudW5pdFNwYW4gJiYgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggIT09IDApIHtcbiAgICAgIC8vIEdldCB0aGUgaW5wdXQgd3JhcHBlciBhbmQgYXBwbHkgbmVjZXNzYXJ5IHN0eWxlc1xuICAgICAgY29uc3QgaW5wdXRXcmFwcGVyID0gdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZS5wYXJlbnROb2RlO1xuXG4gICAgICAvLyBDcmVhdGUgdGhlIHNwYW4gd2l0aCB1bml0IHN5bWJvbCBhbmQgYXBwbHkgbmVjZXNzYXJ5IHN0eWxlc1xuICAgICAgdGhpcy51bml0U3BhbiA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuXG4gICAgICBpZiAodGhpcy51bml0UG9zaXRpb24gPT09ICdsZWZ0Jykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLnVuaXRTcGFuLCAnbWF0UHJlZml4JywgJycpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudW5pdFNwYW4sICdwYWRkaW5nLXJpZ2h0JywgJzVweCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShpbnB1dFdyYXBwZXIsIHRoaXMudW5pdFNwYW4sIGlucHV0V3JhcHBlci5jaGlsZHJlblswXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLnVuaXRTcGFuLCAnbWF0U3VmZml4JywgJycpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudW5pdFNwYW4sICdwYWRkaW5nLWxlZnQnLCAnMjVweCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGlucHV0V3JhcHBlciwgdGhpcy51bml0U3Bhbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gc3BlY2lhbCBoYW5kbGluZyB0byBtb3ZlIHVuaXQgc3ltYm9sIGFsb25nIHdpdGggZGlzcGxheSB2YWx1ZVxuICAgIGlmICghIXRoaXMudW5pdFNwYW4gJiYgdGhpcy50ZXh0QWxpZ24gPT09ICdsZWZ0JyAmJiB0aGlzLnVuaXRQb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xuICAgICAgY29uc3QgaW5wdXRTdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LCBudWxsKTtcbiAgICAgIHRoaXMudW5pdFNwYW4uc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgdGhpcy51bml0U3Bhbi5zdHlsZS5tYXJnaW5Ub3AgPSBpbnB1dFN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXItdG9wLXdpZHRoJyk7XG4gICAgICB0aGlzLnVuaXRTcGFuLnN0eWxlLnBhZGRpbmdUb3AgPSBpbnB1dFN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLXRvcCcpO1xuICAgICAgdGhpcy51bml0U3Bhbi5zdHlsZS5wYWRkaW5nQm90dG9tID0gaW5wdXRTdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy1ib3R0b20nKTtcblxuICAgICAgaWYgKCF0aGlzLnRleHRTcGFuKSB7XG4gICAgICAgIHRoaXMudGV4dFNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy50ZXh0U3Bhbik7XG4gICAgICAgIHRoaXMudGV4dFNwYW4uc3R5bGUuZm9udCA9IGlucHV0U3R5bGVzLmdldFByb3BlcnR5VmFsdWUoJ2ZvbnQnKTtcbiAgICAgICAgdGhpcy50ZXh0U3Bhbi5zdHlsZS5mb250U2l6ZSA9IGlucHV0U3R5bGVzLmdldFByb3BlcnR5VmFsdWUoJ2ZvbnQtc2l6ZScpO1xuICAgICAgICB0aGlzLnRleHRTcGFuLnN0eWxlLmhlaWdodCA9ICdhdXRvJztcbiAgICAgICAgdGhpcy50ZXh0U3Bhbi5zdHlsZS53aWR0aCA9ICdhdXRvJztcbiAgICAgICAgdGhpcy50ZXh0U3Bhbi5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICAgIHRoaXMudGV4dFNwYW4uc3R5bGUudG9wID0gJzAnO1xuICAgICAgICB0aGlzLnRleHRTcGFuLnN0eWxlLndoaXRlU3BhY2UgPSAnbm8td3JhcCc7XG4gICAgICAgIHRoaXMudGV4dFNwYW4uc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgICAgfVxuICAgICAgdGhpcy50ZXh0U3Bhbi5pbm5lckhUTUwgPSB0aGlzLnZhbHVlO1xuICAgICAgY29uc3Qgd2lkdGggPSBNYXRoLm1pbih0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAtIHRoaXMudW5pdFNwYW4uY2xpZW50V2lkdGgsIE1hdGguY2VpbCh0aGlzLnRleHRTcGFuLmNsaWVudFdpZHRoKSk7XG4gICAgICB0aGlzLnVuaXRTcGFuLnN0eWxlLmxlZnQgPSB3aWR0aCArICdweCc7XG4gICAgfVxuICAgIC8vIGFsd2F5cyByZXNldCB1bml0IHN5bWJvbFxuICAgIGlmICghIXRoaXMudW5pdFNwYW4pIHtcbiAgICAgIHRoaXMudW5pdFNwYW4udGV4dENvbnRlbnQgPSB0aGlzLnVuaXQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRSZWFkb25seUZpZWxkU3R5bGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5wdXRFbD8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgY29uc3QgdGV4dE92ZXJGbG93U3R5bGVWYWx1ZSA9IHRoaXMuZ2V0VGV4dE92ZXJGbG93U3R5bGVWYWx1ZSgpO1xuICAgICAgaWYgKHRleHRPdmVyRmxvd1N0eWxlVmFsdWUpIHtcbiAgICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdzdHlsZScsICd0ZXh0LW92ZXJmbG93OiAnICsgdGV4dE92ZXJGbG93U3R5bGVWYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRWxsaXBzaXMgaXMgZW5hYmxlZCBieSBkZWZhdWx0IGFzIHRleHQtb3ZlcmZsb3cgYmVoYXZpb3VyXG4gIHByaXZhdGUgZ2V0VGV4dE92ZXJGbG93U3R5bGVWYWx1ZSgpOiBzdHJpbmcge1xuICAgIC8vIGl0IHdvcmtzIG9ubHkgaWYgdGhlIHN0eWxlIGlzIGFkZGVkIHRvIHRoZSBjb21wb25lbnQgZGlyZWN0bHkuIFNob3VsZCBmaW5kIGEgd2F5IGZvciBnZXQgaXQgZnJvbSB0aGUgY2FsY3VsYXRlZFxuICAgIC8vIHN0eWxlLiBUaGFuIGl0IHdvdWxkIGJlIHBvc3NpYmxlIHRvIGRlZmluZSB0aGUgdGV4dC1vdmVyZmxvdyBpbiBjc3MgZm9yIHRoZSB3aG9sZSBhcHBsaWNhdGlvblxuICAgIGNvbnN0IHRleHRPdmVyZmxvdyA9IHRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudD8uc3R5bGUudGV4dE92ZXJmbG93O1xuICAgIGlmICghdGV4dE92ZXJmbG93KSB7XG4gICAgICByZXR1cm4gJ2VsbGlwc2lzJztcbiAgICB9XG5cbiAgICByZXR1cm4gdGV4dE92ZXJmbG93O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRUb29sdGlwRm9yT3ZlcmZsb3duRmllbGQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNFbGxpcHNpc0ZvclRleHRPdmVyZmxvd0VuYWJsZWQoKSkge1xuXG4gICAgICBpZiAodGhpcy5pbnB1dEVsKSB7XG4gICAgICAgIHRoaXMudG9vbFRpcEZvcklucHV0RW5hYmxlZCA9IHRoaXMuaXNUZXh0T3ZlcmZsb3duKHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgaWYgKHRoaXMudG9vbFRpcEZvcklucHV0RW5hYmxlZCkge1xuICAgICAgICAgIHRoaXMudG9vbFRpcFRleHQgPSB0aGlzLmNhbGN1bGF0ZVRvb2xUaXBUZXh0KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc0VsbGlwc2lzRm9yVGV4dE92ZXJmbG93RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXRUZXh0T3ZlckZsb3dTdHlsZVZhbHVlKCkgPT09ICdlbGxpcHNpcyc7XG4gIH1cblxuICBwcml2YXRlIGlzVGV4dE92ZXJmbG93bihpbnB1dDogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKGlucHV0KSB7XG4gICAgICByZXR1cm4gaW5wdXQub2Zmc2V0V2lkdGggPCBpbnB1dC5zY3JvbGxXaWR0aDtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVUb29sVGlwVGV4dCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy51bml0KSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy51bml0UG9zaXRpb24gPT09ICdsZWZ0JyA/IHRoaXMudW5pdCArICcgJyArIHRoaXMudmFsdWUgOiB0aGlzLnZhbHVlICsgJyAnICsgdGhpcy51bml0O1xuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmb3JtLWdyb3VwIG1hZC1yZWFkLW9ubHlcIj5cbiAgPG1hdC1sYWJlbD57eyBsYWJlbCB9fTwvbWF0LWxhYmVsPlxuICA8aW5wdXRcbiAgICAqbmdJZj1cIiFtdWx0aWxpbmVcIlxuICAgIFtuZ1N0eWxlXT1cInsgZGlzcGxheTogdXNlUHJvamVjdGVkQ29udGVudCA/ICdub25lJyA6ICdibG9jaycgfVwiXG4gICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgIFtuZ0NsYXNzXT1cIid0ZXh0LScgKyB0ZXh0QWxpZ24gKyAnIGNvbnRlbnQnXCJcbiAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwiZXJyb3JNYXRjaGVyXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIHJlYWRvbmx5XG4gICAgW2Rpc2FibGVkXT1cIiF1c2VQcm9qZWN0ZWRDb250ZW50XCJcbiAgICBtYXRJbnB1dFxuICAgICNpbnB1dEVsXG4gICAgbWF0VG9vbHRpcD1cInt7IHRvb2xUaXBUZXh0IH19XCJcbiAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiXG4gICAgbWF0VG9vbHRpcENsYXNzPVwiY3VzdG9tLXRvb2x0aXBcIlxuICAgIG1hdFRvb2x0aXBEaXNhYmxlZD1cInt7ICF0b29sVGlwRm9ySW5wdXRFbmFibGVkIH19XCJcbiAgLz5cblxuICA8dGV4dGFyZWFcbiAgICAqbmdJZj1cIm11bHRpbGluZVwiXG4gICAgW25nU3R5bGVdPVwieyBkaXNwbGF5OiB1c2VQcm9qZWN0ZWRDb250ZW50ID8gJ25vbmUnIDogJ2Jsb2NrJyB9XCJcbiAgICBbcm93c109XCJyb3dzXCJcbiAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgY2xhc3M9XCJtdWx0aWxpbmUgY29udGVudFwiXG4gICAgW2Vycm9yU3RhdGVNYXRjaGVyXT1cImVycm9yTWF0Y2hlclwiXG4gICAgW2lkXT1cImlkXCJcbiAgICByZWFkb25seVxuICAgIFtkaXNhYmxlZF09XCIhdXNlUHJvamVjdGVkQ29udGVudFwiXG4gICAgbWF0SW5wdXRcbiAgICBbY2RrVGV4dGFyZWFBdXRvc2l6ZV09XCJtdWx0aWxpbmVBdXRvU2l6ZVwiXG4gID48L3RleHRhcmVhPlxuICA8bmctY29udGVudCAqbmdJZj1cInVzZVByb2plY3RlZENvbnRlbnRcIiAvPlxuICA8bWF0LWVycm9yPnt7IGVycm9yTWVzc2FnZSB9fTwvbWF0LWVycm9yPlxuICA8bWF0LWljb24gZGF0YS1jeT1cInN1ZmZpeC1pY29uXCIgKm5nSWY9XCJzdWZmaXhcIiAoY2xpY2spPVwic3VmZml4Q2xpY2tlZCgpXCIgY2xhc3M9XCJwb2ludGVyXCIgY29sb3I9XCJwcmltYXJ5XCIgbWF0U3VmZml4Pnt7IHN1ZmZpeCB9fTwvbWF0LWljb24+XG4gIDxtYXQtaWNvbiBkYXRhLWN5PVwicHJlZml4LWljb25cIiAqbmdJZj1cInByZWZpeFwiIChjbGljayk9XCJwcmVmaXhDbGlja2VkKClcIiBjbGFzcz1cInBvaW50ZXJcIiBjb2xvcj1cInByaW1hcnlcIiBtYXRQcmVmaXg+e3sgcHJlZml4IH19PC9tYXQtaWNvbj5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHktZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9yZWFkb25seS9yZWFkb25seS1mb3JtLWZpZWxkL3JlYWRvbmx5LWZvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvcmVhZG9ubHkvcmVhZG9ubHktZm9ybS1maWVsZC9yZWFkb25seS1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBR04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7O0FBRWxFOzs7O0dBSUc7QUFTSCxNQUFNLE9BQU8sMEJBQTBCO0lBaURyQyxZQUNVLGNBQWlDLEVBQ2pDLFFBQW1CLEVBQ25CLG1CQUF3QyxFQUN4QyxVQUFzQjtRQUh0QixtQkFBYyxH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QkFBekIsS0FBSztnQkFDSSxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNlLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTnVtYmVyRm9ybWF0U2VydmljZSB9IGZyb20gJy4uLy4uL251bWVyaWMtZmllbGQvbnVtYmVyLWZvcm1hdC5zZXJ2aWNlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IFRleHRGaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXh0LWZpZWxkJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBOZ0lmLCBOZ1N0eWxlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuXG4vKipcbiAqIFJlYWQtb25seSBtYXQtZm9ybS1maWVsZCByZXByZXNlbnRhdGlvbiBvZiBwcm92aWRlZCB2YWx1ZVxuICpcbiAqIEBhdXRob3IgU3RlZmFuIExhZXNzZXJcbiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWQtcmVhZG9ubHktZm9ybS1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWFkb25seS1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVhZG9ubHktZm9ybS1maWVsZC5jb21wb25lbnQuY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRGb3JtRmllbGRNb2R1bGUsIE5nSWYsIE1hdElucHV0TW9kdWxlLCBGb3Jtc01vZHVsZSwgTmdTdHlsZSwgTmdDbGFzcywgTWF0VG9vbHRpcE1vZHVsZSwgVGV4dEZpZWxkTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVhZE9ubHlGb3JtRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0NoZWNrZWQge1xuICBAVmlld0NoaWxkKCdjb250ZW50V3JhcHBlcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBvcmlnaW5hbENvbnRlbnQ6IEVsZW1lbnRSZWY7XG4gIEBJbnB1dCgndXNlUHJvamVjdGVkQ29udGVudCcpIHVzZVByb2plY3RlZENvbnRlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCd2YWx1ZScpIHZhbHVlPzogYW55O1xuICBASW5wdXQoJ2xhYmVsJykgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCd0ZXh0QWxpZ24nKSB0ZXh0QWxpZ246ICdyaWdodCcgfCAnbGVmdCcgPSAnbGVmdCc7XG4gIEBJbnB1dCgnZm9ybWF0TnVtYmVyJykgZm9ybWF0TnVtYmVyID0gZmFsc2U7XG4gIEBJbnB1dCgnZGVjaW1hbFBsYWNlcycpIGRlY2ltYWxQbGFjZXMgPSAyO1xuICBASW5wdXQoJ3JvdW5kRGlzcGxheVZhbHVlJykgcm91bmRWYWx1ZSA9IGZhbHNlO1xuICBASW5wdXQoJ2F1dG9maWxsRGVjaW1hbHMnKSBhdXRvZmlsbERlY2ltYWxzID0gZmFsc2U7XG4gIEBJbnB1dCgndW5pdCcpIHVuaXQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoJ3VuaXRQb3NpdGlvbicpIHVuaXRQb3NpdGlvbjogJ3JpZ2h0JyB8ICdsZWZ0JyA9ICdsZWZ0JztcbiAgQElucHV0KCdlcnJvck1lc3NhZ2UnKSBlcnJvck1lc3NhZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBtdWx0aWxpbmUgPSBmYWxzZTtcbiAgQElucHV0KCkgcm93czogbnVtYmVyO1xuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICAvKlxuICAgKiBJZiBzaHJpbmtJZkVtcHR5IGlzIHNldCB0byBcImZhbHNlXCIsIG5vdGhpbmcgY2hhbmdlc1xuICAgKiBJZiBzZXQgdG8gXCJ0cnVlXCIgYW5kIG11bHRpbGluZSBpcyBhbHNvIFwidHJ1ZVwiLCB0aGUgdGV4dGFyZWEgd2lsbFxuICAgKiBzaHJpbmsgdG8gb25lIHJvdywgaWYgdmFsdWUgaXMgZW1wdHkvbnVsbC91bmRlZmluZWQuXG4gICAqIE90aGVyd2lzZSwgdGhlIGRlZmluZWQgcm93cy12YWx1ZSB3aWxsIGJlIHVzZWRcbiAgICovXG4gIEBJbnB1dCgpIHNocmlua0lmRW1wdHkgPSBmYWxzZTtcbiAgLyoqXG4gICAqIHN1ZmZpeCBpb2NvblxuICAgKi9cbiAgQElucHV0KCkgc3VmZml4OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBwcmVmaXggaW9jb25cbiAgICovXG4gIEBJbnB1dCgpIHByZWZpeDogc3RyaW5nO1xuICAvKipcbiAgICogaWYgY2RrVGV4dGFyZWFBdXRvc2l6ZSBpcyBhY3RpdmUgZm9yIHRleHRhcmVhc1xuICAgKi9cbiAgQElucHV0KCkgbXVsdGlsaW5lQXV0b1NpemUgPSBmYWxzZTtcbiAgQE91dHB1dCgpIHN1ZmZpeENsaWNrZWRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHJlZml4Q2xpY2tlZEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWwnKSBpbnB1dEVsOiBFbGVtZW50UmVmO1xuICBlcnJvck1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyID0ge1xuICAgIGlzRXJyb3JTdGF0ZTogKCkgPT4gISF0aGlzLmVycm9yTWVzc2FnZSxcbiAgfTtcblxuICBwcml2YXRlIHVuaXRTcGFuOiBIVE1MU3BhbkVsZW1lbnQ7XG4gIHByaXZhdGUgdGV4dFNwYW46IEhUTUxTcGFuRWxlbWVudDtcblxuICB0b29sVGlwRm9ySW5wdXRFbmFibGVkID0gZmFsc2U7XG4gIHRvb2xUaXBUZXh0OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgbnVtYmVyRm9ybWF0U2VydmljZTogTnVtYmVyRm9ybWF0U2VydmljZSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICkge31cblxuICBuZ09uQ2hhbmdlcyhfOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCFOdW1iZXJGb3JtYXRTZXJ2aWNlLnZhbHVlSXNTZXQodGhpcy52YWx1ZSkpIHtcbiAgICAgIHRoaXMudmFsdWUgPSAnLSc7XG4gICAgICBpZiAodGhpcy5zaHJpbmtJZkVtcHR5KSB7XG4gICAgICAgIHRoaXMucm93cyA9IDE7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmZvcm1hdE51bWJlciAmJiB0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm51bWJlckZvcm1hdFNlcnZpY2UuZm9ybWF0KHRoaXMudmFsdWUsIHtcbiAgICAgICAgZGVjaW1hbFBsYWNlczogdGhpcy5kZWNpbWFsUGxhY2VzLFxuICAgICAgICBmaW5hbEZvcm1hdHRpbmc6IHRydWUsXG4gICAgICAgIGF1dG9maWxsRGVjaW1hbHM6IHRoaXMuYXV0b2ZpbGxEZWNpbWFscyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8vIFRPRE8gZGlyZWN0IGNvcHkgZnJvbSBOdW1lcmljRmllbGREaXJlY3RpdmVcbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuaW5qZWN0VW5pdFN5bWJvbCgpO1xuICAgIC8vIElmIHVzZVByb2plY3RlZENvbnRlbnQgaXMgc2V0IHRvIHRydWUsIHRoZSBpbnB1dCB3b250IGJlIHNob3dcbiAgICBpZiAoIXRoaXMudXNlUHJvamVjdGVkQ29udGVudCkge1xuICAgICAgdGhpcy5zZXRSZWFkb25seUZpZWxkU3R5bGUoKTtcbiAgICAgIHRoaXMuc2V0VG9vbHRpcEZvck92ZXJmbG93bkZpZWxkKCk7XG4gICAgfVxuICB9XG5cbiAgc3VmZml4Q2xpY2tlZCgpIHtcbiAgICB0aGlzLnN1ZmZpeENsaWNrZWRFbWl0dGVyLmVtaXQobnVsbCk7XG4gIH1cblxuICBwcmVmaXhDbGlja2VkKCkge1xuICAgIHRoaXMucHJlZml4Q2xpY2tlZEVtaXR0ZXIuZW1pdChudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5qZWN0VW5pdFN5bWJvbCgpOiB2b2lkIHtcbiAgICAvLyBOZWVkIHRvIGluamVjdCB0aGUgdW5pdCBzeW1ib2wgd2hlbiB0aGUgaW5wdXQgZWxlbWVudCB3aWR0aCBpcyBzZXQgdG8gaXRzIGFjdHVhbCB2YWx1ZSxcbiAgICAvLyBvdGhlcndpc2UgdGhlIGljb24gd29udCBzaG93IGluIHRoZSBjb3JyZWN0IHBvc2l0aW9uXG4gICAgaWYgKCEhdGhpcy51bml0ICYmICF0aGlzLnVuaXRTcGFuICYmIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICE9PSAwKSB7XG4gICAgICAvLyBHZXQgdGhlIGlucHV0IHdyYXBwZXIgYW5kIGFwcGx5IG5lY2Vzc2FyeSBzdHlsZXNcbiAgICAgIGNvbnN0IGlucHV0V3JhcHBlciA9IHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGUucGFyZW50Tm9kZTtcblxuICAgICAgLy8gQ3JlYXRlIHRoZSBzcGFuIHdpdGggdW5pdCBzeW1ib2wgYW5kIGFwcGx5IG5lY2Vzc2FyeSBzdHlsZXNcbiAgICAgIHRoaXMudW5pdFNwYW4gPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcblxuICAgICAgaWYgKHRoaXMudW5pdFBvc2l0aW9uID09PSAnbGVmdCcpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy51bml0U3BhbiwgJ21hdFByZWZpeCcsICcnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnVuaXRTcGFuLCAncGFkZGluZy1yaWdodCcsICc1cHgnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUoaW5wdXRXcmFwcGVyLCB0aGlzLnVuaXRTcGFuLCBpbnB1dFdyYXBwZXIuY2hpbGRyZW5bMF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy51bml0U3BhbiwgJ21hdFN1ZmZpeCcsICcnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnVuaXRTcGFuLCAncGFkZGluZy1sZWZ0JywgJzI1cHgnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChpbnB1dFdyYXBwZXIsIHRoaXMudW5pdFNwYW4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHNwZWNpYWwgaGFuZGxpbmcgdG8gbW92ZSB1bml0IHN5bWJvbCBhbG9uZyB3aXRoIGRpc3BsYXkgdmFsdWVcbiAgICBpZiAoISF0aGlzLnVuaXRTcGFuICYmIHRoaXMudGV4dEFsaWduID09PSAnbGVmdCcgJiYgdGhpcy51bml0UG9zaXRpb24gPT09ICdyaWdodCcpIHtcbiAgICAgIGNvbnN0IGlucHV0U3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudCwgbnVsbCk7XG4gICAgICB0aGlzLnVuaXRTcGFuLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIHRoaXMudW5pdFNwYW4uc3R5bGUubWFyZ2luVG9wID0gaW5wdXRTdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyLXRvcC13aWR0aCcpO1xuICAgICAgdGhpcy51bml0U3Bhbi5zdHlsZS5wYWRkaW5nVG9wID0gaW5wdXRTdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy10b3AnKTtcbiAgICAgIHRoaXMudW5pdFNwYW4uc3R5bGUucGFkZGluZ0JvdHRvbSA9IGlucHV0U3R5bGVzLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctYm90dG9tJyk7XG5cbiAgICAgIGlmICghdGhpcy50ZXh0U3Bhbikge1xuICAgICAgICB0aGlzLnRleHRTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMudGV4dFNwYW4pO1xuICAgICAgICB0aGlzLnRleHRTcGFuLnN0eWxlLmZvbnQgPSBpbnB1dFN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdmb250Jyk7XG4gICAgICAgIHRoaXMudGV4dFNwYW4uc3R5bGUuZm9udFNpemUgPSBpbnB1dFN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXNpemUnKTtcbiAgICAgICAgdGhpcy50ZXh0U3Bhbi5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XG4gICAgICAgIHRoaXMudGV4dFNwYW4uc3R5bGUud2lkdGggPSAnYXV0byc7XG4gICAgICAgIHRoaXMudGV4dFNwYW4uc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgICB0aGlzLnRleHRTcGFuLnN0eWxlLnRvcCA9ICcwJztcbiAgICAgICAgdGhpcy50ZXh0U3Bhbi5zdHlsZS53aGl0ZVNwYWNlID0gJ25vLXdyYXAnO1xuICAgICAgICB0aGlzLnRleHRTcGFuLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcbiAgICAgIH1cbiAgICAgIHRoaXMudGV4dFNwYW4uaW5uZXJIVE1MID0gdGhpcy52YWx1ZTtcbiAgICAgIGNvbnN0IHdpZHRoID0gTWF0aC5taW4odGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggLSB0aGlzLnVuaXRTcGFuLmNsaWVudFdpZHRoLCBNYXRoLmNlaWwodGhpcy50ZXh0U3Bhbi5jbGllbnRXaWR0aCkpO1xuICAgICAgdGhpcy51bml0U3Bhbi5zdHlsZS5sZWZ0ID0gd2lkdGggKyAncHgnO1xuICAgIH1cbiAgICAvLyBhbHdheXMgcmVzZXQgdW5pdCBzeW1ib2xcbiAgICBpZiAoISF0aGlzLnVuaXRTcGFuKSB7XG4gICAgICB0aGlzLnVuaXRTcGFuLnRleHRDb250ZW50ID0gdGhpcy51bml0O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0UmVhZG9ubHlGaWVsZFN0eWxlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlucHV0RWw/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IHRleHRPdmVyRmxvd1N0eWxlVmFsdWUgPSB0aGlzLmdldFRleHRPdmVyRmxvd1N0eWxlVmFsdWUoKTtcbiAgICAgIGlmICh0ZXh0T3ZlckZsb3dTdHlsZVZhbHVlKSB7XG4gICAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAndGV4dC1vdmVyZmxvdzogJyArIHRleHRPdmVyRmxvd1N0eWxlVmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEVsbGlwc2lzIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBhcyB0ZXh0LW92ZXJmbG93IGJlaGF2aW91clxuICBwcml2YXRlIGdldFRleHRPdmVyRmxvd1N0eWxlVmFsdWUoKTogc3RyaW5nIHtcbiAgICAvLyBpdCB3b3JrcyBvbmx5IGlmIHRoZSBzdHlsZSBpcyBhZGRlZCB0byB0aGUgY29tcG9uZW50IGRpcmVjdGx5LiBTaG91bGQgZmluZCBhIHdheSBmb3IgZ2V0IGl0IGZyb20gdGhlIGNhbGN1bGF0ZWRcbiAgICAvLyBzdHlsZS4gVGhhbiBpdCB3b3VsZCBiZSBwb3NzaWJsZSB0byBkZWZpbmUgdGhlIHRleHQtb3ZlcmZsb3cgaW4gY3NzIGZvciB0aGUgd2hvbGUgYXBwbGljYXRpb25cbiAgICBjb25zdCB0ZXh0T3ZlcmZsb3cgPSB0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LnN0eWxlLnRleHRPdmVyZmxvdztcbiAgICBpZiAoIXRleHRPdmVyZmxvdykge1xuICAgICAgcmV0dXJuICdlbGxpcHNpcyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRleHRPdmVyZmxvdztcbiAgfVxuXG4gIHByaXZhdGUgc2V0VG9vbHRpcEZvck92ZXJmbG93bkZpZWxkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRWxsaXBzaXNGb3JUZXh0T3ZlcmZsb3dFbmFibGVkKCkpIHtcbiAgICAgIGlmICh0aGlzLmlucHV0RWwpIHtcbiAgICAgICAgdGhpcy50b29sVGlwRm9ySW5wdXRFbmFibGVkID0gdGhpcy5pc1RleHRPdmVyZmxvd24odGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICBpZiAodGhpcy50b29sVGlwRm9ySW5wdXRFbmFibGVkKSB7XG4gICAgICAgICAgdGhpcy50b29sVGlwVGV4dCA9IHRoaXMuY2FsY3VsYXRlVG9vbFRpcFRleHQoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzRWxsaXBzaXNGb3JUZXh0T3ZlcmZsb3dFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldFRleHRPdmVyRmxvd1N0eWxlVmFsdWUoKSA9PT0gJ2VsbGlwc2lzJztcbiAgfVxuXG4gIHByaXZhdGUgaXNUZXh0T3ZlcmZsb3duKGlucHV0OiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIHJldHVybiBpbnB1dC5vZmZzZXRXaWR0aCA8IGlucHV0LnNjcm9sbFdpZHRoO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZVRvb2xUaXBUZXh0KCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnVuaXQpIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnVuaXRQb3NpdGlvbiA9PT0gJ2xlZnQnID8gdGhpcy51bml0ICsgJyAnICsgdGhpcy52YWx1ZSA6IHRoaXMudmFsdWUgKyAnICcgKyB0aGlzLnVuaXQ7XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZvcm0tZ3JvdXAgbWFkLXJlYWQtb25seVwiPlxuICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XG4gIDxpbnB1dFxuICAgICpuZ0lmPVwiIW11bHRpbGluZVwiXG4gICAgW25nU3R5bGVdPVwieyBkaXNwbGF5OiB1c2VQcm9qZWN0ZWRDb250ZW50ID8gJ25vbmUnIDogJ2Jsb2NrJyB9XCJcbiAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgW25nQ2xhc3NdPVwiJ3RleHQtJyArIHRleHRBbGlnbiArICcgY29udGVudCdcIlxuICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJlcnJvck1hdGNoZXJcIlxuICAgIFtpZF09XCJpZFwiXG4gICAgcmVhZG9ubHlcbiAgICBbZGlzYWJsZWRdPVwiIXVzZVByb2plY3RlZENvbnRlbnRcIlxuICAgIG1hdElucHV0XG4gICAgI2lucHV0RWxcbiAgICBtYXRUb29sdGlwPVwie3sgdG9vbFRpcFRleHQgfX1cIlxuICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcbiAgICBtYXRUb29sdGlwQ2xhc3M9XCJjdXN0b20tdG9vbHRpcFwiXG4gICAgbWF0VG9vbHRpcERpc2FibGVkPVwie3sgIXRvb2xUaXBGb3JJbnB1dEVuYWJsZWQgfX1cIlxuICAvPlxuXG4gIDx0ZXh0YXJlYVxuICAgICpuZ0lmPVwibXVsdGlsaW5lXCJcbiAgICBbbmdTdHlsZV09XCJ7IGRpc3BsYXk6IHVzZVByb2plY3RlZENvbnRlbnQgPyAnbm9uZScgOiAnYmxvY2snIH1cIlxuICAgIFtyb3dzXT1cInJvd3NcIlxuICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICBjbGFzcz1cIm11bHRpbGluZSBjb250ZW50XCJcbiAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwiZXJyb3JNYXRjaGVyXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIHJlYWRvbmx5XG4gICAgW2Rpc2FibGVkXT1cIiF1c2VQcm9qZWN0ZWRDb250ZW50XCJcbiAgICBtYXRJbnB1dFxuICAgIFtjZGtUZXh0YXJlYUF1dG9zaXplXT1cIm11bHRpbGluZUF1dG9TaXplXCJcbiAgPjwvdGV4dGFyZWE+XG4gIDxuZy1jb250ZW50ICpuZ0lmPVwidXNlUHJvamVjdGVkQ29udGVudFwiIC8+XG4gIDxtYXQtZXJyb3I+e3sgZXJyb3JNZXNzYWdlIH19PC9tYXQtZXJyb3I+XG4gIDxtYXQtaWNvbiBkYXRhLWN5PVwic3VmZml4LWljb25cIiAqbmdJZj1cInN1ZmZpeFwiIChjbGljayk9XCJzdWZmaXhDbGlja2VkKClcIiBjbGFzcz1cInBvaW50ZXJcIiBjb2xvcj1cInByaW1hcnlcIiBtYXRTdWZmaXg+e3sgc3VmZml4IH19PC9tYXQtaWNvbj5cbiAgPG1hdC1pY29uIGRhdGEtY3k9XCJwcmVmaXgtaWNvblwiICpuZ0lmPVwicHJlZml4XCIgKGNsaWNrKT1cInByZWZpeENsaWNrZWQoKVwiIGNsYXNzPVwicG9pbnRlclwiIGNvbG9yPVwicHJpbWFyeVwiIG1hdFByZWZpeD57eyBwcmVmaXggfX08L21hdC1pY29uPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==