@dereekb/dbx-form 9.16.4 → 9.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/esm2020/lib/formly/field/selection/index.mjs +2 -1
  2. package/esm2020/lib/formly/field/selection/list/index.mjs +4 -0
  3. package/esm2020/lib/formly/field/selection/list/list.field.component.mjs +90 -0
  4. package/esm2020/lib/formly/field/selection/list/list.field.mjs +15 -0
  5. package/esm2020/lib/formly/field/selection/list/list.field.module.mjs +76 -0
  6. package/esm2020/lib/formly/field/selection/pickable/pickable.field.directive.mjs +3 -3
  7. package/esm2020/lib/formly/field/selection/searchable/searchable.field.directive.mjs +3 -3
  8. package/esm2020/lib/formly/field/selection/selection.module.mjs +5 -4
  9. package/esm2020/lib/formly/field/texteditor/texteditor.field.component.mjs +4 -8
  10. package/esm2020/lib/formly/field/value/array/array.field.component.mjs +34 -3
  11. package/esm2020/lib/formly/field/value/array/array.field.mjs +6 -3
  12. package/fesm2015/dereekb-dbx-form.mjs +247 -65
  13. package/fesm2015/dereekb-dbx-form.mjs.map +1 -1
  14. package/fesm2020/dereekb-dbx-form.mjs +248 -64
  15. package/fesm2020/dereekb-dbx-form.mjs.map +1 -1
  16. package/lib/formly/field/selection/_selection.scss +4 -0
  17. package/lib/formly/field/selection/index.d.ts +1 -0
  18. package/lib/formly/field/selection/list/_list.scss +33 -0
  19. package/lib/formly/field/selection/list/index.d.ts +3 -0
  20. package/lib/formly/field/selection/list/list.field.component.d.ts +53 -0
  21. package/lib/formly/field/selection/list/list.field.d.ts +8 -0
  22. package/lib/formly/field/selection/list/list.field.module.d.ts +18 -0
  23. package/lib/formly/field/selection/pickable/pickable.field.directive.d.ts +1 -1
  24. package/lib/formly/field/selection/searchable/searchable.field.directive.d.ts +1 -1
  25. package/lib/formly/field/selection/selection.module.d.ts +4 -3
  26. package/lib/formly/field/value/array/array.field.component.d.ts +19 -0
  27. package/lib/formly/field/value/array/array.field.d.ts +3 -0
  28. package/mapbox/package.json +4 -4
  29. package/package.json +4 -4
@@ -2,18 +2,19 @@ import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { DbxFormFormlyPickableFieldModule } from './pickable/pickable.field.module';
4
4
  import { DbxFormFormlySearchableFieldModule } from './searchable/searchable.field.module';
5
+ import { DbxFormFormlyDbxListFieldModule } from './list/list.field.module';
5
6
  import * as i0 from "@angular/core";
6
7
  export class DbxFormFormlySelectionModule {
7
8
  }
8
9
  DbxFormFormlySelectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFormFormlySelectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- DbxFormFormlySelectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [CommonModule], exports: [DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule] });
10
- DbxFormFormlySelectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [CommonModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule] });
10
+ DbxFormFormlySelectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [CommonModule], exports: [DbxFormFormlyDbxListFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule] });
11
+ DbxFormFormlySelectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [CommonModule, DbxFormFormlyDbxListFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule] });
11
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFormFormlySelectionModule, decorators: [{
12
13
  type: NgModule,
13
14
  args: [{
14
15
  imports: [CommonModule],
15
16
  declarations: [],
16
- exports: [DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule]
17
+ exports: [DbxFormFormlyDbxListFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule]
17
18
  }]
18
19
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2ZpZWxkL3NlbGVjdGlvbi9zZWxlY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQU8xRixNQUFNLE9BQU8sNEJBQTRCOzt5SEFBNUIsNEJBQTRCOzBIQUE1Qiw0QkFBNEIsWUFKN0IsWUFBWSxhQUVaLGdDQUFnQyxFQUFFLGtDQUFrQzswSEFFbkUsNEJBQTRCLFlBSjdCLFlBQVksRUFFWixnQ0FBZ0MsRUFBRSxrQ0FBa0M7MkZBRW5FLDRCQUE0QjtrQkFMeEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxnQ0FBZ0MsRUFBRSxrQ0FBa0MsQ0FBQztpQkFDaEYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERieEZvcm1Gb3JtbHlQaWNrYWJsZUZpZWxkTW9kdWxlIH0gZnJvbSAnLi9waWNrYWJsZS9waWNrYWJsZS5maWVsZC5tb2R1bGUnO1xuaW1wb3J0IHsgRGJ4Rm9ybUZvcm1seVNlYXJjaGFibGVGaWVsZE1vZHVsZSB9IGZyb20gJy4vc2VhcmNoYWJsZS9zZWFyY2hhYmxlLmZpZWxkLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBleHBvcnRzOiBbRGJ4Rm9ybUZvcm1seVBpY2thYmxlRmllbGRNb2R1bGUsIERieEZvcm1Gb3JtbHlTZWFyY2hhYmxlRmllbGRNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIERieEZvcm1Gb3JtbHlTZWxlY3Rpb25Nb2R1bGUge31cbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2ZpZWxkL3NlbGVjdGlvbi9zZWxlY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQU8zRSxNQUFNLE9BQU8sNEJBQTRCOzt5SEFBNUIsNEJBQTRCOzBIQUE1Qiw0QkFBNEIsWUFKN0IsWUFBWSxhQUVaLCtCQUErQixFQUFFLGdDQUFnQyxFQUFFLGtDQUFrQzswSEFFcEcsNEJBQTRCLFlBSjdCLFlBQVksRUFFWiwrQkFBK0IsRUFBRSxnQ0FBZ0MsRUFBRSxrQ0FBa0M7MkZBRXBHLDRCQUE0QjtrQkFMeEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsQ0FBQywrQkFBK0IsRUFBRSxnQ0FBZ0MsRUFBRSxrQ0FBa0MsQ0FBQztpQkFDakgiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERieEZvcm1Gb3JtbHlQaWNrYWJsZUZpZWxkTW9kdWxlIH0gZnJvbSAnLi9waWNrYWJsZS9waWNrYWJsZS5maWVsZC5tb2R1bGUnO1xuaW1wb3J0IHsgRGJ4Rm9ybUZvcm1seVNlYXJjaGFibGVGaWVsZE1vZHVsZSB9IGZyb20gJy4vc2VhcmNoYWJsZS9zZWFyY2hhYmxlLmZpZWxkLm1vZHVsZSc7XG5pbXBvcnQgeyBEYnhGb3JtRm9ybWx5RGJ4TGlzdEZpZWxkTW9kdWxlIH0gZnJvbSAnLi9saXN0L2xpc3QuZmllbGQubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IFtEYnhGb3JtRm9ybWx5RGJ4TGlzdEZpZWxkTW9kdWxlLCBEYnhGb3JtRm9ybWx5UGlja2FibGVGaWVsZE1vZHVsZSwgRGJ4Rm9ybUZvcm1seVNlYXJjaGFibGVGaWVsZE1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4Rm9ybUZvcm1seVNlbGVjdGlvbk1vZHVsZSB7fVxuIl19
@@ -62,11 +62,9 @@ DbxTextEditorFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
62
62
  <div class="dbx-texteditor-field-menu">
63
63
  <ngx-editor-menu [editor]="editor"></ngx-editor-menu>
64
64
  </div>
65
- <div>
66
- <dbx-hint *ngIf="description">{{ description }}</dbx-hint>
67
- </div>
65
+ <dbx-form-description *ngIf="description">{{ description }}</dbx-form-description>
68
66
  </div>
69
- `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.DbxHintComponent, selector: "dbx-hint" }, { kind: "component", type: i1.DbxLabelComponent, selector: "dbx-label" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.NgxEditorComponent, selector: "ngx-editor", inputs: ["editor", "outputFormat", "placeholder"], outputs: ["focusOut", "focusIn"] }, { kind: "component", type: i4.MenuComponent, selector: "ngx-editor-menu", inputs: ["toolbar", "colorPresets", "disabled", "editor", "customMenuRef", "dropdownPlacement"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
67
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.DbxLabelComponent, selector: "dbx-label" }, { kind: "component", type: i1.DbxFormDescriptionComponent, selector: "dbx-form-description" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.NgxEditorComponent, selector: "ngx-editor", inputs: ["editor", "outputFormat", "placeholder"], outputs: ["focusOut", "focusIn"] }, { kind: "component", type: i4.MenuComponent, selector: "ngx-editor-menu", inputs: ["toolbar", "colorPresets", "disabled", "editor", "customMenuRef", "dropdownPlacement"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
70
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxTextEditorFieldComponent, decorators: [{
71
69
  type: Component,
72
70
  args: [{
@@ -79,13 +77,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
79
77
  <div class="dbx-texteditor-field-menu">
80
78
  <ngx-editor-menu [editor]="editor"></ngx-editor-menu>
81
79
  </div>
82
- <div>
83
- <dbx-hint *ngIf="description">{{ description }}</dbx-hint>
84
- </div>
80
+ <dbx-form-description *ngIf="description">{{ description }}</dbx-form-description>
85
81
  </div>
86
82
  `
87
83
  }]
