{"version":3,"file":"interface.cjs","sources":["../../../../../../packages/vue-components/vc-upload/src/interface.tsx"],"sourcesContent":["import type { ExtractPropTypes, PropType } from 'vue';\n\nexport type BeforeUploadFileType = File | Blob | boolean | string;\n\nexport type Action = string | ((file: RcFile) => string | PromiseLike<string>);\n\nexport function uploadProps() {\n  return {\n    capture: [Boolean, String] as PropType<boolean | 'user' | 'environment'>,\n    multipart: { type: Boolean, default: undefined },\n    name: String,\n    disabled: { type: Boolean, default: undefined },\n    componentTag: String as PropType<any>,\n    action: [String, Function] as PropType<Action>,\n    method: String as PropType<UploadRequestMethod>,\n    directory: { type: Boolean, default: undefined },\n    data: [Object, Function] as PropType<\n      Record<string, unknown> | ((file: RcFile | string | Blob) => Record<string, unknown>)\n    >,\n    headers: Object as PropType<UploadRequestHeader>,\n    accept: String,\n    multiple: { type: Boolean, default: undefined },\n    onBatchStart: Function as PropType<\n      (fileList: Array<{ file: RcFile; parsedFile: Exclude<BeforeUploadFileType, boolean> }>) => void\n    >,\n    onReject: Function as PropType<(fileList: RcFile[]) => void>,\n    onStart: Function as PropType<(file: RcFile) => void>,\n    onError: Function as PropType<\n      (error: Error, ret: Record<string, unknown>, file: RcFile) => void\n    >,\n    onSuccess: Function as PropType<\n      (response: Record<string, unknown>, file: RcFile, xhr: XMLHttpRequest) => void\n    >,\n    onProgress: Function as PropType<(event: UploadProgressEvent, file: RcFile) => void>,\n    beforeUpload: Function as PropType<\n      (\n        file: RcFile,\n        FileList: RcFile[],\n      ) => BeforeUploadFileType | Promise<void | BeforeUploadFileType>\n    >,\n    customRequest: Function as PropType<(option: UploadRequestOption) => void>,\n    withCredentials: { type: Boolean, default: undefined },\n    openFileDialogOnClick: { type: Boolean, default: undefined },\n    prefixCls: String,\n    id: String,\n    onMouseenter: Function as PropType<(e: MouseEvent) => void>,\n    onMouseleave: Function as PropType<(e: MouseEvent) => void>,\n    onClick: Function as PropType<(e: MouseEvent | KeyboardEvent) => void>,\n  };\n}\n\nexport type UploadProps = Partial<ExtractPropTypes<ReturnType<typeof uploadProps>>>;\n\nexport interface UploadProgressEvent extends Partial<ProgressEvent> {\n  percent?: number;\n}\n\nexport type UploadRequestMethod = 'POST' | 'PUT' | 'PATCH' | 'post' | 'put' | 'patch';\n\nexport type UploadRequestHeader = Record<string, string>;\n\nexport interface UploadRequestError extends Error {\n  status?: number;\n  method?: UploadRequestMethod;\n  url?: string;\n}\n\nexport interface UploadRequestOption<T = any> {\n  onProgress?: (event: UploadProgressEvent) => void;\n  onError?: (event: UploadRequestError | ProgressEvent, body?: T) => void;\n  onSuccess?: (body: T, xhr?: XMLHttpRequest) => void;\n  data?: Record<string, unknown>;\n  filename?: string;\n  file: Exclude<BeforeUploadFileType, File | boolean> | RcFile;\n  withCredentials?: boolean;\n  action: string;\n  headers?: UploadRequestHeader;\n  method: UploadRequestMethod;\n}\n\nexport interface RcFile extends File {\n  uid: string;\n}\n"],"names":["uploadProps","capture","Boolean","String","multipart","type","default","undefined","name","disabled","componentTag","action","Function","method","directory","data","Object","headers","accept","multiple","onBatchStart","onReject","onStart","onError","onSuccess","onProgress","beforeUpload","customRequest","withCredentials","openFileDialogOnClick","prefixCls","id","onMouseenter","onMouseleave","onClick"],"mappings":";;AAMO,SAASA,WAAc,GAAA;AAC5B,EAAO,OAAA;AAAA,IACLC,OAAAA,EAAS,CAACC,OAAAA,EAASC,MAAM,CAAA;AAAA,IACzBC,SAAW,EAAA;AAAA,MAAEC,IAAMH,EAAAA,OAAAA;AAAAA,MAASI,OAASC,EAAAA,KAAAA,CAAAA;AAAAA,KAAU;AAAA,IAC/CC,IAAML,EAAAA,MAAAA;AAAAA,IACNM,QAAU,EAAA;AAAA,MAAEJ,IAAMH,EAAAA,OAAAA;AAAAA,MAASI,OAASC,EAAAA,KAAAA,CAAAA;AAAAA,KAAU;AAAA,IAC9CG,YAAcP,EAAAA,MAAAA;AAAAA,IACdQ,MAAAA,EAAQ,CAACR,MAAAA,EAAQS,QAAQ,CAAA;AAAA,IACzBC,MAAQV,EAAAA,MAAAA;AAAAA,IACRW,SAAW,EAAA;AAAA,MAAET,IAAMH,EAAAA,OAAAA;AAAAA,MAASI,OAASC,EAAAA,KAAAA,CAAAA;AAAAA,KAAU;AAAA,IAC/CQ,IAAAA,EAAM,CAACC,MAAAA,EAAQJ,QAAQ,CAAA;AAAA,IAGvBK,OAASD,EAAAA,MAAAA;AAAAA,IACTE,MAAQf,EAAAA,MAAAA;AAAAA,IACRgB,QAAU,EAAA;AAAA,MAAEd,IAAMH,EAAAA,OAAAA;AAAAA,MAASI,OAASC,EAAAA,KAAAA,CAAAA;AAAAA,KAAU;AAAA,IAC9Ca,YAAcR,EAAAA,QAAAA;AAAAA,IAGdS,QAAUT,EAAAA,QAAAA;AAAAA,IACVU,OAASV,EAAAA,QAAAA;AAAAA,IACTW,OAASX,EAAAA,QAAAA;AAAAA,IAGTY,SAAWZ,EAAAA,QAAAA;AAAAA,IAGXa,UAAYb,EAAAA,QAAAA;AAAAA,IACZc,YAAcd,EAAAA,QAAAA;AAAAA,IAMde,aAAef,EAAAA,QAAAA;AAAAA,IACfgB,eAAiB,EAAA;AAAA,MAAEvB,IAAMH,EAAAA,OAAAA;AAAAA,MAASI,OAASC,EAAAA,KAAAA,CAAAA;AAAAA,KAAU;AAAA,IACrDsB,qBAAuB,EAAA;AAAA,MAAExB,IAAMH,EAAAA,OAAAA;AAAAA,MAASI,OAASC,EAAAA,KAAAA,CAAAA;AAAAA,KAAU;AAAA,IAC3DuB,SAAW3B,EAAAA,MAAAA;AAAAA,IACX4B,EAAI5B,EAAAA,MAAAA;AAAAA,IACJ6B,YAAcpB,EAAAA,QAAAA;AAAAA,IACdqB,YAAcrB,EAAAA,QAAAA;AAAAA,IACdsB,OAAStB,EAAAA,QAAAA;AAAAA,GACX,CAAA;AACF;;;;"}