mirror of https://github.com/sveltejs/svelte
parent
33ee958087
commit
ee64e491e4
@ -0,0 +1,5 @@
|
||||
---
|
||||
'svelte': patch
|
||||
---
|
||||
|
||||
feat: allow migration of `svelte:component`
|
@ -0,0 +1,95 @@
|
||||
<script>
|
||||
let Component;
|
||||
let fallback;
|
||||
</script>
|
||||
|
||||
<Component let:Comp>
|
||||
<svelte:component this={Comp} />
|
||||
</Component>
|
||||
|
||||
<Component let:comp>
|
||||
<svelte:component this={comp} />
|
||||
</Component>
|
||||
|
||||
<Component let:comp={stuff}>
|
||||
<svelte:component this={stuff} />
|
||||
</Component>
|
||||
|
||||
<Component>
|
||||
<div slot="x" let:comp={stuff}>
|
||||
<svelte:component this={stuff} />
|
||||
</div>
|
||||
</Component>
|
||||
|
||||
<Component>
|
||||
<svelte:fragment slot="x" let:comp={stuff}>
|
||||
<svelte:component this={stuff} />
|
||||
</svelte:fragment>
|
||||
</Component>
|
||||
|
||||
<Component>
|
||||
<svelte:element this={"div"} slot="x" let:comp={stuff}>
|
||||
<svelte:component this={stuff} />
|
||||
</svelte:element>
|
||||
</Component>
|
||||
|
||||
<svelte:component this={Component} />
|
||||
<svelte:component this={Component} prop value="" on:click on:click={()=>''} />
|
||||
<svelte:component this={Math.random() > .5 ? $$restProps.heads : $$restProps.tail} prop value="" on:click on:click={()=>''}/>
|
||||
|
||||
<svelte:component
|
||||
this={Component}
|
||||
prop value=""
|
||||
on:click
|
||||
on:click={()=>''}
|
||||
/>
|
||||
|
||||
<svelte:component
|
||||
this={Math.random() > .5 ? $$restProps.heads : $$restProps.tail}
|
||||
prop value=""
|
||||
on:click
|
||||
on:click={()=>''}
|
||||
/>
|
||||
|
||||
{#if true}
|
||||
{@const x = {Component}}
|
||||
<svelte:component this={x['Component']} />
|
||||
{/if}
|
||||
|
||||
{#if true}
|
||||
{@const x = {Component}}
|
||||
<svelte:component this={x.Component} />
|
||||
{/if}
|
||||
|
||||
{#each [] as component}
|
||||
<svelte:component this={component} />
|
||||
{/each}
|
||||
|
||||
{#each [] as Component}
|
||||
<svelte:component this={Component} />
|
||||
{/each}
|
||||
|
||||
{#each [] as component}
|
||||
{@const Comp = component.component}
|
||||
<svelte:component this={Comp} />
|
||||
{/each}
|
||||
|
||||
{#each [] as component}
|
||||
{@const comp = component.component}
|
||||
<svelte:component this={comp} />
|
||||
{/each}
|
||||
|
||||
{#await Promise.resolve()}
|
||||
<svelte:component this={Component} />
|
||||
<svelte:component this={fallback} />
|
||||
{:then something}
|
||||
<svelte:component this={something} />
|
||||
{:catch e}
|
||||
<svelte:component this={e} />
|
||||
{/await}
|
||||
|
||||
{#await Promise.resolve() then Something}
|
||||
<svelte:component this={Something} />
|
||||
{:catch Error}
|
||||
<svelte:component this={Error} />
|
||||
{/await}
|
@ -0,0 +1,108 @@
|
||||
<script>
|
||||
/** @type {{Record<string, any>}} */
|
||||
let { ...rest } = $props();
|
||||
let Component;
|
||||
let fallback;
|
||||
|
||||
const SvelteComponent_5 = $derived(Math.random() > .5 ? rest.heads : rest.tail);
|
||||
</script>
|
||||
|
||||
<Component let:Comp>
|
||||
<Comp />
|
||||
</Component>
|
||||
|
||||
<Component let:comp>
|
||||
{@const SvelteComponent = comp}
|
||||
<SvelteComponent />
|
||||
</Component>
|
||||
|
||||
<Component let:comp={stuff}>
|
||||
{@const SvelteComponent_1 = stuff}
|
||||
<SvelteComponent_1 />
|
||||
</Component>
|
||||
|
||||
<Component>
|
||||
<div slot="x" let:comp={stuff}>
|
||||
{@const SvelteComponent_2 = stuff}
|
||||
<SvelteComponent_2 />
|
||||
</div>
|
||||
</Component>
|
||||
|
||||
<Component>
|
||||
<svelte:fragment slot="x" let:comp={stuff}>
|
||||
{@const SvelteComponent_3 = stuff}
|
||||
<SvelteComponent_3 />
|
||||
</svelte:fragment>
|
||||
</Component>
|
||||
|
||||
<Component>
|
||||
<svelte:element this={"div"} slot="x" let:comp={stuff}>
|
||||
{@const SvelteComponent_4 = stuff}
|
||||
<SvelteComponent_4 />
|
||||
</svelte:element>
|
||||
</Component>
|
||||
|
||||
<Component />
|
||||
<Component prop value="" on:click on:click={()=>''} />
|
||||
<SvelteComponent_5 prop value="" on:click on:click={()=>''}/>
|
||||
|
||||
<Component
|
||||
prop value=""
|
||||
on:click
|
||||
on:click={()=>''}
|
||||
/>
|
||||
|
||||
<SvelteComponent_5
|
||||
prop value=""
|
||||
on:click
|
||||
on:click={()=>''}
|
||||
/>
|
||||
|
||||
{#if true}
|
||||
{@const x = {Component}}
|
||||
{@const SvelteComponent_7 = x['Component']}
|
||||
<SvelteComponent_7 />
|
||||
{/if}
|
||||
|
||||
{#if true}
|
||||
{@const x = {Component}}
|
||||
<x.Component />
|
||||
{/if}
|
||||
|
||||
{#each [] as component}
|
||||
{@const SvelteComponent_8 = component}
|
||||
<SvelteComponent_8 />
|
||||
{/each}
|
||||
|
||||
{#each [] as Component}
|
||||
<Component />
|
||||
{/each}
|
||||
|
||||
{#each [] as component}
|
||||
{@const Comp = component.component}
|
||||
<Comp />
|
||||
{/each}
|
||||
|
||||
{#each [] as component}
|
||||
{@const comp = component.component}
|
||||
{@const SvelteComponent_9 = comp}
|
||||
<SvelteComponent_9 />
|
||||
{/each}
|
||||
|
||||
{#await Promise.resolve()}
|
||||
{@const SvelteComponent_10 = fallback}
|
||||
<Component />
|
||||
<SvelteComponent_10 />
|
||||
{:then something}
|
||||
{@const SvelteComponent_11 = something}
|
||||
<SvelteComponent_11 />
|
||||
{:catch e}
|
||||
{@const SvelteComponent_12 = e}
|
||||
<SvelteComponent_12 />
|
||||
{/await}
|
||||
|
||||
{#await Promise.resolve() then Something}
|
||||
<Something />
|
||||
{:catch Error}
|
||||
<Error />
|
||||
{/await}
|
Loading…
Reference in new issue