@firestitch/list 18.0.69 → 18.0.70

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,17 @@
1
+ import { EventEmitter, TemplateRef } 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
+ icon: string;
10
+ buttonContent: TemplateRef<any>;
11
+ clicked: EventEmitter<any>;
12
+ fileSelect: EventEmitter<FsFile | FsFile[]>;
13
+ actionClick(event: any): void;
14
+ fileSelected(event: any): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<FsRowInlineIconButtonComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<FsRowInlineIconButtonComponent, "fs-list-row-inline-icon-button", never, { "rowAction": { "alias": "rowAction"; "required": false; }; "row": { "alias": "row"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "buttonContent": { "alias": "buttonContent"; "required": false; }; }, { "clicked": "clicked"; "fileSelect": "fileSelect"; }, never, never, true, never>;
17
+ }
@@ -1,11 +1,9 @@
1
1
  import { EventEmitter, OnChanges, OnInit, SimpleChanges } 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
6
  export declare class FsRowInlineActionComponent implements OnInit, OnChanges {
8
- actionType: ActionType;
9
7
  rowAction: RowAction;
10
8
  row: Row;
11
9
  clicked: EventEmitter<any>;
@@ -0,0 +1,50 @@
1
+ import { AsyncPipe, NgClass, NgTemplateOutlet } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, TemplateRef, } from '@angular/core';
3
+ import { RouterLink } from '@angular/router';
4
+ import { MatIconAnchor, MatIconButton } from '@angular/material/button';
5
+ import { MatIcon } from '@angular/material/icon';
6
+ import { FsFileModule } from '@firestitch/file';
7
+ import { RowAction } from '../../../../../models/row-action.model';
8
+ import * as i0 from "@angular/core";
9
+ export class FsRowInlineIconButtonComponent {
10
+ rowAction;
11
+ row;
12
+ icon;
13
+ buttonContent;
14
+ clicked = new EventEmitter();
15
+ fileSelect = new EventEmitter();
16
+ actionClick(event) {
17
+ this.clicked.emit(event);
18
+ }
19
+ fileSelected(event) {
20
+ this.fileSelect.emit(event);
21
+ }
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowInlineIconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ 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", icon: "icon", buttonContent: "buttonContent" }, outputs: { clicked: "clicked", fileSelect: "fileSelect" }, ngImport: i0, template: "@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", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: "ngmodule", type: FsFileModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowInlineIconButtonComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ selector: 'fs-list-row-inline-icon-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
28
+ NgClass,
29
+ NgTemplateOutlet,
30
+ RouterLink,
31
+ MatIconButton,
32
+ MatIconAnchor,
33
+ MatIcon,
34
+ FsFileModule,
35
+ AsyncPipe,
36
+ ], template: "@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" }]
37
+ }], propDecorators: { rowAction: [{
38
+ type: Input
39
+ }], row: [{
40
+ type: Input
41
+ }], icon: [{
42
+ type: Input
43
+ }], buttonContent: [{
44
+ type: Input
45
+ }], clicked: [{
46
+ type: Output
47
+ }], fileSelect: [{
48
+ type: Output
49
+ }] } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2JvZHkvcm93L2lubGluZS1hY3Rpb24vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2JvZHkvcm93L2lubGluZS1hY3Rpb24vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpELE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBbUJuRSxNQUFNLE9BQU8sOEJBQThCO0lBR2xDLFNBQVMsQ0FBWTtJQUdyQixHQUFHLENBQU07SUFHVCxJQUFJLENBQVM7SUFHYixhQUFhLENBQW1CO0lBR2hDLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRzdCLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUVuRCxXQUFXLENBQUMsS0FBSztRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQUs7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzt1R0ExQlUsOEJBQThCOzJGQUE5Qiw4QkFBOEIsbVBDcEMzQywyZUFpQkEsNENEU0ksT0FBTyxvRkFDUCxnQkFBZ0Isb0pBQ2hCLFVBQVUsb09BQ1YsYUFBYSw2RkFDYixhQUFhLG9HQUViLFlBQVk7OzJGQUlILDhCQUE4QjtrQkFoQjFDLFNBQVM7K0JBQ0UsZ0NBQWdDLG1CQUV6Qix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxPQUFPO3dCQUNQLGdCQUFnQjt3QkFDaEIsVUFBVTt3QkFDVixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsT0FBTzt3QkFDUCxZQUFZO3dCQUNaLFNBQVM7cUJBQ1Y7OEJBS00sU0FBUztzQkFEZixLQUFLO2dCQUlDLEdBQUc7c0JBRFQsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSztnQkFJQyxPQUFPO3NCQURiLE1BQU07Z0JBSUEsVUFBVTtzQkFEaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBNYXRJY29uQW5jaG9yLCBNYXRJY29uQnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuaW1wb3J0IHsgRnNGaWxlLCBGc0ZpbGVNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9maWxlJztcblxuaW1wb3J0IHsgUm93IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL3Jvdyc7XG5pbXBvcnQgeyBSb3dBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvcm93LWFjdGlvbi5tb2RlbCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtbGlzdC1yb3ctaW5saW5lLWljb24tYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24tYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgUm91dGVyTGluayxcbiAgICBNYXRJY29uQnV0dG9uLFxuICAgIE1hdEljb25BbmNob3IsXG4gICAgTWF0SWNvbixcbiAgICBGc0ZpbGVNb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGc1Jvd0lubGluZUljb25CdXR0b25Db21wb25lbnQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3dBY3Rpb246IFJvd0FjdGlvbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcm93OiBSb3c7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGljb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYnV0dG9uQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmaWxlU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxGc0ZpbGUgfCBGc0ZpbGVbXT4oKTtcblxuICBwdWJsaWMgYWN0aW9uQ2xpY2soZXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmNsaWNrZWQuZW1pdChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgZmlsZVNlbGVjdGVkKGV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5maWxlU2VsZWN0LmVtaXQoZXZlbnQpO1xuICB9XG59XG5cbiIsIkBpZiAoIXJvd0FjdGlvbi5yb3V0ZXJMaW5rKSB7XG4gIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAoY2xpY2spPVwiYWN0aW9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICBbbmdDbGFzc109XCJyb3dBY3Rpb24uY2xhc3NBcnJheVwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICA8L2J1dHRvbj5cbn0gQGVsc2Uge1xuICA8YVxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBbcm91dGVyTGlua109XCJyb3dBY3Rpb24ucm91dGVyTGluay5saW5rXCJcbiAgICAgIFtxdWVyeVBhcmFtc109XCJyb3dBY3Rpb24ucm91dGVyTGluay5xdWVyeVBhcmFtc1wiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICA8L2E+XG59XG5cbiJdfQ==
@@ -1,15 +1,15 @@
1
1
  import { AsyncPipe, NgClass, NgTemplateOutlet } 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';
