@firestitch/list 18.0.46 → 18.0.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/app/classes/list-controller.d.ts +2 -2
  2. package/app/components/body/row/actions/actions.component.d.ts +1 -3
  3. package/app/components/body/row/menu-action/menu-action.component.d.ts +0 -2
  4. package/app/components/body/row/row.component.d.ts +11 -12
  5. package/app/components/footer/footer-row/footer-row.component.d.ts +0 -2
  6. package/app/components/head/head-cell/head-cell.component.d.ts +2 -2
  7. package/app/components/head/head.component.d.ts +1 -2
  8. package/app/components/list/list.component.d.ts +2 -8
  9. package/app/directives/draggable-list/draggable-list.directive.d.ts +0 -3
  10. package/app/directives/draggable-row/draggable-row.directive.d.ts +1 -4
  11. package/app/directives/group-expand-trigger/group-expand-trigger.directive.d.ts +0 -2
  12. package/app/fs-list.module.d.ts +1 -1
  13. package/app/interfaces/listconfig.interface.d.ts +5 -4
  14. package/app/models/row-action.model.d.ts +2 -5
  15. package/esm2022/app/classes/list-controller.mjs +3 -4
  16. package/esm2022/app/components/body/body.component.mjs +4 -6
  17. package/esm2022/app/components/body/row/actions/actions.component.mjs +16 -22
  18. package/esm2022/app/components/body/row/menu-action/menu-action.component.mjs +9 -15
  19. package/esm2022/app/components/body/row/row.component.mjs +49 -54
  20. package/esm2022/app/components/customize-cols/customize-cols.component.mjs +5 -6
  21. package/esm2022/app/components/footer/footer-row/footer-row.component.mjs +7 -12
  22. package/esm2022/app/components/head/head-cell/head-cell.component.mjs +11 -16
  23. package/esm2022/app/components/head/head.component.mjs +9 -14
  24. package/esm2022/app/components/list/list.component.mjs +16 -39
  25. package/esm2022/app/components/loader/loader.component.mjs +3 -4
  26. package/esm2022/app/components/pagination/pagination.component.mjs +5 -6
  27. package/esm2022/app/directives/draggable-list/draggable-list.directive.mjs +9 -17
  28. package/esm2022/app/directives/draggable-row/draggable-row.directive.mjs +8 -16
  29. package/esm2022/app/directives/group-expand-trigger/group-expand-trigger.directive.mjs +5 -9
  30. package/esm2022/app/fs-list.module.mjs +4 -2
  31. package/esm2022/app/interfaces/listconfig.interface.mjs +1 -1
  32. package/esm2022/app/models/row-action.model.mjs +1 -1
  33. package/esm2022/public_api.mjs +2 -1
  34. package/fesm2022/firestitch-list.mjs +435 -499
  35. package/fesm2022/firestitch-list.mjs.map +1 -1
  36. package/package.json +1 -1
  37. package/public_api.d.ts +2 -1
@@ -1,19 +1,17 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, } from '@angular/core';
1
+ import { NgClass } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, inject } from '@angular/core';
3
+ import { MatIcon } from '@angular/material/icon';
4
+ import { FsMenuModule } from '@firestitch/menu';
2
5
  import { FsPrompt } from '@firestitch/prompt';
3
6
  import { Observable, Subject } from 'rxjs';
4
7
  import { take, takeUntil } from 'rxjs/operators';
5
8
  import { RowAction } from '../../../../models/row-action.model';
6
- import { NgIf, NgFor, NgClass } from '@angular/common';
9
+ import { ActionLabelPipe } from '../../../../pipes/action-label';
7
10
  import { FsRowInlineActionComponent } from '../inline-action/inline-action.component';
8
- import { FsMenuModule } from '@firestitch/menu';
9
11
  import { FsRowMenuActionComponent } from '../menu-action/menu-action.component';
10
- import { MatIcon } from '@angular/material/icon';
11
- import { ActionLabelPipe } from '../../../../pipes/action-label';
12
12
  import * as i0 from "@angular/core";
