@guodun/antdv 1.7.13 → 1.7.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. package/dist/es/components/contract-signing-location/src/ContractSigningLocation.vue.mjs +4 -2
  2. package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +654 -639
  3. package/dist/es/components/pro-contract-template-designer/src/SigningLayoutCustomModal.vue.mjs +72 -59
  4. package/dist/es/components/pro-contract-template-designer/src/utils/contract-layout-check.mjs +1 -1
  5. package/dist/es/components/pro-contract-template-designer/src/utils/signing-layout-presets.mjs +77 -61
  6. package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
  7. package/dist/es/contract-print-css/index.mjs +12 -5
  8. package/dist/es/index.mjs +12 -12
  9. package/dist/lib/components/contract-signing-location/src/ContractSigningLocation.vue.cjs +1 -1
  10. package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs +1 -1
  11. package/dist/lib/components/pro-contract-template-designer/src/SigningLayoutCustomModal.vue.cjs +1 -1
  12. package/dist/lib/components/pro-contract-template-designer/src/utils/contract-layout-check.cjs +1 -1
  13. package/dist/lib/components/pro-contract-template-designer/src/utils/signing-layout-presets.cjs +1 -1
  14. package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
  15. package/dist/lib/contract-print-css/index.cjs +12 -5
  16. package/dist/lib/index.cjs +1 -1
  17. package/dist/theme/icon.css +1 -1
  18. package/dist/theme/index.css +1 -1
  19. package/dist/types/components/pro-contract-template-designer/src/utils/signing-layout-presets.d.ts +9 -0
  20. package/package.json +1 -1
@@ -154,17 +154,22 @@ ${i}
154
154
  .gd-contract-template-page table { width: 100%; border-collapse: collapse; }
155
155
  .gd-contract-template-page th,
