@@ -1214,7 +1214,7 @@ function isValidPseudoClass(key, node) {
12141214 return true
12151215 }
12161216 // :has() nested in :has()
1217- if ( key === 'has' && findContext ( 'function' , node , node => node . input . current ? .name === 'has' ) ) {
1217+ if ( key === 'has' && findContext ( 'function' , node , node => node . definition . name === 'has' ) ) {
12181218 return false
12191219 }
12201220 // Pseudo-class qualifying pseudo-element
@@ -1256,6 +1256,7 @@ function postParsePseudoClassSelector(selector, node, parser) {
12561256 name = name . toLowerCase ( )
12571257 const definition = pseudos . classes . functions [ name ]
12581258 if ( definition && isValidPseudoClass ( name , node ) ) {
1259+ node = { ...node , definition : { name, type : 'function' , value : definition } }
12591260 value = parser . parseCSSGrammar ( input . current . value , definition , { ...context , function : node } )
12601261 if ( value ) {
12611262 const fn = { ...pseudo , name, value }
@@ -1324,6 +1325,7 @@ function postParsePseudoElementSelector(selector, node, parser) {
13241325 name = name . toLowerCase ( )
13251326 const definition = pseudos . elements . functions [ name ]
13261327 if ( definition && isValidPseudoElement ( name , node ) ) {
1328+ node = { ...node , definition : { name, type : 'function' , value : definition } }
13271329 value = parser . parseCSSGrammar ( input . current . value , definition . value , { ...context , function : node } )
13281330 if ( value ) {
13291331 const fn = { ...pseudo , name, value }
0 commit comments