From 2c5f1e9df0285d52e4c1300a01c5d6b19b8157be Mon Sep 17 00:00:00 2001 From: "Carlos (Goodwine)" <2022649+Goodwine@users.noreply.github.com> Date: Thu, 10 Oct 2024 15:36:45 -0700 Subject: [PATCH] Use correct notation for multiple denominator units (#2375) See: https://physics.nist.gov/cuu/Units/checklist.html * use parentheses --- CHANGELOG.md | 3 +++ lib/src/value/number.dart | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e1d2b5eb..7511d601c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ * Fix a slight inaccuracy case when converting to `srgb-linear` and `display-p3`. +* **Potentially breaking bug fix:** `math.unit()` now wraps multiple denominator + units in parentheses. For example, `px/(em*em)` instead of `px/em*em`. + ### JS API * Fix `SassColor.interpolate()` to allow an undefined `options` parameter, as diff --git a/lib/src/value/number.dart b/lib/src/value/number.dart index f2527ad0b..d4cb2b1b8 100644 --- a/lib/src/value/number.dart +++ b/lib/src/value/number.dart @@ -852,7 +852,8 @@ abstract class SassNumber extends Value { ([], [var denominator]) => "$denominator^-1", ([], _) => "(${denominators.join('*')})^-1", (_, []) => numerators.join("*"), - _ => "${numerators.join("*")}/${denominators.join("*")}" + (_, [var denominator]) => "${numerators.join("*")}/$denominator", + _ => "${numerators.join("*")}/(${denominators.join("*")})", }; bool operator ==(Object other) {