@guodun/antdv 1.4.8 → 1.5.1

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 (70) hide show
  1. package/dist/es/components/contract-signing-location/src/ContractSigningLocation.vue.mjs +315 -286
  2. package/dist/es/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.mjs +316 -285
  3. package/dist/es/components/contract-signing-location/src/ContractSigningTemplatePage.vue.mjs +62 -54
  4. package/dist/es/components/contract-signing-location/style/index.css +1 -1
  5. package/dist/es/components/index.mjs +1 -0
  6. package/dist/es/components/pro-contract-template-designer/index.mjs +1 -0
  7. package/dist/es/components/pro-contract-template-designer/src/ContractPrintIframe.mjs +7 -0
  8. package/dist/es/components/pro-contract-template-designer/src/ContractPrintIframe.vue.mjs +129 -0
  9. package/dist/es/components/pro-contract-template-designer/src/ContractPrintIframe.vue_vue_type_style_index_0_scoped_a9912ff0_lang.css +1 -0
  10. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewModal.vue.mjs +10 -5
  11. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.mjs +64 -43
  12. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererPage.vue.mjs +82 -53
  13. package/dist/es/components/pro-contract-template-designer/src/DesignerPage.vue.mjs +271 -265
  14. package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +762 -751
  15. package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.mjs +217 -197
  16. package/dist/es/components/pro-contract-template-designer/src/constants.mjs +29 -51
  17. package/dist/es/components/pro-contract-template-designer/src/extensions/template-variable.mjs +103 -103
  18. package/dist/es/components/pro-contract-template-designer/src/extensions/word-paste.mjs +24 -21
  19. package/dist/es/components/pro-contract-template-designer/src/utils/contract-print-document.mjs +314 -0
  20. package/dist/es/components/pro-contract-template-designer/src/utils/page-decorations.mjs +1 -1
  21. package/dist/es/components/pro-contract-template-designer/src/utils/template-variable-render.mjs +47 -47
  22. package/dist/es/components/pro-contract-template-designer/src/utils/word-paste.mjs +216 -148
  23. package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
  24. package/dist/es/index.mjs +27 -26
  25. package/dist/lib/components/contract-signing-location/src/ContractSigningLocation.vue.cjs +1 -1
  26. package/dist/lib/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.cjs +1 -1
  27. package/dist/lib/components/contract-signing-location/src/ContractSigningTemplatePage.vue.cjs +1 -1
  28. package/dist/lib/components/contract-signing-location/style/index.css +1 -1
  29. package/dist/lib/components/index.cjs +1 -1
  30. package/dist/lib/components/pro-contract-template-designer/index.cjs +1 -1
  31. package/dist/lib/components/pro-contract-template-designer/src/ContractPrintIframe.cjs +1 -0
  32. package/dist/lib/components/pro-contract-template-designer/src/ContractPrintIframe.vue.cjs +1 -0
  33. package/dist/lib/components/pro-contract-template-designer/src/ContractPrintIframe.vue_vue_type_style_index_0_scoped_a9912ff0_lang.css +1 -0
  34. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewModal.vue.cjs +1 -1
  35. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.cjs +1 -1
  36. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererPage.vue.cjs +1 -1
  37. package/dist/lib/components/pro-contract-template-designer/src/DesignerPage.vue.cjs +2 -2
  38. package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs +1 -1
  39. package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.cjs +1 -1
  40. package/dist/lib/components/pro-contract-template-designer/src/constants.cjs +1 -1
  41. package/dist/lib/components/pro-contract-template-designer/src/extensions/template-variable.cjs +1 -1
  42. package/dist/lib/components/pro-contract-template-designer/src/extensions/word-paste.cjs +1 -1
  43. package/dist/lib/components/pro-contract-template-designer/src/utils/contract-print-document.cjs +211 -0
  44. package/dist/lib/components/pro-contract-template-designer/src/utils/page-decorations.cjs +1 -1
  45. package/dist/lib/components/pro-contract-template-designer/src/utils/template-variable-render.cjs +1 -1
  46. package/dist/lib/components/pro-contract-template-designer/src/utils/word-paste.cjs +2 -2
  47. package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
  48. package/dist/lib/index.cjs +1 -1
  49. package/dist/theme/contract-signing-location.css +1 -1
  50. package/dist/theme/icon.css +1 -1
  51. package/dist/theme/index.css +1 -1
  52. package/dist/types/components/contract-signing-location/src/ContractSigningLocation.vue.d.ts +7 -0
  53. package/dist/types/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.d.ts +4 -0
  54. package/dist/types/components/contract-signing-location/src/ContractSigningTemplatePage.vue.d.ts +9 -3
  55. package/dist/types/components/contract-signing-location/src/types.d.ts +5 -0
  56. package/dist/types/components/pro-contract-template-designer/index.d.ts +1 -0
  57. package/dist/types/components/pro-contract-template-designer/src/ContractPrintIframe.vue.d.ts +35 -0
  58. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerToolbar.vue.d.ts +2 -2
  59. package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePreviewModal.vue.d.ts +1 -0
  60. package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.d.ts +1 -0
  61. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateRendererPage.vue.d.ts +13 -1
  62. package/dist/types/components/pro-contract-template-designer/src/DesignerPage.vue.d.ts +6 -0
  63. package/dist/types/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.d.ts +1 -0
  64. package/dist/types/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.d.ts +1 -0
  65. package/dist/types/components/pro-contract-template-designer/src/constants.d.ts +4 -4
  66. package/dist/types/components/pro-contract-template-designer/src/extensions/word-paste.d.ts +8 -0
  67. package/dist/types/components/pro-contract-template-designer/src/types.d.ts +10 -0
  68. package/dist/types/components/pro-contract-template-designer/src/utils/contract-print-document.d.ts +119 -0
  69. package/dist/types/components/pro-contract-template-designer/src/utils/word-paste.d.ts +2 -0
  70. package/package.json +4 -3
package/dist/es/index.mjs CHANGED
@@ -53,29 +53,30 @@ import _e from "./components/pro-selector-group/index.mjs";
53
53
  import ve from "./components/pro-dynamic-tags/index.mjs";
54
54
  import { DRAWER_SIZE_WIDTH as ye } from "./components/pro-drawer/src/types.mjs";
