summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Marvin <272077995@qq.com> 2023-11-02 05:02:00 +0800
committerGravatar GitHub <noreply@github.com> 2023-11-01 16:02:00 -0500
commit937522fb70be522378268d04e6bb20d8dc401c0b (patch)
tree1696a3d6c2a60d9e4f8aca27597c1cb54242ed19
parentca10dd7a7ad13415e09e9f3a4f8e8dc38ca6fde2 (diff)
downloadastro-937522fb70be522378268d04e6bb20d8dc401c0b.tar.gz
astro-937522fb70be522378268d04e6bb20d8dc401c0b.tar.zst
astro-937522fb70be522378268d04e6bb20d8dc401c0b.zip
fix: toStyleString omit nullish values (#8940)
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com> Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Diffstat (limited to '')
-rw-r--r--.changeset/long-roses-shave.md5
-rw-r--r--packages/astro/src/runtime/server/render/util.ts1
2 files changed, 6 insertions, 0 deletions
diff --git a/.changeset/long-roses-shave.md b/.changeset/long-roses-shave.md
new file mode 100644
index 000000000..65c6d0922
--- /dev/null
+++ b/.changeset/long-roses-shave.md
@@ -0,0 +1,5 @@
+---
+"astro": patch
+---
+
+Omit nullish and falsy (non-zero) values when stringifying object-form `style` attributes in Astro files
diff --git a/packages/astro/src/runtime/server/render/util.ts b/packages/astro/src/runtime/server/render/util.ts
index fca449fcf..89d51ba6c 100644
--- a/packages/astro/src/runtime/server/render/util.ts
+++ b/packages/astro/src/runtime/server/render/util.ts
@@ -28,6 +28,7 @@ const kebab = (k: string) =>
k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);
const toStyleString = (obj: Record<string, any>) =>
Object.entries(obj)
+ .filter(([k, v]) => typeof v === 'string' && v.trim() || typeof v === 'number')
.map(([k, v]) => {
if (k[0] !== '-' && k[1] !== '-') return `${kebab(k)}:${v}`;
return `${k}:${v}`;