From d5cd38bac6c97b53457a54b82d556d30bc01ec7a Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Tue, 2 Jan 2024 15:44:11 +0100 Subject: [PATCH] allow pseudo class after global --- packages/svelte/src/compiler/phases/2-analyze/css/Selector.js | 4 +++- .../samples/css-invalid-global-placement-2/errors.json | 4 ++-- .../samples/css-invalid-global-placement-2/input.svelte | 3 +++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/svelte/src/compiler/phases/2-analyze/css/Selector.js b/packages/svelte/src/compiler/phases/2-analyze/css/Selector.js index 2a8e4eff40..b6796ff961 100644 --- a/packages/svelte/src/compiler/phases/2-analyze/css/Selector.js +++ b/packages/svelte/src/compiler/phases/2-analyze/css/Selector.js @@ -184,7 +184,9 @@ export default class Selector { selector.name === 'global' && block.selectors.length !== 1 && (i === block.selectors.length - 1 || - block.selectors.slice(i + 1).some((s) => s.type !== 'PseudoElementSelector')) + block.selectors + .slice(i + 1) + .some((s) => s.type !== 'PseudoElementSelector' && s.type !== 'PseudoClassSelector')) ) { error(selector, 'invalid-css-global-selector-list'); } diff --git a/packages/svelte/tests/validator/samples/css-invalid-global-placement-2/errors.json b/packages/svelte/tests/validator/samples/css-invalid-global-placement-2/errors.json index 7ba32a53fb..53e24d8d81 100644 --- a/packages/svelte/tests/validator/samples/css-invalid-global-placement-2/errors.json +++ b/packages/svelte/tests/validator/samples/css-invalid-global-placement-2/errors.json @@ -3,11 +3,11 @@ "code": "invalid-css-global-placement", "message": ":global(...) can be at the start or end of a selector sequence, but not in the middle", "start": { - "line": 2, + "line": 5, "column": 6 }, "end": { - "line": 2, + "line": 5, "column": 19 } } diff --git a/packages/svelte/tests/validator/samples/css-invalid-global-placement-2/input.svelte b/packages/svelte/tests/validator/samples/css-invalid-global-placement-2/input.svelte index 75bd7b66e1..2c8e96a484 100644 --- a/packages/svelte/tests/validator/samples/css-invalid-global-placement-2/input.svelte +++ b/packages/svelte/tests/validator/samples/css-invalid-global-placement-2/input.svelte @@ -1,4 +1,7 @@