pro-design-vue 1.0.0-rc.9 → 1.1.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.
- package/dist/index.css +1 -1
- package/dist/index.full.js +399 -210
- package/dist/index.full.min.js +8 -8
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +8 -8
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +399 -210
- package/es/components/config-provider/src/config-provider-container.vue2.mjs +2 -0
- package/es/components/config-provider/src/config-provider-container.vue2.mjs.map +1 -1
- package/es/components/config-provider/src/config-provider.vue2.mjs +4 -2
- package/es/components/config-provider/src/config-provider.vue2.mjs.map +1 -1
- package/es/components/config-provider/src/typing.d.ts +6 -0
- package/es/components/config-provider/src/useTokens.d.ts +24 -0
- package/es/components/config-provider/src/useTokens.mjs +58 -0
- package/es/components/config-provider/src/useTokens.mjs.map +1 -0
- package/es/components/counter/src/counter.vue.d.ts +2 -2
- package/es/components/drawer/src/drawer.vue2.mjs +1 -1
- package/es/components/drawer/src/drawer.vue2.mjs.map +1 -1
- package/es/components/form/src/Form.d.ts +11 -11
- package/es/components/form/src/base/BaseForm.d.ts +2 -2
- package/es/components/form/src/base/BaseForm.mjs +16 -11
- package/es/components/form/src/base/BaseForm.mjs.map +1 -1
- package/es/components/form/src/base/StepForm.d.ts +2 -2
- package/es/components/form/src/components/FormColWrapper.d.ts +9 -0
- package/es/components/form/src/components/FormColWrapper.mjs +9 -1
- package/es/components/form/src/components/FormColWrapper.mjs.map +1 -1
- package/es/components/form/src/components/FormGroup.d.ts +55 -53
- package/es/components/form/src/components/FormGroup.mjs +1 -1
- package/es/components/form/src/components/FormGroup.mjs.map +1 -1
- package/es/components/form/src/components/FormItem.d.ts +9 -0
- package/es/components/form/src/components/FormItem.mjs +32 -24
- package/es/components/form/src/components/FormItem.mjs.map +1 -1
- package/es/components/form/src/components/FormItems.mjs +2 -1
- package/es/components/form/src/components/FormItems.mjs.map +1 -1
- package/es/components/form/src/components/FormList.d.ts +59 -57
- package/es/components/form/src/components/FormList.mjs +1 -1
- package/es/components/form/src/components/FormList.mjs.map +1 -1
- package/es/components/form/src/components/FormListContainer.d.ts +22 -20
- package/es/components/form/src/components/FormListContainer.mjs +1 -1
- package/es/components/form/src/components/FormListContainer.mjs.map +1 -1
- package/es/components/form/src/components/FormListItem.d.ts +16 -16
- package/es/components/form/src/components/FormRowWrapper.d.ts +12 -12
- package/es/components/form/src/components/FormSet.d.ts +56 -54
- package/es/components/form/src/components/FormSet.mjs +1 -1
- package/es/components/form/src/components/FormSet.mjs.map +1 -1
- package/es/components/form/src/components/FormSubmitter.d.ts +2 -2
- package/es/components/form/src/components/FormSubmitter.mjs +25 -7
- package/es/components/form/src/components/FormSubmitter.mjs.map +1 -1
- package/es/components/form/src/components/FormTitle.d.ts +6 -4
- package/es/components/form/src/components/FormTitle.mjs +11 -6
- package/es/components/form/src/components/FormTitle.mjs.map +1 -1
- package/es/components/form/src/fields/FieldCascader.d.ts +3 -3
- package/es/components/form/src/fields/FieldCheckbox.d.ts +1 -1
- package/es/components/form/src/fields/FieldCheckboxGroup.d.ts +1 -1
- package/es/components/form/src/fields/FieldDatePicker.d.ts +1 -1
- package/es/components/form/src/fields/FieldDateRangePicker.d.ts +2 -2
- package/es/components/form/src/fields/FieldDigit.d.ts +2 -2
- package/es/components/form/src/fields/FieldDigitRange.d.ts +3 -3
- package/es/components/form/src/fields/FieldPassword.d.ts +3 -3
- package/es/components/form/src/fields/FieldRadioGroup.d.ts +1 -1
- package/es/components/form/src/fields/FieldRate.d.ts +1 -1
- package/es/components/form/src/fields/FieldReadonly.d.ts +1 -1
- package/es/components/form/src/fields/FieldSelect.d.ts +1 -1
- package/es/components/form/src/fields/FieldSlider.d.ts +1 -1
- package/es/components/form/src/fields/FieldSwitch.d.ts +1 -1
- package/es/components/form/src/fields/FieldText.d.ts +3 -3
- package/es/components/form/src/fields/FieldTextarea.d.ts +3 -3
- package/es/components/form/src/fields/FieldTimePicker.d.ts +1 -1
- package/es/components/form/src/fields/FieldTimeRangePicker.d.ts +2 -2
- package/es/components/form/src/fields/FieldTreeSelect.d.ts +2 -2
- package/es/components/form/src/fields/FieldUploadButton.d.ts +2 -2
- package/es/components/form/src/fields/FieldUploadDragger.d.ts +2 -2
- package/es/components/form/src/fields/FieldUploadPicture.d.ts +6 -6
- package/es/components/form/src/fields/FieldUploadPictureList.d.ts +2 -2
- package/es/components/form/src/hooks/useAction.d.ts +5 -3
- package/es/components/form/src/hooks/useAction.mjs +30 -11
- package/es/components/form/src/hooks/useAction.mjs.map +1 -1
- package/es/components/form/src/hooks/useFieldValue.d.ts +1 -1
- package/es/components/form/src/hooks/useFieldValue.mjs +11 -15
- package/es/components/form/src/hooks/useFieldValue.mjs.map +1 -1
- package/es/components/form/src/layouts/DrawerForm.d.ts +6 -6
- package/es/components/form/src/layouts/ModalForm.d.ts +2 -2
- package/es/components/form/src/layouts/QueryFilter.d.ts +11 -11
- package/es/components/form/src/layouts/QueryFilter.mjs +14 -4
- package/es/components/form/src/layouts/QueryFilter.mjs.map +1 -1
- package/es/components/form/src/layouts/StepsForm.d.ts +2 -2
- package/es/components/form/src/layouts/StepsForm.mjs +8 -8
- package/es/components/form/src/layouts/StepsForm.mjs.map +1 -1
- package/es/components/form/src/type.d.ts +24 -11
- package/es/components/form/src/utils/transformer.d.ts +3 -0
- package/es/components/form/src/utils/transformer.mjs +24 -0
- package/es/components/form/src/utils/transformer.mjs.map +1 -0
- package/es/components/layout/src/layout.vue.d.ts +2 -2
- package/es/components/modal/src/modal.vue2.mjs +1 -1
- package/es/components/modal/src/modal.vue2.mjs.map +1 -1
- package/es/components/table/src/components/AutoHeightHeader/Header.vue.d.ts +3 -3
- package/es/components/table/src/components/AutoHeightHeader/HeaderRow.vue.d.ts +2 -2
- package/es/components/table/src/components/Body/Body.vue.mjs.map +1 -1
- package/es/components/table/src/components/Body/Body.vue2.mjs +1 -2
- package/es/components/table/src/components/Body/Body.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Body/BodyCell.mjs +2 -2
- package/es/components/table/src/components/Body/BodyCell.mjs.map +1 -1
- package/es/components/table/src/components/Body/BodyRow.vue.mjs.map +1 -1
- package/es/components/table/src/components/Body/BodyRow.vue2.mjs +3 -3
- package/es/components/table/src/components/Body/BodyRow.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Body/EditInput.vue.d.ts +1 -1
- package/es/components/table/src/components/ColumnSetting/CheckboxList.vue.d.ts +1 -1
- package/es/components/table/src/components/ColumnSetting/ColumnSetting.vue.d.ts +2 -2
- package/es/components/table/src/components/ColumnSetting/GroupCheckboxList.vue.d.ts +1 -1
- package/es/components/table/src/components/Drag/RowHandler.vue.mjs.map +1 -1
- package/es/components/table/src/components/Drag/RowHandler.vue2.mjs +17 -16
- package/es/components/table/src/components/Drag/RowHandler.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Form/Form.d.ts +1 -1
- package/es/components/table/src/components/Header/Header.vue.d.ts +4 -4
- package/es/components/table/src/components/Header/HeaderCell.vue.d.ts +2 -2
- package/es/components/table/src/components/Header/HeaderCellTitle.vue.mjs +19 -7
- package/es/components/table/src/components/Header/HeaderCellTitle.vue.mjs.map +1 -1
- package/es/components/table/src/components/Header/HeaderCellTitle.vue2.mjs +1 -0
- package/es/components/table/src/components/Header/HeaderCellTitle.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Header/HeaderExtraCell.vue.mjs.map +1 -1
- package/es/components/table/src/components/Header/HeaderExtraCell.vue2.mjs +1 -0
- package/es/components/table/src/components/Header/HeaderExtraCell.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Header/HeaderGroupCell.vue.d.ts +1 -1
- package/es/components/table/src/components/Header/HeaderRows.vue.d.ts +3 -3
- package/es/components/table/src/components/Header/HeaderRowsWrap.vue.d.ts +3 -3
- package/es/components/table/src/components/InteralTable.vue.d.ts +33 -12
- package/es/components/table/src/components/InteralTable.vue.mjs.map +1 -1
- package/es/components/table/src/components/InteralTable.vue2.mjs +11 -5
- package/es/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Table.d.ts +29 -8
- package/es/components/table/src/components/Table.mjs +48 -14
- package/es/components/table/src/components/Table.mjs.map +1 -1
- package/es/components/table/src/components/ToolBar/ToolBar.vue.d.ts +3 -3
- package/es/components/table/src/components/ToolBar/ToolBar.vue.mjs +25 -6
- package/es/components/table/src/components/ToolBar/ToolBar.vue.mjs.map +1 -1
- package/es/components/table/src/components/ToolBar/ToolBar.vue2.mjs.map +1 -1
- package/es/components/table/src/components/interface.d.ts +33 -5
- package/es/components/table/src/components/interface.mjs +10 -1
- package/es/components/table/src/components/interface.mjs.map +1 -1
- package/es/components/table/src/hooks/useCellProps.mjs +3 -1
- package/es/components/table/src/hooks/useCellProps.mjs.map +1 -1
- package/es/components/table/src/hooks/useContainer.mjs +1 -1
- package/es/components/table/src/hooks/useContainer.mjs.map +1 -1
- package/es/components/table/src/hooks/useFetchData.mjs +33 -20
- package/es/components/table/src/hooks/useFetchData.mjs.map +1 -1
- package/es/components/table/src/hooks/useHover.d.ts +3 -0
- package/es/components/table/src/hooks/useHover.mjs +3 -1
- package/es/components/table/src/hooks/useHover.mjs.map +1 -1
- package/es/components/table/src/hooks/usePagination.d.ts +1 -0
- package/es/components/table/src/hooks/usePagination.mjs +7 -2
- package/es/components/table/src/hooks/usePagination.mjs.map +1 -1
- package/es/components/table/src/utils/genProColumnToColumn.mjs +5 -4
- package/es/components/table/src/utils/genProColumnToColumn.mjs.map +1 -1
- package/es/components/table/src/utils/util.d.ts +1 -1
- package/es/components/table/src/utils/util.mjs +1 -1
- package/es/components/table/src/utils/util.mjs.map +1 -1
- package/es/index.d.ts +107 -58
- package/es/utils/validate.d.ts +1 -1
- package/es/utils/validate.mjs +1 -1
- package/es/utils/validate.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/config-provider/src/config-provider-container.vue2.js +2 -0
- package/lib/components/config-provider/src/config-provider-container.vue2.js.map +1 -1
- package/lib/components/config-provider/src/config-provider.vue2.js +4 -2
- package/lib/components/config-provider/src/config-provider.vue2.js.map +1 -1
- package/lib/components/config-provider/src/typing.d.ts +6 -0
- package/lib/components/config-provider/src/useTokens.d.ts +24 -0
- package/lib/components/config-provider/src/useTokens.js +60 -0
- package/lib/components/config-provider/src/useTokens.js.map +1 -0
- package/lib/components/counter/src/counter.vue.d.ts +2 -2
- package/lib/components/drawer/src/drawer.vue2.js +1 -1
- package/lib/components/drawer/src/drawer.vue2.js.map +1 -1
- package/lib/components/form/src/Form.d.ts +11 -11
- package/lib/components/form/src/base/BaseForm.d.ts +2 -2
- package/lib/components/form/src/base/BaseForm.js +14 -9
- package/lib/components/form/src/base/BaseForm.js.map +1 -1
- package/lib/components/form/src/base/StepForm.d.ts +2 -2
- package/lib/components/form/src/components/FormColWrapper.d.ts +9 -0
- package/lib/components/form/src/components/FormColWrapper.js +9 -1
- package/lib/components/form/src/components/FormColWrapper.js.map +1 -1
- package/lib/components/form/src/components/FormGroup.d.ts +55 -53
- package/lib/components/form/src/components/FormGroup.js +1 -1
- package/lib/components/form/src/components/FormGroup.js.map +1 -1
- package/lib/components/form/src/components/FormItem.d.ts +9 -0
- package/lib/components/form/src/components/FormItem.js +32 -24
- package/lib/components/form/src/components/FormItem.js.map +1 -1
- package/lib/components/form/src/components/FormItems.js +2 -1
- package/lib/components/form/src/components/FormItems.js.map +1 -1
- package/lib/components/form/src/components/FormList.d.ts +59 -57
- package/lib/components/form/src/components/FormList.js +1 -1
- package/lib/components/form/src/components/FormList.js.map +1 -1
- package/lib/components/form/src/components/FormListContainer.d.ts +22 -20
- package/lib/components/form/src/components/FormListContainer.js +1 -1
- package/lib/components/form/src/components/FormListContainer.js.map +1 -1
- package/lib/components/form/src/components/FormListItem.d.ts +16 -16
- package/lib/components/form/src/components/FormRowWrapper.d.ts +12 -12
- package/lib/components/form/src/components/FormSet.d.ts +56 -54
- package/lib/components/form/src/components/FormSet.js +1 -1
- package/lib/components/form/src/components/FormSet.js.map +1 -1
- package/lib/components/form/src/components/FormSubmitter.d.ts +2 -2
- package/lib/components/form/src/components/FormSubmitter.js +25 -7
- package/lib/components/form/src/components/FormSubmitter.js.map +1 -1
- package/lib/components/form/src/components/FormTitle.d.ts +6 -4
- package/lib/components/form/src/components/FormTitle.js +11 -6
- package/lib/components/form/src/components/FormTitle.js.map +1 -1
- package/lib/components/form/src/fields/FieldCascader.d.ts +3 -3
- package/lib/components/form/src/fields/FieldCheckbox.d.ts +1 -1
- package/lib/components/form/src/fields/FieldCheckboxGroup.d.ts +1 -1
- package/lib/components/form/src/fields/FieldDatePicker.d.ts +1 -1
- package/lib/components/form/src/fields/FieldDateRangePicker.d.ts +2 -2
- package/lib/components/form/src/fields/FieldDigit.d.ts +2 -2
- package/lib/components/form/src/fields/FieldDigitRange.d.ts +3 -3
- package/lib/components/form/src/fields/FieldPassword.d.ts +3 -3
- package/lib/components/form/src/fields/FieldRadioGroup.d.ts +1 -1
- package/lib/components/form/src/fields/FieldRate.d.ts +1 -1
- package/lib/components/form/src/fields/FieldReadonly.d.ts +1 -1
- package/lib/components/form/src/fields/FieldSelect.d.ts +1 -1
- package/lib/components/form/src/fields/FieldSlider.d.ts +1 -1
- package/lib/components/form/src/fields/FieldSwitch.d.ts +1 -1
- package/lib/components/form/src/fields/FieldText.d.ts +3 -3
- package/lib/components/form/src/fields/FieldTextarea.d.ts +3 -3
- package/lib/components/form/src/fields/FieldTimePicker.d.ts +1 -1
- package/lib/components/form/src/fields/FieldTimeRangePicker.d.ts +2 -2
- package/lib/components/form/src/fields/FieldTreeSelect.d.ts +2 -2
- package/lib/components/form/src/fields/FieldUploadButton.d.ts +2 -2
- package/lib/components/form/src/fields/FieldUploadDragger.d.ts +2 -2
- package/lib/components/form/src/fields/FieldUploadPicture.d.ts +6 -6
- package/lib/components/form/src/fields/FieldUploadPictureList.d.ts +2 -2
- package/lib/components/form/src/hooks/useAction.d.ts +5 -3
- package/lib/components/form/src/hooks/useAction.js +29 -9
- package/lib/components/form/src/hooks/useAction.js.map +1 -1
- package/lib/components/form/src/hooks/useFieldValue.d.ts +1 -1
- package/lib/components/form/src/hooks/useFieldValue.js +11 -15
- package/lib/components/form/src/hooks/useFieldValue.js.map +1 -1
- package/lib/components/form/src/layouts/DrawerForm.d.ts +6 -6
- package/lib/components/form/src/layouts/ModalForm.d.ts +2 -2
- package/lib/components/form/src/layouts/QueryFilter.d.ts +11 -11
- package/lib/components/form/src/layouts/QueryFilter.js +14 -4
- package/lib/components/form/src/layouts/QueryFilter.js.map +1 -1
- package/lib/components/form/src/layouts/StepsForm.d.ts +2 -2
- package/lib/components/form/src/layouts/StepsForm.js +8 -8
- package/lib/components/form/src/layouts/StepsForm.js.map +1 -1
- package/lib/components/form/src/type.d.ts +24 -11
- package/lib/components/form/src/utils/transformer.d.ts +3 -0
- package/lib/components/form/src/utils/transformer.js +28 -0
- package/lib/components/form/src/utils/transformer.js.map +1 -0
- package/lib/components/layout/src/layout.vue.d.ts +2 -2
- package/lib/components/modal/src/modal.vue2.js +1 -1
- package/lib/components/modal/src/modal.vue2.js.map +1 -1
- package/lib/components/table/src/components/AutoHeightHeader/Header.vue.d.ts +3 -3
- package/lib/components/table/src/components/AutoHeightHeader/HeaderRow.vue.d.ts +2 -2
- package/lib/components/table/src/components/Body/Body.vue.js.map +1 -1
- package/lib/components/table/src/components/Body/Body.vue2.js +1 -2
- package/lib/components/table/src/components/Body/Body.vue2.js.map +1 -1
- package/lib/components/table/src/components/Body/BodyCell.js +2 -2
- package/lib/components/table/src/components/Body/BodyCell.js.map +1 -1
- package/lib/components/table/src/components/Body/BodyRow.vue.js.map +1 -1
- package/lib/components/table/src/components/Body/BodyRow.vue2.js +3 -3
- package/lib/components/table/src/components/Body/BodyRow.vue2.js.map +1 -1
- package/lib/components/table/src/components/Body/EditInput.vue.d.ts +1 -1
- package/lib/components/table/src/components/ColumnSetting/CheckboxList.vue.d.ts +1 -1
- package/lib/components/table/src/components/ColumnSetting/ColumnSetting.vue.d.ts +2 -2
- package/lib/components/table/src/components/ColumnSetting/GroupCheckboxList.vue.d.ts +1 -1
- package/lib/components/table/src/components/Drag/RowHandler.vue.js.map +1 -1
- package/lib/components/table/src/components/Drag/RowHandler.vue2.js +17 -16
- package/lib/components/table/src/components/Drag/RowHandler.vue2.js.map +1 -1
- package/lib/components/table/src/components/Form/Form.d.ts +1 -1
- package/lib/components/table/src/components/Header/Header.vue.d.ts +4 -4
- package/lib/components/table/src/components/Header/HeaderCell.vue.d.ts +2 -2
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue.js +18 -6
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue.js.map +1 -1
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue2.js +1 -0
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue2.js.map +1 -1
- package/lib/components/table/src/components/Header/HeaderExtraCell.vue.js.map +1 -1
- package/lib/components/table/src/components/Header/HeaderExtraCell.vue2.js +1 -0
- package/lib/components/table/src/components/Header/HeaderExtraCell.vue2.js.map +1 -1
- package/lib/components/table/src/components/Header/HeaderGroupCell.vue.d.ts +1 -1
- package/lib/components/table/src/components/Header/HeaderRows.vue.d.ts +3 -3
- package/lib/components/table/src/components/Header/HeaderRowsWrap.vue.d.ts +3 -3
- package/lib/components/table/src/components/InteralTable.vue.d.ts +33 -12
- package/lib/components/table/src/components/InteralTable.vue.js.map +1 -1
- package/lib/components/table/src/components/InteralTable.vue2.js +12 -6
- package/lib/components/table/src/components/InteralTable.vue2.js.map +1 -1
- package/lib/components/table/src/components/Table.d.ts +29 -8
- package/lib/components/table/src/components/Table.js +47 -13
- package/lib/components/table/src/components/Table.js.map +1 -1
- package/lib/components/table/src/components/ToolBar/ToolBar.vue.d.ts +3 -3
- package/lib/components/table/src/components/ToolBar/ToolBar.vue.js +24 -5
- package/lib/components/table/src/components/ToolBar/ToolBar.vue.js.map +1 -1
- package/lib/components/table/src/components/ToolBar/ToolBar.vue2.js.map +1 -1
- package/lib/components/table/src/components/interface.d.ts +33 -5
- package/lib/components/table/src/components/interface.js +10 -1
- package/lib/components/table/src/components/interface.js.map +1 -1
- package/lib/components/table/src/hooks/useCellProps.js +3 -1
- package/lib/components/table/src/hooks/useCellProps.js.map +1 -1
- package/lib/components/table/src/hooks/useContainer.js +1 -1
- package/lib/components/table/src/hooks/useContainer.js.map +1 -1
- package/lib/components/table/src/hooks/useFetchData.js +33 -20
- package/lib/components/table/src/hooks/useFetchData.js.map +1 -1
- package/lib/components/table/src/hooks/useHover.d.ts +3 -0
- package/lib/components/table/src/hooks/useHover.js +2 -0
- package/lib/components/table/src/hooks/useHover.js.map +1 -1
- package/lib/components/table/src/hooks/usePagination.d.ts +1 -0
- package/lib/components/table/src/hooks/usePagination.js +7 -1
- package/lib/components/table/src/hooks/usePagination.js.map +1 -1
- package/lib/components/table/src/utils/genProColumnToColumn.js +5 -4
- package/lib/components/table/src/utils/genProColumnToColumn.js.map +1 -1
- package/lib/components/table/src/utils/util.d.ts +1 -1
- package/lib/components/table/src/utils/util.js +1 -1
- package/lib/components/table/src/utils/util.js.map +1 -1
- package/lib/index.d.ts +107 -58
- package/lib/utils/validate.d.ts +1 -1
- package/lib/utils/validate.js +1 -1
- package/lib/utils/validate.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/css-var.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/pro-form.css +1 -1
- package/theme-chalk/src/css-var.less +154 -677
- package/theme-chalk/src/form.less +5 -0
- package/theme-chalk/src/table/alert.less +1 -0
- package/theme-chalk/src/table/table.less +3 -3
- package/theme-chalk/src/common/css-var.less +0 -914
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"InteralTable.vue2.mjs","sources":["../../../../../../../packages/components/table/src/components/InteralTable.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-01 09:29:27\n * @LastEditors: shen\n * @LastEditTime: 2025-09-19 10:44:08\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { WatchStopHandle } from 'vue'\nimport {\n computed,\n defineComponent,\n shallowRef,\n ref,\n watchEffect,\n inject,\n watch,\n toRaw,\n triggerRef,\n onActivated,\n isReactive,\n toRef,\n} from 'vue'\nimport { Spin, Pagination } from 'ant-design-vue'\nimport { animateRows as globalAnimateRows } from './config'\nimport { baseTableProps } from './interface'\nimport { DOWN, LEFT, UP } from './Drag/constant'\nimport { addNestItemData, deleteNestItemData, isPromise } from '../utils/util'\nimport { useEditProvider } from '../hooks/useEdit'\nimport { useProvidePopup } from './context/PopupContext'\nimport { useHScrollSyncProvide } from '../hooks/useHScrollSync'\nimport { useVScrollSyncProvide } from '../hooks/useVScrollSync'\nimport { useProvideTable } from './context/TableContext'\nimport { useProvideRangeStore } from '../hooks/useRangeStore'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { resize } from '@pro-design-vue/directives'\nimport { omit, debounce } from '@pro-design-vue/utils'\nimport useKVMap from '../hooks/useKVMap'\nimport useLicense from '../hooks/useLicense'\nimport devWarning from '../utils/devWarning'\nimport eagerComputed from '../utils/eagerComputed'\nimport getScrollBarSize from '../utils/getScrollBarSize'\nimport useColumns from '../hooks/useColumns'\nimport useSorter from '../hooks/useSorter'\nimport useFilter from '../hooks/useFilter'\nimport useCal from '../hooks/useCal'\nimport useFlattenRecords from '../hooks/useFlattenRecords'\nimport useSelection from '../hooks/useRowSelection'\nimport usePagination, { getPaginationParam } from '../hooks/usePagination'\nimport raf from '../utils/raf'\nimport easeoutScroll from '../utils/easeoutScroll'\nimport useData from '../hooks/useData'\nimport supportSticky from '../utils/supportSticky'\nimport classNames from '../utils/classNames'\nimport useCellProps from '../hooks/useCellProps'\nimport KeyCode from '../utils/KeyCode'\nimport TableSlotsContextProvider from './context/TableSlotsContext'\nimport MeasureWidth from './MeasureWidth.vue'\nimport PopupContainer from './PopupContainer.vue'\nimport AutoHeightHeader from './AutoHeightHeader/Header.vue'\nimport Header from './Header/Header.vue'\nimport Body from './Body/Body.vue'\n\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type {\n GetRowKey,\n Key,\n SorterResult,\n TableLocale,\n ColumnType,\n ResizeActionType,\n DragRowEventInfo,\n DragColumnEventInfo,\n DefaultRecordType,\n TableAction,\n} from './interface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { RangeCell } from '../hooks/RangeInterface'\nimport type { SortState } from '../hooks/useSorter'\nimport type { FilterState } from '../hooks/useFilter'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport type FilterValue = (Key | boolean)[]\nexport interface ChangeEventInfo<RecordType> {\n pagination: {\n current?: number\n pageSize?: number\n total?: number\n }\n filters: Record<string, FilterValue | null>\n sorter: SorterResult<RecordType> | SorterResult<RecordType>[]\n filterStates: FilterState<RecordType>[]\n sorterStates: SortState<RecordType>[]\n currentDataSource: RecordType[]\n action: TableAction\n}\nconst EMPTY_LIST: any[] = []\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n directives: { resize },\n components: {\n TableSlotsContextProvider,\n Spin,\n MeasureWidth,\n Pagination,\n PopupContainer,\n AutoHeightHeader,\n ProHeader: Header,\n ProBody: Body,\n },\n props: baseTableProps(),\n emits: [\n 'update:pagination',\n 'scroll',\n 'update:selectedRowKeys',\n 'update:expandedRowKeys',\n 'update:columns',\n 'update:sorter',\n 'update:filters',\n 'expand',\n 'expandedRowsChange',\n 'resizeColumn',\n 'update:dataSource',\n 'cellKeydown',\n ],\n slots: {} as CustomSlotsType<ContextSlots>,\n setup(props, { expose, emit, slots }) {\n const rowKey = computed(() => props.rowKey ?? 'id')\n const popupContainer = shallowRef<any>(null)\n const customUiCls = usePrefixCls('custom-ui')\n\n const { editCellKeys, openEditor, closeEditor } = useEditProvider()\n\n useProvidePopup()\n\n const getPopupContainer = computed(() => props.getPopupContainer!)\n const { status, watermarkMsg } = useLicense()\n\n const dragRowsHandle = new Map<Key, Set<HTMLSpanElement>>()\n const draggingRowKey = ref<Key | null>(null)\n const insertToRowKey = ref<Key | null>(null)\n const dragColumnsHandle = new Map<Key, Set<HTMLDivElement>>()\n const draggingColumnKey = ref<Key>('')\n const latestRangeStartCell = shallowRef<RangeCell | null>(null)\n const mergedSummaryFixed = computed(() =>\n props.summaryFixed === true || props.summaryFixed === ('' as any)\n ? 'bottom'\n : props.summaryFixed,\n )\n const realHeaderHeight = ref(0)\n\n watchEffect(() => {\n devWarning(\n !(typeof rowKey.value == 'function' && rowKey.value.length > 1),\n 'table',\n '`index` parameter of `rowKey` function is deprecated. There is no guarantee that it will work as expected.',\n )\n })\n\n const localeData: any = inject('localeData', {\n antLocale: {\n Table: {\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting',\n },\n },\n })\n\n const locale = computed<TableLocale>(() => {\n const antLocale = localeData?.antLocale || {}\n return {\n ...(antLocale.locale === 'zh-cn'\n ? {\n triggerDesc: '\\u70B9\\u51FB\\u964D\\u5E8F',\n triggerAsc: '\\u70B9\\u51FB\\u5347\\u5E8F',\n cancelSort: '\\u53D6\\u6D88\\u6392\\u5E8F',\n }\n : {}),\n ...(antLocale.Table || {}),\n ...(props.locale || {}),\n }\n })\n\n const scrollTop = ref(0)\n const scrollLeft = ref(0)\n const rootRef = ref<HTMLDivElement>()\n const bodyWidth = ref(0)\n const bodyHeight = ref(0)\n const measureWidthRef = shallowRef<HTMLDivElement>()\n\n const mergedScrollX = eagerComputed(() => props.scrollX ?? props.scroll?.x)\n const mergedScrollY = eagerComputed(() => props.scroll?.y ?? props.height ?? props.maxHeight)\n const bodyScrollWidth = ref(typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0)\n\n watch(mergedScrollX, () => {\n bodyScrollWidth.value = typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0\n })\n\n const virtual = eagerComputed<boolean>(() => !(props.virtual === false || !mergedScrollY.value))\n const xVirtual = eagerComputed<boolean>(\n () => props.xVirtual || (props.virtual !== false && props.xVirtual !== false),\n )\n\n const getRowKey = computed<GetRowKey>(() =>\n typeof rowKey.value == 'function'\n ? rowKey.value\n : (record: Record<string, any>) => {\n return record?.[rowKey.value as string]\n },\n )\n\n const rawData = shallowRef<DefaultRecordType[]>([])\n const rawColumns = shallowRef<ColumnType[]>([])\n\n let dataSourceWatchStopHandle: WatchStopHandle\n let columnsWatchStopHandle: WatchStopHandle\n watch(\n () => props.deepWatchDataSource,\n () => {\n dataSourceWatchStopHandle && dataSourceWatchStopHandle()\n dataSourceWatchStopHandle = watch(\n () => props.dataSource,\n () => {\n rawData.value = toRaw(props.dataSource) || EMPTY_LIST\n triggerRef(rawData)\n },\n { immediate: true, deep: !!props.deepWatchDataSource },\n )\n },\n { immediate: true, deep: true },\n )\n\n watch(\n () => props.deepWatchColumns,\n () => {\n columnsWatchStopHandle && columnsWatchStopHandle()\n columnsWatchStopHandle = watch(\n () => props.columns,\n () => {\n rawColumns.value = toRaw(props.columns) || EMPTY_LIST\n triggerRef(rawColumns)\n },\n { immediate: true, deep: true },\n )\n },\n { immediate: true, deep: !!props.deepWatchColumns },\n )\n\n const childrenColumnName = computed(() => props.childrenColumnName || 'children')\n\n const { getRecordByKey, getIndexsByKey, getKeyByIndexs, allDataRowKeys, allDataRootRowKeys } =\n useKVMap(rawData, childrenColumnName, getRowKey)\n\n const defaultExpandedRowKeys = shallowRef<Key[]>([])\n watchEffect(() => {\n props.defaultExpandedRowKeys && (defaultExpandedRowKeys.value = props.defaultExpandedRowKeys)\n props.defaultExpandAllRows && (defaultExpandedRowKeys.value = allDataRowKeys.value)\n })\n\n const mergedRowSelection = computed(() => {\n const rowSelection = props.rowSelection || {}\n const { checkStrictly = true } = rowSelection\n return { ...rowSelection, checkStrictly }\n })\n\n const expandedRowKeys = computed(\n () => new Set(props.expandedRowKeys || defaultExpandedRowKeys.value || []),\n )\n\n const spinProps = computed<SpinProps>(() => {\n if (typeof props.loading === 'boolean') {\n return { spinning: props.loading }\n } else if (typeof props.loading === 'object') {\n return { spinning: true, ...props.loading }\n } else {\n return { spinning: false }\n }\n })\n\n onActivated(() => {\n scrollTo({ left: 0, top: 0 })\n })\n\n let triggerOnChange: any = () => {}\n\n const scrollBarSize = shallowRef(getScrollBarSize())\n const baseHeight = computed(() =>\n props.size === 'small' ? 39 : props.size === 'middle' ? 47 : 55,\n )\n const expandedRowRender = computed(() => props.expandedRowRender)\n const expandType = eagerComputed(() =>\n rawData.value.some((column) => column?.[childrenColumnName.value])\n ? 'nest'\n : expandedRowRender.value\n ? 'row'\n : null,\n )\n const expandable = eagerComputed(() => !!props.expandedRowRender)\n\n const columns = useColumns({\n props,\n rawColumns,\n bodyScrollWidth,\n baseHeight,\n measureWidthRef,\n expandable,\n expandType,\n scrollLeft,\n bodyWidth,\n xVirtual,\n draggingColumnKey,\n latestRangeStartCell,\n })\n\n const { sortedData, sorterStates, sorter, changeSorter } = useSorter(\n props,\n rawData,\n columns.allColumns,\n (sorter, sorterStates) => {\n scrollTop.value > bodyHeight.value && updateAnimate()\n triggerOnChange({ sorter, sorterStates }, 'sort', false)\n },\n )\n\n const { filterData, filterStates, filters, changeFilter } = useFilter(\n props,\n sortedData,\n columns.allColumns,\n (filters, filterStates) => {\n triggerOnChange({ filters, filterStates }, 'filter', true)\n },\n )\n\n const total = eagerComputed(() => filterData.value.length)\n const paginationParam = computed(() => {\n if (props.pagination === false) {\n return {}\n }\n return getPaginationParam(props.pagination, mergedPagination.value)\n })\n\n const triggeronPaginationChange = (current: number, pageSize: number) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n props['onUpdate:pagination'] &&\n emit(\n 'update:pagination',\n isReactive(props.pagination)\n ? Object.assign(props.pagination || {}, pagination)\n : pagination,\n )\n }\n\n const {\n mergedPagination,\n pos,\n refreshPagination,\n onChange: onPaginationChange,\n onShowSizeChange,\n pageData,\n } = usePagination(total, props, filterData, (current, pageSize) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n triggeronPaginationChange(current, pageSize)\n updateAnimate()\n triggerOnChange({ pagination }, 'paginate')\n })\n\n const {\n flattenData,\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n getRowFlattenIndexByKey,\n isMyChildren,\n getRowByFlattenIndex,\n } = useFlattenRecords(\n pageData,\n childrenColumnName,\n expandedRowKeys,\n getRowKey,\n expandType,\n mergedRowSelection,\n )\n\n const cal = useCal(props, flattenData, bodyHeight, scrollTop, virtual, keyEntities)\n\n const { rowPosition, viewportHeight, startIndex, endIndex } = cal\n const { leftWidth, rightWidth, centerWidth, bodyMaxWidth } = columns\n\n const selection = useSelection(props, mergedRowSelection, rawData, {\n prefixCls: computed(() => props.prefixCls!),\n pageData,\n getRowKey,\n getRecordByKey,\n childrenColumnName,\n locale,\n flattenData,\n keyEntities,\n checkboxPropsMap,\n allDataRowKeys,\n allDataRootRowKeys,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n })\n\n const bodyRef = ref<HTMLDivElement>()\n let leftRaf: any, topRaf: any\n\n const scrollTo = (options: any = {}, type = 'auto', isAnimate = false) => {\n if (!isAnimate) {\n updateAnimate()\n }\n const mergeOptions = typeof options == 'number' ? { top: options } : options\n let left, top\n if ('left' in mergeOptions) {\n left = mergeOptions.left || 0\n } else if ('columnIndex' in mergeOptions) {\n const position = columns.getColumnPosition(mergeOptions.columnIndex!)\n if (position) {\n left = position.left - leftWidth.value\n }\n } else if ('columnKey' in mergeOptions) {\n const position = columns.getColumnPositionByKey(mergeOptions.columnKey!)\n if (position) {\n left = position.left - leftWidth.value\n }\n }\n if ('top' in mergeOptions) {\n top = Math.min(Math.max(mergeOptions.top || 0, 0), maxScrollTop.value)\n } else if ('rowKey' in mergeOptions) {\n const pos = cal.getRowPositionByKey(mergeOptions.rowKey!)\n if (pos) {\n top = pos\n }\n }\n\n left = Math.max(Math.min(maxScrollLeft.value, left || 0), 0)\n if (!showVerticalScrollbar.value) {\n top = 0\n }\n if (type === 'smooth') {\n if (left !== undefined) {\n raf.cancel(leftRaf)\n leftRaf = easeoutScroll(scrollLeft.value, left, (val: number) => {\n scrollLeft.value = val\n })\n }\n if (top !== undefined) {\n raf.cancel(topRaf)\n topRaf = easeoutScroll(scrollTop.value, top, (val: number) => {\n scrollTop.value = val\n })\n }\n } else {\n if (left !== undefined) {\n scrollLeft.value = left\n }\n if (top !== undefined) {\n scrollTop.value = top\n }\n }\n }\n\n const useAnimate = ref(false)\n const animateRows = computed(() => {\n return !!(props.animateRows ?? globalAnimateRows.value)\n })\n\n let timer: any\n watch(\n animateRows,\n (newVal) => {\n useAnimate.value = newVal\n },\n { immediate: true },\n )\n\n const updateAnimate = () => {\n useAnimate.value = false\n clearTimeout(timer)\n timer = setTimeout(() => {\n useAnimate.value = animateRows.value\n }, 100)\n }\n\n const maxScrollLeft = computed(() => bodyMaxWidth.value - bodyWidth.value)\n const maxScrollTop = computed(() => viewportHeight.value - bodyHeight.value)\n const onScroll = (e) => {\n emit('scroll', e)\n }\n\n useHScrollSyncProvide({ scrollLeft, maxScrollLeft, onScroll, bodyWidth })\n useVScrollSyncProvide({ scrollTop, maxScrollTop, onScroll, updateAnimate, bodyWidth })\n\n const { data, pos: dataRowPosition } = useData(\n props,\n rowPosition,\n flattenData,\n startIndex,\n endIndex,\n draggingRowKey,\n useAnimate,\n getRowFlattenIndexByKey,\n latestRangeStartCell,\n )\n\n const pingedLeft = ref(false)\n const pingedRight = ref(false)\n const noPinged = ref(false)\n\n watchEffect(() => {\n pingedLeft.value = supportSticky && !!scrollLeft.value\n pingedRight.value =\n supportSticky &&\n centerWidth.value - (bodyWidth.value - leftWidth.value - rightWidth.value) >\n scrollLeft.value\n noPinged.value = !pingedLeft.value && !pingedRight.value\n })\n\n const rootClass = computed(() =>\n classNames({\n [`${props.prefixCls}`]: true,\n [`${props.prefixCls}-support-sticky`]: supportSticky,\n [`${props.prefixCls}-stripe`]: props.stripe,\n [`${props.prefixCls}-bordered`]: props.bordered,\n [`${props.prefixCls}-${props.size}`]: true,\n [`${props.prefixCls}-ping-left`]: pingedLeft.value,\n [`${props.prefixCls}-ping-right`]: pingedRight.value,\n [`${props.prefixCls}-no-ping`]: noPinged.value,\n [`${props.prefixCls}-has-animate`]: animateRows.value,\n }),\n )\n const rootStyle = computed(() => ({\n height: typeof props.height == 'number' ? `${props.height}px` : props.height,\n maxHeight: typeof props.maxHeight == 'number' ? `${props.maxHeight}px` : props.maxHeight,\n minHeight: typeof props.minHeight == 'number' ? `${props.minHeight}px` : props.minHeight,\n }))\n\n const showHorizontalScrollbar = ref(false)\n const debounceFn = debounce(() => {\n showHorizontalScrollbar.value = bodyMaxWidth.value > bodyWidth.value\n if (bodyWidth.value > bodyScrollWidth.value) {\n bodyScrollWidth.value = bodyWidth.value\n }\n }, 100)\n\n watch([bodyMaxWidth, bodyWidth], () => {\n debounceFn()\n })\n\n const showVerticalScrollbar = eagerComputed(\n () => !!mergedScrollY.value && bodyHeight.value + 0.9 < viewportHeight.value,\n )\n const scrollToFirstRow = eagerComputed(\n () => !props.scroll || (props.scroll && props.scroll.scrollToFirstRowOnChange !== false),\n )\n\n triggerOnChange = (\n info: Partial<ChangeEventInfo<DefaultRecordType>>,\n action: TableAction,\n reset = false,\n ) => {\n if (reset) {\n refreshPagination()\n triggeronPaginationChange(1, mergedPagination.value.pageSize!)\n if (props.pagination) {\n props.pagination.onChange?.(1, mergedPagination.value.pageSize)\n }\n }\n if (scrollToFirstRow.value) {\n scrollTop.value = 0\n }\n props.onChange?.(\n info.pagination || mergedPagination.value,\n info.filters || filters.value,\n info.sorter || sorter.value,\n {\n currentDataSource: info.currentDataSource || filterData.value,\n action,\n },\n )\n }\n\n const paginationProps = computed(() => {\n return omit(mergedPagination.value, ['position', 'onChange', 'onShowSizeChange'])\n })\n\n const paginationClass = computed(() => {\n return {\n [`${props.prefixCls}-pagination`]: true,\n [`${props.prefixCls}-pagination-${pos.value.bottom}`]: true,\n [`${customUiCls}`]: true,\n }\n })\n const bottomPaginationHeight = ref(0)\n const bottomPaginationStyle = computed<any>(() => {\n if (!props.paginationSticky) {\n return {}\n }\n if (props.paginationSticky === true) {\n return { position: 'sticky', 'z-index': 9, bottom: '0px' }\n }\n return {\n position: 'sticky',\n 'z-index': 9,\n bottom: `${props.paginationSticky?.offsetBottom ?? 0}px`,\n }\n })\n\n const indentSize = computed(() => (typeof props.indentSize == 'number' ? props.indentSize : 15))\n\n const cellProps = useCellProps({\n leftColumns: columns.leftColumns,\n rightColumns: columns.rightColumns,\n visibleCenterColumns: columns.visibleCenterColumns,\n allColumns: columns.allColumns,\n data,\n mergedRowHeights: cal.mergedRowHeights,\n startIndex,\n getColumnPosition: columns.getColumnPosition,\n bodyWidth,\n leftWidth,\n centerWidth,\n getRowHeight: cal.getRowHeight,\n customCell: toRef(props, 'customCell'),\n })\n\n watch(\n [realHeaderHeight, scrollLeft],\n () => {\n popupContainer.value?.alignPopup?.()\n },\n { flush: 'post' },\n )\n\n useProvideTable({\n ...cal,\n ...columns,\n ...cellProps,\n rootRef,\n rawData,\n getRowFlattenIndexByKey,\n prefixCls: computed(() => props.prefixCls!),\n draggingRowKey,\n insertToRowKey,\n status,\n useAnimate,\n animateRows,\n watermarkMsg,\n onResizeColumn: (w: number, col: ColumnType, action: ResizeActionType) => {\n const width = col.width\n const result = props.onResizeColumn?.(w, col, action)\n if (result !== false && !(width === w && col.width === w)) {\n col.width = width !== col.width ? col.width : w\n triggerRef(rawColumns)\n }\n },\n onRowDragEnd: (opt: DragRowEventInfo) => {\n const { insertToRowKey, record, fromIndexs, rowKey, dir, preTargetInfo, nextTargetInfo } =\n opt\n const rawRecord = toRaw(record)\n const dragEnd = props.onRowDragEnd?.({ ...opt, record: rawRecord, fromIndexs })\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (!isMyChildren(rowKey, preTargetInfo?.rowKey as Key) && insertToRowKey !== rowKey) {\n if (insertToRowKey !== null) {\n const parentRecord = getRecordByKey(insertToRowKey)\n if (\n insertToRowKey === preTargetInfo?.rowKey ||\n insertToRowKey === nextTargetInfo?.rowKey\n ) {\n if (dir === DOWN) {\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n } else {\n if (dir === DOWN) {\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n } else {\n if (dir === DOWN && preTargetInfo) {\n addNestItemData(\n rawData.value,\n [preTargetInfo.indexs[0]!],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else if (dir === UP && nextTargetInfo) {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs ? [preTargetInfo!.indexs[0]!] : [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n triggerRef(rawData)\n emit('update:dataSource', rawData.value)\n }\n }\n\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n virtual,\n xVirtual,\n dataRowPosition,\n rawColumns,\n bodyHeight,\n scrollTop,\n scrollLeft,\n supportSticky,\n childrenColumnName,\n bodyScrollWidth,\n baseHeight,\n startIndex,\n data,\n pageData,\n getRecordByKey,\n getIndexsByKey,\n expandType,\n flattenData,\n expandedRowKeys,\n indentSize,\n props,\n bodyWidth,\n scrollTo,\n scrollBarSize,\n leftWidth,\n rightWidth,\n centerWidth,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getRowKey,\n selection,\n updateSelectedRowKeys: (keys: Key[]) => {\n emit('update:selectedRowKeys', keys)\n },\n locale,\n sorterStates,\n changeSorter,\n changeFilter,\n filterStates,\n onTriggerExpand: (record, key: Key) => {\n let keys: Key[]\n const hasKey = expandedRowKeys.value.has(key)\n if (hasKey) {\n expandedRowKeys.value.delete(key)\n keys = [...expandedRowKeys.value]\n } else {\n keys = [...expandedRowKeys.value, key]\n }\n defaultExpandedRowKeys.value = keys\n emit('update:expandedRowKeys', keys)\n emit('expand', !hasKey, record)\n emit('expandedRowsChange', keys)\n },\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n mergedRowSelection,\n getPopupContainer,\n allDataRowKeys,\n allDataRootRowKeys,\n dragRowsHandle,\n isMyChildren,\n getKeyByIndexs,\n getRowByFlattenIndex,\n draggingColumnKey,\n dragColumnsHandle,\n onColumnDragEnd: (arg: DragColumnEventInfo) => {\n const { dir, column, targetColumn } = arg\n const dragEnd = props.onColumnDragEnd?.(arg)\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (column === targetColumn || column.key === targetColumn.key) return\n const index = rawColumns.value.findIndex(\n (col) => col === column || col.key === column.key,\n )\n const targetIndex = rawColumns.value.findIndex(\n (col) => col === targetColumn || col.key === targetColumn.key,\n )\n if (dir === LEFT) {\n rawColumns.value.splice(index, 1)\n rawColumns.value.splice(targetIndex, 0, column)\n } else {\n rawColumns.value.splice(targetIndex + 1, 0, column)\n rawColumns.value.splice(index, 1)\n }\n triggerRef(rawColumns)\n emit('update:columns', rawColumns.value)\n }\n\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n onColumnDrag: () => {},\n columnDrag: computed(() => props.columnDrag),\n summaryFixed: mergedSummaryFixed,\n realHeaderHeight,\n bottomPaginationHeight,\n pos,\n })\n\n const tabGuardTopRef = ref()\n const tabGuardBottomRef = ref()\n\n const {\n navigationService,\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n onBodyKeydown,\n } = useProvideRangeStore({\n allColumns: columns.allColumns,\n flattenData,\n rangeSelection: computed(() => props.rangeSelection),\n getRowByFlattenIndex,\n rootRef,\n prefixCls: computed(() => props.prefixCls!),\n allCellProps: cellProps.allCellProps,\n tabGuardTopRef,\n tabGuardBottomRef,\n ensureCellColumnVisible: (cell: RangeCell) => {\n if (!cell.column || cell.column.fixed) return\n const sl = scrollLeft.value\n const pos = columns.getColumnPositionByKey(cell.column.columnKey)\n if (pos) {\n const { width, left } = pos\n const lw = leftWidth.value\n const rw = rightWidth.value\n left - lw < sl\n ? (scrollLeft.value = left - lw)\n : left + width > sl + bodyWidth.value - rw &&\n (scrollLeft.value = left + width - bodyWidth.value + rw)\n }\n },\n ensureCellRowVisible: (cell: RangeCell) => {\n const { rowIndex } = cell\n const st = scrollTop.value\n const row = getRowByFlattenIndex(rowIndex)\n const pos = cal.getRowPositionByKey(row.rowKey)\n const cprops =\n (cellProps.allCellProps.value[row.rowKey]?.[cell.column!.columnKey] || {}).props || {}\n const height = cal.getRowHeight(rowIndex, cprops.rowSpan)\n if (pos !== undefined) {\n updateAnimate()\n if (pos < st) {\n scrollTop.value = pos\n } else {\n if (pos + height > st + bodyHeight.value) {\n scrollTop.value = pos + height - bodyHeight.value\n }\n }\n }\n },\n latestRangeStartCell,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n scrollLeft,\n scrollTop,\n scrollTo,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getIndexsByKey,\n formatRangeCellText: (parmas) => {\n if (props.formatRangeCellText) {\n return props.formatRangeCellText(parmas)\n } else if (parmas.value) {\n return parmas.value\n }\n return ''\n },\n editCellKeys,\n copyDelimiter: computed(() => props.copyDelimiter),\n })\n\n expose({\n scrollTo,\n scrollLeft,\n scrollTop,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n openEditor: (cellInfos: any[]) => {\n openEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n },\n closeEditor: (cellInfos: any[]) => {\n if (cellInfos) {\n closeEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n } else {\n closeEditor()\n }\n },\n })\n\n return {\n bodyRef,\n spinProps,\n rowPosition,\n viewportHeight,\n startIndex,\n data,\n watermarkMsg,\n rootStyle,\n rootClass,\n onBodyKeydown,\n watermarkStyle: computed<any>(() => ({\n minWidth: '100px!important',\n minHeight: '40px!important',\n position: 'absolute!important',\n fontSize: '20px!important',\n opacity: '0.8!important',\n bottom: '40px!important',\n right: '40px!important',\n pointerEvents: 'none',\n display: 'block!important',\n zIndex: '999999!important',\n color: '#000000!important',\n margin: '0px!important',\n padding: '0px!important',\n transform: 'unset!important',\n })),\n mergedPagination,\n pos,\n onPaginationChange,\n scrollBarSize,\n scrollTop,\n bodyScrollWidth,\n bodyWidth,\n scrollLeft,\n cal,\n selection,\n locale,\n paginationProps,\n slots,\n mergedScrollX,\n mergedScrollY,\n bodyHeight,\n measureWidthRef,\n flattenData,\n rootRef,\n mergedSummaryFixed,\n handleResize: (e: CustomEvent) => {\n realHeaderHeight.value = e.detail.height\n },\n handlePaginationResize: (e: CustomEvent) => {\n bottomPaginationHeight.value = e.detail.height\n },\n popupContainer,\n handleGuardTopKeydown: (e: KeyboardEvent) => {\n e.keyCode !== KeyCode.TAB ||\n e.shiftKey ||\n (navigationService.getFirstCellToFocus(e.shiftKey), e.preventDefault())\n },\n handleGuardBottomKeydown: (e: KeyboardEvent) => {\n e.keyCode === KeyCode.TAB &&\n e.shiftKey &&\n (navigationService.getLastCellToFocus(e.shiftKey), e.preventDefault())\n },\n tabGuardTopRef,\n tabGuardBottomRef,\n onShowSizeChange,\n customUiCls,\n paginationClass,\n bottomPaginationStyle,\n }\n },\n})\n</script>\n\n<template>\n <TableSlotsContextProvider :value=\"{ ...slots }\">\n <Spin v-bind=\"spinProps\">\n <Pagination\n v-if=\"pos.top\"\n :class=\"`${prefixCls}-pagination ${prefixCls}-pagination-${pos.top} ${customUiCls}`\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n <div\n ref=\"tabGuardTopRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardTopKeydown\"\n ></div>\n <div key=\"content\" ref=\"ref\" :class=\"rootClass\" :style=\"rootStyle\">\n <template v-if=\"showHeader\">\n <AutoHeightHeader\n v-if=\"autoHeaderHeight\"\n :prefix-cls=\"prefixCls\"\n :sticky=\"sticky\"\n @resizeheight=\"handleResize\"\n />\n <ProHeader v-else :prefix-cls=\"prefixCls\" :sticky=\"sticky\" @resizeheight=\"handleResize\" />\n </template>\n <ProBody\n ref=\"bodyRef\"\n v-model:bodyScrollWidth=\"bodyScrollWidth\"\n v-model:bodyWidth=\"bodyWidth\"\n v-model:bodyHeight=\"bodyHeight\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n :scroll-x=\"mergedScrollX\"\n :height=\"mergedScrollY\"\n :summary-fixed=\"mergedSummaryFixed\"\n :summary=\"$slots.summary\"\n :empty-text=\"$slots.emptyText\"\n @keydown=\"onBodyKeydown\"\n />\n </div>\n <div\n ref=\"tabGuardBottomRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardBottomKeydown\"\n ></div>\n <div v-if=\"$slots.footer\" key=\"footer\" :class=\"`${prefixCls}-footer`\">\n <slot name=\"footer\" />\n </div>\n <PopupContainer ref=\"popupContainer\" :prefix-cls=\"prefixCls\" />\n <div\n v-if=\"pos.bottom\"\n v-resize:height\n :style=\"bottomPaginationStyle\"\n :class=\"`${prefixCls}-pagination-wrap`\"\n @resizeheight=\"handlePaginationResize\"\n >\n <Pagination\n :class=\"paginationClass\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n </div>\n </Spin>\n <MeasureWidth ref=\"measureWidthRef\" />\n </TableSlotsContextProvider>\n</template>\n"],"names":["sorter","sorterStates","filters","filterStates","pos","animateRows","globalAnimateRows","insertToRowKey","rowKey"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgGA,MAAM,aAAoB,EAAC;AAE3B,gBAAe,eAAA,CAAgB;AAAA,EAC7B,IAAA,EAAM,UAAA;AAAA,EACN,YAAA,EAAc,KAAA;AAAA,EACd,UAAA,EAAY,EAAE,MAAA,EAAO;AAAA,EACrB,UAAA,EAAY;AAAA,IACV,yBAAA;AAAA,IACA,IAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAA;AAAA,IACA,cAAA;AAAA,IACA,gBAAA;AAAA,IACA,SAAA,EAAW,MAAA;AAAA,IACX,OAAA,EAAS;AAAA,GACX;AAAA,EACA,OAAO,cAAA,EAAe;AAAA,EACtB,KAAA,EAAO;AAAA,IACL,mBAAA;AAAA,IACA,QAAA;AAAA,IACA,wBAAA;AAAA,IACA,wBAAA;AAAA,IACA,gBAAA;AAAA,IACA,eAAA;AAAA,IACA,gBAAA;AAAA,IACA,QAAA;AAAA,IACA,oBAAA;AAAA,IACA,cAAA;AAAA,IACA,mBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,OAAO,EAAC;AAAA,EACR,MAAM,KAAA,EAAO,EAAE,MAAA,EAAQ,IAAA,EAAM,OAAM,EAAG;AACpC,IAAA,MAAM,MAAA,GAAS,SAAS,MAAG;;AAAG,MAAA,OAAA,CAAA,EAAA,GAAA,KAAA,CAAM,WAAN,IAAA,GAAA,EAAA,GAAgB,IAAA;AAAA,IAAA,CAAI,CAAA;AAClD,IAAA,MAAM,cAAA,GAAiB,WAAgB,IAAI,CAAA;AAC3C,IAAA,MAAM,WAAA,GAAc,aAAa,WAAW,CAAA;AAE5C,IAAA,MAAM,EAAE,YAAA,EAAc,UAAA,EAAY,WAAA,KAAgB,eAAA,EAAgB;AAElE,IAAA,eAAA,EAAgB;AAEhB,IAAA,MAAM,iBAAA,GAAoB,QAAA,CAAS,MAAM,KAAA,CAAM,iBAAkB,CAAA;AACjE,IAAA,MAAM,EAAE,MAAA,EAAQ,YAAA,EAAa,GAAI,UAAA,EAAW;AAE5C,IAAA,MAAM,cAAA,uBAAqB,GAAA,EAA+B;AAC1D,IAAA,MAAM,cAAA,GAAiB,IAAgB,IAAI,CAAA;AAC3C,IAAA,MAAM,cAAA,GAAiB,IAAgB,IAAI,CAAA;AAC3C,IAAA,MAAM,iBAAA,uBAAwB,GAAA,EAA8B;AAC5D,IAAA,MAAM,iBAAA,GAAoB,IAAS,EAAE,CAAA;AACrC,IAAA,MAAM,oBAAA,GAAuB,WAA6B,IAAI,CAAA;AAC9D,IAAA,MAAM,kBAAA,GAAqB,QAAA;AAAA,MAAS,MAClC,MAAM,YAAA,KAAiB,IAAA,IAAQ,MAAM,YAAA,KAAkB,EAAA,GACnD,WACA,KAAA,CAAM;AAAA,KACZ;AACA,IAAA,MAAM,gBAAA,GAAmB,IAAI,CAAC,CAAA;AAE9B,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,UAAA;AAAA,QACE,EAAE,OAAO,MAAA,CAAO,SAAS,UAAA,IAAc,MAAA,CAAO,MAAM,MAAA,GAAS,CAAA,CAAA;AAAA,QAC7D,OAAA;AAAA,QACA;AAAA,OACF;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAM,UAAA,GAAkB,OAAO,YAAA,EAAc;AAAA,MAC3C,SAAA,EAAW;AAAA,QACT,KAAA,EAAO;AAAA,UACL,WAAA,EAAa,0BAAA;AAAA,UACb,UAAA,EAAY,yBAAA;AAAA,UACZ,UAAA,EAAY;AAAA;AACd;AACF,KACD,CAAA;AAED,IAAA,MAAM,MAAA,GAAS,SAAsB,MAAM;AACzC,MAAA,MAAM,SAAA,GAAA,CAAY,UAAA,IAAA,IAAA,GAAA,MAAA,GAAA,UAAA,CAAY,SAAA,KAAa,EAAC;AAC5C,MAAA,OAAO;AAAA,QACL,GAAI,SAAA,CAAU,MAAA,KAAW,OAAA,GACrB;AAAA,UACE,WAAA,EAAa,0BAAA;AAAA,UACb,UAAA,EAAY,0BAAA;AAAA,UACZ,UAAA,EAAY;AAAA,YAEd,EAAC;AAAA,QACL,GAAI,SAAA,CAAU,KAAA,IAAS,EAAC;AAAA,QACxB,GAAI,KAAA,CAAM,MAAA,IAAU;AAAC,OACvB;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAM,SAAA,GAAY,IAAI,CAAC,CAAA;AACvB,IAAA,MAAM,UAAA,GAAa,IAAI,CAAC,CAAA;AACxB,IAAA,MAAM,UAAU,GAAA,EAAoB;AACpC,IAAA,MAAM,SAAA,GAAY,IAAI,CAAC,CAAA;AACvB,IAAA,MAAM,UAAA,GAAa,IAAI,CAAC,CAAA;AACxB,IAAA,MAAM,kBAAkB,UAAA,EAA2B;AAEnD,IAAA,MAAM,aAAA,GAAgB,cAAc,MAAG;;AAAG,MAAA,OAAA,CAAA,EAAA,GAAA,KAAA,CAAM,OAAA,KAAN,IAAA,GAAA,EAAA,GAAA,CAAiB,EAAA,GAAA,KAAA,CAAM,MAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAc,CAAA;AAAA,IAAA,CAAC,CAAA;AAC1E,IAAA,MAAM,aAAA,GAAgB,cAAc,MAAG;;AAAG,MAAA,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,WAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAc,CAAA,KAAd,YAAmB,KAAA,CAAM,MAAA,KAAzB,YAAmC,KAAA,CAAM,SAAA;AAAA,IAAA,CAAS,CAAA;AAC5F,IAAA,MAAM,eAAA,GAAkB,IAAI,OAAO,aAAA,CAAc,SAAS,QAAA,GAAW,aAAA,CAAc,QAAQ,CAAC,CAAA;AAE5F,IAAA,KAAA,CAAM,eAAe,MAAM;AACzB,MAAA,eAAA,CAAgB,QAAQ,OAAO,aAAA,CAAc,KAAA,IAAS,QAAA,GAAW,cAAc,KAAA,GAAQ,CAAA;AAAA,IACzF,CAAC,CAAA;AAED,IAAA,MAAM,OAAA,GAAU,cAAuB,MAAM,EAAE,MAAM,OAAA,KAAY,KAAA,IAAS,CAAC,aAAA,CAAc,KAAA,CAAM,CAAA;AAC/F,IAAA,MAAM,QAAA,GAAW,aAAA;AAAA,MACf,MAAM,KAAA,CAAM,QAAA,IAAa,MAAM,OAAA,KAAY,KAAA,IAAS,MAAM,QAAA,KAAa;AAAA,KACzE;AAEA,IAAA,MAAM,SAAA,GAAY,QAAA;AAAA,MAAoB,MACpC,OAAO,MAAA,CAAO,KAAA,IAAS,aACnB,MAAA,CAAO,KAAA,GACP,CAAC,MAAA,KAAgC;AAC/B,QAAA,OAAO,iCAAS,MAAA,CAAO,KAAA,CAAA;AAAA,MACzB;AAAA,KACN;AAEA,IAAA,MAAM,OAAA,GAAU,UAAA,CAAgC,EAAE,CAAA;AAClD,IAAA,MAAM,UAAA,GAAa,UAAA,CAAyB,EAAE,CAAA;AAE9C,IAAA,IAAI,yBAAA;AACJ,IAAA,IAAI,sBAAA;AACJ,IAAA,KAAA;AAAA,MACE,MAAM,KAAA,CAAM,mBAAA;AAAA,MACZ,MAAM;AACJ,QAAA,yBAAA,IAA6B,yBAAA,EAA0B;AACvD,QAAA,yBAAA,GAA4B,KAAA;AAAA,UAC1B,MAAM,KAAA,CAAM,UAAA;AAAA,UACZ,MAAM;AACJ,YAAA,OAAA,CAAQ,KAAA,GAAQ,KAAA,CAAM,KAAA,CAAM,UAAU,CAAA,IAAK,UAAA;AAC3C,YAAA,UAAA,CAAW,OAAO,CAAA;AAAA,UACpB,CAAA;AAAA,UACA,EAAE,SAAA,EAAW,IAAA,EAAM,MAAM,CAAC,CAAC,MAAM,mBAAA;AAAoB,SACvD;AAAA,MACF,CAAA;AAAA,MACA,EAAE,SAAA,EAAW,IAAA,EAAM,IAAA,EAAM,IAAA;AAAK,KAChC;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAA,CAAM,gBAAA;AAAA,MACZ,MAAM;AACJ,QAAA,sBAAA,IAA0B,sBAAA,EAAuB;AACjD,QAAA,sBAAA,GAAyB,KAAA;AAAA,UACvB,MAAM,KAAA,CAAM,OAAA;AAAA,UACZ,MAAM;AACJ,YAAA,UAAA,CAAW,KAAA,GAAQ,KAAA,CAAM,KAAA,CAAM,OAAO,CAAA,IAAK,UAAA;AAC3C,YAAA,UAAA,CAAW,UAAU,CAAA;AAAA,UACvB,CAAA;AAAA,UACA,EAAE,SAAA,EAAW,IAAA,EAAM,IAAA,EAAM,IAAA;AAAK,SAChC;AAAA,MACF,CAAA;AAAA,MACA,EAAE,SAAA,EAAW,IAAA,EAAM,MAAM,CAAC,CAAC,MAAM,gBAAA;AAAiB,KACpD;AAEA,IAAA,MAAM,kBAAA,GAAqB,QAAA,CAAS,MAAM,KAAA,CAAM,sBAAsB,UAAU,CAAA;AAEhF,IAAA,MAAM,EAAE,cAAA,EAAgB,cAAA,EAAgB,cAAA,EAAgB,cAAA,EAAgB,oBAAmB,GACzF,QAAA,CAAS,OAAA,EAAS,kBAAA,EAAoB,SAAS,CAAA;AAEjD,IAAA,MAAM,sBAAA,GAAyB,UAAA,CAAkB,EAAE,CAAA;AACnD,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,KAAA,CAAM,sBAAA,KAA2B,sBAAA,CAAuB,KAAA,GAAQ,KAAA,CAAM,sBAAA,CAAA;AACtE,MAAA,KAAA,CAAM,oBAAA,KAAyB,sBAAA,CAAuB,KAAA,GAAQ,cAAA,CAAe,KAAA,CAAA;AAAA,IAC/E,CAAC,CAAA;AAED,IAAA,MAAM,kBAAA,GAAqB,SAAS,MAAM;AACxC,MAAA,MAAM,YAAA,GAAe,KAAA,CAAM,YAAA,IAAgB,EAAC;AAC5C,MAAA,MAAM,EAAE,aAAA,GAAgB,IAAA,EAAK,GAAI,YAAA;AACjC,MAAA,OAAO,EAAE,GAAG,YAAA,EAAc,aAAA,EAAc;AAAA,IAC1C,CAAC,CAAA;AAED,IAAA,MAAM,eAAA,GAAkB,QAAA;AAAA,MACtB,MAAM,IAAI,GAAA,CAAI,KAAA,CAAM,mBAAmB,sBAAA,CAAuB,KAAA,IAAS,EAAE;AAAA,KAC3E;AAEA,IAAA,MAAM,SAAA,GAAY,SAAoB,MAAM;AAC1C,MAAA,IAAI,OAAO,KAAA,CAAM,OAAA,KAAY,SAAA,EAAW;AACtC,QAAA,OAAO,EAAE,QAAA,EAAU,KAAA,CAAM,OAAA,EAAQ;AAAA,MACnC,CAAA,MAAA,IAAW,OAAO,KAAA,CAAM,OAAA,KAAY,QAAA,EAAU;AAC5C,QAAA,OAAO,EAAE,QAAA,EAAU,IAAA,EAAM,GAAG,MAAM,OAAA,EAAQ;AAAA,MAC5C,CAAA,MAAO;AACL,QAAA,OAAO,EAAE,UAAU,KAAA,EAAM;AAAA,MAC3B;AAAA,IACF,CAAC,CAAA;AAED,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,QAAA,CAAS,EAAE,IAAA,EAAM,CAAA,EAAG,GAAA,EAAK,GAAG,CAAA;AAAA,IAC9B,CAAC,CAAA;AAED,IAAA,IAAI,kBAAuB,MAAM;AAAA,IAAC,CAAA;AAElC,IAAA,MAAM,aAAA,GAAgB,UAAA,CAAW,gBAAA,EAAkB,CAAA;AACnD,IAAA,MAAM,UAAA,GAAa,QAAA;AAAA,MAAS,MAC1B,MAAM,IAAA,KAAS,OAAA,GAAU,KAAK,KAAA,CAAM,IAAA,KAAS,WAAW,EAAA,GAAK;AAAA,KAC/D;AACA,IAAA,MAAM,iBAAA,GAAoB,QAAA,CAAS,MAAM,KAAA,CAAM,iBAAiB,CAAA;AAChE,IAAA,MAAM,UAAA,GAAa,aAAA;AAAA,MAAc,MAC/B,OAAA,CAAQ,KAAA,CAAM,IAAA,CAAK,CAAC,MAAA,KAAW,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAS,kBAAA,CAAmB,KAAA,CAAM,CAAA,GAC7D,MAAA,GACA,iBAAA,CAAkB,QAChB,KAAA,GACA;AAAA,KACR;AACA,IAAA,MAAM,aAAa,aAAA,CAAc,MAAM,CAAC,CAAC,MAAM,iBAAiB,CAAA;AAEhE,IAAA,MAAM,UAAU,UAAA,CAAW;AAAA,MACzB,KAAA;AAAA,MACA,UAAA;AAAA,MACA,eAAA;AAAA,MACA,UAAA;AAAA,MACA,eAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAA;AAAA,MACA,iBAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,EAAE,UAAA,EAAY,YAAA,EAAc,MAAA,EAAQ,cAAa,GAAI,SAAA;AAAA,MACzD,KAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA,CAAQ,UAAA;AAAA,MACR,CAACA,SAAQC,aAAAA,KAAiB;AACxB,QAAA,SAAA,CAAU,KAAA,GAAQ,UAAA,CAAW,KAAA,IAAS,aAAA,EAAc;AACpD,QAAA,eAAA,CAAgB,EAAE,MAAA,EAAAD,OAAAA,EAAQ,cAAAC,aAAAA,EAAa,EAAG,QAAQ,KAAK,CAAA;AAAA,MACzD;AAAA,KACF;AAEA,IAAA,MAAM,EAAE,UAAA,EAAY,YAAA,EAAc,OAAA,EAAS,cAAa,GAAI,SAAA;AAAA,MAC1D,KAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA,CAAQ,UAAA;AAAA,MACR,CAACC,UAASC,aAAAA,KAAiB;AACzB,QAAA,eAAA,CAAgB,EAAE,OAAA,EAAAD,QAAAA,EAAS,cAAAC,aAAAA,EAAa,EAAG,UAAU,IAAI,CAAA;AAAA,MAC3D;AAAA,KACF;AAEA,IAAA,MAAM,KAAA,GAAQ,aAAA,CAAc,MAAM,UAAA,CAAW,MAAM,MAAM,CAAA;AACzD,IAAA,MAAM,eAAA,GAAkB,SAAS,MAAM;AACrC,MAAA,IAAI,KAAA,CAAM,eAAe,KAAA,EAAO;AAC9B,QAAA,OAAO,EAAC;AAAA,MACV;AACA,MAAA,OAAO,kBAAA,CAAmB,KAAA,CAAM,UAAA,EAAY,gBAAA,CAAiB,KAAK,CAAA;AAAA,IACpE,CAAC,CAAA;AAED,IAAA,MAAM,yBAAA,GAA4B,CAAC,OAAA,EAAiB,QAAA,KAAqB;AACvE,MAAA,MAAM,aAAa,EAAE,GAAG,eAAA,CAAgB,KAAA,EAAO,SAAS,QAAA,EAAS;AACjE,MAAA,KAAA,CAAM,qBAAqB,CAAA,IACzB,IAAA;AAAA,QACE,mBAAA;AAAA,QACA,UAAA,CAAW,KAAA,CAAM,UAAU,CAAA,GACvB,MAAA,CAAO,MAAA,CAAO,KAAA,CAAM,UAAA,IAAc,EAAC,EAAG,UAAU,CAAA,GAChD;AAAA,OACN;AAAA,IACJ,CAAA;AAEA,IAAA,MAAM;AAAA,MACJ,gBAAA;AAAA,MACA,GAAA;AAAA,MACA,iBAAA;AAAA,MACA,QAAA,EAAU,kBAAA;AAAA,MACV,gBAAA;AAAA,MACA;AAAA,QACE,aAAA,CAAc,KAAA,EAAO,OAAO,UAAA,EAAY,CAAC,SAAS,QAAA,KAAa;AACjE,MAAA,MAAM,aAAa,EAAE,GAAG,eAAA,CAAgB,KAAA,EAAO,SAAS,QAAA,EAAS;AACjE,MAAA,yBAAA,CAA0B,SAAS,QAAQ,CAAA;AAC3C,MAAA,aAAA,EAAc;AACd,MAAA,eAAA,CAAgB,EAAE,UAAA,EAAW,EAAG,UAAU,CAAA;AAAA,IAC5C,CAAC,CAAA;AAED,IAAA,MAAM;AAAA,MACJ,WAAA;AAAA,MACA,WAAA;AAAA,MACA,eAAA;AAAA,MACA,qBAAA;AAAA,MACA,gBAAA;AAAA,MACA,uBAAA;AAAA,MACA,YAAA;AAAA,MACA;AAAA,KACF,GAAI,iBAAA;AAAA,MACF,QAAA;AAAA,MACA,kBAAA;AAAA,MACA,eAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACF;AAEA,IAAA,MAAM,MAAM,MAAA,CAAO,KAAA,EAAO,aAAa,UAAA,EAAY,SAAA,EAAW,SAAS,WAAW,CAAA;AAElF,IAAA,MAAM,EAAE,WAAA,EAAa,cAAA,EAAgB,UAAA,EAAY,UAAS,GAAI,GAAA;AAC9D,IAAA,MAAM,EAAE,SAAA,EAAW,UAAA,EAAY,WAAA,EAAa,cAAa,GAAI,OAAA;AAE7D,IAAA,MAAM,SAAA,GAAY,YAAA,CAAa,KAAA,EAAO,kBAAA,EAAoB,OAAA,EAAS;AAAA,MACjE,SAAA,EAAW,QAAA,CAAS,MAAM,KAAA,CAAM,SAAU,CAAA;AAAA,MAC1C,QAAA;AAAA,MACA,SAAA;AAAA,MACA,cAAA;AAAA,MAEA,MAAA;AAAA,MAEA,WAAA;AAAA,MACA,gBAAA;AAAA,MAEA,kBAAA;AAAA,MACA,eAEF,CAAC,CAAA;AAED,IAAA,MAAM,UAAU,GAAA,EAAoB;AACpC,IAAA,IAAI,OAAA,EAAc,MAAA;AAElB,IAAA,MAAM,QAAA,GAAW,CAAC,OAAA,GAAe,IAAI,IAAA,GAAO,MAAA,EAAQ,YAAY,KAAA,KAAU;AACxE,MAAA,IAAI,CAAC,SAAA,EAAW;AACd,QAAA,aAAA,EAAc;AAAA,MAChB;AACA,MAAA,MAAM,eAAe,OAAO,OAAA,IAAW,WAAW,EAAE,GAAA,EAAK,SAAQ,GAAI,OAAA;AACrE,MAAA,IAAI,IAAA,EAAM,GAAA;AACV,MAAA,IAAI,UAAU,YAAA,EAAc;AAC1B,QAAA,IAAA,GAAO,aAAa,IAAA,IAAQ,CAAA;AAAA,MAC9B,CAAA,MAAA,IAAW,iBAAiB,YAAA,EAAc;AACxC,QAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,iBAAA,CAAkB,YAAA,CAAa,WAAY,CAAA;AACpE,QAAA,IAAI,QAAA,EAAU;AACZ,UAAA,IAAA,GAAO,QAAA,CAAS,OAAO,SAAA,CAAU,KAAA;AAAA,QACnC;AAAA,MACF,CAAA,MAAA,IAAW,eAAe,YAAA,EAAc;AACtC,QAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,sBAAA,CAAuB,YAAA,CAAa,SAAU,CAAA;AACvE,QAAA,IAAI,QAAA,EAAU;AACZ,UAAA,IAAA,GAAO,QAAA,CAAS,OAAO,SAAA,CAAU,KAAA;AAAA,QACnC;AAAA,MACF;AACA,MAAA,IAAI,SAAS,YAAA,EAAc;AACzB,QAAA,GAAA,GAAM,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,YAAA,CAAa,OAAO,CAAA,EAAG,CAAC,CAAA,EAAG,YAAA,CAAa,KAAK,CAAA;AAAA,MACvE,CAAA,MAAA,IAAW,YAAY,YAAA,EAAc;AACnC,QAAA,MAAMC,IAAAA,GAAM,GAAA,CAAI,mBAAA,CAAoB,YAAA,CAAa,MAAO,CAAA;AACxD,QAAA,IAAIA,IAAAA,EAAK;AACP,UAAA,GAAA,GAAMA,IAAAA;AAAA,QACR;AAAA,MACF;AAEA,MAAA,IAAA,GAAO,IAAA,CAAK,IAAI,IAAA,CAAK,GAAA,CAAI,cAAc,KAAA,EAAO,IAAA,IAAQ,CAAC,CAAA,EAAG,CAAC,CAAA;AAC3D,MAAA,IAAI,CAAC,sBAAsB,KAAA,EAAO;AAChC,QAAA,GAAA,GAAM,CAAA;AAAA,MACR;AACA,MAAA,IAAI,SAAS,QAAA,EAAU;AACrB,QAAA,IAAI,SAAS,MAAA,EAAW;AACtB,UAAA,GAAA,CAAI,OAAO,OAAO,CAAA;AAClB,UAAA,OAAA,GAAU,aAAA,CAAc,UAAA,CAAW,KAAA,EAAO,IAAA,EAAM,CAAC,GAAA,KAAgB;AAC/D,YAAA,UAAA,CAAW,KAAA,GAAQ,GAAA;AAAA,UACrB,CAAC,CAAA;AAAA,QACH;AACA,QAAA,IAAI,QAAQ,MAAA,EAAW;AACrB,UAAA,GAAA,CAAI,OAAO,MAAM,CAAA;AACjB,UAAA,MAAA,GAAS,aAAA,CAAc,SAAA,CAAU,KAAA,EAAO,GAAA,EAAK,CAAC,GAAA,KAAgB;AAC5D,YAAA,SAAA,CAAU,KAAA,GAAQ,GAAA;AAAA,UACpB,CAAC,CAAA;AAAA,QACH;AAAA,MACF,CAAA,MAAO;AACL,QAAA,IAAI,SAAS,MAAA,EAAW;AACtB,UAAA,UAAA,CAAW,KAAA,GAAQ,IAAA;AAAA,QACrB;AACA,QAAA,IAAI,QAAQ,MAAA,EAAW;AACrB,UAAA,SAAA,CAAU,KAAA,GAAQ,GAAA;AAAA,QACpB;AAAA,MACF;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,UAAA,GAAa,IAAI,KAAK,CAAA;AAC5B,IAAA,MAAMC,aAAA,GAAc,SAAS,MAAM;;AACjC,MAAA,OAAO,CAAC,EAAA,CAAE,EAAA,GAAA,KAAA,CAAM,WAAA,KAAN,YAAqBC,WAAA,CAAkB,KAAA,CAAA;AAAA,IACnD,CAAC,CAAA;AAED,IAAA,IAAI,KAAA;AACJ,IAAA,KAAA;AAAA,MACED,aAAA;AAAA,MACA,CAAC,MAAA,KAAW;AACV,QAAA,UAAA,CAAW,KAAA,GAAQ,MAAA;AAAA,MACrB,CAAA;AAAA,MACA,EAAE,WAAW,IAAA;AAAK,KACpB;AAEA,IAAA,MAAM,gBAAgB,MAAM;AAC1B,MAAA,UAAA,CAAW,KAAA,GAAQ,KAAA;AACnB,MAAA,YAAA,CAAa,KAAK,CAAA;AAClB,MAAA,KAAA,GAAQ,WAAW,MAAM;AACvB,QAAA,UAAA,CAAW,QAAQA,aAAA,CAAY,KAAA;AAAA,MACjC,GAAG,GAAG,CAAA;AAAA,IACR,CAAA;AAEA,IAAA,MAAM,gBAAgB,QAAA,CAAS,MAAM,YAAA,CAAa,KAAA,GAAQ,UAAU,KAAK,CAAA;AACzE,IAAA,MAAM,eAAe,QAAA,CAAS,MAAM,cAAA,CAAe,KAAA,GAAQ,WAAW,KAAK,CAAA;AAC3E,IAAA,MAAM,QAAA,GAAW,CAAC,CAAA,KAAM;AACtB,MAAA,IAAA,CAAK,UAAU,CAAC,CAAA;AAAA,IAClB,CAAA;AAEA,IAAA,qBAAA,CAAsB,EAAE,UAAA,EAAY,aAAA,EAAe,QAAA,EAAU,WAAW,CAAA;AACxE,IAAA,qBAAA,CAAsB,EAAE,SAAA,EAAW,YAAA,EAAc,QAAA,EAAU,aAAA,EAAe,WAAW,CAAA;AAErF,IAAA,MAAM,EAAE,IAAA,EAAM,GAAA,EAAK,eAAA,EAAgB,GAAI,OAAA;AAAA,MACrC,KAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,cAAA;AAAA,MACA,UAAA;AAAA,MACA,uBAAA;AAAA,MACA;AAAA,KACF;AAEA,IAAA,MAAM,UAAA,GAAa,IAAI,KAAK,CAAA;AAC5B,IAAA,MAAM,WAAA,GAAc,IAAI,KAAK,CAAA;AAC7B,IAAA,MAAM,QAAA,GAAW,IAAI,KAAK,CAAA;AAE1B,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,UAAA,CAAW,KAAA,GAAQ,aAAA,IAAiB,CAAC,CAAC,UAAA,CAAW,KAAA;AACjD,MAAA,WAAA,CAAY,KAAA,GACV,aAAA,IACA,WAAA,CAAY,KAAA,IAAS,SAAA,CAAU,QAAQ,SAAA,CAAU,KAAA,GAAQ,UAAA,CAAW,KAAA,CAAA,GAClE,UAAA,CAAW,KAAA;AACf,MAAA,QAAA,CAAS,KAAA,GAAQ,CAAC,UAAA,CAAW,KAAA,IAAS,CAAC,WAAA,CAAY,KAAA;AAAA,IACrD,CAAC,CAAA;AAED,IAAA,MAAM,SAAA,GAAY,QAAA;AAAA,MAAS,MACzB,UAAA,CAAW;AAAA,QACT,CAAC,CAAA,EAAG,KAAA,CAAM,SAAS,EAAE,GAAG,IAAA;AAAA,QACxB,CAAC,CAAA,EAAG,KAAA,CAAM,SAAS,iBAAiB,GAAG,aAAA;AAAA,QACvC,CAAC,CAAA,EAAG,KAAA,CAAM,SAAS,CAAA,OAAA,CAAS,GAAG,KAAA,CAAM,MAAA;AAAA,QACrC,CAAC,CAAA,EAAG,KAAA,CAAM,SAAS,CAAA,SAAA,CAAW,GAAG,KAAA,CAAM,QAAA;AAAA,QACvC,CAAC,GAAG,KAAA,CAAM,SAAS,IAAI,KAAA,CAAM,IAAI,EAAE,GAAG,IAAA;AAAA,QACtC,CAAC,CAAA,EAAG,KAAA,CAAM,SAAS,CAAA,UAAA,CAAY,GAAG,UAAA,CAAW,KAAA;AAAA,QAC7C,CAAC,CAAA,EAAG,KAAA,CAAM,SAAS,CAAA,WAAA,CAAa,GAAG,WAAA,CAAY,KAAA;AAAA,QAC/C,CAAC,CAAA,EAAG,KAAA,CAAM,SAAS,CAAA,QAAA,CAAU,GAAG,QAAA,CAAS,KAAA;AAAA,QACzC,CAAC,CAAA,EAAG,KAAA,CAAM,SAAS,CAAA,YAAA,CAAc,GAAGA,aAAA,CAAY;AAAA,OACjD;AAAA,KACH;AACA,IAAA,MAAM,SAAA,GAAY,SAAS,OAAO;AAAA,MAChC,MAAA,EAAQ,OAAO,KAAA,CAAM,MAAA,IAAU,WAAW,CAAA,EAAG,KAAA,CAAM,MAAM,CAAA,EAAA,CAAA,GAAO,KAAA,CAAM,MAAA;AAAA,MACtE,SAAA,EAAW,OAAO,KAAA,CAAM,SAAA,IAAa,WAAW,CAAA,EAAG,KAAA,CAAM,SAAS,CAAA,EAAA,CAAA,GAAO,KAAA,CAAM,SAAA;AAAA,MAC/E,SAAA,EAAW,OAAO,KAAA,CAAM,SAAA,IAAa,WAAW,CAAA,EAAG,KAAA,CAAM,SAAS,CAAA,EAAA,CAAA,GAAO,KAAA,CAAM;AAAA,KACjF,CAAE,CAAA;AAEF,IAAA,MAAM,uBAAA,GAA0B,IAAI,KAAK,CAAA;AACzC,IAAA,MAAM,UAAA,GAAa,SAAS,MAAM;AAChC,MAAA,uBAAA,CAAwB,KAAA,GAAQ,YAAA,CAAa,KAAA,GAAQ,SAAA,CAAU,KAAA;AAC/D,MAAA,IAAI,SAAA,CAAU,KAAA,GAAQ,eAAA,CAAgB,KAAA,EAAO;AAC3C,QAAA,eAAA,CAAgB,QAAQ,SAAA,CAAU,KAAA;AAAA,MACpC;AAAA,IACF,GAAG,GAAG,CAAA;AAEN,IAAA,KAAA,CAAM,CAAC,YAAA,EAAc,SAAS,CAAA,EAAG,MAAM;AACrC,MAAA,UAAA,EAAW;AAAA,IACb,CAAC,CAAA;AAED,IAAA,MAAM,qBAAA,GAAwB,aAAA;AAAA,MAC5B,MAAM,CAAC,CAAC,aAAA,CAAc,SAAS,UAAA,CAAW,KAAA,GAAQ,MAAM,cAAA,CAAe;AAAA,KACzE;AACA,IAAA,MAAM,gBAAA,GAAmB,aAAA;AAAA,MACvB,MAAM,CAAC,KAAA,CAAM,MAAA,IAAW,MAAM,MAAA,IAAU,KAAA,CAAM,OAAO,wBAAA,KAA6B;AAAA,KACpF;AAEA,IAAA,eAAA,GAAkB,CAChB,IAAA,EACA,MAAA,EACA,KAAA,GAAQ,KAAA,KACL;;AACH,MAAA,IAAI,KAAA,EAAO;AACT,QAAA,iBAAA,EAAkB;AAClB,QAAA,yBAAA,CAA0B,CAAA,EAAG,gBAAA,CAAiB,KAAA,CAAM,QAAS,CAAA;AAC7D,QAAA,IAAI,MAAM,UAAA,EAAY;AACpB,UAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,UAAA,EAAW,QAAA,KAAjB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAA4B,CAAA,EAAG,iBAAiB,KAAA,CAAM,QAAA,CAAA;AAAA,QACxD;AAAA,MACF;AACA,MAAA,IAAI,iBAAiB,KAAA,EAAO;AAC1B,QAAA,SAAA,CAAU,KAAA,GAAQ,CAAA;AAAA,MACpB;AACA,MAAA,CAAA,EAAA,GAAA,KAAA,CAAM,QAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA;AAAA,QAAA,KAAA;AAAA,QACE,IAAA,CAAK,cAAc,gBAAA,CAAiB,KAAA;AAAA,QACpC,IAAA,CAAK,WAAW,OAAA,CAAQ,KAAA;AAAA,QACxB,IAAA,CAAK,UAAU,MAAA,CAAO,KAAA;AAAA,QACtB;AAAA,UACE,iBAAA,EAAmB,IAAA,CAAK,iBAAA,IAAqB,UAAA,CAAW,KAAA;AAAA,UACxD;AAAA;AACF,OAAA;AAAA,IAEJ,CAAA;AAEA,IAAA,MAAM,eAAA,GAAkB,SAAS,MAAM;AACrC,MAAA,OAAO,KAAK,gBAAA,CAAiB,KAAA,EAAO,CAAC,UAAA,EAAY,UAAA,EAAY,kBAAkB,CAAC,CAAA;AAAA,IAClF,CAAC,CAAA;AAED,IAAA,MAAM,eAAA,GAAkB,SAAS,MAAM;AACrC,MAAA,OAAO;AAAA,QACL,CAAC,CAAA,EAAG,KAAA,CAAM,SAAS,aAAa,GAAG,IAAA;AAAA,QACnC,CAAC,GAAG,KAAA,CAAM,SAAS,eAAe,GAAA,CAAI,KAAA,CAAM,MAAM,CAAA,CAAE,GAAG,IAAA;AAAA,QACvD,CAAC,CAAA,EAAG,WAAW,CAAA,CAAE,GAAG;AAAA,OACtB;AAAA,IACF,CAAC,CAAA;AACD,IAAA,MAAM,sBAAA,GAAyB,IAAI,CAAC,CAAA;AACpC,IAAA,MAAM,qBAAA,GAAwB,SAAc,MAAM;;AAChD,MAAA,IAAI,CAAC,MAAM,gBAAA,EAAkB;AAC3B,QAAA,OAAO,EAAC;AAAA,MACV;AACA,MAAA,IAAI,KAAA,CAAM,qBAAqB,IAAA,EAAM;AACnC,QAAA,OAAO,EAAE,QAAA,EAAU,QAAA,EAAU,SAAA,EAAW,CAAA,EAAG,QAAQ,KAAA,EAAM;AAAA,MAC3D;AACA,MAAA,OAAO;AAAA,QACL,QAAA,EAAU,QAAA;AAAA,QACV,SAAA,EAAW,CAAA;AAAA,QACX,QAAQ,CAAA,EAAA,CAAG,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,qBAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAwB,YAAA,KAAxB,YAAwC,CAAC,CAAA,EAAA;AAAA,OACtD;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAM,UAAA,GAAa,SAAS,MAAO,OAAO,MAAM,UAAA,IAAc,QAAA,GAAW,KAAA,CAAM,UAAA,GAAa,EAAG,CAAA;AAE/F,IAAA,MAAM,YAAY,YAAA,CAAa;AAAA,MAC7B,aAAa,OAAA,CAAQ,WAAA;AAAA,MACrB,cAAc,OAAA,CAAQ,YAAA;AAAA,MACtB,sBAAsB,OAAA,CAAQ,oBAAA;AAAA,MAC9B,YAAY,OAAA,CAAQ,UAAA;AAAA,MACpB,IAAA;AAAA,MACA,kBAAkB,GAAA,CAAI,gBAAA;AAAA,MAEtB,mBAAmB,OAAA,CAAQ,iBAAA;AAAA,MAC3B,SAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA;AAAA,MACA,cAAc,GAAA,CAAI,YAAA;AAAA,MAClB,UAAA,EAAY,KAAA,CAAM,KAAA,EAAO,YAAY;AAAA,KACtC,CAAA;AAED,IAAA,KAAA;AAAA,MACE,CAAC,kBAAkB,UAAU,CAAA;AAAA,MAC7B,MAAM;;AACJ,QAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAA,CAAe,KAAA,KAAf,mBAAsB,UAAA,KAAtB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA;AAAA,MACF,CAAA;AAAA,MACA,EAAE,OAAO,MAAA;AAAO,KAClB;AAEA,IAAA,eAAA,CAAgB;AAAA,MACd,GAAG,GAAA;AAAA,MACH,GAAG,OAAA;AAAA,MACH,GAAG,SAAA;AAAA,MACH,OAAA;AAAA,MACA,OAAA;AAAA,MACA,uBAAA;AAAA,MACA,SAAA,EAAW,QAAA,CAAS,MAAM,KAAA,CAAM,SAAU,CAAA;AAAA,MAC1C,cAAA;AAAA,MACA,cAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,mBACAA,aAAA;AAAA,MACA,YAAA;AAAA,MACA,cAAA,EAAgB,CAAC,CAAA,EAAW,GAAA,EAAiB,MAAA,KAA6B;;AACxE,QAAA,MAAM,QAAQ,GAAA,CAAI,KAAA;AAClB,QAAA,MAAM,MAAA,GAAA,CAAS,EAAA,GAAA,KAAA,CAAM,cAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAuB,GAAG,GAAA,EAAK,MAAA,CAAA;AAC9C,QAAA,IAAI,WAAW,KAAA,IAAS,EAAE,UAAU,CAAA,IAAK,GAAA,CAAI,UAAU,CAAA,CAAA,EAAI;AACzD,UAAA,GAAA,CAAI,KAAA,GAAQ,KAAA,KAAU,GAAA,CAAI,KAAA,GAAQ,IAAI,KAAA,GAAQ,CAAA;AAC9C,UAAA,UAAA,CAAW,UAAU,CAAA;AAAA,QACvB;AAAA,MACF,CAAA;AAAA,MACA,YAAA,EAAc,CAAC,GAAA,KAA0B;;AACvC,QAAA,MAAM,EAAE,cAAA,EAAAE,eAAAA,EAAgB,MAAA,EAAQ,UAAA,EAAY,QAAAC,OAAAA,EAAQ,GAAA,EAAK,aAAA,EAAe,cAAA,EAAe,GACrF,GAAA;AACF,QAAA,MAAM,SAAA,GAAY,MAAM,MAAM,CAAA;AAC9B,QAAA,MAAM,OAAA,GAAA,CAAU,WAAM,YAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAqB,EAAE,GAAG,GAAA,EAAK,MAAA,EAAQ,SAAA,EAAW,UAAA,EAAW,CAAA;AAC7E,QAAA,IAAI,YAAY,KAAA,EAAO;AACrB,UAAA;AAAA,QACF;AAEA,QAAA,MAAM,UAAU,MAAM;AACpB,UAAA,IAAI,CAAC,YAAA,CAAaA,OAAAA,EAAQ,+CAAe,MAAa,CAAA,IAAKD,oBAAmBC,OAAAA,EAAQ;AACpF,YAAA,IAAID,oBAAmB,IAAA,EAAM;AAC3B,cAAA,MAAM,YAAA,GAAe,eAAeA,eAAc,CAAA;AAClD,cAAA,IACEA,eAAAA,MAAmB,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,MAAA,CAAA,IAClCA,eAAAA,MAAmB,iDAAgB,MAAA,CAAA,EACnC;AACA,gBAAA,IAAI,QAAQ,IAAA,EAAM;AAChB,kBAAA,eAAA;AAAA,oBACE,YAAA,CAAa,mBAAmB,KAAK,CAAA;AAAA,oBACrC,EAAC;AAAA,oBACD,kBAAA,CAAmB,KAAA;AAAA,oBACnB;AAAA,mBACF;AACA,kBAAA,kBAAA,CAAmB,OAAA,CAAQ,KAAA,EAAO,UAAA,EAAY,kBAAA,CAAmB,KAAK,CAAA;AAAA,gBACxE,CAAA,MAAO;AACL,kBAAA,kBAAA,CAAmB,OAAA,CAAQ,KAAA,EAAO,UAAA,EAAY,kBAAA,CAAmB,KAAK,CAAA;AACtE,kBAAA,eAAA;AAAA,oBACE,YAAA,CAAa,mBAAmB,KAAK,CAAA;AAAA,oBACrC,EAAC;AAAA,oBACD,kBAAA,CAAmB,KAAA;AAAA,oBACnB;AAAA,mBACF;AAAA,gBACF;AAAA,cACF,CAAA,MAAO;AACL,gBAAA,IAAI,QAAQ,IAAA,EAAM;AAChB,kBAAA,eAAA;AAAA,oBACE,OAAA,CAAQ,KAAA;AAAA,oBACR,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,MAAA;AAAA,oBACf,kBAAA,CAAmB,KAAA;AAAA,oBACnB;AAAA,mBACF;AACA,kBAAA,kBAAA,CAAmB,OAAA,CAAQ,KAAA,EAAO,UAAA,EAAY,kBAAA,CAAmB,KAAK,CAAA;AAAA,gBACxE,CAAA,MAAO;AACL,kBAAA,kBAAA,CAAmB,OAAA,CAAQ,KAAA,EAAO,UAAA,EAAY,kBAAA,CAAmB,KAAK,CAAA;AACtE,kBAAA,eAAA;AAAA,oBACE,OAAA,CAAQ,KAAA;AAAA,oBACR,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,MAAA;AAAA,oBACf,kBAAA,CAAmB,KAAA;AAAA,oBACnB;AAAA,mBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF,CAAA,MAAO;AACL,cAAA,IAAI,GAAA,KAAQ,QAAQ,aAAA,EAAe;AACjC,gBAAA,eAAA;AAAA,kBACE,OAAA,CAAQ,KAAA;AAAA,kBACR,CAAC,aAAA,CAAc,MAAA,CAAO,CAAC,CAAE,CAAA;AAAA,kBACzB,kBAAA,CAAmB,KAAA;AAAA,kBACnB;AAAA,iBACF;AACA,gBAAA,kBAAA,CAAmB,OAAA,CAAQ,KAAA,EAAO,UAAA,EAAY,kBAAA,CAAmB,KAAK,CAAA;AAAA,cACxE,CAAA,MAAA,IAAW,GAAA,KAAQ,EAAA,IAAM,cAAA,EAAgB;AACvC,gBAAA,kBAAA,CAAmB,OAAA,CAAQ,KAAA,EAAO,UAAA,EAAY,kBAAA,CAAmB,KAAK,CAAA;AACtE,gBAAA,eAAA;AAAA,kBACE,OAAA,CAAQ,KAAA;AAAA,kBAAA,CACR,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,UAAS,CAAC,aAAA,CAAe,OAAO,CAAC,CAAE,IAAI,EAAC;AAAA,kBACvD,kBAAA,CAAmB,KAAA;AAAA,kBACnB;AAAA,iBACF;AAAA,cACF;AAAA,YACF;AACA,YAAA,UAAA,CAAW,OAAO,CAAA;AAClB,YAAA,IAAA,CAAK,mBAAA,EAAqB,QAAQ,KAAK,CAAA;AAAA,UACzC;AAAA,QACF,CAAA;AAEA,QAAA,IAAI,SAAA,CAAU,OAAO,CAAA,EAAG;AACtB,UAAA,OAAA,CACG,KAAK,MAAM;AACV,YAAA,OAAA,EAAQ;AAAA,UACV,CAAC,CAAA,CACA,KAAA,CAAM,MAAM;AAAA,UAAC,CAAC,CAAA;AAAA,QACnB,CAAA,MAAO;AACL,UAAA,OAAA,EAAQ;AAAA,QACV;AAAA,MACF,CAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACA,eAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,aAAA;AAAA,MACA,kBAAA;AAAA,MACA,eAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,IAAA;AAAA,MACA,QAAA;AAAA,MACA,cAAA;AAAA,MACA,cAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,eAAA;AAAA,MACA,UAAA;AAAA,MACA,KAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAA;AAAA,MACA,aAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,qBAAA;AAAA,MACA,uBAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,qBAAA,EAAuB,CAAC,IAAA,KAAgB;AACtC,QAAA,IAAA,CAAK,0BAA0B,IAAI,CAAA;AAAA,MACrC,CAAA;AAAA,MACA,MAAA;AAAA,MACA,YAAA;AAAA,MACA,YAAA;AAAA,MACA,YAAA;AAAA,MACA,YAAA;AAAA,MACA,eAAA,EAAiB,CAAC,MAAA,EAAQ,GAAA,KAAa;AACrC,QAAA,IAAI,IAAA;AACJ,QAAA,MAAM,MAAA,GAAS,eAAA,CAAgB,KAAA,CAAM,GAAA,CAAI,GAAG,CAAA;AAC5C,QAAA,IAAI,MAAA,EAAQ;AACV,UAAA,eAAA,CAAgB,KAAA,CAAM,OAAO,GAAG,CAAA;AAChC,UAAA,IAAA,GAAO,CAAC,GAAG,eAAA,CAAgB,KAAK,CAAA;AAAA,QAClC,CAAA,MAAO;AACL,UAAA,IAAA,GAAO,CAAC,GAAG,eAAA,CAAgB,KAAA,EAAO,GAAG,CAAA;AAAA,QACvC;AACA,QAAA,sBAAA,CAAuB,KAAA,GAAQ,IAAA;AAC/B,QAAA,IAAA,CAAK,0BAA0B,IAAI,CAAA;AACnC,QAAA,IAAA,CAAK,QAAA,EAAU,CAAC,MAAA,EAAQ,MAAM,CAAA;AAC9B,QAAA,IAAA,CAAK,sBAAsB,IAAI,CAAA;AAAA,MACjC,CAAA;AAAA,MACA,WAAA;AAAA,MACA,eAAA;AAAA,MACA,qBAAA;AAAA,MACA,gBAAA;AAAA,MACA,kBAAA;AAAA,MACA,iBAAA;AAAA,MACA,cAAA;AAAA,MACA,kBAAA;AAAA,MACA,cAAA;AAAA,MACA,YAAA;AAAA,MACA,cAAA;AAAA,MACA,oBAAA;AAAA,MACA,iBAAA;AAAA,MACA,iBAAA;AAAA,MACA,eAAA,EAAiB,CAAC,GAAA,KAA6B;;AAC7C,QAAA,MAAM,EAAE,GAAA,EAAK,MAAA,EAAQ,YAAA,EAAa,GAAI,GAAA;AACtC,QAAA,MAAM,OAAA,GAAA,CAAU,EAAA,GAAA,KAAA,CAAM,eAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAwB,GAAA,CAAA;AACxC,QAAA,IAAI,YAAY,KAAA,EAAO;AACrB,UAAA;AAAA,QACF;AAEA,QAAA,MAAM,UAAU,MAAM;AACpB,UAAA,IAAI,MAAA,KAAW,YAAA,IAAgB,MAAA,CAAO,GAAA,KAAQ,aAAa,GAAA,EAAK;AAChE,UAAA,MAAM,KAAA,GAAQ,WAAW,KAAA,CAAM,SAAA;AAAA,YAC7B,CAAC,GAAA,KAAQ,GAAA,KAAQ,MAAA,IAAU,GAAA,CAAI,QAAQ,MAAA,CAAO;AAAA,WAChD;AACA,UAAA,MAAM,WAAA,GAAc,WAAW,KAAA,CAAM,SAAA;AAAA,YACnC,CAAC,GAAA,KAAQ,GAAA,KAAQ,YAAA,IAAgB,GAAA,CAAI,QAAQ,YAAA,CAAa;AAAA,WAC5D;AACA,UAAA,IAAI,QAAQ,IAAA,EAAM;AAChB,YAAA,UAAA,CAAW,KAAA,CAAM,MAAA,CAAO,KAAA,EAAO,CAAC,CAAA;AAChC,YAAA,UAAA,CAAW,KAAA,CAAM,MAAA,CAAO,WAAA,EAAa,CAAA,EAAG,MAAM,CAAA;AAAA,UAChD,CAAA,MAAO;AACL,YAAA,UAAA,CAAW,KAAA,CAAM,MAAA,CAAO,WAAA,GAAc,CAAA,EAAG,GAAG,MAAM,CAAA;AAClD,YAAA,UAAA,CAAW,KAAA,CAAM,MAAA,CAAO,KAAA,EAAO,CAAC,CAAA;AAAA,UAClC;AACA,UAAA,UAAA,CAAW,UAAU,CAAA;AACrB,UAAA,IAAA,CAAK,gBAAA,EAAkB,WAAW,KAAK,CAAA;AAAA,QACzC,CAAA;AAEA,QAAA,IAAI,SAAA,CAAU,OAAO,CAAA,EAAG;AACtB,UAAA,OAAA,CACG,KAAK,MAAM;AACV,YAAA,OAAA,EAAQ;AAAA,UACV,CAAC,CAAA,CACA,KAAA,CAAM,MAAM;AAAA,UAAC,CAAC,CAAA;AAAA,QACnB,CAAA,MAAO;AACL,UAAA,OAAA,EAAQ;AAAA,QACV;AAAA,MACF,CAAA;AAAA,MACA,cAAc,MAAM;AAAA,MAAC,CAAA;AAAA,MACrB,UAAA,EAAY,QAAA,CAAS,MAAM,KAAA,CAAM,UAAU,CAAA;AAAA,MAC3C,YAAA,EAAc,kBAAA;AAAA,MACd,gBAAA;AAAA,MACA,sBAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,iBAAiB,GAAA,EAAI;AAC3B,IAAA,MAAM,oBAAoB,GAAA,EAAI;AAE9B,IAAA,MAAM;AAAA,MACJ,iBAAA;AAAA,MACA,gBAAA;AAAA,MACA,qBAAA;AAAA,MACA,iBAAA;AAAA,MACA,yBAAA;AAAA,MACA;AAAA,QACE,oBAAA,CAAqB;AAAA,MACvB,YAAY,OAAA,CAAQ,UAAA;AAAA,MACpB,WAAA;AAAA,MACA,cAAA,EAAgB,QAAA,CAAS,MAAM,KAAA,CAAM,cAAc,CAAA;AAAA,MACnD,oBAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA,EAAW,QAAA,CAAS,MAAM,KAAA,CAAM,SAAU,CAAA;AAAA,MAC1C,cAAc,SAAA,CAAU,YAAA;AAAA,MACxB,cAAA;AAAA,MACA,iBAAA;AAAA,MACA,uBAAA,EAAyB,CAAC,IAAA,KAAoB;AAC5C,QAAA,IAAI,CAAC,IAAA,CAAK,MAAA,IAAU,IAAA,CAAK,OAAO,KAAA,EAAO;AACvC,QAAA,MAAM,KAAK,UAAA,CAAW,KAAA;AACtB,QAAA,MAAMH,IAAAA,GAAM,OAAA,CAAQ,sBAAA,CAAuB,IAAA,CAAK,OAAO,SAAS,CAAA;AAChE,QAAA,IAAIA,IAAAA,EAAK;AACP,UAAA,MAAM,EAAE,KAAA,EAAO,IAAA,EAAK,GAAIA,IAAAA;AACxB,UAAA,MAAM,KAAK,SAAA,CAAU,KAAA;AACrB,UAAA,MAAM,KAAK,UAAA,CAAW,KAAA;AACtB,UAAA,IAAA,GAAO,KAAK,EAAA,GACP,UAAA,CAAW,KAAA,GAAQ,IAAA,GAAO,KAC3B,IAAA,GAAO,KAAA,GAAQ,EAAA,GAAK,SAAA,CAAU,QAAQ,EAAA,KACrC,UAAA,CAAW,QAAQ,IAAA,GAAO,KAAA,GAAQ,UAAU,KAAA,GAAQ,EAAA,CAAA;AAAA,QAC3D;AAAA,MACF,CAAA;AAAA,MACA,oBAAA,EAAsB,CAAC,IAAA,KAAoB;;AACzC,QAAA,MAAM,EAAE,UAAS,GAAI,IAAA;AACrB,QAAA,MAAM,KAAK,SAAA,CAAU,KAAA;AACrB,QAAA,MAAM,GAAA,GAAM,qBAAqB,QAAQ,CAAA;AACzC,QAAA,MAAMA,IAAAA,GAAM,GAAA,CAAI,mBAAA,CAAoB,GAAA,CAAI,MAAM,CAAA;AAC9C,QAAA,MAAM,MAAA,GAAA,CAAA,CAAA,CACH,EAAA,GAAA,SAAA,CAAU,YAAA,CAAa,KAAA,CAAM,IAAI,MAAM,CAAA,KAAvC,IAAA,GAAA,MAAA,GAAA,EAAA,CAA2C,IAAA,CAAK,MAAA,CAAQ,SAAA,CAAA,KAAc,EAAC,EAAG,SAAS,EAAC;AACvF,QAAA,MAAM,MAAA,GAAS,GAAA,CAAI,YAAA,CAAa,QAAA,EAAU,OAAO,OAAO,CAAA;AACxD,QAAA,IAAIA,SAAQ,MAAA,EAAW;AACrB,UAAA,aAAA,EAAc;AACd,UAAA,IAAIA,OAAM,EAAA,EAAI;AACZ,YAAA,SAAA,CAAU,KAAA,GAAQA,IAAAA;AAAA,UACpB,CAAA,MAAO;AACL,YAAA,IAAIA,IAAAA,GAAM,MAAA,GAAS,EAAA,GAAK,UAAA,CAAW,KAAA,EAAO;AACxC,cAAA,SAAA,CAAU,KAAA,GAAQA,IAAAA,GAAM,MAAA,GAAS,UAAA,CAAW,KAAA;AAAA,YAC9C;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAA;AAAA,MACA,oBAAA;AAAA,MACA,OAAA,EAAS,SAAS,MAAM;;AACtB,QAAA,OAAA,CAAQ,EAAA,GAAA,OAAA,CAAQ,UAAR,IAAA,GAAA,MAAA,GAAA,EAAA,CAAuB,OAAA;AAAA,MACjC,CAAC,CAAA;AAAA,MACD,UAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAA;AAAA,MACA,qBAAA;AAAA,MACA,uBAAA;AAAA,MACA,cAAA;AAAA,MACA,mBAAA,EAAqB,CAAC,MAAA,KAAW;AAC/B,QAAA,IAAI,MAAM,mBAAA,EAAqB;AAC7B,UAAA,OAAO,KAAA,CAAM,oBAAoB,MAAM,CAAA;AAAA,QACzC,CAAA,MAAA,IAAW,OAAO,KAAA,EAAO;AACvB,UAAA,OAAO,MAAA,CAAO,KAAA;AAAA,QAChB;AACA,QAAA,OAAO,EAAA;AAAA,MACT,CAAA;AAAA,MACA,YAAA;AAAA,MACA,aAAA,EAAe,QAAA,CAAS,MAAM,KAAA,CAAM,aAAa;AAAA,KAClD,CAAA;AAED,IAAA,MAAA,CAAO;AAAA,MACL,QAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA,EAAS,SAAS,MAAM;;AACtB,QAAA,OAAA,CAAQ,EAAA,GAAA,OAAA,CAAQ,UAAR,IAAA,GAAA,MAAA,GAAA,EAAA,CAAuB,OAAA;AAAA,MACjC,CAAC,CAAA;AAAA,MACD,gBAAA;AAAA,MACA,qBAAA;AAAA,MACA,iBAAA;AAAA,MACA,yBAAA;AAAA,MACA,UAAA,EAAY,CAAC,SAAA,KAAqB;AAChC,QAAA,UAAA,CAAW,SAAA,CAAU,GAAA,CAAI,CAAC,IAAA,KAAS,CAAA,EAAG,IAAA,CAAK,MAAM,CAAA,CAAA,EAAI,IAAA,CAAK,SAAS,CAAA,CAAE,CAAC,CAAA;AAAA,MACxE,CAAA;AAAA,MACA,WAAA,EAAa,CAAC,SAAA,KAAqB;AACjC,QAAA,IAAI,SAAA,EAAW;AACb,UAAA,WAAA,CAAY,SAAA,CAAU,GAAA,CAAI,CAAC,IAAA,KAAS,CAAA,EAAG,IAAA,CAAK,MAAM,CAAA,CAAA,EAAI,IAAA,CAAK,SAAS,CAAA,CAAE,CAAC,CAAA;AAAA,QACzE,CAAA,MAAO;AACL,UAAA,WAAA,EAAY;AAAA,QACd;AAAA,MACF;AAAA,KACD,CAAA;AAED,IAAA,OAAO;AAAA,MACL,OAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA;AAAA,MACA,cAAA;AAAA,MACA,UAAA;AAAA,MACA,IAAA;AAAA,MACA,YAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,aAAA;AAAA,MACA,cAAA,EAAgB,SAAc,OAAO;AAAA,QACnC,QAAA,EAAU,iBAAA;AAAA,QACV,SAAA,EAAW,gBAAA;AAAA,QACX,QAAA,EAAU,oBAAA;AAAA,QACV,QAAA,EAAU,gBAAA;AAAA,QACV,OAAA,EAAS,eAAA;AAAA,QACT,MAAA,EAAQ,gBAAA;AAAA,QACR,KAAA,EAAO,gBAAA;AAAA,QACP,aAAA,EAAe,MAAA;AAAA,QACf,OAAA,EAAS,iBAAA;AAAA,QACT,MAAA,EAAQ,kBAAA;AAAA,QACR,KAAA,EAAO,mBAAA;AAAA,QACP,MAAA,EAAQ,eAAA;AAAA,QACR,OAAA,EAAS,eAAA;AAAA,QACT,SAAA,EAAW;AAAA,OACb,CAAE,CAAA;AAAA,MACF,gBAAA;AAAA,MACA,GAAA;AAAA,MACA,kBAAA;AAAA,MACA,aAAA;AAAA,MACA,SAAA;AAAA,MACA,eAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,GAAA;AAAA,MACA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,eAAA;AAAA,MACA,KAAA;AAAA,MACA,aAAA;AAAA,MACA,aAAA;AAAA,MACA,UAAA;AAAA,MACA,eAAA;AAAA,MACA,WAAA;AAAA,MACA,OAAA;AAAA,MACA,kBAAA;AAAA,MACA,YAAA,EAAc,CAAC,CAAA,KAAmB;AAChC,QAAA,gBAAA,CAAiB,KAAA,GAAQ,EAAE,MAAA,CAAO,MAAA;AAAA,MACpC,CAAA;AAAA,MACA,sBAAA,EAAwB,CAAC,CAAA,KAAmB;AAC1C,QAAA,sBAAA,CAAuB,KAAA,GAAQ,EAAE,MAAA,CAAO,MAAA;AAAA,MAC1C,CAAA;AAAA,MACA,cAAA;AAAA,MACA,qBAAA,EAAuB,CAAC,CAAA,KAAqB;AAC3C,QAAA,CAAA,CAAE,OAAA,KAAY,OAAA,CAAQ,GAAA,IACpB,CAAA,CAAE,QAAA,KACD,iBAAA,CAAkB,mBAAA,CAAoB,CAAA,CAAE,QAAQ,CAAA,EAAG,CAAA,CAAE,cAAA,EAAe,CAAA;AAAA,MACzE,CAAA;AAAA,MACA,wBAAA,EAA0B,CAAC,CAAA,KAAqB;AAC9C,QAAA,CAAA,CAAE,OAAA,KAAY,OAAA,CAAQ,GAAA,IACpB,CAAA,CAAE,QAAA,KACD,iBAAA,CAAkB,kBAAA,CAAmB,CAAA,CAAE,QAAQ,CAAA,EAAG,CAAA,CAAE,cAAA,EAAe,CAAA;AAAA,MACxE,CAAA;AAAA,MACA,cAAA;AAAA,MACA,iBAAA;AAAA,MACA,gBAAA;AAAA,MACA,WAAA;AAAA,MACA,eAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
|
1
|
+
{"version":3,"file":"InteralTable.vue2.mjs","sources":["../../../../../../../packages/components/table/src/components/InteralTable.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-01 09:29:27\n * @LastEditors: shen\n * @LastEditTime: 2025-09-30 16:18:38\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { WatchStopHandle } from 'vue'\nimport {\n computed,\n defineComponent,\n shallowRef,\n ref,\n watchEffect,\n inject,\n watch,\n toRaw,\n triggerRef,\n onActivated,\n isReactive,\n toRef,\n} from 'vue'\nimport { Spin, Pagination } from 'ant-design-vue'\nimport { animateRows as globalAnimateRows } from './config'\nimport { baseTableProps } from './interface'\nimport { DOWN, LEFT, UP } from './Drag/constant'\nimport { addNestItemData, deleteNestItemData } from '../utils/util'\nimport { useEditProvider } from '../hooks/useEdit'\nimport { useProvidePopup } from './context/PopupContext'\nimport { useHScrollSyncProvide } from '../hooks/useHScrollSync'\nimport { useVScrollSyncProvide } from '../hooks/useVScrollSync'\nimport { useProvideTable } from './context/TableContext'\nimport { useProvideRangeStore } from '../hooks/useRangeStore'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { resize } from '@pro-design-vue/directives'\nimport { omit, debounce, isPromise } from '@pro-design-vue/utils'\nimport useKVMap from '../hooks/useKVMap'\nimport useLicense from '../hooks/useLicense'\nimport devWarning from '../utils/devWarning'\nimport eagerComputed from '../utils/eagerComputed'\nimport getScrollBarSize from '../utils/getScrollBarSize'\nimport useColumns from '../hooks/useColumns'\nimport useSorter from '../hooks/useSorter'\nimport useFilter from '../hooks/useFilter'\nimport useCal from '../hooks/useCal'\nimport useFlattenRecords from '../hooks/useFlattenRecords'\nimport useSelection from '../hooks/useRowSelection'\nimport usePagination, { getPaginationParam } from '../hooks/usePagination'\nimport raf from '../utils/raf'\nimport easeoutScroll from '../utils/easeoutScroll'\nimport useData from '../hooks/useData'\nimport supportSticky from '../utils/supportSticky'\nimport classNames from '../utils/classNames'\nimport useCellProps from '../hooks/useCellProps'\nimport KeyCode from '../utils/KeyCode'\nimport TableSlotsContextProvider from './context/TableSlotsContext'\nimport MeasureWidth from './MeasureWidth.vue'\nimport PopupContainer from './PopupContainer.vue'\nimport AutoHeightHeader from './AutoHeightHeader/Header.vue'\nimport Header from './Header/Header.vue'\nimport Body from './Body/Body.vue'\n\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type {\n GetRowKey,\n Key,\n SorterResult,\n TableLocale,\n ColumnType,\n ResizeActionType,\n DragRowEventInfo,\n DragColumnEventInfo,\n DefaultRecordType,\n TableAction,\n} from './interface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { RangeCell } from '../hooks/RangeInterface'\nimport type { SortState } from '../hooks/useSorter'\nimport type { FilterState } from '../hooks/useFilter'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport type FilterValue = (Key | boolean)[]\nexport interface ChangeEventInfo<RecordType> {\n pagination: {\n current?: number\n pageSize?: number\n total?: number\n }\n filters: Record<string, FilterValue | null>\n sorter: SorterResult<RecordType> | SorterResult<RecordType>[]\n filterStates: FilterState<RecordType>[]\n sorterStates: SortState<RecordType>[]\n currentDataSource: RecordType[]\n action: TableAction\n}\nconst EMPTY_LIST: any[] = []\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n directives: { resize },\n components: {\n TableSlotsContextProvider,\n Spin,\n MeasureWidth,\n Pagination,\n PopupContainer,\n AutoHeightHeader,\n ProHeader: Header,\n ProBody: Body,\n },\n props: baseTableProps(),\n emits: [\n 'update:pagination',\n 'scroll',\n 'update:selectedRowKeys',\n 'update:expandedRowKeys',\n 'update:columns',\n 'update:sorter',\n 'update:filters',\n 'expand',\n 'expandedRowsChange',\n 'resizeColumn',\n 'update:dataSource',\n 'cellKeydown',\n ],\n slots: {} as CustomSlotsType<ContextSlots>,\n setup(props, { expose, emit, slots }) {\n const rowKey = computed(() => props.rowKey ?? 'id')\n const popupContainer = shallowRef<any>(null)\n const customUiCls = usePrefixCls('custom-ui')\n\n const { editCellKeys, openEditor, closeEditor } = useEditProvider()\n\n useProvidePopup()\n\n const getPopupContainer = computed(() => props.getPopupContainer!)\n const { status, watermarkMsg } = useLicense()\n\n const dragRowsHandle = new Map<Key, Set<HTMLSpanElement>>()\n const draggingRowKey = ref<Key | null>(null)\n const insertToRowKey = ref<Key | null>(null)\n const dragColumnsHandle = new Map<Key, Set<HTMLDivElement>>()\n const draggingColumnKey = ref<Key>('')\n const latestRangeStartCell = shallowRef<RangeCell | null>(null)\n const mergedSummaryFixed = computed(() =>\n props.summaryFixed === true || props.summaryFixed === ('' as any)\n ? 'bottom'\n : props.summaryFixed,\n )\n const realHeaderHeight = ref(0)\n\n watchEffect(() => {\n devWarning(\n !(typeof rowKey.value == 'function' && rowKey.value.length > 1),\n 'table',\n '`index` parameter of `rowKey` function is deprecated. There is no guarantee that it will work as expected.',\n )\n })\n\n const localeData: any = inject('localeData', {\n antLocale: {\n Table: {\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting',\n },\n },\n })\n\n const locale = computed<TableLocale>(() => {\n const antLocale = localeData?.antLocale || {}\n return {\n ...(antLocale.locale === 'zh-cn'\n ? {\n triggerDesc: '\\u70B9\\u51FB\\u964D\\u5E8F',\n triggerAsc: '\\u70B9\\u51FB\\u5347\\u5E8F',\n cancelSort: '\\u53D6\\u6D88\\u6392\\u5E8F',\n }\n : {}),\n ...(antLocale.Table || {}),\n ...(props.locale || {}),\n }\n })\n\n const scrollTop = ref(0)\n const scrollLeft = ref(0)\n const rootRef = ref<HTMLDivElement>()\n const bodyWidth = ref(0)\n const bodyHeight = ref(0)\n const measureWidthRef = shallowRef<HTMLDivElement>()\n\n const mergedScrollX = eagerComputed(() => props.scrollX ?? props.scroll?.x)\n const mergedScrollY = eagerComputed(() => props.scroll?.y ?? props.height ?? props.maxHeight)\n const bodyScrollWidth = ref(typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0)\n\n watch(mergedScrollX, () => {\n bodyScrollWidth.value = typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0\n })\n\n const virtual = eagerComputed<boolean>(() => !(props.virtual === false || !mergedScrollY.value))\n const xVirtual = eagerComputed<boolean>(\n () => props.xVirtual || (props.virtual !== false && props.xVirtual !== false),\n )\n\n const getRowKey = computed<GetRowKey>(() =>\n typeof rowKey.value == 'function'\n ? rowKey.value\n : (record: Record<string, any>) => {\n return record?.[rowKey.value as string]\n },\n )\n\n const rawData = shallowRef<DefaultRecordType[]>([])\n const rawColumns = shallowRef<ColumnType[]>([])\n\n let dataSourceWatchStopHandle: WatchStopHandle\n let columnsWatchStopHandle: WatchStopHandle\n watch(\n () => props.deepWatchDataSource,\n () => {\n dataSourceWatchStopHandle && dataSourceWatchStopHandle()\n dataSourceWatchStopHandle = watch(\n () => props.dataSource,\n () => {\n rawData.value = toRaw(props.dataSource) || EMPTY_LIST\n triggerRef(rawData)\n },\n { immediate: true, deep: !!props.deepWatchDataSource },\n )\n },\n { immediate: true, deep: true },\n )\n\n watch(\n () => props.deepWatchColumns,\n () => {\n columnsWatchStopHandle && columnsWatchStopHandle()\n columnsWatchStopHandle = watch(\n () => props.columns,\n () => {\n rawColumns.value = toRaw(props.columns) || EMPTY_LIST\n triggerRef(rawColumns)\n },\n { immediate: true, deep: true },\n )\n },\n { immediate: true, deep: !!props.deepWatchColumns },\n )\n\n const childrenColumnName = computed(() => props.childrenColumnName || 'children')\n\n const { getRecordByKey, getIndexsByKey, getKeyByIndexs, allDataRowKeys, allDataRootRowKeys } =\n useKVMap(rawData, childrenColumnName, getRowKey)\n\n const defaultExpandedRowKeys = shallowRef<Key[]>([])\n watchEffect(() => {\n props.defaultExpandedRowKeys && (defaultExpandedRowKeys.value = props.defaultExpandedRowKeys)\n props.defaultExpandAllRows && (defaultExpandedRowKeys.value = allDataRowKeys.value)\n })\n\n const mergedRowSelection = computed(() => {\n const rowSelection = props.rowSelection || {}\n const { checkStrictly = true } = rowSelection\n return { ...rowSelection, checkStrictly }\n })\n\n const expandedRowKeys = computed(\n () => new Set(props.expandedRowKeys || defaultExpandedRowKeys.value || []),\n )\n\n const spinProps = computed<SpinProps>(() => {\n if (typeof props.loading === 'boolean') {\n return { spinning: props.loading }\n } else if (typeof props.loading === 'object') {\n return { spinning: true, ...props.loading }\n } else {\n return { spinning: false }\n }\n })\n\n onActivated(() => {\n scrollTo({ left: 0, top: 0 })\n })\n\n let triggerOnChange: any = () => {}\n\n const scrollBarSize = shallowRef(getScrollBarSize())\n const baseHeight = computed(() =>\n props.size === 'small' ? 39 : props.size === 'middle' ? 47 : 55,\n )\n const expandedRowRender = computed(() => props.expandedRowRender)\n const expandType = eagerComputed(() =>\n rawData.value.some((column) => column?.[childrenColumnName.value])\n ? 'nest'\n : expandedRowRender.value\n ? 'row'\n : null,\n )\n const expandable = eagerComputed(() => !!props.expandedRowRender)\n\n const columns = useColumns({\n props,\n rawColumns,\n bodyScrollWidth,\n baseHeight,\n measureWidthRef,\n expandable,\n expandType,\n scrollLeft,\n bodyWidth,\n xVirtual,\n draggingColumnKey,\n latestRangeStartCell,\n })\n\n const { sortedData, sorterStates, sorter, changeSorter } = useSorter(\n props,\n rawData,\n columns.allColumns,\n (sorter, sorterStates) => {\n scrollTop.value > bodyHeight.value && updateAnimate()\n triggerOnChange({ sorter, sorterStates }, 'sort', false)\n },\n )\n\n const { filterData, filterStates, filters, changeFilter } = useFilter(\n props,\n sortedData,\n columns.allColumns,\n (filters, filterStates) => {\n triggerOnChange({ filters, filterStates }, 'filter', true)\n },\n )\n\n const total = eagerComputed(() => filterData.value.length)\n const paginationParam = computed(() => {\n if (props.pagination === false) {\n return {}\n }\n return getPaginationParam(props.pagination, mergedPagination.value)\n })\n\n const triggeronPaginationChange = (current: number, pageSize: number) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n props['onUpdate:pagination'] &&\n emit(\n 'update:pagination',\n isReactive(props.pagination)\n ? Object.assign(props.pagination || {}, pagination)\n : pagination,\n )\n }\n\n const {\n mergedPagination,\n pos,\n refreshPagination,\n onChange: onPaginationChange,\n onShowSizeChange,\n pageData,\n } = usePagination(total, props, filterData, (current, pageSize) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n triggeronPaginationChange(current, pageSize)\n updateAnimate()\n triggerOnChange({ pagination }, 'paginate')\n })\n\n const {\n flattenData,\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n getRowFlattenIndexByKey,\n isMyChildren,\n getRowByFlattenIndex,\n } = useFlattenRecords(\n pageData,\n childrenColumnName,\n expandedRowKeys,\n getRowKey,\n expandType,\n mergedRowSelection,\n )\n\n const cal = useCal(props, flattenData, bodyHeight, scrollTop, virtual, keyEntities)\n\n const { rowPosition, viewportHeight, startIndex, endIndex } = cal\n const { leftWidth, rightWidth, centerWidth, bodyMaxWidth } = columns\n\n const selection = useSelection(props, mergedRowSelection, rawData, {\n prefixCls: computed(() => props.prefixCls!),\n pageData,\n getRowKey,\n getRecordByKey,\n childrenColumnName,\n locale,\n flattenData,\n keyEntities,\n checkboxPropsMap,\n allDataRowKeys,\n allDataRootRowKeys,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n })\n\n const bodyRef = ref<HTMLDivElement>()\n let leftRaf: any, topRaf: any\n\n const scrollTo = (options: any = {}, type = 'auto', isAnimate = false) => {\n if (!isAnimate) {\n updateAnimate()\n }\n const mergeOptions = typeof options == 'number' ? { top: options } : options\n let left, top\n if ('left' in mergeOptions) {\n left = mergeOptions.left || 0\n } else if ('columnIndex' in mergeOptions) {\n const position = columns.getColumnPosition(mergeOptions.columnIndex!)\n if (position) {\n left = position.left - leftWidth.value\n }\n } else if ('columnKey' in mergeOptions) {\n const position = columns.getColumnPositionByKey(mergeOptions.columnKey!)\n if (position) {\n left = position.left - leftWidth.value\n }\n }\n if ('top' in mergeOptions) {\n top = Math.min(Math.max(mergeOptions.top || 0, 0), maxScrollTop.value)\n } else if ('rowKey' in mergeOptions) {\n const pos = cal.getRowPositionByKey(mergeOptions.rowKey!)\n if (pos) {\n top = pos\n }\n }\n\n left = Math.max(Math.min(maxScrollLeft.value, left || 0), 0)\n if (!showVerticalScrollbar.value) {\n top = 0\n }\n if (type === 'smooth') {\n if (left !== undefined) {\n raf.cancel(leftRaf)\n leftRaf = easeoutScroll(scrollLeft.value, left, (val: number) => {\n scrollLeft.value = val\n })\n }\n if (top !== undefined) {\n raf.cancel(topRaf)\n topRaf = easeoutScroll(scrollTop.value, top, (val: number) => {\n scrollTop.value = val\n })\n }\n } else {\n if (left !== undefined) {\n scrollLeft.value = left\n }\n if (top !== undefined) {\n scrollTop.value = top\n }\n }\n }\n\n const useAnimate = ref(false)\n const animateRows = computed(() => {\n return !!(props.animateRows ?? globalAnimateRows.value)\n })\n\n let timer: any\n watch(\n animateRows,\n (newVal) => {\n useAnimate.value = newVal\n },\n { immediate: true },\n )\n\n const updateAnimate = () => {\n useAnimate.value = false\n clearTimeout(timer)\n timer = setTimeout(() => {\n useAnimate.value = animateRows.value\n }, 100)\n }\n\n const maxScrollLeft = computed(() => bodyMaxWidth.value - bodyWidth.value)\n const maxScrollTop = computed(() => viewportHeight.value - bodyHeight.value)\n const onScroll = (e) => {\n emit('scroll', e)\n }\n\n useHScrollSyncProvide({ scrollLeft, maxScrollLeft, onScroll, bodyWidth })\n useVScrollSyncProvide({ scrollTop, maxScrollTop, onScroll, updateAnimate, bodyWidth })\n\n const { data, pos: dataRowPosition } = useData(\n props,\n rowPosition,\n flattenData,\n startIndex,\n endIndex,\n draggingRowKey,\n useAnimate,\n getRowFlattenIndexByKey,\n latestRangeStartCell,\n )\n\n const pingedLeft = ref(false)\n const pingedRight = ref(false)\n const noPinged = ref(false)\n\n watchEffect(() => {\n pingedLeft.value = supportSticky && !!scrollLeft.value\n pingedRight.value =\n supportSticky &&\n centerWidth.value - (bodyWidth.value - leftWidth.value - rightWidth.value) >\n scrollLeft.value\n noPinged.value = !pingedLeft.value && !pingedRight.value\n })\n\n const rootClass = computed(() =>\n classNames({\n [`${props.prefixCls}`]: true,\n [`${props.prefixCls}-support-sticky`]: supportSticky,\n [`${props.prefixCls}-stripe`]: props.stripe,\n [`${props.prefixCls}-bordered`]: props.bordered,\n [`${props.prefixCls}-${props.size}`]: true,\n [`${props.prefixCls}-ping-left`]: pingedLeft.value,\n [`${props.prefixCls}-ping-right`]: pingedRight.value,\n [`${props.prefixCls}-no-ping`]: noPinged.value,\n [`${props.prefixCls}-has-animate`]: animateRows.value,\n }),\n )\n const rootStyle = computed(() => ({\n height: typeof props.height == 'number' ? `${props.height}px` : props.height,\n maxHeight: typeof props.maxHeight == 'number' ? `${props.maxHeight}px` : props.maxHeight,\n minHeight: typeof props.minHeight == 'number' ? `${props.minHeight}px` : props.minHeight,\n }))\n\n const showHorizontalScrollbar = ref(false)\n const debounceFn = debounce(() => {\n showHorizontalScrollbar.value = bodyMaxWidth.value > bodyWidth.value\n if (bodyWidth.value > bodyScrollWidth.value) {\n bodyScrollWidth.value = bodyWidth.value\n }\n }, 100)\n\n watch([bodyMaxWidth, bodyWidth], () => {\n debounceFn()\n })\n\n const showVerticalScrollbar = eagerComputed(\n () => !!mergedScrollY.value && bodyHeight.value + 0.9 < viewportHeight.value,\n )\n const scrollToFirstRow = eagerComputed(\n () => !props.scroll || (props.scroll && props.scroll.scrollToFirstRowOnChange !== false),\n )\n\n triggerOnChange = (\n info: Partial<ChangeEventInfo<DefaultRecordType>>,\n action: TableAction,\n reset = false,\n ) => {\n if (reset) {\n refreshPagination()\n triggeronPaginationChange(1, mergedPagination.value.pageSize!)\n if (props.pagination) {\n props.pagination.onChange?.(1, mergedPagination.value.pageSize)\n }\n }\n if (scrollToFirstRow.value) {\n scrollTop.value = 0\n }\n props.onChange?.(\n info.pagination || mergedPagination.value,\n info.filters || filters.value,\n info.sorter || sorter.value,\n {\n currentDataSource: info.currentDataSource || filterData.value,\n action,\n },\n )\n }\n\n const paginationProps = computed(() => {\n return omit(mergedPagination.value, ['position', 'onChange', 'onShowSizeChange'])\n })\n\n const paginationClass = computed(() => {\n return {\n [`${props.prefixCls}-pagination`]: true,\n [`${props.prefixCls}-pagination-${pos.value.bottom}`]: true,\n [`${customUiCls}`]: true,\n }\n })\n const bottomPaginationHeight = ref(0)\n const bottomPaginationStyle = computed<any>(() => {\n if (!props.paginationSticky) {\n return {}\n }\n if (props.paginationSticky === true) {\n return { position: 'sticky', 'z-index': 9, bottom: '0px' }\n }\n return {\n position: 'sticky',\n 'z-index': 9,\n bottom: `${props.paginationSticky?.offsetBottom ?? 0}px`,\n }\n })\n\n const indentSize = computed(() => (typeof props.indentSize == 'number' ? props.indentSize : 15))\n\n const cellProps = useCellProps({\n leftColumns: columns.leftColumns,\n rightColumns: columns.rightColumns,\n visibleCenterColumns: columns.visibleCenterColumns,\n allColumns: columns.allColumns,\n data,\n mergedRowHeights: cal.mergedRowHeights,\n startIndex,\n getColumnPosition: columns.getColumnPosition,\n bodyWidth,\n leftWidth,\n centerWidth,\n getRowHeight: cal.getRowHeight,\n customCell: toRef(props, 'customCell'),\n })\n\n watch(\n [realHeaderHeight, scrollLeft],\n () => {\n popupContainer.value?.alignPopup?.()\n },\n { flush: 'post' },\n )\n\n useProvideTable({\n ...cal,\n ...columns,\n ...cellProps,\n rootRef,\n rawData,\n getRowFlattenIndexByKey,\n prefixCls: computed(() => props.prefixCls!),\n draggingRowKey,\n insertToRowKey,\n status,\n useAnimate,\n animateRows,\n watermarkMsg,\n onResizeColumn: (w: number, col: ColumnType, action: ResizeActionType) => {\n const width = col.width\n const result = props.onResizeColumn?.(w, col, action)\n if (result !== false) {\n if (!(width === w && col.width === w)) {\n col.width = width !== col.width ? col.width : w\n triggerRef(rawColumns)\n }\n if (action === 'end') {\n emit('update:columns', rawColumns.value, 'resize')\n }\n }\n },\n onRowDragEnd: (opt: DragRowEventInfo) => {\n const { insertToRowKey, record, fromIndexs, rowKey, dir, preTargetInfo, nextTargetInfo } =\n opt\n const rawRecord = toRaw(record)\n const dragEnd = props.onRowDragEnd?.({ ...opt, record: rawRecord, fromIndexs })\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (!isMyChildren(rowKey, preTargetInfo?.rowKey as Key) && insertToRowKey !== rowKey) {\n if (insertToRowKey !== null) {\n const parentRecord = getRecordByKey(insertToRowKey)\n if (\n insertToRowKey === preTargetInfo?.rowKey ||\n insertToRowKey === nextTargetInfo?.rowKey\n ) {\n if (dir === DOWN) {\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n } else {\n if (dir === DOWN) {\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n } else {\n if (dir === DOWN && preTargetInfo) {\n addNestItemData(\n rawData.value,\n [preTargetInfo.indexs[0]!],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else if (dir === UP && nextTargetInfo) {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs ? [preTargetInfo!.indexs[0]!] : [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n triggerRef(rawData)\n emit('update:dataSource', rawData.value)\n }\n }\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n virtual,\n xVirtual,\n dataRowPosition,\n rawColumns,\n bodyHeight,\n scrollTop,\n scrollLeft,\n supportSticky,\n childrenColumnName,\n bodyScrollWidth,\n baseHeight,\n startIndex,\n data,\n pageData,\n getRecordByKey,\n getIndexsByKey,\n expandType,\n flattenData,\n expandedRowKeys,\n indentSize,\n props,\n bodyWidth,\n scrollTo,\n scrollBarSize,\n leftWidth,\n rightWidth,\n centerWidth,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getRowKey,\n selection,\n updateSelectedRowKeys: (keys: Key[]) => {\n emit('update:selectedRowKeys', keys)\n },\n locale,\n sorterStates,\n changeSorter,\n changeFilter,\n filterStates,\n onTriggerExpand: (record, key: Key) => {\n let keys: Key[]\n const hasKey = expandedRowKeys.value.has(key)\n if (hasKey) {\n expandedRowKeys.value.delete(key)\n keys = [...expandedRowKeys.value]\n } else {\n keys = [...expandedRowKeys.value, key]\n }\n defaultExpandedRowKeys.value = keys\n emit('update:expandedRowKeys', keys)\n emit('expand', !hasKey, record)\n emit('expandedRowsChange', keys)\n },\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n mergedRowSelection,\n getPopupContainer,\n allDataRowKeys,\n allDataRootRowKeys,\n dragRowsHandle,\n isMyChildren,\n getKeyByIndexs,\n getRowByFlattenIndex,\n draggingColumnKey,\n dragColumnsHandle,\n onColumnDragEnd: (arg: DragColumnEventInfo) => {\n const { dir, column, targetColumn } = arg\n const dragEnd = props.onColumnDragEnd?.(arg)\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (column === targetColumn || column.key === targetColumn.key) return\n const index = rawColumns.value.findIndex(\n (col) => col === column || col.key === column.key,\n )\n const targetIndex = rawColumns.value.findIndex(\n (col) => col === targetColumn || col.key === targetColumn.key,\n )\n if (dir === LEFT) {\n rawColumns.value.splice(index, 1)\n rawColumns.value.splice(targetIndex, 0, column)\n } else {\n rawColumns.value.splice(targetIndex + 1, 0, column)\n rawColumns.value.splice(index, 1)\n }\n triggerRef(rawColumns)\n emit('update:columns', rawColumns.value, 'drag')\n }\n\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n onColumnDrag: () => {},\n columnDrag: computed(() => props.columnDrag),\n summaryFixed: mergedSummaryFixed,\n realHeaderHeight,\n bottomPaginationHeight,\n pos,\n })\n\n const tabGuardTopRef = ref()\n const tabGuardBottomRef = ref()\n\n const {\n navigationService,\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n onBodyKeydown,\n } = useProvideRangeStore({\n allColumns: columns.allColumns,\n flattenData,\n rangeSelection: computed(() => props.rangeSelection),\n getRowByFlattenIndex,\n rootRef,\n prefixCls: computed(() => props.prefixCls!),\n allCellProps: cellProps.allCellProps,\n tabGuardTopRef,\n tabGuardBottomRef,\n ensureCellColumnVisible: (cell: RangeCell) => {\n if (!cell.column || cell.column.fixed) return\n const sl = scrollLeft.value\n const pos = columns.getColumnPositionByKey(cell.column.columnKey)\n if (pos) {\n const { width, left } = pos\n const lw = leftWidth.value\n const rw = rightWidth.value\n left - lw < sl\n ? (scrollLeft.value = left - lw)\n : left + width > sl + bodyWidth.value - rw &&\n (scrollLeft.value = left + width - bodyWidth.value + rw)\n }\n },\n ensureCellRowVisible: (cell: RangeCell) => {\n const { rowIndex } = cell\n const st = scrollTop.value\n const row = getRowByFlattenIndex(rowIndex)\n const pos = cal.getRowPositionByKey(row.rowKey)\n const cprops =\n (cellProps.allCellProps.value[row.rowKey]?.[cell.column!.columnKey] || {}).props || {}\n const height = cal.getRowHeight(rowIndex, cprops.rowSpan)\n if (pos !== undefined) {\n updateAnimate()\n if (pos < st) {\n scrollTop.value = pos\n } else {\n if (pos + height > st + bodyHeight.value) {\n scrollTop.value = pos + height - bodyHeight.value\n }\n }\n }\n },\n latestRangeStartCell,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n scrollLeft,\n scrollTop,\n scrollTo,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getIndexsByKey,\n formatRangeCellText: (parmas) => {\n if (props.formatRangeCellText) {\n return props.formatRangeCellText(parmas)\n } else if (parmas.value) {\n return parmas.value\n }\n return ''\n },\n editCellKeys,\n copyDelimiter: computed(() => props.copyDelimiter),\n })\n\n expose({\n scrollTo,\n scrollLeft,\n scrollTop,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n openEditor: (cellInfos: any[]) => {\n openEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n },\n closeEditor: (cellInfos: any[]) => {\n if (cellInfos) {\n closeEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n } else {\n closeEditor()\n }\n },\n })\n\n return {\n bodyRef,\n spinProps,\n rowPosition,\n viewportHeight,\n startIndex,\n data,\n watermarkMsg,\n rootStyle,\n rootClass,\n onBodyKeydown,\n watermarkStyle: computed<any>(() => ({\n minWidth: '100px!important',\n minHeight: '40px!important',\n position: 'absolute!important',\n fontSize: '20px!important',\n opacity: '0.8!important',\n bottom: '40px!important',\n right: '40px!important',\n pointerEvents: 'none',\n display: 'block!important',\n zIndex: '999999!important',\n color: '#000000!important',\n margin: '0px!important',\n padding: '0px!important',\n transform: 'unset!important',\n })),\n mergedPagination,\n pos,\n onPaginationChange,\n scrollBarSize,\n scrollTop,\n bodyScrollWidth,\n bodyWidth,\n scrollLeft,\n cal,\n selection,\n locale,\n paginationProps,\n slots,\n mergedScrollX,\n mergedScrollY,\n bodyHeight,\n measureWidthRef,\n flattenData,\n rootRef,\n mergedSummaryFixed,\n handleResize: (e: CustomEvent) => {\n realHeaderHeight.value = e.detail.height\n },\n handlePaginationResize: (e: CustomEvent) => {\n bottomPaginationHeight.value = e.detail.height\n },\n popupContainer,\n handleGuardTopKeydown: (e: KeyboardEvent) => {\n e.keyCode !== KeyCode.TAB ||\n e.shiftKey ||\n (navigationService.getFirstCellToFocus(e.shiftKey), e.preventDefault())\n },\n handleGuardBottomKeydown: (e: KeyboardEvent) => {\n e.keyCode === KeyCode.TAB &&\n e.shiftKey &&\n (navigationService.getLastCellToFocus(e.shiftKey), e.preventDefault())\n },\n tabGuardTopRef,\n tabGuardBottomRef,\n onShowSizeChange,\n customUiCls,\n paginationClass,\n bottomPaginationStyle,\n }\n },\n})\n</script>\n\n<template>\n <TableSlotsContextProvider :value=\"{ ...slots }\">\n <Spin v-bind=\"spinProps\">\n <Pagination\n v-if=\"pos.top\"\n :class=\"`${prefixCls}-pagination ${prefixCls}-pagination-${pos.top} ${customUiCls}`\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n <div\n ref=\"tabGuardTopRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardTopKeydown\"\n ></div>\n <div key=\"content\" ref=\"ref\" :class=\"rootClass\" :style=\"rootStyle\">\n <template v-if=\"showHeader\">\n <AutoHeightHeader\n v-if=\"autoHeaderHeight\"\n :prefix-cls=\"prefixCls\"\n :sticky=\"sticky\"\n @resizeheight=\"handleResize\"\n />\n <ProHeader v-else :prefix-cls=\"prefixCls\" :sticky=\"sticky\" @resizeheight=\"handleResize\" />\n </template>\n <ProBody\n ref=\"bodyRef\"\n v-model:bodyScrollWidth=\"bodyScrollWidth\"\n v-model:bodyWidth=\"bodyWidth\"\n v-model:bodyHeight=\"bodyHeight\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n :scroll-x=\"mergedScrollX\"\n :height=\"mergedScrollY\"\n :summary-fixed=\"mergedSummaryFixed\"\n :summary=\"$slots.summary\"\n :empty-text=\"$slots.emptyText\"\n @keydown=\"onBodyKeydown\"\n />\n </div>\n <div\n ref=\"tabGuardBottomRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardBottomKeydown\"\n ></div>\n <div v-if=\"$slots.footer\" key=\"footer\" :class=\"`${prefixCls}-footer`\">\n <slot name=\"footer\" />\n </div>\n <PopupContainer ref=\"popupContainer\" :prefix-cls=\"prefixCls\" />\n <div\n v-if=\"pos.bottom\"\n v-resize:height\n :style=\"bottomPaginationStyle\"\n :class=\"`${prefixCls}-pagination-wrap`\"\n @resizeheight=\"handlePaginationResize\"\n >\n <Pagination\n :class=\"paginationClass\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n </div>\n </Spin>\n <MeasureWidth ref=\"measureWidthRef\" />\n </TableSlotsContextProvider>\n</template>\n"],"names":["sorter","sorterStates","filters","filterStates","pos","animateRows","globalAnimateRows","insertToRowKey","rowKey"],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { GetRowKey, Key, SorterResult, TableRowSelection } from './interface';
|
1
|
+
import type { ColumnsType, GetRowKey, Key, SorterResult, TableRowSelection } from './interface';
|
2
2
|
import type { CustomSlotsType } from '../utils/type';
|
3
3
|
import type { ContextSlots } from './context/TableSlotsContext';
|
4
4
|
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
@@ -80,7 +80,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
80
80
|
type: StringConstructor;
|
81
81
|
};
|
82
82
|
columns: {
|
83
|
-
type: import("vue").PropType<
|
83
|
+
type: import("vue").PropType<ColumnsType<import("./interface").DefaultRecordType>>;
|
84
84
|
default: () => never[];
|
85
85
|
};
|
86
86
|
dataSource: {
|
@@ -117,6 +117,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
117
117
|
};
|
118
118
|
size: {
|
119
119
|
type: import("vue").PropType<import("./interface").DensitySize>;
|
120
|
+
default: string;
|
120
121
|
};
|
121
122
|
bordered: {
|
122
123
|
type: BooleanConstructor;
|
@@ -223,6 +224,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
223
224
|
type: NumberConstructor;
|
224
225
|
default: number;
|
225
226
|
};
|
227
|
+
rowHover: {
|
228
|
+
type: BooleanConstructor;
|
229
|
+
default: undefined;
|
230
|
+
};
|
226
231
|
rowKey: {
|
227
232
|
type: import("vue").PropType<string | GetRowKey<import("./interface").DefaultRecordType>>;
|
228
233
|
};
|
@@ -413,6 +418,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
413
418
|
'onUpdate:dataSource': {
|
414
419
|
type: import("vue").PropType<(dataSource: import("./interface").DefaultRecordType[]) => void>;
|
415
420
|
};
|
421
|
+
'onUpdate:columns': {
|
422
|
+
type: import("vue").PropType<(columns: ColumnsType<import("./interface").DefaultRecordType>, action: "resize" | "drag") => void>;
|
423
|
+
};
|
416
424
|
columnEmptyText: {
|
417
425
|
type: import("vue").PropType<string | false>;
|
418
426
|
default: string;
|
@@ -433,6 +441,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
433
441
|
params: import("vue").PropType<Record<string, any>>;
|
434
442
|
defaultData: import("vue").PropType<import("./interface").DefaultRecordType[]>;
|
435
443
|
manual: BooleanConstructor;
|
444
|
+
manualRequest: BooleanConstructor;
|
436
445
|
polling: import("vue").PropType<number | ((dataSource: any[]) => number)>;
|
437
446
|
debounceTime: NumberConstructor;
|
438
447
|
onLoad: {
|
@@ -554,7 +563,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
554
563
|
type: StringConstructor;
|
555
564
|
};
|
556
565
|
columns: {
|
557
|
-
type: import("vue").PropType<
|
566
|
+
type: import("vue").PropType<ColumnsType<import("./interface").DefaultRecordType>>;
|
558
567
|
default: () => never[];
|
559
568
|
};
|
560
569
|
dataSource: {
|
@@ -591,6 +600,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
591
600
|
};
|
592
601
|
size: {
|
593
602
|
type: import("vue").PropType<import("./interface").DensitySize>;
|
603
|
+
default: string;
|
594
604
|
};
|
595
605
|
bordered: {
|
596
606
|
type: BooleanConstructor;
|
@@ -697,6 +707,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
697
707
|
type: NumberConstructor;
|
698
708
|
default: number;
|
699
709
|
};
|
710
|
+
rowHover: {
|
711
|
+
type: BooleanConstructor;
|
712
|
+
default: undefined;
|
713
|
+
};
|
700
714
|
rowKey: {
|
701
715
|
type: import("vue").PropType<string | GetRowKey<import("./interface").DefaultRecordType>>;
|
702
716
|
};
|
@@ -887,6 +901,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
887
901
|
'onUpdate:dataSource': {
|
888
902
|
type: import("vue").PropType<(dataSource: import("./interface").DefaultRecordType[]) => void>;
|
889
903
|
};
|
904
|
+
'onUpdate:columns': {
|
905
|
+
type: import("vue").PropType<(columns: ColumnsType<import("./interface").DefaultRecordType>, action: "resize" | "drag") => void>;
|
906
|
+
};
|
890
907
|
columnEmptyText: {
|
891
908
|
type: import("vue").PropType<string | false>;
|
892
909
|
default: string;
|
@@ -907,6 +924,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
907
924
|
params: import("vue").PropType<Record<string, any>>;
|
908
925
|
defaultData: import("vue").PropType<import("./interface").DefaultRecordType[]>;
|
909
926
|
manual: BooleanConstructor;
|
927
|
+
manualRequest: BooleanConstructor;
|
910
928
|
polling: import("vue").PropType<number | ((dataSource: any[]) => number)>;
|
911
929
|
debounceTime: NumberConstructor;
|
912
930
|
onLoad: {
|
@@ -953,6 +971,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
953
971
|
onKeydown?: ((...args: any[]) => any) | undefined;
|
954
972
|
}>, {
|
955
973
|
direction: "rtl";
|
974
|
+
size: import("./interface").DensitySize;
|
956
975
|
loading: boolean | Partial<import("vue").ExtractPropTypes<{
|
957
976
|
prefixCls: StringConstructor;
|
958
977
|
spinning: {
|
@@ -977,13 +996,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
977
996
|
locale: import("./interface").TableLocale;
|
978
997
|
virtual: boolean;
|
979
998
|
pagination: false | import("pro-design-vue").ProTablePaginationConfig;
|
980
|
-
expandIcon: import("./interface").RenderExpandIcon<import("./interface").DefaultRecordType>;
|
981
|
-
options: false | import("./interface").OptionConfig;
|
982
999
|
onLoadingChange: (loading: boolean | import("ant-design-vue").SpinProps | undefined) => void;
|
983
1000
|
bordered: boolean;
|
984
|
-
manual: boolean;
|
985
|
-
sticky: boolean | import("./interface").HeaderSticky;
|
986
|
-
columns: import("pro-design-vue").ProTableColumnsType<import("./interface").DefaultRecordType>;
|
987
1001
|
cardProps: false | Partial<import("vue").ExtractPropTypes<{
|
988
1002
|
prefixCls: StringConstructor;
|
989
1003
|
title: import("node_modules/vue-types/dist/index").VueTypeValidableDef<any>;
|
@@ -1034,6 +1048,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
1034
1048
|
deepWatchColumns: boolean;
|
1035
1049
|
columnDrag: boolean;
|
1036
1050
|
animateRows: boolean;
|
1051
|
+
columns: ColumnsType<import("./interface").DefaultRecordType>;
|
1037
1052
|
dataSource: import("./interface").DefaultRecordType[];
|
1038
1053
|
xVirtual: boolean;
|
1039
1054
|
rowHeight: import("pro-design-vue").RowHeight;
|
@@ -1041,6 +1056,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
1041
1056
|
wrapText: boolean;
|
1042
1057
|
stripe: boolean;
|
1043
1058
|
rowClassName: string | import("./interface").RowClassName<import("./interface").DefaultRecordType>;
|
1059
|
+
sticky: boolean | import("./interface").HeaderSticky;
|
1044
1060
|
selectedRowKeys: Key[];
|
1045
1061
|
expandFixed: import("./interface").FixedType;
|
1046
1062
|
expandColumnWidth: number;
|
@@ -1048,6 +1064,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
1048
1064
|
defaultExpandedRowKeys: Key[];
|
1049
1065
|
expandedRowRender: import("./interface").ExpandedRowRender<import("./interface").DefaultRecordType>;
|
1050
1066
|
expandRowByClick: boolean;
|
1067
|
+
expandIcon: import("./interface").RenderExpandIcon<import("./interface").DefaultRecordType>;
|
1051
1068
|
onExpand: (expanded: boolean, record: import("./interface").DefaultRecordType) => void;
|
1052
1069
|
onExpandedRowsChange: (expandedKeys: Key[]) => void;
|
1053
1070
|
defaultExpandAllRows: boolean;
|
@@ -1055,6 +1072,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
1055
1072
|
rowExpandable: (record: import("./interface").DefaultRecordType) => boolean;
|
1056
1073
|
rowSelection: TableRowSelection<import("./interface").DefaultRecordType>;
|
1057
1074
|
rowHoverDelay: number;
|
1075
|
+
rowHover: boolean;
|
1058
1076
|
customRow: (data: import("./interface").DefaultRecordType, index?: number) => Omit<import("vue").HTMLAttributes, "style"> & {
|
1059
1077
|
style?: import("vue").CSSProperties;
|
1060
1078
|
};
|
@@ -1148,7 +1166,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
1148
1166
|
onCloseEditor: (opt: import("pro-design-vue").CellRenderArgs) => void;
|
1149
1167
|
columnEmptyText: string | false;
|
1150
1168
|
toolBar: boolean;
|
1169
|
+
options: false | import("./interface").OptionConfig;
|
1151
1170
|
alwaysShowAlert: boolean;
|
1171
|
+
manual: boolean;
|
1172
|
+
manualRequest: boolean;
|
1152
1173
|
onRequestError: (e: Error) => void;
|
1153
1174
|
onSizeChange: (size: import("./interface").DensitySize) => void;
|
1154
1175
|
columnsState: import("pro-design-vue").ProColumnStateType;
|
@@ -16,7 +16,7 @@ import ToolBar from './ToolBar/ToolBar.vue.mjs';
|
|
16
16
|
import Alert from './Alert.vue.mjs';
|
17
17
|
import FormRender from './Form/Form.mjs';
|
18
18
|
import { usePrefixCls } from '../../../../hooks/use-prefix-cls/index.mjs';
|
19
|
-
import { omit } from '../../../../utils/omit.mjs';
|
19
|
+
import { omitKeysAndUndefined, omit } from '../../../../utils/omit.mjs';
|
20
20
|
|
21
21
|
function _isSlot(s) {
|
22
22
|
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
@@ -40,7 +40,8 @@ var Table = /* @__PURE__ */ defineComponent({
|
|
40
40
|
const {
|
41
41
|
hoverRowKey
|
42
42
|
} = useProvideHover({
|
43
|
-
rowHoverDelay: computed(() => props.rowHoverDelay)
|
43
|
+
rowHoverDelay: computed(() => props.rowHoverDelay),
|
44
|
+
rowHover: computed(() => props.rowHover)
|
44
45
|
});
|
45
46
|
const mergedPrefixCls = computed(() => {
|
46
47
|
var _a2;
|
@@ -84,10 +85,7 @@ var Table = /* @__PURE__ */ defineComponent({
|
|
84
85
|
if (props.pagination === false) {
|
85
86
|
return false;
|
86
87
|
}
|
87
|
-
|
88
|
-
return Object.assign({}, pagination.value, props.pagination);
|
89
|
-
}
|
90
|
-
return Object.assign({}, props.pagination, pagination.value);
|
88
|
+
return pagination.value;
|
91
89
|
});
|
92
90
|
const formSubmitLoading = computed(() => {
|
93
91
|
if (typeof loading.value === "boolean") {
|
@@ -149,9 +147,44 @@ var Table = /* @__PURE__ */ defineComponent({
|
|
149
147
|
};
|
150
148
|
return loopFilter(tableColumn.value);
|
151
149
|
});
|
150
|
+
const onColumnsChange = (rawColumns, action) => {
|
151
|
+
var _a2;
|
152
|
+
const newMap = {
|
153
|
+
...counter.columnsMap.value
|
154
|
+
};
|
155
|
+
const newColumns = rawColumns.map((item) => genColumnKey(item.key, item.index));
|
156
|
+
if (action === "resize") {
|
157
|
+
const loopSetWidth = (rawColumns2) => {
|
158
|
+
rawColumns2.forEach((item) => {
|
159
|
+
var _a3;
|
160
|
+
const key = genColumnKey(item.key, item.index);
|
161
|
+
const newSetting = {
|
162
|
+
...newMap[key]
|
163
|
+
};
|
164
|
+
if ((_a3 = item.children) == null ? void 0 : _a3.length) {
|
165
|
+
loopSetWidth(item.children);
|
166
|
+
} else {
|
167
|
+
newSetting.width = item.width;
|
168
|
+
newMap[key] = newSetting;
|
169
|
+
}
|
170
|
+
});
|
171
|
+
};
|
172
|
+
loopSetWidth(rawColumns);
|
173
|
+
} else {
|
174
|
+
newColumns.forEach((key, order) => {
|
175
|
+
newMap[key] = {
|
176
|
+
...newMap[key] || {},
|
177
|
+
order
|
178
|
+
};
|
179
|
+
});
|
180
|
+
}
|
181
|
+
counter.setColumnsMap(newMap);
|
182
|
+
counter.setSortKeyColumns(newColumns);
|
183
|
+
(_a2 = props["onUpdate:columns"]) == null ? void 0 : _a2.call(props, rawColumns, action);
|
184
|
+
};
|
152
185
|
const formItems = computed(() => {
|
153
186
|
var _a2, _b, _c;
|
154
|
-
if (
|
187
|
+
if (props.search === false) {
|
155
188
|
return [];
|
156
189
|
}
|
157
190
|
if ((_b = (_a2 = props.search) == null ? void 0 : _a2.items) == null ? void 0 : _b.length) {
|
@@ -163,12 +196,12 @@ var Table = /* @__PURE__ */ defineComponent({
|
|
163
196
|
}
|
164
197
|
return true;
|
165
198
|
}).map((item) => {
|
166
|
-
return {
|
199
|
+
return omitKeysAndUndefined({
|
167
200
|
...item,
|
168
201
|
width: void 0,
|
169
202
|
tooltip: item.headerTooltip,
|
170
203
|
name: item.dataIndex
|
171
|
-
};
|
204
|
+
}, ["dataIndex", "width"]);
|
172
205
|
});
|
173
206
|
});
|
174
207
|
const preserveRecordsRef = ref(/* @__PURE__ */ new Map());
|
@@ -185,8 +218,8 @@ var Table = /* @__PURE__ */ defineComponent({
|
|
185
218
|
}
|
186
219
|
onCleanSelected();
|
187
220
|
});
|
188
|
-
const [selectedRowKeys, setSelectedRowKeys] = useMergedState(props.rowSelection ? ((_a = props.rowSelection) == null ? void 0 : _a.defaultSelectedRowKeys) || [] : void 0, {
|
189
|
-
value: computed(() => props.rowSelection ? props.rowSelection.selectedRowKeys : void 0)
|
221
|
+
const [selectedRowKeys, setSelectedRowKeys] = useMergedState(props.selectedRowKeys || (props.rowSelection ? ((_a = props.rowSelection) == null ? void 0 : _a.defaultSelectedRowKeys) || [] : void 0), {
|
222
|
+
value: computed(() => props.selectedRowKeys || (props.rowSelection ? props.rowSelection.selectedRowKeys : void 0))
|
190
223
|
});
|
191
224
|
const rowSelection = computed(() => ({
|
192
225
|
selectedRowKeys: selectedRowKeys.value,
|
@@ -323,7 +356,7 @@ var Table = /* @__PURE__ */ defineComponent({
|
|
323
356
|
actions: slots.alertActions
|
324
357
|
}), createVNode(InteralTable, mergeProps({
|
325
358
|
"ref": table
|
326
|
-
}, omit(props, ["onChange", "onUpdate:pagination", "onUpdate:selectedRowKeys"]), {
|
359
|
+
}, omit(props, ["onChange", "onUpdate:pagination", "onUpdate:selectedRowKeys", "onUpdate:columns"]), {
|
327
360
|
"prefixCls": mergedPrefixCls.value,
|
328
361
|
"columns": mergeColumns || [],
|
329
362
|
"size": counter.tableSize.value,
|
@@ -334,7 +367,8 @@ var Table = /* @__PURE__ */ defineComponent({
|
|
334
367
|
"expandIcon": expandIcon,
|
335
368
|
"expandedRowRender": expandedRowRender,
|
336
369
|
"hasContextmenuPopup": !!slots.contextmenuPopup,
|
337
|
-
"onChange": onTableChange
|
370
|
+
"onChange": onTableChange,
|
371
|
+
"onUpdate:columns": onColumnsChange
|
338
372
|
}), {
|
339
373
|
...slots,
|
340
374
|
footer: props.footer || slots.footer
|
@@ -363,7 +397,7 @@ var Table = /* @__PURE__ */ defineComponent({
|
|
363
397
|
"tableShowCard": props.cardProps !== false,
|
364
398
|
"loading": formSubmitLoading.value,
|
365
399
|
"beforeSearchSubmit": props.beforeSearchSubmit,
|
366
|
-
"manual": props.manual,
|
400
|
+
"manual": props.manual || props.manualRequest,
|
367
401
|
"onReset": props.onReset,
|
368
402
|
"onSubmit": props.onSubmit,
|
369
403
|
"onFormSearchSubmit": onFormSearchSubmit,
|