@keycloakify/keycloak-admin-ui
Version:
Repackaged Keycloak Admin UI
16 lines • 1.25 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { FormHelperText, HelperText, HelperTextItem, TextInput, ValidatedOptions, } from "@patternfly/react-core";
import { useController, } from "react-hook-form";
import { FormLabel } from "../../ui-shared/controls/FormLabel";
export const TextControl = (props) => {
var _a, _b;
const { labelIcon, helperText, ...rest } = props;
const required = !!((_a = props.rules) === null || _a === void 0 ? void 0 : _a.required);
const defaultValue = (_b = props.defaultValue) !== null && _b !== void 0 ? _b : "";
const { field, fieldState } = useController({
...props,
defaultValue,
});
return (_jsxs(FormLabel, { name: props.name, label: props.label, labelIcon: labelIcon, isRequired: required, error: fieldState.error, children: [_jsx(TextInput, { isRequired: required, id: props.name, "data-testid": props["data-testid"] || props.name, validated: fieldState.error ? ValidatedOptions.error : ValidatedOptions.default, isDisabled: props.isDisabled, ...rest, ...field }), helperText && (_jsx(FormHelperText, { children: _jsx(HelperText, { children: _jsx(HelperTextItem, { children: helperText }) }) }))] }));
};
//# sourceMappingURL=TextControl.js.map