@warkypublic/svelix 0.1.46 → 0.1.47
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/README.md +93 -33
- package/dist/components/BetterMenu/BetterMenu.svelte +21 -37
- package/dist/components/BetterMenu/BetterMenuAsyncButton.svelte +21 -31
- package/dist/components/BetterMenu/BetterMenuPreview.svelte +27 -29
- package/dist/components/BetterMenu/MenuRenderer.svelte +40 -51
- package/dist/components/Boxer/Boxer.svelte +488 -602
- package/dist/components/Boxer/BoxerTarget.svelte +6 -46
- package/dist/components/Boxer/BoxerTarget.svelte.d.ts +1 -0
- package/dist/components/Boxer/types.d.ts +0 -1
- package/dist/components/Button.svelte +19 -43
- package/dist/components/ButtonPreview.svelte +2 -11
- package/dist/components/CardGrid/CardGrid.svelte +443 -614
- package/dist/components/CardGrid/CardGridFilterPanel.svelte +111 -90
- package/dist/components/CardGrid/DefaultCard.svelte +80 -96
- package/dist/components/CardGrid/ImageCardStory.svelte +87 -36
- package/dist/components/ContentEditor/CollaboraInsertTextDemo.svelte +5 -10
- package/dist/components/ContentEditor/ContentEditor.svelte +24 -50
- package/dist/components/ContentEditor/subcomponents/AudioPlayer.svelte +17 -17
- package/dist/components/ContentEditor/subcomponents/CollaboraEditor.svelte +244 -309
- package/dist/components/ContentEditor/subcomponents/EmailViewer.svelte +2 -3
- package/dist/components/ContentEditor/subcomponents/ImageViewer.svelte +14 -15
- package/dist/components/ContentEditor/subcomponents/MarkdownViewer.svelte +74 -90
- package/dist/components/ContentEditor/subcomponents/MonacoEditor.svelte +75 -103
- package/dist/components/ContentEditor/subcomponents/Office365Editor.svelte +234 -297
- package/dist/components/ContentEditor/subcomponents/PdfViewer.svelte +14 -20
- package/dist/components/ContentEditor/subcomponents/TextEditor.svelte +122 -150
- package/dist/components/ContentEditor/subcomponents/UnknownFile.svelte +105 -126
- package/dist/components/ContentEditor/subcomponents/VideoPlayer.svelte +17 -17
- package/dist/components/ContentEditor/subcomponents/ZipViewer.svelte +2 -3
- package/dist/components/ErrorBoundary/ErrorBoundary.svelte +41 -58
- package/dist/components/ErrorBoundary/ErrorBoundaryPreview.svelte +8 -16
- package/dist/components/Former/Former.svelte +306 -424
- package/dist/components/Former/FormerButtonArea.svelte +17 -68
- package/dist/components/Former/FormerDrawer.svelte +26 -78
- package/dist/components/Former/FormerDrawerPreview.svelte +99 -89
- package/dist/components/Former/FormerModal.svelte +24 -70
- package/dist/components/Former/FormerModalPreview.svelte +99 -89
- package/dist/components/Former/FormerPreview.svelte +76 -78
- package/dist/components/Former/FormerRestApiPreview.svelte +55 -48
- package/dist/components/FormerControllers/ButtonCtrl.svelte +13 -44
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrl.svelte +280 -445
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrlCalendar.svelte +95 -136
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrlPickerPanel.svelte +3 -62
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrlTimeFields.svelte +143 -217
- package/dist/components/FormerControllers/IconButtonCtrl.svelte +13 -42
- package/dist/components/FormerControllers/InlineWrapper.svelte +12 -41
- package/dist/components/FormerControllers/InlineWrapperPreview.svelte +4 -26
- package/dist/components/FormerControllers/NativeSelectCtrl.svelte +3 -29
- package/dist/components/FormerControllers/NumberInputCtrl.svelte +9 -35
- package/dist/components/FormerControllers/PasswordInputCtrl.svelte +4 -23
- package/dist/components/FormerControllers/SwitchCtrl.svelte +3 -20
- package/dist/components/FormerControllers/TextAreaCtrl.svelte +3 -24
- package/dist/components/FormerControllers/TextInputCtrl.svelte +3 -24
- package/dist/components/GlobalStateStore/GlobalStateStoreProvider.svelte +73 -120
- package/dist/components/Gridler/components/Gridler.svelte +338 -442
- package/dist/components/Gridler/components/GridlerCanvas.svelte +720 -1115
- package/dist/components/Gridler/components/GridlerEditor.svelte +2 -15
- package/dist/components/Gridler/components/GridlerFull.svelte +520 -841
- package/dist/components/Gridler/components/GridlerFull.svelte.d.ts +1 -1
- package/dist/components/Gridler/components/GridlerFullWithFormerPreview.svelte +194 -147
- package/dist/components/Gridler/components/GridlerSearch.svelte +7 -16
- package/dist/components/Gridler/components/GridlerSearchToggle.svelte +7 -19
- package/dist/components/Gridler/types.d.ts +1 -1
- package/dist/components/Icons/IconAdd.svelte +1 -3
- package/dist/components/Icons/IconAlertCircle.svelte +1 -3
- package/dist/components/Icons/IconAlertTriangle.svelte +1 -3
- package/dist/components/Icons/IconCamera.svelte +1 -3
- package/dist/components/Icons/IconClose.svelte +1 -3
- package/dist/components/Icons/IconEdit.svelte +1 -3
- package/dist/components/Icons/IconFilter.svelte +1 -3
- package/dist/components/Icons/IconSearch.svelte +1 -3
- package/dist/components/Icons/IconSort.svelte +1 -3
- package/dist/components/Icons/IconTrash.svelte +1 -3
- package/dist/components/Portal/Portal.svelte +14 -38
- package/dist/components/Screenshot/Screenshot.svelte +7 -13
- package/dist/components/Svark/Svark.svelte +680 -852
- package/dist/components/Svark/SvarkContextMenu.svelte +44 -63
- package/dist/components/Svark/SvarkInfiniteLoader.svelte +2 -6
- package/dist/components/Svark/SvarkPager.svelte +2 -28
- package/dist/components/Svark/SvarkSelectionDemo.svelte +4 -8
- package/dist/components/Svark/SvarkTopBar.svelte +9 -74
- package/dist/components/SvarkGrid/SvarkGrid.svelte +877 -1123
- package/dist/components/SvarkGrid/components/SvarkColumnFilterForm.svelte +45 -58
- package/dist/components/SvarkGrid/components/SvarkContextMenu.svelte +44 -63
- package/dist/components/SvarkGrid/components/SvarkHeaderFilterCell.svelte +41 -75
- package/dist/components/SvarkGrid/components/SvarkInfiniteLoader.svelte +2 -6
- package/dist/components/SvarkGrid/components/SvarkPager.svelte +2 -28
- package/dist/components/SvarkGrid/components/SvarkSearchPopover.svelte +8 -16
- package/dist/components/SvarkGrid/components/SvarkTopBar.svelte +6 -62
- package/dist/components/SvarkGrid/internal/SvarkGridView.svelte +345 -507
- package/dist/components/VTree/VTree.svelte +349 -431
- package/dist/components/VTree/VTreeContextMenu.svelte +21 -33
- package/dist/components/VTree/VTreeEventsDemo.svelte +48 -58
- package/dist/components/VTree/VTreeRow.svelte +13 -65
- package/dist/components/VTree/VTreeSearch.svelte +6 -13
- package/dist/components/VTree/VTreeVirtualViewport.svelte +37 -106
- package/package.json +30 -29
|
@@ -1,36 +1,24 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const overlay = registerOverlay({ kind: 'contextmenu', mount: 'portal' });
|
|
25
|
-
backdropZ = overlay.layer.backdrop;
|
|
26
|
-
menuZ = overlay.layer.content;
|
|
27
|
-
|
|
28
|
-
return () => {
|
|
29
|
-
overlay.unregister();
|
|
30
|
-
backdropZ = 1090;
|
|
31
|
-
menuZ = 1100;
|
|
32
|
-
};
|
|
33
|
-
});
|
|
1
|
+
<script lang="ts">import Portal from "../Portal/Portal.svelte";
|
|
2
|
+
import { registerOverlay } from "../OverlayStack";
|
|
3
|
+
const { open, x, y, items, onselectitem } = $props();
|
|
4
|
+
let backdropZ = $state(1090);
|
|
5
|
+
let menuZ = $state(1100);
|
|
6
|
+
$effect(() => {
|
|
7
|
+
if (!open) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
const overlay = registerOverlay({
|
|
11
|
+
kind: "contextmenu",
|
|
12
|
+
mount: "portal"
|
|
13
|
+
});
|
|
14
|
+
backdropZ = overlay.layer.backdrop;
|
|
15
|
+
menuZ = overlay.layer.content;
|
|
16
|
+
return () => {
|
|
17
|
+
overlay.unregister();
|
|
18
|
+
backdropZ = 1090;
|
|
19
|
+
menuZ = 1100;
|
|
20
|
+
};
|
|
21
|
+
});
|
|
34
22
|
</script>
|
|
35
23
|
|
|
36
24
|
<Portal>
|
|
@@ -1,61 +1,51 @@
|
|
|
1
|
-
<script lang="ts"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
id: 'inspect',
|
|
53
|
-
label: 'Inspect Node',
|
|
54
|
-
onselect: (row, treeData) => {
|
|
55
|
-
eventLog = `menu: inspect -> ${row.id} (roots: ${treeData.length})`;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
];
|
|
1
|
+
<script lang="ts">// @ts-nocheck
|
|
2
|
+
import VTree from "./VTree.svelte";
|
|
3
|
+
const data = [{
|
|
4
|
+
id: "alpha",
|
|
5
|
+
label: "Alpha Team",
|
|
6
|
+
description: "Top-level group",
|
|
7
|
+
hasChildren: true,
|
|
8
|
+
children: [{
|
|
9
|
+
id: "alpha-1",
|
|
10
|
+
label: "Alpha User 1",
|
|
11
|
+
description: "Owner"
|
|
12
|
+
}, {
|
|
13
|
+
id: "alpha-2",
|
|
14
|
+
label: "Alpha User 2",
|
|
15
|
+
description: "Contributor"
|
|
16
|
+
}]
|
|
17
|
+
}, {
|
|
18
|
+
id: "beta",
|
|
19
|
+
label: "Beta Team",
|
|
20
|
+
description: "Top-level group",
|
|
21
|
+
hasChildren: true,
|
|
22
|
+
children: [{
|
|
23
|
+
id: "beta-1",
|
|
24
|
+
label: "Beta User 1",
|
|
25
|
+
description: "Owner"
|
|
26
|
+
}, {
|
|
27
|
+
id: "beta-2",
|
|
28
|
+
label: "Beta User 2",
|
|
29
|
+
description: "Contributor"
|
|
30
|
+
}]
|
|
31
|
+
}];
|
|
32
|
+
let eventLog = $state("No row event yet.");
|
|
33
|
+
function printEvent(kind, row, treeData) {
|
|
34
|
+
eventLog = `${kind}: ${row?.label ?? "null"} | tree roots: ${treeData.length}`;
|
|
35
|
+
}
|
|
36
|
+
const menuItems = [{
|
|
37
|
+
id: "open",
|
|
38
|
+
label: "Open",
|
|
39
|
+
onselect: (row) => {
|
|
40
|
+
eventLog = `menu: open -> ${row?.label ?? "null"}`;
|
|
41
|
+
}
|
|
42
|
+
}, {
|
|
43
|
+
id: "inspect",
|
|
44
|
+
label: "Inspect Node",
|
|
45
|
+
onselect: (row, treeData) => {
|
|
46
|
+
eventLog = `menu: inspect -> ${row.id} (roots: ${treeData.length})`;
|
|
47
|
+
}
|
|
48
|
+
}];
|
|
59
49
|
</script>
|
|
60
50
|
|
|
61
51
|
{#snippet leftContent(args)}
|
|
@@ -1,68 +1,16 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
getNodeDescription: (node: T) => string;
|
|
15
|
-
treeDataSnapshot: T[];
|
|
16
|
-
leftSection?: Snippet<[{
|
|
17
|
-
node: T;
|
|
18
|
-
level: number;
|
|
19
|
-
rowIndex: number;
|
|
20
|
-
treeData: T[];
|
|
21
|
-
}]>;
|
|
22
|
-
rightSection?: Snippet<[{
|
|
23
|
-
node: T;
|
|
24
|
-
level: number;
|
|
25
|
-
rowIndex: number;
|
|
26
|
-
treeData: T[];
|
|
27
|
-
}]>;
|
|
28
|
-
onselectrow?: (index: number, event: MouseEvent) => void;
|
|
29
|
-
onrowdoubleclick?: (index: number, event: MouseEvent) => void;
|
|
30
|
-
onrowcontext?: (index: number, event: MouseEvent) => void;
|
|
31
|
-
ontogglerow?: (node: T) => void;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
const {
|
|
35
|
-
row,
|
|
36
|
-
index,
|
|
37
|
-
rowHeight,
|
|
38
|
-
indent,
|
|
39
|
-
isFocused,
|
|
40
|
-
isSelected,
|
|
41
|
-
getNodeLabel,
|
|
42
|
-
getNodeDescription,
|
|
43
|
-
treeDataSnapshot,
|
|
44
|
-
leftSection,
|
|
45
|
-
rightSection,
|
|
46
|
-
onselectrow,
|
|
47
|
-
onrowdoubleclick,
|
|
48
|
-
onrowcontext,
|
|
49
|
-
ontogglerow
|
|
50
|
-
}: Props = $props();
|
|
51
|
-
|
|
52
|
-
const rowClasses = $derived(
|
|
53
|
-
[
|
|
54
|
-
'grid grid-cols-[1fr_auto] items-center select-none border-b border-surface-200-700 hover:bg-surface-100-800',
|
|
55
|
-
isFocused ? 'bg-primary-100 dark:bg-primary-900/35' : '',
|
|
56
|
-
isSelected ? 'bg-primary-200 dark:bg-primary-900/60' : ''
|
|
57
|
-
].join(' ')
|
|
58
|
-
);
|
|
59
|
-
|
|
60
|
-
const sectionArgs = $derived({
|
|
61
|
-
node: row.node,
|
|
62
|
-
level: row.level,
|
|
63
|
-
rowIndex: index,
|
|
64
|
-
treeData: treeDataSnapshot
|
|
65
|
-
});
|
|
1
|
+
<script lang="ts">const { row, index, rowHeight, indent, isFocused, isSelected, getNodeLabel, getNodeDescription, treeDataSnapshot, leftSection, rightSection, onselectrow, onrowdoubleclick, onrowcontext, ontogglerow } = $props();
|
|
2
|
+
const rowClasses = $derived([
|
|
3
|
+
"grid grid-cols-[1fr_auto] items-center select-none border-b border-surface-200-700 hover:bg-surface-100-800",
|
|
4
|
+
isFocused ? "bg-primary-100 dark:bg-primary-900/35" : "",
|
|
5
|
+
isSelected ? "bg-primary-200 dark:bg-primary-900/60" : ""
|
|
6
|
+
].join(" "));
|
|
7
|
+
const sectionArgs = $derived({
|
|
8
|
+
node: row.node,
|
|
9
|
+
level: row.level,
|
|
10
|
+
rowIndex: index,
|
|
11
|
+
treeData: treeDataSnapshot
|
|
12
|
+
});
|
|
13
|
+
export {};
|
|
66
14
|
</script>
|
|
67
15
|
|
|
68
16
|
<div
|
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const { value, placeholder = 'Search tree...', oninputvalue }: Props = $props();
|
|
9
|
-
|
|
10
|
-
function handleInput(event: Event) {
|
|
11
|
-
const target = event.currentTarget as HTMLInputElement;
|
|
12
|
-
oninputvalue?.(target.value);
|
|
13
|
-
}
|
|
1
|
+
<script lang="ts">const { value, placeholder = "Search tree...", oninputvalue } = $props();
|
|
2
|
+
function handleInput(event) {
|
|
3
|
+
const target = event.currentTarget;
|
|
4
|
+
oninputvalue?.(target.value);
|
|
5
|
+
}
|
|
6
|
+
export {};
|
|
14
7
|
</script>
|
|
15
8
|
|
|
16
9
|
<div class="flex">
|
|
@@ -1,109 +1,40 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
ontogglerow?: (node: T) => void;
|
|
39
|
-
ontreekeydown?: (event: KeyboardEvent) => void;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
const {
|
|
43
|
-
rows,
|
|
44
|
-
rowHeight,
|
|
45
|
-
height,
|
|
46
|
-
indent,
|
|
47
|
-
overscan,
|
|
48
|
-
focusedIndex,
|
|
49
|
-
selectedId,
|
|
50
|
-
loadingRoot,
|
|
51
|
-
loadingMessage,
|
|
52
|
-
emptyMessage,
|
|
53
|
-
getNodeLabel,
|
|
54
|
-
getNodeDescription,
|
|
55
|
-
treeDataSnapshot,
|
|
56
|
-
leftSection,
|
|
57
|
-
rightSection,
|
|
58
|
-
onselectrow,
|
|
59
|
-
onrowdoubleclick,
|
|
60
|
-
onrowcontext,
|
|
61
|
-
onviewportcontext,
|
|
62
|
-
ontogglerow,
|
|
63
|
-
ontreekeydown
|
|
64
|
-
}: Props = $props();
|
|
65
|
-
|
|
66
|
-
let viewportRef = $state<HTMLDivElement | null>(null);
|
|
67
|
-
let virtualizerInstance = $state<SvelteVirtualizer<HTMLDivElement, HTMLDivElement> | null>(null);
|
|
68
|
-
|
|
69
|
-
function toCssSize(value: string | number): string {
|
|
70
|
-
return typeof value === 'number' ? `${value}px` : value;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export function scrollToIndex(index: number) {
|
|
74
|
-
virtualizerInstance?.scrollToIndex(index, { align: 'auto' });
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
$effect(() => {
|
|
78
|
-
if (!viewportRef) {
|
|
79
|
-
virtualizerInstance = null;
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
const virtualizer = createVirtualizer<HTMLDivElement, HTMLDivElement>({
|
|
84
|
-
count: rows.length,
|
|
85
|
-
estimateSize: () => rowHeight,
|
|
86
|
-
overscan,
|
|
87
|
-
getScrollElement: () => viewportRef
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
return virtualizer.subscribe((instance) => {
|
|
91
|
-
virtualizerInstance = instance;
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
$effect(() => {
|
|
96
|
-
if (!virtualizerInstance || !viewportRef) return;
|
|
97
|
-
virtualizerInstance.setOptions({
|
|
98
|
-
count: rows.length,
|
|
99
|
-
estimateSize: () => rowHeight,
|
|
100
|
-
overscan,
|
|
101
|
-
getScrollElement: () => viewportRef
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
const virtualItems = $derived(virtualizerInstance?.getVirtualItems() ?? []);
|
|
106
|
-
const totalSize = $derived(virtualizerInstance?.getTotalSize() ?? 0);
|
|
1
|
+
<script lang="ts">import { createVirtualizer } from "@tanstack/svelte-virtual";
|
|
2
|
+
import VTreeRow from "./VTreeRow.svelte";
|
|
3
|
+
const { rows, rowHeight, height, indent, overscan, focusedIndex, selectedId, loadingRoot, loadingMessage, emptyMessage, getNodeLabel, getNodeDescription, treeDataSnapshot, leftSection, rightSection, onselectrow, onrowdoubleclick, onrowcontext, onviewportcontext, ontogglerow, ontreekeydown } = $props();
|
|
4
|
+
let viewportRef = $state(null);
|
|
5
|
+
let virtualizerInstance = $state(null);
|
|
6
|
+
function toCssSize(value) {
|
|
7
|
+
return typeof value === "number" ? `${value}px` : value;
|
|
8
|
+
}
|
|
9
|
+
export function scrollToIndex(index) {
|
|
10
|
+
virtualizerInstance?.scrollToIndex(index, { align: "auto" });
|
|
11
|
+
}
|
|
12
|
+
$effect(() => {
|
|
13
|
+
if (!viewportRef) {
|
|
14
|
+
virtualizerInstance = null;
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const virtualizer = createVirtualizer({
|
|
18
|
+
count: rows.length,
|
|
19
|
+
estimateSize: () => rowHeight,
|
|
20
|
+
overscan,
|
|
21
|
+
getScrollElement: () => viewportRef
|
|
22
|
+
});
|
|
23
|
+
return virtualizer.subscribe((instance) => {
|
|
24
|
+
virtualizerInstance = instance;
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
$effect(() => {
|
|
28
|
+
if (!virtualizerInstance || !viewportRef) return;
|
|
29
|
+
virtualizerInstance.setOptions({
|
|
30
|
+
count: rows.length,
|
|
31
|
+
estimateSize: () => rowHeight,
|
|
32
|
+
overscan,
|
|
33
|
+
getScrollElement: () => viewportRef
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
const virtualItems = $derived(virtualizerInstance?.getVirtualItems() ?? []);
|
|
37
|
+
const totalSize = $derived(virtualizerInstance?.getTotalSize() ?? 0);
|
|
107
38
|
</script>
|
|
108
39
|
|
|
109
40
|
<div
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@warkypublic/svelix",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.47",
|
|
4
4
|
"description": "Svelte 5 component library with Skeleton UI and Tailwind CSS",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"scripts": {
|
|
@@ -47,40 +47,41 @@
|
|
|
47
47
|
"@chromatic-com/storybook": "^5.2.1",
|
|
48
48
|
"@eslint/compat": "^2.1.0",
|
|
49
49
|
"@eslint/js": "^10.0.1",
|
|
50
|
-
"@playwright/test": "^1.
|
|
51
|
-
"@sentry/svelte": "^10.
|
|
50
|
+
"@playwright/test": "^1.61.0",
|
|
51
|
+
"@sentry/svelte": "^10.59.0",
|
|
52
52
|
"@skeletonlabs/skeleton": "^4.15.2",
|
|
53
53
|
"@skeletonlabs/skeleton-svelte": "^4.15.2",
|
|
54
|
-
"@storybook/addon-a11y": "^10.4.
|
|
55
|
-
"@storybook/addon-docs": "^10.4.
|
|
54
|
+
"@storybook/addon-a11y": "^10.4.6",
|
|
55
|
+
"@storybook/addon-docs": "^10.4.6",
|
|
56
56
|
"@storybook/addon-svelte-csf": "^5.1.2",
|
|
57
|
-
"@storybook/addon-vitest": "^10.4.
|
|
58
|
-
"@storybook/sveltekit": "^10.4.
|
|
57
|
+
"@storybook/addon-vitest": "^10.4.6",
|
|
58
|
+
"@storybook/sveltekit": "^10.4.6",
|
|
59
59
|
"@storybook/test": "^8.6.15",
|
|
60
60
|
"@sveltejs/adapter-auto": "^7.0.1",
|
|
61
|
-
"@sveltejs/kit": "^2.
|
|
62
|
-
"@sveltejs/package": "^2.5.
|
|
61
|
+
"@sveltejs/kit": "^2.66.0",
|
|
62
|
+
"@sveltejs/package": "^2.5.8",
|
|
63
63
|
"@sveltejs/vite-plugin-svelte": "^7.1.2",
|
|
64
|
-
"@tailwindcss/vite": "^4.3.
|
|
65
|
-
"@tanstack/svelte-virtual": "^3.13.
|
|
66
|
-
"@types/node": "^
|
|
67
|
-
"@vitest/browser-playwright": "^4.1.
|
|
68
|
-
"@vitest/coverage-v8": "^4.1.
|
|
69
|
-
"
|
|
70
|
-
"eslint
|
|
71
|
-
"
|
|
72
|
-
"
|
|
64
|
+
"@tailwindcss/vite": "^4.3.1",
|
|
65
|
+
"@tanstack/svelte-virtual": "^3.13.29",
|
|
66
|
+
"@types/node": "^26.0.0",
|
|
67
|
+
"@vitest/browser-playwright": "^4.1.9",
|
|
68
|
+
"@vitest/coverage-v8": "^4.1.9",
|
|
69
|
+
"esbuild": "^0.28.1",
|
|
70
|
+
"eslint": "^10.5.0",
|
|
71
|
+
"eslint-plugin-svelte": "^3.19.0",
|
|
72
|
+
"globals": "^17.7.0",
|
|
73
|
+
"playwright": "^1.61.0",
|
|
73
74
|
"publint": "^0.3.21",
|
|
74
|
-
"storybook": "^10.4.
|
|
75
|
-
"svelte": "^5.
|
|
76
|
-
"svelte-check": "^4.
|
|
77
|
-
"tailwindcss": "^4.3.
|
|
75
|
+
"storybook": "^10.4.6",
|
|
76
|
+
"svelte": "^5.56.3",
|
|
77
|
+
"svelte-check": "^4.6.0",
|
|
78
|
+
"tailwindcss": "^4.3.1",
|
|
78
79
|
"tslib": "^2.8.1",
|
|
79
80
|
"typescript": "^6.0.3",
|
|
80
|
-
"typescript-eslint": "^8.
|
|
81
|
-
"vite": "^8.0.
|
|
81
|
+
"typescript-eslint": "^8.62.0",
|
|
82
|
+
"vite": "^8.0.16",
|
|
82
83
|
"vite-plugin-monaco-editor": "^1.1.0",
|
|
83
|
-
"vitest": "^4.1.
|
|
84
|
+
"vitest": "^4.1.9"
|
|
84
85
|
},
|
|
85
86
|
"svelte": "./dist/index.js",
|
|
86
87
|
"types": "./dist/index.d.ts",
|
|
@@ -94,13 +95,13 @@
|
|
|
94
95
|
"@cartamd/plugin-math": "^4.3.1",
|
|
95
96
|
"@friendofsvelte/tipex": "^0.1.1",
|
|
96
97
|
"@js-temporal/polyfill": "^0.5.1",
|
|
97
|
-
"@svar-ui/svelte-grid": "^2.
|
|
98
|
-
"@warkypublic/resolvespec-js": "^1.0.1",
|
|
98
|
+
"@svar-ui/svelte-grid": "^2.7.0",
|
|
99
99
|
"@warkypublic/artemis-kit": "^1.0.10",
|
|
100
|
+
"@warkypublic/resolvespec-js": "^1.0.1",
|
|
100
101
|
"carta-md": "^4.11.2",
|
|
101
102
|
"github-markdown-css": "^5.9.0",
|
|
102
|
-
"isomorphic-dompurify": "^3.
|
|
103
|
-
"katex": "^0.
|
|
103
|
+
"isomorphic-dompurify": "^3.18.0",
|
|
104
|
+
"katex": "^0.17.0",
|
|
104
105
|
"monaco-editor": "^0.55.1"
|
|
105
106
|
}
|
|
106
107
|
}
|