From 36896f108047725c380dce3aa85b7df459fbe9d6 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Fri, 25 Oct 2024 12:39:32 +0100 Subject: [PATCH] fix: ensure value is correctly set to zero on the progress element --- .changeset/late-wombats-cheer.md | 5 +++++ .../svelte/src/internal/client/dom/elements/attributes.js | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 .changeset/late-wombats-cheer.md diff --git a/.changeset/late-wombats-cheer.md b/.changeset/late-wombats-cheer.md new file mode 100644 index 0000000000..cf3f8a0d2b --- /dev/null +++ b/.changeset/late-wombats-cheer.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: ensure value is correctly set to zero on the progress element diff --git a/packages/svelte/src/internal/client/dom/elements/attributes.js b/packages/svelte/src/internal/client/dom/elements/attributes.js index b05dd8f9aa..cb6b2b6884 100644 --- a/packages/svelte/src/internal/client/dom/elements/attributes.js +++ b/packages/svelte/src/internal/client/dom/elements/attributes.js @@ -54,8 +54,12 @@ export function remove_input_defaults(input) { export function set_value(element, value) { // @ts-expect-error var attributes = (element.__attributes ??= {}); - // @ts-expect-error - if (attributes.value === (attributes.value = value) || element.value === value) return; + if ( + attributes.value === (attributes.value = value) || + // @ts-expect-error elements report 0 value, but that might not really be 0 + (element.value === value && (value !== 0 || element.nodeName !== 'PROGRESS')) + ) + return; // @ts-expect-error element.value = value; }