@ng-formworks/core 17.4.0 → 17.5.2

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 (59) hide show
  1. package/esm2022/lib/framework-library/framework-library.service.mjs +9 -12
  2. package/esm2022/lib/framework-library/no-framework.component.mjs +10 -11
  3. package/esm2022/lib/json-schema-form.component.mjs +151 -157
  4. package/esm2022/lib/json-schema-form.service.mjs +66 -50
  5. package/esm2022/lib/shared/form-group.functions.mjs +22 -19
  6. package/esm2022/lib/widget-library/add-reference.component.mjs +19 -22
  7. package/esm2022/lib/widget-library/button.component.mjs +18 -21
  8. package/esm2022/lib/widget-library/checkbox.component.mjs +25 -28
  9. package/esm2022/lib/widget-library/checkboxes.component.mjs +23 -25
  10. package/esm2022/lib/widget-library/file.component.mjs +12 -15
  11. package/esm2022/lib/widget-library/hidden.component.mjs +18 -21
  12. package/esm2022/lib/widget-library/input.component.mjs +35 -38
  13. package/esm2022/lib/widget-library/message.component.mjs +14 -17
  14. package/esm2022/lib/widget-library/none.component.mjs +9 -10
  15. package/esm2022/lib/widget-library/number.component.mjs +32 -35
  16. package/esm2022/lib/widget-library/one-of.component.mjs +12 -15
  17. package/esm2022/lib/widget-library/orderable.directive.mjs +21 -24
  18. package/esm2022/lib/widget-library/radios.component.mjs +31 -33
  19. package/esm2022/lib/widget-library/root.component.mjs +31 -37
  20. package/esm2022/lib/widget-library/section.component.mjs +30 -33
  21. package/esm2022/lib/widget-library/select-framework.component.mjs +16 -23
  22. package/esm2022/lib/widget-library/select-widget.component.mjs +16 -20
  23. package/esm2022/lib/widget-library/select.component.mjs +25 -28
  24. package/esm2022/lib/widget-library/submit.component.mjs +18 -21
  25. package/esm2022/lib/widget-library/tab.component.mjs +20 -23
  26. package/esm2022/lib/widget-library/tabs.component.mjs +31 -33
  27. package/esm2022/lib/widget-library/template.component.mjs +17 -20
  28. package/esm2022/lib/widget-library/textarea.component.mjs +25 -28
  29. package/fesm2022/ng-formworks-core.mjs +1517 -1578
  30. package/fesm2022/ng-formworks-core.mjs.map +1 -1
  31. package/lib/framework-library/framework-library.service.d.ts +1 -3
  32. package/lib/framework-library/no-framework.component.d.ts +4 -4
  33. package/lib/json-schema-form.component.d.ts +29 -31
  34. package/lib/json-schema-form.service.d.ts +28 -17
  35. package/lib/widget-library/add-reference.component.d.ts +4 -6
  36. package/lib/widget-library/button.component.d.ts +4 -6
  37. package/lib/widget-library/checkbox.component.d.ts +4 -6
  38. package/lib/widget-library/checkboxes.component.d.ts +5 -6
  39. package/lib/widget-library/file.component.d.ts +4 -6
  40. package/lib/widget-library/hidden.component.d.ts +4 -6
  41. package/lib/widget-library/index.d.ts +1 -21
  42. package/lib/widget-library/input.component.d.ts +4 -6
  43. package/lib/widget-library/message.component.d.ts +4 -6
  44. package/lib/widget-library/none.component.d.ts +4 -4
  45. package/lib/widget-library/number.component.d.ts +4 -6
  46. package/lib/widget-library/one-of.component.d.ts +4 -6
  47. package/lib/widget-library/orderable.directive.d.ts +6 -8
  48. package/lib/widget-library/radios.component.d.ts +4 -6
  49. package/lib/widget-library/root.component.d.ts +6 -8
  50. package/lib/widget-library/section.component.d.ts +4 -6
  51. package/lib/widget-library/select-framework.component.d.ts +6 -8
  52. package/lib/widget-library/select-widget.component.d.ts +6 -8
  53. package/lib/widget-library/select.component.d.ts +4 -6
  54. package/lib/widget-library/submit.component.d.ts +4 -6
  55. package/lib/widget-library/tab.component.d.ts +4 -6
  56. package/lib/widget-library/tabs.component.d.ts +4 -6
  57. package/lib/widget-library/template.component.d.ts +6 -8
  58. package/lib/widget-library/textarea.component.d.ts +4 -6
  59. package/package.json +1 -1
@@ -1,11 +1,10 @@
1
- import { Inject, Injectable } from '@angular/core';
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Inject, Injectable, inject } from '@angular/core';
2
3
  import { Subject, lastValueFrom } from 'rxjs';
3
4
  import { hasOwn } from '../shared/utility.functions';
4
5
  import { WidgetLibraryService } from '../widget-library/widget-library.service';
5
6
  import { Framework } from './framework';
6
7
  import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common/http";
8
- import * as i2 from "../widget-library/widget-library.service";
9
8
  // Possible future frameworks:
10
9
  // - Foundation 6:
11
10
  // http://justindavis.co/2017/06/15/using-foundation-6-in-angular-4/
@@ -14,10 +13,11 @@ import * as i2 from "../widget-library/widget-library.service";
14
13
  // https://github.com/edcarroll/ng2-semantic-ui
15
14
  // https://github.com/vladotesanovic/ngSemantic
16
15
  export class FrameworkLibraryService {
17
- constructor(frameworks, widgetLibrary, http) {
16
+ constructor(frameworks) {
18
17
  this.frameworks = frameworks;
19
- this.widgetLibrary = widgetLibrary;
20
- this.http = http;
18
+ //private frameworks = inject(Framework);
19
+ this.widgetLibrary = inject(WidgetLibraryService);
20
+ this.http = inject(HttpClient);
21
21
  this.activeFramework = null;
22
22
  this.loadExternalAssets = false;
23
23
  this.frameworkLibrary = {};
@@ -157,7 +157,7 @@ export class FrameworkLibraryService {
157
157
  return actFramework.unregisterTheme(name);
158
158
  }
159
159
  }
160
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FrameworkLibraryService, deps: [{ token: Framework }, { token: WidgetLibraryService }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
160
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FrameworkLibraryService, deps: [{ token: Framework }], target: i0.ɵɵFactoryTarget.Injectable }); }
161
161
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FrameworkLibraryService, providedIn: 'root' }); }
162
162
  }
