Skip to content

Radio Group

Choose exactly one option from a small set (radio, button, pill, or tile variants).

HTML tag: c-eaa5532f38b414245a5d64b15e7dc229a

  • pick one of a few labeled options
  • segmented button or pill switcher
  • mutually exclusive choices (not dropdown)
PropTypeDefaultDescription
valueString
optionsArray
orientationStringhorizontal
variantStringradio
labelString
readonlyBooleanfalse
button_checked_toneStringprimary
button_unchecked_toneStringneutral
disabledBooleanfalse
requiredBoolean
nameString
sizeStringmd
label_positionStringstacked
helper_textString
invalidBooleanfalse
reserve_item_icon_spaceBoolean
equalize_item_heightsBooleantrue
icon_sizeStringmd
data_source__thing_idString
data_source_input_paramsObject[object Object]
display_pathStringlabel
value_pathStringvalue
icon_pathString
loadingBoolean
loading_textString
error_textString
button_checked_appearanceStringoutline
button_unchecked_appearanceStringghost
button_toneStringprimary
  • Provide .options array; bind .value to selected option value (string).
  • Prefer change or value-changed with detail.value.
  • variant: radio | button | pill | tile for presentation.
  • Optional data_source__thing_id + paths for remote options.
EventDetail
value-changedvalue: String
changevalue: String, trigger: user
activechangeindex: Number
source-data-loadedvalue: Object
source-data-load-failedvalue: Object
source-record-loadedvalue: Object
source-record-load-failedvalue: Object

Do not use for multi-select (ab-select with multiple). Do not use for true/false only (ab-checkbox).

<c-eaa5532f38b414245a5d64b15e7dc229a .label=${'Status'} .options=${[{ value: 'a', label: 'Active' }, { value: 'b', label: 'Draft' }]} .value=${status} @change=${e => status = e.detail.value}></c-eaa5532f38b414245a5d64b15e7dc229a>