Skip to content
Velkin LogoVelkin Logo
Velkin
VELKIN/UI

Modern UI components for product teams and their AI agents. Lit core, typed wrappers, live MCP.

sales@velkinui.com

Product

  • Docs
  • Components
  • Studio
  • Pricing

Resources

  • Quick start
  • Blog
  • Changelog
  • Roadmap
  • Status

Project

  • About
  • Contact
  • License
  • Privacy
  • Terms

© 2026 Velkin. MIT core · Pro licenses available.

VELKIN

Accordion

An accordion component for expandable sections with keyboard navigation.

vu-accordion · @velkin/react/accordion

Copy page

Import

React
npm i @velkin/react

import { VuAccordion } from "@velkin/react/accordion";

Examples

API

Tables match the member selected under Import.

Props

PropTypeDefaultDescription
multiplebooleantrueWhen false, at most one item may be open at a time. Default: `true`.
collapsiblebooleantrueWith `multiple={false}`, allows closing the last open panel. Default: `true`.
variantVuAccordionVariant"solid"Visual variant of the container. Default: `"solid"`.
toneVuAccordionTone"normal"Neutral surface weight for `solid` / `splitted` fills. Default: `"normal"`.
sizeVuAccordionSize"md"Header/body density (`sm` \| `md` \| `lg`). Default: `"md"`.
disabledbooleanfalseDisables interaction for all direct items. Default: `false`.
flushbooleanfalseRemoves the dividing line between items in `light`, `solid`, and `outline` variants. Default: `false`.

Events

EventDetailDescription
vu-open-changeVuAccordionItemOpenChangeDetailBubbles from items when their open state changes.

Slots

SlotDescription
—- One or more direct `<vu-accordion-item>` children.

CSS parts

PartDescription
groupWrapper that contains all slotted accordion items.

Methods

MethodDescription
expandAllOpens all items; in single mode opens only the first.
collapseAllCloses all items (respects `collapsible` in single mode).
openItemOpens an item by index; returns whether the operation succeeded.
closeItemCloses an item by index; returns whether the operation succeeded.
toggleItemToggles an item by index; returns whether the operation succeeded.
focusItemMoves focus to an item header by index.

Types

NameDefinition
VuAccordionItemOpenChangeDetail
{ open: boolean; }
VuAccordionSize
"sm" | "md" | "lg"
VuAccordionTone
"subtle" | "normal" | "strong"
VuAccordionVariant
"light" | "solid" | "outline" | "split" | "splitted"

Related

Companions

  • Accordion Item`vu-accordion-item`

Surfaces

  • CardA card component with media, header, body, and footer slots.
  • CarouselA slide carousel component with navigation, drag, and autoplay.
  • Carousel ItemA carousel slide component for use inside `<vu-carousel>`.

Guides

  • ThemingTokens and VuThemeProvider
  • StylingCSS parts and tokens
  • AppearanceSurface tone and radius

Browse

  • Previous: TutorialEarlier in the sidebar
  • Next: Accordion ItemLater in the sidebar
  • All componentsBrowse the full index