@acorex/components 7.9.0 → 7.9.1

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 (35) hide show
  1. package/common/lib/classes/datalist.class.d.ts +21 -0
  2. package/common/lib/classes/datasource.class.d.ts +31 -14
  3. package/data-table/index.d.ts +1 -0
  4. package/data-table/lib/data-table.component.d.ts +2 -2
  5. package/data-table/lib/data-table.module.d.ts +9 -7
  6. package/data-table/lib/data-table2.component.d.ts +37 -0
  7. package/drawer/lib/drawer.component.d.ts +2 -1
  8. package/esm2022/common/lib/classes/datalist.class.mjs +44 -2
  9. package/esm2022/common/lib/classes/datasource.class.mjs +18 -11
  10. package/esm2022/data-table/index.mjs +2 -1
  11. package/esm2022/data-table/lib/data-table.component.mjs +3 -4
  12. package/esm2022/data-table/lib/data-table.module.mjs +6 -4
  13. package/esm2022/data-table/lib/data-table2.component.mjs +118 -0
  14. package/esm2022/drawer/lib/drawer-container.component.mjs +1 -1
  15. package/esm2022/drawer/lib/drawer.component.mjs +8 -8
  16. package/esm2022/list/lib/list.component.mjs +5 -48
  17. package/esm2022/popup/lib/popup.interface.mjs +1 -1
  18. package/esm2022/popup/lib/popup.service.mjs +3 -1
  19. package/esm2022/select-box/lib/select-box.component.mjs +4 -5
  20. package/fesm2022/acorex-components-common.mjs +62 -12
  21. package/fesm2022/acorex-components-common.mjs.map +1 -1
  22. package/fesm2022/acorex-components-data-table.mjs +119 -9
  23. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  24. package/fesm2022/acorex-components-drawer.mjs +7 -7
  25. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  26. package/fesm2022/acorex-components-list.mjs +5 -48
  27. package/fesm2022/acorex-components-list.mjs.map +1 -1
  28. package/fesm2022/acorex-components-popup.mjs +2 -0
  29. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  30. package/fesm2022/acorex-components-select-box.mjs +3 -4
  31. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  32. package/list/lib/list.component.d.ts +2 -22
  33. package/package.json +1 -1
  34. package/popup/lib/popup.interface.d.ts +3 -1
  35. package/select-box/lib/select-box.component.d.ts +4 -4
