UNPKG

tdesign-vue-next

Version:
1 lines 5.38 kB
{"version":3,"file":"custom-file.mjs","sources":["../../../../components/upload/components/custom-file.tsx"],"sourcesContent":["import { defineComponent, PropType, toRefs } from 'vue';\nimport useDrag, { UploadDragEvents } from '../hooks/useDrag';\nimport { CommonDisplayFileProps } from '../types';\nimport { commonProps } from '../consts';\nimport { useContent } from '@tdesign/shared-hooks';\nimport { TdUploadProps } from '../type';\n\nexport interface CustomFileProps extends CommonDisplayFileProps {\n dragEvents: UploadDragEvents;\n draggable?: boolean;\n // 拖拽区域\n dragContent?: TdUploadProps['dragContent'];\n trigger?: TdUploadProps['trigger'];\n triggerUpload?: (e: MouseEvent) => void;\n childrenNode?: any;\n}\n\nexport default defineComponent({\n name: 'UploadCustomFile',\n props: {\n ...commonProps,\n dragEvents: Object as PropType<CustomFileProps['dragEvents']>,\n draggable: Boolean,\n // 拖拽区域\n dragContent: Function as PropType<CustomFileProps['dragContent']>,\n trigger: Function as PropType<CustomFileProps['trigger']>,\n triggerUpload: Function as PropType<CustomFileProps['triggerUpload']>,\n childrenNode: [String, Function] as PropType<CustomFileProps['childrenNode']>,\n },\n setup(props, { slots }) {\n const { classPrefix, displayFiles, accept } = toRefs(props);\n const drag = useDrag(props.dragEvents, accept);\n const { dragActive } = drag;\n\n const renderContent = useContent();\n\n const renderDragContent = () => {\n const params = { dragActive: dragActive.value || false, files: displayFiles.value };\n return (\n <div\n class={`${classPrefix.value}-upload__dragger ${classPrefix.value}-upload__dragger-center`}\n onDrop={drag.handleDrop}\n onDragenter={drag.handleDragenter}\n onDragover={drag.handleDragover}\n onDragleave={drag.handleDragleave}\n onClick={props.triggerUpload}\n >\n <div class={`${classPrefix.value}-upload__trigger`}>\n {renderContent('dragContent', 'trigger', { params }) || props.childrenNode?.(params)}\n </div>\n </div>\n );\n };\n\n return () => (\n <>\n {props.draggable ? (\n renderDragContent()\n ) : (\n <div class={`${classPrefix.value}-upload__trigger`} onClick={props.triggerUpload}>\n {props.childrenNode?.({ files: displayFiles.value }) || slots.default?.()}\n </div>\n )}\n </>\n );\n },\n});\n"],"names":["defineComponent","name","props","_objectSpread","commonProps","dragEvents","Object","draggable","Boolean","dragContent","Function","trigger","triggerUpload","childrenNode","String","setup","_ref","slots","_toRefs","toRefs","classPrefix","displayFiles","accept","drag","useDrag","dragActive","renderContent","useContent","renderDragContent","_props$childrenNode","params","value","files","_createVNode","concat","handleDrop","handleDragenter","handleDragover","handleDragleave","call","_props$childrenNode2","_slots$default","_Fragment"],"mappings":"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"}