import React, { ReactElement } from 'react' import slugify from 'slugify' import styles from './InputElement.module.css' import { InputProps } from '.' import FilesInput from '../FormFields/FilesInput' import CustomProvider from '../FormFields/CustomProvider' import BoxSelection, { BoxSelectionOption } from '../FormFields/BoxSelection' import Datatoken from '../FormFields/Datatoken' import classNames from 'classnames/bind' import AssetSelection, { AssetSelectionAsset } from '../FormFields/AssetSelection' const cx = classNames.bind(styles) const DefaultInput = ({ size, className, prefix, postfix, additionalComponent, ...props }: InputProps) => ( ) export default function InputElement({ type, options, sortOptions, name, prefix, postfix, size, field, label, multiple, disabled, help, form, additionalComponent, disclaimer, disclaimerValues, ...props }: InputProps): ReactElement { const styleClasses = cx({ select: true, [size]: size }) switch (type) { case 'select': { const sortedOptions = !sortOptions && sortOptions === false ? options : (options as string[]).sort((a: string, b: string) => a.localeCompare(b) ) return ( ) } case 'textarea': return ( ) case 'radio': case 'checkbox': return (