pro-design-vue 1.0.0-rc.9 → 1.0.0

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 (232) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +375 -206
  3. package/dist/index.full.min.js +8 -8
  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 +375 -206
  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 +16 -11
  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/FormColWrapper.d.ts +9 -0
  16. package/es/components/form/src/components/FormColWrapper.mjs +9 -1
  17. package/es/components/form/src/components/FormColWrapper.mjs.map +1 -1
  18. package/es/components/form/src/components/FormGroup.d.ts +6 -4
  19. package/es/components/form/src/components/FormGroup.mjs +1 -1
  20. package/es/components/form/src/components/FormGroup.mjs.map +1 -1
  21. package/es/components/form/src/components/FormItem.d.ts +9 -0
  22. package/es/components/form/src/components/FormItem.mjs +32 -24
  23. package/es/components/form/src/components/FormItem.mjs.map +1 -1
  24. package/es/components/form/src/components/FormItems.mjs +2 -1
  25. package/es/components/form/src/components/FormItems.mjs.map +1 -1
  26. package/es/components/form/src/components/FormList.d.ts +6 -4
  27. package/es/components/form/src/components/FormList.mjs +1 -1
  28. package/es/components/form/src/components/FormList.mjs.map +1 -1
  29. package/es/components/form/src/components/FormListContainer.d.ts +6 -4
  30. package/es/components/form/src/components/FormListContainer.mjs +1 -1
  31. package/es/components/form/src/components/FormListContainer.mjs.map +1 -1
  32. package/es/components/form/src/components/FormSet.d.ts +6 -4
  33. package/es/components/form/src/components/FormSet.mjs +1 -1
  34. package/es/components/form/src/components/FormSet.mjs.map +1 -1
  35. package/es/components/form/src/components/FormSubmitter.d.ts +2 -2
  36. package/es/components/form/src/components/FormSubmitter.mjs +25 -7
  37. package/es/components/form/src/components/FormSubmitter.mjs.map +1 -1
  38. package/es/components/form/src/components/FormTitle.d.ts +6 -4
  39. package/es/components/form/src/components/FormTitle.mjs +11 -6
  40. package/es/components/form/src/components/FormTitle.mjs.map +1 -1
  41. package/es/components/form/src/hooks/useAction.d.ts +5 -3
  42. package/es/components/form/src/hooks/useAction.mjs +30 -11
  43. package/es/components/form/src/hooks/useAction.mjs.map +1 -1
  44. package/es/components/form/src/hooks/useFieldValue.d.ts +1 -1
  45. package/es/components/form/src/hooks/useFieldValue.mjs +11 -15
  46. package/es/components/form/src/hooks/useFieldValue.mjs.map +1 -1
  47. package/es/components/form/src/layouts/DrawerForm.d.ts +1 -1
  48. package/es/components/form/src/layouts/ModalForm.d.ts +1 -1
  49. package/es/components/form/src/layouts/QueryFilter.d.ts +1 -1
  50. package/es/components/form/src/layouts/QueryFilter.mjs +14 -4
  51. package/es/components/form/src/layouts/QueryFilter.mjs.map +1 -1
  52. package/es/components/form/src/layouts/StepsForm.d.ts +1 -1
  53. package/es/components/form/src/layouts/StepsForm.mjs +8 -8
  54. package/es/components/form/src/layouts/StepsForm.mjs.map +1 -1
  55. package/es/components/form/src/type.d.ts +24 -11
  56. package/es/components/form/src/utils/transformer.d.ts +3 -0
  57. package/es/components/form/src/utils/transformer.mjs +24 -0
  58. package/es/components/form/src/utils/transformer.mjs.map +1 -0
  59. package/es/components/modal/src/modal.vue2.mjs +1 -1
  60. package/es/components/modal/src/modal.vue2.mjs.map +1 -1
  61. package/es/components/table/src/components/Body/Body.vue.mjs.map +1 -1
  62. package/es/components/table/src/components/Body/Body.vue2.mjs +1 -2
  63. package/es/components/table/src/components/Body/Body.vue2.mjs.map +1 -1
  64. package/es/components/table/src/components/Body/BodyCell.mjs +2 -2
  65. package/es/components/table/src/components/Body/BodyCell.mjs.map +1 -1
  66. package/es/components/table/src/components/Body/BodyRow.vue.mjs.map +1 -1
  67. package/es/components/table/src/components/Body/BodyRow.vue2.mjs +3 -3
  68. package/es/components/table/src/components/Body/BodyRow.vue2.mjs.map +1 -1
  69. package/es/components/table/src/components/Drag/RowHandler.vue.mjs.map +1 -1
  70. package/es/components/table/src/components/Drag/RowHandler.vue2.mjs +17 -16
  71. package/es/components/table/src/components/Drag/RowHandler.vue2.mjs.map +1 -1
  72. package/es/components/table/src/components/Header/HeaderCellTitle.vue.mjs +19 -7
  73. package/es/components/table/src/components/Header/HeaderCellTitle.vue.mjs.map +1 -1
  74. package/es/components/table/src/components/Header/HeaderCellTitle.vue2.mjs +1 -0
  75. package/es/components/table/src/components/Header/HeaderCellTitle.vue2.mjs.map +1 -1
  76. package/es/components/table/src/components/Header/HeaderExtraCell.vue.mjs.map +1 -1
  77. package/es/components/table/src/components/Header/HeaderExtraCell.vue2.mjs +1 -0
  78. package/es/components/table/src/components/Header/HeaderExtraCell.vue2.mjs.map +1 -1
  79. package/es/components/table/src/components/InteralTable.vue.d.ts +21 -0
  80. package/es/components/table/src/components/InteralTable.vue.mjs.map +1 -1
  81. package/es/components/table/src/components/InteralTable.vue2.mjs +11 -5
  82. package/es/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
  83. package/es/components/table/src/components/Table.d.ts +25 -4
  84. package/es/components/table/src/components/Table.mjs +48 -14
  85. package/es/components/table/src/components/Table.mjs.map +1 -1
  86. package/es/components/table/src/components/ToolBar/ToolBar.vue.mjs +25 -6
  87. package/es/components/table/src/components/ToolBar/ToolBar.vue.mjs.map +1 -1
  88. package/es/components/table/src/components/ToolBar/ToolBar.vue2.mjs.map +1 -1
  89. package/es/components/table/src/components/interface.d.ts +33 -5
  90. package/es/components/table/src/components/interface.mjs +10 -1
  91. package/es/components/table/src/components/interface.mjs.map +1 -1
  92. package/es/components/table/src/hooks/useCellProps.mjs +3 -1
  93. package/es/components/table/src/hooks/useCellProps.mjs.map +1 -1
  94. package/es/components/table/src/hooks/useContainer.mjs +1 -1
  95. package/es/components/table/src/hooks/useContainer.mjs.map +1 -1
  96. package/es/components/table/src/hooks/useFetchData.mjs +13 -18
  97. package/es/components/table/src/hooks/useFetchData.mjs.map +1 -1
  98. package/es/components/table/src/hooks/useHover.d.ts +3 -0
  99. package/es/components/table/src/hooks/useHover.mjs +3 -1
  100. package/es/components/table/src/hooks/useHover.mjs.map +1 -1
  101. package/es/components/table/src/hooks/usePagination.d.ts +1 -0
  102. package/es/components/table/src/hooks/usePagination.mjs +7 -2
  103. package/es/components/table/src/hooks/usePagination.mjs.map +1 -1
  104. package/es/components/table/src/utils/genProColumnToColumn.mjs +5 -4
  105. package/es/components/table/src/utils/genProColumnToColumn.mjs.map +1 -1
  106. package/es/components/table/src/utils/util.d.ts +1 -1
  107. package/es/components/table/src/utils/util.mjs +1 -1
  108. package/es/components/table/src/utils/util.mjs.map +1 -1
  109. package/es/index.d.ts +65 -21
  110. package/es/utils/validate.d.ts +1 -1
  111. package/es/utils/validate.mjs +1 -1
  112. package/es/utils/validate.mjs.map +1 -1
  113. package/es/version.d.ts +1 -1
  114. package/es/version.mjs +1 -1
  115. package/es/version.mjs.map +1 -1
  116. package/lib/components/drawer/src/drawer.vue2.js +1 -1
  117. package/lib/components/drawer/src/drawer.vue2.js.map +1 -1
  118. package/lib/components/form/src/Form.d.ts +1 -1
  119. package/lib/components/form/src/base/BaseForm.d.ts +1 -1
  120. package/lib/components/form/src/base/BaseForm.js +14 -9
  121. package/lib/components/form/src/base/BaseForm.js.map +1 -1
  122. package/lib/components/form/src/base/StepForm.d.ts +1 -1
  123. package/lib/components/form/src/components/FormColWrapper.d.ts +9 -0
  124. package/lib/components/form/src/components/FormColWrapper.js +9 -1
  125. package/lib/components/form/src/components/FormColWrapper.js.map +1 -1
  126. package/lib/components/form/src/components/FormGroup.d.ts +6 -4
  127. package/lib/components/form/src/components/FormGroup.js +1 -1
  128. package/lib/components/form/src/components/FormGroup.js.map +1 -1
  129. package/lib/components/form/src/components/FormItem.d.ts +9 -0
  130. package/lib/components/form/src/components/FormItem.js +32 -24
  131. package/lib/components/form/src/components/FormItem.js.map +1 -1
  132. package/lib/components/form/src/components/FormItems.js +2 -1
  133. package/lib/components/form/src/components/FormItems.js.map +1 -1
  134. package/lib/components/form/src/components/FormList.d.ts +6 -4
  135. package/lib/components/form/src/components/FormList.js +1 -1
  136. package/lib/components/form/src/components/FormList.js.map +1 -1
  137. package/lib/components/form/src/components/FormListContainer.d.ts +6 -4
  138. package/lib/components/form/src/components/FormListContainer.js +1 -1
  139. package/lib/components/form/src/components/FormListContainer.js.map +1 -1
  140. package/lib/components/form/src/components/FormSet.d.ts +6 -4
  141. package/lib/components/form/src/components/FormSet.js +1 -1
  142. package/lib/components/form/src/components/FormSet.js.map +1 -1
  143. package/lib/components/form/src/components/FormSubmitter.d.ts +2 -2
  144. package/lib/components/form/src/components/FormSubmitter.js +25 -7
  145. package/lib/components/form/src/components/FormSubmitter.js.map +1 -1
  146. package/lib/components/form/src/components/FormTitle.d.ts +6 -4
  147. package/lib/components/form/src/components/FormTitle.js +11 -6
  148. package/lib/components/form/src/components/FormTitle.js.map +1 -1
  149. package/lib/components/form/src/hooks/useAction.d.ts +5 -3
  150. package/lib/components/form/src/hooks/useAction.js +29 -9
  151. package/lib/components/form/src/hooks/useAction.js.map +1 -1
  152. package/lib/components/form/src/hooks/useFieldValue.d.ts +1 -1
  153. package/lib/components/form/src/hooks/useFieldValue.js +11 -15
  154. package/lib/components/form/src/hooks/useFieldValue.js.map +1 -1
  155. package/lib/components/form/src/layouts/DrawerForm.d.ts +1 -1
  156. package/lib/components/form/src/layouts/ModalForm.d.ts +1 -1
  157. package/lib/components/form/src/layouts/QueryFilter.d.ts +1 -1
  158. package/lib/components/form/src/layouts/QueryFilter.js +14 -4
  159. package/lib/components/form/src/layouts/QueryFilter.js.map +1 -1
  160. package/lib/components/form/src/layouts/StepsForm.d.ts +1 -1
  161. package/lib/components/form/src/layouts/StepsForm.js +8 -8
  162. package/lib/components/form/src/layouts/StepsForm.js.map +1 -1
  163. package/lib/components/form/src/type.d.ts +24 -11
  164. package/lib/components/form/src/utils/transformer.d.ts +3 -0
  165. package/lib/components/form/src/utils/transformer.js +28 -0
  166. package/lib/components/form/src/utils/transformer.js.map +1 -0
  167. package/lib/components/modal/src/modal.vue2.js +1 -1
  168. package/lib/components/modal/src/modal.vue2.js.map +1 -1
  169. package/lib/components/table/src/components/Body/Body.vue.js.map +1 -1
  170. package/lib/components/table/src/components/Body/Body.vue2.js +1 -2
  171. package/lib/components/table/src/components/Body/Body.vue2.js.map +1 -1
  172. package/lib/components/table/src/components/Body/BodyCell.js +2 -2
  173. package/lib/components/table/src/components/Body/BodyCell.js.map +1 -1
  174. package/lib/components/table/src/components/Body/BodyRow.vue.js.map +1 -1
  175. package/lib/components/table/src/components/Body/BodyRow.vue2.js +3 -3
  176. package/lib/components/table/src/components/Body/BodyRow.vue2.js.map +1 -1
  177. package/lib/components/table/src/components/Drag/RowHandler.vue.js.map +1 -1
  178. package/lib/components/table/src/components/Drag/RowHandler.vue2.js +17 -16
  179. package/lib/components/table/src/components/Drag/RowHandler.vue2.js.map +1 -1
  180. package/lib/components/table/src/components/Header/HeaderCellTitle.vue.js +18 -6
  181. package/lib/components/table/src/components/Header/HeaderCellTitle.vue.js.map +1 -1
  182. package/lib/components/table/src/components/Header/HeaderCellTitle.vue2.js +1 -0
  183. package/lib/components/table/src/components/Header/HeaderCellTitle.vue2.js.map +1 -1
  184. package/lib/components/table/src/components/Header/HeaderExtraCell.vue.js.map +1 -1
  185. package/lib/components/table/src/components/Header/HeaderExtraCell.vue2.js +1 -0
  186. package/lib/components/table/src/components/Header/HeaderExtraCell.vue2.js.map +1 -1
  187. package/lib/components/table/src/components/InteralTable.vue.d.ts +21 -0
  188. package/lib/components/table/src/components/InteralTable.vue.js.map +1 -1
  189. package/lib/components/table/src/components/InteralTable.vue2.js +12 -6
  190. package/lib/components/table/src/components/InteralTable.vue2.js.map +1 -1
  191. package/lib/components/table/src/components/Table.d.ts +25 -4
  192. package/lib/components/table/src/components/Table.js +47 -13
  193. package/lib/components/table/src/components/Table.js.map +1 -1
  194. package/lib/components/table/src/components/ToolBar/ToolBar.vue.js +24 -5
  195. package/lib/components/table/src/components/ToolBar/ToolBar.vue.js.map +1 -1
  196. package/lib/components/table/src/components/ToolBar/ToolBar.vue2.js.map +1 -1
  197. package/lib/components/table/src/components/interface.d.ts +33 -5
  198. package/lib/components/table/src/components/interface.js +10 -1
  199. package/lib/components/table/src/components/interface.js.map +1 -1
  200. package/lib/components/table/src/hooks/useCellProps.js +3 -1
  201. package/lib/components/table/src/hooks/useCellProps.js.map +1 -1
  202. package/lib/components/table/src/hooks/useContainer.js +1 -1
  203. package/lib/components/table/src/hooks/useContainer.js.map +1 -1
  204. package/lib/components/table/src/hooks/useFetchData.js +13 -18
  205. package/lib/components/table/src/hooks/useFetchData.js.map +1 -1
  206. package/lib/components/table/src/hooks/useHover.d.ts +3 -0
  207. package/lib/components/table/src/hooks/useHover.js +2 -0
  208. package/lib/components/table/src/hooks/useHover.js.map +1 -1
  209. package/lib/components/table/src/hooks/usePagination.d.ts +1 -0
  210. package/lib/components/table/src/hooks/usePagination.js +7 -1
  211. package/lib/components/table/src/hooks/usePagination.js.map +1 -1
  212. package/lib/components/table/src/utils/genProColumnToColumn.js +5 -4
  213. package/lib/components/table/src/utils/genProColumnToColumn.js.map +1 -1
  214. package/lib/components/table/src/utils/util.d.ts +1 -1
  215. package/lib/components/table/src/utils/util.js +1 -1
  216. package/lib/components/table/src/utils/util.js.map +1 -1
  217. package/lib/index.d.ts +65 -21
  218. package/lib/utils/validate.d.ts +1 -1
  219. package/lib/utils/validate.js +1 -1
  220. package/lib/utils/validate.js.map +1 -1
  221. package/lib/version.d.ts +1 -1
  222. package/lib/version.js +1 -1
  223. package/lib/version.js.map +1 -1
  224. package/package.json +1 -1
  225. package/theme-chalk/css-var.css +1 -1
  226. package/theme-chalk/index.css +1 -1
  227. package/theme-chalk/pro-form.css +1 -1
  228. package/theme-chalk/src/css-var.less +154 -677
  229. package/theme-chalk/src/form.less +5 -0
  230. package/theme-chalk/src/table/alert.less +1 -0
  231. package/theme-chalk/src/table/table.less +3 -3
  232. package/theme-chalk/src/common/css-var.less +0 -914
