From c9390f5ac83dac731b0600ecdcf69e4931cc5b7c Mon Sep 17 00:00:00 2001 From: Pierre Burel Date: Mon, 21 Aug 2023 14:20:19 -0400 Subject: [PATCH] feat: add unitless support --- _rem.scss | 4 ++-- index.test.js | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/_rem.scss b/_rem.scss index fb93985..eee7e9a 100644 --- a/_rem.scss +++ b/_rem.scss @@ -23,8 +23,8 @@ $px-only: false !default; @each $value in $values { @if meta.type-of($value) == "number" and math.unit($value) == "rem" and $to == "px" { $result: list.append($result, _divide($value, 1rem) * $baseline, $separator); - } @else if meta.type-of($value) == "number" and math.unit($value) == "px" and $to == "rem" { - $result: list.append($result, _divide($value, $baseline) * 1rem, $separator); + } @else if meta.type-of($value) == "number" and (math.unit($value) == "px" or math.unit($value) == '') and $value != 0 and $to == "rem" { + $result: list.append($result, _divide(if(math.unit($value) == 'px', $value, $value * 1px), $baseline) * 1rem, $separator); } @else if meta.type-of($value) == "list" { $result: list.append($result, _convert($to, $value...), $separator); } @else { diff --git a/index.test.js b/index.test.js index fd89b1b..98d4b1a 100644 --- a/index.test.js +++ b/index.test.js @@ -15,14 +15,19 @@ async function run(input, output, config = `@use "." as rem;`) { expect(a).toEqual(b); }; +it('Unitless', () => run( + '.simple { font-size: rem.convert(24); }', + '.simple { font-size: 1.5rem; }' +)); + it('Simple', () => run( '.simple { font-size: rem.convert(24px); }', '.simple { font-size: 1.5rem; }' )); it('Multiple values', () => run( - '.multiple { padding: rem.convert(5px 10px); }', - '.multiple { padding: 0.3125rem 0.625rem; }' + '.multiple { padding: rem.convert(5px 10px 0 24); }', + '.multiple { padding: 0.3125rem 0.625rem 0 1.5rem; }' )); it('Multiple mixed values', () => run(