Skip to content

Commit

Permalink
Add prefers-contrast variants
Browse files Browse the repository at this point in the history
  • Loading branch information
lukewarlow committed Nov 23, 2021
1 parent a321e3c commit 32626b5
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/corePlugins.js
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,11 @@ export let variantPlugins = {
addVariant('portrait', '@media (orientation: portrait)')
addVariant('landscape', '@media (orientation: landscape)')
},

prefersContrastVariants: ({ addVariant }) => {
addVariant('contrast-more', '@media (prefers-contrast: more)')
addVariant('contrast-less', '@media (prefers-contrast: less)')
},
}

export let corePlugins = {
Expand Down
1 change: 1 addition & 0 deletions src/lib/setupContextUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -519,6 +519,7 @@ function resolvePlugins(context, root) {
variantPlugins['printVariant'],
variantPlugins['screenVariants'],
variantPlugins['orientationVariants'],
variantPlugins['prefersContrastVariants'],
]

return [...corePluginList, ...beforeVariants, ...userPlugins, ...afterVariants, ...layerPlugins]
Expand Down
12 changes: 12 additions & 0 deletions tests/variants.test.css
Original file line number Diff line number Diff line change
Expand Up @@ -918,3 +918,15 @@
background-color: rgb(253 224 71 / var(--tw-bg-opacity));
}
}
@media (prefers-contrast: more) {
.contrast-more\:bg-yellow-300 {
--tw-bg-opacity: 1;
background-color: rgb(253 224 71 / var(--tw-bg-opacity));
}
}
@media (prefers-contrast: less) {
.contrast-less\:bg-yellow-300 {
--tw-bg-opacity: 1;
background-color: rgb(253 224 71 / var(--tw-bg-opacity));
}
}
4 changes: 4 additions & 0 deletions tests/variants.test.html
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,10 @@
<div class="portrait:bg-yellow-300"></div>
<div class="landscape:bg-yellow-300"></div>

<!-- Prefers contrast variants -->
<div class="contrast-more:bg-yellow-300"></div>
<div class="contrast-less:bg-yellow-300"></div>

<!-- Stacked variants -->
<div class="open:hover:bg-red-200"></div>
<div class="file:hover:bg-blue-600"></div>
Expand Down

0 comments on commit 32626b5

Please sign in to comment.