EXEPERTAI LAB

Research alpha

Time Machine
EXEPERTAI LAB
GALLERY / COLLECTION
← Browse Astryx gallery
RadioList·component·@astryxdesign/core

Radio List Item

Individual radio item with label, description, and content slots.

Open in Playground @astryxdesign/core/RadioList

Showcases and examples

2 documented examples

Radio List Item

Radio list items with labels, descriptions, and different states including disabled.

Preview loads on approachPreview loads on approach
Exact source · radio-list-item-showcase
// Copyright (c) Meta Platforms, Inc. and affiliates.

'use client';

import {useState} from 'react';
import {RadioList, RadioListItem} from '@astryxdesign/core/RadioList';

export default function RadioListItemShowcase() {
  const [value, setValue] = useState('standard');

  return (
    <RadioList label="Shipping method" value={value} onChange={setValue}>
      <RadioListItem
        label="Standard"
        value="standard"
        description="5–7 business days"
      />
      <RadioListItem
        label="Express"
        value="express"
        description="2–3 business days"
      />
      <RadioListItem
        label="Overnight"
        value="overnight"
        description="Next business day"
      />
      <RadioListItem
        label="Same day"
        value="sameday"
        description="Not available in your area"
        isDisabled
      />
    </RadioList>
  );
}

Usage

Individual radio item with label, description, and content slots.

Typed props

PropType and behavior
labelReactNode · required
Primary label for the radio item. Rich labels may contain links or buttons, which keep their own behavior without selecting the item. The label text names the radio; use aria-label only when that text is absent, or retain every visible label word in the override.
aria-labelstring
Plain-text accessible name for the radio, applied to the control rather than the row. It overrides the name derived from the label. Use it when a rich label has no visible text; otherwise retain every visible label word.
valuestring · required
Value of this radio item.
descriptionReactNode
Secondary content displayed below the label. Links and buttons keep their own click behaviour — the row only delegates clicks from its non-interactive surface to the radio.
isDisabledboolean · default false
Whether this individual radio item is disabled.
startContentReactNode
Content to render before the radio circle.
Slot: Icon
endContentReactNode
Content to render after the label.
Slot: Icon, Badge