@firestitch/list 18.0.36 → 18.0.38

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 (74) hide show
  1. package/app/components/body/body.component.d.ts +1 -1
  2. package/app/components/body/row/actions/actions.component.d.ts +1 -1
  3. package/app/components/body/row/cell/cell.component.d.ts +1 -1
  4. package/app/components/body/row/inline-action/inline-action.component.d.ts +1 -1
  5. package/app/components/body/row/menu-action/menu-action.component.d.ts +1 -1
  6. package/app/components/body/row/row.component.d.ts +1 -1
  7. package/app/components/customize-cols/customize-cols.component.d.ts +1 -1
  8. package/app/components/footer/footer-row/footer-cell/footer-cell.component.d.ts +1 -1
  9. package/app/components/footer/footer-row/footer-row.component.d.ts +1 -1
  10. package/app/components/footer/footer.component.d.ts +1 -1
  11. package/app/components/head/head-cell/head-cell.component.d.ts +1 -1
  12. package/app/components/head/head.component.d.ts +1 -1
  13. package/app/components/list/list.component.d.ts +1 -1
  14. package/app/components/loader/loader.component.d.ts +1 -1
  15. package/app/components/pagination/pagination.component.d.ts +1 -1
  16. package/app/components/status/status.component.d.ts +1 -1
  17. package/app/directives/cell/cell.directive.d.ts +1 -1
  18. package/app/directives/column/column.directive.d.ts +1 -1
  19. package/app/directives/content/content.directive.d.ts +1 -1
  20. package/app/directives/content-init/content-init.directive.d.ts +1 -1
  21. package/app/directives/draggable-list/draggable-list.directive.d.ts +1 -1
  22. package/app/directives/draggable-row/draggable-row.directive.d.ts +1 -1
  23. package/app/directives/empty-state/empty-state.directive.d.ts +1 -1
  24. package/app/directives/footer/footer.directive.d.ts +1 -1
  25. package/app/directives/group-expand-trigger/group-expand-trigger.directive.d.ts +1 -1
  26. package/app/directives/group-footer/group-footer.directive.d.ts +1 -1
  27. package/app/directives/group-header/group-header.directive.d.ts +1 -1
  28. package/app/directives/header/header.directive.d.ts +1 -1
  29. package/app/directives/heading/heading.directive.d.ts +1 -1
  30. package/app/directives/heading-container/heading-container.directive.d.ts +1 -1
  31. package/app/directives/subheading/subheading.directive.d.ts +1 -1
  32. package/app/fs-list.module.d.ts +23 -40
  33. package/app/pipes/action-label.d.ts +1 -1
  34. package/esm2022/app/components/body/body.component.mjs +9 -6
  35. package/esm2022/app/components/body/row/actions/actions.component.mjs +19 -9
  36. package/esm2022/app/components/body/row/cell/cell.component.mjs +4 -4
  37. package/esm2022/app/components/body/row/inline-action/inline-action.component.mjs +26 -8
  38. package/esm2022/app/components/body/row/menu-action/menu-action.component.mjs +13 -7
  39. package/esm2022/app/components/body/row/row.component.mjs +18 -8
  40. package/esm2022/app/components/customize-cols/customize-cols.component.mjs +17 -8
  41. package/esm2022/app/components/footer/footer-row/footer-cell/footer-cell.component.mjs +4 -4
  42. package/esm2022/app/components/footer/footer-row/footer-row.component.mjs +10 -5
  43. package/esm2022/app/components/footer/footer.component.mjs +4 -4
  44. package/esm2022/app/components/head/head-cell/head-cell.component.mjs +12 -5
  45. package/esm2022/app/components/head/head.component.mjs +13 -6
  46. package/esm2022/app/components/list/list.component.mjs +29 -15
  47. package/esm2022/app/components/loader/loader.component.mjs +4 -4
  48. package/esm2022/app/components/pagination/pagination.component.mjs +16 -8
  49. package/esm2022/app/components/status/status.component.mjs +16 -8
  50. package/esm2022/app/directives/cell/cell.directive.mjs +6 -3
  51. package/esm2022/app/directives/column/column.directive.mjs +3 -2
  52. package/esm2022/app/directives/content/content.directive.mjs +3 -2
  53. package/esm2022/app/directives/content-init/content-init.directive.mjs +4 -3
  54. package/esm2022/app/directives/draggable-list/draggable-list.directive.mjs +3 -2
  55. package/esm2022/app/directives/draggable-row/draggable-row.directive.mjs +3 -2
  56. package/esm2022/app/directives/empty-state/empty-state.directive.mjs +3 -2
  57. package/esm2022/app/directives/footer/footer.directive.mjs +6 -3
  58. package/esm2022/app/directives/group-expand-trigger/group-expand-trigger.directive.mjs +6 -3
  59. package/esm2022/app/directives/group-footer/group-footer.directive.mjs +4 -3
  60. package/esm2022/app/directives/group-header/group-header.directive.mjs +3 -2
  61. package/esm2022/app/directives/header/header.directive.mjs +6 -3
  62. package/esm2022/app/directives/heading/heading.directive.mjs +4 -3
  63. package/esm2022/app/directives/heading-container/heading-container.directive.mjs +3 -2
  64. package/esm2022/app/directives/subheading/subheading.directive.mjs +3 -2
  65. package/esm2022/app/fs-list.module.mjs +14 -74
  66. package/esm2022/app/pipes/action-label.mjs +6 -3
  67. package/fesm2022/firestitch-list.mjs +500 -513
  68. package/fesm2022/firestitch-list.mjs.map +1 -1
  69. package/package.json +1 -1
  70. package/styles.scss +99 -1
  71. package/app/components/manage-saved-filters/manage-saved-filters.component.d.ts +0 -13
  72. package/app/components/saved-filters/saved-filters.component.d.ts +0 -15
  73. package/esm2022/app/components/manage-saved-filters/manage-saved-filters.component.mjs +0 -77
  74. package/esm2022/app/components/saved-filters/saved-filters.component.mjs +0 -32
@@ -1,11 +1,12 @@
1
1
  import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
2
2
  import { PaginationController } from '../../classes/pagination-controller';
3
+ import { NgTemplateOutlet, NgIf } from '@angular/common';
4
+ import { MatButton } from '@angular/material/button';
5
+ import { MatRipple } from '@angular/material/core';
6
+ import { MatIcon } from '@angular/material/icon';
7
+ import { FsCommonModule } from '@firestitch/common';
3
8
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/material/button";
6
- import * as i3 from "@angular/material/icon";
7
- import * as i4 from "@angular/material/core";
8
- import * as i5 from "@firestitch/common";
9
+ import * as i1 from "@firestitch/common";
9
10
  export class FsPaginationComponent {
10
11
  pagination;
11
12
  rows;
@@ -22,14 +23,21 @@ export class FsPaginationComponent {
22
23
  this.pagination.goLast();
23
24
  }
24
25
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsPaginationComponent, selector: "fs-list-pagination", inputs: { pagination: "pagination", rows: "rows" }, ngImport: i0, template: "<div class=\"pagination-container\">\n @if (pagination.hasManyStrategy) {\n <ng-container *ngTemplateOutlet=\"strategyMany\"></ng-container>\n } @else if (pagination.loadMoreEnabled) {\n <ng-container *ngTemplateOutlet=\"strategyLoadMore\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"strategyOffsetPage\"></ng-container>\n }\n</div>\n<ng-template #strategyLoadMore>\n @if (pagination.hasNextPage) {\n <div class=\"fs-list-load-more\">\n <button\n mat-button\n type=\"button\"\n [class]=\"pagination.loadMoreButtonClass\"\n [color]=\"pagination.loadMoreButtonColor\"\n (click)=\"next()\">\n {{ pagination.loadMoreLabel }}\n </button>\n </div>\n }\n</ng-template>\n<ng-template #strategyOffsetPage>\n @if (pagination.records > pagination.limit) {\n <ng-container *ngIf=\"pagination?.pages\"></ng-container>\n <ng-container\n [ngTemplateOutlet]=\"firstPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasPrevPage }\">\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"prevPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasPrevPage }\">\n </ng-container>\n <div class=\"number\">\n {{ pagination.page | fsFormatNumber }} of {{ pagination.pages | fsFormatNumber }}\n </div>\n <ng-container\n [ngTemplateOutlet]=\"nextPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasNextPage }\">\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"lastPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasNextPage }\">\n </ng-container>\n }\n</ng-template>\n<ng-template #strategyMany>\n @if (!(pagination.pageRecords ===0 && pagination.page === 1)) {\n <ng-container\n [ngTemplateOutlet]=\"firstPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasPrevPage }\">\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"prevPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasPrevPage }\">\n </ng-container>\n <div class=\"number\">\n {{ pagination.page }}\n </div>\n <ng-container\n [ngTemplateOutlet]=\"nextPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasNextPage }\">\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"lastPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: true }\">\n </ng-container>\n }\n</ng-template>\n<ng-template\n #firstPageButton\n let-disabled=\"disabled\">\n <a\n matRipple\n [matRippleRadius]=\"15\"\n [matRippleCentered]=\"true\"\n class=\"first\"\n [class.disabled]=\"disabled\"\n (click)=\"first()\">\n <mat-icon>\n first_page\n </mat-icon>\n </a>\n</ng-template>\n<ng-template\n #prevPageButton\n let-disabled=\"disabled\">\n <a\n matRipple\n [matRippleRadius]=\"15\"\n [matRippleCentered]=\"true\"\n class=\"previous\"\n [class.disabled]=\"disabled\"\n (click)=\"prev()\">\n <mat-icon>\n keyboard_arrow_left\n </mat-icon>\n </a>\n</ng-template>\n<ng-template\n #nextPageButton\n let-disabled=\"disabled\">\n <a\n matRipple\n [matRippleRadius]=\"15\"\n [matRippleCentered]=\"true\"\n class=\"next\"\n [class.disabled]=\"disabled\"\n (click)=\"next()\">\n <mat-icon>\n keyboard_arrow_right\n </mat-icon>\n </a>\n</ng-template>\n<ng-template\n #lastPageButton\n let-disabled=\"disabled\">\n <a\n matRipple\n [matRippleRadius]=\"15\"\n [matRippleCentered]=\"true\"\n class=\"last\"\n [class.disabled]=\"disabled\"\n (click)=\"last()\">\n <mat-icon>\n last_page\n </mat-icon>\n </a>\n</ng-template>", styles: [".pagination-container{display:flex;justify-content:center;align-items:center;-webkit-user-select:none;user-select:none;width:100%}a{text-align:center;color:#000000de;text-decoration:none;font-size:15px;cursor:pointer;display:flex}a:not(.page){padding:10px}a.disabled{pointer-events:none;cursor:default;color:#d8d8d8}.number{font-size:90%}.fs-list-load-more button{width:100%;margin-top:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "pipe", type: i5.FsFormatNumberPipe, name: "fsFormatNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
26
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsPaginationComponent, isStandalone: true, selector: "fs-list-pagination", inputs: { pagination: "pagination", rows: "rows" }, ngImport: i0, template: "<div class=\"pagination-container\">\n @if (pagination.hasManyStrategy) {\n <ng-container *ngTemplateOutlet=\"strategyMany\"></ng-container>\n } @else if (pagination.loadMoreEnabled) {\n <ng-container *ngTemplateOutlet=\"strategyLoadMore\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"strategyOffsetPage\"></ng-container>\n }\n</div>\n<ng-template #strategyLoadMore>\n @if (pagination.hasNextPage) {\n <div class=\"fs-list-load-more\">\n <button\n mat-button\n type=\"button\"\n [class]=\"pagination.loadMoreButtonClass\"\n [color]=\"pagination.loadMoreButtonColor\"\n (click)=\"next()\">\n {{ pagination.loadMoreLabel }}\n </button>\n </div>\n }\n</ng-template>\n<ng-template #strategyOffsetPage>\n @if (pagination.records > pagination.limit) {\n <ng-container *ngIf=\"pagination?.pages\"></ng-container>\n <ng-container\n [ngTemplateOutlet]=\"firstPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasPrevPage }\">\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"prevPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasPrevPage }\">\n </ng-container>\n <div class=\"number\">\n {{ pagination.page | fsFormatNumber }} of {{ pagination.pages | fsFormatNumber }}\n </div>\n <ng-container\n [ngTemplateOutlet]=\"nextPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasNextPage }\">\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"lastPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasNextPage }\">\n </ng-container>\n }\n</ng-template>\n<ng-template #strategyMany>\n @if (!(pagination.pageRecords ===0 && pagination.page === 1)) {\n <ng-container\n [ngTemplateOutlet]=\"firstPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasPrevPage }\">\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"prevPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasPrevPage }\">\n </ng-container>\n <div class=\"number\">\n {{ pagination.page }}\n </div>\n <ng-container\n [ngTemplateOutlet]=\"nextPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasNextPage }\">\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"lastPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: true }\">\n </ng-container>\n }\n</ng-template>\n<ng-template\n #firstPageButton\n let-disabled=\"disabled\">\n <a\n matRipple\n [matRippleRadius]=\"15\"\n [matRippleCentered]=\"true\"\n class=\"first\"\n [class.disabled]=\"disabled\"\n (click)=\"first()\">\n <mat-icon>\n first_page\n </mat-icon>\n </a>\n</ng-template>\n<ng-template\n #prevPageButton\n let-disabled=\"disabled\">\n <a\n matRipple\n [matRippleRadius]=\"15\"\n [matRippleCentered]=\"true\"\n class=\"previous\"\n [class.disabled]=\"disabled\"\n (click)=\"prev()\">\n <mat-icon>\n keyboard_arrow_left\n </mat-icon>\n </a>\n</ng-template>\n<ng-template\n #nextPageButton\n let-disabled=\"disabled\">\n <a\n matRipple\n [matRippleRadius]=\"15\"\n [matRippleCentered]=\"true\"\n class=\"next\"\n [class.disabled]=\"disabled\"\n (click)=\"next()\">\n <mat-icon>\n keyboard_arrow_right\n </mat-icon>\n </a>\n</ng-template>\n<ng-template\n #lastPageButton\n let-disabled=\"disabled\">\n <a\n matRipple\n [matRippleRadius]=\"15\"\n [matRippleCentered]=\"true\"\n class=\"last\"\n [class.disabled]=\"disabled\"\n (click)=\"last()\">\n <mat-icon>\n last_page\n </mat-icon>\n </a>\n</ng-template>", styles: [".pagination-container{display:flex;justify-content:center;align-items:center;-webkit-user-select:none;user-select:none;width:100%}a{text-align:center;color:#000000de;text-decoration:none;font-size:15px;cursor:pointer;display:flex}a:not(.page){padding:10px}a.disabled{pointer-events:none;cursor:default;color:#d8d8d8}.number{font-size:90%}.fs-list-load-more button{width:100%;margin-top:10px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FsCommonModule }, { kind: "pipe", type: i1.FsFormatNumberPipe, name: "fsFormatNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
26
27
  }
