From fadd7109910aad15b68da93f9787ac886453c205 Mon Sep 17 00:00:00 2001 From: Eric Kwoka <43540491+ekwoka@users.noreply.github.com> Date: Fri, 2 Aug 2024 12:30:55 +0400 Subject: [PATCH] :bug: Cleans up Teleport clones --- packages/alpinejs/src/directives/x-teleport.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/alpinejs/src/directives/x-teleport.js b/packages/alpinejs/src/directives/x-teleport.js index 6af19c9f5..274b8eec5 100644 --- a/packages/alpinejs/src/directives/x-teleport.js +++ b/packages/alpinejs/src/directives/x-teleport.js @@ -1,6 +1,6 @@ import { skipDuringClone } from "../clone" import { directive } from "../directives" -import { initTree } from "../lifecycle" +import { initTree, destroyTree } from "../lifecycle" import { mutateDom } from "../mutation" import { addScopeToNode } from "../scope" import { warn } from "../utils/warn" @@ -64,7 +64,12 @@ directive('teleport', (el, { modifiers, expression }, { cleanup }) => { }) } - cleanup(() => clone.remove()) + cleanup(() => + mutateDom(() => { + clone.remove() + destroyTree(clone) + }) + ) }) let teleportContainerDuringClone = document.createElement('div')