import { useState } from "react"; import { Control, Controller, FieldValues } from "react-hook-form"; import { useTranslation } from "react-i18next"; import { FormGroup, Select, SelectOption, SelectVariant, Split, SplitItem, } from "@patternfly/react-core"; import { TimeSelector, Unit, } from "../../components/time-selector/TimeSelector"; import { HelpItem } from "../../components/help-enabler/HelpItem"; type TokenLifespanProps = { id: string; name: string; defaultValue: string; control: Control; units?: Unit[]; }; const never = "tokenLifespan.never"; const expires = "tokenLifespan.expires"; export const TokenLifespan = ({ id, name, defaultValue, control, units, }: TokenLifespanProps) => { const { t } = useTranslation("clients"); const [open, setOpen] = useState(false); const [focused, setFocused] = useState(false); const onFocus = () => setFocused(true); const onBlur = () => setFocused(false); const isExpireSet = (value: string | number) => (typeof value === "number" && value !== -1) || (typeof value === "string" && value !== "" && value !== "-1") || focused; return ( } > ( {isExpireSet(value) && ( )} )} /> ); };