giime 0.7.12 → 0.7.13

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 (42) hide show
  1. package/dist/index.css +60 -60
  2. package/es/components/src/composite/fileComponent/FileComponent.vue.d.ts +6 -0
  3. package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs +7 -1
  4. package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs.map +1 -1
  5. package/es/components/src/composite/fileComponent/fileComponent.d.ts +6 -0
  6. package/es/components/src/composite/fileComponent/fileComponent.mjs +3 -0
  7. package/es/components/src/composite/fileComponent/fileComponent.mjs.map +1 -1
  8. package/es/components/src/composite/fileComponent/index.d.ts +12 -0
  9. package/es/components/src/composite/fileList2/FileList.vue.d.ts +14 -7
  10. package/es/components/src/composite/fileList2/FileList.vue2.mjs +6 -7
  11. package/es/components/src/composite/fileList2/FileList.vue2.mjs.map +1 -1
  12. package/es/components/src/composite/fileList2/fileList.d.ts +3 -0
  13. package/es/components/src/composite/fileList2/index.d.ts +12 -0
  14. package/es/components/src/composite/previewFile/PreviewFile.vue.d.ts +6 -0
  15. package/es/components/src/composite/previewFile/index.d.ts +6 -0
  16. package/es/components/src/composite/previewFile/previewFile.d.ts +3 -0
  17. package/es/components/src/composite/uploadFile/UploadFile.vue.d.ts +6 -0
  18. package/es/components/src/composite/uploadFile/index.d.ts +12 -0
  19. package/es/components/src/composite/uploadFile/uploadFile.d.ts +4 -1
  20. package/es/giime/version.d.ts +1 -1
  21. package/es/index.css +60 -60
  22. package/lib/components/src/composite/fileComponent/FileComponent.vue.d.ts +6 -0
  23. package/lib/components/src/composite/fileComponent/FileComponent.vue2.js +7 -1
  24. package/lib/components/src/composite/fileComponent/FileComponent.vue2.js.map +1 -1
  25. package/lib/components/src/composite/fileComponent/fileComponent.d.ts +6 -0
  26. package/lib/components/src/composite/fileComponent/fileComponent.js +3 -0
  27. package/lib/components/src/composite/fileComponent/fileComponent.js.map +1 -1
  28. package/lib/components/src/composite/fileComponent/index.d.ts +12 -0
  29. package/lib/components/src/composite/fileList2/FileList.vue.d.ts +14 -7
  30. package/lib/components/src/composite/fileList2/FileList.vue2.js +6 -7
  31. package/lib/components/src/composite/fileList2/FileList.vue2.js.map +1 -1
  32. package/lib/components/src/composite/fileList2/fileList.d.ts +3 -0
  33. package/lib/components/src/composite/fileList2/index.d.ts +12 -0
  34. package/lib/components/src/composite/previewFile/PreviewFile.vue.d.ts +6 -0
  35. package/lib/components/src/composite/previewFile/index.d.ts +6 -0
  36. package/lib/components/src/composite/previewFile/previewFile.d.ts +3 -0
  37. package/lib/components/src/composite/uploadFile/UploadFile.vue.d.ts +6 -0
  38. package/lib/components/src/composite/uploadFile/index.d.ts +12 -0
  39. package/lib/components/src/composite/uploadFile/uploadFile.d.ts +4 -1
  40. package/lib/giime/version.d.ts +1 -1
  41. package/lib/index.css +60 -60
  42. package/package.json +1 -1
package/dist/index.css CHANGED
@@ -878,13 +878,36 @@ video {
878
878
  margin: 0;
879
879
  }
880
880
 
