radio-accordion

Radio Accordion

Radio options where the picked one reveals its details, for checkout choices like a card form under the card option or a delivery window under express shipping.

States: Default, Focus, Disabled

Parts

PartFileDoes
RadioAccordionRadioAccordion.vueGroups options of which the user picks one; the picked option reveals its details.
RadioAccordionItemRadioAccordionItem.vueGroups one option with the details it reveals while selected.
RadioAccordionTriggerRadioAccordionTrigger.vueLabels its option and lets the user pick it.
RadioAccordionContentRadioAccordionContent.vueHolds the details its option reveals while selected, such as a card form or a delivery window.

Anatomy

<RadioAccordion>
  <RadioAccordionItem>
    <RadioAccordionTrigger />
    <RadioAccordionContent />
  </RadioAccordionItem>
</RadioAccordion>

Styling

PartRecipe
RadioAccordionradio-accordion
RadioAccordionItemradio-accordion-item
RadioAccordionTriggerradio-accordion-trigger
RadioAccordionTriggerradio-accordion-indicator
RadioAccordionContentradio-accordion-content

Install

Writes 7 files into components/ui/radio-accordion/. For agents, npx @frontic/ui docs radio-accordion prints this reference as markdown; the MCP server serves the same.

npm packages
@lucide/vue
@vueuse/core
class-variance-authority
reka-ui

Built from

API reference

RadioAccordion RadioAccordion.vue

Groups options of which the user picks one; the picked option reveals its details.

PropTypeDefault
modelValueAcceptableValue—
defaultValueAcceptableValue—
disabledbooleanfalse
orientationDataOrientation—
dirDirection—
loopbooleantrue
asChildbooleanfalse
asAsTag | Component—
namestring—
requiredbooleanfalse
classClassValue—
variantRadioAccordionVariant'plain'
EventPayload
update:modelValuepayload: AcceptableValue
SlotSlot props
default{ modelValue: AcceptableValue | undefined; }
Data attributeValues
data-disabled—
data-variant'outline' | 'plain'
Recipe radio-accordionSets
base: radio-accordion 3 properties
variant: outline 1 property

RadioAccordionItem RadioAccordionItem.vue

RadioAccordionTrigger RadioAccordionTrigger.vue

RadioAccordionContent RadioAccordionContent.vue

Example
State