Usage

Multi-select Chips

HTML + JavaScript
<div id="skills"></div>

<script>
FormWidgets.init('#skills', 'SelectionContainer', {
    multiple: true,
    displayMode: 'chips',
    options: [
        { value: 'js', label: 'JavaScript' },
        { value: 'py', label: 'Python' },
        { value: 'java', label: 'Java' },
        { value: 'cs', label: 'C#' }
    ]
});
</script>

Single-select Chips

JavaScript
FormWidgets.init('#language', 'SelectionContainer', {
    multiple: false,
    displayMode: 'chips',
    options: [
        { value: 'en', label: 'English' },
        { value: 'fr', label: 'French' },
        { value: 'de', label: 'German' }
    ]
});

Checkboxes / Radio Buttons

JavaScript
// Multi-select as checkboxes
FormWidgets.init('#interests', 'SelectionContainer', {
    multiple: true,
    displayMode: 'checkboxes',
    options: [
        { value: 'music', label: 'Music' },
        { value: 'sport', label: 'Sport' },
        { value: 'reading', label: 'Reading' }
    ]
});

// Single-select as radio buttons (displayMode: 'checkboxes' + multiple: false)
FormWidgets.init('#level', 'SelectionContainer', {
    multiple: false,
    displayMode: 'checkboxes',
    options: [
        { value: 'beginner', label: 'Beginner' },
        { value: 'intermediate', label: 'Intermediate' },
        { value: 'advanced', label: 'Advanced' }
    ]
});

Options

OptionTypeDefaultDescription
optionsarray[]Array of { value, label } objects defining the available choices.
multiplebooleantrueWhen true, multiple items can be selected simultaneously. When false, selecting one item deselects others.
displayModestring'chips'How options are rendered. 'chips' shows toggle buttons; 'checkboxes' shows checkboxes (multi) or radio buttons (single).
requiredbooleanfalseMarks the widget as required.

Display Mode Matrix

displayModemultipleResult
'chips'trueToggle chip buttons — multiple can be selected
'chips'falseToggle chip buttons — only one can be selected at a time
'checkboxes'trueCheckbox list — multiple can be checked
'checkboxes'falseRadio button list — only one can be selected

Keyboard Navigation (Chips Mode)

TabMove focus onto the chip group
/ Move to next chip
/ Move to previous chip
Enter / SpaceToggle the focused chip (select/deselect)

Features

Chips Mode

Visual toggle chips for a compact, modern multi-select UI.

Checkbox Mode

Traditional checkboxes or radio buttons for accessibility and familiarity.

Single or Multi

Switch between exclusive (radio) and inclusive (multi) selection.

Keyboard Navigation

Full arrow key navigation between options in chips mode.