From b0154111fd26889a60dc71870563ceb7c4b2c695 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Thu, 27 Jun 2024 17:59:35 +0100 Subject: [PATCH] fix: support contenteditable binding undefined fallback --- .changeset/dry-parrots-bathe.md | 5 +++++ .../internal/client/dom/elements/bindings/universal.js | 2 +- .../samples/contenteditable-state/Test.svelte | 9 +++++++++ .../samples/contenteditable-state/_config.js | 5 +++++ .../samples/contenteditable-state/main.svelte | 7 +++++++ 5 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 .changeset/dry-parrots-bathe.md create mode 100644 packages/svelte/tests/runtime-runes/samples/contenteditable-state/Test.svelte create mode 100644 packages/svelte/tests/runtime-runes/samples/contenteditable-state/_config.js create mode 100644 packages/svelte/tests/runtime-runes/samples/contenteditable-state/main.svelte diff --git a/.changeset/dry-parrots-bathe.md b/.changeset/dry-parrots-bathe.md new file mode 100644 index 0000000000..8b5b599547 --- /dev/null +++ b/.changeset/dry-parrots-bathe.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: support contenteditable binding undefined fallback diff --git a/packages/svelte/src/internal/client/dom/elements/bindings/universal.js b/packages/svelte/src/internal/client/dom/elements/bindings/universal.js index 0e825a5800..bb00e09da6 100644 --- a/packages/svelte/src/internal/client/dom/elements/bindings/universal.js +++ b/packages/svelte/src/internal/client/dom/elements/bindings/universal.js @@ -18,7 +18,7 @@ export function bind_content_editable(property, element, get_value, update) { var value = get_value(); if (element[property] !== value) { - if (value === null) { + if (value == null) { // @ts-ignore var non_null_value = element[property]; update(non_null_value); diff --git a/packages/svelte/tests/runtime-runes/samples/contenteditable-state/Test.svelte b/packages/svelte/tests/runtime-runes/samples/contenteditable-state/Test.svelte new file mode 100644 index 0000000000..7aa8b96ac4 --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/contenteditable-state/Test.svelte @@ -0,0 +1,9 @@ + + +
+ {@render children()} +
diff --git a/packages/svelte/tests/runtime-runes/samples/contenteditable-state/_config.js b/packages/svelte/tests/runtime-runes/samples/contenteditable-state/_config.js new file mode 100644 index 0000000000..84b0d7863a --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/contenteditable-state/_config.js @@ -0,0 +1,5 @@ +import { test } from '../../test'; + +export default test({ + html: `
Test
` +}); diff --git a/packages/svelte/tests/runtime-runes/samples/contenteditable-state/main.svelte b/packages/svelte/tests/runtime-runes/samples/contenteditable-state/main.svelte new file mode 100644 index 0000000000..a7ad4c4a0f --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/contenteditable-state/main.svelte @@ -0,0 +1,7 @@ + + + + Test +