Skip to content

Commit a0bdac8

Browse files
authored
fix: correctly handle falsy values of style directives in SSR mode (#11583)
fixes #11044
1 parent a2bc0f5 commit a0bdac8

File tree

4 files changed

+22
-1
lines changed

4 files changed

+22
-1
lines changed

.changeset/good-roses-argue.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: correctly handle falsy values of style directives in SSR mode

packages/svelte/src/internal/server/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ export function stringify(value) {
354354
/** @param {Record<string, string>} style_object */
355355
function style_object_to_string(style_object) {
356356
return Object.keys(style_object)
357-
.filter(/** @param {any} key */ (key) => style_object[key])
357+
.filter(/** @param {any} key */ (key) => style_object[key] != null && style_object[key] !== '')
358358
.map(/** @param {any} key */ (key) => `${key}: ${escape_html(style_object[key], true)};`)
359359
.join(' ');
360360
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { test } from '../../test';
2+
3+
export default test({
4+
html: `
5+
<p style="--a: 0;"></p>
6+
<p style="--b: false;"></p>
7+
<p></p>
8+
<p></p>
9+
<p></p>
10+
`
11+
});
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<p style:--a={0}></p>
2+
<p style:--b={false}></p>
3+
<p style:--c=""></p>
4+
<p style:--d={undefined}></p>
5+
<p style:--e={null}></p>

0 commit comments

Comments
 (0)