pro-design-vue 1.0.0-rc.11 → 1.0.0-rc.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 (79) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +74 -50
  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 +7 -7
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +74 -50
  8. package/es/components/drawer/src/drawer.vue2.mjs +1 -1
  9. package/es/components/drawer/src/drawer.vue2.mjs.map +1 -1
  10. package/es/components/form/src/Form.d.ts +1 -1
  11. package/es/components/form/src/base/BaseForm.d.ts +1 -1
  12. package/es/components/form/src/base/BaseForm.mjs +4 -3
  13. package/es/components/form/src/base/BaseForm.mjs.map +1 -1
  14. package/es/components/form/src/base/StepForm.d.ts +1 -1
  15. package/es/components/form/src/components/FormGroup.d.ts +3 -1
  16. package/es/components/form/src/components/FormItem.mjs +21 -23
  17. package/es/components/form/src/components/FormItem.mjs.map +1 -1
  18. package/es/components/form/src/components/FormList.d.ts +3 -1
  19. package/es/components/form/src/components/FormListContainer.d.ts +3 -1
  20. package/es/components/form/src/components/FormSet.d.ts +3 -1
  21. package/es/components/form/src/components/FormSubmitter.d.ts +2 -2
  22. package/es/components/form/src/components/FormSubmitter.mjs +25 -7
  23. package/es/components/form/src/components/FormSubmitter.mjs.map +1 -1
  24. package/es/components/form/src/components/FormTitle.d.ts +3 -1
  25. package/es/components/form/src/layouts/DrawerForm.d.ts +1 -1
  26. package/es/components/form/src/layouts/ModalForm.d.ts +1 -1
  27. package/es/components/form/src/layouts/QueryFilter.d.ts +1 -1
  28. package/es/components/form/src/layouts/QueryFilter.mjs +15 -4
  29. package/es/components/form/src/layouts/QueryFilter.mjs.map +1 -1
  30. package/es/components/form/src/layouts/StepsForm.d.ts +1 -1
  31. package/es/components/form/src/layouts/StepsForm.mjs +3 -7
  32. package/es/components/form/src/layouts/StepsForm.mjs.map +1 -1
  33. package/es/components/form/src/type.d.ts +17 -8
  34. package/es/components/modal/src/modal.vue2.mjs +1 -1
  35. package/es/components/modal/src/modal.vue2.mjs.map +1 -1
  36. package/es/components/table/src/components/Table.mjs +2 -2
  37. package/es/components/table/src/components/Table.mjs.map +1 -1
  38. package/es/index.d.ts +22 -13
  39. package/es/version.d.ts +1 -1
  40. package/es/version.mjs +1 -1
  41. package/es/version.mjs.map +1 -1
  42. package/lib/components/drawer/src/drawer.vue2.js +1 -1
  43. package/lib/components/drawer/src/drawer.vue2.js.map +1 -1
  44. package/lib/components/form/src/Form.d.ts +1 -1
  45. package/lib/components/form/src/base/BaseForm.d.ts +1 -1
  46. package/lib/components/form/src/base/BaseForm.js +4 -3
  47. package/lib/components/form/src/base/BaseForm.js.map +1 -1
  48. package/lib/components/form/src/base/StepForm.d.ts +1 -1
  49. package/lib/components/form/src/components/FormGroup.d.ts +3 -1
  50. package/lib/components/form/src/components/FormItem.js +21 -23
  51. package/lib/components/form/src/components/FormItem.js.map +1 -1
  52. package/lib/components/form/src/components/FormList.d.ts +3 -1
  53. package/lib/components/form/src/components/FormListContainer.d.ts +3 -1
  54. package/lib/components/form/src/components/FormSet.d.ts +3 -1
  55. package/lib/components/form/src/components/FormSubmitter.d.ts +2 -2
  56. package/lib/components/form/src/components/FormSubmitter.js +25 -7
  57. package/lib/components/form/src/components/FormSubmitter.js.map +1 -1
  58. package/lib/components/form/src/components/FormTitle.d.ts +3 -1
  59. package/lib/components/form/src/layouts/DrawerForm.d.ts +1 -1
  60. package/lib/components/form/src/layouts/ModalForm.d.ts +1 -1
  61. package/lib/components/form/src/layouts/QueryFilter.d.ts +1 -1
  62. package/lib/components/form/src/layouts/QueryFilter.js +15 -4
  63. package/lib/components/form/src/layouts/QueryFilter.js.map +1 -1
  64. package/lib/components/form/src/layouts/StepsForm.d.ts +1 -1
  65. package/lib/components/form/src/layouts/StepsForm.js +3 -7
  66. package/lib/components/form/src/layouts/StepsForm.js.map +1 -1
  67. package/lib/components/form/src/type.d.ts +17 -8
  68. package/lib/components/modal/src/modal.vue2.js +1 -1
  69. package/lib/components/modal/src/modal.vue2.js.map +1 -1
  70. package/lib/components/table/src/components/Table.js +2 -2
  71. package/lib/components/table/src/components/Table.js.map +1 -1
  72. package/lib/index.d.ts +22 -13
  73. package/lib/version.d.ts +1 -1
  74. package/lib/version.js +1 -1
  75. package/lib/version.js.map +1 -1
  76. package/package.json +1 -1
  77. package/theme-chalk/index.css +1 -1
  78. package/theme-chalk/pro-form.css +1 -1
  79. package/theme-chalk/src/form.less +5 -0
@@ -1,4 +1,4 @@
1
- /*! Pro Design Vue v1.0.0-rc.11 */
1
+ /*! Pro Design Vue v1.0.0-rc.13 */
2
2
 
3
3
  import { Modal, ConfigProvider, App, Button as Button$1, Tooltip, Popconfirm, Dropdown, Menu, Slider, Drawer, Input, InputNumber, Form as Form$1, Space, Textarea, Select, TreeSelect, Checkbox as Checkbox$1, CheckboxGroup, RadioGroup, Radio as Radio$1, Cascader, Switch, Rate, DatePicker, RangePicker, TimePicker, TimeRangePicker, Upload, theme as theme$1, FormItemRest, Spin, message, Row as Row$1, Col, FormItem as FormItem$3, Steps, Popover, MenuItem, SubMenu, Empty, Badge, Tag, Pagination, InputSearch, Tree, Card, Tabs, TabPane } from 'ant-design-vue';
4
4
  import { inject, ref, getCurrentInstance, nextTick, h, reactive, defineComponent, createVNode, isVNode, Fragment, cloneVNode, provide, computed, renderSlot, createPropsRestProxy, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, shallowRef, shallowReadonly, toValue, getCurrentScope, onScopeDispose, watch, onMounted, hasInjectionContext, isRef, toRefs as toRefs$1, customRef, toRef as toRef$1, readonly, watchEffect, toRaw, createElementBlock, createCommentVNode, resolveDynamicComponent, mergeProps, createElementVNode, normalizeStyle, toDisplayString, normalizeClass, createSlots, useAttrs, useTemplateRef, defineAsyncComponent, Teleport, onUnmounted, Comment as Comment$1, useSlots, useModel, withModifiers, mergeModels, renderList, camelize, isReactive, onActivated, onDeactivated, onBeforeUnmount, triggerRef, resolveDirective, withDirectives, vShow, render as render$1, resolveComponent, createTextVNode, vModelText } from 'vue';
@@ -13,7 +13,7 @@ const ELEMENT_ID_MAIN_CONTENT = `__pro_main_content`;
13
13
  const SCROLL_FIXED_CLASS = `_scroll__fixed_`;
14
14
  const DEFAULT_NAMESPACE = "pro";
15
15
 
16
- const version$1 = "1.0.0-rc.11";
16
+ const version$1 = "1.0.0-rc.13";
17
17
 
