@chakra-ui/accordion

A simple and accessible accordion component for React & Chakra UI

@chakra-ui/accordion downloads @chakra-ui/accordion version @chakra-ui/accordion license

@chakra-ui/accordionPackages similaires:
Tendance de téléchargements npm
3 Ans
🌟 Affichez le graphique d'utilisation en temps réel sur le README.md de @chakra-ui/accordion, il suffit de copier le code ci-dessous.
## Usage Trend
[![Usage Trend of @chakra-ui/accordion](https://npm-compare.com/img/npm-trend/THREE_YEARS/@chakra-ui/accordion.png)](https://npm-compare.com/@chakra-ui/accordion#timeRange=THREE_YEARS)
Cumulative GitHub Star Trend
🌟 Affichez le graphique de tendance des GitHub Stars sur le README.md de @chakra-ui/accordion, il suffit de copier le code ci-dessous.
## GitHub Stars Trend
[![GitHub Stars Trend of @chakra-ui/accordion](https://npm-compare.com/img/github-trend/@chakra-ui/accordion.png)](https://npm-compare.com/@chakra-ui/accordion)
Détail des statistiques
Package
Téléchargements
Stars
Taille
Issues
Publication
Licence
@chakra-ui/accordion361,50239,909240 kB14il y a 2 ansMIT
README pour @chakra-ui/accordion

@chakra-ui/accordion

An accordion is a vertically stacked set of interactive headings that each contain a title or content snippet representing a section of content.

The headings function as controls that enable users to reveal or hide their associated sections of content.

Installation

yarn add @chakra-ui/accordion

# or

npm i @chakra-ui/accordion

Import Components

import {
  Accordion,
  AccordionItem,
  AccordionButton,
  AccordionPanel,
} from "@chakra-ui/accordion"

Component:

  • Accordion: manages the global state of all opened accordion items via context.
  • AccordionItem: manages the state for a single accordion item.
  • AccordionButton: the trigger to open/close an accordion item.
  • AccordionPanel: the main content area for the accordion item.

Usage

By default, only one accordion can be visible at a time, and it can't be toggled.

Note 🚨: Each accordion button must be wrapped in a heading tag, that is appropriate for the information architecture of the page.

<Accordion>
  <AccordionItem>
    <h2>
      <AccordionButton>Section 1 title</AccordionButton>
    </h2>
    <AccordionPanel>Panel 1</AccordionPanel>
  </AccordionItem>

  <AccordionItem>
    <h2>
      <AccordionButton>Section 2 title</AccordionButton>
    </h2>
    <AccordionPanel>Panel 2</AccordionPanel>
  </AccordionItem>
</Accordion>

To make each accordion toggle (expand/collapse) on click, pass the allowToggle prop.

<Accordion allowToggle>
  <AccordionItem>
    <AccordionButton>
      <chakra.div flex="1" textAlign="left">
        Section 1 title
      </chakra.div>
      <AccordionIcon />
    </AccordionButton>
    <AccordionPanel pb={4}>Panel 1</AccordionPanel>
  </AccordionItem>

  <AccordionItem>
    <AccordionButton>
      <chakra.div flex="1" textAlign="left">
        Section 2 title
      </chakra.div>
      <AccordionIcon />
    </AccordionButton>
    <AccordionPanel pb={4}>Panel 2</AccordionPanel>
  </AccordionItem>
</Accordion>

To allow multiple accordions to be visible at a time, pass the allowMultiple prop.

<Accordion allowMultiple>
  <AccordionItem>
    <AccordionButton>
      <chakra.div flex="1" textAlign="left">
        Section 1 title
      </chakra.div>
      <AccordionIcon />
    </AccordionButton>
    <AccordionPanel pb={4}>Panel 1</AccordionPanel>
  </AccordionItem>

  <AccordionItem>
    <AccordionButton>
      <chakra.div flex="1" textAlign="left">
        Section 2 title
      </chakra.div>
      <AccordionIcon />
    </AccordionButton>
    <AccordionPanel pb={4}>Panel 2</AccordionPanel>
  </AccordionItem>
</Accordion>

References:

https://www.w3.org/TR/wai-aria-practices/examples/accordion/accordion.html https://inclusive-components.design/collapsible-sections/ https://github.com/stereobooster/react-accessible-accordion https://jqueryui.com/accordion/