import { default as React } from 'react'; import { FileProps } from '../file/types.js'; import { FieldGroupProps } from '../input-group/index.js'; export interface UploadedFileValidation { type: "TOO_LARGE" | "WRONG_TYPE"; message: string; } export interface UploadedFile { file: File; validation?: UploadedFileValidation; state: FileProps["state"]; uploadProgress: number; } export interface FileInputProps extends Omit { className?: string; id?: string; /** * En string som begrenser hvilke filtyper som kan velges. * * Flere filtyper kan defineres som en kommaseparert liste. * * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept */ accept?: "image/*" | ".pdf" | "image/*,.pdf" | HTMLInputElement["accept"]; maxSizeBytes?: number; /** * @default true */ multiple?: boolean; value: UploadedFile[]; variant?: "flexible" | "small"; onChange: (e: React.ChangeEvent | React.DragEvent, files: UploadedFile[]) => void; }