@guodun/antdv 1.2.5 → 1.3.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/es/components/contract-signing-location/index.mjs +11 -0
- package/dist/es/components/contract-signing-location/src/ContractSigningLocation.mjs +5 -0
- package/dist/es/components/contract-signing-location/src/ContractSigningLocation.vue.mjs +546 -0
- package/dist/es/components/contract-signing-location/src/ContractSigningLocationCanvas.mjs +5 -0
- package/dist/es/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.mjs +612 -0
- package/dist/es/components/contract-signing-location/src/ContractSigningLocationInspector.mjs +5 -0
- package/dist/es/components/contract-signing-location/src/ContractSigningLocationInspector.vue.mjs +228 -0
- package/dist/es/components/contract-signing-location/src/ContractSigningLocationNavigator.mjs +5 -0
- package/dist/es/components/contract-signing-location/src/ContractSigningLocationNavigator.vue.mjs +71 -0
- package/dist/es/components/contract-signing-location/src/constants.mjs +42 -0
- package/dist/es/components/contract-signing-location/src/coordinates.mjs +182 -0
- package/dist/es/components/contract-signing-location/src/icons.mjs +114 -0
- package/dist/es/components/contract-signing-location/src/location-rules.mjs +296 -0
- package/dist/es/components/contract-signing-location/src/page-layout.mjs +115 -0
- package/dist/es/components/contract-signing-location/src/preview-requests.mjs +25 -0
- package/dist/es/components/contract-signing-location/src/style/index.mjs +1 -0
- package/dist/es/components/contract-signing-location/src/types.mjs +0 -0
- package/dist/es/components/contract-signing-location/style/index.css +1 -0
- package/dist/es/components/contract-signing-location/style/index.mjs +1 -0
- package/dist/es/components/index.mjs +12 -0
- package/dist/es/components/pro-contract-signing-flow/index.mjs +9 -0
- package/dist/es/components/pro-contract-signing-flow/src/ContractSigningFlowCanvas.mjs +5 -0
- package/dist/es/components/pro-contract-signing-flow/src/ContractSigningFlowCanvas.vue.mjs +71 -0
- package/dist/es/components/pro-contract-signing-flow/src/ContractSigningFlowInspector.mjs +5 -0
- package/dist/es/components/pro-contract-signing-flow/src/ContractSigningFlowInspector.vue.mjs +312 -0
- package/dist/es/components/pro-contract-signing-flow/src/ContractSigningFlowNodeCard.mjs +5 -0
- package/dist/es/components/pro-contract-signing-flow/src/ContractSigningFlowNodeCard.vue.mjs +115 -0
- package/dist/es/components/pro-contract-signing-flow/src/ProContractSigningFlow.mjs +5 -0
- package/dist/es/components/pro-contract-signing-flow/src/ProContractSigningFlow.vue.mjs +143 -0
- package/dist/es/components/pro-contract-signing-flow/src/composables/use-contract-signing-flow.mjs +365 -0
- package/dist/es/components/pro-contract-signing-flow/src/constants.mjs +48 -0
- package/dist/es/components/pro-contract-signing-flow/src/types.mjs +0 -0
- package/dist/es/components/pro-contract-signing-flow/style/index.css +1 -0
- package/dist/es/components/pro-contract-signing-flow/style/index.mjs +1 -0
- package/dist/es/components/pro-contract-template-designer/index.mjs +5 -0
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.mjs +5 -0
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.mjs +43 -0
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewSigningLayer.mjs +5 -0
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewSigningLayer.vue.mjs +42 -0
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.mjs +88 -78
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererHeader.mjs +5 -0
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererHeader.vue.mjs +169 -0
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererToolbar.vue.mjs +18 -7
- package/dist/es/components/pro-contract-template-designer/src/DesignerPage.vue.mjs +522 -318
- package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +2436 -1166
- package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.mjs +320 -198
- package/dist/es/components/pro-contract-template-designer/src/SigningPlacementInspector.mjs +5 -0
- package/dist/es/components/pro-contract-template-designer/src/SigningPlacementInspector.vue.mjs +142 -0
- package/dist/es/components/pro-contract-template-designer/src/SigningPlacementLayer.mjs +5 -0
- package/dist/es/components/pro-contract-template-designer/src/SigningPlacementLayer.vue.mjs +134 -0
- package/dist/es/components/pro-contract-template-designer/src/TableContextMenu.mjs +5 -0
- package/dist/es/components/pro-contract-template-designer/src/TableContextMenu.vue.mjs +189 -0
- package/dist/es/components/pro-contract-template-designer/src/TableSizePicker.mjs +5 -0
- package/dist/es/components/pro-contract-template-designer/src/TableSizePicker.vue.mjs +117 -0
- package/dist/es/components/pro-contract-template-designer/src/composables/use-fit-width-zoom.mjs +33 -0
- package/dist/es/components/pro-contract-template-designer/src/composables/use-template-designer.mjs +334 -322
- package/dist/es/components/pro-contract-template-designer/src/composables/use-template-draft-cache.mjs +1 -1
- package/dist/es/components/pro-contract-template-designer/src/extensions/ContentImageNodeView.mjs +7 -0
- package/dist/es/components/pro-contract-template-designer/src/extensions/ContentImageNodeView.vue.mjs +213 -0
- package/dist/es/components/pro-contract-template-designer/src/extensions/ContentImageNodeView.vue_vue_type_style_index_0_scoped_8082f8b4_lang.css +1 -0
- package/dist/es/components/pro-contract-template-designer/src/extensions/editor-extensions.mjs +62 -27
- package/dist/es/components/pro-contract-template-designer/src/extensions/office-content.mjs +241 -0
- package/dist/es/components/pro-contract-template-designer/src/extensions/template-variable.mjs +56 -119
- package/dist/es/components/pro-contract-template-designer/src/extensions/word-paste.mjs +141 -0
- package/dist/es/components/pro-contract-template-designer/src/types.mjs +13 -0
- package/dist/es/components/pro-contract-template-designer/src/utils/content-image.mjs +171 -0
- package/dist/es/components/pro-contract-template-designer/src/utils/context-variable.mjs +17 -0
- package/dist/es/components/pro-contract-template-designer/src/utils/html.mjs +59 -0
- package/dist/es/components/pro-contract-template-designer/src/utils/image-url.mjs +44 -0
- package/dist/es/components/pro-contract-template-designer/src/utils/signing-placement.mjs +292 -0
- package/dist/es/components/pro-contract-template-designer/src/utils/template-renderer.mjs +124 -167
- package/dist/es/components/pro-contract-template-designer/src/utils/template-tool-icons.mjs +28 -0
- package/dist/es/components/pro-contract-template-designer/src/utils/template-variable-render.mjs +1 -1
- package/dist/es/components/pro-contract-template-designer/src/utils/word-paste.mjs +737 -0
- package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
- package/dist/es/index.mjs +75 -63
- package/dist/lib/components/contract-signing-location/index.cjs +1 -0
- package/dist/lib/components/contract-signing-location/src/ContractSigningLocation.cjs +1 -0
- package/dist/lib/components/contract-signing-location/src/ContractSigningLocation.vue.cjs +1 -0
- package/dist/lib/components/contract-signing-location/src/ContractSigningLocationCanvas.cjs +1 -0
- package/dist/lib/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.cjs +1 -0
- package/dist/lib/components/contract-signing-location/src/ContractSigningLocationInspector.cjs +1 -0
- package/dist/lib/components/contract-signing-location/src/ContractSigningLocationInspector.vue.cjs +1 -0
- package/dist/lib/components/contract-signing-location/src/ContractSigningLocationNavigator.cjs +1 -0
- package/dist/lib/components/contract-signing-location/src/ContractSigningLocationNavigator.vue.cjs +1 -0
- package/dist/lib/components/contract-signing-location/src/constants.cjs +1 -0
- package/dist/lib/components/contract-signing-location/src/coordinates.cjs +1 -0
- package/dist/lib/components/contract-signing-location/src/icons.cjs +1 -0
- package/dist/lib/components/contract-signing-location/src/location-rules.cjs +1 -0
- package/dist/lib/components/contract-signing-location/src/page-layout.cjs +1 -0
- package/dist/lib/components/contract-signing-location/src/preview-requests.cjs +1 -0
- package/dist/lib/components/contract-signing-location/src/style/index.cjs +1 -0
- package/dist/lib/components/contract-signing-location/src/types.cjs +0 -0
- package/dist/lib/components/contract-signing-location/style/index.cjs +1 -0
- package/dist/lib/components/contract-signing-location/style/index.css +1 -0
- package/dist/lib/components/index.cjs +1 -1
- package/dist/lib/components/pro-contract-signing-flow/index.cjs +1 -0
- package/dist/lib/components/pro-contract-signing-flow/src/ContractSigningFlowCanvas.cjs +1 -0
- package/dist/lib/components/pro-contract-signing-flow/src/ContractSigningFlowCanvas.vue.cjs +1 -0
- package/dist/lib/components/pro-contract-signing-flow/src/ContractSigningFlowInspector.cjs +1 -0
- package/dist/lib/components/pro-contract-signing-flow/src/ContractSigningFlowInspector.vue.cjs +1 -0
- package/dist/lib/components/pro-contract-signing-flow/src/ContractSigningFlowNodeCard.cjs +1 -0
- package/dist/lib/components/pro-contract-signing-flow/src/ContractSigningFlowNodeCard.vue.cjs +1 -0
- package/dist/lib/components/pro-contract-signing-flow/src/ProContractSigningFlow.cjs +1 -0
- package/dist/lib/components/pro-contract-signing-flow/src/ProContractSigningFlow.vue.cjs +1 -0
- package/dist/lib/components/pro-contract-signing-flow/src/composables/use-contract-signing-flow.cjs +1 -0
- package/dist/lib/components/pro-contract-signing-flow/src/constants.cjs +1 -0
- package/dist/lib/components/pro-contract-signing-flow/src/types.cjs +0 -0
- package/dist/lib/components/pro-contract-signing-flow/style/index.cjs +1 -0
- package/dist/lib/components/pro-contract-signing-flow/style/index.css +1 -0
- package/dist/lib/components/pro-contract-template-designer/index.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewSigningLayer.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewSigningLayer.vue.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererHeader.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererHeader.vue.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererToolbar.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/DesignerPage.vue.cjs +2 -2
- package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/SigningPlacementInspector.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/SigningPlacementInspector.vue.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/SigningPlacementLayer.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/SigningPlacementLayer.vue.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/TableContextMenu.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/TableContextMenu.vue.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/TableSizePicker.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/TableSizePicker.vue.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/composables/use-fit-width-zoom.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-designer.cjs +4 -4
- package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-draft-cache.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/extensions/ContentImageNodeView.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/extensions/ContentImageNodeView.vue.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/extensions/ContentImageNodeView.vue_vue_type_style_index_0_scoped_8082f8b4_lang.css +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/extensions/editor-extensions.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/extensions/office-content.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/extensions/template-variable.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/extensions/word-paste.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/types.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/utils/content-image.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/utils/context-variable.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/utils/html.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/utils/image-url.cjs +2 -0
- package/dist/lib/components/pro-contract-template-designer/src/utils/signing-placement.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/utils/template-renderer.cjs +3 -3
- package/dist/lib/components/pro-contract-template-designer/src/utils/template-tool-icons.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/utils/template-variable-render.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/utils/word-paste.cjs +3 -0
- package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
- package/dist/lib/index.cjs +1 -1
- package/dist/theme/contract-signing-location.css +1 -0
- package/dist/theme/icon.css +1 -1
- package/dist/theme/index.css +1 -1
- package/dist/theme/pro-contract-signing-flow.css +1 -0
- package/dist/types/components/contract-signing-location/index.d.ts +9 -0
- package/dist/types/components/contract-signing-location/src/ContractSigningLocation.vue.d.ts +133 -0
- package/dist/types/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.d.ts +49 -0
- package/dist/types/components/contract-signing-location/src/ContractSigningLocationInspector.vue.d.ts +32 -0
- package/dist/types/components/contract-signing-location/src/ContractSigningLocationNavigator.vue.d.ts +13 -0
- package/dist/types/components/contract-signing-location/src/constants.d.ts +40 -0
- package/dist/types/components/contract-signing-location/src/coordinates.d.ts +59 -0
- package/dist/types/components/contract-signing-location/src/icons.d.ts +12 -0
- package/dist/types/components/contract-signing-location/src/location-rules.d.ts +50 -0
- package/dist/types/components/contract-signing-location/src/page-layout.d.ts +49 -0
- package/dist/types/components/contract-signing-location/src/preview-requests.d.ts +8 -0
- package/dist/types/components/contract-signing-location/src/types.d.ts +218 -0
- package/dist/types/{antdv/src/components → components}/hooks/use-basic-app-config.d.ts +2 -2
- package/dist/types/{antdv/src/components → components}/index.d.ts +2 -0
- package/dist/types/components/pro-contract-signing-flow/index.d.ts +7 -0
- package/dist/types/components/pro-contract-signing-flow/src/ContractSigningFlowCanvas.vue.d.ts +19 -0
- package/dist/types/components/pro-contract-signing-flow/src/ContractSigningFlowInspector.vue.d.ts +14 -0
- package/dist/types/components/pro-contract-signing-flow/src/ContractSigningFlowNodeCard.vue.d.ts +19 -0
- package/dist/types/components/pro-contract-signing-flow/src/ProContractSigningFlow.vue.d.ts +35 -0
- package/dist/types/components/pro-contract-signing-flow/src/composables/use-contract-signing-flow.d.ts +213 -0
- package/dist/types/components/pro-contract-signing-flow/src/constants.d.ts +26 -0
- package/dist/types/components/pro-contract-signing-flow/src/types.d.ts +119 -0
- package/dist/types/{antdv/src/components → components}/pro-contract-template-agent/src/ContractTemplateAgentContext.vue.d.ts +1 -1
- package/dist/types/{antdv/src/components → components}/pro-contract-template-agent/src/ContractTemplateAgentPanel.vue.d.ts +5 -5
- package/dist/types/components/pro-contract-template-agent/src/ContractTemplateAgentPreview.vue.d.ts +11 -0
- package/dist/types/{antdv/src/components → components}/pro-contract-template-agent/src/ProContractTemplateAgentWorkbench.vue.d.ts +1 -1
- package/dist/types/{antdv/src/components → components}/pro-contract-template-agent/src/composables/use-contract-template-agent.d.ts +11 -11
- package/dist/types/{antdv/src/components → components}/pro-contract-template-agent/src/types.d.ts +39 -2
- package/dist/types/{antdv/src/components → components}/pro-contract-template-designer/index.d.ts +2 -0
- package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.d.ts +9 -0
- package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePreviewSigningLayer.vue.d.ts +7 -0
- package/dist/types/components/pro-contract-template-designer/src/ContractTemplateRendererHeader.vue.d.ts +71 -0
- package/dist/types/{antdv/src/components → components}/pro-contract-template-designer/src/ContractTemplateRendererToolbar.vue.d.ts +14 -3
- package/dist/types/components/pro-contract-template-designer/src/DesignerPage.vue.d.ts +197 -0
- package/dist/types/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.d.ts +120 -0
- package/dist/types/{antdv/src/components → components}/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.d.ts +11 -3
- package/dist/types/components/pro-contract-template-designer/src/SigningPlacementInspector.vue.d.ts +17 -0
- package/dist/types/components/pro-contract-template-designer/src/SigningPlacementLayer.vue.d.ts +19 -0
- package/dist/types/components/pro-contract-template-designer/src/TableContextMenu.vue.d.ts +22 -0
- package/dist/types/components/pro-contract-template-designer/src/TableSizePicker.vue.d.ts +23 -0
- package/dist/types/components/pro-contract-template-designer/src/composables/use-fit-width-zoom.d.ts +28 -0
- package/dist/types/components/pro-contract-template-designer/src/composables/use-template-designer.d.ts +139 -0
- package/dist/types/components/pro-contract-template-designer/src/composables/use-template-draft-cache.d.ts +83 -0
- package/dist/types/{antdv/src/components → components}/pro-contract-template-designer/src/constants.d.ts +49 -0
- package/dist/types/components/pro-contract-template-designer/src/extensions/ContentImageNodeView.vue.d.ts +5 -0
- package/dist/types/components/pro-contract-template-designer/src/extensions/editor-extensions.d.ts +16 -0
- package/dist/types/{antdv/src/components → components}/pro-contract-template-designer/src/extensions/font-size.d.ts +6 -0
- package/dist/types/components/pro-contract-template-designer/src/extensions/office-content.d.ts +11 -0
- package/dist/types/{antdv/src/components → components}/pro-contract-template-designer/src/extensions/template-variable.d.ts +17 -2
- package/dist/types/components/pro-contract-template-designer/src/extensions/word-paste.d.ts +25 -0
- package/dist/types/{antdv/src/components → components}/pro-contract-template-designer/src/types.d.ts +253 -23
- package/dist/types/components/pro-contract-template-designer/src/utils/content-image.d.ts +80 -0
- package/dist/types/components/pro-contract-template-designer/src/utils/context-variable.d.ts +37 -0
- package/dist/types/components/pro-contract-template-designer/src/utils/html.d.ts +74 -0
- package/dist/types/components/pro-contract-template-designer/src/utils/image-url.d.ts +6 -0
- package/dist/types/components/pro-contract-template-designer/src/utils/signing-placement.d.ts +105 -0
- package/dist/types/{antdv/src/components → components}/pro-contract-template-designer/src/utils/template-renderer.d.ts +15 -1
- package/dist/types/components/pro-contract-template-designer/src/utils/template-tool-icons.d.ts +12 -0
- package/dist/types/{antdv/src/components → components}/pro-contract-template-designer/src/utils/template-variable-render.d.ts +39 -0
- package/dist/types/components/pro-contract-template-designer/src/utils/word-paste.d.ts +43 -0
- package/dist/types/{antdv/src/components → components}/pro-form-render/src/module/AioArrayInput.vue.d.ts +3 -3
- package/dist/types/{antdv/src/components → components}/pro-form-render/src/module/AioArraySubForm.vue.d.ts +3 -3
- package/dist/types/{antdv/src/components → components}/pro-form-render/src/module/AioKV.vue.d.ts +3 -3
- package/dist/types/{antdv/src/components → components}/pro-form-render/src/module/AioSubForm.vue.d.ts +9 -9
- package/dist/types/{antdv/src/components → components}/pro-selector/src/pro-user.d.ts +3 -3
- package/dist/types/{antdv/src/components → components}/pro-selector-group/src/hooks/useApi.d.ts +1 -1
- package/global.d.ts +2 -0
- package/package.json +13 -8
- package/dist/types/antdv/src/components/pro-contract-template-agent/src/ContractTemplateAgentPreview.vue.d.ts +0 -11
- package/dist/types/antdv/src/components/pro-contract-template-designer/src/DesignerPage.vue.d.ts +0 -79
- package/dist/types/antdv/src/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.d.ts +0 -57
- package/dist/types/antdv/src/components/pro-contract-template-designer/src/composables/use-template-designer.d.ts +0 -41
- package/dist/types/antdv/src/components/pro-contract-template-designer/src/composables/use-template-draft-cache.d.ts +0 -39
- package/dist/types/antdv/src/components/pro-contract-template-designer/src/extensions/editor-extensions.d.ts +0 -9
- package/dist/types/antdv/src/components/pro-contract-template-designer/src/extensions/template-field.d.ts +0 -5
- /package/dist/types/{antdv/src/components → components}/collapse-transtion/hooks/use-collapse-transtion.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/collapse-transtion/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/collapse-transtion/src/collapse-transtion.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/collapse-transtion/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/cover-scroll-bar/hooks/use-has-scroll.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/cover-scroll-bar/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/cover-scroll-bar/src/cover-scroll-bar.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/cover-scroll-bar/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/dept-selector/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/dept-selector/src/dept.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/dept-selector/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/hooks/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/icon/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/icon/src/icon.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/icon/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/plus-upload/apis/plus-upload.api.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/plus-upload/hook/useExtractPlusUpload.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/plus-upload/hook/usePlusUpload.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/plus-upload/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/plus-upload/src/plus-upload.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/plus-upload/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-area/apis/pro-area.api.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-area/hooks/use-pro-area.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-area/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-area/src/ProArea.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-area/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-cell/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-cell/src/index.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-cell/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-cell-group/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-cell-group/src/index.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-cell-group/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-contract-template-agent/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-contract-template-agent/src/composables/use-contract-template-agent-split.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-contract-template-agent/src/composables/use-contract-template-agent-workbench.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-contract-template-agent/src/utils/contract-template-agent-adapter.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-contract-template-designer/src/ContractTemplateRendererField.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-contract-template-designer/src/ContractTemplateRendererPage.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-drawer/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-drawer/src/index.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-drawer/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-dynamic-tags/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-dynamic-tags/src/index.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-dynamic-tags/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-form-render/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-form-render/src/index.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-form-render/src/module/AioDatePicker.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-form-render/src/module/AioInput.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-form-render/src/module/AioInputNumber.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-form-render/src/module/AioKeyValue.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-form-render/src/module/AioSelect.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-form-render/src/module/AioSwitch.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-form-render/src/module/AioTextarea.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-form-render/src/module/AioTimePicker.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-form-render/src/module/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-form-render/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-form-render/src/utils.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-form-render/src/v-model-utils.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-loading/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-loading/src/pro-loading.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-loading/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-menu-tree/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-menu-tree/src/hooks.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-menu-tree/src/pro-menu-tree.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-menu-tree/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-modal/hooks/useProModal.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-modal/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-modal/src/Modal.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-modal/src/ProModal.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-modal/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-overlay/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-overlay/src/pro-overlay.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-picker/apis/pro-picker.api.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-picker/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-picker/src/ProPicker.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-picker/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-selector/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-selector/src/components/org-tree.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-selector/src/components/user.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-selector/src/hooks/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-selector/src/hooks/useUserSelector.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-selector/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-selector/src/util.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-selector/src/utils/orgTree.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-selector-group/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-selector-group/src/compoents/dept-tree.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-selector-group/src/compoents/dept.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-selector-group/src/compoents/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-selector-group/src/compoents/role.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-selector-group/src/compoents/select-box.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-selector-group/src/compoents/user.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-selector-group/src/index.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-selector-group/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-selector-group/src/utils/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-signature/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-signature/src/ProSignature.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-signature/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-table/hooks/use-pro-table.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-table/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-table/src/constants.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-table/src/field/field-date-range/field-date-range.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-table/src/field/field-input/field-input.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-table/src/field/field-radio/field-radio.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-table/src/field/field-select/field-select.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-table/src/field/field.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-table/src/form-render.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-table/src/hooks/use-form.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-table/src/hooks/use-table.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-table/src/pro-table.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-table/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-table/utils.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-tag/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-tag/src/ProTag.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-tag/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-tag-group/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-tag-group/src/ProTagGroup.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-tag-group/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-title/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-title/src/ProTitle.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-title/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-upload/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-upload/src/data.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-upload/src/file-list.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-upload/src/gd-upload.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-upload/src/hooks/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-upload/src/hooks/resType.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-upload/src/hooks/useHttp.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-upload/src/hooks/useUpload.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-upload/src/props.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-upload/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-upload/src/utils/emitter.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-upload/src/utils/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-user-avatar/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-user-avatar/src/index.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-user-avatar/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/pro-user-avatar/src/util.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/role-selector/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/role-selector/src/role.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/role-selector/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/scale-virtual-list/component/scale-virtual-list.vue.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/scale-virtual-list/component/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/scale-virtual-list/hooks/useVirtualList.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/scale-virtual-list/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/scroll-bar/index.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/scroll-bar/src/scroll-bar.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/scroll-bar/src/types.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/utils/install.d.ts +0 -0
- /package/dist/types/{antdv/src/components → components}/utils/tool.d.ts +0 -0
- /package/dist/types/{antdv/src/extract.d.ts → extract.d.ts} +0 -0
- /package/dist/types/{antdv/src/hooks → hooks}/index.d.ts +0 -0
- /package/dist/types/{antdv/src/hooks → hooks}/setup-theme.d.ts +0 -0
- /package/dist/types/{antdv/src/hooks → hooks}/use-namespace/index.d.ts +0 -0
- /package/dist/types/{antdv/src/hooks → hooks}/useModelValue.d.ts +0 -0
- /package/dist/types/{antdv/src/hooks → hooks}/useProForm.d.ts +0 -0
- /package/dist/types/{antdv/src/index.d.ts → index.d.ts} +0 -0
package/dist/types/{antdv/src/components → components}/pro-contract-template-designer/src/types.d.ts
RENAMED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { JSONContent } from '@tiptap/core';
|
|
2
|
-
|
|
2
|
+
import { ContractTemplateImageCompression, ContractTemplateImageSource, ContractTemplateImageUploadHandler } from './utils/content-image';
|
|
3
|
+
/** 正文变量只描述文档流内的填写项;签署位置使用独立的 signingPlacements。 */
|
|
4
|
+
export type ContractTemplateFieldType = 'text' | 'date' | 'number' | 'image' | 'checkbox';
|
|
5
|
+
export declare function isContractTemplateFieldType(value: unknown): value is ContractTemplateFieldType;
|
|
3
6
|
export type ContractTemplatePageFormat = 'A0' | 'A1' | 'A2' | 'A3' | 'A4' | 'A5' | 'Letter' | 'Legal' | 'Custom';
|
|
4
7
|
export interface ContractTemplatePageSize {
|
|
5
8
|
/** 页面格式;常用预设会自动带出宽高 */
|
|
@@ -52,10 +55,69 @@ export interface ContractTemplatePage {
|
|
|
52
55
|
contentHtml: string;
|
|
53
56
|
contentJson?: JSONContent;
|
|
54
57
|
}
|
|
58
|
+
/** 合同正文中的真实图片节点;它不属于 variables 或 signingPlacements。 */
|
|
59
|
+
export interface ContractTemplateContentImage {
|
|
60
|
+
src: string;
|
|
61
|
+
alt?: string;
|
|
62
|
+
title?: string;
|
|
63
|
+
width?: number;
|
|
64
|
+
height?: number;
|
|
65
|
+
}
|
|
66
|
+
/** 编辑器当前选中的正文图片;position 是当前页面 ProseMirror 文档位置。 */
|
|
67
|
+
export interface ContractTemplateSelectedContentImage extends ContractTemplateContentImage {
|
|
68
|
+
position: number;
|
|
69
|
+
}
|
|
70
|
+
/** 与正文变量并列的 PDF 页面签署位置;坐标以所属页面原始尺寸为基准。 */
|
|
71
|
+
export type ContractTemplateSigningPlacementType = 'seal' | 'signature' | 'date';
|
|
72
|
+
export interface ContractTemplateSigningPlacement {
|
|
73
|
+
id: string;
|
|
74
|
+
pageId: string;
|
|
75
|
+
type: ContractTemplateSigningPlacementType;
|
|
76
|
+
x: number;
|
|
77
|
+
y: number;
|
|
78
|
+
width: number;
|
|
79
|
+
height: number;
|
|
80
|
+
mustSign: boolean;
|
|
81
|
+
/** 仅印章位置允许输出印章类型;空数组等同于未选择。 */
|
|
82
|
+
sealTypes?: string[];
|
|
83
|
+
}
|
|
84
|
+
export interface ContractTemplateLocationRuleLocation {
|
|
85
|
+
signType: ContractTemplateSigningPlacementType;
|
|
86
|
+
signTop: number;
|
|
87
|
+
signLeft: number;
|
|
88
|
+
signWidth: number;
|
|
89
|
+
signHeight: number;
|
|
90
|
+
pageList: Record<string, number[]>;
|
|
91
|
+
sealType?: string[];
|
|
92
|
+
}
|
|
93
|
+
/** locationRules 的兼容 DTO;顶层元数据仅用于关联模板中的指定位置。 */
|
|
94
|
+
export interface ContractTemplateLocationRule {
|
|
95
|
+
mustSign: boolean;
|
|
96
|
+
placementId: string;
|
|
97
|
+
pageId: string;
|
|
98
|
+
pageIndex: number;
|
|
99
|
+
location: ContractTemplateLocationRuleLocation;
|
|
100
|
+
}
|
|
101
|
+
/** 可直接传给 packages/contract 的严格 locationRules DTO。 */
|
|
102
|
+
export interface ContractLocationRule {
|
|
103
|
+
mustSign: boolean;
|
|
104
|
+
location: ContractTemplateLocationRuleLocation;
|
|
105
|
+
}
|
|
106
|
+
export interface ContractTemplateLocationRulePageSize {
|
|
107
|
+
width: number;
|
|
108
|
+
height: number;
|
|
109
|
+
}
|
|
110
|
+
export type ContractTemplateLocationRuleTargetPageSizes = Record<string, ContractTemplateLocationRulePageSize> | ContractTemplateLocationRulePageSize[];
|
|
111
|
+
export interface ContractTemplateLocationRuleOptions {
|
|
112
|
+
fileId: string;
|
|
113
|
+
targetPageSizes?: ContractTemplateLocationRuleTargetPageSizes;
|
|
114
|
+
}
|
|
55
115
|
export interface ContractTemplateData {
|
|
56
116
|
pages: ContractTemplatePage[];
|
|
57
117
|
variables: ContractTemplateVariable[];
|
|
58
118
|
pageSize: ContractTemplatePageSize;
|
|
119
|
+
/** 旧模板可缺省;归一化后的模板始终带空数组。 */
|
|
120
|
+
signingPlacements?: ContractTemplateSigningPlacement[];
|
|
59
121
|
}
|
|
60
122
|
export interface ContractTemplateFieldTypeOption {
|
|
61
123
|
type: ContractTemplateFieldType;
|
|
@@ -99,16 +161,37 @@ export interface ContractTemplateEditorState {
|
|
|
99
161
|
fontSize?: number;
|
|
100
162
|
textColor?: string;
|
|
101
163
|
selectionText?: string;
|
|
164
|
+
/** 当前 NodeSelection 选中的正文图片;普通文本/表格选区时为空。 */
|
|
165
|
+
selectedContentImage?: ContractTemplateSelectedContentImage;
|
|
102
166
|
}
|
|
103
167
|
export interface ContractTemplateTableInsertOptions {
|
|
104
168
|
rows: number;
|
|
105
169
|
cols: number;
|
|
106
170
|
withHeaderRow: boolean;
|
|
107
171
|
}
|
|
172
|
+
export type ContractTemplateTableCommand = 'add-table-row-before' | 'add-table-row-after' | 'delete-table-row' | 'add-table-column-before' | 'add-table-column-after' | 'delete-table-column' | 'merge-table-cells' | 'split-table-cell' | 'toggle-table-header-row' | 'toggle-table-header-column' | 'delete-table';
|
|
173
|
+
export interface ContractTemplateTableCommandCapabilities {
|
|
174
|
+
addRowBefore: boolean;
|
|
175
|
+
addRowAfter: boolean;
|
|
176
|
+
deleteRow: boolean;
|
|
177
|
+
addColumnBefore: boolean;
|
|
178
|
+
addColumnAfter: boolean;
|
|
179
|
+
deleteColumn: boolean;
|
|
180
|
+
mergeCells: boolean;
|
|
181
|
+
splitCell: boolean;
|
|
182
|
+
alignLeft: boolean;
|
|
183
|
+
alignCenter: boolean;
|
|
184
|
+
alignRight: boolean;
|
|
185
|
+
toggleHeaderRow: boolean;
|
|
186
|
+
toggleHeaderColumn: boolean;
|
|
187
|
+
deleteTable: boolean;
|
|
188
|
+
}
|
|
108
189
|
export type ContractTemplateEditorCommand = {
|
|
109
190
|
type: 'undo';
|
|
110
191
|
} | {
|
|
111
192
|
type: 'redo';
|
|
193
|
+
} | {
|
|
194
|
+
type: 'select-all';
|
|
112
195
|
} | {
|
|
113
196
|
type: 'set-paragraph';
|
|
114
197
|
} | {
|
|
@@ -166,6 +249,15 @@ export type ContractTemplateEditorCommand = {
|
|
|
166
249
|
} | {
|
|
167
250
|
type: 'apply-text-style-preset';
|
|
168
251
|
preset: ContractTemplateTextStylePresetKey;
|
|
252
|
+
} | {
|
|
253
|
+
type: 'insert-horizontal-rule';
|
|
254
|
+
} | {
|
|
255
|
+
type: 'insert-content-image';
|
|
256
|
+
image: ContractTemplateContentImage;
|
|
257
|
+
position?: number | {
|
|
258
|
+
from: number;
|
|
259
|
+
to: number;
|
|
260
|
+
};
|
|
169
261
|
} | {
|
|
170
262
|
type: 'insert-table';
|
|
171
263
|
options: ContractTemplateTableInsertOptions;
|
|
@@ -181,6 +273,13 @@ export type ContractTemplateEditorCommand = {
|
|
|
181
273
|
type: 'add-table-column-after';
|
|
182
274
|
} | {
|
|
183
275
|
type: 'delete-table-column';
|
|
276
|
+
} | {
|
|
277
|
+
type: 'merge-table-cells';
|
|
278
|
+
} | {
|
|
279
|
+
type: 'split-table-cell';
|
|
280
|
+
} | {
|
|
281
|
+
type: 'set-table-cell-align';
|
|
282
|
+
value: ContractTemplateEditorTextAlign;
|
|
184
283
|
} | {
|
|
185
284
|
type: 'toggle-table-header-row';
|
|
186
285
|
} | {
|
|
@@ -191,7 +290,7 @@ export type ContractTemplateEditorCommand = {
|
|
|
191
290
|
type: 'delete-table';
|
|
192
291
|
};
|
|
193
292
|
export interface ContractTemplateValidationError {
|
|
194
|
-
type: 'field' | 'variable' | 'page' | 'security';
|
|
293
|
+
type: 'field' | 'variable' | 'page' | 'security' | 'signing-placement';
|
|
195
294
|
id: string;
|
|
196
295
|
message: string;
|
|
197
296
|
/** 服务端错误码,透传给宿主应用做精细化提示 */
|
|
@@ -219,21 +318,65 @@ export interface ContractTemplateRendererProps {
|
|
|
219
318
|
template?: ContractTemplateData;
|
|
220
319
|
/** 按变量 key 记录的填写值 */
|
|
221
320
|
values?: ContractTemplateRenderValues;
|
|
222
|
-
/**
|
|
321
|
+
/**
|
|
322
|
+
* 填写交互模式;panel 模式在右侧填写,inline 模式保留合同内控件
|
|
323
|
+
* @default 'panel'
|
|
324
|
+
*/
|
|
223
325
|
interactionMode?: ContractTemplateRendererMode;
|
|
224
|
-
/**
|
|
326
|
+
/**
|
|
327
|
+
* 只读模式下展示已填值,不允许继续编辑
|
|
328
|
+
* @default false
|
|
329
|
+
*/
|
|
225
330
|
readonly?: boolean;
|
|
226
|
-
/**
|
|
331
|
+
/**
|
|
332
|
+
* 禁用全部填写控件
|
|
333
|
+
* @default false
|
|
334
|
+
*/
|
|
227
335
|
disabled?: boolean;
|
|
228
|
-
/**
|
|
336
|
+
/**
|
|
337
|
+
* 顶部标题文案
|
|
338
|
+
* @default '合同填写'
|
|
339
|
+
*/
|
|
340
|
+
title?: string;
|
|
341
|
+
/**
|
|
342
|
+
* 是否在顶部 header 展示内置提交按钮
|
|
343
|
+
* @default true
|
|
344
|
+
*/
|
|
229
345
|
showSubmitButton?: boolean;
|
|
230
|
-
/**
|
|
346
|
+
/**
|
|
347
|
+
* 点击提交时是否校验填写值;模板结构与安全错误始终阻止提交
|
|
348
|
+
* @default true
|
|
349
|
+
*/
|
|
231
350
|
validateOnSubmit?: boolean;
|
|
232
|
-
/**
|
|
351
|
+
/**
|
|
352
|
+
* 是否在顶部 header 展示校验按钮
|
|
353
|
+
* @default true
|
|
354
|
+
*/
|
|
355
|
+
showValidateButton?: boolean;
|
|
356
|
+
/**
|
|
357
|
+
* 是否在顶部 header 展示重置默认值按钮
|
|
358
|
+
* @default true
|
|
359
|
+
*/
|
|
360
|
+
showResetButton?: boolean;
|
|
361
|
+
/**
|
|
362
|
+
* 是否展示 header 内的缩放与页面定位工具组;不影响 header 容器与提交按钮
|
|
363
|
+
* @default true
|
|
364
|
+
*/
|
|
233
365
|
showToolbar?: boolean;
|
|
234
|
-
/**
|
|
366
|
+
/**
|
|
367
|
+
* 是否展示每页的页码、标题与尺寸信息
|
|
368
|
+
* @default true
|
|
369
|
+
*/
|
|
235
370
|
showPageMeta?: boolean;
|
|
236
|
-
/**
|
|
371
|
+
/**
|
|
372
|
+
* 面板模式是否允许收起右侧填写面板
|
|
373
|
+
* @default true
|
|
374
|
+
*/
|
|
375
|
+
collapsiblePanel?: boolean;
|
|
376
|
+
/**
|
|
377
|
+
* 页面缩放比例,范围为 0.5 到 1.5
|
|
378
|
+
* @default 1
|
|
379
|
+
*/
|
|
237
380
|
zoom?: number;
|
|
238
381
|
}
|
|
239
382
|
export interface ContractTemplateRendererEmits {
|
|
@@ -291,33 +434,91 @@ export interface ContractTemplateDraftCacheStatus {
|
|
|
291
434
|
export interface ContractTemplateDesignerProps {
|
|
292
435
|
/** 合同模板数据,正文占位统一写入 variables */
|
|
293
436
|
modelValue?: ContractTemplateData;
|
|
294
|
-
/**
|
|
437
|
+
/**
|
|
438
|
+
* 只读模式,禁止编辑正文和字段
|
|
439
|
+
* @default false
|
|
440
|
+
*/
|
|
295
441
|
readonly?: boolean;
|
|
296
|
-
/**
|
|
442
|
+
/**
|
|
443
|
+
* 禁用整个设计器
|
|
444
|
+
* @default false
|
|
445
|
+
*/
|
|
297
446
|
disabled?: boolean;
|
|
298
|
-
/**
|
|
447
|
+
/**
|
|
448
|
+
* 模板默认页面尺寸,页面可通过 page.pageSize 单独覆盖
|
|
449
|
+
* @default A4 794×1123
|
|
450
|
+
*/
|
|
299
451
|
pageSize?: ContractTemplatePageSize;
|
|
300
|
-
/**
|
|
452
|
+
/**
|
|
453
|
+
* 合同允许的最大页数;手动新增、复制页面与自动分页共用此上限
|
|
454
|
+
* @default 50
|
|
455
|
+
*/
|
|
456
|
+
maxPages?: number;
|
|
457
|
+
/**
|
|
458
|
+
* 正文图片压缩配置;true 使用内置配置,false 保留原文件
|
|
459
|
+
* @default true
|
|
460
|
+
*/
|
|
461
|
+
imageCompression?: ContractTemplateImageCompression;
|
|
462
|
+
/**
|
|
463
|
+
* 自定义图片上传。未配置时,压缩后的图片以 Base64 data URL 写入正文
|
|
464
|
+
*/
|
|
465
|
+
imageUpload?: ContractTemplateImageUploadHandler;
|
|
466
|
+
/**
|
|
467
|
+
* 右侧可拖拽模板变量类型配置
|
|
468
|
+
* @default 内置 text/date/number/image/checkbox
|
|
469
|
+
*/
|
|
301
470
|
variableTypes?: ContractTemplateFieldTypeOption[];
|
|
302
|
-
/**
|
|
471
|
+
/**
|
|
472
|
+
* 新增模板变量的默认样式
|
|
473
|
+
* @default 内置默认样式
|
|
474
|
+
*/
|
|
303
475
|
defaultVariableStyle?: ContractTemplateFieldStyle;
|
|
304
476
|
/** 内置字体集之外追加或替换的字体选项 */
|
|
305
477
|
fontFamilies?: ContractTemplateFontFamilyOption[];
|
|
306
|
-
/**
|
|
478
|
+
/**
|
|
479
|
+
* 自定义字体选项与内置字体集的合并方式
|
|
480
|
+
* @default 'append'
|
|
481
|
+
*/
|
|
307
482
|
fontFamilyMode?: ContractTemplateFontFamilyMode;
|
|
308
|
-
/**
|
|
483
|
+
/**
|
|
484
|
+
* 是否展示内置提交数据查看入口;关闭后仍可通过 expose 方法打开
|
|
485
|
+
* @default true
|
|
486
|
+
*/
|
|
309
487
|
showSubmitDataViewer?: boolean;
|
|
310
|
-
/**
|
|
488
|
+
/**
|
|
489
|
+
* 是否展示内置清空模板按钮;关闭后仍可通过 expose 方法清空
|
|
490
|
+
* @default true
|
|
491
|
+
*/
|
|
311
492
|
showClearButton?: boolean;
|
|
312
|
-
/**
|
|
493
|
+
/**
|
|
494
|
+
* 是否展示印章、签名与签署日期新增工具;隐藏后已有位置仍可查看、编辑和导出
|
|
495
|
+
* @default false
|
|
496
|
+
*/
|
|
497
|
+
showSigningPlacementTools?: boolean;
|
|
498
|
+
/**
|
|
499
|
+
* 是否启用本地草稿缓存
|
|
500
|
+
* @default true
|
|
501
|
+
*/
|
|
313
502
|
enableDraftCache?: boolean;
|
|
314
|
-
/**
|
|
503
|
+
/**
|
|
504
|
+
* 本地草稿缓存键;多合同编辑时宿主应传入不同 key 隔离
|
|
505
|
+
* @default 'gd-antdv:pro-contract-template-designer:draft'
|
|
506
|
+
*/
|
|
315
507
|
draftCacheKey?: string;
|
|
316
|
-
/**
|
|
508
|
+
/**
|
|
509
|
+
* 自动保存草稿间隔,单位毫秒
|
|
510
|
+
* @default 5000
|
|
511
|
+
*/
|
|
317
512
|
draftCacheInterval?: number;
|
|
318
|
-
/**
|
|
513
|
+
/**
|
|
514
|
+
* 单份草稿缓存最大字节数
|
|
515
|
+
* @default 2097152
|
|
516
|
+
*/
|
|
319
517
|
draftCacheMaxBytes?: number;
|
|
320
|
-
/**
|
|
518
|
+
/**
|
|
519
|
+
* 是否展示顶部草稿缓存状态
|
|
520
|
+
* @default true
|
|
521
|
+
*/
|
|
321
522
|
showDraftCacheStatus?: boolean;
|
|
322
523
|
}
|
|
323
524
|
export interface ContractTemplateDesignerEmits {
|
|
@@ -331,6 +532,18 @@ export interface ContractTemplateDesignerEmits {
|
|
|
331
532
|
validate: [errors: ContractTemplateValidationError[]];
|
|
332
533
|
/** 本地草稿缓存状态变化 */
|
|
333
534
|
'draft-cache-change': [status: ContractTemplateDraftCacheStatus];
|
|
535
|
+
/** 新增/复制/自动分页触及页数上限 */
|
|
536
|
+
'page-limit': [maxPages: number, source: 'add' | 'duplicate' | 'auto-pagination'];
|
|
537
|
+
/** 本地图片读取、压缩或上传失败 */
|
|
538
|
+
'image-error': [error: Error, source: ContractTemplateImageSource];
|
|
539
|
+
/** 新增签署位置;位置数据始终独立于正文 HTML/JSON */
|
|
540
|
+
'signing-placement-add': [placement: ContractTemplateSigningPlacement];
|
|
541
|
+
/** 签署位置几何或属性变化 */
|
|
542
|
+
'signing-placement-change': [placement: ContractTemplateSigningPlacement];
|
|
543
|
+
/** 删除签署位置 */
|
|
544
|
+
'signing-placement-remove': [placement: ContractTemplateSigningPlacement];
|
|
545
|
+
/** 选中签署位置变化;取消选中时为 undefined */
|
|
546
|
+
'signing-placement-select': [placement: ContractTemplateSigningPlacement | undefined];
|
|
334
547
|
}
|
|
335
548
|
export interface ContractTemplateDesignerExpose {
|
|
336
549
|
/** 获取当前模板数据快照 */
|
|
@@ -355,6 +568,8 @@ export interface ContractTemplateDesignerExpose {
|
|
|
355
568
|
getDraftCacheStatus: () => ContractTemplateDraftCacheStatus;
|
|
356
569
|
/** 向当前页面插入正文变量节点 */
|
|
357
570
|
insertVariable: (variable: Partial<ContractTemplateVariable> & Pick<ContractTemplateVariable, 'key' | 'label'>) => ContractTemplateVariable | undefined;
|
|
571
|
+
/** 插入正文真实图片;File 会先压缩并按 imageUpload 配置决定 Base64 或 URL */
|
|
572
|
+
insertImage: (source: File | string, image?: Omit<ContractTemplateContentImage, 'src'>) => Promise<string | undefined>;
|
|
358
573
|
/** 聚焦当前页面编辑器 */
|
|
359
574
|
focus: () => void;
|
|
360
575
|
/** 打开当前模板的只读预览弹窗 */
|
|
@@ -371,6 +586,8 @@ export interface ContractTemplateDesignerExpose {
|
|
|
371
586
|
clearValidationErrors: () => void;
|
|
372
587
|
/** 滚动并高亮指定正文变量 */
|
|
373
588
|
scrollToVariable: (variableKey: string) => void;
|
|
589
|
+
/** 滚动并选中指定签署位置 */
|
|
590
|
+
scrollToSigningPlacement: (placementId: string) => void;
|
|
374
591
|
/** 滚动到指定页面 */
|
|
375
592
|
scrollToPage: (pageId: string) => void;
|
|
376
593
|
/** 设置设计区缩放比例,返回裁剪后的实际比例 */
|
|
@@ -379,4 +596,17 @@ export interface ContractTemplateDesignerExpose {
|
|
|
379
596
|
resetZoom: () => number;
|
|
380
597
|
/** 获取当前设计区缩放比例 */
|
|
381
598
|
getZoom: () => number;
|
|
599
|
+
/** 按当前画布宽度缩放页面,并回到自动适宽模式 */
|
|
600
|
+
fitWidth: () => number;
|
|
601
|
+
/** 在指定页面创建签署位置并返回归一化后的快照。 */
|
|
602
|
+
insertSigningPlacement: (type: ContractTemplateSigningPlacementType, pageId?: string, position?: {
|
|
603
|
+
x: number;
|
|
604
|
+
y: number;
|
|
605
|
+
}) => ContractTemplateSigningPlacement | undefined;
|
|
606
|
+
/** 选中签署位置;传入空值可清除选择。 */
|
|
607
|
+
selectSigningPlacement: (id?: string) => void;
|
|
608
|
+
/** 将当前模板签署位置转换为 contract locationRules 兼容结构。 */
|
|
609
|
+
buildLocationRules: (options: ContractTemplateLocationRuleOptions) => ContractTemplateLocationRule[];
|
|
610
|
+
/** 将当前模板签署位置投影为 packages/contract 使用的严格 DTO。 */
|
|
611
|
+
buildContractLocationRules: (options: ContractTemplateLocationRuleOptions) => ContractLocationRule[];
|
|
382
612
|
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export type ContractTemplateImageSource = 'toolbar' | 'paste';
|
|
2
|
+
export type ContractTemplateImageMimeType = 'image/jpeg' | 'image/webp' | 'image/png';
|
|
3
|
+
export interface ContractTemplateImageCompressionOptions {
|
|
4
|
+
enabled?: boolean;
|
|
5
|
+
maxWidth?: number;
|
|
6
|
+
maxHeight?: number;
|
|
7
|
+
quality?: number;
|
|
8
|
+
mimeType?: ContractTemplateImageMimeType;
|
|
9
|
+
}
|
|
10
|
+
/** `true` 使用默认压缩配置,`false` 关闭压缩。 */
|
|
11
|
+
export type ContractTemplateImageCompression = ContractTemplateImageCompressionOptions | boolean;
|
|
12
|
+
export interface NormalizedContractTemplateImageCompressionOptions {
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
maxWidth: number;
|
|
15
|
+
maxHeight: number;
|
|
16
|
+
quality: number;
|
|
17
|
+
mimeType: ContractTemplateImageMimeType;
|
|
18
|
+
}
|
|
19
|
+
export interface ContractTemplateImageUploadContext {
|
|
20
|
+
source: ContractTemplateImageSource;
|
|
21
|
+
originalFile: File;
|
|
22
|
+
processedFile: File;
|
|
23
|
+
dataUrl: string;
|
|
24
|
+
compressed: boolean;
|
|
25
|
+
}
|
|
26
|
+
export type ContractTemplateImageUploadHandler = (context: ContractTemplateImageUploadContext) => Promise<string> | string;
|
|
27
|
+
export interface ProcessContractTemplateImageOptions {
|
|
28
|
+
source: ContractTemplateImageSource;
|
|
29
|
+
compression?: ContractTemplateImageCompression;
|
|
30
|
+
upload?: ContractTemplateImageUploadHandler;
|
|
31
|
+
}
|
|
32
|
+
export interface ProcessContractTemplateImageResult {
|
|
33
|
+
src: string;
|
|
34
|
+
file: File;
|
|
35
|
+
dataUrl: string;
|
|
36
|
+
compressed: boolean;
|
|
37
|
+
}
|
|
38
|
+
export interface CompressContractImageResult {
|
|
39
|
+
file: File;
|
|
40
|
+
compressed: boolean;
|
|
41
|
+
}
|
|
42
|
+
export declare const DEFAULT_CONTRACT_IMAGE_COMPRESSION: Readonly<NormalizedContractTemplateImageCompressionOptions>;
|
|
43
|
+
/** 避免超大源文件在解码或 Base64 转换时耗尽浏览器内存。 */
|
|
44
|
+
export declare const MAX_CONTRACT_IMAGE_BYTES: number;
|
|
45
|
+
/** 正文图片尺寸边界;统一约束插入、右键设置、拖拽缩放和 HTML 解析。 */
|
|
46
|
+
export declare const MIN_CONTRACT_IMAGE_DIMENSION = 16;
|
|
47
|
+
export declare const MAX_CONTRACT_IMAGE_DIMENSION = 2400;
|
|
48
|
+
export type ContractImageResizeHandle = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
49
|
+
export interface ContractImageResizeInput {
|
|
50
|
+
width: number;
|
|
51
|
+
height: number;
|
|
52
|
+
startClientX: number;
|
|
53
|
+
startClientY: number;
|
|
54
|
+
clientX: number;
|
|
55
|
+
clientY: number;
|
|
56
|
+
handle: ContractImageResizeHandle;
|
|
57
|
+
zoom?: number;
|
|
58
|
+
}
|
|
59
|
+
export declare function normalizeContractImageCompression(options?: ContractTemplateImageCompression): NormalizedContractTemplateImageCompressionOptions;
|
|
60
|
+
/** 把用户输入或旧模板属性归一成可写入图片节点的整数尺寸。 */
|
|
61
|
+
export declare function normalizeContractImageDimension(value: unknown): number | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* 按页面缩放比例把四角指针位移换算成图片最终尺寸。
|
|
64
|
+
*
|
|
65
|
+
* 该计算保持宽高比,并把结果统一裁剪到图片尺寸边界;独立成纯函数后,
|
|
66
|
+
* NodeView 的视觉预览与测试可共用同一份几何规则。
|
|
67
|
+
*/
|
|
68
|
+
export declare function resolveContractImageResizeDimensions(input: ContractImageResizeInput): {
|
|
69
|
+
width: number;
|
|
70
|
+
height: number;
|
|
71
|
+
};
|
|
72
|
+
/** 读取前也校验文件,避免该公共方法绕过统一的图片输入边界。 */
|
|
73
|
+
export declare function readContractImageFileAsDataUrl(file: File): Promise<string>;
|
|
74
|
+
/**
|
|
75
|
+
* 在浏览器支持图片解码和 Canvas 时压缩图片;能力缺失、解码或编码失败均保留
|
|
76
|
+
* 原文件,避免一次兼容性问题造成合同正文图片丢失。
|
|
77
|
+
*/
|
|
78
|
+
export declare function compressContractImage(file: File, options?: ContractTemplateImageCompression): Promise<CompressContractImageResult>;
|
|
79
|
+
/** 按“压缩 -> data URL -> 宿主上传”的固定顺序生成可安全插入正文的图片。 */
|
|
80
|
+
export declare function processContractImageFile(file: File, options: ProcessContractTemplateImageOptions): Promise<ProcessContractTemplateImageResult>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 右键把选区转成正文控件时的纯函数。
|
|
3
|
+
*
|
|
4
|
+
* 宽度和 label 都在页面组件里算好上下文后再交给这里裁剪,避免父组件反向
|
|
5
|
+
* 调用 pageRef 去量选区。
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* 把选区实测宽度裁进变量允许区间。
|
|
9
|
+
*
|
|
10
|
+
* 跨行、折叠选区或量不到宽度时上游会传无效值,这里返回 undefined,
|
|
11
|
+
* 让 `createVariable` 继续使用类型默认宽,避免整行被 160px 或超宽控件撑乱。
|
|
12
|
+
*/
|
|
13
|
+
export declare function resolveContextVariableWidth(selectionWidth: number | undefined, min: number, max: number): number | undefined;
|
|
14
|
+
export type EditorContextMenuKind = 'table' | 'text';
|
|
15
|
+
/**
|
|
16
|
+
* 决定右键弹表格菜单还是正文菜单。
|
|
17
|
+
*
|
|
18
|
+
* 单元格内非空选区(含 Word NBSP 下划线)必须走正文转换;
|
|
19
|
+
* 若先 `selectTableCellAt` 会把 TextSelection 改成 CellSelection,毁掉填空位。
|
|
20
|
+
*
|
|
21
|
+
* 1. 已是 CellSelection → 表格(保留多格,不要折叠)
|
|
22
|
+
* 2. 非空选区 → 正文(即便落在 td/th 内)
|
|
23
|
+
* 3. 折叠光标在表格内 → 表格
|
|
24
|
+
* 4. 折叠光标在正文 → 正文
|
|
25
|
+
*/
|
|
26
|
+
export declare function resolveEditorContextMenuKind(input: {
|
|
27
|
+
isCellSelection: boolean;
|
|
28
|
+
selectionEmpty: boolean;
|
|
29
|
+
inTable: boolean;
|
|
30
|
+
}): EditorContextMenuKind;
|
|
31
|
+
/**
|
|
32
|
+
* 从选区前置文字推断控件名称。
|
|
33
|
+
*
|
|
34
|
+
* 例如 `第一条 甲方名称:____` 先去掉尾部下划线/冒号,再取最后一个片段
|
|
35
|
+
* `甲方名称`;不足 2 个字视为没有有效字段名,交给调用方回退类型默认名。
|
|
36
|
+
*/
|
|
37
|
+
export declare function inferContextVariableLabel(leadingText: string | undefined): string;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 合同模板 HTML 处理原语。
|
|
3
|
+
*
|
|
4
|
+
* 设计器预览、表达式导出和填写渲染器都要在「有 DOM」和「无 DOM」两种环境下
|
|
5
|
+
* 处理同一份正文 HTML:浏览器里走 DOMParser,服务端 / SSR / 单测(Node)里走
|
|
6
|
+
* 字符串与正则。这三条流水线以前各自复制了一份转义、属性读取和变量 span 替换
|
|
7
|
+
* 逻辑,本模块把这些原语收敛到一处,两种环境的分支语义保持不变。
|
|
8
|
+
*
|
|
9
|
+
* 该模块只服务组件内部,不通过 `index.ts` 对外导出。
|
|
10
|
+
*/
|
|
11
|
+
/** 当前运行环境是否可以使用 DOMParser 解析 HTML。 */
|
|
12
|
+
export declare function canParseHtmlDocument(): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* 是否可以使用浏览器 DOM 处理正文 HTML。
|
|
15
|
+
*
|
|
16
|
+
* 比 {@link canParseHtmlDocument} 更严格:额外要求 `window` 存在,用于那些
|
|
17
|
+
* 处理结果会回写进编辑器 / 预览 DOM 的流水线。净化函数本身不依赖 window,
|
|
18
|
+
* 因此单独使用 {@link canParseHtmlDocument}。
|
|
19
|
+
*/
|
|
20
|
+
export declare function canUseDomHtml(): boolean;
|
|
21
|
+
/** 把值转义成可以直接放进双引号属性里的文本。 */
|
|
22
|
+
export declare function escapeHtmlAttribute(value: string): string;
|
|
23
|
+
/** 把值转义成可以直接放进标签之间的文本节点。 */
|
|
24
|
+
export declare function escapeHtmlText(value: string): string;
|
|
25
|
+
/** 从标签字符串里读取属性值;属性缺失时返回空字符串。 */
|
|
26
|
+
export declare function getHtmlAttribute(tag: string, name: string): string;
|
|
27
|
+
/** 标签字符串里是否存在该属性;用于区分「未声明」和「声明为空」。 */
|
|
28
|
+
export declare function hasHtmlAttribute(tag: string, name: string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* 统一读取正文变量属性的取值器。
|
|
31
|
+
*
|
|
32
|
+
* DOM 与正则两条分支都归一成「缺省或空串返回 undefined」,下游再按需要转成
|
|
33
|
+
* 数字、布尔或带默认值的字符串,避免为每种数据源重复写一遍字段映射。
|
|
34
|
+
*/
|
|
35
|
+
export type TemplateVariableAttributeReader = (name: string) => string | undefined;
|
|
36
|
+
/** 从 DOM 元素读取 `data-*` 属性。 */
|
|
37
|
+
export declare function createElementAttributeReader(element: HTMLElement): TemplateVariableAttributeReader;
|
|
38
|
+
/** 从标签字符串读取 `data-*` 属性。 */
|
|
39
|
+
export declare function createTagAttributeReader(tag: string): TemplateVariableAttributeReader;
|
|
40
|
+
/** 把属性值转成数字;缺省或非法时返回 undefined。 */
|
|
41
|
+
export declare function readOptionalNumber(value: unknown): number | undefined;
|
|
42
|
+
/** 把属性值转成布尔;缺省时返回 undefined,便于与「显式 false」区分。 */
|
|
43
|
+
export declare function readOptionalBoolean(value: unknown): boolean | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* 把属性值转成数字并套用默认值。
|
|
46
|
+
*
|
|
47
|
+
* 沿用旧代码的 `Number(attr || fallback)` 语义:`undefined`、空串和 `0` 都会
|
|
48
|
+
* 落到默认值,避免历史模板里的空属性把宽高算成 0。
|
|
49
|
+
*/
|
|
50
|
+
export declare function readNumberAttribute(value: unknown, fallback: number): number;
|
|
51
|
+
/**
|
|
52
|
+
* 无 DOM 环境下逐个替换正文变量 span。
|
|
53
|
+
*
|
|
54
|
+
* `String.prototype.replace` 每次调用都会重置全局正则的 lastIndex,因此可以
|
|
55
|
+
* 安全复用同一个模块级正则。
|
|
56
|
+
*/
|
|
57
|
+
export declare function replaceTemplateVariableSpans(html: string, replacer: (node: string, attrs: string) => string): string;
|
|
58
|
+
/**
|
|
59
|
+
* 遍历 HTML 中所有匹配 `pattern` 的标签。
|
|
60
|
+
*
|
|
61
|
+
* 每次调用都新建正则实例,避免 exec 循环共享 lastIndex 导致跨调用漏匹配。
|
|
62
|
+
*/
|
|
63
|
+
export declare function forEachHtmlTag(html: string, pattern: RegExp, visit: (tag: string) => void): void;
|
|
64
|
+
/** 遍历 HTML 中所有匹配 `pattern` 的标签,把回调返回的非空字符串收集成集合。 */
|
|
65
|
+
export declare function collectFromHtmlTags(html: string, pattern: RegExp, pick: (tag: string) => string | undefined): Set<string>;
|
|
66
|
+
/** 页面尺寸的合法性判断:宽高必须是有限正数。 */
|
|
67
|
+
export declare function isPositiveFiniteNumber(value: unknown): boolean;
|
|
68
|
+
/** 判断任意对象是否具备可用的页面宽高。 */
|
|
69
|
+
export declare function hasPositivePageSize(value: unknown): value is {
|
|
70
|
+
width: number;
|
|
71
|
+
height: number;
|
|
72
|
+
};
|
|
73
|
+
/** 去掉首尾空白后返回文本;空文本统一归一为 undefined。 */
|
|
74
|
+
export declare function normalizeOptionalText(value: unknown): string | undefined;
|