type FileFormikLocations = { anvils: { [anvilUuid: string]: { active: boolean; }; }; drHosts: { [hostUuid: string]: { active: boolean; }; }; }; type FileFormikFile = { file?: File; locations?: FileFormikLocations; name: string; type?: FileType; uuid: string; }; type FileFormikValues = { [fileUuid: string]: FileFormikFile; }; /** ---------- Component types ---------- */ /** FileInputGroup */ type FileInputGroupOptionalProps = { showSyncInputGroup?: boolean; showTypeInput?: boolean; }; type FileInputGroupProps = FileInputGroupOptionalProps & { anvils: APIAnvilOverviewList; drHosts: APIHostOverviewList; fileUuid: string; formik: ReturnType>; }; /** AddFileForm */ type UploadFiles = { [fileUuid: string]: Pick & { progress: number; }; }; type AddFileFormProps = Pick; /** EditFileForm */ type EditFileFormProps = Pick & { onSuccess?: () => void; previous: APIFileDetail; }; /** UploadFileProgress */ type UploadFileProgressProps = { uploads: UploadFiles; };