@firestitch/list 18.0.74 → 18.0.76

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 (38) hide show
  1. package/app/classes/list-controller.d.ts +10 -0
  2. package/app/components/list/list.component.d.ts +18 -4
  3. package/app/directives/cell/cell-row-type-scope.directive.d.ts +11 -0
  4. package/app/directives/cell/cell.directive.d.ts +15 -1
  5. package/app/directives/cell/typed-cell.directive.d.ts +15 -0
  6. package/app/fs-list.module.d.ts +15 -14
  7. package/app/interfaces/listconfig.interface.d.ts +19 -9
  8. package/esm2022/app/classes/actions-controller.mjs +3 -5
  9. package/esm2022/app/classes/index.mjs +1 -1
  10. package/esm2022/app/classes/list-controller.mjs +21 -2
  11. package/esm2022/app/components/body/row/cell/cell.component.mjs +3 -3
  12. package/esm2022/app/components/footer/footer-row/footer-cell/footer-cell.component.mjs +3 -3
  13. package/esm2022/app/components/head/head-cell/head-cell.component.mjs +1 -1
  14. package/esm2022/app/components/list/list.component.mjs +53 -2
  15. package/esm2022/app/components/loader/loader.component.mjs +1 -1
  16. package/esm2022/app/directives/cell/cell-row-type-scope.directive.mjs +23 -0
  17. package/esm2022/app/directives/cell/cell.directive.mjs +23 -3
  18. package/esm2022/app/directives/cell/typed-cell.directive.mjs +20 -0
  19. package/esm2022/app/directives/empty-state/empty-state.directive.mjs +1 -1
  20. package/esm2022/app/directives/footer/footer.directive.mjs +1 -1
  21. package/esm2022/app/directives/group-expand-trigger/group-expand-trigger.directive.mjs +1 -1
  22. package/esm2022/app/directives/header/header.directive.mjs +1 -1
  23. package/esm2022/app/directives/heading/heading.directive.mjs +1 -1
  24. package/esm2022/app/directives/index.mjs +1 -1
  25. package/esm2022/app/enums/page-change-type.enum.mjs +1 -1
  26. package/esm2022/app/enums/pagination-strategy.enum.mjs +1 -1
  27. package/esm2022/app/enums/state.enum.mjs +1 -1
  28. package/esm2022/app/fs-list.module.mjs +6 -1
  29. package/esm2022/app/interfaces/cellconfig.interface.mjs +1 -1
  30. package/esm2022/app/interfaces/draggable-list.interface.mjs +1 -1
  31. package/esm2022/app/interfaces/external-params.interface.mjs +1 -1
  32. package/esm2022/app/interfaces/listconfig.interface.mjs +1 -1
  33. package/esm2022/app/interfaces/sorting-change-event.interface.mjs +1 -1
  34. package/esm2022/public_api.mjs +3 -1
  35. package/fesm2022/firestitch-list.mjs +142 -13
  36. package/fesm2022/firestitch-list.mjs.map +1 -1
  37. package/package.json +1 -1
  38. package/public_api.d.ts +2 -0