156
156
  .gd-contract-template-page td { min-width: 80px; padding: 6px 8px; border: 1px solid #d9dce0; }
157
- .gd-contract-template-page table[data-signing-layout="dual-party"] {
158
- margin: 16px 0;
157
+ /* 全部签署版式统一:固定表格布局,单元格水平内边距 20px,列宽由表格宽度均分。纵向几何保持修复前的打印值,避免已生成合同的页高变化:双方并排 16px 外边距 / 8px 内边距;其余版式无外边距、6px 内边距。其余版式的灰色边框改为透明 1px,仍占位但不可见(与设计器「正式签署区无边框」一致)。 */
158
+ .gd-contract-template-page table[data-signing-layout] {
159
+ table-layout: fixed;
159
160
  border: 0;
160
161
  }
162
+ .gd-contract-template-page table[data-signing-layout="dual-party"] { margin: 16px 0; }
163
+ .gd-contract-template-page table[data-signing-layout] th,
164
+ .gd-contract-template-page table[data-signing-layout] td {
165
+ padding: 6px 20px;
166
+ border: 1px solid transparent;
167
+ vertical-align: top;
168
+ }
161
169
  .gd-contract-template-page table[data-signing-layout="dual-party"] td {
162
- width: 50%;
163
170
  padding: 8px 20px;
164
171
  border: 0;
165
- vertical-align: top;
166
172
  }
167
- .gd-contract-template-page table[data-signing-layout="dual-party"] td + td { padding-left: 28px; }
168
173
  .gd-contract-template-page img {
169
174
  display: inline-block;
170
175
  max-width: 100%;
@@ -364,6 +369,8 @@ ${i}
364
369
  .gd-contract-template-page .gd-contract-template-signing-mark,
365
370
  .gd-contract-template-page [data-signing-mark="true"] {
366
371
  display: inline-flex;
372
+ /* 与签署表格 fixed 布局配合;扣除左右各 2px margin,正文标记也不会留下 2px 的横向溢出。 */
373
+ max-width: calc(100% - 4px);
367
374
  align-items: center;
368
375
  justify-content: center;
369
376
  box-sizing: border-box;
package/dist/es/index.mjs CHANGED
@@ -71,15 +71,15 @@ import { CONTRACT_SIGNING_FALLBACK_PAGE_SIZE as Tr, CONTRACT_SIGNING_PAGE_GAP as
71
71
  import { formatContractSigningDate as Fr, getContractSigningDateDataUrl as Ir, getContractSigningDateSvgDataUrl as Lr, getContractSigningPlacementDataUrl as Rr, getContractSigningPlacementVisual as zr, getContractSigningSealDataUrl as Br, getContractSigningSealLabel as Vr, getContractSigningSealSvgDataUrl as Hr, getContractSigningSignatureDataUrl as Ur, getContractSigningSignaturePngDataUrl as Wr, getContractSigningSignatureSvgDataUrl as Gr, isContractSigningVisualDataUrl as Kr, isSafeContractSigningVisualDataUrl as qr, resolveContractSigningSealLabel as Jr, toContractSigningSvgDataUrl as Yr } from "./components/contract-signing-location/src/signing-visuals.mjs";
72
72
  import Xr from "./components/contract-signing-location/index.mjs";
73
73
  import { DEFAULT_CONTRACT_IMAGE_COMPRESSION as Zr, MAX_CONTRACT_IMAGE_BYTES as Qr, MAX_CONTRACT_IMAGE_DIMENSION as $r, MIN_CONTRACT_IMAGE_DIMENSION as ei, compressContractImage as ti, normalizeContractImageCompression as ni, normalizeContractImageDimension as ri, processContractImageFile as ii, readContractImageFileAsDataUrl as ai, resolveContractImageResizeDimensions as oi } from "./components/pro-contract-template-designer/src/utils/content-image.mjs";
74
- import { CUSTOM_SIGNING_LAYOUT as si, DUAL_PARTY_SIGNING_LAYOUT as ci, MAX_SIGNING_LAYOUT_PARTY_COUNT as li, MIN_SIGNING_LAYOUT_PARTY_COUNT as ui, SIGNING_LAYOUT_ARRANGEMENTS as di, SIGNING_LAYOUT_ARRANGEMENT_LABELS as fi, SIGNING_LAYOUT_ATTRIBUTE_VALUES as pi, SIGNING_LAYOUT_FIELD_KEYS as mi, SIGNING_LAYOUT_FIELD_LABELS as hi, SIGNING_LAYOUT_PRESETS as gi, SIGNING_LAYOUT_PRESET_KEYS as _i, buildDualPartySigningLayoutPreset as vi, buildSigningLayoutContent as yi, buildSigningLayoutPresetContent as bi, buildSigningLayoutPreviewModel as xi, describeSigningLayoutOptions as Si, isSigningLayoutAttributeValue as Ci, isSigningLayoutPresetKey as wi, normalizeSigningLayoutOptions as Ti, resolvePartyName as Ei } from "./components/pro-contract-template-designer/src/utils/signing-layout-presets.mjs";
75
- import { CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION as Di, CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION as Oi, DEFAULT_DRAFT_CACHE_INTERVAL as ki, DEFAULT_DRAFT_CACHE_KEY as Ai, DEFAULT_DRAFT_CACHE_MAX_BYTES as ji, clearTemplateDraftCache as Mi, createDraftCacheStatus as Ni, estimateDraftCacheBytes as Pi, formatDraftCacheSavedAt as Fi, getBrowserDraftCacheStorage as Ii, isBlankTemplateDraftValue as Li, isBlankTemplateFilesDraftValue as Ri, loadTemplateDraftCache as zi, loadTemplateFilesDraftCache as Bi, saveTemplateDraftCache as Vi, saveTemplateFilesDraftCache as Hi } from "./components/pro-contract-template-designer/src/composables/use-template-draft-cache.mjs";
76
- import { cloneContractTemplateFiles as Ui, constrainContractTemplateFiles as Wi, createContractTemplateFile as Gi, exportContractTemplateFiles as Ki, moveContractTemplateFile as qi, normalizeContractTemplateFiles as Ji, removeContractTemplateFile as Yi, renameContractTemplateFile as Xi, replaceContractTemplateFile as Zi, resolveContractTemplateActiveFileId as Qi } from "./components/pro-contract-template-designer/src/composables/use-template-files.mjs";
77
- import $i, { GdAntProContractTemplateRenderer as ea } from "./components/pro-contract-template-designer/index.mjs";
78
- import { CONTRACT_SIGNING_FLOW_ACTION_LABELS as ta, CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS as na, CONTRACT_SIGNING_FLOW_MAX_ZOOM as ra, CONTRACT_SIGNING_FLOW_MIN_ZOOM as ia, CONTRACT_SIGNING_FLOW_SEAL_TYPES as aa, CONTRACT_SIGNING_FLOW_SIGN_ACTIONS as oa, CONTRACT_SIGNING_FLOW_ZOOM_STEP as sa, isContractSigningFlowInteractiveTarget as ca, normalizeContractSigningFlowZoom as la, resolveContractSigningFlowZoomShortcut as ua, resolveContractSigningFlowZoomShortcutForTarget as da } from "./components/pro-contract-signing-flow/src/constants.mjs";
79
- import { buildConnectList as fa, createDefaultSignRule as pa, createEndNode as ma, createId as ha, createInitialFlow as ga, createSignNode as _a, createStartNode as va, normalizeContractSigningFlow as ya, normalizeSignRule as ba, useContractSigningFlow as xa, validateContractSigningFlow as Sa } from "./components/pro-contract-signing-flow/src/composables/use-contract-signing-flow.mjs";
80
- import Ca from "./components/pro-contract-signing-flow/index.mjs";
81
- import { useContractTemplateAgent as wa } from "./components/pro-contract-template-agent/src/composables/use-contract-template-agent.mjs";
82
- import { adaptContractTemplateAgentSpec as Ta } from "./components/pro-contract-template-agent/src/utils/contract-template-agent-adapter.mjs";
83
- import Ea, { GdAntProContractTemplateAgentPanel as Da, GdAntProContractTemplateAgentPreview as Oa } from "./components/pro-contract-template-agent/index.mjs";
84
- import { setupAppConfig as ka, useBasicAppConfig as Aa } from "./components/hooks/use-basic-app-config.mjs";
85
- export { Yt as ALL_DEFAULT_FIELD_TYPES, we as CONTRACT_PRINT_FONT_UNCONFIGURED_MESSAGE, Oe as CONTRACT_SIGNING_AUTO_SCROLL_EDGE_PX, ke as CONTRACT_SIGNING_CSS_PX_PER_POINT, Tr as CONTRACT_SIGNING_FALLBACK_PAGE_SIZE, ta as CONTRACT_SIGNING_FLOW_ACTION_LABELS, na as CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS, ra as CONTRACT_SIGNING_FLOW_MAX_ZOOM, ia as CONTRACT_SIGNING_FLOW_MIN_ZOOM, aa as CONTRACT_SIGNING_FLOW_SEAL_TYPES, oa as CONTRACT_SIGNING_FLOW_SIGN_ACTIONS, sa as CONTRACT_SIGNING_FLOW_ZOOM_STEP, Ae as CONTRACT_SIGNING_MIN_PLACEMENT_SIZE, Er as CONTRACT_SIGNING_PAGE_GAP, je as CONTRACT_SIGNING_PLACEMENT_LABELS, Me as CONTRACT_SIGNING_PLACEMENT_MIME, Ne as CONTRACT_SIGNING_PREVIEW_CONCURRENCY, Pe as CONTRACT_SIGNING_PX_PER_MM, _t as CONTRACT_SIGNING_RENDER_ORIGIN_OFFSET, Fe as CONTRACT_SIGNING_SEAL_MAX_SIZE, Ie as CONTRACT_SIGNING_SEAL_MIN_SIZE, Le as CONTRACT_SIGNING_SEAL_TYPE_OPTIONS, Re as CONTRACT_SIGNING_SEAL_TYPE_PRESETS, ze as CONTRACT_SIGNING_SIZE_PROFILES, vt as CONTRACT_SIGNING_SNAP_THRESHOLD_PX, Dr as CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES, Be as CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS, Di as CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION, Oi as CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION, Xt as CONTRACT_TEMPLATE_RENDERER_VERSION, Zt as CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS, Qt as CONTRACT_TEMPLATE_STYLE_VERSION, $t as CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN, st as CONTRACT_TEXT_STYLE_PRESETS, ct as CONTRACT_TEXT_STYLE_PRESET_COMMANDS, si as CUSTOM_SIGNING_LAYOUT, ur as ContractSigningLocationBuildError, en as ContractTemplatePageDecorationValidationError, u as CoverScrollbarProps, tn as DEFAULT_ADVANCED_CHOICE_FIELD_TYPES, nn as DEFAULT_BUILTIN_SELECTOR_FIELD_TYPES, rn as DEFAULT_CHECKBOX_FIELD_TYPE, lt as DEFAULT_CONTRACT_FONT_FAMILY, Zr as DEFAULT_CONTRACT_IMAGE_COMPRESSION, an as DEFAULT_CUSTOM_FIELD_TYPES, ki as DEFAULT_DRAFT_CACHE_INTERVAL, Ai as DEFAULT_DRAFT_CACHE_KEY, ji as DEFAULT_DRAFT_CACHE_MAX_BYTES, on as DEFAULT_FIELD_STYLE, sn as DEFAULT_FIELD_TYPES, ut as DEFAULT_FONT_FAMILY_OPTIONS, dt as DEFAULT_FONT_SIZE_PRESETS, cn as DEFAULT_IMAGE_FIELD_TYPE, ln as DEFAULT_MULTILINE_LINE_HEIGHT, un as DEFAULT_MULTILINE_ROWS, dn as DEFAULT_PAGE_SIZE, ft as DEFAULT_TEXT_ALIGN_OPTIONS, Se as DRAWER_SIZE_WIDTH, ci as DUAL_PARTY_SIGNING_LAYOUT, fe as FORM_RENDER_CONTEXT_KEY, pe as FormItemProps, me as FormRenderProps, ne as GET_DEPT_TREE_URL, J as GTE_OPTIONS_URL, M as GTE_ORGTREE_URL, t as GdAntCollapseTranstion, Xr as GdAntContractSigningLocation, d as GdAntCoverScrollBar, ae as GdAntDeptSelector, T as GdAntIcon, A as GdAntPlusUpload, b as GdAntProArea, _e as GdAntProCell, ve as GdAntProCellGroup, Ca as GdAntProContractSigningFlow, Da as GdAntProContractTemplateAgentPanel, Oa as GdAntProContractTemplateAgentPreview, Ea as GdAntProContractTemplateAgentWorkbench, $i as GdAntProContractTemplateDesigner, ea as GdAntProContractTemplateRenderer, Ce as GdAntProDrawer, xe as GdAntProDynamicTags, he as GdAntProFormRender, k as GdAntProLoading, le as GdAntProMenuTree, a as GdAntProModal, j as GdAntProOverlay, _ as GdAntProPicker, Q as GdAntProRoleSelector, V as GdAntProSelector, be as GdAntProSelectorGroup, S as GdAntProSignature, w as GdAntProTable, m as GdAntProTag, de as GdAntProTagGroup, s as GdAntProTitle, O as GdAntProUpload, q as GdAntProUserAvatar, k as GdAntProloading, Z as GdAntRoleSelector, f as GdAntScaleVirtualList, l as GdAntScrollBar, K as GdAntUserAvatar, H as GdAntUserSelector, U as GdAntUserSelectorCheckbox, W as GdAntUserSelectorDirectory, G as GdAntUserSelectorDrilldown, Qr as MAX_CONTRACT_IMAGE_BYTES, $r as MAX_CONTRACT_IMAGE_DIMENSION, li as MAX_SIGNING_LAYOUT_PARTY_COUNT, qe as MAX_SIGNING_MARK_DIMENSION, oe as MENU_TREE_URL, ei as MIN_CONTRACT_IMAGE_DIMENSION, ui as MIN_SIGNING_LAYOUT_PARTY_COUNT, Je as MIN_SIGNING_MARK_DIMENSION, fn as PAGE_SIZE_OPTIONS, ge as PRO_CELL_GROUP_KEY, h as PickerApiEnum, v as ProAreaProps, g as ProPickerProps, x as ProSignatureProps, ue as ProTagGroupProps, L as ProUserSelector, z as ProUserSelectorCheckbox, R as ProUserSelectorDrilldown, di as SIGNING_LAYOUT_ARRANGEMENTS, fi as SIGNING_LAYOUT_ARRANGEMENT_LABELS, pi as SIGNING_LAYOUT_ATTRIBUTE_VALUES, mi as SIGNING_LAYOUT_FIELD_KEYS, hi as SIGNING_LAYOUT_FIELD_LABELS, gi as SIGNING_LAYOUT_PRESETS, _i as SIGNING_LAYOUT_PRESET_KEYS, Ye as SIGNING_MARK_DEFAULT_LABELS, Xe as SIGNING_MARK_DEFAULT_SIZES, Ze as SIGNING_MARK_TYPE_LABELS, o as TitleProps, E as UploadContextKey, N as UserSelectorProps, Ta as adaptContractTemplateAgentSpec, fa as buildConnectList, ir as buildContractSigningLayoutPages, dr as buildContractSigningLocationOutput, fr as buildContractSigningLocationRules, ar as buildContractSigningTemplateRenderPages, vi as buildDualPartySigningLayoutPreset, Hn as buildInitialRenderValues, Or as buildPageLayouts, It as buildRadioOptionNodes, Lt as buildRadioOptionsHtml, yi as buildSigningLayoutContent, bi as buildSigningLayoutPresetContent, xi as buildSigningLayoutPreviewModel, Qe as buildSigningMarkAttrs, pn as buildTemplateExpressionHtml, mn as buildTemplateHtml, hn as buildTemplatePreviewHtml, gn as buildTemplatePreviewPages, Un as buildTemplateRenderHtml, Wn as buildTemplateRenderPages, Gn as buildTemplateVariableData, yt as canResizeContractSigningPlacement, er as checkContractTemplateLayout, bt as clampContractSigningPlacement, xt as clampContractSigningZoom, Mi as clearTemplateDraftCache, pr as cloneContractSigningLocationValue, Ui as cloneContractTemplateFiles, _n as cloneTemplateValue, e as collapseProps, vn as collectTemplateValueVariableKeys, yn as collectTemplateVariableKeys, ti as compressContractImage, Te as configureContractPrintFonts, Wi as constrainContractTemplateFiles, bn as constrainTemplatePageSizes, kr as contentPointToPagePoint, xn as createBlankPage, Sn as createBlankTemplate, mr as createContractSigningLocationValue, hr as createContractSigningPlacement, Gi as createContractTemplateFile, tr as createContractTemplateLayoutChecker, Cn as createDefaultPage, pa as createDefaultSignRule, wn as createDefaultTemplate, Tn as createDesignerId, Ni as createDraftCacheStatus, ma as createEndNode, ha as createId, ga as createInitialFlow, _a as createSignNode, va as createStartNode, En as createTemplateBodySync, Dn as createTemplateVariable, Rt as decodeContractTemplateJsonAttribute, re as deptSelectorEmits, ie as deptSelectorProps, nr as describeContractTemplateLayoutIssue, Si as describeSigningLayoutOptions, St as displayPointToContractPoint, zt as encodeContractTemplateJsonAttribute, Pi as estimateDraftCacheBytes, Ki as exportContractTemplateFiles, On as exportTemplateValue, gr as findContractSigningPage, Ar as findPageAtOffset, kn as findPageSizeOption, Fr as formatContractSigningDate, Bt as formatContractTemplateRenderValue, Fi as formatDraftCacheSavedAt, ee as generatePalette, Ii as getBrowserDraftCacheStorage, jr as getContractSigningAutoScrollDelta, Ir as getContractSigningDateDataUrl, Lr as getContractSigningDateSvgDataUrl, _r as getContractSigningHomePage, Rr as getContractSigningPlacementDataUrl, Ct as getContractSigningPlacementDistances, wt as getContractSigningPlacementSize, zr as getContractSigningPlacementVisual, Tt as getContractSigningRuleGeometry, Br as getContractSigningSealDataUrl, Vr as getContractSigningSealLabel, Hr as getContractSigningSealSvgDataUrl, Ur as getContractSigningSignatureDataUrl, Wr as getContractSigningSignaturePngDataUrl, Gr as getContractSigningSignatureSvgDataUrl, or as getContractSigningTemplateDisplayError, pt as getContractTextStylePreset, An as getFieldOption, Mr as getPageLayoutScrollTop, Nr as getPageLayoutsContentSize, jn as getPageSizeKey, Mn as getPageSizeOption, $e as getSigningMarkDefaultLabel, et as getSigningMarkDefaultSize, Pr as getVisibleRange, Nn as inferPageFormat, Vt as isAllowedContractTemplateRemoteUrl, Li as isBlankTemplateDraftValue, Ri as isBlankTemplateFilesDraftValue, ca as isContractSigningFlowInteractiveTarget, vr as isContractSigningPageUsable, sr as isContractSigningTemplateFile, cr as isContractSigningTemplateSource, Kr as isContractSigningVisualDataUrl, Nt as isContractTemplateAdvancedChoiceFieldType, Pt as isContractTemplateBuiltinSelectorFieldType, Ft as isContractTemplateFieldType, rr as isContractTemplateLayoutAbortError, Ht as isContractTemplateSelectionValue, tt as isContractTemplateSigningMarkType, Kn as isEmptyRenderValue, Vn as isSafeContractImageUrl, qr as isSafeContractSigningVisualDataUrl, Ci as isSigningLayoutAttributeValue, wi as isSigningLayoutPresetKey, zi as loadTemplateDraftCache, Bi as loadTemplateFilesDraftCache, Ve as millimetersToContractSigningCssPixels, He as millimetersToContractSigningPixels, Et as moveContractSigningPlacementByDisplayDelta, qi as moveContractTemplateFile, ni as normalizeContractImageCompression, ri as normalizeContractImageDimension, Dt as normalizeContractSigningCoordinateDimension, Ot as normalizeContractSigningCoordinateScale, ya as normalizeContractSigningFlow, la as normalizeContractSigningFlowZoom, yr as normalizeContractSigningLocationValue, br as normalizeContractSigningProviderValue, Ut as normalizeContractTemplateControlOptions, Ji as normalizeContractTemplateFiles, Wt as normalizeContractTemplateJsonObject, Pn as normalizeContractTemplateMaxPages, Gt as normalizeContractTemplateRequestTimeout, Kt as normalizeContractTemplateSelectionValue, qt as normalizeContractTemplateSelectionValues, mt as normalizeFontFamilyValue, Fn as normalizePageSizeOptions, qn as normalizeRenderValues, ba as normalizeSignRule, Ti as normalizeSigningLayoutOptions, nt as normalizeSigningMarkDimension, $ as normalizeTemplateValue, xr as patchContractSigningPlacement, se as proMenuTreeEmits, ce as proMenuTreeProps, n as proModalEmits, p as proTagProps, ii as processContractImageFile, ai as readContractImageFileAsDataUrl, Jt as readContractTemplateControlOptions, Yi as removeContractTemplateFile, Xi as renameContractTemplateFile, Zi as replaceContractTemplateFile, kt as resizeContractSigningSealGeometry, Ee as resolveContractFontBaseUrl, oi as resolveContractImageResizeDimensions, Sr as resolveContractSigningDefaultSealTypes, ua as resolveContractSigningFlowZoomShortcut, da as resolveContractSigningFlowZoomShortcutForTarget, Cr as resolveContractSigningPreviewPageSize, Jr as resolveContractSigningSealLabel, Ue as resolveContractSigningSealSizeInCssPixels, We as resolveContractSigningSealSizeInPixels, At as resolveContractSigningSealSizeLimit, Ge as resolveContractSigningSealTypeOption, jt as resolveContractSigningSizeProfile, Qi as resolveContractTemplateActiveFileId, ht as resolveContractTextStylePresetCommands, gt as resolveFontFamilyOptions, In as resolvePageSize, Ei as resolvePartyName, rt as resolveSigningMarkPresentation, it as resolveSigningMarkResizeDimensions, at as resolveSigningMarkResizeHandles, ot as resolveSigningMarkSealAspectRatio, Jn as resolveTemplateDisplayValues, Yn as resolveTemplateRenderSubmitErrors, P as resolveUserSelectorMaxCount, Y as roleSelectorEmits, X as roleSelectorProps, Xn as sanitizeContractRendererHtml, Vi as saveTemplateDraftCache, Hi as saveTemplateFilesDraftCache, c as scrollbarProps, ye as selectContextKey, F as selectUserContextKey, ka as setupAppConfig, te as setupTheme, Mt as snapContractSigningPlacement, Ln as splitPageContentByMeasurements, Rn as syncTemplateVariablesWithPages, De as toAbsoluteContractFontBaseUrl, Ke as toContractSigningRulePageSize, Yr as toContractSigningSvgDataUrl, Aa as useBasicAppConfig, xa as useContractSigningFlow, wa as useContractTemplateAgent, y as useProArea, r as useProModal, i as useProModalInit, C as useProTable, D as useUpload, B as useUserSelector, I as userSelectorEmits, Sa as validateContractSigningFlow, wr as validateContractSigningLocationValue, lr as validateContractSigningTemplateFile, zn as validateContractTemplateVariableKey, Zn as validateTemplateRenderStructure, Qn as validateTemplateRenderValues, $n as validateTemplateTextOverflow, Bn as validateTemplateValue };
74
+ import { CUSTOM_SIGNING_LAYOUT as si, DUAL_PARTY_SIGNING_LAYOUT as ci, MAX_SIDE_BY_SIDE_SIGNING_LAYOUT_PARTY_COUNT as li, MAX_SIGNING_LAYOUT_PARTY_COUNT as ui, MIN_SIGNING_LAYOUT_PARTY_COUNT as di, SIGNING_LAYOUT_ARRANGEMENTS as fi, SIGNING_LAYOUT_ARRANGEMENT_LABELS as pi, SIGNING_LAYOUT_ATTRIBUTE_VALUES as mi, SIGNING_LAYOUT_FIELD_KEYS as hi, SIGNING_LAYOUT_FIELD_LABELS as gi, SIGNING_LAYOUT_PRESETS as _i, SIGNING_LAYOUT_PRESET_KEYS as vi, buildDualPartySigningLayoutPreset as yi, buildSigningLayoutContent as bi, buildSigningLayoutPresetContent as xi, buildSigningLayoutPreviewModel as Si, describeSigningLayoutOptions as Ci, isSigningLayoutAttributeValue as wi, isSigningLayoutPresetKey as Ti, isSingleRowSigningLayoutArrangement as Ei, normalizeSigningLayoutOptions as Di, resolvePartyName as Oi, resolveSingleRowSignatureLineWidth as ki } from "./components/pro-contract-template-designer/src/utils/signing-layout-presets.mjs";
75
+ import { CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION as Ai, CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION as ji, DEFAULT_DRAFT_CACHE_INTERVAL as Mi, DEFAULT_DRAFT_CACHE_KEY as Ni, DEFAULT_DRAFT_CACHE_MAX_BYTES as Pi, clearTemplateDraftCache as Fi, createDraftCacheStatus as Ii, estimateDraftCacheBytes as Li, formatDraftCacheSavedAt as Ri, getBrowserDraftCacheStorage as zi, isBlankTemplateDraftValue as Bi, isBlankTemplateFilesDraftValue as Vi, loadTemplateDraftCache as Hi, loadTemplateFilesDraftCache as Ui, saveTemplateDraftCache as Wi, saveTemplateFilesDraftCache as Gi } from "./components/pro-contract-template-designer/src/composables/use-template-draft-cache.mjs";
76
+ import { cloneContractTemplateFiles as Ki, constrainContractTemplateFiles as qi, createContractTemplateFile as Ji, exportContractTemplateFiles as Yi, moveContractTemplateFile as Xi, normalizeContractTemplateFiles as Zi, removeContractTemplateFile as Qi, renameContractTemplateFile as $i, replaceContractTemplateFile as ea, resolveContractTemplateActiveFileId as ta } from "./components/pro-contract-template-designer/src/composables/use-template-files.mjs";
77
+ import na, { GdAntProContractTemplateRenderer as ra } from "./components/pro-contract-template-designer/index.mjs";
78
+ import { CONTRACT_SIGNING_FLOW_ACTION_LABELS as ia, CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS as aa, CONTRACT_SIGNING_FLOW_MAX_ZOOM as oa, CONTRACT_SIGNING_FLOW_MIN_ZOOM as sa, CONTRACT_SIGNING_FLOW_SEAL_TYPES as ca, CONTRACT_SIGNING_FLOW_SIGN_ACTIONS as la, CONTRACT_SIGNING_FLOW_ZOOM_STEP as ua, isContractSigningFlowInteractiveTarget as da, normalizeContractSigningFlowZoom as fa, resolveContractSigningFlowZoomShortcut as pa, resolveContractSigningFlowZoomShortcutForTarget as ma } from "./components/pro-contract-signing-flow/src/constants.mjs";
79
+ import { buildConnectList as ha, createDefaultSignRule as ga, createEndNode as _a, createId as va, createInitialFlow as ya, createSignNode as ba, createStartNode as xa, normalizeContractSigningFlow as Sa, normalizeSignRule as Ca, useContractSigningFlow as wa, validateContractSigningFlow as Ta } from "./components/pro-contract-signing-flow/src/composables/use-contract-signing-flow.mjs";
80
+ import Ea from "./components/pro-contract-signing-flow/index.mjs";
81
+ import { useContractTemplateAgent as Da } from "./components/pro-contract-template-agent/src/composables/use-contract-template-agent.mjs";
82
+ import { adaptContractTemplateAgentSpec as Oa } from "./components/pro-contract-template-agent/src/utils/contract-template-agent-adapter.mjs";
83
+ import ka, { GdAntProContractTemplateAgentPanel as Aa, GdAntProContractTemplateAgentPreview as ja } from "./components/pro-contract-template-agent/index.mjs";
84
+ import { setupAppConfig as Ma, useBasicAppConfig as Na } from "./components/hooks/use-basic-app-config.mjs";
85
+ export { Yt as ALL_DEFAULT_FIELD_TYPES, we as CONTRACT_PRINT_FONT_UNCONFIGURED_MESSAGE, Oe as CONTRACT_SIGNING_AUTO_SCROLL_EDGE_PX, ke as CONTRACT_SIGNING_CSS_PX_PER_POINT, Tr as CONTRACT_SIGNING_FALLBACK_PAGE_SIZE, ia as CONTRACT_SIGNING_FLOW_ACTION_LABELS, aa as CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS, oa as CONTRACT_SIGNING_FLOW_MAX_ZOOM, sa as CONTRACT_SIGNING_FLOW_MIN_ZOOM, ca as CONTRACT_SIGNING_FLOW_SEAL_TYPES, la as CONTRACT_SIGNING_FLOW_SIGN_ACTIONS, ua as CONTRACT_SIGNING_FLOW_ZOOM_STEP, Ae as CONTRACT_SIGNING_MIN_PLACEMENT_SIZE, Er as CONTRACT_SIGNING_PAGE_GAP, je as CONTRACT_SIGNING_PLACEMENT_LABELS, Me as CONTRACT_SIGNING_PLACEMENT_MIME, Ne as CONTRACT_SIGNING_PREVIEW_CONCURRENCY, Pe as CONTRACT_SIGNING_PX_PER_MM, _t as CONTRACT_SIGNING_RENDER_ORIGIN_OFFSET, Fe as CONTRACT_SIGNING_SEAL_MAX_SIZE, Ie as CONTRACT_SIGNING_SEAL_MIN_SIZE, Le as CONTRACT_SIGNING_SEAL_TYPE_OPTIONS, Re as CONTRACT_SIGNING_SEAL_TYPE_PRESETS, ze as CONTRACT_SIGNING_SIZE_PROFILES, vt as CONTRACT_SIGNING_SNAP_THRESHOLD_PX, Dr as CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES, Be as CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS, Ai as CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION, ji as CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION, Xt as CONTRACT_TEMPLATE_RENDERER_VERSION, Zt as CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS, Qt as CONTRACT_TEMPLATE_STYLE_VERSION, $t as CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN, st as CONTRACT_TEXT_STYLE_PRESETS, ct as CONTRACT_TEXT_STYLE_PRESET_COMMANDS, si as CUSTOM_SIGNING_LAYOUT, ur as ContractSigningLocationBuildError, en as ContractTemplatePageDecorationValidationError, u as CoverScrollbarProps, tn as DEFAULT_ADVANCED_CHOICE_FIELD_TYPES, nn as DEFAULT_BUILTIN_SELECTOR_FIELD_TYPES, rn as DEFAULT_CHECKBOX_FIELD_TYPE, lt as DEFAULT_CONTRACT_FONT_FAMILY, Zr as DEFAULT_CONTRACT_IMAGE_COMPRESSION, an as DEFAULT_CUSTOM_FIELD_TYPES, Mi as DEFAULT_DRAFT_CACHE_INTERVAL, Ni as DEFAULT_DRAFT_CACHE_KEY, Pi as DEFAULT_DRAFT_CACHE_MAX_BYTES, on as DEFAULT_FIELD_STYLE, sn as DEFAULT_FIELD_TYPES, ut as DEFAULT_FONT_FAMILY_OPTIONS, dt as DEFAULT_FONT_SIZE_PRESETS, cn as DEFAULT_IMAGE_FIELD_TYPE, ln as DEFAULT_MULTILINE_LINE_HEIGHT, un as DEFAULT_MULTILINE_ROWS, dn as DEFAULT_PAGE_SIZE, ft as DEFAULT_TEXT_ALIGN_OPTIONS, Se as DRAWER_SIZE_WIDTH, ci as DUAL_PARTY_SIGNING_LAYOUT, fe as FORM_RENDER_CONTEXT_KEY, pe as FormItemProps, me as FormRenderProps, ne as GET_DEPT_TREE_URL, J as GTE_OPTIONS_URL, M as GTE_ORGTREE_URL, t as GdAntCollapseTranstion, Xr as GdAntContractSigningLocation, d as GdAntCoverScrollBar, ae as GdAntDeptSelector, T as GdAntIcon, A as GdAntPlusUpload, b as GdAntProArea, _e as GdAntProCell, ve as GdAntProCellGroup, Ea as GdAntProContractSigningFlow, Aa as GdAntProContractTemplateAgentPanel, ja as GdAntProContractTemplateAgentPreview, ka as GdAntProContractTemplateAgentWorkbench, na as GdAntProContractTemplateDesigner, ra as GdAntProContractTemplateRenderer, Ce as GdAntProDrawer, xe as GdAntProDynamicTags, he as GdAntProFormRender, k as GdAntProLoading, le as GdAntProMenuTree, a as GdAntProModal, j as GdAntProOverlay, _ as GdAntProPicker, Q as GdAntProRoleSelector, V as GdAntProSelector, be as GdAntProSelectorGroup, S as GdAntProSignature, w as GdAntProTable, m as GdAntProTag, de as GdAntProTagGroup, s as GdAntProTitle, O as GdAntProUpload, q as GdAntProUserAvatar, k as GdAntProloading, Z as GdAntRoleSelector, f as GdAntScaleVirtualList, l as GdAntScrollBar, K as GdAntUserAvatar, H as GdAntUserSelector, U as GdAntUserSelectorCheckbox, W as GdAntUserSelectorDirectory, G as GdAntUserSelectorDrilldown, Qr as MAX_CONTRACT_IMAGE_BYTES, $r as MAX_CONTRACT_IMAGE_DIMENSION, li as MAX_SIDE_BY_SIDE_SIGNING_LAYOUT_PARTY_COUNT, ui as MAX_SIGNING_LAYOUT_PARTY_COUNT, qe as MAX_SIGNING_MARK_DIMENSION, oe as MENU_TREE_URL, ei as MIN_CONTRACT_IMAGE_DIMENSION, di as MIN_SIGNING_LAYOUT_PARTY_COUNT, Je as MIN_SIGNING_MARK_DIMENSION, fn as PAGE_SIZE_OPTIONS, ge as PRO_CELL_GROUP_KEY, h as PickerApiEnum, v as ProAreaProps, g as ProPickerProps, x as ProSignatureProps, ue as ProTagGroupProps, L as ProUserSelector, z as ProUserSelectorCheckbox, R as ProUserSelectorDrilldown, fi as SIGNING_LAYOUT_ARRANGEMENTS, pi as SIGNING_LAYOUT_ARRANGEMENT_LABELS, mi as SIGNING_LAYOUT_ATTRIBUTE_VALUES, hi as SIGNING_LAYOUT_FIELD_KEYS, gi as SIGNING_LAYOUT_FIELD_LABELS, _i as SIGNING_LAYOUT_PRESETS, vi as SIGNING_LAYOUT_PRESET_KEYS, Ye as SIGNING_MARK_DEFAULT_LABELS, Xe as SIGNING_MARK_DEFAULT_SIZES, Ze as SIGNING_MARK_TYPE_LABELS, o as TitleProps, E as UploadContextKey, N as UserSelectorProps, Oa as adaptContractTemplateAgentSpec, ha as buildConnectList, ir as buildContractSigningLayoutPages, dr as buildContractSigningLocationOutput, fr as buildContractSigningLocationRules, ar as buildContractSigningTemplateRenderPages, yi as buildDualPartySigningLayoutPreset, Hn as buildInitialRenderValues, Or as buildPageLayouts, It as buildRadioOptionNodes, Lt as buildRadioOptionsHtml, bi as buildSigningLayoutContent, xi as buildSigningLayoutPresetContent, Si as buildSigningLayoutPreviewModel, Qe as buildSigningMarkAttrs, pn as buildTemplateExpressionHtml, mn as buildTemplateHtml, hn as buildTemplatePreviewHtml, gn as buildTemplatePreviewPages, Un as buildTemplateRenderHtml, Wn as buildTemplateRenderPages, Gn as buildTemplateVariableData, yt as canResizeContractSigningPlacement, er as checkContractTemplateLayout, bt as clampContractSigningPlacement, xt as clampContractSigningZoom, Fi as clearTemplateDraftCache, pr as cloneContractSigningLocationValue, Ki as cloneContractTemplateFiles, _n as cloneTemplateValue, e as collapseProps, vn as collectTemplateValueVariableKeys, yn as collectTemplateVariableKeys, ti as compressContractImage, Te as configureContractPrintFonts, qi as constrainContractTemplateFiles, bn as constrainTemplatePageSizes, kr as contentPointToPagePoint, xn as createBlankPage, Sn as createBlankTemplate, mr as createContractSigningLocationValue, hr as createContractSigningPlacement, Ji as createContractTemplateFile, tr as createContractTemplateLayoutChecker, Cn as createDefaultPage, ga as createDefaultSignRule, wn as createDefaultTemplate, Tn as createDesignerId, Ii as createDraftCacheStatus, _a as createEndNode, va as createId, ya as createInitialFlow, ba as createSignNode, xa as createStartNode, En as createTemplateBodySync, Dn as createTemplateVariable, Rt as decodeContractTemplateJsonAttribute, re as deptSelectorEmits, ie as deptSelectorProps, nr as describeContractTemplateLayoutIssue, Ci as describeSigningLayoutOptions, St as displayPointToContractPoint, zt as encodeContractTemplateJsonAttribute, Li as estimateDraftCacheBytes, Yi as exportContractTemplateFiles, On as exportTemplateValue, gr as findContractSigningPage, Ar as findPageAtOffset, kn as findPageSizeOption, Fr as formatContractSigningDate, Bt as formatContractTemplateRenderValue, Ri as formatDraftCacheSavedAt, ee as generatePalette, zi as getBrowserDraftCacheStorage, jr as getContractSigningAutoScrollDelta, Ir as getContractSigningDateDataUrl, Lr as getContractSigningDateSvgDataUrl, _r as getContractSigningHomePage, Rr as getContractSigningPlacementDataUrl, Ct as getContractSigningPlacementDistances, wt as getContractSigningPlacementSize, zr as getContractSigningPlacementVisual, Tt as getContractSigningRuleGeometry, Br as getContractSigningSealDataUrl, Vr as getContractSigningSealLabel, Hr as getContractSigningSealSvgDataUrl, Ur as getContractSigningSignatureDataUrl, Wr as getContractSigningSignaturePngDataUrl, Gr as getContractSigningSignatureSvgDataUrl, or as getContractSigningTemplateDisplayError, pt as getContractTextStylePreset, An as getFieldOption, Mr as getPageLayoutScrollTop, Nr as getPageLayoutsContentSize, jn as getPageSizeKey, Mn as getPageSizeOption, $e as getSigningMarkDefaultLabel, et as getSigningMarkDefaultSize, Pr as getVisibleRange, Nn as inferPageFormat, Vt as isAllowedContractTemplateRemoteUrl, Bi as isBlankTemplateDraftValue, Vi as isBlankTemplateFilesDraftValue, da as isContractSigningFlowInteractiveTarget, vr as isContractSigningPageUsable, sr as isContractSigningTemplateFile, cr as isContractSigningTemplateSource, Kr as isContractSigningVisualDataUrl, Nt as isContractTemplateAdvancedChoiceFieldType, Pt as isContractTemplateBuiltinSelectorFieldType, Ft as isContractTemplateFieldType, rr as isContractTemplateLayoutAbortError, Ht as isContractTemplateSelectionValue, tt as isContractTemplateSigningMarkType, Kn as isEmptyRenderValue, Vn as isSafeContractImageUrl, qr as isSafeContractSigningVisualDataUrl, wi as isSigningLayoutAttributeValue, Ti as isSigningLayoutPresetKey, Ei as isSingleRowSigningLayoutArrangement, Hi as loadTemplateDraftCache, Ui as loadTemplateFilesDraftCache, Ve as millimetersToContractSigningCssPixels, He as millimetersToContractSigningPixels, Et as moveContractSigningPlacementByDisplayDelta, Xi as moveContractTemplateFile, ni as normalizeContractImageCompression, ri as normalizeContractImageDimension, Dt as normalizeContractSigningCoordinateDimension, Ot as normalizeContractSigningCoordinateScale, Sa as normalizeContractSigningFlow, fa as normalizeContractSigningFlowZoom, yr as normalizeContractSigningLocationValue, br as normalizeContractSigningProviderValue, Ut as normalizeContractTemplateControlOptions, Zi as normalizeContractTemplateFiles, Wt as normalizeContractTemplateJsonObject, Pn as normalizeContractTemplateMaxPages, Gt as normalizeContractTemplateRequestTimeout, Kt as normalizeContractTemplateSelectionValue, qt as normalizeContractTemplateSelectionValues, mt as normalizeFontFamilyValue, Fn as normalizePageSizeOptions, qn as normalizeRenderValues, Ca as normalizeSignRule, Di as normalizeSigningLayoutOptions, nt as normalizeSigningMarkDimension, $ as normalizeTemplateValue, xr as patchContractSigningPlacement, se as proMenuTreeEmits, ce as proMenuTreeProps, n as proModalEmits, p as proTagProps, ii as processContractImageFile, ai as readContractImageFileAsDataUrl, Jt as readContractTemplateControlOptions, Qi as removeContractTemplateFile, $i as renameContractTemplateFile, ea as replaceContractTemplateFile, kt as resizeContractSigningSealGeometry, Ee as resolveContractFontBaseUrl, oi as resolveContractImageResizeDimensions, Sr as resolveContractSigningDefaultSealTypes, pa as resolveContractSigningFlowZoomShortcut, ma as resolveContractSigningFlowZoomShortcutForTarget, Cr as resolveContractSigningPreviewPageSize, Jr as resolveContractSigningSealLabel, Ue as resolveContractSigningSealSizeInCssPixels, We as resolveContractSigningSealSizeInPixels, At as resolveContractSigningSealSizeLimit, Ge as resolveContractSigningSealTypeOption, jt as resolveContractSigningSizeProfile, ta as resolveContractTemplateActiveFileId, ht as resolveContractTextStylePresetCommands, gt as resolveFontFamilyOptions, In as resolvePageSize, Oi as resolvePartyName, rt as resolveSigningMarkPresentation, it as resolveSigningMarkResizeDimensions, at as resolveSigningMarkResizeHandles, ot as resolveSigningMarkSealAspectRatio, ki as resolveSingleRowSignatureLineWidth, Jn as resolveTemplateDisplayValues, Yn as resolveTemplateRenderSubmitErrors, P as resolveUserSelectorMaxCount, Y as roleSelectorEmits, X as roleSelectorProps, Xn as sanitizeContractRendererHtml, Wi as saveTemplateDraftCache, Gi as saveTemplateFilesDraftCache, c as scrollbarProps, ye as selectContextKey, F as selectUserContextKey, Ma as setupAppConfig, te as setupTheme, Mt as snapContractSigningPlacement, Ln as splitPageContentByMeasurements, Rn as syncTemplateVariablesWithPages, De as toAbsoluteContractFontBaseUrl, Ke as toContractSigningRulePageSize, Yr as toContractSigningSvgDataUrl, Na as useBasicAppConfig, wa as useContractSigningFlow, Da as useContractTemplateAgent, y as useProArea, r as useProModal, i as useProModalInit, C as useProTable, D as useUpload, B as useUserSelector, I as userSelectorEmits, Ta as validateContractSigningFlow, wr as validateContractSigningLocationValue, lr as validateContractSigningTemplateFile, zn as validateContractTemplateVariableKey, Zn as validateTemplateRenderStructure, Qn as validateTemplateRenderValues, $n as validateTemplateTextOverflow, Bn as validateTemplateValue };
@@ -1 +1 @@
1
- require(`../../../_virtual/_rolldown/runtime.cjs`),require(`../../pro-contract-template-designer/src/utils/contract-print-document.cjs`);const e=require(`./constants.cjs`),t=require(`./coordinates.cjs`),n=require(`../../pro-contract-template-designer/src/utils/contract-layout-check.cjs`),r=require(`./template-source.cjs`),i=require(`./location-rules.cjs`),a=require(`./ContractSigningLocationCanvas.cjs`),o=require(`./ContractSigningLocationInspector.cjs`),s=require(`./ContractSigningLocationNavigator.cjs`),ee=require(`./preview-requests.cjs`);let c=require(`vue`),l=require(`ant-design-vue`),u=require(`@ant-design/icons-vue`);var te={class:`gd-ant-contract-signing-location__header`},ne={class:`gd-ant-contract-signing-location__title`},re={class:`gd-ant-contract-signing-location__header-actions`},ie={class:`gd-ant-contract-signing-location__placement-count`},ae={key:0,class:`gd-ant-contract-signing-location__error`,role:`alert`},oe=[`aria-label`,`aria-expanded`],se={class:`gd-ant-contract-signing-location__panel-stack`},ce=[`aria-label`,`aria-expanded`],le={class:`gd-ant-contract-signing-location__panel-stack`},ue=`正在校验排版,请稍后再确认签署位置`,de=(0,c.defineComponent)({name:`ContractSigningLocation`,__name:`ContractSigningLocation`,props:{modelValue:{default:void 0},mode:{default:`placement`},contractId:{default:``},dataProvider:{default:void 0},sealTypeOptions:{default:()=>e.CONTRACT_SIGNING_SEAL_TYPE_OPTIONS.map(e=>({...e}))},defaultSealTypes:{default:void 0},referencePlacements:{default:()=>[]},allowedPlacementTypes:{default:()=>[`seal`,`signature`,`date`]},sizeProfile:{default:`default`},autoLoad:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},minZoom:{default:.5},maxZoom:{default:1.5},zoom:{default:1},resizable:{type:Boolean,default:!1},sealMinSize:{default:8},sealMaxSize:{default:640},height:{default:void 0},showSubmitButton:{type:Boolean,default:!0},showInspector:{type:Boolean,default:void 0},contractFontBaseUrl:{default:void 0}},emits:[`update:modelValue`,`update:zoom`,`change`,`ready`,`file-change`,`page-change`,`submit`,`error`],setup(e,{expose:de,emit:fe}){let d=e,f=fe,p=(0,c.computed)(()=>t.resolveContractSigningSealSizeLimit(d.sealMinSize,d.sealMaxSize)),m=i.normalizeContractSigningLocationValue(d.modelValue??i.createContractSigningLocationValue(d.contractId),{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions}),h=(0,c.shallowRef)(m),g=(0,c.shallowRef)(i.cloneContractSigningLocationValue(m)),_=(0,c.shallowRef)(m.files[0]?.fileId??``),v=(0,c.shallowRef)(m.files[0]?.pages[0]?.pageIndex??0),y=(0,c.shallowRef)(``),b=(0,c.shallowRef)(!1),x=(0,c.shallowRef)(``),S=(0,c.ref)([]),C=(0,c.ref)({}),w=(0,c.shallowRef)(Me(d.zoom)),T=(0,c.ref)(null),E=(0,c.ref)(!1),D=(0,c.ref)(!1),O=(0,c.shallowRef)(`loading`),k=(0,c.shallowRef)(``),pe=n.createContractTemplateLayoutChecker(),A=(0,c.shallowRef)({status:`ready`,issues:[],messages:[]}),j,me=0,M=0,N=!1,P,F=[],I=0,L=new ee.ContractSigningPreviewRequests,R=(0,c.computed)(()=>d.mode===`preview`),he=(0,c.computed)(()=>R.value||d.readonly||d.disabled),ge=(0,c.computed)(()=>d.showInspector??!R.value),_e=(0,c.computed)(()=>!R.value&&d.showSubmitButton),ve=(0,c.computed)(()=>h.value.files.length<=1),ye=(0,c.computed)(()=>ut(d.height)),z=(0,c.computed)(()=>h.value.files.find(e=>e.fileId===_.value)??h.value.files[0]),B=(0,c.computed)(()=>r.isContractSigningTemplateFile(z.value)&&O.value!==`ready`),V=(0,c.computed)(()=>A.value.status===`checking`),be=(0,c.computed)(()=>{let e=z.value?.fileId;return A.value.issues.filter(t=>t.fileId===e)}),H=(0,c.computed)(()=>{let e=A.value;return e.status===`ready`?[]:e.status===`checking`?[{code:`CONTRACT_LAYOUT_CHECKING`,message:ue}]:e.issues.length?e.issues.map(e=>({code:e.kind===`measure-failed`?`CONTRACT_PAGE_LAYOUT_UNVERIFIED`:`CONTRACT_PAGE_LAYOUT_OVERFLOW`,message:Je(e),...e.fileId===void 0?{}:{fileId:e.fileId},pageIndex:e.pageIndex})):[{code:`CONTRACT_PAGE_LAYOUT_UNVERIFIED`,message:`合同排版校验失败,请刷新后重试`}]}),xe=(0,c.computed)(()=>A.value.status===`error`?A.value.messages[0]??``:``),U=(0,c.computed)(()=>!B.value||R.value?``:O.value===`loading`?`合同排版校验中,暂不可指定签署位置`:et(k.value)),Se=(0,c.computed)(()=>O.value===`error`&&U.value?U.value:x.value||U.value||xe.value),Ce=(0,c.computed)(()=>!!(x.value&&d.dataProvider&&d.contractId)&&!(O.value===`error`&&U.value)),W=(0,c.computed)(()=>he.value||B.value),we=(0,c.computed)(()=>z.value?.pages.find(e=>e.pageIndex===v.value)??z.value?.pages[0]),Te=(0,c.computed)(()=>{let e=z.value;return e?h.value.placements.filter(t=>t.fileId===e.fileId):[]}),Ee=(0,c.computed)(()=>{let e=z.value;return e?d.referencePlacements.filter(t=>t.fileId===e.fileId):[]}),G=(0,c.computed)(()=>h.value.placements.find(e=>e.id===y.value)),De=(0,c.computed)(()=>{let e=G.value;return e?i.findContractSigningPage(h.value,e.fileId,e.pageIndex)??we.value:we.value}),Oe=(0,c.computed)(()=>S.value.filter(e=>e.endsWith(`:thumbnail`)).map(e=>e.slice(0,-10))),ke=(0,c.computed)(()=>Object.keys(C.value).filter(e=>e.endsWith(`:thumbnail`)).map(e=>e.slice(0,-10))),Ae=(0,c.computed)(()=>S.value.filter(e=>e.endsWith(`:preview`)).map(e=>e.slice(0,-8))),je=(0,c.computed)(()=>{let e={};return Object.entries(C.value).forEach(([t,n])=>{t.endsWith(`:preview`)&&(e[t.slice(0,-8)]=n)}),e});(0,c.watch)(()=>d.modelValue,e=>{if(!e)return;let t=i.normalizeContractSigningLocationValue(e,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions});$(t)!==$(h.value)&&(Q(),h.value=t,g.value=i.cloneContractSigningLocationValue(t),Y(),J(),(0,c.nextTick)(()=>T.value?.scrollToPage(v.value)))},{deep:!0}),(0,c.watch)(p,()=>{$(i.normalizeContractSigningLocationValue(h.value,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions}))!==$(h.value)&&K(h.value)}),(0,c.watch)(()=>d.zoom,e=>{w.value=Me(e)}),(0,c.watch)(()=>z.value?.fileId,()=>{O.value=r.isContractSigningTemplateFile(z.value)?`loading`:`ready`,k.value=``}),J(),(0,c.watch)(()=>[d.contractId,d.dataProvider,d.autoLoad],([e,t,n],r)=>{!n||!t||!e||(!r||e!==r[0]||t!==r[1])&&q()},{immediate:!0}),(0,c.onBeforeUnmount)(()=>{N=!0,M+=1,at(),Q(),j?.abort(),pe.dispose()});function Me(e){let n=Math.min(d.minZoom,d.maxZoom),r=Math.max(d.minZoom,d.maxZoom);return t.clampContractSigningZoom(e,n,r)}function Ne(e){let t=Me(e);w.value=t,f(`update:zoom`,t)}function Pe(){return T.value?.fitWidth()??w.value}function K(e,t={}){let n=e.files!==h.value.files;h.value=i.normalizeContractSigningLocationValue(e,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions}),t.clearError!==!1&&(x.value=``),Y(),n&&J();let r=i.cloneContractSigningLocationValue(h.value);return f(`update:modelValue`,r),f(`change`,r),r}async function q(){let e=String(d.contractId||h.value.contractId||``).trim();if(!d.dataProvider)return X({code:`CONTRACT_PROVIDER_MISSING`,message:`未配置合同数据提供器,请由宿主传入文件数据`}),!1;if(!e)return X({code:`CONTRACT_ID_MISSING`,message:`缺少用于加载合同的 PaaS contractId`}),!1;let n=++M;Q(),b.value=!0,x.value=``;try{let r=await d.dataProvider.loadContract({contractId:e});if(N||n!==M)return!1;let a=i.normalizeContractSigningProviderValue(r,t.normalizeContractSigningCoordinateScale(d.dataProvider.coordinateScale)),o=i.normalizeContractSigningLocationValue({...a,contractId:e,placements:a.placements.length?a.placements:h.value.contractId===e?h.value.placements:[]},{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions});h.value=o,g.value=i.cloneContractSigningLocationValue(o),y.value=``,Y(),J();let s=i.cloneContractSigningLocationValue(o);return f(`update:modelValue`,s),f(`change`,s),f(`ready`,s),Fe(),(0,c.nextTick)(()=>T.value?.scrollToPage(v.value)),s}catch(e){return N||n!==M||X(Z(e,`CONTRACT_LOAD_FAILED`,`合同加载失败,请检查授权后重试`)),!1}finally{!N&&n===M&&(b.value=!1)}}async function Fe(){d.dataProvider?.loadPagePreview&&await Promise.allSettled(h.value.files.map(e=>{if(r.isContractSigningTemplateFile(e))return Promise.resolve();let t=i.getContractSigningHomePage(e.pages);return t&&!t.thumbnailUrl?Ie(e.fileId,t.pageIndex,!0):Promise.resolve()}))}async function Ie(e,n,a){let o=d.dataProvider?.loadPagePreview,s=h.value.files.find(t=>t.fileId===e),ee=i.findContractSigningPage(h.value,e,n),c=rt(e,n,a);if(!o||r.isContractSigningTemplateFile(s)||!ee||S.value.includes(c))return;it(c),S.value=[...S.value,c];let l=L.start(c);try{let r=await o({contractId:h.value.contractId||d.contractId,fileId:e,pageIndex:n,thumbnail:a,signal:l.signal});if(N||!L.isCurrent(c,l)||!i.findContractSigningPage(h.value,e,n))return;let s=i.findContractSigningPage(h.value,e,n),ee=i.resolveContractSigningPreviewPageSize(s,r,t.normalizeContractSigningCoordinateScale(d.dataProvider?.coordinateScale),a),u=h.value.files.map(t=>t.fileId===e?{...t,pages:t.pages.map(e=>e.pageIndex===n?{...e,...ee||{},...a?{thumbnailUrl:r.url}:{previewUrl:r.url}}:e)}:t);K({...h.value,files:u},{clearError:!1})}catch(t){if(!L.isCurrent(c,l)||ot(t))return;let r=Z(t,`CONTRACT_PREVIEW_FAILED`,`合同页面预览加载失败,可切换页面或重试`,{fileId:e,pageIndex:n});f(`error`,r),C.value={...C.value,[c]:r.message}}finally{L.finish(c,l)&&(S.value=S.value.filter(e=>e!==c))}}function Le(e){if(e===_.value)return;let t=_.value;at(),t&&(Q(e=>e.startsWith(`${t}:`)&&e.endsWith(`:preview`)),F=F.filter(t=>t.fileId===e)),_.value=e;let n=h.value.files.find(t=>t.fileId===e);v.value=i.getContractSigningHomePage(n?.pages)?.pageIndex??0,y.value=``,f(`file-change`,e),f(`page-change`,e,v.value),(0,c.nextTick)(()=>T.value?.scrollToPage(v.value))}function Re(e){v.value=e}function ze(e){v.value!==e&&(v.value=e),f(`page-change`,_.value,e)}function Be(e){at();let t=_.value;P=setTimeout(()=>{P=void 0,_.value===t&&Ve(t,e)},150)}function Ve(e,t){let n=h.value.files.find(t=>t.fileId===e);!n||r.isContractSigningTemplateFile(n)||e!==_.value||(t.forEach(e=>{let t=n.pages.find(t=>t.pageIndex===e);!t||t.previewUrl||S.value.includes(rt(n.fileId,e,!1))||F.some(t=>t.fileId===n.fileId&&t.pageIndex===e)||F.push({fileId:n.fileId,pageIndex:e})}),He())}async function He(){let e=_.value;for(F=F.filter(t=>t.fileId===e);I<3&&F.length;){let t=F.shift();if(!t||t.fileId!==e)continue;let n=i.findContractSigningPage(h.value,t.fileId,t.pageIndex),a=h.value.files.find(e=>e.fileId===t.fileId);!n||r.isContractSigningTemplateFile(a)||n.previewUrl||S.value.includes(rt(t.fileId,t.pageIndex,!1))||(I+=1,Ie(t.fileId,t.pageIndex,!1).finally(()=>{I=Math.max(0,I-1),He()}))}}function Ue(e){let t=h.value.placements.find(t=>t.id===e);t&&(t.fileId!==_.value&&Le(t.fileId),y.value=e,(0,c.nextTick)(()=>T.value?.scrollToPlacement(e)))}function We(e,t={}){if(W.value||!d.allowedPlacementTypes.includes(e))return;let n=t.fileId??z.value?.fileId,r=t.pageIndex??we.value?.pageIndex;if(!n||r===void 0)return;let a=i.findContractSigningPage(h.value,n,r);if(!a||!i.isContractSigningPageUsable(a)){X({code:`CONTRACT_PAGE_SIZE_INVALID`,message:`当前页面缺少有效的原始宽高,暂时不能添加签署位置`,fileId:n,pageIndex:r});return}let o=i.resolveContractSigningDefaultSealTypes(d.defaultSealTypes,d.sealTypeOptions);if(e===`seal`&&!o.length){X({code:`CONTRACT_SEAL_TYPES_MISSING`,message:`当前未配置可用的印章类型,暂时不能添加印章位置`,fileId:n,pageIndex:r});return}let s=i.createContractSigningPlacement(e,n,a,{signLeft:t.signLeft,signTop:t.signTop,sizeProfile:d.sizeProfile,sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions,...e===`seal`?{sealType:o}:{}});return K({...h.value,placements:[...h.value.placements,s]}),_.value=n,v.value=r,y.value=s.id,ct(s)}function Ge(e,t){W.value||K({...h.value,placements:h.value.placements.map(n=>{if(n.id!==e)return n;let r=t.pageIndex===void 0?n.pageIndex:t.pageIndex,a=i.findContractSigningPage(h.value,n.fileId,r);return i.patchContractSigningPlacement(n,t,a,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions})})})}function Ke(){let e=G.value;if(!e||W.value)return;let n=i.findContractSigningPage(h.value,e.fileId,e.pageIndex);if(!n)return;let r=t.clampContractSigningPlacement({...ct(e),id:lt(),signLeft:e.signLeft+16,signTop:e.signTop+16},n,{sealSizeLimit:p.value});K({...h.value,placements:[...h.value.placements,r]}),y.value=r.id}function qe(e){W.value||(K({...h.value,placements:h.value.placements.filter(t=>t.id!==e)}),y.value===e&&(y.value=``))}function Je(e){let t=h.value.files.find(t=>t.fileId===e.fileId)?.fileName,r=n.describeContractTemplateLayoutIssue(e,`generate`)[0]??`合同排版校验未通过`;return t?`${t}:${r}`:r}function J(){j?.abort();let e=++me,t=[];for(let e of h.value.files)r.isContractSigningTemplateSource(e.source)&&t.push({fileId:e.fileId,template:e.source.template,...e.source.values?{values:e.source.values}:{},layoutPages:r.buildContractSigningLayoutPages(e.fileId,e.source)});if(!t.length){j=void 0,A.value={status:`ready`,issues:[],messages:[]};return}let i=new AbortController;j=i,A.value={status:`checking`,issues:[],messages:[]},pe.check(t,{signal:i.signal}).then(t=>{N||e!==me||(A.value=t.length?{status:`error`,issues:t,messages:t.map(e=>Je(e))}:{status:`ready`,issues:[],messages:[]})},t=>{N||e!==me||n.isContractTemplateLayoutAbortError(t)||(A.value={status:`error`,issues:[],messages:[`合同排版校验失败,请刷新后重试`]})})}function Ye(){let e=i.validateContractSigningLocationValue(h.value,{allowedSealTypes:d.sealTypeOptions.map(e=>e.value)});return[...B.value&&!V.value?[...e,{code:`CONTRACT_TEMPLATE_FONT_UNAVAILABLE`,message:tt()}]:e,...H.value]}function Xe(){return i.cloneContractSigningLocationValue(h.value)}function Ze(){if(V.value)throw new i.ContractSigningLocationBuildError(H.value);if(B.value)throw new i.ContractSigningLocationBuildError([{code:`CONTRACT_TEMPLATE_FONT_UNAVAILABLE`,message:tt()}]);if(H.value.length)throw new i.ContractSigningLocationBuildError(H.value);return i.buildContractSigningLocationOutput(Xe(),{allowedSealTypes:d.sealTypeOptions.map(e=>e.value)})}function Qe(){if(V.value)return X(H.value[0]),!1;if(B.value){let e=tt();return console.error(`[GD-SIGN-COORD]`,e),X({code:`CONTRACT_TEMPLATE_FONT_UNAVAILABLE`,message:U.value||e}),!1}let e=H.value;if(e.length)return e[0].code!==`CONTRACT_LAYOUT_CHECKING`&&console.error(`[GD-SIGN-COORD]`,e.map(e=>e.message).join(`;`)),X(e[0]),!1;try{let e=Ze();return x.value=``,f(`submit`,e),e}catch(e){return X(e instanceof i.ContractSigningLocationBuildError?{...e.errors[0],cause:e}:Z(e,`CONTRACT_SIGNING_LOCATION_INVALID`,`指定签署位置数据不完整`)),!1}}function $e(e,t){O.value=e,k.value=e===`error`?t||`合同排版度量校验失败`:``}function et(e){let t=e.match(/第\s*(\d+)\s*页正文超出纸张/);return t?`第 ${t[1]} 页正文超出纸张,请回模板设计器调整后重试`:e.includes(`合同排版度量不一致`)?`当前浏览器的字体宽度与签署坐标要求不一致。请把缩放调回 100%,使用 Chrome 或 Edge,并确认已安装宋体和 Times New Roman(或 Liberation Serif)后刷新。缩放和字体都正常时,请联系管理员核对本机字体度量。`:e.includes(`超时`)?`合同排版校验超时。请刷新后重试;仍失败时请关闭拦截字体的扩展,或改用 Chrome、Edge。`:e.includes(`合同打印页节点不存在`)?`合同底图没有加载完整。请刷新后重新打开这份模板。`:e.includes(`合同图片加载失败`)?`合同底图中有图片未能加载。请确认图片地址可以正常访问,刷新后重新打开这份模板。`:e.includes(`无法确认排版`)?`${e}。请刷新后重试;仍失败时请让管理员查看控制台中以 [GD-SIGN-COORD] 开头的记录。`:`合同排版校验未通过。请刷新后重试;若反复出现,请让管理员查看控制台中以 [GD-SIGN-COORD] 开头的记录。`}function tt(){return O.value===`error`?k.value||`合同排版度量校验失败,禁止生成签署坐标`:`合同排版度量校验中,请稍后再保存签署坐标`}function nt(){if(W.value)return i.cloneContractSigningLocationValue(h.value);let e=K(i.cloneContractSigningLocationValue(g.value));return y.value=``,Y(!0),(0,c.nextTick)(()=>T.value?.scrollToPage(v.value)),e}function Y(e=!1){let t=(e?void 0:h.value.files.find(e=>e.fileId===_.value))??h.value.files[0];_.value=t?.fileId??``,v.value=((e?void 0:t?.pages.find(e=>e.pageIndex===v.value))??t?.pages[0])?.pageIndex??0,h.value.placements.some(e=>e.id===y.value)||(y.value=``)}function X(e){x.value=e.message,f(`error`,e)}function Z(e,t,n,r={}){let i=typeof e==`object`&&e&&`status`in e?Number(e.status):void 0;return{code:t,message:i===401||i===403?`授权已失效,请重新获取签署凭证`:e instanceof Error&&e.message?e.message:n,...r,cause:e}}function rt(e,t,n){return`${e}:${t}:${n?`thumbnail`:`preview`}`}function it(e){if(!(e in C.value))return;let t={...C.value};delete t[e],C.value=t}function at(){P&&=(clearTimeout(P),void 0)}function Q(e){let t=e??(()=>!0),n=new Set(L.abort(t));n.size&&(S.value=S.value.filter(e=>!n.has(e))),e||(F=[])}function ot(e){return!!(e&&typeof e==`object`&&`cancelled`in e&&e.cancelled)||e instanceof DOMException&&e.name===`AbortError`}function st(e){let t=z.value;t&&Ie(t.fileId,e,!1)}function ct(e){return{...e,sealType:e.sealType?[...e.sealType]:void 0}}function $(e){return JSON.stringify(e)}function lt(){return typeof crypto<`u`&&`randomUUID`in crypto?`contract-signing-placement-${crypto.randomUUID()}`:`contract-signing-placement-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function ut(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return{"--gd-ant-contract-signing-location-height":`${e}px`};if(typeof e==`string`&&e.trim())return{"--gd-ant-contract-signing-location-height":e.trim()}}return de({load:q,validate:Ye,getValue:Xe,getOutput:Ze,submit:Qe,reset:nt,addPlacement:We,removePlacement:qe,fitWidth:Pe}),(t,n)=>((0,c.openBlock)(),(0,c.createElementBlock)(`section`,{class:(0,c.normalizeClass)([`gd-ant-contract-signing-location`,{"is-readonly":he.value,"is-disabled":e.disabled,"is-preview":R.value}]),style:(0,c.normalizeStyle)(ye.value)},[(0,c.createElementVNode)(`header`,te,[(0,c.createElementVNode)(`div`,ne,[n[6]||=(0,c.createElementVNode)(`span`,{class:`gd-ant-contract-signing-location__title-bar`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,null,[(0,c.createElementVNode)(`strong`,null,(0,c.toDisplayString)(R.value?`合同预览`:`指定合同签署位置`),1)])]),(0,c.createElementVNode)(`div`,re,[(0,c.createElementVNode)(`span`,ie,(0,c.toDisplayString)(h.value.placements.length)+` 个位置`,1),e.dataProvider?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:0,loading:b.value,onClick:q},{default:(0,c.withCtx)(()=>[(0,c.createVNode)((0,c.unref)(u.ReloadOutlined),{"aria-hidden":`true`}),n[7]||=(0,c.createTextVNode)(` 重新加载 `,-1)]),_:1},8,[`loading`])):(0,c.createCommentVNode)(``,!0),R.value?(0,c.createCommentVNode)(``,!0):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:1,disabled:W.value,onClick:nt},{default:(0,c.withCtx)(()=>[...n[8]||=[(0,c.createTextVNode)(`重置`,-1)]]),_:1},8,[`disabled`])),_e.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:2,type:`primary`,loading:b.value||V.value,disabled:e.disabled||B.value||V.value,onClick:Qe},{default:(0,c.withCtx)(()=>[...n[9]||=[(0,c.createTextVNode)(`确认并生成规则`,-1)]]),_:1},8,[`loading`,`disabled`])):(0,c.createCommentVNode)(``,!0)])]),Se.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,ae,[(0,c.createElementVNode)(`span`,null,(0,c.toDisplayString)(Se.value),1),Ce.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:0,type:`link`,size:`small`,onClick:q},{default:(0,c.withCtx)(()=>[...n[10]||=[(0,c.createTextVNode)(`重试`,-1)]]),_:1})):(0,c.createCommentVNode)(``,!0)])):(0,c.createCommentVNode)(``,!0),(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__body`,{"is-single-file":ve.value,"is-inspector-hidden":!ge.value}])},[ve.value?(0,c.createCommentVNode)(``,!0):((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:0,class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__navigator-wrap`,{"is-collapsed":D.value}])},[(0,c.createVNode)((0,c.unref)(l.Tooltip),{title:D.value?`展开页面栏`:`收起页面栏`},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`button`,{type:`button`,class:`gd-ant-contract-signing-location__panel-handle`,"aria-label":D.value?`展开页面栏`:`收起页面栏`,"aria-expanded":!D.value,onClick:n[0]||=e=>D.value=!D.value},[D.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.RightOutlined),{key:0,"aria-hidden":`true`})):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.LeftOutlined),{key:1,"aria-hidden":`true`}))],8,oe)]),_:1},8,[`title`]),(0,c.createElementVNode)(`div`,se,[(0,c.createVNode)(s.default,{files:h.value.files,"active-file-id":_.value,"loading-preview-keys":Oe.value,"error-preview-keys":ke.value,onSelect:Le},null,8,[`files`,`active-file-id`,`loading-preview-keys`,`error-preview-keys`])])],2)),(0,c.createVNode)(a.default,{ref_key:`canvasRef`,ref:T,file:z.value,pages:z.value?.pages??[],placements:Te.value,"reference-placements":Ee.value,"selected-placement-id":y.value,readonly:W.value,resizable:e.resizable,"seal-size-limit":p.value,"seal-type-options":e.sealTypeOptions,zoom:w.value,"preview-loading-keys":Ae.value,"preview-error-map":je.value,"active-page-index":v.value,"min-zoom":e.minZoom,"max-zoom":e.maxZoom,"font-base-url":e.contractFontBaseUrl,"layout-issues":be.value,"layout-checking":V.value,onSelect:n[1]||=e=>y.value=e,onRetry:st,onAdd:n[2]||=(e,t,n,r)=>We(e,{signLeft:t,signTop:n,pageIndex:r}),onUpdate:n[3]||=e=>Ge(e.id,e),onRemove:qe,onVisiblePages:Be,onViewPage:Re,onPageChange:ze,onZoomChange:Ne,onTemplateStatus:$e},null,8,[`file`,`pages`,`placements`,`reference-placements`,`selected-placement-id`,`readonly`,`resizable`,`seal-size-limit`,`seal-type-options`,`zoom`,`preview-loading-keys`,`preview-error-map`,`active-page-index`,`min-zoom`,`max-zoom`,`font-base-url`,`layout-issues`,`layout-checking`]),ge.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:1,class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__inspector-wrap`,{"is-collapsed":E.value}])},[(0,c.createVNode)((0,c.unref)(l.Tooltip),{title:E.value?`展开属性栏`:`收起属性栏`},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`button`,{type:`button`,class:`gd-ant-contract-signing-location__panel-handle`,"aria-label":E.value?`展开属性栏`:`收起属性栏`,"aria-expanded":!E.value,onClick:n[4]||=e=>E.value=!E.value},[E.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.RightOutlined),{key:1,"aria-hidden":`true`}))],8,ce)]),_:1},8,[`title`]),(0,c.createElementVNode)(`div`,le,[(0,c.createVNode)(o.default,{placement:G.value,page:De.value,pages:z.value?.pages??[],placements:Te.value,readonly:W.value,resizable:e.resizable,"seal-size-limit":p.value,"seal-type-options":e.sealTypeOptions,"allowed-placement-types":e.allowedPlacementTypes,"size-profile":e.sizeProfile,onAdd:We,onUpdate:n[5]||=e=>G.value&&Ge(G.value.id,e),onDuplicate:Ke,onRemove:qe,onLocate:Ue},null,8,[`placement`,`page`,`pages`,`placements`,`readonly`,`resizable`,`seal-size-limit`,`seal-type-options`,`allowed-placement-types`,`size-profile`])])],2)):(0,c.createCommentVNode)(``,!0)],2)],6))}});exports.default=de;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`),require(`../../pro-contract-template-designer/src/utils/contract-print-document.cjs`);const e=require(`./constants.cjs`),t=require(`./coordinates.cjs`),n=require(`../../pro-contract-template-designer/src/utils/contract-layout-check.cjs`),r=require(`./template-source.cjs`),i=require(`./location-rules.cjs`),a=require(`./ContractSigningLocationCanvas.cjs`),o=require(`./ContractSigningLocationInspector.cjs`),s=require(`./ContractSigningLocationNavigator.cjs`),ee=require(`./preview-requests.cjs`);let c=require(`vue`),l=require(`ant-design-vue`),u=require(`@ant-design/icons-vue`);var te={class:`gd-ant-contract-signing-location__header`},ne={class:`gd-ant-contract-signing-location__title`},re={class:`gd-ant-contract-signing-location__header-actions`},ie={class:`gd-ant-contract-signing-location__placement-count`},ae={key:0,class:`gd-ant-contract-signing-location__error`,role:`alert`},oe=[`aria-label`,`aria-expanded`],se={class:`gd-ant-contract-signing-location__panel-stack`},ce=[`aria-label`,`aria-expanded`],le={class:`gd-ant-contract-signing-location__panel-stack`},ue=`正在校验排版,请稍后再确认签署位置`,de=(0,c.defineComponent)({name:`ContractSigningLocation`,__name:`ContractSigningLocation`,props:{modelValue:{default:void 0},mode:{default:`placement`},contractId:{default:``},dataProvider:{default:void 0},sealTypeOptions:{default:()=>e.CONTRACT_SIGNING_SEAL_TYPE_OPTIONS.map(e=>({...e}))},defaultSealTypes:{default:void 0},referencePlacements:{default:()=>[]},allowedPlacementTypes:{default:()=>[`seal`,`signature`,`date`]},sizeProfile:{default:`default`},autoLoad:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},minZoom:{default:.5},maxZoom:{default:1.5},zoom:{default:1},resizable:{type:Boolean,default:!1},sealMinSize:{default:8},sealMaxSize:{default:640},height:{default:void 0},showSubmitButton:{type:Boolean,default:!0},showInspector:{type:Boolean,default:void 0},contractFontBaseUrl:{default:void 0}},emits:[`update:modelValue`,`update:zoom`,`change`,`ready`,`file-change`,`page-change`,`submit`,`error`],setup(e,{expose:de,emit:fe}){let d=e,f=fe,p=(0,c.computed)(()=>t.resolveContractSigningSealSizeLimit(d.sealMinSize,d.sealMaxSize)),m=i.normalizeContractSigningLocationValue(d.modelValue??i.createContractSigningLocationValue(d.contractId),{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions}),h=(0,c.shallowRef)(m),g=(0,c.shallowRef)(i.cloneContractSigningLocationValue(m)),_=(0,c.shallowRef)(m.files[0]?.fileId??``),v=(0,c.shallowRef)(m.files[0]?.pages[0]?.pageIndex??0),y=(0,c.shallowRef)(``),b=(0,c.shallowRef)(!1),x=(0,c.shallowRef)(``),S=(0,c.ref)([]),C=(0,c.ref)({}),w=(0,c.shallowRef)(Me(d.zoom)),T=(0,c.ref)(null),E=(0,c.ref)(!1),D=(0,c.ref)(!1),O=(0,c.shallowRef)(`loading`),k=(0,c.shallowRef)(``),pe=n.createContractTemplateLayoutChecker(),A=(0,c.shallowRef)({status:`ready`,issues:[],messages:[]}),j,me=0,M=0,N=!1,P,F=[],I=0,L=new ee.ContractSigningPreviewRequests,R=(0,c.computed)(()=>d.mode===`preview`),he=(0,c.computed)(()=>R.value||d.readonly||d.disabled),ge=(0,c.computed)(()=>d.showInspector??!R.value),_e=(0,c.computed)(()=>!R.value&&d.showSubmitButton),ve=(0,c.computed)(()=>h.value.files.length<=1),ye=(0,c.computed)(()=>ut(d.height)),z=(0,c.computed)(()=>h.value.files.find(e=>e.fileId===_.value)??h.value.files[0]),B=(0,c.computed)(()=>r.isContractSigningTemplateFile(z.value)&&O.value!==`ready`),V=(0,c.computed)(()=>A.value.status===`checking`),be=(0,c.computed)(()=>{let e=z.value?.fileId;return A.value.issues.filter(t=>t.fileId===e)}),H=(0,c.computed)(()=>{let e=A.value;return e.status===`ready`?[]:e.status===`checking`?[{code:`CONTRACT_LAYOUT_CHECKING`,message:ue}]:e.issues.length?e.issues.map(e=>({code:e.kind===`measure-failed`?`CONTRACT_PAGE_LAYOUT_UNVERIFIED`:`CONTRACT_PAGE_LAYOUT_OVERFLOW`,message:Je(e),...e.fileId===void 0?{}:{fileId:e.fileId},pageIndex:e.pageIndex})):[{code:`CONTRACT_PAGE_LAYOUT_UNVERIFIED`,message:`合同排版校验失败,请刷新后重试`}]}),xe=(0,c.computed)(()=>A.value.status===`error`?A.value.messages[0]??``:``),U=(0,c.computed)(()=>!B.value||R.value?``:O.value===`loading`?`合同排版校验中,暂不可指定签署位置`:et(k.value)),Se=(0,c.computed)(()=>O.value===`error`&&U.value?U.value:x.value||U.value||xe.value),Ce=(0,c.computed)(()=>!!(x.value&&d.dataProvider&&d.contractId)&&!(O.value===`error`&&U.value)),W=(0,c.computed)(()=>he.value||B.value),we=(0,c.computed)(()=>z.value?.pages.find(e=>e.pageIndex===v.value)??z.value?.pages[0]),Te=(0,c.computed)(()=>{let e=z.value;return e?h.value.placements.filter(t=>t.fileId===e.fileId):[]}),Ee=(0,c.computed)(()=>{let e=z.value;return e?d.referencePlacements.filter(t=>t.fileId===e.fileId):[]}),G=(0,c.computed)(()=>h.value.placements.find(e=>e.id===y.value)),De=(0,c.computed)(()=>{let e=G.value;return e?i.findContractSigningPage(h.value,e.fileId,e.pageIndex)??we.value:we.value}),Oe=(0,c.computed)(()=>S.value.filter(e=>e.endsWith(`:thumbnail`)).map(e=>e.slice(0,-10))),ke=(0,c.computed)(()=>Object.keys(C.value).filter(e=>e.endsWith(`:thumbnail`)).map(e=>e.slice(0,-10))),Ae=(0,c.computed)(()=>S.value.filter(e=>e.endsWith(`:preview`)).map(e=>e.slice(0,-8))),je=(0,c.computed)(()=>{let e={};return Object.entries(C.value).forEach(([t,n])=>{t.endsWith(`:preview`)&&(e[t.slice(0,-8)]=n)}),e});(0,c.watch)(()=>d.modelValue,e=>{if(!e)return;let t=i.normalizeContractSigningLocationValue(e,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions});$(t)!==$(h.value)&&(Q(),h.value=t,g.value=i.cloneContractSigningLocationValue(t),Y(),J(),(0,c.nextTick)(()=>T.value?.scrollToPage(v.value)))},{deep:!0}),(0,c.watch)(p,()=>{$(i.normalizeContractSigningLocationValue(h.value,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions}))!==$(h.value)&&K(h.value)}),(0,c.watch)(()=>d.zoom,e=>{w.value=Me(e)}),(0,c.watch)(()=>z.value?.fileId,()=>{O.value=r.isContractSigningTemplateFile(z.value)?`loading`:`ready`,k.value=``}),J(),(0,c.watch)(()=>[d.contractId,d.dataProvider,d.autoLoad],([e,t,n],r)=>{!n||!t||!e||(!r||e!==r[0]||t!==r[1])&&q()},{immediate:!0}),(0,c.onBeforeUnmount)(()=>{N=!0,M+=1,at(),Q(),j?.abort(),pe.dispose()});function Me(e){let n=Math.min(d.minZoom,d.maxZoom),r=Math.max(d.minZoom,d.maxZoom);return t.clampContractSigningZoom(e,n,r)}function Ne(e){let t=Me(e);w.value=t,f(`update:zoom`,t)}function Pe(){return T.value?.fitWidth()??w.value}function K(e,t={}){let n=e.files!==h.value.files;h.value=i.normalizeContractSigningLocationValue(e,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions}),t.clearError!==!1&&(x.value=``),Y(),n&&J();let r=i.cloneContractSigningLocationValue(h.value);return f(`update:modelValue`,r),f(`change`,r),r}async function q(){let e=String(d.contractId||h.value.contractId||``).trim();if(!d.dataProvider)return X({code:`CONTRACT_PROVIDER_MISSING`,message:`未配置合同数据提供器,请由宿主传入文件数据`}),!1;if(!e)return X({code:`CONTRACT_ID_MISSING`,message:`缺少用于加载合同的 PaaS contractId`}),!1;let n=++M;Q(),b.value=!0,x.value=``;try{let r=await d.dataProvider.loadContract({contractId:e});if(N||n!==M)return!1;let a=i.normalizeContractSigningProviderValue(r,t.normalizeContractSigningCoordinateScale(d.dataProvider.coordinateScale)),o=i.normalizeContractSigningLocationValue({...a,contractId:e,placements:a.placements.length?a.placements:h.value.contractId===e?h.value.placements:[]},{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions});h.value=o,g.value=i.cloneContractSigningLocationValue(o),y.value=``,Y(),J();let s=i.cloneContractSigningLocationValue(o);return f(`update:modelValue`,s),f(`change`,s),f(`ready`,s),Fe(),(0,c.nextTick)(()=>T.value?.scrollToPage(v.value)),s}catch(e){return N||n!==M||X(Z(e,`CONTRACT_LOAD_FAILED`,`合同加载失败,请检查授权后重试`)),!1}finally{!N&&n===M&&(b.value=!1)}}async function Fe(){d.dataProvider?.loadPagePreview&&await Promise.allSettled(h.value.files.map(e=>{if(r.isContractSigningTemplateFile(e))return Promise.resolve();let t=i.getContractSigningHomePage(e.pages);return t&&!t.thumbnailUrl?Ie(e.fileId,t.pageIndex,!0):Promise.resolve()}))}async function Ie(e,n,a){let o=d.dataProvider?.loadPagePreview,s=h.value.files.find(t=>t.fileId===e),ee=i.findContractSigningPage(h.value,e,n),c=rt(e,n,a);if(!o||r.isContractSigningTemplateFile(s)||!ee||S.value.includes(c))return;it(c),S.value=[...S.value,c];let l=L.start(c);try{let r=await o({contractId:h.value.contractId||d.contractId,fileId:e,pageIndex:n,thumbnail:a,signal:l.signal});if(N||!L.isCurrent(c,l)||!i.findContractSigningPage(h.value,e,n))return;let s=i.findContractSigningPage(h.value,e,n),ee=i.resolveContractSigningPreviewPageSize(s,r,t.normalizeContractSigningCoordinateScale(d.dataProvider?.coordinateScale),a),u=h.value.files.map(t=>t.fileId===e?{...t,pages:t.pages.map(e=>e.pageIndex===n?{...e,...ee||{},...a?{thumbnailUrl:r.url}:{previewUrl:r.url}}:e)}:t);K({...h.value,files:u},{clearError:!1})}catch(t){if(!L.isCurrent(c,l)||ot(t))return;let r=Z(t,`CONTRACT_PREVIEW_FAILED`,`合同页面预览加载失败,可切换页面或重试`,{fileId:e,pageIndex:n});f(`error`,r),C.value={...C.value,[c]:r.message}}finally{L.finish(c,l)&&(S.value=S.value.filter(e=>e!==c))}}function Le(e){if(e===_.value)return;let t=_.value;at(),t&&(Q(e=>e.startsWith(`${t}:`)&&e.endsWith(`:preview`)),F=F.filter(t=>t.fileId===e)),_.value=e;let n=h.value.files.find(t=>t.fileId===e);v.value=i.getContractSigningHomePage(n?.pages)?.pageIndex??0,y.value=``,f(`file-change`,e),f(`page-change`,e,v.value),(0,c.nextTick)(()=>T.value?.scrollToPage(v.value))}function Re(e){v.value=e}function ze(e){v.value!==e&&(v.value=e),f(`page-change`,_.value,e)}function Be(e){at();let t=_.value;P=setTimeout(()=>{P=void 0,_.value===t&&Ve(t,e)},150)}function Ve(e,t){let n=h.value.files.find(t=>t.fileId===e);!n||r.isContractSigningTemplateFile(n)||e!==_.value||(t.forEach(e=>{let t=n.pages.find(t=>t.pageIndex===e);!t||t.previewUrl||S.value.includes(rt(n.fileId,e,!1))||F.some(t=>t.fileId===n.fileId&&t.pageIndex===e)||F.push({fileId:n.fileId,pageIndex:e})}),He())}async function He(){let e=_.value;for(F=F.filter(t=>t.fileId===e);I<3&&F.length;){let t=F.shift();if(!t||t.fileId!==e)continue;let n=i.findContractSigningPage(h.value,t.fileId,t.pageIndex),a=h.value.files.find(e=>e.fileId===t.fileId);!n||r.isContractSigningTemplateFile(a)||n.previewUrl||S.value.includes(rt(t.fileId,t.pageIndex,!1))||(I+=1,Ie(t.fileId,t.pageIndex,!1).finally(()=>{I=Math.max(0,I-1),He()}))}}function Ue(e){let t=h.value.placements.find(t=>t.id===e);t&&(t.fileId!==_.value&&Le(t.fileId),y.value=e,(0,c.nextTick)(()=>T.value?.scrollToPlacement(e)))}function We(e,t={}){if(W.value||!d.allowedPlacementTypes.includes(e))return;let n=t.fileId??z.value?.fileId,r=t.pageIndex??we.value?.pageIndex;if(!n||r===void 0)return;let a=i.findContractSigningPage(h.value,n,r);if(!a||!i.isContractSigningPageUsable(a)){X({code:`CONTRACT_PAGE_SIZE_INVALID`,message:`当前页面缺少有效的原始宽高,暂时不能添加签署位置`,fileId:n,pageIndex:r});return}let o=i.resolveContractSigningDefaultSealTypes(d.defaultSealTypes,d.sealTypeOptions);if(e===`seal`&&!o.length){X({code:`CONTRACT_SEAL_TYPES_MISSING`,message:`当前未配置可用的印章类型,暂时不能添加印章位置`,fileId:n,pageIndex:r});return}let s=i.createContractSigningPlacement(e,n,a,{signLeft:t.signLeft,signTop:t.signTop,sizeProfile:d.sizeProfile,sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions,...e===`seal`?{sealType:o}:{}});return K({...h.value,placements:[...h.value.placements,s]}),_.value=n,v.value=r,y.value=s.id,ct(s)}function Ge(e,t){W.value||K({...h.value,placements:h.value.placements.map(n=>{if(n.id!==e)return n;let r=t.pageIndex===void 0?n.pageIndex:t.pageIndex,a=i.findContractSigningPage(h.value,n.fileId,r);return i.patchContractSigningPlacement(n,t,a,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions})})})}function Ke(){let e=G.value;if(!e||W.value)return;let n=i.findContractSigningPage(h.value,e.fileId,e.pageIndex);if(!n)return;let r=t.clampContractSigningPlacement({...ct(e),id:lt(),signLeft:e.signLeft+16,signTop:e.signTop+16},n,{sealSizeLimit:p.value});K({...h.value,placements:[...h.value.placements,r]}),y.value=r.id}function qe(e){W.value||(K({...h.value,placements:h.value.placements.filter(t=>t.id!==e)}),y.value===e&&(y.value=``))}function Je(e){let t=h.value.files.find(t=>t.fileId===e.fileId)?.fileName,r=n.describeContractTemplateLayoutIssue(e,`generate`)[0]??`合同排版校验未通过`;return t?`${t}:${r}`:r}function J(){j?.abort();let e=++me,t=[];for(let e of h.value.files)r.isContractSigningTemplateSource(e.source)&&t.push({fileId:e.fileId,template:e.source.template,...e.source.values?{values:e.source.values}:{},layoutPages:r.buildContractSigningLayoutPages(e.fileId,e.source)});if(!t.length){j=void 0,A.value={status:`ready`,issues:[],messages:[]};return}let i=new AbortController;j=i,A.value={status:`checking`,issues:[],messages:[]},pe.check(t,{signal:i.signal}).then(t=>{N||e!==me||(A.value=t.length?{status:`error`,issues:t,messages:t.map(e=>Je(e))}:{status:`ready`,issues:[],messages:[]})},t=>{N||e!==me||n.isContractTemplateLayoutAbortError(t)||(A.value={status:`error`,issues:[],messages:[`合同排版校验失败,请刷新后重试`]})})}function Ye(){let e=i.validateContractSigningLocationValue(h.value,{allowedSealTypes:d.sealTypeOptions.map(e=>e.value)});return[...B.value&&!V.value?[...e,{code:`CONTRACT_TEMPLATE_FONT_UNAVAILABLE`,message:tt()}]:e,...H.value]}function Xe(){return i.cloneContractSigningLocationValue(h.value)}function Ze(){if(V.value)throw new i.ContractSigningLocationBuildError(H.value);if(B.value)throw new i.ContractSigningLocationBuildError([{code:`CONTRACT_TEMPLATE_FONT_UNAVAILABLE`,message:tt()}]);if(H.value.length)throw new i.ContractSigningLocationBuildError(H.value);return i.buildContractSigningLocationOutput(Xe(),{allowedSealTypes:d.sealTypeOptions.map(e=>e.value)})}function Qe(){if(V.value)return X(H.value[0]),!1;if(B.value){let e=tt();return console.error(`[GD-SIGN-COORD]`,e),X({code:`CONTRACT_TEMPLATE_FONT_UNAVAILABLE`,message:U.value||e}),!1}let e=H.value;if(e.length)return e[0].code!==`CONTRACT_LAYOUT_CHECKING`&&console.error(`[GD-SIGN-COORD]`,e.map(e=>e.message).join(`;`)),X(e[0]),!1;try{let e=Ze();return x.value=``,f(`submit`,e),e}catch(e){return X(e instanceof i.ContractSigningLocationBuildError?{...e.errors[0],cause:e}:Z(e,`CONTRACT_SIGNING_LOCATION_INVALID`,`指定签署位置数据不完整`)),!1}}function $e(e,t){O.value=e,k.value=e===`error`?t||`合同排版度量校验失败`:``}function et(e){let t=e.match(/第\s*(\d+)\s*页正文超出纸张宽度\s*(\d+(?:\.\d+)?)\s*px/);if(t)return`第 ${t[1]} 页正文超出纸张宽度 ${t[2]}px,请回模板设计器调整后重试`;let n=e.match(/第\s*(\d+)\s*页正文超出纸张/);return n?`第 ${n[1]} 页正文超出纸张,请回模板设计器调整后重试`:e.includes(`合同排版度量不一致`)?`当前浏览器的字体宽度与签署坐标要求不一致。请把缩放调回 100%,使用 Chrome 或 Edge,并确认已安装宋体和 Times New Roman(或 Liberation Serif)后刷新。缩放和字体都正常时,请联系管理员核对本机字体度量。`:e.includes(`超时`)?`合同排版校验超时。请刷新后重试;仍失败时请关闭拦截字体的扩展,或改用 Chrome、Edge。`:e.includes(`合同打印页节点不存在`)?`合同底图没有加载完整。请刷新后重新打开这份模板。`:e.includes(`合同图片加载失败`)?`合同底图中有图片未能加载。请确认图片地址可以正常访问,刷新后重新打开这份模板。`:e.includes(`无法确认排版`)?`${e}。请刷新后重试;仍失败时请让管理员查看控制台中以 [GD-SIGN-COORD] 开头的记录。`:`合同排版校验未通过。请刷新后重试;若反复出现,请让管理员查看控制台中以 [GD-SIGN-COORD] 开头的记录。`}function tt(){return O.value===`error`?k.value||`合同排版度量校验失败,禁止生成签署坐标`:`合同排版度量校验中,请稍后再保存签署坐标`}function nt(){if(W.value)return i.cloneContractSigningLocationValue(h.value);let e=K(i.cloneContractSigningLocationValue(g.value));return y.value=``,Y(!0),(0,c.nextTick)(()=>T.value?.scrollToPage(v.value)),e}function Y(e=!1){let t=(e?void 0:h.value.files.find(e=>e.fileId===_.value))??h.value.files[0];_.value=t?.fileId??``,v.value=((e?void 0:t?.pages.find(e=>e.pageIndex===v.value))??t?.pages[0])?.pageIndex??0,h.value.placements.some(e=>e.id===y.value)||(y.value=``)}function X(e){x.value=e.message,f(`error`,e)}function Z(e,t,n,r={}){let i=typeof e==`object`&&e&&`status`in e?Number(e.status):void 0;return{code:t,message:i===401||i===403?`授权已失效,请重新获取签署凭证`:e instanceof Error&&e.message?e.message:n,...r,cause:e}}function rt(e,t,n){return`${e}:${t}:${n?`thumbnail`:`preview`}`}function it(e){if(!(e in C.value))return;let t={...C.value};delete t[e],C.value=t}function at(){P&&=(clearTimeout(P),void 0)}function Q(e){let t=e??(()=>!0),n=new Set(L.abort(t));n.size&&(S.value=S.value.filter(e=>!n.has(e))),e||(F=[])}function ot(e){return!!(e&&typeof e==`object`&&`cancelled`in e&&e.cancelled)||e instanceof DOMException&&e.name===`AbortError`}function st(e){let t=z.value;t&&Ie(t.fileId,e,!1)}function ct(e){return{...e,sealType:e.sealType?[...e.sealType]:void 0}}function $(e){return JSON.stringify(e)}function lt(){return typeof crypto<`u`&&`randomUUID`in crypto?`contract-signing-placement-${crypto.randomUUID()}`:`contract-signing-placement-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function ut(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return{"--gd-ant-contract-signing-location-height":`${e}px`};if(typeof e==`string`&&e.trim())return{"--gd-ant-contract-signing-location-height":e.trim()}}return de({load:q,validate:Ye,getValue:Xe,getOutput:Ze,submit:Qe,reset:nt,addPlacement:We,removePlacement:qe,fitWidth:Pe}),(t,n)=>((0,c.openBlock)(),(0,c.createElementBlock)(`section`,{class:(0,c.normalizeClass)([`gd-ant-contract-signing-location`,{"is-readonly":he.value,"is-disabled":e.disabled,"is-preview":R.value}]),style:(0,c.normalizeStyle)(ye.value)},[(0,c.createElementVNode)(`header`,te,[(0,c.createElementVNode)(`div`,ne,[n[6]||=(0,c.createElementVNode)(`span`,{class:`gd-ant-contract-signing-location__title-bar`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,null,[(0,c.createElementVNode)(`strong`,null,(0,c.toDisplayString)(R.value?`合同预览`:`指定合同签署位置`),1)])]),(0,c.createElementVNode)(`div`,re,[(0,c.createElementVNode)(`span`,ie,(0,c.toDisplayString)(h.value.placements.length)+` 个位置`,1),e.dataProvider?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:0,loading:b.value,onClick:q},{default:(0,c.withCtx)(()=>[(0,c.createVNode)((0,c.unref)(u.ReloadOutlined),{"aria-hidden":`true`}),n[7]||=(0,c.createTextVNode)(` 重新加载 `,-1)]),_:1},8,[`loading`])):(0,c.createCommentVNode)(``,!0),R.value?(0,c.createCommentVNode)(``,!0):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:1,disabled:W.value,onClick:nt},{default:(0,c.withCtx)(()=>[...n[8]||=[(0,c.createTextVNode)(`重置`,-1)]]),_:1},8,[`disabled`])),_e.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:2,type:`primary`,loading:b.value||V.value,disabled:e.disabled||B.value||V.value,onClick:Qe},{default:(0,c.withCtx)(()=>[...n[9]||=[(0,c.createTextVNode)(`确认并生成规则`,-1)]]),_:1},8,[`loading`,`disabled`])):(0,c.createCommentVNode)(``,!0)])]),Se.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,ae,[(0,c.createElementVNode)(`span`,null,(0,c.toDisplayString)(Se.value),1),Ce.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:0,type:`link`,size:`small`,onClick:q},{default:(0,c.withCtx)(()=>[...n[10]||=[(0,c.createTextVNode)(`重试`,-1)]]),_:1})):(0,c.createCommentVNode)(``,!0)])):(0,c.createCommentVNode)(``,!0),(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__body`,{"is-single-file":ve.value,"is-inspector-hidden":!ge.value}])},[ve.value?(0,c.createCommentVNode)(``,!0):((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:0,class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__navigator-wrap`,{"is-collapsed":D.value}])},[(0,c.createVNode)((0,c.unref)(l.Tooltip),{title:D.value?`展开页面栏`:`收起页面栏`},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`button`,{type:`button`,class:`gd-ant-contract-signing-location__panel-handle`,"aria-label":D.value?`展开页面栏`:`收起页面栏`,"aria-expanded":!D.value,onClick:n[0]||=e=>D.value=!D.value},[D.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.RightOutlined),{key:0,"aria-hidden":`true`})):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.LeftOutlined),{key:1,"aria-hidden":`true`}))],8,oe)]),_:1},8,[`title`]),(0,c.createElementVNode)(`div`,se,[(0,c.createVNode)(s.default,{files:h.value.files,"active-file-id":_.value,"loading-preview-keys":Oe.value,"error-preview-keys":ke.value,onSelect:Le},null,8,[`files`,`active-file-id`,`loading-preview-keys`,`error-preview-keys`])])],2)),(0,c.createVNode)(a.default,{ref_key:`canvasRef`,ref:T,file:z.value,pages:z.value?.pages??[],placements:Te.value,"reference-placements":Ee.value,"selected-placement-id":y.value,readonly:W.value,resizable:e.resizable,"seal-size-limit":p.value,"seal-type-options":e.sealTypeOptions,zoom:w.value,"preview-loading-keys":Ae.value,"preview-error-map":je.value,"active-page-index":v.value,"min-zoom":e.minZoom,"max-zoom":e.maxZoom,"font-base-url":e.contractFontBaseUrl,"layout-issues":be.value,"layout-checking":V.value,onSelect:n[1]||=e=>y.value=e,onRetry:st,onAdd:n[2]||=(e,t,n,r)=>We(e,{signLeft:t,signTop:n,pageIndex:r}),onUpdate:n[3]||=e=>Ge(e.id,e),onRemove:qe,onVisiblePages:Be,onViewPage:Re,onPageChange:ze,onZoomChange:Ne,onTemplateStatus:$e},null,8,[`file`,`pages`,`placements`,`reference-placements`,`selected-placement-id`,`readonly`,`resizable`,`seal-size-limit`,`seal-type-options`,`zoom`,`preview-loading-keys`,`preview-error-map`,`active-page-index`,`min-zoom`,`max-zoom`,`font-base-url`,`layout-issues`,`layout-checking`]),ge.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:1,class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__inspector-wrap`,{"is-collapsed":E.value}])},[(0,c.createVNode)((0,c.unref)(l.Tooltip),{title:E.value?`展开属性栏`:`收起属性栏`},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`button`,{type:`button`,class:`gd-ant-contract-signing-location__panel-handle`,"aria-label":E.value?`展开属性栏`:`收起属性栏`,"aria-expanded":!E.value,onClick:n[4]||=e=>E.value=!E.value},[E.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.RightOutlined),{key:1,"aria-hidden":`true`}))],8,ce)]),_:1},8,[`title`]),(0,c.createElementVNode)(`div`,le,[(0,c.createVNode)(o.default,{placement:G.value,page:De.value,pages:z.value?.pages??[],placements:Te.value,readonly:W.value,resizable:e.resizable,"seal-size-limit":p.value,"seal-type-options":e.sealTypeOptions,"allowed-placement-types":e.allowedPlacementTypes,"size-profile":e.sizeProfile,onAdd:We,onUpdate:n[5]||=e=>G.value&&Ge(G.value.id,e),onDuplicate:Ke,onRemove:qe,onLocate:Ue},null,8,[`placement`,`page`,`pages`,`placements`,`readonly`,`resizable`,`seal-size-limit`,`seal-type-options`,`allowed-placement-types`,`size-profile`])])],2)):(0,c.createCommentVNode)(``,!0)],2)],6))}});exports.default=de;
@@ -1 +1 @@
1
- require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./constants.cjs`),t=require(`./utils/page-decorations.cjs`),n=require(`./types.cjs`),r=require(`./composables/use-template-designer.cjs`),i=require(`./utils/image-url.cjs`),a=require(`./utils/template-renderer.cjs`),o=require(`./utils/contract-layout-check.cjs`),s=require(`./composables/use-fit-width-zoom.cjs`),c=require(`./utils/content-image.cjs`),ee=require(`./utils/signing-layout-presets.cjs`),te=require(`./utils/context-variable.cjs`),ne=require(`./utils/caret-viewport.cjs`),re=require(`./DesignerPage.cjs`),ie=require(`./TableContextMenu.cjs`),ae=require(`./ContractTemplateDesignerWorkspaceHeader.cjs`),oe=require(`./utils/template-tool-icons.cjs`),se=require(`./ContractTemplateDesignerToolbar.cjs`),ce=require(`./ContractTemplateAuthoringBar.cjs`),le=require(`./composables/use-template-authoring.cjs`),ue=require(`./ContractTemplateTextContextMenu.cjs`),de=require(`./ContractTemplateTextBubbleMenu.cjs`),fe=require(`./ContractTemplateImageContextMenu.cjs`),pe=require(`./ContractTemplatePreviewModal.cjs`),me=require(`./ContractTemplateSubmitDataModal.cjs`),he=require(`./ContractTemplateVariableDataModal.cjs`),ge=require(`./SigningLayoutCustomModal.cjs`),_e=require(`./composables/use-template-draft-cache.cjs`),ve=require(`./composables/use-auto-pagination.cjs`),ye=require(`./composables/use-designer-files.cjs`),l=require(`./composables/use-template-files.cjs`),be=require(`./composables/use-draft-cache-session.cjs`),xe=require(`./ContractTemplateFileBar.cjs`),Se=require(`./ContractTemplateDesignerSidebar.cjs`),Ce=require(`./ContractTemplateDesignerInspector.cjs`),we=require(`./ContractTemplatePageDecorationsStudio.cjs`),u=require(`./utils/serialize-fingerprint.cjs`),Te=require(`./utils/editor-state.cjs`),d=require(`./utils/context-menu-viewport.cjs`);let f=require(`vue`),p=require(`ant-design-vue`),Ee=require(`@vueuse/core`),De=require(`@ant-design/icons-vue`);var Oe={key:2,class:`gd-contract-template-designer__validation`},ke={key:0,class:`gd-contract-template-designer__validation-list`},Ae=[`onClick`],je={class:`gd-contract-template-designer__sr-status`,"aria-live":`polite`},Me=.5,Ne=1.5,Pe=.1,Fe=300,Ie=500,Le=128,Re=108,ze=48,Be=24,Ve=10,He=48,Ue=8,We=300,Ge=`contract-template-layout-warning`,m=(0,f.defineComponent)({name:`ProContractTemplateDesigner`,__name:`ProContractTemplateDesigner`,props:{modelValue:{default:void 0},files:{},activeFileId:{},readonly:{type:Boolean,default:!1},checkLayoutOnExport:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},height:{default:760},pageSize:{default:()=>r.DEFAULT_PAGE_SIZE},pageSizeOptions:{},maxPages:{default:20},imageCompression:{type:[Object,Boolean]},imageUpload:{},variableTypes:{default:()=>r.DEFAULT_FIELD_TYPES},signingLayoutPresets:{},showImageControl:{type:Boolean,default:!1},showCheckboxControl:{type:Boolean,default:!1},showAdvancedChoiceControls:{type:Boolean,default:!1},showBuiltinSelectorControls:{type:Boolean,default:!1},showCustomControls:{type:Boolean,default:!1},defaultVariableStyle:{default:()=>r.DEFAULT_FIELD_STYLE},fontFamilies:{default:void 0},fontFamilyMode:{default:`append`},contractFontBaseUrl:{default:void 0},showSubmitDataViewer:{type:Boolean,default:!0},showVariableDataViewer:{type:Boolean,default:!0},showClearButton:{type:Boolean,default:!0},enableDraftCache:{type:Boolean,default:!0},draftCacheKey:{default:_e.DEFAULT_DRAFT_CACHE_KEY},draftCacheInterval:{default:_e.DEFAULT_DRAFT_CACHE_INTERVAL},draftCacheMaxBytes:{default:_e.DEFAULT_DRAFT_CACHE_MAX_BYTES},showDraftCacheStatus:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`,`update:files`,`update:activeFileId`,`files-change`,`file-add`,`file-change`,`file-remove`,`file-move`,`variable-add`,`validate`,`draft-cache-change`,`page-limit`,`image-error`,`layout-warning`],setup(m,{expose:Ke,emit:qe}){let h=m,g=qe,Je=(0,f.computed)(()=>({height:typeof h.height==`number`?`${h.height}px`:h.height})),Ye=(0,f.ref)(),Xe=(0,f.ref)();function Ze(){return Xe.value}function Qe(){let e=ft,t=Xe.value;return ne.captureCaretViewport(t,()=>e===ft&&!un&&!H.value&&t?.isConnected!==!1)}function $e(){ft+=1}let et=(0,f.ref)(),tt=(0,f.ref)(),nt=(0,f.ref)(),rt=`gd-contract-template-page-decorations-studio-${(0,f.useId)()}`,it=`gd-contract-template-workspace-chrome-${(0,f.useId)()}`,at=(0,f.ref)(),ot=(0,f.ref)(),st=(0,f.ref)(),ct=``,lt=``,ut,dt,ft=0,pt=r.createTemplateBodySync(),mt=new Map,ht=(0,f.ref)(!1),_=(0,f.computed)(()=>ht.value||Array.isArray(h.files)),gt=l.normalizeContractTemplateFiles(h.files,h.modelValue,h.pageSize),_t=l.constrainContractTemplateFiles(gt,h.pageSizeOptions),vt=_.value?_t.files:gt,yt=l.resolveContractTemplateActiveFileId(vt,h.activeFileId),v=(0,f.ref)(vt),y=(0,f.ref)(yt),bt=vt.find(e=>e.id===yt)??vt[0],xt=r.normalizeTemplateValue(bt?.template??h.modelValue,h.pageSize),b=(0,f.ref)(r.constrainTemplatePageSizes(xt,h.pageSizeOptions));_.value?(v.value=l.replaceContractTemplateFile(v.value,y.value,b.value),u.serializeFingerprint(v.value)!==u.serializeFingerprint(gt)&&X(v.value)):h.modelValue&&u.serializeFingerprint(b.value)!==u.serializeFingerprint(xt)&&Lr(b.value);let x=(0,f.ref)(``),S=(0,f.ref)(b.value.pages[0]?.id??``),C=(0,f.ref)(!1),w=(0,f.ref)([]),T=new Map,St=(0,f.ref)(!1),Ct=(0,f.ref)(``),E=(0,f.ref)(!1),D=(0,f.ref)(),wt=(0,f.ref)(),Tt=(0,f.ref)(``),Et=(0,f.ref)(!1),Dt=(0,f.ref)(``),Ot=(0,f.ref)(!1),kt=(0,f.ref)({values:{},variables:[]}),O=(0,f.ref)(1),k=(0,f.ref)(!1),At=(0,f.ref)(!1),jt=(0,f.ref)(!1),A=(0,f.ref)(!1),j=(0,f.ref)(!1),Mt=(0,f.ref)(),M=(0,f.ref)(!1),Nt=(0,f.ref)(`header`),Pt=(0,f.ref)(!1),Ft=(0,f.ref)({}),N=(0,f.ref)(``),P=(0,f.ref)(!1),F=(0,f.ref)(!1),It=(0,f.ref)(!1),Lt=(0,f.ref)(!1),Rt=(0,f.ref)(!1),zt=(0,f.ref)(!1),Bt=(0,f.ref)(!1),Vt=(0,f.ref)(``),Ht=(0,f.ref)(),Ut=(0,f.ref)(),Wt=(0,f.ref)(``),Gt=(0,f.ref)(!1),I=(0,f.ref)(),Kt=(0,f.ref)(),L=(0,f.ref)(),qt=(0,f.ref)(),Jt=(0,f.ref)(!1),Yt,Xt=(0,f.ref)(!1),Zt,Qt=(0,f.ref)(!1),$t=(0,f.ref)(``),R=(0,f.ref)(),en=(0,f.ref)(),z=(0,f.ref)(),tn=(0,f.ref)(),nn=(0,f.ref)(),rn=(0,f.ref)(),B=(0,f.ref)(``),V=(0,f.ref)(_e.createDraftCacheStatus(`idle`,`暂无本地草稿`)),an=(0,f.ref)({rows:3,cols:3,withHeaderRow:!0}),on=new WeakSet,sn=[`.gd-contract-template-designer__page-decorations-select-popup`,`.gd-contract-template-designer__page-decorations-dropdown-popup`].join(`,`),cn,ln,un=!1,dn=!1,fn,pn,H=(0,f.computed)(()=>h.readonly||h.disabled),{panel:mn,query:hn,replacement:gn,matchCase:_n,matches:vn,currentIndex:yn,currentMatch:bn,feedback:xn,highlightQuery:Sn,open:Cn,close:wn,navigate:Tn,replaceCurrent:En,replaceAll:Dn,handleKeydown:On}=le.useTemplateAuthoring({pages:()=>b.value.pages,fileId:()=>y.value,readonly:()=>H.value,root:()=>Ye.value,pageRefs:T,activatePage:Sa,beforeOpen:()=>{$(),vo(),A.value=!1},focusPanel:()=>st.value?.focusPanel(),focusTrigger:e=>st.value?.focusTrigger(e)}),kn=(0,f.computed)(()=>!!(I.value||mn.value||R.value||z.value||P.value||F.value||Pt.value||It.value||Lt.value||Rt.value||zt.value||Bt.value)),An=(0,f.computed)(()=>!!h.enableDraftCache&&!H.value),jn=(0,f.computed)(()=>v.value.find(e=>e.id===y.value)??v.value[0]),Mn=(0,f.computed)(()=>D.value?r.buildTemplatePreviewPages(D.value):[]),Nn=(0,f.computed)(()=>(wt.value??[]).map(e=>({file:e,pages:r.buildTemplatePreviewPages(e.template)}))),Pn=(0,f.computed)(()=>Nn.value.find(e=>e.file.id===Tt.value)??Nn.value[0]),U=(0,f.computed)(()=>b.value.pages.find(e=>e.id===S.value)??b.value.pages[0]),Fn=(0,f.computed)(()=>r.resolvePageSize(U.value?.pageSize,b.value.pageSize)),In=(0,f.computed)(()=>C.value&&w.value.length===0),Ln=(0,f.computed)(()=>C.value?In.value?`校验通过,正文变量与变量配置一致`:`发现 ${w.value.length} 个校验问题`:``),Rn=(0,f.computed)(()=>{let e=U.value?.title||`合同正文`;return`${_.value&&jn.value?`${jn.value.name} · `:``}${e} · ${Fn.value.label} · 共 ${b.value.pages.length} 页`}),zn=(0,f.computed)(()=>({none:`无装饰`,"page-number":`标准页码`,"internal-review":`内部审阅`,draft:`草稿`,custom:`自定义`})[t.resolvePageDecorationPreset(b.value.pageDecorations)]),Bn=(0,f.computed)(()=>{let e=t.normalizePageDecorations(b.value.pageDecorations);return{header:e.header.enabled,footer:e.footer.enabled,watermark:e.watermark.enabled}}),Vn=(0,f.computed)(()=>Object.values(Bn.value).filter(Boolean).length),Hn=(0,f.computed)(()=>{switch(V.value.type){case`saved`:return`草稿已缓存 ${_e.formatDraftCacheSavedAt(V.value.savedAt)}`;case`restored`:return`已恢复本地草稿`;case`too-large`:return`草稿过大,未缓存`;case`unavailable`:case`read-failed`:case`write-failed`:return`草稿缓存失败`;case`cleared`:return`草稿缓存已清理`;default:return``}}),Un=(0,f.computed)(()=>({"is-success":V.value.type===`saved`||V.value.type===`restored`,"is-warning":V.value.type===`too-large`,"is-error":V.value.type===`unavailable`||V.value.type===`read-failed`||V.value.type===`write-failed`})),Wn=(0,f.computed)(()=>`${Math.round(O.value*100)}%`),Gn=(0,f.computed)(()=>e.resolveFontFamilyOptions(h.fontFamilies,h.fontFamilyMode)),Kn=(0,f.computed)(()=>Gn.value.map(e=>({label:e.label,value:e.value}))),qn=e.DEFAULT_TEXT_ALIGN_OPTIONS,Jn=[...e.CONTRACT_BLOCK_STYLES.map(e=>({label:e.label,value:e.format}))],Yn=[{label:`实线`,value:`solid`},{label:`虚线`,value:`dashed`}],Xn=[{label:`完整显示`,value:`contain`},{label:`铺满裁剪`,value:`cover`},{label:`拉伸填充`,value:`fill`}],Zn=(0,f.computed)(()=>r.normalizePageSizeOptions(h.pageSizeOptions)),Qn=(0,f.computed)(()=>Zn.value.map(e=>({label:`${e.label} · ${e.width} × ${e.height}`,value:r.getPageSizeKey(e)}))),$n=(0,f.computed)(()=>r.getPageSizeKey(Fn.value)),er=(0,f.computed)(()=>h.draftCacheKey),W=(0,f.computed)(()=>b.value.variables.find(e=>e.key===x.value)),tr=(0,f.computed)(()=>{let e=[...h.variableTypes,...h.showImageControl?[r.DEFAULT_IMAGE_FIELD_TYPE]:[],...h.showCheckboxControl?[r.DEFAULT_CHECKBOX_FIELD_TYPE]:[],...h.showAdvancedChoiceControls?r.DEFAULT_ADVANCED_CHOICE_FIELD_TYPES:[],...h.showBuiltinSelectorControls?r.DEFAULT_BUILTIN_SELECTOR_FIELD_TYPES:[],...h.showCustomControls?r.DEFAULT_CUSTOM_FIELD_TYPES:[]].filter(e=>n.isContractTemplateFieldType(e?.type));return Array.from(new Map(e.map(e=>[e.type,e])).values())}),nr=(0,f.computed)(()=>{let e=[...ee.SIGNING_LAYOUT_PRESET_KEYS.map(e=>ee.SIGNING_LAYOUT_PRESETS[e]),...(h.signingLayoutPresets??[]).filter(e=>!!e?.key)];return Array.from(new Map(e.map(e=>[e.key,e])).values())}),rr=(0,f.computed)(()=>tr.value.map(e=>({...e,icon:oe.resolveFieldTypeIcon(e.type),group:e.type===`select`||e.type===`radio`?`basic`:e.type.endsWith(`-selector`)?`builtin-selector`:e.type===`custom`?`custom`:`basic`}))),G=(0,f.computed)(()=>r.normalizeContractTemplateMaxPages(h.maxPages)),ir=(0,f.computed)(()=>b.value.pages.length>=G.value),ar=(0,f.computed)(()=>{let e=pt.collectKeys(b.value);return Array.from(t.collectPageDecorationVariableKeys(b.value.pageDecorations)).filter(t=>!e.has(t))}),{scheduleAutoPaginate:or,scheduleFullPagination:K,resetPagination:sr,disposePagination:cr}=ve.useAutoPagination({templateValue:b,readonlyState:H,isAutoPaginating:St,pendingPaginationPageId:Ct,activePageId:S,normalizedMaxPages:G,pageRefs:T,applyPagesChange:e=>{b.value={...b.value,pages:e},C.value=!1,w.value=[],Pr()},getPageSize:Xr,notifyPageLimit:Qr,captureViewport:Qe}),{saveDraftCache:lr,loadDraftCache:ur,clearDraftCache:dr,restoreDraftCacheIfNeeded:fr,stopDraftCacheTimer:pr,restartDraftCacheTimer:mr,resetDraftFingerprint:hr}=be.useDraftCacheSession({draftCacheWritable:An,multipleFilesMode:_,filesValue:v,activeFileIdValue:y,templateValue:b,draftCacheKey:er,draftCacheInterval:()=>h.draftCacheInterval,draftCacheMaxBytes:()=>h.draftCacheMaxBytes,pageSize:()=>h.pageSize,pageSizeOptions:()=>h.pageSizeOptions,syncActiveFileSnapshot:Y,syncPageEditors:()=>(Nr(),J()),setActiveFileId:Rr,emitFilesChange:X,commit:Z,updateDraftCacheStatus:zr,scheduleFullPagination:K,activePageId:S,selectedVariableKey:x}),gr=(0,f.computed)(()=>{let e=$t.value.trim().toLowerCase(),t=b.value.variables;return e?t.filter(t=>t.label.toLowerCase().includes(e)||t.key.toLowerCase().includes(e)):t}),_r=(0,f.computed)(()=>Math.max(ze,Fn.value.width-Le)),vr=(0,f.computed)(()=>Math.max(Be,Fn.value.height-Re)),q=(0,f.computed)(()=>Ft.value[S.value]??Er()),yr=(0,f.computed)(()=>q.value.hasMixedBlockFormats?void 0:q.value.currentHeadingLevel??`paragraph`),br=(0,f.computed)(()=>q.value.fontFamily||e.DEFAULT_CONTRACT_FONT_FAMILY),xr=(0,f.computed)(()=>q.value.fontSize??r.DEFAULT_FIELD_STYLE.fontSize??14),Sr=(0,f.computed)(()=>q.value.textColor||r.DEFAULT_FIELD_STYLE.color||`#1f2937`),Cr=(0,f.computed)(()=>W.value?.style?.fontFamily||r.DEFAULT_FIELD_STYLE.fontFamily||e.DEFAULT_CONTRACT_FONT_FAMILY),wr=(0,f.computed)(()=>{let t=e.DEFAULT_FONT_SIZE_PRESETS.map(e=>({label:`${e}px`,value:e})),n=Ar(xr.value),r=Ar(N.value),i=new Map;return r&&!e.DEFAULT_FONT_SIZE_PRESETS.includes(r)&&i.set(r,{label:`使用 ${r}px`,value:r}),n&&!e.DEFAULT_FONT_SIZE_PRESETS.includes(n)&&i.set(n,{label:r===n?`使用 ${n}px`:`${n}px`,value:n}),[...Array.from(i.values()),...t]});(0,f.watch)(()=>h.modelValue,(e,t)=>{if(!e||_.value)return;if(e!==t&&dt&&(0,f.toRaw)(e)===(0,f.toRaw)(dt)){lt=``;return}if(u.serializeFingerprint(e)===lt){lt=``;return}let n=r.normalizeTemplateValue(e,h.pageSize),i=r.constrainTemplatePageSizes(n,h.pageSizeOptions),a=u.serializeFingerprint(i)!==u.serializeFingerprint(b.value),o=u.serializeFingerprint(i)===lt;o&&(lt=``),(a||!o)&&(lt=``,$e(),sr(),pt.clear(),Mr(),b.value=i,v.value=l.replaceContractTemplateFile(v.value,y.value,i),S.value=i.pages[0]?.id??``,x.value=``,K()),u.serializeFingerprint(i)!==u.serializeFingerprint(n)&&Lr(i)},{deep:!0}),(0,f.watch)(()=>h.files,(e,t)=>{if(!Array.isArray(e))return;if(e!==t&&ut&&(0,f.toRaw)(e)===(0,f.toRaw)(ut)){ct=``;return}if(u.serializeFingerprint(e)===ct){ct=``;return}let n=l.normalizeContractTemplateFiles(e,void 0,h.pageSize),r=l.constrainContractTemplateFiles(n,h.pageSizeOptions).files,i=u.serializeFingerprint(r),a=u.serializeFingerprint(v.value);i===ct&&(ct=``);let o=l.resolveContractTemplateActiveFileId(r,h.activeFileId||y.value);i===a?o!==y.value&&Rr(o,{syncCurrent:!1,shouldEmit:!1}):(ct=``,v.value=r,Rr(o,{syncCurrent:!1,shouldEmit:!1,forceRefresh:!0})),i!==u.serializeFingerprint(n)&&X(r)},{deep:!0}),(0,f.watch)(()=>h.activeFileId,e=>{!_.value||!e||e===y.value||Rr(e,{syncCurrent:!0,shouldEmit:!1})});function Tr(e,t){let n=u.serializeFingerprint(v.value);Y(!1);let i=l.normalizeContractTemplateFiles(v.value,void 0,e),{files:a}=l.constrainContractTemplateFiles(i,t),o=u.serializeFingerprint(a)!==n,s=a.find(e=>e.id===y.value);return s&&u.serializeFingerprint(s.template)!==u.serializeFingerprint(b.value)&&(b.value=r.cloneTemplateValue(s.template)),o&&(C.value=!1,w.value=[],X(a,``)),o}(0,f.watch)([()=>h.pageSize,()=>h.pageSizeOptions],([e,t])=>{if(_.value){Tr(e,t),K();return}let n=r.normalizeTemplateValue(b.value,e),i=r.constrainTemplatePageSizes(n,t);u.serializeFingerprint(i)!==u.serializeFingerprint(b.value)&&Z(i),K()},{deep:!0}),(0,f.watch)(G,()=>{K()}),(0,f.watch)(H,e=>{e?($(),P.value=!1,F.value=!1):K()}),(0,f.watch)(S,()=>{L.value=void 0}),(0,f.watch)([kn,M,E],()=>{xo()}),(0,f.watch)(()=>[h.enableDraftCache,er.value,h.draftCacheInterval,H.value],()=>{hr(),mr()}),(0,f.watch)(k,e=>{if(!(typeof document>`u`)){if(e){cn=document.body.style.overflow,document.body.style.overflow=`hidden`;return}document.body.style.overflow=cn??``,cn=void 0}}),(0,f.onMounted)(()=>{fr(),mr(),K(),document.fonts?.ready.then(K),document.fonts?.addEventListener(`loadingdone`,K),window.addEventListener(`pointerdown`,ko,!0),window.addEventListener(`pointerup`,Eo),window.addEventListener(`keydown`,Mo,!0),window.addEventListener(`keydown`,No),window.addEventListener(`resize`,Do),window.addEventListener(`scroll`,Ao,!0)}),(0,f.onBeforeUnmount)(()=>{$e(),cr(),Nr(),un=!0,Va!==void 0&&clearTimeout(Va),Ha?.abort(),Ba.dispose(),k.value&&typeof document<`u`&&(document.body.style.overflow=cn??``),document.fonts?.removeEventListener(`loadingdone`,K),window.removeEventListener(`pointerdown`,ko,!0),window.removeEventListener(`pointerup`,Eo),window.removeEventListener(`keydown`,Mo,!0),window.removeEventListener(`keydown`,No),window.removeEventListener(`resize`,Do),window.removeEventListener(`scroll`,Ao,!0),Zt!==void 0&&cancelAnimationFrame(Zt),pr()});function Er(){return{isFocused:!1,canUndo:!1,canRedo:!1,isBold:!1,isItalic:!1,isUnderline:!1,isBulletList:!1,isOrderedList:!1,isTableActive:!1,textAlign:`left`,fontFamily:e.DEFAULT_CONTRACT_FONT_FAMILY,fontSize:r.DEFAULT_FIELD_STYLE.fontSize??14,textColor:r.DEFAULT_FIELD_STYLE.color??`#1f2937`,selectionText:``,hasMixedBlockFormats:!1}}function Dr(e){return e===`left`||e===`center`||e===`right`}function Or(e){return typeof e==`number`&&Number.isInteger(e)&&e>=1&&e<=6}function kr(e,t=xr.value){let n=Number(e);return Number.isFinite(n)?Math.min(He,Math.max(Ve,Math.round(n))):t}function Ar(e){let t=String(e||``).trim().match(/(\d+(\.\d+)?)/);if(!t)return;let n=Number(t[1]);if(Number.isFinite(n))return Math.min(He,Math.max(Ve,Math.round(n)))}function J(e=b.value){let t=!1,n=e.pages.map(e=>{let n=T.get(e.id)?.getContentSnapshot(e),r=n?.contentHtml??e.contentHtml,i=n?.contentJson??e.contentJson;return r===e.contentHtml&&(0,f.toRaw)(i)===(0,f.toRaw)(e.contentJson)?e:(t=!0,{...e,contentHtml:r,contentJson:i})});return t?{...e,pages:n}:e}function jr(){fn!==void 0&&(clearTimeout(fn),fn=void 0),pn!==void 0&&typeof cancelIdleCallback==`function`&&cancelIdleCallback(pn),pn=void 0}function Mr(){dn=!1,jr()}function Nr(){let e=dn;Mr(),e&&Ir()}function Pr(){dn=!0,jr(),fn=setTimeout(()=>{fn=void 0;let e=()=>{if(pn=void 0,!(!dn||un)){if(St.value)return Pr();dn=!1,Ir()}};typeof requestIdleCallback==`function`?pn=requestIdleCallback(e,{timeout:Ie}):e()},Fe)}function Fr(e){let t=b.value.pages,n=t.findIndex(t=>t.id===e.id);if(n<0)return;let r=t[n];if(r.contentHtml===e.contentHtml&&r.contentJson===e.contentJson&&r.title===e.title&&r.pageSize===e.pageSize)return;let i=t.slice();i[n]=e,b.value={...b.value,pages:i}}function Ir(){let e=J(),t=pt.sync(e);x.value&&!t.variables.some(e=>e.key===x.value)&&(x.value=``),Z(t,{normalizedBody:!0})}function Y(e=!1){Nr();let t=r.cloneTemplateValue(J());if(!_.value)return t;let n=v.value.find(e=>e.id===y.value)?.template,i=u.serializeFingerprint(n)!==u.serializeFingerprint(t),a=l.replaceContractTemplateFile(v.value,y.value,t);return v.value=a,i&&e&&X(a),t}function Lr(e){let t=r.cloneTemplateValue(e);dt=t,lt=u.serializeFingerprint(e),g(`update:modelValue`,t),g(`change`,r.cloneTemplateValue(e))}function X(e,t=y.value){if(!_.value)return;let n=l.cloneContractTemplateFiles(e),r=l.cloneContractTemplateFiles(n);v.value=n,ut=r,ct=u.serializeFingerprint(r),g(`update:files`,r),g(`files-change`,l.cloneContractTemplateFiles(r));let i=r.find(e=>e.id===t);i&&g(`file-change`,l.cloneContractTemplateFiles([i])[0])}function Rr(e,t={}){let{syncCurrent:n,shouldEmit:i,forceRefresh:a}=ye.resolveSetActiveFileIdOptions(t),o=l.resolveContractTemplateActiveFileId(v.value,e),s=o!==y.value;if((s||a)&&v.value.some(e=>e.id===o)&&($e(),sr()),n?Y(!0):Mr(),!s&&!a)return;let c=v.value.find(e=>e.id===o);c&&(y.value=o,b.value=r.cloneTemplateValue(c.template),x.value=``,S.value=b.value.pages[0]?.id??``,Ft.value={},T.clear(),pt.clear(),mt.clear(),C.value=!1,w.value=[],E.value=!1,D.value=void 0,wt.value=void 0,hr(),i&&s&&g(`update:activeFileId`,o),n&&s&&An.value&&lr(),(0,f.nextTick)(()=>{K()}))}function Z(e,t={}){Mr();let n=t.normalizedBody?e:r.constrainTemplatePageSizes(r.normalizeTemplateValue(e,h.pageSize),h.pageSizeOptions);return t.normalizedBody||(pt.clear(),mt.clear()),b.value=n,C.value=!1,w.value=[],_.value?X(l.replaceContractTemplateFile(v.value,y.value,n)):(v.value=l.replaceContractTemplateFile(v.value,y.value,n),Lr(n)),n}function zr(e,t=e.type!==`unchanged`){V.value=e,t&&g(`draft-cache-change`,{...e})}function Br(){return{...V.value}}function Vr(e,t){t?T.set(e,t):T.delete(e)}function Hr(e){$(),Rt.value=!1,Q({type:`insert-signing-layout`,preset:ee.isSigningLayoutPresetKey(e.key)?e.key:void 0,options:e.options})}function Ur(e){$(),Q({type:`insert-signing-layout`,options:e})}function Wr(){Rt.value=!1,Bt.value=!0}function Gr(e){$(),zt.value=!1,Q({type:`insert-signing-mark`,mark:{markType:e}})}function Q(e,t=U.value?.id??S.value){H.value||T.get(t)?.runCommand(e)}function Kr(e){Q(e),$()}function qr(e){let t=I.value?.pageId;t&&(T.get(t)?.focus(),B.value=typeof document<`u`&&document.execCommand(e)?`${e===`copy`?`已复制`:e===`cut`?`已剪切`:`已粘贴`}`:`浏览器未授权剪贴板操作,请使用系统快捷键。`,$())}function Jr(e){let t=Z(r.syncTemplateVariablesWithPages(e));return x.value&&!t.variables.some(e=>e.key===x.value)&&(x.value=``),t}function Yr(e){Fr(e),Pr(),or(e.id)}function Xr(e){let t=r.resolvePageSize(e?.pageSize,b.value.pageSize),n=`${r.getPageSizeKey(t)}:${t.label??``}`;return mt.get(n)||(mt.set(n,t),t)}function Zr(e){if(H.value||!U.value)return;let t=Zn.value.find(t=>r.getPageSizeKey(t)===e);if(!t)return;let n=U.value.id,i=r.resolvePageSize(t,b.value.pageSize);Z({...b.value,pages:b.value.pages.map(e=>e.id===n?{...e,pageSize:i}:e)}),or(n)}function Qr(e){let t=G.value;B.value=`合同最多支持 ${t} 页`,g(`page-limit`,t,e)}function $r(){if(H.value)return;if(ir.value){Qr(`add`);return}let e=r.createDefaultPage(b.value.pages.length+1,Fn.value);Z({...b.value,pages:[...b.value.pages,e]}),S.value=e.id,K()}function ei(e){if(H.value)return;if(ir.value){Qr(`duplicate`);return}let t=b.value.pages.findIndex(t=>t.id===e.id);if(t<0)return;let n=r.cloneTemplateValue({pages:[e],variables:[],pageSize:b.value.pageSize}).pages[0],i=r.createBlankPage(t+2,Xr(e),n.contentHtml,n.contentJson);i.title=`${e.title||`第 ${t+1} 页`}副本`;let a=[...b.value.pages];a.splice(t+1,0,i),Z({...b.value,pages:a}),S.value=i.id,K()}function ti(e){if(H.value||b.value.pages.length<=1)return;let t=b.value.pages.findIndex(t=>t.id===e.id);if(t<0)return;let n=b.value.pages.filter(t=>t.id!==e.id),r=Jr({...b.value,pages:n});S.value=r.pages[Math.min(t,r.pages.length-1)]?.id??``,K()}function ni(e){H.value||b.value.pages.length<=1||p.Modal.confirm({title:`删除合同页面`,content:`删除页面会同时移除页面正文,是否继续?`,okText:`确认删除`,okType:`danger`,cancelText:`取消`,onOk:()=>{ti(e)}})}function ri(e){let t=new Set(b.value.variables.map(e=>e.key)),n=1;for(;t.has(`${e}_${n}`);)n+=1;return`${e}_${n}`}function ii(e){let t=e.type??`text`;return r.createTemplateVariable({...e,type:t,key:e.key||ri(t),label:e.label||r.getFieldOption(t,tr.value).label},tr.value,h.defaultVariableStyle)}function ai(e,t=U.value?.id??b.value.pages[0].id,n){if(H.value)return e;let r=T.get(t)?.insertVariable(e,n),i=!b.value.variables.some(t=>t.key===e.key);return Z({...b.value,pages:r?b.value.pages.map(e=>e.id===r.id?r:e):b.value.pages,variables:i?[...b.value.variables,e]:b.value.variables}),x.value=e.key,S.value=t,i&&g(`variable-add`,e),or(t),e}function oi(e){let{width:t,height:n,...r}=e,i=c.normalizeContractImageDimension(t),a=c.normalizeContractImageDimension(n);return{...r,...i===void 0?{}:{width:i},...a===void 0?{}:{height:a}}}function si(e={}){let t=c.normalizeContractImageDimension(Ht.value),n=c.normalizeContractImageDimension(Ut.value);return{...e,...t===void 0?{}:{width:t},...n===void 0?{}:{height:n}}}function ci(){Vt.value=``,Ht.value=void 0,Ut.value=void 0,Wt.value=``}function li(e,t=U.value?.id??b.value.pages[0]?.id,n){let r=oi({...e,src:e.src.trim()});if(!(H.value||!t||!i.isSafeContractImageUrl(r.src)||!r.src||!T.get(t)?.insertContentImage(r,n)))return S.value=t,x.value=``,r.src}function ui(e){return e instanceof Error?e:Error(`图片处理失败`)}async function di(e,t){t===`toolbar`&&(Gt.value=!0,Wt.value=``);try{let n=await c.processContractImageFile(e,{source:t,compression:h.imageCompression,upload:h.imageUpload});return un?void 0:n.src}catch(e){let n=ui(e);t===`toolbar`&&(Wt.value=n.message),B.value=n.message,g(`image-error`,n,t);return}finally{t===`toolbar`&&(Gt.value=!1)}}let fi=0;function pi(e){let t=e.replacedFontFamilies.filter(Boolean);if(!t.length)return;let n=Date.now();n-fi<800||(fi=n,p.message.info(`已将 ${t.length} 种外部字体(${t.join(`、`)})统一为合同标准字体,以保证 Mac 与 Windows 排版一致`))}async function mi(e){return await di(e,`paste`)??null}async function hi(e,t={}){if(H.value)return;let n=U.value?.id??b.value.pages[0]?.id,r=n?T.get(n)?.getSelectionRange():void 0,a=typeof e==`string`?e.trim():await di(e,`toolbar`);if(un)return;if(!a||!i.isSafeContractImageUrl(a)){typeof e==`string`&&(Wt.value=`请输入安全的图片 URL`);return}if(n&&!T.has(n))return;let o=li({...t,src:a},n,r);return o&&(Lt.value=!1,ci(),B.value=`已插入图片`),o}function gi(){H.value||Gt.value||($(),Wt.value=``,ot.value&&(ot.value.value=``),ot.value?.click())}async function _i(e){let t=e.target.files?.[0];t&&await hi(t,si({alt:t.name}))}async function vi(){let e=Vt.value;await hi(e,si())}function yi(e){zi(e),It.value=!1}function bi(){$(),$r()}function xi(e,t,n,r){$(),ai(ii({type:t}),e,{left:n,top:r})}function Si(e){$(),x.value=e}function Ci(e){let n=b.value.variables.find(t=>t.id===e.id);if(!n)return;let i=e.key.trim();if(i!==n.key){let t=r.validateContractTemplateVariableKey(i,b.value.variables,e.id);if(t){B.value=t;return}}e={...e,key:i};let a=[...b.value.pages],o=n.key;T.forEach((t,n)=>{let r=t.updateVariable(e,o);if(r){let e=a.findIndex(e=>e.id===n);e>=0&&(a[e]=r)}}),Z({...b.value,pages:a,variables:b.value.variables.map(t=>t.id===e.id?e:t),...o!==e.key&&b.value.pageDecorations?{pageDecorations:t.rewritePageDecorationVariableTokens(b.value.pageDecorations,o,e.key)}:{}}),x.value=e.key,K()}function wi(e){W.value&&Ci({...W.value,...e,style:{...W.value.style,...e.style}})}function Ti(e){H.value||!W.value||wi({key:e})}function Ei(e){H.value||(Z({...b.value,pageDecorations:t.normalizePageDecorations(e)}),K())}function Di(e){(e===`left`||e===`center`||e===`right`)&&wi({style:{textAlign:e}})}function Oi(e){(e===`solid`||e===`dashed`)&&wi({style:{borderStyle:e}})}function ki(e){(e===`contain`||e===`cover`||e===`fill`)&&wi({style:{objectFit:e}})}function Ai(e){wi({style:e})}function ji(t){Ai({fontFamily:String(t||``).trim()||e.DEFAULT_CONTRACT_FONT_FAMILY})}function Mi(e){Ai({fontSize:kr(e,W.value?.style?.fontSize??14)})}function Ni(e){W.value&&wi({multiline:e,rows:W.value.rows||3,lineHeight:W.value.lineHeight||28})}function Pi(e){W.value&&wi({rows:Number(e||3),lineHeight:W.value.lineHeight||28})}function Fi(e){if(H.value)return;let n=[...b.value.pages];T.forEach((t,r)=>{let i=t.removeVariable(e.key);if(i){let e=n.findIndex(e=>e.id===r);e>=0&&(n[e]=i)}}),Z({...b.value,pages:n,variables:b.value.variables.filter(t=>t.id!==e.id),...b.value.pageDecorations?{pageDecorations:t.rewritePageDecorationVariableTokens(b.value.pageDecorations,e.key)}:{}}),x.value=``}function Ii(e){let t=(e.trim()||`variable`).replace(/\s+/g,`_`),n=new Set(b.value.variables.map(e=>e.key));if(!n.has(t))return t;let r=2;for(;n.has(`${t}_${r}`);)r+=1;return`${t}_${r}`}function Li(e){H.value||ai(r.createTemplateVariable({...e,id:void 0,key:Ii(`${e.key||e.type}_copy`),label:`${e.label}副本`,style:{...e.style}},tr.value,h.defaultVariableStyle))}function Ri(e){return H.value?void 0:ai(b.value.variables.find(t=>t.key===e.key)??r.createTemplateVariable(e,tr.value,h.defaultVariableStyle))}function zi(e){if(!H.value)return ai(ii({type:e}))}function Bi(e){if(H.value||!n.isContractTemplateFieldType(e))return;let t=I.value,r=tr.value.find(t=>t.type===e);if(!t||!r)return;let i=te.inferContextVariableLabel(t.leadingText)||r.label,a=te.resolveContextVariableWidth(t.selectionWidth,ze,_r.value),o=Vi();ai(ii({type:e,label:i,...a?{width:a}:{},...o?{style:o}:{}}),t.pageId),B.value=t.hasSelection?`已将选中内容替换为${r.label}控件`:`已插入${r.label}控件`,$()}function Vi(){let e=q.value,t={};return e.isUnderline&&(t.underline=!0),typeof e.fontSize==`number`&&Number.isFinite(e.fontSize)&&(t.fontSize=e.fontSize),e.fontFamily&&(t.fontFamily=e.fontFamily),e.textColor&&(t.color=e.textColor),Object.keys(t).length?t:void 0}function Hi(e){if(H.value)return;let t=I.value;t&&(ai(e,t.pageId),B.value=`已绑定到${e.label},沿用原控件尺寸`,$())}function Ui(e){let t=e.type&&n.isContractTemplateFieldType(e.type)?e.type:`text`;return r.getFieldOption(t,tr.value).label}function Wi(){b.value.variables.length&&(Qt.value=!0,(0,f.nextTick)(()=>{uo(),Kt.value?.focusBindSearch()}))}function Gi(e,t){e.dataTransfer?.setData(`application/x-gd-contract-variable`,t),e.dataTransfer&&(e.dataTransfer.effectAllowed=`copy`)}function Ki(e){return O.value=Math.round(Math.min(Ne,Math.max(Me,Number.isFinite(e)?e:1))*100)/100,O.value}let{width:qi}=(0,Ee.useElementSize)(Xe),Ji=(0,f.computed)(()=>Math.max(...b.value.pages.map(e=>Xr(e).width),r.DEFAULT_PAGE_SIZE.width)+10),{fitWidth:Yi,applyAutoFit:Xi,markUserAdjusted:Zi,userAdjusted:Qi}=s.useFitWidthZoom({viewportWidth:qi,widestPageWidth:Ji,padding:48,minZoom:Me,maxZoom:Ne,getZoom:()=>O.value,applyZoom:Ki});function $i(e){return Zi(),Ki(e)}function ea(){return Xi()}function ta(){return O.value}function na(){$i(O.value+Pe)}function ra(){$i(O.value-Pe)}function ia(){$(),vo(),k.value=!k.value}(0,f.watch)(qi,e=>{j.value&&!Qi.value&&e>0&&Yi()});function aa(e){A.value?at.value?.focus():e()}function oa(){$(),vo(),M.value=!1,ln={fullscreen:k.value,sidebar:At.value,inspector:jt.value,chrome:A.value,zoom:O.value,userAdjusted:Qi.value},k.value=!0,At.value=!0,jt.value=!0,A.value=!0,j.value=!0,(0,f.nextTick)(()=>{H.value?Mt.value?.focus():T.get(S.value)?.focus()})}function sa(){let e=ln;j.value=!1,ln=void 0,e&&(k.value=e.fullscreen,At.value=e.sidebar,jt.value=e.inspector,A.value=e.chrome,e.userAdjusted?$i(e.zoom):Xi(),(0,f.nextTick)(()=>aa(()=>tt.value?.focusImmersive())))}function ca(){j.value?sa():oa()}function la(){$(),L.value=void 0;let e=Y(!1);_.value?(wt.value=l.cloneContractTemplateFiles(v.value),D.value=void 0,Tt.value=y.value||v.value[0]?.id||``):(D.value=r.cloneTemplateValue(e),wt.value=void 0,Tt.value=``),E.value=!0}function ua(){E.value=!1,D.value=void 0,wt.value=void 0,Tt.value=``}function da(){return qa()}function fa(){$();let e=da();return Dt.value=JSON.stringify(e,null,2),Et.value=!0,e}function pa(){Et.value=!1}function ma(){return a.buildTemplateVariableData(Y(!1))}function ha(){$();let e=ma();return kt.value=e,Ot.value=!0,e}function ga(){Ot.value=!1}function _a(){$(),L.value=void 0,P.value=!1,F.value=!1,x.value=``,S.value=``,E.value=!1,D.value=void 0,wt.value=void 0,Et.value=!1,Dt.value=``,Ot.value=!1,kt.value={values:{},variables:[]},Ft.value={},$e(),sr();let e=Z(r.createBlankTemplate(r.DEFAULT_PAGE_SIZE));return S.value=e.pages[0]?.id??``,r.cloneTemplateValue(e)}function va(){H.value||($(),p.Modal.confirm({title:`清空合同内容`,content:`将清空全部合同正文、页面和模板变量,仅保留一个空白 A4 合同页。此操作不可撤销。`,okText:`确认清空`,okType:`danger`,cancelText:`取消`,onOk:()=>{_a()}}))}function ya(e){let t=J().pages,n=t.find(e=>e.id===S.value);return(n?[n,...t.filter(e=>e.id!==n.id)]:t).find(t=>t.contentHtml.includes(`data-key="${e.key}"`)||t.contentHtml.includes(`data-key='${e.key}'`))}function ba(e){$(),x.value=e.key;let t=ya(e);t&&(S.value=t.id,(0,f.nextTick)(()=>{T.get(t.id)?.scrollIntoVariable(e.key)}))}function xa(e){let t=b.value.variables.find(t=>t.key===e||t.id===e);t&&ba(t)}function Sa(e,t=!0){$(),S.value=e,t&&(0,f.nextTick)(()=>{T.get(e)?.scrollIntoPage()})}function Ca(e){Sa(e.pageId,!1),T.get(e.pageId)?.focusHeading(e.headingIndex)}function wa(e){b.value.pages.some(t=>t.id===e)&&Sa(e)}function Ta(){if(M.value){Ea();return}M.value=!0}function Ea(){M.value=!1,(0,f.nextTick)(()=>aa(()=>tt.value?.focusPageDecorations()))}function Da(){return Nr(),r.cloneTemplateValue(J())}function Oa(e){$e(),sr(),Z(e),K()}function ka(){let e=Y(!1);return _.value?l.cloneContractTemplateFiles(v.value):l.cloneContractTemplateFiles(l.replaceContractTemplateFile(v.value,y.value,e))}function Aa(e,t){let n=l.normalizeContractTemplateFiles(e,void 0,h.pageSize),r=l.constrainContractTemplateFiles(n,h.pageSizeOptions),i=v.value;ht.value=!0,Y(!1),v.value=r.files,Rr(l.resolveContractTemplateActiveFileId(v.value,t??y.value),{syncCurrent:!1,shouldEmit:!0,forceRefresh:!0}),u.serializeFingerprint(i)!==u.serializeFingerprint(v.value)&&X(v.value,``)}function ja(e){if(H.value)return;ht.value=!0,Y(!0);let t=l.createContractTemplateFile(e||`合同文件 ${v.value.length+1}`,h.pageSize);return v.value=[...v.value,t],X(v.value,``),g(`file-add`,l.cloneContractTemplateFiles([t])[0]),Rr(t.id,{syncCurrent:!1,shouldEmit:!0,forceRefresh:!0}),l.cloneContractTemplateFiles([t])[0]}function Ma(e){!_.value&&!v.value.some(t=>t.id===e)||(ht.value=!0,Rr(e))}function Na(e,t){if(H.value)return;ht.value=!0,Y(!1);let n=l.renameContractTemplateFile(v.value,e,t),r=n.find(t=>t.id===e);if(r)return v.value=n,X(n,e),l.cloneContractTemplateFiles([r])[0]}function Pa(e){if(H.value||v.value.length<=1)return;ht.value=!0,Y(!1);let t=v.value.find(t=>t.id===e);if(!t)return;let n=l.removeContractTemplateFile(v.value,e);if(n.length!==v.value.length)return v.value=n,X(n,``),g(`file-remove`,l.cloneContractTemplateFiles([t])[0]),y.value===e&&Rr(l.resolveContractTemplateActiveFileId(n,n[0]?.id),{syncCurrent:!1,shouldEmit:!0,forceRefresh:!0}),l.cloneContractTemplateFiles([t])[0]}function Fa(e){if(H.value||v.value.length<=1)return;let t=v.value.find(t=>t.id===e);t&&p.Modal.confirm({title:`删除合同文件`,content:`删除“${t.name}”后,其正文和变量将无法恢复,是否继续?`,okText:`确认删除`,okType:`danger`,cancelText:`取消`,onOk:()=>{Pa(e)}})}function Ia(e,t){if(H.value)return;ht.value=!0,Y(!1);let n=v.value.findIndex(t=>t.id===e),r=l.moveContractTemplateFile(v.value,e,t),i=r.findIndex(t=>t.id===e),a=r[i];if(!(!a||n===i))return v.value=r,X(r,``),g(`file-move`,l.cloneContractTemplateFiles([a])[0],n,i),l.cloneContractTemplateFiles([a])[0]}function La(){Y(!1);let e=Ya(_.value?v.value.flatMap(e=>r.validateTemplateValue(e.template,{maxPages:G.value}).map(t=>({...t,fileId:e.id}))):r.validateTemplateValue(J(),{maxPages:G.value}));return w.value=e,C.value=!0,g(`validate`,e),e}function Ra(e){if(e.fileId&&e.fileId!==y.value){Ma(e.fileId),(0,f.nextTick)(()=>Ra({...e,fileId:void 0}));return}let n=t.resolvePageDecorationValidationPath(e);if(n){M.value=!0,(0,f.nextTick)(()=>nt.value?.focusField(n));return}if(e.variableKey){xa(e.variableKey);return}if(e.pageId){wa(e.pageId);return}let r=b.value.variables.find(t=>t.id===e.id||t.key===e.id);if(r){ba(r);return}b.value.pages.some(t=>t.id===e.id)&&Sa(e.id)}function za(e){return t.resolvePageDecorationValidationPath(e)?`页面装饰`:e.type===`variable`?`变量`:`字段`}let Ba=o.createContractTemplateLayoutChecker(),Va,Ha;function Ua(){return _.value?(Y(!1),v.value.map(e=>({fileId:e.id,template:e.template}))):[{template:J()}]}function Wa(){return Nr(),Ba.check(Ua())}function Ga(){!h.checkLayoutOnExport||typeof window>`u`||(Va!==void 0&&clearTimeout(Va),Va=setTimeout(()=>{Va=void 0,Ha?.abort();let e=new AbortController;Ha=e;let t;try{t=Ua()}catch{Ha=void 0;return}Ba.check(t,{signal:e.signal}).then(t=>{Ha===e&&(Ha=void 0,g(`layout-warning`,t),t.length&&p.message.warning({key:Ge,content:Ka(t),duration:6}))},t=>{o.isContractTemplateLayoutAbortError(t)||Ha!==e||(Ha=void 0)})},We))}function Ka(e){let[t]=e,n=t.fileId?v.value.find(e=>e.id===t.fileId)?.name:void 0,r=o.describeContractTemplateLayoutIssue(t,`design`)[0]??`存在排版问题`,i=n?`${n}:`:``;return e.length>1?`${i}${r}(另有 ${e.length-1} 处排版问题)`:`${i}${r}`}function qa(){Nr();let e=r.exportTemplateValue(J());return Ga(),e}function Ja(){let e=Y(!1),t=_.value?v.value:l.replaceContractTemplateFile(v.value,y.value,e),n=l.exportContractTemplateFiles(t);return Ga(),n}function Ya(e){let t=new Set;return e.filter(e=>{let n=`${e.fileId??``}|${e.code??``}|${e.id}|${e.pageId??``}|${e.message}`;return t.has(n)?!1:(t.add(n),!0)})}function Xa(e){w.value=[...e],C.value=!0}function Za(){w.value=[],C.value=!1}function Qa(){T.get(U.value?.id??S.value)?.focus()}function $a(e){Dr(e)&&Q({type:`set-text-align`,value:e})}function eo(e){(e===`paragraph`||Or(e))&&Q({type:`apply-block-style`,format:e})}function to(e){let t=Ar(e);t&&(Q({type:`set-font-size`,value:t}),N.value=``)}function no(e){let t=String(e||``).trim();if(!t){Q({type:`unset-font-family`});return}Q({type:`set-font-family`,value:t})}function ro(e){io(e.target?.value??``)}function io(e){let t=e.trim();t&&Q({type:`set-color`,value:t})}function ao(e){N.value=e}function oo(){N.value.trim()&&to(N.value)}function so(e){e.key===`Enter`&&(e.preventDefault(),oo())}function co(e){e||(oo(),N.value=``)}function lo(e){if(H.value)return;S.value=e.pageId,P.value=!1,F.value=!1,R.value=void 0,z.value=void 0,Qt.value=!1,$t.value=``;let t=d.clampContextMenuPosition(e.clientX,e.clientY,304,300);I.value={pageId:e.pageId,x:t.x,y:t.y,hasSelection:e.hasSelection,selectionWidth:e.selectionWidth,leadingText:e.leadingText},(0,f.nextTick)(()=>{uo(),Kt.value?.focusFirstButton()})}function uo(){let e=Kt.value?.getMenuElement(),t=I.value;if(!e||!t)return;let n=d.clampContextMenuToElement(t.x,t.y,e);I.value={...t,x:n.x,y:n.y}}function fo(e){if(H.value)return;S.value=e.pageId,P.value=!1,F.value=!1,I.value=void 0,z.value=void 0;let t=d.clampContextMenuPosition(e.clientX,e.clientY,248,400);R.value={...e,x:t.x,y:t.y},(0,f.nextTick)(()=>{let e=en.value?.getMenuElement(),t=R.value;if(e&&t){let n=d.clampContextMenuToElement(t.x,t.y,e);R.value={...t,x:n.x,y:n.y}}en.value?.focusFirstItem()})}function po(e){if(H.value)return;S.value=e.pageId,P.value=!1,F.value=!1,I.value=void 0,R.value=void 0,nn.value=e.image.width,rn.value=e.image.height,x.value=``;let t=d.clampContextMenuPosition(e.clientX,e.clientY,288,196);z.value={pageId:e.pageId,image:e.image,x:t.x,y:t.y},(0,f.nextTick)(()=>{mo(),tn.value?.getMenuElement()?.querySelector(`input, button:not(:disabled)`)?.focus()})}function mo(){let e=tn.value?.getMenuElement(),t=z.value;if(!e||!t)return;let n=d.clampContextMenuToElement(t.x,t.y,e);z.value={...t,x:n.x,y:n.y}}function ho(){let e=z.value;!e||H.value||(T.get(e.pageId)?.updateSelectedContentImage({width:c.normalizeContractImageDimension(nn.value),height:c.normalizeContractImageDimension(rn.value)})&&(B.value=`已更新图片尺寸`),$())}function go(){let e=z.value;!e||H.value||(T.get(e.pageId)?.updateSelectedContentImage({width:void 0,height:void 0})&&(B.value=`已恢复图片自然尺寸`),$())}function _o(e){e.type===`table`?fo(e):e.type===`image`?po(e):lo(e)}function $(){I.value=void 0,R.value=void 0,z.value=void 0,Qt.value=!1,$t.value=``}function vo(){wn(!1),P.value=!1,F.value=!1,Pt.value=!1,It.value=!1,Lt.value=!1,Rt.value=!1,zt.value=!1}function yo(){vo(),A.value=!A.value,(0,f.nextTick)(()=>aa(()=>tt.value?.focusChromeToggle()))}let bo=[`.gd-contract-template-designer__context-menu`,`.gd-contract-template-designer__bubble-menu`,`.gd-contract-template-designer__bubble-menu-popup`].join(`,`);function xo(){let e=H.value||Xt.value||Jt.value||kn.value||M.value||E.value,t=S.value,n=e?void 0:T.get(t)?.getSelectionViewportRect();if(!n){L.value=void 0;return}let r=n.top-40-Ue,i=r>=12?r:n.bottom+Ue,a=(n.left+n.right)/2-380/2,o=d.clampContextMenuPosition(a,i,380,40);L.value={pageId:t,x:o.x,y:o.y},(0,f.nextTick)(()=>So(n))}function So(e){let t=qt.value?.getMenuElement(),n=L.value;if(!t||!n)return;let r=t.getBoundingClientRect(),i=e.top-r.height-Ue,a=i>=12?i:e.bottom+Ue,o=(e.left+e.right)/2-r.width/2,s=d.clampContextMenuToElement(o,a,t);L.value={...n,x:s.x,y:s.y}}function Co(){let e=L.value?.pageId??S.value,t=T.get(e)?.getSelectionRange();Yt=t?{pageId:e,...t}:void 0,Jt.value=!0,L.value=void 0}function wo(e){if(!Jt.value)return;let t=Yt,n=T.get(e)?.getSelectionRange();t&&n&&t.pageId===e&&t.from===n.from&&t.to===n.to||(Jt.value=!1,Yt=void 0)}function To(){!L.value||Zt!==void 0||(Zt=requestAnimationFrame(()=>{Zt=void 0,xo()}))}function Eo(){Xt.value&&(Xt.value=!1,xo())}function Do(){$(),To()}function Oo(e,t){T.get(L.value?.pageId??S.value)?.requestTextContextMenu(e,t)}function ko(e){let t=e.target instanceof Element?e.target:null;t?.closest(`.ProseMirror`)&&(Xt.value=!0,L.value=void 0),!(!I.value&&!R.value&&!z.value&&!L.value)&&(t?.closest(bo)||($(),L.value&&Co()))}function Ao(e){(e.target instanceof Element?e.target:null)?.closest(bo)||($(),To())}function jo(e){let t=Ye.value;if(!t||typeof document>`u`)return!1;let n=e.target instanceof Node?e.target:void 0,r=document.activeElement;return!!(n&&t.contains(n)||r&&t.contains(r)||n instanceof Element&&n.closest(`.gd-contract-template-designer__context-menu`))}function Mo(e){if(e.key!==`Escape`||!M.value||typeof document>`u`)return;let t=Ye.value?.querySelector(`.gd-contract-template-designer__page-decorations-studio`);if(!t)return;let n=e.target instanceof Element?e.target:null,r=document.activeElement instanceof Element?document.activeElement:null,i=!!(n?.closest(sn)||r?.closest(sn)),a=!!(n&&t.contains(n)||r&&t.contains(r)),o=!!t.querySelector(`.ant-select-open, .ant-dropdown-open`);if(i||a&&o){on.add(e);return}!kn.value&&(a||e.target===document)&&(e.preventDefault(),e.stopPropagation(),Ea())}function No(e){if((e.ctrlKey||e.metaKey)&&!e.altKey&&e.key.toLowerCase()===`s`){if(!An.value||!jo(e))return;e.preventDefault(),lr();return}if(e.key===`Escape`){if(on.has(e)){on.delete(e);return}let t=kn.value,n=t||M.value;if(!t&&M.value&&Ea(),$(),vo(),n&&e.stopPropagation(),!n){if(L.value){Co(),e.stopPropagation();return}j.value?sa():k.value=!1}}}function Po(e,t){e===S.value&&t.selectedContentImage&&(x.value=``),e===S.value&&(wo(e),xo());let n=Ft.value[e];n&&Te.isSameEditorState(n,t)||(Ft.value={...Ft.value,[e]:t})}function Fo(e=an.value.rows,t=an.value.cols){Q({type:`insert-table`,options:{rows:Math.min(10,Math.max(1,Math.round(Number(e)||3))),cols:Math.min(10,Math.max(1,Math.round(Number(t)||3))),withHeaderRow:!!an.value.withHeaderRow}}),P.value=!1,$()}let Io={"delete-table-row":{label:`删除当前行`,countKey:`deleteRow`},"delete-table-column":{label:`删除当前列`,countKey:`deleteColumn`},"delete-table":{label:`删除表格`,countKey:`deleteTable`}};function Lo(e){let t=R.value;if(!t)return;let n=()=>{Q(e,t.pageId),$()},r=Io[e.type];if(!r){n();return}let i=t.affectedVariableCounts[r.countKey];$(),p.Modal.confirm({title:r.label,content:i?`此操作将移除 ${i} 个正文变量节点,是否继续?`:`此操作将修改表格结构,是否继续?`,okText:`确认`,okType:`danger`,cancelText:`取消`,onOk:n,onCancel:()=>T.get(t.pageId)?.focus()})}function Ro(e){let t=en.value?.getMenuElement();if(!t)return;if(e.key===`Escape`){e.preventDefault(),e.stopPropagation();let t=R.value?.pageId;$(),T.get(t??``)?.focus();return}let n=Array.from(t.querySelectorAll(`button:not(:disabled)`));if(!n.length)return;if(e.key===`Home`||e.key===`End`){e.preventDefault(),n[e.key===`Home`?0:n.length-1]?.focus();return}if(![`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`].includes(e.key))return;let r=(Math.max(0,n.indexOf(document.activeElement))+(e.key===`ArrowUp`||e.key===`ArrowLeft`?-1:1)+n.length)%n.length;e.preventDefault(),n[r]?.focus()}function zo(e){if(e.key!==`Escape`)return;e.preventDefault(),e.stopPropagation();let t=I.value?.pageId;$(),T.get(t??``)?.focus()}function Bo(e){if(e.key!==`Escape`)return;e.preventDefault(),e.stopPropagation();let t=z.value?.pageId;$(),T.get(t??``)?.focus()}function Vo(e){Q({type:e}),F.value=!1,$()}return Ke({checkLayout:Wa,getValue:Da,setValue:Oa,getFiles:ka,setFiles:Aa,addFile:ja,selectFile:Ma,renameFile:Na,removeFile:Pa,moveFile:Ia,validate:La,exportTemplate:qa,exportFiles:Ja,getSubmitData:da,clearTemplate:_a,saveDraftCache:lr,loadDraftCache:ur,clearDraftCache:dr,getDraftCacheStatus:Br,insertVariable:Ri,insertImage:hi,focus:Qa,openPreview:la,closePreview:ua,openSubmitDataViewer:fa,closeSubmitDataViewer:pa,getVariableData:ma,openVariableDataViewer:ha,closeVariableDataViewer:ga,setServerValidationErrors:Xa,clearValidationErrors:Za,scrollToVariable:xa,scrollToPage:wa,setZoom:$i,resetZoom:ea,getZoom:ta,fitWidth:Yi}),(e,t)=>((0,f.openBlock)(),(0,f.createElementBlock)(`div`,{ref_key:`designerElement`,ref:Ye,class:(0,f.normalizeClass)([`gd-contract-template-designer`,{"is-disabled":m.disabled,"is-readonly":H.value,"is-fullscreen":k.value,"is-immersive":j.value}]),style:(0,f.normalizeStyle)(Je.value),onKeydownCapture:t[31]||=(...e)=>(0,f.unref)(On)&&(0,f.unref)(On)(...e)},[_.value?((0,f.openBlock)(),(0,f.createBlock)(xe.default,{key:0,files:v.value,"active-file-id":y.value,readonly:H.value,onSelect:Ma,onAdd:t[0]||=e=>ja(),onRename:Na,onRemove:Fa,onMove:Ia},null,8,[`files`,`active-file-id`,`readonly`])):(0,f.createCommentVNode)(``,!0),(0,f.createElementVNode)(`div`,{class:(0,f.normalizeClass)([`gd-contract-template-designer__layout`,{"is-sidebar-collapsed":At.value,"is-inspector-collapsed":jt.value}])},[(0,f.createVNode)(Se.default,{collapsed:At.value,"file-id":y.value,pages:b.value.pages,variables:b.value.variables,"decoration-variable-keys":ar.value,"active-page-id":S.value,"selected-variable-key":x.value,"normalized-max-pages":G.value,"page-limit-reached":ir.value,"selected-page":U.value,"selected-page-size":Fn.value,"normalized-page-size-options":Zn.value,"page-size-options":Qn.value,"selected-page-size-option-value":$n.value,readonly:H.value,"get-page-size":Xr,onToggle:t[1]||=e=>At.value=!At.value,onAddPage:$r,onActivatePage:Sa,onNavigateOutline:Ca,onDuplicatePage:ei,onRemovePage:ni,onPatchPageFormat:Zr,onScrollToVariable:ba},null,8,[`collapsed`,`file-id`,`pages`,`variables`,`decoration-variable-keys`,`active-page-id`,`selected-variable-key`,`normalized-max-pages`,`page-limit-reached`,`selected-page`,`selected-page-size`,`normalized-page-size-options`,`page-size-options`,`selected-page-size-option-value`,`readonly`]),(0,f.createElementVNode)(`main`,{ref_key:`workspaceElement`,ref:et,class:`gd-contract-template-designer__workspace`},[(0,f.withDirectives)((0,f.createElementVNode)(`div`,{id:it,class:`gd-contract-template-designer__workspace-chrome`},[(0,f.createVNode)(ae.default,{ref_key:`workspaceHeaderElement`,ref:tt,summary:Rn.value,"draft-cache-status-text":Hn.value,"draft-cache-status-class":Un.value,"show-draft-cache-status":m.showDraftCacheStatus,"show-clear-button":m.showClearButton,"show-submit-data-viewer":m.showSubmitDataViewer,"show-variable-data-viewer":m.showVariableDataViewer,readonly:H.value,"zoom-percent":Wn.value,"zoom-out-disabled":O.value<=Me,"zoom-in-disabled":O.value>=Ne,"is-fullscreen":k.value,immersive:j.value,"page-decorations-open":M.value,"page-decorations-studio-id":rt,"page-decorations-preset-label":zn.value,"page-decorations-enabled-count":Vn.value,"page-decorations-enabled-states":Bn.value,"chrome-controls-id":it,onZoomOut:ra,onZoomIn:na,onFitWidth:(0,f.unref)(Yi),onResetZoom:ea,onToggleFullscreen:ia,onToggleImmersive:ca,onClear:va,onValidate:La,onPreview:la,onSubmitData:fa,onVariableData:ha,onTogglePageDecorations:Ta,onToggleChrome:yo},{authoring:(0,f.withCtx)(()=>[(0,f.createVNode)(ce.default,{ref_key:`authoringBarElement`,ref:st,compact:``,query:(0,f.unref)(hn),"onUpdate:query":t[2]||=e=>(0,f.isRef)(hn)?hn.value=e:null,replacement:(0,f.unref)(gn),"onUpdate:replacement":t[3]||=e=>(0,f.isRef)(gn)?gn.value=e:null,"match-case":(0,f.unref)(_n),"onUpdate:matchCase":t[4]||=e=>(0,f.isRef)(_n)?_n.value=e:null,panel:(0,f.unref)(mn),readonly:H.value,total:(0,f.unref)(vn).length,"current-index":(0,f.unref)(yn),"current-page":(0,f.unref)(bn)?(0,f.unref)(bn).pageIndex+1:void 0,feedback:(0,f.unref)(xn),onOpen:(0,f.unref)(Cn),onClose:t[5]||=e=>(0,f.unref)(wn)(),onNavigate:(0,f.unref)(Tn),onReplaceCurrent:(0,f.unref)(En),onReplaceAll:(0,f.unref)(Dn)},null,8,[`query`,`replacement`,`match-case`,`panel`,`readonly`,`total`,`current-index`,`current-page`,`feedback`,`onOpen`,`onNavigate`,`onReplaceCurrent`,`onReplaceAll`])]),_:1},8,[`summary`,`draft-cache-status-text`,`draft-cache-status-class`,`show-draft-cache-status`,`show-clear-button`,`show-submit-data-viewer`,`show-variable-data-viewer`,`readonly`,`zoom-percent`,`zoom-out-disabled`,`zoom-in-disabled`,`is-fullscreen`,`immersive`,`page-decorations-open`,`page-decorations-preset-label`,`page-decorations-enabled-count`,`page-decorations-enabled-states`,`onFitWidth`]),(0,f.createVNode)(se.default,{"variable-insert-popover-open":It.value,"onUpdate:variableInsertPopoverOpen":t[6]||=e=>It.value=e,"signing-layout-popover-open":Rt.value,"onUpdate:signingLayoutPopoverOpen":t[7]||=e=>Rt.value=e,"signing-mark-popover-open":zt.value,"onUpdate:signingMarkPopoverOpen":t[8]||=e=>zt.value=e,"image-insert-popover-open":Lt.value,"onUpdate:imageInsertPopoverOpen":t[9]||=e=>Lt.value=e,"image-insert-url":Vt.value,"onUpdate:imageInsertUrl":t[10]||=e=>Vt.value=e,"image-insert-width":Ht.value,"onUpdate:imageInsertWidth":t[11]||=e=>Ht.value=e,"image-insert-height":Ut.value,"onUpdate:imageInsertHeight":t[12]||=e=>Ut.value=e,"table-insert-popover-open":P.value,"onUpdate:tableInsertPopoverOpen":t[13]||=e=>P.value=e,"table-actions-popover-open":F.value,"onUpdate:tableActionsPopoverOpen":t[14]||=e=>F.value=e,"table-insert-draft":an.value,"onUpdate:tableInsertDraft":t[15]||=e=>an.value=e,"toolbar-more-open":Pt.value,"onUpdate:toolbarMoreOpen":t[16]||=e=>Pt.value=e,readonly:H.value,"editor-state":q.value,"current-block-format":yr.value,"block-format-options":Jn,"font-family-select-options":Kn.value,"current-editor-font-family":br.value,"font-size-preset-options":wr.value,"current-editor-font-size":xr.value,"editor-font-size-search-value":N.value,"current-editor-text-color":Sr.value,"body-control-tool-items":rr.value,"signing-layout-presets":nr.value,"page-limit-reached":ir.value,"normalized-max-pages":G.value,"image-processing":Gt.value,"image-insert-error":Wt.value,onCommand:t[17]||=e=>Q(e),onPatchBlockFormat:eo,onPatchFontFamily:no,onPatchFontSize:to,onPatchColor:ro,onPatchTextAlign:$a,onInsertVariable:yi,onInsertSigningLayout:Hr,onInsertSigningMark:Gr,onOpenSigningLayoutCustom:Wr,onOpenImageFile:gi,onInsertImageUrl:vi,onAddPage:$r,onInsertTable:Fo,onTableAction:Vo,onFontSizeSearch:ao,onFontSizeCommit:oo,onFontSizeDropdownChange:co,onFontSizeKeydown:so},null,8,`variable-insert-popover-open.signing-layout-popover-open.signing-mark-popover-open.image-insert-popover-open.image-insert-url.image-insert-width.image-insert-height.table-insert-popover-open.table-actions-popover-open.table-insert-draft.toolbar-more-open.readonly.editor-state.current-block-format.font-family-select-options.current-editor-font-family.font-size-preset-options.current-editor-font-size.editor-font-size-search-value.current-editor-text-color.body-control-tool-items.signing-layout-presets.page-limit-reached.normalized-max-pages.image-processing.image-insert-error`.split(`.`))],512),[[f.vShow,!A.value]]),A.value?((0,f.openBlock)(),(0,f.createBlock)((0,f.unref)(p.Tooltip),{key:0,title:`展开工具区`},{default:(0,f.withCtx)(()=>[(0,f.createElementVNode)(`button`,{ref_key:`workspaceChromeHandleElement`,ref:at,type:`button`,class:`gd-contract-template-designer__workspace-chrome-handle`,"aria-label":`展开工具区`,"aria-expanded":!1,"aria-controls":it,onClick:yo},[(0,f.createVNode)((0,f.unref)(De.DownOutlined),{"aria-hidden":`true`})],512)]),_:1})):(0,f.createCommentVNode)(``,!0),j.value&&!M.value?((0,f.openBlock)(),(0,f.createElementBlock)(`button`,{key:1,ref_key:`immersiveExitElement`,ref:Mt,type:`button`,class:`gd-contract-template-designer__immersive-exit`,"aria-label":`退出沉浸写作`,onClick:sa},[(0,f.createVNode)((0,f.unref)(De.CompressOutlined),{"aria-hidden":`true`}),t[32]||=(0,f.createElementVNode)(`span`,{class:`gd-contract-template-designer__immersive-exit-label`},`退出沉浸`,-1),t[33]||=(0,f.createElementVNode)(`kbd`,null,`Esc`,-1)],512)):(0,f.createCommentVNode)(``,!0),C.value?((0,f.openBlock)(),(0,f.createElementBlock)(`section`,Oe,[(0,f.createVNode)((0,f.unref)(p.Alert),{type:In.value?`success`:`error`,message:Ln.value,"show-icon":``},null,8,[`type`,`message`]),w.value.length?((0,f.openBlock)(),(0,f.createElementBlock)(`div`,ke,[((0,f.openBlock)(!0),(0,f.createElementBlock)(f.Fragment,null,(0,f.renderList)(w.value,e=>((0,f.openBlock)(),(0,f.createElementBlock)(`button`,{key:`${e.id}-${e.message}`,type:`button`,class:`gd-contract-template-designer__validation-item`,onClick:t=>Ra(e)},[(0,f.createElementVNode)(`span`,null,(0,f.toDisplayString)(e.message),1),(0,f.createElementVNode)(`small`,null,(0,f.toDisplayString)(za(e)),1)],8,Ae))),128))])):(0,f.createCommentVNode)(``,!0)])):(0,f.createCommentVNode)(``,!0),(0,f.createElementVNode)(`div`,{ref_key:`canvasElement`,ref:Xe,class:`gd-contract-template-designer__canvas`},[((0,f.openBlock)(!0),(0,f.createElementBlock)(f.Fragment,null,(0,f.renderList)(b.value.pages,(e,n)=>((0,f.openBlock)(),(0,f.createBlock)(re.default,{key:`${y.value}:${e.id}`,ref_for:!0,ref:t=>Vr(e.id,t),page:e,"page-index":n,"page-size":Xr(e),"page-decorations":b.value.pageDecorations,"total-pages":b.value.pages.length,variables:b.value.variables,"selected-variable-key":x.value,active:S.value===e.id,readonly:m.readonly,disabled:m.disabled,zoom:O.value,"process-image-file":mi,"search-query":(0,f.unref)(Sn),"search-match-case":(0,f.unref)(_n),"active-search-match":(0,f.unref)(bn)?.pageId===e.id?(0,f.unref)(bn):void 0,"get-scroll-container":Ze,onPageUpdate:Yr,onVariableDrop:xi,onVariableSelect:Si,onEditorFocus:t[18]||=e=>Sa(e,!1),onEditorReady:(0,f.unref)(or),onCompositionEnd:(0,f.unref)(or),onPageLayoutChange:(0,f.unref)(or),onEditorStateChange:Po,onEditorContextMenu:_o,onWordPaste:pi,onVariableMoveBlocked:t[19]||=e=>B.value=`变量只能在当前页内移动,跨页移动尚未支持。`},null,8,[`page`,`page-index`,`page-size`,`page-decorations`,`total-pages`,`variables`,`selected-variable-key`,`active`,`readonly`,`disabled`,`zoom`,`search-query`,`search-match-case`,`active-search-match`,`onEditorReady`,`onCompositionEnd`,`onPageLayoutChange`]))),128))],512)],512),(0,f.createVNode)(Ce.default,{collapsed:jt.value,readonly:m.readonly,disabled:m.disabled,"body-control-tool-items":rr.value,"selected-variable":W.value,variables:b.value.variables,"current-variable-font-family":Cr.value,"font-family-select-options":Kn.value,"text-align-options":(0,f.unref)(qn),"border-style-options":Yn,"object-fit-options":Xn,"selected-variable-width-max":_r.value,"selected-variable-height-max":vr.value,"min-font-size":Ve,"max-font-size":He,"default-multiline-rows":(0,f.unref)(3),onToggle:t[20]||=e=>jt.value=!jt.value,onVariableDragStart:Gi,onInsertVariable:zi,onDuplicateVariable:Li,onRemoveVariable:Fi,onPatchVariable:wi,onRenameVariable:Ti,onPatchStyle:Ai,onPatchMultiline:Ni,onPatchRows:Pi,onPatchFontFamily:ji,onPatchFontSize:Mi,onPatchTextAlign:Di,onPatchBorderStyle:Oi,onPatchObjectFit:ki},null,8,[`collapsed`,`readonly`,`disabled`,`body-control-tool-items`,`selected-variable`,`variables`,`current-variable-font-family`,`font-family-select-options`,`text-align-options`,`selected-variable-width-max`,`selected-variable-height-max`,`default-multiline-rows`])],2),(0,f.withDirectives)((0,f.createVNode)(we.default,{ref_key:`pageDecorationsStudioElement`,ref:nt,id:rt,open:M.value,decorations:b.value.pageDecorations,variables:b.value.variables,"font-family-options":Kn.value,readonly:m.readonly,disabled:m.disabled,"active-tab":Nt.value,"onUpdate:activeTab":t[21]||=e=>Nt.value=e,onChange:Ei,onClose:Ea},null,8,[`open`,`decorations`,`variables`,`font-family-options`,`readonly`,`disabled`,`active-tab`]),[[f.vShow,M.value]]),((0,f.openBlock)(),(0,f.createBlock)(f.Teleport,{to:`body`},[R.value?((0,f.openBlock)(),(0,f.createBlock)(ie.default,{key:0,ref_key:`tableContextMenuElement`,ref:en,capabilities:R.value.capabilities,"active-alignment":R.value.activeAlignment,style:(0,f.normalizeStyle)({left:`${R.value.x}px`,top:`${R.value.y}px`}),onExecute:Lo,onKeydown:Ro},null,8,[`capabilities`,`active-alignment`,`style`])):(0,f.createCommentVNode)(``,!0),z.value?((0,f.openBlock)(),(0,f.createBlock)(fe.default,{key:1,ref_key:`imageContextMenuElement`,ref:tn,width:nn.value,"onUpdate:width":t[22]||=e=>nn.value=e,height:rn.value,"onUpdate:height":t[23]||=e=>rn.value=e,x:z.value.x,y:z.value.y,readonly:H.value,onRestore:go,onApply:ho,onKeydown:Bo},null,8,[`width`,`height`,`x`,`y`,`readonly`])):(0,f.createCommentVNode)(``,!0),I.value?((0,f.openBlock)(),(0,f.createBlock)(ue.default,{key:2,ref_key:`textContextMenuElement`,ref:Kt,"bind-open":Qt.value,"onUpdate:bindOpen":t[24]||=e=>Qt.value=e,"bind-keyword":$t.value,"onUpdate:bindKeyword":t[25]||=e=>$t.value=e,x:I.value.x,y:I.value.y,"has-selection":I.value.hasSelection,"editor-state":q.value,"current-editor-text-color":Sr.value,"body-control-tool-items":rr.value,"text-menu-bindable-variables":gr.value,"variables-count":b.value.variables.length,"resolve-bind-variable-type-label":Ui,onCommand:Kr,onClipboard:qr,onAddPage:bi,onInsertVariable:Bi,onBindVariable:Hi,onOpenBindPanel:Wi,onKeydown:zo,onPatchColor:io},null,8,[`bind-open`,`bind-keyword`,`x`,`y`,`has-selection`,`editor-state`,`current-editor-text-color`,`body-control-tool-items`,`text-menu-bindable-variables`,`variables-count`])):(0,f.createCommentVNode)(``,!0),L.value?((0,f.openBlock)(),(0,f.createBlock)(de.default,{key:3,ref_key:`textBubbleElement`,ref:qt,x:L.value.x,y:L.value.y,"editor-state":q.value,"font-size-preset-options":wr.value,"current-editor-font-size":xr.value,"editor-font-size-search-value":N.value,"current-editor-text-color":Sr.value,"text-align-options":(0,f.unref)(qn),onCommand:Q,onPatchFontSize:to,onPatchTextAlign:$a,onPatchColor:io,onFontSizeSearch:ao,onFontSizeCommit:oo,onFontSizeDropdownChange:co,onFontSizeKeydown:so,onMore:Oo},null,8,[`x`,`y`,`editor-state`,`font-size-preset-options`,`current-editor-font-size`,`editor-font-size-search-value`,`current-editor-text-color`,`text-align-options`])):(0,f.createCommentVNode)(``,!0)])),(0,f.createElementVNode)(`input`,{ref_key:`imageFileInputElement`,ref:ot,class:`gd-contract-template-designer__hidden-file-input`,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif,image/bmp`,tabindex:`-1`,"aria-hidden":`true`,onChange:_i},null,544),(0,f.createElementVNode)(`span`,je,(0,f.toDisplayString)(B.value),1),(0,f.createVNode)(pe.default,{open:E.value,"onUpdate:open":t[26]||=e=>E.value=e,"preview-pages":Mn.value,"preview-file-groups":Nn.value,"preview-active-group":Pn.value,"preview-snapshot":D.value,"font-base-url":m.contractFontBaseUrl,onCancel:ua,onSelectFile:t[27]||=e=>Tt.value=e},null,8,[`open`,`preview-pages`,`preview-file-groups`,`preview-active-group`,`preview-snapshot`,`font-base-url`]),(0,f.createVNode)(me.default,{open:Et.value,"onUpdate:open":t[28]||=e=>Et.value=e,json:Dt.value,onCancel:pa},null,8,[`open`,`json`]),(0,f.createVNode)(he.default,{open:Ot.value,"onUpdate:open":t[29]||=e=>Ot.value=e,data:kt.value,"file-name":jn.value?.name,onCancel:ga},null,8,[`open`,`data`,`file-name`]),(0,f.createVNode)(ge.default,{open:Bt.value,"onUpdate:open":t[30]||=e=>Bt.value=e,disabled:H.value,onInsert:Ur},null,8,[`open`,`disabled`])],38))}});exports.default=m;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./constants.cjs`),t=require(`./utils/page-decorations.cjs`),n=require(`./types.cjs`),r=require(`./composables/use-template-designer.cjs`),i=require(`./utils/image-url.cjs`),a=require(`./utils/template-renderer.cjs`),o=require(`./utils/contract-layout-check.cjs`),s=require(`./composables/use-fit-width-zoom.cjs`),c=require(`./utils/content-image.cjs`),ee=require(`./utils/signing-layout-presets.cjs`),te=require(`./utils/context-variable.cjs`),ne=require(`./utils/caret-viewport.cjs`),re=require(`./DesignerPage.cjs`),ie=require(`./TableContextMenu.cjs`),ae=require(`./ContractTemplateDesignerWorkspaceHeader.cjs`),oe=require(`./utils/template-tool-icons.cjs`),se=require(`./ContractTemplateDesignerToolbar.cjs`),ce=require(`./ContractTemplateAuthoringBar.cjs`),le=require(`./composables/use-template-authoring.cjs`),ue=require(`./ContractTemplateTextContextMenu.cjs`),de=require(`./ContractTemplateTextBubbleMenu.cjs`),fe=require(`./ContractTemplateImageContextMenu.cjs`),pe=require(`./ContractTemplatePreviewModal.cjs`),me=require(`./ContractTemplateSubmitDataModal.cjs`),he=require(`./ContractTemplateVariableDataModal.cjs`),ge=require(`./SigningLayoutCustomModal.cjs`),_e=require(`./composables/use-template-draft-cache.cjs`),ve=require(`./composables/use-auto-pagination.cjs`),ye=require(`./composables/use-designer-files.cjs`),l=require(`./composables/use-template-files.cjs`),be=require(`./composables/use-draft-cache-session.cjs`),xe=require(`./ContractTemplateFileBar.cjs`),Se=require(`./ContractTemplateDesignerSidebar.cjs`),Ce=require(`./ContractTemplateDesignerInspector.cjs`),we=require(`./ContractTemplatePageDecorationsStudio.cjs`),u=require(`./utils/serialize-fingerprint.cjs`),Te=require(`./utils/editor-state.cjs`),d=require(`./utils/context-menu-viewport.cjs`);let f=require(`vue`),p=require(`ant-design-vue`),Ee=require(`@vueuse/core`),De=require(`@ant-design/icons-vue`);var Oe={key:2,class:`gd-contract-template-designer__validation`},ke={key:0,class:`gd-contract-template-designer__validation-list`},Ae=[`onClick`],je={class:`gd-contract-template-designer__sr-status`,"aria-live":`polite`},Me=.5,Ne=1.5,Pe=.1,Fe=300,Ie=500,Le=128,Re=108,ze=48,Be=24,Ve=10,He=48,Ue=8,We=300,Ge=`contract-template-layout-warning`,m=(0,f.defineComponent)({name:`ProContractTemplateDesigner`,__name:`ProContractTemplateDesigner`,props:{modelValue:{default:void 0},files:{},activeFileId:{},readonly:{type:Boolean,default:!1},checkLayoutOnExport:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},height:{default:760},pageSize:{default:()=>r.DEFAULT_PAGE_SIZE},pageSizeOptions:{},maxPages:{default:20},imageCompression:{type:[Object,Boolean]},imageUpload:{},variableTypes:{default:()=>r.DEFAULT_FIELD_TYPES},signingLayoutPresets:{},showImageControl:{type:Boolean,default:!1},showCheckboxControl:{type:Boolean,default:!1},showAdvancedChoiceControls:{type:Boolean,default:!1},showBuiltinSelectorControls:{type:Boolean,default:!1},showCustomControls:{type:Boolean,default:!1},defaultVariableStyle:{default:()=>r.DEFAULT_FIELD_STYLE},fontFamilies:{default:void 0},fontFamilyMode:{default:`append`},contractFontBaseUrl:{default:void 0},showSubmitDataViewer:{type:Boolean,default:!0},showVariableDataViewer:{type:Boolean,default:!0},showClearButton:{type:Boolean,default:!0},enableDraftCache:{type:Boolean,default:!0},draftCacheKey:{default:_e.DEFAULT_DRAFT_CACHE_KEY},draftCacheInterval:{default:_e.DEFAULT_DRAFT_CACHE_INTERVAL},draftCacheMaxBytes:{default:_e.DEFAULT_DRAFT_CACHE_MAX_BYTES},showDraftCacheStatus:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`,`update:files`,`update:activeFileId`,`files-change`,`file-add`,`file-change`,`file-remove`,`file-move`,`variable-add`,`validate`,`draft-cache-change`,`page-limit`,`image-error`,`layout-warning`],setup(m,{expose:Ke,emit:qe}){let h=m,g=qe,Je=(0,f.computed)(()=>({height:typeof h.height==`number`?`${h.height}px`:h.height})),Ye=(0,f.ref)(),Xe=(0,f.ref)();function Ze(){return Xe.value}function Qe(){let e=ft,t=Xe.value;return ne.captureCaretViewport(t,()=>e===ft&&!dn&&!V.value&&t?.isConnected!==!1)}function $e(){ft+=1}let et=(0,f.ref)(),tt=(0,f.ref)(),nt=(0,f.ref)(),rt=`gd-contract-template-page-decorations-studio-${(0,f.useId)()}`,it=`gd-contract-template-workspace-chrome-${(0,f.useId)()}`,at=(0,f.ref)(),ot=(0,f.ref)(),st=(0,f.ref)(),ct=``,lt=``,ut,dt,ft=0,pt=r.createTemplateBodySync(),mt=new Map,ht=(0,f.ref)(!1),_=(0,f.computed)(()=>ht.value||Array.isArray(h.files)),gt=l.normalizeContractTemplateFiles(h.files,h.modelValue,h.pageSize),_t=l.constrainContractTemplateFiles(gt,h.pageSizeOptions),vt=_.value?_t.files:gt,yt=l.resolveContractTemplateActiveFileId(vt,h.activeFileId),v=(0,f.ref)(vt),y=(0,f.ref)(yt),bt=vt.find(e=>e.id===yt)??vt[0],xt=r.normalizeTemplateValue(bt?.template??h.modelValue,h.pageSize),b=(0,f.ref)(r.constrainTemplatePageSizes(xt,h.pageSizeOptions));_.value?(v.value=l.replaceContractTemplateFile(v.value,y.value,b.value),u.serializeFingerprint(v.value)!==u.serializeFingerprint(gt)&&Y(v.value)):h.modelValue&&u.serializeFingerprint(b.value)!==u.serializeFingerprint(xt)&&Rr(b.value);let x=(0,f.ref)(``),S=(0,f.ref)(b.value.pages[0]?.id??``),C=(0,f.ref)(!1),w=(0,f.ref)([]),T=new Map,St=(0,f.ref)(!1),Ct=(0,f.ref)(``),E=(0,f.ref)(!1),D=(0,f.ref)(),wt=(0,f.ref)(),Tt=(0,f.ref)(``),Et=(0,f.ref)(!1),Dt=(0,f.ref)(``),Ot=(0,f.ref)(!1),kt=(0,f.ref)({values:{},variables:[]}),O=(0,f.ref)(1),k=(0,f.ref)(!1),At=(0,f.ref)(!1),jt=(0,f.ref)(!1),A=(0,f.ref)(!1),Mt=(0,f.ref)(!1),Nt=(0,f.ref)(),j=(0,f.ref)(!1),Pt=(0,f.ref)(`header`),Ft=(0,f.ref)(!1),It=(0,f.ref)({}),M=(0,f.ref)(``),N=(0,f.ref)(!1),P=(0,f.ref)(!1),Lt=(0,f.ref)(!1),Rt=(0,f.ref)(!1),zt=(0,f.ref)(!1),Bt=(0,f.ref)(!1),Vt=(0,f.ref)(!1),Ht=(0,f.ref)(``),Ut=(0,f.ref)(),Wt=(0,f.ref)(),Gt=(0,f.ref)(``),Kt=(0,f.ref)(!1),F=(0,f.ref)(),qt=(0,f.ref)(),I=(0,f.ref)(),Jt=(0,f.ref)(),Yt=(0,f.ref)(!1),Xt,Zt=(0,f.ref)(!1),Qt,$t=(0,f.ref)(!1),en=(0,f.ref)(``),L=(0,f.ref)(),tn=(0,f.ref)(),R=(0,f.ref)(),nn=(0,f.ref)(),rn=(0,f.ref)(),an=(0,f.ref)(),z=(0,f.ref)(``),B=(0,f.ref)(_e.createDraftCacheStatus(`idle`,`暂无本地草稿`)),on=(0,f.ref)({rows:3,cols:3,withHeaderRow:!0}),sn=new WeakSet,cn=[`.gd-contract-template-designer__page-decorations-select-popup`,`.gd-contract-template-designer__page-decorations-dropdown-popup`].join(`,`),ln,un,dn=!1,fn=!1,pn,mn,V=(0,f.computed)(()=>h.readonly||h.disabled),{panel:hn,query:gn,replacement:_n,matchCase:vn,matches:yn,currentIndex:bn,currentMatch:xn,feedback:Sn,highlightQuery:Cn,open:wn,close:Tn,navigate:En,replaceCurrent:Dn,replaceAll:On,handleKeydown:kn}=le.useTemplateAuthoring({pages:()=>b.value.pages,fileId:()=>y.value,readonly:()=>V.value,root:()=>Ye.value,pageRefs:T,activatePage:Ca,beforeOpen:()=>{$(),vo(),A.value=!1},focusPanel:()=>st.value?.focusPanel(),focusTrigger:e=>st.value?.focusTrigger(e)}),An=(0,f.computed)(()=>!!(F.value||hn.value||L.value||R.value||N.value||P.value||Ft.value||Lt.value||Rt.value||zt.value||Bt.value||Vt.value)),jn=(0,f.computed)(()=>!!h.enableDraftCache&&!V.value),Mn=(0,f.computed)(()=>v.value.find(e=>e.id===y.value)??v.value[0]),Nn=(0,f.computed)(()=>D.value?r.buildTemplatePreviewPages(D.value):[]),Pn=(0,f.computed)(()=>(wt.value??[]).map(e=>({file:e,pages:r.buildTemplatePreviewPages(e.template)}))),Fn=(0,f.computed)(()=>Pn.value.find(e=>e.file.id===Tt.value)??Pn.value[0]),H=(0,f.computed)(()=>b.value.pages.find(e=>e.id===S.value)??b.value.pages[0]),In=(0,f.computed)(()=>r.resolvePageSize(H.value?.pageSize,b.value.pageSize)),Ln=(0,f.computed)(()=>C.value&&w.value.length===0),Rn=(0,f.computed)(()=>C.value?Ln.value?`校验通过,正文变量与变量配置一致`:`发现 ${w.value.length} 个校验问题`:``),zn=(0,f.computed)(()=>{let e=H.value?.title||`合同正文`;return`${_.value&&Mn.value?`${Mn.value.name} · `:``}${e} · ${In.value.label} · 共 ${b.value.pages.length} 页`}),Bn=(0,f.computed)(()=>({none:`无装饰`,"page-number":`标准页码`,"internal-review":`内部审阅`,draft:`草稿`,custom:`自定义`})[t.resolvePageDecorationPreset(b.value.pageDecorations)]),Vn=(0,f.computed)(()=>{let e=t.normalizePageDecorations(b.value.pageDecorations);return{header:e.header.enabled,footer:e.footer.enabled,watermark:e.watermark.enabled}}),Hn=(0,f.computed)(()=>Object.values(Vn.value).filter(Boolean).length),Un=(0,f.computed)(()=>{switch(B.value.type){case`saved`:return`草稿已缓存 ${_e.formatDraftCacheSavedAt(B.value.savedAt)}`;case`restored`:return`已恢复本地草稿`;case`too-large`:return`草稿过大,未缓存`;case`unavailable`:case`read-failed`:case`write-failed`:return`草稿缓存失败`;case`cleared`:return`草稿缓存已清理`;default:return``}}),Wn=(0,f.computed)(()=>({"is-success":B.value.type===`saved`||B.value.type===`restored`,"is-warning":B.value.type===`too-large`,"is-error":B.value.type===`unavailable`||B.value.type===`read-failed`||B.value.type===`write-failed`})),Gn=(0,f.computed)(()=>`${Math.round(O.value*100)}%`),Kn=(0,f.computed)(()=>e.resolveFontFamilyOptions(h.fontFamilies,h.fontFamilyMode)),qn=(0,f.computed)(()=>Kn.value.map(e=>({label:e.label,value:e.value}))),Jn=e.DEFAULT_TEXT_ALIGN_OPTIONS,Yn=[...e.CONTRACT_BLOCK_STYLES.map(e=>({label:e.label,value:e.format}))],Xn=[{label:`实线`,value:`solid`},{label:`虚线`,value:`dashed`}],Zn=[{label:`完整显示`,value:`contain`},{label:`铺满裁剪`,value:`cover`},{label:`拉伸填充`,value:`fill`}],Qn=(0,f.computed)(()=>r.normalizePageSizeOptions(h.pageSizeOptions)),$n=(0,f.computed)(()=>Qn.value.map(e=>({label:`${e.label} · ${e.width} × ${e.height}`,value:r.getPageSizeKey(e)}))),er=(0,f.computed)(()=>r.getPageSizeKey(In.value)),tr=(0,f.computed)(()=>h.draftCacheKey),U=(0,f.computed)(()=>b.value.variables.find(e=>e.key===x.value)),nr=(0,f.computed)(()=>{let e=[...h.variableTypes,...h.showImageControl?[r.DEFAULT_IMAGE_FIELD_TYPE]:[],...h.showCheckboxControl?[r.DEFAULT_CHECKBOX_FIELD_TYPE]:[],...h.showAdvancedChoiceControls?r.DEFAULT_ADVANCED_CHOICE_FIELD_TYPES:[],...h.showBuiltinSelectorControls?r.DEFAULT_BUILTIN_SELECTOR_FIELD_TYPES:[],...h.showCustomControls?r.DEFAULT_CUSTOM_FIELD_TYPES:[]].filter(e=>n.isContractTemplateFieldType(e?.type));return Array.from(new Map(e.map(e=>[e.type,e])).values())}),rr=(0,f.computed)(()=>{let e=[...ee.SIGNING_LAYOUT_PRESET_KEYS.map(e=>ee.SIGNING_LAYOUT_PRESETS[e]),...(h.signingLayoutPresets??[]).filter(e=>!!e?.key)];return Array.from(new Map(e.map(e=>[e.key,e])).values())}),ir=(0,f.computed)(()=>nr.value.map(e=>({...e,icon:oe.resolveFieldTypeIcon(e.type),group:e.type===`select`||e.type===`radio`?`basic`:e.type.endsWith(`-selector`)?`builtin-selector`:e.type===`custom`?`custom`:`basic`}))),W=(0,f.computed)(()=>r.normalizeContractTemplateMaxPages(h.maxPages)),ar=(0,f.computed)(()=>b.value.pages.length>=W.value),or=(0,f.computed)(()=>{let e=pt.collectKeys(b.value);return Array.from(t.collectPageDecorationVariableKeys(b.value.pageDecorations)).filter(t=>!e.has(t))}),{scheduleAutoPaginate:sr,scheduleFullPagination:G,resetPagination:cr,disposePagination:lr}=ve.useAutoPagination({templateValue:b,readonlyState:V,isAutoPaginating:St,pendingPaginationPageId:Ct,activePageId:S,normalizedMaxPages:W,pageRefs:T,applyPagesChange:e=>{b.value={...b.value,pages:e},C.value=!1,w.value=[],Fr()},getPageSize:Zr,notifyPageLimit:$r,captureViewport:Qe}),{saveDraftCache:ur,loadDraftCache:dr,clearDraftCache:fr,restoreDraftCacheIfNeeded:pr,stopDraftCacheTimer:mr,restartDraftCacheTimer:hr,resetDraftFingerprint:gr}=be.useDraftCacheSession({draftCacheWritable:jn,multipleFilesMode:_,filesValue:v,activeFileIdValue:y,templateValue:b,draftCacheKey:tr,draftCacheInterval:()=>h.draftCacheInterval,draftCacheMaxBytes:()=>h.draftCacheMaxBytes,pageSize:()=>h.pageSize,pageSizeOptions:()=>h.pageSizeOptions,syncActiveFileSnapshot:J,syncPageEditors:()=>(Pr(),q()),setActiveFileId:zr,emitFilesChange:Y,commit:X,updateDraftCacheStatus:Br,scheduleFullPagination:G,activePageId:S,selectedVariableKey:x}),_r=(0,f.computed)(()=>{let e=en.value.trim().toLowerCase(),t=b.value.variables;return e?t.filter(t=>t.label.toLowerCase().includes(e)||t.key.toLowerCase().includes(e)):t}),vr=(0,f.computed)(()=>Math.max(ze,In.value.width-Le)),yr=(0,f.computed)(()=>Math.max(Be,In.value.height-Re)),K=(0,f.computed)(()=>It.value[S.value]??Dr()),br=(0,f.computed)(()=>K.value.hasMixedBlockFormats?void 0:K.value.currentHeadingLevel??`paragraph`),xr=(0,f.computed)(()=>K.value.fontFamily||e.DEFAULT_CONTRACT_FONT_FAMILY),Sr=(0,f.computed)(()=>K.value.fontSize??r.DEFAULT_FIELD_STYLE.fontSize??14),Cr=(0,f.computed)(()=>K.value.textColor||r.DEFAULT_FIELD_STYLE.color||`#1f2937`),wr=(0,f.computed)(()=>U.value?.style?.fontFamily||r.DEFAULT_FIELD_STYLE.fontFamily||e.DEFAULT_CONTRACT_FONT_FAMILY),Tr=(0,f.computed)(()=>{let t=e.DEFAULT_FONT_SIZE_PRESETS.map(e=>({label:`${e}px`,value:e})),n=jr(Sr.value),r=jr(M.value),i=new Map;return r&&!e.DEFAULT_FONT_SIZE_PRESETS.includes(r)&&i.set(r,{label:`使用 ${r}px`,value:r}),n&&!e.DEFAULT_FONT_SIZE_PRESETS.includes(n)&&i.set(n,{label:r===n?`使用 ${n}px`:`${n}px`,value:n}),[...Array.from(i.values()),...t]});(0,f.watch)(()=>h.modelValue,(e,t)=>{if(!e||_.value)return;if(e!==t&&dt&&(0,f.toRaw)(e)===(0,f.toRaw)(dt)){lt=``;return}if(u.serializeFingerprint(e)===lt){lt=``;return}let n=r.normalizeTemplateValue(e,h.pageSize),i=r.constrainTemplatePageSizes(n,h.pageSizeOptions),a=u.serializeFingerprint(i)!==u.serializeFingerprint(b.value),o=u.serializeFingerprint(i)===lt;o&&(lt=``),(a||!o)&&(lt=``,$e(),cr(),pt.clear(),Nr(),b.value=i,v.value=l.replaceContractTemplateFile(v.value,y.value,i),S.value=i.pages[0]?.id??``,x.value=``,G()),u.serializeFingerprint(i)!==u.serializeFingerprint(n)&&Rr(i)},{deep:!0}),(0,f.watch)(()=>h.files,(e,t)=>{if(!Array.isArray(e))return;if(e!==t&&ut&&(0,f.toRaw)(e)===(0,f.toRaw)(ut)){ct=``;return}if(u.serializeFingerprint(e)===ct){ct=``;return}let n=l.normalizeContractTemplateFiles(e,void 0,h.pageSize),r=l.constrainContractTemplateFiles(n,h.pageSizeOptions).files,i=u.serializeFingerprint(r),a=u.serializeFingerprint(v.value);i===ct&&(ct=``);let o=l.resolveContractTemplateActiveFileId(r,h.activeFileId||y.value);i===a?o!==y.value&&zr(o,{syncCurrent:!1,shouldEmit:!1}):(ct=``,v.value=r,zr(o,{syncCurrent:!1,shouldEmit:!1,forceRefresh:!0})),i!==u.serializeFingerprint(n)&&Y(r)},{deep:!0}),(0,f.watch)(()=>h.activeFileId,e=>{!_.value||!e||e===y.value||zr(e,{syncCurrent:!0,shouldEmit:!1})});function Er(e,t){let n=u.serializeFingerprint(v.value);J(!1);let i=l.normalizeContractTemplateFiles(v.value,void 0,e),{files:a}=l.constrainContractTemplateFiles(i,t),o=u.serializeFingerprint(a)!==n,s=a.find(e=>e.id===y.value);return s&&u.serializeFingerprint(s.template)!==u.serializeFingerprint(b.value)&&(b.value=r.cloneTemplateValue(s.template)),o&&(C.value=!1,w.value=[],Y(a,``)),o}(0,f.watch)([()=>h.pageSize,()=>h.pageSizeOptions],([e,t])=>{if(_.value){Er(e,t),G();return}let n=r.normalizeTemplateValue(b.value,e),i=r.constrainTemplatePageSizes(n,t);u.serializeFingerprint(i)!==u.serializeFingerprint(b.value)&&X(i),G()},{deep:!0}),(0,f.watch)(W,()=>{G()}),(0,f.watch)(V,e=>{e?($(),N.value=!1,P.value=!1):G()}),(0,f.watch)(S,()=>{I.value=void 0}),(0,f.watch)([An,j,E],()=>{xo()}),(0,f.watch)(()=>[h.enableDraftCache,tr.value,h.draftCacheInterval,V.value],()=>{gr(),hr()}),(0,f.watch)(k,e=>{if(!(typeof document>`u`)){if(e){ln=document.body.style.overflow,document.body.style.overflow=`hidden`;return}document.body.style.overflow=ln??``,ln=void 0}}),(0,f.onMounted)(()=>{pr(),hr(),G(),document.fonts?.ready.then(G),document.fonts?.addEventListener(`loadingdone`,G),window.addEventListener(`pointerdown`,ko,!0),window.addEventListener(`pointerup`,Eo),window.addEventListener(`keydown`,Mo,!0),window.addEventListener(`keydown`,No),window.addEventListener(`resize`,Do),window.addEventListener(`scroll`,Ao,!0)}),(0,f.onBeforeUnmount)(()=>{$e(),lr(),Pr(),dn=!0,Ha!==void 0&&clearTimeout(Ha),Q?.abort(),Va.dispose(),k.value&&typeof document<`u`&&(document.body.style.overflow=ln??``),document.fonts?.removeEventListener(`loadingdone`,G),window.removeEventListener(`pointerdown`,ko,!0),window.removeEventListener(`pointerup`,Eo),window.removeEventListener(`keydown`,Mo,!0),window.removeEventListener(`keydown`,No),window.removeEventListener(`resize`,Do),window.removeEventListener(`scroll`,Ao,!0),Qt!==void 0&&cancelAnimationFrame(Qt),mr()});function Dr(){return{isFocused:!1,canUndo:!1,canRedo:!1,isBold:!1,isItalic:!1,isUnderline:!1,isBulletList:!1,isOrderedList:!1,isTableActive:!1,textAlign:`left`,fontFamily:e.DEFAULT_CONTRACT_FONT_FAMILY,fontSize:r.DEFAULT_FIELD_STYLE.fontSize??14,textColor:r.DEFAULT_FIELD_STYLE.color??`#1f2937`,selectionText:``,hasMixedBlockFormats:!1}}function Or(e){return e===`left`||e===`center`||e===`right`}function kr(e){return typeof e==`number`&&Number.isInteger(e)&&e>=1&&e<=6}function Ar(e,t=Sr.value){let n=Number(e);return Number.isFinite(n)?Math.min(He,Math.max(Ve,Math.round(n))):t}function jr(e){let t=String(e||``).trim().match(/(\d+(\.\d+)?)/);if(!t)return;let n=Number(t[1]);if(Number.isFinite(n))return Math.min(He,Math.max(Ve,Math.round(n)))}function q(e=b.value){let t=!1,n=e.pages.map(e=>{let n=T.get(e.id)?.getContentSnapshot(e),r=n?.contentHtml??e.contentHtml,i=n?.contentJson??e.contentJson;return r===e.contentHtml&&(0,f.toRaw)(i)===(0,f.toRaw)(e.contentJson)?e:(t=!0,{...e,contentHtml:r,contentJson:i})});return t?{...e,pages:n}:e}function Mr(){pn!==void 0&&(clearTimeout(pn),pn=void 0),mn!==void 0&&typeof cancelIdleCallback==`function`&&cancelIdleCallback(mn),mn=void 0}function Nr(){fn=!1,Mr()}function Pr(){let e=fn;Nr(),e&&Lr()}function Fr(){fn=!0,Mr(),pn=setTimeout(()=>{pn=void 0;let e=()=>{if(mn=void 0,!(!fn||dn)){if(St.value)return Fr();fn=!1,Lr()}};typeof requestIdleCallback==`function`?mn=requestIdleCallback(e,{timeout:Ie}):e()},Fe)}function Ir(e){let t=b.value.pages,n=t.findIndex(t=>t.id===e.id);if(n<0)return;let r=t[n];if(r.contentHtml===e.contentHtml&&r.contentJson===e.contentJson&&r.title===e.title&&r.pageSize===e.pageSize)return;let i=t.slice();i[n]=e,b.value={...b.value,pages:i}}function Lr(){let e=q(),t=pt.sync(e);x.value&&!t.variables.some(e=>e.key===x.value)&&(x.value=``),X(t,{normalizedBody:!0})}function J(e=!1){Pr();let t=r.cloneTemplateValue(q());if(!_.value)return t;let n=v.value.find(e=>e.id===y.value)?.template,i=u.serializeFingerprint(n)!==u.serializeFingerprint(t),a=l.replaceContractTemplateFile(v.value,y.value,t);return v.value=a,i&&e&&Y(a),t}function Rr(e){let t=r.cloneTemplateValue(e);dt=t,lt=u.serializeFingerprint(e),g(`update:modelValue`,t),g(`change`,r.cloneTemplateValue(e))}function Y(e,t=y.value){if(!_.value)return;let n=l.cloneContractTemplateFiles(e),r=l.cloneContractTemplateFiles(n);v.value=n,ut=r,ct=u.serializeFingerprint(r),g(`update:files`,r),g(`files-change`,l.cloneContractTemplateFiles(r));let i=r.find(e=>e.id===t);i&&g(`file-change`,l.cloneContractTemplateFiles([i])[0])}function zr(e,t={}){let{syncCurrent:n,shouldEmit:i,forceRefresh:a}=ye.resolveSetActiveFileIdOptions(t),o=l.resolveContractTemplateActiveFileId(v.value,e),s=o!==y.value;if((s||a)&&v.value.some(e=>e.id===o)&&($e(),cr()),n?J(!0):Nr(),!s&&!a)return;let c=v.value.find(e=>e.id===o);c&&(y.value=o,b.value=r.cloneTemplateValue(c.template),x.value=``,S.value=b.value.pages[0]?.id??``,It.value={},T.clear(),pt.clear(),mt.clear(),C.value=!1,w.value=[],E.value=!1,D.value=void 0,wt.value=void 0,gr(),i&&s&&g(`update:activeFileId`,o),n&&s&&jn.value&&ur(),(0,f.nextTick)(()=>{G()}))}function X(e,t={}){Nr();let n=t.normalizedBody?e:r.constrainTemplatePageSizes(r.normalizeTemplateValue(e,h.pageSize),h.pageSizeOptions);return t.normalizedBody||(pt.clear(),mt.clear()),b.value=n,C.value=!1,w.value=[],_.value?Y(l.replaceContractTemplateFile(v.value,y.value,n)):(v.value=l.replaceContractTemplateFile(v.value,y.value,n),Rr(n)),n}function Br(e,t=e.type!==`unchanged`){B.value=e,t&&g(`draft-cache-change`,{...e})}function Vr(){return{...B.value}}function Hr(e,t){t?T.set(e,t):T.delete(e)}function Ur(e){if(V.value)return;let t=H.value?.id??S.value;$(),zt.value=!1,Z({type:`insert-signing-layout`,preset:ee.isSigningLayoutPresetKey(e.key)?e.key:void 0,options:e.options}),Ga(t)}function Wr(e){if(V.value)return;let t=H.value?.id??S.value;$(),Z({type:`insert-signing-layout`,options:e},t),Ga(t)}function Gr(){zt.value=!1,Vt.value=!0}function Kr(e){$(),Bt.value=!1,Z({type:`insert-signing-mark`,mark:{markType:e}})}function Z(e,t=H.value?.id??S.value){V.value||T.get(t)?.runCommand(e)}function qr(e){Z(e),$()}function Jr(e){let t=F.value?.pageId;t&&(T.get(t)?.focus(),z.value=typeof document<`u`&&document.execCommand(e)?`${e===`copy`?`已复制`:e===`cut`?`已剪切`:`已粘贴`}`:`浏览器未授权剪贴板操作,请使用系统快捷键。`,$())}function Yr(e){let t=X(r.syncTemplateVariablesWithPages(e));return x.value&&!t.variables.some(e=>e.key===x.value)&&(x.value=``),t}function Xr(e){Ir(e),Fr(),sr(e.id)}function Zr(e){let t=r.resolvePageSize(e?.pageSize,b.value.pageSize),n=`${r.getPageSizeKey(t)}:${t.label??``}`;return mt.get(n)||(mt.set(n,t),t)}function Qr(e){if(V.value||!H.value)return;let t=Qn.value.find(t=>r.getPageSizeKey(t)===e);if(!t)return;let n=H.value.id,i=r.resolvePageSize(t,b.value.pageSize);X({...b.value,pages:b.value.pages.map(e=>e.id===n?{...e,pageSize:i}:e)}),sr(n)}function $r(e){let t=W.value;z.value=`合同最多支持 ${t} 页`,g(`page-limit`,t,e)}function ei(){if(V.value)return;if(ar.value){$r(`add`);return}let e=r.createDefaultPage(b.value.pages.length+1,In.value);X({...b.value,pages:[...b.value.pages,e]}),S.value=e.id,G()}function ti(e){if(V.value)return;if(ar.value){$r(`duplicate`);return}let t=b.value.pages.findIndex(t=>t.id===e.id);if(t<0)return;let n=r.cloneTemplateValue({pages:[e],variables:[],pageSize:b.value.pageSize}).pages[0],i=r.createBlankPage(t+2,Zr(e),n.contentHtml,n.contentJson);i.title=`${e.title||`第 ${t+1} 页`}副本`;let a=[...b.value.pages];a.splice(t+1,0,i),X({...b.value,pages:a}),S.value=i.id,G()}function ni(e){if(V.value||b.value.pages.length<=1)return;let t=b.value.pages.findIndex(t=>t.id===e.id);if(t<0)return;let n=b.value.pages.filter(t=>t.id!==e.id),r=Yr({...b.value,pages:n});S.value=r.pages[Math.min(t,r.pages.length-1)]?.id??``,G()}function ri(e){V.value||b.value.pages.length<=1||p.Modal.confirm({title:`删除合同页面`,content:`删除页面会同时移除页面正文,是否继续?`,okText:`确认删除`,okType:`danger`,cancelText:`取消`,onOk:()=>{ni(e)}})}function ii(e){let t=new Set(b.value.variables.map(e=>e.key)),n=1;for(;t.has(`${e}_${n}`);)n+=1;return`${e}_${n}`}function ai(e){let t=e.type??`text`;return r.createTemplateVariable({...e,type:t,key:e.key||ii(t),label:e.label||r.getFieldOption(t,nr.value).label},nr.value,h.defaultVariableStyle)}function oi(e,t=H.value?.id??b.value.pages[0].id,n){if(V.value)return e;let r=T.get(t)?.insertVariable(e,n),i=!b.value.variables.some(t=>t.key===e.key);return X({...b.value,pages:r?b.value.pages.map(e=>e.id===r.id?r:e):b.value.pages,variables:i?[...b.value.variables,e]:b.value.variables}),x.value=e.key,S.value=t,i&&g(`variable-add`,e),sr(t),e}function si(e){let{width:t,height:n,...r}=e,i=c.normalizeContractImageDimension(t),a=c.normalizeContractImageDimension(n);return{...r,...i===void 0?{}:{width:i},...a===void 0?{}:{height:a}}}function ci(e={}){let t=c.normalizeContractImageDimension(Ut.value),n=c.normalizeContractImageDimension(Wt.value);return{...e,...t===void 0?{}:{width:t},...n===void 0?{}:{height:n}}}function li(){Ht.value=``,Ut.value=void 0,Wt.value=void 0,Gt.value=``}function ui(e,t=H.value?.id??b.value.pages[0]?.id,n){let r=si({...e,src:e.src.trim()});if(!(V.value||!t||!i.isSafeContractImageUrl(r.src)||!r.src||!T.get(t)?.insertContentImage(r,n)))return S.value=t,x.value=``,r.src}function di(e){return e instanceof Error?e:Error(`图片处理失败`)}async function fi(e,t){t===`toolbar`&&(Kt.value=!0,Gt.value=``);try{let n=await c.processContractImageFile(e,{source:t,compression:h.imageCompression,upload:h.imageUpload});return dn?void 0:n.src}catch(e){let n=di(e);t===`toolbar`&&(Gt.value=n.message),z.value=n.message,g(`image-error`,n,t);return}finally{t===`toolbar`&&(Kt.value=!1)}}let pi=0;function mi(e){let t=e.replacedFontFamilies.filter(Boolean);if(!t.length)return;let n=Date.now();n-pi<800||(pi=n,p.message.info(`已将 ${t.length} 种外部字体(${t.join(`、`)})统一为合同标准字体,以保证 Mac 与 Windows 排版一致`))}async function hi(e){return await fi(e,`paste`)??null}async function gi(e,t={}){if(V.value)return;let n=H.value?.id??b.value.pages[0]?.id,r=n?T.get(n)?.getSelectionRange():void 0,a=typeof e==`string`?e.trim():await fi(e,`toolbar`);if(dn)return;if(!a||!i.isSafeContractImageUrl(a)){typeof e==`string`&&(Gt.value=`请输入安全的图片 URL`);return}if(n&&!T.has(n))return;let o=ui({...t,src:a},n,r);return o&&(Rt.value=!1,li(),z.value=`已插入图片`),o}function _i(){V.value||Kt.value||($(),Gt.value=``,ot.value&&(ot.value.value=``),ot.value?.click())}async function vi(e){let t=e.target.files?.[0];t&&await gi(t,ci({alt:t.name}))}async function yi(){let e=Ht.value;await gi(e,ci())}function bi(e){Bi(e),Lt.value=!1}function xi(){$(),ei()}function Si(e,t,n,r){$(),oi(ai({type:t}),e,{left:n,top:r})}function Ci(e){$(),x.value=e}function wi(e){let n=b.value.variables.find(t=>t.id===e.id);if(!n)return;let i=e.key.trim();if(i!==n.key){let t=r.validateContractTemplateVariableKey(i,b.value.variables,e.id);if(t){z.value=t;return}}e={...e,key:i};let a=[...b.value.pages],o=n.key;T.forEach((t,n)=>{let r=t.updateVariable(e,o);if(r){let e=a.findIndex(e=>e.id===n);e>=0&&(a[e]=r)}}),X({...b.value,pages:a,variables:b.value.variables.map(t=>t.id===e.id?e:t),...o!==e.key&&b.value.pageDecorations?{pageDecorations:t.rewritePageDecorationVariableTokens(b.value.pageDecorations,o,e.key)}:{}}),x.value=e.key,G()}function Ti(e){U.value&&wi({...U.value,...e,style:{...U.value.style,...e.style}})}function Ei(e){V.value||!U.value||Ti({key:e})}function Di(e){V.value||(X({...b.value,pageDecorations:t.normalizePageDecorations(e)}),G())}function Oi(e){(e===`left`||e===`center`||e===`right`)&&Ti({style:{textAlign:e}})}function ki(e){(e===`solid`||e===`dashed`)&&Ti({style:{borderStyle:e}})}function Ai(e){(e===`contain`||e===`cover`||e===`fill`)&&Ti({style:{objectFit:e}})}function ji(e){Ti({style:e})}function Mi(t){ji({fontFamily:String(t||``).trim()||e.DEFAULT_CONTRACT_FONT_FAMILY})}function Ni(e){ji({fontSize:Ar(e,U.value?.style?.fontSize??14)})}function Pi(e){U.value&&Ti({multiline:e,rows:U.value.rows||3,lineHeight:U.value.lineHeight||28})}function Fi(e){U.value&&Ti({rows:Number(e||3),lineHeight:U.value.lineHeight||28})}function Ii(e){if(V.value)return;let n=[...b.value.pages];T.forEach((t,r)=>{let i=t.removeVariable(e.key);if(i){let e=n.findIndex(e=>e.id===r);e>=0&&(n[e]=i)}}),X({...b.value,pages:n,variables:b.value.variables.filter(t=>t.id!==e.id),...b.value.pageDecorations?{pageDecorations:t.rewritePageDecorationVariableTokens(b.value.pageDecorations,e.key)}:{}}),x.value=``}function Li(e){let t=(e.trim()||`variable`).replace(/\s+/g,`_`),n=new Set(b.value.variables.map(e=>e.key));if(!n.has(t))return t;let r=2;for(;n.has(`${t}_${r}`);)r+=1;return`${t}_${r}`}function Ri(e){V.value||oi(r.createTemplateVariable({...e,id:void 0,key:Li(`${e.key||e.type}_copy`),label:`${e.label}副本`,style:{...e.style}},nr.value,h.defaultVariableStyle))}function zi(e){return V.value?void 0:oi(b.value.variables.find(t=>t.key===e.key)??r.createTemplateVariable(e,nr.value,h.defaultVariableStyle))}function Bi(e){if(!V.value)return oi(ai({type:e}))}function Vi(e){if(V.value||!n.isContractTemplateFieldType(e))return;let t=F.value,r=nr.value.find(t=>t.type===e);if(!t||!r)return;let i=te.inferContextVariableLabel(t.leadingText)||r.label,a=te.resolveContextVariableWidth(t.selectionWidth,ze,vr.value),o=Hi();oi(ai({type:e,label:i,...a?{width:a}:{},...o?{style:o}:{}}),t.pageId),z.value=t.hasSelection?`已将选中内容替换为${r.label}控件`:`已插入${r.label}控件`,$()}function Hi(){let e=K.value,t={};return e.isUnderline&&(t.underline=!0),typeof e.fontSize==`number`&&Number.isFinite(e.fontSize)&&(t.fontSize=e.fontSize),e.fontFamily&&(t.fontFamily=e.fontFamily),e.textColor&&(t.color=e.textColor),Object.keys(t).length?t:void 0}function Ui(e){if(V.value)return;let t=F.value;t&&(oi(e,t.pageId),z.value=`已绑定到${e.label},沿用原控件尺寸`,$())}function Wi(e){let t=e.type&&n.isContractTemplateFieldType(e.type)?e.type:`text`;return r.getFieldOption(t,nr.value).label}function Gi(){b.value.variables.length&&($t.value=!0,(0,f.nextTick)(()=>{uo(),qt.value?.focusBindSearch()}))}function Ki(e,t){e.dataTransfer?.setData(`application/x-gd-contract-variable`,t),e.dataTransfer&&(e.dataTransfer.effectAllowed=`copy`)}function qi(e){return O.value=Math.round(Math.min(Ne,Math.max(Me,Number.isFinite(e)?e:1))*100)/100,O.value}let{width:Ji}=(0,Ee.useElementSize)(Xe),Yi=(0,f.computed)(()=>Math.max(...b.value.pages.map(e=>Zr(e).width),r.DEFAULT_PAGE_SIZE.width)+10),{fitWidth:Xi,applyAutoFit:Zi,markUserAdjusted:Qi,userAdjusted:$i}=s.useFitWidthZoom({viewportWidth:Ji,widestPageWidth:Yi,padding:48,minZoom:Me,maxZoom:Ne,getZoom:()=>O.value,applyZoom:qi});function ea(e){return Qi(),qi(e)}function ta(){return Zi()}function na(){return O.value}function ra(){ea(O.value+Pe)}function ia(){ea(O.value-Pe)}function aa(){$(),vo(),k.value=!k.value}(0,f.watch)(Ji,e=>{Mt.value&&!$i.value&&e>0&&Xi()});function oa(e){A.value?at.value?.focus():e()}function sa(){$(),vo(),j.value=!1,un={fullscreen:k.value,sidebar:At.value,inspector:jt.value,chrome:A.value,zoom:O.value,userAdjusted:$i.value},k.value=!0,At.value=!0,jt.value=!0,A.value=!0,Mt.value=!0,(0,f.nextTick)(()=>{V.value?Nt.value?.focus():T.get(S.value)?.focus()})}function ca(){let e=un;Mt.value=!1,un=void 0,e&&(k.value=e.fullscreen,At.value=e.sidebar,jt.value=e.inspector,A.value=e.chrome,e.userAdjusted?ea(e.zoom):Zi(),(0,f.nextTick)(()=>oa(()=>tt.value?.focusImmersive())))}function la(){Mt.value?ca():sa()}function ua(){$(),I.value=void 0;let e=J(!1);_.value?(wt.value=l.cloneContractTemplateFiles(v.value),D.value=void 0,Tt.value=y.value||v.value[0]?.id||``):(D.value=r.cloneTemplateValue(e),wt.value=void 0,Tt.value=``),E.value=!0}function da(){E.value=!1,D.value=void 0,wt.value=void 0,Tt.value=``}function fa(){return qa()}function pa(){$();let e=fa();return Dt.value=JSON.stringify(e,null,2),Et.value=!0,e}function ma(){Et.value=!1}function ha(){return a.buildTemplateVariableData(J(!1))}function ga(){$();let e=ha();return kt.value=e,Ot.value=!0,e}function _a(){Ot.value=!1}function va(){$(),I.value=void 0,N.value=!1,P.value=!1,x.value=``,S.value=``,E.value=!1,D.value=void 0,wt.value=void 0,Et.value=!1,Dt.value=``,Ot.value=!1,kt.value={values:{},variables:[]},It.value={},$e(),cr();let e=X(r.createBlankTemplate(r.DEFAULT_PAGE_SIZE));return S.value=e.pages[0]?.id??``,r.cloneTemplateValue(e)}function ya(){V.value||($(),p.Modal.confirm({title:`清空合同内容`,content:`将清空全部合同正文、页面和模板变量,仅保留一个空白 A4 合同页。此操作不可撤销。`,okText:`确认清空`,okType:`danger`,cancelText:`取消`,onOk:()=>{va()}}))}function ba(e){let t=q().pages,n=t.find(e=>e.id===S.value);return(n?[n,...t.filter(e=>e.id!==n.id)]:t).find(t=>t.contentHtml.includes(`data-key="${e.key}"`)||t.contentHtml.includes(`data-key='${e.key}'`))}function xa(e){$(),x.value=e.key;let t=ba(e);t&&(S.value=t.id,(0,f.nextTick)(()=>{T.get(t.id)?.scrollIntoVariable(e.key)}))}function Sa(e){let t=b.value.variables.find(t=>t.key===e||t.id===e);t&&xa(t)}function Ca(e,t=!0){$(),S.value=e,t&&(0,f.nextTick)(()=>{T.get(e)?.scrollIntoPage()})}function wa(e){Ca(e.pageId,!1),T.get(e.pageId)?.focusHeading(e.headingIndex)}function Ta(e){b.value.pages.some(t=>t.id===e)&&Ca(e)}function Ea(){if(j.value){Da();return}j.value=!0}function Da(){j.value=!1,(0,f.nextTick)(()=>oa(()=>tt.value?.focusPageDecorations()))}function Oa(){return Pr(),r.cloneTemplateValue(q())}function ka(e){$e(),cr(),X(e),G()}function Aa(){let e=J(!1);return _.value?l.cloneContractTemplateFiles(v.value):l.cloneContractTemplateFiles(l.replaceContractTemplateFile(v.value,y.value,e))}function ja(e,t){let n=l.normalizeContractTemplateFiles(e,void 0,h.pageSize),r=l.constrainContractTemplateFiles(n,h.pageSizeOptions),i=v.value;ht.value=!0,J(!1),v.value=r.files,zr(l.resolveContractTemplateActiveFileId(v.value,t??y.value),{syncCurrent:!1,shouldEmit:!0,forceRefresh:!0}),u.serializeFingerprint(i)!==u.serializeFingerprint(v.value)&&Y(v.value,``)}function Ma(e){if(V.value)return;ht.value=!0,J(!0);let t=l.createContractTemplateFile(e||`合同文件 ${v.value.length+1}`,h.pageSize);return v.value=[...v.value,t],Y(v.value,``),g(`file-add`,l.cloneContractTemplateFiles([t])[0]),zr(t.id,{syncCurrent:!1,shouldEmit:!0,forceRefresh:!0}),l.cloneContractTemplateFiles([t])[0]}function Na(e){!_.value&&!v.value.some(t=>t.id===e)||(ht.value=!0,zr(e))}function Pa(e,t){if(V.value)return;ht.value=!0,J(!1);let n=l.renameContractTemplateFile(v.value,e,t),r=n.find(t=>t.id===e);if(r)return v.value=n,Y(n,e),l.cloneContractTemplateFiles([r])[0]}function Fa(e){if(V.value||v.value.length<=1)return;ht.value=!0,J(!1);let t=v.value.find(t=>t.id===e);if(!t)return;let n=l.removeContractTemplateFile(v.value,e);if(n.length!==v.value.length)return v.value=n,Y(n,``),g(`file-remove`,l.cloneContractTemplateFiles([t])[0]),y.value===e&&zr(l.resolveContractTemplateActiveFileId(n,n[0]?.id),{syncCurrent:!1,shouldEmit:!0,forceRefresh:!0}),l.cloneContractTemplateFiles([t])[0]}function Ia(e){if(V.value||v.value.length<=1)return;let t=v.value.find(t=>t.id===e);t&&p.Modal.confirm({title:`删除合同文件`,content:`删除“${t.name}”后,其正文和变量将无法恢复,是否继续?`,okText:`确认删除`,okType:`danger`,cancelText:`取消`,onOk:()=>{Fa(e)}})}function La(e,t){if(V.value)return;ht.value=!0,J(!1);let n=v.value.findIndex(t=>t.id===e),r=l.moveContractTemplateFile(v.value,e,t),i=r.findIndex(t=>t.id===e),a=r[i];if(!(!a||n===i))return v.value=r,Y(r,``),g(`file-move`,l.cloneContractTemplateFiles([a])[0],n,i),l.cloneContractTemplateFiles([a])[0]}function Ra(){J(!1);let e=Ya(_.value?v.value.flatMap(e=>r.validateTemplateValue(e.template,{maxPages:W.value}).map(t=>({...t,fileId:e.id}))):r.validateTemplateValue(q(),{maxPages:W.value}));return w.value=e,C.value=!0,g(`validate`,e),e}function za(e){if(e.fileId&&e.fileId!==y.value){Na(e.fileId),(0,f.nextTick)(()=>za({...e,fileId:void 0}));return}let n=t.resolvePageDecorationValidationPath(e);if(n){j.value=!0,(0,f.nextTick)(()=>nt.value?.focusField(n));return}if(e.variableKey){Sa(e.variableKey);return}if(e.pageId){Ta(e.pageId);return}let r=b.value.variables.find(t=>t.id===e.id||t.key===e.id);if(r){xa(r);return}b.value.pages.some(t=>t.id===e.id)&&Ca(e.id)}function Ba(e){return t.resolvePageDecorationValidationPath(e)?`页面装饰`:e.type===`variable`?`变量`:`字段`}let Va=o.createContractTemplateLayoutChecker(),Ha,Q;function Ua(){return _.value?(J(!1),v.value.map(e=>({fileId:e.id,template:e.template}))):[{template:q()}]}function Wa(e={}){if(Pr(),!e.pageId)return Va.check(Ua(),{signal:e.signal});let t={template:q(),..._.value?{fileId:y.value}:{}},n=o.buildContractTemplateLayoutPages(t).filter(t=>t.pageId===e.pageId);return Va.check([{...t,layoutPages:n}],{signal:e.signal})}function Ga(e){!e&&!h.checkLayoutOnExport||typeof window>`u`||(Ha!==void 0&&clearTimeout(Ha),Q?.abort(),Q=void 0,Ha=setTimeout(()=>{Ha=void 0;let t=new AbortController;Q=t;let n;try{n=Wa({pageId:e,signal:t.signal})}catch(e){Q=void 0,console.error(`[GD-SIGN-COORD] 合同模板排版预检启动失败`,e);return}n.then(e=>{Q===t&&(Q=void 0,g(`layout-warning`,e),e.length&&p.message.warning({key:Ge,content:Ka(e),duration:6}))},e=>{o.isContractTemplateLayoutAbortError(e)||Q!==t||(Q=void 0,console.error(`[GD-SIGN-COORD] 合同模板排版预检失败`,e))})},e?0:We))}function Ka(e){let[t]=e,n=t.fileId?v.value.find(e=>e.id===t.fileId)?.name:void 0,r=o.describeContractTemplateLayoutIssue(t,`design`)[0]??`存在排版问题`,i=n?`${n}:`:``;return e.length>1?`${i}${r}(另有 ${e.length-1} 处排版问题)`:`${i}${r}`}function qa(){Pr();let e=r.exportTemplateValue(q());return Ga(),e}function Ja(){let e=J(!1),t=_.value?v.value:l.replaceContractTemplateFile(v.value,y.value,e),n=l.exportContractTemplateFiles(t);return Ga(),n}function Ya(e){let t=new Set;return e.filter(e=>{let n=`${e.fileId??``}|${e.code??``}|${e.id}|${e.pageId??``}|${e.message}`;return t.has(n)?!1:(t.add(n),!0)})}function Xa(e){w.value=[...e],C.value=!0}function Za(){w.value=[],C.value=!1}function Qa(){T.get(H.value?.id??S.value)?.focus()}function $a(e){Or(e)&&Z({type:`set-text-align`,value:e})}function eo(e){(e===`paragraph`||kr(e))&&Z({type:`apply-block-style`,format:e})}function to(e){let t=jr(e);t&&(Z({type:`set-font-size`,value:t}),M.value=``)}function no(e){let t=String(e||``).trim();if(!t){Z({type:`unset-font-family`});return}Z({type:`set-font-family`,value:t})}function ro(e){io(e.target?.value??``)}function io(e){let t=e.trim();t&&Z({type:`set-color`,value:t})}function ao(e){M.value=e}function oo(){M.value.trim()&&to(M.value)}function so(e){e.key===`Enter`&&(e.preventDefault(),oo())}function co(e){e||(oo(),M.value=``)}function lo(e){if(V.value)return;S.value=e.pageId,N.value=!1,P.value=!1,L.value=void 0,R.value=void 0,$t.value=!1,en.value=``;let t=d.clampContextMenuPosition(e.clientX,e.clientY,304,300);F.value={pageId:e.pageId,x:t.x,y:t.y,hasSelection:e.hasSelection,selectionWidth:e.selectionWidth,leadingText:e.leadingText},(0,f.nextTick)(()=>{uo(),qt.value?.focusFirstButton()})}function uo(){let e=qt.value?.getMenuElement(),t=F.value;if(!e||!t)return;let n=d.clampContextMenuToElement(t.x,t.y,e);F.value={...t,x:n.x,y:n.y}}function fo(e){if(V.value)return;S.value=e.pageId,N.value=!1,P.value=!1,F.value=void 0,R.value=void 0;let t=d.clampContextMenuPosition(e.clientX,e.clientY,248,400);L.value={...e,x:t.x,y:t.y},(0,f.nextTick)(()=>{let e=tn.value?.getMenuElement(),t=L.value;if(e&&t){let n=d.clampContextMenuToElement(t.x,t.y,e);L.value={...t,x:n.x,y:n.y}}tn.value?.focusFirstItem()})}function po(e){if(V.value)return;S.value=e.pageId,N.value=!1,P.value=!1,F.value=void 0,L.value=void 0,rn.value=e.image.width,an.value=e.image.height,x.value=``;let t=d.clampContextMenuPosition(e.clientX,e.clientY,288,196);R.value={pageId:e.pageId,image:e.image,x:t.x,y:t.y},(0,f.nextTick)(()=>{mo(),nn.value?.getMenuElement()?.querySelector(`input, button:not(:disabled)`)?.focus()})}function mo(){let e=nn.value?.getMenuElement(),t=R.value;if(!e||!t)return;let n=d.clampContextMenuToElement(t.x,t.y,e);R.value={...t,x:n.x,y:n.y}}function ho(){let e=R.value;!e||V.value||(T.get(e.pageId)?.updateSelectedContentImage({width:c.normalizeContractImageDimension(rn.value),height:c.normalizeContractImageDimension(an.value)})&&(z.value=`已更新图片尺寸`),$())}function go(){let e=R.value;!e||V.value||(T.get(e.pageId)?.updateSelectedContentImage({width:void 0,height:void 0})&&(z.value=`已恢复图片自然尺寸`),$())}function _o(e){e.type===`table`?fo(e):e.type===`image`?po(e):lo(e)}function $(){F.value=void 0,L.value=void 0,R.value=void 0,$t.value=!1,en.value=``}function vo(){Tn(!1),N.value=!1,P.value=!1,Ft.value=!1,Lt.value=!1,Rt.value=!1,zt.value=!1,Bt.value=!1}function yo(){vo(),A.value=!A.value,(0,f.nextTick)(()=>oa(()=>tt.value?.focusChromeToggle()))}let bo=[`.gd-contract-template-designer__context-menu`,`.gd-contract-template-designer__bubble-menu`,`.gd-contract-template-designer__bubble-menu-popup`].join(`,`);function xo(){let e=V.value||Zt.value||Yt.value||An.value||j.value||E.value,t=S.value,n=e?void 0:T.get(t)?.getSelectionViewportRect();if(!n){I.value=void 0;return}let r=n.top-40-Ue,i=r>=12?r:n.bottom+Ue,a=(n.left+n.right)/2-380/2,o=d.clampContextMenuPosition(a,i,380,40);I.value={pageId:t,x:o.x,y:o.y},(0,f.nextTick)(()=>So(n))}function So(e){let t=Jt.value?.getMenuElement(),n=I.value;if(!t||!n)return;let r=t.getBoundingClientRect(),i=e.top-r.height-Ue,a=i>=12?i:e.bottom+Ue,o=(e.left+e.right)/2-r.width/2,s=d.clampContextMenuToElement(o,a,t);I.value={...n,x:s.x,y:s.y}}function Co(){let e=I.value?.pageId??S.value,t=T.get(e)?.getSelectionRange();Xt=t?{pageId:e,...t}:void 0,Yt.value=!0,I.value=void 0}function wo(e){if(!Yt.value)return;let t=Xt,n=T.get(e)?.getSelectionRange();t&&n&&t.pageId===e&&t.from===n.from&&t.to===n.to||(Yt.value=!1,Xt=void 0)}function To(){!I.value||Qt!==void 0||(Qt=requestAnimationFrame(()=>{Qt=void 0,xo()}))}function Eo(){Zt.value&&(Zt.value=!1,xo())}function Do(){$(),To()}function Oo(e,t){T.get(I.value?.pageId??S.value)?.requestTextContextMenu(e,t)}function ko(e){let t=e.target instanceof Element?e.target:null;t?.closest(`.ProseMirror`)&&(Zt.value=!0,I.value=void 0),!(!F.value&&!L.value&&!R.value&&!I.value)&&(t?.closest(bo)||($(),I.value&&Co()))}function Ao(e){(e.target instanceof Element?e.target:null)?.closest(bo)||($(),To())}function jo(e){let t=Ye.value;if(!t||typeof document>`u`)return!1;let n=e.target instanceof Node?e.target:void 0,r=document.activeElement;return!!(n&&t.contains(n)||r&&t.contains(r)||n instanceof Element&&n.closest(`.gd-contract-template-designer__context-menu`))}function Mo(e){if(e.key!==`Escape`||!j.value||typeof document>`u`)return;let t=Ye.value?.querySelector(`.gd-contract-template-designer__page-decorations-studio`);if(!t)return;let n=e.target instanceof Element?e.target:null,r=document.activeElement instanceof Element?document.activeElement:null,i=!!(n?.closest(cn)||r?.closest(cn)),a=!!(n&&t.contains(n)||r&&t.contains(r)),o=!!t.querySelector(`.ant-select-open, .ant-dropdown-open`);if(i||a&&o){sn.add(e);return}!An.value&&(a||e.target===document)&&(e.preventDefault(),e.stopPropagation(),Da())}function No(e){if((e.ctrlKey||e.metaKey)&&!e.altKey&&e.key.toLowerCase()===`s`){if(!jn.value||!jo(e))return;e.preventDefault(),ur();return}if(e.key===`Escape`){if(sn.has(e)){sn.delete(e);return}let t=An.value,n=t||j.value;if(!t&&j.value&&Da(),$(),vo(),n&&e.stopPropagation(),!n){if(I.value){Co(),e.stopPropagation();return}Mt.value?ca():k.value=!1}}}function Po(e,t){e===S.value&&t.selectedContentImage&&(x.value=``),e===S.value&&(wo(e),xo());let n=It.value[e];n&&Te.isSameEditorState(n,t)||(It.value={...It.value,[e]:t})}function Fo(e=on.value.rows,t=on.value.cols){Z({type:`insert-table`,options:{rows:Math.min(10,Math.max(1,Math.round(Number(e)||3))),cols:Math.min(10,Math.max(1,Math.round(Number(t)||3))),withHeaderRow:!!on.value.withHeaderRow}}),N.value=!1,$()}let Io={"delete-table-row":{label:`删除当前行`,countKey:`deleteRow`},"delete-table-column":{label:`删除当前列`,countKey:`deleteColumn`},"delete-table":{label:`删除表格`,countKey:`deleteTable`}};function Lo(e){let t=L.value;if(!t)return;let n=()=>{Z(e,t.pageId),$()},r=Io[e.type];if(!r){n();return}let i=t.affectedVariableCounts[r.countKey];$(),p.Modal.confirm({title:r.label,content:i?`此操作将移除 ${i} 个正文变量节点,是否继续?`:`此操作将修改表格结构,是否继续?`,okText:`确认`,okType:`danger`,cancelText:`取消`,onOk:n,onCancel:()=>T.get(t.pageId)?.focus()})}function Ro(e){let t=tn.value?.getMenuElement();if(!t)return;if(e.key===`Escape`){e.preventDefault(),e.stopPropagation();let t=L.value?.pageId;$(),T.get(t??``)?.focus();return}let n=Array.from(t.querySelectorAll(`button:not(:disabled)`));if(!n.length)return;if(e.key===`Home`||e.key===`End`){e.preventDefault(),n[e.key===`Home`?0:n.length-1]?.focus();return}if(![`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`].includes(e.key))return;let r=(Math.max(0,n.indexOf(document.activeElement))+(e.key===`ArrowUp`||e.key===`ArrowLeft`?-1:1)+n.length)%n.length;e.preventDefault(),n[r]?.focus()}function zo(e){if(e.key!==`Escape`)return;e.preventDefault(),e.stopPropagation();let t=F.value?.pageId;$(),T.get(t??``)?.focus()}function Bo(e){if(e.key!==`Escape`)return;e.preventDefault(),e.stopPropagation();let t=R.value?.pageId;$(),T.get(t??``)?.focus()}function Vo(e){Z({type:e}),P.value=!1,$()}return Ke({checkLayout:Wa,getValue:Oa,setValue:ka,getFiles:Aa,setFiles:ja,addFile:Ma,selectFile:Na,renameFile:Pa,removeFile:Fa,moveFile:La,validate:Ra,exportTemplate:qa,exportFiles:Ja,getSubmitData:fa,clearTemplate:va,saveDraftCache:ur,loadDraftCache:dr,clearDraftCache:fr,getDraftCacheStatus:Vr,insertVariable:zi,insertImage:gi,focus:Qa,openPreview:ua,closePreview:da,openSubmitDataViewer:pa,closeSubmitDataViewer:ma,getVariableData:ha,openVariableDataViewer:ga,closeVariableDataViewer:_a,setServerValidationErrors:Xa,clearValidationErrors:Za,scrollToVariable:Sa,scrollToPage:Ta,setZoom:ea,resetZoom:ta,getZoom:na,fitWidth:Xi}),(e,t)=>((0,f.openBlock)(),(0,f.createElementBlock)(`div`,{ref_key:`designerElement`,ref:Ye,class:(0,f.normalizeClass)([`gd-contract-template-designer`,{"is-disabled":m.disabled,"is-readonly":V.value,"is-fullscreen":k.value,"is-immersive":Mt.value}]),style:(0,f.normalizeStyle)(Je.value),onKeydownCapture:t[31]||=(...e)=>(0,f.unref)(kn)&&(0,f.unref)(kn)(...e)},[_.value?((0,f.openBlock)(),(0,f.createBlock)(xe.default,{key:0,files:v.value,"active-file-id":y.value,readonly:V.value,onSelect:Na,onAdd:t[0]||=e=>Ma(),onRename:Pa,onRemove:Ia,onMove:La},null,8,[`files`,`active-file-id`,`readonly`])):(0,f.createCommentVNode)(``,!0),(0,f.createElementVNode)(`div`,{class:(0,f.normalizeClass)([`gd-contract-template-designer__layout`,{"is-sidebar-collapsed":At.value,"is-inspector-collapsed":jt.value}])},[(0,f.createVNode)(Se.default,{collapsed:At.value,"file-id":y.value,pages:b.value.pages,variables:b.value.variables,"decoration-variable-keys":or.value,"active-page-id":S.value,"selected-variable-key":x.value,"normalized-max-pages":W.value,"page-limit-reached":ar.value,"selected-page":H.value,"selected-page-size":In.value,"normalized-page-size-options":Qn.value,"page-size-options":$n.value,"selected-page-size-option-value":er.value,readonly:V.value,"get-page-size":Zr,onToggle:t[1]||=e=>At.value=!At.value,onAddPage:ei,onActivatePage:Ca,onNavigateOutline:wa,onDuplicatePage:ti,onRemovePage:ri,onPatchPageFormat:Qr,onScrollToVariable:xa},null,8,[`collapsed`,`file-id`,`pages`,`variables`,`decoration-variable-keys`,`active-page-id`,`selected-variable-key`,`normalized-max-pages`,`page-limit-reached`,`selected-page`,`selected-page-size`,`normalized-page-size-options`,`page-size-options`,`selected-page-size-option-value`,`readonly`]),(0,f.createElementVNode)(`main`,{ref_key:`workspaceElement`,ref:et,class:`gd-contract-template-designer__workspace`},[(0,f.withDirectives)((0,f.createElementVNode)(`div`,{id:it,class:`gd-contract-template-designer__workspace-chrome`},[(0,f.createVNode)(ae.default,{ref_key:`workspaceHeaderElement`,ref:tt,summary:zn.value,"draft-cache-status-text":Un.value,"draft-cache-status-class":Wn.value,"show-draft-cache-status":m.showDraftCacheStatus,"show-clear-button":m.showClearButton,"show-submit-data-viewer":m.showSubmitDataViewer,"show-variable-data-viewer":m.showVariableDataViewer,readonly:V.value,"zoom-percent":Gn.value,"zoom-out-disabled":O.value<=Me,"zoom-in-disabled":O.value>=Ne,"is-fullscreen":k.value,immersive:Mt.value,"page-decorations-open":j.value,"page-decorations-studio-id":rt,"page-decorations-preset-label":Bn.value,"page-decorations-enabled-count":Hn.value,"page-decorations-enabled-states":Vn.value,"chrome-controls-id":it,onZoomOut:ia,onZoomIn:ra,onFitWidth:(0,f.unref)(Xi),onResetZoom:ta,onToggleFullscreen:aa,onToggleImmersive:la,onClear:ya,onValidate:Ra,onPreview:ua,onSubmitData:pa,onVariableData:ga,onTogglePageDecorations:Ea,onToggleChrome:yo},{authoring:(0,f.withCtx)(()=>[(0,f.createVNode)(ce.default,{ref_key:`authoringBarElement`,ref:st,compact:``,query:(0,f.unref)(gn),"onUpdate:query":t[2]||=e=>(0,f.isRef)(gn)?gn.value=e:null,replacement:(0,f.unref)(_n),"onUpdate:replacement":t[3]||=e=>(0,f.isRef)(_n)?_n.value=e:null,"match-case":(0,f.unref)(vn),"onUpdate:matchCase":t[4]||=e=>(0,f.isRef)(vn)?vn.value=e:null,panel:(0,f.unref)(hn),readonly:V.value,total:(0,f.unref)(yn).length,"current-index":(0,f.unref)(bn),"current-page":(0,f.unref)(xn)?(0,f.unref)(xn).pageIndex+1:void 0,feedback:(0,f.unref)(Sn),onOpen:(0,f.unref)(wn),onClose:t[5]||=e=>(0,f.unref)(Tn)(),onNavigate:(0,f.unref)(En),onReplaceCurrent:(0,f.unref)(Dn),onReplaceAll:(0,f.unref)(On)},null,8,[`query`,`replacement`,`match-case`,`panel`,`readonly`,`total`,`current-index`,`current-page`,`feedback`,`onOpen`,`onNavigate`,`onReplaceCurrent`,`onReplaceAll`])]),_:1},8,[`summary`,`draft-cache-status-text`,`draft-cache-status-class`,`show-draft-cache-status`,`show-clear-button`,`show-submit-data-viewer`,`show-variable-data-viewer`,`readonly`,`zoom-percent`,`zoom-out-disabled`,`zoom-in-disabled`,`is-fullscreen`,`immersive`,`page-decorations-open`,`page-decorations-preset-label`,`page-decorations-enabled-count`,`page-decorations-enabled-states`,`onFitWidth`]),(0,f.createVNode)(se.default,{"variable-insert-popover-open":Lt.value,"onUpdate:variableInsertPopoverOpen":t[6]||=e=>Lt.value=e,"signing-layout-popover-open":zt.value,"onUpdate:signingLayoutPopoverOpen":t[7]||=e=>zt.value=e,"signing-mark-popover-open":Bt.value,"onUpdate:signingMarkPopoverOpen":t[8]||=e=>Bt.value=e,"image-insert-popover-open":Rt.value,"onUpdate:imageInsertPopoverOpen":t[9]||=e=>Rt.value=e,"image-insert-url":Ht.value,"onUpdate:imageInsertUrl":t[10]||=e=>Ht.value=e,"image-insert-width":Ut.value,"onUpdate:imageInsertWidth":t[11]||=e=>Ut.value=e,"image-insert-height":Wt.value,"onUpdate:imageInsertHeight":t[12]||=e=>Wt.value=e,"table-insert-popover-open":N.value,"onUpdate:tableInsertPopoverOpen":t[13]||=e=>N.value=e,"table-actions-popover-open":P.value,"onUpdate:tableActionsPopoverOpen":t[14]||=e=>P.value=e,"table-insert-draft":on.value,"onUpdate:tableInsertDraft":t[15]||=e=>on.value=e,"toolbar-more-open":Ft.value,"onUpdate:toolbarMoreOpen":t[16]||=e=>Ft.value=e,readonly:V.value,"editor-state":K.value,"current-block-format":br.value,"block-format-options":Yn,"font-family-select-options":qn.value,"current-editor-font-family":xr.value,"font-size-preset-options":Tr.value,"current-editor-font-size":Sr.value,"editor-font-size-search-value":M.value,"current-editor-text-color":Cr.value,"body-control-tool-items":ir.value,"signing-layout-presets":rr.value,"page-limit-reached":ar.value,"normalized-max-pages":W.value,"image-processing":Kt.value,"image-insert-error":Gt.value,onCommand:t[17]||=e=>Z(e),onPatchBlockFormat:eo,onPatchFontFamily:no,onPatchFontSize:to,onPatchColor:ro,onPatchTextAlign:$a,onInsertVariable:bi,onInsertSigningLayout:Ur,onInsertSigningMark:Kr,onOpenSigningLayoutCustom:Gr,onOpenImageFile:_i,onInsertImageUrl:yi,onAddPage:ei,onInsertTable:Fo,onTableAction:Vo,onFontSizeSearch:ao,onFontSizeCommit:oo,onFontSizeDropdownChange:co,onFontSizeKeydown:so},null,8,`variable-insert-popover-open.signing-layout-popover-open.signing-mark-popover-open.image-insert-popover-open.image-insert-url.image-insert-width.image-insert-height.table-insert-popover-open.table-actions-popover-open.table-insert-draft.toolbar-more-open.readonly.editor-state.current-block-format.font-family-select-options.current-editor-font-family.font-size-preset-options.current-editor-font-size.editor-font-size-search-value.current-editor-text-color.body-control-tool-items.signing-layout-presets.page-limit-reached.normalized-max-pages.image-processing.image-insert-error`.split(`.`))],512),[[f.vShow,!A.value]]),A.value?((0,f.openBlock)(),(0,f.createBlock)((0,f.unref)(p.Tooltip),{key:0,title:`展开工具区`},{default:(0,f.withCtx)(()=>[(0,f.createElementVNode)(`button`,{ref_key:`workspaceChromeHandleElement`,ref:at,type:`button`,class:`gd-contract-template-designer__workspace-chrome-handle`,"aria-label":`展开工具区`,"aria-expanded":!1,"aria-controls":it,onClick:yo},[(0,f.createVNode)((0,f.unref)(De.DownOutlined),{"aria-hidden":`true`})],512)]),_:1})):(0,f.createCommentVNode)(``,!0),Mt.value&&!j.value?((0,f.openBlock)(),(0,f.createElementBlock)(`button`,{key:1,ref_key:`immersiveExitElement`,ref:Nt,type:`button`,class:`gd-contract-template-designer__immersive-exit`,"aria-label":`退出沉浸写作`,onClick:ca},[(0,f.createVNode)((0,f.unref)(De.CompressOutlined),{"aria-hidden":`true`}),t[32]||=(0,f.createElementVNode)(`span`,{class:`gd-contract-template-designer__immersive-exit-label`},`退出沉浸`,-1),t[33]||=(0,f.createElementVNode)(`kbd`,null,`Esc`,-1)],512)):(0,f.createCommentVNode)(``,!0),C.value?((0,f.openBlock)(),(0,f.createElementBlock)(`section`,Oe,[(0,f.createVNode)((0,f.unref)(p.Alert),{type:Ln.value?`success`:`error`,message:Rn.value,"show-icon":``},null,8,[`type`,`message`]),w.value.length?((0,f.openBlock)(),(0,f.createElementBlock)(`div`,ke,[((0,f.openBlock)(!0),(0,f.createElementBlock)(f.Fragment,null,(0,f.renderList)(w.value,e=>((0,f.openBlock)(),(0,f.createElementBlock)(`button`,{key:`${e.id}-${e.message}`,type:`button`,class:`gd-contract-template-designer__validation-item`,onClick:t=>za(e)},[(0,f.createElementVNode)(`span`,null,(0,f.toDisplayString)(e.message),1),(0,f.createElementVNode)(`small`,null,(0,f.toDisplayString)(Ba(e)),1)],8,Ae))),128))])):(0,f.createCommentVNode)(``,!0)])):(0,f.createCommentVNode)(``,!0),(0,f.createElementVNode)(`div`,{ref_key:`canvasElement`,ref:Xe,class:`gd-contract-template-designer__canvas`},[((0,f.openBlock)(!0),(0,f.createElementBlock)(f.Fragment,null,(0,f.renderList)(b.value.pages,(e,n)=>((0,f.openBlock)(),(0,f.createBlock)(re.default,{key:`${y.value}:${e.id}`,ref_for:!0,ref:t=>Hr(e.id,t),page:e,"page-index":n,"page-size":Zr(e),"page-decorations":b.value.pageDecorations,"total-pages":b.value.pages.length,variables:b.value.variables,"selected-variable-key":x.value,active:S.value===e.id,readonly:m.readonly,disabled:m.disabled,zoom:O.value,"process-image-file":hi,"search-query":(0,f.unref)(Cn),"search-match-case":(0,f.unref)(vn),"active-search-match":(0,f.unref)(xn)?.pageId===e.id?(0,f.unref)(xn):void 0,"get-scroll-container":Ze,onPageUpdate:Xr,onVariableDrop:Si,onVariableSelect:Ci,onEditorFocus:t[18]||=e=>Ca(e,!1),onEditorReady:(0,f.unref)(sr),onCompositionEnd:(0,f.unref)(sr),onPageLayoutChange:(0,f.unref)(sr),onEditorStateChange:Po,onEditorContextMenu:_o,onWordPaste:mi,onVariableMoveBlocked:t[19]||=e=>z.value=`变量只能在当前页内移动,跨页移动尚未支持。`},null,8,[`page`,`page-index`,`page-size`,`page-decorations`,`total-pages`,`variables`,`selected-variable-key`,`active`,`readonly`,`disabled`,`zoom`,`search-query`,`search-match-case`,`active-search-match`,`onEditorReady`,`onCompositionEnd`,`onPageLayoutChange`]))),128))],512)],512),(0,f.createVNode)(Ce.default,{collapsed:jt.value,readonly:m.readonly,disabled:m.disabled,"body-control-tool-items":ir.value,"selected-variable":U.value,variables:b.value.variables,"current-variable-font-family":wr.value,"font-family-select-options":qn.value,"text-align-options":(0,f.unref)(Jn),"border-style-options":Xn,"object-fit-options":Zn,"selected-variable-width-max":vr.value,"selected-variable-height-max":yr.value,"min-font-size":Ve,"max-font-size":He,"default-multiline-rows":(0,f.unref)(3),onToggle:t[20]||=e=>jt.value=!jt.value,onVariableDragStart:Ki,onInsertVariable:Bi,onDuplicateVariable:Ri,onRemoveVariable:Ii,onPatchVariable:Ti,onRenameVariable:Ei,onPatchStyle:ji,onPatchMultiline:Pi,onPatchRows:Fi,onPatchFontFamily:Mi,onPatchFontSize:Ni,onPatchTextAlign:Oi,onPatchBorderStyle:ki,onPatchObjectFit:Ai},null,8,[`collapsed`,`readonly`,`disabled`,`body-control-tool-items`,`selected-variable`,`variables`,`current-variable-font-family`,`font-family-select-options`,`text-align-options`,`selected-variable-width-max`,`selected-variable-height-max`,`default-multiline-rows`])],2),(0,f.withDirectives)((0,f.createVNode)(we.default,{ref_key:`pageDecorationsStudioElement`,ref:nt,id:rt,open:j.value,decorations:b.value.pageDecorations,variables:b.value.variables,"font-family-options":qn.value,readonly:m.readonly,disabled:m.disabled,"active-tab":Pt.value,"onUpdate:activeTab":t[21]||=e=>Pt.value=e,onChange:Di,onClose:Da},null,8,[`open`,`decorations`,`variables`,`font-family-options`,`readonly`,`disabled`,`active-tab`]),[[f.vShow,j.value]]),((0,f.openBlock)(),(0,f.createBlock)(f.Teleport,{to:`body`},[L.value?((0,f.openBlock)(),(0,f.createBlock)(ie.default,{key:0,ref_key:`tableContextMenuElement`,ref:tn,capabilities:L.value.capabilities,"active-alignment":L.value.activeAlignment,style:(0,f.normalizeStyle)({left:`${L.value.x}px`,top:`${L.value.y}px`}),onExecute:Lo,onKeydown:Ro},null,8,[`capabilities`,`active-alignment`,`style`])):(0,f.createCommentVNode)(``,!0),R.value?((0,f.openBlock)(),(0,f.createBlock)(fe.default,{key:1,ref_key:`imageContextMenuElement`,ref:nn,width:rn.value,"onUpdate:width":t[22]||=e=>rn.value=e,height:an.value,"onUpdate:height":t[23]||=e=>an.value=e,x:R.value.x,y:R.value.y,readonly:V.value,onRestore:go,onApply:ho,onKeydown:Bo},null,8,[`width`,`height`,`x`,`y`,`readonly`])):(0,f.createCommentVNode)(``,!0),F.value?((0,f.openBlock)(),(0,f.createBlock)(ue.default,{key:2,ref_key:`textContextMenuElement`,ref:qt,"bind-open":$t.value,"onUpdate:bindOpen":t[24]||=e=>$t.value=e,"bind-keyword":en.value,"onUpdate:bindKeyword":t[25]||=e=>en.value=e,x:F.value.x,y:F.value.y,"has-selection":F.value.hasSelection,"editor-state":K.value,"current-editor-text-color":Cr.value,"body-control-tool-items":ir.value,"text-menu-bindable-variables":_r.value,"variables-count":b.value.variables.length,"resolve-bind-variable-type-label":Wi,onCommand:qr,onClipboard:Jr,onAddPage:xi,onInsertVariable:Vi,onBindVariable:Ui,onOpenBindPanel:Gi,onKeydown:zo,onPatchColor:io},null,8,[`bind-open`,`bind-keyword`,`x`,`y`,`has-selection`,`editor-state`,`current-editor-text-color`,`body-control-tool-items`,`text-menu-bindable-variables`,`variables-count`])):(0,f.createCommentVNode)(``,!0),I.value?((0,f.openBlock)(),(0,f.createBlock)(de.default,{key:3,ref_key:`textBubbleElement`,ref:Jt,x:I.value.x,y:I.value.y,"editor-state":K.value,"font-size-preset-options":Tr.value,"current-editor-font-size":Sr.value,"editor-font-size-search-value":M.value,"current-editor-text-color":Cr.value,"text-align-options":(0,f.unref)(Jn),onCommand:Z,onPatchFontSize:to,onPatchTextAlign:$a,onPatchColor:io,onFontSizeSearch:ao,onFontSizeCommit:oo,onFontSizeDropdownChange:co,onFontSizeKeydown:so,onMore:Oo},null,8,[`x`,`y`,`editor-state`,`font-size-preset-options`,`current-editor-font-size`,`editor-font-size-search-value`,`current-editor-text-color`,`text-align-options`])):(0,f.createCommentVNode)(``,!0)])),(0,f.createElementVNode)(`input`,{ref_key:`imageFileInputElement`,ref:ot,class:`gd-contract-template-designer__hidden-file-input`,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif,image/bmp`,tabindex:`-1`,"aria-hidden":`true`,onChange:vi},null,544),(0,f.createElementVNode)(`span`,je,(0,f.toDisplayString)(z.value),1),(0,f.createVNode)(pe.default,{open:E.value,"onUpdate:open":t[26]||=e=>E.value=e,"preview-pages":Nn.value,"preview-file-groups":Pn.value,"preview-active-group":Fn.value,"preview-snapshot":D.value,"font-base-url":m.contractFontBaseUrl,onCancel:da,onSelectFile:t[27]||=e=>Tt.value=e},null,8,[`open`,`preview-pages`,`preview-file-groups`,`preview-active-group`,`preview-snapshot`,`font-base-url`]),(0,f.createVNode)(me.default,{open:Et.value,"onUpdate:open":t[28]||=e=>Et.value=e,json:Dt.value,onCancel:ma},null,8,[`open`,`json`]),(0,f.createVNode)(he.default,{open:Ot.value,"onUpdate:open":t[29]||=e=>Ot.value=e,data:kt.value,"file-name":Mn.value?.name,onCancel:_a},null,8,[`open`,`data`,`file-name`]),(0,f.createVNode)(ge.default,{open:Vt.value,"onUpdate:open":t[30]||=e=>Vt.value=e,disabled:V.value,onInsert:Wr},null,8,[`open`,`disabled`])],38))}});exports.default=m;
@@ -1 +1 @@
1
- require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./utils/signing-layout-presets.cjs`),t=require(`./SigningLayoutPreview.cjs`);let n=require(`vue`),r=require(`ant-design-vue`);var i={class:`gd-contract-template-designer__signing-layout-modal-body`},a={class:`gd-contract-template-designer__signing-layout-modal-fields`},o={class:`gd-contract-template-designer__signing-layout-modal-field`},s={class:`gd-contract-template-designer__signing-layout-modal-field`},c={class:`gd-contract-template-designer__signing-layout-modal-field`},l={class:`gd-contract-template-designer__signing-layout-modal-preview`},u={class:`gd-contract-template-designer__signing-layout-modal-hint`,"aria-live":`polite`},d=(0,n.defineComponent)({name:`SigningLayoutCustomModal`,__name:`SigningLayoutCustomModal`,props:{open:{type:Boolean},disabled:{type:Boolean,default:!1}},emits:[`update:open`,`insert`],setup(d,{emit:f}){let p=d,m=f,h=e.SIGNING_LAYOUT_ARRANGEMENTS.map(t=>({value:t,label:e.SIGNING_LAYOUT_ARRANGEMENT_LABELS[t]})),g=e.SIGNING_LAYOUT_FIELD_KEYS.map(t=>({value:t,label:e.SIGNING_LAYOUT_FIELD_LABELS[t]})),_=(0,n.ref)(e.SIGNING_LAYOUT_PRESETS[`dual-party`].options.partyCount),v=(0,n.ref)(`side-by-side`),y=(0,n.ref)([`seal`,`signature`,`date`]);(0,n.watch)(()=>p.open,t=>{if(!t)return;let n=e.SIGNING_LAYOUT_PRESETS[`dual-party`].options;_.value=n.partyCount,v.value=n.arrangement,y.value=e.SIGNING_LAYOUT_FIELD_KEYS.filter(e=>n.fields[e])});let b=(0,n.computed)(()=>e.normalizeSigningLayoutOptions({partyCount:_.value,arrangement:v.value,fields:{seal:y.value.includes(`seal`),signature:y.value.includes(`signature`),date:y.value.includes(`date`),title:y.value.includes(`title`)}})),x=(0,n.computed)(()=>e.buildSigningLayoutPreviewModel(b.value)),S=(0,n.computed)(()=>e.describeSigningLayoutOptions(b.value)),C=(0,n.computed)(()=>!p.disabled);function w(){if(!C.value)return;let e=b.value;m(`insert`,e),m(`update:open`,!1)}return(e,f)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.Modal),{open:d.open,title:`自定义签署版式`,width:`min(720px, calc(100vw - 48px))`,centered:``,"ok-text":`插入`,"cancel-text":`取消`,"ok-button-props":{disabled:!C.value},"wrap-class-name":`gd-contract-template-designer__signing-layout-modal`,"onUpdate:open":f[3]||=e=>m(`update:open`,e),onOk:w},{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`div`,i,[(0,n.createElementVNode)(`div`,a,[(0,n.createElementVNode)(`label`,o,[f[4]||=(0,n.createElementVNode)(`span`,null,`签署方数量`,-1),(0,n.createVNode)((0,n.unref)(r.InputNumber),{value:_.value,"onUpdate:value":f[0]||=e=>_.value=e,min:(0,n.unref)(1),max:(0,n.unref)(6),precision:0,disabled:d.disabled,"aria-label":`签署方数量`},null,8,[`value`,`min`,`max`,`disabled`])]),(0,n.createElementVNode)(`div`,s,[f[5]||=(0,n.createElementVNode)(`span`,null,`排列方式`,-1),(0,n.createVNode)((0,n.unref)(r.RadioGroup),{value:v.value,"onUpdate:value":f[1]||=e=>v.value=e,options:(0,n.unref)(h),"option-type":`button`,"button-style":`solid`,size:`small`,disabled:d.disabled,"aria-label":`排列方式`},null,8,[`value`,`options`,`disabled`])]),(0,n.createElementVNode)(`div`,c,[f[6]||=(0,n.createElementVNode)(`span`,null,`包含项`,-1),(0,n.createVNode)((0,n.unref)(r.CheckboxGroup),{value:y.value,"onUpdate:value":f[2]||=e=>y.value=e,options:(0,n.unref)(g),disabled:d.disabled,"aria-label":`包含项`},null,8,[`value`,`options`,`disabled`])])]),(0,n.createElementVNode)(`div`,l,[(0,n.createVNode)(t.default,{model:x.value},null,8,[`model`]),(0,n.createElementVNode)(`span`,u,(0,n.toDisplayString)(S.value),1)])])]),_:1},8,[`open`,`ok-button-props`]))}});exports.default=d;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./utils/signing-layout-presets.cjs`),t=require(`./SigningLayoutPreview.cjs`);let n=require(`vue`),r=require(`ant-design-vue`);var i={class:`gd-contract-template-designer__signing-layout-modal-body`},a={class:`gd-contract-template-designer__signing-layout-modal-fields`},o={class:`gd-contract-template-designer__signing-layout-modal-field`},s={class:`gd-contract-template-designer__signing-layout-modal-field`},c={key:0,class:`gd-contract-template-designer__signing-layout-modal-hint`,role:`note`},l={class:`gd-contract-template-designer__signing-layout-modal-field`},u={class:`gd-contract-template-designer__signing-layout-modal-preview`},d={class:`gd-contract-template-designer__signing-layout-modal-hint`,"aria-live":`polite`},f=(0,n.defineComponent)({name:`SigningLayoutCustomModal`,__name:`SigningLayoutCustomModal`,props:{open:{type:Boolean},disabled:{type:Boolean,default:!1}},emits:[`update:open`,`insert`],setup(f,{emit:p}){let m=f,h=p,g=e.SIGNING_LAYOUT_FIELD_KEYS.map(t=>({value:t,label:e.SIGNING_LAYOUT_FIELD_LABELS[t]})),_=(0,n.ref)(e.SIGNING_LAYOUT_PRESETS[`dual-party`].options.partyCount),v=(0,n.ref)(`side-by-side`),y=(0,n.ref)([`seal`,`signature`,`date`]);(0,n.watch)(()=>m.open,t=>{if(!t)return;let n=e.SIGNING_LAYOUT_PRESETS[`dual-party`].options;_.value=n.partyCount,v.value=n.arrangement,y.value=e.SIGNING_LAYOUT_FIELD_KEYS.filter(e=>n.fields[e])});let b=(0,n.computed)(()=>Number(_.value)>3),x=(0,n.computed)(()=>b.value&&e.isSingleRowSigningLayoutArrangement(v.value)?`stacked`:v.value),S=(0,n.computed)(()=>e.SIGNING_LAYOUT_ARRANGEMENTS.map(t=>({value:t,label:e.SIGNING_LAYOUT_ARRANGEMENT_LABELS[t],disabled:b.value&&e.isSingleRowSigningLayoutArrangement(t)})));(0,n.watch)(b,e=>{e&&(v.value=x.value)});let C=(0,n.computed)(()=>e.normalizeSigningLayoutOptions({partyCount:_.value,arrangement:x.value,fields:{seal:y.value.includes(`seal`),signature:y.value.includes(`signature`),date:y.value.includes(`date`),title:y.value.includes(`title`)}})),w=(0,n.computed)(()=>e.buildSigningLayoutPreviewModel(C.value)),T=(0,n.computed)(()=>e.describeSigningLayoutOptions(C.value)),E=(0,n.computed)(()=>!m.disabled);function D(){if(!E.value)return;let e=C.value;h(`insert`,e),h(`update:open`,!1)}return(e,p)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.Modal),{open:f.open,title:`自定义签署版式`,width:`min(720px, calc(100vw - 48px))`,centered:``,"ok-text":`插入`,"cancel-text":`取消`,"ok-button-props":{disabled:!E.value},"wrap-class-name":`gd-contract-template-designer__signing-layout-modal`,"onUpdate:open":p[3]||=e=>h(`update:open`,e),onOk:D},{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`div`,i,[(0,n.createElementVNode)(`div`,a,[(0,n.createElementVNode)(`label`,o,[p[4]||=(0,n.createElementVNode)(`span`,null,`签署方数量`,-1),(0,n.createVNode)((0,n.unref)(r.InputNumber),{value:_.value,"onUpdate:value":p[0]||=e=>_.value=e,min:(0,n.unref)(1),max:(0,n.unref)(6),precision:0,disabled:f.disabled,"aria-label":`签署方数量`},null,8,[`value`,`min`,`max`,`disabled`])]),(0,n.createElementVNode)(`div`,s,[p[5]||=(0,n.createElementVNode)(`span`,null,`排列方式`,-1),(0,n.createVNode)((0,n.unref)(r.RadioGroup),{value:v.value,"onUpdate:value":p[1]||=e=>v.value=e,options:S.value,"option-type":`button`,"button-style":`solid`,size:`small`,disabled:f.disabled,"aria-label":`排列方式`},null,8,[`value`,`options`,`disabled`]),b.value?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,c,(0,n.toDisplayString)(`并排最多 3 方,请改用逐行列出`))):(0,n.createCommentVNode)(``,!0)]),(0,n.createElementVNode)(`div`,l,[p[6]||=(0,n.createElementVNode)(`span`,null,`包含项`,-1),(0,n.createVNode)((0,n.unref)(r.CheckboxGroup),{value:y.value,"onUpdate:value":p[2]||=e=>y.value=e,options:(0,n.unref)(g),disabled:f.disabled,"aria-label":`包含项`},null,8,[`value`,`options`,`disabled`])])]),(0,n.createElementVNode)(`div`,u,[(0,n.createVNode)(t.default,{model:w.value},null,8,[`model`]),(0,n.createElementVNode)(`span`,d,(0,n.toDisplayString)(T.value),1)])])]),_:1},8,[`open`,`ok-button-props`]))}});exports.default=f;