@@ -35,6 +35,7 @@ import type {
3535 Translate ,
3636 UnresolvedColor ,
3737} from "lightningcss" ;
38+ import { isStyleFunction } from "react-native-css/runtime/utils" ;
3839
3940import type {
4041 StyleDescriptor ,
@@ -966,7 +967,13 @@ export function parseUnparsedDeclaration(
966967 }
967968
968969 if ( property === "color" ) {
969- builder . addDescriptor ( "--__rn-css-current-color" , value ) ;
970+ if (
971+ ! isStyleFunction ( value ) ||
972+ value [ 1 ] !== "var" ||
973+ value [ 2 ] !== "-css-color"
974+ ) {
975+ builder . addDescriptor ( "--__rn-css-color" , value ) ;
976+ }
970977 }
971978 }
972979}
@@ -1125,7 +1132,7 @@ export function parseUnparsed(
11251132 } else if ( tokenOrValue === "false" ) {
11261133 return false ;
11271134 } else if ( tokenOrValue === "currentcolor" ) {
1128- return [ { } , "var" , "__rn-css-current- color" ] as const ;
1135+ return [ { } , "var" , "__rn-css-color" ] as const ;
11291136 } else {
11301137 return tokenOrValue ;
11311138 }
@@ -1255,7 +1262,7 @@ export function parseUnparsed(
12551262 builder . addWarning ( "value" , value ) ;
12561263 return ;
12571264 } else if ( value === "currentcolor" ) {
1258- return [ { } , "var" , "__rn-css-current- color" ] as const ;
1265+ return [ { } , "var" , "__rn-css-color" ] as const ;
12591266 }
12601267
12611268 if ( value === "true" ) {
@@ -1579,10 +1586,15 @@ export function parseFontColorDeclaration(
15791586) {
15801587 parseColorDeclaration ( declaration , builder ) ;
15811588
1582- builder . addDescriptor (
1583- "--__rn-css-color" ,
1584- parseColor ( declaration . value , builder ) ,
1585- ) ;
1589+ if (
1590+ typeof declaration . value !== "object" ||
1591+ declaration . value . type !== "currentcolor"
1592+ ) {
1593+ builder . addDescriptor (
1594+ "--__rn-css-color" ,
1595+ parseColor ( declaration . value , builder ) ,
1596+ ) ;
1597+ }
15861598}
15871599
15881600export function parseColorDeclaration (
@@ -1609,7 +1621,7 @@ export function parseColor(cssColor: CssColor, builder: StylesheetBuilder) {
16091621
16101622 switch ( cssColor . type ) {
16111623 case "currentcolor" :
1612- return [ { } , "var" , "__rn-css-current- color" ] as const ;
1624+ return [ { } , "var" , "__rn-css-color" ] as const ;
16131625 case "light-dark" : {
16141626 const extraRule : StyleRule = {
16151627 s : [ ] ,
@@ -1982,11 +1994,11 @@ export function parseTextShadow(
19821994 parseColor ( textShadow . color , builder ) ,
19831995 ) ;
19841996 builder . addDescriptor (
1985- "textShadowOffset.width" ,
1997+ "*. textShadowOffset.width" ,
19861998 parseLength ( textShadow . xOffset , builder ) ,
19871999 ) ;
19882000 builder . addDescriptor (
1989- "textShadowOffset.height" ,
2001+ "*. textShadowOffset.height" ,
19902002 parseLength ( textShadow . yOffset , builder ) ,
19912003 ) ;
19922004 builder . addDescriptor (
0 commit comments