{"version":3,"file":"upload-list.vue2.cjs","sources":["../../../components/upload/upload-list.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Renderer } from '@/components/renderer'\nimport { UploadFile } from '@/components/upload-file'\n\nimport { computed } from 'vue'\n\nimport { emitEvent, useNameHelper, useProps } from '@vexip-ui/config'\nimport { uploadListProps } from './props'\nimport { uploadListTypes } from './symbol'\n\nimport type { UploadFileState, UploadListSlots } from './symbol'\n\ndefineOptions({ name: 'UploadList' })\n\nconst _props = defineProps(uploadListProps)\nconst props = useProps('uploadList', _props, {\n  files: {\n    default: () => [],\n    static: true,\n  },\n  selectToAdd: false,\n  iconRenderer: {\n    default: null,\n    isFunc: true,\n  },\n  type: {\n    default: 'name',\n    validator: value => uploadListTypes.includes(value),\n  },\n  loadingText: null,\n  style: null,\n  precision: 2,\n  // 'canPreview' using UploadFile default\n  slots: () => ({}),\n})\n\nconst slots = defineSlots<UploadListSlots>()\n\nconst nh = useNameHelper('upload')\nconst transitionName = computed(() => nh.ns('fade'))\n\nfunction handleDelete(file: UploadFileState) {\n  emitEvent(props.onDelete, file)\n}\n\nfunction handlePreview(file: UploadFileState) {\n  emitEvent(props.onPreview, file)\n}\n</script>\n\n<template>\n  <ul\n    :class=\"[nh.be('files'), nh.bs('vars'), props.inherit && nh.bem('files', 'inherit')]\"\n    :style=\"props.style\"\n  >\n    <Transition\n      v-for=\"item in props.files\"\n      :key=\"item.id\"\n      appear\n      :name=\"props.selectToAdd ? transitionName : undefined\"\n    >\n      <UploadFile\n        inherit\n        :file=\"item\"\n        :icon-renderer=\"props.iconRenderer\"\n        :list-type=\"props.type\"\n        :loading-text=\"props.loadingText\"\n        :select-to-add=\"props.selectToAdd\"\n        :precision=\"props.precision\"\n        :can-preview=\"props.canPreview\"\n        @delete=\"handleDelete\"\n        @preview=\"handlePreview\"\n      >\n        <template v-if=\"slots.item || props.slots.item\" #default=\"{ file, status, percentage }\">\n          <slot\n            name=\"item\"\n            :file=\"file\"\n            :status=\"status\"\n            :percentage=\"percentage\"\n          >\n            <Renderer\n              :renderer=\"props.slots.item\"\n              :data=\"{\n                file,\n                status,\n                percentage\n              }\"\n            ></Renderer>\n          </slot>\n        </template>\n        <template v-if=\"slots.icon || props.slots.icon\" #icon=\"{ file, status, percentage }\">\n          <slot\n            name=\"icon\"\n            :file=\"file\"\n            :status=\"status\"\n            :percentage=\"percentage\"\n          >\n            <Renderer :renderer=\"props.slots.icon\" :data=\"{ file, status, percentage }\"></Renderer>\n          </slot>\n        </template>\n      </UploadFile>\n    </Transition>\n    <slot name=\"suffix\">\n      <Renderer :renderer=\"props.slots.suffix\"></Renderer>\n    </slot>\n  </ul>\n</template>\n"],"names":["_props","__props","props","useProps","value","uploadListTypes","slots","_useSlots","nh","useNameHelper","transitionName","computed","handleDelete","file","emitEvent","handlePreview","_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_openBlock","_Fragment","_renderList","item","_createBlock","_Transition","_createVNode","UploadFile","_withCtx","status","percentage","_renderSlot","_ctx","Renderer"],"mappings":"uWAcA,MAAMA,EAASC,EACTC,EAAQC,EAAAA,SAAS,aAAcH,EAAQ,CAC3C,MAAO,CACL,QAAS,IAAM,CAAC,EAChB,OAAQ,EACV,EACA,YAAa,GACb,aAAc,CACZ,QAAS,KACT,OAAQ,EACV,EACA,KAAM,CACJ,QAAS,OACT,UAAWI,GAASC,EAAgB,gBAAA,SAASD,CAAK,CACpD,EACA,YAAa,KACb,MAAO,KACP,UAAW,EAEX,MAAO,KAAO,CAAC,EAAA,CAChB,EAEKE,EAAQC,EAAAA,SAAA,EAERC,EAAKC,gBAAc,QAAQ,EAC3BC,EAAiBC,EAAAA,SAAS,IAAMH,EAAG,GAAG,MAAM,CAAC,EAEnD,SAASI,EAAaC,EAAuB,CACjCC,YAAAZ,EAAM,SAAUW,CAAI,CAAA,CAGhC,SAASE,EAAcF,EAAuB,CAClCC,YAAAZ,EAAM,UAAWW,CAAI,CAAA,6BAK/BG,EAAA,mBAsDK,KAAA,CArDF,MAAQC,EAAA,eAAA,CAAAC,EAAA,MAAAV,CAAA,EAAG,YAAaU,EAAAA,MAAEV,CAAA,EAAC,GAAE,MAAA,EAAUU,WAAM,SAAWA,EAAA,MAAAV,CAAA,EAAG,IAAG,QAAA,SAAA,CAAA,CAAA,EAC9D,MAAKW,EAAA,eAAED,QAAKhB,CAAA,EAAC,KAAK,CAAA,IAEnBkB,EAAAA,UAAA,EAAA,EAAAJ,EAAA,mBA8CaK,EA7CI,SAAA,KAAAC,aAAAJ,EAAAA,MAAAhB,CAAA,EAAM,MAAdqB,kBADTC,EAAA,YA8CaC,aAAA,CA5CV,IAAKF,EAAK,GACX,OAAA,GACC,KAAML,EAAK,MAAAhB,CAAA,EAAC,YAAcQ,EAAA,MAAiB,MAAA,qBAE5C,IAuCa,CAvCbgB,cAuCaR,EAAAA,MAAAS,CAAA,EAAA,CAtCX,QAAA,GACC,KAAMJ,EACN,gBAAeL,EAAAA,MAAKhB,CAAA,EAAC,aACrB,YAAWgB,EAAAA,MAAKhB,CAAA,EAAC,KACjB,eAAcgB,EAAAA,MAAKhB,CAAA,EAAC,YACpB,gBAAegB,EAAAA,MAAKhB,CAAA,EAAC,YACrB,UAAWgB,EAAAA,MAAKhB,CAAA,EAAC,UACjB,cAAagB,EAAAA,MAAKhB,CAAA,EAAC,WACnB,SAAQU,EACR,UAASG,wBAEMT,EAAM,MAAQY,EAAA,SAAM,MAAM,WAAO,UAC/C,GAAAU,EAAA,QAAA,CAcO,CAfmD,KAAAf,EAAM,OAAAgB,EAAQ,WAAAC,KAAU,CAClFC,aAcOC,EAAA,OAAA,OAAA,CAZJ,KAAAnB,EACA,OAAAgB,EACA,WAAAC,CAAA,EAJH,IAcO,CARLJ,cAOYR,EAAAA,MAAAe,CAAA,EAAA,CANT,SAAUf,EAAA,MAAAhB,CAAA,EAAM,MAAM,KACtB,KAAI,CAAoB,KAAAW,EAAsB,OAAAgB,EAAwB,WAAAC,CAAA,mDAQ7DxB,EAAM,MAAQY,EAAA,SAAM,MAAM,WAAO,OAC/C,GAAAU,EAAA,QAAA,CAOO,CARgD,KAAAf,EAAM,OAAAgB,EAAQ,WAAAC,KAAU,CAC/EC,aAOOC,EAAA,OAAA,OAAA,CALJ,KAAAnB,EACA,OAAAgB,EACA,WAAAC,CAAA,EAJH,IAOO,CADLJ,cAAuFR,EAAAA,MAAAe,CAAA,EAAA,CAA5E,SAAUf,EAAA,MAAAhB,CAAA,EAAM,MAAM,KAAO,KAAQ,CAAA,KAAAW,EAAM,OAAAgB,EAAQ,WAAAC,CAAU,uLAKhFC,EAAAA,WAEOC,qBAFP,IAEO,CADLN,cAAoDR,EAAAA,MAAAe,CAAA,EAAA,CAAzC,SAAUf,EAAA,MAAAhB,CAAA,EAAM,MAAM,MAAA"}