Commit 0c14df1
authored
Fix resolving colors via
This PR fixes an issue when loading (nested) colors from a config file
and later referencing it via the `theme(…)` function in CSS.
Given a config like this:
```js
module.exports = {
theme: {
colors: {
foo: 'var(--foo-foo)',
'foo-bar': 'var(--foo-foo-bar)',
},
},
}
```
We internally map this into the design system. The issue here is that
the `foo` and `foo-bar` are overlapping and it behaves more like this:
```js
{
foo: {
DEFAULT: 'var(--foo-foo)',
bar: 'var(--foo-foo-bar)'
},
}
```
So while we can easily resolve `colors.foo-bar`, the `colors.foo` would
result in the object with a `DEFAULT` key. This PR solves that by using
the `DEFAULT` key if we end up with an object that has it.
If you end up resolving an object (`theme(colors)`) then the behavior is
unchanged.
## Test plan
1. Added a test based on the config in the issue (which failed before
this fix).
2. Also simplified the test case after identifying the problem (with the
`DEFAULT` key).
Fixes: #19091theme(…) in compat mode with nested objects (#19097)1 parent 561983d commit 0c14df1
File tree
4 files changed
+93
-10
lines changed- packages
- @tailwindcss-upgrade/src/codemods/css
- tailwindcss/src/compat
4 files changed
+93
-10
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
309 | 309 | | |
310 | 310 | | |
311 | 311 | | |
| 312 | + | |
312 | 313 | | |
313 | | - | |
314 | 314 | | |
315 | | - | |
316 | | - | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
317 | 319 | | |
318 | | - | |
319 | | - | |
320 | | - | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
321 | 335 | | |
322 | 336 | | |
323 | 337 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
| 28 | + | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
| 48 | + | |
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| |||
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
| 71 | + | |
71 | 72 | | |
72 | 73 | | |
73 | 74 | | |
| |||
101 | 102 | | |
102 | 103 | | |
103 | 104 | | |
| 105 | + | |
104 | 106 | | |
105 | 107 | | |
106 | 108 | | |
| |||
128 | 130 | | |
129 | 131 | | |
130 | 132 | | |
| 133 | + | |
131 | 134 | | |
132 | 135 | | |
133 | 136 | | |
| |||
157 | 160 | | |
158 | 161 | | |
159 | 162 | | |
| 163 | + | |
160 | 164 | | |
161 | 165 | | |
162 | 166 | | |
| |||
198 | 202 | | |
199 | 203 | | |
200 | 204 | | |
| 205 | + | |
201 | 206 | | |
202 | 207 | | |
203 | 208 | | |
| |||
212 | 217 | | |
213 | 218 | | |
214 | 219 | | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
215 | 262 | | |
216 | 263 | | |
217 | 264 | | |
| |||
231 | 278 | | |
232 | 279 | | |
233 | 280 | | |
| 281 | + | |
234 | 282 | | |
235 | 283 | | |
236 | 284 | | |
| |||
317 | 365 | | |
318 | 366 | | |
319 | 367 | | |
| 368 | + | |
320 | 369 | | |
321 | 370 | | |
322 | 371 | | |
| |||
391 | 440 | | |
392 | 441 | | |
393 | 442 | | |
| 443 | + | |
394 | 444 | | |
395 | 445 | | |
396 | 446 | | |
| |||
442 | 492 | | |
443 | 493 | | |
444 | 494 | | |
| 495 | + | |
445 | 496 | | |
446 | 497 | | |
447 | 498 | | |
| |||
460 | 511 | | |
461 | 512 | | |
462 | 513 | | |
| 514 | + | |
463 | 515 | | |
464 | 516 | | |
465 | 517 | | |
| |||
562 | 614 | | |
563 | 615 | | |
564 | 616 | | |
| 617 | + | |
565 | 618 | | |
566 | 619 | | |
567 | 620 | | |
| |||
596 | 649 | | |
597 | 650 | | |
598 | 651 | | |
| 652 | + | |
599 | 653 | | |
600 | 654 | | |
601 | 655 | | |
| |||
631 | 685 | | |
632 | 686 | | |
633 | 687 | | |
| 688 | + | |
634 | 689 | | |
635 | 690 | | |
636 | 691 | | |
| |||
669 | 724 | | |
670 | 725 | | |
671 | 726 | | |
| 727 | + | |
672 | 728 | | |
673 | 729 | | |
674 | 730 | | |
| |||
708 | 764 | | |
709 | 765 | | |
710 | 766 | | |
| 767 | + | |
711 | 768 | | |
712 | 769 | | |
713 | 770 | | |
| |||
745 | 802 | | |
746 | 803 | | |
747 | 804 | | |
| 805 | + | |
748 | 806 | | |
749 | 807 | | |
750 | 808 | | |
| |||
779 | 837 | | |
780 | 838 | | |
781 | 839 | | |
| 840 | + | |
782 | 841 | | |
783 | 842 | | |
784 | 843 | | |
| |||
806 | 865 | | |
807 | 866 | | |
808 | 867 | | |
| 868 | + | |
809 | 869 | | |
810 | 870 | | |
811 | 871 | | |
| |||
840 | 900 | | |
841 | 901 | | |
842 | 902 | | |
| 903 | + | |
843 | 904 | | |
844 | 905 | | |
845 | 906 | | |
| |||
875 | 936 | | |
876 | 937 | | |
877 | 938 | | |
| 939 | + | |
878 | 940 | | |
879 | 941 | | |
880 | 942 | | |
| |||
913 | 975 | | |
914 | 976 | | |
915 | 977 | | |
| 978 | + | |
916 | 979 | | |
917 | 980 | | |
918 | 981 | | |
| |||
952 | 1015 | | |
953 | 1016 | | |
954 | 1017 | | |
| 1018 | + | |
955 | 1019 | | |
956 | 1020 | | |
957 | 1021 | | |
| |||
989 | 1053 | | |
990 | 1054 | | |
991 | 1055 | | |
| 1056 | + | |
992 | 1057 | | |
993 | 1058 | | |
994 | 1059 | | |
| |||
1021 | 1086 | | |
1022 | 1087 | | |
1023 | 1088 | | |
| 1089 | + | |
1024 | 1090 | | |
1025 | 1091 | | |
1026 | 1092 | | |
| |||
1113 | 1179 | | |
1114 | 1180 | | |
1115 | 1181 | | |
| 1182 | + | |
1116 | 1183 | | |
1117 | 1184 | | |
1118 | 1185 | | |
| |||
1596 | 1663 | | |
1597 | 1664 | | |
1598 | 1665 | | |
| 1666 | + | |
1599 | 1667 | | |
1600 | 1668 | | |
1601 | 1669 | | |
| |||
0 commit comments