4
+ import { MatAnchor, MatButton, MatFabAnchor, MatFabButton, MatMiniFabAnchor, MatMiniFabButton, } from '@angular/material/button';
5
5
  import { MatIcon } from '@angular/material/icon';
6
6
  import { FsFileModule } from '@firestitch/file';
7
7
  import { ActionType } from '../../../../enums/action-type.enum';
8
8
  import { RowAction } from '../../../../models/row-action.model';
9
+ import { FsRowInlineIconButtonComponent } from './icon-button/icon-button.component';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "@firestitch/file";
11
12
  export class FsRowInlineActionComponent {
12
- actionType;
13
13
  rowAction;
14
14
  row;
15
15
  clicked = new EventEmitter();
@@ -24,27 +24,24 @@ export class FsRowInlineActionComponent {
24
24
  this.clicked.emit(event);
25
25
  }
26
26
  ngOnInit() {
27
- this.actionType = this.rowAction.type;
28
27
  if (!this.rowAction.label && this.rowAction.icon) {
29
- this.actionType = ActionType.Icon;
28
+ this.rowAction.type = ActionType.Icon;
30
29
  }
31
30
  }
32
31
  fileSelected(event) {
33
32
  this.fileSelect.emit(event);
34
33
  }
35
34
  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 });
35
+ 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 (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 <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 <fs-list-row-inline-icon-button\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n [icon]=\"icon\"\n [buttonContent]=\"buttonContent\"\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 <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: "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: 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: "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" }, { kind: "component", type: FsRowInlineIconButtonComponent, selector: "fs-list-row-inline-icon-button", inputs: ["rowAction", "row", "icon", "buttonContent"], outputs: ["clicked", "fileSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
36
  }
38
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowInlineActionComponent, decorators: [{
39
38
  type: Component,
40
39
  args: [{ selector: 'fs-list-row-inline-action', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
41
- MatButton,
42
40
  NgClass,
43
41
  NgTemplateOutlet,
44
42
  MatAnchor,
45
43
  RouterLink,
46
- MatIconButton,
47
- MatIconAnchor,
44
+ MatButton,
48
45
  MatFabButton,
49
46
  MatFabAnchor,
50
47
  MatMiniFabButton,
@@ -52,7 +49,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
52
49
  MatIcon,
53
50
  FsFileModule,
54
51
  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"] }]
52
+ FsRowInlineIconButtonComponent,
53
+ ], 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 (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 <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 <fs-list-row-inline-icon-button\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n [icon]=\"icon\"\n [buttonContent]=\"buttonContent\"\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 <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"] }]
56
54
  }], propDecorators: { rowAction: [{
57
55
  type: Input
58
56
  }], row: [{
@@ -62,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
62
60
  }], fileSelect: [{
63
61
  type: Output
64
62
  }] } });
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
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYm9keS9yb3cvaW5saW5lLWFjdGlvbi9pbmxpbmUtYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9ib2R5L3Jvdy9pbmxpbmUtYWN0aW9uL2lubGluZS1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEdBQ2pCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpELE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7QUF5QnJGLE1BQU0sT0FBTywwQkFBMEI7SUFHOUIsU0FBUyxDQUFZO0lBR3JCLEdBQUcsQ0FBTTtJQUdULE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRzdCLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUduRCxJQUFJLENBQVM7SUFFYixXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7SUFFTSxXQUFXLENBQUMsS0FBSztRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFTSxZQUFZLENBQUMsS0FBSztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO3VHQW5DVSwwQkFBMEI7MkZBQTFCLDBCQUEwQixxTkN0RHZDLDR1SEFzSEMsa0ZEL0VHLE9BQU8sb0ZBQ1AsZ0JBQWdCLG9KQUNoQixTQUFTLGlLQUNULFVBQVUsb09BQ1YsU0FBUyxpTEFDVCxZQUFZLDJHQUNaLFlBQVksbUhBQ1osZ0JBQWdCLDBGQUNoQixnQkFBZ0Isa0dBQ2hCLE9BQU8sMElBQ1AsWUFBWSw4VUFDWixTQUFTLDhDQUNULDhCQUE4Qjs7MkZBR3JCLDBCQUEwQjtrQkF0QnRDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxPQUFPO3dCQUNQLGdCQUFnQjt3QkFDaEIsU0FBUzt3QkFDVCxVQUFVO3dCQUNWLFNBQVM7d0JBQ1QsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixPQUFPO3dCQUNQLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCw4QkFBOEI7cUJBQy9COzhCQUtNLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxHQUFHO3NCQURULEtBQUs7Z0JBSUMsT0FBTztzQkFEYixNQUFNO2dCQUlBLFVBQVU7c0JBRGhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtcbiAgTWF0QW5jaG9yLFxuICBNYXRCdXR0b24sXG4gIE1hdEZhYkFuY2hvcixcbiAgTWF0RmFiQnV0dG9uLFxuICBNYXRNaW5pRmFiQW5jaG9yLFxuICBNYXRNaW5pRmFiQnV0dG9uLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5pbXBvcnQgeyBGc0ZpbGUsIEZzRmlsZU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2ZpbGUnO1xuXG5pbXBvcnQgeyBBY3Rpb25UeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bXMvYWN0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBSb3cgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcm93JztcbmltcG9ydCB7IFJvd0FjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9yb3ctYWN0aW9uLm1vZGVsJztcblxuaW1wb3J0IHsgRnNSb3dJbmxpbmVJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWxpc3Qtcm93LWlubGluZS1hY3Rpb24nLFxuICBzdHlsZVVybHM6IFsnLi9pbmxpbmUtYWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmxpbmUtYWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgTWF0QW5jaG9yLFxuICAgIFJvdXRlckxpbmssXG4gICAgTWF0QnV0dG9uLFxuICAgIE1hdEZhYkJ1dHRvbixcbiAgICBNYXRGYWJBbmNob3IsXG4gICAgTWF0TWluaUZhYkJ1dHRvbixcbiAgICBNYXRNaW5pRmFiQW5jaG9yLFxuICAgIE1hdEljb24sXG4gICAgRnNGaWxlTW9kdWxlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBGc1Jvd0lubGluZUljb25CdXR0b25Db21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzUm93SW5saW5lQWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3dBY3Rpb246IFJvd0FjdGlvbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcm93OiBSb3c7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZmlsZVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8RnNGaWxlIHwgRnNGaWxlW10+KCk7XG5cblxuICBwdWJsaWMgaWNvbjogc3RyaW5nO1xuICBcbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZihjaGFuZ2VzLnJvdykge1xuICAgICAgdGhpcy5pY29uID0gdGhpcy5yb3dBY3Rpb24uZ2V0Um93SWNvbih0aGlzLnJvdy5kYXRhKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWN0aW9uQ2xpY2soZXZlbnQpIHtcbiAgICB0aGlzLmNsaWNrZWQuZW1pdChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYoIXRoaXMucm93QWN0aW9uLmxhYmVsICYmIHRoaXMucm93QWN0aW9uLmljb24pIHtcbiAgICAgIHRoaXMucm93QWN0aW9uLnR5cGUgPSBBY3Rpb25UeXBlLkljb247XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbGVTZWxlY3RlZChldmVudCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZVNlbGVjdC5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNidXR0b25Db250ZW50PlxuICBAaWYgKCFyb3dBY3Rpb24/LmZpbGVDb25maWcpIHtcbiAgICBAaWYgKGljb24pIHtcbiAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAge3sgaWNvbiB9fVxuICAgICAgPC9tYXQtaWNvbj5cbiAgICB9XG4gICAge3sgcm93QWN0aW9uPy5sYWJlbCB9fVxuICB9IEBlbHNlIHtcbiAgICA8ZnMtZmlsZVxuICAgICAgICBjbGFzcz1cImFjdGlvbi1idXR0b25cIlxuICAgICAgICBbYWNjZXB0XT1cInJvd0FjdGlvbi5maWxlQ29uZmlnLmFjY2VwdCB8fCAnKidcIlxuICAgICAgICBbbXVsdGlwbGVdPVwicm93QWN0aW9uLmZpbGVDb25maWcubXVsdGlwbGVcIlxuICAgICAgICBbbWluV2lkdGhdPVwicm93QWN0aW9uLmZpbGVDb25maWcubWluV2lkdGhcIlxuICAgICAgICBbbWluSGVpZ2h0XT1cInJvd0FjdGlvbi5maWxlQ29uZmlnLm1pbkhlaWdodFwiXG4gICAgICAgIFtpbWFnZVdpZHRoXT1cInJvd0FjdGlvbi5maWxlQ29uZmlnLm1heFdpZHRoXCJcbiAgICAgICAgW2ltYWdlSGVpZ2h0XT1cInJvd0FjdGlvbi5maWxlQ29uZmlnLm1heEhlaWdodFwiXG4gICAgICAgIChzZWxlY3QpPVwiZmlsZVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAoZXJyb3IpPVwicm93QWN0aW9uLmZpbGVDb25maWcuZXJyb3IgJiYgcm93QWN0aW9uLmZpbGVDb25maWcuZXJyb3IoJGV2ZW50KVwiPlxuICAgICAgQGlmIChpY29uKSB7XG4gICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICB7eyBpY29uIH19XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICB9XG4gICAgICB7eyByb3dBY3Rpb24ubGFiZWwgfX1cbiAgICA8L2ZzLWZpbGU+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5AaWYgKHJvd0FjdGlvbj8udmlzaWJsZSQgfCBhc3luYykge1xuICBAc3dpdGNoIChyb3dBY3Rpb24udHlwZSkge1xuICAgIDwhLS0gQmFzaWMgYnV0dG9uIC0tPlxuICAgIEBjYXNlICgnYmFzaWMnKSB7XG4gICAgICBAaWYgKCFyb3dBY3Rpb24ucm91dGVyTGluaykge1xuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInJvd0FjdGlvbi5jbGFzc0FycmF5XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxhXG4gICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICBbcm91dGVyTGlua109XCJyb3dBY3Rpb24ucm91dGVyTGluay5saW5rXCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJyb3dBY3Rpb24ucm91dGVyTGluay5xdWVyeVBhcmFtc1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2E+XG4gICAgICB9XG4gICAgfVxuICAgIDwhLS0gUmFpc2VkIGJ1dHRvbiAtLT5cbiAgICBAY2FzZSAoJ3JhaXNlZCcpIHtcbiAgICAgIEBpZiAoIXJvd0FjdGlvbi5yb3V0ZXJMaW5rKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInJvd0FjdGlvbi5jbGFzc0FycmF5XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxhXG4gICAgICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwicm93QWN0aW9uLnJvdXRlckxpbmsubGlua1wiXG4gICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwicm93QWN0aW9uLnJvdXRlckxpbmsucXVlcnlQYXJhbXNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbkNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9hPlxuICAgICAgfVxuICAgIH1cbiAgICA8IS0tIEljb24gYnV0dG9uIC0tPlxuICAgIEBjYXNlICgnaWNvbicpIHtcbiAgICAgIDxmcy1saXN0LXJvdy1pbmxpbmUtaWNvbi1idXR0b25cbiAgICAgICAgW3Jvd0FjdGlvbl09XCJyb3dBY3Rpb25cIlxuICAgICAgICBbcm93XT1cInJvd1wiXG4gICAgICAgIFtpY29uXT1cImljb25cIlxuICAgICAgICBbYnV0dG9uQ29udGVudF09XCJidXR0b25Db250ZW50XCJcbiAgICAgICAgKGNsaWNrZWQpPVwiYWN0aW9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgIChmaWxlU2VsZWN0KT1cImZpbGVTZWxlY3RlZCgkZXZlbnQpXCI+XG4gICAgICA8L2ZzLWxpc3Qtcm93LWlubGluZS1pY29uLWJ1dHRvbj5cbiAgICB9XG4gICAgPCEtLSBGYWIgYnV0dG9uIC0tPlxuICAgIEBjYXNlICgnZmFiJykge1xuICAgICAgQGlmICghcm93QWN0aW9uLnJvdXRlckxpbmspIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBtYXQtZmFiXG4gICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJyb3dBY3Rpb24uY2xhc3NBcnJheVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8YVxuICAgICAgICAgICAgbWF0LWZhYlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwicm93QWN0aW9uLnJvdXRlckxpbmsubGlua1wiXG4gICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwicm93QWN0aW9uLnJvdXRlckxpbmsucXVlcnlQYXJhbXNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbkNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9hPlxuICAgICAgfVxuICAgIH1cbiAgICA8IS0tIE1pbmkgRmFiIGJ1dHRvbiAtLT5cbiAgICBAY2FzZSAoJ21pbmktZmFiJykge1xuICAgICAgQGlmICghcm93QWN0aW9uLnJvdXRlckxpbmspIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBtYXQtbWluaS1mYWJcbiAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInJvd0FjdGlvbi5jbGFzc0FycmF5XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxhXG4gICAgICAgICAgICBtYXQtbWluaS1mYWJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cInJvd0FjdGlvbi5yb3V0ZXJMaW5rLmxpbmtcIlxuICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInJvd0FjdGlvbi5yb3V0ZXJMaW5rLnF1ZXJ5UGFyYW1zXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYT5cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iXX0=
@@ -10,7 +10,7 @@ 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,8 +1422,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
1422
1422
  }]
