React Accordion

An unstyled, accessible accordion library for React apps and design systems

README

React-Accordion


An unstyled, accessible accordion library for React apps and design systems.



Features


- Unstyled React accordion components
- React hooks for Headless usage
- Keyborad navigable
- Support animation
- Can be controlled or uncontrolled
- Control to expand/collapse specific item or all items
- Level 3 support of React 18 concurrent rendering
- Support server-side rendering
- Small and tree-shakable (~3kB)
- Strongly typed API with TypeScript

react accordion

Install


with npm

  1. ```bash
  2. npm install @szhsin/react-accordion
  3. ```

or with Yarn

  1. ```bash
  2. yarn add @szhsin/react-accordion
  3. ```

Usage


  1. ```jsx
  2. import { Accordion, AccordionItem } from '@szhsin/react-accordion';

  3. export default function Example() {
  4.   return (
  5.     <Accordion>
  6.       <AccordionItem header="What is Lorem Ipsum?">
  7.         Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
  8.         do eiusmod tempor incididunt ut labore et dolore magna aliqua.
  9.       </AccordionItem>

  10.       <AccordionItem header="Where does it come from?">
  11.         Quisque eget luctus mi, vehicula mollis lorem. Proin fringilla
  12.         vel erat quis sodales. Nam ex enim, eleifend venenatis lectus
  13.         vitae, accumsan auctor mi.
  14.       </AccordionItem>

  15.       <AccordionItem header="Why do we use it?">
  16.         Suspendisse massa risus, pretium id interdum in, dictum sit
  17.         amet ante. Fusce vulputate purus sed tempus feugiat.
  18.       </AccordionItem>
  19.     </Accordion>
  20.   );
  21. }
  22. ```

**[Edit on CodeSandbox](https://codesandbox.io/s/react-accordion-css-module-eqvnzg)**
**[Visit more examples and docs](https://szhsin.github.io/react-accordion/)**


License


MIT Licensed.