pro-design-vue 1.2.19 → 1.2.21

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 (113) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +350 -82
  3. package/dist/index.full.min.js +7 -7
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +8 -8
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +351 -83
  8. package/es/components/form/src/components/FormGroup.d.ts +1 -0
  9. package/es/components/form/src/components/FormList.d.ts +1 -0
  10. package/es/components/form/src/components/FormListContainer.d.ts +1 -0
  11. package/es/components/form/src/components/FormListItem.d.ts +1 -0
  12. package/es/components/form/src/components/FormSet.d.ts +1 -0
  13. package/es/components/form/src/components/FormTitle.d.ts +10 -0
  14. package/es/components/form/src/fields/FieldUploadButton.d.ts +27 -4
  15. package/es/components/form/src/fields/FieldUploadDragger.d.ts +43 -19
  16. package/es/components/form/src/type.d.ts +1 -0
  17. package/es/index.d.ts +1 -0
  18. package/es/packages/components/form/src/components/FormItem.mjs +2 -1
  19. package/es/packages/components/form/src/components/FormItem.mjs.map +1 -1
  20. package/es/packages/components/form/src/components/FormTitle.mjs +8 -2
  21. package/es/packages/components/form/src/components/FormTitle.mjs.map +1 -1
  22. package/es/packages/components/form/src/fields/FieldCascader.mjs +8 -1
  23. package/es/packages/components/form/src/fields/FieldCascader.mjs.map +1 -1
  24. package/es/packages/components/form/src/fields/FieldDatePicker.mjs +10 -2
  25. package/es/packages/components/form/src/fields/FieldDatePicker.mjs.map +1 -1
  26. package/es/packages/components/form/src/fields/FieldDateRangePicker.mjs +10 -2
  27. package/es/packages/components/form/src/fields/FieldDateRangePicker.mjs.map +1 -1
  28. package/es/packages/components/form/src/fields/FieldDigit.mjs +10 -2
  29. package/es/packages/components/form/src/fields/FieldDigit.mjs.map +1 -1
  30. package/es/packages/components/form/src/fields/FieldDigitRange.mjs +10 -2
  31. package/es/packages/components/form/src/fields/FieldDigitRange.mjs.map +1 -1
  32. package/es/packages/components/form/src/fields/FieldPassword.mjs +10 -2
  33. package/es/packages/components/form/src/fields/FieldPassword.mjs.map +1 -1
  34. package/es/packages/components/form/src/fields/FieldRate.mjs +10 -2
  35. package/es/packages/components/form/src/fields/FieldRate.mjs.map +1 -1
  36. package/es/packages/components/form/src/fields/FieldSelect.mjs +8 -1
  37. package/es/packages/components/form/src/fields/FieldSelect.mjs.map +1 -1
  38. package/es/packages/components/form/src/fields/FieldSlider.mjs +10 -2
  39. package/es/packages/components/form/src/fields/FieldSlider.mjs.map +1 -1
  40. package/es/packages/components/form/src/fields/FieldSwitch.mjs +8 -1
  41. package/es/packages/components/form/src/fields/FieldSwitch.mjs.map +1 -1
  42. package/es/packages/components/form/src/fields/FieldText.mjs +10 -2
  43. package/es/packages/components/form/src/fields/FieldText.mjs.map +1 -1
  44. package/es/packages/components/form/src/fields/FieldTimePicker.mjs +10 -2
  45. package/es/packages/components/form/src/fields/FieldTimePicker.mjs.map +1 -1
  46. package/es/packages/components/form/src/fields/FieldTimeRangePicker.mjs +10 -2
  47. package/es/packages/components/form/src/fields/FieldTimeRangePicker.mjs.map +1 -1
  48. package/es/packages/components/form/src/fields/FieldTreeSelect.mjs +8 -1
  49. package/es/packages/components/form/src/fields/FieldTreeSelect.mjs.map +1 -1
  50. package/es/packages/components/form/src/fields/FieldUploadButton.mjs +119 -28
  51. package/es/packages/components/form/src/fields/FieldUploadButton.mjs.map +1 -1
  52. package/es/packages/components/form/src/fields/FieldUploadDragger.mjs +102 -29
  53. package/es/packages/components/form/src/fields/FieldUploadDragger.mjs.map +1 -1
  54. package/es/packages/components/form/src/utils/fieldPropsMap.mjs +4 -0
  55. package/es/packages/components/form/src/utils/fieldPropsMap.mjs.map +1 -1
  56. package/es/version.d.ts +1 -1
  57. package/es/version.mjs +1 -1
  58. package/es/version.mjs.map +1 -1
  59. package/lib/components/form/src/components/FormGroup.d.ts +1 -0
  60. package/lib/components/form/src/components/FormList.d.ts +1 -0
  61. package/lib/components/form/src/components/FormListContainer.d.ts +1 -0
  62. package/lib/components/form/src/components/FormListItem.d.ts +1 -0
  63. package/lib/components/form/src/components/FormSet.d.ts +1 -0
  64. package/lib/components/form/src/components/FormTitle.d.ts +10 -0
  65. package/lib/components/form/src/fields/FieldUploadButton.d.ts +27 -4
  66. package/lib/components/form/src/fields/FieldUploadDragger.d.ts +43 -19
  67. package/lib/components/form/src/type.d.ts +1 -0
  68. package/lib/index.d.ts +1 -0
  69. package/lib/packages/components/form/src/components/FormItem.js +2 -1
  70. package/lib/packages/components/form/src/components/FormItem.js.map +1 -1
  71. package/lib/packages/components/form/src/components/FormTitle.js +8 -2
  72. package/lib/packages/components/form/src/components/FormTitle.js.map +1 -1
  73. package/lib/packages/components/form/src/fields/FieldCascader.js +8 -1
  74. package/lib/packages/components/form/src/fields/FieldCascader.js.map +1 -1
  75. package/lib/packages/components/form/src/fields/FieldDatePicker.js +10 -2
  76. package/lib/packages/components/form/src/fields/FieldDatePicker.js.map +1 -1
  77. package/lib/packages/components/form/src/fields/FieldDateRangePicker.js +10 -2
  78. package/lib/packages/components/form/src/fields/FieldDateRangePicker.js.map +1 -1
  79. package/lib/packages/components/form/src/fields/FieldDigit.js +10 -2
  80. package/lib/packages/components/form/src/fields/FieldDigit.js.map +1 -1
  81. package/lib/packages/components/form/src/fields/FieldDigitRange.js +10 -2
  82. package/lib/packages/components/form/src/fields/FieldDigitRange.js.map +1 -1
  83. package/lib/packages/components/form/src/fields/FieldPassword.js +10 -2
  84. package/lib/packages/components/form/src/fields/FieldPassword.js.map +1 -1
  85. package/lib/packages/components/form/src/fields/FieldRate.js +10 -2
  86. package/lib/packages/components/form/src/fields/FieldRate.js.map +1 -1
  87. package/lib/packages/components/form/src/fields/FieldSelect.js +8 -1
  88. package/lib/packages/components/form/src/fields/FieldSelect.js.map +1 -1
  89. package/lib/packages/components/form/src/fields/FieldSlider.js +10 -2
  90. package/lib/packages/components/form/src/fields/FieldSlider.js.map +1 -1
  91. package/lib/packages/components/form/src/fields/FieldSwitch.js +8 -1
  92. package/lib/packages/components/form/src/fields/FieldSwitch.js.map +1 -1
  93. package/lib/packages/components/form/src/fields/FieldText.js +10 -2
  94. package/lib/packages/components/form/src/fields/FieldText.js.map +1 -1
  95. package/lib/packages/components/form/src/fields/FieldTimePicker.js +10 -2
  96. package/lib/packages/components/form/src/fields/FieldTimePicker.js.map +1 -1
  97. package/lib/packages/components/form/src/fields/FieldTimeRangePicker.js +10 -2
  98. package/lib/packages/components/form/src/fields/FieldTimeRangePicker.js.map +1 -1
  99. package/lib/packages/components/form/src/fields/FieldTreeSelect.js +8 -1
  100. package/lib/packages/components/form/src/fields/FieldTreeSelect.js.map +1 -1
  101. package/lib/packages/components/form/src/fields/FieldUploadButton.js +117 -26
  102. package/lib/packages/components/form/src/fields/FieldUploadButton.js.map +1 -1
  103. package/lib/packages/components/form/src/fields/FieldUploadDragger.js +100 -27
  104. package/lib/packages/components/form/src/fields/FieldUploadDragger.js.map +1 -1
  105. package/lib/packages/components/form/src/utils/fieldPropsMap.js +4 -0
  106. package/lib/packages/components/form/src/utils/fieldPropsMap.js.map +1 -1
  107. package/lib/version.d.ts +1 -1
  108. package/lib/version.js +1 -1
  109. package/lib/version.js.map +1 -1
  110. package/package.json +1 -1
  111. package/theme-chalk/index.css +1 -1
  112. package/theme-chalk/pro-form.css +1 -1
  113. package/theme-chalk/src/form.less +12 -0
