Skip to content

Commit 04352a3

Browse files
committed
Add mask-{position,size}-* utilities
1 parent 2553573 commit 04352a3

File tree

2 files changed

+98
-0
lines changed

2 files changed

+98
-0
lines changed

packages/tailwindcss/src/utilities.test.ts

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11934,6 +11934,92 @@ test('mask', async () => {
1193411934
`)
1193511935
})
1193611936

11937+
test('mask-position', async () => {
11938+
expect(
11939+
await compileCss(
11940+
css`
11941+
@theme {
11942+
--color-red-500: #ef4444;
11943+
}
11944+
@tailwind utilities;
11945+
`,
11946+
['mask-position-[120px]', 'mask-position-[120px_120px]', 'mask-position-[var(--some-var)]'],
11947+
),
11948+
).toMatchInlineSnapshot(`
11949+
".mask-position-\\[120px\\] {
11950+
-webkit-mask-position: 120px;
11951+
mask-position: 120px;
11952+
}
11953+
11954+
.mask-position-\\[120px_120px\\] {
11955+
-webkit-mask-position: 120px 120px;
11956+
mask-position: 120px 120px;
11957+
}
11958+
11959+
.mask-position-\\[var\\(--some-var\\)\\] {
11960+
-webkit-mask-position: var(--some-var);
11961+
-webkit-mask-position: var(--some-var);
11962+
mask-position: var(--some-var);
11963+
}"
11964+
`)
11965+
expect(
11966+
await run([
11967+
'mask-position',
11968+
'mask-position/foo',
11969+
'-mask-position',
11970+
'-mask-position/foo',
11971+
11972+
'mask-position-[120px_120px]/foo',
11973+
11974+
'-mask-position-[120px_120px]',
11975+
'-mask-position-[120px_120px]/foo',
11976+
]),
11977+
).toEqual('')
11978+
})
11979+
11980+
test('mask-size', async () => {
11981+
expect(
11982+
await compileCss(
11983+
css`
11984+
@theme {
11985+
--color-red-500: #ef4444;
11986+
}
11987+
@tailwind utilities;
11988+
`,
11989+
['mask-size-[120px]', 'mask-size-[120px_120px]', 'mask-size-[var(--some-var)]'],
11990+
),
11991+
).toMatchInlineSnapshot(`
11992+
".mask-size-\\[120px\\] {
11993+
-webkit-mask-size: 120px;
11994+
mask-size: 120px;
11995+
}
11996+
11997+
.mask-size-\\[120px_120px\\] {
11998+
-webkit-mask-size: 120px 120px;
11999+
mask-size: 120px 120px;
12000+
}
12001+
12002+
.mask-size-\\[var\\(--some-var\\)\\] {
12003+
-webkit-mask-size: var(--some-var);
12004+
-webkit-mask-size: var(--some-var);
12005+
mask-size: var(--some-var);
12006+
}"
12007+
`)
12008+
expect(
12009+
await run([
12010+
'mask-size',
12011+
'mask-size/foo',
12012+
'-mask-size',
12013+
'-mask-size/foo',
12014+
12015+
'mask-size-[120px_120px]/foo',
12016+
12017+
'-mask-size-[120px_120px]',
12018+
'-mask-size-[120px_120px]/foo',
12019+
]),
12020+
).toEqual('')
12021+
})
12022+
1193712023
test('mask-t-from', async () => {
1193812024
expect(
1193912025
await compileCss(

packages/tailwindcss/src/utilities.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2894,6 +2894,12 @@ export function createUtilities(theme: Theme) {
28942894
staticUtility('mask-auto', [['mask-size', 'auto']])
28952895
staticUtility('mask-cover', [['mask-size', 'cover']])
28962896
staticUtility('mask-contain', [['mask-size', 'contain']])
2897+
functionalUtility('mask-size', {
2898+
handle(value) {
2899+
if (!value) return
2900+
return [decl('mask-size', value)]
2901+
},
2902+
})
28972903

28982904
/**
28992905
* @css `mask-position`
@@ -2908,6 +2914,12 @@ export function createUtilities(theme: Theme) {
29082914
staticUtility('mask-left', [['mask-position', 'left']])
29092915
staticUtility('mask-right', [['mask-position', 'right']])
29102916
staticUtility('mask-center', [['mask-position', 'center']])
2917+
functionalUtility('mask-position', {
2918+
handle(value) {
2919+
if (!value) return
2920+
return [decl('mask-position', value)]
2921+
},
2922+
})
29112923

29122924
/**
29132925
* @css `mask-repeat`

0 commit comments

Comments
 (0)