Default

Davaux UI is a server-side component library for the Davaux framework. Components render to HTML on the server with zero client-side JavaScript required for static content.

const items = [
  { value: 'item-1', label: 'What is Davaux UI?', content: '...' },
  { value: 'item-2', label: 'Does it require hydration?', content: '...' },
  { value: 'item-3', label: 'Is it accessible?', content: '...' },
]

<Accordion items={items} defaultValue="item-1" />

Variants

default

contained

filled

separated

<Accordion items={items} variant="default" />
<Accordion items={items} variant="contained" />
<Accordion items={items} variant="filled" />
<Accordion items={items} variant="separated" />

Multiple open

Davaux UI is a server-side component library for the Davaux framework. Components render to HTML on the server with zero client-side JavaScript required for static content.

Static components like Accordion and Tabs include a small inline script for interactivity — no full hydration bundle needed. Interactive island components use the Davaux islands architecture.

<Accordion
  items={items}
  multiple
  defaultValue={['item-1', 'item-2']}
/>

Chevron position

chevronPosition="right" (default)

chevronPosition="left"

<Accordion items={items} chevronPosition="right" />
<Accordion items={items} chevronPosition="left" />

Custom chevron

<Accordion items={items} chevron="▸" />

{/* TablerIcon also works */}
<Accordion items={items} chevron={<TablerIcon name="plus" />} />

Props

PropTypeDefaultDescription
itemsAccordionItem[]Array of panel definitions
defaultValuestring|string[]Initially open panel(s)
multiplebooleanAllow multiple panels open simultaneously
variant'default'|'contained'|'filled'|'separated''default'Visual style
radius'xs'|'sm'|'md'|'lg'|'xl'|stringCorner radius
chevronPosition'left'|'right''right'Side where the expand icon appears
disableChevronRotationbooleanPrevents chevron from rotating when open
chevronchildrenCustom icon in place of the default chevron; accepts a TablerIcon, SVG string, or any element

AccordionItem

FieldTypeDescription
valuestringUnique key
labelchildrenControl bar heading content
contentchildrenPanel body shown when expanded
iconchildrenOptional icon beside the label
disabledbooleanPrevents opening/closing this panel