Accordion

@sgroup/accordion

Show and hide content in collapsable containers.

Accordion

Installation

To get started, install @sgroup/accordion via npm:

npm install @sgroup/accordion

Basic example

Accordions are built using the Accordion, AccordionItem, AccordionButton and AccordionPanel components.

WARNING

Ensure you change the components definition to include Sui as a prefix, as some component names conflict with native HTML element names and will not work.

<template>
    <sui-accordion>
        <sui-accordion-item>
            <sui-accordion-button>Item</sui-accordion-button>
            
            <sui-accordion-panel>
                <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Sequi rerum
                blanditiis, et ex maxime quod repudiandae eveniet unde repellendus
                magnam? Debitis commodi culpa ab. Incidunt explicabo animi
                exercitationem impedit hic?</p>
            </sui-accordion-panel>
        </sui-accordion-item>
    </sui-accordion>
</template>

<script>
import { Accordion, AccordionItem, AccordionButton, AccordionPanel } from '@sgroup/accordion';

export default {
    components: {
        SuiAccordion: Accordion,
        SuiAccordionItem: AccordionItem,
        SuiAccordionButton: AccordionButton,
        SuiAccordionPanel: AccordionPanel,
    },
};

</script>

Component API

Accordion

The main Accordion component.

PropTypeDefaultDescription
tagNameStringdivThe element the Accordion should render as.

AccordionItem

An individual, collapsable item in the Accordion.

PropTypeDefaultDescription
tagNameStringdivThe element the AccordionItem should render as.
Slot PropTypeDescription
activeBooleanWhether or not the accordion item is open.

AccordionButton

The trigger component that toggles an AccordionItem.

PropTypeDefaultDescription
tagNameStringbuttonThe element the AccordionButton should render as.

AccordionPanel

This component contains the contents of your AccordionItem.

PropTypeDefaultDescription
tagNameStringsectionThe element the AccordionItem should render as.