@lavalogic/scoria 0.0.1 → 0.0.3

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/Base/ContextWrapper.svelte +36 -0
  2. package/dist/Components/Base/ContextWrapper.svelte.d.ts +7 -0
  3. package/dist/Components/DimensionInput.svelte.d.ts +1 -1
  4. package/dist/Components/Table/Body/QuickSearchCell.svelte +1 -1
  5. package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte.d.ts +1 -1
  6. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +1 -1
  7. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +1 -1
  8. package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +1 -1
  9. package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDef.svelte.d.ts +1 -1
  10. package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDef.svelte.js +3 -3
  11. package/dist/Components/Table/Misc/FilterInput.svelte +2 -2
  12. package/dist/Components/Table/NestedTable.svelte +3 -3
  13. package/dist/Components/Table/NestedTable.svelte.d.ts +2 -2
  14. package/dist/Components/Table/Table.svelte +0 -1
  15. package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.js +1 -1
  16. package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.d.ts +2 -2
  17. package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.d.ts +1 -1
  18. package/dist/Components/Table/Types/Columns/{AbstractDisplayDef.svelte.d.ts → Definitions/Display/AbstractDisplayDef.svelte.d.ts} +4 -4
  19. package/dist/Components/Table/Types/Columns/{AbstractDisplayDef.svelte.js → Definitions/Display/AbstractDisplayDef.svelte.js} +2 -2
  20. package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.d.ts +1 -1
  21. package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.js +1 -1
  22. package/dist/Components/Table/Types/Columns/Definitions/Display/{DisplayDef.d.ts → DisplayDef.svelte.d.ts} +1 -1
  23. package/dist/Components/Table/Types/Columns/Definitions/Display/{DisplayDef.js → DisplayDef.svelte.js} +1 -1
  24. package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.d.ts +1 -1
  25. package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.js +1 -1
  26. package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.d.ts +1 -1
  27. package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.js +1 -1
  28. package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.d.ts +3 -3
  29. package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/{FilterOnlyDef.d.ts → FilterOnlyDef.svelte.d.ts} +3 -1
  30. package/dist/Components/Table/Types/Context/{Table.d.ts → ITable.d.ts} +1 -1
  31. package/dist/Components/Table/Types/Context/TableContext.svelte.d.ts +10 -10
  32. package/dist/Components/Table/Types/Context/TableContext.svelte.js +3 -3
  33. package/dist/Components/Table/Types/Context/TableInitOptions.d.ts +1 -1
  34. package/dist/Components/Table/Types/DataRepository/{DataRepository.d.ts → IDataRepository.d.ts} +1 -1
  35. package/dist/Components/Table/Types/DataRepository/{LocalDataRepository.d.ts → ILocalDataRepository.d.ts} +2 -2
  36. package/dist/Components/Table/Types/DataRepository/{RemoteDataRepository.d.ts → IRemoteDataRepository.d.ts} +2 -2
  37. package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.d.ts +3 -3
  38. package/dist/Components/Table/Types/DataRepository/RemoteTableDataRepository.svelte.d.ts +3 -23
  39. package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.d.ts +2 -2
  40. package/dist/Components/Table/Types/Filtering/CustomRemoteFilters.d.ts +1 -1
  41. package/dist/Components/Touch/TextModal.svelte +0 -4
  42. package/dist/Types/Examples/ExampleModal.svelte +1 -1
  43. package/dist/Types/Examples/ExampleModal.svelte.d.ts +1 -1
  44. package/dist/Types/Requests/IFillablePodLineDateRequestBody.d.ts +2 -0
  45. package/dist/Types/Requests/IRequiredPodLineDateRequestBody.d.ts +2 -0
  46. package/dist/Types/Requests/IValidatedPodLineDateRequestBody.d.ts +2 -0
  47. package/dist/Types/Responses/Pods/IRequiredOrValidatedAttribute.d.ts +2 -0
  48. package/dist/Types/Responses/Pods/IRequiredPodLineBatch.d.ts +2 -0
  49. package/dist/Types/Responses/Pods/IRequiredPodLineDate.d.ts +2 -0
  50. package/dist/Types/Responses/Pods/IValidatedPodLineBatch.d.ts +2 -0
  51. package/dist/Types/Responses/Pods/IValidatedPodLineDate.d.ts +2 -0
  52. package/dist/index.d.ts +227 -1
  53. package/dist/index.js +234 -2
  54. package/package.json +1 -1
  55. package/dist/Helpers/skata.d.ts +0 -1
  56. package/dist/Helpers/skata.js +0 -1
  57. /package/dist/Components/Table/Types/Columns/Definitions/Accessors/{CheckboxDef.d.ts → CheckboxDef.svelte.d.ts} +0 -0
  58. /package/dist/Components/Table/Types/Columns/Definitions/Accessors/{CheckboxDef.js → CheckboxDef.svelte.js} +0 -0
  59. /package/dist/Components/Table/Types/Columns/Definitions/Accessors/{QueryDef.d.ts → QueryDef.svelte.d.ts} +0 -0
  60. /package/dist/Components/Table/Types/Columns/Definitions/Accessors/{QueryDef.js → QueryDef.svelte.js} +0 -0
  61. /package/dist/Components/Table/Types/Columns/Definitions/Accessors/{TextInputDef.d.ts → TextInputDef.svelte.d.ts} +0 -0
  62. /package/dist/Components/Table/Types/Columns/Definitions/Accessors/{TextInputDef.js → TextInputDef.svelte.js} +0 -0
  63. /package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/{FilterOnlyDef.js → FilterOnlyDef.svelte.js} +0 -0
  64. /package/dist/Components/Table/Types/Context/{Table.js → ITable.js} +0 -0
  65. /package/dist/Components/Table/Types/DataRepository/{DataRepository.js → IDataRepository.js} +0 -0
  66. /package/dist/Components/Table/Types/DataRepository/{LocalDataRepository.js → ILocalDataRepository.js} +0 -0
  67. /package/dist/Components/Table/Types/DataRepository/{RemoteDataRepository.js → IRemoteDataRepository.js} +0 -0
  68. /package/dist/Components/Table/Types/Filtering/{CustomFlterFn.d.ts → CustomFilterFn.d.ts} +0 -0
  69. /package/dist/Components/Table/Types/Filtering/{CustomFlterFn.js → CustomFilterFn.js} +0 -0
  70. /package/dist/Components/Table/Types/Filtering/{CustomProxyFIlter.d.ts → CustomProxyFilter.d.ts} +0 -0
  71. /package/dist/Components/Table/Types/Filtering/{CustomProxyFIlter.js → CustomProxyFilter.js} +0 -0
