Skip to content

Commit 8259dfd

Browse files
MichaelAllenWarnerMichael Warner
and
Michael Warner
authored
Add text-decoration-color utilities (#5760)
* utilities and tests in place for textDecorationColor and textDecorationOpacity * change 'backgroundColor' to 'textDecorationColor' in corePlugin declaration for latter * remove explicit textDecorationOpacity utility (the JIT slash syntax suffices) Co-authored-by: Michael Warner <[email protected]>
1 parent 35a5e64 commit 8259dfd

6 files changed

+42
-1
lines changed

src/corePlugins.js

+11
Original file line numberDiff line numberDiff line change
@@ -1801,6 +1801,17 @@ export let corePlugins = {
18011801
})
18021802
},
18031803

1804+
textDecorationColor: ({ matchUtilities, theme }) => {
1805+
matchUtilities(
1806+
{
1807+
decoration: (value) => {
1808+
return { 'text-decoration-color': toColorValue(value) }
1809+
},
1810+
},
1811+
{ values: flattenColorPalette(theme('textDecorationColor')), type: ['color', 'any'] }
1812+
)
1813+
},
1814+
18041815
fontSmoothing: ({ addUtilities }) => {
18051816
addUtilities({
18061817
'.antialiased': {

stubs/defaultConfig.stub.js

+1
Original file line numberDiff line numberDiff line change
@@ -787,6 +787,7 @@ module.exports = {
787787
2: '2',
788788
},
789789
textColor: ({ theme }) => theme('colors'),
790+
textDecorationColor: ({ theme }) => theme('colors'),
790791
textIndent: ({ theme }) => ({
791792
...theme('spacing'),
792793
}),

tests/arbitrary-values.test.css

+18
Original file line numberDiff line numberDiff line change
@@ -807,6 +807,24 @@
807807
.text-opacity-\[var\(--value\)\] {
808808
--tw-text-opacity: var(--value);
809809
}
810+
.decoration-\[black\] {
811+
text-decoration-color: black;
812+
}
813+
.decoration-\[rgb\(123\2c 123\2c 123\)\] {
814+
text-decoration-color: rgb(123, 123, 123);
815+
}
816+
.decoration-\[rgb\(123\2c _123\2c _123\)\] {
817+
text-decoration-color: rgb(123, 123, 123);
818+
}
819+
.decoration-\[rgb\(123_123_123\)\] {
820+
text-decoration-color: rgb(123 123 123);
821+
}
822+
.decoration-\[color\:var\(--color\)\] {
823+
text-decoration-color: var(--color);
824+
}
825+
.decoration-\[var\(--color\)\] {
826+
text-decoration-color: var(--color);
827+
}
810828
.placeholder-\[var\(--placeholder\)\]::placeholder {
811829
color: var(--placeholder);
812830
}

tests/arbitrary-values.test.html

+7
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,13 @@
297297
<div class="text-opacity-[0.8]"></div>
298298
<div class="text-opacity-[var(--value)]"></div>
299299

300+
<div class="decoration-[black]"></div>
301+
<div class="decoration-[rgb(123,123,123)]"></div>
302+
<div class="decoration-[rgb(123,_123,_123)]"></div>
303+
<div class="decoration-[rgb(123_123_123)]"></div>
304+
<div class="decoration-[color:var(--color)]"></div>
305+
<div class="decoration-[var(--color)]"></div>
306+
300307
<div class="placeholder-[var(--placeholder)]"></div>
301308

302309
<div class="placeholder-opacity-[var(--placeholder-opacity)]"></div>

tests/basic-usage.test.css

+3
Original file line numberDiff line numberDiff line change
@@ -773,6 +773,9 @@
773773
.underline {
774774
text-decoration: underline;
775775
}
776+
.decoration-red-600 {
777+
text-decoration-color: #dc2626;
778+
}
776779
.antialiased {
777780
-webkit-font-smoothing: antialiased;
778781
-moz-osx-font-smoothing: grayscale;

tests/basic-usage.test.html

+2-1
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,9 @@
159159
<div class="text-center"></div>
160160
<div class="indent-6 -indent-12"></div>
161161
<div class="text-indigo-500"></div>
162-
<div class="underline"></div>
163162
<div class="text-opacity-10"></div>
163+
<div class="underline"></div>
164+
<div class="decoration-red-600"></div>
164165
<div class="overflow-ellipsis truncate"></div>
165166
<div class="uppercase"></div>
166167
<div class="transform transform-gpu transform-none"></div>

0 commit comments

Comments
 (0)