Skip to content

Commit 32626b5

Browse files
committed
Add prefers-contrast variants
1 parent a321e3c commit 32626b5

File tree

4 files changed

+22
-0
lines changed

4 files changed

+22
-0
lines changed

src/corePlugins.js

+5
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,11 @@ export let variantPlugins = {
170170
addVariant('portrait', '@media (orientation: portrait)')
171171
addVariant('landscape', '@media (orientation: landscape)')
172172
},
173+
174+
prefersContrastVariants: ({ addVariant }) => {
175+
addVariant('contrast-more', '@media (prefers-contrast: more)')
176+
addVariant('contrast-less', '@media (prefers-contrast: less)')
177+
},
173178
}
174179

175180
export let corePlugins = {

src/lib/setupContextUtils.js

+1
Original file line numberDiff line numberDiff line change
@@ -519,6 +519,7 @@ function resolvePlugins(context, root) {
519519
variantPlugins['printVariant'],
520520
variantPlugins['screenVariants'],
521521
variantPlugins['orientationVariants'],
522+
variantPlugins['prefersContrastVariants'],
522523
]
523524

524525
return [...corePluginList, ...beforeVariants, ...userPlugins, ...afterVariants, ...layerPlugins]

tests/variants.test.css

+12
Original file line numberDiff line numberDiff line change
@@ -918,3 +918,15 @@
918918
background-color: rgb(253 224 71 / var(--tw-bg-opacity));
919919
}
920920
}
921+
@media (prefers-contrast: more) {
922+
.contrast-more\:bg-yellow-300 {
923+
--tw-bg-opacity: 1;
924+
background-color: rgb(253 224 71 / var(--tw-bg-opacity));
925+
}
926+
}
927+
@media (prefers-contrast: less) {
928+
.contrast-less\:bg-yellow-300 {
929+
--tw-bg-opacity: 1;
930+
background-color: rgb(253 224 71 / var(--tw-bg-opacity));
931+
}
932+
}

tests/variants.test.html

+4
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,10 @@
139139
<div class="portrait:bg-yellow-300"></div>
140140
<div class="landscape:bg-yellow-300"></div>
141141

142+
<!-- Prefers contrast variants -->
143+
<div class="contrast-more:bg-yellow-300"></div>
144+
<div class="contrast-less:bg-yellow-300"></div>
145+
142146
<!-- Stacked variants -->
143147
<div class="open:hover:bg-red-200"></div>
144148
<div class="file:hover:bg-blue-600"></div>

0 commit comments

Comments
 (0)