{"version":3,"file":"props.mjs","sources":["../../src/upload/props.ts"],"sourcesContent":["/* eslint-disable */\n\n/**\n * 该文件为脚本自动生成文件，请勿随意修改。如需修改请联系 PMC\n * */\n\nimport { TdUploadProps } from './type';\nimport { PropType } from 'vue';\n\nexport default {\n  /** 接受上传的文件类型，[查看 W3C示例](https://www.w3schools.com/tags/att_input_accept.asp)，[查看 MDN 示例](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input/file) */\n  accept: {\n    type: String,\n    default: '',\n  },\n  /** 上传接口。设接口响应数据为字段 `response`，那么 `response.error` 存在时会判断此次上传失败，并显示错误文本信息；`response.url` 会作为文件上传成功后的地址，并使用该地址显示图片或文件 */\n  action: {\n    type: String,\n    default: '',\n  },\n  /** 添加按钮 */\n  addBtn: {\n    type: Boolean,\n    default: true,\n  },\n  /** 添加按钮内容。值为空，使用默认图标渲染；值为 slot 则表示使用插槽渲染；其他值无效 */\n  addContent: {\n    type: [String, Function] as PropType<TdUploadProps['addContent']>,\n  },\n  /** 是否允许重复上传相同文件名的文件。在 `capture = ''` + 拍照上传场景中，`allowUploadDuplicateFile` 应取 `true`，避免拍照上传的文件被同名文件校验过滤 */\n  allowUploadDuplicateFile: Boolean,\n  /** 是否在选择文件后自动发起请求上传文件 */\n  autoUpload: {\n    type: Boolean,\n    default: true,\n  },\n  /** 如果是自动上传模式 `autoUpload=true`，表示全部文件上传之前的钩子函数，函数参数为上传的文件，函数返回值决定是否继续上传，若返回值为 `false` 则终止上传。<br/>如果是非自动上传模式 `autoUpload=false`，则函数返回值为 `false` 时表示本次选中的文件不会加入到文件列表中，即不触发 `onChange` 事件 */\n  beforeAllFilesUpload: {\n    type: Function as PropType<TdUploadProps['beforeAllFilesUpload']>,\n  },\n  /** 如果是自动上传模式 `autoUpload=true`，表示单个文件上传之前的钩子函数，若函数返回值为 `false` 则表示不上传当前文件。<br/>如果是非自动上传模式 `autoUpload=false`，函数返回值为 `false` 时表示从上传文件中剔除当前文件 */\n  beforeUpload: {\n    type: Function as PropType<TdUploadProps['beforeUpload']>,\n  },\n  /** 图片选取模式，可选值为 camera (直接调起摄像头) */\n  capture: {\n    type: [String, Boolean] as PropType<TdUploadProps['capture']>,\n  },\n  /** 上传请求所需的额外字段，默认字段有 `file`，表示文件信息。可以添加额外的文件名字段，如：`{file_name: \"custom-file-name.txt\"}`。`autoUpload=true` 时有效。也可以使用 `formatRequest` 完全自定义上传请求的字段 */\n  data: {\n    type: Object as PropType<TdUploadProps['data']>,\n  },\n  /** 是否禁用组件 */\n  disabled: {\n    type: Boolean,\n    default: undefined,\n  },\n  /** 用于完全自定义文件列表界面内容(UI)，单文件和多文件均有效 */\n  fileListDisplay: {\n    type: Function as PropType<TdUploadProps['fileListDisplay']>,\n  },\n  /** 已上传文件列表，同 `value`。TS 类型：`UploadFile` */\n  files: {\n    type: Array as PropType<TdUploadProps['files']>,\n    default: undefined as TdUploadProps['files'],\n  },\n  /** 已上传文件列表，同 `value`。TS 类型：`UploadFile`，非受控属性 */\n  defaultFiles: {\n    type: Array as PropType<TdUploadProps['defaultFiles']>,\n    default: (): TdUploadProps['defaultFiles'] => [],\n  },\n  /** 转换文件 `UploadFile` 的数据结构，可新增或修改 `UploadFile` 的属性，注意不能删除 `UploadFile` 属性。`action` 存在时有效 */\n  format: {\n    type: Function as PropType<TdUploadProps['format']>,\n  },\n  /** 用于新增或修改文件上传请求 参数。`action` 存在时有效。一个请求上传一个文件时，默认请求字段有 `file`。<br/>一个请求上传多个文件时，默认字段有 `file[0]/file[1]/file[2]/.../length`，其中 `length` 表示本次上传的文件数量。<br/>⚠️非常注意，此处的 `file[0]/file[1]` 仅仅是一个字段名，并非表示 `file` 是一个数组，接口获取字段时注意区分。<br/>可以使用 `name` 定义 `file` 字段的别名。<br/>也可以使用 `formatRequest` 自定义任意字段，如添加一个字段 `fileList` ，存储文件数组 */\n  formatRequest: {\n    type: Function as PropType<TdUploadProps['formatRequest']>,\n  },\n  /** 用于格式化文件上传后的接口响应数据，`response` 便是接口响应的原始数据。`action` 存在时有效。<br/> 此函数的返回值 `error` 或 `response.error` 会作为错误文本提醒，如果存在会判定为本次上传失败。<br/> 此函数的返回值 `url` 或 `response.url` 会作为上传成功后的链接 */\n  formatResponse: {\n    type: Function as PropType<TdUploadProps['formatResponse']>,\n  },\n  /** 设置上传的请求头部，`action` 存在时有效 */\n  headers: {\n    type: Object as PropType<TdUploadProps['headers']>,\n  },\n  /** 透传 Image 组件全部属性 */\n  imageProps: {\n    type: Object as PropType<TdUploadProps['imageProps']>,\n  },\n  /** 多个文件是否作为一个独立文件包，整体替换，整体删除。不允许追加文件，只允许替换文件。`theme=file-flow` 时有效 */\n  isBatchUpload: Boolean,\n  /** 用于控制文件上传数量，值为 0 则不限制 */\n  max: {\n    type: Number,\n    default: 0,\n  },\n  /** HTTP 请求类型 */\n  method: {\n    type: String as PropType<TdUploadProps['method']>,\n    default: 'POST' as TdUploadProps['method'],\n    validator(val: TdUploadProps['method']): boolean {\n      if (!val) return true;\n      return ['POST', 'GET', 'PUT', 'OPTIONS', 'PATCH', 'post', 'get', 'put', 'options', 'patch'].includes(val);\n    },\n  },\n  /** 模拟进度间隔时间，单位：毫秒，默认：300。由于原始的上传请求，小文件上传进度只有 0 和 100，故而新增模拟进度，每间隔 `mockProgressDuration` 毫秒刷新一次模拟进度。小文件设置小一点，大文件设置大一点。注意：当 `useMockProgress` 为真时，当前设置有效 */\n  mockProgressDuration: {\n    type: Number,\n  },\n  /** 支持多文件上传 */\n  multiple: Boolean,\n  /** 文件上传时的名称 */\n  name: {\n    type: String,\n    default: 'file',\n  },\n  /** 是否支持图片预览，文件没有预览 */\n  preview: {\n    type: Boolean,\n    default: true,\n  },\n  /** 移除按钮 */\n  removeBtn: {\n    type: Boolean,\n    default: true,\n  },\n  /** 自定义上传方法。返回值 `status` 表示上传成功或失败；`error` 或 `response.error` 表示上传失败的原因；<br/>`response` 表示请求上传成功后的返回数据，`response.url` 表示上传成功后的图片/文件地址，`response.files` 表示一个请求上传多个文件/图片后的返回值。<br/>示例一：`{ status: 'fail', error: '上传失败', response }`。<br/>示例二：`{ status: 'success', response: { url: 'https://tdesign.gtimg.com/site/avatar.jpg' } }`。<br/> 示例三：`{ status: 'success', files: [{ url: 'https://xxx.png', name: 'xxx.png' }]}` */\n  requestMethod: {\n    type: Function as PropType<TdUploadProps['requestMethod']>,\n  },\n  /** 图片文件大小限制，默认单位 KB。可选单位有：`'B' | 'KB' | 'MB' | 'GB'`。示例一：`1000`。示例二：`{ size: 2, unit: 'MB', message: '图片大小不超过 {sizeLimit} MB' }` */\n  sizeLimit: {\n    type: [Number, Object] as PropType<TdUploadProps['sizeLimit']>,\n  },\n  /** 是否在请求时间超过 300ms 后显示模拟进度。上传进度有模拟进度和真实进度两种。一般大小的文件上传，真实的上传进度只有 0 和 100，不利于交互呈现，因此组件内置模拟上传进度。真实上传进度一般用于大文件上传 */\n  useMockProgress: {\n    type: Boolean,\n    default: true,\n  },\n  /** 是否在同一个请求中上传全部文件，默认一个请求上传一个文件。多文件上传时有效 */\n  uploadAllFilesInOneRequest: Boolean,\n  /** 已上传文件列表，同 `files`。TS 类型：`UploadFile` */\n  value: {\n    type: Array as PropType<TdUploadProps['value']>,\n    default: undefined as TdUploadProps['value'],\n  },\n  modelValue: {\n    type: Array as PropType<TdUploadProps['value']>,\n    default: undefined as TdUploadProps['value'],\n  },\n  /** 已上传文件列表，同 `files`。TS 类型：`UploadFile`，非受控属性 */\n  defaultValue: {\n    type: Array as PropType<TdUploadProps['defaultValue']>,\n    default: (): TdUploadProps['defaultValue'] => [],\n  },\n  /** 上传请求时是否携带 cookie */\n  withCredentials: Boolean,\n  /** 点击「取消上传」时触发 */\n  onCancelUpload: Function as PropType<TdUploadProps['onCancelUpload']>,\n  /** 已上传文件列表发生变化时触发，`trigger` 表示触发本次的来源 */\n  onChange: Function as PropType<TdUploadProps['onChange']>,\n  /** 点击上传区域时触发 */\n  onClickUpload: Function as PropType<TdUploadProps['onClickUpload']>,\n  /** 上传失败后触发。`response` 指接口响应结果，`response.error` 会作为错误文本提醒。如果希望判定为上传失败，但接口响应数据不包含 `error` 字段，可以使用 `formatResponse` 格式化 `response` 数据结构。如果是多文件多请求上传场景，请到事件 `onOneFileFail` 中查看 `response` */\n  onFail: Function as PropType<TdUploadProps['onFail']>,\n  /** 多文件/图片场景下，单个文件上传失败后触发，如果一个请求上传一个文件，则会触发多次。单文件/图片不会触发 */\n  onOneFileFail: Function as PropType<TdUploadProps['onOneFileFail']>,\n  /** 单个文件上传成功后触发，在多文件场景下会触发多次。`context.file` 表示当前上传成功的单个文件，`context.response` 表示上传请求的返回数据 */\n  onOneFileSuccess: Function as PropType<TdUploadProps['onOneFileSuccess']>,\n  /** 点击图片预览时触发，文件没有预览 */\n  onPreview: Function as PropType<TdUploadProps['onPreview']>,\n  /** 上传进度变化时触发，真实进度和模拟进度都会触发。<br/>⚠️ 原始上传请求，小文件的上传进度只有 0 和 100，故而不会触发 `progress` 事件；只有大文件才有真实的中间进度。如果你希望很小的文件也显示上传进度，保证 `useMockProgress=true` 的情况下，设置 `mockProgressDuration` 为更小的值。<br/>参数 `options.type=real` 表示真实上传进度，`options.type=mock` 表示模拟上传进度 */\n  onProgress: Function as PropType<TdUploadProps['onProgress']>,\n  /** 移除文件时触发 */\n  onRemove: Function as PropType<TdUploadProps['onRemove']>,\n  /** 选择文件或图片之后，上传之前，触发该事件 */\n  onSelectChange: Function as PropType<TdUploadProps['onSelectChange']>,\n  /** 上传成功后触发。<br/>`context.currentFiles` 表示当次请求上传的文件（无论成功或失败），`context.fileList` 表示上传成功后的文件，`context.response` 表示上传请求的返回数据。<br/>`context.results` 表示单次选择全部文件上传成功后的响应结果，可以在这个字段存在时提醒用户上传成功或失败。<br /> */\n  onSuccess: Function as PropType<TdUploadProps['onSuccess']>,\n  /** 文件上传校验结束事件，文件数量超出、文件大小超出限制、文件同名、`beforeAllFilesUpload` 返回值为假、`beforeUpload` 返回值为假等场景会触发。<br/>注意：如果设置允许上传同名文件，即 `allowUploadDuplicateFile=true`，则不会因为文件重名触发该事件。<br/>结合 `status` 和 `tips` 可以在组件中呈现不同类型的错误（或告警）提示 */\n  onValidate: Function as PropType<TdUploadProps['onValidate']>,\n  /** 待上传文件列表发生变化时触发。`context.files` 表示事件参数为待上传文件，`context.trigger` 引起此次变化的触发来源 */\n  onWaitingUploadFilesChange: Function as PropType<TdUploadProps['onWaitingUploadFilesChange']>,\n};\n"],"names":["accept","type","String","default","action","addBtn","Boolean","addContent","Function","allowUploadDuplicateFile","autoUpload","beforeAllFilesUpload","beforeUpload","capture","data","Object","disabled","fileListDisplay","files","Array","defaultFiles","format","formatRequest","formatResponse","headers","imageProps","isBatchUpload","max","Number","method","validator","val","includes","mockProgressDuration","multiple","name","preview","removeBtn","requestMethod","sizeLimit","useMockProgress","uploadAllFilesInOneRequest","value","modelValue","defaultValue","withCredentials","onCancelUpload","onChange","onClickUpload","onFail","onOneFileFail","onOneFileSuccess","onPreview","onProgress","onRemove","onSelectChange","onSuccess","onValidate","onWaitingUploadFilesChange"],"mappings":"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"}