@olafvv/ngx-dynamic-form 0.0.3 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/esm2022/lib/components/dynamic-form/dynamic-form.component.mjs +21 -15
  2. package/esm2022/lib/components/dynamic-form-field/dynamic-form-field.component.mjs +17 -3
  3. package/esm2022/lib/controls/button/dynamic-button.component.mjs +3 -3
  4. package/esm2022/lib/controls/button-toggles/dynamic-button-toggles.component.mjs +27 -0
  5. package/esm2022/lib/controls/button-toggles/dynamic-button-toggles.model.mjs +11 -0
  6. package/esm2022/lib/controls/checkbox/dynamic-checkbox.component.mjs +5 -11
  7. package/esm2022/lib/controls/index.mjs +2 -1
  8. package/esm2022/lib/controls/input/dynamic-input.component.mjs +12 -11
  9. package/esm2022/lib/controls/input/dynamic-input.model.mjs +2 -1
  10. package/esm2022/lib/controls/readonly/dynamic-readonly.component.mjs +3 -3
  11. package/esm2022/lib/controls/select/dynamic-select.component.mjs +5 -11
  12. package/esm2022/lib/controls/textarea/dynamic-textarea.component.mjs +12 -11
  13. package/esm2022/lib/models/classes/dynamic-form-field-base.mjs +28 -0
  14. package/esm2022/lib/models/classes/dynamic-form-field-model.mjs +1 -1
  15. package/esm2022/lib/models/constants/dynamic-relations.const.mjs +2 -15
  16. package/esm2022/lib/models/index.mjs +4 -3
  17. package/esm2022/lib/models/interfaces/dynamic-form-field-config.interface.mjs +1 -1
  18. package/esm2022/lib/models/interfaces/dynamic-form-field-event.interface.mjs +2 -0
  19. package/esm2022/lib/models/interfaces/dynamic-form-field-relation.interface.mjs +15 -0
  20. package/esm2022/lib/services/dynamic-form-relations.service.mjs +3 -2
  21. package/esm2022/lib/services/dynamic-form.service.mjs +12 -8
  22. package/fesm2022/olafvv-ngx-dynamic-form.mjs +186 -146
  23. package/fesm2022/olafvv-ngx-dynamic-form.mjs.map +1 -1
  24. package/lib/components/dynamic-form/dynamic-form.component.d.ts +15 -9
  25. package/lib/components/dynamic-form-field/dynamic-form-field.component.d.ts +6 -2
  26. package/lib/controls/button/dynamic-button.component.d.ts +2 -2
  27. package/lib/controls/button-toggles/dynamic-button-toggles.component.d.ts +13 -0
  28. package/lib/controls/button-toggles/dynamic-button-toggles.model.d.ts +12 -0
  29. package/lib/controls/checkbox/dynamic-checkbox.component.d.ts +3 -5
  30. package/lib/controls/index.d.ts +1 -0
  31. package/lib/controls/input/dynamic-input.component.d.ts +6 -6
  32. package/lib/controls/input/dynamic-input.model.d.ts +2 -0
  33. package/lib/controls/readonly/dynamic-readonly.component.d.ts +2 -2
  34. package/lib/controls/select/dynamic-select.component.d.ts +5 -6
  35. package/lib/controls/textarea/dynamic-textarea.component.d.ts +6 -6
  36. package/lib/models/classes/{dynamic-form-field-base-component.d.ts → dynamic-form-field-base.d.ts} +2 -8
  37. package/lib/models/classes/dynamic-form-field-model.d.ts +2 -3
  38. package/lib/models/constants/dynamic-relations.const.d.ts +1 -29
  39. package/lib/models/index.d.ts +3 -2
  40. package/lib/models/interfaces/dynamic-form-field-config.interface.d.ts +4 -5
  41. package/lib/models/interfaces/dynamic-form-field-event.interface.d.ts +10 -0
  42. package/lib/models/interfaces/dynamic-form-field-relation.interface.d.ts +29 -0
  43. package/lib/services/dynamic-form.service.d.ts +12 -8
  44. package/package.json +1 -1
  45. package/esm2022/lib/models/classes/dynamic-form-field-base-component.mjs +0 -34
  46. package/esm2022/lib/models/types/dynamic-form-hook.type.mjs +0 -2
  47. package/lib/models/types/dynamic-form-hook.type.d.ts +0 -1
@@ -1,14 +1,12 @@
1
1
  import { NgClass, NgFor } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, Output } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
3
3
  import { ReactiveFormsModule } from '@angular/forms';
4
4
  import { DynamicFormService } from '../../services/dynamic-form.service';
5
5
  import { DynamicFormFieldComponent } from '../dynamic-form-field/dynamic-form-field.component';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/forms";
