import React, { useContext } from 'react'; import { TypeIcon, TypeLabel, TypeOptions, TypeSize, TypeVariant } from '../../Types'; import Address from './Inputs/Address'; import Currency from './Inputs/Currency'; import DateOfBirth from './Inputs/DateOfBirth'; import Duration from './InputDuration/InputDuration'; import Editor from './InputEditor/InputEditor'; import { FieldContext } from '../../Contexts'; import Image from './InputImage/InputImage'; import Number from './InputNumber/InputNumber'; import Password from './InputPassword/InputPassword'; import Phone from './InputPhone/InputPhone'; import Reference from './shared/Reference'; import Search from './InputSearch/InputSearch'; import Select from './InputSelect/InputSelect'; import Store from './shared/Store'; import Text from './Inputs/Text'; import Textarea from './InputTextarea/InputTextarea'; import Timezone from './InputTimezone/InputTimezone'; import Toggle from './Inputs/Toggle'; import ToggleButton from './Inputs/ToggleButton'; import Transfer from './Inputs/Transfer'; export interface FieldProperties { id?: string; label?: TypeLabel; name: string; type: string; defer?: boolean; secured?: boolean; size?: TypeSize; variant?: TypeVariant; options?: TypeOptions; icon?: TypeIcon; description?: string; } const Input = (props: FieldProperties): JSX.Element | null => { const { type } = props; switch (type) { case 'text': return ; case 'password': return ; case 'phone': return ; case 'address': return
; case 'search': return ; case 'select': return