1.0.3 • Published 9 months ago

react-native-smooth-drop-down v1.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

react-native-smooth-drop-down

A simple and smooth dropdown component for React Native, designed to provide a user-friendly experience with customizable options.

Features

  • Smooth dropdown animations using react-native-reanimated
  • Customizable styles for dropdown and its items
  • Easy integration with React Native projects
  • Supports flexible data formats for dropdown options

Installation

To install this package, use npm or yarn:

Using npm:

npm install react-native-smooth-drop-down

yarn add react-native-smooth-drop-down


--Peer Dependencies:
Ensure you have react-native-reanimated installed in your project as it is required for animations. 

-- npm install react-native-reanimated



** ==================================================USAGE=========================================================================

import React, { useState } from 'react';
import { View } from 'react-native';
import DropDown from 'react-native-muneeb-wali-khan-smooth-drop-down';

const App = () => {
  const [selectedValue, setSelectedValue] = useState(null);

  const data = [
    { label: 'Option 1', value: '1' },
    { label: 'Option 2', value: '2' },
    { label: 'Option 3', value: '3' },
  ];

  return (
    <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
      <DropDown
        items={data}
        onSelect={item => setSelectedValue(item.value)}
        placeholder="Select an option"
        selectedValue={selectedValue}
      />
    </View>
  );
};

export default App;

** ====================================================================Props==================================================

**Props

| Prop              | Type   | Description                                             | Default                   |
|-------------------|--------|---------------------------------------------------------|---------------------------|
| `items`           | array  | An array of objects representing dropdown items         | `[]`                      |
| `onSelect`        | func   | Callback function when an item is selected             | `() => {}` (no-op function) |
| `placeholder`     | string | Placeholder text shown when no item is selected        | `"Select an option"`      |
| `selectedValue`   | any    | The currently selected value                            | `null`                    |
| `dropdownStyle`   | object | Custom styles for the dropdown container                | `{}`                      |
| `placeholderStyle`| object | Custom styles for the placeholder text                  | `{}`                      |
| `itemStyle`       | object | Custom styles for individual items                      | `{}`                      |
| `itemTextStyle`   | object | Custom styles for item text                             | `{}`                      |
| `maxHeight`       | number | Maximum height for the dropdown menu (scrollable)      | `200`                     |


** ===============================================================Customizations===============================================


<DropDown
  items={data}
  onSelect={item => setSelectedValue(item.value)}
  placeholder="Choose an option"
  selectedValue={selectedValue}
  dropdownStyle={{ backgroundColor: '#f0f0f0' }}
  placeholderStyle={{ color: '#333' }}
  itemStyle={{ padding: 10, backgroundColor: '#e0e0e0' }}
  itemTextStyle={{ fontSize: 16, color: '#000' }}
  maxHeight = {200}
/>



**License:

This package is licensed under the MIT License. See the LICENSE file for more information.



**Author:

Created by Muneeb Wali Khan.