@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.
Files changed (97) hide show
  1. package/README.md +93 -33
  2. package/dist/components/BetterMenu/BetterMenu.svelte +21 -37
  3. package/dist/components/BetterMenu/BetterMenuAsyncButton.svelte +21 -31
  4. package/dist/components/BetterMenu/BetterMenuPreview.svelte +27 -29
  5. package/dist/components/BetterMenu/MenuRenderer.svelte +40 -51
  6. package/dist/components/Boxer/Boxer.svelte +488 -602
  7. package/dist/components/Boxer/BoxerTarget.svelte +6 -46
  8. package/dist/components/Boxer/BoxerTarget.svelte.d.ts +1 -0
  9. package/dist/components/Boxer/types.d.ts +0 -1
  10. package/dist/components/Button.svelte +19 -43
  11. package/dist/components/ButtonPreview.svelte +2 -11
  12. package/dist/components/CardGrid/CardGrid.svelte +443 -614
  13. package/dist/components/CardGrid/CardGridFilterPanel.svelte +111 -90
  14. package/dist/components/CardGrid/DefaultCard.svelte +80 -96
  15. package/dist/components/CardGrid/ImageCardStory.svelte +87 -36
  16. package/dist/components/ContentEditor/CollaboraInsertTextDemo.svelte +5 -10
  17. package/dist/components/ContentEditor/ContentEditor.svelte +24 -50
  18. package/dist/components/ContentEditor/subcomponents/AudioPlayer.svelte +17 -17
  19. package/dist/components/ContentEditor/subcomponents/CollaboraEditor.svelte +244 -309
  20. package/dist/components/ContentEditor/subcomponents/EmailViewer.svelte +2 -3
  21. package/dist/components/ContentEditor/subcomponents/ImageViewer.svelte +14 -15
  22. package/dist/components/ContentEditor/subcomponents/MarkdownViewer.svelte +74 -90
  23. package/dist/components/ContentEditor/subcomponents/MonacoEditor.svelte +75 -103
  24. package/dist/components/ContentEditor/subcomponents/Office365Editor.svelte +234 -297
  25. package/dist/components/ContentEditor/subcomponents/PdfViewer.svelte +14 -20
  26. package/dist/components/ContentEditor/subcomponents/TextEditor.svelte +122 -150
  27. package/dist/components/ContentEditor/subcomponents/UnknownFile.svelte +105 -126
  28. package/dist/components/ContentEditor/subcomponents/VideoPlayer.svelte +17 -17
  29. package/dist/components/ContentEditor/subcomponents/ZipViewer.svelte +2 -3
  30. package/dist/components/ErrorBoundary/ErrorBoundary.svelte +41 -58
  31. package/dist/components/ErrorBoundary/ErrorBoundaryPreview.svelte +8 -16
  32. package/dist/components/Former/Former.svelte +306 -424
  33. package/dist/components/Former/FormerButtonArea.svelte +17 -68
  34. package/dist/components/Former/FormerDrawer.svelte +26 -78
  35. package/dist/components/Former/FormerDrawerPreview.svelte +99 -89
  36. package/dist/components/Former/FormerModal.svelte +24 -70
  37. package/dist/components/Former/FormerModalPreview.svelte +99 -89
  38. package/dist/components/Former/FormerPreview.svelte +76 -78
  39. package/dist/components/Former/FormerRestApiPreview.svelte +55 -48
  40. package/dist/components/FormerControllers/ButtonCtrl.svelte +13 -44
  41. package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrl.svelte +280 -445
  42. package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrlCalendar.svelte +95 -136
  43. package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrlPickerPanel.svelte +3 -62
  44. package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrlTimeFields.svelte +143 -217
  45. package/dist/components/FormerControllers/IconButtonCtrl.svelte +13 -42
  46. package/dist/components/FormerControllers/InlineWrapper.svelte +12 -41
  47. package/dist/components/FormerControllers/InlineWrapperPreview.svelte +4 -26
  48. package/dist/components/FormerControllers/NativeSelectCtrl.svelte +3 -29
  49. package/dist/components/FormerControllers/NumberInputCtrl.svelte +9 -35
  50. package/dist/components/FormerControllers/PasswordInputCtrl.svelte +4 -23
  51. package/dist/components/FormerControllers/SwitchCtrl.svelte +3 -20
  52. package/dist/components/FormerControllers/TextAreaCtrl.svelte +3 -24
  53. package/dist/components/FormerControllers/TextInputCtrl.svelte +3 -24
  54. package/dist/components/GlobalStateStore/GlobalStateStoreProvider.svelte +73 -120
  55. package/dist/components/Gridler/components/Gridler.svelte +338 -442
  56. package/dist/components/Gridler/components/GridlerCanvas.svelte +720 -1115
  57. package/dist/components/Gridler/components/GridlerEditor.svelte +2 -15
  58. package/dist/components/Gridler/components/GridlerFull.svelte +520 -841
  59. package/dist/components/Gridler/components/GridlerFull.svelte.d.ts +1 -1
  60. package/dist/components/Gridler/components/GridlerFullWithFormerPreview.svelte +194 -147
  61. package/dist/components/Gridler/components/GridlerSearch.svelte +7 -16
  62. package/dist/components/Gridler/components/GridlerSearchToggle.svelte +7 -19
  63. package/dist/components/Gridler/types.d.ts +1 -1
  64. package/dist/components/Icons/IconAdd.svelte +1 -3
  65. package/dist/components/Icons/IconAlertCircle.svelte +1 -3
  66. package/dist/components/Icons/IconAlertTriangle.svelte +1 -3
  67. package/dist/components/Icons/IconCamera.svelte +1 -3
  68. package/dist/components/Icons/IconClose.svelte +1 -3
  69. package/dist/components/Icons/IconEdit.svelte +1 -3
  70. package/dist/components/Icons/IconFilter.svelte +1 -3
  71. package/dist/components/Icons/IconSearch.svelte +1 -3
  72. package/dist/components/Icons/IconSort.svelte +1 -3
  73. package/dist/components/Icons/IconTrash.svelte +1 -3
  74. package/dist/components/Portal/Portal.svelte +14 -38
  75. package/dist/components/Screenshot/Screenshot.svelte +7 -13
  76. package/dist/components/Svark/Svark.svelte +680 -852
  77. package/dist/components/Svark/SvarkContextMenu.svelte +44 -63
  78. package/dist/components/Svark/SvarkInfiniteLoader.svelte +2 -6
  79. package/dist/components/Svark/SvarkPager.svelte +2 -28
  80. package/dist/components/Svark/SvarkSelectionDemo.svelte +4 -8
  81. package/dist/components/Svark/SvarkTopBar.svelte +9 -74
  82. package/dist/components/SvarkGrid/SvarkGrid.svelte +877 -1123
  83. package/dist/components/SvarkGrid/components/SvarkColumnFilterForm.svelte +45 -58
  84. package/dist/components/SvarkGrid/components/SvarkContextMenu.svelte +44 -63
  85. package/dist/components/SvarkGrid/components/SvarkHeaderFilterCell.svelte +41 -75
  86. package/dist/components/SvarkGrid/components/SvarkInfiniteLoader.svelte +2 -6
  87. package/dist/components/SvarkGrid/components/SvarkPager.svelte +2 -28
  88. package/dist/components/SvarkGrid/components/SvarkSearchPopover.svelte +8 -16
  89. package/dist/components/SvarkGrid/components/SvarkTopBar.svelte +6 -62
  90. package/dist/components/SvarkGrid/internal/SvarkGridView.svelte +345 -507
  91. package/dist/components/VTree/VTree.svelte +349 -431
  92. package/dist/components/VTree/VTreeContextMenu.svelte +21 -33
  93. package/dist/components/VTree/VTreeEventsDemo.svelte +48 -58
  94. package/dist/components/VTree/VTreeRow.svelte +13 -65
  95. package/dist/components/VTree/VTreeSearch.svelte +6 -13
  96. package/dist/components/VTree/VTreeVirtualViewport.svelte +37 -106
  97. package/package.json +30 -29