@@ -165,6 +165,16 @@ export declare class List {
165
165
  * @param sort
166
166
  */
167
167
  private _filterChange;
168
+ /**
169
+ * Callback when the filter reload button is clicked.
170
+ *
171
+ * Unlike a filter change, a reload must preserve the current page/offset,
172
+ * so we route to reload() which keeps paging intact instead of resetting it.
173
+ *
174
+ * @param query
175
+ * @param sort
176
+ */
177
+ private _filterReload;
168
178
  private _processRestoreQuery;
169
179
  private _filterSort;
170
180
  private _completeFetch;
@@ -9,12 +9,22 @@ import { IPaginationState } from '../../interfaces/pagination-state.interface';
9
9
  import { Column } from '../../models';
10
10
  import { FsBodyComponent } from '../body/body.component';
11
11
  import * as i0 from "@angular/core";
12
- export declare class FsListComponent implements OnInit, OnDestroy, AfterContentInit {
12
+ export declare class FsListComponent<TRow = any> implements OnInit, OnDestroy, AfterContentInit {
13
13
  reorderController: ReorderController;
14
14
  classFsList: boolean;
15
15
  rowHoverHighlight: boolean;
16
- set config(config: FsListConfig);
16
+ set config(config: FsListConfig<TRow>);
17
17
  loaderLines: number;
18
+ private _cellRowTypeInput?;
19
+ private _cellRowTypeFromConfig?;
20
+ /**
21
+ * Row typing anchor for cell templates. Overrides {@link FsListConfig.cellRowType}.
22
+ * Copied onto each `fs-list-cell` (and group cell templates) unless `[rowType]` is set on that cell.
23
+ */
24
+ set cellRowType(value: unknown);
25
+ get cellRowType(): unknown;
26
+ /** Merged config after defaults; used to type cells without per-template `[configTyping]`. */
27
+ get mergedListConfig(): FsListConfig<TRow> | undefined;
18
28
  filtersReady: EventEmitter<void>;
19
29
  headingTemplate: TemplateRef<any>;
20
30
  body: FsBodyComponent;
@@ -22,6 +32,8 @@ export declare class FsListComponent implements OnInit, OnDestroy, AfterContentI
22
32
  rowRemoved: EventEmitter<any>;
23
33
  firstLoad: boolean;
24
34
  private _listColumnDirectives;
35
+ /** Merged list config (after defaults); used to populate cell `configTyping` when cells omit it. */
36
+ private _mergedListConfig?;
25
37
  private _filterRef;
26
38
  private _filterParamsReady;
27
39
  private _destroy;
@@ -112,6 +124,8 @@ export declare class FsListComponent implements OnInit, OnDestroy, AfterContentI
112
124
  private _waitFirstLoad;
113
125
  private _configMergeCustomizer;
114
126
  private _restorePersistance;
115
- static ɵfac: i0.ɵɵFactoryDeclaration<FsListComponent, never>;
116
- static ɵcmp: i0.ɵɵComponentDeclaration<FsListComponent, "fs-list", never, { "config": { "alias": "config"; "required": false; }; "loaderLines": { "alias": "loaderLines"; "required": false; }; }, { "filtersReady": "filtersReady"; }, ["headingTemplate", "_emptyStateTemplate", "columnTemplates"], ["[fs-list-content]"], true, never>;
127
+ private _propagateCellRowTypeAnchors;
128
+ private _maybeApplyCellTyping;
129
+ static ɵfac: i0.ɵɵFactoryDeclaration<FsListComponent<any>, never>;
130
+ static ɵcmp: i0.ɵɵComponentDeclaration<FsListComponent<any>, "fs-list", never, { "config": { "alias": "config"; "required": false; }; "loaderLines": { "alias": "loaderLines"; "required": false; }; "cellRowType": { "alias": "cellRowType"; "required": false; }; }, { "filtersReady": "filtersReady"; }, ["headingTemplate", "_emptyStateTemplate", "columnTemplates"], ["[fs-list-content]"], true, never>;
117
131
  }
@@ -0,0 +1,11 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Wrap list columns in `<ng-container fsListCellRowType [rowType]="anchor" #cr="fsListCellRowType">`.
4
+ * On each `fs-list-cell`, bind `[rowType]="cr.rowType"` so `ngTemplateContextGuard` reuses the same
5
+ * type without repeating `{} as YourRow` on every cell.
6
+ */
7
+ export declare class FsListCellRowTypeScopeDirective<T = unknown> {
8
+ rowType?: T;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<FsListCellRowTypeScopeDirective<any>, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsListCellRowTypeScopeDirective<any>, "[fsListCellRowType]", ["fsListCellRowType"], { "rowType": { "alias": "rowType"; "required": false; }; }, {}, never, never, true, never>;
11
+ }
@@ -1,9 +1,23 @@
1
+ import type { FsListConfig } from '../../interfaces/listconfig.interface';
1
2
  import * as i0 from "@angular/core";
2
3
  export declare class FsListCellDirective<T = any> {
3
4
  colspan: any;
4
5
  align: string;
5
6
  className: string | string[];
7
+ /**
8
+ * Typing anchor (e.g. `readonly anchor = {} as MyRow` then `[rowType]="anchor"`).
9
+ * The value is only used for template type inference; it can be an empty object cast.
10
+ */
6
11
  rowType?: T;
12
+ /**
13
+ * Same as `rowType`, for `*fsListCell="anchor"` microsyntax (`*fsListCell` expands to `[fsListCell]="..."`).
14
+ * Pass a **component property** typed as `T` — not a type name (interfaces are not runtime values).
15
+ */
16
+ /**
17
+ * Filled by `fs-list` from merged `[config]` when you omit `[rowType]` / `[fsListCell]` and `cellRowType` is unset.
18
+ * Optional: bind `[configTyping]="config"` for strictTemplates / IDE narrowing.
19
+ */
20
+ configTyping?: FsListConfig<T>;
7
21
  static ngTemplateContextGuard<T>(directive: FsListCellDirective<T>, context: unknown): context is {
8
22
  $implicit: T;
9
23
  row: T;
@@ -15,5 +29,5 @@ export declare class FsListCellDirective<T = any> {
15
29
  expanded: boolean;
16
30
  };
17
31
  static ɵfac: i0.ɵɵFactoryDeclaration<FsListCellDirective<any>, never>;
18
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsListCellDirective<any>, "[fs-list-cell]", never, { "colspan": { "alias": "colspan"; "required": false; }; "align": { "alias": "align"; "required": false; }; "className": { "alias": "class"; "required": false; }; "rowType": { "alias": "rowType"; "required": false; }; }, {}, never, never, true, never>;
32
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsListCellDirective<any>, "[fs-list-cell],[fsListCell]", never, { "colspan": { "alias": "colspan"; "required": false; }; "align": { "alias": "align"; "required": false; }; "className": { "alias": "class"; "required": false; }; "rowType": { "alias": "fsListCell"; "required": false; }; "configTyping": { "alias": "configTyping"; "required": false; }; }, {}, never, never, true, never>;
19
33
  }
@@ -0,0 +1,15 @@
1
+ import { FsListCellDirective } from './cell.directive';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Extend with your own `selector` and row type `T` for strict template typing of `let-row="row"`
5
+ * without repeating `[rowType]` on every `[fs-list-cell]` (subclasses still match column cell queries).
6
+ *
7
+ * For IDE / strictTemplates narrowing, **redeclare** `ngTemplateContextGuard` on the concrete class
8
+ * with `directive: YourConcreteDirective` (inherited static guards are often not applied by the
9
+ * language service). TypeScript may report an invalid override vs `FsListCellDirective`; use
10
+ * `@ts-expect-error` on the class line above `export class` when required.
11
+ */
12
+ export declare abstract class FsTypedListCellDirective<T = any> extends FsListCellDirective<T> {
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<FsTypedListCellDirective<any>, never>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsTypedListCellDirective<any>, never, never, {}, {}, never, never, false, never>;
15
+ }
@@ -18,22 +18,23 @@ import * as i14 from "./components/footer/footer.component";
18
18
  import * as i15 from "./components/pagination/pagination.component";
19
19
  import * as i16 from "./directives/column/column.directive";
20
20
  import * as i17 from "./directives/cell/cell.directive";
21
- import * as i18 from "./directives/header/header.directive";
22
- import * as i19 from "./directives/footer/footer.directive";
23
- import * as i20 from "./directives/group-header/group-header.directive";
24
- import * as i21 from "./directives/group-footer/group-footer.directive";
25
- import * as i22 from "./directives/group-expand-trigger/group-expand-trigger.directive";
26
- import * as i23 from "./directives/draggable-list/draggable-list.directive";
27
- import * as i24 from "./directives/draggable-row/draggable-row.directive";
28
- import * as i25 from "./directives/empty-state/empty-state.directive";
29
- import * as i26 from "./directives/content/content.directive";
30
- import * as i27 from "./directives/content-init/content-init.directive";
31
- import * as i28 from "./directives/heading/heading.directive";
32
- import * as i29 from "./components/customize-cols/customize-cols.component";
33
- import * as i30 from "./pipes/action-label";
21
+ import * as i18 from "./directives/cell/cell-row-type-scope.directive";
22
+ import * as i19 from "./directives/header/header.directive";
23
+ import * as i20 from "./directives/footer/footer.directive";
24
+ import * as i21 from "./directives/group-header/group-header.directive";
25
+ import * as i22 from "./directives/group-footer/group-footer.directive";
26
+ import * as i23 from "./directives/group-expand-trigger/group-expand-trigger.directive";
27
+ import * as i24 from "./directives/draggable-list/draggable-list.directive";
28
+ import * as i25 from "./directives/draggable-row/draggable-row.directive";
29
+ import * as i26 from "./directives/empty-state/empty-state.directive";
30
+ import * as i27 from "./directives/content/content.directive";
31
+ import * as i28 from "./directives/content-init/content-init.directive";
32
+ import * as i29 from "./directives/heading/heading.directive";
33
+ import * as i30 from "./components/customize-cols/customize-cols.component";
34
+ import * as i31 from "./pipes/action-label";
34
35
  export declare class FsListModule {
35
36
  static forRoot(config?: FsListConfig): ModuleWithProviders<FsListModule>;
36
37
  static ɵfac: i0.ɵɵFactoryDeclaration<FsListModule, never>;
37
- static ɵmod: i0.ɵɵNgModuleDeclaration<FsListModule, never, [typeof i1.FsListComponent, typeof i2.FsRowComponent, typeof i3.FsRowActionsComponent, typeof i4.FsRowInlineActionComponent, typeof i5.FsRowMenuActionComponent, typeof i6.FsCellComponent, typeof i7.FsFooterRowComponent, typeof i8.FsFooterCellComponent, typeof i9.FsStatusComponent, typeof i10.FsListLoaderComponent, typeof i11.FsHeadComponent, typeof i12.FsHeadCellComponent, typeof i13.FsBodyComponent, typeof i14.FsFooterComponent, typeof i15.FsPaginationComponent, typeof i16.FsListColumnDirective, typeof i17.FsListCellDirective, typeof i18.FsListHeaderDirective, typeof i19.FsListFooterDirective, typeof i20.FsListGroupHeaderDirective, typeof i21.FsListGroupFooterDirective, typeof i22.FsListGroupExpandTriggerDirective, typeof i23.FsListDraggableListDirective, typeof i24.FsListDraggableRowDirective, typeof i25.FsListEmptyStateDirective, typeof i26.FsListContentDirective, typeof i27.FsListContentInitDirective, typeof i28.FsListHeadingDirective, typeof i29.CustomizeColsDialogComponent, typeof i30.ActionLabelPipe], [typeof i1.FsListComponent, typeof i2.FsRowComponent, typeof i6.FsCellComponent, typeof i10.FsListLoaderComponent, typeof i16.FsListColumnDirective, typeof i17.FsListCellDirective, typeof i18.FsListHeaderDirective, typeof i19.FsListFooterDirective, typeof i20.FsListGroupHeaderDirective, typeof i21.FsListGroupFooterDirective, typeof i22.FsListGroupExpandTriggerDirective, typeof i25.FsListEmptyStateDirective, typeof i26.FsListContentDirective, typeof i28.FsListHeadingDirective, typeof i23.FsListDraggableListDirective]>;
38
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FsListModule, never, [typeof i1.FsListComponent, typeof i2.FsRowComponent, typeof i3.FsRowActionsComponent, typeof i4.FsRowInlineActionComponent, typeof i5.FsRowMenuActionComponent, typeof i6.FsCellComponent, typeof i7.FsFooterRowComponent, typeof i8.FsFooterCellComponent, typeof i9.FsStatusComponent, typeof i10.FsListLoaderComponent, typeof i11.FsHeadComponent, typeof i12.FsHeadCellComponent, typeof i13.FsBodyComponent, typeof i14.FsFooterComponent, typeof i15.FsPaginationComponent, typeof i16.FsListColumnDirective, typeof i17.FsListCellDirective, typeof i18.FsListCellRowTypeScopeDirective, typeof i19.FsListHeaderDirective, typeof i20.FsListFooterDirective, typeof i21.FsListGroupHeaderDirective, typeof i22.FsListGroupFooterDirective, typeof i23.FsListGroupExpandTriggerDirective, typeof i24.FsListDraggableListDirective, typeof i25.FsListDraggableRowDirective, typeof i26.FsListEmptyStateDirective, typeof i27.FsListContentDirective, typeof i28.FsListContentInitDirective, typeof i29.FsListHeadingDirective, typeof i30.CustomizeColsDialogComponent, typeof i31.ActionLabelPipe], [typeof i1.FsListComponent, typeof i2.FsRowComponent, typeof i6.FsCellComponent, typeof i10.FsListLoaderComponent, typeof i16.FsListColumnDirective, typeof i17.FsListCellDirective, typeof i18.FsListCellRowTypeScopeDirective, typeof i19.FsListHeaderDirective, typeof i20.FsListFooterDirective, typeof i21.FsListGroupHeaderDirective, typeof i22.FsListGroupFooterDirective, typeof i23.FsListGroupExpandTriggerDirective, typeof i26.FsListEmptyStateDirective, typeof i27.FsListContentDirective, typeof i29.FsListHeadingDirective, typeof i24.FsListDraggableListDirective]>;
38
39
  static ɵinj: i0.ɵɵInjectorDeclaration<FsListModule>;
39
40
  }
@@ -15,7 +15,17 @@ export interface FsPaging {
15
15
  records?: number;
16
16
  strategy?: PaginationStrategy;
17
17
  }
18
- export interface FsListConfig {
18
+ /**
19
+ * List configuration. Use `FsListConfig<YourRow>` so `fetch` / `rowClass` / `cellRowType`
20
+ * share one row type (CDK-style). Defaults to `any` for backward compatibility.
21
+ */
22
+ export interface FsListConfig<TRow = any> {
23
+ /**
24
+ * Optional row typing anchor (e.g. `{} as MyRow`). Applied to every `fs-list-cell`
25
+ * (and group header/footer cells) that does not set its own `[rowType]` / `[configTyping]`.
26
+ * Overridable per list via `[cellRowType]` on `fs-list`.
27
+ */
28
+ cellRowType?: TRow;
19
29
  heading?: string;
20
30
  trackBy?: string;
21
31
  subheading?: string;
@@ -33,13 +43,13 @@ export interface FsListConfig {
33
43
  persist?: FsListPersitance;
34
44
  rowActions?: (FsListRowActionGroup | FsListRowAction)[];
35
45
  rowActionsHover?: boolean;
36
- rowClass?: (row: any, options?: FsListRowClassOptions) => string;
46
+ rowClass?: (row: TRow, options?: FsListRowClassOptions) => string;
37
47
  rowHover?: boolean;
38
48
  actions?: FsListAction[];
39
- fetch?: FsListFetchFn;
40
- afterFetch?: FsListAfterFetchFn;
49
+ fetch?: FsListFetchFn<TRow>;
50
+ afterFetch?: FsListAfterFetchFn<TRow>;
41
51
  beforeFetch?: FsListBeforeFetchFn;
42
- afterContentInit?: FsListAfterContentInitFn;
52
+ afterContentInit?: FsListAfterContentInitFn<TRow>;
43
53
  afterInit?: FsListAfterInitFn;
44
54
  selection?: FsListSelectionConfig;
45
55
  initialFetch?: boolean;
@@ -241,13 +251,13 @@ export interface FsListPersistanceConfig {
241
251
  }
242
252
  export type FsListPersitance = boolean | FsListPersistanceConfig;
243
253
  export type FsListStateValidationFn = (filters: any, rows: FsListAbstractRow[]) => boolean;
244
- export type FsListFetchFn = (query: Record<string, any>, options: FsListFetchOptions) => Observable<{
245
- data: unknown[];
254
+ export type FsListFetchFn<TRow = any> = (query: Record<string, any>, options: FsListFetchOptions) => Observable<{
255
+ data: TRow[];
246
256
  paging?: FsPaging;
247
257
  }>;
248
- export type FsListAfterFetchFn = (query: Record<string, any>, data: unknown[]) => void;
258
+ export type FsListAfterFetchFn<TRow = any> = (query: Record<string, any>, data: TRow[]) => void;
249
259
  export type FsListBeforeFetchFn = (query: any) => Observable<Record<string, any>>;
250
- export type FsListAfterContentInitFn = (query: Record<string, any>, data: unknown[]) => void;
260
+ export type FsListAfterContentInitFn<TRow = any> = (query: Record<string, any>, data: TRow[]) => void;
251
261
  export interface FsListRowClassOptions {
252
262
  index: number;
253
263
  groupIndex?: number;
@@ -30,8 +30,7 @@ export class ActionsController {
30
30
  this._actions.unshift(action);
31
31
  action.click = () => {
32
32
  this._filterRef.updateActions([this._doneAction]);
33
- this._filterRef.hideKeywordField();
34
- this._filterRef.hideFilters();
33
+ this._filterRef.disableFilters();
35
34
  actionClickFn(null);
36
35
  };
37
36
  this._reorderAction = action;
@@ -41,8 +40,7 @@ export class ActionsController {
41
40
  const actionClickFn = action.click;
42
41
  this._doneAction.click = () => {
43
42
  this._filterRef.updateActions(this._actions);
44
- this._filterRef.showKeywordField();
45
- this._filterRef.showFilters();
43
+ this._filterRef.enableFilters();
46
44
  actionClickFn(null);
47
45
  };
48
46
  }
@@ -54,4 +52,4 @@ export class ActionsController {
54
52
  this._filterRef.updateDisabledState();
55
53
  }
56
54
  }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9jbGFzc2VzL2FjdGlvbnMtY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSzNDLE1BQU0sT0FBTyxpQkFBaUI7SUFFcEIsVUFBVSxDQUFrQjtJQUU1QixRQUFRLEdBQW1CLEVBQUUsQ0FBQztJQUM5QixjQUFjLENBQWU7SUFDN0IsV0FBVyxDQUFlO0lBRTFCLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXhDLGdCQUFlLENBQUM7SUFFaEIsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxZQUFZLENBQUMsR0FBb0I7UUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7SUFDeEIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxPQUF1QjtRQUN2QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFFeEIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsTUFBb0I7UUFDMUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5QixNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsRUFBRTtZQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzlCLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztJQUMvQixDQUFDO0lBRU0sb0JBQW9CLENBQUMsTUFBb0I7UUFDOUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7UUFDMUIsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUVuQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxHQUFHLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzlCLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUM7SUFDSixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICdAZmlyZXN0aXRjaC9maWx0ZXInO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZzTGlzdEFjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvbGlzdGNvbmZpZy5pbnRlcmZhY2UnO1xuXG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25zQ29udHJvbGxlciB7XG5cbiAgcHJpdmF0ZSBfZmlsdGVyUmVmOiBGaWx0ZXJDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSBfYWN0aW9uczogRnNMaXN0QWN0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBfcmVvcmRlckFjdGlvbjogRnNMaXN0QWN0aW9uO1xuICBwcml2YXRlIF9kb25lQWN0aW9uOiBGc0xpc3RBY3Rpb247XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgZ2V0IGRlc3Ryb3kkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9kZXN0cm95JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aW9ucygpOiBGc0xpc3RBY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc0FjdGlvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRGaWx0ZXJSZWYocmVmOiBGaWx0ZXJDb21wb25lbnQpIHtcbiAgICB0aGlzLl9maWx0ZXJSZWYgPSByZWY7XG4gIH1cblxuICBwdWJsaWMgc2V0QWN0aW9ucyhhY3Rpb25zOiBGc0xpc3RBY3Rpb25bXSkge1xuICAgIHRoaXMuY2xlYXJBY3Rpb25zKCk7XG4gICAgdGhpcy5fYWN0aW9ucyA9IGFjdGlvbnM7XG5cbiAgICBpZiAodGhpcy5fcmVvcmRlckFjdGlvbikge1xuICAgICAgdGhpcy5fYWN0aW9ucy51bnNoaWZ0KHRoaXMuX3Jlb3JkZXJBY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRSZW9yZGVyQWN0aW9uKGFjdGlvbjogRnNMaXN0QWN0aW9uKSB7XG4gICAgY29uc3QgYWN0aW9uQ2xpY2tGbiA9IGFjdGlvbi5jbGljaztcbiAgICB0aGlzLl9hY3Rpb25zLnVuc2hpZnQoYWN0aW9uKTtcblxuICAgIGFjdGlvbi5jbGljayA9ICgpID0+IHtcbiAgICAgIHRoaXMuX2ZpbHRlclJlZi51cGRhdGVBY3Rpb25zKFt0aGlzLl9kb25lQWN0aW9uXSk7XG4gICAgICB0aGlzLl9maWx0ZXJSZWYuaGlkZUtleXdvcmRGaWVsZCgpO1xuICAgICAgdGhpcy5fZmlsdGVyUmVmLmhpZGVGaWx0ZXJzKCk7XG4gICAgICBhY3Rpb25DbGlja0ZuKG51bGwpO1xuICAgIH07XG5cbiAgICB0aGlzLl9yZW9yZGVyQWN0aW9uID0gYWN0aW9uO1xuICB9XG5cbiAgcHVibGljIGFkZFJlb3JkZXJEb25lQWN0aW9uKGFjdGlvbjogRnNMaXN0QWN0aW9uKSB7XG4gICAgdGhpcy5fZG9uZUFjdGlvbiA9IGFjdGlvbjtcbiAgICBjb25zdCBhY3Rpb25DbGlja0ZuID0gYWN0aW9uLmNsaWNrO1xuXG4gICAgdGhpcy5fZG9uZUFjdGlvbi5jbGljayA9ICgpID0+IHtcbiAgICAgIHRoaXMuX2ZpbHRlclJlZi51cGRhdGVBY3Rpb25zKHRoaXMuX2FjdGlvbnMpO1xuICAgICAgdGhpcy5fZmlsdGVyUmVmLnNob3dLZXl3b3JkRmllbGQoKTtcbiAgICAgIHRoaXMuX2ZpbHRlclJlZi5zaG93RmlsdGVycygpO1xuICAgICAgYWN0aW9uQ2xpY2tGbihudWxsKTtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGNsZWFyQWN0aW9ucygpIHtcbiAgICB0aGlzLl9hY3Rpb25zID0gW107XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dChudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVEaXNhYmxlZFN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZpbHRlclJlZi51cGRhdGVEaXNhYmxlZFN0YXRlKCk7XG4gIH1cbn1cbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9jbGFzc2VzL2FjdGlvbnMtY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSzNDLE1BQU0sT0FBTyxpQkFBaUI7SUFFcEIsVUFBVSxDQUFrQjtJQUU1QixRQUFRLEdBQW1CLEVBQUUsQ0FBQztJQUM5QixjQUFjLENBQWU7SUFDN0IsV0FBVyxDQUFlO0lBRTFCLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXhDLGdCQUFlLENBQUM7SUFFaEIsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxZQUFZLENBQUMsR0FBb0I7UUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7SUFDeEIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxPQUF1QjtRQUN2QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFFeEIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsTUFBb0I7UUFDMUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5QixNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsRUFBRTtZQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDakMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxNQUFvQjtRQUM5QyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQztRQUMxQixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBRW5DLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLEdBQUcsRUFBRTtZQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNoQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDeEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnQGZpcmVzdGl0Y2gvZmlsdGVyJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBGc0xpc3RBY3Rpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2xpc3Rjb25maWcuaW50ZXJmYWNlJztcblxuXG5leHBvcnQgY2xhc3MgQWN0aW9uc0NvbnRyb2xsZXIge1xuXG4gIHByaXZhdGUgX2ZpbHRlclJlZjogRmlsdGVyQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgX2FjdGlvbnM6IEZzTGlzdEFjdGlvbltdID0gW107XG4gIHByaXZhdGUgX3Jlb3JkZXJBY3Rpb246IEZzTGlzdEFjdGlvbjtcbiAgcHJpdmF0ZSBfZG9uZUFjdGlvbjogRnNMaXN0QWN0aW9uO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIGdldCBkZXN0cm95JCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVzdHJveSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGlvbnMoKTogRnNMaXN0QWN0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25zO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNBY3Rpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25zLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwdWJsaWMgc2V0RmlsdGVyUmVmKHJlZjogRmlsdGVyQ29tcG9uZW50KSB7XG4gICAgdGhpcy5fZmlsdGVyUmVmID0gcmVmO1xuICB9XG5cbiAgcHVibGljIHNldEFjdGlvbnMoYWN0aW9uczogRnNMaXN0QWN0aW9uW10pIHtcbiAgICB0aGlzLmNsZWFyQWN0aW9ucygpO1xuICAgIHRoaXMuX2FjdGlvbnMgPSBhY3Rpb25zO1xuXG4gICAgaWYgKHRoaXMuX3Jlb3JkZXJBY3Rpb24pIHtcbiAgICAgIHRoaXMuX2FjdGlvbnMudW5zaGlmdCh0aGlzLl9yZW9yZGVyQWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWRkUmVvcmRlckFjdGlvbihhY3Rpb246IEZzTGlzdEFjdGlvbikge1xuICAgIGNvbnN0IGFjdGlvbkNsaWNrRm4gPSBhY3Rpb24uY2xpY2s7XG4gICAgdGhpcy5fYWN0aW9ucy51bnNoaWZ0KGFjdGlvbik7XG5cbiAgICBhY3Rpb24uY2xpY2sgPSAoKSA9PiB7XG4gICAgICB0aGlzLl9maWx0ZXJSZWYudXBkYXRlQWN0aW9ucyhbdGhpcy5fZG9uZUFjdGlvbl0pO1xuICAgICAgdGhpcy5fZmlsdGVyUmVmLmRpc2FibGVGaWx0ZXJzKCk7XG4gICAgICBhY3Rpb25DbGlja0ZuKG51bGwpO1xuICAgIH07XG5cbiAgICB0aGlzLl9yZW9yZGVyQWN0aW9uID0gYWN0aW9uO1xuICB9XG5cbiAgcHVibGljIGFkZFJlb3JkZXJEb25lQWN0aW9uKGFjdGlvbjogRnNMaXN0QWN0aW9uKSB7XG4gICAgdGhpcy5fZG9uZUFjdGlvbiA9IGFjdGlvbjtcbiAgICBjb25zdCBhY3Rpb25DbGlja0ZuID0gYWN0aW9uLmNsaWNrO1xuXG4gICAgdGhpcy5fZG9uZUFjdGlvbi5jbGljayA9ICgpID0+IHtcbiAgICAgIHRoaXMuX2ZpbHRlclJlZi51cGRhdGVBY3Rpb25zKHRoaXMuX2FjdGlvbnMpO1xuICAgICAgdGhpcy5fZmlsdGVyUmVmLmVuYWJsZUZpbHRlcnMoKTtcbiAgICAgIGFjdGlvbkNsaWNrRm4obnVsbCk7XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckFjdGlvbnMoKSB7XG4gICAgdGhpcy5fYWN0aW9ucyA9IFtdO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRGlzYWJsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9maWx0ZXJSZWYudXBkYXRlRGlzYWJsZWRTdGF0ZSgpO1xuICB9XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  export { ActionsController } from './actions-controller';
2
2
  export { ColumnsController } from './columns-controller';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NsYXNzZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBBY3Rpb25zQ29udHJvbGxlciB9IGZyb20gJy4vYWN0aW9ucy1jb250cm9sbGVyJztcbmV4cG9ydCB7IENvbHVtbnNDb250cm9sbGVyIH0gZnJvbSAnLi9jb2x1bW5zLWNvbnRyb2xsZXInO1xuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NsYXNzZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBBY3Rpb25zQ29udHJvbGxlciB9IGZyb20gJy4vYWN0aW9ucy1jb250cm9sbGVyJztcclxuZXhwb3J0IHsgQ29sdW1uc0NvbnRyb2xsZXIgfSBmcm9tICcuL2NvbHVtbnMtY29udHJvbGxlcic7XHJcbiJdfQ==