@@ -10,7 +10,6 @@ import { get_attribute_chunks, is_text_attribute } from '../../../utils/ast.js';
10
10
* stylesheet: Compiler.Css.StyleSheet;
11
11
* element: Compiler.AST.RegularElement | Compiler.AST.SvelteElement;
12
12
* from_render_tag: boolean;
13
- * inside_not: boolean;
14
13
* }} State
15
14
*/
16
15
/** @typedef {NODE_PROBABLY_EXISTS | NODE_DEFINITELY_EXISTS } NodeExistsValue */
@@ -62,13 +61,9 @@ export function prune(stylesheet, element) {
62
61
const parent = get_element_parent ( element ) ;
63
62
if ( ! parent ) return ;
64
63
65
- walk (
66
- stylesheet ,
67
- { stylesheet, element : parent , from_render_tag : true , inside_not : false } ,
68
- visitors
69
- ) ;
64
+ walk ( stylesheet , { stylesheet, element : parent , from_render_tag : true } , visitors ) ;
70
65
} else {
71
- walk ( stylesheet , { stylesheet, element, from_render_tag : false , inside_not : false } , visitors ) ;
66
+ walk ( stylesheet , { stylesheet, element, from_render_tag : false } , visitors ) ;
72
67
}
73
68
}
74
69
@@ -227,7 +222,7 @@ function apply_selector(relative_selectors, rule, element, state) {
227
222
// if this is the left-most non-global selector, mark it — we want
228
223
// `x y z {...}` to become `x.blah y z.blah {...}`
229
224
const parent = parent_selectors [ parent_selectors . length - 1 ] ;
230
- if ( ! state . inside_not && ( ! parent || is_global ( parent , rule ) ) ) {
225
+ if ( ! parent || is_global ( parent , rule ) ) {
231
226
mark ( relative_selector , element ) ;
232
227
}
233
228
@@ -269,7 +264,7 @@ function apply_combinator(combinator, relative_selector, parent_selectors, rule,
269
264
if ( parent . type === 'RegularElement' || parent . type === 'SvelteElement' ) {
270
265
if ( apply_selector ( parent_selectors , rule , parent , state ) ) {
271
266
// TODO the `name === ' '` causes false positives, but removing it causes false negatives...
272
- if ( ! state . inside_not && ( name === ' ' || crossed_component_boundary ) ) {
267
+ if ( name === ' ' || crossed_component_boundary ) {
273
268
mark ( parent_selectors [ parent_selectors . length - 1 ] , parent ) ;
274
269
}
275
270
@@ -295,15 +290,11 @@ function apply_combinator(combinator, relative_selector, parent_selectors, rule,
295
290
if ( possible_sibling . type === 'RenderTag' || possible_sibling . type === 'SlotElement' ) {
296
291
// `{@render foo()}<p>foo</p>` with `:global(.x) + p` is a match
297
292
if ( parent_selectors . length === 1 && parent_selectors [ 0 ] . metadata . is_global ) {
298
- if ( ! state . inside_not ) {
299
- mark ( relative_selector , element ) ;
300
- }
293
+ mark ( relative_selector , element ) ;
301
294
sibling_matched = true ;
302
295
}
303
296
} else if ( apply_selector ( parent_selectors , rule , possible_sibling , state ) ) {
304
- if ( ! state . inside_not ) {
305
- mark ( relative_selector , element ) ;
306
- }
297
+ mark ( relative_selector , element ) ;
307
298
sibling_matched = true ;
308
299
}
309
300
}
0 commit comments