pass stylesheet around

pull/10490/head
Rich Harris 3 years ago
parent 598962b36d
commit 960bea9afd

@ -72,7 +72,7 @@ function apply_selector(relative_selectors, element, stylesheet) {
const relative_selector = relative_selectors.pop();
if (!relative_selector) return false;
const applies = relative_selector_might_apply_to_node(relative_selector, element);
const applies = relative_selector_might_apply_to_node(relative_selector, element, stylesheet);
if (applies === NO_MATCH) {
return false;
@ -112,7 +112,10 @@ function apply_selector(relative_selectors, element, stylesheet) {
let parent = element;
let matched = false;
while ((parent = get_element_parent(parent))) {
if (relative_selector_might_apply_to_node(ancestor_selector, parent) !== NO_MATCH) {
if (
relative_selector_might_apply_to_node(ancestor_selector, parent, stylesheet) !==
NO_MATCH
) {
mark(ancestor_selector, parent);
matched = true;
}
@ -188,9 +191,10 @@ const regex_backslash_and_following_character = /\\(.)/g;
/**
* @param {import('#compiler').Css.RelativeSelector} relative_selector
* @param {import('#compiler').RegularElement | import('#compiler').SvelteElement} node
* @param {import('#compiler').Css.StyleSheet} stylesheet
* @returns {NO_MATCH | POSSIBLE_MATCH | UNKNOWN_SELECTOR}
*/
function relative_selector_might_apply_to_node(relative_selector, node) {
function relative_selector_might_apply_to_node(relative_selector, node, stylesheet) {
if (relative_selector.metadata.is_host || relative_selector.metadata.is_root) return NO_MATCH;
let i = relative_selector.selectors.length;

Loading…
Cancel
Save