UNPKG

shelving

Version:

Toolkit for using data in JavaScript.

7 lines (6 loc) 835 B
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { getProps } from "../../util/object.js"; import { EMPTY_OPTION_CLASS, SELECT_INPUT_CLASS, VALUE_OPTION_CLASS } from "./Input.js"; export function SelectInput({ name, placeholder = "Choose...", required = false, disabled = false, message = "", value = "", onValue, options, }) { return (_jsxs("select", { name: name, defaultValue: value, onChange: e => onValue(e.currentTarget.value || undefined), className: SELECT_INPUT_CLASS, title: message, "aria-invalid": !!message, disabled: disabled, required: required, children: [!required || !value ? (_jsx("option", { value: "", className: EMPTY_OPTION_CLASS, children: placeholder })) : null, getProps(options).map(([k, t]) => (_jsx("option", { value: k, className: VALUE_OPTION_CLASS, children: t }, k)))] })); }