@firestitch/list 18.0.69 → 18.0.71

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.
@@ -0,0 +1,15 @@
1
+ import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
2
+ import { FsFile } from '@firestitch/file';
3
+ import { Row } from '../../../../../models/row';
4
+ import { RowAction } from '../../../../../models/row-action.model';
5
+ import * as i0 from "@angular/core";
6
+ export declare class FsRowInlineButtonContentComponent implements OnChanges {
7
+ rowAction: RowAction;
8
+ row: Row;
9
+ fileSelect: EventEmitter<FsFile | FsFile[]>;
10
+ icon: string;
11
+ ngOnChanges(changes: SimpleChanges): void;
12
+ fileSelected(event: FsFile | FsFile[]): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<FsRowInlineButtonContentComponent, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<FsRowInlineButtonContentComponent, "fs-list-row-inline-button-content", never, { "rowAction": { "alias": "rowAction"; "required": false; }; "row": { "alias": "row"; "required": false; }; }, { "fileSelect": "fileSelect"; }, never, never, true, never>;
15
+ }
@@ -0,0 +1,15 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { FsFile } from '@firestitch/file';
3
+ import { Row } from '../../../../../models/row';
4
+ import { RowAction } from '../../../../../models/row-action.model';
5
+ import * as i0 from "@angular/core";
6
+ export declare class FsRowInlineIconButtonComponent {
7
+ rowAction: RowAction;
8
+ row: Row;
9
+ clicked: EventEmitter<any>;
10
+ fileSelect: EventEmitter<FsFile | FsFile[]>;
11
+ actionClick(event: Event): void;
12
+ fileSelected(event: FsFile | FsFile[]): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<FsRowInlineIconButtonComponent, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<FsRowInlineIconButtonComponent, "fs-list-row-inline-icon-button", never, { "rowAction": { "alias": "rowAction"; "required": false; }; "row": { "alias": "row"; "required": false; }; }, { "clicked": "clicked"; "fileSelect": "fileSelect"; }, never, never, true, never>;
15
+ }
@@ -1,20 +1,16 @@
1
- import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
2
  import { FsFile } from '@firestitch/file';
3
- import { ActionType } from '../../../../enums/action-type.enum';
4
3
  import { Row } from '../../../../models/row';
5
4
  import { RowAction } from '../../../../models/row-action.model';
6
5
  import * as i0 from "@angular/core";
