Skip to content

Commit 6cc63dc

Browse files
committed
refactor(devtools): replace mouse position tracking with custom implementation
- Replace @solid-primitives/mouse with custom event listener using createEventListener - Use e.clientX and e.clientY for client position instead of page position - Explanation: @solid-primitives/mouse returns page position, but we need client position for accurate element highlighting in source inspector
1 parent 19cc46c commit 6cc63dc

3 files changed

Lines changed: 5 additions & 20 deletions

File tree

packages/devtools/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@
6161
"dependencies": {
6262
"@solid-primitives/event-listener": "^2.4.3",
6363
"@solid-primitives/keyboard": "^1.3.3",
64-
"@solid-primitives/mouse": "^2.1.4",
6564
"@solid-primitives/resize-observer": "^2.1.3",
6665
"@tanstack/devtools-event-bus": "workspace:*",
6766
"@tanstack/devtools-ui": "workspace:*",

packages/devtools/src/components/source-inspector.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { createEffect, createMemo, createSignal } from 'solid-js'
22
import { createStore } from 'solid-js/store'
33
import { createElementSize } from '@solid-primitives/resize-observer'
44
import { useKeyDownList } from '@solid-primitives/keyboard'
5-
import { createMousePosition } from '@solid-primitives/mouse'
65
import { createEventListener } from '@solid-primitives/event-listener'
76

87
export const SourceInspector = () => {
@@ -20,7 +19,10 @@ export const SourceInspector = () => {
2019
const [nameTagRef, setNameTagRef] = createSignal<HTMLDivElement | null>(null)
2120
const nameTagSize = createElementSize(() => nameTagRef())
2221

23-
const mousePosition = createMousePosition()
22+
const [mousePosition, setMousePosition] = createStore({ x: 0, y: 0 })
23+
createEventListener(document, 'mousemove', (e) => {
24+
setMousePosition({ x: e.clientX, y: e.clientY })
25+
})
2426

2527
const downList = useKeyDownList()
2628
const isHighlightingKeysHeld = createMemo(() => {
@@ -69,7 +71,7 @@ export const SourceInspector = () => {
6971
})
7072
})
7173

72-
createEventListener(window, 'click', (e: Event) => {
74+
createEventListener(document, 'click', (e: Event) => {
7375
if (!highlightState.element) return
7476

7577
e.preventDefault()

pnpm-lock.yaml

Lines changed: 0 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)