27
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsPaginationComponent, decorators: [{
28
29
  type: Component,
29
- args: [{ selector: 'fs-list-pagination', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"pagination-container\">\n @if (pagination.hasManyStrategy) {\n <ng-container *ngTemplateOutlet=\"strategyMany\"></ng-container>\n } @else if (pagination.loadMoreEnabled) {\n <ng-container *ngTemplateOutlet=\"strategyLoadMore\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"strategyOffsetPage\"></ng-container>\n }\n</div>\n<ng-template #strategyLoadMore>\n @if (pagination.hasNextPage) {\n <div class=\"fs-list-load-more\">\n <button\n mat-button\n type=\"button\"\n [class]=\"pagination.loadMoreButtonClass\"\n [color]=\"pagination.loadMoreButtonColor\"\n (click)=\"next()\">\n {{ pagination.loadMoreLabel }}\n </button>\n </div>\n }\n</ng-template>\n<ng-template #strategyOffsetPage>\n @if (pagination.records > pagination.limit) {\n <ng-container *ngIf=\"pagination?.pages\"></ng-container>\n <ng-container\n [ngTemplateOutlet]=\"firstPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasPrevPage }\">\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"prevPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasPrevPage }\">\n </ng-container>\n <div class=\"number\">\n {{ pagination.page | fsFormatNumber }} of {{ pagination.pages | fsFormatNumber }}\n </div>\n <ng-container\n [ngTemplateOutlet]=\"nextPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasNextPage }\">\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"lastPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasNextPage }\">\n </ng-container>\n }\n</ng-template>\n<ng-template #strategyMany>\n @if (!(pagination.pageRecords ===0 && pagination.page === 1)) {\n <ng-container\n [ngTemplateOutlet]=\"firstPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasPrevPage }\">\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"prevPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasPrevPage }\">\n </ng-container>\n <div class=\"number\">\n {{ pagination.page }}\n </div>\n <ng-container\n [ngTemplateOutlet]=\"nextPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasNextPage }\">\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"lastPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: true }\">\n </ng-container>\n }\n</ng-template>\n<ng-template\n #firstPageButton\n let-disabled=\"disabled\">\n <a\n matRipple\n [matRippleRadius]=\"15\"\n [matRippleCentered]=\"true\"\n class=\"first\"\n [class.disabled]=\"disabled\"\n (click)=\"first()\">\n <mat-icon>\n first_page\n </mat-icon>\n </a>\n</ng-template>\n<ng-template\n #prevPageButton\n let-disabled=\"disabled\">\n <a\n matRipple\n [matRippleRadius]=\"15\"\n [matRippleCentered]=\"true\"\n class=\"previous\"\n [class.disabled]=\"disabled\"\n (click)=\"prev()\">\n <mat-icon>\n keyboard_arrow_left\n </mat-icon>\n </a>\n</ng-template>\n<ng-template\n #nextPageButton\n let-disabled=\"disabled\">\n <a\n matRipple\n [matRippleRadius]=\"15\"\n [matRippleCentered]=\"true\"\n class=\"next\"\n [class.disabled]=\"disabled\"\n (click)=\"next()\">\n <mat-icon>\n keyboard_arrow_right\n </mat-icon>\n </a>\n</ng-template>\n<ng-template\n #lastPageButton\n let-disabled=\"disabled\">\n <a\n matRipple\n [matRippleRadius]=\"15\"\n [matRippleCentered]=\"true\"\n class=\"last\"\n [class.disabled]=\"disabled\"\n (click)=\"last()\">\n <mat-icon>\n last_page\n </mat-icon>\n </a>\n</ng-template>", styles: [".pagination-container{display:flex;justify-content:center;align-items:center;-webkit-user-select:none;user-select:none;width:100%}a{text-align:center;color:#000000de;text-decoration:none;font-size:15px;cursor:pointer;display:flex}a:not(.page){padding:10px}a.disabled{pointer-events:none;cursor:default;color:#d8d8d8}.number{font-size:90%}.fs-list-load-more button{width:100%;margin-top:10px}\n"] }]
30
+ args: [{ selector: 'fs-list-pagination', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
31
+ NgTemplateOutlet,
32
+ MatButton,
33
+ NgIf,
34
+ MatRipple,
35
+ MatIcon,
36
+ FsCommonModule,
37
+ ], template: "<div class=\"pagination-container\">\n @if (pagination.hasManyStrategy) {\n <ng-container *ngTemplateOutlet=\"strategyMany\"></ng-container>\n } @else if (pagination.loadMoreEnabled) {\n <ng-container *ngTemplateOutlet=\"strategyLoadMore\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"strategyOffsetPage\"></ng-container>\n }\n</div>\n<ng-template #strategyLoadMore>\n @if (pagination.hasNextPage) {\n <div class=\"fs-list-load-more\">\n <button\n mat-button\n type=\"button\"\n [class]=\"pagination.loadMoreButtonClass\"\n [color]=\"pagination.loadMoreButtonColor\"\n (click)=\"next()\">\n {{ pagination.loadMoreLabel }}\n </button>\n </div>\n }\n</ng-template>\n<ng-template #strategyOffsetPage>\n @if (pagination.records > pagination.limit) {\n <ng-container *ngIf=\"pagination?.pages\"></ng-container>\n <ng-container\n [ngTemplateOutlet]=\"firstPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasPrevPage }\">\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"prevPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasPrevPage }\">\n </ng-container>\n <div class=\"number\">\n {{ pagination.page | fsFormatNumber }} of {{ pagination.pages | fsFormatNumber }}\n </div>\n <ng-container\n [ngTemplateOutlet]=\"nextPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasNextPage }\">\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"lastPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasNextPage }\">\n </ng-container>\n }\n</ng-template>\n<ng-template #strategyMany>\n @if (!(pagination.pageRecords ===0 && pagination.page === 1)) {\n <ng-container\n [ngTemplateOutlet]=\"firstPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasPrevPage }\">\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"prevPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasPrevPage }\">\n </ng-container>\n <div class=\"number\">\n {{ pagination.page }}\n </div>\n <ng-container\n [ngTemplateOutlet]=\"nextPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: !pagination.hasNextPage }\">\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"lastPageButton\"\n [ngTemplateOutletContext]=\"{ disabled: true }\">\n </ng-container>\n }\n</ng-template>\n<ng-template\n #firstPageButton\n let-disabled=\"disabled\">\n <a\n matRipple\n [matRippleRadius]=\"15\"\n [matRippleCentered]=\"true\"\n class=\"first\"\n [class.disabled]=\"disabled\"\n (click)=\"first()\">\n <mat-icon>\n first_page\n </mat-icon>\n </a>\n</ng-template>\n<ng-template\n #prevPageButton\n let-disabled=\"disabled\">\n <a\n matRipple\n [matRippleRadius]=\"15\"\n [matRippleCentered]=\"true\"\n class=\"previous\"\n [class.disabled]=\"disabled\"\n (click)=\"prev()\">\n <mat-icon>\n keyboard_arrow_left\n </mat-icon>\n </a>\n</ng-template>\n<ng-template\n #nextPageButton\n let-disabled=\"disabled\">\n <a\n matRipple\n [matRippleRadius]=\"15\"\n [matRippleCentered]=\"true\"\n class=\"next\"\n [class.disabled]=\"disabled\"\n (click)=\"next()\">\n <mat-icon>\n keyboard_arrow_right\n </mat-icon>\n </a>\n</ng-template>\n<ng-template\n #lastPageButton\n let-disabled=\"disabled\">\n <a\n matRipple\n [matRippleRadius]=\"15\"\n [matRippleCentered]=\"true\"\n class=\"last\"\n [class.disabled]=\"disabled\"\n (click)=\"last()\">\n <mat-icon>\n last_page\n </mat-icon>\n </a>\n</ng-template>", styles: [".pagination-container{display:flex;justify-content:center;align-items:center;-webkit-user-select:none;user-select:none;width:100%}a{text-align:center;color:#000000de;text-decoration:none;font-size:15px;cursor:pointer;display:flex}a:not(.page){padding:10px}a.disabled{pointer-events:none;cursor:default;color:#d8d8d8}.number{font-size:90%}.fs-list-load-more button{width:100%;margin-top:10px}\n"] }]
30
38
  }], propDecorators: { pagination: [{
31
39
  type: Input
32
40
  }], rows: [{
33
41
  type: Input
34
42
  }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7O0FBUTNFLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEIsVUFBVSxDQUF1QjtJQUNqQyxJQUFJLENBQUM7SUFFZCxLQUFLO1FBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDO3VHQW5CVSxxQkFBcUI7MkZBQXJCLHFCQUFxQiw4R0NmbEMsaWpJQWlJYzs7MkZEbEhELHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTs4QkFJL0IsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbmltcG9ydCB7IFBhZ2luYXRpb25Db250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9wYWdpbmF0aW9uLWNvbnRyb2xsZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1saXN0LXBhZ2luYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZzUGFnaW5hdGlvbkNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgcHVibGljIHBhZ2luYXRpb246IFBhZ2luYXRpb25Db250cm9sbGVyO1xuICBASW5wdXQoKSBwdWJsaWMgcm93cztcblxuICBwdWJsaWMgZmlyc3QoKSB7XG4gICAgdGhpcy5wYWdpbmF0aW9uLmdvRmlyc3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBwcmV2KCkge1xuICAgIHRoaXMucGFnaW5hdGlvbi5nb1ByZXYoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZXh0KCkge1xuICAgIHRoaXMucGFnaW5hdGlvbi5nb05leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBsYXN0KCkge1xuICAgIHRoaXMucGFnaW5hdGlvbi5nb0xhc3QoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBhZ2luYXRpb24tY29udGFpbmVyXCI+XG4gIEBpZiAocGFnaW5hdGlvbi5oYXNNYW55U3RyYXRlZ3kpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3RyYXRlZ3lNYW55XCI+PC9uZy1jb250YWluZXI+XG4gIH0gQGVsc2UgaWYgKHBhZ2luYXRpb24ubG9hZE1vcmVFbmFibGVkKSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0cmF0ZWd5TG9hZE1vcmVcIj48L25nLWNvbnRhaW5lcj5cbiAgfSBAZWxzZSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0cmF0ZWd5T2Zmc2V0UGFnZVwiPjwvbmctY29udGFpbmVyPlxuICB9XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjc3RyYXRlZ3lMb2FkTW9yZT5cbiAgQGlmIChwYWdpbmF0aW9uLmhhc05leHRQYWdlKSB7XG4gICAgPGRpdiBjbGFzcz1cImZzLWxpc3QtbG9hZC1tb3JlXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFtjbGFzc109XCJwYWdpbmF0aW9uLmxvYWRNb3JlQnV0dG9uQ2xhc3NcIlxuICAgICAgICAgIFtjb2xvcl09XCJwYWdpbmF0aW9uLmxvYWRNb3JlQnV0dG9uQ29sb3JcIlxuICAgICAgICAgIChjbGljayk9XCJuZXh0KClcIj5cbiAgICAgICAge3sgcGFnaW5hdGlvbi5sb2FkTW9yZUxhYmVsIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjc3RyYXRlZ3lPZmZzZXRQYWdlPlxuICBAaWYgKHBhZ2luYXRpb24ucmVjb3JkcyA+IHBhZ2luYXRpb24ubGltaXQpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnaW5hdGlvbj8ucGFnZXNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmaXJzdFBhZ2VCdXR0b25cIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZGlzYWJsZWQ6ICFwYWdpbmF0aW9uLmhhc1ByZXZQYWdlIH1cIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcmV2UGFnZUJ1dHRvblwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBkaXNhYmxlZDogIXBhZ2luYXRpb24uaGFzUHJldlBhZ2UgfVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJudW1iZXJcIj5cbiAgICAgIHt7IHBhZ2luYXRpb24ucGFnZSB8IGZzRm9ybWF0TnVtYmVyIH19IG9mICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHBhZ2luYXRpb24ucGFnZXMgfCBmc0Zvcm1hdE51bWJlciB9fVxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5leHRQYWdlQnV0dG9uXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGRpc2FibGVkOiAhcGFnaW5hdGlvbi5oYXNOZXh0UGFnZSB9XCI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibGFzdFBhZ2VCdXR0b25cIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZGlzYWJsZWQ6ICFwYWdpbmF0aW9uLmhhc05leHRQYWdlIH1cIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjc3RyYXRlZ3lNYW55PlxuICBAaWYgKCEocGFnaW5hdGlvbi5wYWdlUmVjb3JkcyA9PT0wICYmIHBhZ2luYXRpb24ucGFnZSA9PT0gMSkpIHtcbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmaXJzdFBhZ2VCdXR0b25cIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZGlzYWJsZWQ6ICFwYWdpbmF0aW9uLmhhc1ByZXZQYWdlIH1cIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcmV2UGFnZUJ1dHRvblwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBkaXNhYmxlZDogIXBhZ2luYXRpb24uaGFzUHJldlBhZ2UgfVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJudW1iZXJcIj5cbiAgICAgIHt7IHBhZ2luYXRpb24ucGFnZSB9fVxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5leHRQYWdlQnV0dG9uXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGRpc2FibGVkOiAhcGFnaW5hdGlvbi5oYXNOZXh0UGFnZSB9XCI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibGFzdFBhZ2VCdXR0b25cIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZGlzYWJsZWQ6IHRydWUgfVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICB9XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlXG4gICAgI2ZpcnN0UGFnZUJ1dHRvblxuICAgIGxldC1kaXNhYmxlZD1cImRpc2FibGVkXCI+XG4gIDxhXG4gICAgICBtYXRSaXBwbGVcbiAgICAgIFttYXRSaXBwbGVSYWRpdXNdPVwiMTVcIlxuICAgICAgW21hdFJpcHBsZUNlbnRlcmVkXT1cInRydWVcIlxuICAgICAgY2xhc3M9XCJmaXJzdFwiXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cImZpcnN0KClcIj5cbiAgICA8bWF0LWljb24+XG4gICAgICBmaXJzdF9wYWdlXG4gICAgPC9tYXQtaWNvbj5cbiAgPC9hPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZVxuICAgICNwcmV2UGFnZUJ1dHRvblxuICAgIGxldC1kaXNhYmxlZD1cImRpc2FibGVkXCI+XG4gIDxhXG4gICAgICBtYXRSaXBwbGVcbiAgICAgIFttYXRSaXBwbGVSYWRpdXNdPVwiMTVcIlxuICAgICAgW21hdFJpcHBsZUNlbnRlcmVkXT1cInRydWVcIlxuICAgICAgY2xhc3M9XCJwcmV2aW91c1wiXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cInByZXYoKVwiPlxuICAgIDxtYXQtaWNvbj5cbiAgICAgIGtleWJvYXJkX2Fycm93X2xlZnRcbiAgICA8L21hdC1pY29uPlxuICA8L2E+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlXG4gICAgI25leHRQYWdlQnV0dG9uXG4gICAgbGV0LWRpc2FibGVkPVwiZGlzYWJsZWRcIj5cbiAgPGFcbiAgICAgIG1hdFJpcHBsZVxuICAgICAgW21hdFJpcHBsZVJhZGl1c109XCIxNVwiXG4gICAgICBbbWF0UmlwcGxlQ2VudGVyZWRdPVwidHJ1ZVwiXG4gICAgICBjbGFzcz1cIm5leHRcIlxuICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJuZXh0KClcIj5cbiAgICA8bWF0LWljb24+XG4gICAgICBrZXlib2FyZF9hcnJvd19yaWdodFxuICAgIDwvbWF0LWljb24+XG4gIDwvYT5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGVcbiAgICAjbGFzdFBhZ2VCdXR0b25cbiAgICBsZXQtZGlzYWJsZWQ9XCJkaXNhYmxlZFwiPlxuICA8YVxuICAgICAgbWF0UmlwcGxlXG4gICAgICBbbWF0UmlwcGxlUmFkaXVzXT1cIjE1XCJcbiAgICAgIFttYXRSaXBwbGVDZW50ZXJlZF09XCJ0cnVlXCJcbiAgICAgIGNsYXNzPVwibGFzdFwiXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cImxhc3QoKVwiPlxuICAgIDxtYXQtaWNvbj5cbiAgICAgIGxhc3RfcGFnZVxuICAgIDwvbWF0LWljb24+XG4gIDwvYT5cbjwvbmctdGVtcGxhdGU+Il19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQWlCcEQsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQixVQUFVLENBQXVCO0lBQ2pDLElBQUksQ0FBQztJQUVkLEtBQUs7UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLENBQUM7dUdBbkJVLHFCQUFxQjsyRkFBckIscUJBQXFCLGtJQzdCbEMsaWpJQWlJYyxtY0Q1R04sZ0JBQWdCLG9KQUNoQixTQUFTLGlMQUNULElBQUksNkZBQ0osU0FBUyx3UEFDVCxPQUFPLDBJQUNQLGNBQWM7OzJGQUdULHFCQUFxQjtrQkFmakMsU0FBUzsrQkFDSSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ0wsZ0JBQWdCO3dCQUNoQixTQUFTO3dCQUNULElBQUk7d0JBQ0osU0FBUzt3QkFDVCxPQUFPO3dCQUNQLGNBQWM7cUJBQ2pCOzhCQUlhLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvcGFnaW5hdGlvbi1jb250cm9sbGVyJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdFJpcHBsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgRnNDb21tb25Nb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZzLWxpc3QtcGFnaW5hdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgTWF0QnV0dG9uLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBNYXRSaXBwbGUsXG4gICAgICAgIE1hdEljb24sXG4gICAgICAgIEZzQ29tbW9uTW9kdWxlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzUGFnaW5hdGlvbkNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgcHVibGljIHBhZ2luYXRpb246IFBhZ2luYXRpb25Db250cm9sbGVyO1xuICBASW5wdXQoKSBwdWJsaWMgcm93cztcblxuICBwdWJsaWMgZmlyc3QoKSB7XG4gICAgdGhpcy5wYWdpbmF0aW9uLmdvRmlyc3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBwcmV2KCkge1xuICAgIHRoaXMucGFnaW5hdGlvbi5nb1ByZXYoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZXh0KCkge1xuICAgIHRoaXMucGFnaW5hdGlvbi5nb05leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBsYXN0KCkge1xuICAgIHRoaXMucGFnaW5hdGlvbi5nb0xhc3QoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBhZ2luYXRpb24tY29udGFpbmVyXCI+XG4gIEBpZiAocGFnaW5hdGlvbi5oYXNNYW55U3RyYXRlZ3kpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3RyYXRlZ3lNYW55XCI+PC9uZy1jb250YWluZXI+XG4gIH0gQGVsc2UgaWYgKHBhZ2luYXRpb24ubG9hZE1vcmVFbmFibGVkKSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0cmF0ZWd5TG9hZE1vcmVcIj48L25nLWNvbnRhaW5lcj5cbiAgfSBAZWxzZSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0cmF0ZWd5T2Zmc2V0UGFnZVwiPjwvbmctY29udGFpbmVyPlxuICB9XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjc3RyYXRlZ3lMb2FkTW9yZT5cbiAgQGlmIChwYWdpbmF0aW9uLmhhc05leHRQYWdlKSB7XG4gICAgPGRpdiBjbGFzcz1cImZzLWxpc3QtbG9hZC1tb3JlXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFtjbGFzc109XCJwYWdpbmF0aW9uLmxvYWRNb3JlQnV0dG9uQ2xhc3NcIlxuICAgICAgICAgIFtjb2xvcl09XCJwYWdpbmF0aW9uLmxvYWRNb3JlQnV0dG9uQ29sb3JcIlxuICAgICAgICAgIChjbGljayk9XCJuZXh0KClcIj5cbiAgICAgICAge3sgcGFnaW5hdGlvbi5sb2FkTW9yZUxhYmVsIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjc3RyYXRlZ3lPZmZzZXRQYWdlPlxuICBAaWYgKHBhZ2luYXRpb24ucmVjb3JkcyA+IHBhZ2luYXRpb24ubGltaXQpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnaW5hdGlvbj8ucGFnZXNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmaXJzdFBhZ2VCdXR0b25cIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZGlzYWJsZWQ6ICFwYWdpbmF0aW9uLmhhc1ByZXZQYWdlIH1cIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcmV2UGFnZUJ1dHRvblwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBkaXNhYmxlZDogIXBhZ2luYXRpb24uaGFzUHJldlBhZ2UgfVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJudW1iZXJcIj5cbiAgICAgIHt7IHBhZ2luYXRpb24ucGFnZSB8IGZzRm9ybWF0TnVtYmVyIH19IG9mICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHBhZ2luYXRpb24ucGFnZXMgfCBmc0Zvcm1hdE51bWJlciB9fVxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5leHRQYWdlQnV0dG9uXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGRpc2FibGVkOiAhcGFnaW5hdGlvbi5oYXNOZXh0UGFnZSB9XCI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibGFzdFBhZ2VCdXR0b25cIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZGlzYWJsZWQ6ICFwYWdpbmF0aW9uLmhhc05leHRQYWdlIH1cIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjc3RyYXRlZ3lNYW55PlxuICBAaWYgKCEocGFnaW5hdGlvbi5wYWdlUmVjb3JkcyA9PT0wICYmIHBhZ2luYXRpb24ucGFnZSA9PT0gMSkpIHtcbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmaXJzdFBhZ2VCdXR0b25cIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZGlzYWJsZWQ6ICFwYWdpbmF0aW9uLmhhc1ByZXZQYWdlIH1cIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcmV2UGFnZUJ1dHRvblwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBkaXNhYmxlZDogIXBhZ2luYXRpb24uaGFzUHJldlBhZ2UgfVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJudW1iZXJcIj5cbiAgICAgIHt7IHBhZ2luYXRpb24ucGFnZSB9fVxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5leHRQYWdlQnV0dG9uXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGRpc2FibGVkOiAhcGFnaW5hdGlvbi5oYXNOZXh0UGFnZSB9XCI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibGFzdFBhZ2VCdXR0b25cIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZGlzYWJsZWQ6IHRydWUgfVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICB9XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlXG4gICAgI2ZpcnN0UGFnZUJ1dHRvblxuICAgIGxldC1kaXNhYmxlZD1cImRpc2FibGVkXCI+XG4gIDxhXG4gICAgICBtYXRSaXBwbGVcbiAgICAgIFttYXRSaXBwbGVSYWRpdXNdPVwiMTVcIlxuICAgICAgW21hdFJpcHBsZUNlbnRlcmVkXT1cInRydWVcIlxuICAgICAgY2xhc3M9XCJmaXJzdFwiXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cImZpcnN0KClcIj5cbiAgICA8bWF0LWljb24+XG4gICAgICBmaXJzdF9wYWdlXG4gICAgPC9tYXQtaWNvbj5cbiAgPC9hPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZVxuICAgICNwcmV2UGFnZUJ1dHRvblxuICAgIGxldC1kaXNhYmxlZD1cImRpc2FibGVkXCI+XG4gIDxhXG4gICAgICBtYXRSaXBwbGVcbiAgICAgIFttYXRSaXBwbGVSYWRpdXNdPVwiMTVcIlxuICAgICAgW21hdFJpcHBsZUNlbnRlcmVkXT1cInRydWVcIlxuICAgICAgY2xhc3M9XCJwcmV2aW91c1wiXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cInByZXYoKVwiPlxuICAgIDxtYXQtaWNvbj5cbiAgICAgIGtleWJvYXJkX2Fycm93X2xlZnRcbiAgICA8L21hdC1pY29uPlxuICA8L2E+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlXG4gICAgI25leHRQYWdlQnV0dG9uXG4gICAgbGV0LWRpc2FibGVkPVwiZGlzYWJsZWRcIj5cbiAgPGFcbiAgICAgIG1hdFJpcHBsZVxuICAgICAgW21hdFJpcHBsZVJhZGl1c109XCIxNVwiXG4gICAgICBbbWF0UmlwcGxlQ2VudGVyZWRdPVwidHJ1ZVwiXG4gICAgICBjbGFzcz1cIm5leHRcIlxuICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJuZXh0KClcIj5cbiAgICA8bWF0LWljb24+XG4gICAgICBrZXlib2FyZF9hcnJvd19yaWdodFxuICAgIDwvbWF0LWljb24+XG4gIDwvYT5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGVcbiAgICAjbGFzdFBhZ2VCdXR0b25cbiAgICBsZXQtZGlzYWJsZWQ9XCJkaXNhYmxlZFwiPlxuICA8YVxuICAgICAgbWF0UmlwcGxlXG4gICAgICBbbWF0UmlwcGxlUmFkaXVzXT1cIjE1XCJcbiAgICAgIFttYXRSaXBwbGVDZW50ZXJlZF09XCJ0cnVlXCJcbiAgICAgIGNsYXNzPVwibGFzdFwiXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cImxhc3QoKVwiPlxuICAgIDxtYXQtaWNvbj5cbiAgICAgIGxhc3RfcGFnZVxuICAgIDwvbWF0LWljb24+XG4gIDwvYT5cbjwvbmctdGVtcGxhdGU+Il19
@@ -4,12 +4,12 @@ import { catchError, takeUntil, tap } from 'rxjs/operators';
4
4
  import { List } from '../../classes/list-controller';
5
5
  import { PaginationStrategy } from '../../enums';
6
6
  import { SortingDirection } from '../../models/column.model';
7
+ import { NgTemplateOutlet, NgIf, NgFor, DecimalPipe } from '@angular/common';
8
+ import { MatTooltip } from '@angular/material/tooltip';
9
+ import { MatProgressSpinner } from '@angular/material/progress-spinner';
10
+ import { FsMenuModule } from '@firestitch/menu';
7
11
  import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
9
- import * as i2 from "@angular/material/progress-spinner";
10
- import * as i3 from "@firestitch/menu";
11
- import * as i4 from "@angular/material/tooltip";
12
- import * as i5 from "../saved-filters/saved-filters.component";
12
+ import * as i1 from "@firestitch/menu";
13
13
  export class FsStatusComponent {
14
14
  list;
15
15
  rows;
@@ -79,11 +79,19 @@ export class FsStatusComponent {
79
79
  this.paging.setLimit(limit);
80
80
  }
81
81
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
82
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsStatusComponent, selector: "fs-list-status", inputs: { list: "list", rows: "rows", firstLoad: "firstLoad" }, host: { properties: { "class.first-load": "this.firstLoad", "class.fs-skeleton-placeholder": "this.firstLoad" } }, ngImport: i0, template: "<div class=\"status\">\n <small>\n @if (paging.enabled) {\n Showing\n @if (paging.hasManyStrategy) {\n <ng-container [ngTemplateOutlet]=\"limitMenu\"></ng-container>\n of\n @if (many.status === 'many') {\n <a\n (click)=\"manyClick()\"\n [matTooltip]=\"'Calculate number of results'\">\n many\n </a>\n } @else {\n @if (many.status === 'loading') {\n <mat-spinner\n [diameter]=\"15\"\n [strokeWidth]=\"2\">\n </mat-spinner>\n } @else {\n <a\n (click)=\"manyClick()\"\n [matTooltip]=\"'Recalculate number of results'\">\n {{ many.count | number:'1.0':'en-US' }}\n </a>\n }\n }\n } @else {\n @if (paging.records) {\n <ng-container [ngTemplateOutlet]=\"limitMenu\"></ng-container>\n of \n {{ paging.records | number:'1.0':'en-US' }}\n } @else {\n 0\n }\n }\n results\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container>\n }\n <ng-container *ngIf=\"(!paging.enabled) && paging.pageRecords > 0\">\n Showing\n <span *ngIf=\"paging.pageRecords === 1\">\n {{ paging.pageRecords }} result\n </span>\n <span *ngIf=\"paging.pageRecords > 1\">\n {{ paging.pageRecords | number:'1.0':'en-US' }} results\n </span>\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container>\n </ng-container>\n <fs-list-saved-filters class=\"saved-filters\"></fs-list-saved-filters>\n <fs-menu\n [hidden]=\"!sorting.sortingColumn || paging.pageRecords === 0\"\n #orderColumnsMenu>\n <!-- Real sorting columns -->\n <ng-template\n ngFor\n let-column\n [ngForOf]=\"sorting.sortingColumns\">\n <ng-template\n fs-menu-item\n (click)=\"setSortableColumn(column)\">\n <ng-container *ngIf=\"column.title; else sortByTemplate\">\n {{ column.title }}\n </ng-container>\n <ng-template #sortByTemplate>\n <ng-template [ngTemplateOutlet]=\"column.headerTemplate\"></ng-template>\n </ng-template>\n </ng-template>\n </ng-template>\n <!-- Fake sorting columns -->\n <ng-template\n ngFor\n let-column\n [ngForOf]=\"sorting.fakeSortingColumns\">\n <ng-template\n fs-menu-item\n (click)=\"setSortableColumn(column)\">\n {{ column.title }}\n </ng-template>\n </ng-template>\n </fs-menu>\n <ng-template #sortedBy>\n <ng-container *ngIf=\"sorting.sortingColumn\">\n sorted by\n <ng-container *ngIf=\"sorting.sortingColumn.title; else sortByTemplate\">\n <a\n class=\"order-toggle\"\n [fsMenuTriggerFor]=\"orderColumnsMenu\">\n {{ sorting.sortingColumn.title }}\n </a>\n ,\n </ng-container>\n <ng-template #sortByTemplate>\n <a\n class=\"order-toggle\"\n r\n [fsMenuTriggerFor]=\"orderColumnsMenu\">\n <ng-template [ngTemplateOutlet]=\"sorting.sortingColumn.headerTemplate\"></ng-template>\n </a>\n ,\n </ng-template>\n <a\n class=\"order-toggle\"\n (click)=\"toggleDirection()\">\n {{ sorting.sortingColumn.fullNameDirection }}\n </a>\n </ng-container>\n </ng-template>\n </small>\n</div>\n<ng-template #limitMenu>\n <a [fsMenuTriggerFor]=\"limitsMenuTrigger\">\n {{ paging.statusLabel }}\n </a>\n <fs-menu #limitsMenuTrigger>\n <ng-template\n ngFor\n let-limit\n [ngForOf]=\"paging.limits\">\n <ng-template\n fs-menu-item\n (click)=\"setLimit(limit)\">\n {{ limit }}\n </ng-template>\n </ng-template>\n </fs-menu>\n</ng-template>", styles: [":host.hidden-mobile{display:none!important}:host.first-load .status{visibility:hidden}.order-toggle{white-space:nowrap}a{cursor:pointer}mat-spinner{display:inline-block;margin:0 2px;vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i3.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }, { kind: "directive", type: i3.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]" }, { kind: "directive", type: i3.FsMenuTriggerDirective, selector: "[fsMenuTriggerFor]", inputs: ["fsMenuTriggerFor"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i5.FsListSavedFiltersComponent, selector: "fs-list-saved-filters" }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
82
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsStatusComponent, isStandalone: true, selector: "fs-list-status", inputs: { list: "list", rows: "rows", firstLoad: "firstLoad" }, host: { properties: { "class.first-load": "this.firstLoad", "class.fs-skeleton-placeholder": "this.firstLoad" } }, ngImport: i0, template: "<div class=\"status\">\n <small>\n @if (paging.enabled) {\n Showing\n @if (paging.hasManyStrategy) {\n <ng-container [ngTemplateOutlet]=\"limitMenu\"></ng-container>\n of\n @if (many.status === 'many') {\n <a\n (click)=\"manyClick()\"\n [matTooltip]=\"'Calculate number of results'\">\n many\n </a>\n } @else {\n @if (many.status === 'loading') {\n <mat-spinner\n [diameter]=\"15\"\n [strokeWidth]=\"2\">\n </mat-spinner>\n } @else {\n <a\n (click)=\"manyClick()\"\n [matTooltip]=\"'Recalculate number of results'\">\n {{ many.count | number:'1.0':'en-US' }}\n </a>\n }\n }\n } @else {\n @if (paging.records) {\n <ng-container [ngTemplateOutlet]=\"limitMenu\"></ng-container>\n of \n {{ paging.records | number:'1.0':'en-US' }}\n } @else {\n 0\n }\n }\n results\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container>\n }\n <ng-container *ngIf=\"(!paging.enabled) && paging.pageRecords > 0\">\n Showing\n <span *ngIf=\"paging.pageRecords === 1\">\n {{ paging.pageRecords }} result\n </span>\n <span *ngIf=\"paging.pageRecords > 1\">\n {{ paging.pageRecords | number:'1.0':'en-US' }} results\n </span>\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container>\n </ng-container>\n <fs-menu\n [hidden]=\"!sorting.sortingColumn || paging.pageRecords === 0\"\n #orderColumnsMenu>\n <!-- Real sorting columns -->\n <ng-template\n ngFor\n let-column\n [ngForOf]=\"sorting.sortingColumns\">\n <ng-template\n fs-menu-item\n (click)=\"setSortableColumn(column)\">\n <ng-container *ngIf=\"column.title; else sortByTemplate\">\n {{ column.title }}\n </ng-container>\n <ng-template #sortByTemplate>\n <ng-template [ngTemplateOutlet]=\"column.headerTemplate\"></ng-template>\n </ng-template>\n </ng-template>\n </ng-template>\n <!-- Fake sorting columns -->\n <ng-template\n ngFor\n let-column\n [ngForOf]=\"sorting.fakeSortingColumns\">\n <ng-template\n fs-menu-item\n (click)=\"setSortableColumn(column)\">\n {{ column.title }}\n </ng-template>\n </ng-template>\n </fs-menu>\n <ng-template #sortedBy>\n <ng-container *ngIf=\"sorting.sortingColumn\">\n sorted by\n <ng-container *ngIf=\"sorting.sortingColumn.title; else sortByTemplate\">\n <a\n class=\"order-toggle\"\n [fsMenuTriggerFor]=\"orderColumnsMenu\">\n {{ sorting.sortingColumn.title }}\n </a>\n ,\n </ng-container>\n <ng-template #sortByTemplate>\n <a\n class=\"order-toggle\"\n r\n [fsMenuTriggerFor]=\"orderColumnsMenu\">\n <ng-template [ngTemplateOutlet]=\"sorting.sortingColumn.headerTemplate\"></ng-template>\n </a>\n ,\n </ng-template>\n <a\n class=\"order-toggle\"\n (click)=\"toggleDirection()\">\n {{ sorting.sortingColumn.fullNameDirection }}\n </a>\n </ng-container>\n </ng-template>\n </small>\n</div>\n<ng-template #limitMenu>\n <a [fsMenuTriggerFor]=\"limitsMenuTrigger\">\n {{ paging.statusLabel }}\n </a>\n <fs-menu #limitsMenuTrigger>\n <ng-template\n ngFor\n let-limit\n [ngForOf]=\"paging.limits\">\n <ng-template\n fs-menu-item\n (click)=\"setLimit(limit)\">\n {{ limit }}\n </ng-template>\n </ng-template>\n </fs-menu>\n</ng-template>", styles: [":host.hidden-mobile{display:none!important}:host.first-load .status{visibility:hidden}.order-toggle{white-space:nowrap}a{cursor:pointer}mat-spinner{display:inline-block;margin:0 2px;vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "directive", type: i1.FsMenuTriggerDirective, selector: "[fsMenuTriggerFor]", inputs: ["fsMenuTriggerFor"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: DecimalPipe, name: "number" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
83
83
  }
84
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsStatusComponent, decorators: [{
85
85
  type: Component,
86
- args: [{ selector: 'fs-list-status', changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: true, template: "<div class=\"status\">\n <small>\n @if (paging.enabled) {\n Showing\n @if (paging.hasManyStrategy) {\n <ng-container [ngTemplateOutlet]=\"limitMenu\"></ng-container>\n of\n @if (many.status === 'many') {\n <a\n (click)=\"manyClick()\"\n [matTooltip]=\"'Calculate number of results'\">\n many\n </a>\n } @else {\n @if (many.status === 'loading') {\n <mat-spinner\n [diameter]=\"15\"\n [strokeWidth]=\"2\">\n </mat-spinner>\n } @else {\n <a\n (click)=\"manyClick()\"\n [matTooltip]=\"'Recalculate number of results'\">\n {{ many.count | number:'1.0':'en-US' }}\n </a>\n }\n }\n } @else {\n @if (paging.records) {\n <ng-container [ngTemplateOutlet]=\"limitMenu\"></ng-container>\n of \n {{ paging.records | number:'1.0':'en-US' }}\n } @else {\n 0\n }\n }\n results\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container>\n }\n <ng-container *ngIf=\"(!paging.enabled) && paging.pageRecords > 0\">\n Showing\n <span *ngIf=\"paging.pageRecords === 1\">\n {{ paging.pageRecords }} result\n </span>\n <span *ngIf=\"paging.pageRecords > 1\">\n {{ paging.pageRecords | number:'1.0':'en-US' }} results\n </span>\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container>\n </ng-container>\n <fs-list-saved-filters class=\"saved-filters\"></fs-list-saved-filters>\n <fs-menu\n [hidden]=\"!sorting.sortingColumn || paging.pageRecords === 0\"\n #orderColumnsMenu>\n <!-- Real sorting columns -->\n <ng-template\n ngFor\n let-column\n [ngForOf]=\"sorting.sortingColumns\">\n <ng-template\n fs-menu-item\n (click)=\"setSortableColumn(column)\">\n <ng-container *ngIf=\"column.title; else sortByTemplate\">\n {{ column.title }}\n </ng-container>\n <ng-template #sortByTemplate>\n <ng-template [ngTemplateOutlet]=\"column.headerTemplate\"></ng-template>\n </ng-template>\n </ng-template>\n </ng-template>\n <!-- Fake sorting columns -->\n <ng-template\n ngFor\n let-column\n [ngForOf]=\"sorting.fakeSortingColumns\">\n <ng-template\n fs-menu-item\n (click)=\"setSortableColumn(column)\">\n {{ column.title }}\n </ng-template>\n </ng-template>\n </fs-menu>\n <ng-template #sortedBy>\n <ng-container *ngIf=\"sorting.sortingColumn\">\n sorted by\n <ng-container *ngIf=\"sorting.sortingColumn.title; else sortByTemplate\">\n <a\n class=\"order-toggle\"\n [fsMenuTriggerFor]=\"orderColumnsMenu\">\n {{ sorting.sortingColumn.title }}\n </a>\n ,\n </ng-container>\n <ng-template #sortByTemplate>\n <a\n class=\"order-toggle\"\n r\n [fsMenuTriggerFor]=\"orderColumnsMenu\">\n <ng-template [ngTemplateOutlet]=\"sorting.sortingColumn.headerTemplate\"></ng-template>\n </a>\n ,\n </ng-template>\n <a\n class=\"order-toggle\"\n (click)=\"toggleDirection()\">\n {{ sorting.sortingColumn.fullNameDirection }}\n </a>\n </ng-container>\n </ng-template>\n </small>\n</div>\n<ng-template #limitMenu>\n <a [fsMenuTriggerFor]=\"limitsMenuTrigger\">\n {{ paging.statusLabel }}\n </a>\n <fs-menu #limitsMenuTrigger>\n <ng-template\n ngFor\n let-limit\n [ngForOf]=\"paging.limits\">\n <ng-template\n fs-menu-item\n (click)=\"setLimit(limit)\">\n {{ limit }}\n </ng-template>\n </ng-template>\n </fs-menu>\n</ng-template>", styles: [":host.hidden-mobile{display:none!important}:host.first-load .status{visibility:hidden}.order-toggle{white-space:nowrap}a{cursor:pointer}mat-spinner{display:inline-block;margin:0 2px;vertical-align:middle}\n"] }]
86
+ args: [{ selector: 'fs-list-status', changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: true, standalone: true, imports: [
87
+ NgTemplateOutlet,
88
+ MatTooltip,
89
+ MatProgressSpinner,
90
+ NgIf,
91
+ FsMenuModule,
92
+ NgFor,
93
+ DecimalPipe,
94
+ ], template: "<div class=\"status\">\n <small>\n @if (paging.enabled) {\n Showing\n @if (paging.hasManyStrategy) {\n <ng-container [ngTemplateOutlet]=\"limitMenu\"></ng-container>\n of\n @if (many.status === 'many') {\n <a\n (click)=\"manyClick()\"\n [matTooltip]=\"'Calculate number of results'\">\n many\n </a>\n } @else {\n @if (many.status === 'loading') {\n <mat-spinner\n [diameter]=\"15\"\n [strokeWidth]=\"2\">\n </mat-spinner>\n } @else {\n <a\n (click)=\"manyClick()\"\n [matTooltip]=\"'Recalculate number of results'\">\n {{ many.count | number:'1.0':'en-US' }}\n </a>\n }\n }\n } @else {\n @if (paging.records) {\n <ng-container [ngTemplateOutlet]=\"limitMenu\"></ng-container>\n of \n {{ paging.records | number:'1.0':'en-US' }}\n } @else {\n 0\n }\n }\n results\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container>\n }\n <ng-container *ngIf=\"(!paging.enabled) && paging.pageRecords > 0\">\n Showing\n <span *ngIf=\"paging.pageRecords === 1\">\n {{ paging.pageRecords }} result\n </span>\n <span *ngIf=\"paging.pageRecords > 1\">\n {{ paging.pageRecords | number:'1.0':'en-US' }} results\n </span>\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container>\n </ng-container>\n <fs-menu\n [hidden]=\"!sorting.sortingColumn || paging.pageRecords === 0\"\n #orderColumnsMenu>\n <!-- Real sorting columns -->\n <ng-template\n ngFor\n let-column\n [ngForOf]=\"sorting.sortingColumns\">\n <ng-template\n fs-menu-item\n (click)=\"setSortableColumn(column)\">\n <ng-container *ngIf=\"column.title; else sortByTemplate\">\n {{ column.title }}\n </ng-container>\n <ng-template #sortByTemplate>\n <ng-template [ngTemplateOutlet]=\"column.headerTemplate\"></ng-template>\n </ng-template>\n </ng-template>\n </ng-template>\n <!-- Fake sorting columns -->\n <ng-template\n ngFor\n let-column\n [ngForOf]=\"sorting.fakeSortingColumns\">\n <ng-template\n fs-menu-item\n (click)=\"setSortableColumn(column)\">\n {{ column.title }}\n </ng-template>\n </ng-template>\n </fs-menu>\n <ng-template #sortedBy>\n <ng-container *ngIf=\"sorting.sortingColumn\">\n sorted by\n <ng-container *ngIf=\"sorting.sortingColumn.title; else sortByTemplate\">\n <a\n class=\"order-toggle\"\n [fsMenuTriggerFor]=\"orderColumnsMenu\">\n {{ sorting.sortingColumn.title }}\n </a>\n ,\n </ng-container>\n <ng-template #sortByTemplate>\n <a\n class=\"order-toggle\"\n r\n [fsMenuTriggerFor]=\"orderColumnsMenu\">\n <ng-template [ngTemplateOutlet]=\"sorting.sortingColumn.headerTemplate\"></ng-template>\n </a>\n ,\n </ng-template>\n <a\n class=\"order-toggle\"\n (click)=\"toggleDirection()\">\n {{ sorting.sortingColumn.fullNameDirection }}\n </a>\n </ng-container>\n </ng-template>\n </small>\n</div>\n<ng-template #limitMenu>\n <a [fsMenuTriggerFor]=\"limitsMenuTrigger\">\n {{ paging.statusLabel }}\n </a>\n <fs-menu #limitsMenuTrigger>\n <ng-template\n ngFor\n let-limit\n [ngForOf]=\"paging.limits\">\n <ng-template\n fs-menu-item\n (click)=\"setLimit(limit)\">\n {{ limit }}\n </ng-template>\n </ng-template>\n </fs-menu>\n</ng-template>", styles: [":host.hidden-mobile{display:none!important}:host.first-load .status{visibility:hidden}.order-toggle{white-space:nowrap}a{cursor:pointer}mat-spinner{display:inline-block;margin:0 2px;vertical-align:middle}\n"] }]
87
95
  }], propDecorators: { list: [{
88
96
  type: Input
89
97
  }], rows: [{
@@ -97,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
97
105
  type: HostBinding,
98
106
  args: ['class.fs-skeleton-placeholder']
99
107
  }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zdGF0dXMvc3RhdHVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zdGF0dXMvc3RhdHVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7O0FBVTdELE1BQU0sT0FBTyxpQkFBaUI7SUFFWixJQUFJLENBQU87SUFDWCxJQUFJLENBQUM7SUFLZCxTQUFTLENBQVU7SUFFbkIsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7SUFDeEMsTUFBTSxDQUF1QjtJQUM3QixPQUFPLENBQW9CO0lBQzNCLElBQUksR0FHTDtRQUNGLE1BQU0sRUFBRSxNQUFNO1FBQ2QsS0FBSyxFQUFFLENBQUM7S0FDVCxDQUFDO0lBRUksU0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDaEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRXBDLFFBQVE7UUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMs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QUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLHVCQUMxQixJQUFJOzhCQUlULElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFLQyxTQUFTO3NCQUhmLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsa0JBQWtCOztzQkFDOUIsV0FBVzt1QkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9saXN0LWNvbnRyb2xsZXInO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3BhZ2luYXRpb24tY29udHJvbGxlcic7XG5pbXBvcnQgeyBTb3J0aW5nQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvc29ydGluZy1jb250cm9sbGVyJztcbmltcG9ydCB7IFBhZ2luYXRpb25TdHJhdGVneSB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IFNvcnRpbmdEaXJlY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvY29sdW1uLm1vZGVsJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1saXN0LXN0YXR1cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGF0dXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGF0dXMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEZzU3RhdHVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBsaXN0OiBMaXN0O1xuICBASW5wdXQoKSBwdWJsaWMgcm93cztcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZpcnN0LWxvYWQnKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZzLXNrZWxldG9uLXBsYWNlaG9sZGVyJylcbiAgcHVibGljIGZpcnN0TG9hZDogYm9vbGVhbjtcbiAgXG4gIHB1YmxpYyBQYWdpbmF0aW9uU3RyYXRlZ3kgPSBQYWdpbmF0aW9uU3RyYXRlZ3k7XG4gIHB1YmxpYyBwYWdpbmc6IFBhZ2luYXRpb25Db250cm9sbGVyO1xuICBwdWJsaWMgc29ydGluZzogU29ydGluZ0NvbnRyb2xsZXI7XG4gIHB1YmxpYyBtYW55OiB7XG4gICAgc3RhdHVzOiAnbWFueScgfCAnbG9hZGluZycgfCAnbG9hZGVkJztcbiAgICBjb3VudDogbnVtYmVyO1xuICAgIH0gPSB7IFxuICAgICAgc3RhdHVzOiAnbWFueScsXG4gICAgICBjb3VudDogMCxcbiAgICB9O1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfY2RSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnBhZ2luZyA9IHRoaXMubGlzdC5wYWdpbmc7XG4gICAgdGhpcy5zb3J0aW5nID0gdGhpcy5saXN0LnNvcnRpbmc7XG4gICAgdGhpcy5zb3J0aW5nLnNvcnRpbmdDaGFuZ2VkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMubGlzdC5maWx0ZXJzUXVlcnkkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm1hbnkuc3RhdHVzID0gJ21hbnknO1xuICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG1hbnlDbGljaygpIHtcbiAgICB0aGlzLm1hbnkuc3RhdHVzID0gJ2xvYWRpbmcnO1xuICAgIHRoaXMubGlzdC5mZXRjaFJlbW90ZSh7XG4gICAgICAuLi50aGlzLmxpc3QuZmlsdGVyc1F1ZXJ5LFxuICAgICAgb2Zmc2V0OiAwLFxuICAgICAgbGltaXQ6IDAsXG4gICAgICByZWNvcmRDb3VudDogdHJ1ZSxcbiAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLm1hbnkuY291bnQgPSByZXNwb25zZS5wYWdpbmc/LnJlY29yZHMgfHwgMDtcbiAgICAgICAgICB0aGlzLm1hbnkuc3RhdHVzID0gJ2xvYWRlZCc7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm1hbnkuc3RhdHVzID0gJ21hbnknO1xuICAgICAgICAgIHRoaXMubWFueS5jb3VudCA9IG51bGw7XG5cbiAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dChudWxsKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZURpcmVjdGlvbigpIHtcbiAgICBpZiAodGhpcy5zb3J0aW5nLnNvcnRpbmdDb2x1bW4uZGlyZWN0aW9uID09PSAnYXNjJykge1xuICAgICAgdGhpcy5zb3J0aW5nLnNvcnREaXJlY3Rpb24oU29ydGluZ0RpcmVjdGlvbi5kZXNjKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zb3J0aW5nLnNvcnREaXJlY3Rpb24oU29ydGluZ0RpcmVjdGlvbi5hc2MpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRTb3J0YWJsZUNvbHVtbihjb2x1bW4pIHtcbiAgICBpZiAodGhpcy5zb3J0aW5nLnNvcnRpbmdDb2x1bW4gIT09IGNvbHVtbikge1xuICAgICAgdGhpcy5zb3J0aW5nLnNvcnRCeShjb2x1bW4pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRMaW1pdChsaW1pdCkge1xuICAgIHRoaXMucGFnaW5nLnNldExpbWl0KGxpbWl0KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInN0YXR1c1wiPlxuICA8c21hbGw+XG4gICAgQGlmIChwYWdpbmcuZW5hYmxlZCkge1xuICAgICAgU2hvd2luZ1xuICAgICAgQGlmIChwYWdpbmcuaGFzTWFueVN0cmF0ZWd5KSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGltaXRNZW51XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIG9mXG4gICAgICAgIEBpZiAobWFueS5zdGF0dXMgPT09ICdtYW55Jykge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIChjbGljayk9XCJtYW55Q2xpY2soKVwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidDYWxjdWxhdGUgbnVtYmVyIG9mIHJlc3VsdHMnXCI+XG4gICAgICAgICAgICBtYW55XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBAaWYgKG1hbnkuc3RhdHVzID09PSAnbG9hZGluZycpIHtcbiAgICAgICAgICAgIDxtYXQtc3Bpbm5lclxuICAgICAgICAgICAgICBbZGlhbWV0ZXJdPVwiMTVcIlxuICAgICAgICAgICAgICBbc3Ryb2tlV2lkdGhdPVwiMlwiPlxuICAgICAgICAgICAgPC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1hbnlDbGljaygpXCJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInUmVjYWxjdWxhdGUgbnVtYmVyIG9mIHJlc3VsdHMnXCI+XG4gICAgICAgICAgICAgIHt7IG1hbnkuY291bnQgfCBudW1iZXI6JzEuMCc6J2VuLVVTJyB9fVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpZiAocGFnaW5nLnJlY29yZHMpIHtcbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpbWl0TWVudVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIG9mICAgICAgXG4gICAgICAgICAge3sgcGFnaW5nLnJlY29yZHMgfCBudW1iZXI6JzEuMCc6J2VuLVVTJyB9fVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAwXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJlc3VsdHNcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzb3J0ZWRCeVwiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKCFwYWdpbmcuZW5hYmxlZCkgJiYgcGFnaW5nLnBhZ2VSZWNvcmRzID4gMFwiPlxuICAgICAgU2hvd2luZ1xuICAgICAgPHNwYW4gKm5nSWY9XCJwYWdpbmcucGFnZVJlY29yZHMgPT09IDFcIj5cbiAgICAgICAge3sgcGFnaW5nLnBhZ2VSZWNvcmRzIH19IHJlc3VsdFxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJwYWdpbmcucGFnZVJlY29yZHMgPiAxXCI+XG4gICAgICAgIHt7IHBhZ2luZy5wYWdlUmVjb3JkcyB8IG51bWJlcjonMS4wJzonZW4tVVMnIH19IHJlc3VsdHNcbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzb3J0ZWRCeVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxmcy1saXN0LXNhdmVkLWZpbHRlcnMgY2xhc3M9XCJzYXZlZC1maWx0ZXJzXCI+PC9mcy1saXN0LXNhdmVkLWZpbHRlcnM+XG4gICAgPGZzLW1lbnVcbiAgICAgICAgW2hpZGRlbl09XCIhc29ydGluZy5zb3J0aW5nQ29sdW1uIHx8IHBhZ2luZy5wYWdlUmVjb3JkcyA9PT0gMFwiXG4gICAgICAgICNvcmRlckNvbHVtbnNNZW51PlxuICAgICAgPCEtLSBSZWFsIHNvcnRpbmcgY29sdW1ucyAtLT5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgIG5nRm9yXG4gICAgICAgICAgbGV0LWNvbHVtblxuICAgICAgICAgIFtuZ0Zvck9mXT1cInNvcnRpbmcuc29ydGluZ0NvbHVtbnNcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBmcy1tZW51LWl0ZW1cbiAgICAgICAgICAgIChjbGljayk9XCJzZXRTb3J0YWJsZUNvbHVtbihjb2x1bW4pXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50aXRsZTsgZWxzZSBzb3J0QnlUZW1wbGF0ZVwiPlxuICAgICAgICAgICAge3sgY29sdW1uLnRpdGxlIH19XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNzb3J0QnlUZW1wbGF0ZT5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb2x1bW4uaGVhZGVyVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPCEtLSBGYWtlIHNvcnRpbmcgY29sdW1ucyAtLT5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgIG5nRm9yXG4gICAgICAgICAgbGV0LWNvbHVtblxuICAgICAgICAgIFtuZ0Zvck9mXT1cInNvcnRpbmcuZmFrZVNvcnRpbmdDb2x1bW5zXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgZnMtbWVudS1pdGVtXG4gICAgICAgICAgICAoY2xpY2spPVwic2V0U29ydGFibGVDb2x1bW4oY29sdW1uKVwiPlxuICAgICAgICAgIHt7IGNvbHVtbi50aXRsZSB9fVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2ZzLW1lbnU+XG4gICAgPG5nLXRlbXBsYXRlICNzb3J0ZWRCeT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzb3J0aW5nLnNvcnRpbmdDb2x1bW5cIj5cbiAgICAgICAgc29ydGVkIGJ5XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzb3J0aW5nLnNvcnRpbmdDb2x1bW4udGl0bGU7IGVsc2Ugc29ydEJ5VGVtcGxhdGVcIj5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgICBjbGFzcz1cIm9yZGVyLXRvZ2dsZVwiXG4gICAgICAgICAgICAgIFtmc01lbnVUcmlnZ2VyRm9yXT1cIm9yZGVyQ29sdW1uc01lbnVcIj5cbiAgICAgICAgICAgIHt7IHNvcnRpbmcuc29ydGluZ0NvbHVtbi50aXRsZSB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgICAsXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3NvcnRCeVRlbXBsYXRlPlxuICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGNsYXNzPVwib3JkZXItdG9nZ2xlXCJcbiAgICAgICAgICAgICAgclxuICAgICAgICAgICAgICBbZnNNZW51VHJpZ2dlckZvcl09XCJvcmRlckNvbHVtbnNNZW51XCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwic29ydGluZy5zb3J0aW5nQ29sdW1uLmhlYWRlclRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgLFxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJvcmRlci10b2dnbGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZURpcmVjdGlvbigpXCI+XG4gICAgICAgICAge3sgc29ydGluZy5zb3J0aW5nQ29sdW1uLmZ1bGxOYW1lRGlyZWN0aW9uIH19XG4gICAgICAgIDwvYT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvc21hbGw+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjbGltaXRNZW51PlxuICA8YSBbZnNNZW51VHJpZ2dlckZvcl09XCJsaW1pdHNNZW51VHJpZ2dlclwiPlxuICAgIHt7IHBhZ2luZy5zdGF0dXNMYWJlbCB9fVxuICA8L2E+XG4gIDxmcy1tZW51ICNsaW1pdHNNZW51VHJpZ2dlcj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgbmdGb3JcbiAgICAgICAgbGV0LWxpbWl0XG4gICAgICAgIFtuZ0Zvck9mXT1cInBhZ2luZy5saW1pdHNcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgIGZzLW1lbnUtaXRlbVxuICAgICAgICAgIChjbGljayk9XCJzZXRMaW1pdChsaW1pdClcIj5cbiAgICAgICAge3sgbGltaXQgfX1cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1tZW51PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zdGF0dXMvc3RhdHVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zdGF0dXMvc3RhdHVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQW9CaEQsTUFBTSxPQUFPLGlCQUFpQjtJQUVaLElBQUksQ0FBTztJQUNYLElBQUksQ0FBQztJQUtkLFNBQVMsQ0FBVTtJQUVuQixrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztJQUN4QyxNQUFNLENBQXVCO0lBQzdCLE9BQU8sQ0FB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QU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFTSxRQUFRLENBQUMsS0FBSztRQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO3VHQTVGVSxpQkFBaUI7MkZBQWpCLGlCQUFpQiw2UEMxQzlCLDIySEE2SGMsd1FENUZOLGdCQUFnQixvSkFDaEIsVUFBVSxpUkFDVixrQkFBa0IsK0tBQ2xCLElBQUksNEZBQ0osWUFBWSx3WkFDWixLQUFLLDhHQUNMLFdBQVc7OzJGQUdOLGlCQUFpQjtrQkFqQjdCLFNBQVM7K0JBQ0ksZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU0sdUJBQzFCLElBQUksY0FDYixJQUFJLFdBQ1A7d0JBQ0wsZ0JBQWdCO3dCQUNoQixVQUFVO3dCQUNWLGtCQUFrQjt3QkFDbEIsSUFBSTt3QkFDSixZQUFZO3dCQUNaLEtBQUs7d0JBQ0wsV0FBVztxQkFDZDs4QkFJYSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBS0MsU0FBUztzQkFIZixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGtCQUFrQjs7c0JBQzlCLFdBQVc7dUJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTGlzdCB9IGZyb20gJy4uLy4uL2NsYXNzZXMvbGlzdC1jb250cm9sbGVyJztcbmltcG9ydCB7IFBhZ2luYXRpb25Db250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9wYWdpbmF0aW9uLWNvbnRyb2xsZXInO1xuaW1wb3J0IHsgU29ydGluZ0NvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3NvcnRpbmctY29udHJvbGxlcic7XG5pbXBvcnQgeyBQYWdpbmF0aW9uU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBTb3J0aW5nRGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbHVtbi5tb2RlbCc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0LCBOZ0lmLCBOZ0ZvciwgRGVjaW1hbFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBGc01lbnVNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9tZW51JztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZzLWxpc3Qtc3RhdHVzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3RhdHVzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdGF0dXMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiB0cnVlLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBNYXRUb29sdGlwLFxuICAgICAgICBNYXRQcm9ncmVzc1NwaW5uZXIsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIEZzTWVudU1vZHVsZSxcbiAgICAgICAgTmdGb3IsXG4gICAgICAgIERlY2ltYWxQaXBlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzU3RhdHVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBsaXN0OiBMaXN0O1xuICBASW5wdXQoKSBwdWJsaWMgcm93cztcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZpcnN0LWxvYWQnKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZzLXNrZWxldG9uLXBsYWNlaG9sZGVyJylcbiAgcHVibGljIGZpcnN0TG9hZDogYm9vbGVhbjtcbiAgXG4gIHB1YmxpYyBQYWdpbmF0aW9uU3RyYXRlZ3kgPSBQYWdpbmF0aW9uU3RyYXRlZ3k7XG4gIHB1YmxpYyBwYWdpbmc6IFBhZ2luYXRpb25Db250cm9sbGVyO1xuICBwdWJsaWMgc29ydGluZzogU29ydGluZ0NvbnRyb2xsZXI7XG4gIHB1YmxpYyBtYW55OiB7XG4gICAgc3RhdHVzOiAnbWFueScgfCAnbG9hZGluZycgfCAnbG9hZGVkJztcbiAgICBjb3VudDogbnVtYmVyO1xuICAgIH0gPSB7IFxuICAgICAgc3RhdHVzOiAnbWFueScsXG4gICAgICBjb3VudDogMCxcbiAgICB9O1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfY2RSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnBhZ2luZyA9IHRoaXMubGlzdC5wYWdpbmc7XG4gICAgdGhpcy5zb3J0aW5nID0gdGhpcy5saXN0LnNvcnRpbmc7XG4gICAgdGhpcy5zb3J0aW5nLnNvcnRpbmdDaGFuZ2VkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMubGlzdC5maWx0ZXJzUXVlcnkkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm1hbnkuc3RhdHVzID0gJ21hbnknO1xuICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG1hbnlDbGljaygpIHtcbiAgICB0aGlzLm1hbnkuc3RhdHVzID0gJ2xvYWRpbmcnO1xuICAgIHRoaXMubGlzdC5mZXRjaFJlbW90ZSh7XG4gICAgICAuLi50aGlzLmxpc3QuZmlsdGVyc1F1ZXJ5LFxuICAgICAgb2Zmc2V0OiAwLFxuICAgICAgbGltaXQ6IDAsXG4gICAgICByZWNvcmRDb3VudDogdHJ1ZSxcbiAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLm1hbnkuY291bnQgPSByZXNwb25zZS5wYWdpbmc/LnJlY29yZHMgfHwgMDtcbiAgICAgICAgICB0aGlzLm1hbnkuc3RhdHVzID0gJ2xvYWRlZCc7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm1hbnkuc3RhdHVzID0gJ21hbnknO1xuICAgICAgICAgIHRoaXMubWFueS5jb3VudCA9IG51bGw7XG5cbiAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dChudWxsKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZURpcmVjdGlvbigpIHtcbiAgICBpZiAodGhpcy5zb3J0aW5nLnNvcnRpbmdDb2x1bW4uZGlyZWN0aW9uID09PSAnYXNjJykge1xuICAgICAgdGhpcy5zb3J0aW5nLnNvcnREaXJlY3Rpb24oU29ydGluZ0RpcmVjdGlvbi5kZXNjKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zb3J0aW5nLnNvcnREaXJlY3Rpb24oU29ydGluZ0RpcmVjdGlvbi5hc2MpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRTb3J0YWJsZUNvbHVtbihjb2x1bW4pIHtcbiAgICBpZiAodGhpcy5zb3J0aW5nLnNvcnRpbmdDb2x1bW4gIT09IGNvbHVtbikge1xuICAgICAgdGhpcy5zb3J0aW5nLnNvcnRCeShjb2x1bW4pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRMaW1pdChsaW1pdCkge1xuICAgIHRoaXMucGFnaW5nLnNldExpbWl0KGxpbWl0KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInN0YXR1c1wiPlxuICA8c21hbGw+XG4gICAgQGlmIChwYWdpbmcuZW5hYmxlZCkge1xuICAgICAgU2hvd2luZ1xuICAgICAgQGlmIChwYWdpbmcuaGFzTWFueVN0cmF0ZWd5KSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGltaXRNZW51XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIG9mXG4gICAgICAgIEBpZiAobWFueS5zdGF0dXMgPT09ICdtYW55Jykge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIChjbGljayk9XCJtYW55Q2xpY2soKVwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidDYWxjdWxhdGUgbnVtYmVyIG9mIHJlc3VsdHMnXCI+XG4gICAgICAgICAgICBtYW55XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBAaWYgKG1hbnkuc3RhdHVzID09PSAnbG9hZGluZycpIHtcbiAgICAgICAgICAgIDxtYXQtc3Bpbm5lclxuICAgICAgICAgICAgICBbZGlhbWV0ZXJdPVwiMTVcIlxuICAgICAgICAgICAgICBbc3Ryb2tlV2lkdGhdPVwiMlwiPlxuICAgICAgICAgICAgPC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1hbnlDbGljaygpXCJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInUmVjYWxjdWxhdGUgbnVtYmVyIG9mIHJlc3VsdHMnXCI+XG4gICAgICAgICAgICAgIHt7IG1hbnkuY291bnQgfCBudW1iZXI6JzEuMCc6J2VuLVVTJyB9fVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpZiAocGFnaW5nLnJlY29yZHMpIHtcbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpbWl0TWVudVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIG9mICAgICAgXG4gICAgICAgICAge3sgcGFnaW5nLnJlY29yZHMgfCBudW1iZXI6JzEuMCc6J2VuLVVTJyB9fVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAwXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJlc3VsdHNcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzb3J0ZWRCeVwiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKCFwYWdpbmcuZW5hYmxlZCkgJiYgcGFnaW5nLnBhZ2VSZWNvcmRzID4gMFwiPlxuICAgICAgU2hvd2luZ1xuICAgICAgPHNwYW4gKm5nSWY9XCJwYWdpbmcucGFnZVJlY29yZHMgPT09IDFcIj5cbiAgICAgICAge3sgcGFnaW5nLnBhZ2VSZWNvcmRzIH19IHJlc3VsdFxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJwYWdpbmcucGFnZVJlY29yZHMgPiAxXCI+XG4gICAgICAgIHt7IHBhZ2luZy5wYWdlUmVjb3JkcyB8IG51bWJlcjonMS4wJzonZW4tVVMnIH19IHJlc3VsdHNcbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzb3J0ZWRCeVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxmcy1tZW51XG4gICAgICAgIFtoaWRkZW5dPVwiIXNvcnRpbmcuc29ydGluZ0NvbHVtbiB8fCBwYWdpbmcucGFnZVJlY29yZHMgPT09IDBcIlxuICAgICAgICAjb3JkZXJDb2x1bW5zTWVudT5cbiAgICAgIDwhLS0gUmVhbCBzb3J0aW5nIGNvbHVtbnMgLS0+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICBuZ0ZvclxuICAgICAgICAgIGxldC1jb2x1bW5cbiAgICAgICAgICBbbmdGb3JPZl09XCJzb3J0aW5nLnNvcnRpbmdDb2x1bW5zXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgZnMtbWVudS1pdGVtXG4gICAgICAgICAgICAoY2xpY2spPVwic2V0U29ydGFibGVDb2x1bW4oY29sdW1uKVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udGl0bGU7IGVsc2Ugc29ydEJ5VGVtcGxhdGVcIj5cbiAgICAgICAgICAgIHt7IGNvbHVtbi50aXRsZSB9fVxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc29ydEJ5VGVtcGxhdGU+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sdW1uLmhlYWRlclRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwhLS0gRmFrZSBzb3J0aW5nIGNvbHVtbnMgLS0+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICBuZ0ZvclxuICAgICAgICAgIGxldC1jb2x1bW5cbiAgICAgICAgICBbbmdGb3JPZl09XCJzb3J0aW5nLmZha2VTb3J0aW5nQ29sdW1uc1wiPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIGZzLW1lbnUtaXRlbVxuICAgICAgICAgICAgKGNsaWNrKT1cInNldFNvcnRhYmxlQ29sdW1uKGNvbHVtbilcIj5cbiAgICAgICAgICB7eyBjb2x1bW4udGl0bGUgfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9mcy1tZW51PlxuICAgIDxuZy10ZW1wbGF0ZSAjc29ydGVkQnk+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic29ydGluZy5zb3J0aW5nQ29sdW1uXCI+XG4gICAgICAgIHNvcnRlZCBieVxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic29ydGluZy5zb3J0aW5nQ29sdW1uLnRpdGxlOyBlbHNlIHNvcnRCeVRlbXBsYXRlXCI+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgICAgY2xhc3M9XCJvcmRlci10b2dnbGVcIlxuICAgICAgICAgICAgICBbZnNNZW51VHJpZ2dlckZvcl09XCJvcmRlckNvbHVtbnNNZW51XCI+XG4gICAgICAgICAgICB7eyBzb3J0aW5nLnNvcnRpbmdDb2x1bW4udGl0bGUgfX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgLFxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNzb3J0QnlUZW1wbGF0ZT5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgICBjbGFzcz1cIm9yZGVyLXRvZ2dsZVwiXG4gICAgICAgICAgICAgIHJcbiAgICAgICAgICAgICAgW2ZzTWVudVRyaWdnZXJGb3JdPVwib3JkZXJDb2x1bW5zTWVudVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNvcnRpbmcuc29ydGluZ0NvbHVtbi5oZWFkZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9hPlxuICAgICAgICAgICxcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwib3JkZXItdG9nZ2xlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEaXJlY3Rpb24oKVwiPlxuICAgICAgICAgIHt7IHNvcnRpbmcuc29ydGluZ0NvbHVtbi5mdWxsTmFtZURpcmVjdGlvbiB9fVxuICAgICAgICA8L2E+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L3NtYWxsPlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI2xpbWl0TWVudT5cbiAgPGEgW2ZzTWVudVRyaWdnZXJGb3JdPVwibGltaXRzTWVudVRyaWdnZXJcIj5cbiAgICB7eyBwYWdpbmcuc3RhdHVzTGFiZWwgfX1cbiAgPC9hPlxuICA8ZnMtbWVudSAjbGltaXRzTWVudVRyaWdnZXI+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIG5nRm9yXG4gICAgICAgIGxldC1saW1pdFxuICAgICAgICBbbmdGb3JPZl09XCJwYWdpbmcubGltaXRzXCI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICBmcy1tZW51LWl0ZW1cbiAgICAgICAgICAoY2xpY2spPVwic2V0TGltaXQobGltaXQpXCI+XG4gICAgICAgIHt7IGxpbWl0IH19XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZnMtbWVudT5cbjwvbmctdGVtcGxhdGU+Il19
@@ -8,11 +8,14 @@ export class FsListCellDirective {
8
8
  return true;
9
9
  }
10
10
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsListCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
11
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsListCellDirective, selector: "[fs-list-cell]", inputs: { colspan: "colspan", align: "align", className: ["class", "className"] }, ngImport: i0 });
11
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsListCellDirective, isStandalone: true, selector: "[fs-list-cell]", inputs: { colspan: "colspan", align: "align", className: ["class", "className"] }, ngImport: i0 });
12
12
  }
13
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsListCellDirective, decorators: [{
14
14
  type: Directive,
15
- args: [{ selector: '[fs-list-cell]' }]
15
+ args: [{
16
+ selector: '[fs-list-cell]',
17
+ standalone: true
18
+ }]
16
19
  }], propDecorators: { colspan: [{
17
20
  type: Input
18
21
  }], align: [{
@@ -21,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
21
24
  type: Input,
22
25
  args: ['class']
23
26
  }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvY2VsbC9jZWxsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJakQsTUFBTSxPQUFPLG1CQUFtQjtJQUVkLE9BQU8sQ0FBQztJQUNSLEtBQUssQ0FBUztJQUNQLFNBQVMsQ0FBb0I7SUFFN0MsTUFBTSxDQUFDLHNCQUFzQixDQUNsQyxTQUE4QixFQUM5QixPQUFnQjtRQVdoQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7dUdBcEJVLG1CQUFtQjsyRkFBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFOzhCQUd2QixPQUFPO3NCQUF0QixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ2lCLFNBQVM7c0JBQS9CLEtBQUs7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbZnMtbGlzdC1jZWxsXScgfSlcbmV4cG9ydCBjbGFzcyBGc0xpc3RDZWxsRGlyZWN0aXZlIHtcblxuICBASW5wdXQoKSBwdWJsaWMgY29sc3BhbjtcbiAgQElucHV0KCkgcHVibGljIGFsaWduOiBzdHJpbmc7XG4gIEBJbnB1dCgnY2xhc3MnKSBwdWJsaWMgY2xhc3NOYW1lOiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICBwdWJsaWMgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQoXG4gICAgZGlyZWN0aXZlOiBGc0xpc3RDZWxsRGlyZWN0aXZlLFxuICAgIGNvbnRleHQ6IHVua25vd24sXG4gICk6IGNvbnRleHQgaXMge1xuICAgICRpbXBsaWNpdDogYW55LFxuICAgIHJvdzogYW55LFxuICAgIGluZGV4OiBudW1iZXIsXG4gICAgZ3JvdXA6IGFueSxcbiAgICBncm91cFJvdzogYW55LFxuICAgIGdyb3VwSW5kZXg6IG51bWJlcixcbiAgICBncm91cENoaWxkcmVuOiBhbnlbXSxcbiAgICBleHBhbmRlZDogYm9vbGVhbixcbiAgfSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvY2VsbC9jZWxsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPakQsTUFBTSxPQUFPLG1CQUFtQjtJQUVkLE9BQU8sQ0FBQztJQUNSLEtBQUssQ0FBUztJQUNQLFNBQVMsQ0FBb0I7SUFFN0MsTUFBTSxDQUFDLHNCQUFzQixDQUNsQyxTQUE4QixFQUM5QixPQUFnQjtRQVdoQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7dUdBcEJVLG1CQUFtQjsyRkFBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFHaUIsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNpQixTQUFTO3NCQUEvQixLQUFLO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZnMtbGlzdC1jZWxsXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBGc0xpc3RDZWxsRGlyZWN0aXZlIHtcblxuICBASW5wdXQoKSBwdWJsaWMgY29sc3BhbjtcbiAgQElucHV0KCkgcHVibGljIGFsaWduOiBzdHJpbmc7XG4gIEBJbnB1dCgnY2xhc3MnKSBwdWJsaWMgY2xhc3NOYW1lOiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICBwdWJsaWMgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQoXG4gICAgZGlyZWN0aXZlOiBGc0xpc3RDZWxsRGlyZWN0aXZlLFxuICAgIGNvbnRleHQ6IHVua25vd24sXG4gICk6IGNvbnRleHQgaXMge1xuICAgICRpbXBsaWNpdDogYW55LFxuICAgIHJvdzogYW55LFxuICAgIGluZGV4OiBudW1iZXIsXG4gICAgZ3JvdXA6IGFueSxcbiAgICBncm91cFJvdzogYW55LFxuICAgIGdyb3VwSW5kZXg6IG51bWJlcixcbiAgICBncm91cENoaWxkcmVuOiBhbnlbXSxcbiAgICBleHBhbmRlZDogYm9vbGVhbixcbiAgfSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
@@ -68,12 +68,13 @@ export class FsListColumnDirective {
68
68
  this._columnAttributes.className = value;
69
69
  }
70
70
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsListColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
71
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsListColumnDirective, selector: "fs-list-column", inputs: { visible: ["show", "visible"], title: "title", name: "name", customizable: "customizable", sortable: "sortable", sortableDefault: "sortableDefault", sortableDirection: "sortableDirection", direction: "direction", align: "align", width: "width", className: ["class", "className"] }, queries: [{ propertyName: "headerTemplate", first: true, predicate: FsListHeaderDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "headerConfigs", first: true, predicate: FsListHeaderDirective, descendants: true, static: true }, { propertyName: "groupHeaderTemplate", first: true, predicate: FsListGroupHeaderDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "groupHeaderConfigs", first: true, predicate: FsListGroupHeaderDirective, descendants: true, static: true }, { propertyName: "groupFooterTemplate", first: true, predicate: FsListGroupFooterDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "groupFooterConfigs", first: true, predicate: FsListGroupFooterDirective, descendants: true, static: true }, { propertyName: "cellTemplate", first: true, predicate: FsListCellDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "cellConfigs", first: true, predicate: FsListCellDirective, descendants: true, static: true }, { propertyName: "footerTemplate", first: true, predicate: FsListFooterDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "footerConfigs", first: true, predicate: FsListFooterDirective, descendants: true, static: true }, { propertyName: "expandTrigger", predicate: FsListGroupExpandTriggerDirective, descendants: true }], ngImport: i0 });
71
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsListColumnDirective, isStandalone: true, selector: "fs-list-column", inputs: { visible: ["show", "visible"], title: "title", name: "name", customizable: "customizable", sortable: "sortable", sortableDefault: "sortableDefault", sortableDirection: "sortableDirection", direction: "direction", align: "align", width: "width", className: ["class", "className"] }, queries: [{ propertyName: "headerTemplate", first: true, predicate: FsListHeaderDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "headerConfigs", first: true, predicate: FsListHeaderDirective, descendants: true, static: true }, { propertyName: "groupHeaderTemplate", first: true, predicate: FsListGroupHeaderDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "groupHeaderConfigs", first: true, predicate: FsListGroupHeaderDirective, descendants: true, static: true }, { propertyName: "groupFooterTemplate", first: true, predicate: FsListGroupFooterDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "groupFooterConfigs", first: true, predicate: FsListGroupFooterDirective, descendants: true, static: true }, { propertyName: "cellTemplate", first: true, predicate: FsListCellDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "cellConfigs", first: true, predicate: FsListCellDirective, descendants: true, static: true }, { propertyName: "footerTemplate", first: true, predicate: FsListFooterDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "footerConfigs", first: true, predicate: FsListFooterDirective, descendants: true, static: true }, { propertyName: "expandTrigger", predicate: FsListGroupExpandTriggerDirective, descendants: true }], ngImport: i0 });
72
72
  }
