@lavalogic/scoria 0.13.4 → 0.14.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 (71) hide show
  1. package/dist/Components/HorizontalTabGroup.svelte +2 -2
  2. package/dist/Components/HorizontalTabGroup.svelte.d.ts +23 -2
  3. package/dist/Components/HorizontalTabGroupButton.svelte +1 -1
  4. package/dist/Components/HorizontalTabGroupButton.svelte.d.ts +5 -5
  5. package/dist/Components/HorizontalTabGroupProps.d.ts +4 -4
  6. package/dist/Components/QuerySelect.svelte +2 -13
  7. package/dist/Components/Table/Body/QuickSearchCell.svelte +22 -17
  8. package/dist/Components/Table/Body/QuickSearchCell.svelte.d.ts +12 -12
  9. package/dist/Components/Table/Body/QuickSearchCellProps.d.ts +1 -1
  10. package/dist/Components/Table/Body/Rows/Columns/ActionsColumn.d.ts +1 -1
  11. package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +5 -6
  12. package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte.d.ts +14 -14
  13. package/dist/Components/Table/Body/Rows/Columns/SelectColumn.d.ts +2 -2
  14. package/dist/Components/Table/Body/Rows/Columns/SelectTableCell.d.ts +2 -2
  15. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +10 -10
  16. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte.d.ts +16 -16
  17. package/dist/Components/Table/Body/Rows/Columns/TableQueryCell.d.ts +2 -2
  18. package/dist/Components/Table/Body/Rows/Columns/TableQueryColumn.d.ts +2 -2
  19. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +3 -4
  20. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte.d.ts +1 -1
  21. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelectProps.d.ts +2 -2
  22. package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +4 -7
  23. package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte.d.ts +1 -1
  24. package/dist/Components/Table/Body/Rows/Columns/TableSelectProps.d.ts +2 -2
  25. package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +1 -1
  26. package/dist/Components/Table/Body/Rows/Columns/ValidityCellProps.d.ts +1 -1
  27. package/dist/Components/Table/Body/Rows/TableRow.svelte +4 -4
  28. package/dist/Components/Table/Body/TableBodyProps.d.ts +1 -1
  29. package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.js +30 -29
  30. package/dist/Components/Table/Misc/FilterInput.svelte +7 -9
  31. package/dist/Components/Table/Misc/FilterInput.svelte.d.ts +12 -12
  32. package/dist/Components/Table/Misc/FilterInputProps.d.ts +1 -1
  33. package/dist/Components/Table/Misc/FilterPanelModal.svelte +1 -1
  34. package/dist/Components/Table/Types/Columns/Column.d.ts +1 -1
  35. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.d.ts +2 -2
  36. package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.d.ts +5 -5
  37. package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.d.ts +5 -5
  38. package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.d.ts +5 -5
  39. package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.d.ts +5 -5
  40. package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.d.ts +9 -9
  41. package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.d.ts +5 -5
  42. package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.d.ts +4 -4
  43. package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.d.ts +4 -4
  44. package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts +1 -1
  45. package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.d.ts +5 -5
  46. package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.d.ts +1 -1
  47. package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.d.ts +5 -5
  48. package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.d.ts +2 -2
  49. package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.d.ts +2 -2
  50. package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.d.ts +2 -2
  51. package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.d.ts +1 -1
  52. package/dist/Components/Table/Types/Columns/DefsWrapper.d.ts +1 -1
  53. package/dist/Components/Table/Types/Columns/ProgressBarColumn.d.ts +2 -2
  54. package/dist/Components/Table/Types/Columns/ProgressBarTableCell.d.ts +2 -2
  55. package/dist/Components/Table/Types/Columns/TableCell.d.ts +1 -1
  56. package/dist/Components/Table/Types/Context/ITable.d.ts +3 -3
  57. package/dist/Components/Table/Types/Context/Row.d.ts +3 -3
  58. package/dist/Components/Table/Types/Context/TableContext.svelte.d.ts +1 -1
  59. package/dist/Components/Table/Types/Filtering/CustomFilter.d.ts +3 -3
  60. package/dist/Components/Table/Types/Filtering/CustomRemoteFilters.d.ts +1 -1
  61. package/dist/Components/Table/Types/Filtering/FilterFn.d.ts +1 -1
  62. package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.d.ts +1 -1
  63. package/dist/Components/VerticalTabGroup.svelte +2 -2
  64. package/dist/Components/VerticalTabGroup.svelte.d.ts +23 -2
  65. package/dist/Components/VerticalTabGroupProps.d.ts +3 -3
  66. package/dist/Contexts/ToastContext.svelte.d.ts +1 -3
  67. package/dist/Contexts/ToastContext.svelte.js +36 -10
  68. package/dist/Helpers/Helpers.svelte.d.ts +1 -1
  69. package/dist/Helpers/Helpers.svelte.js +1 -1
  70. package/dist/Types/Internal/SelectOption.d.ts +1 -1
  71. package/package.json +1 -1
@@ -4,7 +4,6 @@
4
4
  import { dev } from '$app/environment';
5
5
  import SingleSelect from '../../../../SingleSelect.svelte';
6
6
  import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
