@open-formulieren/formio-builder
Version:
An opinionated Formio webform builder for Open Forms
18 lines (17 loc) • 1.21 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const jsx_runtime_1 = require("react/jsx-runtime");
const clsx_1 = __importDefault(require("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 ((0, jsx_runtime_1.jsx)("div", Object.assign({ className: (0, clsx_1.default)('btn-group', 'btn-group-toggle', className) }, { children: modes.map(({ value, label }) => ((0, jsx_runtime_1.jsxs)("label", Object.assign({ className: (0, clsx_1.default)('btn', 'btn-sm', btnClassName, { active: value === currentMode }) }, { children: [(0, jsx_runtime_1.jsx)("input", { type: "radio", name: name, value: value, autoComplete: "off", checked: value === currentMode, onChange: event => onToggle(event.target.value) }), label] }), value))) })));
}
exports.default = ModeToggle;