55
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 };
56
+ import { CONTRACT_PRINT_FONT_UNCONFIGURED_MESSAGE as xe, configureContractPrintFonts as Se, resolveContractFontBaseUrl as Ce, toAbsoluteContractFontBaseUrl as we } from "./components/pro-contract-template-designer/src/utils/contract-print-document.mjs";
57
+ import { CONTRACT_TEXT_STYLE_PRESETS as Te, CONTRACT_TEXT_STYLE_PRESET_COMMANDS as Ee, DEFAULT_CONTRACT_FONT_FAMILY as De, DEFAULT_FONT_FAMILY_OPTIONS as Oe, DEFAULT_FONT_SIZE_PRESETS as ke, DEFAULT_TEXT_ALIGN_OPTIONS as Ae, getContractTextStylePreset as je, normalizeFontFamilyValue as Me, resolveContractTextStylePresetCommands as Ne, resolveFontFamilyOptions as Pe } from "./components/pro-contract-template-designer/src/constants.mjs";
58
+ import { CONTRACT_SIGNING_AUTO_SCROLL_EDGE_PX as Fe, CONTRACT_SIGNING_CSS_PX_PER_POINT as Ie, CONTRACT_SIGNING_MIN_PLACEMENT_SIZE as Le, CONTRACT_SIGNING_PLACEMENT_LABELS as Re, CONTRACT_SIGNING_PLACEMENT_MIME as ze, CONTRACT_SIGNING_PREVIEW_CONCURRENCY as Be, CONTRACT_SIGNING_PX_PER_MM as Ve, CONTRACT_SIGNING_SEAL_MAX_SIZE as He, CONTRACT_SIGNING_SEAL_MIN_SIZE as Ue, CONTRACT_SIGNING_SEAL_TYPE_OPTIONS as Q, CONTRACT_SIGNING_SEAL_TYPE_PRESETS as We, CONTRACT_SIGNING_SIZE_PROFILES as Ge, CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS as Ke, millimetersToContractSigningCssPixels as qe, millimetersToContractSigningPixels as Je, resolveContractSigningSealSizeInCssPixels as Ye, resolveContractSigningSealSizeInPixels as Xe, resolveContractSigningSealTypeOption as Ze, toContractSigningRulePageSize as Qe } from "./components/contract-signing-location/src/constants.mjs";
59
+ import { CONTRACT_SIGNING_RENDER_ORIGIN_OFFSET as $e, CONTRACT_SIGNING_SNAP_THRESHOLD_PX as et, canResizeContractSigningPlacement as tt, clampContractSigningPlacement as nt, clampContractSigningZoom as rt, displayPointToContractPoint as it, getContractSigningPlacementDistances as at, getContractSigningPlacementSize as ot, getContractSigningRuleGeometry as st, moveContractSigningPlacementByDisplayDelta as ct, normalizeContractSigningCoordinateDimension as lt, normalizeContractSigningCoordinateScale as ut, resizeContractSigningSealGeometry as dt, resolveContractSigningSealSizeLimit as ft, resolveContractSigningSizeProfile as pt, snapContractSigningPlacement as mt } from "./components/contract-signing-location/src/coordinates.mjs";
60
+ import { isContractTemplateAdvancedChoiceFieldType as ht, isContractTemplateBuiltinSelectorFieldType as gt, isContractTemplateFieldType as _t } from "./components/pro-contract-template-designer/src/types.mjs";
61
+ import { ContractTemplateLocationRuleBuildError as vt, SIGNING_PLACEMENT_DEFAULT_SIZES as yt, SIGNING_PLACEMENT_MIME as bt, SIGNING_PLACEMENT_MIN_SIZE as xt, SIGNING_PLACEMENT_TYPE_LABELS as St, applySigningPlacementPatch as Ct, buildContractLocationRules as wt, buildSigningPlacementLocationRules as Tt, canMutateSigningPlacements as Et, clampSigningPlacement as Dt, createSigningPlacement as Ot, getSigningPlacementDefaultSize as kt, getSigningPlacementTypeLabel as At, moveSigningPlacementByDisplayDelta as jt, normalizeSigningPlacements as Mt, parseSigningPlacementDragPayload as Nt, resizeSigningPlacement as Pt, resolveSigningPlacementToolItems as Ft, scaleSigningPlacementToPage as It, serializeSigningPlacementDragPayload as Lt, validateSigningPlacements as Rt } from "./components/pro-contract-template-designer/src/utils/signing-placement.mjs";
62
+ import { decodeContractTemplateJsonAttribute as zt, encodeContractTemplateJsonAttribute as Bt, formatContractTemplateRenderValue as Vt, isAllowedContractTemplateRemoteUrl as Ht, isContractTemplateSelectionValue as Ut, normalizeContractTemplateControlOptions as Wt, normalizeContractTemplateJsonObject as Gt, normalizeContractTemplateRequestTimeout as Kt, normalizeContractTemplateSelectionValue as qt, normalizeContractTemplateSelectionValues as Jt } from "./components/pro-contract-template-designer/src/utils/advanced-controls.mjs";
63
+ import { ALL_DEFAULT_FIELD_TYPES as Yt, CONTRACT_TEMPLATE_RENDERER_VERSION as Xt, CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS as Zt, CONTRACT_TEMPLATE_STYLE_VERSION as Qt, CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN as $t, ContractTemplatePageDecorationValidationError as en, DEFAULT_ADVANCED_CHOICE_FIELD_TYPES as tn, DEFAULT_BUILTIN_SELECTOR_FIELD_TYPES as nn, DEFAULT_CUSTOM_FIELD_TYPES as rn, DEFAULT_FIELD_STYLE as an, DEFAULT_FIELD_TYPES as on, DEFAULT_MULTILINE_LINE_HEIGHT as sn, DEFAULT_MULTILINE_ROWS as cn, DEFAULT_PAGE_SIZE as ln, PAGE_SIZE_OPTIONS as un, buildTemplateExpressionHtml as dn, buildTemplateHtml as fn, buildTemplatePreviewHtml as pn, buildTemplatePreviewPages as mn, cloneTemplateValue as hn, collectTemplateLocationRuleExportErrors as gn, collectTemplateValueVariableKeys as _n, collectTemplateVariableKeys as vn, constrainTemplatePageSizes as yn, createBlankPage as $, createBlankTemplate as bn, createDefaultPage as xn, createDefaultTemplate as Sn, createDesignerId as Cn, createTemplateVariable as wn, exportTemplateValue as Tn, findPageSizeOption as En, getFieldOption as Dn, getPageSizeKey as On, getPageSizeOption as kn, inferPageFormat as An, normalizeContractTemplateMaxPages as jn, normalizePageSizeOptions as Mn, normalizeTemplateValue as Nn, resolvePageSize as Pn, splitPageContentByMeasurements as Fn, syncTemplateVariablesWithPages as In, validateContractTemplateVariableKey as Ln, validateTemplateValue as Rn } from "./components/pro-contract-template-designer/src/composables/use-template-designer.mjs";
64
+ import { isSafeContractImageUrl as zn } from "./components/pro-contract-template-designer/src/utils/image-url.mjs";
65
+ import { buildInitialRenderValues as Bn, buildTemplateRenderHtml as Vn, buildTemplateRenderPages as Hn, buildTemplateVariableData as Un, isEmptyRenderValue as Wn, normalizeRenderValues as Gn, resolveTemplateRenderSubmitErrors as Kn, sanitizeContractRendererHtml as qn, validateTemplateRenderStructure as Jn, validateTemplateRenderValues as Yn } from "./components/pro-contract-template-designer/src/utils/template-renderer.mjs";
66
+ import { buildContractSigningTemplateRenderPages as Xn, getContractSigningTemplateDisplayError as Zn, isContractSigningTemplateFile as Qn, isContractSigningTemplateSource as $n, validateContractSigningTemplateFile as er } from "./components/contract-signing-location/src/template-source.mjs";
67
+ import { ContractSigningLocationBuildError as tr, buildContractSigningLocationOutput as nr, buildContractSigningLocationRules as rr, cloneContractSigningLocationValue as ir, createContractSigningLocationValue as ar, createContractSigningPlacement as or, findContractSigningPage as sr, getContractSigningHomePage as cr, isContractSigningPageUsable as lr, normalizeContractSigningLocationValue as ur, normalizeContractSigningProviderValue as dr, patchContractSigningPlacement as fr, resolveContractSigningPreviewPageSize as pr, validateContractSigningLocationValue as mr } from "./components/contract-signing-location/src/location-rules.mjs";
68
+ import { CONTRACT_SIGNING_FALLBACK_PAGE_SIZE as hr, CONTRACT_SIGNING_PAGE_GAP as gr, CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES as _r, buildPageLayouts as vr, contentPointToPagePoint as yr, findPageAtOffset as br, getContractSigningAutoScrollDelta as xr, getPageLayoutScrollTop as Sr, getPageLayoutsContentSize as Cr, getVisibleRange as wr } from "./components/contract-signing-location/src/page-layout.mjs";
69
+ import { formatContractSigningDate as Tr, getContractSigningDateDataUrl as Er, getContractSigningDateSvgDataUrl as Dr, getContractSigningPlacementDataUrl as Or, getContractSigningPlacementVisual as kr, getContractSigningSealDataUrl as Ar, getContractSigningSealLabel as jr, getContractSigningSealSvgDataUrl as Mr, getContractSigningSignatureDataUrl as Nr, getContractSigningSignaturePngDataUrl as Pr, getContractSigningSignatureSvgDataUrl as Fr, isContractSigningVisualDataUrl as Ir, isSafeContractSigningVisualDataUrl as Lr, resolveContractSigningSealLabel as Rr, toContractSigningSvgDataUrl as zr } from "./components/contract-signing-location/src/signing-visuals.mjs";
70
+ import Br from "./components/contract-signing-location/index.mjs";
71
+ import { DEFAULT_CONTRACT_IMAGE_COMPRESSION as Vr, MAX_CONTRACT_IMAGE_BYTES as Hr, MAX_CONTRACT_IMAGE_DIMENSION as Ur, MIN_CONTRACT_IMAGE_DIMENSION as Wr, compressContractImage as Gr, normalizeContractImageCompression as Kr, normalizeContractImageDimension as qr, processContractImageFile as Jr, readContractImageFileAsDataUrl as Yr, resolveContractImageResizeDimensions as Xr } from "./components/pro-contract-template-designer/src/utils/content-image.mjs";
72
+ import { CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION as Zr, CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION as Qr, DEFAULT_DRAFT_CACHE_INTERVAL as $r, DEFAULT_DRAFT_CACHE_KEY as ei, DEFAULT_DRAFT_CACHE_MAX_BYTES as ti, clearTemplateDraftCache as ni, createDraftCacheStatus as ri, estimateDraftCacheBytes as ii, formatDraftCacheSavedAt as ai, getBrowserDraftCacheStorage as oi, isBlankTemplateDraftValue as si, isBlankTemplateFilesDraftValue as ci, loadTemplateDraftCache as li, loadTemplateFilesDraftCache as ui, saveTemplateDraftCache as di, saveTemplateFilesDraftCache as fi } from "./components/pro-contract-template-designer/src/composables/use-template-draft-cache.mjs";
73
+ import { cloneContractTemplateFiles as pi, constrainContractTemplateFiles as mi, createContractTemplateFile as hi, exportContractTemplateFiles as gi, moveContractTemplateFile as _i, normalizeContractTemplateFiles as vi, removeContractTemplateFile as yi, renameContractTemplateFile as bi, replaceContractTemplateFile as xi, resolveContractTemplateActiveFileId as Si } from "./components/pro-contract-template-designer/src/composables/use-template-files.mjs";
74
+ import Ci, { GdAntProContractTemplateRenderer as wi } from "./components/pro-contract-template-designer/index.mjs";
75
+ import { CONTRACT_SIGNING_FLOW_ACTION_LABELS as Ti, CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS as Ei, CONTRACT_SIGNING_FLOW_MAX_ZOOM as Di, CONTRACT_SIGNING_FLOW_MIN_ZOOM as Oi, CONTRACT_SIGNING_FLOW_SEAL_TYPES as ki, CONTRACT_SIGNING_FLOW_SIGN_ACTIONS as Ai, CONTRACT_SIGNING_FLOW_ZOOM_STEP as ji, isContractSigningFlowInteractiveTarget as Mi, normalizeContractSigningFlowZoom as Ni, resolveContractSigningFlowZoomShortcut as Pi, resolveContractSigningFlowZoomShortcutForTarget as Fi } from "./components/pro-contract-signing-flow/src/constants.mjs";
76
+ import { buildConnectList as Ii, createDefaultSignRule as Li, createEndNode as Ri, createId as zi, createInitialFlow as Bi, createSignNode as Vi, createStartNode as Hi, normalizeContractSigningFlow as Ui, normalizeSignRule as Wi, useContractSigningFlow as Gi, validateContractSigningFlow as Ki } from "./components/pro-contract-signing-flow/src/composables/use-contract-signing-flow.mjs";
77
+ import qi from "./components/pro-contract-signing-flow/index.mjs";
78
+ import { useContractTemplateAgent as Ji } from "./components/pro-contract-template-agent/src/composables/use-contract-template-agent.mjs";
79
+ import { adaptContractTemplateAgentSpec as Yi } from "./components/pro-contract-template-agent/src/utils/contract-template-agent-adapter.mjs";
80
+ import Xi, { GdAntProContractTemplateAgentPanel as Zi, GdAntProContractTemplateAgentPreview as Qi } from "./components/pro-contract-template-agent/index.mjs";
81
+ import { setupAppConfig as $i, useBasicAppConfig as ea } from "./components/hooks/use-basic-app-config.mjs";
82
+ export { Yt as ALL_DEFAULT_FIELD_TYPES, xe as CONTRACT_PRINT_FONT_UNCONFIGURED_MESSAGE, Fe as CONTRACT_SIGNING_AUTO_SCROLL_EDGE_PX, Ie as CONTRACT_SIGNING_CSS_PX_PER_POINT, hr as CONTRACT_SIGNING_FALLBACK_PAGE_SIZE, Ti as CONTRACT_SIGNING_FLOW_ACTION_LABELS, Ei as CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS, Di as CONTRACT_SIGNING_FLOW_MAX_ZOOM, Oi as CONTRACT_SIGNING_FLOW_MIN_ZOOM, ki as CONTRACT_SIGNING_FLOW_SEAL_TYPES, Ai as CONTRACT_SIGNING_FLOW_SIGN_ACTIONS, ji as CONTRACT_SIGNING_FLOW_ZOOM_STEP, Le as CONTRACT_SIGNING_MIN_PLACEMENT_SIZE, gr as CONTRACT_SIGNING_PAGE_GAP, Re as CONTRACT_SIGNING_PLACEMENT_LABELS, ze as CONTRACT_SIGNING_PLACEMENT_MIME, Be as CONTRACT_SIGNING_PREVIEW_CONCURRENCY, Ve as CONTRACT_SIGNING_PX_PER_MM, $e as CONTRACT_SIGNING_RENDER_ORIGIN_OFFSET, He as CONTRACT_SIGNING_SEAL_MAX_SIZE, Ue as CONTRACT_SIGNING_SEAL_MIN_SIZE, Q as CONTRACT_SIGNING_SEAL_TYPE_OPTIONS, We as CONTRACT_SIGNING_SEAL_TYPE_PRESETS, Ge as CONTRACT_SIGNING_SIZE_PROFILES, et as CONTRACT_SIGNING_SNAP_THRESHOLD_PX, _r as CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES, Ke as CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS, Zr as CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION, Qr as CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION, Xt as CONTRACT_TEMPLATE_RENDERER_VERSION, Zt as CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS, Qt as CONTRACT_TEMPLATE_STYLE_VERSION, $t as CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN, Te as CONTRACT_TEXT_STYLE_PRESETS, Ee as CONTRACT_TEXT_STYLE_PRESET_COMMANDS, tr as ContractSigningLocationBuildError, vt as ContractTemplateLocationRuleBuildError, en as ContractTemplatePageDecorationValidationError, l as CoverScrollbarProps, tn as DEFAULT_ADVANCED_CHOICE_FIELD_TYPES, nn as DEFAULT_BUILTIN_SELECTOR_FIELD_TYPES, De as DEFAULT_CONTRACT_FONT_FAMILY, Vr as DEFAULT_CONTRACT_IMAGE_COMPRESSION, rn as DEFAULT_CUSTOM_FIELD_TYPES, $r as DEFAULT_DRAFT_CACHE_INTERVAL, ei as DEFAULT_DRAFT_CACHE_KEY, ti as DEFAULT_DRAFT_CACHE_MAX_BYTES, an as DEFAULT_FIELD_STYLE, on as DEFAULT_FIELD_TYPES, Oe as DEFAULT_FONT_FAMILY_OPTIONS, ke as DEFAULT_FONT_SIZE_PRESETS, sn as DEFAULT_MULTILINE_LINE_HEIGHT, cn as DEFAULT_MULTILINE_ROWS, ln as DEFAULT_PAGE_SIZE, Ae 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, Br as GdAntContractSigningLocation, u as GdAntCoverScrollBar, Z as GdAntDeptSelector, w as GdAntIcon, k as GdAntPlusUpload, y as GdAntProArea, me as GdAntProCell, he as GdAntProCellGroup, qi as GdAntProContractSigningFlow, Zi as GdAntProContractTemplateAgentPanel, Qi as GdAntProContractTemplateAgentPreview, Xi as GdAntProContractTemplateAgentWorkbench, Ci as GdAntProContractTemplateDesigner, wi 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, Hr as MAX_CONTRACT_IMAGE_BYTES, Ur as MAX_CONTRACT_IMAGE_DIMENSION, re as MENU_TREE_URL, Wr as MIN_CONTRACT_IMAGE_DIMENSION, un 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, yt as SIGNING_PLACEMENT_DEFAULT_SIZES, bt as SIGNING_PLACEMENT_MIME, xt as SIGNING_PLACEMENT_MIN_SIZE, Q as SIGNING_PLACEMENT_SEAL_TYPE_OPTIONS, St as SIGNING_PLACEMENT_TYPE_LABELS, a as TitleProps, T as UploadContextKey, M as UserSelectorProps, Yi as adaptContractTemplateAgentSpec, Ct as applySigningPlacementPatch, Ii as buildConnectList, wt as buildContractLocationRules, nr as buildContractSigningLocationOutput, rr as buildContractSigningLocationRules, Xn as buildContractSigningTemplateRenderPages, Bn as buildInitialRenderValues, vr as buildPageLayouts, Tt as buildSigningPlacementLocationRules, dn as buildTemplateExpressionHtml, fn as buildTemplateHtml, pn as buildTemplatePreviewHtml, mn as buildTemplatePreviewPages, Vn as buildTemplateRenderHtml, Hn as buildTemplateRenderPages, Un as buildTemplateVariableData, Et as canMutateSigningPlacements, tt as canResizeContractSigningPlacement, nt as clampContractSigningPlacement, rt as clampContractSigningZoom, Dt as clampSigningPlacement, ni as clearTemplateDraftCache, ir as cloneContractSigningLocationValue, pi as cloneContractTemplateFiles, hn as cloneTemplateValue, e as collapseProps, gn as collectTemplateLocationRuleExportErrors, _n as collectTemplateValueVariableKeys, vn as collectTemplateVariableKeys, Gr as compressContractImage, Se as configureContractPrintFonts, mi as constrainContractTemplateFiles, yn as constrainTemplatePageSizes, yr as contentPointToPagePoint, $ as createBlankPage, bn as createBlankTemplate, ar as createContractSigningLocationValue, or as createContractSigningPlacement, hi as createContractTemplateFile, xn as createDefaultPage, Li as createDefaultSignRule, Sn as createDefaultTemplate, Cn as createDesignerId, ri as createDraftCacheStatus, Ri as createEndNode, zi as createId, Bi as createInitialFlow, Vi as createSignNode, Ot as createSigningPlacement, Hi as createStartNode, wn as createTemplateVariable, zt as decodeContractTemplateJsonAttribute, Y as deptSelectorEmits, X as deptSelectorProps, it as displayPointToContractPoint, Bt as encodeContractTemplateJsonAttribute, ii as estimateDraftCacheBytes, gi as exportContractTemplateFiles, Tn as exportTemplateValue, sr as findContractSigningPage, br as findPageAtOffset, En as findPageSizeOption, Tr as formatContractSigningDate, Vt as formatContractTemplateRenderValue, ai as formatDraftCacheSavedAt, ee as generatePalette, oi as getBrowserDraftCacheStorage, xr as getContractSigningAutoScrollDelta, Er as getContractSigningDateDataUrl, Dr as getContractSigningDateSvgDataUrl, cr as getContractSigningHomePage, Or as getContractSigningPlacementDataUrl, at as getContractSigningPlacementDistances, ot as getContractSigningPlacementSize, kr as getContractSigningPlacementVisual, st as getContractSigningRuleGeometry, Ar as getContractSigningSealDataUrl, jr as getContractSigningSealLabel, Mr as getContractSigningSealSvgDataUrl, Nr as getContractSigningSignatureDataUrl, Pr as getContractSigningSignaturePngDataUrl, Fr as getContractSigningSignatureSvgDataUrl, Zn as getContractSigningTemplateDisplayError, je as getContractTextStylePreset, Dn as getFieldOption, Sr as getPageLayoutScrollTop, Cr as getPageLayoutsContentSize, On as getPageSizeKey, kn as getPageSizeOption, kt as getSigningPlacementDefaultSize, At as getSigningPlacementTypeLabel, wr as getVisibleRange, An as inferPageFormat, Ht as isAllowedContractTemplateRemoteUrl, si as isBlankTemplateDraftValue, ci as isBlankTemplateFilesDraftValue, Mi as isContractSigningFlowInteractiveTarget, lr as isContractSigningPageUsable, Qn as isContractSigningTemplateFile, $n as isContractSigningTemplateSource, Ir as isContractSigningVisualDataUrl, ht as isContractTemplateAdvancedChoiceFieldType, gt as isContractTemplateBuiltinSelectorFieldType, _t as isContractTemplateFieldType, Ut as isContractTemplateSelectionValue, Wn as isEmptyRenderValue, zn as isSafeContractImageUrl, Lr as isSafeContractSigningVisualDataUrl, li as loadTemplateDraftCache, ui as loadTemplateFilesDraftCache, qe as millimetersToContractSigningCssPixels, Je as millimetersToContractSigningPixels, ct as moveContractSigningPlacementByDisplayDelta, _i as moveContractTemplateFile, jt as moveSigningPlacementByDisplayDelta, Kr as normalizeContractImageCompression, qr as normalizeContractImageDimension, lt as normalizeContractSigningCoordinateDimension, ut as normalizeContractSigningCoordinateScale, Ui as normalizeContractSigningFlow, Ni as normalizeContractSigningFlowZoom, ur as normalizeContractSigningLocationValue, dr as normalizeContractSigningProviderValue, Wt as normalizeContractTemplateControlOptions, vi as normalizeContractTemplateFiles, Gt as normalizeContractTemplateJsonObject, jn as normalizeContractTemplateMaxPages, Kt as normalizeContractTemplateRequestTimeout, qt as normalizeContractTemplateSelectionValue, Jt as normalizeContractTemplateSelectionValues, Me as normalizeFontFamilyValue, Mn as normalizePageSizeOptions, Gn as normalizeRenderValues, Wi as normalizeSignRule, Mt as normalizeSigningPlacements, Nn as normalizeTemplateValue, Nt as parseSigningPlacementDragPayload, fr as patchContractSigningPlacement, ie as proMenuTreeEmits, ae as proMenuTreeProps, t as proModalEmits, f as proTagProps, Jr as processContractImageFile, Yr as readContractImageFileAsDataUrl, yi as removeContractTemplateFile, bi as renameContractTemplateFile, xi as replaceContractTemplateFile, dt as resizeContractSigningSealGeometry, Pt as resizeSigningPlacement, Ce as resolveContractFontBaseUrl, Xr as resolveContractImageResizeDimensions, Pi as resolveContractSigningFlowZoomShortcut, Fi as resolveContractSigningFlowZoomShortcutForTarget, pr as resolveContractSigningPreviewPageSize, Rr as resolveContractSigningSealLabel, Ye as resolveContractSigningSealSizeInCssPixels, Xe as resolveContractSigningSealSizeInPixels, ft as resolveContractSigningSealSizeLimit, Ze as resolveContractSigningSealTypeOption, pt as resolveContractSigningSizeProfile, Si as resolveContractTemplateActiveFileId, Ne as resolveContractTextStylePresetCommands, Pe as resolveFontFamilyOptions, Pn as resolvePageSize, Ft as resolveSigningPlacementToolItems, Kn as resolveTemplateRenderSubmitErrors, N as resolveUserSelectorMaxCount, W as roleSelectorEmits, G as roleSelectorProps, qn as sanitizeContractRendererHtml, di as saveTemplateDraftCache, fi as saveTemplateFilesDraftCache, It as scaleSigningPlacementToPage, s as scrollbarProps, ge as selectContextKey, P as selectUserContextKey, Lt as serializeSigningPlacementDragPayload, $i as setupAppConfig, te as setupTheme, mt as snapContractSigningPlacement, Fn as splitPageContentByMeasurements, In as syncTemplateVariablesWithPages, we as toAbsoluteContractFontBaseUrl, Qe as toContractSigningRulePageSize, zr as toContractSigningSvgDataUrl, ea as useBasicAppConfig, Gi as useContractSigningFlow, Ji as useContractTemplateAgent, v as useProArea, n as useProModal, r as useProModalInit, S as useProTable, E as useUpload, R as useUserSelector, F as userSelectorEmits, Ki as validateContractSigningFlow, mr as validateContractSigningLocationValue, er as validateContractSigningTemplateFile, Ln as validateContractTemplateVariableKey, Rt as validateSigningPlacements, Jn as validateTemplateRenderStructure, Yn as validateTemplateRenderValues, Rn 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.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
+ require(`../../../_virtual/_rolldown/runtime.cjs`),require(`../../pro-contract-template-designer/src/utils/contract-print-document.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`},le=(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},contractFontBaseUrl:{default:void 0}},emits:[`update:modelValue`,`update:zoom`,`change`,`ready`,`file-change`,`page-change`,`submit`,`error`],setup(e,{expose:le,emit:ue}){let d=e,f=ue,p=(0,c.computed)(()=>t.resolveContractSigningSealSizeLimit(d.sealMinSize,d.sealMaxSize)),m=r.normalizeContractSigningLocationValue(d.modelValue??r.createContractSigningLocationValue(d.contractId),{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions}),h=(0,c.shallowRef)(m),g=(0,c.shallowRef)(r.cloneContractSigningLocationValue(m)),_=(0,c.shallowRef)(m.files[0]?.fileId??``),v=(0,c.shallowRef)(m.files[0]?.pages[0]?.pageIndex??0),y=(0,c.shallowRef)(``),b=(0,c.shallowRef)(!1),x=(0,c.shallowRef)(``),S=(0,c.ref)([]),C=(0,c.ref)({}),w=(0,c.shallowRef)(H(d.zoom)),T=(0,c.ref)(null),E=(0,c.ref)(!1),D=(0,c.ref)(!1),O=(0,c.shallowRef)(`loading`),k=(0,c.shallowRef)(``),A=0,j=!1,M,N=[],P=0,F=new s.ContractSigningPreviewRequests,I=(0,c.computed)(()=>d.mode===`preview`),de=(0,c.computed)(()=>I.value||d.readonly||d.disabled),fe=(0,c.computed)(()=>d.showInspector??!I.value),pe=(0,c.computed)(()=>!I.value&&d.showSubmitButton),me=(0,c.computed)(()=>h.value.files.length<=1),he=(0,c.computed)(()=>qe(d.height)),L=(0,c.computed)(()=>h.value.files.find(e=>e.fileId===_.value)??h.value.files[0]),R=(0,c.computed)(()=>n.isContractSigningTemplateFile(L.value)&&O.value!==`ready`),z=(0,c.computed)(()=>de.value||R.value),B=(0,c.computed)(()=>L.value?.pages.find(e=>e.pageIndex===v.value)??L.value?.pages[0]),ge=(0,c.computed)(()=>{let e=L.value;return e?h.value.placements.filter(t=>t.fileId===e.fileId):[]}),V=(0,c.computed)(()=>h.value.placements.find(e=>e.id===y.value)),_e=(0,c.computed)(()=>{let e=V.value;return e?r.findContractSigningPage(h.value,e.fileId,e.pageIndex)??B.value:B.value}),ve=(0,c.computed)(()=>S.value.filter(e=>e.endsWith(`:thumbnail`)).map(e=>e.slice(0,-10))),ye=(0,c.computed)(()=>Object.keys(C.value).filter(e=>e.endsWith(`:thumbnail`)).map(e=>e.slice(0,-10))),be=(0,c.computed)(()=>S.value.filter(e=>e.endsWith(`:preview`)).map(e=>e.slice(0,-8))),xe=(0,c.computed)(()=>{let e={};return Object.entries(C.value).forEach(([t,n])=>{t.endsWith(`:preview`)&&(e[t.slice(0,-8)]=n)}),e});(0,c.watch)(()=>d.modelValue,e=>{if(!e)return;let t=r.normalizeContractSigningLocationValue(e,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions});$(t)!==$(h.value)&&(Q(),h.value=t,g.value=r.cloneContractSigningLocationValue(t),Y(),(0,c.nextTick)(()=>T.value?.scrollToPage(v.value)))},{deep:!0}),(0,c.watch)(p,()=>{$(r.normalizeContractSigningLocationValue(h.value,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions}))!==$(h.value)&&U(h.value)}),(0,c.watch)(()=>d.zoom,e=>{w.value=H(e)}),(0,c.watch)(()=>L.value?.fileId,()=>{O.value=n.isContractSigningTemplateFile(L.value)?`loading`:`ready`,k.value=``}),(0,c.watch)(()=>[d.contractId,d.dataProvider,d.autoLoad],([e,t,n],r)=>{!n||!t||!e||(!r||e!==r[0]||t!==r[1])&&W()},{immediate:!0}),(0,c.onBeforeUnmount)(()=>{j=!0,A+=1,He(),Q()});function H(e){let n=Math.min(d.minZoom,d.maxZoom),r=Math.max(d.minZoom,d.maxZoom);return t.clampContractSigningZoom(e,n,r)}function Se(e){let t=H(e);w.value=t,f(`update:zoom`,t)}function Ce(){return T.value?.fitWidth()??w.value}function U(e,t={}){h.value=r.normalizeContractSigningLocationValue(e,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions}),t.clearError!==!1&&(x.value=``),Y();let n=r.cloneContractSigningLocationValue(h.value);return f(`update:modelValue`,n),f(`change`,n),n}async function W(){let e=String(d.contractId||h.value.contractId||``).trim();if(!d.dataProvider)return X({code:`CONTRACT_PROVIDER_MISSING`,message:`未配置合同数据提供器,请由宿主传入文件数据`}),!1;if(!e)return X({code:`CONTRACT_ID_MISSING`,message:`缺少用于加载合同的 PaaS contractId`}),!1;let n=++A;Q(),b.value=!0,x.value=``;try{let i=await d.dataProvider.loadContract({contractId:e});if(j||n!==A)return!1;let a=r.normalizeContractSigningProviderValue(i,t.normalizeContractSigningCoordinateScale(d.dataProvider.coordinateScale)),o=r.normalizeContractSigningLocationValue({...a,contractId:e,placements:a.placements.length?a.placements:h.value.contractId===e?h.value.placements:[]},{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions});h.value=o,g.value=r.cloneContractSigningLocationValue(o),y.value=``,Y();let s=r.cloneContractSigningLocationValue(o);return f(`update:modelValue`,s),f(`change`,s),f(`ready`,s),we(),(0,c.nextTick)(()=>T.value?.scrollToPage(v.value)),s}catch(e){return j||n!==A||X(Z(e,`CONTRACT_LOAD_FAILED`,`合同加载失败,请检查授权后重试`)),!1}finally{!j&&n===A&&(b.value=!1)}}async function we(){d.dataProvider?.loadPagePreview&&await Promise.allSettled(h.value.files.map(e=>{if(n.isContractSigningTemplateFile(e))return Promise.resolve();let t=r.getContractSigningHomePage(e.pages);return t&&!t.thumbnailUrl?G(e.fileId,t.pageIndex,!0):Promise.resolve()}))}async function G(e,i,a){let o=d.dataProvider?.loadPagePreview,s=h.value.files.find(t=>t.fileId===e),c=r.findContractSigningPage(h.value,e,i),l=Be(e,i,a);if(!o||n.isContractSigningTemplateFile(s)||!c||S.value.includes(l))return;Ve(l),S.value=[...S.value,l];let u=F.start(l);try{let n=await o({contractId:h.value.contractId||d.contractId,fileId:e,pageIndex:i,thumbnail:a,signal:u.signal});if(j||!F.isCurrent(l,u)||!r.findContractSigningPage(h.value,e,i))return;let s=r.findContractSigningPage(h.value,e,i),c=r.resolveContractSigningPreviewPageSize(s,n,t.normalizeContractSigningCoordinateScale(d.dataProvider?.coordinateScale),a),ee=h.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);U({...h.value,files:ee},{clearError:!1})}catch(t){if(!F.isCurrent(l,u)||Ue(t))return;let n=Z(t,`CONTRACT_PREVIEW_FAILED`,`合同页面预览加载失败,可切换页面或重试`,{fileId:e,pageIndex:i});f(`error`,n),C.value={...C.value,[l]:n.message}}finally{F.finish(l,u)&&(S.value=S.value.filter(e=>e!==l))}}function Te(e){if(e===_.value)return;let t=_.value;He(),t&&(Q(e=>e.startsWith(`${t}:`)&&e.endsWith(`:preview`)),N=N.filter(t=>t.fileId===e)),_.value=e;let n=h.value.files.find(t=>t.fileId===e);v.value=r.getContractSigningHomePage(n?.pages)?.pageIndex??0,y.value=``,f(`file-change`,e),f(`page-change`,e,v.value),(0,c.nextTick)(()=>T.value?.scrollToPage(v.value))}function Ee(e){v.value=e}function De(e){v.value!==e&&(v.value=e),f(`page-change`,_.value,e)}function Oe(e){He();let t=_.value;M=setTimeout(()=>{M=void 0,_.value===t&&ke(t,e)},150)}function ke(e,t){let r=h.value.files.find(t=>t.fileId===e);!r||n.isContractSigningTemplateFile(r)||e!==_.value||(t.forEach(e=>{let t=r.pages.find(t=>t.pageIndex===e);!t||t.previewUrl||S.value.includes(Be(r.fileId,e,!1))||N.some(t=>t.fileId===r.fileId&&t.pageIndex===e)||N.push({fileId:r.fileId,pageIndex:e})}),Ae())}async function Ae(){let e=_.value;for(N=N.filter(t=>t.fileId===e);P<3&&N.length;){let t=N.shift();if(!t||t.fileId!==e)continue;let i=r.findContractSigningPage(h.value,t.fileId,t.pageIndex),a=h.value.files.find(e=>e.fileId===t.fileId);!i||n.isContractSigningTemplateFile(a)||i.previewUrl||S.value.includes(Be(t.fileId,t.pageIndex,!1))||(P+=1,G(t.fileId,t.pageIndex,!1).finally(()=>{P=Math.max(0,P-1),Ae()}))}}function je(e){let t=h.value.placements.find(t=>t.id===e);t&&(t.fileId!==_.value&&Te(t.fileId),y.value=e,(0,c.nextTick)(()=>T.value?.scrollToPlacement(e)))}function K(e,t={}){if(z.value||!d.allowedPlacementTypes.includes(e))return;let n=t.fileId??L.value?.fileId,i=t.pageIndex??B.value?.pageIndex;if(!n||i===void 0)return;let a=r.findContractSigningPage(h.value,n,i);if(!a||!r.isContractSigningPageUsable(a)){X({code:`CONTRACT_PAGE_SIZE_INVALID`,message:`当前页面缺少有效的原始宽高,暂时不能添加签署位置`,fileId:n,pageIndex:i});return}let o=d.sealTypeOptions.find(e=>String(e.value).trim())?.value;if(e===`seal`&&!o){X({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:d.sizeProfile,sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions,...e===`seal`?{sealType:[String(o)]}:{}});return U({...h.value,placements:[...h.value.placements,s]}),_.value=n,v.value=i,y.value=s.id,Ge(s)}function Me(e,t){z.value||U({...h.value,placements:h.value.placements.map(n=>{if(n.id!==e)return n;let i=t.pageIndex===void 0?n.pageIndex:t.pageIndex,a=r.findContractSigningPage(h.value,n.fileId,i);return r.patchContractSigningPlacement(n,t,a,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions})})})}function Ne(){let e=V.value;if(!e||z.value)return;let n=r.findContractSigningPage(h.value,e.fileId,e.pageIndex);if(!n)return;let i=t.clampContractSigningPlacement({...Ge(e),id:Ke(),signLeft:e.signLeft+16,signTop:e.signTop+16},n,{sealSizeLimit:p.value});U({...h.value,placements:[...h.value.placements,i]}),y.value=i.id}function q(e){z.value||(U({...h.value,placements:h.value.placements.filter(t=>t.id!==e)}),y.value===e&&(y.value=``))}function Pe(){let e=r.validateContractSigningLocationValue(h.value,{allowedSealTypes:d.sealTypeOptions.map(e=>e.value)});return R.value?[...e,{code:`CONTRACT_TEMPLATE_FONT_UNAVAILABLE`,message:J()}]:e}function Fe(){return r.cloneContractSigningLocationValue(h.value)}function Ie(){if(R.value)throw new r.ContractSigningLocationBuildError([{code:`CONTRACT_TEMPLATE_FONT_UNAVAILABLE`,message:J()}]);return r.buildContractSigningLocationOutput(Fe(),{allowedSealTypes:d.sealTypeOptions.map(e=>e.value)})}function Le(){if(R.value){let e=J();return console.error(`[GD-SIGN-COORD]`,e),X({code:`CONTRACT_TEMPLATE_FONT_UNAVAILABLE`,message:e}),!1}try{let e=Ie();return x.value=``,f(`submit`,e),e}catch(e){return X(e instanceof r.ContractSigningLocationBuildError?{...e.errors[0],cause:e}:Z(e,`CONTRACT_SIGNING_LOCATION_INVALID`,`指定签署位置数据不完整`)),!1}}function Re(e,t){O.value=e,k.value=e===`error`?t||`合同排版度量校验失败`:``}function J(){return O.value===`error`?k.value||`合同排版度量校验失败,禁止生成签署坐标`:`合同排版度量校验中,请稍后再保存签署坐标`}function ze(){if(z.value)return r.cloneContractSigningLocationValue(h.value);let e=U(r.cloneContractSigningLocationValue(g.value));return y.value=``,Y(!0),(0,c.nextTick)(()=>T.value?.scrollToPage(v.value)),e}function Y(e=!1){let t=(e?void 0:h.value.files.find(e=>e.fileId===_.value))??h.value.files[0];_.value=t?.fileId??``,v.value=((e?void 0:t?.pages.find(e=>e.pageIndex===v.value))??t?.pages[0])?.pageIndex??0,h.value.placements.some(e=>e.id===y.value)||(y.value=``)}function X(e){x.value=e.message,f(`error`,e)}function Z(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 Be(e,t,n){return`${e}:${t}:${n?`thumbnail`:`preview`}`}function Ve(e){if(!(e in C.value))return;let t={...C.value};delete t[e],C.value=t}function He(){M&&=(clearTimeout(M),void 0)}function Q(e){let t=e??(()=>!0),n=new Set(F.abort(t));n.size&&(S.value=S.value.filter(e=>!n.has(e))),e||(N=[])}function Ue(e){return!!(e&&typeof e==`object`&&`cancelled`in e&&e.cancelled)||e instanceof DOMException&&e.name===`AbortError`}function We(e){let t=L.value;t&&G(t.fileId,e,!1)}function Ge(e){return{...e,sealType:e.sealType?[...e.sealType]:void 0}}function $(e){return JSON.stringify(e)}function Ke(){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 qe(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 le({load:W,validate:Pe,getValue:Fe,getOutput:Ie,submit:Le,reset:ze,addPlacement:K,removePlacement:q,fitWidth:Ce}),(t,n)=>((0,c.openBlock)(),(0,c.createElementBlock)(`section`,{class:(0,c.normalizeClass)([`gd-ant-contract-signing-location`,{"is-readonly":de.value,"is-disabled":e.disabled,"is-preview":I.value}]),style:(0,c.normalizeStyle)(he.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)(I.value?`合同预览`:`指定合同签署位置`),1)])]),(0,c.createElementVNode)(`div`,ne,[(0,c.createElementVNode)(`span`,re,(0,c.toDisplayString)(h.value.placements.length)+` 个位置`,1),e.dataProvider?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:0,loading:b.value,onClick:W},{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),I.value?(0,c.createCommentVNode)(``,!0):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:1,disabled:z.value,onClick:ze},{default:(0,c.withCtx)(()=>[...n[8]||=[(0,c.createTextVNode)(`重置`,-1)]]),_:1},8,[`disabled`])),pe.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:2,type:`primary`,loading:b.value,disabled:e.disabled||R.value,onClick:Le},{default:(0,c.withCtx)(()=>[...n[9]||=[(0,c.createTextVNode)(`确认并生成规则`,-1)]]),_:1},8,[`loading`,`disabled`])):(0,c.createCommentVNode)(``,!0)])]),x.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,ie,[(0,c.createElementVNode)(`span`,null,(0,c.toDisplayString)(x.value),1),e.dataProvider&&e.contractId?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:0,type:`link`,size:`small`,onClick:W},{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":me.value,"is-inspector-hidden":!fe.value}])},[me.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":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[0]||=e=>D.value=!D.value},[D.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:h.value.files,"active-file-id":_.value,"loading-preview-keys":ve.value,"error-preview-keys":ye.value,onSelect:Te},null,8,[`files`,`active-file-id`,`loading-preview-keys`,`error-preview-keys`])])],2)),(0,c.createVNode)(i.default,{ref_key:`canvasRef`,ref:T,file:L.value,pages:L.value?.pages??[],placements:ge.value,"selected-placement-id":y.value,readonly:z.value,resizable:e.resizable,"seal-size-limit":p.value,"seal-type-options":e.sealTypeOptions,zoom:w.value,"preview-loading-keys":be.value,"preview-error-map":xe.value,"active-page-index":v.value,"min-zoom":e.minZoom,"max-zoom":e.maxZoom,"font-base-url":e.contractFontBaseUrl,onSelect:n[1]||=e=>y.value=e,onRetry:We,onAdd:n[2]||=(e,t,n,r)=>K(e,{signLeft:t,signTop:n,pageIndex:r}),onUpdate:n[3]||=e=>Me(e.id,e),onRemove:q,onVisiblePages:Oe,onViewPage:Ee,onPageChange:De,onZoomChange:Se,onTemplateStatus:Re},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`,`font-base-url`]),fe.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:1,class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__inspector-wrap`,{"is-collapsed":E.value}])},[(0,c.createVNode)((0,c.unref)(l.Tooltip),{title:E.value?`展开属性栏`:`收起属性栏`},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`button`,{type:`button`,class:`gd-ant-contract-signing-location__panel-handle`,"aria-label":E.value?`展开属性栏`:`收起属性栏`,"aria-expanded":!E.value,onClick:n[4]||=e=>E.value=!E.value},[E.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:V.value,page:_e.value,pages:L.value?.pages??[],placements:ge.value,readonly:z.value,resizable:e.resizable,"seal-size-limit":p.value,"seal-type-options":e.sealTypeOptions,"allowed-placement-types":e.allowedPlacementTypes,"size-profile":e.sizeProfile,onAdd:K,onUpdate:n[5]||=e=>V.value&&Me(V.value.id,e),onDuplicate:Ne,onRemove:q,onLocate:je},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=le;
@@ -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);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:{},fontBaseUrl:{}},emits:[`select`,`add`,`update`,`remove`,`retry`,`visible-pages`,`view-page`,`page-change`,`zoom-change`,`scroll-to-ready`,`template-status`],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),xe=(0,s.shallowRef)({start:0,end:-1}),{width:Se}=(0,l.useElementSize)(x),Ce=(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:we,markUserAdjusted:Te}=a.useFitWidthZoom({viewportWidth:Se,widestPageWidth:Ce,padding:48,minZoom:()=>y.minZoom,maxZoom:()=>y.maxZoom,getZoom:()=>y.zoom,applyZoom:e=>(b(`zoom-change`,e),e)}),T=(0,s.shallowRef)([]),E=(0,s.shallowRef)(),D=(0,s.shallowRef)(),O,k=0,A,j,M,N,P=(0,s.computed)(()=>i.buildPageLayouts(y.pages,y.zoom,16)),Ee=(0,s.computed)(()=>i.getPageLayoutsContentSize(P.value)),F=(0,s.computed)(()=>n.isContractSigningTemplateFile(y.file)),De=(0,s.computed)(()=>n.buildContractSigningTemplateRenderPages(y.file?.source)),Oe=(0,s.computed)(()=>new Map(De.value.map(e=>[e.pageIndex,e]))),I=(0,s.computed)(()=>n.getContractSigningTemplateDisplayError(y.file)),ke=(0,s.computed)(()=>{let e=xe.value;return P.value.length?e.end<e.start?P.value.slice(0,2):P.value.slice(e.start,e.end+1):[]}),L=(0,s.computed)(()=>ke.value.flatMap(e=>{let t=H(e.pageIndex);return t?[{layout:e,page:t,logical:U(t),templatePage:Oe.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,V=(0,s.shallowRef)({});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,qe()||Q(e)}),(0,s.watch)(()=>y.pages.map(e=>e.pageIndex).join(`,`),()=>{V.value={},b(`template-status`,F.value?`loading`:`ready`),(0,s.nextTick)(()=>{X(),Z(),b(`scroll-to-ready`)})}),(0,s.watch)(()=>L.value.map(e=>e.layout.pageIndex).join(`,`),()=>{Le()}),(0,s.watch)(()=>y.zoom,(e,t)=>{if(!x.value||t==null||e===t)return;let n=J(),r=i.buildPageLayouts(y.pages,t,16),a=i.findPageAtOffset(r,n.layoutScrollTop+1)??r[0];if(!a)return;M={pageIndex:a.pageIndex,offsetInPage:n.layoutScrollTop-a.top};let o=e/Math.max(.01,t);(0,s.nextTick)(()=>Ye(o))}),(0,s.onMounted)(()=>{X(),Z(),b(`scroll-to-ready`),!(typeof ResizeObserver>`u`||!x.value)&&(N=new ResizeObserver(()=>{X(),Z()}),N.observe(x.value))}),(0,s.onBeforeUnmount)(()=>{ft(),rt(),A&&clearTimeout(A),N?.disconnect(),N=void 0});function H(e){return y.pages.find(t=>t.pageIndex===e)}function Ie(e,t,n){V.value={...V.value,[e]:{status:t,detail:n}},Le()}function Le(){if(!F.value){b(`template-status`,`ready`);return}let e=L.value.filter(e=>e.templatePage).map(e=>V.value[e.layout.pageIndex]),t=e.find(e=>e?.status===`error`);if(t){b(`template-status`,`error`,t.detail);return}b(`template-status`,e.length>0&&e.every(e=>e?.status===`ready`)?`ready`:`loading`)}function U(e){return e&&r.isContractSigningPageUsable(e)?{width:e.width,height:e.height}:{...i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE}}function W(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 Re(e){return`${y.file?.fileId??``}:${e}`}function ze(e){return y.previewLoadingKeys.includes(Re(e))}function Be(e){return y.previewErrorMap[Re(e)]||``}function Ve(e){return y.placements.filter(t=>t.pageIndex===e)}function G(e){let n=z.value;return n&&n.pageIndex===e.pageIndex?t.getContractSigningPlacementDistances(n,e):void 0}function He(e){let n=t.getContractSigningRuleGeometry(e),r=H(e.pageIndex),i=W(r),a=U(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 Ue(e){let n=t.getContractSigningRuleGeometry(e),r=H(e.pageIndex),i=W(r),a=U(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 We(e,t){let n=W(t),r=U(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 K(e,n){return t.clampContractSigningPlacement(e,n,{sealSizeLimit:y.sealSizeLimit,sealTypes:e.sealType,sealTypeOptions:y.sealTypeOptions})}function q(e){return Fe.value.get(e)??Pe(e)}function Ge(e){return t.canResizeContractSigningPlacement(e,y.resizable,y.readonly)&&e.id===y.selectedPlacementId}function Ke(e){return{...e,sealType:e.sealType?[...e.sealType]:void 0}}function J(){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 Y(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 qe(){return!!(document.activeElement&&document.activeElement.tagName===`INPUT`)}function X(){let e=J();xe.value=i.getVisibleRange(P.value,e.layoutScrollTop,e.viewportHeight,1);let t=i.findPageAtOffset(P.value,e.layoutScrollTop+1);if(t){let e=w.value!==t.pageIndex;w.value=t.pageIndex,qe()||Q(t.pageIndex),e&&b(`view-page`,t.pageIndex)}}function Z(){let e=xe.value;b(`visible-pages`,P.value.slice(Math.max(0,e.start),e.end+1).map(e=>e.pageIndex))}function Je(){X(),A&&clearTimeout(A),A=setTimeout(()=>{Z(),w.value!==j&&(j=w.value,b(`page-change`,w.value))},80)}function Ye(e){let t=x.value,n=S.value,r=M;if(M=void 0,!t||!n||!r)return;let i=P.value.find(e=>e.pageIndex===r.pageIndex);i&&(t.scrollTop=n.offsetTop+i.top+r.offsetInPage*e,X())}function Xe(e){let t=x.value,n=S.value;t&&(w.value=e,Q(e),b(`page-change`,e),j=e,(0,s.nextTick)(()=>{let r=i.getPageLayoutScrollTop(P.value,e);t.scrollTop=(n?.offsetTop??0)+r,X(),Z()}))}function Ze(e){let n=y.placements.find(t=>t.id===e),r=x.value,i=S.value;if(!n||!r)return;let a=P.value.find(e=>e.pageIndex===n.pageIndex);a&&(w.value=n.pageIndex,Q(n.pageIndex),(0,s.nextTick)(()=>{let e=J(),o=H(n.pageIndex),s=W(o),c=U(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)),X(),Z(),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 Qe(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&&Xe(r.pageIndex)}function $e(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?Xe(r.pageIndex):Q(w.value)}function et(e,t=`user`){t===`user`&&Te(),b(`zoom-change`,e)}function tt(e){e.target.closest(`.gd-ant-contract-signing-location__placement`)||b(`select`,``)}function nt(){window.addEventListener(`pointermove`,ot,{passive:!1}),window.addEventListener(`pointerup`,$),window.addEventListener(`pointercancel`,$)}function rt(){window.removeEventListener(`pointermove`,ot),window.removeEventListener(`pointerup`,$),window.removeEventListener(`pointercancel`,$)}function it(e,t,n){e.stopPropagation(),b(`select`,t.id);let a=H(t.pageIndex);if(y.readonly||!a||!r.isContractSigningPageUsable(a)||e.button!==0)return;let o=Y(e.clientX,e.clientY),s=i.contentPointToPagePoint(P.value,y.pages,o.x,o.y),c=e.currentTarget;c.focus({preventScroll:!0}),D.value={pointerId:e.pointerId,mode:n?`resize`:`move`,handle:n,placementId:t.id,startX:e.clientX,startY:e.clientY,origin:Ke(t),grabOffsetX:(s?.x??t.signLeft)-t.signLeft,grabOffsetY:(s?.y??t.signTop)-t.signTop},O={clientX:e.clientX,clientY:e.clientY,pointerId:e.pointerId},nt(),dt();try{c.setPointerCapture(e.pointerId)}catch{}}function at(e,t,n){it(e,t,n)}function ot(e){let t=D.value;!t||t.pointerId!==e.pointerId||(e.preventDefault(),O={clientX:e.clientX,clientY:e.clientY,pointerId:e.pointerId},st(O))}function $(e){D.value?.pointerId===e.pointerId&&(D.value=void 0,O=void 0,T.value=[],E.value=void 0,ft(),rt())}function st(e){let n=D.value;if(!n)return;if(n.mode===`resize`){ct(n,e);return}let a=Y(e.clientX,e.clientY),o=i.contentPointToPagePoint(P.value,y.pages,a.x,a.y);if(!o)return;let s=ut(o.pageIndex,n.origin.pageIndex);if(!s||!r.isContractSigningPageUsable(s))return;let c=K({...n.origin,pageIndex:s.pageIndex,signLeft:o.x-n.grabOffsetX,signTop:o.y-n.grabOffsetY},s),l=t.snapContractSigningPlacement(c,Ve(s.pageIndex),y.zoom,void 0,s),u=K(l.placement,s);T.value=l.guides,E.value=s.pageIndex,b(`update`,u)}function ct(e,n){let i=H(e.origin.pageIndex),a=e.handle;if(!i||!a||!r.isContractSigningPageUsable(i))return;let o=P.value.find(e=>e.pageIndex===i.pageIndex);if(!o)return;let s=Y(n.clientX,n.clientY),c=W(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`){lt(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`,K({...e.origin,signLeft:m,signTop:h,signWidth:g-m,signHeight:_-h},i))}function lt(e,n,r,i,a){let o=t.resizeContractSigningSealGeometry(e.origin,r,i,a,n,y.sealSizeLimit);b(`update`,K({...e.origin,...o},n))}function ut(e,t){let n=H(e);return n&&r.isContractSigningPageUsable(n)?n:H(t)}function dt(){ft();let e=()=>{let t=D.value,n=x.value;if(!t||!n||!O){k=0;return}let r=n.getBoundingClientRect(),a=i.getContractSigningAutoScrollDelta(O.clientY,r);a!==0&&(n.scrollTop+=a,X(),st(O)),k=requestAnimationFrame(e)};k=requestAnimationFrame(e)}function ft(){k&&=(cancelAnimationFrame(k),0)}function pt(e,n){let i=H(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=W(i),l=U(i);b(`update`,t.moveContractSigningPlacementByDisplayDelta(n,o*c.width/Math.max(1,l.width),s*c.height/Math.max(1,l.height),i,W(i),{sealSizeLimit:y.sealSizeLimit}))}function mt(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 gt(e.type)?e.type:void 0}catch{return gt(t)?t:void 0}}function ht(e){if(y.readonly)return;let t=mt(e);if(!t)return;e.preventDefault();let n=Y(e.clientX,e.clientY),r=i.contentPointToPagePoint(P.value,y.pages,n.x,n.y);r&&b(`add`,t,r.x,r.y,r.pageIndex)}function gt(e){return e===`seal`||e===`signature`||e===`date`}return ve({scrollToPage:Xe,scrollToPlacement:Ze,fitWidth:we}),(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)(F.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=>Qe(-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:$e,onKeydown:(0,s.withKeys)($e,[`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=>Qe(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=>et(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=>et(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=>et(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)(we)},{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:Je,onClick:tt,onDragover:n[5]||=(0,s.withModifiers)(()=>{},[`prevent`]),onDrop:ht},[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:`${Ee.value.width}px`,height:`${Ee.value.height}px`})},[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(L.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:`${W(t.page).width}px`,height:`${W(t.page).height}px`,transform:`scale(${v.zoom})`}),"aria-label":`${v.file?.fileName||`合同`}第 ${t.page.displayPageNumber} 页`},[F.value&&t.templatePage?((0,s.openBlock)(),(0,s.createBlock)(e.default,{key:0,page:t.templatePage,"font-base-url":v.fontBaseUrl,onStatus:(e,n)=>Ie(t.layout.pageIndex,e,n)},null,8,[`page`,`font-base-url`,`onStatus`])):F.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)(I.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,[ze(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)):Be(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)(Be(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)(Ue(z.value)),"aria-hidden":`true`},[(0,s.createElementVNode)(`span`,ce,[(0,s.createElementVNode)(`small`,null,`上 `+(0,s.toDisplayString)(G(t.page)?.top),1)]),(0,s.createElementVNode)(`span`,le,[(0,s.createElementVNode)(`small`,null,`下 `+(0,s.toDisplayString)(G(t.page)?.bottom),1)]),(0,s.createElementVNode)(`span`,ue,[(0,s.createElementVNode)(`small`,null,`左 `+(0,s.toDisplayString)(G(t.page)?.left),1)]),(0,s.createElementVNode)(`span`,de,[(0,s.createElementVNode)(`small`,null,`右 `+(0,s.toDisplayString)(G(t.page)?.right),1)])],4)):(0,s.createCommentVNode)(``,!0),T.value.length&&E.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)(T.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)(We(e,t.page))},null,6))),128))])):(0,s.createCommentVNode)(``,!0),((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(Ve(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)(He(e)),title:q(e).alt,"aria-label":q(e).alt,"aria-pressed":e.id===v.selectedPlacementId,onClick:(0,s.withModifiers)(t=>b(`select`,e.id),[`stop`]),onPointerdown:t=>it(t,e),onLostpointercapture:$,onKeydown:t=>pt(t,e)},[(0,s.createElementVNode)(`span`,me,[(0,s.createElementVNode)(`img`,{class:`gd-ant-contract-signing-location__placement-visual`,src:q(e).dataUrl,alt:q(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)(Ge(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=>at(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":F.value&&I.value}]),role:`status`},[F.value&&I.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)(I.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`);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
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../pro-contract-template-designer/src/ContractPrintIframe.cjs`),t=require(`../../pro-contract-template-designer/src/utils/page-decorations.cjs`);let n=require(`vue`);var r=[`data-page-id`,`data-template-page-index`,`data-page-width`,`data-page-height`],i={key:0,class:`gd-ant-contract-signing-location__template-warning`,role:`alert`},a=(0,n.defineComponent)({name:`ContractSigningTemplatePage`,__name:`ContractSigningTemplatePage`,props:{page:{},fontBaseUrl:{}},emits:[`status`,`metrics`],setup(a,{emit:o}){let s=a,c=o,l=(0,n.shallowRef)(0),u=(0,n.shallowRef)(0),d=(0,n.shallowRef)(`loading`),f=(0,n.computed)(()=>({width:`${s.page.displayWidth}px`,minHeight:`${s.page.displayHeight}px`,height:`${Math.max(s.page.displayHeight,l.value)}px`})),p=(0,n.computed)(()=>t.buildPageDecorationClassNames(s.page.pageDecorations,s.page.pageNumber)),m=(0,n.computed)(()=>t.buildPageDecorationsHtml(s.page.pageDecorations,s.page.pageNumber,s.page.totalPages,s.page.decorationVariables,s.page.decorationValues)),h=(0,n.computed)(()=>u.value>1?`第 ${s.page.pageNumber} 页正文超出纸张 ${Math.round(u.value)}px,生成 PDF 时会分页,请回模板设计器调整后再指定位置。`:``),g=(0,n.computed)(()=>s.page.errors[0]||h.value),_=(0,n.computed)(()=>s.page.errors.length?`模板已安全降级展示`:`该页签署位置不可信`);function v(e){l.value=e.contentHeight,u.value=e.overflowHeight,c(`metrics`,e),b()}function y(e,t){if(d.value=e,e===`error`){c(`status`,e,t);return}b()}function b(){if(d.value!==`ready`){c(`status`,d.value);return}if(u.value>1){c(`status`,`error`,h.value);return}c(`status`,`ready`)}return(t,o)=>((0,n.openBlock)(),(0,n.createElementBlock)(`section`,{class:`gd-ant-contract-signing-location__template-page`,"data-page-id":a.page.pageId,"data-template-page-index":a.page.pageIndex,"data-page-width":a.page.displayWidth,"data-page-height":a.page.displayHeight,style:(0,n.normalizeStyle)(f.value)},[(0,n.createVNode)(e.default,{"page-id":a.page.pageId,width:a.page.displayWidth,height:a.page.displayHeight,"padding-top":a.page.paddingTop,"padding-bottom":a.page.paddingBottom,"class-names":p.value,"decorations-html":m.value,"content-html":a.page.contentHtml,"font-base-url":a.fontBaseUrl,title:`第 ${a.page.pageNumber} 页合同签署底图`,onMetrics:v,onStatus:y},null,8,[`page-id`,`width`,`height`,`padding-top`,`padding-bottom`,`class-names`,`decorations-html`,`content-html`,`font-base-url`,`title`]),g.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,i,[(0,n.createElementVNode)(`strong`,null,(0,n.toDisplayString)(_.value),1),(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)(g.value),1)])):(0,n.createCommentVNode)(``,!0)],12,r))}});exports.default=a;
@@ -1 +1 @@
1
- :root{--gdant-primary-50:var(--primary-50,#f4f9ff);--gdant-primary-100:var(--primary-100,#e9f1f6);--gdant-primary-200:var(--primary-200,#bcd7ff);--gdant-primary-300:var(--primary-300,#7fb0ff);--gdant-primary-400:var(--primary-400,#3b87ff);--gdant-primary-500:var(--primary-500,#1161ff);--gdant-primary-600:var(--primary-600,#0d4ed1);--gdant-primary-700:var(--primary-700,#0a3da5);--gdant-primary-800:var(--primary-800,#082c79);--gdant-primary-900:var(--primary-900,#05204d);--gdant-neutral-0:var(--neutral-0,#fff);--gdant-neutral-50:var(--neutral-50,#fafbfc);--gdant-neutral-100:var(--neutral-100,#f5f6f8);--gdant-neutral-200:var(--neutral-200,#eaecef);--gdant-neutral-300:var(--neutral-300,#d9dce0);--gdant-neutral-400:var(--neutral-400,#aab0b7);--gdant-neutral-500:var(--neutral-500,#7a818b);--gdant-neutral-600:var(--neutral-600,#565b66);--gdant-neutral-700:var(--neutral-700,#383d47);--gdant-neutral-800:var(--neutral-800,#262a33);--gdant-neutral-900:var(--neutral-900,#0f131a);--gdant-success-50:var(--success-50,#e8f9ed);--gdant-success-500:var(--success-500,#00b42a);--gdant-success-600:var(--success-600,#009023);--gdant-warning-50:var(--warning-50,#fff3e8);--gdant-warning-100:var(--warning-100,#ffe4cc);--gdant-warning-500:var(--warning-500,#f58634);--gdant-warning-600:var(--warning-600,#d96c1c);--gdant-warning-700:var(--warning-700,#b35316);--gdant-error-50:var(--error-50,#fde9e9);--gdant-error-100:var(--error-100,#fcd4d4);--gdant-error-300:var(--error-300,#f47070);--gdant-error-500:var(--error-500,#ee3939);--gdant-error-600:var(--error-600,#c92626);--gdant-error-700:var(--error-700,#a31c1c);--gdant-radius-xs:var(--radius-xs,2px);--gdant-radius-sm:var(--radius-sm,4px);--gdant-radius-md:var(--radius-md,6px);--gdant-radius-lg:var(--radius-lg,8px);--gdant-radius-xl:var(--radius-xl,12px);--gdant-radius-pill:var(--radius-pill,9999px);--gdant-shadow-raised:var(--shadow-raised,0 1px 2px #0f172a0a, 0 1px 4px #0f172a0f);--gdant-shadow-overlay:var(--shadow-overlay,0 4px 12px #0f172a14, 0 2px 6px #0f172a0a);--gdant-shadow-modal:var(--shadow-modal,0 16px 48px #0f172a29, 0 4px 12px #0f172a14);--gdant-spacing-xs:var(--spacing-xs,4px);--gdant-spacing-sm:var(--spacing-sm,8px);--gdant-spacing-md:var(--spacing-md,12px);--gdant-spacing-base:var(--spacing-base,16px);--gdant-spacing-lg:var(--spacing-lg,20px);--gdant-spacing-xl:var(--spacing-xl,24px);--gdant-text-body:var(--text-body,14px);--gdant-text-body-sm:var(--text-body-sm,12px);--gdant-text-h3:var(--text-h3,16px);--gdant-font-medium:var(--font-medium,500);--gdant-font-semibold:var(--font-semibold,600);--gdant-duration-normal:var(--duration-normal,.2s);--gdant-duration-slow:var(--duration-slow,.3s);--gdant-easing-default:var(--easing-default,cubic-bezier(.2, 0, 0, 1));--gdant-overlay-bg:#ffffffb8;--gdant-z-overlay:var(--z-overlay,1040);--gdant-z-modal:var(--z-modal,1050)}.gd-contract-template-page{box-sizing:border-box;color:#262a33;padding:54px 64px;font-family:Noto Serif CJK SC,Noto Serif SC,Source Han Serif SC,Songti SC,serif;font-size:16px;line-height:1.75;position:relative;overflow:hidden}.gd-contract-template-page *,.gd-contract-template-page :before,.gd-contract-template-page :after{box-sizing:border-box}.gd-contract-template-page.has-contract-header{padding-top:var(--gd-contract-header-safe-padding,80px)}.gd-contract-template-page.has-contract-footer{padding-bottom:var(--gd-contract-footer-safe-padding,80px)}.gd-contract-template-page__content{z-index:1;position:relative}.gd-contract-template-page__header,.gd-contract-template-page__footer{z-index:2;pointer-events:none;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:8px;min-width:0;padding-block:4px;line-height:1.5;display:grid;position:absolute;left:64px;right:64px}.gd-contract-template-page__header{top:24px}.gd-contract-template-page__footer{bottom:24px}.gd-contract-template-page__decoration-slot{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gd-contract-template-page__decoration-slot.is-left{text-align:left}.gd-contract-template-page__decoration-slot.is-center{text-align:center}.gd-contract-template-page__decoration-slot.is-right{text-align:right}.gd-contract-template-page__watermark{z-index:0;letter-spacing:0;pointer-events:none;-webkit-user-select:none;user-select:none;display:grid;position:absolute;inset:0;overflow:hidden}.gd-contract-template-page__watermark.is-single{place-items:center}.gd-contract-template-page__watermark.is-tiled{grid-template-columns:repeat(var(--gd-watermark-columns), minmax(0, 1fr));grid-template-rows:repeat(var(--gd-watermark-rows), minmax(0, 1fr));padding:72px 40px}.gd-contract-template-page__watermark-item{text-overflow:ellipsis;white-space:nowrap;transform-origin:50%;justify-content:center;align-items:center;min-width:0;max-width:100%;font-weight:500;line-height:1.5;display:flex;overflow:hidden}.gd-contract-template-page p{margin:0 0 10px}.gd-contract-template-page table{border-collapse:collapse;width:100%}.gd-contract-template-page th,.gd-contract-template-page td{border:1px solid #d9dce0;min-width:80px;padding:6px 8px}.gd-contract-template-page img{object-fit:contain;vertical-align:middle;max-width:100%;display:inline-block}.gd-contract-template-page img[width],.gd-contract-template-page img[height]{max-width:none}.gd-contract-template-page img:not([height]){height:auto}.gd-contract-template-page h1,.gd-contract-template-page h2,.gd-contract-template-page h3,.gd-contract-template-page h4,.gd-contract-template-page h5,.gd-contract-template-page h6{font-weight:700;display:block}.gd-contract-template-page h1{margin:.67em 0;font-size:2em}.gd-contract-template-page h2{margin:.83em 0;font-size:1.5em}.gd-contract-template-page h3{margin:1em 0;font-size:1.17em}.gd-contract-template-page h4{margin:1.33em 0;font-size:1em}.gd-contract-template-page h5{margin:1.67em 0;font-size:.83em}.gd-contract-template-page h6{margin:2.33em 0;font-size:.67em}.gd-contract-template-page ul,.gd-contract-template-page ol{margin:1em 0;padding-inline-start:40px;list-style-position:outside;display:block}.gd-contract-template-page ul ul,.gd-contract-template-page ul ol,.gd-contract-template-page ol ul,.gd-contract-template-page ol ol{margin-block:0}.gd-contract-template-page ul{list-style-type:disc}.gd-contract-template-page ul ul,.gd-contract-template-page ol ul{list-style-type:circle}.gd-contract-template-page ul ul ul,.gd-contract-template-page ul ol ul,.gd-contract-template-page ol ul ul,.gd-contract-template-page ol ol ul{list-style-type:square}.gd-contract-template-page ol{list-style-type:decimal}.gd-contract-template-page li{text-align:match-parent;display:list-item}.gd-contract-template-page blockquote{margin:1em 40px;display:block}.gd-contract-template-page pre{white-space:pre;margin:1em 0;font-family:monospace;display:block}.gd-contract-template-page code,.gd-contract-template-page kbd,.gd-contract-template-page samp{font-family:monospace}.gd-contract-template-page hr{border-style:inset;border-width:1px;margin:.5em auto;display:block;overflow:hidden}.gd-contract-template-page b,.gd-contract-template-page strong{font-weight:bolder}.gd-contract-template-page i,.gd-contract-template-page em,.gd-contract-template-page cite,.gd-contract-template-page var,.gd-contract-template-page dfn,.gd-contract-template-page address{font-style:italic}.gd-contract-template-page s,.gd-contract-template-page strike,.gd-contract-template-page del{text-decoration:line-through}.gd-contract-template-page u,.gd-contract-template-page ins{text-decoration:underline}.gd-contract-template-page sup{vertical-align:super;font-size:smaller;line-height:normal}.gd-contract-template-page sub{vertical-align:sub;font-size:smaller;line-height:normal}.gd-contract-template-page small{font-size:smaller}.gd-contract-template-page .gd-contract-template-variable,.gd-contract-template-page [data-template-variable=true]:not(.gd-contract-template-page__variable){box-sizing:border-box;align-items:center;justify-content:var(--gd-contract-variable-justify-content,flex-start);width:var(--gd-contract-variable-width,160px);min-width:0;min-height:var(--gd-contract-variable-height,32px);background:var(--gd-contract-variable-background,transparent);color:var(--gd-contract-variable-color,#1f2937);font-size:var(--gd-contract-variable-font-size,14px);font-family:var(--gd-contract-variable-font-family,inherit);text-align:var(--gd-contract-variable-text-align,left);vertical-align:middle;white-space:nowrap;border:1px solid #0000;border-radius:2px;margin:0 2px;padding:0 6px;line-height:1.5;display:inline-flex;position:relative}.gd-contract-template-page .gd-contract-template-variable.has-border,.gd-contract-template-page [data-template-variable=true][data-border=true]:not(.gd-contract-template-page__variable){border-color:var(--gd-contract-variable-line-color,#565b66);border-style:var(--gd-contract-variable-border-style,solid)}.gd-contract-template-page .gd-contract-template-variable.has-underline,.gd-contract-template-page [data-template-variable=true][data-underline=true]:not(.gd-contract-template-page__variable){border-color:#0000;border-bottom-color:var(--gd-contract-variable-line-color,#565b66);border-bottom-style:var(--gd-contract-variable-border-style,solid);border-radius:0}.gd-contract-template-page .gd-contract-template-variable.is-multiline,.gd-contract-template-page [data-template-variable=true][data-multiline=true]:not(.gd-contract-template-page__variable){width:var(--gd-contract-variable-width,160px);height:var(--gd-contract-variable-multiline-height,84px);min-height:var(--gd-contract-variable-multiline-height,84px);line-height:var(--gd-contract-variable-line-height,28px);vertical-align:top;white-space:pre-wrap;display:inline-block;overflow:hidden}.gd-contract-template-page .gd-contract-template-variable.is-multiline.has-underline,.gd-contract-template-page [data-template-variable=true][data-multiline=true][data-underline=true]:not(.gd-contract-template-page__variable){background-image:linear-gradient(to bottom, transparent calc(100% - 1px), var(--gd-contract-variable-line-color,#565b66) calc(100% - 1px));background-repeat:repeat-y;background-size:100% var(--gd-contract-variable-line-height,28px);border-bottom-color:#0000}.gd-contract-template-page .gd-contract-template-variable.is-image,.gd-contract-template-page [data-template-variable=true][data-variable-type=image]:not(.gd-contract-template-page__variable){justify-content:var(--gd-contract-variable-justify-content,flex-start);min-height:var(--gd-contract-variable-height,32px);background-image:var(--gd-contract-variable-image,none);background-position:50%;background-repeat:no-repeat;background-size:var(--gd-contract-variable-object-fit,contain);white-space:nowrap;border-style:solid;border-color:#0000}.gd-contract-template-page .gd-contract-template-variable.is-image.has-value{color:#0000}.gd-contract-template-page .gd-contract-template-variable.is-image.has-value:before{content:none}.gd-contract-template-page .gd-contract-template-variable.is-checkbox{width:var(--gd-contract-variable-width,160px);gap:6px;min-width:0;padding:0 6px}.gd-ant-contract-signing-location{height:var(--gd-ant-contract-signing-location-height,clamp(720px, 100vh - 180px, 980px));border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-0);min-width:0;color:var(--gdant-neutral-800);font-size:var(--gdant-text-body);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"header""error""body";display:grid;overflow:hidden;container-type:inline-size}.gd-ant-contract-signing-location__header,.gd-ant-contract-signing-location__header-actions,.gd-ant-contract-signing-location__panel-head,.gd-ant-contract-signing-location__workspace-head,.gd-ant-contract-signing-location__workspace-tools,.gd-ant-contract-signing-location__page-jumper,.gd-ant-contract-signing-location__switch-row,.gd-ant-contract-signing-location__distance-summary,.gd-ant-contract-signing-location__zoom-tools,.gd-ant-contract-signing-location__error{align-items:center;display:flex}.gd-ant-contract-signing-location__header{justify-content:space-between;gap:var(--gdant-spacing-base);min-height:60px;padding:var(--gdant-spacing-sm) var(--gdant-spacing-base);border-bottom:1px solid var(--gdant-neutral-200);grid-area:header}.gd-ant-contract-signing-location__title{align-items:center;gap:var(--gdant-spacing-sm);min-width:0;display:flex}.gd-ant-contract-signing-location__title>div{gap:var(--gdant-spacing-xs);min-width:0;display:grid}.gd-ant-contract-signing-location__title strong{color:var(--gdant-neutral-900);font-size:var(--gdant-text-h3);font-weight:var(--gdant-font-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-ant-contract-signing-location__title span:last-child{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-ant-contract-signing-location__title-bar{width:var(--gdant-spacing-xs);height:var(--gdant-spacing-base);border-radius:var(--gdant-radius-xs);background:var(--gdant-primary-500);flex:none}.gd-ant-contract-signing-location__header-actions{gap:var(--gdant-spacing-sm);flex:none}.gd-ant-contract-signing-location__placement-count{padding:var(--gdant-spacing-xs) var(--gdant-spacing-sm);border:1px solid var(--gdant-primary-200);border-radius:var(--gdant-radius-pill);background:var(--gdant-primary-50);color:var(--gdant-primary-600);font-size:var(--gdant-text-body-sm);white-space:nowrap}.gd-ant-contract-signing-location__error{justify-content:space-between;gap:var(--gdant-spacing-sm);min-height:40px;padding:var(--gdant-spacing-xs) var(--gdant-spacing-base);border-bottom:1px solid var(--gdant-error-100);background:var(--gdant-error-50);color:var(--gdant-error-700);font-size:var(--gdant-text-body-sm);grid-area:error}.gd-ant-contract-signing-location__body{--gd-navigator-expanded:220px;--gd-inspector-expanded:280px;grid-area:body;grid-template-columns:auto minmax(0,1fr) auto;min-height:0;display:grid;overflow:hidden}.gd-ant-contract-signing-location__body.is-single-file{grid-template-columns:minmax(0,1fr) auto}.gd-ant-contract-signing-location__body.is-inspector-hidden{grid-template-columns:auto minmax(0,1fr)}.gd-ant-contract-signing-location__body.is-single-file.is-inspector-hidden{grid-template-columns:minmax(0,1fr)}.gd-ant-contract-signing-location__navigator,.gd-ant-contract-signing-location__inspector{background:var(--gdant-neutral-0);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:auto}.gd-ant-contract-signing-location__inspector{overflow:hidden}.gd-ant-contract-signing-location__navigator-wrap,.gd-ant-contract-signing-location__inspector-wrap{z-index:1;background:var(--gdant-neutral-0);min-width:0;min-height:0;transition:width var(--gdant-duration-slow) var(--gdant-easing-default);flex-direction:column;display:flex;position:relative;overflow:visible}.gd-ant-contract-signing-location__navigator-wrap{width:var(--gd-navigator-expanded);border-right:1px solid var(--gdant-neutral-200)}.gd-ant-contract-signing-location__inspector-wrap{width:var(--gd-inspector-expanded);border-left:1px solid var(--gdant-neutral-200)}.gd-ant-contract-signing-location__navigator-wrap.is-collapsed{border-right-width:0;width:0}.gd-ant-contract-signing-location__inspector-wrap.is-collapsed{border-left-width:0;width:0}.gd-ant-contract-signing-location__navigator-wrap.is-collapsed .gd-ant-contract-signing-location__panel-stack,.gd-ant-contract-signing-location__inspector-wrap.is-collapsed .gd-ant-contract-signing-location__panel-stack{visibility:hidden}.gd-ant-contract-signing-location__panel-stack{flex:auto;width:100%;min-width:0;height:100%;min-height:0;overflow:hidden}.gd-ant-contract-signing-location__panel-stack>.gd-ant-contract-signing-location__navigator,.gd-ant-contract-signing-location__panel-stack>.gd-ant-contract-signing-location__inspector{height:100%}.gd-ant-contract-signing-location__navigator-wrap .gd-ant-contract-signing-location__panel-stack>*{width:var(--gd-navigator-expanded);flex:none}.gd-ant-contract-signing-location__inspector-wrap .gd-ant-contract-signing-location__panel-stack>*{width:var(--gd-inspector-expanded);flex:none}.gd-ant-contract-signing-location__panel-handle{z-index:2;box-sizing:border-box;border:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);width:14px;height:44px;color:var(--gdant-neutral-500);cursor:pointer;pointer-events:auto;transition:color var(--gdant-duration-normal) var(--gdant-easing-default), background var(--gdant-duration-normal) var(--gdant-easing-default);justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gd-ant-contract-signing-location__panel-handle .anticon{font-size:10px}.gd-ant-contract-signing-location__navigator-wrap .gd-ant-contract-signing-location__panel-handle{border-radius:0 var(--gdant-radius-md) var(--gdant-radius-md) 0;border-left:0;right:-14px}.gd-ant-contract-signing-location__inspector-wrap .gd-ant-contract-signing-location__panel-handle{border-radius:var(--gdant-radius-md) 0 0 var(--gdant-radius-md);border-right:0;left:-14px}.gd-ant-contract-signing-location__panel-handle:hover{background:var(--gdant-neutral-50);color:var(--gdant-primary-500)}.gd-ant-contract-signing-location__panel-head,.gd-ant-contract-signing-location__property-head{justify-content:space-between;gap:var(--gdant-spacing-sm);padding:var(--gdant-spacing-md) var(--gdant-spacing-base);border-bottom:1px solid var(--gdant-neutral-200);flex:none}.gd-ant-contract-signing-location__panel-head>div,.gd-ant-contract-signing-location__property-head>div{gap:var(--gdant-spacing-xs);display:grid}.gd-ant-contract-signing-location__panel-head strong,.gd-ant-contract-signing-location__property-head strong{color:var(--gdant-neutral-800);font-weight:var(--gdant-font-semibold)}.gd-ant-contract-signing-location__panel-head>div>span,.gd-ant-contract-signing-location__property-head>div>span{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-ant-contract-signing-location__file-list{gap:var(--gdant-spacing-base);padding:var(--gdant-spacing-md);display:grid}.gd-ant-contract-signing-location__file-group,.gd-ant-contract-signing-location__thumbnail-list,.gd-ant-contract-signing-location__tool-list,.gd-ant-contract-signing-location__property-body,.gd-ant-contract-signing-location__inspector-actions{gap:var(--gdant-spacing-sm);display:grid}.gd-ant-contract-signing-location__file-title{align-items:center;gap:var(--gdant-spacing-sm);color:var(--gdant-neutral-700);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.gd-ant-contract-signing-location__file-title>svg{color:var(--gdant-error-600)}.gd-ant-contract-signing-location__file-title>span{font-weight:var(--gdant-font-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-ant-contract-signing-location__file-title>small{color:var(--gdant-neutral-500);white-space:nowrap}.gd-ant-contract-signing-location__thumbnail-list{grid-template-columns:minmax(0,1fr)}.gd-ant-contract-signing-location__thumbnail{gap:var(--gdant-spacing-xs);min-width:0;padding:var(--gdant-spacing-xs);border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);color:var(--gdant-neutral-600);font:inherit;font-size:var(--gdant-text-body-sm);cursor:pointer;transition:border-color var(--gdant-duration-normal) var(--gdant-easing-default), box-shadow var(--gdant-duration-normal) var(--gdant-easing-default);display:grid}.gd-ant-contract-signing-location__thumbnail:hover,.gd-ant-contract-signing-location__thumbnail.is-active{border-color:var(--gdant-primary-500)}.gd-ant-contract-signing-location__thumbnail.is-active{color:var(--gdant-primary-600);box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-primary-500) 16%, transparent)}.gd-ant-contract-signing-location__thumbnail.is-error:not(.is-active){border-color:var(--gdant-error-500);color:var(--gdant-error-600)}.gd-ant-contract-signing-location__thumbnail:focus-visible{outline:2px solid var(--gdant-primary-500);outline-offset:2px}.gd-ant-contract-signing-location__thumbnail-preview{aspect-ratio:3/4;border-radius:var(--gdant-radius-sm);background:var(--gdant-neutral-100);color:var(--gdant-neutral-400);place-items:center;display:grid;overflow:hidden}.gd-ant-contract-signing-location__thumbnail-preview img{object-fit:cover;object-position:top center;width:100%;height:100%}.gd-ant-contract-signing-location__workspace{background:var(--gdant-neutral-100);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.gd-ant-contract-signing-location__workspace-head{z-index:2;justify-content:space-between;gap:var(--gdant-spacing-sm);min-height:54px;padding:var(--gdant-spacing-sm) var(--gdant-spacing-base);border-bottom:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0)}.gd-ant-contract-signing-location__workspace-head>div:first-child{gap:var(--gdant-spacing-xs);min-width:0;display:grid}.gd-ant-contract-signing-location__workspace-head strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-ant-contract-signing-location__workspace-head>div:first-child>span{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm);white-space:nowrap}.gd-ant-contract-signing-location__workspace-tools{gap:var(--gdant-spacing-md);flex:none}.gd-ant-contract-signing-location__page-jumper{gap:var(--gdant-spacing-xs);color:var(--gdant-neutral-600);font-size:var(--gdant-text-body-sm)}.gd-ant-contract-signing-location__page-jumper label{align-items:center;gap:var(--gdant-spacing-xs);white-space:nowrap;display:inline-flex}.gd-ant-contract-signing-location__page-jumper input{width:52px;height:28px;padding:0 var(--gdant-spacing-xs);border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);color:var(--gdant-neutral-800);font:inherit;text-align:center}.gd-ant-contract-signing-location__page-jumper input:focus-visible{outline:2px solid color-mix(in srgb, var(--gdant-primary-500) 15%, transparent);border-color:var(--gdant-primary-500)}.gd-ant-contract-signing-location__canvas-scroll{min-height:0;padding:var(--gdant-spacing-xl);position:relative;overflow:auto}.gd-ant-contract-signing-location__canvas-state,.gd-ant-contract-signing-location__panel-empty{place-content:center;gap:var(--gdant-spacing-sm);color:var(--gdant-neutral-500);text-align:center;display:grid}.gd-ant-contract-signing-location__canvas-state{min-height:440px}.gd-ant-contract-signing-location__canvas-state.is-error{color:var(--gdant-error-600)}.gd-ant-contract-signing-location__canvas-state.is-error strong{color:var(--gdant-error-700)}.gd-ant-contract-signing-location__canvas-state.is-error button{padding:var(--gdant-spacing-xs) var(--gdant-spacing-sm);border:1px solid var(--gdant-error-300);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);color:var(--gdant-error-600);font:inherit;cursor:pointer;justify-self:center}.gd-ant-contract-signing-location__page-stack{min-height:100%;margin:0 auto;position:relative}.gd-ant-contract-signing-location__page-shell{position:absolute;overflow:hidden}.gd-ant-contract-signing-location__page-stage{min-height:100%;margin:0 auto;position:relative}.gd-ant-contract-signing-location__page{transform-origin:0 0;border-radius:var(--gdant-radius-xs);background:var(--gdant-neutral-0);box-shadow:var(--gdant-shadow-overlay);-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.gd-ant-contract-signing-location__page-image{object-fit:fill;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.gd-ant-contract-signing-location__page-placeholder{place-content:center;gap:var(--gdant-spacing-sm);background:var(--gdant-neutral-50);color:var(--gdant-neutral-500);text-align:center;display:grid;position:absolute;inset:0}.gd-ant-contract-signing-location__page-placeholder strong{color:var(--gdant-neutral-700);font-size:var(--gdant-text-h3)}.gd-ant-contract-signing-location__page-placeholder.is-error{color:var(--gdant-error-600)}.gd-ant-contract-signing-location__page-placeholder.is-error strong{color:var(--gdant-error-700)}.gd-ant-contract-signing-location__template-page{background:var(--gdant-neutral-0);pointer-events:none}.gd-ant-contract-signing-location__template-warning{right:var(--gdant-spacing-md);bottom:var(--gdant-spacing-md);left:var(--gdant-spacing-md);z-index:1;gap:var(--gdant-spacing-xs);padding:var(--gdant-spacing-sm) var(--gdant-spacing-md);border:1px solid var(--gdant-warning-200);border-radius:var(--gdant-radius-md);background:color-mix(in srgb, var(--gdant-warning-50) 94%, transparent);color:var(--gdant-warning-700);font-size:var(--gdant-text-body-sm);display:grid;position:absolute}.gd-ant-contract-signing-location__render-region{z-index:2;box-sizing:border-box;border:1px solid #0000;position:absolute;inset:0}.gd-ant-contract-signing-location__render-region-content{width:100%;height:100%;position:relative;overflow:hidden}.gd-ant-contract-signing-location__placement{z-index:3;border-radius:var(--gdant-radius-xs);min-width:0;min-height:0;color:var(--gdant-primary-500);font:inherit;appearance:none;cursor:move;touch-action:none;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;overflow:visible}.gd-ant-contract-signing-location__placement:hover,.gd-ant-contract-signing-location__placement:focus-visible,.gd-ant-contract-signing-location__placement.is-selected{outline-offset:2px;box-shadow:0 0 0 3px color-mix(in srgb, currentColor 18%, transparent);outline:1px solid}.gd-ant-contract-signing-location__placement:focus-visible{outline-width:2px}.gd-ant-contract-signing-location__placement.is-seal{color:var(--gdant-error-500)}.gd-ant-contract-signing-location__placement.is-date{color:var(--gdant-warning-600)}.gd-ant-contract-signing-location__placement-body{pointer-events:none;justify-content:center;align-items:center;width:100%;min-width:0;height:100%;display:flex;overflow:hidden}.gd-ant-contract-signing-location__placement-visual{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;min-width:0;height:100%;min-height:0;display:block}.gd-ant-contract-signing-location__placement-badge{z-index:4;padding:0 var(--gdant-spacing-xs);border-radius:var(--gdant-radius-pill);background:var(--gdant-primary-500);color:var(--gdant-neutral-0);font-size:var(--gdant-text-body-sm);pointer-events:none;white-space:nowrap;line-height:1.4;position:absolute;top:0;right:0;transform:translate(30%,-40%)}.gd-ant-contract-signing-location__placement.is-seal .gd-ant-contract-signing-location__placement-badge{background:var(--gdant-error-500)}.gd-ant-contract-signing-location__placement.is-date .gd-ant-contract-signing-location__placement-badge{background:var(--gdant-warning-500)}.gd-ant-contract-signing-location__resize-handle{z-index:5;border:1px solid var(--gdant-primary-500);border-radius:var(--gdant-radius-xs);background:var(--gdant-neutral-0);width:8px;height:8px;position:absolute}.gd-ant-contract-signing-location__resize-handle.is-n,.gd-ant-contract-signing-location__resize-handle.is-s{cursor:ns-resize;left:50%;transform:translate(-50%)}.gd-ant-contract-signing-location__resize-handle.is-e,.gd-ant-contract-signing-location__resize-handle.is-w{cursor:ew-resize;top:50%;transform:translateY(-50%)}.gd-ant-contract-signing-location__resize-handle.is-n{top:-5px}.gd-ant-contract-signing-location__resize-handle.is-s{bottom:-5px}.gd-ant-contract-signing-location__resize-handle.is-e{right:-5px}.gd-ant-contract-signing-location__resize-handle.is-w{left:-5px}.gd-ant-contract-signing-location__resize-handle.is-nw{cursor:nwse-resize;top:-5px;left:-5px}.gd-ant-contract-signing-location__resize-handle.is-ne{cursor:nesw-resize;top:-5px;right:-5px}.gd-ant-contract-signing-location__resize-handle.is-se{cursor:nwse-resize;bottom:-5px;right:-5px}.gd-ant-contract-signing-location__resize-handle.is-sw{cursor:nesw-resize;bottom:-5px;left:-5px}.gd-ant-contract-signing-location__coordinate-guides{z-index:2;pointer-events:none;position:absolute;inset:0}.gd-ant-contract-signing-location__coordinate-guides>span{border-color:var(--gdant-primary-500);border-style:dashed;display:block;position:absolute}.gd-ant-contract-signing-location__coordinate-guides>span small{padding:0 var(--gdant-spacing-xs);border-radius:var(--gdant-radius-sm);background:var(--gdant-primary-600);color:var(--gdant-neutral-0);font-size:var(--gdant-text-body-sm);line-height:var(--gdant-spacing-lg);white-space:nowrap;position:absolute}.gd-ant-contract-signing-location__coordinate-guides .is-horizontal{border-width:1px 0 0;width:100%;left:0}.gd-ant-contract-signing-location__coordinate-guides .is-horizontal small{left:var(--gd-contract-sign-left);transform:translate(-50%)}.gd-ant-contract-signing-location__coordinate-guides .is-vertical{border-width:0 0 0 1px;height:100%;top:0}.gd-ant-contract-signing-location__coordinate-guides .is-vertical small{top:var(--gd-contract-sign-top);transform:translate(-50%,-50%)rotate(-90deg)}.gd-ant-contract-signing-location__coordinate-guides .is-top{top:var(--gd-contract-sign-top)}.gd-ant-contract-signing-location__coordinate-guides .is-top small{bottom:var(--gdant-spacing-xs)}.gd-ant-contract-signing-location__coordinate-guides .is-bottom{top:var(--gd-contract-sign-bottom)}.gd-ant-contract-signing-location__coordinate-guides .is-bottom small{top:var(--gdant-spacing-xs)}.gd-ant-contract-signing-location__coordinate-guides .is-left{left:var(--gd-contract-sign-left)}.gd-ant-contract-signing-location__coordinate-guides .is-left small{right:var(--gdant-spacing-xs)}.gd-ant-contract-signing-location__coordinate-guides .is-right{left:var(--gd-contract-sign-right)}.gd-ant-contract-signing-location__coordinate-guides .is-right small{left:var(--gdant-spacing-lg)}.gd-ant-contract-signing-location__snap-guides{z-index:2;pointer-events:none;position:absolute;inset:0}.gd-ant-contract-signing-location__snap-guides>span{border-color:var(--gdant-primary-400);border-style:solid;display:block;position:absolute}.gd-ant-contract-signing-location__snap-guides .is-horizontal{border-width:1px 0 0;width:100%;left:0}.gd-ant-contract-signing-location__snap-guides .is-vertical{border-width:0 0 0 1px;height:100%;top:0}.gd-ant-contract-signing-location__tool-list{padding:var(--gdant-spacing-sm);flex:none;grid-template-columns:repeat(3,minmax(0,1fr))}.gd-ant-contract-signing-location__tool{place-items:center;gap:var(--gdant-spacing-xs);min-width:0;min-height:74px;padding:var(--gdant-spacing-sm);border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);color:var(--gdant-neutral-700);font:inherit;text-align:center;cursor:grab;transition:border-color var(--gdant-duration-normal) var(--gdant-easing-default), background var(--gdant-duration-normal) var(--gdant-easing-default);grid-template-columns:minmax(0,1fr);display:grid}.gd-ant-contract-signing-location__tool>svg{color:var(--gdant-primary-500);font-size:var(--gdant-spacing-lg)}.gd-ant-contract-signing-location__tool>span{gap:var(--gdant-spacing-xs);min-width:0;display:grid}.gd-ant-contract-signing-location__tool strong,.gd-ant-contract-signing-location__tool small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-ant-contract-signing-location__tool strong{font-size:var(--gdant-text-body-sm)}.gd-ant-contract-signing-location__tool small{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-ant-contract-signing-location__tool:hover:not(:disabled){border-color:var(--gdant-primary-500);background:var(--gdant-primary-50)}.gd-ant-contract-signing-location__tool:disabled{cursor:not-allowed;opacity:.55}.gd-ant-contract-signing-location__inspector-divider{height:var(--gdant-spacing-sm);border-block:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-50)}.gd-ant-contract-signing-location__placement-list{flex-direction:column;flex:1 1 0;min-height:168px;display:flex;overflow:hidden}.gd-ant-contract-signing-location__list-head{justify-content:space-between;align-items:center;gap:var(--gdant-spacing-sm);padding:var(--gdant-spacing-sm) var(--gdant-spacing-base);color:var(--gdant-neutral-800);flex:none;display:flex}.gd-ant-contract-signing-location__list-head span{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-ant-contract-signing-location__placement-groups{gap:var(--gdant-spacing-md);min-height:0;padding:0 var(--gdant-spacing-md) var(--gdant-spacing-md);display:grid;overflow:auto}.gd-ant-contract-signing-location__placement-group{gap:var(--gdant-spacing-xs);display:grid}.gd-ant-contract-signing-location__placement-group h3{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm);font-weight:var(--gdant-font-medium);margin:0}.gd-ant-contract-signing-location__placement-row{align-items:center;gap:var(--gdant-spacing-sm);min-width:0;padding:var(--gdant-spacing-sm);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);color:var(--gdant-neutral-700);font:inherit;text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.gd-ant-contract-signing-location__placement-row>svg{color:var(--gdant-primary-500)}.gd-ant-contract-signing-location__placement-row>span{min-width:0;display:grid}.gd-ant-contract-signing-location__placement-row strong,.gd-ant-contract-signing-location__placement-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-ant-contract-signing-location__placement-row small{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-ant-contract-signing-location__placement-row em{color:var(--gdant-error-600);font-style:normal;font-size:var(--gdant-text-body-sm);flex:none}.gd-ant-contract-signing-location__placement-row:hover,.gd-ant-contract-signing-location__placement-row.is-active{border-color:var(--gdant-primary-500);background:var(--gdant-primary-50)}.gd-ant-contract-signing-location__placement-row-delete{border-radius:var(--gdant-radius-sm);width:24px;height:24px;color:var(--gdant-neutral-500);place-items:center;display:grid}.gd-ant-contract-signing-location__placement-row-delete:hover{background:var(--gdant-neutral-100);color:var(--gdant-error-600)}.gd-ant-contract-signing-location__property-head{flex:none}.gd-ant-contract-signing-location__property-body{min-height:176px;padding:var(--gdant-spacing-base);flex:1.2 1 0;overflow:auto}.gd-ant-contract-signing-location__switch-row,.gd-ant-contract-signing-location__distance-summary{justify-content:space-between;gap:var(--gdant-spacing-sm)}.gd-ant-contract-signing-location__form-row{gap:var(--gdant-spacing-xs);color:var(--gdant-neutral-600);font-size:var(--gdant-text-body-sm);display:grid}.gd-ant-contract-signing-location__form-row.is-wide .ant-select,.gd-ant-contract-signing-location__form-row .ant-input-number{width:100%}.gd-ant-contract-signing-location__coordinate-grid{gap:var(--gdant-spacing-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gd-ant-contract-signing-location__distance-summary{padding:var(--gdant-spacing-sm);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-50);color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-ant-contract-signing-location__distance-summary b{color:var(--gdant-neutral-700);font-weight:var(--gdant-font-medium)}.gd-ant-contract-signing-location__panel-empty{min-height:220px;padding:var(--gdant-spacing-xl);flex:1}.gd-ant-contract-signing-location__panel-empty>svg{color:var(--gdant-neutral-400);font-size:var(--gdant-spacing-xl);justify-self:center}.gd-ant-contract-signing-location__panel-empty strong{color:var(--gdant-neutral-700)}.gd-ant-contract-signing-location__panel-empty span{font-size:var(--gdant-text-body-sm);line-height:1.6}.gd-ant-contract-signing-location__panel-empty.is-inspector,.gd-ant-contract-signing-location__panel-empty.is-list{flex:none;min-height:120px}.gd-ant-contract-signing-location__zoom-tools{gap:var(--gdant-spacing-xs)}.gd-ant-contract-signing-location__zoom-tools>button:not(.ant-btn){min-width:52px;color:var(--gdant-neutral-600);font:inherit;font-size:var(--gdant-text-body-sm);cursor:pointer;background:0 0;border:0}.gd-ant-contract-signing-location__muted{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-ant-contract-signing-location.is-readonly .gd-ant-contract-signing-location__placement{cursor:pointer}.gd-ant-contract-signing-location.is-disabled{opacity:.72}@media (width<=1024px){.gd-ant-contract-signing-location__workspace-head,.gd-ant-contract-signing-location__workspace-tools{flex-wrap:wrap}}@media (width<=768px){.gd-ant-contract-signing-location{grid-template-rows:auto auto auto;height:auto}.gd-ant-contract-signing-location__header{flex-direction:column;align-items:stretch}.gd-ant-contract-signing-location__header-actions{justify-content:space-between}.gd-ant-contract-signing-location__body,.gd-ant-contract-signing-location__body.is-single-file{grid-template-columns:1fr;min-height:0;overflow:visible}.gd-ant-contract-signing-location__navigator,.gd-ant-contract-signing-location__inspector,.gd-ant-contract-signing-location__navigator-wrap,.gd-ant-contract-signing-location__inspector-wrap,.gd-ant-contract-signing-location__navigator-wrap.is-collapsed,.gd-ant-contract-signing-location__inspector-wrap.is-collapsed{border:0;width:auto;overflow:visible}.gd-ant-contract-signing-location__navigator-wrap .gd-ant-contract-signing-location__panel-stack,.gd-ant-contract-signing-location__inspector-wrap .gd-ant-contract-signing-location__panel-stack,.gd-ant-contract-signing-location__navigator-wrap.is-collapsed .gd-ant-contract-signing-location__panel-stack,.gd-ant-contract-signing-location__inspector-wrap.is-collapsed .gd-ant-contract-signing-location__panel-stack,.gd-ant-contract-signing-location__navigator-wrap .gd-ant-contract-signing-location__panel-stack>*,.gd-ant-contract-signing-location__inspector-wrap .gd-ant-contract-signing-location__panel-stack>*{visibility:visible;width:100%}.gd-ant-contract-signing-location__navigator-wrap{border-bottom:1px solid var(--gdant-neutral-200)}.gd-ant-contract-signing-location__inspector-wrap{border-top:1px solid var(--gdant-neutral-200)}.gd-ant-contract-signing-location__panel-handle{display:none!important}.gd-ant-contract-signing-location__file-list{max-height:300px;overflow:auto}.gd-ant-contract-signing-location__tool-list{grid-template-columns:minmax(0,1fr)}.gd-ant-contract-signing-location__placement-list,.gd-ant-contract-signing-location__property-body{flex:none;min-height:auto}.gd-ant-contract-signing-location__workspace{min-height:520px}.gd-ant-contract-signing-location__canvas-scroll{max-height:70vh}.gd-ant-contract-signing-location__workspace-head,.gd-ant-contract-signing-location__workspace-tools,.gd-ant-contract-signing-location__page-jumper{justify-content:flex-start}.gd-ant-contract-signing-location__zoom-tools{justify-content:center;margin-right:0}}@media (width<=480px){.gd-ant-contract-signing-location__header-actions,.gd-ant-contract-signing-location__thumbnail-list,.gd-ant-contract-signing-location__coordinate-grid{grid-template-columns:1fr}.gd-ant-contract-signing-location__header-actions{display:grid}.gd-ant-contract-signing-location__placement-count{justify-self:start}.gd-ant-contract-signing-location__canvas-scroll{padding:var(--gdant-spacing-md)}.gd-ant-contract-signing-location__workspace{min-height:440px}}@container (width<=1119px){.gd-ant-contract-signing-location__body{--gd-navigator-expanded:184px;--gd-inspector-expanded:244px}.gd-ant-contract-signing-location__workspace-head,.gd-ant-contract-signing-location__workspace-tools{flex-wrap:wrap}}@container (width<=919px){.gd-ant-contract-signing-location__body{--gd-navigator-expanded:160px;--gd-inspector-expanded:220px}}@media (prefers-reduced-motion:reduce){.gd-ant-contract-signing-location__navigator-wrap,.gd-ant-contract-signing-location__inspector-wrap,.gd-ant-contract-signing-location__panel-handle{transition:none}}
1
+ :root{--gdant-primary-50:var(--primary-50,#f4f9ff);--gdant-primary-100:var(--primary-100,#e9f1f6);--gdant-primary-200:var(--primary-200,#bcd7ff);--gdant-primary-300:var(--primary-300,#7fb0ff);--gdant-primary-400:var(--primary-400,#3b87ff);--gdant-primary-500:var(--primary-500,#1161ff);--gdant-primary-600:var(--primary-600,#0d4ed1);--gdant-primary-700:var(--primary-700,#0a3da5);--gdant-primary-800:var(--primary-800,#082c79);--gdant-primary-900:var(--primary-900,#05204d);--gdant-neutral-0:var(--neutral-0,#fff);--gdant-neutral-50:var(--neutral-50,#fafbfc);--gdant-neutral-100:var(--neutral-100,#f5f6f8);--gdant-neutral-200:var(--neutral-200,#eaecef);--gdant-neutral-300:var(--neutral-300,#d9dce0);--gdant-neutral-400:var(--neutral-400,#aab0b7);--gdant-neutral-500:var(--neutral-500,#7a818b);--gdant-neutral-600:var(--neutral-600,#565b66);--gdant-neutral-700:var(--neutral-700,#383d47);--gdant-neutral-800:var(--neutral-800,#262a33);--gdant-neutral-900:var(--neutral-900,#0f131a);--gdant-success-50:var(--success-50,#e8f9ed);--gdant-success-500:var(--success-500,#00b42a);--gdant-success-600:var(--success-600,#009023);--gdant-warning-50:var(--warning-50,#fff3e8);--gdant-warning-100:var(--warning-100,#ffe4cc);--gdant-warning-500:var(--warning-500,#f58634);--gdant-warning-600:var(--warning-600,#d96c1c);--gdant-warning-700:var(--warning-700,#b35316);--gdant-error-50:var(--error-50,#fde9e9);--gdant-error-100:var(--error-100,#fcd4d4);--gdant-error-300:var(--error-300,#f47070);--gdant-error-500:var(--error-500,#ee3939);--gdant-error-600:var(--error-600,#c92626);--gdant-error-700:var(--error-700,#a31c1c);--gdant-radius-xs:var(--radius-xs,2px);--gdant-radius-sm:var(--radius-sm,4px);--gdant-radius-md:var(--radius-md,6px);--gdant-radius-lg:var(--radius-lg,8px);--gdant-radius-xl:var(--radius-xl,12px);--gdant-radius-pill:var(--radius-pill,9999px);--gdant-shadow-raised:var(--shadow-raised,0 1px 2px #0f172a0a, 0 1px 4px #0f172a0f);--gdant-shadow-overlay:var(--shadow-overlay,0 4px 12px #0f172a14, 0 2px 6px #0f172a0a);--gdant-shadow-modal:var(--shadow-modal,0 16px 48px #0f172a29, 0 4px 12px #0f172a14);--gdant-spacing-xs:var(--spacing-xs,4px);--gdant-spacing-sm:var(--spacing-sm,8px);--gdant-spacing-md:var(--spacing-md,12px);--gdant-spacing-base:var(--spacing-base,16px);--gdant-spacing-lg:var(--spacing-lg,20px);--gdant-spacing-xl:var(--spacing-xl,24px);--gdant-text-body:var(--text-body,14px);--gdant-text-body-sm:var(--text-body-sm,12px);--gdant-text-h3:var(--text-h3,16px);--gdant-font-medium:var(--font-medium,500);--gdant-font-semibold:var(--font-semibold,600);--gdant-duration-normal:var(--duration-normal,.2s);--gdant-duration-slow:var(--duration-slow,.3s);--gdant-easing-default:var(--easing-default,cubic-bezier(.2, 0, 0, 1));--gdant-overlay-bg:#ffffffb8;--gdant-z-overlay:var(--z-overlay,1040);--gdant-z-modal:var(--z-modal,1050)}.gd-ant-contract-signing-location{height:var(--gd-ant-contract-signing-location-height,clamp(720px, 100vh - 180px, 980px));border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-0);min-width:0;color:var(--gdant-neutral-800);font-size:var(--gdant-text-body);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"header""error""body";display:grid;overflow:hidden;container-type:inline-size}.gd-ant-contract-signing-location__header,.gd-ant-contract-signing-location__header-actions,.gd-ant-contract-signing-location__panel-head,.gd-ant-contract-signing-location__workspace-head,.gd-ant-contract-signing-location__workspace-tools,.gd-ant-contract-signing-location__page-jumper,.gd-ant-contract-signing-location__switch-row,.gd-ant-contract-signing-location__distance-summary,.gd-ant-contract-signing-location__zoom-tools,.gd-ant-contract-signing-location__error{align-items:center;display:flex}.gd-ant-contract-signing-location__header{justify-content:space-between;gap:var(--gdant-spacing-base);min-height:60px;padding:var(--gdant-spacing-sm) var(--gdant-spacing-base);border-bottom:1px solid var(--gdant-neutral-200);grid-area:header}.gd-ant-contract-signing-location__title{align-items:center;gap:var(--gdant-spacing-sm);min-width:0;display:flex}.gd-ant-contract-signing-location__title>div{gap:var(--gdant-spacing-xs);min-width:0;display:grid}.gd-ant-contract-signing-location__title strong{color:var(--gdant-neutral-900);font-size:var(--gdant-text-h3);font-weight:var(--gdant-font-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-ant-contract-signing-location__title span:last-child{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-ant-contract-signing-location__title-bar{width:var(--gdant-spacing-xs);height:var(--gdant-spacing-base);border-radius:var(--gdant-radius-xs);background:var(--gdant-primary-500);flex:none}.gd-ant-contract-signing-location__header-actions{gap:var(--gdant-spacing-sm);flex:none}.gd-ant-contract-signing-location__placement-count{padding:var(--gdant-spacing-xs) var(--gdant-spacing-sm);border:1px solid var(--gdant-primary-200);border-radius:var(--gdant-radius-pill);background:var(--gdant-primary-50);color:var(--gdant-primary-600);font-size:var(--gdant-text-body-sm);white-space:nowrap}.gd-ant-contract-signing-location__error{justify-content:space-between;gap:var(--gdant-spacing-sm);min-height:40px;padding:var(--gdant-spacing-xs) var(--gdant-spacing-base);border-bottom:1px solid var(--gdant-error-100);background:var(--gdant-error-50);color:var(--gdant-error-700);font-size:var(--gdant-text-body-sm);grid-area:error}.gd-ant-contract-signing-location__body{--gd-navigator-expanded:220px;--gd-inspector-expanded:280px;grid-area:body;grid-template-columns:auto minmax(0,1fr) auto;min-height:0;display:grid;overflow:hidden}.gd-ant-contract-signing-location__body.is-single-file{grid-template-columns:minmax(0,1fr) auto}.gd-ant-contract-signing-location__body.is-inspector-hidden{grid-template-columns:auto minmax(0,1fr)}.gd-ant-contract-signing-location__body.is-single-file.is-inspector-hidden{grid-template-columns:minmax(0,1fr)}.gd-ant-contract-signing-location__navigator,.gd-ant-contract-signing-location__inspector{background:var(--gdant-neutral-0);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:auto}.gd-ant-contract-signing-location__inspector{overflow:hidden}.gd-ant-contract-signing-location__navigator-wrap,.gd-ant-contract-signing-location__inspector-wrap{z-index:1;background:var(--gdant-neutral-0);min-width:0;min-height:0;transition:width var(--gdant-duration-slow) var(--gdant-easing-default);flex-direction:column;display:flex;position:relative;overflow:visible}.gd-ant-contract-signing-location__navigator-wrap{width:var(--gd-navigator-expanded);border-right:1px solid var(--gdant-neutral-200)}.gd-ant-contract-signing-location__inspector-wrap{width:var(--gd-inspector-expanded);border-left:1px solid var(--gdant-neutral-200)}.gd-ant-contract-signing-location__navigator-wrap.is-collapsed{border-right-width:0;width:0}.gd-ant-contract-signing-location__inspector-wrap.is-collapsed{border-left-width:0;width:0}.gd-ant-contract-signing-location__navigator-wrap.is-collapsed .gd-ant-contract-signing-location__panel-stack,.gd-ant-contract-signing-location__inspector-wrap.is-collapsed .gd-ant-contract-signing-location__panel-stack{visibility:hidden}.gd-ant-contract-signing-location__panel-stack{flex:auto;width:100%;min-width:0;height:100%;min-height:0;overflow:hidden}.gd-ant-contract-signing-location__panel-stack>.gd-ant-contract-signing-location__navigator,.gd-ant-contract-signing-location__panel-stack>.gd-ant-contract-signing-location__inspector{height:100%}.gd-ant-contract-signing-location__navigator-wrap .gd-ant-contract-signing-location__panel-stack>*{width:var(--gd-navigator-expanded);flex:none}.gd-ant-contract-signing-location__inspector-wrap .gd-ant-contract-signing-location__panel-stack>*{width:var(--gd-inspector-expanded);flex:none}.gd-ant-contract-signing-location__panel-handle{z-index:2;box-sizing:border-box;border:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);width:14px;height:44px;color:var(--gdant-neutral-500);cursor:pointer;pointer-events:auto;transition:color var(--gdant-duration-normal) var(--gdant-easing-default), background var(--gdant-duration-normal) var(--gdant-easing-default);justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gd-ant-contract-signing-location__panel-handle .anticon{font-size:10px}.gd-ant-contract-signing-location__navigator-wrap .gd-ant-contract-signing-location__panel-handle{border-radius:0 var(--gdant-radius-md) var(--gdant-radius-md) 0;border-left:0;right:-14px}.gd-ant-contract-signing-location__inspector-wrap .gd-ant-contract-signing-location__panel-handle{border-radius:var(--gdant-radius-md) 0 0 var(--gdant-radius-md);border-right:0;left:-14px}.gd-ant-contract-signing-location__panel-handle:hover{background:var(--gdant-neutral-50);color:var(--gdant-primary-500)}.gd-ant-contract-signing-location__panel-head,.gd-ant-contract-signing-location__property-head{justify-content:space-between;gap:var(--gdant-spacing-sm);padding:var(--gdant-spacing-md) var(--gdant-spacing-base);border-bottom:1px solid var(--gdant-neutral-200);flex:none}.gd-ant-contract-signing-location__panel-head>div,.gd-ant-contract-signing-location__property-head>div{gap:var(--gdant-spacing-xs);display:grid}.gd-ant-contract-signing-location__panel-head strong,.gd-ant-contract-signing-location__property-head strong{color:var(--gdant-neutral-800);font-weight:var(--gdant-font-semibold)}.gd-ant-contract-signing-location__panel-head>div>span,.gd-ant-contract-signing-location__property-head>div>span{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-ant-contract-signing-location__file-list{gap:var(--gdant-spacing-base);padding:var(--gdant-spacing-md);display:grid}.gd-ant-contract-signing-location__file-group,.gd-ant-contract-signing-location__thumbnail-list,.gd-ant-contract-signing-location__tool-list,.gd-ant-contract-signing-location__property-body,.gd-ant-contract-signing-location__inspector-actions{gap:var(--gdant-spacing-sm);display:grid}.gd-ant-contract-signing-location__file-title{align-items:center;gap:var(--gdant-spacing-sm);color:var(--gdant-neutral-700);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.gd-ant-contract-signing-location__file-title>svg{color:var(--gdant-error-600)}.gd-ant-contract-signing-location__file-title>span{font-weight:var(--gdant-font-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-ant-contract-signing-location__file-title>small{color:var(--gdant-neutral-500);white-space:nowrap}.gd-ant-contract-signing-location__thumbnail-list{grid-template-columns:minmax(0,1fr)}.gd-ant-contract-signing-location__thumbnail{gap:var(--gdant-spacing-xs);min-width:0;padding:var(--gdant-spacing-xs);border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);color:var(--gdant-neutral-600);font:inherit;font-size:var(--gdant-text-body-sm);cursor:pointer;transition:border-color var(--gdant-duration-normal) var(--gdant-easing-default), box-shadow var(--gdant-duration-normal) var(--gdant-easing-default);display:grid}.gd-ant-contract-signing-location__thumbnail:hover,.gd-ant-contract-signing-location__thumbnail.is-active{border-color:var(--gdant-primary-500)}.gd-ant-contract-signing-location__thumbnail.is-active{color:var(--gdant-primary-600);box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-primary-500) 16%, transparent)}.gd-ant-contract-signing-location__thumbnail.is-error:not(.is-active){border-color:var(--gdant-error-500);color:var(--gdant-error-600)}.gd-ant-contract-signing-location__thumbnail:focus-visible{outline:2px solid var(--gdant-primary-500);outline-offset:2px}.gd-ant-contract-signing-location__thumbnail-preview{aspect-ratio:3/4;border-radius:var(--gdant-radius-sm);background:var(--gdant-neutral-100);color:var(--gdant-neutral-400);place-items:center;display:grid;overflow:hidden}.gd-ant-contract-signing-location__thumbnail-preview img{object-fit:cover;object-position:top center;width:100%;height:100%}.gd-ant-contract-signing-location__workspace{background:var(--gdant-neutral-100);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.gd-ant-contract-signing-location__workspace-head{z-index:2;justify-content:space-between;gap:var(--gdant-spacing-sm);min-height:54px;padding:var(--gdant-spacing-sm) var(--gdant-spacing-base);border-bottom:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0)}.gd-ant-contract-signing-location__workspace-head>div:first-child{gap:var(--gdant-spacing-xs);min-width:0;display:grid}.gd-ant-contract-signing-location__workspace-head strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-ant-contract-signing-location__workspace-head>div:first-child>span{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm);white-space:nowrap}.gd-ant-contract-signing-location__workspace-tools{gap:var(--gdant-spacing-md);flex:none}.gd-ant-contract-signing-location__page-jumper{gap:var(--gdant-spacing-xs);color:var(--gdant-neutral-600);font-size:var(--gdant-text-body-sm)}.gd-ant-contract-signing-location__page-jumper label{align-items:center;gap:var(--gdant-spacing-xs);white-space:nowrap;display:inline-flex}.gd-ant-contract-signing-location__page-jumper input{width:52px;height:28px;padding:0 var(--gdant-spacing-xs);border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);color:var(--gdant-neutral-800);font:inherit;text-align:center}.gd-ant-contract-signing-location__page-jumper input:focus-visible{outline:2px solid color-mix(in srgb, var(--gdant-primary-500) 15%, transparent);border-color:var(--gdant-primary-500)}.gd-ant-contract-signing-location__canvas-scroll{min-height:0;padding:var(--gdant-spacing-xl);position:relative;overflow:auto}.gd-ant-contract-signing-location__canvas-state,.gd-ant-contract-signing-location__panel-empty{place-content:center;gap:var(--gdant-spacing-sm);color:var(--gdant-neutral-500);text-align:center;display:grid}.gd-ant-contract-signing-location__canvas-state{min-height:440px}.gd-ant-contract-signing-location__canvas-state.is-error{color:var(--gdant-error-600)}.gd-ant-contract-signing-location__canvas-state.is-error strong{color:var(--gdant-error-700)}.gd-ant-contract-signing-location__canvas-state.is-error button{padding:var(--gdant-spacing-xs) var(--gdant-spacing-sm);border:1px solid var(--gdant-error-300);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);color:var(--gdant-error-600);font:inherit;cursor:pointer;justify-self:center}.gd-ant-contract-signing-location__page-stack{min-height:100%;margin:0 auto;position:relative}.gd-ant-contract-signing-location__page-shell{position:absolute;overflow:hidden}.gd-ant-contract-signing-location__page-stage{min-height:100%;margin:0 auto;position:relative}.gd-ant-contract-signing-location__page{transform-origin:0 0;border-radius:var(--gdant-radius-xs);background:var(--gdant-neutral-0);box-shadow:var(--gdant-shadow-overlay);-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.gd-ant-contract-signing-location__page-image{object-fit:fill;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.gd-ant-contract-signing-location__page-placeholder{place-content:center;gap:var(--gdant-spacing-sm);background:var(--gdant-neutral-50);color:var(--gdant-neutral-500);text-align:center;display:grid;position:absolute;inset:0}.gd-ant-contract-signing-location__page-placeholder strong{color:var(--gdant-neutral-700);font-size:var(--gdant-text-h3)}.gd-ant-contract-signing-location__page-placeholder.is-error{color:var(--gdant-error-600)}.gd-ant-contract-signing-location__page-placeholder.is-error strong{color:var(--gdant-error-700)}.gd-ant-contract-signing-location__template-page{background:var(--gdant-neutral-0);pointer-events:none;position:absolute;inset:0 auto auto 0}.gd-ant-contract-signing-location__template-warning{right:var(--gdant-spacing-md);bottom:var(--gdant-spacing-md);left:var(--gdant-spacing-md);z-index:1;gap:var(--gdant-spacing-xs);padding:var(--gdant-spacing-sm) var(--gdant-spacing-md);border:1px solid var(--gdant-warning-200);border-radius:var(--gdant-radius-md);background:color-mix(in srgb, var(--gdant-warning-50) 94%, transparent);color:var(--gdant-warning-700);font-size:var(--gdant-text-body-sm);display:grid;position:absolute}.gd-ant-contract-signing-location__render-region{z-index:2;box-sizing:border-box;border:1px solid #0000;position:absolute;inset:0}.gd-ant-contract-signing-location__render-region-content{width:100%;height:100%;position:relative;overflow:hidden}.gd-ant-contract-signing-location__placement{z-index:3;border-radius:var(--gdant-radius-xs);min-width:0;min-height:0;color:var(--gdant-primary-500);font:inherit;appearance:none;cursor:move;touch-action:none;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;overflow:visible}.gd-ant-contract-signing-location__placement:hover,.gd-ant-contract-signing-location__placement:focus-visible,.gd-ant-contract-signing-location__placement.is-selected{outline-offset:2px;box-shadow:0 0 0 3px color-mix(in srgb, currentColor 18%, transparent);outline:1px solid}.gd-ant-contract-signing-location__placement:focus-visible{outline-width:2px}.gd-ant-contract-signing-location__placement.is-seal{color:var(--gdant-error-500)}.gd-ant-contract-signing-location__placement.is-date{color:var(--gdant-warning-600)}.gd-ant-contract-signing-location__placement-body{pointer-events:none;justify-content:center;align-items:center;width:100%;min-width:0;height:100%;display:flex;overflow:hidden}.gd-ant-contract-signing-location__placement-visual{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;min-width:0;height:100%;min-height:0;display:block}.gd-ant-contract-signing-location__placement-badge{z-index:4;padding:0 var(--gdant-spacing-xs);border-radius:var(--gdant-radius-pill);background:var(--gdant-primary-500);color:var(--gdant-neutral-0);font-size:var(--gdant-text-body-sm);pointer-events:none;white-space:nowrap;line-height:1.4;position:absolute;top:0;right:0;transform:translate(30%,-40%)}.gd-ant-contract-signing-location__placement.is-seal .gd-ant-contract-signing-location__placement-badge{background:var(--gdant-error-500)}.gd-ant-contract-signing-location__placement.is-date .gd-ant-contract-signing-location__placement-badge{background:var(--gdant-warning-500)}.gd-ant-contract-signing-location__resize-handle{z-index:5;border:1px solid var(--gdant-primary-500);border-radius:var(--gdant-radius-xs);background:var(--gdant-neutral-0);width:8px;height:8px;position:absolute}.gd-ant-contract-signing-location__resize-handle.is-n,.gd-ant-contract-signing-location__resize-handle.is-s{cursor:ns-resize;left:50%;transform:translate(-50%)}.gd-ant-contract-signing-location__resize-handle.is-e,.gd-ant-contract-signing-location__resize-handle.is-w{cursor:ew-resize;top:50%;transform:translateY(-50%)}.gd-ant-contract-signing-location__resize-handle.is-n{top:-5px}.gd-ant-contract-signing-location__resize-handle.is-s{bottom:-5px}.gd-ant-contract-signing-location__resize-handle.is-e{right:-5px}.gd-ant-contract-signing-location__resize-handle.is-w{left:-5px}.gd-ant-contract-signing-location__resize-handle.is-nw{cursor:nwse-resize;top:-5px;left:-5px}.gd-ant-contract-signing-location__resize-handle.is-ne{cursor:nesw-resize;top:-5px;right:-5px}.gd-ant-contract-signing-location__resize-handle.is-se{cursor:nwse-resize;bottom:-5px;right:-5px}.gd-ant-contract-signing-location__resize-handle.is-sw{cursor:nesw-resize;bottom:-5px;left:-5px}.gd-ant-contract-signing-location__coordinate-guides{z-index:2;pointer-events:none;position:absolute;inset:0}.gd-ant-contract-signing-location__coordinate-guides>span{border-color:var(--gdant-primary-500);border-style:dashed;display:block;position:absolute}.gd-ant-contract-signing-location__coordinate-guides>span small{padding:0 var(--gdant-spacing-xs);border-radius:var(--gdant-radius-sm);background:var(--gdant-primary-600);color:var(--gdant-neutral-0);font-size:var(--gdant-text-body-sm);line-height:var(--gdant-spacing-lg);white-space:nowrap;position:absolute}.gd-ant-contract-signing-location__coordinate-guides .is-horizontal{border-width:1px 0 0;width:100%;left:0}.gd-ant-contract-signing-location__coordinate-guides .is-horizontal small{left:var(--gd-contract-sign-left);transform:translate(-50%)}.gd-ant-contract-signing-location__coordinate-guides .is-vertical{border-width:0 0 0 1px;height:100%;top:0}.gd-ant-contract-signing-location__coordinate-guides .is-vertical small{top:var(--gd-contract-sign-top);transform:translate(-50%,-50%)rotate(-90deg)}.gd-ant-contract-signing-location__coordinate-guides .is-top{top:var(--gd-contract-sign-top)}.gd-ant-contract-signing-location__coordinate-guides .is-top small{bottom:var(--gdant-spacing-xs)}.gd-ant-contract-signing-location__coordinate-guides .is-bottom{top:var(--gd-contract-sign-bottom)}.gd-ant-contract-signing-location__coordinate-guides .is-bottom small{top:var(--gdant-spacing-xs)}.gd-ant-contract-signing-location__coordinate-guides .is-left{left:var(--gd-contract-sign-left)}.gd-ant-contract-signing-location__coordinate-guides .is-left small{right:var(--gdant-spacing-xs)}.gd-ant-contract-signing-location__coordinate-guides .is-right{left:var(--gd-contract-sign-right)}.gd-ant-contract-signing-location__coordinate-guides .is-right small{left:var(--gdant-spacing-lg)}.gd-ant-contract-signing-location__snap-guides{z-index:2;pointer-events:none;position:absolute;inset:0}.gd-ant-contract-signing-location__snap-guides>span{border-color:var(--gdant-primary-400);border-style:solid;display:block;position:absolute}.gd-ant-contract-signing-location__snap-guides .is-horizontal{border-width:1px 0 0;width:100%;left:0}.gd-ant-contract-signing-location__snap-guides .is-vertical{border-width:0 0 0 1px;height:100%;top:0}.gd-ant-contract-signing-location__tool-list{padding:var(--gdant-spacing-sm);flex:none;grid-template-columns:repeat(3,minmax(0,1fr))}.gd-ant-contract-signing-location__tool{place-items:center;gap:var(--gdant-spacing-xs);min-width:0;min-height:74px;padding:var(--gdant-spacing-sm);border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);color:var(--gdant-neutral-700);font:inherit;text-align:center;cursor:grab;transition:border-color var(--gdant-duration-normal) var(--gdant-easing-default), background var(--gdant-duration-normal) var(--gdant-easing-default);grid-template-columns:minmax(0,1fr);display:grid}.gd-ant-contract-signing-location__tool>svg{color:var(--gdant-primary-500);font-size:var(--gdant-spacing-lg)}.gd-ant-contract-signing-location__tool>span{gap:var(--gdant-spacing-xs);min-width:0;display:grid}.gd-ant-contract-signing-location__tool strong,.gd-ant-contract-signing-location__tool small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-ant-contract-signing-location__tool strong{font-size:var(--gdant-text-body-sm)}.gd-ant-contract-signing-location__tool small{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-ant-contract-signing-location__tool:hover:not(:disabled){border-color:var(--gdant-primary-500);background:var(--gdant-primary-50)}.gd-ant-contract-signing-location__tool:disabled{cursor:not-allowed;opacity:.55}.gd-ant-contract-signing-location__inspector-divider{height:var(--gdant-spacing-sm);border-block:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-50)}.gd-ant-contract-signing-location__placement-list{flex-direction:column;flex:1 1 0;min-height:168px;display:flex;overflow:hidden}.gd-ant-contract-signing-location__list-head{justify-content:space-between;align-items:center;gap:var(--gdant-spacing-sm);padding:var(--gdant-spacing-sm) var(--gdant-spacing-base);color:var(--gdant-neutral-800);flex:none;display:flex}.gd-ant-contract-signing-location__list-head span{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-ant-contract-signing-location__placement-groups{gap:var(--gdant-spacing-md);min-height:0;padding:0 var(--gdant-spacing-md) var(--gdant-spacing-md);display:grid;overflow:auto}.gd-ant-contract-signing-location__placement-group{gap:var(--gdant-spacing-xs);display:grid}.gd-ant-contract-signing-location__placement-group h3{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm);font-weight:var(--gdant-font-medium);margin:0}.gd-ant-contract-signing-location__placement-row{align-items:center;gap:var(--gdant-spacing-sm);min-width:0;padding:var(--gdant-spacing-sm);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);color:var(--gdant-neutral-700);font:inherit;text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.gd-ant-contract-signing-location__placement-row>svg{color:var(--gdant-primary-500)}.gd-ant-contract-signing-location__placement-row>span{min-width:0;display:grid}.gd-ant-contract-signing-location__placement-row strong,.gd-ant-contract-signing-location__placement-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-ant-contract-signing-location__placement-row small{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-ant-contract-signing-location__placement-row em{color:var(--gdant-error-600);font-style:normal;font-size:var(--gdant-text-body-sm);flex:none}.gd-ant-contract-signing-location__placement-row:hover,.gd-ant-contract-signing-location__placement-row.is-active{border-color:var(--gdant-primary-500);background:var(--gdant-primary-50)}.gd-ant-contract-signing-location__placement-row-delete{border-radius:var(--gdant-radius-sm);width:24px;height:24px;color:var(--gdant-neutral-500);place-items:center;display:grid}.gd-ant-contract-signing-location__placement-row-delete:hover{background:var(--gdant-neutral-100);color:var(--gdant-error-600)}.gd-ant-contract-signing-location__property-head{flex:none}.gd-ant-contract-signing-location__property-body{min-height:176px;padding:var(--gdant-spacing-base);flex:1.2 1 0;overflow:auto}.gd-ant-contract-signing-location__switch-row,.gd-ant-contract-signing-location__distance-summary{justify-content:space-between;gap:var(--gdant-spacing-sm)}.gd-ant-contract-signing-location__form-row{gap:var(--gdant-spacing-xs);color:var(--gdant-neutral-600);font-size:var(--gdant-text-body-sm);display:grid}.gd-ant-contract-signing-location__form-row.is-wide .ant-select,.gd-ant-contract-signing-location__form-row .ant-input-number{width:100%}.gd-ant-contract-signing-location__coordinate-grid{gap:var(--gdant-spacing-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gd-ant-contract-signing-location__distance-summary{padding:var(--gdant-spacing-sm);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-50);color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-ant-contract-signing-location__distance-summary b{color:var(--gdant-neutral-700);font-weight:var(--gdant-font-medium)}.gd-ant-contract-signing-location__panel-empty{min-height:220px;padding:var(--gdant-spacing-xl);flex:1}.gd-ant-contract-signing-location__panel-empty>svg{color:var(--gdant-neutral-400);font-size:var(--gdant-spacing-xl);justify-self:center}.gd-ant-contract-signing-location__panel-empty strong{color:var(--gdant-neutral-700)}.gd-ant-contract-signing-location__panel-empty span{font-size:var(--gdant-text-body-sm);line-height:1.6}.gd-ant-contract-signing-location__panel-empty.is-inspector,.gd-ant-contract-signing-location__panel-empty.is-list{flex:none;min-height:120px}.gd-ant-contract-signing-location__zoom-tools{gap:var(--gdant-spacing-xs)}.gd-ant-contract-signing-location__zoom-tools>button:not(.ant-btn){min-width:52px;color:var(--gdant-neutral-600);font:inherit;font-size:var(--gdant-text-body-sm);cursor:pointer;background:0 0;border:0}.gd-ant-contract-signing-location__muted{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-ant-contract-signing-location.is-readonly .gd-ant-contract-signing-location__placement{cursor:pointer}.gd-ant-contract-signing-location.is-disabled{opacity:.72}@media (width<=1024px){.gd-ant-contract-signing-location__workspace-head,.gd-ant-contract-signing-location__workspace-tools{flex-wrap:wrap}}@media (width<=768px){.gd-ant-contract-signing-location{grid-template-rows:auto auto auto;height:auto}.gd-ant-contract-signing-location__header{flex-direction:column;align-items:stretch}.gd-ant-contract-signing-location__header-actions{justify-content:space-between}.gd-ant-contract-signing-location__body,.gd-ant-contract-signing-location__body.is-single-file{grid-template-columns:1fr;min-height:0;overflow:visible}.gd-ant-contract-signing-location__navigator,.gd-ant-contract-signing-location__inspector,.gd-ant-contract-signing-location__navigator-wrap,.gd-ant-contract-signing-location__inspector-wrap,.gd-ant-contract-signing-location__navigator-wrap.is-collapsed,.gd-ant-contract-signing-location__inspector-wrap.is-collapsed{border:0;width:auto;overflow:visible}.gd-ant-contract-signing-location__navigator-wrap .gd-ant-contract-signing-location__panel-stack,.gd-ant-contract-signing-location__inspector-wrap .gd-ant-contract-signing-location__panel-stack,.gd-ant-contract-signing-location__navigator-wrap.is-collapsed .gd-ant-contract-signing-location__panel-stack,.gd-ant-contract-signing-location__inspector-wrap.is-collapsed .gd-ant-contract-signing-location__panel-stack,.gd-ant-contract-signing-location__navigator-wrap .gd-ant-contract-signing-location__panel-stack>*,.gd-ant-contract-signing-location__inspector-wrap .gd-ant-contract-signing-location__panel-stack>*{visibility:visible;width:100%}.gd-ant-contract-signing-location__navigator-wrap{border-bottom:1px solid var(--gdant-neutral-200)}.gd-ant-contract-signing-location__inspector-wrap{border-top:1px solid var(--gdant-neutral-200)}.gd-ant-contract-signing-location__panel-handle{display:none!important}.gd-ant-contract-signing-location__file-list{max-height:300px;overflow:auto}.gd-ant-contract-signing-location__tool-list{grid-template-columns:minmax(0,1fr)}.gd-ant-contract-signing-location__placement-list,.gd-ant-contract-signing-location__property-body{flex:none;min-height:auto}.gd-ant-contract-signing-location__workspace{min-height:520px}.gd-ant-contract-signing-location__canvas-scroll{max-height:70vh}.gd-ant-contract-signing-location__workspace-head,.gd-ant-contract-signing-location__workspace-tools,.gd-ant-contract-signing-location__page-jumper{justify-content:flex-start}.gd-ant-contract-signing-location__zoom-tools{justify-content:center;margin-right:0}}@media (width<=480px){.gd-ant-contract-signing-location__header-actions,.gd-ant-contract-signing-location__thumbnail-list,.gd-ant-contract-signing-location__coordinate-grid{grid-template-columns:1fr}.gd-ant-contract-signing-location__header-actions{display:grid}.gd-ant-contract-signing-location__placement-count{justify-self:start}.gd-ant-contract-signing-location__canvas-scroll{padding:var(--gdant-spacing-md)}.gd-ant-contract-signing-location__workspace{min-height:440px}}@container (width<=1119px){.gd-ant-contract-signing-location__body{--gd-navigator-expanded:184px;--gd-inspector-expanded:244px}.gd-ant-contract-signing-location__workspace-head,.gd-ant-contract-signing-location__workspace-tools{flex-wrap:wrap}}@container (width<=919px){.gd-ant-contract-signing-location__body{--gd-navigator-expanded:160px;--gd-inspector-expanded:220px}}@media (prefers-reduced-motion:reduce){.gd-ant-contract-signing-location__navigator-wrap,.gd-ant-contract-signing-location__inspector-wrap,.gd-ant-contract-signing-location__panel-handle{transition:none}}
@@ -1 +1 @@
1
- require(`../hooks/setup-theme.cjs`),require(`./collapse-transtion/src/types.cjs`),require(`./collapse-transtion/index.cjs`),require(`./pro-modal/src/types.cjs`),require(`./pro-modal/hooks/useProModal.cjs`),require(`./pro-modal/index.cjs`),require(`./pro-title/src/types.cjs`),require(`./pro-title/index.cjs`),require(`./scroll-bar/src/types.cjs`),require(`./scroll-bar/index.cjs`),require(`./cover-scroll-bar/src/types.cjs`),require(`./cover-scroll-bar/index.cjs`),require(`./scale-virtual-list/index.cjs`),require(`./pro-tag/src/types.cjs`),require(`./pro-tag/index.cjs`),require(`./pro-picker/src/types.cjs`),require(`./pro-picker/index.cjs`),require(`./pro-area/src/types.cjs`),require(`./pro-area/hooks/use-pro-area.cjs`),require(`./pro-area/index.cjs`),require(`./pro-signature/src/types.cjs`),require(`./pro-signature/index.cjs`),require(`./pro-table/hooks/use-pro-table.cjs`),require(`./pro-table/index.cjs`),require(`./icon/index.cjs`),require(`./pro-upload/src/types.cjs`),require(`./pro-upload/src/hooks/useUpload.cjs`),require(`./pro-upload/index.cjs`),require(`./pro-loading/src/pro-loading.cjs`),require(`./plus-upload/index.cjs`),require(`./pro-overlay/index.cjs`),require(`./pro-selector/src/types.cjs`),require(`./pro-selector/src/components/user.cjs`),require(`./pro-selector/src/pro-user.cjs`),require(`./pro-selector/src/hooks/useUserSelector.cjs`),require(`./pro-selector/index.cjs`),require(`./pro-user-avatar/index.cjs`),require(`./role-selector/src/types.cjs`),require(`./role-selector/index.cjs`),require(`./dept-selector/src/types.cjs`),require(`./dept-selector/index.cjs`),require(`./pro-menu-tree/src/types.cjs`),require(`./pro-menu-tree/index.cjs`),require(`./pro-tag-group/src/types.cjs`),require(`./pro-tag-group/index.cjs`),require(`./pro-form-render/src/types.cjs`),require(`./pro-form-render/index.cjs`),require(`./pro-cell-group/src/types.cjs`),require(`./pro-cell/index.cjs`),require(`./pro-cell-group/index.cjs`),require(`./pro-selector-group/src/types.cjs`),require(`./pro-selector-group/index.cjs`),require(`./pro-dynamic-tags/index.cjs`),require(`./pro-drawer/src/types.cjs`),require(`./pro-drawer/index.cjs`),require(`./pro-contract-template-designer/src/constants.cjs`),require(`./contract-signing-location/src/constants.cjs`),require(`./contract-signing-location/src/coordinates.cjs`),require(`./pro-contract-template-designer/src/types.cjs`),require(`./pro-contract-template-designer/src/utils/signing-placement.cjs`),require(`./pro-contract-template-designer/src/utils/advanced-controls.cjs`),require(`./pro-contract-template-designer/src/composables/use-template-designer.cjs`),require(`./pro-contract-template-designer/src/utils/image-url.cjs`),require(`./pro-contract-template-designer/src/utils/template-renderer.cjs`),require(`./contract-signing-location/src/template-source.cjs`),require(`./contract-signing-location/src/location-rules.cjs`),require(`./contract-signing-location/src/page-layout.cjs`),require(`./contract-signing-location/src/signing-visuals.cjs`),require(`./contract-signing-location/index.cjs`),require(`./pro-contract-template-designer/src/utils/content-image.cjs`),require(`./pro-contract-template-designer/src/composables/use-template-draft-cache.cjs`),require(`./pro-contract-template-designer/src/composables/use-template-files.cjs`),require(`./pro-contract-template-designer/index.cjs`),require(`./pro-contract-signing-flow/src/constants.cjs`),require(`./pro-contract-signing-flow/src/composables/use-contract-signing-flow.cjs`),require(`./pro-contract-signing-flow/index.cjs`),require(`./pro-contract-template-agent/src/composables/use-contract-template-agent.cjs`),require(`./pro-contract-template-agent/src/utils/contract-template-agent-adapter.cjs`),require(`./pro-contract-template-agent/index.cjs`),require(`./hooks/use-basic-app-config.cjs`);
1
+ require(`../hooks/setup-theme.cjs`),require(`./collapse-transtion/src/types.cjs`),require(`./collapse-transtion/index.cjs`),require(`./pro-modal/src/types.cjs`),require(`./pro-modal/hooks/useProModal.cjs`),require(`./pro-modal/index.cjs`),require(`./pro-title/src/types.cjs`),require(`./pro-title/index.cjs`),require(`./scroll-bar/src/types.cjs`),require(`./scroll-bar/index.cjs`),require(`./cover-scroll-bar/src/types.cjs`),require(`./cover-scroll-bar/index.cjs`),require(`./scale-virtual-list/index.cjs`),require(`./pro-tag/src/types.cjs`),require(`./pro-tag/index.cjs`),require(`./pro-picker/src/types.cjs`),require(`./pro-picker/index.cjs`),require(`./pro-area/src/types.cjs`),require(`./pro-area/hooks/use-pro-area.cjs`),require(`./pro-area/index.cjs`),require(`./pro-signature/src/types.cjs`),require(`./pro-signature/index.cjs`),require(`./pro-table/hooks/use-pro-table.cjs`),require(`./pro-table/index.cjs`),require(`./icon/index.cjs`),require(`./pro-upload/src/types.cjs`),require(`./pro-upload/src/hooks/useUpload.cjs`),require(`./pro-upload/index.cjs`),require(`./pro-loading/src/pro-loading.cjs`),require(`./plus-upload/index.cjs`),require(`./pro-overlay/index.cjs`),require(`./pro-selector/src/types.cjs`),require(`./pro-selector/src/components/user.cjs`),require(`./pro-selector/src/pro-user.cjs`),require(`./pro-selector/src/hooks/useUserSelector.cjs`),require(`./pro-selector/index.cjs`),require(`./pro-user-avatar/index.cjs`),require(`./role-selector/src/types.cjs`),require(`./role-selector/index.cjs`),require(`./dept-selector/src/types.cjs`),require(`./dept-selector/index.cjs`),require(`./pro-menu-tree/src/types.cjs`),require(`./pro-menu-tree/index.cjs`),require(`./pro-tag-group/src/types.cjs`),require(`./pro-tag-group/index.cjs`),require(`./pro-form-render/src/types.cjs`),require(`./pro-form-render/index.cjs`),require(`./pro-cell-group/src/types.cjs`),require(`./pro-cell/index.cjs`),require(`./pro-cell-group/index.cjs`),require(`./pro-selector-group/src/types.cjs`),require(`./pro-selector-group/index.cjs`),require(`./pro-dynamic-tags/index.cjs`),require(`./pro-drawer/src/types.cjs`),require(`./pro-drawer/index.cjs`),require(`./pro-contract-template-designer/src/utils/contract-print-document.cjs`),require(`./pro-contract-template-designer/src/constants.cjs`),require(`./contract-signing-location/src/constants.cjs`),require(`./contract-signing-location/src/coordinates.cjs`),require(`./pro-contract-template-designer/src/types.cjs`),require(`./pro-contract-template-designer/src/utils/signing-placement.cjs`),require(`./pro-contract-template-designer/src/utils/advanced-controls.cjs`),require(`./pro-contract-template-designer/src/composables/use-template-designer.cjs`),require(`./pro-contract-template-designer/src/utils/image-url.cjs`),require(`./pro-contract-template-designer/src/utils/template-renderer.cjs`),require(`./contract-signing-location/src/template-source.cjs`),require(`./contract-signing-location/src/location-rules.cjs`),require(`./contract-signing-location/src/page-layout.cjs`),require(`./contract-signing-location/src/signing-visuals.cjs`),require(`./contract-signing-location/index.cjs`),require(`./pro-contract-template-designer/src/utils/content-image.cjs`),require(`./pro-contract-template-designer/src/composables/use-template-draft-cache.cjs`),require(`./pro-contract-template-designer/src/composables/use-template-files.cjs`),require(`./pro-contract-template-designer/index.cjs`),require(`./pro-contract-signing-flow/src/constants.cjs`),require(`./pro-contract-signing-flow/src/composables/use-contract-signing-flow.cjs`),require(`./pro-contract-signing-flow/index.cjs`),require(`./pro-contract-template-agent/src/composables/use-contract-template-agent.cjs`),require(`./pro-contract-template-agent/src/utils/contract-template-agent-adapter.cjs`),require(`./pro-contract-template-agent/index.cjs`),require(`./hooks/use-basic-app-config.cjs`);