@@ -1,36 +1,24 @@
1
- <script lang="ts">
2
- import Portal from '../Portal/Portal.svelte';
3
- import { registerOverlay } from '../OverlayStack';
4
- import type { VTreeContextMenuItem, VTreeRecord } from './types.js';
5
-
6
- export interface Props<T extends VTreeRecord = VTreeRecord> {
7
- open: boolean;
8
- x: number;
9
- y: number;
10
- items: VTreeContextMenuItem<T>[];
11
- onselectitem?: (item: VTreeContextMenuItem<T>) => void;
12
- }
13
-
14
- const { open, x, y, items, onselectitem }: Props = $props();
15
-
16
- let backdropZ = $state(1090);
17
- let menuZ = $state(1100);
18
-
19
- $effect(() => {
20
- if (!open) {
21
- return;
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
- // @ts-nocheck
3
- import VTree from './VTree.svelte';
4
- import type { VTreeContextMenuItem, VTreeRecord } from './types.js';
5
-
6
- interface DemoNode extends VTreeRecord {
7
- id: string;
8
- label: string;
9
- description?: string;
10
- children?: DemoNode[];
11
- hasChildren?: boolean;
12
- }
13
-
14
- const data: DemoNode[] = [
15
- {
16
- id: 'alpha',
17
- label: 'Alpha Team',
18
- description: 'Top-level group',
19
- hasChildren: true,
20
- children: [
21
- { id: 'alpha-1', label: 'Alpha User 1', description: 'Owner' },
22
- { id: 'alpha-2', label: 'Alpha User 2', description: 'Contributor' }
23
- ]
24
- },
25
- {
26
- id: 'beta',
27
- label: 'Beta Team',
28
- description: 'Top-level group',
29
- hasChildren: true,
30
- children: [
31
- { id: 'beta-1', label: 'Beta User 1', description: 'Owner' },
32
- { id: 'beta-2', label: 'Beta User 2', description: 'Contributor' }
33
- ]
34
- }
35
- ];
36
-
37
- let eventLog = $state('No row event yet.');
38
-
39
- function printEvent(kind: string, row: DemoNode | null, treeData: DemoNode[]) {
40
- eventLog = `${kind}: ${row?.label ?? 'null'} | tree roots: ${treeData.length}`;
41
- }
42
-
43
- const menuItems: VTreeContextMenuItem<DemoNode>[] = [
44
- {
45
- id: 'open',
46
- label: 'Open',
47
- onselect: (row) => {
48
- eventLog = `menu: open -> ${row?.label ?? 'null'}`;
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
- import type { VTreeFlatRow } from './VTree.models.js';
3
- import type { VTreeRecord } from './types.js';
4
- import type { Snippet } from 'svelte';
5
-
6
- export interface Props<T extends VTreeRecord = VTreeRecord> {
7
- row: VTreeFlatRow<T>;
8
- index: number;
9
- rowHeight: number;
10
- indent: number;
11
- isFocused: boolean;
12
- isSelected: boolean;
13
- getNodeLabel: (node: T) => string;
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
- export interface Props {
3
- value: string;
4
- placeholder?: string;
5
- oninputvalue?: (value: string) => void;
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
- import { createVirtualizer, type SvelteVirtualizer } from '@tanstack/svelte-virtual';
3
- import type { Snippet } from 'svelte';
4
- import VTreeRow from './VTreeRow.svelte';
5
- import type { VTreeFlatRow } from './VTree.models.js';
6
- import type { VTreeRecord } from './types.js';
7
-
8
- export interface Props<T extends VTreeRecord = VTreeRecord> {
9
- rows: VTreeFlatRow<T>[];
10
- rowHeight: number;
11
- height: string | number;
12
- indent: number;
13
- overscan: number;
14
- focusedIndex: number;
15
- selectedId: string | null;
16
- loadingRoot: boolean;
17
- loadingMessage: string;
18
- emptyMessage: string;
19
- getNodeLabel: (node: T) => string;
20
- getNodeDescription: (node: T) => string;
21
- treeDataSnapshot: T[];
22
- leftSection?: Snippet<[{
23
- node: T;
24
- level: number;
25
- rowIndex: number;
26
- treeData: T[];
27
- }]>;
28
- rightSection?: Snippet<[{
29
- node: T;
30
- level: number;
31
- rowIndex: number;
32
- treeData: T[];
33
- }]>;
34
- onselectrow?: (index: number, event: MouseEvent) => void;
35
- onrowdoubleclick?: (index: number, event: MouseEvent) => void;
36
- onrowcontext?: (index: number, event: MouseEvent) => void;
37
- onviewportcontext?: (event: MouseEvent) => void;
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.46",
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.60.0",
51
- "@sentry/svelte": "^10.53.1",
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.0",
55
- "@storybook/addon-docs": "^10.4.0",
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.0",
58
- "@storybook/sveltekit": "^10.4.0",
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.60.1",
62
- "@sveltejs/package": "^2.5.7",
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.0",
65
- "@tanstack/svelte-virtual": "^3.13.24",
66
- "@types/node": "^25.8.0",
67
- "@vitest/browser-playwright": "^4.1.6",
68
- "@vitest/coverage-v8": "^4.1.6",
69
- "eslint": "^10.4.0",
70
- "eslint-plugin-svelte": "^3.17.1",
71
- "globals": "^17.6.0",
72
- "playwright": "^1.60.0",
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.0",
75
- "svelte": "^5.55.7",
76
- "svelte-check": "^4.4.8",
77
- "tailwindcss": "^4.3.0",
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.59.3",
81
- "vite": "^8.0.13",
81
+ "typescript-eslint": "^8.62.0",
82
+ "vite": "^8.0.16",
82
83
  "vite-plugin-monaco-editor": "^1.1.0",
83
- "vitest": "^4.1.6"
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.6.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.13.0",
103
- "katex": "^0.16.47",
103
+ "isomorphic-dompurify": "^3.18.0",
104
+ "katex": "^0.17.0",
104
105
  "monaco-editor": "^0.55.1"
105
106
  }
106
107
  }