Roadmap GitHub

Radial Select

A rectangular trigger flush-left against a dropdown opens a circular SVG pie of category wedges. Selecting a wedge cascades the dropdown's option set via htmx and echoes the category color + icon onto the trigger.

<rhx-radial-select>

Examples

Basic — pie category → cascading dropdown

Automatic color cycle

Omit rhx-color and wedges are assigned colors deterministically: brand → success → warning → danger → neutral.

<rhx-radial-select> Properties

Properties

Property Type Default Description
rhx-for ModelExpression - Model binding for the dropdown value (mutually exclusive with name)
name string - Form field name for the dropdown value when not using rhx-for
rhx-category-name string - Optional. Form field name submitting the active category value
rhx-default-category string - Optional. rhx-value of the wedge to activate on initial render
rhx-placeholder string - Dropdown placeholder shown before any option is selected
rhx-size string medium Control size: small, medium, large
rhx-disabled bool false Disables the whole control
aria-label string - Accessible name for the category picker

<rhx-radial-option> Properties

Properties

Property Type Default Description
rhx-value string required Category identifier submitted via rhx-category-name
rhx-label string required Accessible name + visible label for the wedge
rhx-icon string - Icon name resolved through IconRegistry
rhx-color variant cycle brand, success, warning, danger, neutral. Omitted = deterministic cycle
hx-get string - Endpoint returning this category's option fragment
rhx-disabled bool false Renders the wedge dimmed and non-selectable

Accessibility

  • The visual is radial; the accessibility tree is a menu. Trigger uses aria-haspopup="menu" with aria-expanded.
  • The pie uses role="menu"; each wedge is a role="menuitemradio" with aria-checked (single active category).
  • Keyboard: Enter / Space / ArrowDown opens the pie; arrow keys + Home/End move between wedges; type-ahead jumps by label; Enter / Space selects; Escape closes and returns focus to the trigger.
  • Selecting a wedge echoes the category color + icon onto the trigger, swaps the dropdown's options, and auto-selects the first option.
  • Disabled wedges render with aria-disabled="true" and cannot be selected.