@guodun/antdv 1.4.3 → 1.4.5

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 (118) hide show
  1. package/dist/es/components/contract-signing-location/src/ContractSigningLocation.vue.mjs +85 -85
  2. package/dist/es/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.mjs +1 -1
  3. package/dist/es/components/contract-signing-location/src/ContractSigningTemplatePage.vue.mjs +66 -13
  4. package/dist/es/components/contract-signing-location/src/constants.mjs +27 -17
  5. package/dist/es/components/contract-signing-location/src/location-rules.mjs +2 -2
  6. package/dist/es/components/contract-signing-location/src/template-source.mjs +52 -36
  7. package/dist/es/components/contract-signing-location/style/index.css +1 -1
  8. package/dist/es/components/dept-selector/src/dept.mjs +170 -142
  9. package/dist/es/components/index.mjs +2 -1
  10. package/dist/es/components/pro-contract-template-designer/index.mjs +2 -1
  11. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.mjs +372 -185
  12. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.mjs +59 -42
  13. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.mjs +4 -4
  14. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.mjs +218 -85
  15. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateVariableDataModal.mjs +5 -0
  16. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateVariableDataModal.vue.mjs +97 -0
  17. package/dist/es/components/pro-contract-template-designer/src/DesignerPage.vue.mjs +50 -50
  18. package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +948 -887
  19. package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.mjs +550 -245
  20. package/dist/es/components/pro-contract-template-designer/src/composables/use-template-designer.mjs +225 -150
  21. package/dist/es/components/pro-contract-template-designer/src/extensions/template-variable.mjs +53 -35
  22. package/dist/es/components/pro-contract-template-designer/src/types.mjs +15 -2
  23. package/dist/es/components/pro-contract-template-designer/src/utils/advanced-controls.mjs +91 -0
  24. package/dist/es/components/pro-contract-template-designer/src/utils/page-decorations.mjs +17 -17
  25. package/dist/es/components/pro-contract-template-designer/src/utils/signing-placement.mjs +14 -14
  26. package/dist/es/components/pro-contract-template-designer/src/utils/template-renderer.mjs +168 -137
  27. package/dist/es/components/pro-contract-template-designer/src/utils/template-tool-icons.mjs +23 -16
  28. package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
  29. package/dist/es/components/pro-selector/src/components/org-tree.mjs +130 -89
  30. package/dist/es/components/pro-selector/src/components/user.mjs +34 -26
  31. package/dist/es/components/pro-selector/src/pro-user.mjs +86 -72
  32. package/dist/es/components/pro-selector/src/types.mjs +4 -1
  33. package/dist/es/components/pro-selector/src/utils/orgTree.mjs +5 -2
  34. package/dist/es/components/pro-selector-group/src/compoents/dept-tree.vue.mjs +92 -65
  35. package/dist/es/components/pro-selector-group/src/compoents/dept.vue.mjs +3 -3
  36. package/dist/es/components/pro-selector-group/src/compoents/role.vue.mjs +98 -73
  37. package/dist/es/components/pro-selector-group/src/compoents/select-box.vue.mjs +12 -9
  38. package/dist/es/components/pro-selector-group/src/compoents/user.vue.mjs +101 -72
  39. package/dist/es/components/pro-selector-group/src/hooks/useApi.mjs +39 -22
  40. package/dist/es/components/pro-selector-group/src/index.vue.mjs +105 -83
  41. package/dist/es/components/pro-selector-group/src/utils/index.mjs +36 -0
  42. package/dist/es/components/role-selector/src/role.mjs +134 -120
  43. package/dist/es/index.mjs +50 -49
  44. package/dist/lib/components/contract-signing-location/src/ContractSigningLocation.vue.cjs +1 -1
  45. package/dist/lib/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.cjs +1 -1
  46. package/dist/lib/components/contract-signing-location/src/ContractSigningTemplatePage.vue.cjs +1 -1
  47. package/dist/lib/components/contract-signing-location/src/constants.cjs +1 -1
  48. package/dist/lib/components/contract-signing-location/src/location-rules.cjs +1 -1
  49. package/dist/lib/components/contract-signing-location/src/template-source.cjs +1 -1
  50. package/dist/lib/components/contract-signing-location/style/index.css +1 -1
  51. package/dist/lib/components/dept-selector/src/dept.cjs +1 -1
  52. package/dist/lib/components/index.cjs +1 -1
  53. package/dist/lib/components/pro-contract-template-designer/index.cjs +1 -1
  54. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.cjs +2 -1
  55. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.cjs +1 -1
  56. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.cjs +1 -1
  57. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.cjs +1 -1
  58. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateVariableDataModal.cjs +1 -0
  59. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateVariableDataModal.vue.cjs +1 -0
  60. package/dist/lib/components/pro-contract-template-designer/src/DesignerPage.vue.cjs +2 -2
  61. package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs +1 -1
  62. package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.cjs +1 -1
  63. package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-designer.cjs +4 -4
  64. package/dist/lib/components/pro-contract-template-designer/src/extensions/template-variable.cjs +1 -1
  65. package/dist/lib/components/pro-contract-template-designer/src/types.cjs +1 -1
  66. package/dist/lib/components/pro-contract-template-designer/src/utils/advanced-controls.cjs +1 -0
  67. package/dist/lib/components/pro-contract-template-designer/src/utils/page-decorations.cjs +1 -1
  68. package/dist/lib/components/pro-contract-template-designer/src/utils/signing-placement.cjs +1 -1
  69. package/dist/lib/components/pro-contract-template-designer/src/utils/template-renderer.cjs +3 -3
  70. package/dist/lib/components/pro-contract-template-designer/src/utils/template-tool-icons.cjs +1 -1
  71. package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
  72. package/dist/lib/components/pro-selector/src/components/org-tree.cjs +1 -1
  73. package/dist/lib/components/pro-selector/src/components/user.cjs +1 -1
  74. package/dist/lib/components/pro-selector/src/pro-user.cjs +1 -1
  75. package/dist/lib/components/pro-selector/src/types.cjs +1 -1
  76. package/dist/lib/components/pro-selector/src/utils/orgTree.cjs +1 -1
  77. package/dist/lib/components/pro-selector-group/src/compoents/dept-tree.vue.cjs +1 -1
  78. package/dist/lib/components/pro-selector-group/src/compoents/dept.vue.cjs +1 -1
  79. package/dist/lib/components/pro-selector-group/src/compoents/role.vue.cjs +1 -1
  80. package/dist/lib/components/pro-selector-group/src/compoents/select-box.vue.cjs +1 -1
  81. package/dist/lib/components/pro-selector-group/src/compoents/user.vue.cjs +1 -1
  82. package/dist/lib/components/pro-selector-group/src/hooks/useApi.cjs +1 -1
  83. package/dist/lib/components/pro-selector-group/src/index.vue.cjs +1 -1
  84. package/dist/lib/components/pro-selector-group/src/utils/index.cjs +1 -0
  85. package/dist/lib/components/role-selector/src/role.cjs +1 -1
  86. package/dist/lib/index.cjs +1 -1
  87. package/dist/theme/contract-signing-location.css +1 -1
  88. package/dist/theme/dept-selector.css +1 -1
  89. package/dist/theme/icon.css +1 -1
  90. package/dist/theme/index.css +1 -1
  91. package/dist/theme/pro-selector-group.css +1 -1
  92. package/dist/theme/pro-selector.css +1 -1
  93. package/dist/theme/role-selector.css +1 -1
  94. package/dist/types/components/contract-signing-location/src/ContractSigningLocation.vue.d.ts +3 -3
  95. package/dist/types/components/contract-signing-location/src/ContractSigningTemplatePage.vue.d.ts +3 -1
  96. package/dist/types/components/contract-signing-location/src/constants.d.ts +18 -0
  97. package/dist/types/components/contract-signing-location/src/coordinates.d.ts +6 -0
  98. package/dist/types/components/contract-signing-location/src/template-source.d.ts +17 -0
  99. package/dist/types/components/pro-contract-template-designer/index.d.ts +1 -0
  100. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.d.ts +1 -0
  101. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.d.ts +3 -0
  102. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.d.ts +7 -1
  103. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateVariableDataModal.vue.d.ts +14 -0
  104. package/dist/types/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.d.ts +13 -1
  105. package/dist/types/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.d.ts +11 -1
  106. package/dist/types/components/pro-contract-template-designer/src/composables/use-template-designer.d.ts +4 -0
  107. package/dist/types/components/pro-contract-template-designer/src/extensions/template-variable.d.ts +11 -1
  108. package/dist/types/components/pro-contract-template-designer/src/types.d.ts +131 -2
  109. package/dist/types/components/pro-contract-template-designer/src/utils/advanced-controls.d.ts +15 -0
  110. package/dist/types/components/pro-contract-template-designer/src/utils/template-renderer.d.ts +10 -2
  111. package/dist/types/components/pro-selector/index.d.ts +9 -0
  112. package/dist/types/components/pro-selector/src/components/user.d.ts +9 -0
  113. package/dist/types/components/pro-selector/src/types.d.ts +2 -0
  114. package/dist/types/components/pro-selector/src/utils/orgTree.d.ts +4 -1
  115. package/dist/types/components/pro-selector-group/src/compoents/select-box.vue.d.ts +4 -4
  116. package/dist/types/components/pro-selector-group/src/hooks/useApi.d.ts +6 -1
  117. package/dist/types/components/pro-selector-group/src/utils/index.d.ts +8 -0
  118. package/package.json +5 -1
package/dist/es/index.mjs CHANGED
@@ -29,52 +29,53 @@ import D from "./components/pro-upload/index.mjs";
29
29
  import O from "./components/pro-loading/src/pro-loading.mjs";
30
30
  import k from "./components/plus-upload/index.mjs";
31
31
  import A from "./components/pro-overlay/index.mjs";
