UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

43 lines (42 loc) 1.25 kB
import { jsx } from "react/jsx-runtime"; import { memo } from "react"; import { useQueryBuilderContext } from "../../../Context.js"; import { isBigList } from "../../../utils/index.js"; import { HvDropdown } from "../../../../Dropdown/Dropdown.js"; const BooleanValue = ({ id, value = true }) => { const { labels, dispatchAction, readOnly } = useQueryBuilderContext(); const values = ["true", "false"].map((v) => ({ id: v, label: labels.rule.value.boolean.options[v], selected: value === (v === "true") })); return /* @__PURE__ */ jsx( HvDropdown, { required: true, status: "valid", singleSelectionToggle: false, label: labels.rule.value.boolean.label, placeholder: labels.rule.value.boolean.placeholder, values, readOnly, onChange: (selected) => { if (selected?.id) { dispatchAction({ type: "set-value", id, value: selected.id === "true" }); } else { dispatchAction({ type: "set-value", id, value: null }); } }, showSearch: isBigList(values), ...isBigList(values) && { virtualized: true, height: 300 } } ); }; memo(BooleanValue); export { BooleanValue };