Skip to content

A lightweight and easy to use package that lets you encapsulate a view inside an accordion that's expandable and collapsable

License

Notifications You must be signed in to change notification settings

amareque/react-native-simple-accordion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple Accordion Gif

React Native Simple Accordion

React Native Simple Accordion is a lightweight and easy to use package that lets you encapsulate a view inside an accordion that's expandable and collapsable

npm

GitHub Repo stars

Features ✨

  • Fast.
  • Lightweight.
  • Easy to use.
  • Highly customizable.

Install 🧰

You can install react-native-simple-accordion by running the following command

npm install react-native-simple-accordion

Usage 💡

  1. Add the following import statement
import { SimpleAccordion } from 'react-native-simple-accordion';
  1. Add the Simple Accordion Component
<SimpleAccordion viewInside={<View/>} title={"My Accordion Title"}/>
  1. Replace the for whatever view you want to display inside the accordion.

  2. Customize your accordion with the customization options.


Necessary Attributes ⚠️

Attribute Description Type
viewInside The view that goes inside of the accordion JSX.Element

Customizable Attributes 🕹️

Attribute Description Type Default Value
title The accordions title string ""
startCollapsed Defines if the accordion starts collapsed or expanded boolean true
showContentInsideOfCard Defines if the accordion shows it's content inside a card or not boolean true
showArrows Defines if the accordion shows arrows at it's right side boolean true
viewContainerStyle The style of the container of viewInside attribute StyleProp<ViewStyle>
{
   padding: 8,
   backgroundColor: '#FFFFFF'
}
bannerStyle The style of the banner StyleProp<ViewStyle>
{
     height: 60,
     flexDirection: "row",
     backgroundColor: "#E9E9E9",
     padding: 16,
     alignItems: "center"
 }
titleStyle The style of the title StyleProp<TextStyle>
{
   flex: 1
}
arrowColor The tint color of the arrows string "#000000"

Try it yourself 📱

Try it on your device, by scanning this QR on the Expo Go app:

Expo QR

(QR not showing? Visit the Expo Project Page)

or simply try this Snack from your browser!

Examples 📝

With view =

<View>
  <Text>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum congue lacus ligula, at auctor felis ultrices at. Nullam porta metus nec odio fringilla fringilla. Nullam eget scelerisque metus. Nunc nec leo porta, pulvinar elit non, sagittis ipsum. Maecenas vel sem vel ipsum aliquet pharetra non eget neque. Cras vitae pulvinar purus, sed dictum augue. Proin mauris risus, dignissim a placerat ut, porta id lorem. Ut sit amet sapien nec metus porta dictum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas sit amet augue vestibulum, imperdiet massa vitae, mollis diam. Suspendisse dictum suscipit metus, et hendrerit orci. Integer id posuere velit. Ut aliquam auctor augue egestas tincidunt. Nulla tempus cursus sapien.</Text>
</View>

Simple Accordion Gif

Simple accordion

<SimpleAccordion viewInside={view} title={"Simple Accordion"}/>

Simple Accordion Gif

No Card accordion

<SimpleAccordion viewInside={view} title={"No Card Accordion"} showContentInsideOfCard={false} viewContainerStyle={{backgroundColor: "#E0E0E0"}}/>

Simple Accordion Gif

Custom Style accordion

<SimpleAccordion viewInside={view} title={"Custom Style Accordion"} titleStyle={{fontStyle: "italic", color: "#FFFFFF", textDecorationLine: "underline"}} bannerStyle={{backgroundColor: "#7CA5B8"}} viewContainerStyle={{backgroundColor: "#C6EBBE"}}/>

Simple Accordion Gif

No Arrow accordion

<SimpleAccordion viewInside={view} title={"No Arrows Accordion"} showArrows={false}/>

Simple Accordion Gif

Custom Arrow Color Accordion

<SimpleAccordion viewInside={view} title={"Custom Arrow Color Accordion"} />

Simple Accordion Gif

With view (with button) =

<View>
  <Text>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum congue lacus ligula, at auctor felis ultrices at. Nullam porta metus nec odio fringilla fringilla. Nullam eget scelerisque metus. Nunc nec leo porta, pulvinar elit non, sagittis ipsum. Maecenas vel sem vel ipsum aliquet pharetra non eget neque. Cras vitae pulvinar purus, sed dictum augue. Proin mauris risus, dignissim a placerat ut, porta id lorem. Ut sit amet sapien nec metus porta dictum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas sit amet augue vestibulum, imperdiet massa vitae, mollis diam. Suspendisse dictum suscipit metus, et hendrerit orci. Integer id posuere velit. Ut aliquam auctor augue egestas tincidunt. Nulla tempus cursus sapien.</Text>
  <Button title={"Test Button"} onPress={() => Alert.alert("Test button clicked")}/>
</View>
<SimpleAccordion viewInside={viewWithButton} title={"Simple Accordion With Button"}/>

Contributing 🍰

This is my first publicly available package so until I figure out some guidelines and tools to work with others I won't be looking at forks and pull requests. If you want me to improve this package, feel free to reach out to me and I'll gladly update it.


Maintainers 👷

amareque photo
Agustin Mareque


License ⚖️

MIT

About

A lightweight and easy to use package that lets you encapsulate a view inside an accordion that's expandable and collapsable

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published