18
18
  const makeInstaller = (components = []) => {
19
19
  const install = (app) => {
@@ -11748,7 +11748,7 @@ var _sfc_main$S = /* @__PURE__ */ defineComponent({
11748
11748
  __name: "drawer",
11749
11749
  props: {
11750
11750
  description: { type: String, required: false },
11751
- showFullscreen: { type: Boolean, required: false, default: true },
11751
+ showFullscreen: { type: Boolean, required: false, default: false },
11752
11752
  defaultFullscreen: { type: Boolean, required: false },
11753
11753
  autofocus: { type: Boolean, required: false, default: false },
11754
11754
  closable: { type: Boolean, required: false, default: true },
@@ -14948,7 +14948,7 @@ var _sfc_main$R = /* @__PURE__ */ defineComponent({
14948
14948
  __name: "modal",
14949
14949
  props: {
14950
14950
  description: { type: String, required: false },
14951
- showFullscreen: { type: Boolean, required: false, default: true },
14951
+ showFullscreen: { type: Boolean, required: false, default: false },
14952
14952
  defaultFullscreen: { type: Boolean, required: false },
14953
14953
  draggable: { type: Boolean, required: false, default: false },
14954
14954
  top: { type: Number, required: false, default: 100 },
@@ -16231,15 +16231,33 @@ var FormSubmitter = /* @__PURE__ */ defineComponent({
16231
16231
  action
16232
16232
  } = useInjectForm();
16233
16233
  const formSlotsContext = useInjectSlots$1();
16234
- const submit = () => {
16234
+ const submit = async () => {
16235
16235
  var _a;
16236
- action.submit();
16237
- (_a = props.onSubmit) == null ? void 0 : _a.call(props);
16236
+ if (!props.onSubmit) {
16237
+ action.submit();
16238
+ return;
16239
+ }
16240
+ const values = action.getFieldsValue();
16241
+ const response = (_a = props.onSubmit) == null ? void 0 : _a.call(props, values, action);
16242
+ const result = await response;
16243
+ if (result) {
16244
+ action.submit();
16245
+ }
16246
+ return result;
16238
16247
  };
16239
- const reset = () => {
16240
- var _a, _b;
16241
- (_a = action.reset) == null ? void 0 : _a.call(action);
16242
- (_b = props.onReset) == null ? void 0 : _b.call(props);
16248
+ const reset = async () => {
16249
+ var _a;
16250
+ if (!props.onReset) {
16251
+ action.reset();
16252
+ return;
16253
+ }
16254
+ const values = action.getFieldsValue();
16255
+ const response = (_a = props.onReset) == null ? void 0 : _a.call(props, values, action);
16256
+ const result = await response;
16257
+ if (result) {
16258
+ action.reset();
16259
+ }
16260
+ return result;
16243
16261
  };
16244
16262
  const resetButton = computed(() => {
16245
16263
  const {
@@ -16366,7 +16384,7 @@ var BaseForm = /* @__PURE__ */ defineComponent({
16366
16384
  var _a;
16367
16385
  return (_a = props.formKey) != null ? _a : requestFormCacheId.toString();
16368
16386
  });
16369
- const [loading, setloading] = useMergedState$1(false, {
16387
+ const [loading, setLoading] = useMergedState$1(false, {
16370
16388
  value: computed(() => props.loading),
16371
16389
  onChange: (val) => {
16372
16390
  var _a;
@@ -16442,7 +16460,7 @@ var BaseForm = /* @__PURE__ */ defineComponent({
16442
16460
  if (!props.onFinish) return;
16443
16461
  if (props.submitOnLoading) {
16444
16462
  if (loading.value) return;
16445
- setloading(true);
16463
+ setLoading(true);
16446
16464
  }
16447
16465
  try {
16448
16466
  const finalValues = transformKeySubmitValue(cloneDeep(formData.value), transformerMap.value, props.omitNil);
@@ -16451,7 +16469,7 @@ var BaseForm = /* @__PURE__ */ defineComponent({
16451
16469
  console.log("\u{1F680} ~ onFinish ~ error:", error);
16452
16470
  } finally {
16453
16471
  if (props.submitOnLoading) {
16454
- setloading(false);
16472
+ setLoading(false);
16455
16473
  }
16456
16474
  }
16457
16475
  };
@@ -16506,6 +16524,7 @@ var BaseForm = /* @__PURE__ */ defineComponent({
16506
16524
  }), null);
16507
16525
  if (submitterProps.value.teleport) {
16508
16526
  return createVNode(Teleport, {
16527
+ "defer": true,
16509
16528
  "to": submitterProps.value.teleport
16510
16529
  }, _isSlot$5(dom) ? dom : {
16511
16530
  default: () => [dom]
@@ -17081,6 +17100,7 @@ var QueryFilter = /* @__PURE__ */ defineComponent({
17081
17100
  }
17082
17101
  if (props.defaultColsNumber !== void 0) {
17083
17102
  const oneRowControlsNumber = 24 / spanSize.value.span - 1;
17103
+ console.log("\u{1F680} ~ showLength ~ oneRowControlsNumber:", oneRowControlsNumber);
17084
17104
  return props.defaultColsNumber > oneRowControlsNumber ? oneRowControlsNumber : props.defaultColsNumber;
17085
17105
  }
17086
17106
  return Math.max(1, 24 / spanSize.value.span - 1);
@@ -17117,7 +17137,7 @@ var QueryFilter = /* @__PURE__ */ defineComponent({
17117
17137
  }
17118
17138
  return void 0;
17119
17139
  });
17120
- const [collapsed, setCollapsed] = useMergedState$1(() => props.defaultCollapsed, {
17140
+ const [collapsed, setCollapsed] = useMergedState$1(() => props.defaultCollapsed && !!props.submitter, {
17121
17141
  value: computed(() => props.collapsed),
17122
17142
  onChange: (val) => {
17123
17143
  emit("collapse", val);
@@ -17188,7 +17208,7 @@ var QueryFilter = /* @__PURE__ */ defineComponent({
17188
17208
  firstRowFull = colSpan === 24 && !item.hidden;
17189
17209
  }
17190
17210
  const hidden = item.hidden || // 如果收起了
17191
- props.submitter !== false && collapsed.value && (firstRowFull || // 如果 超过显示长度 且 总长度超过了 24
17211
+ collapsed.value && (firstRowFull || // 如果 超过显示长度 且 总长度超过了 24
17192
17212
  totalSize.value > showLength.value) && !!index;
17193
17213
  if (hidden) {
17194
17214
  if (!props.preserve) {
@@ -17216,7 +17236,10 @@ var QueryFilter = /* @__PURE__ */ defineComponent({
17216
17236
  return {
17217
17237
  ...item,
17218
17238
  hidden,
17219
- formItemProps: formItemFixStyle.value,
17239
+ formItemProps: {
17240
+ ...item.title ? formItemFixStyle.value : {},
17241
+ ...item.formItemProps
17242
+ },
17220
17243
  colProps: {
17221
17244
  span: colSpan
17222
17245
  }
@@ -17260,9 +17283,16 @@ var QueryFilter = /* @__PURE__ */ defineComponent({
17260
17283
  }), {
17261
17284
  ...slots,
17262
17285
  submitter: ({
17286
+ props: props2,
17287
+ action,
17263
17288
  defaultDoms
17264
17289
  }) => {
17265
- return createVNode(Fragment, null, [defaultDoms, needCollapse.value !== false && createVNode("a", {
17290
+ var _a2;
17291
+ return createVNode(Fragment, null, [slots.submitter ? (_a2 = slots.submitter) == null ? void 0 : _a2.call(slots, {
17292
+ props: props2,
17293
+ action,
17294
+ defaultDoms
17295
+ }) : defaultDoms, needCollapse.value !== false && createVNode("a", {
17266
17296
  "class": `${prefixCls}-collapse-button`,
17267
17297
  "onClick": () => setCollapsed(!collapsed.value)
17268
17298
  }, [collapsed.value ? intl.getMessage("form.collapsed", "\u5C55\u5F00") : intl.getMessage("form.expand", "\u6536\u8D77"), !!hiddenNum.value && `(${hiddenNum.value})`, createVNode(DownOutlined, {
@@ -17441,7 +17471,7 @@ var StepsForm = /* @__PURE__ */ defineComponent({
17441
17471
  onChange: props.onCurrentChange
17442
17472
  });
17443
17473
  const regForm = (formRef, index) => {
17444
- formArrayRef.value[index] = formRef;
17474
+ formArrayRef.value[index] = formRef.value;
17445
17475
  };
17446
17476
  const lastStep = computed(() => step.value === props.steps.length - 1);
17447
17477
  const onFormFinish = async (name, formData) => {
@@ -17455,10 +17485,7 @@ var StepsForm = /* @__PURE__ */ defineComponent({
17455
17485
  const success = await props.onFinish(values);
17456
17486
  if (success) {
17457
17487
  setStep(0);
17458
- formArrayRef.value.forEach((form) => {
17459
- var _a;
17460
- return (_a = form.value) == null ? void 0 : _a.reset();
17461
- });
17488
+ formArrayRef.value.forEach((form) => form == null ? void 0 : form.reset());
17462
17489
  }
17463
17490
  } catch (error) {
17464
17491
  console.log(error);
@@ -17467,10 +17494,9 @@ var StepsForm = /* @__PURE__ */ defineComponent({
17467
17494
  }
17468
17495
  };
17469
17496
  const onSubmit = () => {
17470
- var _a;
17471
17497
  const from = formArrayRef.value[step.value];
17472
17498
  if (from) {
17473
- (_a = from.value) == null ? void 0 : _a.submit();
17499
+ from == null ? void 0 : from.submit();
17474
17500
  }
17475
17501
  };
17476
17502
  const prePage = () => {
@@ -33818,8 +33844,8 @@ var Table = /* @__PURE__ */ defineComponent({
33818
33844
  }
33819
33845
  onCleanSelected();
33820
33846
  });
33821
- const [selectedRowKeys, setSelectedRowKeys] = useMergedState(props.rowSelection ? ((_a = props.rowSelection) == null ? void 0 : _a.defaultSelectedRowKeys) || [] : void 0, {
33822
- value: computed(() => props.rowSelection ? props.rowSelection.selectedRowKeys : void 0)
33847
+ const [selectedRowKeys, setSelectedRowKeys] = useMergedState(props.selectedRowKeys || (props.rowSelection ? ((_a = props.rowSelection) == null ? void 0 : _a.defaultSelectedRowKeys) || [] : void 0), {
33848
+ value: computed(() => props.selectedRowKeys || (props.rowSelection ? props.rowSelection.selectedRowKeys : void 0))
33823
33849
  });
33824
33850
  const rowSelection = computed(() => ({
33825
33851
  selectedRowKeys: selectedRowKeys.value,
@@ -36691,7 +36717,7 @@ var FormItem = /* @__PURE__ */ defineComponent({
36691
36717
  disabled: ((_e = runFunction((_d = props.item.disabled) != null ? _d : baseProps == null ? void 0 : baseProps.disabled, formData.value, rowData == null ? void 0 : rowData.value)) != null ? _e : allDisabledKeys.value.includes(props.item.key)) ? true : void 0,
36692
36718
  placeholder: (_f = props.item.placeholder) != null ? _f : baseProps == null ? void 0 : baseProps.placeholder,
36693
36719
  options: (_h = (_g = props.item.options) != null ? _g : baseProps == null ? void 0 : baseProps.options) != null ? _h : baseProps == null ? void 0 : baseProps.treeData,
36694
- allowClear: (_j = (_i = props.item.allowClear) != null ? _i : baseProps == null ? void 0 : baseProps.allowClear) != null ? _j : false
36720
+ allowClear: (_j = (_i = props.item.allowClear) != null ? _i : baseProps == null ? void 0 : baseProps.allowClear) != null ? _j : true
36695
36721
  };
36696
36722
  return omitUndefined({
36697
36723
  valueEnum: props.item.valueEnum,
@@ -36757,12 +36783,14 @@ var FormItem = /* @__PURE__ */ defineComponent({
36757
36783
  }, [createVNode(FormTitle, {
36758
36784
  "title": props.item.title,
36759
36785
  "tooltip": props.item.tooltip
36760
- }, null)]), createVNode(RenderVNode$1, {
36786
+ }, null)]), createVNode("div", {
36787
+ "class": `${prefixCls}-item-title-extra`
36788
+ }, [createVNode(RenderVNode$1, {
36761
36789
  "vnode": extraRender,
36762
36790
  "props": {
36763
36791
  formData: formData.value
36764
36792
  }
36765
- }, null)]);
36793
+ }, null)])]);
36766
36794
  }
36767
36795
  return temp;
36768
36796
  });
@@ -36809,20 +36837,6 @@ var FormItem = /* @__PURE__ */ defineComponent({
36809
36837
  });
36810
36838
  return () => {
36811
36839
  var _a, _b;
36812
- const render = getSlot(props.item.render, formSlotsContext);
36813
- if (render) {
36814
- return createVNode(FormColWrapper, {
36815
- "colProps": props.item.colProps,
36816
- "grid": mergeGrid.value
36817
- }, {
36818
- default: () => [createVNode(RenderVNode$1, {
36819
- "vnode": render,
36820
- "props": {
36821
- formData: formData.value
36822
- }
36823
- }, null)]
36824
- });
36825
- }
36826
36840
  const renderFormItem = getSlot(props.item.renderFormItem, formSlotsContext);
36827
36841
  const extraRender = getSlot((_a = props.item.extra) == null ? void 0 : _a.item, formSlotsContext);
36828
36842
  const FieldComponent = (_b = fieldComponentMap[fieldType.value]) != null ? _b : fieldComponentMap["text"];
@@ -36850,23 +36864,33 @@ var FormItem = /* @__PURE__ */ defineComponent({
36850
36864
  if (extraRender) {
36851
36865
  defaultDom = createVNode("div", {
36852
36866
  "style": "display: flex; flex-direction: row; justify-content: flex-start; align-items: center;"
36853
- }, [defaultDom, createVNode(RenderVNode$1, {
36867
+ }, [defaultDom, createVNode("div", {
36868
+ "style": "margin-inline-start: 5px; flex-shrink: 0;"
36869
+ }, [createVNode(RenderVNode$1, {
36854
36870
  "vnode": extraRender,
36855
36871
  "props": {
36856
36872
  formData: formData.value,
36857
36873
  listName: listName == null ? void 0 : listName.value,
36858
36874
  name: props.item.name
36859
36875
  }
36860
- }, null)]);
36876
+ }, null)])]);
36861
36877
  }
36878
+ const formItemDom = createVNode(Form$1.Item, restItemProps.value, {
36879
+ default: () => [defaultDom],
36880
+ ...slotsGetter.value
36881
+ });
36882
+ const render = getSlot(props.item.render, formSlotsContext);
36862
36883
  return createVNode(FormColWrapper, {
36863
36884
  "colProps": props.item.colProps,
36864
36885
  "grid": mergeGrid.value
36865
36886
  }, {
36866
- default: () => [createVNode(Form$1.Item, restItemProps.value, {
36867
- default: () => [defaultDom],
36868
- ...slotsGetter.value
36869
- })]
36887
+ default: () => [render ? createVNode(RenderVNode$1, {
36888
+ "vnode": render,
36889
+ "props": {
36890
+ formData: formData.value,
36891
+ defaultDom: formItemDom
36892
+ }
36893
+ }, null) : formItemDom]
36870
36894
  });
36871
36895
  };
36872
36896
  }
@@ -13,7 +13,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
13
13
  __name: "drawer",
14
14
  props: {
15
15
  description: { type: String, required: false },
16
- showFullscreen: { type: Boolean, required: false, default: true },
16
+ showFullscreen: { type: Boolean, required: false, default: false },
17
17
  defaultFullscreen: { type: Boolean, required: false },
18
18
  autofocus: { type: Boolean, required: false, default: false },
19
19
  closable: { type: Boolean, required: false, default: true },
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.vue2.mjs","sources":["../../../../../../packages/components/drawer/src/drawer.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2025-06-23 16:43:27\n * @LastEditors: shen\n * @LastEditTime: 2025-09-02 17:20:13\n * @Description:\n-->\n<script setup lang=\"ts\">\nimport type { DrawerProps } from 'ant-design-vue'\n\nimport { computed, ref } from 'vue'\nimport { Drawer } from 'ant-design-vue'\nimport { CloseOutlined, FullscreenOutlined, FullscreenExitOutlined } from '@ant-design/icons-vue'\nimport { ProButton } from '@pro-design-vue/components/button'\nimport { omitKeysAndUndefined } from '@pro-design-vue/utils'\nimport { useIsMobile, usePrefixCls } from '@pro-design-vue/hooks'\nexport interface Props extends DrawerProps {\n description?: string\n showFullscreen?: boolean\n defaultFullscreen?: boolean\n}\ndefineOptions({\n name: 'ProDrawer',\n})\n\nconst props = withDefaults(defineProps<Props>(), {\n autofocus: false,\n closable: true,\n destroyOnClose: true,\n getContainer: 'body',\n mask: true,\n maskClosable: true,\n open: false,\n showFullscreen: true,\n})\n\nconst emit = defineEmits<{ close: [e: Event]; fullScreen: [value: boolean] }>()\n\nconst prefixCls = usePrefixCls('drawer')\nconst { isMobile } = useIsMobile()\nconst fullscreen = ref(props.defaultFullscreen)\nconst hasFullscreen = computed(() => isMobile.value || fullscreen.value)\nconst drawerProps = computed(() =>\n omitKeysAndUndefined(props, ['rootClassName', 'closable', 'onClose', 'title', 'width', 'height']),\n)\n\nconst width = computed(() => {\n if (fullscreen.value) {\n return '100%'\n }\n return props.width\n})\n\nconst height = computed(() => {\n if (hasFullscreen.value) {\n return '100%'\n }\n return props.height\n})\n\nconst handleClose = (e: Event) => {\n fullscreen.value = props.defaultFullscreen\n props['onUpdate:open']?.(false)\n emit('close', e)\n}\n\nconst handleBtnClose = (e: Event) => {\n handleClose(e)\n}\n\nconst handleFullScreen = () => {\n fullscreen.value = !fullscreen.value\n emit('fullScreen', fullscreen.value)\n}\n</script>\n\n<template>\n <Drawer\n v-bind=\"drawerProps\"\n :root-class-name=\"`${prefixCls} ${rootClassName || ''}`\"\n :closable=\"false\"\n :width\n :height\n @close=\"handleClose\"\n >\n <template #title>\n <slot name=\"title\">\n <div :class=\"`${prefixCls}-title`\">{{ title }}</div>\n </slot>\n <slot name=\"description\">\n <div :class=\"`${prefixCls}-description`\">{{ description }}</div>\n </slot>\n </template>\n <template #extra>\n <slot name=\"extra\" />\n <ProButton\n v-if=\"showFullscreen && !isMobile\"\n :class=\"`${prefixCls}-fullscreen`\"\n size=\"small\"\n shape=\"circle\"\n type=\"text\"\n @click=\"handleFullScreen\"\n >\n <template #icon>\n <FullscreenOutlined v-if=\"!fullscreen\" />\n <FullscreenExitOutlined v-else />\n </template>\n </ProButton>\n <ProButton\n v-if=\"closable\"\n :class=\"`${prefixCls}-close`\"\n size=\"small\"\n shape=\"circle\"\n type=\"text\"\n @click=\"handleBtnClose\"\n >\n <template #icon>\n <CloseOutlined />\n </template>\n </ProButton>\n </template>\n <template #default>\n <slot />\n </template>\n\n <template #footer v-if=\"$slots.footer\">\n <slot name=\"footer\" />\n </template>\n </Drawer>\n</template>\n"],"names":["_createBlock","_unref","_mergeProps","rootClassName","_renderSlot","_createElementVNode","title","description","showFullscreen","closable","_createVNode","$slots"],"mappings":"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"}
1
+ {"version":3,"file":"drawer.vue2.mjs","sources":["../../../../../../packages/components/drawer/src/drawer.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2025-06-23 16:43:27\n * @LastEditors: shen\n * @LastEditTime: 2025-09-24 16:34:05\n * @Description:\n-->\n<script setup lang=\"ts\">\nimport type { DrawerProps } from 'ant-design-vue'\n\nimport { computed, ref } from 'vue'\nimport { Drawer } from 'ant-design-vue'\nimport { CloseOutlined, FullscreenOutlined, FullscreenExitOutlined } from '@ant-design/icons-vue'\nimport { ProButton } from '@pro-design-vue/components/button'\nimport { omitKeysAndUndefined } from '@pro-design-vue/utils'\nimport { useIsMobile, usePrefixCls } from '@pro-design-vue/hooks'\nexport interface Props extends DrawerProps {\n description?: string\n showFullscreen?: boolean\n defaultFullscreen?: boolean\n}\ndefineOptions({\n name: 'ProDrawer',\n})\n\nconst props = withDefaults(defineProps<Props>(), {\n autofocus: false,\n closable: true,\n destroyOnClose: true,\n getContainer: 'body',\n mask: true,\n maskClosable: true,\n open: false,\n showFullscreen: false,\n})\n\nconst emit = defineEmits<{ close: [e: Event]; fullScreen: [value: boolean] }>()\n\nconst prefixCls = usePrefixCls('drawer')\nconst { isMobile } = useIsMobile()\nconst fullscreen = ref(props.defaultFullscreen)\nconst hasFullscreen = computed(() => isMobile.value || fullscreen.value)\nconst drawerProps = computed(() =>\n omitKeysAndUndefined(props, ['rootClassName', 'closable', 'onClose', 'title', 'width', 'height']),\n)\n\nconst width = computed(() => {\n if (fullscreen.value) {\n return '100%'\n }\n return props.width\n})\n\nconst height = computed(() => {\n if (hasFullscreen.value) {\n return '100%'\n }\n return props.height\n})\n\nconst handleClose = (e: Event) => {\n fullscreen.value = props.defaultFullscreen\n props['onUpdate:open']?.(false)\n emit('close', e)\n}\n\nconst handleBtnClose = (e: Event) => {\n handleClose(e)\n}\n\nconst handleFullScreen = () => {\n fullscreen.value = !fullscreen.value\n emit('fullScreen', fullscreen.value)\n}\n</script>\n\n<template>\n <Drawer\n v-bind=\"drawerProps\"\n :root-class-name=\"`${prefixCls} ${rootClassName || ''}`\"\n :closable=\"false\"\n :width\n :height\n @close=\"handleClose\"\n >\n <template #title>\n <slot name=\"title\">\n <div :class=\"`${prefixCls}-title`\">{{ title }}</div>\n </slot>\n <slot name=\"description\">\n <div :class=\"`${prefixCls}-description`\">{{ description }}</div>\n </slot>\n </template>\n <template #extra>\n <slot name=\"extra\" />\n <ProButton\n v-if=\"showFullscreen && !isMobile\"\n :class=\"`${prefixCls}-fullscreen`\"\n size=\"small\"\n shape=\"circle\"\n type=\"text\"\n @click=\"handleFullScreen\"\n >\n <template #icon>\n <FullscreenOutlined v-if=\"!fullscreen\" />\n <FullscreenExitOutlined v-else />\n </template>\n </ProButton>\n <ProButton\n v-if=\"closable\"\n :class=\"`${prefixCls}-close`\"\n size=\"small\"\n shape=\"circle\"\n type=\"text\"\n @click=\"handleBtnClose\"\n >\n <template #icon>\n <CloseOutlined />\n </template>\n </ProButton>\n </template>\n <template #default>\n <slot />\n </template>\n\n <template #footer v-if=\"$slots.footer\">\n <slot name=\"footer\" />\n </template>\n </Drawer>\n</template>\n"],"names":["_createBlock","_unref","_mergeProps","rootClassName","_renderSlot","_createElementVNode","title","description","showFullscreen","closable","_createVNode","$slots"],"mappings":"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"}
@@ -454,7 +454,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
454
454
  validateTrigger: string | string[] | undefined;
455
455
  grid: boolean;
456
456
  dateFormatter: false | "string" | "number" | ((value: import("dayjs").Dayjs, fieldType: `${import("pro-design-vue").ProFieldType}`) => string | number) | undefined;
457
- submitter: false | import("pro-design-vue").SubmitterProps<Record<string, any>> | undefined;
457
+ submitter: false | import("pro-design-vue").SubmitterProps<import("pro-design-vue").Entity> | undefined;
458
458
  showLoading: boolean;
459
459
  submitOnLoading: boolean;
460
460
  gridSubmitter: boolean;
@@ -264,7 +264,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
264
264
  validateTrigger: string | string[] | undefined;
265
265
  grid: boolean;
266
266
  dateFormatter: false | "string" | "number" | ((value: import("dayjs").Dayjs, fieldType: `${import("pro-design-vue").ProFieldType}`) => string | number) | undefined;
267
- submitter: false | SubmitterProps<Record<string, any>> | undefined;
267
+ submitter: false | SubmitterProps<Entity> | undefined;
268
268
  showLoading: boolean;
269
269
  submitOnLoading: boolean;
270
270
  gridSubmitter: boolean;
@@ -42,7 +42,7 @@ var BaseForm = /* @__PURE__ */ defineComponent({
42
42
  var _a;
43
43
  return (_a = props.formKey) != null ? _a : requestFormCacheId.toString();
44
44
  });
45
- const [loading, setloading] = useMergedState(false, {
45
+ const [loading, setLoading] = useMergedState(false, {
46
46
  value: computed(() => props.loading),
47
47
  onChange: (val) => {
48
48
  var _a;
@@ -118,7 +118,7 @@ var BaseForm = /* @__PURE__ */ defineComponent({
118
118
  if (!props.onFinish) return;
119
119
  if (props.submitOnLoading) {
120
120
  if (loading.value) return;
121
- setloading(true);
121
+ setLoading(true);
122
122
  }
123
123
  try {
124
124
  const finalValues = transformKeySubmitValue(cloneDeep(formData.value), transformerMap.value, props.omitNil);
@@ -127,7 +127,7 @@ var BaseForm = /* @__PURE__ */ defineComponent({
127
127
  console.log("\u{1F680} ~ onFinish ~ error:", error);
128
128
  } finally {
129
129
  if (props.submitOnLoading) {
130
- setloading(false);
130
+ setLoading(false);
131
131
  }
132
132
  }
133
133
  };
@@ -182,6 +182,7 @@ var BaseForm = /* @__PURE__ */ defineComponent({
182
182
  }), null);
183
183
  if (submitterProps.value.teleport) {
184
184
  return createVNode(Teleport, {
185
+ "defer": true,
185
186
  "to": submitterProps.value.teleport
186
187
  }, _isSlot(dom) ? dom : {
187
188
  default: () => [dom]
@@ -1 +1 @@
1
- {"version":3,"file":"BaseForm.mjs","sources":["../../../../../../../packages/components/form/src/base/BaseForm.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-27 12:04:01\n * @LastEditors: shen\n * @LastEditTime: 2025-09-22 16:12:08\n * @Description:\n */\nimport type { ColProps, FormInstance } from 'ant-design-vue'\nimport type {\n Entity,\n ProFormItemType,\n ProFormPropsType,\n SubmitterProps,\n TransformerMapType,\n} from '../type'\n\nimport { ref, computed, watch, onMounted, defineComponent, Teleport, shallowRef } from 'vue'\nimport { Col, Form, FormItem, Spin } from 'ant-design-vue'\nimport { cloneDeep, debounce, isEqual, isObject, omit, omitUndefined } from '@pro-design-vue/utils'\nimport { baseFormProps } from '../props'\nimport { useProvideForm } from '../context/FormContext'\nimport { useMergedState, usePrefixCls } from '@pro-design-vue/hooks'\nimport { useInitialValues } from '../hooks/useInitialValues'\nimport { useLinkage } from '../hooks/useLinkage'\nimport { convertKeyInitialValue, transformKeySubmitValue, useAction } from '../hooks/useAction'\nimport covertFormName from '../utils/namePath'\nimport FormSlotsContextProvider from '../context/FormSlotsContext'\nimport FormRowWrapper from '../components/FormRowWrapper'\nimport FormItems from '../components/FormItems'\nimport FormSubmitter from '../components/FormSubmitter'\nimport transformer from '../utils/transformer'\n\nlet requestFormCacheId = 0\n\nexport default defineComponent({\n name: 'BaseForm',\n inheritAttrs: false,\n props: {\n ...baseFormProps(),\n },\n setup(props, { slots, expose, attrs }) {\n const mountedRef = ref(false)\n const transformerMap = shallowRef<TransformerMapType>(new Map())\n const formRef = ref<FormInstance>()\n const prefixCls = usePrefixCls('form')\n const formData = ref<Entity>({})\n const formItems = ref<ProFormItemType[]>([])\n const formKey = computed(() => {\n return props.formKey ?? requestFormCacheId.toString()\n })\n\n const [loading, setloading] = useMergedState<boolean | undefined>(false, {\n value: computed(() => props.loading),\n onChange: (val) => {\n props.onLoadingChange?.(val!)\n },\n })\n\n const formClass = computed(() => ({\n [prefixCls]: true,\n [`${attrs.class ?? ''}`]: true,\n }))\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'colProps',\n 'submitter',\n 'loading',\n 'showLoading',\n 'omitNil',\n 'grid',\n 'theme',\n 'customUi',\n 'gridSubmitter',\n 'requestAbort',\n 'isKeyPressSubmit',\n 'formKey',\n 'initialValues',\n 'rowProps',\n 'dateFormatter',\n 'params',\n 'readonly',\n 'readonlyProps',\n 'items',\n 'request',\n 'submitOnLoading',\n 'onLoadingChange',\n 'onFinish',\n 'onValuesChange',\n ]),\n ),\n layout: props.layout ?? 'vertical',\n }\n })\n\n const formatItems = (items: ProFormItemType[]): ProFormItemType[] => {\n return items\n .filter((originItem) => {\n return !originItem.hidden\n })\n .sort((a, b) => {\n if (b.order || a.order) {\n return (b.order ?? 0) - (a.order ?? 0)\n }\n return 0\n })\n .map((originItem, index) => {\n const name = covertFormName(originItem.name)\n const key = originItem.key ?? (name ? (name ?? []).join('_') : index)\n return omitUndefined<ProFormItemType>({\n ...originItem,\n originName: originItem.originName ?? originItem.name,\n name,\n key,\n })\n })\n .filter((field) => {\n return Boolean(field)\n })\n }\n\n watch(\n () => props.items,\n () => {\n transformerMap.value = transformer(props.items ?? [])\n formItems.value = formatItems(props.items ?? [])\n },\n {\n immediate: true,\n },\n )\n\n const { initialValues, hasInitial, requestLoading } = useInitialValues(\n props as ProFormPropsType,\n )\n\n watch(\n initialValues,\n (newValues, oldValues) => {\n if (!isEqual(newValues, oldValues)) {\n formData.value = cloneDeep(convertKeyInitialValue(newValues, transformerMap.value))\n if (!props.request || props.requestAbort) {\n Promise.resolve().then(() => {\n hasInitial.value = false\n })\n }\n }\n },\n {\n immediate: true,\n },\n )\n const onValuesChange = debounce(() => {\n props.onValuesChange?.(\n transformKeySubmitValue(cloneDeep(formData.value), transformerMap.value, props.omitNil),\n )\n }, 200)\n\n const onFinish = async () => {\n if (!props.onFinish) return\n if (props.submitOnLoading) {\n if (loading.value) return\n setloading(true)\n }\n\n try {\n const finalValues = transformKeySubmitValue(\n cloneDeep(formData.value),\n transformerMap.value,\n props.omitNil,\n )\n await props.onFinish(finalValues)\n } catch (error) {\n console.log('🚀 ~ onFinish ~ error:', error)\n } finally {\n if (props.submitOnLoading) {\n setloading(false)\n }\n }\n }\n\n watch(\n formData,\n () => {\n if (!hasInitial.value) {\n onValuesChange()\n }\n },\n {\n deep: true,\n },\n )\n\n const linkage = useLinkage()\n const action = useAction({\n props,\n formRef,\n formData,\n initialValues,\n hasInitial,\n transformerMap,\n onFinish,\n onReset: props.onReset,\n onFinishFailed: props.onFinishFailed,\n })\n\n const submitterProps = computed<SubmitterProps>(() =>\n typeof props.submitter === 'boolean' || !props.submitter\n ? {}\n : omit(props.submitter, ['colProps']),\n )\n\n const submitterColProps = computed<ColProps>(() => {\n if (props.submitter === false || props.readonly) return {}\n if (props.gridSubmitter) {\n if (isObject(props.submitter) && isObject(props.submitter.colProps)) {\n return { ...props.submitter.colProps }\n }\n }\n return { span: 24 } as ColProps\n })\n\n const submitterNode = computed(() => {\n if (props.submitter === false || props.readonly) return undefined\n const submitButtonProps =\n submitterProps.value.submitButtonProps === false\n ? false\n : {\n loading: loading.value,\n ...submitterProps.value.submitButtonProps,\n }\n const resetButtonProps =\n submitterProps.value.resetButtonProps === false\n ? false\n : {\n disabled: loading.value,\n ...submitterProps.value.resetButtonProps,\n }\n const dom = (\n <FormSubmitter\n key=\"submitter\"\n {...submitterProps.value}\n submitButtonProps={submitButtonProps}\n resetButtonProps={resetButtonProps}\n />\n )\n if (submitterProps.value.teleport) {\n return <Teleport to={submitterProps.value.teleport}>{dom}</Teleport>\n }\n return dom\n })\n\n onMounted(() => {\n mountedRef.value = true\n requestFormCacheId += 1\n const finalValues = formRef.value?.getFieldsValue?.(true) ?? {}\n Promise.resolve().then(() => {\n props.onInit?.(\n transformKeySubmitValue(finalValues, transformerMap.value, props.omitNil),\n action,\n )\n })\n })\n\n useProvideForm({\n ...linkage,\n action,\n formKey,\n mountedRef,\n prefixCls,\n initialValues,\n formData,\n hasInitial,\n theme: computed(() => props.theme),\n customUi: computed(() => props.customUi),\n grid: computed(() => props.grid),\n disabled: computed(() => props.disabled),\n readonly: computed(() => props.readonly),\n readonlyProps: computed(() => props.readonlyProps),\n rowProps: computed(() => props.rowProps ?? { gutter: 16 }),\n colProps: computed(() => props.colProps ?? { xs: 24 }),\n formatItems,\n })\n\n expose({\n ...action,\n })\n return () => (\n <FormSlotsContextProvider value={{ ...slots }}>\n <Form\n ref={formRef}\n {...formProps.value}\n class={formClass.value}\n model={formData.value}\n style={attrs.style}\n >\n <Spin spinning={props.showLoading && (requestLoading.value || loading.value)}>\n <FormRowWrapper>\n <FormItems list={formItems.value} />\n {props.gridSubmitter && props.submitter !== false && (\n <Col {...submitterColProps.value}>\n <FormItem label=\" \" colon={false} class={`${prefixCls}-submitter-form-item`}>\n {submitterNode.value}\n </FormItem>\n </Col>\n )}\n </FormRowWrapper>\n {!props.gridSubmitter && submitterNode.value}\n </Spin>\n </Form>\n </FormSlotsContextProvider>\n )\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","requestFormCacheId","name","inheritAttrs","props","baseFormProps","setup","slots","expose","attrs","mountedRef","ref","transformerMap","shallowRef","Map","formRef","prefixCls","usePrefixCls","formData","formItems","formKey","computed","loading","setloading","useMergedState","value","onChange","val","onLoadingChange","formClass","class","formProps","omitUndefined","omit","layout","formatItems","items","filter","originItem","hidden","sort","a","b","order","map","index","covertFormName","key","join","originName","field","Boolean","watch","transformer","immediate","initialValues","hasInitial","requestLoading","useInitialValues","newValues","oldValues","isEqual","cloneDeep","convertKeyInitialValue","request","requestAbort","Promise","resolve","then","onValuesChange","debounce","transformKeySubmitValue","omitNil","onFinish","submitOnLoading","finalValues","error","console","log","deep","linkage","useLinkage","action","useAction","onReset","onFinishFailed","submitterProps","submitter","submitterColProps","readonly","gridSubmitter","isObject","colProps","span","submitterNode","undefined","submitButtonProps","resetButtonProps","disabled","dom","_createVNode","FormSubmitter","_mergeProps","teleport","Teleport","default","onMounted","getFieldsValue","_a","onInit","useProvideForm","theme","customUi","grid","readonlyProps","rowProps","gutter","xs","FormSlotsContextProvider","Form","style","Spin","showLoading","FormRowWrapper","FormItems","Col","FormItem"],"mappings":"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"}
1
+ {"version":3,"file":"BaseForm.mjs","sources":["../../../../../../../packages/components/form/src/base/BaseForm.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-27 12:04:01\n * @LastEditors: shen\n * @LastEditTime: 2025-09-26 10:11:32\n * @Description:\n */\nimport type { ColProps, FormInstance } from 'ant-design-vue'\nimport type {\n Entity,\n ProFormItemType,\n ProFormPropsType,\n SubmitterProps,\n TransformerMapType,\n} from '../type'\n\nimport { ref, computed, watch, onMounted, defineComponent, Teleport, shallowRef } from 'vue'\nimport { Col, Form, FormItem, Spin } from 'ant-design-vue'\nimport { cloneDeep, debounce, isEqual, isObject, omit, omitUndefined } from '@pro-design-vue/utils'\nimport { baseFormProps } from '../props'\nimport { useProvideForm } from '../context/FormContext'\nimport { useMergedState, usePrefixCls } from '@pro-design-vue/hooks'\nimport { useInitialValues } from '../hooks/useInitialValues'\nimport { useLinkage } from '../hooks/useLinkage'\nimport { convertKeyInitialValue, transformKeySubmitValue, useAction } from '../hooks/useAction'\nimport covertFormName from '../utils/namePath'\nimport FormSlotsContextProvider from '../context/FormSlotsContext'\nimport FormRowWrapper from '../components/FormRowWrapper'\nimport FormItems from '../components/FormItems'\nimport FormSubmitter from '../components/FormSubmitter'\nimport transformer from '../utils/transformer'\n\nlet requestFormCacheId = 0\n\nexport default defineComponent({\n name: 'BaseForm',\n inheritAttrs: false,\n props: {\n ...baseFormProps(),\n },\n setup(props, { slots, expose, attrs }) {\n const mountedRef = ref(false)\n const transformerMap = shallowRef<TransformerMapType>(new Map())\n const formRef = ref<FormInstance>()\n const prefixCls = usePrefixCls('form')\n const formData = ref<Entity>({})\n const formItems = ref<ProFormItemType[]>([])\n const formKey = computed(() => {\n return props.formKey ?? requestFormCacheId.toString()\n })\n\n const [loading, setLoading] = useMergedState<boolean | undefined>(false, {\n value: computed(() => props.loading),\n onChange: (val) => {\n props.onLoadingChange?.(val!)\n },\n })\n\n const formClass = computed(() => ({\n [prefixCls]: true,\n [`${attrs.class ?? ''}`]: true,\n }))\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'colProps',\n 'submitter',\n 'loading',\n 'showLoading',\n 'omitNil',\n 'grid',\n 'theme',\n 'customUi',\n 'gridSubmitter',\n 'requestAbort',\n 'isKeyPressSubmit',\n 'formKey',\n 'initialValues',\n 'rowProps',\n 'dateFormatter',\n 'params',\n 'readonly',\n 'readonlyProps',\n 'items',\n 'request',\n 'submitOnLoading',\n 'onLoadingChange',\n 'onFinish',\n 'onValuesChange',\n ]),\n ),\n layout: props.layout ?? 'vertical',\n }\n })\n\n const formatItems = (items: ProFormItemType[]): ProFormItemType[] => {\n return items\n .filter((originItem) => {\n return !originItem.hidden\n })\n .sort((a, b) => {\n if (b.order || a.order) {\n return (b.order ?? 0) - (a.order ?? 0)\n }\n return 0\n })\n .map((originItem, index) => {\n const name = covertFormName(originItem.name)\n const key = originItem.key ?? (name ? (name ?? []).join('_') : index)\n return omitUndefined<ProFormItemType>({\n ...originItem,\n originName: originItem.originName ?? originItem.name,\n name,\n key,\n })\n })\n .filter((field) => {\n return Boolean(field)\n })\n }\n\n watch(\n () => props.items,\n () => {\n transformerMap.value = transformer(props.items ?? [])\n formItems.value = formatItems(props.items ?? [])\n },\n {\n immediate: true,\n },\n )\n\n const { initialValues, hasInitial, requestLoading } = useInitialValues(\n props as ProFormPropsType,\n )\n\n watch(\n initialValues,\n (newValues, oldValues) => {\n if (!isEqual(newValues, oldValues)) {\n formData.value = cloneDeep(convertKeyInitialValue(newValues, transformerMap.value))\n if (!props.request || props.requestAbort) {\n Promise.resolve().then(() => {\n hasInitial.value = false\n })\n }\n }\n },\n {\n immediate: true,\n },\n )\n const onValuesChange = debounce(() => {\n props.onValuesChange?.(\n transformKeySubmitValue(cloneDeep(formData.value), transformerMap.value, props.omitNil),\n )\n }, 200)\n\n const onFinish = async () => {\n if (!props.onFinish) return\n if (props.submitOnLoading) {\n if (loading.value) return\n setLoading(true)\n }\n\n try {\n const finalValues = transformKeySubmitValue(\n cloneDeep(formData.value),\n transformerMap.value,\n props.omitNil,\n )\n await props.onFinish(finalValues)\n } catch (error) {\n console.log('🚀 ~ onFinish ~ error:', error)\n } finally {\n if (props.submitOnLoading) {\n setLoading(false)\n }\n }\n }\n\n watch(\n formData,\n () => {\n if (!hasInitial.value) {\n onValuesChange()\n }\n },\n {\n deep: true,\n },\n )\n\n const linkage = useLinkage()\n const action = useAction({\n props,\n formRef,\n formData,\n initialValues,\n hasInitial,\n transformerMap,\n onFinish,\n onReset: props.onReset,\n onFinishFailed: props.onFinishFailed,\n })\n\n const submitterProps = computed<SubmitterProps>(() =>\n typeof props.submitter === 'boolean' || !props.submitter\n ? {}\n : omit(props.submitter, ['colProps']),\n )\n\n const submitterColProps = computed<ColProps>(() => {\n if (props.submitter === false || props.readonly) return {}\n if (props.gridSubmitter) {\n if (isObject(props.submitter) && isObject(props.submitter.colProps)) {\n return { ...props.submitter.colProps }\n }\n }\n return { span: 24 } as ColProps\n })\n\n const submitterNode = computed(() => {\n if (props.submitter === false || props.readonly) return undefined\n const submitButtonProps =\n submitterProps.value.submitButtonProps === false\n ? false\n : {\n loading: loading.value,\n ...submitterProps.value.submitButtonProps,\n }\n const resetButtonProps =\n submitterProps.value.resetButtonProps === false\n ? false\n : {\n disabled: loading.value,\n ...submitterProps.value.resetButtonProps,\n }\n const dom = (\n <FormSubmitter\n key=\"submitter\"\n {...submitterProps.value}\n submitButtonProps={submitButtonProps}\n resetButtonProps={resetButtonProps}\n />\n )\n if (submitterProps.value.teleport) {\n return (\n <Teleport defer to={submitterProps.value.teleport}>\n {dom}\n </Teleport>\n )\n }\n return dom\n })\n\n onMounted(() => {\n mountedRef.value = true\n requestFormCacheId += 1\n const finalValues = formRef.value?.getFieldsValue?.(true) ?? {}\n Promise.resolve().then(() => {\n props.onInit?.(\n transformKeySubmitValue(finalValues, transformerMap.value, props.omitNil),\n action,\n )\n })\n })\n\n useProvideForm({\n ...linkage,\n action,\n formKey,\n mountedRef,\n prefixCls,\n initialValues,\n formData,\n hasInitial,\n theme: computed(() => props.theme),\n customUi: computed(() => props.customUi),\n grid: computed(() => props.grid),\n disabled: computed(() => props.disabled),\n readonly: computed(() => props.readonly),\n readonlyProps: computed(() => props.readonlyProps),\n rowProps: computed(() => props.rowProps ?? { gutter: 16 }),\n colProps: computed(() => props.colProps ?? { xs: 24 }),\n formatItems,\n })\n\n expose({\n ...action,\n })\n return () => (\n <FormSlotsContextProvider value={{ ...slots }}>\n <Form\n ref={formRef}\n {...formProps.value}\n class={formClass.value}\n model={formData.value}\n style={attrs.style}\n >\n <Spin spinning={props.showLoading && (requestLoading.value || loading.value)}>\n <FormRowWrapper>\n <FormItems list={formItems.value} />\n {props.gridSubmitter && props.submitter !== false && (\n <Col {...submitterColProps.value}>\n <FormItem label=\" \" colon={false} class={`${prefixCls}-submitter-form-item`}>\n {submitterNode.value}\n </FormItem>\n </Col>\n )}\n </FormRowWrapper>\n {!props.gridSubmitter && submitterNode.value}\n </Spin>\n </Form>\n </FormSlotsContextProvider>\n )\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","requestFormCacheId","name","inheritAttrs","props","baseFormProps","setup","slots","expose","attrs","mountedRef","ref","transformerMap","shallowRef","Map","formRef","prefixCls","usePrefixCls","formData","formItems","formKey","computed","loading","setLoading","useMergedState","value","onChange","val","onLoadingChange","formClass","class","formProps","omitUndefined","omit","layout","formatItems","items","filter","originItem","hidden","sort","a","b","order","map","index","covertFormName","key","join","originName","field","Boolean","watch","transformer","immediate","initialValues","hasInitial","requestLoading","useInitialValues","newValues","oldValues","isEqual","cloneDeep","convertKeyInitialValue","request","requestAbort","Promise","resolve","then","onValuesChange","debounce","transformKeySubmitValue","omitNil","onFinish","submitOnLoading","finalValues","error","console","log","deep","linkage","useLinkage","action","useAction","onReset","onFinishFailed","submitterProps","submitter","submitterColProps","readonly","gridSubmitter","isObject","colProps","span","submitterNode","undefined","submitButtonProps","resetButtonProps","disabled","dom","_createVNode","FormSubmitter","_mergeProps","teleport","Teleport","default","onMounted","getFieldsValue","_a","onInit","useProvideForm","theme","customUi","grid","readonlyProps","rowProps","gutter","xs","FormSlotsContextProvider","Form","style","Spin","showLoading","FormRowWrapper","FormItems","Col","FormItem"],"mappings":"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"}
@@ -268,7 +268,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
268
268
  validateTrigger: string | string[] | undefined;
269
269
  grid: boolean;
270
270
  dateFormatter: false | "string" | "number" | ((value: import("dayjs").Dayjs, fieldType: `${import("pro-design-vue").ProFieldType}`) => string | number) | undefined;
271
- submitter: false | import("pro-design-vue").SubmitterProps<Record<string, any>> | undefined;
271
+ submitter: false | import("pro-design-vue").SubmitterProps<import("pro-design-vue").Entity> | undefined;
272
272
  showLoading: boolean;
273
273
  submitOnLoading: boolean;
274
274
  gridSubmitter: boolean;
@@ -75,7 +75,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
75
75
  default: () => {};
76
76
  };
77
77
  }>> & Readonly<{}>, {
78
- title: import("pro-design-vue").ProVNode | ((formData: import("pro-design-vue").Entity) => import("pro-design-vue").ProVNode);
78
+ title: import("pro-design-vue").ProVNode | ((params: {
79
+ formData: import("pro-design-vue").Entity;
80
+ }) => import("pro-design-vue").ProVNode);
79
81
  items: ProFormItemType<import("pro-design-vue").Entity, "text" | "select" | "textarea" | "time" | "switch" | "formSet" | "formList" | "group" | "divider" | "digit" | "digitRange" | "treeSelect" | "cascader" | "password" | "checkbox" | "checkboxGroup" | "radioGroup" | "slider" | "rate" | "date" | "dateRange" | "timeRange" | "uploadButton" | "uploadDragger" | "uploadPicture" | "uploadPictureList" | "editor">[] | ((formData: import("pro-design-vue").Entity) => ProFormItemType<import("pro-design-vue").Entity, "text" | "select" | "textarea" | "time" | "switch" | "formSet" | "formList" | "group" | "divider" | "digit" | "digitRange" | "treeSelect" | "cascader" | "password" | "checkbox" | "checkboxGroup" | "radioGroup" | "slider" | "rate" | "date" | "dateRange" | "timeRange" | "uploadButton" | "uploadDragger" | "uploadPicture" | "uploadPictureList" | "editor">[]) | undefined;
80
82
  item: ProFormItemType;
81
83
  tooltip: string;
@@ -126,7 +126,7 @@ var FormItem = /* @__PURE__ */ defineComponent({
126
126
  disabled: ((_e = runFunction((_d = props.item.disabled) != null ? _d : baseProps == null ? void 0 : baseProps.disabled, formData.value, rowData == null ? void 0 : rowData.value)) != null ? _e : allDisabledKeys.value.includes(props.item.key)) ? true : void 0,
127
127
  placeholder: (_f = props.item.placeholder) != null ? _f : baseProps == null ? void 0 : baseProps.placeholder,
128
128
  options: (_h = (_g = props.item.options) != null ? _g : baseProps == null ? void 0 : baseProps.options) != null ? _h : baseProps == null ? void 0 : baseProps.treeData,
129
- allowClear: (_j = (_i = props.item.allowClear) != null ? _i : baseProps == null ? void 0 : baseProps.allowClear) != null ? _j : false
129
+ allowClear: (_j = (_i = props.item.allowClear) != null ? _i : baseProps == null ? void 0 : baseProps.allowClear) != null ? _j : true
130
130
  };
131
131
  return omitUndefined({
132
132
  valueEnum: props.item.valueEnum,
@@ -192,12 +192,14 @@ var FormItem = /* @__PURE__ */ defineComponent({
192
192
  }, [createVNode(FormTitle, {
193
193
  "title": props.item.title,
194
194
  "tooltip": props.item.tooltip
195
- }, null)]), createVNode(RenderVNode, {
195
+ }, null)]), createVNode("div", {
196
+ "class": `${prefixCls}-item-title-extra`
197
+ }, [createVNode(RenderVNode, {
196
198
  "vnode": extraRender,
197
199
  "props": {
198
200
  formData: formData.value
199
201
  }
200
- }, null)]);
202
+ }, null)])]);
201
203
  }
202
204
  return temp;
203
205
  });
@@ -244,20 +246,6 @@ var FormItem = /* @__PURE__ */ defineComponent({
244
246
  });
245
247
  return () => {
246
248
  var _a, _b;
247
- const render = getSlot(props.item.render, formSlotsContext);
248
- if (render) {
249
- return createVNode(FormColWrapper, {
250
- "colProps": props.item.colProps,
251
- "grid": mergeGrid.value
252
- }, {
253
- default: () => [createVNode(RenderVNode, {
254
- "vnode": render,
255
- "props": {
256
- formData: formData.value
257
- }
258
- }, null)]
259
- });
260
- }
261
249
  const renderFormItem = getSlot(props.item.renderFormItem, formSlotsContext);
262
250
  const extraRender = getSlot((_a = props.item.extra) == null ? void 0 : _a.item, formSlotsContext);
263
251
  const FieldComponent = (_b = fieldComponentMap[fieldType.value]) != null ? _b : fieldComponentMap["text"];
@@ -285,23 +273,33 @@ var FormItem = /* @__PURE__ */ defineComponent({
285
273
  if (extraRender) {
286
274
  defaultDom = createVNode("div", {
287
275
  "style": "display: flex; flex-direction: row; justify-content: flex-start; align-items: center;"
288
- }, [defaultDom, createVNode(RenderVNode, {
276
+ }, [defaultDom, createVNode("div", {
277
+ "style": "margin-inline-start: 5px; flex-shrink: 0;"
278
+ }, [createVNode(RenderVNode, {
289
279
  "vnode": extraRender,
290
280
  "props": {
291
281
  formData: formData.value,
292
282
  listName: listName == null ? void 0 : listName.value,
293
283
  name: props.item.name
294
284
  }
295
- }, null)]);
285
+ }, null)])]);
296
286
  }
287
+ const formItemDom = createVNode(Form.Item, restItemProps.value, {
288
+ default: () => [defaultDom],
289
+ ...slotsGetter.value
290
+ });
291
+ const render = getSlot(props.item.render, formSlotsContext);
297
292
  return createVNode(FormColWrapper, {
298
293
  "colProps": props.item.colProps,
299
294
  "grid": mergeGrid.value
300
295
  }, {
301
- default: () => [createVNode(Form.Item, restItemProps.value, {
302
- default: () => [defaultDom],
303
- ...slotsGetter.value
304
- })]
296
+ default: () => [render ? createVNode(RenderVNode, {
297
+ "vnode": render,
298
+ "props": {
299
+ formData: formData.value,
300
+ defaultDom: formItemDom
301
+ }
302
+ }, null) : formItemDom]
305
303
  });
306
304
  };
307
305
  }