@open-formulieren/formio-builder
Version:
An opinionated Formio webform builder for Open Forms
13 lines (12 loc) • 897 B
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import clsx from 'clsx';
/**
* Render a button group with the available and active modes.
*
* This component is generic - pass a union of the possible mode values for strict type
* checking: `<ModeToggle<'mode1' | 'mode2'>>`
*/
function ModeToggle({ name, modes, currentMode, onToggle, className, btnClassName = 'btn-secondary', }) {
return (_jsx("div", Object.assign({ className: clsx('btn-group', 'btn-group-toggle', className) }, { children: modes.map(({ value, label }) => (_jsxs("label", Object.assign({ className: clsx('btn', 'btn-sm', btnClassName, { active: value === currentMode }) }, { children: [_jsx("input", { type: "radio", name: name, value: value, autoComplete: "off", checked: value === currentMode, onChange: event => onToggle(event.target.value) }), label] }), value))) })));
}
export default ModeToggle;