Skip to content

Commit bf1b8ef

Browse files
fix: adjust generated +layout.svelte file contents (#2580)
--------- Co-authored-by: Simon H <[email protected]>
1 parent 49c7e58 commit bf1b8ef

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

packages/svelte-vscode/src/sveltekit/generateFiles/templates/layout.ts

+14-5
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,38 @@ const defaultScriptTemplate = `
55
/** @type {import('./$types').LayoutData} */
66
export let data;
77
</script>
8+
9+
<slot />
810
`;
911

1012
const tsSv5ScriptTemplate = `
1113
<script lang="ts">
14+
import type { Snippet } from 'svelte';
1215
import type { LayoutData } from './$types';
13-
14-
let { data }: LayoutData = $props();
16+
17+
let { data, children }: { data: LayoutData, children: Snippet } = $props();
1518
</script>
19+
20+
{@render children()}
1621
`;
1722

1823
const tsScriptTemplate = `
1924
<script lang="ts">
2025
import type { LayoutData } from './$types';
21-
26+
2227
export let data: LayoutData;
2328
</script>
29+
30+
<slot />
2431
`;
2532

2633
const jsSv5ScriptTemplate = `
2734
<script>
28-
/** @type {import('./$types').LayoutData} */
29-
let { data } = $props();
35+
/** @type {{ data: import('./$types').LayoutData, children: import('svelte').Snippet }} */
36+
let { data, children } = $props();
3037
</script>
38+
39+
{@render children()}
3140
`;
3241

3342
const scriptTemplate: ReadonlyMap<ProjectType, string> = new Map([

packages/svelte-vscode/src/sveltekit/generateFiles/templates/page.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,22 @@ const defaultScriptTemplate = `
1010
const tsSv5ScriptTemplate = `
1111
<script lang="ts">
1212
import type { PageData } from './$types';
13-
14-
let { data }: PageData = $props();
13+
14+
let { data }: { data: PageData } = $props();
1515
</script>
1616
`;
1717

1818
const tsScriptTemplate = `
1919
<script lang="ts">
2020
import type { PageData } from './$types';
21-
21+
2222
export let data: PageData;
2323
</script>
2424
`;
2525

2626
const jsSv5ScriptTemplate = `
2727
<script>
28-
/** @type {import('./$types').PageData} */
28+
/** @type {{ data: import('./$types').PageData }} */
2929
let { data } = $props();
3030
</script>
3131
`;

0 commit comments

Comments
 (0)