import React, { PropsWithChildren } from 'react'; interface UploadProps { type?: string, accept?: string, onChange?: (files: HTMLInputElement | File) => void, } export function useUploadElement< T extends UploadProps >(props:PropsWithChildren):React.ReactElement { const { children, type, accept, onChange, } = props; const handleChange = (e: React.ChangeEvent) => { if (e.target.files.length > 0) { const { files } = e.target; const options = { type: files[0].type, }; const file = new File(files as any, files[0].name, options); onChange(file); } e.target.value = ''; }; return (
{children}
); }