@lavalogic/scoria 0.12.3 → 0.13.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 (57) hide show
  1. package/dist/Components/Table/Body/QuickSearchCell.svelte +2 -3
  2. package/dist/Components/Table/Body/Rows/ColumnList.svelte +1 -1
  3. package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +1 -1
  4. package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte +25 -15
  5. package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte +8 -6
  6. package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte +7 -3
  7. package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte.d.ts +13 -12
  8. package/dist/Components/Table/Body/Rows/Columns/ExpandCellProps.d.ts +5 -4
  9. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte +1 -1
  10. package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +8 -6
  11. package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte +1 -1
  12. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +4 -3
  13. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte.d.ts +3 -2
  14. package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte +3 -3
  15. package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +7 -6
  16. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +8 -6
  17. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte +7 -4
  18. package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +8 -6
  19. package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +8 -6
  20. package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +3 -3
  21. package/dist/Components/Table/Body/Rows/TableRow.svelte +8 -7
  22. package/dist/Components/Table/Body/TableBody.svelte +19 -15
  23. package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.js +4 -3
  24. package/dist/Components/Table/Headers/HighlightAllHeader.svelte +29 -16
  25. package/dist/Components/Table/Headers/SelectAllHeader.svelte +1 -1
  26. package/dist/Components/Table/Headers/TableHead.svelte +1 -1
  27. package/dist/Components/Table/Misc/ColumnPanel.svelte +1 -1
  28. package/dist/Components/Table/Misc/ColumnPanelModal.svelte +1 -1
  29. package/dist/Components/Table/Misc/FilterInput.svelte +1 -3
  30. package/dist/Components/Table/Misc/FilterPanel.svelte +2 -2
  31. package/dist/Components/Table/Misc/FilterPanelModal.svelte +1 -1
  32. package/dist/Components/Table/Misc/TableFooter.svelte +1 -1
  33. package/dist/Components/Table/Misc/TableHorizontalBar.svelte +1 -1
  34. package/dist/Components/Table/Misc/TableSidebar.svelte +2 -1
  35. package/dist/Components/Table/Misc/ToolboxPanel.svelte +2 -2
  36. package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +1 -1
  37. package/dist/Components/Table/NestedTable.svelte +12 -8
  38. package/dist/Components/Table/NestedTable.svelte.d.ts +15 -15
  39. package/dist/Components/Table/Table.svelte +111 -118
  40. package/dist/Components/Table/Table.svelte.d.ts +16 -15
  41. package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.d.ts +6 -6
  42. package/dist/Components/Table/Types/Columns/ExpandColumn.d.ts +3 -2
  43. package/dist/Components/Table/Types/Columns/ExpandTableCell.d.ts +3 -2
  44. package/dist/Components/Table/Types/Context/ITable.d.ts +1 -1
  45. package/dist/Components/Table/Types/Context/TableContext.svelte.d.ts +32 -29
  46. package/dist/Components/Table/Types/Context/TableContext.svelte.js +313 -278
  47. package/dist/Components/Table/Types/Context/TableInitOptions.d.ts +4 -2
  48. package/dist/Components/Table/Types/DataRepository/IDataRepository.d.ts +1 -1
  49. package/dist/Components/Table/Types/DataRepository/ILocalDataRepository.d.ts +1 -2
  50. package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.d.ts +2 -1
  51. package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.js +31 -8
  52. package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.d.ts +2 -1
  53. package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.js +4 -1
  54. package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.d.ts +3 -3
  55. package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.js +1 -1
  56. package/dist/index.d.ts +1 -1
  57. package/package.json +11 -11