32
- import { GTE_ORGTREE_URL as j, UserSelectorProps as M, selectUserContextKey as N, userSelectorEmits as P } from "./components/pro-selector/src/types.mjs";
33
- import F from "./components/pro-selector/src/components/user.mjs";
34
- import I from "./components/pro-selector/src/pro-user.mjs";
35
- import { useUserSelector as L } from "./components/pro-selector/src/hooks/useUserSelector.mjs";
36
- import { GdAntUserSelector as R, GdAntUserSelectorCheckbox as z } from "./components/pro-selector/index.mjs";
37
- import B, { GdAntProUserAvatar as V } from "./components/pro-user-avatar/index.mjs";
38
- import { GTE_OPTIONS_URL as H, roleSelectorEmits as U, roleSelectorProps as W } from "./components/role-selector/src/types.mjs";
39
- import G, { GdAntProRoleSelector as K } from "./components/role-selector/index.mjs";
40
- import { GET_DEPT_TREE_URL as q, deptSelectorEmits as J, deptSelectorProps as Y } from "./components/dept-selector/src/types.mjs";
41
- import X from "./components/dept-selector/index.mjs";
42
- import { MENU_TREE_URL as Z, proMenuTreeEmits as re, proMenuTreeProps as ie } from "./components/pro-menu-tree/src/types.mjs";
43
- import ae from "./components/pro-menu-tree/index.mjs";
44
- import { ProTagGroupProps as oe } from "./components/pro-tag-group/src/types.mjs";
45
- import se from "./components/pro-tag-group/index.mjs";
46
- import { FORM_RENDER_CONTEXT_KEY as ce, FormItemProps as le, FormRenderProps as ue } from "./components/pro-form-render/src/types.mjs";
47
- import de from "./components/pro-form-render/index.mjs";
48
- import { PRO_CELL_GROUP_KEY as fe } from "./components/pro-cell-group/src/types.mjs";
49
- import pe from "./components/pro-cell/index.mjs";
50
- import me from "./components/pro-cell-group/index.mjs";
51
- import { selectContextKey as he } from "./components/pro-selector-group/src/types.mjs";
52
- import ge from "./components/pro-selector-group/index.mjs";
53
- import _e from "./components/pro-dynamic-tags/index.mjs";
54
- import { DRAWER_SIZE_WIDTH as ve } from "./components/pro-drawer/src/types.mjs";
55
- import ye from "./components/pro-drawer/index.mjs";
56
- import { CONTRACT_SIGNING_AUTO_SCROLL_EDGE_PX as be, CONTRACT_SIGNING_MIN_PLACEMENT_SIZE as xe, CONTRACT_SIGNING_PLACEMENT_LABELS as Se, CONTRACT_SIGNING_PLACEMENT_MIME as Ce, CONTRACT_SIGNING_PREVIEW_CONCURRENCY as we, CONTRACT_SIGNING_PX_PER_MM as Te, CONTRACT_SIGNING_SEAL_MAX_SIZE as Ee, CONTRACT_SIGNING_SEAL_MIN_SIZE as De, CONTRACT_SIGNING_SEAL_TYPE_OPTIONS as Q, CONTRACT_SIGNING_SEAL_TYPE_PRESETS as Oe, CONTRACT_SIGNING_SIZE_PROFILES as ke, CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS as Ae, millimetersToContractSigningCssPixels as je, millimetersToContractSigningPixels as Me, resolveContractSigningSealSizeInCssPixels as Ne, resolveContractSigningSealSizeInPixels as Pe, resolveContractSigningSealTypeOption as Fe } from "./components/contract-signing-location/src/constants.mjs";
57
- import { CONTRACT_SIGNING_RENDER_ORIGIN_OFFSET as Ie, CONTRACT_SIGNING_SNAP_THRESHOLD_PX as Le, canResizeContractSigningPlacement as Re, clampContractSigningPlacement as ze, clampContractSigningZoom as Be, displayPointToContractPoint as Ve, getContractSigningPlacementDistances as He, getContractSigningPlacementSize as Ue, getContractSigningRuleGeometry as We, moveContractSigningPlacementByDisplayDelta as Ge, normalizeContractSigningCoordinateDimension as Ke, normalizeContractSigningCoordinateScale as qe, resizeContractSigningSealGeometry as Je, resolveContractSigningSealSizeLimit as Ye, resolveContractSigningSizeProfile as Xe, snapContractSigningPlacement as Ze } from "./components/contract-signing-location/src/coordinates.mjs";
58
- import { isContractTemplateFieldType as Qe } from "./components/pro-contract-template-designer/src/types.mjs";
59
- import { ContractTemplateLocationRuleBuildError as $e, SIGNING_PLACEMENT_DEFAULT_SIZES as et, SIGNING_PLACEMENT_MIME as tt, SIGNING_PLACEMENT_MIN_SIZE as nt, SIGNING_PLACEMENT_TYPE_LABELS as rt, applySigningPlacementPatch as it, buildContractLocationRules as at, buildSigningPlacementLocationRules as ot, canMutateSigningPlacements as st, clampSigningPlacement as ct, createSigningPlacement as lt, getSigningPlacementDefaultSize as ut, getSigningPlacementTypeLabel as dt, moveSigningPlacementByDisplayDelta as ft, normalizeSigningPlacements as pt, parseSigningPlacementDragPayload as mt, resizeSigningPlacement as ht, resolveSigningPlacementToolItems as gt, scaleSigningPlacementToPage as _t, serializeSigningPlacementDragPayload as vt, validateSigningPlacements as yt } from "./components/pro-contract-template-designer/src/utils/signing-placement.mjs";
60
- import { CONTRACT_TEXT_STYLE_PRESETS as bt, CONTRACT_TEXT_STYLE_PRESET_COMMANDS as xt, DEFAULT_CONTRACT_FONT_FAMILY as St, DEFAULT_FONT_FAMILY_OPTIONS as Ct, DEFAULT_FONT_SIZE_PRESETS as wt, DEFAULT_TEXT_ALIGN_OPTIONS as Tt, getContractTextStylePreset as Et, normalizeFontFamilyValue as Dt, resolveContractTextStylePresetCommands as Ot, resolveFontFamilyOptions as kt } from "./components/pro-contract-template-designer/src/constants.mjs";
61
- import { CONTRACT_TEMPLATE_RENDERER_VERSION as At, CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS as jt, CONTRACT_TEMPLATE_STYLE_VERSION as Mt, CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN as Nt, ContractTemplatePageDecorationValidationError as Pt, DEFAULT_FIELD_STYLE as Ft, DEFAULT_FIELD_TYPES as It, DEFAULT_MULTILINE_LINE_HEIGHT as Lt, DEFAULT_MULTILINE_ROWS as Rt, DEFAULT_PAGE_SIZE as zt, PAGE_SIZE_OPTIONS as Bt, buildTemplateExpressionHtml as Vt, buildTemplateHtml as Ht, buildTemplatePreviewHtml as Ut, buildTemplatePreviewPages as Wt, cloneTemplateValue as Gt, collectTemplateLocationRuleExportErrors as Kt, collectTemplateValueVariableKeys as qt, collectTemplateVariableKeys as Jt, constrainTemplatePageSizes as Yt, createBlankPage as Xt, createBlankTemplate as Zt, createDefaultPage as Qt, createDefaultTemplate as $t, createDesignerId as en, createTemplateVariable as tn, exportTemplateValue as nn, findPageSizeOption as $, getFieldOption as rn, getPageSizeKey as an, getPageSizeOption as on, inferPageFormat as sn, normalizeContractTemplateMaxPages as cn, normalizePageSizeOptions as ln, normalizeTemplateValue as un, resolvePageSize as dn, splitPageContentByMeasurements as fn, syncTemplateVariablesWithPages as pn, validateContractTemplateVariableKey as mn, validateTemplateValue as hn } from "./components/pro-contract-template-designer/src/composables/use-template-designer.mjs";
62
- import { isSafeContractImageUrl as gn } from "./components/pro-contract-template-designer/src/utils/image-url.mjs";
63
- import { buildInitialRenderValues as _n, buildTemplateRenderHtml as vn, buildTemplateRenderPages as yn, isEmptyRenderValue as bn, normalizeRenderValues as xn, resolveTemplateRenderSubmitErrors as Sn, sanitizeContractRendererHtml as Cn, validateTemplateRenderStructure as wn, validateTemplateRenderValues as Tn } from "./components/pro-contract-template-designer/src/utils/template-renderer.mjs";
64
- import { buildContractSigningTemplateRenderPages as En, getContractSigningTemplateDisplayError as Dn, isContractSigningTemplateFile as On, isContractSigningTemplateSource as kn, validateContractSigningTemplateFile as An } from "./components/contract-signing-location/src/template-source.mjs";
65
- import { ContractSigningLocationBuildError as jn, buildContractSigningLocationOutput as Mn, buildContractSigningLocationRules as Nn, cloneContractSigningLocationValue as Pn, createContractSigningLocationValue as Fn, createContractSigningPlacement as In, findContractSigningPage as Ln, getContractSigningHomePage as Rn, isContractSigningPageUsable as zn, normalizeContractSigningLocationValue as Bn, normalizeContractSigningProviderValue as Vn, patchContractSigningPlacement as Hn, resolveContractSigningPreviewPageSize as Un, validateContractSigningLocationValue as Wn } from "./components/contract-signing-location/src/location-rules.mjs";
66
- import { CONTRACT_SIGNING_FALLBACK_PAGE_SIZE as Gn, CONTRACT_SIGNING_PAGE_GAP as Kn, CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES as qn, buildPageLayouts as Jn, contentPointToPagePoint as Yn, findPageAtOffset as Xn, getContractSigningAutoScrollDelta as Zn, getPageLayoutScrollTop as Qn, getPageLayoutsContentSize as $n, getVisibleRange as er } from "./components/contract-signing-location/src/page-layout.mjs";
67
- import { formatContractSigningDate as tr, getContractSigningDateDataUrl as nr, getContractSigningDateSvgDataUrl as rr, getContractSigningPlacementDataUrl as ir, getContractSigningPlacementVisual as ar, getContractSigningSealDataUrl as or, getContractSigningSealLabel as sr, getContractSigningSealSvgDataUrl as cr, getContractSigningSignatureDataUrl as lr, getContractSigningSignaturePngDataUrl as ur, getContractSigningSignatureSvgDataUrl as dr, isContractSigningVisualDataUrl as fr, isSafeContractSigningVisualDataUrl as pr, resolveContractSigningSealLabel as mr, toContractSigningSvgDataUrl as hr } from "./components/contract-signing-location/src/signing-visuals.mjs";
68
- import gr from "./components/contract-signing-location/index.mjs";
69
- import { DEFAULT_CONTRACT_IMAGE_COMPRESSION as _r, MAX_CONTRACT_IMAGE_BYTES as vr, MAX_CONTRACT_IMAGE_DIMENSION as yr, MIN_CONTRACT_IMAGE_DIMENSION as br, compressContractImage as xr, normalizeContractImageCompression as Sr, normalizeContractImageDimension as Cr, processContractImageFile as wr, readContractImageFileAsDataUrl as Tr, resolveContractImageResizeDimensions as Er } from "./components/pro-contract-template-designer/src/utils/content-image.mjs";
70
- import { CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION as Dr, CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION as Or, DEFAULT_DRAFT_CACHE_INTERVAL as kr, DEFAULT_DRAFT_CACHE_KEY as Ar, DEFAULT_DRAFT_CACHE_MAX_BYTES as jr, clearTemplateDraftCache as Mr, createDraftCacheStatus as Nr, estimateDraftCacheBytes as Pr, formatDraftCacheSavedAt as Fr, getBrowserDraftCacheStorage as Ir, isBlankTemplateDraftValue as Lr, isBlankTemplateFilesDraftValue as Rr, loadTemplateDraftCache as zr, loadTemplateFilesDraftCache as Br, saveTemplateDraftCache as Vr, saveTemplateFilesDraftCache as Hr } from "./components/pro-contract-template-designer/src/composables/use-template-draft-cache.mjs";
71
- import { cloneContractTemplateFiles as Ur, constrainContractTemplateFiles as Wr, createContractTemplateFile as Gr, exportContractTemplateFiles as Kr, moveContractTemplateFile as qr, normalizeContractTemplateFiles as Jr, removeContractTemplateFile as Yr, renameContractTemplateFile as Xr, replaceContractTemplateFile as Zr, resolveContractTemplateActiveFileId as Qr } from "./components/pro-contract-template-designer/src/composables/use-template-files.mjs";
72
- import $r, { GdAntProContractTemplateRenderer as ei } from "./components/pro-contract-template-designer/index.mjs";
73
- import { CONTRACT_SIGNING_FLOW_ACTION_LABELS as ti, CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS as ni, CONTRACT_SIGNING_FLOW_MAX_ZOOM as ri, CONTRACT_SIGNING_FLOW_MIN_ZOOM as ii, CONTRACT_SIGNING_FLOW_SEAL_TYPES as ai, CONTRACT_SIGNING_FLOW_SIGN_ACTIONS as oi, CONTRACT_SIGNING_FLOW_ZOOM_STEP as si, isContractSigningFlowInteractiveTarget as ci, normalizeContractSigningFlowZoom as li, resolveContractSigningFlowZoomShortcut as ui, resolveContractSigningFlowZoomShortcutForTarget as di } from "./components/pro-contract-signing-flow/src/constants.mjs";
74
- import { buildConnectList as fi, createDefaultSignRule as pi, createEndNode as mi, createId as hi, createInitialFlow as gi, createSignNode as _i, createStartNode as vi, normalizeContractSigningFlow as yi, normalizeSignRule as bi, useContractSigningFlow as xi, validateContractSigningFlow as Si } from "./components/pro-contract-signing-flow/src/composables/use-contract-signing-flow.mjs";
75
- import Ci from "./components/pro-contract-signing-flow/index.mjs";
76
- import { useContractTemplateAgent as wi } from "./components/pro-contract-template-agent/src/composables/use-contract-template-agent.mjs";
77
- import { adaptContractTemplateAgentSpec as Ti } from "./components/pro-contract-template-agent/src/utils/contract-template-agent-adapter.mjs";
78
- import Ei, { GdAntProContractTemplateAgentPanel as Di, GdAntProContractTemplateAgentPreview as Oi } from "./components/pro-contract-template-agent/index.mjs";
79
- import { setupAppConfig as ki, useBasicAppConfig as Ai } from "./components/hooks/use-basic-app-config.mjs";
80
- export { be as CONTRACT_SIGNING_AUTO_SCROLL_EDGE_PX, Gn as CONTRACT_SIGNING_FALLBACK_PAGE_SIZE, ti as CONTRACT_SIGNING_FLOW_ACTION_LABELS, ni as CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS, ri as CONTRACT_SIGNING_FLOW_MAX_ZOOM, ii as CONTRACT_SIGNING_FLOW_MIN_ZOOM, ai as CONTRACT_SIGNING_FLOW_SEAL_TYPES, oi as CONTRACT_SIGNING_FLOW_SIGN_ACTIONS, si as CONTRACT_SIGNING_FLOW_ZOOM_STEP, xe as CONTRACT_SIGNING_MIN_PLACEMENT_SIZE, Kn as CONTRACT_SIGNING_PAGE_GAP, Se as CONTRACT_SIGNING_PLACEMENT_LABELS, Ce as CONTRACT_SIGNING_PLACEMENT_MIME, we as CONTRACT_SIGNING_PREVIEW_CONCURRENCY, Te as CONTRACT_SIGNING_PX_PER_MM, Ie as CONTRACT_SIGNING_RENDER_ORIGIN_OFFSET, Ee as CONTRACT_SIGNING_SEAL_MAX_SIZE, De as CONTRACT_SIGNING_SEAL_MIN_SIZE, Q as CONTRACT_SIGNING_SEAL_TYPE_OPTIONS, Oe as CONTRACT_SIGNING_SEAL_TYPE_PRESETS, ke as CONTRACT_SIGNING_SIZE_PROFILES, Le as CONTRACT_SIGNING_SNAP_THRESHOLD_PX, qn as CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES, Ae as CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS, Dr as CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION, Or as CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION, At as CONTRACT_TEMPLATE_RENDERER_VERSION, jt as CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS, Mt as CONTRACT_TEMPLATE_STYLE_VERSION, Nt as CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN, bt as CONTRACT_TEXT_STYLE_PRESETS, xt as CONTRACT_TEXT_STYLE_PRESET_COMMANDS, jn as ContractSigningLocationBuildError, $e as ContractTemplateLocationRuleBuildError, Pt as ContractTemplatePageDecorationValidationError, l as CoverScrollbarProps, St as DEFAULT_CONTRACT_FONT_FAMILY, _r as DEFAULT_CONTRACT_IMAGE_COMPRESSION, kr as DEFAULT_DRAFT_CACHE_INTERVAL, Ar as DEFAULT_DRAFT_CACHE_KEY, jr as DEFAULT_DRAFT_CACHE_MAX_BYTES, Ft as DEFAULT_FIELD_STYLE, It as DEFAULT_FIELD_TYPES, Ct as DEFAULT_FONT_FAMILY_OPTIONS, wt as DEFAULT_FONT_SIZE_PRESETS, Lt as DEFAULT_MULTILINE_LINE_HEIGHT, Rt as DEFAULT_MULTILINE_ROWS, zt as DEFAULT_PAGE_SIZE, Tt as DEFAULT_TEXT_ALIGN_OPTIONS, ve as DRAWER_SIZE_WIDTH, ce as FORM_RENDER_CONTEXT_KEY, le as FormItemProps, ue as FormRenderProps, q as GET_DEPT_TREE_URL, H as GTE_OPTIONS_URL, j as GTE_ORGTREE_URL, ne as GdAntCollapseTranstion, gr as GdAntContractSigningLocation, u as GdAntCoverScrollBar, X as GdAntDeptSelector, w as GdAntIcon, k as GdAntPlusUpload, y as GdAntProArea, pe as GdAntProCell, me as GdAntProCellGroup, Ci as GdAntProContractSigningFlow, Di as GdAntProContractTemplateAgentPanel, Oi as GdAntProContractTemplateAgentPreview, Ei as GdAntProContractTemplateAgentWorkbench, $r as GdAntProContractTemplateDesigner, ei as GdAntProContractTemplateRenderer, ye as GdAntProDrawer, _e as GdAntProDynamicTags, de as GdAntProFormRender, O as GdAntProLoading, ae as GdAntProMenuTree, i as GdAntProModal, A as GdAntProOverlay, g as GdAntProPicker, K as GdAntProRoleSelector, ge as GdAntProSelectorGroup, x as GdAntProSignature, C as GdAntProTable, p as GdAntProTag, se as GdAntProTagGroup, o as GdAntProTitle, D as GdAntProUpload, V as GdAntProUserAvatar, O as GdAntProloading, G as GdAntRoleSelector, d as GdAntScaleVirtualList, c as GdAntScrollBar, B as GdAntUserAvatar, R as GdAntUserSelector, z as GdAntUserSelectorCheckbox, vr as MAX_CONTRACT_IMAGE_BYTES, yr as MAX_CONTRACT_IMAGE_DIMENSION, Z as MENU_TREE_URL, br as MIN_CONTRACT_IMAGE_DIMENSION, Bt as PAGE_SIZE_OPTIONS, fe as PRO_CELL_GROUP_KEY, m as PickerApiEnum, _ as ProAreaProps, h as ProPickerProps, b as ProSignatureProps, oe as ProTagGroupProps, I as ProUserSelector, F as ProUserSelectorCheckbox, et as SIGNING_PLACEMENT_DEFAULT_SIZES, tt as SIGNING_PLACEMENT_MIME, nt as SIGNING_PLACEMENT_MIN_SIZE, Q as SIGNING_PLACEMENT_SEAL_TYPE_OPTIONS, rt as SIGNING_PLACEMENT_TYPE_LABELS, a as TitleProps, T as UploadContextKey, M as UserSelectorProps, Ti as adaptContractTemplateAgentSpec, it as applySigningPlacementPatch, fi as buildConnectList, at as buildContractLocationRules, Mn as buildContractSigningLocationOutput, Nn as buildContractSigningLocationRules, En as buildContractSigningTemplateRenderPages, _n as buildInitialRenderValues, Jn as buildPageLayouts, ot as buildSigningPlacementLocationRules, Vt as buildTemplateExpressionHtml, Ht as buildTemplateHtml, Ut as buildTemplatePreviewHtml, Wt as buildTemplatePreviewPages, vn as buildTemplateRenderHtml, yn as buildTemplateRenderPages, st as canMutateSigningPlacements, Re as canResizeContractSigningPlacement, ze as clampContractSigningPlacement, Be as clampContractSigningZoom, ct as clampSigningPlacement, Mr as clearTemplateDraftCache, Pn as cloneContractSigningLocationValue, Ur as cloneContractTemplateFiles, Gt as cloneTemplateValue, e as collapseProps, Kt as collectTemplateLocationRuleExportErrors, qt as collectTemplateValueVariableKeys, Jt as collectTemplateVariableKeys, xr as compressContractImage, Wr as constrainContractTemplateFiles, Yt as constrainTemplatePageSizes, Yn as contentPointToPagePoint, Xt as createBlankPage, Zt as createBlankTemplate, Fn as createContractSigningLocationValue, In as createContractSigningPlacement, Gr as createContractTemplateFile, Qt as createDefaultPage, pi as createDefaultSignRule, $t as createDefaultTemplate, en as createDesignerId, Nr as createDraftCacheStatus, mi as createEndNode, hi as createId, gi as createInitialFlow, _i as createSignNode, lt as createSigningPlacement, vi as createStartNode, tn as createTemplateVariable, J as deptSelectorEmits, Y as deptSelectorProps, Ve as displayPointToContractPoint, Pr as estimateDraftCacheBytes, Kr as exportContractTemplateFiles, nn as exportTemplateValue, Ln as findContractSigningPage, Xn as findPageAtOffset, $ as findPageSizeOption, tr as formatContractSigningDate, Fr as formatDraftCacheSavedAt, ee as generatePalette, Ir as getBrowserDraftCacheStorage, Zn as getContractSigningAutoScrollDelta, nr as getContractSigningDateDataUrl, rr as getContractSigningDateSvgDataUrl, Rn as getContractSigningHomePage, ir as getContractSigningPlacementDataUrl, He as getContractSigningPlacementDistances, Ue as getContractSigningPlacementSize, ar as getContractSigningPlacementVisual, We as getContractSigningRuleGeometry, or as getContractSigningSealDataUrl, sr as getContractSigningSealLabel, cr as getContractSigningSealSvgDataUrl, lr as getContractSigningSignatureDataUrl, ur as getContractSigningSignaturePngDataUrl, dr as getContractSigningSignatureSvgDataUrl, Dn as getContractSigningTemplateDisplayError, Et as getContractTextStylePreset, rn as getFieldOption, Qn as getPageLayoutScrollTop, $n as getPageLayoutsContentSize, an as getPageSizeKey, on as getPageSizeOption, ut as getSigningPlacementDefaultSize, dt as getSigningPlacementTypeLabel, er as getVisibleRange, sn as inferPageFormat, Lr as isBlankTemplateDraftValue, Rr as isBlankTemplateFilesDraftValue, ci as isContractSigningFlowInteractiveTarget, zn as isContractSigningPageUsable, On as isContractSigningTemplateFile, kn as isContractSigningTemplateSource, fr as isContractSigningVisualDataUrl, Qe as isContractTemplateFieldType, bn as isEmptyRenderValue, gn as isSafeContractImageUrl, pr as isSafeContractSigningVisualDataUrl, zr as loadTemplateDraftCache, Br as loadTemplateFilesDraftCache, je as millimetersToContractSigningCssPixels, Me as millimetersToContractSigningPixels, Ge as moveContractSigningPlacementByDisplayDelta, qr as moveContractTemplateFile, ft as moveSigningPlacementByDisplayDelta, Sr as normalizeContractImageCompression, Cr as normalizeContractImageDimension, Ke as normalizeContractSigningCoordinateDimension, qe as normalizeContractSigningCoordinateScale, yi as normalizeContractSigningFlow, li as normalizeContractSigningFlowZoom, Bn as normalizeContractSigningLocationValue, Vn as normalizeContractSigningProviderValue, Jr as normalizeContractTemplateFiles, cn as normalizeContractTemplateMaxPages, Dt as normalizeFontFamilyValue, ln as normalizePageSizeOptions, xn as normalizeRenderValues, bi as normalizeSignRule, pt as normalizeSigningPlacements, un as normalizeTemplateValue, mt as parseSigningPlacementDragPayload, Hn as patchContractSigningPlacement, re as proMenuTreeEmits, ie as proMenuTreeProps, t as proModalEmits, f as proTagProps, wr as processContractImageFile, Tr as readContractImageFileAsDataUrl, Yr as removeContractTemplateFile, Xr as renameContractTemplateFile, Zr as replaceContractTemplateFile, Je as resizeContractSigningSealGeometry, ht as resizeSigningPlacement, Er as resolveContractImageResizeDimensions, ui as resolveContractSigningFlowZoomShortcut, di as resolveContractSigningFlowZoomShortcutForTarget, Un as resolveContractSigningPreviewPageSize, mr as resolveContractSigningSealLabel, Ne as resolveContractSigningSealSizeInCssPixels, Pe as resolveContractSigningSealSizeInPixels, Ye as resolveContractSigningSealSizeLimit, Fe as resolveContractSigningSealTypeOption, Xe as resolveContractSigningSizeProfile, Qr as resolveContractTemplateActiveFileId, Ot as resolveContractTextStylePresetCommands, kt as resolveFontFamilyOptions, dn as resolvePageSize, gt as resolveSigningPlacementToolItems, Sn as resolveTemplateRenderSubmitErrors, U as roleSelectorEmits, W as roleSelectorProps, Cn as sanitizeContractRendererHtml, Vr as saveTemplateDraftCache, Hr as saveTemplateFilesDraftCache, _t as scaleSigningPlacementToPage, s as scrollbarProps, he as selectContextKey, N as selectUserContextKey, vt as serializeSigningPlacementDragPayload, ki as setupAppConfig, te as setupTheme, Ze as snapContractSigningPlacement, fn as splitPageContentByMeasurements, pn as syncTemplateVariablesWithPages, hr as toContractSigningSvgDataUrl, Ai as useBasicAppConfig, xi as useContractSigningFlow, wi as useContractTemplateAgent, v as useProArea, n as useProModal, r as useProModalInit, S as useProTable, E as useUpload, L as useUserSelector, P as userSelectorEmits, Si as validateContractSigningFlow, Wn as validateContractSigningLocationValue, An as validateContractSigningTemplateFile, mn as validateContractTemplateVariableKey, yt as validateSigningPlacements, wn as validateTemplateRenderStructure, Tn as validateTemplateRenderValues, hn as validateTemplateValue };
32
+ import { GTE_ORGTREE_URL as j, UserSelectorProps as M, resolveUserSelectorMaxCount as N, selectUserContextKey as P, userSelectorEmits as F } from "./components/pro-selector/src/types.mjs";
33
+ import I from "./components/pro-selector/src/components/user.mjs";
34
+ import L from "./components/pro-selector/src/pro-user.mjs";
35
+ import { useUserSelector as R } from "./components/pro-selector/src/hooks/useUserSelector.mjs";
36
+ import { GdAntUserSelector as z, GdAntUserSelectorCheckbox as B } from "./components/pro-selector/index.mjs";
37
+ import V, { GdAntProUserAvatar as H } from "./components/pro-user-avatar/index.mjs";
38
+ import { GTE_OPTIONS_URL as U, roleSelectorEmits as W, roleSelectorProps as G } from "./components/role-selector/src/types.mjs";
39
+ import K, { GdAntProRoleSelector as q } from "./components/role-selector/index.mjs";
40
+ import { GET_DEPT_TREE_URL as J, deptSelectorEmits as Y, deptSelectorProps as X } from "./components/dept-selector/src/types.mjs";
41
+ import Z from "./components/dept-selector/index.mjs";
42
+ import { MENU_TREE_URL as re, proMenuTreeEmits as ie, proMenuTreeProps as ae } from "./components/pro-menu-tree/src/types.mjs";
43
+ import oe from "./components/pro-menu-tree/index.mjs";
44
+ import { ProTagGroupProps as se } from "./components/pro-tag-group/src/types.mjs";
45
+ import ce from "./components/pro-tag-group/index.mjs";
46
+ import { FORM_RENDER_CONTEXT_KEY as le, FormItemProps as ue, FormRenderProps as de } from "./components/pro-form-render/src/types.mjs";
47
+ import fe from "./components/pro-form-render/index.mjs";
48
+ import { PRO_CELL_GROUP_KEY as pe } from "./components/pro-cell-group/src/types.mjs";
49
+ import me from "./components/pro-cell/index.mjs";
50
+ import he from "./components/pro-cell-group/index.mjs";
51
+ import { selectContextKey as ge } from "./components/pro-selector-group/src/types.mjs";
52
+ import _e from "./components/pro-selector-group/index.mjs";
53
+ import ve from "./components/pro-dynamic-tags/index.mjs";
54
+ import { DRAWER_SIZE_WIDTH as ye } from "./components/pro-drawer/src/types.mjs";
55
+ import be from "./components/pro-drawer/index.mjs";
56
+ import { CONTRACT_TEXT_STYLE_PRESETS as xe, CONTRACT_TEXT_STYLE_PRESET_COMMANDS as Se, DEFAULT_CONTRACT_FONT_FAMILY as Ce, DEFAULT_FONT_FAMILY_OPTIONS as we, DEFAULT_FONT_SIZE_PRESETS as Te, DEFAULT_TEXT_ALIGN_OPTIONS as Ee, getContractTextStylePreset as De, normalizeFontFamilyValue as Oe, resolveContractTextStylePresetCommands as ke, resolveFontFamilyOptions as Ae } from "./components/pro-contract-template-designer/src/constants.mjs";
57
+ import { CONTRACT_SIGNING_AUTO_SCROLL_EDGE_PX as je, CONTRACT_SIGNING_CSS_PX_PER_POINT as Me, CONTRACT_SIGNING_MIN_PLACEMENT_SIZE as Ne, CONTRACT_SIGNING_PLACEMENT_LABELS as Pe, CONTRACT_SIGNING_PLACEMENT_MIME as Fe, CONTRACT_SIGNING_PREVIEW_CONCURRENCY as Ie, CONTRACT_SIGNING_PX_PER_MM as Le, CONTRACT_SIGNING_SEAL_MAX_SIZE as Re, CONTRACT_SIGNING_SEAL_MIN_SIZE as ze, CONTRACT_SIGNING_SEAL_TYPE_OPTIONS as Q, CONTRACT_SIGNING_SEAL_TYPE_PRESETS as Be, CONTRACT_SIGNING_SIZE_PROFILES as Ve, CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS as He, millimetersToContractSigningCssPixels as Ue, millimetersToContractSigningPixels as We, resolveContractSigningSealSizeInCssPixels as Ge, resolveContractSigningSealSizeInPixels as Ke, resolveContractSigningSealTypeOption as qe, toContractSigningRulePageSize as Je } from "./components/contract-signing-location/src/constants.mjs";
58
+ import { CONTRACT_SIGNING_RENDER_ORIGIN_OFFSET as Ye, CONTRACT_SIGNING_SNAP_THRESHOLD_PX as Xe, canResizeContractSigningPlacement as Ze, clampContractSigningPlacement as Qe, clampContractSigningZoom as $e, displayPointToContractPoint as et, getContractSigningPlacementDistances as tt, getContractSigningPlacementSize as nt, getContractSigningRuleGeometry as rt, moveContractSigningPlacementByDisplayDelta as it, normalizeContractSigningCoordinateDimension as at, normalizeContractSigningCoordinateScale as ot, resizeContractSigningSealGeometry as st, resolveContractSigningSealSizeLimit as ct, resolveContractSigningSizeProfile as lt, snapContractSigningPlacement as ut } from "./components/contract-signing-location/src/coordinates.mjs";
59
+ import { isContractTemplateAdvancedChoiceFieldType as dt, isContractTemplateBuiltinSelectorFieldType as ft, isContractTemplateFieldType as pt } from "./components/pro-contract-template-designer/src/types.mjs";
60
+ import { ContractTemplateLocationRuleBuildError as mt, SIGNING_PLACEMENT_DEFAULT_SIZES as ht, SIGNING_PLACEMENT_MIME as gt, SIGNING_PLACEMENT_MIN_SIZE as _t, SIGNING_PLACEMENT_TYPE_LABELS as vt, applySigningPlacementPatch as yt, buildContractLocationRules as bt, buildSigningPlacementLocationRules as xt, canMutateSigningPlacements as St, clampSigningPlacement as Ct, createSigningPlacement as wt, getSigningPlacementDefaultSize as Tt, getSigningPlacementTypeLabel as Et, moveSigningPlacementByDisplayDelta as Dt, normalizeSigningPlacements as Ot, parseSigningPlacementDragPayload as kt, resizeSigningPlacement as At, resolveSigningPlacementToolItems as jt, scaleSigningPlacementToPage as Mt, serializeSigningPlacementDragPayload as Nt, validateSigningPlacements as Pt } from "./components/pro-contract-template-designer/src/utils/signing-placement.mjs";
61
+ import { decodeContractTemplateJsonAttribute as Ft, encodeContractTemplateJsonAttribute as It, formatContractTemplateRenderValue as Lt, isAllowedContractTemplateRemoteUrl as Rt, isContractTemplateSelectionValue as zt, normalizeContractTemplateControlOptions as Bt, normalizeContractTemplateJsonObject as Vt, normalizeContractTemplateRequestTimeout as Ht, normalizeContractTemplateSelectionValue as Ut, normalizeContractTemplateSelectionValues as Wt } from "./components/pro-contract-template-designer/src/utils/advanced-controls.mjs";
62
+ import { ALL_DEFAULT_FIELD_TYPES as Gt, CONTRACT_TEMPLATE_RENDERER_VERSION as Kt, CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS as qt, CONTRACT_TEMPLATE_STYLE_VERSION as Jt, CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN as Yt, ContractTemplatePageDecorationValidationError as Xt, DEFAULT_ADVANCED_CHOICE_FIELD_TYPES as Zt, DEFAULT_BUILTIN_SELECTOR_FIELD_TYPES as Qt, DEFAULT_CUSTOM_FIELD_TYPES as $t, DEFAULT_FIELD_STYLE as en, DEFAULT_FIELD_TYPES as tn, DEFAULT_MULTILINE_LINE_HEIGHT as nn, DEFAULT_MULTILINE_ROWS as rn, DEFAULT_PAGE_SIZE as an, PAGE_SIZE_OPTIONS as on, buildTemplateExpressionHtml as sn, buildTemplateHtml as cn, buildTemplatePreviewHtml as ln, buildTemplatePreviewPages as un, cloneTemplateValue as dn, collectTemplateLocationRuleExportErrors as fn, collectTemplateValueVariableKeys as pn, collectTemplateVariableKeys as mn, constrainTemplatePageSizes as hn, createBlankPage as gn, createBlankTemplate as _n, createDefaultPage as vn, createDefaultTemplate as yn, createDesignerId as $, createTemplateVariable as bn, exportTemplateValue as xn, findPageSizeOption as Sn, getFieldOption as Cn, getPageSizeKey as wn, getPageSizeOption as Tn, inferPageFormat as En, normalizeContractTemplateMaxPages as Dn, normalizePageSizeOptions as On, normalizeTemplateValue as kn, resolvePageSize as An, splitPageContentByMeasurements as jn, syncTemplateVariablesWithPages as Mn, validateContractTemplateVariableKey as Nn, validateTemplateValue as Pn } from "./components/pro-contract-template-designer/src/composables/use-template-designer.mjs";
63
+ import { isSafeContractImageUrl as Fn } from "./components/pro-contract-template-designer/src/utils/image-url.mjs";
64
+ import { buildInitialRenderValues as In, buildTemplateRenderHtml as Ln, buildTemplateRenderPages as Rn, buildTemplateVariableData as zn, isEmptyRenderValue as Bn, normalizeRenderValues as Vn, resolveTemplateRenderSubmitErrors as Hn, sanitizeContractRendererHtml as Un, validateTemplateRenderStructure as Wn, validateTemplateRenderValues as Gn } from "./components/pro-contract-template-designer/src/utils/template-renderer.mjs";
65
+ import { buildContractSigningTemplateRenderPages as Kn, getContractSigningTemplateDisplayError as qn, isContractSigningTemplateFile as Jn, isContractSigningTemplateSource as Yn, validateContractSigningTemplateFile as Xn } from "./components/contract-signing-location/src/template-source.mjs";
66
+ import { ContractSigningLocationBuildError as Zn, buildContractSigningLocationOutput as Qn, buildContractSigningLocationRules as $n, cloneContractSigningLocationValue as er, createContractSigningLocationValue as tr, createContractSigningPlacement as nr, findContractSigningPage as rr, getContractSigningHomePage as ir, isContractSigningPageUsable as ar, normalizeContractSigningLocationValue as or, normalizeContractSigningProviderValue as sr, patchContractSigningPlacement as cr, resolveContractSigningPreviewPageSize as lr, validateContractSigningLocationValue as ur } from "./components/contract-signing-location/src/location-rules.mjs";
67
+ import { CONTRACT_SIGNING_FALLBACK_PAGE_SIZE as dr, CONTRACT_SIGNING_PAGE_GAP as fr, CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES as pr, buildPageLayouts as mr, contentPointToPagePoint as hr, findPageAtOffset as gr, getContractSigningAutoScrollDelta as _r, getPageLayoutScrollTop as vr, getPageLayoutsContentSize as yr, getVisibleRange as br } from "./components/contract-signing-location/src/page-layout.mjs";
68
+ import { formatContractSigningDate as xr, getContractSigningDateDataUrl as Sr, getContractSigningDateSvgDataUrl as Cr, getContractSigningPlacementDataUrl as wr, getContractSigningPlacementVisual as Tr, getContractSigningSealDataUrl as Er, getContractSigningSealLabel as Dr, getContractSigningSealSvgDataUrl as Or, getContractSigningSignatureDataUrl as kr, getContractSigningSignaturePngDataUrl as Ar, getContractSigningSignatureSvgDataUrl as jr, isContractSigningVisualDataUrl as Mr, isSafeContractSigningVisualDataUrl as Nr, resolveContractSigningSealLabel as Pr, toContractSigningSvgDataUrl as Fr } from "./components/contract-signing-location/src/signing-visuals.mjs";
69
+ import Ir from "./components/contract-signing-location/index.mjs";
70
+ import { DEFAULT_CONTRACT_IMAGE_COMPRESSION as Lr, MAX_CONTRACT_IMAGE_BYTES as Rr, MAX_CONTRACT_IMAGE_DIMENSION as zr, MIN_CONTRACT_IMAGE_DIMENSION as Br, compressContractImage as Vr, normalizeContractImageCompression as Hr, normalizeContractImageDimension as Ur, processContractImageFile as Wr, readContractImageFileAsDataUrl as Gr, resolveContractImageResizeDimensions as Kr } from "./components/pro-contract-template-designer/src/utils/content-image.mjs";
71
+ import { CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION as qr, CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION as Jr, DEFAULT_DRAFT_CACHE_INTERVAL as Yr, DEFAULT_DRAFT_CACHE_KEY as Xr, DEFAULT_DRAFT_CACHE_MAX_BYTES as Zr, clearTemplateDraftCache as Qr, createDraftCacheStatus as $r, estimateDraftCacheBytes as ei, formatDraftCacheSavedAt as ti, getBrowserDraftCacheStorage as ni, isBlankTemplateDraftValue as ri, isBlankTemplateFilesDraftValue as ii, loadTemplateDraftCache as ai, loadTemplateFilesDraftCache as oi, saveTemplateDraftCache as si, saveTemplateFilesDraftCache as ci } from "./components/pro-contract-template-designer/src/composables/use-template-draft-cache.mjs";
72
+ import { cloneContractTemplateFiles as li, constrainContractTemplateFiles as ui, createContractTemplateFile as di, exportContractTemplateFiles as fi, moveContractTemplateFile as pi, normalizeContractTemplateFiles as mi, removeContractTemplateFile as hi, renameContractTemplateFile as gi, replaceContractTemplateFile as _i, resolveContractTemplateActiveFileId as vi } from "./components/pro-contract-template-designer/src/composables/use-template-files.mjs";
73
+ import yi, { GdAntProContractTemplateRenderer as bi } from "./components/pro-contract-template-designer/index.mjs";
74
+ import { CONTRACT_SIGNING_FLOW_ACTION_LABELS as xi, CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS as Si, CONTRACT_SIGNING_FLOW_MAX_ZOOM as Ci, CONTRACT_SIGNING_FLOW_MIN_ZOOM as wi, CONTRACT_SIGNING_FLOW_SEAL_TYPES as Ti, CONTRACT_SIGNING_FLOW_SIGN_ACTIONS as Ei, CONTRACT_SIGNING_FLOW_ZOOM_STEP as Di, isContractSigningFlowInteractiveTarget as Oi, normalizeContractSigningFlowZoom as ki, resolveContractSigningFlowZoomShortcut as Ai, resolveContractSigningFlowZoomShortcutForTarget as ji } from "./components/pro-contract-signing-flow/src/constants.mjs";
75
+ import { buildConnectList as Mi, createDefaultSignRule as Ni, createEndNode as Pi, createId as Fi, createInitialFlow as Ii, createSignNode as Li, createStartNode as Ri, normalizeContractSigningFlow as zi, normalizeSignRule as Bi, useContractSigningFlow as Vi, validateContractSigningFlow as Hi } from "./components/pro-contract-signing-flow/src/composables/use-contract-signing-flow.mjs";
76
+ import Ui from "./components/pro-contract-signing-flow/index.mjs";
77
+ import { useContractTemplateAgent as Wi } from "./components/pro-contract-template-agent/src/composables/use-contract-template-agent.mjs";
78
+ import { adaptContractTemplateAgentSpec as Gi } from "./components/pro-contract-template-agent/src/utils/contract-template-agent-adapter.mjs";
79
+ import Ki, { GdAntProContractTemplateAgentPanel as qi, GdAntProContractTemplateAgentPreview as Ji } from "./components/pro-contract-template-agent/index.mjs";
80
+ import { setupAppConfig as Yi, useBasicAppConfig as Xi } from "./components/hooks/use-basic-app-config.mjs";
81
+ export { Gt as ALL_DEFAULT_FIELD_TYPES, je as CONTRACT_SIGNING_AUTO_SCROLL_EDGE_PX, Me as CONTRACT_SIGNING_CSS_PX_PER_POINT, dr as CONTRACT_SIGNING_FALLBACK_PAGE_SIZE, xi as CONTRACT_SIGNING_FLOW_ACTION_LABELS, Si as CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS, Ci as CONTRACT_SIGNING_FLOW_MAX_ZOOM, wi as CONTRACT_SIGNING_FLOW_MIN_ZOOM, Ti as CONTRACT_SIGNING_FLOW_SEAL_TYPES, Ei as CONTRACT_SIGNING_FLOW_SIGN_ACTIONS, Di as CONTRACT_SIGNING_FLOW_ZOOM_STEP, Ne as CONTRACT_SIGNING_MIN_PLACEMENT_SIZE, fr as CONTRACT_SIGNING_PAGE_GAP, Pe as CONTRACT_SIGNING_PLACEMENT_LABELS, Fe as CONTRACT_SIGNING_PLACEMENT_MIME, Ie as CONTRACT_SIGNING_PREVIEW_CONCURRENCY, Le as CONTRACT_SIGNING_PX_PER_MM, Ye as CONTRACT_SIGNING_RENDER_ORIGIN_OFFSET, Re as CONTRACT_SIGNING_SEAL_MAX_SIZE, ze as CONTRACT_SIGNING_SEAL_MIN_SIZE, Q as CONTRACT_SIGNING_SEAL_TYPE_OPTIONS, Be as CONTRACT_SIGNING_SEAL_TYPE_PRESETS, Ve as CONTRACT_SIGNING_SIZE_PROFILES, Xe as CONTRACT_SIGNING_SNAP_THRESHOLD_PX, pr as CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES, He as CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS, qr as CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION, Jr as CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION, Kt as CONTRACT_TEMPLATE_RENDERER_VERSION, qt as CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS, Jt as CONTRACT_TEMPLATE_STYLE_VERSION, Yt as CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN, xe as CONTRACT_TEXT_STYLE_PRESETS, Se as CONTRACT_TEXT_STYLE_PRESET_COMMANDS, Zn as ContractSigningLocationBuildError, mt as ContractTemplateLocationRuleBuildError, Xt as ContractTemplatePageDecorationValidationError, l as CoverScrollbarProps, Zt as DEFAULT_ADVANCED_CHOICE_FIELD_TYPES, Qt as DEFAULT_BUILTIN_SELECTOR_FIELD_TYPES, Ce as DEFAULT_CONTRACT_FONT_FAMILY, Lr as DEFAULT_CONTRACT_IMAGE_COMPRESSION, $t as DEFAULT_CUSTOM_FIELD_TYPES, Yr as DEFAULT_DRAFT_CACHE_INTERVAL, Xr as DEFAULT_DRAFT_CACHE_KEY, Zr as DEFAULT_DRAFT_CACHE_MAX_BYTES, en as DEFAULT_FIELD_STYLE, tn as DEFAULT_FIELD_TYPES, we as DEFAULT_FONT_FAMILY_OPTIONS, Te as DEFAULT_FONT_SIZE_PRESETS, nn as DEFAULT_MULTILINE_LINE_HEIGHT, rn as DEFAULT_MULTILINE_ROWS, an as DEFAULT_PAGE_SIZE, Ee as DEFAULT_TEXT_ALIGN_OPTIONS, ye as DRAWER_SIZE_WIDTH, le as FORM_RENDER_CONTEXT_KEY, ue as FormItemProps, de as FormRenderProps, J as GET_DEPT_TREE_URL, U as GTE_OPTIONS_URL, j as GTE_ORGTREE_URL, ne as GdAntCollapseTranstion, Ir as GdAntContractSigningLocation, u as GdAntCoverScrollBar, Z as GdAntDeptSelector, w as GdAntIcon, k as GdAntPlusUpload, y as GdAntProArea, me as GdAntProCell, he as GdAntProCellGroup, Ui as GdAntProContractSigningFlow, qi as GdAntProContractTemplateAgentPanel, Ji as GdAntProContractTemplateAgentPreview, Ki as GdAntProContractTemplateAgentWorkbench, yi as GdAntProContractTemplateDesigner, bi as GdAntProContractTemplateRenderer, be as GdAntProDrawer, ve as GdAntProDynamicTags, fe as GdAntProFormRender, O as GdAntProLoading, oe as GdAntProMenuTree, i as GdAntProModal, A as GdAntProOverlay, g as GdAntProPicker, q as GdAntProRoleSelector, _e as GdAntProSelectorGroup, x as GdAntProSignature, C as GdAntProTable, p as GdAntProTag, ce as GdAntProTagGroup, o as GdAntProTitle, D as GdAntProUpload, H as GdAntProUserAvatar, O as GdAntProloading, K as GdAntRoleSelector, d as GdAntScaleVirtualList, c as GdAntScrollBar, V as GdAntUserAvatar, z as GdAntUserSelector, B as GdAntUserSelectorCheckbox, Rr as MAX_CONTRACT_IMAGE_BYTES, zr as MAX_CONTRACT_IMAGE_DIMENSION, re as MENU_TREE_URL, Br as MIN_CONTRACT_IMAGE_DIMENSION, on as PAGE_SIZE_OPTIONS, pe as PRO_CELL_GROUP_KEY, m as PickerApiEnum, _ as ProAreaProps, h as ProPickerProps, b as ProSignatureProps, se as ProTagGroupProps, L as ProUserSelector, I as ProUserSelectorCheckbox, ht as SIGNING_PLACEMENT_DEFAULT_SIZES, gt as SIGNING_PLACEMENT_MIME, _t as SIGNING_PLACEMENT_MIN_SIZE, Q as SIGNING_PLACEMENT_SEAL_TYPE_OPTIONS, vt as SIGNING_PLACEMENT_TYPE_LABELS, a as TitleProps, T as UploadContextKey, M as UserSelectorProps, Gi as adaptContractTemplateAgentSpec, yt as applySigningPlacementPatch, Mi as buildConnectList, bt as buildContractLocationRules, Qn as buildContractSigningLocationOutput, $n as buildContractSigningLocationRules, Kn as buildContractSigningTemplateRenderPages, In as buildInitialRenderValues, mr as buildPageLayouts, xt as buildSigningPlacementLocationRules, sn as buildTemplateExpressionHtml, cn as buildTemplateHtml, ln as buildTemplatePreviewHtml, un as buildTemplatePreviewPages, Ln as buildTemplateRenderHtml, Rn as buildTemplateRenderPages, zn as buildTemplateVariableData, St as canMutateSigningPlacements, Ze as canResizeContractSigningPlacement, Qe as clampContractSigningPlacement, $e as clampContractSigningZoom, Ct as clampSigningPlacement, Qr as clearTemplateDraftCache, er as cloneContractSigningLocationValue, li as cloneContractTemplateFiles, dn as cloneTemplateValue, e as collapseProps, fn as collectTemplateLocationRuleExportErrors, pn as collectTemplateValueVariableKeys, mn as collectTemplateVariableKeys, Vr as compressContractImage, ui as constrainContractTemplateFiles, hn as constrainTemplatePageSizes, hr as contentPointToPagePoint, gn as createBlankPage, _n as createBlankTemplate, tr as createContractSigningLocationValue, nr as createContractSigningPlacement, di as createContractTemplateFile, vn as createDefaultPage, Ni as createDefaultSignRule, yn as createDefaultTemplate, $ as createDesignerId, $r as createDraftCacheStatus, Pi as createEndNode, Fi as createId, Ii as createInitialFlow, Li as createSignNode, wt as createSigningPlacement, Ri as createStartNode, bn as createTemplateVariable, Ft as decodeContractTemplateJsonAttribute, Y as deptSelectorEmits, X as deptSelectorProps, et as displayPointToContractPoint, It as encodeContractTemplateJsonAttribute, ei as estimateDraftCacheBytes, fi as exportContractTemplateFiles, xn as exportTemplateValue, rr as findContractSigningPage, gr as findPageAtOffset, Sn as findPageSizeOption, xr as formatContractSigningDate, Lt as formatContractTemplateRenderValue, ti as formatDraftCacheSavedAt, ee as generatePalette, ni as getBrowserDraftCacheStorage, _r as getContractSigningAutoScrollDelta, Sr as getContractSigningDateDataUrl, Cr as getContractSigningDateSvgDataUrl, ir as getContractSigningHomePage, wr as getContractSigningPlacementDataUrl, tt as getContractSigningPlacementDistances, nt as getContractSigningPlacementSize, Tr as getContractSigningPlacementVisual, rt as getContractSigningRuleGeometry, Er as getContractSigningSealDataUrl, Dr as getContractSigningSealLabel, Or as getContractSigningSealSvgDataUrl, kr as getContractSigningSignatureDataUrl, Ar as getContractSigningSignaturePngDataUrl, jr as getContractSigningSignatureSvgDataUrl, qn as getContractSigningTemplateDisplayError, De as getContractTextStylePreset, Cn as getFieldOption, vr as getPageLayoutScrollTop, yr as getPageLayoutsContentSize, wn as getPageSizeKey, Tn as getPageSizeOption, Tt as getSigningPlacementDefaultSize, Et as getSigningPlacementTypeLabel, br as getVisibleRange, En as inferPageFormat, Rt as isAllowedContractTemplateRemoteUrl, ri as isBlankTemplateDraftValue, ii as isBlankTemplateFilesDraftValue, Oi as isContractSigningFlowInteractiveTarget, ar as isContractSigningPageUsable, Jn as isContractSigningTemplateFile, Yn as isContractSigningTemplateSource, Mr as isContractSigningVisualDataUrl, dt as isContractTemplateAdvancedChoiceFieldType, ft as isContractTemplateBuiltinSelectorFieldType, pt as isContractTemplateFieldType, zt as isContractTemplateSelectionValue, Bn as isEmptyRenderValue, Fn as isSafeContractImageUrl, Nr as isSafeContractSigningVisualDataUrl, ai as loadTemplateDraftCache, oi as loadTemplateFilesDraftCache, Ue as millimetersToContractSigningCssPixels, We as millimetersToContractSigningPixels, it as moveContractSigningPlacementByDisplayDelta, pi as moveContractTemplateFile, Dt as moveSigningPlacementByDisplayDelta, Hr as normalizeContractImageCompression, Ur as normalizeContractImageDimension, at as normalizeContractSigningCoordinateDimension, ot as normalizeContractSigningCoordinateScale, zi as normalizeContractSigningFlow, ki as normalizeContractSigningFlowZoom, or as normalizeContractSigningLocationValue, sr as normalizeContractSigningProviderValue, Bt as normalizeContractTemplateControlOptions, mi as normalizeContractTemplateFiles, Vt as normalizeContractTemplateJsonObject, Dn as normalizeContractTemplateMaxPages, Ht as normalizeContractTemplateRequestTimeout, Ut as normalizeContractTemplateSelectionValue, Wt as normalizeContractTemplateSelectionValues, Oe as normalizeFontFamilyValue, On as normalizePageSizeOptions, Vn as normalizeRenderValues, Bi as normalizeSignRule, Ot as normalizeSigningPlacements, kn as normalizeTemplateValue, kt as parseSigningPlacementDragPayload, cr as patchContractSigningPlacement, ie as proMenuTreeEmits, ae as proMenuTreeProps, t as proModalEmits, f as proTagProps, Wr as processContractImageFile, Gr as readContractImageFileAsDataUrl, hi as removeContractTemplateFile, gi as renameContractTemplateFile, _i as replaceContractTemplateFile, st as resizeContractSigningSealGeometry, At as resizeSigningPlacement, Kr as resolveContractImageResizeDimensions, Ai as resolveContractSigningFlowZoomShortcut, ji as resolveContractSigningFlowZoomShortcutForTarget, lr as resolveContractSigningPreviewPageSize, Pr as resolveContractSigningSealLabel, Ge as resolveContractSigningSealSizeInCssPixels, Ke as resolveContractSigningSealSizeInPixels, ct as resolveContractSigningSealSizeLimit, qe as resolveContractSigningSealTypeOption, lt as resolveContractSigningSizeProfile, vi as resolveContractTemplateActiveFileId, ke as resolveContractTextStylePresetCommands, Ae as resolveFontFamilyOptions, An as resolvePageSize, jt as resolveSigningPlacementToolItems, Hn as resolveTemplateRenderSubmitErrors, N as resolveUserSelectorMaxCount, W as roleSelectorEmits, G as roleSelectorProps, Un as sanitizeContractRendererHtml, si as saveTemplateDraftCache, ci as saveTemplateFilesDraftCache, Mt as scaleSigningPlacementToPage, s as scrollbarProps, ge as selectContextKey, P as selectUserContextKey, Nt as serializeSigningPlacementDragPayload, Yi as setupAppConfig, te as setupTheme, ut as snapContractSigningPlacement, jn as splitPageContentByMeasurements, Mn as syncTemplateVariablesWithPages, Je as toContractSigningRulePageSize, Fr as toContractSigningSvgDataUrl, Xi as useBasicAppConfig, Vi as useContractSigningFlow, Wi as useContractTemplateAgent, v as useProArea, n as useProModal, r as useProModalInit, S as useProTable, E as useUpload, R as useUserSelector, F as userSelectorEmits, Hi as validateContractSigningFlow, ur as validateContractSigningLocationValue, Xn as validateContractSigningTemplateFile, Nn as validateContractTemplateVariableKey, Pt as validateSigningPlacements, Wn as validateTemplateRenderStructure, Gn as validateTemplateRenderValues, Pn as validateTemplateValue };
@@ -1 +1 @@
1
- require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./constants.cjs`),t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`),r=require(`./location-rules.cjs`),i=require(`./ContractSigningLocationCanvas.cjs`),a=require(`./ContractSigningLocationInspector.cjs`),o=require(`./ContractSigningLocationNavigator.cjs`),s=require(`./preview-requests.cjs`);let c=require(`vue`),l=require(`ant-design-vue`),u=require(`@ant-design/icons-vue`);var ee={class:`gd-ant-contract-signing-location__header`},te={class:`gd-ant-contract-signing-location__title`},ne={class:`gd-ant-contract-signing-location__header-actions`},re={class:`gd-ant-contract-signing-location__placement-count`},ie={key:0,class:`gd-ant-contract-signing-location__error`,role:`alert`},ae=[`aria-label`,`aria-expanded`],oe={class:`gd-ant-contract-signing-location__panel-stack`},se=[`aria-label`,`aria-expanded`],ce={class:`gd-ant-contract-signing-location__panel-stack`},d=(0,c.defineComponent)({name:`ContractSigningLocation`,__name:`ContractSigningLocation`,props:{modelValue:{default:void 0},mode:{default:`placement`},contractId:{default:``},dataProvider:{default:void 0},sealTypeOptions:{default:()=>e.CONTRACT_SIGNING_SEAL_TYPE_OPTIONS.map(e=>({...e}))},allowedPlacementTypes:{default:()=>[`seal`,`signature`,`date`]},sizeProfile:{default:`default`},autoLoad:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},minZoom:{default:.5},maxZoom:{default:1.5},zoom:{default:1},resizable:{type:Boolean,default:!1},sealMinSize:{default:8},sealMaxSize:{default:640},height:{default:void 0},showSubmitButton:{type:Boolean,default:!0},showInspector:{type:Boolean,default:void 0}},emits:[`update:modelValue`,`update:zoom`,`change`,`ready`,`file-change`,`page-change`,`submit`,`error`],setup(e,{expose:d,emit:le}){let f=e,p=le,m=(0,c.computed)(()=>t.resolveContractSigningSealSizeLimit(f.sealMinSize,f.sealMaxSize)),h=r.normalizeContractSigningLocationValue(f.modelValue??r.createContractSigningLocationValue(f.contractId),{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions}),g=(0,c.ref)(h),_=(0,c.shallowRef)(r.cloneContractSigningLocationValue(h)),v=(0,c.shallowRef)(h.files[0]?.fileId??``),y=(0,c.shallowRef)(h.files[0]?.pages[0]?.pageIndex??0),b=(0,c.shallowRef)(``),x=(0,c.shallowRef)(!1),S=(0,c.shallowRef)(``),C=(0,c.ref)([]),w=(0,c.ref)({}),T=(0,c.shallowRef)(B(f.zoom)),E=(0,c.ref)(null),D=(0,c.ref)(!1),O=(0,c.ref)(!1),k=0,A=!1,j,M=[],N=0,P=new s.ContractSigningPreviewRequests,F=(0,c.computed)(()=>f.mode===`preview`),I=(0,c.computed)(()=>F.value||f.readonly||f.disabled),ue=(0,c.computed)(()=>f.showInspector??!F.value),de=(0,c.computed)(()=>!F.value&&f.showSubmitButton),fe=(0,c.computed)(()=>g.value.files.length<=1),pe=(0,c.computed)(()=>Ve(f.height)),L=(0,c.computed)(()=>g.value.files.find(e=>e.fileId===v.value)??g.value.files[0]),R=(0,c.computed)(()=>L.value?.pages.find(e=>e.pageIndex===y.value)??L.value?.pages[0]),me=(0,c.computed)(()=>{let e=L.value;return e?g.value.placements.filter(t=>t.fileId===e.fileId):[]}),z=(0,c.computed)(()=>g.value.placements.find(e=>e.id===b.value)),he=(0,c.computed)(()=>{let e=z.value;return e?r.findContractSigningPage(g.value,e.fileId,e.pageIndex)??R.value:R.value}),ge=(0,c.computed)(()=>C.value.filter(e=>e.endsWith(`:thumbnail`)).map(e=>e.slice(0,-10))),_e=(0,c.computed)(()=>Object.keys(w.value).filter(e=>e.endsWith(`:thumbnail`)).map(e=>e.slice(0,-10))),ve=(0,c.computed)(()=>C.value.filter(e=>e.endsWith(`:preview`)).map(e=>e.slice(0,-8))),ye=(0,c.computed)(()=>{let e={};return Object.entries(w.value).forEach(([t,n])=>{t.endsWith(`:preview`)&&(e[t.slice(0,-8)]=n)}),e});(0,c.watch)(()=>f.modelValue,e=>{if(!e)return;let t=r.normalizeContractSigningLocationValue(e,{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions});$(t)!==$(g.value)&&(Z(),g.value=t,_.value=r.cloneContractSigningLocationValue(t),K(),(0,c.nextTick)(()=>E.value?.scrollToPage(y.value)))},{deep:!0}),(0,c.watch)(m,()=>{$(r.normalizeContractSigningLocationValue(g.value,{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions}))!==$(g.value)&&V(g.value)}),(0,c.watch)(()=>f.zoom,e=>{T.value=B(e)}),(0,c.watch)(()=>[f.contractId,f.dataProvider,f.autoLoad],([e,t,n],r)=>{!n||!t||!e||(!r||e!==r[0]||t!==r[1])&&H()},{immediate:!0}),(0,c.onBeforeUnmount)(()=>{A=!0,k+=1,X(),Z()});function B(e){let n=Math.min(f.minZoom,f.maxZoom),r=Math.max(f.minZoom,f.maxZoom);return t.clampContractSigningZoom(e,n,r)}function be(e){let t=B(e);T.value=t,p(`update:zoom`,t)}function xe(){return E.value?.fitWidth()??T.value}function V(e,t={}){g.value=r.normalizeContractSigningLocationValue(e,{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions}),t.clearError!==!1&&(S.value=``),K();let n=r.cloneContractSigningLocationValue(g.value);return p(`update:modelValue`,n),p(`change`,n),n}async function H(){let e=String(f.contractId||g.value.contractId||``).trim();if(!f.dataProvider)return q({code:`CONTRACT_PROVIDER_MISSING`,message:`未配置合同数据提供器,请由宿主传入文件数据`}),!1;if(!e)return q({code:`CONTRACT_ID_MISSING`,message:`缺少用于加载合同的 PaaS contractId`}),!1;let n=++k;Z(),x.value=!0,S.value=``;try{let i=await f.dataProvider.loadContract({contractId:e});if(A||n!==k)return!1;let a=r.normalizeContractSigningProviderValue(i,t.normalizeContractSigningCoordinateScale(f.dataProvider.coordinateScale)),o=r.normalizeContractSigningLocationValue({...a,contractId:e,placements:a.placements.length?a.placements:g.value.contractId===e?g.value.placements:[]},{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions});g.value=o,_.value=r.cloneContractSigningLocationValue(o),b.value=``,K();let s=r.cloneContractSigningLocationValue(o);return p(`update:modelValue`,s),p(`change`,s),p(`ready`,s),Se(),(0,c.nextTick)(()=>E.value?.scrollToPage(y.value)),s}catch(e){return A||n!==k||q(J(e,`CONTRACT_LOAD_FAILED`,`合同加载失败,请检查授权后重试`)),!1}finally{!A&&n===k&&(x.value=!1)}}async function Se(){f.dataProvider?.loadPagePreview&&await Promise.allSettled(g.value.files.map(e=>{if(n.isContractSigningTemplateFile(e))return Promise.resolve();let t=r.getContractSigningHomePage(e.pages);return t&&!t.thumbnailUrl?U(e.fileId,t.pageIndex,!0):Promise.resolve()}))}async function U(e,i,a){let o=f.dataProvider?.loadPagePreview,s=g.value.files.find(t=>t.fileId===e),c=r.findContractSigningPage(g.value,e,i),l=Y(e,i,a);if(!o||n.isContractSigningTemplateFile(s)||!c||C.value.includes(l))return;Le(l),C.value=[...C.value,l];let u=P.start(l);try{let n=await o({contractId:g.value.contractId||f.contractId,fileId:e,pageIndex:i,thumbnail:a,signal:u.signal});if(A||!P.isCurrent(l,u)||!r.findContractSigningPage(g.value,e,i))return;let s=r.findContractSigningPage(g.value,e,i),c=r.resolveContractSigningPreviewPageSize(s,n,t.normalizeContractSigningCoordinateScale(f.dataProvider?.coordinateScale),a),ee=g.value.files.map(t=>t.fileId===e?{...t,pages:t.pages.map(e=>e.pageIndex===i?{...e,...c||{},...a?{thumbnailUrl:n.url}:{previewUrl:n.url}}:e)}:t);V({...g.value,files:ee},{clearError:!1})}catch(t){if(!P.isCurrent(l,u)||Re(t))return;let n=J(t,`CONTRACT_PREVIEW_FAILED`,`合同页面预览加载失败,可切换页面或重试`,{fileId:e,pageIndex:i});p(`error`,n),w.value={...w.value,[l]:n.message}}finally{P.finish(l,u)&&(C.value=C.value.filter(e=>e!==l))}}function Ce(e){if(e===v.value)return;let t=v.value;X(),t&&(Z(e=>e.startsWith(`${t}:`)&&e.endsWith(`:preview`)),M=M.filter(t=>t.fileId===e)),v.value=e;let n=g.value.files.find(t=>t.fileId===e);y.value=r.getContractSigningHomePage(n?.pages)?.pageIndex??0,b.value=``,p(`file-change`,e),p(`page-change`,e,y.value),(0,c.nextTick)(()=>E.value?.scrollToPage(y.value))}function we(e){y.value=e}function Te(e){y.value!==e&&(y.value=e),p(`page-change`,v.value,e)}function Ee(e){X();let t=v.value;j=setTimeout(()=>{j=void 0,v.value===t&&De(t,e)},150)}function De(e,t){let r=g.value.files.find(t=>t.fileId===e);!r||n.isContractSigningTemplateFile(r)||e!==v.value||(t.forEach(e=>{let t=r.pages.find(t=>t.pageIndex===e);!t||t.previewUrl||C.value.includes(Y(r.fileId,e,!1))||M.some(t=>t.fileId===r.fileId&&t.pageIndex===e)||M.push({fileId:r.fileId,pageIndex:e})}),Oe())}async function Oe(){let e=v.value;for(M=M.filter(t=>t.fileId===e);N<3&&M.length;){let t=M.shift();if(!t||t.fileId!==e)continue;let i=r.findContractSigningPage(g.value,t.fileId,t.pageIndex),a=g.value.files.find(e=>e.fileId===t.fileId);!i||n.isContractSigningTemplateFile(a)||i.previewUrl||C.value.includes(Y(t.fileId,t.pageIndex,!1))||(N+=1,U(t.fileId,t.pageIndex,!1).finally(()=>{N=Math.max(0,N-1),Oe()}))}}function ke(e){let t=g.value.placements.find(t=>t.id===e);t&&(t.fileId!==v.value&&Ce(t.fileId),b.value=e,(0,c.nextTick)(()=>E.value?.scrollToPlacement(e)))}function W(e,t={}){if(I.value||!f.allowedPlacementTypes.includes(e))return;let n=t.fileId??L.value?.fileId,i=t.pageIndex??R.value?.pageIndex;if(!n||i===void 0)return;let a=r.findContractSigningPage(g.value,n,i);if(!a||!r.isContractSigningPageUsable(a)){q({code:`CONTRACT_PAGE_SIZE_INVALID`,message:`当前页面缺少有效的原始宽高,暂时不能添加签署位置`,fileId:n,pageIndex:i});return}let o=f.sealTypeOptions.find(e=>String(e.value).trim())?.value;if(e===`seal`&&!o){q({code:`CONTRACT_SEAL_TYPES_MISSING`,message:`当前未配置可用的印章类型,暂时不能添加印章位置`,fileId:n,pageIndex:i});return}let s=r.createContractSigningPlacement(e,n,a,{signLeft:t.signLeft,signTop:t.signTop,sizeProfile:f.sizeProfile,sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions,...e===`seal`?{sealType:[String(o)]}:{}});return V({...g.value,placements:[...g.value.placements,s]}),v.value=n,y.value=i,b.value=s.id,Q(s)}function Ae(e,t){I.value||V({...g.value,placements:g.value.placements.map(n=>{if(n.id!==e)return n;let i=t.pageIndex===void 0?n.pageIndex:t.pageIndex,a=r.findContractSigningPage(g.value,n.fileId,i);return r.patchContractSigningPlacement(n,t,a,{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions})})})}function je(){let e=z.value;if(!e||I.value)return;let n=r.findContractSigningPage(g.value,e.fileId,e.pageIndex);if(!n)return;let i=t.clampContractSigningPlacement({...Q(e),id:Be(),signLeft:e.signLeft+16,signTop:e.signTop+16},n,{sealSizeLimit:m.value});V({...g.value,placements:[...g.value.placements,i]}),b.value=i.id}function G(e){I.value||(V({...g.value,placements:g.value.placements.filter(t=>t.id!==e)}),b.value===e&&(b.value=``))}function Me(){return r.validateContractSigningLocationValue(g.value,{allowedSealTypes:f.sealTypeOptions.map(e=>e.value)})}function Ne(){return r.cloneContractSigningLocationValue(g.value)}function Pe(){return r.buildContractSigningLocationOutput(Ne(),{allowedSealTypes:f.sealTypeOptions.map(e=>e.value)})}function Fe(){try{let e=Pe();return S.value=``,p(`submit`,e),e}catch(e){return q(e instanceof r.ContractSigningLocationBuildError?{...e.errors[0],cause:e}:J(e,`CONTRACT_SIGNING_LOCATION_INVALID`,`指定签署位置数据不完整`)),!1}}function Ie(){let e=V(r.cloneContractSigningLocationValue(_.value));return b.value=``,K(!0),(0,c.nextTick)(()=>E.value?.scrollToPage(y.value)),e}function K(e=!1){let t=(e?void 0:g.value.files.find(e=>e.fileId===v.value))??g.value.files[0];v.value=t?.fileId??``,y.value=((e?void 0:t?.pages.find(e=>e.pageIndex===y.value))??t?.pages[0])?.pageIndex??0,g.value.placements.some(e=>e.id===b.value)||(b.value=``)}function q(e){S.value=e.message,p(`error`,e)}function J(e,t,n,r={}){let i=typeof e==`object`&&e&&`status`in e?Number(e.status):void 0;return{code:t,message:i===401||i===403?`授权已失效,请重新获取签署凭证`:e instanceof Error&&e.message?e.message:n,...r,cause:e}}function Y(e,t,n){return`${e}:${t}:${n?`thumbnail`:`preview`}`}function Le(e){if(!(e in w.value))return;let t={...w.value};delete t[e],w.value=t}function X(){j&&=(clearTimeout(j),void 0)}function Z(e){let t=e??(()=>!0),n=new Set(P.abort(t));n.size&&(C.value=C.value.filter(e=>!n.has(e))),e||(M=[])}function Re(e){return!!(e&&typeof e==`object`&&`cancelled`in e&&e.cancelled)||e instanceof DOMException&&e.name===`AbortError`}function ze(e){let t=L.value;t&&U(t.fileId,e,!1)}function Q(e){return{...e,sealType:e.sealType?[...e.sealType]:void 0}}function $(e){return JSON.stringify(e)}function Be(){return typeof crypto<`u`&&`randomUUID`in crypto?`contract-signing-placement-${crypto.randomUUID()}`:`contract-signing-placement-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Ve(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return{"--gd-ant-contract-signing-location-height":`${e}px`};if(typeof e==`string`&&e.trim())return{"--gd-ant-contract-signing-location-height":e.trim()}}return d({load:H,validate:Me,getValue:Ne,getOutput:Pe,submit:Fe,reset:Ie,addPlacement:W,removePlacement:G,fitWidth:xe}),(t,n)=>((0,c.openBlock)(),(0,c.createElementBlock)(`section`,{class:(0,c.normalizeClass)([`gd-ant-contract-signing-location`,{"is-readonly":I.value,"is-disabled":e.disabled,"is-preview":F.value}]),style:(0,c.normalizeStyle)(pe.value)},[(0,c.createElementVNode)(`header`,ee,[(0,c.createElementVNode)(`div`,te,[n[6]||=(0,c.createElementVNode)(`span`,{class:`gd-ant-contract-signing-location__title-bar`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,null,[(0,c.createElementVNode)(`strong`,null,(0,c.toDisplayString)(F.value?`合同预览`:`指定合同签署位置`),1)])]),(0,c.createElementVNode)(`div`,ne,[(0,c.createElementVNode)(`span`,re,(0,c.toDisplayString)(g.value.placements.length)+` 个位置`,1),e.dataProvider?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:0,loading:x.value,onClick:H},{default:(0,c.withCtx)(()=>[(0,c.createVNode)((0,c.unref)(u.ReloadOutlined),{"aria-hidden":`true`}),n[7]||=(0,c.createTextVNode)(` 重新加载 `,-1)]),_:1},8,[`loading`])):(0,c.createCommentVNode)(``,!0),F.value?(0,c.createCommentVNode)(``,!0):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:1,disabled:I.value,onClick:Ie},{default:(0,c.withCtx)(()=>[...n[8]||=[(0,c.createTextVNode)(`重置`,-1)]]),_:1},8,[`disabled`])),de.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:2,type:`primary`,loading:x.value,disabled:e.disabled,onClick:Fe},{default:(0,c.withCtx)(()=>[...n[9]||=[(0,c.createTextVNode)(`确认并生成规则`,-1)]]),_:1},8,[`loading`,`disabled`])):(0,c.createCommentVNode)(``,!0)])]),S.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,ie,[(0,c.createElementVNode)(`span`,null,(0,c.toDisplayString)(S.value),1),e.dataProvider&&e.contractId?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:0,type:`link`,size:`small`,onClick:H},{default:(0,c.withCtx)(()=>[...n[10]||=[(0,c.createTextVNode)(`重试`,-1)]]),_:1})):(0,c.createCommentVNode)(``,!0)])):(0,c.createCommentVNode)(``,!0),(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__body`,{"is-single-file":fe.value,"is-inspector-hidden":!ue.value}])},[fe.value?(0,c.createCommentVNode)(``,!0):((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:0,class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__navigator-wrap`,{"is-collapsed":O.value}])},[(0,c.createVNode)((0,c.unref)(l.Tooltip),{title:O.value?`展开页面栏`:`收起页面栏`},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`button`,{type:`button`,class:`gd-ant-contract-signing-location__panel-handle`,"aria-label":O.value?`展开页面栏`:`收起页面栏`,"aria-expanded":!O.value,onClick:n[0]||=e=>O.value=!O.value},[O.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.RightOutlined),{key:0,"aria-hidden":`true`})):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.LeftOutlined),{key:1,"aria-hidden":`true`}))],8,ae)]),_:1},8,[`title`]),(0,c.createElementVNode)(`div`,oe,[(0,c.createVNode)(o.default,{files:g.value.files,"active-file-id":v.value,"loading-preview-keys":ge.value,"error-preview-keys":_e.value,onSelect:Ce},null,8,[`files`,`active-file-id`,`loading-preview-keys`,`error-preview-keys`])])],2)),(0,c.createVNode)(i.default,{ref_key:`canvasRef`,ref:E,file:L.value,pages:L.value?.pages??[],placements:me.value,"selected-placement-id":b.value,readonly:I.value,resizable:e.resizable,"seal-size-limit":m.value,"seal-type-options":e.sealTypeOptions,zoom:T.value,"preview-loading-keys":ve.value,"preview-error-map":ye.value,"active-page-index":y.value,"min-zoom":e.minZoom,"max-zoom":e.maxZoom,onSelect:n[1]||=e=>b.value=e,onRetry:ze,onAdd:n[2]||=(e,t,n,r)=>W(e,{signLeft:t,signTop:n,pageIndex:r}),onUpdate:n[3]||=e=>Ae(e.id,e),onRemove:G,onVisiblePages:Ee,onViewPage:we,onPageChange:Te,onZoomChange:be},null,8,[`file`,`pages`,`placements`,`selected-placement-id`,`readonly`,`resizable`,`seal-size-limit`,`seal-type-options`,`zoom`,`preview-loading-keys`,`preview-error-map`,`active-page-index`,`min-zoom`,`max-zoom`]),ue.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:1,class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__inspector-wrap`,{"is-collapsed":D.value}])},[(0,c.createVNode)((0,c.unref)(l.Tooltip),{title:D.value?`展开属性栏`:`收起属性栏`},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`button`,{type:`button`,class:`gd-ant-contract-signing-location__panel-handle`,"aria-label":D.value?`展开属性栏`:`收起属性栏`,"aria-expanded":!D.value,onClick:n[4]||=e=>D.value=!D.value},[D.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.RightOutlined),{key:1,"aria-hidden":`true`}))],8,se)]),_:1},8,[`title`]),(0,c.createElementVNode)(`div`,ce,[(0,c.createVNode)(a.default,{placement:z.value,page:he.value,pages:L.value?.pages??[],placements:me.value,readonly:I.value,resizable:e.resizable,"seal-size-limit":m.value,"seal-type-options":e.sealTypeOptions,"allowed-placement-types":e.allowedPlacementTypes,"size-profile":e.sizeProfile,onAdd:W,onUpdate:n[5]||=e=>z.value&&Ae(z.value.id,e),onDuplicate:je,onRemove:G,onLocate:ke},null,8,[`placement`,`page`,`pages`,`placements`,`readonly`,`resizable`,`seal-size-limit`,`seal-type-options`,`allowed-placement-types`,`size-profile`])])],2)):(0,c.createCommentVNode)(``,!0)],2)],6))}});exports.default=d;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./constants.cjs`),t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`),r=require(`./location-rules.cjs`),i=require(`./ContractSigningLocationCanvas.cjs`),a=require(`./ContractSigningLocationInspector.cjs`),o=require(`./ContractSigningLocationNavigator.cjs`),s=require(`./preview-requests.cjs`);let c=require(`vue`),l=require(`ant-design-vue`),u=require(`@ant-design/icons-vue`);var ee={class:`gd-ant-contract-signing-location__header`},te={class:`gd-ant-contract-signing-location__title`},ne={class:`gd-ant-contract-signing-location__header-actions`},re={class:`gd-ant-contract-signing-location__placement-count`},ie={key:0,class:`gd-ant-contract-signing-location__error`,role:`alert`},ae=[`aria-label`,`aria-expanded`],oe={class:`gd-ant-contract-signing-location__panel-stack`},se=[`aria-label`,`aria-expanded`],ce={class:`gd-ant-contract-signing-location__panel-stack`},d=(0,c.defineComponent)({name:`ContractSigningLocation`,__name:`ContractSigningLocation`,props:{modelValue:{default:void 0},mode:{default:`placement`},contractId:{default:``},dataProvider:{default:void 0},sealTypeOptions:{default:()=>e.CONTRACT_SIGNING_SEAL_TYPE_OPTIONS.map(e=>({...e}))},allowedPlacementTypes:{default:()=>[`seal`,`signature`,`date`]},sizeProfile:{default:`default`},autoLoad:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},minZoom:{default:.5},maxZoom:{default:1.5},zoom:{default:1},resizable:{type:Boolean,default:!1},sealMinSize:{default:8},sealMaxSize:{default:640},height:{default:void 0},showSubmitButton:{type:Boolean,default:!0},showInspector:{type:Boolean,default:void 0}},emits:[`update:modelValue`,`update:zoom`,`change`,`ready`,`file-change`,`page-change`,`submit`,`error`],setup(e,{expose:d,emit:le}){let f=e,p=le,m=(0,c.computed)(()=>t.resolveContractSigningSealSizeLimit(f.sealMinSize,f.sealMaxSize)),h=r.normalizeContractSigningLocationValue(f.modelValue??r.createContractSigningLocationValue(f.contractId),{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions}),g=(0,c.shallowRef)(h),_=(0,c.shallowRef)(r.cloneContractSigningLocationValue(h)),v=(0,c.shallowRef)(h.files[0]?.fileId??``),y=(0,c.shallowRef)(h.files[0]?.pages[0]?.pageIndex??0),b=(0,c.shallowRef)(``),x=(0,c.shallowRef)(!1),S=(0,c.shallowRef)(``),C=(0,c.ref)([]),w=(0,c.ref)({}),T=(0,c.shallowRef)(B(f.zoom)),E=(0,c.ref)(null),D=(0,c.ref)(!1),O=(0,c.ref)(!1),k=0,A=!1,j,M=[],N=0,P=new s.ContractSigningPreviewRequests,F=(0,c.computed)(()=>f.mode===`preview`),I=(0,c.computed)(()=>F.value||f.readonly||f.disabled),ue=(0,c.computed)(()=>f.showInspector??!F.value),de=(0,c.computed)(()=>!F.value&&f.showSubmitButton),fe=(0,c.computed)(()=>g.value.files.length<=1),pe=(0,c.computed)(()=>Ve(f.height)),L=(0,c.computed)(()=>g.value.files.find(e=>e.fileId===v.value)??g.value.files[0]),R=(0,c.computed)(()=>L.value?.pages.find(e=>e.pageIndex===y.value)??L.value?.pages[0]),me=(0,c.computed)(()=>{let e=L.value;return e?g.value.placements.filter(t=>t.fileId===e.fileId):[]}),z=(0,c.computed)(()=>g.value.placements.find(e=>e.id===b.value)),he=(0,c.computed)(()=>{let e=z.value;return e?r.findContractSigningPage(g.value,e.fileId,e.pageIndex)??R.value:R.value}),ge=(0,c.computed)(()=>C.value.filter(e=>e.endsWith(`:thumbnail`)).map(e=>e.slice(0,-10))),_e=(0,c.computed)(()=>Object.keys(w.value).filter(e=>e.endsWith(`:thumbnail`)).map(e=>e.slice(0,-10))),ve=(0,c.computed)(()=>C.value.filter(e=>e.endsWith(`:preview`)).map(e=>e.slice(0,-8))),ye=(0,c.computed)(()=>{let e={};return Object.entries(w.value).forEach(([t,n])=>{t.endsWith(`:preview`)&&(e[t.slice(0,-8)]=n)}),e});(0,c.watch)(()=>f.modelValue,e=>{if(!e)return;let t=r.normalizeContractSigningLocationValue(e,{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions});$(t)!==$(g.value)&&(Z(),g.value=t,_.value=r.cloneContractSigningLocationValue(t),K(),(0,c.nextTick)(()=>E.value?.scrollToPage(y.value)))},{deep:!0}),(0,c.watch)(m,()=>{$(r.normalizeContractSigningLocationValue(g.value,{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions}))!==$(g.value)&&V(g.value)}),(0,c.watch)(()=>f.zoom,e=>{T.value=B(e)}),(0,c.watch)(()=>[f.contractId,f.dataProvider,f.autoLoad],([e,t,n],r)=>{!n||!t||!e||(!r||e!==r[0]||t!==r[1])&&H()},{immediate:!0}),(0,c.onBeforeUnmount)(()=>{A=!0,k+=1,X(),Z()});function B(e){let n=Math.min(f.minZoom,f.maxZoom),r=Math.max(f.minZoom,f.maxZoom);return t.clampContractSigningZoom(e,n,r)}function be(e){let t=B(e);T.value=t,p(`update:zoom`,t)}function xe(){return E.value?.fitWidth()??T.value}function V(e,t={}){g.value=r.normalizeContractSigningLocationValue(e,{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions}),t.clearError!==!1&&(S.value=``),K();let n=r.cloneContractSigningLocationValue(g.value);return p(`update:modelValue`,n),p(`change`,n),n}async function H(){let e=String(f.contractId||g.value.contractId||``).trim();if(!f.dataProvider)return q({code:`CONTRACT_PROVIDER_MISSING`,message:`未配置合同数据提供器,请由宿主传入文件数据`}),!1;if(!e)return q({code:`CONTRACT_ID_MISSING`,message:`缺少用于加载合同的 PaaS contractId`}),!1;let n=++k;Z(),x.value=!0,S.value=``;try{let i=await f.dataProvider.loadContract({contractId:e});if(A||n!==k)return!1;let a=r.normalizeContractSigningProviderValue(i,t.normalizeContractSigningCoordinateScale(f.dataProvider.coordinateScale)),o=r.normalizeContractSigningLocationValue({...a,contractId:e,placements:a.placements.length?a.placements:g.value.contractId===e?g.value.placements:[]},{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions});g.value=o,_.value=r.cloneContractSigningLocationValue(o),b.value=``,K();let s=r.cloneContractSigningLocationValue(o);return p(`update:modelValue`,s),p(`change`,s),p(`ready`,s),Se(),(0,c.nextTick)(()=>E.value?.scrollToPage(y.value)),s}catch(e){return A||n!==k||q(J(e,`CONTRACT_LOAD_FAILED`,`合同加载失败,请检查授权后重试`)),!1}finally{!A&&n===k&&(x.value=!1)}}async function Se(){f.dataProvider?.loadPagePreview&&await Promise.allSettled(g.value.files.map(e=>{if(n.isContractSigningTemplateFile(e))return Promise.resolve();let t=r.getContractSigningHomePage(e.pages);return t&&!t.thumbnailUrl?U(e.fileId,t.pageIndex,!0):Promise.resolve()}))}async function U(e,i,a){let o=f.dataProvider?.loadPagePreview,s=g.value.files.find(t=>t.fileId===e),c=r.findContractSigningPage(g.value,e,i),l=Y(e,i,a);if(!o||n.isContractSigningTemplateFile(s)||!c||C.value.includes(l))return;Le(l),C.value=[...C.value,l];let u=P.start(l);try{let n=await o({contractId:g.value.contractId||f.contractId,fileId:e,pageIndex:i,thumbnail:a,signal:u.signal});if(A||!P.isCurrent(l,u)||!r.findContractSigningPage(g.value,e,i))return;let s=r.findContractSigningPage(g.value,e,i),c=r.resolveContractSigningPreviewPageSize(s,n,t.normalizeContractSigningCoordinateScale(f.dataProvider?.coordinateScale),a),ee=g.value.files.map(t=>t.fileId===e?{...t,pages:t.pages.map(e=>e.pageIndex===i?{...e,...c||{},...a?{thumbnailUrl:n.url}:{previewUrl:n.url}}:e)}:t);V({...g.value,files:ee},{clearError:!1})}catch(t){if(!P.isCurrent(l,u)||Re(t))return;let n=J(t,`CONTRACT_PREVIEW_FAILED`,`合同页面预览加载失败,可切换页面或重试`,{fileId:e,pageIndex:i});p(`error`,n),w.value={...w.value,[l]:n.message}}finally{P.finish(l,u)&&(C.value=C.value.filter(e=>e!==l))}}function Ce(e){if(e===v.value)return;let t=v.value;X(),t&&(Z(e=>e.startsWith(`${t}:`)&&e.endsWith(`:preview`)),M=M.filter(t=>t.fileId===e)),v.value=e;let n=g.value.files.find(t=>t.fileId===e);y.value=r.getContractSigningHomePage(n?.pages)?.pageIndex??0,b.value=``,p(`file-change`,e),p(`page-change`,e,y.value),(0,c.nextTick)(()=>E.value?.scrollToPage(y.value))}function we(e){y.value=e}function Te(e){y.value!==e&&(y.value=e),p(`page-change`,v.value,e)}function Ee(e){X();let t=v.value;j=setTimeout(()=>{j=void 0,v.value===t&&De(t,e)},150)}function De(e,t){let r=g.value.files.find(t=>t.fileId===e);!r||n.isContractSigningTemplateFile(r)||e!==v.value||(t.forEach(e=>{let t=r.pages.find(t=>t.pageIndex===e);!t||t.previewUrl||C.value.includes(Y(r.fileId,e,!1))||M.some(t=>t.fileId===r.fileId&&t.pageIndex===e)||M.push({fileId:r.fileId,pageIndex:e})}),Oe())}async function Oe(){let e=v.value;for(M=M.filter(t=>t.fileId===e);N<3&&M.length;){let t=M.shift();if(!t||t.fileId!==e)continue;let i=r.findContractSigningPage(g.value,t.fileId,t.pageIndex),a=g.value.files.find(e=>e.fileId===t.fileId);!i||n.isContractSigningTemplateFile(a)||i.previewUrl||C.value.includes(Y(t.fileId,t.pageIndex,!1))||(N+=1,U(t.fileId,t.pageIndex,!1).finally(()=>{N=Math.max(0,N-1),Oe()}))}}function ke(e){let t=g.value.placements.find(t=>t.id===e);t&&(t.fileId!==v.value&&Ce(t.fileId),b.value=e,(0,c.nextTick)(()=>E.value?.scrollToPlacement(e)))}function W(e,t={}){if(I.value||!f.allowedPlacementTypes.includes(e))return;let n=t.fileId??L.value?.fileId,i=t.pageIndex??R.value?.pageIndex;if(!n||i===void 0)return;let a=r.findContractSigningPage(g.value,n,i);if(!a||!r.isContractSigningPageUsable(a)){q({code:`CONTRACT_PAGE_SIZE_INVALID`,message:`当前页面缺少有效的原始宽高,暂时不能添加签署位置`,fileId:n,pageIndex:i});return}let o=f.sealTypeOptions.find(e=>String(e.value).trim())?.value;if(e===`seal`&&!o){q({code:`CONTRACT_SEAL_TYPES_MISSING`,message:`当前未配置可用的印章类型,暂时不能添加印章位置`,fileId:n,pageIndex:i});return}let s=r.createContractSigningPlacement(e,n,a,{signLeft:t.signLeft,signTop:t.signTop,sizeProfile:f.sizeProfile,sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions,...e===`seal`?{sealType:[String(o)]}:{}});return V({...g.value,placements:[...g.value.placements,s]}),v.value=n,y.value=i,b.value=s.id,Q(s)}function Ae(e,t){I.value||V({...g.value,placements:g.value.placements.map(n=>{if(n.id!==e)return n;let i=t.pageIndex===void 0?n.pageIndex:t.pageIndex,a=r.findContractSigningPage(g.value,n.fileId,i);return r.patchContractSigningPlacement(n,t,a,{sealSizeLimit:m.value,sealTypeOptions:f.sealTypeOptions})})})}function je(){let e=z.value;if(!e||I.value)return;let n=r.findContractSigningPage(g.value,e.fileId,e.pageIndex);if(!n)return;let i=t.clampContractSigningPlacement({...Q(e),id:Be(),signLeft:e.signLeft+16,signTop:e.signTop+16},n,{sealSizeLimit:m.value});V({...g.value,placements:[...g.value.placements,i]}),b.value=i.id}function G(e){I.value||(V({...g.value,placements:g.value.placements.filter(t=>t.id!==e)}),b.value===e&&(b.value=``))}function Me(){return r.validateContractSigningLocationValue(g.value,{allowedSealTypes:f.sealTypeOptions.map(e=>e.value)})}function Ne(){return r.cloneContractSigningLocationValue(g.value)}function Pe(){return r.buildContractSigningLocationOutput(Ne(),{allowedSealTypes:f.sealTypeOptions.map(e=>e.value)})}function Fe(){try{let e=Pe();return S.value=``,p(`submit`,e),e}catch(e){return q(e instanceof r.ContractSigningLocationBuildError?{...e.errors[0],cause:e}:J(e,`CONTRACT_SIGNING_LOCATION_INVALID`,`指定签署位置数据不完整`)),!1}}function Ie(){let e=V(r.cloneContractSigningLocationValue(_.value));return b.value=``,K(!0),(0,c.nextTick)(()=>E.value?.scrollToPage(y.value)),e}function K(e=!1){let t=(e?void 0:g.value.files.find(e=>e.fileId===v.value))??g.value.files[0];v.value=t?.fileId??``,y.value=((e?void 0:t?.pages.find(e=>e.pageIndex===y.value))??t?.pages[0])?.pageIndex??0,g.value.placements.some(e=>e.id===b.value)||(b.value=``)}function q(e){S.value=e.message,p(`error`,e)}function J(e,t,n,r={}){let i=typeof e==`object`&&e&&`status`in e?Number(e.status):void 0;return{code:t,message:i===401||i===403?`授权已失效,请重新获取签署凭证`:e instanceof Error&&e.message?e.message:n,...r,cause:e}}function Y(e,t,n){return`${e}:${t}:${n?`thumbnail`:`preview`}`}function Le(e){if(!(e in w.value))return;let t={...w.value};delete t[e],w.value=t}function X(){j&&=(clearTimeout(j),void 0)}function Z(e){let t=e??(()=>!0),n=new Set(P.abort(t));n.size&&(C.value=C.value.filter(e=>!n.has(e))),e||(M=[])}function Re(e){return!!(e&&typeof e==`object`&&`cancelled`in e&&e.cancelled)||e instanceof DOMException&&e.name===`AbortError`}function ze(e){let t=L.value;t&&U(t.fileId,e,!1)}function Q(e){return{...e,sealType:e.sealType?[...e.sealType]:void 0}}function $(e){return JSON.stringify(e)}function Be(){return typeof crypto<`u`&&`randomUUID`in crypto?`contract-signing-placement-${crypto.randomUUID()}`:`contract-signing-placement-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Ve(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return{"--gd-ant-contract-signing-location-height":`${e}px`};if(typeof e==`string`&&e.trim())return{"--gd-ant-contract-signing-location-height":e.trim()}}return d({load:H,validate:Me,getValue:Ne,getOutput:Pe,submit:Fe,reset:Ie,addPlacement:W,removePlacement:G,fitWidth:xe}),(t,n)=>((0,c.openBlock)(),(0,c.createElementBlock)(`section`,{class:(0,c.normalizeClass)([`gd-ant-contract-signing-location`,{"is-readonly":I.value,"is-disabled":e.disabled,"is-preview":F.value}]),style:(0,c.normalizeStyle)(pe.value)},[(0,c.createElementVNode)(`header`,ee,[(0,c.createElementVNode)(`div`,te,[n[6]||=(0,c.createElementVNode)(`span`,{class:`gd-ant-contract-signing-location__title-bar`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,null,[(0,c.createElementVNode)(`strong`,null,(0,c.toDisplayString)(F.value?`合同预览`:`指定合同签署位置`),1)])]),(0,c.createElementVNode)(`div`,ne,[(0,c.createElementVNode)(`span`,re,(0,c.toDisplayString)(g.value.placements.length)+` 个位置`,1),e.dataProvider?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:0,loading:x.value,onClick:H},{default:(0,c.withCtx)(()=>[(0,c.createVNode)((0,c.unref)(u.ReloadOutlined),{"aria-hidden":`true`}),n[7]||=(0,c.createTextVNode)(` 重新加载 `,-1)]),_:1},8,[`loading`])):(0,c.createCommentVNode)(``,!0),F.value?(0,c.createCommentVNode)(``,!0):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:1,disabled:I.value,onClick:Ie},{default:(0,c.withCtx)(()=>[...n[8]||=[(0,c.createTextVNode)(`重置`,-1)]]),_:1},8,[`disabled`])),de.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:2,type:`primary`,loading:x.value,disabled:e.disabled,onClick:Fe},{default:(0,c.withCtx)(()=>[...n[9]||=[(0,c.createTextVNode)(`确认并生成规则`,-1)]]),_:1},8,[`loading`,`disabled`])):(0,c.createCommentVNode)(``,!0)])]),S.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,ie,[(0,c.createElementVNode)(`span`,null,(0,c.toDisplayString)(S.value),1),e.dataProvider&&e.contractId?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:0,type:`link`,size:`small`,onClick:H},{default:(0,c.withCtx)(()=>[...n[10]||=[(0,c.createTextVNode)(`重试`,-1)]]),_:1})):(0,c.createCommentVNode)(``,!0)])):(0,c.createCommentVNode)(``,!0),(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__body`,{"is-single-file":fe.value,"is-inspector-hidden":!ue.value}])},[fe.value?(0,c.createCommentVNode)(``,!0):((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:0,class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__navigator-wrap`,{"is-collapsed":O.value}])},[(0,c.createVNode)((0,c.unref)(l.Tooltip),{title:O.value?`展开页面栏`:`收起页面栏`},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`button`,{type:`button`,class:`gd-ant-contract-signing-location__panel-handle`,"aria-label":O.value?`展开页面栏`:`收起页面栏`,"aria-expanded":!O.value,onClick:n[0]||=e=>O.value=!O.value},[O.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.RightOutlined),{key:0,"aria-hidden":`true`})):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.LeftOutlined),{key:1,"aria-hidden":`true`}))],8,ae)]),_:1},8,[`title`]),(0,c.createElementVNode)(`div`,oe,[(0,c.createVNode)(o.default,{files:g.value.files,"active-file-id":v.value,"loading-preview-keys":ge.value,"error-preview-keys":_e.value,onSelect:Ce},null,8,[`files`,`active-file-id`,`loading-preview-keys`,`error-preview-keys`])])],2)),(0,c.createVNode)(i.default,{ref_key:`canvasRef`,ref:E,file:L.value,pages:L.value?.pages??[],placements:me.value,"selected-placement-id":b.value,readonly:I.value,resizable:e.resizable,"seal-size-limit":m.value,"seal-type-options":e.sealTypeOptions,zoom:T.value,"preview-loading-keys":ve.value,"preview-error-map":ye.value,"active-page-index":y.value,"min-zoom":e.minZoom,"max-zoom":e.maxZoom,onSelect:n[1]||=e=>b.value=e,onRetry:ze,onAdd:n[2]||=(e,t,n,r)=>W(e,{signLeft:t,signTop:n,pageIndex:r}),onUpdate:n[3]||=e=>Ae(e.id,e),onRemove:G,onVisiblePages:Ee,onViewPage:we,onPageChange:Te,onZoomChange:be},null,8,[`file`,`pages`,`placements`,`selected-placement-id`,`readonly`,`resizable`,`seal-size-limit`,`seal-type-options`,`zoom`,`preview-loading-keys`,`preview-error-map`,`active-page-index`,`min-zoom`,`max-zoom`]),ue.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:1,class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__inspector-wrap`,{"is-collapsed":D.value}])},[(0,c.createVNode)((0,c.unref)(l.Tooltip),{title:D.value?`展开属性栏`:`收起属性栏`},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`button`,{type:`button`,class:`gd-ant-contract-signing-location__panel-handle`,"aria-label":D.value?`展开属性栏`:`收起属性栏`,"aria-expanded":!D.value,onClick:n[4]||=e=>D.value=!D.value},[D.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.RightOutlined),{key:1,"aria-hidden":`true`}))],8,se)]),_:1},8,[`title`]),(0,c.createElementVNode)(`div`,ce,[(0,c.createVNode)(a.default,{placement:z.value,page:he.value,pages:L.value?.pages??[],placements:me.value,readonly:I.value,resizable:e.resizable,"seal-size-limit":m.value,"seal-type-options":e.sealTypeOptions,"allowed-placement-types":e.allowedPlacementTypes,"size-profile":e.sizeProfile,onAdd:W,onUpdate:n[5]||=e=>z.value&&Ae(z.value.id,e),onDuplicate:je,onRemove:G,onLocate:ke},null,8,[`placement`,`page`,`pages`,`placements`,`readonly`,`resizable`,`seal-size-limit`,`seal-type-options`,`allowed-placement-types`,`size-profile`])])],2)):(0,c.createCommentVNode)(``,!0)],2)],6))}});exports.default=d;
@@ -1 +1 @@
1
- require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./ContractSigningTemplatePage.cjs`);require(`./constants.cjs`);const t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`),r=require(`./location-rules.cjs`),i=require(`./page-layout.cjs`),a=require(`../../pro-contract-template-designer/src/composables/use-fit-width-zoom.cjs`),o=require(`./signing-visuals.cjs`);let s=require(`vue`),c=require(`ant-design-vue`),l=require(`@vueuse/core`),u=require(`@ant-design/icons-vue`);var d={class:`gd-ant-contract-signing-location__workspace`},f={class:`gd-ant-contract-signing-location__workspace-head`},p={key:0},m={class:`gd-ant-contract-signing-location__workspace-tools`},h={class:`gd-ant-contract-signing-location__page-jumper`,"aria-label":`页码跳转`},g=[`value`,`max`],_={class:`gd-ant-contract-signing-location__zoom-tools`,"aria-label":`页面缩放`},ee=[`aria-label`],te={key:1,class:`gd-ant-contract-signing-location__page-placeholder is-error`,role:`alert`},ne=[`src`],re={key:3,class:`gd-ant-contract-signing-location__page-placeholder`},ie=[`onClick`],ae=[`onClick`],oe={class:`gd-ant-contract-signing-location__render-region`},se={class:`gd-ant-contract-signing-location__render-region-content`},ce={class:`is-horizontal is-top`},le={class:`is-horizontal is-bottom`},ue={class:`is-vertical is-left`},de={class:`is-vertical is-right`},fe={key:1,class:`gd-ant-contract-signing-location__snap-guides`,"aria-hidden":`true`},pe=[`title`,`aria-label`,`aria-pressed`,`onClick`,`onPointerdown`,`onKeydown`],me={class:`gd-ant-contract-signing-location__placement-body`},he=[`src`,`alt`],ge={key:0,class:`gd-ant-contract-signing-location__placement-badge`},_e=[`onPointerdown`],v=(0,s.defineComponent)({name:`ContractSigningLocationCanvas`,__name:`ContractSigningLocationCanvas`,props:{file:{},pages:{},placements:{},selectedPlacementId:{},readonly:{type:Boolean},resizable:{type:Boolean},zoom:{},previewLoadingKeys:{},previewErrorMap:{},activePageIndex:{},minZoom:{},maxZoom:{},sealSizeLimit:{},sealTypeOptions:{}},emits:[`select`,`add`,`update`,`remove`,`retry`,`visible-pages`,`view-page`,`page-change`,`zoom-change`,`scroll-to-ready`],setup(v,{expose:ve,emit:ye}){let be=[`nw`,`n`,`ne`,`e`,`se`,`s`,`sw`,`w`],y=v,b=ye,x=(0,s.ref)(null),S=(0,s.ref)(null),C=(0,s.shallowRef)(1),w=(0,s.shallowRef)(y.activePageIndex),T=(0,s.shallowRef)({start:0,end:-1}),{width:xe}=(0,l.useElementSize)(x),Se=(0,s.computed)(()=>Math.max(...y.pages.map(e=>e.displayWidth||e.width||i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE.width),i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE.width)),{fitWidth:Ce,markUserAdjusted:we}=a.useFitWidthZoom({viewportWidth:xe,widestPageWidth:Se,padding:48,minZoom:()=>y.minZoom,maxZoom:()=>y.maxZoom,getZoom:()=>y.zoom,applyZoom:e=>(b(`zoom-change`,e),e)}),E=(0,s.shallowRef)([]),D=(0,s.shallowRef)(),O=(0,s.shallowRef)(),k,A=0,j,M,N,P,F=(0,s.computed)(()=>i.buildPageLayouts(y.pages,y.zoom,16)),Te=(0,s.computed)(()=>i.getPageLayoutsContentSize(F.value)),I=(0,s.computed)(()=>n.isContractSigningTemplateFile(y.file)),Ee=(0,s.computed)(()=>n.buildContractSigningTemplateRenderPages(y.file?.source)),De=(0,s.computed)(()=>new Map(Ee.value.map(e=>[e.pageIndex,e]))),L=(0,s.computed)(()=>n.getContractSigningTemplateDisplayError(y.file)),Oe=(0,s.computed)(()=>{let e=T.value;return F.value.length?e.end<e.start?F.value.slice(0,2):F.value.slice(e.start,e.end+1):[]}),ke=(0,s.computed)(()=>Oe.value.flatMap(e=>{let t=V(e.pageIndex);return t?[{layout:e,page:t,logical:H(t),templatePage:De.value.get(e.pageIndex)}]:[]})),R=(0,s.computed)(()=>y.pages.find(e=>e.pageIndex===w.value)??y.pages[0]),Ae=(0,s.computed)(()=>Math.min(y.minZoom,y.maxZoom)),je=(0,s.computed)(()=>Math.max(y.minZoom,y.maxZoom)),z=(0,s.computed)(()=>y.placements.find(e=>e.id===y.selectedPlacementId)),Me=new Date,B=new Map;function Ne(e){return JSON.stringify([e.signType,e.sealType??[],y.sealTypeOptions??[]])}function Pe(e){let t=Ne(e),n=B.get(t);if(n)return n;let r=o.getContractSigningPlacementVisual(e,{sealTypeOptions:y.sealTypeOptions,date:Me});if(B.size>=128){let e=B.keys().next().value;e!==void 0&&B.delete(e)}return B.set(t,r),r}let Fe=(0,s.computed)(()=>{let e=new WeakMap;return y.placements.forEach(t=>{e.set(t,Pe(t))}),e});(0,s.watch)(()=>y.activePageIndex,e=>{w.value=e,Ge()||Q(e)}),(0,s.watch)(()=>y.pages.map(e=>e.pageIndex).join(`,`),()=>{(0,s.nextTick)(()=>{Y(),X(),b(`scroll-to-ready`)})}),(0,s.watch)(()=>y.zoom,(e,t)=>{if(!x.value||t==null||e===t)return;let n=q(),r=i.buildPageLayouts(y.pages,t,16),a=i.findPageAtOffset(r,n.layoutScrollTop+1)??r[0];if(!a)return;N={pageIndex:a.pageIndex,offsetInPage:n.layoutScrollTop-a.top};let o=e/Math.max(.01,t);(0,s.nextTick)(()=>qe(o))}),(0,s.onMounted)(()=>{Y(),X(),b(`scroll-to-ready`),!(typeof ResizeObserver>`u`||!x.value)&&(P=new ResizeObserver(()=>{Y(),X()}),P.observe(x.value))}),(0,s.onBeforeUnmount)(()=>{lt(),et(),j&&clearTimeout(j),P?.disconnect(),P=void 0});function V(e){return y.pages.find(t=>t.pageIndex===e)}function H(e){return e&&r.isContractSigningPageUsable(e)?{width:e.width,height:e.height}:{...i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE}}function U(e){if(!e||!r.isContractSigningPageUsable(e))return{...i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE};let t=Number(e.displayWidth),n=Number(e.displayHeight);return{width:Number.isFinite(t)&&t>0?t:e.width,height:Number.isFinite(n)&&n>0?n:e.height}}function Ie(e){return`${y.file?.fileId??``}:${e}`}function Le(e){return y.previewLoadingKeys.includes(Ie(e))}function Re(e){return y.previewErrorMap[Ie(e)]||``}function ze(e){return y.placements.filter(t=>t.pageIndex===e)}function W(e){let n=z.value;return n&&n.pageIndex===e.pageIndex?t.getContractSigningPlacementDistances(n,e):void 0}function Be(e){let n=t.getContractSigningRuleGeometry(e),r=V(e.pageIndex),i=U(r),a=H(r);return{left:`${n.signLeft*i.width/Math.max(1,a.width)}px`,top:`${n.signTop*i.height/Math.max(1,a.height)}px`,width:`${n.signWidth*i.width/Math.max(1,a.width)}px`,height:`${n.signHeight*i.height/Math.max(1,a.height)}px`}}function Ve(e){let n=t.getContractSigningRuleGeometry(e),r=V(e.pageIndex),i=U(r),a=H(r),o=i.width/Math.max(1,a.width),s=i.height/Math.max(1,a.height);return{"--gd-contract-sign-left":`${n.signLeft*o}px`,"--gd-contract-sign-top":`${n.signTop*s}px`,"--gd-contract-sign-right":`${(n.signLeft+n.signWidth)*o}px`,"--gd-contract-sign-bottom":`${(n.signTop+n.signHeight)*s}px`}}function He(e,t){let n=U(t),r=H(t),i=e.axis===`x`?n.width/Math.max(1,r.width):n.height/Math.max(1,r.height);return e.axis===`x`?{left:`${e.position*i}px`}:{top:`${e.position*i}px`}}function G(e,n){return t.clampContractSigningPlacement(e,n,{sealSizeLimit:y.sealSizeLimit,sealTypes:e.sealType,sealTypeOptions:y.sealTypeOptions})}function K(e){return Fe.value.get(e)??Pe(e)}function Ue(e){return t.canResizeContractSigningPlacement(e,y.resizable,y.readonly)&&e.id===y.selectedPlacementId}function We(e){return{...e,sealType:e.sealType?[...e.sealType]:void 0}}function q(){let e=x.value,t=S.value;if(!e)return{layoutScrollTop:0,viewportHeight:0};let n=t?.offsetTop??0;return{layoutScrollTop:e.scrollTop-n,viewportHeight:e.clientHeight}}function J(e,t){let n=S.value;if(n){let r=n.getBoundingClientRect();return{x:e-r.left,y:t-r.top}}let r=x.value;if(!r)return{x:e,y:t};let i=r.getBoundingClientRect(),a=Number.parseFloat(getComputedStyle(r).paddingLeft)||0,o=Number.parseFloat(getComputedStyle(r).paddingTop)||0;return{x:e-i.left+r.scrollLeft-a,y:t-i.top+r.scrollTop-o}}function Ge(){return!!(document.activeElement&&document.activeElement.tagName===`INPUT`)}function Y(){let e=q();T.value=i.getVisibleRange(F.value,e.layoutScrollTop,e.viewportHeight,1);let t=i.findPageAtOffset(F.value,e.layoutScrollTop+1);if(t){let e=w.value!==t.pageIndex;w.value=t.pageIndex,Ge()||Q(t.pageIndex),e&&b(`view-page`,t.pageIndex)}}function X(){let e=T.value;b(`visible-pages`,F.value.slice(Math.max(0,e.start),e.end+1).map(e=>e.pageIndex))}function Ke(){Y(),j&&clearTimeout(j),j=setTimeout(()=>{X(),w.value!==M&&(M=w.value,b(`page-change`,w.value))},80)}function qe(e){let t=x.value,n=S.value,r=N;if(N=void 0,!t||!n||!r)return;let i=F.value.find(e=>e.pageIndex===r.pageIndex);i&&(t.scrollTop=n.offsetTop+i.top+r.offsetInPage*e,Y())}function Z(e){let t=x.value,n=S.value;t&&(w.value=e,Q(e),b(`page-change`,e),M=e,(0,s.nextTick)(()=>{let r=i.getPageLayoutScrollTop(F.value,e);t.scrollTop=(n?.offsetTop??0)+r,Y(),X()}))}function Je(e){let n=y.placements.find(t=>t.id===e),r=x.value,i=S.value;if(!n||!r)return;let a=F.value.find(e=>e.pageIndex===n.pageIndex);a&&(w.value=n.pageIndex,Q(n.pageIndex),(0,s.nextTick)(()=>{let e=q(),o=V(n.pageIndex),s=U(o),c=H(o),l=a.top+t.getContractSigningRuleGeometry(n).signTop*s.height/Math.max(1,c.height)*y.zoom,u=l+t.getContractSigningRuleGeometry(n).signHeight*s.height/Math.max(1,c.height)*y.zoom,d=e.layoutScrollTop,f=d+e.viewportHeight;(l<d||u>f)&&(r.scrollTop=(i?.offsetTop??0)+Math.max(0,l-24)),Y(),X(),b(`page-change`,n.pageIndex)}))}function Q(e){let t=y.pages.findIndex(t=>t.pageIndex===e);C.value=t>=0?t+1:1}function Ye(e){let t=y.pages.findIndex(e=>e.pageIndex===w.value),n=Math.min(y.pages.length-1,Math.max(0,(t<0?0:t)+e)),r=y.pages[n];r&&Z(r.pageIndex)}function Xe(e){let t=Number(e.target.value);if(!Number.isFinite(t)){Q(w.value);return}let n=Math.min(y.pages.length,Math.max(1,Math.round(t)))-1,r=y.pages[n];r?Z(r.pageIndex):Q(w.value)}function Ze(e,t=`user`){t===`user`&&we(),b(`zoom-change`,e)}function Qe(e){e.target.closest(`.gd-ant-contract-signing-location__placement`)||b(`select`,``)}function $e(){window.addEventListener(`pointermove`,rt,{passive:!1}),window.addEventListener(`pointerup`,$),window.addEventListener(`pointercancel`,$)}function et(){window.removeEventListener(`pointermove`,rt),window.removeEventListener(`pointerup`,$),window.removeEventListener(`pointercancel`,$)}function tt(e,t,n){e.stopPropagation(),b(`select`,t.id);let a=V(t.pageIndex);if(y.readonly||!a||!r.isContractSigningPageUsable(a)||e.button!==0)return;let o=J(e.clientX,e.clientY),s=i.contentPointToPagePoint(F.value,y.pages,o.x,o.y),c=e.currentTarget;c.focus({preventScroll:!0}),O.value={pointerId:e.pointerId,mode:n?`resize`:`move`,handle:n,placementId:t.id,startX:e.clientX,startY:e.clientY,origin:We(t),grabOffsetX:(s?.x??t.signLeft)-t.signLeft,grabOffsetY:(s?.y??t.signTop)-t.signTop},k={clientX:e.clientX,clientY:e.clientY,pointerId:e.pointerId},$e(),ct();try{c.setPointerCapture(e.pointerId)}catch{}}function nt(e,t,n){tt(e,t,n)}function rt(e){let t=O.value;!t||t.pointerId!==e.pointerId||(e.preventDefault(),k={clientX:e.clientX,clientY:e.clientY,pointerId:e.pointerId},it(k))}function $(e){O.value?.pointerId===e.pointerId&&(O.value=void 0,k=void 0,E.value=[],D.value=void 0,lt(),et())}function it(e){let n=O.value;if(!n)return;if(n.mode===`resize`){at(n,e);return}let a=J(e.clientX,e.clientY),o=i.contentPointToPagePoint(F.value,y.pages,a.x,a.y);if(!o)return;let s=st(o.pageIndex,n.origin.pageIndex);if(!s||!r.isContractSigningPageUsable(s))return;let c=G({...n.origin,pageIndex:s.pageIndex,signLeft:o.x-n.grabOffsetX,signTop:o.y-n.grabOffsetY},s),l=t.snapContractSigningPlacement(c,ze(s.pageIndex),y.zoom,void 0,s),u=G(l.placement,s);E.value=l.guides,D.value=s.pageIndex,b(`update`,u)}function at(e,n){let i=V(e.origin.pageIndex),a=e.handle;if(!i||!a||!r.isContractSigningPageUsable(i))return;let o=F.value.find(e=>e.pageIndex===i.pageIndex);if(!o)return;let s=J(n.clientX,n.clientY),c=U(i),l=i.width/Math.max(1,c.width*y.zoom),u=i.height/Math.max(1,c.height*y.zoom),d=(s.x-o.left)*l,f=(s.y-o.top)*u;if(e.origin.signType===`seal`){ot(e,i,a,d,f);return}let p=t.getContractSigningRuleGeometry(e.origin),m=p.signLeft,h=p.signTop,g=p.signLeft+p.signWidth,_=p.signTop+p.signHeight;a.includes(`w`)&&(m=d),a.includes(`e`)&&(g=d),a.includes(`n`)&&(h=f),a.includes(`s`)&&(_=f),g-m<8&&(a.includes(`w`)?m=g-8:g=m+8),_-h<8&&(a.includes(`n`)?h=_-8:_=h+8),b(`update`,G({...e.origin,signLeft:m,signTop:h,signWidth:g-m,signHeight:_-h},i))}function ot(e,n,r,i,a){let o=t.resizeContractSigningSealGeometry(e.origin,r,i,a,n,y.sealSizeLimit);b(`update`,G({...e.origin,...o},n))}function st(e,t){let n=V(e);return n&&r.isContractSigningPageUsable(n)?n:V(t)}function ct(){lt();let e=()=>{let t=O.value,n=x.value;if(!t||!n||!k){A=0;return}let r=n.getBoundingClientRect(),a=i.getContractSigningAutoScrollDelta(k.clientY,r);a!==0&&(n.scrollTop+=a,Y(),it(k)),A=requestAnimationFrame(e)};A=requestAnimationFrame(e)}function lt(){A&&=(cancelAnimationFrame(A),0)}function ut(e,n){let i=V(n.pageIndex);if(y.readonly||!i||!r.isContractSigningPageUsable(i))return;if(e.key===`Delete`||e.key===`Backspace`){e.preventDefault(),b(`remove`,n.id);return}let a=e.shiftKey?10:1,o=0,s=0;if(e.key===`ArrowLeft`)o=-a;else if(e.key===`ArrowRight`)o=a;else if(e.key===`ArrowUp`)s=-a;else if(e.key===`ArrowDown`)s=a;else return;e.preventDefault();let c=U(i),l=H(i);b(`update`,t.moveContractSigningPlacementByDisplayDelta(n,o*c.width/Math.max(1,l.width),s*c.height/Math.max(1,l.height),i,U(i),{sealSizeLimit:y.sealSizeLimit}))}function dt(e){let t=e.dataTransfer?.getData(`application/x-gd-contract-signing-location`)||e.dataTransfer?.getData(`text/plain`);if(t)try{let e=JSON.parse(t);return pt(e.type)?e.type:void 0}catch{return pt(t)?t:void 0}}function ft(e){if(y.readonly)return;let t=dt(e);if(!t)return;e.preventDefault();let n=J(e.clientX,e.clientY),r=i.contentPointToPagePoint(F.value,y.pages,n.x,n.y,1);r&&b(`add`,t,r.x,r.y,r.pageIndex)}function pt(e){return e===`seal`||e===`signature`||e===`date`}return ve({scrollToPage:Z,scrollToPlacement:Je,fitWidth:Ce}),(t,n)=>((0,s.openBlock)(),(0,s.createElementBlock)(`main`,d,[(0,s.createElementVNode)(`header`,f,[(0,s.createElementVNode)(`div`,null,[(0,s.createElementVNode)(`strong`,null,(0,s.toDisplayString)(v.file?.fileName||`合同页面`),1),R.value?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,p,`第 `+(0,s.toDisplayString)(R.value.displayPageNumber)+` 页 · `+(0,s.toDisplayString)(I.value?`HTML`:`PDF`)+` `+(0,s.toDisplayString)(R.value.width)+` × `+(0,s.toDisplayString)(R.value.height),1)):(0,s.createCommentVNode)(``,!0)]),(0,s.createElementVNode)(`div`,m,[(0,s.createElementVNode)(`div`,h,[(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:C.value<=1,"aria-label":`上一页`,onClick:n[0]||=e=>Ye(-1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.LeftOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`]),(0,s.createElementVNode)(`label`,null,[n[6]||=(0,s.createTextVNode)(` 第 `,-1),(0,s.createElementVNode)(`input`,{value:C.value,type:`number`,min:`1`,max:Math.max(1,v.pages.length),onChange:Xe,onKeydown:(0,s.withKeys)(Xe,[`enter`])},null,40,g),(0,s.createTextVNode)(` / `+(0,s.toDisplayString)(v.pages.length)+` 页 `,1)]),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:C.value>=v.pages.length,"aria-label":`下一页`,onClick:n[1]||=e=>Ye(1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.RightOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),(0,s.createElementVNode)(`div`,_,[(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:v.zoom<=Ae.value,"aria-label":`缩小页面`,onClick:n[2]||=e=>Ze(v.zoom-.1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.ZoomOutOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`]),(0,s.createElementVNode)(`button`,{type:`button`,onClick:n[3]||=e=>Ze(1)},(0,s.toDisplayString)(Math.round(v.zoom*100))+`%`,1),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:v.zoom>=je.value,"aria-label":`放大页面`,onClick:n[4]||=e=>Ze(v.zoom+.1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.ZoomInOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`]),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,"aria-label":`适应宽度`,title:`适应宽度`,onClick:(0,s.unref)(Ce)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.ColumnWidthOutlined),{"aria-hidden":`true`})]),_:1},8,[`onClick`])])])]),(0,s.createElementVNode)(`div`,{ref_key:`scrollRef`,ref:x,class:`gd-ant-contract-signing-location__canvas-scroll`,onScrollPassive:Ke,onClick:Qe,onDragover:n[5]||=(0,s.withModifiers)(()=>{},[`prevent`]),onDrop:ft},[v.pages.length?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:1,ref_key:`stackRef`,ref:S,class:`gd-ant-contract-signing-location__page-stack`,style:(0,s.normalizeStyle)({width:`${Te.value.width}px`,height:`${Te.value.height}px`})},[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(ke.value,t=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:t.layout.pageIndex,class:`gd-ant-contract-signing-location__page-shell`,style:(0,s.normalizeStyle)({top:`${t.layout.top}px`,left:`${t.layout.left}px`,width:`${t.layout.width}px`,height:`${t.layout.height}px`})},[(0,s.createElementVNode)(`div`,{class:`gd-ant-contract-signing-location__page`,style:(0,s.normalizeStyle)({width:`${U(t.page).width}px`,height:`${U(t.page).height}px`,transform:`scale(${v.zoom})`}),"aria-label":`${v.file?.fileName||`合同`}第 ${t.page.displayPageNumber} 页`},[I.value&&t.templatePage?((0,s.openBlock)(),(0,s.createBlock)(e.default,{key:0,page:t.templatePage},null,8,[`page`])):I.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,te,[n[8]||=(0,s.createElementVNode)(`strong`,null,`模板页面无法渲染`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(L.value||`页面结构无效,请回到模板设计器修复后重试。`),1)])):t.page.previewUrl?((0,s.openBlock)(),(0,s.createElementBlock)(`img`,{key:2,class:`gd-ant-contract-signing-location__page-image`,src:t.page.previewUrl,alt:`合同页面预览`},null,8,ne)):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,re,[Le(t.layout.pageIndex)?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:0},[(0,s.createElementVNode)(`strong`,null,`第 `+(0,s.toDisplayString)(t.page.displayPageNumber)+` 页加载中…`,1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(t.page.width)+` × `+(0,s.toDisplayString)(t.page.height),1)],64)):Re(t.layout.pageIndex)?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:1},[n[9]||=(0,s.createElementVNode)(`strong`,null,`合同页面预览加载失败`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(Re(t.layout.pageIndex)),1),(0,s.createElementVNode)(`button`,{type:`button`,onClick:(0,s.withModifiers)(e=>b(`retry`,t.layout.pageIndex),[`stop`])},`重试当前页`,8,ie)],64)):(0,s.unref)(r.isContractSigningPageUsable)(t.page)?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:3},[(0,s.createElementVNode)(`strong`,null,`第 `+(0,s.toDisplayString)(t.page.displayPageNumber)+` 页`,1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(t.page.width)+` × `+(0,s.toDisplayString)(t.page.height),1),n[12]||=(0,s.createElementVNode)(`small`,null,`等待 dataProvider 返回页面预览图`,-1)],64)):((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:2},[n[10]||=(0,s.createElementVNode)(`strong`,null,`页面元数据不完整`,-1),n[11]||=(0,s.createElementVNode)(`span`,null,`缺少有效的原始宽高,无法安全计算签署坐标。`,-1),(0,s.createElementVNode)(`button`,{type:`button`,onClick:(0,s.withModifiers)(e=>b(`retry`,t.layout.pageIndex),[`stop`])},`重新加载页面`,8,ae)],64))])),(0,s.createElementVNode)(`div`,oe,[(0,s.createElementVNode)(`div`,se,[z.value&&z.value.pageIndex===t.layout.pageIndex?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:`gd-ant-contract-signing-location__coordinate-guides`,style:(0,s.normalizeStyle)(Ve(z.value)),"aria-hidden":`true`},[(0,s.createElementVNode)(`span`,ce,[(0,s.createElementVNode)(`small`,null,`上 `+(0,s.toDisplayString)(W(t.page)?.top),1)]),(0,s.createElementVNode)(`span`,le,[(0,s.createElementVNode)(`small`,null,`下 `+(0,s.toDisplayString)(W(t.page)?.bottom),1)]),(0,s.createElementVNode)(`span`,ue,[(0,s.createElementVNode)(`small`,null,`左 `+(0,s.toDisplayString)(W(t.page)?.left),1)]),(0,s.createElementVNode)(`span`,de,[(0,s.createElementVNode)(`small`,null,`右 `+(0,s.toDisplayString)(W(t.page)?.right),1)])],4)):(0,s.createCommentVNode)(``,!0),E.value.length&&D.value===t.layout.pageIndex?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,fe,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(E.value,(e,n)=>((0,s.openBlock)(),(0,s.createElementBlock)(`span`,{key:`${e.axis}-${n}`,class:(0,s.normalizeClass)(e.axis===`x`?`is-vertical`:`is-horizontal`),style:(0,s.normalizeStyle)(He(e,t.page))},null,6))),128))])):(0,s.createCommentVNode)(``,!0),((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(ze(t.layout.pageIndex),e=>((0,s.openBlock)(),(0,s.createElementBlock)(`button`,{key:e.id,type:`button`,class:(0,s.normalizeClass)([`gd-ant-contract-signing-location__placement`,[`is-${e.signType}`,{"is-selected":e.id===v.selectedPlacementId}]]),style:(0,s.normalizeStyle)(Be(e)),title:K(e).alt,"aria-label":K(e).alt,"aria-pressed":e.id===v.selectedPlacementId,onClick:(0,s.withModifiers)(t=>b(`select`,e.id),[`stop`]),onPointerdown:t=>tt(t,e),onLostpointercapture:$,onKeydown:t=>ut(t,e)},[(0,s.createElementVNode)(`span`,me,[(0,s.createElementVNode)(`img`,{class:`gd-ant-contract-signing-location__placement-visual`,src:K(e).dataUrl,alt:K(e).alt,draggable:`false`},null,8,he)]),e.mustSign?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,ge,`必签`)):(0,s.createCommentVNode)(``,!0),((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(Ue(e)?be:[],t=>((0,s.openBlock)(),(0,s.createElementBlock)(`i`,{key:t,class:(0,s.normalizeClass)([`gd-ant-contract-signing-location__resize-handle`,`is-${t}`]),onPointerdown:(0,s.withModifiers)(n=>nt(n,e,t),[`stop`])},null,42,_e))),128))],46,pe))),128))])])],12,ee)],4))),128))],4)):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:(0,s.normalizeClass)([`gd-ant-contract-signing-location__canvas-state`,{"is-error":I.value&&L.value}]),role:`status`},[I.value&&L.value?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:0},[n[7]||=(0,s.createElementVNode)(`strong`,null,`合同模板无法渲染`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(L.value),1)],64)):((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:1},[(0,s.createTextVNode)(`请选择可用的合同页面`)],64))],2))],544)]))}});exports.default=v;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./ContractSigningTemplatePage.cjs`);require(`./constants.cjs`);const t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`),r=require(`./location-rules.cjs`),i=require(`./page-layout.cjs`),a=require(`../../pro-contract-template-designer/src/composables/use-fit-width-zoom.cjs`),o=require(`./signing-visuals.cjs`);let s=require(`vue`),c=require(`ant-design-vue`),l=require(`@vueuse/core`),u=require(`@ant-design/icons-vue`);var d={class:`gd-ant-contract-signing-location__workspace`},f={class:`gd-ant-contract-signing-location__workspace-head`},p={key:0},m={class:`gd-ant-contract-signing-location__workspace-tools`},h={class:`gd-ant-contract-signing-location__page-jumper`,"aria-label":`页码跳转`},g=[`value`,`max`],_={class:`gd-ant-contract-signing-location__zoom-tools`,"aria-label":`页面缩放`},ee=[`aria-label`],te={key:1,class:`gd-ant-contract-signing-location__page-placeholder is-error`,role:`alert`},ne=[`src`],re={key:3,class:`gd-ant-contract-signing-location__page-placeholder`},ie=[`onClick`],ae=[`onClick`],oe={class:`gd-ant-contract-signing-location__render-region`},se={class:`gd-ant-contract-signing-location__render-region-content`},ce={class:`is-horizontal is-top`},le={class:`is-horizontal is-bottom`},ue={class:`is-vertical is-left`},de={class:`is-vertical is-right`},fe={key:1,class:`gd-ant-contract-signing-location__snap-guides`,"aria-hidden":`true`},pe=[`title`,`aria-label`,`aria-pressed`,`onClick`,`onPointerdown`,`onKeydown`],me={class:`gd-ant-contract-signing-location__placement-body`},he=[`src`,`alt`],ge={key:0,class:`gd-ant-contract-signing-location__placement-badge`},_e=[`onPointerdown`],v=(0,s.defineComponent)({name:`ContractSigningLocationCanvas`,__name:`ContractSigningLocationCanvas`,props:{file:{},pages:{},placements:{},selectedPlacementId:{},readonly:{type:Boolean},resizable:{type:Boolean},zoom:{},previewLoadingKeys:{},previewErrorMap:{},activePageIndex:{},minZoom:{},maxZoom:{},sealSizeLimit:{},sealTypeOptions:{}},emits:[`select`,`add`,`update`,`remove`,`retry`,`visible-pages`,`view-page`,`page-change`,`zoom-change`,`scroll-to-ready`],setup(v,{expose:ve,emit:ye}){let be=[`nw`,`n`,`ne`,`e`,`se`,`s`,`sw`,`w`],y=v,b=ye,x=(0,s.ref)(null),S=(0,s.ref)(null),C=(0,s.shallowRef)(1),w=(0,s.shallowRef)(y.activePageIndex),T=(0,s.shallowRef)({start:0,end:-1}),{width:xe}=(0,l.useElementSize)(x),Se=(0,s.computed)(()=>Math.max(...y.pages.map(e=>e.displayWidth||e.width||i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE.width),i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE.width)),{fitWidth:Ce,markUserAdjusted:we}=a.useFitWidthZoom({viewportWidth:xe,widestPageWidth:Se,padding:48,minZoom:()=>y.minZoom,maxZoom:()=>y.maxZoom,getZoom:()=>y.zoom,applyZoom:e=>(b(`zoom-change`,e),e)}),E=(0,s.shallowRef)([]),D=(0,s.shallowRef)(),O=(0,s.shallowRef)(),k,A=0,j,M,N,P,F=(0,s.computed)(()=>i.buildPageLayouts(y.pages,y.zoom,16)),Te=(0,s.computed)(()=>i.getPageLayoutsContentSize(F.value)),I=(0,s.computed)(()=>n.isContractSigningTemplateFile(y.file)),Ee=(0,s.computed)(()=>n.buildContractSigningTemplateRenderPages(y.file?.source)),De=(0,s.computed)(()=>new Map(Ee.value.map(e=>[e.pageIndex,e]))),L=(0,s.computed)(()=>n.getContractSigningTemplateDisplayError(y.file)),Oe=(0,s.computed)(()=>{let e=T.value;return F.value.length?e.end<e.start?F.value.slice(0,2):F.value.slice(e.start,e.end+1):[]}),ke=(0,s.computed)(()=>Oe.value.flatMap(e=>{let t=V(e.pageIndex);return t?[{layout:e,page:t,logical:H(t),templatePage:De.value.get(e.pageIndex)}]:[]})),R=(0,s.computed)(()=>y.pages.find(e=>e.pageIndex===w.value)??y.pages[0]),Ae=(0,s.computed)(()=>Math.min(y.minZoom,y.maxZoom)),je=(0,s.computed)(()=>Math.max(y.minZoom,y.maxZoom)),z=(0,s.computed)(()=>y.placements.find(e=>e.id===y.selectedPlacementId)),Me=new Date,B=new Map;function Ne(e){return JSON.stringify([e.signType,e.sealType??[],y.sealTypeOptions??[]])}function Pe(e){let t=Ne(e),n=B.get(t);if(n)return n;let r=o.getContractSigningPlacementVisual(e,{sealTypeOptions:y.sealTypeOptions,date:Me});if(B.size>=128){let e=B.keys().next().value;e!==void 0&&B.delete(e)}return B.set(t,r),r}let Fe=(0,s.computed)(()=>{let e=new WeakMap;return y.placements.forEach(t=>{e.set(t,Pe(t))}),e});(0,s.watch)(()=>y.activePageIndex,e=>{w.value=e,Ge()||Q(e)}),(0,s.watch)(()=>y.pages.map(e=>e.pageIndex).join(`,`),()=>{(0,s.nextTick)(()=>{Y(),X(),b(`scroll-to-ready`)})}),(0,s.watch)(()=>y.zoom,(e,t)=>{if(!x.value||t==null||e===t)return;let n=q(),r=i.buildPageLayouts(y.pages,t,16),a=i.findPageAtOffset(r,n.layoutScrollTop+1)??r[0];if(!a)return;N={pageIndex:a.pageIndex,offsetInPage:n.layoutScrollTop-a.top};let o=e/Math.max(.01,t);(0,s.nextTick)(()=>qe(o))}),(0,s.onMounted)(()=>{Y(),X(),b(`scroll-to-ready`),!(typeof ResizeObserver>`u`||!x.value)&&(P=new ResizeObserver(()=>{Y(),X()}),P.observe(x.value))}),(0,s.onBeforeUnmount)(()=>{lt(),et(),j&&clearTimeout(j),P?.disconnect(),P=void 0});function V(e){return y.pages.find(t=>t.pageIndex===e)}function H(e){return e&&r.isContractSigningPageUsable(e)?{width:e.width,height:e.height}:{...i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE}}function U(e){if(!e||!r.isContractSigningPageUsable(e))return{...i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE};let t=Number(e.displayWidth),n=Number(e.displayHeight);return{width:Number.isFinite(t)&&t>0?t:e.width,height:Number.isFinite(n)&&n>0?n:e.height}}function Ie(e){return`${y.file?.fileId??``}:${e}`}function Le(e){return y.previewLoadingKeys.includes(Ie(e))}function Re(e){return y.previewErrorMap[Ie(e)]||``}function ze(e){return y.placements.filter(t=>t.pageIndex===e)}function W(e){let n=z.value;return n&&n.pageIndex===e.pageIndex?t.getContractSigningPlacementDistances(n,e):void 0}function Be(e){let n=t.getContractSigningRuleGeometry(e),r=V(e.pageIndex),i=U(r),a=H(r);return{left:`${n.signLeft*i.width/Math.max(1,a.width)}px`,top:`${n.signTop*i.height/Math.max(1,a.height)}px`,width:`${n.signWidth*i.width/Math.max(1,a.width)}px`,height:`${n.signHeight*i.height/Math.max(1,a.height)}px`}}function Ve(e){let n=t.getContractSigningRuleGeometry(e),r=V(e.pageIndex),i=U(r),a=H(r),o=i.width/Math.max(1,a.width),s=i.height/Math.max(1,a.height);return{"--gd-contract-sign-left":`${n.signLeft*o}px`,"--gd-contract-sign-top":`${n.signTop*s}px`,"--gd-contract-sign-right":`${(n.signLeft+n.signWidth)*o}px`,"--gd-contract-sign-bottom":`${(n.signTop+n.signHeight)*s}px`}}function He(e,t){let n=U(t),r=H(t),i=e.axis===`x`?n.width/Math.max(1,r.width):n.height/Math.max(1,r.height);return e.axis===`x`?{left:`${e.position*i}px`}:{top:`${e.position*i}px`}}function G(e,n){return t.clampContractSigningPlacement(e,n,{sealSizeLimit:y.sealSizeLimit,sealTypes:e.sealType,sealTypeOptions:y.sealTypeOptions})}function K(e){return Fe.value.get(e)??Pe(e)}function Ue(e){return t.canResizeContractSigningPlacement(e,y.resizable,y.readonly)&&e.id===y.selectedPlacementId}function We(e){return{...e,sealType:e.sealType?[...e.sealType]:void 0}}function q(){let e=x.value,t=S.value;if(!e)return{layoutScrollTop:0,viewportHeight:0};let n=t?.offsetTop??0;return{layoutScrollTop:e.scrollTop-n,viewportHeight:e.clientHeight}}function J(e,t){let n=S.value;if(n){let r=n.getBoundingClientRect();return{x:e-r.left,y:t-r.top}}let r=x.value;if(!r)return{x:e,y:t};let i=r.getBoundingClientRect(),a=Number.parseFloat(getComputedStyle(r).paddingLeft)||0,o=Number.parseFloat(getComputedStyle(r).paddingTop)||0;return{x:e-i.left+r.scrollLeft-a,y:t-i.top+r.scrollTop-o}}function Ge(){return!!(document.activeElement&&document.activeElement.tagName===`INPUT`)}function Y(){let e=q();T.value=i.getVisibleRange(F.value,e.layoutScrollTop,e.viewportHeight,1);let t=i.findPageAtOffset(F.value,e.layoutScrollTop+1);if(t){let e=w.value!==t.pageIndex;w.value=t.pageIndex,Ge()||Q(t.pageIndex),e&&b(`view-page`,t.pageIndex)}}function X(){let e=T.value;b(`visible-pages`,F.value.slice(Math.max(0,e.start),e.end+1).map(e=>e.pageIndex))}function Ke(){Y(),j&&clearTimeout(j),j=setTimeout(()=>{X(),w.value!==M&&(M=w.value,b(`page-change`,w.value))},80)}function qe(e){let t=x.value,n=S.value,r=N;if(N=void 0,!t||!n||!r)return;let i=F.value.find(e=>e.pageIndex===r.pageIndex);i&&(t.scrollTop=n.offsetTop+i.top+r.offsetInPage*e,Y())}function Z(e){let t=x.value,n=S.value;t&&(w.value=e,Q(e),b(`page-change`,e),M=e,(0,s.nextTick)(()=>{let r=i.getPageLayoutScrollTop(F.value,e);t.scrollTop=(n?.offsetTop??0)+r,Y(),X()}))}function Je(e){let n=y.placements.find(t=>t.id===e),r=x.value,i=S.value;if(!n||!r)return;let a=F.value.find(e=>e.pageIndex===n.pageIndex);a&&(w.value=n.pageIndex,Q(n.pageIndex),(0,s.nextTick)(()=>{let e=q(),o=V(n.pageIndex),s=U(o),c=H(o),l=a.top+t.getContractSigningRuleGeometry(n).signTop*s.height/Math.max(1,c.height)*y.zoom,u=l+t.getContractSigningRuleGeometry(n).signHeight*s.height/Math.max(1,c.height)*y.zoom,d=e.layoutScrollTop,f=d+e.viewportHeight;(l<d||u>f)&&(r.scrollTop=(i?.offsetTop??0)+Math.max(0,l-24)),Y(),X(),b(`page-change`,n.pageIndex)}))}function Q(e){let t=y.pages.findIndex(t=>t.pageIndex===e);C.value=t>=0?t+1:1}function Ye(e){let t=y.pages.findIndex(e=>e.pageIndex===w.value),n=Math.min(y.pages.length-1,Math.max(0,(t<0?0:t)+e)),r=y.pages[n];r&&Z(r.pageIndex)}function Xe(e){let t=Number(e.target.value);if(!Number.isFinite(t)){Q(w.value);return}let n=Math.min(y.pages.length,Math.max(1,Math.round(t)))-1,r=y.pages[n];r?Z(r.pageIndex):Q(w.value)}function Ze(e,t=`user`){t===`user`&&we(),b(`zoom-change`,e)}function Qe(e){e.target.closest(`.gd-ant-contract-signing-location__placement`)||b(`select`,``)}function $e(){window.addEventListener(`pointermove`,rt,{passive:!1}),window.addEventListener(`pointerup`,$),window.addEventListener(`pointercancel`,$)}function et(){window.removeEventListener(`pointermove`,rt),window.removeEventListener(`pointerup`,$),window.removeEventListener(`pointercancel`,$)}function tt(e,t,n){e.stopPropagation(),b(`select`,t.id);let a=V(t.pageIndex);if(y.readonly||!a||!r.isContractSigningPageUsable(a)||e.button!==0)return;let o=J(e.clientX,e.clientY),s=i.contentPointToPagePoint(F.value,y.pages,o.x,o.y),c=e.currentTarget;c.focus({preventScroll:!0}),O.value={pointerId:e.pointerId,mode:n?`resize`:`move`,handle:n,placementId:t.id,startX:e.clientX,startY:e.clientY,origin:We(t),grabOffsetX:(s?.x??t.signLeft)-t.signLeft,grabOffsetY:(s?.y??t.signTop)-t.signTop},k={clientX:e.clientX,clientY:e.clientY,pointerId:e.pointerId},$e(),ct();try{c.setPointerCapture(e.pointerId)}catch{}}function nt(e,t,n){tt(e,t,n)}function rt(e){let t=O.value;!t||t.pointerId!==e.pointerId||(e.preventDefault(),k={clientX:e.clientX,clientY:e.clientY,pointerId:e.pointerId},it(k))}function $(e){O.value?.pointerId===e.pointerId&&(O.value=void 0,k=void 0,E.value=[],D.value=void 0,lt(),et())}function it(e){let n=O.value;if(!n)return;if(n.mode===`resize`){at(n,e);return}let a=J(e.clientX,e.clientY),o=i.contentPointToPagePoint(F.value,y.pages,a.x,a.y);if(!o)return;let s=st(o.pageIndex,n.origin.pageIndex);if(!s||!r.isContractSigningPageUsable(s))return;let c=G({...n.origin,pageIndex:s.pageIndex,signLeft:o.x-n.grabOffsetX,signTop:o.y-n.grabOffsetY},s),l=t.snapContractSigningPlacement(c,ze(s.pageIndex),y.zoom,void 0,s),u=G(l.placement,s);E.value=l.guides,D.value=s.pageIndex,b(`update`,u)}function at(e,n){let i=V(e.origin.pageIndex),a=e.handle;if(!i||!a||!r.isContractSigningPageUsable(i))return;let o=F.value.find(e=>e.pageIndex===i.pageIndex);if(!o)return;let s=J(n.clientX,n.clientY),c=U(i),l=i.width/Math.max(1,c.width*y.zoom),u=i.height/Math.max(1,c.height*y.zoom),d=(s.x-o.left)*l,f=(s.y-o.top)*u;if(e.origin.signType===`seal`){ot(e,i,a,d,f);return}let p=t.getContractSigningRuleGeometry(e.origin),m=p.signLeft,h=p.signTop,g=p.signLeft+p.signWidth,_=p.signTop+p.signHeight;a.includes(`w`)&&(m=d),a.includes(`e`)&&(g=d),a.includes(`n`)&&(h=f),a.includes(`s`)&&(_=f),g-m<8&&(a.includes(`w`)?m=g-8:g=m+8),_-h<8&&(a.includes(`n`)?h=_-8:_=h+8),b(`update`,G({...e.origin,signLeft:m,signTop:h,signWidth:g-m,signHeight:_-h},i))}function ot(e,n,r,i,a){let o=t.resizeContractSigningSealGeometry(e.origin,r,i,a,n,y.sealSizeLimit);b(`update`,G({...e.origin,...o},n))}function st(e,t){let n=V(e);return n&&r.isContractSigningPageUsable(n)?n:V(t)}function ct(){lt();let e=()=>{let t=O.value,n=x.value;if(!t||!n||!k){A=0;return}let r=n.getBoundingClientRect(),a=i.getContractSigningAutoScrollDelta(k.clientY,r);a!==0&&(n.scrollTop+=a,Y(),it(k)),A=requestAnimationFrame(e)};A=requestAnimationFrame(e)}function lt(){A&&=(cancelAnimationFrame(A),0)}function ut(e,n){let i=V(n.pageIndex);if(y.readonly||!i||!r.isContractSigningPageUsable(i))return;if(e.key===`Delete`||e.key===`Backspace`){e.preventDefault(),b(`remove`,n.id);return}let a=e.shiftKey?10:1,o=0,s=0;if(e.key===`ArrowLeft`)o=-a;else if(e.key===`ArrowRight`)o=a;else if(e.key===`ArrowUp`)s=-a;else if(e.key===`ArrowDown`)s=a;else return;e.preventDefault();let c=U(i),l=H(i);b(`update`,t.moveContractSigningPlacementByDisplayDelta(n,o*c.width/Math.max(1,l.width),s*c.height/Math.max(1,l.height),i,U(i),{sealSizeLimit:y.sealSizeLimit}))}function dt(e){let t=e.dataTransfer?.getData(`application/x-gd-contract-signing-location`)||e.dataTransfer?.getData(`text/plain`);if(t)try{let e=JSON.parse(t);return pt(e.type)?e.type:void 0}catch{return pt(t)?t:void 0}}function ft(e){if(y.readonly)return;let t=dt(e);if(!t)return;e.preventDefault();let n=J(e.clientX,e.clientY),r=i.contentPointToPagePoint(F.value,y.pages,n.x,n.y);r&&b(`add`,t,r.x,r.y,r.pageIndex)}function pt(e){return e===`seal`||e===`signature`||e===`date`}return ve({scrollToPage:Z,scrollToPlacement:Je,fitWidth:Ce}),(t,n)=>((0,s.openBlock)(),(0,s.createElementBlock)(`main`,d,[(0,s.createElementVNode)(`header`,f,[(0,s.createElementVNode)(`div`,null,[(0,s.createElementVNode)(`strong`,null,(0,s.toDisplayString)(v.file?.fileName||`合同页面`),1),R.value?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,p,`第 `+(0,s.toDisplayString)(R.value.displayPageNumber)+` 页 · `+(0,s.toDisplayString)(I.value?`HTML`:`PDF`)+` `+(0,s.toDisplayString)(R.value.width)+` × `+(0,s.toDisplayString)(R.value.height),1)):(0,s.createCommentVNode)(``,!0)]),(0,s.createElementVNode)(`div`,m,[(0,s.createElementVNode)(`div`,h,[(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:C.value<=1,"aria-label":`上一页`,onClick:n[0]||=e=>Ye(-1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.LeftOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`]),(0,s.createElementVNode)(`label`,null,[n[6]||=(0,s.createTextVNode)(` 第 `,-1),(0,s.createElementVNode)(`input`,{value:C.value,type:`number`,min:`1`,max:Math.max(1,v.pages.length),onChange:Xe,onKeydown:(0,s.withKeys)(Xe,[`enter`])},null,40,g),(0,s.createTextVNode)(` / `+(0,s.toDisplayString)(v.pages.length)+` 页 `,1)]),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:C.value>=v.pages.length,"aria-label":`下一页`,onClick:n[1]||=e=>Ye(1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.RightOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),(0,s.createElementVNode)(`div`,_,[(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:v.zoom<=Ae.value,"aria-label":`缩小页面`,onClick:n[2]||=e=>Ze(v.zoom-.1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.ZoomOutOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`]),(0,s.createElementVNode)(`button`,{type:`button`,onClick:n[3]||=e=>Ze(1)},(0,s.toDisplayString)(Math.round(v.zoom*100))+`%`,1),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:v.zoom>=je.value,"aria-label":`放大页面`,onClick:n[4]||=e=>Ze(v.zoom+.1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.ZoomInOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`]),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,"aria-label":`适应宽度`,title:`适应宽度`,onClick:(0,s.unref)(Ce)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.ColumnWidthOutlined),{"aria-hidden":`true`})]),_:1},8,[`onClick`])])])]),(0,s.createElementVNode)(`div`,{ref_key:`scrollRef`,ref:x,class:`gd-ant-contract-signing-location__canvas-scroll`,onScrollPassive:Ke,onClick:Qe,onDragover:n[5]||=(0,s.withModifiers)(()=>{},[`prevent`]),onDrop:ft},[v.pages.length?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:1,ref_key:`stackRef`,ref:S,class:`gd-ant-contract-signing-location__page-stack`,style:(0,s.normalizeStyle)({width:`${Te.value.width}px`,height:`${Te.value.height}px`})},[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(ke.value,t=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:t.layout.pageIndex,class:`gd-ant-contract-signing-location__page-shell`,style:(0,s.normalizeStyle)({top:`${t.layout.top}px`,left:`${t.layout.left}px`,width:`${t.layout.width}px`,height:`${t.layout.height}px`})},[(0,s.createElementVNode)(`div`,{class:`gd-ant-contract-signing-location__page`,style:(0,s.normalizeStyle)({width:`${U(t.page).width}px`,height:`${U(t.page).height}px`,transform:`scale(${v.zoom})`}),"aria-label":`${v.file?.fileName||`合同`}第 ${t.page.displayPageNumber} 页`},[I.value&&t.templatePage?((0,s.openBlock)(),(0,s.createBlock)(e.default,{key:0,page:t.templatePage},null,8,[`page`])):I.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,te,[n[8]||=(0,s.createElementVNode)(`strong`,null,`模板页面无法渲染`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(L.value||`页面结构无效,请回到模板设计器修复后重试。`),1)])):t.page.previewUrl?((0,s.openBlock)(),(0,s.createElementBlock)(`img`,{key:2,class:`gd-ant-contract-signing-location__page-image`,src:t.page.previewUrl,alt:`合同页面预览`},null,8,ne)):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,re,[Le(t.layout.pageIndex)?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:0},[(0,s.createElementVNode)(`strong`,null,`第 `+(0,s.toDisplayString)(t.page.displayPageNumber)+` 页加载中…`,1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(t.page.width)+` × `+(0,s.toDisplayString)(t.page.height),1)],64)):Re(t.layout.pageIndex)?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:1},[n[9]||=(0,s.createElementVNode)(`strong`,null,`合同页面预览加载失败`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(Re(t.layout.pageIndex)),1),(0,s.createElementVNode)(`button`,{type:`button`,onClick:(0,s.withModifiers)(e=>b(`retry`,t.layout.pageIndex),[`stop`])},`重试当前页`,8,ie)],64)):(0,s.unref)(r.isContractSigningPageUsable)(t.page)?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:3},[(0,s.createElementVNode)(`strong`,null,`第 `+(0,s.toDisplayString)(t.page.displayPageNumber)+` 页`,1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(t.page.width)+` × `+(0,s.toDisplayString)(t.page.height),1),n[12]||=(0,s.createElementVNode)(`small`,null,`等待 dataProvider 返回页面预览图`,-1)],64)):((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:2},[n[10]||=(0,s.createElementVNode)(`strong`,null,`页面元数据不完整`,-1),n[11]||=(0,s.createElementVNode)(`span`,null,`缺少有效的原始宽高,无法安全计算签署坐标。`,-1),(0,s.createElementVNode)(`button`,{type:`button`,onClick:(0,s.withModifiers)(e=>b(`retry`,t.layout.pageIndex),[`stop`])},`重新加载页面`,8,ae)],64))])),(0,s.createElementVNode)(`div`,oe,[(0,s.createElementVNode)(`div`,se,[z.value&&z.value.pageIndex===t.layout.pageIndex?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:`gd-ant-contract-signing-location__coordinate-guides`,style:(0,s.normalizeStyle)(Ve(z.value)),"aria-hidden":`true`},[(0,s.createElementVNode)(`span`,ce,[(0,s.createElementVNode)(`small`,null,`上 `+(0,s.toDisplayString)(W(t.page)?.top),1)]),(0,s.createElementVNode)(`span`,le,[(0,s.createElementVNode)(`small`,null,`下 `+(0,s.toDisplayString)(W(t.page)?.bottom),1)]),(0,s.createElementVNode)(`span`,ue,[(0,s.createElementVNode)(`small`,null,`左 `+(0,s.toDisplayString)(W(t.page)?.left),1)]),(0,s.createElementVNode)(`span`,de,[(0,s.createElementVNode)(`small`,null,`右 `+(0,s.toDisplayString)(W(t.page)?.right),1)])],4)):(0,s.createCommentVNode)(``,!0),E.value.length&&D.value===t.layout.pageIndex?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,fe,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(E.value,(e,n)=>((0,s.openBlock)(),(0,s.createElementBlock)(`span`,{key:`${e.axis}-${n}`,class:(0,s.normalizeClass)(e.axis===`x`?`is-vertical`:`is-horizontal`),style:(0,s.normalizeStyle)(He(e,t.page))},null,6))),128))])):(0,s.createCommentVNode)(``,!0),((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(ze(t.layout.pageIndex),e=>((0,s.openBlock)(),(0,s.createElementBlock)(`button`,{key:e.id,type:`button`,class:(0,s.normalizeClass)([`gd-ant-contract-signing-location__placement`,[`is-${e.signType}`,{"is-selected":e.id===v.selectedPlacementId}]]),style:(0,s.normalizeStyle)(Be(e)),title:K(e).alt,"aria-label":K(e).alt,"aria-pressed":e.id===v.selectedPlacementId,onClick:(0,s.withModifiers)(t=>b(`select`,e.id),[`stop`]),onPointerdown:t=>tt(t,e),onLostpointercapture:$,onKeydown:t=>ut(t,e)},[(0,s.createElementVNode)(`span`,me,[(0,s.createElementVNode)(`img`,{class:`gd-ant-contract-signing-location__placement-visual`,src:K(e).dataUrl,alt:K(e).alt,draggable:`false`},null,8,he)]),e.mustSign?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,ge,`必签`)):(0,s.createCommentVNode)(``,!0),((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(Ue(e)?be:[],t=>((0,s.openBlock)(),(0,s.createElementBlock)(`i`,{key:t,class:(0,s.normalizeClass)([`gd-ant-contract-signing-location__resize-handle`,`is-${t}`]),onPointerdown:(0,s.withModifiers)(n=>nt(n,e,t),[`stop`])},null,42,_e))),128))],46,pe))),128))])])],12,ee)],4))),128))],4)):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:(0,s.normalizeClass)([`gd-ant-contract-signing-location__canvas-state`,{"is-error":I.value&&L.value}]),role:`status`},[I.value&&L.value?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:0},[n[7]||=(0,s.createElementVNode)(`strong`,null,`合同模板无法渲染`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(L.value),1)],64)):((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:1},[(0,s.createTextVNode)(`请选择可用的合同页面`)],64))],2))],544)]))}});exports.default=v;
@@ -1 +1 @@
1
- require(`../../../_virtual/_rolldown/runtime.cjs`);let e=require(`vue`);var t=[`data-template-page-id`,`data-template-page-index`],n=[`innerHTML`],r={key:0,class:`gd-ant-contract-signing-location__template-warning`,role:`alert`},i=(0,e.defineComponent)({name:`ContractSigningTemplatePage`,__name:`ContractSigningTemplatePage`,props:{page:{}},setup(i){return(a,o)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:`gd-ant-contract-signing-location__template-page gd-contract-template-page`,"data-template-page-id":i.page.pageId,"data-template-page-index":i.page.pageIndex},[(0,e.createElementVNode)(`div`,{class:`gd-ant-contract-signing-location__template-page-content`,innerHTML:i.page.contentHtml},null,8,n),i.page.errors.length?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,r,[o[0]||=(0,e.createElementVNode)(`strong`,null,`模板已安全降级展示`,-1),(0,e.createElementVNode)(`span`,null,(0,e.toDisplayString)(i.page.errors[0]),1)])):(0,e.createCommentVNode)(``,!0)],8,t))}});exports.default=i;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../pro-contract-template-designer/src/utils/page-decorations.cjs`),t=require(`../../pro-contract-template-designer/src/ContractTemplatePageDecorations.cjs`);let n=require(`vue`);var r=[`data-page-id`,`data-template-page-index`,`data-page-width`,`data-page-height`],i=[`innerHTML`],a={key:0,class:`gd-ant-contract-signing-location__template-warning`,role:`alert`},o=(0,n.defineComponent)({name:`ContractSigningTemplatePage`,__name:`ContractSigningTemplatePage`,props:{page:{}},setup(o){let s=o,c=(0,n.ref)(),l=(0,n.ref)(0),u=(0,n.computed)(()=>({"has-contract-header":e.hasEnabledPageHeader(s.page.pageDecorations,s.page.pageNumber),"has-contract-footer":e.hasEnabledPageFooter(s.page.pageDecorations,s.page.pageNumber)})),d=(0,n.computed)(()=>({width:`${s.page.displayWidth}px`,minHeight:`${s.page.displayHeight}px`,paddingTop:`${s.page.paddingTop}px`,paddingBottom:`${s.page.paddingBottom}px`})),f=(0,n.computed)(()=>l.value>1?`第 ${s.page.pageNumber} 页正文超出纸张 ${Math.round(l.value)}px,生成 PDF 时会分页,请回模板设计器调整后再指定位置。`:``),p=(0,n.computed)(()=>s.page.errors[0]||f.value),m=(0,n.computed)(()=>s.page.errors.length?`模板已安全降级展示`:`该页签署位置不可信`),h;function g(){let e=c.value;if(!e){l.value=0;return}l.value=Math.max(0,e.offsetHeight-s.page.displayHeight)}return(0,n.watch)(c,e=>{if(h?.disconnect(),h=void 0,!e||typeof ResizeObserver>`u`){g();return}h=new ResizeObserver(g),h.observe(e),g()},{immediate:!0}),(0,n.watch)(()=>[s.page.contentHtml,s.page.displayHeight],g),(0,n.onBeforeUnmount)(()=>{h?.disconnect(),h=void 0}),(e,s)=>((0,n.openBlock)(),(0,n.createElementBlock)(`section`,{ref_key:`pageEl`,ref:c,class:(0,n.normalizeClass)([`gd-contract-template-page gd-ant-contract-signing-location__template-page`,u.value]),"data-page-id":o.page.pageId,"data-template-page-index":o.page.pageIndex,"data-page-width":o.page.displayWidth,"data-page-height":o.page.displayHeight,style:(0,n.normalizeStyle)(d.value)},[(0,n.createVNode)(t.default,{decorations:o.page.pageDecorations,"page-number":o.page.pageNumber,"total-pages":o.page.totalPages,variables:o.page.decorationVariables,values:o.page.decorationValues},null,8,[`decorations`,`page-number`,`total-pages`,`variables`,`values`]),(0,n.createElementVNode)(`div`,{class:`gd-contract-template-page__content`,innerHTML:o.page.contentHtml},null,8,i),p.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,a,[(0,n.createElementVNode)(`strong`,null,(0,n.toDisplayString)(m.value),1),(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)(p.value),1)])):(0,n.createCommentVNode)(``,!0)],14,r))}});exports.default=o;
@@ -1 +1 @@
1
- var e=[{value:`01`,label:`单位专用章`},{value:`02`,label:`财务专用章`},{value:`03`,label:`发票专用章`},{value:`04`,label:`合同专用章`},{value:`05`,label:`法定代表人名章`}],t=`application/x-gd-contract-signing-location`,n={seal:`印章`,signature:`签名`,date:`签署日期`},r=8,i=640,a=72/25.4,o={"01":{shape:`circle`,widthMm:40,heightMm:40,centerPattern:`star`,fontFamily:`SimSun, STSong, serif`},"02":{shape:`circle`,widthMm:40,heightMm:40,centerPattern:`star`,fontFamily:`SimSun, STSong, serif`},"03":{shape:`ellipse`,widthMm:40,heightMm:30,centerPattern:`none`,fontFamily:`FangSong, STFangsong, serif`},"04":{shape:`circle`,widthMm:40,heightMm:40,centerPattern:`star`,fontFamily:`SimSun, STSong, serif`},"05":{shape:`square`,widthMm:20,heightMm:20,centerPattern:`none`,fontFamily:`SimSun, STSong, serif`}};function s(e){return Math.round(e*a*100)/100}function c(e,t=96){return Math.round(e/25.4*t*100)/100}function l(t,n=e){let r=String(t??``).trim(),i=n.find(e=>String(e.value).trim()===r),a=e.find(e=>String(e.value).trim()===r),s=o[r]??o[`04`];if(!(!i&&!a))return{...a??{},...i??{},...s,...i?.shape?{shape:i.shape}:{},...i?.widthMm?{widthMm:i.widthMm}:{},...i?.heightMm?{heightMm:i.heightMm}:{},...i?.centerPattern?{centerPattern:i.centerPattern}:{},fontFamily:i?.fontFamily||s.fontFamily}}function u(t,n=e){let r=(Array.isArray(t)?t:t==null?[]:[t]).map(e=>l(e,n)).filter(e=>!!e);return r.length?{width:Math.max(...r.map(e=>s(Number(e.widthMm)))),height:Math.max(...r.map(e=>s(Number(e.heightMm))))}:{width:s(40),height:s(40)}}function d(t,n=e,r=96){let i=u(t,n);return{width:c(i.width/a,r),height:c(i.height/a,r)}}var f={default:{seal:{width:113.39,height:113.39},signature:{width:142,height:57},date:{width:170,height:57}}},p=8,m=48,h=3,g=150;exports.CONTRACT_SIGNING_AUTO_SCROLL_EDGE_PX=m,exports.CONTRACT_SIGNING_MIN_PLACEMENT_SIZE=p,exports.CONTRACT_SIGNING_PLACEMENT_LABELS=n,exports.CONTRACT_SIGNING_PLACEMENT_MIME=t,exports.CONTRACT_SIGNING_PREVIEW_CONCURRENCY=h,exports.CONTRACT_SIGNING_PX_PER_MM=a,exports.CONTRACT_SIGNING_SEAL_MAX_SIZE=i,exports.CONTRACT_SIGNING_SEAL_MIN_SIZE=r,exports.CONTRACT_SIGNING_SEAL_TYPE_OPTIONS=e,exports.CONTRACT_SIGNING_SEAL_TYPE_PRESETS=o,exports.CONTRACT_SIGNING_SIZE_PROFILES=f,exports.CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS=g,exports.millimetersToContractSigningCssPixels=c,exports.millimetersToContractSigningPixels=s,exports.resolveContractSigningSealSizeInCssPixels=d,exports.resolveContractSigningSealSizeInPixels=u,exports.resolveContractSigningSealTypeOption=l;
1
+ var e=[{value:`01`,label:`单位专用章`},{value:`02`,label:`财务专用章`},{value:`03`,label:`发票专用章`},{value:`04`,label:`合同专用章`},{value:`05`,label:`法定代表人名章`}],t=`application/x-gd-contract-signing-location`,n={seal:`印章`,signature:`签名`,date:`签署日期`},r=8,i=640,a=72/25.4,o={"01":{shape:`circle`,widthMm:40,heightMm:40,centerPattern:`star`,fontFamily:`SimSun, STSong, serif`},"02":{shape:`circle`,widthMm:40,heightMm:40,centerPattern:`star`,fontFamily:`SimSun, STSong, serif`},"03":{shape:`ellipse`,widthMm:40,heightMm:30,centerPattern:`none`,fontFamily:`FangSong, STFangsong, serif`},"04":{shape:`circle`,widthMm:40,heightMm:40,centerPattern:`star`,fontFamily:`SimSun, STSong, serif`},"05":{shape:`square`,widthMm:20,heightMm:20,centerPattern:`none`,fontFamily:`SimSun, STSong, serif`}},s=96/72;function c(e){return{width:l(e?.width),height:l(e?.height)}}function l(e){let t=Number(e);return!Number.isFinite(t)||t<=0?0:Math.round(t/s*100)/100}function u(e){return Math.round(e*a*100)/100}function d(e,t=96){return Math.round(e/25.4*t*100)/100}function f(t,n=e){let r=String(t??``).trim(),i=n.find(e=>String(e.value).trim()===r),a=e.find(e=>String(e.value).trim()===r),s=o[r]??o[`04`];if(!(!i&&!a))return{...a??{},...i??{},...s,...i?.shape?{shape:i.shape}:{},...i?.widthMm?{widthMm:i.widthMm}:{},...i?.heightMm?{heightMm:i.heightMm}:{},...i?.centerPattern?{centerPattern:i.centerPattern}:{},fontFamily:i?.fontFamily||s.fontFamily}}function p(t,n=e){let r=(Array.isArray(t)?t:t==null?[]:[t]).map(e=>f(e,n)).filter(e=>!!e);return r.length?{width:Math.max(...r.map(e=>u(Number(e.widthMm)))),height:Math.max(...r.map(e=>u(Number(e.heightMm))))}:{width:u(40),height:u(40)}}function m(t,n=e,r=96){let i=p(t,n);return{width:d(i.width/a,r),height:d(i.height/a,r)}}var h={default:{seal:{width:113.39,height:113.39},signature:{width:142,height:57},date:{width:170,height:57}}},g=8,_=48,v=3,y=150;exports.CONTRACT_SIGNING_AUTO_SCROLL_EDGE_PX=_,exports.CONTRACT_SIGNING_CSS_PX_PER_POINT=s,exports.CONTRACT_SIGNING_MIN_PLACEMENT_SIZE=g,exports.CONTRACT_SIGNING_PLACEMENT_LABELS=n,exports.CONTRACT_SIGNING_PLACEMENT_MIME=t,exports.CONTRACT_SIGNING_PREVIEW_CONCURRENCY=v,exports.CONTRACT_SIGNING_PX_PER_MM=a,exports.CONTRACT_SIGNING_SEAL_MAX_SIZE=i,exports.CONTRACT_SIGNING_SEAL_MIN_SIZE=r,exports.CONTRACT_SIGNING_SEAL_TYPE_OPTIONS=e,exports.CONTRACT_SIGNING_SEAL_TYPE_PRESETS=o,exports.CONTRACT_SIGNING_SIZE_PROFILES=h,exports.CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS=y,exports.millimetersToContractSigningCssPixels=d,exports.millimetersToContractSigningPixels=u,exports.resolveContractSigningSealSizeInCssPixels=m,exports.resolveContractSigningSealSizeInPixels=p,exports.resolveContractSigningSealTypeOption=f,exports.toContractSigningRulePageSize=c;
@@ -1 +1 @@
1
- const e=require(`./constants.cjs`),t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`);var r=0;function i(e=``){return{contractId:e,files:[],placements:[]}}function a(e,n){let r=v(e?.files),i=T(r);return{contractId:String(e?.contractId??``).trim(),files:r,placements:Array.isArray(e?.placements)?e.placements.map(C).map(e=>{let r=i.get(E(e.fileId,e.pageIndex));return r?t.clampContractSigningPlacement(e,r,{sealSizeLimit:n?.sealSizeLimit,sealTypes:e.sealType,sealTypeOptions:n?.sealTypeOptions}):e}):[]}}function o(e){return{contractId:e.contractId,files:e.files.map(e=>({...e,pages:e.pages.map(e=>({...e})),...e.source?.type===`template`?{source:{type:`template`,template:S(e.source.template),...e.source.values?{values:{...e.source.values}}:{}}}:e.source?{source:{type:`preview`}}:{}})),placements:e.placements.map(e=>({...e,sealType:e.sealType?[...e.sealType]:void 0}))}}function s(e,r=1){let i=a(e),o=t.normalizeContractSigningCoordinateScale(r);if(o===1)return i;let s=e=>t.normalizeContractSigningCoordinateDimension(e,o);return{...i,files:i.files.map(e=>n.isContractSigningTemplateFile(e)?e:{...e,pages:e.pages.map(e=>({...e,width:s(e.width),height:s(e.height)}))}),placements:i.placements.map(e=>{let t=i.files.find(t=>t.fileId===e.fileId);return n.isContractSigningTemplateFile(t)?e:{...e,signLeft:s(e.signLeft),signTop:s(e.signTop),signWidth:s(e.signWidth),signHeight:s(e.signHeight)}})}}function c(e,t,n){return e.files.find(e=>e.fileId===t)?.pages.find(e=>e.pageIndex===n)}function l(e){if(e?.length)return e.reduce((e,t)=>t.pageIndex<e.pageIndex?t:e)}function u(n,r,i,a){let o={...n,...r,id:n.id,fileId:n.fileId,pageIndex:r.pageIndex===void 0?n.pageIndex:r.pageIndex};if(n.signType===`seal`){if(o.signType=`seal`,r.sealType!==void 0&&Array.isArray(r.sealType)){let t=e.resolveContractSigningSealSizeInPixels(r.sealType,a?.sealTypeOptions);o.signWidth=t.width,o.signHeight=t.height}if(r.sealType===void 0){let e=Number(r.signWidth),t=Number(r.signHeight);if(Number.isFinite(e)&&e>0&&Number.isFinite(t)&&t>0)o.signWidth=e,o.signHeight=t;else{let r=Number.isFinite(e)&&e>0?e:Number.isFinite(t)&&t>0?t:n.signWidth;o.signWidth=r,o.signHeight=r}}}return i?t.clampContractSigningPlacement(o,i,{sealSizeLimit:a?.sealSizeLimit,sealTypes:o.sealType,sealTypeOptions:a?.sealTypeOptions}):o}function d(e){return!!(e&&j(e.width)&&j(e.height))}function f(e,n,r=1,i=!1){if(i||d(e)||!n.width||!n.height)return;let a=t.normalizeContractSigningCoordinateDimension(n.width,r),o=t.normalizeContractSigningCoordinateDimension(n.height,r);return a>0&&o>0?{width:a,height:o}:void 0}function p(n,i,a,o={}){let s=n===`seal`?e.resolveContractSigningSealSizeInPixels(o.sealType??[`04`],o.sealTypeOptions):t.getContractSigningPlacementSize(n,o.sizeProfile);return r+=1,t.clampContractSigningPlacement({id:`contract-signing-placement-${Date.now().toString(36)}-${r.toString(36)}`,fileId:i,pageIndex:a.pageIndex,signType:n,signLeft:o.signLeft??(a.width-s.width)/2,signTop:o.signTop??(a.height-s.height)/2,signWidth:s.width,signHeight:s.height,mustSign:!0,...n===`seal`?{sealType:o.sealType===void 0?[`04`]:w(o.sealType)}:{}},a,{sealSizeLimit:o.sealSizeLimit,sealTypes:o.sealType,sealTypeOptions:o.sealTypeOptions})}function m(t,r={}){let i=[],a=r.allowedSealTypes?new Set(Array.from(r.allowedSealTypes,e=>String(e).trim()).filter(Boolean)):void 0;t.files.length||i.push({code:`CONTRACT_FILES_MISSING`,message:`合同没有可用文件`}),t.placements.length||i.push({code:`SIGNING_PLACEMENTS_MISSING`,message:`请至少添加一个签署位置`});let o=new Set,s=new Set;return t.files.forEach(e=>{e.fileId?o.has(e.fileId)&&i.push({code:`CONTRACT_FILE_ID_DUPLICATE`,message:`合同文件 ID ${e.fileId} 重复`,fileId:e.fileId}):i.push({code:`CONTRACT_FILE_ID_MISSING`,message:`合同文件缺少真实 fileId`}),o.add(e.fileId),e.pages.length||i.push({code:`CONTRACT_PAGES_MISSING`,message:`文件 ${e.fileName||e.fileId} 没有页面元数据`,fileId:e.fileId}),i.push(...n.validateContractSigningTemplateFile(e));let t=new Set;e.pages.forEach(n=>{!Number.isInteger(n.pageIndex)||n.pageIndex<0?i.push({code:`CONTRACT_PAGE_INDEX_INVALID`,message:`页面索引必须是非负整数`,fileId:e.fileId,pageIndex:n.pageIndex}):t.has(n.pageIndex)&&i.push({code:`CONTRACT_PAGE_INDEX_DUPLICATE`,message:`文件 ${e.fileName||e.fileId} 的页面索引 ${n.pageIndex} 重复`,fileId:e.fileId,pageIndex:n.pageIndex}),t.add(n.pageIndex),d(n)||i.push({code:`CONTRACT_PAGE_SIZE_INVALID`,message:`页面缺少有效的原始宽高`,fileId:e.fileId,pageIndex:n.pageIndex})})}),t.placements.forEach(n=>{let r=e.CONTRACT_SIGNING_PLACEMENT_LABELS[n.signType]??`签署位置`;n.id?s.has(n.id)&&i.push({code:`SIGNING_PLACEMENT_ID_DUPLICATE`,message:`签署位置 ID ${n.id} 重复`,placementId:n.id}):i.push({code:`SIGNING_PLACEMENT_ID_MISSING`,message:`${r}缺少唯一 ID`}),s.add(n.id);let o=c(t,n.fileId,n.pageIndex);if(!o){i.push({code:`SIGNING_PLACEMENT_PAGE_MISSING`,message:`${r}引用了不存在的文件或页面`,placementId:n.id,fileId:n.fileId,pageIndex:n.pageIndex});return}[n.signLeft,n.signTop,n.signWidth,n.signHeight].some(e=>!Number.isFinite(e))?i.push({code:`SIGNING_PLACEMENT_GEOMETRY_INVALID`,message:`${r}坐标和尺寸必须是有限数字`,placementId:n.id}):n.signWidth<=0||n.signHeight<=0?i.push({code:`SIGNING_PLACEMENT_SIZE_INVALID`,message:`${r}宽高必须大于 0`,placementId:n.id}):(n.signLeft<0||n.signTop<0||n.signLeft+n.signWidth>o.width||n.signTop+n.signHeight>o.height)&&i.push({code:`SIGNING_PLACEMENT_OUT_OF_BOUNDS`,message:`${r}不能超出所属页面`,placementId:n.id,fileId:n.fileId,pageIndex:n.pageIndex}),n.signType!==`seal`&&n.sealType!==void 0&&i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_INVALID`,message:`只有印章位置可以配置印章类型`,placementId:n.id}),n.signType===`seal`&&(!Array.isArray(n.sealType)||!n.sealType.length||n.sealType.some(e=>!String(e).trim()))?i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_INVALID`,message:`印章位置必须至少选择一种有效印章类型`,placementId:n.id}):n.signType===`seal`&&a&&n.sealType?.some(e=>!a.has(String(e).trim()))&&i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_UNSUPPORTED`,message:`印章位置包含未配置的印章类型`,placementId:n.id})}),i}function h(e,n={}){let r=m(e,n);if(r.length)throw new _(r);return e.placements.map(e=>{let n=t.getContractSigningRuleGeometry(e);return{mustSign:e.mustSign,location:{signType:e.signType,signTop:n.signTop,signLeft:n.signLeft,signWidth:n.signWidth,signHeight:n.signHeight,pageList:{[e.fileId]:[e.pageIndex]},...e.signType===`seal`&&e.sealType?.length?{sealType:[...e.sealType]}:{}}}})}function g(e,t={}){let n=o(e);return{...n,locationRules:h(n,t)}}var _=class extends Error{constructor(e){super(e[0]?.message||`指定签署位置数据不完整`),this.code=`CONTRACT_SIGNING_LOCATION_INVALID`,this.name=`ContractSigningLocationBuildError`,this.errors=e}};function v(e){return Array.isArray(e)?e.map((e,t)=>{let n=e&&typeof e==`object`?e:{},r=String(n.fileId??``).trim(),i=y(n.source),a=i?.type===`template`?b(i.template,i.values,n.pages):Array.isArray(n.pages)?n.pages.map((e,t)=>x(e,t)):[];return{fileId:r,fileName:String(n.fileName??`合同文件 ${t+1}`),pages:a,...i?{source:i}:{}}}):[]}function y(e){if(!e||typeof e!=`object`)return;let t=e;return t.type===`template`?{type:`template`,template:S(t.template),...t.values&&typeof t.values==`object`&&!Array.isArray(t.values)?{values:{...t.values}}:{}}:t.type===`preview`?{type:`preview`}:void 0}function b(e,t,r){let i=n.buildContractSigningTemplateRenderPages({type:`template`,template:e,...t?{values:t}:{}}),a=Array.isArray(r)?r:[];return i.map(e=>{let t=a.find(t=>k((t&&typeof t==`object`?t:{}).pageIndex,-1)===e.pageIndex),n=t&&typeof t==`object`?t:{},r=O(e.displayWidth||e.width,0),i=O(e.displayHeight||e.height,0);return{pageIndex:e.pageIndex,displayPageNumber:e.pageIndex+1,pageId:e.pageId,width:O(n.width,r),height:O(n.height,i),displayWidth:r,displayHeight:i,...n.previewUrl?{previewUrl:String(n.previewUrl)}:{},...n.thumbnailUrl?{thumbnailUrl:String(n.thumbnailUrl)}:{}}})}function x(e,t){let n=e&&typeof e==`object`?e:{},r=k(n.pageIndex,t);return{pageIndex:r,displayPageNumber:A(n.displayPageNumber,r+1),width:O(n.width,0),height:O(n.height,0),...O(n.displayWidth,0)>0?{displayWidth:O(n.displayWidth,0)}:{},...O(n.displayHeight,0)>0?{displayHeight:O(n.displayHeight,0)}:{},...n.pageId?{pageId:String(n.pageId)}:{},...n.previewUrl?{previewUrl:String(n.previewUrl)}:{},...n.thumbnailUrl?{thumbnailUrl:String(n.thumbnailUrl)}:{}}}function S(e){if(e==null)return e;try{return JSON.parse(JSON.stringify(e))}catch{return e}}function C(e){let t=e?.signType===`seal`||e?.signType===`signature`||e?.signType===`date`?e.signType:`signature`;return{id:String(e?.id??``),fileId:String(e?.fileId??``).trim(),pageIndex:k(e?.pageIndex,0),signType:t,signLeft:D(e?.signLeft,0),signTop:D(e?.signTop,0),signWidth:D(e?.signWidth,0),signHeight:D(e?.signHeight,0),mustSign:e?.mustSign!==!1,...t===`seal`&&Array.isArray(e?.sealType)?{sealType:e.sealType.map(String)}:{}}}function w(e){return Array.isArray(e)?Array.from(new Set(e.map(String).map(e=>e.trim()).filter(Boolean))):[]}function T(e){return new Map(e.flatMap(e=>e.pages.map(t=>[E(e.fileId,t.pageIndex),t])))}function E(e,t){return`${e}\u0000${t}`}function D(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function O(e,t){return Math.max(0,D(e,t))}function k(e,t){return Math.max(0,Math.round(D(e,t)))}function A(e,t){return Math.max(1,Math.round(D(e,t)))}function j(e){return typeof e==`number`&&Number.isFinite(e)&&e>0}exports.ContractSigningLocationBuildError=_,exports.buildContractSigningLocationOutput=g,exports.buildContractSigningLocationRules=h,exports.cloneContractSigningLocationValue=o,exports.createContractSigningLocationValue=i,exports.createContractSigningPlacement=p,exports.findContractSigningPage=c,exports.getContractSigningHomePage=l,exports.isContractSigningPageUsable=d,exports.normalizeContractSigningLocationValue=a,exports.normalizeContractSigningProviderValue=s,exports.patchContractSigningPlacement=u,exports.resolveContractSigningPreviewPageSize=f,exports.validateContractSigningLocationValue=m;
1
+ const e=require(`./constants.cjs`),t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`);var r=0;function i(e=``){return{contractId:e,files:[],placements:[]}}function a(e,n){let r=v(e?.files),i=T(r);return{contractId:String(e?.contractId??``).trim(),files:r,placements:Array.isArray(e?.placements)?e.placements.map(C).map(e=>{let r=i.get(E(e.fileId,e.pageIndex));return r?t.clampContractSigningPlacement(e,r,{sealSizeLimit:n?.sealSizeLimit,sealTypes:e.sealType,sealTypeOptions:n?.sealTypeOptions}):e}):[]}}function o(e){return{contractId:e.contractId,files:e.files.map(e=>({...e,pages:e.pages.map(e=>({...e})),...e.source?.type===`template`?{source:{type:`template`,template:S(e.source.template),...e.source.values?{values:{...e.source.values}}:{}}}:e.source?{source:{type:`preview`}}:{}})),placements:e.placements.map(e=>({...e,sealType:e.sealType?[...e.sealType]:void 0}))}}function s(e,r=1){let i=a(e),o=t.normalizeContractSigningCoordinateScale(r);if(o===1)return i;let s=e=>t.normalizeContractSigningCoordinateDimension(e,o);return{...i,files:i.files.map(e=>n.isContractSigningTemplateFile(e)?e:{...e,pages:e.pages.map(e=>({...e,width:s(e.width),height:s(e.height)}))}),placements:i.placements.map(e=>{let t=i.files.find(t=>t.fileId===e.fileId);return n.isContractSigningTemplateFile(t)?e:{...e,signLeft:s(e.signLeft),signTop:s(e.signTop),signWidth:s(e.signWidth),signHeight:s(e.signHeight)}})}}function c(e,t,n){return e.files.find(e=>e.fileId===t)?.pages.find(e=>e.pageIndex===n)}function l(e){if(e?.length)return e.reduce((e,t)=>t.pageIndex<e.pageIndex?t:e)}function u(n,r,i,a){let o={...n,...r,id:n.id,fileId:n.fileId,pageIndex:r.pageIndex===void 0?n.pageIndex:r.pageIndex};if(n.signType===`seal`){if(o.signType=`seal`,r.sealType!==void 0&&Array.isArray(r.sealType)){let t=e.resolveContractSigningSealSizeInPixels(r.sealType,a?.sealTypeOptions);o.signWidth=t.width,o.signHeight=t.height}if(r.sealType===void 0){let e=Number(r.signWidth),t=Number(r.signHeight);if(Number.isFinite(e)&&e>0&&Number.isFinite(t)&&t>0)o.signWidth=e,o.signHeight=t;else{let r=Number.isFinite(e)&&e>0?e:Number.isFinite(t)&&t>0?t:n.signWidth;o.signWidth=r,o.signHeight=r}}}return i?t.clampContractSigningPlacement(o,i,{sealSizeLimit:a?.sealSizeLimit,sealTypes:o.sealType,sealTypeOptions:a?.sealTypeOptions}):o}function d(e){return!!(e&&j(e.width)&&j(e.height))}function f(e,n,r=1,i=!1){if(i||d(e)||!n.width||!n.height)return;let a=t.normalizeContractSigningCoordinateDimension(n.width,r),o=t.normalizeContractSigningCoordinateDimension(n.height,r);return a>0&&o>0?{width:a,height:o}:void 0}function p(n,i,a,o={}){let s=n===`seal`?e.resolveContractSigningSealSizeInPixels(o.sealType??[`04`],o.sealTypeOptions):t.getContractSigningPlacementSize(n,o.sizeProfile);return r+=1,t.clampContractSigningPlacement({id:`contract-signing-placement-${Date.now().toString(36)}-${r.toString(36)}`,fileId:i,pageIndex:a.pageIndex,signType:n,signLeft:o.signLeft??(a.width-s.width)/2,signTop:o.signTop??(a.height-s.height)/2,signWidth:s.width,signHeight:s.height,mustSign:!0,...n===`seal`?{sealType:o.sealType===void 0?[`04`]:w(o.sealType)}:{}},a,{sealSizeLimit:o.sealSizeLimit,sealTypes:o.sealType,sealTypeOptions:o.sealTypeOptions})}function m(t,r={}){let i=[],a=r.allowedSealTypes?new Set(Array.from(r.allowedSealTypes,e=>String(e).trim()).filter(Boolean)):void 0;t.files.length||i.push({code:`CONTRACT_FILES_MISSING`,message:`合同没有可用文件`}),t.placements.length||i.push({code:`SIGNING_PLACEMENTS_MISSING`,message:`请至少添加一个签署位置`});let o=new Set,s=new Set;return t.files.forEach(e=>{e.fileId?o.has(e.fileId)&&i.push({code:`CONTRACT_FILE_ID_DUPLICATE`,message:`合同文件 ID ${e.fileId} 重复`,fileId:e.fileId}):i.push({code:`CONTRACT_FILE_ID_MISSING`,message:`合同文件缺少真实 fileId`}),o.add(e.fileId),e.pages.length||i.push({code:`CONTRACT_PAGES_MISSING`,message:`文件 ${e.fileName||e.fileId} 没有页面元数据`,fileId:e.fileId}),i.push(...n.validateContractSigningTemplateFile(e));let t=new Set;e.pages.forEach(n=>{!Number.isInteger(n.pageIndex)||n.pageIndex<0?i.push({code:`CONTRACT_PAGE_INDEX_INVALID`,message:`页面索引必须是非负整数`,fileId:e.fileId,pageIndex:n.pageIndex}):t.has(n.pageIndex)&&i.push({code:`CONTRACT_PAGE_INDEX_DUPLICATE`,message:`文件 ${e.fileName||e.fileId} 的页面索引 ${n.pageIndex} 重复`,fileId:e.fileId,pageIndex:n.pageIndex}),t.add(n.pageIndex),d(n)||i.push({code:`CONTRACT_PAGE_SIZE_INVALID`,message:`页面缺少有效的原始宽高`,fileId:e.fileId,pageIndex:n.pageIndex})})}),t.placements.forEach(n=>{let r=e.CONTRACT_SIGNING_PLACEMENT_LABELS[n.signType]??`签署位置`;n.id?s.has(n.id)&&i.push({code:`SIGNING_PLACEMENT_ID_DUPLICATE`,message:`签署位置 ID ${n.id} 重复`,placementId:n.id}):i.push({code:`SIGNING_PLACEMENT_ID_MISSING`,message:`${r}缺少唯一 ID`}),s.add(n.id);let o=c(t,n.fileId,n.pageIndex);if(!o){i.push({code:`SIGNING_PLACEMENT_PAGE_MISSING`,message:`${r}引用了不存在的文件或页面`,placementId:n.id,fileId:n.fileId,pageIndex:n.pageIndex});return}[n.signLeft,n.signTop,n.signWidth,n.signHeight].some(e=>!Number.isFinite(e))?i.push({code:`SIGNING_PLACEMENT_GEOMETRY_INVALID`,message:`${r}坐标和尺寸必须是有限数字`,placementId:n.id}):n.signWidth<=0||n.signHeight<=0?i.push({code:`SIGNING_PLACEMENT_SIZE_INVALID`,message:`${r}宽高必须大于 0`,placementId:n.id}):(n.signLeft<0||n.signTop<0||n.signLeft+n.signWidth>o.width||n.signTop+n.signHeight>o.height)&&i.push({code:`SIGNING_PLACEMENT_OUT_OF_BOUNDS`,message:`${r}不能超出所属页面`,placementId:n.id,fileId:n.fileId,pageIndex:n.pageIndex}),n.signType!==`seal`&&n.sealType!==void 0&&i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_INVALID`,message:`只有印章位置可以配置印章类型`,placementId:n.id}),n.signType===`seal`&&(!Array.isArray(n.sealType)||!n.sealType.length||n.sealType.some(e=>!String(e).trim()))?i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_INVALID`,message:`印章位置必须至少选择一种有效印章类型`,placementId:n.id}):n.signType===`seal`&&a&&n.sealType?.some(e=>!a.has(String(e).trim()))&&i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_UNSUPPORTED`,message:`印章位置包含未配置的印章类型`,placementId:n.id})}),i}function h(e,n={}){let r=m(e,n);if(r.length)throw new _(r);return e.placements.map(e=>{let n=t.getContractSigningRuleGeometry(e);return{mustSign:e.mustSign,location:{signType:e.signType,signTop:n.signTop,signLeft:n.signLeft,signWidth:n.signWidth,signHeight:n.signHeight,pageList:{[e.fileId]:[e.pageIndex]},...e.signType===`seal`&&e.sealType?.length?{sealType:[...e.sealType]}:{}}}})}function g(e,t={}){let n=o(e);return{...n,locationRules:h(n,t)}}var _=class extends Error{constructor(e){super(e[0]?.message||`指定签署位置数据不完整`),this.code=`CONTRACT_SIGNING_LOCATION_INVALID`,this.name=`ContractSigningLocationBuildError`,this.errors=e}};function v(e){return Array.isArray(e)?e.map((e,t)=>{let n=e&&typeof e==`object`?e:{},r=String(n.fileId??``).trim(),i=y(n.source),a=i?.type===`template`?b(i.template,i.values,n.pages):Array.isArray(n.pages)?n.pages.map((e,t)=>x(e,t)):[];return{fileId:r,fileName:String(n.fileName??`合同文件 ${t+1}`),pages:a,...i?{source:i}:{}}}):[]}function y(e){if(!e||typeof e!=`object`)return;let t=e;return t.type===`template`?{type:`template`,template:S(t.template),...t.values&&typeof t.values==`object`&&!Array.isArray(t.values)?{values:{...t.values}}:{}}:t.type===`preview`?{type:`preview`}:void 0}function b(e,t,r){let i=n.buildContractSigningTemplateRenderPages({type:`template`,template:e,...t?{values:t}:{}}),a=Array.isArray(r)?r:[];return i.map(e=>{let t=a.find(t=>k((t&&typeof t==`object`?t:{}).pageIndex,-1)===e.pageIndex),n=t&&typeof t==`object`?t:{},r=O(e.displayWidth||e.width,0),i=O(e.displayHeight||e.height,0);return{pageIndex:e.pageIndex,displayPageNumber:e.pageIndex+1,pageId:e.pageId,width:O(n.width,e.width),height:O(n.height,e.height),displayWidth:r,displayHeight:i,...n.previewUrl?{previewUrl:String(n.previewUrl)}:{},...n.thumbnailUrl?{thumbnailUrl:String(n.thumbnailUrl)}:{}}})}function x(e,t){let n=e&&typeof e==`object`?e:{},r=k(n.pageIndex,t);return{pageIndex:r,displayPageNumber:A(n.displayPageNumber,r+1),width:O(n.width,0),height:O(n.height,0),...O(n.displayWidth,0)>0?{displayWidth:O(n.displayWidth,0)}:{},...O(n.displayHeight,0)>0?{displayHeight:O(n.displayHeight,0)}:{},...n.pageId?{pageId:String(n.pageId)}:{},...n.previewUrl?{previewUrl:String(n.previewUrl)}:{},...n.thumbnailUrl?{thumbnailUrl:String(n.thumbnailUrl)}:{}}}function S(e){if(e==null)return e;try{return JSON.parse(JSON.stringify(e))}catch{return e}}function C(e){let t=e?.signType===`seal`||e?.signType===`signature`||e?.signType===`date`?e.signType:`signature`;return{id:String(e?.id??``),fileId:String(e?.fileId??``).trim(),pageIndex:k(e?.pageIndex,0),signType:t,signLeft:D(e?.signLeft,0),signTop:D(e?.signTop,0),signWidth:D(e?.signWidth,0),signHeight:D(e?.signHeight,0),mustSign:e?.mustSign!==!1,...t===`seal`&&Array.isArray(e?.sealType)?{sealType:e.sealType.map(String)}:{}}}function w(e){return Array.isArray(e)?Array.from(new Set(e.map(String).map(e=>e.trim()).filter(Boolean))):[]}function T(e){return new Map(e.flatMap(e=>e.pages.map(t=>[E(e.fileId,t.pageIndex),t])))}function E(e,t){return`${e}\u0000${t}`}function D(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function O(e,t){return Math.max(0,D(e,t))}function k(e,t){return Math.max(0,Math.round(D(e,t)))}function A(e,t){return Math.max(1,Math.round(D(e,t)))}function j(e){return typeof e==`number`&&Number.isFinite(e)&&e>0}exports.ContractSigningLocationBuildError=_,exports.buildContractSigningLocationOutput=g,exports.buildContractSigningLocationRules=h,exports.cloneContractSigningLocationValue=o,exports.createContractSigningLocationValue=i,exports.createContractSigningPlacement=p,exports.findContractSigningPage=c,exports.getContractSigningHomePage=l,exports.isContractSigningPageUsable=d,exports.normalizeContractSigningLocationValue=a,exports.normalizeContractSigningProviderValue=s,exports.patchContractSigningPlacement=u,exports.resolveContractSigningPreviewPageSize=f,exports.validateContractSigningLocationValue=m;
@@ -1 +1 @@
1
- const e=require(`../../pro-contract-template-designer/src/utils/template-renderer.cjs`);function t(e){return!!(e&&typeof e==`object`&&e.type===`template`)}function n(e){return t(e?.source)}function r(n){if(!t(n)||!s(n.template))return[];try{let t=n.template,r=Array.isArray(t.pages)?t.pages:[],i=e.normalizeRenderValues(t,n.values),a=o(t);return r.flatMap((n,r)=>{let o=e.buildTemplateRenderPages({...t,pages:[n]},i,{readonly:!0,disabled:!0,mode:`display`})[0];if(!o)return[];let s=c(n?.pageSize,t.pageSize,o);return[{pageIndex:r,pageId:o.id,title:o.title,width:s.width,height:s.height,displayWidth:s.width,displayHeight:s.height,contentHtml:o.contentHtml,errors:a.filter(e=>!e.pageId||e.pageId===o.id).map(e=>e.message)}]})}catch{return[]}}function i(e){if(!t(e.source))return[];if(!s(e.source.template))return[{code:`CONTRACT_TEMPLATE_MISSING`,message:`文件 ${e.fileName||e.fileId} 缺少可渲染的合同模板`,fileId:e.fileId}];try{let t=Array.isArray(e.source.template.pages)?e.source.template.pages:[];return o(e.source.template).map(n=>{let r=n.pageId?t.findIndex(e=>e?.id===n.pageId):-1;return{code:`CONTRACT_${n.code||`TEMPLATE_INVALID`}`,message:`${e.fileName||e.fileId}:${n.message}`,fileId:e.fileId,...r>=0?{pageIndex:r}:{}}})}catch(t){return[{code:`CONTRACT_TEMPLATE_RENDER_FAILED`,message:`文件 ${e.fileName||e.fileId} 的模板数据无法安全渲染`,fileId:e.fileId,cause:t}]}}function a(e){return!e||!t(e.source)?``:i(e)[0]?.message??``}function o(t){return e.validateTemplateRenderStructure(t)}function s(e){return!!(e&&typeof e==`object`)}function c(e,t,n){return{width:l(e?.width,l(t?.width,n.width)),height:l(e?.height,l(t?.height,n.height))}}function l(e,t){let n=Number(e);return Number.isFinite(n)&&n>0?n:t}exports.buildContractSigningTemplateRenderPages=r,exports.getContractSigningTemplateDisplayError=a,exports.isContractSigningTemplateFile=n,exports.isContractSigningTemplateSource=t,exports.validateContractSigningTemplateFile=i;
1
+ const e=require(`../../pro-contract-template-designer/src/utils/page-decorations.cjs`),t=require(`./constants.cjs`),n=require(`../../pro-contract-template-designer/src/utils/template-renderer.cjs`);function r(e){return!!(e&&typeof e==`object`&&e.type===`template`)}function i(e){return r(e?.source)}function a(e){if(!r(e)||!u(e.template))return[];try{let r=e.template,i=Array.isArray(r.pages)?r.pages:[],a=n.normalizeRenderValues(r,e.values),s=l(r),c=i.length;return i.flatMap((e,i)=>{let l=n.buildTemplateRenderPages({...r,pages:[e]},a,{readonly:!0,disabled:!0,mode:`display`})[0];if(!l)return[];let u=d(e?.pageSize,r.pageSize,l),f=t.toContractSigningRulePageSize(u),p=i+1,m=o(l.pageDecorations,p);return[{pageIndex:i,pageId:l.id,title:l.title,width:f.width||u.width,height:f.height||u.height,displayWidth:u.width,displayHeight:u.height,contentHtml:l.contentHtml,...l.pageDecorations?{pageDecorations:l.pageDecorations}:{},decorationVariables:l.decorationVariables,decorationValues:l.decorationValues,pageNumber:p,totalPages:c,paddingTop:m.top,paddingBottom:m.bottom,errors:s.filter(e=>!e.pageId||e.pageId===l.id).map(e=>e.message)}]})}catch{return[]}}function o(t,n){let r=e.normalizePageDecorations(t);return{top:e.hasEnabledPageHeader(r,n)?e.getPageDecorationSafePadding(r.header):e.CONTRACT_PAGE_BASE_PADDING.top,bottom:e.hasEnabledPageFooter(r,n)?e.getPageDecorationSafePadding(r.footer):e.CONTRACT_PAGE_BASE_PADDING.bottom}}function s(e){if(!r(e.source))return[];if(!u(e.source.template))return[{code:`CONTRACT_TEMPLATE_MISSING`,message:`文件 ${e.fileName||e.fileId} 缺少可渲染的合同模板`,fileId:e.fileId}];try{let t=Array.isArray(e.source.template.pages)?e.source.template.pages:[];return l(e.source.template).map(n=>{let r=n.pageId?t.findIndex(e=>e?.id===n.pageId):-1;return{code:`CONTRACT_${n.code||`TEMPLATE_INVALID`}`,message:`${e.fileName||e.fileId}:${n.message}`,fileId:e.fileId,...r>=0?{pageIndex:r}:{}}})}catch(t){return[{code:`CONTRACT_TEMPLATE_RENDER_FAILED`,message:`文件 ${e.fileName||e.fileId} 的模板数据无法安全渲染`,fileId:e.fileId,cause:t}]}}function c(e){return!e||!r(e.source)?``:s(e)[0]?.message??``}function l(e){return n.validateTemplateRenderStructure(e)}function u(e){return!!(e&&typeof e==`object`)}function d(e,t,n){return{width:f(e?.width,f(t?.width,n.width)),height:f(e?.height,f(t?.height,n.height))}}function f(e,t){let n=Number(e);return Number.isFinite(n)&&n>0?n:t}exports.buildContractSigningTemplateRenderPages=a,exports.getContractSigningTemplateDisplayError=c,exports.isContractSigningTemplateFile=i,exports.isContractSigningTemplateSource=r,exports.validateContractSigningTemplateFile=s;