73
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsListColumnDirective, decorators: [{
74
74
  type: Directive,
75
75
  args: [{
76
76
  selector: 'fs-list-column',
77
+ standalone: true,
77
78
  }]
78
79
  }], ctorParameters: () => [], propDecorators: { headerTemplate: [{
79
80
  type: ContentChild,
@@ -133,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
133
134
  type: Input,
134
135
  args: ['class']
135
136
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy9jb2x1bW4vY29sdW1uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDM0csT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBTW5FLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsU0FBUztJQUVGLGNBQWMsQ0FBbUI7SUFHakMsYUFBYSxDQUFhO0lBRWpDLFFBQVE7SUFFRCxtQkFBbUIsQ0FBbUI7SUFHdEMsa0JBQWtCLENBQWE7SUFFdEMsZUFBZTtJQUVSLG1CQUFtQixDQUFtQjtJQUd0QyxrQkFBa0IsQ0FBYTtJQUV0QyxVQUFVO0lBRUgsYUFBYSxDQUErQztJQUVuRSxPQUFPO0lBRUEsWUFBWSxDQUFtQjtJQUcvQixXQUFXLENBQWE7SUFFL0IsU0FBUztJQUVGLGNBQWMsQ0FBbUI7SUFHakMsYUFBYSxDQUFhO0lBRWhCLGlCQUFpQixHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUU1RCxnQkFBZSxDQUFDO0lBRWhCLElB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QUtuRCxhQUFhO3NCQURuQixlQUFlO3VCQUFDLGlDQUFpQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFLbEUsWUFBWTtzQkFEbEIsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJL0QsV0FBVztzQkFEakIsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSzVDLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSWpFLGFBQWE7c0JBRG5CLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQVkxQyxPQUFPO3NCQURqQixLQUFLO3VCQUFDLE1BQU07Z0JBTUYsS0FBSztzQkFEZixLQUFLO2dCQU1LLElBQUk7c0JBRGQsS0FBSztnQkFNSyxZQUFZO3NCQUR0QixLQUFLO2dCQU1LLFFBQVE7c0JBRGxCLEtBQUs7Z0JBTUssZUFBZTtzQkFEekIsS0FBSztnQkFNSyxpQkFBaUI7c0JBRDNCLEtBQUs7Z0JBVUssU0FBUztzQkFEbkIsS0FBSztnQkFNSyxLQUFLO3NCQURmLEtBQUs7Z0JBTUssS0FBSztzQkFEZixLQUFLO2dCQU1LLFNBQVM7c0JBRG5CLEtBQUs7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLy8gRGlyZWN0aXZlc1xuaW1wb3J0IHsgQ2VsbENvbmZpZyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ29sdW1uQXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL21vZGVscy9jb2x1bW4tYXR0cmlidXRlcyc7XG5pbXBvcnQgeyBGc0xpc3RDZWxsRGlyZWN0aXZlIH0gZnJvbSAnLi4vY2VsbC9jZWxsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0xpc3RGb290ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9mb290ZXIvZm9vdGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0xpc3RHcm91cEV4cGFuZFRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9ncm91cC1leHBhbmQtdHJpZ2dlci9ncm91cC1leHBhbmQtdHJpZ2dlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNMaXN0R3JvdXBGb290ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9ncm91cC1mb290ZXIvZ3JvdXAtZm9vdGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0xpc3RHcm91cEhlYWRlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2dyb3VwLWhlYWRlci9ncm91cC1oZWFkZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzTGlzdEhlYWRlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2hlYWRlci9oZWFkZXIuZGlyZWN0aXZlJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdmcy1saXN0LWNvbHVtbicsXG59KVxuZXhwb3J0IGNsYXNzIEZzTGlzdENvbHVtbkRpcmVjdGl2ZSB7XG5cbiAgLy8gSGVhZGVyXG4gIEBDb250ZW50Q2hpbGQoRnNMaXN0SGVhZGVyRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoRnNMaXN0SGVhZGVyRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgaGVhZGVyQ29uZmlnczogQ2VsbENvbmZpZztcblxuICAvLyBHcm91cFxuICBAQ29udGVudENoaWxkKEZzTGlzdEdyb3VwSGVhZGVyRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGdyb3VwSGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZChGc0xpc3RHcm91cEhlYWRlckRpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGdyb3VwSGVhZGVyQ29uZmlnczogQ2VsbENvbmZpZztcblxuICAvLyBHcm91cCBGb290ZXJcbiAgQENvbnRlbnRDaGlsZChGc0xpc3RHcm91cEZvb3RlckRpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBncm91cEZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoRnNMaXN0R3JvdXBGb290ZXJEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBncm91cEZvb3RlckNvbmZpZ3M6IENlbGxDb25maWc7XG5cbiAgLy8gVHJpZ2dlclxuICBAQ29udGVudENoaWxkcmVuKEZzTGlzdEdyb3VwRXhwYW5kVHJpZ2dlckRpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgZXhwYW5kVHJpZ2dlcjogUXVlcnlMaXN0PEZzTGlzdEdyb3VwRXhwYW5kVHJpZ2dlckRpcmVjdGl2ZT47XG5cbiAgLy8gQ2VsbFxuICBAQ29udGVudENoaWxkKEZzTGlzdENlbGxEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgY2VsbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoRnNMaXN0Q2VsbERpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGNlbGxDb25maWdzOiBDZWxsQ29uZmlnO1xuXG4gIC8vIEZvb3RlclxuICBAQ29udGVudENoaWxkKEZzTGlzdEZvb3RlckRpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKEZzTGlzdEZvb3RlckRpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGZvb3RlckNvbmZpZ3M6IENlbGxDb25maWc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY29sdW1uQXR0cmlidXRlcyA9IG5ldyBDb2x1bW5BdHRyaWJ1dGVzKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBnZXQgYXR0cmlidXRlcygpOiBDb2x1bW5BdHRyaWJ1dGVzIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1uQXR0cmlidXRlcztcbiAgfVxuXG4gIEBJbnB1dCgnc2hvdycpXG4gIHB1YmxpYyBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2NvbHVtbkF0dHJpYnV0ZXMudmlzaWJsZSA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0aXRsZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fY29sdW1uQXR0cmlidXRlcy50aXRsZSA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb2x1bW5BdHRyaWJ1dGVzLm5hbWUgPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY3VzdG9taXphYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fY29sdW1uQXR0cmlidXRlcy5jdXN0b21pemFibGUgPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc29ydGFibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9jb2x1bW5BdHRyaWJ1dGVzLnNvcnRhYmxlID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNvcnRhYmxlRGVmYXVsdCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2NvbHVtbkF0dHJpYnV0ZXMuc29ydGFibGVEZWZhdWx0ID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNvcnRhYmxlRGlyZWN0aW9uKHZhbHVlOiAnYXNjJyB8ICdkZXNjJykge1xuICAgIHRoaXMuc29ydGFibGUgPSB0cnVlO1xuICAgIHRoaXMuX2NvbHVtbkF0dHJpYnV0ZXMuZGlyZWN0aW9uID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlyZWN0aW9uKHZhbHVlOiAnYXNjJyB8ICdkZXNjJykge1xuICAgIHRoaXMuX2NvbHVtbkF0dHJpYnV0ZXMuZGlyZWN0aW9uID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFsaWduKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb2x1bW5BdHRyaWJ1dGVzLmFsaWduID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHdpZHRoKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb2x1bW5BdHRyaWJ1dGVzLndpZHRoID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoJ2NsYXNzJylcbiAgcHVibGljIHNldCBjbGFzc05hbWUodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5fY29sdW1uQXR0cmlidXRlcy5jbGFzc05hbWUgPSB2YWx1ZTtcbiAgfVxuXG59XG4iXX0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy9jb2x1bW4vY29sdW1uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDM0csT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBT25FLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsU0FBUztJQUVGLGNBQWMsQ0FBbUI7SUFHakMsYUFBYSxDQUFhO0lBRWpDLFFBQVE7SUFFRCxtQkFBbUIsQ0FBbUI7SUFHdEMsa0JBQWtCLENBQWE7SUFFdEMsZUFBZTtJQUVSLG1CQUFtQixDQUFtQjtJQUd0QyxrQkFBa0IsQ0FBYTtJQUV0QyxVQUFVO0lBRUgsYUFBYSxDQUErQztJQUVuRSxPQUFPO0lBRUEsWUFBWSxDQUFtQjtJQUcvQixXQUFXLENBQWE7SUFFL0IsU0FBUztJQUVGLGNBQWMsQ0FBbUI7SUFHakMsYUFBYSxDQUFhO0lBRWhCLGlCQUFpQixHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUU1RCxnQkFBZSxDQUFDO0lBRWhCLElB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TUFBTSxFQUFFLElBQUksRUFBRTtnQkFLbkQsYUFBYTtzQkFEbkIsZUFBZTt1QkFBQyxpQ0FBaUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBS2xFLFlBQVk7c0JBRGxCLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSS9ELFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUs1QyxjQUFjO3NCQURwQixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlqRSxhQUFhO3NCQURuQixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFZMUMsT0FBTztzQkFEakIsS0FBSzt1QkFBQyxNQUFNO2dCQU1GLEtBQUs7c0JBRGYsS0FBSztnQkFNSyxJQUFJO3NCQURkLEtBQUs7Z0JBTUssWUFBWTtzQkFEdEIsS0FBSztnQkFNSyxRQUFRO3NCQURsQixLQUFLO2dCQU1LLGVBQWU7c0JBRHpCLEtBQUs7Z0JBTUssaUJBQWlCO3NCQUQzQixLQUFLO2dCQVVLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBTUssS0FBSztzQkFEZixLQUFLO2dCQU1LLEtBQUs7c0JBRGYsS0FBSztnQkFNSyxTQUFTO3NCQURuQixLQUFLO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIERpcmVjdGl2ZXNcbmltcG9ydCB7IENlbGxDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENvbHVtbkF0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29sdW1uLWF0dHJpYnV0ZXMnO1xuaW1wb3J0IHsgRnNMaXN0Q2VsbERpcmVjdGl2ZSB9IGZyb20gJy4uL2NlbGwvY2VsbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNMaXN0Rm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZm9vdGVyL2Zvb3Rlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNMaXN0R3JvdXBFeHBhbmRUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZ3JvdXAtZXhwYW5kLXRyaWdnZXIvZ3JvdXAtZXhwYW5kLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzTGlzdEdyb3VwRm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZ3JvdXAtZm9vdGVyL2dyb3VwLWZvb3Rlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNMaXN0R3JvdXBIZWFkZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9ncm91cC1oZWFkZXIvZ3JvdXAtaGVhZGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0xpc3RIZWFkZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9oZWFkZXIvaGVhZGVyLmRpcmVjdGl2ZSc7XG5cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdmcy1saXN0LWNvbHVtbicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRnNMaXN0Q29sdW1uRGlyZWN0aXZlIHtcblxuICAvLyBIZWFkZXJcbiAgQENvbnRlbnRDaGlsZChGc0xpc3RIZWFkZXJEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZChGc0xpc3RIZWFkZXJEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBoZWFkZXJDb25maWdzOiBDZWxsQ29uZmlnO1xuXG4gIC8vIEdyb3VwXG4gIEBDb250ZW50Q2hpbGQoRnNMaXN0R3JvdXBIZWFkZXJEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZ3JvdXBIZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKEZzTGlzdEdyb3VwSGVhZGVyRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZ3JvdXBIZWFkZXJDb25maWdzOiBDZWxsQ29uZmlnO1xuXG4gIC8vIEdyb3VwIEZvb3RlclxuICBAQ29udGVudENoaWxkKEZzTGlzdEdyb3VwRm9vdGVyRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGdyb3VwRm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZChGc0xpc3RHcm91cEZvb3RlckRpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGdyb3VwRm9vdGVyQ29uZmlnczogQ2VsbENvbmZpZztcblxuICAvLyBUcmlnZ2VyXG4gIEBDb250ZW50Q2hpbGRyZW4oRnNMaXN0R3JvdXBFeHBhbmRUcmlnZ2VyRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHB1YmxpYyBleHBhbmRUcmlnZ2VyOiBRdWVyeUxpc3Q8RnNMaXN0R3JvdXBFeHBhbmRUcmlnZ2VyRGlyZWN0aXZlPjtcblxuICAvLyBDZWxsXG4gIEBDb250ZW50Q2hpbGQoRnNMaXN0Q2VsbERpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBjZWxsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZChGc0xpc3RDZWxsRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgY2VsbENvbmZpZ3M6IENlbGxDb25maWc7XG5cbiAgLy8gRm9vdGVyXG4gIEBDb250ZW50Q2hpbGQoRnNMaXN0Rm9vdGVyRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoRnNMaXN0Rm9vdGVyRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZm9vdGVyQ29uZmlnczogQ2VsbENvbmZpZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb2x1bW5BdHRyaWJ1dGVzID0gbmV3IENvbHVtbkF0dHJpYnV0ZXMoKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIGdldCBhdHRyaWJ1dGVzKCk6IENvbHVtbkF0dHJpYnV0ZXMge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5BdHRyaWJ1dGVzO1xuICB9XG5cbiAgQElucHV0KCdzaG93JylcbiAgcHVibGljIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fY29sdW1uQXR0cmlidXRlcy52aXNpYmxlID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb2x1bW5BdHRyaWJ1dGVzLnRpdGxlID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2NvbHVtbkF0dHJpYnV0ZXMubmFtZSA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjdXN0b21pemFibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9jb2x1bW5BdHRyaWJ1dGVzLmN1c3RvbWl6YWJsZSA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzb3J0YWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2NvbHVtbkF0dHJpYnV0ZXMuc29ydGFibGUgPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc29ydGFibGVEZWZhdWx0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fY29sdW1uQXR0cmlidXRlcy5zb3J0YWJsZURlZmF1bHQgPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc29ydGFibGVEaXJlY3Rpb24odmFsdWU6ICdhc2MnIHwgJ2Rlc2MnKSB7XG4gICAgdGhpcy5zb3J0YWJsZSA9IHRydWU7XG4gICAgdGhpcy5fY29sdW1uQXR0cmlidXRlcy5kaXJlY3Rpb24gPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXJlY3Rpb24odmFsdWU6ICdhc2MnIHwgJ2Rlc2MnKSB7XG4gICAgdGhpcy5fY29sdW1uQXR0cmlidXRlcy5kaXJlY3Rpb24gPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYWxpZ24odmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2NvbHVtbkF0dHJpYnV0ZXMuYWxpZ24gPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgd2lkdGgodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2NvbHVtbkF0dHJpYnV0ZXMud2lkdGggPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgnY2xhc3MnKVxuICBwdWJsaWMgc2V0IGNsYXNzTmFtZSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICB0aGlzLl9jb2x1bW5BdHRyaWJ1dGVzLmNsYXNzTmFtZSA9IHZhbHVlO1xuICB9XG5cbn1cbiJdfQ==
@@ -2,12 +2,13 @@ import { Directive } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class FsListContentDirective {
4
4
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsListContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsListContentDirective, selector: "[fs-list-content]", ngImport: i0 });
5
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsListContentDirective, isStandalone: true, selector: "[fs-list-content]", ngImport: i0 });
6
6
  }
