diff --git a/CHANGELOG.md b/CHANGELOG.md index 17f8f4e01..e39de8596 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,8 +10,6 @@ selector, regardless of which selector they came from. Previously, this reordering only applied to pseudo-selectors in the second selector. - * Prioritizes components from the first selector in the output. - ## 1.79.3 * Update the `$channel` parameter in the suggested replacement for diff --git a/lib/src/extend/functions.dart b/lib/src/extend/functions.dart index 0bfa21a14..190bf4429 100644 --- a/lib/src/extend/functions.dart +++ b/lib/src/extend/functions.dart @@ -122,30 +122,11 @@ List? unifyComplex( /// If no such selector can be produced, returns `null`. CompoundSelector? unifyCompound( CompoundSelector compound1, CompoundSelector compound2) { - var result = []; + var result = compound1.components; var pseudoResult = []; var pseudoElementFound = false; - // Compound selectors may not contain more than one pseudo-element selectors. - if (compound1.components - .followedBy(compound2.components) - .whereType() - .where((pseudo) => pseudo.isElement) - .toSet() - .length > - 1) { - return null; - } - - for (var simple in [...compound1.components, null, ...compound2.components]) { - // The relative order of pseudo selectors is preserved only in the original - // selector. We use `null` as a signal to know when we transition from the - // first components into the second components. - if (simple == null) { - pseudoElementFound = false; - continue; - } - + for (var simple in compound2.components) { // All pseudo-classes are unified separately after a pseudo-element to // preserve their relative order with the pseudo-element. if (pseudoElementFound && simple is PseudoSelector) { diff --git a/pkg/sass-parser/package.json b/pkg/sass-parser/package.json index cfe56aeb5..3c8800b22 100644 --- a/pkg/sass-parser/package.json +++ b/pkg/sass-parser/package.json @@ -1,6 +1,6 @@ { "name": "sass-parser", - "version": "0.2.2", + "version": "0.2.3", "description": "A PostCSS-compatible wrapper of the official Sass parser", "repository": "sass/sass", "author": "Google Inc.", diff --git a/pkg/sass_api/CHANGELOG.md b/pkg/sass_api/CHANGELOG.md index deddad92a..98d4f53ee 100644 --- a/pkg/sass_api/CHANGELOG.md +++ b/pkg/sass_api/CHANGELOG.md @@ -1,3 +1,7 @@ +## 12.0.4 + +* No user-visible changes. + ## 12.0.3 * No user-visible changes. diff --git a/pkg/sass_api/pubspec.yaml b/pkg/sass_api/pubspec.yaml index 62e2528dc..7c95cbf64 100644 --- a/pkg/sass_api/pubspec.yaml +++ b/pkg/sass_api/pubspec.yaml @@ -2,7 +2,7 @@ name: sass_api # Note: Every time we add a new Sass AST node, we need to bump the *major* # version because it's a breaking change for anyone who's implementing the # visitor interface(s). -version: 12.0.3 +version: 12.0.4 description: Additional APIs for Dart Sass. homepage: https://github.com/sass/dart-sass @@ -10,7 +10,7 @@ environment: sdk: ">=3.0.0 <4.0.0" dependencies: - sass: 1.79.3 + sass: 1.79.4 dev_dependencies: dartdoc: ^8.0.14 diff --git a/pubspec.yaml b/pubspec.yaml index aa8dd9c7e..2d3c7153f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: sass -version: 1.79.3 +version: 1.79.4 description: A Sass implementation in Dart. homepage: https://github.com/sass/dart-sass