pro-design-vue 1.0.0-rc.8 → 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 (240) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +503 -232
  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 +503 -232
  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 +23 -15
  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 -2
  42. package/es/components/form/src/hooks/useAction.mjs +137 -12
  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/DrawerForm.mjs +8 -12
  49. package/es/components/form/src/layouts/DrawerForm.mjs.map +1 -1
  50. package/es/components/form/src/layouts/ModalForm.d.ts +1 -1
  51. package/es/components/form/src/layouts/ModalForm.mjs +8 -12
  52. package/es/components/form/src/layouts/ModalForm.mjs.map +1 -1
  53. package/es/components/form/src/layouts/QueryFilter.d.ts +1 -1
  54. package/es/components/form/src/layouts/QueryFilter.mjs +14 -4
  55. package/es/components/form/src/layouts/QueryFilter.mjs.map +1 -1
  56. package/es/components/form/src/layouts/StepsForm.d.ts +1 -1
  57. package/es/components/form/src/layouts/StepsForm.mjs +8 -8
  58. package/es/components/form/src/layouts/StepsForm.mjs.map +1 -1
  59. package/es/components/form/src/type.d.ts +29 -16
  60. package/es/components/form/src/utils/transformer.d.ts +3 -0
  61. package/es/components/form/src/utils/transformer.mjs +24 -0
  62. package/es/components/form/src/utils/transformer.mjs.map +1 -0
  63. package/es/components/modal/src/modal.vue2.mjs +1 -1
  64. package/es/components/modal/src/modal.vue2.mjs.map +1 -1
  65. package/es/components/table/src/components/Body/Body.vue.mjs.map +1 -1
  66. package/es/components/table/src/components/Body/Body.vue2.mjs +1 -2
  67. package/es/components/table/src/components/Body/Body.vue2.mjs.map +1 -1
  68. package/es/components/table/src/components/Body/BodyCell.mjs +2 -2
  69. package/es/components/table/src/components/Body/BodyCell.mjs.map +1 -1
  70. package/es/components/table/src/components/Body/BodyRow.vue.mjs.map +1 -1
  71. package/es/components/table/src/components/Body/BodyRow.vue2.mjs +3 -3
  72. package/es/components/table/src/components/Body/BodyRow.vue2.mjs.map +1 -1
  73. package/es/components/table/src/components/Drag/RowHandler.vue.mjs.map +1 -1
  74. package/es/components/table/src/components/Drag/RowHandler.vue2.mjs +17 -16
  75. package/es/components/table/src/components/Drag/RowHandler.vue2.mjs.map +1 -1
  76. package/es/components/table/src/components/Header/HeaderCellTitle.vue.mjs +19 -7
  77. package/es/components/table/src/components/Header/HeaderCellTitle.vue.mjs.map +1 -1
  78. package/es/components/table/src/components/Header/HeaderCellTitle.vue2.mjs +1 -0
  79. package/es/components/table/src/components/Header/HeaderCellTitle.vue2.mjs.map +1 -1
  80. package/es/components/table/src/components/Header/HeaderExtraCell.vue.mjs.map +1 -1
  81. package/es/components/table/src/components/Header/HeaderExtraCell.vue2.mjs +1 -0
  82. package/es/components/table/src/components/Header/HeaderExtraCell.vue2.mjs.map +1 -1
  83. package/es/components/table/src/components/InteralTable.vue.d.ts +21 -0
  84. package/es/components/table/src/components/InteralTable.vue.mjs.map +1 -1
  85. package/es/components/table/src/components/InteralTable.vue2.mjs +11 -5
  86. package/es/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
  87. package/es/components/table/src/components/Table.d.ts +25 -4
  88. package/es/components/table/src/components/Table.mjs +48 -14
  89. package/es/components/table/src/components/Table.mjs.map +1 -1
  90. package/es/components/table/src/components/ToolBar/ToolBar.vue.mjs +25 -6
  91. package/es/components/table/src/components/ToolBar/ToolBar.vue.mjs.map +1 -1
  92. package/es/components/table/src/components/ToolBar/ToolBar.vue2.mjs.map +1 -1
  93. package/es/components/table/src/components/interface.d.ts +33 -5
  94. package/es/components/table/src/components/interface.mjs +10 -1
  95. package/es/components/table/src/components/interface.mjs.map +1 -1
  96. package/es/components/table/src/hooks/useCellProps.mjs +3 -1
  97. package/es/components/table/src/hooks/useCellProps.mjs.map +1 -1
  98. package/es/components/table/src/hooks/useContainer.mjs +1 -1
  99. package/es/components/table/src/hooks/useContainer.mjs.map +1 -1
  100. package/es/components/table/src/hooks/useFetchData.mjs +13 -18
  101. package/es/components/table/src/hooks/useFetchData.mjs.map +1 -1
  102. package/es/components/table/src/hooks/useHover.d.ts +3 -0
  103. package/es/components/table/src/hooks/useHover.mjs +3 -1
  104. package/es/components/table/src/hooks/useHover.mjs.map +1 -1
  105. package/es/components/table/src/hooks/usePagination.d.ts +1 -0
  106. package/es/components/table/src/hooks/usePagination.mjs +7 -2
  107. package/es/components/table/src/hooks/usePagination.mjs.map +1 -1
  108. package/es/components/table/src/utils/genProColumnToColumn.mjs +5 -4
  109. package/es/components/table/src/utils/genProColumnToColumn.mjs.map +1 -1
  110. package/es/components/table/src/utils/util.d.ts +1 -1
  111. package/es/components/table/src/utils/util.mjs +1 -1
  112. package/es/components/table/src/utils/util.mjs.map +1 -1
  113. package/es/index.d.ts +70 -26
  114. package/es/utils/validate.d.ts +1 -1
  115. package/es/utils/validate.mjs +1 -1
  116. package/es/utils/validate.mjs.map +1 -1
  117. package/es/version.d.ts +1 -1
  118. package/es/version.mjs +1 -1
  119. package/es/version.mjs.map +1 -1
  120. package/lib/components/drawer/src/drawer.vue2.js +1 -1
  121. package/lib/components/drawer/src/drawer.vue2.js.map +1 -1
  122. package/lib/components/form/src/Form.d.ts +1 -1
  123. package/lib/components/form/src/base/BaseForm.d.ts +1 -1
  124. package/lib/components/form/src/base/BaseForm.js +21 -13
  125. package/lib/components/form/src/base/BaseForm.js.map +1 -1
  126. package/lib/components/form/src/base/StepForm.d.ts +1 -1
  127. package/lib/components/form/src/components/FormColWrapper.d.ts +9 -0
  128. package/lib/components/form/src/components/FormColWrapper.js +9 -1
  129. package/lib/components/form/src/components/FormColWrapper.js.map +1 -1
  130. package/lib/components/form/src/components/FormGroup.d.ts +6 -4
  131. package/lib/components/form/src/components/FormGroup.js +1 -1
  132. package/lib/components/form/src/components/FormGroup.js.map +1 -1
  133. package/lib/components/form/src/components/FormItem.d.ts +9 -0
  134. package/lib/components/form/src/components/FormItem.js +32 -24
  135. package/lib/components/form/src/components/FormItem.js.map +1 -1
  136. package/lib/components/form/src/components/FormItems.js +2 -1
  137. package/lib/components/form/src/components/FormItems.js.map +1 -1
  138. package/lib/components/form/src/components/FormList.d.ts +6 -4
  139. package/lib/components/form/src/components/FormList.js +1 -1
  140. package/lib/components/form/src/components/FormList.js.map +1 -1
  141. package/lib/components/form/src/components/FormListContainer.d.ts +6 -4
  142. package/lib/components/form/src/components/FormListContainer.js +1 -1
  143. package/lib/components/form/src/components/FormListContainer.js.map +1 -1
  144. package/lib/components/form/src/components/FormSet.d.ts +6 -4
  145. package/lib/components/form/src/components/FormSet.js +1 -1
  146. package/lib/components/form/src/components/FormSet.js.map +1 -1
  147. package/lib/components/form/src/components/FormSubmitter.d.ts +2 -2
  148. package/lib/components/form/src/components/FormSubmitter.js +25 -7
  149. package/lib/components/form/src/components/FormSubmitter.js.map +1 -1
  150. package/lib/components/form/src/components/FormTitle.d.ts +6 -4
  151. package/lib/components/form/src/components/FormTitle.js +11 -6
  152. package/lib/components/form/src/components/FormTitle.js.map +1 -1
  153. package/lib/components/form/src/hooks/useAction.d.ts +5 -2
  154. package/lib/components/form/src/hooks/useAction.js +137 -10
  155. package/lib/components/form/src/hooks/useAction.js.map +1 -1
  156. package/lib/components/form/src/hooks/useFieldValue.d.ts +1 -1
  157. package/lib/components/form/src/hooks/useFieldValue.js +11 -15
  158. package/lib/components/form/src/hooks/useFieldValue.js.map +1 -1
  159. package/lib/components/form/src/layouts/DrawerForm.d.ts +1 -1
  160. package/lib/components/form/src/layouts/DrawerForm.js +8 -12
  161. package/lib/components/form/src/layouts/DrawerForm.js.map +1 -1
  162. package/lib/components/form/src/layouts/ModalForm.d.ts +1 -1
  163. package/lib/components/form/src/layouts/ModalForm.js +8 -12
  164. package/lib/components/form/src/layouts/ModalForm.js.map +1 -1
  165. package/lib/components/form/src/layouts/QueryFilter.d.ts +1 -1
  166. package/lib/components/form/src/layouts/QueryFilter.js +14 -4
  167. package/lib/components/form/src/layouts/QueryFilter.js.map +1 -1
  168. package/lib/components/form/src/layouts/StepsForm.d.ts +1 -1
  169. package/lib/components/form/src/layouts/StepsForm.js +8 -8
  170. package/lib/components/form/src/layouts/StepsForm.js.map +1 -1
  171. package/lib/components/form/src/type.d.ts +29 -16
  172. package/lib/components/form/src/utils/transformer.d.ts +3 -0
  173. package/lib/components/form/src/utils/transformer.js +28 -0
  174. package/lib/components/form/src/utils/transformer.js.map +1 -0
  175. package/lib/components/modal/src/modal.vue2.js +1 -1
  176. package/lib/components/modal/src/modal.vue2.js.map +1 -1
  177. package/lib/components/table/src/components/Body/Body.vue.js.map +1 -1
  178. package/lib/components/table/src/components/Body/Body.vue2.js +1 -2
  179. package/lib/components/table/src/components/Body/Body.vue2.js.map +1 -1
  180. package/lib/components/table/src/components/Body/BodyCell.js +2 -2
  181. package/lib/components/table/src/components/Body/BodyCell.js.map +1 -1
  182. package/lib/components/table/src/components/Body/BodyRow.vue.js.map +1 -1
  183. package/lib/components/table/src/components/Body/BodyRow.vue2.js +3 -3
  184. package/lib/components/table/src/components/Body/BodyRow.vue2.js.map +1 -1
  185. package/lib/components/table/src/components/Drag/RowHandler.vue.js.map +1 -1
  186. package/lib/components/table/src/components/Drag/RowHandler.vue2.js +17 -16
  187. package/lib/components/table/src/components/Drag/RowHandler.vue2.js.map +1 -1
  188. package/lib/components/table/src/components/Header/HeaderCellTitle.vue.js +18 -6
  189. package/lib/components/table/src/components/Header/HeaderCellTitle.vue.js.map +1 -1
  190. package/lib/components/table/src/components/Header/HeaderCellTitle.vue2.js +1 -0
  191. package/lib/components/table/src/components/Header/HeaderCellTitle.vue2.js.map +1 -1
  192. package/lib/components/table/src/components/Header/HeaderExtraCell.vue.js.map +1 -1
  193. package/lib/components/table/src/components/Header/HeaderExtraCell.vue2.js +1 -0
  194. package/lib/components/table/src/components/Header/HeaderExtraCell.vue2.js.map +1 -1
  195. package/lib/components/table/src/components/InteralTable.vue.d.ts +21 -0
  196. package/lib/components/table/src/components/InteralTable.vue.js.map +1 -1
  197. package/lib/components/table/src/components/InteralTable.vue2.js +12 -6
  198. package/lib/components/table/src/components/InteralTable.vue2.js.map +1 -1
  199. package/lib/components/table/src/components/Table.d.ts +25 -4
  200. package/lib/components/table/src/components/Table.js +47 -13
  201. package/lib/components/table/src/components/Table.js.map +1 -1
  202. package/lib/components/table/src/components/ToolBar/ToolBar.vue.js +24 -5
  203. package/lib/components/table/src/components/ToolBar/ToolBar.vue.js.map +1 -1
  204. package/lib/components/table/src/components/ToolBar/ToolBar.vue2.js.map +1 -1
  205. package/lib/components/table/src/components/interface.d.ts +33 -5
  206. package/lib/components/table/src/components/interface.js +10 -1
  207. package/lib/components/table/src/components/interface.js.map +1 -1
  208. package/lib/components/table/src/hooks/useCellProps.js +3 -1
  209. package/lib/components/table/src/hooks/useCellProps.js.map +1 -1
  210. package/lib/components/table/src/hooks/useContainer.js +1 -1
  211. package/lib/components/table/src/hooks/useContainer.js.map +1 -1
  212. package/lib/components/table/src/hooks/useFetchData.js +13 -18
  213. package/lib/components/table/src/hooks/useFetchData.js.map +1 -1
  214. package/lib/components/table/src/hooks/useHover.d.ts +3 -0
  215. package/lib/components/table/src/hooks/useHover.js +2 -0
  216. package/lib/components/table/src/hooks/useHover.js.map +1 -1
  217. package/lib/components/table/src/hooks/usePagination.d.ts +1 -0
  218. package/lib/components/table/src/hooks/usePagination.js +7 -1
  219. package/lib/components/table/src/hooks/usePagination.js.map +1 -1
  220. package/lib/components/table/src/utils/genProColumnToColumn.js +5 -4
  221. package/lib/components/table/src/utils/genProColumnToColumn.js.map +1 -1
  222. package/lib/components/table/src/utils/util.d.ts +1 -1
  223. package/lib/components/table/src/utils/util.js +1 -1
  224. package/lib/components/table/src/utils/util.js.map +1 -1
  225. package/lib/index.d.ts +70 -26
  226. package/lib/utils/validate.d.ts +1 -1
  227. package/lib/utils/validate.js +1 -1
  228. package/lib/utils/validate.js.map +1 -1
  229. package/lib/version.d.ts +1 -1
  230. package/lib/version.js +1 -1
  231. package/lib/version.js.map +1 -1
  232. package/package.json +1 -1
  233. package/theme-chalk/css-var.css +1 -1
  234. package/theme-chalk/index.css +1 -1
  235. package/theme-chalk/pro-form.css +1 -1
  236. package/theme-chalk/src/css-var.less +154 -677
  237. package/theme-chalk/src/form.less +5 -0
  238. package/theme-chalk/src/table/alert.less +1 -0
  239. package/theme-chalk/src/table/table.less +3 -3
  240. package/theme-chalk/src/common/css-var.less +0 -914
