@guodun/antdv 1.7.5 → 1.7.7

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 (42) hide show
  1. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.mjs +152 -146
  2. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererHeader.vue.mjs +45 -37
  3. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateSingleRenderer.vue.mjs +266 -264
  4. package/dist/es/components/pro-contract-template-designer/src/DesignerPage.vue.mjs +351 -301
  5. package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +939 -914
  6. package/dist/es/components/pro-contract-template-designer/src/composables/use-auto-pagination.mjs +82 -47
  7. package/dist/es/components/pro-contract-template-designer/src/composables/use-draft-cache-session.mjs +1 -1
  8. package/dist/es/components/pro-contract-template-designer/src/composables/use-page-authoring.mjs +22 -21
  9. package/dist/es/components/pro-contract-template-designer/src/composables/use-template-authoring.mjs +37 -36
  10. package/dist/es/components/pro-contract-template-designer/src/composables/use-template-designer.mjs +125 -75
  11. package/dist/es/components/pro-contract-template-designer/src/utils/authoring-search.mjs +34 -13
  12. package/dist/es/components/pro-contract-template-designer/src/utils/document-outline.mjs +24 -1
  13. package/dist/es/components/pro-contract-template-designer/src/utils/editor-snapshot-cache.mjs +15 -0
  14. package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
  15. package/dist/es/index.mjs +21 -21
  16. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.cjs +1 -1
  17. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererHeader.vue.cjs +1 -1
  18. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateSingleRenderer.vue.cjs +1 -1
  19. package/dist/lib/components/pro-contract-template-designer/src/DesignerPage.vue.cjs +2 -2
  20. package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs +1 -1
  21. package/dist/lib/components/pro-contract-template-designer/src/composables/use-auto-pagination.cjs +1 -1
  22. package/dist/lib/components/pro-contract-template-designer/src/composables/use-draft-cache-session.cjs +1 -1
  23. package/dist/lib/components/pro-contract-template-designer/src/composables/use-page-authoring.cjs +1 -1
  24. package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-authoring.cjs +1 -1
  25. package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-designer.cjs +4 -4
  26. package/dist/lib/components/pro-contract-template-designer/src/utils/authoring-search.cjs +1 -1
  27. package/dist/lib/components/pro-contract-template-designer/src/utils/document-outline.cjs +1 -1
  28. package/dist/lib/components/pro-contract-template-designer/src/utils/editor-snapshot-cache.cjs +1 -0
  29. package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
  30. package/dist/lib/index.cjs +1 -1
  31. package/dist/theme/icon.css +1 -1
  32. package/dist/theme/index.css +1 -1
  33. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.d.ts +1 -0
  34. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateRendererHeader.vue.d.ts +1 -0
  35. package/dist/types/components/pro-contract-template-designer/src/DesignerPage.vue.d.ts +14 -0
  36. package/dist/types/components/pro-contract-template-designer/src/composables/use-auto-pagination.d.ts +8 -2
  37. package/dist/types/components/pro-contract-template-designer/src/composables/use-draft-cache-session.d.ts +1 -1
  38. package/dist/types/components/pro-contract-template-designer/src/composables/use-template-designer.d.ts +10 -1
  39. package/dist/types/components/pro-contract-template-designer/src/utils/authoring-search.d.ts +5 -0
  40. package/dist/types/components/pro-contract-template-designer/src/utils/document-outline.d.ts +6 -0
  41. package/dist/types/components/pro-contract-template-designer/src/utils/editor-snapshot-cache.d.ts +16 -0
  42. package/package.json +1 -1
@@ -2,6 +2,8 @@ import { ComputedRef, Ref } from 'vue';
2
2
  import { JSONContent } from '@tiptap/core';
3
3
  import { ContractTemplateData, ContractTemplatePage, ContractTemplatePageSize } from '../types';
