UNPKG

shelving

Version:

Toolkit for using data in JavaScript.

17 lines (16 loc) 994 B
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { formatValue } from "../../util/format.js"; import { Flex } from "../style/Flex.js"; import { RadioInput } from "./RadioInput.js"; /** * Output a list of `<RadioInput>` elements for each item in an array. * - The items can be any type, and can be formatted for output through an optional `formatter()` function. * - A `placeholder` option is shown at the bottom if `required=false`. */ export function ArrayRadioInputs({ value, onValue, required = false, items, formatter = formatValue, ...props }) { return (_jsxs(Flex, { column: true, children: [items.map((v, i) => { return (_jsx(RadioInput // , { value: value === v, onValue: () => onValue(v), required: required, ...props, children: formatter(v) }, i.toString())); }), !required ? (_jsx(RadioInput // , { value: !value, onValue: () => onValue(undefined), required: required, ...props })) : null] })); }