@wemake4u/form-player-se 1.0.38 → 1.0.40

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 (70) hide show
  1. package/esm2022/lib/builtIn/builtIn.mjs +24 -0
  2. package/esm2022/lib/builtIn/console.json +253 -0
  3. package/esm2022/lib/builtIn/dialog.json +109 -0
  4. package/esm2022/lib/builtIn/feel.json +26 -0
  5. package/esm2022/lib/builtIn/form.json +172 -0
  6. package/esm2022/lib/builtIn/formGroup.json +218 -0
  7. package/esm2022/lib/builtIn/formatter.json +112 -0
  8. package/esm2022/lib/builtIn/function.json +53 -0
  9. package/esm2022/lib/builtIn/register.json +14 -0
  10. package/esm2022/lib/components/setFilter/setFilter.component.mjs +18 -3
  11. package/esm2022/lib/controls/table.mjs +4 -1
  12. package/esm2022/lib/directives/accordionpanel.directive.mjs +10 -5
  13. package/esm2022/lib/directives/alert.directive.mjs +44 -0
  14. package/esm2022/lib/directives/collapse.directive.mjs +22 -12
  15. package/esm2022/lib/directives/collapsepatch.directive.mjs +2 -1
  16. package/esm2022/lib/directives/datetime.directive.mjs +18 -21
  17. package/esm2022/lib/directives/dropdown.directive.mjs +31 -16
  18. package/esm2022/lib/directives/grid.directive.mjs +10 -8
  19. package/esm2022/lib/directives/readonly.directive.mjs +10 -9
  20. package/esm2022/lib/directives/register.directive.mjs +8 -10
  21. package/esm2022/lib/directives/required.directive.mjs +57 -0
  22. package/esm2022/lib/directives/tabcontrol.directive.mjs +10 -9
  23. package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +21 -4
  24. package/esm2022/lib/dynamic-form/dynamic-form.component.mjs +44 -21
  25. package/esm2022/lib/dynamic-host/dynamic-host.component.mjs +32 -10
  26. package/esm2022/lib/services/event.service.mjs +17 -6
  27. package/esm2022/lib/services/grid.service.mjs +45 -15
  28. package/esm2022/lib/services/listener.service.mjs +23 -0
  29. package/esm2022/lib/services/programmability.service.mjs +54 -38
  30. package/esm2022/lib/services/scope.service.mjs +6 -1
  31. package/esm2022/lib/services/status.service.mjs +10 -5
  32. package/esm2022/lib/services/subscribe.service.mjs +54 -0
  33. package/esm2022/lib/services/validation.service.mjs +11 -2
  34. package/esm2022/lib/utils/deepEqual.mjs +46 -0
  35. package/esm2022/lib/utils/observable.mjs +7 -0
  36. package/esm2022/lib/utils/proxy.mjs +28 -1
  37. package/esm2022/lib/utils/resolveRefs.mjs +67 -0
  38. package/esm2022/public-api.mjs +5 -1
  39. package/fesm2022/wemake4u-form-player-se.mjs +1689 -214
  40. package/fesm2022/wemake4u-form-player-se.mjs.map +1 -1
  41. package/lib/builtIn/builtIn.d.ts +32 -0
  42. package/lib/components/setFilter/setFilter.component.d.ts +1 -0
  43. package/lib/controls/table.d.ts +1 -0
  44. package/lib/directives/accordionpanel.directive.d.ts +4 -2
  45. package/lib/directives/alert.directive.d.ts +15 -0
  46. package/lib/directives/collapse.directive.d.ts +5 -3
  47. package/lib/directives/datetime.directive.d.ts +7 -8
  48. package/lib/directives/dropdown.directive.d.ts +6 -3
  49. package/lib/directives/grid.directive.d.ts +4 -3
  50. package/lib/directives/readonly.directive.d.ts +3 -4
  51. package/lib/directives/register.directive.d.ts +3 -3
  52. package/lib/directives/required.directive.d.ts +17 -0
  53. package/lib/directives/tabcontrol.directive.d.ts +5 -6
  54. package/lib/dynamic-fields/dynamic-fields.component.d.ts +1 -0
  55. package/lib/dynamic-form/dynamic-form.component.d.ts +4 -1
  56. package/lib/dynamic-host/dynamic-host.component.d.ts +6 -2
  57. package/lib/services/event.service.d.ts +8 -2
  58. package/lib/services/grid.service.d.ts +6 -2
  59. package/lib/services/listener.service.d.ts +11 -0
  60. package/lib/services/programmability.service.d.ts +8 -9
  61. package/lib/services/scope.service.d.ts +1 -0
  62. package/lib/services/status.service.d.ts +5 -1
  63. package/lib/services/subscribe.service.d.ts +14 -0
  64. package/lib/services/validation.service.d.ts +5 -2
  65. package/lib/utils/deepEqual.d.ts +1 -0
  66. package/lib/utils/observable.d.ts +2 -0
  67. package/lib/utils/proxy.d.ts +2 -0
  68. package/lib/utils/resolveRefs.d.ts +12 -0
  69. package/package.json +1 -1
  70. package/public-api.d.ts +4 -0
@@ -1,8 +1,7 @@
1
- import { Directive, Input, Host, inject } from '@angular/core';
1
+ import { Directive, Input, Host } from '@angular/core';
2
2
  import { of, isObservable } from 'rxjs';
3
3
  import { catchError, take, tap, finalize } from 'rxjs/operators';
4
4
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
- import { DestroyRef } from '@angular/core';
6
5
  import { CacheContextService } from '../services/cache.service';
7
6
  import { Texts } from '../locale/locale';
8
7
  import { localize } from '../locale/localize';
@@ -16,6 +15,7 @@ export class GridDirective {
16
15
  gridService;
17
16
  cacheContext;
18
17
  languageService;
18
+ destroyRef;
19
19
  rowSource;
20
20
  columnDefs = null;
21
21
  selectable = null;
@@ -23,13 +23,15 @@ export class GridDirective {
23
23
  suppressActions = null;
24
24
  formGroup;
25
25
  component = null;
26
- destroyRef = inject(DestroyRef);
27
- constructor(grid, gridService, cacheContext, languageService) {
26
+ constructor(grid, gridService, cacheContext, languageService, destroyRef) {
28
27
  this.grid = grid;
29
28
  this.gridService = gridService;
30
29
  this.cacheContext = cacheContext;
31
30
  this.languageService = languageService;
32
- grid.gridReady.subscribe((params) => {
31
+ this.destroyRef = destroyRef;
32
+ grid.gridReady
33
+ .pipe(takeUntilDestroyed(this.destroyRef))
34
+ .subscribe((params) => {
33
35
  this.gridApi = params.api;
34
36
  this.prepareContext();
35
37
  this.isGridReady = true;
@@ -206,7 +208,7 @@ export class GridDirective {
206
208
  }
207
209
  };
208
210
  }
209
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GridDirective, deps: [{ token: i1.AgGridAngular, host: true }, { token: i2.GridService }, { token: i3.CacheContextService }, { token: i4.LanguageService }], target: i0.ɵɵFactoryTarget.Directive });
211
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GridDirective, deps: [{ token: i1.AgGridAngular, host: true }, { token: i2.GridService }, { token: i3.CacheContextService }, { token: i4.LanguageService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });
210
212
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: GridDirective, isStandalone: true, selector: "[rowSource], [columnDefs], [selectable], [multiSelect], [suppressActions]", inputs: { rowSource: "rowSource", columnDefs: "columnDefs", selectable: "selectable", multiSelect: "multiSelect", suppressActions: "suppressActions", formGroup: "formGroup", component: ["register", "component"] }, providers: [
211
213
  CacheContextService
212
214
  ], usesOnChanges: true, ngImport: i0 });
@@ -222,7 +224,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
222
224
  }]
