UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

1 lines 4.51 kB
{"version":3,"file":"custom-file.mjs","sources":["../../../src/upload/themes/custom-file.tsx"],"sourcesContent":["import { defineComponent, PropType, toRefs } from 'vue';\nimport useDrag, { UploadDragEvents } from '../hooks/useDrag';\nimport { CommonDisplayFileProps } from '../interface';\nimport { commonProps } from '../constants';\nimport { useContent } from '../../hooks/tnode';\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\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\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":["name","props","dragEvents","draggable","dragContent","trigger","triggerUpload","childrenNode","setup","dragActive","_createVNode","params","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,iBAAA,eAAA,CAAA;AACEA,EAAAA,IAAAA,EAAAA,kBAAAA;AAEAC,EAAAA,KAAAA,EAAAA,aAAAA,CAAAA,aAAAA,CAAAA,EAAAA,EAAAA,WAAAA,CAAAA,EAAAA,EAAAA,EAAAA;AAEEC,IAAAA,UAAAA,EAAAA,MAAAA;AACAC,IAAAA,SAAAA,EAAAA,OAAAA;AAEAC,IAAAA,WAAAA,EAAAA,QAAAA;AACAC,IAAAA,OAAAA,EAAAA,QAAAA;AACAC,IAAAA,aAAAA,EAAAA,QAAAA;AACAC,IAAAA,YAAAA,EAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA;;AAGFC,EAAAA,KAAAA,EAAAA,SAAAA,KAAAA,CAAAA,KAAAA,EAAAA,IAAAA,EAAAA;AAAwB,IAAA,IAAA,KAAA,GAAA,IAAA,CAAA,KAAA,CAAA;AACtB,IAAA,IAAA,OAAA,GAAA,MAAA,CAAA,KAAA,CAAA;;;;;AAEM,IAAA,IAAA,UAAA,GAAA,IAAA,CAAA,UAAA,CAAA;AAEN,IAAA,IAAA,aAAA,GAAA,UAAA,EAAA,CAAA;AAEA,IAAA,IAAA,iBAAA,GAAA,SAAA,iBAAA,GAAA;AAAgC,MAAA,IAAA,mBAAA,CAAA;AACxB,MAAA,IAAA,MAAA,GAAA;AAAWC,QAAAA,UAAAA,EAAAA,UAAAA,CAAAA,KAAAA,IAAAA,KAAAA;;;AACjB,MAAA,OAAAC,WAAA,CAAA,KAAA,EAAA;;;;;;AAOI,QAAA,SAAA,EAAA,KAAA,CAAA,aAAA;AAAe,OAAA,EAAA,CAAAA,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,EAAA,CAAA,MAAA,CAAA,WAAA,CAAA,KAAA,EAAA,kBAAA,CAAA;AAEY,OAAA,EAAA,CAAA,aAAA,CAAA,aAAA,EAAA,SAAA,EAAA;AACkBC,QAAAA,MAAAA,EAAAA,MAAAA;AAAO,OAAA,CAAA,KAAA,CAAA,mBAAA,GAAA,KAAA,CAAA,YAAA,MAAA,IAAA,IAAA,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,mBAAA,CAAA,IAAA,CAAA,KAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;;;AAMnD,MAAA,OAAAD,WAAA,CAAAE,QAAA,EAAA,IAAA,EAAA,CAAA,KAAA,CAAA,SAAA,GAAA,iBAAA,EAAA,GAAAF,WAAA,CAAA,KAAA,EAAA;AAKD,QAAA,OAAA,EAAA,EAAA,CAAA,MAAA,CAAA,WAAA,CAAA,KAAA,EAAA,kBAAA,CAAA;AAAoD,QAAA,SAAA,EAAA,KAAA,CAAA,aAAA;AAAe,OAAA,EAAA,CAAA,CAAA,CAAA,oBAAA,GAAA,KAAA,CAAA,YAAA,MAAA,IAAA,IAAA,oBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,oBAAA,CAAA,IAAA,CAAA,KAAA,EAAA;;AACf,OAAA,CAAA,MAAA,CAAA,cAAA,GAAA,KAAA,CAAA,SAAA,CAAA,MAAA,IAAA,IAAA,cAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAK5D,GAAA;AACF,CAAA,CAAA;;;;"}