@hitachivantara/uikit-react-core
Version:
UI Kit Core React components.
41 lines (40 loc) • 1.28 kB
JavaScript
import { HvInput } from "../../Input/Input.js";
import { useQueryBuilderContext } from "../Context.js";
import { createClasses } from "@hitachivantara/uikit-react-utils";
import { useState } from "react";
import { jsx } from "react/jsx-runtime";
//#region src/QueryBuilder/Value/TextValue.tsx
var { useClasses } = createClasses("HvQueryBuilderTextValue", { location: { flexGrow: 1 } });
var TextValue = ({ id, value = "", initialTouched = false }) => {
const { classes } = useClasses();
const { labels, dispatchAction, readOnly } = useQueryBuilderContext();
const [touched, setTouched] = useState(initialTouched);
let status = value != null && value.toString().trim() !== "" ? "valid" : "invalid";
status = !touched ? "standBy" : status;
return /* @__PURE__ */ jsx(HvInput, {
className: classes.location,
label: labels.rule.value.text.label,
required: true,
status,
statusMessage: labels.rule.value.text.validation.required,
value,
inputProps: { autoComplete: "off" },
onChange: (t, v) => {
dispatchAction({
type: "set-value",
id,
value: v
});
},
onBlur: () => {
setTouched(true);
},
onKeyDown: (e) => {
if (e.key === "Enter") e.preventDefault();
},
placeholder: "—",
readOnly
});
};
//#endregion
export { TextValue };