Skip to content

Commit aa65355

Browse files
committed
only create fallback content if no slot is provided - fixes #2354
1 parent 079a1ba commit aa65355

File tree

5 files changed

+28
-0
lines changed

5 files changed

+28
-0
lines changed

src/compile/render-dom/wrappers/Slot.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ export default class SlotWrapper extends Wrapper {
106106
let mount_before = block.builders.mount.toString();
107107

108108
block.builders.create.push_condition(`!${slot}`);
109+
block.builders.claim.push_condition(`!${slot}`);
109110
block.builders.hydrate.push_condition(`!${slot}`);
110111
block.builders.mount.push_condition(`!${slot}`);
111112
block.builders.update.push_condition(`!${slot}`);
@@ -118,6 +119,7 @@ export default class SlotWrapper extends Wrapper {
118119
block.event_listeners = listeners;
119120

120121
block.builders.create.pop_condition();
122+
block.builders.claim.pop_condition();
121123
block.builders.hydrate.pop_condition();
122124
block.builders.mount.pop_condition();
123125
block.builders.update.pop_condition();
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<div>
2+
<slot name="foo">
3+
foo fallback
4+
</slot>
5+
6+
<slot></slot>
7+
</div>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<div>
2+
<div slot="foo">foo override</div>
3+
default
4+
</div>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<div>
2+
<div slot="foo">foo override</div>
3+
default
4+
</div>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<script>
2+
import Nested from './Nested.svelte'
3+
</script>
4+
5+
<Nested>
6+
<div slot="foo">
7+
foo override
8+
</div>
9+
10+
default
11+
</Nested>

0 commit comments

Comments
 (0)