@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
43 lines (42 loc) • 1.39 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const jsxRuntime = require("react/jsx-runtime");
const React = require("react");
const Context = require("../../../Context.cjs");
const index = require("../../../utils/index.cjs");
const Dropdown = require("../../../../Dropdown/Dropdown.cjs");
const BooleanValue = ({ id, value = true }) => {
const { labels, dispatchAction, readOnly } = Context.useQueryBuilderContext();
const values = ["true", "false"].map((v) => ({
id: v,
label: labels.rule.value.boolean.options[v],
selected: value === (v === "true")
}));
return /* @__PURE__ */ jsxRuntime.jsx(
Dropdown.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: index.isBigList(values),
...index.isBigList(values) && { virtualized: true, height: 300 }
}
);
};
React.memo(BooleanValue);
exports.BooleanValue = BooleanValue;