astro/packages/renderers/renderer-svelte/Wrapper.svelte
Nate Moore 3df41d2308
Bugbash! (#263)
* fix(vscode): Markdown frontmatter should use TSX, not YAML

* test: add test for #153

* chore: bump deps

* chore: update to use @astrojs scope

* fix: Markdown parse error when only child is `{expression}`

* fix: update renderer edge cases

* fix: failing test

* fix: update renderer
2021-05-28 17:19:40 -05:00

21 lines
607 B
Svelte

<script>
/**
* Why do we need a wrapper component?
*
* Astro passes `children` as a string of HTML, so we need
* a way to render that content.
*
* Rather than passing a magical prop which needs special
* handling, using this wrapper allows Svelte users to just
* use `<slot />` like they would for any other component.
*/
const { __astro_component: Component, __astro_children, ...props } = $$props;
</script>
<svelte:component this={Component} {...props}>
{#if __astro_children}
<astro-fragment>
{@html __astro_children}
</astro-fragment>
{/if}
</svelte:component>