
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
react-swipeable-button
Advanced tools
Changes:
1.6.5
1.6.3 Fixes
Improvements
circle
prop is now true by defaultv1.6.2
Improvements
Shimmer Effect enhancement
: Enhanced the visibility of the shimmer effectFixes
Check all the changes in the Release Notes
npm install react-swipeable-button
or
yarn add react-swipeable-button
import { SwipeableButton } from "react-swipeable-button";
function App() {
const onSuccess = () => {
console.log("Successfully Swiped!");
};
const onFailure = () => {
console.log("Failed to Swipe!");
};
return (
<SwipeableButton
onSuccess={onSuccess}
onFailure={onFailure}
noAnimate={false} //default is false
text="Swipe me!"
text_unlocked="yeee"
sliderTextColor="#fff" //default is #fff
sliderIconColor="#fff" //default is #fff
background_color="#eee" //default is #eee
...otherProps (check props section for more details)
name="react-swipeable-button"
/>
);
}
export default App;
<SwipeableButton
onSuccess={onSuccess}
onFailure={onFailure}
buttonChildren={
<p style={{ color: "green", textAlign: "center" }}>Click me</p> // instead of text
}
buttonChildrenUnlocked={
<p style={{ color: "red", textAlign: "center" }}>Unlocked!</p> // using instead of text_unlocked
}
sliderColor="#16362d"
sliderTextColor="#fff"
sliderIconColor="#fff"
background_color="#eee"
borderRadius={30}
circle //default is true
autoWidth
disabled={false}
name="react-swipeable-button"
/>
buttonReset
and buttonComplete
methodsimport { useRef } from "react";
import { SwipeableButton } from "react-swipeable-button";
function App() {
const swipeableButtonRef = useRef<SwipeableButton | null>(null); // Create a ref for the component
const handleReset = () => {
swipeableButtonRef.current?.buttonReset(); // Call the reset method
};
const handleComplete = () => {
swipeableButtonRef.current?.buttonComplete(); // Call the complete method
};
return (
<SwipeableButton
text="Swipe me!"
text_unlocked="yeee"
color="16362d"
sliderTextColor="#fff"
sliderIconColor="#fff"
background_color="#eee"
circle
name="react-swipeable-button"
ref={swipeableButtonRef} // Expose the ref to the component
/>
//example usage of the reset and complete methods
<button onClick={handleReset}>Reset</button>
<button onClick={handleComplete}>Complete</button>
</div>
);
}
export default App;
<SwipeableButton
text="A long text that doesn't fit in the middle" //long text
width={500} // increase the width (default is 300)
...otherProps
/>
buttonChildren
and buttonChildrenUnlocked
props can be an alternative too though it needs more work ; check props section for more detailsProp | Type | Default | Description |
---|---|---|---|
name | String | "react-swipeable-button" | Unique ID, in case of using several components on one page |
buttonChildren | ReactNode | None | We can pass any react component as children to the button instead of text |
buttonChildrenUnlocked | ReactNode | None | We can pass any react component as children to the button instead of text_unlocked when the button is unlocked (buttonChildren is mandatory when buttonChildrenUnlocked is passed) |
text | String | "SWIPE" | The text that will be displayed on the swipe button (will be overridden by buttonChildren) |
text_unlocked | String | "UNLOCKED!" | The text that will displayed if swiping is successful (will be overridden by buttonChildrenUnlocked) |
color (Depricated) | String | "#333" | Depricated, use sliderColor instead |
sliderColor | String | "#16362d" | The color of the slider |
sliderTextColor | String | "#fff" | The color of the Slider Text |
textColor | String | "#000" | The color of the Text (without slider) |
sliderIconColor | String | "#fff" | The color of the icon |
background_color | String | "#eee" | The background color of the container |
borderRadius | Number | 30 | The border radius of the container lets you control the roundness of the corners (ignored if circle is false) |
noAnimate | Boolean | false | Disable animation |
width | Number | 300 | Width of element (ignored if autoWidth is true) |
height | Number | 50 | Height of element |
autoWidth | Boolean | false | takes 100% width of parent div |
circle | Boolean | true | All parts of component will be with border-radius and rounded handler |
disabled | Boolean | false | Disable interaction with component |
onSuccess | Function (optional) | null | The function that will be called when a swipe is successful |
onFailure | Function (optional) | null | The function that will be called when a swipe is failed |
Contributing on this project is always welcome! Just fork, update, push to your respective branch and make a pull request after testing. Make sure to open an issue before contribute.
MIT © Abdur Rahman
FAQs
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.