import { html, css } from '@design.estate/dees-element'; import '@design.estate/dees-wcctools/demotools'; import type { DeesInputRadio } from './dees-input-radio.js'; export const demoFunc = () => html` { // Implement radio group behavior const radioGroups = new Map(); // Group radios by their container const radioContainers = elementArg.querySelectorAll('.radio-group'); radioContainers.forEach((container) => { const radios = Array.from(container.querySelectorAll('dees-input-radio')) as DeesInputRadio[]; const groupName = container.getAttribute('data-group') || 'default'; radioGroups.set(groupName, radios); // Add click handlers for radio group behavior radios.forEach((radio) => { radio.addEventListener('click', () => { if (!radio.disabled && !radio.value) { // Uncheck all other radios in the group radios.forEach((r) => { if (r !== radio) { r.value = false; } }); radio.value = true; } }); }); }); }}>

Basic Radio Groups

Radio buttons for single-choice selections

Select your subscription plan:
Task Priority:

Horizontal Layout

Radio buttons arranged horizontally for yes/no questions

Do you agree?
Experience Level:

Survey Example

Multiple radio groups in a survey format

How satisfied are you?
Would you recommend us?

States

Different radio button states

Settings Example

Common radio button patterns in settings

Theme Preference:
Notification Frequency:
`;