pull/14456/head
Rich Harris 2 years ago
parent bb5c311e06
commit 95418a6926

@ -155,24 +155,12 @@ function apply_selector(relative_selectors, rule, element) {
if (!relative_selector) return false; if (!relative_selector) return false;
const possible_match = relative_selector_might_apply_to_node(relative_selector, rule, element); if (!relative_selector_might_apply_to_node(relative_selector, rule, element)) {
if (!possible_match) {
return false; return false;
} }
if (relative_selector.combinator) { if (!apply_combinator(relative_selector, parent_selectors, rule, element)) {
const matched = apply_combinator( return false;
relative_selector.combinator,
relative_selector,
parent_selectors,
rule,
element
);
if (!matched) {
return false;
}
} }
if (!is_outer_global(relative_selector)) { if (!is_outer_global(relative_selector)) {
@ -185,16 +173,16 @@ function apply_selector(relative_selectors, rule, element) {
} }
/** /**
*
* @param {Compiler.Css.Combinator} combinator
* @param {Compiler.Css.RelativeSelector} relative_selector * @param {Compiler.Css.RelativeSelector} relative_selector
* @param {Compiler.Css.RelativeSelector[]} parent_selectors * @param {Compiler.Css.RelativeSelector[]} parent_selectors
* @param {Compiler.Css.Rule} rule * @param {Compiler.Css.Rule} rule
* @param {Compiler.AST.RegularElement | Compiler.AST.SvelteElement | Compiler.AST.RenderTag | Compiler.AST.Component | Compiler.AST.SvelteComponent | Compiler.AST.SvelteSelf} node * @param {Compiler.AST.RegularElement | Compiler.AST.SvelteElement | Compiler.AST.RenderTag | Compiler.AST.Component | Compiler.AST.SvelteComponent | Compiler.AST.SvelteSelf} node
* @returns {boolean} * @returns {boolean}
*/ */
function apply_combinator(combinator, relative_selector, parent_selectors, rule, node) { function apply_combinator(relative_selector, parent_selectors, rule, node) {
const name = combinator.name; if (!relative_selector.combinator) return true;
const name = relative_selector.combinator.name;
switch (name) { switch (name) {
case ' ': case ' ':
@ -209,7 +197,7 @@ function apply_combinator(combinator, relative_selector, parent_selectors, rule,
if (parent.type === 'SnippetBlock') { if (parent.type === 'SnippetBlock') {
for (const site of parent.metadata.sites) { for (const site of parent.metadata.sites) {
if (apply_combinator(combinator, relative_selector, parent_selectors, rule, site)) { if (apply_combinator(relative_selector, parent_selectors, rule, site)) {
return true; return true;
} }
} }

Loading…
Cancel
Save