223
225
  }], ctorParameters: () => [{ type: i1.AgGridAngular, decorators: [{
224
226
  type: Host
225
- }] }, { type: i2.GridService }, { type: i3.CacheContextService }, { type: i4.LanguageService }], propDecorators: { rowSource: [{
227
+ }] }, { type: i2.GridService }, { type: i3.CacheContextService }, { type: i4.LanguageService }, { type: i0.DestroyRef }], propDecorators: { rowSource: [{
226
228
  type: Input
227
229
  }], columnDefs: [{
228
230
  type: Input
@@ -238,4 +240,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
238
240
  type: Input,
239
241
  args: ["register"]
240
242
  }] } });
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9kaXJlY3RpdmVzL2dyaWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpGLE9BQU8sRUFBYyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR2hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7OztBQVU5QyxNQUFNLE9BQU8sYUFBYTtJQVlOO0lBQ1I7SUFDQTtJQUNBO0lBZEQsU0FBUyxDQUFPO0lBQ2hCLFVBQVUsR0FBUSxJQUFJLENBQUM7SUFDdkIsVUFBVSxHQUFtQixJQUFJLENBQUM7SUFDbEMsV0FBVyxHQUFtQixJQUFJLENBQUM7SUFDbkMsZUFBZSxHQUFtQixJQUFJLENBQUM7SUFDdkMsU0FBUyxDQUFhO0lBQ1osU0FBUyxHQUFRLElBQUksQ0FBQztJQUVqQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXhDLFlBQ2tCLElBQW1CLEVBQzNCLFdBQXdCLEVBQ3hCLFlBQWlDLEVBQ2pDLGVBQWdDO1FBSHhCLFNBQUksR0FBSixJQUFJ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QUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNhLFNBQVM7c0JBQTNCLEtBQUs7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgSG9zdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIGlzT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YWtlLCB0YXAsIGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7IERlc3Ryb3lSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWdHcmlkQW5ndWxhciB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XHJcbmltcG9ydCB7IElHZXRSb3dzUGFyYW1zLCBHcmlkQXBpIH0gZnJvbSBcImFnLWdyaWQtY29tbXVuaXR5XCI7XHJcbmltcG9ydCB7IElSb3dzU291cmNlIH0gZnJvbSAnLi4vZGF0YVNvdXJjZXMvaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZ3JpZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FjaGVDb250ZXh0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NhY2hlLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQHdlbWFrZTR1L2ludGVyYWN0JztcclxuaW1wb3J0IHsgVGV4dHMgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlJztcclxuaW1wb3J0IHsgbG9jYWxpemUgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxpemUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbcm93U291cmNlXSwgW2NvbHVtbkRlZnNdLCBbc2VsZWN0YWJsZV0sIFttdWx0aVNlbGVjdF0sIFtzdXBwcmVzc0FjdGlvbnNdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgQ2FjaGVDb250ZXh0U2VydmljZVxyXG4gIF0sXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgR3JpZERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgcm93U291cmNlITogYW55O1xyXG4gIEBJbnB1dCgpIGNvbHVtbkRlZnM6IGFueSA9IG51bGw7XHJcbiAgQElucHV0KCkgc2VsZWN0YWJsZTogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIG11bHRpU2VsZWN0OiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgc3VwcHJlc3NBY3Rpb25zOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwOyAgXHJcbiAgQElucHV0KFwicmVnaXN0ZXJcIikgY29tcG9uZW50OiBhbnkgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBwcml2YXRlIGdyaWQ6IEFnR3JpZEFuZ3VsYXIsXHJcbiAgICBwcml2YXRlIGdyaWRTZXJ2aWNlOiBHcmlkU2VydmljZSxcclxuICAgIHByaXZhdGUgY2FjaGVDb250ZXh0OiBDYWNoZUNvbnRleHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZVxyXG4gICkge1xyXG5cclxuICAgIGdyaWQuZ3JpZFJlYWR5LnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XHJcbiAgICAgIHRoaXMuZ3JpZEFwaSA9IHBhcmFtcy5hcGk7XHJcbiAgICAgIHRoaXMucHJlcGFyZUNvbnRleHQoKTtcclxuICAgICAgdGhpcy5pc0dyaWRSZWFkeSA9IHRydWU7XHJcbiAgICAgIHRoaXMub25HcmlkUmVhZHkoKTsgICAgICBcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9odHRwczovL3d3dy5hZy1ncmlkLmNvbS9hbmd1bGFyLWRhdGEtZ3JpZC9jb2x1bW4tdXBkYXRpbmctZGVmaW5pdGlvbnMvXHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAodGhpcy5pc1Jvd1NvdXJjZUNoYW5nZWQoY2hhbmdlcykpIHtcclxuICAgICAgdGhpcy5vblJvd1NvdXJjZUNoYW5nZWQoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5pc0NvbHVtbkRlZnNDaGFuZ2VkKGNoYW5nZXMpKSB7XHJcbiAgICAgIHRoaXMub25Db2x1bW5EZWZzQ2hhbmdlZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzU2VsZWN0aW9uQ2hhbmdlZChjaGFuZ2VzKSkge1xyXG4gICAgICB0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzU3VwcHJlc3NBY3Rpb25DaGFuZ2VkKGNoYW5nZXMpKSB7XHJcbiAgICAgIHRoaXMub25TdXBwcmVzc0FjdGlvbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBncmlkQXBpITogR3JpZEFwaTxhbnk+O1xyXG5cclxuICBwcml2YXRlIGlzR3JpZFJlYWR5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgbm9EYXRhOiBPYnNlcnZhYmxlPGFueT4gPSBvZihbXSk7XHJcblxyXG4gIHByaXZhdGUgcHJlcGFyZUNvbnRleHQoKSB7XHJcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5ncmlkQXBpLmdldEdyaWRPcHRpb24oXCJjb250ZXh0XCIpID8/IHt9O1xyXG4gICAgY29udGV4dFtcImNhY2hlQ29udGV4dFwiXSA9IHRoaXMuY2FjaGVDb250ZXh0O1xyXG4gICAgdGhpcy5ncmlkQXBpLnNldEdyaWRPcHRpb24oXCJjb250ZXh0XCIsIGNvbnRleHQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhcHBseVJlc3VsdChkYXRhOiBhbnkpIHtcclxuXHJcbiAgICBpZiAodGhpcy5pc0FycmF5KGRhdGEpKSB7XHJcbiAgICAgIHRoaXMuc2V0Um93RGF0YShkYXRhKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuaXNEYXRhU291cmNlKGRhdGEpKSB7XHJcbiAgICAgIHRoaXMuc2V0RGF0YVNvdXJjZShkYXRhKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFJvd0RhdGEoW10pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRSb3dEYXRhKHJvd1NvdXJjZTogYW55KSB7XHJcbiAgICB0aGlzLmdyaWQucm93TW9kZWxUeXBlID0gJ2NsaWVudFNpZGUnO1xyXG4gICAgaWYgKHRoaXMuaXNHcmlkUmVhZHkpIHtcclxuICAgICAgdGhpcy5ncmlkLmFwaS5zZXRHcmlkT3B0aW9uKCdyb3dEYXRhJywgcm93U291cmNlKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmdyaWQucm93RGF0YSA9IHJvd1NvdXJjZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLm9uUm93RGF0YUNoYW5nZWQodGhpcy5jb21wb25lbnQsIHRoaXMuZ3JpZEFwaSwgcm93U291cmNlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGF0YVNvdXJjZShyb3dTb3VyY2U6IGFueSkge1xyXG4gICAgdGhpcy5ncmlkLnJvd01vZGVsVHlwZSA9ICdpbmZpbml0ZSc7XHJcbiAgICBpZiAodGhpcy5pc0dyaWRSZWFkeSkge1xyXG4gICAgICB0aGlzLmdyaWQuYXBpLnNldEdyaWRPcHRpb24oJ2RhdGFzb3VyY2UnLCByb3dTb3VyY2UpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuZ3JpZC5kYXRhc291cmNlID0gcm93U291cmNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZ3JpZFNlcnZpY2Uub25EYXRhU291cmNlQ2hhbmdlZCh0aGlzLmNvbXBvbmVudCwgdGhpcy5ncmlkQXBpLCByb3dTb3VyY2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0FycmF5KHJvd1NvdXJjZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShyb3dTb3VyY2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0RhdGFTb3VyY2Uob2JqOiBhbnkpOiBvYmogaXMgSVJvd3NTb3VyY2Uge1xyXG4gICAgcmV0dXJuIG9iaiAmJiB0eXBlb2Ygb2JqLmdldFJvd3MgPT09IFwiZnVuY3Rpb25cIjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25HcmlkUmVhZHkoKSB7ICAgIFxyXG4gICAgdGhpcy5vbkNvbHVtbkRlZnNDaGFuZ2VkKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzUm93U291cmNlQ2hhbmdlZChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gWydyb3dTb3VyY2UnXS5zb21lKFxyXG4gICAgICBrZXkgPT4gISFjaGFuZ2VzW2tleV1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uUm93U291cmNlQ2hhbmdlZCgpIHtcclxuICAgIHRoaXMuY2FjaGVDb250ZXh0LmludmFsaWRhdGVBbGwoKTtcclxuICAgIGlmIChpc09ic2VydmFibGUodGhpcy5yb3dTb3VyY2UpKSB7XHJcbiAgICAgIHRoaXMud3JhcE9ic2VydmFibGUodGhpcy5yb3dTb3VyY2UpLnBpcGUoXHJcbiAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxyXG4gICAgICApLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgdGhpcy5hcHBseVJlc3VsdCh2YWx1ZSA/PyBbXSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5pc0RhdGFTb3VyY2UodGhpcy5yb3dTb3VyY2UpKSB7XHJcbiAgICAgIHRoaXMuYXBwbHlSZXN1bHQodGhpcy53cmFwUm93c1NvdXJjZSh0aGlzLnJvd1NvdXJjZSkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuYXBwbHlSZXN1bHQodGhpcy5yb3dTb3VyY2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0NvbHVtbkRlZnNDaGFuZ2VkKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBbJ2NvbHVtbkRlZnMnXS5zb21lKFxyXG4gICAgICBrZXkgPT4gISFjaGFuZ2VzW2tleV1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ29sdW1uRGVmc0NoYW5nZWQoKSB7XHJcbiAgICBpZiAodGhpcy5ncmlkQXBpKSB7XHJcbiAgICAgIGNvbnN0IGNvbHVtbkRlZiA9IHRoaXMuZ3JpZFNlcnZpY2UuZ2V0Q29sdW1uRGVmcyh0aGlzLmNvbXBvbmVudCwgdGhpcy5jb2x1bW5EZWZzLCB0aGlzLmZvcm1Hcm91cCk7XHJcbiAgICAgIHRoaXMuZ3JpZEFwaS5zZXRHcmlkT3B0aW9uKFwiY29sdW1uRGVmc1wiLCBjb2x1bW5EZWYpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1NlbGVjdGlvbkNoYW5nZWQoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIFsnc2VsZWN0YWJsZScsICdtdWx0aVNlbGVjdCddLnNvbWUoXHJcbiAgICAgIGtleSA9PiAhIWNoYW5nZXNba2V5XSAmJiAhY2hhbmdlc1trZXldLmlzRmlyc3RDaGFuZ2UoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25TZWxlY3Rpb25DaGFuZ2VkKCkge1xyXG4gICAgaWYgKHRoaXMuZ3JpZEFwaSkge1xyXG4gICAgICBjb25zdCByb3dTZWxlY3Rpb24gPSB0aGlzLmdyaWRTZXJ2aWNlLmdldFJvd1NlbGVjdGlvbih0aGlzLmNvbXBvbmVudCwgdGhpcy5mb3JtR3JvdXApO1xyXG4gICAgICB0aGlzLmdyaWRBcGkuc2V0R3JpZE9wdGlvbihcInJvd1NlbGVjdGlvblwiLCByb3dTZWxlY3Rpb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1N1cHByZXNzQWN0aW9uQ2hhbmdlZChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gWydzdXBwcmVzc0FjdGlvbnMnXS5zb21lKFxyXG4gICAgICBrZXkgPT4gISFjaGFuZ2VzW2tleV0gJiYgIWNoYW5nZXNba2V5XS5pc0ZpcnN0Q2hhbmdlKClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uU3VwcHJlc3NBY3Rpb24oKSB7XHJcbiAgICBpZiAodGhpcy5ncmlkQXBpKSB7XHJcbiAgICAgIHRoaXMuZ3JpZEFwaS5zZXRDb2x1bW5zVmlzaWJsZShbXCJhY3Rpb25zXCJdLCAhKHRoaXMuc3VwcHJlc3NBY3Rpb25zID8/IGZhbHNlKSk7XHJcbiAgICAgIHRoaXMuZ3JpZFNlcnZpY2UucmVzaXplR3JpZCh0aGlzLmNvbXBvbmVudCwgdGhpcy5ncmlkQXBpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2hvd0xvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGlmICh0aGlzLmdyaWRBcGkpIHtcclxuICAgICAgdGhpcy5ncmlkQXBpLnNldEdyaWRPcHRpb24oJ2xvYWRpbmcnLCB2YWx1ZSk7XHJcbiAgICB9ICAgIFxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaG93TG9hZEVycm9yKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICBpZiAoIXRoaXMuZ3JpZEFwaSkgcmV0dXJuO1xyXG5cclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLmdyaWQuYXBpLnNldEdyaWRPcHRpb24oJ292ZXJsYXlOb1Jvd3NUZW1wbGF0ZScsIHRoaXMubG9jYWxlKFRleHRzLCAnTG9hZGluZ0ZhaWxlZCcpKTtcclxuICAgICAgdGhpcy5ncmlkLmFwaS5zaG93Tm9Sb3dzT3ZlcmxheSgpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuZ3JpZC5hcGkuc2V0R3JpZE9wdGlvbignb3ZlcmxheU5vUm93c1RlbXBsYXRlJywgdW5kZWZpbmVkKTsgICBcclxuICAgIH0gICAgXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBsYW5ndWFnZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLmdldExhbmd1YWdlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvY2FsZShjb21wb25lbnQ6IGFueSwga2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGxvY2FsaXplKHRoaXMubGFuZ3VhZ2UsIGNvbXBvbmVudCwga2V5KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgd3JhcE9ic2VydmFibGU8VD4oc291cmNlOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICB0aGlzLnNob3dMb2FkaW5nKHRydWUpO1xyXG4gICAgdGhpcy5zaG93TG9hZEVycm9yKGZhbHNlKTtcclxuXHJcbiAgICByZXR1cm4gc291cmNlLnBpcGUoXHJcbiAgICAgIHRhcCgoKSA9PiB0aGlzLnNob3dMb2FkRXJyb3IoZmFsc2UpKSxcclxuICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xyXG4gICAgICAgIHRoaXMuc2hvd0xvYWRFcnJvcih0cnVlKTsgICAgICAgIFxyXG4gICAgICAgIHJldHVybiB0aGlzLm5vRGF0YTtcclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuc2hvd0xvYWRpbmcoZmFsc2UpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgd3JhcFJvd3NTb3VyY2Uoc291cmNlOiBJUm93c1NvdXJjZSk6IElSb3dzU291cmNlIHtcclxuXHJcbiAgICBjb25zdCB0aGlzUmVmID0gdGhpcztcclxuXHJcbiAgICBmdW5jdGlvbiB3cmFwUGFyYW1zKHBhcmFtczogSUdldFJvd3NQYXJhbXMpOiBJR2V0Um93c1BhcmFtcyB7XHJcbiAgICAgIHRoaXNSZWYuc2hvd0xvYWRpbmcodHJ1ZSk7XHJcbiAgICAgIHRoaXNSZWYuc2hvd0xvYWRFcnJvcihmYWxzZSk7XHJcblxyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLnBhcmFtcyxcclxuICAgICAgICBzdWNjZXNzQ2FsbGJhY2s6IChyb3dzLCBsYXN0Um93KSA9PiB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBwYXJhbXMuc3VjY2Vzc0NhbGxiYWNrKHJvd3MsIGxhc3RSb3cpO1xyXG4gICAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgdGhpc1JlZi5zaG93TG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBmYWlsQ2FsbGJhY2s6ICgpID0+IHtcclxuICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHBhcmFtcy5mYWlsQ2FsbGJhY2soKTtcclxuICAgICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHRoaXNSZWYuc2hvd0xvYWRpbmcoZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzUmVmLnNob3dMb2FkRXJyb3IodHJ1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGdldFJvd3M6IChwYXJhbXM6IElHZXRSb3dzUGFyYW1zKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgd3JhcHBlZCA9IHdyYXBQYXJhbXMocGFyYW1zKTtcclxuICAgICAgICBzb3VyY2UuZ2V0Um93cyh3cmFwcGVkKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9kaXJlY3RpdmVzL2dyaWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixJQUFJLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFekYsT0FBTyxFQUFjLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBTWhFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR2hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7OztBQVU5QyxNQUFNLE9BQU8sYUFBYTtJQVVOO0lBQ1I7SUFDQTtJQUNBO0lBQ0E7SUFiRCxTQUFTLENBQU87SUFDaEIsVUFBVSxHQUFRLElBQUksQ0FBQztJQUN2QixVQUFVLEdBQW1CLElBQUksQ0FBQztJQUNsQyxXQUFXLEdBQW1CLElBQUksQ0FBQztJQUNuQyxlQUFlLEdBQW1CLElBQUksQ0FBQztJQUN2QyxTQUFTLENBQWE7SUFDWixTQUFTLEdBQVEsSUFBSSxDQUFDO0lBRXpDLFlBQ2tCLElBQW1CLEVBQzNCLFdBQXdCLEVBQ3hCLFlBQWlDLEVBQ2pDLGVBQWdDLEVBQ2hDLFVBQXNCO1FBSmQsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsb0JBQWUsR0FB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O3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNhLFNBQVM7c0JBQTNCLEtBQUs7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgSG9zdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIGlzT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YWtlLCB0YXAsIGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7IERlc3Ryb3lSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWdHcmlkQW5ndWxhciB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XHJcbmltcG9ydCB7IElHZXRSb3dzUGFyYW1zLCBHcmlkQXBpIH0gZnJvbSBcImFnLWdyaWQtY29tbXVuaXR5XCI7XHJcbmltcG9ydCB7IElSb3dzU291cmNlIH0gZnJvbSAnLi4vZGF0YVNvdXJjZXMvaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZ3JpZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FjaGVDb250ZXh0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NhY2hlLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQHdlbWFrZTR1L2ludGVyYWN0JztcclxuaW1wb3J0IHsgVGV4dHMgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlJztcclxuaW1wb3J0IHsgbG9jYWxpemUgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxpemUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbcm93U291cmNlXSwgW2NvbHVtbkRlZnNdLCBbc2VsZWN0YWJsZV0sIFttdWx0aVNlbGVjdF0sIFtzdXBwcmVzc0FjdGlvbnNdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgQ2FjaGVDb250ZXh0U2VydmljZVxyXG4gIF0sXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgR3JpZERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgcm93U291cmNlITogYW55O1xyXG4gIEBJbnB1dCgpIGNvbHVtbkRlZnM6IGFueSA9IG51bGw7XHJcbiAgQElucHV0KCkgc2VsZWN0YWJsZTogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIG11bHRpU2VsZWN0OiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgc3VwcHJlc3NBY3Rpb25zOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwOyAgXHJcbiAgQElucHV0KFwicmVnaXN0ZXJcIikgY29tcG9uZW50OiBhbnkgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBIb3N0KCkgcHJpdmF0ZSBncmlkOiBBZ0dyaWRBbmd1bGFyLFxyXG4gICAgcHJpdmF0ZSBncmlkU2VydmljZTogR3JpZFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNhY2hlQ29udGV4dDogQ2FjaGVDb250ZXh0U2VydmljZSxcclxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWZcclxuICApIHtcclxuXHJcbiAgICBncmlkLmdyaWRSZWFkeVxyXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcclxuICAgICAgLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XHJcbiAgICAgIHRoaXMuZ3JpZEFwaSA9IHBhcmFtcy5hcGk7XHJcbiAgICAgIHRoaXMucHJlcGFyZUNvbnRleHQoKTtcclxuICAgICAgdGhpcy5pc0dyaWRSZWFkeSA9IHRydWU7XHJcbiAgICAgIHRoaXMub25HcmlkUmVhZHkoKTsgICAgICBcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9odHRwczovL3d3dy5hZy1ncmlkLmNvbS9hbmd1bGFyLWRhdGEtZ3JpZC9jb2x1bW4tdXBkYXRpbmctZGVmaW5pdGlvbnMvXHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAodGhpcy5pc1Jvd1NvdXJjZUNoYW5nZWQoY2hhbmdlcykpIHtcclxuICAgICAgdGhpcy5vblJvd1NvdXJjZUNoYW5nZWQoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5pc0NvbHVtbkRlZnNDaGFuZ2VkKGNoYW5nZXMpKSB7XHJcbiAgICAgIHRoaXMub25Db2x1bW5EZWZzQ2hhbmdlZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzU2VsZWN0aW9uQ2hhbmdlZChjaGFuZ2VzKSkge1xyXG4gICAgICB0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzU3VwcHJlc3NBY3Rpb25DaGFuZ2VkKGNoYW5nZXMpKSB7XHJcbiAgICAgIHRoaXMub25TdXBwcmVzc0FjdGlvbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBncmlkQXBpITogR3JpZEFwaTxhbnk+O1xyXG5cclxuICBwcml2YXRlIGlzR3JpZFJlYWR5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgbm9EYXRhOiBPYnNlcnZhYmxlPGFueT4gPSBvZihbXSk7XHJcblxyXG4gIHByaXZhdGUgcHJlcGFyZUNvbnRleHQoKSB7XHJcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5ncmlkQXBpLmdldEdyaWRPcHRpb24oXCJjb250ZXh0XCIpID8/IHt9O1xyXG4gICAgY29udGV4dFtcImNhY2hlQ29udGV4dFwiXSA9IHRoaXMuY2FjaGVDb250ZXh0O1xyXG4gICAgdGhpcy5ncmlkQXBpLnNldEdyaWRPcHRpb24oXCJjb250ZXh0XCIsIGNvbnRleHQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhcHBseVJlc3VsdChkYXRhOiBhbnkpIHtcclxuXHJcbiAgICBpZiAodGhpcy5pc0FycmF5KGRhdGEpKSB7XHJcbiAgICAgIHRoaXMuc2V0Um93RGF0YShkYXRhKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuaXNEYXRhU291cmNlKGRhdGEpKSB7XHJcbiAgICAgIHRoaXMuc2V0RGF0YVNvdXJjZShkYXRhKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFJvd0RhdGEoW10pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRSb3dEYXRhKHJvd1NvdXJjZTogYW55KSB7XHJcbiAgICB0aGlzLmdyaWQucm93TW9kZWxUeXBlID0gJ2NsaWVudFNpZGUnO1xyXG4gICAgaWYgKHRoaXMuaXNHcmlkUmVhZHkpIHtcclxuICAgICAgdGhpcy5ncmlkLmFwaS5zZXRHcmlkT3B0aW9uKCdyb3dEYXRhJywgcm93U291cmNlKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmdyaWQucm93RGF0YSA9IHJvd1NvdXJjZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLm9uUm93RGF0YUNoYW5nZWQodGhpcy5jb21wb25lbnQsIHRoaXMuZ3JpZEFwaSwgcm93U291cmNlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGF0YVNvdXJjZShyb3dTb3VyY2U6IGFueSkge1xyXG4gICAgdGhpcy5ncmlkLnJvd01vZGVsVHlwZSA9ICdpbmZpbml0ZSc7XHJcbiAgICBpZiAodGhpcy5pc0dyaWRSZWFkeSkge1xyXG4gICAgICB0aGlzLmdyaWQuYXBpLnNldEdyaWRPcHRpb24oJ2RhdGFzb3VyY2UnLCByb3dTb3VyY2UpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuZ3JpZC5kYXRhc291cmNlID0gcm93U291cmNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZ3JpZFNlcnZpY2Uub25EYXRhU291cmNlQ2hhbmdlZCh0aGlzLmNvbXBvbmVudCwgdGhpcy5ncmlkQXBpLCByb3dTb3VyY2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0FycmF5KHJvd1NvdXJjZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShyb3dTb3VyY2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0RhdGFTb3VyY2Uob2JqOiBhbnkpOiBvYmogaXMgSVJvd3NTb3VyY2Uge1xyXG4gICAgcmV0dXJuIG9iaiAmJiB0eXBlb2Ygb2JqLmdldFJvd3MgPT09IFwiZnVuY3Rpb25cIjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25HcmlkUmVhZHkoKSB7ICAgIFxyXG4gICAgdGhpcy5vbkNvbHVtbkRlZnNDaGFuZ2VkKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzUm93U291cmNlQ2hhbmdlZChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gWydyb3dTb3VyY2UnXS5zb21lKFxyXG4gICAgICBrZXkgPT4gISFjaGFuZ2VzW2tleV1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uUm93U291cmNlQ2hhbmdlZCgpIHtcclxuICAgIHRoaXMuY2FjaGVDb250ZXh0LmludmFsaWRhdGVBbGwoKTtcclxuICAgIGlmIChpc09ic2VydmFibGUodGhpcy5yb3dTb3VyY2UpKSB7XHJcbiAgICAgIHRoaXMud3JhcE9ic2VydmFibGUodGhpcy5yb3dTb3VyY2UpLnBpcGUoXHJcbiAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxyXG4gICAgICApLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgdGhpcy5hcHBseVJlc3VsdCh2YWx1ZSA/PyBbXSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5pc0RhdGFTb3VyY2UodGhpcy5yb3dTb3VyY2UpKSB7XHJcbiAgICAgIHRoaXMuYXBwbHlSZXN1bHQodGhpcy53cmFwUm93c1NvdXJjZSh0aGlzLnJvd1NvdXJjZSkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuYXBwbHlSZXN1bHQodGhpcy5yb3dTb3VyY2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0NvbHVtbkRlZnNDaGFuZ2VkKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBbJ2NvbHVtbkRlZnMnXS5zb21lKFxyXG4gICAgICBrZXkgPT4gISFjaGFuZ2VzW2tleV1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ29sdW1uRGVmc0NoYW5nZWQoKSB7XHJcbiAgICBpZiAodGhpcy5ncmlkQXBpKSB7XHJcbiAgICAgIGNvbnN0IGNvbHVtbkRlZiA9IHRoaXMuZ3JpZFNlcnZpY2UuZ2V0Q29sdW1uRGVmcyh0aGlzLmNvbXBvbmVudCwgdGhpcy5jb2x1bW5EZWZzLCB0aGlzLmZvcm1Hcm91cCk7XHJcbiAgICAgIHRoaXMuZ3JpZEFwaS5zZXRHcmlkT3B0aW9uKFwiY29sdW1uRGVmc1wiLCBjb2x1bW5EZWYpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1NlbGVjdGlvbkNoYW5nZWQoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIFsnc2VsZWN0YWJsZScsICdtdWx0aVNlbGVjdCddLnNvbWUoXHJcbiAgICAgIGtleSA9PiAhIWNoYW5nZXNba2V5XSAmJiAhY2hhbmdlc1trZXldLmlzRmlyc3RDaGFuZ2UoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25TZWxlY3Rpb25DaGFuZ2VkKCkge1xyXG4gICAgaWYgKHRoaXMuZ3JpZEFwaSkge1xyXG4gICAgICBjb25zdCByb3dTZWxlY3Rpb24gPSB0aGlzLmdyaWRTZXJ2aWNlLmdldFJvd1NlbGVjdGlvbih0aGlzLmNvbXBvbmVudCwgdGhpcy5mb3JtR3JvdXApO1xyXG4gICAgICB0aGlzLmdyaWRBcGkuc2V0R3JpZE9wdGlvbihcInJvd1NlbGVjdGlvblwiLCByb3dTZWxlY3Rpb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1N1cHByZXNzQWN0aW9uQ2hhbmdlZChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gWydzdXBwcmVzc0FjdGlvbnMnXS5zb21lKFxyXG4gICAgICBrZXkgPT4gISFjaGFuZ2VzW2tleV0gJiYgIWNoYW5nZXNba2V5XS5pc0ZpcnN0Q2hhbmdlKClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uU3VwcHJlc3NBY3Rpb24oKSB7XHJcbiAgICBpZiAodGhpcy5ncmlkQXBpKSB7XHJcbiAgICAgIHRoaXMuZ3JpZEFwaS5zZXRDb2x1bW5zVmlzaWJsZShbXCJhY3Rpb25zXCJdLCAhKHRoaXMuc3VwcHJlc3NBY3Rpb25zID8/IGZhbHNlKSk7XHJcbiAgICAgIHRoaXMuZ3JpZFNlcnZpY2UucmVzaXplR3JpZCh0aGlzLmNvbXBvbmVudCwgdGhpcy5ncmlkQXBpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2hvd0xvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGlmICh0aGlzLmdyaWRBcGkpIHtcclxuICAgICAgdGhpcy5ncmlkQXBpLnNldEdyaWRPcHRpb24oJ2xvYWRpbmcnLCB2YWx1ZSk7XHJcbiAgICB9ICAgIFxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaG93TG9hZEVycm9yKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICBpZiAoIXRoaXMuZ3JpZEFwaSkgcmV0dXJuO1xyXG5cclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLmdyaWQuYXBpLnNldEdyaWRPcHRpb24oJ292ZXJsYXlOb1Jvd3NUZW1wbGF0ZScsIHRoaXMubG9jYWxlKFRleHRzLCAnTG9hZGluZ0ZhaWxlZCcpKTtcclxuICAgICAgdGhpcy5ncmlkLmFwaS5zaG93Tm9Sb3dzT3ZlcmxheSgpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuZ3JpZC5hcGkuc2V0R3JpZE9wdGlvbignb3ZlcmxheU5vUm93c1RlbXBsYXRlJywgdW5kZWZpbmVkKTsgICBcclxuICAgIH0gICAgXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBsYW5ndWFnZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLmdldExhbmd1YWdlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvY2FsZShjb21wb25lbnQ6IGFueSwga2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGxvY2FsaXplKHRoaXMubGFuZ3VhZ2UsIGNvbXBvbmVudCwga2V5KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgd3JhcE9ic2VydmFibGU8VD4oc291cmNlOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICB0aGlzLnNob3dMb2FkaW5nKHRydWUpO1xyXG4gICAgdGhpcy5zaG93TG9hZEVycm9yKGZhbHNlKTtcclxuXHJcbiAgICByZXR1cm4gc291cmNlLnBpcGUoXHJcbiAgICAgIHRhcCgoKSA9PiB0aGlzLnNob3dMb2FkRXJyb3IoZmFsc2UpKSxcclxuICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xyXG4gICAgICAgIHRoaXMuc2hvd0xvYWRFcnJvcih0cnVlKTsgICAgICAgIFxyXG4gICAgICAgIHJldHVybiB0aGlzLm5vRGF0YTtcclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuc2hvd0xvYWRpbmcoZmFsc2UpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgd3JhcFJvd3NTb3VyY2Uoc291cmNlOiBJUm93c1NvdXJjZSk6IElSb3dzU291cmNlIHtcclxuXHJcbiAgICBjb25zdCB0aGlzUmVmID0gdGhpcztcclxuXHJcbiAgICBmdW5jdGlvbiB3cmFwUGFyYW1zKHBhcmFtczogSUdldFJvd3NQYXJhbXMpOiBJR2V0Um93c1BhcmFtcyB7XHJcbiAgICAgIHRoaXNSZWYuc2hvd0xvYWRpbmcodHJ1ZSk7XHJcbiAgICAgIHRoaXNSZWYuc2hvd0xvYWRFcnJvcihmYWxzZSk7XHJcblxyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLnBhcmFtcyxcclxuICAgICAgICBzdWNjZXNzQ2FsbGJhY2s6IChyb3dzLCBsYXN0Um93KSA9PiB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBwYXJhbXMuc3VjY2Vzc0NhbGxiYWNrKHJvd3MsIGxhc3RSb3cpO1xyXG4gICAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgdGhpc1JlZi5zaG93TG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBmYWlsQ2FsbGJhY2s6ICgpID0+IHtcclxuICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHBhcmFtcy5mYWlsQ2FsbGJhY2soKTtcclxuICAgICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHRoaXNSZWYuc2hvd0xvYWRpbmcoZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzUmVmLnNob3dMb2FkRXJyb3IodHJ1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGdldFJvd3M6IChwYXJhbXM6IElHZXRSb3dzUGFyYW1zKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgd3JhcHBlZCA9IHdyYXBQYXJhbXMocGFyYW1zKTtcclxuICAgICAgICBzb3VyY2UuZ2V0Um93cyh3cmFwcGVkKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,37 +1,38 @@
1
1
  import { Directive, Input } from '@angular/core';
