@keycloakify/keycloak-admin-ui
Version:
Repackaged Keycloak Admin UI
17 lines • 1.21 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { KeycloakSelect } from "../../ui-shared";
import { SelectOption, TextInput } from "@patternfly/react-core";
import { useMemo, useState } from "react";
import { useController } from "react-hook-form";
import { useTranslation } from "react-i18next";
export const ValueSelect = ({ selectItems, keyValue, ...rest }) => {
const { t } = useTranslation();
const { field } = useController(rest);
const [open, setOpen] = useState(false);
const defaultItem = useMemo(() => selectItems.find((v) => v.key === keyValue), [selectItems, keyValue]);
return (defaultItem === null || defaultItem === void 0 ? void 0 : defaultItem.values) ? (_jsx(KeycloakSelect, { onToggle: (isOpen) => setOpen(isOpen), isOpen: open, onSelect: (value) => {
field.onChange(value);
setOpen(false);
}, selections: field.value ? [field.value] : t("choose"), placeholderText: t("valuePlaceholder"), children: defaultItem.values.map((item) => (_jsx(SelectOption, { value: item, children: item }, item))) })) : (_jsx(TextInput, { "aria-label": t("customValue"), "data-testid": rest.name, ...field }));
};
//# sourceMappingURL=ValueSelect.js.map