Accordion
Accordion is an interactive element that works alongside Accordion Item to organise and display content in a collapsible and expandable way.
import '@vonage/vivid/accordion';
import '@vonage/vivid/accordion-item';
or, if you need to use a unique prefix:
import { registerAccordion } from '@vonage/vivid';
import { registerAccordionItem } from '@vonage/vivid';
registerAccordion('your-prefix');
registerAccordionItem('your-prefix');
<script setup lang="ts">
import { VAccordion } from '@vonage/vivid-vue';
import { VAccordionItem } from '@vonage/vivid-vue';
</script>
<template>
<VTextAccordion>
<VTextAccordionItem heading="Accordion item 1">
This is the first item's accordion body.
</VTextAccordionItem>
<VTextAccordionItem heading="Accordion item 2">
This is the second item's accordion body.
</VTextAccordionItem>
</VTextAccordion>
</template>
Use the heading-level
to set level of the Accordion Item's headline element to ensure accessible heading levels.
Use the closeAll
method on Accordion to programatically close all open Accordion Item's.
The HTML specification does not allow one interactive element to be nested within another. Therefore, you should not use any links or buttons inside heading
or meta
slots.
Use the heading
slot to add custom content to the Accordion Item's heading, allowing you to apply custom formatting.
If set, the heading
attribute is ignored.
Set the meta
slot to add additional content to the accordion item's heading.
If set, the meta
attribute is ignored.
Use the --accordion-item-meta-inline-size
to control the width of the meta-data
slot content.
- Default:
20%
Properties
Name | Type | Description |
---|---|---|
expand-mode | single (default), multi |
Determines if multiple items or a single item can opened at once |
Methods
Name | Returns | Description |
---|---|---|
closeAll | void |
When expand-mode is set to multi , closes all the accordion items from the open state. |
Properties
Name | Type | Description |
---|---|---|
heading | string |
Sets the text for the heading |
heading-level | 1 , 2 (default), 3 , 4 , 5 , 6 |
Determines the heading level |
(deprecated as of 05/25) icon |
Enum: [icon-name] |
A decorative icon the custom element should have. See the Vivid Icon Gallery for available icons and icon-names |
expanded | boolean |
Sets the open state |
meta | string |
Sets the meta text for the heading |
no-indicator | boolean |
Hides the open state indicator icon (chevron) |
size | normal (default), condensed |
Sets the size |
appearance | ghost (default), filled , ghost-light |
Controls the appearance |
Slots
Name | Description |
---|---|
icon | Add an icon to the component |
Events
Name | Type | Bubbles | Composed | Description |
---|---|---|---|---|
change | CustomEvent<undefined> |
Yes | Yes | Fires a custom 'change' event when the button is invoked |