13
- import * as i1 from "@firestitch/prompt";
14
- import * as i2 from "@firestitch/menu";
13
+ import * as i1 from "@firestitch/menu";
15
14
  export class FsRowActionsComponent {
16
- _prompt;
17
15
  row;
18
16
  index;
19
17
  restoreMode = false;
@@ -23,15 +21,10 @@ export class FsRowActionsComponent {
23
21
  inlineRowActions = [];
24
22
  restoreAction;
25
23
  _destroy$ = new Subject();
26
- constructor(_prompt) {
27
- this._prompt = _prompt;
28
- }
24
+ _prompt = inject(FsPrompt);
29
25
  actionClick(action, row, event, menuRef) {
30
26
  if (action.remove) {
31
- if (typeof action.remove === 'boolean') {
32
- this._removeAction(action, row.data, event, this.index);
33
- }
34
- else {
27
+ if (action.remove instanceof Object) {
35
28
  this._prompt.confirm({
36
29
  title: action.remove.title,
37
30
  template: action.remove.template,
@@ -42,6 +35,9 @@ export class FsRowActionsComponent {
42
35
  this._removeAction(action, row.data, event, this.index);
43
36
  });
44
37
  }
38
+ else {
39
+ this._removeAction(action, row.data, event, this.index);
40
+ }
45
41
  }
46
42
  else {
47
43
  action.click(row.data, event, this.index, menuRef);
@@ -76,22 +72,20 @@ export class FsRowActionsComponent {
76
72
  this.rowRemoved.emit(row);
77
73
  }
78
74
  }
79
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowActionsComponent, deps: [{ token: i1.FsPrompt }], target: i0.ɵɵFactoryTarget.Component });
80
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.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: "<ng-container *ngIf=\"!restoreMode || (restoreMode && !restoreAction)\">\n <ng-container *ngFor=\"let action of inlineRowActions; trackBy: trackByFn\">\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 </ng-container>\n</ng-container>\n<!-- Menu -->\n<fs-menu\n class=\"row-menu-action\"\n *ngIf=\"menuRowActions.length || (restoreMode && restoreAction)\"\n #menuRef>\n <!-- Case when we have usual menu actions -->\n <ng-container *ngIf=\"!restoreMode || (restoreMode && !restoreAction)\">\n <ng-container *ngFor=\"let action of inlineRowActions; trackBy: trackByFn\">\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 </ng-container>\n <ng-container *ngFor=\"let action of menuRowActions; trackBy: trackByFn\">\n <ng-container *ngIf=\"action.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"action.label | actionLabel:row\">\n <ng-container *ngFor=\"let subAction of action.rowActions\">\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 </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\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 </ng-template>\n </ng-container>\n </ng-container>\n <!-- Case when we have restore mode enabled and must hide menu actions -->\n <ng-container *ngIf=\"restoreMode && restoreAction\">\n <ng-template\n fs-menu-item\n (click)=\"actionClick(restoreAction, row, $event, menuRef)\">\n <mat-icon *ngIf=\"restoreAction.icon\">\n {{ restoreAction.icon }}\n </mat-icon>\n {{ restoreAction.label | actionLabel:row }}\n </ng-template>\n </ng-container>\n</fs-menu>", 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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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: i2.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }, { kind: "directive", type: i2.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 });
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 });
81
77
  }
