react-long-press
v0.1.6
Published
A button that can be held down(long pressed) for initiating an action
Downloads
128
Maintainers
Readme
react-long-press
A simple button that gives you ability to let the user long press and perform some activity as long as the user is pressing the button. Long Press
is defined as the user holding the button with their mouse for a long time.
Installation:
npm install react-long-press
Usage:
import ReactHoldButton from 'react-long-press';
class Example extends React.Component {
longPressStart = () => {
console.log('Long press Started');
};
longPressEnd = () => {
console.log('Long press Ends');
};
render(){
return (<div>
<LongPressBtn
ref={(btn) => { this.holdButton = btn; }}
longPressEnd={this.longPressEnd}
longPressStart={this.longPressStart}
pressCallbackTimeout={2000}
className="my-delete-button"
/>
</div>);
}
}
Pass a custom className
prop and add custom CSS for button looks. A simple one is given below
.my-delete-button {
background-color: #fff;
border: 1px solid red;
border-radius: 2px;
padding: 5px;
margin-top: 8px;
&:hover {
background-color: red;
color: #fff;
}
}
API
longPressStart
- This function will be called when long press starts.longPressEnd
- This function will be called when long press ends.pressCallback
- [optional] This function will be called for everypressCallbackTimeout
milliseconds.isPressed
- This function is available with the instance. Returnstrue
if the long press is active at any given time. Returnsfalse
if long press is not active at that moment.eg:
<ReactHoldButton ref={(btn) => { this.holdButton = btn; }} {/* ..other props */} /> Then, the function can be invoked as this.holdButton.isPressed()
Props
pressCallbackTimeout
- [optional] Defines the timeout in milliseconds for which thepressCallback
should be called. Default is100
.timeout
- [optional] Defines the time the mouse should be held on the button forlong press
to start. Default is300
. When the user is holding their mouse down on the component for 300 milliseconds, thelongPressStart
callback is invoked.