88
84
  }], ctorParameters: function () { return [{ type: i1.CompactContextStore, decorators: [{
89
85
  type: Optional
90
86
  }] }]; } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGVkaXRvci5maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC90ZXh0ZWRpdG9yL3RleHRlZGl0b3IuZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQXFCbkQsTUFBTSxPQUFPLDJCQUFxRyxTQUFRLFNBQTZCO0lBUXJKLFlBQWlDLE9BQTRCO1FBQzNELEtBQUssRUFBRSxDQUFDO1FBRHVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBTnJELFNBQUksR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFFL0Isa0JBQWEsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRTtZQUM5RCxPQUFPLEVBQUUsOEJBQThCO1NBQ3hDLENBQUMsQ0FBQztJQUlILENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBYSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFOUIsc0VBQXNFO1FBQ3RFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWTthQUM5QyxJQUFJLENBQ0gsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FDMUM7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVEsV0FBVztRQUNsQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFcEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDckI7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3RCLENBQUM7O3dIQXZEVSwyQkFBMkI7NEdBQTNCLDJCQUEyQiwyRUFmNUI7Ozs7Ozs7Ozs7Ozs7R0FhVDsyRkFFVSwyQkFBMkI7a0JBaEJ2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7OztHQWFUO2lCQUNGOzswQkFTYyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tcGFjdENvbnRleHRTdG9yZSwgbWFwQ29tcGFjdE1vZGVPYnMgfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGVDb25maWcsIEZvcm1seUZpZWxkUHJvcHMgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJ25neC1lZGl0b3InO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbk9iamVjdCB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuZXhwb3J0IHR5cGUgVGV4dEVkaXRvckNvbXBvbmVudEZpZWxkUHJvcHMgPSBGb3JtbHlGaWVsZFByb3BzO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZGJ4LXRleHRlZGl0b3ItZmllbGRcIiBbbmdDbGFzc109XCIoY29tcGFjdENsYXNzJCB8IGFzeW5jKSA/PyAnJ1wiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgICA8ZGJ4LWxhYmVsICpuZ0lmPVwibGFiZWxcIj57eyBsYWJlbCB9fTwvZGJ4LWxhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cImRieC10ZXh0ZWRpdG9yLWZpZWxkLWlucHV0XCI+XG4gICAgICAgIDxuZ3gtZWRpdG9yIFtlZGl0b3JdPVwiZWRpdG9yXCIgb3V0cHV0Rm9ybWF0PVwiaHRtbFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZm9ybUdyb3VwTmFtZVwiPjwvbmd4LWVkaXRvcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImRieC10ZXh0ZWRpdG9yLWZpZWxkLW1lbnVcIj5cbiAgICAgICAgPG5neC1lZGl0b3ItbWVudSBbZWRpdG9yXT1cImVkaXRvclwiPjwvbmd4LWVkaXRvci1tZW51PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGJ4LWhpbnQgKm5nSWY9XCJkZXNjcmlwdGlvblwiPnt7IGRlc2NyaXB0aW9uIH19PC9kYngtaGludD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERieFRleHRFZGl0b3JGaWVsZENvbXBvbmVudDxUIGV4dGVuZHMgVGV4dEVkaXRvckNvbXBvbmVudEZpZWxkUHJvcHMgPSBUZXh0RWRpdG9yQ29tcG9uZW50RmllbGRQcm9wcz4gZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPFQ+PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfZWRpdG9yPzogRWRpdG9yO1xuICBwcml2YXRlIF9zdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgcmVhZG9ubHkgY29tcGFjdENsYXNzJCA9IG1hcENvbXBhY3RNb2RlT2JzKHRoaXMuY29tcGFjdD8ubW9kZSQsIHtcbiAgICBjb21wYWN0OiAnZGJ4LXRleHRlZGl0b3ItZmllbGQtY29tcGFjdCdcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcmVhZG9ubHkgY29tcGFjdDogQ29tcGFjdENvbnRleHRTdG9yZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBnZXQgZm9ybUdyb3VwTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLmtleSBhcyBzdHJpbmc7XG4gIH1cblxuICBnZXQgZm9ybUdyb3VwKCk6IEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybSBhcyBGb3JtR3JvdXA7XG4gIH1cblxuICBnZXQgZWRpdG9yKCk6IEVkaXRvciB7XG4gICAgcmV0dXJuIHRoaXMuX2VkaXRvciBhcyBFZGl0b3I7XG4gIH1cblxuICBnZXQgbGFiZWwoKTogTWF5YmU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQucHJvcHM/LmxhYmVsO1xuICB9XG5cbiAgZ2V0IGRlc2NyaXB0aW9uKCk6IE1heWJlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmRlc2NyaXB0aW9uO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZWRpdG9yID0gbmV3IEVkaXRvcih7fSk7XG5cbiAgICAvLyBXYXRjaCBmb3IgdmFsdWUgY2hhbmdlcyBldmVyeSBzZWNvbmQgYW5kIHVwZGF0ZSB0aGUgcHJpc3RpbmUgbGV2ZWwuXG4gICAgdGhpcy5fc3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuZWRpdG9yLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5lZGl0b3Iudmlldy5oYXNGb2N1cygpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG5cbiAgICBpZiAodGhpcy5lZGl0b3IpIHtcbiAgICAgIHRoaXMuZWRpdG9yLmRlc3Ryb3koKTtcbiAgICAgIGRlbGV0ZSB0aGlzLl9lZGl0b3I7XG4gICAgfVxuICAgIHRoaXMuX3N1Yi5kZXN0cm95KCk7XG4gIH1cbn1cbiJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGVkaXRvci5maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC90ZXh0ZWRpdG9yL3RleHRlZGl0b3IuZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQW1CbkQsTUFBTSxPQUFPLDJCQUFxRyxTQUFRLFNBQTZCO0lBUXJKLFlBQWlDLE9BQTRCO1FBQzNELEtBQUssRUFBRSxDQUFDO1FBRHVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBTnJELFNBQUksR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFFL0Isa0JBQWEsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRTtZQUM5RCxPQUFPLEVBQUUsOEJBQThCO1NBQ3hDLENBQUMsQ0FBQztJQUlILENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBYSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFOUIsc0VBQXNFO1FBQ3RFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWTthQUM5QyxJQUFJLENBQ0gsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FDMUM7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVEsV0FBVztRQUNsQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFcEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDckI7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3RCLENBQUM7O3dIQXZEVSwyQkFBMkI7NEdBQTNCLDJCQUEyQiwyRUFiNUI7Ozs7Ozs7Ozs7O0dBV1Q7MkZBRVUsMkJBQTJCO2tCQWR2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7R0FXVDtpQkFDRjs7MEJBU2MsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbXBhY3RDb250ZXh0U3RvcmUsIG1hcENvbXBhY3RNb2RlT2JzIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlQ29uZmlnLCBGb3JtbHlGaWVsZFByb3BzIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICdAbmd4LWZvcm1seS9tYXRlcmlhbCc7XG5pbXBvcnQgeyBFZGl0b3IgfSBmcm9tICduZ3gtZWRpdG9yJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCB0eXBlIFRleHRFZGl0b3JDb21wb25lbnRGaWVsZFByb3BzID0gRm9ybWx5RmllbGRQcm9wcztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRieC10ZXh0ZWRpdG9yLWZpZWxkXCIgW25nQ2xhc3NdPVwiKGNvbXBhY3RDbGFzcyQgfCBhc3luYykgPz8gJydcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICAgICAgPGRieC1sYWJlbCAqbmdJZj1cImxhYmVsXCI+e3sgbGFiZWwgfX08L2RieC1sYWJlbD5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYngtdGV4dGVkaXRvci1maWVsZC1pbnB1dFwiPlxuICAgICAgICA8bmd4LWVkaXRvciBbZWRpdG9yXT1cImVkaXRvclwiIG91dHB1dEZvcm1hdD1cImh0bWxcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZvcm1Hcm91cE5hbWVcIj48L25neC1lZGl0b3I+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYngtdGV4dGVkaXRvci1maWVsZC1tZW51XCI+XG4gICAgICAgIDxuZ3gtZWRpdG9yLW1lbnUgW2VkaXRvcl09XCJlZGl0b3JcIj48L25neC1lZGl0b3ItbWVudT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRieC1mb3JtLWRlc2NyaXB0aW9uICpuZ0lmPVwiZGVzY3JpcHRpb25cIj57eyBkZXNjcmlwdGlvbiB9fTwvZGJ4LWZvcm0tZGVzY3JpcHRpb24+XG4gICAgPC9kaXY+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRGJ4VGV4dEVkaXRvckZpZWxkQ29tcG9uZW50PFQgZXh0ZW5kcyBUZXh0RWRpdG9yQ29tcG9uZW50RmllbGRQcm9wcyA9IFRleHRFZGl0b3JDb21wb25lbnRGaWVsZFByb3BzPiBleHRlbmRzIEZpZWxkVHlwZTxGaWVsZFR5cGVDb25maWc8VD4+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9lZGl0b3I/OiBFZGl0b3I7XG4gIHByaXZhdGUgX3N1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICByZWFkb25seSBjb21wYWN0Q2xhc3MkID0gbWFwQ29tcGFjdE1vZGVPYnModGhpcy5jb21wYWN0Py5tb2RlJCwge1xuICAgIGNvbXBhY3Q6ICdkYngtdGV4dGVkaXRvci1maWVsZC1jb21wYWN0J1xuICB9KTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSByZWFkb25seSBjb21wYWN0OiBDb21wYWN0Q29udGV4dFN0b3JlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldCBmb3JtR3JvdXBOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQua2V5IGFzIHN0cmluZztcbiAgfVxuXG4gIGdldCBmb3JtR3JvdXAoKTogRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtIGFzIEZvcm1Hcm91cDtcbiAgfVxuXG4gIGdldCBlZGl0b3IoKTogRWRpdG9yIHtcbiAgICByZXR1cm4gdGhpcy5fZWRpdG9yIGFzIEVkaXRvcjtcbiAgfVxuXG4gIGdldCBsYWJlbCgpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5wcm9wcz8ubGFiZWw7XG4gIH1cblxuICBnZXQgZGVzY3JpcHRpb24oKTogTWF5YmU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZGVzY3JpcHRpb247XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9lZGl0b3IgPSBuZXcgRWRpdG9yKHt9KTtcblxuICAgIC8vIFdhdGNoIGZvciB2YWx1ZSBjaGFuZ2VzIGV2ZXJ5IHNlY29uZCBhbmQgdXBkYXRlIHRoZSBwcmlzdGluZSBsZXZlbC5cbiAgICB0aGlzLl9zdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5lZGl0b3IudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmVkaXRvci52aWV3Lmhhc0ZvY3VzKCkpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcblxuICAgIGlmICh0aGlzLmVkaXRvcikge1xuICAgICAgdGhpcy5lZGl0b3IuZGVzdHJveSgpO1xuICAgICAgZGVsZXRlIHRoaXMuX2VkaXRvcjtcbiAgICB9XG4gICAgdGhpcy5fc3ViLmRlc3Ryb3koKTtcbiAgfVxufVxuIl19