881
- .gm-upload-pro-preview-dialog[data-v-9ac30390] [data-v-9ac30390] .el-dialog__body {
882
- padding: 0;
881
+ .circular[data-v-d7b04fae] {
882
+ animation: loading-rotate-d7b04fae 2s linear infinite;
883
883
  }
884
884
 
885
- .gm-upload-pro-file-picture-card[data-v-9ac30390] [data-v-9ac30390] .el-upload-list__item, .gm-upload-pro-file-picture-card[data-v-9ac30390] [data-v-9ac30390] .el-upload--picture-card {
886
- width: auto;
887
- height: auto;
885
+ .path[data-v-d7b04fae] {
886
+ animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
887
+ stroke-dasharray: 90, 150;
888
+ stroke-dashoffset: 0;
889
+ stroke: var(--el-color-primary);
890
+ stroke-linecap: round;
891
+ }
892
+
893
+ @keyframes loading-rotate-d7b04fae {
894
+ to {
895
+ transform: rotate(360deg);
896
+ }
897
+ }
898
+ @keyframes loading-dash-d7b04fae {
899
+ 0% {
900
+ stroke-dasharray: 1, 200;
901
+ stroke-dashoffset: 0;
902
+ }
903
+ 50% {
904
+ stroke-dasharray: 90, 150;
905
+ stroke-dashoffset: -40px;
906
+ }
907
+ 100% {
908
+ stroke-dasharray: 90, 150;
909
+ stroke-dashoffset: -120px;
910
+ }
888
911
  }
889
912
  .gm-upload-pro-file {
890
913
  line-height: normal;
@@ -924,40 +947,13 @@ video {
924
947
  .gm-upload-pro-file-disabled .el-upload-list__item-status-label {
925
948
  display: none;
926
949
  }
927
- .circular[data-v-d7b04fae] {
928
- animation: loading-rotate-d7b04fae 2s linear infinite;
929
- }
930
-
931
- .path[data-v-d7b04fae] {
932
- animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
933
- stroke-dasharray: 90, 150;
934
- stroke-dashoffset: 0;
935
- stroke: var(--el-color-primary);
936
- stroke-linecap: round;
950
+ .gm-upload-pro-preview-dialog[data-v-9ac30390] [data-v-9ac30390] .el-dialog__body {
951
+ padding: 0;
937
952
  }
938
953
 
939
- @keyframes loading-rotate-d7b04fae {
940
- to {
941
- transform: rotate(360deg);
942
- }
943
- }
944
- @keyframes loading-dash-d7b04fae {
945
- 0% {
946
- stroke-dasharray: 1, 200;
947
- stroke-dashoffset: 0;
948
- }
949
- 50% {
950
- stroke-dasharray: 90, 150;
951
- stroke-dashoffset: -40px;
952
- }
953
- 100% {
954
- stroke-dasharray: 90, 150;
955
- stroke-dashoffset: -120px;
956
- }
957
- }
958
- [data-v-488ca110] .gmSearchForm .el-form-item {
959
- margin-right: 0;
960
- margin-bottom: 4px;
954
+ .gm-upload-pro-file-picture-card[data-v-9ac30390] [data-v-9ac30390] .el-upload-list__item, .gm-upload-pro-file-picture-card[data-v-9ac30390] [data-v-9ac30390] .el-upload--picture-card {
955
+ width: auto;
956
+ height: auto;
961
957
  }
962
958
  .gm-flex-center[data-v-c17deec9] {
963
959
  align-items: center;
@@ -966,6 +962,29 @@ video {
966
962
  .gm-flex-justify-between[data-v-c17deec9] {
967
963
  justify-content: space-between;
968
964
  }
965
+ [data-v-98c2e804] .gmTableNoBorder .el-table__body .el-table__cell {
966
+ border-right: none;
967
+ }
968
+
969
+ [data-v-98c2e804] .gmTableNoBorder .el-table__inner-wrapper:before {
970
+ height: 0;
971
+ }
972
+
973
+ [data-v-98c2e804] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
974
+ height: 0;
975
+ }
976
+
977
+ [data-v-98c2e804] .gmTableNoBorder.el-table--border:after {
978
+ height: 0;
979
+ }
980
+
981
+ [data-v-98c2e804] .gmTableNoBorder.el-table--border:before {
982
+ height: 0;
983
+ }
984
+
985
+ [data-v-98c2e804] .gmTableNoBorder .el-table__border-left-patch {
986
+ height: 0;
987
+ }
969
988
  .gm-number-interval-single[data-v-4e6f4d6f] {
970
989
  border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
971
990
  box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
@@ -984,6 +1003,10 @@ video {
984
1003
  .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
985
1004
  display: flex;
986
1005
  }
1006
+ [data-v-488ca110] .gmSearchForm .el-form-item {
1007
+ margin-right: 0;
1008
+ margin-bottom: 4px;
1009
+ }
987
1010
  .gm-upload-preview-dialog[data-v-312f9322] [data-v-312f9322] .el-dialog__body {
988
1011
  padding: 0;
989
1012
  }
@@ -1015,29 +1038,6 @@ video {
1015
1038
  [data-v-2c351ff8] .gmTableNoBorder .el-table__border-left-patch {
1016
1039
  height: 0;
1017
1040
  }
1018
- [data-v-98c2e804] .gmTableNoBorder .el-table__body .el-table__cell {
1019
- border-right: none;
1020
- }
1021
-
1022
- [data-v-98c2e804] .gmTableNoBorder .el-table__inner-wrapper:before {
1023
- height: 0;
1024
- }
1025
-
1026
- [data-v-98c2e804] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
1027
- height: 0;
1028
- }
1029
-
1030
- [data-v-98c2e804] .gmTableNoBorder.el-table--border:after {
1031
- height: 0;
1032
- }
1033
-
1034
- [data-v-98c2e804] .gmTableNoBorder.el-table--border:before {
1035
- height: 0;
1036
- }
1037
-
1038
- [data-v-98c2e804] .gmTableNoBorder .el-table__border-left-patch {
1039
- height: 0;
1040
- }
1041
1041
  .gm-upload-file {
1042
1042
  line-height: normal;
1043
1043
  }
@@ -44,6 +44,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
44
44
  type: BooleanConstructor;
45
45
  default: boolean;
46
46
  };
47
+ onClick: {
48
+ type: import("vue").PropType<(file: Partial<UploadFile>) => void>;
49
+ };
47
50
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
48
51
  file: {
49
52
  type: import("vue").PropType<Partial<UploadFile>>;
@@ -89,6 +92,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
89
92
  type: BooleanConstructor;
90
93
  default: boolean;
91
94
  };
95
+ onClick: {
96
+ type: import("vue").PropType<(file: Partial<UploadFile>) => void>;
97
+ };
92
98
  }>>, {
93
99
  size: number;
94
100
  url: string;
@@ -61,6 +61,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
61
61
  const matchedType = typeCheckers.find(({ check }) => check());
62
62
  return matchedType?.icon || iconList.unknown;
63
63
  });
64
+ const handleClick = () => {
65
+ if (!props.onClick)
66
+ return;
67
+ props.onClick(props.file);
68
+ };
64
69
  return (_ctx, _cache) => {
65
70
  const _component_el_image = resolveComponent("el-image");
66
71
  return openBlock(), createElementBlock("div", _hoisted_1, [
@@ -68,7 +73,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
68
73
  "div",
69
74
  {
70
75
  class: "gm-flex gm-items-center gm-justify-center",
71
- style: normalizeStyle(fileStyle.value)
76
+ style: normalizeStyle(fileStyle.value),
77
+ onClick: handleClick
72
78
  },
73
79
  [
74
80
  isImageFile.value ? (openBlock(), createElementBlock("img", {
@@ -1 +1 @@
1
- {"version":3,"file":"FileComponent.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/fileComponent/FileComponent.vue"],"sourcesContent":["<template>\n <div class=\"gm-flex gm-h-full gm-w-full gm-flex-col gm-items-center gm-justify-center\">\n <div class=\"gm-flex gm-items-center gm-justify-center\" :style=\"fileStyle\">\n <img v-if=\"isImageFile\" :src=\"fileURL\" fit=\"contain\" style=\"max-width: 100%; max-height: 100%\" />\n <video\n v-else-if=\"isVideoFile\"\n :src=\"fileURL\"\n :controls=\"controls\"\n :controlslist=\"controlslist\"\n :oncontextmenu=\"() => oncontextmenu\"\n style=\"max-width: 100%; max-height: 100%\"\n />\n <template v-else>\n <el-image v-if=\"showIcon || !showIframe\" :style=\"iconStyle\" :src=\"iconURL\" />\n <iframe v-else :src=\"fileURL\" width=\"850px\" height=\"100%\" frameborder=\"0\" />\n </template>\n </div>\n <slot :file=\"file\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { isExcel, isImageUrl, isPDF, isPPT, isPSD, isText, isVideoUrl, isWord, isZip } from '@giime/utils/src/is';\nimport { fileComponentProps } from './fileComponent';\n// import PDF from './assets/image/pdf.svg';\n// import WORD from './assets/image/word.svg';\n// import EXCEL from './assets/image/excel.svg';\n// import PPT from './assets/image/ppt.svg';\n// import PSD from './assets/image/psd.svg';\n// import TEXT from './assets/image/text.svg';\n// import ZIP from './assets/image/zip.svg';\n// import UNKNOWN from './assets/image/unknown.svg';\nimport type { UploadFile } from 'element-plus';\n\ndefineOptions({\n name: 'GmFileComponent',\n});\n\nconst props = defineProps(fileComponentProps);\n\nconst iconStyle = computed(() => {\n return {\n width: `${props.size}px`,\n height: `${props.size}px`,\n };\n});\n\nconst fileStyle = computed(() => {\n return {\n width: props.fileWidth,\n height: props.fileHeight,\n ...props.fileStyle,\n };\n});\n\n/** 文件链接地址 */\nconst fileURL = computed(() => {\n return props.file[props.url as keyof UploadFile] as string;\n});\n\n/** 验证文件类型的字段 */\nconst verifyFile = computed(() => {\n return props.file[props.field as keyof UploadFile] as string;\n});\n\nconst isImageFile = computed(() => isImageUrl(fileURL.value) || isImageUrl(verifyFile.value));\nconst isVideoFile = computed(() => isVideoUrl(fileURL.value) || isVideoUrl(verifyFile.value));\n\n/** 显示iframe */\nconst showIframe = computed(() => {\n return isPDF(fileURL.value) || isPDF(verifyFile.value) || isText(fileURL.value) || isText(verifyFile.value);\n});\n\n/** 图标 */\nconst iconList = {\n excel: 'https://sucai.giikin.cn/workflow/material-refer-1739947054012-1213-335.svg',\n pdf: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-5462-586.svg',\n word: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-1540-625.svg',\n txt: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-1700-90.svg',\n zip: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-2639-507.svg',\n psd: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-5026-760.svg',\n ppt: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-2867-970.svg',\n unknown: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-1448-736.svg',\n};\n\nconst iconURL = computed<string>(() => {\n // 文件类型检查器映射\n const typeCheckers = [\n { check: () => isPDF(fileURL.value) || isPDF(verifyFile.value), icon: iconList.pdf },\n { check: () => isWord(fileURL.value) || isWord(verifyFile.value), icon: iconList.word },\n { check: () => isExcel(fileURL.value) || isExcel(verifyFile.value), icon: iconList.excel },\n { check: () => isText(fileURL.value) || isText(verifyFile.value), icon: iconList.txt },\n { check: () => isPPT(fileURL.value) || isPPT(verifyFile.value), icon: iconList.ppt },\n { check: () => isZip(fileURL.value) || isZip(verifyFile.value), icon: iconList.zip },\n { check: () => isPSD(fileURL.value) || isPSD(verifyFile.value), icon: iconList.psd },\n ];\n\n // 查找匹配的文件类型\n const matchedType = typeCheckers.find(({ check }) => check());\n\n return matchedType?.icon || iconList.unknown;\n});\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileComponent.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/fileComponent/FileComponent.vue"],"sourcesContent":["<template>\n <div class=\"gm-flex gm-h-full gm-w-full gm-flex-col gm-items-center gm-justify-center\">\n <div class=\"gm-flex gm-items-center gm-justify-center\" :style=\"fileStyle\" @click=\"handleClick\">\n <img v-if=\"isImageFile\" :src=\"fileURL\" fit=\"contain\" style=\"max-width: 100%; max-height: 100%\" />\n <video\n v-else-if=\"isVideoFile\"\n :src=\"fileURL\"\n :controls=\"controls\"\n :controlslist=\"controlslist\"\n :oncontextmenu=\"() => oncontextmenu\"\n style=\"max-width: 100%; max-height: 100%\"\n />\n <template v-else>\n <el-image v-if=\"showIcon || !showIframe\" :style=\"iconStyle\" :src=\"iconURL\" />\n <iframe v-else :src=\"fileURL\" width=\"850px\" height=\"100%\" frameborder=\"0\" />\n </template>\n </div>\n <slot :file=\"file\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { isExcel, isImageUrl, isPDF, isPPT, isPSD, isText, isVideoUrl, isWord, isZip } from '@giime/utils/src/is';\nimport { fileComponentProps } from './fileComponent';\n// import PDF from './assets/image/pdf.svg';\n// import WORD from './assets/image/word.svg';\n// import EXCEL from './assets/image/excel.svg';\n// import PPT from './assets/image/ppt.svg';\n// import PSD from './assets/image/psd.svg';\n// import TEXT from './assets/image/text.svg';\n// import ZIP from './assets/image/zip.svg';\n// import UNKNOWN from './assets/image/unknown.svg';\nimport type { UploadFile } from 'element-plus';\n\ndefineOptions({\n name: 'GmFileComponent',\n});\n\nconst props = defineProps(fileComponentProps);\n\nconst iconStyle = computed(() => {\n return {\n width: `${props.size}px`,\n height: `${props.size}px`,\n };\n});\n\nconst fileStyle = computed(() => {\n return {\n width: props.fileWidth,\n height: props.fileHeight,\n ...props.fileStyle,\n };\n});\n\n/** 文件链接地址 */\nconst fileURL = computed(() => {\n return props.file[props.url as keyof UploadFile] as string;\n});\n\n/** 验证文件类型的字段 */\nconst verifyFile = computed(() => {\n return props.file[props.field as keyof UploadFile] as string;\n});\n\nconst isImageFile = computed(() => isImageUrl(fileURL.value) || isImageUrl(verifyFile.value));\nconst isVideoFile = computed(() => isVideoUrl(fileURL.value) || isVideoUrl(verifyFile.value));\n\n/** 显示iframe */\nconst showIframe = computed(() => {\n return isPDF(fileURL.value) || isPDF(verifyFile.value) || isText(fileURL.value) || isText(verifyFile.value);\n});\n\n/** 图标 */\nconst iconList = {\n excel: 'https://sucai.giikin.cn/workflow/material-refer-1739947054012-1213-335.svg',\n pdf: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-5462-586.svg',\n word: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-1540-625.svg',\n txt: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-1700-90.svg',\n zip: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-2639-507.svg',\n psd: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-5026-760.svg',\n ppt: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-2867-970.svg',\n unknown: 'https://sucai.giikin.cn/workflow/material-refer-1739947288698-1448-736.svg',\n};\n\nconst iconURL = computed<string>(() => {\n // 文件类型检查器映射\n const typeCheckers = [\n { check: () => isPDF(fileURL.value) || isPDF(verifyFile.value), icon: iconList.pdf },\n { check: () => isWord(fileURL.value) || isWord(verifyFile.value), icon: iconList.word },\n { check: () => isExcel(fileURL.value) || isExcel(verifyFile.value), icon: iconList.excel },\n { check: () => isText(fileURL.value) || isText(verifyFile.value), icon: iconList.txt },\n { check: () => isPPT(fileURL.value) || isPPT(verifyFile.value), icon: iconList.ppt },\n { check: () => isZip(fileURL.value) || isZip(verifyFile.value), icon: iconList.zip },\n { check: () => isPSD(fileURL.value) || isPSD(verifyFile.value), icon: iconList.psd },\n ];\n\n // 查找匹配的文件类型\n const matchedType = typeCheckers.find(({ check }) => check());\n\n return matchedType?.icon || iconList.unknown;\n});\n\nconst handleClick = () => {\n if (!props.onClick) return;\n props.onClick(props.file);\n};\n</script>\n"],"names":[],"mappings":"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"}
@@ -2,6 +2,9 @@ import { type PropType } from 'vue';
2
2
  import { type UploadFile } from 'element-plus';
3
3
  /** 视频控制器 */
4
4
  export type Controls = 'nodownload' | 'nofullscreen' | 'noremoteplayback' | 'noplaybackrate';
5
+ export interface FileComponentHooks {
6
+ onClick: (file: Partial<UploadFile>) => void;
7
+ }
5
8
  export declare const fileComponentProps: {
6
9
  /** 文件 */
7
10
  file: {
@@ -55,4 +58,7 @@ export declare const fileComponentProps: {
55
58
  type: BooleanConstructor;
56
59
  default: boolean;
57
60
  };
61
+ onClick: {
62
+ type: PropType<(file: Partial<UploadFile>) => void>;
63
+ };
58
64
  };
@@ -50,6 +50,9 @@ const fileComponentProps = {
50
50
  showIcon: {
51
51
  type: Boolean,
52
52
  default: false
53
+ },
54
+ onClick: {
55
+ type: Function
53
56
  }
54
57
  };
55
58
 
@@ -1 +1 @@
1
- {"version":3,"file":"fileComponent.mjs","sources":["../../../../../../../packages/components/src/composite/fileComponent/fileComponent.ts"],"sourcesContent":["import { type PropType } from 'vue';\nimport { type UploadFile } from 'element-plus';\n\n/** 视频控制器 */\nexport type Controls = 'nodownload' | 'nofullscreen' | 'noremoteplayback' | 'noplaybackrate';\n\nexport const fileComponentProps = {\n /** 文件 */\n file: {\n type: Object as PropType<Partial<UploadFile>>,\n default: () => ({}),\n },\n /** 文件链接字段 */\n url: {\n type: String,\n default: 'url',\n },\n fileWidth: {\n type: String,\n default: '100%',\n },\n fileHeight: {\n type: String,\n default: '100%',\n },\n fileStyle: {\n type: Object,\n default: () => ({}),\n },\n /** 图标大小 */\n size: {\n type: Number,\n default: 80,\n },\n /** 文件类型判断字段 */\n field: {\n type: String,\n default: 'name',\n },\n /** 视频是否显示操作按钮 */\n controls: {\n type: Boolean,\n default: true,\n },\n /** 视频控制器选项 */\n controlslist: {\n type: String,\n default: '',\n },\n /** 视频是否显示右键菜单 */\n oncontextmenu: {\n type: Boolean,\n default: true,\n },\n /** 是否显示icon */\n showIcon: {\n type: Boolean,\n default: false,\n },\n};\n"],"names":[],"mappings":"AAMO,MAAM,kBAAqB,GAAA;AAAA;AAAA,EAEhC,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA;AAAA,EAEA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,MAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,MAAA;AAAA,GACX;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA;AAAA,EAEA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,MAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AACF;;;;"}
1
+ {"version":3,"file":"fileComponent.mjs","sources":["../../../../../../../packages/components/src/composite/fileComponent/fileComponent.ts"],"sourcesContent":["import { type PropType } from 'vue';\nimport { type UploadFile } from 'element-plus';\n\n/** 视频控制器 */\nexport type Controls = 'nodownload' | 'nofullscreen' | 'noremoteplayback' | 'noplaybackrate';\n\nexport interface FileComponentHooks {\n onClick: (file: Partial<UploadFile>) => void;\n}\n\nexport const fileComponentProps = {\n /** 文件 */\n file: {\n type: Object as PropType<Partial<UploadFile>>,\n default: () => ({}),\n },\n /** 文件链接字段 */\n url: {\n type: String,\n default: 'url',\n },\n fileWidth: {\n type: String,\n default: '100%',\n },\n fileHeight: {\n type: String,\n default: '100%',\n },\n fileStyle: {\n type: Object,\n default: () => ({}),\n },\n /** 图标大小 */\n size: {\n type: Number,\n default: 80,\n },\n /** 文件类型判断字段 */\n field: {\n type: String,\n default: 'name',\n },\n /** 视频是否显示操作按钮 */\n controls: {\n type: Boolean,\n default: true,\n },\n /** 视频控制器选项 */\n controlslist: {\n type: String,\n default: '',\n },\n /** 视频是否显示右键菜单 */\n oncontextmenu: {\n type: Boolean,\n default: true,\n },\n /** 是否显示icon */\n showIcon: {\n type: Boolean,\n default: false,\n },\n onClick: {\n type: Function as PropType<FileComponentHooks['onClick']>,\n },\n};\n"],"names":[],"mappings":"AAUO,MAAM,kBAAqB,GAAA;AAAA;AAAA,EAEhC,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA;AAAA,EAEA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,MAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,MAAA;AAAA,GACX;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA;AAAA,EAEA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,MAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,QAAA;AAAA,GACR;AACF;;;;"}
@@ -45,6 +45,9 @@ export declare const GmFileComponent: import("../../../../utils").SFCWithInstall
45
45
  type: BooleanConstructor;
46
46
  default: boolean;
47
47
  };
48
+ onClick: {
49
+ type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
50
+ };
48
51
  }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
49
52
  file: {
50
53
  type: import("vue").PropType<Partial<import("element-plus").UploadFile>>;
@@ -90,6 +93,9 @@ export declare const GmFileComponent: import("../../../../utils").SFCWithInstall
90
93
  type: BooleanConstructor;
91
94
  default: boolean;
92
95
  };
96
+ onClick: {
97
+ type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
98
+ };
93
99
  }>>, {
94
100
  size: number;
95
101
  url: string;
@@ -154,6 +160,9 @@ export declare const GmFileComponent: import("../../../../utils").SFCWithInstall
154
160
  type: BooleanConstructor;
155
161
  default: boolean;
156
162
  };
163
+ onClick: {
164
+ type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
165
+ };
157
166
  }>>, {}, {}, {}, {}, {
158
167
  size: number;
159
168
  url: string;
@@ -215,6 +224,9 @@ export declare const GmFileComponent: import("../../../../utils").SFCWithInstall
215
224
  type: BooleanConstructor;
216
225
  default: boolean;
217
226
  };
227
+ onClick: {
228
+ type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
229
+ };
218
230
  }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
219
231
  size: number;
220
232
  url: string;
@@ -1,6 +1,7 @@
1
+ import type { UploadFile } from 'element-plus';
1
2
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
2
3
  fileList: {
3
- type: import("vue").PropType<Partial<import("element-plus").UploadFile>[]>;
4
+ type: import("vue").PropType<Partial<UploadFile>[]>;
4
5
  default: () => never[];
5
6
  };
6
7
  controlslist: {
@@ -36,7 +37,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
36
37
  default: boolean;
37
38
  };
38
39
  file: {
39
- type: import("vue").PropType<Partial<import("element-plus").UploadFile>>;
40
+ type: import("vue").PropType<Partial<UploadFile>>;
40
41
  default: () => {};
41
42
  };
42
43
  url: {
@@ -63,9 +64,12 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
63
64
  type: BooleanConstructor;
64
65
  default: boolean;
65
66
  };
67
+ onClick: {
68
+ type: import("vue").PropType<(file: Partial<UploadFile>) => void>;
69
+ };
66
70
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
67
71
  fileList: {
68
- type: import("vue").PropType<Partial<import("element-plus").UploadFile>[]>;
72
+ type: import("vue").PropType<Partial<UploadFile>[]>;
69
73
  default: () => never[];
70
74
  };
71
75
  controlslist: {
@@ -101,7 +105,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
101
105
  default: boolean;
102
106
  };
103
107
  file: {
104
- type: import("vue").PropType<Partial<import("element-plus").UploadFile>>;
108
+ type: import("vue").PropType<Partial<UploadFile>>;
105
109
  default: () => {};
106
110
  };
107
111
  url: {
@@ -128,13 +132,16 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
128
132
  type: BooleanConstructor;
129
133
  default: boolean;
130
134
  };
135
+ onClick: {
136
+ type: import("vue").PropType<(file: Partial<UploadFile>) => void>;
137
+ };
131
138
  }>>, {
132
139
  size: number;
133
140
  url: string;
134
- file: Partial<import("element-plus").UploadFile>;
141
+ file: Partial<UploadFile>;
135
142
  showIcon: boolean;
136
143
  controls: boolean;
137
- fileList: Partial<import("element-plus").UploadFile>[];
144
+ fileList: Partial<UploadFile>[];
138
145
  field: string;
139
146
  fileWidth: string;
140
147
  fileHeight: string;
@@ -147,7 +154,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
147
154
  fileListStyle: Record<string, any>;
148
155
  }, {}>, {
149
156
  default?(_: {
150
- file: Partial<import("element-plus").UploadFile>;
157
+ file: Partial<UploadFile>;
151
158
  }): any;
152
159
  }>;
153
160
  export default _default;
@@ -3,7 +3,6 @@ import { GmFileComponent } from '../fileComponent/index.mjs';
3
3
  import { GmPreviewFile } from '../previewFile/index.mjs';
4
4
  import { fileProProps } from './fileList.mjs';
5
5
 
6
- const _hoisted_1 = ["onClick"];
7
6
  var _sfc_main = /* @__PURE__ */ defineComponent({
8
7
  ...{
9
8
  name: "GmFileList"
@@ -30,7 +29,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
30
29
  });
31
30
  const dialog = ref(false);
32
31
  const fileIndex = ref(0);
33
- const handlePreview = (index) => {
32
+ const handleClick = (file, index) => {
34
33
  fileIndex.value = index;
35
34
  dialog.value = true;
36
35
  };
@@ -52,21 +51,21 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
52
51
  renderList(_ctx.fileList, (file, index) => {
53
52
  return openBlock(), createElementBlock("div", {
54
53
  key: index,
55
- class: "gm-cursor-pointer",
56
- onClick: ($event) => handlePreview(index)
54
+ class: "gm-cursor-pointer"
57
55
  }, [
58
56
  createVNode(unref(GmFileComponent), mergeProps(props, {
59
57
  fileStyle: fileStyle.value,
60
58
  file,
61
- controls: false
59
+ controls: false,
60
+ "on-click": (value) => handleClick(value, index)
62
61
  }), {
63
62
  default: withCtx(() => [
64
63
  renderSlot(_ctx.$slots, "default", { file })
65
64
  ]),
66
65
  _: 2
67
66
  /* DYNAMIC */
68
- }, 1040, ["fileStyle", "file"])
69
- ], 8, _hoisted_1);
67
+ }, 1040, ["fileStyle", "file", "on-click"])
68
+ ]);
70
69
  }),
71
70
  128
72
71
  /* KEYED_FRAGMENT */
@@ -1 +1 @@
1
- {"version":3,"file":"FileList.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/fileList2/FileList.vue"],"sourcesContent":["<template>\n <div class=\"gm-flex--wrap gm-flex gm-items-center\" :style=\"fileListStyle\">\n <div v-for=\"(file, index) in fileList\" :key=\"index\" class=\"gm-cursor-pointer\" @click=\"handlePreview(index)\">\n <GmFileComponent v-bind=\"props\" :fileStyle :file :controls=\"false\"> <slot :file=\"file\" /> </GmFileComponent>\n </div>\n </div>\n\n <GmPreviewFile v-bind=\"props\" v-model:dialogVisible=\"dialog\" v-model:file-index=\"fileIndex\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport GmFileComponent from '../fileComponent';\nimport GmPreviewFile from '../previewFile';\nimport { fileProProps } from './fileList';\n\ndefineOptions({\n name: 'GmFileList',\n});\n\nconst props = defineProps(fileProProps);\n\nconst fileListStyle = computed(() => {\n return {\n gap: props.fileListGap,\n ...props.fileListStyle,\n };\n});\n\nconst fileStyle = computed(() => {\n return {\n width: props.fileWidth,\n height: props.fileHeight,\n border: '1px solid #ccc',\n overflow: 'hidden',\n borderRadius: '5px',\n ...props.fileStyle,\n };\n});\n\nconst dialog = ref(false);\nconst fileIndex = ref(0);\nconst handlePreview = (index: number) => {\n fileIndex.value = index;\n dialog.value = true;\n};\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAoBA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAM,MAAA,aAAA,GAAgB,SAAS,MAAM;AACnC,MAAO,OAAA;AAAA,QACL,KAAK,KAAM,CAAA,WAAA;AAAA,QACX,GAAG,KAAM,CAAA,aAAA;AAAA,OACX,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,SAAA,GAAY,SAAS,MAAM;AAC/B,MAAO,OAAA;AAAA,QACL,OAAO,KAAM,CAAA,SAAA;AAAA,QACb,QAAQ,KAAM,CAAA,UAAA;AAAA,QACd,MAAQ,EAAA,gBAAA;AAAA,QACR,QAAU,EAAA,QAAA;AAAA,QACV,YAAc,EAAA,KAAA;AAAA,QACd,GAAG,KAAM,CAAA,SAAA;AAAA,OACX,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,MAAA,GAAS,IAAI,KAAK,CAAA,CAAA;AACxB,IAAM,MAAA,SAAA,GAAY,IAAI,CAAC,CAAA,CAAA;AACvB,IAAM,MAAA,aAAA,GAAgB,CAAC,KAAkB,KAAA;AACvC,MAAA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAA;AAClB,MAAA,MAAA,CAAO,KAAQ,GAAA,IAAA,CAAA;AAAA,KACjB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"FileList.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/fileList2/FileList.vue"],"sourcesContent":["<template>\n <div class=\"gm-flex--wrap gm-flex gm-items-center\" :style=\"fileListStyle\">\n <div v-for=\"(file, index) in fileList\" :key=\"index\" class=\"gm-cursor-pointer\">\n <GmFileComponent v-bind=\"props\" :fileStyle :file :controls=\"false\" :on-click=\"value => handleClick(value, index)\">\n <slot :file=\"file\" />\n </GmFileComponent>\n </div>\n </div>\n\n <GmPreviewFile v-bind=\"props\" v-model:dialogVisible=\"dialog\" v-model:file-index=\"fileIndex\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport GmFileComponent from '../fileComponent';\nimport GmPreviewFile from '../previewFile';\nimport { fileProProps } from './fileList';\nimport type { UploadFile } from 'element-plus';\n\ndefineOptions({\n name: 'GmFileList',\n});\n\nconst props = defineProps(fileProProps);\n\nconst fileListStyle = computed(() => {\n return {\n gap: props.fileListGap,\n ...props.fileListStyle,\n };\n});\n\nconst fileStyle = computed(() => {\n return {\n width: props.fileWidth,\n height: props.fileHeight,\n border: '1px solid #ccc',\n overflow: 'hidden',\n borderRadius: '5px',\n ...props.fileStyle,\n };\n});\n\nconst dialog = ref(false);\nconst fileIndex = ref(0);\nconst handleClick = (file: Partial<UploadFile>, index: number) => {\n fileIndex.value = index;\n dialog.value = true;\n};\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;AAuBA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAM,MAAA,aAAA,GAAgB,SAAS,MAAM;AACnC,MAAO,OAAA;AAAA,QACL,KAAK,KAAM,CAAA,WAAA;AAAA,QACX,GAAG,KAAM,CAAA,aAAA;AAAA,OACX,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,SAAA,GAAY,SAAS,MAAM;AAC/B,MAAO,OAAA;AAAA,QACL,OAAO,KAAM,CAAA,SAAA;AAAA,QACb,QAAQ,KAAM,CAAA,UAAA;AAAA,QACd,MAAQ,EAAA,gBAAA;AAAA,QACR,QAAU,EAAA,QAAA;AAAA,QACV,YAAc,EAAA,KAAA;AAAA,QACd,GAAG,KAAM,CAAA,SAAA;AAAA,OACX,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,MAAA,GAAS,IAAI,KAAK,CAAA,CAAA;AACxB,IAAM,MAAA,SAAA,GAAY,IAAI,CAAC,CAAA,CAAA;AACvB,IAAM,MAAA,WAAA,GAAc,CAAC,IAAA,EAA2B,KAAkB,KAAA;AAChE,MAAA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAA;AAClB,MAAA,MAAA,CAAO,KAAQ,GAAA,IAAA,CAAA;AAAA,KACjB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -68,4 +68,7 @@ export declare const fileProProps: {
68
68
  type: BooleanConstructor;
69
69
  default: boolean;
70
70
  };
71
+ onClick: {
72
+ type: PropType<(file: Partial<UploadFile>) => void>;
73
+ };
71
74
  };
@@ -65,6 +65,9 @@ export declare const GmFileList: import("../../../../utils").SFCWithInstall<{
65
65
  type: BooleanConstructor;
66
66
  default: boolean;
67
67
  };
68
+ onClick: {
69
+ type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
70
+ };
68
71
  }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
69
72
  fileList: {
70
73
  type: import("vue").PropType<Partial<import("element-plus").UploadFile>[]>;
@@ -130,6 +133,9 @@ export declare const GmFileList: import("../../../../utils").SFCWithInstall<{
130
133
  type: BooleanConstructor;
131
134
  default: boolean;
132
135
  };
136
+ onClick: {
137
+ type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
138
+ };
133
139
  }>>, {
134
140
  size: number;
135
141
  url: string;
@@ -219,6 +225,9 @@ export declare const GmFileList: import("../../../../utils").SFCWithInstall<{
219
225
  type: BooleanConstructor;
220
226
  default: boolean;
221
227
  };
228
+ onClick: {
229
+ type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
230
+ };
222
231
  }>>, {}, {}, {}, {}, {
223
232
  size: number;
224
233
  url: string;
@@ -305,6 +314,9 @@ export declare const GmFileList: import("../../../../utils").SFCWithInstall<{
305
314
  type: BooleanConstructor;
306
315
  default: boolean;
307
316
  };
317
+ onClick: {
318
+ type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
319
+ };
308
320
  }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
309
321
  size: number;
310
322
  url: string;
@@ -58,6 +58,9 @@ declare const _default: import("vue").DefineComponent<{
58
58
  type: BooleanConstructor;
59
59
  default: boolean;
60
60
  };
61
+ onClick: {
62
+ type: import("vue").PropType<(file: Partial<UploadFile>) => void>;
63
+ };
61
64
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
62
65
  "update:dialogVisible": (dialogVisible: boolean) => void;
63
66
  "update:fileIndex": (fileIndex: number) => void;
@@ -120,6 +123,9 @@ declare const _default: import("vue").DefineComponent<{
120
123
  type: BooleanConstructor;
121
124
  default: boolean;
122
125
  };
126
+ onClick: {
127
+ type: import("vue").PropType<(file: Partial<UploadFile>) => void>;
128
+ };
123
129
  }>> & {
124
130
  "onUpdate:dialogVisible"?: ((dialogVisible: boolean) => any) | undefined;
125
131
  "onUpdate:fileIndex"?: ((fileIndex: number) => any) | undefined;
@@ -58,6 +58,9 @@ export declare const GmPreviewFile: import("../../../../utils").SFCWithInstall<i
58
58
  type: BooleanConstructor;
59
59
  default: boolean;
60
60
  };
61
+ onClick: {
62
+ type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
63
+ };
61
64
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
62
65
  "update:dialogVisible": (dialogVisible: boolean) => void;
63
66
  "update:fileIndex": (fileIndex: number) => void;
@@ -120,6 +123,9 @@ export declare const GmPreviewFile: import("../../../../utils").SFCWithInstall<i
120
123
  type: BooleanConstructor;
121
124
  default: boolean;
122
125
  };
