Skip to content

Commit ea41b04

Browse files
committed
Add mask-{position,size}-* utilities
1 parent 7744a31 commit ea41b04

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
@@ -11844,6 +11844,92 @@ test('mask', async () => {
1184411844
`)
1184511845
})
1184611846

11847+
test('mask-position', async () => {
11848+
expect(
11849+
await compileCss(
11850+
css`
11851+
@theme {
11852+
--color-red-500: #ef4444;
11853+
}
11854+
@tailwind utilities;
11855+
`,
11856+
['mask-position-[120px]', 'mask-position-[120px_120px]', 'mask-position-[var(--some-var)]'],
11857+
),
11858+
).toMatchInlineSnapshot(`
11859+
".mask-position-\\[120px\\] {
11860+
-webkit-mask-position: 120px;
11861+
mask-position: 120px;
11862+
}
11863+
11864+
.mask-position-\\[120px_120px\\] {
11865+
-webkit-mask-position: 120px 120px;
11866+
mask-position: 120px 120px;
11867+
}
11868+
11869+
.mask-position-\\[var\\(--some-var\\)\\] {
11870+
-webkit-mask-position: var(--some-var);
11871+
-webkit-mask-position: var(--some-var);
11872+
mask-position: var(--some-var);
11873+
}"
11874+
`)
11875+
expect(
11876+
await run([
11877+
'mask-position',
11878+
'mask-position/foo',
11879+
'-mask-position',
11880+
'-mask-position/foo',
11881+
11882+
'mask-position-[120px_120px]/foo',
11883+
11884+
'-mask-position-[120px_120px]',
11885+
'-mask-position-[120px_120px]/foo',
11886+
]),
11887+
).toEqual('')
11888+
})
11889+
11890+
test('mask-size', async () => {
11891+
expect(
11892+
await compileCss(
11893+
css`
11894+
@theme {
11895+
--color-red-500: #ef4444;
11896+
}
11897+
@tailwind utilities;
11898+
`,
11899+
['mask-size-[120px]', 'mask-size-[120px_120px]', 'mask-size-[var(--some-var)]'],
11900+
),
11901+
).toMatchInlineSnapshot(`
11902+
".mask-size-\\[120px\\] {
11903+
-webkit-mask-size: 120px;
11904+
mask-size: 120px;
11905+
}
11906+
11907+
.mask-size-\\[120px_120px\\] {
11908+
-webkit-mask-size: 120px 120px;
11909+
mask-size: 120px 120px;
11910+
}
11911+
11912+
.mask-size-\\[var\\(--some-var\\)\\] {
11913+
-webkit-mask-size: var(--some-var);
11914+
-webkit-mask-size: var(--some-var);
11915+
mask-size: var(--some-var);
11916+
}"
11917+
`)
11918+
expect(
11919+
await run([
11920+
'mask-size',
11921+
'mask-size/foo',
11922+
'-mask-size',
11923+
'-mask-size/foo',
11924+
11925+
'mask-size-[120px_120px]/foo',
11926+
11927+
'-mask-size-[120px_120px]',
11928+
'-mask-size-[120px_120px]/foo',
11929+
]),
11930+
).toEqual('')
11931+
})
11932+
1184711933
test('mask-t-from', async () => {
1184811934
expect(
1184911935
await compileCss(

packages/tailwindcss/src/utilities.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2864,6 +2864,12 @@ export function createUtilities(theme: Theme) {
28642864
staticUtility('mask-auto', [['mask-size', 'auto']])
28652865
staticUtility('mask-cover', [['mask-size', 'cover']])
28662866
staticUtility('mask-contain', [['mask-size', 'contain']])
2867+
functionalUtility('mask-size', {
2868+
handle(value) {
2869+
if (!value) return
2870+
return [decl('mask-size', value)]
2871+
},
2872+
})
28672873

28682874
/**
28692875
* @css `mask-position`
@@ -2878,6 +2884,12 @@ export function createUtilities(theme: Theme) {
28782884
staticUtility('mask-left', [['mask-position', 'left']])
28792885
staticUtility('mask-right', [['mask-position', 'right']])
28802886
staticUtility('mask-center', [['mask-position', 'center']])
2887+
functionalUtility('mask-position', {
2888+
handle(value) {
2889+
if (!value) return
2890+
return [decl('mask-position', value)]
2891+
},
2892+
})
28812893

28822894
/**
28832895
* @css `mask-repeat`

0 commit comments

Comments
 (0)