4
4
  export interface AutoPaginationPageRef {
5
+ isReady?: () => boolean;
6
+ isComposing?: () => boolean;
5
7
  hasOverflowContent: () => boolean;
6
8
  splitOverflowContent: () => {
7
9
  page: ContractTemplatePage;
@@ -30,13 +32,17 @@ export declare function useAutoPagination(options: {
30
32
  activePageId: Ref<string>;
31
33
  normalizedMaxPages: Ref<number> | ComputedRef<number>;
32
34
  pageRefs: Map<string, AutoPaginationPageRef>;
33
- syncPageEditors: () => ContractTemplateData;
34
- commitBodyChange: (nextValue: ContractTemplateData) => ContractTemplateData;
35
+ applyPagesChange: (pages: ContractTemplatePage[]) => void;
35
36
  getPageSize: (page?: ContractTemplatePage) => ContractTemplatePageSize;
36
37
  notifyPageLimit: (source: 'add' | 'duplicate' | 'auto-pagination') => void;
38
+ /** 单批工作预算;超过后通过浏览器 task 真正让出线程,而不是串联 nextTick 微任务。 */
39
+ timeBudgetMs?: number;
37
40
  }): {
38
41
  scheduleAutoPaginate: (pageId?: string) => void;
42
+ scheduleFullPagination: () => void;
39
43
  runAutoPagination: () => Promise<void>;
44
+ resetPagination: () => void;
45
+ disposePagination: () => void;
40
46
  createDocContent: typeof createDocContent;
41
47
  prependOverflowToPageData: typeof prependOverflowToPageData;
42
48
  };
@@ -23,7 +23,7 @@ export declare function useDraftCacheSession(options: {
23
23
  emitFilesChange: (files: ContractTemplateFile[], changedFileId?: string) => void;
24
24
  commit: (value: ContractTemplateData) => ContractTemplateData;
25
25
  updateDraftCacheStatus: (status: ContractTemplateDraftCacheStatus, shouldEmit?: boolean) => void;
26
- scheduleAutoPaginate: (pageId?: string) => void;
26
+ scheduleFullPagination: () => void;
27
27
  activePageId: Ref<string>;
28
28
  selectedVariableKey: Ref<string>;
29
29
  }): {
@@ -136,7 +136,16 @@ export declare function collectTemplateValueVariableKeys(value: Pick<ContractTem
136
136
  * 空 key、非法 key、保留字和重复声明必须继续留到校验层;若在这里按“无引用”
137
137
  * 一并裁掉,外部脏模板会在首次正文同步后静默变成合法数据,用户反而看不到可定位错误。
138
138
  */
139
- export declare function syncTemplateVariablesWithPages(value: ContractTemplateData): ContractTemplateData;
139
+ export declare function syncTemplateVariablesWithPages(value: ContractTemplateData, bodyVariableKeys?: Set<string>): ContractTemplateData;
140
+ /**
141
+ * 正文提交的增量变量索引。已归一化的模板不必再次 normalize 页面尺寸/装饰;
142
+ * 缓存只用于本地不可变正文,外部 deep 修改仍走完整 normalizeTemplateValue。
143
+ */
144
+ export declare function createTemplateBodySync(): {
145
+ sync: (value: ContractTemplateData) => ContractTemplateData;
146
+ collectKeys: (value: Pick<ContractTemplateData, "pages">) => Set<string>;
147
+ clear: () => void;
148
+ };
140
149
  /** 自动分页用的表格行测量结果,坐标相对正文容器顶部。 */
141
150
  export interface ContractTemplateTableRowMeasurement {
142
151
  top: number;
@@ -12,6 +12,11 @@ export interface ContractTextSearch {
12
12
  }
13
13
  /** 仅拼接同一文本块内相邻的 text 节点:跨 mark 可查,atom / 换行 / 块边界不可穿越。 */
14
14
  export declare function findContractTextMatches(doc: ProseMirrorNode, query: string, matchCase?: boolean): ContractTextMatch[];
15
+ /** 每个页面只缓存一次查询;不可变 doc 身份也覆盖静默 setContent、撤销和文件切换。 */
16
+ export declare function createContractTextMatchCache(): {
17
+ read: (doc: ProseMirrorNode, query: string, matchCase?: boolean) => ContractTextMatch[];
18
+ clear: () => void;
19
+ };
15
20
  /** 以当前文档重新校验位置;只替换完整合法命中,不能用过期选区或伪造范围删除 atom。 */
16
21
  export declare function buildContractTextReplacement(state: EditorState, search: Pick<ContractTextSearch, 'query' | 'matchCase'>, replacement: string, requestedMatches: readonly ContractTextMatch[]): {
17
22
  transaction: import('prosemirror-state').Transaction;
@@ -18,3 +18,9 @@ export interface ContractPageNavigationContent {
18
18
  * 解析文档永不挂到页面;只把纯文本交给 Vue 插值,不渲染用户 HTML。
19
19
  */
20
20
  export declare function readContractPageNavigation(page: ContractTemplatePage): ContractPageNavigationContent;
21
+ /** 实例级缓存只保存当前页集合;导航与编辑器一样以 HTML 为准,不读取 JSON 或变量元数据。 */
22
+ export declare function createContractPageNavigationCache(): {
23
+ readPages: (pages: readonly ContractTemplatePage[]) => ContractPageNavigationContent[];
24
+ retainPages: (pages: readonly ContractTemplatePage[]) => void;
25
+ clear: () => void;
26
+ };
@@ -0,0 +1,16 @@
1
+ import { JSONContent } from '@tiptap/core';
2
+ interface SnapshotEditor {
3
+ state: {
4
+ doc: object;
5
+ };
6
+ getHTML: () => string;
7
+ getJSON: () => JSONContent;
8
+ }
9
+ /** ProseMirror doc 不可变:同一文档身份只序列化一次,selection 事务无需失效。 */
10
+ export declare function createEditorSnapshotCache(): {
11
+ read: (editor: SnapshotEditor) => {
12
+ getHTML: () => string;
13
+ getJSON: () => JSONContent;
14
+ };
15
+ };
16
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guodun/antdv",
3
- "version": "1.7.5",
3
+ "version": "1.7.7",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "CHANGELOG.md",