2
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@angular/forms";
4
5
  import * as i2 from "../services/global.service";
5
6
  export class ReadOnlyDirective {
6
7
  ngControl;
7
8
  global;
9
+ destroyRef;
8
10
  el;
9
11
  renderer;
10
12
  readonly = null;
11
13
  placeholder = null;
12
14
  componentRef;
13
15
  properties;
14
- constructor(ngControl, global, el, renderer) {
16
+ constructor(ngControl, global, destroyRef, el, renderer) {
15
17
  this.ngControl = ngControl;
16
18
  this.global = global;
19
+ this.destroyRef = destroyRef;
17
20
  this.el = el;
18
21
  this.renderer = renderer;
19
22
  }
20
23
  disableClass = "is-disabled";
21
24
  readonlyClass = "is-readonly";
22
25
  lightReadonlyClass = "light-readonly";
23
- sub;
24
26
  ngOnInit() {
25
27
  const control = this.ngControl.control;
26
28
  if (control) {
27
- this.sub = control.statusChanges.subscribe(_ => {
29
+ control.statusChanges
30
+ .pipe(takeUntilDestroyed(this.destroyRef))
31
+ .subscribe(_ => {
28
32
  this.apply();
29
33
  });
30
34
  }
31
35
  }
32
- ngOnDestroy() {
33
- this.sub?.unsubscribe();
34
- }
35
36
  ngOnChanges(changes) {
36
37
  if (changes["readonly"]) {
37
38
  this.apply();
@@ -80,7 +81,7 @@ export class ReadOnlyDirective {
80
81
  return true;
81
82
  return (value === "yes");
82
83
  }
83
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ReadOnlyDirective, deps: [{ token: i1.NgControl }, { token: i2.GlobalService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
84
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ReadOnlyDirective, deps: [{ token: i1.NgControl }, { token: i2.GlobalService }, { token: i0.DestroyRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
84
85
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: ReadOnlyDirective, isStandalone: true, selector: "[readonly]", inputs: { readonly: "readonly", placeholder: "placeholder", componentRef: "componentRef", properties: "properties" }, usesOnChanges: true, ngImport: i0 });
85
86
  }
86
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ReadOnlyDirective, decorators: [{
@@ -89,7 +90,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
89
90
  selector: '[readonly]',
90
91
  standalone: true
91
92
  }]
92
- }], ctorParameters: () => [{ type: i1.NgControl }, { type: i2.GlobalService }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { readonly: [{
93
+ }], ctorParameters: () => [{ type: i1.NgControl }, { type: i2.GlobalService }, { type: i0.DestroyRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { readonly: [{
93
94
  type: Input
94
95
  }], placeholder: [{
95
96
  type: Input
@@ -98,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
98
99
  }], properties: [{
99
100
  type: Input
100
101
  }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvZGlyZWN0aXZlcy9yZWFkb25seS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQW1ELE1BQU0sZUFBZSxDQUFDOzs7O0FBU2xHLE1BQU0sT0FBTyxpQkFBaUI7SUFNUjtJQUNSO0lBQ0E7SUFDQTtJQVJILFFBQVEsR0FBbUIsSUFBSSxDQUFDO0lBQ2hDLFdBQVcsR0FBa0IsSUFBSSxDQUFDO0lBQ2xDLFlBQVksQ0FBTTtJQUNsQixVQUFVLENBQU07SUFFekIsWUFBb0IsU0FBb0IsRUFDNUIsTUFBcUIsRUFDckIsRUFBYyxFQUNkLFFBQW1CO1FBSFgsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQy9CLENBQUM7SUFFTyxZQUFZLEdBQVcsYUFBYSxDQUFDO0lBQ3JDLGFBQWEsR0FBVyxhQUFhLENBQUM7SUFDdEMsa0JBQWtCLEdBQVcsZ0JBQWdCLENBQUM7SUFFOUMsR0FBRyxDQUFnQjtJQUUzQixRQUFRO1FBQ04sTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDdkMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzdDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFTyxLQUFLO1FBQ1gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBQ3JCLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUM7WUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFxQixFQUFFLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2xFLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyQyxDQUFDO2lCQUNJLENBQUM7Z0JBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2pELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFjLEVBQUUsU0FBaUI7UUFDbkQsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzNELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUQsQ0FBQztJQUNILENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxLQUFjO1FBQ3hDLElBQUksYUFBYSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxLQUFLO2dCQUNuQyxDQUFDLENBQUMsR0FBRztnQkFDTCxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLGdCQUFnQjtlQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4RCxJQUFJLEtBQUssS0FBSyxLQUFLLElBQUksS0FBSyxLQUFLLElBQUk7WUFDbkMsT0FBTyxJQUFJLENBQUM7UUFDZCxPQUFPLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7d0dBL0VVLGlCQUFpQjs0RkFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7MkpBRVUsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgRWxlbWVudFJlZiwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEdsb2JhbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9nbG9iYWwuc2VydmljZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tyZWFkb25seV0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlYWRPbmx5RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBjb21wb25lbnRSZWY6IGFueTtcclxuICBASW5wdXQoKSBwcm9wZXJ0aWVzOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdDb250cm9sOiBOZ0NvbnRyb2xcclxuICAgICwgcHJpdmF0ZSBnbG9iYWw6IEdsb2JhbFNlcnZpY2VcclxuICAgICwgcHJpdmF0ZSBlbDogRWxlbWVudFJlZlxyXG4gICAgLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGlzYWJsZUNsYXNzOiBzdHJpbmcgPSBcImlzLWRpc2FibGVkXCI7XHJcbiAgcHJpdmF0ZSByZWFkb25seUNsYXNzOiBzdHJpbmcgPSBcImlzLXJlYWRvbmx5XCI7XHJcbiAgcHJpdmF0ZSBsaWdodFJlYWRvbmx5Q2xhc3M6IHN0cmluZyA9IFwibGlnaHQtcmVhZG9ubHlcIjtcclxuXHJcbiAgcHJpdmF0ZSBzdWI/OiBTdWJzY3JpcHRpb247XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMubmdDb250cm9sLmNvbnRyb2w7XHJcbiAgICBpZiAoY29udHJvbCkge1xyXG4gICAgICB0aGlzLnN1YiA9IGNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoXyA9PiB7XHJcbiAgICAgICAgdGhpcy5hcHBseSgpOyAgICAgICAgXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnN1Yj8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzW1wicmVhZG9ubHlcIl0pIHtcclxuICAgICAgdGhpcy5hcHBseSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhcHBseSgpIHtcclxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLm5nQ29udHJvbC5jb250cm9sO1xyXG4gICAgaWYgKCFjb250cm9sKSByZXR1cm47XHJcbiAgICBpZiAoY29udHJvbC5kaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLnRvZ2dsZUNsYXNzKHRydWUsIHRoaXMuZGlzYWJsZUNsYXNzKTtcclxuICAgICAgdGhpcy5vdmVycmlkZVBsYWNlaG9sZGVyKGZhbHNlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlQ2xhc3MoZmFsc2UsIHRoaXMuZGlzYWJsZUNsYXNzKTtcclxuICAgICAgY29uc3QgcmVhZG9ubHkgPSB0aGlzLnJlYWRvbmx5ID09PSB0cnVlO1xyXG4gICAgICAodGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciBhcyBhbnkpPy5zZXREaXNhYmxlZFN0YXRlKHJlYWRvbmx5KTtcclxuICAgICAgaWYgKHRoaXMudXNlTGlnaHRSZWFkb25seSgpKSB7XHJcbiAgICAgICAgdGhpcy50b2dnbGVDbGFzcyhyZWFkb25seSwgdGhpcy5saWdodFJlYWRvbmx5Q2xhc3MpO1xyXG4gICAgICAgIHRoaXMub3ZlcnJpZGVQbGFjZWhvbGRlcihyZWFkb25seSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy50b2dnbGVDbGFzcyhyZWFkb25seSwgdGhpcy5yZWFkb25seUNsYXNzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0b2dnbGVDbGFzcyh2YWx1ZTogYm9vbGVhbiwgY2xhc3NOYW1lOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgY2xhc3NOYW1lKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCBjbGFzc05hbWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvdmVycmlkZVBsYWNlaG9sZGVyKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICBpZiAoJ3BsYWNlaG9sZGVyJyBpbiB0aGlzLmNvbXBvbmVudFJlZikge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5wbGFjZWhvbGRlciA9IHZhbHVlXHJcbiAgICAgICAgPyBcIi1cIlxyXG4gICAgICAgIDogdGhpcy5wbGFjZWhvbGRlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXNlTGlnaHRSZWFkb25seSgpIHtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5wcm9wZXJ0aWVzPy51c2VMaWdodFJlYWRvbmx5XHJcbiAgICAgIHx8IHRoaXMuZ2xvYmFsLmdldFByb3BlcnR5KFwidXNlTGlnaHRSZWFkb25seVwiLCBcInllc1wiKTtcclxuICAgIGlmICh2YWx1ZSAhPT0gXCJ5ZXNcIiAmJiB2YWx1ZSAhPT0gXCJub1wiKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiAodmFsdWUgPT09IFwieWVzXCIpO1xyXG4gIH1cclxufVxyXG4iXX0=
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvZGlyZWN0aXZlcy9yZWFkb25seS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQStELE1BQU0sZUFBZSxDQUFDO0FBRzlHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBTWhFLE1BQU0sT0FBTyxpQkFBaUI7SUFNUjtJQUNSO0lBQ0E7SUFDQTtJQUNBO0lBVEgsUUFBUSxHQUFtQixJQUFJLENBQUM7SUFDaEMsV0FBVyxHQUFrQixJQUFJLENBQUM7SUFDbEMsWUFBWSxDQUFNO0lBQ2xCLFVBQVUsQ0FBTTtJQUV6QixZQUFvQixTQUFvQixFQUM1QixNQUFxQixFQUNyQixVQUFzQixFQUN0QixFQUFjLEVBQ2QsUUFBbUI7UUFKWCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQzVCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUMvQixDQUFDO0lBRU8sWUFBWSxHQUFXLGFBQWEsQ0FBQztJQUNyQyxhQUFhLEdBQVcsYUFBYSxDQUFDO0lBQ3RDLGtCQUFrQixHQUFXLGdCQUFnQixDQUFDO0lBRXRELFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUN2QyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxDQUFDLGFBQWE7aUJBQ2xCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ3pDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDYixJQUFJLENBQUMsS0FB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bmdlcywgU2ltcGxlQ2hhbmdlcywgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBEZXN0cm95UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgR2xvYmFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2dsb2JhbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbcmVhZG9ubHldJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWFkT25seURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgY29tcG9uZW50UmVmOiBhbnk7XHJcbiAgQElucHV0KCkgcHJvcGVydGllczogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nQ29udHJvbDogTmdDb250cm9sXHJcbiAgICAsIHByaXZhdGUgZ2xvYmFsOiBHbG9iYWxTZXJ2aWNlXHJcbiAgICAsIHByaXZhdGUgZGVzdHJveVJlZjogRGVzdHJveVJlZlxyXG4gICAgLCBwcml2YXRlIGVsOiBFbGVtZW50UmVmXHJcbiAgICAsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkaXNhYmxlQ2xhc3M6IHN0cmluZyA9IFwiaXMtZGlzYWJsZWRcIjtcclxuICBwcml2YXRlIHJlYWRvbmx5Q2xhc3M6IHN0cmluZyA9IFwiaXMtcmVhZG9ubHlcIjtcclxuICBwcml2YXRlIGxpZ2h0UmVhZG9ubHlDbGFzczogc3RyaW5nID0gXCJsaWdodC1yZWFkb25seVwiO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLm5nQ29udHJvbC5jb250cm9sO1xyXG4gICAgaWYgKGNvbnRyb2wpIHtcclxuICAgICAgY29udHJvbC5zdGF0dXNDaGFuZ2VzXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXHJcbiAgICAgICAgLnN1YnNjcmliZShfID0+IHtcclxuICAgICAgICAgIHRoaXMuYXBwbHkoKTsgICAgICAgIFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbXCJyZWFkb25seVwiXSkge1xyXG4gICAgICB0aGlzLmFwcGx5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFwcGx5KCkge1xyXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMubmdDb250cm9sLmNvbnRyb2w7XHJcbiAgICBpZiAoIWNvbnRyb2wpIHJldHVybjtcclxuICAgIGlmIChjb250cm9sLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlQ2xhc3ModHJ1ZSwgdGhpcy5kaXNhYmxlQ2xhc3MpO1xyXG4gICAgICB0aGlzLm92ZXJyaWRlUGxhY2Vob2xkZXIoZmFsc2UpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b2dnbGVDbGFzcyhmYWxzZSwgdGhpcy5kaXNhYmxlQ2xhc3MpO1xyXG4gICAgICBjb25zdCByZWFkb25seSA9IHRoaXMucmVhZG9ubHkgPT09IHRydWU7XHJcbiAgICAgICh0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yIGFzIGFueSk/LnNldERpc2FibGVkU3RhdGUocmVhZG9ubHkpO1xyXG4gICAgICBpZiAodGhpcy51c2VMaWdodFJlYWRvbmx5KCkpIHtcclxuICAgICAgICB0aGlzLnRvZ2dsZUNsYXNzKHJlYWRvbmx5LCB0aGlzLmxpZ2h0UmVhZG9ubHlDbGFzcyk7XHJcbiAgICAgICAgdGhpcy5vdmVycmlkZVBsYWNlaG9sZGVyKHJlYWRvbmx5KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLnRvZ2dsZUNsYXNzKHJlYWRvbmx5LCB0aGlzLnJlYWRvbmx5Q2xhc3MpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvZ2dsZUNsYXNzKHZhbHVlOiBib29sZWFuLCBjbGFzc05hbWU6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCBjbGFzc05hbWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGNsYXNzTmFtZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG92ZXJyaWRlUGxhY2Vob2xkZXIodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGlmICgncGxhY2Vob2xkZXInIGluIHRoaXMuY29tcG9uZW50UmVmKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLnBsYWNlaG9sZGVyID0gdmFsdWVcclxuICAgICAgICA/IFwiLVwiXHJcbiAgICAgICAgOiB0aGlzLnBsYWNlaG9sZGVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1c2VMaWdodFJlYWRvbmx5KCkge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnByb3BlcnRpZXM/LnVzZUxpZ2h0UmVhZG9ubHlcclxuICAgICAgfHwgdGhpcy5nbG9iYWwuZ2V0UHJvcGVydHkoXCJ1c2VMaWdodFJlYWRvbmx5XCIsIFwieWVzXCIpO1xyXG4gICAgaWYgKHZhbHVlICE9PSBcInllc1wiICYmIHZhbHVlICE9PSBcIm5vXCIpXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgcmV0dXJuICh2YWx1ZSA9PT0gXCJ5ZXNcIik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -3,19 +3,20 @@ import { RegisterService } from '../services/register.service';
3
3
  import { createControl } from '../controls/factory';
4
4
  import { DynamicFieldsComponent } from '../dynamic-fields/dynamic-fields.component';
5
5
  import { ItemControl } from '../controls/control';
6
- import { Subject } from 'rxjs';
7
- import { takeUntil } from 'rxjs/operators';
6
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
8
7
  import * as i0 from "@angular/core";
9
8
  import * as i1 from "../services/register.service";
10
9
  export class RegisterDirective {
11
10
  el;
11
+ destroyRef;
12
12
  registerService;
13
13
  register = null;
14
14
  componentRef;
15
15
  dynamicField;
16
16
  itemFields;
17
- constructor(el, registerService) {
17
+ constructor(el, destroyRef, registerService) {
18
18
  this.el = el;
19
+ this.destroyRef = destroyRef;
19
20
  this.registerService = registerService;
20
21
  }
21
22
  ngAfterContentInit() {
@@ -23,10 +24,7 @@ export class RegisterDirective {
23
24
  }
24
25
  ngOnDestroy() {
25
26
  this.unregisterControl();
26
- this.destroy$.next();
27
- this.destroy$.complete();
28
27
  }
29
- destroy$ = new Subject();
30
28
  registerControl() {
31
29
  const name = this.getName();
32
30
  const register = (this.register.type === 'dynamiclist')
@@ -54,13 +52,13 @@ export class RegisterDirective {
54
52
  };
55
53
  registerAll(itemFields);
56
54
  itemFields.changes
57
- .pipe(takeUntil(this.destroy$))
55
+ .pipe(takeUntilDestroyed(this.destroyRef))
58
56
  .subscribe((itemFields) => {
59
57
  registerAll(itemFields);
60
58
  });
61
59
  return newRegister;
62
60
  }
63
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RegisterDirective, deps: [{ token: i0.ElementRef }, { token: i1.RegisterService }], target: i0.ɵɵFactoryTarget.Directive });
61
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RegisterDirective, deps: [{ token: i0.ElementRef }, { token: i0.DestroyRef }, { token: i1.RegisterService }], target: i0.ɵɵFactoryTarget.Directive });
64
62
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: RegisterDirective, isStandalone: true, selector: "[register]", inputs: { register: "register", componentRef: "componentRef" }, queries: [{ propertyName: "dynamicField", first: true, predicate: i0.forwardRef(() => DynamicFieldsComponent), descendants: true }, { propertyName: "itemFields", predicate: i0.forwardRef(() => DynamicFieldsComponent), descendants: true }], ngImport: i0 });
65
63
  }
66
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RegisterDirective, decorators: [{
@@ -69,7 +67,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
69
67
  selector: '[register]',
70
68
  standalone: true
71
69
  }]
72
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.RegisterService }], propDecorators: { register: [{
70
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.DestroyRef }, { type: i1.RegisterService }], propDecorators: { register: [{
73
71
  type: Input
74
72
  }], componentRef: [{
75
73
  type: Input
@@ -80,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
80
78
  type: ContentChildren,
81
79
  args: [forwardRef(() => DynamicFieldsComponent), { descendants: true }]
82
80
  }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvZGlyZWN0aXZlcy9yZWdpc3Rlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFBRSxLQUFLLEVBQ2QsWUFBWSxFQUFFLGVBQWUsRUFBYSxVQUFVLEVBQ3ZELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLGlCQUFpQjtJQU9sQjtJQUNBO0lBUEQsUUFBUSxHQUFRLElBQUksQ0FBQztJQUNyQixZQUFZLENBQU07SUFDNkIsWUFBWSxDQUEyQjtJQUNiLFVBQVUsQ0FBc0M7SUFFbEksWUFDVSxFQUFjLEVBQ2QsZUFBZ0M7UUFEaEMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUN0QyxDQUFDO0lBRUwsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFD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QUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSwgSW5wdXQsIEVsZW1lbnRSZWYsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxyXG4gICwgQ29udGVudENoaWxkLCBDb250ZW50Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgZm9yd2FyZFJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWdpc3RlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9yZWdpc3Rlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY3JlYXRlQ29udHJvbCB9IGZyb20gJy4uL2NvbnRyb2xzL2ZhY3RvcnknO1xyXG5pbXBvcnQgeyBEeW5hbWljRmllbGRzQ29tcG9uZW50IH0gZnJvbSAnLi4vZHluYW1pYy1maWVsZHMvZHluYW1pYy1maWVsZHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSUR5bmFtaWNGaWVsZHNDb21wb25lbnQgfSBmcm9tICcuLi9keW5hbWljLWZpZWxkcy9keW5hbWljLWZpZWxkcy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBJdGVtQ29udHJvbCB9IGZyb20gJy4uL2NvbnRyb2xzL2NvbnRyb2wnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3JlZ2lzdGVyXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHJlZ2lzdGVyOiBhbnkgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGNvbXBvbmVudFJlZjogYW55O1xyXG4gIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBEeW5hbWljRmllbGRzQ29tcG9uZW50KSkgZHluYW1pY0ZpZWxkPzogSUR5bmFtaWNGaWVsZHNDb21wb25lbnQ7XHJcbiAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IER5bmFtaWNGaWVsZHNDb21wb25lbnQpLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIGl0ZW1GaWVsZHMhOiBRdWVyeUxpc3Q8SUR5bmFtaWNGaWVsZHNDb21wb25lbnQ+O1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcmVnaXN0ZXJTZXJ2aWNlOiBSZWdpc3RlclNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlZ2lzdGVyQ29udHJvbCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnVucmVnaXN0ZXJDb250cm9sKCk7XHJcblxyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgcHJpdmF0ZSByZWdpc3RlckNvbnRyb2woKTogdm9pZCB7XHJcbiAgICBjb25zdCBuYW1lID0gdGhpcy5nZXROYW1lKCk7XHJcblxyXG4gICAgY29uc3QgcmVnaXN0ZXIgPSAodGhpcy5yZWdpc3Rlci50eXBlID09PSAnZHluYW1pY2xpc3QnKVxyXG4gICAgICA/IHRoaXMuY3JlYXRlRHluYW1pY1JlZ2lzdGVyKG5hbWUsIHRoaXMucmVnaXN0ZXIsIHRoaXMuY29tcG9uZW50UmVmLCB0aGlzLmVsLCB0aGlzLml0ZW1GaWVsZHMpXHJcbiAgICAgIDogdGhpcy5keW5hbWljRmllbGQ/LmdldFJlZ2lzdGVyKCk7XHJcblxyXG4gICAgY29uc3QgY29udHJvbCA9IGNyZWF0ZUNvbnRyb2wobmFtZSwgdGhpcy5yZWdpc3RlciwgdGhpcy5jb21wb25lbnRSZWYsIHRoaXMuZWwsIHJlZ2lzdGVyKTtcclxuICAgIHRoaXMucmVnaXN0ZXJTZXJ2aWNlLnJlZ2lzdGVyKG5hbWUsIGNvbnRyb2wpO1xyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdW5yZWdpc3RlckNvbnRyb2woKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlZ2lzdGVyU2VydmljZS51bnJlZ2lzdGVyKHRoaXMuZ2V0TmFtZSgpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TmFtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMucmVnaXN0ZXIubmFtZSA/PyB0aGlzLnJlZ2lzdGVyLmlkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVEeW5hbWljUmVnaXN0ZXIobmFtZTogc3RyaW5nLCBtZXRhZGF0YTogYW55LCBjb21wb25lbnRSZWY6IGFueSwgZWw6IEVsZW1lbnRSZWZcclxuICAgICwgaXRlbUZpZWxkczogUXVlcnlMaXN0PElEeW5hbWljRmllbGRzQ29tcG9uZW50Pik6IFJlZ2lzdGVyU2VydmljZSB7XHJcblxyXG4gICAgY29uc3QgbmV3UmVnaXN0ZXIgPSBuZXcgUmVnaXN0ZXJTZXJ2aWNlKG51bGwpO1xyXG5cclxuICAgIGNvbnN0IHJlZ2lzdGVyQWxsID0gKGl0ZW1GaWVsZHM6IFF1ZXJ5TGlzdDxJRHluYW1pY0ZpZWxkc0NvbXBvbmVudD4pID0+IHtcclxuICAgICAgbmV3UmVnaXN0ZXIudW5yZWdpc3RlckFsbCgpO1xyXG4gICAgICBpdGVtRmllbGRzLmZvckVhY2goKGl0ZW1GaWVsZCwgaW5kZXgpID0+IHtcclxuICAgICAgICBjb25zdCByZWdpc3RlciA9IGl0ZW1GaWVsZC5nZXRSZWdpc3RlcigpO1xyXG4gICAgICAgIGNvbnN0IG5ld05hbWUgPSBgJHtuYW1lfS0ke2luZGV4fWA7XHJcbiAgICAgICAgY29uc3QgY29udHJvbCA9IG5ldyBJdGVtQ29udHJvbChuZXdOYW1lLCBpbmRleCwgbWV0YWRhdGEsIGNvbXBvbmVudFJlZiwgZWwsIHJlZ2lzdGVyKTtcclxuICAgICAgICBuZXdSZWdpc3Rlci5yZWdpc3RlcihuZXdOYW1lLCBjb250cm9sKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJBbGwoaXRlbUZpZWxkcyk7XHJcblxyXG4gICAgaXRlbUZpZWxkcy5jaGFuZ2VzXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoaXRlbUZpZWxkczogUXVlcnlMaXN0PElEeW5hbWljRmllbGRzQ29tcG9uZW50PikgPT4ge1xyXG4gICAgICAgIHJlZ2lzdGVyQWxsKGl0ZW1GaWVsZHMpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbmV3UmVnaXN0ZXI7XHJcbiAgfVxyXG59XHJcbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvZGlyZWN0aXZlcy9yZWdpc3Rlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFBRSxLQUFLLEVBQ2QsWUFBWSxFQUFFLGVBQWUsRUFBYSxVQUFVLEVBRXZELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFNaEUsTUFBTSxPQUFPLGlCQUFpQjtJQU9sQjtJQUNBO0lBQ0E7SUFSRCxRQUFRLEdBQVEsSUFBSSxDQUFDO0lBQ3JCLFlBQVksQ0FBTTtJQUM2QixZQUFZLENBQTJCO0lBQ2IsVUFBVSxDQUFzQztJQUVsSSxZQUNVLEVBQWMsRUFDZCxVQUFzQixFQUN0QixlQUFnQztRQUZoQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFDdEMsQ0FBQztJQUVMLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sZUFBZTtRQUNyQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFNUIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxhQUFhLENBQUM7WUFDckQsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUM5RixDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUVyQyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUUvQyxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxPQUFPO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRU8scUJBQXFCLENBQUMsSUFBWSxFQUFFLFFBQWEsRUFBRSxZQUFpQixFQUFFLEVBQWMsRUFDeEYsVUFBOEM7UUFFaEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFOUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxVQUE4QyxFQUFFLEVBQUU7WUFDckUsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzVCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3RDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDekMsTUFBTSxPQUFPLEdBQUcsR0FBRyxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ25DLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ3RGLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFBO1FBRUQsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXhCLFVBQVUsQ0FBQyxPQUFPO2FBQ2YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsQ0FBQyxVQUE4QyxFQUFFLEVBQUU7WUFDNUQsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzt3R0FoRVUsaUJBQWlCOzRGQUFqQixpQkFBaUIsb01BR0csc0JBQXNCLHFGQUNuQixzQkFBc0I7OzRGQUo3QyxpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjtzSUFFVSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ2tELFlBQVk7c0JBQW5FLFlBQVk7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUM0QixVQUFVO3NCQUEzRixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLCBJbnB1dCwgRWxlbWVudFJlZiwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95XHJcbiAgLCBDb250ZW50Q2hpbGQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBmb3J3YXJkUmVmLFxyXG4gIERlc3Ryb3lSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVnaXN0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcmVnaXN0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IGNyZWF0ZUNvbnRyb2wgfSBmcm9tICcuLi9jb250cm9scy9mYWN0b3J5JztcclxuaW1wb3J0IHsgRHluYW1pY0ZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4uL2R5bmFtaWMtZmllbGRzL2R5bmFtaWMtZmllbGRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElEeW5hbWljRmllbGRzQ29tcG9uZW50IH0gZnJvbSAnLi4vZHluYW1pYy1maWVsZHMvZHluYW1pYy1maWVsZHMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSXRlbUNvbnRyb2wgfSBmcm9tICcuLi9jb250cm9scy9jb250cm9sJztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbcmVnaXN0ZXJdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWdpc3RlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgcmVnaXN0ZXI6IGFueSA9IG51bGw7XHJcbiAgQElucHV0KCkgY29tcG9uZW50UmVmOiBhbnk7XHJcbiAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IER5bmFtaWNGaWVsZHNDb21wb25lbnQpKSBkeW5hbWljRmllbGQ/OiBJRHluYW1pY0ZpZWxkc0NvbXBvbmVudDtcclxuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRHluYW1pY0ZpZWxkc0NvbXBvbmVudCksIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgaXRlbUZpZWxkcyE6IFF1ZXJ5TGlzdDxJRHluYW1pY0ZpZWxkc0NvbXBvbmVudD47XHJcbiAgXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBkZXN0cm95UmVmOiBEZXN0cm95UmVmLFxyXG4gICAgcHJpdmF0ZSByZWdpc3RlclNlcnZpY2U6IFJlZ2lzdGVyU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVnaXN0ZXJDb250cm9sKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudW5yZWdpc3RlckNvbnRyb2woKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVnaXN0ZXJDb250cm9sKCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmFtZSA9IHRoaXMuZ2V0TmFtZSgpO1xyXG5cclxuICAgIGNvbnN0IHJlZ2lzdGVyID0gKHRoaXMucmVnaXN0ZXIudHlwZSA9PT0gJ2R5bmFtaWNsaXN0JylcclxuICAgICAgPyB0aGlzLmNyZWF0ZUR5bmFtaWNSZWdpc3RlcihuYW1lLCB0aGlzLnJlZ2lzdGVyLCB0aGlzLmNvbXBvbmVudFJlZiwgdGhpcy5lbCwgdGhpcy5pdGVtRmllbGRzKVxyXG4gICAgICA6IHRoaXMuZHluYW1pY0ZpZWxkPy5nZXRSZWdpc3RlcigpO1xyXG5cclxuICAgIGNvbnN0IGNvbnRyb2wgPSBjcmVhdGVDb250cm9sKG5hbWUsIHRoaXMucmVnaXN0ZXIsIHRoaXMuY29tcG9uZW50UmVmLCB0aGlzLmVsLCByZWdpc3Rlcik7XHJcbiAgICB0aGlzLnJlZ2lzdGVyU2VydmljZS5yZWdpc3RlcihuYW1lLCBjb250cm9sKTtcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVucmVnaXN0ZXJDb250cm9sKCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZWdpc3RlclNlcnZpY2UudW5yZWdpc3Rlcih0aGlzLmdldE5hbWUoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnJlZ2lzdGVyLm5hbWUgPz8gdGhpcy5yZWdpc3Rlci5pZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRHluYW1pY1JlZ2lzdGVyKG5hbWU6IHN0cmluZywgbWV0YWRhdGE6IGFueSwgY29tcG9uZW50UmVmOiBhbnksIGVsOiBFbGVtZW50UmVmXHJcbiAgICAsIGl0ZW1GaWVsZHM6IFF1ZXJ5TGlzdDxJRHluYW1pY0ZpZWxkc0NvbXBvbmVudD4pOiBSZWdpc3RlclNlcnZpY2Uge1xyXG5cclxuICAgIGNvbnN0IG5ld1JlZ2lzdGVyID0gbmV3IFJlZ2lzdGVyU2VydmljZShudWxsKTtcclxuXHJcbiAgICBjb25zdCByZWdpc3RlckFsbCA9IChpdGVtRmllbGRzOiBRdWVyeUxpc3Q8SUR5bmFtaWNGaWVsZHNDb21wb25lbnQ+KSA9PiB7XHJcbiAgICAgIG5ld1JlZ2lzdGVyLnVucmVnaXN0ZXJBbGwoKTtcclxuICAgICAgaXRlbUZpZWxkcy5mb3JFYWNoKChpdGVtRmllbGQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgY29uc3QgcmVnaXN0ZXIgPSBpdGVtRmllbGQuZ2V0UmVnaXN0ZXIoKTtcclxuICAgICAgICBjb25zdCBuZXdOYW1lID0gYCR7bmFtZX0tJHtpbmRleH1gO1xyXG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSBuZXcgSXRlbUNvbnRyb2wobmV3TmFtZSwgaW5kZXgsIG1ldGFkYXRhLCBjb21wb25lbnRSZWYsIGVsLCByZWdpc3Rlcik7XHJcbiAgICAgICAgbmV3UmVnaXN0ZXIucmVnaXN0ZXIobmV3TmFtZSwgY29udHJvbCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyQWxsKGl0ZW1GaWVsZHMpO1xyXG5cclxuICAgIGl0ZW1GaWVsZHMuY2hhbmdlc1xyXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcclxuICAgICAgLnN1YnNjcmliZSgoaXRlbUZpZWxkczogUXVlcnlMaXN0PElEeW5hbWljRmllbGRzQ29tcG9uZW50PikgPT4ge1xyXG4gICAgICAgIHJlZ2lzdGVyQWxsKGl0ZW1GaWVsZHMpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbmV3UmVnaXN0ZXI7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,57 @@
1
+ import { Directive, Host, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "ngx-sirio-lib";
4
+ import * as i2 from "../services/validation.service";
5
+ export class RequiredOnInputDirective {
6
+ sirioInput;
7
+ validationService;
8
+ required;
9
+ constructor(sirioInput, validationService) {
10
+ this.sirioInput = sirioInput;
11
+ this.validationService = validationService;
12
+ }
13
+ removeListener;
14
+ wasEmpty = null;
15
+ ngOnDestroy() {
16
+ this.removeListener?.();
17
+ }
18
+ ngAfterViewInit() {
19
+ if (this.required !== true)
20
+ return;
21
+ const control = this.sirioInput.control;
22
+ const input = this.sirioInput.sirioInput.nativeElement;
23
+ if (!control || !input)
24
+ return;
25
+ this.wasEmpty = this.isEmpty(control.value);
26
+ const handler = () => {
27
+ const isEmpty = this.isEmpty(input.value);
28
+ if (this.wasEmpty !== isEmpty) {
29
+ var errors = this.validationService.validateRequired({ value: input.value });
30
+ control.setErrors(errors);
31
+ this.wasEmpty = isEmpty;
32
+ }
33
+ };
34
+ input.addEventListener('input', handler);
35
+ this.removeListener = () => {
36
+ input.removeEventListener('input', handler);
37
+ };
38
+ }
39
+ isEmpty(value) {
40
+ return (value ?? "").toString().length === 0;
41
+ }
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RequiredOnInputDirective, deps: [{ token: i1.SirioInputComponent, host: true }, { token: i2.ValidationService }], target: i0.ɵɵFactoryTarget.Directive });
43
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: RequiredOnInputDirective, isStandalone: true, selector: "[requiredOnInput]", inputs: { required: ["requiredOnInput", "required"] }, ngImport: i0 });
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RequiredOnInputDirective, decorators: [{
46
+ type: Directive,
47
+ args: [{
48
+ selector: '[requiredOnInput]',
49
+ standalone: true
50
+ }]
51
+ }], ctorParameters: () => [{ type: i1.SirioInputComponent, decorators: [{
52
+ type: Host
53
+ }] }, { type: i2.ValidationService }], propDecorators: { required: [{
54
+ type: Input,
55
+ args: ["requiredOnInput"]
56
+ }] } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvZGlyZWN0aXZlcy9yZXF1aXJlZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQTRCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVFqRixNQUFNLE9BQU8sd0JBQXdCO0lBR1A7SUFDbEI7SUFIZ0IsUUFBUSxDQUFNO0lBRXhDLFlBQTRCLFVBQStCLEVBQ2pELGlCQUFvQztRQURsQixlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQUNqRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQzlDLENBQUM7SUFFTyxjQUFjLENBQWM7SUFFNUIsUUFBUSxHQUFtQixJQUFJLENBQUM7SUFFeEMsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxlQUFlO1FBRWIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUk7WUFBRSxPQUFPO1FBRW5DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUV2RCxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFFL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QyxNQUFNLE9BQU8sR0FBRyxHQUFHLEVBQUU7WUFFbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFMUMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUU5QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBUyxDQUFDLENBQUM7Z0JBRXBGLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRTFCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1lBQzFCLENBQUM7UUFDSCxDQUFDLENBQUM7UUFFRixLQUFLLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXpDLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxFQUFFO1lBQ3pCLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVPLE9BQU8sQ0FBQyxLQUFhO1FBQzNCLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO3dHQWpEVSx3QkFBd0I7NEZBQXhCLHdCQUF3Qjs7NEZBQXhCLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQUljLElBQUk7eUVBRlMsUUFBUTtzQkFBakMsS0FBSzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3QsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2lyaW9JbnB1dENvbXBvbmVudCB9IGZyb20gJ25neC1zaXJpby1saWInO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3ZhbGlkYXRpb24uc2VydmljZSdcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3JlcXVpcmVkT25JbnB1dF0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcXVpcmVkT25JbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KFwicmVxdWlyZWRPbklucHV0XCIpIHJlcXVpcmVkOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgcHJpdmF0ZSBzaXJpb0lucHV0OiBTaXJpb0lucHV0Q29tcG9uZW50LFxyXG4gICAgcHJpdmF0ZSB2YWxpZGF0aW9uU2VydmljZTogVmFsaWRhdGlvblNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlTGlzdGVuZXI/OiAoKSA9PiB2b2lkO1xyXG5cclxuICBwcml2YXRlIHdhc0VtcHR5OiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW1vdmVMaXN0ZW5lcj8uKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcblxyXG4gICAgaWYgKHRoaXMucmVxdWlyZWQgIT09IHRydWUpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5zaXJpb0lucHV0LmNvbnRyb2w7XHJcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuc2lyaW9JbnB1dC5zaXJpb0lucHV0Lm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgaWYgKCFjb250cm9sIHx8ICFpbnB1dCkgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMud2FzRW1wdHkgPSB0aGlzLmlzRW1wdHkoY29udHJvbC52YWx1ZSk7XHJcblxyXG4gICAgY29uc3QgaGFuZGxlciA9ICgpID0+IHtcclxuXHJcbiAgICAgIGNvbnN0IGlzRW1wdHkgPSB0aGlzLmlzRW1wdHkoaW5wdXQudmFsdWUpO1xyXG5cclxuICAgICAgaWYgKHRoaXMud2FzRW1wdHkgIT09IGlzRW1wdHkpIHtcclxuXHJcbiAgICAgICAgdmFyIGVycm9ycyA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UudmFsaWRhdGVSZXF1aXJlZCh7IHZhbHVlOiBpbnB1dC52YWx1ZSB9IGFzIGFueSk7XHJcblxyXG4gICAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKGVycm9ycyk7XHJcblxyXG4gICAgICAgIHRoaXMud2FzRW1wdHkgPSBpc0VtcHR5O1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgaGFuZGxlcik7XHJcblxyXG4gICAgdGhpcy5yZW1vdmVMaXN0ZW5lciA9ICgpID0+IHtcclxuICAgICAgaW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBoYW5kbGVyKTtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzRW1wdHkodmFsdWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuICh2YWx1ZSA/PyBcIlwiKS50b1N0cmluZygpLmxlbmd0aCA9PT0gMDtcclxuICB9XHJcblxyXG4gIFxyXG5cclxufVxyXG5cclxuIl19
@@ -1,19 +1,20 @@
1
1
  import { Directive, Host } from '@angular/core';
2
2
  import { setFocus } from '../utils/focusable';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "ngx-sirio-lib";
5
6
  export class TabControlDirective {
6
7
  sirioTab;
7
- constructor(sirioTab) {
8
+ destroyRef;
9
+ constructor(sirioTab, destroyRef) {
8
10
  this.sirioTab = sirioTab;
11
+ this.destroyRef = destroyRef;
9
12
  }
10
13
  ngOnInit() {
11
- this.tabChangeSub = this.sirioTab.tabChange.subscribe(this.HandleIndexChange.bind(this));
14
+ this.sirioTab.tabChange
15
+ .pipe(takeUntilDestroyed(this.destroyRef))
16
+ .subscribe(this.HandleIndexChange.bind(this));
12
17
  }
13
- ngOnDestroy() {
14
- this.tabChangeSub?.unsubscribe();
15
- }
16
- tabChangeSub;
17
18
  HandleIndexChange(event) {
18
19
  const tab = event.component;
19
20
  if (event.data.newIndex === undefined) {
@@ -41,7 +42,7 @@ export class TabControlDirective {
41
42
  setFocus(containerRef.element.nativeElement);
42
43
  }, 100);
43
44
  }
44
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabControlDirective, deps: [{ token: i1.SirioTabComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive });
45
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabControlDirective, deps: [{ token: i1.SirioTabComponent, host: true }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });
45
46
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TabControlDirective, isStandalone: true, selector: "[tabControl]", ngImport: i0 });
46
47
  }
47
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabControlDirective, decorators: [{
@@ -52,5 +53,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
52
53
  }]
53
54
  }], ctorParameters: () => [{ type: i1.SirioTabComponent, decorators: [{
54
55
  type: Host
55
- }] }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9kaXJlY3RpdmVzL3RhYmNvbnRyb2wuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUdyRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQU05QyxNQUFNLE9BQU8sbUJBQW1CO0lBR1o7SUFEbEIsWUFDa0IsUUFBMkI7UUFBM0IsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7SUFDekMsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTyxZQUFZLENBQWdCO0lBRTVCLGlCQUFpQixDQUFDLEtBQXVDO1FBQy9ELE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFnQixDQUFDO1FBQ25DLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdEMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRSxDQUFDO2FBQ0ksQ0FBQztZQUNKLEdBQUcsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDeEMsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQWE7UUFDakMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0MsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7WUFDN0MsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUN6QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFFBQVE7UUFFZCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsTUFBTSxPQUFPLEdBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDakQsTUFBTSxZQUFZLEdBQUcsT0FBTyxFQUFFLGdCQUFvQyxDQUFDO1lBQ25FLElBQUksWUFBWTtnQkFDZCxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUE0QixDQUFDLENBQUM7UUFDaEUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzt3R0E3Q1UsbUJBQW1COzRGQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBSUksSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCwgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2lyaW9UYWJDb21wb25lbnQsIE5neFNpcmlvRXZlbnQgfSBmcm9tICduZ3gtc2lyaW8tbGliJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHNldEZvY3VzIH0gZnJvbSAnLi4vdXRpbHMvZm9jdXNhYmxlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3RhYkNvbnRyb2xdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJDb250cm9sRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBwcml2YXRlIHNpcmlvVGFiOiBTaXJpb1RhYkNvbXBvbmVudFxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy50YWJDaGFuZ2VTdWIgPSB0aGlzLnNpcmlvVGFiLnRhYkNoYW5nZS5zdWJzY3JpYmUodGhpcy5IYW5kbGVJbmRleENoYW5nZS5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy50YWJDaGFuZ2VTdWI/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRhYkNoYW5nZVN1YiE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgcHJpdmF0ZSBIYW5kbGVJbmRleENoYW5nZShldmVudDogTmd4U2lyaW9FdmVudDxTaXJpb1RhYkNvbXBvbmVudD4pIHtcclxuICAgIGNvbnN0IHRhYiA9IGV2ZW50LmNvbXBvbmVudCBhcyBhbnk7XHJcbiAgICBpZiAoZXZlbnQuZGF0YS5uZXdJbmRleCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRhYi5zZXRBY3RpdmVJbmRleCh0aGlzLnZhbGlkYXRlSW5kZXgodGFiLl9zYXZlZEluZGV4KSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGFiLl9zYXZlZEluZGV4ID0gZXZlbnQuZGF0YS5uZXdJbmRleDtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0Rm9jdXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmFsaWRhdGVJbmRleChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGlmIChpbmRleCA+PSB0aGlzLnNpcmlvVGFiLnRhYkl0ZW1zLmxlbmd0aCkge1xyXG4gICAgICB2YXIgZmlyc3RUYWIgPSB0aGlzLnNpcmlvVGFiLmZpcnN0VGFiRW5hYmxlZDtcclxuICAgICAgaWYgKGZpcnN0VGFiKSB7XHJcbiAgICAgICAgaW5kZXggPSBmaXJzdFRhYi5pbmRleDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGluZGV4O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRGb2N1cygpXHJcbiAge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhYkl0ZW06IGFueSA9IHRoaXMuc2lyaW9UYWIuYWN0aXZlVGFiSXRlbTtcclxuICAgICAgY29uc3QgY29udGFpbmVyUmVmID0gdGFiSXRlbT8udmlld0NvbnRhaW5lclJlZiBhcyBWaWV3Q29udGFpbmVyUmVmO1xyXG4gICAgICBpZiAoY29udGFpbmVyUmVmKVxyXG4gICAgICAgIHNldEZvY3VzKGNvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcbn1cclxuIl19
56
+ }] }, { type: i0.DestroyRef }] });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9kaXJlY3RpdmVzL3RhYmNvbnRyb2wuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUF3QyxNQUFNLGVBQWUsQ0FBQztBQUV0RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQU1oRSxNQUFNLE9BQU8sbUJBQW1CO0lBR1o7SUFDUjtJQUZWLFlBQ2tCLFFBQTJCLEVBQ25DLFVBQXNCO1FBRGQsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7UUFDbkMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUM1QixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUzthQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQXVDO1FBQy9ELE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFnQixDQUFDO1FBQ25DLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdEMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRSxDQUFDO2FBQ0ksQ0FBQztZQUNKLEdBQUcsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDeEMsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQWE7UUFDakMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0MsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7WUFDN0MsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUN6QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFFBQVE7UUFFZCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsTUFBTSxPQUFPLEdBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDakQsTUFBTSxZQUFZLEdBQUcsT0FBTyxFQUFFLGdCQUFvQyxDQUFDO1lBQ25FLElBQUksWUFBWTtnQkFDZCxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUE0QixDQUFDLENBQUM7UUFDaEUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzt3R0ExQ1UsbUJBQW1COzRGQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBSUksSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCwgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmLCBEZXN0cm95UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpcmlvVGFiQ29tcG9uZW50LCBOZ3hTaXJpb0V2ZW50IH0gZnJvbSAnbmd4LXNpcmlvLWxpYic7XHJcbmltcG9ydCB7IHNldEZvY3VzIH0gZnJvbSAnLi4vdXRpbHMvZm9jdXNhYmxlJztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbdGFiQ29udHJvbF0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYkNvbnRyb2xEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBwcml2YXRlIHNpcmlvVGFiOiBTaXJpb1RhYkNvbXBvbmVudCxcclxuICAgIHByaXZhdGUgZGVzdHJveVJlZjogRGVzdHJveVJlZlxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zaXJpb1RhYi50YWJDaGFuZ2VcclxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXHJcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5IYW5kbGVJbmRleENoYW5nZS5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgSGFuZGxlSW5kZXhDaGFuZ2UoZXZlbnQ6IE5neFNpcmlvRXZlbnQ8U2lyaW9UYWJDb21wb25lbnQ+KSB7XHJcbiAgICBjb25zdCB0YWIgPSBldmVudC5jb21wb25lbnQgYXMgYW55O1xyXG4gICAgaWYgKGV2ZW50LmRhdGEubmV3SW5kZXggPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0YWIuc2V0QWN0aXZlSW5kZXgodGhpcy52YWxpZGF0ZUluZGV4KHRhYi5fc2F2ZWRJbmRleCksIHRydWUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRhYi5fc2F2ZWRJbmRleCA9IGV2ZW50LmRhdGEubmV3SW5kZXg7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldEZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHZhbGlkYXRlSW5kZXgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBpZiAoaW5kZXggPj0gdGhpcy5zaXJpb1RhYi50YWJJdGVtcy5sZW5ndGgpIHtcclxuICAgICAgdmFyIGZpcnN0VGFiID0gdGhpcy5zaXJpb1RhYi5maXJzdFRhYkVuYWJsZWQ7XHJcbiAgICAgIGlmIChmaXJzdFRhYikge1xyXG4gICAgICAgIGluZGV4ID0gZmlyc3RUYWIuaW5kZXg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBpbmRleDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Rm9jdXMoKVxyXG4gIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCB0YWJJdGVtOiBhbnkgPSB0aGlzLnNpcmlvVGFiLmFjdGl2ZVRhYkl0ZW07XHJcbiAgICAgIGNvbnN0IGNvbnRhaW5lclJlZiA9IHRhYkl0ZW0/LnZpZXdDb250YWluZXJSZWYgYXMgVmlld0NvbnRhaW5lclJlZjtcclxuICAgICAgaWYgKGNvbnRhaW5lclJlZilcclxuICAgICAgICBzZXRGb2N1cyhjb250YWluZXJSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcclxuICAgIH0sIDEwMCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==