fast-element-plus 1.0.0-alpha.9 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/dist/index.full.js +3180 -4581
  2. package/dist/index.full.js.map +1 -1
  3. package/dist/index.full.min.js +5 -5
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +5 -5
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +3180 -4581
  8. package/dist/index.full.mjs.map +1 -1
  9. package/dist/styles/index.css +2 -2
  10. package/es/components/avatar/index.d.ts +1 -1
  11. package/es/components/avatar/index.mjs.map +1 -1
  12. package/es/components/avatar/src/avatar.d.ts +18 -102
  13. package/es/components/avatar/src/avatar.mjs +1 -2
  14. package/es/components/avatar/src/avatar.mjs.map +1 -1
  15. package/es/components/button/index.d.ts +1 -1
  16. package/es/components/button/index.mjs.map +1 -1
  17. package/es/components/button/src/button.d.ts +35 -180
  18. package/es/components/button/src/button.mjs +14 -4
  19. package/es/components/button/src/button.mjs.map +1 -1
  20. package/es/components/carNumber/src/carNumber.d.ts +58 -194
  21. package/es/components/contextMenu/src/contextMenu.mjs +1 -1
  22. package/es/components/contextMenu/src/contextMenu.mjs.map +1 -1
  23. package/es/components/dialog/src/dialog.d.ts +45 -297
  24. package/es/components/drawer/src/drawer.d.ts +72 -450
  25. package/es/components/form/src/form.d.ts +28 -133
  26. package/es/components/form/src/formItem.d.ts +32 -137
  27. package/es/components/iconSelector/src/iconSelector.mjs +2 -2
  28. package/es/components/iconSelector/src/iconSelector.mjs.map +1 -1
  29. package/es/components/image/src/image.d.ts +43 -253
  30. package/es/components/select/src/select.d.ts +25 -81
  31. package/es/components/select/src/select.mjs +1 -0
  32. package/es/components/select/src/select.mjs.map +1 -1
  33. package/es/components/selectPage/src/selectPage.d.ts +19 -61
  34. package/es/components/selectV2/src/selectV2.d.ts +25 -81
  35. package/es/components/selectV2/src/selectV2.mjs +1 -0
  36. package/es/components/selectV2/src/selectV2.mjs.map +1 -1
  37. package/es/components/table/src/table.d.ts +5 -12
  38. package/es/components/table/src/table.mjs +4 -6
  39. package/es/components/table/src/table.mjs.map +1 -1
  40. package/es/components/table/src/table.state.d.ts +1 -1
  41. package/es/components/table/src/table.type.d.ts +4 -1
  42. package/es/components/table/src/table.type.mjs.map +1 -1
  43. package/es/components/table/src/tableColumn.d.ts +1 -1
  44. package/es/components/table/src/tableColumn.mjs +7 -7
  45. package/es/components/table/src/tableColumn.mjs.map +1 -1
  46. package/es/components/table/src/tableSearchForm.d.ts +6 -4
  47. package/es/components/table/src/tableSearchForm.mjs +2 -2
  48. package/es/components/table/src/tableSearchForm.mjs.map +1 -1
  49. package/es/components/table/src/useTable.mjs +3 -3
  50. package/es/components/table/src/useTable.mjs.map +1 -1
  51. package/es/components/tree/src/tree.d.ts +23 -653
  52. package/es/components/tree/src/tree.mjs +1 -1
  53. package/es/components/tree/src/tree.mjs.map +1 -1
  54. package/es/components/tree/src/tree.type.d.ts +1 -1
  55. package/es/components/treeSelect/src/treeSelect.d.ts +20 -62
  56. package/es/components/treeSelect/src/treeSelect.mjs +1 -0
  57. package/es/components/treeSelect/src/treeSelect.mjs.map +1 -1
  58. package/es/components/upload/src/upload.d.ts +298 -460
  59. package/es/components/upload/src/useUpload.mjs +2 -2
  60. package/es/components/upload/src/useUpload.mjs.map +1 -1
  61. package/es/components/uploadImage/src/uploadImage.d.ts +295 -394
  62. package/es/components/uploadImage/src/uploadImage.mjs +1 -1
  63. package/es/components/uploadImage/src/uploadImage.mjs.map +1 -1
  64. package/es/components/uploadImages/src/uploadImages.d.ts +300 -420
  65. package/es/components/uploadImages/src/uploadImages.mjs +4 -4
  66. package/es/components/uploadImages/src/uploadImages.mjs.map +1 -1
  67. package/es/constants/regex.mjs +13 -13
  68. package/es/constants/regex.mjs.map +1 -1
  69. package/es/directive.d.ts +1 -1
  70. package/es/directives/click-copy/index.d.ts +1 -1
  71. package/es/directives/click-debounce/index.d.ts +1 -1
  72. package/es/directives/click-draggable/index.d.ts +1 -1
  73. package/es/directives/click-icon-copy/index.d.ts +1 -1
  74. package/es/directives/click-longpress/index.d.ts +1 -1
  75. package/es/directives/click-throttle/index.d.ts +1 -1
  76. package/es/element-plus.mjs +1 -1
  77. package/es/element-plus.mjs.map +1 -1
  78. package/es/make-installer.mjs +4 -0
  79. package/es/make-installer.mjs.map +1 -1
  80. package/es/version.d.ts +1 -1
  81. package/es/version.mjs +1 -1
  82. package/es/version.mjs.map +1 -1
  83. package/lib/components/avatar/index.d.ts +1 -1
  84. package/lib/components/avatar/index.js.map +1 -1
  85. package/lib/components/avatar/src/avatar.d.ts +18 -102
  86. package/lib/components/avatar/src/avatar.js +1 -1
  87. package/lib/components/avatar/src/avatar.js.map +1 -1
  88. package/lib/components/button/index.d.ts +1 -1
  89. package/lib/components/button/index.js.map +1 -1
  90. package/lib/components/button/src/button.d.ts +35 -180
  91. package/lib/components/button/src/button.js +1 -1
  92. package/lib/components/button/src/button.js.map +1 -1
  93. package/lib/components/carNumber/src/carNumber.d.ts +58 -194
  94. package/lib/components/contextMenu/src/contextMenu.js +1 -1
  95. package/lib/components/contextMenu/src/contextMenu.js.map +1 -1
  96. package/lib/components/dialog/src/dialog.d.ts +45 -297
  97. package/lib/components/drawer/src/drawer.d.ts +72 -450
  98. package/lib/components/form/src/form.d.ts +28 -133
  99. package/lib/components/form/src/formItem.d.ts +32 -137
  100. package/lib/components/image/src/image.d.ts +43 -253
  101. package/lib/components/select/src/select.d.ts +25 -81
  102. package/lib/components/select/src/select.js +1 -1
  103. package/lib/components/select/src/select.js.map +1 -1
  104. package/lib/components/selectPage/src/selectPage.d.ts +19 -61
  105. package/lib/components/selectV2/src/selectV2.d.ts +25 -81
  106. package/lib/components/selectV2/src/selectV2.js +1 -1
  107. package/lib/components/selectV2/src/selectV2.js.map +1 -1
  108. package/lib/components/table/src/table.d.ts +5 -12
  109. package/lib/components/table/src/table.js +1 -1
  110. package/lib/components/table/src/table.js.map +1 -1
  111. package/lib/components/table/src/table.state.d.ts +1 -1
  112. package/lib/components/table/src/table.type.d.ts +4 -1
  113. package/lib/components/table/src/table.type.js.map +1 -1
  114. package/lib/components/table/src/tableColumn.d.ts +1 -1
  115. package/lib/components/table/src/tableColumn.js +1 -1
  116. package/lib/components/table/src/tableColumn.js.map +1 -1
  117. package/lib/components/table/src/tableSearchForm.d.ts +6 -4
  118. package/lib/components/table/src/tableSearchForm.js +1 -1
  119. package/lib/components/table/src/tableSearchForm.js.map +1 -1
  120. package/lib/components/table/src/useTable.js +1 -1
  121. package/lib/components/table/src/useTable.js.map +1 -1
  122. package/lib/components/tree/src/tree.d.ts +23 -653
  123. package/lib/components/tree/src/tree.js +1 -1
  124. package/lib/components/tree/src/tree.js.map +1 -1
  125. package/lib/components/tree/src/tree.type.d.ts +1 -1
  126. package/lib/components/treeSelect/src/treeSelect.d.ts +20 -62
  127. package/lib/components/treeSelect/src/treeSelect.js +1 -1
  128. package/lib/components/treeSelect/src/treeSelect.js.map +1 -1
  129. package/lib/components/upload/src/upload.d.ts +298 -460
  130. package/lib/components/upload/src/useUpload.js +1 -1
  131. package/lib/components/upload/src/useUpload.js.map +1 -1
  132. package/lib/components/uploadImage/src/uploadImage.d.ts +295 -394
  133. package/lib/components/uploadImage/src/uploadImage.js +1 -1
  134. package/lib/components/uploadImage/src/uploadImage.js.map +1 -1
  135. package/lib/components/uploadImages/src/uploadImages.d.ts +300 -420
  136. package/lib/components/uploadImages/src/uploadImages.js +1 -1
  137. package/lib/components/uploadImages/src/uploadImages.js.map +1 -1
  138. package/lib/constants/regex.js +1 -1
  139. package/lib/constants/regex.js.map +1 -1
  140. package/lib/directive.d.ts +1 -1
  141. package/lib/directives/click-copy/index.d.ts +1 -1
  142. package/lib/directives/click-debounce/index.d.ts +1 -1
  143. package/lib/directives/click-draggable/index.d.ts +1 -1
  144. package/lib/directives/click-icon-copy/index.d.ts +1 -1
  145. package/lib/directives/click-longpress/index.d.ts +1 -1
  146. package/lib/directives/click-throttle/index.d.ts +1 -1
  147. package/lib/element-plus.js +1 -1
  148. package/lib/element-plus.js.map +1 -1
  149. package/lib/make-installer.js +1 -1
  150. package/lib/make-installer.js.map +1 -1
  151. package/lib/version.d.ts +1 -1
  152. package/lib/version.js +1 -1
  153. package/lib/version.js.map +1 -1
  154. package/package.json +8 -8
  155. package/styles/components/contextMenu.scss +2 -2
