tdesign-vue-next
Version:
TDesign Component for vue-next
1 lines • 18.2 kB
Source Map (JSON)
{"version":3,"file":"upload.mjs","sources":["../../../components/upload/upload.tsx"],"sourcesContent":["import { computed, defineComponent } from 'vue';\nimport { UploadIcon as TdUploadIcon } from 'tdesign-icons-vue-next';\nimport props from './props';\nimport NormalFile from './components/normal-file';\nimport DraggerFile from './components/dragger-file';\nimport ImageCard from './components/image-card';\nimport MultipleFlowList from './components/multiple-flow-list';\nimport Button from '../button';\nimport { CommonDisplayFileProps, UploadProps } from './types';\nimport CustomFile from './components/custom-file';\n\nimport { UploadDragEvents } from './hooks/useDrag';\nimport useUpload from './hooks/useUpload';\nimport { useContent, useTNodeJSX, useDisabled, useGlobalIcon } from '@tdesign/shared-hooks';\n\nexport default defineComponent({\n name: 'TUpload',\n props,\n setup(props: UploadProps, { slots, expose }) {\n const renderContent = useContent();\n const renderTNodeJSX = useTNodeJSX();\n const {\n locale,\n classPrefix,\n triggerUploadText,\n toUploadFiles,\n displayFiles,\n uploadValue,\n sizeOverLimitMessage,\n uploading,\n tipsClasses,\n errorClasses,\n placeholderClass,\n inputRef,\n onInnerRemove,\n uploadFiles,\n onNormalFileChange,\n onDragFileChange,\n onPasteFileChange,\n triggerUpload,\n cancelUpload,\n uploadFilePercent,\n } = useUpload(props);\n const disabled = useDisabled();\n\n const { UploadIcon } = useGlobalIcon({\n UploadIcon: TdUploadIcon,\n });\n\n const triggerUploadButtonText = computed(\n () => props.triggerButtonProps?.default || props.triggerButtonProps?.content || triggerUploadText.value,\n );\n\n expose({\n upload: inputRef.value,\n uploading,\n triggerUpload,\n uploadFiles,\n cancelUpload,\n uploadFilePercent,\n });\n\n const renderTrigger = () => {\n const getDefaultTrigger = () => {\n if (props.theme === 'file-input') {\n return (\n <Button disabled={disabled.value} variant=\"outline\" {...props.triggerButtonProps}>\n {triggerUploadButtonText.value}\n </Button>\n );\n }\n return (\n <Button disabled={disabled.value} variant=\"outline\" icon={() => <UploadIcon />} {...props.triggerButtonProps}>\n {triggerUploadButtonText.value}\n </Button>\n );\n };\n return (\n renderContent('default', 'trigger', {\n params: { dragActive: false, files: uploadValue.value },\n }) || getDefaultTrigger()\n );\n };\n\n const commonDisplayFileProps = computed<CommonDisplayFileProps>(() => ({\n accept: props.accept,\n files: uploadValue.value,\n toUploadFiles: toUploadFiles.value,\n displayFiles: displayFiles.value,\n theme: props.theme,\n placeholder: props.placeholder,\n disabled: disabled.value,\n tips: props.tips,\n status: props.status,\n sizeOverLimitMessage: sizeOverLimitMessage.value,\n uploading: uploading.value,\n classPrefix: classPrefix.value,\n tipsClasses,\n errorClasses,\n placeholderClass,\n locale: locale.value,\n autoUpload: props.autoUpload,\n abridgeName: props.abridgeName,\n showUploadProgress: props.showUploadProgress,\n fileListDisplay: props.fileListDisplay,\n onRemove: onInnerRemove,\n uploadPastedFiles: props.uploadPastedFiles,\n onPasteFileChange: onPasteFileChange,\n imageViewerProps: props.imageViewerProps,\n }));\n\n const dragProps: UploadDragEvents = {\n onDragFileChange,\n onDragenter: props.onDragenter,\n onDragleave: props.onDragleave,\n onDrop: props.onDrop,\n };\n\n const uploadClasses = computed(() => [\n `${classPrefix.value}-upload`,\n {\n [`${classPrefix.value}-upload--theme-${props.theme}`]: props.theme === 'file-input',\n },\n ]);\n\n const getNormalFileNode = () => (\n <NormalFile\n {...commonDisplayFileProps.value}\n multiple={props.multiple}\n v-slots={{\n fileListDisplay: slots.fileListDisplay,\n 'file-list-display': slots['file-list-display'],\n }}\n >\n <div class={`${classPrefix.value}-upload__trigger`} onClick={triggerUpload}>\n {renderTrigger()}\n </div>\n </NormalFile>\n );\n\n const getSingleFileDraggerUploadNode = () => (\n <DraggerFile\n {...commonDisplayFileProps.value}\n dragEvents={dragProps}\n trigger={props.trigger}\n cancelUpload={cancelUpload}\n triggerUpload={triggerUpload}\n uploadFiles={uploadFiles}\n onCancelUpload={props.onCancelUpload}\n v-slots={{\n fileListDisplay: slots.fileListDisplay,\n 'file-list-display': slots['file-list-display'],\n }}\n />\n );\n\n const getImageCardUploadNode = () => (\n <ImageCard\n {...commonDisplayFileProps.value}\n multiple={props.multiple}\n max={props.max}\n showUploadProgress={props.showUploadProgress}\n triggerUpload={triggerUpload}\n uploadFiles={uploadFiles}\n cancelUpload={cancelUpload}\n onPreview={props.onPreview}\n showImageFileName={props.showImageFileName}\n v-slots={{\n fileListDisplay: slots.fileListDisplay,\n 'file-list-display': slots['file-list-display'],\n trigger: slots.trigger,\n }}\n />\n );\n\n const getFlowListNode = () => (\n <MultipleFlowList\n {...commonDisplayFileProps.value}\n isBatchUpload={props.isBatchUpload}\n draggable={props.draggable}\n dragEvents={dragProps}\n uploadFiles={uploadFiles}\n cancelUpload={cancelUpload}\n onPreview={props.onPreview}\n showImageFileName={props.showImageFileName}\n showThumbnail={props.showThumbnail}\n uploadButton={props.uploadButton}\n cancelUploadButton={props.cancelUploadButton}\n v-slots={{\n fileListDisplay: slots.fileListDisplay,\n 'file-list-display': slots['file-list-display'],\n uploadButton: slots.uploadButton,\n 'upload-button': slots['upload-button'],\n cancelUploadButton: slots.cancelUploadButton,\n 'cancel-upload-button': slots['cancel-upload-button'],\n }}\n >\n <div class={`${classPrefix.value}-upload__trigger`} onClick={triggerUpload}>\n {!props.draggable && renderTrigger()}\n </div>\n </MultipleFlowList>\n );\n\n const getCustomFile = () => (\n <CustomFile\n {...commonDisplayFileProps.value}\n draggable={props.draggable}\n dragContent={props.dragContent}\n dragEvents={dragProps}\n triggerUpload={triggerUpload}\n trigger={props.trigger}\n childrenNode={slots.default}\n v-slots={{\n dragContent: slots.dragContent,\n 'drag-content': slots['drag-content'],\n trigger: slots.trigger,\n }}\n >\n {renderTrigger()}\n </CustomFile>\n );\n\n return () => (\n <div class={uploadClasses.value} onPaste={props.uploadPastedFiles ? onPasteFileChange : undefined}>\n <input\n ref={inputRef}\n type=\"file\"\n disabled={disabled.value}\n onChange={onNormalFileChange}\n multiple={props.multiple}\n accept={props.accept}\n hidden\n {...(props.inputAttributes ? { ...props.inputAttributes } : {})}\n />\n {['file', 'file-input'].includes(props.theme) && !props.draggable && getNormalFileNode()}\n {['file', 'image'].includes(props.theme) && props.draggable && getSingleFileDraggerUploadNode()}\n {props.theme === 'image' && !props.draggable && getImageCardUploadNode()}\n {['image-flow', 'file-flow'].includes(props.theme) && getFlowListNode()}\n {props.theme === 'custom' && getCustomFile()}\n\n {Boolean(props.tips || slots.tips) && (\n <small class={[tipsClasses, { [`${classPrefix.value}-upload__tips-${props.status}`]: props.status }]}>\n {renderTNodeJSX('tips')}\n </small>\n )}\n {sizeOverLimitMessage.value && <small class={errorClasses}>{sizeOverLimitMessage.value}</small>}\n </div>\n );\n },\n});\n"],"names":["defineComponent","name","props","setup","slots","_ref","expose","renderContent","useContent","renderTNodeJSX","useTNodeJSX","_useUpload","useUpload","locale","classPrefix","triggerUploadText","toUploadFiles","displayFiles","uploadValue","sizeOverLimitMessage","uploading","tipsClasses","errorClasses","placeholderClass","inputRef","onInnerRemove","uploadFiles","onNormalFileChange","onDragFileChange","onPasteFileChange","triggerUpload","cancelUpload","uploadFilePercent","disabled","useDisabled","_useGlobalIcon","useGlobalIcon","UploadIcon","TdUploadIcon","triggerUploadButtonText","computed","_props2$triggerButton","_props2$triggerButton2","triggerButtonProps","content","value","upload","renderTrigger","getDefaultTrigger","theme","_createVNode","Button","_mergeProps","_default","icon","params","dragActive","files","commonDisplayFileProps","accept","placeholder","tips","status","autoUpload","abridgeName","showUploadProgress","fileListDisplay","onRemove","uploadPastedFiles","imageViewerProps","dragProps","onDragenter","onDragleave","onDrop","uploadClasses","concat","_defineProperty","getNormalFileNode","NormalFile","multiple","getSingleFileDraggerUploadNode","DraggerFile","trigger","onCancelUpload","getImageCardUploadNode","ImageCard","max","onPreview","showImageFileName","getFlowListNode","MultipleFlowList","isBatchUpload","draggable","showThumbnail","uploadButton","cancelUploadButton","getCustomFile","CustomFile","dragContent","inputAttributes","_objectSpread","includes","Boolean"],"mappings":"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"}