{"version":3,"file":"upload.mjs","sources":["../../../../../../../packages/components/upload/src/upload.vue"],"sourcesContent":["<template>\n  <div>\n    <upload-list\n      v-if=\"isPictureCard && showFileList\"\n      :disabled=\"disabled\"\n      :list-type=\"listType\"\n      :files=\"uploadFiles\"\n      :crossorigin=\"crossorigin\"\n      :handle-preview=\"onPreview\"\n      @remove=\"handleRemove\"\n    >\n      <template v-if=\"$slots.file\" #default=\"{ file, index }\">\n        <slot name=\"file\" :file=\"file\" :index=\"index\" />\n      </template>\n      <template #append>\n        <upload-content ref=\"uploadRef\" v-bind=\"uploadContentProps\">\n          <slot v-if=\"$slots.trigger\" name=\"trigger\" />\n          <slot v-if=\"!$slots.trigger && $slots.default\" />\n        </upload-content>\n      </template>\n    </upload-list>\n\n    <upload-content\n      v-if=\"!isPictureCard || (isPictureCard && !showFileList)\"\n      ref=\"uploadRef\"\n      v-bind=\"uploadContentProps\"\n    >\n      <slot v-if=\"$slots.trigger\" name=\"trigger\" />\n      <slot v-if=\"!$slots.trigger && $slots.default\" />\n    </upload-content>\n\n    <slot v-if=\"$slots.trigger\" />\n    <slot name=\"tip\" />\n    <upload-list\n      v-if=\"!isPictureCard && showFileList\"\n      :disabled=\"disabled\"\n      :list-type=\"listType\"\n      :files=\"uploadFiles\"\n      :crossorigin=\"crossorigin\"\n      :handle-preview=\"onPreview\"\n      @remove=\"handleRemove\"\n    >\n      <template v-if=\"$slots.file\" #default=\"{ file, index }\">\n        <slot name=\"file\" :file=\"file\" :index=\"index\" />\n      </template>\n    </upload-list>\n  </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, onBeforeUnmount, provide, shallowRef, toRef } from 'vue'\nimport { useFormDisabled } from '@hd-front-end/components/form'\nimport { uploadContextKey } from './constants'\nimport UploadList from './upload-list.vue'\nimport UploadContent from './upload-content.vue'\nimport { useHandlers } from './use-handlers'\nimport { uploadProps } from './upload'\n\nimport type {\n  UploadContentInstance,\n  UploadContentProps,\n} from './upload-content'\n\ndefineOptions({\n  name: 'ElUpload',\n})\n\nconst props = defineProps(uploadProps)\n\nconst disabled = useFormDisabled()\n\nconst uploadRef = shallowRef<UploadContentInstance>()\nconst {\n  abort,\n  submit,\n  clearFiles,\n  uploadFiles,\n  handleStart,\n  handleError,\n  handleRemove,\n  handleSuccess,\n  handleProgress,\n  revokeFileObjectURL,\n} = useHandlers(props, uploadRef)\n\nconst isPictureCard = computed(() => props.listType === 'picture-card')\n\nconst uploadContentProps = computed<UploadContentProps>(() => ({\n  ...props,\n  fileList: uploadFiles.value,\n  onStart: handleStart,\n  onProgress: handleProgress,\n  onSuccess: handleSuccess,\n  onError: handleError,\n  onRemove: handleRemove,\n}))\n\nonBeforeUnmount(() => {\n  uploadFiles.value.forEach(revokeFileObjectURL)\n})\n\nprovide(uploadContextKey, {\n  accept: toRef(props, 'accept'),\n})\n\ndefineExpose({\n  /** @description cancel upload request */\n  abort,\n  /** @description upload the file list manually */\n  submit,\n  /** @description clear the file list  */\n  clearFiles,\n  /** @description select the file manually */\n  handleStart,\n  /** @description remove the file manually */\n  handleRemove,\n})\n</script>\n"],"names":["_createElementBlock","showFileList","_createBlock","_unref","listType","crossorigin","onPreview","_createSlots","_withCtx","_createVNode","_mergeProps","$slots","_renderSlot","_createCommentVNode","_openBlock"],"mappings":";;;;;;;;;mCA+Dc,CAAA;AAAA,EACZ,IAAM,EAAA,UAAA;AACR,CAAA,CAAA,CAAA;;;;;AAEA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,WAAW,eAAgB,EAAA,CAAA;AAEjC,IAAA,MAAM,YAAY,UAAkC,EAAA,CAAA;AAC9C,IAAA,MAAA;AAAA,MACJ,KAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,MACA,aAAA;AAAA,MACA,cAAA;AAAA,MACA,mBAAA;AAAA,KACF,GAAI,WAAY,CAAA,KAAA,EAAO,SAAS,CAAA,CAAA;AAEhC,IAAA,MAAM,aAAgB,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,aAAa,cAAc,CAAA,CAAA;AAEhE,IAAA,MAAA,kBAAA,GAAqB,SAA6B,OAAO;AAAA,MAC7D,GAAG,KAAA;AAAA,MACH,UAAU,WAAY,CAAA,KAAA;AAAA,MACtB,OAAS,EAAA,WAAA;AAAA,MACT,UAAY,EAAA,cAAA;AAAA,MACZ,SAAW,EAAA,aAAA;AAAA,MACX,OAAS,EAAA,WAAA;AAAA,MACT,QAAU,EAAA,YAAA;AAAA,KACV,CAAA,CAAA,CAAA;AAEF,IAAA,eAAA,CAAgB,MAAM;AACR,MAAA,WAAA,CAAA,KAAA,CAAM,QAAQ,mBAAmB,CAAA,CAAA;AAAA,KAC9C,CAAA,CAAA;AAED,IAAA,OAAA,CAAQ,gBAAkB,EAAA;AAAA,MACxB,MAAA,EAAQ,KAAM,CAAA,KAAA,EAAO,QAAQ,CAAA;AAAA,KAC9B,CAAA,CAAA;AAEY,IAAA,QAAA,CAAA;AAAA,MAEX,KAAA;AAAA,MAEA,MAAA;AAAA,MAEA,UAAA;AAAA,MAEA,WAAA;AAAA,MAEA,YAAA;AAAA,KACD,CAAA,CAAA;;0BAnHCA,kBA6CM,CAAA,KAAA,EAAA,IAAA,EAAA;AAAA,QA3CI,cAAA,KAAiBC,IAAAA,IAAAA,8BADzBC,YAkBc,UAAA,EAAA;AAAA,UAAA,GAAA,EAAA,CAAA;AAAA,UAhBX,QAAA,EAAUC,MAAA,QAAA,CAAA;AAAA,UACV,aAAWC,IAAAA,CAAAA,QAAAA;AAAAA,UACX,KAAA,EAAOD,MAAA,WAAA,CAAA;AAAA,UACP,aAAaE,IAAAA,CAAAA,WAAAA;AAAAA,UACb,kBAAgBC,IAAAA,CAAAA,SAAAA;AAAAA,UAChB,QAAA,EAAQH,MAAA,YAAA,CAAA;AAAA,WAAAI,WAAA,CAAA;AAAA,UAKE,MAAA,EAAMC,QACf,MAGiB;AAAA,YAHjBC,WAAA;AAAA,cAGiB,aAAA;AAAA,cAHjBC,UAGiB,CAAA;AAAA,gBAHG,OAAA,EAAA,WAAA;AAAA,gBAAJ,GAAI,EAAA,SAAA;AAAA,eAAA,EAAoB,mBAAkB,KAAA,CAAA;AAAA,cAAA;AAAA,gBAAA,OAAA,EAAAF,QACxD,MAA6C;AAAA,kBAAjCG,IAAAA,CAAAA,MAAAA,CAAO,OAAnB,GAAAC,UAAA,CAA6C,KAAA,MAAA,EAAA,SAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,GAAAC,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,mBAChCF,IAAO,CAAA,MAAA,CAAA,WAAWA,IAAO,CAAA,MAAA,CAAA,UAAtCC,UAAiD,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,GAAAC,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA;;;;;;;;UANrCF,IAAAA,CAAO,OAAA,IAAA,GAAA;AAAA,YAAO,IAAA,EAAA,SAAA;AAAA,YAC5B,IAAAH,OAAA,CAAA,CAAgD,EADT,IAAA,EAAM,OAAK,KAAA;AAAA,cAClDI,UAAA,CAAgD,IAAA,CAAA,MAAA,EAAA,MAAA,EAAA;AAAA,gBAA7B,IAAA;AAAA,gBAAa,KAAA;AAAA,eAAA,CAAA;AAAA;;;;SAW3B,cAAkB,KAAA,IAAA,aAAA,CAAA,SAAa,CAAKX,IAAAA,CAD7C,YAAA,IAAAa,SAAA,EAAA,EAAAZ,WAAA;AAAA,UAOiB,aAAA;AAAA,UAPjBQ,UAOiB,CAAA;AAAA,YAAA,GAAA,EAAA,CAAA;AAAA,YALX,OAAA,EAAA,WAAA;AAAA,YAAJ,GAAI,EAAA,SAAA;AAAA,WAAA,EACI,mBAAkB,KAAA,CAAA;AAAA,UAAA;AAAA,YAAA,OAAA,EAAAF,QAE1B,MAA6C;AAAA,cAAjCG,IAAAA,CAAAA,MAAAA,CAAO,OAAnB,GAAAC,UAAA,CAA6C,KAAA,MAAA,EAAA,SAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,GAAAC,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,eAChCF,IAAO,CAAA,MAAA,CAAA,WAAWA,IAAO,CAAA,MAAA,CAAA,UAAtCC,UAAiD,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,GAAAC,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA;;;;;QAGvCF,IAAAA,CAAAA,MAAAA,CAAO,OAAnB,GAAAC,UAAA,CAA8B,KAAA,MAAA,EAAA,SAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,GAAAC,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,QAC9BD,UAAA,CAAmB,IAAA,CAAA,MAAA,EAAA,KAAA,CAAA;AAAA,QAEV,CAAA,cAAA,KAAiBX,IAAAA,IAAAA,8BAD1BC,YAYc,UAAA,EAAA;AAAA,UAAA,GAAA,EAAA,CAAA;AAAA,UAVX,QAAA,EAAUC,MAAA,QAAA,CAAA;AAAA,UACV,aAAWC,IAAAA,CAAAA,QAAAA;AAAAA,UACX,KAAA,EAAOD,MAAA,WAAA,CAAA;AAAA,UACP,aAAaE,IAAAA,CAAAA,WAAAA;AAAAA,UACb,kBAAgBC,IAAAA,CAAAA,SAAAA;AAAAA,UAChB,QAAA,EAAQH,MAAA,YAAA,CAAA;AAAA,WAAAI,WAAA,CAAA;AAAA;;UAEOI,IAAAA,CAAO,OAAA,IAAA,GAAA;AAAA,YAAO,IAAA,EAAA,SAAA;AAAA,YAC5B,IAAAH,OAAA,CAAA,CAAgD,EADT,IAAA,EAAM,OAAK,KAAA;AAAA,cAClDI,UAAA,CAAgD,IAAA,CAAA,MAAA,EAAA,MAAA,EAAA;AAAA,gBAA7B,IAAA;AAAA,gBAAa,KAAA;AAAA,eAAA,CAAA;AAAA;;;;;;;;;;;;"}