163
163
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FrameworkLibraryService, decorators: [{
@@ -168,8 +168,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
168
168
  }], ctorParameters: () => [{ type: undefined, decorators: [{
169
169
  type: Inject,
170
170
  args: [Framework]
171
- }] }, { type: i2.WidgetLibraryService, decorators: [{
172
- type: Inject,
173
- args: [WidgetLibraryService]
174
- }] }, { type: i1.HttpClient }] });
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrLWxpYnJhcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9saWIvZnJhbWV3b3JrLWxpYnJhcnkvZnJhbWV3b3JrLWxpYnJhcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQUV4Qyw4QkFBOEI7QUFDOUIsa0JBQWtCO0FBQ2xCLHNFQUFzRTtBQUN0RSw2Q0FBNkM7QUFDN0MsaUJBQWlCO0FBQ2pCLGlEQUFpRDtBQUNqRCxpREFBaUQ7QUFLakQsTUFBTSxPQUFPLHVCQUF1QjtJQVlsQyxZQUM2QixVQUFpQixFQUNOLGFBQW1DLEVBQ2pFLElBQWdCO1FBRkcsZUFBVSxHQUFWLFVBQVUsQ0FBTztRQUNOLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUNqRSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBZDFCLG9CQUFlLEdBQWMsSUFBSSxDQUFDO1FBR2xDLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUUzQixxQkFBZ0IsR0FBa0MsRUFBRSxDQUFDO1FBV25ELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUNsRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGdCQUFnQixHQUFH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QixTQUFTLGFBQ1Qsb0JBQW9CO21IQWRuQix1QkFBdUIsY0FGdEIsTUFBTTs7NEZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBY0ksTUFBTTsyQkFBQyxTQUFTOzswQkFDaEIsTUFBTTsyQkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgbGFzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBoYXNPd24gfSBmcm9tICcuLi9zaGFyZWQvdXRpbGl0eS5mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBXaWRnZXRMaWJyYXJ5U2VydmljZSB9IGZyb20gJy4uL3dpZGdldC1saWJyYXJ5L3dpZGdldC1saWJyYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGcmFtZXdvcmsgfSBmcm9tICcuL2ZyYW1ld29yayc7XHJcblxyXG4vLyBQb3NzaWJsZSBmdXR1cmUgZnJhbWV3b3JrczpcclxuLy8gLSBGb3VuZGF0aW9uIDY6XHJcbi8vICAgaHR0cDovL2p1c3RpbmRhdmlzLmNvLzIwMTcvMDYvMTUvdXNpbmctZm91bmRhdGlvbi02LWluLWFuZ3VsYXItNC9cclxuLy8gICBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzXHJcbi8vIC0gU2VtYW50aWMgVUk6XHJcbi8vICAgaHR0cHM6Ly9naXRodWIuY29tL2VkY2Fycm9sbC9uZzItc2VtYW50aWMtdWlcclxuLy8gICBodHRwczovL2dpdGh1Yi5jb20vdmxhZG90ZXNhbm92aWMvbmdTZW1hbnRpY1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZyYW1ld29ya0xpYnJhcnlTZXJ2aWNlIHtcclxuICBhY3RpdmVGcmFtZXdvcms6IEZyYW1ld29yayA9IG51bGw7XHJcbiAgc3R5bGVzaGVldHM6IChIVE1MU3R5bGVFbGVtZW50fEhUTUxMaW5rRWxlbWVudClbXTtcclxuICBzY3JpcHRzOiBIVE1MU2NyaXB0RWxlbWVudFtdO1xyXG4gIGxvYWRFeHRlcm5hbEFzc2V0cyA9IGZhbHNlO1xyXG4gIGRlZmF1bHRGcmFtZXdvcms6IHN0cmluZztcclxuICBmcmFtZXdvcmtMaWJyYXJ5OiB7IFtuYW1lOiBzdHJpbmddOiBGcmFtZXdvcmsgfSA9IHt9O1xyXG5cclxuICBhY3RpdmVGcmFtZXdvcmtOYW1lJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gIHByaXZhdGUgYWN0aXZlRnJhbWV3b3JrTmFtZVN1YmplY3Q6IFN1YmplY3Q8c3RyaW5nPjtcclxuICBwcml2YXRlIGFjdGl2ZUZyYW1ld29ya05hbWU6c3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoRnJhbWV3b3JrKSBwcml2YXRlIGZyYW1ld29ya3M6IGFueVtdLFxyXG4gICAgQEluamVjdChXaWRnZXRMaWJyYXJ5U2VydmljZSkgcHJpdmF0ZSB3aWRnZXRMaWJyYXJ5OiBXaWRnZXRMaWJyYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICApIHtcclxuICAgIHRoaXMuZnJhbWV3b3Jrcy5mb3JFYWNoKGZyYW1ld29yayA9PlxyXG4gICAgICB0aGlzLmZyYW1ld29ya0xpYnJhcnlbZnJhbWV3b3JrLm5hbWVdID0gZnJhbWV3b3JrXHJcbiAgICApO1xyXG4gICAgdGhpcy5kZWZhdWx0RnJhbWV3b3JrID0gdGhpcy5mcmFtZXdvcmtzWzBdLm5hbWU7XHJcbiAgICAvL3RoaXMuc2V0RnJhbWV3b3JrKHRoaXMuZGVmYXVsdEZyYW1ld29yayk7XHJcbiAgICBcclxuICAgIHRoaXMuYWN0aXZlRnJhbWV3b3JrTmFtZT10aGlzLmRlZmF1bHRGcmFtZXdvcms7XHJcbiAgICB0aGlzLmFjdGl2ZUZyYW1ld29ya05hbWVTdWJqZWN0ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gICAgdGhpcy5hY3RpdmVGcmFtZXdvcmtOYW1lJCA9IHRoaXMuYWN0aXZlRnJhbWV3b3JrTmFtZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB0aGlzLnNldEZyYW1ld29yayh0aGlzLmRlZmF1bHRGcmFtZXdvcmspO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldExvYWRFeHRlcm5hbEFzc2V0cyhsb2FkRXh0ZXJuYWxBc3NldHMgPSB0cnVlKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRFeHRlcm5hbEFzc2V0cyA9ICEhbG9hZEV4dGVybmFsQXNzZXRzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEZyYW1ld29yayhcclxuICAgIGZyYW1ld29yazogc3RyaW5nfEZyYW1ld29yayA9IHRoaXMuZGVmYXVsdEZyYW1ld29yayxcclxuICAgIGxvYWRFeHRlcm5hbEFzc2V0cyA9IHRoaXMubG9hZEV4dGVybmFsQXNzZXRzXHJcbiAgKTogYm9vbGVhbiB7XHJcbiAgICB0aGlzLmFjdGl2ZUZyYW1ld29yayA9XHJcbiAgICAgIHR5cGVvZiBmcmFtZXdvcmsgPT09ICdzdHJpbmcnICYmIHRoaXMuaGFzRnJhbWV3b3JrKGZyYW1ld29yaykgP1xyXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrTGlicmFyeVtmcmFtZXdvcmtdIDpcclxuICAgICAgdHlwZW9mIGZyYW1ld29yayA9PT0gJ29iamVjdCcgJiYgaGFzT3duKGZyYW1ld29yaywgJ2ZyYW1ld29yaycpID9cclxuICAgICAgICBmcmFtZXdvcmsgOlxyXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrTGlicmFyeVt0aGlzLmRlZmF1bHRGcmFtZXdvcmtdO1xyXG4gICAgaWYodGhpcy5hY3RpdmVGcmFtZXdvcmsubmFtZSAhPXRoaXMuYWN0aXZlRnJhbWV3b3JrTmFtZSl7XHJcbiAgICAgIHRoaXMuYWN0aXZlRnJhbWV3b3JrTmFtZT10aGlzLmFjdGl2ZUZyYW1ld29yay5uYW1lO1xyXG4gICAgICB0aGlzLmFjdGl2ZUZyYW1ld29ya05hbWVTdWJqZWN0Lm5leHQodGhpcy5hY3RpdmVGcmFtZXdvcmtOYW1lKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnJlZ2lzdGVyRnJhbWV3b3JrV2lkZ2V0cyh0aGlzLmFjdGl2ZUZyYW1ld29yayk7XHJcbiAgfVxyXG5cclxuICByZWdpc3RlckZyYW1ld29ya1dpZGdldHMoZnJhbWV3b3JrOiBGcmFtZXdvcmspOiBib29sZWFuIHtcclxuICAgIHJldHVybiBoYXNPd24oZnJhbWV3b3JrLCAnd2lkZ2V0cycpID9cclxuICAgICAgdGhpcy53aWRnZXRMaWJyYXJ5LnJlZ2lzdGVyRnJhbWV3b3JrV2lkZ2V0cyhmcmFtZXdvcmsud2lkZ2V0cykgOlxyXG4gICAgICB0aGlzLndpZGdldExpYnJhcnkudW5SZWdpc3RlckZyYW1ld29ya1dpZGdldHMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYXNGcmFtZXdvcmsodHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaGFzT3duKHRoaXMuZnJhbWV3b3JrTGlicmFyeSwgdHlwZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RnJhbWV3b3JrKCk6IGFueSB7XHJcbiAgICBpZiAoIXRoaXMuYWN0aXZlRnJhbWV3b3JrKSB7IHRoaXMuc2V0RnJhbWV3b3JrKCdkZWZhdWx0JywgdHJ1ZSk7IH1cclxuICAgIHJldHVybiB0aGlzLmFjdGl2ZUZyYW1ld29yay5mcmFtZXdvcms7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RnJhbWV3b3JrTGlzdCgpOntuYW1lOnN0cmluZyx0ZXh0OnN0cmluZ31bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5mcmFtZXdvcmtzLm1hcChmdz0+e1xyXG4gICAgICByZXR1cm4ge25hbWU6ZncubmFtZSx0ZXh0OmZ3LnRleHR9O1xyXG4gICAgfSlcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEZyYW1ld29ya1dpZGdldHMoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmFjdGl2ZUZyYW1ld29yay53aWRnZXRzIHx8IHt9O1xyXG4gIH1cclxuXHJcbiAgXHJcblxyXG4gIHB1YmxpYyBnZXRGcmFtZXdvcmtTdHlsZXNoZWV0cyhsb2FkOiBib29sZWFuID0gdGhpcy5sb2FkRXh0ZXJuYWxBc3NldHMpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gKGxvYWQgJiYgdGhpcy5hY3RpdmVGcmFtZXdvcmsuc3R5bGVzaGVldHMpIHx8IFtdO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEZyYW1ld29ya1NjcmlwdHMobG9hZDogYm9vbGVhbiA9IHRoaXMubG9hZEV4dGVybmFsQXNzZXRzKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIChsb2FkICYmIHRoaXMuYWN0aXZlRnJhbWV3b3JrLnNjcmlwdHMpIHx8IFtdO1xyXG4gIH1cclxuXHJcbiAgLy9hcHBsaWVzIHRvIENzc0ZyYW1ld29yayBjbGFzc2VzXHJcbiAgcHVibGljIGdldEZyYW1ld29ya0NvbmZpZyhleGlzdGluZ0ZyYW1ld29yaz86YW55KTogYW55IHtcclxuICAgIGxldCBhY3RGcmFtZXdvcms6RnJhbWV3b3JrJiB7IFtrZXk6IHN0cmluZ106IGFueTsgfT1leGlzdGluZ0ZyYW1ld29ya3x8dGhpcy5hY3RpdmVGcmFtZXdvcms7XHJcbiAgICByZXR1cm4gYWN0RnJhbWV3b3JrLmNvbmZpZztcclxuICB9XHJcblxyXG4gIC8vdGhpcyB3aWxsIGxvYWQgdGhlIGxpc3Qgb2YgYXNzZXRzIHRvIGJlIGxvYWRlZCBhdCBydW50aW1lIGluIGNhc2UgdGhlIGRlcGVuZGVudCBmcmFtZXdvcmtcclxuICAvL3NjcmlwdHMgYW5kIHN0eWxlcyBhcmUgaW5jbHVkZSBsb2NhbGx5IHdpdGggdGhlIHBhcmVudCBhcHBcclxuICBwdWJsaWMgZ2V0RnJhbWV3b3JrQXNzZXRDb25maWcoZXhpc3RpbmdGcmFtZXdvcms/OmFueSx1c2VBc3NldFJlbFBhdGg9dHJ1ZSk6UHJvbWlzZTx7c3R5bGVzaGVldHM6c3RyaW5nW10sc2NyaXB0czpzdHJpbmdbXX0+e1xyXG4gICAgbGV0IGFjdEZyYW1ld29yazpGcmFtZXdvcmsmIHsgW2tleTogc3RyaW5nXTogYW55OyB9PWV4aXN0aW5nRnJhbWV3b3JrfHx0aGlzLmFjdGl2ZUZyYW1ld29yaztcclxuICAgIC8vVE9ETyBtb3ZlIHRoaXMgaW50byBjb25maWdcclxuICAgIGNvbnN0IGFzc2V0Q29uZmlnUGF0aCA9IGBhc3NldHMvJHthY3RGcmFtZXdvcmsubmFtZX0vY3NzZnJhbWV3b3JrYFxyXG4gICAgY29uc3QgYXNzZXRDb25maWdVUkwgPSBgJHthc3NldENvbmZpZ1BhdGh9L2Fzc2V0cy5qc29uYDtcclxuICAgIGxldCBzdWJzPXRoaXMuaHR0cFxyXG4gICAgICAuZ2V0KGFzc2V0Q29uZmlnVVJMLCB7IHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pXHJcbiAgICAgIC8vLnN1YnNjcmliZShhc3NldENvbmZpZyA9PiB7XHJcbiAgICAgIC8vICBhc3NldENvbmZpZ1xyXG4gICAgICAvL30pXHJcbiAgICAgIFxyXG4gICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbShzdWJzKS50aGVuKGFzc2V0Q2ZnVGV4dD0+e1xyXG4gICAgICAgIGxldCBhc3NldENmZz1KU09OLnBhcnNlKGFzc2V0Q2ZnVGV4dCk7XHJcbiAgICAgICAgaWYodXNlQXNzZXRSZWxQYXRoKXtcclxuICAgICAgICAgIGFzc2V0Q2ZnLnN0eWxlc2hlZXRzPWFzc2V0Q2ZnLnN0eWxlc2hlZXRzLm1hcChzdHlsZUxpbms9PntcclxuICAgICAgICAgICAgLy9pZ25vcmUgcmVsYXRpdmUgcGF0aCBpZiB1cmwgc3RhcnRzIHdpdGgga25vd24gcHJvdG9jb2wgb3IgLy9cclxuICAgICAgICAgICAgbGV0IG5vblJlbFByZWZpeGVzPVtcIi9cIixcIi8vXCIsXCJodHRwOlwiLFwiaHR0cHM6XCJdOy8vXCIvL1wiIGxpc3QgZm9yIGNvbXBsZXRlbmVzcyBcclxuICAgICAgICAgICAgbGV0IGlzTm9uUmVsPWZhbHNlO1xyXG4gICAgICAgICAgICBub25SZWxQcmVmaXhlcy5mb3JFYWNoKHByZWZpeD0+e1xyXG4gICAgICAgICAgICAgIGlzTm9uUmVsPWlzTm9uUmVsfHxzdHlsZUxpbmsuaW5kZXhPZihwcmVmaXgpPT0wO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICBpZihpc05vblJlbCl7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHN0eWxlTGluaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gYCR7YXNzZXRDb25maWdQYXRofS8ke3N0eWxlTGlua31gO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIGFzc2V0Q2ZnLnNjcmlwdHM9YXNzZXRDZmcuc2NyaXB0cy5tYXAoc2NyaXB0TGluaz0+e1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7YXNzZXRDb25maWdQYXRofS8ke3NjcmlwdExpbmt9YDtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfSAgIFxyXG4gICAgICAgIHJldHVybiBhc3NldENmZ1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vYXBwbGllcyB0byBDc3NGcmFtZXdvcmsgY2xhc3Nlc1xyXG4gIHB1YmxpYyBnZXRGcmFtZXdvcmtUaGVtZXMoKTp7bmFtZTpzdHJpbmcsdGV4dDpzdHJpbmd9W10ge1xyXG4gICAgbGV0IGNzc2Z3Q29uZmlnPXRoaXMuZ2V0RnJhbWV3b3JrQ29uZmlnKCk7XHJcbiAgICBsZXQgdGhlbWVzO1xyXG4gICAgaWYoY3NzZndDb25maWcpe1xyXG4gICAgICB0aGVtZXM9Y3NzZndDb25maWc/LndpZGdldHN0eWxlcz8uX190aGVtZXNfX3x8W11cclxuICAgIH1cclxuICAgIHJldHVybiB0aGVtZXNcclxuICB9XHJcblxyXG4gIC8vYXBwbGllcyB0byBDc3NGcmFtZXdvcmsgY2xhc3Nlc1xyXG4gIHB1YmxpYyByZXF1ZXN0VGhlbWVDaGFuZ2UobmFtZTpzdHJpbmcsdmFsaWRhdGVUaGVtZUV4aXN0czpib29sZWFuPWZhbHNlLGV4aXN0aW5nRnJhbWV3b3JrPzphbnkpe1xyXG4gICAgbGV0IGFjdEZyYW1ld29yazpGcmFtZXdvcmsmIHsgW2tleTogc3RyaW5nXTogYW55OyB9PWV4aXN0aW5nRnJhbWV3b3JrfHx0aGlzLmFjdGl2ZUZyYW1ld29yaztcclxuICAgIGlmKGFjdEZyYW1ld29yay5yZXF1ZXN0VGhlbWVDaGFuZ2Upe1xyXG4gICAgICBpZih2YWxpZGF0ZVRoZW1lRXhpc3RzKXsgIFxyXG4gICAgICAgIGxldCB0aGVtZXM9dGhpcy5nZXRGcmFtZXdvcmtUaGVtZXMoKTtcclxuICAgICAgICBsZXQgZm91bmRUaGVtZXM9dGhlbWVzLmZpbHRlcih0aG09PntyZXR1cm4gdGhtLm5hbWU9PW5hbWV9KTtcclxuICAgICAgICBpZighZm91bmRUaGVtZXN8fCBmb3VuZFRoZW1lcy5sZW5ndGg9PTApe1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBhY3RGcmFtZXdvcmsucmVxdWVzdFRoZW1lQ2hhbmdlKG5hbWUpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbiAgLy9hcHBsaWVzIHRvIENzc0ZyYW1ld29yayBjbGFzc2VzXHJcbiAgcHVibGljIGdldEFjdGl2ZVRoZW1lKGV4aXN0aW5nRnJhbWV3b3JrPzphbnkpOntuYW1lOnN0cmluZyx0ZXh0OnN0cmluZ317XHJcbiAgICBsZXQgYWN0RnJhbWV3b3JrOkZyYW1ld29yayYgeyBba2V5OiBzdHJpbmddOiBhbnk7IH09ZXhpc3RpbmdGcmFtZXdvcmt8fHRoaXMuYWN0aXZlRnJhbWV3b3JrO1xyXG4gICAgaWYoYWN0RnJhbWV3b3JrLmdldEFjdGl2ZVRoZW1lKXtcclxuICAgICAgcmV0dXJuIGFjdEZyYW1ld29yay5nZXRBY3RpdmVUaGVtZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9hcHBsaWVzIHRvIENzc0ZyYW1ld29yayBjbGFzc2VzXHJcbiAgcHVibGljIHJlZ2lzdGVyVGhlbWUobmV3VGhlbWU6e25hbWU6c3RyaW5nLHRleHQ6c3RyaW5nfSxleGlzdGluZ0ZyYW1ld29yaz86YW55KTpib29sZWFue1xyXG4gICAgbGV0IGFjdEZyYW1ld29yazpGcmFtZXdvcmsmIHsgW2tleTogc3RyaW5nXTogYW55OyB9PWV4aXN0aW5nRnJhbWV3b3JrfHx0aGlzLmFjdGl2ZUZyYW1ld29yaztcclxuICAgIGlmKGFjdEZyYW1ld29yay5yZWdpc3RlclRoZW1lKXtcclxuICAgICAgcmV0dXJuIGFjdEZyYW1ld29yay5yZWdpc3RlclRoZW1lKG5ld1RoZW1lKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICAgLy9hcHBsaWVzIHRvIENzc0ZyYW1ld29yayBjbGFzc2VzXHJcbiAgICBwdWJsaWMgdW5yZWdpc3RlclRoZW1lKG5hbWU6c3RyaW5nLGV4aXN0aW5nRnJhbWV3b3JrPzphbnkpOmJvb2xlYW57XHJcbiAgICAgIGxldCBhY3RGcmFtZXdvcms6RnJhbWV3b3JrJiB7IFtrZXk6IHN0cmluZ106IGFueTsgfT1leGlzdGluZ0ZyYW1ld29ya3x8dGhpcy5hY3RpdmVGcmFtZXdvcms7XHJcbiAgICAgIGlmKGFjdEZyYW1ld29yay5yZWdpc3RlclRoZW1lKXtcclxuICAgICAgICByZXR1cm4gYWN0RnJhbWV3b3JrLnVucmVnaXN0ZXJUaGVtZShuYW1lKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
171
+ }] }] });
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrLWxpYnJhcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9saWIvZnJhbWV3b3JrLWxpYnJhcnkvZnJhbWV3b3JrLWxpYnJhcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBYyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUV4Qyw4QkFBOEI7QUFDOUIsa0JBQWtCO0FBQ2xCLHNFQUFzRTtBQUN0RSw2Q0FBNkM7QUFDN0MsaUJBQWlCO0FBQ2pCLGlEQUFpRDtBQUNqRCxpREFBaUQ7QUFLakQsTUFBTSxPQUFPLHVCQUF1QjtJQWdCbEMsWUFBdUMsVUFBaUI7UUFBakIsZUFBVSxHQUFWLFVBQVUsQ0FBTztRQWZ4RCx5Q0FBeUM7UUFDakMsa0JBQWEsR0FBRyxNQUFNLENBQXVCLG9CQUFvQixDQUFDLENBQUM7UUFDbkUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVsQyxvQkFBZSxHQUFjLElBQUksQ0FBQztRQUdsQyx1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFFM0IscUJBQWdCLEdBQWtDLEVBQUUsQ0FBQztRQU9uRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUNsQyxJQUFJLENBQUMsZ0JB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LE9BQU8sWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMzQztJQUNILENBQUM7K0dBL0tRLHVCQUF1QixrQkFnQmQsU0FBUzttSEFoQmxCLHVCQUF1QixjQUZ0QixNQUFNOzs0RkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFpQmMsTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgbGFzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBoYXNPd24gfSBmcm9tICcuLi9zaGFyZWQvdXRpbGl0eS5mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBXaWRnZXRMaWJyYXJ5U2VydmljZSB9IGZyb20gJy4uL3dpZGdldC1saWJyYXJ5L3dpZGdldC1saWJyYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGcmFtZXdvcmsgfSBmcm9tICcuL2ZyYW1ld29yayc7XHJcblxyXG4vLyBQb3NzaWJsZSBmdXR1cmUgZnJhbWV3b3JrczpcclxuLy8gLSBGb3VuZGF0aW9uIDY6XHJcbi8vICAgaHR0cDovL2p1c3RpbmRhdmlzLmNvLzIwMTcvMDYvMTUvdXNpbmctZm91bmRhdGlvbi02LWluLWFuZ3VsYXItNC9cclxuLy8gICBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzXHJcbi8vIC0gU2VtYW50aWMgVUk6XHJcbi8vICAgaHR0cHM6Ly9naXRodWIuY29tL2VkY2Fycm9sbC9uZzItc2VtYW50aWMtdWlcclxuLy8gICBodHRwczovL2dpdGh1Yi5jb20vdmxhZG90ZXNhbm92aWMvbmdTZW1hbnRpY1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZyYW1ld29ya0xpYnJhcnlTZXJ2aWNlIHtcclxuICAvL3ByaXZhdGUgZnJhbWV3b3JrcyA9IGluamVjdChGcmFtZXdvcmspO1xyXG4gIHByaXZhdGUgd2lkZ2V0TGlicmFyeSA9IGluamVjdDxXaWRnZXRMaWJyYXJ5U2VydmljZT4oV2lkZ2V0TGlicmFyeVNlcnZpY2UpO1xyXG4gIHByaXZhdGUgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcclxuXHJcbiAgYWN0aXZlRnJhbWV3b3JrOiBGcmFtZXdvcmsgPSBudWxsO1xyXG4gIHN0eWxlc2hlZXRzOiAoSFRNTFN0eWxlRWxlbWVudHxIVE1MTGlua0VsZW1lbnQpW107XHJcbiAgc2NyaXB0czogSFRNTFNjcmlwdEVsZW1lbnRbXTtcclxuICBsb2FkRXh0ZXJuYWxBc3NldHMgPSBmYWxzZTtcclxuICBkZWZhdWx0RnJhbWV3b3JrOiBzdHJpbmc7XHJcbiAgZnJhbWV3b3JrTGlicmFyeTogeyBbbmFtZTogc3RyaW5nXTogRnJhbWV3b3JrIH0gPSB7fTtcclxuXHJcbiAgYWN0aXZlRnJhbWV3b3JrTmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICBwcml2YXRlIGFjdGl2ZUZyYW1ld29ya05hbWVTdWJqZWN0OiBTdWJqZWN0PHN0cmluZz47XHJcbiAgcHJpdmF0ZSBhY3RpdmVGcmFtZXdvcmtOYW1lOnN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoQEluamVjdChGcmFtZXdvcmspIHByaXZhdGUgZnJhbWV3b3JrczogYW55W10sKSB7XHJcbiAgICB0aGlzLmZyYW1ld29ya3MuZm9yRWFjaChmcmFtZXdvcmsgPT5cclxuICAgICAgdGhpcy5mcmFtZXdvcmtMaWJyYXJ5W2ZyYW1ld29yay5uYW1lXSA9IGZyYW1ld29ya1xyXG4gICAgKTtcclxuICAgIHRoaXMuZGVmYXVsdEZyYW1ld29yayA9IHRoaXMuZnJhbWV3b3Jrc1swXS5uYW1lO1xyXG4gICAgLy90aGlzLnNldEZyYW1ld29yayh0aGlzLmRlZmF1bHRGcmFtZXdvcmspO1xyXG4gICAgXHJcbiAgICB0aGlzLmFjdGl2ZUZyYW1ld29ya05hbWU9dGhpcy5kZWZhdWx0RnJhbWV3b3JrO1xyXG4gICAgdGhpcy5hY3RpdmVGcmFtZXdvcmtOYW1lU3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICAgIHRoaXMuYWN0aXZlRnJhbWV3b3JrTmFtZSQgPSB0aGlzLmFjdGl2ZUZyYW1ld29ya05hbWVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgdGhpcy5zZXRGcmFtZXdvcmsodGhpcy5kZWZhdWx0RnJhbWV3b3JrKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRMb2FkRXh0ZXJuYWxBc3NldHMobG9hZEV4dGVybmFsQXNzZXRzID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkRXh0ZXJuYWxBc3NldHMgPSAhIWxvYWRFeHRlcm5hbEFzc2V0cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRGcmFtZXdvcmsoXHJcbiAgICBmcmFtZXdvcms6IHN0cmluZ3xGcmFtZXdvcmsgPSB0aGlzLmRlZmF1bHRGcmFtZXdvcmssXHJcbiAgICBsb2FkRXh0ZXJuYWxBc3NldHMgPSB0aGlzLmxvYWRFeHRlcm5hbEFzc2V0c1xyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgdGhpcy5hY3RpdmVGcmFtZXdvcmsgPVxyXG4gICAgICB0eXBlb2YgZnJhbWV3b3JrID09PSAnc3RyaW5nJyAmJiB0aGlzLmhhc0ZyYW1ld29yayhmcmFtZXdvcmspID9cclxuICAgICAgICB0aGlzLmZyYW1ld29ya0xpYnJhcnlbZnJhbWV3b3JrXSA6XHJcbiAgICAgIHR5cGVvZiBmcmFtZXdvcmsgPT09ICdvYmplY3QnICYmIGhhc093bihmcmFtZXdvcmssICdmcmFtZXdvcmsnKSA/XHJcbiAgICAgICAgZnJhbWV3b3JrIDpcclxuICAgICAgICB0aGlzLmZyYW1ld29ya0xpYnJhcnlbdGhpcy5kZWZhdWx0RnJhbWV3b3JrXTtcclxuICAgIGlmKHRoaXMuYWN0aXZlRnJhbWV3b3JrLm5hbWUgIT10aGlzLmFjdGl2ZUZyYW1ld29ya05hbWUpe1xyXG4gICAgICB0aGlzLmFjdGl2ZUZyYW1ld29ya05hbWU9dGhpcy5hY3RpdmVGcmFtZXdvcmsubmFtZTtcclxuICAgICAgdGhpcy5hY3RpdmVGcmFtZXdvcmtOYW1lU3ViamVjdC5uZXh0KHRoaXMuYWN0aXZlRnJhbWV3b3JrTmFtZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5yZWdpc3RlckZyYW1ld29ya1dpZGdldHModGhpcy5hY3RpdmVGcmFtZXdvcmspO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJGcmFtZXdvcmtXaWRnZXRzKGZyYW1ld29yazogRnJhbWV3b3JrKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaGFzT3duKGZyYW1ld29yaywgJ3dpZGdldHMnKSA/XHJcbiAgICAgIHRoaXMud2lkZ2V0TGlicmFyeS5yZWdpc3RlckZyYW1ld29ya1dpZGdldHMoZnJhbWV3b3JrLndpZGdldHMpIDpcclxuICAgICAgdGhpcy53aWRnZXRMaWJyYXJ5LnVuUmVnaXN0ZXJGcmFtZXdvcmtXaWRnZXRzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFzRnJhbWV3b3JrKHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGhhc093bih0aGlzLmZyYW1ld29ya0xpYnJhcnksIHR5cGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEZyYW1ld29yaygpOiBhbnkge1xyXG4gICAgaWYgKCF0aGlzLmFjdGl2ZUZyYW1ld29yaykgeyB0aGlzLnNldEZyYW1ld29yaygnZGVmYXVsdCcsIHRydWUpOyB9XHJcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVGcmFtZXdvcmsuZnJhbWV3b3JrO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEZyYW1ld29ya0xpc3QoKTp7bmFtZTpzdHJpbmcsdGV4dDpzdHJpbmd9W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZnJhbWV3b3Jrcy5tYXAoZnc9PntcclxuICAgICAgcmV0dXJuIHtuYW1lOmZ3Lm5hbWUsdGV4dDpmdy50ZXh0fTtcclxuICAgIH0pXHJcbiAgICBcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRGcmFtZXdvcmtXaWRnZXRzKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVGcmFtZXdvcmsud2lkZ2V0cyB8fCB7fTtcclxuICB9XHJcblxyXG4gIFxyXG5cclxuICBwdWJsaWMgZ2V0RnJhbWV3b3JrU3R5bGVzaGVldHMobG9hZDogYm9vbGVhbiA9IHRoaXMubG9hZEV4dGVybmFsQXNzZXRzKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIChsb2FkICYmIHRoaXMuYWN0aXZlRnJhbWV3b3JrLnN0eWxlc2hlZXRzKSB8fCBbXTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRGcmFtZXdvcmtTY3JpcHRzKGxvYWQ6IGJvb2xlYW4gPSB0aGlzLmxvYWRFeHRlcm5hbEFzc2V0cyk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiAobG9hZCAmJiB0aGlzLmFjdGl2ZUZyYW1ld29yay5zY3JpcHRzKSB8fCBbXTtcclxuICB9XHJcblxyXG4gIC8vYXBwbGllcyB0byBDc3NGcmFtZXdvcmsgY2xhc3Nlc1xyXG4gIHB1YmxpYyBnZXRGcmFtZXdvcmtDb25maWcoZXhpc3RpbmdGcmFtZXdvcms/OmFueSk6IGFueSB7XHJcbiAgICBsZXQgYWN0RnJhbWV3b3JrOkZyYW1ld29yayYgeyBba2V5OiBzdHJpbmddOiBhbnk7IH09ZXhpc3RpbmdGcmFtZXdvcmt8fHRoaXMuYWN0aXZlRnJhbWV3b3JrO1xyXG4gICAgcmV0dXJuIGFjdEZyYW1ld29yay5jb25maWc7XHJcbiAgfVxyXG5cclxuICAvL3RoaXMgd2lsbCBsb2FkIHRoZSBsaXN0IG9mIGFzc2V0cyB0byBiZSBsb2FkZWQgYXQgcnVudGltZSBpbiBjYXNlIHRoZSBkZXBlbmRlbnQgZnJhbWV3b3JrXHJcbiAgLy9zY3JpcHRzIGFuZCBzdHlsZXMgYXJlIGluY2x1ZGUgbG9jYWxseSB3aXRoIHRoZSBwYXJlbnQgYXBwXHJcbiAgcHVibGljIGdldEZyYW1ld29ya0Fzc2V0Q29uZmlnKGV4aXN0aW5nRnJhbWV3b3JrPzphbnksdXNlQXNzZXRSZWxQYXRoPXRydWUpOlByb21pc2U8e3N0eWxlc2hlZXRzOnN0cmluZ1tdLHNjcmlwdHM6c3RyaW5nW119PntcclxuICAgIGxldCBhY3RGcmFtZXdvcms6RnJhbWV3b3JrJiB7IFtrZXk6IHN0cmluZ106IGFueTsgfT1leGlzdGluZ0ZyYW1ld29ya3x8dGhpcy5hY3RpdmVGcmFtZXdvcms7XHJcbiAgICAvL1RPRE8gbW92ZSB0aGlzIGludG8gY29uZmlnXHJcbiAgICBjb25zdCBhc3NldENvbmZpZ1BhdGggPSBgYXNzZXRzLyR7YWN0RnJhbWV3b3JrLm5hbWV9L2Nzc2ZyYW1ld29ya2BcclxuICAgIGNvbnN0IGFzc2V0Q29uZmlnVVJMID0gYCR7YXNzZXRDb25maWdQYXRofS9hc3NldHMuanNvbmA7XHJcbiAgICBsZXQgc3Vicz10aGlzLmh0dHBcclxuICAgICAgLmdldChhc3NldENvbmZpZ1VSTCwgeyByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KVxyXG4gICAgICAvLy5zdWJzY3JpYmUoYXNzZXRDb25maWcgPT4ge1xyXG4gICAgICAvLyAgYXNzZXRDb25maWdcclxuICAgICAgLy99KVxyXG4gICAgICBcclxuICAgICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20oc3VicykudGhlbihhc3NldENmZ1RleHQ9PntcclxuICAgICAgICBsZXQgYXNzZXRDZmc9SlNPTi5wYXJzZShhc3NldENmZ1RleHQpO1xyXG4gICAgICAgIGlmKHVzZUFzc2V0UmVsUGF0aCl7XHJcbiAgICAgICAgICBhc3NldENmZy5zdHlsZXNoZWV0cz1hc3NldENmZy5zdHlsZXNoZWV0cy5tYXAoc3R5bGVMaW5rPT57XHJcbiAgICAgICAgICAgIC8vaWdub3JlIHJlbGF0aXZlIHBhdGggaWYgdXJsIHN0YXJ0cyB3aXRoIGtub3duIHByb3RvY29sIG9yIC8vXHJcbiAgICAgICAgICAgIGxldCBub25SZWxQcmVmaXhlcz1bXCIvXCIsXCIvL1wiLFwiaHR0cDpcIixcImh0dHBzOlwiXTsvL1wiLy9cIiBsaXN0IGZvciBjb21wbGV0ZW5lc3MgXHJcbiAgICAgICAgICAgIGxldCBpc05vblJlbD1mYWxzZTtcclxuICAgICAgICAgICAgbm9uUmVsUHJlZml4ZXMuZm9yRWFjaChwcmVmaXg9PntcclxuICAgICAgICAgICAgICBpc05vblJlbD1pc05vblJlbHx8c3R5bGVMaW5rLmluZGV4T2YocHJlZml4KT09MDtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgaWYoaXNOb25SZWwpe1xyXG4gICAgICAgICAgICAgIHJldHVybiBzdHlsZUxpbms7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGAke2Fzc2V0Q29uZmlnUGF0aH0vJHtzdHlsZUxpbmt9YDtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICBhc3NldENmZy5zY3JpcHRzPWFzc2V0Q2ZnLnNjcmlwdHMubWFwKHNjcmlwdExpbms9PntcclxuICAgICAgICAgICAgcmV0dXJuIGAke2Fzc2V0Q29uZmlnUGF0aH0vJHtzY3JpcHRMaW5rfWA7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0gICBcclxuICAgICAgICByZXR1cm4gYXNzZXRDZmdcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL2FwcGxpZXMgdG8gQ3NzRnJhbWV3b3JrIGNsYXNzZXNcclxuICBwdWJsaWMgZ2V0RnJhbWV3b3JrVGhlbWVzKCk6e25hbWU6c3RyaW5nLHRleHQ6c3RyaW5nfVtdIHtcclxuICAgIGxldCBjc3Nmd0NvbmZpZz10aGlzLmdldEZyYW1ld29ya0NvbmZpZygpO1xyXG4gICAgbGV0IHRoZW1lcztcclxuICAgIGlmKGNzc2Z3Q29uZmlnKXtcclxuICAgICAgdGhlbWVzPWNzc2Z3Q29uZmlnPy53aWRnZXRzdHlsZXM/Ll9fdGhlbWVzX198fFtdXHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWVzXHJcbiAgfVxyXG5cclxuICAvL2FwcGxpZXMgdG8gQ3NzRnJhbWV3b3JrIGNsYXNzZXNcclxuICBwdWJsaWMgcmVxdWVzdFRoZW1lQ2hhbmdlKG5hbWU6c3RyaW5nLHZhbGlkYXRlVGhlbWVFeGlzdHM6Ym9vbGVhbj1mYWxzZSxleGlzdGluZ0ZyYW1ld29yaz86YW55KXtcclxuICAgIGxldCBhY3RGcmFtZXdvcms6RnJhbWV3b3JrJiB7IFtrZXk6IHN0cmluZ106IGFueTsgfT1leGlzdGluZ0ZyYW1ld29ya3x8dGhpcy5hY3RpdmVGcmFtZXdvcms7XHJcbiAgICBpZihhY3RGcmFtZXdvcmsucmVxdWVzdFRoZW1lQ2hhbmdlKXtcclxuICAgICAgaWYodmFsaWRhdGVUaGVtZUV4aXN0cyl7ICBcclxuICAgICAgICBsZXQgdGhlbWVzPXRoaXMuZ2V0RnJhbWV3b3JrVGhlbWVzKCk7XHJcbiAgICAgICAgbGV0IGZvdW5kVGhlbWVzPXRoZW1lcy5maWx0ZXIodGhtPT57cmV0dXJuIHRobS5uYW1lPT1uYW1lfSk7XHJcbiAgICAgICAgaWYoIWZvdW5kVGhlbWVzfHwgZm91bmRUaGVtZXMubGVuZ3RoPT0wKXtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgYWN0RnJhbWV3b3JrLnJlcXVlc3RUaGVtZUNoYW5nZShuYW1lKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vYXBwbGllcyB0byBDc3NGcmFtZXdvcmsgY2xhc3Nlc1xyXG4gIHB1YmxpYyBnZXRBY3RpdmVUaGVtZShleGlzdGluZ0ZyYW1ld29yaz86YW55KTp7bmFtZTpzdHJpbmcsdGV4dDpzdHJpbmd9e1xyXG4gICAgbGV0IGFjdEZyYW1ld29yazpGcmFtZXdvcmsmIHsgW2tleTogc3RyaW5nXTogYW55OyB9PWV4aXN0aW5nRnJhbWV3b3JrfHx0aGlzLmFjdGl2ZUZyYW1ld29yaztcclxuICAgIGlmKGFjdEZyYW1ld29yay5nZXRBY3RpdmVUaGVtZSl7XHJcbiAgICAgIHJldHVybiBhY3RGcmFtZXdvcmsuZ2V0QWN0aXZlVGhlbWUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vYXBwbGllcyB0byBDc3NGcmFtZXdvcmsgY2xhc3Nlc1xyXG4gIHB1YmxpYyByZWdpc3RlclRoZW1lKG5ld1RoZW1lOntuYW1lOnN0cmluZyx0ZXh0OnN0cmluZ30sZXhpc3RpbmdGcmFtZXdvcms/OmFueSk6Ym9vbGVhbntcclxuICAgIGxldCBhY3RGcmFtZXdvcms6RnJhbWV3b3JrJiB7IFtrZXk6IHN0cmluZ106IGFueTsgfT1leGlzdGluZ0ZyYW1ld29ya3x8dGhpcy5hY3RpdmVGcmFtZXdvcms7XHJcbiAgICBpZihhY3RGcmFtZXdvcmsucmVnaXN0ZXJUaGVtZSl7XHJcbiAgICAgIHJldHVybiBhY3RGcmFtZXdvcmsucmVnaXN0ZXJUaGVtZShuZXdUaGVtZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAgIC8vYXBwbGllcyB0byBDc3NGcmFtZXdvcmsgY2xhc3Nlc1xyXG4gICAgcHVibGljIHVucmVnaXN0ZXJUaGVtZShuYW1lOnN0cmluZyxleGlzdGluZ0ZyYW1ld29yaz86YW55KTpib29sZWFue1xyXG4gICAgICBsZXQgYWN0RnJhbWV3b3JrOkZyYW1ld29yayYgeyBba2V5OiBzdHJpbmddOiBhbnk7IH09ZXhpc3RpbmdGcmFtZXdvcmt8fHRoaXMuYWN0aXZlRnJhbWV3b3JrO1xyXG4gICAgICBpZihhY3RGcmFtZXdvcmsucmVnaXN0ZXJUaGVtZSl7XHJcbiAgICAgICAgcmV0dXJuIGFjdEZyYW1ld29yay51bnJlZ2lzdGVyVGhlbWUobmFtZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,18 +1,17 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { Component, input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../widget-library/select-widget.component";
4
4
  export class NoFrameworkComponent {
5
+ constructor() {
6
+ this.layoutNode = input(undefined);
7
+ this.layoutIndex = input(undefined);
8
+ this.dataIndex = input(undefined);
9
+ }
5
10
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NoFrameworkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NoFrameworkComponent, selector: "no-framework", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<select-widget-widget [dataIndex]=\"dataIndex\" [layoutIndex]=\"layoutIndex\" [layoutNode]=\"layoutNode\">\r\n</select-widget-widget>", dependencies: [{ kind: "component", type: i1.SelectWidgetComponent, selector: "select-widget-widget", inputs: ["layoutNode", "layoutIndex", "dataIndex"] }] }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: NoFrameworkComponent, selector: "no-framework", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<select-widget-widget [dataIndex]=\"dataIndex()\" [layoutIndex]=\"layoutIndex()\" [layoutNode]=\"layoutNode()\">\r\n</select-widget-widget>", dependencies: [{ kind: "component", type: i1.SelectWidgetComponent, selector: "select-widget-widget", inputs: ["layoutNode", "layoutIndex", "dataIndex"] }] }); }
7
12
  }
