svelte
Advanced tools
Comparing version 4.2.12 to 4.2.13
{ | ||
"name": "svelte", | ||
"version": "4.2.12", | ||
"version": "4.2.13", | ||
"description": "Cybernetically enhanced web apps", | ||
@@ -5,0 +5,0 @@ "type": "module", |
@@ -17,3 +17,3 @@ [![Cybernetically enhanced web apps: Svelte](https://sveltejs.github.io/assets/banner.png)](https://svelte.dev) | ||
When you're ready to build a full-fledge application, we recommend using [SvelteKit](https://kit.svelte.dev): | ||
When you're ready to build a full-fledged application, we recommend using [SvelteKit](https://kit.svelte.dev): | ||
@@ -20,0 +20,0 @@ ```bash |
@@ -294,3 +294,6 @@ import { gather_possible_values, UNKNOWN } from './gather_possible_values.js'; | ||
} else if (block.combinator.name === '+' || block.combinator.name === '~') { | ||
const siblings = get_possible_element_siblings(node, block.combinator.name === '+'); | ||
const [siblings, has_slot_sibling] = get_possible_element_siblings( | ||
node, | ||
block.combinator.name === '+' | ||
); | ||
let has_match = false; | ||
@@ -302,3 +305,3 @@ // NOTE: if we have :global(), we couldn't figure out what is selected within `:global` due to the | ||
if (has_global) { | ||
if (siblings.size === 0 && get_element_parent(node) !== null) { | ||
if (siblings.size === 0 && get_element_parent(node) !== null && !has_slot_sibling) { | ||
return false; | ||
@@ -547,3 +550,3 @@ } | ||
* @param {import('../nodes/interfaces.js').INode} node | ||
* @returns {import('../nodes/interfaces.js').INode} | ||
* @returns {[import('../nodes/interfaces.js').INode, boolean]} | ||
*/ | ||
@@ -553,4 +556,6 @@ function find_previous_sibling(node) { | ||
let current_node = node; | ||
let has_slot_sibling = false; | ||
do { | ||
if (current_node.type === 'Slot') { | ||
has_slot_sibling = true; | ||
const slot_children = current_node.children; | ||
@@ -567,3 +572,3 @@ if (slot_children.length > 0) { | ||
} while (current_node && current_node.type === 'Slot'); | ||
return current_node; | ||
return [current_node, has_slot_sibling]; | ||
} | ||
@@ -574,3 +579,3 @@ | ||
* @param {boolean} adjacent_only | ||
* @returns {Map<import('../nodes/Element.js').default, NodeExistsValue>} | ||
* @returns {[Map<import('../nodes/Element.js').default, NodeExistsValue>, boolean]} | ||
*/ | ||
@@ -583,3 +588,6 @@ function get_possible_element_siblings(node, adjacent_only) { | ||
let prev = node; | ||
while ((prev = find_previous_sibling(prev))) { | ||
let has_slot_sibling = false; | ||
let slot_sibling_found = false; | ||
while (([prev, slot_sibling_found] = find_previous_sibling(prev)) && prev) { | ||
has_slot_sibling = has_slot_sibling || slot_sibling_found; | ||
if (prev.type === 'Element') { | ||
@@ -600,3 +608,3 @@ if ( | ||
if (adjacent_only && has_definite_elements(possible_last_child)) { | ||
return result; | ||
return [result, has_slot_sibling]; | ||
} | ||
@@ -616,3 +624,7 @@ } | ||
) { | ||
const possible_siblings = get_possible_element_siblings(parent, adjacent_only); | ||
const [possible_siblings, slot_sibling_found] = get_possible_element_siblings( | ||
parent, | ||
adjacent_only | ||
); | ||
has_slot_sibling = has_slot_sibling || slot_sibling_found; | ||
add_to_map(possible_siblings, result); | ||
@@ -635,3 +647,3 @@ if (parent.type === 'EachBlock') { | ||
} | ||
return result; | ||
return [result, has_slot_sibling]; | ||
} | ||
@@ -638,0 +650,0 @@ |
@@ -9,3 +9,3 @@ // generated during release, do not modify | ||
*/ | ||
export const VERSION = '4.2.12'; | ||
export const VERSION = '4.2.13'; | ||
export const PUBLIC_VERSION = '4'; |
Sorry, the diff of this file is not supported yet
2632877
78118