export type Value = string | number | boolean export interface Option { value: Value, text: string, indicator?: string | number } export interface Props { value?: Value, options?: Value[] | Option[], onChange?: (...args: any[]) => any, className?: string } const Tabs = ({ value, options, onChange, className }: Props): JSX.Element => { const select = (tab?: Value) => { if (onChange && value !== tab) onChange(tab) } const getOptions = ():Option[] => { if (!options) return [] let output = [] options.forEach(option => { if (typeof option === "object") { // @ts-ignore-next-line output.push(option) } else { // @ts-ignore-next-line output.push({ value: option, text: option }) } }) return output } return (