diff --git a/packages/ui/src/components/list.tsx b/packages/ui/src/components/list.tsx index 631b3e33a299..932d979fce96 100644 --- a/packages/ui/src/components/list.tsx +++ b/packages/ui/src/components/list.tsx @@ -39,6 +39,8 @@ export function List(props: ListProps & { ref?: (ref: ListRef) => void }) const searchProps = () => (typeof props.search === "object" ? props.search : {}) + const moved = (event: MouseEvent) => event.movementX !== 0 || event.movementY !== 0 + createEffect(() => { if (props.filter !== undefined) { onInput(props.filter) @@ -201,11 +203,13 @@ export function List(props: ListProps & { ref?: (ref: ListRef) => void }) data-selected={item === props.current} onClick={() => handleSelect(item, i())} type="button" - onMouseMove={() => { + onMouseMove={(event) => { + if (!moved(event)) return setStore("mouseActive", true) setActive(props.key(item)) }} onMouseLeave={() => { + if (!store.mouseActive) return setActive(null) }} >