7
- import type { SelectFilterValueType } from '../../../Types/Filtering/FilterFn.js';
8
7
  import { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
9
8
  import { ToastContext } from '../../../../../Contexts/ToastContext.svelte.js';
10
9
  import { devCatch } from '../../../../../Helpers/Helpers.svelte.js';
@@ -15,7 +14,7 @@
15
14
  </script>
16
15
 
17
16
  <script lang="ts" generics="T extends object">
18
- const { cell }: TableSelectProps<T> = $props();
17
+ const { cell }: TableSelectProps<T, T> = $props();
19
18
 
20
19
  let tdref = $state<HTMLTableCellElement | undefined>();
21
20
 
@@ -59,7 +58,7 @@
59
58
  })().catch(devCatch);
60
59
  });
61
60
 
62
- const focusDetails: TableFocusDetails<T, SelectFilterValueType<T> | undefined> = $derived(
61
+ const focusDetails: TableFocusDetails<T, T> = $derived(
63
62
  new TableFocusDetails(cell, tableContext, toast)
64
63
  );
65
64
 
@@ -110,12 +109,10 @@
110
109
  });
111
110
 
112
111
  const optionsPromise = $derived(
113
- (cell.column.columnDef.getSpecificOptions?.(
112
+ cell.column.columnDef.getSpecificOptions?.(
114
113
  cell.row.original,
115
114
  focusDetails.coordinates.column
116
- ) ?? cell.column.columnDef.getOptions()) as
117
- | Array<SelectOption<T>>
118
- | Promise<Array<SelectOption<T>>>
115
+ ) ?? cell.column.columnDef.getOptions()
119
116
  );
120
117
 
121
118
  let previousValidity: Validity = $state(Validity.Valid);
@@ -1,6 +1,6 @@
1
1
  import type { TableSelectProps } from './TableSelectProps.js';
