@guodun/antdv 1.5.2 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (387) hide show
  1. package/dist/es/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.mjs +1 -1
  2. package/dist/es/components/contract-signing-location/src/template-source.mjs +16 -16
  3. package/dist/es/components/contract-signing-location/style/index.css +1 -1
  4. package/dist/es/components/dept-selector/index.mjs +1 -1
  5. package/dist/es/components/dept-selector/src/DeptSelector.mjs +5 -0
  6. package/dist/es/components/dept-selector/src/DeptSelector.vue.mjs +90 -0
  7. package/dist/es/components/dept-selector/src/style/index.mjs +1 -0
  8. package/dist/es/components/dept-selector/src/types.mjs +4 -0
  9. package/dist/es/components/index.mjs +5 -3
  10. package/dist/es/components/plus-upload/apis/plus-upload.api.mjs +19 -9
  11. package/dist/es/components/plus-upload/hook/usePlusUpload.mjs +9 -9
  12. package/dist/es/components/plus-upload/src/plus-upload.vue.mjs +1 -1
  13. package/dist/es/components/plus-upload/src/types.mjs +4 -0
  14. package/dist/es/components/pro-contract-template-designer/index.mjs +2 -2
  15. package/dist/es/components/pro-contract-template-designer/src/{ContractTemplatePreviewSigningLayer.mjs → ContractTemplateAuthoringBar.mjs} +2 -2
  16. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateAuthoringBar.vue.mjs +168 -0
  17. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateControlLibrary.mjs +5 -0
  18. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateControlLibrary.vue.mjs +120 -0
  19. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.mjs +382 -459
  20. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.mjs +278 -122
  21. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerToolbar.vue.mjs +463 -315
  22. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.mjs +76 -75
  23. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateFindReplace.mjs +5 -0
  24. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateFindReplace.vue.mjs +164 -0
  25. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsInspector.vue.mjs +380 -393
  26. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsPageMap.mjs +5 -0
  27. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsPageMap.vue.mjs +108 -0
  28. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsPresetPicker.mjs +5 -0
  29. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsPresetPicker.vue.mjs +73 -0
  30. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsStudio.vue.mjs +109 -53
  31. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePanelTabs.mjs +5 -0
  32. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePanelTabs.vue.mjs +52 -0
  33. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewModal.vue.mjs +10 -14
  34. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.mjs +49 -58
  35. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateTextContextMenu.vue.mjs +119 -196
  36. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateVariableAdvanced.mjs +5 -0
  37. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateVariableAdvanced.vue.mjs +115 -0
  38. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateVariableDataModal.vue.mjs +43 -43
  39. package/dist/es/components/pro-contract-template-designer/src/DesignerPage.vue.mjs +224 -257
  40. package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +1169 -1324
  41. package/dist/es/components/pro-contract-template-designer/src/{SigningPlacementInspector.mjs → SigningLayoutCustomModal.mjs} +2 -2
  42. package/dist/es/components/pro-contract-template-designer/src/SigningLayoutCustomModal.vue.mjs +110 -0
  43. package/dist/es/components/pro-contract-template-designer/src/SigningLayoutPresetPicker.mjs +5 -0
  44. package/dist/es/components/pro-contract-template-designer/src/SigningLayoutPresetPicker.vue.mjs +98 -0
  45. package/dist/es/components/pro-contract-template-designer/src/{SigningPlacementLayer.mjs → SigningLayoutPreview.mjs} +2 -2
  46. package/dist/es/components/pro-contract-template-designer/src/SigningLayoutPreview.vue.mjs +51 -0
  47. package/dist/es/components/pro-contract-template-designer/src/composables/use-designer-files.mjs +1 -2
  48. package/dist/es/components/pro-contract-template-designer/src/composables/use-draft-cache-session.mjs +2 -3
  49. package/dist/es/components/pro-contract-template-designer/src/composables/use-page-authoring.mjs +43 -0
  50. package/dist/es/components/pro-contract-template-designer/src/composables/use-template-authoring.mjs +99 -0
  51. package/dist/es/components/pro-contract-template-designer/src/composables/use-template-designer.mjs +128 -168
  52. package/dist/es/components/pro-contract-template-designer/src/composables/use-template-draft-cache.mjs +1 -1
  53. package/dist/es/components/pro-contract-template-designer/src/composables/use-template-files.mjs +7 -11
  54. package/dist/es/components/pro-contract-template-designer/src/composables/use-toolbar-overflow.mjs +30 -19
  55. package/dist/es/components/pro-contract-template-designer/src/constants.mjs +36 -25
  56. package/dist/es/components/pro-contract-template-designer/src/extensions/SigningMarkNodeView.mjs +7 -0
  57. package/dist/es/components/pro-contract-template-designer/src/extensions/SigningMarkNodeView.vue.mjs +192 -0
  58. package/dist/es/components/pro-contract-template-designer/src/extensions/SigningMarkNodeView.vue_vue_type_style_index_0_scoped_a2a8e01a_lang.css +1 -0
  59. package/dist/es/components/pro-contract-template-designer/src/extensions/authoring-search.mjs +43 -0
  60. package/dist/es/components/pro-contract-template-designer/src/extensions/editor-extensions.mjs +138 -91
  61. package/dist/es/components/pro-contract-template-designer/src/extensions/signing-mark.mjs +92 -0
  62. package/dist/es/components/pro-contract-template-designer/src/extensions/word-paste.mjs +62 -34
  63. package/dist/es/components/pro-contract-template-designer/src/utils/authoring-search.mjs +59 -0
  64. package/dist/es/components/pro-contract-template-designer/src/utils/authoring-shortcuts.mjs +14 -0
  65. package/dist/es/components/pro-contract-template-designer/src/utils/clause-snippets.mjs +56 -0
  66. package/dist/es/components/pro-contract-template-designer/src/utils/clipboard.mjs +24 -0
  67. package/dist/es/components/pro-contract-template-designer/src/utils/document-outline.mjs +45 -0
  68. package/dist/es/components/pro-contract-template-designer/src/utils/panel-search.mjs +7 -0
  69. package/dist/es/components/pro-contract-template-designer/src/utils/signing-layout-presets.mjs +235 -0
  70. package/dist/es/components/pro-contract-template-designer/src/utils/signing-mark.mjs +152 -0
  71. package/dist/es/components/pro-contract-template-designer/src/utils/template-tool-icons.mjs +22 -20
  72. package/dist/es/components/pro-contract-template-designer/src/utils/toolbar-overflow.mjs +5 -1
  73. package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
  74. package/dist/es/components/pro-dynamic-tags/src/index.vue.mjs +74 -48
  75. package/dist/es/components/pro-selector/index.mjs +6 -5
  76. package/dist/es/components/pro-selector/src/ProUserSelector.mjs +5 -0
  77. package/dist/es/components/pro-selector/src/ProUserSelector.vue.mjs +95 -0
  78. package/dist/es/components/pro-selector/src/ProUserSelectorDrilldown.mjs +5 -0
  79. package/dist/es/components/pro-selector/src/ProUserSelectorDrilldown.vue.mjs +20 -0
  80. package/dist/es/components/pro-selector/src/components/user.mjs +38 -52
  81. package/dist/es/components/pro-selector/src/types.mjs +9 -0
  82. package/dist/es/components/pro-selector/style/index.mjs +1 -0
  83. package/dist/es/components/pro-selector-group/index.mjs +1 -1
  84. package/dist/es/components/pro-selector-group/src/index.vue.mjs +71 -142
  85. package/dist/es/components/pro-selector-group/src/style/index.mjs +1 -0
  86. package/dist/es/components/pro-selector-group/src/utils/index.mjs +16 -28
  87. package/dist/es/components/role-selector/index.mjs +2 -2
  88. package/dist/es/components/role-selector/src/RoleSelector.mjs +5 -0
  89. package/dist/es/components/role-selector/src/RoleSelector.vue.mjs +90 -0
  90. package/dist/es/components/role-selector/src/style/index.mjs +1 -0
  91. package/dist/es/components/role-selector/src/types.mjs +4 -0
  92. package/dist/es/components/selector-core/components/DepartmentTree.mjs +5 -0
  93. package/dist/es/components/selector-core/components/DepartmentTree.vue.mjs +141 -0
  94. package/dist/es/components/selector-core/components/EntityRow.mjs +5 -0
  95. package/dist/es/components/selector-core/components/EntityRow.vue.mjs +84 -0
  96. package/dist/es/components/selector-core/components/HighlightText.mjs +5 -0
  97. package/dist/es/components/selector-core/components/HighlightText.vue.mjs +19 -0
  98. package/dist/es/components/selector-core/components/PanelFeedback.mjs +5 -0
  99. package/dist/es/components/selector-core/components/PanelFeedback.vue.mjs +61 -0
  100. package/dist/es/components/selector-core/components/PeoplePane.mjs +5 -0
  101. package/dist/es/components/selector-core/components/PeoplePane.vue.mjs +237 -0
  102. package/dist/es/components/selector-core/components/RolePane.mjs +5 -0
  103. package/dist/es/components/selector-core/components/RolePane.vue.mjs +87 -0
  104. package/dist/es/components/selector-core/components/SelectionSummary.mjs +5 -0
  105. package/dist/es/components/selector-core/components/SelectionSummary.vue.mjs +73 -0
  106. package/dist/es/components/selector-core/components/SelectorDialog.mjs +5 -0
  107. package/dist/es/components/selector-core/components/SelectorDialog.vue.mjs +351 -0
  108. package/dist/es/components/selector-core/model.mjs +114 -0
  109. package/dist/es/components/selector-core/useSelectorData.mjs +87 -0
  110. package/dist/es/index.mjs +82 -80
  111. package/dist/es/node_modules/@tiptap/pm/dist/history/index.mjs +1 -0
  112. package/dist/es/node_modules/orderedmap/dist/index.mjs +67 -0
  113. package/dist/es/node_modules/prosemirror-history/dist/index.mjs +226 -0
  114. package/dist/es/node_modules/prosemirror-model/dist/index.mjs +1128 -0
  115. package/dist/es/node_modules/prosemirror-state/dist/index.mjs +325 -0
  116. package/dist/es/node_modules/prosemirror-transform/dist/index.mjs +1055 -0
  117. package/dist/es/node_modules/rope-sequence/dist/index.mjs +83 -0
  118. package/dist/lib/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.cjs +1 -1
  119. package/dist/lib/components/contract-signing-location/src/template-source.cjs +1 -1
  120. package/dist/lib/components/contract-signing-location/style/index.css +1 -1
  121. package/dist/lib/components/dept-selector/index.cjs +1 -1
  122. package/dist/lib/components/dept-selector/src/DeptSelector.cjs +1 -0
  123. package/dist/lib/components/dept-selector/src/DeptSelector.vue.cjs +1 -0
  124. package/dist/lib/components/dept-selector/src/style/index.cjs +1 -1
  125. package/dist/lib/components/dept-selector/src/types.cjs +1 -1
  126. package/dist/lib/components/index.cjs +1 -1
  127. package/dist/lib/components/plus-upload/apis/plus-upload.api.cjs +1 -1
  128. package/dist/lib/components/plus-upload/hook/usePlusUpload.cjs +1 -1
  129. package/dist/lib/components/plus-upload/src/plus-upload.vue.cjs +1 -1
  130. package/dist/lib/components/plus-upload/src/types.cjs +1 -1
  131. package/dist/lib/components/pro-contract-template-designer/index.cjs +1 -1
  132. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateAuthoringBar.cjs +1 -0
  133. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateAuthoringBar.vue.cjs +1 -0
  134. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateControlLibrary.cjs +1 -0
  135. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateControlLibrary.vue.cjs +1 -0
  136. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.cjs +2 -2
  137. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.cjs +1 -1
  138. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerToolbar.vue.cjs +1 -1
  139. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.cjs +1 -1
  140. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateFindReplace.cjs +1 -0
  141. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateFindReplace.vue.cjs +1 -0
  142. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsInspector.vue.cjs +1 -1
  143. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsPageMap.cjs +1 -0
  144. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsPageMap.vue.cjs +1 -0
  145. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsPresetPicker.cjs +1 -0
  146. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsPresetPicker.vue.cjs +1 -0
  147. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsStudio.vue.cjs +1 -1
  148. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePanelTabs.cjs +1 -0
  149. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePanelTabs.vue.cjs +1 -0
  150. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewModal.vue.cjs +1 -1
  151. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.cjs +1 -1
  152. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateTextContextMenu.vue.cjs +1 -1
  153. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateVariableAdvanced.cjs +1 -0
  154. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateVariableAdvanced.vue.cjs +1 -0
  155. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateVariableDataModal.vue.cjs +1 -1
  156. package/dist/lib/components/pro-contract-template-designer/src/DesignerPage.vue.cjs +2 -2
  157. package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs +1 -1
  158. package/dist/lib/components/pro-contract-template-designer/src/SigningLayoutCustomModal.cjs +1 -0
  159. package/dist/lib/components/pro-contract-template-designer/src/SigningLayoutCustomModal.vue.cjs +1 -0
  160. package/dist/lib/components/pro-contract-template-designer/src/SigningLayoutPresetPicker.cjs +1 -0
  161. package/dist/lib/components/pro-contract-template-designer/src/SigningLayoutPresetPicker.vue.cjs +1 -0
  162. package/dist/lib/components/pro-contract-template-designer/src/SigningLayoutPreview.cjs +1 -0
  163. package/dist/lib/components/pro-contract-template-designer/src/SigningLayoutPreview.vue.cjs +1 -0
  164. package/dist/lib/components/pro-contract-template-designer/src/composables/use-designer-files.cjs +1 -1
  165. package/dist/lib/components/pro-contract-template-designer/src/composables/use-draft-cache-session.cjs +1 -1
  166. package/dist/lib/components/pro-contract-template-designer/src/composables/use-page-authoring.cjs +1 -0
  167. package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-authoring.cjs +1 -0
  168. package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-designer.cjs +4 -4
  169. package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-draft-cache.cjs +1 -1
  170. package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-files.cjs +1 -1
  171. package/dist/lib/components/pro-contract-template-designer/src/composables/use-toolbar-overflow.cjs +1 -1
  172. package/dist/lib/components/pro-contract-template-designer/src/constants.cjs +1 -1
  173. package/dist/lib/components/pro-contract-template-designer/src/extensions/SigningMarkNodeView.cjs +1 -0
  174. package/dist/lib/components/pro-contract-template-designer/src/extensions/SigningMarkNodeView.vue.cjs +1 -0
  175. package/dist/lib/components/pro-contract-template-designer/src/extensions/SigningMarkNodeView.vue_vue_type_style_index_0_scoped_a2a8e01a_lang.css +1 -0
  176. package/dist/lib/components/pro-contract-template-designer/src/extensions/authoring-search.cjs +1 -0
  177. package/dist/lib/components/pro-contract-template-designer/src/extensions/editor-extensions.cjs +1 -1
  178. package/dist/lib/components/pro-contract-template-designer/src/extensions/signing-mark.cjs +1 -0
  179. package/dist/lib/components/pro-contract-template-designer/src/extensions/word-paste.cjs +1 -1
  180. package/dist/lib/components/pro-contract-template-designer/src/utils/authoring-search.cjs +1 -0
  181. package/dist/lib/components/pro-contract-template-designer/src/utils/authoring-shortcuts.cjs +1 -0
  182. package/dist/lib/components/pro-contract-template-designer/src/utils/clause-snippets.cjs +1 -0
  183. package/dist/lib/components/pro-contract-template-designer/src/utils/clipboard.cjs +1 -0
  184. package/dist/lib/components/pro-contract-template-designer/src/utils/document-outline.cjs +1 -0
  185. package/dist/lib/components/pro-contract-template-designer/src/utils/panel-search.cjs +1 -0
  186. package/dist/lib/components/pro-contract-template-designer/src/utils/signing-layout-presets.cjs +1 -0
  187. package/dist/lib/components/pro-contract-template-designer/src/utils/signing-mark.cjs +1 -0
  188. package/dist/lib/components/pro-contract-template-designer/src/utils/template-tool-icons.cjs +1 -1
  189. package/dist/lib/components/pro-contract-template-designer/src/utils/toolbar-overflow.cjs +1 -1
  190. package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
  191. package/dist/lib/components/pro-dynamic-tags/src/index.vue.cjs +1 -1
  192. package/dist/lib/components/pro-selector/index.cjs +1 -1
  193. package/dist/lib/components/pro-selector/src/ProUserSelector.cjs +1 -0
  194. package/dist/lib/components/pro-selector/src/ProUserSelector.vue.cjs +1 -0
  195. package/dist/lib/components/pro-selector/src/ProUserSelectorDrilldown.cjs +1 -0
  196. package/dist/lib/components/pro-selector/src/ProUserSelectorDrilldown.vue.cjs +1 -0
  197. package/dist/lib/components/pro-selector/src/components/user.cjs +1 -1
  198. package/dist/lib/components/pro-selector/src/types.cjs +1 -1
  199. package/dist/lib/components/pro-selector/style/index.cjs +1 -1
  200. package/dist/lib/components/pro-selector-group/index.cjs +1 -1
  201. package/dist/lib/components/pro-selector-group/src/index.vue.cjs +1 -1
  202. package/dist/lib/components/pro-selector-group/src/style/index.cjs +1 -1
  203. package/dist/lib/components/pro-selector-group/src/utils/index.cjs +1 -1
  204. package/dist/lib/components/role-selector/index.cjs +1 -1
  205. package/dist/lib/components/role-selector/src/RoleSelector.cjs +1 -0
  206. package/dist/lib/components/role-selector/src/RoleSelector.vue.cjs +1 -0
  207. package/dist/lib/components/role-selector/src/style/index.cjs +1 -1
  208. package/dist/lib/components/role-selector/src/types.cjs +1 -1
  209. package/dist/lib/components/selector-core/components/DepartmentTree.cjs +1 -0
  210. package/dist/lib/components/selector-core/components/DepartmentTree.vue.cjs +1 -0
  211. package/dist/lib/components/selector-core/components/EntityRow.cjs +1 -0
  212. package/dist/lib/components/selector-core/components/EntityRow.vue.cjs +1 -0
  213. package/dist/lib/components/selector-core/components/HighlightText.cjs +1 -0
  214. package/dist/lib/components/selector-core/components/HighlightText.vue.cjs +1 -0
  215. package/dist/lib/components/selector-core/components/PanelFeedback.cjs +1 -0
  216. package/dist/lib/components/selector-core/components/PanelFeedback.vue.cjs +1 -0
  217. package/dist/lib/components/selector-core/components/PeoplePane.cjs +1 -0
  218. package/dist/lib/components/selector-core/components/PeoplePane.vue.cjs +1 -0
  219. package/dist/lib/components/selector-core/components/RolePane.cjs +1 -0
  220. package/dist/lib/components/selector-core/components/RolePane.vue.cjs +1 -0
  221. package/dist/lib/components/selector-core/components/SelectionSummary.cjs +1 -0
  222. package/dist/lib/components/selector-core/components/SelectionSummary.vue.cjs +1 -0
  223. package/dist/lib/components/selector-core/components/SelectorDialog.cjs +1 -0
  224. package/dist/lib/components/selector-core/components/SelectorDialog.vue.cjs +1 -0
  225. package/dist/lib/components/selector-core/model.cjs +1 -0
  226. package/dist/lib/components/selector-core/useSelectorData.cjs +1 -0
  227. package/dist/lib/index.cjs +1 -1
  228. package/dist/lib/node_modules/@tiptap/pm/dist/history/index.cjs +1 -0
  229. package/dist/lib/node_modules/orderedmap/dist/index.cjs +1 -0
  230. package/dist/lib/node_modules/prosemirror-history/dist/index.cjs +1 -0
  231. package/dist/lib/node_modules/prosemirror-model/dist/index.cjs +2 -0
  232. package/dist/lib/node_modules/prosemirror-state/dist/index.cjs +1 -0
  233. package/dist/lib/node_modules/prosemirror-transform/dist/index.cjs +2 -0
  234. package/dist/lib/node_modules/rope-sequence/dist/index.cjs +1 -0
  235. package/dist/theme/contract-signing-location.css +1 -1
  236. package/dist/theme/dept-selector.css +1 -1
  237. package/dist/theme/icon.css +1 -1
  238. package/dist/theme/index.css +1 -1
  239. package/dist/theme/pro-dynamic-tags.css +1 -1
  240. package/dist/theme/pro-modal.css +1 -1
  241. package/dist/theme/pro-selector-group.css +1 -1
  242. package/dist/theme/pro-selector.css +1 -1
  243. package/dist/theme/role-selector.css +1 -1
  244. package/dist/theme/selector-core.css +1 -0
  245. package/dist/types/components/contract-signing-location/src/ContractSigningLocation.vue.d.ts +3 -3
  246. package/dist/types/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.d.ts +2 -2
  247. package/dist/types/components/dept-selector/index.d.ts +156 -45
  248. package/dist/types/components/dept-selector/src/{dept.d.ts → DeptSelector.vue.d.ts} +38 -15
  249. package/dist/types/components/dept-selector/src/types.d.ts +10 -2
  250. package/dist/types/components/plus-upload/apis/plus-upload.api.d.ts +15 -0
  251. package/dist/types/components/plus-upload/hook/usePlusUpload.d.ts +1 -1
  252. package/dist/types/components/plus-upload/index.d.ts +21 -3
  253. package/dist/types/components/plus-upload/src/plus-upload.vue.d.ts +11 -1
  254. package/dist/types/components/plus-upload/src/types.d.ts +4 -0
  255. package/dist/types/components/pro-contract-template-designer/index.d.ts +2 -1
  256. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateAuthoringBar.vue.d.ts +106 -0
  257. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateControlLibrary.vue.d.ts +18 -0
  258. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.d.ts +5 -42
  259. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.d.ts +9 -11
  260. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerToolbar.vue.d.ts +44 -5
  261. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.d.ts +18 -1
  262. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateFindReplace.vue.d.ts +37 -0
  263. package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsPageMap.vue.d.ts +29 -0
  264. package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsPresetPicker.vue.d.ts +16 -0
  265. package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePanelTabs.vue.d.ts +15 -0
  266. package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePreviewModal.vue.d.ts +1 -4
  267. package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.d.ts +1 -2
  268. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateTextContextMenu.vue.d.ts +1 -29
  269. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateVariableAdvanced.vue.d.ts +14 -0
  270. package/dist/types/components/pro-contract-template-designer/src/DesignerPage.vue.d.ts +13 -29
  271. package/dist/types/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.d.ts +260 -121
  272. package/dist/types/components/pro-contract-template-designer/src/SigningLayoutCustomModal.vue.d.ts +15 -0
  273. package/dist/types/components/pro-contract-template-designer/src/SigningLayoutPresetPicker.vue.d.ts +19 -0
  274. package/dist/types/components/pro-contract-template-designer/src/{ContractTemplatePreviewSigningLayer.vue.d.ts → SigningLayoutPreview.vue.d.ts} +2 -3
  275. package/dist/types/components/pro-contract-template-designer/src/composables/use-designer-files.d.ts +1 -4
  276. package/dist/types/components/pro-contract-template-designer/src/composables/use-draft-cache-session.d.ts +1 -5
  277. package/dist/types/components/pro-contract-template-designer/src/composables/use-page-authoring.d.ts +13 -0
  278. package/dist/types/components/pro-contract-template-designer/src/composables/use-template-authoring.d.ts +44 -0
  279. package/dist/types/components/pro-contract-template-designer/src/composables/use-template-designer.d.ts +4 -20
  280. package/dist/types/components/pro-contract-template-designer/src/composables/use-template-draft-cache.d.ts +1 -1
  281. package/dist/types/components/pro-contract-template-designer/src/composables/use-template-files.d.ts +1 -2
  282. package/dist/types/components/pro-contract-template-designer/src/composables/use-toolbar-overflow.d.ts +1 -1
  283. package/dist/types/components/pro-contract-template-designer/src/constants.d.ts +20 -1
  284. package/dist/types/components/pro-contract-template-designer/src/extensions/SigningMarkNodeView.vue.d.ts +5 -0
  285. package/dist/types/components/pro-contract-template-designer/src/extensions/authoring-search.d.ts +12 -0
  286. package/dist/types/components/pro-contract-template-designer/src/extensions/editor-extensions.d.ts +2 -0
  287. package/dist/types/components/pro-contract-template-designer/src/extensions/signing-mark.d.ts +16 -0
  288. package/dist/types/components/pro-contract-template-designer/src/extensions/word-paste.d.ts +2 -0
  289. package/dist/types/components/pro-contract-template-designer/src/types.d.ts +64 -77
  290. package/dist/types/components/pro-contract-template-designer/src/utils/authoring-search.d.ts +23 -0
  291. package/dist/types/components/pro-contract-template-designer/src/utils/authoring-shortcuts.d.ts +3 -0
  292. package/dist/types/components/pro-contract-template-designer/src/utils/clause-snippets.d.ts +10 -0
  293. package/dist/types/components/pro-contract-template-designer/src/utils/clipboard.d.ts +7 -0
  294. package/dist/types/components/pro-contract-template-designer/src/utils/document-outline.d.ts +20 -0
  295. package/dist/types/components/pro-contract-template-designer/src/utils/panel-search.d.ts +2 -0
  296. package/dist/types/components/pro-contract-template-designer/src/utils/signing-layout-presets.d.ts +49 -0
  297. package/dist/types/components/pro-contract-template-designer/src/utils/signing-mark.d.ts +57 -0
  298. package/dist/types/components/pro-contract-template-designer/src/utils/template-tool-icons.d.ts +4 -4
  299. package/dist/types/components/pro-contract-template-designer/src/utils/toolbar-overflow.d.ts +2 -2
  300. package/dist/types/components/pro-dynamic-tags/src/index.vue.d.ts +1 -0
  301. package/dist/types/components/pro-dynamic-tags/src/types.d.ts +9 -0
  302. package/dist/types/components/pro-menu-tree/index.d.ts +2 -2
  303. package/dist/types/components/pro-menu-tree/src/pro-menu-tree.d.ts +2 -2
  304. package/dist/types/components/pro-selector/index.d.ts +851 -13
  305. package/dist/types/components/pro-selector/src/{pro-user.d.ts → ProUserSelector.vue.d.ts} +50 -12
  306. package/dist/types/components/pro-selector/src/ProUserSelectorDrilldown.vue.d.ts +447 -0
  307. package/dist/types/components/pro-selector/src/components/user.d.ts +2 -2
  308. package/dist/types/components/pro-selector/src/types.d.ts +16 -0
  309. package/dist/types/components/pro-selector-group/index.d.ts +63 -13
  310. package/dist/types/components/pro-selector-group/src/index.vue.d.ts +21 -4
  311. package/dist/types/components/pro-selector-group/src/types.d.ts +6 -0
  312. package/dist/types/components/pro-selector-group/src/utils/index.d.ts +4 -2
  313. package/dist/types/components/role-selector/index.d.ts +276 -86
  314. package/dist/types/components/role-selector/src/{role.d.ts → RoleSelector.vue.d.ts} +37 -13
  315. package/dist/types/components/role-selector/src/types.d.ts +10 -2
  316. package/dist/types/components/selector-core/components/DepartmentTree.vue.d.ts +22 -0
  317. package/dist/types/components/selector-core/components/EntityRow.vue.d.ts +21 -0
  318. package/dist/types/components/selector-core/components/HighlightText.vue.d.ts +6 -0
  319. package/dist/types/components/selector-core/components/PanelFeedback.vue.d.ts +28 -0
  320. package/dist/types/components/selector-core/components/PeoplePane.vue.d.ts +31 -0
  321. package/dist/types/components/selector-core/components/RolePane.vue.d.ts +19 -0
  322. package/dist/types/components/selector-core/components/SelectionSummary.vue.d.ts +14 -0
  323. package/dist/types/components/selector-core/components/SelectorDialog.vue.d.ts +48 -0
  324. package/dist/types/components/selector-core/model.d.ts +75 -0
  325. package/dist/types/components/selector-core/useSelectorData.d.ts +104 -0
  326. package/global.d.ts +4 -0
  327. package/package.json +5 -3
  328. package/dist/es/components/dept-selector/src/dept.mjs +0 -294
  329. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewSigningLayer.vue.mjs +0 -42
  330. package/dist/es/components/pro-contract-template-designer/src/SigningPlacementInspector.vue.mjs +0 -141
  331. package/dist/es/components/pro-contract-template-designer/src/SigningPlacementLayer.vue.mjs +0 -151
  332. package/dist/es/components/pro-contract-template-designer/src/composables/use-signing-placement-editor.mjs +0 -79
  333. package/dist/es/components/pro-contract-template-designer/src/utils/signing-placement.mjs +0 -293
  334. package/dist/es/components/pro-selector/src/components/org-tree.mjs +0 -223
  335. package/dist/es/components/pro-selector/src/pro-user.mjs +0 -167
  336. package/dist/es/components/pro-selector/src/utils/orgTree.mjs +0 -50
  337. package/dist/es/components/pro-selector-group/src/compoents/dept-tree.mjs +0 -5
  338. package/dist/es/components/pro-selector-group/src/compoents/dept-tree.vue.mjs +0 -127
  339. package/dist/es/components/pro-selector-group/src/compoents/dept.mjs +0 -5
  340. package/dist/es/components/pro-selector-group/src/compoents/dept.vue.mjs +0 -52
  341. package/dist/es/components/pro-selector-group/src/compoents/index.mjs +0 -3
  342. package/dist/es/components/pro-selector-group/src/compoents/role.mjs +0 -5
  343. package/dist/es/components/pro-selector-group/src/compoents/role.vue.mjs +0 -120
  344. package/dist/es/components/pro-selector-group/src/compoents/select-box.mjs +0 -5
  345. package/dist/es/components/pro-selector-group/src/compoents/select-box.vue.mjs +0 -59
  346. package/dist/es/components/pro-selector-group/src/compoents/user.mjs +0 -5
  347. package/dist/es/components/pro-selector-group/src/compoents/user.vue.mjs +0 -154
  348. package/dist/es/components/pro-selector-group/src/hooks/useApi.mjs +0 -76
  349. package/dist/es/components/role-selector/src/role.mjs +0 -217
  350. package/dist/lib/components/dept-selector/src/dept.cjs +0 -1
  351. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewSigningLayer.cjs +0 -1
  352. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewSigningLayer.vue.cjs +0 -1
  353. package/dist/lib/components/pro-contract-template-designer/src/SigningPlacementInspector.cjs +0 -1
  354. package/dist/lib/components/pro-contract-template-designer/src/SigningPlacementInspector.vue.cjs +0 -1
  355. package/dist/lib/components/pro-contract-template-designer/src/SigningPlacementLayer.cjs +0 -1
  356. package/dist/lib/components/pro-contract-template-designer/src/SigningPlacementLayer.vue.cjs +0 -1
  357. package/dist/lib/components/pro-contract-template-designer/src/composables/use-signing-placement-editor.cjs +0 -1
  358. package/dist/lib/components/pro-contract-template-designer/src/utils/signing-placement.cjs +0 -1
  359. package/dist/lib/components/pro-selector/src/components/org-tree.cjs +0 -1
  360. package/dist/lib/components/pro-selector/src/pro-user.cjs +0 -1
  361. package/dist/lib/components/pro-selector/src/utils/orgTree.cjs +0 -1
  362. package/dist/lib/components/pro-selector-group/src/compoents/dept-tree.cjs +0 -1
  363. package/dist/lib/components/pro-selector-group/src/compoents/dept-tree.vue.cjs +0 -1
  364. package/dist/lib/components/pro-selector-group/src/compoents/dept.cjs +0 -1
  365. package/dist/lib/components/pro-selector-group/src/compoents/dept.vue.cjs +0 -1
  366. package/dist/lib/components/pro-selector-group/src/compoents/index.cjs +0 -1
  367. package/dist/lib/components/pro-selector-group/src/compoents/role.cjs +0 -1
  368. package/dist/lib/components/pro-selector-group/src/compoents/role.vue.cjs +0 -1
  369. package/dist/lib/components/pro-selector-group/src/compoents/select-box.cjs +0 -1
  370. package/dist/lib/components/pro-selector-group/src/compoents/select-box.vue.cjs +0 -1
  371. package/dist/lib/components/pro-selector-group/src/compoents/user.cjs +0 -1
  372. package/dist/lib/components/pro-selector-group/src/compoents/user.vue.cjs +0 -1
  373. package/dist/lib/components/pro-selector-group/src/hooks/useApi.cjs +0 -1
  374. package/dist/lib/components/role-selector/src/role.cjs +0 -1
  375. package/dist/types/components/pro-contract-template-designer/src/SigningPlacementInspector.vue.d.ts +0 -17
  376. package/dist/types/components/pro-contract-template-designer/src/SigningPlacementLayer.vue.d.ts +0 -19
  377. package/dist/types/components/pro-contract-template-designer/src/composables/use-signing-placement-editor.d.ts +0 -49
  378. package/dist/types/components/pro-contract-template-designer/src/utils/signing-placement.d.ts +0 -105
  379. package/dist/types/components/pro-selector/src/components/org-tree.d.ts +0 -45
  380. package/dist/types/components/pro-selector/src/util.d.ts +0 -26
  381. package/dist/types/components/pro-selector-group/src/compoents/dept-tree.vue.d.ts +0 -12
  382. package/dist/types/components/pro-selector-group/src/compoents/dept.vue.d.ts +0 -11
  383. package/dist/types/components/pro-selector-group/src/compoents/index.d.ts +0 -3
  384. package/dist/types/components/pro-selector-group/src/compoents/role.vue.d.ts +0 -11
  385. package/dist/types/components/pro-selector-group/src/compoents/select-box.vue.d.ts +0 -15
  386. package/dist/types/components/pro-selector-group/src/compoents/user.vue.d.ts +0 -12
  387. package/dist/types/components/pro-selector-group/src/hooks/useApi.d.ts +0 -112
