Gathering detailed insights and metrics for pascal-react-native-bouncy-checkbox
Gathering detailed insights and metrics for pascal-react-native-bouncy-checkbox
Gathering detailed insights and metrics for pascal-react-native-bouncy-checkbox
Gathering detailed insights and metrics for pascal-react-native-bouncy-checkbox
Fully customizable animated bouncy checkbox for React Native
npm install pascal-react-native-bouncy-checkbox
Typescript
Module System
Node Version
NPM Version
TypeScript (29.94%)
Java (24.91%)
C++ (11.62%)
Objective-C++ (8.35%)
Objective-C (7.45%)
JavaScript (7.16%)
Ruby (4.92%)
Kotlin (3.99%)
Starlark (0.96%)
CMake (0.44%)
Shell (0.25%)
Total Downloads
0
Last Day
0
Last Week
0
Last Month
0
Last Year
0
MIT License
852 Stars
1,073 Commits
59 Forks
6 Watchers
8 Branches
8 Contributors
Updated on Jul 14, 2025
Latest Version
2.1.10
Package Id
pascal-react-native-bouncy-checkbox@2.1.10
Unpacked Size
57.02 kB
Size
13.12 kB
File Count
30
NPM Version
8.3.1
Node Version
16.14.0
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
![]() |
![]() |
Add the dependency:
Zero Dependency
1npm i react-native-bouncy-checkbox
iconStyle
bounceEffect
bounceFriction
textComponent
1import BouncyCheckbox from "react-native-bouncy-checkbox";
1<BouncyCheckbox onPress={(isChecked: boolean) => {}} />
1<BouncyCheckbox 2 size={25} 3 fillColor="red" 4 unfillColor="#FFFFFF" 5 text="Custom Checkbox" 6 iconStyle={{ borderColor: "red" }} 7 textStyle={{ fontFamily: "JosefinSans-Regular" }} 8 onPress={(isChecked: boolean) => {}} 9/>
Property | Type | Default | Description |
---|---|---|---|
text | string | undefined | set the checkbox's text |
textComponent | component | undefined | set the checkbox's text by a React Component |
onPress | function | null | set your own onPress functionality after the bounce effect, callback receives the next isChecked boolean if disableBuiltInState is false |
disableText | boolean | false | if you want to use checkbox without text, you can enable it |
size | number | 25 | size of width and height of the checkbox |
style | style | default | set/override the container style |
textStyle | style | default | set/override the text style |
iconStyle | style | default | set/override the icon style |
isChecked | boolean | false | set the default checkbox value |
fillColor | color | #f09f48 | change the checkbox's filled color |
unfillColor | color | transparent | change the checkbox's un-filled color when it's not checked |
useNativeDriver | boolean | true | enable/disable the useNativeDriver for animation |
iconComponent | component | Icon | set your own icon component |
checkIconImageSource | image | default | set your own check icon image |
ImageComponent | component | Image | set your own Image component instead of RN's default Image |
bounceEffect | number | 1 | change the bounce effect |
bounceFriction | number | 3 | change the bounce friction |
disableBuiltInState | boolean | false | if you want to manually handle the isChecked prop and disable built in handling |
textContainerStyle | ViewStyle | default | set/override the text container style |
TouchableComponent | Component | TouchableOpacity | set/override the main TouchableOpacity component with any Touchable Component like Pressable |
Please check the example-manual-state
runable project to how to make it work on a real project.
Becareful while using disableBuiltInState
you MUST set the isChecked
prop to use your own check state manually. The onPress
callback will NOT receive the next isChecked
when disableBuiltInState
is used.
Here is the basic implementation:
1import React from "react"; 2import { 3 SafeAreaView, 4 StyleSheet, 5 Text, 6 TouchableOpacity, 7 View, 8} from "react-native"; 9import BouncyCheckbox from "./lib/BouncyCheckbox"; 10import RNBounceable from "@freakycoder/react-native-bounceable"; 11 12const App = () => { 13 let bouncyCheckboxRef: BouncyCheckbox | null = null; 14 const [checkboxState, setCheckboxState] = React.useState(false); 15 16 return ( 17 <SafeAreaView 18 style={{ 19 flex: 1, 20 alignItems: "center", 21 justifyContent: "center", 22 }} 23 > 24 <View 25 style={{ 26 height: 30, 27 width: 150, 28 alignItems: "center", 29 justifyContent: "center", 30 borderRadius: 12, 31 backgroundColor: checkboxState ? "#34eb83" : "#eb4034", 32 }} 33 > 34 <Text 35 style={{ color: "#fff" }} 36 >{`Check Status: ${checkboxState.toString()}`}</Text> 37 </View> 38 <BouncyCheckbox 39 style={{ marginTop: 16 }} 40 ref={(ref: any) => (bouncyCheckboxRef = ref)} 41 isChecked={checkboxState} 42 text="Synthetic Checkbox" 43 disableBuiltInState 44 onPress={() => setCheckboxState(!checkboxState)} 45 /> 46 <RNBounceable 47 style={{ 48 marginTop: 16, 49 height: 50, 50 width: "90%", 51 backgroundColor: "#ffc484", 52 borderRadius: 12, 53 alignItems: "center", 54 justifyContent: "center", 55 }} 56 onPress={() => bouncyCheckboxRef?.onPress()} 57 > 58 <Text style={{ color: "#fff" }}>Synthetic Checkbox Press</Text> 59 </RNBounceable> 60 </SafeAreaView> 61 ); 62}; 63 64const styles = StyleSheet.create({}); 65 66export default App;
We have also this library's checkbox group library as well :) Please take a look
How to disable strikethrough?
textStyle
prop and set the textDecorationLine
to none
1textStyle={{ 2 textDecorationLine: "none", 3}}
How to make square checkbox?
iconStyle
prop and set the borderRadius
to 0
1iconStyle={{ 2 borderRadius: 0, // to make it a little round increase the value accordingly 3}}
FreakyCoder, kurayogun@gmail.com
React Native Bouncy Checkbox is available under the MIT license. See the LICENSE file for more info.
No vulnerabilities found.
Reason
30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10
Reason
license file detected
Details
Reason
binaries present in source code
Details
Reason
Found 0/1 approved changesets -- score normalized to 0
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
Reason
project is not fuzzed
Details
Reason
branch protection not enabled on development/release branches
Details
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
Reason
23 existing vulnerabilities detected
Details
Score
Last Scanned on 2025-07-07
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More