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
@@ -4,7 +4,7 @@ import { ZoomIn, Edit, Delete, Plus } from "@element-plus/icons-vue";
4
4
  import { useUpload } from "../../upload/src/useUpload.mjs";
5
5
  import "../../../constants/index.mjs";
6
6
  import { definePropType, stringUtil, useProps, useRender, useExpose, makeSlots } from "@fast-china/utils";
7
- import { isString, isArray, isNull } from "lodash-unified";
7
+ import { isArray, isNull } from "lodash-unified";
8
8
  import { FaMimeType } from "../../../constants/mime.mjs";
9
9
  const faUploadImagesProps = {
10
10
  ...uploadProps,
@@ -29,7 +29,7 @@ const faUploadImagesProps = {
29
29
  default: 9
30
30
  },
31
31
  /** @description v-model绑定值 */
32
- modelValue: definePropType([String, Array]),
32
+ modelValue: definePropType([Array]),
33
33
  /** @description 大小限制,单位kb */
34
34
  maxSize: {
35
35
  type: [String, Number],
@@ -44,11 +44,11 @@ const faUploadImagesProps = {
44
44
  };
45
45
  const faUploadImagesEmits = {
46
46
  /** @description v-model 回调 */
47
- "update:modelValue": (value) => isString(value) || isArray(value) || isNull(value),
47
+ "update:modelValue": (value) => isArray(value) || isNull(value),
48
48
  /** @description v-model:fileList 回调 */
49
49
  "update:fileList": (value) => isArray(value),
50
50
  /** @description 改变 */
51
- change: (value) => isString(value) || isArray(value) || isNull(value)
51
+ change: (value) => isArray(value) || isNull(value)
52
52
  };
53
53
  const UploadImages = /* @__PURE__ */ defineComponent({
54
54
  name: "FaUploadImages",
@@ -1 +1 @@
1
- {"version":3,"file":"uploadImages.mjs","sources":["../../../../../packages/components/uploadImages/src/uploadImages.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, reactive, ref } from \"vue\";\nimport { ElIcon, ElImageViewer, ElUpload, uploadProps } from \"element-plus\";\nimport { Delete, Edit, Plus, ZoomIn } from \"@element-plus/icons-vue\";\nimport { useUpload } from \"@fast-element-plus/components/upload/src/useUpload\";\nimport { FaMimeType } from \"@fast-element-plus/constants\";\nimport { definePropType, makeSlots, stringUtil, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { isArray, isNull, isString } from \"lodash-unified\";\nimport type { UploadFile, UploadInstance, UploadProps, UploadUserFile, uploadListTypes } from \"element-plus\";\n\nexport const faUploadImagesProps = {\n\t...uploadProps,\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-card\",\n\t},\n\t/** @description whether uploading multiple files is permitted */\n\tmultiple: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description maximum number of uploads allowed */\n\tlimit: {\n\t\ttype: Number,\n\t\tdefault: 9,\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};\n\nexport const faUploadImagesEmits = {\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 FaUploadImagesSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: never;\n};\n\nexport default defineComponent({\n\tname: \"FaUploadImages\",\n\tprops: faUploadImagesProps,\n\temits: faUploadImagesEmits,\n\tslots: makeSlots<FaUploadImagesSlots>(),\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(\"FaUploadImages\", \"图片\", 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-images__${stringUtil.generateRandomString(8)}`,\n\t\t\tpreview: false,\n\t\t\tpreviewIndex: -1,\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 = (uploadFile: UploadFile): void => {\n\t\t\tstate.previewIndex = fileList.value.findIndex((f) => f.url === uploadFile.url);\n\t\t\tstate.previewList = fileList.value.map((m) => m.url);\n\t\t\tstate.preview = true;\n\t\t};\n\n\t\tconst handleRemove = (index: number): void => {\n\t\t\tfileList.value.splice(index, 1);\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-images\", state.uploadKey, { \"fa-upload-images__hidden-upload\": fileList.value.length >= props.limit }]}\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 < props.limit && 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<ElIcon>\n\t\t\t\t\t\t\t\t\t<Plus />\n\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\ttip: () => <div class=\"el-upload__tip\">files with a size less than {maxSizeMB.toString()}MB</div>,\n\t\t\t\t\t\tfile: ({ file, index }: { file: UploadFile; index: number }) => (\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<img class=\"el-upload-list__item-thumbnail\" src={file.url} />\n\t\t\t\t\t\t\t\t<span class=\"el-upload-list__item-actions\">\n\t\t\t\t\t\t\t\t\t<span class=\"el-upload-list__item-preview\" onClick={() => handlePreview(file)} title=\"查看\">\n\t\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t<ZoomIn />\n\t\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t{!disabled.value && (\n\t\t\t\t\t\t\t\t\t\t<Fragment>\n\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<ElIcon>\n\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</ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"el-upload-list__item-icon\" onClick={() => handleRemove(index)} title=\"删除\">\n\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<Delete />\n\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</span>\n\t\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t),\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":["faUploadImagesProps","uploadProps","accept","type","String","default","FaMimeType","Image","listType","definePropType","multiple","Boolean","limit","Number","modelValue","Array","maxSize","uploadApi","Function","uploadUrl","faUploadImagesEmits","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","previewIndex","previewList","uploadRef","ref","handleEdit","uploadInputEl","document","querySelector","dispatchEvent","MouseEvent","handlePreview","uploadFile","findIndex","f","url","map","m","handleRemove","index","splice","handleBeforeUpload","rawFile","beforeUpload","elUploadProps","useProps","useRender","_createVNode","_Fragment","_withDirectives","ElUpload","_mergeProps","length","$event","ElIcon","Plus","tip","_createTextVNode","toString","file","onClick","ZoomIn","Edit","Delete","_resolveDirective","ElImageViewer","onClose","useExpose","abort","submit","clearFiles","handleStart"],"mappings":"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"}
1
+ {"version":3,"file":"uploadImages.mjs","sources":["../../../../../packages/components/uploadImages/src/uploadImages.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, reactive, ref } from \"vue\";\nimport { ElIcon, ElImageViewer, ElUpload, uploadProps } from \"element-plus\";\nimport { Delete, Edit, Plus, ZoomIn } from \"@element-plus/icons-vue\";\nimport { useUpload } from \"@fast-element-plus/components/upload/src/useUpload\";\nimport { FaMimeType } from \"@fast-element-plus/constants\";\nimport { definePropType, makeSlots, stringUtil, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { isArray, isNull } from \"lodash-unified\";\nimport type { UploadFile, UploadInstance, UploadProps, UploadUserFile, uploadListTypes } from \"element-plus\";\n\nexport const faUploadImagesProps = {\n\t...uploadProps,\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-card\",\n\t},\n\t/** @description whether uploading multiple files is permitted */\n\tmultiple: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description maximum number of uploads allowed */\n\tlimit: {\n\t\ttype: Number,\n\t\tdefault: 9,\n\t},\n\t/** @description v-model绑定值 */\n\tmodelValue: definePropType<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};\n\nexport const faUploadImagesEmits = {\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: string[]): boolean => 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 => isArray(value) || isNull(value),\n};\n\ntype FaUploadImagesSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: never;\n};\n\nexport default defineComponent({\n\tname: \"FaUploadImages\",\n\tprops: faUploadImagesProps,\n\temits: faUploadImagesEmits,\n\tslots: makeSlots<FaUploadImagesSlots>(),\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[]>(\"FaUploadImages\", \"图片\", 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-images__${stringUtil.generateRandomString(8)}`,\n\t\t\tpreview: false,\n\t\t\tpreviewIndex: -1,\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 = (uploadFile: UploadFile): void => {\n\t\t\tstate.previewIndex = fileList.value.findIndex((f) => f.url === uploadFile.url);\n\t\t\tstate.previewList = fileList.value.map((m) => m.url);\n\t\t\tstate.preview = true;\n\t\t};\n\n\t\tconst handleRemove = (index: number): void => {\n\t\t\tfileList.value.splice(index, 1);\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-images\", state.uploadKey, { \"fa-upload-images__hidden-upload\": fileList.value.length >= props.limit }]}\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 < props.limit && 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<ElIcon>\n\t\t\t\t\t\t\t\t\t<Plus />\n\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\ttip: () => <div class=\"el-upload__tip\">files with a size less than {maxSizeMB.toString()}MB</div>,\n\t\t\t\t\t\tfile: ({ file, index }: { file: UploadFile; index: number }) => (\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<img class=\"el-upload-list__item-thumbnail\" src={file.url} />\n\t\t\t\t\t\t\t\t<span class=\"el-upload-list__item-actions\">\n\t\t\t\t\t\t\t\t\t<span class=\"el-upload-list__item-preview\" onClick={() => handlePreview(file)} title=\"查看\">\n\t\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t<ZoomIn />\n\t\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t{!disabled.value && (\n\t\t\t\t\t\t\t\t\t\t<Fragment>\n\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<ElIcon>\n\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</ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"el-upload-list__item-icon\" onClick={() => handleRemove(index)} title=\"删除\">\n\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<Delete />\n\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</span>\n\t\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t),\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":["faUploadImagesProps","uploadProps","accept","type","String","default","FaMimeType","Image","listType","definePropType","multiple","Boolean","limit","Number","modelValue","Array","maxSize","uploadApi","Function","uploadUrl","faUploadImagesEmits","value","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","previewIndex","previewList","uploadRef","ref","handleEdit","uploadInputEl","document","querySelector","dispatchEvent","MouseEvent","handlePreview","uploadFile","findIndex","f","url","map","m","handleRemove","index","splice","handleBeforeUpload","rawFile","beforeUpload","elUploadProps","useProps","useRender","_createVNode","_Fragment","_withDirectives","ElUpload","_mergeProps","length","$event","ElIcon","Plus","tip","_createTextVNode","toString","file","onClick","ZoomIn","Edit","Delete","_resolveDirective","ElImageViewer","onClose","useExpose","abort","submit","clearFiles","handleStart"],"mappings":"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"}
@@ -2,7 +2,7 @@ const RegExps = {
2
2
  /**
3
3
  * UUID
4
4
  */
5
- UUID: /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
5
+ UUID: /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,
6
6
  /**
7
7
  * 手机号
8
8
  */
@@ -10,15 +10,15 @@ const RegExps = {
10
10
  /**
11
11
  * 电话
12
12
  */
13
- Phone: /^(?:(?:\d{3}-)?\d{8}|^(?:\d{4}-)?\d{7,8})(?:-\d+)?$/,
13
+ Phone: /^(?:(?:\d{3}-)?\d{8}|(?:\d{4}-)?\d{7,8})(?:-\d+)?$/,
14
14
  /**
15
15
  * 邮箱
16
16
  */
17
- Email: /^[a-zA-Z0-9_-]+@([a-zA-Z0-9]+\.)+(com|cn|net|org)$/,
17
+ Email: /^[\w-]+@([a-zA-Z0-9]+\.)+(com|cn|net|org)$/,
18
18
  /**
19
19
  * 身份证
20
20
  */
21
- IdCard: /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}[0-9Xx]$)/,
21
+ IdCard: /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9X]$)|(^[1-9]\d{7}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}[0-9X]$)/i,
22
22
  /**
23
23
  * 外部链接
24
24
  * 匹配http、https、mailto、tel和ftp开头的链接
@@ -27,15 +27,15 @@ const RegExps = {
27
27
  /**
28
28
  * Url
29
29
  */
30
- Url: /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/,
30
+ Url: /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d?)(\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:\d+)*(\/($|[\w.,?'\\+&%$#=~-]+))*$/,
31
31
  /**
32
32
  * 车牌号
33
33
  */
34
- CarNumber: /^[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川贵云藏陕甘青宁新军使领]{1}[A-HJ-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/,
34
+ CarNumber: /^[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川贵云藏陕甘青宁新军使领][A-HJ-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]$/,
35
35
  /**
36
36
  * 新能源车牌号
37
37
  */
38
- NewEnergyCarNumber: /^[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川贵云藏陕甘青宁新军使领]{1}[A-HJ-Z]{1}(([0-9]{5}[DF]$)|([ABCDE][A-HJ-NP-Z0-9][0-9]{3}[0-9挂学警港澳]{1}$)|([FGHJK][A-HJ-NP-Z0-9][0-9]{3}[0-9挂学警港澳]{1}$))/,
38
+ NewEnergyCarNumber: /^[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川贵云藏陕甘青宁新军使领][A-HJ-Z]((\d{5}[DF]$)|([A-E][A-HJ-NP-Z0-9]\d{3}[0-9挂学警港澳]$)|([FGHJK][A-HJ-NP-Z0-9]\d{3}[0-9挂学警港澳]$))/,
39
39
  /**
40
40
  * 邮政编码
41
41
  */
@@ -47,23 +47,23 @@ const RegExps = {
47
47
  /**
48
48
  * 护照
49
49
  */
50
- Passport: /^[EeGg]\d{8}$/,
50
+ Passport: /^[EG]\d{8}$/i,
51
51
  /**
52
52
  * 港澳通行证
53
53
  */
54
- HKMacauPass: /^[HMhm]\d{8}$/,
54
+ HKMacauPass: /^[HM]\d{8}$/i,
55
55
  /**
56
56
  * 账号(6-20位字母或数字,必须以字母开头,不能全为数字)
57
57
  */
58
- Account: /^[a-zA-Z][a-zA-Z\d]{5,19}$/,
58
+ Account: /^[a-z][a-z\d]{5,19}$/i,
59
59
  /**
60
60
  * 弱密码(只包含字母和数字,长度为6到18位)
61
61
  */
62
- Password: /^[A-Za-z0-9]{6,18}$/,
62
+ Password: /^[A-Z0-9]{6,18}$/i,
63
63
  /**
64
64
  * 强密码(8到20位,包含大小写字母、数字及特殊字符)
65
65
  */
66
- StrongPassword: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_])[A-Za-z\d\W_]{8,20}$/,
66
+ StrongPassword: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_])[\s\S]{8,20}$/,
67
67
  /**
68
68
  * 中文字符
69
69
  */
@@ -71,7 +71,7 @@ const RegExps = {
71
71
  /**
72
72
  * 英文字符
73
73
  */
74
- English: /^[a-zA-Z]+$/
74
+ English: /^[a-z]+$/i
75
75
  };
76
76
  export {
77
77
  RegExps
@@ -1 +1 @@
1
- {"version":3,"file":"regex.mjs","sources":["../../../packages/constants/regex.ts"],"sourcesContent":["/**\n * @description 正则表达式\n */\nexport const RegExps = {\n\t/**\n\t * UUID\n\t */\n\tUUID: /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n\t/**\n\t * 手机号\n\t */\n\tMobile: /^(?:(?:\\+|00)86)?1\\d{10}$/,\n\t/**\n\t * 电话\n\t */\n\tPhone: /^(?:(?:\\d{3}-)?\\d{8}|^(?:\\d{4}-)?\\d{7,8})(?:-\\d+)?$/,\n\t/**\n\t * 邮箱\n\t */\n\tEmail: /^[a-zA-Z0-9_-]+@([a-zA-Z0-9]+\\.)+(com|cn|net|org)$/,\n\t/**\n\t * 身份证\n\t */\n\tIdCard: /(^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{2}[0-9Xx]$)/,\n\t/**\n\t * 外部链接\n\t * 匹配http、https、mailto、tel和ftp开头的链接\n\t */\n\tExternal: /^(https?:|mailto:|tel:|ftp:)/,\n\t/**\n\t * Url\n\t */\n\tUrl: /^(https?|ftp):\\/\\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+\\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\\/($|[a-zA-Z0-9.,?'\\\\+&%$#=~_-]+))*$/,\n\t/**\n\t * 车牌号\n\t */\n\tCarNumber: /^[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川贵云藏陕甘青宁新军使领]{1}[A-HJ-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/,\n\t/**\n\t * 新能源车牌号\n\t */\n\tNewEnergyCarNumber:\n\t\t/^[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川贵云藏陕甘青宁新军使领]{1}[A-HJ-Z]{1}(([0-9]{5}[DF]$)|([ABCDE][A-HJ-NP-Z0-9][0-9]{3}[0-9挂学警港澳]{1}$)|([FGHJK][A-HJ-NP-Z0-9][0-9]{3}[0-9挂学警港澳]{1}$))/,\n\t/**\n\t * 邮政编码\n\t */\n\tPostCode: /^[1-9]\\d{5}$/,\n\t/**\n\t * ipv4\n\t */\n\tIpv4: /^([01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\.([01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\.([01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\.([01]?\\d{1,2}|2[0-4]\\d|25[0-5])$/,\n\t/**\n\t * 护照\n\t */\n\tPassport: /^[EeGg]\\d{8}$/,\n\t/**\n\t * 港澳通行证\n\t */\n\tHKMacauPass: /^[HMhm]\\d{8}$/,\n\t/**\n\t * 账号(6-20位字母或数字,必须以字母开头,不能全为数字)\n\t */\n\tAccount: /^[a-zA-Z][a-zA-Z\\d]{5,19}$/,\n\t/**\n\t * 弱密码(只包含字母和数字,长度为6到18位)\n\t */\n\tPassword: /^[A-Za-z0-9]{6,18}$/,\n\t/**\n\t * 强密码(8到20位,包含大小写字母、数字及特殊字符)\n\t */\n\tStrongPassword: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[\\W_])[A-Za-z\\d\\W_]{8,20}$/,\n\t/**\n\t * 中文字符\n\t */\n\tChinese: /^[\\u4E00-\\u9FA5]+$/,\n\t/**\n\t * 英文字符\n\t */\n\tEnglish: /^[a-zA-Z]+$/,\n};\n"],"names":[],"mappings":"AAGO,MAAM,UAAU;AAAA;AAAA;AAAA;AAAA,EAItB,MAAM;AAAA;AAAA;AAAA;AAAA,EAIN,QAAQ;AAAA;AAAA;AAAA;AAAA,EAIR,OAAO;AAAA;AAAA;AAAA;AAAA,EAIP,OAAO;AAAA;AAAA;AAAA;AAAA,EAIP,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,EAKR,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,KAAK;AAAA;AAAA;AAAA;AAAA,EAIL,WAAW;AAAA;AAAA;AAAA;AAAA,EAIX,oBACC;AAAA;AAAA;AAAA;AAAA,EAID,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,MAAM;AAAA;AAAA;AAAA;AAAA,EAIN,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,aAAa;AAAA;AAAA;AAAA;AAAA,EAIb,SAAS;AAAA;AAAA;AAAA;AAAA,EAIT,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,gBAAgB;AAAA;AAAA;AAAA;AAAA,EAIhB,SAAS;AAAA;AAAA;AAAA;AAAA,EAIT,SAAS;AACV;"}
1
+ {"version":3,"file":"regex.mjs","sources":["../../../packages/constants/regex.ts"],"sourcesContent":["/**\n * @description 正则表达式\n */\nexport const RegExps = {\n\t/**\n\t * UUID\n\t */\n\tUUID: /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,\n\t/**\n\t * 手机号\n\t */\n\tMobile: /^(?:(?:\\+|00)86)?1\\d{10}$/,\n\t/**\n\t * 电话\n\t */\n\tPhone: /^(?:(?:\\d{3}-)?\\d{8}|(?:\\d{4}-)?\\d{7,8})(?:-\\d+)?$/,\n\t/**\n\t * 邮箱\n\t */\n\tEmail: /^[\\w-]+@([a-zA-Z0-9]+\\.)+(com|cn|net|org)$/,\n\t/**\n\t * 身份证\n\t */\n\tIdCard: /(^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9X]$)|(^[1-9]\\d{7}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{2}[0-9X]$)/i,\n\t/**\n\t * 外部链接\n\t * 匹配http、https、mailto、tel和ftp开头的链接\n\t */\n\tExternal: /^(https?:|mailto:|tel:|ftp:)/,\n\t/**\n\t * Url\n\t */\n\tUrl: /^(https?|ftp):\\/\\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d?)(\\.(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]?\\d)){3}|([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+\\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:\\d+)*(\\/($|[\\w.,?'\\\\+&%$#=~-]+))*$/,\n\t/**\n\t * 车牌号\n\t */\n\tCarNumber: /^[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川贵云藏陕甘青宁新军使领][A-HJ-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]$/,\n\t/**\n\t * 新能源车牌号\n\t */\n\tNewEnergyCarNumber:\n\t\t/^[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川贵云藏陕甘青宁新军使领][A-HJ-Z]((\\d{5}[DF]$)|([A-E][A-HJ-NP-Z0-9]\\d{3}[0-9挂学警港澳]$)|([FGHJK][A-HJ-NP-Z0-9]\\d{3}[0-9挂学警港澳]$))/,\n\t/**\n\t * 邮政编码\n\t */\n\tPostCode: /^[1-9]\\d{5}$/,\n\t/**\n\t * ipv4\n\t */\n\tIpv4: /^([01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\.([01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\.([01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\.([01]?\\d{1,2}|2[0-4]\\d|25[0-5])$/,\n\t/**\n\t * 护照\n\t */\n\tPassport: /^[EG]\\d{8}$/i,\n\t/**\n\t * 港澳通行证\n\t */\n\tHKMacauPass: /^[HM]\\d{8}$/i,\n\t/**\n\t * 账号(6-20位字母或数字,必须以字母开头,不能全为数字)\n\t */\n\tAccount: /^[a-z][a-z\\d]{5,19}$/i,\n\t/**\n\t * 弱密码(只包含字母和数字,长度为6到18位)\n\t */\n\tPassword: /^[A-Z0-9]{6,18}$/i,\n\t/**\n\t * 强密码(8到20位,包含大小写字母、数字及特殊字符)\n\t */\n\tStrongPassword: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[\\W_])[\\s\\S]{8,20}$/,\n\t/**\n\t * 中文字符\n\t */\n\tChinese: /^[\\u4E00-\\u9FA5]+$/,\n\t/**\n\t * 英文字符\n\t */\n\tEnglish: /^[a-z]+$/i,\n};\n"],"names":[],"mappings":"AAGO,MAAM,UAAU;AAAA;AAAA;AAAA;AAAA,EAItB,MAAM;AAAA;AAAA;AAAA;AAAA,EAIN,QAAQ;AAAA;AAAA;AAAA;AAAA,EAIR,OAAO;AAAA;AAAA;AAAA;AAAA,EAIP,OAAO;AAAA;AAAA;AAAA;AAAA,EAIP,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,EAKR,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,KAAK;AAAA;AAAA;AAAA;AAAA,EAIL,WAAW;AAAA;AAAA;AAAA;AAAA,EAIX,oBACC;AAAA;AAAA;AAAA;AAAA,EAID,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,MAAM;AAAA;AAAA;AAAA;AAAA,EAIN,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,aAAa;AAAA;AAAA;AAAA;AAAA,EAIb,SAAS;AAAA;AAAA;AAAA;AAAA,EAIT,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,gBAAgB;AAAA;AAAA;AAAA;AAAA,EAIhB,SAAS;AAAA;AAAA;AAAA;AAAA,EAIT,SAAS;AACV;"}
package/es/directive.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const _default: import('@fast-china/utils').TSXWithInstall<import('vue').ObjectDirective<any, any, string, string>>[];
1
+ declare const _default: import('@fast-china/utils').TSXWithInstall<import('vue').ObjectDirective<any, any, string, any>>[];
2
2
  export default _default;
@@ -1,2 +1,2 @@
1
- export declare const vCopy: import('@fast-china/utils').TSXWithInstall<import('vue').ObjectDirective<any, any, string, string>>;
1
+ export declare const vCopy: import('@fast-china/utils').TSXWithInstall<import('vue').ObjectDirective<any, any, string, any>>;
2
2
  export default vCopy;
@@ -1,2 +1,2 @@
1
- export declare const vDebounce: import('@fast-china/utils').TSXWithInstall<import('vue').ObjectDirective<any, any, string, string>>;
1
+ export declare const vDebounce: import('@fast-china/utils').TSXWithInstall<import('vue').ObjectDirective<any, any, string, any>>;
2
2
  export default vDebounce;
@@ -1,2 +1,2 @@
1
- export declare const vDraggable: import('@fast-china/utils').TSXWithInstall<import('vue').ObjectDirective<any, any, string, string>>;
1
+ export declare const vDraggable: import('@fast-china/utils').TSXWithInstall<import('vue').ObjectDirective<any, any, string, any>>;
2
2
  export default vDraggable;
@@ -1,2 +1,2 @@
1
- export declare const vIconCopy: import('@fast-china/utils').TSXWithInstall<import('vue').ObjectDirective<any, any, string, string>>;
1
+ export declare const vIconCopy: import('@fast-china/utils').TSXWithInstall<import('vue').ObjectDirective<any, any, string, any>>;
2
2
  export default vIconCopy;
@@ -1,2 +1,2 @@
1
- export declare const vLongpress: import('@fast-china/utils').TSXWithInstall<import('vue').ObjectDirective<any, any, string, string>>;
1
+ export declare const vLongpress: import('@fast-china/utils').TSXWithInstall<import('vue').ObjectDirective<any, any, string, any>>;
2
2
  export default vLongpress;
@@ -1,2 +1,2 @@
1
- export declare const vThrottle: import('@fast-china/utils').TSXWithInstall<import('vue').ObjectDirective<any, any, string, string>>;
1
+ export declare const vThrottle: import('@fast-china/utils').TSXWithInstall<import('vue').ObjectDirective<any, any, string, any>>;
2
2
  export default vThrottle;
@@ -226,7 +226,7 @@ const elMessageBox = (type, message, options, appContext) => {
226
226
  if (isNil(options?.closeOnPressEscape)) {
227
227
  options.closeOnPressEscape = false;
228
228
  }
229
- if (isNil(options?.beforeClose)) {
229
+ if (!isNil(options?.beforeClose)) {
230
230
  const localBeforeClose = options.beforeClose;
231
231
  const localConfirmButtonText = options?.confirmButtonText;
232
232
  const localShowCancelButton = options?.showCancelButton;
@@ -1 +1 @@
1
- {"version":3,"file":"element-plus.mjs","sources":["../../packages/element-plus.ts"],"sourcesContent":["/** Element Plus 组件全局配置 */\n\nimport ElementPlus, { ElDialog, ElForm, ElInput, ElInputNumber, ElMessageBox, ElSelect, ElTable, ElTree, ElTreeSelect } from \"element-plus\";\nimport * as ElementPlusIconsVue from \"@element-plus/icons-vue\";\nimport { useOverlay } from \"@fast-element-plus/hooks\";\nimport { consoleError, execFunction } from \"@fast-china/utils\";\nimport { isNil, isString } from \"lodash-unified\";\nimport type { Action, ElMessageBoxOptions, MessageBoxData, MessageBoxState, TableProps } from \"element-plus\";\nimport type { App, AppContext, PropType } from \"vue\";\n\nElDialog.props = {\n\t...ElDialog.props,\n\t/**\n\t * 默认拖拽\n\t * @description enable dragging feature for Dialog\n\t */\n\tdraggable: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n};\n\nElForm.props = {\n\t...ElForm.props,\n\t/** @description Width of label, e.g. `'50px'`. All its direct child form items will inherit this value. `auto` is supported. */\n\tlabelWidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"auto\",\n\t},\n\t/** @description Suffix of the label. */\n\tlabelSuffix: {\n\t\ttype: String,\n\t\tdefault: \":\",\n\t},\n\t/** @description When validation fails, scroll to the first error form entry. */\n\tscrollToError: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n};\n\nElInput.props = {\n\t...ElInput.props,\n\t/**\n\t * 默认显示统计字数\n\t * @description word count\n\t */\n\tshowWordLimit: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n};\n\nElInputNumber.props = {\n\t...ElInputNumber.props,\n\t/**\n\t * 默认不使用控制按钮\n\t * @description whether to enable the control buttons\n\t */\n\tcontrols: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n};\n\nElSelect.props = {\n\t...ElSelect.props,\n\t/** @description displayed text while loading data from server, default is 'Loading' */\n\tloadingText: {\n\t\ttype: String,\n\t\tdefault: \"加载中...\",\n\t},\n\t/** @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data' */\n\tnoMatchText: {\n\t\ttype: String,\n\t\tdefault: \"暂无匹配的数据\",\n\t},\n\t/** @description displayed text when there is no options, you can also use slot `empty`, default is 'No data' */\n\tnoDataText: {\n\t\ttype: String,\n\t\tdefault: \"暂无数据\",\n\t},\n\t/**\n\t * 默认按文字形式展示\n\t * @description whether to collapse tags to a text when multiple selecting\n\t */\n\tcollapseTags: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认显示所有选中的标签\n\t * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n\t */\n\tcollapseTagsTooltip: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n};\n\nElTable.props = {\n\t...ElTable.props,\n\t/**\n\t * 默认显示边框\n\t * @description whether Table has vertical border\n\t */\n\tborder: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认高亮当前行\n\t * @description whether current row is highlighted\n\t */\n\thighlightCurrentRow: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认行Key为 \"id\"\n\t * @description key of row data, used for optimizing rendering. Required if `reserve-selection` is on or display tree data. When its type is String, multi-level access is supported, e.g. `user.info.id`, but `user.info[0].id` is not supported, in which case `Function` should be used\n\t */\n\trowKey: {\n\t\ttype: [String, Function] as PropType<TableProps<any>[\"rowKey\"]>,\n\t\tdefault: \"id\",\n\t},\n};\n\nElTree.props = {\n\t...ElTree.props,\n\t/**\n\t * 默认展开所有节点\n\t * @description 是否默认展开所有节点\n\t */\n\tdefaultExpandAll: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认点击时选中节点\n\t * @description 是否在点击节点的时候选中节点\n\t */\n\tcheckOnClickNode: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认高亮选中节点\n\t * @description 是否高亮当前选中节点\n\t */\n\thighlightCurrent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n};\n\nElTreeSelect.props = {\n\t...ElTreeSelect.props,\n\t/** @description displayed text while loading data from server, default is 'Loading' */\n\tloadingText: {\n\t\ttype: String,\n\t\tdefault: \"加载中...\",\n\t},\n\t/** @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data' */\n\tnoMatchText: {\n\t\ttype: String,\n\t\tdefault: \"暂无匹配的数据\",\n\t},\n\t/** @description displayed text when there is no options, you can also use slot `empty`, default is 'No data' */\n\tnoDataText: {\n\t\ttype: String,\n\t\tdefault: \"暂无数据\",\n\t},\n\t/**\n\t * 默认按文字形式展示\n\t * @description whether to collapse tags to a text when multiple selecting\n\t */\n\tcollapseTags: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认显示所有选中的标签\n\t * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n\t */\n\tcollapseTagsTooltip: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认展开所有节点\n\t * @description 是否默认展开所有节点\n\t */\n\tdefaultExpandAll: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认点击时选中节点\n\t * @description 是否在点击节点的时候选中节点\n\t */\n\tcheckOnClickNode: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认高亮选中节点\n\t * @description 是否高亮当前选中节点\n\t */\n\thighlightCurrent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认点击节点不展开或收缩节点\n\t * @description 是否在点击节点的时候展开或者收缩节点, 默认值为 true,如果为 false,则只有点箭头图标的时候才会展开或者收缩节点。\n\t */\n\texpandOnClickNode: Boolean,\n};\n\n// ElMessageBox 默认配置\nconst elMessageBox = (\n\ttype: \"alert\" | \"confirm\" | \"prompt\",\n\tmessage: ElMessageBoxOptions[\"message\"],\n\toptions?: ElMessageBoxOptions,\n\tappContext?: AppContext | null\n): Promise<MessageBoxData> => {\n\toptions = options ?? {};\n\tif (!options?.title) {\n\t\t// 默认提示\n\t\toptions.title = \"温馨提示\";\n\t}\n\tif (isNil(options?.draggable)) {\n\t\t// 默认拖拽\n\t\toptions.draggable = true;\n\t}\n\tif (!options?.cancelButtonText) {\n\t\t// 默认 取消按钮的文本内容\n\t\toptions.cancelButtonText = \"取消\";\n\t}\n\tif (!options?.confirmButtonText) {\n\t\t// 默认 确定按钮的文本内容\n\t\toptions.confirmButtonText = \"确定\";\n\t}\n\tif (isNil(options?.closeOnClickModal)) {\n\t\t// 默认 是否可通过点击遮罩层关闭 MessageBox\n\t\toptions.closeOnClickModal = false;\n\t}\n\tif (isNil(options?.closeOnPressEscape)) {\n\t\t// 默认 是否可通过按下 ESC 键关闭 MessageBox\n\t\toptions.closeOnPressEscape = false;\n\t}\n\n\t// 关闭之前的判断逻辑\n\tif (isNil(options?.beforeClose)) {\n\t\tconst localBeforeClose = options.beforeClose;\n\t\tconst localConfirmButtonText = options?.confirmButtonText;\n\t\tconst localShowCancelButton = options?.showCancelButton;\n\t\toptions.beforeClose = (action: Action, instance: MessageBoxState, done: () => void): void => {\n\t\t\tif (action === \"confirm\") {\n\t\t\t\tuseOverlay.show(0);\n\t\t\t\tinstance.confirmButtonLoading = true;\n\t\t\t\tinstance.showCancelButton = false;\n\t\t\t\tinstance.confirmButtonText = \"加载中...\";\n\n\t\t\t\tconst cancelLoading = (): void => {\n\t\t\t\t\tinstance.confirmButtonLoading = false;\n\t\t\t\t\tinstance.showCancelButton = localShowCancelButton;\n\t\t\t\t\tinstance.confirmButtonText = localConfirmButtonText;\n\t\t\t\t\tuseOverlay.hide();\n\t\t\t\t};\n\n\t\t\t\tconst newDone = (): void => {\n\t\t\t\t\tcancelLoading();\n\t\t\t\t\tdone();\n\t\t\t\t};\n\n\t\t\t\texecFunction(localBeforeClose, action, instance, newDone)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tnewDone();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsoleError(\"MessageBox\", error);\n\t\t\t\t\t\tcancelLoading();\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdone();\n\t\t\t}\n\t\t};\n\t}\n\n\t// 根据类型有一些判断\n\tswitch (type) {\n\t\tcase \"alert\":\n\t\t\tbreak;\n\t\tcase \"confirm\":\n\t\t\tif (isNil(options?.showCancelButton)) {\n\t\t\t\toptions.showCancelButton = true;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"prompt\":\n\t\t\tif (options?.showCancelButton == undefined) {\n\t\t\t\toptions.showCancelButton = true;\n\t\t\t}\n\t\t\tbreak;\n\t}\n\n\treturn ElMessageBox(\n\t\tObject.assign(\n\t\t\t{\n\t\t\t\tmessage,\n\t\t\t},\n\t\t\toptions,\n\t\t\t{\n\t\t\t\tboxType: type,\n\t\t\t}\n\t\t)\n\t);\n};\n\ntype MESSAGE_BOX_TYPE = \"alert\" | \"confirm\" | \"prompt\";\nconst MESSAGE_BOX_DEFAULT_OPTS: Record<MESSAGE_BOX_TYPE, Partial<ElMessageBoxOptions>> = {\n\talert: { closeOnPressEscape: false, closeOnClickModal: false },\n\tconfirm: { showCancelButton: true },\n\tprompt: { showCancelButton: true, showInput: true },\n};\n\nElMessageBox.alert = (\n\tmessage: ElMessageBoxOptions[\"message\"],\n\ttitleOrOptions?: string | ElMessageBoxOptions,\n\toptions?: ElMessageBoxOptions,\n\tappContext?: AppContext | null\n): Promise<MessageBoxData> =>\n\tisString(titleOrOptions)\n\t\t? elMessageBox(\"alert\", message, Object.assign({ title: titleOrOptions, ...MESSAGE_BOX_DEFAULT_OPTS[\"alert\"] }, options), appContext)\n\t\t: elMessageBox(\"alert\", message, Object.assign(titleOrOptions, MESSAGE_BOX_DEFAULT_OPTS[\"alert\"], options), options as AppContext);\n\nElMessageBox.prompt = (\n\tmessage: ElMessageBoxOptions[\"message\"],\n\ttitleOrOptions?: string | ElMessageBoxOptions,\n\toptions?: ElMessageBoxOptions,\n\tappContext?: AppContext | null\n): Promise<MessageBoxData> =>\n\tisString(titleOrOptions)\n\t\t? elMessageBox(\"prompt\", message, Object.assign({ title: titleOrOptions, ...MESSAGE_BOX_DEFAULT_OPTS[\"prompt\"] }, options), appContext)\n\t\t: elMessageBox(\"prompt\", message, Object.assign(titleOrOptions, MESSAGE_BOX_DEFAULT_OPTS[\"prompt\"], options), options as AppContext);\n\nElMessageBox.confirm = (\n\tmessage: ElMessageBoxOptions[\"message\"],\n\ttitleOrOptions?: string | ElMessageBoxOptions,\n\toptions?: AppContext | ElMessageBoxOptions,\n\tappContext?: AppContext | null\n): Promise<MessageBoxData> =>\n\tisString(titleOrOptions)\n\t\t? elMessageBox(\"confirm\", message, Object.assign({ title: titleOrOptions, ...MESSAGE_BOX_DEFAULT_OPTS[\"confirm\"] }, options), appContext)\n\t\t: elMessageBox(\"confirm\", message, Object.assign(titleOrOptions, MESSAGE_BOX_DEFAULT_OPTS[\"confirm\"], options), options as AppContext);\n\nexport const installElementPlus = (app: App): void => {\n\t/** 注册所有 Element Plus Icon */\n\tfor (const [key, component] of Object.entries(ElementPlusIconsVue)) {\n\t\t// 这里是给 FaIcon 使用的\n\t\tapp.component(`el-icon-${key}`, component);\n\t}\n\n\t/** Element Plus 组件完整引入 */\n\tapp.use(ElementPlus);\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element-plus.mjs","sources":["../../packages/element-plus.ts"],"sourcesContent":["/** Element Plus 组件全局配置 */\n\nimport ElementPlus, { ElDialog, ElForm, ElInput, ElInputNumber, ElMessageBox, ElSelect, ElTable, ElTree, ElTreeSelect } from \"element-plus\";\nimport * as ElementPlusIconsVue from \"@element-plus/icons-vue\";\nimport { useOverlay } from \"@fast-element-plus/hooks\";\nimport { consoleError, execFunction } from \"@fast-china/utils\";\nimport { isNil, isString } from \"lodash-unified\";\nimport type { Action, ElMessageBoxOptions, MessageBoxData, MessageBoxState, TableProps } from \"element-plus\";\nimport type { App, AppContext, PropType } from \"vue\";\n\nElDialog.props = {\n\t...ElDialog.props,\n\t/**\n\t * 默认拖拽\n\t * @description enable dragging feature for Dialog\n\t */\n\tdraggable: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n};\n\nElForm.props = {\n\t...ElForm.props,\n\t/** @description Width of label, e.g. `'50px'`. All its direct child form items will inherit this value. `auto` is supported. */\n\tlabelWidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"auto\",\n\t},\n\t/** @description Suffix of the label. */\n\tlabelSuffix: {\n\t\ttype: String,\n\t\tdefault: \":\",\n\t},\n\t/** @description When validation fails, scroll to the first error form entry. */\n\tscrollToError: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n};\n\nElInput.props = {\n\t...ElInput.props,\n\t/**\n\t * 默认显示统计字数\n\t * @description word count\n\t */\n\tshowWordLimit: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n};\n\nElInputNumber.props = {\n\t...ElInputNumber.props,\n\t/**\n\t * 默认不使用控制按钮\n\t * @description whether to enable the control buttons\n\t */\n\tcontrols: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n};\n\nElSelect.props = {\n\t...ElSelect.props,\n\t/** @description displayed text while loading data from server, default is 'Loading' */\n\tloadingText: {\n\t\ttype: String,\n\t\tdefault: \"加载中...\",\n\t},\n\t/** @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data' */\n\tnoMatchText: {\n\t\ttype: String,\n\t\tdefault: \"暂无匹配的数据\",\n\t},\n\t/** @description displayed text when there is no options, you can also use slot `empty`, default is 'No data' */\n\tnoDataText: {\n\t\ttype: String,\n\t\tdefault: \"暂无数据\",\n\t},\n\t/**\n\t * 默认按文字形式展示\n\t * @description whether to collapse tags to a text when multiple selecting\n\t */\n\tcollapseTags: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认显示所有选中的标签\n\t * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n\t */\n\tcollapseTagsTooltip: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n};\n\nElTable.props = {\n\t...ElTable.props,\n\t/**\n\t * 默认显示边框\n\t * @description whether Table has vertical border\n\t */\n\tborder: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认高亮当前行\n\t * @description whether current row is highlighted\n\t */\n\thighlightCurrentRow: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认行Key为 \"id\"\n\t * @description key of row data, used for optimizing rendering. Required if `reserve-selection` is on or display tree data. When its type is String, multi-level access is supported, e.g. `user.info.id`, but `user.info[0].id` is not supported, in which case `Function` should be used\n\t */\n\trowKey: {\n\t\ttype: [String, Function] as PropType<TableProps<any>[\"rowKey\"]>,\n\t\tdefault: \"id\",\n\t},\n};\n\nElTree.props = {\n\t...ElTree.props,\n\t/**\n\t * 默认展开所有节点\n\t * @description 是否默认展开所有节点\n\t */\n\tdefaultExpandAll: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认点击时选中节点\n\t * @description 是否在点击节点的时候选中节点\n\t */\n\tcheckOnClickNode: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认高亮选中节点\n\t * @description 是否高亮当前选中节点\n\t */\n\thighlightCurrent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n};\n\nElTreeSelect.props = {\n\t...ElTreeSelect.props,\n\t/** @description displayed text while loading data from server, default is 'Loading' */\n\tloadingText: {\n\t\ttype: String,\n\t\tdefault: \"加载中...\",\n\t},\n\t/** @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data' */\n\tnoMatchText: {\n\t\ttype: String,\n\t\tdefault: \"暂无匹配的数据\",\n\t},\n\t/** @description displayed text when there is no options, you can also use slot `empty`, default is 'No data' */\n\tnoDataText: {\n\t\ttype: String,\n\t\tdefault: \"暂无数据\",\n\t},\n\t/**\n\t * 默认按文字形式展示\n\t * @description whether to collapse tags to a text when multiple selecting\n\t */\n\tcollapseTags: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认显示所有选中的标签\n\t * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n\t */\n\tcollapseTagsTooltip: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认展开所有节点\n\t * @description 是否默认展开所有节点\n\t */\n\tdefaultExpandAll: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认点击时选中节点\n\t * @description 是否在点击节点的时候选中节点\n\t */\n\tcheckOnClickNode: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认高亮选中节点\n\t * @description 是否高亮当前选中节点\n\t */\n\thighlightCurrent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 默认点击节点不展开或收缩节点\n\t * @description 是否在点击节点的时候展开或者收缩节点, 默认值为 true,如果为 false,则只有点箭头图标的时候才会展开或者收缩节点。\n\t */\n\texpandOnClickNode: Boolean,\n};\n\n// ElMessageBox 默认配置\nconst elMessageBox = (\n\ttype: \"alert\" | \"confirm\" | \"prompt\",\n\tmessage: ElMessageBoxOptions[\"message\"],\n\toptions?: ElMessageBoxOptions,\n\tappContext?: AppContext | null\n): Promise<MessageBoxData> => {\n\toptions = options ?? {};\n\tif (!options?.title) {\n\t\t// 默认提示\n\t\toptions.title = \"温馨提示\";\n\t}\n\tif (isNil(options?.draggable)) {\n\t\t// 默认拖拽\n\t\toptions.draggable = true;\n\t}\n\tif (!options?.cancelButtonText) {\n\t\t// 默认 取消按钮的文本内容\n\t\toptions.cancelButtonText = \"取消\";\n\t}\n\tif (!options?.confirmButtonText) {\n\t\t// 默认 确定按钮的文本内容\n\t\toptions.confirmButtonText = \"确定\";\n\t}\n\tif (isNil(options?.closeOnClickModal)) {\n\t\t// 默认 是否可通过点击遮罩层关闭 MessageBox\n\t\toptions.closeOnClickModal = false;\n\t}\n\tif (isNil(options?.closeOnPressEscape)) {\n\t\t// 默认 是否可通过按下 ESC 键关闭 MessageBox\n\t\toptions.closeOnPressEscape = false;\n\t}\n\n\t// 关闭之前的判断逻辑\n\tif (!isNil(options?.beforeClose)) {\n\t\tconst localBeforeClose = options.beforeClose;\n\t\tconst localConfirmButtonText = options?.confirmButtonText;\n\t\tconst localShowCancelButton = options?.showCancelButton;\n\t\toptions.beforeClose = (action: Action, instance: MessageBoxState, done: () => void): void => {\n\t\t\tif (action === \"confirm\") {\n\t\t\t\tuseOverlay.show(0);\n\t\t\t\tinstance.confirmButtonLoading = true;\n\t\t\t\tinstance.showCancelButton = false;\n\t\t\t\tinstance.confirmButtonText = \"加载中...\";\n\n\t\t\t\tconst cancelLoading = (): void => {\n\t\t\t\t\tinstance.confirmButtonLoading = false;\n\t\t\t\t\tinstance.showCancelButton = localShowCancelButton;\n\t\t\t\t\tinstance.confirmButtonText = localConfirmButtonText;\n\t\t\t\t\tuseOverlay.hide();\n\t\t\t\t};\n\n\t\t\t\tconst newDone = (): void => {\n\t\t\t\t\tcancelLoading();\n\t\t\t\t\tdone();\n\t\t\t\t};\n\n\t\t\t\texecFunction(localBeforeClose, action, instance, newDone)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tnewDone();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsoleError(\"MessageBox\", error);\n\t\t\t\t\t\tcancelLoading();\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdone();\n\t\t\t}\n\t\t};\n\t}\n\n\t// 根据类型有一些判断\n\tswitch (type) {\n\t\tcase \"alert\":\n\t\t\tbreak;\n\t\tcase \"confirm\":\n\t\t\tif (isNil(options?.showCancelButton)) {\n\t\t\t\toptions.showCancelButton = true;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"prompt\":\n\t\t\tif (options?.showCancelButton == undefined) {\n\t\t\t\toptions.showCancelButton = true;\n\t\t\t}\n\t\t\tbreak;\n\t}\n\n\treturn ElMessageBox(\n\t\tObject.assign(\n\t\t\t{\n\t\t\t\tmessage,\n\t\t\t},\n\t\t\toptions,\n\t\t\t{\n\t\t\t\tboxType: type,\n\t\t\t}\n\t\t)\n\t);\n};\n\ntype MESSAGE_BOX_TYPE = \"alert\" | \"confirm\" | \"prompt\";\nconst MESSAGE_BOX_DEFAULT_OPTS: Record<MESSAGE_BOX_TYPE, Partial<ElMessageBoxOptions>> = {\n\talert: { closeOnPressEscape: false, closeOnClickModal: false },\n\tconfirm: { showCancelButton: true },\n\tprompt: { showCancelButton: true, showInput: true },\n};\n\nElMessageBox.alert = (\n\tmessage: ElMessageBoxOptions[\"message\"],\n\ttitleOrOptions?: string | ElMessageBoxOptions,\n\toptions?: ElMessageBoxOptions,\n\tappContext?: AppContext | null\n): Promise<MessageBoxData> =>\n\tisString(titleOrOptions)\n\t\t? elMessageBox(\"alert\", message, Object.assign({ title: titleOrOptions, ...MESSAGE_BOX_DEFAULT_OPTS[\"alert\"] }, options), appContext)\n\t\t: elMessageBox(\"alert\", message, Object.assign(titleOrOptions, MESSAGE_BOX_DEFAULT_OPTS[\"alert\"], options), options as AppContext);\n\nElMessageBox.prompt = (\n\tmessage: ElMessageBoxOptions[\"message\"],\n\ttitleOrOptions?: string | ElMessageBoxOptions,\n\toptions?: ElMessageBoxOptions,\n\tappContext?: AppContext | null\n): Promise<MessageBoxData> =>\n\tisString(titleOrOptions)\n\t\t? elMessageBox(\"prompt\", message, Object.assign({ title: titleOrOptions, ...MESSAGE_BOX_DEFAULT_OPTS[\"prompt\"] }, options), appContext)\n\t\t: elMessageBox(\"prompt\", message, Object.assign(titleOrOptions, MESSAGE_BOX_DEFAULT_OPTS[\"prompt\"], options), options as AppContext);\n\nElMessageBox.confirm = (\n\tmessage: ElMessageBoxOptions[\"message\"],\n\ttitleOrOptions?: string | ElMessageBoxOptions,\n\toptions?: AppContext | ElMessageBoxOptions,\n\tappContext?: AppContext | null\n): Promise<MessageBoxData> =>\n\tisString(titleOrOptions)\n\t\t? elMessageBox(\"confirm\", message, Object.assign({ title: titleOrOptions, ...MESSAGE_BOX_DEFAULT_OPTS[\"confirm\"] }, options), appContext)\n\t\t: elMessageBox(\"confirm\", message, Object.assign(titleOrOptions, MESSAGE_BOX_DEFAULT_OPTS[\"confirm\"], options), options as AppContext);\n\nexport const installElementPlus = (app: App): void => {\n\t/** 注册所有 Element Plus Icon */\n\tfor (const [key, component] of Object.entries(ElementPlusIconsVue)) {\n\t\t// 这里是给 FaIcon 使用的\n\t\tapp.component(`el-icon-${key}`, component);\n\t}\n\n\t/** Element Plus 组件完整引入 */\n\tapp.use(ElementPlus);\n};\n"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import * as FastElementPlusIconsVue from "@fast-element-plus/icons-vue";
1
2
  import FastElementPlusComponents from "./component.mjs";
2
3
  import FastElementPlusDirectives from "./directive.mjs";
3
4
  import { installElementPlus } from "./element-plus.mjs";
@@ -8,6 +9,9 @@ const makeInstaller = () => {
8
9
  if (app[INSTALLED_KEY]) return;
9
10
  app[INSTALLED_KEY] = true;
10
11
  installElementPlus(app);
12
+ for (const [key, component] of Object.entries(FastElementPlusIconsVue)) {
13
+ app.component(`fa-icon-${key}`, component);
14
+ }
11
15
  FastElementPlusComponents.forEach((c) => app.use(c));
12
16
  FastElementPlusDirectives.forEach((d) => app.use(d));
13
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"make-installer.mjs","sources":["../../packages/make-installer.ts"],"sourcesContent":["import FastElementPlusComponents from \"./component\";\nimport FastElementPlusDirectives from \"./directive\";\nimport { installElementPlus } from \"./element-plus\";\nimport { version } from \"./version\";\nimport type { App } from \"vue\";\n\nexport const INSTALLED_KEY = Symbol(\"INSTALLED_KEY\");\n\nexport const makeInstaller = (): {\n\tversion: string;\n\tinstall: (app: App) => void;\n} => {\n\tconst install = (app: App): void => {\n\t\tif (app[INSTALLED_KEY]) return;\n\n\t\tapp[INSTALLED_KEY] = true;\n\n\t\tinstallElementPlus(app);\n\n\t\tFastElementPlusComponents.forEach((c) => app.use(c));\n\n\t\tFastElementPlusDirectives.forEach((d) => app.use(d));\n\t};\n\n\treturn {\n\t\tversion,\n\t\tinstall,\n\t};\n};\n"],"names":[],"mappings":";;;;AAMO,MAAM,gBAAgB,OAAO,eAAe;AAE5C,MAAM,gBAAgB,MAGxB;AACJ,QAAM,UAAU,CAAC,QAAmB;AACnC,QAAI,IAAI,aAAa,EAAG;AAExB,QAAI,aAAa,IAAI;AAErB,uBAAmB,GAAG;AAEtB,8BAA0B,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;AAEnD,8BAA0B,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;AAAA,EACpD;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,EAAA;AAEF;"}
1
+ {"version":3,"file":"make-installer.mjs","sources":["../../packages/make-installer.ts"],"sourcesContent":["import * as FastElementPlusIconsVue from \"@fast-element-plus/icons-vue\";\nimport FastElementPlusComponents from \"./component\";\nimport FastElementPlusDirectives from \"./directive\";\nimport { installElementPlus } from \"./element-plus\";\nimport { version } from \"./version\";\nimport type { App } from \"vue\";\n\nexport const INSTALLED_KEY = Symbol(\"INSTALLED_KEY\");\n\nexport const makeInstaller = (): {\n\tversion: string;\n\tinstall: (app: App) => void;\n} => {\n\tconst install = (app: App): void => {\n\t\tif (app[INSTALLED_KEY]) return;\n\n\t\tapp[INSTALLED_KEY] = true;\n\n\t\tinstallElementPlus(app);\n\n\t\t/** 注册所有 Fast Element Plus Icon */\n\t\tfor (const [key, component] of Object.entries(FastElementPlusIconsVue)) {\n\t\t\t// 这里是给 FaIcon 使用的\n\t\t\tapp.component(`fa-icon-${key}`, component);\n\t\t}\n\n\t\tFastElementPlusComponents.forEach((c) => app.use(c));\n\n\t\tFastElementPlusDirectives.forEach((d) => app.use(d));\n\t};\n\n\treturn {\n\t\tversion,\n\t\tinstall,\n\t};\n};\n"],"names":[],"mappings":";;;;;AAOO,MAAM,gBAAgB,OAAO,eAAe;AAE5C,MAAM,gBAAgB,MAGxB;AACJ,QAAM,UAAU,CAAC,QAAmB;AACnC,QAAI,IAAI,aAAa,EAAG;AAExB,QAAI,aAAa,IAAI;AAErB,uBAAmB,GAAG;AAGtB,eAAW,CAAC,KAAK,SAAS,KAAK,OAAO,QAAQ,uBAAuB,GAAG;AAEvE,UAAI,UAAU,WAAW,GAAG,IAAI,SAAS;AAAA,IAC1C;AAEA,8BAA0B,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;AAEnD,8BAA0B,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;AAAA,EACpD;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,EAAA;AAEF;"}
package/es/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "1.0.0";
1
+ export declare const version = "1.0.1";
package/es/version.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const version = "1.0.0";
1
+ const version = "1.0.1";
2
2
  export {
3
3
  version
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../packages/version.ts"],"sourcesContent":["export const version = \"1.0.0\";\n"],"names":[],"mappings":"AAAO,MAAM,UAAU;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../packages/version.ts"],"sourcesContent":["export const version = \"1.0.1\";\n"],"names":[],"mappings":"AAAO,MAAM,UAAU;"}
@@ -1,4 +1,4 @@
1
- import type { ExtractPropTypes } from "vue";
1
+ import { ExtractPropTypes } from "vue";
2
2
  import { TSXWithInstall } from "@fast-china/utils";
3
3
  import { default as Avatar, faAvatarEmits, faAvatarProps } from "./src/avatar";
4
4
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../packages/components/avatar/index.ts"],"sourcesContent":["import type { ExtractPropTypes } from \"vue\";\nimport { withInstall } from \"@fast-china/utils\";\nimport type { faAvatarEmits, faAvatarProps } from \"./src/avatar\";\nimport Avatar from \"./src/avatar\";\n\nexport const FaAvatar = withInstall(Avatar);\nexport default FaAvatar;\n\nexport { faAvatarProps as faAvatarProps, faAvatarEmits as faAvatarEmits };\n\nexport type FaAvatarInstance = InstanceType<typeof Avatar>;\n\nexport type FaAvatarProps = ExtractPropTypes<typeof faAvatarProps>;\n\nexport type FaAvatarEmits = typeof faAvatarEmits;\n"],"names":["FaAvatar","withInstall","Avatar"],"mappings":"8KAKaA,EAAWC,EAAAA,YAAYC,EAAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../../packages/components/avatar/index.ts"],"sourcesContent":["import { withInstall } from \"@fast-china/utils\";\nimport Avatar from \"./src/avatar\";\nimport type { faAvatarEmits, faAvatarProps } from \"./src/avatar\";\nimport type { ExtractPropTypes } from \"vue\";\n\nexport const FaAvatar = withInstall(Avatar);\nexport default FaAvatar;\n\nexport { faAvatarProps as faAvatarProps, faAvatarEmits as faAvatarEmits };\n\nexport type FaAvatarInstance = InstanceType<typeof Avatar>;\n\nexport type FaAvatarProps = ExtractPropTypes<typeof faAvatarProps>;\n\nexport type FaAvatarEmits = typeof faAvatarEmits;\n"],"names":["FaAvatar","withInstall","Avatar"],"mappings":"8KAKaA,EAAWC,EAAAA,YAAYC,EAAAA"}
@@ -3,7 +3,7 @@ export declare const faAvatarProps: {
3
3
  /** @description representation type to icon, more info on icon component. */
4
4
  icon: {
5
5
  type: import('vue').PropType<string | Component>;
6
- default: () => import('vue').DefineComponent<{}, void, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
6
+ default: () => string | Component;
7
7
  };
8
8
  /**
9
9
  * @description 原图
@@ -15,40 +15,12 @@ export declare const faAvatarProps: {
15
15
  small: BooleanConstructor;
16
16
  /** @description 缩略图 */
17
17
  thumb: BooleanConstructor;
18
- size: {
19
- readonly type: import('vue').PropType<number | "" | "small" | "default" | "large">;
20
- readonly required: false;
21
- readonly validator: ((val: unknown) => boolean) | undefined;
22
- __epPropKey: true;
23
- } & {
24
- readonly default: "";
25
- };
26
- shape: {
27
- readonly type: import('vue').PropType<"circle" | "square">;
28
- readonly required: false;
29
- readonly validator: ((val: unknown) => boolean) | undefined;
30
- __epPropKey: true;
31
- } & {
32
- readonly default: "circle";
33
- };
34
- src: {
35
- readonly type: import('vue').PropType<string>;
36
- readonly required: false;
37
- readonly validator: ((val: unknown) => boolean) | undefined;
38
- __epPropKey: true;
39
- } & {
40
- readonly default: "";
41
- };
18
+ size: import('element-plus/es/utils/index.mjs').EpPropFinalized<readonly [NumberConstructor, StringConstructor], "" | "small" | "default" | "large", number, "", boolean>;
19
+ shape: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "circle" | "square", unknown, "circle", boolean>;
20
+ src: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
42
21
  alt: StringConstructor;
43
22
  srcSet: StringConstructor;
44
- fit: {
45
- readonly type: import('vue').PropType<any>;
46
- readonly required: false;
47
- readonly validator: ((val: unknown) => boolean) | undefined;
48
- __epPropKey: true;
49
- } & {
50
- readonly default: "cover";
51
- };
23
+ fit: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => "fill" | "contain" | "-moz-initial" | "inherit" | "initial" | "revert" | "unset" | "none" | "cover" | "scale-down") | (() => ObjectFitProperty) | ((new (...args: any[]) => "fill" | "contain" | "-moz-initial" | "inherit" | "initial" | "revert" | "unset" | "none" | "cover" | "scale-down") | (() => ObjectFitProperty))[], unknown, unknown, "cover", boolean>;
52
24
  };
53
25
  export declare const faAvatarEmits: {
54
26
  error: (evt: Event) => boolean;
@@ -63,7 +35,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
63
35
  /** @description representation type to icon, more info on icon component. */
64
36
  icon: {
65
37
  type: import('vue').PropType<string | Component>;
66
- default: () => import('vue').DefineComponent<{}, void, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
38
+ default: () => string | Component;
67
39
  };
68
40
  /**
69
41
  * @description 原图
@@ -75,40 +47,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
75
47
  small: BooleanConstructor;
76
48
  /** @description 缩略图 */
77
49
  thumb: BooleanConstructor;
78
- size: {
79
- readonly type: import('vue').PropType<number | "" | "small" | "default" | "large">;
80
- readonly required: false;
81
- readonly validator: ((val: unknown) => boolean) | undefined;
82
- __epPropKey: true;
83
- } & {
84
- readonly default: "";
85
- };
86
- shape: {
87
- readonly type: import('vue').PropType<"circle" | "square">;
88
- readonly required: false;
89
- readonly validator: ((val: unknown) => boolean) | undefined;
90
- __epPropKey: true;
91
- } & {
92
- readonly default: "circle";
93
- };
94
- src: {
95
- readonly type: import('vue').PropType<string>;
96
- readonly required: false;
97
- readonly validator: ((val: unknown) => boolean) | undefined;
98
- __epPropKey: true;
99
- } & {
100
- readonly default: "";
101
- };
50
+ size: import('element-plus/es/utils/index.mjs').EpPropFinalized<readonly [NumberConstructor, StringConstructor], "" | "small" | "default" | "large", number, "", boolean>;
51
+ shape: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "circle" | "square", unknown, "circle", boolean>;
52
+ src: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
102
53
  alt: StringConstructor;
103
54
  srcSet: StringConstructor;
104
- fit: {
105
- readonly type: import('vue').PropType<any>;
106
- readonly required: false;
107
- readonly validator: ((val: unknown) => boolean) | undefined;
108
- __epPropKey: true;
109
- } & {
110
- readonly default: "cover";
111
- };
55
+ fit: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => "fill" | "contain" | "-moz-initial" | "inherit" | "initial" | "revert" | "unset" | "none" | "cover" | "scale-down") | (() => ObjectFitProperty) | ((new (...args: any[]) => "fill" | "contain" | "-moz-initial" | "inherit" | "initial" | "revert" | "unset" | "none" | "cover" | "scale-down") | (() => ObjectFitProperty))[], unknown, unknown, "cover", boolean>;
112
56
  }>, {
113
57
  /** @description 图片路径 */
114
58
  src: string;
@@ -118,7 +62,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
118
62
  /** @description representation type to icon, more info on icon component. */
119
63
  icon: {
120
64
  type: import('vue').PropType<string | Component>;
121
- default: () => import('vue').DefineComponent<{}, void, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
65
+ default: () => string | Component;
122
66
  };
123
67
  /**
124
68
  * @description 原图
@@ -130,50 +74,22 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
130
74
  small: BooleanConstructor;
131
75
  /** @description 缩略图 */
132
76
  thumb: BooleanConstructor;
133
- size: {
134
- readonly type: import('vue').PropType<number | "" | "small" | "default" | "large">;
135
- readonly required: false;
136
- readonly validator: ((val: unknown) => boolean) | undefined;
137
- __epPropKey: true;
138
- } & {
139
- readonly default: "";
140
- };
141
- shape: {
142
- readonly type: import('vue').PropType<"circle" | "square">;
143
- readonly required: false;
144
- readonly validator: ((val: unknown) => boolean) | undefined;
145
- __epPropKey: true;
146
- } & {
147
- readonly default: "circle";
148
- };
149
- src: {
150
- readonly type: import('vue').PropType<string>;
151
- readonly required: false;
152
- readonly validator: ((val: unknown) => boolean) | undefined;
153
- __epPropKey: true;
154
- } & {
155
- readonly default: "";
156
- };
77
+ size: import('element-plus/es/utils/index.mjs').EpPropFinalized<readonly [NumberConstructor, StringConstructor], "" | "small" | "default" | "large", number, "", boolean>;
78
+ shape: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "circle" | "square", unknown, "circle", boolean>;
79
+ src: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
157
80
  alt: StringConstructor;
158
81
  srcSet: StringConstructor;
159
- fit: {
160
- readonly type: import('vue').PropType<any>;
161
- readonly required: false;
162
- readonly validator: ((val: unknown) => boolean) | undefined;
163
- __epPropKey: true;
164
- } & {
165
- readonly default: "cover";
166
- };
82
+ fit: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => "fill" | "contain" | "-moz-initial" | "inherit" | "initial" | "revert" | "unset" | "none" | "cover" | "scale-down") | (() => ObjectFitProperty) | ((new (...args: any[]) => "fill" | "contain" | "-moz-initial" | "inherit" | "initial" | "revert" | "unset" | "none" | "cover" | "scale-down") | (() => ObjectFitProperty))[], unknown, unknown, "cover", boolean>;
167
83
  }>> & Readonly<{
168
84
  onError?: (evt: Event) => any;
169
85
  }>, {
170
86
  small: boolean;
171
- size: number | "" | "small" | "default" | "large";
172
- icon: import('vue').DefineComponent<{}, void, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
87
+ size: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [NumberConstructor, StringConstructor], "" | "small" | "default" | "large", number>;
88
+ icon: string | Component;
173
89
  original: boolean;
174
90
  normal: boolean;
175
91
  thumb: boolean;
176
- shape: "circle" | "square";
92
+ shape: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "circle" | "square", unknown>;
177
93
  src: string;
178
94
  fit: any;
179
95
  }, import('vue').SlotsType<Partial<import('@fast-china/utils').MakeSlots<FaAvatarSlots>>>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),r=require("@element-plus/icons-vue"),s=require("@fast-china/utils"),a=require("element-plus"),t={...a.avatarProps,icon:{type:s.definePropType([String,Object,Function]),default:()=>r.Picture},original:Boolean,normal:Boolean,small:Boolean,thumb:Boolean},o={...a.avatarEmits},l=e.defineComponent({name:"FaAvatar",props:t,emits:o,slots:s.makeSlots(),setup(r,{attrs:t,slots:o,emit:l,expose:u}){const n=e.reactive({src:e.computed(()=>{if(r.src)return r.original?r.src:r.normal?`${r.src}@!normal`:r.small?`${r.src}@!small`:(r.thumb,`${r.src}@!thumb`)})}),c=s.useProps(r,a.avatarProps,["src"]);return s.useRender(()=>e.createVNode(a.ElAvatar,e.mergeProps(c.value,{class:"fa-avatar",src:n.src,onError:e=>l("error",e)}),{default:()=>[o.default&&o.default({src:n.src})]})),s.useExpose(u,{src:n.src})}});exports.default=l,exports.faAvatarEmits=o,exports.faAvatarProps=t;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),r=require("element-plus"),s=require("@element-plus/icons-vue"),a=require("@fast-china/utils"),t={...r.avatarProps,icon:{type:a.definePropType([String,Object,Function]),default:()=>s.Picture},original:Boolean,normal:Boolean,small:Boolean,thumb:Boolean},o={...r.avatarEmits},l=e.defineComponent({name:"FaAvatar",props:t,emits:o,slots:a.makeSlots(),setup(s,{attrs:t,slots:o,emit:l,expose:u}){const n=e.reactive({src:e.computed(()=>{if(s.src)return s.original?s.src:s.normal?`${s.src}@!normal`:s.small?`${s.src}@!small`:(s.thumb,`${s.src}@!thumb`)})}),c=a.useProps(s,r.avatarProps,["src"]);return a.useRender(()=>e.createVNode(r.ElAvatar,e.mergeProps(c.value,{class:"fa-avatar",src:n.src,onError:e=>l("error",e)}),{default:()=>[o.default&&o.default({src:n.src})]})),a.useExpose(u,{src:n.src})}});exports.default=l,exports.faAvatarEmits=o,exports.faAvatarProps=t;