8
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NoFrameworkComponent, decorators: [{
9
14
  type: Component,
10
- args: [{ selector: 'no-framework', template: "<select-widget-widget [dataIndex]=\"dataIndex\" [layoutIndex]=\"layoutIndex\" [layoutNode]=\"layoutNode\">\r\n</select-widget-widget>" }]
11
- }], propDecorators: { layoutNode: [{
12
- type: Input
13
- }], layoutIndex: [{
14
- type: Input
15
- }], dataIndex: [{
16
- type: Input
17
- }] } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZnJhbWV3b3JrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9saWIvZnJhbWV3b3JrLWxpYnJhcnkvbm8tZnJhbWV3b3JrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9saWIvZnJhbWV3b3JrLWxpYnJhcnkvbm8tZnJhbWV3b3JrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNakQsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO21HQUFwQixvQkFBb0IsOElDTmpDLHVJQUN1Qjs7NEZES1Ysb0JBQW9CO2tCQUpoQyxTQUFTOytCQUNFLGNBQWM7OEJBSWYsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ25vLWZyYW1ld29yaycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL25vLWZyYW1ld29yay5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb0ZyYW1ld29ya0NvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbGF5b3V0Tm9kZTogYW55O1xyXG4gIEBJbnB1dCgpIGxheW91dEluZGV4OiBudW1iZXJbXTtcclxuICBASW5wdXQoKSBkYXRhSW5kZXg6IG51bWJlcltdO1xyXG59XHJcbiIsIjxzZWxlY3Qtd2lkZ2V0LXdpZGdldCBbZGF0YUluZGV4XT1cImRhdGFJbmRleFwiIFtsYXlvdXRJbmRleF09XCJsYXlvdXRJbmRleFwiIFtsYXlvdXROb2RlXT1cImxheW91dE5vZGVcIj5cclxuPC9zZWxlY3Qtd2lkZ2V0LXdpZGdldD4iXX0=
15
+ args: [{ selector: 'no-framework', template: "<select-widget-widget [dataIndex]=\"dataIndex()\" [layoutIndex]=\"layoutIndex()\" [layoutNode]=\"layoutNode()\">\r\n</select-widget-widget>" }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZnJhbWV3b3JrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9saWIvZnJhbWV3b3JrLWxpYnJhcnkvbm8tZnJhbWV3b3JrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9saWIvZnJhbWV3b3JrLWxpYnJhcnkvbm8tZnJhbWV3b3JrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNakQsTUFBTSxPQUFPLG9CQUFvQjtJQUpqQztRQUtXLGVBQVUsR0FBRyxLQUFLLENBQU0sU0FBUyxDQUFDLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7UUFDekMsY0FBUyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztLQUNqRDsrR0FKWSxvQkFBb0I7bUdBQXBCLG9CQUFvQixxZENOakMsNklBQ3VCOzs0RkRLVixvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0UsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbm8tZnJhbWV3b3JrJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbm8tZnJhbWV3b3JrLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5vRnJhbWV3b3JrQ29tcG9uZW50IHtcclxuICByZWFkb25seSBsYXlvdXROb2RlID0gaW5wdXQ8YW55Pih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGxheW91dEluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgZGF0YUluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcbn1cclxuIiwiPHNlbGVjdC13aWRnZXQtd2lkZ2V0IFtkYXRhSW5kZXhdPVwiZGF0YUluZGV4KClcIiBbbGF5b3V0SW5kZXhdPVwibGF5b3V0SW5kZXgoKVwiIFtsYXlvdXROb2RlXT1cImxheW91dE5vZGUoKVwiPlxyXG48L3NlbGVjdC13aWRnZXQtd2lkZ2V0PiJdfQ==