8
7
  export class DynamicFormComponent {
9
8
  constructor() {
10
- this.ready = new EventEmitter();
11
- this.dynamicFormService = inject(DynamicFormService);
9
+ this.change = new EventEmitter();
12
10
  }
13
11
  /**
14
12
  * Get the formConfig as flat array.
@@ -16,10 +14,12 @@ export class DynamicFormComponent {
16
14
  get flatFormConfig() {
17
15
  return this.formConfig.reduce((acc, curr) => acc.concat(curr), []);
18
16
  }
19
- ngOnInit() {
20
- this.group = this.dynamicFormService.createFormGroup(this.formConfig);
21
- this.ready.emit(this.group);
22
- }
17
+ /**
18
+ * TrackBy Function for performance optimization
19
+ * @param _index
20
+ * @param field
21
+ * @returns
22
+ */
23
23
  trackByFn(_index, field) {
24
24
  return field.id;
25
25
  }
@@ -35,25 +35,31 @@ export class DynamicFormComponent {
35
35
  * Provides an Observable to listen to changes of a specific field in the form.
36
36
  *
37
37
  * @param name Name of the field
38
- * @returns Observable<any>
38
+ * @returns Observable<unknown>
39
39
  */
40
- onChange(name) {
40
+ onControlChange(name) {
41
41
  const field = this.group.get(name);
42
42
  if (!field) {
43
43
  throw new Error(`Cannot find a field with the name ${name} in the FormGroup`);
44
44
  }
45
45
  return field.valueChanges;
46
46
  }
47
+ onChange(event) {
48
+ this.change.emit(event);
49
+ }
47
50
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicFormComponent, isStandalone: true, selector: "dynamic-form", inputs: { formConfig: "formConfig" }, outputs: { ready: "ready" }, providers: [DynamicFormService], ngImport: i0, template: "<form [formGroup]=\"group\"\n class=\"dynamic-form\">\n <div *ngFor=\"let row of formConfig\"\n class=\"dynamic-form-row\">\n <dynamic-form-field *ngFor=\"let field of row; trackBy: trackByFn\"\n class=\"dynamic-form-field\"\n [id]=\"field.id\"\n [hidden]=\"field.hidden\"\n [ngClass]=\"[field.type, 'form-field-width-'+field.width]\"\n [group]=\"group\"\n [model]=\"field\">\n </dynamic-form-field>\n </div>\n</form>", styles: [".dynamic-form{width:100%}.dynamic-form .dynamic-form-row{width:100%;display:flex}.dynamic-form .dynamic-form-row .dynamic-form-field{width:100%;margin:4px 0}.dynamic-form .dynamic-form-row .dynamic-form-field:not(:last-of-type){margin-right:12px}.dynamic-form .dynamic-form-row .dynamic-form-field.button{flex:0}.dynamic-form .dynamic-form-row .form-field-width-1{width:1%}.dynamic-form .dynamic-form-row .form-field-width-2{width:2%}.dynamic-form .dynamic-form-row .form-field-width-3{width:3%}.dynamic-form .dynamic-form-row .form-field-width-4{width:4%}.dynamic-form .dynamic-form-row .form-field-width-5{width:5%}.dynamic-form .dynamic-form-row .form-field-width-6{width:6%}.dynamic-form .dynamic-form-row .form-field-width-7{width:7%}.dynamic-form .dynamic-form-row .form-field-width-8{width:8%}.dynamic-form .dynamic-form-row .form-field-width-9{width:9%}.dynamic-form .dynamic-form-row .form-field-width-10{width:10%}.dynamic-form .dynamic-form-row .form-field-width-11{width:11%}.dynamic-form .dynamic-form-row .form-field-width-12{width:12%}.dynamic-form .dynamic-form-row .form-field-width-13{width:13%}.dynamic-form .dynamic-form-row .form-field-width-14{width:14%}.dynamic-form .dynamic-form-row .form-field-width-15{width:15%}.dynamic-form .dynamic-form-row .form-field-width-16{width:16%}.dynamic-form .dynamic-form-row .form-field-width-17{width:17%}.dynamic-form .dynamic-form-row .form-field-width-18{width:18%}.dynamic-form .dynamic-form-row .form-field-width-19{width:19%}.dynamic-form .dynamic-form-row .form-field-width-20{width:20%}.dynamic-form .dynamic-form-row .form-field-width-21{width:21%}.dynamic-form .dynamic-form-row .form-field-width-22{width:22%}.dynamic-form .dynamic-form-row .form-field-width-23{width:23%}.dynamic-form .dynamic-form-row .form-field-width-24{width:24%}.dynamic-form .dynamic-form-row .form-field-width-25{width:25%}.dynamic-form .dynamic-form-row .form-field-width-26{width:26%}.dynamic-form .dynamic-form-row .form-field-width-27{width:27%}.dynamic-form .dynamic-form-row .form-field-width-28{width:28%}.dynamic-form .dynamic-form-row .form-field-width-29{width:29%}.dynamic-form .dynamic-form-row .form-field-width-30{width:30%}.dynamic-form .dynamic-form-row .form-field-width-31{width:31%}.dynamic-form .dynamic-form-row .form-field-width-32{width:32%}.dynamic-form .dynamic-form-row .form-field-width-33{width:33%}.dynamic-form .dynamic-form-row .form-field-width-34{width:34%}.dynamic-form .dynamic-form-row .form-field-width-35{width:35%}.dynamic-form .dynamic-form-row .form-field-width-36{width:36%}.dynamic-form .dynamic-form-row .form-field-width-37{width:37%}.dynamic-form .dynamic-form-row .form-field-width-38{width:38%}.dynamic-form .dynamic-form-row .form-field-width-39{width:39%}.dynamic-form .dynamic-form-row .form-field-width-40{width:40%}.dynamic-form .dynamic-form-row .form-field-width-41{width:41%}.dynamic-form .dynamic-form-row .form-field-width-42{width:42%}.dynamic-form .dynamic-form-row .form-field-width-43{width:43%}.dynamic-form .dynamic-form-row .form-field-width-44{width:44%}.dynamic-form .dynamic-form-row .form-field-width-45{width:45%}.dynamic-form .dynamic-form-row .form-field-width-46{width:46%}.dynamic-form .dynamic-form-row .form-field-width-47{width:47%}.dynamic-form .dynamic-form-row .form-field-width-48{width:48%}.dynamic-form .dynamic-form-row .form-field-width-49{width:49%}.dynamic-form .dynamic-form-row .form-field-width-50{width:50%}.dynamic-form .dynamic-form-row .form-field-width-51{width:51%}.dynamic-form .dynamic-form-row .form-field-width-52{width:52%}.dynamic-form .dynamic-form-row .form-field-width-53{width:53%}.dynamic-form .dynamic-form-row .form-field-width-54{width:54%}.dynamic-form .dynamic-form-row .form-field-width-55{width:55%}.dynamic-form .dynamic-form-row .form-field-width-56{width:56%}.dynamic-form .dynamic-form-row .form-field-width-57{width:57%}.dynamic-form .dynamic-form-row .form-field-width-58{width:58%}.dynamic-form .dynamic-form-row .form-field-width-59{width:59%}.dynamic-form .dynamic-form-row .form-field-width-60{width:60%}.dynamic-form .dynamic-form-row .form-field-width-61{width:61%}.dynamic-form .dynamic-form-row .form-field-width-62{width:62%}.dynamic-form .dynamic-form-row .form-field-width-63{width:63%}.dynamic-form .dynamic-form-row .form-field-width-64{width:64%}.dynamic-form .dynamic-form-row .form-field-width-65{width:65%}.dynamic-form .dynamic-form-row .form-field-width-66{width:66%}.dynamic-form .dynamic-form-row .form-field-width-67{width:67%}.dynamic-form .dynamic-form-row .form-field-width-68{width:68%}.dynamic-form .dynamic-form-row .form-field-width-69{width:69%}.dynamic-form .dynamic-form-row .form-field-width-70{width:70%}.dynamic-form .dynamic-form-row .form-field-width-71{width:71%}.dynamic-form .dynamic-form-row .form-field-width-72{width:72%}.dynamic-form .dynamic-form-row .form-field-width-73{width:73%}.dynamic-form .dynamic-form-row .form-field-width-74{width:74%}.dynamic-form .dynamic-form-row .form-field-width-75{width:75%}.dynamic-form .dynamic-form-row .form-field-width-76{width:76%}.dynamic-form .dynamic-form-row .form-field-width-77{width:77%}.dynamic-form .dynamic-form-row .form-field-width-78{width:78%}.dynamic-form .dynamic-form-row .form-field-width-79{width:79%}.dynamic-form .dynamic-form-row .form-field-width-80{width:80%}.dynamic-form .dynamic-form-row .form-field-width-81{width:81%}.dynamic-form .dynamic-form-row .form-field-width-82{width:82%}.dynamic-form .dynamic-form-row .form-field-width-83{width:83%}.dynamic-form .dynamic-form-row .form-field-width-84{width:84%}.dynamic-form .dynamic-form-row .form-field-width-85{width:85%}.dynamic-form .dynamic-form-row .form-field-width-86{width:86%}.dynamic-form .dynamic-form-row .form-field-width-87{width:87%}.dynamic-form .dynamic-form-row .form-field-width-88{width:88%}.dynamic-form .dynamic-form-row .form-field-width-89{width:89%}.dynamic-form .dynamic-form-row .form-field-width-90{width:90%}.dynamic-form .dynamic-form-row .form-field-width-91{width:91%}.dynamic-form .dynamic-form-row .form-field-width-92{width:92%}.dynamic-form .dynamic-form-row .form-field-width-93{width:93%}.dynamic-form .dynamic-form-row .form-field-width-94{width:94%}.dynamic-form .dynamic-form-row .form-field-width-95{width:95%}.dynamic-form .dynamic-form-row .form-field-width-96{width:96%}.dynamic-form .dynamic-form-row .form-field-width-97{width:97%}.dynamic-form .dynamic-form-row .form-field-width-98{width:98%}.dynamic-form .dynamic-form-row .form-field-width-99{width:99%}.dynamic-form .dynamic-form-row .form-field-width-100{width:100%}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: DynamicFormFieldComponent, selector: "dynamic-form-field", inputs: ["model", "group"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicFormComponent, isStandalone: true, selector: "dynamic-form", inputs: { group: "group", formConfig: "formConfig" }, outputs: { change: "change" }, providers: [DynamicFormService], ngImport: i0, template: "<div *ngFor=\"let row of formConfig\"\n class=\"dynamic-form-row\">\n <dynamic-form-field *ngFor=\"let field of row; trackBy: trackByFn\"\n class=\"dynamic-form-field\"\n [id]=\"field.id\"\n [hidden]=\"field.hidden\"\n [ngClass]=\"[field.type, 'form-field-width-'+field.width]\"\n [group]=\"group\"\n [model]=\"field\"\n (change)=\"onChange($event)\">\n </dynamic-form-field>\n</div>", styles: [".dynamic-form-row{display:flex}.dynamic-form-row .dynamic-form-field{width:100%;margin:4px 0}.dynamic-form-row .dynamic-form-field:not(:last-of-type){margin-right:12px}.dynamic-form-row .dynamic-form-field.button{flex:0}.dynamic-form-row .form-field-width-1{width:1%}.dynamic-form-row .form-field-width-2{width:2%}.dynamic-form-row .form-field-width-3{width:3%}.dynamic-form-row .form-field-width-4{width:4%}.dynamic-form-row .form-field-width-5{width:5%}.dynamic-form-row .form-field-width-6{width:6%}.dynamic-form-row .form-field-width-7{width:7%}.dynamic-form-row .form-field-width-8{width:8%}.dynamic-form-row .form-field-width-9{width:9%}.dynamic-form-row .form-field-width-10{width:10%}.dynamic-form-row .form-field-width-11{width:11%}.dynamic-form-row .form-field-width-12{width:12%}.dynamic-form-row .form-field-width-13{width:13%}.dynamic-form-row .form-field-width-14{width:14%}.dynamic-form-row .form-field-width-15{width:15%}.dynamic-form-row .form-field-width-16{width:16%}.dynamic-form-row .form-field-width-17{width:17%}.dynamic-form-row .form-field-width-18{width:18%}.dynamic-form-row .form-field-width-19{width:19%}.dynamic-form-row .form-field-width-20{width:20%}.dynamic-form-row .form-field-width-21{width:21%}.dynamic-form-row .form-field-width-22{width:22%}.dynamic-form-row .form-field-width-23{width:23%}.dynamic-form-row .form-field-width-24{width:24%}.dynamic-form-row .form-field-width-25{width:25%}.dynamic-form-row .form-field-width-26{width:26%}.dynamic-form-row .form-field-width-27{width:27%}.dynamic-form-row .form-field-width-28{width:28%}.dynamic-form-row .form-field-width-29{width:29%}.dynamic-form-row .form-field-width-30{width:30%}.dynamic-form-row .form-field-width-31{width:31%}.dynamic-form-row .form-field-width-32{width:32%}.dynamic-form-row .form-field-width-33{width:33%}.dynamic-form-row .form-field-width-34{width:34%}.dynamic-form-row .form-field-width-35{width:35%}.dynamic-form-row .form-field-width-36{width:36%}.dynamic-form-row .form-field-width-37{width:37%}.dynamic-form-row .form-field-width-38{width:38%}.dynamic-form-row .form-field-width-39{width:39%}.dynamic-form-row .form-field-width-40{width:40%}.dynamic-form-row .form-field-width-41{width:41%}.dynamic-form-row .form-field-width-42{width:42%}.dynamic-form-row .form-field-width-43{width:43%}.dynamic-form-row .form-field-width-44{width:44%}.dynamic-form-row .form-field-width-45{width:45%}.dynamic-form-row .form-field-width-46{width:46%}.dynamic-form-row .form-field-width-47{width:47%}.dynamic-form-row .form-field-width-48{width:48%}.dynamic-form-row .form-field-width-49{width:49%}.dynamic-form-row .form-field-width-50{width:50%}.dynamic-form-row .form-field-width-51{width:51%}.dynamic-form-row .form-field-width-52{width:52%}.dynamic-form-row .form-field-width-53{width:53%}.dynamic-form-row .form-field-width-54{width:54%}.dynamic-form-row .form-field-width-55{width:55%}.dynamic-form-row .form-field-width-56{width:56%}.dynamic-form-row .form-field-width-57{width:57%}.dynamic-form-row .form-field-width-58{width:58%}.dynamic-form-row .form-field-width-59{width:59%}.dynamic-form-row .form-field-width-60{width:60%}.dynamic-form-row .form-field-width-61{width:61%}.dynamic-form-row .form-field-width-62{width:62%}.dynamic-form-row .form-field-width-63{width:63%}.dynamic-form-row .form-field-width-64{width:64%}.dynamic-form-row .form-field-width-65{width:65%}.dynamic-form-row .form-field-width-66{width:66%}.dynamic-form-row .form-field-width-67{width:67%}.dynamic-form-row .form-field-width-68{width:68%}.dynamic-form-row .form-field-width-69{width:69%}.dynamic-form-row .form-field-width-70{width:70%}.dynamic-form-row .form-field-width-71{width:71%}.dynamic-form-row .form-field-width-72{width:72%}.dynamic-form-row .form-field-width-73{width:73%}.dynamic-form-row .form-field-width-74{width:74%}.dynamic-form-row .form-field-width-75{width:75%}.dynamic-form-row .form-field-width-76{width:76%}.dynamic-form-row .form-field-width-77{width:77%}.dynamic-form-row .form-field-width-78{width:78%}.dynamic-form-row .form-field-width-79{width:79%}.dynamic-form-row .form-field-width-80{width:80%}.dynamic-form-row .form-field-width-81{width:81%}.dynamic-form-row .form-field-width-82{width:82%}.dynamic-form-row .form-field-width-83{width:83%}.dynamic-form-row .form-field-width-84{width:84%}.dynamic-form-row .form-field-width-85{width:85%}.dynamic-form-row .form-field-width-86{width:86%}.dynamic-form-row .form-field-width-87{width:87%}.dynamic-form-row .form-field-width-88{width:88%}.dynamic-form-row .form-field-width-89{width:89%}.dynamic-form-row .form-field-width-90{width:90%}.dynamic-form-row .form-field-width-91{width:91%}.dynamic-form-row .form-field-width-92{width:92%}.dynamic-form-row .form-field-width-93{width:93%}.dynamic-form-row .form-field-width-94{width:94%}.dynamic-form-row .form-field-width-95{width:95%}.dynamic-form-row .form-field-width-96{width:96%}.dynamic-form-row .form-field-width-97{width:97%}.dynamic-form-row .form-field-width-98{width:98%}.dynamic-form-row .form-field-width-99{width:99%}.dynamic-form-row .form-field-width-100{width:100%}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: DynamicFormFieldComponent, selector: "dynamic-form-field", inputs: ["model", "group"], outputs: ["change"] }, { kind: "ngmodule", type: ReactiveFormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
49
52
  }
50
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicFormComponent, decorators: [{
51
54
  type: Component,
52
- args: [{ standalone: true, imports: [NgFor, NgClass, DynamicFormFieldComponent, ReactiveFormsModule], selector: 'dynamic-form', providers: [DynamicFormService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"group\"\n class=\"dynamic-form\">\n <div *ngFor=\"let row of formConfig\"\n class=\"dynamic-form-row\">\n <dynamic-form-field *ngFor=\"let field of row; trackBy: trackByFn\"\n class=\"dynamic-form-field\"\n [id]=\"field.id\"\n [hidden]=\"field.hidden\"\n [ngClass]=\"[field.type, 'form-field-width-'+field.width]\"\n [group]=\"group\"\n [model]=\"field\">\n </dynamic-form-field>\n </div>\n</form>", styles: [".dynamic-form{width:100%}.dynamic-form .dynamic-form-row{width:100%;display:flex}.dynamic-form .dynamic-form-row .dynamic-form-field{width:100%;margin:4px 0}.dynamic-form .dynamic-form-row .dynamic-form-field:not(:last-of-type){margin-right:12px}.dynamic-form .dynamic-form-row .dynamic-form-field.button{flex:0}.dynamic-form .dynamic-form-row .form-field-width-1{width:1%}.dynamic-form .dynamic-form-row .form-field-width-2{width:2%}.dynamic-form .dynamic-form-row .form-field-width-3{width:3%}.dynamic-form .dynamic-form-row .form-field-width-4{width:4%}.dynamic-form .dynamic-form-row .form-field-width-5{width:5%}.dynamic-form .dynamic-form-row .form-field-width-6{width:6%}.dynamic-form .dynamic-form-row .form-field-width-7{width:7%}.dynamic-form .dynamic-form-row .form-field-width-8{width:8%}.dynamic-form .dynamic-form-row .form-field-width-9{width:9%}.dynamic-form .dynamic-form-row .form-field-width-10{width:10%}.dynamic-form .dynamic-form-row .form-field-width-11{width:11%}.dynamic-form .dynamic-form-row .form-field-width-12{width:12%}.dynamic-form .dynamic-form-row .form-field-width-13{width:13%}.dynamic-form .dynamic-form-row .form-field-width-14{width:14%}.dynamic-form .dynamic-form-row .form-field-width-15{width:15%}.dynamic-form .dynamic-form-row .form-field-width-16{width:16%}.dynamic-form .dynamic-form-row .form-field-width-17{width:17%}.dynamic-form .dynamic-form-row .form-field-width-18{width:18%}.dynamic-form .dynamic-form-row .form-field-width-19{width:19%}.dynamic-form .dynamic-form-row .form-field-width-20{width:20%}.dynamic-form .dynamic-form-row .form-field-width-21{width:21%}.dynamic-form .dynamic-form-row .form-field-width-22{width:22%}.dynamic-form .dynamic-form-row .form-field-width-23{width:23%}.dynamic-form .dynamic-form-row .form-field-width-24{width:24%}.dynamic-form .dynamic-form-row .form-field-width-25{width:25%}.dynamic-form .dynamic-form-row .form-field-width-26{width:26%}.dynamic-form .dynamic-form-row .form-field-width-27{width:27%}.dynamic-form .dynamic-form-row .form-field-width-28{width:28%}.dynamic-form .dynamic-form-row .form-field-width-29{width:29%}.dynamic-form .dynamic-form-row .form-field-width-30{width:30%}.dynamic-form .dynamic-form-row .form-field-width-31{width:31%}.dynamic-form .dynamic-form-row .form-field-width-32{width:32%}.dynamic-form .dynamic-form-row .form-field-width-33{width:33%}.dynamic-form .dynamic-form-row .form-field-width-34{width:34%}.dynamic-form .dynamic-form-row .form-field-width-35{width:35%}.dynamic-form .dynamic-form-row .form-field-width-36{width:36%}.dynamic-form .dynamic-form-row .form-field-width-37{width:37%}.dynamic-form .dynamic-form-row .form-field-width-38{width:38%}.dynamic-form .dynamic-form-row .form-field-width-39{width:39%}.dynamic-form .dynamic-form-row .form-field-width-40{width:40%}.dynamic-form .dynamic-form-row .form-field-width-41{width:41%}.dynamic-form .dynamic-form-row .form-field-width-42{width:42%}.dynamic-form .dynamic-form-row .form-field-width-43{width:43%}.dynamic-form .dynamic-form-row .form-field-width-44{width:44%}.dynamic-form .dynamic-form-row .form-field-width-45{width:45%}.dynamic-form .dynamic-form-row .form-field-width-46{width:46%}.dynamic-form .dynamic-form-row .form-field-width-47{width:47%}.dynamic-form .dynamic-form-row .form-field-width-48{width:48%}.dynamic-form .dynamic-form-row .form-field-width-49{width:49%}.dynamic-form .dynamic-form-row .form-field-width-50{width:50%}.dynamic-form .dynamic-form-row .form-field-width-51{width:51%}.dynamic-form .dynamic-form-row .form-field-width-52{width:52%}.dynamic-form .dynamic-form-row .form-field-width-53{width:53%}.dynamic-form .dynamic-form-row .form-field-width-54{width:54%}.dynamic-form .dynamic-form-row .form-field-width-55{width:55%}.dynamic-form .dynamic-form-row .form-field-width-56{width:56%}.dynamic-form .dynamic-form-row .form-field-width-57{width:57%}.dynamic-form .dynamic-form-row .form-field-width-58{width:58%}.dynamic-form .dynamic-form-row .form-field-width-59{width:59%}.dynamic-form .dynamic-form-row .form-field-width-60{width:60%}.dynamic-form .dynamic-form-row .form-field-width-61{width:61%}.dynamic-form .dynamic-form-row .form-field-width-62{width:62%}.dynamic-form .dynamic-form-row .form-field-width-63{width:63%}.dynamic-form .dynamic-form-row .form-field-width-64{width:64%}.dynamic-form .dynamic-form-row .form-field-width-65{width:65%}.dynamic-form .dynamic-form-row .form-field-width-66{width:66%}.dynamic-form .dynamic-form-row .form-field-width-67{width:67%}.dynamic-form .dynamic-form-row .form-field-width-68{width:68%}.dynamic-form .dynamic-form-row .form-field-width-69{width:69%}.dynamic-form .dynamic-form-row .form-field-width-70{width:70%}.dynamic-form .dynamic-form-row .form-field-width-71{width:71%}.dynamic-form .dynamic-form-row .form-field-width-72{width:72%}.dynamic-form .dynamic-form-row .form-field-width-73{width:73%}.dynamic-form .dynamic-form-row .form-field-width-74{width:74%}.dynamic-form .dynamic-form-row .form-field-width-75{width:75%}.dynamic-form .dynamic-form-row .form-field-width-76{width:76%}.dynamic-form .dynamic-form-row .form-field-width-77{width:77%}.dynamic-form .dynamic-form-row .form-field-width-78{width:78%}.dynamic-form .dynamic-form-row .form-field-width-79{width:79%}.dynamic-form .dynamic-form-row .form-field-width-80{width:80%}.dynamic-form .dynamic-form-row .form-field-width-81{width:81%}.dynamic-form .dynamic-form-row .form-field-width-82{width:82%}.dynamic-form .dynamic-form-row .form-field-width-83{width:83%}.dynamic-form .dynamic-form-row .form-field-width-84{width:84%}.dynamic-form .dynamic-form-row .form-field-width-85{width:85%}.dynamic-form .dynamic-form-row .form-field-width-86{width:86%}.dynamic-form .dynamic-form-row .form-field-width-87{width:87%}.dynamic-form .dynamic-form-row .form-field-width-88{width:88%}.dynamic-form .dynamic-form-row .form-field-width-89{width:89%}.dynamic-form .dynamic-form-row .form-field-width-90{width:90%}.dynamic-form .dynamic-form-row .form-field-width-91{width:91%}.dynamic-form .dynamic-form-row .form-field-width-92{width:92%}.dynamic-form .dynamic-form-row .form-field-width-93{width:93%}.dynamic-form .dynamic-form-row .form-field-width-94{width:94%}.dynamic-form .dynamic-form-row .form-field-width-95{width:95%}.dynamic-form .dynamic-form-row .form-field-width-96{width:96%}.dynamic-form .dynamic-form-row .form-field-width-97{width:97%}.dynamic-form .dynamic-form-row .form-field-width-98{width:98%}.dynamic-form .dynamic-form-row .form-field-width-99{width:99%}.dynamic-form .dynamic-form-row .form-field-width-100{width:100%}\n"] }]
53
- }], propDecorators: { formConfig: [{
55
+ args: [{ standalone: true, imports: [NgFor, NgClass, DynamicFormFieldComponent, ReactiveFormsModule], selector: 'dynamic-form', providers: [DynamicFormService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngFor=\"let row of formConfig\"\n class=\"dynamic-form-row\">\n <dynamic-form-field *ngFor=\"let field of row; trackBy: trackByFn\"\n class=\"dynamic-form-field\"\n [id]=\"field.id\"\n [hidden]=\"field.hidden\"\n [ngClass]=\"[field.type, 'form-field-width-'+field.width]\"\n [group]=\"group\"\n [model]=\"field\"\n (change)=\"onChange($event)\">\n </dynamic-form-field>\n</div>", styles: [".dynamic-form-row{display:flex}.dynamic-form-row .dynamic-form-field{width:100%;margin:4px 0}.dynamic-form-row .dynamic-form-field:not(:last-of-type){margin-right:12px}.dynamic-form-row .dynamic-form-field.button{flex:0}.dynamic-form-row .form-field-width-1{width:1%}.dynamic-form-row .form-field-width-2{width:2%}.dynamic-form-row .form-field-width-3{width:3%}.dynamic-form-row .form-field-width-4{width:4%}.dynamic-form-row .form-field-width-5{width:5%}.dynamic-form-row .form-field-width-6{width:6%}.dynamic-form-row .form-field-width-7{width:7%}.dynamic-form-row .form-field-width-8{width:8%}.dynamic-form-row .form-field-width-9{width:9%}.dynamic-form-row .form-field-width-10{width:10%}.dynamic-form-row .form-field-width-11{width:11%}.dynamic-form-row .form-field-width-12{width:12%}.dynamic-form-row .form-field-width-13{width:13%}.dynamic-form-row .form-field-width-14{width:14%}.dynamic-form-row .form-field-width-15{width:15%}.dynamic-form-row .form-field-width-16{width:16%}.dynamic-form-row .form-field-width-17{width:17%}.dynamic-form-row .form-field-width-18{width:18%}.dynamic-form-row .form-field-width-19{width:19%}.dynamic-form-row .form-field-width-20{width:20%}.dynamic-form-row .form-field-width-21{width:21%}.dynamic-form-row .form-field-width-22{width:22%}.dynamic-form-row .form-field-width-23{width:23%}.dynamic-form-row .form-field-width-24{width:24%}.dynamic-form-row .form-field-width-25{width:25%}.dynamic-form-row .form-field-width-26{width:26%}.dynamic-form-row .form-field-width-27{width:27%}.dynamic-form-row .form-field-width-28{width:28%}.dynamic-form-row .form-field-width-29{width:29%}.dynamic-form-row .form-field-width-30{width:30%}.dynamic-form-row .form-field-width-31{width:31%}.dynamic-form-row .form-field-width-32{width:32%}.dynamic-form-row .form-field-width-33{width:33%}.dynamic-form-row .form-field-width-34{width:34%}.dynamic-form-row .form-field-width-35{width:35%}.dynamic-form-row .form-field-width-36{width:36%}.dynamic-form-row .form-field-width-37{width:37%}.dynamic-form-row .form-field-width-38{width:38%}.dynamic-form-row .form-field-width-39{width:39%}.dynamic-form-row .form-field-width-40{width:40%}.dynamic-form-row .form-field-width-41{width:41%}.dynamic-form-row .form-field-width-42{width:42%}.dynamic-form-row .form-field-width-43{width:43%}.dynamic-form-row .form-field-width-44{width:44%}.dynamic-form-row .form-field-width-45{width:45%}.dynamic-form-row .form-field-width-46{width:46%}.dynamic-form-row .form-field-width-47{width:47%}.dynamic-form-row .form-field-width-48{width:48%}.dynamic-form-row .form-field-width-49{width:49%}.dynamic-form-row .form-field-width-50{width:50%}.dynamic-form-row .form-field-width-51{width:51%}.dynamic-form-row .form-field-width-52{width:52%}.dynamic-form-row .form-field-width-53{width:53%}.dynamic-form-row .form-field-width-54{width:54%}.dynamic-form-row .form-field-width-55{width:55%}.dynamic-form-row .form-field-width-56{width:56%}.dynamic-form-row .form-field-width-57{width:57%}.dynamic-form-row .form-field-width-58{width:58%}.dynamic-form-row .form-field-width-59{width:59%}.dynamic-form-row .form-field-width-60{width:60%}.dynamic-form-row .form-field-width-61{width:61%}.dynamic-form-row .form-field-width-62{width:62%}.dynamic-form-row .form-field-width-63{width:63%}.dynamic-form-row .form-field-width-64{width:64%}.dynamic-form-row .form-field-width-65{width:65%}.dynamic-form-row .form-field-width-66{width:66%}.dynamic-form-row .form-field-width-67{width:67%}.dynamic-form-row .form-field-width-68{width:68%}.dynamic-form-row .form-field-width-69{width:69%}.dynamic-form-row .form-field-width-70{width:70%}.dynamic-form-row .form-field-width-71{width:71%}.dynamic-form-row .form-field-width-72{width:72%}.dynamic-form-row .form-field-width-73{width:73%}.dynamic-form-row .form-field-width-74{width:74%}.dynamic-form-row .form-field-width-75{width:75%}.dynamic-form-row .form-field-width-76{width:76%}.dynamic-form-row .form-field-width-77{width:77%}.dynamic-form-row .form-field-width-78{width:78%}.dynamic-form-row .form-field-width-79{width:79%}.dynamic-form-row .form-field-width-80{width:80%}.dynamic-form-row .form-field-width-81{width:81%}.dynamic-form-row .form-field-width-82{width:82%}.dynamic-form-row .form-field-width-83{width:83%}.dynamic-form-row .form-field-width-84{width:84%}.dynamic-form-row .form-field-width-85{width:85%}.dynamic-form-row .form-field-width-86{width:86%}.dynamic-form-row .form-field-width-87{width:87%}.dynamic-form-row .form-field-width-88{width:88%}.dynamic-form-row .form-field-width-89{width:89%}.dynamic-form-row .form-field-width-90{width:90%}.dynamic-form-row .form-field-width-91{width:91%}.dynamic-form-row .form-field-width-92{width:92%}.dynamic-form-row .form-field-width-93{width:93%}.dynamic-form-row .form-field-width-94{width:94%}.dynamic-form-row .form-field-width-95{width:95%}.dynamic-form-row .form-field-width-96{width:96%}.dynamic-form-row .form-field-width-97{width:97%}.dynamic-form-row .form-field-width-98{width:98%}.dynamic-form-row .form-field-width-99{width:99%}.dynamic-form-row .form-field-width-100{width:100%}\n"] }]
56
+ }], propDecorators: { group: [{
57
+ type: Input,
58
+ args: [{ required: true }]
59
+ }], formConfig: [{
54
60
  type: Input,
55
61
  args: [{ required: true }]
56
- }], ready: [{
62
+ }], change: [{
57
63
  type: Output
58
64
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWR5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxtQkFBbUIsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUl2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7O0FBVy9GLE1BQU0sT0FBTyxvQkFBb0I7SUFUakM7UUFZWSxVQUFLLEdBQW1DLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0QsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7S0E2Q3pEO0lBekNDOztPQUVHO0lBQ0gsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVNLFNBQVMsQ0FBQyxNQUFjLEVBQUUsS0FBNEI7UUFDM0QsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxZQUFZLENBQWMscUJBQXFCLEdBQUcsSUFBSTtRQUMzRCxNQUFNLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFFdEYsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksUUFBUSxDQUFDLElBQVk7UUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbkMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLElBQUksbUJBQW1CLENBQUMsQ0FBQztTQUMvRTtRQUVELE9BQU8sS0FBSyxDQUFDLFlBQVksQ0FBQztJQUM1QixDQUFDOytHQWpEVSxvQkFBb0I7bUdBQXBCLG9CQUFvQiw4SEFIcEIsQ0FBQyxrQkFBa0IsQ0FBQywwQkNmakMsNmNBYU8sZ2dOREZLLEtBQUssbUhBQUUsT0FBTyxvRkFBRSx5QkFBeUIsMEZBQUUsbUJBQW1COzs0RkFPN0Qsb0JBQW9CO2tCQVRoQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsbUJBQW1CLENBQUMsWUFDL0QsY0FBYyxhQUdiLENBQUMsa0JBQWtCLENBQUMsbUJBQ2QsdUJBQXVCLENBQUMsTUFBTTs4QkFHcEIsVUFBVTtzQkFBcEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRWYsS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1tb2RlbCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUNvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy90eXBlcy9keW5hbWljLWZvcm0tY29uZmlnLnR5cGUnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZHluYW1pYy1mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL2R5bmFtaWMtZm9ybS1maWVsZC9keW5hbWljLWZvcm0tZmllbGQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0ZvciwgTmdDbGFzcywgRHluYW1pY0Zvcm1GaWVsZENvbXBvbmVudCwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gIHNlbGVjdG9yOiAnZHluYW1pYy1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICdkeW5hbWljLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbRHluYW1pY0Zvcm1TZXJ2aWNlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBmb3JtQ29uZmlnITogRHluYW1pY0Zvcm1Db25maWc7XG5cbiAgQE91dHB1dCgpIHJlYWR5OiBFdmVudEVtaXR0ZXI8VW50eXBlZEZvcm1Hcm91cD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBkeW5hbWljRm9ybVNlcnZpY2UgPSBpbmplY3QoRHluYW1pY0Zvcm1TZXJ2aWNlKTtcblxuICBwdWJsaWMgZ3JvdXAhOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGZvcm1Db25maWcgYXMgZmxhdCBhcnJheS5cbiAgICovXG4gIHB1YmxpYyBnZXQgZmxhdEZvcm1Db25maWcoKTogRHluYW1pY0Zvcm1GaWVsZE1vZGVsW10ge1xuICAgIHJldHVybiB0aGlzLmZvcm1Db25maWcucmVkdWNlKChhY2MsIGN1cnIpID0+IGFjYy5jb25jYXQoY3VyciksIFtdKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ3JvdXAgPSB0aGlzLmR5bmFtaWNGb3JtU2VydmljZS5jcmVhdGVGb3JtR3JvdXAodGhpcy5mb3JtQ29uZmlnKTtcbiAgICB0aGlzLnJlYWR5LmVtaXQodGhpcy5ncm91cCk7XG4gIH1cblxuICBwdWJsaWMgdHJhY2tCeUZuKF9pbmRleDogbnVtYmVyLCBmaWVsZDogRHluYW1pY0Zvcm1GaWVsZE1vZGVsKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZmllbGQuaWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBmb3JtLlxuICAgKiBAcGFyYW0gaW5jbHVkZURpc2FibGVkRmllbGRzIEluY2x1ZGUgdGhlIGRpc2FibGVkIGZpZWxkcyBvZiB0aGUgZm9ybSwgaXMgZW5hYmxlZCBieSBkZWZhdWx0XG4gICAqL1xuICBwdWJsaWMgZ2V0Rm9ybVZhbHVlPFQgPSB1bmtub3duPihpbmNsdWRlRGlzYWJsZWRGaWVsZHMgPSB0cnVlKTogVCB7XG4gICAgY29uc3QgZm9ybVZhbHVlID0gaW5jbHVkZURpc2FibGVkRmllbGRzID8gdGhpcy5ncm91cC5nZXRSYXdWYWx1ZSgpIDogdGhpcy5ncm91cC52YWx1ZTtcblxuICAgIHJldHVybiBmb3JtVmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogUHJvdmlkZXMgYW4gT2JzZXJ2YWJsZSB0byBsaXN0ZW4gdG8gY2hhbmdlcyBvZiBhIHNwZWNpZmljIGZpZWxkIGluIHRoZSBmb3JtLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIHRoZSBmaWVsZFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT5cbiAgICovXG4gIHB1YmxpYyBvbkNoYW5nZShuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5ncm91cC5nZXQobmFtZSk7XG5cbiAgICBpZiAoIWZpZWxkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBmaW5kIGEgZmllbGQgd2l0aCB0aGUgbmFtZSAke25hbWV9IGluIHRoZSBGb3JtR3JvdXBgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmllbGQudmFsdWVDaGFuZ2VzO1xuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImdyb3VwXCJcbiAgY2xhc3M9XCJkeW5hbWljLWZvcm1cIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgcm93IG9mIGZvcm1Db25maWdcIlxuICAgIGNsYXNzPVwiZHluYW1pYy1mb3JtLXJvd1wiPlxuICAgIDxkeW5hbWljLWZvcm0tZmllbGQgKm5nRm9yPVwibGV0IGZpZWxkIG9mIHJvdzsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgICAgIGNsYXNzPVwiZHluYW1pYy1mb3JtLWZpZWxkXCJcbiAgICAgIFtpZF09XCJmaWVsZC5pZFwiXG4gICAgICBbaGlkZGVuXT1cImZpZWxkLmhpZGRlblwiXG4gICAgICBbbmdDbGFzc109XCJbZmllbGQudHlwZSwgJ2Zvcm0tZmllbGQtd2lkdGgtJytmaWVsZC53aWR0aF1cIlxuICAgICAgW2dyb3VwXT1cImdyb3VwXCJcbiAgICAgIFttb2RlbF09XCJmaWVsZFwiPlxuICAgIDwvZHluYW1pYy1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cbjwvZm9ybT4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWR5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLG1CQUFtQixFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBS3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOztBQVcvRixNQUFNLE9BQU8sb0JBQW9CO0lBVGpDO1FBYVksV0FBTSxHQUF3QyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBZ0Q1RTtJQTlDQzs7T0FFRztJQUNILElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxTQUFTLENBQUMsTUFBYyxFQUFFLEtBQTRCO1FBQzNELE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksWUFBWSxDQUFjLHFCQUFxQixHQUFHLElBQUk7UUFDM0QsTUFBTSxTQUFTLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBRXRGLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGVBQWUsQ0FBQyxJQUFZO1FBQ2pDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5DLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxJQUFJLG1CQUFtQixDQUFDLENBQUM7U0FDL0U7UUFFRCxPQUFPLEtBQUssQ0FBQyxZQUFZLENBQUM7SUFDNUIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUE0QjtRQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDOytHQW5EVSxvQkFBb0I7bUdBQXBCLG9CQUFvQixnSkFIcEIsQ0FBQyxrQkFBa0IsQ0FBQywwQkNoQmpDLHlaQVdNLDRpS0RDTSxLQUFLLG1IQUFFLE9BQU8sb0ZBQUUseUJBQXlCLCtHQUFFLG1CQUFtQjs7NEZBTzdELG9CQUFvQjtrQkFUaEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLG1CQUFtQixDQUFDLFlBQy9ELGNBQWMsYUFHYixDQUFDLGtCQUFrQixDQUFDLG1CQUNkLHVCQUF1QixDQUFDLE1BQU07OEJBR3BCLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLFVBQVU7c0JBQXBDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUVmLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1tb2RlbCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tZmllbGQtZXZlbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3R5cGVzL2R5bmFtaWMtZm9ybS1jb25maWcudHlwZSc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9keW5hbWljLWZvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vZHluYW1pYy1mb3JtLWZpZWxkL2R5bmFtaWMtZm9ybS1maWVsZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nRm9yLCBOZ0NsYXNzLCBEeW5hbWljRm9ybUZpZWxkQ29tcG9uZW50LCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdkeW5hbWljLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJ2R5bmFtaWMtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtEeW5hbWljRm9ybVNlcnZpY2VdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybUNvbXBvbmVudCB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGdyb3VwITogVW50eXBlZEZvcm1Hcm91cDtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgZm9ybUNvbmZpZyE6IER5bmFtaWNGb3JtQ29uZmlnO1xuXG4gIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxEeW5hbWljRm9ybUZpZWxkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGZvcm1Db25maWcgYXMgZmxhdCBhcnJheS5cbiAgICovXG4gIHB1YmxpYyBnZXQgZmxhdEZvcm1Db25maWcoKTogRHluYW1pY0Zvcm1GaWVsZE1vZGVsW10ge1xuICAgIHJldHVybiB0aGlzLmZvcm1Db25maWcucmVkdWNlKChhY2MsIGN1cnIpID0+IGFjYy5jb25jYXQoY3VyciksIFtdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFja0J5IEZ1bmN0aW9uIGZvciBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb25cbiAgICogQHBhcmFtIF9pbmRleFxuICAgKiBAcGFyYW0gZmllbGRcbiAgICogQHJldHVybnNcbiAgICovXG4gIHB1YmxpYyB0cmFja0J5Rm4oX2luZGV4OiBudW1iZXIsIGZpZWxkOiBEeW5hbWljRm9ybUZpZWxkTW9kZWwpOiBzdHJpbmcge1xuICAgIHJldHVybiBmaWVsZC5pZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIGZvcm0uXG4gICAqIEBwYXJhbSBpbmNsdWRlRGlzYWJsZWRGaWVsZHMgSW5jbHVkZSB0aGUgZGlzYWJsZWQgZmllbGRzIG9mIHRoZSBmb3JtLCBpcyBlbmFibGVkIGJ5IGRlZmF1bHRcbiAgICovXG4gIHB1YmxpYyBnZXRGb3JtVmFsdWU8VCA9IHVua25vd24+KGluY2x1ZGVEaXNhYmxlZEZpZWxkcyA9IHRydWUpOiBUIHtcbiAgICBjb25zdCBmb3JtVmFsdWUgPSBpbmNsdWRlRGlzYWJsZWRGaWVsZHMgPyB0aGlzLmdyb3VwLmdldFJhd1ZhbHVlKCkgOiB0aGlzLmdyb3VwLnZhbHVlO1xuXG4gICAgcmV0dXJuIGZvcm1WYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm92aWRlcyBhbiBPYnNlcnZhYmxlIHRvIGxpc3RlbiB0byBjaGFuZ2VzIG9mIGEgc3BlY2lmaWMgZmllbGQgaW4gdGhlIGZvcm0uXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIE5hbWUgb2YgdGhlIGZpZWxkXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8dW5rbm93bj5cbiAgICovXG4gIHB1YmxpYyBvbkNvbnRyb2xDaGFuZ2UobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmdyb3VwLmdldChuYW1lKTtcblxuICAgIGlmICghZmllbGQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgYSBmaWVsZCB3aXRoIHRoZSBuYW1lICR7bmFtZX0gaW4gdGhlIEZvcm1Hcm91cGApO1xuICAgIH1cblxuICAgIHJldHVybiBmaWVsZC52YWx1ZUNoYW5nZXM7XG4gIH1cblxuICBwdWJsaWMgb25DaGFuZ2UoZXZlbnQ6IER5bmFtaWNGb3JtRmllbGRFdmVudCkge1xuICAgIHRoaXMuY2hhbmdlLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0Zvcj1cImxldCByb3cgb2YgZm9ybUNvbmZpZ1wiXG4gIGNsYXNzPVwiZHluYW1pYy1mb3JtLXJvd1wiPlxuICA8ZHluYW1pYy1mb3JtLWZpZWxkICpuZ0Zvcj1cImxldCBmaWVsZCBvZiByb3c7IHRyYWNrQnk6IHRyYWNrQnlGblwiXG4gICAgY2xhc3M9XCJkeW5hbWljLWZvcm0tZmllbGRcIlxuICAgIFtpZF09XCJmaWVsZC5pZFwiXG4gICAgW2hpZGRlbl09XCJmaWVsZC5oaWRkZW5cIlxuICAgIFtuZ0NsYXNzXT1cIltmaWVsZC50eXBlLCAnZm9ybS1maWVsZC13aWR0aC0nK2ZpZWxkLndpZHRoXVwiXG4gICAgW2dyb3VwXT1cImdyb3VwXCJcbiAgICBbbW9kZWxdPVwiZmllbGRcIlxuICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiPlxuICA8L2R5bmFtaWMtZm9ybS1maWVsZD5cbjwvZGl2PiJdfQ==
@@ -1,7 +1,9 @@
1
1
  import { NgClass } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, inject, Input, ViewChild, ViewContainerRef } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, Output, ViewChild, ViewContainerRef } from '@angular/core';
3
3
  import { ReactiveFormsModule } from '@angular/forms';
4
4
  import { Subscription } from 'rxjs';
5
+ import { DynamicButtonTogglesComponent } from '../../controls/button-toggles/dynamic-button-toggles.component';
6
+ import { DYNAMIC_FORM_FIELD_BUTTON_TOGGLES } from '../../controls/button-toggles/dynamic-button-toggles.model';
5
7
  import { DynamicButtonComponent } from '../../controls/button/dynamic-button.component';
6
8
  import { DYNAMIC_FORM_FIELD_BUTTON } from '../../controls/button/dynamic-button.model';
7
9
  import { DynamicCheckboxComponent } from '../../controls/checkbox/dynamic-checkbox.component';
@@ -21,6 +23,7 @@ import * as i0 from "@angular/core";
21
23
  import * as i1 from "@angular/forms";
22
24
  export class DynamicFormFieldComponent {
23
25
  constructor() {
26
+ this.change = new EventEmitter();
24
27
  this._subs = new Subscription();
25
28
  this.dynamicFormService = inject(DynamicFormService);
26
29
  this.relationService = inject(DynamicFormRelationsService);
@@ -57,6 +60,8 @@ export class DynamicFormFieldComponent {
57
60
  return DynamicSelectComponent;
58
61
  case DYNAMIC_FORM_FIELD_BUTTON:
59
62
  return DynamicButtonComponent;
63
+ case DYNAMIC_FORM_FIELD_BUTTON_TOGGLES:
64
+ return DynamicButtonTogglesComponent;
60
65
  default:
61
66
  console.warn(`Model of type 'dynamic-${this.model.type}' is not implemented yet. Add this type to dynamic-form-field.component.ts to add support`);
62
67
  return null;
@@ -67,6 +72,7 @@ export class DynamicFormFieldComponent {
67
72
  if (component != null) {
68
73
  let componentRef = this.componentViewContainer.createComponent(component);
69
74
  const componentInstance = componentRef.instance;
75
+ this._subs.add(componentInstance.change?.subscribe((event) => this.onChange(event)));
70
76
  componentInstance.group = this.group;
71
77
  componentInstance.model = this.model;
72
78
  }
@@ -112,8 +118,14 @@ export class DynamicFormFieldComponent {
112
118
  onDisabledChange(disabled) {
113
119
  disabled ? this._control.disable() : this._control.enable();
114
120
  }
121
+ onChange(ev) {
122
+ this.change.emit(this.createDynamicFormEvent(ev, 'change'));
123
+ }
124
+ createDynamicFormEvent(event, type) {
125
+ return { event, type, control: this._control, form: this.group, model: this.model };
126
+ }
115
127
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
116
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicFormFieldComponent, isStandalone: true, selector: "dynamic-form-field", inputs: { model: "model", group: "group" }, viewQueries: [{ propertyName: "componentViewContainer", first: true, predicate: ["componentViewContainer"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div [formGroup]=\"group\"\n [ngClass]=\"['dynamic-form-field-container', 'dynamic-form-field-' + model.type]\">\n <ng-container #componentViewContainer></ng-container>\n</div>", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
128
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicFormFieldComponent, isStandalone: true, selector: "dynamic-form-field", inputs: { model: "model", group: "group" }, outputs: { change: "change" }, viewQueries: [{ propertyName: "componentViewContainer", first: true, predicate: ["componentViewContainer"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div [formGroup]=\"group\"\n [ngClass]=\"['dynamic-form-field-container', 'dynamic-form-field-' + model.type]\">\n <ng-container #componentViewContainer></ng-container>\n</div>", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
117
129
  }
118
130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicFormFieldComponent, decorators: [{
119
131
  type: Component,
@@ -125,5 +137,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
125
137
  type: Input
126
138
  }], group: [{
127
139
  type: Input
140
+ }], change: [{
141
+ type: Output
128
142
  }] } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1maWVsZC9keW5hbWljLWZvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWR5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLWZpZWxkL2R5bmFtaWMtZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUEyQixTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEksT0FBTyxFQUFFLG1CQUFtQixFQUF3QyxNQUFNLGdCQUFnQixDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDeEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDOUYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDN0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDckYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDOUYsT0FBTyxFQUFFLDJCQUEy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SUFDSyxnQkFBZ0IsQ0FBQyxRQUFpQjtRQUN4QyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDOUQsQ0FBQzsrR0FwSFUseUJBQXlCO21HQUF6Qix5QkFBeUIsdU9BQ1MsZ0JBQWdCLDJDQy9CL0Qsb0xBR00sNENEc0JNLE9BQU8sbUZBQUUsbUJBQW1COzs0RkFLM0IseUJBQXlCO2tCQVByQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxZQUM3QixvQkFBb0IsbUJBRWIsdUJBQXVCLENBQUMsTUFBTTs4QkFHZ0Msc0JBQXNCO3NCQUFwRyxTQUFTO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRXBFLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBUeXBlLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHluYW1pY0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2J1dHRvbi9keW5hbWljLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRFlOQU1JQ19GT1JNX0ZJRUxEX0JVVFRPTiB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2J1dHRvbi9keW5hbWljLWJ1dHRvbi5tb2RlbCc7XG5pbXBvcnQgeyBEeW5hbWljQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb250cm9scy9jaGVja2JveC9keW5hbWljLWNoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEWU5BTUlDX0ZPUk1fRklFTERfQ0hFQ0tCT1ggfSBmcm9tICcuLi8uLi9jb250cm9scy9jaGVja2JveC9keW5hbWljLWNoZWNrYm94Lm1vZGVsJztcbmltcG9ydCB7IER5bmFtaWNJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2lucHV0L2R5bmFtaWMtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IERZTkFNSUNfRk9STV9GSUVMRF9JTlBVVCB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2lucHV0L2R5bmFtaWMtaW5wdXQubW9kZWwnO1xuaW1wb3J0IHsgRHluYW1pY1JlYWRvbmx5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udHJvbHMvcmVhZG9ubHkvZHluYW1pYy1yZWFkb25seS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRFlOQU1JQ19GT1JNX0ZJRUxEX1JFQURPTkxZIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvcmVhZG9ubHkvZHluYW1pYy1yZWFkb25seS5tb2RlbCc7XG5pbXBvcnQgeyBEeW5hbWljU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udHJvbHMvc2VsZWN0L2R5bmFtaWMtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEWU5BTUlDX0ZPUk1fRklFTERfU0VMRUNUIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvc2VsZWN0L2R5bmFtaWMtc2VsZWN0Lm1vZGVsJztcbmltcG9ydCB7IER5bmFtaWNUZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL3RleHRhcmVhL2R5bmFtaWMtdGV4dGFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IERZTkFNSUNfRk9STV9GSUVMRF9URVhUQVJFQSB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL3RleHRhcmVhL2R5bmFtaWMtdGV4dGFyZWEubW9kZWwnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZCB9IGZyb20gJy4uLy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtbW9kZWwnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZFZhbHVlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtdmFsdWUtbW9kZWwnO1xuaW1wb3J0IHsgUmVsYXRlZEZvcm1Db250cm9scyB9IGZyb20gJy4uLy4uL21vZGVscy90eXBlcy9yZWxhdGVkLWZvcm0tY29udHJvbHMudHlwZSc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybVJlbGF0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9keW5hbWljLWZvcm0tcmVsYXRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZHluYW1pYy1mb3JtLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3MsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICBzZWxlY3RvcjogJ2R5bmFtaWMtZm9ybS1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnZHluYW1pYy1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1GaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnY29tcG9uZW50Vmlld0NvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIGNvbXBvbmVudFZpZXdDb250YWluZXIhOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIEBJbnB1dCgpIG1vZGVsITogRHluYW1pY0Zvcm1GaWVsZE1vZGVsO1xuICBASW5wdXQoKSBncm91cCE6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgcHJpdmF0ZSBfY29udHJvbCE6IFVudHlwZWRGb3JtQ29udHJvbDtcbiAgcHJpdmF0ZSBfc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwcml2YXRlIGR5bmFtaWNGb3JtU2VydmljZSA9IGluamVjdChEeW5hbWljRm9ybVNlcnZpY2UpO1xuICBwcml2YXRlIHJlbGF0aW9uU2VydmljZSA9IGluamVjdChEeW5hbWljRm9ybVJlbGF0aW9uc1NlcnZpY2UpO1xuXG4gIC8qKiBHZXQgdGhlIGluc3RhbmNlIG9mIGEgY29udHJvbCBjb21wb25lbnQgdXNpbmcgdGhlIGluamVjdGVkIGN1c3RvbSBtZXRob2Qgb3IgbG9jYWwgbWV0aG9kICovXG4gIHByaXZhdGUgZ2V0IGNvbXBvbmVudFR5cGUoKTogVHlwZTxEeW5hbWljRm9ybUZpZWxkPiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmR5bmFtaWNGb3JtU2VydmljZS5nZXRDdXN0b21Db250cm9sQ29tcG9uZW50VHlwZSh0aGlzLm1vZGVsKSB8fCB0aGlzLmdldENvbnRyb2xDb21wb25lbnRUeXBlKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ncm91cCkge1xuICAgICAgdGhpcy5fY29udHJvbCA9IHRoaXMuZ3JvdXAuZ2V0KHRoaXMubW9kZWwubmFtZSkgYXMgVW50eXBlZEZvcm1Db250cm9sO1xuXG4gICAgICB0aGlzLmNyZWF0ZUZvcm1Db250cm9sQ29tcG9uZW50KCk7XG4gICAgICB0aGlzLnNldFN1YnNjcmlwdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIGluc3RhbmNlIG9mIGEgY29udHJvbCBjb21wb25lbnQgYnkgdHlwZVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHJpdmF0ZSBnZXRDb250cm9sQ29tcG9uZW50VHlwZSgpOiBUeXBlPER5bmFtaWNGb3JtRmllbGQ+IHwgbnVsbCB7XG4gICAgc3dpdGNoICh0aGlzLm1vZGVsLnR5cGUpIHtcbiAgICAgIGNhc2UgRFlOQU1JQ19GT1JNX0ZJRUxEX0NIRUNLQk9YOlxuICAgICAgICByZXR1cm4gRHluYW1pY0NoZWNrYm94Q29tcG9uZW50O1xuICAgICAgY2FzZSBEWU5BTUlDX0ZPUk1fRklFTERfSU5QVVQ6XG4gICAgICAgIHJldHVybiBEeW5hbWljSW5wdXRDb21wb25lbnQ7XG4gICAgICBjYXNlIERZTkFNSUNfRk9STV9GSUVMRF9URVhUQVJFQTpcbiAgICAgICAgcmV0dXJuIER5bmFtaWNUZXh0YXJlYUNvbXBvbmVudDtcbiAgICAgIGNhc2UgRFlOQU1JQ19GT1JNX0ZJRUxEX1JFQURPTkxZOlxuICAgICAgICByZXR1cm4gRHluYW1pY1JlYWRvbmx5Q29tcG9uZW50O1xuICAgICAgY2FzZSBEWU5BTUlDX0ZPUk1fRklFTERfU0VMRUNUOlxuICAgICAgICByZXR1cm4gRHluYW1pY1NlbGVjdENvbXBvbmVudDtcbiAgICAgIGNhc2UgRFlOQU1JQ19GT1JNX0ZJRUxEX0JVVFRPTjpcbiAgICAgICAgcmV0dXJuIER5bmFtaWNCdXR0b25Db21wb25lbnQ7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgYE1vZGVsIG9mIHR5cGUgJ2R5bmFtaWMtJHt0aGlzLm1vZGVsLnR5cGV9JyBpcyBub3QgaW1wbGVtZW50ZWQgeWV0LiBBZGQgdGhpcyB0eXBlIHRvIGR5bmFtaWMtZm9ybS1maWVsZC5jb21wb25lbnQudHMgdG8gYWRkIHN1cHBvcnRgXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRm9ybUNvbnRyb2xDb21wb25lbnQoKTogdm9pZCB7XG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRUeXBlO1xuXG4gICAgaWYgKGNvbXBvbmVudCAhPSBudWxsKSB7XG4gICAgICBsZXQgY29tcG9uZW50UmVmID0gdGhpcy5jb21wb25lbnRWaWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQpO1xuXG4gICAgICBjb25zdCBjb21wb25lbnRJbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcblxuICAgICAgY29tcG9uZW50SW5zdGFuY2UuZ3JvdXAgPSB0aGlzLmdyb3VwO1xuICAgICAgY29tcG9uZW50SW5zdGFuY2UubW9kZWwgPSB0aGlzLm1vZGVsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXR1cCBhbGwgbmVjZXNzYXJ5IHN1YnNjcmlwdGlvbnMgb2YgdGhlIEZvcm1Db250cm9sXG4gICAqL1xuICBwcml2YXRlIHNldFN1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgbW9kZWwgPSB0aGlzLm1vZGVsIGFzIER5bmFtaWNGb3JtRmllbGRWYWx1ZU1vZGVsPHVua25vd24+O1xuXG4gICAgLy8gU3Vic2NyaWJlIHRvIHRoZSB2YWx1ZSBjaGFuZ2UgaW5zaWRlIHRoZSBjb250cm9sIHRvIGNoYWduZSB0aGUgdmFsdWUgaW5zaWRlIHRoZSBtb2RlbCBhcyB3ZWxsXG4gICAgdGhpcy5fc3Vicy5hZGQodGhpcy5fY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5vblZhbHVlQ2hhbmdlKHZhbHVlKSkpO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRvIHRoZSBkaXNhYmxlZCBjaGFuZ2UgaW5zaWRlIHRoZSBtb2RlbCB0byBjaGFuZ2UgdGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBGb3JtQ29udHJvbFxuICAgIHRoaXMuX3N1YnMuYWRkKG1vZGVsLmRpc2FibGVkQ2hhbmdlLnN1YnNjcmliZSgoZGlzYWJsZWQpID0+IHRoaXMub25EaXNhYmxlZENoYW5nZShkaXNhYmxlZCkpKTtcblxuICAgIC8vIFNldHVwIHN1YnNjcmlwdGlvbnMgZm9yIGFueSBwb3NzaWJsZSByZWxhdGlvblxuICAgIGlmICh0aGlzLm1vZGVsLnJlbGF0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNldFVwUmVsYXRpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCB1cCBhbGwgcmVsYXRpb25zIG9mIHRoZSBjdXJyZW50IG1vZGVsXG4gICAqL1xuICBwcml2YXRlIHNldFVwUmVsYXRpb25zKCk6IHZvaWQge1xuICAgIC8vIEFycmF5IG9mIGFsbCBGb3JtQ29udHJvbHMgdGhlIGN1cnJlbnQgbW9kZWwgaGFzIGEgcmVsYXRpb24gdG9cbiAgICBjb25zdCByZWxhdGVkRm9ybUNvbnRyb2xzOiBSZWxhdGVkRm9ybUNvbnRyb2xzID0gdGhpcy5yZWxhdGlvblNlcnZpY2UuZmluZFJlbGF0ZWRGb3JtRmllbGQodGhpcy5tb2RlbCwgdGhpcy5ncm91cCk7XG4gICAgY29uc3Qgc3VicyA9IHRoaXMucmVsYXRpb25TZXJ2aWNlLmdldFJlbGF0aW9uU3Vic2NyaXB0aW9ucyhyZWxhdGVkRm9ybUNvbnRyb2xzLCB0aGlzLm1vZGVsLCB0aGlzLl9jb250cm9sKTtcblxuICAgIC8vIEFkZCBhbGwgcmVsYXRpb25zIGFzIHN1YnNjcmlwdGlvbiB0byB0aGUgbWFpbiBTdWJzY3JpcHRpb24gb2JqZWN0XG4gICAgc3Vicy5mb3JFYWNoKChzdWIpID0+IHRoaXMuX3N1YnMuYWRkKHN1YikpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMgb2YgdGhlIGNvbnRyb2wgYW5kIHVwZGF0ZXMgdGhlIHZhbHVlIGluc2lkZSB0aGUgbW9kZWxcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqL1xuICBwcml2YXRlIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHVua25vd24pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb2RlbCBpbnN0YW5jZW9mIER5bmFtaWNGb3JtRmllbGRWYWx1ZU1vZGVsICYmIHRoaXMubW9kZWwudmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLm1vZGVsLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMvZGlzYWJsZWQgdGhlIGNvbnRyb2wgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlci5cbiAgICogSXMgZmlyZWQgd2hlbiBkaXNhYmxlZCBzdGF0ZSBpcyBjaGFuZ2VkIGluc2lkZSB0aGUgbW9kZWwgYW5kIHNob3VsZCBub3QgYmUgZGlyZWN0bHkgdXNlZCBvdXRzaWRlIHRoaXMgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gZGlzYWJsZWRcbiAgICovXG4gIHByaXZhdGUgb25EaXNhYmxlZENoYW5nZShkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGRpc2FibGVkID8gdGhpcy5fY29udHJvbC5kaXNhYmxlKCkgOiB0aGlzLl9jb250cm9sLmVuYWJsZSgpO1xuICB9XG59XG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxuICBbbmdDbGFzc109XCJbJ2R5bmFtaWMtZm9ybS1maWVsZC1jb250YWluZXInLCAnZHluYW1pYy1mb3JtLWZpZWxkLScgKyBtb2RlbC50eXBlXVwiPlxuICA8bmctY29udGFpbmVyICNjb21wb25lbnRWaWV3Q29udGFpbmVyPjwvbmctY29udGFpbmVyPlxuPC9kaXY+Il19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1maWVsZC9keW5hbWljLWZvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWR5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLWZpZWxkL2R5bmFtaWMtZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUF3QyxNQUFNLGdCQUFnQixDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDL0csT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDL0csT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDeEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDOUYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDN0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOENBQThDLENBQUM7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bUJBQW1CLENBQUMsWUFDN0Isb0JBQW9CLG1CQUViLHVCQUF1QixDQUFDLE1BQU07OEJBR2dDLHNCQUFzQjtzQkFBcEcsU0FBUzt1QkFBQyx3QkFBd0IsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVwRSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUeXBlLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IER5bmFtaWNCdXR0b25Ub2dnbGVzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udHJvbHMvYnV0dG9uLXRvZ2dsZXMvZHluYW1pYy1idXR0b24tdG9nZ2xlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRFlOQU1JQ19GT1JNX0ZJRUxEX0JVVFRPTl9UT0dHTEVTIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvYnV0dG9uLXRvZ2dsZXMvZHluYW1pYy1idXR0b24tdG9nZ2xlcy5tb2RlbCc7XG5pbXBvcnQgeyBEeW5hbWljQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udHJvbHMvYnV0dG9uL2R5bmFtaWMtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEWU5BTUlDX0ZPUk1fRklFTERfQlVUVE9OIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvYnV0dG9uL2R5bmFtaWMtYnV0dG9uLm1vZGVsJztcbmltcG9ydCB7IER5bmFtaWNDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2NoZWNrYm94L2R5bmFtaWMtY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7IERZTkFNSUNfRk9STV9GSUVMRF9DSEVDS0JPWCB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2NoZWNrYm94L2R5bmFtaWMtY2hlY2tib3gubW9kZWwnO1xuaW1wb3J0IHsgRHluYW1pY0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udHJvbHMvaW5wdXQvZHluYW1pYy1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRFlOQU1JQ19GT1JNX0ZJRUxEX0lOUFVUIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvaW5wdXQvZHluYW1pYy1pbnB1dC5tb2RlbCc7XG5pbXBvcnQgeyBEeW5hbWljUmVhZG9ubHlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb250cm9scy9yZWFkb25seS9keW5hbWljLXJlYWRvbmx5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEWU5BTUlDX0ZPUk1fRklFTERfUkVBRE9OTFkgfSBmcm9tICcuLi8uLi9jb250cm9scy9yZWFkb25seS9keW5hbWljLXJlYWRvbmx5Lm1vZGVsJztcbmltcG9ydCB7IER5bmFtaWNTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb250cm9scy9zZWxlY3QvZHluYW1pYy1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IERZTkFNSUNfRk9STV9GSUVMRF9TRUxFQ1QgfSBmcm9tICcuLi8uLi9jb250cm9scy9zZWxlY3QvZHluYW1pYy1zZWxlY3QubW9kZWwnO1xuaW1wb3J0IHsgRHluYW1pY1RleHRhcmVhQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udHJvbHMvdGV4dGFyZWEvZHluYW1pYy10ZXh0YXJlYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRFlOQU1JQ19GT1JNX0ZJRUxEX1RFWFRBUkVBIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvdGV4dGFyZWEvZHluYW1pYy10ZXh0YXJlYS5tb2RlbCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NsYXNzZXMvZHluYW1pYy1mb3JtLWZpZWxkLWJhc2UnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NsYXNzZXMvZHluYW1pYy1mb3JtLWZpZWxkLW1vZGVsJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRWYWx1ZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NsYXNzZXMvZHluYW1pYy1mb3JtLWZpZWxkLXZhbHVlLW1vZGVsJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRFdmVudCwgRHluYW1pY0Zvcm1GaWVsZEV2ZW50VHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS1maWVsZC1ldmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVsYXRlZEZvcm1Db250cm9scyB9IGZyb20gJy4uLy4uL21vZGVscy90eXBlcy9yZWxhdGVkLWZvcm0tY29udHJvbHMudHlwZSc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybVJlbGF0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9keW5hbWljLWZvcm0tcmVsYXRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZHluYW1pYy1mb3JtLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3MsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICBzZWxlY3RvcjogJ2R5bmFtaWMtZm9ybS1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnZHluYW1pYy1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1GaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnY29tcG9uZW50Vmlld0NvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIGNvbXBvbmVudFZpZXdDb250YWluZXIhOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIEBJbnB1dCgpIG1vZGVsITogRHluYW1pY0Zvcm1GaWVsZE1vZGVsO1xuICBASW5wdXQoKSBncm91cCE6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RHluYW1pY0Zvcm1GaWVsZEV2ZW50PigpO1xuXG4gIHByaXZhdGUgX2NvbnRyb2whOiBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gIHByaXZhdGUgX3N1YnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgcHJpdmF0ZSBkeW5hbWljRm9ybVNlcnZpY2UgPSBpbmplY3QoRHluYW1pY0Zvcm1TZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWxhdGlvblNlcnZpY2UgPSBpbmplY3QoRHluYW1pY0Zvcm1SZWxhdGlvbnNTZXJ2aWNlKTtcblxuICAvKiogR2V0IHRoZSBpbnN0YW5jZSBvZiBhIGNvbnRyb2wgY29tcG9uZW50IHVzaW5nIHRoZSBpbmplY3RlZCBjdXN0b20gbWV0aG9kIG9yIGxvY2FsIG1ldGhvZCAqL1xuICBwcml2YXRlIGdldCBjb21wb25lbnRUeXBlKCk6IFR5cGU8RHluYW1pY0Zvcm1GaWVsZD4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5keW5hbWljRm9ybVNlcnZpY2UuZ2V0Q3VzdG9tQ29udHJvbENvbXBvbmVudFR5cGUodGhpcy5tb2RlbCkgfHwgdGhpcy5nZXRDb250cm9sQ29tcG9uZW50VHlwZSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZ3JvdXApIHtcbiAgICAgIHRoaXMuX2NvbnRyb2wgPSB0aGlzLmdyb3VwLmdldCh0aGlzLm1vZGVsLm5hbWUpIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcblxuICAgICAgdGhpcy5jcmVhdGVGb3JtQ29udHJvbENvbXBvbmVudCgpO1xuICAgICAgdGhpcy5zZXRTdWJzY3JpcHRpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vicy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmRzIHRoZSBpbnN0YW5jZSBvZiBhIGNvbnRyb2wgY29tcG9uZW50IGJ5IHR5cGVcbiAgICogQHJldHVybnNcbiAgICovXG4gIHByaXZhdGUgZ2V0Q29udHJvbENvbXBvbmVudFR5cGUoKTogVHlwZTxEeW5hbWljRm9ybUZpZWxkPiB8IG51bGwge1xuICAgIHN3aXRjaCAodGhpcy5tb2RlbC50eXBlKSB7XG4gICAgICBjYXNlIERZTkFNSUNfRk9STV9GSUVMRF9DSEVDS0JPWDpcbiAgICAgICAgcmV0dXJuIER5bmFtaWNDaGVja2JveENvbXBvbmVudDtcbiAgICAgIGNhc2UgRFlOQU1JQ19GT1JNX0ZJRUxEX0lOUFVUOlxuICAgICAgICByZXR1cm4gRHluYW1pY0lucHV0Q29tcG9uZW50O1xuICAgICAgY2FzZSBEWU5BTUlDX0ZPUk1fRklFTERfVEVYVEFSRUE6XG4gICAgICAgIHJldHVybiBEeW5hbWljVGV4dGFyZWFDb21wb25lbnQ7XG4gICAgICBjYXNlIERZTkFNSUNfRk9STV9GSUVMRF9SRUFET05MWTpcbiAgICAgICAgcmV0dXJuIER5bmFtaWNSZWFkb25seUNvbXBvbmVudDtcbiAgICAgIGNhc2UgRFlOQU1JQ19GT1JNX0ZJRUxEX1NFTEVDVDpcbiAgICAgICAgcmV0dXJuIER5bmFtaWNTZWxlY3RDb21wb25lbnQ7XG4gICAgICBjYXNlIERZTkFNSUNfRk9STV9GSUVMRF9CVVRUT046XG4gICAgICAgIHJldHVybiBEeW5hbWljQnV0dG9uQ29tcG9uZW50O1xuICAgICAgY2FzZSBEWU5BTUlDX0ZPUk1fRklFTERfQlVUVE9OX1RPR0dMRVM6XG4gICAgICAgIHJldHVybiBEeW5hbWljQnV0dG9uVG9nZ2xlc0NvbXBvbmVudDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgTW9kZWwgb2YgdHlwZSAnZHluYW1pYy0ke3RoaXMubW9kZWwudHlwZX0nIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQuIEFkZCB0aGlzIHR5cGUgdG8gZHluYW1pYy1mb3JtLWZpZWxkLmNvbXBvbmVudC50cyB0byBhZGQgc3VwcG9ydGBcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGb3JtQ29udHJvbENvbXBvbmVudCgpOiB2b2lkIHtcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFR5cGU7XG5cbiAgICBpZiAoY29tcG9uZW50ICE9IG51bGwpIHtcbiAgICAgIGxldCBjb21wb25lbnRSZWYgPSB0aGlzLmNvbXBvbmVudFZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCk7XG5cbiAgICAgIGNvbnN0IGNvbXBvbmVudEluc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuXG4gICAgICB0aGlzLl9zdWJzLmFkZChjb21wb25lbnRJbnN0YW5jZS5jaGFuZ2U/LnN1YnNjcmliZSgoZXZlbnQpID0+IHRoaXMub25DaGFuZ2UoZXZlbnQpKSk7XG5cbiAgICAgIGNvbXBvbmVudEluc3RhbmNlLmdyb3VwID0gdGhpcy5ncm91cDtcbiAgICAgIGNvbXBvbmVudEluc3RhbmNlLm1vZGVsID0gdGhpcy5tb2RlbDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0dXAgYWxsIG5lY2Vzc2FyeSBzdWJzY3JpcHRpb25zIG9mIHRoZSBGb3JtQ29udHJvbFxuICAgKi9cbiAgcHJpdmF0ZSBzZXRTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IG1vZGVsID0gdGhpcy5tb2RlbCBhcyBEeW5hbWljRm9ybUZpZWxkVmFsdWVNb2RlbDx1bmtub3duPjtcblxuICAgIC8vIFN1YnNjcmliZSB0byB0aGUgdmFsdWUgY2hhbmdlIGluc2lkZSB0aGUgY29udHJvbCB0byBjaGFnbmUgdGhlIHZhbHVlIGluc2lkZSB0aGUgbW9kZWwgYXMgd2VsbFxuICAgIHRoaXMuX3N1YnMuYWRkKHRoaXMuX2NvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMub25WYWx1ZUNoYW5nZSh2YWx1ZSkpKTtcblxuICAgIC8vIFN1YnNjcmliZSB0byB0aGUgZGlzYWJsZWQgY2hhbmdlIGluc2lkZSB0aGUgbW9kZWwgdG8gY2hhbmdlIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgRm9ybUNvbnRyb2xcbiAgICB0aGlzLl9zdWJzLmFkZChtb2RlbC5kaXNhYmxlZENoYW5nZS5zdWJzY3JpYmUoKGRpc2FibGVkKSA9PiB0aGlzLm9uRGlzYWJsZWRDaGFuZ2UoZGlzYWJsZWQpKSk7XG5cbiAgICAvLyBTZXR1cCBzdWJzY3JpcHRpb25zIGZvciBhbnkgcG9zc2libGUgcmVsYXRpb25cbiAgICBpZiAodGhpcy5tb2RlbC5yZWxhdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5zZXRVcFJlbGF0aW9ucygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdXAgYWxsIHJlbGF0aW9ucyBvZiB0aGUgY3VycmVudCBtb2RlbFxuICAgKi9cbiAgcHJpdmF0ZSBzZXRVcFJlbGF0aW9ucygpOiB2b2lkIHtcbiAgICAvLyBBcnJheSBvZiBhbGwgRm9ybUNvbnRyb2xzIHRoZSBjdXJyZW50IG1vZGVsIGhhcyBhIHJlbGF0aW9uIHRvXG4gICAgY29uc3QgcmVsYXRlZEZvcm1Db250cm9sczogUmVsYXRlZEZvcm1Db250cm9scyA9IHRoaXMucmVsYXRpb25TZXJ2aWNlLmZpbmRSZWxhdGVkRm9ybUZpZWxkKHRoaXMubW9kZWwsIHRoaXMuZ3JvdXApO1xuICAgIGNvbnN0IHN1YnMgPSB0aGlzLnJlbGF0aW9uU2VydmljZS5nZXRSZWxhdGlvblN1YnNjcmlwdGlvbnMocmVsYXRlZEZvcm1Db250cm9scywgdGhpcy5tb2RlbCwgdGhpcy5fY29udHJvbCk7XG5cbiAgICAvLyBBZGQgYWxsIHJlbGF0aW9ucyBhcyBzdWJzY3JpcHRpb24gdG8gdGhlIG1haW4gU3Vic2NyaXB0aW9uIG9iamVjdFxuICAgIHN1YnMuZm9yRWFjaCgoc3ViKSA9PiB0aGlzLl9zdWJzLmFkZChzdWIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlZCB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzIG9mIHRoZSBjb250cm9sIGFuZCB1cGRhdGVzIHRoZSB2YWx1ZSBpbnNpZGUgdGhlIG1vZGVsXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKi9cbiAgcHJpdmF0ZSBvblZhbHVlQ2hhbmdlKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubW9kZWwgaW5zdGFuY2VvZiBEeW5hbWljRm9ybUZpZWxkVmFsdWVNb2RlbCAmJiB0aGlzLm1vZGVsLnZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5tb2RlbC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGVzL2Rpc2FibGVkIHRoZSBjb250cm9sIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXIuXG4gICAqIElzIGZpcmVkIHdoZW4gZGlzYWJsZWQgc3RhdGUgaXMgY2hhbmdlZCBpbnNpZGUgdGhlIG1vZGVsIGFuZCBzaG91bGQgbm90IGJlIGRpcmVjdGx5IHVzZWQgb3V0c2lkZSB0aGlzIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIGRpc2FibGVkXG4gICAqL1xuICBwcml2YXRlIG9uRGlzYWJsZWRDaGFuZ2UoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBkaXNhYmxlZCA/IHRoaXMuX2NvbnRyb2wuZGlzYWJsZSgpIDogdGhpcy5fY29udHJvbC5lbmFibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgb25DaGFuZ2UoZXY6IHVua25vd24pIHtcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuY3JlYXRlRHluYW1pY0Zvcm1FdmVudChldiwgJ2NoYW5nZScpKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRHluYW1pY0Zvcm1FdmVudChldmVudDogdW5rbm93biwgdHlwZTogRHluYW1pY0Zvcm1GaWVsZEV2ZW50VHlwZSk6IER5bmFtaWNGb3JtRmllbGRFdmVudCB7XG4gICAgcmV0dXJuIHsgZXZlbnQsIHR5cGUsIGNvbnRyb2w6IHRoaXMuX2NvbnRyb2wsIGZvcm06IHRoaXMuZ3JvdXAsIG1vZGVsOiB0aGlzLm1vZGVsIH07XG4gIH1cbn1cbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJncm91cFwiXG4gIFtuZ0NsYXNzXT1cIlsnZHluYW1pYy1mb3JtLWZpZWxkLWNvbnRhaW5lcicsICdkeW5hbWljLWZvcm0tZmllbGQtJyArIG1vZGVsLnR5cGVdXCI+XG4gIDxuZy1jb250YWluZXIgI2NvbXBvbmVudFZpZXdDb250YWluZXI+PC9uZy1jb250YWluZXI+XG48L2Rpdj4iXX0=
@@ -1,10 +1,10 @@
1
1
  import { NgIf } from '@angular/common';
2
2
  import { Component, Input } from '@angular/core';
3
3
  import { MatButtonModule } from '@angular/material/button';
4
- import { DynamicFormFieldBaseComponent } from '../../models/classes/dynamic-form-field-base-component';
4
+ import { DynamicFormFieldBase } from '../../models/classes/dynamic-form-field-base';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/material/button";
7
- export class DynamicButtonComponent extends DynamicFormFieldBaseComponent {
7
+ export class DynamicButtonComponent extends DynamicFormFieldBase {
8
8
  onClick() {
9
9
  this.model.onClick();
10
10
  }
@@ -19,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
19
19
  }], group: [{
20
20
  type: Input
21
21
  }] } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWR5bmFtaWMtZm9ybS9zcmMvbGliL2NvbnRyb2xzL2J1dHRvbi9keW5hbWljLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvYnV0dG9uL2R5bmFtaWMtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sd0RBQXdELENBQUM7OztBQVN2RyxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsNkJBQTZCO0lBSWhFLE9BQU87UUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7K0dBTlUsc0JBQXNCO21HQUF0QixzQkFBc0IsNklDYm5DLDhZQWdCYyw0Q0RQRixJQUFJLDRGQUFFLGVBQWU7OzRGQUlwQixzQkFBc0I7a0JBTmxDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxZQUN0QixnQkFBZ0I7OEJBSWpCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0J1dHRvbiB9IGZyb20gJy4vZHluYW1pYy1idXR0b24ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIE1hdEJ1dHRvbk1vZHVsZV0sXG4gIHNlbGVjdG9yOiAnZHluYW1pYy1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1idXR0b24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBEeW5hbWljRm9ybUZpZWxkQmFzZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1vZGVsITogRHluYW1pY0J1dHRvbjtcbiAgQElucHV0KCkgZ3JvdXAhOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBvbkNsaWNrKCkge1xuICAgIHRoaXMubW9kZWwub25DbGljaygpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZWwucmFpc2VkIGVsc2Ugc3Ryb2tlZFwiPlxuICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIChjbGljayk9XCJvbkNsaWNrKClcIj5cbiAgICA8c3Bhbj57e21vZGVsLnRleHR9fTwvc3Bhbj5cbiAgPC9idXR0b24+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNzdHJva2VkPlxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgW2lkXT1cImlkXCJcbiAgICAoY2xpY2spPVwib25DbGljaygpXCI+XG4gICAgPHNwYW4+e3ttb2RlbC50ZXh0fX08L3NwYW4+XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWR5bmFtaWMtZm9ybS9zcmMvbGliL2NvbnRyb2xzL2J1dHRvbi9keW5hbWljLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvYnV0dG9uL2R5bmFtaWMtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7OztBQVNwRixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsb0JBQW9CO0lBSXZELE9BQU87UUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7K0dBTlUsc0JBQXNCO21HQUF0QixzQkFBc0IsNklDYm5DLDhZQWdCYyw0Q0RQRixJQUFJLDRGQUFFLGVBQWU7OzRGQUlwQixzQkFBc0I7a0JBTmxDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxZQUN0QixnQkFBZ0I7OEJBSWpCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZEJhc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtYmFzZSc7XG5pbXBvcnQgeyBEeW5hbWljQnV0dG9uIH0gZnJvbSAnLi9keW5hbWljLWJ1dHRvbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgTWF0QnV0dG9uTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdkeW5hbWljLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWJ1dHRvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0J1dHRvbkNvbXBvbmVudCBleHRlbmRzIER5bmFtaWNGb3JtRmllbGRCYXNlIHtcbiAgQElucHV0KCkgbW9kZWwhOiBEeW5hbWljQnV0dG9uO1xuICBASW5wdXQoKSBncm91cCE6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgcHVibGljIG9uQ2xpY2soKSB7XG4gICAgdGhpcy5tb2RlbC5vbkNsaWNrKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlbC5yYWlzZWQgZWxzZSBzdHJva2VkXCI+XG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgIFtpZF09XCJpZFwiXG4gICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiPlxuICAgIDxzcGFuPnt7bW9kZWwudGV4dH19PC9zcGFuPlxuICA8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3N0cm9rZWQ+XG4gIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIChjbGljayk9XCJvbkNsaWNrKClcIj5cbiAgICA8c3Bhbj57e21vZGVsLnRleHR9fTwvc3Bhbj5cbiAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { AsyncPipe, NgFor } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { MatButtonToggleModule } from '@angular/material/button-toggle';
5
+ import { DynamicFormFieldBase } from '../../models/classes/dynamic-form-field-base';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/material/button-toggle";
8
+ import * as i2 from "@angular/forms";
9
+ export class DynamicButtonTogglesComponent extends DynamicFormFieldBase {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.change = new EventEmitter();
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicButtonTogglesComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicButtonTogglesComponent, isStandalone: true, selector: "app-dynamic-button-toggles", inputs: { model: "model", group: "group" }, outputs: { change: "change" }, usesInheritance: true, ngImport: i0, template: "<ng-container [formGroup]=\"group\">\n <mat-button-toggle-group [id]=\"id\"\n [formControlName]=\"model.name\"\n [multiple]=\"model.multiple\"\n [vertical]=\"model.vertical\"\n (change)=\"onChange($event)\">\n <mat-button-toggle *ngFor=\"let option of model.options$ | async\"\n [value]=\"option.value\">{{option.label}}</mat-button-toggle>\n </mat-button-toggle-group>\n</ng-container>", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicButtonTogglesComponent, decorators: [{
18
+ type: Component,
19
+ args: [{ standalone: true, imports: [NgFor, MatButtonToggleModule, ReactiveFormsModule, AsyncPipe], selector: 'app-dynamic-button-toggles', template: "<ng-container [formGroup]=\"group\">\n <mat-button-toggle-group [id]=\"id\"\n [formControlName]=\"model.name\"\n [multiple]=\"model.multiple\"\n [vertical]=\"model.vertical\"\n (change)=\"onChange($event)\">\n <mat-button-toggle *ngFor=\"let option of model.options$ | async\"\n [value]=\"option.value\">{{option.label}}</mat-button-toggle>\n </mat-button-toggle-group>\n</ng-container>" }]
20
+ }], propDecorators: { model: [{
21
+ type: Input
22
+ }], group: [{
23
+ type: Input
24
+ }], change: [{
25
+ type: Output
26
+ }] } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1idXR0b24tdG9nZ2xlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvYnV0dG9uLXRvZ2dsZXMvZHluYW1pYy1idXR0b24tdG9nZ2xlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvYnV0dG9uLXRvZ2dsZXMvZHluYW1pYy1idXR0b24tdG9nZ2xlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBeUIscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7OztBQVNwRixNQUFNLE9BQU8sNkJBQThCLFNBQVEsb0JBQW9CO0lBTnZFOztRQVVZLFdBQU0sR0FBd0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQUM1RTsrR0FMWSw2QkFBNkI7bUdBQTdCLDZCQUE2Qix3TENiMUMsMFpBU2UsNENEQUgsS0FBSyxrSEFBRSxxQkFBcUIsc2hCQUFFLG1CQUFtQiwra0JBQUUsU0FBUzs7NEZBSTNELDZCQUE2QjtrQkFOekMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLFlBQzdELDRCQUE0Qjs4QkFJN0IsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlQ2hhbmdlLCBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRCYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NsYXNzZXMvZHluYW1pYy1mb3JtLWZpZWxkLWJhc2UnO1xuaW1wb3J0IHsgRHluYW1pY0J1dHRvblRvZ2dsZXMgfSBmcm9tICcuL2R5bmFtaWMtYnV0dG9uLXRvZ2dsZXMubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nRm9yLCBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEFzeW5jUGlwZV0sXG4gIHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtYnV0dG9uLXRvZ2dsZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1idXR0b24tdG9nZ2xlcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0J1dHRvblRvZ2dsZXNDb21wb25lbnQgZXh0ZW5kcyBEeW5hbWljRm9ybUZpZWxkQmFzZSB7XG4gIEBJbnB1dCgpIG1vZGVsITogRHluYW1pY0J1dHRvblRvZ2dsZXM7XG4gIEBJbnB1dCgpIGdyb3VwITogVW50eXBlZEZvcm1Hcm91cDtcblxuICBAT3V0cHV0KCkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8TWF0QnV0dG9uVG9nZ2xlQ2hhbmdlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbn1cbiIsIjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJncm91cFwiPlxuICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgW2lkXT1cImlkXCJcbiAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIm1vZGVsLm5hbWVcIlxuICAgIFttdWx0aXBsZV09XCJtb2RlbC5tdWx0aXBsZVwiXG4gICAgW3ZlcnRpY2FsXT1cIm1vZGVsLnZlcnRpY2FsXCJcbiAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIj5cbiAgICA8bWF0LWJ1dHRvbi10b2dnbGUgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBtb2RlbC5vcHRpb25zJCB8IGFzeW5jXCJcbiAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj57e29wdGlvbi5sYWJlbH19PC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbjwvbmctY29udGFpbmVyPiJdfQ==
@@ -0,0 +1,11 @@
1
+ import { DynamicFormFieldOptionModel } from '../../models/classes/dynamic-form-field-option-model';
2
+ export const DYNAMIC_FORM_FIELD_BUTTON_TOGGLES = 'button-toggles';
3
+ export class DynamicButtonToggles extends DynamicFormFieldOptionModel {
4
+ constructor(config) {
5
+ super(config);
6
+ this.type = DYNAMIC_FORM_FIELD_BUTTON_TOGGLES;
7
+ this.multiple = config.multiple ?? false;
8
+ this.vertical = config.vertical ?? false;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1idXR0b24tdG9nZ2xlcy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1keW5hbWljLWZvcm0vc3JjL2xpYi9jb250cm9scy9idXR0b24tdG9nZ2xlcy9keW5hbWljLWJ1dHRvbi10b2dnbGVzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0MsMkJBQTJCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUVqSSxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxnQkFBZ0IsQ0FBQztBQU9sRSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsMkJBQW1DO0lBTTNFLFlBQVksTUFBa0M7UUFDNUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBSEEsU0FBSSxHQUFXLGlDQUFpQyxDQUFDO1FBSy9ELElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztJQUMzQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkT3B0aW9uQ29uZmlnLCBEeW5hbWljRm9ybUZpZWxkT3B0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtb3B0aW9uLW1vZGVsJztcblxuZXhwb3J0IGNvbnN0IERZTkFNSUNfRk9STV9GSUVMRF9CVVRUT05fVE9HR0xFUyA9ICdidXR0b24tdG9nZ2xlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0J1dHRvblRvZ2dsZXNDb25maWcgZXh0ZW5kcyBEeW5hbWljRm9ybUZpZWxkT3B0aW9uQ29uZmlnPHN0cmluZz4ge1xuICBtdWx0aXBsZT86IGJvb2xlYW47XG4gIHZlcnRpY2FsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIER5bmFtaWNCdXR0b25Ub2dnbGVzIGV4dGVuZHMgRHluYW1pY0Zvcm1GaWVsZE9wdGlvbk1vZGVsPHN0cmluZz4ge1xuICBwdWJsaWMgbXVsdGlwbGU6IGJvb2xlYW47XG4gIHB1YmxpYyB2ZXJ0aWNhbDogYm9vbGVhbjtcblxuICBwdWJsaWMgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gRFlOQU1JQ19GT1JNX0ZJRUxEX0JVVFRPTl9UT0dHTEVTO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogRHluYW1pY0J1dHRvblRvZ2dsZXNDb25maWcpIHtcbiAgICBzdXBlcihjb25maWcpO1xuXG4gICAgdGhpcy5tdWx0aXBsZSA9IGNvbmZpZy5tdWx0aXBsZSA/PyBmYWxzZTtcbiAgICB0aGlzLnZlcnRpY2FsID0gY29uZmlnLnZlcnRpY2FsID8/IGZhbHNlO1xuICB9XG59XG4iXX0=
@@ -1,32 +1,26 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { ReactiveFormsModule } from '@angular/forms';
3
3
  import { MatCheckboxModule } from '@angular/material/checkbox';
4
- import { DynamicFormFieldBaseComponent } from '../../models/classes/dynamic-form-field-base-component';
4
+ import { DynamicFormFieldBase } from '../../models/classes/dynamic-form-field-base';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/forms";
7
7
  import * as i2 from "@angular/material/checkbox";
8
- export class DynamicCheckboxComponent extends DynamicFormFieldBaseComponent {
8
+ export class DynamicCheckboxComponent extends DynamicFormFieldBase {
9
9
  constructor() {
10
10
  super(...arguments);
11
- this.blur = new EventEmitter();
12
11
  this.change = new EventEmitter();
13
- this.focus = new EventEmitter();
14
12
  }
15
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicCheckboxComponent, isStandalone: true, selector: "dynamic-checkbox", inputs: { model: "model", group: "group" }, outputs: { blur: "blur", change: "change", focus: "focus" }, usesInheritance: true, ngImport: i0, template: "<ng-container [formGroup]=\"group\">\n <mat-checkbox [checked]=\"model.checked\"\n [formControlName]=\"model.name\"\n [indeterminate]=\"model.indeterminate\"\n [labelPosition]=\"model.labelPosition\"\n [name]=\"model.name\"\n [id]=\"id\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (change)=\"onChange($event)\">\n\n <span class=\"checkbox-label\">{{model.label}}</span>\n </mat-checkbox>\n</ng-container>", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }] }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicCheckboxComponent, isStandalone: true, selector: "dynamic-checkbox", inputs: { model: "model", group: "group" }, outputs: { change: "change" }, usesInheritance: true, ngImport: i0, template: "<ng-container [formGroup]=\"group\">\n <mat-checkbox [checked]=\"model.checked\"\n [formControlName]=\"model.name\"\n [indeterminate]=\"model.indeterminate\"\n [labelPosition]=\"model.labelPosition\"\n [name]=\"model.name\"\n [id]=\"id\"\n (change)=\"onChange($event)\">\n\n <span class=\"checkbox-label\">{{model.label}}</span>\n </mat-checkbox>\n</ng-container>", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }] }); }
17
15
  }
18
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicCheckboxComponent, decorators: [{
19
17
  type: Component,
20
- args: [{ selector: 'dynamic-checkbox', standalone: true, imports: [ReactiveFormsModule, MatCheckboxModule], template: "<ng-container [formGroup]=\"group\">\n <mat-checkbox [checked]=\"model.checked\"\n [formControlName]=\"model.name\"\n [indeterminate]=\"model.indeterminate\"\n [labelPosition]=\"model.labelPosition\"\n [name]=\"model.name\"\n [id]=\"id\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (change)=\"onChange($event)\">\n\n <span class=\"checkbox-label\">{{model.label}}</span>\n </mat-checkbox>\n</ng-container>" }]
18
+ args: [{ selector: 'dynamic-checkbox', standalone: true, imports: [ReactiveFormsModule, MatCheckboxModule], template: "<ng-container [formGroup]=\"group\">\n <mat-checkbox [checked]=\"model.checked\"\n [formControlName]=\"model.name\"\n [indeterminate]=\"model.indeterminate\"\n [labelPosition]=\"model.labelPosition\"\n [name]=\"model.name\"\n [id]=\"id\"\n (change)=\"onChange($event)\">\n\n <span class=\"checkbox-label\">{{model.label}}</span>\n </mat-checkbox>\n</ng-container>" }]
21
19
  }], propDecorators: { model: [{
22
20
  type: Input
23
21
  }], group: [{
24
22
  type: Input
25
- }], blur: [{
26
- type: Output
27
23
  }], change: [{
28
24
  type: Output
29
- }], focus: [{
30
- type: Output
31
25
  }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvY2hlY2tib3gvZHluYW1pYy1jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvY2hlY2tib3gvZHluYW1pYy1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQXFCLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sd0RBQXdELENBQUM7Ozs7QUFTdkcsTUFBTSxPQUFPLHdCQUF5QixTQUFRLDZCQUE2QjtJQU4zRTs7UUFVWSxTQUFJLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDN0MsV0FBTSxHQUFvQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdELFVBQUssR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQUN6RDsrR0FQWSx3QkFBd0I7bUdBQXhCLHdCQUF3Qiw0TUNackMsb2NBYWUsMkNESEgsbUJBQW1CLG1sQkFBRSxpQkFBaUI7OzRGQUVyQyx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBRWhCLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLGlCQUFpQixDQUFDOzhCQUd4QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRDaGVja2JveENoYW5nZSwgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljQ2hlY2tib3ggfSBmcm9tICcuL2R5bmFtaWMtY2hlY2tib3gubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkeW5hbWljLWNoZWNrYm94JyxcbiAgdGVtcGxhdGVVcmw6ICdkeW5hbWljLWNoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIE1hdENoZWNrYm94TW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljQ2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBEeW5hbWljRm9ybUZpZWxkQmFzZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1vZGVsITogRHluYW1pY0NoZWNrYm94O1xuICBASW5wdXQoKSBncm91cCE6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgQE91dHB1dCgpIGJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8TWF0Q2hlY2tib3hDaGFuZ2U+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZm9jdXM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xufVxuIiwiPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XG4gIDxtYXQtY2hlY2tib3ggW2NoZWNrZWRdPVwibW9kZWwuY2hlY2tlZFwiXG4gICAgW2Zvcm1Db250cm9sTmFtZV09XCJtb2RlbC5uYW1lXCJcbiAgICBbaW5kZXRlcm1pbmF0ZV09XCJtb2RlbC5pbmRldGVybWluYXRlXCJcbiAgICBbbGFiZWxQb3NpdGlvbl09XCJtb2RlbC5sYWJlbFBvc2l0aW9uXCJcbiAgICBbbmFtZV09XCJtb2RlbC5uYW1lXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIj5cblxuICAgIDxzcGFuIGNsYXNzPVwiY2hlY2tib3gtbGFiZWxcIj57e21vZGVsLmxhYmVsfX08L3NwYW4+XG4gIDwvbWF0LWNoZWNrYm94PlxuPC9uZy1jb250YWluZXI+Il19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvY2hlY2tib3gvZHluYW1pYy1jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvY2hlY2tib3gvZHluYW1pYy1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQXFCLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7QUFTcEYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLG9CQUFvQjtJQU5sRTs7UUFVWSxXQUFNLEdBQW9DLElBQUksWUFBWSxFQUFFLENBQUM7S0FDeEU7K0dBTFksd0JBQXdCO21HQUF4Qix3QkFBd0IsOEtDWnJDLG9ZQVdlLDJDRERILG1CQUFtQixtbEJBQUUsaUJBQWlCOzs0RkFFckMsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNFLGtCQUFrQixjQUVoQixJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUIsQ0FBQzs4QkFHeEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlLCBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRCYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NsYXNzZXMvZHluYW1pYy1mb3JtLWZpZWxkLWJhc2UnO1xuaW1wb3J0IHsgRHluYW1pY0NoZWNrYm94IH0gZnJvbSAnLi9keW5hbWljLWNoZWNrYm94Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZHluYW1pYy1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnZHluYW1pYy1jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBNYXRDaGVja2JveE1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0NoZWNrYm94Q29tcG9uZW50IGV4dGVuZHMgRHluYW1pY0Zvcm1GaWVsZEJhc2Uge1xuICBASW5wdXQoKSBtb2RlbCE6IER5bmFtaWNDaGVja2JveDtcbiAgQElucHV0KCkgZ3JvdXAhOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxNYXRDaGVja2JveENoYW5nZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG59XG4iLCI8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIj5cbiAgPG1hdC1jaGVja2JveCBbY2hlY2tlZF09XCJtb2RlbC5jaGVja2VkXCJcbiAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIm1vZGVsLm5hbWVcIlxuICAgIFtpbmRldGVybWluYXRlXT1cIm1vZGVsLmluZGV0ZXJtaW5hdGVcIlxuICAgIFtsYWJlbFBvc2l0aW9uXT1cIm1vZGVsLmxhYmVsUG9zaXRpb25cIlxuICAgIFtuYW1lXT1cIm1vZGVsLm5hbWVcIlxuICAgIFtpZF09XCJpZFwiXG4gICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCI+XG5cbiAgICA8c3BhbiBjbGFzcz1cImNoZWNrYm94LWxhYmVsXCI+e3ttb2RlbC5sYWJlbH19PC9zcGFuPlxuICA8L21hdC1jaGVja2JveD5cbjwvbmctY29udGFpbmVyPiJdfQ==
@@ -1,7 +1,8 @@
1
+ export * from './button-toggles/dynamic-button-toggles.model';
1
2
  export * from './button/dynamic-button.model';
2
3
  export * from './checkbox/dynamic-checkbox.model';
3
4
  export * from './input/dynamic-input.model';
4
5
  export * from './readonly/dynamic-readonly.model';
5
6
  export * from './select/dynamic-select.model';
6
7
  export * from './textarea/dynamic-textarea.model';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2J1dHRvbi9keW5hbWljLWJ1dHRvbi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NoZWNrYm94L2R5bmFtaWMtY2hlY2tib3gubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC9keW5hbWljLWlucHV0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vcmVhZG9ubHkvZHluYW1pYy1yZWFkb25seS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC9keW5hbWljLXNlbGVjdC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3RleHRhcmVhL2R5bmFtaWMtdGV4dGFyZWEubW9kZWwnO1xuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnV0dG9uLXRvZ2dsZXMvZHluYW1pYy1idXR0b24tdG9nZ2xlcy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2J1dHRvbi9keW5hbWljLWJ1dHRvbi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NoZWNrYm94L2R5bmFtaWMtY2hlY2tib3gubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC9keW5hbWljLWlucHV0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vcmVhZG9ubHkvZHluYW1pYy1yZWFkb25seS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC9keW5hbWljLXNlbGVjdC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3RleHRhcmVhL2R5bmFtaWMtdGV4dGFyZWEubW9kZWwnO1xuIl19
@@ -5,19 +5,17 @@ import { MatButtonModule } from '@angular/material/button';
5
5
  import { MatFormFieldModule } from '@angular/material/form-field';
6
6
  import { MatIconModule } from '@angular/material/icon';
7
7
  import { MatInput, MatInputModule } from '@angular/material/input';
8
- import { DynamicFormFieldBaseComponent } from '../../models/classes/dynamic-form-field-base-component';
8
+ import { DynamicFormFieldBase } from '../../models/classes/dynamic-form-field-base';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@angular/forms";
11
11
  import * as i2 from "@angular/material/form-field";
12
12
  import * as i3 from "@angular/material/input";
13
13
  import * as i4 from "@angular/material/button";
14
14
  import * as i5 from "@angular/material/icon";
15
- export class DynamicInputComponent extends DynamicFormFieldBaseComponent {
15
+ export class DynamicInputComponent extends DynamicFormFieldBase {
16
16
  constructor() {
17
17
  super(...arguments);
18
- this.blur = new EventEmitter();
19
18
  this.change = new EventEmitter();
20
- this.focus = new EventEmitter();
21
19
  }
22
20
  get valueCount() {
23
21
  return this.input?.value ? this.input.value.length : 0;
@@ -28,12 +26,19 @@ export class DynamicInputComponent extends DynamicFormFieldBaseComponent {
28
26
  get showClear() {
29
27
  return !!this.control.value && !this.control.disabled;
30
28
  }
29
+ onChange(event) {
30
+ // Ignore the native HTML 5 change event
31
+ if (event instanceof Event) {
32
+ event.stopPropagation();
33
+ }
34
+ this.change.emit(event);
35
+ }
31
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicInputComponent, isStandalone: true, selector: "dynamic-input", inputs: { model: "model", group: "group" }, outputs: { blur: "blur", change: "change", focus: "focus" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatInput, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label *ngIf=\"model.label\">{{model.label}}</mat-label>\n\n <span matPrefix\n *ngIf=\"model.prefix\">{{model.prefix}}</span>\n\n <input matInput\n [type]=\"model.inputType\"\n [formControlName]=\"model.name\"\n [attr.min]=\"model.min\"\n [attr.max]=\"model.max\"\n [attr.minLength]=\"model.minLength\"\n [attr.maxLength]=\"model.maxLength\"\n [pattern]=\"model.pattern\"\n [autocomplete]=\"model.autocomplete\" />\n\n <button matSuffix\n mat-icon-button\n *ngIf=\"showClear\"\n (click)=\"resetControl()\">\n <mat-icon fontIcon=\"clear\"></mat-icon>\n </button>\n\n <mat-hint *ngIf=\"model.hint\"\n align=\"start\">{{model.hint}}</mat-hint>\n\n <mat-hint *ngIf=\"model.maxLength\"\n align=\"end\">{{maxCountText}}</mat-hint>\n\n <ng-container *ngFor=\"let validator of model.validators\"\n ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"hasError(validator.name)\">{{validator.message}}</mat-error>\n </ng-container>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicInputComponent, isStandalone: true, selector: "dynamic-input", inputs: { model: "model", group: "group" }, outputs: { change: "change" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatInput, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label *ngIf=\"model.label\">{{model.label}}</mat-label>\n\n <span matTextPrefix\n *ngIf=\"model.prefix\">{{model.prefix}}</span>\n\n <input matInput\n [type]=\"model.inputType\"\n [formControlName]=\"model.name\"\n [attr.min]=\"model.min\"\n [attr.max]=\"model.max\"\n [attr.minLength]=\"model.minLength\"\n [attr.maxLength]=\"model.maxLength\"\n [pattern]=\"model.pattern\"\n [autocomplete]=\"model.autocomplete\"\n (change)=\"onChange($event)\" />\n\n <button matSuffix\n mat-icon-button\n *ngIf=\"showClear\"\n (click)=\"resetControl()\">\n <mat-icon fontIcon=\"clear\"></mat-icon>\n </button>\n\n <mat-hint *ngIf=\"model.hint\"\n align=\"start\">{{model.hint}}</mat-hint>\n\n <mat-hint *ngIf=\"model.maxLength\"\n align=\"end\">{{maxCountText}}</mat-hint>\n\n <ng-container *ngFor=\"let validator of model.validators\"\n ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"hasError(validator.name)\">{{validator.message}}</mat-error>\n </ng-container>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
33
38
  }
34
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicInputComponent, decorators: [{
35
40
  type: Component,
36
- args: [{ selector: 'dynamic-input', standalone: true, imports: [NgIf, NgFor, ReactiveFormsModule, MatFormFieldModule, MatInputModule, MatButtonModule, MatIconModule], template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label *ngIf=\"model.label\">{{model.label}}</mat-label>\n\n <span matPrefix\n *ngIf=\"model.prefix\">{{model.prefix}}</span>\n\n <input matInput\n [type]=\"model.inputType\"\n [formControlName]=\"model.name\"\n [attr.min]=\"model.min\"\n [attr.max]=\"model.max\"\n [attr.minLength]=\"model.minLength\"\n [attr.maxLength]=\"model.maxLength\"\n [pattern]=\"model.pattern\"\n [autocomplete]=\"model.autocomplete\" />\n\n <button matSuffix\n mat-icon-button\n *ngIf=\"showClear\"\n (click)=\"resetControl()\">\n <mat-icon fontIcon=\"clear\"></mat-icon>\n </button>\n\n <mat-hint *ngIf=\"model.hint\"\n align=\"start\">{{model.hint}}</mat-hint>\n\n <mat-hint *ngIf=\"model.maxLength\"\n align=\"end\">{{maxCountText}}</mat-hint>\n\n <ng-container *ngFor=\"let validator of model.validators\"\n ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"hasError(validator.name)\">{{validator.message}}</mat-error>\n </ng-container>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"] }]
41
+ args: [{ selector: 'dynamic-input', standalone: true, imports: [NgIf, NgFor, ReactiveFormsModule, MatFormFieldModule, MatInputModule, MatButtonModule, MatIconModule], template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label *ngIf=\"model.label\">{{model.label}}</mat-label>\n\n <span matTextPrefix\n *ngIf=\"model.prefix\">{{model.prefix}}</span>\n\n <input matInput\n [type]=\"model.inputType\"\n [formControlName]=\"model.name\"\n [attr.min]=\"model.min\"\n [attr.max]=\"model.max\"\n [attr.minLength]=\"model.minLength\"\n [attr.maxLength]=\"model.maxLength\"\n [pattern]=\"model.pattern\"\n [autocomplete]=\"model.autocomplete\"\n (change)=\"onChange($event)\" />\n\n <button matSuffix\n mat-icon-button\n *ngIf=\"showClear\"\n (click)=\"resetControl()\">\n <mat-icon fontIcon=\"clear\"></mat-icon>\n </button>\n\n <mat-hint *ngIf=\"model.hint\"\n align=\"start\">{{model.hint}}</mat-hint>\n\n <mat-hint *ngIf=\"model.maxLength\"\n align=\"end\">{{maxCountText}}</mat-hint>\n\n <ng-container *ngFor=\"let validator of model.validators\"\n ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"hasError(validator.name)\">{{validator.message}}</mat-error>\n </ng-container>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"] }]
37
42
  }], propDecorators: { input: [{
38
43
  type: ViewChild,
39
44
  args: [MatInput, { static: true }]
@@ -41,11 +46,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
41
46
  type: Input
42
47
  }], group: [{
43
48
  type: Input
44
- }], blur: [{
45
- type: Output
46
49
  }], change: [{
47
50
  type: Output
48
- }], focus: [{
49
- type: Output
50
51
  }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvaW5wdXQvZHluYW1pYy1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvaW5wdXQvZHluYW1pYy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sd0RBQXdELENBQUM7Ozs7Ozs7QUFVdkcsTUFBTSxPQUFPLHFCQUFzQixTQUFRLDZCQUE2QjtJQVB4RTs7UUFhWSxTQUFJLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDN0MsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9DLFVBQUssR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQWF6RDtJQVhDLElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ3hELENBQUM7K0dBcEJVLHFCQUFxQjttR0FBckIscUJBQXFCLHlOQUNyQixRQUFRLHFGQ2xCckIsc2pDQW1DaUIsc0ZEcEJMLElBQUksNkZBQUUsS0FBSyxrSEFBRSxtQkFBbUIsNC9CQUFFLGtCQUFrQixpdUJBQUUsY0FBYywwV0FBRSxlQUFlLDJMQUFFLGFBQWE7OzRGQUVuRyxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0UsZUFBZSxjQUdiLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUM7OEJBR3hFLEtBQUs7c0JBQTNDLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFNUIsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxJQUFJO3NCQUFiLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRm9yLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dCwgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljSW5wdXQgfSBmcm9tICcuL2R5bmFtaWMtaW5wdXQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkeW5hbWljLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICdkeW5hbWljLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbJ21hdC1mb3JtLWZpZWxkIHt3aWR0aDogMTAwJTt9J10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ0ZvciwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBNYXRJbnB1dE1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBEeW5hbWljRm9ybUZpZWxkQmFzZUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoTWF0SW5wdXQsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0ITogTWF0SW5wdXQ7XG5cbiAgQElucHV0KCkgbW9kZWwhOiBEeW5hbWljSW5wdXQ7XG4gIEBJbnB1dCgpIGdyb3VwITogVW50eXBlZEZvcm1Hcm91cDtcblxuICBAT3V0cHV0KCkgYmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZm9jdXM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGdldCB2YWx1ZUNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXQ/LnZhbHVlID8gdGhpcy5pbnB1dC52YWx1ZS5sZW5ndGggOiAwO1xuICB9XG5cbiAgZ2V0IG1heENvdW50VGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnZhbHVlQ291bnR9IC8gJHt0aGlzLm1vZGVsLm1heExlbmd0aH1gO1xuICB9XG5cbiAgZ2V0IHNob3dDbGVhcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmNvbnRyb2wudmFsdWUgJiYgIXRoaXMuY29udHJvbC5kaXNhYmxlZDtcbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxuICBbaWRdPVwiaWRcIlxuICBjb2xvcj1cInByaW1hcnlcIj5cbiAgPG1hdC1sYWJlbCAqbmdJZj1cIm1vZGVsLmxhYmVsXCI+e3ttb2RlbC5sYWJlbH19PC9tYXQtbGFiZWw+XG5cbiAgPHNwYW4gbWF0UHJlZml4XG4gICAgKm5nSWY9XCJtb2RlbC5wcmVmaXhcIj57e21vZGVsLnByZWZpeH19PC9zcGFuPlxuXG4gIDxpbnB1dCBtYXRJbnB1dFxuICAgIFt0eXBlXT1cIm1vZGVsLmlucHV0VHlwZVwiXG4gICAgW2Zvcm1Db250cm9sTmFtZV09XCJtb2RlbC5uYW1lXCJcbiAgICBbYXR0ci5taW5dPVwibW9kZWwubWluXCJcbiAgICBbYXR0ci5tYXhdPVwibW9kZWwubWF4XCJcbiAgICBbYXR0ci5taW5MZW5ndGhdPVwibW9kZWwubWluTGVuZ3RoXCJcbiAgICBbYXR0ci5tYXhMZW5ndGhdPVwibW9kZWwubWF4TGVuZ3RoXCJcbiAgICBbcGF0dGVybl09XCJtb2RlbC5wYXR0ZXJuXCJcbiAgICBbYXV0b2NvbXBsZXRlXT1cIm1vZGVsLmF1dG9jb21wbGV0ZVwiIC8+XG5cbiAgPGJ1dHRvbiBtYXRTdWZmaXhcbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICAqbmdJZj1cInNob3dDbGVhclwiXG4gICAgKGNsaWNrKT1cInJlc2V0Q29udHJvbCgpXCI+XG4gICAgPG1hdC1pY29uIGZvbnRJY29uPVwiY2xlYXJcIj48L21hdC1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8bWF0LWhpbnQgKm5nSWY9XCJtb2RlbC5oaW50XCJcbiAgICBhbGlnbj1cInN0YXJ0XCI+e3ttb2RlbC5oaW50fX08L21hdC1oaW50PlxuXG4gIDxtYXQtaGludCAqbmdJZj1cIm1vZGVsLm1heExlbmd0aFwiXG4gICAgYWxpZ249XCJlbmRcIj57e21heENvdW50VGV4dH19PC9tYXQtaGludD5cblxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2YWxpZGF0b3Igb2YgbW9kZWwudmFsaWRhdG9yc1wiXG4gICAgbmdQcm9qZWN0QXM9XCJtYXQtZXJyb3JcIj5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiaGFzRXJyb3IodmFsaWRhdG9yLm5hbWUpXCI+e3t2YWxpZGF0b3IubWVzc2FnZX19PC9tYXQtZXJyb3I+XG4gIDwvbmctY29udGFpbmVyPlxuPC9tYXQtZm9ybS1maWVsZD4iXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvaW5wdXQvZHluYW1pYy1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvaW5wdXQvZHluYW1pYy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7Ozs7QUFXcEYsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG9CQUFvQjtJQVAvRDs7UUFhWSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7S0FzQjlEO0lBcEJDLElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ3hELENBQUM7SUFFTSxRQUFRLENBQUMsS0FBb0M7UUFDbEQsd0NBQXdDO1FBQ3hDLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDekI7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUE4QixDQUFDLENBQUM7SUFDbkQsQ0FBQzsrR0EzQlUscUJBQXFCO21HQUFyQixxQkFBcUIsMkxBQ3JCLFFBQVEscUZDbkJyQiw2bENBb0NpQixzRkRwQkwsSUFBSSw2RkFBRSxLQUFLLGtIQUFFLG1CQUFtQiw0L0JBQUUsa0JBQWtCLGl1QkFBRSxjQUFjLDBXQUFFLGVBQWUsMkxBQUUsYUFBYTs7NEZBRW5HLHFCQUFxQjtrQkFQakMsU0FBUzsrQkFDRSxlQUFlLGNBR2IsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQzs4QkFHeEUsS0FBSztzQkFBM0MsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUU1QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRm9yLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dCwgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkQmFzZSB9IGZyb20gJy4uLy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1iYXNlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS1maWVsZC1ldmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRHluYW1pY0lucHV0IH0gZnJvbSAnLi9keW5hbWljLWlucHV0Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZHluYW1pYy1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnZHluYW1pYy1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogWydtYXQtZm9ybS1maWVsZCB7d2lkdGg6IDEwMCU7fSddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgTmdGb3IsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0lucHV0Q29tcG9uZW50IGV4dGVuZHMgRHluYW1pY0Zvcm1GaWVsZEJhc2Uge1xuICBAVmlld0NoaWxkKE1hdElucHV0LCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dCE6IE1hdElucHV0O1xuXG4gIEBJbnB1dCgpIG1vZGVsITogRHluYW1pY0lucHV0O1xuICBASW5wdXQoKSBncm91cCE6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RHluYW1pY0Zvcm1GaWVsZEV2ZW50PigpO1xuXG4gIGdldCB2YWx1ZUNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXQ/LnZhbHVlID8gdGhpcy5pbnB1dC52YWx1ZS5sZW5ndGggOiAwO1xuICB9XG5cbiAgZ2V0IG1heENvdW50VGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnZhbHVlQ291bnR9IC8gJHt0aGlzLm1vZGVsLm1heExlbmd0aH1gO1xuICB9XG5cbiAgZ2V0IHNob3dDbGVhcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmNvbnRyb2wudmFsdWUgJiYgIXRoaXMuY29udHJvbC5kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoYW5nZShldmVudDogRXZlbnQgfCBEeW5hbWljRm9ybUZpZWxkRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBJZ25vcmUgdGhlIG5hdGl2ZSBIVE1MIDUgY2hhbmdlIGV2ZW50XG4gICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgRXZlbnQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIHRoaXMuY2hhbmdlLmVtaXQoZXZlbnQgYXMgRHluYW1pY0Zvcm1GaWVsZEV2ZW50KTtcbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxuICBbaWRdPVwiaWRcIlxuICBjb2xvcj1cInByaW1hcnlcIj5cbiAgPG1hdC1sYWJlbCAqbmdJZj1cIm1vZGVsLmxhYmVsXCI+e3ttb2RlbC5sYWJlbH19PC9tYXQtbGFiZWw+XG5cbiAgPHNwYW4gbWF0VGV4dFByZWZpeFxuICAgICpuZ0lmPVwibW9kZWwucHJlZml4XCI+e3ttb2RlbC5wcmVmaXh9fTwvc3Bhbj5cblxuICA8aW5wdXQgbWF0SW5wdXRcbiAgICBbdHlwZV09XCJtb2RlbC5pbnB1dFR5cGVcIlxuICAgIFtmb3JtQ29udHJvbE5hbWVdPVwibW9kZWwubmFtZVwiXG4gICAgW2F0dHIubWluXT1cIm1vZGVsLm1pblwiXG4gICAgW2F0dHIubWF4XT1cIm1vZGVsLm1heFwiXG4gICAgW2F0dHIubWluTGVuZ3RoXT1cIm1vZGVsLm1pbkxlbmd0aFwiXG4gICAgW2F0dHIubWF4TGVuZ3RoXT1cIm1vZGVsLm1heExlbmd0aFwiXG4gICAgW3BhdHRlcm5dPVwibW9kZWwucGF0dGVyblwiXG4gICAgW2F1dG9jb21wbGV0ZV09XCJtb2RlbC5hdXRvY29tcGxldGVcIlxuICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiIC8+XG5cbiAgPGJ1dHRvbiBtYXRTdWZmaXhcbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICAqbmdJZj1cInNob3dDbGVhclwiXG4gICAgKGNsaWNrKT1cInJlc2V0Q29udHJvbCgpXCI+XG4gICAgPG1hdC1pY29uIGZvbnRJY29uPVwiY2xlYXJcIj48L21hdC1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8bWF0LWhpbnQgKm5nSWY9XCJtb2RlbC5oaW50XCJcbiAgICBhbGlnbj1cInN0YXJ0XCI+e3ttb2RlbC5oaW50fX08L21hdC1oaW50PlxuXG4gIDxtYXQtaGludCAqbmdJZj1cIm1vZGVsLm1heExlbmd0aFwiXG4gICAgYWxpZ249XCJlbmRcIj57e21heENvdW50VGV4dH19PC9tYXQtaGludD5cblxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2YWxpZGF0b3Igb2YgbW9kZWwudmFsaWRhdG9yc1wiXG4gICAgbmdQcm9qZWN0QXM9XCJtYXQtZXJyb3JcIj5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiaGFzRXJyb3IodmFsaWRhdG9yLm5hbWUpXCI+e3t2YWxpZGF0b3IubWVzc2FnZX19PC9tYXQtZXJyb3I+XG4gIDwvbmctY29udGFpbmVyPlxuPC9tYXQtZm9ybS1maWVsZD4iXX0=