82
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowActionsComponent, decorators: [{
83
79
  type: Component,
84
80
  args: [{ selector: 'fs-list-row-actions', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
85
- NgIf,
86
- NgFor,
87
81
  FsRowInlineActionComponent,
88
82
  NgClass,
89
83
  FsMenuModule,
90
84
  FsRowMenuActionComponent,
91
85
  MatIcon,
92
86
  ActionLabelPipe,
93
- ], template: "<ng-container *ngIf=\"!restoreMode || (restoreMode && !restoreAction)\">\n <ng-container *ngFor=\"let action of inlineRowActions; trackBy: trackByFn\">\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 </ng-container>\n</ng-container>\n<!-- Menu -->\n<fs-menu\n class=\"row-menu-action\"\n *ngIf=\"menuRowActions.length || (restoreMode && restoreAction)\"\n #menuRef>\n <!-- Case when we have usual menu actions -->\n <ng-container *ngIf=\"!restoreMode || (restoreMode && !restoreAction)\">\n <ng-container *ngFor=\"let action of inlineRowActions; trackBy: trackByFn\">\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 </ng-container>\n <ng-container *ngFor=\"let action of menuRowActions; trackBy: trackByFn\">\n <ng-container *ngIf=\"action.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"action.label | actionLabel:row\">\n <ng-container *ngFor=\"let subAction of action.rowActions\">\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 </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\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 </ng-template>\n </ng-container>\n </ng-container>\n <!-- Case when we have restore mode enabled and must hide menu actions -->\n <ng-container *ngIf=\"restoreMode && restoreAction\">\n <ng-template\n fs-menu-item\n (click)=\"actionClick(restoreAction, row, $event, menuRef)\">\n <mat-icon *ngIf=\"restoreAction.icon\">\n {{ restoreAction.icon }}\n </mat-icon>\n {{ restoreAction.label | actionLabel:row }}\n </ng-template>\n </ng-container>\n</fs-menu>", 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"] }]
94
- }], ctorParameters: () => [{ type: i1.FsPrompt }], propDecorators: { row: [{
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"] }]
88
+ }], propDecorators: { row: [{
95
89
  type: Input
96
90
  }], index: [{
97
91
  type: Input
@@ -108,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
108
102
  }], restoreAction: [{
109
103
  type: Input
110
104
  }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYm9keS9yb3cvYWN0aW9ucy9hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9ib2R5L3Jvdy9hY3Rpb25zL2FjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFvQmpFLE1BQU0sT0FBTyxxQkFBcUI7SUE2QnRCO0lBMUJILEdBQUcsQ0FBTTtJQUdULEtBQUssQ0FBUztJQUdkLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFHcEIsVUFB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QUNQLGVBQWU7cUJBQ2xCOzZFQUtJLEdBQUc7c0JBRFQsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsY0FBYztzQkFEcEIsS0FBSztnQkFJQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGc1Byb21wdCB9IGZyb20gJ0BmaXJlc3RpdGNoL3Byb21wdCc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuXG5pbXBvcnQgeyBSb3cgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcm93JztcbmltcG9ydCB7IFJvd0FjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9yb3ctYWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IE5nSWYsIE5nRm9yLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZzUm93SW5saW5lQWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5saW5lLWFjdGlvbi9pbmxpbmUtYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGc01lbnVNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9tZW51JztcbmltcG9ydCB7IEZzUm93TWVudUFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUtYWN0aW9uL21lbnUtYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBBY3Rpb25MYWJlbFBpcGUgfSBmcm9tICcuLi8uLi8uLi8uLi9waXBlcy9hY3Rpb24tbGFiZWwnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZnMtbGlzdC1yb3ctYWN0aW9ucycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2FjdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdJZixcbiAgICAgICAgTmdGb3IsXG4gICAgICAgIEZzUm93SW5saW5lQWN0aW9uQ29tcG9uZW50LFxuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBGc01lbnVNb2R1bGUsXG4gICAgICAgIEZzUm93TWVudUFjdGlvbkNvbXBvbmVudCxcbiAgICAgICAgTWF0SWNvbixcbiAgICAgICAgQWN0aW9uTGFiZWxQaXBlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzUm93QWN0aW9uc0NvbXBvbmVudCB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvdzogUm93O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbmRleDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZXN0b3JlTW9kZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3dBY3Rpb25zOiBSb3dBY3Rpb25bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3dSZW1vdmVkOiBFdmVudEVtaXR0ZXI8YW55PjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWVudVJvd0FjdGlvbnM6IFJvd0FjdGlvbltdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlubGluZVJvd0FjdGlvbnM6IFJvd0FjdGlvbltdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJlc3RvcmVBY3Rpb246IFJvd0FjdGlvbjtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfcHJvbXB0OiBGc1Byb21wdCxcbiAgKSB7IH1cblxuICBwdWJsaWMgYWN0aW9uQ2xpY2soYWN0aW9uOiBSb3dBY3Rpb24sIHJvdzogYW55LCBldmVudDogYW55LCBtZW51UmVmPykge1xuICAgIGlmIChhY3Rpb24ucmVtb3ZlKSB7XG4gICAgICBpZiAodHlwZW9mIGFjdGlvbi5yZW1vdmUgPT09ICdib29sZWFuJykge1xuICAgICAgICB0aGlzLl9yZW1vdmVBY3Rpb24oYWN0aW9uLCByb3cuZGF0YSwgZXZlbnQsIHRoaXMuaW5kZXgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fcHJvbXB0LmNvbmZpcm0oe1xuICAgICAgICAgIHRpdGxlOiBhY3Rpb24ucmVtb3ZlLnRpdGxlLFxuICAgICAgICAgIHRlbXBsYXRlOiBhY3Rpb24ucmVtb3ZlLnRlbXBsYXRlLFxuICAgICAgICAgIGF1dG9mb2N1czogdHJ1ZSxcbiAgICAgICAgfSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3JlbW92ZUFjdGlvbihhY3Rpb24sIHJvdy5kYXRhLCBldmVudCwgdGhpcy5pbmRleCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGFjdGlvbi5jbGljayhyb3cuZGF0YSwgZXZlbnQsIHRoaXMuaW5kZXgsIG1lbnVSZWYpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFjayBCeSBmb3IgaW1wcm92ZSBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSBpbmRleFxuICAgKi9cbiAgcHVibGljIHRyYWNrQnlGbihpbmRleCkge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0IHRoYXQgc29tZSByb3cgbXVzdCBiZSByZW1vdmVkXG4gICAqXG4gICAqIEBwYXJhbSBhY3Rpb25cbiAgICogQHBhcmFtIHJvd1xuICAgKiBAcGFyYW0gZXZlbnRcbiAgICogQHBhcmFtIGluZGV4XG4gICAqL1xuICBwcml2YXRlIF9yZW1vdmVBY3Rpb24oYWN0aW9uLCByb3csIGV2ZW50LCBpbmRleCkge1xuICAgIGNvbnN0IHJlbW92ZU9ic2VydmFibGUgPSBhY3Rpb24uY2xpY2socm93LCBldmVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHJlbW92ZU9ic2VydmFibGUgJiYgcmVtb3ZlT2JzZXJ2YWJsZSBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgIHJlbW92ZU9ic2VydmFibGVcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm93UmVtb3ZlZC5lbWl0KHJvdyk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJvd1JlbW92ZWQuZW1pdChyb3cpO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyZXN0b3JlTW9kZSB8fCAocmVzdG9yZU1vZGUgJiYgIXJlc3RvcmVBY3Rpb24pXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBpbmxpbmVSb3dBY3Rpb25zOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICA8ZnMtbGlzdC1yb3ctaW5saW5lLWFjdGlvblxuICAgICAgY2xhc3M9XCJyb3ctaW5saW5lLWFjdGlvbiByb3ctaW5saW5lLWFjdGlvbi17e2FjdGlvbi50eXBlfX1cIlxuICAgICAgW3Jvd0FjdGlvbl09XCJhY3Rpb25cIlxuICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgW25nQ2xhc3NdPVwieyAnbW9iaWxlLWhpZGUnOiBhY3Rpb24ubWVudSA9PT0gdW5kZWZpbmVkIH1cIlxuICAgICAgKGNsaWNrZWQpPVwiYWN0aW9uQ2xpY2soYWN0aW9uLCByb3csICRldmVudClcIlxuICAgICAgKGZpbGVTZWxlY3QpPVwiYWN0aW9uLmZpbGVDb25maWcuc2VsZWN0KCRldmVudCwgcm93LCBpbmRleClcIj5cbiAgICA8L2ZzLWxpc3Qtcm93LWlubGluZS1hY3Rpb24+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG48IS0tIE1lbnUgLS0+XG48ZnMtbWVudVxuICAgIGNsYXNzPVwicm93LW1lbnUtYWN0aW9uXCJcbiAgICAqbmdJZj1cIm1lbnVSb3dBY3Rpb25zLmxlbmd0aCB8fCAocmVzdG9yZU1vZGUgJiYgcmVzdG9yZUFjdGlvbilcIlxuICAgICNtZW51UmVmPlxuICA8IS0tIENhc2Ugd2hlbiB3ZSBoYXZlIHVzdWFsIG1lbnUgYWN0aW9ucyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyZXN0b3JlTW9kZSB8fCAocmVzdG9yZU1vZGUgJiYgIXJlc3RvcmVBY3Rpb24pXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGlubGluZVJvd0FjdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgY2xhc3M9XCJoaWRkZW4tbW9iaWxlLW1lbnUtYWN0aW9uXCJcbiAgICAgICAgICBmcy1tZW51LWl0ZW1cbiAgICAgICAgICBbbGlua109XCJhY3Rpb24ucm91dGVyTGluaz8ubGlua1wiXG4gICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cImFjdGlvbi5yb3V0ZXJMaW5rPy5xdWVyeVBhcmFtc1wiXG4gICAgICAgICAgW3RhcmdldF09XCJhY3Rpb24ucm91dGVyTGluaz8udGFyZ2V0XCJcbiAgICAgICAgICBbaGlkZGVuXT1cImFjdGlvbi5tZW51ICE9PSB1bmRlZmluZWQgJiYgIWFjdGlvbi5pc1Nob3duXCI+XG4gICAgICAgIDxmcy1saXN0LXJvdy1tZW51LWFjdGlvblxuICAgICAgICAgIFtyb3dBY3Rpb25dPVwiYWN0aW9uXCJcbiAgICAgICAgICBbcm93XT1cInJvd1wiXG4gICAgICAgICAgW2ZpbGVdPVwiYWN0aW9uLmZpbGVDb25maWdcIlxuICAgICAgICAgIChmaWxlU2VsZWN0KT1cImFjdGlvbi5maWxlQ29uZmlnLnNlbGVjdCgkZXZlbnQsIHJvdywgaW5kZXgpXCJcbiAgICAgICAgICAoZmlsZUVycm9yKT1cImFjdGlvbi5maWxlQ29uZmlnLmVycm9yICYmIGFjdGlvbi5maWxlQ29uZmlnLmVycm9yKCRldmVudClcIj5cbiAgICAgICAgPC9mcy1saXN0LXJvdy1tZW51LWFjdGlvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIG1lbnVSb3dBY3Rpb25zOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY3Rpb24uaXNHcm91cCBlbHNlIHNpbXBsZU1lbnVJdGVtXCI+XG4gICAgICAgIDxmcy1tZW51LWdyb3VwIFtsYWJlbF09XCJhY3Rpb24ubGFiZWwgfCBhY3Rpb25MYWJlbDpyb3dcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdWJBY3Rpb24gb2YgYWN0aW9uLnJvd0FjdGlvbnNcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgIGZzLW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgIFtsaW5rXT1cInN1YkFjdGlvbi5yb3V0ZXJMaW5rPy5saW5rXCJcbiAgICAgICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwic3ViQWN0aW9uLnJvdXRlckxpbms/LnF1ZXJ5UGFyYW1zXCJcbiAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cInN1YkFjdGlvbi5yb3V0ZXJMaW5rPy50YXJnZXRcIlxuICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiIXN1YkFjdGlvbi5pc1Nob3duXCJcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwic3ViQWN0aW9uLmNsYXNzTmFtZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbkNsaWNrKHN1YkFjdGlvbiwgcm93LCAkZXZlbnQsIG1lbnVSZWYpO1wiPlxuICAgICAgICAgICAgICA8ZnMtbGlzdC1yb3ctbWVudS1hY3Rpb25cbiAgICAgICAgICAgICAgICBbcm93QWN0aW9uXT1cInN1YkFjdGlvblwiXG4gICAgICAgICAgICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgICAgICAgICAgIFtmaWxlXT1cInN1YkFjdGlvbi5maWxlQ29uZmlnXCJcbiAgICAgICAgICAgICAgICAoZmlsZVNlbGVjdCk9XCJzdWJBY3Rpb24uZmlsZUNvbmZpZy5zZWxlY3QoJGV2ZW50LCByb3csIGluZGV4KVwiXG4gICAgICAgICAgICAgICAgKGZpbGVFcnJvcik9XCJzdWJBY3Rpb24uZmlsZUNvbmZpZy5lcnJvciAmJiBzdWJBY3Rpb24uZmlsZUNvbmZpZy5lcnJvcigkZXZlbnQpXCI+XG4gICAgICAgICAgICAgIDwvZnMtbGlzdC1yb3ctbWVudS1hY3Rpb24+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2ZzLW1lbnUtZ3JvdXA+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc2ltcGxlTWVudUl0ZW0+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgZnMtbWVudS1pdGVtXG4gICAgICAgICAgICBbbGlua109XCJhY3Rpb24ucm91dGVyTGluaz8ubGlua1wiXG4gICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwiYWN0aW9uLnJvdXRlckxpbms/LnF1ZXJ5UGFyYW1zXCJcbiAgICAgICAgICAgIFt0YXJnZXRdPVwiYWN0aW9uLnJvdXRlckxpbms/LnRhcmdldFwiXG4gICAgICAgICAgICBbaGlkZGVuXT1cIiFhY3Rpb24uaXNTaG93blwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiYWN0aW9uLmNsYXNzTmFtZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uQ2xpY2soYWN0aW9uLCByb3csICRldmVudCwgbWVudVJlZik7XCI+XG4gICAgICAgICAgPGZzLWxpc3Qtcm93LW1lbnUtYWN0aW9uXG4gICAgICAgICAgICBbcm93QWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAgICAgICBbcm93XT1cInJvd1wiXG4gICAgICAgICAgICBbZmlsZV09XCJhY3Rpb24uZmlsZUNvbmZpZ1wiXG4gICAgICAgICAgICAoZmlsZVNlbGVjdCk9XCJhY3Rpb24uZmlsZUNvbmZpZy5zZWxlY3QoJGV2ZW50LCByb3csIGluZGV4KVwiXG4gICAgICAgICAgICAoZmlsZUVycm9yKT1cImFjdGlvbi5maWxlQ29uZmlnLmVycm9yICYmIGFjdGlvbi5maWxlQ29uZmlnLmVycm9yKCRldmVudClcIj5cbiAgICAgICAgICA8L2ZzLWxpc3Qtcm93LW1lbnUtYWN0aW9uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDwhLS0gQ2FzZSB3aGVuIHdlIGhhdmUgcmVzdG9yZSBtb2RlIGVuYWJsZWQgYW5kIG11c3QgaGlkZSBtZW51IGFjdGlvbnMgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZXN0b3JlTW9kZSAmJiByZXN0b3JlQWN0aW9uXCI+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIGZzLW1lbnUtaXRlbVxuICAgICAgICAoY2xpY2spPVwiYWN0aW9uQ2xpY2socmVzdG9yZUFjdGlvbiwgcm93LCAkZXZlbnQsIG1lbnVSZWYpXCI+XG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJyZXN0b3JlQWN0aW9uLmljb25cIj5cbiAgICAgICAge3sgcmVzdG9yZUFjdGlvbi5pY29uIH19XG4gICAgICA8L21hdC1pY29uPlxuICAgICAge3sgcmVzdG9yZUFjdGlvbi5sYWJlbCB8IGFjdGlvbkxhYmVsOnJvdyB9fVxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9mcy1tZW51PiJdfQ==
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==
@@ -1,15 +1,13 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, inject } from '@angular/core';
2
2
  import { FsMenuComponent } from '@firestitch/menu';
3
3
  import { RowAction } from '../../../../models/row-action.model';
4
- import { NgIf } from '@angular/common';
5
4
  import { MatIcon } from '@angular/material/icon';
6
5
  import { FsFileModule } from '@firestitch/file';
7
6
  import { ActionLabelPipe } from '../../../../pipes/action-label';
8
7
  import * as i0 from "@angular/core";
9
- import * as i1 from "@firestitch/menu";
10
- import * as i2 from "@firestitch/file";
8
+ import * as i1 from "@firestitch/file";
11
9
  export class FsRowMenuActionComponent {
12
- _menu;
10
+ _menu = inject(FsMenuComponent);
13
11
  row;
14
12
  rowAction;
15
13
  file;
@@ -17,9 +15,6 @@ export class FsRowMenuActionComponent {
17
15
  fileError = new EventEmitter();
18
16
  icon;
19
17
  label;
20
- constructor(_menu) {
21
- this._menu = _menu;
22
- }
23
18
  ngOnChanges(changes) {
24
19
  if (changes.row) {
25
20
  this.icon = this.rowAction.getRowIcon(this.row.data);
@@ -39,18 +34,17 @@ export class FsRowMenuActionComponent {
39
34
  ngOnInit() {
40
35
  this.label = this.rowAction.label;
41
36
  }
42
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowMenuActionComponent, deps: [{ token: i1.FsMenuComponent }], target: i0.ɵɵFactoryTarget.Component });
43
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.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: "<ng-container *ngIf=\"!file else withFile\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n {{ label| actionLabel:row }}\n</ng-container>\n<ng-template #withFile>\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 <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n {{ label| actionLabel:row }}\n </fs-file>\n</ng-template>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FsFileModule }, { kind: "component", type: i2.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 });
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 });
44
39
  }
45
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsRowMenuActionComponent, decorators: [{
46
41
  type: Component,
47
42
  args: [{ selector: 'fs-list-row-menu-action', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
48
- NgIf,
49
43
  MatIcon,
50
44
  FsFileModule,
51
- ActionLabelPipe,
52
- ], template: "<ng-container *ngIf=\"!file else withFile\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n {{ label| actionLabel:row }}\n</ng-container>\n<ng-template #withFile>\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 <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n {{ label| actionLabel:row }}\n </fs-file>\n</ng-template>" }]
53
- }], ctorParameters: () => [{ type: i1.FsMenuComponent }], propDecorators: { row: [{
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" }]
47
+ }], propDecorators: { row: [{
54
48
  type: Input
55
49
  }], rowAction: [{
56
50
  type: Input
@@ -61,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
61
55
  }], fileError: [{
62
56
  type: Output
63
57
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1hY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2JvZHkvcm93L21lbnUtYWN0aW9uL21lbnUtYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9ib2R5L3Jvdy9tZW51LWFjdGlvbi9tZW51LWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxZQUFZLEVBQ3ZCLEtBQUssRUFBcUIsTUFBTSxHQUVqQyxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQWVqRSxNQUFNLE9BQU8sd0JBQXdCO0lBcUJ6QjtJQWxCSCxHQUFHLENBQU07SUFHVCxTQUFTLENBQVk7SUFHckIsSUFBSSxDQUFzQjtJQUcxQixVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUdoQyxTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUUvQixJQUFJLENBQVM7SUFDYixLQUFLLENBQVM7SUFFckIsWUFDVSxLQUFzQjtRQUF0QixVQUFLLEdBQUwsS0FBSyxDQUFpQjtJQUM1QixDQUFDO0lBRUUsV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQUs7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTSxTQUFTLENBQUMsS0FBSztRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUNwQyxDQUFDO3VHQTlDVSx3QkFBd0I7MkZBQXhCLHdCQUF3QixxT0M5QnJDLDh0QkF3QmMsNENEQU4sSUFBSSw2RkFDSixPQUFPLDBJQUNQLFlBQVksOFVBQ1osZUFBZTs7MkZBR1Ysd0JBQXdCO2tCQVpwQyxTQUFTOytCQUNJLHlCQUF5QixtQkFFbEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ0wsSUFBSTt3QkFDSixPQUFPO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTtxQkFDbEI7b0ZBS0ksR0FBRztzQkFEVCxLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsTUFBTTtnQkFJQSxTQUFTO3NCQURmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsXG4gIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRnNNZW51Q29tcG9uZW50IH0gZnJvbSAnQGZpcmVzdGl0Y2gvbWVudSc7XG5cbmltcG9ydCB7IEZzTGlzdFJvd0FjdGlvbkZpbGUgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2xpc3Rjb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJvdyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9yb3cnO1xuaW1wb3J0IHsgUm93QWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3Jvdy1hY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBGc0ZpbGVNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9maWxlJztcbmltcG9ydCB7IEFjdGlvbkxhYmVsUGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzL2FjdGlvbi1sYWJlbCc7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmcy1saXN0LXJvdy1tZW51LWFjdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21lbnUtYWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdJZixcbiAgICAgICAgTWF0SWNvbixcbiAgICAgICAgRnNGaWxlTW9kdWxlLFxuICAgICAgICBBY3Rpb25MYWJlbFBpcGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNSb3dNZW51QWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3c6IFJvdztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcm93QWN0aW9uOiBSb3dBY3Rpb247XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZpbGU6IEZzTGlzdFJvd0FjdGlvbkZpbGU7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmaWxlU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZmlsZUVycm9yID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBpY29uOiBzdHJpbmc7XG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX21lbnU6IEZzTWVudUNvbXBvbmVudCxcbiAgKSB7IH1cbiAgICBcbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZihjaGFuZ2VzLnJvdykge1xuICAgICAgdGhpcy5pY29uID0gdGhpcy5yb3dBY3Rpb24uZ2V0Um93SWNvbih0aGlzLnJvdy5kYXRhKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0RmlsZShldmVudCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZVNlbGVjdC5lbWl0KGV2ZW50KTtcbiAgICB0aGlzLmNsb3NlTWVudSgpO1xuICB9XG5cbiAgcHVibGljIGVycm9yRmlsZShldmVudCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZUVycm9yLmVtaXQoZXZlbnQpO1xuICAgIHRoaXMuY2xvc2VNZW51KCk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VNZW51KCk6IHZvaWQge1xuICAgIHRoaXMuX21lbnUuY2xvc2VNZW51KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sYWJlbCA9IHRoaXMucm93QWN0aW9uLmxhYmVsO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWZpbGUgZWxzZSB3aXRoRmlsZVwiPlxuICA8bWF0LWljb24gKm5nSWY9XCJpY29uXCI+XG4gICAge3sgaWNvbiB9fVxuICA8L21hdC1pY29uPlxuICB7eyBsYWJlbHwgYWN0aW9uTGFiZWw6cm93IH19XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjd2l0aEZpbGU+XG4gIDxmcy1maWxlXG4gICAgICBjbGFzcz1cImFjdGlvbi1idXR0b25cIlxuICAgICAgW2FjY2VwdF09XCJmaWxlLmFjY2VwdCB8fCAnKidcIlxuICAgICAgW211bHRpcGxlXT1cImZpbGUubXVsdGlwbGVcIlxuICAgICAgW21pbldpZHRoXT1cImZpbGUubWluV2lkdGhcIlxuICAgICAgW21pbkhlaWdodF09XCJmaWxlLm1pbkhlaWdodFwiXG4gICAgICBbaW1hZ2VXaWR0aF09XCJmaWxlLm1heFdpZHRoXCJcbiAgICAgIFtpbWFnZUhlaWdodF09XCJmaWxlLm1heEhlaWdodFwiXG4gICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiXG4gICAgICAoc2VsZWN0KT1cInNlbGVjdEZpbGUoJGV2ZW50KVwiXG4gICAgICAoZXJyb3IpPVwiZXJyb3JGaWxlKCRldmVudClcIlxuICAgICAgKGNhbmNlbCk9XCJjbG9zZU1lbnUoKVwiPlxuICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25cIj5cbiAgICAgIHt7IGljb24gfX1cbiAgICA8L21hdC1pY29uPlxuICAgIHt7IGxhYmVsfCBhY3Rpb25MYWJlbDpyb3cgfX1cbiAgPC9mcy1maWxlPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1hY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2JvZHkvcm93L21lbnUtYWN0aW9uL21lbnUtYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9ib2R5L3Jvdy9tZW51LWFjdGlvbi9tZW51LWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUluRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQWNqRSxNQUFNLE9BQU8sd0JBQXdCO0lBQzNCLEtBQUssR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFJakMsR0FBRyxDQUFNO0lBR1QsU0FBUyxDQUFZO0lBR3JCLElBQUksQ0FBc0I7SUFHMUIsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFHaEMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFL0IsSUFBSSxDQUFTO0lBQ2IsS0FBSyxDQUFTO0lBRWQsV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQUs7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTSxTQUFTLENBQUMsS0FBSztRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUNwQyxDQUFDO3VHQTVDVSx3QkFBd0I7MkZBQXhCLHdCQUF3QixxT0N4QnJDLDJwQkE0QkEsNENEVEksT0FBTywwSUFDUCxZQUFZLDhVQUNaLGVBQWU7OzJGQUdOLHdCQUF3QjtrQkFYcEMsU0FBUzsrQkFDSSx5QkFBeUIsbUJBRWxCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNULE9BQU87d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3FCQUNsQjs4QkFPUSxHQUFHO3NCQURULEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxVQUFVO3NCQURoQixNQUFNO2dCQUlBLFNBQVM7c0JBRGYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGc01lbnVDb21wb25lbnQgfSBmcm9tICdAZmlyZXN0aXRjaC9tZW51JztcblxuaW1wb3J0IHsgRnNMaXN0Um93QWN0aW9uRmlsZSB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvbGlzdGNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUm93IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3Jvdyc7XG5pbXBvcnQgeyBSb3dBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcm93LWFjdGlvbi5tb2RlbCc7XG5cbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IEZzRmlsZU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2ZpbGUnO1xuaW1wb3J0IHsgQWN0aW9uTGFiZWxQaXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvYWN0aW9uLWxhYmVsJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZzLWxpc3Qtcm93LW1lbnUtYWN0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWVudS1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgIE1hdEljb24sXG4gICAgRnNGaWxlTW9kdWxlLFxuICAgIEFjdGlvbkxhYmVsUGlwZVxuXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNSb3dNZW51QWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIF9tZW51ID0gaW5qZWN0KEZzTWVudUNvbXBvbmVudCk7XG5cblxuICBASW5wdXQoKVxuICBwdWJsaWMgcm93OiBSb3c7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvd0FjdGlvbjogUm93QWN0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWxlOiBGc0xpc3RSb3dBY3Rpb25GaWxlO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZmlsZVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGZpbGVFcnJvciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgaWNvbjogc3RyaW5nO1xuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcbiAgICBcbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZihjaGFuZ2VzLnJvdykge1xuICAgICAgdGhpcy5pY29uID0gdGhpcy5yb3dBY3Rpb24uZ2V0Um93SWNvbih0aGlzLnJvdy5kYXRhKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0RmlsZShldmVudCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZVNlbGVjdC5lbWl0KGV2ZW50KTtcbiAgICB0aGlzLmNsb3NlTWVudSgpO1xuICB9XG5cbiAgcHVibGljIGVycm9yRmlsZShldmVudCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZUVycm9yLmVtaXQoZXZlbnQpO1xuICAgIHRoaXMuY2xvc2VNZW51KCk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VNZW51KCk6IHZvaWQge1xuICAgIHRoaXMuX21lbnUuY2xvc2VNZW51KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sYWJlbCA9IHRoaXMucm93QWN0aW9uLmxhYmVsO1xuICB9XG59XG4iLCJAaWYgKCFmaWxlKSB7XG4gIEBpZiAoaWNvbikge1xuICAgIDxtYXQtaWNvbj5cbiAgICAgIHt7IGljb24gfX1cbiAgICA8L21hdC1pY29uPlxuICB9XG4gIHt7IGxhYmVsfCBhY3Rpb25MYWJlbDpyb3cgfX1cbn0gQGVsc2Uge1xuICA8ZnMtZmlsZVxuICAgIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiXG4gICAgW2FjY2VwdF09XCJmaWxlLmFjY2VwdCB8fCAnKidcIlxuICAgIFttdWx0aXBsZV09XCJmaWxlLm11bHRpcGxlXCJcbiAgICBbbWluV2lkdGhdPVwiZmlsZS5taW5XaWR0aFwiXG4gICAgW21pbkhlaWdodF09XCJmaWxlLm1pbkhlaWdodFwiXG4gICAgW2ltYWdlV2lkdGhdPVwiZmlsZS5tYXhXaWR0aFwiXG4gICAgW2ltYWdlSGVpZ2h0XT1cImZpbGUubWF4SGVpZ2h0XCJcbiAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiXG4gICAgKHNlbGVjdCk9XCJzZWxlY3RGaWxlKCRldmVudClcIlxuICAgIChlcnJvcik9XCJlcnJvckZpbGUoJGV2ZW50KVwiXG4gICAgKGNhbmNlbCk9XCJjbG9zZU1lbnUoKVwiPlxuICAgIEBpZiAoaWNvbikge1xuICAgICAgPG1hdC1pY29uPlxuICAgICAgICB7eyBpY29uIH19XG4gICAgICA8L21hdC1pY29uPlxuICAgIH1cbiAgICB7eyBsYWJlbHwgYWN0aW9uTGFiZWw6cm93IH19XG4gIDwvZnMtZmlsZT5cbn1cbiJdfQ==