import { html, nothing, type TemplateResult } from 'lit'; import type { NuiType } from '../../types/nui-type.js'; import type { RadioButtonSize, RadioButtonVariant } from './types.js'; export interface NuiRadioButtonViewState { checked: boolean; value: string; name: string; disabled: boolean; invalid: boolean; readonly: boolean; size: RadioButtonSize | ''; variant: RadioButtonVariant | ''; tabindex?: number; inputId: string; ariaLabel: string; ariaLabelledby: string; nuiType: NuiType; radioButtonClass: string; } export function getRadioButtonClass(radioButtonClass: string): string { return ['nui-radio-button', radioButtonClass].filter(Boolean).join(' '); } export interface NuiRadioButtonHandlers { onChange: (event: Event) => void; onClick: (event: Event) => void; } export function renderRadioButton( state: NuiRadioButtonViewState, handlers: NuiRadioButtonHandlers, ): TemplateResult { return html` `; }