@@ -0,0 +1,19 @@
1
+ import { ContractTemplateSigningLayoutPreset } from './types';
2
+ type __VLS_Props = {
3
+ presets: ContractTemplateSigningLayoutPreset[];
4
+ disabled?: boolean;
5
+ };
6
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
+ select: (preset: ContractTemplateSigningLayoutPreset) => any;
8
+ close: () => any;
9
+ custom: () => any;
10
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ onSelect?: ((preset: ContractTemplateSigningLayoutPreset) => any) | undefined;
12
+ onClose?: (() => any) | undefined;
13
+ onCustom?: (() => any) | undefined;
14
+ }>, {
15
+ disabled: boolean;
16
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
17
+ listElement: HTMLDivElement;
18
+ }, HTMLDivElement>;
19
+ export default _default;
@@ -1,7 +1,6 @@
1
- import { ContractTemplatePageSize, ContractTemplateSigningPlacement } from './types';
1
+ import { ContractTemplateSigningLayoutPreviewModel } from './utils/signing-layout-presets';
2
2
  type __VLS_Props = {
3
- pageSize: ContractTemplatePageSize;
4
- placements: ContractTemplateSigningPlacement[];
3
+ model: ContractTemplateSigningLayoutPreviewModel;
5
4
  };
6
5
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
7
6
  export default _default;