@@ -1,3 +1,6 @@
1
+ import { CollectionViewer, DataSource } from "@angular/cdk/collections";
2
+ import { Observable } from "rxjs";
3
+ import { AXDataSource } from "./datasource.class";
1
4
  export interface AXDataListQuery {
2
5
  take?: number;
3
6
  skip?: number;
@@ -9,3 +12,21 @@ export interface AXDataListFetchCallbackResult {
9
12
  }
10
13
  export type AXDataListFetchDataCallback = (e: AXDataListQuery) => Promise<AXDataListFetchCallbackResult>;
11
14
  export type AXDataListItems = Array<any> | AXDataListFetchDataCallback;
15
+ export declare class AXListDataSource<T = unknown> extends DataSource<T> {
16
+ private config;
17
+ private debounceTime;
18
+ private subscription;
19
+ source: AXDataSource<T>;
20
+ private dataStream;
21
+ /**
22
+ * @ignore
23
+ */
24
+ constructor(config: {
25
+ source: AXDataSource<T>;
26
+ debounceTime?: number;
27
+ });
28
+ connect(collectionViewer: CollectionViewer): Observable<T[]>;
29
+ disconnect(): void;
30
+ private getPageForIndex;
31
+ refresh(): void;
32
+ }
@@ -1,32 +1,47 @@
1
- import { ListIterateeCustom } from 'lodash';
2
1
  import { Subject } from 'rxjs';
3
- export type AXDateSourceFilterPredicate<T> = ListIterateeCustom<T, boolean>;
4
- export interface AXDataSourceQuery<T> {
2
+ export type AXDataSourceOperator = {
3
+ type: 'equal' | 'isNull' | 'isEmpty' | 'lt' | 'lte' | 'gt' | 'gte' | 'startsWith' | 'endsWith' | 'contains';
4
+ negative?: boolean;
5
+ };
6
+ export type AXDataSourceLogic = 'and' | 'or';
7
+ export type AXDataSourceFilterOption = {
8
+ field: string;
9
+ value?: unknown;
10
+ operator: AXDataSourceOperator;
11
+ logic?: AXDataSourceLogic;
12
+ filters?: AXDataSourceFilterOption[];
13
+ };
14
+ export type AXDataSourceSortOption = {
15
+ field: string;
16
+ dir: 'asc' | 'desc';
17
+ };
18
+ export interface AXDataSourceQuery {
5
19
  take?: number;
6
20
  skip?: number;
7
- predicate?: AXDateSourceFilterPredicate<T>;
21
+ filter?: AXDataSourceFilterOption;
22
+ sort?: AXDataSourceSortOption[];
8
23
  }
9
24
  export interface AXDataSourceCallbackResult<T> {
10
25
  items: Array<T>;
11
26
  total: number;
12
27
  }
13
- export type AXDataSourceLoadCallback<T> = (e: AXDataSourceQuery<T>) => Promise<AXDataSourceCallbackResult<T>>;
28
+ export type AXDataSourceLoadCallback<T> = (e: AXDataSourceQuery) => Promise<AXDataSourceCallbackResult<T>>;
14
29
  export type AXDataSourceByKeyCallback<T> = (key: unknown) => Promise<T>;
15
- export interface AXDateSourceConfig<T = unknown> {
30
+ export interface AXDataSourceConfig<T = unknown> {
16
31
  key?: string;
17
32
  pageSize: number;
18
33
  load: AXDataSourceLoadCallback<T>;
19
34
  byKey?: AXDataSourceByKeyCallback<T>;
20
35
  }
21
- export interface AXDateSourceChangedEvent<T = unknown> {
36
+ export interface AXDataSourceChangedEvent<T = unknown> {
22
37
  cachedItems: Array<T>;
23
38
  items: Array<T>;
24
39
  totalCount: number;
25
40
  totalPages: number;
26
41
  page: number;
27
42
  }
28
- export declare class AXDateSource<T = unknown> {
29
- config: AXDateSourceConfig<T>;
43
+ export declare class AXDataSource<T = unknown> {
44
+ config: AXDataSourceConfig<T>;
30
45
  private _totalCount;
31
46
  private get totalCount();
32
47
  private get totalPages();
@@ -37,20 +52,22 @@ export declare class AXDateSource<T = unknown> {
37
52
  private fetchedPages;
38
53
  private _page;
39
54
  private _query;
40
- onChanged: Subject<AXDateSourceChangedEvent<T>>;
55
+ onChanged: Subject<AXDataSourceChangedEvent<T>>;
41
56
  onLoadingChanged: Subject<boolean>;
42
57
  private _isLoading;
43
58
  get isLoading(): boolean;
44
- constructor(config: AXDateSourceConfig<T>);
59
+ constructor(config: AXDataSourceConfig<T>);
45
60
  private load;
46
61
  private setLoadingState;
47
62
  setPage(page: number): void;
48
- filter(predicate?: AXDateSourceFilterPredicate<T>): void;
49
- reset(): void;
63
+ filter(value: AXDataSourceFilterOption): void;
64
+ sort(...value: AXDataSourceSortOption[]): void;
65
+ clearFilter(): void;
66
+ private reset;
50
67
  refresh(): void;
51
68
  find(key: unknown): T | Promise<T>;
52
69
  }
53
70
  export declare function convertArrayToDataSource<T>(items: T[], options?: {
54
71
  key: string;
55
72
  pageSize: number;
56
- }): AXDateSource;
73
+ }): AXDataSource;
@@ -1,3 +1,4 @@
1
1
  export * from './lib/data-column.directive';
2
2
  export * from './lib/data-table.component';
3
3
  export * from './lib/data-table.module';
4
+ export * from './lib/data-table2.component';
@@ -5,8 +5,8 @@ import * as i0 from "@angular/core";
5
5
  export declare class AXDataTableComponent extends MXBaseComponent implements AXPagedComponentInterface {
6
6
  protected _columns: QueryList<AXDataColumnComponent>;
7
7
  onPageChanged: EventEmitter<AXValueChangedEvent<number>>;
8
- rowTemplate?: TemplateRef<any>;
9
- emptyTemplate?: TemplateRef<any>;
8
+ rowTemplate?: TemplateRef<unknown>;
9
+ emptyTemplate?: TemplateRef<unknown>;
10
10
  showHeader: boolean;
11
11
  private _pageSize;
12
12
  get pageSize(): number;
@@ -1,13 +1,15 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./data-table.component";
3
- import * as i2 from "./data-column.directive";
4
- import * as i3 from "@angular/common";
5
- import * as i4 from "@acorex/core/translation";
6
- import * as i5 from "@acorex/components/result";
7
- import * as i6 from "@acorex/components/loading";
8
- import * as i7 from "@acorex/components/decorators";
3
+ import * as i2 from "./data-table2.component";
4
+ import * as i3 from "./data-column.directive";
5
+ import * as i4 from "@angular/common";
6
+ import * as i5 from "@angular/cdk/scrolling";
7
+ import * as i6 from "@acorex/core/translation";
8
+ import * as i7 from "@acorex/components/result";
9
+ import * as i8 from "@acorex/components/loading";
10
+ import * as i9 from "@acorex/components/decorators";
9
11
  export declare class AXDataTableModule {
10
12
  static ɵfac: i0.ɵɵFactoryDeclaration<AXDataTableModule, never>;
11
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXDataTableModule, [typeof i1.AXDataTableComponent, typeof i2.AXDataColumnComponent], [typeof i3.CommonModule, typeof i4.AXTranslationModule, typeof i5.AXResultModule, typeof i6.AXLoadingModule, typeof i7.AXDecoratorModule], [typeof i1.AXDataTableComponent, typeof i2.AXDataColumnComponent]>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXDataTableModule, [typeof i1.AXDataTableComponent, typeof i2.AXDataTable2Component, typeof i3.AXDataColumnComponent], [typeof i4.CommonModule, typeof i5.ScrollingModule, typeof i6.AXTranslationModule, typeof i7.AXResultModule, typeof i8.AXLoadingModule, typeof i9.AXDecoratorModule], [typeof i1.AXDataTableComponent, typeof i2.AXDataTable2Component, typeof i3.AXDataColumnComponent]>;
12
14
  static ɵinj: i0.ɵɵInjectorDeclaration<AXDataTableModule>;
13
15
  }
@@ -0,0 +1,37 @@
1
+ import { AXValueChangedEvent, MXBaseComponent, AXListDataSource, AXDataSource, AXEvent } from '@acorex/components/common';
2
+ import { ElementRef, EventEmitter, QueryList, TemplateRef } from '@angular/core';
3
+ import { AXDataColumnComponent } from './data-column.directive';
4
+ import * as i0 from "@angular/core";
5
+ export interface AXDataTableScrollIndexChanged extends AXEvent {
6
+ index: number;
7
+ }
8
+ export declare class AXDataTable2Component extends MXBaseComponent {
9
+ protected columns: QueryList<AXDataColumnComponent>;
10
+ onPageChanged: EventEmitter<AXValueChangedEvent<number>>;
11
+ rowTemplate?: TemplateRef<unknown>;
12
+ emptyTemplate?: TemplateRef<unknown>;
13
+ loadingTemplate: TemplateRef<unknown>;
14
+ showHeader: boolean;
15
+ private _pageSize;
16
+ get pageSize(): number;
17
+ set pageSize(v: number);
18
+ fetchDataMode: 'auto' | 'manual';
19
+ dataSource: AXDataSource<unknown>;
20
+ protected listDataSource: AXListDataSource<unknown>;
21
+ protected isLoading: boolean;
22
+ protected hasItems: boolean;
23
+ private lastIndex;
24
+ itemHeight: number | 'auto';
25
+ protected width: string;
26
+ private viewport;
27
+ onScrolledIndexChanged: EventEmitter<AXDataTableScrollIndexChanged>;
28
+ trackByIdx(i: any): any;
29
+ ngOnInit(): void;
30
+ headerContainer: ElementRef;
31
+ protected _handleOnscrolledIndexChange(e: number): void;
32
+ ngDoCheck(): void;
33
+ render(): void;
34
+ refresh(): void;
35
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXDataTable2Component, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXDataTable2Component, "ax-data-table2", never, { "rowTemplate": { "alias": "rowTemplate"; "required": false; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "fetchDataMode": { "alias": "fetchDataMode"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; }, { "onPageChanged": "onPageChanged"; "onScrolledIndexChanged": "onScrolledIndexChanged"; }, ["columns"], ["ax-header", "ax-footer"], false, never>;
37
+ }
@@ -18,7 +18,7 @@ export declare class AXDrawerComponent extends MXBaseComponent {
18
18
  private _collapsed;
19
19
  get collapsed(): boolean;
20
20
  set collapsed(v: boolean);
21
- ngAfterViewInit(): void;
21
+ ngAfterContentInit(): void;
22
22
  internalOptionChanged(option: MXComponentOptionChanged): void;
23
23
  ngDoCheck(): void;
24
24
  private _detectBoundingSize;
@@ -28,6 +28,7 @@ export declare class AXDrawerComponent extends MXBaseComponent {
28
28
  open(): void;
29
29
  private get __hostClass();
30
30
  private _backdropElement;
31
+ private _loaded;
31
32
  private _addBackdrop;
32
33
  private _removeBackdrop;
33
34
  static ɵfac: i0.ɵɵFactoryDeclaration<AXDrawerComponent, never>;
@@ -1,2 +1,44 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWxpc3QuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29tbW9uL3NyYy9saWIvY2xhc3Nlcy9kYXRhbGlzdC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhEYXRhTGlzdFF1ZXJ5IHtcbiAgdGFrZT86IG51bWJlcjtcbiAgc2tpcD86IG51bWJlcjtcbiAgc2VhcmNoUXVlcnk/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEFYRGF0YUxpc3RGZXRjaENhbGxiYWNrUmVzdWx0IHtcbiAgaXRlbXM6IEFycmF5PGFueT47XG4gIHRvdGFsOiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIEFYRGF0YUxpc3RGZXRjaERhdGFDYWxsYmFjayA9IChlOiBBWERhdGFMaXN0UXVlcnkpID0+IFByb21pc2U8QVhEYXRhTGlzdEZldGNoQ2FsbGJhY2tSZXN1bHQ+O1xuXG5leHBvcnQgdHlwZSBBWERhdGFMaXN0SXRlbXMgPSBBcnJheTxhbnk+IHwgQVhEYXRhTGlzdEZldGNoRGF0YUNhbGxiYWNrO1xuXG5cbiJdfQ==
1
+ import { DataSource } from "@angular/cdk/collections";
2
+ import { BehaviorSubject, Subscription, debounceTime, distinctUntilChanged } from "rxjs";
3
+ export class AXListDataSource extends DataSource {
4
+ /**
5
+ * @ignore
6
+ */
7
+ constructor(config) {
8
+ super();
9
+ this.config = config;
10
+ this.debounceTime = 0;
11
+ this.subscription = new Subscription();
12
+ this.source = config.source;
13
+ if (config.debounceTime)
14
+ this.debounceTime = config.debounceTime;
15
+ //
16
+ this.dataStream = new BehaviorSubject(this.config.source.cachedItems);
17
+ this.source.onChanged.subscribe((data) => {
18
+ this.dataStream.next(data.cachedItems);
19
+ });
20
+ }
21
+ connect(collectionViewer) {
22
+ this.subscription.add(collectionViewer.viewChange
23
+ .pipe(debounceTime(this.debounceTime))
24
+ .pipe(distinctUntilChanged())
25
+ .subscribe((range) => {
26
+ const startPage = this.getPageForIndex(range.start);
27
+ const endPage = this.getPageForIndex(range.end - 1);
28
+ for (let i = startPage; i <= endPage; i++) {
29
+ this.source.setPage(i);
30
+ }
31
+ }));
32
+ return this.dataStream;
33
+ }
34
+ disconnect() {
35
+ this.subscription.unsubscribe();
36
+ }
37
+ getPageForIndex(index) {
38
+ return Math.floor(index / this.source.config.pageSize);
39
+ }
40
+ refresh() {
41
+ this.source.refresh();
42
+ }
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWxpc3QuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29tbW9uL3NyYy9saWIvY2xhc3Nlcy9kYXRhbGlzdC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQXFCckcsTUFBTSxPQUFPLGdCQUE4QixTQUFRLFVBQWE7SUFNOUQ7O09BRUc7SUFDSCxZQUFvQixNQUEwRDtRQUM1RSxLQUFLLEVBQUUsQ0FBQztRQURVLFdBQU0sR0FBTixNQUFNLENBQW9EO1FBUnRFLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDNUIsSUFBSSxNQUFNLENBQUMsWUFBWTtZQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUNqRSxFQUFFO1FBQ0YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLGdCQUFrQztRQUN4QyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDbkIsZ0JBQWdCLENBQUMsVUFBVTthQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNyQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUM1QixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDcEQsS0FBSyxJQUFJLENBQUMsR0FBRyxTQUFTLEVBQUUsQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDeEI7UUFDSCxDQUFDLENBQUMsQ0FDTCxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQWE7UUFDbkMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvblZpZXdlciwgRGF0YVNvdXJjZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvY29sbGVjdGlvbnNcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEFYRGF0YVNvdXJjZSB9IGZyb20gXCIuL2RhdGFzb3VyY2UuY2xhc3NcIjtcblxuXG5leHBvcnQgaW50ZXJmYWNlIEFYRGF0YUxpc3RRdWVyeSB7XG4gIHRha2U/OiBudW1iZXI7XG4gIHNraXA/OiBudW1iZXI7XG4gIHNlYXJjaFF1ZXJ5Pzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBBWERhdGFMaXN0RmV0Y2hDYWxsYmFja1Jlc3VsdCB7XG4gIGl0ZW1zOiBBcnJheTxhbnk+O1xuICB0b3RhbDogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBBWERhdGFMaXN0RmV0Y2hEYXRhQ2FsbGJhY2sgPSAoZTogQVhEYXRhTGlzdFF1ZXJ5KSA9PiBQcm9taXNlPEFYRGF0YUxpc3RGZXRjaENhbGxiYWNrUmVzdWx0PjtcblxuZXhwb3J0IHR5cGUgQVhEYXRhTGlzdEl0ZW1zID0gQXJyYXk8YW55PiB8IEFYRGF0YUxpc3RGZXRjaERhdGFDYWxsYmFjaztcblxuXG5cblxuZXhwb3J0IGNsYXNzIEFYTGlzdERhdGFTb3VyY2U8VCA9IHVua25vd24+IGV4dGVuZHMgRGF0YVNvdXJjZTxUPiB7XG4gIHByaXZhdGUgZGVib3VuY2VUaW1lID0gMDtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHB1YmxpYyBzb3VyY2U6IEFYRGF0YVNvdXJjZTxUPjtcbiAgcHJpdmF0ZSBkYXRhU3RyZWFtOiBCZWhhdmlvclN1YmplY3Q8VFtdPjtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWc6IHsgc291cmNlOiBBWERhdGFTb3VyY2U8VD47IGRlYm91bmNlVGltZT86IG51bWJlciB9KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnNvdXJjZSA9IGNvbmZpZy5zb3VyY2U7XG4gICAgaWYgKGNvbmZpZy5kZWJvdW5jZVRpbWUpIHRoaXMuZGVib3VuY2VUaW1lID0gY29uZmlnLmRlYm91bmNlVGltZTtcbiAgICAvL1xuICAgIHRoaXMuZGF0YVN0cmVhbSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPih0aGlzLmNvbmZpZy5zb3VyY2UuY2FjaGVkSXRlbXMpO1xuICAgIHRoaXMuc291cmNlLm9uQ2hhbmdlZC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuZGF0YVN0cmVhbS5uZXh0KGRhdGEuY2FjaGVkSXRlbXMpO1xuICAgIH0pO1xuICB9XG5cbiAgY29ubmVjdChjb2xsZWN0aW9uVmlld2VyOiBDb2xsZWN0aW9uVmlld2VyKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICBjb2xsZWN0aW9uVmlld2VyLnZpZXdDaGFuZ2VcbiAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lKSlcbiAgICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgICAgLnN1YnNjcmliZSgocmFuZ2UpID0+IHtcbiAgICAgICAgICBjb25zdCBzdGFydFBhZ2UgPSB0aGlzLmdldFBhZ2VGb3JJbmRleChyYW5nZS5zdGFydCk7XG4gICAgICAgICAgY29uc3QgZW5kUGFnZSA9IHRoaXMuZ2V0UGFnZUZvckluZGV4KHJhbmdlLmVuZCAtIDEpO1xuICAgICAgICAgIGZvciAobGV0IGkgPSBzdGFydFBhZ2U7IGkgPD0gZW5kUGFnZTsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzLnNvdXJjZS5zZXRQYWdlKGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5kYXRhU3RyZWFtO1xuICB9XG5cbiAgZGlzY29ubmVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYWdlRm9ySW5kZXgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoaW5kZXggLyB0aGlzLnNvdXJjZS5jb25maWcucGFnZVNpemUpO1xuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLnNvdXJjZS5yZWZyZXNoKCk7XG4gIH1cbn1cblxuIl19
@@ -1,6 +1,6 @@
1
1
  import { filter } from 'lodash-es';
2
2
  import { Subject } from 'rxjs';
3
- export class AXDateSource {
3
+ export class AXDataSource {
4
4
  get totalCount() {
5
5
  return this._totalCount;
6
6
  }
@@ -69,13 +69,18 @@ export class AXDateSource {
69
69
  this.load();
70
70
  }
71
71
  }
72
- filter(predicate = null) {
73
- this.reset();
74
- this._query.predicate = predicate;
75
- this.load();
72
+ filter(value) {
73
+ this._query.filter = value;
74
+ }
75
+ sort(...value) {
76
+ this._query.sort = value;
77
+ }
78
+ clearFilter() {
79
+ this._query.filter = null;
76
80
  }
77
81
  reset() {
78
- this._query.predicate = null;
82
+ this._query.filter = null;
83
+ this._query.sort = null;
79
84
  this._query.skip = 0;
80
85
  this._cachedItems = new Array(this.config.pageSize);
81
86
  this.fetchedPages.clear();
@@ -83,9 +88,11 @@ export class AXDateSource {
83
88
  this._totalCount = 0;
84
89
  }
85
90
  refresh() {
86
- const currentPredicate = this._query.predicate;
91
+ const currentFilter = this._query.filter;
92
+ const currentSort = this._query.sort;
87
93
  this.reset();
88
- this._query.predicate = currentPredicate;
94
+ this._query.filter = currentFilter;
95
+ this._query.sort = currentSort;
89
96
  this.load();
90
97
  }
91
98
  find(key) {
@@ -100,7 +107,7 @@ export function convertArrayToDataSource(items, options = { key: 'id', pageSize:
100
107
  key: options.key,
101
108
  pageSize: options.pageSize,
102
109
  load: (e) => {
103
- const result = e.predicate ? filter(items, e.predicate) : items;
110
+ const result = e.filter ? filter(items, e.filter) : items;
104
111
  return Promise.resolve({
105
112
  items: result.slice(e.skip, e.skip + e.take),
106
113
  total: result.length,
@@ -108,6 +115,6 @@ export function convertArrayToDataSource(items, options = { key: 'id', pageSize:
108
115
  },
109
116
  byKey: (v) => Promise.resolve(items.find((c) => c[options.key] == v)),
110
117
  };
111
- return new AXDateSource(config);
118
+ return new AXDataSource(config);
112
119
  }
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb21tb24vc3JjL2xpYi9jbGFzc2VzL2RhdGFzb3VyY2UuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBK0IvQixNQUFNLE9BQU8sWUFBWTtJQUl2QixJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBR0QsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBR0QsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFVRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUFZLE1BQTZCO1FBL0JqQyxnQkFBVyxHQUFHLENBQUMsQ0FBQztRQWNoQixXQUFNLEdBQVEsRUFBRSxDQUFDO1FBS2pCLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUNqQyxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBR1gsY0FBUyxHQUFHLElBQUksT0FBTyxFQUErQixDQUFDO1FBRXZELHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDekMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQU16QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENB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LENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRU0sT0FBTztRQUNaLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDL0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsZ0JBQWdCLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksQ0FBQyxHQUFZO1FBQ2YsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ3JDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUM3RixDQUFDO1FBQ0YsSUFBSSxTQUFTO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzRCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQ3RDLEtBQVUsRUFDVixVQUE2QyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtJQUV4RSxNQUFNLE1BQU0sR0FBdUI7UUFDakMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO1FBQ2hCLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtRQUMxQixJQUFJLEVBQUUsQ0FBQyxDQUF1QixFQUFFLEVBQUU7WUFDaEMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUNoRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7Z0JBQ3JCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUM1QyxLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU07YUFDckIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELEtBQUssRUFBRSxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ2xGLENBQUM7SUFDRixPQUFPLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXN0SXRlcmF0ZWVDdXN0b20gfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgQVhEYXRlU291cmNlRmlsdGVyUHJlZGljYXRlPFQ+ID0gTGlzdEl0ZXJhdGVlQ3VzdG9tPFQsIGJvb2xlYW4+O1xuZXhwb3J0IGludGVyZmFjZSBBWERhdGFTb3VyY2VRdWVyeTxUPiB7XG4gIHRha2U/OiBudW1iZXI7XG4gIHNraXA/OiBudW1iZXI7XG4gIHByZWRpY2F0ZT86IEFYRGF0ZVNvdXJjZUZpbHRlclByZWRpY2F0ZTxUPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQVhEYXRhU291cmNlQ2FsbGJhY2tSZXN1bHQ8VD4ge1xuICBpdGVtczogQXJyYXk8VD47XG4gIHRvdGFsOiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIEFYRGF0YVNvdXJjZUxvYWRDYWxsYmFjazxUPiA9IChlOiBBWERhdGFTb3VyY2VRdWVyeTxUPikgPT4gUHJvbWlzZTxBWERhdGFTb3VyY2VDYWxsYmFja1Jlc3VsdDxUPj47XG5leHBvcnQgdHlwZSBBWERhdGFTb3VyY2VCeUtleUNhbGxiYWNrPFQ+ID0gKGtleTogdW5rbm93bikgPT4gUHJvbWlzZTxUPjtcblxuZXhwb3J0IGludGVyZmFjZSBBWERhdGVTb3VyY2VDb25maWc8VCA9IHVua25vd24+IHtcbiAga2V5Pzogc3RyaW5nO1xuICBwYWdlU2l6ZTogbnVtYmVyO1xuICBsb2FkOiBBWERhdGFTb3VyY2VMb2FkQ2FsbGJhY2s8VD47XG4gIGJ5S2V5PzogQVhEYXRhU291cmNlQnlLZXlDYWxsYmFjazxUPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWERhdGVTb3VyY2VDaGFuZ2VkRXZlbnQ8VCA9IHVua25vd24+IHtcbiAgY2FjaGVkSXRlbXM6IEFycmF5PFQ+O1xuICBpdGVtczogQXJyYXk8VD47XG4gIHRvdGFsQ291bnQ6IG51bWJlcjtcbiAgdG90YWxQYWdlczogbnVtYmVyO1xuICBwYWdlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBBWERhdGVTb3VyY2U8VCA9IHVua25vd24+IHtcbiAgY29uZmlnITogQVhEYXRlU291cmNlQ29uZmlnPFQ+O1xuXG4gIHByaXZhdGUgX3RvdGFsQ291bnQgPSAwO1xuICBwcml2YXRlIGdldCB0b3RhbENvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3RvdGFsQ291bnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCB0b3RhbFBhZ2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IodGhpcy50b3RhbENvdW50IC8gdGhpcy5jb25maWcucGFnZVNpemUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FjaGVkSXRlbXM6IFRbXTtcbiAgcHVibGljIGdldCBjYWNoZWRJdGVtcygpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLl9jYWNoZWRJdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgX2l0ZW1zOiBUW10gPSBbXTtcbiAgcHVibGljIGdldCBpdGVtcygpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hlZFBhZ2VzID0gbmV3IFNldDxudW1iZXI+KCk7XG4gIHByaXZhdGUgX3BhZ2UgPSAwO1xuICBwcml2YXRlIF9xdWVyeTogQVhEYXRhU291cmNlUXVlcnk8VD47XG5cbiAgcHVibGljIG9uQ2hhbmdlZCA9IG5ldyBTdWJqZWN0PEFYRGF0ZVNvdXJjZUNoYW5nZWRFdmVudDxUPj4oKTtcblxuICBwdWJsaWMgb25Mb2FkaW5nQ2hhbmdlZCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgX2lzTG9hZGluZyA9IGZhbHNlO1xuICBwdWJsaWMgZ2V0IGlzTG9hZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNMb2FkaW5nO1xuICB9XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBBWERhdGVTb3VyY2VDb25maWc8VD4pIHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLl9jYWNoZWRJdGVtcyA9IG5ldyBBcnJheSh0aGlzLmNvbmZpZy5wYWdlU2l6ZSk7XG4gICAgdGhpcy5faXRlbXMgPSBuZXcgQXJyYXkoMCk7XG4gICAgdGhpcy5fcXVlcnkgPSB7IHNraXA6IDAsIHRha2U6IHRoaXMuY29uZmlnLnBhZ2VTaXplIH07XG4gIH1cblxuICBwcml2YXRlIGxvYWQoKSB7XG4gICAgY29uc3QgcGFnZSA9IHRoaXMuX3BhZ2U7XG4gICAgaWYgKHRoaXMuZmV0Y2hlZFBhZ2VzLmhhcyhwYWdlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNldExvYWRpbmdTdGF0ZSh0cnVlKTtcbiAgICB0aGlzLmZldGNoZWRQYWdlcy5hZGQocGFnZSk7XG4gICAgdGhpcy5fcXVlcnkuc2tpcCA9IHBhZ2UgKiB0aGlzLmNvbmZpZy5wYWdlU2l6ZTtcbiAgICB0aGlzLmNvbmZpZ1xuICAgICAgLmxvYWQoeyAuLi50aGlzLl9xdWVyeSB9KVxuICAgICAgLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fdG90YWxDb3VudCAhPSByZXN1bHQudG90YWwpIHtcbiAgICAgICAgICB0aGlzLl9jYWNoZWRJdGVtcyA9IG5ldyBBcnJheShyZXN1bHQudG90YWwpO1xuICAgICAgICAgIHRoaXMuX3RvdGFsQ291bnQgPSByZXN1bHQudG90YWw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXRlbXMgPSByZXN1bHQuaXRlbXM7XG4gICAgICAgIHRoaXMuX2NhY2hlZEl0ZW1zLnNwbGljZShwYWdlICogdGhpcy5jb25maWcucGFnZVNpemUsIHRoaXMuY29uZmlnLnBhZ2VTaXplLCAuLi5yZXN1bHQuaXRlbXMpO1xuICAgICAgICBjb25zdCBldmVudCA9IHtcbiAgICAgICAgICBjYWNoZWRJdGVtczogdGhpcy5jYWNoZWRJdGVtcyxcbiAgICAgICAgICBpdGVtczogdGhpcy5pdGVtcyxcbiAgICAgICAgICBwYWdlOiBwYWdlLFxuICAgICAgICAgIHRvdGFsQ291bnQ6IHRoaXMudG90YWxDb3VudCxcbiAgICAgICAgICB0b3RhbFBhZ2VzOiB0aGlzLnRvdGFsUGFnZXMsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMub25DaGFuZ2VkLm5leHQoZXZlbnQpO1xuICAgICAgfSlcbiAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRMb2FkaW5nU3RhdGUoZmFsc2UpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldExvYWRpbmdTdGF0ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzTG9hZGluZyA9IHZhbHVlO1xuICAgIHRoaXMub25Mb2FkaW5nQ2hhbmdlZC5uZXh0KHRoaXMuX2lzTG9hZGluZyk7XG4gIH1cblxuICBwdWJsaWMgc2V0UGFnZShwYWdlOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5fcGFnZSAhPSBwYWdlIHx8IHRoaXMuX2l0ZW1zLmxlbmd0aCA9PSAwKSB7XG4gICAgICB0aGlzLl9wYWdlID0gcGFnZTtcbiAgICAgIHRoaXMubG9hZCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXIocHJlZGljYXRlOiBBWERhdGVTb3VyY2VGaWx0ZXJQcmVkaWNhdGU8VD4gPSBudWxsKSB7XG4gICAgdGhpcy5yZXNldCgpO1xuICAgIHRoaXMuX3F1ZXJ5LnByZWRpY2F0ZSA9IHByZWRpY2F0ZTtcbiAgICB0aGlzLmxvYWQoKTtcbiAgfVxuICBwdWJsaWMgcmVzZXQoKSB7XG4gICAgdGhpcy5fcXVlcnkucHJlZGljYXRlID0gbnVsbDtcbiAgICB0aGlzLl9xdWVyeS5za2lwID0gMDtcbiAgICB0aGlzLl9jYWNoZWRJdGVtcyA9IG5ldyBBcnJheSh0aGlzLmNvbmZpZy5wYWdlU2l6ZSk7XG4gICAgdGhpcy5mZXRjaGVkUGFnZXMuY2xlYXIoKTtcbiAgICB0aGlzLl9wYWdlID0gMDtcbiAgICB0aGlzLl90b3RhbENvdW50ID0gMDtcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoKCkge1xuICAgIGNvbnN0IGN1cnJlbnRQcmVkaWNhdGUgPSB0aGlzLl9xdWVyeS5wcmVkaWNhdGU7XG4gICAgdGhpcy5yZXNldCgpO1xuICAgIHRoaXMuX3F1ZXJ5LnByZWRpY2F0ZSA9IGN1cnJlbnRQcmVkaWNhdGU7XG4gICAgdGhpcy5sb2FkKCk7XG4gIH1cblxuICBmaW5kKGtleTogdW5rbm93bik6IFQgfCBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBmcm9tQ2FjaGUgPSB0aGlzLmNhY2hlZEl0ZW1zLmZpbmQoXG4gICAgICAoYykgPT4gKCF0aGlzLmNvbmZpZy5rZXkgJiYgYyA9PSBrZXkpIHx8IChjICYmIHRoaXMuY29uZmlnLmtleSAmJiBjW3RoaXMuY29uZmlnLmtleV0gPT0ga2V5KSxcbiAgICApO1xuICAgIGlmIChmcm9tQ2FjaGUpIHJldHVybiBmcm9tQ2FjaGU7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmJ5S2V5ID8gdGhpcy5jb25maWcuYnlLZXkoa2V5KSA6IG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRBcnJheVRvRGF0YVNvdXJjZTxUPihcbiAgaXRlbXM6IFRbXSxcbiAgb3B0aW9uczogeyBrZXk6IHN0cmluZzsgcGFnZVNpemU6IG51bWJlciB9ID0geyBrZXk6ICdpZCcsIHBhZ2VTaXplOiAyMCB9LFxuKTogQVhEYXRlU291cmNlIHtcbiAgY29uc3QgY29uZmlnOiBBWERhdGVTb3VyY2VDb25maWcgPSB7XG4gICAga2V5OiBvcHRpb25zLmtleSxcbiAgICBwYWdlU2l6ZTogb3B0aW9ucy5wYWdlU2l6ZSxcbiAgICBsb2FkOiAoZTogQVhEYXRhU291cmNlUXVlcnk8VD4pID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGUucHJlZGljYXRlID8gZmlsdGVyKGl0ZW1zLCBlLnByZWRpY2F0ZSkgOiBpdGVtcztcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICBpdGVtczogcmVzdWx0LnNsaWNlKGUuc2tpcCwgZS5za2lwICsgZS50YWtlKSxcbiAgICAgICAgdG90YWw6IHJlc3VsdC5sZW5ndGgsXG4gICAgICB9KTtcbiAgICB9LFxuICAgIGJ5S2V5OiAodjogdW5rbm93bikgPT4gUHJvbWlzZS5yZXNvbHZlPFQ+KGl0ZW1zLmZpbmQoKGMpID0+IGNbb3B0aW9ucy5rZXldID09IHYpKSxcbiAgfTtcbiAgcmV0dXJuIG5ldyBBWERhdGVTb3VyY2UoY29uZmlnKTtcbn1cbiJdfQ==
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb21tb24vc3JjL2xpYi9jbGFzc2VzL2RhdGFzb3VyY2UuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBOEMvQixNQUFNLE9BQU8sWUFBWTtJQUl2QixJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBR0QsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBR0QsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFVRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUFZLE1BQTZCO1FBL0JqQyxnQkFBVyxHQUFHLENBQUMsQ0FBQztRQWNoQixXQUFNLEdBQVEsRUFBRSxDQUFDO1FBS2pCLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUNqQyxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBR1gsY0FBUyxHQUFHLElBQUksT0FBTyxFQUErQixDQUFDO1FBRXZELHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDekMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQU16QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENB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QU8sSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbHRlciB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEFYRGF0YVNvdXJjZU9wZXJhdG9yID0ge1xuICB0eXBlOiAnZXF1YWwnIHwgJ2lzTnVsbCcgfCAnaXNFbXB0eScgfCAnbHQnIHwgJ2x0ZScgfCAnZ3QnIHwgJ2d0ZScgfCAnc3RhcnRzV2l0aCcgfCAnZW5kc1dpdGgnIHwgJ2NvbnRhaW5zJ1xuICBuZWdhdGl2ZT86IGJvb2xlYW5cbn07XG5leHBvcnQgdHlwZSBBWERhdGFTb3VyY2VMb2dpYyA9ICdhbmQnIHwgJ29yJztcblxuZXhwb3J0IHR5cGUgQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uID0ge1xuICBmaWVsZDogc3RyaW5nLFxuICB2YWx1ZT86IHVua25vd24sXG4gIG9wZXJhdG9yOiBBWERhdGFTb3VyY2VPcGVyYXRvcjtcbiAgbG9naWM/OiBBWERhdGFTb3VyY2VMb2dpYztcbiAgZmlsdGVycz86IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbltdO1xufTtcbmV4cG9ydCB0eXBlIEFYRGF0YVNvdXJjZVNvcnRPcHRpb24gPSB7IGZpZWxkOiBzdHJpbmcsIGRpcjogJ2FzYycgfCAnZGVzYycgfTtcblxuZXhwb3J0IGludGVyZmFjZSBBWERhdGFTb3VyY2VRdWVyeSB7XG4gIHRha2U/OiBudW1iZXI7XG4gIHNraXA/OiBudW1iZXI7XG4gIGZpbHRlcj86IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbjtcbiAgc29ydD86IEFYRGF0YVNvdXJjZVNvcnRPcHRpb25bXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQVhEYXRhU291cmNlQ2FsbGJhY2tSZXN1bHQ8VD4ge1xuICBpdGVtczogQXJyYXk8VD47XG4gIHRvdGFsOiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIEFYRGF0YVNvdXJjZUxvYWRDYWxsYmFjazxUPiA9IChlOiBBWERhdGFTb3VyY2VRdWVyeSkgPT4gUHJvbWlzZTxBWERhdGFTb3VyY2VDYWxsYmFja1Jlc3VsdDxUPj47XG5leHBvcnQgdHlwZSBBWERhdGFTb3VyY2VCeUtleUNhbGxiYWNrPFQ+ID0gKGtleTogdW5rbm93bikgPT4gUHJvbWlzZTxUPjtcblxuZXhwb3J0IGludGVyZmFjZSBBWERhdGFTb3VyY2VDb25maWc8VCA9IHVua25vd24+IHtcbiAga2V5Pzogc3RyaW5nO1xuICBwYWdlU2l6ZTogbnVtYmVyO1xuICBsb2FkOiBBWERhdGFTb3VyY2VMb2FkQ2FsbGJhY2s8VD47XG4gIGJ5S2V5PzogQVhEYXRhU291cmNlQnlLZXlDYWxsYmFjazxUPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWERhdGFTb3VyY2VDaGFuZ2VkRXZlbnQ8VCA9IHVua25vd24+IHtcbiAgY2FjaGVkSXRlbXM6IEFycmF5PFQ+O1xuICBpdGVtczogQXJyYXk8VD47XG4gIHRvdGFsQ291bnQ6IG51bWJlcjtcbiAgdG90YWxQYWdlczogbnVtYmVyO1xuICBwYWdlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBBWERhdGFTb3VyY2U8VCA9IHVua25vd24+IHtcbiAgY29uZmlnITogQVhEYXRhU291cmNlQ29uZmlnPFQ+O1xuXG4gIHByaXZhdGUgX3RvdGFsQ291bnQgPSAwO1xuICBwcml2YXRlIGdldCB0b3RhbENvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3RvdGFsQ291bnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCB0b3RhbFBhZ2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IodGhpcy50b3RhbENvdW50IC8gdGhpcy5jb25maWcucGFnZVNpemUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FjaGVkSXRlbXM6IFRbXTtcbiAgcHVibGljIGdldCBjYWNoZWRJdGVtcygpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLl9jYWNoZWRJdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgX2l0ZW1zOiBUW10gPSBbXTtcbiAgcHVibGljIGdldCBpdGVtcygpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hlZFBhZ2VzID0gbmV3IFNldDxudW1iZXI+KCk7XG4gIHByaXZhdGUgX3BhZ2UgPSAwO1xuICBwcml2YXRlIF9xdWVyeTogQVhEYXRhU291cmNlUXVlcnk7XG5cbiAgcHVibGljIG9uQ2hhbmdlZCA9IG5ldyBTdWJqZWN0PEFYRGF0YVNvdXJjZUNoYW5nZWRFdmVudDxUPj4oKTtcblxuICBwdWJsaWMgb25Mb2FkaW5nQ2hhbmdlZCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgX2lzTG9hZGluZyA9IGZhbHNlO1xuICBwdWJsaWMgZ2V0IGlzTG9hZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNMb2FkaW5nO1xuICB9XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBBWERhdGFTb3VyY2VDb25maWc8VD4pIHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLl9jYWNoZWRJdGVtcyA9IG5ldyBBcnJheSh0aGlzLmNvbmZpZy5wYWdlU2l6ZSk7XG4gICAgdGhpcy5faXRlbXMgPSBuZXcgQXJyYXkoMCk7XG4gICAgdGhpcy5fcXVlcnkgPSB7IHNraXA6IDAsIHRha2U6IHRoaXMuY29uZmlnLnBhZ2VTaXplIH07XG4gIH1cblxuICBwcml2YXRlIGxvYWQoKSB7XG4gICAgY29uc3QgcGFnZSA9IHRoaXMuX3BhZ2U7XG4gICAgaWYgKHRoaXMuZmV0Y2hlZFBhZ2VzLmhhcyhwYWdlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNldExvYWRpbmdTdGF0ZSh0cnVlKTtcbiAgICB0aGlzLmZldGNoZWRQYWdlcy5hZGQocGFnZSk7XG4gICAgdGhpcy5fcXVlcnkuc2tpcCA9IHBhZ2UgKiB0aGlzLmNvbmZpZy5wYWdlU2l6ZTtcbiAgICB0aGlzLmNvbmZpZ1xuICAgICAgLmxvYWQoeyAuLi50aGlzLl9xdWVyeSB9KVxuICAgICAgLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fdG90YWxDb3VudCAhPSByZXN1bHQudG90YWwpIHtcbiAgICAgICAgICB0aGlzLl9jYWNoZWRJdGVtcyA9IG5ldyBBcnJheShyZXN1bHQudG90YWwpO1xuICAgICAgICAgIHRoaXMuX3RvdGFsQ291bnQgPSByZXN1bHQudG90YWw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXRlbXMgPSByZXN1bHQuaXRlbXM7XG4gICAgICAgIHRoaXMuX2NhY2hlZEl0ZW1zLnNwbGljZShwYWdlICogdGhpcy5jb25maWcucGFnZVNpemUsIHRoaXMuY29uZmlnLnBhZ2VTaXplLCAuLi5yZXN1bHQuaXRlbXMpO1xuICAgICAgICBjb25zdCBldmVudCA9IHtcbiAgICAgICAgICBjYWNoZWRJdGVtczogdGhpcy5jYWNoZWRJdGVtcyxcbiAgICAgICAgICBpdGVtczogdGhpcy5pdGVtcyxcbiAgICAgICAgICBwYWdlOiBwYWdlLFxuICAgICAgICAgIHRvdGFsQ291bnQ6IHRoaXMudG90YWxDb3VudCxcbiAgICAgICAgICB0b3RhbFBhZ2VzOiB0aGlzLnRvdGFsUGFnZXMsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMub25DaGFuZ2VkLm5leHQoZXZlbnQpO1xuICAgICAgfSlcbiAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRMb2FkaW5nU3RhdGUoZmFsc2UpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldExvYWRpbmdTdGF0ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzTG9hZGluZyA9IHZhbHVlO1xuICAgIHRoaXMub25Mb2FkaW5nQ2hhbmdlZC5uZXh0KHRoaXMuX2lzTG9hZGluZyk7XG4gIH1cblxuICBwdWJsaWMgc2V0UGFnZShwYWdlOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5fcGFnZSAhPSBwYWdlIHx8IHRoaXMuX2l0ZW1zLmxlbmd0aCA9PSAwKSB7XG4gICAgICB0aGlzLl9wYWdlID0gcGFnZTtcbiAgICAgIHRoaXMubG9hZCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXIodmFsdWU6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbikge1xuICAgIHRoaXMuX3F1ZXJ5LmZpbHRlciA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIHNvcnQoLi4udmFsdWU6IEFYRGF0YVNvdXJjZVNvcnRPcHRpb25bXSkge1xuICAgIHRoaXMuX3F1ZXJ5LnNvcnQgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckZpbHRlcigpIHtcbiAgICB0aGlzLl9xdWVyeS5maWx0ZXIgPSBudWxsXG4gIH1cblxuICBwcml2YXRlIHJlc2V0KCkge1xuICAgIHRoaXMuX3F1ZXJ5LmZpbHRlciA9IG51bGw7XG4gICAgdGhpcy5fcXVlcnkuc29ydCA9IG51bGw7XG4gICAgdGhpcy5fcXVlcnkuc2tpcCA9IDA7XG4gICAgdGhpcy5fY2FjaGVkSXRlbXMgPSBuZXcgQXJyYXkodGhpcy5jb25maWcucGFnZVNpemUpO1xuICAgIHRoaXMuZmV0Y2hlZFBhZ2VzLmNsZWFyKCk7XG4gICAgdGhpcy5fcGFnZSA9IDA7XG4gICAgdGhpcy5fdG90YWxDb3VudCA9IDA7XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpIHtcbiAgICBjb25zdCBjdXJyZW50RmlsdGVyID0gdGhpcy5fcXVlcnkuZmlsdGVyO1xuICAgIGNvbnN0IGN1cnJlbnRTb3J0ID0gdGhpcy5fcXVlcnkuc29ydDtcbiAgICB0aGlzLnJlc2V0KCk7XG4gICAgdGhpcy5fcXVlcnkuZmlsdGVyID0gY3VycmVudEZpbHRlcjtcbiAgICB0aGlzLl9xdWVyeS5zb3J0ID0gY3VycmVudFNvcnQ7XG4gICAgdGhpcy5sb2FkKCk7XG4gIH1cblxuICBmaW5kKGtleTogdW5rbm93bik6IFQgfCBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBmcm9tQ2FjaGUgPSB0aGlzLmNhY2hlZEl0ZW1zLmZpbmQoXG4gICAgICAoYykgPT4gKCF0aGlzLmNvbmZpZy5rZXkgJiYgYyA9PSBrZXkpIHx8IChjICYmIHRoaXMuY29uZmlnLmtleSAmJiBjW3RoaXMuY29uZmlnLmtleV0gPT0ga2V5KSxcbiAgICApO1xuICAgIGlmIChmcm9tQ2FjaGUpIHJldHVybiBmcm9tQ2FjaGU7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmJ5S2V5ID8gdGhpcy5jb25maWcuYnlLZXkoa2V5KSA6IG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRBcnJheVRvRGF0YVNvdXJjZTxUPihcbiAgaXRlbXM6IFRbXSxcbiAgb3B0aW9uczogeyBrZXk6IHN0cmluZzsgcGFnZVNpemU6IG51bWJlciB9ID0geyBrZXk6ICdpZCcsIHBhZ2VTaXplOiAyMCB9LFxuKTogQVhEYXRhU291cmNlIHtcbiAgY29uc3QgY29uZmlnOiBBWERhdGFTb3VyY2VDb25maWcgPSB7XG4gICAga2V5OiBvcHRpb25zLmtleSxcbiAgICBwYWdlU2l6ZTogb3B0aW9ucy5wYWdlU2l6ZSxcbiAgICBsb2FkOiAoZTogQVhEYXRhU291cmNlUXVlcnkpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGUuZmlsdGVyID8gZmlsdGVyKGl0ZW1zLCBlLmZpbHRlcikgOiBpdGVtcztcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICBpdGVtczogcmVzdWx0LnNsaWNlKGUuc2tpcCwgZS5za2lwICsgZS50YWtlKSxcbiAgICAgICAgdG90YWw6IHJlc3VsdC5sZW5ndGgsXG4gICAgICB9KTtcbiAgICB9LFxuICAgIGJ5S2V5OiAodjogdW5rbm93bikgPT4gUHJvbWlzZS5yZXNvbHZlPFQ+KGl0ZW1zLmZpbmQoKGMpID0+IGNbb3B0aW9ucy5rZXldID09IHYpKSxcbiAgfTtcbiAgcmV0dXJuIG5ldyBBWERhdGFTb3VyY2UoY29uZmlnKTtcbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  export * from './lib/data-column.directive';
2
2
  export * from './lib/data-table.component';
3
3
  export * from './lib/data-table.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLWNvbHVtbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS10YWJsZS5tb2R1bGUnO1xuIl19
4
+ export * from './lib/data-table2.component';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtY29sdW1uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLXRhYmxlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLXRhYmxlMi5jb21wb25lbnQnO1xuIl19
@@ -8,7 +8,6 @@ import * as i3 from "@acorex/core/translation";
8
8
  export class AXDataTableComponent extends MXBaseComponent {
9
9
  constructor() {
10
10
  super(...arguments);
11
- this._columns = {};
12
11
  this.onPageChanged = new EventEmitter();
13
12
  this.showHeader = true;
14
13
  this._pageSize = 20;
@@ -111,11 +110,11 @@ export class AXDataTableComponent extends MXBaseComponent {
111
110
  this._fetchData();
112
111
  }
113
112
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXDataTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
114
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXDataTableComponent, selector: "ax-data-table", inputs: { rowTemplate: "rowTemplate", emptyTemplate: "emptyTemplate", showHeader: "showHeader", pageSize: "pageSize", fetchDataMode: "fetchDataMode", items: "items" }, outputs: { onPageChanged: "onPageChanged" }, providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }], queries: [{ propertyName: "_columns", predicate: AXDataColumnComponent }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\">\n</ng-content>\n<div class=\"ax-wrapper\">\n <!-- [axIsLoading]=\"isLoading\" -->\n <table class=\"ax-table ax-table-bordered\" tabindex=\"0\">\n <thead *ngIf=\"showHeader\">\n <tr>\n <th *ngFor=\"let c of _columns\">\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n </ng-template>\n <ng-template #captionTpl>\n {{c.caption}}\n </ng-template>\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngIf=\"displayItems.length; else emptyTpl\">\n <ng-container *ngFor=\"let d of displayItems;let rIndex=index\">\n <ng-template [ngIf]=\"rowTemplate\" [ngIfElse]=\"rowTpl\">\n <ng-container *ngTemplateOutlet=\"rowTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\n </ng-container>\n </ng-template>\n <ng-template #rowTpl>\n <tr>\n <ng-container *ngFor=\"let c of _columns\">\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\n <ng-container *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\n </ng-container>\n </ng-template>\n <ng-template #cellTpl>\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\">\n {{d[c.valueField]}}\n </td>\n </ng-template>\n </ng-container>\n </tr>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #emptyTpl>\n <tr>\n <td [attr.colspan]=\"_columns.length\">\n <ng-template [ngIf]=\"emptyTemplate\" [ngIfElse]=\"defaultEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </ng-template>\n <ng-template #defaultEmptyTemplate>\n <ax-result type=\"empty\" caption=\" {{'common.no-result-found' | trans }}\"></ax-result>\n </ng-template>\n </td>\n </tr>\n </ng-template>\n </tbody>\n </table>\n</div>\n<ng-content select=\"ax-footer\">\n</ng-content>", styles: ["ax-data-table{display:flex;flex-direction:column;border-radius:var(--ax-rounded-border-default);border:1px solid;border-color:rgba(var(--ax-color-border-default));outline-color:transparent}ax-data-table .ax-wrapper{display:flex;flex:1 1 0%;overflow:auto}ax-data-table>ax-header{border-bottom:1px solid;border-color:rgba(var(--ax-color-border-default))}ax-data-table>ax-footer{border-top:1px solid;border-color:rgba(var(--ax-color-border-default))}ax-data-table table{position:relative;border:0}ax-data-table table thead{position:sticky;top:0}ax-data-table table td,ax-data-table table th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\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.AXResultComponent, selector: "ax-result", inputs: ["type", "caption", "description"] }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
113
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXDataTableComponent, selector: "ax-data-table", inputs: { rowTemplate: "rowTemplate", emptyTemplate: "emptyTemplate", showHeader: "showHeader", pageSize: "pageSize", fetchDataMode: "fetchDataMode", items: "items" }, outputs: { onPageChanged: "onPageChanged" }, providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }], queries: [{ propertyName: "_columns", predicate: AXDataColumnComponent }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\">\n</ng-content>\n<div class=\"ax-wrapper\">\n <!-- [axIsLoading]=\"isLoading\" -->\n <table class=\"ax-table ax-table-bordered\" tabindex=\"0\">\n <thead *ngIf=\"showHeader\">\n <tr>\n <th *ngFor=\"let c of _columns\">\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n </ng-template>\n <ng-template #captionTpl>\n {{c.caption}}\n </ng-template>\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngIf=\"displayItems.length; else emptyTpl\">\n <ng-container *ngFor=\"let d of displayItems;let rIndex=index\">\n <ng-template [ngIf]=\"rowTemplate\" [ngIfElse]=\"rowTpl\">\n <ng-container *ngTemplateOutlet=\"rowTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\n </ng-container>\n </ng-template>\n <ng-template #rowTpl>\n <tr>\n <ng-container *ngFor=\"let c of _columns\">\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\n <ng-container *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\n </ng-container>\n </ng-template>\n <ng-template #cellTpl>\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\">\n {{d[c.valueField]}}\n </td>\n </ng-template>\n </ng-container>\n </tr>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #emptyTpl>\n <tr>\n <td [attr.colspan]=\"_columns.length\">\n <ng-template [ngIf]=\"emptyTemplate\" [ngIfElse]=\"defaultEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </ng-template>\n <ng-template #defaultEmptyTemplate>\n <ax-result type=\"empty\" caption=\" {{'common.no-result-found' | trans }}\"></ax-result>\n </ng-template>\n </td>\n </tr>\n </ng-template>\n </tbody>\n </table>\n</div>\n<ng-content select=\"ax-footer\">\n</ng-content>", styles: ["ax-data-table{display:flex;flex-direction:column;border-radius:var(--ax-rounded-border-default);border:1px solid;border-color:rgba(var(--ax-color-border-default));outline-color:transparent}ax-data-table .ax-wrapper{display:flex;flex:1 1 0%;overflow:auto}ax-data-table>ax-header{border-bottom:1px solid;border-color:rgba(var(--ax-color-border-default))}ax-data-table>ax-footer{border-top:1px solid;border-color:rgba(var(--ax-color-border-default))}ax-data-table table{position:relative;border:0}ax-data-table table thead{position:sticky;top:0}ax-data-table table tbody{height:100%}ax-data-table table td,ax-data-table table th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ax-data-table2{border-radius:var(--ax-rounded-border-default);border:1px solid;border-color:rgba(var(--ax-color-border-default));height:100%;font-size:.875rem;overflow-y:hidden;overflow-x:hidden}ax-data-table2 table{table-layout:fixed}ax-data-table2 .ax-table-header{border-start-start-radius:var(--ax-rounded-border-default);border-start-end-radius:var(--ax-rounded-border-default);background-color:rgba(var(--ax-color-on-surface));border-collapse:collapse;overflow:hidden}ax-data-table2 .ax-table-header th{text-transform:uppercase;font-weight:500;text-align:start;padding:.875rem 1rem;border-block-end:1px solid;border-inline-end:1px solid;border-color:rgba(var(--ax-color-border-default))}ax-data-table2 .ax-table-header th:last-child{border-inline-end:0px solid}ax-data-table2 .ax-table-body{border-collapse:collapse}ax-data-table2 .ax-table-body tr:last-child td{border-block-end:none}ax-data-table2 .ax-table-body td{text-align:start;padding:.875rem 1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-block-end:1px solid;border-inline-end:1px solid;border-color:rgba(var(--ax-color-border-default))}ax-data-table2 .ax-table-body td:last-child{border-inline-end:0px solid}\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.AXResultComponent, selector: "ax-result", inputs: ["type", "caption", "description"] }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
115
114
  }
116
115
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXDataTableComponent, decorators: [{
117
116
  type: Component,
118
- args: [{ selector: 'ax-data-table', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }], template: "<ng-content select=\"ax-header\">\n</ng-content>\n<div class=\"ax-wrapper\">\n <!-- [axIsLoading]=\"isLoading\" -->\n <table class=\"ax-table ax-table-bordered\" tabindex=\"0\">\n <thead *ngIf=\"showHeader\">\n <tr>\n <th *ngFor=\"let c of _columns\">\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n </ng-template>\n <ng-template #captionTpl>\n {{c.caption}}\n </ng-template>\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngIf=\"displayItems.length; else emptyTpl\">\n <ng-container *ngFor=\"let d of displayItems;let rIndex=index\">\n <ng-template [ngIf]=\"rowTemplate\" [ngIfElse]=\"rowTpl\">\n <ng-container *ngTemplateOutlet=\"rowTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\n </ng-container>\n </ng-template>\n <ng-template #rowTpl>\n <tr>\n <ng-container *ngFor=\"let c of _columns\">\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\n <ng-container *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\n </ng-container>\n </ng-template>\n <ng-template #cellTpl>\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\">\n {{d[c.valueField]}}\n </td>\n </ng-template>\n </ng-container>\n </tr>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #emptyTpl>\n <tr>\n <td [attr.colspan]=\"_columns.length\">\n <ng-template [ngIf]=\"emptyTemplate\" [ngIfElse]=\"defaultEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </ng-template>\n <ng-template #defaultEmptyTemplate>\n <ax-result type=\"empty\" caption=\" {{'common.no-result-found' | trans }}\"></ax-result>\n </ng-template>\n </td>\n </tr>\n </ng-template>\n </tbody>\n </table>\n</div>\n<ng-content select=\"ax-footer\">\n</ng-content>", styles: ["ax-data-table{display:flex;flex-direction:column;border-radius:var(--ax-rounded-border-default);border:1px solid;border-color:rgba(var(--ax-color-border-default));outline-color:transparent}ax-data-table .ax-wrapper{display:flex;flex:1 1 0%;overflow:auto}ax-data-table>ax-header{border-bottom:1px solid;border-color:rgba(var(--ax-color-border-default))}ax-data-table>ax-footer{border-top:1px solid;border-color:rgba(var(--ax-color-border-default))}ax-data-table table{position:relative;border:0}ax-data-table table thead{position:sticky;top:0}ax-data-table table td,ax-data-table table th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
117
+ args: [{ selector: 'ax-data-table', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }], template: "<ng-content select=\"ax-header\">\n</ng-content>\n<div class=\"ax-wrapper\">\n <!-- [axIsLoading]=\"isLoading\" -->\n <table class=\"ax-table ax-table-bordered\" tabindex=\"0\">\n <thead *ngIf=\"showHeader\">\n <tr>\n <th *ngFor=\"let c of _columns\">\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n </ng-template>\n <ng-template #captionTpl>\n {{c.caption}}\n </ng-template>\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngIf=\"displayItems.length; else emptyTpl\">\n <ng-container *ngFor=\"let d of displayItems;let rIndex=index\">\n <ng-template [ngIf]=\"rowTemplate\" [ngIfElse]=\"rowTpl\">\n <ng-container *ngTemplateOutlet=\"rowTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\n </ng-container>\n </ng-template>\n <ng-template #rowTpl>\n <tr>\n <ng-container *ngFor=\"let c of _columns\">\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\n <ng-container *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\n </ng-container>\n </ng-template>\n <ng-template #cellTpl>\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\">\n {{d[c.valueField]}}\n </td>\n </ng-template>\n </ng-container>\n </tr>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #emptyTpl>\n <tr>\n <td [attr.colspan]=\"_columns.length\">\n <ng-template [ngIf]=\"emptyTemplate\" [ngIfElse]=\"defaultEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </ng-template>\n <ng-template #defaultEmptyTemplate>\n <ax-result type=\"empty\" caption=\" {{'common.no-result-found' | trans }}\"></ax-result>\n </ng-template>\n </td>\n </tr>\n </ng-template>\n </tbody>\n </table>\n</div>\n<ng-content select=\"ax-footer\">\n</ng-content>", styles: ["ax-data-table{display:flex;flex-direction:column;border-radius:var(--ax-rounded-border-default);border:1px solid;border-color:rgba(var(--ax-color-border-default));outline-color:transparent}ax-data-table .ax-wrapper{display:flex;flex:1 1 0%;overflow:auto}ax-data-table>ax-header{border-bottom:1px solid;border-color:rgba(var(--ax-color-border-default))}ax-data-table>ax-footer{border-top:1px solid;border-color:rgba(var(--ax-color-border-default))}ax-data-table table{position:relative;border:0}ax-data-table table thead{position:sticky;top:0}ax-data-table table tbody{height:100%}ax-data-table table td,ax-data-table table th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ax-data-table2{border-radius:var(--ax-rounded-border-default);border:1px solid;border-color:rgba(var(--ax-color-border-default));height:100%;font-size:.875rem;overflow-y:hidden;overflow-x:hidden}ax-data-table2 table{table-layout:fixed}ax-data-table2 .ax-table-header{border-start-start-radius:var(--ax-rounded-border-default);border-start-end-radius:var(--ax-rounded-border-default);background-color:rgba(var(--ax-color-on-surface));border-collapse:collapse;overflow:hidden}ax-data-table2 .ax-table-header th{text-transform:uppercase;font-weight:500;text-align:start;padding:.875rem 1rem;border-block-end:1px solid;border-inline-end:1px solid;border-color:rgba(var(--ax-color-border-default))}ax-data-table2 .ax-table-header th:last-child{border-inline-end:0px solid}ax-data-table2 .ax-table-body{border-collapse:collapse}ax-data-table2 .ax-table-body tr:last-child td{border-block-end:none}ax-data-table2 .ax-table-body td{text-align:start;padding:.875rem 1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-block-end:1px solid;border-inline-end:1px solid;border-color:rgba(var(--ax-color-border-default))}ax-data-table2 .ax-table-body td:last-child{border-inline-end:0px solid}\n"] }]
119
118
  }], propDecorators: { _columns: [{
120
119
  type: ContentChildren,
121
120
  args: [AXDataColumnComponent]
@@ -134,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
134
133
  }], items: [{
135
134
  type: Input
136
135
  }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvbGliL2RhdGEtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtdGFibGUvc3JjL2xpYi9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxnQkFBZ0IsRUFHaEIsZUFBZSxHQUNoQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFVaEUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGVBQWU7SUFSekQ7O1FBVVksYUFBUSxHQUFxQyxFQUFzQyxDQUFDO1FBRzlGLGtCQUFhLEdBQThDLElBQUksWUFBWSxFQUErQixDQUFDO1FBUzNHLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFFbkIsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQVUvQixrQkFBYSxHQUFzQixNQUFNLENBQUM7UUFFbEMsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFFekIsaUJBQVksR0FBVSxFQUFFLENBQUM7UUFDekIsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFFeEIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN2QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBa0I5QixXQUFNLEdBQW9CLEVBQUUsQ0FBQztLQThFdEM7SUFqSEMsSUFDVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFD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RGpCLGVBQWU7dUJBQUMscUJBQXFCO2dCQUl0QyxhQUFhO3NCQURaLE1BQU07Z0JBSVAsV0FBVztzQkFEVixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBS0ssUUFBUTtzQkFEbEIsS0FBSztnQkFTTixhQUFhO3NCQURaLEtBQUs7Z0JBOEJGLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYRGF0YUxpc3RGZXRjaERhdGFDYWxsYmFjayxcbiAgQVhEYXRhTGlzdEl0ZW1zLFxuICBBWFBhZ2VkQ29tcG9uZW50LFxuICBBWFBhZ2VkQ29tcG9uZW50SW50ZXJmYWNlLFxuICBBWFZhbHVlQ2hhbmdlZEV2ZW50LFxuICBNWEJhc2VDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQVhEYXRhQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLWNvbHVtbi5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1kYXRhLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYUGFnZWRDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWERhdGFUYWJsZUNvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgQVhEYXRhVGFibGVDb21wb25lbnQgZXh0ZW5kcyBNWEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBWFBhZ2VkQ29tcG9uZW50SW50ZXJmYWNlIHtcbiAgQENvbnRlbnRDaGlsZHJlbihBWERhdGFDb2x1bW5Db21wb25lbnQpXG4gIHByb3RlY3RlZCBfY29sdW1uczogUXVlcnlMaXN0PEFYRGF0YUNvbHVtbkNvbXBvbmVudD4gPSB7fSBhcyBRdWVyeUxpc3Q8QVhEYXRhQ29sdW1uQ29tcG9uZW50PjtcblxuICBAT3V0cHV0KClcbiAgb25QYWdlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8bnVtYmVyPj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8bnVtYmVyPj4oKTtcblxuICBASW5wdXQoKVxuICByb3dUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgZW1wdHlUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgc2hvd0hlYWRlcjogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHJpdmF0ZSBfcGFnZVNpemU6IG51bWJlciA9IDIwO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHBhZ2VTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VTaXplO1xuICB9XG4gIHB1YmxpYyBzZXQgcGFnZVNpemUodjogbnVtYmVyKSB7XG4gICAgdGhpcy5fcGFnZVNpemUgPSB2O1xuICB9XG5cbiAgQElucHV0KClcbiAgZmV0Y2hEYXRhTW9kZTogJ2F1dG8nIHwgJ21hbnVhbCcgPSAnYXV0byc7XG5cbiAgcHJpdmF0ZSBfY3VycmVudFBhZ2U6IG51bWJlciA9IDE7XG5cbiAgcHJpdmF0ZSBfbG9hZGVkSXRlbXM6IGFueVtdID0gW107XG4gIHByaXZhdGUgX3RvdGFsSXRlbXM6IG51bWJlciA9IDA7XG5cbiAgcHJpdmF0ZSBfaXNMYXp5OiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IHRvdGFsQ291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fdG90YWxJdGVtcztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNMYXp5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0xhenk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzTG9hZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNMb2FkaW5nO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBsb2FkZWRDb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9sb2FkZWRJdGVtcz8ubGVuZ3RoIHx8IDA7XG4gIH1cblxuICBwcml2YXRlIF9pdGVtczogQVhEYXRhTGlzdEl0ZW1zID0gW107XG5cbiAgQElucHV0KClcbiAgZ2V0IGl0ZW1zKCk6IEFYRGF0YUxpc3RJdGVtcyB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zO1xuICB9XG4gIHNldCBpdGVtcyh2OiBBWERhdGFMaXN0SXRlbXMpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2KSkge1xuICAgICAgdGhpcy5faXRlbXMgPSB2O1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHYgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMuX2lzTGF6eSA9IHRydWU7XG4gICAgICB0aGlzLl9pdGVtcyA9IHY7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2l0ZW1zID0gW107XG4gICAgfVxuICB9XG5cbiAgZ2V0IGRpc3BsYXlJdGVtcygpOiBhbnlbXSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5pdGVtcykpIHtcbiAgICAgIHJldHVybiAodGhpcy5faXRlbXMgfHwgW10pIGFzIGFueVtdO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuX2l0ZW1zID09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiB0aGlzLl9sb2FkZWRJdGVtcyB8fCBbXTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZldGNoRGF0YU1vZGUgPT0gJ2F1dG8nKSB0aGlzLl9mZXRjaERhdGEoKTtcbiAgfVxuXG4gIF9mZXRjaERhdGEob3B0cz86IHsgc2VhcmNoUXVlcnk/OiBzdHJpbmcgfSkge1xuICAgIGNvbnN0IHNraXAgPSAodGhpcy5fY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMucGFnZVNpemUsXG4gICAgICB0YWtlID0gdGhpcy5wYWdlU2l6ZTtcbiAgICBpZiAoXG4gICAgICAodGhpcy5sb2FkZWRDb3VudCA+PSB0aGlzLnRvdGFsQ291bnQgJiYgdGhpcy50b3RhbENvdW50ICE9IDApIHx8XG4gICAgICB0aGlzLl9pc0xvYWRpbmcgfHxcbiAgICAgICF0aGlzLl9pc0xhenkgfHxcbiAgICAgIHNraXAgPiB0aGlzLnRvdGFsQ291bnRcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2l0ZW1zKSB7XG4gICAgICB0aGlzLl9pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICBjb25zdCBmZXRjaEZuID0gdGhpcy5faXRlbXMgYXMgQVhEYXRhTGlzdEZldGNoRGF0YUNhbGxiYWNrO1xuICAgICAgZmV0Y2hGbih7IHNraXAsIHRha2UsIHNlYXJjaFF1ZXJ5OiBvcHRzPy5zZWFyY2hRdWVyeSB9KVxuICAgICAgICAudGhlbigoYykgPT4ge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGMpKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2FkZWRJdGVtcyA9IGM7XG4gICAgICAgICAgICB0aGlzLl90b3RhbEl0ZW1zID0gYy5sZW5ndGg7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3RvdGFsSXRlbXMgPSBjLnRvdGFsIHx8IGMuaXRlbXM/Lmxlbmd0aCB8fCAwO1xuICAgICAgICAgICAgdGhpcy5fbG9hZGVkSXRlbXMgPSBbLi4ubmV3IFNldChjLml0ZW1zKV07XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5faXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5vblBhZ2VDaGFuZ2VkLm5leHQoe1xuICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlLFxuICAgICAgICAgICAgbmFtZTogJ3BhZ2UnLFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuX2N1cnJlbnRQYWdlLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZWZyZXNoKCkge1xuICAgIHRoaXMuX3RvdGFsSXRlbXMgPSAwO1xuICAgIHRoaXMuX2xvYWRlZEl0ZW1zID0gW107XG4gICAgdGhpcy5fZmV0Y2hEYXRhKCk7XG4gIH1cblxuICBnb1RvUGFnZShwYWdlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9jdXJyZW50UGFnZSA9IHBhZ2U7XG4gICAgdGhpcy5fZmV0Y2hEYXRhKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LWhlYWRlclwiPlxuPC9uZy1jb250ZW50PlxuPGRpdiBjbGFzcz1cImF4LXdyYXBwZXJcIj5cbiAgPCEtLSBbYXhJc0xvYWRpbmddPVwiaXNMb2FkaW5nXCIgLS0+XG4gIDx0YWJsZSBjbGFzcz1cImF4LXRhYmxlIGF4LXRhYmxlLWJvcmRlcmVkXCIgdGFiaW5kZXg9XCIwXCI+XG4gICAgPHRoZWFkICpuZ0lmPVwic2hvd0hlYWRlclwiPlxuICAgICAgPHRyPlxuICAgICAgICA8dGggKm5nRm9yPVwibGV0IGMgb2YgX2NvbHVtbnNcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiYy5oZWFkZXJUZW1wbGF0ZVwiIFtuZ0lmRWxzZV09XCJjYXB0aW9uVHBsXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYy5oZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNjYXB0aW9uVHBsPlxuICAgICAgICAgICAge3tjLmNhcHRpb259fVxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdGg+XG4gICAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG4gICAgPHRib2R5PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlJdGVtcy5sZW5ndGg7IGVsc2UgZW1wdHlUcGxcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZCBvZiBkaXNwbGF5SXRlbXM7bGV0IHJJbmRleD1pbmRleFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJyb3dUZW1wbGF0ZVwiIFtuZ0lmRWxzZV09XCJyb3dUcGxcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3dUZW1wbGF0ZTtjb250ZXh0OiB7ICRpbXBsaWNpdDoge2RhdGE6ZCxyb3dJbmRleDpySW5kZXh9IH1cIj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNyb3dUcGw+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGMgb2YgX2NvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiYy5jZWxsVGVtcGxhdGVcIiBbbmdJZkVsc2VdPVwiY2VsbFRwbFwiPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImMuY2VsbFRlbXBsYXRlO2NvbnRleHQ6IHsgJGltcGxpY2l0OiB7ZGF0YTpkLHJvd0luZGV4OnJJbmRleH0gfVwiPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2NlbGxUcGw+XG4gICAgICAgICAgICAgICAgICA8dGQgW2F0dHIuZGF0YS1sYWJlbF09XCJjLmNhcHRpb25cIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgICAgICAgICAge3tkW2MudmFsdWVGaWVsZF19fVxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHlUcGw+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8dGQgW2F0dHIuY29sc3Bhbl09XCJfY29sdW1ucy5sZW5ndGhcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJlbXB0eVRlbXBsYXRlXCIgW25nSWZFbHNlXT1cImRlZmF1bHRFbXB0eVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbXB0eVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0RW1wdHlUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPGF4LXJlc3VsdCB0eXBlPVwiZW1wdHlcIiBjYXB0aW9uPVwiIHt7J2NvbW1vbi5uby1yZXN1bHQtZm91bmQnIHwgdHJhbnMgfX1cIj48L2F4LXJlc3VsdD5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT5cbjwvZGl2PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtZm9vdGVyXCI+XG48L25nLWNvbnRlbnQ+Il19
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvbGliL2RhdGEtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtdGFibGUvc3JjL2xpYi9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxnQkFBZ0IsRUFHaEIsZUFBZSxHQUNoQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFVaEUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGVBQWU7SUFSekQ7O1FBYUUsa0JBQWEsR0FBOEMsSUFBSSxZQUFZLEVBQStCLENBQUM7UUFTM0csZUFBVSxHQUFZLElBQUksQ0FBQztRQUVuQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBVXZCLGtCQUFhLEdBQXNCLE1BQU0sQ0FBQztRQUVsQyxpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUVqQixpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6QixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUVoQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWQsZUFBVSxHQUFHLEtBQUssQ0FBQztRQWtCckIsV0FBTSxHQUFvQixFQUFFLENBQUM7S0E4RXRDO0lBbEhDLElBQ1csUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQVcsUUFBUSxDQUFDLENBQVM7UUFD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YUFBYTtzQkFEWixNQUFNO2dCQUlQLFdBQVc7c0JBRFYsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUtLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBU04sYUFBYTtzQkFEWixLQUFLO2dCQStCRixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWERhdGFMaXN0RmV0Y2hEYXRhQ2FsbGJhY2ssXG4gIEFYRGF0YUxpc3RJdGVtcyxcbiAgQVhQYWdlZENvbXBvbmVudCxcbiAgQVhQYWdlZENvbXBvbmVudEludGVyZmFjZSxcbiAgQVhWYWx1ZUNoYW5nZWRFdmVudCxcbiAgTVhCYXNlQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFYRGF0YUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS1jb2x1bW4uZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtZGF0YS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YS10YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWFBhZ2VkQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhEYXRhVGFibGVDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYRGF0YVRhYmxlQ29tcG9uZW50IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQVhQYWdlZENvbXBvbmVudEludGVyZmFjZSB7XG4gIEBDb250ZW50Q2hpbGRyZW4oQVhEYXRhQ29sdW1uQ29tcG9uZW50KVxuICBwcm90ZWN0ZWQgX2NvbHVtbnM6IFF1ZXJ5TGlzdDxBWERhdGFDb2x1bW5Db21wb25lbnQ+O1xuXG4gIEBPdXRwdXQoKVxuICBvblBhZ2VDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhWYWx1ZUNoYW5nZWRFdmVudDxudW1iZXI+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhWYWx1ZUNoYW5nZWRFdmVudDxudW1iZXI+PigpO1xuXG4gIEBJbnB1dCgpXG4gIHJvd1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgZW1wdHlUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpXG4gIHNob3dIZWFkZXI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHByaXZhdGUgX3BhZ2VTaXplID0gMjA7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgcGFnZVNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcGFnZVNpemU7XG4gIH1cbiAgcHVibGljIHNldCBwYWdlU2l6ZSh2OiBudW1iZXIpIHtcbiAgICB0aGlzLl9wYWdlU2l6ZSA9IHY7XG4gIH1cblxuICBASW5wdXQoKVxuICBmZXRjaERhdGFNb2RlOiAnYXV0bycgfCAnbWFudWFsJyA9ICdhdXRvJztcblxuICBwcml2YXRlIF9jdXJyZW50UGFnZSA9IDE7XG5cbiAgcHJpdmF0ZSBfbG9hZGVkSXRlbXM6IGFueVtdID0gW107XG4gIHByaXZhdGUgX3RvdGFsSXRlbXMgPSAwO1xuXG4gIHByaXZhdGUgX2lzTGF6eSA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBfaXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgZ2V0IHRvdGFsQ291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fdG90YWxJdGVtcztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNMYXp5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0xhenk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzTG9hZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNMb2FkaW5nO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBsb2FkZWRDb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9sb2FkZWRJdGVtcz8ubGVuZ3RoIHx8IDA7XG4gIH1cblxuICBwcml2YXRlIF9pdGVtczogQVhEYXRhTGlzdEl0ZW1zID0gW107XG5cbiAgQElucHV0KClcbiAgZ2V0IGl0ZW1zKCk6IEFYRGF0YUxpc3RJdGVtcyB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zO1xuICB9XG4gIHNldCBpdGVtcyh2OiBBWERhdGFMaXN0SXRlbXMpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2KSkge1xuICAgICAgdGhpcy5faXRlbXMgPSB2O1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHYgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMuX2lzTGF6eSA9IHRydWU7XG4gICAgICB0aGlzLl9pdGVtcyA9IHY7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2l0ZW1zID0gW107XG4gICAgfVxuICB9XG5cbiAgZ2V0IGRpc3BsYXlJdGVtcygpOiBhbnlbXSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5pdGVtcykpIHtcbiAgICAgIHJldHVybiAodGhpcy5faXRlbXMgfHwgW10pIGFzIGFueVtdO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuX2l0ZW1zID09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiB0aGlzLl9sb2FkZWRJdGVtcyB8fCBbXTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZldGNoRGF0YU1vZGUgPT0gJ2F1dG8nKSB0aGlzLl9mZXRjaERhdGEoKTtcbiAgfVxuXG4gIF9mZXRjaERhdGEob3B0cz86IHsgc2VhcmNoUXVlcnk/OiBzdHJpbmcgfSkge1xuICAgIGNvbnN0IHNraXAgPSAodGhpcy5fY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMucGFnZVNpemUsXG4gICAgICB0YWtlID0gdGhpcy5wYWdlU2l6ZTtcbiAgICBpZiAoXG4gICAgICAodGhpcy5sb2FkZWRDb3VudCA+PSB0aGlzLnRvdGFsQ291bnQgJiYgdGhpcy50b3RhbENvdW50ICE9IDApIHx8XG4gICAgICB0aGlzLl9pc0xvYWRpbmcgfHxcbiAgICAgICF0aGlzLl9pc0xhenkgfHxcbiAgICAgIHNraXAgPiB0aGlzLnRvdGFsQ291bnRcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2l0ZW1zKSB7XG4gICAgICB0aGlzLl9pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICBjb25zdCBmZXRjaEZuID0gdGhpcy5faXRlbXMgYXMgQVhEYXRhTGlzdEZldGNoRGF0YUNhbGxiYWNrO1xuICAgICAgZmV0Y2hGbih7IHNraXAsIHRha2UsIHNlYXJjaFF1ZXJ5OiBvcHRzPy5zZWFyY2hRdWVyeSB9KVxuICAgICAgICAudGhlbigoYykgPT4ge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGMpKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2FkZWRJdGVtcyA9IGM7XG4gICAgICAgICAgICB0aGlzLl90b3RhbEl0ZW1zID0gYy5sZW5ndGg7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3RvdGFsSXRlbXMgPSBjLnRvdGFsIHx8IGMuaXRlbXM/Lmxlbmd0aCB8fCAwO1xuICAgICAgICAgICAgdGhpcy5fbG9hZGVkSXRlbXMgPSBbLi4ubmV3IFNldChjLml0ZW1zKV07XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5faXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5vblBhZ2VDaGFuZ2VkLm5leHQoe1xuICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlLFxuICAgICAgICAgICAgbmFtZTogJ3BhZ2UnLFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuX2N1cnJlbnRQYWdlLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZWZyZXNoKCkge1xuICAgIHRoaXMuX3RvdGFsSXRlbXMgPSAwO1xuICAgIHRoaXMuX2xvYWRlZEl0ZW1zID0gW107XG4gICAgdGhpcy5fZmV0Y2hEYXRhKCk7XG4gIH1cblxuICBnb1RvUGFnZShwYWdlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9jdXJyZW50UGFnZSA9IHBhZ2U7XG4gICAgdGhpcy5fZmV0Y2hEYXRhKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LWhlYWRlclwiPlxuPC9uZy1jb250ZW50PlxuPGRpdiBjbGFzcz1cImF4LXdyYXBwZXJcIj5cbiAgPCEtLSBbYXhJc0xvYWRpbmddPVwiaXNMb2FkaW5nXCIgLS0+XG4gIDx0YWJsZSBjbGFzcz1cImF4LXRhYmxlIGF4LXRhYmxlLWJvcmRlcmVkXCIgdGFiaW5kZXg9XCIwXCI+XG4gICAgPHRoZWFkICpuZ0lmPVwic2hvd0hlYWRlclwiPlxuICAgICAgPHRyPlxuICAgICAgICA8dGggKm5nRm9yPVwibGV0IGMgb2YgX2NvbHVtbnNcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiYy5oZWFkZXJUZW1wbGF0ZVwiIFtuZ0lmRWxzZV09XCJjYXB0aW9uVHBsXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYy5oZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNjYXB0aW9uVHBsPlxuICAgICAgICAgICAge3tjLmNhcHRpb259fVxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdGg+XG4gICAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG4gICAgPHRib2R5PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlJdGVtcy5sZW5ndGg7IGVsc2UgZW1wdHlUcGxcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZCBvZiBkaXNwbGF5SXRlbXM7bGV0IHJJbmRleD1pbmRleFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJyb3dUZW1wbGF0ZVwiIFtuZ0lmRWxzZV09XCJyb3dUcGxcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3dUZW1wbGF0ZTtjb250ZXh0OiB7ICRpbXBsaWNpdDoge2RhdGE6ZCxyb3dJbmRleDpySW5kZXh9IH1cIj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNyb3dUcGw+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGMgb2YgX2NvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiYy5jZWxsVGVtcGxhdGVcIiBbbmdJZkVsc2VdPVwiY2VsbFRwbFwiPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImMuY2VsbFRlbXBsYXRlO2NvbnRleHQ6IHsgJGltcGxpY2l0OiB7ZGF0YTpkLHJvd0luZGV4OnJJbmRleH0gfVwiPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2NlbGxUcGw+XG4gICAgICAgICAgICAgICAgICA8dGQgW2F0dHIuZGF0YS1sYWJlbF09XCJjLmNhcHRpb25cIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgICAgICAgICAge3tkW2MudmFsdWVGaWVsZF19fVxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHlUcGw+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8dGQgW2F0dHIuY29sc3Bhbl09XCJfY29sdW1ucy5sZW5ndGhcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJlbXB0eVRlbXBsYXRlXCIgW25nSWZFbHNlXT1cImRlZmF1bHRFbXB0eVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbXB0eVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0RW1wdHlUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPGF4LXJlc3VsdCB0eXBlPVwiZW1wdHlcIiBjYXB0aW9uPVwiIHt7J2NvbW1vbi5uby1yZXN1bHQtZm91bmQnIHwgdHJhbnMgfX1cIj48L2F4LXJlc3VsdD5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT5cbjwvZGl2PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtZm9vdGVyXCI+XG48L25nLWNvbnRlbnQ+Il19
@@ -6,12 +6,14 @@ import { CommonModule } from '@angular/common';
6
6
  import { NgModule } from '@angular/core';
7
7
  import { AXDataColumnComponent } from './data-column.directive';
8
8
  import { AXDataTableComponent } from './data-table.component';
9
+ import { AXDataTable2Component } from './data-table2.component';
10
+ import { ScrollingModule } from '@angular/cdk/scrolling';
9
11
  import * as i0 from "@angular/core";
10
- const COMPONENT = [AXDataTableComponent, AXDataColumnComponent];
11
- const MODULES = [CommonModule, AXTranslationModule, AXResultModule, AXLoadingModule, AXDecoratorModule];
12
+ const COMPONENT = [AXDataTableComponent, AXDataTable2Component, AXDataColumnComponent];
13
+ const MODULES = [CommonModule, ScrollingModule, AXTranslationModule, AXResultModule, AXLoadingModule, AXDecoratorModule];
12
14
  export class AXDataTableModule {
13
15
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXDataTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: AXDataTableModule, declarations: [AXDataTableComponent, AXDataColumnComponent], imports: [CommonModule, AXTranslationModule, AXResultModule, AXLoadingModule, AXDecoratorModule], exports: [AXDataTableComponent, AXDataColumnComponent] }); }
16
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: AXDataTableModule, declarations: [AXDataTableComponent, AXDataTable2Component, AXDataColumnComponent], imports: [CommonModule, ScrollingModule, AXTranslationModule, AXResultModule, AXLoadingModule, AXDecoratorModule], exports: [AXDataTableComponent, AXDataTable2Component, AXDataColumnComponent] }); }
15
17
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXDataTableModule, imports: [MODULES] }); }
16
18
  }
17
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXDataTableModule, decorators: [{
@@ -23,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
23
25
  providers: [],
24
26
  }]
25
27
  }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvbGliL2RhdGEtdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRTlELE1BQU0sU0FBUyxHQUFHLENBQUMsb0JBQW9CLEVBQUUscUJBQXFCLENBQUMsQ0FBQztBQUNoRSxNQUFNLE9BQU8sR0FBRyxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixDQUFDLENBQUM7QUFReEcsTUFBTSxPQUFPLGlCQUFpQjs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBVFgsb0JBQW9CLEVBQUUscUJBQXFCLGFBQzdDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixhQURuRixvQkFBb0IsRUFBRSxxQkFBcUI7K0dBU2pELGlCQUFpQixZQUpmLE9BQU87OzJGQUlULGlCQUFpQjtrQkFON0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDNUIsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7b0JBQ3JCLE9BQU8sRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUN2QixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhSZXN1bHRNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcmVzdWx0JztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWERhdGFDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2RhdGEtY29sdW1uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBWERhdGFUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS10YWJsZS5jb21wb25lbnQnO1xuXG5jb25zdCBDT01QT05FTlQgPSBbQVhEYXRhVGFibGVDb21wb25lbnQsIEFYRGF0YUNvbHVtbkNvbXBvbmVudF07XG5jb25zdCBNT0RVTEVTID0gW0NvbW1vbk1vZHVsZSwgQVhUcmFuc2xhdGlvbk1vZHVsZSwgQVhSZXN1bHRNb2R1bGUsIEFYTG9hZGluZ01vZHVsZSwgQVhEZWNvcmF0b3JNb2R1bGVdO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRdLFxuICBpbXBvcnRzOiBbLi4uTU9EVUxFU10sXG4gIGV4cG9ydHM6IFsuLi5DT01QT05FTlRdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBWERhdGFUYWJsZU1vZHVsZSB7fVxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvbGliL2RhdGEtdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUV6RCxNQUFNLFNBQVMsR0FBRyxDQUFDLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixDQUFDLENBQUM7QUFDdkYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQVF6SCxNQUFNLE9BQU8saUJBQWlCOzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFUWCxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsYUFDcEUsWUFBWSxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixhQURwRyxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUI7K0dBU3hFLGlCQUFpQixZQUpmLE9BQU87OzJGQUlULGlCQUFpQjtrQkFON0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDNUIsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7b0JBQ3JCLE9BQU8sRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUN2QixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhSZXN1bHRNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcmVzdWx0JztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWERhdGFDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2RhdGEtY29sdW1uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBWERhdGFUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhEYXRhVGFibGUyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXRhYmxlMi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5cbmNvbnN0IENPTVBPTkVOVCA9IFtBWERhdGFUYWJsZUNvbXBvbmVudCwgQVhEYXRhVGFibGUyQ29tcG9uZW50LCBBWERhdGFDb2x1bW5Db21wb25lbnRdO1xuY29uc3QgTU9EVUxFUyA9IFtDb21tb25Nb2R1bGUsIFNjcm9sbGluZ01vZHVsZSwgQVhUcmFuc2xhdGlvbk1vZHVsZSwgQVhSZXN1bHRNb2R1bGUsIEFYTG9hZGluZ01vZHVsZSwgQVhEZWNvcmF0b3JNb2R1bGVdO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRdLFxuICBpbXBvcnRzOiBbLi4uTU9EVUxFU10sXG4gIGV4cG9ydHM6IFsuLi5DT01QT05FTlRdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBWERhdGFUYWJsZU1vZHVsZSB7IH1cbiJdfQ==