/* eslint-disable */ // @ts-nocheck import { KeycloakSelect, SelectControlOption, } from "../../../../shared/keycloak-ui-shared"; import { Grid, GridItem, SelectOption, TextInput, } from "../../../../shared/@patternfly/react-core"; import { useState } from "react"; import { UseControllerProps, useController } from "react-hook-form"; import { useTranslation } from "react-i18next"; import useToggle from "../../../utils/useToggle"; type KeySelectProp = UseControllerProps & { selectItems: SelectControlOption[]; }; export const KeySelect = ({ selectItems, ...rest }: KeySelectProp) => { const { t } = useTranslation(); const [open, toggle] = useToggle(); const { field } = useController(rest); const [custom, setCustom] = useState( !selectItems.map(({ key }) => key).includes(field.value), ); return ( toggle()} isOpen={open} onSelect={(value) => { if (value) { setCustom(false); field.onChange(value); } toggle(); }} selections={!custom ? [field.value] : ""} > {[ setCustom(true)}> {t("customAttribute")} , ...selectItems.map((item) => ( {item.value} )), ]} {custom && ( )} ); };