@@ -5,18 +5,15 @@ export interface SetActiveFileIdOptions {
5
5
  shouldEmit?: boolean;
6
6
  /** 即使 fileId 没变也强制重装当前文件(外部 files 整体替换时用)。 */
7
7
  forceRefresh?: boolean;
8
- /** 切换前是否把当前文件的签署入参错误快照留下来。 */
9
- persistCurrentErrors?: boolean;
10
8
  }
11
9
  /**
12
10
  * 文件切换选项。
13
11
  *
14
12
  * 以前五个布尔参数排队,调用点几乎读不懂;收成具名 options 后默认值仍保持
15
- * 「同步当前文件、向外抛事件、保留错误」。
13
+ * 「同步当前文件、向外抛事件」。
16
14
  */
17
15
  export declare function resolveSetActiveFileIdOptions(options?: SetActiveFileIdOptions): {
18
16
  syncCurrent: boolean;
19
17
  shouldEmit: boolean;
20
18
  forceRefresh: boolean;
21
- persistCurrentErrors: boolean;
22
19
  };
@@ -1,5 +1,5 @@
1
1
  import { ComputedRef, Ref } from 'vue';
2
- import { ContractTemplateData, ContractTemplateDraftCacheStatus, ContractTemplateFile, ContractTemplatePageSize, ContractTemplateValidationError } from '../types';
2
+ import { ContractTemplateData, ContractTemplateDraftCacheStatus, ContractTemplateFile, ContractTemplatePageSize } from '../types';
3
3
  import { SetActiveFileIdOptions } from './use-designer-files';