1423
1423
  }] });
1424
1424
 
1425
+ class FsRowInlineIconButtonComponent {
1426
+ rowAction;
1427
+ row;
1428
+ icon;
1429
+ buttonContent;
1430
+ clicked = new EventEmitter();
1431
+ fileSelect = new EventEmitter();
1432
+ actionClick(event) {
1433
+ this.clicked.emit(event);
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: FsRowInlineIconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1439
+ 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", icon: "icon", buttonContent: "buttonContent" }, outputs: { clicked: "clicked", fileSelect: "fileSelect" }, ngImport: i0, template: "@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", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: "ngmodule", type: FsFileModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1440
+ }
1441
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowInlineIconButtonComponent, decorators: [{
1442
+ type: Component,
1443
+ args: [{ selector: 'fs-list-row-inline-icon-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
1444
+ NgClass,
1445
+ NgTemplateOutlet,
1446
+ RouterLink,
1447
+ MatIconButton,
1448
+ MatIconAnchor,
1449
+ MatIcon,
1450
+ FsFileModule,
1451
+ AsyncPipe,
1452
+ ], template: "@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" }]
1453
+ }], propDecorators: { rowAction: [{
1454
+ type: Input
1455
+ }], row: [{
1456
+ type: Input
1457
+ }], icon: [{
1458
+ type: Input
1459
+ }], buttonContent: [{
1460
+ type: Input
1461
+ }], clicked: [{
1462
+ type: Output
1463
+ }], fileSelect: [{
1464
+ type: Output
1465
+ }] } });
1466
+
1425
1467
  class FsRowInlineActionComponent {
1426
- actionType;
1427
1468
  rowAction;
1428
1469
  row;
1429
1470
  clicked = new EventEmitter();
@@ -1438,27 +1479,24 @@ class FsRowInlineActionComponent {
1438
1479
  this.clicked.emit(event);
1439
1480
  }
1440
1481
  ngOnInit() {
1441
- this.actionType = this.rowAction.type;
1442
1482
  if (!this.rowAction.label && this.rowAction.icon) {
1443
- this.actionType = ActionType.Icon;
1483
+ this.rowAction.type = ActionType.Icon;
1444
1484
  }
1445
1485
  }
1446
1486
  fileSelected(event) {
1447
1487
  this.fileSelect.emit(event);
1448
1488
  }
1449
1489
  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 });