7
- export declare class FsRowInlineActionComponent implements OnInit, OnChanges {
8
- actionType: ActionType;
6
+ export declare class FsRowInlineActionComponent implements OnInit {
9
7
  rowAction: RowAction;
10
8
  row: Row;
11
9
  clicked: EventEmitter<any>;
12
10
  fileSelect: EventEmitter<FsFile | FsFile[]>;
13
- icon: string;
14
- ngOnChanges(changes: SimpleChanges): void;
15
- actionClick(event: any): void;
11
+ actionClick(event: Event): void;
16
12
  ngOnInit(): void;
17
- fileSelected(event: any): void;
13
+ fileSelected(event: FsFile | FsFile[]): void;
18
14
  static ɵfac: i0.ɵɵFactoryDeclaration<FsRowInlineActionComponent, never>;
19
15
  static ɵcmp: i0.ɵɵComponentDeclaration<FsRowInlineActionComponent, "fs-list-row-inline-action", never, { "rowAction": { "alias": "rowAction"; "required": false; }; "row": { "alias": "row"; "required": false; }; }, { "clicked": "clicked"; "fileSelect": "fileSelect"; }, never, never, true, never>;
20
16
  }
@@ -0,0 +1,36 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { MatIcon } from '@angular/material/icon';
3
+ import { FsFileModule } from '@firestitch/file';
4
+ import { RowAction } from '../../../../../models/row-action.model';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@firestitch/file";
7
+ export class FsRowInlineButtonContentComponent {
8
+ rowAction;
9
+ row;
10
+ fileSelect = new EventEmitter();
11
+ icon;
12
+ ngOnChanges(changes) {
13
+ if ((changes.row || changes.rowAction) && this.rowAction && this.row) {
14
+ this.icon = this.rowAction.getRowIcon(this.row.data);
15
+ }
16
+ }
17
+ fileSelected(event) {
18
+ this.fileSelect.emit(event);
19
+ }
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowInlineButtonContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsRowInlineButtonContentComponent, isStandalone: true, selector: "fs-list-row-inline-button-content", inputs: { rowAction: "rowAction", row: "row" }, outputs: { fileSelect: "fileSelect" }, usesOnChanges: true, ngImport: i0, template: "@if (!rowAction?.fileConfig) {\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ rowAction?.label }}\n} @else {\n <fs-file\n class=\"action-button\"\n [accept]=\"rowAction.fileConfig.accept || '*'\"\n [multiple]=\"rowAction.fileConfig.multiple\"\n [minWidth]=\"rowAction.fileConfig.minWidth\"\n [minHeight]=\"rowAction.fileConfig.minHeight\"\n [imageWidth]=\"rowAction.fileConfig.maxWidth\"\n [imageHeight]=\"rowAction.fileConfig.maxHeight\"\n (select)=\"fileSelected($event)\"\n (error)=\"rowAction.fileConfig.error && rowAction.fileConfig.error($event)\">\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ rowAction.label }}\n </fs-file>\n}\n\n", dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FsFileModule }, { kind: "component", type: i1.FsFileComponent, selector: "fs-file", inputs: ["minHeight", "minWidth", "orientate", "multiple", "capture", "allowClick", "allowDrop", "accept", "disabled", "imageWidth", "imageHeight", "imageQuality"], outputs: ["select", "error", "beforeProcessing", "clicked", "declined"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowInlineButtonContentComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ selector: 'fs-list-row-inline-button-content', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
26
+ MatIcon,
27
+ FsFileModule,
28
+ ], template: "@if (!rowAction?.fileConfig) {\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ rowAction?.label }}\n} @else {\n <fs-file\n class=\"action-button\"\n [accept]=\"rowAction.fileConfig.accept || '*'\"\n [multiple]=\"rowAction.fileConfig.multiple\"\n [minWidth]=\"rowAction.fileConfig.minWidth\"\n [minHeight]=\"rowAction.fileConfig.minHeight\"\n [imageWidth]=\"rowAction.fileConfig.maxWidth\"\n [imageHeight]=\"rowAction.fileConfig.maxHeight\"\n (select)=\"fileSelected($event)\"\n (error)=\"rowAction.fileConfig.error && rowAction.fileConfig.error($event)\">\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ rowAction.label }}\n </fs-file>\n}\n\n" }]
29
+ }], propDecorators: { rowAction: [{
30
+ type: Input
31
+ }], row: [{
32
+ type: Input
33
+ }], fileSelect: [{
34
+ type: Output
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2JvZHkvcm93L2lubGluZS1hY3Rpb24vYnV0dG9uLWNvbnRlbnQvYnV0dG9uLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2JvZHkvcm93L2lubGluZS1hY3Rpb24vYnV0dG9uLWNvbnRlbnQvYnV0dG9uLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpELE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7OztBQWFuRSxNQUFNLE9BQU8saUNBQWlDO0lBR3JDLFNBQVMsQ0FBWTtJQUdyQixHQUFHLENBQU07SUFHVCxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFFbkQsSUFBSSxDQUFTO0lBRWIsV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNwRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7SUFFTSxZQUFZLENBQUMsS0FBd0I7UUFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzt1R0FyQlUsaUNBQWlDOzJGQUFqQyxpQ0FBaUMseU1DNUI5QywydkJBMkJBLDRDREhJLE9BQU8sMElBQ1AsWUFBWTs7MkZBR0gsaUNBQWlDO2tCQVY3QyxTQUFTOytCQUNFLG1DQUFtQyxtQkFFNUIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsT0FBTzt3QkFDUCxZQUFZO3FCQUNiOzhCQUtNLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxHQUFHO3NCQURULEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5pbXBvcnQgeyBGc0ZpbGUsIEZzRmlsZU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2ZpbGUnO1xuXG5pbXBvcnQgeyBSb3cgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvcm93JztcbmltcG9ydCB7IFJvd0FjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9yb3ctYWN0aW9uLm1vZGVsJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1saXN0LXJvdy1pbmxpbmUtYnV0dG9uLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdEljb24sXG4gICAgRnNGaWxlTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGc1Jvd0lubGluZUJ1dHRvbkNvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3dBY3Rpb246IFJvd0FjdGlvbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcm93OiBSb3c7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmaWxlU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxGc0ZpbGUgfCBGc0ZpbGVbXT4oKTtcblxuICBwdWJsaWMgaWNvbjogc3RyaW5nO1xuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYoKGNoYW5nZXMucm93IHx8IGNoYW5nZXMucm93QWN0aW9uKSAmJiB0aGlzLnJvd0FjdGlvbiAmJiB0aGlzLnJvdykge1xuICAgICAgdGhpcy5pY29uID0gdGhpcy5yb3dBY3Rpb24uZ2V0Um93SWNvbih0aGlzLnJvdy5kYXRhKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsZVNlbGVjdGVkKGV2ZW50OiBGc0ZpbGUgfCBGc0ZpbGVbXSk6IHZvaWQge1xuICAgIHRoaXMuZmlsZVNlbGVjdC5lbWl0KGV2ZW50KTtcbiAgfVxufVxuXG4iLCJAaWYgKCFyb3dBY3Rpb24/LmZpbGVDb25maWcpIHtcbiAgQGlmIChpY29uKSB7XG4gICAgPG1hdC1pY29uPlxuICAgICAge3sgaWNvbiB9fVxuICAgIDwvbWF0LWljb24+XG4gIH1cbiAge3sgcm93QWN0aW9uPy5sYWJlbCB9fVxufSBAZWxzZSB7XG4gIDxmcy1maWxlXG4gICAgICBjbGFzcz1cImFjdGlvbi1idXR0b25cIlxuICAgICAgW2FjY2VwdF09XCJyb3dBY3Rpb24uZmlsZUNvbmZpZy5hY2NlcHQgfHwgJyonXCJcbiAgICAgIFttdWx0aXBsZV09XCJyb3dBY3Rpb24uZmlsZUNvbmZpZy5tdWx0aXBsZVwiXG4gICAgICBbbWluV2lkdGhdPVwicm93QWN0aW9uLmZpbGVDb25maWcubWluV2lkdGhcIlxuICAgICAgW21pbkhlaWdodF09XCJyb3dBY3Rpb24uZmlsZUNvbmZpZy5taW5IZWlnaHRcIlxuICAgICAgW2ltYWdlV2lkdGhdPVwicm93QWN0aW9uLmZpbGVDb25maWcubWF4V2lkdGhcIlxuICAgICAgW2ltYWdlSGVpZ2h0XT1cInJvd0FjdGlvbi5maWxlQ29uZmlnLm1heEhlaWdodFwiXG4gICAgICAoc2VsZWN0KT1cImZpbGVTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgIChlcnJvcik9XCJyb3dBY3Rpb24uZmlsZUNvbmZpZy5lcnJvciAmJiByb3dBY3Rpb24uZmlsZUNvbmZpZy5lcnJvcigkZXZlbnQpXCI+XG4gICAgQGlmIChpY29uKSB7XG4gICAgICA8bWF0LWljb24+XG4gICAgICAgIHt7IGljb24gfX1cbiAgICAgIDwvbWF0LWljb24+XG4gICAgfVxuICAgIHt7IHJvd0FjdGlvbi5sYWJlbCB9fVxuICA8L2ZzLWZpbGU+XG59XG5cbiJdfQ==
@@ -0,0 +1,40 @@
1
+ import { NgClass } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
3
+ import { RouterLink } from '@angular/router';
4
+ import { MatIconAnchor, MatIconButton } from '@angular/material/button';
5
+ import { RowAction } from '../../../../../models/row-action.model';
6
+ import { FsRowInlineButtonContentComponent } from '../button-content/button-content.component';
7
+ import * as i0 from "@angular/core";
8
+ export class FsRowInlineIconButtonComponent {
9
+ rowAction;
10
+ row;
11
+ clicked = new EventEmitter();
12
+ fileSelect = new EventEmitter();
13
+ actionClick(event) {
14
+ this.clicked.emit(event);
15
+ }
16
+ fileSelected(event) {
17
+ this.fileSelect.emit(event);
18
+ }
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowInlineIconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsRowInlineIconButtonComponent, isStandalone: true, selector: "fs-list-row-inline-icon-button", inputs: { rowAction: "rowAction", row: "row" }, outputs: { clicked: "clicked", fileSelect: "fileSelect" }, ngImport: i0, template: "@if (rowAction) {\n @if (rowAction.routerLink) {\n <a\n mat-icon-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n } @else {\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n }\n}", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIconAnchor, selector: "a[mat-icon-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: FsRowInlineButtonContentComponent, selector: "fs-list-row-inline-button-content", inputs: ["rowAction", "row"], outputs: ["fileSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowInlineIconButtonComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'fs-list-row-inline-icon-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
25
+ NgClass,
26
+ RouterLink,
27
+ MatIconButton,
28
+ MatIconAnchor,
29
+ FsRowInlineButtonContentComponent,
30
+ ], template: "@if (rowAction) {\n @if (rowAction.routerLink) {\n <a\n mat-icon-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n } @else {\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n }\n}" }]
31
+ }], propDecorators: { rowAction: [{
32
+ type: Input
33
+ }], row: [{
34
+ type: Input
35
+ }], clicked: [{
36
+ type: Output
37
+ }], fileSelect: [{
38
+ type: Output
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2JvZHkvcm93L2lubGluZS1hY3Rpb24vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2JvZHkvcm93L2lubGluZS1hY3Rpb24vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBS3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFnQi9GLE1BQU0sT0FBTyw4QkFBOEI7SUFHbEMsU0FBUyxDQUFZO0lBR3JCLEdBQUcsQ0FBTTtJQUdULE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRzdCLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUVuRCxXQUFXLENBQUMsS0FBWTtRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQXdCO1FBQzFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7dUdBcEJVLDhCQUE4QjsyRkFBOUIsOEJBQThCLHFNQ2hDM0Msd3dCQXlCQyw0Q0RBRyxPQUFPLG9GQUNQLFVBQVUsb09BQ1YsYUFBYSw2RkFDYixhQUFhLHFHQUNiLGlDQUFpQzs7MkZBR3hCLDhCQUE4QjtrQkFiMUMsU0FBUzsrQkFDRSxnQ0FBZ0MsbUJBRXpCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsVUFBVTt3QkFDVixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsaUNBQWlDO3FCQUNsQzs4QkFLTSxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsR0FBRztzQkFEVCxLQUFLO2dCQUlDLE9BQU87c0JBRGIsTUFBTTtnQkFJQSxVQUFVO3NCQURoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IE1hdEljb25BbmNob3IsIE1hdEljb25CdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuXG5pbXBvcnQgeyBGc0ZpbGUgfSBmcm9tICdAZmlyZXN0aXRjaC9maWxlJztcblxuaW1wb3J0IHsgUm93IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL3Jvdyc7XG5pbXBvcnQgeyBSb3dBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvcm93LWFjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBGc1Jvd0lubGluZUJ1dHRvbkNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi9idXR0b24tY29udGVudC9idXR0b24tY29udGVudC5jb21wb25lbnQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWxpc3Qtcm93LWlubGluZS1pY29uLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdDbGFzcyxcbiAgICBSb3V0ZXJMaW5rLFxuICAgIE1hdEljb25CdXR0b24sXG4gICAgTWF0SWNvbkFuY2hvcixcbiAgICBGc1Jvd0lubGluZUJ1dHRvbkNvbnRlbnRDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzUm93SW5saW5lSWNvbkJ1dHRvbkNvbXBvbmVudCB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvd0FjdGlvbjogUm93QWN0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3c6IFJvdztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmaWxlU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxGc0ZpbGUgfCBGc0ZpbGVbXT4oKTtcblxuICBwdWJsaWMgYWN0aW9uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5jbGlja2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIGZpbGVTZWxlY3RlZChldmVudDogRnNGaWxlIHwgRnNGaWxlW10pOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVTZWxlY3QuZW1pdChldmVudCk7XG4gIH1cbn1cblxuIiwiQGlmIChyb3dBY3Rpb24pIHtcbiAgQGlmIChyb3dBY3Rpb24ucm91dGVyTGluaykge1xuICAgIDxhXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICBbcm91dGVyTGlua109XCJyb3dBY3Rpb24ucm91dGVyTGluay5saW5rXCJcbiAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInJvd0FjdGlvbi5yb3V0ZXJMaW5rLnF1ZXJ5UGFyYW1zXCI+XG4gICAgICA8ZnMtbGlzdC1yb3ctaW5saW5lLWJ1dHRvbi1jb250ZW50XG4gICAgICAgIFtyb3dBY3Rpb25dPVwicm93QWN0aW9uXCJcbiAgICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgICAoZmlsZVNlbGVjdCk9XCJmaWxlU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgPC9mcy1saXN0LXJvdy1pbmxpbmUtYnV0dG9uLWNvbnRlbnQ+XG4gICAgPC9hPlxuICB9IEBlbHNlIHtcbiAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgKGNsaWNrKT1cImFjdGlvbkNsaWNrKCRldmVudClcIlxuICAgICAgICBbbmdDbGFzc109XCJyb3dBY3Rpb24uY2xhc3NBcnJheVwiPlxuICAgICAgPGZzLWxpc3Qtcm93LWlubGluZS1idXR0b24tY29udGVudFxuICAgICAgICBbcm93QWN0aW9uXT1cInJvd0FjdGlvblwiXG4gICAgICAgIFtyb3ddPVwicm93XCJcbiAgICAgICAgKGZpbGVTZWxlY3QpPVwiZmlsZVNlbGVjdGVkKCRldmVudClcIj5cbiAgICAgIDwvZnMtbGlzdC1yb3ctaW5saW5lLWJ1dHRvbi1jb250ZW50PlxuICAgIDwvYnV0dG9uPlxuICB9XG59Il19
@@ -1,58 +1,46 @@
1
- import { AsyncPipe, NgClass, NgTemplateOutlet } from '@angular/common';
1
+ import { AsyncPipe, NgClass } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
3
3
  import { RouterLink } from '@angular/router';
4
- import { MatAnchor, MatButton, MatFabAnchor, MatFabButton, MatIconAnchor, MatIconButton, MatMiniFabAnchor, MatMiniFabButton } from '@angular/material/button';
5
- import { MatIcon } from '@angular/material/icon';
6
- import { FsFileModule } from '@firestitch/file';
4
+ import { MatAnchor, MatButton, MatFabAnchor, MatFabButton, MatMiniFabAnchor, MatMiniFabButton, } from '@angular/material/button';
7
5
  import { ActionType } from '../../../../enums/action-type.enum';
8
6
  import { RowAction } from '../../../../models/row-action.model';
7
+ import { FsRowInlineButtonContentComponent } from './button-content/button-content.component';
8
+ import { FsRowInlineIconButtonComponent } from './icon-button/icon-button.component';
9
9
  import * as i0 from "@angular/core";
10
- import * as i1 from "@firestitch/file";
11
10
  export class FsRowInlineActionComponent {
12
- actionType;
13
11
  rowAction;
14
12
  row;
15
13
  clicked = new EventEmitter();
16
14
  fileSelect = new EventEmitter();
17
- icon;
18
- ngOnChanges(changes) {
19
- if (changes.row) {
20
- this.icon = this.rowAction.getRowIcon(this.row.data);
21
- }
22
- }
23
15
  actionClick(event) {
24
16
  this.clicked.emit(event);
25
17
  }
26
18
  ngOnInit() {
27
- this.actionType = this.rowAction.type;
28
19
  if (!this.rowAction.label && this.rowAction.icon) {
29
- this.actionType = ActionType.Icon;
20
+ this.rowAction.type = ActionType.Icon;
30
21
  }
31
22
  }
32
23
  fileSelected(event) {
33
24
  this.fileSelect.emit(event);
34
25
  }
35
26
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowInlineActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsRowInlineActionComponent, isStandalone: true, selector: "fs-list-row-inline-action", inputs: { rowAction: "rowAction", row: "row" }, outputs: { clicked: "clicked", fileSelect: "fileSelect" }, usesOnChanges: true, ngImport: i0, template: "<ng-template #buttonContent>\n @if (!rowAction?.fileConfig) {\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ rowAction?.label }}\n } @else {\n <fs-file\n class=\"action-button\"\n [accept]=\"rowAction.fileConfig.accept || '*'\"\n [multiple]=\"rowAction.fileConfig.multiple\"\n [minWidth]=\"rowAction.fileConfig.minWidth\"\n [minHeight]=\"rowAction.fileConfig.minHeight\"\n [imageWidth]=\"rowAction.fileConfig.maxWidth\"\n [imageHeight]=\"rowAction.fileConfig.maxHeight\"\n (select)=\"fileSelected($event)\"\n (error)=\"rowAction.fileConfig.error && rowAction.fileConfig.error($event)\">\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ rowAction.label }}\n </fs-file>\n }\n</ng-template>\n@if (rowAction?.visible$ | async) {\n @switch (actionType) {\n <!-- Basic button -->\n @case ('basic') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n <!-- Raised button -->\n @case ('raised') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-raised-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-raised-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n <!-- Icon button -->\n @case ('icon') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-icon-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n <!-- Fab button -->\n @case ('fab') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n <!-- Mini Fab button -->\n @case ('mini-fab') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-mini-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-mini-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n }\n}", styles: ["mat-icon{display:flex}\n"], dependencies: [{ kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIconAnchor, selector: "a[mat-icon-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: MatFabAnchor, selector: "a[mat-fab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "component", type: MatMiniFabAnchor, selector: "a[mat-mini-fab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FsFileModule }, { kind: "component", type: i1.FsFileComponent, selector: "fs-file", inputs: ["minHeight", "minWidth", "orientate", "multiple", "capture", "allowClick", "allowDrop", "accept", "disabled", "imageWidth", "imageHeight", "imageQuality"], outputs: ["select", "error", "beforeProcessing", "clicked", "declined"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
27
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsRowInlineActionComponent, isStandalone: true, selector: "fs-list-row-inline-action", inputs: { rowAction: "rowAction", row: "row" }, outputs: { clicked: "clicked", fileSelect: "fileSelect" }, ngImport: i0, template: "@if (rowAction?.visible$ | async) {\n @switch (rowAction.type) {\n <!-- Basic button -->\n @case ('basic') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n } @else {\n <a\n mat-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n }\n }\n <!-- Raised button -->\n @case ('raised') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-raised-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n } @else {\n <a\n mat-raised-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n }\n }\n <!-- Icon button -->\n @case ('icon') {\n <fs-list-row-inline-icon-button\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (clicked)=\"actionClick($event)\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-icon-button>\n }\n <!-- Fab button -->\n @case ('fab') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n } @else {\n <a\n mat-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n }\n }\n <!-- Mini Fab button -->\n @case ('mini-fab') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-mini-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n } @else {\n <a\n mat-mini-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n }\n }\n }\n}", styles: ["mat-icon{display:flex}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: MatFabAnchor, selector: "a[mat-fab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "component", type: MatMiniFabAnchor, selector: "a[mat-mini-fab]", exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: FsRowInlineButtonContentComponent, selector: "fs-list-row-inline-button-content", inputs: ["rowAction", "row"], outputs: ["fileSelect"] }, { kind: "component", type: FsRowInlineIconButtonComponent, selector: "fs-list-row-inline-icon-button", inputs: ["rowAction", "row"], outputs: ["clicked", "fileSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
28
  }
38
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowInlineActionComponent, decorators: [{
39
30
  type: Component,
40
31
  args: [{ selector: 'fs-list-row-inline-action', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
41
- MatButton,
42
32
  NgClass,
43
- NgTemplateOutlet,
44
33
  MatAnchor,
45
34
  RouterLink,
46
- MatIconButton,
47
- MatIconAnchor,
35
+ MatButton,
48
36
  MatFabButton,
49
37
  MatFabAnchor,
50
38
  MatMiniFabButton,
51
39
  MatMiniFabAnchor,
52
- MatIcon,
53
- FsFileModule,
54
40
  AsyncPipe,
55
- ], template: "<ng-template #buttonContent>\n @if (!rowAction?.fileConfig) {\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ rowAction?.label }}\n } @else {\n <fs-file\n class=\"action-button\"\n [accept]=\"rowAction.fileConfig.accept || '*'\"\n [multiple]=\"rowAction.fileConfig.multiple\"\n [minWidth]=\"rowAction.fileConfig.minWidth\"\n [minHeight]=\"rowAction.fileConfig.minHeight\"\n [imageWidth]=\"rowAction.fileConfig.maxWidth\"\n [imageHeight]=\"rowAction.fileConfig.maxHeight\"\n (select)=\"fileSelected($event)\"\n (error)=\"rowAction.fileConfig.error && rowAction.fileConfig.error($event)\">\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ rowAction.label }}\n </fs-file>\n }\n</ng-template>\n@if (rowAction?.visible$ | async) {\n @switch (actionType) {\n <!-- Basic button -->\n @case ('basic') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n <!-- Raised button -->\n @case ('raised') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-raised-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-raised-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n <!-- Icon button -->\n @case ('icon') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-icon-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n <!-- Fab button -->\n @case ('fab') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n <!-- Mini Fab button -->\n @case ('mini-fab') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-mini-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-mini-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n }\n}", styles: ["mat-icon{display:flex}\n"] }]
41
+ FsRowInlineButtonContentComponent,
42
+ FsRowInlineIconButtonComponent,
43
+ ], template: "@if (rowAction?.visible$ | async) {\n @switch (rowAction.type) {\n <!-- Basic button -->\n @case ('basic') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n } @else {\n <a\n mat-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n }\n }\n <!-- Raised button -->\n @case ('raised') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-raised-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n } @else {\n <a\n mat-raised-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n }\n }\n <!-- Icon button -->\n @case ('icon') {\n <fs-list-row-inline-icon-button\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (clicked)=\"actionClick($event)\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-icon-button>\n }\n <!-- Fab button -->\n @case ('fab') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n } @else {\n <a\n mat-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n }\n }\n <!-- Mini Fab button -->\n @case ('mini-fab') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-mini-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n } @else {\n <a\n mat-mini-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n }\n }\n }\n}", styles: ["mat-icon{display:flex}\n"] }]
56
44
  }], propDecorators: { rowAction: [{
57
45
  type: Input
58
46
  }], row: [{
@@ -62,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
62
50
  }], fileSelect: [{
63
51
  type: Output
64
52
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYm9keS9yb3cvaW5saW5lLWFjdGlvbi9pbmxpbmUtYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9ib2R5L3Jvdy9pbmxpbmUtYWN0aW9uL2lubGluZS1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUosT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpELE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7QUEwQmhFLE1BQU0sT0FBTywwQkFBMEI7SUFFOUIsVUFBVSxDQUFhO0lBR3ZCLFNBQVMsQ0FBWTtJQUdyQixHQUFHLENBQU07SUFHVCxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUc3QixVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFHbkQsSUFBSSxDQUFTO0lBRWIsV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQUs7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBRXRDLElBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFLO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7dUdBdkNVLDBCQUEwQjsyRkFBMUIsMEJBQTBCLHFOQzlDdkMsc2dJQThIQyxrRkRoR0csU0FBUyxpTEFDVCxPQUFPLG9GQUNQLGdCQUFnQixvSkFDaEIsU0FBUyxpS0FDVCxVQUFVLG9PQUNWLGFBQWEsNkZBQ2IsYUFBYSxxR0FDYixZQUFZLDJHQUNaLFlBQVksbUhBQ1osZ0JBQWdCLDBGQUNoQixnQkFBZ0Isa0dBQ2hCLE9BQU8sMElBQ1AsWUFBWSw4VUFDWixTQUFTOzsyRkFHQSwwQkFBMEI7a0JBdkJ0QyxTQUFTOytCQUNFLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsU0FBUzt3QkFDVCxPQUFPO3dCQUNQLGdCQUFnQjt3QkFDaEIsU0FBUzt3QkFDVCxVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1AsWUFBWTt3QkFDWixTQUFTO3FCQUNWOzhCQU9NLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxHQUFHO3NCQURULEtBQUs7Z0JBSUMsT0FBTztzQkFEYixNQUFNO2dCQUlBLFVBQVU7c0JBRGhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgTWF0QW5jaG9yLCBNYXRCdXR0b24sIE1hdEZhYkFuY2hvciwgTWF0RmFiQnV0dG9uLCBNYXRJY29uQW5jaG9yLCBNYXRJY29uQnV0dG9uLCBNYXRNaW5pRmFiQW5jaG9yLCBNYXRNaW5pRmFiQnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuaW1wb3J0IHsgRnNGaWxlLCBGc0ZpbGVNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9maWxlJztcblxuaW1wb3J0IHsgQWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL2VudW1zL2FjdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgUm93IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3Jvdyc7XG5pbXBvcnQgeyBSb3dBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcm93LWFjdGlvbi5tb2RlbCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtbGlzdC1yb3ctaW5saW5lLWFjdGlvbicsXG4gIHN0eWxlVXJsczogWycuL2lubGluZS1hY3Rpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2lubGluZS1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdEJ1dHRvbixcbiAgICBOZ0NsYXNzLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgTWF0QW5jaG9yLFxuICAgIFJvdXRlckxpbmssXG4gICAgTWF0SWNvbkJ1dHRvbixcbiAgICBNYXRJY29uQW5jaG9yLFxuICAgIE1hdEZhYkJ1dHRvbixcbiAgICBNYXRGYWJBbmNob3IsXG4gICAgTWF0TWluaUZhYkJ1dHRvbixcbiAgICBNYXRNaW5pRmFiQW5jaG9yLFxuICAgIE1hdEljb24sXG4gICAgRnNGaWxlTW9kdWxlLFxuICAgIEFzeW5jUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNSb3dJbmxpbmVBY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIFxuICBwdWJsaWMgYWN0aW9uVHlwZTogQWN0aW9uVHlwZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcm93QWN0aW9uOiBSb3dBY3Rpb247XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvdzogUm93O1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGZpbGVTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEZzRmlsZSB8IEZzRmlsZVtdPigpO1xuXG5cbiAgcHVibGljIGljb246IHN0cmluZztcbiAgXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYoY2hhbmdlcy5yb3cpIHtcbiAgICAgIHRoaXMuaWNvbiA9IHRoaXMucm93QWN0aW9uLmdldFJvd0ljb24odGhpcy5yb3cuZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFjdGlvbkNsaWNrKGV2ZW50KSB7XG4gICAgdGhpcy5jbGlja2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uVHlwZSA9IHRoaXMucm93QWN0aW9uLnR5cGU7XG5cbiAgICBpZighdGhpcy5yb3dBY3Rpb24ubGFiZWwgJiYgdGhpcy5yb3dBY3Rpb24uaWNvbikge1xuICAgICAgdGhpcy5hY3Rpb25UeXBlID0gQWN0aW9uVHlwZS5JY29uO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWxlU2VsZWN0ZWQoZXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVTZWxlY3QuZW1pdChldmVudCk7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjYnV0dG9uQ29udGVudD5cbiAgQGlmICghcm93QWN0aW9uPy5maWxlQ29uZmlnKSB7XG4gICAgQGlmIChpY29uKSB7XG4gICAgICA8bWF0LWljb24+XG4gICAgICAgIHt7IGljb24gfX1cbiAgICAgIDwvbWF0LWljb24+XG4gICAgfVxuICAgIHt7IHJvd0FjdGlvbj8ubGFiZWwgfX1cbiAgfSBAZWxzZSB7XG4gICAgPGZzLWZpbGVcbiAgICAgICAgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCJcbiAgICAgICAgW2FjY2VwdF09XCJyb3dBY3Rpb24uZmlsZUNvbmZpZy5hY2NlcHQgfHwgJyonXCJcbiAgICAgICAgW211bHRpcGxlXT1cInJvd0FjdGlvbi5maWxlQ29uZmlnLm11bHRpcGxlXCJcbiAgICAgICAgW21pbldpZHRoXT1cInJvd0FjdGlvbi5maWxlQ29uZmlnLm1pbldpZHRoXCJcbiAgICAgICAgW21pbkhlaWdodF09XCJyb3dBY3Rpb24uZmlsZUNvbmZpZy5taW5IZWlnaHRcIlxuICAgICAgICBbaW1hZ2VXaWR0aF09XCJyb3dBY3Rpb24uZmlsZUNvbmZpZy5tYXhXaWR0aFwiXG4gICAgICAgIFtpbWFnZUhlaWdodF09XCJyb3dBY3Rpb24uZmlsZUNvbmZpZy5tYXhIZWlnaHRcIlxuICAgICAgICAoc2VsZWN0KT1cImZpbGVTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgKGVycm9yKT1cInJvd0FjdGlvbi5maWxlQ29uZmlnLmVycm9yICYmIHJvd0FjdGlvbi5maWxlQ29uZmlnLmVycm9yKCRldmVudClcIj5cbiAgICAgIEBpZiAoaWNvbikge1xuICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAge3sgaWNvbiB9fVxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgfVxuICAgICAge3sgcm93QWN0aW9uLmxhYmVsIH19XG4gICAgPC9mcy1maWxlPlxuICB9XG48L25nLXRlbXBsYXRlPlxuQGlmIChyb3dBY3Rpb24/LnZpc2libGUkIHwgYXN5bmMpIHtcbiAgQHN3aXRjaCAoYWN0aW9uVHlwZSkge1xuICAgIDwhLS0gQmFzaWMgYnV0dG9uIC0tPlxuICAgIEBjYXNlICgnYmFzaWMnKSB7XG4gICAgICBAaWYgKCFyb3dBY3Rpb24ucm91dGVyTGluaykge1xuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInJvd0FjdGlvbi5jbGFzc0FycmF5XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxhXG4gICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICBbcm91dGVyTGlua109XCJyb3dBY3Rpb24ucm91dGVyTGluay5saW5rXCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJyb3dBY3Rpb24ucm91dGVyTGluay5xdWVyeVBhcmFtc1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2E+XG4gICAgICB9XG4gICAgfVxuICAgIDwhLS0gUmFpc2VkIGJ1dHRvbiAtLT5cbiAgICBAY2FzZSAoJ3JhaXNlZCcpIHtcbiAgICAgIEBpZiAoIXJvd0FjdGlvbi5yb3V0ZXJMaW5rKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInJvd0FjdGlvbi5jbGFzc0FycmF5XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxhXG4gICAgICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwicm93QWN0aW9uLnJvdXRlckxpbmsubGlua1wiXG4gICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwicm93QWN0aW9uLnJvdXRlckxpbmsucXVlcnlQYXJhbXNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbkNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9hPlxuICAgICAgfVxuICAgIH1cbiAgICA8IS0tIEljb24gYnV0dG9uIC0tPlxuICAgIEBjYXNlICgnaWNvbicpIHtcbiAgICAgIEBpZiAoIXJvd0FjdGlvbi5yb3V0ZXJMaW5rKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJyb3dBY3Rpb24uY2xhc3NBcnJheVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8YVxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICBbcm91dGVyTGlua109XCJyb3dBY3Rpb24ucm91dGVyTGluay5saW5rXCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJyb3dBY3Rpb24ucm91dGVyTGluay5xdWVyeVBhcmFtc1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2E+XG4gICAgICB9XG4gICAgfVxuICAgIDwhLS0gRmFiIGJ1dHRvbiAtLT5cbiAgICBAY2FzZSAoJ2ZhYicpIHtcbiAgICAgIEBpZiAoIXJvd0FjdGlvbi5yb3V0ZXJMaW5rKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgbWF0LWZhYlxuICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwicm93QWN0aW9uLmNsYXNzQXJyYXlcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbkNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGFcbiAgICAgICAgICAgIG1hdC1mYWJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cInJvd0FjdGlvbi5yb3V0ZXJMaW5rLmxpbmtcIlxuICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInJvd0FjdGlvbi5yb3V0ZXJMaW5rLnF1ZXJ5UGFyYW1zXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYT5cbiAgICAgIH1cbiAgICB9XG4gICAgPCEtLSBNaW5pIEZhYiBidXR0b24gLS0+XG4gICAgQGNhc2UgKCdtaW5pLWZhYicpIHtcbiAgICAgIEBpZiAoIXJvd0FjdGlvbi5yb3V0ZXJMaW5rKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgbWF0LW1pbmktZmFiXG4gICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJyb3dBY3Rpb24uY2xhc3NBcnJheVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8YVxuICAgICAgICAgICAgbWF0LW1pbmktZmFiXG4gICAgICAgICAgICBbcm91dGVyTGlua109XCJyb3dBY3Rpb24ucm91dGVyTGluay5saW5rXCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJyb3dBY3Rpb24ucm91dGVyTGluay5xdWVyeVBhcmFtc1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2E+XG4gICAgICB9XG4gICAgfVxuICB9XG59Il19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYm9keS9yb3cvaW5saW5lLWFjdGlvbi9pbmxpbmUtYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9ib2R5L3Jvdy9pbmxpbmUtYWN0aW9uL2lubGluZS1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEdBQ2pCLE1BQU0sMEJBQTBCLENBQUM7QUFJbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVoRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUF1QnJGLE1BQU0sT0FBTywwQkFBMEI7SUFHOUIsU0FBUyxDQUFZO0lBR3JCLEdBQUcsQ0FBTTtJQUdULE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRzdCLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUVuRCxXQUFXLENBQUMsS0FBWTtRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFTSxZQUFZLENBQUMsS0FBd0I7UUFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzt1R0ExQlUsMEJBQTBCOzJGQUExQiwwQkFBMEIsZ01DbER2QywrM0hBd0hDLGtGRG5GRyxPQUFPLG9GQUNQLFNBQVMsaUtBQ1QsVUFBVSxvT0FDVixTQUFTLGlMQUNULFlBQVksMkdBQ1osWUFBWSxtSEFDWixnQkFBZ0IsMEZBQ2hCLGdCQUFnQiw2RkFDaEIsU0FBUyw4Q0FDVCxpQ0FBaUMscUlBQ2pDLDhCQUE4Qjs7MkZBR3JCLDBCQUEwQjtrQkFwQnRDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsVUFBVTt3QkFDVixTQUFTO3dCQUNULFlBQVk7d0JBQ1osWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsU0FBUzt3QkFDVCxpQ0FBaUM7d0JBQ2pDLDhCQUE4QjtxQkFDL0I7OEJBS00sU0FBUztzQkFEZixLQUFLO2dCQUlDLEdBQUc7c0JBRFQsS0FBSztnQkFJQyxPQUFPO3NCQURiLE1BQU07Z0JBSUEsVUFBVTtzQkFEaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtcbiAgTWF0QW5jaG9yLFxuICBNYXRCdXR0b24sXG4gIE1hdEZhYkFuY2hvcixcbiAgTWF0RmFiQnV0dG9uLFxuICBNYXRNaW5pRmFiQW5jaG9yLFxuICBNYXRNaW5pRmFiQnV0dG9uLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuXG5pbXBvcnQgeyBGc0ZpbGUgfSBmcm9tICdAZmlyZXN0aXRjaC9maWxlJztcblxuaW1wb3J0IHsgQWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL2VudW1zL2FjdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgUm93IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3Jvdyc7XG5pbXBvcnQgeyBSb3dBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcm93LWFjdGlvbi5tb2RlbCc7XG5cbmltcG9ydCB7IEZzUm93SW5saW5lQnV0dG9uQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9uLWNvbnRlbnQvYnV0dG9uLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEZzUm93SW5saW5lSWNvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50JztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1saXN0LXJvdy1pbmxpbmUtYWN0aW9uJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5saW5lLWFjdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5saW5lLWFjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdDbGFzcyxcbiAgICBNYXRBbmNob3IsXG4gICAgUm91dGVyTGluayxcbiAgICBNYXRCdXR0b24sXG4gICAgTWF0RmFiQnV0dG9uLFxuICAgIE1hdEZhYkFuY2hvcixcbiAgICBNYXRNaW5pRmFiQnV0dG9uLFxuICAgIE1hdE1pbmlGYWJBbmNob3IsXG4gICAgQXN5bmNQaXBlLFxuICAgIEZzUm93SW5saW5lQnV0dG9uQ29udGVudENvbXBvbmVudCxcbiAgICBGc1Jvd0lubGluZUljb25CdXR0b25Db21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzUm93SW5saW5lQWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcm93QWN0aW9uOiBSb3dBY3Rpb247XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvdzogUm93O1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGZpbGVTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEZzRmlsZSB8IEZzRmlsZVtdPigpO1xuXG4gIHB1YmxpYyBhY3Rpb25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmNsaWNrZWQuZW1pdChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYoIXRoaXMucm93QWN0aW9uLmxhYmVsICYmIHRoaXMucm93QWN0aW9uLmljb24pIHtcbiAgICAgIHRoaXMucm93QWN0aW9uLnR5cGUgPSBBY3Rpb25UeXBlLkljb247XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbGVTZWxlY3RlZChldmVudDogRnNGaWxlIHwgRnNGaWxlW10pOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVTZWxlY3QuZW1pdChldmVudCk7XG4gIH1cbn1cbiIsIkBpZiAocm93QWN0aW9uPy52aXNpYmxlJCB8IGFzeW5jKSB7XG4gIEBzd2l0Y2ggKHJvd0FjdGlvbi50eXBlKSB7XG4gICAgPCEtLSBCYXNpYyBidXR0b24gLS0+XG4gICAgQGNhc2UgKCdiYXNpYycpIHtcbiAgICAgIEBpZiAoIXJvd0FjdGlvbi5yb3V0ZXJMaW5rKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwicm93QWN0aW9uLmNsYXNzQXJyYXlcIj5cbiAgICAgICAgICA8ZnMtbGlzdC1yb3ctaW5saW5lLWJ1dHRvbi1jb250ZW50XG4gICAgICAgICAgICBbcm93QWN0aW9uXT1cInJvd0FjdGlvblwiXG4gICAgICAgICAgICBbcm93XT1cInJvd1wiXG4gICAgICAgICAgICAoZmlsZVNlbGVjdCk9XCJmaWxlU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvZnMtbGlzdC1yb3ctaW5saW5lLWJ1dHRvbi1jb250ZW50PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8YVxuICAgICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwicm93QWN0aW9uLnJvdXRlckxpbmsubGlua1wiXG4gICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwicm93QWN0aW9uLnJvdXRlckxpbmsucXVlcnlQYXJhbXNcIj5cbiAgICAgICAgICA8ZnMtbGlzdC1yb3ctaW5saW5lLWJ1dHRvbi1jb250ZW50XG4gICAgICAgICAgICBbcm93QWN0aW9uXT1cInJvd0FjdGlvblwiXG4gICAgICAgICAgICBbcm93XT1cInJvd1wiXG4gICAgICAgICAgICAoZmlsZVNlbGVjdCk9XCJmaWxlU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvZnMtbGlzdC1yb3ctaW5saW5lLWJ1dHRvbi1jb250ZW50PlxuICAgICAgICA8L2E+XG4gICAgICB9XG4gICAgfVxuICAgIDwhLS0gUmFpc2VkIGJ1dHRvbiAtLT5cbiAgICBAY2FzZSAoJ3JhaXNlZCcpIHtcbiAgICAgIEBpZiAoIXJvd0FjdGlvbi5yb3V0ZXJMaW5rKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInJvd0FjdGlvbi5jbGFzc0FycmF5XCI+XG4gICAgICAgICAgPGZzLWxpc3Qtcm93LWlubGluZS1idXR0b24tY29udGVudFxuICAgICAgICAgICAgW3Jvd0FjdGlvbl09XCJyb3dBY3Rpb25cIlxuICAgICAgICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgICAgICAgKGZpbGVTZWxlY3QpPVwiZmlsZVNlbGVjdGVkKCRldmVudClcIj5cbiAgICAgICAgICA8L2ZzLWxpc3Qtcm93LWlubGluZS1idXR0b24tY29udGVudD5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGFcbiAgICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICBbcm91dGVyTGlua109XCJyb3dBY3Rpb24ucm91dGVyTGluay5saW5rXCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJyb3dBY3Rpb24ucm91dGVyTGluay5xdWVyeVBhcmFtc1wiPlxuICAgICAgICAgIDxmcy1saXN0LXJvdy1pbmxpbmUtYnV0dG9uLWNvbnRlbnRcbiAgICAgICAgICAgIFtyb3dBY3Rpb25dPVwicm93QWN0aW9uXCJcbiAgICAgICAgICAgIFtyb3ddPVwicm93XCJcbiAgICAgICAgICAgIChmaWxlU2VsZWN0KT1cImZpbGVTZWxlY3RlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgPC9mcy1saXN0LXJvdy1pbmxpbmUtYnV0dG9uLWNvbnRlbnQ+XG4gICAgICAgIDwvYT5cbiAgICAgIH1cbiAgICB9XG4gICAgPCEtLSBJY29uIGJ1dHRvbiAtLT5cbiAgICBAY2FzZSAoJ2ljb24nKSB7XG4gICAgICA8ZnMtbGlzdC1yb3ctaW5saW5lLWljb24tYnV0dG9uXG4gICAgICAgIFtyb3dBY3Rpb25dPVwicm93QWN0aW9uXCJcbiAgICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgICAoY2xpY2tlZCk9XCJhY3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgKGZpbGVTZWxlY3QpPVwiZmlsZVNlbGVjdGVkKCRldmVudClcIj5cbiAgICAgIDwvZnMtbGlzdC1yb3ctaW5saW5lLWljb24tYnV0dG9uPlxuICAgIH1cbiAgICA8IS0tIEZhYiBidXR0b24gLS0+XG4gICAgQGNhc2UgKCdmYWInKSB7XG4gICAgICBAaWYgKCFyb3dBY3Rpb24ucm91dGVyTGluaykge1xuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG1hdC1mYWJcbiAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInJvd0FjdGlvbi5jbGFzc0FycmF5XCI+XG4gICAgICAgICAgPGZzLWxpc3Qtcm93LWlubGluZS1idXR0b24tY29udGVudFxuICAgICAgICAgICAgW3Jvd0FjdGlvbl09XCJyb3dBY3Rpb25cIlxuICAgICAgICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgICAgICAgKGZpbGVTZWxlY3QpPVwiZmlsZVNlbGVjdGVkKCRldmVudClcIj5cbiAgICAgICAgICA8L2ZzLWxpc3Qtcm93LWlubGluZS1idXR0b24tY29udGVudD5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGFcbiAgICAgICAgICAgIG1hdC1mYWJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cInJvd0FjdGlvbi5yb3V0ZXJMaW5rLmxpbmtcIlxuICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInJvd0FjdGlvbi5yb3V0ZXJMaW5rLnF1ZXJ5UGFyYW1zXCI+XG4gICAgICAgICAgPGZzLWxpc3Qtcm93LWlubGluZS1idXR0b24tY29udGVudFxuICAgICAgICAgICAgW3Jvd0FjdGlvbl09XCJyb3dBY3Rpb25cIlxuICAgICAgICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgICAgICAgKGZpbGVTZWxlY3QpPVwiZmlsZVNlbGVjdGVkKCRldmVudClcIj5cbiAgICAgICAgICA8L2ZzLWxpc3Qtcm93LWlubGluZS1idXR0b24tY29udGVudD5cbiAgICAgICAgPC9hPlxuICAgICAgfVxuICAgIH1cbiAgICA8IS0tIE1pbmkgRmFiIGJ1dHRvbiAtLT5cbiAgICBAY2FzZSAoJ21pbmktZmFiJykge1xuICAgICAgQGlmICghcm93QWN0aW9uLnJvdXRlckxpbmspIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBtYXQtbWluaS1mYWJcbiAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInJvd0FjdGlvbi5jbGFzc0FycmF5XCI+XG4gICAgICAgICAgPGZzLWxpc3Qtcm93LWlubGluZS1idXR0b24tY29udGVudFxuICAgICAgICAgICAgW3Jvd0FjdGlvbl09XCJyb3dBY3Rpb25cIlxuICAgICAgICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgICAgICAgKGZpbGVTZWxlY3QpPVwiZmlsZVNlbGVjdGVkKCRldmVudClcIj5cbiAgICAgICAgICA8L2ZzLWxpc3Qtcm93LWlubGluZS1idXR0b24tY29udGVudD5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGFcbiAgICAgICAgICAgIG1hdC1taW5pLWZhYlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwicm93QWN0aW9uLnJvdXRlckxpbmsubGlua1wiXG4gICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwicm93QWN0aW9uLnJvdXRlckxpbmsucXVlcnlQYXJhbXNcIj5cbiAgICAgICAgICA8ZnMtbGlzdC1yb3ctaW5saW5lLWJ1dHRvbi1jb250ZW50XG4gICAgICAgICAgICBbcm93QWN0aW9uXT1cInJvd0FjdGlvblwiXG4gICAgICAgICAgICBbcm93XT1cInJvd1wiXG4gICAgICAgICAgICAoZmlsZVNlbGVjdCk9XCJmaWxlU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvZnMtbGlzdC1yb3ctaW5saW5lLWJ1dHRvbi1jb250ZW50PlxuICAgICAgICA8L2E+XG4gICAgICB9XG4gICAgfVxuICB9XG59Il19
@@ -3,14 +3,14 @@ import { Injectable, inject, ChangeDetectorRef, NgZone, ElementRef, Renderer2, D
3
3
  import { BehaviorSubject, Subject, Observable, map as map$1, merge, of, from, combineLatest, EMPTY } from 'rxjs';
4
4
  import { takeUntil, map, take, skip, filter, tap, distinctUntilChanged, shareReplay, delay, switchMap, debounceTime, mapTo, catchError } from 'rxjs/operators';
5
5
  import { get, isString, isObject, isBoolean, isNumber, isFunction, cloneDeep, random, mergeWith } from 'lodash-es';
6
- import { NgClass, NgTemplateOutlet, AsyncPipe, Location, DecimalPipe } from '@angular/common';
6
+ import { NgClass, AsyncPipe, NgTemplateOutlet, Location, DecimalPipe } from '@angular/common';
7
7
  import { MatCheckbox } from '@angular/material/checkbox';
8
8
  import { MatIcon } from '@angular/material/icon';
9
9
  import * as i1$1 from '@firestitch/menu';
10
10
  import { FsMenuComponent, FsMenuModule } from '@firestitch/menu';
11
11
  import { FsPrompt } from '@firestitch/prompt';
12
12
  import { RouterLink, ActivatedRoute } from '@angular/router';
13
- import { MatButton, MatAnchor, MatIconButton, MatIconAnchor, MatFabButton, MatFabAnchor, MatMiniFabButton, MatMiniFabAnchor } from '@angular/material/button';
13
+ import { MatIconButton, MatIconAnchor, MatAnchor, MatButton, MatFabButton, MatFabAnchor, MatMiniFabButton, MatMiniFabAnchor } from '@angular/material/button';
14
14
  import * as i1 from '@firestitch/file';
15
15
  import { FsFileModule } from '@firestitch/file';
16
16
  import { CdkScrollable } from '@angular/cdk/scrolling';
@@ -1422,51 +1422,103 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
1422
1422
  }]
1423
1423
  }] });
1424
1424
 
1425
- class FsRowInlineActionComponent {
1426
- actionType;
1425
+ class FsRowInlineButtonContentComponent {
1427
1426
  rowAction;
1428
1427
  row;
1429
- clicked = new EventEmitter();
1430
1428
  fileSelect = new EventEmitter();
1431
1429
  icon;
1432
1430
  ngOnChanges(changes) {
1433
- if (changes.row) {
1431
+ if ((changes.row || changes.rowAction) && this.rowAction && this.row) {
1434
1432
  this.icon = this.rowAction.getRowIcon(this.row.data);
1435
1433
  }
1436
1434
  }
1435
+ fileSelected(event) {
1436
+ this.fileSelect.emit(event);
1437
+ }
1438
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowInlineButtonContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1439
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsRowInlineButtonContentComponent, isStandalone: true, selector: "fs-list-row-inline-button-content", inputs: { rowAction: "rowAction", row: "row" }, outputs: { fileSelect: "fileSelect" }, usesOnChanges: true, ngImport: i0, template: "@if (!rowAction?.fileConfig) {\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ rowAction?.label }}\n} @else {\n <fs-file\n class=\"action-button\"\n [accept]=\"rowAction.fileConfig.accept || '*'\"\n [multiple]=\"rowAction.fileConfig.multiple\"\n [minWidth]=\"rowAction.fileConfig.minWidth\"\n [minHeight]=\"rowAction.fileConfig.minHeight\"\n [imageWidth]=\"rowAction.fileConfig.maxWidth\"\n [imageHeight]=\"rowAction.fileConfig.maxHeight\"\n (select)=\"fileSelected($event)\"\n (error)=\"rowAction.fileConfig.error && rowAction.fileConfig.error($event)\">\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ rowAction.label }}\n </fs-file>\n}\n\n", dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FsFileModule }, { kind: "component", type: i1.FsFileComponent, selector: "fs-file", inputs: ["minHeight", "minWidth", "orientate", "multiple", "capture", "allowClick", "allowDrop", "accept", "disabled", "imageWidth", "imageHeight", "imageQuality"], outputs: ["select", "error", "beforeProcessing", "clicked", "declined"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1440
+ }
1441
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowInlineButtonContentComponent, decorators: [{
1442
+ type: Component,
1443
+ args: [{ selector: 'fs-list-row-inline-button-content', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
1444
+ MatIcon,
1445
+ FsFileModule,
1446
+ ], template: "@if (!rowAction?.fileConfig) {\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ rowAction?.label }}\n} @else {\n <fs-file\n class=\"action-button\"\n [accept]=\"rowAction.fileConfig.accept || '*'\"\n [multiple]=\"rowAction.fileConfig.multiple\"\n [minWidth]=\"rowAction.fileConfig.minWidth\"\n [minHeight]=\"rowAction.fileConfig.minHeight\"\n [imageWidth]=\"rowAction.fileConfig.maxWidth\"\n [imageHeight]=\"rowAction.fileConfig.maxHeight\"\n (select)=\"fileSelected($event)\"\n (error)=\"rowAction.fileConfig.error && rowAction.fileConfig.error($event)\">\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ rowAction.label }}\n </fs-file>\n}\n\n" }]
1447
+ }], propDecorators: { rowAction: [{
1448
+ type: Input
1449
+ }], row: [{
1450
+ type: Input
1451
+ }], fileSelect: [{
1452
+ type: Output
1453
+ }] } });
1454
+
1455
+ class FsRowInlineIconButtonComponent {
1456
+ rowAction;
1457
+ row;
1458
+ clicked = new EventEmitter();
1459
+ fileSelect = new EventEmitter();
1460
+ actionClick(event) {
1461
+ this.clicked.emit(event);
1462
+ }
1463
+ fileSelected(event) {
1464
+ this.fileSelect.emit(event);
1465
+ }
1466
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowInlineIconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1467
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsRowInlineIconButtonComponent, isStandalone: true, selector: "fs-list-row-inline-icon-button", inputs: { rowAction: "rowAction", row: "row" }, outputs: { clicked: "clicked", fileSelect: "fileSelect" }, ngImport: i0, template: "@if (rowAction) {\n @if (rowAction.routerLink) {\n <a\n mat-icon-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n } @else {\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n }\n}", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIconAnchor, selector: "a[mat-icon-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: FsRowInlineButtonContentComponent, selector: "fs-list-row-inline-button-content", inputs: ["rowAction", "row"], outputs: ["fileSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1468
+ }
1469
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowInlineIconButtonComponent, decorators: [{
1470
+ type: Component,
1471
+ args: [{ selector: 'fs-list-row-inline-icon-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
1472
+ NgClass,
1473
+ RouterLink,
1474
+ MatIconButton,
1475
+ MatIconAnchor,
1476
+ FsRowInlineButtonContentComponent,
1477
+ ], template: "@if (rowAction) {\n @if (rowAction.routerLink) {\n <a\n mat-icon-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n } @else {\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n }\n}" }]
1478
+ }], propDecorators: { rowAction: [{
1479
+ type: Input
1480
+ }], row: [{
1481
+ type: Input
1482
+ }], clicked: [{
1483
+ type: Output
1484
+ }], fileSelect: [{
1485
+ type: Output
1486
+ }] } });
1487
+
1488
+ class FsRowInlineActionComponent {
1489
+ rowAction;
1490
+ row;
1491
+ clicked = new EventEmitter();
1492
+ fileSelect = new EventEmitter();
1437
1493
  actionClick(event) {
1438
1494
  this.clicked.emit(event);
1439
1495
  }
1440
1496
  ngOnInit() {
1441
- this.actionType = this.rowAction.type;
1442
1497
  if (!this.rowAction.label && this.rowAction.icon) {
1443
- this.actionType = ActionType.Icon;
1498
+ this.rowAction.type = ActionType.Icon;
1444
1499
  }
1445
1500
  }
1446
1501
  fileSelected(event) {
1447
1502
  this.fileSelect.emit(event);
1448
1503
  }
1449
1504
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowInlineActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1450
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsRowInlineActionComponent, isStandalone: true, selector: "fs-list-row-inline-action", inputs: { rowAction: "rowAction", row: "row" }, outputs: { clicked: "clicked", fileSelect: "fileSelect" }, usesOnChanges: true, ngImport: i0, template: "<ng-template #buttonContent>\n @if (!rowAction?.fileConfig) {\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ rowAction?.label }}\n } @else {\n <fs-file\n class=\"action-button\"\n [accept]=\"rowAction.fileConfig.accept || '*'\"\n [multiple]=\"rowAction.fileConfig.multiple\"\n [minWidth]=\"rowAction.fileConfig.minWidth\"\n [minHeight]=\"rowAction.fileConfig.minHeight\"\n [imageWidth]=\"rowAction.fileConfig.maxWidth\"\n [imageHeight]=\"rowAction.fileConfig.maxHeight\"\n (select)=\"fileSelected($event)\"\n (error)=\"rowAction.fileConfig.error && rowAction.fileConfig.error($event)\">\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ rowAction.label }}\n </fs-file>\n }\n</ng-template>\n@if (rowAction?.visible$ | async) {\n @switch (actionType) {\n <!-- Basic button -->\n @case ('basic') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n <!-- Raised button -->\n @case ('raised') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-raised-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-raised-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n <!-- Icon button -->\n @case ('icon') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-icon-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n <!-- Fab button -->\n @case ('fab') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n <!-- Mini Fab button -->\n @case ('mini-fab') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-mini-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-mini-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n }\n}", styles: ["mat-icon{display:flex}\n"], dependencies: [{ kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIconAnchor, selector: "a[mat-icon-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: MatFabAnchor, selector: "a[mat-fab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "component", type: MatMiniFabAnchor, selector: "a[mat-mini-fab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FsFileModule }, { kind: "component", type: i1.FsFileComponent, selector: "fs-file", inputs: ["minHeight", "minWidth", "orientate", "multiple", "capture", "allowClick", "allowDrop", "accept", "disabled", "imageWidth", "imageHeight", "imageQuality"], outputs: ["select", "error", "beforeProcessing", "clicked", "declined"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1505
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsRowInlineActionComponent, isStandalone: true, selector: "fs-list-row-inline-action", inputs: { rowAction: "rowAction", row: "row" }, outputs: { clicked: "clicked", fileSelect: "fileSelect" }, ngImport: i0, template: "@if (rowAction?.visible$ | async) {\n @switch (rowAction.type) {\n <!-- Basic button -->\n @case ('basic') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n } @else {\n <a\n mat-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n }\n }\n <!-- Raised button -->\n @case ('raised') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-raised-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n } @else {\n <a\n mat-raised-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n }\n }\n <!-- Icon button -->\n @case ('icon') {\n <fs-list-row-inline-icon-button\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (clicked)=\"actionClick($event)\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-icon-button>\n }\n <!-- Fab button -->\n @case ('fab') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n } @else {\n <a\n mat-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n }\n }\n <!-- Mini Fab button -->\n @case ('mini-fab') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-mini-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n } @else {\n <a\n mat-mini-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n }\n }\n }\n}", styles: ["mat-icon{display:flex}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: MatFabAnchor, selector: "a[mat-fab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "component", type: MatMiniFabAnchor, selector: "a[mat-mini-fab]", exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: FsRowInlineButtonContentComponent, selector: "fs-list-row-inline-button-content", inputs: ["rowAction", "row"], outputs: ["fileSelect"] }, { kind: "component", type: FsRowInlineIconButtonComponent, selector: "fs-list-row-inline-icon-button", inputs: ["rowAction", "row"], outputs: ["clicked", "fileSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1451
1506
  }
1452
1507
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowInlineActionComponent, decorators: [{
1453
1508
  type: Component,
1454
1509
  args: [{ selector: 'fs-list-row-inline-action', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
1455
- MatButton,
1456
1510
  NgClass,
1457
- NgTemplateOutlet,
1458
1511
  MatAnchor,
1459
1512
  RouterLink,
1460
- MatIconButton,
1461
- MatIconAnchor,
1513
+ MatButton,
1462
1514
  MatFabButton,
1463
1515
  MatFabAnchor,
1464
1516
  MatMiniFabButton,
1465
1517
  MatMiniFabAnchor,
1466
- MatIcon,
1467
- FsFileModule,
1468
1518
  AsyncPipe,
1469
- ], template: "<ng-template #buttonContent>\n @if (!rowAction?.fileConfig) {\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ rowAction?.label }}\n } @else {\n <fs-file\n class=\"action-button\"\n [accept]=\"rowAction.fileConfig.accept || '*'\"\n [multiple]=\"rowAction.fileConfig.multiple\"\n [minWidth]=\"rowAction.fileConfig.minWidth\"\n [minHeight]=\"rowAction.fileConfig.minHeight\"\n [imageWidth]=\"rowAction.fileConfig.maxWidth\"\n [imageHeight]=\"rowAction.fileConfig.maxHeight\"\n (select)=\"fileSelected($event)\"\n (error)=\"rowAction.fileConfig.error && rowAction.fileConfig.error($event)\">\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ rowAction.label }}\n </fs-file>\n }\n</ng-template>\n@if (rowAction?.visible$ | async) {\n @switch (actionType) {\n <!-- Basic button -->\n @case ('basic') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n <!-- Raised button -->\n @case ('raised') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-raised-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-raised-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n <!-- Icon button -->\n @case ('icon') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-icon-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n <!-- Fab button -->\n @case ('fab') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n <!-- Mini Fab button -->\n @case ('mini-fab') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-mini-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </button>\n } @else {\n <a\n mat-mini-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-container [ngTemplateOutlet]=\"buttonContent\"></ng-container>\n </a>\n }\n }\n }\n}", styles: ["mat-icon{display:flex}\n"] }]
1519
+ FsRowInlineButtonContentComponent,
1520
+ FsRowInlineIconButtonComponent,
1521
+ ], template: "@if (rowAction?.visible$ | async) {\n @switch (rowAction.type) {\n <!-- Basic button -->\n @case ('basic') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n } @else {\n <a\n mat-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n }\n }\n <!-- Raised button -->\n @case ('raised') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-raised-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n } @else {\n <a\n mat-raised-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n }\n }\n <!-- Icon button -->\n @case ('icon') {\n <fs-list-row-inline-icon-button\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (clicked)=\"actionClick($event)\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-icon-button>\n }\n <!-- Fab button -->\n @case ('fab') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n } @else {\n <a\n mat-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n }\n }\n <!-- Mini Fab button -->\n @case ('mini-fab') {\n @if (!rowAction.routerLink) {\n <button\n type=\"button\"\n mat-mini-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </button>\n } @else {\n <a\n mat-mini-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <fs-list-row-inline-button-content\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n (fileSelect)=\"fileSelected($event)\">\n </fs-list-row-inline-button-content>\n </a>\n }\n }\n }\n}", styles: ["mat-icon{display:flex}\n"] }]
1470
1522
  }], propDecorators: { rowAction: [{
1471
1523
  type: Input
1472
1524
  }], row: [{