7
7
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsListContentDirective, decorators: [{
8
8
  type: Directive,
9
9
  args: [{
10
10
  selector: '[fs-list-content]',
11
+ standalone: true,
11
12
  }]
12
13
  }] });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvY29udGVudC9jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUsxQyxNQUFNLE9BQU8sc0JBQXNCO3VHQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZnMtbGlzdC1jb250ZW50XScsXG59KVxuZXhwb3J0IGNsYXNzIEZzTGlzdENvbnRlbnREaXJlY3RpdmUgeyB9XG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvY29udGVudC9jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0xQyxNQUFNLE9BQU8sc0JBQXNCO3VHQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFKbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZnMtbGlzdC1jb250ZW50XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRnNMaXN0Q29udGVudERpcmVjdGl2ZSB7IH1cbiJdfQ==
@@ -9,15 +9,16 @@ export class FsListContentInitDirective {
9
9
  }
10
10
  }
11
11
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsListContentInitDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsListContentInitDirective, selector: "[fsListContentInit]", inputs: { contentInitCallback: ["fsListContentInit", "contentInitCallback"] }, ngImport: i0 });
12
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsListContentInitDirective, isStandalone: true, selector: "[fsListContentInit]", inputs: { contentInitCallback: ["fsListContentInit", "contentInitCallback"] }, ngImport: i0 });
13
13
  }
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsListContentInitDirective, decorators: [{
15
15
  type: Directive,
16
16
  args: [{
17
- selector: '[fsListContentInit]'
17
+ selector: '[fsListContentInit]',
18
+ standalone: true
18
19
  }]
19
20
  }], ctorParameters: () => [], propDecorators: { contentInitCallback: [{
20
21
  type: Input,
21
22
  args: ['fsListContentInit']
22
23
  }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1pbml0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy9jb250ZW50LWluaXQvY29udGVudC1pbml0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTWhFLE1BQU0sT0FBTywwQkFBMEI7SUFHOUIsbUJBQW1CLENBQVc7SUFFckMsZ0JBQWUsQ0FBQztJQUVULGVBQWU7UUFDcEIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQzt1R0FYVSwwQkFBMEI7MkZBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO2lCQUNoQzt3REFJUSxtQkFBbUI7c0JBRHpCLEtBQUs7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmc0xpc3RDb250ZW50SW5pdF0nXG59KVxuZXhwb3J0IGNsYXNzIEZzTGlzdENvbnRlbnRJbml0RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQElucHV0KCdmc0xpc3RDb250ZW50SW5pdCcpXG4gIHB1YmxpYyBjb250ZW50SW5pdENhbGxiYWNrOiBGdW5jdGlvbjtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5jb250ZW50SW5pdENhbGxiYWNrKSB7XG4gICAgICB0aGlzLmNvbnRlbnRJbml0Q2FsbGJhY2soKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1pbml0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy9jb250ZW50LWluaXQvY29udGVudC1pbml0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT2hFLE1BQU0sT0FBTywwQkFBMEI7SUFHOUIsbUJBQW1CLENBQVc7SUFFckMsZ0JBQWUsQ0FBQztJQUVULGVBQWU7UUFDcEIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQzt1R0FYVSwwQkFBMEI7MkZBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7d0RBSVEsbUJBQW1CO3NCQUR6QixLQUFLO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmc0xpc3RDb250ZW50SW5pdF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRnNMaXN0Q29udGVudEluaXREaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICBASW5wdXQoJ2ZzTGlzdENvbnRlbnRJbml0JylcbiAgcHVibGljIGNvbnRlbnRJbml0Q2FsbGJhY2s6IEZ1bmN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmNvbnRlbnRJbml0Q2FsbGJhY2spIHtcbiAgICAgIHRoaXMuY29udGVudEluaXRDYWxsYmFjaygpO1xuICAgIH1cbiAgfVxufVxuIl19