@@ -0,0 +1,36 @@
1
+ <script lang="ts" module>
2
+ import { AlertContext } from '../../Contexts/AlertContext.svelte.js';
3
+ import { ContextMenuContext } from '../../Contexts/ContextMenuContext.svelte.js';
4
+ import { ToastContext } from '../../Contexts/ToastContext.svelte.js';
5
+ import { TooltipContext } from '../../Contexts/TooltipContext.svelte.js';
6
+ import { UntypedInputContext } from '../../Contexts/UntypedInputContext.svelte.js';
7
+ import { setContext, type Snippet } from 'svelte';
8
+ import AlertModal from '../AlertModal.svelte';
9
+ import ContextMenu from '../Contexts/ContextMenu.svelte';
10
+ import ToastContainer from '../Contexts/ToastContainer.svelte';
11
+ import Tooltip from '../Contexts/Tooltip.svelte';
12
+
13
+ export interface ContextWrapperProps {
14
+ children: Snippet;
15
+ }
16
+ </script>
17
+
18
+ <script lang="ts">
19
+ const { children }: ContextWrapperProps = $props();
20
+
21
+ setContext(ContextMenuContext.identifier, new ContextMenuContext());
22
+ setContext(TooltipContext.identifier, new TooltipContext());
23
+ setContext(ToastContext.identifier, new ToastContext());
24
+ const alertContext = new AlertContext();
25
+ setContext(AlertContext.identifier, alertContext);
26
+ setContext(UntypedInputContext.identifier, new UntypedInputContext());
27
+ </script>
28
+
29
+ <ContextMenu />
30
+ <Tooltip />
31
+ <ToastContainer />
32
+ {#if alertContext.showModal}
33
+ <AlertModal />
34
+ {/if}
35
+
36
+ {@render children()}
@@ -0,0 +1,7 @@
1
+ import { type Snippet } from 'svelte';
2
+ export interface ContextWrapperProps {
3
+ children: Snippet;
4
+ }
5
+ declare const ContextWrapper: import("svelte").Component<ContextWrapperProps, {}, "">;
6
+ type ContextWrapper = ReturnType<typeof ContextWrapper>;
7
+ export default ContextWrapper;
@@ -27,6 +27,6 @@ import { InputVariant } from '../Types/Internal/InputVariant.js';
27
27
  import type { Centimetres } from '../Types/Internal/Misc.js';
28
28
  import { type PartialIconProps } from './Icon.svelte';
29
29
  import type { FormEventHandler } from 'svelte/elements';
30
- declare const DimensionInput: import("svelte").Component<DimensionInputProps, {}, "x" | "z" | "inputRef" | "y">;
30
+ declare const DimensionInput: import("svelte").Component<DimensionInputProps, {}, "x" | "z" | "y" | "inputRef">;
31
31
  type DimensionInput = ReturnType<typeof DimensionInput>;
32
32
  export default DimensionInput;
@@ -29,7 +29,7 @@
29
29
  import type { SelectOption } from '../../../Types/Internal/SelectOption.js';
30
30
  import type { Column } from '../Types/Columns/Column.js';
31
31
  import { AccessorDef } from '../Types/Columns/Definitions/Accessors/AccessorDef.svelte.js';
32
- import { AbstractDisplayDef } from '../Types/Columns/AbstractDisplayDef.svelte.js';
32
+ import { AbstractDisplayDef } from '../Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js';
33
33
  import { DateInputDef } from '../Types/Columns/Definitions/Accessors/DateInputDef.svelte.js';
34
34
  import { SelectDef } from '../Types/Columns/Definitions/Accessors/SelectDef.svelte.js';
35
35
 
@@ -1,7 +1,7 @@
1
1
  export interface ActionsCellProps<T extends object> {
2
2
  cell: TableCell<T>;
3
3
  }
4
- export declare let shownPopup: import("../../../../../Types/Internal/RefWrapper.js").RefWrapper<symbol | undefined>;
4
+ export declare let shownPopup: import("../../../../../index.js").RefWrapper<symbol | undefined>;
5
5
  import type { TableCell } from '../../../Types/Columns/TableCell.js';
6
6
  declare function $$render<T extends object>(): {
7
7
  props: ActionsCellProps<T>;
@@ -22,7 +22,7 @@
22
22
  import { ActionsDef } from '../../../Types/Columns/Definitions/Actions/ActionsDef.svelte.js';
23
23
  import ValidityCell from './ValidityCell.svelte';
24
24
  import TableRowSelectionCheckbox from './TableRowSelectionCheckbox.svelte';
25
- import { AbstractDisplayDef } from '../../../Types/Columns/AbstractDisplayDef.svelte.js';
25
+ import { AbstractDisplayDef } from '../../../Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js';
26
26
  import ProgressCell from './ProgressCell.svelte';
27
27
  import { ValidityDef } from '../../../Types/Columns/Definitions/Display/ValidityDef.svelte.js';
28
28
  import { ColumnType } from '../../../Types/Columns/ColumnType.js';
@@ -3,7 +3,7 @@
3
3
  <script lang="ts" module>
4
4
  import { dev } from '$app/environment';
5
5
  import QuerySelect from '../../../../QuerySelect.svelte';
6
- import type { QueryDef } from '../../../Types/Columns/Definitions/Accessors/QueryDef.js';
6
+ import type { QueryDef } from '../../../Types/Columns/Definitions/Accessors/QueryDef.svelte.js';
7
7
  import type { TableCell } from '../../../Types/Columns/TableCell.js';
8
8
  import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
9
9
  import { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
@@ -4,7 +4,7 @@
4
4
  import Action from '../../../../Action.svelte';
5
5
  import type { IconProps } from '../../../../Icon.svelte';
6
6
  import Portal from '../../../../Portal.svelte';
7
- import type { AbstractDisplayDef } from '../../../Types/Columns/AbstractDisplayDef.svelte.js';
7
+ import type { AbstractDisplayDef } from '../../../Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js';
8
8
  import type { TableCell } from '../../../Types/Columns/TableCell.js';
9
9
  import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
10
10
  import { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
@@ -1,7 +1,7 @@
1
1
  import type { ExampleItem } from '../../../Types/Examples/ExampleItem.js';
2
2
  import type { Component } from 'svelte';
3
3
  import type { DefsWrapper } from '../Types/Columns/DefsWrapper.js';
4
- import type { DisplayDefModalProps } from '../Types/Columns/AbstractDisplayDef.svelte.js';
4
+ import type { DisplayDefModalProps } from '../Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js';
5
5
  export declare class ExampleItemColumnDef {
6
6
  static generateExampleItemColumnDefs(modal: Component<DisplayDefModalProps<ExampleItem>, any, any>): DefsWrapper<ExampleItem>;
7
7
  }
@@ -1,13 +1,13 @@
1
1
  import { Colour } from '../../../scss/colours.js';
2
2
  import { ExampleSelectEnum } from '../../../Types/Examples/ExampleSelectEnum.js';
3
3
  import { Validity } from '../../../Types/Internal/Validity.js';
4
- import { CheckboxDef } from '../Types/Columns/Definitions/Accessors/CheckboxDef.js';
4
+ import { CheckboxDef } from '../Types/Columns/Definitions/Accessors/CheckboxDef.svelte.js';
5
5
  import { DateInputDef } from '../Types/Columns/Definitions/Accessors/DateInputDef.svelte.js';
6
6
  import { NumberInputDef } from '../Types/Columns/Definitions/Accessors/NumberInputDef.svelte.js';
7
7
  import { SelectDef } from '../Types/Columns/Definitions/Accessors/SelectDef.svelte.js';
8
- import { TextInputDef } from '../Types/Columns/Definitions/Accessors/TextInputDef.js';
8
+ import { TextInputDef } from '../Types/Columns/Definitions/Accessors/TextInputDef.svelte.js';
9
9
  import { BubbleDef } from '../Types/Columns/Definitions/Display/BubbleDef.svelte.js';
10
- import { DisplayDef } from '../Types/Columns/Definitions/Display/DisplayDef.js';
10
+ import { DisplayDef } from '../Types/Columns/Definitions/Display/DisplayDef.svelte.js';
11
11
  import { ProgressBarDef } from '../Types/Columns/Definitions/Display/ProgressBarDef.svelte.js';
12
12
  import { ValidityDef } from '../Types/Columns/Definitions/Display/ValidityDef.svelte.js';
13
13
  export class ExampleItemColumnDef {
@@ -21,12 +21,12 @@
21
21
  import type { SelectOption } from '../../../Types/Internal/SelectOption.js';
22
22
  import { SelectDef } from '../Types/Columns/Definitions/Accessors/SelectDef.svelte.js';
23
23
  import { DateInputDef } from '../Types/Columns/Definitions/Accessors/DateInputDef.svelte.js';
24
- import { CheckboxDef } from '../Types/Columns/Definitions/Accessors/CheckboxDef.js';
24
+ import { CheckboxDef } from '../Types/Columns/Definitions/Accessors/CheckboxDef.svelte.js';
25
25
  import DateModal from '../../Touch/DateModal.svelte';
26
26
  import { NumberInputDef } from '../Types/Columns/Definitions/Accessors/NumberInputDef.svelte.js';
27
27
  import QuerySelect from '../../QuerySelect.svelte';
28
28
  import { AccessorDef } from '../Types/Columns/Definitions/Accessors/AccessorDef.svelte.js';
29
- import { AbstractDisplayDef } from '../Types/Columns/AbstractDisplayDef.svelte.js';
29
+ import { AbstractDisplayDef } from '../Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js';
30
30
 
31
31
  export const stringFilterTypes = [
32
32
  { value: StringFilterMode.Equals, label: 'Equals' },
@@ -4,11 +4,11 @@
4
4
  import Table from './Table.svelte';
5
5
  import type { DefsWrapper } from './Types/Columns/DefsWrapper.js';
6
6
  import { TableContext } from './Types/Context/TableContext.svelte.js';
7
- import type { ITableInitOptions } from './Types/Context/TableInitOptions.js';
7
+ import type { TableInitOptions } from './Types/Context/TableInitOptions.js';
8
8
  import { LocalTableDataRepository } from './Types/DataRepository/LocalTableDataRepository.svelte.js';
9
9
  import { ToolbarPosition } from './Types/Toolbar/ToolbarPosition.js';
10
10
 
11
- const defaultOptions: Omit<ITableInitOptions<object>, 'selectionExtractor' | 'getUserId'> = {
11
+ const defaultOptions: Omit<TableInitOptions<object>, 'selectionExtractor' | 'getUserId'> = {
12
12
  allowCopy: false,
13
13
  enableResize: false,
14
14
  allowColumnReordering: false,
@@ -22,7 +22,7 @@
22
22
  tableName: string;
23
23
  data: T[];
24
24
  columnDefWrapper: DefsWrapper<T>;
25
- options: Pick<ITableInitOptions<T>, 'selectionExtractor'> & Partial<ITableInitOptions<T>>;
25
+ options: Pick<TableInitOptions<T>, 'selectionExtractor'> & Partial<TableInitOptions<T>>;
26
26
  oncontextmenu?: (e: MouseEvent) => void;
27
27
  getUserId: () => string | undefined;
28
28
  }
@@ -1,10 +1,10 @@
1
1
  import type { DefsWrapper } from './Types/Columns/DefsWrapper.js';
2
- import type { ITableInitOptions } from './Types/Context/TableInitOptions.js';
2
+ import type { TableInitOptions } from './Types/Context/TableInitOptions.js';
3
3
  export interface NestedTableProps<T extends object> {
4
4
  tableName: string;
5
5
  data: T[];
6
6
  columnDefWrapper: DefsWrapper<T>;
7
- options: Pick<ITableInitOptions<T>, 'selectionExtractor'> & Partial<ITableInitOptions<T>>;
7
+ options: Pick<TableInitOptions<T>, 'selectionExtractor'> & Partial<TableInitOptions<T>>;
8
8
  oncontextmenu?: (e: MouseEvent) => void;
9
9
  getUserId: () => string | undefined;
10
10
  }
@@ -7,7 +7,6 @@
7
7
  type IContextMenuOption
8
8
  } from '../../Contexts/ContextMenuContext.svelte.js';
9
9
  import { setContext, getContext, untrack, onMount, tick } from 'svelte';
10
- import { SvelteMap } from 'svelte/reactivity';
11
10
  import LoadingOverlay from '../LoadingOverlay.svelte';
12
11
  import { TableContext } from './Types/Context/TableContext.svelte.js';
13
12
  import { PaginationType } from './Types/Pagination/PaginationType.js';
@@ -1,5 +1,5 @@
1
1
  import { AccessorDef } from './AccessorDef.svelte.js';
2
- import { ColumnDef } from '../ColumnDef.svelte.js';
2
+ import {} from '../ColumnDef.svelte.js';
3
3
  import { AccessorType } from './AccessorType.js';
4
4
  export class NumberInputDef extends AccessorDef {
5
5
  accessorType = AccessorType.Number;
@@ -2,13 +2,13 @@ import type { ColourSet } from '../../../../../../scss/colours.js';
2
2
  import { ColumnType } from '../../ColumnType.js';
3
3
  import type { TableActionButton } from '../../TableActionButton.js';
4
4
  import { ColumnDef } from '../ColumnDef.svelte.js';
5
- export interface ActionsColumnDefProps<T extends object> {
5
+ export interface ActionsDefProps<T extends object> {
6
6
  actions: TableActionButton<T>[];
7
7
  isEnabled?: (item: T, index: number, button: TableActionButton<T>) => boolean | Promise<boolean>;
8
8
  getColourSet?: (item: T, index: number, button: TableActionButton<T>) => ColourSet;
9
9
  }
10
10
  export declare class ActionsDef<T extends object> extends ColumnDef<T> {
11
- constructor(props: ActionsColumnDefProps<T>);
11
+ constructor(props: ActionsDefProps<T>);
12
12
  readonly columnType = ColumnType.Actions;
13
13
  readonly actions: TableActionButton<T>[];
14
14
  readonly isEnabled?: (item: T, index: number, button: TableActionButton<T>) => boolean | Promise<boolean>;
@@ -1,6 +1,6 @@
1
1
  import type { Pixels } from '../../../../../Types/Internal/Misc.js';
2
2
  import type { Snippet } from 'svelte';
3
- import type { CustomFilterFn } from '../../Filtering/CustomFlterFn.js';
3
+ import type { CustomFilterFn } from '../../Filtering/CustomFilterFn.js';
4
4
  import type { FilterFn } from '../../Filtering/FilterFn.js';
5
5
  import { ColumnType } from '../ColumnType.js';
6
6
  import type { AccessorFn } from './AccessorFn.js';
@@ -1,8 +1,8 @@
1
1
  import type { Component } from 'svelte';
2
- import { ColumnDef, type ColumnDefProps } from './Definitions/ColumnDef.svelte.js';
3
- import type { DisplayType } from './DisplayType.js';
4
- import { ColumnType } from './ColumnType.js';
5
- import type { TableCell } from './TableCell.js';
2
+ import { ColumnDef, type ColumnDefProps } from '../ColumnDef.svelte.js';
3
+ import type { DisplayType } from '../../DisplayType.js';
4
+ import { ColumnType } from '../../ColumnType.js';
5
+ import type { TableCell } from '../../TableCell.js';
6
6
  export interface DisplayDefModalProps<T extends object> {
7
7
  cell: TableCell<T>;
8
8
  onclose: () => void;
@@ -1,5 +1,5 @@
1
- import { ColumnDef } from './Definitions/ColumnDef.svelte.js';
2
- import { ColumnType } from './ColumnType.js';
1
+ import { ColumnDef } from '../ColumnDef.svelte.js';
2
+ import { ColumnType } from '../../ColumnType.js';
3
3
  export class AbstractDisplayDef extends ColumnDef {
4
4
  constructor(props) {
5
5
  super(props);
@@ -1,5 +1,5 @@
1
1
  import type { BubbleColour } from '../../../../../Bubble.svelte';
2
- import { AbstractDisplayDef, type AbstractDisplayDefProps } from '../../AbstractDisplayDef.svelte.js';
2
+ import { AbstractDisplayDef, type AbstractDisplayDefProps } from './AbstractDisplayDef.svelte.js';
3
3
  import { DisplayType } from '../../DisplayType.js';
4
4
  export interface BubbleDefProps<T extends object> extends AbstractDisplayDefProps<T> {
5
5
  getColour?: (item: T, index: number, value: string) => BubbleColour | Promise<BubbleColour | null | undefined>;
@@ -1,4 +1,4 @@
1
- import { AbstractDisplayDef } from '../../AbstractDisplayDef.svelte.js';
1
+ import { AbstractDisplayDef } from './AbstractDisplayDef.svelte.js';
2
2
  import { DisplayType } from '../../DisplayType.js';
3
3
  export class BubbleDef extends AbstractDisplayDef {
4
4
  displayType = DisplayType.Bubbles;
@@ -1,4 +1,4 @@
1
- import { AbstractDisplayDef, type AbstractDisplayDefProps } from '../../AbstractDisplayDef.svelte.js';
1
+ import { AbstractDisplayDef, type AbstractDisplayDefProps } from './AbstractDisplayDef.svelte.js';
2
2
  import { DisplayType } from '../../DisplayType.js';
3
3
  export interface DisplayDefProps<T extends object> extends AbstractDisplayDefProps<T> {
4
4
  }
@@ -1,4 +1,4 @@
1
- import { AbstractDisplayDef } from '../../AbstractDisplayDef.svelte.js';
1
+ import { AbstractDisplayDef } from './AbstractDisplayDef.svelte.js';
2
2
  import { DisplayType } from '../../DisplayType.js';
3
3
  export class DisplayDef extends AbstractDisplayDef {
4
4
  displayType = DisplayType.Normal;
@@ -1,5 +1,5 @@
1
1
  import type { BubbleColour } from '../../../../../Bubble.svelte';
2
- import { AbstractDisplayDef, type AbstractDisplayDefProps } from '../../AbstractDisplayDef.svelte.js';
2
+ import { AbstractDisplayDef, type AbstractDisplayDefProps } from './AbstractDisplayDef.svelte.js';
3
3
  import { DisplayType } from '../../DisplayType.js';
4
4
  export interface ProgressBarDefProps<T extends object> extends AbstractDisplayDefProps<T> {
5
5
  getColour: (item: T, index: number, value: [number, number]) => BubbleColour | Promise<BubbleColour> | undefined;
@@ -1,4 +1,4 @@
1
- import { AbstractDisplayDef } from '../../AbstractDisplayDef.svelte.js';
1
+ import { AbstractDisplayDef } from './AbstractDisplayDef.svelte.js';
2
2
  import { DisplayType } from '../../DisplayType.js';
3
3
  export class ProgressBarDef extends AbstractDisplayDef {
4
4
  displayType = DisplayType.Progress;
@@ -1,4 +1,4 @@
1
- import { AbstractDisplayDef, type AbstractDisplayDefProps } from '../../AbstractDisplayDef.svelte.js';
1
+ import { AbstractDisplayDef, type AbstractDisplayDefProps } from './AbstractDisplayDef.svelte.js';
2
2
  import { DisplayType } from '../../DisplayType.js';
3
3
  import type { ValidationFn } from '../ValidationFn.js';
4
4
  export interface ValidityDefProps<T extends object> extends AbstractDisplayDefProps<T> {
@@ -1,4 +1,4 @@
1
- import { AbstractDisplayDef } from '../../AbstractDisplayDef.svelte.js';
1
+ import { AbstractDisplayDef } from './AbstractDisplayDef.svelte.js';
2
2
  import { DisplayType } from '../../DisplayType.js';
3
3
  export class ValidityDef extends AbstractDisplayDef {
4
4
  displayType = DisplayType.Validity;
@@ -1,5 +1,5 @@
1
1
  import type { IconProps } from '../../../../../Icon.svelte';
2
- import type { ITableInitOptions } from '../../../Context/TableInitOptions.js';
2
+ import type { TableInitOptions } from '../../../Context/TableInitOptions.js';
3
3
  import { ColumnType } from '../../ColumnType.js';
4
4
  import type { DefsWrapper } from '../../DefsWrapper.js';
5
5
  import { ColumnDef, type ColumnDefProps } from '../ColumnDef.svelte.js';
@@ -8,7 +8,7 @@ export interface ExpandDefProps<T extends object, R extends object> extends Colu
8
8
  getInnerColumnDefs: (item: T, index: number) => DefsWrapper<R>;
9
9
  headerIcon: IconProps['name'];
10
10
  innerTableName: string;
11
- innerTableOptions: ITableInitOptions<R>;
11
+ innerTableOptions: TableInitOptions<R>;
12
12
  }
13
13
  export declare class ExpandDef<T extends object, R extends object = object> extends ColumnDef<T> {
14
14
  readonly columnType = ColumnType.Expand;
@@ -17,5 +17,5 @@ export declare class ExpandDef<T extends object, R extends object = object> exte
17
17
  readonly getInnerColumnDefs: (item: T, index: number) => DefsWrapper<R>;
18
18
  readonly headerIcon: IconProps['name'];
19
19
  readonly isEnabled: (item: T, index: number) => boolean | Promise<boolean>;
20
- readonly innerTableOptions: ITableInitOptions<R>;
20
+ readonly innerTableOptions: TableInitOptions<R>;
21
21
  }
@@ -1,6 +1,8 @@
1
1
  import type { StringFilterValueType } from '../../../Filtering/FilterFn.js';
2
2
  import { ColumnType } from '../../ColumnType.js';
3
- import { ColumnDef } from '../ColumnDef.svelte.js';
3
+ import { ColumnDef, type ColumnDefProps } from '../ColumnDef.svelte.js';
4
+ export interface FilterOnlyDefProps<T extends object> extends ColumnDefProps<T> {
5
+ }
4
6
  export declare class FilterOnlyDef<T extends object> extends ColumnDef<T, StringFilterValueType> {
5
7
  readonly columnType: ColumnType;
6
8
  }
@@ -8,7 +8,7 @@ import type { ColumnFiltersState } from '../Filtering/ColumnFiltersState.js';
8
8
  import type { HeaderGroup } from '../HeaderGroup.js';
9
9
  import type { OnChangeFn } from '../OnChangeFn.js';
10
10
  import type { PaginationState } from '../Pagination/PaginationState.js';
11
- export interface Table<T extends object> {
11
+ export interface ITable<T extends object> {
12
12
  data: T[];
13
13
  columns: ColumnDef<T>[];
14
14
  columnSizing: ColumnSizingState;
@@ -1,9 +1,9 @@
1
1
  import { SvelteMap, SvelteSet } from 'svelte/reactivity';
2
2
  import type { ColumnDef } from '../Columns/Definitions/ColumnDef.svelte.js';
3
3
  import type { DefsWrapper } from '../Columns/DefsWrapper.js';
4
- import type { DataRepository } from '../DataRepository/DataRepository.js';
4
+ import type { IDataRepository } from '../DataRepository/IDataRepository.js';
5
5
  import { ToolbarPosition } from '../Toolbar/ToolbarPosition.js';
6
- import type { ITableInitOptions } from './TableInitOptions.js';
6
+ import type { TableInitOptions } from './TableInitOptions.js';
7
7
  import type { CustomRemoteFilters } from '../Filtering/CustomRemoteFilters.js';
8
8
  import type { BoolFilterValueType, DateFilterValueType, FilterFn, NumberFilterValueType, SelectFilterValueType, StringFilterValueType } from '../Filtering/FilterFn.js';
9
9
  import type { ColumnDefSet } from '../Columns/Definitions/ColumnDefSet.js';
@@ -15,7 +15,7 @@ import type { CellCoordinatesWithoutColumn } from '../Coordinates/CellCoordinate
15
15
  import type { Updater } from 'svelte/store';
16
16
  import type { OnChangeFn } from '../OnChangeFn.js';
17
17
  import type { ColumnFiltersState } from '../Filtering/ColumnFiltersState.js';
18
- import type { Table } from './Table.js';
18
+ import type { ITable } from './ITable.js';
19
19
  import type { HasCustomFilterFunction } from '../Filtering/HasCustomFilterFunction.js';
20
20
  import type { RowModel } from './RowModel.js';
21
21
  export declare class TableContext<T extends object> {
@@ -28,23 +28,23 @@ export declare class TableContext<T extends object> {
28
28
  allowAdvancedFiltering: boolean;
29
29
  toolbarPosition: ToolbarPosition;
30
30
  displayFooter: boolean;
31
- selectionExtractor: ITableInitOptions<T>['selectionExtractor'];
31
+ selectionExtractor: TableInitOptions<T>['selectionExtractor'];
32
32
  getUserId: () => string | undefined;
33
33
  private _onEditCell;
34
34
  static readonly identifier: unique symbol;
35
- static init<T extends object>(defaultColumnDefs: DefsWrapper<T>, tableName: string, dataRepo: DataRepository<T>, options: ITableInitOptions<T>): TableContext<T>;
36
- constructor(INTERNAL_ONLY: symbol, defaultColumnDefs: DefsWrapper<T>, tableName: string, dataRepo: DataRepository<T>, allowCopy: boolean, enableResize: boolean, allowColumnReordering: boolean, allowQuickFiltering: boolean, allowAdvancedFiltering: boolean, toolbarPosition: ToolbarPosition, displayFooter: boolean, selectionExtractor: ITableInitOptions<T>['selectionExtractor'], getUserId: () => string | undefined, _onEditCell?: ITableInitOptions<T>['onEditCell']);
35
+ static init<T extends object>(defaultColumnDefs: DefsWrapper<T>, tableName: string, dataRepo: IDataRepository<T>, options: TableInitOptions<T>): TableContext<T>;
36
+ constructor(INTERNAL_ONLY: symbol, defaultColumnDefs: DefsWrapper<T>, tableName: string, dataRepo: IDataRepository<T>, allowCopy: boolean, enableResize: boolean, allowColumnReordering: boolean, allowQuickFiltering: boolean, allowAdvancedFiltering: boolean, toolbarPosition: ToolbarPosition, displayFooter: boolean, selectionExtractor: TableInitOptions<T>['selectionExtractor'], getUserId: () => string | undefined, _onEditCell?: TableInitOptions<T>['onEditCell']);
37
37
  private readonly userId;
38
38
  private isSelectable;
39
39
  __queryValues: SvelteMap<string, unknown>;
40
40
  private _paginationRepo;
41
- get paginationRepo(): DataRepository<T> | undefined;
42
- set paginationRepo(v: DataRepository<T> | undefined);
41
+ get paginationRepo(): IDataRepository<T> | undefined;
42
+ set paginationRepo(v: IDataRepository<T> | undefined);
43
43
  private _showQuickFiltering;
44
44
  get showQuickFiltering(): boolean;
45
45
  set showQuickFiltering(v: boolean);
46
46
  private _dataRepo;
47
- get dataRepo(): DataRepository<T> | undefined;
47
+ get dataRepo(): IDataRepository<T> | undefined;
48
48
  private set dataRepo(value);
49
49
  private _remoteFilters;
50
50
  get remoteFilters(): CustomRemoteFilters | undefined;
@@ -172,7 +172,7 @@ export declare class TableContext<T extends object> {
172
172
  updateFilters: OnChangeFn<ColumnFiltersState> | undefined;
173
173
  updateVisibility: OnChangeFn<VisibilityState>;
174
174
  updateColumnSizing: OnChangeFn<ColumnSizingState>;
175
- readonly table: Table<T>;
175
+ readonly table: ITable<T>;
176
176
  readonly lastPage: number;
177
177
  readonly measureHeaderWidth: (columnDef: ColumnDef<T>) => number;
178
178
  readonly autoResize: (columnDef: ColumnDef<T>) => Promise<void>;
@@ -9,11 +9,11 @@ import { getCanvasContext } from '../../../../Helpers/Helpers.svelte.js';
9
9
  import { AccessorDef } from '../Columns/Definitions/Accessors/AccessorDef.svelte.js';
10
10
  import { NumberInputDef } from '../Columns/Definitions/Accessors/NumberInputDef.svelte.js';
11
11
  import { SelectDef } from '../Columns/Definitions/Accessors/SelectDef.svelte.js';
12
- import { TextInputDef } from '../Columns/Definitions/Accessors/TextInputDef.js';
13
- import { CheckboxDef } from '../Columns/Definitions/Accessors/CheckboxDef.js';
12
+ import { TextInputDef } from '../Columns/Definitions/Accessors/TextInputDef.svelte.js';
13
+ import { CheckboxDef } from '../Columns/Definitions/Accessors/CheckboxDef.svelte.js';
14
14
  import { DateInputDef } from '../Columns/Definitions/Accessors/DateInputDef.svelte.js';
15
15
  import { ProgressBarDef } from '../Columns/Definitions/Display/ProgressBarDef.svelte.js';
16
- import { DisplayDef } from '../Columns/Definitions/Display/DisplayDef.js';
16
+ import { DisplayDef } from '../Columns/Definitions/Display/DisplayDef.svelte.js';
17
17
  const SORTING_ICON_WIDTH = 24;
18
18
  const InternalSymbol = Symbol();
19
19
  export class TableContext {
@@ -1,6 +1,6 @@
1
1
  import type { CellCoordinates } from '../Coordinates/CellCoordinates.js';
2
2
  import type { ToolbarPosition } from '../Toolbar/ToolbarPosition.js';
3
- export interface ITableInitOptions<T extends object> {
3
+ export interface TableInitOptions<T extends object> {
4
4
  selectionExtractor: (item: T) => unknown;
5
5
  allowCopy?: boolean;
6
6
  enableResize?: boolean;
@@ -7,7 +7,7 @@ import type { ColumnFiltersState } from '../Filtering/ColumnFiltersState.js';
7
7
  import type { BoolFilterValueType, DateFilterValueType, FilterFn, NumberFilterValueType, SelectFilterValueType, StringFilterValueType } from '../Filtering/FilterFn.js';
8
8
  import type { PaginationType } from '../Pagination/PaginationType.js';
9
9
  import type { FilterType } from '../Filtering/FilterType.js';
10
- export interface DataRepository<T extends object> {
10
+ export interface IDataRepository<T extends object> {
11
11
  paginationState: PaginationState;
12
12
  setPageSize: (size: number) => void;
13
13
  setPage: (page: number) => void;
@@ -2,9 +2,9 @@ import type { SvelteMap } from 'svelte/reactivity';
2
2
  import type { ColumnFiltersState } from '../Filtering/ColumnFiltersState.js';
3
3
  import type { FilterMode } from '../Filtering/FilterMode.js';
4
4
  import type { PaginationType } from '../Pagination/PaginationType.js';
5
- import type { DataRepository } from './DataRepository.js';
5
+ import type { IDataRepository } from './IDataRepository.js';
6
6
  import type { BoolFilterValueType, DateFilterValueType, FilterFn, NumberFilterValueType, SelectFilterValueType, StringFilterValueType } from '../Filtering/FilterFn.js';
7
- export interface LocalDataRepository<T extends object> extends DataRepository<T> {
7
+ export interface ILocalDataRepository<T extends object> extends IDataRepository<T> {
8
8
  readonly paginationType: PaginationType.Local;
9
9
  setPageSize: (size: number | string) => void;
10
10
  setPage: (page: number) => void;
@@ -2,8 +2,8 @@ import type { SvelteMap } from 'svelte/reactivity';
2
2
  import type { ColumnFiltersState } from '../Filtering/ColumnFiltersState.js';
3
3
  import type { PaginationType } from '../Pagination/PaginationType.js';
4
4
  import type { FilterMode } from '../Filtering/FilterMode.js';
5
- import type { DataRepository } from './DataRepository.js';
6
- export interface RemoteDataRepository<T extends object> extends DataRepository<T> {
5
+ import type { IDataRepository } from './IDataRepository.js';
6
+ export interface IRemoteDataRepository<T extends object> extends IDataRepository<T> {
7
7
  readonly paginationType: PaginationType.Remote;
8
8
  setPageSize: (size: number | string) => void;
9
9
  setPage: (page: number) => void;
@@ -6,10 +6,10 @@ import type { FilterMode } from '../Filtering/FilterMode.js';
6
6
  import { FilterType } from '../Filtering/FilterType.js';
7
7
  import type { OnChangeFn } from '../OnChangeFn.js';
8
8
  import { PaginationType } from '../Pagination/PaginationType.js';
9
- import type { LocalDataRepository } from './LocalDataRepository.js';
9
+ import type { ILocalDataRepository } from './ILocalDataRepository.js';
10
10
  import type { SortingState } from './SortingState.js';
11
11
  import { TableDataRepository } from './TableDataRepository.svelte.js';
12
- export declare class LocalTableDataRepository<T extends object> extends TableDataRepository<T> implements LocalDataRepository<T> {
12
+ export declare class LocalTableDataRepository<T extends object> extends TableDataRepository<T> implements ILocalDataRepository<T> {
13
13
  addEmptyRow?: (() => void) | undefined;
14
14
  readonly filterType = FilterType.Real;
15
15
  constructor(tableName: string, dataRef: RefWrapper<T[]>, // reactive
@@ -43,7 +43,7 @@ export declare class LocalTableDataRepository<T extends object> extends TableDat
43
43
  setPage: (page: number) => void;
44
44
  nextPage: () => void;
45
45
  prevPage: () => void;
46
- readonly dateFilter: LocalDataRepository<T>['dateFilter'];
46
+ readonly dateFilter: ILocalDataRepository<T>['dateFilter'];
47
47
  readonly numberFilter: (row: Row<T>, columnId: string, // & keyof T,
48
48
  values: NumberFilterValueType) => boolean;
49
49
  readonly selectFilter: <columnType = T[keyof T]>(row: Row<T>, columnId: string, // & keyof T,
@@ -1,10 +1,7 @@
1
1
  import type { FloService } from '../../../../Types/Internal/FloService.js';
2
2
  import { type TSchema } from '@sinclair/typebox';
3
- import type { CustomFilterType } from '../Filtering/CustomFilterType.js';
4
- import type { SelectOption } from '../../../../Types/Internal/SelectOption.js';
5
- import type { FilterMode } from '../Filtering/FilterMode.js';
6
3
  import { TableDataRepository } from './TableDataRepository.svelte.js';
7
- import type { RemoteDataRepository } from './RemoteDataRepository.js';
4
+ import type { IRemoteDataRepository } from './IRemoteDataRepository.js';
8
5
  import { PaginationType } from '../Pagination/PaginationType.js';
9
6
  import { FilterType } from '../Filtering/FilterType.js';
10
7
  import type { SortingState } from './SortingState.js';
@@ -14,6 +11,7 @@ import { StringFilterMode } from '../Filtering/StringFilterMode.js';
14
11
  import { NumberDateFilterMode } from '../Filtering/NumberDateFilterMode.js';
15
12
  import type { IPaginatedResponse } from '../../../../Types/Responses/IPaginatedResponse.js';
16
13
  import type { IResponse } from '../../../../Types/Responses/IResponse.js';
14
+ import type { CustomRemoteFilters } from '../Filtering/CustomRemoteFilters.js';
17
15
  export interface RemoteTableDataRepositoryOptions<httpResponseSchema extends object = object, heldTypeSchema extends object = httpResponseSchema> {
18
16
  uri: string | null;
19
17
  tableName: string;
@@ -25,25 +23,7 @@ export interface RemoteTableDataRepositoryOptions<httpResponseSchema extends obj
25
23
  remoteFilters?: CustomRemoteFilters;
26
24
  responseTransformation?: (items: httpResponseSchema[]) => heldTypeSchema[];
27
25
  }
28
- export interface CustomFilter {
29
- queryKey: string;
30
- type: CustomFilterType;
31
- valueAsObject?: boolean;
32
- options?: Array<SelectOption<string | number>> | Promise<Array<SelectOption<string | number>>>;
33
- multiSelect?: boolean;
34
- objectName?: string;
35
- label?: string;
36
- query?: (value: unknown) => Promise<Array<SelectOption<number>>>;
37
- }
38
- export interface CustomProxyFilter extends CustomFilter {
39
- service: FloService;
40
- endpoint: string;
41
- group: unknown;
42
- searchValueTransform?: (mode: FilterMode, value: unknown) => Promise<string>;
43
- responseValueTransform: (item: unknown) => Promise<[string, unknown[]]>;
44
- }
45
- export type CustomRemoteFilters = Map<string, CustomFilter | CustomProxyFilter>;
46
- export declare class RemoteTableDataRepository<T extends object = object, R extends object = T> extends TableDataRepository<R> implements RemoteDataRepository<R> {
26
+ export declare class RemoteTableDataRepository<T extends object = object, R extends object = T> extends TableDataRepository<R> implements IRemoteDataRepository<R> {
47
27
  options: RemoteTableDataRepositoryOptions<T, R>;
48
28
  private httpGetter;
49
29
  private httpGetterPaginated;
@@ -3,14 +3,14 @@ import type { FilterMode } from '../Filtering/FilterMode.js';
3
3
  import type { FilterType } from '../Filtering/FilterType.js';
4
4
  import type { PaginationState } from '../Pagination/PaginationState.js';
5
5
  import type { PaginationType } from '../Pagination/PaginationType.js';
6
- import type { DataRepository } from './DataRepository.js';
6
+ import type { IDataRepository } from './IDataRepository.js';
7
7
  import type { ColumnFiltersState } from '../Filtering/ColumnFiltersState.js';
8
8
  import type { SortingState } from './SortingState.js';
9
9
  export interface ReadonlyPaginationState extends PaginationState {
10
10
  readonly pageIndex: number;
11
11
  readonly pageSize: number;
12
12
  }
13
- export declare abstract class TableDataRepository<T extends object> implements DataRepository<T> {
13
+ export declare abstract class TableDataRepository<T extends object> implements IDataRepository<T> {
14
14
  private tableName;
15
15
  private getUserId;
16
16
  abstract paginationType: PaginationType.Remote | PaginationType.Local;
@@ -1,3 +1,3 @@
1
1
  import type { CustomFilter } from './CustomFilter.js';
2
- import type { CustomProxyFilter } from './CustomProxyFIlter.js';
2
+ import type { CustomProxyFilter } from './CustomProxyFilter.js';
3
3
  export type CustomRemoteFilters = Map<string, CustomFilter | CustomProxyFilter>;
@@ -24,13 +24,9 @@
24
24
 
25
25
  <script lang="ts">
26
26
  import { passthrough } from '../../Helpers/Helpers.svelte.js';
27
-
28
27
  import { Colour } from '../../scss/colours.js';
29
-
30
28
  import { InputVariant } from '../../Types/Internal/InputVariant.js';
31
-
32
29
  import { Size } from '../../Types/Internal/Size.js';
33
-
34
30
  import { onMount, tick, type Snippet } from 'svelte';
35
31
  import TextInput from '../TextInput.svelte';
36
32
  import TouchModal from './TouchModal.svelte';