From d3949a6e71a2526aa2893814b479b51f3d79c74c Mon Sep 17 00:00:00 2001 From: Paolo Ricciuti Date: Sat, 27 Apr 2024 12:37:12 +0200 Subject: [PATCH] fix: hr, script and template as valid select children (#11344) Closes #11342 --------- Co-authored-by: Jeremiasz Major --- .changeset/cyan-squids-drive.md | 5 +++++ packages/svelte/src/constants.js | 9 ++++++++- .../samples/invalid-node-placement-3/errors.json | 1 + .../samples/invalid-node-placement-3/input.svelte | 12 ++++++++++++ 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 .changeset/cyan-squids-drive.md create mode 100644 packages/svelte/tests/validator/samples/invalid-node-placement-3/errors.json create mode 100644 packages/svelte/tests/validator/samples/invalid-node-placement-3/input.svelte diff --git a/.changeset/cyan-squids-drive.md b/.changeset/cyan-squids-drive.md new file mode 100644 index 00000000000..ae01d66fedb --- /dev/null +++ b/.changeset/cyan-squids-drive.md @@ -0,0 +1,5 @@ +--- +"svelte": patch +--- + +fix: make hr, script and template valid select children diff --git a/packages/svelte/src/constants.js b/packages/svelte/src/constants.js index 7755872ba51..376809fb76b 100644 --- a/packages/svelte/src/constants.js +++ b/packages/svelte/src/constants.js @@ -158,7 +158,14 @@ export function is_tag_valid_with_parent(tag, parent_tag) { switch (parent_tag) { // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect case 'select': - return tag === 'option' || tag === 'optgroup' || tag === '#text'; + return ( + tag === 'option' || + tag === 'optgroup' || + tag === '#text' || + tag === 'hr' || + tag === 'script' || + tag === 'template' + ); case 'optgroup': return tag === 'option' || tag === '#text'; // Strictly speaking, seeing an +
+ + + + \ No newline at end of file