@@ -1 +1 @@
1
- {"version":3,"file":"StepsForm.mjs","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":";;;;;;;;;;;;;;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,OAAAA,CAAAL,CAAA,CAAA;AAAA;AAOzD,MAAMM,mBAAAA,GAAuE;AAAA,EAC3EC,UAAAA,CAAW;AAAA,IAAEC,QAAAA;AAAAA,IAAUC;AAAAA,GAAQ,EAAG;AAChC,IAAA,OAAAC,WAAAA,CAAAC,QAAAA,EAAA,IAAA,EAAA,CAAAD,YAAAE,GAAAA,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,WAAAA,CAAAO,GAAAA,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,WAAAA,CAAAE,GAAAA,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,WAAAA,CAAAO,GAAAA,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,YAAAE,GAAAA,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,WAAAA,CAAAO,GAAAA,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,YAAAA,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,WAAAA,CAAAO,GAAAA,EAAA,IAAA,EAAA;AAAA,QAAAD,OAAAA,EAAAA,MAAA,CAAAN,WAAAA,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,gDAA+B;AAAA,EAC7BiB,IAAAA,EAAM,cAAA;AAAA,EACNC,YAAAA,EAAc,KAAA;AAAA,EACdC,KAAAA,EAAO;AAAA,IACL,GAAGC,cAAAA;AAAe,GACpB;AAAA,EACAC,OAAO,EAAA;AAAA,EACPC,MAAMH,KAAAA,EAAO;AAAA,IAAEI;AAAAA,GAAM,EAAG;AACtB,IAAA,MAAMC,OAAOC,OAAAA,EAAQ;AACrB,IAAA,MAAMC,SAAAA,GAAYC,aAAa,YAAY,CAAA;AAC3C,IAAA,MAAMC,YAAAA,GAAeC,GAAAA,CAA0C,EAAE,CAAA;AACjE,IAAA,MAAMC,WAAAA,uBAAkBC,GAAAA,EAAiC;AACzD,IAAA,MAAM,CAACC,OAAAA,EAASC,UAAU,CAAA,GAAIC,SAAkB,KAAK,CAAA;AACrD,IAAA,MAAMC,YAAYC,QAAAA,CAAS,MACzBC,cACEC,IAAAA,CAAKnB,KAAAA,EAAO,CACV,MAAA,EACA,SAAA,EACA,YAAA,EACA,gBAAA,EACA,mBACA,OAAA,EACA,OAAA,EACA,aACA,UAAU,CACX,CACH,CACF,CAAA;AAEA,IAAA,MAAMoB,SAAAA,GAAYH,SAAsB;AA9F5C,MAAA,IAAA,EAAA;AA+FMjB,MAAAA,OAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMqB,KAAAA,KAANrB,mBAAasB,GAAAA,CAAKC,CAAAA,IAAAA,KAASJ,KAAKI,IAAAA,EAAM,CAAC,WAAW,CAAC,CAAA,CAAA;AAAA,IAAA,CACrD,CAAA;AAEA,IAAA,MAAM,CAACC,IAAAA,EAAMC,OAAO,CAAA,GAAIC,eAAuB,CAAA,EAAG;AAAA,MAChDC,KAAAA,EAAOV,QAAAA,CAAS,MAAMjB,KAAAA,CAAM4B,OAAQ,CAAA;AAAA,MACpCC,UAAU7B,KAAAA,CAAM8B;AAAAA,KACjB,CAAA;AAED,IAAA,MAAMC,OAAAA,GAAUA,CAACC,OAAAA,EAAwCC,KAAAA,KAAkB;AACzExB,MAAAA,YAAAA,CAAakB,KAAAA,CAAMM,KAAK,CAAA,GAAID,OAAAA;AAAAA,IAC9B,CAAA;AAEA,IAAA,MAAME,QAAAA,GAAWjB,SAAS,MAAMO,IAAAA,CAAKG,UAAU3B,KAAAA,CAAMqB,KAAAA,CAAMc,SAAS,CAAC,CAAA;AAErE,IAAA,MAAMC,YAAAA,GAAe,OAAOtC,IAAAA,EAAcuC,QAAAA,KAAkB;AAC1D1B,MAAAA,WAAAA,CAAY2B,GAAAA,CAAIxC,MAAMuC,QAAQ,CAAA;AAE9B,MAAA,IAAI,CAACH,QAAAA,CAASP,KAAAA,IAAS,CAAC3B,MAAMuC,QAAAA,EAAU;AACtC,QAAA;AAAA,MACF;AACAzB,MAAAA,UAAAA,CAAW,IAAI,CAAA;AACf,MAAA,MAAM0B,MAAAA,GAAcC,KAAAA,CAAM,EAAC,EAAG,GAAGC,MAAMC,IAAAA,CAAKhC,WAAAA,CAAY6B,MAAAA,EAAQ,CAAC,CAAA;AACjE,MAAA,IAAI;AACF,QAAA,MAAMI,OAAAA,GAAU,MAAM5C,KAAAA,CAAMuC,QAAAA,CAASC,MAAM,CAAA;AAC3C,QAAA,IAAII,OAAAA,EAAS;AACXnB,UAAAA,OAAAA,CAAQ,CAAC,CAAA;AACThB,UAAAA,YAAAA,CAAakB,KAAAA,CAAMkB,QAASC,CAAAA,IAAAA,KAAI;AAzH1C,YAAA,IAAA,EAAA;AAyH+CA,YAAAA,OAAAA,CAAAA,EAAAA,GAAAA,IAAAA,CAAKnB,UAALmB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAYC,KAAAA,EAAAA;AAAAA,UAAAA,CAAO,CAAA;AAAA,QAC1D;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;AAlI3B,MAAA,IAAA,EAAA;AAmIM,MAAA,MAAMR,IAAAA,GAAOlC,YAAAA,CAAakB,KAAAA,CAAMH,IAAAA,CAAKG,KAAK,CAAA;AAC1C,MAAA,IAAIgB,IAAAA,EAAM;AACRA,QAAAA,CAAAA,EAAAA,GAAAA,IAAAA,CAAKhB,UAALgB,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAYS,MAAAA,EAAAA;AAAAA,MACd;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,SAAS,MAAM;AA/IhC,MAAA,IAAA,EAAA;AA+IgC,MAAA,IAAAsC,MAAAA;AAC1B,MAAA,OACEvD,KAAAA,CAAMwD,SAAAA,KAAc,KAAA,IAAK1E,WAAAA,CAAA2E,WAAAC,UAAAA,CAAA;AAAA,QAAA,KAAA,EAAA,MAAA;AAAA,QAAA,MAAA,EAAA,SAAA;AAAA,QAAA,WAIZ7C,OAAAA,CAAQc;AAAAA,OAAK,EAAA,CAClB3B,EAAAA,GAAAA,KAAAA,CAAMwD,SAAAA,KAANxD,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAiB2D,iBAAAA,EAAiB;AAAA,QAAA,WAC7BC,MAAM;AACbT,UAAAA,QAAAA,EAAS;AAAA,QACX;AAAA,OAAC,CAAA,EAAAhF,OAAAA,CAAAoF,MAAAA,GAEAlD,IAAAA,CAAKwD,WAAW,gBAAA,EAAkB,oBAAK,CAAC,CAAA,GAAAN,MAAAA,GAAA;AAAA,QAAAnE,OAAAA,EAAAA,MAAA,CAAAmE,MAAA;AAAA,OAAA,CAAA;AAAA,IAIjD,CAAC,CAAA;AAED,IAAA,MAAMO,GAAAA,GAAM7C,SAAS,MAAM;AAjK/B,MAAA,IAAA,EAAA;AAiK+B,MAAA,IAAA8C,MAAAA;AACzB,MAAA,OACE/D,KAAAA,CAAMwD,SAAAA,KAAc,KAAA,IAAK1E,WAAAA,CAAA2E,WAAAC,UAAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAA,OAAA,EAAA,CAGjB1D,EAAAA,GAAAA,KAAAA,CAAMwD,SAAAA,KAANxD,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAiBgE,gBAAAA,EAAgB;AAAA,QAAA,WAC5BJ,MAAM;AACbP,UAAAA,OAAAA,EAAQ;AAAA,QACV;AAAA,OAAC,CAAA,EAAAlF,OAAAA,CAAA4F,MAAAA,GAEA1D,IAAAA,CAAKwD,WAAW,gBAAA,EAAkB,oBAAK,CAAC,CAAA,GAAAE,MAAAA,GAAA;AAAA,QAAA3E,OAAAA,EAAAA,MAAA,CAAA2E,MAAA;AAAA,OAAA,CAAA;AAAA,IAIjD,CAAC,CAAA;AAED,IAAA,MAAMX,MAAAA,GAASnC,SAAS,MAAM;AAjLlC,MAAA,IAAA,EAAA;AAiLkC,MAAA,IAAAgD,MAAAA;AAC5B,MAAA,OACEjE,KAAAA,CAAMwD,SAAAA,KAAc,KAAA,IAAK1E,WAAAA,CAAA2E,WAAAC,UAAAA,CAAA;AAAA,QAAA,KAAA,EAAA,QAAA;AAAA,QAAA,MAAA,EAAA,SAAA;AAAA,QAAA,WAIZ7C,OAAAA,CAAQc;AAAAA,OAAK,EAAA,CAClB3B,EAAAA,GAAAA,KAAAA,CAAMwD,SAAAA,KAANxD,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAiB2D,iBAAAA,EAAiB;AAAA,QAAA,WAC7BC,MAAM;AACbT,UAAAA,QAAAA,EAAS;AAAA,QACX;AAAA,OAAC,CAAA,EAAAhF,OAAAA,CAAA8F,MAAAA,GAEA5D,IAAAA,CAAKwD,WAAW,kBAAA,EAAoB,cAAI,CAAC,CAAA,GAAAI,MAAAA,GAAA;AAAA,QAAA7E,OAAAA,EAAAA,MAAA,CAAA6E,MAAA;AAAA,OAAA,CAAA;AAAA,IAIlD,CAAC,CAAA;AAED,IAAA,MAAMC,WAAWA,MAAM;AACrB,MAAA,IAAI1C,IAAAA,CAAKG,KAAAA,GAAQ3B,KAAAA,CAAMqB,KAAAA,CAAMc,SAAS,CAAA,EAAG;AACzCV,MAAAA,OAAAA,CAAQD,IAAAA,CAAKG,QAAQ,CAAC,CAAA;AAAA,IACxB,CAAA;AAEA,IAAA,MAAMwC,YAAAA,GAAelD,SAAS,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,CAAIjC,EAAAA,GAAAA,KAAAA,CAAMqB,KAAAA,KAANrB,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAamC,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,CAAMjC,EAAAA,GAAAA,KAAAA,CAAMqB,KAAAA,KAANrB,mBAAamC,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,SACnB;AA3NN,MAAA,IAAA,EAAA;AA2NYvC,MAAAA,OAAAA,mBAAAA,CAAAA,CAAAA,CAAoBsB,EAAAA,GAAAA,KAAAA,CAAMuE,UAAAA,KAANvE,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAkBwE,SAAAA,KAAa,YAAY,CAAA;AAAA,IAAA,CACvE,CAAA;AAEA,IAAA,MAAMC,aAAAA,GAAgBxD,SAAgB,MAAM;AAC1C,MAAA,OAAAnC,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAEW,GAAGyB,SAAS,CAAA,gBAAA,CAAA;AAAA,QAAkB,OAAA,EAC9B;AAAA,UACLmE,QAAAA,EAAUC,KAAKC,GAAAA,CAAI5E,KAAAA,CAAMqB,MAAMc,MAAAA,GAAS,GAAA,EAAK,IAAI,CAAA,GAAI;AAAA;AACvD,SAAC,CAAArD,WAAAA,CAAA+F,KAAAA,EAAAnB,UAAAA,CAGK1D,MAAMuE,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,QAAAA,CAAgB,MAAAnC,WAAAA,CAAA,KAAA,EAAA;AAAA,MAAA,OAAA,EACxB,GAAGyB,SAAS,CAAA,UAAA,CAAA;AAAA,MAAY,SAASP,KAAAA,CAAMgF;AAAAA,OAAc,CAC9DhF,KAAAA,CAAMiF,MAAM3D,GAAAA,CAAI,CAACC,MAAMU,KAAAA,KAAU;AAlP1C,MAAA,IAAA,EAAA;AAmPU,MAAA,MAAMiD,aAAAA,GAAgB/D,IAAAA,CAAKD,aAAAA,CAAAA,CAAAA,CAAclB,EAAAA,GAAAA,KAAAA,CAAMqB,MAAMY,KAAK,CAAA,KAAjBjC,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAoBgB,SAAAA,KAAa,EAAE,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AACxF,MAAA,MAAMlB,IAAAA,GAAOoF,aAAAA,CAAcpF,IAAAA,IAAQ,CAAA,EAAGmC,KAAK,CAAA,CAAA;AAC3C,MAAA,MAAMkD,iBAAiB1C,KAAAA,CAAM,EAAC,EAAGzB,SAAAA,CAAUW,OAAOuD,aAAa,CAAA;AAC/D,MAAA,OAAApG,WAAAA,CAAAsG,UAAA1B,UAAAA,CAAA;AAAA,QAAA,OAAA,EACmBnC,IAAAA;AAAAA,QAAI,MAAA,EAAQzB,IAAAA;AAAAA,QAAI,OAAA,EAASmC;AAAAA,OAAK,EAAMkD,cAAc,CAAA,EAAW/E,KAAK,CAAA;AAAA,IAEvF,CAAC,CAAA,EAACtB,WAAAA,CAAAuG,KAAAA,EAAA,IAAA,EAAA;AAAA,MAAAjG,OAAAA,EAAAA,MAAA,CACM+E,YAAAA,CAAaxC,KAAK;AAAA,KAAA,CAAA,CAAA,CAE7B,CAAA;AAED,IAAA,MAAM2D,YAAAA,GAAerE,SAAS,MAAM;AA9PxC,MAAA,IAAA,EAAA;AA+PM,MAAA,MAAMsE,IAAAA,GAAO;AAAA,QACX3G,UAAU6F,aAAAA,CAAc9C,KAAAA;AAAAA,QACxB9C,SAASkG,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,mBAAAA,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;AACD,IAAA,OAAO,MAAAtD,YAAA,KAAA,EAAA;AAAA,MAAA,OAAA,EAAkByB;AAAAA,KAAS,EAAA,CAAG+E,YAAAA,CAAa3D,KAAK,CAAA,CAAA;AAAA,EACzD;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"StepsForm.mjs","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":"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"}
@@ -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;
@@ -188,13 +192,13 @@ export type ProFormActionType<T = Entity> = {
188
192
  /** @name 获取对应字段名的值 */
189
193
  getFieldValue: (name: NamePath) => any;
190
194
  /** @name 获取一组字段名对应的值,会按照对应结构返回。默认返回现存字段值,当调用getFieldsValue(true)时返回所有值 */
191
- getFieldsValue: (nameList?: true | NamePath[]) => Partial<T>;
195
+ getFieldsValue: (nameList?: true | NamePath[]) => Partial<T> | undefined;
192
196
  /** @name 获取被SForm格式化后的单个数据 */
193
- getFieldFormatValue: (name: NamePath) => T;
197
+ getFieldFormatValue: (name: NamePath) => T | undefined;
194
198
  /** @name 获取被SForm格式化后的单个数据,包含他的name */
195
- getFieldFormatValueObject: (name: NamePath) => T;
199
+ getFieldFormatValueObject: (name: NamePath) => T | undefined;
196
200
  /** @name 验字段后返回格式化之后的所有数据 */
197
- validateFieldsReturnFormatValue: (nameList?: NamePath[]) => Promise<any>;
201
+ validateFieldsReturnFormatValue: (nameList?: NamePath[]) => Promise<any> | undefined;
198
202
  /** @name 设置表单的值,如果你不希望传入对象被修改,请克隆后传入 */
199
203
  setFieldValue: (name: NamePath, value: any) => void;
200
204
  /** @name 设置表单的值 */
@@ -206,7 +210,7 @@ export type ProFormActionType<T = Entity> = {
206
210
  /** @name 移除表单项的校验结果。传入待移除的表单项的name属性或者name组成的数组,如不传则移除整个表单的校验结果 */
207
211
  clearValidate: (name?: NamePath) => void;
208
212
  /** @name 触发表单验证 */
209
- validateFields: (nameList?: NamePath[]) => Promise<T>;
213
+ validateFields: (nameList?: NamePath[]) => Promise<T> | undefined;
210
214
  /** @name 重置所有字段到initialValues */
211
215
  reset: () => void;
212
216
  /** @name 提交表单,与点击submit按钮效果相同 */
@@ -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,24 @@
1
+ import { runFunction } from '../../../../utils/run-function.mjs';
2
+
3
+ function transformer(items) {
4
+ const transformerMap = /* @__PURE__ */ new Map();
5
+ const handler = (items2) => {
6
+ items2.forEach((item) => {
7
+ var _a;
8
+ if (item.name && (item.transform || item.convertValue)) {
9
+ transformerMap.set(item.name, {
10
+ transform: item.transform,
11
+ convertValue: item.convertValue
12
+ });
13
+ } else if (item.children) {
14
+ const children = (_a = runFunction(item.children)) != null ? _a : [];
15
+ handler(children);
16
+ }
17
+ });
18
+ };
19
+ handler(items);
20
+ return transformerMap;
21
+ }
22
+
23
+ export { transformer as default };
24
+ //# sourceMappingURL=transformer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformer.mjs","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"],"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,GAAA,WAAA,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;;;;"}
@@ -15,7 +15,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
15
15
  __name: "modal",
16
16
  props: {
17
17
  description: { type: String, required: false },
18
- showFullscreen: { type: Boolean, required: false, default: true },
18
+ showFullscreen: { type: Boolean, required: false, default: false },
19
19
  defaultFullscreen: { type: Boolean, required: false },
20
20
  draggable: { type: Boolean, required: false, default: false },
21
21
  top: { type: Number, required: false, default: 100 },
@@ -1 +1 @@
1
- {"version":3,"file":"modal.vue2.mjs","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":["width","_createBlock","_unref","_mergeProps","_createElementVNode","_renderSlot","title","description","showFullscreen","closable","_createVNode","$slots"],"mappings":"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"}
1
+ {"version":3,"file":"modal.vue2.mjs","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":["width","_createBlock","_unref","_mergeProps","_createElementVNode","_renderSlot","title","description","showFullscreen","closable","_createVNode","$slots"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Body.vue.mjs","sources":["../../../../../../../../packages/components/table/src/components/Body/Body.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 22:03:08\n * @LastEditors: shen\n * @LastEditTime: 2025-09-19 16:30:31\n * @Description:\n-->\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, watch, onMounted, shallowRef, onBeforeUnmount } from 'vue'\nimport { Empty } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { useProvideBody } from '../context/BodyContext'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectHover } from '../../hooks/useHover'\nimport { useVScrollSyncInject } from '../../hooks/useVScrollSync'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { RenderVNode, RenderSlot } from '../../utils/renderVNode'\nimport { resize } from '@pro-design-vue/directives'\nimport { useResizeObserver } from '@vueuse/core'\nimport useTooltip from '../../hooks/useTooltip'\nimport onClickOutside from '../../utils/onClickOutside'\nimport BodyRows from './BodyRows.vue'\nimport XScroll from '../Scrollbar/XScroll'\nimport YScroll from '../Scrollbar/YScroll'\n\nimport type { PropType, CSSProperties } from 'vue'\nimport type { SummaryFixed } from '../interface'\nimport type { CustomSlotsType } from '../../utils/type'\n\nexport default defineComponent({\n name: 'TableBody',\n components: {\n BodyRows,\n Empty,\n RenderVNode,\n RenderSlot,\n HorizontalScroll: XScroll,\n YScroll,\n },\n directives: { resize },\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n bodyScrollWidth: { type: Number as PropType<number> },\n bodyWidth: { type: Number as PropType<number> },\n bodyHeight: { type: Number as PropType<number> },\n height: { type: [Number, String] as PropType<number | string> },\n scrollX: [Number, String] as PropType<number | string>,\n summaryFixed: [Boolean, String] as PropType<boolean | SummaryFixed>,\n emptyText: Function,\n summary: Function,\n },\n emits: [\n 'scroll',\n 'scrollLeft',\n 'scrollTop',\n 'update:bodyWidth',\n 'update:bodyHeight',\n 'update:bodyScrollWidth',\n 'keydown',\n ],\n slots: {} as CustomSlotsType<{\n emptyText: any\n default: any\n }>,\n setup(props, { emit, attrs, expose }) {\n const tableContext = useInjectTable()\n const tableSlotsContext = useInjectSlots()\n\n const dragRowPlaceholderRef = ref<HTMLDivElement>()\n const bodyRef = ref<HTMLDivElement>()\n const measureDomRef = ref<HTMLDivElement>()\n const bodyInnerRef = ref<HTMLDivElement>()\n const scrollLayerRef = ref<HTMLDivElement>()\n const viewportRef = ref<HTMLDivElement>()\n const summaryViewportRef = ref<HTMLDivElement>()\n\n const bodyViewportRef = ref<HTMLDivElement>()\n const bodyContainerRef = ref<HTMLDivElement>()\n\n const summaryHeight = ref(0)\n\n const leftColumns = computed(() => tableContext.leftColumns.value)\n const centerColumns = computed(() => tableContext.centerColumns.value)\n const rightColumns = computed(() => tableContext.rightColumns.value)\n const showWatermark = computed(() => tableContext.status.value.code !== 4)\n\n const leftPopupContainer = ref<HTMLDivElement>()\n const centerPopupContainer = ref<HTMLDivElement>()\n const rightPopupContainer = ref<HTMLDivElement>()\n\n const leftTarget = ref<HTMLDivElement>()\n const centerTarget = ref<HTMLDivElement>()\n const rightTarget = ref<HTMLDivElement>()\n\n const { hoverColumnKey } = useInjectHover()\n const { open } = useTooltip({ hoverColumnKey })\n\n const popupContent = shallowRef<any>()\n const popupContentPos = ref<string | null>()\n const contextmenuPos = ref({ clientX: 0, clientY: 0 })\n\n const setTargetStyle = (target: HTMLDivElement) => {\n target.style.display = 'none'\n target.style.opacity = '0'\n target.style.left = '0px'\n target.style.top = '0px'\n target.style.height = '1px'\n target.style.maxWidth = props.bodyWidth! - 4 + 'px'\n }\n\n const setContextmenuPopupPos = () => {\n const { clientX, clientY } = contextmenuPos.value\n const popupPos = popupContentPos.value\n const target =\n popupPos === 'left'\n ? leftTarget.value\n : popupPos === 'right'\n ? rightTarget.value\n : centerTarget.value\n if (!popupPos || !target) {\n return\n }\n target.style.display = 'block'\n const { left, top } = target.parentElement!.getBoundingClientRect()\n const firstChild = target.children[0]!\n const minHeight = Math.min(\n target.scrollHeight,\n firstChild.scrollHeight!,\n viewportHeight.value - 4,\n )\n target.style.opacity = '1'\n target.style.height = `${minHeight}px`\n let leftPos = clientX - left\n let rightPos = clientY - top\n if (rightPos + minHeight > viewportHeight.value) {\n rightPos = viewportHeight.value - minHeight - 2\n }\n\n if (popupContentPos.value === 'center') {\n if (leftPos + target.offsetWidth > tableContext.centerWidth.value) {\n leftPos = tableContext.centerWidth.value - target.offsetWidth - 2\n }\n } else if (popupContentPos.value === 'right') {\n if (leftPos + target.offsetWidth > tableContext.rightWidth.value) {\n leftPos = tableContext.rightWidth.value - target.offsetWidth - 2\n }\n } else {\n if (leftPos + target.offsetWidth > props.bodyWidth!) {\n leftPos = props.bodyWidth! - target.offsetWidth - 2\n }\n }\n target.style.left = `${leftPos}px`\n target.style.top = `${rightPos}px`\n }\n\n const showYScrollbar = computed(() => tableContext.showVerticalScrollbar.value)\n const showXScrollbar = computed(() => tableContext.showHorizontalScrollbar.value)\n\n watch(\n [tableContext.centerWidth, tableContext.rightWidth, () => props.bodyWidth],\n () => {\n setContextmenuPopupPos()\n },\n { flush: 'post' },\n )\n\n let contextmenuTimer: any\n\n onClickOutside(leftTarget, () => {\n if (popupContentPos.value === 'left') {\n popupContentPos.value = null\n setTargetStyle(leftTarget.value!)\n }\n })\n onClickOutside(centerTarget, () => {\n if (popupContentPos.value === 'center') {\n popupContentPos.value = null\n setTargetStyle(centerTarget.value!)\n }\n })\n onClickOutside(rightTarget, () => {\n if (popupContentPos.value === 'right') {\n popupContentPos.value = null\n setTargetStyle(rightTarget.value!)\n }\n })\n\n useProvideBody({\n onBodyCellContextmenu: (event, args, type) => {\n if (tableContext.props.hasContextmenuPopup) {\n const { clientX, clientY } = event\n setTargetStyle(leftTarget.value!)\n setTargetStyle(centerTarget.value!)\n setTargetStyle(rightTarget.value!)\n popupContentPos.value = type\n popupContent.value = () =>\n tableSlotsContext.contextmenuPopup?.({\n event,\n ...args,\n hidePopup: () => {\n ;((popupContentPos.value = null),\n setTargetStyle(leftTarget.value!),\n setTargetStyle(centerTarget.value!),\n setTargetStyle(rightTarget.value!))\n },\n })\n contextmenuPos.value = { clientX, clientY }\n clearTimeout(contextmenuTimer)\n contextmenuTimer = setTimeout(() => {\n setContextmenuPopupPos()\n })\n event.preventDefault()\n }\n },\n bodyRef,\n tooltipOpen: open,\n leftPopupContainer,\n centerPopupContainer,\n rightPopupContainer,\n dragRowPlaceholderRef,\n })\n\n expose({ bodyRef })\n\n onBeforeUnmount(() => {\n clearTimeout(contextmenuTimer)\n clearTimeout(undefined)\n })\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n const { addVScrollDom, removeVScrollDom } = useVScrollSyncInject()\n\n onMounted(() => {\n watch(\n summaryViewportRef,\n (newValue, oldValue) => {\n removeHScrollDom(oldValue!)\n addHScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n watch(\n bodyContainerRef,\n (newValue, oldValue) => {\n removeHScrollDom(oldValue!)\n addHScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n watch(\n bodyViewportRef,\n (newValue, oldValue) => {\n removeVScrollDom(oldValue!)\n addVScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n })\n onBeforeUnmount(() => {\n removeHScrollDom(summaryViewportRef.value!)\n removeHScrollDom(bodyContainerRef.value!)\n removeVScrollDom(bodyViewportRef.value!)\n })\n\n const bodyInnerWidth = ref(0)\n const emptyHeight = ref(0)\n\n const scrollbarStyle = computed<CSSProperties>(() => {\n const barSize = `${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px`\n return {\n display: barSize === '0px' ? 'none' : 'block',\n width: barSize,\n minWidth: barSize,\n maxWidth: barSize,\n position: 'sticky',\n right: `-${barSize}`,\n }\n })\n\n const bodyViewportStyle = computed<CSSProperties>(() => ({\n width: `calc(100% + ${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value || 15 : 0}px)`,\n // width: `calc(100% + 0px)`,\n overflowX: 'hidden',\n overflowY: 'auto',\n height: '100%',\n }))\n const isEmpty = computed(() => 0 === tableContext.pageData.value.length)\n const leftShadowStyle = computed<CSSProperties>(() =>\n props.bodyWidth! - tableContext.rightWidth.value > tableContext.leftWidth.value\n ? {\n position: 'absolute',\n left: `${tableContext.leftWidth.value}px`,\n height: '100%',\n }\n : { display: 'none' },\n )\n const rightShadowStyle = computed<CSSProperties>(() =>\n tableContext.rightWidth.value\n ? {\n position: 'absolute',\n left: props.bodyWidth! - tableContext.rightWidth.value + 'px',\n height: '100%',\n }\n : { display: 'none' },\n )\n const bodyClass = computed(() => ({\n [`${props.prefixCls}-body`]: true,\n [`${props.prefixCls}-unselectable`]: false !== tableContext.props.rangeSelection,\n }))\n const fixLeftClass = computed(() => ({\n [`${props.prefixCls}-fix-left`]: true,\n [`${props.prefixCls}-no-columns`]: !leftColumns.value.length,\n }))\n const fixRightClass = computed(() => ({\n [`${props.prefixCls}-fix-right`]: true,\n [`${props.prefixCls}-no-columns`]: !rightColumns.value.length,\n }))\n const centerClass = computed(() => ({\n [`${props.prefixCls}-center`]: true,\n [`${props.prefixCls}-no-columns`]: !centerColumns.value.length,\n }))\n const summaryViewportClass = computed(() => ({\n [`${props.prefixCls}-center-viewport`]: true,\n }))\n const containerClass = computed(() => ({\n [`${props.prefixCls}-center-container`]: true,\n }))\n const viewportHeight = computed(\n () =>\n tableContext.viewportHeight.value +\n (props.summaryFixed ? emptyHeight.value : summaryHeight.value + emptyHeight.value),\n )\n const containerStyle = computed<CSSProperties>(() => ({\n width: `${tableContext.centerWidth.value}px`,\n height: `${viewportHeight.value}px`,\n }))\n const summaryViewportStyle = computed<CSSProperties>(() => ({\n height: `calc(100% + ${tableContext.scrollBarSize.value || 15}px)`,\n }))\n const scrollLayerStyle = computed<CSSProperties>(() => ({\n height: `${viewportHeight.value}px`,\n width: `${tableContext.bodyMaxWidth.value}px`,\n minWidth: '100%',\n }))\n const rowsHeightStyle = computed<CSSProperties>(() => ({\n height: `${viewportHeight.value}px`,\n overflow: 'hidden',\n minHeight: '100%',\n transform: 'translateZ(0)',\n }))\n const bodyStyle = computed<CSSProperties>(() => ({\n ...(attrs.style || {}),\n maxHeight: 'number' == typeof props.height ? `${props.height}px` : props.height,\n overflowY: 'hidden',\n }))\n const bodyContainerStyle = computed<CSSProperties>(\n () =>\n ({\n height: tableContext.showHorizontalScrollbar.value\n ? `calc(100% + ${tableContext.scrollBarSize.value || 15}px)`\n : 'calc(100%)',\n zIndex: 'unset !important',\n overflowX: 'auto',\n overflowY: 'hidden',\n }) as any,\n )\n const centerStyle = computed<CSSProperties>(() => ({ height: `${viewportHeight.value}px` }))\n const leftStyle = computed<CSSProperties>(() => {\n const width = `${tableContext.leftWidth.value}px`\n return {\n width,\n minWidth: width,\n maxWidth: width,\n height: `${viewportHeight.value}px`,\n }\n })\n const rightStyle = computed<CSSProperties>(() => {\n const width = `${tableContext.rightWidth.value}px`\n return {\n width,\n minWidth: width,\n maxWidth: width,\n height: `${viewportHeight.value}px`,\n }\n })\n const summaryClass = computed(() => ({\n [`${props.prefixCls}-summary`]: true,\n [`${props.prefixCls}-position-absolute`]: !isEmpty.value,\n }))\n const fixedSummaryClass = computed(() => [\n summaryClass.value,\n `${props.prefixCls}-summary-fixed`,\n `${props.prefixCls}-summary-fixed-${props.summaryFixed}`,\n ])\n const summaryStyle = computed<CSSProperties>(() => {\n const styles = { height: `${summaryHeight.value}px` }\n return Object.assign(\n styles,\n props.summaryFixed\n ? showXScrollbar.value\n ? { borderTop: 'none' }\n : {}\n : {\n position: 'absolute',\n bottom: 0,\n width: `${props.bodyWidth}px`,\n borderTop: 'none',\n },\n ) as CSSProperties\n })\n const topSummaryStyle = computed<CSSProperties>(() => {\n if ('object' == typeof tableContext.props.sticky) {\n const { offsetHeader = 0, topSummary = false } = tableContext.props.sticky\n return topSummary\n ? ({\n ...summaryStyle.value,\n position: 'sticky',\n top: `${offsetHeader + tableContext.realHeaderHeight.value}px`,\n } as CSSProperties)\n : (summaryStyle.value as CSSProperties)\n }\n return summaryStyle.value as CSSProperties\n })\n const emptyStyle = computed<CSSProperties>(() => ({ width: `${props.bodyWidth}px` }))\n\n useResizeObserver(measureDomRef as never, (entries) => {\n const contentRect = entries[0]?.contentRect\n emit('update:bodyWidth', contentRect?.width || 0)\n emit('update:bodyHeight', contentRect?.height || 0)\n })\n return {\n bodyContainerStyle,\n measureDomStyle: computed<any>(() => ({\n width: '100%',\n height: '100%!important',\n position: 'absolute!important',\n fontSize: '100px!important',\n opacity: '0.1!important',\n textAlign: 'center!important',\n top: '0px!important',\n left: '0px!important',\n pointerEvents: 'none',\n display: 'block!important',\n color: '#000000!important',\n margin: '0px!important',\n padding: '0px!important',\n transform: 'unset!important',\n visibility: 'visible!important',\n zIndex: '999!important',\n })),\n isEmpty,\n emptyStyle,\n handleEmptyHeight: (e: CustomEvent) => {\n emptyHeight.value = e.detail.height\n },\n bodyClass,\n fixLeftClass,\n fixRightClass,\n centerClass,\n containerClass,\n summaryViewportClass,\n summaryClass,\n rightStyle,\n centerStyle,\n leftStyle,\n summaryViewportStyle,\n containerStyle,\n summaryStyle,\n viewportHeight,\n leftColumns,\n centerColumns,\n rightColumns,\n bodyInnerWidth,\n handleBodyInnerResize: (e: CustomEvent) => {\n bodyInnerWidth.value = e.detail.width\n },\n handleBodyScrollResize: (e: CustomEvent) => {\n emit('update:bodyScrollWidth', e.detail.width)\n },\n bodyRef,\n measureDomRef,\n bodyInnerRef,\n viewportRef,\n summaryViewportRef,\n handleResize: (e: CustomEvent) => {\n summaryHeight.value = e.detail.height\n },\n bodyStyle,\n handleBodyResize: (e: CustomEvent) => {\n emit('update:bodyWidth', e.detail.width)\n emit('update:bodyHeight', e.detail.height)\n },\n emptyImage: Empty.PRESENTED_IMAGE_SIMPLE,\n scrollLayerStyle,\n getRowClassName: (record: any, index: number) => {\n const rowClassName = tableContext.props.rowClassName\n return (\n typeof rowClassName == 'function' ? rowClassName(record, index) : rowClassName\n ) as string\n },\n showWatermark,\n leftPopupContainer,\n centerPopupContainer,\n rightPopupContainer,\n dragRowPlaceholderRef,\n leftShadowStyle,\n rightShadowStyle,\n fixedSummaryClass,\n scrollLayerRef,\n scrollbarStyle,\n topSummaryStyle,\n leftTarget,\n centerTarget,\n rightTarget,\n popupContent,\n popupContentPos,\n handleContextmenuPopupResize: () => {\n setContextmenuPopupPos()\n },\n handleDragStart: (e: MouseEvent) => {\n if (e.target instanceof HTMLImageElement) {\n e.preventDefault()\n return false\n }\n },\n handleKeydown: (e: KeyboardEvent) => {\n emit('keydown', e)\n },\n bodyViewportStyle,\n bodyViewportRef,\n bodyContainerRef,\n rowsHeightStyle,\n showYScrollbar,\n }\n },\n})\n</script>\n\n<template>\n <RenderSlot>\n <div\n v-if=\"summary && summaryFixed === 'top'\"\n key=\"summary\"\n :class=\"fixedSummaryClass\"\n :style=\"topSummaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div\n ref=\"summaryViewportRef\"\n :class=\"`${prefixCls}-summary-container`\"\n :style=\"{ height: 'calc(100% + 15px)' }\"\n >\n <div v-resize:height @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :class=\"`${prefixCls}-cell-shadow-left`\" :style=\"leftShadowStyle\"></div>\n <div :class=\"`${prefixCls}-cell-shadow-right`\" :style=\"rightShadowStyle\"></div>\n <div :class=\"`${prefixCls}-summary-scrollbar`\" :style=\"scrollbarStyle\"></div>\n </div>\n </div>\n </RenderSlot>\n <div\n key=\"body\"\n ref=\"bodyRef\"\n :class=\"bodyClass\"\n :style=\"bodyStyle\"\n @dragstart=\"handleDragStart\"\n @keydown=\"handleKeydown\"\n >\n <div\n :style=\"{\n width: '100%',\n overflow: 'hidden',\n position: 'relative',\n transform: 'translateZ(0)',\n }\"\n >\n <div\n ref=\"bodyViewportRef\"\n :class=\"`${prefixCls}-body-viewport-container`\"\n :style=\"bodyViewportStyle\"\n >\n <div :style=\"rowsHeightStyle\">\n <div\n ref=\"bodyContainerRef\"\n :class=\"`${prefixCls}-body-container`\"\n :style=\"bodyContainerStyle\"\n >\n <div ref=\"leftPopupContainer\" key=\"left\" :class=\"fixLeftClass\" :style=\"leftStyle\">\n <BodyRows\n v-if=\"leftColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"left\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div v-else :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div\n v-if=\"summary && !summaryFixed\"\n key=\"summary\"\n :class=\"summaryClass\"\n :style=\"summaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div ref=\"summaryViewportRef\" :class=\"`${prefixCls}-summary-container`\">\n <div v-resize:height @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :style=\"leftShadowStyle\" :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div :style=\"rightShadowStyle\" :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n </div>\n </div>\n\n <div ref=\"leftTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'left'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n <div key=\"center\" :class=\"centerClass\" :style=\"centerStyle\">\n <div ref=\"centerPopupContainer\" :class=\"containerClass\" :style=\"containerStyle\">\n <BodyRows\n v-if=\"centerColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"center\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div ref=\"centerTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'center'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n </div>\n <div key=\"right\" ref=\"rightPopupContainer\" :class=\"fixRightClass\" :style=\"rightStyle\">\n <BodyRows\n v-if=\"rightColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"right\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div v-else :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n <div ref=\"rightTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize=\"true\"\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'right'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n <span ref=\"dragRowPlaceholderRef\" :class=\"`${prefixCls}-drag-placeholder`\"></span>\n </div>\n </div>\n <div v-if=\"isEmpty\" key=\"empty\" :class=\"`${prefixCls}-empty-container`\">\n <div v-resize:height style=\"padding: 1px\" @resizeheight=\"handleEmptyHeight\">\n <RenderVNode :vnode=\"emptyText\"> <Empty :image=\"emptyImage\" /> </RenderVNode>\n </div>\n </div>\n </div>\n <div ref=\"measureDomRef\" :style=\"measureDomStyle\"></div>\n <div\n v-resize:width\n :class=\"`${prefixCls}-body-scroll-measure`\"\n :style=\"`min-width: ${bodyInnerWidth}px`\"\n @resizewidth=\"handleBodyScrollResize\"\n ></div>\n <div\n v-resize:width\n :class=\"`${prefixCls}-body-inner-measure`\"\n :style=\"`min-width: ${scrollX}px`\"\n @resizewidth=\"handleBodyInnerResize\"\n ></div>\n </div>\n <YScroll :style=\"`height: ${bodyHeight}px`\" />\n </div>\n <RenderSlot>\n <div\n v-if=\"summary && summaryFixed === 'bottom'\"\n key=\"summary\"\n :class=\"fixedSummaryClass\"\n :style=\"summaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div\n ref=\"summaryViewportRef\"\n :class=\"`${prefixCls}-summary-container`\"\n :style=\"{ height: 'calc(100% + 15px)' }\"\n >\n <div v-resize:height=\"true\" @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :style=\"leftShadowStyle\" :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div :style=\"rightShadowStyle\" :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n <div :class=\"`${prefixCls}-summary-scrollbar`\" :style=\"scrollbarStyle\"></div>\n </div>\n </div>\n </RenderSlot>\n <HorizontalScroll />\n</template>\n"],"names":["_createVNode","_withCtx","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_withDirectives","_createBlock","_resolveDynamicComponent","_createCommentVNode"],"mappings":"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"}
1
+ {"version":3,"file":"Body.vue.mjs","sources":["../../../../../../../../packages/components/table/src/components/Body/Body.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 22:03:08\n * @LastEditors: shen\n * @LastEditTime: 2025-09-28 14:23:27\n * @Description:\n-->\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, watch, onMounted, shallowRef, onBeforeUnmount } from 'vue'\nimport { Empty } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { useProvideBody } from '../context/BodyContext'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectHover } from '../../hooks/useHover'\nimport { useVScrollSyncInject } from '../../hooks/useVScrollSync'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { RenderVNode, RenderSlot } from '../../utils/renderVNode'\nimport { resize } from '@pro-design-vue/directives'\nimport { useResizeObserver } from '@vueuse/core'\nimport useTooltip from '../../hooks/useTooltip'\nimport onClickOutside from '../../utils/onClickOutside'\nimport BodyRows from './BodyRows.vue'\nimport XScroll from '../Scrollbar/XScroll'\nimport YScroll from '../Scrollbar/YScroll'\n\nimport type { PropType, CSSProperties } from 'vue'\nimport type { SummaryFixed } from '../interface'\nimport type { CustomSlotsType } from '../../utils/type'\n\nexport default defineComponent({\n name: 'TableBody',\n components: {\n BodyRows,\n Empty,\n RenderVNode,\n RenderSlot,\n HorizontalScroll: XScroll,\n YScroll,\n },\n directives: { resize },\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n bodyScrollWidth: { type: Number as PropType<number> },\n bodyWidth: { type: Number as PropType<number> },\n bodyHeight: { type: Number as PropType<number> },\n height: { type: [Number, String] as PropType<number | string> },\n scrollX: [Number, String] as PropType<number | string>,\n summaryFixed: [Boolean, String] as PropType<boolean | SummaryFixed>,\n emptyText: Function,\n summary: Function,\n },\n emits: [\n 'scroll',\n 'scrollLeft',\n 'scrollTop',\n 'update:bodyWidth',\n 'update:bodyHeight',\n 'update:bodyScrollWidth',\n 'keydown',\n ],\n slots: {} as CustomSlotsType<{\n emptyText: any\n default: any\n }>,\n setup(props, { emit, attrs, expose }) {\n const tableContext = useInjectTable()\n const tableSlotsContext = useInjectSlots()\n\n const dragRowPlaceholderRef = ref<HTMLDivElement>()\n const bodyRef = ref<HTMLDivElement>()\n const measureDomRef = ref<HTMLDivElement>()\n const bodyInnerRef = ref<HTMLDivElement>()\n const scrollLayerRef = ref<HTMLDivElement>()\n const viewportRef = ref<HTMLDivElement>()\n const summaryViewportRef = ref<HTMLDivElement>()\n\n const bodyViewportRef = ref<HTMLDivElement>()\n const bodyContainerRef = ref<HTMLDivElement>()\n\n const summaryHeight = ref(0)\n\n const leftColumns = computed(() => tableContext.leftColumns.value)\n const centerColumns = computed(() => tableContext.centerColumns.value)\n const rightColumns = computed(() => tableContext.rightColumns.value)\n const showWatermark = computed(() => tableContext.status.value.code !== 4)\n\n const leftPopupContainer = ref<HTMLDivElement>()\n const centerPopupContainer = ref<HTMLDivElement>()\n const rightPopupContainer = ref<HTMLDivElement>()\n\n const leftTarget = ref<HTMLDivElement>()\n const centerTarget = ref<HTMLDivElement>()\n const rightTarget = ref<HTMLDivElement>()\n\n const { hoverColumnKey } = useInjectHover()\n const { open } = useTooltip({ hoverColumnKey })\n\n const popupContent = shallowRef<any>()\n const popupContentPos = ref<string | null>()\n const contextmenuPos = ref({ clientX: 0, clientY: 0 })\n\n const setTargetStyle = (target: HTMLDivElement) => {\n target.style.display = 'none'\n target.style.opacity = '0'\n target.style.left = '0px'\n target.style.top = '0px'\n target.style.height = '1px'\n target.style.maxWidth = props.bodyWidth! - 4 + 'px'\n }\n\n const setContextmenuPopupPos = () => {\n const { clientX, clientY } = contextmenuPos.value\n const popupPos = popupContentPos.value\n const target =\n popupPos === 'left'\n ? leftTarget.value\n : popupPos === 'right'\n ? rightTarget.value\n : centerTarget.value\n if (!popupPos || !target) {\n return\n }\n target.style.display = 'block'\n const { left, top } = target.parentElement!.getBoundingClientRect()\n const firstChild = target.children[0]!\n const minHeight = Math.min(\n target.scrollHeight,\n firstChild.scrollHeight!,\n viewportHeight.value - 4,\n )\n target.style.opacity = '1'\n target.style.height = `${minHeight}px`\n let leftPos = clientX - left\n let rightPos = clientY - top\n if (rightPos + minHeight > viewportHeight.value) {\n rightPos = viewportHeight.value - minHeight - 2\n }\n\n if (popupContentPos.value === 'center') {\n if (leftPos + target.offsetWidth > tableContext.centerWidth.value) {\n leftPos = tableContext.centerWidth.value - target.offsetWidth - 2\n }\n } else if (popupContentPos.value === 'right') {\n if (leftPos + target.offsetWidth > tableContext.rightWidth.value) {\n leftPos = tableContext.rightWidth.value - target.offsetWidth - 2\n }\n } else {\n if (leftPos + target.offsetWidth > props.bodyWidth!) {\n leftPos = props.bodyWidth! - target.offsetWidth - 2\n }\n }\n target.style.left = `${leftPos}px`\n target.style.top = `${rightPos}px`\n }\n\n const showYScrollbar = computed(() => tableContext.showVerticalScrollbar.value)\n const showXScrollbar = computed(() => tableContext.showHorizontalScrollbar.value)\n\n watch(\n [tableContext.centerWidth, tableContext.rightWidth, () => props.bodyWidth],\n () => {\n setContextmenuPopupPos()\n },\n { flush: 'post' },\n )\n\n let contextmenuTimer: any\n\n onClickOutside(leftTarget, () => {\n if (popupContentPos.value === 'left') {\n popupContentPos.value = null\n setTargetStyle(leftTarget.value!)\n }\n })\n onClickOutside(centerTarget, () => {\n if (popupContentPos.value === 'center') {\n popupContentPos.value = null\n setTargetStyle(centerTarget.value!)\n }\n })\n onClickOutside(rightTarget, () => {\n if (popupContentPos.value === 'right') {\n popupContentPos.value = null\n setTargetStyle(rightTarget.value!)\n }\n })\n\n useProvideBody({\n onBodyCellContextmenu: (event, args, type) => {\n if (tableContext.props.hasContextmenuPopup) {\n const { clientX, clientY } = event\n setTargetStyle(leftTarget.value!)\n setTargetStyle(centerTarget.value!)\n setTargetStyle(rightTarget.value!)\n popupContentPos.value = type\n popupContent.value = () =>\n tableSlotsContext.contextmenuPopup?.({\n event,\n ...args,\n hidePopup: () => {\n ;((popupContentPos.value = null),\n setTargetStyle(leftTarget.value!),\n setTargetStyle(centerTarget.value!),\n setTargetStyle(rightTarget.value!))\n },\n })\n contextmenuPos.value = { clientX, clientY }\n clearTimeout(contextmenuTimer)\n contextmenuTimer = setTimeout(() => {\n setContextmenuPopupPos()\n })\n event.preventDefault()\n }\n },\n bodyRef,\n tooltipOpen: open,\n leftPopupContainer,\n centerPopupContainer,\n rightPopupContainer,\n dragRowPlaceholderRef,\n })\n\n expose({ bodyRef })\n\n onBeforeUnmount(() => {\n clearTimeout(contextmenuTimer)\n clearTimeout(undefined)\n })\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n const { addVScrollDom, removeVScrollDom } = useVScrollSyncInject()\n\n onMounted(() => {\n watch(\n summaryViewportRef,\n (newValue, oldValue) => {\n removeHScrollDom(oldValue!)\n addHScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n watch(\n bodyContainerRef,\n (newValue, oldValue) => {\n removeHScrollDom(oldValue!)\n addHScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n watch(\n bodyViewportRef,\n (newValue, oldValue) => {\n removeVScrollDom(oldValue!)\n addVScrollDom(newValue!)\n },\n { flush: 'post', immediate: true },\n )\n })\n onBeforeUnmount(() => {\n removeHScrollDom(summaryViewportRef.value!)\n removeHScrollDom(bodyContainerRef.value!)\n removeVScrollDom(bodyViewportRef.value!)\n })\n\n const bodyInnerWidth = ref(0)\n const emptyHeight = ref(0)\n\n const scrollbarStyle = computed<CSSProperties>(() => {\n const barSize = `${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px`\n return {\n display: barSize === '0px' ? 'none' : 'block',\n width: barSize,\n minWidth: barSize,\n maxWidth: barSize,\n position: 'sticky',\n right: `-${barSize}`,\n }\n })\n\n const bodyViewportStyle = computed<CSSProperties>(() => ({\n width: `calc(100% + ${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px)`,\n overflowX: 'hidden',\n overflowY: 'auto',\n height: '100%',\n }))\n const isEmpty = computed(() => 0 === tableContext.pageData.value.length)\n const leftShadowStyle = computed<CSSProperties>(() =>\n props.bodyWidth! - tableContext.rightWidth.value > tableContext.leftWidth.value\n ? {\n position: 'absolute',\n left: `${tableContext.leftWidth.value}px`,\n height: '100%',\n }\n : { display: 'none' },\n )\n const rightShadowStyle = computed<CSSProperties>(() =>\n tableContext.rightWidth.value\n ? {\n position: 'absolute',\n left: props.bodyWidth! - tableContext.rightWidth.value + 'px',\n height: '100%',\n }\n : { display: 'none' },\n )\n const bodyClass = computed(() => ({\n [`${props.prefixCls}-body`]: true,\n [`${props.prefixCls}-unselectable`]: false !== tableContext.props.rangeSelection,\n }))\n const fixLeftClass = computed(() => ({\n [`${props.prefixCls}-fix-left`]: true,\n [`${props.prefixCls}-no-columns`]: !leftColumns.value.length,\n }))\n const fixRightClass = computed(() => ({\n [`${props.prefixCls}-fix-right`]: true,\n [`${props.prefixCls}-no-columns`]: !rightColumns.value.length,\n }))\n const centerClass = computed(() => ({\n [`${props.prefixCls}-center`]: true,\n [`${props.prefixCls}-no-columns`]: !centerColumns.value.length,\n }))\n const summaryViewportClass = computed(() => ({\n [`${props.prefixCls}-center-viewport`]: true,\n }))\n const containerClass = computed(() => ({\n [`${props.prefixCls}-center-container`]: true,\n }))\n const viewportHeight = computed(\n () =>\n tableContext.viewportHeight.value +\n (props.summaryFixed ? emptyHeight.value : summaryHeight.value + emptyHeight.value),\n )\n const containerStyle = computed<CSSProperties>(() => ({\n width: `${tableContext.centerWidth.value}px`,\n height: `${viewportHeight.value}px`,\n }))\n const summaryViewportStyle = computed<CSSProperties>(() => ({\n height: `calc(100% + ${tableContext.scrollBarSize.value || 15}px)`,\n }))\n const scrollLayerStyle = computed<CSSProperties>(() => ({\n height: `${viewportHeight.value}px`,\n width: `${tableContext.bodyMaxWidth.value}px`,\n minWidth: '100%',\n }))\n const rowsHeightStyle = computed<CSSProperties>(() => ({\n height: `${viewportHeight.value}px`,\n overflow: 'hidden',\n minHeight: '100%',\n transform: 'translateZ(0)',\n }))\n const bodyStyle = computed<CSSProperties>(() => ({\n ...(attrs.style || {}),\n maxHeight: 'number' == typeof props.height ? `${props.height}px` : props.height,\n overflowY: 'hidden',\n }))\n const bodyContainerStyle = computed<CSSProperties>(\n () =>\n ({\n height: tableContext.showHorizontalScrollbar.value\n ? `calc(100% + ${tableContext.scrollBarSize.value || 15}px)`\n : 'calc(100%)',\n zIndex: 'unset !important',\n overflowX: 'auto',\n overflowY: 'hidden',\n }) as any,\n )\n const centerStyle = computed<CSSProperties>(() => ({ height: `${viewportHeight.value}px` }))\n const leftStyle = computed<CSSProperties>(() => {\n const width = `${tableContext.leftWidth.value}px`\n return {\n width,\n minWidth: width,\n maxWidth: width,\n height: `${viewportHeight.value}px`,\n }\n })\n const rightStyle = computed<CSSProperties>(() => {\n const width = `${tableContext.rightWidth.value}px`\n return {\n width,\n minWidth: width,\n maxWidth: width,\n height: `${viewportHeight.value}px`,\n }\n })\n const summaryClass = computed(() => ({\n [`${props.prefixCls}-summary`]: true,\n [`${props.prefixCls}-position-absolute`]: !isEmpty.value,\n }))\n const fixedSummaryClass = computed(() => [\n summaryClass.value,\n `${props.prefixCls}-summary-fixed`,\n `${props.prefixCls}-summary-fixed-${props.summaryFixed}`,\n ])\n const summaryStyle = computed<CSSProperties>(() => {\n const styles = { height: `${summaryHeight.value}px` }\n return Object.assign(\n styles,\n props.summaryFixed\n ? showXScrollbar.value\n ? { borderTop: 'none' }\n : {}\n : {\n position: 'absolute',\n bottom: 0,\n width: `${props.bodyWidth}px`,\n borderTop: 'none',\n },\n ) as CSSProperties\n })\n const topSummaryStyle = computed<CSSProperties>(() => {\n if ('object' == typeof tableContext.props.sticky) {\n const { offsetHeader = 0, topSummary = false } = tableContext.props.sticky\n return topSummary\n ? ({\n ...summaryStyle.value,\n position: 'sticky',\n top: `${offsetHeader + tableContext.realHeaderHeight.value}px`,\n } as CSSProperties)\n : (summaryStyle.value as CSSProperties)\n }\n return summaryStyle.value as CSSProperties\n })\n const emptyStyle = computed<CSSProperties>(() => ({ width: `${props.bodyWidth}px` }))\n\n useResizeObserver(measureDomRef as never, (entries) => {\n const contentRect = entries[0]?.contentRect\n emit('update:bodyWidth', contentRect?.width || 0)\n emit('update:bodyHeight', contentRect?.height || 0)\n })\n return {\n bodyContainerStyle,\n measureDomStyle: computed<any>(() => ({\n width: '100%',\n height: '100%!important',\n position: 'absolute!important',\n fontSize: '100px!important',\n opacity: '0.1!important',\n textAlign: 'center!important',\n top: '0px!important',\n left: '0px!important',\n pointerEvents: 'none',\n display: 'block!important',\n color: '#000000!important',\n margin: '0px!important',\n padding: '0px!important',\n transform: 'unset!important',\n visibility: 'visible!important',\n zIndex: '999!important',\n })),\n isEmpty,\n emptyStyle,\n handleEmptyHeight: (e: CustomEvent) => {\n emptyHeight.value = e.detail.height\n },\n bodyClass,\n fixLeftClass,\n fixRightClass,\n centerClass,\n containerClass,\n summaryViewportClass,\n summaryClass,\n rightStyle,\n centerStyle,\n leftStyle,\n summaryViewportStyle,\n containerStyle,\n summaryStyle,\n viewportHeight,\n leftColumns,\n centerColumns,\n rightColumns,\n bodyInnerWidth,\n handleBodyInnerResize: (e: CustomEvent) => {\n bodyInnerWidth.value = e.detail.width\n },\n handleBodyScrollResize: (e: CustomEvent) => {\n emit('update:bodyScrollWidth', e.detail.width)\n },\n bodyRef,\n measureDomRef,\n bodyInnerRef,\n viewportRef,\n summaryViewportRef,\n handleResize: (e: CustomEvent) => {\n summaryHeight.value = e.detail.height\n },\n bodyStyle,\n handleBodyResize: (e: CustomEvent) => {\n emit('update:bodyWidth', e.detail.width)\n emit('update:bodyHeight', e.detail.height)\n },\n emptyImage: Empty.PRESENTED_IMAGE_SIMPLE,\n scrollLayerStyle,\n getRowClassName: (record: any, index: number) => {\n const rowClassName = tableContext.props.rowClassName\n return (\n typeof rowClassName == 'function' ? rowClassName(record, index) : rowClassName\n ) as string\n },\n showWatermark,\n leftPopupContainer,\n centerPopupContainer,\n rightPopupContainer,\n dragRowPlaceholderRef,\n leftShadowStyle,\n rightShadowStyle,\n fixedSummaryClass,\n scrollLayerRef,\n scrollbarStyle,\n topSummaryStyle,\n leftTarget,\n centerTarget,\n rightTarget,\n popupContent,\n popupContentPos,\n handleContextmenuPopupResize: () => {\n setContextmenuPopupPos()\n },\n handleDragStart: (e: MouseEvent) => {\n if (e.target instanceof HTMLImageElement) {\n e.preventDefault()\n return false\n }\n },\n handleKeydown: (e: KeyboardEvent) => {\n emit('keydown', e)\n },\n bodyViewportStyle,\n bodyViewportRef,\n bodyContainerRef,\n rowsHeightStyle,\n showYScrollbar,\n }\n },\n})\n</script>\n\n<template>\n <RenderSlot>\n <div\n v-if=\"summary && summaryFixed === 'top'\"\n key=\"summary\"\n :class=\"fixedSummaryClass\"\n :style=\"topSummaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div\n ref=\"summaryViewportRef\"\n :class=\"`${prefixCls}-summary-container`\"\n :style=\"{ height: 'calc(100% + 15px)' }\"\n >\n <div v-resize:height @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :class=\"`${prefixCls}-cell-shadow-left`\" :style=\"leftShadowStyle\"></div>\n <div :class=\"`${prefixCls}-cell-shadow-right`\" :style=\"rightShadowStyle\"></div>\n <div :class=\"`${prefixCls}-summary-scrollbar`\" :style=\"scrollbarStyle\"></div>\n </div>\n </div>\n </RenderSlot>\n <div\n key=\"body\"\n ref=\"bodyRef\"\n :class=\"bodyClass\"\n :style=\"bodyStyle\"\n @dragstart=\"handleDragStart\"\n @keydown=\"handleKeydown\"\n >\n <div\n :style=\"{\n width: '100%',\n overflow: 'hidden',\n position: 'relative',\n transform: 'translateZ(0)',\n }\"\n >\n <div\n ref=\"bodyViewportRef\"\n :class=\"`${prefixCls}-body-viewport-container`\"\n :style=\"bodyViewportStyle\"\n >\n <div :style=\"rowsHeightStyle\">\n <div\n ref=\"bodyContainerRef\"\n :class=\"`${prefixCls}-body-container`\"\n :style=\"bodyContainerStyle\"\n >\n <div ref=\"leftPopupContainer\" key=\"left\" :class=\"fixLeftClass\" :style=\"leftStyle\">\n <BodyRows\n v-if=\"leftColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"left\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div v-else :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div\n v-if=\"summary && !summaryFixed\"\n key=\"summary\"\n :class=\"summaryClass\"\n :style=\"summaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div ref=\"summaryViewportRef\" :class=\"`${prefixCls}-summary-container`\">\n <div v-resize:height @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :style=\"leftShadowStyle\" :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div :style=\"rightShadowStyle\" :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n </div>\n </div>\n\n <div ref=\"leftTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'left'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n <div key=\"center\" :class=\"centerClass\" :style=\"centerStyle\">\n <div ref=\"centerPopupContainer\" :class=\"containerClass\" :style=\"containerStyle\">\n <BodyRows\n v-if=\"centerColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"center\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div ref=\"centerTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'center'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n </div>\n <div key=\"right\" ref=\"rightPopupContainer\" :class=\"fixRightClass\" :style=\"rightStyle\">\n <BodyRows\n v-if=\"rightColumns.length\"\n :get-row-class-name=\"getRowClassName\"\n type=\"right\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n />\n <div v-else :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n <div ref=\"rightTarget\" :class=\"`${prefixCls}-body-contextmenu-container`\">\n <div\n v-resize=\"true\"\n :class=\"`${prefixCls}-body-contextmenu-container-inner`\"\n @resize=\"handleContextmenuPopupResize\"\n >\n <component v-if=\"popupContentPos === 'right'\" :is=\"popupContent\"></component>\n </div>\n </div>\n </div>\n <span ref=\"dragRowPlaceholderRef\" :class=\"`${prefixCls}-drag-placeholder`\"></span>\n </div>\n </div>\n <div v-if=\"isEmpty\" key=\"empty\" :class=\"`${prefixCls}-empty-container`\">\n <div v-resize:height style=\"padding: 1px\" @resizeheight=\"handleEmptyHeight\">\n <RenderVNode :vnode=\"emptyText\"> <Empty :image=\"emptyImage\" /> </RenderVNode>\n </div>\n </div>\n </div>\n <div ref=\"measureDomRef\" :style=\"measureDomStyle\"></div>\n <div\n v-resize:width\n :class=\"`${prefixCls}-body-scroll-measure`\"\n :style=\"`min-width: ${bodyInnerWidth}px`\"\n @resizewidth=\"handleBodyScrollResize\"\n ></div>\n <div\n v-resize:width\n :class=\"`${prefixCls}-body-inner-measure`\"\n :style=\"`min-width: ${scrollX}px`\"\n @resizewidth=\"handleBodyInnerResize\"\n ></div>\n </div>\n <YScroll :style=\"`height: ${bodyHeight}px`\" />\n </div>\n <RenderSlot>\n <div\n v-if=\"summary && summaryFixed === 'bottom'\"\n key=\"summary\"\n :class=\"fixedSummaryClass\"\n :style=\"summaryStyle\"\n >\n <div :class=\"summaryViewportClass\" :style=\"summaryViewportStyle\">\n <div\n ref=\"summaryViewportRef\"\n :class=\"`${prefixCls}-summary-container`\"\n :style=\"{ height: 'calc(100% + 15px)' }\"\n >\n <div v-resize:height=\"true\" @resizeheight=\"handleResize\">\n <RenderVNode :vnode=\"summary\"></RenderVNode>\n </div>\n </div>\n <div :style=\"leftShadowStyle\" :class=\"`${prefixCls}-cell-shadow-left`\"></div>\n <div :style=\"rightShadowStyle\" :class=\"`${prefixCls}-cell-shadow-right`\"></div>\n <div :class=\"`${prefixCls}-summary-scrollbar`\" :style=\"scrollbarStyle\"></div>\n </div>\n </div>\n </RenderSlot>\n <HorizontalScroll />\n</template>\n"],"names":["_createVNode","_withCtx","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_withDirectives","_createBlock","_resolveDynamicComponent","_createCommentVNode"],"mappings":"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"}
@@ -236,8 +236,7 @@ var _sfc_main = defineComponent({
236
236
  };
237
237
  });
238
238
  const bodyViewportStyle = computed(() => ({
239
- width: `calc(100% + ${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value || 15 : 0}px)`,
240
- // width: `calc(100% + 0px)`,
239
+ width: `calc(100% + ${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px)`,
241
240
  overflowX: "hidden",
242
241
  overflowY: "auto",
243
242
  height: "100%"