2
2
  //# sourceMappingURL=avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.js","sources":["../../../../../packages/components/avatar/src/avatar.tsx"],"sourcesContent":["import type { Component } from \"vue\";\nimport { computed, defineComponent, reactive } from \"vue\";\nimport { Picture } from \"@element-plus/icons-vue\";\nimport { definePropType, makeSlots, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { ElAvatar, avatarEmits, avatarProps } from \"element-plus\";\n\nexport const faAvatarProps = {\n\t...avatarProps,\n\t/** @description representation type to icon, more info on icon component. */\n\ticon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\t// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n\t\tdefault: () => Picture,\n\t},\n\t/**\n\t * @description 原图\n\t */\n\toriginal: Boolean,\n\t/** @description 标准 */\n\tnormal: Boolean,\n\t/** @description 小图 */\n\tsmall: Boolean,\n\t/** @description 缩略图 */\n\tthumb: Boolean,\n};\n\nexport const faAvatarEmits = {\n\t...avatarEmits,\n};\n\ntype FaAvatarSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: { src: string };\n};\n\nexport default defineComponent({\n\tname: \"FaAvatar\",\n\tprops: faAvatarProps,\n\temits: faAvatarEmits,\n\tslots: makeSlots<FaAvatarSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst state = reactive({\n\t\t\tsrc: computed(() => {\n\t\t\t\tif (props.src) {\n\t\t\t\t\tif (props.original) {\n\t\t\t\t\t\treturn props.src;\n\t\t\t\t\t} else if (props.normal) {\n\t\t\t\t\t\treturn `${props.src}@!normal`;\n\t\t\t\t\t} else if (props.small) {\n\t\t\t\t\t\treturn `${props.src}@!small`;\n\t\t\t\t\t} else if (props.thumb) {\n\t\t\t\t\t\treturn `${props.src}@!thumb`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// 默认使用缩略图\n\t\t\t\t\t\treturn `${props.src}@!thumb`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t}),\n\t\t});\n\n\t\tconst elAvatarProps = useProps(props, avatarProps, [\"src\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElAvatar {...elAvatarProps.value} class=\"fa-avatar\" src={state.src} onError={(evt: Event) => emit(\"error\", evt)}>\n\t\t\t\t{slots.default && slots.default({ src: state.src })}\n\t\t\t</ElAvatar>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 图片路径 */\n\t\t\tsrc: state.src,\n\t\t});\n\t},\n});\n"],"names":["faAvatarProps","avatarProps","icon","type","definePropType","String","Object","Function","default","Picture","original","Boolean","normal","small","thumb","faAvatarEmits","avatarEmits","Avatar","name","props","emits","slots","makeSlots","setup","attrs","emit","expose","state","reactive","src","computed","elAvatarProps","useProps","useRender","_createVNode","ElAvatar","_mergeProps","value","class","onError","evt","useExpose"],"mappings":"iOAMaA,EAAgB,IACzBC,EAAAA,YAEHC,KAAM,CACLC,KAAMC,EAAAA,eAAmC,CAACC,OAAQC,OAAQC,WAE1DC,QAASA,IAAMC,EAAAA,SAKhBC,SAAUC,QAEVC,OAAQD,QAERE,MAAOF,QAEPG,MAAOH,SAGKI,EAAgB,IACzBC,EAAAA,aAQJC,oBAA+B,CAC9BC,KAAM,WACNC,MAAOnB,EACPoB,MAAOL,EACPM,MAAOC,EAAAA,YACPC,KAAAA,CAAMJ,GAAOK,MAAEA,EAAAA,MAAOH,EAAAA,KAAOI,EAAAA,OAAMC,IAClC,MAAMC,EAAQC,EAAAA,SAAS,CACtBC,IAAKC,EAAAA,SAAS,KACb,GAAIX,EAAMU,IACT,OAAIV,EAAMT,SACFS,EAAMU,IACHV,EAAMP,OACT,GAAGO,EAAMU,cACNV,EAAMN,MACT,GAAGM,EAAMU,cACNV,EAAML,MACT,GAAGK,EAAMU,kBAUdE,EAAgBC,EAAAA,SAASb,EAAOlB,EAAAA,YAAa,CAAC,QAQpD,OANAgC,EAAAA,UAAU,IAAAC,EAAAA,YAAAC,EAAAA,SAAAC,EAAAA,WACKL,EAAcM,MAAK,CAAAC,MAAA,YAAAT,IAAyBF,EAAME,IAAGU,QAAYC,GAAef,EAAK,QAASe,KAAI,CAAAhC,QAAAA,IAAA,CAC9Ga,EAAMb,SAAWa,EAAMb,QAAQ,CAAEqB,IAAKF,EAAME,UAIxCY,EAAAA,UAAUf,EAAQ,CAExBG,IAAKF,EAAME,KAEb"}
