Skip to content

Commit

Permalink
Add user-valid and user-invalid variants
Browse files Browse the repository at this point in the history
Co-authored-by: Robin Malfait <[email protected]>
  • Loading branch information
MartijnCuppens and RobinMalfait committed Sep 24, 2024
1 parent c094fad commit 7bd0851
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 0 deletions.
20 changes: 20 additions & 0 deletions packages/tailwindcss/src/__snapshots__/intellisense.test.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -3884,6 +3884,8 @@ exports[`getVariants 1`] = `
"required",
"valid",
"invalid",
"user-valid",
"user-invalid",
"in-range",
"out-of-range",
"read-only",
Expand Down Expand Up @@ -3936,6 +3938,8 @@ exports[`getVariants 1`] = `
"required",
"valid",
"invalid",
"user-valid",
"user-invalid",
"in-range",
"out-of-range",
"read-only",
Expand Down Expand Up @@ -4162,6 +4166,20 @@ exports[`getVariants 1`] = `
"selectors": [Function],
"values": [],
},
{
"hasDash": true,
"isArbitrary": false,
"name": "user-valid",
"selectors": [Function],
"values": [],
},
{
"hasDash": true,
"isArbitrary": false,
"name": "user-invalid",
"selectors": [Function],
"values": [],
},
{
"hasDash": true,
"isArbitrary": false,
Expand Down Expand Up @@ -4275,6 +4293,8 @@ exports[`getVariants 1`] = `
"required",
"valid",
"invalid",
"user-valid",
"user-invalid",
"in-range",
"out-of-range",
"read-only",
Expand Down
35 changes: 35 additions & 0 deletions packages/tailwindcss/src/variants.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -490,6 +490,41 @@ test('invalid', async () => {
expect(await run(['invalid/foo:flex'])).toEqual('')
})

test('user-valid', async () => {
expect(await run(['user-valid:flex', 'group-user-valid:flex', 'peer-user-valid:flex'])).toMatchInlineSnapshot(`
".group-user-valid\\:flex:is(:where(.group):user-valid *) {
display: flex;
}
.peer-user-valid\\:flex:is(:where(.peer):user-valid ~ *) {
display: flex;
}
.user-valid\\:flex:user-valid {
display: flex;
}"
`)
expect(await run(['user-valid/foo:flex'])).toEqual('')
})

test('user-invalid', async () => {
expect(await run(['user-invalid:flex', 'group-user-invalid:flex', 'peer-user-invalid:flex']))
.toMatchInlineSnapshot(`
".group-user-invalid\\:flex:is(:where(.group):user-invalid *) {
display: flex;
}
.peer-user-invalid\\:flex:is(:where(.peer):user-invalid ~ *) {
display: flex;
}
.user-invalid\\:flex:user-invalid {
display: flex;
}"
`)
expect(await run(['invalid/foo:flex'])).toEqual('')
})

test('in-range', async () => {
expect(await run(['in-range:flex', 'group-in-range:flex', 'peer-in-range:flex']))
.toMatchInlineSnapshot(`
Expand Down
2 changes: 2 additions & 0 deletions packages/tailwindcss/src/variants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -438,6 +438,8 @@ export function createVariants(theme: Theme): Variants {
staticVariant('required', ['&:required'])
staticVariant('valid', ['&:valid'])
staticVariant('invalid', ['&:invalid'])
staticVariant('user-valid', ['&:user-valid'])
staticVariant('user-invalid', ['&:user-invalid'])
staticVariant('in-range', ['&:in-range'])
staticVariant('out-of-range', ['&:out-of-range'])
staticVariant('read-only', ['&:read-only'])
Expand Down

0 comments on commit 7bd0851

Please sign in to comment.