126
+ onClick: {
127
+ type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
128
+ };
123
129
  }>> & {
124
130
  "onUpdate:dialogVisible"?: ((dialogVisible: boolean) => any) | undefined;
125
131
  "onUpdate:fileIndex"?: ((fileIndex: number) => any) | undefined;
@@ -60,4 +60,7 @@ export declare const previewFileProps: {
60
60
  type: BooleanConstructor;
61
61
  default: boolean;
62
62
  };
63
+ onClick: {
64
+ type: PropType<(file: Partial<UploadFile>) => void>;
65
+ };
63
66
  };
@@ -271,6 +271,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
271
271
  type: BooleanConstructor;
272
272
  default: boolean;
273
273
  };
274
+ onClick: {
275
+ type: import("vue").PropType<(file: Partial<UploadFile>) => void>;
276
+ };
274
277
  }, {
275
278
  submit: () => void;
276
279
  abort: (file: UploadFile) => void;
@@ -1030,6 +1033,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
1030
1033
  type: BooleanConstructor;
1031
1034
  default: boolean;
1032
1035
  };
1036
+ onClick: {
1037
+ type: import("vue").PropType<(file: Partial<UploadFile>) => void>;
1038
+ };
1033
1039
  }>> & {
1034
1040
  "onUpdate:fileList"?: ((fileList: UploadFile[]) => any) | undefined;
1035
1041
  onHandleRemove?: ((file: {
@@ -271,6 +271,9 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
271
271
  type: BooleanConstructor;
272
272
  default: boolean;
273
273
  };
274
+ onClick: {
275
+ type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
276
+ };
274
277
  }>> & {
275
278
  "onUpdate:fileList"?: ((fileList: import("element-plus").UploadFile[]) => any) | undefined;
276
279
  onHandleRemove?: ((file: {
@@ -1036,6 +1039,9 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
1036
1039
  type: BooleanConstructor;
1037
1040
  default: boolean;
1038
1041
  };
1042
+ onClick: {
1043
+ type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
1044
+ };
1039
1045
  }>> & {
1040
1046
  "onUpdate:fileList"?: ((fileList: import("element-plus").UploadFile[]) => any) | undefined;
1041
1047
  onHandleRemove?: ((file: {
@@ -1376,6 +1382,9 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
1376
1382
  type: BooleanConstructor;
1377
1383
  default: boolean;
1378
1384
  };
1385
+ onClick: {
1386
+ type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
1387
+ };
1379
1388
  }>> & {
1380
1389
  "onUpdate:fileList"?: ((fileList: import("element-plus").UploadFile[]) => any) | undefined;
1381
1390
  onHandleRemove?: ((file: {
@@ -2193,6 +2202,9 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
2193
2202
  type: BooleanConstructor;
2194
2203
  default: boolean;
2195
2204
  };
2205
+ onClick: {
2206
+ type: import("vue").PropType<(file: Partial<import("element-plus").UploadFile>) => void>;
2207
+ };
2196
2208
  }>> & {
2197
2209
  "onUpdate:fileList"?: ((fileList: import("element-plus").UploadFile[]) => any) | undefined;
2198
2210
  onHandleRemove?: ((file: {
@@ -283,5 +283,8 @@ export declare const uploadFileProps: {
283
283
  showIcon: {
284
284
  type: BooleanConstructor;
285
285
  default: boolean;
286
- }; /** 并行分片大小 */
286
+ };
287
+ onClick: {
288
+ type: PropType<(file: Partial<UploadFile>) => void>;
289
+ };
287
290
  };
@@ -1 +1 @@
1
- export declare const version = "0.7.12";
1
+ export declare const version = "0.7.13";