4
4
  /**
5
5
  * 草稿缓存会话:定时写入、空白才恢复、卸载时停表。
@@ -22,10 +22,6 @@ export declare function useDraftCacheSession(options: {
22
22
  setActiveFileId: (fileId: string, opts?: SetActiveFileIdOptions) => void;
23
23
  emitFilesChange: (files: ContractTemplateFile[], changedFileId?: string) => void;
24
24
  commit: (value: ContractTemplateData) => ContractTemplateData;
25
- setSigningPlacementInputErrorsByFile: (value: Record<string, ContractTemplateValidationError[]>) => void;
26
- buildSigningPlacementInputErrorsByFile: (files: ContractTemplateFile[], rawFiles?: Array<{
27
- template?: ContractTemplateData;
28
- }>) => Record<string, ContractTemplateValidationError[]>;
29
25
  updateDraftCacheStatus: (status: ContractTemplateDraftCacheStatus, shouldEmit?: boolean) => void;
30
26
  scheduleAutoPaginate: (pageId?: string) => void;
31
27
  activePageId: Ref<string>;
@@ -0,0 +1,13 @@
1
+ import { Editor } from '@tiptap/core';
2
+ import { ContractTextMatch, ContractTextSearch } from '../utils/authoring-search';
3
+ /** 页面层持有编辑器位置与事务;父级只编排跨页结果,不读取或改写 DOM 正文。 */
4
+ export declare function usePageAuthoring(options: {
5
+ editor: () => Editor | undefined;
6
+ readonly: () => boolean;
7
+ search: () => ContractTextSearch;
8
+ }): {
9
+ findText: (query: string, matchCase: boolean) => ContractTextMatch[];
10
+ revealSearchMatch: (match: ContractTextMatch) => boolean;
11
+ replaceSearchMatches: (search: Pick<ContractTextSearch, "query" | "matchCase">, replacement: string, matches: readonly ContractTextMatch[]) => number;
12
+ focusHeading: (headingIndex: number) => boolean;
13
+ };
@@ -0,0 +1,44 @@
1
+ import { ContractTemplateClauseSnippetKey, ContractTemplateEditorCommand, ContractTemplatePage } from '../types';
2
+ import { ContractTextMatch, ContractTextSearch } from '../utils/authoring-search';
3
+ export type ContractAuthoringPanel = 'find' | 'replace' | 'snippets' | 'help';
4
+ export interface ContractAuthoringPage {
5
+ findText: (query: string, matchCase: boolean) => ContractTextMatch[];
6
+ revealSearchMatch: (match: ContractTextMatch) => boolean;
7
+ replaceSearchMatches: (search: Pick<ContractTextSearch, 'query' | 'matchCase'>, replacement: string, matches: readonly ContractTextMatch[]) => number;
8
+ }
9
+ interface PageTextMatch extends ContractTextMatch {
10
+ pageId: string;
11
+ pageIndex: number;
12
+ }
13
+ /** 实例级编写会话:仅跨页聚合与分发,正文写入仍经 DesignerPage 的 Tiptap 事务回流。 */
14
+ export declare function useTemplateAuthoring(options: {
15
+ pages: () => ContractTemplatePage[];
16
+ fileId: () => string;
17
+ readonly: () => boolean;
18
+ root: () => HTMLElement | undefined;
19
+ pageRefs: Map<string, ContractAuthoringPage>;
20
+ activatePage: (pageId: string, scroll: boolean) => void;
21
+ beforeOpen: () => void;
22
+ focusPanel: () => void;
23
+ focusTrigger: (panel: ContractAuthoringPanel) => void;
24
+ command: (command: ContractTemplateEditorCommand) => void;
25
+ }): {
26
+ panel: import('vue').ShallowRef<ContractAuthoringPanel | undefined, ContractAuthoringPanel | undefined>;
27
+ query: import('vue').ShallowRef<string, string>;
28
+ replacement: import('vue').ShallowRef<string, string>;
29
+ matchCase: import('vue').ShallowRef<boolean, boolean>;
30
+ matches: import('vue').ComputedRef<PageTextMatch[]>;
31
+ currentIndex: import('vue').ShallowRef<number, number>;
32
+ currentMatch: import('vue').ComputedRef<PageTextMatch>;
33
+ feedback: import('vue').ShallowRef<string, string>;
34
+ highlightQuery: import('vue').ComputedRef<string>;
35
+ searchOpen: import('vue').ComputedRef<boolean>;
36
+ open: (nextPanel: ContractAuthoringPanel) => Promise<void>;
37
+ close: (restoreFocus?: boolean) => void;
38
+ navigate: (direction: -1 | 1) => void;
39
+ replaceCurrent: () => Promise<void>;
40
+ replaceAll: () => Promise<void>;
41
+ insertSnippet: (snippet: ContractTemplateClauseSnippetKey) => void;
42
+ handleKeydown: (event: KeyboardEvent) => void;
43
+ };
44
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { JSONContent } from '@tiptap/core';
2
- import { ContractTemplateData, ContractTemplateExportResult, ContractTemplateFieldStyle, ContractTemplateFieldType, ContractTemplateFieldTypeOption, ContractTemplatePage, ContractTemplatePageFormat, ContractTemplatePageSize, ContractTemplateSigningPlacement, ContractTemplateValidationError, ContractTemplateVariable } from '../types';
2
+ import { ContractTemplateData, ContractTemplateExportResult, ContractTemplateFieldStyle, ContractTemplateFieldType, ContractTemplateFieldTypeOption, ContractTemplatePage, ContractTemplatePageFormat, ContractTemplatePageSize, ContractTemplateValidationError, ContractTemplateVariable } from '../types';
3
3
  /** 内置页面尺寸预设,宽高按 96 DPI 像素给出。 */