@@ -1,4 +1,5 @@
1
- import { TableContext } from './Types/Context/TableContext.svelte.js';
1
+ import { TableContext } from './Types/Context/TableContext.svelte';
2
+ import type { Primitive } from './Types/Context/TableInitOptions.js';
2
3
  declare global {
3
4
  interface HTMLElementEventMap {
4
5
  edit: CustomEvent<{
@@ -6,32 +7,32 @@ declare global {
6
7
  }>;
7
8
  }
8
9
  }
9
- export interface TableProps<T extends object> {
10
- readonly tableContext: TableContext<T>;
10
+ export interface TableProps<T extends object, IdType extends Primitive> {
11
+ readonly tableContext: TableContext<T, IdType>;
11
12
  nested?: boolean;
12
13
  }
13
14
  export declare const quickFilterContextIdentifier: symbol;
14
- declare function $$render<T extends object>(): {
15
- props: TableProps<T>;
15
+ declare function $$render<T extends object, IdType extends Primitive>(): {
16
+ props: TableProps<T, IdType>;
16
17
  exports: {};
17
18
  bindings: "";
18
19
  slots: {};
19
20
  events: {};
20
21
  };
21
- declare class __sveltets_Render<T extends object> {
22
- props(): ReturnType<typeof $$render<T>>['props'];
23
- events(): ReturnType<typeof $$render<T>>['events'];
24
- slots(): ReturnType<typeof $$render<T>>['slots'];
22
+ declare class __sveltets_Render<T extends object, IdType extends Primitive> {
23
+ props(): ReturnType<typeof $$render<T, IdType>>['props'];
24
+ events(): ReturnType<typeof $$render<T, IdType>>['events'];
25
+ slots(): ReturnType<typeof $$render<T, IdType>>['slots'];
25
26
  bindings(): "";
26
27
  exports(): {};
27
28
  }
28
29
  interface $$IsomorphicComponent {
29
- new <T extends object>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
30
- $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
31
- } & ReturnType<__sveltets_Render<T>['exports']>;
32
- <T extends object>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
33
- z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
30
+ new <T extends object, IdType extends Primitive>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, IdType>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, IdType>['props']>, ReturnType<__sveltets_Render<T, IdType>['events']>, ReturnType<__sveltets_Render<T, IdType>['slots']>> & {
31
+ $$bindings?: ReturnType<__sveltets_Render<T, IdType>['bindings']>;
32
+ } & ReturnType<__sveltets_Render<T, IdType>['exports']>;
33
+ <T extends object, IdType extends Primitive>(internal: unknown, props: ReturnType<__sveltets_Render<T, IdType>['props']> & {}): ReturnType<__sveltets_Render<T, IdType>['exports']>;
34
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
34
35
  }
35
36
  declare const Table: $$IsomorphicComponent;
36
- type Table<T extends object> = InstanceType<typeof Table<T>>;
37
+ type Table<T extends object, IdType extends Primitive> = InstanceType<typeof Table<T, IdType>>;
37
38
  export default Table;
@@ -1,23 +1,23 @@
1
1
  import type { IconProps } from '../../../../../IconProps.js';
2
- import type { TableInitOptions } from '../../../Context/TableInitOptions.js';
2
+ import type { Primitive, TableInitOptions } from '../../../Context/TableInitOptions.js';
3
3
  import type { DefsWrapper } from '../../DefsWrapper.js';
4
4
  import { ColumnDef, type ColumnDefProps } from '../ColumnDef.svelte.js';
5
- export interface ExpandDefProps<T extends object, R extends object> extends ColumnDefProps<T> {
5
+ export interface ExpandDefProps<T extends object, R extends object, InnterIdType extends Primitive> extends ColumnDefProps<T> {
6
6
  isEnabled: (item: T, index: number) => boolean | Promise<boolean>;
7
7
  getInnerColumnDefs: (item: T, index: number) => DefsWrapper<R>;
8
8
  headerIcon: IconProps['name'];
9
9
  innerTableName: string;
10
- innerTableOptions: TableInitOptions<R>;
10
+ innerTableOptions: TableInitOptions<R, InnterIdType>;
11
11
  accessorFn: (item: T, index: number) => Array<R> | Promise<Array<R>>;
12
12
  }
13
- export declare class ExpandDef<T extends object, R extends object = object> extends ColumnDef<T> {
13
+ export declare class ExpandDef<T extends object, R extends object, InnterIdType extends Primitive> extends ColumnDef<T> {
14
14
  readonly columnType: "Expand";
15
- constructor(props: ExpandDefProps<T, R>);
15
+ constructor(props: ExpandDefProps<T, R, InnterIdType>);
16
16
  readonly accessorFn: (item: T, index: number) => Array<R> | Promise<Array<R>>;
17
17
  readonly filterFn: undefined;
18
18
  readonly innerTableName: string;
19
19
  readonly getInnerColumnDefs: (item: T, index: number) => DefsWrapper<R>;
20
20
  readonly headerIcon: IconProps['name'];
21
21
  readonly isEnabled: (item: T, index: number) => boolean | Promise<boolean>;
22
- readonly innerTableOptions: TableInitOptions<R>;
22
+ readonly innerTableOptions: TableInitOptions<R, InnterIdType>;
23
23
  }
@@ -1,7 +1,8 @@
1
+ import type { Primitive } from '../Context/TableInitOptions.js';
1
2
  import type { ExpandDef } from './Definitions/Expand/ExpandDef.svelte.js';
2
- export interface ExpandColumn<T extends object, R extends object> {
3
+ export interface ExpandColumn<T extends object, R extends object, IdType extends Primitive> {
3
4
  id: string;
4
- columnDef: ExpandDef<T, R>;
5
+ columnDef: ExpandDef<T, R, IdType>;
5
6
  getCanSort: () => boolean;
6
7
  getToggleSortingHandler: () => (e: MouseEvent) => void;
7
8
  getIsSorted: () => 'asc' | 'desc' | 'none';
@@ -1,7 +1,8 @@
1
1
  import type { Row } from '../Context/Row.js';
2
+ import type { Primitive } from '../Context/TableInitOptions.js';
2
3
  import type { ExpandColumn } from './ExpandColumn.js';
3
- export interface ExpandTableCell<T extends object, R extends object = object> {
4
- column: ExpandColumn<T, R>;
4
+ export interface ExpandTableCell<T extends object, R extends object, IdType extends Primitive> {
5
+ column: ExpandColumn<T, R, IdType>;
5
6
  row: Row<T>;
6
7
  id: string;
7
8
  getValue: () => unknown;
@@ -9,7 +9,7 @@ import type { HeaderGroup } from '../HeaderGroup.js';
9
9
  import type { OnChangeFn } from '../OnChangeFn.js';
10
10
  import type { PaginationState } from '../Pagination/PaginationState.js';
11
11
  export interface ITable<T extends object> {
12
- data: Array<T>;
12
+ data: Promise<Array<T>>;
13
13
  columns: Array<ColumnDef<T>>;
14
14
  columnSizing: ColumnSizingState;
15
15
  columnVisibility: VisibilityState;
@@ -17,8 +17,8 @@ import type { OnChangeFn } from '../OnChangeFn.js';
17
17
  import { ToolbarPosition } from '../Toolbar/ToolbarPosition.js';
18
18
  import type { ITable } from './ITable.js';
19
19
  import type { RowModel } from './RowModel.js';
20
- import type { TableInitOptions } from './TableInitOptions.js';
21
- export declare class TableContext<T extends object> {
20
+ import type { Primitive, TableInitOptions } from './TableInitOptions.js';
21
+ export declare class TableContext<T extends object, RowIdType extends Primitive> {
22
22
  readonly defaultColumnDefs: DefsWrapper<T>;
23
23
  readonly tableName: string;
24
24
  allowCopy: boolean;
@@ -29,12 +29,13 @@ export declare class TableContext<T extends object> {
29
29
  allowAdvancedFiltering: boolean;
30
30
  toolbarPosition: ToolbarPosition;
31
31
  displayFooter: boolean;
32
- selectionExtractor: TableInitOptions<T>['selectionExtractor'];
32
+ selectionExtractor: TableInitOptions<T, RowIdType>['selectionExtractor'];
33
33
  getUserId: () => string | undefined;
34
34
  private _onEditCell;
35
+ private readonly debug;
35
36
  static readonly identifier: unique symbol;
36
- static init<T extends object>(defaultColumnDefs: DefsWrapper<T>, tableName: string, dataRepo: IDataRepository<T>, options: TableInitOptions<T>): TableContext<T>;
37
- protected constructor(INTERNAL_ONLY: symbol, defaultColumnDefs: DefsWrapper<T>, tableName: string, dataRepo: IDataRepository<T>, allowCopy: boolean, enableResize: boolean, allowColumnReordering: boolean, allowQuickFiltering: boolean, showQuickFilterByDefault: boolean, allowAdvancedFiltering: boolean, toolbarPosition: ToolbarPosition, displayFooter: boolean, selectionExtractor: TableInitOptions<T>['selectionExtractor'], getUserId: () => string | undefined, _onEditCell?: TableInitOptions<T>['onEditCell']);
37
+ static init<T extends object, RowIdType extends Primitive>(defaultColumnDefs: DefsWrapper<T>, tableName: string, dataRepo: IDataRepository<T>, options: TableInitOptions<T, RowIdType>): TableContext<T, RowIdType>;
38
+ protected constructor(INTERNAL_ONLY: symbol, defaultColumnDefs: DefsWrapper<T>, tableName: string, dataRepo: IDataRepository<T>, allowCopy: boolean, enableResize: boolean, allowColumnReordering: boolean, allowQuickFiltering: boolean, showQuickFilterByDefault: boolean, allowAdvancedFiltering: boolean, toolbarPosition: ToolbarPosition, displayFooter: boolean, selectionExtractor: TableInitOptions<T, RowIdType>['selectionExtractor'], getUserId: () => string | undefined, _onEditCell: TableInitOptions<T, RowIdType>['onEditCell'], debug: boolean);
38
39
  private readonly userId;
39
40
  private isSelectable;
40
41
  private _paginationRepo;
@@ -76,7 +77,7 @@ export declare class TableContext<T extends object> {
76
77
  get focusedRowIndexIds(): SvelteSet<number>;
77
78
  set focusedRowIndexIds(v: SvelteSet<number>);
78
79
  private readonly _highlightedItems;
79
- get highlightedItems(): SvelteMap<unknown, T>;
80
+ get highlightedItems(): SvelteMap<Awaited<unknown>, T>;
80
81
  private _focusedColumnIds;
81
82
  get focusedColumnIds(): SvelteSet<string>;
82
83
  set focusedColumnIds(v: SvelteSet<string>);
@@ -141,34 +142,35 @@ export declare class TableContext<T extends object> {
141
142
  private set hasInvalidSelectedItems(value);
142
143
  private columnDefsById;
143
144
  private readonly getSortingFn;
144
- readonly originalRowIndices: Map<T, number>;
145
145
  private _filterTimer;
146
146
  private get filterTimer();
147
147
  private set filterTimer(value);
148
148
  private _filteredIndices;
149
- get filteredIndices(): Array<number>;
150
- set filteredIndices(v: Array<number>);
151
- readonly filteredData: T[];
152
- readonly sortedData: Array<T>;
153
- readonly sortedRowModel: RowModel<T>;
154
- _currentPageData: Array<T>;
155
- readonly paginationRowModel: RowModel<T>;
156
- get currentPageData(): Array<T>;
157
- readonly selectionContains: (item: T) => boolean;
158
- readonly addInvalidValue: (item: T) => void;
159
- readonly removeInvalidValue: (item: T) => void;
149
+ get filteredIndices(): ReadonlyArray<number>;
150
+ set filteredIndices(v: ReadonlyArray<number>);
151
+ readonly filteredData: Array<T>;
152
+ readonly sortedData: Promise<Array<T>>;
153
+ readonly sortedRowModel: Promise<RowModel<T>>;
154
+ readonly currentPageData: Promise<Array<T>>;
155
+ readonly originalRowIndices: Promise<ReadonlyMap<unknown, number>>;
156
+ readonly paginationRowModel: Promise<RowModel<T>>;
157
+ readonly selectionContains: (item: T) => Promise<boolean>;
158
+ readonly addInvalidValue: (item: T) => Promise<void>;
159
+ readonly removeInvalidValue: (item: T) => Promise<void>;
160
160
  readonly setOpenModalCoordinates: (coordinates: CellCoordinatesWithoutColumn | null) => void;
161
- readonly toggleHighlightedRow: (item: T) => void;
161
+ readonly toggleHighlightedRow: (item: T) => Promise<void>;
162
162
  readonly resetHighlightedRows: () => void;
163
- readonly toggleSelected: (item: T, selected: boolean) => void;
163
+ readonly toggleSelected: (item: T, selected: boolean) => Promise<void>;
164
164
  setSelectionMap: (set: SvelteMap<unknown, T>) => void;
165
165
  readonly updateSelectedItems: () => Promise<void>;
166
166
  readonly resetSelectedItems: () => void;
167
+ private lastIncrement;
167
168
  readonly recalculateAllSelectedInCurrentPage: () => void;
168
169
  readonly selectAllInCurrentPage: () => Promise<void>;
169
170
  readonly onHighlightAll: () => void;
170
171
  readonly onEditCell: (item: T, coords: CellCoordinates, value: unknown) => Promise<void>;
171
172
  readonly handleTdKeydown: (e: KeyboardEvent) => void;
173
+ private handleKeystroke;
172
174
  readonly toggleQuickFiltering: () => void;
173
175
  readonly setColumnPinning: (updater: Updater<ColumnPinningState>) => void;
174
176
  updateFilters: OnChangeFn<ColumnFiltersState> | undefined;
@@ -185,20 +187,20 @@ export declare class TableContext<T extends object> {
185
187
  readonly startFocus: (coords: CellCoordinates) => void;
186
188
  readonly moveFocus: (coords: CellCoordinates, startEditing?: boolean) => void;
187
189
  readonly unfocus: () => void;
188
- readonly focusToTop: () => void;
189
- readonly focusToBottom: () => void;
190
- readonly moveToBottom: () => void;
191
- readonly moveToTop: () => void;
192
- readonly moveFocusUp: () => void;
193
- readonly setFocusUp: () => void;
194
- readonly tabForward: () => void;
190
+ readonly focusToTop: () => Promise<void>;
191
+ readonly focusToBottom: () => Promise<void> | undefined;
192
+ readonly moveToBottom: () => Promise<void>;
193
+ readonly moveToTop: () => Promise<void>;
194
+ readonly moveFocusUp: () => Promise<void>;
195
+ readonly setFocusUp: () => Promise<void>;
196
+ readonly tabForward: () => Promise<void>;
195
197
  readonly tabBackward: () => void;
196
198
  readonly focusToStart: () => void;
197
199
  readonly moveToStart: () => void;
198
200
  readonly focusToEnd: () => void;
199
201
  readonly moveToEnd: () => void;
200
- readonly moveFocusDown: () => void;
201
- readonly setFocusDown: () => void;
202
+ readonly moveFocusDown: () => Promise<void>;
203
+ readonly setFocusDown: () => Promise<void>;
202
204
  readonly moveFocusLeft: () => void;
203
205
  readonly setFocusLeft: () => void;
204
206
  readonly moveFocusRight: () => void;
@@ -231,5 +233,6 @@ export declare class TableContext<T extends object> {
231
233
  private _setNewPinningState;
232
234
  readonly getToggleSortingHandler: (def: ColumnDef<T>) => () => void;
233
235
  private reassignDefsToPresets;
236
+ private filteringLoop;
234
237
  }
235
238
  export declare function isSearchable<T extends object, CD extends ColumnDef<T>>(def: CD): def is CD & HasCustomFilterFunction;