@open-formulieren/formio-builder
Version:
An opinionated Formio webform builder for Open Forms
20 lines (19 loc) • 1.64 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SelectBoxes = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_intl_1 = require("react-intl");
const checkbox_1 = require("./checkbox");
const component_1 = __importDefault(require("./component"));
const description_1 = __importDefault(require("./description"));
const SelectBoxes = ({ name, options, label, required = false, tooltip = '', description = '', isLoading = false, }) => {
if (isLoading) {
return ((0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: 'BFq6vL', defaultMessage: [{ type: 0, value: "Loading values..." }] }));
}
return ((0, jsx_runtime_1.jsxs)(component_1.default, Object.assign({ type: "selectboxes", field: name, label: label, tooltip: tooltip, required: required }, { children: [(0, jsx_runtime_1.jsx)("div", Object.assign({ className: "form-radio radio" }, { children: options.map(({ value, label, description }, index) => ((0, jsx_runtime_1.jsx)("div", Object.assign({ className: "form-check" }, { children: (0, jsx_runtime_1.jsx)("label", Object.assign({ className: "form-check-label" }, { children: (0, jsx_runtime_1.jsx)(checkbox_1.CheckboxInput, { name: `${name}.${value}`, label: label, optionDescription: description }) })) }), `option-${value}-${index}`))) })), description && (0, jsx_runtime_1.jsx)(description_1.default, { text: description })] })));
};
exports.SelectBoxes = SelectBoxes;
exports.default = exports.SelectBoxes;