diff --git a/.vscode/settings.json b/.vscode/settings.json index 1403e65a..451f836e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,5 +3,6 @@ "cSpell.words": ["pako", "Serde", "serdes"], "vitest.commandLine": "yarn test:unit", "vitest.enable": true, - "testing.autoRun.mode": "rerun" + "testing.autoRun.mode": "rerun", + "svelte.enable-ts-plugin": true } diff --git a/src/lib/components/card/card.svelte b/src/lib/components/card/card.svelte index 90b93e8a..27008d9e 100644 --- a/src/lib/components/card/card.svelte +++ b/src/lib/components/card/card.svelte @@ -5,6 +5,7 @@ export let isCloseable = true; export let isOpen = true; export let tabs: Tab[] = []; + export let activeTabID: string = ''; export let title: string; $: isOpen = isCloseable ? isOpen : true; $: isTabsShown = isOpen && tabs.length > 0; @@ -15,7 +16,7 @@ class="bg-primary p-2 {isTabsShown ? 'pb-0' : ''} flex-none cursor-pointer" on:click={() => (isOpen = !isOpen)}>
- +
diff --git a/src/lib/components/card/tabs.svelte b/src/lib/components/card/tabs.svelte index 5fe726b9..0f99e362 100644 --- a/src/lib/components/card/tabs.svelte +++ b/src/lib/components/card/tabs.svelte @@ -3,12 +3,14 @@ import { createEventDispatcher } from 'svelte'; import { fade } from 'svelte/transition'; export let isCloseable = true; - export let tabs: Tab[] = []; + export let tabs: Tab[]; export let title: string; export let isOpen = false; + export let activeTabID: string; - $: activeTabID = tabs[0]?.id; - + if (!activeTabID && tabs.length > 0) { + activeTabID = tabs[0].id; + } const dispatch = createEventDispatcher(); const toggleTabs = (tab: Tab) => { activeTabID = tab.id; diff --git a/src/lib/components/editor.svelte b/src/lib/components/editor.svelte index 7ff3e575..f0175ccd 100644 --- a/src/lib/components/editor.svelte +++ b/src/lib/components/editor.svelte @@ -1,77 +1,97 @@