4
4
  export declare const PAGE_SIZE_OPTIONS: ContractTemplatePageSize[];
5
5
  /** 默认页面尺寸 A4;拷贝一份避免调用方改写预设数组。 */
@@ -53,18 +53,7 @@ export declare function getPageSizeKey(pageSize: ContractTemplatePageSize): stri
53
53
  export declare function normalizePageSizeOptions(options?: ContractTemplatePageSize[]): ContractTemplatePageSize[];
54
54
  /** 在已归一化的白名单中查找与页面尺寸完全一致的候选项。 */
55
55
  export declare function findPageSizeOption(pageSize: ContractTemplatePageSize, options: ContractTemplatePageSize[]): ContractTemplatePageSize | undefined;
56
- export interface ContractTemplatePageSizeConstraintResult {
57
- value: ContractTemplateData;
58
- /** 页面尺寸回退后发生缩放的签署位置 ID。 */
59
- resizedSigningPlacementIds: string[];
60
- }
61
- /**
62
- * 把模板默认尺寸和每页尺寸约束到宿主白名单。
63
- *
64
- * 不支持的尺寸回退到第一个候选;页面上的签署位置同步按宽高比例缩放。
65
- * 入参应先经过 `normalizeTemplateValue`,保证每页都有完整尺寸和签署位置结构。
66
- */
67
- export declare function constrainTemplatePageSizes(value: ContractTemplateData, options?: ContractTemplatePageSize[]): ContractTemplatePageSizeConstraintResult;
56
+ export declare function constrainTemplatePageSizes(value: ContractTemplateData, options?: ContractTemplatePageSize[]): ContractTemplateData;
68
57
  /** 新建带引导文案的页面,用于首次进入设计器。 */
69
58
  export declare function createDefaultPage(index?: number, pageSize?: ContractTemplatePageSize): ContractTemplatePage;
70
59
  /** 新建空白页面,用于清空模板、追加页面和自动分页。 */
@@ -101,17 +90,15 @@ export declare function buildTemplateExpressionHtml(value: ContractTemplateData)
101
90
  * 行内样式,让预览弹窗不依赖设计器画布的容器尺寸。
102
91
  */
103
92
  export declare function buildTemplatePreviewHtml(value: ContractTemplateData): string;
104
- /** 单页预览快照;签署位置保持独立数据,不能拼入正文 HTML。 */
93
+ /** 单页预览快照。 */
105
94
  export interface ContractTemplatePreviewPage {
106
95
  page: ContractTemplatePage;
107
96
  contentHtml: string;
108
- signingPlacements: ContractTemplateSigningPlacement[];
109
97
  }
110
98
  /**
111
99
  * 构建供 Vue 预览页消费的只读快照。
112
100
  *
113
- * 正文仍沿用既有净化和变量展示逻辑;签署位置按 pageId 单独分组,
114
- * 由受控覆盖层渲染,避免进入 contentHtml、导出 HTML 或 PDF DTO。
101
+ * 正文仍沿用既有净化和变量展示逻辑;签署标记已写入正文 HTML。
115
102
  */