2
2
  declare function $$render<T extends object>(): {
3
- props: TableSelectProps<T>;
3
+ props: TableSelectProps<T, T>;
4
4
  exports: {};
5
5
  bindings: "";
6
6
  slots: {};
@@ -1,4 +1,4 @@
1
1
  import type { SelectTableCell } from './SelectTableCell.js';
2
- export interface TableSelectProps<T extends object> {
3
- cell: SelectTableCell<T>;
2
+ export interface TableSelectProps<T extends object, FilterValueType> {
3
+ cell: SelectTableCell<T, FilterValueType>;
4
4
  }
@@ -59,7 +59,7 @@
59
59
  const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
60
60
  const toastContext = getContext<ToastContext>(ToastContext.identifier);
61
61
 
62
- const focusDetails: TableFocusDetails<T, never> = $derived(
62
+ const focusDetails: TableFocusDetails<T, FilterValueType> = $derived(
63
63
  new TableFocusDetails(cell, tableContext, toastContext.toast)
64
64
  );
65
65
 
@@ -1,4 +1,4 @@
1
1
  import type { TableCell } from '../../../Types/Columns/TableCell.js';
2
- export interface ValidityCellProps<T extends object, in FilterValueType> {
2
+ export interface ValidityCellProps<T extends object, FilterValueType> {
3
3
  cell: TableCell<T, FilterValueType>;
4
4
  }
@@ -20,7 +20,7 @@
20
20
  const hoverable = $derived(tableContext.changeColourOnHover);
21
21
 
22
22
  //HACK converted this from derived to state+deffect because otherwise this throws an unsafe mutation error deeper down the stack
23
- const cells: Array<TableCell<T, unknown>> = $derived(
23
+ const cells: Array<TableCell<T>> = $derived(
24
24
  side === 'left'
25
25
  ? row.getLeftVisibleCells()
26
26
  : side === 'right'
@@ -28,7 +28,7 @@
28
28
  : row.getCenterVisibleCells()
29
29
  );
30
30
 
31
- let expandedColumnDef: ExpandDef<T, object, Primitive, unknown> | undefined = $state();
31
+ let expandedColumnDef: ExpandDef<T, object, Primitive> | undefined = $state();
32
32
 
33
33
  $effect(() => {
34
34
  if (cells.length) {
@@ -45,7 +45,7 @@
45
45
  let innerColumnDefs: DefsWrapper<object> = $state({ defs: [] });
46
46
  let innerTableName: string | undefined = $state();
47
47
 
48
- let prevExpandedColumnDef: ExpandDef<T, object, Primitive, unknown> | undefined = $state();
48
+ let prevExpandedColumnDef: ExpandDef<T, object, Primitive> | undefined = $state();
49
49
 
50
50
  const rowIndex = $derived(cells.at(0) && cells[0].row.visibleIndex);
51
51
  const highlighted = $derived(
@@ -84,7 +84,7 @@
84
84
  });
85
85
  });
86
86
 
87
- function onExpandChange(columnDef: ExpandDef<T, object, Primitive, unknown>) {
87
+ function onExpandChange(columnDef: ExpandDef<T, object, Primitive>) {
88
88
  if (expandedColumnDef?.id === columnDef.id) {
89
89
  expandedColumnDef = undefined;
90
90
  } else {
@@ -3,6 +3,6 @@ import type { HeightData } from './HeightData.js';
3
3
  export interface TableBodyProps<T extends object> {
4
4
  side: 'left' | 'centre' | 'right';
5
5
  heights: Array<HeightData<T>>;
6
- columns: Array<Column<T, unknown>>;
6
+ columns: Array<Column<T>>;
7
7
  includeHighlight: boolean;
8
8
  }
@@ -15,7 +15,7 @@ import { ProgressBarDef } from '../Types/Columns/Definitions/Display/ProgressBar
15
15
  import { ValidityDef } from '../Types/Columns/Definitions/Display/ValidityDef.svelte.js';
16
16
  import { ExpandDef } from '../Types/Columns/Definitions/Expand/ExpandDef.svelte.js';
17
17
  export function generateExampleItemColumnDefs(modal) {
18
- const expandDef = new ExpandDef({
18
+ const expandDef = $state(new ExpandDef({
19
19
  accessorFn: (it) => [it],
20
20
  getInnerColumnDefs: () => generateExampleItemColumnDefs(modal),
21
21
  header: 'Expand Cell',
@@ -27,7 +27,34 @@ export function generateExampleItemColumnDefs(modal) {
27
27
  getUserId: () => '1'
28
28
  },
29
29
  isEnabled: () => true
30
- });
30
+ }));
31
+ const selectDef = $state(new SelectDef({
32
+ id: 'someSelect',
33
+ header: 'Select Example',
34
+ optional: false,
35
+ getOptions: () => {
36
+ return [
37
+ {
38
+ label: 'First Option',
39
+ value: ExampleSelectEnum.FirstOption
40
+ },
41
+ {
42
+ label: 'Second Option',
43
+ value: ExampleSelectEnum.SecondOption
44
+ },
45
+ {
46
+ label: 'Third Option',
47
+ value: ExampleSelectEnum.ThirdOption
48
+ },
49
+ {
50
+ label: 'Fourth Option',
51
+ value: ExampleSelectEnum.FourthOption
52
+ }
53
+ ];
54
+ },
55
+ getDisplayValue: (item) => item.someSelect,
56
+ isEditable: () => true
57
+ }));
31
58
  let defs = $state([
32
59
  expandDef,
33
60
  new ValidityDef({
@@ -143,33 +170,7 @@ export function generateExampleItemColumnDefs(modal) {
143
170
  defaultHidden: true,
144
171
  showTime: true
145
172
  }),
146
- new SelectDef({
147
- id: 'someSelect',
148
- header: 'Select Example',
149
- optional: false,
150
- getOptions: () => {
151
- return [
152
- {
153
- label: 'First Option',
154
- value: ExampleSelectEnum.FirstOption
155
- },
156
- {
157
- label: 'Second Option',
158
- value: ExampleSelectEnum.SecondOption
159
- },
160
- {
161
- label: 'Third Option',
162
- value: ExampleSelectEnum.ThirdOption
163
- },
164
- {
165
- label: 'Fourth Option',
166
- value: ExampleSelectEnum.FourthOption
167
- }
168
- ];
169
- },
170
- getDisplayValue: (item) => item.someSelect,
171
- isEditable: () => true
172
- }),
173
+ selectDef,
173
174
  new BubbleDef({
174
175
  header: 'Generated Bubble',
175
176
  id: 'generatedBubble',
@@ -1,6 +1,6 @@
1
1
  <svelte:options runes />
2
2
 
3
- <script lang="ts" generics="T extends object,FilterValueType">
3
+ <script lang="ts" generics="T extends object">
4
4
  import { dev } from '$app/environment';
5
5
  import Button from '../../Button.svelte';
6
6
  import MultiSelect from '../../MultiSelect.svelte';
@@ -26,7 +26,7 @@
26
26
 
27
27
  const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
28
28
 
29
- const { def, customFilters }: FilterInputProps<T, FilterValueType> = $props();
29
+ const { def, customFilters }: FilterInputProps<T, unknown> = $props();
30
30
 
31
31
  const customFilter = $derived(customFilters?.get(def.id));
32
32
 
@@ -37,7 +37,7 @@
37
37
  let valueMax: number | null = $state(null);
38
38
 
39
39
  let selectedOptions: Array<SelectOption<unknown>> = $state([]);
40
- let lastQueryOptions: Array<SelectOption<string | number>> = $state([]);
40
+ let lastQueryOptions: Array<SelectOption<unknown>> = $state([]);
41
41
 
42
42
  const isNumeric = $derived(
43
43
  def instanceof NumberInputDef || customFilter?.type === CustomFilterType.Number
@@ -108,7 +108,7 @@
108
108
  if (def.debug) {
109
109
  console.log('value:', $state.snapshot(x));
110
110
  }
111
- value = (x ?? null) as SelectOption<string | number> | null;
111
+ value = (x ?? null) as SelectOption<unknown> | null;
112
112
  } else if (def.debug) {
113
113
  console.log(
114
114
  'filtering state value was undefined',
@@ -132,9 +132,7 @@
132
132
  }
133
133
  const x = opts.filter((it) => {
134
134
  if (it.value != null && (typeof it.value == 'string' || typeof it.value == 'number')) {
135
- return (filteringStateValue as Array<string | number> | undefined)?.includes(
136
- it.value
137
- );
135
+ return (filteringStateValue as Array<unknown> | undefined)?.includes(it.value);
138
136
  }
139
137
  return false;
140
138
  });
@@ -234,7 +232,7 @@
234
232
  let showToDateModal = $state(false);
235
233
 
236
234
  function generateOnChangeObject(label: string) {
237
- return (newValue: SelectOption<string | number> | null) => {
235
+ return (newValue: SelectOption<unknown> | null) => {
238
236
  tableContext.paginationRepo?.filterBy(def.id, newValue?.value ?? null);
239
237
  tableContext.dataRepo.__queryValues.set(label, newValue ?? null);
240
238
  value = newValue ?? null;
@@ -242,7 +240,7 @@
242
240
  }
243
241
 
244
242
  function generateOnChangePrimitive(label: string) {
245
- return (newValue: SelectOption<string | number> | null) => {
243
+ return (newValue: SelectOption<unknown> | null) => {
246
244
  tableContext.paginationRepo?.filterBy(def.id, newValue?.value ?? null);
247
245
  tableContext.dataRepo.__queryValues.set(label, newValue?.value ?? null);
248
246
  value = newValue?.value ?? null;
@@ -1,25 +1,25 @@
1
1
  import type { FilterInputProps } from './FilterInputProps.js';
2
- declare function $$render<T extends object, FilterValueType>(): {
3
- props: FilterInputProps<T, FilterValueType>;
2
+ declare function $$render<T extends object>(): {
3
+ props: FilterInputProps<T, unknown>;
4
4
  exports: {};
5
5
  bindings: "";
6
6
  slots: {};
7
7
  events: {};
8
8
  };
9
- declare class __sveltets_Render<T extends object, FilterValueType> {
10
- props(): ReturnType<typeof $$render<T, FilterValueType>>['props'];
11
- events(): ReturnType<typeof $$render<T, FilterValueType>>['events'];
12
- slots(): ReturnType<typeof $$render<T, FilterValueType>>['slots'];
9
+ declare class __sveltets_Render<T extends object> {
10
+ props(): ReturnType<typeof $$render<T>>['props'];
11
+ events(): ReturnType<typeof $$render<T>>['events'];
12
+ slots(): ReturnType<typeof $$render<T>>['slots'];
13
13
  bindings(): "";
14
14
  exports(): {};
15
15
  }
16
16
  interface $$IsomorphicComponent {
17
- new <T extends object, FilterValueType>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, FilterValueType>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, FilterValueType>['props']>, ReturnType<__sveltets_Render<T, FilterValueType>['events']>, ReturnType<__sveltets_Render<T, FilterValueType>['slots']>> & {
18
- $$bindings?: ReturnType<__sveltets_Render<T, FilterValueType>['bindings']>;
19
- } & ReturnType<__sveltets_Render<T, FilterValueType>['exports']>;
20
- <T extends object, FilterValueType>(internal: unknown, props: ReturnType<__sveltets_Render<T, FilterValueType>['props']> & {}): ReturnType<__sveltets_Render<T, FilterValueType>['exports']>;
21
- z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
17
+ 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']>> & {
18
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
19
+ } & ReturnType<__sveltets_Render<T>['exports']>;
20
+ <T extends object>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
21
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
22
22
  }
23
23
  declare const FilterInput: $$IsomorphicComponent;
24
- type FilterInput<T extends object, FilterValueType> = InstanceType<typeof FilterInput<T, FilterValueType>>;
24
+ type FilterInput<T extends object> = InstanceType<typeof FilterInput<T>>;
25
25
  export default FilterInput;
@@ -2,5 +2,5 @@ import type { ColumnDef } from '../Types/Columns/Definitions/ColumnDef.svelte.js
2
2
  import type { CustomRemoteFilters } from '../Types/Filtering/CustomRemoteFilters.js';
3
3
  export interface FilterInputProps<T extends object, FilterValueType> {
4
4
  def: ColumnDef<T, FilterValueType>;
5
- customFilters?: CustomRemoteFilters | undefined;
5
+ customFilters?: CustomRemoteFilters<FilterValueType> | undefined;
6
6
  }
@@ -18,7 +18,7 @@
18
18
  const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
19
19
 
20
20
  const { onclose }: FilterPanelModalProps = $props();
21
- const refs: Array<FilterInput<T, unknown>> = $state([]);
21
+ const refs: Array<FilterInput<T>> = $state([]);
22
22
 
23
23
  function reset() {
24
24
  tableContext.paginationRepo?.resetFilters();
@@ -1,5 +1,5 @@
1
1
  import type { ColumnDef } from './Definitions/ColumnDef.svelte.js';
2
- export interface Column<T extends object, in FilterFnType> {
2
+ export interface Column<T extends object, FilterFnType = unknown> {
3
3
  id: string;
4
4
  columnDef: ColumnDef<T, FilterFnType>;
5
5
  getCanSort: () => boolean;
@@ -1,9 +1,9 @@
1
1
  import { ColumnDef, type ColumnDefProps } from '../ColumnDef.svelte.js';
2
2
  import type { AccessorType } from './AccessorType.js';
3
- export interface AccessorDefProps<T extends object, FilterFnType = undefined> extends ColumnDefProps<T, FilterFnType> {
3
+ export interface AccessorDefProps<T extends object, FilterFnType = unknown> extends ColumnDefProps<T, FilterFnType> {
4
4
  readonly id: string & keyof T;
5
5
  }
6
- export declare abstract class AccessorDef<T extends object, FilterFnType = undefined> extends ColumnDef<T, FilterFnType> {
6
+ export declare abstract class AccessorDef<T extends object, FilterFnType = unknown> extends ColumnDef<T, FilterFnType> {
7
7
  readonly columnType: "Accessor";
8
8
  abstract readonly accessorType: AccessorType;
9
9
  }
@@ -1,11 +1,11 @@
1
1
  import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
2
2
  import type { BoolFilterValueType, FilterFn } from '../../../Filtering/FilterFn.js';
3
3
  import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
4
- export type CheckboxDefProps<T extends object> = AccessorDefProps<T, BoolFilterValueType>;
5
- export declare class CheckboxDef<T extends object> extends AccessorDef<T, BoolFilterValueType> {
4
+ export type CheckboxDefProps<T extends object, FilterValueType = BoolFilterValueType> = AccessorDefProps<T, FilterValueType>;
5
+ export declare class CheckboxDef<T extends object, FilterValueType = BoolFilterValueType> extends AccessorDef<T, FilterValueType> {
6
6
  readonly accessorType: "Checkbox";
7
- constructor(props: CheckboxDefProps<T>);
7
+ constructor(props: CheckboxDefProps<T, FilterValueType>);
8
8
  private _filterFn;
9
- get filterFn(): CustomFilterFn | FilterFn<T, BoolFilterValueType> | undefined;
10
- set filterFn(v: CustomFilterFn | FilterFn<T, BoolFilterValueType> | undefined);
9
+ get filterFn(): CustomFilterFn | FilterFn<T, FilterValueType> | undefined;
10
+ set filterFn(v: CustomFilterFn | FilterFn<T, FilterValueType> | undefined);
11
11
  }
@@ -1,14 +1,14 @@
1
1
  import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
2
2
  import type { DateFilterValueType, FilterFn } from '../../../Filtering/FilterFn.js';
3
3
  import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
4
- export interface DateInputDefProps<T extends object> extends AccessorDefProps<T, DateFilterValueType> {
4
+ export interface DateInputDefProps<T extends object, FilterValueType = DateFilterValueType> extends AccessorDefProps<T, FilterValueType> {
5
5
  showTime?: boolean;
6
6
  }
7
- export declare class DateInputDef<T extends object> extends AccessorDef<T, DateFilterValueType> {
7
+ export declare class DateInputDef<T extends object, FilterValueType = DateFilterValueType> extends AccessorDef<T, FilterValueType> {
8
8
  readonly accessorType: "Date";
9
- constructor(props: DateInputDefProps<T>);
9
+ constructor(props: DateInputDefProps<T, FilterValueType>);
10
10
  private _filterFn;
11
- get filterFn(): FilterFn<T, DateFilterValueType> | CustomFilterFn | undefined;
12
- set filterFn(v: FilterFn<T, DateFilterValueType> | CustomFilterFn | undefined);
11
+ get filterFn(): FilterFn<T, FilterValueType> | CustomFilterFn | undefined;
12
+ set filterFn(v: FilterFn<T, FilterValueType> | CustomFilterFn | undefined);
13
13
  readonly showTime: boolean;
14
14
  }
@@ -2,16 +2,16 @@ import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
2
2
  import type { FilterFn, NumberFilterValueType } from '../../../Filtering/FilterFn.js';
3
3
  import { type ColumnDefProps } from '../ColumnDef.svelte.js';
4
4
  import { AccessorDef } from './AccessorDef.svelte.js';
5
- export interface NumberInputDefProps<T extends object> extends ColumnDefProps<T, NumberFilterValueType> {
5
+ export interface NumberInputDefProps<T extends object, FilterValueType = NumberFilterValueType> extends ColumnDefProps<T, FilterValueType> {
6
6
  min: number;
7
7
  max: number;
8
8
  }
9
- export declare class NumberInputDef<T extends object> extends AccessorDef<T, NumberFilterValueType> {
9
+ export declare class NumberInputDef<T extends object, FilterValueType = NumberFilterValueType> extends AccessorDef<T, FilterValueType> {
10
10
  readonly accessorType: "Number";
11
- constructor(props: NumberInputDefProps<T>);
11
+ constructor(props: NumberInputDefProps<T, FilterValueType>);
12
12
  readonly min: number;
13
13
  readonly max: number;
14
14
  private _filterFn;
15
- get filterFn(): CustomFilterFn | FilterFn<T, NumberFilterValueType> | undefined;
16
- set filterFn(v: CustomFilterFn | FilterFn<T, NumberFilterValueType> | undefined);
15
+ get filterFn(): CustomFilterFn | FilterFn<T, FilterValueType> | undefined;
16
+ set filterFn(v: CustomFilterFn | FilterFn<T, FilterValueType> | undefined);
17
17
  }
@@ -1,17 +1,17 @@
1
1
  import type { SelectOption } from '../../../../../../Types/Internal/SelectOption.js';
2
2
  import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
3
- import type { FilterFn, SelectFilterValueType } from '../../../Filtering/FilterFn.js';
3
+ import type { FilterFn } from '../../../Filtering/FilterFn.js';
4
4
  import type { ColumnDefProps } from '../ColumnDef.svelte.js';
5
5
  import { AccessorDef } from './AccessorDef.svelte.js';
6
- export interface QueryDefProps<T extends object> extends ColumnDefProps<T, SelectFilterValueType<T>> {
6
+ export interface QueryDefProps<T extends object, FilterValueType = unknown> extends ColumnDefProps<T, FilterValueType> {
7
7
  query: (queryString: string, item: T, index: number) => Promise<Array<SelectOption<unknown>>>;
8
8
  getDisplayValue: (item: T, index: number) => string | null | Promise<string | null>;
9
9
  clearable?: boolean;
10
10
  }
11
- export declare class QueryDef<T extends object> extends AccessorDef<T, SelectFilterValueType<T>> {
11
+ export declare class QueryDef<T extends object, FilterValueType = unknown> extends AccessorDef<T, FilterValueType> {
12
12
  readonly accessorType: "Query";
13
- constructor(props: QueryDefProps<T>);
14
- readonly filterFn: CustomFilterFn | FilterFn<T, SelectFilterValueType<T>> | undefined;
13
+ constructor(props: QueryDefProps<T, FilterValueType>);
14
+ readonly filterFn: CustomFilterFn | FilterFn<T, FilterValueType> | undefined;
15
15
  getDisplayValue: (item: T, index: number) => string | null | Promise<string | null>;
16
16
  readonly query: (queryString: string, item: T, index: number) => Promise<Array<SelectOption<unknown>>>;
17
17
  readonly clearable: boolean;
@@ -3,24 +3,24 @@ import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
3
3
  import type { FilterFn, SelectFilterValueType } from '../../../Filtering/FilterFn.js';
4
4
  import type { ColumnDefProps } from '../ColumnDef.svelte.js';
5
5
  import { AccessorDef } from './AccessorDef.svelte.js';
6
- export interface SelectDefProps<T extends object> extends ColumnDefProps<T, SelectFilterValueType<T>> {
7
- getOptions: () => Array<SelectOption<unknown>> | Promise<Array<SelectOption<unknown>>>;
6
+ export interface SelectDefProps<T extends object, FilterValueType = unknown> extends ColumnDefProps<T, FilterValueType> {
7
+ getOptions: () => Array<SelectOption<FilterValueType>> | Promise<Array<SelectOption<FilterValueType>>>;
8
8
  getDisplayValue: (item: T, index: number) => string | null | Promise<string | null>;
9
9
  sortingFn?: (a: T, b: T) => 1 | -1 | 0;
10
- getSpecificOptions?: (item: T, index: number) => Array<SelectOption<unknown>> | Promise<Array<SelectOption<unknown>>>;
10
+ getSpecificOptions?: (item: T, index: number) => Array<SelectOption<FilterValueType>> | Promise<Array<SelectOption<FilterValueType>>>;
11
11
  optional?: boolean;
12
12
  clearable?: boolean;
13
13
  }
14
- export declare class SelectDef<T extends object> extends AccessorDef<T, SelectFilterValueType<T>> {
15
- constructor(props: SelectDefProps<T>);
14
+ export declare class SelectDef<T extends object, FilterValueType = SelectFilterValueType<T>> extends AccessorDef<T, FilterValueType> {
15
+ constructor(props: SelectDefProps<T, FilterValueType>);
16
16
  readonly accessorType: "Select";
17
17
  private _filterFn;
18
- get filterFn(): FilterFn<T, SelectFilterValueType<T>> | CustomFilterFn | undefined;
19
- set filterFn(v: FilterFn<T, SelectFilterValueType<T>> | CustomFilterFn | undefined);
18
+ get filterFn(): FilterFn<T, FilterValueType> | CustomFilterFn | undefined;
19
+ set filterFn(v: FilterFn<T, FilterValueType> | CustomFilterFn | undefined);
20
20
  readonly sortingFn?: (a: T, b: T) => 1 | -1 | 0;
21
21
  readonly optional: boolean;
22
22
  readonly clearable: boolean;
23
- readonly getSpecificOptions?: (item: T, index: number) => Array<SelectOption<unknown>> | Promise<Array<SelectOption<unknown>>>;
23
+ readonly getSpecificOptions?: (item: T, index: number) => Array<SelectOption<FilterValueType>> | Promise<Array<SelectOption<FilterValueType>>>;
24
24
  getDisplayValue: (item: T, index: number) => string | null | Promise<string | null>;
25
- getOptions: () => Array<SelectOption<unknown>> | Promise<Array<SelectOption<unknown>>>;
25
+ getOptions: () => Array<SelectOption<FilterValueType>> | Promise<Array<SelectOption<FilterValueType>>>;
26
26
  }
@@ -1,13 +1,13 @@
1
1
  import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
2
2
  import type { FilterFn, StringFilterValueType } from '../../../Filtering/FilterFn.js';
3
3
  import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
4
- export interface TextInputDefProps<T extends object> extends AccessorDefProps<T, StringFilterValueType> {
4
+ export interface TextInputDefProps<T extends object, FilterValueType = StringFilterValueType> extends AccessorDefProps<T, FilterValueType> {
5
5
  filterValueType?: 'String';
6
6
  }
7
- export declare class TextInputDef<T extends object> extends AccessorDef<T, StringFilterValueType> {
7
+ export declare class TextInputDef<T extends object, FilterValueType = StringFilterValueType> extends AccessorDef<T, FilterValueType> {
8
8
  readonly accessorType: "Text";
9
- constructor(props: TextInputDefProps<T>);
9
+ constructor(props: TextInputDefProps<T, FilterValueType>);
10
10
  private _filterFn;
11
- get filterFn(): CustomFilterFn | FilterFn<T, StringFilterValueType> | undefined;
12
- set filterFn(v: CustomFilterFn | FilterFn<T, StringFilterValueType> | undefined);
11
+ get filterFn(): CustomFilterFn | FilterFn<T, FilterValueType> | undefined;
12
+ set filterFn(v: CustomFilterFn | FilterFn<T, FilterValueType> | undefined);
13
13
  }
@@ -1,13 +1,13 @@
1
1
  import type { ColourSet } from '../../../../../../scss/colours.js';
2
2
  import type { TableActionButton } from '../../TableActionButton.js';
3
- import { ColumnDef } from '../ColumnDef.svelte.js';
4
- export interface ActionsDefProps<T extends object> {
3
+ import { ColumnDef, type ColumnDefProps } from '../ColumnDef.svelte.js';
4
+ export interface ActionsDefProps<T extends object, FilterValueType> extends Omit<ColumnDefProps<T, FilterValueType>, 'id' | 'header'> {
5
5
  actions: Array<TableActionButton<T>>;
6
6
  isEnabled?: (item: T, index: number, button: TableActionButton<T>) => boolean | Promise<boolean>;
7
7
  getColourSet?: (item: T, index: number, button: TableActionButton<T>) => ColourSet;
8
8
  }
9
- export declare class ActionsDef<T extends object> extends ColumnDef<T, undefined> {
10
- constructor(props: ActionsDefProps<T>);
9
+ export declare class ActionsDef<T extends object, FilterValueType> extends ColumnDef<T, FilterValueType> {
10
+ constructor(props: ActionsDefProps<T, FilterValueType>);
11
11
  readonly columnType: "Actions";
12
12
  readonly actions: Array<TableActionButton<T>>;
13
13
  readonly isEnabled?: (item: T, index: number, button: TableActionButton<T>) => boolean | Promise<boolean>;
@@ -7,7 +7,7 @@ import type { FilterValueType } from '../../Filtering/FilterValueType.js';
7
7
  import { ColumnType } from '../ColumnType.js';
8
8
  import type { AccessorFn } from './AccessorFn.js';
9
9
  import type { ValidationFn } from './ValidationFn.js';
10
- export interface ColumnDefProps<T extends object, in FilterFnType> {
10
+ export interface ColumnDefProps<T extends object, FilterFnType> {
11
11
  id: string;
12
12
  header: string | Snippet;
13
13
  debug?: boolean;
@@ -22,11 +22,11 @@ export interface ColumnDefProps<T extends object, in FilterFnType> {
22
22
  isValid?: ValidationFn<T>;
23
23
  filterFn?: FilterFn<T, FilterFnType> | CustomFilterFn;
24
24
  filterValueType?: FilterValueType;
25
- getOptions?: () => Array<SelectOption<unknown>> | Promise<Array<SelectOption<unknown>>>;
25
+ getOptions?: () => Array<SelectOption<FilterFnType>> | Promise<Array<SelectOption<FilterFnType>>>;
26
26
  accessorFn?: AccessorFn<T>;
27
27
  getDisplayValue?: (item: T, index: number) => string | null | Promise<string | null>;
28
28
  }
29
- export declare abstract class ColumnDef<T extends object, in FilterFnType> {
29
+ export declare abstract class ColumnDef<T extends object, FilterFnType> {
30
30
  protected constructor(props: ColumnDefProps<T, FilterFnType>);
31
31
  readonly id: string;
32
32
  debug: boolean;
@@ -60,5 +60,5 @@ export declare abstract class ColumnDef<T extends object, in FilterFnType> {
60
60
  readonly isEditable: (item: T, index: number) => boolean | Promise<boolean>;
61
61
  readonly resizable: boolean;
62
62
  readonly header: string | Snippet;
63
- readonly getOptions?: () => Array<SelectOption<unknown>> | Promise<Array<SelectOption<unknown>>>;
63
+ readonly getOptions?: () => Array<SelectOption<FilterFnType>> | Promise<Array<SelectOption<FilterFnType>>>;
64
64
  }
@@ -2,7 +2,7 @@ import type { Component } from 'svelte';
2
2
  import type { DisplayType } from '../../DisplayType.js';
3
3
  import type { TableCell } from '../../TableCell.js';
4
4
  import { ColumnDef, type ColumnDefProps } from '../ColumnDef.svelte.js';
5
- export interface DisplayDefModalProps<T extends object, in FilterValueType> {
5
+ export interface DisplayDefModalProps<T extends object, FilterValueType> {
6
6
  cell: TableCell<T, FilterValueType>;
7
7
  onclose: () => void;
8
8
  onsubmit: () => void;
@@ -2,14 +2,14 @@ import type { BubbleColour } from '../../../../../BubbleColour.js';
2
2
  import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
3
3
  import type { FilterFn, StringFilterValueType } from '../../../Filtering/FilterFn.js';
4
4
  import { AbstractDisplayDef, type AbstractDisplayDefProps } from './AbstractDisplayDef.svelte.js';
5
- export interface BubbleDefProps<T extends object> extends AbstractDisplayDefProps<T, StringFilterValueType> {
5
+ export interface BubbleDefProps<T extends object, FilterValueType = StringFilterValueType> extends AbstractDisplayDefProps<T, FilterValueType> {
6
6
  getColour?: (item: T, index: number, value: string) => BubbleColour | Promise<BubbleColour | null | undefined>;
7
7
  }
8
- export declare class BubbleDef<T extends object> extends AbstractDisplayDef<T, StringFilterValueType> {
8
+ export declare class BubbleDef<T extends object, FilterValueType = StringFilterValueType> extends AbstractDisplayDef<T, FilterValueType> {
9
9
  readonly displayType: "Bubbles";
10
- constructor(props: BubbleDefProps<T>);
10
+ constructor(props: BubbleDefProps<T, FilterValueType>);
11
11
  private _filterFn;
12
- get filterFn(): FilterFn<T, StringFilterValueType> | CustomFilterFn | undefined;
13
- set filterFn(v: FilterFn<T, StringFilterValueType> | CustomFilterFn | undefined);
12
+ get filterFn(): FilterFn<T, FilterValueType> | CustomFilterFn | undefined;
13
+ set filterFn(v: FilterFn<T, FilterValueType> | CustomFilterFn | undefined);
14
14
  getColour: ((item: T, index: number, value: string) => BubbleColour | Promise<BubbleColour | null | undefined>) | undefined;
15
15
  }
@@ -5,7 +5,7 @@ import { AbstractDisplayDef, type AbstractDisplayDefProps } from './AbstractDisp
5
5
  export type DisplayDefProps<T extends object, FilterValueType = unknown> = AbstractDisplayDefProps<T, FilterValueType>;
6
6
  export declare class DisplayDef<T extends object, FilterValueType = unknown> extends AbstractDisplayDef<T, FilterValueType> {
7
7
  readonly displayType: DisplayType;
8
- constructor(props: DisplayDefProps<T>);
8
+ constructor(props: DisplayDefProps<T, FilterValueType>);
9
9
  private _filterFn;
10
10
  get filterFn(): CustomFilterFn | FilterFn<T, FilterValueType> | undefined;
11
11
  set filterFn(v: CustomFilterFn | FilterFn<T, FilterValueType> | undefined);
@@ -2,14 +2,14 @@ import type { BubbleColour } from '../../../../../BubbleColour.js';
2
2
  import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
3
3
  import type { FilterFn, NumberFilterValueType } from '../../../Filtering/FilterFn.js';
4
4
  import { AbstractDisplayDef, type AbstractDisplayDefProps } from './AbstractDisplayDef.svelte.js';
5
- export interface ProgressBarDefProps<T extends object> extends AbstractDisplayDefProps<T, NumberFilterValueType> {
5
+ export interface ProgressBarDefProps<T extends object, FilterValueType = NumberFilterValueType> extends AbstractDisplayDefProps<T, FilterValueType> {
6
6
  getColour: (item: T, index: number, value: [number, number]) => BubbleColour | Promise<BubbleColour> | undefined;
7
7
  }
8
- export declare class ProgressBarDef<T extends object> extends AbstractDisplayDef<T, NumberFilterValueType> {
8
+ export declare class ProgressBarDef<T extends object, FilterValueType = NumberFilterValueType> extends AbstractDisplayDef<T, FilterValueType> {
9
9
  readonly displayType: "Progress";
10
- constructor(props: ProgressBarDefProps<T>);
10
+ constructor(props: ProgressBarDefProps<T, FilterValueType>);
11
11
  readonly getColour: (item: T, index: number, value: [number, number]) => BubbleColour | Promise<BubbleColour> | undefined;
12
12
  private _filterFn;
13
- get filterFn(): FilterFn<T, NumberFilterValueType> | CustomFilterFn | undefined;
14
- set filterFn(v: FilterFn<T, NumberFilterValueType> | CustomFilterFn | undefined);
13
+ get filterFn(): FilterFn<T, FilterValueType> | CustomFilterFn | undefined;
14
+ set filterFn(v: FilterFn<T, FilterValueType> | CustomFilterFn | undefined);
15
15
  }
@@ -1,9 +1,9 @@
1
1
  import type { ValidationFn } from '../ValidationFn.js';
2
2
  import { AbstractDisplayDef, type AbstractDisplayDefProps } from './AbstractDisplayDef.svelte.js';
3
- export interface ValidityDefProps<T extends object, FilterValueType> extends AbstractDisplayDefProps<T, FilterValueType> {
3
+ export interface ValidityDefProps<T extends object, FilterValueType = unknown> extends AbstractDisplayDefProps<T, FilterValueType> {
4
4
  isValid: ValidationFn<T>;
5
5
  }
6
- export declare class ValidityDef<T extends object, FilterValueType> extends AbstractDisplayDef<T, FilterValueType> {
6
+ export declare class ValidityDef<T extends object, FilterValueType = unknown> extends AbstractDisplayDef<T, FilterValueType> {
7
7
  readonly displayType: "Validity";
8
8
  constructor(props: ValidityDefProps<T, FilterValueType>);
9
9
  readonly filterFn: undefined;