Skip to content

Commit 7e762cf

Browse files
fix: reevaluate namespace in slots (#11849)
Closes #11847
1 parent e4faa78 commit 7e762cf

File tree

5 files changed

+26
-1
lines changed

5 files changed

+26
-1
lines changed

.changeset/shiny-months-tease.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"svelte": patch
3+
---
4+
5+
fix: reevaluate namespace in slots

packages/svelte/src/compiler/phases/3-transform/utils.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,8 @@ export function infer_namespace(namespace, parent, nodes) {
176176
parent.type === 'Component' ||
177177
parent.type === 'SvelteComponent' ||
178178
parent.type === 'SvelteFragment' ||
179-
parent.type === 'SnippetBlock'
179+
parent.type === 'SnippetBlock' ||
180+
parent.type === 'SlotElement'
180181
) {
181182
const new_namespace = check_nodes_for_namespace(nodes, 'keep');
182183
if (new_namespace !== 'keep' && new_namespace !== 'maybe_html') {
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { ok, test } from '../../test';
2+
3+
export default test({
4+
async test({ assert, target }) {
5+
const circle = target.querySelector('circle');
6+
ok(circle);
7+
assert.equal(circle.namespaceURI, 'http://www.w3.org/2000/svg');
8+
}
9+
});
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<script>
2+
import Points from './points.svelte';
3+
</script>
4+
5+
<svg>
6+
<Points />
7+
</svg>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<slot>
2+
<circle cx={10} cy={10} r={5} />
3+
</slot>

0 commit comments

Comments
 (0)