All Projects → WrathChaos → react-native-single-select

WrathChaos / react-native-single-select

Licence: other
Customizable & Easy to Use Single Select Library for React Native

Programming Languages

typescript
32286 projects
java
68154 projects - #9 most used programming language
objective c
16641 projects - #2 most used programming language
javascript
184084 projects - #8 most used programming language
ruby
36898 projects - #4 most used programming language
Starlark
911 projects

Projects that are alternatives of or similar to react-native-single-select

Mac Setup
🛠️ Front end web development setup for macOS.
Stars: ✭ 265 (+258.11%)
Mutual labels:  front-end, apple
Calculatorapp
scientific calculator basic calculator and unit converter android app
Stars: ✭ 119 (+60.81%)
Mutual labels:  application, mobile-app
musicont
React Native & Expo music player application UI
Stars: ✭ 72 (-2.7%)
Mutual labels:  application, mobile-app
react-native-imaged-carousel-card
Fully customizable & Lovely Imaged Carousel Card for React Native
Stars: ✭ 70 (-5.41%)
Mutual labels:  front-end, apple
Open-Mam
Open Source Mobile Application Management (WORK IN PROGRESS)
Stars: ✭ 28 (-62.16%)
Mutual labels:  application, apple
react-native-bounceable
Animate and bounce any component with RNBounceable for React Native
Stars: ✭ 26 (-64.86%)
Mutual labels:  front-end, apple
Beagle Im
XMPP client for macOS based on TigaseSwift XMPP library
Stars: ✭ 86 (+16.22%)
Mutual labels:  application, apple
React Native Bubble Select
An easy-to-use customizable bubble animation picker, similar to the Apple Music genre selection
Stars: ✭ 78 (+5.41%)
Mutual labels:  apple, picker
Random-Name-Picker
Simple, beautiful Android app to help you choose from a list of names at random. Downloaded 560,000+ times on Google Play with a 4.5+ rating after 3,500+ reviews.
Stars: ✭ 37 (-50%)
Mutual labels:  application, picker
Swiftvalidators
String (and more) validation for iOS
Stars: ✭ 226 (+205.41%)
Mutual labels:  application, apple
react-native-header-search-bar
Fully customizable header search bar for React Native
Stars: ✭ 101 (+36.49%)
Mutual labels:  front-end, apple
Manji
Manji is a mobile application built to help people learning Japanese learn about Kanji.
Stars: ✭ 142 (+91.89%)
Mutual labels:  application, mobile-app
Unofficial Itc
iTunes Connect manager app for iOS.
Stars: ✭ 119 (+60.81%)
Mutual labels:  apple, mobile-app
react-native-permissions-modal
Awesome & Fully Customizable Permissions Modal for React Native
Stars: ✭ 26 (-64.86%)
Mutual labels:  front-end, apple
Magnetic
SpriteKit Floating Bubble Picker (inspired by Apple Music) 🧲
Stars: ✭ 1,252 (+1591.89%)
Mutual labels:  apple, picker
Ionic-ElastiChat-with-Images
Ionic Magic Chat with Angular Elastic, Autolinker.js and more!
Stars: ✭ 66 (-10.81%)
Mutual labels:  application, mobile-app
MTJailed-Native
A terminal emulator with remote shell for non-jailbroken iOS devices
Stars: ✭ 24 (-67.57%)
Mutual labels:  apple, mobile-app
Flappy Fly Bird
🐦 Flappy Bird reincarnation [Swift 5.3, GameplayKit, SpriteKit, iOS 12].
Stars: ✭ 150 (+102.7%)
Mutual labels:  application, apple
react-native-animated-radio-button
Fully customizable animated radio button for React Native
Stars: ✭ 25 (-66.22%)
Mutual labels:  front-end, mobile-app
Mojave-Dynamic-Wallpaper
Automatic Changing Mojave Wallpaper
Stars: ✭ 15 (-79.73%)
Mutual labels:  application, apple

React Native Single Select

Battle Tested ✅

Customizable & Easy to Use Single Select Library for React Native

npm version npm Platform - Android and iOS License: MIT styled with prettier

Dark Theme Light Theme
React Native Internet Connection Alert React Native Internet Connection Alert

Installation

Add the dependency:

npm i @freakycoder/react-native-single-select
npx pod-install // After Install the `react-native-spinkit`

Peer Dependency

You need to install this dependency

"react-native-spinkit": "^1.5.1"

Features

  • Light Mode ☀️
  • Dark Mode 🌙
  • TextInput 💬
  • Fully Animated Functionality 😍
  • Built-in Search Filter 🎊
  • Image Feature 💪
  • Custom Image Component Support 😋
  • Custom Text Component Support 😋
  • Many More...

Usage

Import

import RNSingleSelect, {
  ISingleSelectDataType,
} from "@freakycoder/react-native-single-select";

Fundamental Usage

<RNSingleSelect
  data={staticData}
  darkMode
  onSelect={(selectedItem: ISingleSelectDataType) =>
    console.log("SelectedItem: ", selectedItem)
  }
/>

Menu Item Format

You must use this format for generating menu bar item.

const staticData: Array<ISingleSelectDataType> = [
  { id: 0, value: "Euismod Justo" },
  { id: 1, value: "Risus Venenatis" },
  { id: 2, value: "Vestibulum Ullamcorper" },
  { id: 3, value: "Lorem Nibh" },
  { id: 4, value: "Ligula Amet" },
];

OR with ImageSource

const staticData: Array<ISingleSelectDataType> = [
  { id: 0, value: "Euismod Justo", imageSource: require("./assets/..") },
  { id: 1, value: "Risus Venenatis", imageSource: { uri: "...url" } },
  { id: 1, value: "Risus Venenatis", imageSource: null },
];

Also, here is the interface of ISingleSelectDataType:

export interface ISingleSelectDataType {
  id: number;
  value: string;
  imageSource?: any;
  data?: any;
}

Configuration - Props

Property Type Default Description
onSelect function undefined set the selection function when a menu item is selected
data Array undefined set the menu item data array for generating menu bar items
width number 250 change the width of the component
height number 50 change the height of the main single select button
darkMode boolean false change the theme of the component to dark theme
placeholder string "Select" change the placeholder of the single select component
imageHeight number 25 change the image source's menu item's image height
imageWidth number 25 change the image source's menu item's image width
ImageComponent component Image set your own custom Image component instead of default Image one
TextComponent component Text set your own custom Text component instead of default Text one
buttonContainerStyle ViewStyle default change/override the top of the single select button (the main one)
menuBarContainerStyle ViewStyle default change/override the top of the single select bottom menu bar
arrowImageStyle ImageStyle default change/override the top of the arrow image's style
menuItemTextStyle TextStyle default change/override the top of the each menu bar's item text style
disableAbsolute boolean false if you do not want to use the library without absolute to fix bottom menubar's overlaps simply make it true
menuBarContainerWidth number 250 change the bottom menu bar's width
menuBarContainerHeight number 150 change the bottom menu bar's height
disableFilterAnimation boolean false disable the filter animation for huge lists (especially on Android)
onTextChange function undefined handle the onTextChange function
placeholderTextStyle style default extends or override the default placeholder's text style
placeholderTextColor color default change the placeholder's text color
spinnerType string "ThreeBounce" change the spinner type
spinnerSize number 30 change the spinner size
spinnerColor color default change the spinner color
initialValue ISingleSelectDataType null change the initial selected item
searchEnabled boolean true change search inputs readonly state
value string undefined set the text input value

List of available types for Spinner

  • CircleFlip
  • Bounce
  • Wave
  • WanderingCubes
  • Pulse
  • ChasingDots
  • ThreeBounce
  • Circle
  • 9CubeGrid
  • WordPress (IOS only)
  • FadingCircle
  • FadingCircleAlt
  • Arc (IOS only)
  • ArcAlt (IOS only)

Future Plans

  • LICENSE
  • Search Feature
  • Image Feature
  • Customizable Image Component
  • Customizable Text Component
  • Dark Theme / Light Theme Options
  • More Customization for Colors
  • Built-in Spinner
  • Remove the react-native-spinkit and use react-native-animated-spinkit instead
  • Customizable Animations
  • Write an article about the lib on Medium

Credits

Heavily Inspired by Manuel Rovira Dribbble

Author

FreakyCoder, [email protected]

License

React Native Single Select is available under the MIT license. See the LICENSE file for more info.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].