Skip to content

🏞 react-native-multiple-image-picker enables applications to pick images and videos from multiple smart albums in iOS/Android

License

Notifications You must be signed in to change notification settings

baronha/react-native-multiple-image-picker

Repository files navigation

Logo

iOS Android Swift Kotlin React-Native

Overview πŸŽ‡

ImagePicker.mp4

React Native Multiple Image Picker (RNMIP) enables application to pick images and videos from multiple smart album in iOS/Android. React Native Multiple Image Picker is based on two libraries available, HXPhotoPicker and PictureSelector

Documentation πŸ“š

Features πŸ”₯

🀩 Logo
πŸ• Crop single/multiple image.
πŸŽ‘ Preview image/video.
πŸ“Έ Camera module for capturing photos and recording videos.
🐳 Keep the previous selection.
0️⃣ Selected order index.
🎨 UI Customization (numberOfColumn, spacing, primaryColor ... )
🌚 Dark Mode, Light Mode
πŸŒ„ Choose multiple images/video.
πŸ“¦ Support smart album (camera roll, selfies, panoramas, favorites, videos...).
πŸ“Ί Display video duration.
⛅️ Support iCloud Photo Library.
πŸŒͺ Scrolling performance. β˜•οΈ

Requirements

Because RNMIP uses Nitro Module, it complies with Nitro Modules' requirements. View Nitro Modules' requirements here

  • Xcode 16+
  • iOS 13+
  • react-native 0.75+
  • compileSdkVersion 34+

Installation

See more Installation

Usage

Here is a simple usage of the Multiple Image Picker.
See more Config

import { openPicker, Config } from '@baronha/react-native-multiple-image-picker'

const config: Config = {
  maxSelect: 10,
  maxVideo: 10,
  primaryColor: '#FB9300',
  backgroundDark: '#2f2f2f',
  numberOfColumn: 4,
  mediaType: 'all',
  selectBoxStyle: 'number',
  selectMode: 'multiple',
  language: 'vi', // πŸ‡»πŸ‡³ Vietnamese
  theme: 'dark',
  isHiddenOriginalButton: false,
  primaryColor: '#F6B35D',
}

const onPicker = async () => {
  try {
    const response = await openPicker(config)
    setImages(response)
  } catch (e) {
    // catch error for multiple image picker
  }
}

To Do

  • Crop Image in iOS.
  • Preview Controller for iOS.
  • Handle Permission when limited on iOS.
  • Migrating Library to the New Architecture.
  • Multiple Crop Image.
  • Multiple Preview Image.
  • Dynamic Theme.
  • Dynamic Language
  • Open Crop Controller.
  • Open Preview Controller.
  • Open Camera Controller.

Sponsor & Support β˜•οΈ

BuyMeACoffee Kofi

To keep this library maintained and up-to-date please consider sponsoring it on GitHub. Or if you are looking for a private support or help in customizing the experience, then reach out to me on Twitter @_baronha.
Besides, I also built a product using HXPhotoPicker here, Hope you support:

Built With ❀️

NitroModules
HXPhotoPicker
PictureSelector

Star History

Star History Chart

Showcase ✨

List of used applications with @baronha/react-native-multiple-image-picker

Contributions are welcome! If you have an application that uses @baronha/react-native-multiple-image-picker, please open a pull request to add it to the list.

See all Showcase

Performance

We're trying to improve performance. If you have a better solution, please open a issue or pull request. Best regards!

License

MIT
TLPhotoPicker
PictureSelector