1490
+ 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 (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 <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 <fs-list-row-inline-icon-button\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n [icon]=\"icon\"\n [buttonContent]=\"buttonContent\"\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 <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: "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: 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: "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" }, { kind: "component", type: FsRowInlineIconButtonComponent, selector: "fs-list-row-inline-icon-button", inputs: ["rowAction", "row", "icon", "buttonContent"], outputs: ["clicked", "fileSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1451
1491
  }
1452
1492
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowInlineActionComponent, decorators: [{
1453
1493
  type: Component,
1454
1494
  args: [{ selector: 'fs-list-row-inline-action', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
1455
- MatButton,
1456
1495
  NgClass,
1457
1496
  NgTemplateOutlet,
1458
1497
  MatAnchor,
1459
1498
  RouterLink,
1460
- MatIconButton,
1461
- MatIconAnchor,
1499
+ MatButton,
1462
1500
  MatFabButton,
1463
1501
  MatFabAnchor,
1464
1502
  MatMiniFabButton,
@@ -1466,7 +1504,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
1466
1504
  MatIcon,
1467
1505
  FsFileModule,
1468
1506
  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"] }]
1507
+ FsRowInlineIconButtonComponent,
1508
+ ], 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 (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 <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 <fs-list-row-inline-icon-button\n [rowAction]=\"rowAction\"\n [row]=\"row\"\n [icon]=\"icon\"\n [buttonContent]=\"buttonContent\"\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 <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"] }]
1470
1509
  }], propDecorators: { rowAction: [{
1471
1510
  type: Input
1472
1511
  }], row: [{