@firestitch/list 18.0.63 → 18.0.65

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.
@@ -4,7 +4,6 @@ import { Row } from '../../../../models/row';
4
4
  import { RowAction } from '../../../../models/row-action.model';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class FsRowMenuActionComponent implements OnInit, OnChanges {
7
- private _menu;
8
7
  row: Row;
9
8
  rowAction: RowAction;
10
9
  file: FsListRowActionFile;
@@ -12,6 +11,7 @@ export declare class FsRowMenuActionComponent implements OnInit, OnChanges {
12
11
  fileError: EventEmitter<any>;
13
12
  icon: string;
14
13
  label: string;
14
+ private _menu;
15
15
  ngOnChanges(changes: SimpleChanges): void;
16
16
  selectFile(event: any): void;
17
17
  errorFile(event: any): void;
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, DoCheck, EventEmitter, OnDestroy, OnInit } from '@angular/core';
1
+ import { AfterViewInit, EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
2
  import { MatCheckboxChange } from '@angular/material/checkbox';
3
3
  import { ReorderPosition, ReorderStrategy } from '../../../classes/reorder-controller';
4
4
  import { SelectionController } from '../../../classes/selection-controller';
@@ -6,7 +6,7 @@ import { Column } from '../../../models/column.model';
6
6
  import { Row } from '../../../models/row';
7
7
  import { RowAction } from '../../../models/row-action.model';
8
8
  import * as i0 from "@angular/core";
9
- export declare class FsRowComponent implements OnInit, DoCheck, AfterViewInit, OnDestroy {
9
+ export declare class FsRowComponent implements OnInit, AfterViewInit, OnDestroy {
10
10
  role: string;
11
11
  row: import("@angular/core").InputSignal<Row>;
12
12
  rowActionsRaw: any[];
@@ -36,21 +36,17 @@ export declare class FsRowComponent implements OnInit, DoCheck, AfterViewInit, O
36
36
  isGroupFooterRow: import("@angular/core").Signal<boolean>;
37
37
  dragCellVisible: import("@angular/core").Signal<boolean>;
38
38
  rowCustomClass: import("@angular/core").Signal<string>;
39
- private _rowDiffer;
40
39
  private _eventListeners;
41
40
  private _destroy$;
42
41
  private _el;
43
42
  private _cdRef;
44
- private _differs;
45
43
  private _renderer;
46
44
  private _draggableList;
47
- constructor();
48
45
  get isDragDisabled(): boolean;
49
46
  get isMultipleSelection(): boolean;
50
47
  get leftDragDropEnabled(): boolean;
51
48
  get rightDragDropEnabled(): boolean;
52
49
  ngOnInit(): void;
53
- ngDoCheck(): void;
54
50
  ngAfterViewInit(): void;
55
51
  updateRowActions(): void;
56
52
  ngOnDestroy(): void;
@@ -67,11 +63,8 @@ export declare class FsRowComponent implements OnInit, DoCheck, AfterViewInit, O
67
63
  */
68
64
  trackByFn(index: any): any;
69
65
  dragStart(event: any): void;
70
- /**
71
- * Set event listeners for row
72
- */
73
66
  private _initRowEvents;
74
- private _initRowActionsUpdate;
67
+ private _initRowActions;
75
68
  private _getRowClasses;
76
69
  /**
77
70
  * Subscribe to selection change events
@@ -1,13 +1,7 @@
1
- import { DoCheck } from '@angular/core';
2
1
  import { FsCellComponent } from '../../body/row/cell/cell.component';
3
2
  import * as i0 from "@angular/core";
4
- export declare class FsHeadCellComponent extends FsCellComponent implements DoCheck {
5
- private _cdRef;
6
- private _differs;
3
+ export declare class FsHeadCellComponent extends FsCellComponent {
7
4
  cellContext: any;
8
- private _columnDiffer;
9
- constructor();
10
- ngDoCheck(): void;
11
5
  initCellContext(): void;
12
6
  static ɵfac: i0.ɵɵFactoryDeclaration<FsHeadCellComponent, never>;
13
7
  static ɵcmp: i0.ɵɵComponentDeclaration<FsHeadCellComponent, "[fs-head-cell]", never, {}, {}, never, never, true, never>;
@@ -27,7 +27,7 @@ export declare class Column {
27
27
  footerColspanned: boolean;
28
28
  private _attributes;
29
29
  private _defaultDirection;
30
- private _ordered;
30
+ private _ordered$;
31
31
  constructor(colConfig: ListColumnConfig, colDefaults?: any);
32
32
  set title(value: string);
33
33
  get title(): string;
@@ -44,6 +44,7 @@ export declare class Column {
44
44
  get visible$(): Observable<boolean>;
45
45
  get direction(): "asc" | "desc";
46
46
  get fullNameDirection(): "Ascending" | "Descending";
47
+ get ordered$(): Observable<boolean>;
47
48
  get ordered(): boolean;
48
49
  set ordered(value: boolean);
49
50
  /**
@@ -4,6 +4,7 @@ import { FsListReorderData } from '../../interfaces';
4
4
  export interface IBaseRow {
5
5
  data: object;
6
6
  index: number;
7
+ data$: Observable<object>;
7
8
  readyToSwap: boolean;
8
9
  actionsUpdated$: Observable<void>;
9
10
  updateActions(): void;
@@ -1,3 +1,4 @@
1
+ import { Observable } from 'rxjs';
1
2
  import { ActionType } from '../enums/action-type.enum';
2
3
  import { FsListRowActionFile, FsListRowActionLink, FsListRowActionRemove } from '../interfaces';
3
4
  export declare class RowAction {
@@ -6,20 +7,23 @@ export declare class RowAction {
6
7
  remove: FsListRowActionRemove | boolean;
7
8
  className: string;
8
9
  type: ActionType;
9
- show: Function;
10
+ show: (row: any, index: number) => boolean;
10
11
  restore: boolean;
11
12
  rowActions: RowAction[];
12
13
  label: string;
13
14
  routerLink: FsListRowActionLink;
14
15
  classArray: string[];
15
- isShown: boolean;
16
- click: Function;
16
+ click: (row: any, event: any, index: number, rowActionsRef?: RowAction) => void;
17
17
  fileConfig: FsListRowActionFile;
18
18
  private _linkFn;
19
19
  private readonly _isGroup;
20
+ private _visible;
20
21
  constructor(config?: any);
21
22
  get isGroup(): boolean;
22
23
  getRowIcon(row: any): string;
24
+ get visible$(): Observable<boolean>;
25
+ get hidden$(): Observable<boolean>;
26
+ get visible(): boolean;
23
27
  _init(value: any): void;
24
28
  checkShowStatus(row: any, index: any): void;
25
29
  updateLink(row: any): void;
@@ -1,4 +1,4 @@
1
- import { NgClass } from '@angular/common';
1
+ import { AsyncPipe, NgClass } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, inject } from '@angular/core';
3
3
  import { MatIcon } from '@angular/material/icon';
4
4
  import { FsMenuModule } from '@firestitch/menu';
@@ -73,7 +73,7 @@ export class FsRowActionsComponent {
73
73
  }
74
74
  }
75
75
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
76
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsRowActionsComponent, isStandalone: true, selector: "fs-list-row-actions", inputs: { row: "row", index: "index", restoreMode: "restoreMode", rowActions: "rowActions", rowRemoved: "rowRemoved", menuRowActions: "menuRowActions", inlineRowActions: "inlineRowActions", restoreAction: "restoreAction" }, ngImport: i0, template: "@if (!restoreMode || (restoreMode && !restoreAction)) {\n @for (action of inlineRowActions; track trackByFn($index)) {\n <fs-list-row-inline-action\n class=\"row-inline-action row-inline-action-{{action.type}}\"\n [rowAction]=\"action\"\n [row]=\"row\"\n [ngClass]=\"{ 'mobile-hide': action.menu === undefined }\"\n (clicked)=\"actionClick(action, row, $event)\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\">\n </fs-list-row-inline-action>\n }\n}\n<!-- Menu -->\n@if (menuRowActions.length || (restoreMode && restoreAction)) {\n <fs-menu\n class=\"row-menu-action\"\n #menuRef>\n <!-- Case when we have usual menu actions -->\n @if (!restoreMode || (restoreMode && !restoreAction)) {\n @for (action of inlineRowActions; track trackByFn($index)) {\n <ng-template\n class=\"hidden-mobile-menu-action\"\n fs-menu-item\n [link]=\"action.routerLink?.link\"\n [queryParams]=\"action.routerLink?.queryParams\"\n [target]=\"action.routerLink?.target\"\n [hidden]=\"action.menu !== undefined && !action.isShown\">\n <fs-list-row-menu-action\n [rowAction]=\"action\"\n [row]=\"row\"\n [file]=\"action.fileConfig\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\"\n (fileError)=\"action.fileConfig.error && action.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n }\n @for (action of menuRowActions; track trackByFn($index)) {\n @if (action.isGroup) {\n <fs-menu-group [label]=\"action.label | actionLabel:row\">\n @for (subAction of action.rowActions; track subAction) {\n <ng-template\n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [target]=\"subAction.routerLink?.target\"\n [hidden]=\"!subAction.isShown\"\n [class]=\"subAction.className\"\n (click)=\"actionClick(subAction, row, $event, menuRef);\">\n <fs-list-row-menu-action\n [rowAction]=\"subAction\"\n [row]=\"row\"\n [file]=\"subAction.fileConfig\"\n (fileSelect)=\"subAction.fileConfig.select($event, row, index)\"\n (fileError)=\"subAction.fileConfig.error && subAction.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n }\n </fs-menu-group>\n } @else {\n <ng-template\n fs-menu-item\n [link]=\"action.routerLink?.link\"\n [queryParams]=\"action.routerLink?.queryParams\"\n [target]=\"action.routerLink?.target\"\n [hidden]=\"!action.isShown\"\n [class]=\"action.className\"\n (click)=\"actionClick(action, row, $event, menuRef);\">\n <fs-list-row-menu-action\n [rowAction]=\"action\"\n [row]=\"row\"\n [file]=\"action.fileConfig\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\"\n (fileError)=\"action.fileConfig.error && action.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n }\n }\n }\n <!-- Case when we have restore mode enabled and must hide menu actions -->\n @if (restoreMode && restoreAction) {\n <ng-template\n fs-menu-item\n (click)=\"actionClick(restoreAction, row, $event, menuRef)\">\n @if (restoreAction.icon) {\n <mat-icon>\n {{ restoreAction.icon }}\n </mat-icon>\n }\n {{ restoreAction.label | actionLabel:row }}\n </ng-template>\n }\n </fs-menu>\n}", styles: [":host{display:flex;align-items:center;justify-content:flex-end}:host ::ng-deep fs-list-row-inline-action{margin-left:5px}:host ::ng-deep fs-list-row-inline-action:first-child{margin-left:0}::ng-deep .hidden-mobile-menu-action{display:none!important}\n"], dependencies: [{ kind: "component", type: FsRowInlineActionComponent, selector: "fs-list-row-inline-action", inputs: ["rowAction", "row"], outputs: ["clicked", "fileSelect"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FsMenuModule }, { kind: "component", type: i1.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }, { kind: "directive", type: i1.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]" }, { kind: "component", type: FsRowMenuActionComponent, selector: "fs-list-row-menu-action", inputs: ["row", "rowAction", "file"], outputs: ["fileSelect", "fileError"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: ActionLabelPipe, name: "actionLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
76
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsRowActionsComponent, isStandalone: true, selector: "fs-list-row-actions", inputs: { row: "row", index: "index", restoreMode: "restoreMode", rowActions: "rowActions", rowRemoved: "rowRemoved", menuRowActions: "menuRowActions", inlineRowActions: "inlineRowActions", restoreAction: "restoreAction" }, ngImport: i0, template: "@if (!restoreMode || (restoreMode && !restoreAction)) {\n @for (action of inlineRowActions; track trackByFn($index)) {\n <fs-list-row-inline-action\n class=\"row-inline-action row-inline-action-{{action.type}}\"\n [rowAction]=\"action\"\n [row]=\"row\"\n [ngClass]=\"{ 'mobile-hide': action.menu === undefined }\"\n (clicked)=\"actionClick(action, row, $event)\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\">\n </fs-list-row-inline-action>\n }\n}\n<!-- Menu -->\n@if (menuRowActions.length || (restoreMode && restoreAction)) {\n <fs-menu\n class=\"row-menu-action\"\n #menuRef>\n <!-- Case when we have usual menu actions -->\n @if (!restoreMode || (restoreMode && !restoreAction)) {\n @for (action of inlineRowActions; track trackByFn($index)) {\n <ng-template\n class=\"hidden-mobile-menu-action\"\n fs-menu-item\n [link]=\"action.routerLink?.link\"\n [queryParams]=\"action.routerLink?.queryParams\"\n [target]=\"action.routerLink?.target\"\n [hidden]=\"action.menu !== undefined && (action.hidden$ | async)\">\n <fs-list-row-menu-action\n [rowAction]=\"action\"\n [row]=\"row\"\n [file]=\"action.fileConfig\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\"\n (fileError)=\"action.fileConfig.error && action.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n }\n @for (action of menuRowActions; track trackByFn($index)) {\n @if (action.isGroup) {\n <fs-menu-group [label]=\"action.label | actionLabel:row\">\n @for (subAction of action.rowActions; track subAction) {\n <ng-template\n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [target]=\"subAction.routerLink?.target\"\n [hidden]=\"subAction.hidden$ | async\"\n [class]=\"subAction.className\"\n (click)=\"actionClick(subAction, row, $event, menuRef);\">\n <fs-list-row-menu-action\n [rowAction]=\"subAction\"\n [row]=\"row\"\n [file]=\"subAction.fileConfig\"\n (fileSelect)=\"subAction.fileConfig.select($event, row, index)\"\n (fileError)=\"subAction.fileConfig.error && subAction.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n }\n </fs-menu-group>\n } @else {\n <ng-template\n fs-menu-item\n [link]=\"action.routerLink?.link\"\n [queryParams]=\"action.routerLink?.queryParams\"\n [target]=\"action.routerLink?.target\"\n [hidden]=\"action.hidden$ | async\"\n [class]=\"action.className\"\n (click)=\"actionClick(action, row, $event, menuRef);\">\n <fs-list-row-menu-action\n [rowAction]=\"action\"\n [row]=\"row\"\n [file]=\"action.fileConfig\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\"\n (fileError)=\"action.fileConfig.error && action.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n }\n }\n }\n <!-- Case when we have restore mode enabled and must hide menu actions -->\n @if (restoreMode && restoreAction) {\n <ng-template\n fs-menu-item\n (click)=\"actionClick(restoreAction, row, $event, menuRef)\">\n @if (restoreAction.icon) {\n <mat-icon>\n {{ restoreAction.icon }}\n </mat-icon>\n }\n {{ restoreAction.label | actionLabel:row }}\n </ng-template>\n }\n </fs-menu>\n}", styles: [":host{display:flex;align-items:center;justify-content:flex-end}:host ::ng-deep fs-list-row-inline-action{margin-left:5px}:host ::ng-deep fs-list-row-inline-action:first-child{margin-left:0}::ng-deep .hidden-mobile-menu-action{display:none!important}\n"], dependencies: [{ kind: "component", type: FsRowInlineActionComponent, selector: "fs-list-row-inline-action", inputs: ["rowAction", "row"], outputs: ["clicked", "fileSelect"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FsMenuModule }, { kind: "component", type: i1.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }, { kind: "directive", type: i1.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]" }, { kind: "component", type: FsRowMenuActionComponent, selector: "fs-list-row-menu-action", inputs: ["row", "rowAction", "file"], outputs: ["fileSelect", "fileError"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: ActionLabelPipe, name: "actionLabel" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
77
77
  }
78
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowActionsComponent, decorators: [{
79
79
  type: Component,
@@ -84,7 +84,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
84
84
  FsRowMenuActionComponent,
85
85
  MatIcon,
86
86
  ActionLabelPipe,
87
- ], template: "@if (!restoreMode || (restoreMode && !restoreAction)) {\n @for (action of inlineRowActions; track trackByFn($index)) {\n <fs-list-row-inline-action\n class=\"row-inline-action row-inline-action-{{action.type}}\"\n [rowAction]=\"action\"\n [row]=\"row\"\n [ngClass]=\"{ 'mobile-hide': action.menu === undefined }\"\n (clicked)=\"actionClick(action, row, $event)\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\">\n </fs-list-row-inline-action>\n }\n}\n<!-- Menu -->\n@if (menuRowActions.length || (restoreMode && restoreAction)) {\n <fs-menu\n class=\"row-menu-action\"\n #menuRef>\n <!-- Case when we have usual menu actions -->\n @if (!restoreMode || (restoreMode && !restoreAction)) {\n @for (action of inlineRowActions; track trackByFn($index)) {\n <ng-template\n class=\"hidden-mobile-menu-action\"\n fs-menu-item\n [link]=\"action.routerLink?.link\"\n [queryParams]=\"action.routerLink?.queryParams\"\n [target]=\"action.routerLink?.target\"\n [hidden]=\"action.menu !== undefined && !action.isShown\">\n <fs-list-row-menu-action\n [rowAction]=\"action\"\n [row]=\"row\"\n [file]=\"action.fileConfig\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\"\n (fileError)=\"action.fileConfig.error && action.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n }\n @for (action of menuRowActions; track trackByFn($index)) {\n @if (action.isGroup) {\n <fs-menu-group [label]=\"action.label | actionLabel:row\">\n @for (subAction of action.rowActions; track subAction) {\n <ng-template\n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [target]=\"subAction.routerLink?.target\"\n [hidden]=\"!subAction.isShown\"\n [class]=\"subAction.className\"\n (click)=\"actionClick(subAction, row, $event, menuRef);\">\n <fs-list-row-menu-action\n [rowAction]=\"subAction\"\n [row]=\"row\"\n [file]=\"subAction.fileConfig\"\n (fileSelect)=\"subAction.fileConfig.select($event, row, index)\"\n (fileError)=\"subAction.fileConfig.error && subAction.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n }\n </fs-menu-group>\n } @else {\n <ng-template\n fs-menu-item\n [link]=\"action.routerLink?.link\"\n [queryParams]=\"action.routerLink?.queryParams\"\n [target]=\"action.routerLink?.target\"\n [hidden]=\"!action.isShown\"\n [class]=\"action.className\"\n (click)=\"actionClick(action, row, $event, menuRef);\">\n <fs-list-row-menu-action\n [rowAction]=\"action\"\n [row]=\"row\"\n [file]=\"action.fileConfig\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\"\n (fileError)=\"action.fileConfig.error && action.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n }\n }\n }\n <!-- Case when we have restore mode enabled and must hide menu actions -->\n @if (restoreMode && restoreAction) {\n <ng-template\n fs-menu-item\n (click)=\"actionClick(restoreAction, row, $event, menuRef)\">\n @if (restoreAction.icon) {\n <mat-icon>\n {{ restoreAction.icon }}\n </mat-icon>\n }\n {{ restoreAction.label | actionLabel:row }}\n </ng-template>\n }\n </fs-menu>\n}", styles: [":host{display:flex;align-items:center;justify-content:flex-end}:host ::ng-deep fs-list-row-inline-action{margin-left:5px}:host ::ng-deep fs-list-row-inline-action:first-child{margin-left:0}::ng-deep .hidden-mobile-menu-action{display:none!important}\n"] }]
87
+ AsyncPipe,
88
+ ], template: "@if (!restoreMode || (restoreMode && !restoreAction)) {\n @for (action of inlineRowActions; track trackByFn($index)) {\n <fs-list-row-inline-action\n class=\"row-inline-action row-inline-action-{{action.type}}\"\n [rowAction]=\"action\"\n [row]=\"row\"\n [ngClass]=\"{ 'mobile-hide': action.menu === undefined }\"\n (clicked)=\"actionClick(action, row, $event)\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\">\n </fs-list-row-inline-action>\n }\n}\n<!-- Menu -->\n@if (menuRowActions.length || (restoreMode && restoreAction)) {\n <fs-menu\n class=\"row-menu-action\"\n #menuRef>\n <!-- Case when we have usual menu actions -->\n @if (!restoreMode || (restoreMode && !restoreAction)) {\n @for (action of inlineRowActions; track trackByFn($index)) {\n <ng-template\n class=\"hidden-mobile-menu-action\"\n fs-menu-item\n [link]=\"action.routerLink?.link\"\n [queryParams]=\"action.routerLink?.queryParams\"\n [target]=\"action.routerLink?.target\"\n [hidden]=\"action.menu !== undefined && (action.hidden$ | async)\">\n <fs-list-row-menu-action\n [rowAction]=\"action\"\n [row]=\"row\"\n [file]=\"action.fileConfig\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\"\n (fileError)=\"action.fileConfig.error && action.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n }\n @for (action of menuRowActions; track trackByFn($index)) {\n @if (action.isGroup) {\n <fs-menu-group [label]=\"action.label | actionLabel:row\">\n @for (subAction of action.rowActions; track subAction) {\n <ng-template\n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [target]=\"subAction.routerLink?.target\"\n [hidden]=\"subAction.hidden$ | async\"\n [class]=\"subAction.className\"\n (click)=\"actionClick(subAction, row, $event, menuRef);\">\n <fs-list-row-menu-action\n [rowAction]=\"subAction\"\n [row]=\"row\"\n [file]=\"subAction.fileConfig\"\n (fileSelect)=\"subAction.fileConfig.select($event, row, index)\"\n (fileError)=\"subAction.fileConfig.error && subAction.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n }\n </fs-menu-group>\n } @else {\n <ng-template\n fs-menu-item\n [link]=\"action.routerLink?.link\"\n [queryParams]=\"action.routerLink?.queryParams\"\n [target]=\"action.routerLink?.target\"\n [hidden]=\"action.hidden$ | async\"\n [class]=\"action.className\"\n (click)=\"actionClick(action, row, $event, menuRef);\">\n <fs-list-row-menu-action\n [rowAction]=\"action\"\n [row]=\"row\"\n [file]=\"action.fileConfig\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\"\n (fileError)=\"action.fileConfig.error && action.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n }\n }\n }\n <!-- Case when we have restore mode enabled and must hide menu actions -->\n @if (restoreMode && restoreAction) {\n <ng-template\n fs-menu-item\n (click)=\"actionClick(restoreAction, row, $event, menuRef)\">\n @if (restoreAction.icon) {\n <mat-icon>\n {{ restoreAction.icon }}\n </mat-icon>\n }\n {{ restoreAction.label | actionLabel:row }}\n </ng-template>\n }\n </fs-menu>\n}", styles: [":host{display:flex;align-items:center;justify-content:flex-end}:host ::ng-deep fs-list-row-inline-action{margin-left:5px}:host ::ng-deep fs-list-row-inline-action:first-child{margin-left:0}::ng-deep .hidden-mobile-menu-action{display:none!important}\n"] }]
88
89
  }], propDecorators: { row: [{
89
90
  type: Input
90
91
  }], index: [{
@@ -102,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
102
103
  }], restoreAction: [{
103
104
  type: Input
104
105
  }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYm9keS9yb3cvYWN0aW9ucy9hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9ib2R5L3Jvdy9hY3Rpb25zL2FjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7QUFrQmhGLE1BQU0sT0FBTyxxQkFBcUI7SUFHekIsR0FBRyxDQUFNO0lBR1QsS0FBSyxDQUFTO0lBR2QsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUdwQixVQUFVLEdBQWdCLEVBQUUsQ0FBQztJ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SztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsY0FBYztzQkFEcEIsS0FBSztnQkFJQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuaW1wb3J0IHsgRnNNZW51TW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbWVudSc7XG5pbXBvcnQgeyBGc1Byb21wdCB9IGZyb20gJ0BmaXJlc3RpdGNoL3Byb21wdCc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgUm93IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3Jvdyc7XG5pbXBvcnQgeyBSb3dBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcm93LWFjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBBY3Rpb25MYWJlbFBpcGUgfSBmcm9tICcuLi8uLi8uLi8uLi9waXBlcy9hY3Rpb24tbGFiZWwnO1xuaW1wb3J0IHsgRnNSb3dJbmxpbmVBY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi9pbmxpbmUtYWN0aW9uL2lubGluZS1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEZzUm93TWVudUFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUtYWN0aW9uL21lbnUtYWN0aW9uLmNvbXBvbmVudCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtbGlzdC1yb3ctYWN0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9ucy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZzUm93SW5saW5lQWN0aW9uQ29tcG9uZW50LFxuICAgIE5nQ2xhc3MsXG4gICAgRnNNZW51TW9kdWxlLFxuICAgIEZzUm93TWVudUFjdGlvbkNvbXBvbmVudCxcbiAgICBNYXRJY29uLFxuICAgIEFjdGlvbkxhYmVsUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNSb3dBY3Rpb25zQ29tcG9uZW50IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcm93OiBSb3c7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGluZGV4OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJlc3RvcmVNb2RlID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvd0FjdGlvbnM6IFJvd0FjdGlvbltdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvd1JlbW92ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtZW51Um93QWN0aW9uczogUm93QWN0aW9uW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaW5saW5lUm93QWN0aW9uczogUm93QWN0aW9uW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVzdG9yZUFjdGlvbjogUm93QWN0aW9uO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSBfcHJvbXB0ID0gaW5qZWN0KEZzUHJvbXB0KTtcblxuXG4gIHB1YmxpYyBhY3Rpb25DbGljayhhY3Rpb246IFJvd0FjdGlvbiwgcm93OiBhbnksIGV2ZW50OiBhbnksIG1lbnVSZWY/KSB7XG4gICAgaWYgKGFjdGlvbi5yZW1vdmUpIHtcbiAgICAgIGlmIChcbiAgICAgICAgYWN0aW9uLnJlbW92ZSBpbnN0YW5jZW9mIE9iamVjdFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuX3Byb21wdC5jb25maXJtKHtcbiAgICAgICAgICB0aXRsZTogYWN0aW9uLnJlbW92ZS50aXRsZSxcbiAgICAgICAgICB0ZW1wbGF0ZTogYWN0aW9uLnJlbW92ZS50ZW1wbGF0ZSxcbiAgICAgICAgICBhdXRvZm9jdXM6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9yZW1vdmVBY3Rpb24oYWN0aW9uLCByb3cuZGF0YSwgZXZlbnQsIHRoaXMuaW5kZXgpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fcmVtb3ZlQWN0aW9uKGFjdGlvbiwgcm93LmRhdGEsIGV2ZW50LCB0aGlzLmluZGV4KTtcblxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBhY3Rpb24uY2xpY2socm93LmRhdGEsIGV2ZW50LCB0aGlzLmluZGV4LCBtZW51UmVmKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJhY2sgQnkgZm9yIGltcHJvdmUgY2hhbmdlIGRldGVjdGlvblxuICAgKlxuICAgKiBAcGFyYW0gaW5kZXhcbiAgICovXG4gIHB1YmxpYyB0cmFja0J5Rm4oaW5kZXgpIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogRW1pdCB0aGF0IHNvbWUgcm93IG11c3QgYmUgcmVtb3ZlZFxuICAgKlxuICAgKiBAcGFyYW0gYWN0aW9uXG4gICAqIEBwYXJhbSByb3dcbiAgICogQHBhcmFtIGV2ZW50XG4gICAqIEBwYXJhbSBpbmRleFxuICAgKi9cbiAgcHJpdmF0ZSBfcmVtb3ZlQWN0aW9uKGFjdGlvbiwgcm93LCBldmVudCwgaW5kZXgpIHtcbiAgICBjb25zdCByZW1vdmVPYnNlcnZhYmxlID0gYWN0aW9uLmNsaWNrKHJvdywgZXZlbnQsIGluZGV4KTtcblxuICAgIGlmIChyZW1vdmVPYnNlcnZhYmxlICYmIHJlbW92ZU9ic2VydmFibGUgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICByZW1vdmVPYnNlcnZhYmxlXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJvd1JlbW92ZWQuZW1pdChyb3cpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yb3dSZW1vdmVkLmVtaXQocm93KTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpZiAoIXJlc3RvcmVNb2RlIHx8IChyZXN0b3JlTW9kZSAmJiAhcmVzdG9yZUFjdGlvbikpIHtcbiAgQGZvciAoYWN0aW9uIG9mIGlubGluZVJvd0FjdGlvbnM7IHRyYWNrIHRyYWNrQnlGbigkaW5kZXgpKSB7XG4gICAgPGZzLWxpc3Qtcm93LWlubGluZS1hY3Rpb25cbiAgICAgIGNsYXNzPVwicm93LWlubGluZS1hY3Rpb24gcm93LWlubGluZS1hY3Rpb24te3thY3Rpb24udHlwZX19XCJcbiAgICAgIFtyb3dBY3Rpb25dPVwiYWN0aW9uXCJcbiAgICAgIFtyb3ddPVwicm93XCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ21vYmlsZS1oaWRlJzogYWN0aW9uLm1lbnUgPT09IHVuZGVmaW5lZCB9XCJcbiAgICAgIChjbGlja2VkKT1cImFjdGlvbkNsaWNrKGFjdGlvbiwgcm93LCAkZXZlbnQpXCJcbiAgICAgIChmaWxlU2VsZWN0KT1cImFjdGlvbi5maWxlQ29uZmlnLnNlbGVjdCgkZXZlbnQsIHJvdywgaW5kZXgpXCI+XG4gICAgPC9mcy1saXN0LXJvdy1pbmxpbmUtYWN0aW9uPlxuICB9XG59XG48IS0tIE1lbnUgLS0+XG5AaWYgKG1lbnVSb3dBY3Rpb25zLmxlbmd0aCB8fCAocmVzdG9yZU1vZGUgJiYgcmVzdG9yZUFjdGlvbikpIHtcbiAgPGZzLW1lbnVcbiAgICAgIGNsYXNzPVwicm93LW1lbnUtYWN0aW9uXCJcbiAgICAgICNtZW51UmVmPlxuICAgIDwhLS0gQ2FzZSB3aGVuIHdlIGhhdmUgdXN1YWwgbWVudSBhY3Rpb25zIC0tPlxuICAgIEBpZiAoIXJlc3RvcmVNb2RlIHx8IChyZXN0b3JlTW9kZSAmJiAhcmVzdG9yZUFjdGlvbikpIHtcbiAgICAgIEBmb3IgKGFjdGlvbiBvZiBpbmxpbmVSb3dBY3Rpb25zOyB0cmFjayB0cmFja0J5Rm4oJGluZGV4KSkge1xuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIGNsYXNzPVwiaGlkZGVuLW1vYmlsZS1tZW51LWFjdGlvblwiXG4gICAgICAgICAgICBmcy1tZW51LWl0ZW1cbiAgICAgICAgICAgIFtsaW5rXT1cImFjdGlvbi5yb3V0ZXJMaW5rPy5saW5rXCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJhY3Rpb24ucm91dGVyTGluaz8ucXVlcnlQYXJhbXNcIlxuICAgICAgICAgICAgW3RhcmdldF09XCJhY3Rpb24ucm91dGVyTGluaz8udGFyZ2V0XCJcbiAgICAgICAgICAgIFtoaWRkZW5dPVwiYWN0aW9uLm1lbnUgIT09IHVuZGVmaW5lZCAmJiAhYWN0aW9uLmlzU2hvd25cIj5cbiAgICAgICAgICA8ZnMtbGlzdC1yb3ctbWVudS1hY3Rpb25cbiAgICAgICAgICAgIFtyb3dBY3Rpb25dPVwiYWN0aW9uXCJcbiAgICAgICAgICAgIFtyb3ddPVwicm93XCJcbiAgICAgICAgICAgIFtmaWxlXT1cImFjdGlvbi5maWxlQ29uZmlnXCJcbiAgICAgICAgICAgIChmaWxlU2VsZWN0KT1cImFjdGlvbi5maWxlQ29uZmlnLnNlbGVjdCgkZXZlbnQsIHJvdywgaW5kZXgpXCJcbiAgICAgICAgICAgIChmaWxlRXJyb3IpPVwiYWN0aW9uLmZpbGVDb25maWcuZXJyb3IgJiYgYWN0aW9uLmZpbGVDb25maWcuZXJyb3IoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvZnMtbGlzdC1yb3ctbWVudS1hY3Rpb24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICB9XG4gICAgICBAZm9yIChhY3Rpb24gb2YgbWVudVJvd0FjdGlvbnM7IHRyYWNrIHRyYWNrQnlGbigkaW5kZXgpKSB7XG4gICAgICAgIEBpZiAoYWN0aW9uLmlzR3JvdXApIHtcbiAgICAgICAgICA8ZnMtbWVudS1ncm91cCBbbGFiZWxdPVwiYWN0aW9uLmxhYmVsIHwgYWN0aW9uTGFiZWw6cm93XCI+XG4gICAgICAgICAgICBAZm9yIChzdWJBY3Rpb24gb2YgYWN0aW9uLnJvd0FjdGlvbnM7IHRyYWNrIHN1YkFjdGlvbikge1xuICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgIGZzLW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgICAgW2xpbmtdPVwic3ViQWN0aW9uLnJvdXRlckxpbms/LmxpbmtcIlxuICAgICAgICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInN1YkFjdGlvbi5yb3V0ZXJMaW5rPy5xdWVyeVBhcmFtc1wiXG4gICAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cInN1YkFjdGlvbi5yb3V0ZXJMaW5rPy50YXJnZXRcIlxuICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCIhc3ViQWN0aW9uLmlzU2hvd25cIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cInN1YkFjdGlvbi5jbGFzc05hbWVcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbkNsaWNrKHN1YkFjdGlvbiwgcm93LCAkZXZlbnQsIG1lbnVSZWYpO1wiPlxuICAgICAgICAgICAgICAgIDxmcy1saXN0LXJvdy1tZW51LWFjdGlvblxuICAgICAgICAgICAgICAgICAgW3Jvd0FjdGlvbl09XCJzdWJBY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgICAgICAgICAgICAgW2ZpbGVdPVwic3ViQWN0aW9uLmZpbGVDb25maWdcIlxuICAgICAgICAgICAgICAgICAgKGZpbGVTZWxlY3QpPVwic3ViQWN0aW9uLmZpbGVDb25maWcuc2VsZWN0KCRldmVudCwgcm93LCBpbmRleClcIlxuICAgICAgICAgICAgICAgICAgKGZpbGVFcnJvcik9XCJzdWJBY3Rpb24uZmlsZUNvbmZpZy5lcnJvciAmJiBzdWJBY3Rpb24uZmlsZUNvbmZpZy5lcnJvcigkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPC9mcy1saXN0LXJvdy1tZW51LWFjdGlvbj5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2ZzLW1lbnUtZ3JvdXA+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICBmcy1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgW2xpbmtdPVwiYWN0aW9uLnJvdXRlckxpbms/LmxpbmtcIlxuICAgICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwiYWN0aW9uLnJvdXRlckxpbms/LnF1ZXJ5UGFyYW1zXCJcbiAgICAgICAgICAgICAgW3RhcmdldF09XCJhY3Rpb24ucm91dGVyTGluaz8udGFyZ2V0XCJcbiAgICAgICAgICAgICAgW2hpZGRlbl09XCIhYWN0aW9uLmlzU2hvd25cIlxuICAgICAgICAgICAgICBbY2xhc3NdPVwiYWN0aW9uLmNsYXNzTmFtZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb25DbGljayhhY3Rpb24sIHJvdywgJGV2ZW50LCBtZW51UmVmKTtcIj5cbiAgICAgICAgICAgIDxmcy1saXN0LXJvdy1tZW51LWFjdGlvblxuICAgICAgICAgICAgICBbcm93QWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAgICAgICAgIFtyb3ddPVwicm93XCJcbiAgICAgICAgICAgICAgW2ZpbGVdPVwiYWN0aW9uLmZpbGVDb25maWdcIlxuICAgICAgICAgICAgICAoZmlsZVNlbGVjdCk9XCJhY3Rpb24uZmlsZUNvbmZpZy5zZWxlY3QoJGV2ZW50LCByb3csIGluZGV4KVwiXG4gICAgICAgICAgICAgIChmaWxlRXJyb3IpPVwiYWN0aW9uLmZpbGVDb25maWcuZXJyb3IgJiYgYWN0aW9uLmZpbGVDb25maWcuZXJyb3IoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPC9mcy1saXN0LXJvdy1tZW51LWFjdGlvbj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIDwhLS0gQ2FzZSB3aGVuIHdlIGhhdmUgcmVzdG9yZSBtb2RlIGVuYWJsZWQgYW5kIG11c3QgaGlkZSBtZW51IGFjdGlvbnMgLS0+XG4gICAgQGlmIChyZXN0b3JlTW9kZSAmJiByZXN0b3JlQWN0aW9uKSB7XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICBmcy1tZW51LWl0ZW1cbiAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uQ2xpY2socmVzdG9yZUFjdGlvbiwgcm93LCAkZXZlbnQsIG1lbnVSZWYpXCI+XG4gICAgICAgIEBpZiAocmVzdG9yZUFjdGlvbi5pY29uKSB7XG4gICAgICAgICAgPG1hdC1pY29uPlxuICAgICAgICAgICAge3sgcmVzdG9yZUFjdGlvbi5pY29uIH19XG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgfVxuICAgICAgICB7eyByZXN0b3JlQWN0aW9uLmxhYmVsIHwgYWN0aW9uTGFiZWw6cm93IH19XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIH1cbiAgPC9mcy1tZW51PlxufSJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYm9keS9yb3cvYWN0aW9ucy9hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9ib2R5L3Jvdy9hY3Rpb25zL2FjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7O0FBbUJoRixNQUFNLE9BQU8scUJBQXFCO0lBR3pCLEdBQUcsQ0FBTTtJQUdULEtBQUssQ0FBUztJQUdkLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFHcEIsVUFBVSxHQUFnQixF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c0JBRFgsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSztnQkFJQyxjQUFjO3NCQURwQixLQUFLO2dCQUlDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFJQyxhQUFhO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbmltcG9ydCB7IEZzTWVudU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL21lbnUnO1xuaW1wb3J0IHsgRnNQcm9tcHQgfSBmcm9tICdAZmlyZXN0aXRjaC9wcm9tcHQnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFJvdyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9yb3cnO1xuaW1wb3J0IHsgUm93QWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3Jvdy1hY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgQWN0aW9uTGFiZWxQaXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvYWN0aW9uLWxhYmVsJztcbmltcG9ydCB7IEZzUm93SW5saW5lQWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5saW5lLWFjdGlvbi9pbmxpbmUtYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGc1Jvd01lbnVBY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi9tZW51LWFjdGlvbi9tZW51LWFjdGlvbi5jb21wb25lbnQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWxpc3Qtcm93LWFjdGlvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBGc1Jvd0lubGluZUFjdGlvbkNvbXBvbmVudCxcbiAgICBOZ0NsYXNzLFxuICAgIEZzTWVudU1vZHVsZSxcbiAgICBGc1Jvd01lbnVBY3Rpb25Db21wb25lbnQsXG4gICAgTWF0SWNvbixcbiAgICBBY3Rpb25MYWJlbFBpcGUsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGc1Jvd0FjdGlvbnNDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3c6IFJvdztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaW5kZXg6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVzdG9yZU1vZGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcm93QWN0aW9uczogUm93QWN0aW9uW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcm93UmVtb3ZlZDogRXZlbnRFbWl0dGVyPGFueT47XG5cbiAgQElucHV0KClcbiAgcHVibGljIG1lbnVSb3dBY3Rpb25zOiBSb3dBY3Rpb25bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbmxpbmVSb3dBY3Rpb25zOiBSb3dBY3Rpb25bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZXN0b3JlQWN0aW9uOiBSb3dBY3Rpb247XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIF9wcm9tcHQgPSBpbmplY3QoRnNQcm9tcHQpO1xuXG5cbiAgcHVibGljIGFjdGlvbkNsaWNrKGFjdGlvbjogUm93QWN0aW9uLCByb3c6IGFueSwgZXZlbnQ6IGFueSwgbWVudVJlZj8pIHtcbiAgICBpZiAoYWN0aW9uLnJlbW92ZSkge1xuICAgICAgaWYgKFxuICAgICAgICBhY3Rpb24ucmVtb3ZlIGluc3RhbmNlb2YgT2JqZWN0XG4gICAgICApIHtcbiAgICAgICAgdGhpcy5fcHJvbXB0LmNvbmZpcm0oe1xuICAgICAgICAgIHRpdGxlOiBhY3Rpb24ucmVtb3ZlLnRpdGxlLFxuICAgICAgICAgIHRlbXBsYXRlOiBhY3Rpb24ucmVtb3ZlLnRlbXBsYXRlLFxuICAgICAgICAgIGF1dG9mb2N1czogdHJ1ZSxcbiAgICAgICAgfSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3JlbW92ZUFjdGlvbihhY3Rpb24sIHJvdy5kYXRhLCBldmVudCwgdGhpcy5pbmRleCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9yZW1vdmVBY3Rpb24oYWN0aW9uLCByb3cuZGF0YSwgZXZlbnQsIHRoaXMuaW5kZXgpO1xuXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGFjdGlvbi5jbGljayhyb3cuZGF0YSwgZXZlbnQsIHRoaXMuaW5kZXgsIG1lbnVSZWYpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFjayBCeSBmb3IgaW1wcm92ZSBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSBpbmRleFxuICAgKi9cbiAgcHVibGljIHRyYWNrQnlGbihpbmRleCkge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0IHRoYXQgc29tZSByb3cgbXVzdCBiZSByZW1vdmVkXG4gICAqXG4gICAqIEBwYXJhbSBhY3Rpb25cbiAgICogQHBhcmFtIHJvd1xuICAgKiBAcGFyYW0gZXZlbnRcbiAgICogQHBhcmFtIGluZGV4XG4gICAqL1xuICBwcml2YXRlIF9yZW1vdmVBY3Rpb24oYWN0aW9uLCByb3csIGV2ZW50LCBpbmRleCkge1xuICAgIGNvbnN0IHJlbW92ZU9ic2VydmFibGUgPSBhY3Rpb24uY2xpY2socm93LCBldmVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHJlbW92ZU9ic2VydmFibGUgJiYgcmVtb3ZlT2JzZXJ2YWJsZSBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgIHJlbW92ZU9ic2VydmFibGVcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm93UmVtb3ZlZC5lbWl0KHJvdyk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJvd1JlbW92ZWQuZW1pdChyb3cpO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmICghcmVzdG9yZU1vZGUgfHwgKHJlc3RvcmVNb2RlICYmICFyZXN0b3JlQWN0aW9uKSkge1xuICBAZm9yIChhY3Rpb24gb2YgaW5saW5lUm93QWN0aW9uczsgdHJhY2sgdHJhY2tCeUZuKCRpbmRleCkpIHtcbiAgICA8ZnMtbGlzdC1yb3ctaW5saW5lLWFjdGlvblxuICAgICAgY2xhc3M9XCJyb3ctaW5saW5lLWFjdGlvbiByb3ctaW5saW5lLWFjdGlvbi17e2FjdGlvbi50eXBlfX1cIlxuICAgICAgW3Jvd0FjdGlvbl09XCJhY3Rpb25cIlxuICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgW25nQ2xhc3NdPVwieyAnbW9iaWxlLWhpZGUnOiBhY3Rpb24ubWVudSA9PT0gdW5kZWZpbmVkIH1cIlxuICAgICAgKGNsaWNrZWQpPVwiYWN0aW9uQ2xpY2soYWN0aW9uLCByb3csICRldmVudClcIlxuICAgICAgKGZpbGVTZWxlY3QpPVwiYWN0aW9uLmZpbGVDb25maWcuc2VsZWN0KCRldmVudCwgcm93LCBpbmRleClcIj5cbiAgICA8L2ZzLWxpc3Qtcm93LWlubGluZS1hY3Rpb24+XG4gIH1cbn1cbjwhLS0gTWVudSAtLT5cbkBpZiAobWVudVJvd0FjdGlvbnMubGVuZ3RoIHx8IChyZXN0b3JlTW9kZSAmJiByZXN0b3JlQWN0aW9uKSkge1xuICA8ZnMtbWVudVxuICAgICAgY2xhc3M9XCJyb3ctbWVudS1hY3Rpb25cIlxuICAgICAgI21lbnVSZWY+XG4gICAgPCEtLSBDYXNlIHdoZW4gd2UgaGF2ZSB1c3VhbCBtZW51IGFjdGlvbnMgLS0+XG4gICAgQGlmICghcmVzdG9yZU1vZGUgfHwgKHJlc3RvcmVNb2RlICYmICFyZXN0b3JlQWN0aW9uKSkge1xuICAgICAgQGZvciAoYWN0aW9uIG9mIGlubGluZVJvd0FjdGlvbnM7IHRyYWNrIHRyYWNrQnlGbigkaW5kZXgpKSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgY2xhc3M9XCJoaWRkZW4tbW9iaWxlLW1lbnUtYWN0aW9uXCJcbiAgICAgICAgICAgIGZzLW1lbnUtaXRlbVxuICAgICAgICAgICAgW2xpbmtdPVwiYWN0aW9uLnJvdXRlckxpbms/LmxpbmtcIlxuICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cImFjdGlvbi5yb3V0ZXJMaW5rPy5xdWVyeVBhcmFtc1wiXG4gICAgICAgICAgICBbdGFyZ2V0XT1cImFjdGlvbi5yb3V0ZXJMaW5rPy50YXJnZXRcIlxuICAgICAgICAgICAgW2hpZGRlbl09XCJhY3Rpb24ubWVudSAhPT0gdW5kZWZpbmVkICYmIChhY3Rpb24uaGlkZGVuJCB8IGFzeW5jKVwiPlxuICAgICAgICAgIDxmcy1saXN0LXJvdy1tZW51LWFjdGlvblxuICAgICAgICAgICAgW3Jvd0FjdGlvbl09XCJhY3Rpb25cIlxuICAgICAgICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgICAgICAgW2ZpbGVdPVwiYWN0aW9uLmZpbGVDb25maWdcIlxuICAgICAgICAgICAgKGZpbGVTZWxlY3QpPVwiYWN0aW9uLmZpbGVDb25maWcuc2VsZWN0KCRldmVudCwgcm93LCBpbmRleClcIlxuICAgICAgICAgICAgKGZpbGVFcnJvcik9XCJhY3Rpb24uZmlsZUNvbmZpZy5lcnJvciAmJiBhY3Rpb24uZmlsZUNvbmZpZy5lcnJvcigkZXZlbnQpXCI+XG4gICAgICAgICAgPC9mcy1saXN0LXJvdy1tZW51LWFjdGlvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIH1cbiAgICAgIEBmb3IgKGFjdGlvbiBvZiBtZW51Um93QWN0aW9uczsgdHJhY2sgdHJhY2tCeUZuKCRpbmRleCkpIHtcbiAgICAgICAgQGlmIChhY3Rpb24uaXNHcm91cCkge1xuICAgICAgICAgIDxmcy1tZW51LWdyb3VwIFtsYWJlbF09XCJhY3Rpb24ubGFiZWwgfCBhY3Rpb25MYWJlbDpyb3dcIj5cbiAgICAgICAgICAgIEBmb3IgKHN1YkFjdGlvbiBvZiBhY3Rpb24ucm93QWN0aW9uczsgdHJhY2sgc3ViQWN0aW9uKSB7XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgZnMtbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgICBbbGlua109XCJzdWJBY3Rpb24ucm91dGVyTGluaz8ubGlua1wiXG4gICAgICAgICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwic3ViQWN0aW9uLnJvdXRlckxpbms/LnF1ZXJ5UGFyYW1zXCJcbiAgICAgICAgICAgICAgICAgIFt0YXJnZXRdPVwic3ViQWN0aW9uLnJvdXRlckxpbms/LnRhcmdldFwiXG4gICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cInN1YkFjdGlvbi5oaWRkZW4kIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cInN1YkFjdGlvbi5jbGFzc05hbWVcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbkNsaWNrKHN1YkFjdGlvbiwgcm93LCAkZXZlbnQsIG1lbnVSZWYpO1wiPlxuICAgICAgICAgICAgICAgIDxmcy1saXN0LXJvdy1tZW51LWFjdGlvblxuICAgICAgICAgICAgICAgICAgW3Jvd0FjdGlvbl09XCJzdWJBY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgICAgICAgICAgICAgW2ZpbGVdPVwic3ViQWN0aW9uLmZpbGVDb25maWdcIlxuICAgICAgICAgICAgICAgICAgKGZpbGVTZWxlY3QpPVwic3ViQWN0aW9uLmZpbGVDb25maWcuc2VsZWN0KCRldmVudCwgcm93LCBpbmRleClcIlxuICAgICAgICAgICAgICAgICAgKGZpbGVFcnJvcik9XCJzdWJBY3Rpb24uZmlsZUNvbmZpZy5lcnJvciAmJiBzdWJBY3Rpb24uZmlsZUNvbmZpZy5lcnJvcigkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPC9mcy1saXN0LXJvdy1tZW51LWFjdGlvbj5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2ZzLW1lbnUtZ3JvdXA+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICBmcy1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgW2xpbmtdPVwiYWN0aW9uLnJvdXRlckxpbms/LmxpbmtcIlxuICAgICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwiYWN0aW9uLnJvdXRlckxpbms/LnF1ZXJ5UGFyYW1zXCJcbiAgICAgICAgICAgICAgW3RhcmdldF09XCJhY3Rpb24ucm91dGVyTGluaz8udGFyZ2V0XCJcbiAgICAgICAgICAgICAgW2hpZGRlbl09XCJhY3Rpb24uaGlkZGVuJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgW2NsYXNzXT1cImFjdGlvbi5jbGFzc05hbWVcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uQ2xpY2soYWN0aW9uLCByb3csICRldmVudCwgbWVudVJlZik7XCI+XG4gICAgICAgICAgICA8ZnMtbGlzdC1yb3ctbWVudS1hY3Rpb25cbiAgICAgICAgICAgICAgW3Jvd0FjdGlvbl09XCJhY3Rpb25cIlxuICAgICAgICAgICAgICBbcm93XT1cInJvd1wiXG4gICAgICAgICAgICAgIFtmaWxlXT1cImFjdGlvbi5maWxlQ29uZmlnXCJcbiAgICAgICAgICAgICAgKGZpbGVTZWxlY3QpPVwiYWN0aW9uLmZpbGVDb25maWcuc2VsZWN0KCRldmVudCwgcm93LCBpbmRleClcIlxuICAgICAgICAgICAgICAoZmlsZUVycm9yKT1cImFjdGlvbi5maWxlQ29uZmlnLmVycm9yICYmIGFjdGlvbi5maWxlQ29uZmlnLmVycm9yKCRldmVudClcIj5cbiAgICAgICAgICAgIDwvZnMtbGlzdC1yb3ctbWVudS1hY3Rpb24+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA8IS0tIENhc2Ugd2hlbiB3ZSBoYXZlIHJlc3RvcmUgbW9kZSBlbmFibGVkIGFuZCBtdXN0IGhpZGUgbWVudSBhY3Rpb25zIC0tPlxuICAgIEBpZiAocmVzdG9yZU1vZGUgJiYgcmVzdG9yZUFjdGlvbikge1xuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgZnMtbWVudS1pdGVtXG4gICAgICAgICAgKGNsaWNrKT1cImFjdGlvbkNsaWNrKHJlc3RvcmVBY3Rpb24sIHJvdywgJGV2ZW50LCBtZW51UmVmKVwiPlxuICAgICAgICBAaWYgKHJlc3RvcmVBY3Rpb24uaWNvbikge1xuICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgIHt7IHJlc3RvcmVBY3Rpb24uaWNvbiB9fVxuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIH1cbiAgICAgICAge3sgcmVzdG9yZUFjdGlvbi5sYWJlbCB8IGFjdGlvbkxhYmVsOnJvdyB9fVxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICB9XG4gIDwvZnMtbWVudT5cbn0iXX0=
@@ -1,11 +1,11 @@
1
+ import { AsyncPipe, NgClass, NgIf, NgSwitch, NgSwitchCase, NgTemplateOutlet } from '@angular/common';
1
2
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
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';
2
6
  import { FsFileModule } from '@firestitch/file';
3
7
  import { ActionType } from '../../../../enums/action-type.enum';
4
8
  import { RowAction } from '../../../../models/row-action.model';
5
- import { NgIf, NgSwitch, NgSwitchCase, NgClass, NgTemplateOutlet } from '@angular/common';
6
- import { MatButton, MatAnchor, MatIconButton, MatIconAnchor, MatFabButton, MatFabAnchor, MatMiniFabButton, MatMiniFabAnchor } from '@angular/material/button';
7
- import { RouterLink } from '@angular/router';
8
- import { MatIcon } from '@angular/material/icon';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@firestitch/file";
11
11
  export class FsRowInlineActionComponent {
@@ -33,7 +33,7 @@ export class FsRowInlineActionComponent {
33
33
  this.fileSelect.emit(event);
34
34
  }
35
35
  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: "14.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-container\n *ngIf=\"rowAction.isShown\"\n [ngSwitch]=\"actionType\">\n <!-- Basic button -->\n <ng-container *ngSwitchCase=\"'basic'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <!-- Raised button -->\n <ng-container *ngSwitchCase=\"'raised'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-raised-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-raised-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <!-- Icon button -->\n <ng-container *ngSwitchCase=\"'icon'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-icon-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <!-- Fab button -->\n <ng-container *ngSwitchCase=\"'fab'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <!-- Mini Fab button -->\n <ng-container *ngSwitchCase=\"'mini-fab'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-mini-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-mini-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <ng-template #buttonContent>\n <ng-container *ngIf=\"!rowAction.fileConfig else uploadFileBtn\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n {{ rowAction.label }}\n </ng-container>\n <ng-template #uploadFileBtn>\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 <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n {{ rowAction.label }}\n </fs-file>\n </ng-template>\n </ng-template>\n</ng-container>", styles: ["mat-icon{display:flex}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.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-container\n *ngIf=\"rowAction.visible$ | async\"\n [ngSwitch]=\"actionType\">\n <!-- Basic button -->\n <ng-container *ngSwitchCase=\"'basic'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <!-- Raised button -->\n <ng-container *ngSwitchCase=\"'raised'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-raised-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-raised-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <!-- Icon button -->\n <ng-container *ngSwitchCase=\"'icon'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-icon-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <!-- Fab button -->\n <ng-container *ngSwitchCase=\"'fab'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <!-- Mini Fab button -->\n <ng-container *ngSwitchCase=\"'mini-fab'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-mini-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-mini-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <ng-template #buttonContent>\n <ng-container *ngIf=\"!rowAction.fileConfig else uploadFileBtn\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n {{ rowAction.label }}\n </ng-container>\n <ng-template #uploadFileBtn>\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 <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n {{ rowAction.label }}\n </fs-file>\n </ng-template>\n </ng-template>\n</ng-container>", styles: ["mat-icon{display:flex}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { 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 });
37
37
  }
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowInlineActionComponent, decorators: [{
39
39
  type: Component,
@@ -54,7 +54,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
54
54
  MatMiniFabAnchor,
55
55
  MatIcon,
56
56
  FsFileModule,
57
- ], template: "<ng-container\n *ngIf=\"rowAction.isShown\"\n [ngSwitch]=\"actionType\">\n <!-- Basic button -->\n <ng-container *ngSwitchCase=\"'basic'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <!-- Raised button -->\n <ng-container *ngSwitchCase=\"'raised'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-raised-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-raised-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <!-- Icon button -->\n <ng-container *ngSwitchCase=\"'icon'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-icon-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <!-- Fab button -->\n <ng-container *ngSwitchCase=\"'fab'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <!-- Mini Fab button -->\n <ng-container *ngSwitchCase=\"'mini-fab'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-mini-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-mini-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <ng-template #buttonContent>\n <ng-container *ngIf=\"!rowAction.fileConfig else uploadFileBtn\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n {{ rowAction.label }}\n </ng-container>\n <ng-template #uploadFileBtn>\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 <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n {{ rowAction.label }}\n </fs-file>\n </ng-template>\n </ng-template>\n</ng-container>", styles: ["mat-icon{display:flex}\n"] }]
57
+ AsyncPipe,
58
+ ], template: "<ng-container\n *ngIf=\"rowAction.visible$ | async\"\n [ngSwitch]=\"actionType\">\n <!-- Basic button -->\n <ng-container *ngSwitchCase=\"'basic'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <!-- Raised button -->\n <ng-container *ngSwitchCase=\"'raised'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-raised-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-raised-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <!-- Icon button -->\n <ng-container *ngSwitchCase=\"'icon'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-icon-button\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <!-- Fab button -->\n <ng-container *ngSwitchCase=\"'fab'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <!-- Mini Fab button -->\n <ng-container *ngSwitchCase=\"'mini-fab'\">\n <ng-container *ngIf=\"!rowAction.routerLink; else link\">\n <button\n type=\"button\"\n mat-mini-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"rowAction.classArray\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a\n mat-mini-fab\n [routerLink]=\"rowAction.routerLink.link\"\n [queryParams]=\"rowAction.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n <ng-template #buttonContent>\n <ng-container *ngIf=\"!rowAction.fileConfig else uploadFileBtn\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n {{ rowAction.label }}\n </ng-container>\n <ng-template #uploadFileBtn>\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 <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n {{ rowAction.label }}\n </fs-file>\n </ng-template>\n </ng-template>\n</ng-container>", styles: ["mat-icon{display:flex}\n"] }]
58
59
  }], propDecorators: { rowAction: [{
59
60
  type: Input
60
61
  }], row: [{
@@ -64,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
64
65
  }], fileSelect: [{
65
66
  type: Output
66
67
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYm9keS9yb3cvaW5saW5lLWFjdGlvbi9pbmxpbmUtYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9ib2R5L3Jvdy9pbmxpbmUtYWN0aW9uL2lubGluZS1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFVLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlKLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQTRCakQsTUFBTSxPQUFPLDBCQUEwQjtJQUU5QixVQUFVLENBQWE7SUFHdkIsU0FBUyxDQUFZO0lBR3JCLEdBQUcsQ0FBTTtJQUdULE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRzdCLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUVuRCxJQUFJLENBQVM7SUFFYixXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7SUFFTSxXQUFXLENBQUMsS0FBSztRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFFdEMsSUFBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQUs7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzt1R0F0Q1UsMEJBQTBCOzJGQUExQiwwQkFBMEIscU5DL0N2QyxrOUlBZ0llLGtGRG5HUCxJQUFJLDZGQUNKLFFBQVEsNkVBQ1IsWUFBWSxxRkFDWixTQUFTLGlMQUNULE9BQU8sb0ZBQ1AsZ0JBQWdCLG9KQUNoQixTQUFTLGlLQUNULFVBQVUsb09BQ1YsYUFBYSw2RkFDYixhQUFhLHFHQUNiLFlBQVksMkdBQ1osWUFBWSxtSEFDWixnQkFBZ0IsMEZBQ2hCLGdCQUFnQixrR0FDaEIsT0FBTywwSUFDUCxZQUFZOzsyRkFHUCwwQkFBMEI7a0JBekJ0QyxTQUFTOytCQUNJLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ0wsSUFBSTt3QkFDSixRQUFRO3dCQUNSLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxPQUFPO3dCQUNQLGdCQUFnQjt3QkFDaEIsU0FBUzt3QkFDVCxVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1AsWUFBWTtxQkFDZjs4QkFPSSxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsR0FBRztzQkFEVCxLQUFLO2dCQUlDLE9BQU87c0JBRGIsTUFBTTtnQkFJQSxVQUFVO3NCQURoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZzRmlsZSwgRnNGaWxlTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZmlsZSc7XG5cbmltcG9ydCB7IEFjdGlvblR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi9lbnVtcy9hY3Rpb24tdHlwZS5lbnVtJztcbmltcG9ydCB7IFJvdyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9yb3cnO1xuaW1wb3J0IHsgUm93QWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3Jvdy1hY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgTmdJZiwgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSwgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCdXR0b24sIE1hdEFuY2hvciwgTWF0SWNvbkJ1dHRvbiwgTWF0SWNvbkFuY2hvciwgTWF0RmFiQnV0dG9uLCBNYXRGYWJBbmNob3IsIE1hdE1pbmlGYWJCdXR0b24sIE1hdE1pbmlGYWJBbmNob3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmcy1saXN0LXJvdy1pbmxpbmUtYWN0aW9uJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbmxpbmUtYWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lubGluZS1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ1N3aXRjaCxcbiAgICAgICAgTmdTd2l0Y2hDYXNlLFxuICAgICAgICBNYXRCdXR0b24sXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIE1hdEFuY2hvcixcbiAgICAgICAgUm91dGVyTGluayxcbiAgICAgICAgTWF0SWNvbkJ1dHRvbixcbiAgICAgICAgTWF0SWNvbkFuY2hvcixcbiAgICAgICAgTWF0RmFiQnV0dG9uLFxuICAgICAgICBNYXRGYWJBbmNob3IsXG4gICAgICAgIE1hdE1pbmlGYWJCdXR0b24sXG4gICAgICAgIE1hdE1pbmlGYWJBbmNob3IsXG4gICAgICAgIE1hdEljb24sXG4gICAgICAgIEZzRmlsZU1vZHVsZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGc1Jvd0lubGluZUFjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgXG4gIHB1YmxpYyBhY3Rpb25UeXBlOiBBY3Rpb25UeXBlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3dBY3Rpb246IFJvd0FjdGlvbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcm93OiBSb3c7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZmlsZVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8RnNGaWxlIHwgRnNGaWxlW10+KCk7XG5cbiAgcHVibGljIGljb246IHN0cmluZztcbiAgXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYoY2hhbmdlcy5yb3cpIHtcbiAgICAgIHRoaXMuaWNvbiA9IHRoaXMucm93QWN0aW9uLmdldFJvd0ljb24odGhpcy5yb3cuZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFjdGlvbkNsaWNrKGV2ZW50KSB7XG4gICAgdGhpcy5jbGlja2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uVHlwZSA9IHRoaXMucm93QWN0aW9uLnR5cGU7XG5cbiAgICBpZighdGhpcy5yb3dBY3Rpb24ubGFiZWwgJiYgdGhpcy5yb3dBY3Rpb24uaWNvbikge1xuICAgICAgdGhpcy5hY3Rpb25UeXBlID0gQWN0aW9uVHlwZS5JY29uO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWxlU2VsZWN0ZWQoZXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVTZWxlY3QuZW1pdChldmVudCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cInJvd0FjdGlvbi5pc1Nob3duXCJcbiAgICBbbmdTd2l0Y2hdPVwiYWN0aW9uVHlwZVwiPlxuICA8IS0tIEJhc2ljIGJ1dHRvbiAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2Jhc2ljJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcm93QWN0aW9uLnJvdXRlckxpbms7IGVsc2UgbGlua1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwicm93QWN0aW9uLmNsYXNzQXJyYXlcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbkNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNsaW5rPlxuICAgICAgPGFcbiAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgW3JvdXRlckxpbmtdPVwicm93QWN0aW9uLnJvdXRlckxpbmsubGlua1wiXG4gICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInJvd0FjdGlvbi5yb3V0ZXJMaW5rLnF1ZXJ5UGFyYW1zXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25Db250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPCEtLSBSYWlzZWQgYnV0dG9uIC0tPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncmFpc2VkJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcm93QWN0aW9uLnJvdXRlckxpbms7IGVsc2UgbGlua1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgKGNsaWNrKT1cImFjdGlvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInJvd0FjdGlvbi5jbGFzc0FycmF5XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25Db250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjbGluaz5cbiAgICAgIDxhXG4gICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICBbcm91dGVyTGlua109XCJyb3dBY3Rpb24ucm91dGVyTGluay5saW5rXCJcbiAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwicm93QWN0aW9uLnJvdXRlckxpbmsucXVlcnlQYXJhbXNcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbkNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8IS0tIEljb24gYnV0dG9uIC0tPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaWNvbidcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXJvd0FjdGlvbi5yb3V0ZXJMaW5rOyBlbHNlIGxpbmtcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwicm93QWN0aW9uLmNsYXNzQXJyYXlcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbkNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNsaW5rPlxuICAgICAgPGFcbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICBbcm91dGVyTGlua109XCJyb3dBY3Rpb24ucm91dGVyTGluay5saW5rXCJcbiAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwicm93QWN0aW9uLnJvdXRlckxpbmsucXVlcnlQYXJhbXNcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbkNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8IS0tIEZhYiBidXR0b24gLS0+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidmYWInXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyb3dBY3Rpb24ucm91dGVyTGluazsgZWxzZSBsaW5rXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgbWF0LWZhYlxuICAgICAgICAgIChjbGljayk9XCJhY3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJyb3dBY3Rpb24uY2xhc3NBcnJheVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uQ29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2xpbms+XG4gICAgICA8YVxuICAgICAgICAgIG1hdC1mYWJcbiAgICAgICAgICBbcm91dGVyTGlua109XCJyb3dBY3Rpb24ucm91dGVyTGluay5saW5rXCJcbiAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwicm93QWN0aW9uLnJvdXRlckxpbmsucXVlcnlQYXJhbXNcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbkNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8IS0tIE1pbmkgRmFiIGJ1dHRvbiAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ21pbmktZmFiJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcm93QWN0aW9uLnJvdXRlckxpbms7IGVsc2UgbGlua1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIG1hdC1taW5pLWZhYlxuICAgICAgICAgIChjbGljayk9XCJhY3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJyb3dBY3Rpb24uY2xhc3NBcnJheVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uQ29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2xpbms+XG4gICAgICA8YVxuICAgICAgICAgIG1hdC1taW5pLWZhYlxuICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cInJvd0FjdGlvbi5yb3V0ZXJMaW5rLmxpbmtcIlxuICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJyb3dBY3Rpb24ucm91dGVyTGluay5xdWVyeVBhcmFtc1wiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uQ29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L2E+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjYnV0dG9uQ29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXJvd0FjdGlvbi5maWxlQ29uZmlnIGVsc2UgdXBsb2FkRmlsZUJ0blwiPlxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblwiPlxuICAgICAgICB7eyBpY29uIH19XG4gICAgICA8L21hdC1pY29uPlxuICAgICAge3sgcm93QWN0aW9uLmxhYmVsIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICN1cGxvYWRGaWxlQnRuPlxuICAgICAgPGZzLWZpbGVcbiAgICAgICAgICBjbGFzcz1cImFjdGlvbi1idXR0b25cIlxuICAgICAgICAgIFthY2NlcHRdPVwicm93QWN0aW9uLmZpbGVDb25maWcuYWNjZXB0IHx8ICcqJ1wiXG4gICAgICAgICAgW211bHRpcGxlXT1cInJvd0FjdGlvbi5maWxlQ29uZmlnLm11bHRpcGxlXCJcbiAgICAgICAgICBbbWluV2lkdGhdPVwicm93QWN0aW9uLmZpbGVDb25maWcubWluV2lkdGhcIlxuICAgICAgICAgIFttaW5IZWlnaHRdPVwicm93QWN0aW9uLmZpbGVDb25maWcubWluSGVpZ2h0XCJcbiAgICAgICAgICBbaW1hZ2VXaWR0aF09XCJyb3dBY3Rpb24uZmlsZUNvbmZpZy5tYXhXaWR0aFwiXG4gICAgICAgICAgW2ltYWdlSGVpZ2h0XT1cInJvd0FjdGlvbi5maWxlQ29uZmlnLm1heEhlaWdodFwiXG4gICAgICAgICAgKHNlbGVjdCk9XCJmaWxlU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgKGVycm9yKT1cInJvd0FjdGlvbi5maWxlQ29uZmlnLmVycm9yICYmIHJvd0FjdGlvbi5maWxlQ29uZmlnLmVycm9yKCRldmVudClcIj5cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblwiPlxuICAgICAgICAgIHt7IGljb24gfX1cbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAge3sgcm93QWN0aW9uLmxhYmVsIH19XG4gICAgICA8L2ZzLWZpbGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYm9keS9yb3cvaW5saW5lLWFjdGlvbi9pbmxpbmUtYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9ib2R5L3Jvdy9pbmxpbmUtYWN0aW9uL2lubGluZS1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUosT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpELE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7QUE2QmhFLE1BQU0sT0FBTywwQkFBMEI7SUFFOUIsVUFBVSxDQUFhO0lBR3ZCLFNBQVMsQ0FBWTtJQUdyQixHQUFHLENBQU07SUFHVCxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUc3QixVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFFbkQsSUFBSSxDQUFTO0lBRWIsV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQUs7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBRXRDLElBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFLO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7dUdBdENVLDBCQUEwQjsyRkFBMUIsMEJBQTBCLHFOQ2pEdkMsMjlJQWdJZSxrRkRsR1gsSUFBSSw2RkFDSixRQUFRLDZFQUNSLFlBQVkscUZBQ1osU0FBUyxpTEFDVCxPQUFPLG9GQUNQLGdCQUFnQixvSkFDaEIsU0FBUyxpS0FDVCxVQUFVLG9PQUNWLGFBQWEsNkZBQ2IsYUFBYSxxR0FDYixZQUFZLDJHQUNaLFlBQVksbUhBQ1osZ0JBQWdCLDBGQUNoQixnQkFBZ0Isa0dBQ2hCLE9BQU8sMElBQ1AsWUFBWSw4VUFDWixTQUFTOzsyRkFHQSwwQkFBMEI7a0JBMUJ0QyxTQUFTOytCQUNFLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixRQUFRO3dCQUNSLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxPQUFPO3dCQUNQLGdCQUFnQjt3QkFDaEIsU0FBUzt3QkFDVCxVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1AsWUFBWTt3QkFDWixTQUFTO3FCQUNWOzhCQU9NLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxHQUFHO3NCQURULEtBQUs7Z0JBSUMsT0FBTztzQkFEYixNQUFNO2dCQUlBLFVBQVU7c0JBRGhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nSWYsIE5nU3dpdGNoLCBOZ1N3aXRjaENhc2UsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgTWF0QW5jaG9yLCBNYXRCdXR0b24sIE1hdEZhYkFuY2hvciwgTWF0RmFiQnV0dG9uLCBNYXRJY29uQW5jaG9yLCBNYXRJY29uQnV0dG9uLCBNYXRNaW5pRmFiQW5jaG9yLCBNYXRNaW5pRmFiQnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuaW1wb3J0IHsgRnNGaWxlLCBGc0ZpbGVNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9maWxlJztcblxuaW1wb3J0IHsgQWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL2VudW1zL2FjdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgUm93IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3Jvdyc7XG5pbXBvcnQgeyBSb3dBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcm93LWFjdGlvbi5tb2RlbCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtbGlzdC1yb3ctaW5saW5lLWFjdGlvbicsXG4gIHN0eWxlVXJsczogWycuL2lubGluZS1hY3Rpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2lubGluZS1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTmdTd2l0Y2gsXG4gICAgTmdTd2l0Y2hDYXNlLFxuICAgIE1hdEJ1dHRvbixcbiAgICBOZ0NsYXNzLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgTWF0QW5jaG9yLFxuICAgIFJvdXRlckxpbmssXG4gICAgTWF0SWNvbkJ1dHRvbixcbiAgICBNYXRJY29uQW5jaG9yLFxuICAgIE1hdEZhYkJ1dHRvbixcbiAgICBNYXRGYWJBbmNob3IsXG4gICAgTWF0TWluaUZhYkJ1dHRvbixcbiAgICBNYXRNaW5pRmFiQW5jaG9yLFxuICAgIE1hdEljb24sXG4gICAgRnNGaWxlTW9kdWxlLFxuICAgIEFzeW5jUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNSb3dJbmxpbmVBY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIFxuICBwdWJsaWMgYWN0aW9uVHlwZTogQWN0aW9uVHlwZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcm93QWN0aW9uOiBSb3dBY3Rpb247XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvdzogUm93O1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGZpbGVTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEZzRmlsZSB8IEZzRmlsZVtdPigpO1xuXG4gIHB1YmxpYyBpY29uOiBzdHJpbmc7XG4gIFxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmKGNoYW5nZXMucm93KSB7XG4gICAgICB0aGlzLmljb24gPSB0aGlzLnJvd0FjdGlvbi5nZXRSb3dJY29uKHRoaXMucm93LmRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhY3Rpb25DbGljayhldmVudCkge1xuICAgIHRoaXMuY2xpY2tlZC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGlvblR5cGUgPSB0aGlzLnJvd0FjdGlvbi50eXBlO1xuXG4gICAgaWYoIXRoaXMucm93QWN0aW9uLmxhYmVsICYmIHRoaXMucm93QWN0aW9uLmljb24pIHtcbiAgICAgIHRoaXMuYWN0aW9uVHlwZSA9IEFjdGlvblR5cGUuSWNvbjtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsZVNlbGVjdGVkKGV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5maWxlU2VsZWN0LmVtaXQoZXZlbnQpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJyb3dBY3Rpb24udmlzaWJsZSQgfCBhc3luY1wiXG4gICAgW25nU3dpdGNoXT1cImFjdGlvblR5cGVcIj5cbiAgPCEtLSBCYXNpYyBidXR0b24gLS0+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidiYXNpYydcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXJvd0FjdGlvbi5yb3V0ZXJMaW5rOyBlbHNlIGxpbmtcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgKGNsaWNrKT1cImFjdGlvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInJvd0FjdGlvbi5jbGFzc0FycmF5XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25Db250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjbGluaz5cbiAgICAgIDxhXG4gICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cInJvd0FjdGlvbi5yb3V0ZXJMaW5rLmxpbmtcIlxuICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJyb3dBY3Rpb24ucm91dGVyTGluay5xdWVyeVBhcmFtc1wiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uQ29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L2E+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG4gIDwhLS0gUmFpc2VkIGJ1dHRvbiAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3JhaXNlZCdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXJvd0FjdGlvbi5yb3V0ZXJMaW5rOyBlbHNlIGxpbmtcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9XCJhY3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJyb3dBY3Rpb24uY2xhc3NBcnJheVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uQ29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2xpbms+XG4gICAgICA8YVxuICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgW3JvdXRlckxpbmtdPVwicm93QWN0aW9uLnJvdXRlckxpbmsubGlua1wiXG4gICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInJvd0FjdGlvbi5yb3V0ZXJMaW5rLnF1ZXJ5UGFyYW1zXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25Db250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPCEtLSBJY29uIGJ1dHRvbiAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ljb24nXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyb3dBY3Rpb24ucm91dGVyTGluazsgZWxzZSBsaW5rXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgKGNsaWNrKT1cImFjdGlvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInJvd0FjdGlvbi5jbGFzc0FycmF5XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25Db250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjbGluaz5cbiAgICAgIDxhXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgW3JvdXRlckxpbmtdPVwicm93QWN0aW9uLnJvdXRlckxpbmsubGlua1wiXG4gICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInJvd0FjdGlvbi5yb3V0ZXJMaW5rLnF1ZXJ5UGFyYW1zXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25Db250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPCEtLSBGYWIgYnV0dG9uIC0tPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZmFiJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcm93QWN0aW9uLnJvdXRlckxpbms7IGVsc2UgbGlua1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIG1hdC1mYWJcbiAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwicm93QWN0aW9uLmNsYXNzQXJyYXlcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbkNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNsaW5rPlxuICAgICAgPGFcbiAgICAgICAgICBtYXQtZmFiXG4gICAgICAgICAgW3JvdXRlckxpbmtdPVwicm93QWN0aW9uLnJvdXRlckxpbmsubGlua1wiXG4gICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInJvd0FjdGlvbi5yb3V0ZXJMaW5rLnF1ZXJ5UGFyYW1zXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25Db250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPCEtLSBNaW5pIEZhYiBidXR0b24gLS0+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtaW5pLWZhYidcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXJvd0FjdGlvbi5yb3V0ZXJMaW5rOyBlbHNlIGxpbmtcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBtYXQtbWluaS1mYWJcbiAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwicm93QWN0aW9uLmNsYXNzQXJyYXlcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbkNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNsaW5rPlxuICAgICAgPGFcbiAgICAgICAgICBtYXQtbWluaS1mYWJcbiAgICAgICAgICBbcm91dGVyTGlua109XCJyb3dBY3Rpb24ucm91dGVyTGluay5saW5rXCJcbiAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwicm93QWN0aW9uLnJvdXRlckxpbmsucXVlcnlQYXJhbXNcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbkNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI2J1dHRvbkNvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyb3dBY3Rpb24uZmlsZUNvbmZpZyBlbHNlIHVwbG9hZEZpbGVCdG5cIj5cbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25cIj5cbiAgICAgICAge3sgaWNvbiB9fVxuICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIHt7IHJvd0FjdGlvbi5sYWJlbCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjdXBsb2FkRmlsZUJ0bj5cbiAgICAgIDxmcy1maWxlXG4gICAgICAgICAgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCJcbiAgICAgICAgICBbYWNjZXB0XT1cInJvd0FjdGlvbi5maWxlQ29uZmlnLmFjY2VwdCB8fCAnKidcIlxuICAgICAgICAgIFttdWx0aXBsZV09XCJyb3dBY3Rpb24uZmlsZUNvbmZpZy5tdWx0aXBsZVwiXG4gICAgICAgICAgW21pbldpZHRoXT1cInJvd0FjdGlvbi5maWxlQ29uZmlnLm1pbldpZHRoXCJcbiAgICAgICAgICBbbWluSGVpZ2h0XT1cInJvd0FjdGlvbi5maWxlQ29uZmlnLm1pbkhlaWdodFwiXG4gICAgICAgICAgW2ltYWdlV2lkdGhdPVwicm93QWN0aW9uLmZpbGVDb25maWcubWF4V2lkdGhcIlxuICAgICAgICAgIFtpbWFnZUhlaWdodF09XCJyb3dBY3Rpb24uZmlsZUNvbmZpZy5tYXhIZWlnaHRcIlxuICAgICAgICAgIChzZWxlY3QpPVwiZmlsZVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgIChlcnJvcik9XCJyb3dBY3Rpb24uZmlsZUNvbmZpZy5lcnJvciAmJiByb3dBY3Rpb24uZmlsZUNvbmZpZy5lcnJvcigkZXZlbnQpXCI+XG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25cIj5cbiAgICAgICAgICB7eyBpY29uIH19XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIHt7IHJvd0FjdGlvbi5sYWJlbCB9fVxuICAgICAgPC9mcy1maWxlPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj4iXX0=
@@ -1,13 +1,12 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, inject } from '@angular/core';
2
- import { FsMenuComponent } from '@firestitch/menu';
3
- import { RowAction } from '../../../../models/row-action.model';
4
2
  import { MatIcon } from '@angular/material/icon';
5
3
  import { FsFileModule } from '@firestitch/file';
4
+ import { FsMenuComponent } from '@firestitch/menu';
5
+ import { RowAction } from '../../../../models/row-action.model';
6
6
  import { ActionLabelPipe } from '../../../../pipes/action-label';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@firestitch/file";
9
9
  export class FsRowMenuActionComponent {
10
- _menu = inject(FsMenuComponent);
11
10
  row;
12
11
  rowAction;
13
12
  file;
@@ -15,6 +14,7 @@ export class FsRowMenuActionComponent {
15
14
  fileError = new EventEmitter();
16
15
  icon;
17
16
  label;
17
+ _menu = inject(FsMenuComponent);
18
18
  ngOnChanges(changes) {
19
19
  if (changes.row) {
20
20
  this.icon = this.rowAction.getRowIcon(this.row.data);
@@ -35,15 +35,15 @@ export class FsRowMenuActionComponent {
35
35
  this.label = this.rowAction.label;
36
36
  }
37
37
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowMenuActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsRowMenuActionComponent, isStandalone: true, selector: "fs-list-row-menu-action", inputs: { row: "row", rowAction: "rowAction", file: "file" }, outputs: { fileSelect: "fileSelect", fileError: "fileError" }, usesOnChanges: true, ngImport: i0, template: "@if (!file) {\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ label| actionLabel:row }}\n} @else {\n <fs-file\n class=\"action-button\"\n [accept]=\"file.accept || '*'\"\n [multiple]=\"file.multiple\"\n [minWidth]=\"file.minWidth\"\n [minHeight]=\"file.minHeight\"\n [imageWidth]=\"file.maxWidth\"\n [imageHeight]=\"file.maxHeight\"\n (click)=\"$event.stopPropagation();\"\n (select)=\"selectFile($event)\"\n (error)=\"errorFile($event)\"\n (cancel)=\"closeMenu()\">\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ label| actionLabel:row }}\n </fs-file>\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"] }, { kind: "pipe", type: ActionLabelPipe, name: "actionLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsRowMenuActionComponent, isStandalone: true, selector: "fs-list-row-menu-action", inputs: { row: "row", rowAction: "rowAction", file: "file" }, outputs: { fileSelect: "fileSelect", fileError: "fileError" }, usesOnChanges: true, ngImport: i0, template: "@if (!file) {\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ label| actionLabel:row }}\n} @else {\n <fs-file\n class=\"action-button\"\n [accept]=\"file.accept || '*'\"\n [multiple]=\"file.multiple\"\n [minWidth]=\"file.minWidth\"\n [minHeight]=\"file.minHeight\"\n [imageWidth]=\"file.maxWidth\"\n [imageHeight]=\"file.maxHeight\"\n (click)=\"$event.stopPropagation();\"\n (select)=\"selectFile($event)\"\n (error)=\"errorFile($event)\"\n (cancel)=\"closeMenu()\">\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ label| actionLabel:row }}\n </fs-file>\n}", styles: [":host{display:flex;align-items:center}\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"] }, { kind: "pipe", type: ActionLabelPipe, name: "actionLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
39
  }
40
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowMenuActionComponent, decorators: [{
41
41
  type: Component,
42
42
  args: [{ selector: 'fs-list-row-menu-action', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
43
43
  MatIcon,
44
44
  FsFileModule,
45
- ActionLabelPipe
46
- ], template: "@if (!file) {\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ label| actionLabel:row }}\n} @else {\n <fs-file\n class=\"action-button\"\n [accept]=\"file.accept || '*'\"\n [multiple]=\"file.multiple\"\n [minWidth]=\"file.minWidth\"\n [minHeight]=\"file.minHeight\"\n [imageWidth]=\"file.maxWidth\"\n [imageHeight]=\"file.maxHeight\"\n (click)=\"$event.stopPropagation();\"\n (select)=\"selectFile($event)\"\n (error)=\"errorFile($event)\"\n (cancel)=\"closeMenu()\">\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ label| actionLabel:row }}\n </fs-file>\n}\n" }]
45
+ ActionLabelPipe,
46
+ ], template: "@if (!file) {\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ label| actionLabel:row }}\n} @else {\n <fs-file\n class=\"action-button\"\n [accept]=\"file.accept || '*'\"\n [multiple]=\"file.multiple\"\n [minWidth]=\"file.minWidth\"\n [minHeight]=\"file.minHeight\"\n [imageWidth]=\"file.maxWidth\"\n [imageHeight]=\"file.maxHeight\"\n (click)=\"$event.stopPropagation();\"\n (select)=\"selectFile($event)\"\n (error)=\"errorFile($event)\"\n (cancel)=\"closeMenu()\">\n @if (icon) {\n <mat-icon>\n {{ icon }}\n </mat-icon>\n }\n {{ label| actionLabel:row }}\n </fs-file>\n}", styles: [":host{display:flex;align-items:center}\n"] }]
47
47
  }], propDecorators: { row: [{
48
48
  type: Input
49
49
  }], rowAction: [{
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
55
55
  }], fileError: [{
56
56
  type: Output
57
57
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1hY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2JvZHkvcm93L21lbnUtYWN0aW9uL21lbnUtYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9ib2R5L3Jvdy9tZW51LWFjdGlvbi9tZW51LWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUluRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQWNqRSxNQUFNLE9BQU8sd0JBQXdCO0lBQzNCLEtBQUssR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFJakMsR0FBRyxDQUFNO0lBR1QsU0FBUyxDQUFZO0lBR3JCLElBQUksQ0FBc0I7SUFHMUIsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFHaEMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFL0IsSUFBSSxDQUFTO0lBQ2IsS0FBSyxDQUFTO0lBRWQsV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQUs7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTSxTQUFTLENBQUMsS0FBSztRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUNwQyxDQUFDO3VHQTVDVSx3QkFBd0I7MkZBQXhCLHdCQUF3QixxT0N4QnJDLDJwQkE0QkEsNENEVEksT0FBTywwSUFDUCxZQUFZLDhVQUNaLGVBQWU7OzJGQUdOLHdCQUF3QjtrQkFYcEMsU0FBUzsrQkFDSSx5QkFBeUIsbUJBRWxCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNULE9BQU87d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3FCQUNsQjs4QkFPUSxHQUFHO3NCQURULEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxVQUFVO3NCQURoQixNQUFNO2dCQUlBLFNBQVM7c0JBRGYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGc01lbnVDb21wb25lbnQgfSBmcm9tICdAZmlyZXN0aXRjaC9tZW51JztcblxuaW1wb3J0IHsgRnNMaXN0Um93QWN0aW9uRmlsZSB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvbGlzdGNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUm93IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3Jvdyc7XG5pbXBvcnQgeyBSb3dBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcm93LWFjdGlvbi5tb2RlbCc7XG5cbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IEZzRmlsZU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2ZpbGUnO1xuaW1wb3J0IHsgQWN0aW9uTGFiZWxQaXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvYWN0aW9uLWxhYmVsJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZzLWxpc3Qtcm93LW1lbnUtYWN0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWVudS1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgIE1hdEljb24sXG4gICAgRnNGaWxlTW9kdWxlLFxuICAgIEFjdGlvbkxhYmVsUGlwZVxuXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNSb3dNZW51QWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIF9tZW51ID0gaW5qZWN0KEZzTWVudUNvbXBvbmVudCk7XG5cblxuICBASW5wdXQoKVxuICBwdWJsaWMgcm93OiBSb3c7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvd0FjdGlvbjogUm93QWN0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWxlOiBGc0xpc3RSb3dBY3Rpb25GaWxlO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZmlsZVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGZpbGVFcnJvciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgaWNvbjogc3RyaW5nO1xuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcbiAgICBcbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZihjaGFuZ2VzLnJvdykge1xuICAgICAgdGhpcy5pY29uID0gdGhpcy5yb3dBY3Rpb24uZ2V0Um93SWNvbih0aGlzLnJvdy5kYXRhKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0RmlsZShldmVudCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZVNlbGVjdC5lbWl0KGV2ZW50KTtcbiAgICB0aGlzLmNsb3NlTWVudSgpO1xuICB9XG5cbiAgcHVibGljIGVycm9yRmlsZShldmVudCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZUVycm9yLmVtaXQoZXZlbnQpO1xuICAgIHRoaXMuY2xvc2VNZW51KCk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VNZW51KCk6IHZvaWQge1xuICAgIHRoaXMuX21lbnUuY2xvc2VNZW51KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sYWJlbCA9IHRoaXMucm93QWN0aW9uLmxhYmVsO1xuICB9XG59XG4iLCJAaWYgKCFmaWxlKSB7XG4gIEBpZiAoaWNvbikge1xuICAgIDxtYXQtaWNvbj5cbiAgICAgIHt7IGljb24gfX1cbiAgICA8L21hdC1pY29uPlxuICB9XG4gIHt7IGxhYmVsfCBhY3Rpb25MYWJlbDpyb3cgfX1cbn0gQGVsc2Uge1xuICA8ZnMtZmlsZVxuICAgIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiXG4gICAgW2FjY2VwdF09XCJmaWxlLmFjY2VwdCB8fCAnKidcIlxuICAgIFttdWx0aXBsZV09XCJmaWxlLm11bHRpcGxlXCJcbiAgICBbbWluV2lkdGhdPVwiZmlsZS5taW5XaWR0aFwiXG4gICAgW21pbkhlaWdodF09XCJmaWxlLm1pbkhlaWdodFwiXG4gICAgW2ltYWdlV2lkdGhdPVwiZmlsZS5tYXhXaWR0aFwiXG4gICAgW2ltYWdlSGVpZ2h0XT1cImZpbGUubWF4SGVpZ2h0XCJcbiAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiXG4gICAgKHNlbGVjdCk9XCJzZWxlY3RGaWxlKCRldmVudClcIlxuICAgIChlcnJvcik9XCJlcnJvckZpbGUoJGV2ZW50KVwiXG4gICAgKGNhbmNlbCk9XCJjbG9zZU1lbnUoKVwiPlxuICAgIEBpZiAoaWNvbikge1xuICAgICAgPG1hdC1pY29uPlxuICAgICAgICB7eyBpY29uIH19XG4gICAgICA8L21hdC1pY29uPlxuICAgIH1cbiAgICB7eyBsYWJlbHwgYWN0aW9uTGFiZWw6cm93IH19XG4gIDwvZnMtZmlsZT5cbn1cbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1hY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2JvZHkvcm93L21lbnUtYWN0aW9uL21lbnUtYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9ib2R5L3Jvdy9tZW51LWFjdGlvbi9tZW51LWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSW5ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQWVqRSxNQUFNLE9BQU8sd0JBQXdCO0lBRzVCLEdBQUcsQ0FBTTtJQUdULFNBQVMsQ0FBWTtJQUdyQixJQUFJLENBQXNCO0lBRzFCLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBR2hDLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRS9CLElBQUksQ0FBUztJQUNiLEtBQUssQ0FBUztJQUViLEtBQUssR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFakMsV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQUs7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTSxTQUFTLENBQUMsS0FBSztRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUNwQyxDQUFDO3VHQTVDVSx3QkFBd0I7MkZBQXhCLHdCQUF3QixxT0N6QnJDLCtxQkEyQkMsa0dEUEcsT0FBTywwSUFDUCxZQUFZLDhVQUNaLGVBQWU7OzJGQUdOLHdCQUF3QjtrQkFacEMsU0FBUzsrQkFDRSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3FCQUNoQjs4QkFLTSxHQUFHO3NCQURULEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxVQUFVO3NCQURoQixNQUFNO2dCQUlBLFNBQVM7c0JBRGYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbmltcG9ydCB7IEZzRmlsZU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2ZpbGUnO1xuaW1wb3J0IHsgRnNNZW51Q29tcG9uZW50IH0gZnJvbSAnQGZpcmVzdGl0Y2gvbWVudSc7XG5cbmltcG9ydCB7IEZzTGlzdFJvd0FjdGlvbkZpbGUgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2xpc3Rjb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJvdyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9yb3cnO1xuaW1wb3J0IHsgUm93QWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3Jvdy1hY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgQWN0aW9uTGFiZWxQaXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvYWN0aW9uLWxhYmVsJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1saXN0LXJvdy1tZW51LWFjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LWFjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tZW51LWFjdGlvbi5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0SWNvbixcbiAgICBGc0ZpbGVNb2R1bGUsXG4gICAgQWN0aW9uTGFiZWxQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGc1Jvd01lbnVBY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvdzogUm93O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3dBY3Rpb246IFJvd0FjdGlvbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZmlsZTogRnNMaXN0Um93QWN0aW9uRmlsZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGZpbGVTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmaWxlRXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGljb246IHN0cmluZztcbiAgcHVibGljIGxhYmVsOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfbWVudSA9IGluamVjdChGc01lbnVDb21wb25lbnQpO1xuICAgIFxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmKGNoYW5nZXMucm93KSB7XG4gICAgICB0aGlzLmljb24gPSB0aGlzLnJvd0FjdGlvbi5nZXRSb3dJY29uKHRoaXMucm93LmRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RGaWxlKGV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5maWxlU2VsZWN0LmVtaXQoZXZlbnQpO1xuICAgIHRoaXMuY2xvc2VNZW51KCk7XG4gIH1cblxuICBwdWJsaWMgZXJyb3JGaWxlKGV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5maWxlRXJyb3IuZW1pdChldmVudCk7XG4gICAgdGhpcy5jbG9zZU1lbnUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZU1lbnUoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVudS5jbG9zZU1lbnUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxhYmVsID0gdGhpcy5yb3dBY3Rpb24ubGFiZWw7XG4gIH1cbn1cbiIsIkBpZiAoIWZpbGUpIHtcbiAgQGlmIChpY29uKSB7XG4gICAgPG1hdC1pY29uPlxuICAgICAge3sgaWNvbiB9fVxuICAgIDwvbWF0LWljb24+XG4gIH1cbiAge3sgbGFiZWx8IGFjdGlvbkxhYmVsOnJvdyB9fVxufSBAZWxzZSB7XG4gIDxmcy1maWxlXG4gICAgICBjbGFzcz1cImFjdGlvbi1idXR0b25cIlxuICAgICAgW2FjY2VwdF09XCJmaWxlLmFjY2VwdCB8fCAnKidcIlxuICAgICAgW211bHRpcGxlXT1cImZpbGUubXVsdGlwbGVcIlxuICAgICAgW21pbldpZHRoXT1cImZpbGUubWluV2lkdGhcIlxuICAgICAgW21pbkhlaWdodF09XCJmaWxlLm1pbkhlaWdodFwiXG4gICAgICBbaW1hZ2VXaWR0aF09XCJmaWxlLm1heFdpZHRoXCJcbiAgICAgIFtpbWFnZUhlaWdodF09XCJmaWxlLm1heEhlaWdodFwiXG4gICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiXG4gICAgICAoc2VsZWN0KT1cInNlbGVjdEZpbGUoJGV2ZW50KVwiXG4gICAgICAoZXJyb3IpPVwiZXJyb3JGaWxlKCRldmVudClcIlxuICAgICAgKGNhbmNlbCk9XCJjbG9zZU1lbnUoKVwiPlxuICAgIEBpZiAoaWNvbikge1xuICAgICAgPG1hdC1pY29uPlxuICAgICAgICB7eyBpY29uIH19XG4gICAgICA8L21hdC1pY29uPlxuICAgIH1cbiAgICB7eyBsYWJlbHwgYWN0aW9uTGFiZWw6cm93IH19XG4gIDwvZnMtZmlsZT5cbn0iXX0=