@@ -30,6 +30,7 @@ function createGenericPropertyDescriptor(property, { caseSensitive, dimensionTyp
3030 const parsedValue = parsers . parsePropertyValue ( property , v , {
3131 caseSensitive
3232 } ) ;
33+ const priority = this . _priorities . get ( property ) ?? "" ;
3334 if ( Array . isArray ( parsedValue ) ) {
3435 if ( parsedValue . length === 1 ) {
3536 const {
@@ -43,7 +44,7 @@ function createGenericPropertyDescriptor(property, { caseSensitive, dimensionTyp
4344 const [ { name, type, value : itemValue } ] = parsedValue ;
4445 switch ( type ) {
4546 case AST_TYPES . CALC : {
46- this . _setProperty ( property , `${ name } (${ itemValue } )` ) ;
47+ this . _setProperty ( property , `${ name } (${ itemValue } )` , priority ) ;
4748 break ;
4849 }
4950 case AST_TYPES . DIMENSION : {
@@ -58,11 +59,11 @@ function createGenericPropertyDescriptor(property, { caseSensitive, dimensionTyp
5859 } else {
5960 val = parsers . serializeDimension ( parsedValue , dimensionType ) ;
6061 }
61- this . _setProperty ( property , val ) ;
62+ this . _setProperty ( property , val , priority ) ;
6263 break ;
6364 }
6465 case AST_TYPES . HASH : {
65- this . _setProperty ( property , parsers . serializeColor ( parsedValue ) ) ;
66+ this . _setProperty ( property , parsers . serializeColor ( parsedValue ) , priority ) ;
6667 break ;
6768 }
6869 case AST_TYPES . NUMBER : {
@@ -76,12 +77,12 @@ function createGenericPropertyDescriptor(property, { caseSensitive, dimensionTyp
7677 } else if ( percentageType ) {
7778 val = parsers . serializePercentage ( parsedValue , percentageType ) ;
7879 }
79- this . _setProperty ( property , val ) ;
80+ this . _setProperty ( property , val , priority ) ;
8081 break ;
8182 }
8283 case AST_TYPES . GLOBAL_KEYWORD :
8384 case AST_TYPES . IDENTIFIER : {
84- this . _setProperty ( property , name ) ;
85+ this . _setProperty ( property , name , priority ) ;
8586 break ;
8687 }
8788 case AST_TYPES . PERCENTAGE : {
@@ -96,36 +97,35 @@ function createGenericPropertyDescriptor(property, { caseSensitive, dimensionTyp
9697 numericType = lengthType ;
9798 }
9899 if ( numericType ) {
99- this . _setProperty ( property , parsers . resolveNumericValue ( parsedValue , numericType ) ) ;
100+ this . _setProperty ( property , parsers . resolveNumericValue ( parsedValue , numericType ) , priority ) ;
100101 }
101102 break ;
102103 }
103104 case AST_TYPES . STRING : {
104- this . _setProperty ( property , parsers . serializeString ( parsedValue ) ) ;
105+ this . _setProperty ( property , parsers . serializeString ( parsedValue ) , priority ) ;
105106 break ;
106107 }
107108 case AST_TYPES . URL : {
108- this . _setProperty ( property , parsers . serializeURL ( parsedValue ) ) ;
109+ this . _setProperty ( property , parsers . serializeURL ( parsedValue ) , priority ) ;
109110 break ;
110111 }
111112 case AST_TYPES . FUNCTION :
112113 default : {
113114 if ( colorType ) {
114- this . _setProperty ( property , parsers . serializeColor ( parsedValue ) ) ;
115+ this . _setProperty ( property , parsers . serializeColor ( parsedValue ) , priority ) ;
115116 } else if ( imageType ) {
116- this . _setProperty ( property , parsers . serializeGradient ( parsedValue ) ) ;
117+ this . _setProperty ( property , parsers . serializeGradient ( parsedValue ) , priority ) ;
117118 } else {
118- this . _setProperty ( property , value ) ;
119+ this . _setProperty ( property , value , priority ) ;
119120 }
120121 }
121122 }
122123 } else {
123124 // Set the prepared value for lists containing multiple values.
124- this . _setProperty ( property , value ) ;
125+ this . _setProperty ( property , value , priority ) ;
125126 }
126127 } else if ( typeof parsedValue === "string" ) {
127- // Empty string.
128- this . _setProperty ( property , parsedValue ) ;
128+ this . _setProperty ( property , parsedValue , priority ) ;
129129 }
130130 }
131131 } ,
0 commit comments