@lavalogic/scoria 0.14.2 → 0.16.0
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.
- package/dist/Components/AlertModal.svelte +3 -0
- package/dist/Components/Contexts/ContextMenu.svelte +3 -1
- package/dist/Components/LoadingModal.svelte +3 -1
- package/dist/Components/Modal.svelte +3 -1
- package/dist/Components/Table/Body/QuickSearchCell.svelte +31 -9
- package/dist/Components/Table/Body/Rows/ColumnList.svelte +1 -1
- package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +8 -4
- package/dist/Components/Table/Body/Rows/ColumnListRow.svelte.d.ts +12 -12
- package/dist/Components/Table/Body/Rows/ColumnListRowProps.d.ts +1 -1
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte +3 -5
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte.d.ts +12 -12
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponentProps.d.ts +2 -2
- package/dist/Components/Table/Body/Rows/Columns/SelectColumn.d.ts +2 -3
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +2 -2
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte.d.ts +2 -3
- package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +4 -0
- package/dist/Components/Table/Body/Rows/Columns/TableQueryColumn.d.ts +2 -3
- package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +4 -0
- package/dist/Components/Table/Body/Rows/TableRow.svelte +3 -4
- package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.d.ts +1 -1
- package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.js +27 -28
- package/dist/Components/Table/Headers/TableHead.svelte +3 -3
- package/dist/Components/Table/Types/Columns/Column.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.d.ts +3 -3
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.d.ts +4 -3
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.d.ts +3 -3
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.d.ts +4 -5
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.js +0 -1
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.d.ts +4 -5
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.d.ts +7 -7
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.d.ts +3 -3
- package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.d.ts +5 -6
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.js +0 -6
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDefSet.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts +5 -5
- package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.d.ts +3 -3
- package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.d.ts +4 -3
- package/dist/Components/Table/Types/Columns/Definitions/JSONColumnDefSet.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.d.ts +1 -2
- package/dist/Components/Table/Types/Columns/DefsWrapper.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/TableCell.d.ts +2 -2
- package/dist/Components/Table/Types/Context/ITable.d.ts +1 -1
- package/dist/Components/Table/Types/Context/TableContext.svelte.d.ts +8 -8
- package/dist/Components/Table/Types/Context/TableContext.svelte.js +13 -4
- package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.d.ts +1 -1
- package/dist/Components/Touch/TouchModal.svelte +3 -1
- package/dist/Helpers/Helpers.svelte.js +4 -4
- package/dist/Types/Examples/ExampleModal.svelte +2 -2
- package/dist/Types/Examples/ExampleModal.svelte.d.ts +2 -23
- package/dist/Types/Internal/GridItem.d.ts +1 -1
- package/package.json +15 -15
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
generics="T extends object"
|
|
6
|
+
>
|
|
4
7
|
import { dev } from '$app/environment';
|
|
5
8
|
import Action from '../../Action.svelte';
|
|
6
9
|
import Button from '../../Button.svelte';
|
|
@@ -402,8 +405,10 @@
|
|
|
402
405
|
case false: {
|
|
403
406
|
return Ternary.False;
|
|
404
407
|
}
|
|
408
|
+
default: {
|
|
409
|
+
return Ternary.Neutral;
|
|
410
|
+
}
|
|
405
411
|
}
|
|
406
|
-
return Ternary.Neutral;
|
|
407
412
|
})()}
|
|
408
413
|
<div class="centered">
|
|
409
414
|
<ThreeStateRadio
|
|
@@ -459,7 +464,7 @@
|
|
|
459
464
|
onkeydown={closeOnCtrlF}
|
|
460
465
|
/>
|
|
461
466
|
</div>
|
|
462
|
-
{:else if value == null || typeof value == '
|
|
467
|
+
{:else if value == null || typeof value == 'number'}
|
|
463
468
|
<div class="input-wrapper right">
|
|
464
469
|
{#if selectedNumberFilterType?.value == NumberDateFilterMode.null}
|
|
465
470
|
<TextInput
|
|
@@ -470,19 +475,33 @@
|
|
|
470
475
|
variant={InputVariant.Table}
|
|
471
476
|
/>
|
|
472
477
|
{:else}
|
|
473
|
-
<
|
|
478
|
+
<NumberInput
|
|
474
479
|
data-type="quicksearch"
|
|
475
480
|
id={inputId}
|
|
476
|
-
bind:value={
|
|
477
|
-
placeholder="Filter…"
|
|
481
|
+
bind:value={valueMin}
|
|
478
482
|
variant={InputVariant.Table}
|
|
483
|
+
placeholder="Min…"
|
|
479
484
|
oninput={() => {
|
|
480
|
-
tableContext.paginationRepo?.filterBy(def.id, [
|
|
485
|
+
tableContext.paginationRepo?.filterBy(def.id, [valueMin, null]);
|
|
481
486
|
}}
|
|
482
487
|
onkeydown={closeOnCtrlF}
|
|
483
488
|
/>
|
|
484
489
|
{/if}
|
|
485
490
|
</div>
|
|
491
|
+
{:else if typeof value == 'string'}
|
|
492
|
+
<div class="input-wrapper right">
|
|
493
|
+
<TextInput
|
|
494
|
+
data-type="quicksearch"
|
|
495
|
+
id={inputId}
|
|
496
|
+
bind:value={value as string | null}
|
|
497
|
+
placeholder="Filter…"
|
|
498
|
+
variant={InputVariant.Table}
|
|
499
|
+
oninput={() => {
|
|
500
|
+
tableContext.paginationRepo?.filterBy(def.id, [value]);
|
|
501
|
+
}}
|
|
502
|
+
onkeydown={closeOnCtrlF}
|
|
503
|
+
/>
|
|
504
|
+
</div>
|
|
486
505
|
{/if}
|
|
487
506
|
{:else if value == null || typeof value == 'string'}
|
|
488
507
|
<div class="input-wrapper right">
|
|
@@ -529,7 +548,7 @@
|
|
|
529
548
|
icon={{
|
|
530
549
|
name: 'filter-2',
|
|
531
550
|
size: Size.MediumLarge,
|
|
532
|
-
colour: Colour['$ui-blue-5']
|
|
551
|
+
colour: Colour['$ui-blue-5'],
|
|
533
552
|
}}
|
|
534
553
|
onclick={() => {
|
|
535
554
|
if (!openedSelect) {
|
|
@@ -547,7 +566,10 @@
|
|
|
547
566
|
{/if}
|
|
548
567
|
|
|
549
568
|
{#if isSelectOpen}
|
|
550
|
-
<div
|
|
569
|
+
<div
|
|
570
|
+
class="floating"
|
|
571
|
+
transition:fade={{ easing: cubicOut, duration: 100 }}
|
|
572
|
+
>
|
|
551
573
|
<div class="select-wrapper">
|
|
552
574
|
{#if isNumeric}
|
|
553
575
|
<SingleSelect
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
const { searchValue }: ColumnListProps = $props();
|
|
14
14
|
|
|
15
|
-
const visibleColumns: Array<ColumnDef<T
|
|
15
|
+
const visibleColumns: Array<ColumnDef<T>> = $derived.by(() => {
|
|
16
16
|
const lowercasedSearchValue = searchValue.toLocaleLowerCase();
|
|
17
17
|
return tableContext.columnDefs.filter(
|
|
18
18
|
(it) =>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script lang="ts" generics="T extends object
|
|
3
|
+
<script lang="ts" generics="T extends object">
|
|
4
4
|
import Checkbox from '../../../Checkbox.svelte';
|
|
5
5
|
import Icon from '../../../Icon.svelte';
|
|
6
6
|
import { TableContext } from '../../Types/Context/TableContext.svelte.js';
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import type { ColumnListRowProps } from './ColumnListRowProps.js';
|
|
10
10
|
const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
|
|
11
11
|
|
|
12
|
-
const { columnDef }: ColumnListRowProps<T
|
|
12
|
+
const { columnDef }: ColumnListRowProps<T> = $props();
|
|
13
13
|
|
|
14
14
|
const isExpandColumn = $derived(columnDef?.columnType === 'Expand');
|
|
15
15
|
|
|
@@ -23,7 +23,9 @@
|
|
|
23
23
|
return [item, index];
|
|
24
24
|
}
|
|
25
25
|
function togglePinLeft() {
|
|
26
|
-
if (columnDef == null)
|
|
26
|
+
if (columnDef == null) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
27
29
|
|
|
28
30
|
tableContext.setColumnPinning((pinning) => {
|
|
29
31
|
const leftPinIndex = pinning.left?.get(columnDef.id) ?? -1;
|
|
@@ -48,7 +50,9 @@
|
|
|
48
50
|
}
|
|
49
51
|
|
|
50
52
|
function togglePinRight() {
|
|
51
|
-
if (columnDef == null)
|
|
53
|
+
if (columnDef == null) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
52
56
|
|
|
53
57
|
tableContext.setColumnPinning((pinning) => {
|
|
54
58
|
const rightPinIndex = pinning.right?.get(columnDef.id) ?? -1;
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import type { ColumnListRowProps } from './ColumnListRowProps.js';
|
|
2
|
-
declare function $$render<T extends object
|
|
3
|
-
props: ColumnListRowProps<T
|
|
2
|
+
declare function $$render<T extends object>(): {
|
|
3
|
+
props: ColumnListRowProps<T>;
|
|
4
4
|
exports: {};
|
|
5
5
|
bindings: "";
|
|
6
6
|
slots: {};
|
|
7
7
|
events: {};
|
|
8
8
|
};
|
|
9
|
-
declare class __sveltets_Render<T extends object
|
|
10
|
-
props(): ReturnType<typeof $$render<T
|
|
11
|
-
events(): ReturnType<typeof $$render<T
|
|
12
|
-
slots(): ReturnType<typeof $$render<T
|
|
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
|
|
18
|
-
$$bindings?: ReturnType<__sveltets_Render<T
|
|
19
|
-
} & ReturnType<__sveltets_Render<T
|
|
20
|
-
<T extends object
|
|
21
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any
|
|
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 ColumnListRow: $$IsomorphicComponent;
|
|
24
|
-
type ColumnListRow<T extends object
|
|
24
|
+
type ColumnListRow<T extends object> = InstanceType<typeof ColumnListRow<T>>;
|
|
25
25
|
export default ColumnListRow;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { ColumnDef } from '../../Types/Columns/Definitions/ColumnDef.svelte.js';
|
|
2
|
-
export interface ColumnListRowProps<T extends object, FilterValueType> {
|
|
2
|
+
export interface ColumnListRowProps<T extends object, FilterValueType = unknown> {
|
|
3
3
|
columnDef: ColumnDef<T, FilterValueType> | null;
|
|
4
4
|
}
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
|
|
16
16
|
const cellTypes: Record<
|
|
17
17
|
'Number' | 'Date' | 'Select' | 'Checkbox' | 'Query' | 'Text',
|
|
18
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
19
18
|
Component<any>
|
|
20
19
|
> = {
|
|
21
20
|
Number: TableNumberInput,
|
|
@@ -27,13 +26,12 @@
|
|
|
27
26
|
} as const;
|
|
28
27
|
</script>
|
|
29
28
|
|
|
30
|
-
<script lang="ts" generics="T extends object,
|
|
31
|
-
const { cell }: AccessorComponentProps<T
|
|
29
|
+
<script lang="ts" generics="T extends object, ">
|
|
30
|
+
const { cell }: AccessorComponentProps<T> = $props();
|
|
32
31
|
|
|
33
32
|
const CurrentComponent = $derived(getAppropriateAccessorDef(cell.column.columnDef));
|
|
34
33
|
|
|
35
|
-
|
|
36
|
-
function getAppropriateAccessorDef(columnDef: ColumnDef<T, FilterValueType>): Component<any> {
|
|
34
|
+
function getAppropriateAccessorDef(columnDef: ColumnDef<T>): Component<any> {
|
|
37
35
|
if (columnDef instanceof AccessorDef) {
|
|
38
36
|
return cellTypes[columnDef.accessorType];
|
|
39
37
|
}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import type { AccessorComponentProps } from './AccessorComponentProps.js';
|
|
2
|
-
declare function $$render<T extends object
|
|
3
|
-
props: AccessorComponentProps<T
|
|
2
|
+
declare function $$render<T extends object>(): {
|
|
3
|
+
props: AccessorComponentProps<T>;
|
|
4
4
|
exports: {};
|
|
5
5
|
bindings: "";
|
|
6
6
|
slots: {};
|
|
7
7
|
events: {};
|
|
8
8
|
};
|
|
9
|
-
declare class __sveltets_Render<T extends object
|
|
10
|
-
props(): ReturnType<typeof $$render<T
|
|
11
|
-
events(): ReturnType<typeof $$render<T
|
|
12
|
-
slots(): ReturnType<typeof $$render<T
|
|
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
|
|
18
|
-
$$bindings?: ReturnType<__sveltets_Render<T
|
|
19
|
-
} & ReturnType<__sveltets_Render<T
|
|
20
|
-
<T extends object
|
|
21
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any
|
|
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 AccessorComponent: $$IsomorphicComponent;
|
|
24
|
-
type AccessorComponent<T extends object
|
|
24
|
+
type AccessorComponent<T extends object> = InstanceType<typeof AccessorComponent<T>>;
|
|
25
25
|
export default AccessorComponent;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { TableCell } from '../../../Types/Columns/TableCell.js';
|
|
2
|
-
export interface AccessorComponentProps<T extends object
|
|
3
|
-
cell: TableCell<T
|
|
2
|
+
export interface AccessorComponentProps<T extends object> {
|
|
3
|
+
cell: TableCell<T>;
|
|
4
4
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { Column } from '../../../Types/Columns/Column.js';
|
|
2
2
|
import type { SelectDef } from '../../../Types/Columns/Definitions/Accessors/SelectDef.svelte.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
columnDef: SelectDef<T, FilterValueType>;
|
|
3
|
+
export interface SelectColumn<T extends object, in FilterValueType = T, out SelectValueType = T> extends Column<T, FilterValueType> {
|
|
4
|
+
columnDef: SelectDef<T, FilterValueType, SelectValueType>;
|
|
6
5
|
}
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
|
|
26
26
|
export interface TableColumnProps<T extends object> {
|
|
27
27
|
cell: TableCell<T>;
|
|
28
|
-
expandedColumnDef: ExpandDef<T, object
|
|
29
|
-
onExpandChange: (columnDef: ExpandDef<T, object
|
|
28
|
+
expandedColumnDef: ExpandDef<T, object> | undefined;
|
|
29
|
+
onExpandChange: (columnDef: ExpandDef<T, object>) => void;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
function isProgressBarTableCell<T extends object>(
|
|
@@ -2,10 +2,9 @@ import { ExpandDef } from '../../../Types/Columns/Definitions/Expand/ExpandDef.s
|
|
|
2
2
|
import type { TableCell } from '../../../Types/Columns/TableCell.js';
|
|
3
3
|
export interface TableColumnProps<T extends object> {
|
|
4
4
|
cell: TableCell<T>;
|
|
5
|
-
expandedColumnDef: ExpandDef<T, object
|
|
6
|
-
onExpandChange: (columnDef: ExpandDef<T, object
|
|
5
|
+
expandedColumnDef: ExpandDef<T, object> | undefined;
|
|
6
|
+
onExpandChange: (columnDef: ExpandDef<T, object>) => void;
|
|
7
7
|
}
|
|
8
|
-
import type { Primitive } from '../../../Types/Context/TableInitOptions.js';
|
|
9
8
|
declare function $$render<T extends object>(): {
|
|
10
9
|
props: TableColumnProps<T>;
|
|
11
10
|
exports: {};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { Column } from '../../../Types/Columns/Column.js';
|
|
2
2
|
import type { QueryDef } from '../../../Types/Columns/Definitions/Accessors/QueryDef.svelte.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
columnDef: QueryDef<T, FilterValueType>;
|
|
3
|
+
export interface TableQueryColumn<T extends object, in FilterValueType = T, out SelectValueType = T> extends Column<T, FilterValueType, SelectValueType> {
|
|
4
|
+
columnDef: QueryDef<T, FilterValueType, SelectValueType>;
|
|
6
5
|
}
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
import type { DefsWrapper } from '../../Types/Columns/DefsWrapper.js';
|
|
10
10
|
import type { TableCell } from '../../Types/Columns/TableCell.js';
|
|
11
11
|
import { TableContext } from '../../Types/Context/TableContext.svelte.js';
|
|
12
|
-
import type { Primitive } from '../../Types/Context/TableInitOptions.js';
|
|
13
12
|
import ColumnHighlight from './ColumnHighlight.svelte';
|
|
14
13
|
import TableColumn from './Columns/TableColumn.svelte';
|
|
15
14
|
import type { TableRowProps } from './TableRowProps.js';
|
|
@@ -28,7 +27,7 @@
|
|
|
28
27
|
: row.getCenterVisibleCells()
|
|
29
28
|
);
|
|
30
29
|
|
|
31
|
-
let expandedColumnDef: ExpandDef<T, object
|
|
30
|
+
let expandedColumnDef: ExpandDef<T, object> | undefined = $state();
|
|
32
31
|
|
|
33
32
|
$effect(() => {
|
|
34
33
|
if (cells.length) {
|
|
@@ -45,7 +44,7 @@
|
|
|
45
44
|
let innerColumnDefs: DefsWrapper<object> = $state({ defs: [] });
|
|
46
45
|
let innerTableName: string | undefined = $state();
|
|
47
46
|
|
|
48
|
-
let prevExpandedColumnDef: ExpandDef<T, object
|
|
47
|
+
let prevExpandedColumnDef: ExpandDef<T, object> | undefined = $state();
|
|
49
48
|
|
|
50
49
|
const rowIndex = $derived(cells.at(0) && cells[0].row.visibleIndex);
|
|
51
50
|
const highlighted = $derived(
|
|
@@ -84,7 +83,7 @@
|
|
|
84
83
|
});
|
|
85
84
|
});
|
|
86
85
|
|
|
87
|
-
function onExpandChange(columnDef: ExpandDef<T, object
|
|
86
|
+
function onExpandChange(columnDef: ExpandDef<T, object>) {
|
|
88
87
|
if (expandedColumnDef?.id === columnDef.id) {
|
|
89
88
|
expandedColumnDef = undefined;
|
|
90
89
|
} else {
|
|
@@ -2,4 +2,4 @@ import type { ExampleItem } from '../../../Types/Examples/ExampleItem.js';
|
|
|
2
2
|
import { type Component } from 'svelte';
|
|
3
3
|
import type { DisplayDefModalProps } from '../Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js';
|
|
4
4
|
import type { DefsWrapper } from '../Types/Columns/DefsWrapper.js';
|
|
5
|
-
export declare function generateExampleItemColumnDefs(modal: Component<DisplayDefModalProps<ExampleItem
|
|
5
|
+
export declare function generateExampleItemColumnDefs(modal: Component<DisplayDefModalProps<ExampleItem>, object, ''>): DefsWrapper<ExampleItem>;
|
|
@@ -28,33 +28,6 @@ export function generateExampleItemColumnDefs(modal) {
|
|
|
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
|
-
})).downcast();
|
|
58
31
|
let defs = $state([
|
|
59
32
|
expandDef,
|
|
60
33
|
new ValidityDef({
|
|
@@ -171,7 +144,33 @@ export function generateExampleItemColumnDefs(modal) {
|
|
|
171
144
|
showTime: true
|
|
172
145
|
}),
|
|
173
146
|
// altSelectDef,
|
|
174
|
-
|
|
147
|
+
new SelectDef({
|
|
148
|
+
id: 'someSelect',
|
|
149
|
+
header: 'Select Example',
|
|
150
|
+
optional: false,
|
|
151
|
+
getOptions: () => {
|
|
152
|
+
return [
|
|
153
|
+
{
|
|
154
|
+
label: 'First Option',
|
|
155
|
+
value: ExampleSelectEnum.FirstOption
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
label: 'Second Option',
|
|
159
|
+
value: ExampleSelectEnum.SecondOption
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
label: 'Third Option',
|
|
163
|
+
value: ExampleSelectEnum.ThirdOption
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
label: 'Fourth Option',
|
|
167
|
+
value: ExampleSelectEnum.FourthOption
|
|
168
|
+
}
|
|
169
|
+
];
|
|
170
|
+
},
|
|
171
|
+
getDisplayValue: (item) => item.someSelect,
|
|
172
|
+
isEditable: () => true
|
|
173
|
+
}),
|
|
175
174
|
new BubbleDef({
|
|
176
175
|
header: 'Generated Bubble',
|
|
177
176
|
id: 'generatedBubble',
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
currentDropTarget = target as HTMLTableCellElement | null;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
function showtooltip(e: MouseEvent, columnDef: ColumnDef<T
|
|
62
|
+
function showtooltip(e: MouseEvent, columnDef: ColumnDef<T>): void {
|
|
63
63
|
if (columnDef instanceof ExpandDef) {
|
|
64
64
|
const rect = (e.target as HTMLElement).closest('th')?.getBoundingClientRect();
|
|
65
65
|
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
function hideTooltip(columnDef: ColumnDef<T
|
|
81
|
+
function hideTooltip(columnDef: ColumnDef<T>): void {
|
|
82
82
|
if (columnDef instanceof ExpandDef) {
|
|
83
83
|
tooltipContext.hideTooltip(
|
|
84
84
|
`Show ${typeof columnDef.header === 'string' ? columnDef.header : columnDef.id}`
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
currentDropTarget = null;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
function setDragTarget(def: ColumnDef<T
|
|
104
|
+
function setDragTarget(def: ColumnDef<T>) {
|
|
105
105
|
tableContext.dragTarget = def;
|
|
106
106
|
}
|
|
107
107
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ColumnDef } from './Definitions/ColumnDef.svelte.js';
|
|
2
|
-
export interface Column<T extends object, FilterFnType = unknown> {
|
|
2
|
+
export interface Column<T extends object, in FilterFnType = unknown, out OptionsValueType = unknown> {
|
|
3
3
|
id: string;
|
|
4
|
-
columnDef: ColumnDef<T, FilterFnType>;
|
|
4
|
+
columnDef: ColumnDef<T, FilterFnType, OptionsValueType>;
|
|
5
5
|
getCanSort: () => boolean;
|
|
6
6
|
getToggleSortingHandler: () => ((e: MouseEvent) => void) | undefined;
|
|
7
7
|
getIsSorted: () => 'asc' | 'desc' | 'none';
|
|
@@ -1,10 +1,10 @@
|
|
|
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, FilterValueType> extends ColumnDefProps<T, FilterValueType> {
|
|
3
|
+
export interface AccessorDefProps<T extends object, in FilterValueType, out OptionsValueType> extends ColumnDefProps<T, FilterValueType, OptionsValueType> {
|
|
4
4
|
readonly id: string & keyof T;
|
|
5
5
|
}
|
|
6
|
-
export declare abstract class AccessorDef<T extends object, FilterValueType> extends ColumnDef<T, FilterValueType> {
|
|
7
|
-
constructor(props: AccessorDefProps<T, FilterValueType>);
|
|
6
|
+
export declare abstract class AccessorDef<T extends object, in FilterValueType, out OptionsValueType> extends ColumnDef<T, FilterValueType, OptionsValueType> {
|
|
7
|
+
constructor(props: AccessorDefProps<T, FilterValueType, OptionsValueType>);
|
|
8
8
|
readonly columnType: "Accessor";
|
|
9
9
|
abstract readonly accessorType: AccessorType;
|
|
10
10
|
}
|
|
@@ -1,10 +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
|
|
5
|
-
|
|
4
|
+
export interface CheckboxDefProps<T extends object, in FilterValueType = BoolFilterValueType, out SelectValueType = BoolFilterValueType> extends AccessorDefProps<T, FilterValueType, SelectValueType> {
|
|
5
|
+
}
|
|
6
|
+
export declare class CheckboxDef<T extends object, in FilterValueType = BoolFilterValueType, out SelectValueType = BoolFilterValueType> extends AccessorDef<T, FilterValueType, SelectValueType> {
|
|
6
7
|
readonly accessorType: "Checkbox";
|
|
7
|
-
constructor(props: CheckboxDefProps<T, FilterValueType>);
|
|
8
|
+
constructor(props: CheckboxDefProps<T, FilterValueType, SelectValueType>);
|
|
8
9
|
private _filterFn;
|
|
9
10
|
get filterFn(): CustomFilterFn | FilterFn<T, FilterValueType> | undefined;
|
|
10
11
|
set filterFn(v: CustomFilterFn | FilterFn<T, FilterValueType> | undefined);
|
|
@@ -1,12 +1,12 @@
|
|
|
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, FilterValueType = DateFilterValueType> extends AccessorDefProps<T, FilterValueType> {
|
|
4
|
+
export interface DateInputDefProps<T extends object, in FilterValueType = DateFilterValueType, out SelectValueType = DateFilterValueType> extends AccessorDefProps<T, FilterValueType, SelectValueType> {
|
|
5
5
|
showTime?: boolean;
|
|
6
6
|
}
|
|
7
|
-
export declare class DateInputDef<T extends object, FilterValueType = DateFilterValueType> extends AccessorDef<T, FilterValueType> {
|
|
7
|
+
export declare class DateInputDef<T extends object, in FilterValueType = DateFilterValueType, out SelectValueType = DateFilterValueType> extends AccessorDef<T, FilterValueType, SelectValueType> {
|
|
8
8
|
readonly accessorType: "Date";
|
|
9
|
-
constructor(props: DateInputDefProps<T, FilterValueType>);
|
|
9
|
+
constructor(props: DateInputDefProps<T, FilterValueType, SelectValueType>);
|
|
10
10
|
private _filterFn;
|
|
11
11
|
get filterFn(): FilterFn<T, FilterValueType> | CustomFilterFn | undefined;
|
|
12
12
|
set filterFn(v: FilterFn<T, FilterValueType> | CustomFilterFn | undefined);
|
package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.d.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
|
|
2
2
|
import type { FilterFn, NumberFilterValueType } from '../../../Filtering/FilterFn.js';
|
|
3
|
-
import { type
|
|
4
|
-
|
|
5
|
-
export interface NumberInputDefProps<T extends object, FilterValueType = NumberFilterValueType> extends ColumnDefProps<T, FilterValueType> {
|
|
3
|
+
import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
|
|
4
|
+
export interface NumberInputDefProps<T extends object, in FilterValueType = NumberFilterValueType, out OptionssValueType = NumberFilterValueType> extends AccessorDefProps<T, FilterValueType, OptionssValueType> {
|
|
6
5
|
min: number;
|
|
7
6
|
max: number;
|
|
8
7
|
}
|
|
9
|
-
export declare class NumberInputDef<T extends object, FilterValueType = NumberFilterValueType> extends AccessorDef<T, FilterValueType> {
|
|
8
|
+
export declare class NumberInputDef<T extends object, in FilterValueType = NumberFilterValueType, out OptionssValueType = NumberFilterValueType> extends AccessorDef<T, FilterValueType, OptionssValueType> {
|
|
10
9
|
readonly accessorType: "Number";
|
|
11
|
-
constructor(props: NumberInputDefProps<T, FilterValueType>);
|
|
10
|
+
constructor(props: NumberInputDefProps<T, FilterValueType, OptionssValueType>);
|
|
12
11
|
readonly min: number;
|
|
13
12
|
readonly max: number;
|
|
14
13
|
private _filterFn;
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import type { SelectOption } from '../../../../../../Types/Internal/SelectOption.js';
|
|
2
2
|
import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
|
|
3
3
|
import type { FilterFn } from '../../../Filtering/FilterFn.js';
|
|
4
|
-
import type
|
|
5
|
-
|
|
6
|
-
export interface QueryDefProps<T extends object, FilterValueType = unknown> extends ColumnDefProps<T, FilterValueType> {
|
|
4
|
+
import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
|
|
5
|
+
export interface QueryDefProps<T extends object, in FilterValueType = unknown, out OptionsValueType = unknown> extends AccessorDefProps<T, FilterValueType, OptionsValueType> {
|
|
7
6
|
query: (queryString: string, item: T, index: number) => Promise<Array<SelectOption<unknown>>>;
|
|
8
7
|
getDisplayValue: (item: T, index: number) => string | null | Promise<string | null>;
|
|
9
8
|
clearable?: boolean;
|
|
10
9
|
}
|
|
11
|
-
export declare class QueryDef<T extends object, FilterValueType = unknown> extends AccessorDef<T, FilterValueType> {
|
|
10
|
+
export declare class QueryDef<T extends object, FilterValueType = unknown, out OptionsValueType = unknown> extends AccessorDef<T, FilterValueType, OptionsValueType> {
|
|
12
11
|
readonly accessorType: "Query";
|
|
13
|
-
constructor(props: QueryDefProps<T, FilterValueType>);
|
|
12
|
+
constructor(props: QueryDefProps<T, FilterValueType, OptionsValueType>);
|
|
14
13
|
readonly filterFn: CustomFilterFn | FilterFn<T, FilterValueType> | undefined;
|
|
15
14
|
getDisplayValue: (item: T, index: number) => string | null | Promise<string | null>;
|
|
16
15
|
readonly query: (queryString: string, item: T, index: number) => Promise<Array<SelectOption<unknown>>>;
|
|
@@ -2,16 +2,16 @@ import type { SelectOption } from '../../../../../../Types/Internal/SelectOption
|
|
|
2
2
|
import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
|
|
3
3
|
import type { FilterFn } from '../../../Filtering/FilterFn.js';
|
|
4
4
|
import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
|
|
5
|
-
export interface SelectDefProps<T extends object, FilterValueType> extends AccessorDefProps<T, FilterValueType> {
|
|
6
|
-
getOptions: () => Array<SelectOption<
|
|
5
|
+
export interface SelectDefProps<T extends object, in FilterValueType, out SelectValueType> extends AccessorDefProps<T, FilterValueType, SelectValueType> {
|
|
6
|
+
getOptions: () => Array<SelectOption<SelectValueType>> | Promise<Array<SelectOption<SelectValueType>>>;
|
|
7
7
|
getDisplayValue: (item: T, index: number) => string | null | Promise<string | null>;
|
|
8
8
|
sortingFn?: (a: T, b: T) => 1 | -1 | 0;
|
|
9
|
-
getSpecificOptions?: (item: T, index: number) => Array<SelectOption<
|
|
9
|
+
getSpecificOptions?: (item: T, index: number) => Array<SelectOption<SelectValueType>> | Promise<Array<SelectOption<SelectValueType>>>;
|
|
10
10
|
optional?: boolean;
|
|
11
11
|
clearable?: boolean;
|
|
12
12
|
}
|
|
13
|
-
export declare class SelectDef<T extends object, FilterValueType> extends AccessorDef<T, FilterValueType> {
|
|
14
|
-
constructor(props: SelectDefProps<T, FilterValueType>);
|
|
13
|
+
export declare class SelectDef<T extends object, in FilterValueType, out SelectValueType> extends AccessorDef<T, FilterValueType, SelectValueType> {
|
|
14
|
+
constructor(props: SelectDefProps<T, FilterValueType, SelectValueType>);
|
|
15
15
|
readonly accessorType: "Select";
|
|
16
16
|
private _filterFn;
|
|
17
17
|
get filterFn(): FilterFn<T, FilterValueType> | CustomFilterFn | undefined;
|
|
@@ -19,7 +19,7 @@ export declare class SelectDef<T extends object, FilterValueType> extends Access
|
|
|
19
19
|
readonly sortingFn?: (a: T, b: T) => 1 | -1 | 0;
|
|
20
20
|
readonly optional: boolean;
|
|
21
21
|
readonly clearable: boolean;
|
|
22
|
-
readonly getSpecificOptions?: (item: T, index: number) => Array<SelectOption<
|
|
22
|
+
readonly getSpecificOptions?: (item: T, index: number) => Array<SelectOption<SelectValueType>> | Promise<Array<SelectOption<SelectValueType>>>;
|
|
23
23
|
getDisplayValue: (item: T, index: number) => string | null | Promise<string | null>;
|
|
24
|
-
getOptions: () => Array<SelectOption<
|
|
24
|
+
getOptions: () => Array<SelectOption<SelectValueType>> | Promise<Array<SelectOption<SelectValueType>>>;
|
|
25
25
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
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, FilterValueType = StringFilterValueType> extends AccessorDefProps<T, FilterValueType> {
|
|
4
|
+
export interface TextInputDefProps<T extends object, in FilterValueType = StringFilterValueType, out SelectValueType = StringFilterValueType> extends AccessorDefProps<T, FilterValueType, SelectValueType> {
|
|
5
5
|
filterValueType?: 'String';
|
|
6
6
|
}
|
|
7
|
-
export declare class TextInputDef<T extends object, FilterValueType = StringFilterValueType> extends AccessorDef<T, FilterValueType> {
|
|
7
|
+
export declare class TextInputDef<T extends object, in FilterValueType = StringFilterValueType, out SelectValueType = StringFilterValueType> extends AccessorDef<T, FilterValueType, SelectValueType> {
|
|
8
8
|
readonly accessorType: "Text";
|
|
9
|
-
constructor(props: TextInputDefProps<T, FilterValueType>);
|
|
9
|
+
constructor(props: TextInputDefProps<T, FilterValueType, SelectValueType>);
|
|
10
10
|
private _filterFn;
|
|
11
11
|
get filterFn(): CustomFilterFn | FilterFn<T, FilterValueType> | undefined;
|
|
12
12
|
set filterFn(v: CustomFilterFn | FilterFn<T, FilterValueType> | undefined);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { ColourSet } from '../../../../../../scss/colours.js';
|
|
2
2
|
import type { TableActionButton } from '../../TableActionButton.js';
|
|
3
3
|
import { ColumnDef, type ColumnDefProps } from '../ColumnDef.svelte.js';
|
|
4
|
-
export interface ActionsDefProps<T extends object, FilterValueType> extends Omit<ColumnDefProps<T, FilterValueType>, 'id' | 'header'> {
|
|
4
|
+
export interface ActionsDefProps<T extends object, in FilterValueType, out OptionsValueType = unknown> extends Omit<ColumnDefProps<T, FilterValueType, OptionsValueType>, '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, FilterValueType> extends ColumnDef<T, FilterValueType> {
|
|
9
|
+
export declare class ActionsDef<T extends object, FilterValueType, out OptionsValueType = unknown> extends ColumnDef<T, FilterValueType, OptionsValueType> {
|
|
10
10
|
constructor(props: ActionsDefProps<T, FilterValueType>);
|
|
11
11
|
readonly columnType: "Actions";
|
|
12
12
|
readonly actions: Array<TableActionButton<T>>;
|
|
@@ -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, FilterFnType> {
|
|
10
|
+
export interface ColumnDefProps<T extends object, in FilterFnType, out OptionsType> {
|
|
11
11
|
id: string;
|
|
12
12
|
header: string | Snippet;
|
|
13
13
|
debug?: boolean;
|
|
@@ -22,12 +22,12 @@ export interface ColumnDefProps<T extends object, FilterFnType> {
|
|
|
22
22
|
isValid?: ValidationFn<T>;
|
|
23
23
|
filterFn?: FilterFn<T, FilterFnType> | CustomFilterFn;
|
|
24
24
|
filterValueType?: FilterValueType;
|
|
25
|
-
getOptions?: () => Array<SelectOption<
|
|
25
|
+
getOptions?: () => Array<SelectOption<OptionsType>> | Promise<Array<SelectOption<OptionsType>>>;
|
|
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, FilterFnType> {
|
|
30
|
-
protected constructor(props: ColumnDefProps<T, FilterFnType>);
|
|
29
|
+
export declare abstract class ColumnDef<T extends object, in FilterFnType = unknown, out OptionsType = unknown> {
|
|
30
|
+
protected constructor(props: ColumnDefProps<T, FilterFnType, OptionsType>);
|
|
31
31
|
readonly id: string;
|
|
32
32
|
debug: boolean;
|
|
33
33
|
private _index;
|
|
@@ -60,6 +60,5 @@ export declare abstract class ColumnDef<T extends object, 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<
|
|
64
|
-
readonly downcast: () => ColumnDef<T, FilterFnType>;
|
|
63
|
+
readonly getOptions?: () => Array<SelectOption<OptionsType>> | Promise<Array<SelectOption<OptionsType>>>;
|
|
65
64
|
}
|
|
@@ -83,10 +83,4 @@ export class ColumnDef {
|
|
|
83
83
|
resizable;
|
|
84
84
|
header;
|
|
85
85
|
getOptions;
|
|
86
|
-
// HACK: indended to be used as a quick type coercion for lists of ColumnDef<T,unknown>
|
|
87
|
-
// not the best way to solve this problem, but I've wasted enough time on this.
|
|
88
|
-
// eslint-disable-next-line @typescript-eslint/prefer-return-this-type
|
|
89
|
-
downcast = () => {
|
|
90
|
-
return this;
|
|
91
|
-
};
|
|
92
86
|
}
|
package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts
CHANGED
|
@@ -2,17 +2,17 @@ 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, FilterValueType> {
|
|
6
|
-
cell: TableCell<T, FilterValueType>;
|
|
5
|
+
export interface DisplayDefModalProps<T extends object, in FilterValueType = unknown, out OptionsValueType = unknown> {
|
|
6
|
+
cell: TableCell<T, FilterValueType, OptionsValueType>;
|
|
7
7
|
onclose: () => void;
|
|
8
8
|
onsubmit: () => void;
|
|
9
9
|
}
|
|
10
|
-
export interface AbstractDisplayDefProps<T extends object, FilterFnType> extends ColumnDefProps<T, FilterFnType> {
|
|
10
|
+
export interface AbstractDisplayDefProps<T extends object, FilterFnType, out OptionsValueType = unknown> extends ColumnDefProps<T, FilterFnType, OptionsValueType> {
|
|
11
11
|
modal?: Component<any, any, any>;
|
|
12
12
|
}
|
|
13
|
-
export declare abstract class AbstractDisplayDef<T extends object, FilterValueType> extends ColumnDef<T, FilterValueType> {
|
|
13
|
+
export declare abstract class AbstractDisplayDef<T extends object, FilterValueType, out OptionsValueType = unknown> extends ColumnDef<T, FilterValueType, OptionsValueType> {
|
|
14
14
|
abstract readonly displayType: DisplayType;
|
|
15
|
-
constructor(props: AbstractDisplayDefProps<T, FilterValueType>);
|
|
15
|
+
constructor(props: AbstractDisplayDefProps<T, FilterValueType, OptionsValueType>);
|
|
16
16
|
readonly columnType: "Display";
|
|
17
17
|
readonly modal: Component<DisplayDefModalProps<T, FilterValueType>, any, any> | undefined;
|
|
18
18
|
}
|
|
@@ -2,7 +2,7 @@ import type { IconProps } from '../../../../../IconProps.js';
|
|
|
2
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, InnterIdType extends Primitive, FilterValueType = unknown> extends ColumnDefProps<T, FilterValueType> {
|
|
5
|
+
export interface ExpandDefProps<T extends object, R extends object, InnterIdType extends Primitive = Primitive, in FilterValueType = unknown, out OptionsValueType = unknown> extends ColumnDefProps<T, FilterValueType, OptionsValueType> {
|
|
6
6
|
isEnabled: (item: T, index: number) => boolean | Promise<boolean>;
|
|
7
7
|
getInnerColumnDefs: (item: T, index: number) => DefsWrapper<R>;
|
|
8
8
|
headerIcon: IconProps['name'];
|
|
@@ -10,9 +10,9 @@ export interface ExpandDefProps<T extends object, R extends object, InnterIdType
|
|
|
10
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, InnterIdType extends Primitive, FilterValueType = unknown> extends ColumnDef<T, FilterValueType> {
|
|
13
|
+
export declare class ExpandDef<T extends object, R extends object, InnterIdType extends Primitive = Primitive, in FilterValueType = unknown, out OptionsValueType = unknown> extends ColumnDef<T, FilterValueType, OptionsValueType> {
|
|
14
14
|
readonly columnType: "Expand";
|
|
15
|
-
constructor(props: ExpandDefProps<T, R, InnterIdType, FilterValueType>);
|
|
15
|
+
constructor(props: ExpandDefProps<T, R, InnterIdType, FilterValueType, OptionsValueType>);
|
|
16
16
|
readonly accessorFn: (item: T, index: number) => Array<R> | Promise<Array<R>>;
|
|
17
17
|
readonly filterFn: undefined;
|
|
18
18
|
readonly innerTableName: string;
|
package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.d.ts
CHANGED
|
@@ -2,9 +2,10 @@ import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
|
|
|
2
2
|
import type { FilterFn } from '../../../Filtering/FilterFn.js';
|
|
3
3
|
import { ColumnType } from '../../ColumnType.js';
|
|
4
4
|
import { ColumnDef, type ColumnDefProps } from '../ColumnDef.svelte.js';
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export interface FilterOnlyDefProps<T extends object, FilterFnType = unknown, out OptionsValueType = unknown> extends ColumnDefProps<T, FilterFnType, OptionsValueType> {
|
|
6
|
+
}
|
|
7
|
+
export declare class FilterOnlyDef<T extends object, FilterFnType = unknown, out OptionsValueType = unknown> extends ColumnDef<T, FilterFnType, OptionsValueType> {
|
|
8
|
+
constructor(props: FilterOnlyDefProps<T, FilterFnType, OptionsValueType>);
|
|
8
9
|
readonly columnType: ColumnType;
|
|
9
10
|
readonly filterFn: CustomFilterFn | FilterFn<T, FilterFnType> | undefined;
|
|
10
11
|
}
|
package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type { BoolFilterValueType } from '../../../Filtering/FilterFn.js';
|
|
2
1
|
import { ColumnType } from '../../ColumnType.js';
|
|
3
2
|
import { ColumnDef } from '../ColumnDef.svelte.js';
|
|
4
|
-
export declare class RowSelectionDef<T extends object
|
|
3
|
+
export declare class RowSelectionDef<T extends object> extends ColumnDef<T> {
|
|
5
4
|
readonly isSelectable: (item: T, index: number) => boolean | Promise<boolean>;
|
|
6
5
|
readonly columnType: ColumnType;
|
|
7
6
|
constructor(isSelectable: (item: T, index: number) => boolean | Promise<boolean>);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CustomRemoteFilters } from '../Filtering/CustomRemoteFilters.js';
|
|
2
2
|
import type { ColumnDef } from './Definitions/ColumnDef.svelte.js';
|
|
3
3
|
export interface DefsWrapper<T extends object> {
|
|
4
|
-
defs: Array<ColumnDef<T
|
|
4
|
+
defs: Array<ColumnDef<T>>;
|
|
5
5
|
remoteFilters?: CustomRemoteFilters<unknown>;
|
|
6
6
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Row } from '../Context/Row.js';
|
|
2
2
|
import type { Column } from './Column.js';
|
|
3
|
-
export interface TableCell<T extends object, FilterValueType = unknown> {
|
|
4
|
-
column: Column<T, FilterValueType>;
|
|
3
|
+
export interface TableCell<T extends object, in FilterValueType = unknown, out OptionsValueType = unknown> {
|
|
4
|
+
column: Column<T, FilterValueType, OptionsValueType>;
|
|
5
5
|
row: Row<T>;
|
|
6
6
|
id: string;
|
|
7
7
|
getValue: () => unknown | Promise<unknown>;
|
|
@@ -10,7 +10,7 @@ import type { OnChangeFn } from '../OnChangeFn.js';
|
|
|
10
10
|
import type { PaginationState } from '../Pagination/PaginationState.js';
|
|
11
11
|
export interface ITable<T extends object> {
|
|
12
12
|
data: Promise<Array<T>>;
|
|
13
|
-
columns: Array<ColumnDef<T
|
|
13
|
+
columns: Array<ColumnDef<T>>;
|
|
14
14
|
columnSizing: ColumnSizingState;
|
|
15
15
|
columnVisibility: VisibilityState;
|
|
16
16
|
sorting: SortingState | undefined;
|
|
@@ -62,11 +62,11 @@ export declare class TableContext<T extends object, RowIdType extends Primitive>
|
|
|
62
62
|
get limitFooter(): boolean;
|
|
63
63
|
set limitFooter(v: boolean);
|
|
64
64
|
private _dragTarget;
|
|
65
|
-
get dragTarget(): ColumnDef<T
|
|
66
|
-
set dragTarget(v: ColumnDef<T
|
|
65
|
+
get dragTarget(): ColumnDef<T> | null;
|
|
66
|
+
set dragTarget(v: ColumnDef<T> | null);
|
|
67
67
|
private _columnDefs;
|
|
68
|
-
get columnDefs(): Array<ColumnDef<T
|
|
69
|
-
set columnDefs(v: Array<ColumnDef<T
|
|
68
|
+
get columnDefs(): Array<ColumnDef<T>>;
|
|
69
|
+
set columnDefs(v: Array<ColumnDef<T>>);
|
|
70
70
|
private _columnPresets;
|
|
71
71
|
get columnPresets(): ReadonlyArray<ColumnDefSet<T>>;
|
|
72
72
|
private set columnPresets(value);
|
|
@@ -178,8 +178,8 @@ export declare class TableContext<T extends object, RowIdType extends Primitive>
|
|
|
178
178
|
updateColumnSizing: OnChangeFn<ColumnSizingState>;
|
|
179
179
|
readonly table: ITable<T>;
|
|
180
180
|
readonly lastPage: number;
|
|
181
|
-
readonly measureHeaderWidth: (columnDef: ColumnDef<T
|
|
182
|
-
readonly autoResize: (columnDef: ColumnDef<T
|
|
181
|
+
readonly measureHeaderWidth: (columnDef: ColumnDef<T>) => number;
|
|
182
|
+
readonly autoResize: (columnDef: ColumnDef<T>) => Promise<void>;
|
|
183
183
|
reorderColumn: (dropTarget: HTMLLIElement | HTMLTableCellElement | null) => void;
|
|
184
184
|
copyHighlightedRowsToClipboard: () => Promise<void>;
|
|
185
185
|
copyDataToClipboard: () => Promise<void>;
|
|
@@ -231,8 +231,8 @@ export declare class TableContext<T extends object, RowIdType extends Primitive>
|
|
|
231
231
|
private setupDefaultColumnDefs;
|
|
232
232
|
private _getUserDefaults;
|
|
233
233
|
private _setNewPinningState;
|
|
234
|
-
readonly getToggleSortingHandler: (def: ColumnDef<T
|
|
234
|
+
readonly getToggleSortingHandler: (def: ColumnDef<T>) => () => void;
|
|
235
235
|
private reassignDefsToPresets;
|
|
236
236
|
private filteringLoop;
|
|
237
237
|
}
|
|
238
|
-
export declare function isSearchable<T extends object, CD extends ColumnDef<T
|
|
238
|
+
export declare function isSearchable<T extends object, CD extends ColumnDef<T>>(def: CD): def is CD & HasCustomFilterFunction;
|
|
@@ -317,8 +317,6 @@ export class TableContext {
|
|
|
317
317
|
set limitFooter(v) {
|
|
318
318
|
this._limitFooter = v;
|
|
319
319
|
}
|
|
320
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
321
|
-
// type here set to any because users of this property should not access the filter type, but typescript doesn't support that
|
|
322
320
|
_dragTarget = $state(null);
|
|
323
321
|
get dragTarget() {
|
|
324
322
|
return this._dragTarget;
|
|
@@ -326,7 +324,6 @@ export class TableContext {
|
|
|
326
324
|
set dragTarget(v) {
|
|
327
325
|
this._dragTarget = v;
|
|
328
326
|
}
|
|
329
|
-
/* eslint-enable @typescript-eslint/no-explicit-any */
|
|
330
327
|
_columnDefs = $state([]);
|
|
331
328
|
get columnDefs() {
|
|
332
329
|
return this._columnDefs;
|
|
@@ -1068,6 +1065,13 @@ export class TableContext {
|
|
|
1068
1065
|
else {
|
|
1069
1066
|
this.setFocusRight();
|
|
1070
1067
|
}
|
|
1068
|
+
return;
|
|
1069
|
+
}
|
|
1070
|
+
default: {
|
|
1071
|
+
if (this.debug) {
|
|
1072
|
+
console.log(`handleKeystroke: ignoring key ${e.key}`);
|
|
1073
|
+
}
|
|
1074
|
+
break;
|
|
1071
1075
|
}
|
|
1072
1076
|
}
|
|
1073
1077
|
if (this.allowCopy) {
|
|
@@ -1089,6 +1093,10 @@ export class TableContext {
|
|
|
1089
1093
|
await this.copyDataToClipboard();
|
|
1090
1094
|
}
|
|
1091
1095
|
break;
|
|
1096
|
+
default: {
|
|
1097
|
+
//nothing
|
|
1098
|
+
break;
|
|
1099
|
+
}
|
|
1092
1100
|
}
|
|
1093
1101
|
}
|
|
1094
1102
|
}
|
|
@@ -1441,8 +1449,9 @@ export class TableContext {
|
|
|
1441
1449
|
}
|
|
1442
1450
|
};
|
|
1443
1451
|
moveToStart = () => {
|
|
1444
|
-
if (!this.focusStart)
|
|
1452
|
+
if (!this.focusStart) {
|
|
1445
1453
|
return;
|
|
1454
|
+
}
|
|
1446
1455
|
const visibility = this.columnVisibility;
|
|
1447
1456
|
const columnDefs = this.columnDefs;
|
|
1448
1457
|
const current = this.focusStart.column;
|
|
@@ -43,6 +43,6 @@ export declare abstract class TableDataRepository<T extends object> implements I
|
|
|
43
43
|
set forceRefresh(v: () => void);
|
|
44
44
|
readonly registerRefreshMethod: (method: () => void) => void;
|
|
45
45
|
protected getValueSet(values: Array<string | number | undefined>): Set<number>;
|
|
46
|
-
static getValues(values: Array<string | number | undefined>): Array<number>;
|
|
46
|
+
static getValues(values: Array<string | number | null | undefined>): Array<number>;
|
|
47
47
|
static getMinMax(values: Array<string | number | null | undefined>): number[] | undefined[];
|
|
48
48
|
}
|
|
@@ -62,7 +62,7 @@ export function refWrapper(initial) {
|
|
|
62
62
|
},
|
|
63
63
|
set value(v) {
|
|
64
64
|
value = v;
|
|
65
|
-
}
|
|
65
|
+
},
|
|
66
66
|
};
|
|
67
67
|
}
|
|
68
68
|
export function SQLFriendly(date) {
|
|
@@ -94,7 +94,7 @@ export const localTimeFormat = new Intl.DateTimeFormat('en-GB', {
|
|
|
94
94
|
hourCycle: 'h23',
|
|
95
95
|
minute: '2-digit',
|
|
96
96
|
second: '2-digit',
|
|
97
|
-
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone
|
|
97
|
+
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
|
|
98
98
|
});
|
|
99
99
|
export function passthrough(e) {
|
|
100
100
|
if (!e.key.match(/^[a-zA-Z0-9[\]]$/gm)) {
|
|
@@ -212,7 +212,7 @@ export async function asyncSome(array, asyncCallback) {
|
|
|
212
212
|
// empty promise is required here
|
|
213
213
|
// because otherwise the first false would immediately end the race without checking the rest of the array
|
|
214
214
|
promises.map(async (p) => (await p) || emptyPromise)),
|
|
215
|
-
Promise.all(promises).then((r) => r.some(Boolean))
|
|
215
|
+
Promise.all(promises).then((r) => r.some(Boolean)),
|
|
216
216
|
]);
|
|
217
217
|
}
|
|
218
218
|
export async function asyncAll(array, asyncCallback) {
|
|
@@ -224,7 +224,7 @@ export async function asyncAll(array, asyncCallback) {
|
|
|
224
224
|
// empty promise is required here
|
|
225
225
|
// because otherwise the first false would immediately end the race without checking the rest of the array
|
|
226
226
|
promises.map(async (p) => (await p) || emptyPromise)),
|
|
227
|
-
Promise.all(promises).then((r) => r.every(Boolean))
|
|
227
|
+
Promise.all(promises).then((r) => r.every(Boolean)),
|
|
228
228
|
]);
|
|
229
229
|
}
|
|
230
230
|
export const asyncEvery = asyncAll;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script lang="ts"
|
|
3
|
+
<script lang="ts">
|
|
4
4
|
import DesktopModal from '../../Components/DesktopModal.svelte';
|
|
5
5
|
import Switch from '../../Components/Switch.svelte';
|
|
6
6
|
import type { DisplayDefModalProps } from '../../Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js';
|
|
7
7
|
import type { ExampleItem } from './ExampleItem.js';
|
|
8
8
|
|
|
9
|
-
const { cell, onclose, onsubmit }: DisplayDefModalProps<ExampleItem
|
|
9
|
+
const { cell, onclose, onsubmit }: DisplayDefModalProps<ExampleItem> = $props();
|
|
10
10
|
</script>
|
|
11
11
|
|
|
12
12
|
<DesktopModal
|
|
@@ -1,26 +1,5 @@
|
|
|
1
1
|
import type { DisplayDefModalProps } from '../../Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js';
|
|
2
2
|
import type { ExampleItem } from './ExampleItem.js';
|
|
3
|
-
declare
|
|
4
|
-
|
|
5
|
-
exports: {};
|
|
6
|
-
bindings: "";
|
|
7
|
-
slots: {};
|
|
8
|
-
events: {};
|
|
9
|
-
};
|
|
10
|
-
declare class __sveltets_Render<FilterValueType> {
|
|
11
|
-
props(): ReturnType<typeof $$render<FilterValueType>>['props'];
|
|
12
|
-
events(): ReturnType<typeof $$render<FilterValueType>>['events'];
|
|
13
|
-
slots(): ReturnType<typeof $$render<FilterValueType>>['slots'];
|
|
14
|
-
bindings(): "";
|
|
15
|
-
exports(): {};
|
|
16
|
-
}
|
|
17
|
-
interface $$IsomorphicComponent {
|
|
18
|
-
new <FilterValueType>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<FilterValueType>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<FilterValueType>['props']>, ReturnType<__sveltets_Render<FilterValueType>['events']>, ReturnType<__sveltets_Render<FilterValueType>['slots']>> & {
|
|
19
|
-
$$bindings?: ReturnType<__sveltets_Render<FilterValueType>['bindings']>;
|
|
20
|
-
} & ReturnType<__sveltets_Render<FilterValueType>['exports']>;
|
|
21
|
-
<FilterValueType>(internal: unknown, props: ReturnType<__sveltets_Render<FilterValueType>['props']> & {}): ReturnType<__sveltets_Render<FilterValueType>['exports']>;
|
|
22
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
23
|
-
}
|
|
24
|
-
declare const ExampleModal: $$IsomorphicComponent;
|
|
25
|
-
type ExampleModal<FilterValueType> = InstanceType<typeof ExampleModal<FilterValueType>>;
|
|
3
|
+
declare const ExampleModal: import("svelte").Component<DisplayDefModalProps<ExampleItem, unknown, unknown>, {}, "">;
|
|
4
|
+
type ExampleModal = ReturnType<typeof ExampleModal>;
|
|
26
5
|
export default ExampleModal;
|
|
@@ -2,4 +2,4 @@ import type { GridNumberItem } from './GridNumberItem.js';
|
|
|
2
2
|
import type { GridSelectItem } from './GridSelectItem.js';
|
|
3
3
|
import type { GridTextItem } from './GridTextItem.js';
|
|
4
4
|
import type { ValueProp } from './Misc.js';
|
|
5
|
-
export type GridItem<V extends object, VP extends ValueProp<V>> = GridTextItem | GridNumberItem | GridSelectItem<V, VP>;
|
|
5
|
+
export type GridItem<V extends object, VP extends ValueProp<V> = ValueProp<V>> = GridTextItem | GridNumberItem | GridSelectItem<V, VP>;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lavalogic/scoria",
|
|
3
3
|
"description": "Svelte components used for the FloWMS Web Frontend",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.16.0",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "restricted"
|
|
7
7
|
},
|
|
@@ -33,35 +33,35 @@
|
|
|
33
33
|
"@eslint/compat": "^2.0.2",
|
|
34
34
|
"@eslint/js": "^10.0.1",
|
|
35
35
|
"@playwright/test": "^1.58.2",
|
|
36
|
-
"@storybook/addon-a11y": "^10.2.
|
|
37
|
-
"@storybook/addon-docs": "^10.2.
|
|
36
|
+
"@storybook/addon-a11y": "^10.2.14",
|
|
37
|
+
"@storybook/addon-docs": "^10.2.14",
|
|
38
38
|
"@storybook/addon-svelte-csf": "^5.0.11",
|
|
39
|
-
"@storybook/addon-vitest": "^10.2.
|
|
40
|
-
"@storybook/sveltekit": "^10.2.
|
|
41
|
-
"@sveltejs/adapter-node": "^5.5.
|
|
42
|
-
"@sveltejs/kit": "^2.53.
|
|
39
|
+
"@storybook/addon-vitest": "^10.2.14",
|
|
40
|
+
"@storybook/sveltekit": "^10.2.14",
|
|
41
|
+
"@sveltejs/adapter-node": "^5.5.4",
|
|
42
|
+
"@sveltejs/kit": "^2.53.4",
|
|
43
43
|
"@sveltejs/package": "^2.5.7",
|
|
44
44
|
"@sveltejs/vite-plugin-svelte": "^6.2.4",
|
|
45
45
|
"@types/eslint": "^9.6.1",
|
|
46
|
-
"@types/node": "^25.3.
|
|
46
|
+
"@types/node": "^25.3.3",
|
|
47
47
|
"@typescript-eslint/eslint-plugin": "^8.56.1",
|
|
48
48
|
"@typescript-eslint/parser": "^8.56.1",
|
|
49
49
|
"@vitest/browser": "^4.0.18",
|
|
50
50
|
"@vitest/browser-playwright": "^4.0.18",
|
|
51
51
|
"eslint": "^10.0.2",
|
|
52
52
|
"eslint-config-prettier": "^10.1.8",
|
|
53
|
-
"eslint-plugin-storybook": "^10.2.
|
|
53
|
+
"eslint-plugin-storybook": "^10.2.14",
|
|
54
54
|
"eslint-plugin-svelte": "^3.15.0",
|
|
55
|
-
"globals": "^17.
|
|
55
|
+
"globals": "^17.4.0",
|
|
56
56
|
"mdsvex": "^0.12.6",
|
|
57
57
|
"playwright": "^1.58.2",
|
|
58
58
|
"prettier": "^3.8.1",
|
|
59
|
-
"prettier-plugin-svelte": "^3.5.
|
|
60
|
-
"publint": "^0.3.
|
|
59
|
+
"prettier-plugin-svelte": "^3.5.1",
|
|
60
|
+
"publint": "^0.3.18",
|
|
61
61
|
"sass-embedded": "^1.97.3",
|
|
62
|
-
"storybook": "^10.2.
|
|
63
|
-
"svelte": "^5.53.
|
|
64
|
-
"svelte-check": "^4.4.
|
|
62
|
+
"storybook": "^10.2.14",
|
|
63
|
+
"svelte": "^5.53.7",
|
|
64
|
+
"svelte-check": "^4.4.4",
|
|
65
65
|
"svelte-render-scan": "^1.1.0",
|
|
66
66
|
"typescript": "^5.9.3",
|
|
67
67
|
"typescript-eslint": "^8.56.1",
|