Skip to content

Commit 12cff4d

Browse files
committed
fix uppercase units
1 parent 143ced0 commit 12cff4d

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

src/__tests__/index.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,13 @@ it('allows negative values in transformed values', () => {
127127
})
128128
})
129129

130+
it('allows uppercase units', () => {
131+
expect(transformCss([['top', '0PX']])).toEqual({ top: 0 })
132+
expect(transformCss([['transform', 'rotate(30DEG)']])).toEqual({
133+
transform: [{ rotate: '30deg' }],
134+
})
135+
})
136+
130137
it('allows percent values in transformed values', () => {
131138
expect(transformCss([['margin', '10%']])).toEqual({
132139
marginTop: '10%',

src/tokenTypes.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ const noneRe = /^(none)$/i
3131
const autoRe = /^(auto)$/i
3232
const identRe = /(^-?[_a-z][_a-z0-9-]*$)/i
3333
// Note if these are wrong, you'll need to change index.js too
34-
const numberRe = /^([+-]?(?:\d*\.)?\d+(?:[Ee][+-]?\d+)?)$/
34+
const numberRe = /^([+-]?(?:\d*\.)?\d+(?:e[+-]?\d+)?)$/i
3535
// Note lengthRe is sneaky: you can omit units for 0
36-
const lengthRe = /^(0$|(?:[+-]?(?:\d*\.)?\d+(?:[Ee][+-]?\d+)?)(?=px$))/
37-
const unsupportedUnitRe = /^([+-]?(?:\d*\.)?\d+(?:[Ee][+-]?\d+)?(ch|em|ex|rem|vh|vw|vmin|vmax|cm|mm|in|pc|pt))$/
38-
const angleRe = /^([+-]?(?:\d*\.)?\d+(?:[Ee][+-]?\d+)?(?:deg|rad))$/
39-
const percentRe = /^([+-]?(?:\d*\.)?\d+(?:[Ee][+-]?\d+)?%)$/
36+
const lengthRe = /^(0$|(?:[+-]?(?:\d*\.)?\d+(?:e[+-]?\d+)?)(?=px$))/i
37+
const unsupportedUnitRe = /^([+-]?(?:\d*\.)?\d+(?:e[+-]?\d+)?(ch|em|ex|rem|vh|vw|vmin|vmax|cm|mm|in|pc|pt))$/i
38+
const angleRe = /^([+-]?(?:\d*\.)?\d+(?:e[+-]?\d+)?(?:deg|rad))$/i
39+
const percentRe = /^([+-]?(?:\d*\.)?\d+(?:e[+-]?\d+)?%)$/i
4040

4141
const noopToken = predicate => node => (predicate(node) ? '<token>' : null)
4242

src/transforms/transform.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const { SPACE, COMMA, LENGTH, NUMBER, ANGLE } = tokens
55
const oneOfType = tokenType => functionStream => {
66
const value = functionStream.expect(tokenType)
77
functionStream.expectEmpty()
8-
return value
8+
return typeof value === 'string' ? value.toLowerCase() : value
99
}
1010

1111
const singleNumber = oneOfType(NUMBER)

0 commit comments

Comments
 (0)