@@ -23,6 +23,12 @@ export class DbxFormRepeatArrayTypeComponent extends FieldArrayType {
23
23
  this._allowRemove = cachedGetter(() => {
24
24
  return asDecisionFunction(this.field.props.allowRemove, true);
25
25
  });
26
+ this._allowDuplicate = cachedGetter(() => {
27
+ return asDecisionFunction(this.field.props.allowDuplicate || false, false);
28
+ });
29
+ this.trackByFunction = (i, x) => {
30
+ return x.key;
31
+ };
26
32
  }
27
33
  get repeatArrayField() {
28
34
  return this.field.props;
@@ -33,6 +39,9 @@ export class DbxFormRepeatArrayTypeComponent extends FieldArrayType {
33
39
  get description() {
34
40
  return this.field.props.description;
35
41
  }
42
+ get duplicateText() {
43
+ return this.repeatArrayField.addText ?? 'Duplicate';
44
+ }
36
45
  get addText() {
37
46
  return this.repeatArrayField.addText ?? 'Add';
38
47
  }
@@ -51,6 +60,9 @@ export class DbxFormRepeatArrayTypeComponent extends FieldArrayType {
51
60
  get allowAdd() {
52
61
  return this.field.props.allowAdd ?? true;
53
62
  }
63
+ get addDuplicateToEnd() {
64
+ return this.field.props.addDuplicateToEnd ?? false;
65
+ }
54
66
  allowRemove(i) {
55
67
  const array = this.model;
56
68
  const value = array[i];
@@ -59,6 +71,14 @@ export class DbxFormRepeatArrayTypeComponent extends FieldArrayType {
59
71
  value
60
72
  });
61
73
  }
74
+ allowDuplicate(i) {
75
+ const array = this.model;
76
+ const value = array[i];
77
+ return this._allowDuplicate()({
78
+ i,
79
+ value
80
+ });
81
+ }
62
82
  get addItemDisabled() {
63
83
  return !this.canAddItem;
64
84
  }
@@ -85,6 +105,15 @@ export class DbxFormRepeatArrayTypeComponent extends FieldArrayType {
85
105
  moveDown(index) {
86
106
  this.swapIndexes(index, index + 1);
87
107
  }
108
+ duplicate(index) {
109
+ const array = this.model;
110
+ const targetValue = array[index];
111
+ if (!targetValue) {
112
+ return;
113
+ }
114
+ const targetIndex = this.addDuplicateToEnd ? array.length : index;
115
+ this.add(targetIndex, targetValue, { markAsDirty: true });
116
+ }
88
117
  swapIndexes(currentIndex, targetIndex) {
89
118
  const array = this.model;
90
119
  const targetValue = array[currentIndex];
@@ -114,7 +143,7 @@ DbxFormRepeatArrayTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
114
143
  <dbx-subsection [header]="label" [hint]="description">
115
144
  <!-- Fields -->
116
145
  <div class="dbx-form-repeat-array-fields" cdkDropList [cdkDropListDisabled]="disableRearrange" (cdkDropListDropped)="drop($event)">
117
- <div class="dbx-form-repeat-array-field" cdkDrag cdkDragLockAxis="y" *ngFor="let field of field.fieldGroup; let i = index; let last = last">
146
+ <div class="dbx-form-repeat-array-field" cdkDrag cdkDragLockAxis="y" *ngFor="let field of field.fieldGroup; trackBy: trackByFunction; let i = index; let last = last">
118
147
  <div class="dbx-form-repeat-array-drag-placeholder" *cdkDragPlaceholder></div>
119
148
  <dbx-bar class="dbx-bar-fixed-height">
120
149
  <button *ngIf="!disableRearrange" cdkDragHandle mat-flat-button><mat-icon>drag_handle</mat-icon></button>
@@ -124,6 +153,7 @@ DbxFormRepeatArrayTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
124
153
  <span>{{ labelForItem(field, i) }}</span>
125
154
  </h4>
126
155
  <span class="dbx-spacer"></span>
156
+ <dbx-button *ngIf="allowDuplicate(i)" [text]="duplicateText" (buttonClick)="duplicate(i)"></dbx-button>
127
157
  <dbx-button *ngIf="allowRemove(i)" color="warn" [text]="removeText" (buttonClick)="remove(i)"></dbx-button>
128
158
  </dbx-bar>
129
159
  <formly-field class="dbx-form-repeat-array-field-content" [field]="field"></formly-field>
@@ -144,7 +174,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
144
174
  <dbx-subsection [header]="label" [hint]="description">
145
175
  <!-- Fields -->
146
176
  <div class="dbx-form-repeat-array-fields" cdkDropList [cdkDropListDisabled]="disableRearrange" (cdkDropListDropped)="drop($event)">
147
- <div class="dbx-form-repeat-array-field" cdkDrag cdkDragLockAxis="y" *ngFor="let field of field.fieldGroup; let i = index; let last = last">
177
+ <div class="dbx-form-repeat-array-field" cdkDrag cdkDragLockAxis="y" *ngFor="let field of field.fieldGroup; trackBy: trackByFunction; let i = index; let last = last">
148
178
  <div class="dbx-form-repeat-array-drag-placeholder" *cdkDragPlaceholder></div>
149
179
  <dbx-bar class="dbx-bar-fixed-height">
150
180
  <button *ngIf="!disableRearrange" cdkDragHandle mat-flat-button><mat-icon>drag_handle</mat-icon></button>
@@ -154,6 +184,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
154
184
  <span>{{ labelForItem(field, i) }}</span>
155
185
  </h4>
156
186
  <span class="dbx-spacer"></span>
187
+ <dbx-button *ngIf="allowDuplicate(i)" [text]="duplicateText" (buttonClick)="duplicate(i)"></dbx-button>
157
188
  <dbx-button *ngIf="allowRemove(i)" color="warn" [text]="removeText" (buttonClick)="remove(i)"></dbx-button>
158
189
  </dbx-bar>
159
190
  <formly-field class="dbx-form-repeat-array-field-content" [field]="field"></formly-field>
@@ -168,4 +199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
168
199
  `
169
200
  }]
170
201
  }] });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvdmFsdWUvYXJyYXkvYXJyYXkuZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFZLFlBQVksRUFBd0Usa0JBQWtCLEVBQVksVUFBVSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ2xNLE9BQU8sRUFBd0IsY0FBYyxFQUF1QyxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7OztBQW1FN0csTUFBTSxPQUFPLCtCQUE2QyxTQUFRLGNBQThEO0lBN0JoSTs7UUE4QlUsbUJBQWMsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFO1lBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7WUFFbEQsSUFBSSxPQUFPLEtBQUssS0FBSyxVQUFVLEVBQUU7Z0JBQy9CLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7aUJBQU07Z0JBQ0wsT0FBTyxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQ2hDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSyxpQkFBWSxHQUF3RCxZQUFZLENBQUMsR0FBRyxFQUFFO1lBQzVGLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUFDO0tBeUdKO0lBdkdDLElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FB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QUMsS0FBSyxDQUFDO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQU0sQ0FBQztRQUU1QixPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUMvQyxDQUFDO1lBQ0QsS0FBSztZQUNMLFdBQVc7U0FDWixDQUFDLENBQUM7SUFDTCxDQUFDOzs0SEFySFUsK0JBQStCO2dIQUEvQiwrQkFBK0IsMkVBNUJoQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQlQ7MkZBRVUsK0JBQStCO2tCQTdCM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc0RlY2lzaW9uRnVuY3Rpb24sIGFzR2V0dGVyLCBjYWNoZWRHZXR0ZXIsIERlY2lzaW9uRnVuY3Rpb24sIEZhY3RvcnlXaXRoSW5wdXQsIEZhY3RvcnlXaXRoUmVxdWlyZWRJbnB1dCwgR2V0dGVyLCBnZXRWYWx1ZUZyb21HZXR0ZXIsIEluZGV4UmVmLCBtYWtlR2V0dGVyLCBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRmllbGRBcnJheVR5cGVDb25maWcsIEZpZWxkQXJyYXlUeXBlLCBGb3JtbHlGaWVsZENvbmZpZywgRm9ybWx5RmllbGRQcm9wcyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZvcm1SZXBlYXRBcnJheVBhaXI8VCA9IHVua25vd24+IGV4dGVuZHMgSW5kZXhSZWYge1xuICB2YWx1ZTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhGb3JtUmVwZWF0QXJyYXlGaWVsZENvbmZpZ1BhaXI8VCA9IHVua25vd24+IGV4dGVuZHMgRGJ4Rm9ybVJlcGVhdEFycmF5UGFpcjxUPiB7XG4gIGZpZWxkQ29uZmlnOiBGb3JtbHlGaWVsZENvbmZpZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhGb3JtUmVwZWF0QXJyYXlDb25maWc8VCA9IHVua25vd24+IGV4dGVuZHMgUGljazxGb3JtbHlGaWVsZFByb3BzLCAnbWF4TGVuZ3RoJyB8ICdsYWJlbCcgfCAnZGVzY3JpcHRpb24nPiB7XG4gIGxhYmVsRm9yRmllbGQ/OiBzdHJpbmcgfCBGYWN0b3J5V2l0aFJlcXVpcmVkSW5wdXQ8c3RyaW5nLCBEYnhGb3JtUmVwZWF0QXJyYXlGaWVsZENvbmZpZ1BhaXI8VD4+O1xuICAvKipcbiAgICogVGV4dCBmb3IgdGhlIGFkZCBidXR0b24uXG4gICAqL1xuICBhZGRUZXh0Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGV4dCBmb3IgdGhlIHJlbW92ZSBidXR0b24uXG4gICAqL1xuICByZW1vdmVUZXh0Pzogc3RyaW5nO1xuICAvKipcbiAgICogV2hldGhlIG9yIG5vdCB0byBkaXNhYmxlIHJlYXJyYW5naW5nIGl0ZW1zLlxuICAgKlxuICAgKiBGYWxzZSBieSBkZWZhdWx0LlxuICAgKi9cbiAgZGlzYWJsZVJlYXJyYW5nZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXZXRoZXIgb3Igbm90IHRvIHNob3cgdGhlIGFkZCBidXR0b24uXG4gICAqXG4gICAqIFRydWUgYnkgZGVmYXVsdC5cbiAgICovXG4gIGFsbG93QWRkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IHJlbW92aW5nIGl0ZW1zLiBDYW4gb3B0aW9uYWxseSBwYXNzIGEgZGVjaXNpb24gZnVuY3Rpb24gdGhhdCBkZWNpZGVzIHdoZXRoZXIgb3Igbm90IGEgc3BlY2lmaWMgaXRlbSBjYW4gYmUgcmVtb3ZlZC5cbiAgICovXG4gIGFsbG93UmVtb3ZlPzogYm9vbGVhbiB8IERlY2lzaW9uRnVuY3Rpb248RGJ4Rm9ybVJlcGVhdEFycmF5UGFpcjxUPj47XG59XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJkYngtZm9ybS1yZXBlYXQtYXJyYXlcIj5cbiAgICAgIDxkYngtc3Vic2VjdGlvbiBbaGVhZGVyXT1cImxhYmVsXCIgW2hpbnRdPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgPCEtLSBGaWVsZHMgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYngtZm9ybS1yZXBlYXQtYXJyYXktZmllbGRzXCIgY2RrRHJvcExpc3QgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiZGlzYWJsZVJlYXJyYW5nZVwiIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRieC1mb3JtLXJlcGVhdC1hcnJheS1maWVsZFwiIGNka0RyYWcgY2RrRHJhZ0xvY2tBeGlzPVwieVwiICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZC5maWVsZEdyb3VwOyBsZXQgaSA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3RcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYngtZm9ybS1yZXBlYXQtYXJyYXktZHJhZy1wbGFjZWhvbGRlclwiICpjZGtEcmFnUGxhY2Vob2xkZXI+PC9kaXY+XG4gICAgICAgICAgICA8ZGJ4LWJhciBjbGFzcz1cImRieC1iYXItZml4ZWQtaGVpZ2h0XCI+XG4gICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhZGlzYWJsZVJlYXJyYW5nZVwiIGNka0RyYWdIYW5kbGUgbWF0LWZsYXQtYnV0dG9uPjxtYXQtaWNvbj5kcmFnX2hhbmRsZTwvbWF0LWljb24+PC9idXR0b24+XG4gICAgICAgICAgICAgIDxkYngtYnV0dG9uLXNwYWNlcj48L2RieC1idXR0b24tc3BhY2VyPlxuICAgICAgICAgICAgICA8aDQ+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXBlYXQtYXJyYXktbnVtYmVyXCI+e3sgaSArIDEgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgbGFiZWxGb3JJdGVtKGZpZWxkLCBpKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYngtc3BhY2VyXCI+PC9zcGFuPlxuICAgICAgICAgICAgICA8ZGJ4LWJ1dHRvbiAqbmdJZj1cImFsbG93UmVtb3ZlKGkpXCIgY29sb3I9XCJ3YXJuXCIgW3RleHRdPVwicmVtb3ZlVGV4dFwiIChidXR0b25DbGljayk9XCJyZW1vdmUoaSlcIj48L2RieC1idXR0b24+XG4gICAgICAgICAgICA8L2RieC1iYXI+XG4gICAgICAgICAgICA8Zm9ybWx5LWZpZWxkIGNsYXNzPVwiZGJ4LWZvcm0tcmVwZWF0LWFycmF5LWZpZWxkLWNvbnRlbnRcIiBbZmllbGRdPVwiZmllbGRcIj48L2Zvcm1seS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gQWRkIEJ1dHRvbiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRieC1mb3JtLXJlcGVhdC1hcnJheS1mb290ZXJcIj5cbiAgICAgICAgICA8ZGJ4LWJ1dHRvbiAqbmdJZj1cImFsbG93QWRkXCIgW3JhaXNlZF09XCJ0cnVlXCIgW2Rpc2FibGVkXT1cImFkZEl0ZW1EaXNhYmxlZFwiIFt0ZXh0XT1cImFkZFRleHRcIiAoYnV0dG9uQ2xpY2spPVwiYWRkKClcIj48L2RieC1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kYngtc3Vic2VjdGlvbj5cbiAgICA8L2Rpdj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBEYnhGb3JtUmVwZWF0QXJyYXlUeXBlQ29tcG9uZW50PFQgPSB1bmtub3duPiBleHRlbmRzIEZpZWxkQXJyYXlUeXBlPEZpZWxkQXJyYXlUeXBlQ29uZmlnPERieEZvcm1SZXBlYXRBcnJheUNvbmZpZz4+IHtcbiAgcHJpdmF0ZSBfbGFiZWxGb3JGaWVsZCA9IGNhY2hlZEdldHRlcigoKSA9PiB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLnJlcGVhdEFycmF5RmllbGQubGFiZWxGb3JGaWVsZDtcblxuICAgIGlmICh0eXBlb2YgaW5wdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBpbnB1dDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG1ha2VHZXR0ZXIoaW5wdXQgPz8gJycpO1xuICAgIH1cbiAgfSk7XG5cbiAgcHJpdmF0ZSBfYWxsb3dSZW1vdmU6IEdldHRlcjxEZWNpc2lvbkZ1bmN0aW9uPERieEZvcm1SZXBlYXRBcnJheVBhaXI8VD4+PiA9IGNhY2hlZEdldHRlcigoKSA9PiB7XG4gICAgcmV0dXJuIGFzRGVjaXNpb25GdW5jdGlvbih0aGlzLmZpZWxkLnByb3BzLmFsbG93UmVtb3ZlLCB0cnVlKTtcbiAgfSk7XG5cbiAgZ2V0IHJlcGVhdEFycmF5RmllbGQoKTogRGJ4Rm9ybVJlcGVhdEFycmF5Q29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5wcm9wcztcbiAgfVxuXG4gIGdldCBsYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzLmxhYmVsID8/ICh0aGlzLmZpZWxkLmtleSBhcyBzdHJpbmcpO1xuICB9XG5cbiAgZ2V0IGRlc2NyaXB0aW9uKCk6IE1heWJlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzLmRlc2NyaXB0aW9uO1xuICB9XG5cbiAgZ2V0IGFkZFRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXBlYXRBcnJheUZpZWxkLmFkZFRleHQgPz8gJ0FkZCc7XG4gIH1cblxuICBnZXQgcmVtb3ZlVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlcGVhdEFycmF5RmllbGQucmVtb3ZlVGV4dCA/PyAnUmVtb3ZlJztcbiAgfVxuXG4gIGdldCBtYXgoKTogTWF5YmU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQucHJvcHMubWF4TGVuZ3RoO1xuICB9XG5cbiAgZ2V0IGNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQuZmllbGRHcm91cD8ubGVuZ3RoID8/IDA7XG4gIH1cblxuICBnZXQgZGlzYWJsZVJlYXJyYW5nZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmZpZWxkLnByb3BzLmRpc2FibGVSZWFycmFuZ2UpO1xuICB9XG5cbiAgZ2V0IGFsbG93QWRkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzLmFsbG93QWRkID8/IHRydWU7XG4gIH1cblxuICBhbGxvd1JlbW92ZShpOiBudW1iZXIpIHtcbiAgICBjb25zdCBhcnJheTogdW5rbm93bltdID0gdGhpcy5tb2RlbDtcbiAgICBjb25zdCB2YWx1ZSA9IGFycmF5W2ldIGFzIFQ7XG4gICAgcmV0dXJuIHRoaXMuX2FsbG93UmVtb3ZlKCkoe1xuICAgICAgaSxcbiAgICAgIHZhbHVlXG4gICAgfSk7XG4gIH1cblxuICBnZXQgYWRkSXRlbURpc2FibGVkKCkge1xuICAgIHJldHVybiAhdGhpcy5jYW5BZGRJdGVtO1xuICB9XG5cbiAgZ2V0IGNhbkFkZEl0ZW0oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbWF4ID0gdGhpcy5tYXg7XG5cbiAgICBpZiAobWF4ID09IG51bGwpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5jb3VudCA8IG1heDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTW92ZXMgdGhlIHRhcmdldCBpbmRleCB1cCBvbmUgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSBpbmRleFxuICAgKi9cbiAgbW92ZVVwKGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN3YXBJbmRleGVzKGluZGV4LCBpbmRleCAtIDEpO1xuICB9XG5cbiAgbW92ZURvd24oaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuc3dhcEluZGV4ZXMoaW5kZXgsIGluZGV4ICsgMSk7XG4gIH1cblxuICBzd2FwSW5kZXhlcyhjdXJyZW50SW5kZXg6IG51bWJlciwgdGFyZ2V0SW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGFycmF5OiB1bmtub3duW10gPSB0aGlzLm1vZGVsO1xuICAgIGNvbnN0IHRhcmdldFZhbHVlID0gYXJyYXlbY3VycmVudEluZGV4XTtcblxuICAgIGlmICghdGFyZ2V0VmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJlbW92ZShjdXJyZW50SW5kZXgpO1xuICAgIHRoaXMuYWRkKHRhcmdldEluZGV4LCB0YXJnZXRWYWx1ZSwgeyBtYXJrQXNEaXJ0eTogdHJ1ZSB9KTtcbiAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgfVxuXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHVua25vd24+KSB7XG4gICAgdGhpcy5zd2FwSW5kZXhlcyhldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICB9XG5cbiAgbGFiZWxGb3JJdGVtKGZpZWxkQ29uZmlnOiBGb3JtbHlGaWVsZENvbmZpZywgaTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBhcnJheTogdW5rbm93bltdID0gdGhpcy5tb2RlbDtcbiAgICBjb25zdCB2YWx1ZSA9IGFycmF5W2ldIGFzIFQ7XG5cbiAgICByZXR1cm4gZ2V0VmFsdWVGcm9tR2V0dGVyKHRoaXMuX2xhYmVsRm9yRmllbGQoKSwge1xuICAgICAgaSxcbiAgICAgIHZhbHVlLFxuICAgICAgZmllbGRDb25maWdcbiAgICB9KTtcbiAgfVxufVxuIl19
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvdmFsdWUvYXJyYXkvYXJyYXkuZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQTJCLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBWSxZQUFZLEVBQXdFLGtCQUFrQixFQUFZLFVBQVUsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNsTSxPQUFPLEVBQXdCLGNBQWMsRUFBdUMsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7QUFnRjdHLE1BQU0sT0FBTywrQkFBNkMsU0FBUSxjQUE4RDtJQTlCaEk7O1FBK0JVLG1CQUFjLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRTtZQUN6QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO1lBRWxELElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFO2dCQUMvQixPQUFPLEtBQUssQ0FBQzthQUNkO2lCQUFNO2dCQUNMLE9BQU8sVUFBVSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQzthQUNoQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUssaUJBQVksR0FBd0QsWUFBWSxDQUFDLEdBQUcsRUFBRTtZQUM1RixPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztRQUVLLG9CQUFlLEdBQXdELFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDL0YsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLElBQUksS0FBSyxFQUFFLEtBQUssQ0FB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QUFTO1FBQ3BELE1BQU0sS0FBSyxHQUFjLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBTSxDQUFDO1FBRTVCLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQy9DLENBQUM7WUFDRCxLQUFLO1lBQ0wsV0FBVztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7OzRIQTFKVSwrQkFBK0I7Z0hBQS9CLCtCQUErQiwyRUE3QmhDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQlQ7MkZBRVUsK0JBQStCO2tCQTlCM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVHJhY2tCeUZ1bmN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc0RlY2lzaW9uRnVuY3Rpb24sIGFzR2V0dGVyLCBjYWNoZWRHZXR0ZXIsIERlY2lzaW9uRnVuY3Rpb24sIEZhY3RvcnlXaXRoSW5wdXQsIEZhY3RvcnlXaXRoUmVxdWlyZWRJbnB1dCwgR2V0dGVyLCBnZXRWYWx1ZUZyb21HZXR0ZXIsIEluZGV4UmVmLCBtYWtlR2V0dGVyLCBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRmllbGRBcnJheVR5cGVDb25maWcsIEZpZWxkQXJyYXlUeXBlLCBGb3JtbHlGaWVsZENvbmZpZywgRm9ybWx5RmllbGRQcm9wcyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZvcm1SZXBlYXRBcnJheVBhaXI8VCA9IHVua25vd24+IGV4dGVuZHMgSW5kZXhSZWYge1xuICB2YWx1ZTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhGb3JtUmVwZWF0QXJyYXlGaWVsZENvbmZpZ1BhaXI8VCA9IHVua25vd24+IGV4dGVuZHMgRGJ4Rm9ybVJlcGVhdEFycmF5UGFpcjxUPiB7XG4gIGZpZWxkQ29uZmlnOiBGb3JtbHlGaWVsZENvbmZpZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhGb3JtUmVwZWF0QXJyYXlDb25maWc8VCA9IHVua25vd24+IGV4dGVuZHMgUGljazxGb3JtbHlGaWVsZFByb3BzLCAnbWF4TGVuZ3RoJyB8ICdsYWJlbCcgfCAnZGVzY3JpcHRpb24nPiB7XG4gIGxhYmVsRm9yRmllbGQ/OiBzdHJpbmcgfCBGYWN0b3J5V2l0aFJlcXVpcmVkSW5wdXQ8c3RyaW5nLCBEYnhGb3JtUmVwZWF0QXJyYXlGaWVsZENvbmZpZ1BhaXI8VD4+O1xuICAvKipcbiAgICogVGV4dCBmb3IgdGhlIGFkZCBidXR0b24uXG4gICAqL1xuICBhZGRUZXh0Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGV4dCBmb3IgdGhlIGR1cGxpY2F0ZSBidXR0b24uXG4gICAqL1xuICBkdXBsaWNhdGVUZXh0Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGV4dCBmb3IgdGhlIHJlbW92ZSBidXR0b24uXG4gICAqL1xuICByZW1vdmVUZXh0Pzogc3RyaW5nO1xuICAvKipcbiAgICogV2hldGhlIG9yIG5vdCB0byBkaXNhYmxlIHJlYXJyYW5naW5nIGl0ZW1zLlxuICAgKlxuICAgKiBGYWxzZSBieSBkZWZhdWx0LlxuICAgKi9cbiAgZGlzYWJsZVJlYXJyYW5nZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXZXRoZXIgb3Igbm90IHRvIHNob3cgdGhlIGFkZCBidXR0b24uXG4gICAqXG4gICAqIFRydWUgYnkgZGVmYXVsdC5cbiAgICovXG4gIGFsbG93QWRkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IGR1cGxpY2F0ZWluZyBpdGVtcy4gQ2FuIG9wdGlvbmFsbHkgcGFzcyBhIGRlY2lzaW9uIGZ1bmN0aW9uIHRoYXQgZGVjaWRlcyB3aGV0aGVyIG9yIG5vdCBhIHNwZWNpZmljIGl0ZW0gY2FuIGJlIHJlbW92ZWQuXG4gICAqL1xuICBhbGxvd0R1cGxpY2F0ZT86IGJvb2xlYW4gfCBEZWNpc2lvbkZ1bmN0aW9uPERieEZvcm1SZXBlYXRBcnJheVBhaXI8VD4+O1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gYWxsb3cgcmVtb3ZpbmcgaXRlbXMuIENhbiBvcHRpb25hbGx5IHBhc3MgYSBkZWNpc2lvbiBmdW5jdGlvbiB0aGF0IGRlY2lkZXMgd2hldGhlciBvciBub3QgYSBzcGVjaWZpYyBpdGVtIGNhbiBiZSByZW1vdmVkLlxuICAgKi9cbiAgYWxsb3dSZW1vdmU/OiBib29sZWFuIHwgRGVjaXNpb25GdW5jdGlvbjxEYnhGb3JtUmVwZWF0QXJyYXlQYWlyPFQ+PjtcbiAgLyoqXG4gICAqIEFkZHMgdGhlIGR1cGxpY2F0ZSB0byB0aGUgZW5kIG9mIHRoZSB2YWx1ZXNcbiAgICovXG4gIGFkZER1cGxpY2F0ZVRvRW5kPzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRieC1mb3JtLXJlcGVhdC1hcnJheVwiPlxuICAgICAgPGRieC1zdWJzZWN0aW9uIFtoZWFkZXJdPVwibGFiZWxcIiBbaGludF09XCJkZXNjcmlwdGlvblwiPlxuICAgICAgICA8IS0tIEZpZWxkcyAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRieC1mb3JtLXJlcGVhdC1hcnJheS1maWVsZHNcIiBjZGtEcm9wTGlzdCBbY2RrRHJvcExpc3REaXNhYmxlZF09XCJkaXNhYmxlUmVhcnJhbmdlXCIgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGJ4LWZvcm0tcmVwZWF0LWFycmF5LWZpZWxkXCIgY2RrRHJhZyBjZGtEcmFnTG9ja0F4aXM9XCJ5XCIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGZpZWxkLmZpZWxkR3JvdXA7IHRyYWNrQnk6IHRyYWNrQnlGdW5jdGlvbjsgbGV0IGkgPSBpbmRleDsgbGV0IGxhc3QgPSBsYXN0XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGJ4LWZvcm0tcmVwZWF0LWFycmF5LWRyYWctcGxhY2Vob2xkZXJcIiAqY2RrRHJhZ1BsYWNlaG9sZGVyPjwvZGl2PlxuICAgICAgICAgICAgPGRieC1iYXIgY2xhc3M9XCJkYngtYmFyLWZpeGVkLWhlaWdodFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWRpc2FibGVSZWFycmFuZ2VcIiBjZGtEcmFnSGFuZGxlIG1hdC1mbGF0LWJ1dHRvbj48bWF0LWljb24+ZHJhZ19oYW5kbGU8L21hdC1pY29uPjwvYnV0dG9uPlxuICAgICAgICAgICAgICA8ZGJ4LWJ1dHRvbi1zcGFjZXI+PC9kYngtYnV0dG9uLXNwYWNlcj5cbiAgICAgICAgICAgICAgPGg0PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVwZWF0LWFycmF5LW51bWJlclwiPnt7IGkgKyAxIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGxhYmVsRm9ySXRlbShmaWVsZCwgaSkgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGJ4LXNwYWNlclwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPGRieC1idXR0b24gKm5nSWY9XCJhbGxvd0R1cGxpY2F0ZShpKVwiIFt0ZXh0XT1cImR1cGxpY2F0ZVRleHRcIiAoYnV0dG9uQ2xpY2spPVwiZHVwbGljYXRlKGkpXCI+PC9kYngtYnV0dG9uPlxuICAgICAgICAgICAgICA8ZGJ4LWJ1dHRvbiAqbmdJZj1cImFsbG93UmVtb3ZlKGkpXCIgY29sb3I9XCJ3YXJuXCIgW3RleHRdPVwicmVtb3ZlVGV4dFwiIChidXR0b25DbGljayk9XCJyZW1vdmUoaSlcIj48L2RieC1idXR0b24+XG4gICAgICAgICAgICA8L2RieC1iYXI+XG4gICAgICAgICAgICA8Zm9ybWx5LWZpZWxkIGNsYXNzPVwiZGJ4LWZvcm0tcmVwZWF0LWFycmF5LWZpZWxkLWNvbnRlbnRcIiBbZmllbGRdPVwiZmllbGRcIj48L2Zvcm1seS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gQWRkIEJ1dHRvbiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRieC1mb3JtLXJlcGVhdC1hcnJheS1mb290ZXJcIj5cbiAgICAgICAgICA8ZGJ4LWJ1dHRvbiAqbmdJZj1cImFsbG93QWRkXCIgW3JhaXNlZF09XCJ0cnVlXCIgW2Rpc2FibGVkXT1cImFkZEl0ZW1EaXNhYmxlZFwiIFt0ZXh0XT1cImFkZFRleHRcIiAoYnV0dG9uQ2xpY2spPVwiYWRkKClcIj48L2RieC1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kYngtc3Vic2VjdGlvbj5cbiAgICA8L2Rpdj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBEYnhGb3JtUmVwZWF0QXJyYXlUeXBlQ29tcG9uZW50PFQgPSB1bmtub3duPiBleHRlbmRzIEZpZWxkQXJyYXlUeXBlPEZpZWxkQXJyYXlUeXBlQ29uZmlnPERieEZvcm1SZXBlYXRBcnJheUNvbmZpZz4+IHtcbiAgcHJpdmF0ZSBfbGFiZWxGb3JGaWVsZCA9IGNhY2hlZEdldHRlcigoKSA9PiB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLnJlcGVhdEFycmF5RmllbGQubGFiZWxGb3JGaWVsZDtcblxuICAgIGlmICh0eXBlb2YgaW5wdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBpbnB1dDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG1ha2VHZXR0ZXIoaW5wdXQgPz8gJycpO1xuICAgIH1cbiAgfSk7XG5cbiAgcHJpdmF0ZSBfYWxsb3dSZW1vdmU6IEdldHRlcjxEZWNpc2lvbkZ1bmN0aW9uPERieEZvcm1SZXBlYXRBcnJheVBhaXI8VD4+PiA9IGNhY2hlZEdldHRlcigoKSA9PiB7XG4gICAgcmV0dXJuIGFzRGVjaXNpb25GdW5jdGlvbih0aGlzLmZpZWxkLnByb3BzLmFsbG93UmVtb3ZlLCB0cnVlKTtcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfYWxsb3dEdXBsaWNhdGU6IEdldHRlcjxEZWNpc2lvbkZ1bmN0aW9uPERieEZvcm1SZXBlYXRBcnJheVBhaXI8VD4+PiA9IGNhY2hlZEdldHRlcigoKSA9PiB7XG4gICAgcmV0dXJuIGFzRGVjaXNpb25GdW5jdGlvbih0aGlzLmZpZWxkLnByb3BzLmFsbG93RHVwbGljYXRlIHx8IGZhbHNlLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGdldCByZXBlYXRBcnJheUZpZWxkKCk6IERieEZvcm1SZXBlYXRBcnJheUNvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQucHJvcHM7XG4gIH1cblxuICBnZXQgbGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5wcm9wcy5sYWJlbCA/PyAodGhpcy5maWVsZC5rZXkgYXMgc3RyaW5nKTtcbiAgfVxuXG4gIGdldCBkZXNjcmlwdGlvbigpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5wcm9wcy5kZXNjcmlwdGlvbjtcbiAgfVxuXG4gIGdldCBkdXBsaWNhdGVUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVwZWF0QXJyYXlGaWVsZC5hZGRUZXh0ID8/ICdEdXBsaWNhdGUnO1xuICB9XG5cbiAgZ2V0IGFkZFRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXBlYXRBcnJheUZpZWxkLmFkZFRleHQgPz8gJ0FkZCc7XG4gIH1cblxuICBnZXQgcmVtb3ZlVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlcGVhdEFycmF5RmllbGQucmVtb3ZlVGV4dCA/PyAnUmVtb3ZlJztcbiAgfVxuXG4gIGdldCBtYXgoKTogTWF5YmU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQucHJvcHMubWF4TGVuZ3RoO1xuICB9XG5cbiAgZ2V0IGNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQuZmllbGRHcm91cD8ubGVuZ3RoID8/IDA7XG4gIH1cblxuICBnZXQgZGlzYWJsZVJlYXJyYW5nZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmZpZWxkLnByb3BzLmRpc2FibGVSZWFycmFuZ2UpO1xuICB9XG5cbiAgZ2V0IGFsbG93QWRkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzLmFsbG93QWRkID8/IHRydWU7XG4gIH1cblxuICBnZXQgYWRkRHVwbGljYXRlVG9FbmQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQucHJvcHMuYWRkRHVwbGljYXRlVG9FbmQgPz8gZmFsc2U7XG4gIH1cblxuICBhbGxvd1JlbW92ZShpOiBudW1iZXIpIHtcbiAgICBjb25zdCBhcnJheTogdW5rbm93bltdID0gdGhpcy5tb2RlbDtcbiAgICBjb25zdCB2YWx1ZSA9IGFycmF5W2ldIGFzIFQ7XG4gICAgcmV0dXJuIHRoaXMuX2FsbG93UmVtb3ZlKCkoe1xuICAgICAgaSxcbiAgICAgIHZhbHVlXG4gICAgfSk7XG4gIH1cblxuICBhbGxvd0R1cGxpY2F0ZShpOiBudW1iZXIpIHtcbiAgICBjb25zdCBhcnJheTogdW5rbm93bltdID0gdGhpcy5tb2RlbDtcbiAgICBjb25zdCB2YWx1ZSA9IGFycmF5W2ldIGFzIFQ7XG4gICAgcmV0dXJuIHRoaXMuX2FsbG93RHVwbGljYXRlKCkoe1xuICAgICAgaSxcbiAgICAgIHZhbHVlXG4gICAgfSk7XG4gIH1cblxuICBnZXQgYWRkSXRlbURpc2FibGVkKCkge1xuICAgIHJldHVybiAhdGhpcy5jYW5BZGRJdGVtO1xuICB9XG5cbiAgZ2V0IGNhbkFkZEl0ZW0oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbWF4ID0gdGhpcy5tYXg7XG5cbiAgICBpZiAobWF4ID09IG51bGwpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5jb3VudCA8IG1heDtcbiAgICB9XG4gIH1cblxuICByZWFkb25seSB0cmFja0J5RnVuY3Rpb246IFRyYWNrQnlGdW5jdGlvbjxGb3JtbHlGaWVsZENvbmZpZz4gPSAoaSwgeCkgPT4ge1xuICAgIHJldHVybiB4LmtleTtcbiAgfTtcblxuICAvKipcbiAgICogTW92ZXMgdGhlIHRhcmdldCBpbmRleCB1cCBvbmUgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSBpbmRleFxuICAgKi9cbiAgbW92ZVVwKGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN3YXBJbmRleGVzKGluZGV4LCBpbmRleCAtIDEpO1xuICB9XG5cbiAgbW92ZURvd24oaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuc3dhcEluZGV4ZXMoaW5kZXgsIGluZGV4ICsgMSk7XG4gIH1cblxuICBkdXBsaWNhdGUoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGFycmF5OiB1bmtub3duW10gPSB0aGlzLm1vZGVsO1xuICAgIGNvbnN0IHRhcmdldFZhbHVlID0gYXJyYXlbaW5kZXhdO1xuXG4gICAgaWYgKCF0YXJnZXRWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRhcmdldEluZGV4ID0gdGhpcy5hZGREdXBsaWNhdGVUb0VuZCA/IGFycmF5Lmxlbmd0aCA6IGluZGV4O1xuICAgIHRoaXMuYWRkKHRhcmdldEluZGV4LCB0YXJnZXRWYWx1ZSwgeyBtYXJrQXNEaXJ0eTogdHJ1ZSB9KTtcbiAgfVxuXG4gIHN3YXBJbmRleGVzKGN1cnJlbnRJbmRleDogbnVtYmVyLCB0YXJnZXRJbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgYXJyYXk6IHVua25vd25bXSA9IHRoaXMubW9kZWw7XG4gICAgY29uc3QgdGFyZ2V0VmFsdWUgPSBhcnJheVtjdXJyZW50SW5kZXhdO1xuXG4gICAgaWYgKCF0YXJnZXRWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVtb3ZlKGN1cnJlbnRJbmRleCk7XG4gICAgdGhpcy5hZGQodGFyZ2V0SW5kZXgsIHRhcmdldFZhbHVlLCB7IG1hcmtBc0RpcnR5OiB0cnVlIH0pO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICB9XG5cbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8dW5rbm93bj4pIHtcbiAgICB0aGlzLnN3YXBJbmRleGVzKGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gIH1cblxuICBsYWJlbEZvckl0ZW0oZmllbGRDb25maWc6IEZvcm1seUZpZWxkQ29uZmlnLCBpOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFycmF5OiB1bmtub3duW10gPSB0aGlzLm1vZGVsO1xuICAgIGNvbnN0IHZhbHVlID0gYXJyYXlbaV0gYXMgVDtcblxuICAgIHJldHVybiBnZXRWYWx1ZUZyb21HZXR0ZXIodGhpcy5fbGFiZWxGb3JGaWVsZCgpLCB7XG4gICAgICBpLFxuICAgICAgdmFsdWUsXG4gICAgICBmaWVsZENvbmZpZ1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { asArray } from '@dereekb/util';
2
2
  import { formlyField, propsAndConfigForFieldConfig } from '../../field';
3
3
  export function repeatArrayField(config) {
4
- const { key, label, description, repeatFieldGroup, maxLength, addText, removeText, labelForField, disableRearrange, allowAdd, allowRemove } = config;
4
+ const { key, label, description, repeatFieldGroup, maxLength, addText, removeText, duplicateText, labelForField, disableRearrange, allowAdd, allowRemove, allowDuplicate, addDuplicateToEnd } = config;
5
5
  return formlyField({
6
6
  key,
7
7
  type: 'repeatarray',
@@ -12,13 +12,16 @@ export function repeatArrayField(config) {
12
12
  labelForField,
13
13
  addText,
14
14
  removeText,
15
+ duplicateText,
15
16
  disableRearrange,
16
17
  allowAdd,
17
- allowRemove
18
+ allowRemove,
19
+ allowDuplicate,
20
+ addDuplicateToEnd
18
21
  }),
19
22
  fieldArray: {
20
23
  fieldGroup: asArray(repeatFieldGroup)
21
24
  }
22
25
  });
23
26
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC92YWx1ZS9hcnJheS9hcnJheS5maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RCxPQUFPLEVBQWUsV0FBVyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBT3JGLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBYyxNQUFpQztJQUM3RSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFckosT0FBTyxXQUFXLENBQUM7UUFDakIsR0FBRztRQUNILElBQUksRUFBRSxhQUFhO1FBQ25CLEdBQUcsNEJBQTRCLENBQUMsTUFBTSxFQUFFO1lBQ3RDLEtBQUs7WUFDTCxXQUFXO1lBQ1gsU0FBUztZQUNULGFBQWE7WUFDYixPQUFPO1lBQ1AsVUFBVTtZQUNWLGdCQUFnQjtZQUNoQixRQUFRO1lBQ1IsV0FBVztTQUNaLENBQUM7UUFDRixVQUFVLEVBQUU7WUFDVixVQUFVLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1NBQ3RDO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFycmF5T3JWYWx1ZSwgYXNBcnJheSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZpZWxkQ29uZmlnLCBmb3JtbHlGaWVsZCwgcHJvcHNBbmRDb25maWdGb3JGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL2ZpZWxkJztcbmltcG9ydCB7IERieEZvcm1SZXBlYXRBcnJheUNvbmZpZyB9IGZyb20gJy4vYXJyYXkuZmllbGQuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBSZXBlYXRBcnJheUZpZWxkQ29uZmlnPFQgPSB1bmtub3duPiBleHRlbmRzIERieEZvcm1SZXBlYXRBcnJheUNvbmZpZzxUPiwgRmllbGRDb25maWcge1xuICByZXBlYXRGaWVsZEdyb3VwOiBBcnJheU9yVmFsdWU8Rm9ybWx5RmllbGRDb25maWc+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwZWF0QXJyYXlGaWVsZDxUID0gdW5rbm93bj4oY29uZmlnOiBSZXBlYXRBcnJheUZpZWxkQ29uZmlnPFQ+KSB7XG4gIGNvbnN0IHsga2V5LCBsYWJlbCwgZGVzY3JpcHRpb24sIHJlcGVhdEZpZWxkR3JvdXAsIG1heExlbmd0aCwgYWRkVGV4dCwgcmVtb3ZlVGV4dCwgbGFiZWxGb3JGaWVsZCwgZGlzYWJsZVJlYXJyYW5nZSwgYWxsb3dBZGQsIGFsbG93UmVtb3ZlIH0gPSBjb25maWc7XG5cbiAgcmV0dXJuIGZvcm1seUZpZWxkKHtcbiAgICBrZXksXG4gICAgdHlwZTogJ3JlcGVhdGFycmF5JyxcbiAgICAuLi5wcm9wc0FuZENvbmZpZ0ZvckZpZWxkQ29uZmlnKGNvbmZpZywge1xuICAgICAgbGFiZWwsXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIG1heExlbmd0aCxcbiAgICAgIGxhYmVsRm9yRmllbGQsXG4gICAgICBhZGRUZXh0LFxuICAgICAgcmVtb3ZlVGV4dCxcbiAgICAgIGRpc2FibGVSZWFycmFuZ2UsXG4gICAgICBhbGxvd0FkZCxcbiAgICAgIGFsbG93UmVtb3ZlXG4gICAgfSksXG4gICAgZmllbGRBcnJheToge1xuICAgICAgZmllbGRHcm91cDogYXNBcnJheShyZXBlYXRGaWVsZEdyb3VwKVxuICAgIH1cbiAgfSk7XG59XG4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC92YWx1ZS9hcnJheS9hcnJheS5maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RCxPQUFPLEVBQWUsV0FBVyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBT3JGLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBYyxNQUFpQztJQUM3RSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUV2TSxPQUFPLFdBQVcsQ0FBQztRQUNqQixHQUFHO1FBQ0gsSUFBSSxFQUFFLGFBQWE7UUFDbkIsR0FBRyw0QkFBNEIsQ0FBQyxNQUFNLEVBQUU7WUFDdEMsS0FBSztZQUNMLFdBQVc7WUFDWCxTQUFTO1lBQ1QsYUFBYTtZQUNiLE9BQU87WUFDUCxVQUFVO1lBQ1YsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixRQUFRO1lBQ1IsV0FBVztZQUNYLGNBQWM7WUFDZCxpQkFBaUI7U0FDbEIsQ0FBQztRQUNGLFVBQVUsRUFBRTtZQUNWLFVBQVUsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUM7U0FDdEM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJyYXlPclZhbHVlLCBhc0FycmF5IH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRmllbGRDb25maWcsIGZvcm1seUZpZWxkLCBwcm9wc0FuZENvbmZpZ0ZvckZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vZmllbGQnO1xuaW1wb3J0IHsgRGJ4Rm9ybVJlcGVhdEFycmF5Q29uZmlnIH0gZnJvbSAnLi9hcnJheS5maWVsZC5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlcGVhdEFycmF5RmllbGRDb25maWc8VCA9IHVua25vd24+IGV4dGVuZHMgRGJ4Rm9ybVJlcGVhdEFycmF5Q29uZmlnPFQ+LCBGaWVsZENvbmZpZyB7XG4gIHJlcGVhdEZpZWxkR3JvdXA6IEFycmF5T3JWYWx1ZTxGb3JtbHlGaWVsZENvbmZpZz47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXBlYXRBcnJheUZpZWxkPFQgPSB1bmtub3duPihjb25maWc6IFJlcGVhdEFycmF5RmllbGRDb25maWc8VD4pIHtcbiAgY29uc3QgeyBrZXksIGxhYmVsLCBkZXNjcmlwdGlvbiwgcmVwZWF0RmllbGRHcm91cCwgbWF4TGVuZ3RoLCBhZGRUZXh0LCByZW1vdmVUZXh0LCBkdXBsaWNhdGVUZXh0LCBsYWJlbEZvckZpZWxkLCBkaXNhYmxlUmVhcnJhbmdlLCBhbGxvd0FkZCwgYWxsb3dSZW1vdmUsIGFsbG93RHVwbGljYXRlLCBhZGREdXBsaWNhdGVUb0VuZCB9ID0gY29uZmlnO1xuXG4gIHJldHVybiBmb3JtbHlGaWVsZCh7XG4gICAga2V5LFxuICAgIHR5cGU6ICdyZXBlYXRhcnJheScsXG4gICAgLi4ucHJvcHNBbmRDb25maWdGb3JGaWVsZENvbmZpZyhjb25maWcsIHtcbiAgICAgIGxhYmVsLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBtYXhMZW5ndGgsXG4gICAgICBsYWJlbEZvckZpZWxkLFxuICAgICAgYWRkVGV4dCxcbiAgICAgIHJlbW92ZVRleHQsXG4gICAgICBkdXBsaWNhdGVUZXh0LFxuICAgICAgZGlzYWJsZVJlYXJyYW5nZSxcbiAgICAgIGFsbG93QWRkLFxuICAgICAgYWxsb3dSZW1vdmUsXG4gICAgICBhbGxvd0R1cGxpY2F0ZSxcbiAgICAgIGFkZER1cGxpY2F0ZVRvRW5kXG4gICAgfSksXG4gICAgZmllbGRBcnJheToge1xuICAgICAgZmllbGRHcm91cDogYXNBcnJheShyZXBlYXRGaWVsZEdyb3VwKVxuICAgIH1cbiAgfSk7XG59XG4iXX0=