-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Summary
Hi! I'd love to see a IMouseProps
logic very similar to the existing IKeyboardProps
or some other way to gain access to a mouse's location.
While this API could differ in many ways, one idea is to add props, like IKeyboardProps
such as:
onMouseUp
onMouseDown
onMouseMove
onMouseOver
onMouseOut
onMouseEnter
onMouseLeave
Which maps to a very similar API to the web's API
Motivation
I'm working on a comprehensive UI component library for React Native that supports RNW.
As part of this UI component library, I'd love to have access to a mouse's cursor location in order to do the "Smart Triangle" calculation that's so common for right-clicked menus, such as this:
submenusafetriangle3.mp4
Credit: https://height.app/blog/guide-to-build-context-menus
I'm certain there are many other candidates for UI experiences that can only be done with a mouse API of some kind
Basic Example
const App = class App extends React.Component {
state = {
screenX,
screenY
}
private _onMouseMove = (event: IMouseEvent) => {
this.setState({ screenX: event.nativeEvent.screenX, screenY: event.nativeEvent.screenY });
};
render() {
return (
<View onMouseMove={this._onMouseMove} />
);
}
}
export default App;
Open Questions
Is this unique to Windows?
It may not be, since Android and iOS also seem to have cursors in some capacity as well