@guodun/antdv 1.4.2 → 1.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.mjs +304 -293
- package/dist/es/components/contract-signing-location/src/ContractSigningTemplatePage.vue.mjs +66 -13
- package/dist/es/components/contract-signing-location/src/constants.mjs +27 -17
- package/dist/es/components/contract-signing-location/src/coordinates.mjs +23 -23
- package/dist/es/components/contract-signing-location/src/location-rules.mjs +20 -10
- package/dist/es/components/contract-signing-location/src/page-layout.mjs +12 -9
- package/dist/es/components/contract-signing-location/src/template-source.mjs +52 -34
- package/dist/es/components/contract-signing-location/style/index.css +1 -1
- package/dist/es/components/index.mjs +1 -1
- package/dist/es/components/pro-contract-template-designer/index.mjs +1 -1
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.mjs +186 -148
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.mjs +4 -4
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateTextBubbleMenu.mjs +5 -0
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateTextBubbleMenu.vue.mjs +179 -0
- package/dist/es/components/pro-contract-template-designer/src/DesignerPage.vue.mjs +149 -126
- package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +1229 -1059
- package/dist/es/components/pro-contract-template-designer/src/composables/use-template-designer.mjs +34 -34
- package/dist/es/components/pro-contract-template-designer/src/utils/page-decorations.mjs +17 -17
- package/dist/es/components/pro-contract-template-designer/src/utils/signing-placement.mjs +14 -14
- package/dist/es/components/pro-contract-template-designer/src/utils/template-renderer.mjs +89 -89
- package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
- package/dist/es/index.mjs +25 -25
- package/dist/lib/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.cjs +1 -1
- package/dist/lib/components/contract-signing-location/src/ContractSigningTemplatePage.vue.cjs +1 -1
- package/dist/lib/components/contract-signing-location/src/constants.cjs +1 -1
- package/dist/lib/components/contract-signing-location/src/coordinates.cjs +1 -1
- package/dist/lib/components/contract-signing-location/src/location-rules.cjs +1 -1
- package/dist/lib/components/contract-signing-location/src/page-layout.cjs +1 -1
- package/dist/lib/components/contract-signing-location/src/template-source.cjs +1 -1
- package/dist/lib/components/contract-signing-location/style/index.css +1 -1
- package/dist/lib/components/index.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/index.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateTextBubbleMenu.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateTextBubbleMenu.vue.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/src/DesignerPage.vue.cjs +2 -2
- package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-designer.cjs +3 -3
- package/dist/lib/components/pro-contract-template-designer/src/utils/page-decorations.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/utils/signing-placement.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/utils/template-renderer.cjs +2 -2
- package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
- package/dist/lib/index.cjs +1 -1
- package/dist/theme/contract-signing-location.css +1 -1
- package/dist/theme/icon.css +1 -1
- package/dist/theme/index.css +1 -1
- package/dist/types/components/contract-signing-location/src/ContractSigningTemplatePage.vue.d.ts +3 -1
- package/dist/types/components/contract-signing-location/src/constants.d.ts +18 -0
- package/dist/types/components/contract-signing-location/src/coordinates.d.ts +8 -2
- package/dist/types/components/contract-signing-location/src/page-layout.d.ts +2 -2
- package/dist/types/components/contract-signing-location/src/template-source.d.ts +19 -0
- package/dist/types/components/contract-signing-location/src/types.d.ts +3 -0
- package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.d.ts +10 -0
- package/dist/types/components/pro-contract-template-designer/src/ContractTemplateTextBubbleMenu.vue.d.ts +43 -0
- package/dist/types/components/pro-contract-template-designer/src/DesignerPage.vue.d.ts +22 -0
- package/dist/types/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.d.ts +90 -0
- package/dist/types/components/pro-contract-template-designer/src/utils/context-menu-viewport.d.ts +3 -0
- package/package.json +5 -3
package/dist/es/index.mjs
CHANGED
|
@@ -53,28 +53,28 @@ import ge from "./components/pro-selector-group/index.mjs";
|
|
|
53
53
|
import _e from "./components/pro-dynamic-tags/index.mjs";
|
|
54
54
|
import { DRAWER_SIZE_WIDTH as ve } from "./components/pro-drawer/src/types.mjs";
|
|
55
55
|
import ye from "./components/pro-drawer/index.mjs";
|
|
56
|
-
import {
|
|
57
|
-
import {
|
|
58
|
-
import {
|
|
59
|
-
import {
|
|
60
|
-
import {
|
|
61
|
-
import { CONTRACT_TEMPLATE_RENDERER_VERSION as
|
|
62
|
-
import { isSafeContractImageUrl as
|
|
63
|
-
import { buildInitialRenderValues as
|
|
64
|
-
import { buildContractSigningTemplateRenderPages as
|
|
65
|
-
import { ContractSigningLocationBuildError as
|
|
66
|
-
import { CONTRACT_SIGNING_FALLBACK_PAGE_SIZE as
|
|
67
|
-
import { formatContractSigningDate as
|
|
68
|
-
import
|
|
69
|
-
import { DEFAULT_CONTRACT_IMAGE_COMPRESSION as
|
|
70
|
-
import { CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION as
|
|
71
|
-
import { cloneContractTemplateFiles as
|
|
72
|
-
import
|
|
73
|
-
import { CONTRACT_SIGNING_FLOW_ACTION_LABELS as
|
|
74
|
-
import { buildConnectList as
|
|
75
|
-
import
|
|
76
|
-
import { useContractTemplateAgent as
|
|
77
|
-
import { adaptContractTemplateAgentSpec as
|
|
78
|
-
import
|
|
79
|
-
import { setupAppConfig as
|
|
80
|
-
export { be as CONTRACT_SIGNING_AUTO_SCROLL_EDGE_PX, Gn as CONTRACT_SIGNING_FALLBACK_PAGE_SIZE, ti as CONTRACT_SIGNING_FLOW_ACTION_LABELS, ni as CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS, ri as CONTRACT_SIGNING_FLOW_MAX_ZOOM, ii as CONTRACT_SIGNING_FLOW_MIN_ZOOM, ai as CONTRACT_SIGNING_FLOW_SEAL_TYPES, oi as CONTRACT_SIGNING_FLOW_SIGN_ACTIONS, si as CONTRACT_SIGNING_FLOW_ZOOM_STEP, xe as CONTRACT_SIGNING_MIN_PLACEMENT_SIZE, Kn as CONTRACT_SIGNING_PAGE_GAP, Se as CONTRACT_SIGNING_PLACEMENT_LABELS, Ce as CONTRACT_SIGNING_PLACEMENT_MIME, we as CONTRACT_SIGNING_PREVIEW_CONCURRENCY, Te as CONTRACT_SIGNING_PX_PER_MM, Ie as CONTRACT_SIGNING_RENDER_ORIGIN_OFFSET, Ee as CONTRACT_SIGNING_SEAL_MAX_SIZE, De as CONTRACT_SIGNING_SEAL_MIN_SIZE, Q as CONTRACT_SIGNING_SEAL_TYPE_OPTIONS, Oe as CONTRACT_SIGNING_SEAL_TYPE_PRESETS, ke as CONTRACT_SIGNING_SIZE_PROFILES, Le as CONTRACT_SIGNING_SNAP_THRESHOLD_PX, qn as CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES, Ae as CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS, Dr as CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION, Or as CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION, At as CONTRACT_TEMPLATE_RENDERER_VERSION, jt as CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS, Mt as CONTRACT_TEMPLATE_STYLE_VERSION, Nt as CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN, bt as CONTRACT_TEXT_STYLE_PRESETS, xt as CONTRACT_TEXT_STYLE_PRESET_COMMANDS, jn as ContractSigningLocationBuildError, $e as ContractTemplateLocationRuleBuildError, Pt as ContractTemplatePageDecorationValidationError, l as CoverScrollbarProps, St as DEFAULT_CONTRACT_FONT_FAMILY, _r as DEFAULT_CONTRACT_IMAGE_COMPRESSION, kr as DEFAULT_DRAFT_CACHE_INTERVAL, Ar as DEFAULT_DRAFT_CACHE_KEY, jr as DEFAULT_DRAFT_CACHE_MAX_BYTES, Ft as DEFAULT_FIELD_STYLE, It as DEFAULT_FIELD_TYPES, Ct as DEFAULT_FONT_FAMILY_OPTIONS, wt as DEFAULT_FONT_SIZE_PRESETS, Lt as DEFAULT_MULTILINE_LINE_HEIGHT, Rt as DEFAULT_MULTILINE_ROWS, zt as DEFAULT_PAGE_SIZE, Tt as DEFAULT_TEXT_ALIGN_OPTIONS, ve as DRAWER_SIZE_WIDTH, ce as FORM_RENDER_CONTEXT_KEY, le as FormItemProps, ue as FormRenderProps, q as GET_DEPT_TREE_URL, H as GTE_OPTIONS_URL, j as GTE_ORGTREE_URL, ne as GdAntCollapseTranstion, gr as GdAntContractSigningLocation, u as GdAntCoverScrollBar, X as GdAntDeptSelector, w as GdAntIcon, k as GdAntPlusUpload, y as GdAntProArea, pe as GdAntProCell, me as GdAntProCellGroup, Ci as GdAntProContractSigningFlow, Di as GdAntProContractTemplateAgentPanel, Oi as GdAntProContractTemplateAgentPreview, Ei as GdAntProContractTemplateAgentWorkbench, $r as GdAntProContractTemplateDesigner, ei as GdAntProContractTemplateRenderer, ye as GdAntProDrawer, _e as GdAntProDynamicTags, de as GdAntProFormRender, O as GdAntProLoading, ae as GdAntProMenuTree, i as GdAntProModal, A as GdAntProOverlay, g as GdAntProPicker, K as GdAntProRoleSelector, ge as GdAntProSelectorGroup, x as GdAntProSignature, C as GdAntProTable, p as GdAntProTag, se as GdAntProTagGroup, o as GdAntProTitle, D as GdAntProUpload, V as GdAntProUserAvatar, O as GdAntProloading, G as GdAntRoleSelector, d as GdAntScaleVirtualList, c as GdAntScrollBar, B as GdAntUserAvatar, R as GdAntUserSelector, z as GdAntUserSelectorCheckbox, vr as MAX_CONTRACT_IMAGE_BYTES, yr as MAX_CONTRACT_IMAGE_DIMENSION, Z as MENU_TREE_URL, br as MIN_CONTRACT_IMAGE_DIMENSION, Bt as PAGE_SIZE_OPTIONS, fe as PRO_CELL_GROUP_KEY, m as PickerApiEnum, _ as ProAreaProps, h as ProPickerProps, b as ProSignatureProps, oe as ProTagGroupProps, I as ProUserSelector, F as ProUserSelectorCheckbox, et as SIGNING_PLACEMENT_DEFAULT_SIZES, tt as SIGNING_PLACEMENT_MIME, nt as SIGNING_PLACEMENT_MIN_SIZE, Q as SIGNING_PLACEMENT_SEAL_TYPE_OPTIONS, rt as SIGNING_PLACEMENT_TYPE_LABELS, a as TitleProps, T as UploadContextKey, M as UserSelectorProps, Ti as adaptContractTemplateAgentSpec, it as applySigningPlacementPatch, fi as buildConnectList, at as buildContractLocationRules, Mn as buildContractSigningLocationOutput, Nn as buildContractSigningLocationRules, En as buildContractSigningTemplateRenderPages, _n as buildInitialRenderValues, Jn as buildPageLayouts, ot as buildSigningPlacementLocationRules, Vt as buildTemplateExpressionHtml, Ht as buildTemplateHtml, Ut as buildTemplatePreviewHtml, Wt as buildTemplatePreviewPages, vn as buildTemplateRenderHtml, yn as buildTemplateRenderPages, st as canMutateSigningPlacements, Re as canResizeContractSigningPlacement, ze as clampContractSigningPlacement, Be as clampContractSigningZoom, ct as clampSigningPlacement, Mr as clearTemplateDraftCache, Pn as cloneContractSigningLocationValue, Ur as cloneContractTemplateFiles, Gt as cloneTemplateValue, e as collapseProps, Kt as collectTemplateLocationRuleExportErrors, qt as collectTemplateValueVariableKeys, Jt as collectTemplateVariableKeys, xr as compressContractImage, Wr as constrainContractTemplateFiles, Yt as constrainTemplatePageSizes, Yn as contentPointToPagePoint, Xt as createBlankPage, Zt as createBlankTemplate, Fn as createContractSigningLocationValue, In as createContractSigningPlacement, Gr as createContractTemplateFile, Qt as createDefaultPage, pi as createDefaultSignRule, $t as createDefaultTemplate, en as createDesignerId, Nr as createDraftCacheStatus, mi as createEndNode, hi as createId, gi as createInitialFlow, _i as createSignNode, lt as createSigningPlacement, vi as createStartNode, tn as createTemplateVariable, J as deptSelectorEmits, Y as deptSelectorProps, Ve as displayPointToContractPoint, Pr as estimateDraftCacheBytes, Kr as exportContractTemplateFiles, nn as exportTemplateValue, Ln as findContractSigningPage, Xn as findPageAtOffset, $ as findPageSizeOption, tr as formatContractSigningDate, Fr as formatDraftCacheSavedAt, ee as generatePalette, Ir as getBrowserDraftCacheStorage, Zn as getContractSigningAutoScrollDelta, nr as getContractSigningDateDataUrl, rr as getContractSigningDateSvgDataUrl, Rn as getContractSigningHomePage, ir as getContractSigningPlacementDataUrl, He as getContractSigningPlacementDistances, Ue as getContractSigningPlacementSize, ar as getContractSigningPlacementVisual, We as getContractSigningRuleGeometry, or as getContractSigningSealDataUrl, sr as getContractSigningSealLabel, cr as getContractSigningSealSvgDataUrl, lr as getContractSigningSignatureDataUrl, ur as getContractSigningSignaturePngDataUrl, dr as getContractSigningSignatureSvgDataUrl, Dn as getContractSigningTemplateDisplayError, Et as getContractTextStylePreset, rn as getFieldOption, Qn as getPageLayoutScrollTop, $n as getPageLayoutsContentSize, an as getPageSizeKey, on as getPageSizeOption, ut as getSigningPlacementDefaultSize, dt as getSigningPlacementTypeLabel, er as getVisibleRange, sn as inferPageFormat, Lr as isBlankTemplateDraftValue, Rr as isBlankTemplateFilesDraftValue, ci as isContractSigningFlowInteractiveTarget, zn as isContractSigningPageUsable, On as isContractSigningTemplateFile, kn as isContractSigningTemplateSource, fr as isContractSigningVisualDataUrl, Qe as isContractTemplateFieldType, bn as isEmptyRenderValue, gn as isSafeContractImageUrl, pr as isSafeContractSigningVisualDataUrl, zr as loadTemplateDraftCache, Br as loadTemplateFilesDraftCache, je as millimetersToContractSigningCssPixels, Me as millimetersToContractSigningPixels, Ge as moveContractSigningPlacementByDisplayDelta, qr as moveContractTemplateFile, ft as moveSigningPlacementByDisplayDelta, Sr as normalizeContractImageCompression, Cr as normalizeContractImageDimension, Ke as normalizeContractSigningCoordinateDimension, qe as normalizeContractSigningCoordinateScale, yi as normalizeContractSigningFlow, li as normalizeContractSigningFlowZoom, Bn as normalizeContractSigningLocationValue, Vn as normalizeContractSigningProviderValue, Jr as normalizeContractTemplateFiles, cn as normalizeContractTemplateMaxPages, Dt as normalizeFontFamilyValue, ln as normalizePageSizeOptions, xn as normalizeRenderValues, bi as normalizeSignRule, pt as normalizeSigningPlacements, un as normalizeTemplateValue, mt as parseSigningPlacementDragPayload, Hn as patchContractSigningPlacement, re as proMenuTreeEmits, ie as proMenuTreeProps, t as proModalEmits, f as proTagProps, wr as processContractImageFile, Tr as readContractImageFileAsDataUrl, Yr as removeContractTemplateFile, Xr as renameContractTemplateFile, Zr as replaceContractTemplateFile, Je as resizeContractSigningSealGeometry, ht as resizeSigningPlacement, Er as resolveContractImageResizeDimensions, ui as resolveContractSigningFlowZoomShortcut, di as resolveContractSigningFlowZoomShortcutForTarget, Un as resolveContractSigningPreviewPageSize, mr as resolveContractSigningSealLabel, Ne as resolveContractSigningSealSizeInCssPixels, Pe as resolveContractSigningSealSizeInPixels, Ye as resolveContractSigningSealSizeLimit, Fe as resolveContractSigningSealTypeOption, Xe as resolveContractSigningSizeProfile, Qr as resolveContractTemplateActiveFileId, Ot as resolveContractTextStylePresetCommands, kt as resolveFontFamilyOptions, dn as resolvePageSize, gt as resolveSigningPlacementToolItems, Sn as resolveTemplateRenderSubmitErrors, U as roleSelectorEmits, W as roleSelectorProps, Cn as sanitizeContractRendererHtml, Vr as saveTemplateDraftCache, Hr as saveTemplateFilesDraftCache, _t as scaleSigningPlacementToPage, s as scrollbarProps, he as selectContextKey, N as selectUserContextKey, vt as serializeSigningPlacementDragPayload, ki as setupAppConfig, te as setupTheme, Ze as snapContractSigningPlacement, fn as splitPageContentByMeasurements, pn as syncTemplateVariablesWithPages, hr as toContractSigningSvgDataUrl, Ai as useBasicAppConfig, xi as useContractSigningFlow, wi as useContractTemplateAgent, v as useProArea, n as useProModal, r as useProModalInit, S as useProTable, E as useUpload, L as useUserSelector, P as userSelectorEmits, Si as validateContractSigningFlow, Wn as validateContractSigningLocationValue, An as validateContractSigningTemplateFile, mn as validateContractTemplateVariableKey, yt as validateSigningPlacements, wn as validateTemplateRenderStructure, Tn as validateTemplateRenderValues, hn as validateTemplateValue };
|
|
56
|
+
import { CONTRACT_TEXT_STYLE_PRESETS as be, CONTRACT_TEXT_STYLE_PRESET_COMMANDS as xe, DEFAULT_CONTRACT_FONT_FAMILY as Se, DEFAULT_FONT_FAMILY_OPTIONS as Ce, DEFAULT_FONT_SIZE_PRESETS as we, DEFAULT_TEXT_ALIGN_OPTIONS as Te, getContractTextStylePreset as Ee, normalizeFontFamilyValue as De, resolveContractTextStylePresetCommands as Oe, resolveFontFamilyOptions as ke } from "./components/pro-contract-template-designer/src/constants.mjs";
|
|
57
|
+
import { CONTRACT_SIGNING_AUTO_SCROLL_EDGE_PX as Ae, CONTRACT_SIGNING_CSS_PX_PER_POINT as je, CONTRACT_SIGNING_MIN_PLACEMENT_SIZE as Me, CONTRACT_SIGNING_PLACEMENT_LABELS as Ne, CONTRACT_SIGNING_PLACEMENT_MIME as Pe, CONTRACT_SIGNING_PREVIEW_CONCURRENCY as Fe, CONTRACT_SIGNING_PX_PER_MM as Ie, CONTRACT_SIGNING_SEAL_MAX_SIZE as Le, CONTRACT_SIGNING_SEAL_MIN_SIZE as Re, CONTRACT_SIGNING_SEAL_TYPE_OPTIONS as Q, CONTRACT_SIGNING_SEAL_TYPE_PRESETS as ze, CONTRACT_SIGNING_SIZE_PROFILES as Be, CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS as Ve, millimetersToContractSigningCssPixels as He, millimetersToContractSigningPixels as Ue, resolveContractSigningSealSizeInCssPixels as We, resolveContractSigningSealSizeInPixels as Ge, resolveContractSigningSealTypeOption as Ke, toContractSigningRulePageSize as qe } from "./components/contract-signing-location/src/constants.mjs";
|
|
58
|
+
import { CONTRACT_SIGNING_RENDER_ORIGIN_OFFSET as Je, CONTRACT_SIGNING_SNAP_THRESHOLD_PX as Ye, canResizeContractSigningPlacement as Xe, clampContractSigningPlacement as Ze, clampContractSigningZoom as Qe, displayPointToContractPoint as $e, getContractSigningPlacementDistances as et, getContractSigningPlacementSize as tt, getContractSigningRuleGeometry as nt, moveContractSigningPlacementByDisplayDelta as rt, normalizeContractSigningCoordinateDimension as it, normalizeContractSigningCoordinateScale as at, resizeContractSigningSealGeometry as ot, resolveContractSigningSealSizeLimit as st, resolveContractSigningSizeProfile as ct, snapContractSigningPlacement as lt } from "./components/contract-signing-location/src/coordinates.mjs";
|
|
59
|
+
import { isContractTemplateFieldType as ut } from "./components/pro-contract-template-designer/src/types.mjs";
|
|
60
|
+
import { ContractTemplateLocationRuleBuildError as dt, SIGNING_PLACEMENT_DEFAULT_SIZES as ft, SIGNING_PLACEMENT_MIME as pt, SIGNING_PLACEMENT_MIN_SIZE as mt, SIGNING_PLACEMENT_TYPE_LABELS as ht, applySigningPlacementPatch as gt, buildContractLocationRules as _t, buildSigningPlacementLocationRules as vt, canMutateSigningPlacements as yt, clampSigningPlacement as bt, createSigningPlacement as xt, getSigningPlacementDefaultSize as St, getSigningPlacementTypeLabel as Ct, moveSigningPlacementByDisplayDelta as wt, normalizeSigningPlacements as Tt, parseSigningPlacementDragPayload as Et, resizeSigningPlacement as Dt, resolveSigningPlacementToolItems as Ot, scaleSigningPlacementToPage as kt, serializeSigningPlacementDragPayload as At, validateSigningPlacements as jt } from "./components/pro-contract-template-designer/src/utils/signing-placement.mjs";
|
|
61
|
+
import { CONTRACT_TEMPLATE_RENDERER_VERSION as Mt, CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS as Nt, CONTRACT_TEMPLATE_STYLE_VERSION as Pt, CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN as Ft, ContractTemplatePageDecorationValidationError as It, DEFAULT_FIELD_STYLE as Lt, DEFAULT_FIELD_TYPES as Rt, DEFAULT_MULTILINE_LINE_HEIGHT as zt, DEFAULT_MULTILINE_ROWS as Bt, DEFAULT_PAGE_SIZE as Vt, PAGE_SIZE_OPTIONS as Ht, buildTemplateExpressionHtml as Ut, buildTemplateHtml as Wt, buildTemplatePreviewHtml as Gt, buildTemplatePreviewPages as Kt, cloneTemplateValue as qt, collectTemplateLocationRuleExportErrors as Jt, collectTemplateValueVariableKeys as Yt, collectTemplateVariableKeys as Xt, constrainTemplatePageSizes as Zt, createBlankPage as Qt, createBlankTemplate as $t, createDefaultPage as en, createDefaultTemplate as tn, createDesignerId as nn, createTemplateVariable as $, exportTemplateValue as rn, findPageSizeOption as an, getFieldOption as on, getPageSizeKey as sn, getPageSizeOption as cn, inferPageFormat as ln, normalizeContractTemplateMaxPages as un, normalizePageSizeOptions as dn, normalizeTemplateValue as fn, resolvePageSize as pn, splitPageContentByMeasurements as mn, syncTemplateVariablesWithPages as hn, validateContractTemplateVariableKey as gn, validateTemplateValue as _n } from "./components/pro-contract-template-designer/src/composables/use-template-designer.mjs";
|
|
62
|
+
import { isSafeContractImageUrl as vn } from "./components/pro-contract-template-designer/src/utils/image-url.mjs";
|
|
63
|
+
import { buildInitialRenderValues as yn, buildTemplateRenderHtml as bn, buildTemplateRenderPages as xn, isEmptyRenderValue as Sn, normalizeRenderValues as Cn, resolveTemplateRenderSubmitErrors as wn, sanitizeContractRendererHtml as Tn, validateTemplateRenderStructure as En, validateTemplateRenderValues as Dn } from "./components/pro-contract-template-designer/src/utils/template-renderer.mjs";
|
|
64
|
+
import { buildContractSigningTemplateRenderPages as On, getContractSigningTemplateDisplayError as kn, isContractSigningTemplateFile as An, isContractSigningTemplateSource as jn, validateContractSigningTemplateFile as Mn } from "./components/contract-signing-location/src/template-source.mjs";
|
|
65
|
+
import { ContractSigningLocationBuildError as Nn, buildContractSigningLocationOutput as Pn, buildContractSigningLocationRules as Fn, cloneContractSigningLocationValue as In, createContractSigningLocationValue as Ln, createContractSigningPlacement as Rn, findContractSigningPage as zn, getContractSigningHomePage as Bn, isContractSigningPageUsable as Vn, normalizeContractSigningLocationValue as Hn, normalizeContractSigningProviderValue as Un, patchContractSigningPlacement as Wn, resolveContractSigningPreviewPageSize as Gn, validateContractSigningLocationValue as Kn } from "./components/contract-signing-location/src/location-rules.mjs";
|
|
66
|
+
import { CONTRACT_SIGNING_FALLBACK_PAGE_SIZE as qn, CONTRACT_SIGNING_PAGE_GAP as Jn, CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES as Yn, buildPageLayouts as Xn, contentPointToPagePoint as Zn, findPageAtOffset as Qn, getContractSigningAutoScrollDelta as $n, getPageLayoutScrollTop as er, getPageLayoutsContentSize as tr, getVisibleRange as nr } from "./components/contract-signing-location/src/page-layout.mjs";
|
|
67
|
+
import { formatContractSigningDate as rr, getContractSigningDateDataUrl as ir, getContractSigningDateSvgDataUrl as ar, getContractSigningPlacementDataUrl as or, getContractSigningPlacementVisual as sr, getContractSigningSealDataUrl as cr, getContractSigningSealLabel as lr, getContractSigningSealSvgDataUrl as ur, getContractSigningSignatureDataUrl as dr, getContractSigningSignaturePngDataUrl as fr, getContractSigningSignatureSvgDataUrl as pr, isContractSigningVisualDataUrl as mr, isSafeContractSigningVisualDataUrl as hr, resolveContractSigningSealLabel as gr, toContractSigningSvgDataUrl as _r } from "./components/contract-signing-location/src/signing-visuals.mjs";
|
|
68
|
+
import vr from "./components/contract-signing-location/index.mjs";
|
|
69
|
+
import { DEFAULT_CONTRACT_IMAGE_COMPRESSION as yr, MAX_CONTRACT_IMAGE_BYTES as br, MAX_CONTRACT_IMAGE_DIMENSION as xr, MIN_CONTRACT_IMAGE_DIMENSION as Sr, compressContractImage as Cr, normalizeContractImageCompression as wr, normalizeContractImageDimension as Tr, processContractImageFile as Er, readContractImageFileAsDataUrl as Dr, resolveContractImageResizeDimensions as Or } from "./components/pro-contract-template-designer/src/utils/content-image.mjs";
|
|
70
|
+
import { CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION as kr, CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION as Ar, DEFAULT_DRAFT_CACHE_INTERVAL as jr, DEFAULT_DRAFT_CACHE_KEY as Mr, DEFAULT_DRAFT_CACHE_MAX_BYTES as Nr, clearTemplateDraftCache as Pr, createDraftCacheStatus as Fr, estimateDraftCacheBytes as Ir, formatDraftCacheSavedAt as Lr, getBrowserDraftCacheStorage as Rr, isBlankTemplateDraftValue as zr, isBlankTemplateFilesDraftValue as Br, loadTemplateDraftCache as Vr, loadTemplateFilesDraftCache as Hr, saveTemplateDraftCache as Ur, saveTemplateFilesDraftCache as Wr } from "./components/pro-contract-template-designer/src/composables/use-template-draft-cache.mjs";
|
|
71
|
+
import { cloneContractTemplateFiles as Gr, constrainContractTemplateFiles as Kr, createContractTemplateFile as qr, exportContractTemplateFiles as Jr, moveContractTemplateFile as Yr, normalizeContractTemplateFiles as Xr, removeContractTemplateFile as Zr, renameContractTemplateFile as Qr, replaceContractTemplateFile as $r, resolveContractTemplateActiveFileId as ei } from "./components/pro-contract-template-designer/src/composables/use-template-files.mjs";
|
|
72
|
+
import ti, { GdAntProContractTemplateRenderer as ni } from "./components/pro-contract-template-designer/index.mjs";
|
|
73
|
+
import { CONTRACT_SIGNING_FLOW_ACTION_LABELS as ri, CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS as ii, CONTRACT_SIGNING_FLOW_MAX_ZOOM as ai, CONTRACT_SIGNING_FLOW_MIN_ZOOM as oi, CONTRACT_SIGNING_FLOW_SEAL_TYPES as si, CONTRACT_SIGNING_FLOW_SIGN_ACTIONS as ci, CONTRACT_SIGNING_FLOW_ZOOM_STEP as li, isContractSigningFlowInteractiveTarget as ui, normalizeContractSigningFlowZoom as di, resolveContractSigningFlowZoomShortcut as fi, resolveContractSigningFlowZoomShortcutForTarget as pi } from "./components/pro-contract-signing-flow/src/constants.mjs";
|
|
74
|
+
import { buildConnectList as mi, createDefaultSignRule as hi, createEndNode as gi, createId as _i, createInitialFlow as vi, createSignNode as yi, createStartNode as bi, normalizeContractSigningFlow as xi, normalizeSignRule as Si, useContractSigningFlow as Ci, validateContractSigningFlow as wi } from "./components/pro-contract-signing-flow/src/composables/use-contract-signing-flow.mjs";
|
|
75
|
+
import Ti from "./components/pro-contract-signing-flow/index.mjs";
|
|
76
|
+
import { useContractTemplateAgent as Ei } from "./components/pro-contract-template-agent/src/composables/use-contract-template-agent.mjs";
|
|
77
|
+
import { adaptContractTemplateAgentSpec as Di } from "./components/pro-contract-template-agent/src/utils/contract-template-agent-adapter.mjs";
|
|
78
|
+
import Oi, { GdAntProContractTemplateAgentPanel as ki, GdAntProContractTemplateAgentPreview as Ai } from "./components/pro-contract-template-agent/index.mjs";
|
|
79
|
+
import { setupAppConfig as ji, useBasicAppConfig as Mi } from "./components/hooks/use-basic-app-config.mjs";
|
|
80
|
+
export { Ae as CONTRACT_SIGNING_AUTO_SCROLL_EDGE_PX, je as CONTRACT_SIGNING_CSS_PX_PER_POINT, qn as CONTRACT_SIGNING_FALLBACK_PAGE_SIZE, ri as CONTRACT_SIGNING_FLOW_ACTION_LABELS, ii as CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS, ai as CONTRACT_SIGNING_FLOW_MAX_ZOOM, oi as CONTRACT_SIGNING_FLOW_MIN_ZOOM, si as CONTRACT_SIGNING_FLOW_SEAL_TYPES, ci as CONTRACT_SIGNING_FLOW_SIGN_ACTIONS, li as CONTRACT_SIGNING_FLOW_ZOOM_STEP, Me as CONTRACT_SIGNING_MIN_PLACEMENT_SIZE, Jn as CONTRACT_SIGNING_PAGE_GAP, Ne as CONTRACT_SIGNING_PLACEMENT_LABELS, Pe as CONTRACT_SIGNING_PLACEMENT_MIME, Fe as CONTRACT_SIGNING_PREVIEW_CONCURRENCY, Ie as CONTRACT_SIGNING_PX_PER_MM, Je as CONTRACT_SIGNING_RENDER_ORIGIN_OFFSET, Le as CONTRACT_SIGNING_SEAL_MAX_SIZE, Re as CONTRACT_SIGNING_SEAL_MIN_SIZE, Q as CONTRACT_SIGNING_SEAL_TYPE_OPTIONS, ze as CONTRACT_SIGNING_SEAL_TYPE_PRESETS, Be as CONTRACT_SIGNING_SIZE_PROFILES, Ye as CONTRACT_SIGNING_SNAP_THRESHOLD_PX, Yn as CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES, Ve as CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS, kr as CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION, Ar as CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION, Mt as CONTRACT_TEMPLATE_RENDERER_VERSION, Nt as CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS, Pt as CONTRACT_TEMPLATE_STYLE_VERSION, Ft as CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN, be as CONTRACT_TEXT_STYLE_PRESETS, xe as CONTRACT_TEXT_STYLE_PRESET_COMMANDS, Nn as ContractSigningLocationBuildError, dt as ContractTemplateLocationRuleBuildError, It as ContractTemplatePageDecorationValidationError, l as CoverScrollbarProps, Se as DEFAULT_CONTRACT_FONT_FAMILY, yr as DEFAULT_CONTRACT_IMAGE_COMPRESSION, jr as DEFAULT_DRAFT_CACHE_INTERVAL, Mr as DEFAULT_DRAFT_CACHE_KEY, Nr as DEFAULT_DRAFT_CACHE_MAX_BYTES, Lt as DEFAULT_FIELD_STYLE, Rt as DEFAULT_FIELD_TYPES, Ce as DEFAULT_FONT_FAMILY_OPTIONS, we as DEFAULT_FONT_SIZE_PRESETS, zt as DEFAULT_MULTILINE_LINE_HEIGHT, Bt as DEFAULT_MULTILINE_ROWS, Vt as DEFAULT_PAGE_SIZE, Te as DEFAULT_TEXT_ALIGN_OPTIONS, ve as DRAWER_SIZE_WIDTH, ce as FORM_RENDER_CONTEXT_KEY, le as FormItemProps, ue as FormRenderProps, q as GET_DEPT_TREE_URL, H as GTE_OPTIONS_URL, j as GTE_ORGTREE_URL, ne as GdAntCollapseTranstion, vr as GdAntContractSigningLocation, u as GdAntCoverScrollBar, X as GdAntDeptSelector, w as GdAntIcon, k as GdAntPlusUpload, y as GdAntProArea, pe as GdAntProCell, me as GdAntProCellGroup, Ti as GdAntProContractSigningFlow, ki as GdAntProContractTemplateAgentPanel, Ai as GdAntProContractTemplateAgentPreview, Oi as GdAntProContractTemplateAgentWorkbench, ti as GdAntProContractTemplateDesigner, ni as GdAntProContractTemplateRenderer, ye as GdAntProDrawer, _e as GdAntProDynamicTags, de as GdAntProFormRender, O as GdAntProLoading, ae as GdAntProMenuTree, i as GdAntProModal, A as GdAntProOverlay, g as GdAntProPicker, K as GdAntProRoleSelector, ge as GdAntProSelectorGroup, x as GdAntProSignature, C as GdAntProTable, p as GdAntProTag, se as GdAntProTagGroup, o as GdAntProTitle, D as GdAntProUpload, V as GdAntProUserAvatar, O as GdAntProloading, G as GdAntRoleSelector, d as GdAntScaleVirtualList, c as GdAntScrollBar, B as GdAntUserAvatar, R as GdAntUserSelector, z as GdAntUserSelectorCheckbox, br as MAX_CONTRACT_IMAGE_BYTES, xr as MAX_CONTRACT_IMAGE_DIMENSION, Z as MENU_TREE_URL, Sr as MIN_CONTRACT_IMAGE_DIMENSION, Ht as PAGE_SIZE_OPTIONS, fe as PRO_CELL_GROUP_KEY, m as PickerApiEnum, _ as ProAreaProps, h as ProPickerProps, b as ProSignatureProps, oe as ProTagGroupProps, I as ProUserSelector, F as ProUserSelectorCheckbox, ft as SIGNING_PLACEMENT_DEFAULT_SIZES, pt as SIGNING_PLACEMENT_MIME, mt as SIGNING_PLACEMENT_MIN_SIZE, Q as SIGNING_PLACEMENT_SEAL_TYPE_OPTIONS, ht as SIGNING_PLACEMENT_TYPE_LABELS, a as TitleProps, T as UploadContextKey, M as UserSelectorProps, Di as adaptContractTemplateAgentSpec, gt as applySigningPlacementPatch, mi as buildConnectList, _t as buildContractLocationRules, Pn as buildContractSigningLocationOutput, Fn as buildContractSigningLocationRules, On as buildContractSigningTemplateRenderPages, yn as buildInitialRenderValues, Xn as buildPageLayouts, vt as buildSigningPlacementLocationRules, Ut as buildTemplateExpressionHtml, Wt as buildTemplateHtml, Gt as buildTemplatePreviewHtml, Kt as buildTemplatePreviewPages, bn as buildTemplateRenderHtml, xn as buildTemplateRenderPages, yt as canMutateSigningPlacements, Xe as canResizeContractSigningPlacement, Ze as clampContractSigningPlacement, Qe as clampContractSigningZoom, bt as clampSigningPlacement, Pr as clearTemplateDraftCache, In as cloneContractSigningLocationValue, Gr as cloneContractTemplateFiles, qt as cloneTemplateValue, e as collapseProps, Jt as collectTemplateLocationRuleExportErrors, Yt as collectTemplateValueVariableKeys, Xt as collectTemplateVariableKeys, Cr as compressContractImage, Kr as constrainContractTemplateFiles, Zt as constrainTemplatePageSizes, Zn as contentPointToPagePoint, Qt as createBlankPage, $t as createBlankTemplate, Ln as createContractSigningLocationValue, Rn as createContractSigningPlacement, qr as createContractTemplateFile, en as createDefaultPage, hi as createDefaultSignRule, tn as createDefaultTemplate, nn as createDesignerId, Fr as createDraftCacheStatus, gi as createEndNode, _i as createId, vi as createInitialFlow, yi as createSignNode, xt as createSigningPlacement, bi as createStartNode, $ as createTemplateVariable, J as deptSelectorEmits, Y as deptSelectorProps, $e as displayPointToContractPoint, Ir as estimateDraftCacheBytes, Jr as exportContractTemplateFiles, rn as exportTemplateValue, zn as findContractSigningPage, Qn as findPageAtOffset, an as findPageSizeOption, rr as formatContractSigningDate, Lr as formatDraftCacheSavedAt, ee as generatePalette, Rr as getBrowserDraftCacheStorage, $n as getContractSigningAutoScrollDelta, ir as getContractSigningDateDataUrl, ar as getContractSigningDateSvgDataUrl, Bn as getContractSigningHomePage, or as getContractSigningPlacementDataUrl, et as getContractSigningPlacementDistances, tt as getContractSigningPlacementSize, sr as getContractSigningPlacementVisual, nt as getContractSigningRuleGeometry, cr as getContractSigningSealDataUrl, lr as getContractSigningSealLabel, ur as getContractSigningSealSvgDataUrl, dr as getContractSigningSignatureDataUrl, fr as getContractSigningSignaturePngDataUrl, pr as getContractSigningSignatureSvgDataUrl, kn as getContractSigningTemplateDisplayError, Ee as getContractTextStylePreset, on as getFieldOption, er as getPageLayoutScrollTop, tr as getPageLayoutsContentSize, sn as getPageSizeKey, cn as getPageSizeOption, St as getSigningPlacementDefaultSize, Ct as getSigningPlacementTypeLabel, nr as getVisibleRange, ln as inferPageFormat, zr as isBlankTemplateDraftValue, Br as isBlankTemplateFilesDraftValue, ui as isContractSigningFlowInteractiveTarget, Vn as isContractSigningPageUsable, An as isContractSigningTemplateFile, jn as isContractSigningTemplateSource, mr as isContractSigningVisualDataUrl, ut as isContractTemplateFieldType, Sn as isEmptyRenderValue, vn as isSafeContractImageUrl, hr as isSafeContractSigningVisualDataUrl, Vr as loadTemplateDraftCache, Hr as loadTemplateFilesDraftCache, He as millimetersToContractSigningCssPixels, Ue as millimetersToContractSigningPixels, rt as moveContractSigningPlacementByDisplayDelta, Yr as moveContractTemplateFile, wt as moveSigningPlacementByDisplayDelta, wr as normalizeContractImageCompression, Tr as normalizeContractImageDimension, it as normalizeContractSigningCoordinateDimension, at as normalizeContractSigningCoordinateScale, xi as normalizeContractSigningFlow, di as normalizeContractSigningFlowZoom, Hn as normalizeContractSigningLocationValue, Un as normalizeContractSigningProviderValue, Xr as normalizeContractTemplateFiles, un as normalizeContractTemplateMaxPages, De as normalizeFontFamilyValue, dn as normalizePageSizeOptions, Cn as normalizeRenderValues, Si as normalizeSignRule, Tt as normalizeSigningPlacements, fn as normalizeTemplateValue, Et as parseSigningPlacementDragPayload, Wn as patchContractSigningPlacement, re as proMenuTreeEmits, ie as proMenuTreeProps, t as proModalEmits, f as proTagProps, Er as processContractImageFile, Dr as readContractImageFileAsDataUrl, Zr as removeContractTemplateFile, Qr as renameContractTemplateFile, $r as replaceContractTemplateFile, ot as resizeContractSigningSealGeometry, Dt as resizeSigningPlacement, Or as resolveContractImageResizeDimensions, fi as resolveContractSigningFlowZoomShortcut, pi as resolveContractSigningFlowZoomShortcutForTarget, Gn as resolveContractSigningPreviewPageSize, gr as resolveContractSigningSealLabel, We as resolveContractSigningSealSizeInCssPixels, Ge as resolveContractSigningSealSizeInPixels, st as resolveContractSigningSealSizeLimit, Ke as resolveContractSigningSealTypeOption, ct as resolveContractSigningSizeProfile, ei as resolveContractTemplateActiveFileId, Oe as resolveContractTextStylePresetCommands, ke as resolveFontFamilyOptions, pn as resolvePageSize, Ot as resolveSigningPlacementToolItems, wn as resolveTemplateRenderSubmitErrors, U as roleSelectorEmits, W as roleSelectorProps, Tn as sanitizeContractRendererHtml, Ur as saveTemplateDraftCache, Wr as saveTemplateFilesDraftCache, kt as scaleSigningPlacementToPage, s as scrollbarProps, he as selectContextKey, N as selectUserContextKey, At as serializeSigningPlacementDragPayload, ji as setupAppConfig, te as setupTheme, lt as snapContractSigningPlacement, mn as splitPageContentByMeasurements, hn as syncTemplateVariablesWithPages, qe as toContractSigningRulePageSize, _r as toContractSigningSvgDataUrl, Mi as useBasicAppConfig, Ci as useContractSigningFlow, Ei as useContractTemplateAgent, v as useProArea, n as useProModal, r as useProModalInit, S as useProTable, E as useUpload, L as useUserSelector, P as userSelectorEmits, wi as validateContractSigningFlow, Kn as validateContractSigningLocationValue, Mn as validateContractSigningTemplateFile, gn as validateContractTemplateVariableKey, jt as validateSigningPlacements, En as validateTemplateRenderStructure, Dn as validateTemplateRenderValues, _n as validateTemplateValue };
|
package/dist/lib/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.cjs
CHANGED
|
@@ -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`],ee={class:`gd-ant-contract-signing-location__zoom-tools`,"aria-label":`页面缩放`},te=[`aria-label`],ne={key:1,class:`gd-ant-contract-signing-location__page-placeholder is-error`,role:`alert`},re=[`src`],ie={key:3,class:`gd-ant-contract-signing-location__page-placeholder`},ae=[`onClick`],oe=[`onClick`],se={class:`gd-ant-contract-signing-location__render-region`},ce={class:`gd-ant-contract-signing-location__render-region-content`},le={class:`is-horizontal is-top`},ue={class:`is-horizontal is-bottom`},de={class:`is-vertical is-left`},fe={class:`is-vertical is-right`},pe={key:1,class:`gd-ant-contract-signing-location__snap-guides`,"aria-hidden":`true`},me=[`title`,`aria-label`,`aria-pressed`,`onClick`,`onPointerdown`,`onKeydown`],he={class:`gd-ant-contract-signing-location__placement-body`},ge=[`src`,`alt`],_e={key:0,class:`gd-ant-contract-signing-location__placement-badge`},ve=[`onPointerdown`],_=(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(_,{expose:ye,emit:be}){let xe=[`nw`,`n`,`ne`,`e`,`se`,`s`,`sw`,`w`],v=_,y=be,b=(0,s.ref)(null),x=(0,s.ref)(null),S=(0,s.shallowRef)(1),C=(0,s.shallowRef)(v.activePageIndex),w=(0,s.shallowRef)({start:0,end:-1}),{width:Se}=(0,l.useElementSize)(b),Ce=(0,s.computed)(()=>Math.max(...v.pages.map(e=>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:()=>v.minZoom,maxZoom:()=>v.maxZoom,getZoom:()=>v.zoom,applyZoom:e=>(y(`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(v.pages,v.zoom,16)),Ee=(0,s.computed)(()=>i.getPageLayoutsContentSize(P.value)),F=(0,s.computed)(()=>n.isContractSigningTemplateFile(v.file)),De=(0,s.computed)(()=>n.buildContractSigningTemplateRenderPages(v.file?.source)),Oe=(0,s.computed)(()=>new Map(De.value.map(e=>[e.pageIndex,e]))),I=(0,s.computed)(()=>n.getContractSigningTemplateDisplayError(v.file)),ke=(0,s.computed)(()=>{let e=w.value;return P.value.length?e.end<e.start?P.value.slice(0,2):P.value.slice(e.start,e.end+1):[]}),Ae=(0,s.computed)(()=>ke.value.flatMap(e=>{let t=B(e.pageIndex);return t?[{layout:e,page:t,logical:Le(t),templatePage:Oe.value.get(e.pageIndex)}]:[]})),L=(0,s.computed)(()=>v.pages.find(e=>e.pageIndex===C.value)??v.pages[0]),je=(0,s.computed)(()=>Math.min(v.minZoom,v.maxZoom)),Me=(0,s.computed)(()=>Math.max(v.minZoom,v.maxZoom)),R=(0,s.computed)(()=>v.placements.find(e=>e.id===v.selectedPlacementId)),Ne=new Date,z=new Map;function Pe(e){return JSON.stringify([e.signType,e.sealType??[],v.sealTypeOptions??[]])}function Fe(e){let t=Pe(e),n=z.get(t);if(n)return n;let r=o.getContractSigningPlacementVisual(e,{sealTypeOptions:v.sealTypeOptions,date:Ne});if(z.size>=128){let e=z.keys().next().value;e!==void 0&&z.delete(e)}return z.set(t,r),r}let Ie=(0,s.computed)(()=>{let e=new WeakMap;return v.placements.forEach(t=>{e.set(t,Fe(t))}),e});(0,s.watch)(()=>v.activePageIndex,e=>{C.value=e,Ke()||Y(e)}),(0,s.watch)(()=>v.pages.map(e=>e.pageIndex).join(`,`),()=>{(0,s.nextTick)(()=>{K(),q(),y(`scroll-to-ready`)})}),(0,s.watch)(()=>v.zoom,(e,t)=>{if(!b.value||t==null||e===t)return;let n=W(),r=i.buildPageLayouts(v.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)(()=>Je(o))}),(0,s.onMounted)(()=>{K(),q(),y(`scroll-to-ready`),!(typeof ResizeObserver>`u`||!b.value)&&(N=new ResizeObserver(()=>{K(),q()}),N.observe(b.value))}),(0,s.onBeforeUnmount)(()=>{$(),Z(),A&&clearTimeout(A),N?.disconnect(),N=void 0});function B(e){return v.pages.find(t=>t.pageIndex===e)}function Le(e){return r.isContractSigningPageUsable(e)?{width:e.width,height:e.height}:{...i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE}}function Re(e){return`${v.file?.fileId??``}:${e}`}function ze(e){return v.previewLoadingKeys.includes(Re(e))}function Be(e){return v.previewErrorMap[Re(e)]||``}function Ve(e){return v.placements.filter(t=>t.pageIndex===e)}function V(e){let n=R.value;return n&&n.pageIndex===e.pageIndex?t.getContractSigningPlacementDistances(n,e):void 0}function He(e){let n=t.getContractSigningRuleGeometry(e);return{left:`${n.signLeft}px`,top:`${n.signTop}px`,width:`${n.signWidth}px`,height:`${n.signHeight}px`}}function Ue(e){let n=t.getContractSigningRuleGeometry(e);return{"--gd-contract-sign-left":`${n.signLeft}px`,"--gd-contract-sign-top":`${n.signTop}px`,"--gd-contract-sign-right":`${n.signLeft+n.signWidth}px`,"--gd-contract-sign-bottom":`${n.signTop+n.signHeight}px`}}function H(e,n){return t.clampContractSigningPlacement(e,n,{sealSizeLimit:v.sealSizeLimit,sealTypes:e.sealType,sealTypeOptions:v.sealTypeOptions})}function U(e){return Ie.value.get(e)??Fe(e)}function We(e){return t.canResizeContractSigningPlacement(e,v.resizable,v.readonly)&&e.id===v.selectedPlacementId}function Ge(e){return{...e,sealType:e.sealType?[...e.sealType]:void 0}}function W(){let e=b.value,t=x.value;if(!e)return{layoutScrollTop:0,viewportHeight:0};let n=t?.offsetTop??0;return{layoutScrollTop:e.scrollTop-n,viewportHeight:e.clientHeight}}function G(e,t){let n=x.value;if(n){let r=n.getBoundingClientRect();return{x:e-r.left,y:t-r.top}}let r=b.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 Ke(){return!!(document.activeElement&&document.activeElement.tagName===`INPUT`)}function K(){let e=W();w.value=i.getVisibleRange(P.value,e.layoutScrollTop,e.viewportHeight,1);let t=i.findPageAtOffset(P.value,e.layoutScrollTop+1);if(t){let e=C.value!==t.pageIndex;C.value=t.pageIndex,Ke()||Y(t.pageIndex),e&&y(`view-page`,t.pageIndex)}}function q(){let e=w.value;y(`visible-pages`,P.value.slice(Math.max(0,e.start),e.end+1).map(e=>e.pageIndex))}function qe(){K(),A&&clearTimeout(A),A=setTimeout(()=>{q(),C.value!==j&&(j=C.value,y(`page-change`,C.value))},80)}function Je(e){let t=b.value,n=x.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,K())}function J(e){let t=b.value,n=x.value;t&&(C.value=e,Y(e),y(`page-change`,e),j=e,(0,s.nextTick)(()=>{let r=i.getPageLayoutScrollTop(P.value,e);t.scrollTop=(n?.offsetTop??0)+r,K(),q()}))}function Ye(e){let n=v.placements.find(t=>t.id===e),r=b.value,i=x.value;if(!n||!r)return;let a=P.value.find(e=>e.pageIndex===n.pageIndex);a&&(C.value=n.pageIndex,Y(n.pageIndex),(0,s.nextTick)(()=>{let e=W(),o=a.top+t.getContractSigningRuleGeometry(n).signTop*v.zoom,s=o+t.getContractSigningRuleGeometry(n).signHeight*v.zoom,c=e.layoutScrollTop,l=c+e.viewportHeight;(o<c||s>l)&&(r.scrollTop=(i?.offsetTop??0)+Math.max(0,o-24)),K(),q(),y(`page-change`,n.pageIndex)}))}function Y(e){let t=v.pages.findIndex(t=>t.pageIndex===e);S.value=t>=0?t+1:1}function Xe(e){let t=v.pages.findIndex(e=>e.pageIndex===C.value),n=Math.min(v.pages.length-1,Math.max(0,(t<0?0:t)+e)),r=v.pages[n];r&&J(r.pageIndex)}function Ze(e){let t=Number(e.target.value);if(!Number.isFinite(t)){Y(C.value);return}let n=Math.min(v.pages.length,Math.max(1,Math.round(t)))-1,r=v.pages[n];r?J(r.pageIndex):Y(C.value)}function X(e,t=`user`){t===`user`&&Te(),y(`zoom-change`,e)}function Qe(e){e.target.closest(`.gd-ant-contract-signing-location__placement`)||y(`select`,``)}function $e(){window.addEventListener(`pointermove`,nt,{passive:!1}),window.addEventListener(`pointerup`,Q),window.addEventListener(`pointercancel`,Q)}function Z(){window.removeEventListener(`pointermove`,nt),window.removeEventListener(`pointerup`,Q),window.removeEventListener(`pointercancel`,Q)}function et(e,t,n){e.stopPropagation(),y(`select`,t.id);let a=B(t.pageIndex);if(v.readonly||!a||!r.isContractSigningPageUsable(a)||e.button!==0)return;let o=G(e.clientX,e.clientY),s=i.contentPointToPagePoint(P.value,v.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:Ge(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},$e(),st();try{c.setPointerCapture(e.pointerId)}catch{}}function tt(e,t,n){et(e,t,n)}function nt(e){let t=D.value;!t||t.pointerId!==e.pointerId||(e.preventDefault(),O={clientX:e.clientX,clientY:e.clientY,pointerId:e.pointerId},rt(O))}function Q(e){D.value?.pointerId===e.pointerId&&(D.value=void 0,O=void 0,T.value=[],E.value=void 0,$(),Z())}function rt(e){let n=D.value;if(!n)return;if(n.mode===`resize`){it(n,e);return}let a=G(e.clientX,e.clientY),o=i.contentPointToPagePoint(P.value,v.pages,a.x,a.y);if(!o)return;let s=ot(o.pageIndex,n.origin.pageIndex);if(!s||!r.isContractSigningPageUsable(s))return;let c=H({...n.origin,pageIndex:s.pageIndex,signLeft:o.x-n.grabOffsetX,signTop:o.y-n.grabOffsetY},s),l=t.snapContractSigningPlacement(c,Ve(s.pageIndex),v.zoom),u=H(l.placement,s);T.value=l.guides,E.value=s.pageIndex,y(`update`,u)}function it(e,n){let i=B(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=G(n.clientX,n.clientY),c=i.width/Math.max(1,o.width),l=i.height/Math.max(1,o.height),u=(s.x-o.left)*c,d=(s.y-o.top)*l;if(e.origin.signType===`seal`){at(e,i,a,u,d);return}let f=t.getContractSigningRuleGeometry(e.origin),p=f.signLeft,m=f.signTop,h=f.signLeft+f.signWidth,g=f.signTop+f.signHeight;a.includes(`w`)&&(p=u),a.includes(`e`)&&(h=u),a.includes(`n`)&&(m=d),a.includes(`s`)&&(g=d),h-p<8&&(a.includes(`w`)?p=h-8:h=p+8),g-m<8&&(a.includes(`n`)?m=g-8:g=m+8),y(`update`,H({...e.origin,signLeft:p,signTop:m,signWidth:h-p,signHeight:g-m},i))}function at(e,n,r,i,a){let o=t.resizeContractSigningSealGeometry(e.origin,r,i,a,n,v.sealSizeLimit);y(`update`,H({...e.origin,...o},n))}function ot(e,t){let n=B(e);return n&&r.isContractSigningPageUsable(n)?n:B(t)}function st(){$();let e=()=>{let t=D.value,n=b.value;if(!t||!n||!O){k=0;return}let r=n.getBoundingClientRect(),a=i.getContractSigningAutoScrollDelta(O.clientY,r);a!==0&&(n.scrollTop+=a,K(),rt(O)),k=requestAnimationFrame(e)};k=requestAnimationFrame(e)}function $(){k&&=(cancelAnimationFrame(k),0)}function ct(e,n){let i=B(n.pageIndex);if(v.readonly||!i||!r.isContractSigningPageUsable(i))return;if(e.key===`Delete`||e.key===`Backspace`){e.preventDefault(),y(`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(),y(`update`,t.moveContractSigningPlacementByDisplayDelta(n,o,s,i,{width:i.width,height:i.height},{sealSizeLimit:v.sealSizeLimit}))}function lt(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 dt(e.type)?e.type:void 0}catch{return dt(t)?t:void 0}}function ut(e){if(v.readonly)return;let t=lt(e);if(!t)return;e.preventDefault();let n=G(e.clientX,e.clientY),r=i.contentPointToPagePoint(P.value,v.pages,n.x,n.y,1);r&&y(`add`,t,r.x,r.y,r.pageIndex)}function dt(e){return e===`seal`||e===`signature`||e===`date`}return ye({scrollToPage:J,scrollToPlacement:Ye,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)(_.file?.fileName||`合同页面`),1),L.value?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,p,`第 `+(0,s.toDisplayString)(L.value.displayPageNumber)+` 页 · `+(0,s.toDisplayString)(F.value?`HTML`:`PDF`)+` `+(0,s.toDisplayString)(L.value.width)+` × `+(0,s.toDisplayString)(L.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:S.value<=1,"aria-label":`上一页`,onClick:n[0]||=e=>Xe(-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:S.value,type:`number`,min:`1`,max:Math.max(1,_.pages.length),onChange:Ze,onKeydown:(0,s.withKeys)(Ze,[`enter`])},null,40,g),(0,s.createTextVNode)(` / `+(0,s.toDisplayString)(_.pages.length)+` 页 `,1)]),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:S.value>=_.pages.length,"aria-label":`下一页`,onClick:n[1]||=e=>Xe(1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.RightOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),(0,s.createElementVNode)(`div`,ee,[(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:_.zoom<=je.value,"aria-label":`缩小页面`,onClick:n[2]||=e=>X(_.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=>X(1)},(0,s.toDisplayString)(Math.round(_.zoom*100))+`%`,1),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:_.zoom>=Me.value,"aria-label":`放大页面`,onClick:n[4]||=e=>X(_.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:b,class:`gd-ant-contract-signing-location__canvas-scroll`,onScrollPassive:qe,onClick:Qe,onDragover:n[5]||=(0,s.withModifiers)(()=>{},[`prevent`]),onDrop:ut},[_.pages.length?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:1,ref_key:`stackRef`,ref:x,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)(Ae.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:`${t.logical.width}px`,height:`${t.logical.height}px`,transform:`scale(${_.zoom})`}),"aria-label":`${_.file?.fileName||`合同`}第 ${t.page.displayPageNumber} 页`},[F.value&&t.templatePage?((0,s.openBlock)(),(0,s.createBlock)(e.default,{key:0,page:t.templatePage},null,8,[`page`])):F.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,ne,[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,re)):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,ie,[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=>y(`retry`,t.layout.pageIndex),[`stop`])},`重试当前页`,8,ae)],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=>y(`retry`,t.layout.pageIndex),[`stop`])},`重新加载页面`,8,oe)],64))])),(0,s.createElementVNode)(`div`,se,[(0,s.createElementVNode)(`div`,ce,[R.value&&R.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(R.value)),"aria-hidden":`true`},[(0,s.createElementVNode)(`span`,le,[(0,s.createElementVNode)(`small`,null,`上 `+(0,s.toDisplayString)(V(t.page)?.top),1)]),(0,s.createElementVNode)(`span`,ue,[(0,s.createElementVNode)(`small`,null,`下 `+(0,s.toDisplayString)(V(t.page)?.bottom),1)]),(0,s.createElementVNode)(`span`,de,[(0,s.createElementVNode)(`small`,null,`左 `+(0,s.toDisplayString)(V(t.page)?.left),1)]),(0,s.createElementVNode)(`span`,fe,[(0,s.createElementVNode)(`small`,null,`右 `+(0,s.toDisplayString)(V(t.page)?.right),1)])],4)):(0,s.createCommentVNode)(``,!0),T.value.length&&E.value===t.layout.pageIndex?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,pe,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(T.value,(e,t)=>((0,s.openBlock)(),(0,s.createElementBlock)(`span`,{key:`${e.axis}-${t}`,class:(0,s.normalizeClass)(e.axis===`x`?`is-vertical`:`is-horizontal`),style:(0,s.normalizeStyle)(e.axis===`x`?{left:`${e.position}px`}:{top:`${e.position}px`})},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===_.selectedPlacementId}]]),style:(0,s.normalizeStyle)(He(e)),title:U(e).alt,"aria-label":U(e).alt,"aria-pressed":e.id===_.selectedPlacementId,onClick:(0,s.withModifiers)(t=>y(`select`,e.id),[`stop`]),onPointerdown:t=>et(t,e),onLostpointercapture:Q,onKeydown:t=>ct(t,e)},[(0,s.createElementVNode)(`span`,he,[(0,s.createElementVNode)(`img`,{class:`gd-ant-contract-signing-location__placement-visual`,src:U(e).dataUrl,alt:U(e).alt,draggable:`false`},null,8,ge)]),e.mustSign?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,_e,`必签`)):(0,s.createCommentVNode)(``,!0),((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(We(e)?xe:[],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=>tt(n,e,t),[`stop`])},null,42,ve))),128))],46,me))),128))])])],12,te)],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=_;
|
|
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;
|
package/dist/lib/components/contract-signing-location/src/ContractSigningTemplatePage.vue.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../pro-contract-template-designer/src/utils/page-decorations.cjs`),t=require(`../../pro-contract-template-designer/src/ContractTemplatePageDecorations.cjs`);let n=require(`vue`);var r=[`data-page-id`,`data-template-page-index`,`data-page-width`,`data-page-height`],i=[`innerHTML`],a={key:0,class:`gd-ant-contract-signing-location__template-warning`,role:`alert`},o=(0,n.defineComponent)({name:`ContractSigningTemplatePage`,__name:`ContractSigningTemplatePage`,props:{page:{}},setup(o){let s=o,c=(0,n.ref)(),l=(0,n.ref)(0),u=(0,n.computed)(()=>({"has-contract-header":e.hasEnabledPageHeader(s.page.pageDecorations,s.page.pageNumber),"has-contract-footer":e.hasEnabledPageFooter(s.page.pageDecorations,s.page.pageNumber)})),d=(0,n.computed)(()=>({width:`${s.page.displayWidth}px`,minHeight:`${s.page.displayHeight}px`,paddingTop:`${s.page.paddingTop}px`,paddingBottom:`${s.page.paddingBottom}px`})),f=(0,n.computed)(()=>l.value>1?`第 ${s.page.pageNumber} 页正文超出纸张 ${Math.round(l.value)}px,生成 PDF 时会分页,请回模板设计器调整后再指定位置。`:``),p=(0,n.computed)(()=>s.page.errors[0]||f.value),m=(0,n.computed)(()=>s.page.errors.length?`模板已安全降级展示`:`该页签署位置不可信`),h;function g(){let e=c.value;if(!e){l.value=0;return}l.value=Math.max(0,e.offsetHeight-s.page.displayHeight)}return(0,n.watch)(c,e=>{if(h?.disconnect(),h=void 0,!e||typeof ResizeObserver>`u`){g();return}h=new ResizeObserver(g),h.observe(e),g()},{immediate:!0}),(0,n.watch)(()=>[s.page.contentHtml,s.page.displayHeight],g),(0,n.onBeforeUnmount)(()=>{h?.disconnect(),h=void 0}),(e,s)=>((0,n.openBlock)(),(0,n.createElementBlock)(`section`,{ref_key:`pageEl`,ref:c,class:(0,n.normalizeClass)([`gd-contract-template-page gd-ant-contract-signing-location__template-page`,u.value]),"data-page-id":o.page.pageId,"data-template-page-index":o.page.pageIndex,"data-page-width":o.page.displayWidth,"data-page-height":o.page.displayHeight,style:(0,n.normalizeStyle)(d.value)},[(0,n.createVNode)(t.default,{decorations:o.page.pageDecorations,"page-number":o.page.pageNumber,"total-pages":o.page.totalPages,variables:o.page.decorationVariables,values:o.page.decorationValues},null,8,[`decorations`,`page-number`,`total-pages`,`variables`,`values`]),(0,n.createElementVNode)(`div`,{class:`gd-contract-template-page__content`,innerHTML:o.page.contentHtml},null,8,i),p.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,a,[(0,n.createElementVNode)(`strong`,null,(0,n.toDisplayString)(m.value),1),(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)(p.value),1)])):(0,n.createCommentVNode)(``,!0)],14,r))}});exports.default=o;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=[{value:`01`,label:`单位专用章`},{value:`02`,label:`财务专用章`},{value:`03`,label:`发票专用章`},{value:`04`,label:`合同专用章`},{value:`05`,label:`法定代表人名章`}],t=`application/x-gd-contract-signing-location`,n={seal:`印章`,signature:`签名`,date:`签署日期`},r=8,i=640,a=72/25.4,o={"01":{shape:`circle`,widthMm:40,heightMm:40,centerPattern:`star`,fontFamily:`SimSun, STSong, serif`},"02":{shape:`circle`,widthMm:40,heightMm:40,centerPattern:`star`,fontFamily:`SimSun, STSong, serif`},"03":{shape:`ellipse`,widthMm:40,heightMm:30,centerPattern:`none`,fontFamily:`FangSong, STFangsong, serif`},"04":{shape:`circle`,widthMm:40,heightMm:40,centerPattern:`star`,fontFamily:`SimSun, STSong, serif`},"05":{shape:`square`,widthMm:20,heightMm:20,centerPattern:`none`,fontFamily:`SimSun, STSong, serif`}};function s(e){return Math.round(e*a*100)/100}function
|
|
1
|
+
var e=[{value:`01`,label:`单位专用章`},{value:`02`,label:`财务专用章`},{value:`03`,label:`发票专用章`},{value:`04`,label:`合同专用章`},{value:`05`,label:`法定代表人名章`}],t=`application/x-gd-contract-signing-location`,n={seal:`印章`,signature:`签名`,date:`签署日期`},r=8,i=640,a=72/25.4,o={"01":{shape:`circle`,widthMm:40,heightMm:40,centerPattern:`star`,fontFamily:`SimSun, STSong, serif`},"02":{shape:`circle`,widthMm:40,heightMm:40,centerPattern:`star`,fontFamily:`SimSun, STSong, serif`},"03":{shape:`ellipse`,widthMm:40,heightMm:30,centerPattern:`none`,fontFamily:`FangSong, STFangsong, serif`},"04":{shape:`circle`,widthMm:40,heightMm:40,centerPattern:`star`,fontFamily:`SimSun, STSong, serif`},"05":{shape:`square`,widthMm:20,heightMm:20,centerPattern:`none`,fontFamily:`SimSun, STSong, serif`}},s=96/72;function c(e){return{width:l(e?.width),height:l(e?.height)}}function l(e){let t=Number(e);return!Number.isFinite(t)||t<=0?0:Math.round(t/s*100)/100}function u(e){return Math.round(e*a*100)/100}function d(e,t=96){return Math.round(e/25.4*t*100)/100}function f(t,n=e){let r=String(t??``).trim(),i=n.find(e=>String(e.value).trim()===r),a=e.find(e=>String(e.value).trim()===r),s=o[r]??o[`04`];if(!(!i&&!a))return{...a??{},...i??{},...s,...i?.shape?{shape:i.shape}:{},...i?.widthMm?{widthMm:i.widthMm}:{},...i?.heightMm?{heightMm:i.heightMm}:{},...i?.centerPattern?{centerPattern:i.centerPattern}:{},fontFamily:i?.fontFamily||s.fontFamily}}function p(t,n=e){let r=(Array.isArray(t)?t:t==null?[]:[t]).map(e=>f(e,n)).filter(e=>!!e);return r.length?{width:Math.max(...r.map(e=>u(Number(e.widthMm)))),height:Math.max(...r.map(e=>u(Number(e.heightMm))))}:{width:u(40),height:u(40)}}function m(t,n=e,r=96){let i=p(t,n);return{width:d(i.width/a,r),height:d(i.height/a,r)}}var h={default:{seal:{width:113.39,height:113.39},signature:{width:142,height:57},date:{width:170,height:57}}},g=8,_=48,v=3,y=150;exports.CONTRACT_SIGNING_AUTO_SCROLL_EDGE_PX=_,exports.CONTRACT_SIGNING_CSS_PX_PER_POINT=s,exports.CONTRACT_SIGNING_MIN_PLACEMENT_SIZE=g,exports.CONTRACT_SIGNING_PLACEMENT_LABELS=n,exports.CONTRACT_SIGNING_PLACEMENT_MIME=t,exports.CONTRACT_SIGNING_PREVIEW_CONCURRENCY=v,exports.CONTRACT_SIGNING_PX_PER_MM=a,exports.CONTRACT_SIGNING_SEAL_MAX_SIZE=i,exports.CONTRACT_SIGNING_SEAL_MIN_SIZE=r,exports.CONTRACT_SIGNING_SEAL_TYPE_OPTIONS=e,exports.CONTRACT_SIGNING_SEAL_TYPE_PRESETS=o,exports.CONTRACT_SIGNING_SIZE_PROFILES=h,exports.CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS=y,exports.millimetersToContractSigningCssPixels=d,exports.millimetersToContractSigningPixels=u,exports.resolveContractSigningSealSizeInCssPixels=m,exports.resolveContractSigningSealSizeInPixels=p,exports.resolveContractSigningSealTypeOption=f,exports.toContractSigningRulePageSize=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./constants.cjs`);var t=1,n=4;function r(e,t,n,r,i,a){let o=x(e.signLeft,0),s=x(e.signTop,0),c=Math.max(1,S(e.signWidth,1)),l=Math.max(1,S(e.signHeight,1)),d=o+c,f=s+l,p=l/c,m=Math.max(.01,p),h;if(t.length===2){let e=t.includes(`e`)?o:d,i=t.includes(`s`)?s:f;h=Math.max(Math.abs(n-e),Math.abs(r-i)/m)}else h=t===`e`?n-o:t===`w`?d-n:t===`s`?(r-s)/m:(f-r)/m;let g=Math.max(1,S(i.width,1)),_=Math.max(1,S(i.height,1)),v=t.includes(`w`)?d:g-o,y=t.includes(`n`)?f:_-s,b=Math.min(v,y/m),C=u(a.min,a.max),w=Math.min(C.max,Math.max(1,b)),T=Math.min(C.min,w);h=Math.min(Math.max(h,T),w);let E=h*p;return{signLeft:t.includes(`w`)?d-h:o,signTop:t.includes(`n`)?f-E:s,signWidth:h,signHeight:E}}function i(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:1}function a(e,t=1){let n=Number(e);if(!Number.isFinite(n)||n<=0)return 0;let r=i(t);return Math.floor(n/r)}function o(e){return{signLeft:Math.round(x(e.signLeft,0)),signTop:Math.round(x(e.signTop,0)),signWidth:Math.round(x(e.signWidth,0)),signHeight:Math.round(x(e.signHeight,0))}}function s(t){let n=typeof t==`string`?e.CONTRACT_SIGNING_SIZE_PROFILES[t]??e.CONTRACT_SIGNING_SIZE_PROFILES.default:t??e.CONTRACT_SIGNING_SIZE_PROFILES.default;return{seal:b(n.seal,e.CONTRACT_SIGNING_SIZE_PROFILES.default.seal),signature:b(n.signature,e.CONTRACT_SIGNING_SIZE_PROFILES.default.signature),date:b(n.date,e.CONTRACT_SIGNING_SIZE_PROFILES.default.date)}}function c(e,t){return{...s(t)[e]}}function l(e){let t=e.page.width/Math.max(1,e.canvasRect.width),n=e.page.height/Math.max(1,e.canvasRect.height),r=x(e.originOffset,0);return{x:w((e.clientX-e.canvasRect.left)*t-r),y:w((e.clientY-e.canvasRect.top)*n-r)}}function u(e,t){let n=Number(e),r=Number(t),i=Number.isFinite(n)&&n>0?n:8,a=Number.isFinite(r)&&r>0?r:640;if(i>a){let e=i;i=a,a=e}return{min:i,max:a}}function d(e,t,n,r,i,a){return f({...e,signLeft:e.signLeft+t*r.width/Math.max(1,i.width),signTop:e.signTop+n*r.height/Math.max(1,i.height)},r,a)}function f(e,t,n){let r=S(t.width,1),i=S(t.height,1),a=n?.minSize??8,{width:o,height:s}=e.signType===`seal`?y(e,r,i,n?.sealSizeLimit,n?.sealTypes??e.sealType,n?.sealTypeOptions):{width:C(S(e.signWidth,a),Math.min(a,r),r),height:C(S(e.signHeight,a),Math.min(a,i),i)},c=C(x(e.signLeft,0),0,Math.max(0,r-o)),l=C(x(e.signTop,0),0,Math.max(0,i-s)),u={...e,signLeft:w(c),signTop:w(l),signWidth:w(o),signHeight:w(s),mustSign:e.mustSign!==!1};return delete u.sealType,e.signType===`seal`&&Array.isArray(e.sealType)&&e.sealType.length&&(u.sealType=Array.from(new Set(e.sealType.map(String).map(e=>e.trim()).filter(Boolean)))),u}function p(e,t){let n=o(e);return{left:n.signLeft,top:n.signTop,right:w(Math.max(0,t.width-n.signLeft-n.signWidth)),bottom:w(Math.max(0,t.height-n.signTop-n.signHeight))}}function m(e,t=.5,n=1.5){return w(C(x(e,1),t,n))}function h(e,t,n=!1){return!e||n?!1:e.signType===`seal`?!0:!!t}function g(e,t,n,r=4){let
|
|
1
|
+
const e=require(`./constants.cjs`);var t=1,n=4;function r(e,t,n,r,i,a){let o=x(e.signLeft,0),s=x(e.signTop,0),c=Math.max(1,S(e.signWidth,1)),l=Math.max(1,S(e.signHeight,1)),d=o+c,f=s+l,p=l/c,m=Math.max(.01,p),h;if(t.length===2){let e=t.includes(`e`)?o:d,i=t.includes(`s`)?s:f;h=Math.max(Math.abs(n-e),Math.abs(r-i)/m)}else h=t===`e`?n-o:t===`w`?d-n:t===`s`?(r-s)/m:(f-r)/m;let g=Math.max(1,S(i.width,1)),_=Math.max(1,S(i.height,1)),v=t.includes(`w`)?d:g-o,y=t.includes(`n`)?f:_-s,b=Math.min(v,y/m),C=u(a.min,a.max),w=Math.min(C.max,Math.max(1,b)),T=Math.min(C.min,w);h=Math.min(Math.max(h,T),w);let E=h*p;return{signLeft:t.includes(`w`)?d-h:o,signTop:t.includes(`n`)?f-E:s,signWidth:h,signHeight:E}}function i(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:1}function a(e,t=1){let n=Number(e);if(!Number.isFinite(n)||n<=0)return 0;let r=i(t);return Math.floor(n/r)}function o(e){return{signLeft:Math.round(x(e.signLeft,0)),signTop:Math.round(x(e.signTop,0)),signWidth:Math.round(x(e.signWidth,0)),signHeight:Math.round(x(e.signHeight,0))}}function s(t){let n=typeof t==`string`?e.CONTRACT_SIGNING_SIZE_PROFILES[t]??e.CONTRACT_SIGNING_SIZE_PROFILES.default:t??e.CONTRACT_SIGNING_SIZE_PROFILES.default;return{seal:b(n.seal,e.CONTRACT_SIGNING_SIZE_PROFILES.default.seal),signature:b(n.signature,e.CONTRACT_SIGNING_SIZE_PROFILES.default.signature),date:b(n.date,e.CONTRACT_SIGNING_SIZE_PROFILES.default.date)}}function c(e,t){return{...s(t)[e]}}function l(e){let t=e.page.width/Math.max(1,e.canvasRect.width),n=e.page.height/Math.max(1,e.canvasRect.height),r=x(e.originOffset,0);return{x:w((e.clientX-e.canvasRect.left)*t-r),y:w((e.clientY-e.canvasRect.top)*n-r)}}function u(e,t){let n=Number(e),r=Number(t),i=Number.isFinite(n)&&n>0?n:8,a=Number.isFinite(r)&&r>0?r:640;if(i>a){let e=i;i=a,a=e}return{min:i,max:a}}function d(e,t,n,r,i,a){return f({...e,signLeft:e.signLeft+t*r.width/Math.max(1,i.width),signTop:e.signTop+n*r.height/Math.max(1,i.height)},r,a)}function f(e,t,n){let r=S(t.width,1),i=S(t.height,1),a=n?.minSize??8,{width:o,height:s}=e.signType===`seal`?y(e,r,i,n?.sealSizeLimit,n?.sealTypes??e.sealType,n?.sealTypeOptions):{width:C(S(e.signWidth,a),Math.min(a,r),r),height:C(S(e.signHeight,a),Math.min(a,i),i)},c=C(x(e.signLeft,0),0,Math.max(0,r-o)),l=C(x(e.signTop,0),0,Math.max(0,i-s)),u={...e,signLeft:w(c),signTop:w(l),signWidth:w(o),signHeight:w(s),mustSign:e.mustSign!==!1};return delete u.sealType,e.signType===`seal`&&Array.isArray(e.sealType)&&e.sealType.length&&(u.sealType=Array.from(new Set(e.sealType.map(String).map(e=>e.trim()).filter(Boolean)))),u}function p(e,t){let n=o(e);return{left:n.signLeft,top:n.signTop,right:w(Math.max(0,t.width-n.signLeft-n.signWidth)),bottom:w(Math.max(0,t.height-n.signTop-n.signHeight))}}function m(e,t=.5,n=1.5){return w(C(x(e,1),t,n))}function h(e,t,n=!1){return!e||n?!1:e.signType===`seal`?!0:!!t}function g(e,t,n,r=4,i){let a=o(e),s=Math.max(0,x(r,4)),c=Math.max(.01,x(n,1)),l=Math.max(1,x(i?.width,1)),u=Math.max(1,x(i?.height,1)),d=Math.max(1,x(i?.displayWidth,l)),f=Math.max(1,x(i?.displayHeight,u)),p=s/c*l/d,m=s/c*u/f,h=a.signWidth,g=a.signHeight,y=v([{value:a.signLeft,toOrigin:e=>e},{value:a.signLeft+h,toOrigin:e=>e-h},{value:a.signLeft+h/2,toOrigin:e=>e-h/2}],_(t,e,`x`),p),b=v([{value:a.signTop,toOrigin:e=>e},{value:a.signTop+g,toOrigin:e=>e-g},{value:a.signTop+g/2,toOrigin:e=>e-g/2}],_(t,e,`y`),m),S={...e,signLeft:w(y?.origin??a.signLeft),signTop:w(b?.origin??a.signTop)},C=[];return y&&C.push({axis:`x`,position:w(y.guide)}),b&&C.push({axis:`y`,position:w(b.guide)}),{placement:S,guides:C}}function _(e,t,n){let r=[];return e.forEach(e=>{if(e.id===t.id||e.pageIndex!==t.pageIndex)return;let i=o(e);if(n===`x`){r.push(i.signLeft,i.signLeft+i.signWidth,i.signLeft+i.signWidth/2);return}r.push(i.signTop,i.signTop+i.signHeight,i.signTop+i.signHeight/2)}),r}function v(e,t,n){let r;return e.forEach(e=>{t.forEach(t=>{let i=Math.abs(e.value-t);i>n||(!r||i<r.distance)&&(r={origin:e.toOrigin(t),guide:t,distance:i})})}),r}function y(t,n,r,i,a,o){let s=u(i?.min,i?.max),c=e.resolveContractSigningSealSizeInPixels(a,o),l=Number(t.signWidth),d=Number(t.signHeight),f=Number.isFinite(l)&&l>0,p=Number.isFinite(d)&&d>0,m=C(f?l:p?d:c.width,Math.min(s.min,n),Math.min(s.max,n));return f&&p?{width:m,height:C(d,Math.min(s.min,r),Math.min(s.max,r))}:{width:m,height:C(m*(c.height/Math.max(1,c.width)),Math.min(s.min,r),Math.min(s.max,r))}}function b(e,t){return{width:S(e?.width,t.width),height:S(e?.height,t.height)}}function x(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function S(e,t){return Math.max(1,x(e,t))}function C(e,t,n){return Math.min(Math.max(e,t),Math.max(t,n))}function w(e){return Math.round(e*100)/100}exports.CONTRACT_SIGNING_RENDER_ORIGIN_OFFSET=t,exports.CONTRACT_SIGNING_SNAP_THRESHOLD_PX=n,exports.canResizeContractSigningPlacement=h,exports.clampContractSigningPlacement=f,exports.clampContractSigningZoom=m,exports.displayPointToContractPoint=l,exports.getContractSigningPlacementDistances=p,exports.getContractSigningPlacementSize=c,exports.getContractSigningRuleGeometry=o,exports.moveContractSigningPlacementByDisplayDelta=d,exports.normalizeContractSigningCoordinateDimension=a,exports.normalizeContractSigningCoordinateScale=i,exports.resizeContractSigningSealGeometry=r,exports.resolveContractSigningSealSizeLimit=u,exports.resolveContractSigningSizeProfile=s,exports.snapContractSigningPlacement=g;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./constants.cjs`),t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`);var r=0;function i(e=``){return{contractId:e,files:[],placements:[]}}function a(e,n){let r=v(e?.files),i=T(r);return{contractId:String(e?.contractId??``).trim(),files:r,placements:Array.isArray(e?.placements)?e.placements.map(C).map(e=>{let r=i.get(E(e.fileId,e.pageIndex));return r?t.clampContractSigningPlacement(e,r,{sealSizeLimit:n?.sealSizeLimit,sealTypes:e.sealType,sealTypeOptions:n?.sealTypeOptions}):e}):[]}}function o(e){return{contractId:e.contractId,files:e.files.map(e=>({...e,pages:e.pages.map(e=>({...e})),...e.source?.type===`template`?{source:{type:`template`,template:S(e.source.template),...e.source.values?{values:{...e.source.values}}:{}}}:e.source?{source:{type:`preview`}}:{}})),placements:e.placements.map(e=>({...e,sealType:e.sealType?[...e.sealType]:void 0}))}}function s(e,r=1){let i=a(e),o=t.normalizeContractSigningCoordinateScale(r);if(o===1)return i;let s=e=>t.normalizeContractSigningCoordinateDimension(e,o);return{...i,files:i.files.map(e=>n.isContractSigningTemplateFile(e)?e:{...e,pages:e.pages.map(e=>({...e,width:s(e.width),height:s(e.height)}))}),placements:i.placements.map(e=>{let t=i.files.find(t=>t.fileId===e.fileId);return n.isContractSigningTemplateFile(t)?e:{...e,signLeft:s(e.signLeft),signTop:s(e.signTop),signWidth:s(e.signWidth),signHeight:s(e.signHeight)}})}}function c(e,t,n){return e.files.find(e=>e.fileId===t)?.pages.find(e=>e.pageIndex===n)}function l(e){if(e?.length)return e.reduce((e,t)=>t.pageIndex<e.pageIndex?t:e)}function u(n,r,i,a){let o={...n,...r,id:n.id,fileId:n.fileId,pageIndex:r.pageIndex===void 0?n.pageIndex:r.pageIndex};if(n.signType===`seal`){if(o.signType=`seal`,r.sealType!==void 0&&Array.isArray(r.sealType)){let t=e.resolveContractSigningSealSizeInPixels(r.sealType,a?.sealTypeOptions);o.signWidth=t.width,o.signHeight=t.height}if(r.sealType===void 0){let e=Number(r.signWidth),t=Number(r.signHeight);if(Number.isFinite(e)&&e>0&&Number.isFinite(t)&&t>0)o.signWidth=e,o.signHeight=t;else{let r=Number.isFinite(e)&&e>0?e:Number.isFinite(t)&&t>0?t:n.signWidth;o.signWidth=r,o.signHeight=r}}}return i?t.clampContractSigningPlacement(o,i,{sealSizeLimit:a?.sealSizeLimit,sealTypes:o.sealType,sealTypeOptions:a?.sealTypeOptions}):o}function d(e){return!!(e&&j(e.width)&&j(e.height))}function f(e,n,r=1,i=!1){if(i||d(e)||!n.width||!n.height)return;let a=t.normalizeContractSigningCoordinateDimension(n.width,r),o=t.normalizeContractSigningCoordinateDimension(n.height,r);return a>0&&o>0?{width:a,height:o}:void 0}function p(n,i,a,o={}){let s=n===`seal`?e.resolveContractSigningSealSizeInPixels(o.sealType??[`04`],o.sealTypeOptions):t.getContractSigningPlacementSize(n,o.sizeProfile);return r+=1,t.clampContractSigningPlacement({id:`contract-signing-placement-${Date.now().toString(36)}-${r.toString(36)}`,fileId:i,pageIndex:a.pageIndex,signType:n,signLeft:o.signLeft??(a.width-s.width)/2,signTop:o.signTop??(a.height-s.height)/2,signWidth:s.width,signHeight:s.height,mustSign:!0,...n===`seal`?{sealType:o.sealType===void 0?[`04`]:w(o.sealType)}:{}},a,{sealSizeLimit:o.sealSizeLimit,sealTypes:o.sealType,sealTypeOptions:o.sealTypeOptions})}function m(t,r={}){let i=[],a=r.allowedSealTypes?new Set(Array.from(r.allowedSealTypes,e=>String(e).trim()).filter(Boolean)):void 0;t.files.length||i.push({code:`CONTRACT_FILES_MISSING`,message:`合同没有可用文件`}),t.placements.length||i.push({code:`SIGNING_PLACEMENTS_MISSING`,message:`请至少添加一个签署位置`});let o=new Set,s=new Set;return t.files.forEach(e=>{e.fileId?o.has(e.fileId)&&i.push({code:`CONTRACT_FILE_ID_DUPLICATE`,message:`合同文件 ID ${e.fileId} 重复`,fileId:e.fileId}):i.push({code:`CONTRACT_FILE_ID_MISSING`,message:`合同文件缺少真实 fileId`}),o.add(e.fileId),e.pages.length||i.push({code:`CONTRACT_PAGES_MISSING`,message:`文件 ${e.fileName||e.fileId} 没有页面元数据`,fileId:e.fileId}),i.push(...n.validateContractSigningTemplateFile(e));let t=new Set;e.pages.forEach(n=>{!Number.isInteger(n.pageIndex)||n.pageIndex<0?i.push({code:`CONTRACT_PAGE_INDEX_INVALID`,message:`页面索引必须是非负整数`,fileId:e.fileId,pageIndex:n.pageIndex}):t.has(n.pageIndex)&&i.push({code:`CONTRACT_PAGE_INDEX_DUPLICATE`,message:`文件 ${e.fileName||e.fileId} 的页面索引 ${n.pageIndex} 重复`,fileId:e.fileId,pageIndex:n.pageIndex}),t.add(n.pageIndex),d(n)||i.push({code:`CONTRACT_PAGE_SIZE_INVALID`,message:`页面缺少有效的原始宽高`,fileId:e.fileId,pageIndex:n.pageIndex})})}),t.placements.forEach(n=>{let r=e.CONTRACT_SIGNING_PLACEMENT_LABELS[n.signType]??`签署位置`;n.id?s.has(n.id)&&i.push({code:`SIGNING_PLACEMENT_ID_DUPLICATE`,message:`签署位置 ID ${n.id} 重复`,placementId:n.id}):i.push({code:`SIGNING_PLACEMENT_ID_MISSING`,message:`${r}缺少唯一 ID`}),s.add(n.id);let o=c(t,n.fileId,n.pageIndex);if(!o){i.push({code:`SIGNING_PLACEMENT_PAGE_MISSING`,message:`${r}引用了不存在的文件或页面`,placementId:n.id,fileId:n.fileId,pageIndex:n.pageIndex});return}[n.signLeft,n.signTop,n.signWidth,n.signHeight].some(e=>!Number.isFinite(e))?i.push({code:`SIGNING_PLACEMENT_GEOMETRY_INVALID`,message:`${r}坐标和尺寸必须是有限数字`,placementId:n.id}):n.signWidth<=0||n.signHeight<=0?i.push({code:`SIGNING_PLACEMENT_SIZE_INVALID`,message:`${r}宽高必须大于 0`,placementId:n.id}):(n.signLeft<0||n.signTop<0||n.signLeft+n.signWidth>o.width||n.signTop+n.signHeight>o.height)&&i.push({code:`SIGNING_PLACEMENT_OUT_OF_BOUNDS`,message:`${r}不能超出所属页面`,placementId:n.id,fileId:n.fileId,pageIndex:n.pageIndex}),n.signType!==`seal`&&n.sealType!==void 0&&i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_INVALID`,message:`只有印章位置可以配置印章类型`,placementId:n.id}),n.signType===`seal`&&(!Array.isArray(n.sealType)||!n.sealType.length||n.sealType.some(e=>!String(e).trim()))?i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_INVALID`,message:`印章位置必须至少选择一种有效印章类型`,placementId:n.id}):n.signType===`seal`&&a&&n.sealType?.some(e=>!a.has(String(e).trim()))&&i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_UNSUPPORTED`,message:`印章位置包含未配置的印章类型`,placementId:n.id})}),i}function h(e,n={}){let r=m(e,n);if(r.length)throw new _(r);return e.placements.map(e=>{let n=t.getContractSigningRuleGeometry(e);return{mustSign:e.mustSign,location:{signType:e.signType,signTop:n.signTop,signLeft:n.signLeft,signWidth:n.signWidth,signHeight:n.signHeight,pageList:{[e.fileId]:[e.pageIndex]},...e.signType===`seal`&&e.sealType?.length?{sealType:[...e.sealType]}:{}}}})}function g(e,t={}){let n=o(e);return{...n,locationRules:h(n,t)}}var _=class extends Error{constructor(e){super(e[0]?.message||`指定签署位置数据不完整`),this.code=`CONTRACT_SIGNING_LOCATION_INVALID`,this.name=`ContractSigningLocationBuildError`,this.errors=e}};function v(e){return Array.isArray(e)?e.map((e,t)=>{let n=e&&typeof e==`object`?e:{},r=String(n.fileId??``).trim(),i=y(n.source),a=i?.type===`template`?b(i.template,i.values):Array.isArray(n.pages)?n.pages.map((e,t)=>x(e,t)):[];return{fileId:r,fileName:String(n.fileName??`合同文件 ${t+1}`),pages:a,...i?{source:i}:{}}}):[]}function y(e){if(!e||typeof e!=`object`)return;let t=e;return t.type===`template`?{type:`template`,template:S(t.template),...t.values&&typeof t.values==`object`&&!Array.isArray(t.values)?{values:{...t.values}}:{}}:t.type===`preview`?{type:`preview`}:void 0}function b(e,t){
|
|
1
|
+
const e=require(`./constants.cjs`),t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`);var r=0;function i(e=``){return{contractId:e,files:[],placements:[]}}function a(e,n){let r=v(e?.files),i=T(r);return{contractId:String(e?.contractId??``).trim(),files:r,placements:Array.isArray(e?.placements)?e.placements.map(C).map(e=>{let r=i.get(E(e.fileId,e.pageIndex));return r?t.clampContractSigningPlacement(e,r,{sealSizeLimit:n?.sealSizeLimit,sealTypes:e.sealType,sealTypeOptions:n?.sealTypeOptions}):e}):[]}}function o(e){return{contractId:e.contractId,files:e.files.map(e=>({...e,pages:e.pages.map(e=>({...e})),...e.source?.type===`template`?{source:{type:`template`,template:S(e.source.template),...e.source.values?{values:{...e.source.values}}:{}}}:e.source?{source:{type:`preview`}}:{}})),placements:e.placements.map(e=>({...e,sealType:e.sealType?[...e.sealType]:void 0}))}}function s(e,r=1){let i=a(e),o=t.normalizeContractSigningCoordinateScale(r);if(o===1)return i;let s=e=>t.normalizeContractSigningCoordinateDimension(e,o);return{...i,files:i.files.map(e=>n.isContractSigningTemplateFile(e)?e:{...e,pages:e.pages.map(e=>({...e,width:s(e.width),height:s(e.height)}))}),placements:i.placements.map(e=>{let t=i.files.find(t=>t.fileId===e.fileId);return n.isContractSigningTemplateFile(t)?e:{...e,signLeft:s(e.signLeft),signTop:s(e.signTop),signWidth:s(e.signWidth),signHeight:s(e.signHeight)}})}}function c(e,t,n){return e.files.find(e=>e.fileId===t)?.pages.find(e=>e.pageIndex===n)}function l(e){if(e?.length)return e.reduce((e,t)=>t.pageIndex<e.pageIndex?t:e)}function u(n,r,i,a){let o={...n,...r,id:n.id,fileId:n.fileId,pageIndex:r.pageIndex===void 0?n.pageIndex:r.pageIndex};if(n.signType===`seal`){if(o.signType=`seal`,r.sealType!==void 0&&Array.isArray(r.sealType)){let t=e.resolveContractSigningSealSizeInPixels(r.sealType,a?.sealTypeOptions);o.signWidth=t.width,o.signHeight=t.height}if(r.sealType===void 0){let e=Number(r.signWidth),t=Number(r.signHeight);if(Number.isFinite(e)&&e>0&&Number.isFinite(t)&&t>0)o.signWidth=e,o.signHeight=t;else{let r=Number.isFinite(e)&&e>0?e:Number.isFinite(t)&&t>0?t:n.signWidth;o.signWidth=r,o.signHeight=r}}}return i?t.clampContractSigningPlacement(o,i,{sealSizeLimit:a?.sealSizeLimit,sealTypes:o.sealType,sealTypeOptions:a?.sealTypeOptions}):o}function d(e){return!!(e&&j(e.width)&&j(e.height))}function f(e,n,r=1,i=!1){if(i||d(e)||!n.width||!n.height)return;let a=t.normalizeContractSigningCoordinateDimension(n.width,r),o=t.normalizeContractSigningCoordinateDimension(n.height,r);return a>0&&o>0?{width:a,height:o}:void 0}function p(n,i,a,o={}){let s=n===`seal`?e.resolveContractSigningSealSizeInPixels(o.sealType??[`04`],o.sealTypeOptions):t.getContractSigningPlacementSize(n,o.sizeProfile);return r+=1,t.clampContractSigningPlacement({id:`contract-signing-placement-${Date.now().toString(36)}-${r.toString(36)}`,fileId:i,pageIndex:a.pageIndex,signType:n,signLeft:o.signLeft??(a.width-s.width)/2,signTop:o.signTop??(a.height-s.height)/2,signWidth:s.width,signHeight:s.height,mustSign:!0,...n===`seal`?{sealType:o.sealType===void 0?[`04`]:w(o.sealType)}:{}},a,{sealSizeLimit:o.sealSizeLimit,sealTypes:o.sealType,sealTypeOptions:o.sealTypeOptions})}function m(t,r={}){let i=[],a=r.allowedSealTypes?new Set(Array.from(r.allowedSealTypes,e=>String(e).trim()).filter(Boolean)):void 0;t.files.length||i.push({code:`CONTRACT_FILES_MISSING`,message:`合同没有可用文件`}),t.placements.length||i.push({code:`SIGNING_PLACEMENTS_MISSING`,message:`请至少添加一个签署位置`});let o=new Set,s=new Set;return t.files.forEach(e=>{e.fileId?o.has(e.fileId)&&i.push({code:`CONTRACT_FILE_ID_DUPLICATE`,message:`合同文件 ID ${e.fileId} 重复`,fileId:e.fileId}):i.push({code:`CONTRACT_FILE_ID_MISSING`,message:`合同文件缺少真实 fileId`}),o.add(e.fileId),e.pages.length||i.push({code:`CONTRACT_PAGES_MISSING`,message:`文件 ${e.fileName||e.fileId} 没有页面元数据`,fileId:e.fileId}),i.push(...n.validateContractSigningTemplateFile(e));let t=new Set;e.pages.forEach(n=>{!Number.isInteger(n.pageIndex)||n.pageIndex<0?i.push({code:`CONTRACT_PAGE_INDEX_INVALID`,message:`页面索引必须是非负整数`,fileId:e.fileId,pageIndex:n.pageIndex}):t.has(n.pageIndex)&&i.push({code:`CONTRACT_PAGE_INDEX_DUPLICATE`,message:`文件 ${e.fileName||e.fileId} 的页面索引 ${n.pageIndex} 重复`,fileId:e.fileId,pageIndex:n.pageIndex}),t.add(n.pageIndex),d(n)||i.push({code:`CONTRACT_PAGE_SIZE_INVALID`,message:`页面缺少有效的原始宽高`,fileId:e.fileId,pageIndex:n.pageIndex})})}),t.placements.forEach(n=>{let r=e.CONTRACT_SIGNING_PLACEMENT_LABELS[n.signType]??`签署位置`;n.id?s.has(n.id)&&i.push({code:`SIGNING_PLACEMENT_ID_DUPLICATE`,message:`签署位置 ID ${n.id} 重复`,placementId:n.id}):i.push({code:`SIGNING_PLACEMENT_ID_MISSING`,message:`${r}缺少唯一 ID`}),s.add(n.id);let o=c(t,n.fileId,n.pageIndex);if(!o){i.push({code:`SIGNING_PLACEMENT_PAGE_MISSING`,message:`${r}引用了不存在的文件或页面`,placementId:n.id,fileId:n.fileId,pageIndex:n.pageIndex});return}[n.signLeft,n.signTop,n.signWidth,n.signHeight].some(e=>!Number.isFinite(e))?i.push({code:`SIGNING_PLACEMENT_GEOMETRY_INVALID`,message:`${r}坐标和尺寸必须是有限数字`,placementId:n.id}):n.signWidth<=0||n.signHeight<=0?i.push({code:`SIGNING_PLACEMENT_SIZE_INVALID`,message:`${r}宽高必须大于 0`,placementId:n.id}):(n.signLeft<0||n.signTop<0||n.signLeft+n.signWidth>o.width||n.signTop+n.signHeight>o.height)&&i.push({code:`SIGNING_PLACEMENT_OUT_OF_BOUNDS`,message:`${r}不能超出所属页面`,placementId:n.id,fileId:n.fileId,pageIndex:n.pageIndex}),n.signType!==`seal`&&n.sealType!==void 0&&i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_INVALID`,message:`只有印章位置可以配置印章类型`,placementId:n.id}),n.signType===`seal`&&(!Array.isArray(n.sealType)||!n.sealType.length||n.sealType.some(e=>!String(e).trim()))?i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_INVALID`,message:`印章位置必须至少选择一种有效印章类型`,placementId:n.id}):n.signType===`seal`&&a&&n.sealType?.some(e=>!a.has(String(e).trim()))&&i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_UNSUPPORTED`,message:`印章位置包含未配置的印章类型`,placementId:n.id})}),i}function h(e,n={}){let r=m(e,n);if(r.length)throw new _(r);return e.placements.map(e=>{let n=t.getContractSigningRuleGeometry(e);return{mustSign:e.mustSign,location:{signType:e.signType,signTop:n.signTop,signLeft:n.signLeft,signWidth:n.signWidth,signHeight:n.signHeight,pageList:{[e.fileId]:[e.pageIndex]},...e.signType===`seal`&&e.sealType?.length?{sealType:[...e.sealType]}:{}}}})}function g(e,t={}){let n=o(e);return{...n,locationRules:h(n,t)}}var _=class extends Error{constructor(e){super(e[0]?.message||`指定签署位置数据不完整`),this.code=`CONTRACT_SIGNING_LOCATION_INVALID`,this.name=`ContractSigningLocationBuildError`,this.errors=e}};function v(e){return Array.isArray(e)?e.map((e,t)=>{let n=e&&typeof e==`object`?e:{},r=String(n.fileId??``).trim(),i=y(n.source),a=i?.type===`template`?b(i.template,i.values,n.pages):Array.isArray(n.pages)?n.pages.map((e,t)=>x(e,t)):[];return{fileId:r,fileName:String(n.fileName??`合同文件 ${t+1}`),pages:a,...i?{source:i}:{}}}):[]}function y(e){if(!e||typeof e!=`object`)return;let t=e;return t.type===`template`?{type:`template`,template:S(t.template),...t.values&&typeof t.values==`object`&&!Array.isArray(t.values)?{values:{...t.values}}:{}}:t.type===`preview`?{type:`preview`}:void 0}function b(e,t,r){let i=n.buildContractSigningTemplateRenderPages({type:`template`,template:e,...t?{values:t}:{}}),a=Array.isArray(r)?r:[];return i.map(e=>{let t=a.find(t=>k((t&&typeof t==`object`?t:{}).pageIndex,-1)===e.pageIndex),n=t&&typeof t==`object`?t:{},r=O(e.displayWidth||e.width,0),i=O(e.displayHeight||e.height,0);return{pageIndex:e.pageIndex,displayPageNumber:e.pageIndex+1,pageId:e.pageId,width:O(n.width,e.width),height:O(n.height,e.height),displayWidth:r,displayHeight:i,...n.previewUrl?{previewUrl:String(n.previewUrl)}:{},...n.thumbnailUrl?{thumbnailUrl:String(n.thumbnailUrl)}:{}}})}function x(e,t){let n=e&&typeof e==`object`?e:{},r=k(n.pageIndex,t);return{pageIndex:r,displayPageNumber:A(n.displayPageNumber,r+1),width:O(n.width,0),height:O(n.height,0),...O(n.displayWidth,0)>0?{displayWidth:O(n.displayWidth,0)}:{},...O(n.displayHeight,0)>0?{displayHeight:O(n.displayHeight,0)}:{},...n.pageId?{pageId:String(n.pageId)}:{},...n.previewUrl?{previewUrl:String(n.previewUrl)}:{},...n.thumbnailUrl?{thumbnailUrl:String(n.thumbnailUrl)}:{}}}function S(e){if(e==null)return e;try{return JSON.parse(JSON.stringify(e))}catch{return e}}function C(e){let t=e?.signType===`seal`||e?.signType===`signature`||e?.signType===`date`?e.signType:`signature`;return{id:String(e?.id??``),fileId:String(e?.fileId??``).trim(),pageIndex:k(e?.pageIndex,0),signType:t,signLeft:D(e?.signLeft,0),signTop:D(e?.signTop,0),signWidth:D(e?.signWidth,0),signHeight:D(e?.signHeight,0),mustSign:e?.mustSign!==!1,...t===`seal`&&Array.isArray(e?.sealType)?{sealType:e.sealType.map(String)}:{}}}function w(e){return Array.isArray(e)?Array.from(new Set(e.map(String).map(e=>e.trim()).filter(Boolean))):[]}function T(e){return new Map(e.flatMap(e=>e.pages.map(t=>[E(e.fileId,t.pageIndex),t])))}function E(e,t){return`${e}\u0000${t}`}function D(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function O(e,t){return Math.max(0,D(e,t))}function k(e,t){return Math.max(0,Math.round(D(e,t)))}function A(e,t){return Math.max(1,Math.round(D(e,t)))}function j(e){return typeof e==`number`&&Number.isFinite(e)&&e>0}exports.ContractSigningLocationBuildError=_,exports.buildContractSigningLocationOutput=g,exports.buildContractSigningLocationRules=h,exports.cloneContractSigningLocationValue=o,exports.createContractSigningLocationValue=i,exports.createContractSigningPlacement=p,exports.findContractSigningPage=c,exports.getContractSigningHomePage=l,exports.isContractSigningPageUsable=d,exports.normalizeContractSigningLocationValue=a,exports.normalizeContractSigningProviderValue=s,exports.patchContractSigningPlacement=u,exports.resolveContractSigningPreviewPageSize=f,exports.validateContractSigningLocationValue=m;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./constants.cjs`);const e=require(`./location-rules.cjs`);var t=16,n={width:595,height:842},r=1;function i(e,t,n=16){let r=p(t,1),i=e.map(e=>{let t=d(e);return{pageIndex:e.pageIndex,width:t.width*r,height:t.height*r}}),a=i.reduce((e,t)=>Math.max(e,t.width),0),o=0;return i.map(e=>{let t={pageIndex:e.pageIndex,top:o,height:e.height,width:e.width,left:(a-e.width)/2};return o+=e.height+Math.max(0,n),t})}function a(e){if(!e.length)return{width:0,height:0};let t=e[e.length-1];return{width:e.reduce((e,t)=>Math.max(e,t.left+t.width),0),height:t.top+t.height}}function o(e,t,n=48){let r=Math.max(1,p(n,48)),i=e-t.top,a=t.bottom-e;return i<r?-(2+(1-Math.max(0,i)/r)*22):a<r?2+(1-Math.max(0,a)/r)*22:0}function s(e,t){if(!e.length)return;let n=0,r=e.length-1;for(;n<=r;){let i=n+r>>1,a=e[i];if(t<a.top)r=i-1;else if(t>=a.top+a.height)n=i+1;else return a}if(r<0)return e[0];if(n>=e.length)return e[e.length-1];let i=e[r],a=e[n],o=t-(i.top+i.height);return a.top-t<o?a:i}function c(e,t,n,r=1){if(!e.length)return{start:0,end:-1};let i=t,a=t+Math.max(0,n),o=0,s=e.length-1;for(let t=0;t<e.length;t+=1){if(e[t].top+e[t].height>i){o=t;break}o=e.length-1}for(let t=e.length-1;t>=0;--t){if(e[t].top<a){s=t;break}s=0}s<o&&([o,s]=[s,o]);let c=Math.max(0,Math.round(r));return{start:Math.max(0,o-c),end:Math.min(e.length-1,s+c)}}function l(
|
|
1
|
+
require(`./constants.cjs`);const e=require(`./location-rules.cjs`);var t=16,n={width:595,height:842},r=1;function i(e,t,n=16){let r=p(t,1),i=e.map(e=>{let t=d(e);return{pageIndex:e.pageIndex,width:t.width*r,height:t.height*r}}),a=i.reduce((e,t)=>Math.max(e,t.width),0),o=0;return i.map(e=>{let t={pageIndex:e.pageIndex,top:o,height:e.height,width:e.width,left:(a-e.width)/2};return o+=e.height+Math.max(0,n),t})}function a(e){if(!e.length)return{width:0,height:0};let t=e[e.length-1];return{width:e.reduce((e,t)=>Math.max(e,t.left+t.width),0),height:t.top+t.height}}function o(e,t,n=48){let r=Math.max(1,p(n,48)),i=e-t.top,a=t.bottom-e;return i<r?-(2+(1-Math.max(0,i)/r)*22):a<r?2+(1-Math.max(0,a)/r)*22:0}function s(e,t){if(!e.length)return;let n=0,r=e.length-1;for(;n<=r;){let i=n+r>>1,a=e[i];if(t<a.top)r=i-1;else if(t>=a.top+a.height)n=i+1;else return a}if(r<0)return e[0];if(n>=e.length)return e[e.length-1];let i=e[r],a=e[n],o=t-(i.top+i.height);return a.top-t<o?a:i}function c(e,t,n,r=1){if(!e.length)return{start:0,end:-1};let i=t,a=t+Math.max(0,n),o=0,s=e.length-1;for(let t=0;t<e.length;t+=1){if(e[t].top+e[t].height>i){o=t;break}o=e.length-1}for(let t=e.length-1;t>=0;--t){if(e[t].top<a){s=t;break}s=0}s<o&&([o,s]=[s,o]);let c=Math.max(0,Math.round(r));return{start:Math.max(0,o-c),end:Math.min(e.length-1,s+c)}}function l(t,r,i,a,o=0){let c=s(t,a);if(!c)return;let l=r.find(e=>e.pageIndex===c.pageIndex),u=e.isContractSigningPageUsable(l)&&l?{width:l.width,height:l.height}:{...n},d=f(o,0);return{pageIndex:c.pageIndex,x:m((i-c.left)*u.width/Math.max(1,c.width)-d),y:m((a-c.top)*u.height/Math.max(1,c.height)-d)}}function u(e,t){return e.find(e=>e.pageIndex===t)?.top??0}function d(t){return e.isContractSigningPageUsable(t)&&t?{width:p(t.displayWidth,t.width),height:p(t.displayHeight,t.height)}:{...n}}function f(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function p(e,t){let n=f(e,t);return n>0?n:t}function m(e){return Math.round(e*100)/100}exports.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE=n,exports.CONTRACT_SIGNING_PAGE_GAP=t,exports.CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES=r,exports.buildPageLayouts=i,exports.contentPointToPagePoint=l,exports.findPageAtOffset=s,exports.getContractSigningAutoScrollDelta=o,exports.getPageLayoutScrollTop=u,exports.getPageLayoutsContentSize=a,exports.getVisibleRange=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../pro-contract-template-designer/src/utils/template-renderer.cjs`);function
|
|
1
|
+
const e=require(`../../pro-contract-template-designer/src/utils/page-decorations.cjs`),t=require(`./constants.cjs`),n=require(`../../pro-contract-template-designer/src/utils/template-renderer.cjs`);function r(e){return!!(e&&typeof e==`object`&&e.type===`template`)}function i(e){return r(e?.source)}function a(e){if(!r(e)||!u(e.template))return[];try{let r=e.template,i=Array.isArray(r.pages)?r.pages:[],a=n.normalizeRenderValues(r,e.values),s=l(r),c=i.length;return i.flatMap((e,i)=>{let l=n.buildTemplateRenderPages({...r,pages:[e]},a,{readonly:!0,disabled:!0,mode:`display`})[0];if(!l)return[];let u=d(e?.pageSize,r.pageSize,l),f=t.toContractSigningRulePageSize(u),p=i+1,m=o(l.pageDecorations,p);return[{pageIndex:i,pageId:l.id,title:l.title,width:f.width||u.width,height:f.height||u.height,displayWidth:u.width,displayHeight:u.height,contentHtml:l.contentHtml,...l.pageDecorations?{pageDecorations:l.pageDecorations}:{},decorationVariables:l.decorationVariables,decorationValues:l.decorationValues,pageNumber:p,totalPages:c,paddingTop:m.top,paddingBottom:m.bottom,errors:s.filter(e=>!e.pageId||e.pageId===l.id).map(e=>e.message)}]})}catch{return[]}}function o(t,n){let r=e.normalizePageDecorations(t);return{top:e.hasEnabledPageHeader(r,n)?e.getPageDecorationSafePadding(r.header):e.CONTRACT_PAGE_BASE_PADDING.top,bottom:e.hasEnabledPageFooter(r,n)?e.getPageDecorationSafePadding(r.footer):e.CONTRACT_PAGE_BASE_PADDING.bottom}}function s(e){if(!r(e.source))return[];if(!u(e.source.template))return[{code:`CONTRACT_TEMPLATE_MISSING`,message:`文件 ${e.fileName||e.fileId} 缺少可渲染的合同模板`,fileId:e.fileId}];try{let t=Array.isArray(e.source.template.pages)?e.source.template.pages:[];return l(e.source.template).map(n=>{let r=n.pageId?t.findIndex(e=>e?.id===n.pageId):-1;return{code:`CONTRACT_${n.code||`TEMPLATE_INVALID`}`,message:`${e.fileName||e.fileId}:${n.message}`,fileId:e.fileId,...r>=0?{pageIndex:r}:{}}})}catch(t){return[{code:`CONTRACT_TEMPLATE_RENDER_FAILED`,message:`文件 ${e.fileName||e.fileId} 的模板数据无法安全渲染`,fileId:e.fileId,cause:t}]}}function c(e){return!e||!r(e.source)?``:s(e)[0]?.message??``}function l(e){return n.validateTemplateRenderStructure(e)}function u(e){return!!(e&&typeof e==`object`)}function d(e,t,n){return{width:f(e?.width,f(t?.width,n.width)),height:f(e?.height,f(t?.height,n.height))}}function f(e,t){let n=Number(e);return Number.isFinite(n)&&n>0?n:t}exports.buildContractSigningTemplateRenderPages=a,exports.getContractSigningTemplateDisplayError=c,exports.isContractSigningTemplateFile=i,exports.isContractSigningTemplateSource=r,exports.validateContractSigningTemplateFile=s;
|
|
@@ -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-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{box-sizing:border-box;background:var(--gdant-neutral-0);width:100%;height:100%;color:var(--gdant-neutral-800);pointer-events:none;padding:54px 64px;line-height:1.75;position:relative;overflow:hidden}.gd-ant-contract-signing-location__template-page-content{z-index:0;min-height:100%;position:relative}.gd-ant-contract-signing-location__template-page-content p{margin:0 0 10px}.gd-ant-contract-signing-location__template-page-content table{border-collapse:collapse;width:100%}.gd-ant-contract-signing-location__template-page-content th,.gd-ant-contract-signing-location__template-page-content td{border:1px solid var(--gdant-neutral-300);min-width:80px;padding:6px 8px}.gd-ant-contract-signing-location__template-page-content img{object-fit:contain;vertical-align:middle;max-width:100%;display:inline-block}.gd-ant-contract-signing-location__template-page-content img[width],.gd-ant-contract-signing-location__template-page-content img[height]{max-width:none}.gd-ant-contract-signing-location__template-page-content ul,.gd-ant-contract-signing-location__template-page-content ol{margin:0 0 10px;padding-left:2em;list-style-position:outside}.gd-ant-contract-signing-location__template-page-content ul{list-style-type:disc}.gd-ant-contract-signing-location__template-page-content ul ul{list-style-type:circle}.gd-ant-contract-signing-location__template-page-content ul ul ul{list-style-type:square}.gd-ant-contract-signing-location__template-page-content ol{list-style-type:decimal}.gd-ant-contract-signing-location__template-page-content ol ol{list-style-type:lower-alpha}.gd-ant-contract-signing-location__template-page-content ol ol ol{list-style-type:lower-roman}.gd-ant-contract-signing-location__template-page-content .gd-contract-template-renderer__control{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:var(--gd-contract-variable-width,160px);min-height:var(--gd-contract-variable-height,32px);color:var(--gd-contract-variable-color,var(--gdant-neutral-800));background:var(--gd-contract-variable-background,transparent);font-family:var(--gd-contract-variable-font-family,inherit);font-size:var(--gd-contract-variable-font-size,14px);text-align:var(--gd-contract-variable-text-align,left);vertical-align:baseline;border:0;border-radius:0;padding:0 4px;display:inline-flex}.gd-ant-contract-signing-location__template-page-content .gd-contract-template-renderer__control.has-border{border:1px var(--gd-contract-variable-border-style,solid) var(--gd-contract-variable-line-color,var(--gdant-neutral-600))}.gd-ant-contract-signing-location__template-page-content .gd-contract-template-renderer__control.has-underline{border-bottom:1px solid var(--gd-contract-variable-line-color,var(--gdant-neutral-600))}.gd-ant-contract-signing-location__template-page-content .gd-contract-template-renderer__control.is-multiline{min-height:var(--gd-contract-variable-multiline-height,84px);line-height:var(--gd-contract-variable-line-height,28px)}.gd-ant-contract-signing-location__template-page-content .gd-contract-template-renderer__preview-control.is-image{background-image:var(--gd-contract-variable-image);background-position:50%;background-repeat:no-repeat;background-size:var(--gd-contract-variable-object-fit,contain)}.gd-ant-contract-signing-location__template-page-content .gd-contract-template-renderer__preview-control.is-empty{color:var(--gd-contract-variable-placeholder-color,var(--gdant-neutral-500))}.gd-ant-contract-signing-location__template-page-content .gd-contract-template-renderer__checkbox-mark{border:1px solid var(--gd-contract-variable-line-color,var(--gdant-neutral-600));justify-content:center;align-items:center;width:14px;height:14px;font-size:12px;line-height:1;display:inline-flex}.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-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}}
|