--- ## RadioGroup Accessible radio group for single-option selection with semantic intents and form integration. Uses native radio inputs for correct form behavior and ARIA semantics with keyboard navigation. **Import:** `import { RadioGroup } from '@urbicon-ui/blocks';` ### Examples ```svelte ``` ### Variants - disabled: true (default: false) - error: true (default: false) - orientation: horizontal, vertical (default: vertical) - required: true (default: false) ### Api | Prop | Type | Required | Default | Description | | --- | --- | :---: | --- | --- | | children | `Snippet` | yes | | RadioItem children to render inside the group. | | ...HTMLAttributes | `HTMLAttributes` | no | | HTML attributes (excluding: 'children' | 'class') | | class | `string` | no | | Extra classes merged onto the root wrapper element. | | disabled | `boolean` | no | | Disable all radio items in the group. | | error | `string` | no | | Error message below the group. Replaces `helper` and sets `aria-invalid`. | | helper | `string` | no | | Hint text below the group. Hidden when `error` is set. | | id | `string` | no | | Explicit `id` for the group element. Auto-generated if omitted. | | intent | `RadioItemVariants['intent']` | no | 'primary' | Semantic color propagated to all child RadioItems. | | label | `string` | no | | Group label displayed above the radio items. | | mint | `MintProp` | no | 'none' | Micro-interaction preset propagated to child RadioItems. | | name | `string` | no | | Shared `name` attribute for all radio inputs. Auto-generated if omitted. | | onValueChange | `(value: string) => void` | no | | Fired after the selected value changes. Receives the new value. | | orientation | `'horizontal' | 'vertical'` | no | 'vertical' | Stack direction for the radio items. | | preset | `string` | no | | Apply a named preset registered via ``. Prefer this over `class` overrides when the requested look falls outside the semantic intent palette — presets keep hover/active/dark-mode logic coherent and make the custom look reusable across the project. | | required | `boolean` | no | | Mark the group as required for form validation. Adds an asterisk to the label. | | size | `RadioItemVariants['size']` | no | 'md' | Visual size propagated to all child RadioItems. | | slotClasses | `Partial>` | no | | Per-slot class overrides merged with tv() styles. | | tier | `InteractiveTier` | no | 'commit' | Semantic radius tier propagated to every RadioItem. Default `commit` — radio indicators read as identity circles. Set to `modify` (or inherit via TierContext from a wrapping ``) for inline-toolbar contexts where a circle feels oversized. | | unstyled | `boolean` | no | | Remove all default tv() classes. Only user-provided classes apply. | | value | `string` | no | | Currently selected value. Supports two-way binding via `bind:value`. | | variant | `RadioItemVariants['variant']` | no | 'outlined' | Visual weight propagated to all child RadioItems. | Inherited from: - Omit, 'children' | 'class'> (omit-pattern)