From eea51f675447eff8562308b2f480346d4ef26e6b Mon Sep 17 00:00:00 2001 From: Saya <379924+chu121su12@users.noreply.github.com> Date: Wed, 1 Feb 2023 13:15:25 +0700 Subject: [PATCH] fix(preset-mini): fix calc handler replacement (#2133) Closes https://github.com/unocss/unocss/issues/2132 --- packages/preset-mini/src/_utils/handlers/handlers.ts | 4 ++-- test/handler.test.ts | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/preset-mini/src/_utils/handlers/handlers.ts b/packages/preset-mini/src/_utils/handlers/handlers.ts index cf5d9af88d..391e4d9838 100644 --- a/packages/preset-mini/src/_utils/handlers/handlers.ts +++ b/packages/preset-mini/src/_utils/handlers/handlers.ts @@ -145,10 +145,10 @@ function bracketWithType(str: string, requiredType?: string) { return match .replace(/var\((--.+?)[,)]/g, (match, g1) => { vars.push(g1) - return match.replace(g1, '--v') + return match.replace(g1, '--un-calc') }) .replace(/(-?\d*\.?\d(?!\b-\d.+[,)](?![^+\-/*])\D)(?:%|[a-z]+)?|\))([+\-/*])/g, '$1 $2 ') - .replace('--v', () => vars.shift()!) + .replace(/--un-calc/g, () => vars.shift()!) }) } } diff --git a/test/handler.test.ts b/test/handler.test.ts index 59bbbcde1a..1c02c1ce02 100644 --- a/test/handler.test.ts +++ b/test/handler.test.ts @@ -11,6 +11,8 @@ describe('value handler', () => { expect(h.bracket('[calc(1+2)]')).eql('calc(1 + 2)') expect(h.bracket('[calc(1/2)]')).eql('calc(1 / 2)') expect(h.bracket('[calc(1*2)]')).eql('calc(1 * 2)') + + expect(h.bracket('[calc(var(--min-width)_-_2_*_var(--col-gap))]')).eql('calc(var(--min-width) - 2 * var(--col-gap))') }) test('bracket curly', () => {