aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Tooltip/LinkedTooltip.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Tooltip/LinkedTooltip.svelte')
-rw-r--r--src/lib/Tooltip/LinkedTooltip.svelte15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/lib/Tooltip/LinkedTooltip.svelte b/src/lib/Tooltip/LinkedTooltip.svelte
index 82147536..bbf0ffe5 100644
--- a/src/lib/Tooltip/LinkedTooltip.svelte
+++ b/src/lib/Tooltip/LinkedTooltip.svelte
@@ -1,6 +1,7 @@
<script lang="ts">
import tooltipPosition from "$stores/tooltipPosition";
import { fade } from "svelte/transition";
+import { onDestroy } from "svelte";
export let id: string | undefined = undefined;
export let pin: string | undefined = undefined;
@@ -20,10 +21,24 @@ let hideTimeout: number | null = null;
let debounceTimer: number | null = null;
let opacity = 0;
+onDestroy(() => {
+ if (hideTimeout !== null) clearTimeout(hideTimeout);
+
+ if (debounceTimer !== null) clearTimeout(debounceTimer);
+
+ if (tooltipDiv && tooltipDiv.parentNode === document.body) {
+ document.body.removeChild(tooltipDiv);
+ tooltipDiv = null;
+ }
+});
+
const createTooltip = () => {
if (!tooltipDiv) {
tooltipDiv = document.createElement("div");
tooltipDiv.style.position = "absolute";
+ tooltipDiv.style.top = "-9999px";
+ tooltipDiv.style.left = "-9999px";
+ tooltipDiv.style.visibility = "hidden";
tooltipDiv.style.zIndex = "1000";
opacity = 0;
tooltipDiv.style.pointerEvents = "none";