116
103
  export declare function buildTemplatePreviewPages(value: ContractTemplateData): ContractTemplatePreviewPage[];
117
104
  /**
@@ -130,7 +117,6 @@ export declare function exportTemplateValue(value: ContractTemplateData): Contra
130
117
  *
131
118
  * 覆盖四类问题:变量缺少 key、key 重复、显式声明了不支持的类型,以及变量配置与
132
119
  * 正文节点两侧互相缺失(正文引用了未配置的 key,或配置了没有正文节点的变量)。
133
- * 签署位置的校验委托给 `validateSigningPlacements`。
134
120
  */
135
121
  export declare function validateTemplateValue(value: ContractTemplateData, options?: {
136
122
  maxPages?: number;
@@ -169,8 +155,6 @@ export interface ContractTemplateContentSplitResult {
169
155
  * 把它及之后的内容整体挪到下一页。返回 `undefined` 表示无需分页。
170
156
  */
171
157
  export declare function splitPageContentByMeasurements(content: JSONContent[] | undefined, measurements: ContractTemplateBlockMeasurement[], maxContentHeight: number): ContractTemplateContentSplitResult | undefined;
172
- /** 规则导出必须先通过完整模板校验,不能只检查签署位置自身。 */
173
- export declare function collectTemplateLocationRuleExportErrors(value: ContractTemplateData, inputErrors?: ContractTemplateValidationError[]): ContractTemplateValidationError[];
174
158
  /**
175
159
  * 常量的兼容转发。
176
160
  *
@@ -104,7 +104,7 @@ export declare function clearTemplateDraftCache(storage: ContractTemplateDraftCa
104
104
  *
105
105
  * 空模板也会被序列化成一份完整结构(一页空段落),如果不识别出来,
106
106
  * 用户一打开设计器就会看到「已恢复本地草稿」的提示,属于噪音。
107
- * 判定条件:无变量、只有一页、无签署位置,且这一页正文 HTML 与 JSON 都是空的。
107
+ * 判定条件:无变量、只有一页,且这一页正文 HTML 与 JSON 都是空的。
108
108
  */
109
109
  export declare function isBlankTemplateDraftValue(value: ContractTemplateData | undefined): boolean;
110
110
  /** 仅当当前每份文件都为空时才自动恢复多文件草稿,避免覆盖宿主已有正文。 */
@@ -14,7 +14,7 @@ export declare function normalizeContractTemplateFiles(input: ContractTemplateFi
14
14
  /**
15
15
  * 对每份文件独立套用页面尺寸白名单。
16
16
  *
17
- * 导入超页数上限时不在这里截断;被回退的签署位置 id 按文件分组,便于宿主同步坐标。
17
+ * 导入超页数上限时不在这里截断;页面尺寸只影响页面自身,不改变正文内容。
18
18
  */
19
19
  export declare function constrainContractTemplateFiles(files: ContractTemplateFile[], pageSizeOptions: ContractTemplatePageSize[] | undefined): {
20
20
  files: {
@@ -22,7 +22,6 @@ export declare function constrainContractTemplateFiles(files: ContractTemplateFi
22
22
  id: string;
23
23
  name: string;
24
24
  }[];
25
- resizedSigningPlacementIds: Map<string, string[]>;
26
25
  };
27
26
  /** 当前 id 不可用时稳定回退第一份文件,空数组返回空字符串。 */
28
27
  export declare function resolveContractTemplateActiveFileId(files: ContractTemplateFile[], activeFileId?: string): string;
@@ -12,7 +12,7 @@ export declare function useToolbarOverflow(options: {
12
12
  measureDependencies: () => unknown;
13
13
  isDisposed: () => boolean;
14
14
  }): {
15
- toolbarOverflowKeys: Ref<("table" | "insert" | "cleanup" | "typography")[], ("table" | "insert" | "cleanup" | "typography")[]>;
15
+ toolbarOverflowKeys: Ref<("table" | "list" | "font-family" | "insert" | "cleanup" | "alignment" | "font-appearance" | "signing")[], ("table" | "list" | "font-family" | "insert" | "cleanup" | "alignment" | "font-appearance" | "signing")[]>;
16
16
  toolbarHasOverflow: import('vue').ComputedRef<boolean>;
17
17
  isToolbarGroupOverflowed: (key: ContractTemplateToolbarOverflowKey) => boolean;
18
18
  measureToolbarOverflow: (settlePass?: number) => void;
@@ -1,4 +1,4 @@
1
- import { ContractTemplateEditorCommand, ContractTemplateEditorTextAlign, ContractTemplateBlockStyle, ContractTemplateFontFamilyMode, ContractTemplateFontFamilyOption, ContractTemplateTextStylePreset, ContractTemplateTextStylePresetKey } from './types';
1
+ import { ContractTemplateEditorCommand, ContractTemplateEditorTextAlign, ContractTemplateBlockStyle, ContractTemplateFontFamilyMode, ContractTemplateFontFamilyOption, ContractTemplateSigningMarkType, ContractTemplateTextStylePreset, ContractTemplateTextStylePresetKey } from './types';
2
2
  /**
3
3
  * 合同正文默认字体。
4
4
  *
@@ -99,6 +99,9 @@ export declare function resolveContractTextStylePresetCommands(key: ContractTemp
99
99
  preset: ContractTemplateTextStylePresetKey;
100
100
  } | {
101
101
  type: "insert-horizontal-rule";
102
+ } | {
103
+ type: "insert-clause-snippet";
104
+ snippet: import('./types').ContractTemplateClauseSnippetKey;
102
105
  } | {
103
106
  type: "insert-content-image";
104
107
  image: import('./types').ContractTemplateContentImage;
@@ -106,6 +109,17 @@ export declare function resolveContractTextStylePresetCommands(key: ContractTemp
106
109
  from: number;
107
110
  to: number;
108
111
  };
112
+ } | {
113
+ type: "insert-signing-mark";
114
+ mark: import('./types').ContractTemplateSigningMark;
115
+ position?: number | {
116
+ from: number;
117
+ to: number;
118
+ };
119
+ } | {
120
+ type: "insert-signing-layout";
121
+ preset?: import('./types').ContractTemplateSigningLayoutPresetKey;
122
+ options?: import('./types').ContractTemplateSigningLayoutOptions;
109
123
  } | {
110
124
  type: "insert-table";
111
125
  options: import('./types').ContractTemplateTableInsertOptions;
@@ -151,3 +165,8 @@ export declare function normalizeFontFamilyValue(value: string | undefined): str
151
165
  * 用 Map 按归一化后的值去重,后写入的覆盖先写入的,所以宿主可以借同名项改标签。
152
166
  */
153
167
  export declare function resolveFontFamilyOptions(customOptions: ContractTemplateFontFamilyOption[] | undefined, mode?: ContractTemplateFontFamilyMode): ContractTemplateFontFamilyOption[];
168
+ /** 工具栏签署标记入口的五种正文流标记工具项。 */
169
+ export declare const SIGNING_MARK_TOOL_ITEMS: Array<{
170
+ markType: ContractTemplateSigningMarkType;
171
+ label: string;
172
+ }>;
@@ -0,0 +1,5 @@
1
+ import { NodeViewProps } from '@tiptap/core';
2
+ declare const _default: import('vue').DefineComponent<NodeViewProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<NodeViewProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
3
+ markElement: HTMLSpanElement;
4
+ }, any>;
5
+ export default _default;
@@ -0,0 +1,12 @@
1
+ import { Editor } from '@tiptap/core';
2
+ import { Plugin, PluginKey } from '@tiptap/pm/state';
3
+ import { DecorationSet } from '@tiptap/pm/view';
4
+ import { ContractTextSearch } from '../utils/authoring-search';
5
+ interface SearchState extends ContractTextSearch {
6
+ decorations: DecorationSet;
7
+ }
8
+ export declare const contractTextSearchKey: PluginKey<SearchState>;
9
+ /** 高亮只在编辑视图中作为 Decoration 存在,不污染 contentHtml / JSON / 导出。 */
10
+ export declare function createContractTextSearchPlugin(): Plugin<SearchState>;
11
+ export declare function updateContractTextSearch(editor: Editor, search: ContractTextSearch): void;
12
+ export {};
@@ -2,6 +2,8 @@ import { AnyExtension, Editor } from '@tiptap/core';
2
2
  import { ContractTemplateEditorCommand } from '../types';
3
3
  export interface ContractTemplateEditorExtensionOptions {
4
4
  processImageFile?: (file: File) => Promise<string | null>;
5
+ /** 外部 HTML 含不一致字体时的确认回调;返回 false 将取消本次粘贴。 */
6
+ confirmExternalFontPaste?: (families: string[]) => boolean | Promise<boolean>;
5
7
  getZoom?: () => number;
6
8
  }
7
9
  /** 组装合同正文编辑器的扩展列表;顺序影响 Tiptap 的解析优先级,勿随意调整。 */
@@ -0,0 +1,16 @@
1
+ import { Node } from '@tiptap/core';
2
+ import { ContractTemplateSigningMarkType } from '../types';
3
+ export interface SigningMarkExtensionOptions {
4
+ /** 页面 CSS transform 缩放比例;指针位移换算回页面像素时使用。 */
5
+ getZoom?: () => number;
6
+ }
7
+ /** 正文流内的签署标记:纯视觉占位,不参与变量绑定或外部坐标规则。 */
8
+ export declare const SigningMark: Node<SigningMarkExtensionOptions, any>;
9
+ export declare function insertSigningMarkNode(editor: {
10
+ chain: () => any;
11
+ }, markType: ContractTemplateSigningMarkType, position?: number, overrides?: Partial<{
12
+ width: number;
13
+ height: number;
14
+ label: string;
15
+ sealType?: string;
16
+ }>): any;
@@ -15,6 +15,7 @@ interface PendingPastePayload {
15
15
  source: ClipboardHtmlSource;
16
16
  recoveredRtfImages: number;
17
17
  trustedInternal: boolean;
18
+ replacedFontFamilies: string[];
18
19
  }
19
20
  interface WordPasteStorage {
20
21
  pending?: PendingPastePayload;
@@ -22,6 +23,7 @@ interface WordPasteStorage {
22
23
  }
23
24
  interface WordPasteOptions {
24
25
  processImageFile?: (file: File) => Promise<string | null>;
26
+ confirmExternalFontPaste?: (families: string[]) => boolean | Promise<boolean>;
25
27
  }
26
28
  /**
27
29
  * Office 粘贴扩展优先恢复/清洗 HTML,但保留 ProseMirror 默认事务与 table paste。
@@ -1,7 +1,7 @@
1
1
  import { JSONContent } from '@tiptap/core';
2
2
  import { Component } from 'vue';
3
3
  import { ContractTemplateImageCompression, ContractTemplateImageSource, ContractTemplateImageUploadHandler } from './utils/content-image';
4
- /** 正文变量只描述文档流内的填写项;签署位置使用独立的 signingPlacements。 */
4
+ /** 正文变量只描述文档流内的填写项;签署标记写入正文流,由 CSL 负责坐标规则。 */
5
5
  export type ContractTemplateBasicFieldType = 'text' | 'date' | 'number' | 'image' | 'checkbox';
6
6
  export type ContractTemplateAdvancedChoiceFieldType = 'select' | 'radio';
7
7
  export type ContractTemplateBuiltinSelectorFieldType = 'user-selector' | 'dept-selector' | 'role-selector' | 'org-selector';
@@ -189,7 +189,7 @@ export interface ContractTemplatePage {
189
189
  contentHtml: string;
190
190
  contentJson?: JSONContent;
191
191
  }
192
- /** 合同正文中的真实图片节点;它不属于 variables 或 signingPlacements。 */
192
+ /** 合同正文中的真实图片节点;它不属于 variables 或签署标记。 */
193
193
  export interface ContractTemplateContentImage {
194
194
  src: string;
195
195
  alt?: string;
@@ -201,57 +201,50 @@ export interface ContractTemplateContentImage {
201
201
  export interface ContractTemplateSelectedContentImage extends ContractTemplateContentImage {
202
202
  position: number;
203
203
  }
204
- /** 与正文变量并列的 PDF 页面签署位置;坐标以所属页面原始尺寸为基准。 */
205
- export type ContractTemplateSigningPlacementType = 'seal' | 'signature' | 'date';
206
- export interface ContractTemplateSigningPlacement {
207
- id: string;
208
- pageId: string;
209
- type: ContractTemplateSigningPlacementType;
210
- x: number;
211
- y: number;
212
- width: number;
213
- height: number;
214
- mustSign: boolean;
215
- /** 仅印章位置允许输出印章类型;空数组等同于未选择。 */
216
- sealTypes?: string[];
217
- }
218
- export interface ContractTemplateLocationRuleLocation {
219
- signType: ContractTemplateSigningPlacementType;
220
- signTop: number;
221
- signLeft: number;
222
- signWidth: number;
223
- signHeight: number;
224
- pageList: Record<string, number[]>;
225
- sealType?: string[];
226
- }
227
- /** locationRules 的兼容 DTO;顶层元数据仅用于关联模板中的指定位置。 */
228
- export interface ContractTemplateLocationRule {
229
- mustSign: boolean;
230
- placementId: string;
231
- pageId: string;
232
- pageIndex: number;
233
- location: ContractTemplateLocationRuleLocation;
234
- }
235
- /** 可直接传给 packages/contract 的严格 locationRules DTO。 */
236
- export interface ContractLocationRule {
237
- mustSign: boolean;
238
- location: ContractTemplateLocationRuleLocation;
239
- }
240
- export interface ContractTemplateLocationRulePageSize {
241
- width: number;
242
- height: number;
243
- }
244
- export type ContractTemplateLocationRuleTargetPageSizes = Record<string, ContractTemplateLocationRulePageSize> | ContractTemplateLocationRulePageSize[];
245
- export interface ContractTemplateLocationRuleOptions {
246
- fileId: string;
247
- targetPageSizes?: ContractTemplateLocationRuleTargetPageSizes;
204
+ /** 正文流内的签署标记类型;纯视觉占位,不参与变量绑定。 */
205
+ export type ContractTemplateSigningMarkType = 'seal' | 'signature' | 'date' | 'area' | 'line';
206
+ export interface ContractTemplateSigningMark {
207
+ markType: ContractTemplateSigningMarkType;
208
+ width?: number;
209
+ height?: number;
210
+ label?: string;
211
+ sealType?: string;
212
+ }
213
+ /** 签署版式的排列方式;决定参数化 builder 生成的表格结构。 */
214
+ export type ContractTemplateSigningLayoutArrangement = 'side-by-side' | 'stacked' | 'table-cell' | 'final-page';
215
+ /** 签署版式包含项;均为正文流内的视觉占位,不产生绝对坐标规则。 */
216
+ export interface ContractTemplateSigningLayoutFields {
217
+ /** 盖章框(seal 签署标记)。 */
218
+ seal: boolean;
219
+ /** 授权代表签字线(line 签署标记)。 */
220
+ signature: boolean;
221
+ /** 签署日期行。 */
222
+ date: boolean;
223
+ /** 职务行。 */
224
+ title: boolean;
225
+ }
226
+ /** 参数化签署版式入参;内置预设与自定义面板共用同一套 builder。 */
227
+ export interface ContractTemplateSigningLayoutOptions {
228
+ /** 签署方数量,允许 1~6。 */
229
+ partyCount: number;
230
+ arrangement: ContractTemplateSigningLayoutArrangement;
231
+ fields: ContractTemplateSigningLayoutFields;
232
+ /** 缺省按天干生成「甲方 / 乙方 / 丙方…」。 */
233
+ partyNames?: string[];
234
+ }
235
+ /** 内置签署版式预设 key;同时写入表格的 data-signing-layout 属性。 */
236
+ export type ContractTemplateSigningLayoutPresetKey = 'dual-party' | 'party-list' | 'table-cell' | 'final-page';
237
+ /** 签署版式预设定义;宿主可通过 signingLayoutPresets 追加自定义项。 */
238
+ export interface ContractTemplateSigningLayoutPreset {
239
+ key: string;
240
+ label: string;
241
+ description: string;
242
+ options: ContractTemplateSigningLayoutOptions;
248
243
  }
249
244
  export interface ContractTemplateData {
250
245
  pages: ContractTemplatePage[];
251
246
  variables: ContractTemplateVariable[];
252
247
  pageSize: ContractTemplatePageSize;
253
- /** 旧模板可缺省;归一化后的模板始终带空数组。 */
254
- signingPlacements?: ContractTemplateSigningPlacement[];
255
248
  /** 旧模板可缺省;配置后由设计器预览、填写渲染器和 PDF 服务共同消费。 */
256
249
  pageDecorations?: ContractTemplatePageDecorations;
257
250
  }
@@ -262,7 +255,7 @@ export interface ContractTemplateVariableData {
262
255
  /** 当前文件完整变量定义,顺序与模板保持一致。 */
263
256
  variables: ContractTemplateVariable[];
264
257
  }
265
- /** 多文件设计器中的一份独立合同文件;正文、变量和签署位置均在文件内隔离。 */
258
+ /** 多文件设计器中的一份独立合同文件;正文、变量和页面配置均在文件内隔离。 */
266
259
  export interface ContractTemplateFile {
267
260
  id: string;
268
261
  name: string;
@@ -346,6 +339,7 @@ export interface ContractTemplateTableCommandCapabilities {
346
339
  toggleHeaderColumn: boolean;
347
340
  deleteTable: boolean;
348
341
  }
342
+ export type ContractTemplateClauseSnippetKey = 'scope' | 'payment' | 'delivery';
349
343
  export type ContractTemplateEditorCommand = {
350
344
  type: 'undo';
351
345
  } | {
@@ -414,6 +408,9 @@ export type ContractTemplateEditorCommand = {
414
408
  preset: ContractTemplateTextStylePresetKey;
415
409
  } | {
416
410
  type: 'insert-horizontal-rule';
411
+ } | {
412
+ type: 'insert-clause-snippet';
413
+ snippet: ContractTemplateClauseSnippetKey;
417
414
  } | {
418
415
  type: 'insert-content-image';
419
416
  image: ContractTemplateContentImage;
@@ -421,6 +418,17 @@ export type ContractTemplateEditorCommand = {
421
418
  from: number;
422
419
  to: number;
423
420
  };
421
+ } | {
422
+ type: 'insert-signing-mark';
423
+ mark: ContractTemplateSigningMark;
424
+ position?: number | {
425
+ from: number;
426
+ to: number;
427
+ };
428
+ } | {
429
+ type: 'insert-signing-layout';
430
+ preset?: ContractTemplateSigningLayoutPresetKey;
431
+ options?: ContractTemplateSigningLayoutOptions;
424
432
  } | {
425
433
  type: 'insert-table';
426
434
  options: ContractTemplateTableInsertOptions;
@@ -453,7 +461,7 @@ export type ContractTemplateEditorCommand = {
453
461
  type: 'delete-table';
454
462
  };
455
463
  export interface ContractTemplateValidationError {
456
- type: 'field' | 'variable' | 'page' | 'security' | 'signing-placement';
464
+ type: 'field' | 'variable' | 'page' | 'security';
457
465
  id: string;
458
466
  message: string;
459
467
  /** 多文件校验时标识错误所属文件;旧单文件模式缺省。 */
@@ -639,7 +647,7 @@ export interface ContractTemplateDesignerProps {
639
647
  modelValue?: ContractTemplateData;
640
648
  /**
641
649
  * 多文件受控数据;传入后优先于 modelValue,并通过 update:files 同步。
642
- * 每个文件独立保存页面、变量、签署位置和草稿正文。
650
+ * 每个文件独立保存页面、变量和草稿正文。
643
651
  */
644
652
  files?: ContractTemplateFile[];
645
653
  /** 多文件模式当前文件 id,可使用 v-model:active-file-id */
@@ -688,6 +696,11 @@ export interface ContractTemplateDesignerProps {
688
696
  * @default 内置 text/date/number/image/checkbox
689
697
  */
690
698
  variableTypes?: ContractTemplateFieldTypeOption[];
699
+ /**
700
+ * 内置签署版式之外追加的自定义版式;同 key 覆盖内置项。
701
+ * 由宿主加载已有版式;设计器本身不持久化自定义版式。
702
+ */
703
+ signingLayoutPresets?: ContractTemplateSigningLayoutPreset[];
691
704
  /** 展示下拉框与单选框工具;默认关闭,与组织选择器能力独立。 */
692
705
  showAdvancedChoiceControls?: boolean;
693
706
  /** 展示用户、部门、角色、组织架构工具;默认关闭。 */
@@ -723,11 +736,6 @@ export interface ContractTemplateDesignerProps {
723
736
  * @default true
724
737
  */
725
738
  showClearButton?: boolean;
726
- /**
727
- * 是否展示左侧签署位置导航、右侧新增工具、属性面板检查器与画布覆盖层;关闭后不删除已有位置,预览和导出仍可保留
728
- * @default false
729
- */
730
- showSigningPlacementTools?: boolean;
731
739
  /**
732
740
  * 是否启用本地草稿缓存
733
741
  * @default true
@@ -783,14 +791,6 @@ export interface ContractTemplateDesignerEmits {
783
791
  'page-limit': [maxPages: number, source: 'add' | 'duplicate' | 'auto-pagination'];
784
792
  /** 本地图片读取、压缩或上传失败 */
785
793
  'image-error': [error: Error, source: ContractTemplateImageSource];
786
- /** 新增签署位置;位置数据始终独立于正文 HTML/JSON */
787
- 'signing-placement-add': [placement: ContractTemplateSigningPlacement];
788
- /** 签署位置几何或属性变化 */
789
- 'signing-placement-change': [placement: ContractTemplateSigningPlacement];
790
- /** 删除签署位置 */
791
- 'signing-placement-remove': [placement: ContractTemplateSigningPlacement];
792
- /** 选中签署位置变化;取消选中时为 undefined */
793
- 'signing-placement-select': [placement: ContractTemplateSigningPlacement | undefined];
794
794
  }
795
795
  export interface ContractTemplateDesignerExpose {
796
796
  /** 获取当前模板数据快照 */
@@ -855,8 +855,6 @@ export interface ContractTemplateDesignerExpose {
855
855
  clearValidationErrors: () => void;
856
856
  /** 滚动并高亮指定正文变量 */
857
857
  scrollToVariable: (variableKey: string) => void;
858
- /** 滚动并选中指定签署位置 */
859
- scrollToSigningPlacement: (placementId: string) => void;
860
858
  /** 滚动到指定页面 */
861
859
  scrollToPage: (pageId: string) => void;
862
860
  /** 设置设计区缩放比例,返回裁剪后的实际比例 */
@@ -867,17 +865,6 @@ export interface ContractTemplateDesignerExpose {
867
865
  getZoom: () => number;
868
866
  /** 按当前画布宽度缩放页面,并回到自动适宽模式 */
869
867
  fitWidth: () => number;
870
- /** 在指定页面创建签署位置并返回归一化后的快照。 */
871
- insertSigningPlacement: (type: ContractTemplateSigningPlacementType, pageId?: string, position?: {
872
- x: number;
873
- y: number;
874
- }) => ContractTemplateSigningPlacement | undefined;
875
- /** 选中签署位置;传入空值可清除选择。 */
876
- selectSigningPlacement: (id?: string) => void;
877
- /** 将当前模板签署位置转换为 contract locationRules 兼容结构。 */
878
- buildLocationRules: (options: ContractTemplateLocationRuleOptions) => ContractTemplateLocationRule[];
879
- /** 将当前模板签署位置投影为 packages/contract 使用的严格 DTO。 */
880
- buildContractLocationRules: (options: ContractTemplateLocationRuleOptions) => ContractLocationRule[];
881
868
  }
882
869
  export type ContractTemplateEditorContextMenuPayload = {
883
870
  type: 'text';
@@ -0,0 +1,23 @@
1
+ import { Editor } from '@tiptap/core';
2
+ import { Node as ProseMirrorNode } from '@tiptap/pm/model';
3
+ import { EditorState } from '@tiptap/pm/state';
4
+ export interface ContractTextMatch {
5
+ from: number;
6
+ to: number;
7
+ }
8
+ export interface ContractTextSearch {
9
+ query: string;
10
+ matchCase: boolean;
11
+ activeMatch?: ContractTextMatch;
12
+ }
13
+ /** 仅拼接同一文本块内相邻的 text 节点:跨 mark 可查,atom / 换行 / 块边界不可穿越。 */
14
+ export declare function findContractTextMatches(doc: ProseMirrorNode, query: string, matchCase?: boolean): ContractTextMatch[];
15
+ /** 以当前文档重新校验位置;只替换完整合法命中,不能用过期选区或伪造范围删除 atom。 */
16
+ export declare function buildContractTextReplacement(state: EditorState, search: Pick<ContractTextSearch, 'query' | 'matchCase'>, replacement: string, requestedMatches: readonly ContractTextMatch[]): {
17
+ transaction: import('prosemirror-state').Transaction;
18
+ count: number;
19
+ };
20
+ /** 每页一次事务;与前后输入分别形成撤销边界,不抢走查找输入框焦点。 */
21
+ export declare function replaceContractTextMatches(editor: Editor | null | undefined, readonly: boolean, search: Pick<ContractTextSearch, 'query' | 'matchCase'>, replacement: string, matches: readonly ContractTextMatch[]): number;
22
+ /** 大纲序号只计算真实 heading 节点(包含空标题);返回可安全设置 TextSelection 的正文位置。 */
23
+ export declare function findContractHeadingPosition(doc: ProseMirrorNode, headingIndex: number): number | undefined;
@@ -0,0 +1,3 @@
1
+ export type ContractAuthoringShortcut = 'find' | 'replace' | 'next' | 'previous' | 'help';
2
+ /** 只认当前实例的正文或工具按钮;属性面板、宿主表单、其它设计器与输入法组合态均不接管。 */
3
+ export declare function resolveContractAuthoringShortcut(event: KeyboardEvent, root: HTMLElement | undefined): ContractAuthoringShortcut | undefined;
@@ -0,0 +1,10 @@
1
+ import { JSONContent } from '@tiptap/core';
2
+ import { ContractTemplateClauseSnippetKey } from '../types';
3
+ /** 结构提示而非法律结论;插入后均为普通标题 / 段落,由编写人按实际约定填写。 */
4
+ export declare const CONTRACT_CLAUSE_SNIPPETS: ReadonlyArray<{
5
+ key: ContractTemplateClauseSnippetKey;
6
+ label: string;
7
+ description: string;
8
+ prompts: readonly string[];
9
+ }>;
10
+ export declare function buildContractClauseSnippet(key: ContractTemplateClauseSnippetKey): JSONContent[];
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 写入纯文本剪贴板。
3
+ *
4
+ * Clipboard API 在非安全上下文、权限未授予或部分 WebView 中不可用;
5
+ * 退回隐藏 textarea + `execCommand('copy')` 可覆盖 macOS/Windows 的旧浏览器。
6
+ */
7
+ export declare function writeContractClipboardText(text: string): Promise<void>;