@ng-formworks/material 17.5.7 → 17.5.8

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.
@@ -57,6 +57,7 @@ export class FlexLayoutRootComponent {
57
57
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FlexLayoutRootComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
58
58
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: FlexLayoutRootComponent, selector: "flex-layout-root-widget", inputs: { dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, isFlexItem: { classPropertyName: "isFlexItem", publicName: "isFlexItem", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
59
59
  <div cdkDropList (cdkDropListDropped)="drop($event)"
60
+ [class.flex-inherit]="true"
60
61
  >
61
62
  <div *ngFor="let layoutNode of layout(); let i = index"
62
63
  cdkDrag [cdkDragStartDelay]="{touch:1000,mouse:0}"
@@ -81,13 +82,14 @@ export class FlexLayoutRootComponent {
81
82
  [dataIndex]="layoutNode?.arrayItem ? (dataIndex() || []).concat(i) : (dataIndex() || [])"
82
83
  [layoutIndex]="(layoutIndex() || []).concat(i)"
83
84
  [layoutNode]="layoutNode"></select-framework-widget>
84
- <div>
85
- </div>`, isInline: true, styles: [".example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{border:none;box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i3.SelectFrameworkComponent, selector: "select-framework-widget", inputs: ["layoutNode", "layoutIndex", "dataIndex"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
85
+ </div>
86
+ </div>`, isInline: true, styles: [".example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{border:none;box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.flex-inherit{display:inherit;flex-flow:inherit;flex-wrap:inherit;flex-direction:inherit;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i3.SelectFrameworkComponent, selector: "select-framework-widget", inputs: ["layoutNode", "layoutIndex", "dataIndex"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
86
87
  }
87
88
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FlexLayoutRootComponent, decorators: [{
88
89
  type: Component,
89
90
  args: [{ selector: 'flex-layout-root-widget', template: `
90
91
  <div cdkDropList (cdkDropListDropped)="drop($event)"
92
+ [class.flex-inherit]="true"
91
93
  >
92
94
  <div *ngFor="let layoutNode of layout(); let i = index"
93
95
  cdkDrag [cdkDragStartDelay]="{touch:1000,mouse:0}"
@@ -112,7 +114,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
112
114
  [dataIndex]="layoutNode?.arrayItem ? (dataIndex() || []).concat(i) : (dataIndex() || [])"
113
115
  [layoutIndex]="(layoutIndex() || []).concat(i)"
114
116
  [layoutNode]="layoutNode"></select-framework-widget>
115
- <div>
116
- </div>`, changeDetection: ChangeDetectionStrategy.Default, standalone: false, styles: [".example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{border:none;box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
117
+ </div>
118
+ </div>`, changeDetection: ChangeDetectionStrategy.Default, standalone: false, styles: [".example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{border:none;box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.flex-inherit{display:inherit;flex-flow:inherit;flex-wrap:inherit;flex-direction:inherit;width:100%}\n"] }]
117
119
  }] });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleC1sYXlvdXQtcm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtbWF0ZXJpYWwvc3JjL2xpYi93aWRnZXRzL2ZsZXgtbGF5b3V0LXJvb3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUF3RjNELE1BQU0sT0FBTyx1QkFBdUI7SUFyRnBDO1FBc0ZVLFFBQUcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUVuQyxjQUFTLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZDLGdCQUFXLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLFdBQU0sR0FBRyxLQUFLLENBQVEsU0FBUyxDQUFDLENBQUM7UUFDakMsZUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQVFuQyxtQkFBYyxHQUFLO1lBQ2pCLE1BQU0sRUFBQyxrQkFBa0I7WUFDekIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFBLEdBQUcsRUFBQyxFQUFFO1lBR3hCLENBQUM7U0FDRixDQUFBO0tBa0NGO0lBaERDLFFBQVE7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxHQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxVQUFVLENBQUMsSUFBSTtRQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFVRCxZQUFZLENBQUMsUUFBUTtRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQTRCO1FBQy9CLG9GQUFvRjtRQUNwRiwyQkFBMkI7UUFDM0IseUNBQXlDO1FBQ3pDLElBQUksTUFBTSxHQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDL0IsSUFBSSxNQUFNLEdBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUM5QixJQUFJLFVBQVUsR0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsSUFBSSxPQUFPLEdBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN2RyxJQUFJLFNBQVMsR0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDdkQsSUFBSSxPQUFPLEdBQUs7WUFDZCxTQUFTLEVBQUMsR0FBRSxFQUFFLEdBQUMsT0FBTyxPQUFPLENBQUEsQ0FBQSxDQUFDO1lBQzlCLFdBQVcsRUFBQyxHQUFFLEVBQUUsR0FBQyxPQUFPLFNBQVMsQ0FBQSxDQUFBLENBQUM7WUFDbEMsVUFBVSxFQUFDLEdBQUUsRUFBRSxHQUFDLE9BQU8sVUFBVSxDQUFBLENBQUEsQ0FBQztTQUNuQyxDQUFBO1FBQ0QsOERBQThEO1FBQzlELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxtQ0FBbUM7SUFDbkMsa0VBQWtFO0lBQ2xFLGdCQUFnQixDQUFDLElBQVMsRUFBRSxTQUFpQjtRQUMzQyxNQUFNLEtBQUssR0FBRyxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDMUQsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsVUFBVSxDQUFDLFVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDOytHQXREVSx1QkFBdUI7bUdBQXZCLHVCQUF1QiwybEJBbEZ0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBMkJIOzs0RkF1REUsdUJBQXVCO2tCQXJGbkMsU0FBUzsrQkFFSSx5QkFBeUIsWUFDekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQTJCSCxtQkFvRFUsdUJBQXVCLENBQUMsT0FBTyxjQUNwQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJ0BuZy1mb3Jtd29ya3MvY29yZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgICBzZWxlY3RvcjogJ2ZsZXgtbGF5b3V0LXJvb3Qtd2lkZ2V0JyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCIgXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGxheW91dE5vZGUgb2YgbGF5b3V0KCk7IGxldCBpID0gaW5kZXhcIiBcclxuICAgICAgIGNka0RyYWcgIFtjZGtEcmFnU3RhcnREZWxheV09XCJ7dG91Y2g6MTAwMCxtb3VzZTowfVwiXHJcbiAgICAgICAgW2NsYXNzLmZvcm0tZmxleC1pdGVtXT1cImlzRmxleEl0ZW0oKVwiXHJcbiAgICAgICAgW3N0eWxlLmZsZXgtZ3Jvd109XCJnZXRGbGV4QXR0cmlidXRlKGxheW91dE5vZGUsICdmbGV4LWdyb3cnKVwiXHJcbiAgICAgICAgW3N0eWxlLmZsZXgtc2hyaW5rXT1cImdldEZsZXhBdHRyaWJ1dGUobGF5b3V0Tm9kZSwgJ2ZsZXgtc2hyaW5rJylcIlxyXG4gICAgICAgIFtzdHlsZS5mbGV4LWJhc2lzXT1cImdldEZsZXhBdHRyaWJ1dGUobGF5b3V0Tm9kZSwgJ2ZsZXgtYmFzaXMnKVwiXHJcbiAgICAgICAgW3N0eWxlLmFsaWduLXNlbGZdPVwiKGxheW91dE5vZGU/Lm9wdGlvbnMgfHwge30pWydhbGlnbi1zZWxmJ11cIlxyXG4gICAgICAgIFtzdHlsZS5vcmRlcl09XCJsYXlvdXROb2RlPy5vcHRpb25zPy5vcmRlclwiXHJcbiAgICAgICAgW2F0dHIuZnhGbGV4XT1cImxheW91dE5vZGU/Lm9wdGlvbnM/LmZ4RmxleFwiXHJcbiAgICAgICAgW2F0dHIuZnhGbGV4T3JkZXJdPVwibGF5b3V0Tm9kZT8ub3B0aW9ucz8uZnhGbGV4T3JkZXJcIlxyXG4gICAgICAgIFthdHRyLmZ4RmxleE9mZnNldF09XCJsYXlvdXROb2RlPy5vcHRpb25zPy5meEZsZXhPZmZzZXRcIlxyXG4gICAgICAgIFthdHRyLmZ4RmxleEFsaWduXT1cImxheW91dE5vZGU/Lm9wdGlvbnM/LmZ4RmxleEFsaWduXCJcclxuXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwhLS0gd29ya2Fyb3VuZCB0byBkaXNiYWxlIGRyYWdnaW5nIG9mIGlucHV0IGZpZWxkcyAtLT5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwibGF5b3V0Tm9kZT8uZGF0YVR5cGUgIT0nb2JqZWN0J1wiIGNka0RyYWdIYW5kbGU+XHJcbiAgICAgICAgIDxwPjwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8c2VsZWN0LWZyYW1ld29yay13aWRnZXQgKm5nSWY9XCJzaG93V2lkZ2V0KGxheW91dE5vZGUpXCJcclxuICAgICAgIFxyXG4gICAgICAgICAgW2RhdGFJbmRleF09XCJsYXlvdXROb2RlPy5hcnJheUl0ZW0gPyAoZGF0YUluZGV4KCkgfHwgW10pLmNvbmNhdChpKSA6IChkYXRhSW5kZXgoKSB8fCBbXSlcIlxyXG4gICAgICAgICAgW2xheW91dEluZGV4XT1cIihsYXlvdXRJbmRleCgpIHx8IFtdKS5jb25jYXQoaSlcIlxyXG4gICAgICAgICAgW2xheW91dE5vZGVdPVwibGF5b3V0Tm9kZVwiPjwvc2VsZWN0LWZyYW1ld29yay13aWRnZXQ+XHJcbiAgICAgIDxkaXY+XHJcbiAgICA8L2Rpdj5gLFxyXG4gICAgc3R5bGVzOmBcclxuICAgIC5leGFtcGxlLWxpc3Qge1xyXG4gIHdpZHRoOiA1MDBweDtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2NjYztcclxuICBtaW4taGVpZ2h0OiA2MHB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZXhhbXBsZS1ib3gge1xyXG4gIHBhZGRpbmc6IDIwcHggMTBweDtcclxuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2NjYztcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBjdXJzb3I6IG1vdmU7XHJcbiAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4uY2RrLWRyYWctcHJldmlldyB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSxcclxuICAgICAgICAgICAgICAwIDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLFxyXG4gICAgICAgICAgICAgIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XHJcbn1cclxuXHJcbi5jZGstZHJhZy1wbGFjZWhvbGRlciB7XHJcbiAgb3BhY2l0eTogMDtcclxufVxyXG5cclxuLmNkay1kcmFnLWFuaW1hdGluZyB7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xyXG59XHJcblxyXG4uZXhhbXBsZS1ib3g6bGFzdC1jaGlsZCB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4uZXhhbXBsZS1saXN0LmNkay1kcm9wLWxpc3QtZHJhZ2dpbmcgLmV4YW1wbGUtYm94Om5vdCguY2RrLWRyYWctcGxhY2Vob2xkZXIpIHtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XHJcbn1cclxuYCxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGbGV4TGF5b3V0Um9vdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSBqc2YgPSBpbmplY3QoSnNvblNjaGVtYUZvcm1TZXJ2aWNlKTtcclxuXHJcbiAgcmVhZG9ubHkgZGF0YUluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0SW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBsYXlvdXQgPSBpbnB1dDxhbnlbXT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBpc0ZsZXhJdGVtID0gaW5wdXQoZmFsc2UpO1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc29sZS5sb2coXCJkZWJ1ZyBGbGV4TGF5b3V0Um9vdENvbXBvbmVudDpcIit0aGlzKTtcclxuICB9XHJcbiAgcmVtb3ZlSXRlbShpdGVtKSB7XHJcbiAgICB0aGlzLmpzZi5yZW1vdmVJdGVtKGl0ZW0pO1xyXG4gIH1cclxuICBzb3J0YWJsZU9iajogYW55O1xyXG4gIHNvcnRhYmxlQ29uZmlnOmFueT17XHJcbiAgICBmaWx0ZXI6XCIuc29ydGFibGUtZmlsdGVyXCIsLy9uZWVkZWQgdG8gZGlzYWJsZSBkcmFnZ2luZyBvbiBpbnB1dCByYW5nZSBlbGVtZW50cywgY2xhc3MgbmVlZHMgdG8gYmUgYWRkZWQgdG8gdGhlIGVsZW1lbnQgb3IgaXRzIHBhcmVudFxyXG4gICAgcHJldmVudE9uRmlsdGVyOiBmYWxzZSwvL25lZWRlZCBmb3IgaW5wdXQgcmFuZ2UgZWxlbWVudHMgc2xpZGVyIGRvIHN0aWxsIHdvcmtcclxuICAgIG9uRW5kOiAoLyoqRXZlbnQqL2V2dCk9PiB7XHJcblxyXG4gICAgICBcclxuICAgIH1cclxuICB9XHJcbiAgc29ydGFibGVJbml0KHNvcnRhYmxlKSB7XHJcbiAgICB0aGlzLnNvcnRhYmxlT2JqID0gc29ydGFibGU7XHJcbiAgfVxyXG5cclxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcclxuICAgIC8vIG1vc3QgbGlrZWx5IHdoeSB0aGlzIGV2ZW50IGlzIHVzZWQgaXMgdG8gZ2V0IHRoZSBkcmFnZ2luZyBlbGVtZW50J3MgY3VycmVudCBpbmRleFxyXG4gICAgLy8gc2FtZSBwcm9wZXJ0aWVzIGFzIG9uRW5kXHJcbiAgICAvL2NvbnNvbGUubG9nKGBzb3J0YWJsZWpzIGV2ZW50OiR7ZXZ0fWApO1xyXG4gICAgbGV0IHNyY0luZD1ldmVudC5wcmV2aW91c0luZGV4O1xyXG4gICAgbGV0IHRyZ0luZD1ldmVudC5jdXJyZW50SW5kZXg7XHJcbiAgICBsZXQgbGF5b3V0SXRlbT10aGlzLmxheW91dCgpW3RyZ0luZF07XHJcbiAgICBsZXQgZGF0YUluZD1sYXlvdXRJdGVtPy5hcnJheUl0ZW0gPyAodGhpcy5kYXRhSW5kZXgoKSB8fCBbXSkuY29uY2F0KHRyZ0luZCkgOiAodGhpcy5kYXRhSW5kZXgoKSB8fCBbXSk7XHJcbiAgICBsZXQgbGF5b3V0SW5kPSh0aGlzLmxheW91dEluZGV4KCkgfHwgW10pLmNvbmNhdCh0cmdJbmQpXHJcbiAgICBsZXQgaXRlbUN0eDphbnk9e1xyXG4gICAgICBkYXRhSW5kZXg6KCk9PntyZXR1cm4gZGF0YUluZH0sXHJcbiAgICAgIGxheW91dEluZGV4OigpPT57cmV0dXJuIGxheW91dEluZH0sXHJcbiAgICAgIGxheW91dE5vZGU6KCk9PntyZXR1cm4gbGF5b3V0SXRlbX0sXHJcbiAgICB9XHJcbiAgICAvL211c3Qgc2V0IG1vdmVMYXlvdXQgdG8gZmFsc2UgYXMgbnh0U29ydGFibGUgYWxyZWFkeSBtb3ZlcyBpdFxyXG4gICAgdGhpcy5qc2YubW92ZUFycmF5SXRlbShpdGVtQ3R4LCBzcmNJbmQsIHRyZ0luZCx0cnVlKTtcclxuICB9XHJcblxyXG4gIC8vIFNldCBhdHRyaWJ1dGVzIGZvciBmbGV4Ym94IGNoaWxkXHJcbiAgLy8gKGNvbnRhaW5lciBhdHRyaWJ1dGVzIGFyZSBzZXQgaW4gZmxleC1sYXlvdXQtc2VjdGlvbi5jb21wb25lbnQpXHJcbiAgZ2V0RmxleEF0dHJpYnV0ZShub2RlOiBhbnksIGF0dHJpYnV0ZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBpbmRleCA9IFsnZmxleC1ncm93JywgJ2ZsZXgtc2hyaW5rJywgJ2ZsZXgtYmFzaXMnXS5pbmRleE9mKGF0dHJpYnV0ZSk7XHJcbiAgICByZXR1cm4gKChub2RlLm9wdGlvbnMgfHwge30pLmZsZXggfHwgJycpLnNwbGl0KC9cXHMrLylbaW5kZXhdIHx8XHJcbiAgICAgIChub2RlLm9wdGlvbnMgfHwge30pW2F0dHJpYnV0ZV0gfHwgWycxJywgJzEnLCAnYXV0byddW2luZGV4XTtcclxuICB9XHJcblxyXG4gIHNob3dXaWRnZXQobGF5b3V0Tm9kZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5qc2YuZXZhbHVhdGVDb25kaXRpb24obGF5b3V0Tm9kZSwgdGhpcy5kYXRhSW5kZXgoKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleC1sYXlvdXQtcm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtbWF0ZXJpYWwvc3JjL2xpYi93aWRnZXRzL2ZsZXgtbGF5b3V0LXJvb3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFpRzNELE1BQU0sT0FBTyx1QkFBdUI7SUE5RnBDO1FBK0ZVLFFBQUcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUVuQyxjQUFTLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZDLGdCQUFXLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLFdBQU0sR0FBRyxLQUFLLENBQVEsU0FBUyxDQUFDLENBQUM7UUFDakMsZUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQVFuQyxtQkFBYyxHQUFLO1lBQ2pCLE1BQU0sRUFBQyxrQkFBa0I7WUFDekIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFBLEdBQUcsRUFBQyxFQUFFO1lBR3hCLENBQUM7U0FDRixDQUFBO0tBa0NGO0lBaERDLFFBQVE7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxHQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxVQUFVLENBQUMsSUFBSTtRQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFVRCxZQUFZLENBQUMsUUFBUTtRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQTRCO1FBQy9CLG9GQUFvRjtRQUNwRiwyQkFBMkI7UUFDM0IseUNBQXlDO1FBQ3pDLElBQUksTUFBTSxHQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDL0IsSUFBSSxNQUFNLEdBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUM5QixJQUFJLFVBQVUsR0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsSUFBSSxPQUFPLEdBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN2RyxJQUFJLFNBQVMsR0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDdkQsSUFBSSxPQUFPLEdBQUs7WUFDZCxTQUFTLEVBQUMsR0FBRSxFQUFFLEdBQUMsT0FBTyxPQUFPLENBQUEsQ0FBQSxDQUFDO1lBQzlCLFdBQVcsRUFBQyxHQUFFLEVBQUUsR0FBQyxPQUFPLFNBQVMsQ0FBQSxDQUFBLENBQUM7WUFDbEMsVUFBVSxFQUFDLEdBQUUsRUFBRSxHQUFDLE9BQU8sVUFBVSxDQUFBLENBQUEsQ0FBQztTQUNuQyxDQUFBO1FBQ0QsOERBQThEO1FBQzlELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxtQ0FBbUM7SUFDbkMsa0VBQWtFO0lBQ2xFLGdCQUFnQixDQUFDLElBQVMsRUFBRSxTQUFpQjtRQUMzQyxNQUFNLEtBQUssR0FBRyxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDMUQsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsVUFBVSxDQUFDLFVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDOytHQXREVSx1QkFBdUI7bUdBQXZCLHVCQUF1QiwybEJBM0Z0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQTRCSDs7NEZBK0RFLHVCQUF1QjtrQkE5Rm5DLFNBQVM7K0JBRUkseUJBQXlCLFlBQ3pCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBNEJILG1CQTREVSx1QkFBdUIsQ0FBQyxPQUFPLGNBQ3BDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSnNvblNjaGVtYUZvcm1TZXJ2aWNlIH0gZnJvbSAnQG5nLWZvcm13b3Jrcy9jb3JlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICAgIHNlbGVjdG9yOiAnZmxleC1sYXlvdXQtcm9vdC13aWRnZXQnLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIiBcclxuICAgIFtjbGFzcy5mbGV4LWluaGVyaXRdPVwidHJ1ZVwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGxheW91dE5vZGUgb2YgbGF5b3V0KCk7IGxldCBpID0gaW5kZXhcIiBcclxuICAgICAgIGNka0RyYWcgIFtjZGtEcmFnU3RhcnREZWxheV09XCJ7dG91Y2g6MTAwMCxtb3VzZTowfVwiXHJcbiAgICAgICAgW2NsYXNzLmZvcm0tZmxleC1pdGVtXT1cImlzRmxleEl0ZW0oKVwiXHJcbiAgICAgICAgW3N0eWxlLmZsZXgtZ3Jvd109XCJnZXRGbGV4QXR0cmlidXRlKGxheW91dE5vZGUsICdmbGV4LWdyb3cnKVwiXHJcbiAgICAgICAgW3N0eWxlLmZsZXgtc2hyaW5rXT1cImdldEZsZXhBdHRyaWJ1dGUobGF5b3V0Tm9kZSwgJ2ZsZXgtc2hyaW5rJylcIlxyXG4gICAgICAgIFtzdHlsZS5mbGV4LWJhc2lzXT1cImdldEZsZXhBdHRyaWJ1dGUobGF5b3V0Tm9kZSwgJ2ZsZXgtYmFzaXMnKVwiXHJcbiAgICAgICAgW3N0eWxlLmFsaWduLXNlbGZdPVwiKGxheW91dE5vZGU/Lm9wdGlvbnMgfHwge30pWydhbGlnbi1zZWxmJ11cIlxyXG4gICAgICAgIFtzdHlsZS5vcmRlcl09XCJsYXlvdXROb2RlPy5vcHRpb25zPy5vcmRlclwiXHJcbiAgICAgICAgW2F0dHIuZnhGbGV4XT1cImxheW91dE5vZGU/Lm9wdGlvbnM/LmZ4RmxleFwiXHJcbiAgICAgICAgW2F0dHIuZnhGbGV4T3JkZXJdPVwibGF5b3V0Tm9kZT8ub3B0aW9ucz8uZnhGbGV4T3JkZXJcIlxyXG4gICAgICAgIFthdHRyLmZ4RmxleE9mZnNldF09XCJsYXlvdXROb2RlPy5vcHRpb25zPy5meEZsZXhPZmZzZXRcIlxyXG4gICAgICAgIFthdHRyLmZ4RmxleEFsaWduXT1cImxheW91dE5vZGU/Lm9wdGlvbnM/LmZ4RmxleEFsaWduXCJcclxuXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwhLS0gd29ya2Fyb3VuZCB0byBkaXNiYWxlIGRyYWdnaW5nIG9mIGlucHV0IGZpZWxkcyAtLT5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwibGF5b3V0Tm9kZT8uZGF0YVR5cGUgIT0nb2JqZWN0J1wiIGNka0RyYWdIYW5kbGU+XHJcbiAgICAgICAgIDxwPjwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8c2VsZWN0LWZyYW1ld29yay13aWRnZXQgKm5nSWY9XCJzaG93V2lkZ2V0KGxheW91dE5vZGUpXCJcclxuICAgICAgIFxyXG4gICAgICAgICAgW2RhdGFJbmRleF09XCJsYXlvdXROb2RlPy5hcnJheUl0ZW0gPyAoZGF0YUluZGV4KCkgfHwgW10pLmNvbmNhdChpKSA6IChkYXRhSW5kZXgoKSB8fCBbXSlcIlxyXG4gICAgICAgICAgW2xheW91dEluZGV4XT1cIihsYXlvdXRJbmRleCgpIHx8IFtdKS5jb25jYXQoaSlcIlxyXG4gICAgICAgICAgW2xheW91dE5vZGVdPVwibGF5b3V0Tm9kZVwiPjwvc2VsZWN0LWZyYW1ld29yay13aWRnZXQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+YCxcclxuICAgIHN0eWxlczpgXHJcbiAgICAuZXhhbXBsZS1saXN0IHtcclxuICB3aWR0aDogNTAwcHg7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlcjogc29saWQgMXB4ICNjY2M7XHJcbiAgbWluLWhlaWdodDogNjBweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmV4YW1wbGUtYm94IHtcclxuICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjY2M7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgY3Vyc29yOiBtb3ZlO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmNkay1kcmFnLXByZXZpZXcge1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBib3gtc2hhZG93OiAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksXHJcbiAgICAgICAgICAgICAgMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSxcclxuICAgICAgICAgICAgICAwIDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG59XHJcblxyXG4uY2RrLWRyYWctcGxhY2Vob2xkZXIge1xyXG4gIG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi5jZGstZHJhZy1hbmltYXRpbmcge1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcclxufVxyXG5cclxuLmV4YW1wbGUtYm94Omxhc3QtY2hpbGQge1xyXG4gIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLmV4YW1wbGUtbGlzdC5jZGstZHJvcC1saXN0LWRyYWdnaW5nIC5leGFtcGxlLWJveDpub3QoLmNkay1kcmFnLXBsYWNlaG9sZGVyKSB7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xyXG59XHJcbi5mbGV4LWluaGVyaXR7XHJcbiAgICBkaXNwbGF5OmluaGVyaXQ7XHJcbiAgICBmbGV4LWZsb3c6aW5oZXJpdDtcclxuICAgIGZsZXgtd3JhcDppbmhlcml0O1xyXG4gICAgZmxleC1kaXJlY3Rpb246aW5oZXJpdDtcclxuICAgIHdpZHRoOjEwMCVcclxufVxyXG4gICAgXHJcbmAsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmxleExheW91dFJvb3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcblxyXG4gIHJlYWRvbmx5IGRhdGFJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGxheW91dEluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0ID0gaW5wdXQ8YW55W10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgaXNGbGV4SXRlbSA9IGlucHV0KGZhbHNlKTtcclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiZGVidWcgRmxleExheW91dFJvb3RDb21wb25lbnQ6XCIrdGhpcyk7XHJcbiAgfVxyXG4gIHJlbW92ZUl0ZW0oaXRlbSkge1xyXG4gICAgdGhpcy5qc2YucmVtb3ZlSXRlbShpdGVtKTtcclxuICB9XHJcbiAgc29ydGFibGVPYmo6IGFueTtcclxuICBzb3J0YWJsZUNvbmZpZzphbnk9e1xyXG4gICAgZmlsdGVyOlwiLnNvcnRhYmxlLWZpbHRlclwiLC8vbmVlZGVkIHRvIGRpc2FibGUgZHJhZ2dpbmcgb24gaW5wdXQgcmFuZ2UgZWxlbWVudHMsIGNsYXNzIG5lZWRzIHRvIGJlIGFkZGVkIHRvIHRoZSBlbGVtZW50IG9yIGl0cyBwYXJlbnRcclxuICAgIHByZXZlbnRPbkZpbHRlcjogZmFsc2UsLy9uZWVkZWQgZm9yIGlucHV0IHJhbmdlIGVsZW1lbnRzIHNsaWRlciBkbyBzdGlsbCB3b3JrXHJcbiAgICBvbkVuZDogKC8qKkV2ZW50Ki9ldnQpPT4ge1xyXG5cclxuICAgICAgXHJcbiAgICB9XHJcbiAgfVxyXG4gIHNvcnRhYmxlSW5pdChzb3J0YWJsZSkge1xyXG4gICAgdGhpcy5zb3J0YWJsZU9iaiA9IHNvcnRhYmxlO1xyXG4gIH1cclxuXHJcbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KSB7XHJcbiAgICAvLyBtb3N0IGxpa2VseSB3aHkgdGhpcyBldmVudCBpcyB1c2VkIGlzIHRvIGdldCB0aGUgZHJhZ2dpbmcgZWxlbWVudCdzIGN1cnJlbnQgaW5kZXhcclxuICAgIC8vIHNhbWUgcHJvcGVydGllcyBhcyBvbkVuZFxyXG4gICAgLy9jb25zb2xlLmxvZyhgc29ydGFibGVqcyBldmVudDoke2V2dH1gKTtcclxuICAgIGxldCBzcmNJbmQ9ZXZlbnQucHJldmlvdXNJbmRleDtcclxuICAgIGxldCB0cmdJbmQ9ZXZlbnQuY3VycmVudEluZGV4O1xyXG4gICAgbGV0IGxheW91dEl0ZW09dGhpcy5sYXlvdXQoKVt0cmdJbmRdO1xyXG4gICAgbGV0IGRhdGFJbmQ9bGF5b3V0SXRlbT8uYXJyYXlJdGVtID8gKHRoaXMuZGF0YUluZGV4KCkgfHwgW10pLmNvbmNhdCh0cmdJbmQpIDogKHRoaXMuZGF0YUluZGV4KCkgfHwgW10pO1xyXG4gICAgbGV0IGxheW91dEluZD0odGhpcy5sYXlvdXRJbmRleCgpIHx8IFtdKS5jb25jYXQodHJnSW5kKVxyXG4gICAgbGV0IGl0ZW1DdHg6YW55PXtcclxuICAgICAgZGF0YUluZGV4OigpPT57cmV0dXJuIGRhdGFJbmR9LFxyXG4gICAgICBsYXlvdXRJbmRleDooKT0+e3JldHVybiBsYXlvdXRJbmR9LFxyXG4gICAgICBsYXlvdXROb2RlOigpPT57cmV0dXJuIGxheW91dEl0ZW19LFxyXG4gICAgfVxyXG4gICAgLy9tdXN0IHNldCBtb3ZlTGF5b3V0IHRvIGZhbHNlIGFzIG54dFNvcnRhYmxlIGFscmVhZHkgbW92ZXMgaXRcclxuICAgIHRoaXMuanNmLm1vdmVBcnJheUl0ZW0oaXRlbUN0eCwgc3JjSW5kLCB0cmdJbmQsdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvLyBTZXQgYXR0cmlidXRlcyBmb3IgZmxleGJveCBjaGlsZFxyXG4gIC8vIChjb250YWluZXIgYXR0cmlidXRlcyBhcmUgc2V0IGluIGZsZXgtbGF5b3V0LXNlY3Rpb24uY29tcG9uZW50KVxyXG4gIGdldEZsZXhBdHRyaWJ1dGUobm9kZTogYW55LCBhdHRyaWJ1dGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgaW5kZXggPSBbJ2ZsZXgtZ3JvdycsICdmbGV4LXNocmluaycsICdmbGV4LWJhc2lzJ10uaW5kZXhPZihhdHRyaWJ1dGUpO1xyXG4gICAgcmV0dXJuICgobm9kZS5vcHRpb25zIHx8IHt9KS5mbGV4IHx8ICcnKS5zcGxpdCgvXFxzKy8pW2luZGV4XSB8fFxyXG4gICAgICAobm9kZS5vcHRpb25zIHx8IHt9KVthdHRyaWJ1dGVdIHx8IFsnMScsICcxJywgJ2F1dG8nXVtpbmRleF07XHJcbiAgfVxyXG5cclxuICBzaG93V2lkZ2V0KGxheW91dE5vZGU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuanNmLmV2YWx1YXRlQ29uZGl0aW9uKGxheW91dE5vZGUsIHRoaXMuZGF0YUluZGV4KCkpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -233,6 +233,7 @@ class FlexLayoutRootComponent {
233
233
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FlexLayoutRootComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
234
234
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: FlexLayoutRootComponent, selector: "flex-layout-root-widget", inputs: { dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, isFlexItem: { classPropertyName: "isFlexItem", publicName: "isFlexItem", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
235
235
  <div cdkDropList (cdkDropListDropped)="drop($event)"
236
+ [class.flex-inherit]="true"
236
237
  >
237
238
  <div *ngFor="let layoutNode of layout(); let i = index"
238
239
  cdkDrag [cdkDragStartDelay]="{touch:1000,mouse:0}"
@@ -257,13 +258,14 @@ class FlexLayoutRootComponent {
257
258
  [dataIndex]="layoutNode?.arrayItem ? (dataIndex() || []).concat(i) : (dataIndex() || [])"
258
259
  [layoutIndex]="(layoutIndex() || []).concat(i)"
259
260
  [layoutNode]="layoutNode"></select-framework-widget>
260
- <div>
261
- </div>`, isInline: true, styles: [".example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{border:none;box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2$1.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i2.SelectFrameworkComponent, selector: "select-framework-widget", inputs: ["layoutNode", "layoutIndex", "dataIndex"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
261
+ </div>
262
+ </div>`, isInline: true, styles: [".example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{border:none;box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.flex-inherit{display:inherit;flex-flow:inherit;flex-wrap:inherit;flex-direction:inherit;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2$1.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i2.SelectFrameworkComponent, selector: "select-framework-widget", inputs: ["layoutNode", "layoutIndex", "dataIndex"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
262
263
  }
263
264
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FlexLayoutRootComponent, decorators: [{
264
265
  type: Component,
265
266
  args: [{ selector: 'flex-layout-root-widget', template: `
266
267
  <div cdkDropList (cdkDropListDropped)="drop($event)"
268
+ [class.flex-inherit]="true"
267
269
  >
268
270
  <div *ngFor="let layoutNode of layout(); let i = index"
269
271
  cdkDrag [cdkDragStartDelay]="{touch:1000,mouse:0}"
@@ -288,8 +290,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
288
290
  [dataIndex]="layoutNode?.arrayItem ? (dataIndex() || []).concat(i) : (dataIndex() || [])"
289
291
  [layoutIndex]="(layoutIndex() || []).concat(i)"
290
292
  [layoutNode]="layoutNode"></select-framework-widget>
291
- <div>
292
- </div>`, changeDetection: ChangeDetectionStrategy.Default, standalone: false, styles: [".example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{border:none;box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
293
+ </div>
294
+ </div>`, changeDetection: ChangeDetectionStrategy.Default, standalone: false, styles: [".example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{border:none;box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.flex-inherit{display:inherit;flex-flow:inherit;flex-wrap:inherit;flex-direction:inherit;width:100%}\n"] }]
293
295
  }] });
294
296
 
295
297
  class FlexLayoutSectionComponent {
@@ -1 +1 @@
1
- {"version":3,"file":"ng-formworks-material.mjs","sources":["../../../../projects/ng-formworks-material/src/lib/material-design-cssframework.ts","../../../../projects/ng-formworks-material/src/lib/material-design-framework.component.ts","../../../../projects/ng-formworks-material/src/lib/material-design-framework.component.html","../../../../projects/ng-formworks-material/src/lib/widgets/flex-layout-root.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/flex-layout-section.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-add-reference.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-button.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-button-group.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-checkbox.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-checkboxes.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-chip-list.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-datepicker.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-file.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-input.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-number.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-one-of.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-radios.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-select.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-slider.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-stepper.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-tabs.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-textarea.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/public_api.ts","../../../../projects/ng-formworks-material/src/lib/material-design.framework.ts","../../../../projects/ng-formworks-material/src/lib/material-design-framework.module.ts","../../../../projects/ng-formworks-material/src/public_api.ts","../../../../projects/ng-formworks-material/src/ng-formworks-material.ts"],"sourcesContent":["\r\nexport const cssFrameworkCfgMaterialDesign:any={\r\n \"name\": \"material-design\",\r\n \"text\":\"Material Design\",\r\n \"scripts\": [],\r\n \"stylesheets\": [\r\n '//fonts.googleapis.com/icon?family=Material+Icons',\r\n '//fonts.googleapis.com/css?family=Roboto:300,400,500,700',\r\n ],\r\n \"widgetstyles\": {\r\n \"__themes__\": [\r\n {\"name\":\"material_default\",\"text\":\"Default Theme\"},\r\n {\"name\":\"indigo-pink\",\"text\":\"Indigo & Pink\"},\r\n {\"name\":\"purple-green\",\"text\":\"Purple & Green\"},\r\n {\"name\":\"deeppurple-amber\",\"text\":\"Deep Purple & Amber\"},\r\n {\"name\":\"pink-bluegrey\",\"text\":\"Pink & Blue-Grey\"}\r\n ]\r\n }\r\n}\r\n\r\n","import { ChangeDetectorRef, Component, OnChanges, OnDestroy, OnInit, input, inject } from '@angular/core';\r\nimport { FrameworkLibraryService, JsonSchemaFormService, isDefined } from '@ng-formworks/core';\r\nimport { CssframeworkService } from '@ng-formworks/cssframework';\r\nimport cloneDeep from 'lodash/cloneDeep';\r\nimport { Subscription } from 'rxjs';\r\nimport { cssFrameworkCfgMaterialDesign } from './material-design-cssframework';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-design-framework',\r\n templateUrl: './material-design-framework.component.html',\r\n styleUrls: ['./material-design-framework.component.scss'],\r\n //changeDetection:ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MaterialDesignFrameworkComponent implements OnInit, OnChanges ,OnDestroy {\r\n private changeDetector = inject(ChangeDetectorRef);\r\n private jsf = inject(JsonSchemaFormService);\r\n jsfFLService = inject(FrameworkLibraryService);\r\n cssFWService = inject(CssframeworkService);\r\n\r\n frameworkInitialized = false;\r\n inputType: string;\r\n options: any; // Options used in this framework\r\n widgetLayoutNode: any; // layoutNode passed to child widget\r\n widgetOptions: any; // Options passed to child widget\r\n formControl: any = null;\r\n parentArray: any = null;\r\n isOrderable = false;\r\n dynamicTitle: string = null;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n theme:string=\"material-default-theme\";\r\n frameworkThemeSubs:Subscription;\r\n constructor() {\r\n const cssFWService = this.cssFWService;\r\n\r\n let activeFramework:any=this.jsfFLService.activeFramework;\r\n let fwcfg=activeFramework.config||{};\r\n let defaultTheme=cssFrameworkCfgMaterialDesign.widgetstyles?.__themes__[0];\r\n let defaultThemeName=cssFWService.activeRequestedTheme||defaultTheme.name;\r\n this.theme=this.options?.theme|| defaultThemeName;\r\n this.frameworkThemeSubs= cssFWService.frameworkTheme$.subscribe(newTheme=>{\r\n this.theme=newTheme;\r\n })\r\n\r\n\r\n }\r\n ngOnDestroy(): void {\r\n this.frameworkThemeSubs.unsubscribe();\r\n this.frameworkThemeSubs=null;\r\n }\r\n\r\n get showRemoveButton(): boolean {\r\n const layoutNode = this.layoutNode();\r\n if (!layoutNode || !this.widgetOptions.removable ||\r\n this.widgetOptions.readonly || layoutNode.type === '$ref'\r\n ) {\r\n return false;\r\n }\r\n if (layoutNode.recursiveReference) {\r\n return true;\r\n }\r\n if (!layoutNode.arrayItem || !this.parentArray) {\r\n return false;\r\n }\r\n // If array length <= minItems, don't allow removing any items\r\n return this.parentArray.items.length - 1 <= this.parentArray.options.minItems ? false :\r\n // For removable list items, allow removing any item\r\n layoutNode.arrayItemType === 'list' ? true :\r\n // For removable tuple items, only allow removing last item in list\r\n this.layoutIndex()[this.layoutIndex().length - 1] === this.parentArray.items.length - 2;\r\n }\r\n\r\n ngOnInit() {\r\n this.initializeFramework();\r\n }\r\n\r\n ngOnChanges() {\r\n if (!this.frameworkInitialized) {\r\n this.initializeFramework();\r\n }\r\n if (this.dynamicTitle) {\r\n this.updateTitle();\r\n }\r\n }\r\n\r\n initializeFramework() {\r\n const layoutNode = this.layoutNode();\r\n if (layoutNode) {\r\n this.options = cloneDeep(layoutNode.options || {});\r\n this.widgetLayoutNode = {\r\n ...layoutNode,\r\n options: cloneDeep(layoutNode.options || {})\r\n };\r\n this.widgetOptions = this.widgetLayoutNode.options;\r\n this.formControl = this.jsf.getFormControl(this);\r\n\r\n if (\r\n isDefined(this.widgetOptions.minimum) &&\r\n isDefined(this.widgetOptions.maximum) &&\r\n this.widgetOptions.multipleOf >= 1\r\n ) {\r\n layoutNode.type = 'range';\r\n }\r\n\r\n if (\r\n !['$ref', 'advancedfieldset', 'authfieldset', 'button', 'card',\r\n 'checkbox', 'expansion-panel', 'help', 'message', 'msg', 'section',\r\n 'submit', 'tabarray', 'tabs'].includes(layoutNode.type) &&\r\n /{{.+?}}/.test(this.widgetOptions.title || '')\r\n ) {\r\n this.dynamicTitle = this.widgetOptions.title;\r\n this.updateTitle();\r\n }\r\n\r\n if (layoutNode.arrayItem && layoutNode.type !== '$ref') {\r\n this.parentArray = this.jsf.getParentNode(this);\r\n if (this.parentArray) {\r\n this.isOrderable =\r\n this.parentArray.type.slice(0, 3) !== 'tab' &&\r\n layoutNode.arrayItemType === 'list' &&\r\n !this.widgetOptions.readonly &&\r\n this.parentArray.options.orderable;\r\n }\r\n }\r\n\r\n this.frameworkInitialized = true;\r\n } else {\r\n this.options = {};\r\n }\r\n }\r\n\r\n updateTitle() {\r\n this.widgetLayoutNode.options.title = this.jsf.parseText(\r\n this.dynamicTitle,\r\n this.jsf.getFormControlValue(this),\r\n this.jsf.getFormControlGroup(this).value,\r\n this.dataIndex()[this.dataIndex().length - 1]\r\n );\r\n }\r\n\r\n removeItem() {\r\n this.jsf.removeItem(this);\r\n }\r\n}\r\n","<div [class]=\"theme\">\r\n <div class=\"mat-app-background\">\r\n\r\n <!-- commented out to use sortable js\r\n <div [class.array-item]=\"widgetLayoutNode?.arrayItem && widgetLayoutNode?.type !== '$ref'\" \r\n [orderable]=\"isOrderable\" \r\n [dataIndex]=\"dataIndex()\" \r\n [layoutIndex]=\"layoutIndex()\" \r\n [layoutNode]=\"widgetLayoutNode\">\r\n -->\r\n\r\n <div [class.array-item]=\"widgetLayoutNode?.arrayItem && widgetLayoutNode?.type !== '$ref'\" [orderable]=\"false\" [class.sortable-filter]=\"!isOrderable\" [dataIndex]=\"dataIndex()\" [layoutIndex]=\"layoutIndex()\" [layoutNode]=\"widgetLayoutNode\">\r\n <svg *ngIf=\"showRemoveButton\" xmlns=\"http://www.w3.org/2000/svg\" height=\"18\" width=\"18\" viewBox=\"0 0 24 24\" class=\"close-button\" (click)=\"removeItem()\">\r\n <path\r\n d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z\"/>\r\n </svg>\r\n <select-widget-widget [dataIndex]=\"dataIndex()\" [layoutIndex]=\"layoutIndex()\" [layoutNode]=\"widgetLayoutNode\"></select-widget-widget>\r\n </div>\r\n <div class=\"spacer\" *ngIf=\"widgetLayoutNode?.arrayItem && widgetLayoutNode?.type !== '$ref'\"></div>\r\n </div>\r\n</div>","import { CdkDragDrop } from '@angular/cdk/drag-drop';\r\nimport { ChangeDetectionStrategy, Component, inject, input, OnInit } from '@angular/core';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'flex-layout-root-widget',\r\n template: `\r\n <div cdkDropList (cdkDropListDropped)=\"drop($event)\" \r\n >\r\n <div *ngFor=\"let layoutNode of layout(); let i = index\" \r\n cdkDrag [cdkDragStartDelay]=\"{touch:1000,mouse:0}\"\r\n [class.form-flex-item]=\"isFlexItem()\"\r\n [style.flex-grow]=\"getFlexAttribute(layoutNode, 'flex-grow')\"\r\n [style.flex-shrink]=\"getFlexAttribute(layoutNode, 'flex-shrink')\"\r\n [style.flex-basis]=\"getFlexAttribute(layoutNode, 'flex-basis')\"\r\n [style.align-self]=\"(layoutNode?.options || {})['align-self']\"\r\n [style.order]=\"layoutNode?.options?.order\"\r\n [attr.fxFlex]=\"layoutNode?.options?.fxFlex\"\r\n [attr.fxFlexOrder]=\"layoutNode?.options?.fxFlexOrder\"\r\n [attr.fxFlexOffset]=\"layoutNode?.options?.fxFlexOffset\"\r\n [attr.fxFlexAlign]=\"layoutNode?.options?.fxFlexAlign\"\r\n\r\n >\r\n <!-- workaround to disbale dragging of input fields -->\r\n <div *ngIf=\"layoutNode?.dataType !='object'\" cdkDragHandle>\r\n <p></p>\r\n </div>\r\n <select-framework-widget *ngIf=\"showWidget(layoutNode)\"\r\n \r\n [dataIndex]=\"layoutNode?.arrayItem ? (dataIndex() || []).concat(i) : (dataIndex() || [])\"\r\n [layoutIndex]=\"(layoutIndex() || []).concat(i)\"\r\n [layoutNode]=\"layoutNode\"></select-framework-widget>\r\n <div>\r\n </div>`,\r\n styles:`\r\n .example-list {\r\n width: 500px;\r\n max-width: 100%;\r\n border: solid 1px #ccc;\r\n min-height: 60px;\r\n display: block;\r\n background: white;\r\n border-radius: 4px;\r\n overflow: hidden;\r\n}\r\n\r\n.example-box {\r\n padding: 20px 10px;\r\n border-bottom: solid 1px #ccc;\r\n color: rgba(0, 0, 0, 0.87);\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: space-between;\r\n box-sizing: border-box;\r\n cursor: move;\r\n background: white;\r\n font-size: 14px;\r\n}\r\n\r\n.cdk-drag-preview {\r\n border: none;\r\n box-sizing: border-box;\r\n border-radius: 4px;\r\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),\r\n 0 8px 10px 1px rgba(0, 0, 0, 0.14),\r\n 0 3px 14px 2px rgba(0, 0, 0, 0.12);\r\n}\r\n\r\n.cdk-drag-placeholder {\r\n opacity: 0;\r\n}\r\n\r\n.cdk-drag-animating {\r\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\r\n}\r\n\r\n.example-box:last-child {\r\n border: none;\r\n}\r\n\r\n.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\r\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\r\n}\r\n`,\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n standalone: false\r\n})\r\nexport class FlexLayoutRootComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n readonly dataIndex = input<number[]>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly layout = input<any[]>(undefined);\r\n readonly isFlexItem = input(false);\r\n ngOnInit() {\r\n console.log(\"debug FlexLayoutRootComponent:\"+this);\r\n }\r\n removeItem(item) {\r\n this.jsf.removeItem(item);\r\n }\r\n sortableObj: any;\r\n sortableConfig:any={\r\n filter:\".sortable-filter\",//needed to disable dragging on input range elements, class needs to be added to the element or its parent\r\n preventOnFilter: false,//needed for input range elements slider do still work\r\n onEnd: (/**Event*/evt)=> {\r\n\r\n \r\n }\r\n }\r\n sortableInit(sortable) {\r\n this.sortableObj = sortable;\r\n }\r\n\r\n drop(event: CdkDragDrop<string[]>) {\r\n // most likely why this event is used is to get the dragging element's current index\r\n // same properties as onEnd\r\n //console.log(`sortablejs event:${evt}`);\r\n let srcInd=event.previousIndex;\r\n let trgInd=event.currentIndex;\r\n let layoutItem=this.layout()[trgInd];\r\n let dataInd=layoutItem?.arrayItem ? (this.dataIndex() || []).concat(trgInd) : (this.dataIndex() || []);\r\n let layoutInd=(this.layoutIndex() || []).concat(trgInd)\r\n let itemCtx:any={\r\n dataIndex:()=>{return dataInd},\r\n layoutIndex:()=>{return layoutInd},\r\n layoutNode:()=>{return layoutItem},\r\n }\r\n //must set moveLayout to false as nxtSortable already moves it\r\n this.jsf.moveArrayItem(itemCtx, srcInd, trgInd,true);\r\n }\r\n\r\n // Set attributes for flexbox child\r\n // (container attributes are set in flex-layout-section.component)\r\n getFlexAttribute(node: any, attribute: string) {\r\n const index = ['flex-grow', 'flex-shrink', 'flex-basis'].indexOf(attribute);\r\n return ((node.options || {}).flex || '').split(/\\s+/)[index] ||\r\n (node.options || {})[attribute] || ['1', '1', 'auto'][index];\r\n }\r\n\r\n showWidget(layoutNode: any): boolean {\r\n return this.jsf.evaluateCondition(layoutNode, this.dataIndex());\r\n }\r\n}\r\n","import { Component, OnInit, inject, input } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'flex-layout-section-widget',\r\n template: `\r\n\r\n <div *ngIf=\"containerType === 'div'\"\r\n [class]=\"options?.htmlClass || ''\"\r\n [class.expandable]=\"options?.expandable && !expanded\"\r\n [class.expanded]=\"options?.expandable && expanded\">\r\n <label *ngIf=\"sectionTitle\"\r\n [class]=\"'legend ' + (options?.labelHtmlClass || '')\"\r\n [innerHTML]=\"sectionTitle\"\r\n (click)=\"toggleExpanded()\"></label>\r\n <flex-layout-root-widget \r\n [layout]=\"layoutNode().items\"\r\n [dataIndex]=\"dataIndex()\"\r\n [layoutIndex]=\"layoutIndex()\"\r\n [isFlexItem]=\"getFlexAttribute('is-flex')\"\r\n [class.form-flex-column]=\"getFlexAttribute('flex-direction') === 'column'\"\r\n [class.form-flex-row]=\"getFlexAttribute('flex-direction') === 'row'\"\r\n [style.display]=\"!expanded?'none':getFlexAttribute('display')\"\r\n [style.flex-direction]=\"getFlexAttribute('flex-direction')\"\r\n [style.flex-wrap]=\"getFlexAttribute('flex-wrap')\"\r\n [style.justify-content]=\"getFlexAttribute('justify-content')\"\r\n [style.align-items]=\"getFlexAttribute('align-items')\"\r\n [style.align-content]=\"getFlexAttribute('align-content')\"\r\n [attr.fxLayout]=\"getFlexAttribute('layout')\"\r\n [attr.fxLayoutGap]=\"options?.fxLayoutGap\"\r\n [attr.fxLayoutAlign]=\"options?.fxLayoutAlign\"\r\n [attr.fxFlexFill]=\"options?.fxLayoutAlign\"></flex-layout-root-widget>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>\r\n </div>\r\n\r\n <fieldset *ngIf=\"containerType === 'fieldset'\"\r\n [class]=\"options?.htmlClass || ''\"\r\n [class.expandable]=\"options?.expandable && !expanded\"\r\n [class.expanded]=\"options?.expandable && expanded\"\r\n [disabled]=\"options?.readonly\">\r\n <legend *ngIf=\"sectionTitle\"\r\n [class]=\"'legend ' + (options?.labelHtmlClass || '')\"\r\n [innerHTML]=\"sectionTitle\"\r\n (click)=\"toggleExpanded()\"></legend>\r\n <flex-layout-root-widget \r\n [layout]=\"layoutNode().items\"\r\n [dataIndex]=\"dataIndex()\"\r\n [layoutIndex]=\"layoutIndex()\"\r\n [isFlexItem]=\"getFlexAttribute('is-flex')\"\r\n [class.form-flex-column]=\"getFlexAttribute('flex-direction') === 'column'\"\r\n [class.form-flex-row]=\"getFlexAttribute('flex-direction') === 'row'\"\r\n [style.display]=\"!expanded?'none':getFlexAttribute('display')\"\r\n [style.flex-direction]=\"getFlexAttribute('flex-direction')\"\r\n [style.flex-wrap]=\"getFlexAttribute('flex-wrap')\"\r\n [style.justify-content]=\"getFlexAttribute('justify-content')\"\r\n [style.align-items]=\"getFlexAttribute('align-items')\"\r\n [style.align-content]=\"getFlexAttribute('align-content')\"\r\n [attr.fxLayout]=\"getFlexAttribute('layout')\"\r\n [attr.fxLayoutGap]=\"options?.fxLayoutGap\"\r\n [attr.fxLayoutAlign]=\"options?.fxLayoutAlign\"\r\n [attr.attr.fxFlexFill]=\"options?.fxLayoutAlign\"></flex-layout-root-widget>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>\r\n </fieldset>\r\n\r\n <mat-card appearance=\"outlined\" *ngIf=\"containerType === 'card'\"\r\n [ngClass]=\"options?.htmlClass || ''\"\r\n [class.expandable]=\"options?.expandable && !expanded\"\r\n [class.expanded]=\"options?.expandable && expanded\">\r\n <mat-card-header *ngIf=\"sectionTitle\">\r\n <legend\r\n [class]=\"'legend ' + (options?.labelHtmlClass || '')\"\r\n [innerHTML]=\"sectionTitle\"\r\n (click)=\"toggleExpanded()\"></legend>\r\n </mat-card-header>\r\n <mat-card-content >\r\n <fieldset [disabled]=\"options?.readonly\">\r\n <flex-layout-root-widget \r\n [layout]=\"layoutNode().items\"\r\n [dataIndex]=\"dataIndex()\"\r\n [layoutIndex]=\"layoutIndex()\"\r\n [isFlexItem]=\"getFlexAttribute('is-flex')\"\r\n [class.form-flex-column]=\"getFlexAttribute('flex-direction') === 'column'\"\r\n [class.form-flex-row]=\"getFlexAttribute('flex-direction') === 'row'\"\r\n [style.display]=\"!expanded?'none':getFlexAttribute('display')\"\r\n [style.flex-direction]=\"getFlexAttribute('flex-direction')\"\r\n [style.flex-wrap]=\"getFlexAttribute('flex-wrap')\"\r\n [style.justify-content]=\"getFlexAttribute('justify-content')\"\r\n [style.align-items]=\"getFlexAttribute('align-items')\"\r\n [style.align-content]=\"getFlexAttribute('align-content')\"\r\n [attr.fxLayout]=\"getFlexAttribute('layout')\"\r\n [attr.fxLayoutGap]=\"options?.fxLayoutGap\"\r\n [attr.fxLayoutAlign]=\"options?.fxLayoutAlign\"\r\n [attr.fxFlexFill]=\"options?.fxLayoutAlign\"></flex-layout-root-widget>\r\n </fieldset>\r\n </mat-card-content>\r\n <mat-card-footer>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>\r\n </mat-card-footer>\r\n </mat-card>\r\n\r\n <mat-expansion-panel *ngIf=\"containerType === 'expansion-panel'\"\r\n [expanded]=\"expanded\"\r\n [hideToggle]=\"!options?.expandable\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <legend *ngIf=\"sectionTitle\"\r\n [class]=\"options?.labelHtmlClass\"\r\n [innerHTML]=\"sectionTitle\"\r\n (click)=\"toggleExpanded()\"></legend>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <fieldset [disabled]=\"options?.readonly\">\r\n <flex-layout-root-widget \r\n [layout]=\"layoutNode().items\"\r\n [dataIndex]=\"dataIndex()\"\r\n [layoutIndex]=\"layoutIndex()\"\r\n [isFlexItem]=\"getFlexAttribute('is-flex')\"\r\n [class.form-flex-column]=\"getFlexAttribute('flex-direction') === 'column'\"\r\n [class.form-flex-row]=\"getFlexAttribute('flex-direction') === 'row'\"\r\n [style.display]=\"!expanded?'none':getFlexAttribute('display')\"\r\n [style.flex-direction]=\"getFlexAttribute('flex-direction')\"\r\n [style.flex-wrap]=\"getFlexAttribute('flex-wrap')\"\r\n [style.justify-content]=\"getFlexAttribute('justify-content')\"\r\n [style.align-items]=\"getFlexAttribute('align-items')\"\r\n [style.align-content]=\"getFlexAttribute('align-content')\"\r\n [attr.fxLayout]=\"getFlexAttribute('layout')\"\r\n [attr.fxLayoutGap]=\"options?.fxLayoutGap\"\r\n [attr.fxLayoutAlign]=\"options?.fxLayoutAlign\"\r\n [attr.fxFlexFill]=\"options?.fxLayoutAlign\"></flex-layout-root-widget>\r\n </fieldset>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>\r\n </mat-expansion-panel>`,\r\n styles: [`\r\n fieldset { border: 0; margin: 0; padding: 0; }\r\n .legend { font-weight: bold; }\r\n .expandable > .legend:before { content: '▶'; padding-right: .3em; font-family:auto }\r\n .expanded > .legend:before { content: '▼'; padding-right: .2em; }\r\n `],\r\n})\r\nexport class FlexLayoutSectionComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n expanded = true;\r\n containerType = 'div';\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n get sectionTitle() {\r\n return this.options.notitle ? null : this.jsf.setItemTitle(this);\r\n }\r\n\r\n ngOnInit() {\r\n this.jsf.initializeControl(this);\r\n this.options = this.layoutNode().options || {};\r\n this.expanded = typeof this.options.expanded === 'boolean' ?\r\n this.options.expanded : !this.options.expandable;\r\n switch (this.layoutNode().type) {\r\n case 'section': case 'array': case 'fieldset': case 'advancedfieldset':\r\n case 'authfieldset': case 'optionfieldset': case 'selectfieldset':\r\n this.containerType = 'fieldset';\r\n break;\r\n case 'card':\r\n this.containerType = 'card';\r\n break;\r\n case 'expansion-panel':\r\n this.containerType = 'expansion-panel';\r\n break;\r\n default: // 'div', 'flex', 'tab', 'conditional', 'actions'\r\n this.containerType = 'div';\r\n }\r\n }\r\n\r\n toggleExpanded() {\r\n if (this.options.expandable) { this.expanded = !this.expanded; }\r\n }\r\n\r\n // Set attributes for flexbox container\r\n // (child attributes are set in flex-layout-root.component)\r\n getFlexAttribute(attribute: string) {\r\n const flexActive: boolean =\r\n this.layoutNode().type === 'flex' ||\r\n !!this.options.displayFlex ||\r\n this.options.display === 'flex';\r\n // if (attribute !== 'flex' && !flexActive) { return null; }\r\n switch (attribute) {\r\n case 'is-flex':\r\n return flexActive;\r\n case 'display':\r\n return flexActive ? 'flex' : 'initial';\r\n case 'flex-direction': case 'flex-wrap':\r\n const index = ['flex-direction', 'flex-wrap'].indexOf(attribute);\r\n return (this.options['flex-flow'] || '').split(/\\s+/)[index] ||\r\n this.options[attribute] || ['column', 'nowrap'][index];\r\n case 'justify-content': case 'align-items': case 'align-content':\r\n return this.options[attribute];\r\n case 'layout':\r\n return (this.options.fxLayout || 'row') +\r\n this.options.fxLayoutWrap ? ' ' + this.options.fxLayoutWrap : '';\r\n\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnInit, input, inject } from '@angular/core';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-add-reference-widget',\r\n template: `\r\n <section [class]=\"options?.htmlClass || ''\" align=\"end\">\r\n <button mat-raised-button *ngIf=\"showAddButton\"\r\n [color]=\"options?.color || 'accent'\"\r\n [disabled]=\"options?.readonly\"\r\n (click)=\"addItem($event)\">\r\n <span *ngIf=\"options?.icon\" [class]=\"options?.icon\"></span>\r\n <span *ngIf=\"options?.title\" [innerHTML]=\"buttonText\"></span>\r\n </button>\r\n </section>`,\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class MaterialAddReferenceComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n options: any;\r\n itemCount: number;\r\n previousLayoutIndex: number[];\r\n previousDataIndex: number[];\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n }\r\n\r\n get showAddButton(): boolean {\r\n return !this.layoutNode().arrayItem ||\r\n this.layoutIndex()[this.layoutIndex().length - 1] < this.options.maxItems;\r\n }\r\n\r\n addItem(event) {\r\n event.preventDefault();\r\n this.jsf.addItem(this);\r\n }\r\n\r\n get buttonText(): string {\r\n const parent: any = {\r\n dataIndex: this.dataIndex().slice(0, -1),\r\n layoutIndex: this.layoutIndex().slice(0, -1),\r\n layoutNode: this.jsf.getParentNode(this),\r\n };\r\n return parent.layoutNode.add ||\r\n this.jsf.setArrayItemTitle(parent, this.layoutNode(), this.itemCount);\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService, hasOwn } from '@ng-formworks/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-button-widget',\r\n template: `\r\n <div class=\"button-row\" [class]=\"options?.htmlClass || ''\">\r\n <button mat-raised-button\r\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [color]=\"options?.color || 'primary'\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [name]=\"controlName\"\r\n [type]=\"layoutNode()?.type\"\r\n [value]=\"controlValue\"\r\n (click)=\"updateValue($event)\">\r\n <mat-icon *ngIf=\"options?.icon\" class=\"mat-24\">{{options?.icon}}</mat-icon>\r\n <span *ngIf=\"options?.title\" [innerHTML]=\"options?.title\"></span>\r\n </button>\r\n </div>`,\r\n styles: [` button { margin-top: 10px; } `],\r\n})\r\nexport class MaterialButtonComponent implements OnInit,OnDestroy {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n isValidChangesSubs:Subscription;\r\n\r\n ngOnDestroy(): void {\r\n this.isValidChangesSubs?.unsubscribe();\r\n this.isValidChangesSubs=null;\r\n }\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this);\r\n if (hasOwn(this.options, 'disabled')) {\r\n this.controlDisabled = this.options.disabled;\r\n } else if (this.jsf.formOptions.disableInvalidSubmit) {\r\n this.controlDisabled = !this.jsf.isValid;\r\n this.jsf.isValidChanges.subscribe(isValid => this.controlDisabled = !isValid);\r\n }\r\n }\r\n\r\n updateValue(event) {\r\n if (typeof this.options.onClick === 'function') {\r\n this.options.onClick(event);\r\n } else {\r\n this.jsf.updateValue(this, event.target.value);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService, buildTitleMap } from '@ng-formworks/core';\r\n\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-button-group-widget',\r\n template: `\r\n <div>\r\n <div *ngIf=\"options?.title\">\r\n <label\r\n [attr.for]=\"'control' + layoutNode()?._id\"\r\n [class]=\"options?.labelHtmlClass || ''\"\r\n [style.display]=\"options?.notitle ? 'none' : ''\"\r\n [innerHTML]=\"options?.title\"></label>\r\n </div>\r\n <mat-button-toggle-group\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [attr.required]=\"options?.required\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [name]=\"controlName\"\r\n [value]=\"controlValue\"\r\n [vertical]=\"!!options.vertical\">\r\n <mat-button-toggle *ngFor=\"let radioItem of radiosList\"\r\n [id]=\"'control' + layoutNode()?._id + '/' + radioItem?.name\"\r\n [value]=\"radioItem?.value\"\r\n (click)=\"updateValue(radioItem?.value)\">\r\n <span [innerHTML]=\"radioItem?.name\"></span>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>\r\n </div>`,\r\n styles: [` mat-error { font-size: 75%; } `],\r\n})\r\nexport class MaterialButtonGroupComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n radiosList: any[] = [];\r\n vertical = false;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.radiosList = buildTitleMap(\r\n this.options.titleMap || this.options.enumNames,\r\n this.options.enum, true\r\n );\r\n this.jsf.initializeControl(this);\r\n }\r\n\r\n updateValue(value) {\r\n this.options.showErrors = true;\r\n this.jsf.updateValue(this, value);\r\n }\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-checkbox-widget',\r\n template: `\r\n <mat-checkbox *ngIf=\"boundControl && !showSlideToggle\"\r\n [formControl]=\"formControl\"\r\n align=\"left\"\r\n [color]=\"options?.color || 'primary'\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n labelPosition=\"after\"\r\n [name]=\"controlName\"\r\n (blur)=\"options.showErrors = true\">\r\n <span *ngIf=\"options?.title\"\r\n class=\"checkbox-name\"\r\n [style.display]=\"options?.notitle ? 'none' : ''\"\r\n [innerHTML]=\"options?.title\"></span>\r\n </mat-checkbox>\r\n <mat-checkbox *ngIf=\"!boundControl && !showSlideToggle\"\r\n align=\"left\"\r\n [color]=\"options?.color || 'primary'\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n labelPosition=\"after\"\r\n [name]=\"controlName\"\r\n [checked]=\"isChecked\"\r\n (blur)=\"options.showErrors = true\"\r\n (change)=\"updateValue($event)\">\r\n <span *ngIf=\"options?.title\"\r\n class=\"checkbox-name\"\r\n [style.display]=\"options?.notitle ? 'none' : ''\"\r\n [innerHTML]=\"options?.title\"></span>\r\n </mat-checkbox>\r\n <mat-slide-toggle *ngIf=\"boundControl && showSlideToggle\"\r\n [formControl]=\"formControl\"\r\n align=\"left\"\r\n [color]=\"options?.color || 'primary'\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n labelPosition=\"after\"\r\n [name]=\"controlName\"\r\n (blur)=\"options.showErrors = true\">\r\n <span *ngIf=\"options?.title\"\r\n class=\"checkbox-name\"\r\n [style.display]=\"options?.notitle ? 'none' : ''\"\r\n [innerHTML]=\"options?.title\"></span>\r\n </mat-slide-toggle>\r\n <mat-slide-toggle *ngIf=\"!boundControl && showSlideToggle\"\r\n align=\"left\"\r\n [color]=\"options?.color || 'primary'\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n labelPosition=\"after\"\r\n [name]=\"controlName\"\r\n [checked]=\"isChecked\"\r\n (blur)=\"options.showErrors = true\"\r\n (change)=\"updateValue($event)\">\r\n <span *ngIf=\"options?.title\"\r\n class=\"checkbox-name\"\r\n [style.display]=\"options?.notitle ? 'none' : ''\"\r\n [innerHTML]=\"options?.title\"></span>\r\n </mat-slide-toggle>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>`,\r\n styles: [`\r\n .checkbox-name { white-space: nowrap; }\r\n mat-error { font-size: 75%; }\r\n `],\r\n})\r\nexport class MaterialCheckboxComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n trueValue: any = true;\r\n falseValue: any = false;\r\n showSlideToggle = false;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this, !this.options.readonly);\r\n if (this.controlValue === null || this.controlValue === undefined) {\r\n this.controlValue = false;\r\n this.jsf.updateValue(this, this.falseValue);\r\n }\r\n const layoutNode = this.layoutNode();\r\n if (layoutNode.type === 'slide-toggle' ||\r\n layoutNode.format === 'slide-toggle'\r\n ) {\r\n this.showSlideToggle = true;\r\n }\r\n }\r\n\r\n updateValue(event) {\r\n this.options.showErrors = true;\r\n this.jsf.updateValue(this, event.checked ? this.trueValue : this.falseValue);\r\n }\r\n\r\n get isChecked() {\r\n return this.jsf.getFormControlValue(this) === this.trueValue;\r\n }\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService, TitleMapItem, buildTitleMap } from '@ng-formworks/core';\r\n\r\n// TODO: Change this to use a Selection List instead?\r\n// https://material.angular.io/components/list/overview\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-checkboxes-widget',\r\n template: `\r\n <div>\r\n <mat-checkbox type=\"checkbox\"\r\n [checked]=\"allChecked\"\r\n [color]=\"options?.color || 'primary'\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [indeterminate]=\"someChecked\"\r\n [name]=\"options?.name\"\r\n (blur)=\"options.showErrors = true\"\r\n (change)=\"updateAllValues($event)\">\r\n <span class=\"checkbox-name\" [innerHTML]=\"options?.name\"></span>\r\n </mat-checkbox>\r\n <label *ngIf=\"options?.title\"\r\n class=\"title\"\r\n [class]=\"options?.labelHtmlClass || ''\"\r\n [style.display]=\"options?.notitle ? 'none' : ''\"\r\n [innerHTML]=\"options?.title\"></label>\r\n <ul class=\"checkbox-list\" [class.horizontal-list]=\"horizontalList\">\r\n <li *ngFor=\"let checkboxItem of checkboxList\"\r\n [class]=\"options?.htmlClass || ''\">\r\n <mat-checkbox type=\"checkbox\"\r\n [(ngModel)]=\"checkboxItem.checked\"\r\n [color]=\"options?.color || 'primary'\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [name]=\"checkboxItem?.name\"\r\n (blur)=\"options.showErrors = true\"\r\n (change)=\"updateValue()\">\r\n <span class=\"checkbox-name\" [innerHTML]=\"checkboxItem?.name\"></span>\r\n </mat-checkbox>\r\n </li>\r\n </ul>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>\r\n </div>`,\r\n styles: [`\r\n .title { font-weight: bold; }\r\n .checkbox-list { list-style-type: none; }\r\n .horizontal-list > li { display: inline-block; margin-right: 10px; zoom: 1; }\r\n .checkbox-name { white-space: nowrap; }\r\n mat-error { font-size: 75%; }\r\n `],\r\n})\r\nexport class MaterialCheckboxesComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n horizontalList = false;\r\n formArray: AbstractControl;\r\n checkboxList: TitleMapItem[] = [];\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n const layoutNode = this.layoutNode();\r\n this.horizontalList = layoutNode.type === 'checkboxes-inline' ||\r\n layoutNode.type === 'checkboxbuttons';\r\n this.jsf.initializeControl(this);\r\n this.checkboxList = buildTitleMap(\r\n this.options.titleMap || this.options.enumNames, this.options.enum, true\r\n );\r\n if (this.boundControl) {\r\n const formArray = this.jsf.getFormControl(this);\r\n for (const checkboxItem of this.checkboxList) {\r\n checkboxItem.checked = formArray.value.includes(checkboxItem.value);\r\n }\r\n }\r\n }\r\n\r\n get allChecked(): boolean {\r\n return this.checkboxList.filter(t => t.checked).length === this.checkboxList.length;\r\n }\r\n\r\n get someChecked(): boolean {\r\n const checkedItems = this.checkboxList.filter(t => t.checked).length;\r\n return checkedItems > 0 && checkedItems < this.checkboxList.length;\r\n }\r\n\r\n updateValue() {\r\n this.options.showErrors = true;\r\n if (this.boundControl) {\r\n this.jsf.updateArrayCheckboxList(this, this.checkboxList);\r\n }\r\n }\r\n\r\n updateAllValues(event: any) {\r\n this.options.showErrors = true;\r\n this.checkboxList.forEach(t => t.checked = event.checked);\r\n this.updateValue();\r\n }\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n// TODO: Add this control\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-chip-list-widget',\r\n template: ``,\r\n})\r\nexport class MaterialChipListComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this);\r\n }\r\n\r\n updateValue(event) {\r\n this.jsf.updateValue(this, event.target.value);\r\n }\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-datepicker-widget',\r\n template: `\r\n <mat-form-field [appearance]=\"options?.appearance || matFormFieldDefaultOptions?.appearance || 'fill'\"\r\n [class]=\"options?.htmlClass || ''\"\r\n [floatLabel]=\"options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')\"\r\n [hideRequiredMarker]=\"options?.hideRequired ? 'true' : 'false'\"\r\n [style.width]=\"'100%'\">\r\n <mat-label *ngIf=\"!options?.notitle\">{{options?.title}}</mat-label>\r\n <span matPrefix *ngIf=\"options?.prefix || options?.fieldAddonLeft\"\r\n [innerHTML]=\"options?.prefix || options?.fieldAddonLeft\"></span>\r\n <input matInput *ngIf=\"boundControl\"\r\n [formControl]=\"formControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.list]=\"'control' + layoutNode()?._id + 'Autocomplete'\"\r\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [max]=\"options?.maximum\"\r\n [matDatepicker]=\"picker\"\r\n [min]=\"options?.minimum\"\r\n [name]=\"controlName\"\r\n [placeholder]=\"options?.title\"\r\n [readonly]=\"options?.readonly\"\r\n [required]=\"options?.required\"\r\n [style.width]=\"'100%'\"\r\n (blur)=\"options.showErrors = true\"\r\n >\r\n <input matInput *ngIf=\"!boundControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.list]=\"'control' + layoutNode()?._id + 'Autocomplete'\"\r\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [max]=\"options?.maximum\"\r\n [matDatepicker]=\"picker\"\r\n [min]=\"options?.minimum\"\r\n [name]=\"controlName\"\r\n [placeholder]=\"options?.title\"\r\n [required]=\"options?.required\"\r\n [style.width]=\"'100%'\"\r\n [readonly]=\"options?.readonly\"\r\n (blur)=\"options.showErrors = true\"\r\n >\r\n <span matSuffix *ngIf=\"options?.suffix || options?.fieldAddonRight\"\r\n [innerHTML]=\"options?.suffix || options?.fieldAddonRight\"></span>\r\n <mat-hint *ngIf=\"options?.description && (!options?.showErrors || !options?.errorMessage)\"\r\n align=\"end\" [innerHTML]=\"options?.description\"></mat-hint>\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n </mat-form-field>\r\n <mat-datepicker #picker ></mat-datepicker>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>`,\r\n styles: [`\r\n mat-error { font-size: 75%; margin-top: -1rem; margin-bottom: 0.5rem; }\r\n ::ng-deep json-schema-form mat-form-field .mat-mdc-form-field-wrapper .mat-form-field-flex\r\n .mat-form-field-infix { width: initial; }\r\n `],\r\n})\r\nexport class MaterialDatepickerComponent implements OnInit {\r\n matFormFieldDefaultOptions = inject(MAT_FORM_FIELD_DEFAULT_OPTIONS, { optional: true });\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n dateValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n autoCompleteList: string[] = [];\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this, !this.options.readonly);\r\n if (!this.options.notitle && !this.options.description && this.options.placeholder) {\r\n this.options.description = this.options.placeholder;\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n// TODO: Add this control\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-file-widget',\r\n template: ``,\r\n})\r\nexport class MaterialFileComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this);\r\n }\r\n\r\n updateValue(event) {\r\n this.jsf.updateValue(this, event.target.value);\r\n }\r\n}\r\n","import { Component, ElementRef, OnInit, inject, input, viewChild } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-input-widget',\r\n template: `\r\n <mat-form-field [appearance]=\"options?.appearance || matFormFieldDefaultOptions?.appearance || 'fill'\"\r\n [class]=\"options?.htmlClass || ''\" class=\"sortable-filter\"\r\n [floatLabel]=\"options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')\"\r\n [hideRequiredMarker]=\"options?.hideRequired ? 'true' : 'false'\"\r\n [style.width]=\"'100%'\">\r\n <mat-label *ngIf=\"!options?.notitle\">{{options?.title}}</mat-label>\r\n <span matPrefix *ngIf=\"options?.prefix || options?.fieldAddonLeft\"\r\n [innerHTML]=\"options?.prefix || options?.fieldAddonLeft\"></span>\r\n <input #input matInput *ngIf=\"boundControl\"\r\n [formControl]=\"formControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.list]=\"'control' + layoutNode()?._id + 'Autocomplete'\"\r\n [attr.maxlength]=\"options?.maxLength\"\r\n [attr.minlength]=\"options?.minLength\"\r\n [attr.pattern]=\"options?.pattern\"\r\n [readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [name]=\"controlName\"\r\n [placeholder]=\"options?.notitle ? options?.placeholder : options?.title\"\r\n [required]=\"options?.required\"\r\n [type]=\"layoutNode()?.type\"\r\n (blur)=\"options.showErrors = true\"\r\n [attributes]=\"inputAttributes\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (touchstart)=\"onTouchStart($event)\"\r\n >\r\n <input #input matInput *ngIf=\"!boundControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.list]=\"'control' + layoutNode()?._id + 'Autocomplete'\"\r\n [attr.maxlength]=\"options?.maxLength\"\r\n [attr.minlength]=\"options?.minLength\"\r\n [attr.pattern]=\"options?.pattern\"\r\n [disabled]=\"controlDisabled\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [name]=\"controlName\"\r\n [placeholder]=\"options?.notitle ? options?.placeholder : options?.title\"\r\n [readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [required]=\"options?.required\"\r\n [type]=\"layoutNode()?.type\"\r\n [value]=\"controlValue\"\r\n (input)=\"updateValue($event)\"\r\n (blur)=\"options.showErrors = true\"\r\n [attributes]=\"inputAttributes\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (touchstart)=\"onTouchStart($event)\" \r\n >\r\n <span matSuffix *ngIf=\"options?.suffix || options?.fieldAddonRight\"\r\n [innerHTML]=\"options?.suffix || options?.fieldAddonRight\"></span>\r\n <mat-hint *ngIf=\"options?.description && (!options?.showErrors || !options?.errorMessage)\"\r\n align=\"end\" [innerHTML]=\"options?.description\"></mat-hint>\r\n <mat-autocomplete *ngIf=\"options?.typeahead?.source\">\r\n <mat-option *ngFor=\"let word of options?.typeahead?.source\"\r\n [value]=\"word\">{{word}}</mat-option>\r\n </mat-autocomplete>\r\n <button *ngIf=\"layoutNode()?.type=='datetime-local'\" (click)=\"input()?.nativeElement?.showPicker()\" mat-icon-button matIconSuffix>\r\n <mat-icon>calendar_today</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>`,\r\n styles: [`\r\n mat-error { font-size: 75%; margin-top: -1rem; margin-bottom: 0.5rem; }\r\n ::ng-deep json-schema-form mat-form-field .mat-mdc-form-field-wrapper .mat-form-field-flex\r\n .mat-form-field-infix { width: initial; }\r\n input {width:100%;}\r\n /*width of 120% for type 'datetime-local' to hide firefox picker*/ \r\n input[type='datetime-local'] {width:120%;}\r\n `],\r\n})\r\nexport class MaterialInputComponent implements OnInit {\r\n matFormFieldDefaultOptions = inject(MAT_FORM_FIELD_DEFAULT_OPTIONS, { optional: true });\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: string;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n autoCompleteList: string[] = [];\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n \r\n readonly input = viewChild<ElementRef>('input');\r\n\r\n //needed as templates don't accept something like [attributes]=\"options?.['x-inputAttributes']\"\r\n get inputAttributes() {\r\n return this.options?.['x-inputAttributes'];\r\n }\r\n\r\n //TODO review:stopPropagation used as a workaround \r\n //to prevent dragging onMouseDown and onTouchStart events\r\n onMouseDown(e){\r\n e.stopPropagation();\r\n }\r\n\r\n onTouchStart(e){\r\n e.stopPropagation();\r\n }\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this);\r\n if (!this.options.notitle && !this.options.description && this.options.placeholder) {\r\n this.options.description = this.options.placeholder;\r\n }\r\n }\r\n\r\n updateValue(event) {\r\n this.jsf.updateValue(this, event.target.value);\r\n }\r\n\r\n}\r\n","import { Component, OnInit, inject, input } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-number-widget',\r\n template: `\r\n <mat-form-field [appearance]=\"options?.appearance || matFormFieldDefaultOptions?.appearance || 'fill'\"\r\n [class]=\"options?.htmlClass || ''\" class=\"sortable-filter\"\r\n [floatLabel]=\"options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')\"\r\n [hideRequiredMarker]=\"options?.hideRequired ? 'true' : 'false'\"\r\n [style.width]=\"'100%'\">\r\n <mat-label *ngIf=\"!options?.notitle\">{{options?.title}}</mat-label>\r\n <span matPrefix *ngIf=\"options?.prefix || options?.fieldAddonLeft\"\r\n [innerHTML]=\"options?.prefix || options?.fieldAddonLeft\"></span>\r\n <input matInput *ngIf=\"boundControl\"\r\n [formControl]=\"formControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.max]=\"options?.maximum\"\r\n [attr.min]=\"options?.minimum\"\r\n [attr.step]=\"options?.multipleOf || options?.step || 'any'\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [name]=\"controlName\"\r\n [placeholder]=\"options?.notitle ? options?.placeholder : options?.title\"\r\n [readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [required]=\"options?.required\"\r\n [style.width]=\"'100%'\"\r\n [type]=\"'number'\"\r\n (blur)=\"options.showErrors = true\"\r\n [attributes]=\"inputAttributes\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (touchstart)=\"onTouchStart($event)\" \r\n >\r\n <input matInput *ngIf=\"!boundControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.max]=\"options?.maximum\"\r\n [attr.min]=\"options?.minimum\"\r\n [attr.step]=\"options?.multipleOf || options?.step || 'any'\"\r\n [disabled]=\"controlDisabled\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [name]=\"controlName\"\r\n [placeholder]=\"options?.notitle ? options?.placeholder : options?.title\"\r\n [readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [required]=\"options?.required\"\r\n [style.width]=\"'100%'\"\r\n [type]=\"'number'\"\r\n [value]=\"controlValue\"\r\n (input)=\"updateValue($event)\"\r\n (blur)=\"options.showErrors = true\"\r\n [attributes]=\"inputAttributes\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (touchstart)=\"onTouchStart($event)\" \r\n >\r\n <span matSuffix *ngIf=\"options?.suffix || options?.fieldAddonRight\"\r\n [innerHTML]=\"options?.suffix || options?.fieldAddonRight\"></span>\r\n <mat-hint *ngIf=\"layoutNode()?.type === 'range'\" align=\"start\"\r\n [innerHTML]=\"controlValue\"></mat-hint>\r\n <mat-hint *ngIf=\"options?.description && (!options?.showErrors || !options?.errorMessage)\"\r\n align=\"end\" [innerHTML]=\"options?.description\"></mat-hint>\r\n </mat-form-field>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>`,\r\n styles: [`\r\n mat-error { font-size: 75%; margin-top: -1rem; margin-bottom: 0.5rem; }\r\n ::ng-deep json-schema-form mat-form-field .mat-mdc-form-field-wrapper .mat-form-field-flex\r\n .mat-form-field-infix { width: initial; }\r\n `],\r\n})\r\nexport class MaterialNumberComponent implements OnInit {\r\n matFormFieldDefaultOptions = inject(MAT_FORM_FIELD_DEFAULT_OPTIONS, { optional: true });\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n allowNegative = true;\r\n allowDecimal = true;\r\n allowExponents = false;\r\n lastValidNumber = '';\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n //needed as templates don't accept something like [attributes]=\"options?.['x-inputAttributes']\"\r\n get inputAttributes() {\r\n return this.options?.['x-inputAttributes'];\r\n }\r\n \r\n //TODO review:stopPropagation used as a workaround \r\n //to prevent dragging onMouseDown and onTouchStart events\r\n onMouseDown(e){\r\n e.stopPropagation();\r\n }\r\n\r\n onTouchStart(e){\r\n e.stopPropagation();\r\n } \r\n \r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this);\r\n if (this.layoutNode().dataType === 'integer') { this.allowDecimal = false; }\r\n if (!this.options.notitle && !this.options.description && this.options.placeholder) {\r\n this.options.description = this.options.placeholder;\r\n }\r\n }\r\n\r\n updateValue(event) {\r\n this.jsf.updateValue(this, event.target.value);\r\n }\r\n\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n// TODO: Add this control\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-one-of-widget',\r\n template: ``,\r\n})\r\nexport class MaterialOneOfComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this);\r\n }\r\n\r\n updateValue(event) {\r\n this.jsf.updateValue(this, event.target.value);\r\n }\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService, buildTitleMap } from '@ng-formworks/core';\r\n\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-radios-widget',\r\n template: `\r\n <div>\r\n <div *ngIf=\"options?.title\">\r\n <label\r\n [attr.for]=\"'control' + layoutNode()?._id\"\r\n [class]=\"options?.labelHtmlClass || ''\"\r\n [style.display]=\"options?.notitle ? 'none' : ''\"\r\n [innerHTML]=\"options?.title\"></label>\r\n </div>\r\n <mat-radio-group *ngIf=\"boundControl\"\r\n [formControl]=\"formControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [attr.required]=\"options?.required\"\r\n [style.flex-direction]=\"flexDirection\"\r\n [name]=\"controlName\"\r\n (blur)=\"options.showErrors = true\">\r\n <mat-radio-button *ngFor=\"let radioItem of radiosList\"\r\n [id]=\"'control' + layoutNode()?._id + '/' + radioItem?.name\"\r\n [value]=\"radioItem?.value\">\r\n <span [innerHTML]=\"radioItem?.name\"></span>\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n <mat-radio-group *ngIf=\"!boundControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [attr.required]=\"options?.required\"\r\n [style.flex-direction]=\"flexDirection\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [name]=\"controlName\"\r\n [value]=\"controlValue\">\r\n <mat-radio-button *ngFor=\"let radioItem of radiosList\"\r\n [id]=\"'control' + layoutNode()?._id + '/' + radioItem?.name\"\r\n [value]=\"radioItem?.value\"\r\n (click)=\"updateValue(radioItem?.value)\">\r\n <span [innerHTML]=\"radioItem?.name\"></span>\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>\r\n </div>`,\r\n styles: [`\r\n /* TODO(mdc-migration): The following rule targets internal classes of radio that may no longer apply for the MDC version. */\r\n mat-radio-group { display: inline-flex; }\r\n /* TODO(mdc-migration): The following rule targets internal classes of radio that may no longer apply for the MDC version. */\r\n mat-radio-button { margin: 2px; }\r\n mat-error { font-size: 75%; }\r\n `]\r\n})\r\nexport class MaterialRadiosComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n flexDirection = 'column';\r\n radiosList: any[] = [];\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n if (this.layoutNode().type === 'radios-inline') {\r\n this.flexDirection = 'row';\r\n }\r\n this.radiosList = buildTitleMap(\r\n this.options.titleMap || this.options.enumNames,\r\n this.options.enum, true\r\n );\r\n this.jsf.initializeControl(this, !this.options.readonly);\r\n }\r\n\r\n updateValue(value) {\r\n this.options.showErrors = true;\r\n this.jsf.updateValue(this, value);\r\n }\r\n}\r\n","import { Component, OnInit, inject, input } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { JsonSchemaFormService, buildTitleMap, isArray } from '@ng-formworks/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-select-widget',\r\n template: `\r\n <mat-form-field\r\n [appearance]=\"options?.appearance || matFormFieldDefaultOptions?.appearance || 'fill'\"\r\n [class]=\"options?.htmlClass || ''\" class=\"sortable-filter\"\r\n [floatLabel]=\"options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')\"\r\n [hideRequiredMarker]=\"options?.hideRequired ? 'true' : 'false'\"\r\n [style.width]=\"'100%'\">\r\n <mat-label *ngIf=\"!options?.notitle\">{{options?.title}}</mat-label>\r\n <span matPrefix *ngIf=\"options?.prefix || options?.fieldAddonLeft\"\r\n [innerHTML]=\"options?.prefix || options?.fieldAddonLeft\"></span>\r\n <mat-select *ngIf=\"boundControl\"\r\n [formControl]=\"formControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.name]=\"controlName\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [multiple]=\"options?.multiple\"\r\n [placeholder]=\"options?.notitle ? options?.placeholder : options?.title\"\r\n [required]=\"options?.required\"\r\n [style.width]=\"'100%'\"\r\n (blur)=\"options.showErrors = true\">\r\n <ng-template ngFor let-selectItem [ngForOf]=\"selectList\">\r\n <mat-option *ngIf=\"!isArray(selectItem?.items)\"\r\n [value]=\"selectItem?.value\">\r\n <span [innerHTML]=\"selectItem?.name\"></span>\r\n </mat-option>\r\n <mat-optgroup *ngIf=\"isArray(selectItem?.items)\"\r\n [label]=\"selectItem?.group\">\r\n <mat-option *ngFor=\"let subItem of selectItem.items\"\r\n [value]=\"subItem?.value\">\r\n <span [innerHTML]=\"subItem?.name\"></span>\r\n </mat-option>\r\n </mat-optgroup>\r\n </ng-template>\r\n </mat-select>\r\n <mat-select *ngIf=\"!boundControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.name]=\"controlName\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [multiple]=\"options?.multiple\"\r\n [placeholder]=\"options?.notitle ? options?.placeholder : options?.title\"\r\n [required]=\"options?.required\"\r\n [style.width]=\"'100%'\"\r\n [value]=\"controlValue\"\r\n (blur)=\"options.showErrors = true\"\r\n (change)=\"updateValue($event)\">\r\n <ng-template ngFor let-selectItem [ngForOf]=\"selectList\">\r\n <mat-option *ngIf=\"!isArray(selectItem?.items)\"\r\n [attr.selected]=\"selectItem?.value === controlValue\"\r\n [value]=\"selectItem?.value\">\r\n <span [innerHTML]=\"selectItem?.name\"></span>\r\n </mat-option>\r\n <mat-optgroup *ngIf=\"isArray(selectItem?.items)\"\r\n [label]=\"selectItem?.group\">\r\n <mat-option *ngFor=\"let subItem of selectItem.items\"\r\n [attr.selected]=\"subItem?.value === controlValue\"\r\n [value]=\"subItem?.value\">\r\n <span [innerHTML]=\"subItem?.name\"></span>\r\n </mat-option>\r\n </mat-optgroup>\r\n </ng-template>\r\n </mat-select>\r\n <span matSuffix *ngIf=\"options?.suffix || options?.fieldAddonRight\"\r\n [innerHTML]=\"options?.suffix || options?.fieldAddonRight\"></span>\r\n <mat-hint *ngIf=\"options?.description && (!options?.showErrors || !options?.errorMessage)\"\r\n align=\"end\" [innerHTML]=\"options?.description\"></mat-hint>\r\n </mat-form-field>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>`,\r\n styles: [`\r\n mat-error { font-size: 75%; margin-top: -1rem; margin-bottom: 0.5rem; }\r\n ::ng-deep json-schema-form mat-form-field .mat-mdc-form-field-wrapper .mat-form-field-flex\r\n .mat-form-field-infix { width: initial; }\r\n `],\r\n})\r\nexport class MaterialSelectComponent implements OnInit {\r\n matFormFieldDefaultOptions = inject(MAT_FORM_FIELD_DEFAULT_OPTIONS, { optional: true });\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n selectList: any[] = [];\r\n isArray = isArray;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.selectList = buildTitleMap(\r\n this.options.titleMap || this.options.enumNames,\r\n this.options.enum, !!this.options.required, !!this.options.flatList\r\n );\r\n this.jsf.initializeControl(this, !this.options.readonly);\r\n if (!this.options.notitle && !this.options.description && this.options.placeholder) {\r\n this.options.description = this.options.placeholder;\r\n }\r\n }\r\n\r\n updateValue(event) {\r\n this.options.showErrors = true;\r\n this.jsf.updateValue(this, event.value);\r\n }\r\n}\r\n","import { Component, OnInit, inject, input } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-slider-widget',\r\n template: `\r\n\r\n <mat-slider discrete *ngIf=\"boundControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [max]=\"options?.maximum\"\r\n [min]=\"options?.minimum\"\r\n [step]=\"options?.multipleOf || options?.step || 'any'\"\r\n [style.width]=\"'100%'\"\r\n class=\"sortable-filter\"\r\n (blur)=\"options.showErrors = true\">\r\n <input matSliderThumb [formControl]=\"formControl\" \r\n [attributes]=\"inputAttributes\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (touchstart)=\"onTouchStart($event)\"\r\n \r\n />\r\n </mat-slider>\r\n <mat-slider discrete *ngIf=\"!boundControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [max]=\"options?.maximum\"\r\n [min]=\"options?.minimum\"\r\n [step]=\"options?.multipleOf || options?.step || 'any'\"\r\n [style.width]=\"'100%'\"\r\n class=\"sortable-filter\"\r\n (blur)=\"options.showErrors = true\" #ngSlider>\r\n <input matSliderThumb [value]=\"controlValue\" \r\n (change)=\"updateValue({source: ngSliderThumb, parent: ngSlider, value: ngSliderThumb.value})\"\r\n #ngSliderThumb=\"matSliderThumb\" \r\n [attributes]=\"inputAttributes\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (touchstart)=\"onTouchStart($event)\"\r\n\r\n />\r\n </mat-slider>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>`,\r\n styles: [` mat-error { font-size: 75%; } `],\r\n})\r\nexport class MaterialSliderComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n allowNegative = true;\r\n allowDecimal = true;\r\n allowExponents = false;\r\n lastValidNumber = '';\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n //needed as templates don't accept something like [attributes]=\"options?.['x-inputAttributes']\"\r\n get inputAttributes() {\r\n return this.options?.['x-inputAttributes'];\r\n }\r\n\r\n //TODO review:stopPropagation used as a workaround \r\n //to prevent dragging onMouseDown and onTouchStart events\r\n onMouseDown(e){\r\n e.stopPropagation();\r\n }\r\n\r\n onTouchStart(e){\r\n e.stopPropagation();\r\n }\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this, !this.options.readonly);\r\n }\r\n\r\n updateValue(event) {\r\n this.options.showErrors = true;\r\n this.jsf.updateValue(this, event.value);\r\n }\r\n\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n// TODO: Add this control\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-stepper-widget',\r\n template: ``,\r\n})\r\nexport class MaterialStepperComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this);\r\n }\r\n\r\n updateValue(event) {\r\n this.jsf.updateValue(this, event.target.value);\r\n }\r\n}\r\n","import { Component, OnInit, input, signal, inject } from '@angular/core';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-tabs-widget',\r\n template: `\r\n <nav mat-tab-nav-bar [tabPanel]=\"tabPanel\"\r\n [attr.aria-label]=\"options?.label || options?.title || ''\"\r\n [style.width]=\"'100%'\">\r\n <a mat-tab-link *ngFor=\"let item of layoutNode()?.items; let i = index\"\r\n [active]=\"selectedItem === i\"\r\n (click)=\"select(i)\">\r\n <span *ngIf=\"showAddTab || item.type !== '$ref'\"\r\n [innerHTML]=\"setTabTitle(item, i)\"></span>\r\n </a>\r\n </nav>\r\n <mat-tab-nav-panel #tabPanel>\r\n <div *ngFor=\"let layoutItem of layoutNode()?.items; let i = index\"\r\n [class]=\"options?.htmlClass || ''\">\r\n <select-framework-widget *ngIf=\"selectedItem === i\"\r\n [class]=\"(options?.fieldHtmlClass || '') + ' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')\"\r\n [dataIndex]=\"layoutNode()?.dataType === 'array' ? (dataIndex() || []).concat(i) : dataIndex()\"\r\n [layoutIndex]=\"(layoutIndex() || []).concat(i)\"\r\n [layoutNode]=\"layoutItem\"></select-framework-widget>\r\n </div>\r\n </mat-tab-nav-panel>\r\n`,\r\n styles: [` a { cursor: pointer; } `],\r\n})\r\nexport class MaterialTabsComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n options: any;\r\n itemCount: number;\r\n selectedItem = 0;\r\n showAddTab = true;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.itemCount = this.layoutNode().items.length - 1;\r\n this.updateControl();\r\n }\r\n\r\n select(index) {\r\n const layoutNode = this.layoutNode();\r\n if (layoutNode.items[index].type === '$ref') {\r\n this.jsf.addItem({\r\n layoutNode: signal(layoutNode.items[index]),\r\n layoutIndex: signal(this.layoutIndex().concat(index)),\r\n dataIndex: signal(this.dataIndex().concat(index))\r\n });\r\n this.updateControl();\r\n }\r\n this.selectedItem = index;\r\n }\r\n\r\n updateControl() {\r\n this.itemCount = this.layoutNode().items.length - 1;\r\n const lastItem = this.layoutNode().items[this.layoutNode().items.length - 1];\r\n this.showAddTab = lastItem.type === '$ref' &&\r\n this.itemCount < (lastItem.options.maxItems || 1000);\r\n }\r\n\r\n setTabTitle(item: any, index: number): string {\r\n return this.jsf.setArrayItemTitle(this, item, index);\r\n }\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-textarea-widget',\r\n template: `\r\n <mat-form-field [appearance]=\"options?.appearance || matFormFieldDefaultOptions?.appearance || 'fill'\"\r\n [class]=\"options?.htmlClass || ''\"\r\n [floatLabel]=\"options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')\"\r\n [hideRequiredMarker]=\"options?.hideRequired ? 'true' : 'false'\"\r\n [style.width]=\"'100%'\">\r\n <mat-label *ngIf=\"!options?.notitle\">{{options?.title}}</mat-label>\r\n <span matPrefix *ngIf=\"options?.prefix || options?.fieldAddonLeft\"\r\n [innerHTML]=\"options?.prefix || options?.fieldAddonLeft\"></span>\r\n <textarea matInput *ngIf=\"boundControl\"\r\n [formControl]=\"formControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.list]=\"'control' + layoutNode()?._id + 'Autocomplete'\"\r\n [attr.maxlength]=\"options?.maxLength\"\r\n [attr.minlength]=\"options?.minLength\"\r\n [attr.pattern]=\"options?.pattern\"\r\n [required]=\"options?.required\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [name]=\"controlName\"\r\n [placeholder]=\"options?.notitle ? options?.placeholder : options?.title\"\r\n [readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [style.width]=\"'100%'\"\r\n (blur)=\"options.showErrors = true\"></textarea>\r\n <textarea matInput *ngIf=\"!boundControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.list]=\"'control' + layoutNode()?._id + 'Autocomplete'\"\r\n [attr.maxlength]=\"options?.maxLength\"\r\n [attr.minlength]=\"options?.minLength\"\r\n [attr.pattern]=\"options?.pattern\"\r\n [required]=\"options?.required\"\r\n [disabled]=\"controlDisabled\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [name]=\"controlName\"\r\n [placeholder]=\"options?.notitle ? options?.placeholder : options?.title\"\r\n [readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [style.width]=\"'100%'\"\r\n [value]=\"controlValue\"\r\n (input)=\"updateValue($event)\"\r\n (blur)=\"options.showErrors = true\"></textarea>\r\n <span matSuffix *ngIf=\"options?.suffix || options?.fieldAddonRight\"\r\n [innerHTML]=\"options?.suffix || options?.fieldAddonRight\"></span>\r\n <mat-hint *ngIf=\"options?.description && (!options?.showErrors || !options?.errorMessage)\"\r\n align=\"end\" [innerHTML]=\"options?.description\"></mat-hint>\r\n </mat-form-field>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>`,\r\n styles: [`\r\n mat-error { font-size: 75%; margin-top: -1rem; margin-bottom: 0.5rem; }\r\n ::ng-deep json-schema-form mat-form-field .mat-mdc-form-field-wrapper .mat-form-field-flex\r\n .mat-form-field-infix { width: initial; }\r\n `],\r\n})\r\nexport class MaterialTextareaComponent implements OnInit {\r\n matFormFieldDefaultOptions = inject(MAT_FORM_FIELD_DEFAULT_OPTIONS, { optional: true });\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this);\r\n if (!this.options.notitle && !this.options.description && this.options.placeholder) {\r\n this.options.description = this.options.placeholder;\r\n }\r\n }\r\n\r\n updateValue(event) {\r\n this.jsf.updateValue(this, event.target.value);\r\n }\r\n}\r\n","import { FlexLayoutRootComponent } from './flex-layout-root.component';\r\nimport { FlexLayoutSectionComponent } from './flex-layout-section.component';\r\nimport { MaterialAddReferenceComponent } from './material-add-reference.component';\r\nimport { MaterialButtonComponent } from './material-button.component';\r\nimport { MaterialButtonGroupComponent } from './material-button-group.component';\r\nimport { MaterialCheckboxComponent } from './material-checkbox.component';\r\nimport { MaterialCheckboxesComponent } from './material-checkboxes.component';\r\nimport { MaterialChipListComponent } from './material-chip-list.component';\r\nimport { MaterialDatepickerComponent } from './material-datepicker.component';\r\nimport { MaterialDesignFrameworkComponent } from '../material-design-framework.component';\r\nimport { MaterialFileComponent } from './material-file.component';\r\nimport { MaterialInputComponent } from './material-input.component';\r\nimport { MaterialNumberComponent } from './material-number.component';\r\nimport { MaterialOneOfComponent } from './material-one-of.component';\r\nimport { MaterialRadiosComponent } from './material-radios.component';\r\nimport { MaterialSelectComponent } from './material-select.component';\r\nimport { MaterialSliderComponent } from './material-slider.component';\r\nimport { MaterialStepperComponent } from './material-stepper.component';\r\nimport { MaterialTabsComponent } from './material-tabs.component';\r\nimport { MaterialTextareaComponent } from './material-textarea.component';\r\n\r\n\r\nexport const MATERIAL_FRAMEWORK_COMPONENTS = [\r\n FlexLayoutRootComponent, FlexLayoutSectionComponent,\r\n MaterialAddReferenceComponent, MaterialOneOfComponent,\r\n MaterialButtonComponent, MaterialButtonGroupComponent,\r\n MaterialCheckboxComponent, MaterialCheckboxesComponent,\r\n MaterialChipListComponent, MaterialDatepickerComponent,\r\n MaterialFileComponent, MaterialInputComponent, MaterialNumberComponent,\r\n MaterialRadiosComponent, MaterialSelectComponent, MaterialSliderComponent,\r\n MaterialStepperComponent, MaterialTabsComponent, MaterialTextareaComponent,\r\n MaterialDesignFrameworkComponent\r\n];\r\n\r\nexport { FlexLayoutRootComponent } from './flex-layout-root.component';\r\nexport { FlexLayoutSectionComponent } from './flex-layout-section.component';\r\nexport { MaterialAddReferenceComponent } from './material-add-reference.component';\r\nexport { MaterialOneOfComponent } from './material-one-of.component';\r\nexport { MaterialButtonComponent } from './material-button.component';\r\nexport { MaterialButtonGroupComponent } from './material-button-group.component';\r\nexport { MaterialCheckboxComponent } from './material-checkbox.component';\r\nexport { MaterialCheckboxesComponent } from './material-checkboxes.component';\r\nexport { MaterialChipListComponent } from './material-chip-list.component';\r\nexport { MaterialDatepickerComponent } from './material-datepicker.component';\r\nexport { MaterialFileComponent } from './material-file.component';\r\nexport { MaterialInputComponent } from './material-input.component';\r\nexport { MaterialNumberComponent } from './material-number.component';\r\nexport { MaterialRadiosComponent } from './material-radios.component';\r\nexport { MaterialSelectComponent } from './material-select.component';\r\nexport { MaterialSliderComponent } from './material-slider.component';\r\nexport { MaterialStepperComponent } from './material-stepper.component';\r\nexport { MaterialTabsComponent } from './material-tabs.component';\r\nexport { MaterialTextareaComponent } from './material-textarea.component';\r\nexport { MaterialDesignFrameworkComponent } from '../material-design-framework.component';\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { CssFramework, CssframeworkService } from '@ng-formworks/cssframework';\r\nimport { cssFrameworkCfgMaterialDesign } from './material-design-cssframework';\r\nimport {\r\n FlexLayoutRootComponent,\r\n FlexLayoutSectionComponent,\r\n MaterialAddReferenceComponent,\r\n MaterialButtonComponent,\r\n MaterialButtonGroupComponent,\r\n MaterialCheckboxComponent,\r\n MaterialCheckboxesComponent,\r\n MaterialChipListComponent,\r\n MaterialDatepickerComponent,\r\n MaterialDesignFrameworkComponent,\r\n MaterialFileComponent,\r\n MaterialInputComponent,\r\n MaterialNumberComponent,\r\n MaterialOneOfComponent,\r\n MaterialRadiosComponent,\r\n MaterialSelectComponent,\r\n MaterialSliderComponent,\r\n MaterialStepperComponent,\r\n MaterialTabsComponent,\r\n MaterialTextareaComponent\r\n} from './widgets/public_api';\r\n\r\n\r\n// Material Design Framework\r\n// https://github.com/angular/material2\r\n\r\n@Injectable()\r\nexport class MaterialDesignFramework extends CssFramework {\r\n cssFWService: CssframeworkService;\r\n\r\n name = 'material-design';\r\n\r\n framework = MaterialDesignFrameworkComponent;\r\n\r\n stylesheets = [\r\n '//fonts.googleapis.com/icon?family=Material+Icons',\r\n '//fonts.googleapis.com/css?family=Roboto:300,400,500,700',\r\n ];\r\n\r\n _widgets = {\r\n 'root': FlexLayoutRootComponent,\r\n 'section': FlexLayoutSectionComponent,\r\n '$ref': MaterialAddReferenceComponent,\r\n 'button': MaterialButtonComponent,\r\n 'button-group': MaterialButtonGroupComponent,\r\n 'checkbox': MaterialCheckboxComponent,\r\n 'checkboxes': MaterialCheckboxesComponent,\r\n 'chip-list': MaterialChipListComponent,\r\n 'date': MaterialDatepickerComponent,\r\n 'file': MaterialFileComponent,\r\n 'number': MaterialNumberComponent,\r\n 'one-of': MaterialOneOfComponent,\r\n 'radios': MaterialRadiosComponent,\r\n 'select': MaterialSelectComponent,\r\n 'slider': MaterialSliderComponent,\r\n 'stepper': MaterialStepperComponent,\r\n 'tabs': MaterialTabsComponent,\r\n 'text': MaterialInputComponent,\r\n 'textarea': MaterialTextareaComponent,\r\n 'alt-date': 'date',\r\n 'any-of': 'one-of',\r\n 'card': 'section',\r\n 'color': 'text',\r\n 'expansion-panel': 'section',\r\n 'hidden': 'none',\r\n 'image': 'none',\r\n 'integer': 'number',\r\n 'radiobuttons': 'button-group',\r\n 'range': 'slider',\r\n 'submit': 'button',\r\n 'tagsinput': 'chip-list',\r\n 'wizard': 'stepper',\r\n };\r\n\r\n constructor(){\r\n const cssFWService = inject(CssframeworkService);\r\n\r\n //super(cssFrameworkCfgMaterialDesign,cssFWService);\r\n super(cssFrameworkCfgMaterialDesign);\r\n this.cssFWService = cssFWService;\r\n\r\n this.widgets=this._widgets\r\n }\r\n\r\n\r\n}\r\n","import { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\nimport {\r\n Framework,\r\n FrameworkLibraryService,\r\n JsonSchemaFormModule,\r\n JsonSchemaFormService,\r\n WidgetLibraryModule, WidgetLibraryService\r\n} from '@ng-formworks/core';\r\nimport { CssFrameworkModule } from '@ng-formworks/cssframework';\r\nimport { SortablejsModule } from 'nxt-sortablejs';\r\nimport { MaterialDesignFramework } from './material-design.framework';\r\nimport { MATERIAL_FRAMEWORK_COMPONENTS } from './widgets/public_api';\r\n\r\n\r\n/**\r\n * unused @angular/material modules:\r\n * MatDialogModule, MatGridListModule, MatListModule, MatMenuModule,\r\n * MatPaginatorModule, MatProgressBarModule, MatProgressSpinnerModule,\r\n * MatSidenavModule, MatSnackBarModule, MatSortModule, MatTableModule,\r\n * ,\r\n */\r\nexport const ANGULAR_MATERIAL_MODULES = [\r\n MatAutocompleteModule, MatButtonModule, MatButtonToggleModule, MatCardModule,\r\n MatCheckboxModule, MatChipsModule, MatDatepickerModule, MatExpansionModule,\r\n MatFormFieldModule, MatIconModule, MatInputModule, MatNativeDateModule,\r\n MatRadioModule, MatSelectModule, MatSliderModule, MatSlideToggleModule,\r\n MatStepperModule, MatTabsModule, MatTooltipModule,\r\n MatToolbarModule, MatMenuModule, MatToolbarModule,\r\n DragDropModule\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ...ANGULAR_MATERIAL_MODULES,\r\n WidgetLibraryModule,\r\n JsonSchemaFormModule,\r\n CssFrameworkModule,\r\n SortablejsModule.forRoot({\r\n //disabled:false,\r\n //draggable:\".draggableitem\",//\">:not(.nonsort)\",//\">.draggable-item\",//\":not(.nonsort)\",//\">*\",//\":not(.nonsort)\",//\":not(.non-draggable)\",\r\n filter:\".sortable-filter\",//needed to disable dragging on input range elements, class needs to be added to the element or its parent\r\n preventOnFilter: false//needed for input range elements slider do still work\r\n \r\n })\r\n ],\r\n declarations: [\r\n ...MATERIAL_FRAMEWORK_COMPONENTS,\r\n ],\r\n exports: [\r\n JsonSchemaFormModule,\r\n ...MATERIAL_FRAMEWORK_COMPONENTS,\r\n ],\r\n providers: [\r\n JsonSchemaFormService,\r\n FrameworkLibraryService,\r\n WidgetLibraryService,\r\n { provide: Framework, useClass: MaterialDesignFramework, multi: true },\r\n ]\r\n})\r\nexport class MaterialDesignFrameworkModule {\r\n constructor() {\r\n\r\n }\r\n}\r\n","/*\r\n * Public API Surface of @ng-formworks/material-framework\r\n */\r\n\r\nexport * from './lib/material-design-framework.component';\r\nexport * from './lib/material-design-framework.module';\r\nexport * from './lib/material-design.framework';\r\nexport * from './lib/widgets/public_api';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2","i3","i5.FlexLayoutRootComponent","i5","i4","i6","i7","i8","i9","i1.FlexLayoutRootComponent","i2.FlexLayoutSectionComponent","i3.MaterialAddReferenceComponent","i4.MaterialOneOfComponent","i5.MaterialButtonComponent","i6.MaterialButtonGroupComponent","i7.MaterialCheckboxComponent","i8.MaterialCheckboxesComponent","i9.MaterialChipListComponent","i10.MaterialDatepickerComponent","i11.MaterialFileComponent","i12.MaterialInputComponent","i13.MaterialNumberComponent","i14.MaterialRadiosComponent","i15.MaterialSelectComponent","i16.MaterialSliderComponent","i17.MaterialStepperComponent","i18.MaterialTabsComponent","i19.MaterialTextareaComponent","i20.MaterialDesignFrameworkComponent"],"mappings":"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"}
1
+ {"version":3,"file":"ng-formworks-material.mjs","sources":["../../../../projects/ng-formworks-material/src/lib/material-design-cssframework.ts","../../../../projects/ng-formworks-material/src/lib/material-design-framework.component.ts","../../../../projects/ng-formworks-material/src/lib/material-design-framework.component.html","../../../../projects/ng-formworks-material/src/lib/widgets/flex-layout-root.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/flex-layout-section.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-add-reference.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-button.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-button-group.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-checkbox.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-checkboxes.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-chip-list.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-datepicker.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-file.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-input.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-number.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-one-of.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-radios.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-select.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-slider.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-stepper.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-tabs.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/material-textarea.component.ts","../../../../projects/ng-formworks-material/src/lib/widgets/public_api.ts","../../../../projects/ng-formworks-material/src/lib/material-design.framework.ts","../../../../projects/ng-formworks-material/src/lib/material-design-framework.module.ts","../../../../projects/ng-formworks-material/src/public_api.ts","../../../../projects/ng-formworks-material/src/ng-formworks-material.ts"],"sourcesContent":["\r\nexport const cssFrameworkCfgMaterialDesign:any={\r\n \"name\": \"material-design\",\r\n \"text\":\"Material Design\",\r\n \"scripts\": [],\r\n \"stylesheets\": [\r\n '//fonts.googleapis.com/icon?family=Material+Icons',\r\n '//fonts.googleapis.com/css?family=Roboto:300,400,500,700',\r\n ],\r\n \"widgetstyles\": {\r\n \"__themes__\": [\r\n {\"name\":\"material_default\",\"text\":\"Default Theme\"},\r\n {\"name\":\"indigo-pink\",\"text\":\"Indigo & Pink\"},\r\n {\"name\":\"purple-green\",\"text\":\"Purple & Green\"},\r\n {\"name\":\"deeppurple-amber\",\"text\":\"Deep Purple & Amber\"},\r\n {\"name\":\"pink-bluegrey\",\"text\":\"Pink & Blue-Grey\"}\r\n ]\r\n }\r\n}\r\n\r\n","import { ChangeDetectorRef, Component, OnChanges, OnDestroy, OnInit, input, inject } from '@angular/core';\r\nimport { FrameworkLibraryService, JsonSchemaFormService, isDefined } from '@ng-formworks/core';\r\nimport { CssframeworkService } from '@ng-formworks/cssframework';\r\nimport cloneDeep from 'lodash/cloneDeep';\r\nimport { Subscription } from 'rxjs';\r\nimport { cssFrameworkCfgMaterialDesign } from './material-design-cssframework';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-design-framework',\r\n templateUrl: './material-design-framework.component.html',\r\n styleUrls: ['./material-design-framework.component.scss'],\r\n //changeDetection:ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MaterialDesignFrameworkComponent implements OnInit, OnChanges ,OnDestroy {\r\n private changeDetector = inject(ChangeDetectorRef);\r\n private jsf = inject(JsonSchemaFormService);\r\n jsfFLService = inject(FrameworkLibraryService);\r\n cssFWService = inject(CssframeworkService);\r\n\r\n frameworkInitialized = false;\r\n inputType: string;\r\n options: any; // Options used in this framework\r\n widgetLayoutNode: any; // layoutNode passed to child widget\r\n widgetOptions: any; // Options passed to child widget\r\n formControl: any = null;\r\n parentArray: any = null;\r\n isOrderable = false;\r\n dynamicTitle: string = null;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n theme:string=\"material-default-theme\";\r\n frameworkThemeSubs:Subscription;\r\n constructor() {\r\n const cssFWService = this.cssFWService;\r\n\r\n let activeFramework:any=this.jsfFLService.activeFramework;\r\n let fwcfg=activeFramework.config||{};\r\n let defaultTheme=cssFrameworkCfgMaterialDesign.widgetstyles?.__themes__[0];\r\n let defaultThemeName=cssFWService.activeRequestedTheme||defaultTheme.name;\r\n this.theme=this.options?.theme|| defaultThemeName;\r\n this.frameworkThemeSubs= cssFWService.frameworkTheme$.subscribe(newTheme=>{\r\n this.theme=newTheme;\r\n })\r\n\r\n\r\n }\r\n ngOnDestroy(): void {\r\n this.frameworkThemeSubs.unsubscribe();\r\n this.frameworkThemeSubs=null;\r\n }\r\n\r\n get showRemoveButton(): boolean {\r\n const layoutNode = this.layoutNode();\r\n if (!layoutNode || !this.widgetOptions.removable ||\r\n this.widgetOptions.readonly || layoutNode.type === '$ref'\r\n ) {\r\n return false;\r\n }\r\n if (layoutNode.recursiveReference) {\r\n return true;\r\n }\r\n if (!layoutNode.arrayItem || !this.parentArray) {\r\n return false;\r\n }\r\n // If array length <= minItems, don't allow removing any items\r\n return this.parentArray.items.length - 1 <= this.parentArray.options.minItems ? false :\r\n // For removable list items, allow removing any item\r\n layoutNode.arrayItemType === 'list' ? true :\r\n // For removable tuple items, only allow removing last item in list\r\n this.layoutIndex()[this.layoutIndex().length - 1] === this.parentArray.items.length - 2;\r\n }\r\n\r\n ngOnInit() {\r\n this.initializeFramework();\r\n }\r\n\r\n ngOnChanges() {\r\n if (!this.frameworkInitialized) {\r\n this.initializeFramework();\r\n }\r\n if (this.dynamicTitle) {\r\n this.updateTitle();\r\n }\r\n }\r\n\r\n initializeFramework() {\r\n const layoutNode = this.layoutNode();\r\n if (layoutNode) {\r\n this.options = cloneDeep(layoutNode.options || {});\r\n this.widgetLayoutNode = {\r\n ...layoutNode,\r\n options: cloneDeep(layoutNode.options || {})\r\n };\r\n this.widgetOptions = this.widgetLayoutNode.options;\r\n this.formControl = this.jsf.getFormControl(this);\r\n\r\n if (\r\n isDefined(this.widgetOptions.minimum) &&\r\n isDefined(this.widgetOptions.maximum) &&\r\n this.widgetOptions.multipleOf >= 1\r\n ) {\r\n layoutNode.type = 'range';\r\n }\r\n\r\n if (\r\n !['$ref', 'advancedfieldset', 'authfieldset', 'button', 'card',\r\n 'checkbox', 'expansion-panel', 'help', 'message', 'msg', 'section',\r\n 'submit', 'tabarray', 'tabs'].includes(layoutNode.type) &&\r\n /{{.+?}}/.test(this.widgetOptions.title || '')\r\n ) {\r\n this.dynamicTitle = this.widgetOptions.title;\r\n this.updateTitle();\r\n }\r\n\r\n if (layoutNode.arrayItem && layoutNode.type !== '$ref') {\r\n this.parentArray = this.jsf.getParentNode(this);\r\n if (this.parentArray) {\r\n this.isOrderable =\r\n this.parentArray.type.slice(0, 3) !== 'tab' &&\r\n layoutNode.arrayItemType === 'list' &&\r\n !this.widgetOptions.readonly &&\r\n this.parentArray.options.orderable;\r\n }\r\n }\r\n\r\n this.frameworkInitialized = true;\r\n } else {\r\n this.options = {};\r\n }\r\n }\r\n\r\n updateTitle() {\r\n this.widgetLayoutNode.options.title = this.jsf.parseText(\r\n this.dynamicTitle,\r\n this.jsf.getFormControlValue(this),\r\n this.jsf.getFormControlGroup(this).value,\r\n this.dataIndex()[this.dataIndex().length - 1]\r\n );\r\n }\r\n\r\n removeItem() {\r\n this.jsf.removeItem(this);\r\n }\r\n}\r\n","<div [class]=\"theme\">\r\n <div class=\"mat-app-background\">\r\n\r\n <!-- commented out to use sortable js\r\n <div [class.array-item]=\"widgetLayoutNode?.arrayItem && widgetLayoutNode?.type !== '$ref'\" \r\n [orderable]=\"isOrderable\" \r\n [dataIndex]=\"dataIndex()\" \r\n [layoutIndex]=\"layoutIndex()\" \r\n [layoutNode]=\"widgetLayoutNode\">\r\n -->\r\n\r\n <div [class.array-item]=\"widgetLayoutNode?.arrayItem && widgetLayoutNode?.type !== '$ref'\" [orderable]=\"false\" [class.sortable-filter]=\"!isOrderable\" [dataIndex]=\"dataIndex()\" [layoutIndex]=\"layoutIndex()\" [layoutNode]=\"widgetLayoutNode\">\r\n <svg *ngIf=\"showRemoveButton\" xmlns=\"http://www.w3.org/2000/svg\" height=\"18\" width=\"18\" viewBox=\"0 0 24 24\" class=\"close-button\" (click)=\"removeItem()\">\r\n <path\r\n d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z\"/>\r\n </svg>\r\n <select-widget-widget [dataIndex]=\"dataIndex()\" [layoutIndex]=\"layoutIndex()\" [layoutNode]=\"widgetLayoutNode\"></select-widget-widget>\r\n </div>\r\n <div class=\"spacer\" *ngIf=\"widgetLayoutNode?.arrayItem && widgetLayoutNode?.type !== '$ref'\"></div>\r\n </div>\r\n</div>","import { CdkDragDrop } from '@angular/cdk/drag-drop';\r\nimport { ChangeDetectionStrategy, Component, inject, input, OnInit } from '@angular/core';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'flex-layout-root-widget',\r\n template: `\r\n <div cdkDropList (cdkDropListDropped)=\"drop($event)\" \r\n [class.flex-inherit]=\"true\"\r\n >\r\n <div *ngFor=\"let layoutNode of layout(); let i = index\" \r\n cdkDrag [cdkDragStartDelay]=\"{touch:1000,mouse:0}\"\r\n [class.form-flex-item]=\"isFlexItem()\"\r\n [style.flex-grow]=\"getFlexAttribute(layoutNode, 'flex-grow')\"\r\n [style.flex-shrink]=\"getFlexAttribute(layoutNode, 'flex-shrink')\"\r\n [style.flex-basis]=\"getFlexAttribute(layoutNode, 'flex-basis')\"\r\n [style.align-self]=\"(layoutNode?.options || {})['align-self']\"\r\n [style.order]=\"layoutNode?.options?.order\"\r\n [attr.fxFlex]=\"layoutNode?.options?.fxFlex\"\r\n [attr.fxFlexOrder]=\"layoutNode?.options?.fxFlexOrder\"\r\n [attr.fxFlexOffset]=\"layoutNode?.options?.fxFlexOffset\"\r\n [attr.fxFlexAlign]=\"layoutNode?.options?.fxFlexAlign\"\r\n\r\n >\r\n <!-- workaround to disbale dragging of input fields -->\r\n <div *ngIf=\"layoutNode?.dataType !='object'\" cdkDragHandle>\r\n <p></p>\r\n </div>\r\n <select-framework-widget *ngIf=\"showWidget(layoutNode)\"\r\n \r\n [dataIndex]=\"layoutNode?.arrayItem ? (dataIndex() || []).concat(i) : (dataIndex() || [])\"\r\n [layoutIndex]=\"(layoutIndex() || []).concat(i)\"\r\n [layoutNode]=\"layoutNode\"></select-framework-widget>\r\n </div>\r\n </div>`,\r\n styles:`\r\n .example-list {\r\n width: 500px;\r\n max-width: 100%;\r\n border: solid 1px #ccc;\r\n min-height: 60px;\r\n display: block;\r\n background: white;\r\n border-radius: 4px;\r\n overflow: hidden;\r\n}\r\n\r\n.example-box {\r\n padding: 20px 10px;\r\n border-bottom: solid 1px #ccc;\r\n color: rgba(0, 0, 0, 0.87);\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: space-between;\r\n box-sizing: border-box;\r\n cursor: move;\r\n background: white;\r\n font-size: 14px;\r\n}\r\n\r\n.cdk-drag-preview {\r\n border: none;\r\n box-sizing: border-box;\r\n border-radius: 4px;\r\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),\r\n 0 8px 10px 1px rgba(0, 0, 0, 0.14),\r\n 0 3px 14px 2px rgba(0, 0, 0, 0.12);\r\n}\r\n\r\n.cdk-drag-placeholder {\r\n opacity: 0;\r\n}\r\n\r\n.cdk-drag-animating {\r\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\r\n}\r\n\r\n.example-box:last-child {\r\n border: none;\r\n}\r\n\r\n.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder) {\r\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\r\n}\r\n.flex-inherit{\r\n display:inherit;\r\n flex-flow:inherit;\r\n flex-wrap:inherit;\r\n flex-direction:inherit;\r\n width:100%\r\n}\r\n \r\n`,\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n standalone: false\r\n})\r\nexport class FlexLayoutRootComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n readonly dataIndex = input<number[]>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly layout = input<any[]>(undefined);\r\n readonly isFlexItem = input(false);\r\n ngOnInit() {\r\n console.log(\"debug FlexLayoutRootComponent:\"+this);\r\n }\r\n removeItem(item) {\r\n this.jsf.removeItem(item);\r\n }\r\n sortableObj: any;\r\n sortableConfig:any={\r\n filter:\".sortable-filter\",//needed to disable dragging on input range elements, class needs to be added to the element or its parent\r\n preventOnFilter: false,//needed for input range elements slider do still work\r\n onEnd: (/**Event*/evt)=> {\r\n\r\n \r\n }\r\n }\r\n sortableInit(sortable) {\r\n this.sortableObj = sortable;\r\n }\r\n\r\n drop(event: CdkDragDrop<string[]>) {\r\n // most likely why this event is used is to get the dragging element's current index\r\n // same properties as onEnd\r\n //console.log(`sortablejs event:${evt}`);\r\n let srcInd=event.previousIndex;\r\n let trgInd=event.currentIndex;\r\n let layoutItem=this.layout()[trgInd];\r\n let dataInd=layoutItem?.arrayItem ? (this.dataIndex() || []).concat(trgInd) : (this.dataIndex() || []);\r\n let layoutInd=(this.layoutIndex() || []).concat(trgInd)\r\n let itemCtx:any={\r\n dataIndex:()=>{return dataInd},\r\n layoutIndex:()=>{return layoutInd},\r\n layoutNode:()=>{return layoutItem},\r\n }\r\n //must set moveLayout to false as nxtSortable already moves it\r\n this.jsf.moveArrayItem(itemCtx, srcInd, trgInd,true);\r\n }\r\n\r\n // Set attributes for flexbox child\r\n // (container attributes are set in flex-layout-section.component)\r\n getFlexAttribute(node: any, attribute: string) {\r\n const index = ['flex-grow', 'flex-shrink', 'flex-basis'].indexOf(attribute);\r\n return ((node.options || {}).flex || '').split(/\\s+/)[index] ||\r\n (node.options || {})[attribute] || ['1', '1', 'auto'][index];\r\n }\r\n\r\n showWidget(layoutNode: any): boolean {\r\n return this.jsf.evaluateCondition(layoutNode, this.dataIndex());\r\n }\r\n}\r\n","import { Component, OnInit, inject, input } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'flex-layout-section-widget',\r\n template: `\r\n\r\n <div *ngIf=\"containerType === 'div'\"\r\n [class]=\"options?.htmlClass || ''\"\r\n [class.expandable]=\"options?.expandable && !expanded\"\r\n [class.expanded]=\"options?.expandable && expanded\">\r\n <label *ngIf=\"sectionTitle\"\r\n [class]=\"'legend ' + (options?.labelHtmlClass || '')\"\r\n [innerHTML]=\"sectionTitle\"\r\n (click)=\"toggleExpanded()\"></label>\r\n <flex-layout-root-widget \r\n [layout]=\"layoutNode().items\"\r\n [dataIndex]=\"dataIndex()\"\r\n [layoutIndex]=\"layoutIndex()\"\r\n [isFlexItem]=\"getFlexAttribute('is-flex')\"\r\n [class.form-flex-column]=\"getFlexAttribute('flex-direction') === 'column'\"\r\n [class.form-flex-row]=\"getFlexAttribute('flex-direction') === 'row'\"\r\n [style.display]=\"!expanded?'none':getFlexAttribute('display')\"\r\n [style.flex-direction]=\"getFlexAttribute('flex-direction')\"\r\n [style.flex-wrap]=\"getFlexAttribute('flex-wrap')\"\r\n [style.justify-content]=\"getFlexAttribute('justify-content')\"\r\n [style.align-items]=\"getFlexAttribute('align-items')\"\r\n [style.align-content]=\"getFlexAttribute('align-content')\"\r\n [attr.fxLayout]=\"getFlexAttribute('layout')\"\r\n [attr.fxLayoutGap]=\"options?.fxLayoutGap\"\r\n [attr.fxLayoutAlign]=\"options?.fxLayoutAlign\"\r\n [attr.fxFlexFill]=\"options?.fxLayoutAlign\"></flex-layout-root-widget>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>\r\n </div>\r\n\r\n <fieldset *ngIf=\"containerType === 'fieldset'\"\r\n [class]=\"options?.htmlClass || ''\"\r\n [class.expandable]=\"options?.expandable && !expanded\"\r\n [class.expanded]=\"options?.expandable && expanded\"\r\n [disabled]=\"options?.readonly\">\r\n <legend *ngIf=\"sectionTitle\"\r\n [class]=\"'legend ' + (options?.labelHtmlClass || '')\"\r\n [innerHTML]=\"sectionTitle\"\r\n (click)=\"toggleExpanded()\"></legend>\r\n <flex-layout-root-widget \r\n [layout]=\"layoutNode().items\"\r\n [dataIndex]=\"dataIndex()\"\r\n [layoutIndex]=\"layoutIndex()\"\r\n [isFlexItem]=\"getFlexAttribute('is-flex')\"\r\n [class.form-flex-column]=\"getFlexAttribute('flex-direction') === 'column'\"\r\n [class.form-flex-row]=\"getFlexAttribute('flex-direction') === 'row'\"\r\n [style.display]=\"!expanded?'none':getFlexAttribute('display')\"\r\n [style.flex-direction]=\"getFlexAttribute('flex-direction')\"\r\n [style.flex-wrap]=\"getFlexAttribute('flex-wrap')\"\r\n [style.justify-content]=\"getFlexAttribute('justify-content')\"\r\n [style.align-items]=\"getFlexAttribute('align-items')\"\r\n [style.align-content]=\"getFlexAttribute('align-content')\"\r\n [attr.fxLayout]=\"getFlexAttribute('layout')\"\r\n [attr.fxLayoutGap]=\"options?.fxLayoutGap\"\r\n [attr.fxLayoutAlign]=\"options?.fxLayoutAlign\"\r\n [attr.attr.fxFlexFill]=\"options?.fxLayoutAlign\"></flex-layout-root-widget>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>\r\n </fieldset>\r\n\r\n <mat-card appearance=\"outlined\" *ngIf=\"containerType === 'card'\"\r\n [ngClass]=\"options?.htmlClass || ''\"\r\n [class.expandable]=\"options?.expandable && !expanded\"\r\n [class.expanded]=\"options?.expandable && expanded\">\r\n <mat-card-header *ngIf=\"sectionTitle\">\r\n <legend\r\n [class]=\"'legend ' + (options?.labelHtmlClass || '')\"\r\n [innerHTML]=\"sectionTitle\"\r\n (click)=\"toggleExpanded()\"></legend>\r\n </mat-card-header>\r\n <mat-card-content >\r\n <fieldset [disabled]=\"options?.readonly\">\r\n <flex-layout-root-widget \r\n [layout]=\"layoutNode().items\"\r\n [dataIndex]=\"dataIndex()\"\r\n [layoutIndex]=\"layoutIndex()\"\r\n [isFlexItem]=\"getFlexAttribute('is-flex')\"\r\n [class.form-flex-column]=\"getFlexAttribute('flex-direction') === 'column'\"\r\n [class.form-flex-row]=\"getFlexAttribute('flex-direction') === 'row'\"\r\n [style.display]=\"!expanded?'none':getFlexAttribute('display')\"\r\n [style.flex-direction]=\"getFlexAttribute('flex-direction')\"\r\n [style.flex-wrap]=\"getFlexAttribute('flex-wrap')\"\r\n [style.justify-content]=\"getFlexAttribute('justify-content')\"\r\n [style.align-items]=\"getFlexAttribute('align-items')\"\r\n [style.align-content]=\"getFlexAttribute('align-content')\"\r\n [attr.fxLayout]=\"getFlexAttribute('layout')\"\r\n [attr.fxLayoutGap]=\"options?.fxLayoutGap\"\r\n [attr.fxLayoutAlign]=\"options?.fxLayoutAlign\"\r\n [attr.fxFlexFill]=\"options?.fxLayoutAlign\"></flex-layout-root-widget>\r\n </fieldset>\r\n </mat-card-content>\r\n <mat-card-footer>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>\r\n </mat-card-footer>\r\n </mat-card>\r\n\r\n <mat-expansion-panel *ngIf=\"containerType === 'expansion-panel'\"\r\n [expanded]=\"expanded\"\r\n [hideToggle]=\"!options?.expandable\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <legend *ngIf=\"sectionTitle\"\r\n [class]=\"options?.labelHtmlClass\"\r\n [innerHTML]=\"sectionTitle\"\r\n (click)=\"toggleExpanded()\"></legend>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <fieldset [disabled]=\"options?.readonly\">\r\n <flex-layout-root-widget \r\n [layout]=\"layoutNode().items\"\r\n [dataIndex]=\"dataIndex()\"\r\n [layoutIndex]=\"layoutIndex()\"\r\n [isFlexItem]=\"getFlexAttribute('is-flex')\"\r\n [class.form-flex-column]=\"getFlexAttribute('flex-direction') === 'column'\"\r\n [class.form-flex-row]=\"getFlexAttribute('flex-direction') === 'row'\"\r\n [style.display]=\"!expanded?'none':getFlexAttribute('display')\"\r\n [style.flex-direction]=\"getFlexAttribute('flex-direction')\"\r\n [style.flex-wrap]=\"getFlexAttribute('flex-wrap')\"\r\n [style.justify-content]=\"getFlexAttribute('justify-content')\"\r\n [style.align-items]=\"getFlexAttribute('align-items')\"\r\n [style.align-content]=\"getFlexAttribute('align-content')\"\r\n [attr.fxLayout]=\"getFlexAttribute('layout')\"\r\n [attr.fxLayoutGap]=\"options?.fxLayoutGap\"\r\n [attr.fxLayoutAlign]=\"options?.fxLayoutAlign\"\r\n [attr.fxFlexFill]=\"options?.fxLayoutAlign\"></flex-layout-root-widget>\r\n </fieldset>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>\r\n </mat-expansion-panel>`,\r\n styles: [`\r\n fieldset { border: 0; margin: 0; padding: 0; }\r\n .legend { font-weight: bold; }\r\n .expandable > .legend:before { content: '▶'; padding-right: .3em; font-family:auto }\r\n .expanded > .legend:before { content: '▼'; padding-right: .2em; }\r\n `],\r\n})\r\nexport class FlexLayoutSectionComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n expanded = true;\r\n containerType = 'div';\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n get sectionTitle() {\r\n return this.options.notitle ? null : this.jsf.setItemTitle(this);\r\n }\r\n\r\n ngOnInit() {\r\n this.jsf.initializeControl(this);\r\n this.options = this.layoutNode().options || {};\r\n this.expanded = typeof this.options.expanded === 'boolean' ?\r\n this.options.expanded : !this.options.expandable;\r\n switch (this.layoutNode().type) {\r\n case 'section': case 'array': case 'fieldset': case 'advancedfieldset':\r\n case 'authfieldset': case 'optionfieldset': case 'selectfieldset':\r\n this.containerType = 'fieldset';\r\n break;\r\n case 'card':\r\n this.containerType = 'card';\r\n break;\r\n case 'expansion-panel':\r\n this.containerType = 'expansion-panel';\r\n break;\r\n default: // 'div', 'flex', 'tab', 'conditional', 'actions'\r\n this.containerType = 'div';\r\n }\r\n }\r\n\r\n toggleExpanded() {\r\n if (this.options.expandable) { this.expanded = !this.expanded; }\r\n }\r\n\r\n // Set attributes for flexbox container\r\n // (child attributes are set in flex-layout-root.component)\r\n getFlexAttribute(attribute: string) {\r\n const flexActive: boolean =\r\n this.layoutNode().type === 'flex' ||\r\n !!this.options.displayFlex ||\r\n this.options.display === 'flex';\r\n // if (attribute !== 'flex' && !flexActive) { return null; }\r\n switch (attribute) {\r\n case 'is-flex':\r\n return flexActive;\r\n case 'display':\r\n return flexActive ? 'flex' : 'initial';\r\n case 'flex-direction': case 'flex-wrap':\r\n const index = ['flex-direction', 'flex-wrap'].indexOf(attribute);\r\n return (this.options['flex-flow'] || '').split(/\\s+/)[index] ||\r\n this.options[attribute] || ['column', 'nowrap'][index];\r\n case 'justify-content': case 'align-items': case 'align-content':\r\n return this.options[attribute];\r\n case 'layout':\r\n return (this.options.fxLayout || 'row') +\r\n this.options.fxLayoutWrap ? ' ' + this.options.fxLayoutWrap : '';\r\n\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnInit, input, inject } from '@angular/core';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-add-reference-widget',\r\n template: `\r\n <section [class]=\"options?.htmlClass || ''\" align=\"end\">\r\n <button mat-raised-button *ngIf=\"showAddButton\"\r\n [color]=\"options?.color || 'accent'\"\r\n [disabled]=\"options?.readonly\"\r\n (click)=\"addItem($event)\">\r\n <span *ngIf=\"options?.icon\" [class]=\"options?.icon\"></span>\r\n <span *ngIf=\"options?.title\" [innerHTML]=\"buttonText\"></span>\r\n </button>\r\n </section>`,\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class MaterialAddReferenceComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n options: any;\r\n itemCount: number;\r\n previousLayoutIndex: number[];\r\n previousDataIndex: number[];\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n }\r\n\r\n get showAddButton(): boolean {\r\n return !this.layoutNode().arrayItem ||\r\n this.layoutIndex()[this.layoutIndex().length - 1] < this.options.maxItems;\r\n }\r\n\r\n addItem(event) {\r\n event.preventDefault();\r\n this.jsf.addItem(this);\r\n }\r\n\r\n get buttonText(): string {\r\n const parent: any = {\r\n dataIndex: this.dataIndex().slice(0, -1),\r\n layoutIndex: this.layoutIndex().slice(0, -1),\r\n layoutNode: this.jsf.getParentNode(this),\r\n };\r\n return parent.layoutNode.add ||\r\n this.jsf.setArrayItemTitle(parent, this.layoutNode(), this.itemCount);\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService, hasOwn } from '@ng-formworks/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-button-widget',\r\n template: `\r\n <div class=\"button-row\" [class]=\"options?.htmlClass || ''\">\r\n <button mat-raised-button\r\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [color]=\"options?.color || 'primary'\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [name]=\"controlName\"\r\n [type]=\"layoutNode()?.type\"\r\n [value]=\"controlValue\"\r\n (click)=\"updateValue($event)\">\r\n <mat-icon *ngIf=\"options?.icon\" class=\"mat-24\">{{options?.icon}}</mat-icon>\r\n <span *ngIf=\"options?.title\" [innerHTML]=\"options?.title\"></span>\r\n </button>\r\n </div>`,\r\n styles: [` button { margin-top: 10px; } `],\r\n})\r\nexport class MaterialButtonComponent implements OnInit,OnDestroy {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n isValidChangesSubs:Subscription;\r\n\r\n ngOnDestroy(): void {\r\n this.isValidChangesSubs?.unsubscribe();\r\n this.isValidChangesSubs=null;\r\n }\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this);\r\n if (hasOwn(this.options, 'disabled')) {\r\n this.controlDisabled = this.options.disabled;\r\n } else if (this.jsf.formOptions.disableInvalidSubmit) {\r\n this.controlDisabled = !this.jsf.isValid;\r\n this.jsf.isValidChanges.subscribe(isValid => this.controlDisabled = !isValid);\r\n }\r\n }\r\n\r\n updateValue(event) {\r\n if (typeof this.options.onClick === 'function') {\r\n this.options.onClick(event);\r\n } else {\r\n this.jsf.updateValue(this, event.target.value);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService, buildTitleMap } from '@ng-formworks/core';\r\n\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-button-group-widget',\r\n template: `\r\n <div>\r\n <div *ngIf=\"options?.title\">\r\n <label\r\n [attr.for]=\"'control' + layoutNode()?._id\"\r\n [class]=\"options?.labelHtmlClass || ''\"\r\n [style.display]=\"options?.notitle ? 'none' : ''\"\r\n [innerHTML]=\"options?.title\"></label>\r\n </div>\r\n <mat-button-toggle-group\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [attr.required]=\"options?.required\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [name]=\"controlName\"\r\n [value]=\"controlValue\"\r\n [vertical]=\"!!options.vertical\">\r\n <mat-button-toggle *ngFor=\"let radioItem of radiosList\"\r\n [id]=\"'control' + layoutNode()?._id + '/' + radioItem?.name\"\r\n [value]=\"radioItem?.value\"\r\n (click)=\"updateValue(radioItem?.value)\">\r\n <span [innerHTML]=\"radioItem?.name\"></span>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>\r\n </div>`,\r\n styles: [` mat-error { font-size: 75%; } `],\r\n})\r\nexport class MaterialButtonGroupComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n radiosList: any[] = [];\r\n vertical = false;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.radiosList = buildTitleMap(\r\n this.options.titleMap || this.options.enumNames,\r\n this.options.enum, true\r\n );\r\n this.jsf.initializeControl(this);\r\n }\r\n\r\n updateValue(value) {\r\n this.options.showErrors = true;\r\n this.jsf.updateValue(this, value);\r\n }\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-checkbox-widget',\r\n template: `\r\n <mat-checkbox *ngIf=\"boundControl && !showSlideToggle\"\r\n [formControl]=\"formControl\"\r\n align=\"left\"\r\n [color]=\"options?.color || 'primary'\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n labelPosition=\"after\"\r\n [name]=\"controlName\"\r\n (blur)=\"options.showErrors = true\">\r\n <span *ngIf=\"options?.title\"\r\n class=\"checkbox-name\"\r\n [style.display]=\"options?.notitle ? 'none' : ''\"\r\n [innerHTML]=\"options?.title\"></span>\r\n </mat-checkbox>\r\n <mat-checkbox *ngIf=\"!boundControl && !showSlideToggle\"\r\n align=\"left\"\r\n [color]=\"options?.color || 'primary'\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n labelPosition=\"after\"\r\n [name]=\"controlName\"\r\n [checked]=\"isChecked\"\r\n (blur)=\"options.showErrors = true\"\r\n (change)=\"updateValue($event)\">\r\n <span *ngIf=\"options?.title\"\r\n class=\"checkbox-name\"\r\n [style.display]=\"options?.notitle ? 'none' : ''\"\r\n [innerHTML]=\"options?.title\"></span>\r\n </mat-checkbox>\r\n <mat-slide-toggle *ngIf=\"boundControl && showSlideToggle\"\r\n [formControl]=\"formControl\"\r\n align=\"left\"\r\n [color]=\"options?.color || 'primary'\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n labelPosition=\"after\"\r\n [name]=\"controlName\"\r\n (blur)=\"options.showErrors = true\">\r\n <span *ngIf=\"options?.title\"\r\n class=\"checkbox-name\"\r\n [style.display]=\"options?.notitle ? 'none' : ''\"\r\n [innerHTML]=\"options?.title\"></span>\r\n </mat-slide-toggle>\r\n <mat-slide-toggle *ngIf=\"!boundControl && showSlideToggle\"\r\n align=\"left\"\r\n [color]=\"options?.color || 'primary'\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n labelPosition=\"after\"\r\n [name]=\"controlName\"\r\n [checked]=\"isChecked\"\r\n (blur)=\"options.showErrors = true\"\r\n (change)=\"updateValue($event)\">\r\n <span *ngIf=\"options?.title\"\r\n class=\"checkbox-name\"\r\n [style.display]=\"options?.notitle ? 'none' : ''\"\r\n [innerHTML]=\"options?.title\"></span>\r\n </mat-slide-toggle>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>`,\r\n styles: [`\r\n .checkbox-name { white-space: nowrap; }\r\n mat-error { font-size: 75%; }\r\n `],\r\n})\r\nexport class MaterialCheckboxComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n trueValue: any = true;\r\n falseValue: any = false;\r\n showSlideToggle = false;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this, !this.options.readonly);\r\n if (this.controlValue === null || this.controlValue === undefined) {\r\n this.controlValue = false;\r\n this.jsf.updateValue(this, this.falseValue);\r\n }\r\n const layoutNode = this.layoutNode();\r\n if (layoutNode.type === 'slide-toggle' ||\r\n layoutNode.format === 'slide-toggle'\r\n ) {\r\n this.showSlideToggle = true;\r\n }\r\n }\r\n\r\n updateValue(event) {\r\n this.options.showErrors = true;\r\n this.jsf.updateValue(this, event.checked ? this.trueValue : this.falseValue);\r\n }\r\n\r\n get isChecked() {\r\n return this.jsf.getFormControlValue(this) === this.trueValue;\r\n }\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService, TitleMapItem, buildTitleMap } from '@ng-formworks/core';\r\n\r\n// TODO: Change this to use a Selection List instead?\r\n// https://material.angular.io/components/list/overview\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-checkboxes-widget',\r\n template: `\r\n <div>\r\n <mat-checkbox type=\"checkbox\"\r\n [checked]=\"allChecked\"\r\n [color]=\"options?.color || 'primary'\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [indeterminate]=\"someChecked\"\r\n [name]=\"options?.name\"\r\n (blur)=\"options.showErrors = true\"\r\n (change)=\"updateAllValues($event)\">\r\n <span class=\"checkbox-name\" [innerHTML]=\"options?.name\"></span>\r\n </mat-checkbox>\r\n <label *ngIf=\"options?.title\"\r\n class=\"title\"\r\n [class]=\"options?.labelHtmlClass || ''\"\r\n [style.display]=\"options?.notitle ? 'none' : ''\"\r\n [innerHTML]=\"options?.title\"></label>\r\n <ul class=\"checkbox-list\" [class.horizontal-list]=\"horizontalList\">\r\n <li *ngFor=\"let checkboxItem of checkboxList\"\r\n [class]=\"options?.htmlClass || ''\">\r\n <mat-checkbox type=\"checkbox\"\r\n [(ngModel)]=\"checkboxItem.checked\"\r\n [color]=\"options?.color || 'primary'\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [name]=\"checkboxItem?.name\"\r\n (blur)=\"options.showErrors = true\"\r\n (change)=\"updateValue()\">\r\n <span class=\"checkbox-name\" [innerHTML]=\"checkboxItem?.name\"></span>\r\n </mat-checkbox>\r\n </li>\r\n </ul>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>\r\n </div>`,\r\n styles: [`\r\n .title { font-weight: bold; }\r\n .checkbox-list { list-style-type: none; }\r\n .horizontal-list > li { display: inline-block; margin-right: 10px; zoom: 1; }\r\n .checkbox-name { white-space: nowrap; }\r\n mat-error { font-size: 75%; }\r\n `],\r\n})\r\nexport class MaterialCheckboxesComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n horizontalList = false;\r\n formArray: AbstractControl;\r\n checkboxList: TitleMapItem[] = [];\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n const layoutNode = this.layoutNode();\r\n this.horizontalList = layoutNode.type === 'checkboxes-inline' ||\r\n layoutNode.type === 'checkboxbuttons';\r\n this.jsf.initializeControl(this);\r\n this.checkboxList = buildTitleMap(\r\n this.options.titleMap || this.options.enumNames, this.options.enum, true\r\n );\r\n if (this.boundControl) {\r\n const formArray = this.jsf.getFormControl(this);\r\n for (const checkboxItem of this.checkboxList) {\r\n checkboxItem.checked = formArray.value.includes(checkboxItem.value);\r\n }\r\n }\r\n }\r\n\r\n get allChecked(): boolean {\r\n return this.checkboxList.filter(t => t.checked).length === this.checkboxList.length;\r\n }\r\n\r\n get someChecked(): boolean {\r\n const checkedItems = this.checkboxList.filter(t => t.checked).length;\r\n return checkedItems > 0 && checkedItems < this.checkboxList.length;\r\n }\r\n\r\n updateValue() {\r\n this.options.showErrors = true;\r\n if (this.boundControl) {\r\n this.jsf.updateArrayCheckboxList(this, this.checkboxList);\r\n }\r\n }\r\n\r\n updateAllValues(event: any) {\r\n this.options.showErrors = true;\r\n this.checkboxList.forEach(t => t.checked = event.checked);\r\n this.updateValue();\r\n }\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n// TODO: Add this control\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-chip-list-widget',\r\n template: ``,\r\n})\r\nexport class MaterialChipListComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this);\r\n }\r\n\r\n updateValue(event) {\r\n this.jsf.updateValue(this, event.target.value);\r\n }\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-datepicker-widget',\r\n template: `\r\n <mat-form-field [appearance]=\"options?.appearance || matFormFieldDefaultOptions?.appearance || 'fill'\"\r\n [class]=\"options?.htmlClass || ''\"\r\n [floatLabel]=\"options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')\"\r\n [hideRequiredMarker]=\"options?.hideRequired ? 'true' : 'false'\"\r\n [style.width]=\"'100%'\">\r\n <mat-label *ngIf=\"!options?.notitle\">{{options?.title}}</mat-label>\r\n <span matPrefix *ngIf=\"options?.prefix || options?.fieldAddonLeft\"\r\n [innerHTML]=\"options?.prefix || options?.fieldAddonLeft\"></span>\r\n <input matInput *ngIf=\"boundControl\"\r\n [formControl]=\"formControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.list]=\"'control' + layoutNode()?._id + 'Autocomplete'\"\r\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [max]=\"options?.maximum\"\r\n [matDatepicker]=\"picker\"\r\n [min]=\"options?.minimum\"\r\n [name]=\"controlName\"\r\n [placeholder]=\"options?.title\"\r\n [readonly]=\"options?.readonly\"\r\n [required]=\"options?.required\"\r\n [style.width]=\"'100%'\"\r\n (blur)=\"options.showErrors = true\"\r\n >\r\n <input matInput *ngIf=\"!boundControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.list]=\"'control' + layoutNode()?._id + 'Autocomplete'\"\r\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [max]=\"options?.maximum\"\r\n [matDatepicker]=\"picker\"\r\n [min]=\"options?.minimum\"\r\n [name]=\"controlName\"\r\n [placeholder]=\"options?.title\"\r\n [required]=\"options?.required\"\r\n [style.width]=\"'100%'\"\r\n [readonly]=\"options?.readonly\"\r\n (blur)=\"options.showErrors = true\"\r\n >\r\n <span matSuffix *ngIf=\"options?.suffix || options?.fieldAddonRight\"\r\n [innerHTML]=\"options?.suffix || options?.fieldAddonRight\"></span>\r\n <mat-hint *ngIf=\"options?.description && (!options?.showErrors || !options?.errorMessage)\"\r\n align=\"end\" [innerHTML]=\"options?.description\"></mat-hint>\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n </mat-form-field>\r\n <mat-datepicker #picker ></mat-datepicker>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>`,\r\n styles: [`\r\n mat-error { font-size: 75%; margin-top: -1rem; margin-bottom: 0.5rem; }\r\n ::ng-deep json-schema-form mat-form-field .mat-mdc-form-field-wrapper .mat-form-field-flex\r\n .mat-form-field-infix { width: initial; }\r\n `],\r\n})\r\nexport class MaterialDatepickerComponent implements OnInit {\r\n matFormFieldDefaultOptions = inject(MAT_FORM_FIELD_DEFAULT_OPTIONS, { optional: true });\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n dateValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n autoCompleteList: string[] = [];\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this, !this.options.readonly);\r\n if (!this.options.notitle && !this.options.description && this.options.placeholder) {\r\n this.options.description = this.options.placeholder;\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n// TODO: Add this control\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-file-widget',\r\n template: ``,\r\n})\r\nexport class MaterialFileComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this);\r\n }\r\n\r\n updateValue(event) {\r\n this.jsf.updateValue(this, event.target.value);\r\n }\r\n}\r\n","import { Component, ElementRef, OnInit, inject, input, viewChild } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-input-widget',\r\n template: `\r\n <mat-form-field [appearance]=\"options?.appearance || matFormFieldDefaultOptions?.appearance || 'fill'\"\r\n [class]=\"options?.htmlClass || ''\" class=\"sortable-filter\"\r\n [floatLabel]=\"options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')\"\r\n [hideRequiredMarker]=\"options?.hideRequired ? 'true' : 'false'\"\r\n [style.width]=\"'100%'\">\r\n <mat-label *ngIf=\"!options?.notitle\">{{options?.title}}</mat-label>\r\n <span matPrefix *ngIf=\"options?.prefix || options?.fieldAddonLeft\"\r\n [innerHTML]=\"options?.prefix || options?.fieldAddonLeft\"></span>\r\n <input #input matInput *ngIf=\"boundControl\"\r\n [formControl]=\"formControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.list]=\"'control' + layoutNode()?._id + 'Autocomplete'\"\r\n [attr.maxlength]=\"options?.maxLength\"\r\n [attr.minlength]=\"options?.minLength\"\r\n [attr.pattern]=\"options?.pattern\"\r\n [readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [name]=\"controlName\"\r\n [placeholder]=\"options?.notitle ? options?.placeholder : options?.title\"\r\n [required]=\"options?.required\"\r\n [type]=\"layoutNode()?.type\"\r\n (blur)=\"options.showErrors = true\"\r\n [attributes]=\"inputAttributes\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (touchstart)=\"onTouchStart($event)\"\r\n >\r\n <input #input matInput *ngIf=\"!boundControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.list]=\"'control' + layoutNode()?._id + 'Autocomplete'\"\r\n [attr.maxlength]=\"options?.maxLength\"\r\n [attr.minlength]=\"options?.minLength\"\r\n [attr.pattern]=\"options?.pattern\"\r\n [disabled]=\"controlDisabled\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [name]=\"controlName\"\r\n [placeholder]=\"options?.notitle ? options?.placeholder : options?.title\"\r\n [readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [required]=\"options?.required\"\r\n [type]=\"layoutNode()?.type\"\r\n [value]=\"controlValue\"\r\n (input)=\"updateValue($event)\"\r\n (blur)=\"options.showErrors = true\"\r\n [attributes]=\"inputAttributes\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (touchstart)=\"onTouchStart($event)\" \r\n >\r\n <span matSuffix *ngIf=\"options?.suffix || options?.fieldAddonRight\"\r\n [innerHTML]=\"options?.suffix || options?.fieldAddonRight\"></span>\r\n <mat-hint *ngIf=\"options?.description && (!options?.showErrors || !options?.errorMessage)\"\r\n align=\"end\" [innerHTML]=\"options?.description\"></mat-hint>\r\n <mat-autocomplete *ngIf=\"options?.typeahead?.source\">\r\n <mat-option *ngFor=\"let word of options?.typeahead?.source\"\r\n [value]=\"word\">{{word}}</mat-option>\r\n </mat-autocomplete>\r\n <button *ngIf=\"layoutNode()?.type=='datetime-local'\" (click)=\"input()?.nativeElement?.showPicker()\" mat-icon-button matIconSuffix>\r\n <mat-icon>calendar_today</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>`,\r\n styles: [`\r\n mat-error { font-size: 75%; margin-top: -1rem; margin-bottom: 0.5rem; }\r\n ::ng-deep json-schema-form mat-form-field .mat-mdc-form-field-wrapper .mat-form-field-flex\r\n .mat-form-field-infix { width: initial; }\r\n input {width:100%;}\r\n /*width of 120% for type 'datetime-local' to hide firefox picker*/ \r\n input[type='datetime-local'] {width:120%;}\r\n `],\r\n})\r\nexport class MaterialInputComponent implements OnInit {\r\n matFormFieldDefaultOptions = inject(MAT_FORM_FIELD_DEFAULT_OPTIONS, { optional: true });\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: string;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n autoCompleteList: string[] = [];\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n \r\n readonly input = viewChild<ElementRef>('input');\r\n\r\n //needed as templates don't accept something like [attributes]=\"options?.['x-inputAttributes']\"\r\n get inputAttributes() {\r\n return this.options?.['x-inputAttributes'];\r\n }\r\n\r\n //TODO review:stopPropagation used as a workaround \r\n //to prevent dragging onMouseDown and onTouchStart events\r\n onMouseDown(e){\r\n e.stopPropagation();\r\n }\r\n\r\n onTouchStart(e){\r\n e.stopPropagation();\r\n }\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this);\r\n if (!this.options.notitle && !this.options.description && this.options.placeholder) {\r\n this.options.description = this.options.placeholder;\r\n }\r\n }\r\n\r\n updateValue(event) {\r\n this.jsf.updateValue(this, event.target.value);\r\n }\r\n\r\n}\r\n","import { Component, OnInit, inject, input } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-number-widget',\r\n template: `\r\n <mat-form-field [appearance]=\"options?.appearance || matFormFieldDefaultOptions?.appearance || 'fill'\"\r\n [class]=\"options?.htmlClass || ''\" class=\"sortable-filter\"\r\n [floatLabel]=\"options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')\"\r\n [hideRequiredMarker]=\"options?.hideRequired ? 'true' : 'false'\"\r\n [style.width]=\"'100%'\">\r\n <mat-label *ngIf=\"!options?.notitle\">{{options?.title}}</mat-label>\r\n <span matPrefix *ngIf=\"options?.prefix || options?.fieldAddonLeft\"\r\n [innerHTML]=\"options?.prefix || options?.fieldAddonLeft\"></span>\r\n <input matInput *ngIf=\"boundControl\"\r\n [formControl]=\"formControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.max]=\"options?.maximum\"\r\n [attr.min]=\"options?.minimum\"\r\n [attr.step]=\"options?.multipleOf || options?.step || 'any'\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [name]=\"controlName\"\r\n [placeholder]=\"options?.notitle ? options?.placeholder : options?.title\"\r\n [readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [required]=\"options?.required\"\r\n [style.width]=\"'100%'\"\r\n [type]=\"'number'\"\r\n (blur)=\"options.showErrors = true\"\r\n [attributes]=\"inputAttributes\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (touchstart)=\"onTouchStart($event)\" \r\n >\r\n <input matInput *ngIf=\"!boundControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.max]=\"options?.maximum\"\r\n [attr.min]=\"options?.minimum\"\r\n [attr.step]=\"options?.multipleOf || options?.step || 'any'\"\r\n [disabled]=\"controlDisabled\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [name]=\"controlName\"\r\n [placeholder]=\"options?.notitle ? options?.placeholder : options?.title\"\r\n [readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [required]=\"options?.required\"\r\n [style.width]=\"'100%'\"\r\n [type]=\"'number'\"\r\n [value]=\"controlValue\"\r\n (input)=\"updateValue($event)\"\r\n (blur)=\"options.showErrors = true\"\r\n [attributes]=\"inputAttributes\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (touchstart)=\"onTouchStart($event)\" \r\n >\r\n <span matSuffix *ngIf=\"options?.suffix || options?.fieldAddonRight\"\r\n [innerHTML]=\"options?.suffix || options?.fieldAddonRight\"></span>\r\n <mat-hint *ngIf=\"layoutNode()?.type === 'range'\" align=\"start\"\r\n [innerHTML]=\"controlValue\"></mat-hint>\r\n <mat-hint *ngIf=\"options?.description && (!options?.showErrors || !options?.errorMessage)\"\r\n align=\"end\" [innerHTML]=\"options?.description\"></mat-hint>\r\n </mat-form-field>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>`,\r\n styles: [`\r\n mat-error { font-size: 75%; margin-top: -1rem; margin-bottom: 0.5rem; }\r\n ::ng-deep json-schema-form mat-form-field .mat-mdc-form-field-wrapper .mat-form-field-flex\r\n .mat-form-field-infix { width: initial; }\r\n `],\r\n})\r\nexport class MaterialNumberComponent implements OnInit {\r\n matFormFieldDefaultOptions = inject(MAT_FORM_FIELD_DEFAULT_OPTIONS, { optional: true });\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n allowNegative = true;\r\n allowDecimal = true;\r\n allowExponents = false;\r\n lastValidNumber = '';\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n //needed as templates don't accept something like [attributes]=\"options?.['x-inputAttributes']\"\r\n get inputAttributes() {\r\n return this.options?.['x-inputAttributes'];\r\n }\r\n \r\n //TODO review:stopPropagation used as a workaround \r\n //to prevent dragging onMouseDown and onTouchStart events\r\n onMouseDown(e){\r\n e.stopPropagation();\r\n }\r\n\r\n onTouchStart(e){\r\n e.stopPropagation();\r\n } \r\n \r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this);\r\n if (this.layoutNode().dataType === 'integer') { this.allowDecimal = false; }\r\n if (!this.options.notitle && !this.options.description && this.options.placeholder) {\r\n this.options.description = this.options.placeholder;\r\n }\r\n }\r\n\r\n updateValue(event) {\r\n this.jsf.updateValue(this, event.target.value);\r\n }\r\n\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n// TODO: Add this control\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-one-of-widget',\r\n template: ``,\r\n})\r\nexport class MaterialOneOfComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this);\r\n }\r\n\r\n updateValue(event) {\r\n this.jsf.updateValue(this, event.target.value);\r\n }\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService, buildTitleMap } from '@ng-formworks/core';\r\n\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-radios-widget',\r\n template: `\r\n <div>\r\n <div *ngIf=\"options?.title\">\r\n <label\r\n [attr.for]=\"'control' + layoutNode()?._id\"\r\n [class]=\"options?.labelHtmlClass || ''\"\r\n [style.display]=\"options?.notitle ? 'none' : ''\"\r\n [innerHTML]=\"options?.title\"></label>\r\n </div>\r\n <mat-radio-group *ngIf=\"boundControl\"\r\n [formControl]=\"formControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [attr.required]=\"options?.required\"\r\n [style.flex-direction]=\"flexDirection\"\r\n [name]=\"controlName\"\r\n (blur)=\"options.showErrors = true\">\r\n <mat-radio-button *ngFor=\"let radioItem of radiosList\"\r\n [id]=\"'control' + layoutNode()?._id + '/' + radioItem?.name\"\r\n [value]=\"radioItem?.value\">\r\n <span [innerHTML]=\"radioItem?.name\"></span>\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n <mat-radio-group *ngIf=\"!boundControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [attr.required]=\"options?.required\"\r\n [style.flex-direction]=\"flexDirection\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [name]=\"controlName\"\r\n [value]=\"controlValue\">\r\n <mat-radio-button *ngFor=\"let radioItem of radiosList\"\r\n [id]=\"'control' + layoutNode()?._id + '/' + radioItem?.name\"\r\n [value]=\"radioItem?.value\"\r\n (click)=\"updateValue(radioItem?.value)\">\r\n <span [innerHTML]=\"radioItem?.name\"></span>\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>\r\n </div>`,\r\n styles: [`\r\n /* TODO(mdc-migration): The following rule targets internal classes of radio that may no longer apply for the MDC version. */\r\n mat-radio-group { display: inline-flex; }\r\n /* TODO(mdc-migration): The following rule targets internal classes of radio that may no longer apply for the MDC version. */\r\n mat-radio-button { margin: 2px; }\r\n mat-error { font-size: 75%; }\r\n `]\r\n})\r\nexport class MaterialRadiosComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n flexDirection = 'column';\r\n radiosList: any[] = [];\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n if (this.layoutNode().type === 'radios-inline') {\r\n this.flexDirection = 'row';\r\n }\r\n this.radiosList = buildTitleMap(\r\n this.options.titleMap || this.options.enumNames,\r\n this.options.enum, true\r\n );\r\n this.jsf.initializeControl(this, !this.options.readonly);\r\n }\r\n\r\n updateValue(value) {\r\n this.options.showErrors = true;\r\n this.jsf.updateValue(this, value);\r\n }\r\n}\r\n","import { Component, OnInit, inject, input } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { JsonSchemaFormService, buildTitleMap, isArray } from '@ng-formworks/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-select-widget',\r\n template: `\r\n <mat-form-field\r\n [appearance]=\"options?.appearance || matFormFieldDefaultOptions?.appearance || 'fill'\"\r\n [class]=\"options?.htmlClass || ''\" class=\"sortable-filter\"\r\n [floatLabel]=\"options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')\"\r\n [hideRequiredMarker]=\"options?.hideRequired ? 'true' : 'false'\"\r\n [style.width]=\"'100%'\">\r\n <mat-label *ngIf=\"!options?.notitle\">{{options?.title}}</mat-label>\r\n <span matPrefix *ngIf=\"options?.prefix || options?.fieldAddonLeft\"\r\n [innerHTML]=\"options?.prefix || options?.fieldAddonLeft\"></span>\r\n <mat-select *ngIf=\"boundControl\"\r\n [formControl]=\"formControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.name]=\"controlName\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [multiple]=\"options?.multiple\"\r\n [placeholder]=\"options?.notitle ? options?.placeholder : options?.title\"\r\n [required]=\"options?.required\"\r\n [style.width]=\"'100%'\"\r\n (blur)=\"options.showErrors = true\">\r\n <ng-template ngFor let-selectItem [ngForOf]=\"selectList\">\r\n <mat-option *ngIf=\"!isArray(selectItem?.items)\"\r\n [value]=\"selectItem?.value\">\r\n <span [innerHTML]=\"selectItem?.name\"></span>\r\n </mat-option>\r\n <mat-optgroup *ngIf=\"isArray(selectItem?.items)\"\r\n [label]=\"selectItem?.group\">\r\n <mat-option *ngFor=\"let subItem of selectItem.items\"\r\n [value]=\"subItem?.value\">\r\n <span [innerHTML]=\"subItem?.name\"></span>\r\n </mat-option>\r\n </mat-optgroup>\r\n </ng-template>\r\n </mat-select>\r\n <mat-select *ngIf=\"!boundControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.name]=\"controlName\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [multiple]=\"options?.multiple\"\r\n [placeholder]=\"options?.notitle ? options?.placeholder : options?.title\"\r\n [required]=\"options?.required\"\r\n [style.width]=\"'100%'\"\r\n [value]=\"controlValue\"\r\n (blur)=\"options.showErrors = true\"\r\n (change)=\"updateValue($event)\">\r\n <ng-template ngFor let-selectItem [ngForOf]=\"selectList\">\r\n <mat-option *ngIf=\"!isArray(selectItem?.items)\"\r\n [attr.selected]=\"selectItem?.value === controlValue\"\r\n [value]=\"selectItem?.value\">\r\n <span [innerHTML]=\"selectItem?.name\"></span>\r\n </mat-option>\r\n <mat-optgroup *ngIf=\"isArray(selectItem?.items)\"\r\n [label]=\"selectItem?.group\">\r\n <mat-option *ngFor=\"let subItem of selectItem.items\"\r\n [attr.selected]=\"subItem?.value === controlValue\"\r\n [value]=\"subItem?.value\">\r\n <span [innerHTML]=\"subItem?.name\"></span>\r\n </mat-option>\r\n </mat-optgroup>\r\n </ng-template>\r\n </mat-select>\r\n <span matSuffix *ngIf=\"options?.suffix || options?.fieldAddonRight\"\r\n [innerHTML]=\"options?.suffix || options?.fieldAddonRight\"></span>\r\n <mat-hint *ngIf=\"options?.description && (!options?.showErrors || !options?.errorMessage)\"\r\n align=\"end\" [innerHTML]=\"options?.description\"></mat-hint>\r\n </mat-form-field>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>`,\r\n styles: [`\r\n mat-error { font-size: 75%; margin-top: -1rem; margin-bottom: 0.5rem; }\r\n ::ng-deep json-schema-form mat-form-field .mat-mdc-form-field-wrapper .mat-form-field-flex\r\n .mat-form-field-infix { width: initial; }\r\n `],\r\n})\r\nexport class MaterialSelectComponent implements OnInit {\r\n matFormFieldDefaultOptions = inject(MAT_FORM_FIELD_DEFAULT_OPTIONS, { optional: true });\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n selectList: any[] = [];\r\n isArray = isArray;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.selectList = buildTitleMap(\r\n this.options.titleMap || this.options.enumNames,\r\n this.options.enum, !!this.options.required, !!this.options.flatList\r\n );\r\n this.jsf.initializeControl(this, !this.options.readonly);\r\n if (!this.options.notitle && !this.options.description && this.options.placeholder) {\r\n this.options.description = this.options.placeholder;\r\n }\r\n }\r\n\r\n updateValue(event) {\r\n this.options.showErrors = true;\r\n this.jsf.updateValue(this, event.value);\r\n }\r\n}\r\n","import { Component, OnInit, inject, input } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-slider-widget',\r\n template: `\r\n\r\n <mat-slider discrete *ngIf=\"boundControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [max]=\"options?.maximum\"\r\n [min]=\"options?.minimum\"\r\n [step]=\"options?.multipleOf || options?.step || 'any'\"\r\n [style.width]=\"'100%'\"\r\n class=\"sortable-filter\"\r\n (blur)=\"options.showErrors = true\">\r\n <input matSliderThumb [formControl]=\"formControl\" \r\n [attributes]=\"inputAttributes\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (touchstart)=\"onTouchStart($event)\"\r\n \r\n />\r\n </mat-slider>\r\n <mat-slider discrete *ngIf=\"!boundControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [disabled]=\"controlDisabled || options?.readonly\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [max]=\"options?.maximum\"\r\n [min]=\"options?.minimum\"\r\n [step]=\"options?.multipleOf || options?.step || 'any'\"\r\n [style.width]=\"'100%'\"\r\n class=\"sortable-filter\"\r\n (blur)=\"options.showErrors = true\" #ngSlider>\r\n <input matSliderThumb [value]=\"controlValue\" \r\n (change)=\"updateValue({source: ngSliderThumb, parent: ngSlider, value: ngSliderThumb.value})\"\r\n #ngSliderThumb=\"matSliderThumb\" \r\n [attributes]=\"inputAttributes\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (touchstart)=\"onTouchStart($event)\"\r\n\r\n />\r\n </mat-slider>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>`,\r\n styles: [` mat-error { font-size: 75%; } `],\r\n})\r\nexport class MaterialSliderComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n allowNegative = true;\r\n allowDecimal = true;\r\n allowExponents = false;\r\n lastValidNumber = '';\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n //needed as templates don't accept something like [attributes]=\"options?.['x-inputAttributes']\"\r\n get inputAttributes() {\r\n return this.options?.['x-inputAttributes'];\r\n }\r\n\r\n //TODO review:stopPropagation used as a workaround \r\n //to prevent dragging onMouseDown and onTouchStart events\r\n onMouseDown(e){\r\n e.stopPropagation();\r\n }\r\n\r\n onTouchStart(e){\r\n e.stopPropagation();\r\n }\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this, !this.options.readonly);\r\n }\r\n\r\n updateValue(event) {\r\n this.options.showErrors = true;\r\n this.jsf.updateValue(this, event.value);\r\n }\r\n\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n// TODO: Add this control\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-stepper-widget',\r\n template: ``,\r\n})\r\nexport class MaterialStepperComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this);\r\n }\r\n\r\n updateValue(event) {\r\n this.jsf.updateValue(this, event.target.value);\r\n }\r\n}\r\n","import { Component, OnInit, input, signal, inject } from '@angular/core';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-tabs-widget',\r\n template: `\r\n <nav mat-tab-nav-bar [tabPanel]=\"tabPanel\"\r\n [attr.aria-label]=\"options?.label || options?.title || ''\"\r\n [style.width]=\"'100%'\">\r\n <a mat-tab-link *ngFor=\"let item of layoutNode()?.items; let i = index\"\r\n [active]=\"selectedItem === i\"\r\n (click)=\"select(i)\">\r\n <span *ngIf=\"showAddTab || item.type !== '$ref'\"\r\n [innerHTML]=\"setTabTitle(item, i)\"></span>\r\n </a>\r\n </nav>\r\n <mat-tab-nav-panel #tabPanel>\r\n <div *ngFor=\"let layoutItem of layoutNode()?.items; let i = index\"\r\n [class]=\"options?.htmlClass || ''\">\r\n <select-framework-widget *ngIf=\"selectedItem === i\"\r\n [class]=\"(options?.fieldHtmlClass || '') + ' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')\"\r\n [dataIndex]=\"layoutNode()?.dataType === 'array' ? (dataIndex() || []).concat(i) : dataIndex()\"\r\n [layoutIndex]=\"(layoutIndex() || []).concat(i)\"\r\n [layoutNode]=\"layoutItem\"></select-framework-widget>\r\n </div>\r\n </mat-tab-nav-panel>\r\n`,\r\n styles: [` a { cursor: pointer; } `],\r\n})\r\nexport class MaterialTabsComponent implements OnInit {\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n options: any;\r\n itemCount: number;\r\n selectedItem = 0;\r\n showAddTab = true;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.itemCount = this.layoutNode().items.length - 1;\r\n this.updateControl();\r\n }\r\n\r\n select(index) {\r\n const layoutNode = this.layoutNode();\r\n if (layoutNode.items[index].type === '$ref') {\r\n this.jsf.addItem({\r\n layoutNode: signal(layoutNode.items[index]),\r\n layoutIndex: signal(this.layoutIndex().concat(index)),\r\n dataIndex: signal(this.dataIndex().concat(index))\r\n });\r\n this.updateControl();\r\n }\r\n this.selectedItem = index;\r\n }\r\n\r\n updateControl() {\r\n this.itemCount = this.layoutNode().items.length - 1;\r\n const lastItem = this.layoutNode().items[this.layoutNode().items.length - 1];\r\n this.showAddTab = lastItem.type === '$ref' &&\r\n this.itemCount < (lastItem.options.maxItems || 1000);\r\n }\r\n\r\n setTabTitle(item: any, index: number): string {\r\n return this.jsf.setArrayItemTitle(this, item, index);\r\n }\r\n}\r\n","import { Component, OnInit, input, inject } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'material-textarea-widget',\r\n template: `\r\n <mat-form-field [appearance]=\"options?.appearance || matFormFieldDefaultOptions?.appearance || 'fill'\"\r\n [class]=\"options?.htmlClass || ''\"\r\n [floatLabel]=\"options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')\"\r\n [hideRequiredMarker]=\"options?.hideRequired ? 'true' : 'false'\"\r\n [style.width]=\"'100%'\">\r\n <mat-label *ngIf=\"!options?.notitle\">{{options?.title}}</mat-label>\r\n <span matPrefix *ngIf=\"options?.prefix || options?.fieldAddonLeft\"\r\n [innerHTML]=\"options?.prefix || options?.fieldAddonLeft\"></span>\r\n <textarea matInput *ngIf=\"boundControl\"\r\n [formControl]=\"formControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.list]=\"'control' + layoutNode()?._id + 'Autocomplete'\"\r\n [attr.maxlength]=\"options?.maxLength\"\r\n [attr.minlength]=\"options?.minLength\"\r\n [attr.pattern]=\"options?.pattern\"\r\n [required]=\"options?.required\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [name]=\"controlName\"\r\n [placeholder]=\"options?.notitle ? options?.placeholder : options?.title\"\r\n [readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [style.width]=\"'100%'\"\r\n (blur)=\"options.showErrors = true\"></textarea>\r\n <textarea matInput *ngIf=\"!boundControl\"\r\n [attr.aria-describedby]=\"'control' + layoutNode()?._id + 'Status'\"\r\n [attr.list]=\"'control' + layoutNode()?._id + 'Autocomplete'\"\r\n [attr.maxlength]=\"options?.maxLength\"\r\n [attr.minlength]=\"options?.minLength\"\r\n [attr.pattern]=\"options?.pattern\"\r\n [required]=\"options?.required\"\r\n [disabled]=\"controlDisabled\"\r\n [id]=\"'control' + layoutNode()?._id\"\r\n [name]=\"controlName\"\r\n [placeholder]=\"options?.notitle ? options?.placeholder : options?.title\"\r\n [readonly]=\"options?.readonly ? 'readonly' : null\"\r\n [style.width]=\"'100%'\"\r\n [value]=\"controlValue\"\r\n (input)=\"updateValue($event)\"\r\n (blur)=\"options.showErrors = true\"></textarea>\r\n <span matSuffix *ngIf=\"options?.suffix || options?.fieldAddonRight\"\r\n [innerHTML]=\"options?.suffix || options?.fieldAddonRight\"></span>\r\n <mat-hint *ngIf=\"options?.description && (!options?.showErrors || !options?.errorMessage)\"\r\n align=\"end\" [innerHTML]=\"options?.description\"></mat-hint>\r\n </mat-form-field>\r\n <mat-error *ngIf=\"options?.showErrors && options?.errorMessage\"\r\n [innerHTML]=\"options?.errorMessage\"></mat-error>`,\r\n styles: [`\r\n mat-error { font-size: 75%; margin-top: -1rem; margin-bottom: 0.5rem; }\r\n ::ng-deep json-schema-form mat-form-field .mat-mdc-form-field-wrapper .mat-form-field-flex\r\n .mat-form-field-infix { width: initial; }\r\n `],\r\n})\r\nexport class MaterialTextareaComponent implements OnInit {\r\n matFormFieldDefaultOptions = inject(MAT_FORM_FIELD_DEFAULT_OPTIONS, { optional: true });\r\n private jsf = inject(JsonSchemaFormService);\r\n\r\n formControl: AbstractControl;\r\n controlName: string;\r\n controlValue: any;\r\n controlDisabled = false;\r\n boundControl = false;\r\n options: any;\r\n readonly layoutNode = input<any>(undefined);\r\n readonly layoutIndex = input<number[]>(undefined);\r\n readonly dataIndex = input<number[]>(undefined);\r\n\r\n ngOnInit() {\r\n this.options = this.layoutNode().options || {};\r\n this.jsf.initializeControl(this);\r\n if (!this.options.notitle && !this.options.description && this.options.placeholder) {\r\n this.options.description = this.options.placeholder;\r\n }\r\n }\r\n\r\n updateValue(event) {\r\n this.jsf.updateValue(this, event.target.value);\r\n }\r\n}\r\n","import { FlexLayoutRootComponent } from './flex-layout-root.component';\r\nimport { FlexLayoutSectionComponent } from './flex-layout-section.component';\r\nimport { MaterialAddReferenceComponent } from './material-add-reference.component';\r\nimport { MaterialButtonComponent } from './material-button.component';\r\nimport { MaterialButtonGroupComponent } from './material-button-group.component';\r\nimport { MaterialCheckboxComponent } from './material-checkbox.component';\r\nimport { MaterialCheckboxesComponent } from './material-checkboxes.component';\r\nimport { MaterialChipListComponent } from './material-chip-list.component';\r\nimport { MaterialDatepickerComponent } from './material-datepicker.component';\r\nimport { MaterialDesignFrameworkComponent } from '../material-design-framework.component';\r\nimport { MaterialFileComponent } from './material-file.component';\r\nimport { MaterialInputComponent } from './material-input.component';\r\nimport { MaterialNumberComponent } from './material-number.component';\r\nimport { MaterialOneOfComponent } from './material-one-of.component';\r\nimport { MaterialRadiosComponent } from './material-radios.component';\r\nimport { MaterialSelectComponent } from './material-select.component';\r\nimport { MaterialSliderComponent } from './material-slider.component';\r\nimport { MaterialStepperComponent } from './material-stepper.component';\r\nimport { MaterialTabsComponent } from './material-tabs.component';\r\nimport { MaterialTextareaComponent } from './material-textarea.component';\r\n\r\n\r\nexport const MATERIAL_FRAMEWORK_COMPONENTS = [\r\n FlexLayoutRootComponent, FlexLayoutSectionComponent,\r\n MaterialAddReferenceComponent, MaterialOneOfComponent,\r\n MaterialButtonComponent, MaterialButtonGroupComponent,\r\n MaterialCheckboxComponent, MaterialCheckboxesComponent,\r\n MaterialChipListComponent, MaterialDatepickerComponent,\r\n MaterialFileComponent, MaterialInputComponent, MaterialNumberComponent,\r\n MaterialRadiosComponent, MaterialSelectComponent, MaterialSliderComponent,\r\n MaterialStepperComponent, MaterialTabsComponent, MaterialTextareaComponent,\r\n MaterialDesignFrameworkComponent\r\n];\r\n\r\nexport { FlexLayoutRootComponent } from './flex-layout-root.component';\r\nexport { FlexLayoutSectionComponent } from './flex-layout-section.component';\r\nexport { MaterialAddReferenceComponent } from './material-add-reference.component';\r\nexport { MaterialOneOfComponent } from './material-one-of.component';\r\nexport { MaterialButtonComponent } from './material-button.component';\r\nexport { MaterialButtonGroupComponent } from './material-button-group.component';\r\nexport { MaterialCheckboxComponent } from './material-checkbox.component';\r\nexport { MaterialCheckboxesComponent } from './material-checkboxes.component';\r\nexport { MaterialChipListComponent } from './material-chip-list.component';\r\nexport { MaterialDatepickerComponent } from './material-datepicker.component';\r\nexport { MaterialFileComponent } from './material-file.component';\r\nexport { MaterialInputComponent } from './material-input.component';\r\nexport { MaterialNumberComponent } from './material-number.component';\r\nexport { MaterialRadiosComponent } from './material-radios.component';\r\nexport { MaterialSelectComponent } from './material-select.component';\r\nexport { MaterialSliderComponent } from './material-slider.component';\r\nexport { MaterialStepperComponent } from './material-stepper.component';\r\nexport { MaterialTabsComponent } from './material-tabs.component';\r\nexport { MaterialTextareaComponent } from './material-textarea.component';\r\nexport { MaterialDesignFrameworkComponent } from '../material-design-framework.component';\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { CssFramework, CssframeworkService } from '@ng-formworks/cssframework';\r\nimport { cssFrameworkCfgMaterialDesign } from './material-design-cssframework';\r\nimport {\r\n FlexLayoutRootComponent,\r\n FlexLayoutSectionComponent,\r\n MaterialAddReferenceComponent,\r\n MaterialButtonComponent,\r\n MaterialButtonGroupComponent,\r\n MaterialCheckboxComponent,\r\n MaterialCheckboxesComponent,\r\n MaterialChipListComponent,\r\n MaterialDatepickerComponent,\r\n MaterialDesignFrameworkComponent,\r\n MaterialFileComponent,\r\n MaterialInputComponent,\r\n MaterialNumberComponent,\r\n MaterialOneOfComponent,\r\n MaterialRadiosComponent,\r\n MaterialSelectComponent,\r\n MaterialSliderComponent,\r\n MaterialStepperComponent,\r\n MaterialTabsComponent,\r\n MaterialTextareaComponent\r\n} from './widgets/public_api';\r\n\r\n\r\n// Material Design Framework\r\n// https://github.com/angular/material2\r\n\r\n@Injectable()\r\nexport class MaterialDesignFramework extends CssFramework {\r\n cssFWService: CssframeworkService;\r\n\r\n name = 'material-design';\r\n\r\n framework = MaterialDesignFrameworkComponent;\r\n\r\n stylesheets = [\r\n '//fonts.googleapis.com/icon?family=Material+Icons',\r\n '//fonts.googleapis.com/css?family=Roboto:300,400,500,700',\r\n ];\r\n\r\n _widgets = {\r\n 'root': FlexLayoutRootComponent,\r\n 'section': FlexLayoutSectionComponent,\r\n '$ref': MaterialAddReferenceComponent,\r\n 'button': MaterialButtonComponent,\r\n 'button-group': MaterialButtonGroupComponent,\r\n 'checkbox': MaterialCheckboxComponent,\r\n 'checkboxes': MaterialCheckboxesComponent,\r\n 'chip-list': MaterialChipListComponent,\r\n 'date': MaterialDatepickerComponent,\r\n 'file': MaterialFileComponent,\r\n 'number': MaterialNumberComponent,\r\n 'one-of': MaterialOneOfComponent,\r\n 'radios': MaterialRadiosComponent,\r\n 'select': MaterialSelectComponent,\r\n 'slider': MaterialSliderComponent,\r\n 'stepper': MaterialStepperComponent,\r\n 'tabs': MaterialTabsComponent,\r\n 'text': MaterialInputComponent,\r\n 'textarea': MaterialTextareaComponent,\r\n 'alt-date': 'date',\r\n 'any-of': 'one-of',\r\n 'card': 'section',\r\n 'color': 'text',\r\n 'expansion-panel': 'section',\r\n 'hidden': 'none',\r\n 'image': 'none',\r\n 'integer': 'number',\r\n 'radiobuttons': 'button-group',\r\n 'range': 'slider',\r\n 'submit': 'button',\r\n 'tagsinput': 'chip-list',\r\n 'wizard': 'stepper',\r\n };\r\n\r\n constructor(){\r\n const cssFWService = inject(CssframeworkService);\r\n\r\n //super(cssFrameworkCfgMaterialDesign,cssFWService);\r\n super(cssFrameworkCfgMaterialDesign);\r\n this.cssFWService = cssFWService;\r\n\r\n this.widgets=this._widgets\r\n }\r\n\r\n\r\n}\r\n","import { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\nimport {\r\n Framework,\r\n FrameworkLibraryService,\r\n JsonSchemaFormModule,\r\n JsonSchemaFormService,\r\n WidgetLibraryModule, WidgetLibraryService\r\n} from '@ng-formworks/core';\r\nimport { CssFrameworkModule } from '@ng-formworks/cssframework';\r\nimport { SortablejsModule } from 'nxt-sortablejs';\r\nimport { MaterialDesignFramework } from './material-design.framework';\r\nimport { MATERIAL_FRAMEWORK_COMPONENTS } from './widgets/public_api';\r\n\r\n\r\n/**\r\n * unused @angular/material modules:\r\n * MatDialogModule, MatGridListModule, MatListModule, MatMenuModule,\r\n * MatPaginatorModule, MatProgressBarModule, MatProgressSpinnerModule,\r\n * MatSidenavModule, MatSnackBarModule, MatSortModule, MatTableModule,\r\n * ,\r\n */\r\nexport const ANGULAR_MATERIAL_MODULES = [\r\n MatAutocompleteModule, MatButtonModule, MatButtonToggleModule, MatCardModule,\r\n MatCheckboxModule, MatChipsModule, MatDatepickerModule, MatExpansionModule,\r\n MatFormFieldModule, MatIconModule, MatInputModule, MatNativeDateModule,\r\n MatRadioModule, MatSelectModule, MatSliderModule, MatSlideToggleModule,\r\n MatStepperModule, MatTabsModule, MatTooltipModule,\r\n MatToolbarModule, MatMenuModule, MatToolbarModule,\r\n DragDropModule\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ...ANGULAR_MATERIAL_MODULES,\r\n WidgetLibraryModule,\r\n JsonSchemaFormModule,\r\n CssFrameworkModule,\r\n SortablejsModule.forRoot({\r\n //disabled:false,\r\n //draggable:\".draggableitem\",//\">:not(.nonsort)\",//\">.draggable-item\",//\":not(.nonsort)\",//\">*\",//\":not(.nonsort)\",//\":not(.non-draggable)\",\r\n filter:\".sortable-filter\",//needed to disable dragging on input range elements, class needs to be added to the element or its parent\r\n preventOnFilter: false//needed for input range elements slider do still work\r\n \r\n })\r\n ],\r\n declarations: [\r\n ...MATERIAL_FRAMEWORK_COMPONENTS,\r\n ],\r\n exports: [\r\n JsonSchemaFormModule,\r\n ...MATERIAL_FRAMEWORK_COMPONENTS,\r\n ],\r\n providers: [\r\n JsonSchemaFormService,\r\n FrameworkLibraryService,\r\n WidgetLibraryService,\r\n { provide: Framework, useClass: MaterialDesignFramework, multi: true },\r\n ]\r\n})\r\nexport class MaterialDesignFrameworkModule {\r\n constructor() {\r\n\r\n }\r\n}\r\n","/*\r\n * Public API Surface of @ng-formworks/material-framework\r\n */\r\n\r\nexport * from './lib/material-design-framework.component';\r\nexport * from './lib/material-design-framework.module';\r\nexport * from './lib/material-design.framework';\r\nexport * from './lib/widgets/public_api';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2","i3","i5.FlexLayoutRootComponent","i5","i4","i6","i7","i8","i9","i1.FlexLayoutRootComponent","i2.FlexLayoutSectionComponent","i3.MaterialAddReferenceComponent","i4.MaterialOneOfComponent","i5.MaterialButtonComponent","i6.MaterialButtonGroupComponent","i7.MaterialCheckboxComponent","i8.MaterialCheckboxesComponent","i9.MaterialChipListComponent","i10.MaterialDatepickerComponent","i11.MaterialFileComponent","i12.MaterialInputComponent","i13.MaterialNumberComponent","i14.MaterialRadiosComponent","i15.MaterialSelectComponent","i16.MaterialSliderComponent","i17.MaterialStepperComponent","i18.MaterialTabsComponent","i19.MaterialTextareaComponent","i20.MaterialDesignFrameworkComponent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-formworks/material",
3
- "version": "17.5.7",
3
+ "version": "17.5.8",
4
4
  "description": "Angular ng-formworks - JSON Schema Form builder using Angular Material UI",
5
5
  "author": "https://github.com/zahmo/ng-formworks/graphs/contributors",
6
6
  "keywords": [
@@ -38,8 +38,8 @@
38
38
  "private": false,
39
39
  "dependencies": {
40
40
  "lodash-es": "~4.17.21",
41
- "@ng-formworks/core": "~17.5.7",
42
- "@ng-formworks/cssframework": "~17.5.7",
41
+ "@ng-formworks/core": "~17.5.8",
42
+ "@ng-formworks/cssframework": "~17.5.8",
43
43
  "tslib": "^2.0.0"
44
44
  },
45
45
  "peerDependencies": {