import { match } from 'ts-pattern';
import { StringFieldInput } from './StringFieldInput.tsx';
import { StringFieldPassword } from './StringFieldPassword.tsx';
import { StringFieldRadio } from './StringFieldRadio.tsx';
import { StringFieldSelect } from './StringFieldSelect.tsx';
import { StringFieldTextArea } from './StringFieldTextArea.tsx';
import type { StringFieldInputProps } from './StringFieldInput.tsx';
import type { StringFieldPasswordProps } from './StringFieldPassword.tsx';
import type { StringFieldRadioProps } from './StringFieldRadio.tsx';
import type { StringFieldTextAreaProps } from './StringFieldTextArea.tsx';
export type StringFieldProps =
| StringFieldInputProps
| StringFieldPasswordProps
| StringFieldRadioProps
| StringFieldTextAreaProps;
export const StringField = (props: StringFieldProps) => {
return match(props)
.with({ variant: 'textarea' }, (props) => )
.with({ variant: 'password' }, (props) => )
.with({ variant: 'input' }, (props) => )
.with({ variant: 'select' }, (props) => )
.with({ variant: 'radio' }, (props) => )
.exhaustive();
};