From 1ebf2a9843bd7622816f2987242f5361fee3b0be Mon Sep 17 00:00:00 2001 From: Yuri Karamian Date: Mon, 17 Aug 2026 19:04:21 +0200 Subject: [PATCH] fix: resolve type errors --- package.json | 1 + pnpm-lock.yaml | 66 ++++++++++------ src/lib/api.ts | 2 +- src/lib/components/Editor.svelte | 126 +++++++++++++++++-------------- 4 files changed, 114 insertions(+), 81 deletions(-) diff --git a/package.json b/package.json index 2b83c52..cb3cba4 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "@tailwindcss/postcss": "^4.3.3", "@tailwindcss/vite": "^4.3.3", "@tauri-apps/cli": "^2.10.0", + "@types/node": "26.2.0", "svelte": "^5.56.9", "svelte-check": "^4.3.6", "tailwindcss": "^4.3.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c697e2b..42f6b33 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -125,25 +125,28 @@ importers: devDependencies: '@sveltejs/adapter-auto': specifier: ^7.0.0 - version: 7.0.0(@sveltejs/kit@2.70.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(typescript@5.9.3)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0))) + version: 7.0.0(@sveltejs/kit@2.70.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(typescript@5.9.3)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0))) '@sveltejs/adapter-static': specifier: ^3.0.10 - version: 3.0.10(@sveltejs/kit@2.70.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(typescript@5.9.3)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0))) + version: 3.0.10(@sveltejs/kit@2.70.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(typescript@5.9.3)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0))) '@sveltejs/kit': specifier: ^2.70.2 - version: 2.70.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(typescript@5.9.3)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)) + version: 2.70.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(typescript@5.9.3)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)) '@sveltejs/vite-plugin-svelte': specifier: ^6.2.4 - version: 6.2.4(svelte@5.56.9)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)) + version: 6.2.4(svelte@5.56.9)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)) '@tailwindcss/postcss': specifier: ^4.3.3 version: 4.3.3 '@tailwindcss/vite': specifier: ^4.3.3 - version: 4.3.3(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)) + version: 4.3.3(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)) '@tauri-apps/cli': specifier: ^2.10.0 version: 2.10.0 + '@types/node': + specifier: 26.2.0 + version: 26.2.0 svelte: specifier: ^5.56.9 version: 5.56.9 @@ -158,7 +161,7 @@ importers: version: 5.9.3 vite: specifier: ^7.3.6 - version: 7.3.6(jiti@2.7.0)(lightningcss@1.32.0) + version: 7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0) packages: @@ -1081,6 +1084,9 @@ packages: '@types/mdurl@2.0.0': resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} + '@types/node@26.2.0': + resolution: {integrity: sha512-5IviulTZeRNp2vAJ514cc/HUlY5nZ9fCbq9DMyC52BrhFZACo3nI0R7qBxhQmo/d27NFe96ur/b7Wwxklda+kg==} + '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} @@ -1723,6 +1729,9 @@ packages: uc.micro@2.1.0: resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} + undici-types@8.3.0: + resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} + uuid@14.0.1: resolution: {integrity: sha512-6ZxzVpzDXDa3bJWaHilVayA+BH/1zmxCJoVgvmqJnid/gPoKHxUrS/aC/T6LGQtNHT+XHG9fXPJB4d+IrU30Ew==} hasBin: true @@ -1991,19 +2000,19 @@ snapshots: dependencies: acorn: 8.18.0 - '@sveltejs/adapter-auto@7.0.0(@sveltejs/kit@2.70.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(typescript@5.9.3)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)))': + '@sveltejs/adapter-auto@7.0.0(@sveltejs/kit@2.70.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(typescript@5.9.3)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)))': dependencies: - '@sveltejs/kit': 2.70.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(typescript@5.9.3)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)) + '@sveltejs/kit': 2.70.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(typescript@5.9.3)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)) - '@sveltejs/adapter-static@3.0.10(@sveltejs/kit@2.70.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(typescript@5.9.3)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)))': + '@sveltejs/adapter-static@3.0.10(@sveltejs/kit@2.70.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(typescript@5.9.3)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)))': dependencies: - '@sveltejs/kit': 2.70.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(typescript@5.9.3)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)) + '@sveltejs/kit': 2.70.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(typescript@5.9.3)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)) - '@sveltejs/kit@2.70.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(typescript@5.9.3)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0))': + '@sveltejs/kit@2.70.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(typescript@5.9.3)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0))': dependencies: '@standard-schema/spec': 1.1.0 '@sveltejs/acorn-typescript': 1.0.13(acorn@8.18.0) - '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.56.9)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)) + '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.56.9)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)) '@types/cookie': 0.6.0 acorn: 8.18.0 cookie: 0.6.0 @@ -2015,26 +2024,26 @@ snapshots: set-cookie-parser: 3.1.2 sirv: 3.0.2 svelte: 5.56.9 - vite: 7.3.6(jiti@2.7.0)(lightningcss@1.32.0) + vite: 7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0) optionalDependencies: typescript: 5.9.3 - '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0))': + '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.56.9)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)) + '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.56.9)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)) obug: 2.1.1 svelte: 5.56.9 - vite: 7.3.6(jiti@2.7.0)(lightningcss@1.32.0) + vite: 7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0) - '@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0))': + '@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)) + '@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.9)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)))(svelte@5.56.9)(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)) deepmerge: 4.3.1 magic-string: 0.30.21 obug: 2.1.1 svelte: 5.56.9 - vite: 7.3.6(jiti@2.7.0)(lightningcss@1.32.0) - vitefu: 1.1.1(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)) + vite: 7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0) + vitefu: 1.1.1(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)) '@tailwindcss/node@4.3.3': dependencies: @@ -2105,12 +2114,12 @@ snapshots: postcss: 8.5.26 tailwindcss: 4.3.3 - '@tailwindcss/vite@4.3.3(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0))': + '@tailwindcss/vite@4.3.3(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0))': dependencies: '@tailwindcss/node': 4.3.3 '@tailwindcss/oxide': 4.3.3 tailwindcss: 4.3.3 - vite: 7.3.6(jiti@2.7.0)(lightningcss@1.32.0) + vite: 7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0) '@tauri-apps/api@2.10.1': {} @@ -2538,6 +2547,10 @@ snapshots: '@types/mdurl@2.0.0': {} + '@types/node@26.2.0': + dependencies: + undici-types: 8.3.0 + '@types/trusted-types@2.0.7': {} '@types/unist@3.0.3': {} @@ -3241,9 +3254,11 @@ snapshots: uc.micro@2.1.0: {} + undici-types@8.3.0: {} + uuid@14.0.1: {} - vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0): + vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0): dependencies: esbuild: 0.28.2 fdir: 6.5.0(picomatch@4.0.5) @@ -3252,13 +3267,14 @@ snapshots: rollup: 4.62.4 tinyglobby: 0.2.17 optionalDependencies: + '@types/node': 26.2.0 fsevents: 2.3.3 jiti: 2.7.0 lightningcss: 1.32.0 - vitefu@1.1.1(vite@7.3.6(jiti@2.7.0)(lightningcss@1.32.0)): + vitefu@1.1.1(vite@7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0)): optionalDependencies: - vite: 7.3.6(jiti@2.7.0)(lightningcss@1.32.0) + vite: 7.3.6(@types/node@26.2.0)(jiti@2.7.0)(lightningcss@1.32.0) w3c-keyname@2.2.8: {} diff --git a/src/lib/api.ts b/src/lib/api.ts index a360daf..7c12d34 100644 --- a/src/lib/api.ts +++ b/src/lib/api.ts @@ -185,7 +185,7 @@ export async function getNoteSwitcherTitles( return invoke("get_note_switcher_titles", { recentPaths }); } -export async function getGraphData(): Promise<{ nodes: { title: string; path: string }[]; edges: { source: number; target: number }[] }> { +export async function getGraphData(): Promise<{ nodes: { title: string; path: string }[]; edges: { source: number; target: number; bidirectional: boolean }[] }> { return invoke("get_graph_data"); } diff --git a/src/lib/components/Editor.svelte b/src/lib/components/Editor.svelte index 420c302..7909c53 100644 --- a/src/lib/components/Editor.svelte +++ b/src/lib/components/Editor.svelte @@ -132,6 +132,8 @@ let highlightDropdown = $state(false); let alignDropdown = $state(false); let insertDropdown = $state(false); + let tablePickerOpen = $state(false); + let tablePickerHover = $state({ rows: 0, cols: 0 }); function scrollEditorBodyToBottom(source: HTMLElement | null | undefined = editorElement) { const editorBody = source?.closest('.editor-body') as HTMLElement | null; @@ -306,6 +308,22 @@ let editorState = $state(0); let editorStateRaf = 0; // RAF handle for batching toolbar updates + function isEditorActive( + nameOrAttributes: string | Record, + attributes?: Record, + ): boolean { + void editorState; + if (!editor) return false; + return typeof nameOrAttributes === 'string' + ? editor.isActive(nameOrAttributes, attributes) + : editor.isActive(nameOrAttributes); + } + + function getEditorAttributes(name: string): Record { + void editorState; + return editor?.getAttributes(name) ?? {}; + } + // AI let aiMenu = $state<{ x: number; y: number } | null>(null); let aiLoading = $state(false); @@ -470,8 +488,6 @@ }); let textContextMenu = $state<{ x: number; y: number; submenuLeft: boolean } | null>(null); let tableContextMenu = $state<{ x: number; y: number; hasStyling: boolean } | null>(null); - let tablePickerOpen = $state(false); - let tablePickerHover = $state({ rows: 0, cols: 0 }); let imageToolbar = $state<{ pos: number; x: number; y: number; size: string; src: string; alt: string } | null>(null); let imageViewer = $state<{ src: string; alt: string } | null>(null); let copyToast = $state<'copying' | 'done' | null>(null); @@ -6567,16 +6583,16 @@
- {#if headingDropdown}
e.stopPropagation()}> - - - - + + + +
{/if}
@@ -6584,36 +6600,36 @@
- - - -
-
- - - @@ -6667,7 +6683,7 @@
- @@ -6736,17 +6752,17 @@
- {#if headingDropdown}
e.stopPropagation()}> - - - - - + + + + +
{/if}
@@ -6754,16 +6770,16 @@
- - - - @@ -6771,14 +6787,14 @@
{#if colorDropdown}
e.stopPropagation()}> {#each textColors as color} @@ -6790,20 +6806,20 @@
-
- - - @@ -6820,25 +6836,25 @@
- - - - - @@ -6879,22 +6895,22 @@
- {#if highlightDropdown}
e.stopPropagation()}> {#each highlightColors as color} {/each}
- - @@ -6917,11 +6933,11 @@
- - - @@ -7103,12 +7119,12 @@ {#if ctxHeadingSubmenu}
- - - - + + + +
- +
{/if}