From 52816da5faf36e98108504c3d5e33557bc0e4e41 Mon Sep 17 00:00:00 2001 From: dominikg Date: Thu, 22 Sep 2022 09:54:14 +0200 Subject: [PATCH 1/2] fix: svelte-inspector ignore navigation keys while not enabled --- .changeset/mighty-tigers-sell.md | 5 +++++ .../src/ui/inspector/Inspector.svelte | 16 +++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) create mode 100644 .changeset/mighty-tigers-sell.md diff --git a/.changeset/mighty-tigers-sell.md b/.changeset/mighty-tigers-sell.md new file mode 100644 index 000000000..7a372eea9 --- /dev/null +++ b/.changeset/mighty-tigers-sell.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/vite-plugin-svelte': patch +--- + +svelte-inspector: ignore navigation keys while not enabled diff --git a/packages/vite-plugin-svelte/src/ui/inspector/Inspector.svelte b/packages/vite-plugin-svelte/src/ui/inspector/Inspector.svelte index 577865143..876cf8ef5 100644 --- a/packages/vite-plugin-svelte/src/ui/inspector/Inspector.svelte +++ b/packages/vite-plugin-svelte/src/ui/inspector/Inspector.svelte @@ -171,14 +171,16 @@ if (options.holdMode && enabled) { enabled_ts = Date.now(); } - } else if (is_nav(event)) { - const el = find_selectable_for_nav(event.key); - if (el) { - activate(el); - stop(event); + } else if (enabled) { + if (is_nav(event)) { + const el = find_selectable_for_nav(event.key); + if (el) { + activate(el); + stop(event); + } + } else if (is_open(event)) { + open_editor(event); } - } else if (is_open(event)) { - open_editor(event); } } From 8996fda15b791be0e2fd7313dc8e734190a38148 Mon Sep 17 00:00:00 2001 From: dominikg Date: Thu, 22 Sep 2022 10:12:08 +0200 Subject: [PATCH 2/2] fix: svelte-inspector mousemove handler should activate event.target if it is selectable --- .changeset/eighty-dingos-dance.md | 5 +++++ .../src/ui/inspector/Inspector.svelte | 17 ++++++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 .changeset/eighty-dingos-dance.md diff --git a/.changeset/eighty-dingos-dance.md b/.changeset/eighty-dingos-dance.md new file mode 100644 index 000000000..f20b91875 --- /dev/null +++ b/.changeset/eighty-dingos-dance.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/vite-plugin-svelte': patch +--- + +svelte-inspector: select hovered element instead of parent on mousemouse diff --git a/packages/vite-plugin-svelte/src/ui/inspector/Inspector.svelte b/packages/vite-plugin-svelte/src/ui/inspector/Inspector.svelte index 876cf8ef5..ef44fc29b 100644 --- a/packages/vite-plugin-svelte/src/ui/inspector/Inspector.svelte +++ b/packages/vite-plugin-svelte/src/ui/inspector/Inspector.svelte @@ -36,13 +36,16 @@ y = event.y; } - function find_selectable_parent(el) { - do { + function find_selectable_parent(el, include_self = false) { + if (!include_self) { el = el.parentNode; + } + while (el) { if (is_selectable(el)) { return el; } - } while (el); + el = el.parentNode; + } } function find_selectable_child(el) { @@ -89,8 +92,8 @@ return true; } - function mouseover(event) { - const el = find_selectable_parent(event.target); + function mouseover({ target }) { + const el = find_selectable_parent(target, true); activate(el, false); } @@ -219,10 +222,10 @@ function activate_initial_el() { const hov = innermost_hover_el(); - let el = is_selectable(hov) ? hov : find_selectable_parent(hov); + let el = find_selectable_parent(hov, true); if (!el) { const act = document.activeElement; - el = is_selectable(act) ? act : find_selectable_parent(act); + el = find_selectable_parent(act, true); } if (!el) { el = find_selectable_child(document.body);