1
+ {"version":3,"file":"avatar.js","sources":["../../../../../packages/components/avatar/src/avatar.tsx"],"sourcesContent":["import { computed, defineComponent, reactive } from \"vue\";\nimport { ElAvatar, avatarEmits, avatarProps } from \"element-plus\";\nimport { Picture } from \"@element-plus/icons-vue\";\nimport { definePropType, makeSlots, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport type { Component } from \"vue\";\n\nexport const faAvatarProps = {\n\t...avatarProps,\n\t/** @description representation type to icon, more info on icon component. */\n\ticon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: (): string | Component => Picture,\n\t},\n\t/**\n\t * @description 原图\n\t */\n\toriginal: Boolean,\n\t/** @description 标准 */\n\tnormal: Boolean,\n\t/** @description 小图 */\n\tsmall: Boolean,\n\t/** @description 缩略图 */\n\tthumb: Boolean,\n};\n\nexport const faAvatarEmits = {\n\t...avatarEmits,\n};\n\ntype FaAvatarSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: { src: string };\n};\n\nexport default defineComponent({\n\tname: \"FaAvatar\",\n\tprops: faAvatarProps,\n\temits: faAvatarEmits,\n\tslots: makeSlots<FaAvatarSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst state = reactive({\n\t\t\tsrc: computed(() => {\n\t\t\t\tif (props.src) {\n\t\t\t\t\tif (props.original) {\n\t\t\t\t\t\treturn props.src;\n\t\t\t\t\t} else if (props.normal) {\n\t\t\t\t\t\treturn `${props.src}@!normal`;\n\t\t\t\t\t} else if (props.small) {\n\t\t\t\t\t\treturn `${props.src}@!small`;\n\t\t\t\t\t} else if (props.thumb) {\n\t\t\t\t\t\treturn `${props.src}@!thumb`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// 默认使用缩略图\n\t\t\t\t\t\treturn `${props.src}@!thumb`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t}),\n\t\t});\n\n\t\tconst elAvatarProps = useProps(props, avatarProps, [\"src\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElAvatar {...elAvatarProps.value} class=\"fa-avatar\" src={state.src} onError={(evt: Event) => emit(\"error\", evt)}>\n\t\t\t\t{slots.default && slots.default({ src: state.src })}\n\t\t\t</ElAvatar>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 图片路径 */\n\t\t\tsrc: state.src,\n\t\t});\n\t},\n});\n"],"names":["faAvatarProps","avatarProps","icon","type","definePropType","String","Object","Function","default","Picture","original","Boolean","normal","small","thumb","faAvatarEmits","avatarEmits","Avatar","name","props","emits","slots","makeSlots","setup","attrs","emit","expose","state","reactive","src","computed","elAvatarProps","useProps","useRender","_createVNode","ElAvatar","_mergeProps","value","class","onError","evt","useExpose"],"mappings":"iOAMaA,EAAgB,IACzBC,EAAAA,YAEHC,KAAM,CACLC,KAAMC,EAAAA,eAAmC,CAACC,OAAQC,OAAQC,WAC1DC,QAASA,IAA0BC,EAAAA,SAKpCC,SAAUC,QAEVC,OAAQD,QAERE,MAAOF,QAEPG,MAAOH,SAGKI,EAAgB,IACzBC,EAAAA,aAQJC,oBAA+B,CAC9BC,KAAM,WACNC,MAAOnB,EACPoB,MAAOL,EACPM,MAAOC,EAAAA,YACPC,KAAAA,CAAMJ,GAAOK,MAAEA,EAAAA,MAAOH,EAAAA,KAAOI,EAAAA,OAAMC,IAClC,MAAMC,EAAQC,EAAAA,SAAS,CACtBC,IAAKC,EAAAA,SAAS,KACb,GAAIX,EAAMU,IACT,OAAIV,EAAMT,SACFS,EAAMU,IACHV,EAAMP,OACT,GAAGO,EAAMU,cACNV,EAAMN,MACT,GAAGM,EAAMU,cACNV,EAAML,MACT,GAAGK,EAAMU,kBAUdE,EAAgBC,EAAAA,SAASb,EAAOlB,EAAAA,YAAa,CAAC,QAQpD,OANAgC,EAAAA,UAAU,IAAAC,EAAAA,YAAAC,EAAAA,SAAAC,EAAAA,WACKL,EAAcM,MAAK,CAAAC,MAAA,YAAAT,IAAyBF,EAAME,IAAGU,QAAYC,GAAef,EAAK,QAASe,KAAI,CAAAhC,QAAAA,IAAA,CAC9Ga,EAAMb,SAAWa,EAAMb,QAAQ,CAAEqB,IAAKF,EAAME,UAIxCY,EAAAA,UAAUf,EAAQ,CAExBG,IAAKF,EAAME,KAEb"}