Skip to content

Commit

Permalink
fix(transform): translate
Browse files Browse the repository at this point in the history
  • Loading branch information
Simon-He95 committed Apr 5, 2024
1 parent 63d14d0 commit c10f589
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 6 deletions.
7 changes: 5 additions & 2 deletions src/transform.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ export function transform(key: string, val: string) {
return joinEmpty(v)
.split(' ')
.map((v) => {
const matcher = v.match(/([a-z]+)([A-Z])?\((.*)\)/)
const matcher = v.match(/([a-z]+)(3d)?([A-Z])?\((.*)\)/)

if (!matcher)
return undefined
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const [_, namePrefix, nameSuffix, value] = matcher
const [_, namePrefix, is3d, nameSuffix, value] = matcher
if (nameSuffix) {
const values = value.replace(
/,(?![^()]*\))/g,
Expand All @@ -46,6 +46,9 @@ export function transform(key: string, val: string) {
' ',
).split(' ')
if (values.length > 1) {
if (namePrefix === 'translate')
return `${namePrefix}="[${values.join(',')}]"`

return `${namePrefix}="${values.map(v => isVar(v)
? `[${v}]`
: namePrefix === 'scale'
Expand Down
11 changes: 8 additions & 3 deletions test/transform.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ describe('transform', () => {
})
it('transform: ranslate(10%, 20%);', () => {
expect(toUnocss('transform: translate(10%, 20%);')).toBe(
'translate="10% 20%"',
'translate="[10%,20%]"',
)
})

Expand All @@ -58,12 +58,17 @@ describe('transform', () => {
it('transform: translate(-26px, 16px) skew(50deg) scaleY(0.6);', () => {
expect(
toUnocss('transform: translate(-26px, 16px) skew(50deg) scaleY(0.6)'),
).toBe('translate="-26px 16px" skew="50" scale="y-60"')
).toBe('translate="[-26px,16px]" skew="50" scale="y-60"')
})

it('transform: translate(-26px, var(--translatey)) skew(var(--skew,60)) scaleY(var(--scale));', () => {
expect(
toUnocss('transform: translate(-26px, var(--translatey,20px)) skew(var(--skew,60)) scale(var(--scale, 30%))'),
).toBe('translate="-26px [var(--translatey,20px)]" skew="[var(--skew,60)]" scale="[var(--scale,30%)]"')
).toBe('translate="[-26px,var(--translatey,20px)]" skew="[var(--skew,60)]" scale="[var(--scale,30%)]"')
})
it('transform: translate3d(-50%, -50%, 0);', () => {
expect(
toUnocss('transform: translate3d(-50%, -50%, 0)'),
).toBe('translate="[-50%,-50%,0]"')
})
})
1 change: 0 additions & 1 deletion test/transformStyleToUnocss.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,4 @@ describe('transformStyleToUnocss', () => {
'text="[#fff]" text-16px',
)
})

})

0 comments on commit c10f589

Please sign in to comment.