@@ -29,7 +29,7 @@ const faUploadImageProps = {
29
29
  default: false
30
30
  },
31
31
  /** @description v-model绑定值 */
32
- modelValue: String,
32
+ modelValue: definePropType([String, Array]),
33
33
  /** @description 大小限制,单位kb */
34
34
  maxSize: {
35
35
  type: [String, Number],
@@ -1 +1 @@
1
- {"version":3,"file":"uploadImage.mjs","sources":["../../../../../packages/components/uploadImage/src/uploadImage.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, reactive, ref, withModifiers } from \"vue\";\nimport { ElIcon, ElImageViewer, ElUpload, uploadProps } from \"element-plus\";\nimport { Delete, Edit, UploadFilled, ZoomIn } from \"@element-plus/icons-vue\";\nimport { useUpload } from \"@fast-element-plus/components/upload/src/useUpload\";\nimport { FaMimeType } from \"@fast-element-plus/constants\";\nimport { addUnit, definePropType, makeSlots, stringUtil, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { isArray, isNull, isString } from \"lodash-unified\";\nimport type { UploadInstance, UploadProps, UploadUserFile, uploadListTypes } from \"element-plus\";\n\nexport const faUploadImageProps = {\n\t...uploadProps,\n\t/** @description whether to activate drag and drop mode */\n\tdrag: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description accepted [file types](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-accept), will not work when `thumbnail-mode === true` */\n\taccept: {\n\t\ttype: String,\n\t\tdefault: (): string => FaMimeType.Image,\n\t},\n\t/** @description type of file list */\n\tlistType: {\n\t\ttype: definePropType<(typeof uploadListTypes)[number]>(String),\n\t\tdefault: \"picture\",\n\t},\n\t/** @description whether to show the uploaded file list */\n\tshowFileList: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\t/** @description v-model绑定值 */\n\tmodelValue: String,\n\t/** @description 大小限制,单位kb */\n\tmaxSize: {\n\t\ttype: [String, Number],\n\t\tdefault: 2048,\n\t},\n\t/** @description 图片上传接口,优先级最高 */\n\tuploadApi: {\n\t\ttype: definePropType<(formData: FormData) => Promise<string>>(Function),\n\t},\n\t/** @description 图片上传地址 */\n\tuploadUrl: String,\n\t/** @description 宽度 */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: 150,\n\t},\n\t/** @description 高度 */\n\theight: {\n\t\ttype: [String, Number],\n\t\tdefault: 150,\n\t},\n};\n\nexport const faUploadImageEmits = {\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: string): boolean => isString(value) || isArray(value) || isNull(value),\n\t/** @description v-model:fileList 回调 */\n\t\"update:fileList\": (value: UploadUserFile[]): boolean => isArray(value),\n\t/** @description 改变 */\n\tchange: (value: string): boolean => isString(value) || isArray(value) || isNull(value),\n};\n\ntype FaUploadImageSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: never;\n};\n\nexport default defineComponent({\n\tname: \"FaUploadImage\",\n\tprops: faUploadImageProps,\n\temits: faUploadImageEmits,\n\tslots: makeSlots<FaUploadImageSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst {\n\t\t\tfileList,\n\t\t\tloading,\n\t\t\tformContext,\n\t\t\tmaxSizeMB,\n\t\t\thandleValue,\n\t\t\thandleHttpRequest,\n\t\t\thandleOnSuccess,\n\t\t\thandleOnError,\n\t\t\thandleOnExceed,\n\t\t\thandleOnUpload,\n\t\t} = useUpload(\"FaUploadImage\", \"图片\", props, emit, {\n\t\t\tmaxSize: props.maxSize,\n\t\t\tuploadApi: props.uploadApi,\n\t\t\tuploadUrl: props.uploadUrl,\n\t\t});\n\n\t\tconst disabled = computed(() => {\n\t\t\treturn props.disabled || formContext?.disabled;\n\t\t});\n\n\t\tconst state = reactive({\n\t\t\tuploadKey: `fa-upload-image__${stringUtil.generateRandomString(8)}`,\n\t\t\tpreview: false,\n\t\t\tpreviewList: [],\n\t\t});\n\n\t\tconst uploadRef = ref<UploadInstance>();\n\n\t\tconst handleEdit = (): void => {\n\t\t\tconst uploadInputEl = document.querySelector(`.${state.uploadKey} .el-upload__input`);\n\t\t\tuploadInputEl && uploadInputEl.dispatchEvent(new MouseEvent(\"click\"));\n\t\t};\n\n\t\tconst handlePreview = (): void => {\n\t\t\tstate.previewList = [fileList.value[0].url];\n\t\t\tstate.preview = true;\n\t\t};\n\n\t\tconst handleRemove = (): void => {\n\t\t\tfileList.value = [];\n\t\t\thandleValue();\n\t\t};\n\n\t\tconst handleBeforeUpload: UploadProps[\"beforeUpload\"] = (rawFile) => {\n\t\t\tif (!handleOnUpload(rawFile)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (props.beforeUpload) {\n\t\t\t\treturn props.beforeUpload(rawFile);\n\t\t\t}\n\t\t\treturn true;\n\t\t};\n\n\t\tconst elUploadProps = useProps(props, uploadProps, [\n\t\t\t\"fileList\",\n\t\t\t\"disabled\",\n\t\t\t\"httpRequest\",\n\t\t\t\"beforeUpload\",\n\t\t\t\"onExceed\",\n\t\t\t\"onSuccess\",\n\t\t\t\"onError\",\n\t\t]);\n\n\t\tuseRender(() => (\n\t\t\t<Fragment>\n\t\t\t\t<ElUpload\n\t\t\t\t\t{...elUploadProps.value}\n\t\t\t\t\tref={uploadRef}\n\t\t\t\t\tclass={[\"fa-upload-image\", state.uploadKey]}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\"--width\": addUnit(props.width),\n\t\t\t\t\t\t\"--height\": addUnit(props.height),\n\t\t\t\t\t}}\n\t\t\t\t\tvLoading={loading.value}\n\t\t\t\t\tvModel:fileList={fileList.value}\n\t\t\t\t\tdisabled={disabled.value}\n\t\t\t\t\thttpRequest={handleHttpRequest}\n\t\t\t\t\tbeforeUpload={handleBeforeUpload}\n\t\t\t\t\tonExceed={handleOnExceed}\n\t\t\t\t\tonSuccess={handleOnSuccess}\n\t\t\t\t\tonError={handleOnError}\n\t\t\t\t>\n\t\t\t\t\t{{\n\t\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\t\tfileList.value.length > 0 ? (\n\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t<img class=\"el-upload-list__item-thumbnail\" src={fileList.value[0].url} />\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclass=\"el-upload-list__item-actions\"\n\t\t\t\t\t\t\t\t\t\tonClick={withModifiers(() => {\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t}, [\"stop\"])}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span class=\"el-upload-list__item-icon\" onClick={() => handlePreview()} title=\"查看\">\n\t\t\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t<ZoomIn />\n\t\t\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t{!disabled.value && (\n\t\t\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"el-upload-list__item-icon\" onClick={handleEdit} title=\"编辑\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Edit />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"el-upload-list__item-icon\" onClick={() => handleRemove()} title=\"删除\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Delete />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t) : slots.default ? (\n\t\t\t\t\t\t\t\tslots.default()\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t<ElIcon class=\"el-icon--upload\">\n\t\t\t\t\t\t\t\t\t\t<UploadFilled />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t\t<div class=\"el-upload__text\">\n\t\t\t\t\t\t\t\t\t\tDrop file here <br />\n\t\t\t\t\t\t\t\t\t\t<em>click to upload</em>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\ttip: () => <div class=\"el-upload__tip\">file with a size less than {maxSizeMB.toString()}MB</div>,\n\t\t\t\t\t}}\n\t\t\t\t</ElUpload>\n\t\t\t\t{state.preview && (\n\t\t\t\t\t<ElImageViewer\n\t\t\t\t\t\tcloseOnPressEscape\n\t\t\t\t\t\thideOnClickModal\n\t\t\t\t\t\tteleported\n\t\t\t\t\t\tonClose={() => (state.preview = false)}\n\t\t\t\t\t\turlList={state.previewList}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</Fragment>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 取消上传请求 */\n\t\t\tabort: computed(() => uploadRef.value?.abort),\n\t\t\t/** @description 手动上传文件列表 */\n\t\t\tsubmit: computed(() => uploadRef.value?.submit),\n\t\t\t/** @description 清空已上传的文件列表(该方法不支持在 before-upload 中调用) */\n\t\t\tclearFiles: computed(() => uploadRef.value?.clearFiles),\n\t\t\t/** @description 手动选择文件 */\n\t\t\thandleStart: computed(() => uploadRef.value?.handleStart),\n\t\t\t/** @description 手动移除文件。 file 和 rawFile 已被合并。 rawFile 将在 v2.2.0 中移除 */\n\t\t\thandleRemove: computed(() => uploadRef.value?.handleRemove),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading,\n\t\t\t/** @description 文件集合 */\n\t\t\tfileList,\n\t\t\t/** @description 预览 */\n\t\t\tpreview: computed(() => state.preview),\n\t\t\t/** @description 预览集合 */\n\t\t\tpreviewList: computed(() => state.previewList),\n\t\t});\n\t},\n});\n"],"names":["faUploadImageProps","uploadProps","drag","type","Boolean","default","accept","String","FaMimeType","Image","listType","definePropType","showFileList","modelValue","maxSize","Number","uploadApi","Function","uploadUrl","width","height","faUploadImageEmits","value","isString","isArray","isNull","change","name","props","emits","slots","makeSlots","setup","attrs","emit","expose","fileList","loading","formContext","maxSizeMB","handleValue","handleHttpRequest","handleOnSuccess","handleOnError","handleOnExceed","handleOnUpload","useUpload","disabled","computed","state","reactive","uploadKey","stringUtil","generateRandomString","preview","previewList","uploadRef","ref","handleEdit","uploadInputEl","document","querySelector","dispatchEvent","MouseEvent","handlePreview","url","handleRemove","handleBeforeUpload","rawFile","beforeUpload","elUploadProps","useProps","useRender","_createVNode","_Fragment","_withDirectives","ElUpload","_mergeProps","addUnit","$event","length","withModifiers","onClick","ElIcon","ZoomIn","Edit","Delete","UploadFilled","_createTextVNode","tip","toString","_resolveDirective","ElImageViewer","onClose","useExpose","abort","submit","clearFiles","handleStart"],"mappings":"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"}
1
+ {"version":3,"file":"uploadImage.mjs","sources":["../../../../../packages/components/uploadImage/src/uploadImage.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, reactive, ref, withModifiers } from \"vue\";\nimport { ElIcon, ElImageViewer, ElUpload, uploadProps } from \"element-plus\";\nimport { Delete, Edit, UploadFilled, ZoomIn } from \"@element-plus/icons-vue\";\nimport { useUpload } from \"@fast-element-plus/components/upload/src/useUpload\";\nimport { FaMimeType } from \"@fast-element-plus/constants\";\nimport { addUnit, definePropType, makeSlots, stringUtil, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { isArray, isNull, isString } from \"lodash-unified\";\nimport type { UploadInstance, UploadProps, UploadUserFile, uploadListTypes } from \"element-plus\";\n\nexport const faUploadImageProps = {\n\t...uploadProps,\n\t/** @description whether to activate drag and drop mode */\n\tdrag: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description accepted [file types](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-accept), will not work when `thumbnail-mode === true` */\n\taccept: {\n\t\ttype: String,\n\t\tdefault: (): string => FaMimeType.Image,\n\t},\n\t/** @description type of file list */\n\tlistType: {\n\t\ttype: definePropType<(typeof uploadListTypes)[number]>(String),\n\t\tdefault: \"picture\",\n\t},\n\t/** @description whether to show the uploaded file list */\n\tshowFileList: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\t/** @description v-model绑定值 */\n\tmodelValue: definePropType<string | string[]>([String, Array]),\n\t/** @description 大小限制,单位kb */\n\tmaxSize: {\n\t\ttype: [String, Number],\n\t\tdefault: 2048,\n\t},\n\t/** @description 图片上传接口,优先级最高 */\n\tuploadApi: {\n\t\ttype: definePropType<(formData: FormData) => Promise<string>>(Function),\n\t},\n\t/** @description 图片上传地址 */\n\tuploadUrl: String,\n\t/** @description 宽度 */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: 150,\n\t},\n\t/** @description 高度 */\n\theight: {\n\t\ttype: [String, Number],\n\t\tdefault: 150,\n\t},\n};\n\nexport const faUploadImageEmits = {\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: string | string[]): boolean => isString(value) || isArray(value) || isNull(value),\n\t/** @description v-model:fileList 回调 */\n\t\"update:fileList\": (value: UploadUserFile[]): boolean => isArray(value),\n\t/** @description 改变 */\n\tchange: (value: string | string[]): boolean => isString(value) || isArray(value) || isNull(value),\n};\n\ntype FaUploadImageSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: never;\n};\n\nexport default defineComponent({\n\tname: \"FaUploadImage\",\n\tprops: faUploadImageProps,\n\temits: faUploadImageEmits,\n\tslots: makeSlots<FaUploadImageSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst {\n\t\t\tfileList,\n\t\t\tloading,\n\t\t\tformContext,\n\t\t\tmaxSizeMB,\n\t\t\thandleValue,\n\t\t\thandleHttpRequest,\n\t\t\thandleOnSuccess,\n\t\t\thandleOnError,\n\t\t\thandleOnExceed,\n\t\t\thandleOnUpload,\n\t\t} = useUpload<string | string[]>(\"FaUploadImage\", \"图片\", props, emit, {\n\t\t\tmaxSize: props.maxSize,\n\t\t\tuploadApi: props.uploadApi,\n\t\t\tuploadUrl: props.uploadUrl,\n\t\t});\n\n\t\tconst disabled = computed(() => {\n\t\t\treturn props.disabled || formContext?.disabled;\n\t\t});\n\n\t\tconst state = reactive({\n\t\t\tuploadKey: `fa-upload-image__${stringUtil.generateRandomString(8)}`,\n\t\t\tpreview: false,\n\t\t\tpreviewList: [],\n\t\t});\n\n\t\tconst uploadRef = ref<UploadInstance>();\n\n\t\tconst handleEdit = (): void => {\n\t\t\tconst uploadInputEl = document.querySelector(`.${state.uploadKey} .el-upload__input`);\n\t\t\tuploadInputEl && uploadInputEl.dispatchEvent(new MouseEvent(\"click\"));\n\t\t};\n\n\t\tconst handlePreview = (): void => {\n\t\t\tstate.previewList = [fileList.value[0].url];\n\t\t\tstate.preview = true;\n\t\t};\n\n\t\tconst handleRemove = (): void => {\n\t\t\tfileList.value = [];\n\t\t\thandleValue();\n\t\t};\n\n\t\tconst handleBeforeUpload: UploadProps[\"beforeUpload\"] = (rawFile) => {\n\t\t\tif (!handleOnUpload(rawFile)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (props.beforeUpload) {\n\t\t\t\treturn props.beforeUpload(rawFile);\n\t\t\t}\n\t\t\treturn true;\n\t\t};\n\n\t\tconst elUploadProps = useProps(props, uploadProps, [\n\t\t\t\"fileList\",\n\t\t\t\"disabled\",\n\t\t\t\"httpRequest\",\n\t\t\t\"beforeUpload\",\n\t\t\t\"onExceed\",\n\t\t\t\"onSuccess\",\n\t\t\t\"onError\",\n\t\t]);\n\n\t\tuseRender(() => (\n\t\t\t<Fragment>\n\t\t\t\t<ElUpload\n\t\t\t\t\t{...elUploadProps.value}\n\t\t\t\t\tref={uploadRef}\n\t\t\t\t\tclass={[\"fa-upload-image\", state.uploadKey]}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\"--width\": addUnit(props.width),\n\t\t\t\t\t\t\"--height\": addUnit(props.height),\n\t\t\t\t\t}}\n\t\t\t\t\tvLoading={loading.value}\n\t\t\t\t\tvModel:fileList={fileList.value}\n\t\t\t\t\tdisabled={disabled.value}\n\t\t\t\t\thttpRequest={handleHttpRequest}\n\t\t\t\t\tbeforeUpload={handleBeforeUpload}\n\t\t\t\t\tonExceed={handleOnExceed}\n\t\t\t\t\tonSuccess={handleOnSuccess}\n\t\t\t\t\tonError={handleOnError}\n\t\t\t\t>\n\t\t\t\t\t{{\n\t\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\t\tfileList.value.length > 0 ? (\n\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t<img class=\"el-upload-list__item-thumbnail\" src={fileList.value[0].url} />\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclass=\"el-upload-list__item-actions\"\n\t\t\t\t\t\t\t\t\t\tonClick={withModifiers(() => {\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t}, [\"stop\"])}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span class=\"el-upload-list__item-icon\" onClick={() => handlePreview()} title=\"查看\">\n\t\t\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t<ZoomIn />\n\t\t\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t{!disabled.value && (\n\t\t\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"el-upload-list__item-icon\" onClick={handleEdit} title=\"编辑\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Edit />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"el-upload-list__item-icon\" onClick={() => handleRemove()} title=\"删除\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Delete />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t) : slots.default ? (\n\t\t\t\t\t\t\t\tslots.default()\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t<ElIcon class=\"el-icon--upload\">\n\t\t\t\t\t\t\t\t\t\t<UploadFilled />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t\t<div class=\"el-upload__text\">\n\t\t\t\t\t\t\t\t\t\tDrop file here <br />\n\t\t\t\t\t\t\t\t\t\t<em>click to upload</em>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\ttip: () => <div class=\"el-upload__tip\">file with a size less than {maxSizeMB.toString()}MB</div>,\n\t\t\t\t\t}}\n\t\t\t\t</ElUpload>\n\t\t\t\t{state.preview && (\n\t\t\t\t\t<ElImageViewer\n\t\t\t\t\t\tcloseOnPressEscape\n\t\t\t\t\t\thideOnClickModal\n\t\t\t\t\t\tteleported\n\t\t\t\t\t\tonClose={() => (state.preview = false)}\n\t\t\t\t\t\turlList={state.previewList}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</Fragment>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 取消上传请求 */\n\t\t\tabort: computed(() => uploadRef.value?.abort),\n\t\t\t/** @description 手动上传文件列表 */\n\t\t\tsubmit: computed(() => uploadRef.value?.submit),\n\t\t\t/** @description 清空已上传的文件列表(该方法不支持在 before-upload 中调用) */\n\t\t\tclearFiles: computed(() => uploadRef.value?.clearFiles),\n\t\t\t/** @description 手动选择文件 */\n\t\t\thandleStart: computed(() => uploadRef.value?.handleStart),\n\t\t\t/** @description 手动移除文件。 file 和 rawFile 已被合并。 rawFile 将在 v2.2.0 中移除 */\n\t\t\thandleRemove: computed(() => uploadRef.value?.handleRemove),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading,\n\t\t\t/** @description 文件集合 */\n\t\t\tfileList,\n\t\t\t/** @description 预览 */\n\t\t\tpreview: computed(() => state.preview),\n\t\t\t/** @description 预览集合 */\n\t\t\tpreviewList: computed(() => state.previewList),\n\t\t});\n\t},\n});\n"],"names":["faUploadImageProps","uploadProps","drag","type","Boolean","default","accept","String","FaMimeType","Image","listType","definePropType","showFileList","modelValue","Array","maxSize","Number","uploadApi","Function","uploadUrl","width","height","faUploadImageEmits","value","isString","isArray","isNull","change","name","props","emits","slots","makeSlots","setup","attrs","emit","expose","fileList","loading","formContext","maxSizeMB","handleValue","handleHttpRequest","handleOnSuccess","handleOnError","handleOnExceed","handleOnUpload","useUpload","disabled","computed","state","reactive","uploadKey","stringUtil","generateRandomString","preview","previewList","uploadRef","ref","handleEdit","uploadInputEl","document","querySelector","dispatchEvent","MouseEvent","handlePreview","url","handleRemove","handleBeforeUpload","rawFile","beforeUpload","elUploadProps","useProps","useRender","_createVNode","_Fragment","_withDirectives","ElUpload","_mergeProps","addUnit","$event","length","withModifiers","onClick","ElIcon","ZoomIn","Edit","Delete","UploadFilled","_createTextVNode","tip","toString","_resolveDirective","ElImageViewer","onClose","useExpose","abort","submit","clearFiles","handleStart"],"mappings":"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"}