@@ -154,7 +154,7 @@ var QueryFilter = /* @__PURE__ */ vue.defineComponent({
154
154
  }
155
155
  return void 0;
156
156
  });
157
- const [collapsed, setCollapsed] = index$1.useMergedState(() => props.defaultCollapsed, {
157
+ const [collapsed, setCollapsed] = index$1.useMergedState(() => props.defaultCollapsed && props.submitter !== false, {
158
158
  value: vue.computed(() => props.collapsed),
159
159
  onChange: (val) => {
160
160
  emit("collapse", val);
@@ -225,7 +225,7 @@ var QueryFilter = /* @__PURE__ */ vue.defineComponent({
225
225
  firstRowFull = colSpan === 24 && !item.hidden;
226
226
  }
227
227
  const hidden = item.hidden || // 如果收起了
228
- props.submitter !== false && collapsed.value && (firstRowFull || // 如果 超过显示长度 且 总长度超过了 24
228
+ collapsed.value && (firstRowFull || // 如果 超过显示长度 且 总长度超过了 24
229
229
  totalSize.value > showLength.value) && !!index;
230
230
  if (hidden) {
231
231
  if (!props.preserve) {
@@ -253,7 +253,10 @@ var QueryFilter = /* @__PURE__ */ vue.defineComponent({
253
253
  return {
254
254
  ...item,
255
255
  hidden,
256
- formItemProps: formItemFixStyle.value,
256
+ formItemProps: {
257
+ ...item.title ? formItemFixStyle.value : {},
258
+ ...item.formItemProps
259
+ },
257
260
  colProps: {
258
261
  span: colSpan
259
262
  }
@@ -297,9 +300,16 @@ var QueryFilter = /* @__PURE__ */ vue.defineComponent({
297
300
  }), {
298
301
  ...slots,
299
302
  submitter: ({
303
+ props: props2,
304
+ action,
300
305
  defaultDoms
301
306
  }) => {
302
- return vue.createVNode(vue.Fragment, null, [defaultDoms, needCollapse.value !== false && vue.createVNode("a", {
307
+ var _a2;
308
+ return vue.createVNode(vue.Fragment, null, [slots.submitter ? (_a2 = slots.submitter) == null ? void 0 : _a2.call(slots, {
309
+ props: props2,
310
+ action,
311
+ defaultDoms
312
+ }) : defaultDoms, needCollapse.value !== false && vue.createVNode("a", {
303
313
  "class": `${prefixCls}-collapse-button`,
304
314
  "onClick": () => setCollapsed(!collapsed.value)
305
315
  }, [collapsed.value ? intl.getMessage("form.collapsed", "\u5C55\u5F00") : intl.getMessage("form.expand", "\u6536\u8D77"), !!hiddenNum.value && `(${hiddenNum.value})`, vue.createVNode(Icon.DownOutlined, {
@@ -1 +1 @@
1
- {"version":3,"file":"QueryFilter.js","sources":["../../../../../../../packages/components/form/src/layouts/QueryFilter.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-28 13:01:45\n * @LastEditors: shen\n * @LastEditTime: 2025-09-21 23:26:49\n * @Description:\n */\nimport { ref, computed, defineComponent, watch, useTemplateRef } from 'vue'\nimport { queryFilterProps } from '../props'\nimport { useMergedState, usePrefixCls } from '@pro-design-vue/hooks'\nimport { isBrowser, merge, omit, omitUndefined } from '@pro-design-vue/utils'\nimport { ProFieldType } from '../fieldType'\nimport { DownOutlined } from '@ant-design/icons-vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { useFormExpose } from '../hooks/useFormExpose'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport BaseForm from '../base/BaseForm'\n\nimport type { ProFormActionType, ProFormItemType, SpanConfig } from '../type'\nimport type { FormItemProps, FormProps } from 'ant-design-vue'\n\nconst CONFIG_SPAN_BREAKPOINTS = {\n xs: 513,\n sm: 513,\n md: 785,\n lg: 992,\n xl: 1057,\n xxl: Infinity,\n}\n/** 配置表单列变化的容器宽度断点 */\nconst BREAKPOINTS = {\n vertical: [\n // [breakpoint, cols, layout]\n [513, 1, 'vertical'],\n [785, 2, 'vertical'],\n [1057, 3, 'vertical'],\n [Infinity, 4, 'vertical'],\n ],\n default: [\n [513, 1, 'vertical'],\n [701, 2, 'vertical'],\n [1062, 3, 'horizontal'],\n [1352, 3, 'horizontal'],\n [Infinity, 4, 'horizontal'],\n ],\n}\n\n/**\n * 合并用户和默认的配置\n *\n * @param layout\n * @param width\n */\nconst getSpanConfig = (\n layout: FormProps['layout'] = 'horizontal',\n width: number,\n span?: SpanConfig,\n): { span: number; layout: FormProps['layout'] } => {\n if (span && typeof span === 'number') {\n return {\n span,\n layout,\n }\n }\n\n const spanConfig: (string | number)[][] = span\n ? ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].map((key) => [\n CONFIG_SPAN_BREAKPOINTS[key as 'xs'],\n 24 / (span as any)[key as 'sm'],\n 'horizontal',\n ])\n : BREAKPOINTS[(layout as 'default') || 'default']\n const breakPoint = (spanConfig || BREAKPOINTS.default).find(\n (item) => width < (item[0] as number) + 16, // 16 = 2 * (ant-row -8px margin)\n )\n if (!breakPoint) {\n return {\n span: 8,\n layout: 'horizontal',\n }\n }\n return {\n span: 24 / (breakPoint[1] as number),\n layout: breakPoint?.[2] as 'horizontal',\n }\n}\n\nconst flatMapItems = (items: ProFormItemType[], ignoreRules?: boolean): ProFormItemType[] => {\n return items?.flatMap((item: any) => {\n if (item.fieldType === ProFieldType.GROUP && !item.title) {\n return item.props.children\n }\n if (ignoreRules) {\n return {\n ...item,\n rules: [],\n formItemProps: {\n ...item.formItemProps,\n rules: [],\n },\n }\n }\n return item\n })\n}\n\nconst defaultWidth = isBrowser() ? document?.body?.clientWidth : 1024\nexport default defineComponent({\n name: 'ProQueryFilter',\n inheritAttrs: false,\n props: {\n ...queryFilterProps(),\n },\n emits: ['collapse', 'resize'],\n setup(props, { slots, emit, expose, attrs }) {\n // totalSpan 统计控件占的位置,计算 offset 保证查询按钮在最后一列\n const totalSpan = ref(0)\n // totalSize 统计控件占的份数\n const totalSize = ref(0)\n // for split compute\n const currentSpan = ref(0)\n const intl = useIntl()\n const prefixCls = usePrefixCls('query-filter')\n const wrapEl = useTemplateRef<HTMLDivElement>('wrapper')\n const formRef = ref<InstanceType<typeof BaseForm> & ProFormActionType>()\n const processedList = ref<ProFormItemType[]>([])\n const [width, setWidth] = useMergedState(defaultWidth)\n const formExpose = useFormExpose(formRef)\n useResizeObserver(wrapEl, (entries) => {\n const entry = entries[0]\n const { width: newWidth, height } = entry?.contentRect || ({} as DOMRectReadOnly)\n if (width.value !== newWidth && newWidth > 17) {\n setWidth(newWidth)\n }\n emit('resize', newWidth, height)\n })\n\n const spanSize = computed(() => getSpanConfig(props.layout, width.value + 16, props.span))\n\n const showLength = computed(() => {\n if (props.defaultFormItemsNumber !== undefined) {\n return props.defaultFormItemsNumber\n }\n if (props.defaultColsNumber !== undefined) {\n const oneRowControlsNumber = 24 / spanSize.value.span - 1\n return props.defaultColsNumber > oneRowControlsNumber\n ? oneRowControlsNumber\n : props.defaultColsNumber\n }\n return Math.max(1, 24 / spanSize.value.span - 1)\n })\n\n const hiddenNum = computed(\n () => props.showHiddenNum && processedList.value.filter((item) => item.hidden).length,\n )\n\n const needCollapse = computed(() => {\n if (totalSpan.value < 24 || totalSize.value <= showLength.value) {\n return false\n }\n return true\n })\n\n const offset = computed(() => {\n const offsetSpan = (currentSpan.value % 24) + spanSize.value.span\n if (offsetSpan > 24) {\n return 24 - spanSize.value.span\n }\n return 24 - offsetSpan\n })\n\n /** 计算最大宽度防止溢出换行 */\n const formItemFixStyle = computed<FormItemProps | undefined>(() => {\n if (props.labelWidth && spanSize.value.layout !== 'vertical' && props.labelWidth !== 'auto') {\n return {\n labelCol: {\n flex: `0 0 ${props.labelWidth}px`,\n },\n wrapperCol: {\n style: {\n maxWidth: `calc(100% - ${props.labelWidth}px)`,\n },\n },\n style: {\n flexWrap: 'nowrap',\n },\n }\n }\n return undefined\n })\n\n const [collapsed, setCollapsed] = useMergedState<boolean | undefined>(\n () => props.defaultCollapsed,\n {\n value: computed(() => props.collapsed),\n onChange: (val) => {\n emit('collapse', val)\n },\n },\n )\n\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'defaultCollapsed',\n 'collapsed',\n 'grid',\n 'showLoading',\n 'defaultColsNumber',\n 'searchGutter',\n // 'onFinish',\n 'submitOnLoading',\n 'preserve',\n 'submitter',\n 'ignoreRules',\n 'searchText',\n 'resetText',\n 'labelWidth',\n 'layout',\n 'items',\n 'gridSubmitter',\n 'rowProps',\n 'defaultFormItemsNumber',\n 'showHiddenNum',\n 'ignoreRules',\n 'onCollapse',\n 'onReset',\n ]),\n ),\n }\n })\n\n const submitterConfig = computed(() => {\n if (props.submitter === false) {\n return false\n }\n\n return merge(\n {\n style: {\n justifyContent: 'flex-end',\n },\n reverse: true,\n searchConfig: {\n submitText: props.searchText || intl.getMessage('form.search', '搜索'),\n resetText: props.resetText || intl.getMessage('form.reset', '重置'),\n },\n colProps: {\n span: spanSize.value.span,\n offset: offset.value,\n },\n },\n props.submitter,\n )\n })\n\n watch(\n [spanSize, collapsed, () => props.items],\n () => {\n let firstRowFull = false\n currentSpan.value = 0\n totalSize.value = 0\n totalSpan.value = 0\n if (props.items?.length) {\n processedList.value = flatMapItems(props.items, props.ignoreRules).map((item, index) => {\n // 如果 formItem 自己配置了 hidden,默认使用它自己的\n const colSize = item.colSize ?? 1\n const colSpan = Math.min(spanSize.value.span * (colSize || 1), 24)\n // 计算总的 totalSpan 长度\n totalSpan.value += colSpan\n // 计算总的 colSize 长度\n totalSize.value += colSize\n\n if (index === 0) {\n firstRowFull = colSpan === 24 && !item.hidden\n }\n\n const hidden: boolean | undefined =\n item.hidden ||\n // 如果收起了\n (props.submitter !== false &&\n collapsed.value &&\n (firstRowFull ||\n // 如果 超过显示长度 且 总长度超过了 24\n totalSize.value > showLength.value) &&\n !!index)\n\n if (hidden) {\n if (!props.preserve) {\n return {\n ...item,\n colProps: { span: 0 },\n hidden: true,\n }\n }\n return {\n ...item,\n colProps: { span: colSpan },\n hidden: true,\n }\n }\n\n if (24 - (currentSpan.value % 24) < colSpan) {\n // 如果当前行空余位置放不下,那么折行\n totalSpan.value += 24 - (currentSpan.value % 24)\n currentSpan.value += 24 - (currentSpan.value % 24)\n }\n\n currentSpan.value += colSpan\n return {\n ...item,\n hidden,\n formItemProps: formItemFixStyle.value,\n colProps: {\n span: colSpan,\n },\n }\n })\n } else {\n processedList.value = []\n }\n },\n {\n immediate: true,\n },\n )\n\n expose({\n formRef,\n ...formExpose,\n })\n\n return () => (\n <div class={`${prefixCls}-wrap`} ref=\"wrapper\" {...attrs}>\n <BaseForm\n ref={formRef}\n class={prefixCls}\n {...formProps.value}\n grid\n gridSubmitter\n rowProps={{\n gutter: props.searchGutter,\n justify: 'start',\n class: `${prefixCls}-row`,\n }}\n showLoading={false}\n submitter={submitterConfig.value}\n items={processedList.value}\n layout={spanSize.value.layout}\n v-slots={{\n ...slots,\n submitter: ({ defaultDoms }) => {\n return (\n <>\n {defaultDoms}\n {needCollapse.value !== false && (\n <a\n class={`${prefixCls}-collapse-button`}\n onClick={() => setCollapsed(!collapsed.value)}\n >\n {collapsed.value\n ? intl.getMessage('form.collapsed', '展开')\n : intl.getMessage('form.expand', '收起')}\n {!!hiddenNum.value && `(${hiddenNum.value})`}\n <DownOutlined\n style={{\n marginInlineStart: '0.5em',\n transition: '0.3s all',\n transform: `rotate(${collapsed.value ? 0 : 0.5}turn)`,\n }}\n />\n </a>\n )}\n </>\n )\n },\n }}\n onReset={(values) => {\n if (props.resetOnSubmit) {\n formRef.value?.submit()\n }\n props.onReset?.(values)\n }}\n />\n </div>\n )\n },\n})\n"],"names":["CONFIG_SPAN_BREAKPOINTS","xs","sm","md","lg","xl","xxl","Infinity","BREAKPOINTS","vertical","default","getSpanConfig","layout","width","span","spanConfig","map","key","breakPoint","find","item","flatMapItems","items","ignoreRules","flatMap","fieldType","ProFieldType","GROUP","title","props","children","rules","formItemProps","defaultWidth","isBrowser","document","body","clientWidth","name","inheritAttrs","queryFilterProps","emits","setup","slots","emit","expose","attrs","totalSpan","ref","totalSize","currentSpan","intl","useIntl","prefixCls","usePrefixCls","wrapEl","useTemplateRef","formRef","processedList","setWidth","useMergedState","formExpose","useFormExpose","useResizeObserver","entries","entry","newWidth","height","contentRect","value","spanSize","computed","showLength","defaultFormItemsNumber","undefined","defaultColsNumber","oneRowControlsNumber","Math","max","hiddenNum","showHiddenNum","filter","hidden","length","needCollapse","offset","offsetSpan","formItemFixStyle","labelWidth","labelCol","flex","wrapperCol","style","maxWidth","flexWrap","collapsed","setCollapsed","defaultCollapsed","onChange","val","formProps","omitUndefined","omit","submitterConfig","submitter","merge","justifyContent","reverse","searchConfig","submitText","searchText","getMessage","resetText","colProps","watch","_a","firstRowFull","index","colSize","colSpan","min","preserve","immediate","_createVNode","_mergeProps","BaseForm","gutter","searchGutter","justify","class","values","resetOnSubmit","submit","onReset","defaultDoms","_Fragment","onClick","DownOutlined","marginInlineStart","transition","transform"],"mappings":"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"}
1
+ {"version":3,"file":"QueryFilter.js","sources":["../../../../../../../packages/components/form/src/layouts/QueryFilter.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-28 13:01:45\n * @LastEditors: shen\n * @LastEditTime: 2025-09-29 16:02:47\n * @Description:\n */\nimport { ref, computed, defineComponent, watch, useTemplateRef } from 'vue'\nimport { queryFilterProps } from '../props'\nimport { useMergedState, usePrefixCls } from '@pro-design-vue/hooks'\nimport { isBrowser, merge, omit, omitUndefined } from '@pro-design-vue/utils'\nimport { ProFieldType } from '../fieldType'\nimport { DownOutlined } from '@ant-design/icons-vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { useFormExpose } from '../hooks/useFormExpose'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport BaseForm from '../base/BaseForm'\n\nimport type { ProFormActionType, ProFormItemType, SpanConfig } from '../type'\nimport type { FormItemProps, FormProps } from 'ant-design-vue'\n\nconst CONFIG_SPAN_BREAKPOINTS = {\n xs: 513,\n sm: 513,\n md: 785,\n lg: 992,\n xl: 1057,\n xxl: Infinity,\n}\n/** 配置表单列变化的容器宽度断点 */\nconst BREAKPOINTS = {\n vertical: [\n // [breakpoint, cols, layout]\n [513, 1, 'vertical'],\n [785, 2, 'vertical'],\n [1057, 3, 'vertical'],\n [Infinity, 4, 'vertical'],\n ],\n default: [\n [513, 1, 'vertical'],\n [701, 2, 'vertical'],\n [1062, 3, 'horizontal'],\n [1352, 3, 'horizontal'],\n [Infinity, 4, 'horizontal'],\n ],\n}\n\n/**\n * 合并用户和默认的配置\n *\n * @param layout\n * @param width\n */\nconst getSpanConfig = (\n layout: FormProps['layout'] = 'horizontal',\n width: number,\n span?: SpanConfig,\n): { span: number; layout: FormProps['layout'] } => {\n if (span && typeof span === 'number') {\n return {\n span,\n layout,\n }\n }\n\n const spanConfig: (string | number)[][] = span\n ? ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].map((key) => [\n CONFIG_SPAN_BREAKPOINTS[key as 'xs'],\n 24 / (span as any)[key as 'sm'],\n 'horizontal',\n ])\n : BREAKPOINTS[(layout as 'default') || 'default']\n const breakPoint = (spanConfig || BREAKPOINTS.default).find(\n (item) => width < (item[0] as number) + 16, // 16 = 2 * (ant-row -8px margin)\n )\n if (!breakPoint) {\n return {\n span: 8,\n layout: 'horizontal',\n }\n }\n return {\n span: 24 / (breakPoint[1] as number),\n layout: breakPoint?.[2] as 'horizontal',\n }\n}\n\nconst flatMapItems = (items: ProFormItemType[], ignoreRules?: boolean): ProFormItemType[] => {\n return items?.flatMap((item: any) => {\n if (item.fieldType === ProFieldType.GROUP && !item.title) {\n return item.props.children\n }\n if (ignoreRules) {\n return {\n ...item,\n rules: [],\n formItemProps: {\n ...item.formItemProps,\n rules: [],\n },\n }\n }\n return item\n })\n}\n\nconst defaultWidth = isBrowser() ? document?.body?.clientWidth : 1024\nexport default defineComponent({\n name: 'ProQueryFilter',\n inheritAttrs: false,\n props: {\n ...queryFilterProps(),\n },\n emits: ['collapse', 'resize'],\n setup(props, { slots, emit, expose, attrs }) {\n // totalSpan 统计控件占的位置,计算 offset 保证查询按钮在最后一列\n const totalSpan = ref(0)\n // totalSize 统计控件占的份数\n const totalSize = ref(0)\n // for split compute\n const currentSpan = ref(0)\n const intl = useIntl()\n const prefixCls = usePrefixCls('query-filter')\n const wrapEl = useTemplateRef<HTMLDivElement>('wrapper')\n const formRef = ref<InstanceType<typeof BaseForm> & ProFormActionType>()\n const processedList = ref<ProFormItemType[]>([])\n const [width, setWidth] = useMergedState(defaultWidth)\n const formExpose = useFormExpose(formRef)\n useResizeObserver(wrapEl, (entries) => {\n const entry = entries[0]\n const { width: newWidth, height } = entry?.contentRect || ({} as DOMRectReadOnly)\n if (width.value !== newWidth && newWidth > 17) {\n setWidth(newWidth)\n }\n emit('resize', newWidth, height)\n })\n\n const spanSize = computed(() => getSpanConfig(props.layout, width.value + 16, props.span))\n\n const showLength = computed(() => {\n if (props.defaultFormItemsNumber !== undefined) {\n return props.defaultFormItemsNumber\n }\n if (props.defaultColsNumber !== undefined) {\n const oneRowControlsNumber = 24 / spanSize.value.span - 1\n return props.defaultColsNumber > oneRowControlsNumber\n ? oneRowControlsNumber\n : props.defaultColsNumber\n }\n return Math.max(1, 24 / spanSize.value.span - 1)\n })\n\n const hiddenNum = computed(\n () => props.showHiddenNum && processedList.value.filter((item) => item.hidden).length,\n )\n\n const needCollapse = computed(() => {\n if (totalSpan.value < 24 || totalSize.value <= showLength.value) {\n return false\n }\n return true\n })\n\n const offset = computed(() => {\n const offsetSpan = (currentSpan.value % 24) + spanSize.value.span\n if (offsetSpan > 24) {\n return 24 - spanSize.value.span\n }\n return 24 - offsetSpan\n })\n\n /** 计算最大宽度防止溢出换行 */\n const formItemFixStyle = computed<FormItemProps | undefined>(() => {\n if (props.labelWidth && spanSize.value.layout !== 'vertical' && props.labelWidth !== 'auto') {\n return {\n labelCol: {\n flex: `0 0 ${props.labelWidth}px`,\n },\n wrapperCol: {\n style: {\n maxWidth: `calc(100% - ${props.labelWidth}px)`,\n },\n },\n style: {\n flexWrap: 'nowrap',\n },\n }\n }\n return undefined\n })\n const [collapsed, setCollapsed] = useMergedState<boolean | undefined>(\n () => props.defaultCollapsed && props.submitter !== false,\n {\n value: computed(() => props.collapsed),\n onChange: (val) => {\n emit('collapse', val)\n },\n },\n )\n\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'defaultCollapsed',\n 'collapsed',\n 'grid',\n 'showLoading',\n 'defaultColsNumber',\n 'searchGutter',\n // 'onFinish',\n 'submitOnLoading',\n 'preserve',\n 'submitter',\n 'ignoreRules',\n 'searchText',\n 'resetText',\n 'labelWidth',\n 'layout',\n 'items',\n 'gridSubmitter',\n 'rowProps',\n 'defaultFormItemsNumber',\n 'showHiddenNum',\n 'ignoreRules',\n 'onCollapse',\n 'onReset',\n ]),\n ),\n }\n })\n\n const submitterConfig = computed(() => {\n if (props.submitter === false) {\n return false\n }\n\n return merge(\n {\n style: {\n justifyContent: 'flex-end',\n },\n reverse: true,\n searchConfig: {\n submitText: props.searchText || intl.getMessage('form.search', '搜索'),\n resetText: props.resetText || intl.getMessage('form.reset', '重置'),\n },\n colProps: {\n span: spanSize.value.span,\n offset: offset.value,\n },\n },\n props.submitter,\n )\n })\n\n watch(\n [spanSize, collapsed, () => props.items],\n () => {\n let firstRowFull = false\n currentSpan.value = 0\n totalSize.value = 0\n totalSpan.value = 0\n if (props.items?.length) {\n processedList.value = flatMapItems(props.items, props.ignoreRules).map((item, index) => {\n // 如果 formItem 自己配置了 hidden,默认使用它自己的\n const colSize = item.colSize ?? 1\n const colSpan = Math.min(spanSize.value.span * (colSize || 1), 24)\n // 计算总的 totalSpan 长度\n totalSpan.value += colSpan\n // 计算总的 colSize 长度\n totalSize.value += colSize\n\n if (index === 0) {\n firstRowFull = colSpan === 24 && !item.hidden\n }\n\n const hidden: boolean | undefined =\n item.hidden ||\n // 如果收起了\n\n (collapsed.value &&\n (firstRowFull ||\n // 如果 超过显示长度 且 总长度超过了 24\n totalSize.value > showLength.value) &&\n !!index)\n\n if (hidden) {\n if (!props.preserve) {\n return {\n ...item,\n colProps: { span: 0 },\n hidden: true,\n }\n }\n return {\n ...item,\n colProps: { span: colSpan },\n hidden: true,\n }\n }\n\n if (24 - (currentSpan.value % 24) < colSpan) {\n // 如果当前行空余位置放不下,那么折行\n totalSpan.value += 24 - (currentSpan.value % 24)\n currentSpan.value += 24 - (currentSpan.value % 24)\n }\n\n currentSpan.value += colSpan\n return {\n ...item,\n hidden,\n formItemProps: {\n ...(item.title ? formItemFixStyle.value : {}),\n ...item.formItemProps,\n },\n colProps: {\n span: colSpan,\n },\n }\n })\n } else {\n processedList.value = []\n }\n },\n {\n immediate: true,\n },\n )\n\n expose({\n formRef,\n ...formExpose,\n })\n\n return () => (\n <div class={`${prefixCls}-wrap`} ref=\"wrapper\" {...attrs}>\n <BaseForm\n ref={formRef}\n class={prefixCls}\n {...formProps.value}\n grid\n gridSubmitter\n rowProps={{\n gutter: props.searchGutter,\n justify: 'start',\n class: `${prefixCls}-row`,\n }}\n showLoading={false}\n submitter={submitterConfig.value}\n items={processedList.value}\n layout={spanSize.value.layout}\n v-slots={{\n ...slots,\n submitter: ({ props, action, defaultDoms }) => {\n return (\n <>\n {slots.submitter\n ? slots.submitter?.({ props, action, defaultDoms })\n : defaultDoms}\n {needCollapse.value !== false && (\n <a\n class={`${prefixCls}-collapse-button`}\n onClick={() => setCollapsed(!collapsed.value)}\n >\n {collapsed.value\n ? intl.getMessage('form.collapsed', '展开')\n : intl.getMessage('form.expand', '收起')}\n {!!hiddenNum.value && `(${hiddenNum.value})`}\n <DownOutlined\n style={{\n marginInlineStart: '0.5em',\n transition: '0.3s all',\n transform: `rotate(${collapsed.value ? 0 : 0.5}turn)`,\n }}\n />\n </a>\n )}\n </>\n )\n },\n }}\n onReset={(values) => {\n if (props.resetOnSubmit) {\n formRef.value?.submit()\n }\n props.onReset?.(values)\n }}\n />\n </div>\n )\n },\n})\n"],"names":["CONFIG_SPAN_BREAKPOINTS","xs","sm","md","lg","xl","xxl","Infinity","BREAKPOINTS","vertical","default","getSpanConfig","layout","width","span","spanConfig","map","key","breakPoint","find","item","flatMapItems","items","ignoreRules","flatMap","fieldType","ProFieldType","GROUP","title","props","children","rules","formItemProps","defaultWidth","isBrowser","document","body","clientWidth","name","inheritAttrs","queryFilterProps","emits","setup","slots","emit","expose","attrs","totalSpan","ref","totalSize","currentSpan","intl","useIntl","prefixCls","usePrefixCls","wrapEl","useTemplateRef","formRef","processedList","setWidth","useMergedState","formExpose","useFormExpose","useResizeObserver","entries","entry","newWidth","height","contentRect","value","spanSize","computed","showLength","defaultFormItemsNumber","undefined","defaultColsNumber","oneRowControlsNumber","Math","max","hiddenNum","showHiddenNum","filter","hidden","length","needCollapse","offset","offsetSpan","formItemFixStyle","labelWidth","labelCol","flex","wrapperCol","style","maxWidth","flexWrap","collapsed","setCollapsed","defaultCollapsed","submitter","onChange","val","formProps","omitUndefined","omit","submitterConfig","merge","justifyContent","reverse","searchConfig","submitText","searchText","getMessage","resetText","colProps","watch","_a","firstRowFull","index","colSize","colSpan","min","preserve","immediate","_createVNode","_mergeProps","BaseForm","gutter","searchGutter","justify","class","values","resetOnSubmit","submit","onReset","action","defaultDoms","_Fragment","onClick","DownOutlined","marginInlineStart","transition","transform"],"mappings":"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"}
@@ -308,7 +308,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
308
308
  validateTrigger: string | string[] | undefined;
309
309
  grid: boolean;
310
310
  dateFormatter: false | "string" | "number" | ((value: import("dayjs").Dayjs, fieldType: `${import("pro-design-vue").ProFieldType}`) => string | number) | undefined;
311
- submitter: false | import("pro-design-vue").SubmitterProps<Record<string, any>> | undefined;
311
+ submitter: false | import("pro-design-vue").SubmitterProps<import("pro-design-vue").Entity> | undefined;
312
312
  showLoading: boolean;
313
313
  submitOnLoading: boolean;
314
314
  gridSubmitter: boolean;
@@ -98,7 +98,8 @@ var StepsForm = /* @__PURE__ */ vue.defineComponent({
98
98
  },
99
99
  emits: [],
100
100
  setup(props, {
101
- slots
101
+ slots,
102
+ expose
102
103
  }) {
103
104
  const intl = useIntl.useIntl();
104
105
  const prefixCls = index.usePrefixCls("steps-form");
@@ -115,7 +116,7 @@ var StepsForm = /* @__PURE__ */ vue.defineComponent({
115
116
  onChange: props.onCurrentChange
116
117
  });
117
118
  const regForm = (formRef, index) => {
118
- formArrayRef.value[index] = formRef;
119
+ formArrayRef.value[index] = formRef.value;
119
120
  };
120
121
  const lastStep = vue.computed(() => step.value === props.steps.length - 1);
121
122
  const onFormFinish = async (name, formData) => {
@@ -129,10 +130,7 @@ var StepsForm = /* @__PURE__ */ vue.defineComponent({
129
130
  const success = await props.onFinish(values);
130
131
  if (success) {
131
132
  setStep(0);
132
- formArrayRef.value.forEach((form) => {
133
- var _a;
134
- return (_a = form.value) == null ? void 0 : _a.reset();
135
- });
133
+ formArrayRef.value.forEach((form) => form == null ? void 0 : form.reset());
136
134
  }
137
135
  } catch (error) {
138
136
  console.log(error);
@@ -141,10 +139,9 @@ var StepsForm = /* @__PURE__ */ vue.defineComponent({
141
139
  }
142
140
  };
143
141
  const onSubmit = () => {
144
- var _a;
145
142
  const from = formArrayRef.value[step.value];
146
143
  if (from) {
147
- (_a = from.value) == null ? void 0 : _a.submit();
144
+ from == null ? void 0 : from.submit();
148
145
  }
149
146
  };
150
147
  const prePage = () => {
@@ -264,6 +261,9 @@ var StepsForm = /* @__PURE__ */ vue.defineComponent({
264
261
  regForm,
265
262
  onFormFinish
266
263
  });
264
+ expose({
265
+ formArrayRef
266
+ });
267
267
  return () => vue.createVNode("div", {
268
268
  "class": prefixCls
269
269
  }, [stepsFormDom.value]);
@@ -1 +1 @@
1
- {"version":3,"file":"StepsForm.js","sources":["../../../../../../../packages/components/form/src/layouts/StepsForm.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-28 13:01:45\n * @LastEditors: shen\n * @LastEditTime: 2025-08-31 22:28:53\n * @Description:\n */\nimport type { Ref, VNode } from 'vue'\nimport type { FormInstance } from '../base/StepForm'\n\nimport { computed, defineComponent, ref } from 'vue'\nimport { stepsFormProps } from '../props'\nimport { useMergedState, usePrefixCls, useState } from '@pro-design-vue/hooks'\nimport { Col, Row, Steps, Space, type StepProps } from 'ant-design-vue'\nimport { cloneElement, merge, omit, omitUndefined } from '@pro-design-vue/utils'\nimport { useProvideStepsForm } from '../context/StepsFormContext'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport StepForm from '../base/StepForm'\nimport ProButton from '@pro-design-vue/components/button'\n\ninterface LayoutRenderDom {\n stepsDom: VNode\n formDom: VNode\n}\n\nconst StepsLayoutStrategy: Record<string, (dom: LayoutRenderDom) => VNode> = {\n horizontal({ stepsDom, formDom }) {\n return (\n <>\n <Row gutter={{ xs: 8, sm: 16, md: 24 }}>\n <Col span={24}>{stepsDom}</Col>\n </Row>\n <Row gutter={{ xs: 8, sm: 16, md: 24 }}>\n <Col span={24}>{formDom}</Col>\n </Row>\n </>\n )\n },\n vertical({ stepsDom, formDom }) {\n return (\n <Row align=\"stretch\" wrap={true} gutter={{ xs: 8, sm: 16, md: 24 }}>\n <Col xxl={4} xl={6} lg={7} md={8} sm={10} xs={12}>\n {cloneElement(stepsDom, {\n style: {\n height: '100%',\n },\n })}\n </Col>\n <Col>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n height: '100%',\n }}\n >\n {formDom}\n </div>\n </Col>\n </Row>\n )\n },\n}\n\nexport default defineComponent({\n name: 'ProStepsForm',\n inheritAttrs: false,\n props: {\n ...stepsFormProps(),\n },\n emits: [],\n setup(props, { slots }) {\n const intl = useIntl()\n const prefixCls = usePrefixCls('steps-form')\n const formArrayRef = ref<Array<Ref<FormInstance | undefined>>>([])\n const formDataRef = new Map<string, Record<string, any>>()\n const [loading, setLoading] = useState<boolean>(false)\n const formProps = computed(() =>\n omitUndefined(\n omit(props, [\n 'name',\n 'current',\n 'stepsProps',\n 'containerStyle',\n 'onCurrentChange',\n 'steps',\n 'items',\n 'submitter',\n 'onFinish',\n ]),\n ),\n )\n\n const stepItems = computed<StepProps[]>(() =>\n props.steps?.map((item) => omit(item, ['formProps'])),\n )\n\n const [step, setStep] = useMergedState<number>(0, {\n value: computed(() => props.current!),\n onChange: props.onCurrentChange,\n })\n\n const regForm = (formRef: Ref<FormInstance | undefined>, index: number) => {\n formArrayRef.value[index] = formRef\n }\n\n const lastStep = computed(() => step.value === props.steps.length - 1)\n\n const onFormFinish = async (name: string, formData: any) => {\n formDataRef.set(name, formData)\n // 如果不是最后一步\n if (!lastStep.value || !props.onFinish) {\n return\n }\n setLoading(true)\n const values: any = merge({}, ...Array.from(formDataRef.values()))\n try {\n const success = await props.onFinish(values)\n if (success) {\n setStep(0)\n formArrayRef.value.forEach((form) => form.value?.reset())\n }\n } catch (error) {\n console.log(error)\n } finally {\n setLoading(false)\n }\n }\n\n const onSubmit = () => {\n const from = formArrayRef.value[step.value]\n if (from) {\n from.value?.submit()\n }\n }\n\n /** 上一页功能 */\n const prePage = () => {\n if (step.value < 1) return\n setStep(step.value - 1)\n }\n\n const next = computed(() => {\n return (\n props.submitter !== false && (\n <ProButton\n key=\"next\"\n type=\"primary\"\n loading={loading.value}\n {...props.submitter?.submitButtonProps}\n onClick={() => {\n onSubmit()\n }}\n >\n {intl.getMessage('stepsForm.next', '下一步')}\n </ProButton>\n )\n )\n })\n\n const pre = computed(() => {\n return (\n props.submitter !== false && (\n <ProButton\n key=\"pre\"\n {...props.submitter?.resetButtonProps}\n onClick={() => {\n prePage()\n }}\n >\n {intl.getMessage('stepsForm.prev', '上一步')}\n </ProButton>\n )\n )\n })\n\n const submit = computed(() => {\n return (\n props.submitter !== false && (\n <ProButton\n key=\"submit\"\n type=\"primary\"\n loading={loading.value}\n {...props.submitter?.submitButtonProps}\n onClick={() => {\n onSubmit()\n }}\n >\n {intl.getMessage('stepsForm.submit', '提交')}\n </ProButton>\n )\n )\n })\n\n const nextPage = () => {\n if (step.value > props.steps.length - 2) return\n setStep(step.value + 1)\n }\n\n const submitterDom = computed(() => {\n const buttons: any[] = []\n const index = step.value || 0\n if (index < 1) {\n // 如果有且只有一个 StepForm 第一步就应该是提交按钮\n if (props.steps?.length === 1) {\n buttons.push(submit.value)\n } else {\n buttons.push(next.value)\n }\n } else if (index + 1 === props.steps?.length) {\n buttons.push(pre.value, submit.value)\n } else {\n buttons.push(pre.value, next.value)\n }\n return buttons\n })\n\n const layoutRender = computed(\n () => StepsLayoutStrategy[props.stepsProps?.direction || 'horizontal'],\n )\n\n const stepContainer = computed<VNode>(() => {\n return (\n <div\n class={`${prefixCls}-steps-container`}\n style={{\n maxWidth: Math.min(props.steps.length * 320, 1160) + 'px',\n }}\n >\n <Steps\n {...props.stepsProps}\n items={stepItems.value}\n current={step.value}\n onChange={undefined}\n />\n </div>\n )\n })\n\n const formContainer = computed<VNode>(() => (\n <div class={`${prefixCls}-container`} style={props.containerStyle}>\n {props.items.map((item, index) => {\n const stepFormProps = omit(omitUndefined(props.steps[index]?.formProps || {}), ['items'])\n const name = stepFormProps.name || `${index}`\n const mergeFormProps = merge({}, formProps.value, stepFormProps)\n return (\n <StepForm items={item} name={name} index={index} {...mergeFormProps} v-slots={slots} />\n )\n })}\n <Space>{submitterDom.value}</Space>\n </div>\n ))\n\n const stepsFormDom = computed(() => {\n const doms = {\n stepsDom: stepContainer.value,\n formDom: formContainer.value,\n }\n return layoutRender.value?.(doms)\n })\n\n useProvideStepsForm({\n step,\n loading,\n setLoading,\n lastStep,\n next: nextPage,\n regForm,\n onFormFinish,\n })\n return () => <div class={prefixCls}>{stepsFormDom.value}</div>\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","StepsLayoutStrategy","horizontal","stepsDom","formDom","_createVNode","_Fragment","Row","xs","sm","md","default","Col","vertical","_slot","cloneElement","style","height","display","alignItems","width","name","inheritAttrs","props","stepsFormProps","emits","setup","slots","intl","useIntl","prefixCls","usePrefixCls","formArrayRef","ref","formDataRef","Map","loading","setLoading","useState","formProps","computed","omitUndefined","omit","stepItems","steps","map","item","step","setStep","useMergedState","value","current","onChange","onCurrentChange","regForm","formRef","index","lastStep","length","onFormFinish","formData","set","onFinish","values","merge","Array","from","success","forEach","form","reset","error","console","log","onSubmit","submit","prePage","next","_slot2","submitter","ProButton","_mergeProps","submitButtonProps","onClick","getMessage","pre","_slot3","resetButtonProps","_slot4","nextPage","submitterDom","buttons","push","layoutRender","stepsProps","direction","stepContainer","maxWidth","Math","min","Steps","undefined","formContainer","containerStyle","items","stepFormProps","mergeFormProps","StepForm","Space","stepsFormDom","doms","useProvideStepsForm"],"mappings":"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"}
1
+ {"version":3,"file":"StepsForm.js","sources":["../../../../../../../packages/components/form/src/layouts/StepsForm.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-28 13:01:45\n * @LastEditors: shen\n * @LastEditTime: 2025-09-25 16:29:03\n * @Description:\n */\nimport type { Ref, VNode } from 'vue'\nimport type { FormInstance } from '../base/StepForm'\n\nimport { computed, defineComponent, ref } from 'vue'\nimport { stepsFormProps } from '../props'\nimport { useMergedState, usePrefixCls, useState } from '@pro-design-vue/hooks'\nimport { Col, Row, Steps, Space, type StepProps } from 'ant-design-vue'\nimport { cloneElement, merge, omit, omitUndefined } from '@pro-design-vue/utils'\nimport { useProvideStepsForm } from '../context/StepsFormContext'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport StepForm from '../base/StepForm'\nimport ProButton from '@pro-design-vue/components/button'\n\ninterface LayoutRenderDom {\n stepsDom: VNode\n formDom: VNode\n}\n\nconst StepsLayoutStrategy: Record<string, (dom: LayoutRenderDom) => VNode> = {\n horizontal({ stepsDom, formDom }) {\n return (\n <>\n <Row gutter={{ xs: 8, sm: 16, md: 24 }}>\n <Col span={24}>{stepsDom}</Col>\n </Row>\n <Row gutter={{ xs: 8, sm: 16, md: 24 }}>\n <Col span={24}>{formDom}</Col>\n </Row>\n </>\n )\n },\n vertical({ stepsDom, formDom }) {\n return (\n <Row align=\"stretch\" wrap={true} gutter={{ xs: 8, sm: 16, md: 24 }}>\n <Col xxl={4} xl={6} lg={7} md={8} sm={10} xs={12}>\n {cloneElement(stepsDom, {\n style: {\n height: '100%',\n },\n })}\n </Col>\n <Col>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n height: '100%',\n }}\n >\n {formDom}\n </div>\n </Col>\n </Row>\n )\n },\n}\n\nexport default defineComponent({\n name: 'ProStepsForm',\n inheritAttrs: false,\n props: {\n ...stepsFormProps(),\n },\n emits: [],\n setup(props, { slots, expose }) {\n const intl = useIntl()\n const prefixCls = usePrefixCls('steps-form')\n const formArrayRef = ref<Array<FormInstance | undefined>>([])\n const formDataRef = new Map<string, Record<string, any>>()\n const [loading, setLoading] = useState<boolean>(false)\n const formProps = computed(() =>\n omitUndefined(\n omit(props, [\n 'name',\n 'current',\n 'stepsProps',\n 'containerStyle',\n 'onCurrentChange',\n 'steps',\n 'items',\n 'submitter',\n 'onFinish',\n ]),\n ),\n )\n\n const stepItems = computed<StepProps[]>(() =>\n props.steps?.map((item) => omit(item, ['formProps'])),\n )\n\n const [step, setStep] = useMergedState<number>(0, {\n value: computed(() => props.current!),\n onChange: props.onCurrentChange,\n })\n\n const regForm = (formRef: Ref<FormInstance | undefined>, index: number) => {\n formArrayRef.value[index] = formRef.value\n }\n\n const lastStep = computed(() => step.value === props.steps.length - 1)\n\n const onFormFinish = async (name: string, formData: any) => {\n formDataRef.set(name, formData)\n // 如果不是最后一步\n if (!lastStep.value || !props.onFinish) {\n return\n }\n setLoading(true)\n const values: any = merge({}, ...Array.from(formDataRef.values()))\n try {\n const success = await props.onFinish(values)\n if (success) {\n setStep(0)\n formArrayRef.value.forEach((form) => form?.reset())\n }\n } catch (error) {\n console.log(error)\n } finally {\n setLoading(false)\n }\n }\n\n const onSubmit = () => {\n const from = formArrayRef.value[step.value]\n if (from) {\n from?.submit()\n }\n }\n\n /** 上一页功能 */\n const prePage = () => {\n if (step.value < 1) return\n setStep(step.value - 1)\n }\n\n const next = computed(() => {\n return (\n props.submitter !== false && (\n <ProButton\n key=\"next\"\n type=\"primary\"\n loading={loading.value}\n {...props.submitter?.submitButtonProps}\n onClick={() => {\n onSubmit()\n }}\n >\n {intl.getMessage('stepsForm.next', '下一步')}\n </ProButton>\n )\n )\n })\n\n const pre = computed(() => {\n return (\n props.submitter !== false && (\n <ProButton\n key=\"pre\"\n {...props.submitter?.resetButtonProps}\n onClick={() => {\n prePage()\n }}\n >\n {intl.getMessage('stepsForm.prev', '上一步')}\n </ProButton>\n )\n )\n })\n\n const submit = computed(() => {\n return (\n props.submitter !== false && (\n <ProButton\n key=\"submit\"\n type=\"primary\"\n loading={loading.value}\n {...props.submitter?.submitButtonProps}\n onClick={() => {\n onSubmit()\n }}\n >\n {intl.getMessage('stepsForm.submit', '提交')}\n </ProButton>\n )\n )\n })\n\n const nextPage = () => {\n if (step.value > props.steps.length - 2) return\n setStep(step.value + 1)\n }\n\n const submitterDom = computed(() => {\n const buttons: any[] = []\n const index = step.value || 0\n if (index < 1) {\n // 如果有且只有一个 StepForm 第一步就应该是提交按钮\n if (props.steps?.length === 1) {\n buttons.push(submit.value)\n } else {\n buttons.push(next.value)\n }\n } else if (index + 1 === props.steps?.length) {\n buttons.push(pre.value, submit.value)\n } else {\n buttons.push(pre.value, next.value)\n }\n return buttons\n })\n\n const layoutRender = computed(\n () => StepsLayoutStrategy[props.stepsProps?.direction || 'horizontal'],\n )\n\n const stepContainer = computed<VNode>(() => {\n return (\n <div\n class={`${prefixCls}-steps-container`}\n style={{\n maxWidth: Math.min(props.steps.length * 320, 1160) + 'px',\n }}\n >\n <Steps\n {...props.stepsProps}\n items={stepItems.value}\n current={step.value}\n onChange={undefined}\n />\n </div>\n )\n })\n\n const formContainer = computed<VNode>(() => (\n <div class={`${prefixCls}-container`} style={props.containerStyle}>\n {props.items.map((item, index) => {\n const stepFormProps = omit(omitUndefined(props.steps[index]?.formProps || {}), ['items'])\n const name = stepFormProps.name || `${index}`\n const mergeFormProps = merge({}, formProps.value, stepFormProps)\n return (\n <StepForm items={item} name={name} index={index} {...mergeFormProps} v-slots={slots} />\n )\n })}\n <Space>{submitterDom.value}</Space>\n </div>\n ))\n\n const stepsFormDom = computed(() => {\n const doms = {\n stepsDom: stepContainer.value,\n formDom: formContainer.value,\n }\n return layoutRender.value?.(doms)\n })\n\n useProvideStepsForm({\n step,\n loading,\n setLoading,\n lastStep,\n next: nextPage,\n regForm,\n onFormFinish,\n })\n\n expose({\n formArrayRef,\n })\n return () => <div class={prefixCls}>{stepsFormDom.value}</div>\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","StepsLayoutStrategy","horizontal","stepsDom","formDom","_createVNode","_Fragment","Row","xs","sm","md","default","Col","vertical","_slot","cloneElement","style","height","display","alignItems","width","name","inheritAttrs","props","stepsFormProps","emits","setup","slots","expose","intl","useIntl","prefixCls","usePrefixCls","formArrayRef","ref","formDataRef","Map","loading","setLoading","useState","formProps","computed","omitUndefined","omit","stepItems","steps","map","item","step","setStep","useMergedState","value","current","onChange","onCurrentChange","regForm","formRef","index","lastStep","length","onFormFinish","formData","set","onFinish","values","merge","Array","from","success","forEach","form","reset","error","console","log","onSubmit","submit","prePage","next","_slot2","submitter","ProButton","_mergeProps","submitButtonProps","onClick","getMessage","pre","_slot3","resetButtonProps","_slot4","nextPage","submitterDom","buttons","push","layoutRender","stepsProps","direction","stepContainer","maxWidth","Math","min","Steps","undefined","formContainer","containerStyle","items","stepFormProps","mergeFormProps","StepForm","Space","stepsFormDom","doms","useProvideStepsForm"],"mappings":";;;;;;;;;;;;;;;;;;AAkByD,SAAAA,QAAAC,CAAAA,EAAA;AAAA,EAAA,OAAA,OAAAA,CAAAA,KAAA,UAAA,IAAAC,MAAAA,CAAAC,SAAAA,CAAAC,QAAAA,CAAAC,IAAAA,CAAAJ,CAAA,CAAA,KAAA,iBAAA,IAAA,CAAAK,WAAAA,CAAAL,CAAA,CAAA;AAAA;AAOzD,MAAMM,mBAAAA,GAAuE;AAAA,EAC3EC,UAAAA,CAAW;AAAA,IAAEC,QAAAA;AAAAA,IAAUC;AAAAA,GAAQ,EAAG;AAChC,IAAA,OAAAC,eAAAA,CAAAC,YAAAA,EAAA,IAAA,EAAA,CAAAD,gBAAAE,gBAAAA,EAAA;AAAA,MAAA,QAAA,EAEiB;AAAA,QAAEC,EAAAA,EAAI,CAAA;AAAA,QAAGC,EAAAA,EAAI,EAAA;AAAA,QAAIC,EAAAA,EAAI;AAAA;AAAG,KAAC,EAAA;AAAA,MAAAC,OAAAA,EAAAA,MAAA,CAAAN,eAAAA,CAAAO,gBAAAA,EAAA;AAAA,QAAA,MAAA,EACzB;AAAA,OAAE,EAAAlB,OAAAA,CAAGS,QAAQ,CAAA,GAARA,QAAAA,GAAQ;AAAA,QAAAQ,OAAAA,EAAAA,MAAA,CAARR,QAAQ;AAAA,OAAA,CAAA;AAAA,KAAA,CAAA,EAAAE,eAAAA,CAAAE,gBAAAA,EAAA;AAAA,MAAA,QAAA,EAEb;AAAA,QAAEC,EAAAA,EAAI,CAAA;AAAA,QAAGC,EAAAA,EAAI,EAAA;AAAA,QAAIC,EAAAA,EAAI;AAAA;AAAG,KAAC,EAAA;AAAA,MAAAC,OAAAA,EAAAA,MAAA,CAAAN,eAAAA,CAAAO,gBAAAA,EAAA;AAAA,QAAA,MAAA,EACzB;AAAA,OAAE,EAAAlB,OAAAA,CAAGU,OAAO,CAAA,GAAPA,OAAAA,GAAO;AAAA,QAAAO,OAAAA,EAAAA,MAAA,CAAPP,OAAO;AAAA,OAAA,CAAA;AAAA,KAAA,CAAA,CAAA,CAAA;AAAA,EAI/B,CAAA;AAAA,EACAS,QAAAA,CAAS;AAAA,IAAEV,QAAAA;AAAAA,IAAUC;AAAAA,GAAQ,EAAG;AAAA,IAAA,IAAAU,KAAAA;AAC9B,IAAA,OAAAT,gBAAAE,gBAAAA,EAAA;AAAA,MAAA,OAAA,EAAA,SAAA;AAAA,MAAA,MAAA,EAC6B,IAAA;AAAA,MAAI,QAAA,EAAU;AAAA,QAAEC,EAAAA,EAAI,CAAA;AAAA,QAAGC,EAAAA,EAAI,EAAA;AAAA,QAAIC,EAAAA,EAAI;AAAA;AAAG,KAAC,EAAA;AAAA,MAAAC,OAAAA,EAAAA,MAAA,CAAAN,eAAAA,CAAAO,gBAAAA,EAAA;AAAA,QAAA,KAAA,EACtD,CAAA;AAAA,QAAC,IAAA,EAAM,CAAA;AAAA,QAAC,IAAA,EAAM,CAAA;AAAA,QAAC,IAAA,EAAM,CAAA;AAAA,QAAC,IAAA,EAAM,EAAA;AAAA,QAAE,IAAA,EAAM;AAAA,OAAE,EAAAlB,OAAAA,CAAAoB,KAAAA,GAC7CC,yBAAAA,CAAaZ,QAAAA,EAAU;AAAA,QACtBa,KAAAA,EAAO;AAAA,UACLC,MAAAA,EAAQ;AAAA;AACV,OACD,CAAC,CAAA,GAAAH,KAAAA,GAAA;AAAA,QAAAH,OAAAA,EAAAA,MAAA,CAAAG,KAAA;AAAA,OAAA,CAAA,EAAAT,eAAAA,CAAAO,gBAAAA,EAAA,IAAA,EAAA;AAAA,QAAAD,OAAAA,EAAAA,MAAA,CAAAN,eAAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EAIO;AAAA,YACLa,OAAAA,EAAS,MAAA;AAAA,YACTC,UAAAA,EAAY,QAAA;AAAA,YACZC,KAAAA,EAAO,MAAA;AAAA,YACPH,MAAAA,EAAQ;AAAA;AACV,SAAC,EAAA,CAEAb,OAAO,CAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,CAAA;AAAA,EAKlB;AACF,CAAA;AAEA,oDAA+B;AAAA,EAC7BiB,IAAAA,EAAM,cAAA;AAAA,EACNC,YAAAA,EAAc,KAAA;AAAA,EACdC,KAAAA,EAAO;AAAA,IACL,GAAGC,oBAAAA;AAAe,GACpB;AAAA,EACAC,OAAO,EAAA;AAAA,EACPC,MAAMH,KAAAA,EAAO;AAAA,IAAEI,KAAAA;AAAAA,IAAOC;AAAAA,GAAO,EAAG;AAC9B,IAAA,MAAMC,OAAOC,eAAAA,EAAQ;AACrB,IAAA,MAAMC,SAAAA,GAAYC,mBAAa,YAAY,CAAA;AAC3C,IAAA,MAAMC,YAAAA,GAAeC,OAAAA,CAAqC,EAAE,CAAA;AAC5D,IAAA,MAAMC,WAAAA,uBAAkBC,GAAAA,EAAiC;AACzD,IAAA,MAAM,CAACC,OAAAA,EAASC,UAAU,CAAA,GAAIC,iBAAkB,KAAK,CAAA;AACrD,IAAA,MAAMC,YAAYC,YAAAA,CAAS,MACzBC,mBACEC,SAAAA,CAAKpB,KAAAA,EAAO,CACV,MAAA,EACA,SAAA,EACA,YAAA,EACA,gBAAA,EACA,mBACA,OAAA,EACA,OAAA,EACA,aACA,UAAU,CACX,CACH,CACF,CAAA;AAEA,IAAA,MAAMqB,SAAAA,GAAYH,aAAsB;AA9F5C,MAAA,IAAA,EAAA;AA+FMlB,MAAAA,OAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMsB,KAAAA,KAANtB,mBAAauB,GAAAA,CAAKC,CAAAA,IAAAA,KAASJ,UAAKI,IAAAA,EAAM,CAAC,WAAW,CAAC,CAAA,CAAA;AAAA,IAAA,CACrD,CAAA;AAEA,IAAA,MAAM,CAACC,IAAAA,EAAMC,OAAO,CAAA,GAAIC,uBAAuB,CAAA,EAAG;AAAA,MAChDC,KAAAA,EAAOV,YAAAA,CAAS,MAAMlB,KAAAA,CAAM6B,OAAQ,CAAA;AAAA,MACpCC,UAAU9B,KAAAA,CAAM+B;AAAAA,KACjB,CAAA;AAED,IAAA,MAAMC,OAAAA,GAAUA,CAACC,OAAAA,EAAwCC,KAAAA,KAAkB;AACzExB,MAAAA,YAAAA,CAAakB,KAAAA,CAAMM,KAAK,CAAA,GAAID,OAAAA,CAAQL,KAAAA;AAAAA,IACtC,CAAA;AAEA,IAAA,MAAMO,QAAAA,GAAWjB,aAAS,MAAMO,IAAAA,CAAKG,UAAU5B,KAAAA,CAAMsB,KAAAA,CAAMc,SAAS,CAAC,CAAA;AAErE,IAAA,MAAMC,YAAAA,GAAe,OAAOvC,IAAAA,EAAcwC,QAAAA,KAAkB;AAC1D1B,MAAAA,WAAAA,CAAY2B,GAAAA,CAAIzC,MAAMwC,QAAQ,CAAA;AAE9B,MAAA,IAAI,CAACH,QAAAA,CAASP,KAAAA,IAAS,CAAC5B,MAAMwC,QAAAA,EAAU;AACtC,QAAA;AAAA,MACF;AACAzB,MAAAA,UAAAA,CAAW,IAAI,CAAA;AACf,MAAA,MAAM0B,MAAAA,GAAcC,mBAAAA,CAAM,EAAC,EAAG,GAAGC,MAAMC,IAAAA,CAAKhC,WAAAA,CAAY6B,MAAAA,EAAQ,CAAC,CAAA;AACjE,MAAA,IAAI;AACF,QAAA,MAAMI,OAAAA,GAAU,MAAM7C,KAAAA,CAAMwC,QAAAA,CAASC,MAAM,CAAA;AAC3C,QAAA,IAAII,OAAAA,EAAS;AACXnB,UAAAA,OAAAA,CAAQ,CAAC,CAAA;AACThB,UAAAA,YAAAA,CAAakB,KAAAA,CAAMkB,OAAAA,CAASC,CAAAA,IAAAA,KAASA,IAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAAA,CAAMC,KAAAA,EAAO,CAAA;AAAA,QACpD;AAAA,MACF,SAASC,KAAAA,EAAO;AACdC,QAAAA,OAAAA,CAAQC,IAAIF,KAAK,CAAA;AAAA,MACnB,CAAA,SAAC;AACClC,QAAAA,UAAAA,CAAW,KAAK,CAAA;AAAA,MAClB;AAAA,IACF,CAAA;AAEA,IAAA,MAAMqC,WAAWA,MAAM;AACrB,MAAA,MAAMR,IAAAA,GAAOlC,YAAAA,CAAakB,KAAAA,CAAMH,IAAAA,CAAKG,KAAK,CAAA;AAC1C,MAAA,IAAIgB,IAAAA,EAAM;AACRA,QAAAA,IAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,IAAAA,CAAMS,MAAAA,EAAAA;AAAAA,MACR;AAAA,IACF,CAAA;AAGA,IAAA,MAAMC,UAAUA,MAAM;AACpB,MAAA,IAAI7B,IAAAA,CAAKG,QAAQ,CAAA,EAAG;AACpBF,MAAAA,OAAAA,CAAQD,IAAAA,CAAKG,QAAQ,CAAC,CAAA;AAAA,IACxB,CAAA;AAEA,IAAA,MAAM2B,IAAAA,GAAOrC,aAAS,MAAM;AA/IhC,MAAA,IAAA,EAAA;AA+IgC,MAAA,IAAAsC,MAAAA;AAC1B,MAAA,OACExD,KAAAA,CAAMyD,SAAAA,KAAc,KAAA,IAAK3E,eAAAA,CAAA4E,mBAAAC,cAAAA,CAAA;AAAA,QAAA,KAAA,EAAA,MAAA;AAAA,QAAA,MAAA,EAAA,SAAA;AAAA,QAAA,WAIZ7C,OAAAA,CAAQc;AAAAA,OAAK,EAAA,CAClB5B,EAAAA,GAAAA,KAAAA,CAAMyD,SAAAA,KAANzD,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAiB4D,iBAAAA,EAAiB;AAAA,QAAA,WAC7BC,MAAM;AACbT,UAAAA,QAAAA,EAAS;AAAA,QACX;AAAA,OAAC,CAAA,EAAAjF,OAAAA,CAAAqF,MAAAA,GAEAlD,IAAAA,CAAKwD,WAAW,gBAAA,EAAkB,oBAAK,CAAC,CAAA,GAAAN,MAAAA,GAAA;AAAA,QAAApE,OAAAA,EAAAA,MAAA,CAAAoE,MAAA;AAAA,OAAA,CAAA;AAAA,IAIjD,CAAC,CAAA;AAED,IAAA,MAAMO,GAAAA,GAAM7C,aAAS,MAAM;AAjK/B,MAAA,IAAA,EAAA;AAiK+B,MAAA,IAAA8C,MAAAA;AACzB,MAAA,OACEhE,KAAAA,CAAMyD,SAAAA,KAAc,KAAA,IAAK3E,eAAAA,CAAA4E,mBAAAC,cAAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAA,OAAA,EAAA,CAGjB3D,EAAAA,GAAAA,KAAAA,CAAMyD,SAAAA,KAANzD,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAiBiE,gBAAAA,EAAgB;AAAA,QAAA,WAC5BJ,MAAM;AACbP,UAAAA,OAAAA,EAAQ;AAAA,QACV;AAAA,OAAC,CAAA,EAAAnF,OAAAA,CAAA6F,MAAAA,GAEA1D,IAAAA,CAAKwD,WAAW,gBAAA,EAAkB,oBAAK,CAAC,CAAA,GAAAE,MAAAA,GAAA;AAAA,QAAA5E,OAAAA,EAAAA,MAAA,CAAA4E,MAAA;AAAA,OAAA,CAAA;AAAA,IAIjD,CAAC,CAAA;AAED,IAAA,MAAMX,MAAAA,GAASnC,aAAS,MAAM;AAjLlC,MAAA,IAAA,EAAA;AAiLkC,MAAA,IAAAgD,MAAAA;AAC5B,MAAA,OACElE,KAAAA,CAAMyD,SAAAA,KAAc,KAAA,IAAK3E,eAAAA,CAAA4E,mBAAAC,cAAAA,CAAA;AAAA,QAAA,KAAA,EAAA,QAAA;AAAA,QAAA,MAAA,EAAA,SAAA;AAAA,QAAA,WAIZ7C,OAAAA,CAAQc;AAAAA,OAAK,EAAA,CAClB5B,EAAAA,GAAAA,KAAAA,CAAMyD,SAAAA,KAANzD,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAiB4D,iBAAAA,EAAiB;AAAA,QAAA,WAC7BC,MAAM;AACbT,UAAAA,QAAAA,EAAS;AAAA,QACX;AAAA,OAAC,CAAA,EAAAjF,OAAAA,CAAA+F,MAAAA,GAEA5D,IAAAA,CAAKwD,WAAW,kBAAA,EAAoB,cAAI,CAAC,CAAA,GAAAI,MAAAA,GAAA;AAAA,QAAA9E,OAAAA,EAAAA,MAAA,CAAA8E,MAAA;AAAA,OAAA,CAAA;AAAA,IAIlD,CAAC,CAAA;AAED,IAAA,MAAMC,WAAWA,MAAM;AACrB,MAAA,IAAI1C,IAAAA,CAAKG,KAAAA,GAAQ5B,KAAAA,CAAMsB,KAAAA,CAAMc,SAAS,CAAA,EAAG;AACzCV,MAAAA,OAAAA,CAAQD,IAAAA,CAAKG,QAAQ,CAAC,CAAA;AAAA,IACxB,CAAA;AAEA,IAAA,MAAMwC,YAAAA,GAAelD,aAAS,MAAM;AAxMxC,MAAA,IAAA,EAAA,EAAA,EAAA;AAyMM,MAAA,MAAMmD,UAAiB,EAAA;AACvB,MAAA,MAAMnC,KAAAA,GAAQT,KAAKG,KAAAA,IAAS,CAAA;AAC5B,MAAA,IAAIM,QAAQ,CAAA,EAAG;AAEb,QAAA,IAAA,CAAA,CAAIlC,EAAAA,GAAAA,KAAAA,CAAMsB,KAAAA,KAANtB,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAaoC,MAAAA,MAAW,CAAA,EAAG;AAC7BiC,UAAAA,OAAAA,CAAQC,IAAAA,CAAKjB,OAAOzB,KAAK,CAAA;AAAA,QAC3B,CAAA,MAAO;AACLyC,UAAAA,OAAAA,CAAQC,IAAAA,CAAKf,KAAK3B,KAAK,CAAA;AAAA,QACzB;AAAA,MACF,WAAWM,KAAAA,GAAQ,CAAA,MAAA,CAAMlC,EAAAA,GAAAA,KAAAA,CAAMsB,KAAAA,KAANtB,mBAAaoC,MAAAA,CAAAA,EAAQ;AAC5CiC,QAAAA,OAAAA,CAAQC,IAAAA,CAAKP,GAAAA,CAAInC,KAAAA,EAAOyB,MAAAA,CAAOzB,KAAK,CAAA;AAAA,MACtC,CAAA,MAAO;AACLyC,QAAAA,OAAAA,CAAQC,IAAAA,CAAKP,GAAAA,CAAInC,KAAAA,EAAO2B,IAAAA,CAAK3B,KAAK,CAAA;AAAA,MACpC;AACA,MAAA,OAAOyC,OAAAA;AAAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAME,YAAAA,GAAerD,aACnB;AA3NN,MAAA,IAAA,EAAA;AA2NYxC,MAAAA,OAAAA,mBAAAA,CAAAA,CAAAA,CAAoBsB,EAAAA,GAAAA,KAAAA,CAAMwE,UAAAA,KAANxE,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAkByE,SAAAA,KAAa,YAAY,CAAA;AAAA,IAAA,CACvE,CAAA;AAEA,IAAA,MAAMC,aAAAA,GAAgBxD,aAAgB,MAAM;AAC1C,MAAA,OAAApC,gBAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAEW,GAAG0B,SAAS,CAAA,gBAAA,CAAA;AAAA,QAAkB,OAAA,EAC9B;AAAA,UACLmE,QAAAA,EAAUC,KAAKC,GAAAA,CAAI7E,KAAAA,CAAMsB,MAAMc,MAAAA,GAAS,GAAA,EAAK,IAAI,CAAA,GAAI;AAAA;AACvD,SAAC,CAAAtD,eAAAA,CAAAgG,kBAAAA,EAAAnB,cAAAA,CAGK3D,MAAMwE,UAAAA,EAAU;AAAA,QAAA,SACbnD,SAAAA,CAAUO,KAAAA;AAAAA,QAAK,WACbH,IAAAA,CAAKG,KAAAA;AAAAA,QAAK,UAAA,EACTmD;AAAAA,OAAS,CAAA,EAAA,IAAA,CAAA,CAAA,CAAA;AAAA,IAI3B,CAAC,CAAA;AAED,IAAA,MAAMC,aAAAA,GAAgB9D,YAAAA,CAAgB,MAAApC,eAAAA,CAAA,KAAA,EAAA;AAAA,MAAA,OAAA,EACxB,GAAG0B,SAAS,CAAA,UAAA,CAAA;AAAA,MAAY,SAASR,KAAAA,CAAMiF;AAAAA,OAAc,CAC9DjF,KAAAA,CAAMkF,MAAM3D,GAAAA,CAAI,CAACC,MAAMU,KAAAA,KAAU;AAlP1C,MAAA,IAAA,EAAA;AAmPU,MAAA,MAAMiD,aAAAA,GAAgB/D,SAAAA,CAAKD,kBAAAA,CAAAA,CAAAA,CAAcnB,EAAAA,GAAAA,KAAAA,CAAMsB,MAAMY,KAAK,CAAA,KAAjBlC,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAoBiB,SAAAA,KAAa,EAAE,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AACxF,MAAA,MAAMnB,IAAAA,GAAOqF,aAAAA,CAAcrF,IAAAA,IAAQ,CAAA,EAAGoC,KAAK,CAAA,CAAA;AAC3C,MAAA,MAAMkD,iBAAiB1C,mBAAAA,CAAM,EAAC,EAAGzB,SAAAA,CAAUW,OAAOuD,aAAa,CAAA;AAC/D,MAAA,OAAArG,eAAAA,CAAAuG,kBAAA1B,cAAAA,CAAA;AAAA,QAAA,OAAA,EACmBnC,IAAAA;AAAAA,QAAI,MAAA,EAAQ1B,IAAAA;AAAAA,QAAI,OAAA,EAASoC;AAAAA,OAAK,EAAMkD,cAAc,CAAA,EAAWhF,KAAK,CAAA;AAAA,IAEvF,CAAC,CAAA,EAACtB,eAAAA,CAAAwG,kBAAAA,EAAA,IAAA,EAAA;AAAA,MAAAlG,OAAAA,EAAAA,MAAA,CACMgF,YAAAA,CAAaxC,KAAK;AAAA,KAAA,CAAA,CAAA,CAE7B,CAAA;AAED,IAAA,MAAM2D,YAAAA,GAAerE,aAAS,MAAM;AA9PxC,MAAA,IAAA,EAAA;AA+PM,MAAA,MAAMsE,IAAAA,GAAO;AAAA,QACX5G,UAAU8F,aAAAA,CAAc9C,KAAAA;AAAAA,QACxB/C,SAASmG,aAAAA,CAAcpD;AAAAA,OACzB;AACA,MAAA,OAAA,CAAO2C,EAAAA,GAAAA,YAAAA,CAAa3C,UAAb2C,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,YAAAA,EAAqBiB,IAAAA,CAAAA;AAAAA,IAC9B,CAAC,CAAA;AAEDC,IAAAA,oCAAAA,CAAoB;AAAA,MAClBhE,IAAAA;AAAAA,MACAX,OAAAA;AAAAA,MACAC,UAAAA;AAAAA,MACAoB,QAAAA;AAAAA,MACAoB,IAAAA,EAAMY,QAAAA;AAAAA,MACNnC,OAAAA;AAAAA,MACAK;AAAAA,KACD,CAAA;AAEDhC,IAAAA,MAAAA,CAAO;AAAA,MACLK;AAAAA,KACD,CAAA;AACD,IAAA,OAAO,MAAA5B,gBAAA,KAAA,EAAA;AAAA,MAAA,OAAA,EAAkB0B;AAAAA,KAAS,EAAA,CAAG+E,YAAAA,CAAa3D,KAAK,CAAA,CAAA;AAAA,EACzD;AACF,CAAC,CAAA;;;;"}
@@ -27,6 +27,10 @@ export type SpanConfig = number | {
27
27
  export type ProRequestData<T = Entity, U = Record<string, any>> = (params: U, index?: number) => Promise<T>;
28
28
  export type SearchTransformKeyFn = (value: any, namePath: NamePath, allValues: any) => string | Record<string, any>;
29
29
  export type SearchConvertKeyFn = (value: any, namePath: NamePath) => string | boolean | Record<string, any>;
30
+ export type TransformerMapType = Map<NamePath, {
31
+ transform?: SearchTransformKeyFn;
32
+ convertValue?: SearchConvertKeyFn;
33
+ }>;
30
34
  export type ProFormPropsType<T = Entity, U = Record<string, any>, FieldType = 'text'> = Omit<FormProps, 'onFinish'> & CommonFormProps<T, U, FieldType>;
31
35
  export interface ProFormGridConfig {
32
36
  /**
@@ -62,11 +66,11 @@ export type SearchConfig = {
62
66
  /** @name 提交按钮的文本 */
63
67
  submitText?: ProVNode;
64
68
  };
65
- export type SubmitterProps<T = Record<string, any>> = {
69
+ export type SubmitterProps<T = Entity> = {
66
70
  /** @name 提交方法 */
67
- onSubmit?: (value?: T) => void;
71
+ onSubmit?: (formData: T, action?: ProFormActionType) => Promise<boolean | void> | boolean | void;
68
72
  /** @name 重置方法 */
69
- onReset?: (value?: T) => void;
73
+ onReset?: (formData: T, action?: ProFormActionType) => Promise<boolean | void> | boolean | void;
70
74
  /** @name 搜索的配置,一般用来配置文本 */
71
75
  searchConfig?: SearchConfig;
72
76
  /** @name 提交按钮的 props */
@@ -77,7 +81,7 @@ export type SubmitterProps<T = Record<string, any>> = {
77
81
  resetButtonProps?: false | (ButtonProps & {
78
82
  preventDefault?: boolean;
79
83
  });
80
- /** @name 操作按钮n渲染位置 */
84
+ /** @name 操作按钮渲染位置 */
81
85
  teleport?: string | HTMLElement;
82
86
  /** @name 反转提交及重置按钮 */
83
87
  reverse?: boolean;
@@ -239,7 +243,7 @@ export type ProFormItemType<T = Entity, FieldType = 'text'> = {
239
243
  key?: Key;
240
244
  originKey?: Key;
241
245
  /** @name 展示一个 icon,hover 是展示一些提示信息 */
242
- tooltip?: string;
246
+ tooltip?: string | true;
243
247
  hidden?: boolean;
244
248
  /**
245
249
  * 只有在栅格模式下,控制分组是否栅格
@@ -248,19 +252,25 @@ export type ProFormItemType<T = Entity, FieldType = 'text'> = {
248
252
  */
249
253
  grid?: boolean;
250
254
  /**
251
- * 支持 ReactNode 和 方法
255
+ * 支持 VNode 和 方法
252
256
  *
253
257
  * @name 标题
254
258
  */
255
- title?: ProVNode | ((formData: T) => ProVNode);
259
+ title?: ProVNode | ((params: {
260
+ formData: T;
261
+ }) => ProVNode);
256
262
  /**
257
- * 支持 ReactNode 和 方法
263
+ * 支持 VNode 和 方法
258
264
  *
259
265
  * @name 标题扩展,
260
266
  */
261
267
  extra?: {
262
- label?: ProVNode | ((formData: T) => ProVNode);
263
- item?: ProVNode | ((formData: T) => ProVNode);
268
+ label?: ProVNode | ((params: {
269
+ formData: T;
270
+ }) => ProVNode);
271
+ item?: ProVNode | ((params: {
272
+ formData: T;
273
+ }) => ProVNode);
264
274
  };
265
275
  /**
266
276
  * 支持 object 和Map,Map 是支持其他基础类型作为 key
@@ -330,7 +340,10 @@ export type ProFormItemType<T = Entity, FieldType = 'text'> = {
330
340
  formData: T;
331
341
  action: ProFormActionType;
332
342
  }) => VNode | string);
333
- render?: ProVNode | ((formData: T) => ProVNode);
343
+ render?: ProVNode | ((params: {
344
+ formData: T;
345
+ defaultDom: VNode;
346
+ }) => ProVNode);
334
347
  onChange?: (...args: any[]) => void;
335
348
  onInit?: (ref: any) => void;
336
349
  /** 嵌套子项 */
@@ -0,0 +1,3 @@
1
+ import type { ProFormItemType, TransformerMapType } from '../type';
2
+ declare function transformer(items: ProFormItemType[]): TransformerMapType;
3
+ export default transformer;
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var runFunction = require('../../../../utils/run-function.js');
6
+
7
+ function transformer(items) {
8
+ const transformerMap = /* @__PURE__ */ new Map();
9
+ const handler = (items2) => {
10
+ items2.forEach((item) => {
11
+ var _a;
12
+ if (item.name && (item.transform || item.convertValue)) {
13
+ transformerMap.set(item.name, {
14
+ transform: item.transform,
15
+ convertValue: item.convertValue
16
+ });
17
+ } else if (item.children) {
18
+ const children = (_a = runFunction.runFunction(item.children)) != null ? _a : [];
19
+ handler(children);
20
+ }
21
+ });
22
+ };
23
+ handler(items);
24
+ return transformerMap;
25
+ }
26
+
27
+ exports.default = transformer;
28
+ //# sourceMappingURL=transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformer.js","sources":["../../../../../../../packages/components/form/src/utils/transformer.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2025-09-22 15:06:55\n * @LastEditors: shen\n * @LastEditTime: 2025-09-22 15:22:46\n * @Description:\n */\nimport { runFunction } from '@pro-design-vue/utils'\nimport type { ProFormItemType, TransformerMapType } from '../type'\n\nfunction transformer(items: ProFormItemType[]) {\n const transformerMap: TransformerMapType = new Map()\n const handler = (items: ProFormItemType[]) => {\n items.forEach((item) => {\n if (item.name && (item.transform || item.convertValue)) {\n transformerMap.set(item.name, {\n transform: item.transform,\n convertValue: item.convertValue,\n })\n } else if (item.children) {\n const children = runFunction(item.children) ?? []\n handler(children)\n }\n })\n }\n\n handler(items)\n\n return transformerMap\n}\n\nexport default transformer\n"],"names":["items","runFunction"],"mappings":";;;;;;AAUA,SAAS,YAAY,KAAA,EAA0B;AAC7C,EAAA,MAAM,cAAA,uBAAyC,GAAA,EAAI;AACnD,EAAA,MAAM,OAAA,GAAU,CAACA,MAAAA,KAA6B;AAC5C,IAAAA,MAAAA,CAAM,OAAA,CAAQ,CAAC,IAAA,KAAS;AAb5B,MAAA,IAAA,EAAA;AAcM,MAAA,IAAI,IAAA,CAAK,IAAA,KAAS,IAAA,CAAK,SAAA,IAAa,KAAK,YAAA,CAAA,EAAe;AACtD,QAAA,cAAA,CAAe,GAAA,CAAI,KAAK,IAAA,EAAM;AAAA,UAC5B,WAAW,IAAA,CAAK,SAAA;AAAA,UAChB,cAAc,IAAA,CAAK;AAAA,SACpB,CAAA;AAAA,MACH,CAAA,MAAA,IAAW,KAAK,QAAA,EAAU;AACxB,QAAA,MAAM,YAAW,EAAA,GAAAC,uBAAA,CAAY,IAAA,CAAK,QAAQ,CAAA,KAAzB,YAA8B,EAAC;AAChD,QAAA,OAAA,CAAQ,QAAQ,CAAA;AAAA,MAClB;AAAA,IACF,CAAC,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,OAAA,CAAQ,KAAK,CAAA;AAEb,EAAA,OAAO,cAAA;AACT;;;;"}
@@ -19,7 +19,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
19
19
  __name: "modal",
20
20
  props: {
21
21
  description: { type: String, required: false },
22
- showFullscreen: { type: Boolean, required: false, default: true },
22
+ showFullscreen: { type: Boolean, required: false, default: false },
23
23
  defaultFullscreen: { type: Boolean, required: false },
24
24
  draggable: { type: Boolean, required: false, default: false },
25
25
  top: { type: Number, required: false, default: 100 },
@@ -1 +1 @@
1
- {"version":3,"file":"modal.vue2.js","sources":["../../../../../../packages/components/modal/src/modal.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2025-06-23 16:43:27\n * @LastEditors: shen\n * @LastEditTime: 2025-08-29 13:53:15\n * @Description:\n-->\n<script setup lang=\"ts\">\nimport type { ModalProps } from 'ant-design-vue'\n\nimport { computed, ref, useTemplateRef, useAttrs } from 'vue'\nimport { Modal } 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'\nimport { useDraggable, useElementBounding, useResizeObserver } from '@vueuse/core'\nexport interface Props extends Omit<ModalProps, 'visible'> {\n /**\n * @zh_CN 标题描述信息\n */\n description?: string\n /**\n * @zh_CN 是否可以切换全屏\n */\n showFullscreen?: boolean\n /**\n * @zh_CN 默认全屏\n */\n defaultFullscreen?: boolean\n /**\n * @zh_CN 是否可以拖拽\n */\n draggable?: boolean\n /**\n * @zh_CN 距离顶部距离\n */\n top?: number\n}\ndefineOptions({\n name: 'ProModal',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<Props>(), {\n autofocus: false,\n closable: true,\n destroyOnClose: true,\n getContainer: () => document.body,\n mask: true,\n keyboard: true,\n maskClosable: true,\n open: false,\n showFullscreen: true,\n draggable: false,\n top: 100,\n})\nconst emit = defineEmits<{ cancel: [e: Event]; fullScreen: [value: boolean] }>()\nconst attrs = useAttrs()\nconst prefixCls = usePrefixCls('modal')\n// const open = defineModel<boolean>('open')\nconst isDrag = ref(false)\nconst fullscreen = ref(props.defaultFullscreen)\nconst { isMobile } = useIsMobile()\nconst bodyWidth = ref(0)\nconst modalHeaderEl = useTemplateRef<HTMLElement>('modalHeaderRef')\nconst { width } = useElementBounding(modalHeaderEl)\nuseResizeObserver(document.body, (entries) => {\n const entry = entries[0]\n const { width } = entry?.contentRect || ({} as DOMRectReadOnly)\n bodyWidth.value = width\n})\nconst hasFullscreen = computed(() => isMobile.value || fullscreen.value)\nconst hasDraggable = computed(() => props.draggable && !hasFullscreen.value)\n\nconst { style } = useDraggable(modalHeaderEl, {\n disabled: computed(() => !hasDraggable.value),\n onMove() {\n isDrag.value = true\n },\n})\n\nconst modalProps = computed(() =>\n omitKeysAndUndefined(props, ['closable', 'onCancel', 'title', 'width', 'height']),\n)\n\nconst modalClass = computed(() => ({\n [prefixCls]: true,\n [attrs.class as string]: true,\n [`${prefixCls}--fullscreen`]: hasFullscreen.value,\n [`${prefixCls}--draggable`]: hasDraggable.value,\n}))\n\nconst modalStyle = computed(() => {\n if (isDrag.value) {\n return style.value\n }\n if (hasDraggable.value) {\n return {\n left: (bodyWidth.value - width.value) / 2 + 'px',\n top: `${props.top}px`,\n }\n }\n return {\n top: `${props.top}px`,\n }\n})\n\nconst modalWidth = computed(() => {\n if (hasFullscreen.value) {\n return '100%'\n }\n return props.width\n})\n\nconst handleClose = (e: Event) => {\n fullscreen.value = props.defaultFullscreen\n props['onUpdate:open']?.(false)\n emit('cancel', e)\n}\n\nconst handleBtnClose = (e: Event) => {\n e.stopPropagation()\n handleClose(e)\n}\n\nconst handleFullScreen = () => {\n fullscreen.value = !fullscreen.value\n emit('fullScreen', fullscreen.value)\n}\n</script>\n\n<template>\n <Modal\n v-bind=\"modalProps\"\n :class=\"modalClass\"\n :closable=\"false\"\n :width=\"modalWidth\"\n :style=\"modalStyle\"\n @cancel=\"handleClose\"\n >\n <template #title>\n <div ref=\"modalHeaderRef\" :class=\"`${prefixCls}-header`\">\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 <div :class=\"`${prefixCls}-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 </div>\n </div>\n </template>\n <template #default>\n <slot />\n </template>\n\n <template #footer v-if=\"$slots.footer\">\n <slot name=\"footer\" />\n </template>\n </Modal>\n</template>\n"],"names":["useAttrs","usePrefixCls","ref","useIsMobile","useTemplateRef","useElementBounding","useResizeObserver","width","computed","useDraggable","omitKeysAndUndefined","_createBlock","_unref","Modal","_mergeProps","_createElementVNode","_renderSlot","title","description","showFullscreen","ProButton","FullscreenOutlined","FullscreenExitOutlined","closable","_createVNode","CloseOutlined","$slots"],"mappings":"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"}
1
+ {"version":3,"file":"modal.vue2.js","sources":["../../../../../../packages/components/modal/src/modal.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2025-06-23 16:43:27\n * @LastEditors: shen\n * @LastEditTime: 2025-09-24 16:34:14\n * @Description:\n-->\n<script setup lang=\"ts\">\nimport type { ModalProps } from 'ant-design-vue'\n\nimport { computed, ref, useTemplateRef, useAttrs } from 'vue'\nimport { Modal } 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'\nimport { useDraggable, useElementBounding, useResizeObserver } from '@vueuse/core'\nexport interface Props extends Omit<ModalProps, 'visible'> {\n /**\n * @zh_CN 标题描述信息\n */\n description?: string\n /**\n * @zh_CN 是否可以切换全屏\n */\n showFullscreen?: boolean\n /**\n * @zh_CN 默认全屏\n */\n defaultFullscreen?: boolean\n /**\n * @zh_CN 是否可以拖拽\n */\n draggable?: boolean\n /**\n * @zh_CN 距离顶部距离\n */\n top?: number\n}\ndefineOptions({\n name: 'ProModal',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<Props>(), {\n autofocus: false,\n closable: true,\n destroyOnClose: true,\n getContainer: () => document.body,\n mask: true,\n keyboard: true,\n maskClosable: true,\n open: false,\n showFullscreen: false,\n draggable: false,\n top: 100,\n})\nconst emit = defineEmits<{ cancel: [e: Event]; fullScreen: [value: boolean] }>()\nconst attrs = useAttrs()\nconst prefixCls = usePrefixCls('modal')\n// const open = defineModel<boolean>('open')\nconst isDrag = ref(false)\nconst fullscreen = ref(props.defaultFullscreen)\nconst { isMobile } = useIsMobile()\nconst bodyWidth = ref(0)\nconst modalHeaderEl = useTemplateRef<HTMLElement>('modalHeaderRef')\nconst { width } = useElementBounding(modalHeaderEl)\nuseResizeObserver(document.body, (entries) => {\n const entry = entries[0]\n const { width } = entry?.contentRect || ({} as DOMRectReadOnly)\n bodyWidth.value = width\n})\nconst hasFullscreen = computed(() => isMobile.value || fullscreen.value)\nconst hasDraggable = computed(() => props.draggable && !hasFullscreen.value)\n\nconst { style } = useDraggable(modalHeaderEl, {\n disabled: computed(() => !hasDraggable.value),\n onMove() {\n isDrag.value = true\n },\n})\n\nconst modalProps = computed(() =>\n omitKeysAndUndefined(props, ['closable', 'onCancel', 'title', 'width', 'height']),\n)\n\nconst modalClass = computed(() => ({\n [prefixCls]: true,\n [attrs.class as string]: true,\n [`${prefixCls}--fullscreen`]: hasFullscreen.value,\n [`${prefixCls}--draggable`]: hasDraggable.value,\n}))\n\nconst modalStyle = computed(() => {\n if (isDrag.value) {\n return style.value\n }\n if (hasDraggable.value) {\n return {\n left: (bodyWidth.value - width.value) / 2 + 'px',\n top: `${props.top}px`,\n }\n }\n return {\n top: `${props.top}px`,\n }\n})\n\nconst modalWidth = computed(() => {\n if (hasFullscreen.value) {\n return '100%'\n }\n return props.width\n})\n\nconst handleClose = (e: Event) => {\n fullscreen.value = props.defaultFullscreen\n props['onUpdate:open']?.(false)\n emit('cancel', e)\n}\n\nconst handleBtnClose = (e: Event) => {\n e.stopPropagation()\n handleClose(e)\n}\n\nconst handleFullScreen = () => {\n fullscreen.value = !fullscreen.value\n emit('fullScreen', fullscreen.value)\n}\n</script>\n\n<template>\n <Modal\n v-bind=\"modalProps\"\n :class=\"modalClass\"\n :closable=\"false\"\n :width=\"modalWidth\"\n :style=\"modalStyle\"\n @cancel=\"handleClose\"\n >\n <template #title>\n <div ref=\"modalHeaderRef\" :class=\"`${prefixCls}-header`\">\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 <div :class=\"`${prefixCls}-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 </div>\n </div>\n </template>\n <template #default>\n <slot />\n </template>\n\n <template #footer v-if=\"$slots.footer\">\n <slot name=\"footer\" />\n </template>\n </Modal>\n</template>\n"],"names":["useAttrs","usePrefixCls","ref","useIsMobile","useTemplateRef","useElementBounding","useResizeObserver","width","computed","useDraggable","omitKeysAndUndefined","_createBlock","_unref","Modal","_mergeProps","_createElementVNode","_renderSlot","title","description","showFullscreen","ProButton","FullscreenOutlined","FullscreenExitOutlined","closable","_createVNode","CloseOutlined","$slots"],"mappings":"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"}