diff --git a/packages/svelte/src/internal/client/dom/blocks/each.js b/packages/svelte/src/internal/client/dom/blocks/each.js index d7c53a0248..c7f7df218c 100644 --- a/packages/svelte/src/internal/client/dom/blocks/each.js +++ b/packages/svelte/src/internal/client/dom/blocks/each.js @@ -139,8 +139,6 @@ export function each(node, flags, get_collection, get_key, render_fn, fallback_f var was_empty = false; - var boundary = /** @type {Effect} */ (active_effect).b; - /** @type {Map} */ var offscreen_items = new Map(); diff --git a/packages/svelte/src/internal/client/dom/blocks/if.js b/packages/svelte/src/internal/client/dom/blocks/if.js index 49261611eb..43971b79ae 100644 --- a/packages/svelte/src/internal/client/dom/blocks/if.js +++ b/packages/svelte/src/internal/client/dom/blocks/if.js @@ -54,6 +54,7 @@ export function if_block(node, fn, elseif = false) { if (offscreen_fragment !== null) { // remove the anchor /** @type {Text} */ (offscreen_fragment.lastChild).remove(); + anchor.before(offscreen_fragment); offscreen_fragment = null; } diff --git a/packages/svelte/src/internal/client/dom/blocks/key.js b/packages/svelte/src/internal/client/dom/blocks/key.js index 30f211e603..021d9dec9e 100644 --- a/packages/svelte/src/internal/client/dom/blocks/key.js +++ b/packages/svelte/src/internal/client/dom/blocks/key.js @@ -5,7 +5,6 @@ import { not_equal, safe_not_equal } from '../../reactivity/equality.js'; import { is_runes } from '../../context.js'; import { hydrate_next, hydrate_node, hydrating } from '../hydration.js'; import { create_text, should_defer_append } from '../operations.js'; -import { active_effect } from '../../runtime.js'; import { active_fork } from '../../reactivity/forks.js'; /** @@ -34,8 +33,6 @@ export function key_block(node, get_key, render_fn) { /** @type {DocumentFragment | null} */ var offscreen_fragment = null; - var boundary = /** @type {Effect} */ (active_effect).b; - var changed = is_runes() ? not_equal : safe_not_equal; function commit() { @@ -44,6 +41,9 @@ export function key_block(node, get_key, render_fn) { } if (offscreen_fragment !== null) { + // remove the anchor + /** @type {Text} */ (offscreen_fragment.lastChild).remove(); + anchor.before(offscreen_fragment); offscreen_fragment = null; } @@ -66,7 +66,6 @@ export function key_block(node, get_key, render_fn) { if (defer) { active_fork?.add_callback(commit); - target.remove(); } else { commit(); } diff --git a/packages/svelte/src/internal/client/dom/blocks/svelte-component.js b/packages/svelte/src/internal/client/dom/blocks/svelte-component.js index 337f192c29..cd52950598 100644 --- a/packages/svelte/src/internal/client/dom/blocks/svelte-component.js +++ b/packages/svelte/src/internal/client/dom/blocks/svelte-component.js @@ -39,6 +39,9 @@ export function component(node, get_component, render_fn) { } if (offscreen_fragment) { + // remove the anchor + /** @type {Text} */ (offscreen_fragment.lastChild).remove(); + anchor.before(offscreen_fragment); offscreen_fragment = null; } @@ -61,10 +64,6 @@ export function component(node, get_component, render_fn) { } pending_effect = branch(() => render_fn(target, component)); - - if (defer) { - target.remove(); - } } if (defer) {