@@ -1,4 +1,4 @@
1
- /*! Pro Design Vue v1.2.19 */
1
+ /*! Pro Design Vue v1.2.21 */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('ant-design-vue'), require('vue'), require('ant-design-vue/es/locale/zh_CN.js')) :
@@ -32,7 +32,7 @@
32
32
  const DEFAULT_NAMESPACE = "pro";
33
33
  const DEFAULT_LOCALE = "zh-CN";
34
34
 
35
- const version$1 = "1.2.19";
35
+ const version$1 = "1.2.21";
36
36
 
37
37
  const makeInstaller = (components = []) => {
38
38
  const install = (app) => {
@@ -13996,6 +13996,9 @@
13996
13996
  }) {
13997
13997
  const intl = useIntl();
13998
13998
  const formSlotsContext = useInjectSlots$1();
13999
+ const {
14000
+ formData
14001
+ } = useInjectForm();
13999
14002
  const internalValue = vue.computed({
14000
14003
  get: () => {
14001
14004
  return props.value;
@@ -14010,8 +14013,12 @@
14010
14013
  SLOT_NAMES$g.forEach((name) => {
14011
14014
  const slot = getSlot(props[name], formSlotsContext);
14012
14015
  if (slot) {
14013
- temp[name] = () => vue.createVNode(RenderVNode$1, {
14014
- "vnode": slot
14016
+ temp[name] = (props2) => vue.createVNode(RenderVNode$1, {
14017
+ "vnode": slot,
14018
+ "props": {
14019
+ formData: formData.value,
14020
+ ...props2 != null ? props2 : {}
14021
+ }
14015
14022
  }, null);
14016
14023
  }
14017
14024
  });
@@ -14070,13 +14077,20 @@
14070
14077
  }) {
14071
14078
  const intl = useIntl();
14072
14079
  const formSlotsContext = useInjectSlots$1();
14080
+ const {
14081
+ formData
14082
+ } = useInjectForm();
14073
14083
  const slotsGetter = vue.computed(() => {
14074
14084
  const temp = {};
14075
14085
  SLOT_NAMES$f.forEach((name) => {
14076
14086
  const slot = getSlot(props[name], formSlotsContext);
14077
14087
  if (slot) {
14078
- temp[name] = () => vue.createVNode(RenderVNode$1, {
14079
- "vnode": slot
14088
+ temp[name] = (props2) => vue.createVNode(RenderVNode$1, {
14089
+ "vnode": slot,
14090
+ "props": {
14091
+ formData: formData.value,
14092
+ ...props2 != null ? props2 : {}
14093
+ }
14080
14094
  }, null);
14081
14095
  }
14082
14096
  });
@@ -14148,6 +14162,9 @@
14148
14162
  attrs
14149
14163
  }) {
14150
14164
  const intl = useIntl();
14165
+ const {
14166
+ formData
14167
+ } = useInjectForm();
14151
14168
  const formSlotsContext = useInjectSlots$1();
14152
14169
  const formItemContext = antDesignVue.Form.useInjectFormItemContext();
14153
14170
  const fieldProps = vue.computed(() => omit(attrs, ["class", "style"]));
@@ -14156,8 +14173,12 @@
14156
14173
  SLOT_NAMES$e.forEach((name) => {
14157
14174
  const slot = getSlot(props[name], formSlotsContext);
14158
14175
  if (slot) {
14159
- temp[name] = () => vue.createVNode(RenderVNode$1, {
14160
- "vnode": slot
14176
+ temp[name] = (props2) => vue.createVNode(RenderVNode$1, {
14177
+ "vnode": slot,
14178
+ "props": {
14179
+ formData: formData.value,
14180
+ ...props2 != null ? props2 : {}
14181
+ }
14161
14182
  }, null);
14162
14183
  }
14163
14184
  });
@@ -14328,6 +14349,9 @@
14328
14349
  }) {
14329
14350
  const intl = useIntl();
14330
14351
  const formSlotsContext = useInjectSlots$1();
14352
+ const {
14353
+ formData
14354
+ } = useInjectForm();
14331
14355
  const internalValue = vue.computed({
14332
14356
  get: () => props.value,
14333
14357
  set: (val) => {
@@ -14340,8 +14364,12 @@
14340
14364
  SLOT_NAMES$d.forEach((name) => {
14341
14365
  const slot = getSlot(props[name], formSlotsContext);
14342
14366
  if (slot) {
14343
- temp[name] = () => vue.createVNode(RenderVNode$1, {
14344
- "vnode": slot
14367
+ temp[name] = (props2) => vue.createVNode(RenderVNode$1, {
14368
+ "vnode": slot,
14369
+ "props": {
14370
+ formData: formData.value,
14371
+ ...props2 != null ? props2 : {}
14372
+ }
14345
14373
  }, null);
14346
14374
  }
14347
14375
  });
@@ -14609,6 +14637,9 @@
14609
14637
  expose
14610
14638
  }) {
14611
14639
  const intl = useIntl();
14640
+ const {
14641
+ formData
14642
+ } = useInjectForm();
14612
14643
  const formSlotsContext = useInjectSlots$1();
14613
14644
  const mergePaginationConfig = vue.computed(() => {
14614
14645
  if (!props.pagination) {
@@ -14690,7 +14721,10 @@
14690
14721
  if (slot) {
14691
14722
  temp[name] = (props2) => vue.createVNode(RenderVNode$1, {
14692
14723
  "vnode": slot,
14693
- "props": props2
14724
+ "props": {
14725
+ formData: formData.value,
14726
+ ...props2 != null ? props2 : {}
14727
+ }
14694
14728
  }, null);
14695
14729
  }
14696
14730
  });
@@ -14820,6 +14854,9 @@
14820
14854
  attrs
14821
14855
  }) {
14822
14856
  const intl = useIntl();
14857
+ const {
14858
+ formData
14859
+ } = useInjectForm();
14823
14860
  const formSlotsContext = useInjectSlots$1();
14824
14861
  const {
14825
14862
  mergeOptions,
@@ -14863,7 +14900,10 @@
14863
14900
  if (slot) {
14864
14901
  temp[name] = (props2) => vue.createVNode(RenderVNode$1, {
14865
14902
  "vnode": slot,
14866
- "props": props2
14903
+ "props": {
14904
+ formData: formData.value,
14905
+ ...props2 != null ? props2 : {}
14906
+ }
14867
14907
  }, null);
14868
14908
  }
14869
14909
  });
@@ -15150,6 +15190,9 @@
15150
15190
  attrs
15151
15191
  }) {
15152
15192
  const intl = useIntl();
15193
+ const {
15194
+ formData
15195
+ } = useInjectForm();
15153
15196
  const formSlotsContext = useInjectSlots$1();
15154
15197
  const {
15155
15198
  mergeOptions,
@@ -15190,7 +15233,10 @@
15190
15233
  if (slot) {
15191
15234
  temp[name] = (props2) => vue.createVNode(RenderVNode$1, {
15192
15235
  "vnode": slot,
15193
- "props": props2
15236
+ "props": {
15237
+ formData: formData.value,
15238
+ ...props2 != null ? props2 : {}
15239
+ }
15194
15240
  }, null);
15195
15241
  }
15196
15242
  });
@@ -15251,6 +15297,9 @@
15251
15297
  }) {
15252
15298
  const intl = useIntl();
15253
15299
  const formSlotsContext = useInjectSlots$1();
15300
+ const {
15301
+ formData
15302
+ } = useInjectForm();
15254
15303
  const readValue = vue.computed(() => {
15255
15304
  if (!props.value || props.value === attrs.unCheckedValue) {
15256
15305
  return props.unCheckedChildren || intl.getMessage("switch.open", "\u6253\u5F00");
@@ -15267,7 +15316,10 @@
15267
15316
  if (slot) {
15268
15317
  temp[name] = (props2) => vue.createVNode(RenderVNode$1, {
15269
15318
  "vnode": slot,
15270
- "props": props2
15319
+ "props": {
15320
+ formData: formData.value,
15321
+ ...props2 != null ? props2 : {}
15322
+ }
15271
15323
  }, null);
15272
15324
  }
15273
15325
  });
@@ -15308,13 +15360,20 @@
15308
15360
  attrs
15309
15361
  }) {
15310
15362
  const formSlotsContext = useInjectSlots$1();
15363
+ const {
15364
+ formData
15365
+ } = useInjectForm();
15311
15366
  const slotsGetter = vue.computed(() => {
15312
15367
  const temp = {};
15313
15368
  SLOT_NAMES$8.forEach((name) => {
15314
15369
  const slot = getSlot(props[name], formSlotsContext);
15315
15370
  if (slot) {
15316
- temp[name] = () => vue.createVNode(RenderVNode$1, {
15317
- "vnode": slot
15371
+ temp[name] = (props2) => vue.createVNode(RenderVNode$1, {
15372
+ "vnode": slot,
15373
+ "props": {
15374
+ formData: formData.value,
15375
+ ...props2 != null ? props2 : {}
15376
+ }
15318
15377
  }, null);
15319
15378
  }
15320
15379
  });
@@ -15358,13 +15417,20 @@
15358
15417
  attrs
15359
15418
  }) {
15360
15419
  const formSlotsContext = useInjectSlots$1();
15420
+ const {
15421
+ formData
15422
+ } = useInjectForm();
15361
15423
  const slotsGetter = vue.computed(() => {
15362
15424
  const temp = {};
15363
15425
  SLOT_NAMES$7.forEach((name) => {
15364
15426
  const slot = getSlot(props[name], formSlotsContext);
15365
15427
  if (slot) {
15366
- temp[name] = () => vue.createVNode(RenderVNode$1, {
15367
- "vnode": slot
15428
+ temp[name] = (props2) => vue.createVNode(RenderVNode$1, {
15429
+ "vnode": slot,
15430
+ "props": {
15431
+ formData: formData.value,
15432
+ ...props2 != null ? props2 : {}
15433
+ }
15368
15434
  }, null);
15369
15435
  }
15370
15436
  });
@@ -15616,6 +15682,9 @@
15616
15682
  }) {
15617
15683
  const intl = useIntl();
15618
15684
  const formSlotsContext = useInjectSlots$1();
15685
+ const {
15686
+ formData
15687
+ } = useInjectForm();
15619
15688
  const defaultFormat = vue.computed(() => {
15620
15689
  var _a;
15621
15690
  const dataFormat = fieldDateFormatterMap[props.picker];
@@ -15646,8 +15715,12 @@
15646
15715
  SLOT_NAMES$6.forEach((name) => {
15647
15716
  const slot = getSlot(props[name], formSlotsContext);
15648
15717
  if (slot) {
15649
- temp[name] = () => vue.createVNode(RenderVNode$1, {
15650
- "vnode": slot
15718
+ temp[name] = (props2) => vue.createVNode(RenderVNode$1, {
15719
+ "vnode": slot,
15720
+ "props": {
15721
+ formData: formData.value,
15722
+ ...props2 != null ? props2 : {}
15723
+ }
15651
15724
  }, null);
15652
15725
  }
15653
15726
  });
@@ -15742,6 +15815,9 @@
15742
15815
  }) {
15743
15816
  const intl = useIntl();
15744
15817
  const formSlotsContext = useInjectSlots$1();
15818
+ const {
15819
+ formData
15820
+ } = useInjectForm();
15745
15821
  const defaultFormat = vue.computed(() => {
15746
15822
  var _a;
15747
15823
  const dataFormat = fieldDateFormatterMap[props.picker];
@@ -15773,8 +15849,12 @@
15773
15849
  SLOT_NAMES$5.forEach((name) => {
15774
15850
  const slot = getSlot(props[name], formSlotsContext);
15775
15851
  if (slot) {
15776
- temp[name] = () => vue.createVNode(RenderVNode$1, {
15777
- "vnode": slot
15852
+ temp[name] = (props2) => vue.createVNode(RenderVNode$1, {
15853
+ "vnode": slot,
15854
+ "props": {
15855
+ formData: formData.value,
15856
+ ...props2 != null ? props2 : {}
15857
+ }
15778
15858
  }, null);
15779
15859
  }
15780
15860
  });
@@ -15840,6 +15920,9 @@
15840
15920
  attrs
15841
15921
  }) {
15842
15922
  const intl = useIntl();
15923
+ const {
15924
+ formData
15925
+ } = useInjectForm();
15843
15926
  const formSlotsContext = useInjectSlots$1();
15844
15927
  const format = vue.computed(() => {
15845
15928
  var _a;
@@ -15861,8 +15944,12 @@
15861
15944
  SLOT_NAMES$4.forEach((name) => {
15862
15945
  const slot = getSlot(props[name], formSlotsContext);
15863
15946
  if (slot) {
15864
- temp[name] = () => vue.createVNode(RenderVNode$1, {
15865
- "vnode": slot
15947
+ temp[name] = (props2) => vue.createVNode(RenderVNode$1, {
15948
+ "vnode": slot,
15949
+ "props": {
15950
+ formData: formData.value,
15951
+ ...props2 != null ? props2 : {}
15952
+ }
15866
15953
  }, null);
15867
15954
  }
15868
15955
  });
@@ -15946,6 +16033,9 @@
15946
16033
  attrs
15947
16034
  }) {
15948
16035
  const intl = useIntl();
16036
+ const {
16037
+ formData
16038
+ } = useInjectForm();
15949
16039
  const formSlotsContext = useInjectSlots$1();
15950
16040
  const format = vue.computed(() => {
15951
16041
  var _a;
@@ -15968,8 +16058,12 @@
15968
16058
  SLOT_NAMES$3.forEach((name) => {
15969
16059
  const slot = getSlot(props[name], formSlotsContext);
15970
16060
  if (slot) {
15971
- temp[name] = () => vue.createVNode(RenderVNode$1, {
15972
- "vnode": slot
16061
+ temp[name] = (props2) => vue.createVNode(RenderVNode$1, {
16062
+ "vnode": slot,
16063
+ "props": {
16064
+ formData: formData.value,
16065
+ ...props2 != null ? props2 : {}
16066
+ }
15973
16067
  }, null);
15974
16068
  }
15975
16069
  });
@@ -16032,7 +16126,7 @@
16032
16126
  type: String,
16033
16127
  default: "file"
16034
16128
  },
16035
- max: {
16129
+ maxCount: {
16036
16130
  type: Number,
16037
16131
  default: void 0
16038
16132
  },
@@ -16050,22 +16144,31 @@
16050
16144
  },
16051
16145
  listType: {
16052
16146
  type: String,
16053
- default: "picture"
16054
- }
16147
+ default: "picture-card"
16148
+ },
16149
+ listIgnore: {
16150
+ type: Boolean,
16151
+ default: true
16152
+ },
16153
+ showUploadList: {
16154
+ type: [Boolean, Object],
16155
+ default: true
16156
+ },
16157
+ customRequest: Function,
16158
+ beforeUpload: Function
16055
16159
  },
16056
16160
  setup(props, {
16057
16161
  attrs
16058
16162
  }) {
16059
16163
  const intl = useIntl();
16164
+ const {
16165
+ prefixCls,
16166
+ formData
16167
+ } = useInjectForm();
16060
16168
  const formSlotsContext = useInjectSlots$1();
16061
- const value = vue.computed(() => {
16062
- var _a;
16063
- return (_a = props.fileList) != null ? _a : props.value;
16064
- });
16065
- const showUploadButton = vue.computed(() => {
16066
- var _a;
16067
- return props.max === void 0 || !value.value || ((_a = value.value) == null ? void 0 : _a.length) < props.max;
16068
- });
16169
+ const fileList = vue.ref([]);
16170
+ const formItemContext = antDesignVue.Form.useInjectFormItemContext();
16171
+ const baseClassName = vue.computed(() => `${prefixCls}-upload`);
16069
16172
  const isPictureCard = vue.computed(() => props.listType === "picture-card");
16070
16173
  const slotsGetter = vue.computed(() => {
16071
16174
  const temp = {};
@@ -16073,7 +16176,10 @@
16073
16176
  const slot = getSlot(props[name], formSlotsContext);
16074
16177
  if (slot) {
16075
16178
  temp[name] = () => vue.createVNode(RenderVNode$1, {
16076
- "vnode": slot
16179
+ "vnode": slot,
16180
+ "props": {
16181
+ formData: formData.value
16182
+ }
16077
16183
  }, null);
16078
16184
  }
16079
16185
  });
@@ -16083,7 +16189,10 @@
16083
16189
  const render = getSlot(props.iconRender, formSlotsContext);
16084
16190
  if (isFunction$2(render)) {
16085
16191
  return vue.createVNode(RenderVNode$1, {
16086
- "vnode": render
16192
+ "vnode": render,
16193
+ "props": {
16194
+ formData: formData.value
16195
+ }
16087
16196
  }, null);
16088
16197
  }
16089
16198
  return vue.createVNode(UploadOutlined, null, null);
@@ -16092,27 +16201,102 @@
16092
16201
  const render = getSlot(props.title, formSlotsContext);
16093
16202
  if (isFunction$2(render)) {
16094
16203
  return vue.createVNode(RenderVNode$1, {
16095
- "vnode": render
16204
+ "vnode": render,
16205
+ "props": {
16206
+ formData: formData.value
16207
+ }
16096
16208
  }, null);
16097
16209
  }
16098
16210
  return props.title || intl.getMessage("upload.button", "\u5355\u51FB\u4E0A\u4F20");
16099
16211
  });
16100
- const onChange = (info) => {
16212
+ const beforeUpload = async (file, fileList2) => {
16101
16213
  var _a;
16102
- (_a = props.onChange) == null ? void 0 : _a.call(props, info.fileList, info);
16214
+ const result = await ((_a = props.beforeUpload) == null ? void 0 : _a.call(props, file, fileList2));
16215
+ if (!result && props.listIgnore) {
16216
+ return antDesignVue.Upload.LIST_IGNORE;
16217
+ }
16218
+ return result;
16103
16219
  };
16104
- return () => vue.createVNode(antDesignVue.Upload, vue.mergeProps({
16105
- "fileList": value.value
16106
- }, attrs, {
16107
- "listType": props.listType,
16220
+ const customRequest = async (option) => {
16221
+ var _a, _b, _c;
16222
+ const formData2 = new FormData();
16223
+ formData2.append(props.name, option.file);
16224
+ const onUploadProgress = (e) => {
16225
+ var _a2;
16226
+ if (e.total > 0) {
16227
+ e.percent = e.loaded / e.total * 100;
16228
+ }
16229
+ (_a2 = option == null ? void 0 : option.onProgress) == null ? void 0 : _a2.call(option, e);
16230
+ };
16231
+ const {
16232
+ success,
16233
+ error,
16234
+ data
16235
+ } = (_a = await props.customRequest(formData2, onUploadProgress)) != null ? _a : {};
16236
+ if (success) {
16237
+ (_b = option.onSuccess) == null ? void 0 : _b.call(option, data);
16238
+ formItemContext.onFieldChange();
16239
+ } else {
16240
+ (_c = option.onError) == null ? void 0 : _c.call(option, error, data);
16241
+ }
16242
+ };
16243
+ const uploadProps = vue.computed(() => {
16244
+ const newProps = {
16245
+ ...attrs
16246
+ };
16247
+ if (props.customRequest) {
16248
+ newProps.customRequest = customRequest;
16249
+ }
16250
+ if (props.beforeUpload) {
16251
+ newProps.beforeUpload = beforeUpload;
16252
+ }
16253
+ return newProps;
16254
+ });
16255
+ vue.watch(() => props.value, (newValue) => {
16256
+ var _a;
16257
+ fileList.value = [...newValue == null ? void 0 : newValue.map((item) => ({
16258
+ ...item,
16259
+ name: item.name || item.url
16260
+ }))];
16261
+ if (!((_a = fileList.value) == null ? void 0 : _a.length)) {
16262
+ formItemContext.onFieldChange();
16263
+ }
16264
+ });
16265
+ const onUploadChange = (info) => {
16266
+ var _a;
16267
+ (_a = props.onChange) == null ? void 0 : _a.call(props, info.fileList.map((item) => {
16268
+ var _a2, _b, _c;
16269
+ return {
16270
+ ...item,
16271
+ name: item.name || ((_a2 = item.response) == null ? void 0 : _a2.name) || item.url || ((_b = item.response) == null ? void 0 : _b.url),
16272
+ url: ((_c = item.response) == null ? void 0 : _c.url) || item.url
16273
+ };
16274
+ }), info.file);
16275
+ };
16276
+ return () => vue.createVNode(antDesignVue.Upload, vue.mergeProps(uploadProps.value, {
16277
+ "class": {
16278
+ [`${baseClassName.value}-readonly`]: props.readonly
16279
+ },
16280
+ "fileList": fileList.value,
16281
+ "onUpdate:fileList": ($event) => fileList.value = $event,
16108
16282
  "name": props.name,
16109
- "onChange": onChange
16283
+ "maxCount": props.maxCount,
16284
+ "listType": props.listType,
16285
+ "showUploadList": props.readonly || props.showUploadList,
16286
+ "disabled": props.readonly || props.disabled,
16287
+ "style": attrs == null ? void 0 : attrs.style,
16288
+ "onChange": onUploadChange
16110
16289
  }), {
16111
- default: () => [showUploadButton.value && (isPictureCard.value ? vue.createVNode("span", null, [icon.value, title.value]) : vue.createVNode(antDesignVue.Button, vue.mergeProps({
16112
- "disabled": props.disabled
16113
- }, props.buttonProps), {
16114
- default: () => [icon.value, title.value]
16115
- }))],
16290
+ default: () => {
16291
+ var _a;
16292
+ return [isPictureCard.value ? props.maxCount !== void 0 && ((_a = fileList.value) == null ? void 0 : _a.length) < props.maxCount && vue.createVNode("div", null, [icon.value, vue.createVNode("div", {
16293
+ "style": "margin-top: 8px"
16294
+ }, [vue.createTextVNode(" "), title.value])]) : vue.createVNode(antDesignVue.Button, vue.mergeProps({
16295
+ "disabled": props.disabled
16296
+ }, props.buttonProps), {
16297
+ default: () => [icon.value, title.value]
16298
+ })];
16299
+ },
16116
16300
  ...slotsGetter.value
16117
16301
  });
16118
16302
  }
@@ -16168,28 +16352,30 @@
16168
16352
  fileList: {
16169
16353
  type: Array,
16170
16354
  default: void 0
16171
- }
16355
+ },
16356
+ listIgnore: {
16357
+ type: Boolean,
16358
+ default: true
16359
+ },
16360
+ showUploadList: {
16361
+ type: [Boolean, Object],
16362
+ default: true
16363
+ },
16364
+ customRequest: Function,
16365
+ beforeUpload: Function
16172
16366
  },
16173
16367
  setup(props, {
16174
16368
  attrs
16175
16369
  }) {
16176
16370
  const {
16177
- token
16178
- } = antDesignVue.theme.useToken();
16179
- const {
16180
- prefixCls
16371
+ prefixCls,
16372
+ formData
16181
16373
  } = useInjectForm();
16182
16374
  const intl = useIntl();
16183
16375
  const formSlotsContext = useInjectSlots$1();
16184
- const value = vue.computed(() => {
16185
- var _a;
16186
- return (_a = props.fileList) != null ? _a : props.value;
16187
- });
16376
+ const fileList = vue.ref([]);
16377
+ const formItemContext = antDesignVue.Form.useInjectFormItemContext();
16188
16378
  const baseClassName = vue.computed(() => `${prefixCls}-upload`);
16189
- const showUploadButton = vue.computed(() => {
16190
- var _a;
16191
- return props.max === void 0 || !value.value || ((_a = value.value) == null ? void 0 : _a.length) < props.max;
16192
- });
16193
16379
  const slotsGetter = vue.computed(() => {
16194
16380
  const temp = {};
16195
16381
  SLOT_NAMES$1.forEach((name) => {
@@ -16206,7 +16392,10 @@
16206
16392
  const render = getSlot(props.iconRender, formSlotsContext);
16207
16393
  if (isFunction$2(render)) {
16208
16394
  return vue.createVNode(RenderVNode$1, {
16209
- "vnode": render
16395
+ "vnode": render,
16396
+ "props": {
16397
+ formData: formData.value
16398
+ }
16210
16399
  }, null);
16211
16400
  }
16212
16401
  return vue.createVNode(InboxOutlined, null, null);
@@ -16215,7 +16404,10 @@
16215
16404
  const render = getSlot(props.title, formSlotsContext);
16216
16405
  if (isFunction$2(render)) {
16217
16406
  return vue.createVNode(RenderVNode$1, {
16218
- "vnode": render
16407
+ "vnode": render,
16408
+ "props": {
16409
+ formData: formData.value
16410
+ }
16219
16411
  }, null);
16220
16412
  }
16221
16413
  return props.title || intl.getMessage("upload.dragger.text", "\u5355\u51FB\u6216\u62D6\u52A8\u6587\u4EF6\u5230\u6B64\u533A\u57DF\u8FDB\u884C\u4E0A\u4F20");
@@ -16224,29 +16416,94 @@
16224
16416
  const render = getSlot(props.description, formSlotsContext);
16225
16417
  if (isFunction$2(render)) {
16226
16418
  return vue.createVNode(RenderVNode$1, {
16227
- "vnode": render
16419
+ "vnode": render,
16420
+ "props": {
16421
+ formData: formData.value
16422
+ }
16228
16423
  }, null);
16229
16424
  }
16230
16425
  return props.description || intl.getMessage("upload.dragger.hint", "\u652F\u6301\u5355\u6B21\u6216\u6279\u91CF\u4E0A\u4F20");
16231
16426
  });
16232
- const onChange = (info) => {
16427
+ const beforeUpload = async (file, fileList2) => {
16233
16428
  var _a;
16234
- (_a = props.onChange) == null ? void 0 : _a.call(props, info.fileList, info);
16429
+ const result = await ((_a = props.beforeUpload) == null ? void 0 : _a.call(props, file, fileList2));
16430
+ if (!result && props.listIgnore) {
16431
+ return antDesignVue.Upload.LIST_IGNORE;
16432
+ }
16433
+ return result;
16235
16434
  };
16236
- return () => vue.createVNode(antDesignVue.Upload.Dragger, vue.mergeProps({
16237
- "fileList": value.value
16238
- }, attrs, {
16239
- "name": props.name,
16240
- "style": {
16241
- ...attrs == null ? void 0 : attrs.style,
16242
- display: !showUploadButton.value ? "none" : void 0
16435
+ const customRequest = async (option) => {
16436
+ var _a, _b, _c;
16437
+ const formData2 = new FormData();
16438
+ formData2.append(props.name, option.file);
16439
+ const onUploadProgress = (e) => {
16440
+ var _a2;
16441
+ if (e.total > 0) {
16442
+ e.percent = e.loaded / e.total * 100;
16443
+ }
16444
+ (_a2 = option == null ? void 0 : option.onProgress) == null ? void 0 : _a2.call(option, e);
16445
+ };
16446
+ const {
16447
+ success,
16448
+ error,
16449
+ data
16450
+ } = (_a = await props.customRequest(formData2, onUploadProgress)) != null ? _a : {};
16451
+ if (success) {
16452
+ (_b = option.onSuccess) == null ? void 0 : _b.call(option, data);
16453
+ formItemContext.onFieldChange();
16454
+ } else {
16455
+ (_c = option.onError) == null ? void 0 : _c.call(option, error, data);
16456
+ }
16457
+ };
16458
+ const uploadProps = vue.computed(() => {
16459
+ const newProps = {
16460
+ ...attrs
16461
+ };
16462
+ if (props.customRequest) {
16463
+ newProps.customRequest = customRequest;
16464
+ }
16465
+ if (props.beforeUpload) {
16466
+ newProps.beforeUpload = beforeUpload;
16467
+ }
16468
+ return newProps;
16469
+ });
16470
+ vue.watch(() => props.value, (newValue) => {
16471
+ var _a;
16472
+ fileList.value = [...newValue == null ? void 0 : newValue.map((item) => ({
16473
+ ...item,
16474
+ name: item.name || item.url
16475
+ }))];
16476
+ if (!((_a = fileList.value) == null ? void 0 : _a.length)) {
16477
+ formItemContext.onFieldChange();
16478
+ }
16479
+ });
16480
+ const onUploadChange = (info) => {
16481
+ var _a;
16482
+ (_a = props.onChange) == null ? void 0 : _a.call(props, info.fileList.map((item) => {
16483
+ var _a2, _b, _c;
16484
+ return {
16485
+ ...item,
16486
+ name: item.name || ((_a2 = item.response) == null ? void 0 : _a2.name) || item.url || ((_b = item.response) == null ? void 0 : _b.url),
16487
+ url: ((_c = item.response) == null ? void 0 : _c.url) || item.url
16488
+ };
16489
+ }), info.file);
16490
+ };
16491
+ return () => vue.createVNode(antDesignVue.Upload.Dragger, vue.mergeProps(uploadProps.value, {
16492
+ "class": {
16493
+ [`${baseClassName.value}-readonly`]: props.readonly
16243
16494
  },
16244
- "onChange": onChange
16495
+ "fileList": fileList.value,
16496
+ "onUpdate:fileList": ($event) => fileList.value = $event,
16497
+ "name": props.name,
16498
+ "showUploadList": props.readonly || props.showUploadList,
16499
+ "disabled": props.readonly || props.disabled,
16500
+ "style": attrs == null ? void 0 : attrs.style,
16501
+ "onChange": onUploadChange
16245
16502
  }), {
16246
16503
  default: () => [vue.createVNode("p", {
16247
16504
  "class": `${baseClassName.value}-drag-icon`,
16248
16505
  "style": {
16249
- color: token.value.colorPrimary
16506
+ color: "hsl(var(--pro-primary))"
16250
16507
  }
16251
16508
  }, [icon.value]), vue.createVNode("p", {
16252
16509
  "class": `${baseClassName.value}-text`
@@ -36671,6 +36928,10 @@
36671
36928
  tooltip: {
36672
36929
  type: [String, Boolean],
36673
36930
  default: ""
36931
+ },
36932
+ readonly: {
36933
+ type: Boolean,
36934
+ default: false
36674
36935
  }
36675
36936
  },
36676
36937
  setup(props) {
@@ -36685,7 +36946,8 @@
36685
36946
  }, [vue.createVNode(RenderVNode$1, {
36686
36947
  "vnode": title.value,
36687
36948
  "props": {
36688
- formData: formData.value
36949
+ formData: formData.value,
36950
+ readonly: props.readonly
36689
36951
  }
36690
36952
  }, null)]), props.tooltip && vue.createVNode(antDesignVue.Tooltip, null, {
36691
36953
  default: () => [vue.createVNode(QuestionCircleOutlined, {
@@ -36695,7 +36957,8 @@
36695
36957
  title: () => props.tooltip === true ? vue.createVNode(RenderVNode$1, {
36696
36958
  "vnode": title.value,
36697
36959
  "props": {
36698
- formData: formData.value
36960
+ formData: formData.value,
36961
+ readonly: props.readonly
36699
36962
  }
36700
36963
  }, null) : props.tooltip
36701
36964
  })]);
@@ -38287,6 +38550,7 @@
38287
38550
  "data",
38288
38551
  "directory",
38289
38552
  "disabled",
38553
+ "listIgnore",
38290
38554
  "downloadIcon",
38291
38555
  "fileList",
38292
38556
  "headers",
@@ -38320,6 +38584,7 @@
38320
38584
  "id",
38321
38585
  "accept",
38322
38586
  "action",
38587
+ "listIgnore",
38323
38588
  "beforeUpload",
38324
38589
  "customRequest",
38325
38590
  "data",
@@ -38361,6 +38626,7 @@
38361
38626
  "accept",
38362
38627
  "action",
38363
38628
  "beforeUpload",
38629
+ "listIgnore",
38364
38630
  "name",
38365
38631
  "headers",
38366
38632
  "isCropper",
@@ -38387,6 +38653,7 @@
38387
38653
  "multiple",
38388
38654
  "maxCount",
38389
38655
  "beforeUpload",
38656
+ "listIgnore",
38390
38657
  "name",
38391
38658
  "previewFile",
38392
38659
  "allowClear",
@@ -38608,7 +38875,8 @@
38608
38875
  "style": formItemProps.value.titleStyles
38609
38876
  }, [vue.createVNode(FormTitle, {
38610
38877
  "title": props.item.title,
38611
- "tooltip": props.item.tooltip
38878
+ "tooltip": props.item.tooltip,
38879
+ "readonly": mergeReadonly.value
38612
38880
  }, null)]), vue.createVNode("div", {
38613
38881
  "class": `${prefixCls}-item-title-extra`
38614
38882
  }, [vue.createVNode(RenderVNode$1, {