From 860d91318e8242a05023a81d0438bfbec82706de Mon Sep 17 00:00:00 2001 From: equt <17521736+equt@users.noreply.github.com> Date: Mon, 19 Dec 2022 14:26:27 +0800 Subject: [PATCH 1/2] fix(attributify): allow decimal value --- packages/preset-attributify/src/extractor.ts | 2 +- test/__snapshots__/preset-attributify.test.ts.snap | 5 +++++ test/preset-attributify.test.ts | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/preset-attributify/src/extractor.ts b/packages/preset-attributify/src/extractor.ts index 5a52c10c99..b9d1e19db8 100644 --- a/packages/preset-attributify/src/extractor.ts +++ b/packages/preset-attributify/src/extractor.ts @@ -9,7 +9,7 @@ const strippedPrefixes = [ const splitterRE = /[\s'"`;]+/g const elementRE = /<\w(?=.*>)[\w:\.$-]*\s((?:['"`\{].*?['"`\}]|.*?)*?)>/gs -const valuedAttributeRE = /([?]|(?!\d|-{2}|-\d)[a-zA-Z0-9\u00A0-\uFFFF-_:!%-]+)=?(?:["]([^"]*)["]|[']([^']*)[']|[{]([^}]*)[}])?/gms +const valuedAttributeRE = /([?]|(?!\d|-{2}|-\d)[a-zA-Z0-9\u00A0-\uFFFF-_:!%-.]+)=?(?:["]([^"]*)["]|[']([^']*)[']|[{]([^}]*)[}])?/gms export const defaultIgnoreAttributes = ['placeholder'] diff --git a/test/__snapshots__/preset-attributify.test.ts.snap b/test/__snapshots__/preset-attributify.test.ts.snap index 343c02d323..bdbaca2973 100644 --- a/test/__snapshots__/preset-attributify.test.ts.snap +++ b/test/__snapshots__/preset-attributify.test.ts.snap @@ -47,6 +47,7 @@ Set { "[m~=\\"1\\"]", "[m~=\\"2\\"]", "[m~=\\"3\\"]", + "[ml-1.5=\\"\\"]", } `; @@ -157,6 +158,7 @@ Set { "[m~=\\"1\\"]", "[m~=\\"2\\"]", "[m~=\\"3\\"]", + "[ml-1.5=\\"\\"]", } `; @@ -172,6 +174,7 @@ exports[`attributify > fixture1 1`] = ` [m~=\\"\\\\33 \\"]{margin:0.75rem;} [ma=\\"\\"], [un-children~=\\"m-auto\\"]>*{margin:auto;} +[ml-1\\\\.5=\\"\\"]{margin-left:0.375rem;} [inline-block=\\"\\"]{display:inline-block;} [flex~=\\"\\\\!\\\\~\\"]{display:flex !important;} [flex~=\\"col\\"]{flex-direction:column;} @@ -283,6 +286,7 @@ exports[`attributify > fixture4 1`] = ` [m~=\\"\\\\33 \\"]{margin:0.75rem;} [ma=\\"\\"], [un-children~=\\"m-auto\\"]>*{margin:auto;} +[ml-1\\\\.5=\\"\\"]{margin-left:0.375rem;} [inline-block=\\"\\"]{display:inline-block;} [flex~=\\"\\\\!\\\\~\\"]{display:flex !important;} [flex~=\\"col\\"]{flex-direction:column;} @@ -372,5 +376,6 @@ exports[`attributify > variant 1`] = ` "m-1", "m-2", "m-3", + "ml-1.5", ] `; diff --git a/test/preset-attributify.test.ts b/test/preset-attributify.test.ts index 3023ab4e3a..409a2246b0 100644 --- a/test/preset-attributify.test.ts +++ b/test/preset-attributify.test.ts @@ -35,6 +35,7 @@ describe('attributify', () => { 1 2 3 \`' + ml-1.5 > Button @@ -108,6 +109,7 @@ describe('attributify', () => { 1 2 3 \`' + ml-1.5 > Button From fbe88abfb594ea75ee1e2443cbe5f2521e31307a Mon Sep 17 00:00:00 2001 From: Chris <1633711653@qq.com> Date: Mon, 19 Dec 2022 18:49:11 +0800 Subject: [PATCH 2/2] fix(preset-mini): update numberRE --- packages/preset-mini/src/_utils/handlers/regex.ts | 4 ++-- test/__snapshots__/preset-attributify.test.ts.snap | 2 ++ test/preset-attributify.test.ts | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/preset-mini/src/_utils/handlers/regex.ts b/packages/preset-mini/src/_utils/handlers/regex.ts index 8caa5a0edb..fc963c5861 100644 --- a/packages/preset-mini/src/_utils/handlers/regex.ts +++ b/packages/preset-mini/src/_utils/handlers/regex.ts @@ -1,3 +1,3 @@ -export const numberWithUnitRE = /^(-?[0-9.]+)(px|pt|pc|%|r?em|ex|ch|ic|(?:[sld]?v|cq)(?:[whib]|min|max)|in|cm|mm|rpx)?$/i -export const numberRE = /^(-?[0-9.]+)$/i +export const numberWithUnitRE = /^(-?\d*(?:\.\d+)?)(px|pt|pc|%|r?em|ex|ch|ic|(?:[sld]?v|cq)(?:[whib]|min|max)|in|cm|mm|rpx)?$/i +export const numberRE = /^(-?\d*(?:\.\d+)?)$/i export const unitOnlyRE = /^(px)$/i diff --git a/test/__snapshots__/preset-attributify.test.ts.snap b/test/__snapshots__/preset-attributify.test.ts.snap index bdbaca2973..eda1efdf41 100644 --- a/test/__snapshots__/preset-attributify.test.ts.snap +++ b/test/__snapshots__/preset-attributify.test.ts.snap @@ -48,6 +48,7 @@ Set { "[m~=\\"2\\"]", "[m~=\\"3\\"]", "[ml-1.5=\\"\\"]", + "[ml-1..6=\\"\\"]", } `; @@ -377,5 +378,6 @@ exports[`attributify > variant 1`] = ` "m-2", "m-3", "ml-1.5", + "ml-1..6", ] `; diff --git a/test/preset-attributify.test.ts b/test/preset-attributify.test.ts index 409a2246b0..6397fc232f 100644 --- a/test/preset-attributify.test.ts +++ b/test/preset-attributify.test.ts @@ -36,6 +36,7 @@ describe('attributify', () => { 3 \`' ml-1.5 + ml-1..6 > Button