@guodun/antdv 1.7.9 → 1.7.11

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 (29) hide show
  1. package/dist/es/components/contract-signing-location/src/ContractSigningLocation.vue.mjs +295 -296
  2. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.mjs +247 -220
  3. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.mjs +1 -1
  4. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateSingleRenderer.vue.mjs +297 -294
  5. package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +1 -2
  6. package/dist/es/components/pro-contract-template-designer/src/composables/use-template-designer.mjs +1 -1
  7. package/dist/es/components/pro-contract-template-designer/src/utils/contract-print-document.mjs +7 -1
  8. package/dist/es/components/pro-contract-template-designer/src/utils/template-renderer.mjs +113 -102
  9. package/dist/es/components/pro-contract-template-designer/src/utils/template-variable-render.mjs +35 -20
  10. package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
  11. package/dist/es/index.mjs +19 -19
  12. package/dist/lib/components/contract-signing-location/src/ContractSigningLocation.vue.cjs +1 -1
  13. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.cjs +1 -1
  14. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.cjs +1 -1
  15. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateSingleRenderer.vue.cjs +1 -1
  16. package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs +1 -1
  17. package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-designer.cjs +1 -1
  18. package/dist/lib/components/pro-contract-template-designer/src/utils/contract-print-document.cjs +7 -1
  19. package/dist/lib/components/pro-contract-template-designer/src/utils/template-renderer.cjs +5 -3
  20. package/dist/lib/components/pro-contract-template-designer/src/utils/template-variable-render.cjs +1 -1
  21. package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
  22. package/dist/lib/index.cjs +1 -1
  23. package/dist/theme/icon.css +1 -1
  24. package/dist/theme/index.css +1 -1
  25. package/dist/types/components/pro-contract-template-designer/src/types.d.ts +3 -0
  26. package/dist/types/components/pro-contract-template-designer/src/utils/contract-print-document.d.ts +1 -1
  27. package/dist/types/components/pro-contract-template-designer/src/utils/template-renderer.d.ts +2 -0
  28. package/dist/types/components/pro-contract-template-designer/src/utils/template-variable-render.d.ts +8 -2
  29. package/package.json +3 -2
package/dist/es/index.mjs CHANGED
@@ -63,22 +63,22 @@ import { isContractTemplateAdvancedChoiceFieldType as Nt, isContractTemplateBuil
63
63
  import { buildRadioOptionNodes as It, buildRadioOptionsHtml as Lt, decodeContractTemplateJsonAttribute as Rt, encodeContractTemplateJsonAttribute as zt, formatContractTemplateRenderValue as Bt, isAllowedContractTemplateRemoteUrl as Vt, isContractTemplateSelectionValue as Ht, normalizeContractTemplateControlOptions as Ut, normalizeContractTemplateJsonObject as Wt, normalizeContractTemplateRequestTimeout as Gt, normalizeContractTemplateSelectionValue as Kt, normalizeContractTemplateSelectionValues as qt, readContractTemplateControlOptions as Jt } from "./components/pro-contract-template-designer/src/utils/advanced-controls.mjs";
64
64
  import { ALL_DEFAULT_FIELD_TYPES as Yt, CONTRACT_TEMPLATE_RENDERER_VERSION as Xt, CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS as Zt, CONTRACT_TEMPLATE_STYLE_VERSION as Qt, CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN as $t, ContractTemplatePageDecorationValidationError as en, DEFAULT_ADVANCED_CHOICE_FIELD_TYPES as tn, DEFAULT_BUILTIN_SELECTOR_FIELD_TYPES as nn, DEFAULT_CHECKBOX_FIELD_TYPE as rn, DEFAULT_CUSTOM_FIELD_TYPES as an, DEFAULT_FIELD_STYLE as on, DEFAULT_FIELD_TYPES as sn, DEFAULT_IMAGE_FIELD_TYPE as cn, DEFAULT_MULTILINE_LINE_HEIGHT as ln, DEFAULT_MULTILINE_ROWS as un, DEFAULT_PAGE_SIZE as dn, PAGE_SIZE_OPTIONS as fn, buildTemplateExpressionHtml as pn, buildTemplateHtml as mn, buildTemplatePreviewHtml as hn, buildTemplatePreviewPages as gn, cloneTemplateValue as _n, collectTemplateValueVariableKeys as vn, collectTemplateVariableKeys as yn, constrainTemplatePageSizes as bn, createBlankPage as xn, createBlankTemplate as Sn, createDefaultPage as Cn, createDefaultTemplate as wn, createDesignerId as Tn, createTemplateBodySync as En, createTemplateVariable as Dn, exportTemplateValue as On, findPageSizeOption as kn, getFieldOption as An, getPageSizeKey as jn, getPageSizeOption as $, inferPageFormat as Mn, normalizeContractTemplateMaxPages as Nn, normalizePageSizeOptions as Pn, normalizeTemplateValue as Fn, resolvePageSize as In, splitPageContentByMeasurements as Ln, syncTemplateVariablesWithPages as Rn, validateContractTemplateVariableKey as zn, validateTemplateValue as Bn } from "./components/pro-contract-template-designer/src/composables/use-template-designer.mjs";
65
65
  import { isSafeContractImageUrl as Vn } from "./components/pro-contract-template-designer/src/utils/image-url.mjs";
66
- import { buildInitialRenderValues as Hn, buildTemplateRenderHtml as Un, buildTemplateRenderPages as Wn, buildTemplateVariableData as Gn, isEmptyRenderValue as Kn, normalizeRenderValues as qn, resolveTemplateRenderSubmitErrors as Jn, sanitizeContractRendererHtml as Yn, validateTemplateRenderStructure as Xn, validateTemplateRenderValues as Zn } from "./components/pro-contract-template-designer/src/utils/template-renderer.mjs";
67
- import { buildContractSigningTemplateRenderPages as Qn, getContractSigningTemplateDisplayError as $n, isContractSigningTemplateFile as er, isContractSigningTemplateSource as tr, validateContractSigningTemplateFile as nr } from "./components/contract-signing-location/src/template-source.mjs";
68
- import { ContractSigningLocationBuildError as rr, buildContractSigningLocationOutput as ir, buildContractSigningLocationRules as ar, cloneContractSigningLocationValue as or, createContractSigningLocationValue as sr, createContractSigningPlacement as cr, findContractSigningPage as lr, getContractSigningHomePage as ur, isContractSigningPageUsable as dr, normalizeContractSigningLocationValue as fr, normalizeContractSigningProviderValue as pr, patchContractSigningPlacement as mr, resolveContractSigningDefaultSealTypes as hr, resolveContractSigningPreviewPageSize as gr, validateContractSigningLocationValue as _r } from "./components/contract-signing-location/src/location-rules.mjs";
69
- import { CONTRACT_SIGNING_FALLBACK_PAGE_SIZE as vr, CONTRACT_SIGNING_PAGE_GAP as yr, CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES as br, buildPageLayouts as xr, contentPointToPagePoint as Sr, findPageAtOffset as Cr, getContractSigningAutoScrollDelta as wr, getPageLayoutScrollTop as Tr, getPageLayoutsContentSize as Er, getVisibleRange as Dr } from "./components/contract-signing-location/src/page-layout.mjs";
70
- import { formatContractSigningDate as Or, getContractSigningDateDataUrl as kr, getContractSigningDateSvgDataUrl as Ar, getContractSigningPlacementDataUrl as jr, getContractSigningPlacementVisual as Mr, getContractSigningSealDataUrl as Nr, getContractSigningSealLabel as Pr, getContractSigningSealSvgDataUrl as Fr, getContractSigningSignatureDataUrl as Ir, getContractSigningSignaturePngDataUrl as Lr, getContractSigningSignatureSvgDataUrl as Rr, isContractSigningVisualDataUrl as zr, isSafeContractSigningVisualDataUrl as Br, resolveContractSigningSealLabel as Vr, toContractSigningSvgDataUrl as Hr } from "./components/contract-signing-location/src/signing-visuals.mjs";
71
- import Ur from "./components/contract-signing-location/index.mjs";
72
- import { DEFAULT_CONTRACT_IMAGE_COMPRESSION as Wr, MAX_CONTRACT_IMAGE_BYTES as Gr, MAX_CONTRACT_IMAGE_DIMENSION as Kr, MIN_CONTRACT_IMAGE_DIMENSION as qr, compressContractImage as Jr, normalizeContractImageCompression as Yr, normalizeContractImageDimension as Xr, processContractImageFile as Zr, readContractImageFileAsDataUrl as Qr, resolveContractImageResizeDimensions as $r } from "./components/pro-contract-template-designer/src/utils/content-image.mjs";
73
- import { CUSTOM_SIGNING_LAYOUT as ei, DUAL_PARTY_SIGNING_LAYOUT as ti, MAX_SIGNING_LAYOUT_PARTY_COUNT as ni, MIN_SIGNING_LAYOUT_PARTY_COUNT as ri, SIGNING_LAYOUT_ARRANGEMENTS as ii, SIGNING_LAYOUT_ARRANGEMENT_LABELS as ai, SIGNING_LAYOUT_ATTRIBUTE_VALUES as oi, SIGNING_LAYOUT_FIELD_KEYS as si, SIGNING_LAYOUT_FIELD_LABELS as ci, SIGNING_LAYOUT_PRESETS as li, SIGNING_LAYOUT_PRESET_KEYS as ui, buildDualPartySigningLayoutPreset as di, buildSigningLayoutContent as fi, buildSigningLayoutPresetContent as pi, buildSigningLayoutPreviewModel as mi, describeSigningLayoutOptions as hi, isSigningLayoutAttributeValue as gi, isSigningLayoutPresetKey as _i, normalizeSigningLayoutOptions as vi, resolvePartyName as yi } from "./components/pro-contract-template-designer/src/utils/signing-layout-presets.mjs";
74
- import { CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION as bi, CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION as xi, DEFAULT_DRAFT_CACHE_INTERVAL as Si, DEFAULT_DRAFT_CACHE_KEY as Ci, DEFAULT_DRAFT_CACHE_MAX_BYTES as wi, clearTemplateDraftCache as Ti, createDraftCacheStatus as Ei, estimateDraftCacheBytes as Di, formatDraftCacheSavedAt as Oi, getBrowserDraftCacheStorage as ki, isBlankTemplateDraftValue as Ai, isBlankTemplateFilesDraftValue as ji, loadTemplateDraftCache as Mi, loadTemplateFilesDraftCache as Ni, saveTemplateDraftCache as Pi, saveTemplateFilesDraftCache as Fi } from "./components/pro-contract-template-designer/src/composables/use-template-draft-cache.mjs";
75
- import { cloneContractTemplateFiles as Ii, constrainContractTemplateFiles as Li, createContractTemplateFile as Ri, exportContractTemplateFiles as zi, moveContractTemplateFile as Bi, normalizeContractTemplateFiles as Vi, removeContractTemplateFile as Hi, renameContractTemplateFile as Ui, replaceContractTemplateFile as Wi, resolveContractTemplateActiveFileId as Gi } from "./components/pro-contract-template-designer/src/composables/use-template-files.mjs";
76
- import Ki, { GdAntProContractTemplateRenderer as qi } from "./components/pro-contract-template-designer/index.mjs";
77
- import { CONTRACT_SIGNING_FLOW_ACTION_LABELS as Ji, CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS as Yi, CONTRACT_SIGNING_FLOW_MAX_ZOOM as Xi, CONTRACT_SIGNING_FLOW_MIN_ZOOM as Zi, CONTRACT_SIGNING_FLOW_SEAL_TYPES as Qi, CONTRACT_SIGNING_FLOW_SIGN_ACTIONS as $i, CONTRACT_SIGNING_FLOW_ZOOM_STEP as ea, isContractSigningFlowInteractiveTarget as ta, normalizeContractSigningFlowZoom as na, resolveContractSigningFlowZoomShortcut as ra, resolveContractSigningFlowZoomShortcutForTarget as ia } from "./components/pro-contract-signing-flow/src/constants.mjs";
78
- import { buildConnectList as aa, createDefaultSignRule as oa, createEndNode as sa, createId as ca, createInitialFlow as la, createSignNode as ua, createStartNode as da, normalizeContractSigningFlow as fa, normalizeSignRule as pa, useContractSigningFlow as ma, validateContractSigningFlow as ha } from "./components/pro-contract-signing-flow/src/composables/use-contract-signing-flow.mjs";
79
- import ga from "./components/pro-contract-signing-flow/index.mjs";
80
- import { useContractTemplateAgent as _a } from "./components/pro-contract-template-agent/src/composables/use-contract-template-agent.mjs";
81
- import { adaptContractTemplateAgentSpec as va } from "./components/pro-contract-template-agent/src/utils/contract-template-agent-adapter.mjs";
82
- import ya, { GdAntProContractTemplateAgentPanel as ba, GdAntProContractTemplateAgentPreview as xa } from "./components/pro-contract-template-agent/index.mjs";
83
- import { setupAppConfig as Sa, useBasicAppConfig as Ca } from "./components/hooks/use-basic-app-config.mjs";
84
- 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, vr as CONTRACT_SIGNING_FALLBACK_PAGE_SIZE, Ji as CONTRACT_SIGNING_FLOW_ACTION_LABELS, Yi as CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS, Xi as CONTRACT_SIGNING_FLOW_MAX_ZOOM, Zi as CONTRACT_SIGNING_FLOW_MIN_ZOOM, Qi as CONTRACT_SIGNING_FLOW_SEAL_TYPES, $i as CONTRACT_SIGNING_FLOW_SIGN_ACTIONS, ea as CONTRACT_SIGNING_FLOW_ZOOM_STEP, Ae as CONTRACT_SIGNING_MIN_PLACEMENT_SIZE, yr 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, br as CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES, Be as CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS, bi as CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION, xi 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, ei as CUSTOM_SIGNING_LAYOUT, rr 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, Wr as DEFAULT_CONTRACT_IMAGE_COMPRESSION, an as DEFAULT_CUSTOM_FIELD_TYPES, Si as DEFAULT_DRAFT_CACHE_INTERVAL, Ci as DEFAULT_DRAFT_CACHE_KEY, wi 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, ti 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, Ur as GdAntContractSigningLocation, d as GdAntCoverScrollBar, ae as GdAntDeptSelector, T as GdAntIcon, A as GdAntPlusUpload, b as GdAntProArea, _e as GdAntProCell, ve as GdAntProCellGroup, ga as GdAntProContractSigningFlow, ba as GdAntProContractTemplateAgentPanel, xa as GdAntProContractTemplateAgentPreview, ya as GdAntProContractTemplateAgentWorkbench, Ki as GdAntProContractTemplateDesigner, qi 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, Gr as MAX_CONTRACT_IMAGE_BYTES, Kr as MAX_CONTRACT_IMAGE_DIMENSION, ni as MAX_SIGNING_LAYOUT_PARTY_COUNT, qe as MAX_SIGNING_MARK_DIMENSION, oe as MENU_TREE_URL, qr as MIN_CONTRACT_IMAGE_DIMENSION, ri 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, ii as SIGNING_LAYOUT_ARRANGEMENTS, ai as SIGNING_LAYOUT_ARRANGEMENT_LABELS, oi as SIGNING_LAYOUT_ATTRIBUTE_VALUES, si as SIGNING_LAYOUT_FIELD_KEYS, ci as SIGNING_LAYOUT_FIELD_LABELS, li as SIGNING_LAYOUT_PRESETS, ui 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, va as adaptContractTemplateAgentSpec, aa as buildConnectList, ir as buildContractSigningLocationOutput, ar as buildContractSigningLocationRules, Qn as buildContractSigningTemplateRenderPages, di as buildDualPartySigningLayoutPreset, Hn as buildInitialRenderValues, xr as buildPageLayouts, It as buildRadioOptionNodes, Lt as buildRadioOptionsHtml, fi as buildSigningLayoutContent, pi as buildSigningLayoutPresetContent, mi 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, bt as clampContractSigningPlacement, xt as clampContractSigningZoom, Ti as clearTemplateDraftCache, or as cloneContractSigningLocationValue, Ii as cloneContractTemplateFiles, _n as cloneTemplateValue, e as collapseProps, vn as collectTemplateValueVariableKeys, yn as collectTemplateVariableKeys, Jr as compressContractImage, Te as configureContractPrintFonts, Li as constrainContractTemplateFiles, bn as constrainTemplatePageSizes, Sr as contentPointToPagePoint, xn as createBlankPage, Sn as createBlankTemplate, sr as createContractSigningLocationValue, cr as createContractSigningPlacement, Ri as createContractTemplateFile, Cn as createDefaultPage, oa as createDefaultSignRule, wn as createDefaultTemplate, Tn as createDesignerId, Ei as createDraftCacheStatus, sa as createEndNode, ca as createId, la as createInitialFlow, ua as createSignNode, da as createStartNode, En as createTemplateBodySync, Dn as createTemplateVariable, Rt as decodeContractTemplateJsonAttribute, re as deptSelectorEmits, ie as deptSelectorProps, hi as describeSigningLayoutOptions, St as displayPointToContractPoint, zt as encodeContractTemplateJsonAttribute, Di as estimateDraftCacheBytes, zi as exportContractTemplateFiles, On as exportTemplateValue, lr as findContractSigningPage, Cr as findPageAtOffset, kn as findPageSizeOption, Or as formatContractSigningDate, Bt as formatContractTemplateRenderValue, Oi as formatDraftCacheSavedAt, ee as generatePalette, ki as getBrowserDraftCacheStorage, wr as getContractSigningAutoScrollDelta, kr as getContractSigningDateDataUrl, Ar as getContractSigningDateSvgDataUrl, ur as getContractSigningHomePage, jr as getContractSigningPlacementDataUrl, Ct as getContractSigningPlacementDistances, wt as getContractSigningPlacementSize, Mr as getContractSigningPlacementVisual, Tt as getContractSigningRuleGeometry, Nr as getContractSigningSealDataUrl, Pr as getContractSigningSealLabel, Fr as getContractSigningSealSvgDataUrl, Ir as getContractSigningSignatureDataUrl, Lr as getContractSigningSignaturePngDataUrl, Rr as getContractSigningSignatureSvgDataUrl, $n as getContractSigningTemplateDisplayError, pt as getContractTextStylePreset, An as getFieldOption, Tr as getPageLayoutScrollTop, Er as getPageLayoutsContentSize, jn as getPageSizeKey, $ as getPageSizeOption, $e as getSigningMarkDefaultLabel, et as getSigningMarkDefaultSize, Dr as getVisibleRange, Mn as inferPageFormat, Vt as isAllowedContractTemplateRemoteUrl, Ai as isBlankTemplateDraftValue, ji as isBlankTemplateFilesDraftValue, ta as isContractSigningFlowInteractiveTarget, dr as isContractSigningPageUsable, er as isContractSigningTemplateFile, tr as isContractSigningTemplateSource, zr as isContractSigningVisualDataUrl, Nt as isContractTemplateAdvancedChoiceFieldType, Pt as isContractTemplateBuiltinSelectorFieldType, Ft as isContractTemplateFieldType, Ht as isContractTemplateSelectionValue, tt as isContractTemplateSigningMarkType, Kn as isEmptyRenderValue, Vn as isSafeContractImageUrl, Br as isSafeContractSigningVisualDataUrl, gi as isSigningLayoutAttributeValue, _i as isSigningLayoutPresetKey, Mi as loadTemplateDraftCache, Ni as loadTemplateFilesDraftCache, Ve as millimetersToContractSigningCssPixels, He as millimetersToContractSigningPixels, Et as moveContractSigningPlacementByDisplayDelta, Bi as moveContractTemplateFile, Yr as normalizeContractImageCompression, Xr as normalizeContractImageDimension, Dt as normalizeContractSigningCoordinateDimension, Ot as normalizeContractSigningCoordinateScale, fa as normalizeContractSigningFlow, na as normalizeContractSigningFlowZoom, fr as normalizeContractSigningLocationValue, pr as normalizeContractSigningProviderValue, Ut as normalizeContractTemplateControlOptions, Vi as normalizeContractTemplateFiles, Wt as normalizeContractTemplateJsonObject, Nn as normalizeContractTemplateMaxPages, Gt as normalizeContractTemplateRequestTimeout, Kt as normalizeContractTemplateSelectionValue, qt as normalizeContractTemplateSelectionValues, mt as normalizeFontFamilyValue, Pn as normalizePageSizeOptions, qn as normalizeRenderValues, pa as normalizeSignRule, vi as normalizeSigningLayoutOptions, nt as normalizeSigningMarkDimension, Fn as normalizeTemplateValue, mr as patchContractSigningPlacement, se as proMenuTreeEmits, ce as proMenuTreeProps, n as proModalEmits, p as proTagProps, Zr as processContractImageFile, Qr as readContractImageFileAsDataUrl, Jt as readContractTemplateControlOptions, Hi as removeContractTemplateFile, Ui as renameContractTemplateFile, Wi as replaceContractTemplateFile, kt as resizeContractSigningSealGeometry, Ee as resolveContractFontBaseUrl, $r as resolveContractImageResizeDimensions, hr as resolveContractSigningDefaultSealTypes, ra as resolveContractSigningFlowZoomShortcut, ia as resolveContractSigningFlowZoomShortcutForTarget, gr as resolveContractSigningPreviewPageSize, Vr as resolveContractSigningSealLabel, Ue as resolveContractSigningSealSizeInCssPixels, We as resolveContractSigningSealSizeInPixels, At as resolveContractSigningSealSizeLimit, Ge as resolveContractSigningSealTypeOption, jt as resolveContractSigningSizeProfile, Gi as resolveContractTemplateActiveFileId, ht as resolveContractTextStylePresetCommands, gt as resolveFontFamilyOptions, In as resolvePageSize, yi as resolvePartyName, rt as resolveSigningMarkPresentation, it as resolveSigningMarkResizeDimensions, at as resolveSigningMarkResizeHandles, ot as resolveSigningMarkSealAspectRatio, Jn as resolveTemplateRenderSubmitErrors, P as resolveUserSelectorMaxCount, Y as roleSelectorEmits, X as roleSelectorProps, Yn as sanitizeContractRendererHtml, Pi as saveTemplateDraftCache, Fi as saveTemplateFilesDraftCache, c as scrollbarProps, ye as selectContextKey, F as selectUserContextKey, Sa as setupAppConfig, te as setupTheme, Mt as snapContractSigningPlacement, Ln as splitPageContentByMeasurements, Rn as syncTemplateVariablesWithPages, De as toAbsoluteContractFontBaseUrl, Ke as toContractSigningRulePageSize, Hr as toContractSigningSvgDataUrl, Ca as useBasicAppConfig, ma as useContractSigningFlow, _a as useContractTemplateAgent, y as useProArea, r as useProModal, i as useProModalInit, C as useProTable, D as useUpload, B as useUserSelector, I as userSelectorEmits, ha as validateContractSigningFlow, _r as validateContractSigningLocationValue, nr as validateContractSigningTemplateFile, zn as validateContractTemplateVariableKey, Xn as validateTemplateRenderStructure, Zn as validateTemplateRenderValues, Bn as validateTemplateValue };
66
+ import { buildInitialRenderValues as Hn, buildTemplateRenderHtml as Un, buildTemplateRenderPages as Wn, buildTemplateVariableData as Gn, isEmptyRenderValue as Kn, normalizeRenderValues as qn, resolveTemplateRenderSubmitErrors as Jn, sanitizeContractRendererHtml as Yn, validateTemplateRenderStructure as Xn, validateTemplateRenderValues as Zn, validateTemplateTextOverflow as Qn } from "./components/pro-contract-template-designer/src/utils/template-renderer.mjs";
67
+ import { buildContractSigningTemplateRenderPages as $n, getContractSigningTemplateDisplayError as er, isContractSigningTemplateFile as tr, isContractSigningTemplateSource as nr, validateContractSigningTemplateFile as rr } from "./components/contract-signing-location/src/template-source.mjs";
68
+ import { ContractSigningLocationBuildError as ir, buildContractSigningLocationOutput as ar, buildContractSigningLocationRules as or, cloneContractSigningLocationValue as sr, createContractSigningLocationValue as cr, createContractSigningPlacement as lr, findContractSigningPage as ur, getContractSigningHomePage as dr, isContractSigningPageUsable as fr, normalizeContractSigningLocationValue as pr, normalizeContractSigningProviderValue as mr, patchContractSigningPlacement as hr, resolveContractSigningDefaultSealTypes as gr, resolveContractSigningPreviewPageSize as _r, validateContractSigningLocationValue as vr } from "./components/contract-signing-location/src/location-rules.mjs";
69
+ import { CONTRACT_SIGNING_FALLBACK_PAGE_SIZE as yr, CONTRACT_SIGNING_PAGE_GAP as br, CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES as xr, buildPageLayouts as Sr, contentPointToPagePoint as Cr, findPageAtOffset as wr, getContractSigningAutoScrollDelta as Tr, getPageLayoutScrollTop as Er, getPageLayoutsContentSize as Dr, getVisibleRange as Or } from "./components/contract-signing-location/src/page-layout.mjs";
70
+ import { formatContractSigningDate as kr, getContractSigningDateDataUrl as Ar, getContractSigningDateSvgDataUrl as jr, getContractSigningPlacementDataUrl as Mr, getContractSigningPlacementVisual as Nr, getContractSigningSealDataUrl as Pr, getContractSigningSealLabel as Fr, getContractSigningSealSvgDataUrl as Ir, getContractSigningSignatureDataUrl as Lr, getContractSigningSignaturePngDataUrl as Rr, getContractSigningSignatureSvgDataUrl as zr, isContractSigningVisualDataUrl as Br, isSafeContractSigningVisualDataUrl as Vr, resolveContractSigningSealLabel as Hr, toContractSigningSvgDataUrl as Ur } from "./components/contract-signing-location/src/signing-visuals.mjs";
71
+ import Wr from "./components/contract-signing-location/index.mjs";
72
+ import { DEFAULT_CONTRACT_IMAGE_COMPRESSION as Gr, MAX_CONTRACT_IMAGE_BYTES as Kr, MAX_CONTRACT_IMAGE_DIMENSION as qr, MIN_CONTRACT_IMAGE_DIMENSION as Jr, compressContractImage as Yr, normalizeContractImageCompression as Xr, normalizeContractImageDimension as Zr, processContractImageFile as Qr, readContractImageFileAsDataUrl as $r, resolveContractImageResizeDimensions as ei } from "./components/pro-contract-template-designer/src/utils/content-image.mjs";
73
+ import { CUSTOM_SIGNING_LAYOUT as ti, DUAL_PARTY_SIGNING_LAYOUT as ni, MAX_SIGNING_LAYOUT_PARTY_COUNT as ri, MIN_SIGNING_LAYOUT_PARTY_COUNT as ii, SIGNING_LAYOUT_ARRANGEMENTS as ai, SIGNING_LAYOUT_ARRANGEMENT_LABELS as oi, SIGNING_LAYOUT_ATTRIBUTE_VALUES as si, SIGNING_LAYOUT_FIELD_KEYS as ci, SIGNING_LAYOUT_FIELD_LABELS as li, SIGNING_LAYOUT_PRESETS as ui, SIGNING_LAYOUT_PRESET_KEYS as di, buildDualPartySigningLayoutPreset as fi, buildSigningLayoutContent as pi, buildSigningLayoutPresetContent as mi, buildSigningLayoutPreviewModel as hi, describeSigningLayoutOptions as gi, isSigningLayoutAttributeValue as _i, isSigningLayoutPresetKey as vi, normalizeSigningLayoutOptions as yi, resolvePartyName as bi } from "./components/pro-contract-template-designer/src/utils/signing-layout-presets.mjs";
74
+ import { CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION as xi, CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION as Si, DEFAULT_DRAFT_CACHE_INTERVAL as Ci, DEFAULT_DRAFT_CACHE_KEY as wi, DEFAULT_DRAFT_CACHE_MAX_BYTES as Ti, clearTemplateDraftCache as Ei, createDraftCacheStatus as Di, estimateDraftCacheBytes as Oi, formatDraftCacheSavedAt as ki, getBrowserDraftCacheStorage as Ai, isBlankTemplateDraftValue as ji, isBlankTemplateFilesDraftValue as Mi, loadTemplateDraftCache as Ni, loadTemplateFilesDraftCache as Pi, saveTemplateDraftCache as Fi, saveTemplateFilesDraftCache as Ii } from "./components/pro-contract-template-designer/src/composables/use-template-draft-cache.mjs";
75
+ import { cloneContractTemplateFiles as Li, constrainContractTemplateFiles as Ri, createContractTemplateFile as zi, exportContractTemplateFiles as Bi, moveContractTemplateFile as Vi, normalizeContractTemplateFiles as Hi, removeContractTemplateFile as Ui, renameContractTemplateFile as Wi, replaceContractTemplateFile as Gi, resolveContractTemplateActiveFileId as Ki } from "./components/pro-contract-template-designer/src/composables/use-template-files.mjs";
76
+ import qi, { GdAntProContractTemplateRenderer as Ji } from "./components/pro-contract-template-designer/index.mjs";
77
+ import { CONTRACT_SIGNING_FLOW_ACTION_LABELS as Yi, CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS as Xi, CONTRACT_SIGNING_FLOW_MAX_ZOOM as Zi, CONTRACT_SIGNING_FLOW_MIN_ZOOM as Qi, CONTRACT_SIGNING_FLOW_SEAL_TYPES as $i, CONTRACT_SIGNING_FLOW_SIGN_ACTIONS as ea, CONTRACT_SIGNING_FLOW_ZOOM_STEP as ta, isContractSigningFlowInteractiveTarget as na, normalizeContractSigningFlowZoom as ra, resolveContractSigningFlowZoomShortcut as ia, resolveContractSigningFlowZoomShortcutForTarget as aa } from "./components/pro-contract-signing-flow/src/constants.mjs";
78
+ import { buildConnectList as oa, createDefaultSignRule as sa, createEndNode as ca, createId as la, createInitialFlow as ua, createSignNode as da, createStartNode as fa, normalizeContractSigningFlow as pa, normalizeSignRule as ma, useContractSigningFlow as ha, validateContractSigningFlow as ga } from "./components/pro-contract-signing-flow/src/composables/use-contract-signing-flow.mjs";
79
+ import _a from "./components/pro-contract-signing-flow/index.mjs";
80
+ import { useContractTemplateAgent as va } from "./components/pro-contract-template-agent/src/composables/use-contract-template-agent.mjs";
81
+ import { adaptContractTemplateAgentSpec as ya } from "./components/pro-contract-template-agent/src/utils/contract-template-agent-adapter.mjs";
82
+ import ba, { GdAntProContractTemplateAgentPanel as xa, GdAntProContractTemplateAgentPreview as Sa } from "./components/pro-contract-template-agent/index.mjs";
83
+ import { setupAppConfig as Ca, useBasicAppConfig as wa } from "./components/hooks/use-basic-app-config.mjs";
84
+ 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, yr as CONTRACT_SIGNING_FALLBACK_PAGE_SIZE, Yi as CONTRACT_SIGNING_FLOW_ACTION_LABELS, Xi as CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS, Zi as CONTRACT_SIGNING_FLOW_MAX_ZOOM, Qi as CONTRACT_SIGNING_FLOW_MIN_ZOOM, $i as CONTRACT_SIGNING_FLOW_SEAL_TYPES, ea as CONTRACT_SIGNING_FLOW_SIGN_ACTIONS, ta as CONTRACT_SIGNING_FLOW_ZOOM_STEP, Ae as CONTRACT_SIGNING_MIN_PLACEMENT_SIZE, br 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, xr as CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES, Be as CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS, xi as CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION, Si 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, ti as CUSTOM_SIGNING_LAYOUT, ir 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, Gr as DEFAULT_CONTRACT_IMAGE_COMPRESSION, an as DEFAULT_CUSTOM_FIELD_TYPES, Ci as DEFAULT_DRAFT_CACHE_INTERVAL, wi as DEFAULT_DRAFT_CACHE_KEY, Ti 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, ni 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, Wr as GdAntContractSigningLocation, d as GdAntCoverScrollBar, ae as GdAntDeptSelector, T as GdAntIcon, A as GdAntPlusUpload, b as GdAntProArea, _e as GdAntProCell, ve as GdAntProCellGroup, _a as GdAntProContractSigningFlow, xa as GdAntProContractTemplateAgentPanel, Sa as GdAntProContractTemplateAgentPreview, ba as GdAntProContractTemplateAgentWorkbench, qi as GdAntProContractTemplateDesigner, Ji 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, Kr as MAX_CONTRACT_IMAGE_BYTES, qr as MAX_CONTRACT_IMAGE_DIMENSION, ri as MAX_SIGNING_LAYOUT_PARTY_COUNT, qe as MAX_SIGNING_MARK_DIMENSION, oe as MENU_TREE_URL, Jr as MIN_CONTRACT_IMAGE_DIMENSION, ii 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, ai as SIGNING_LAYOUT_ARRANGEMENTS, oi as SIGNING_LAYOUT_ARRANGEMENT_LABELS, si as SIGNING_LAYOUT_ATTRIBUTE_VALUES, ci as SIGNING_LAYOUT_FIELD_KEYS, li as SIGNING_LAYOUT_FIELD_LABELS, ui as SIGNING_LAYOUT_PRESETS, di 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, ya as adaptContractTemplateAgentSpec, oa as buildConnectList, ar as buildContractSigningLocationOutput, or as buildContractSigningLocationRules, $n as buildContractSigningTemplateRenderPages, fi as buildDualPartySigningLayoutPreset, Hn as buildInitialRenderValues, Sr as buildPageLayouts, It as buildRadioOptionNodes, Lt as buildRadioOptionsHtml, pi as buildSigningLayoutContent, mi as buildSigningLayoutPresetContent, hi 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, bt as clampContractSigningPlacement, xt as clampContractSigningZoom, Ei as clearTemplateDraftCache, sr as cloneContractSigningLocationValue, Li as cloneContractTemplateFiles, _n as cloneTemplateValue, e as collapseProps, vn as collectTemplateValueVariableKeys, yn as collectTemplateVariableKeys, Yr as compressContractImage, Te as configureContractPrintFonts, Ri as constrainContractTemplateFiles, bn as constrainTemplatePageSizes, Cr as contentPointToPagePoint, xn as createBlankPage, Sn as createBlankTemplate, cr as createContractSigningLocationValue, lr as createContractSigningPlacement, zi as createContractTemplateFile, Cn as createDefaultPage, sa as createDefaultSignRule, wn as createDefaultTemplate, Tn as createDesignerId, Di as createDraftCacheStatus, ca as createEndNode, la as createId, ua as createInitialFlow, da as createSignNode, fa as createStartNode, En as createTemplateBodySync, Dn as createTemplateVariable, Rt as decodeContractTemplateJsonAttribute, re as deptSelectorEmits, ie as deptSelectorProps, gi as describeSigningLayoutOptions, St as displayPointToContractPoint, zt as encodeContractTemplateJsonAttribute, Oi as estimateDraftCacheBytes, Bi as exportContractTemplateFiles, On as exportTemplateValue, ur as findContractSigningPage, wr as findPageAtOffset, kn as findPageSizeOption, kr as formatContractSigningDate, Bt as formatContractTemplateRenderValue, ki as formatDraftCacheSavedAt, ee as generatePalette, Ai as getBrowserDraftCacheStorage, Tr as getContractSigningAutoScrollDelta, Ar as getContractSigningDateDataUrl, jr as getContractSigningDateSvgDataUrl, dr as getContractSigningHomePage, Mr as getContractSigningPlacementDataUrl, Ct as getContractSigningPlacementDistances, wt as getContractSigningPlacementSize, Nr as getContractSigningPlacementVisual, Tt as getContractSigningRuleGeometry, Pr as getContractSigningSealDataUrl, Fr as getContractSigningSealLabel, Ir as getContractSigningSealSvgDataUrl, Lr as getContractSigningSignatureDataUrl, Rr as getContractSigningSignaturePngDataUrl, zr as getContractSigningSignatureSvgDataUrl, er as getContractSigningTemplateDisplayError, pt as getContractTextStylePreset, An as getFieldOption, Er as getPageLayoutScrollTop, Dr as getPageLayoutsContentSize, jn as getPageSizeKey, $ as getPageSizeOption, $e as getSigningMarkDefaultLabel, et as getSigningMarkDefaultSize, Or as getVisibleRange, Mn as inferPageFormat, Vt as isAllowedContractTemplateRemoteUrl, ji as isBlankTemplateDraftValue, Mi as isBlankTemplateFilesDraftValue, na as isContractSigningFlowInteractiveTarget, fr as isContractSigningPageUsable, tr as isContractSigningTemplateFile, nr as isContractSigningTemplateSource, Br as isContractSigningVisualDataUrl, Nt as isContractTemplateAdvancedChoiceFieldType, Pt as isContractTemplateBuiltinSelectorFieldType, Ft as isContractTemplateFieldType, Ht as isContractTemplateSelectionValue, tt as isContractTemplateSigningMarkType, Kn as isEmptyRenderValue, Vn as isSafeContractImageUrl, Vr as isSafeContractSigningVisualDataUrl, _i as isSigningLayoutAttributeValue, vi as isSigningLayoutPresetKey, Ni as loadTemplateDraftCache, Pi as loadTemplateFilesDraftCache, Ve as millimetersToContractSigningCssPixels, He as millimetersToContractSigningPixels, Et as moveContractSigningPlacementByDisplayDelta, Vi as moveContractTemplateFile, Xr as normalizeContractImageCompression, Zr as normalizeContractImageDimension, Dt as normalizeContractSigningCoordinateDimension, Ot as normalizeContractSigningCoordinateScale, pa as normalizeContractSigningFlow, ra as normalizeContractSigningFlowZoom, pr as normalizeContractSigningLocationValue, mr as normalizeContractSigningProviderValue, Ut as normalizeContractTemplateControlOptions, Hi as normalizeContractTemplateFiles, Wt as normalizeContractTemplateJsonObject, Nn as normalizeContractTemplateMaxPages, Gt as normalizeContractTemplateRequestTimeout, Kt as normalizeContractTemplateSelectionValue, qt as normalizeContractTemplateSelectionValues, mt as normalizeFontFamilyValue, Pn as normalizePageSizeOptions, qn as normalizeRenderValues, ma as normalizeSignRule, yi as normalizeSigningLayoutOptions, nt as normalizeSigningMarkDimension, Fn as normalizeTemplateValue, hr as patchContractSigningPlacement, se as proMenuTreeEmits, ce as proMenuTreeProps, n as proModalEmits, p as proTagProps, Qr as processContractImageFile, $r as readContractImageFileAsDataUrl, Jt as readContractTemplateControlOptions, Ui as removeContractTemplateFile, Wi as renameContractTemplateFile, Gi as replaceContractTemplateFile, kt as resizeContractSigningSealGeometry, Ee as resolveContractFontBaseUrl, ei as resolveContractImageResizeDimensions, gr as resolveContractSigningDefaultSealTypes, ia as resolveContractSigningFlowZoomShortcut, aa as resolveContractSigningFlowZoomShortcutForTarget, _r as resolveContractSigningPreviewPageSize, Hr as resolveContractSigningSealLabel, Ue as resolveContractSigningSealSizeInCssPixels, We as resolveContractSigningSealSizeInPixels, At as resolveContractSigningSealSizeLimit, Ge as resolveContractSigningSealTypeOption, jt as resolveContractSigningSizeProfile, Ki as resolveContractTemplateActiveFileId, ht as resolveContractTextStylePresetCommands, gt as resolveFontFamilyOptions, In as resolvePageSize, bi as resolvePartyName, rt as resolveSigningMarkPresentation, it as resolveSigningMarkResizeDimensions, at as resolveSigningMarkResizeHandles, ot as resolveSigningMarkSealAspectRatio, Jn as resolveTemplateRenderSubmitErrors, P as resolveUserSelectorMaxCount, Y as roleSelectorEmits, X as roleSelectorProps, Yn as sanitizeContractRendererHtml, Fi as saveTemplateDraftCache, Ii as saveTemplateFilesDraftCache, c as scrollbarProps, ye as selectContextKey, F as selectUserContextKey, Ca as setupAppConfig, te as setupTheme, Mt as snapContractSigningPlacement, Ln as splitPageContentByMeasurements, Rn as syncTemplateVariablesWithPages, De as toAbsoluteContractFontBaseUrl, Ke as toContractSigningRulePageSize, Ur as toContractSigningSvgDataUrl, wa as useBasicAppConfig, ha as useContractSigningFlow, va as useContractTemplateAgent, y as useProArea, r as useProModal, i as useProModalInit, C as useProTable, D as useUpload, B as useUserSelector, I as userSelectorEmits, ga as validateContractSigningFlow, vr as validateContractSigningLocationValue, rr as validateContractSigningTemplateFile, zn as validateContractTemplateVariableKey, Xn as validateTemplateRenderStructure, Zn as validateTemplateRenderValues, Qn 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(`./template-source.cjs`),r=require(`./location-rules.cjs`),i=require(`./ContractSigningLocationCanvas.cjs`),a=require(`./ContractSigningLocationInspector.cjs`),o=require(`./ContractSigningLocationNavigator.cjs`),s=require(`./preview-requests.cjs`);let c=require(`vue`),l=require(`ant-design-vue`),u=require(`@ant-design/icons-vue`);var ee={class:`gd-ant-contract-signing-location__header`},te={class:`gd-ant-contract-signing-location__title`},ne={class:`gd-ant-contract-signing-location__header-actions`},re={class:`gd-ant-contract-signing-location__placement-count`},ie={key:0,class:`gd-ant-contract-signing-location__error`,role:`alert`},ae=[`aria-label`,`aria-expanded`],oe={class:`gd-ant-contract-signing-location__panel-stack`},se=[`aria-label`,`aria-expanded`],ce={class:`gd-ant-contract-signing-location__panel-stack`},le=(0,c.defineComponent)({name:`ContractSigningLocation`,__name:`ContractSigningLocation`,props:{modelValue:{default:void 0},mode:{default:`placement`},contractId:{default:``},dataProvider:{default:void 0},sealTypeOptions:{default:()=>e.CONTRACT_SIGNING_SEAL_TYPE_OPTIONS.map(e=>({...e}))},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:le,emit:ue}){let d=e,f=ue,p=(0,c.computed)(()=>t.resolveContractSigningSealSizeLimit(d.sealMinSize,d.sealMaxSize)),m=r.normalizeContractSigningLocationValue(d.modelValue??r.createContractSigningLocationValue(d.contractId),{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions}),h=(0,c.shallowRef)(m),de=(0,c.shallowRef)(r.cloneContractSigningLocationValue(m)),g=(0,c.shallowRef)(m.files[0]?.fileId??``),_=(0,c.shallowRef)(m.files[0]?.pages[0]?.pageIndex??0),v=(0,c.shallowRef)(``),y=(0,c.shallowRef)(!1),b=(0,c.shallowRef)(``),x=(0,c.ref)([]),S=(0,c.ref)({}),C=(0,c.shallowRef)(B(d.zoom)),w=(0,c.ref)(null),T=(0,c.ref)(!1),E=(0,c.ref)(!1),D=(0,c.shallowRef)(`loading`),O=(0,c.shallowRef)(``),k=0,A=!1,j,M=[],N=0,P=new s.ContractSigningPreviewRequests,F=(0,c.computed)(()=>d.mode===`preview`),fe=(0,c.computed)(()=>F.value||d.readonly||d.disabled),pe=(0,c.computed)(()=>d.showInspector??!F.value),me=(0,c.computed)(()=>!F.value&&d.showSubmitButton),he=(0,c.computed)(()=>h.value.files.length<=1),ge=(0,c.computed)(()=>Ye(d.height)),I=(0,c.computed)(()=>h.value.files.find(e=>e.fileId===g.value)??h.value.files[0]),L=(0,c.computed)(()=>n.isContractSigningTemplateFile(I.value)&&D.value!==`ready`),_e=(0,c.computed)(()=>{if(!L.value||F.value)return``;if(D.value===`loading`)return`合同排版校验中,暂不可指定签署位置`;let e=O.value.match(/第\s*(\d+)\s*页正文超出纸张/);return e?`第 ${e[1]} 页正文超出纸张,请回模板设计器调整后重试`:`合同排版校验失败,请检查模板后重试`}),R=(0,c.computed)(()=>fe.value||L.value),ve=(0,c.computed)(()=>I.value?.pages.find(e=>e.pageIndex===_.value)??I.value?.pages[0]),ye=(0,c.computed)(()=>{let e=I.value;return e?h.value.placements.filter(t=>t.fileId===e.fileId):[]}),be=(0,c.computed)(()=>{let e=I.value;return e?d.referencePlacements.filter(t=>t.fileId===e.fileId):[]}),z=(0,c.computed)(()=>h.value.placements.find(e=>e.id===v.value)),xe=(0,c.computed)(()=>{let e=z.value;return e?r.findContractSigningPage(h.value,e.fileId,e.pageIndex)??ve.value:ve.value}),Se=(0,c.computed)(()=>x.value.filter(e=>e.endsWith(`:thumbnail`)).map(e=>e.slice(0,-10))),Ce=(0,c.computed)(()=>Object.keys(S.value).filter(e=>e.endsWith(`:thumbnail`)).map(e=>e.slice(0,-10))),we=(0,c.computed)(()=>x.value.filter(e=>e.endsWith(`:preview`)).map(e=>e.slice(0,-8))),Te=(0,c.computed)(()=>{let e={};return Object.entries(S.value).forEach(([t,n])=>{t.endsWith(`:preview`)&&(e[t.slice(0,-8)]=n)}),e});(0,c.watch)(()=>d.modelValue,e=>{if(!e)return;let t=r.normalizeContractSigningLocationValue(e,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions});$(t)!==$(h.value)&&(Q(),h.value=t,de.value=r.cloneContractSigningLocationValue(t),q(),(0,c.nextTick)(()=>w.value?.scrollToPage(_.value)))},{deep:!0}),(0,c.watch)(p,()=>{$(r.normalizeContractSigningLocationValue(h.value,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions}))!==$(h.value)&&V(h.value)}),(0,c.watch)(()=>d.zoom,e=>{C.value=B(e)}),(0,c.watch)(()=>I.value?.fileId,()=>{D.value=n.isContractSigningTemplateFile(I.value)?`loading`:`ready`,O.value=``}),(0,c.watch)(()=>[d.contractId,d.dataProvider,d.autoLoad],([e,t,n],r)=>{!n||!t||!e||(!r||e!==r[0]||t!==r[1])&&H()},{immediate:!0}),(0,c.onBeforeUnmount)(()=>{A=!0,k+=1,Z(),Q()});function B(e){let n=Math.min(d.minZoom,d.maxZoom),r=Math.max(d.minZoom,d.maxZoom);return t.clampContractSigningZoom(e,n,r)}function Ee(e){let t=B(e);C.value=t,f(`update:zoom`,t)}function De(){return w.value?.fitWidth()??C.value}function V(e,t={}){h.value=r.normalizeContractSigningLocationValue(e,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions}),t.clearError!==!1&&(b.value=``),q();let n=r.cloneContractSigningLocationValue(h.value);return f(`update:modelValue`,n),f(`change`,n),n}async function H(){let e=String(d.contractId||h.value.contractId||``).trim();if(!d.dataProvider)return J({code:`CONTRACT_PROVIDER_MISSING`,message:`未配置合同数据提供器,请由宿主传入文件数据`}),!1;if(!e)return J({code:`CONTRACT_ID_MISSING`,message:`缺少用于加载合同的 PaaS contractId`}),!1;let n=++k;Q(),y.value=!0,b.value=``;try{let i=await d.dataProvider.loadContract({contractId:e});if(A||n!==k)return!1;let a=r.normalizeContractSigningProviderValue(i,t.normalizeContractSigningCoordinateScale(d.dataProvider.coordinateScale)),o=r.normalizeContractSigningLocationValue({...a,contractId:e,placements:a.placements.length?a.placements:h.value.contractId===e?h.value.placements:[]},{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions});h.value=o,de.value=r.cloneContractSigningLocationValue(o),v.value=``,q();let s=r.cloneContractSigningLocationValue(o);return f(`update:modelValue`,s),f(`change`,s),f(`ready`,s),Oe(),(0,c.nextTick)(()=>w.value?.scrollToPage(_.value)),s}catch(e){return A||n!==k||J(Y(e,`CONTRACT_LOAD_FAILED`,`合同加载失败,请检查授权后重试`)),!1}finally{!A&&n===k&&(y.value=!1)}}async function Oe(){d.dataProvider?.loadPagePreview&&await Promise.allSettled(h.value.files.map(e=>{if(n.isContractSigningTemplateFile(e))return Promise.resolve();let t=r.getContractSigningHomePage(e.pages);return t&&!t.thumbnailUrl?U(e.fileId,t.pageIndex,!0):Promise.resolve()}))}async function U(e,i,a){let o=d.dataProvider?.loadPagePreview,s=h.value.files.find(t=>t.fileId===e),c=r.findContractSigningPage(h.value,e,i),l=X(e,i,a);if(!o||n.isContractSigningTemplateFile(s)||!c||x.value.includes(l))return;We(l),x.value=[...x.value,l];let u=P.start(l);try{let n=await o({contractId:h.value.contractId||d.contractId,fileId:e,pageIndex:i,thumbnail:a,signal:u.signal});if(A||!P.isCurrent(l,u)||!r.findContractSigningPage(h.value,e,i))return;let s=r.findContractSigningPage(h.value,e,i),c=r.resolveContractSigningPreviewPageSize(s,n,t.normalizeContractSigningCoordinateScale(d.dataProvider?.coordinateScale),a),ee=h.value.files.map(t=>t.fileId===e?{...t,pages:t.pages.map(e=>e.pageIndex===i?{...e,...c||{},...a?{thumbnailUrl:n.url}:{previewUrl:n.url}}:e)}:t);V({...h.value,files:ee},{clearError:!1})}catch(t){if(!P.isCurrent(l,u)||Ge(t))return;let n=Y(t,`CONTRACT_PREVIEW_FAILED`,`合同页面预览加载失败,可切换页面或重试`,{fileId:e,pageIndex:i});f(`error`,n),S.value={...S.value,[l]:n.message}}finally{P.finish(l,u)&&(x.value=x.value.filter(e=>e!==l))}}function ke(e){if(e===g.value)return;let t=g.value;Z(),t&&(Q(e=>e.startsWith(`${t}:`)&&e.endsWith(`:preview`)),M=M.filter(t=>t.fileId===e)),g.value=e;let n=h.value.files.find(t=>t.fileId===e);_.value=r.getContractSigningHomePage(n?.pages)?.pageIndex??0,v.value=``,f(`file-change`,e),f(`page-change`,e,_.value),(0,c.nextTick)(()=>w.value?.scrollToPage(_.value))}function Ae(e){_.value=e}function je(e){_.value!==e&&(_.value=e),f(`page-change`,g.value,e)}function Me(e){Z();let t=g.value;j=setTimeout(()=>{j=void 0,g.value===t&&Ne(t,e)},150)}function Ne(e,t){let r=h.value.files.find(t=>t.fileId===e);!r||n.isContractSigningTemplateFile(r)||e!==g.value||(t.forEach(e=>{let t=r.pages.find(t=>t.pageIndex===e);!t||t.previewUrl||x.value.includes(X(r.fileId,e,!1))||M.some(t=>t.fileId===r.fileId&&t.pageIndex===e)||M.push({fileId:r.fileId,pageIndex:e})}),Pe())}async function Pe(){let e=g.value;for(M=M.filter(t=>t.fileId===e);N<3&&M.length;){let t=M.shift();if(!t||t.fileId!==e)continue;let i=r.findContractSigningPage(h.value,t.fileId,t.pageIndex),a=h.value.files.find(e=>e.fileId===t.fileId);!i||n.isContractSigningTemplateFile(a)||i.previewUrl||x.value.includes(X(t.fileId,t.pageIndex,!1))||(N+=1,U(t.fileId,t.pageIndex,!1).finally(()=>{N=Math.max(0,N-1),Pe()}))}}function Fe(e){let t=h.value.placements.find(t=>t.id===e);t&&(t.fileId!==g.value&&ke(t.fileId),v.value=e,(0,c.nextTick)(()=>w.value?.scrollToPlacement(e)))}function W(e,t={}){if(R.value||!d.allowedPlacementTypes.includes(e))return;let n=t.fileId??I.value?.fileId,i=t.pageIndex??ve.value?.pageIndex;if(!n||i===void 0)return;let a=r.findContractSigningPage(h.value,n,i);if(!a||!r.isContractSigningPageUsable(a)){J({code:`CONTRACT_PAGE_SIZE_INVALID`,message:`当前页面缺少有效的原始宽高,暂时不能添加签署位置`,fileId:n,pageIndex:i});return}let o=r.resolveContractSigningDefaultSealTypes(d.defaultSealTypes,d.sealTypeOptions);if(e===`seal`&&!o.length){J({code:`CONTRACT_SEAL_TYPES_MISSING`,message:`当前未配置可用的印章类型,暂时不能添加印章位置`,fileId:n,pageIndex:i});return}let s=r.createContractSigningPlacement(e,n,a,{signLeft:t.signLeft,signTop:t.signTop,sizeProfile:d.sizeProfile,sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions,...e===`seal`?{sealType:o}:{}});return V({...h.value,placements:[...h.value.placements,s]}),g.value=n,_.value=i,v.value=s.id,qe(s)}function Ie(e,t){R.value||V({...h.value,placements:h.value.placements.map(n=>{if(n.id!==e)return n;let i=t.pageIndex===void 0?n.pageIndex:t.pageIndex,a=r.findContractSigningPage(h.value,n.fileId,i);return r.patchContractSigningPlacement(n,t,a,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions})})})}function Le(){let e=z.value;if(!e||R.value)return;let n=r.findContractSigningPage(h.value,e.fileId,e.pageIndex);if(!n)return;let i=t.clampContractSigningPlacement({...qe(e),id:Je(),signLeft:e.signLeft+16,signTop:e.signTop+16},n,{sealSizeLimit:p.value});V({...h.value,placements:[...h.value.placements,i]}),v.value=i.id}function G(e){R.value||(V({...h.value,placements:h.value.placements.filter(t=>t.id!==e)}),v.value===e&&(v.value=``))}function Re(){let e=r.validateContractSigningLocationValue(h.value,{allowedSealTypes:d.sealTypeOptions.map(e=>e.value)});return L.value?[...e,{code:`CONTRACT_TEMPLATE_FONT_UNAVAILABLE`,message:K()}]:e}function ze(){return r.cloneContractSigningLocationValue(h.value)}function Be(){if(L.value)throw new r.ContractSigningLocationBuildError([{code:`CONTRACT_TEMPLATE_FONT_UNAVAILABLE`,message:K()}]);return r.buildContractSigningLocationOutput(ze(),{allowedSealTypes:d.sealTypeOptions.map(e=>e.value)})}function Ve(){if(L.value){let e=K();return console.error(`[GD-SIGN-COORD]`,e),J({code:`CONTRACT_TEMPLATE_FONT_UNAVAILABLE`,message:e}),!1}try{let e=Be();return b.value=``,f(`submit`,e),e}catch(e){return J(e instanceof r.ContractSigningLocationBuildError?{...e.errors[0],cause:e}:Y(e,`CONTRACT_SIGNING_LOCATION_INVALID`,`指定签署位置数据不完整`)),!1}}function He(e,t){D.value=e,O.value=e===`error`?t||`合同排版度量校验失败`:``}function K(){return D.value===`error`?O.value||`合同排版度量校验失败,禁止生成签署坐标`:`合同排版度量校验中,请稍后再保存签署坐标`}function Ue(){if(R.value)return r.cloneContractSigningLocationValue(h.value);let e=V(r.cloneContractSigningLocationValue(de.value));return v.value=``,q(!0),(0,c.nextTick)(()=>w.value?.scrollToPage(_.value)),e}function q(e=!1){let t=(e?void 0:h.value.files.find(e=>e.fileId===g.value))??h.value.files[0];g.value=t?.fileId??``,_.value=((e?void 0:t?.pages.find(e=>e.pageIndex===_.value))??t?.pages[0])?.pageIndex??0,h.value.placements.some(e=>e.id===v.value)||(v.value=``)}function J(e){b.value=e.message,f(`error`,e)}function Y(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 X(e,t,n){return`${e}:${t}:${n?`thumbnail`:`preview`}`}function We(e){if(!(e in S.value))return;let t={...S.value};delete t[e],S.value=t}function Z(){j&&=(clearTimeout(j),void 0)}function Q(e){let t=e??(()=>!0),n=new Set(P.abort(t));n.size&&(x.value=x.value.filter(e=>!n.has(e))),e||(M=[])}function Ge(e){return!!(e&&typeof e==`object`&&`cancelled`in e&&e.cancelled)||e instanceof DOMException&&e.name===`AbortError`}function Ke(e){let t=I.value;t&&U(t.fileId,e,!1)}function qe(e){return{...e,sealType:e.sealType?[...e.sealType]:void 0}}function $(e){return JSON.stringify(e)}function Je(){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 Ye(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return{"--gd-ant-contract-signing-location-height":`${e}px`};if(typeof e==`string`&&e.trim())return{"--gd-ant-contract-signing-location-height":e.trim()}}return le({load:H,validate:Re,getValue:ze,getOutput:Be,submit:Ve,reset:Ue,addPlacement:W,removePlacement:G,fitWidth:De}),(t,n)=>((0,c.openBlock)(),(0,c.createElementBlock)(`section`,{class:(0,c.normalizeClass)([`gd-ant-contract-signing-location`,{"is-readonly":fe.value,"is-disabled":e.disabled,"is-preview":F.value}]),style:(0,c.normalizeStyle)(ge.value)},[(0,c.createElementVNode)(`header`,ee,[(0,c.createElementVNode)(`div`,te,[n[6]||=(0,c.createElementVNode)(`span`,{class:`gd-ant-contract-signing-location__title-bar`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,null,[(0,c.createElementVNode)(`strong`,null,(0,c.toDisplayString)(F.value?`合同预览`:`指定合同签署位置`),1)])]),(0,c.createElementVNode)(`div`,ne,[(0,c.createElementVNode)(`span`,re,(0,c.toDisplayString)(h.value.placements.length)+` 个位置`,1),e.dataProvider?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:0,loading:y.value,onClick:H},{default:(0,c.withCtx)(()=>[(0,c.createVNode)((0,c.unref)(u.ReloadOutlined),{"aria-hidden":`true`}),n[7]||=(0,c.createTextVNode)(` 重新加载 `,-1)]),_:1},8,[`loading`])):(0,c.createCommentVNode)(``,!0),F.value?(0,c.createCommentVNode)(``,!0):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:1,disabled:R.value,onClick:Ue},{default:(0,c.withCtx)(()=>[...n[8]||=[(0,c.createTextVNode)(`重置`,-1)]]),_:1},8,[`disabled`])),me.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:2,type:`primary`,loading:y.value,disabled:e.disabled||L.value,onClick:Ve},{default:(0,c.withCtx)(()=>[...n[9]||=[(0,c.createTextVNode)(`确认并生成规则`,-1)]]),_:1},8,[`loading`,`disabled`])):(0,c.createCommentVNode)(``,!0)])]),b.value||_e.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,ie,[(0,c.createElementVNode)(`span`,null,(0,c.toDisplayString)(b.value||_e.value),1),b.value&&e.dataProvider&&e.contractId?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:0,type:`link`,size:`small`,onClick:H},{default:(0,c.withCtx)(()=>[...n[10]||=[(0,c.createTextVNode)(`重试`,-1)]]),_:1})):(0,c.createCommentVNode)(``,!0)])):(0,c.createCommentVNode)(``,!0),(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__body`,{"is-single-file":he.value,"is-inspector-hidden":!pe.value}])},[he.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":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[0]||=e=>E.value=!E.value},[E.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.RightOutlined),{key:0,"aria-hidden":`true`})):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.LeftOutlined),{key:1,"aria-hidden":`true`}))],8,ae)]),_:1},8,[`title`]),(0,c.createElementVNode)(`div`,oe,[(0,c.createVNode)(o.default,{files:h.value.files,"active-file-id":g.value,"loading-preview-keys":Se.value,"error-preview-keys":Ce.value,onSelect:ke},null,8,[`files`,`active-file-id`,`loading-preview-keys`,`error-preview-keys`])])],2)),(0,c.createVNode)(i.default,{ref_key:`canvasRef`,ref:w,file:I.value,pages:I.value?.pages??[],placements:ye.value,"reference-placements":be.value,"selected-placement-id":v.value,readonly:R.value,resizable:e.resizable,"seal-size-limit":p.value,"seal-type-options":e.sealTypeOptions,zoom:C.value,"preview-loading-keys":we.value,"preview-error-map":Te.value,"active-page-index":_.value,"min-zoom":e.minZoom,"max-zoom":e.maxZoom,"font-base-url":e.contractFontBaseUrl,onSelect:n[1]||=e=>v.value=e,onRetry:Ke,onAdd:n[2]||=(e,t,n,r)=>W(e,{signLeft:t,signTop:n,pageIndex:r}),onUpdate:n[3]||=e=>Ie(e.id,e),onRemove:G,onVisiblePages:Me,onViewPage:Ae,onPageChange:je,onZoomChange:Ee,onTemplateStatus:He},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`]),pe.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:1,class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__inspector-wrap`,{"is-collapsed":T.value}])},[(0,c.createVNode)((0,c.unref)(l.Tooltip),{title:T.value?`展开属性栏`:`收起属性栏`},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`button`,{type:`button`,class:`gd-ant-contract-signing-location__panel-handle`,"aria-label":T.value?`展开属性栏`:`收起属性栏`,"aria-expanded":!T.value,onClick:n[4]||=e=>T.value=!T.value},[T.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.RightOutlined),{key:1,"aria-hidden":`true`}))],8,se)]),_:1},8,[`title`]),(0,c.createElementVNode)(`div`,ce,[(0,c.createVNode)(a.default,{placement:z.value,page:xe.value,pages:I.value?.pages??[],placements:ye.value,readonly:R.value,resizable:e.resizable,"seal-size-limit":p.value,"seal-type-options":e.sealTypeOptions,"allowed-placement-types":e.allowedPlacementTypes,"size-profile":e.sizeProfile,onAdd:W,onUpdate:n[5]||=e=>z.value&&Ie(z.value.id,e),onDuplicate:Le,onRemove:G,onLocate:Fe},null,8,[`placement`,`page`,`pages`,`placements`,`readonly`,`resizable`,`seal-size-limit`,`seal-type-options`,`allowed-placement-types`,`size-profile`])])],2)):(0,c.createCommentVNode)(``,!0)],2)],6))}});exports.default=le;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`),require(`../../pro-contract-template-designer/src/utils/contract-print-document.cjs`);const e=require(`./constants.cjs`),t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`),r=require(`./location-rules.cjs`),i=require(`./ContractSigningLocationCanvas.cjs`),a=require(`./ContractSigningLocationInspector.cjs`),o=require(`./ContractSigningLocationNavigator.cjs`),s=require(`./preview-requests.cjs`);let c=require(`vue`),l=require(`ant-design-vue`),u=require(`@ant-design/icons-vue`);var ee={class:`gd-ant-contract-signing-location__header`},te={class:`gd-ant-contract-signing-location__title`},ne={class:`gd-ant-contract-signing-location__header-actions`},re={class:`gd-ant-contract-signing-location__placement-count`},ie={key:0,class:`gd-ant-contract-signing-location__error`,role:`alert`},ae=[`aria-label`,`aria-expanded`],oe={class:`gd-ant-contract-signing-location__panel-stack`},se=[`aria-label`,`aria-expanded`],ce={class:`gd-ant-contract-signing-location__panel-stack`},le=(0,c.defineComponent)({name:`ContractSigningLocation`,__name:`ContractSigningLocation`,props:{modelValue:{default:void 0},mode:{default:`placement`},contractId:{default:``},dataProvider:{default:void 0},sealTypeOptions:{default:()=>e.CONTRACT_SIGNING_SEAL_TYPE_OPTIONS.map(e=>({...e}))},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:le,emit:ue}){let d=e,f=ue,p=(0,c.computed)(()=>t.resolveContractSigningSealSizeLimit(d.sealMinSize,d.sealMaxSize)),m=r.normalizeContractSigningLocationValue(d.modelValue??r.createContractSigningLocationValue(d.contractId),{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions}),h=(0,c.shallowRef)(m),g=(0,c.shallowRef)(r.cloneContractSigningLocationValue(m)),_=(0,c.shallowRef)(m.files[0]?.fileId??``),v=(0,c.shallowRef)(m.files[0]?.pages[0]?.pageIndex??0),y=(0,c.shallowRef)(``),b=(0,c.shallowRef)(!1),x=(0,c.shallowRef)(``),S=(0,c.ref)([]),C=(0,c.ref)({}),w=(0,c.shallowRef)(U(d.zoom)),T=(0,c.ref)(null),E=(0,c.ref)(!1),D=(0,c.ref)(!1),O=(0,c.shallowRef)(`loading`),k=(0,c.shallowRef)(``),A=0,j=!1,M,N=[],P=0,F=new s.ContractSigningPreviewRequests,I=(0,c.computed)(()=>d.mode===`preview`),de=(0,c.computed)(()=>I.value||d.readonly||d.disabled),fe=(0,c.computed)(()=>d.showInspector??!I.value),pe=(0,c.computed)(()=>!I.value&&d.showSubmitButton),me=(0,c.computed)(()=>h.value.files.length<=1),he=(0,c.computed)(()=>Qe(d.height)),L=(0,c.computed)(()=>h.value.files.find(e=>e.fileId===_.value)??h.value.files[0]),R=(0,c.computed)(()=>n.isContractSigningTemplateFile(L.value)&&O.value!==`ready`),z=(0,c.computed)(()=>!R.value||I.value?``:O.value===`loading`?`合同排版校验中,暂不可指定签署位置`:He(k.value)),ge=(0,c.computed)(()=>O.value===`error`&&z.value?z.value:x.value||z.value),_e=(0,c.computed)(()=>!!(x.value&&d.dataProvider&&d.contractId)&&!(O.value===`error`&&z.value)),B=(0,c.computed)(()=>de.value||R.value),V=(0,c.computed)(()=>L.value?.pages.find(e=>e.pageIndex===v.value)??L.value?.pages[0]),ve=(0,c.computed)(()=>{let e=L.value;return e?h.value.placements.filter(t=>t.fileId===e.fileId):[]}),ye=(0,c.computed)(()=>{let e=L.value;return e?d.referencePlacements.filter(t=>t.fileId===e.fileId):[]}),H=(0,c.computed)(()=>h.value.placements.find(e=>e.id===y.value)),be=(0,c.computed)(()=>{let e=H.value;return e?r.findContractSigningPage(h.value,e.fileId,e.pageIndex)??V.value:V.value}),xe=(0,c.computed)(()=>S.value.filter(e=>e.endsWith(`:thumbnail`)).map(e=>e.slice(0,-10))),Se=(0,c.computed)(()=>Object.keys(C.value).filter(e=>e.endsWith(`:thumbnail`)).map(e=>e.slice(0,-10))),Ce=(0,c.computed)(()=>S.value.filter(e=>e.endsWith(`:preview`)).map(e=>e.slice(0,-8))),we=(0,c.computed)(()=>{let e={};return Object.entries(C.value).forEach(([t,n])=>{t.endsWith(`:preview`)&&(e[t.slice(0,-8)]=n)}),e});(0,c.watch)(()=>d.modelValue,e=>{if(!e)return;let t=r.normalizeContractSigningLocationValue(e,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions});$(t)!==$(h.value)&&(Q(),h.value=t,g.value=r.cloneContractSigningLocationValue(t),X(),(0,c.nextTick)(()=>T.value?.scrollToPage(v.value)))},{deep:!0}),(0,c.watch)(p,()=>{$(r.normalizeContractSigningLocationValue(h.value,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions}))!==$(h.value)&&W(h.value)}),(0,c.watch)(()=>d.zoom,e=>{w.value=U(e)}),(0,c.watch)(()=>L.value?.fileId,()=>{O.value=n.isContractSigningTemplateFile(L.value)?`loading`:`ready`,k.value=``}),(0,c.watch)(()=>[d.contractId,d.dataProvider,d.autoLoad],([e,t,n],r)=>{!n||!t||!e||(!r||e!==r[0]||t!==r[1])&&G()},{immediate:!0}),(0,c.onBeforeUnmount)(()=>{j=!0,A+=1,qe(),Q()});function U(e){let n=Math.min(d.minZoom,d.maxZoom),r=Math.max(d.minZoom,d.maxZoom);return t.clampContractSigningZoom(e,n,r)}function Te(e){let t=U(e);w.value=t,f(`update:zoom`,t)}function Ee(){return T.value?.fitWidth()??w.value}function W(e,t={}){h.value=r.normalizeContractSigningLocationValue(e,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions}),t.clearError!==!1&&(x.value=``),X();let n=r.cloneContractSigningLocationValue(h.value);return f(`update:modelValue`,n),f(`change`,n),n}async function G(){let e=String(d.contractId||h.value.contractId||``).trim();if(!d.dataProvider)return Z({code:`CONTRACT_PROVIDER_MISSING`,message:`未配置合同数据提供器,请由宿主传入文件数据`}),!1;if(!e)return Z({code:`CONTRACT_ID_MISSING`,message:`缺少用于加载合同的 PaaS contractId`}),!1;let n=++A;Q(),b.value=!0,x.value=``;try{let i=await d.dataProvider.loadContract({contractId:e});if(j||n!==A)return!1;let a=r.normalizeContractSigningProviderValue(i,t.normalizeContractSigningCoordinateScale(d.dataProvider.coordinateScale)),o=r.normalizeContractSigningLocationValue({...a,contractId:e,placements:a.placements.length?a.placements:h.value.contractId===e?h.value.placements:[]},{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions});h.value=o,g.value=r.cloneContractSigningLocationValue(o),y.value=``,X();let s=r.cloneContractSigningLocationValue(o);return f(`update:modelValue`,s),f(`change`,s),f(`ready`,s),De(),(0,c.nextTick)(()=>T.value?.scrollToPage(v.value)),s}catch(e){return j||n!==A||Z(We(e,`CONTRACT_LOAD_FAILED`,`合同加载失败,请检查授权后重试`)),!1}finally{!j&&n===A&&(b.value=!1)}}async function De(){d.dataProvider?.loadPagePreview&&await Promise.allSettled(h.value.files.map(e=>{if(n.isContractSigningTemplateFile(e))return Promise.resolve();let t=r.getContractSigningHomePage(e.pages);return t&&!t.thumbnailUrl?K(e.fileId,t.pageIndex,!0):Promise.resolve()}))}async function K(e,i,a){let o=d.dataProvider?.loadPagePreview,s=h.value.files.find(t=>t.fileId===e),c=r.findContractSigningPage(h.value,e,i),l=Ge(e,i,a);if(!o||n.isContractSigningTemplateFile(s)||!c||S.value.includes(l))return;Ke(l),S.value=[...S.value,l];let u=F.start(l);try{let n=await o({contractId:h.value.contractId||d.contractId,fileId:e,pageIndex:i,thumbnail:a,signal:u.signal});if(j||!F.isCurrent(l,u)||!r.findContractSigningPage(h.value,e,i))return;let s=r.findContractSigningPage(h.value,e,i),c=r.resolveContractSigningPreviewPageSize(s,n,t.normalizeContractSigningCoordinateScale(d.dataProvider?.coordinateScale),a),ee=h.value.files.map(t=>t.fileId===e?{...t,pages:t.pages.map(e=>e.pageIndex===i?{...e,...c||{},...a?{thumbnailUrl:n.url}:{previewUrl:n.url}}:e)}:t);W({...h.value,files:ee},{clearError:!1})}catch(t){if(!F.isCurrent(l,u)||Je(t))return;let n=We(t,`CONTRACT_PREVIEW_FAILED`,`合同页面预览加载失败,可切换页面或重试`,{fileId:e,pageIndex:i});f(`error`,n),C.value={...C.value,[l]:n.message}}finally{F.finish(l,u)&&(S.value=S.value.filter(e=>e!==l))}}function Oe(e){if(e===_.value)return;let t=_.value;qe(),t&&(Q(e=>e.startsWith(`${t}:`)&&e.endsWith(`:preview`)),N=N.filter(t=>t.fileId===e)),_.value=e;let n=h.value.files.find(t=>t.fileId===e);v.value=r.getContractSigningHomePage(n?.pages)?.pageIndex??0,y.value=``,f(`file-change`,e),f(`page-change`,e,v.value),(0,c.nextTick)(()=>T.value?.scrollToPage(v.value))}function ke(e){v.value=e}function Ae(e){v.value!==e&&(v.value=e),f(`page-change`,_.value,e)}function je(e){qe();let t=_.value;M=setTimeout(()=>{M=void 0,_.value===t&&Me(t,e)},150)}function Me(e,t){let r=h.value.files.find(t=>t.fileId===e);!r||n.isContractSigningTemplateFile(r)||e!==_.value||(t.forEach(e=>{let t=r.pages.find(t=>t.pageIndex===e);!t||t.previewUrl||S.value.includes(Ge(r.fileId,e,!1))||N.some(t=>t.fileId===r.fileId&&t.pageIndex===e)||N.push({fileId:r.fileId,pageIndex:e})}),Ne())}async function Ne(){let e=_.value;for(N=N.filter(t=>t.fileId===e);P<3&&N.length;){let t=N.shift();if(!t||t.fileId!==e)continue;let i=r.findContractSigningPage(h.value,t.fileId,t.pageIndex),a=h.value.files.find(e=>e.fileId===t.fileId);!i||n.isContractSigningTemplateFile(a)||i.previewUrl||S.value.includes(Ge(t.fileId,t.pageIndex,!1))||(P+=1,K(t.fileId,t.pageIndex,!1).finally(()=>{P=Math.max(0,P-1),Ne()}))}}function Pe(e){let t=h.value.placements.find(t=>t.id===e);t&&(t.fileId!==_.value&&Oe(t.fileId),y.value=e,(0,c.nextTick)(()=>T.value?.scrollToPlacement(e)))}function q(e,t={}){if(B.value||!d.allowedPlacementTypes.includes(e))return;let n=t.fileId??L.value?.fileId,i=t.pageIndex??V.value?.pageIndex;if(!n||i===void 0)return;let a=r.findContractSigningPage(h.value,n,i);if(!a||!r.isContractSigningPageUsable(a)){Z({code:`CONTRACT_PAGE_SIZE_INVALID`,message:`当前页面缺少有效的原始宽高,暂时不能添加签署位置`,fileId:n,pageIndex:i});return}let o=r.resolveContractSigningDefaultSealTypes(d.defaultSealTypes,d.sealTypeOptions);if(e===`seal`&&!o.length){Z({code:`CONTRACT_SEAL_TYPES_MISSING`,message:`当前未配置可用的印章类型,暂时不能添加印章位置`,fileId:n,pageIndex:i});return}let s=r.createContractSigningPlacement(e,n,a,{signLeft:t.signLeft,signTop:t.signTop,sizeProfile:d.sizeProfile,sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions,...e===`seal`?{sealType:o}:{}});return W({...h.value,placements:[...h.value.placements,s]}),_.value=n,v.value=i,y.value=s.id,Xe(s)}function Fe(e,t){B.value||W({...h.value,placements:h.value.placements.map(n=>{if(n.id!==e)return n;let i=t.pageIndex===void 0?n.pageIndex:t.pageIndex,a=r.findContractSigningPage(h.value,n.fileId,i);return r.patchContractSigningPlacement(n,t,a,{sealSizeLimit:p.value,sealTypeOptions:d.sealTypeOptions})})})}function Ie(){let e=H.value;if(!e||B.value)return;let n=r.findContractSigningPage(h.value,e.fileId,e.pageIndex);if(!n)return;let i=t.clampContractSigningPlacement({...Xe(e),id:Ze(),signLeft:e.signLeft+16,signTop:e.signTop+16},n,{sealSizeLimit:p.value});W({...h.value,placements:[...h.value.placements,i]}),y.value=i.id}function J(e){B.value||(W({...h.value,placements:h.value.placements.filter(t=>t.id!==e)}),y.value===e&&(y.value=``))}function Le(){let e=r.validateContractSigningLocationValue(h.value,{allowedSealTypes:d.sealTypeOptions.map(e=>e.value)});return R.value?[...e,{code:`CONTRACT_TEMPLATE_FONT_UNAVAILABLE`,message:Y()}]:e}function Re(){return r.cloneContractSigningLocationValue(h.value)}function ze(){if(R.value)throw new r.ContractSigningLocationBuildError([{code:`CONTRACT_TEMPLATE_FONT_UNAVAILABLE`,message:Y()}]);return r.buildContractSigningLocationOutput(Re(),{allowedSealTypes:d.sealTypeOptions.map(e=>e.value)})}function Be(){if(R.value){let e=Y();return console.error(`[GD-SIGN-COORD]`,e),Z({code:`CONTRACT_TEMPLATE_FONT_UNAVAILABLE`,message:z.value||e}),!1}try{let e=ze();return x.value=``,f(`submit`,e),e}catch(e){return Z(e instanceof r.ContractSigningLocationBuildError?{...e.errors[0],cause:e}:We(e,`CONTRACT_SIGNING_LOCATION_INVALID`,`指定签署位置数据不完整`)),!1}}function Ve(e,t){O.value=e,k.value=e===`error`?t||`合同排版度量校验失败`:``}function He(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(`合同打印页节点不存在`)?`合同底图没有加载完整。请刷新后重新打开这份模板。`:`合同排版校验未通过。请刷新后重试;若反复出现,请让管理员查看控制台中以 [GD-SIGN-COORD] 开头的记录。`}function Y(){return O.value===`error`?k.value||`合同排版度量校验失败,禁止生成签署坐标`:`合同排版度量校验中,请稍后再保存签署坐标`}function Ue(){if(B.value)return r.cloneContractSigningLocationValue(h.value);let e=W(r.cloneContractSigningLocationValue(g.value));return y.value=``,X(!0),(0,c.nextTick)(()=>T.value?.scrollToPage(v.value)),e}function X(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 Z(e){x.value=e.message,f(`error`,e)}function We(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 Ge(e,t,n){return`${e}:${t}:${n?`thumbnail`:`preview`}`}function Ke(e){if(!(e in C.value))return;let t={...C.value};delete t[e],C.value=t}function qe(){M&&=(clearTimeout(M),void 0)}function Q(e){let t=e??(()=>!0),n=new Set(F.abort(t));n.size&&(S.value=S.value.filter(e=>!n.has(e))),e||(N=[])}function Je(e){return!!(e&&typeof e==`object`&&`cancelled`in e&&e.cancelled)||e instanceof DOMException&&e.name===`AbortError`}function Ye(e){let t=L.value;t&&K(t.fileId,e,!1)}function Xe(e){return{...e,sealType:e.sealType?[...e.sealType]:void 0}}function $(e){return JSON.stringify(e)}function Ze(){return typeof crypto<`u`&&`randomUUID`in crypto?`contract-signing-placement-${crypto.randomUUID()}`:`contract-signing-placement-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Qe(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return{"--gd-ant-contract-signing-location-height":`${e}px`};if(typeof e==`string`&&e.trim())return{"--gd-ant-contract-signing-location-height":e.trim()}}return le({load:G,validate:Le,getValue:Re,getOutput:ze,submit:Be,reset:Ue,addPlacement:q,removePlacement:J,fitWidth:Ee}),(t,n)=>((0,c.openBlock)(),(0,c.createElementBlock)(`section`,{class:(0,c.normalizeClass)([`gd-ant-contract-signing-location`,{"is-readonly":de.value,"is-disabled":e.disabled,"is-preview":I.value}]),style:(0,c.normalizeStyle)(he.value)},[(0,c.createElementVNode)(`header`,ee,[(0,c.createElementVNode)(`div`,te,[n[6]||=(0,c.createElementVNode)(`span`,{class:`gd-ant-contract-signing-location__title-bar`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,null,[(0,c.createElementVNode)(`strong`,null,(0,c.toDisplayString)(I.value?`合同预览`:`指定合同签署位置`),1)])]),(0,c.createElementVNode)(`div`,ne,[(0,c.createElementVNode)(`span`,re,(0,c.toDisplayString)(h.value.placements.length)+` 个位置`,1),e.dataProvider?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:0,loading:b.value,onClick:G},{default:(0,c.withCtx)(()=>[(0,c.createVNode)((0,c.unref)(u.ReloadOutlined),{"aria-hidden":`true`}),n[7]||=(0,c.createTextVNode)(` 重新加载 `,-1)]),_:1},8,[`loading`])):(0,c.createCommentVNode)(``,!0),I.value?(0,c.createCommentVNode)(``,!0):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:1,disabled:B.value,onClick:Ue},{default:(0,c.withCtx)(()=>[...n[8]||=[(0,c.createTextVNode)(`重置`,-1)]]),_:1},8,[`disabled`])),pe.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:2,type:`primary`,loading:b.value,disabled:e.disabled||R.value,onClick:Be},{default:(0,c.withCtx)(()=>[...n[9]||=[(0,c.createTextVNode)(`确认并生成规则`,-1)]]),_:1},8,[`loading`,`disabled`])):(0,c.createCommentVNode)(``,!0)])]),ge.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,ie,[(0,c.createElementVNode)(`span`,null,(0,c.toDisplayString)(ge.value),1),_e.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.Button),{key:0,type:`link`,size:`small`,onClick:G},{default:(0,c.withCtx)(()=>[...n[10]||=[(0,c.createTextVNode)(`重试`,-1)]]),_:1})):(0,c.createCommentVNode)(``,!0)])):(0,c.createCommentVNode)(``,!0),(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__body`,{"is-single-file":me.value,"is-inspector-hidden":!fe.value}])},[me.value?(0,c.createCommentVNode)(``,!0):((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:0,class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__navigator-wrap`,{"is-collapsed":D.value}])},[(0,c.createVNode)((0,c.unref)(l.Tooltip),{title:D.value?`展开页面栏`:`收起页面栏`},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`button`,{type:`button`,class:`gd-ant-contract-signing-location__panel-handle`,"aria-label":D.value?`展开页面栏`:`收起页面栏`,"aria-expanded":!D.value,onClick:n[0]||=e=>D.value=!D.value},[D.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.RightOutlined),{key:0,"aria-hidden":`true`})):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.LeftOutlined),{key:1,"aria-hidden":`true`}))],8,ae)]),_:1},8,[`title`]),(0,c.createElementVNode)(`div`,oe,[(0,c.createVNode)(o.default,{files:h.value.files,"active-file-id":_.value,"loading-preview-keys":xe.value,"error-preview-keys":Se.value,onSelect:Oe},null,8,[`files`,`active-file-id`,`loading-preview-keys`,`error-preview-keys`])])],2)),(0,c.createVNode)(i.default,{ref_key:`canvasRef`,ref:T,file:L.value,pages:L.value?.pages??[],placements:ve.value,"reference-placements":ye.value,"selected-placement-id":y.value,readonly:B.value,resizable:e.resizable,"seal-size-limit":p.value,"seal-type-options":e.sealTypeOptions,zoom:w.value,"preview-loading-keys":Ce.value,"preview-error-map":we.value,"active-page-index":v.value,"min-zoom":e.minZoom,"max-zoom":e.maxZoom,"font-base-url":e.contractFontBaseUrl,onSelect:n[1]||=e=>y.value=e,onRetry:Ye,onAdd:n[2]||=(e,t,n,r)=>q(e,{signLeft:t,signTop:n,pageIndex:r}),onUpdate:n[3]||=e=>Fe(e.id,e),onRemove:J,onVisiblePages:je,onViewPage:ke,onPageChange:Ae,onZoomChange:Te,onTemplateStatus:Ve},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`]),fe.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:1,class:(0,c.normalizeClass)([`gd-ant-contract-signing-location__inspector-wrap`,{"is-collapsed":E.value}])},[(0,c.createVNode)((0,c.unref)(l.Tooltip),{title:E.value?`展开属性栏`:`收起属性栏`},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`button`,{type:`button`,class:`gd-ant-contract-signing-location__panel-handle`,"aria-label":E.value?`展开属性栏`:`收起属性栏`,"aria-expanded":!E.value,onClick:n[4]||=e=>E.value=!E.value},[E.value?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.RightOutlined),{key:1,"aria-hidden":`true`}))],8,se)]),_:1},8,[`title`]),(0,c.createElementVNode)(`div`,ce,[(0,c.createVNode)(a.default,{placement:H.value,page:be.value,pages:L.value?.pages??[],placements:ve.value,readonly:B.value,resizable:e.resizable,"seal-size-limit":p.value,"seal-type-options":e.sealTypeOptions,"allowed-placement-types":e.allowedPlacementTypes,"size-profile":e.sizeProfile,onAdd:q,onUpdate:n[5]||=e=>H.value&&Fe(H.value.id,e),onDuplicate:Ie,onRemove:J,onLocate:Pe},null,8,[`placement`,`page`,`pages`,`placements`,`readonly`,`resizable`,`seal-size-limit`,`seal-type-options`,`allowed-placement-types`,`size-profile`])])],2)):(0,c.createCommentVNode)(``,!0)],2)],6))}});exports.default=le;
@@ -1 +1 @@
1
- require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./composables/use-template-designer.cjs`),t=require(`./utils/template-tool-icons.cjs`),n=require(`./ContractTemplatePanelTabs.cjs`),r=require(`./ContractTemplateChoiceOptionsEditor.cjs`),ee=require(`./ContractTemplateControlLibrary.cjs`),te=require(`./ContractTemplateVariableAdvanced.cjs`);let i=require(`vue`),a=require(`ant-design-vue`),o=require(`@ant-design/icons-vue`);var ne=[`aria-label`,`aria-expanded`],re={class:`gd-contract-template-designer__panel-stack`},ie={class:`gd-contract-authoring-panel__body`},ae=[`id`,`aria-labelledby`],oe=[`id`,`aria-labelledby`],se={class:`gd-contract-authoring-panel__section-heading`},ce={key:0,class:`gd-contract-authoring-panel__meta`},le={key:0,class:`gd-contract-authoring-panel__empty`},ue={class:`gd-contract-authoring-panel__selection`},s={class:`gd-contract-authoring-panel__variable-icon`,"aria-hidden":`true`},c={class:`gd-contract-authoring-panel__variable-copy`},l={class:`gd-contract-authoring-panel__item-title`},u={class:`gd-contract-authoring-panel__meta`},d={class:`gd-contract-authoring-panel__property-group`},f={class:`gd-contract-authoring-panel__fields`},p={class:`gd-contract-authoring-panel__field`},m={class:`gd-contract-authoring-panel__field`},h={key:0,class:`gd-contract-authoring-panel__field`},g={open:``,class:`gd-contract-authoring-panel__property-group`},_={class:`gd-contract-authoring-panel__group-title`},v={class:`gd-contract-authoring-panel__fields`},y={class:`gd-contract-authoring-panel__switch`},b={class:`gd-contract-authoring-panel__switch`},x={key:0,class:`gd-contract-authoring-panel__field`},S={key:1,class:`gd-contract-authoring-panel__field`},C={class:`gd-contract-authoring-panel__field`},w={class:`gd-contract-authoring-panel__field`},T={class:`gd-contract-authoring-panel__switch`},E={class:`gd-contract-authoring-panel__field`},D={class:`gd-contract-authoring-panel__field`},O={key:4,class:`gd-contract-authoring-panel__switch`},k={key:5,class:`gd-contract-authoring-panel__field`},A={class:`gd-contract-authoring-panel__property-group`},j={class:`gd-contract-authoring-panel__group-title`},M={class:`gd-contract-authoring-panel__fields`},N={class:`gd-contract-authoring-panel__field-pair`},P={class:`gd-contract-authoring-panel__field`},F={class:`gd-contract-authoring-panel__field`},I={class:`gd-contract-authoring-panel__switch`},L={class:`gd-contract-authoring-panel__switch`},R={class:`gd-contract-authoring-panel__field`},z={class:`gd-contract-authoring-panel__field`},B={class:`gd-contract-authoring-panel__color`},V=[`value`,`disabled`],H={class:`gd-contract-authoring-panel__color`},de=[`value`,`disabled`],fe={class:`gd-contract-authoring-panel__color`},pe=[`value`,`disabled`],me={class:`gd-contract-authoring-panel__field`},he={class:`gd-contract-authoring-panel__field`},ge={class:`gd-contract-authoring-panel__field`},_e={class:`gd-contract-authoring-panel__danger-zone`},U=(0,i.defineComponent)({name:`ContractTemplateDesignerInspector`,__name:`ContractTemplateDesignerInspector`,props:{collapsed:{type:Boolean},readonly:{type:Boolean},disabled:{type:Boolean},bodyControlToolItems:{},selectedVariable:{},variables:{},currentVariableFontFamily:{},fontFamilySelectOptions:{},textAlignOptions:{},borderStyleOptions:{},objectFitOptions:{},selectedVariableWidthMax:{},selectedVariableHeightMax:{},minFontSize:{},maxFontSize:{},defaultMultilineRows:{}},emits:[`toggle`,`variableDragStart`,`insertVariable`,`duplicateVariable`,`removeVariable`,`patchVariable`,`renameVariable`,`patchStyle`,`patchMultiline`,`patchRows`,`patchFontFamily`,`patchFontSize`,`patchTextAlign`,`patchBorderStyle`,`patchObjectFit`],setup(U,{emit:W}){let G=U,K=W,q=`gd-contract-inspector-${(0,i.useId)()}`,J=(0,i.shallowRef)(`insert`),ve=[{value:`insert`,label:`插入控件`},{value:`properties`,label:`控件属性`}],Y=(0,i.computed)(()=>G.readonly||G.disabled),ye=(0,i.computed)(()=>G.selectedVariable?G.bodyControlToolItems.find(e=>e.type===(G.selectedVariable?.type||`text`))?.label||e.getFieldOption(G.selectedVariable.type||`text`).label:``),X=(0,i.computed)(()=>G.selectedVariable?.type===`select`||G.selectedVariable?.type===`radio`),be=(0,i.computed)(()=>G.selectedVariable?.type===`select`||!!G.selectedVariable?.type?.endsWith(`-selector`)),xe=(0,i.computed)(()=>G.selectedVariable?.type===`select`&&!!G.selectedVariable.multiple),Se=(0,i.computed)(()=>G.selectedVariable?.defaultValue||void 0),Ce=(0,i.computed)(()=>(G.selectedVariable?.options??[]).map(e=>({label:e.label,value:String(e.value)})));(0,i.watch)(()=>G.selectedVariable?.id,e=>{J.value=e?`properties`:`insert`},{immediate:!0});function Z(e){G.selectedVariable&&!Y.value&&K(`patchVariable`,e)}function Q(e){G.selectedVariable&&!Y.value&&K(`patchStyle`,e)}function $(e){Z({defaultValue:e==null?``:String(e)})}function we(e){let t={multiple:e};e&&G.selectedVariable?.type===`select`&&(t.defaultValue=``),Z(t)}function Te(e){let t=e??[],n=G.selectedVariable?.defaultValue,r={options:t};n&&!t.some(e=>String(e.value)===String(n))&&(r.defaultValue=``),Z(r)}function Ee(){G.selectedVariable&&!Y.value&&K(`duplicateVariable`,G.selectedVariable)}function De(){G.selectedVariable&&!Y.value&&K(`removeVariable`,G.selectedVariable)}return(U,W)=>((0,i.openBlock)(),(0,i.createElementBlock)(`aside`,{class:(0,i.normalizeClass)([`gd-contract-template-designer__inspector gd-contract-authoring-panel`,{"is-collapsed":G.collapsed}]),"aria-label":`控件插入与属性`},[(0,i.createVNode)((0,i.unref)(a.Tooltip),{title:G.collapsed?`展开属性栏`:`收起属性栏`},{default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-designer__panel-handle gd-contract-authoring-panel__handle`,"aria-label":G.collapsed?`展开属性栏`:`收起属性栏`,"aria-expanded":!G.collapsed,onClick:W[0]||=e=>K(`toggle`)},[G.collapsed?((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(o.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(o.RightOutlined),{key:1,"aria-hidden":`true`}))],8,ne)]),_:1},8,[`title`]),(0,i.createElementVNode)(`div`,re,[(0,i.createElementVNode)(`div`,ie,[(0,i.createVNode)(n.default,{id:q,modelValue:J.value,"onUpdate:modelValue":W[1]||=e=>J.value=e,items:ve,label:`控件面板视图`},null,8,[`modelValue`]),(0,i.withDirectives)((0,i.createElementVNode)(`section`,{id:`${q}-panel-insert`,class:`gd-contract-authoring-panel__view`,role:`tabpanel`,"aria-labelledby":`${q}-tab-insert`},[(0,i.createVNode)(ee.default,{items:G.bodyControlToolItems,readonly:Y.value,onInsertVariable:W[2]||=e=>K(`insertVariable`,e),onVariableDragStart:W[3]||=(e,t)=>K(`variableDragStart`,e,t)},null,8,[`items`,`readonly`])],8,ae),[[i.vShow,J.value===`insert`]]),(0,i.withDirectives)((0,i.createElementVNode)(`section`,{id:`${q}-panel-properties`,class:`gd-contract-authoring-panel__view`,role:`tabpanel`,"aria-labelledby":`${q}-tab-properties`},[(0,i.createElementVNode)(`div`,se,[W[31]||=(0,i.createElementVNode)(`strong`,null,`属性`,-1),Y.value?((0,i.openBlock)(),(0,i.createElementBlock)(`small`,ce,`只读`)):(0,i.createCommentVNode)(``,!0)]),G.selectedVariable?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{key:G.selectedVariable.id,class:`gd-contract-authoring-panel__properties`},[(0,i.createElementVNode)(`div`,ue,[(0,i.createElementVNode)(`span`,s,[((0,i.openBlock)(),(0,i.createBlock)((0,i.resolveDynamicComponent)((0,i.unref)(t.resolveFieldTypeIcon)(G.selectedVariable.type))))]),(0,i.createElementVNode)(`div`,c,[(0,i.createElementVNode)(`span`,l,(0,i.toDisplayString)(G.selectedVariable.label),1),(0,i.createElementVNode)(`small`,u,(0,i.toDisplayString)(ye.value),1)]),(0,i.createVNode)((0,i.unref)(a.Tooltip),{title:`复制变量`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.Button),{type:`text`,disabled:Y.value,"aria-label":`复制变量`,onClick:Ee},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(o.CopyOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})]),(0,i.createVNode)(te.default,{variable:G.selectedVariable,variables:G.variables,readonly:Y.value,onPatchVariable:Z,onRenameVariable:W[5]||=e=>K(`renameVariable`,e)},null,8,[`variable`,`variables`,`readonly`]),(0,i.createElementVNode)(`section`,d,[W[38]||=(0,i.createElementVNode)(`h3`,{class:`gd-contract-authoring-panel__group-title`},`基础信息`,-1),(0,i.createElementVNode)(`div`,f,[(0,i.createElementVNode)(`label`,p,[W[35]||=(0,i.createElementVNode)(`span`,null,`名称`,-1),(0,i.createVNode)((0,i.unref)(a.Input),{value:G.selectedVariable.label,disabled:Y.value,"aria-label":`变量名称`,onChange:W[6]||=e=>Z({label:e.target.value})},null,8,[`value`,`disabled`])]),(0,i.createElementVNode)(`label`,m,[W[36]||=(0,i.createElementVNode)(`span`,null,`占位文案`,-1),(0,i.createVNode)((0,i.unref)(a.Input),{value:G.selectedVariable.placeholder,disabled:Y.value,"aria-label":`占位文案`,onChange:W[7]||=e=>Z({placeholder:e.target.value})},null,8,[`value`,`disabled`])]),xe.value?(0,i.createCommentVNode)(``,!0):((0,i.openBlock)(),(0,i.createElementBlock)(`label`,h,[W[37]||=(0,i.createElementVNode)(`span`,null,`默认值`,-1),X.value?((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.Select),{key:0,value:Se.value,options:Ce.value,disabled:Y.value,"allow-clear":``,placeholder:`请选择`,"aria-label":`默认值`,onChange:$},null,8,[`value`,`options`,`disabled`])):((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.Input),{key:1,value:G.selectedVariable.defaultValue,disabled:Y.value,"aria-label":`默认值`,onChange:W[8]||=e=>Z({defaultValue:e.target.value})},null,8,[`value`,`disabled`]))]))])]),(0,i.createElementVNode)(`details`,g,[(0,i.createElementVNode)(`summary`,_,[(0,i.createVNode)((0,i.unref)(o.RightOutlined),{class:`gd-contract-authoring-panel__chevron`,"aria-hidden":`true`}),W[39]||=(0,i.createElementVNode)(`span`,null,`填写规则`,-1)]),(0,i.createElementVNode)(`div`,v,[(0,i.createElementVNode)(`label`,y,[W[40]||=(0,i.createElementVNode)(`span`,null,`必填`,-1),(0,i.createVNode)((0,i.unref)(a.Switch),{checked:G.selectedVariable.required,disabled:Y.value,"aria-label":`必填`,onChange:W[9]||=e=>Z({required:!!e})},null,8,[`checked`,`disabled`])]),!G.selectedVariable.type||G.selectedVariable.type===`text`?((0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,{key:0},[(0,i.createElementVNode)(`label`,b,[W[41]||=(0,i.createElementVNode)(`span`,null,`多行`,-1),(0,i.createVNode)((0,i.unref)(a.Switch),{checked:!!G.selectedVariable.multiline,disabled:Y.value,"aria-label":`多行`,onChange:W[10]||=e=>K(`patchMultiline`,!!e)},null,8,[`checked`,`disabled`])]),G.selectedVariable.multiline?((0,i.openBlock)(),(0,i.createElementBlock)(`label`,x,[W[42]||=(0,i.createElementVNode)(`span`,null,`行数`,-1),(0,i.createVNode)((0,i.unref)(a.InputNumber),{value:G.selectedVariable.rows||G.defaultMultilineRows,min:2,max:12,disabled:Y.value,"aria-label":`行数`,onChange:W[11]||=e=>K(`patchRows`,e)},null,8,[`value`,`disabled`])])):(0,i.createCommentVNode)(``,!0)],64)):(0,i.createCommentVNode)(``,!0),G.selectedVariable.type===`date`?((0,i.openBlock)(),(0,i.createElementBlock)(`label`,S,[W[43]||=(0,i.createElementVNode)(`span`,null,`日期格式`,-1),(0,i.createVNode)((0,i.unref)(a.Input),{value:G.selectedVariable.format,disabled:Y.value,"aria-label":`日期格式`,onChange:W[12]||=e=>Z({format:e.target.value})},null,8,[`value`,`disabled`])])):(0,i.createCommentVNode)(``,!0),G.selectedVariable.type===`number`?((0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,{key:2},[(0,i.createElementVNode)(`label`,C,[W[44]||=(0,i.createElementVNode)(`span`,null,`数字格式`,-1),(0,i.createVNode)((0,i.unref)(a.Input),{value:G.selectedVariable.format,disabled:Y.value,"aria-label":`数字格式`,onChange:W[13]||=e=>Z({format:e.target.value})},null,8,[`value`,`disabled`])]),(0,i.createElementVNode)(`label`,w,[W[45]||=(0,i.createElementVNode)(`span`,null,`小数位`,-1),(0,i.createVNode)((0,i.unref)(a.InputNumber),{value:G.selectedVariable.precision,min:0,max:6,disabled:Y.value,"aria-label":`小数位`,onChange:W[14]||=e=>Z({precision:typeof e==`number`?e:void 0})},null,8,[`value`,`disabled`])]),(0,i.createElementVNode)(`label`,T,[W[46]||=(0,i.createElementVNode)(`span`,null,`千分位`,-1),(0,i.createVNode)((0,i.unref)(a.Switch),{checked:G.selectedVariable.useGrouping!==!1,disabled:Y.value,"aria-label":`千分位`,onChange:W[15]||=e=>Z({useGrouping:!!e})},null,8,[`checked`,`disabled`])])],64)):(0,i.createCommentVNode)(``,!0),G.selectedVariable.type===`checkbox`?((0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,{key:3},[(0,i.createElementVNode)(`label`,E,[W[47]||=(0,i.createElementVNode)(`span`,null,`勾选文本`,-1),(0,i.createVNode)((0,i.unref)(a.Input),{value:G.selectedVariable.checkedText,disabled:Y.value,"aria-label":`勾选文本`,onChange:W[16]||=e=>Z({checkedText:e.target.value})},null,8,[`value`,`disabled`])]),(0,i.createElementVNode)(`label`,D,[W[48]||=(0,i.createElementVNode)(`span`,null,`未选文本`,-1),(0,i.createVNode)((0,i.unref)(a.Input),{value:G.selectedVariable.uncheckedText,disabled:Y.value,"aria-label":`未选文本`,onChange:W[17]||=e=>Z({uncheckedText:e.target.value})},null,8,[`value`,`disabled`])])],64)):(0,i.createCommentVNode)(``,!0),be.value?((0,i.openBlock)(),(0,i.createElementBlock)(`label`,O,[W[49]||=(0,i.createElementVNode)(`span`,null,`允许多选`,-1),(0,i.createVNode)((0,i.unref)(a.Switch),{checked:!!G.selectedVariable.multiple,disabled:Y.value,"aria-label":`允许多选`,onChange:W[18]||=e=>we(!!e)},null,8,[`checked`,`disabled`])])):(0,i.createCommentVNode)(``,!0),X.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,k,[W[50]||=(0,i.createElementVNode)(`span`,null,`选项`,-1),((0,i.openBlock)(),(0,i.createBlock)(r.default,{key:G.selectedVariable.id,options:G.selectedVariable.options??[],"variable-type":G.selectedVariable.type||`select`,readonly:Y.value,onChange:Te},null,8,[`options`,`variable-type`,`readonly`]))])):(0,i.createCommentVNode)(``,!0)])]),(0,i.createElementVNode)(`details`,A,[(0,i.createElementVNode)(`summary`,j,[(0,i.createVNode)((0,i.unref)(o.RightOutlined),{class:`gd-contract-authoring-panel__chevron`,"aria-hidden":`true`}),W[51]||=(0,i.createElementVNode)(`span`,null,`外观`,-1)]),(0,i.createElementVNode)(`div`,M,[(0,i.createElementVNode)(`div`,N,[(0,i.createElementVNode)(`label`,P,[W[52]||=(0,i.createElementVNode)(`span`,null,[(0,i.createTextVNode)(`宽度 `),(0,i.createElementVNode)(`small`,{class:`gd-contract-authoring-panel__meta`},`px`)],-1),(0,i.createVNode)((0,i.unref)(a.InputNumber),{value:G.selectedVariable.width,min:48,max:G.selectedVariableWidthMax,disabled:Y.value,"aria-label":`控件宽度`,onChange:W[19]||=e=>Z({width:Number(e||48)})},null,8,[`value`,`max`,`disabled`])]),(0,i.createElementVNode)(`label`,F,[W[53]||=(0,i.createElementVNode)(`span`,null,[(0,i.createTextVNode)(`高度 `),(0,i.createElementVNode)(`small`,{class:`gd-contract-authoring-panel__meta`},`px`)],-1),(0,i.createVNode)((0,i.unref)(a.InputNumber),{value:G.selectedVariable.height,min:24,max:G.selectedVariableHeightMax,disabled:Y.value,"aria-label":`控件高度`,onChange:W[20]||=e=>Z({height:Number(e||24)})},null,8,[`value`,`max`,`disabled`])])]),(0,i.createElementVNode)(`label`,I,[W[54]||=(0,i.createElementVNode)(`span`,null,`边框`,-1),(0,i.createVNode)((0,i.unref)(a.Switch),{checked:!!G.selectedVariable.style?.border,disabled:Y.value,"aria-label":`边框`,onChange:W[21]||=e=>Q({border:!!e})},null,8,[`checked`,`disabled`])]),(0,i.createElementVNode)(`label`,L,[W[55]||=(0,i.createElementVNode)(`span`,null,`下划线`,-1),(0,i.createVNode)((0,i.unref)(a.Switch),{checked:!!G.selectedVariable.style?.underline,disabled:Y.value,"aria-label":`下划线`,onChange:W[22]||=e=>Q({underline:!!e})},null,8,[`checked`,`disabled`])]),(0,i.createElementVNode)(`label`,R,[W[56]||=(0,i.createElementVNode)(`span`,null,`字体`,-1),(0,i.createVNode)((0,i.unref)(a.Select),{value:G.currentVariableFontFamily,options:G.fontFamilySelectOptions,disabled:Y.value,"aria-label":`控件字体`,onChange:W[23]||=e=>K(`patchFontFamily`,e)},null,8,[`value`,`options`,`disabled`])]),(0,i.createElementVNode)(`label`,z,[W[57]||=(0,i.createElementVNode)(`span`,null,`字号`,-1),(0,i.createVNode)((0,i.unref)(a.InputNumber),{value:G.selectedVariable.style?.fontSize,min:G.minFontSize,max:G.maxFontSize,disabled:Y.value,"aria-label":`控件字号`,onChange:W[24]||=e=>K(`patchFontSize`,e)},null,8,[`value`,`min`,`max`,`disabled`])]),(0,i.createElementVNode)(`label`,B,[W[58]||=(0,i.createElementVNode)(`span`,null,`颜色`,-1),(0,i.createElementVNode)(`input`,{type:`color`,value:G.selectedVariable.style?.color||(0,i.unref)(e.DEFAULT_FIELD_STYLE).color,disabled:Y.value,"aria-label":`控件文字颜色`,onInput:W[25]||=e=>Q({color:e.target.value})},null,40,V)]),(0,i.createElementVNode)(`label`,H,[W[59]||=(0,i.createElementVNode)(`span`,null,`占位颜色`,-1),(0,i.createElementVNode)(`input`,{type:`color`,value:G.selectedVariable.style?.placeholderColor||(0,i.unref)(e.DEFAULT_FIELD_STYLE).placeholderColor,disabled:Y.value,"aria-label":`控件占位颜色`,onInput:W[26]||=e=>Q({placeholderColor:e.target.value})},null,40,de)]),(0,i.createElementVNode)(`label`,fe,[W[60]||=(0,i.createElementVNode)(`span`,null,`线条颜色`,-1),(0,i.createElementVNode)(`input`,{type:`color`,value:G.selectedVariable.style?.lineColor||(0,i.unref)(e.DEFAULT_FIELD_STYLE).lineColor,disabled:Y.value,"aria-label":`控件线条颜色`,onInput:W[27]||=e=>Q({lineColor:e.target.value})},null,40,pe)]),(0,i.createElementVNode)(`label`,me,[W[61]||=(0,i.createElementVNode)(`span`,null,`文字对齐`,-1),(0,i.createVNode)((0,i.unref)(a.Select),{value:G.selectedVariable.style?.textAlign||`left`,options:G.textAlignOptions,disabled:Y.value,"aria-label":`控件文字对齐`,onChange:W[28]||=e=>K(`patchTextAlign`,e)},null,8,[`value`,`options`,`disabled`])]),G.selectedVariable.type===`image`?((0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,{key:0},[(0,i.createElementVNode)(`label`,he,[W[62]||=(0,i.createElementVNode)(`span`,null,`边框样式`,-1),(0,i.createVNode)((0,i.unref)(a.Select),{value:G.selectedVariable.style?.borderStyle||`dashed`,options:G.borderStyleOptions,disabled:Y.value,"aria-label":`图片边框样式`,onChange:W[29]||=e=>K(`patchBorderStyle`,e)},null,8,[`value`,`options`,`disabled`])]),(0,i.createElementVNode)(`label`,ge,[W[63]||=(0,i.createElementVNode)(`span`,null,`图片适配`,-1),(0,i.createVNode)((0,i.unref)(a.Select),{value:G.selectedVariable.style?.objectFit||`contain`,options:G.objectFitOptions,disabled:Y.value,"aria-label":`图片适配`,onChange:W[30]||=e=>K(`patchObjectFit`,e)},null,8,[`value`,`options`,`disabled`])])],64)):(0,i.createCommentVNode)(``,!0)])]),(0,i.createElementVNode)(`div`,_e,[(0,i.createVNode)((0,i.unref)(a.Popconfirm),{title:`删除此变量及其全部引用?`,"ok-text":`删除变量`,"cancel-text":`取消`,"ok-button-props":{danger:!0},disabled:Y.value,onConfirm:De},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.Button),{type:`text`,danger:``,disabled:Y.value,"aria-label":`删除变量`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(o.DeleteOutlined),{"aria-hidden":`true`}),W[64]||=(0,i.createTextVNode)(`删除变量`,-1)]),_:1},8,[`disabled`])]),_:1},8,[`disabled`])])])):((0,i.openBlock)(),(0,i.createElementBlock)(`div`,le,[W[33]||=(0,i.createElementVNode)(`span`,null,`先选择一个正文变量`,-1),W[34]||=(0,i.createElementVNode)(`small`,{class:`gd-contract-authoring-panel__meta`},`点击正文控件,或从左侧「变量」中定位。`,-1),(0,i.createVNode)((0,i.unref)(a.Button),{onClick:W[4]||=e=>J.value=`insert`},{default:(0,i.withCtx)(()=>[...W[32]||=[(0,i.createTextVNode)(`前往插入控件`,-1)]]),_:1})]))],8,oe),[[i.vShow,J.value===`properties`]])])])],2))}});exports.default=U;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./utils/template-variable-render.cjs`),t=require(`./composables/use-template-designer.cjs`),n=require(`./utils/template-tool-icons.cjs`),r=require(`./ContractTemplatePanelTabs.cjs`),ee=require(`./ContractTemplateChoiceOptionsEditor.cjs`),te=require(`./ContractTemplateControlLibrary.cjs`),ne=require(`./ContractTemplateVariableAdvanced.cjs`);let i=require(`vue`),a=require(`ant-design-vue`),o=require(`@ant-design/icons-vue`);var re=[`aria-label`,`aria-expanded`],ie={class:`gd-contract-template-designer__panel-stack`},ae={class:`gd-contract-authoring-panel__body`},oe=[`id`,`aria-labelledby`],se=[`id`,`aria-labelledby`],ce={class:`gd-contract-authoring-panel__section-heading`},le={key:0,class:`gd-contract-authoring-panel__meta`},ue={key:0,class:`gd-contract-authoring-panel__empty`},de={class:`gd-contract-authoring-panel__selection`},fe={class:`gd-contract-authoring-panel__variable-icon`,"aria-hidden":`true`},pe={class:`gd-contract-authoring-panel__variable-copy`},me={class:`gd-contract-authoring-panel__item-title`},he={class:`gd-contract-authoring-panel__meta`},s={class:`gd-contract-authoring-panel__property-group`},c={class:`gd-contract-authoring-panel__fields`},l={class:`gd-contract-authoring-panel__field`},u={class:`gd-contract-authoring-panel__field`},d={key:0,class:`gd-contract-authoring-panel__field`},f={open:``,class:`gd-contract-authoring-panel__property-group`},p={class:`gd-contract-authoring-panel__group-title`},m={class:`gd-contract-authoring-panel__fields`},h={class:`gd-contract-authoring-panel__switch`},g={class:`gd-contract-authoring-panel__switch`},_={key:0,class:`gd-contract-authoring-panel__field`},v={key:1,class:`gd-contract-authoring-panel__field`},y={class:`gd-contract-authoring-panel__field`},b={key:0},x={class:`gd-contract-authoring-panel__field`},S={class:`gd-contract-authoring-panel__switch`},C={class:`gd-contract-authoring-panel__field`},w={class:`gd-contract-authoring-panel__field`},T={key:4,class:`gd-contract-authoring-panel__switch`},E={key:5,class:`gd-contract-authoring-panel__field`},D={class:`gd-contract-authoring-panel__property-group`},O={class:`gd-contract-authoring-panel__group-title`},k={class:`gd-contract-authoring-panel__fields`},A={class:`gd-contract-authoring-panel__field-pair`},j={class:`gd-contract-authoring-panel__field`},M={key:0,class:`gd-contract-authoring-panel__field`},N={class:`gd-contract-authoring-panel__meta`},P={key:1,class:`gd-contract-authoring-panel__field`},F={class:`gd-contract-authoring-panel__switch`},I={class:`gd-contract-authoring-panel__switch`},L={class:`gd-contract-authoring-panel__field`},R={class:`gd-contract-authoring-panel__field`},ge={class:`gd-contract-authoring-panel__color`},_e=[`value`,`disabled`],z={class:`gd-contract-authoring-panel__color`},ve=[`value`,`disabled`],ye={class:`gd-contract-authoring-panel__color`},be=[`value`,`disabled`],xe={class:`gd-contract-authoring-panel__field`},Se={class:`gd-contract-authoring-panel__field`},Ce={class:`gd-contract-authoring-panel__field`},we={class:`gd-contract-authoring-panel__danger-zone`},B=(0,i.defineComponent)({name:`ContractTemplateDesignerInspector`,__name:`ContractTemplateDesignerInspector`,props:{collapsed:{type:Boolean},readonly:{type:Boolean},disabled:{type:Boolean},bodyControlToolItems:{},selectedVariable:{},variables:{},currentVariableFontFamily:{},fontFamilySelectOptions:{},textAlignOptions:{},borderStyleOptions:{},objectFitOptions:{},selectedVariableWidthMax:{},selectedVariableHeightMax:{},minFontSize:{},maxFontSize:{},defaultMultilineRows:{}},emits:[`toggle`,`variableDragStart`,`insertVariable`,`duplicateVariable`,`removeVariable`,`patchVariable`,`renameVariable`,`patchStyle`,`patchMultiline`,`patchRows`,`patchFontFamily`,`patchFontSize`,`patchTextAlign`,`patchBorderStyle`,`patchObjectFit`],setup(B,{emit:V}){let H=B,U=V,W=`gd-contract-inspector-${(0,i.useId)()}`,G=(0,i.shallowRef)(`insert`),Te=[{value:`insert`,label:`插入控件`},{value:`properties`,label:`控件属性`}],K=(0,i.computed)(()=>e.TEMPLATE_NUMBER_FORMAT_OPTIONS.some(e=>e.value===H.selectedVariable?.format)?H.selectedVariable?.format:`decimal`),q=(0,i.computed)(()=>H.readonly||H.disabled),Ee=(0,i.computed)(()=>H.selectedVariable?H.bodyControlToolItems.find(e=>e.type===(H.selectedVariable?.type||`text`))?.label||t.getFieldOption(H.selectedVariable.type||`text`).label:``),J=(0,i.computed)(()=>(!H.selectedVariable?.type||H.selectedVariable.type===`text`)&&!!H.selectedVariable?.multiline),Y=(0,i.computed)(()=>H.selectedVariable?.rows||H.defaultMultilineRows),X=(0,i.computed)(()=>H.selectedVariable?.lineHeight||28),Z=(0,i.computed)(()=>H.selectedVariable?.type===`select`||H.selectedVariable?.type===`radio`),De=(0,i.computed)(()=>H.selectedVariable?.type===`select`||!!H.selectedVariable?.type?.endsWith(`-selector`)),Oe=(0,i.computed)(()=>H.selectedVariable?.type===`select`&&!!H.selectedVariable.multiple),ke=(0,i.computed)(()=>H.selectedVariable?.defaultValue||void 0),Ae=(0,i.computed)(()=>(H.selectedVariable?.options??[]).map(e=>({label:e.label,value:String(e.value)})));(0,i.watch)(()=>H.selectedVariable?.id,e=>{G.value=e?`properties`:`insert`},{immediate:!0});function Q(e){H.selectedVariable&&!q.value&&U(`patchVariable`,e)}function $(e){H.selectedVariable&&!q.value&&U(`patchStyle`,e)}function je(e){Q({defaultValue:e==null?``:String(e)})}function Me(e){let t={multiple:e};e&&H.selectedVariable?.type===`select`&&(t.defaultValue=``),Q(t)}function Ne(e){let t=e??[],n=H.selectedVariable?.defaultValue,r={options:t};n&&!t.some(e=>String(e.value)===String(n))&&(r.defaultValue=``),Q(r)}function Pe(){H.selectedVariable&&!q.value&&U(`duplicateVariable`,H.selectedVariable)}function Fe(){H.selectedVariable&&!q.value&&U(`removeVariable`,H.selectedVariable)}return(B,V)=>((0,i.openBlock)(),(0,i.createElementBlock)(`aside`,{class:(0,i.normalizeClass)([`gd-contract-template-designer__inspector gd-contract-authoring-panel`,{"is-collapsed":H.collapsed}]),"aria-label":`控件插入与属性`},[(0,i.createVNode)((0,i.unref)(a.Tooltip),{title:H.collapsed?`展开属性栏`:`收起属性栏`},{default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-designer__panel-handle gd-contract-authoring-panel__handle`,"aria-label":H.collapsed?`展开属性栏`:`收起属性栏`,"aria-expanded":!H.collapsed,onClick:V[0]||=e=>U(`toggle`)},[H.collapsed?((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(o.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(o.RightOutlined),{key:1,"aria-hidden":`true`}))],8,re)]),_:1},8,[`title`]),(0,i.createElementVNode)(`div`,ie,[(0,i.createElementVNode)(`div`,ae,[(0,i.createVNode)(r.default,{id:W,modelValue:G.value,"onUpdate:modelValue":V[1]||=e=>G.value=e,items:Te,label:`控件面板视图`},null,8,[`modelValue`]),(0,i.withDirectives)((0,i.createElementVNode)(`section`,{id:`${W}-panel-insert`,class:`gd-contract-authoring-panel__view`,role:`tabpanel`,"aria-labelledby":`${W}-tab-insert`},[(0,i.createVNode)(te.default,{items:H.bodyControlToolItems,readonly:q.value,onInsertVariable:V[2]||=e=>U(`insertVariable`,e),onVariableDragStart:V[3]||=(e,t)=>U(`variableDragStart`,e,t)},null,8,[`items`,`readonly`])],8,oe),[[i.vShow,G.value===`insert`]]),(0,i.withDirectives)((0,i.createElementVNode)(`section`,{id:`${W}-panel-properties`,class:`gd-contract-authoring-panel__view`,role:`tabpanel`,"aria-labelledby":`${W}-tab-properties`},[(0,i.createElementVNode)(`div`,ce,[V[32]||=(0,i.createElementVNode)(`strong`,null,`属性`,-1),q.value?((0,i.openBlock)(),(0,i.createElementBlock)(`small`,le,`只读`)):(0,i.createCommentVNode)(``,!0)]),H.selectedVariable?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{key:H.selectedVariable.id,class:`gd-contract-authoring-panel__properties`},[(0,i.createElementVNode)(`div`,de,[(0,i.createElementVNode)(`span`,fe,[((0,i.openBlock)(),(0,i.createBlock)((0,i.resolveDynamicComponent)((0,i.unref)(n.resolveFieldTypeIcon)(H.selectedVariable.type))))]),(0,i.createElementVNode)(`div`,pe,[(0,i.createElementVNode)(`span`,me,(0,i.toDisplayString)(H.selectedVariable.label),1),(0,i.createElementVNode)(`small`,he,(0,i.toDisplayString)(Ee.value),1)]),(0,i.createVNode)((0,i.unref)(a.Tooltip),{title:`复制变量`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.Button),{type:`text`,disabled:q.value,"aria-label":`复制变量`,onClick:Pe},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(o.CopyOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})]),(0,i.createVNode)(ne.default,{variable:H.selectedVariable,variables:H.variables,readonly:q.value,onPatchVariable:Q,onRenameVariable:V[5]||=e=>U(`renameVariable`,e)},null,8,[`variable`,`variables`,`readonly`]),(0,i.createElementVNode)(`section`,s,[V[39]||=(0,i.createElementVNode)(`h3`,{class:`gd-contract-authoring-panel__group-title`},`基础信息`,-1),(0,i.createElementVNode)(`div`,c,[(0,i.createElementVNode)(`label`,l,[V[36]||=(0,i.createElementVNode)(`span`,null,`名称`,-1),(0,i.createVNode)((0,i.unref)(a.Input),{value:H.selectedVariable.label,disabled:q.value,"aria-label":`变量名称`,onChange:V[6]||=e=>Q({label:e.target.value})},null,8,[`value`,`disabled`])]),(0,i.createElementVNode)(`label`,u,[V[37]||=(0,i.createElementVNode)(`span`,null,`占位文案`,-1),(0,i.createVNode)((0,i.unref)(a.Input),{value:H.selectedVariable.placeholder,disabled:q.value,"aria-label":`占位文案`,onChange:V[7]||=e=>Q({placeholder:e.target.value})},null,8,[`value`,`disabled`])]),Oe.value?(0,i.createCommentVNode)(``,!0):((0,i.openBlock)(),(0,i.createElementBlock)(`label`,d,[V[38]||=(0,i.createElementVNode)(`span`,null,`默认值`,-1),Z.value?((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.Select),{key:0,value:ke.value,options:Ae.value,disabled:q.value,"allow-clear":``,placeholder:`请选择`,"aria-label":`默认值`,onChange:je},null,8,[`value`,`options`,`disabled`])):J.value?((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.Input).TextArea,{key:1,value:H.selectedVariable.defaultValue,rows:Y.value,disabled:q.value,"aria-label":`默认值`,"onUpdate:value":V[8]||=e=>Q({defaultValue:e})},null,8,[`value`,`rows`,`disabled`])):((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.Input),{key:2,value:H.selectedVariable.defaultValue,disabled:q.value,"aria-label":`默认值`,onChange:V[9]||=e=>Q({defaultValue:e.target.value})},null,8,[`value`,`disabled`]))]))])]),(0,i.createElementVNode)(`details`,f,[(0,i.createElementVNode)(`summary`,p,[(0,i.createVNode)((0,i.unref)(o.RightOutlined),{class:`gd-contract-authoring-panel__chevron`,"aria-hidden":`true`}),V[40]||=(0,i.createElementVNode)(`span`,null,`填写规则`,-1)]),(0,i.createElementVNode)(`div`,m,[(0,i.createElementVNode)(`label`,h,[V[41]||=(0,i.createElementVNode)(`span`,null,`必填`,-1),(0,i.createVNode)((0,i.unref)(a.Switch),{checked:H.selectedVariable.required,disabled:q.value,"aria-label":`必填`,onChange:V[10]||=e=>Q({required:!!e})},null,8,[`checked`,`disabled`])]),!H.selectedVariable.type||H.selectedVariable.type===`text`?((0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,{key:0},[(0,i.createElementVNode)(`label`,g,[V[42]||=(0,i.createElementVNode)(`span`,null,`多行`,-1),(0,i.createVNode)((0,i.unref)(a.Switch),{checked:!!H.selectedVariable.multiline,disabled:q.value,"aria-label":`多行`,onChange:V[11]||=e=>U(`patchMultiline`,!!e)},null,8,[`checked`,`disabled`])]),H.selectedVariable.multiline?((0,i.openBlock)(),(0,i.createElementBlock)(`label`,_,[V[43]||=(0,i.createElementVNode)(`span`,null,`行数`,-1),(0,i.createVNode)((0,i.unref)(a.InputNumber),{value:H.selectedVariable.rows||H.defaultMultilineRows,min:2,max:12,disabled:q.value,"aria-label":`行数`,onChange:V[12]||=e=>U(`patchRows`,e)},null,8,[`value`,`disabled`])])):(0,i.createCommentVNode)(``,!0)],64)):(0,i.createCommentVNode)(``,!0),H.selectedVariable.type===`date`?((0,i.openBlock)(),(0,i.createElementBlock)(`label`,v,[V[44]||=(0,i.createElementVNode)(`span`,null,`日期格式`,-1),(0,i.createVNode)((0,i.unref)(a.Input),{value:H.selectedVariable.format,disabled:q.value,"aria-label":`日期格式`,onChange:V[13]||=e=>Q({format:e.target.value})},null,8,[`value`,`disabled`])])):(0,i.createCommentVNode)(``,!0),H.selectedVariable.type===`number`?((0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,{key:2},[(0,i.createElementVNode)(`label`,y,[V[45]||=(0,i.createElementVNode)(`span`,null,`数字格式`,-1),(0,i.createVNode)((0,i.unref)(a.Select),{value:K.value,options:(0,i.unref)(e.TEMPLATE_NUMBER_FORMAT_OPTIONS),disabled:q.value,"aria-label":`数字格式`,onChange:V[14]||=e=>Q({format:String(e)})},null,8,[`value`,`options`,`disabled`]),K.value===`percent`?((0,i.openBlock)(),(0,i.createElementBlock)(`span`,b,`按比例填写,例如 0.125 显示为 12.5%。`)):(0,i.createCommentVNode)(``,!0)]),(0,i.createElementVNode)(`label`,x,[V[46]||=(0,i.createElementVNode)(`span`,null,`小数位`,-1),(0,i.createVNode)((0,i.unref)(a.InputNumber),{value:H.selectedVariable.precision,min:0,max:6,disabled:q.value,"aria-label":`小数位`,onChange:V[15]||=e=>Q({precision:typeof e==`number`?e:void 0})},null,8,[`value`,`disabled`])]),(0,i.createElementVNode)(`label`,S,[V[47]||=(0,i.createElementVNode)(`span`,null,`千分位`,-1),(0,i.createVNode)((0,i.unref)(a.Switch),{checked:H.selectedVariable.useGrouping===!0,disabled:q.value,"aria-label":`千分位`,onChange:V[16]||=e=>Q({useGrouping:!!e})},null,8,[`checked`,`disabled`])])],64)):(0,i.createCommentVNode)(``,!0),H.selectedVariable.type===`checkbox`?((0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,{key:3},[(0,i.createElementVNode)(`label`,C,[V[48]||=(0,i.createElementVNode)(`span`,null,`勾选文本`,-1),(0,i.createVNode)((0,i.unref)(a.Input),{value:H.selectedVariable.checkedText,disabled:q.value,"aria-label":`勾选文本`,onChange:V[17]||=e=>Q({checkedText:e.target.value})},null,8,[`value`,`disabled`])]),(0,i.createElementVNode)(`label`,w,[V[49]||=(0,i.createElementVNode)(`span`,null,`未选文本`,-1),(0,i.createVNode)((0,i.unref)(a.Input),{value:H.selectedVariable.uncheckedText,disabled:q.value,"aria-label":`未选文本`,onChange:V[18]||=e=>Q({uncheckedText:e.target.value})},null,8,[`value`,`disabled`])])],64)):(0,i.createCommentVNode)(``,!0),De.value?((0,i.openBlock)(),(0,i.createElementBlock)(`label`,T,[V[50]||=(0,i.createElementVNode)(`span`,null,`允许多选`,-1),(0,i.createVNode)((0,i.unref)(a.Switch),{checked:!!H.selectedVariable.multiple,disabled:q.value,"aria-label":`允许多选`,onChange:V[19]||=e=>Me(!!e)},null,8,[`checked`,`disabled`])])):(0,i.createCommentVNode)(``,!0),Z.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,E,[V[51]||=(0,i.createElementVNode)(`span`,null,`选项`,-1),((0,i.openBlock)(),(0,i.createBlock)(ee.default,{key:H.selectedVariable.id,options:H.selectedVariable.options??[],"variable-type":H.selectedVariable.type||`select`,readonly:q.value,onChange:Ne},null,8,[`options`,`variable-type`,`readonly`]))])):(0,i.createCommentVNode)(``,!0)])]),(0,i.createElementVNode)(`details`,D,[(0,i.createElementVNode)(`summary`,O,[(0,i.createVNode)((0,i.unref)(o.RightOutlined),{class:`gd-contract-authoring-panel__chevron`,"aria-hidden":`true`}),V[52]||=(0,i.createElementVNode)(`span`,null,`外观`,-1)]),(0,i.createElementVNode)(`div`,k,[(0,i.createElementVNode)(`div`,A,[(0,i.createElementVNode)(`label`,j,[V[53]||=(0,i.createElementVNode)(`span`,null,[(0,i.createTextVNode)(`宽度 `),(0,i.createElementVNode)(`small`,{class:`gd-contract-authoring-panel__meta`},`px`)],-1),(0,i.createVNode)((0,i.unref)(a.InputNumber),{value:H.selectedVariable.width,min:48,max:H.selectedVariableWidthMax,disabled:q.value,"aria-label":`控件宽度`,onChange:V[20]||=e=>Q({width:Number(e||48)})},null,8,[`value`,`max`,`disabled`])]),J.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,M,[V[54]||=(0,i.createElementVNode)(`span`,null,`高度`,-1),(0,i.createElementVNode)(`span`,N,(0,i.toDisplayString)(Y.value)+`行×`+(0,i.toDisplayString)(X.value)+`px,正文高度`+(0,i.toDisplayString)(Y.value*X.value)+`px`,1)])):((0,i.openBlock)(),(0,i.createElementBlock)(`label`,P,[V[55]||=(0,i.createElementVNode)(`span`,null,[(0,i.createTextVNode)(`高度 `),(0,i.createElementVNode)(`small`,{class:`gd-contract-authoring-panel__meta`},`px`)],-1),(0,i.createVNode)((0,i.unref)(a.InputNumber),{value:H.selectedVariable.height,min:24,max:H.selectedVariableHeightMax,disabled:q.value,"aria-label":`控件高度`,onChange:V[21]||=e=>Q({height:Number(e||24)})},null,8,[`value`,`max`,`disabled`])]))]),(0,i.createElementVNode)(`label`,F,[V[56]||=(0,i.createElementVNode)(`span`,null,`边框`,-1),(0,i.createVNode)((0,i.unref)(a.Switch),{checked:!!H.selectedVariable.style?.border,disabled:q.value,"aria-label":`边框`,onChange:V[22]||=e=>$({border:!!e})},null,8,[`checked`,`disabled`])]),(0,i.createElementVNode)(`label`,I,[V[57]||=(0,i.createElementVNode)(`span`,null,`下划线`,-1),(0,i.createVNode)((0,i.unref)(a.Switch),{checked:!!H.selectedVariable.style?.underline,disabled:q.value,"aria-label":`下划线`,onChange:V[23]||=e=>$({underline:!!e})},null,8,[`checked`,`disabled`])]),(0,i.createElementVNode)(`label`,L,[V[58]||=(0,i.createElementVNode)(`span`,null,`字体`,-1),(0,i.createVNode)((0,i.unref)(a.Select),{value:H.currentVariableFontFamily,options:H.fontFamilySelectOptions,disabled:q.value,"aria-label":`控件字体`,onChange:V[24]||=e=>U(`patchFontFamily`,e)},null,8,[`value`,`options`,`disabled`])]),(0,i.createElementVNode)(`label`,R,[V[59]||=(0,i.createElementVNode)(`span`,null,`字号`,-1),(0,i.createVNode)((0,i.unref)(a.InputNumber),{value:H.selectedVariable.style?.fontSize,min:H.minFontSize,max:H.maxFontSize,disabled:q.value,"aria-label":`控件字号`,onChange:V[25]||=e=>U(`patchFontSize`,e)},null,8,[`value`,`min`,`max`,`disabled`])]),(0,i.createElementVNode)(`label`,ge,[V[60]||=(0,i.createElementVNode)(`span`,null,`颜色`,-1),(0,i.createElementVNode)(`input`,{type:`color`,value:H.selectedVariable.style?.color||(0,i.unref)(t.DEFAULT_FIELD_STYLE).color,disabled:q.value,"aria-label":`控件文字颜色`,onInput:V[26]||=e=>$({color:e.target.value})},null,40,_e)]),(0,i.createElementVNode)(`label`,z,[V[61]||=(0,i.createElementVNode)(`span`,null,`占位颜色`,-1),(0,i.createElementVNode)(`input`,{type:`color`,value:H.selectedVariable.style?.placeholderColor||(0,i.unref)(t.DEFAULT_FIELD_STYLE).placeholderColor,disabled:q.value,"aria-label":`控件占位颜色`,onInput:V[27]||=e=>$({placeholderColor:e.target.value})},null,40,ve)]),(0,i.createElementVNode)(`label`,ye,[V[62]||=(0,i.createElementVNode)(`span`,null,`线条颜色`,-1),(0,i.createElementVNode)(`input`,{type:`color`,value:H.selectedVariable.style?.lineColor||(0,i.unref)(t.DEFAULT_FIELD_STYLE).lineColor,disabled:q.value,"aria-label":`控件线条颜色`,onInput:V[28]||=e=>$({lineColor:e.target.value})},null,40,be)]),(0,i.createElementVNode)(`label`,xe,[V[63]||=(0,i.createElementVNode)(`span`,null,`文字对齐`,-1),(0,i.createVNode)((0,i.unref)(a.Select),{value:H.selectedVariable.style?.textAlign||`left`,options:H.textAlignOptions,disabled:q.value,"aria-label":`控件文字对齐`,onChange:V[29]||=e=>U(`patchTextAlign`,e)},null,8,[`value`,`options`,`disabled`])]),H.selectedVariable.type===`image`?((0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,{key:0},[(0,i.createElementVNode)(`label`,Se,[V[64]||=(0,i.createElementVNode)(`span`,null,`边框样式`,-1),(0,i.createVNode)((0,i.unref)(a.Select),{value:H.selectedVariable.style?.borderStyle||`dashed`,options:H.borderStyleOptions,disabled:q.value,"aria-label":`图片边框样式`,onChange:V[30]||=e=>U(`patchBorderStyle`,e)},null,8,[`value`,`options`,`disabled`])]),(0,i.createElementVNode)(`label`,Ce,[V[65]||=(0,i.createElementVNode)(`span`,null,`图片适配`,-1),(0,i.createVNode)((0,i.unref)(a.Select),{value:H.selectedVariable.style?.objectFit||`contain`,options:H.objectFitOptions,disabled:q.value,"aria-label":`图片适配`,onChange:V[31]||=e=>U(`patchObjectFit`,e)},null,8,[`value`,`options`,`disabled`])])],64)):(0,i.createCommentVNode)(``,!0)])]),(0,i.createElementVNode)(`div`,we,[(0,i.createVNode)((0,i.unref)(a.Popconfirm),{title:`删除此变量及其全部引用?`,"ok-text":`删除变量`,"cancel-text":`取消`,"ok-button-props":{danger:!0},disabled:q.value,onConfirm:Fe},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.Button),{type:`text`,danger:``,disabled:q.value,"aria-label":`删除变量`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(o.DeleteOutlined),{"aria-hidden":`true`}),V[66]||=(0,i.createTextVNode)(`删除变量`,-1)]),_:1},8,[`disabled`])]),_:1},8,[`disabled`])])])):((0,i.openBlock)(),(0,i.createElementBlock)(`div`,ue,[V[34]||=(0,i.createElementVNode)(`span`,null,`先选择一个正文变量`,-1),V[35]||=(0,i.createElementVNode)(`small`,{class:`gd-contract-authoring-panel__meta`},`点击正文控件,或从左侧「变量」中定位。`,-1),(0,i.createVNode)((0,i.unref)(a.Button),{onClick:V[4]||=e=>G.value=`insert`},{default:(0,i.withCtx)(()=>[...V[33]||=[(0,i.createTextVNode)(`前往插入控件`,-1)]]),_:1})]))],8,se),[[i.vShow,G.value===`properties`]])])])],2))}});exports.default=B;
@@ -1 +1 @@
1
- require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../pro-selector-group/index.cjs`),t=require(`./types.cjs`),n=require(`./utils/advanced-controls.cjs`),r=require(`./composables/use-template-designer.cjs`),i=require(`./utils/image-url.cjs`),a=require(`./utils/template-tool-icons.cjs`);let o=require(`vue`),s=require(`ant-design-vue`),c=require(`@ant-design/icons-vue`);var l={class:`gd-contract-template-renderer__field-head`},u={class:`gd-contract-template-renderer__field-title`},d={class:`gd-contract-template-renderer__field-type-icon`,"aria-hidden":`true`},f={class:`gd-contract-template-renderer__field-title-text`},p={key:0,class:`gd-contract-template-renderer__field-required`,"aria-label":`必填`},m={key:4,class:`gd-contract-template-renderer__selector-field`},h={key:1,class:`gd-contract-template-renderer__selector-placeholder`,role:`status`},g={key:9,class:`gd-contract-template-renderer__field-checkbox`},_={key:10,class:`gd-contract-template-renderer__image-field`},v={key:0,class:`gd-contract-template-renderer__image-preview`},y={key:12,class:`gd-contract-template-renderer__field-errors`},b=(0,o.defineComponent)({name:`ContractTemplateRendererField`,__name:`ContractTemplateRendererField`,props:{variable:{},value:{type:[String,Number,Boolean,Object,Array,null]},errors:{},active:{type:Boolean},readonly:{type:Boolean},disabled:{type:Boolean},options:{},loading:{type:Boolean},loadError:{},registration:{},selectorHttp:{},selectorUrlPrefix:{}},emits:[`updateValue`,`focusVariable`],setup(b,{emit:x}){let S=b,C=x,w=(0,o.computed)(()=>S.readonly||S.disabled),T=(0,o.computed)(()=>S.value===void 0||S.value===null?``:String(S.value)),E=(0,o.computed)(()=>n.formatContractTemplateRenderValue(S.value)),D=(0,o.computed)(()=>{if(S.value===void 0||S.value===null||S.value===``)return;let e=Number(S.value);return Number.isFinite(e)?e:void 0}),O=(0,o.computed)(()=>S.value===!0||S.value===`true`||S.value===`1`||S.value===`是`||S.value===`已选`),k=(0,o.computed)(()=>S.errors.length>0),A=(0,o.computed)(()=>T.value&&i.isSafeContractImageUrl(T.value)?T.value:``),j=(0,o.computed)(()=>t.isContractTemplateFieldType(S.variable.type)?S.variable.type:`text`),M=(0,o.computed)(()=>a.resolveFieldTypeIcon(j.value)),N=(0,o.computed)(()=>r.getFieldOption(j.value).label),P=(0,o.ref)(!1),F=(0,o.computed)(()=>S.variable.type===`user-selector`?`user`:S.variable.type===`role-selector`?`role`:`dept`),I=(0,o.computed)(()=>(Array.isArray(S.value)?S.value:S.value?[S.value]:[]).flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e;return[{value:String(t.value),label:t.label,type:F.value}]})),L=(0,o.computed)(()=>(S.options??S.variable.options??[]).map(e=>({...e,value:e.value,label:e.label}))),R=(0,o.computed)(()=>{if(Array.isArray(S.value))return S.value.map(e=>e.value);if(S.value&&typeof S.value==`object`)return S.value.value}),z=(0,o.computed)(()=>({modelValue:S.value,variable:S.variable,config:n.normalizeContractTemplateJsonObject(S.variable.componentConfig),readonly:S.readonly,disabled:w.value,options:L.value,loading:!!S.loading,error:S.loadError,...S.registration?.resolveProps?.({variable:S.variable,config:n.normalizeContractTemplateJsonObject(S.variable.componentConfig)})??{}}));function B(e){C(`updateValue`,e)}function V(e){if(e===null||e===``){C(`updateValue`,void 0);return}let t=Number(e);C(`updateValue`,Number.isFinite(t)?t:void 0)}function H(e){C(`updateValue`,e)}function U(e){let t=(e==null?[]:Array.isArray(e)?e:[e]).flatMap(e=>{let t=e&&typeof e==`object`&&`value`in e?e.value:e,n=L.value.find(e=>e.value===t);return n?[{value:n.value,label:n.label,type:n.type||j.value}]:[]});C(`updateValue`,S.variable.multiple&&j.value===`select`?t:t[0])}function W(e){C(`updateValue`,n.normalizeContractTemplateSelectionValues(e,j.value,!!S.variable.multiple))}function G(e){let t={variable:S.variable,config:n.normalizeContractTemplateJsonObject(S.variable.componentConfig)};C(`updateValue`,S.registration?.normalizeValue?S.registration.normalizeValue(e,t):e)}function K(e){C(`updateValue`,typeof e==`string`?e:``)}return(t,n)=>((0,o.openBlock)(),(0,o.createElementBlock)(`section`,{class:(0,o.normalizeClass)([`gd-contract-template-renderer__field`,{"is-active":b.active,"has-error":k.value}]),onClick:n[3]||=e=>C(`focusVariable`),onFocusin:n[4]||=e=>C(`focusVariable`)},[(0,o.createElementVNode)(`div`,l,[(0,o.createElementVNode)(`strong`,null,[(0,o.createElementVNode)(`span`,u,[(0,o.createVNode)((0,o.unref)(s.Tooltip),{title:N.value},{default:(0,o.withCtx)(()=>[(0,o.createElementVNode)(`span`,d,[((0,o.openBlock)(),(0,o.createBlock)((0,o.resolveDynamicComponent)(M.value)))])]),_:1},8,[`title`]),(0,o.createElementVNode)(`span`,f,[(0,o.createTextVNode)((0,o.toDisplayString)(b.variable.label||b.variable.key)+` `,1),b.variable.required?((0,o.openBlock)(),(0,o.createElementBlock)(`span`,p,`*`)):(0,o.createCommentVNode)(``,!0)])])]),(0,o.createElementVNode)(`small`,null,(0,o.toDisplayString)(b.variable.key),1)]),b.variable.type===`text`&&b.variable.multiline?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.Input).TextArea,{key:0,value:T.value,rows:b.variable.rows||3,placeholder:b.variable.placeholder||``,disabled:w.value,"onUpdate:value":B},null,8,[`value`,`rows`,`placeholder`,`disabled`])):!b.variable.type||b.variable.type===`text`?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.Input),{key:1,value:T.value,placeholder:b.variable.placeholder||``,disabled:w.value,"onUpdate:value":B},null,8,[`value`,`placeholder`,`disabled`])):b.variable.type===`select`?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.Select),{key:2,value:R.value,options:L.value,mode:b.variable.multiple?`multiple`:void 0,placeholder:b.variable.placeholder||`请选择`,disabled:w.value,loading:b.loading,"allow-clear":``,"onUpdate:value":U},null,8,[`value`,`options`,`mode`,`placeholder`,`disabled`,`loading`])):b.variable.type===`radio`?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.RadioGroup),{key:3,value:R.value,disabled:w.value,"onUpdate:value":U},{default:(0,o.withCtx)(()=>[((0,o.openBlock)(!0),(0,o.createElementBlock)(o.Fragment,null,(0,o.renderList)(L.value,e=>((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.Radio),{key:e.value,value:e.value,disabled:e.disabled},{default:(0,o.withCtx)(()=>[(0,o.createTextVNode)((0,o.toDisplayString)(e.label),1)]),_:2},1032,[`value`,`disabled`]))),128))]),_:1},8,[`value`,`disabled`])):b.variable.type===`user-selector`||b.variable.type===`dept-selector`||b.variable.type===`role-selector`||b.variable.type===`org-selector`?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,m,[b.registration?((0,o.openBlock)(),(0,o.createBlock)((0,o.resolveDynamicComponent)(b.registration?.component),(0,o.mergeProps)({key:0},z.value,{"onUpdate:modelValue":G}),null,16)):b.variable.type===`org-selector`?((0,o.openBlock)(),(0,o.createElementBlock)(`span`,h,(0,o.toDisplayString)(E.value||b.variable.placeholder||`组织架构占位(由宿主提供组件)`),1)):((0,o.openBlock)(),(0,o.createElementBlock)(o.Fragment,{key:2},[(0,o.createVNode)((0,o.unref)(s.Button),{disabled:w.value||!b.selectorHttp,title:b.selectorHttp?void 0:`请注入 selectorHttp 后使用内置选择器`,onClick:n[0]||=(0,o.withModifiers)(e=>P.value=!0,[`stop`])},{default:(0,o.withCtx)(()=>[(0,o.createTextVNode)((0,o.toDisplayString)(E.value||b.variable.placeholder||`请选择`),1)]),_:1},8,[`disabled`,`title`]),(0,o.createVNode)((0,o.unref)(e.default),{"model-value":I.value,visible:P.value,"onUpdate:visible":n[1]||=e=>P.value=e,http:b.selectorHttp,"url-prefix":b.selectorUrlPrefix,type:F.value,"is-single":!0,"hide-slot":``,"onUpdate:modelValue":W},null,8,[`model-value`,`visible`,`http`,`url-prefix`,`type`])],64))])):b.variable.type===`custom`&&b.registration?((0,o.openBlock)(),(0,o.createBlock)((0,o.resolveDynamicComponent)(b.registration?.component),(0,o.mergeProps)({key:5},z.value,{"onUpdate:modelValue":G}),null,16)):b.variable.type===`custom`?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.Alert),{key:6,type:`warning`,"show-icon":``,message:`未注册自定义控件 ${b.variable.componentKey||`(空)`}`},null,8,[`message`])):b.variable.type===`date`?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.DatePicker),{key:7,"value-format":`YYYY-MM-DD`,value:T.value,placeholder:b.variable.placeholder||``,disabled:w.value,"onUpdate:value":K},null,8,[`value`,`placeholder`,`disabled`])):b.variable.type===`number`?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.InputNumber),{key:8,value:D.value,precision:b.variable.precision,placeholder:b.variable.placeholder||``,disabled:w.value,"onUpdate:value":V},null,8,[`value`,`precision`,`placeholder`,`disabled`])):b.variable.type===`checkbox`?((0,o.openBlock)(),(0,o.createElementBlock)(`label`,g,[(0,o.createVNode)((0,o.unref)(s.Checkbox),{checked:O.value,disabled:w.value,"onUpdate:checked":H},null,8,[`checked`,`disabled`]),(0,o.createElementVNode)(`span`,null,(0,o.toDisplayString)(O.value?b.variable.checkedText||`已选`:b.variable.uncheckedText||`未选`),1)])):b.variable.type===`image`?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,_,[(0,o.createVNode)((0,o.unref)(s.Input),{value:T.value,placeholder:b.variable.placeholder||`请输入图片 URL`,disabled:w.value,"onUpdate:value":B},null,8,[`value`,`placeholder`,`disabled`]),(0,o.createVNode)((0,o.unref)(s.Tooltip),{title:`清除图片地址`},{default:(0,o.withCtx)(()=>[(0,o.createVNode)((0,o.unref)(s.Button),{"aria-label":`清除图片地址`,disabled:w.value||!T.value,onClick:n[2]||=(0,o.withModifiers)(e=>B(``),[`stop`])},{icon:(0,o.withCtx)(()=>[(0,o.createVNode)((0,o.unref)(c.DeleteOutlined))]),_:1},8,[`disabled`])]),_:1}),A.value?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,v,[(0,o.createVNode)((0,o.unref)(s.Image),{src:A.value,alt:b.variable.label||b.variable.key},null,8,[`src`,`alt`]),(0,o.createElementVNode)(`span`,null,[(0,o.createVNode)((0,o.unref)(c.EyeOutlined)),n[5]||=(0,o.createTextVNode)(` 点击图片预览`,-1)])])):(0,o.createCommentVNode)(``,!0)])):((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.Input),{key:11,value:T.value,placeholder:b.variable.placeholder||``,disabled:w.value,"onUpdate:value":B},null,8,[`value`,`placeholder`,`disabled`])),k.value?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,y,[((0,o.openBlock)(!0),(0,o.createElementBlock)(o.Fragment,null,(0,o.renderList)(b.errors,e=>((0,o.openBlock)(),(0,o.createElementBlock)(`span`,{key:`${e.id}-${e.message}`},(0,o.toDisplayString)(e.message),1))),128))])):(0,o.createCommentVNode)(``,!0),b.loadError?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.Alert),{key:13,type:`warning`,"show-icon":``,message:b.loadError},null,8,[`message`])):(0,o.createCommentVNode)(``,!0)],34))}});exports.default=b;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../pro-selector-group/index.cjs`),t=require(`./types.cjs`),n=require(`./utils/advanced-controls.cjs`),r=require(`./composables/use-template-designer.cjs`),i=require(`./utils/image-url.cjs`),a=require(`./utils/template-tool-icons.cjs`);let o=require(`vue`),s=require(`ant-design-vue`),c=require(`@ant-design/icons-vue`);var l={class:`gd-contract-template-renderer__field-head`},u={class:`gd-contract-template-renderer__field-title`},d={class:`gd-contract-template-renderer__field-type-icon`,"aria-hidden":`true`},f={class:`gd-contract-template-renderer__field-title-text`},p={key:0,class:`gd-contract-template-renderer__field-required`,"aria-label":`必填`},m={key:4,class:`gd-contract-template-renderer__selector-field`},h={key:1,class:`gd-contract-template-renderer__selector-placeholder`,role:`status`},g={key:9,class:`gd-contract-template-renderer__field-checkbox`},_={key:10,class:`gd-contract-template-renderer__image-field`},v={key:0,class:`gd-contract-template-renderer__image-preview`},y={key:12,class:`gd-contract-template-renderer__field-errors`},b=(0,o.defineComponent)({name:`ContractTemplateRendererField`,__name:`ContractTemplateRendererField`,props:{variable:{},value:{type:[String,Number,Boolean,Object,Array,null]},errors:{},active:{type:Boolean},readonly:{type:Boolean},disabled:{type:Boolean},options:{},loading:{type:Boolean},loadError:{},registration:{},selectorHttp:{},selectorUrlPrefix:{}},emits:[`updateValue`,`focusVariable`],setup(b,{emit:x}){let S=b,C=x,w=(0,o.computed)(()=>S.readonly||S.disabled),T=(0,o.computed)(()=>S.value===void 0||S.value===null?``:String(S.value)),E=(0,o.computed)(()=>n.formatContractTemplateRenderValue(S.value)),D=(0,o.computed)(()=>{if(S.value===void 0||S.value===null||S.value===``)return;let e=Number(S.value);return Number.isFinite(e)?e:void 0}),O=(0,o.computed)(()=>S.value===!0||S.value===`true`||S.value===`1`||S.value===`是`||S.value===`已选`),k=(0,o.computed)(()=>S.errors.length>0),A=(0,o.computed)(()=>T.value&&i.isSafeContractImageUrl(T.value)?T.value:``),j=(0,o.computed)(()=>t.isContractTemplateFieldType(S.variable.type)?S.variable.type:`text`),M=(0,o.computed)(()=>a.resolveFieldTypeIcon(j.value)),N=(0,o.computed)(()=>r.getFieldOption(j.value).label),P=(0,o.ref)(!1),F=(0,o.computed)(()=>S.variable.type===`user-selector`?`user`:S.variable.type===`role-selector`?`role`:`dept`),I=(0,o.computed)(()=>(Array.isArray(S.value)?S.value:S.value?[S.value]:[]).flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e;return[{value:String(t.value),label:t.label,type:F.value}]})),L=(0,o.computed)(()=>(S.options??S.variable.options??[]).map(e=>({...e,value:e.value,label:e.label}))),R=(0,o.computed)(()=>{if(Array.isArray(S.value))return S.value.map(e=>e.value);if(S.value&&typeof S.value==`object`)return S.value.value}),z=(0,o.computed)(()=>({modelValue:S.value,variable:S.variable,config:n.normalizeContractTemplateJsonObject(S.variable.componentConfig),readonly:S.readonly,disabled:w.value,options:L.value,loading:!!S.loading,error:S.loadError,...S.registration?.resolveProps?.({variable:S.variable,config:n.normalizeContractTemplateJsonObject(S.variable.componentConfig)})??{}}));function B(e){C(`updateValue`,e)}function V(e){if(e===null||e===``){C(`updateValue`,void 0);return}let t=Number(e);C(`updateValue`,Number.isFinite(t)?t:void 0)}function H(e){C(`updateValue`,e)}function U(e){let t=(e==null?[]:Array.isArray(e)?e:[e]).flatMap(e=>{let t=e&&typeof e==`object`&&`value`in e?e.value:e,n=L.value.find(e=>e.value===t);return n?[{value:n.value,label:n.label,type:n.type||j.value}]:[]});C(`updateValue`,S.variable.multiple&&j.value===`select`?t:t[0])}function W(e){C(`updateValue`,n.normalizeContractTemplateSelectionValues(e,j.value,!!S.variable.multiple))}function G(e){let t={variable:S.variable,config:n.normalizeContractTemplateJsonObject(S.variable.componentConfig)};C(`updateValue`,S.registration?.normalizeValue?S.registration.normalizeValue(e,t):e)}function K(e){C(`updateValue`,typeof e==`string`?e:``)}return(t,n)=>((0,o.openBlock)(),(0,o.createElementBlock)(`section`,{class:(0,o.normalizeClass)([`gd-contract-template-renderer__field`,{"is-active":b.active,"has-error":k.value}]),onClick:n[3]||=e=>C(`focusVariable`),onFocusin:n[4]||=e=>C(`focusVariable`)},[(0,o.createElementVNode)(`div`,l,[(0,o.createElementVNode)(`strong`,null,[(0,o.createElementVNode)(`span`,u,[(0,o.createVNode)((0,o.unref)(s.Tooltip),{title:N.value},{default:(0,o.withCtx)(()=>[(0,o.createElementVNode)(`span`,d,[((0,o.openBlock)(),(0,o.createBlock)((0,o.resolveDynamicComponent)(M.value)))])]),_:1},8,[`title`]),(0,o.createElementVNode)(`span`,f,[(0,o.createTextVNode)((0,o.toDisplayString)(b.variable.label||b.variable.key)+` `,1),b.variable.required?((0,o.openBlock)(),(0,o.createElementBlock)(`span`,p,`*`)):(0,o.createCommentVNode)(``,!0)])])]),(0,o.createElementVNode)(`small`,null,(0,o.toDisplayString)(b.variable.key),1)]),b.variable.type===`text`&&b.variable.multiline?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.Input).TextArea,{key:0,value:T.value,rows:b.variable.rows||3,placeholder:b.variable.placeholder||``,disabled:w.value,"onUpdate:value":B},null,8,[`value`,`rows`,`placeholder`,`disabled`])):!b.variable.type||b.variable.type===`text`?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.Input),{key:1,value:T.value,placeholder:b.variable.placeholder||``,disabled:w.value,"onUpdate:value":B},null,8,[`value`,`placeholder`,`disabled`])):b.variable.type===`select`?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.Select),{key:2,value:R.value,options:L.value,mode:b.variable.multiple?`multiple`:void 0,placeholder:b.variable.placeholder||`请选择`,disabled:w.value,loading:b.loading,"allow-clear":``,"onUpdate:value":U},null,8,[`value`,`options`,`mode`,`placeholder`,`disabled`,`loading`])):b.variable.type===`radio`?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.RadioGroup),{key:3,value:R.value,disabled:w.value,"onUpdate:value":U},{default:(0,o.withCtx)(()=>[((0,o.openBlock)(!0),(0,o.createElementBlock)(o.Fragment,null,(0,o.renderList)(L.value,e=>((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.Radio),{key:e.value,value:e.value,disabled:e.disabled},{default:(0,o.withCtx)(()=>[(0,o.createTextVNode)((0,o.toDisplayString)(e.label),1)]),_:2},1032,[`value`,`disabled`]))),128))]),_:1},8,[`value`,`disabled`])):b.variable.type===`user-selector`||b.variable.type===`dept-selector`||b.variable.type===`role-selector`||b.variable.type===`org-selector`?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,m,[b.registration?((0,o.openBlock)(),(0,o.createBlock)((0,o.resolveDynamicComponent)(b.registration?.component),(0,o.mergeProps)({key:0},z.value,{"onUpdate:modelValue":G}),null,16)):b.variable.type===`org-selector`?((0,o.openBlock)(),(0,o.createElementBlock)(`span`,h,(0,o.toDisplayString)(E.value||b.variable.placeholder||`组织架构占位(由宿主提供组件)`),1)):((0,o.openBlock)(),(0,o.createElementBlock)(o.Fragment,{key:2},[(0,o.createVNode)((0,o.unref)(s.Button),{disabled:w.value||!b.selectorHttp,title:b.selectorHttp?void 0:`请注入 selectorHttp 后使用内置选择器`,onClick:n[0]||=(0,o.withModifiers)(e=>P.value=!0,[`stop`])},{default:(0,o.withCtx)(()=>[(0,o.createTextVNode)((0,o.toDisplayString)(E.value||b.variable.placeholder||`请选择`),1)]),_:1},8,[`disabled`,`title`]),(0,o.createVNode)((0,o.unref)(e.default),{"model-value":I.value,visible:P.value,"onUpdate:visible":n[1]||=e=>P.value=e,http:b.selectorHttp,"url-prefix":b.selectorUrlPrefix,type:F.value,"is-single":!0,"hide-slot":``,"onUpdate:modelValue":W},null,8,[`model-value`,`visible`,`http`,`url-prefix`,`type`])],64))])):b.variable.type===`custom`&&b.registration?((0,o.openBlock)(),(0,o.createBlock)((0,o.resolveDynamicComponent)(b.registration?.component),(0,o.mergeProps)({key:5},z.value,{"onUpdate:modelValue":G}),null,16)):b.variable.type===`custom`?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.Alert),{key:6,type:`warning`,"show-icon":``,message:`未注册自定义控件 ${b.variable.componentKey||`(空)`}`},null,8,[`message`])):b.variable.type===`date`?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.DatePicker),{key:7,"value-format":`YYYY-MM-DD`,value:T.value,placeholder:b.variable.placeholder||``,disabled:w.value,"onUpdate:value":K},null,8,[`value`,`placeholder`,`disabled`])):b.variable.type===`number`?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.InputNumber),{key:8,value:D.value,precision:b.variable.precision===void 0?void 0:b.variable.precision+(b.variable.format===`percent`?2:0),placeholder:b.variable.placeholder||``,disabled:w.value,"onUpdate:value":V},null,8,[`value`,`precision`,`placeholder`,`disabled`])):b.variable.type===`checkbox`?((0,o.openBlock)(),(0,o.createElementBlock)(`label`,g,[(0,o.createVNode)((0,o.unref)(s.Checkbox),{checked:O.value,disabled:w.value,"onUpdate:checked":H},null,8,[`checked`,`disabled`]),(0,o.createElementVNode)(`span`,null,(0,o.toDisplayString)(O.value?b.variable.checkedText||`已选`:b.variable.uncheckedText||`未选`),1)])):b.variable.type===`image`?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,_,[(0,o.createVNode)((0,o.unref)(s.Input),{value:T.value,placeholder:b.variable.placeholder||`请输入图片 URL`,disabled:w.value,"onUpdate:value":B},null,8,[`value`,`placeholder`,`disabled`]),(0,o.createVNode)((0,o.unref)(s.Tooltip),{title:`清除图片地址`},{default:(0,o.withCtx)(()=>[(0,o.createVNode)((0,o.unref)(s.Button),{"aria-label":`清除图片地址`,disabled:w.value||!T.value,onClick:n[2]||=(0,o.withModifiers)(e=>B(``),[`stop`])},{icon:(0,o.withCtx)(()=>[(0,o.createVNode)((0,o.unref)(c.DeleteOutlined))]),_:1},8,[`disabled`])]),_:1}),A.value?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,v,[(0,o.createVNode)((0,o.unref)(s.Image),{src:A.value,alt:b.variable.label||b.variable.key},null,8,[`src`,`alt`]),(0,o.createElementVNode)(`span`,null,[(0,o.createVNode)((0,o.unref)(c.EyeOutlined)),n[5]||=(0,o.createTextVNode)(` 点击图片预览`,-1)])])):(0,o.createCommentVNode)(``,!0)])):((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.Input),{key:11,value:T.value,placeholder:b.variable.placeholder||``,disabled:w.value,"onUpdate:value":B},null,8,[`value`,`placeholder`,`disabled`])),k.value?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,y,[((0,o.openBlock)(!0),(0,o.createElementBlock)(o.Fragment,null,(0,o.renderList)(b.errors,e=>((0,o.openBlock)(),(0,o.createElementBlock)(`span`,{key:`${e.id}-${e.message}`},(0,o.toDisplayString)(e.message),1))),128))])):(0,o.createCommentVNode)(``,!0),b.loadError?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.Alert),{key:13,type:`warning`,"show-icon":``,message:b.loadError},null,8,[`message`])):(0,o.createCommentVNode)(``,!0)],34))}});exports.default=b;
@@ -1 +1 @@
1
- require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./types.cjs`),t=require(`./utils/advanced-controls.cjs`),n=require(`./utils/template-renderer.cjs`),r=require(`./ContractTemplateRendererField.cjs`),i=require(`./ContractTemplateRendererHeader.cjs`),a=require(`./ContractTemplateRendererPage.cjs`),o=require(`./ContractTemplateRendererValidation.cjs`);let s=require(`vue`),c=require(`ant-design-vue`),l=require(`@vueuse/core`),u=require(`@ant-design/icons-vue`);var ee={key:2,class:`gd-contract-template-renderer__empty`},te=[`data-highlighted-variable-key`],ne={class:`gd-contract-template-renderer__pages`},re=[`aria-label`,`aria-expanded`],ie={class:`gd-contract-template-renderer__panel-clip`},ae={class:`gd-contract-template-renderer__panel`},oe={class:`gd-contract-template-renderer__panel-head`},se={class:`gd-contract-template-renderer__panel-head-row`},ce={class:`gd-contract-template-renderer__panel-head-actions`},le={class:`gd-contract-template-renderer__field-group-head`},ue={class:`gd-contract-template-renderer__field-group-items`},de=[`data-field-key`],fe=.5,pe=1.5,d=.1,me=3e3,f=(0,s.defineComponent)({name:`ContractTemplateSingleRenderer`,__name:`ContractTemplateSingleRenderer`,props:{files:{},activeFileId:{},valuesByFile:{},template:{default:void 0},values:{default:void 0},interactionMode:{default:`panel`},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},title:{default:`合同填写`},showSubmitButton:{type:Boolean,default:!0},validateOnSubmit:{type:Boolean,default:!0},showValidateButton:{type:Boolean,default:!0},showResetButton:{type:Boolean,default:!0},showToolbar:{type:Boolean,default:!0},showPageMeta:{type:Boolean,default:!0},collapsiblePanel:{type:Boolean,default:!0},zoom:{default:1},controlRegistry:{default:()=>({})},optionResolver:{type:Function,default:void 0},requester:{type:Function,default:void 0},allowedRemoteOrigins:{default:()=>[]},remoteRequestTimeoutMs:{default:1e4},remoteOptionsCacheTtlMs:{default:3e4},selectorHttp:{default:void 0},selectorUrlPrefix:{default:``},contractFontBaseUrl:{default:void 0}},emits:[`update:activeFileId`,`update:valuesByFile`,`update:values`,`change`,`validate`,`submit`,`update:zoom`,`control-warning`],setup(f,{expose:he,emit:ge}){let p=f,m=ge,_e=[{label:`全部`,value:`all`},{label:`未填写`,value:`unfilled`},{label:`有错误`,value:`error`}],ve=(0,s.ref)(),h=(0,s.ref)(),ye=(0,s.ref)(),g=(0,s.ref)(n.normalizeRenderValues(p.template,p.values)),be=(0,s.ref)({...g.value}),_=(0,s.ref)(!1),v=(0,s.ref)([]),y=(0,s.ref)(!1),b=(0,s.ref)(!1),x=(0,s.ref)(``),S=(0,s.ref)(``),C=(0,s.ref)(``),xe=(0,s.ref)(0),w=(0,s.ref)(ht(p.zoom)),T=(0,s.ref)(``),E=(0,s.ref)(`all`),D=(0,s.ref)(!1),O=(0,s.ref)(new Map),k=new Map,A=new Map,j=new Map,M=new Set,{width:Se}=(0,l.useElementSize)(h),Ce=(0,s.computed)(()=>p.readonly||p.disabled),N=(0,s.computed)(()=>n.validateTemplateRenderStructure(p.template)),P=(0,s.computed)(()=>_.value?v.value:N.value),F=(0,s.computed)(()=>(Array.isArray(p.template?.variables)?p.template.variables:[]).filter(t=>!!t?.key&&e.isContractTemplateFieldType(t.type??`text`))),we=(0,s.computed)(()=>{let e={...g.value};return F.value.forEach(n=>{let r=Xe(n);if(r?.toDisplayText)try{e[n.key]=r.toDisplayText(e[n.key],{variable:n,config:t.normalizeContractTemplateJsonObject(n.componentConfig)})}catch{}}),e}),Te=(0,s.computed)(()=>F.value.filter(e=>n.isEmptyRenderValue(g.value[e.key])).length),Ee=(0,s.computed)(()=>{let e=new Map;return P.value.forEach(t=>{t.variableKey&&e.set(t.variableKey,[...e.get(t.variableKey)??[],t])}),e}),I=(0,s.computed)(()=>{let e=p.interactionMode===`panel`;return n.buildTemplateRenderPages(p.template,e?we.value:be.value,{readonly:p.readonly,disabled:p.disabled,mode:e?`display`:`control`})}),De=(0,s.computed)(()=>{let e=new Map,t=new Set(F.value.map(e=>e.key));return I.value.forEach(n=>{lt(n.contentHtml).forEach(r=>{t.has(r)&&!e.has(r)&&e.set(r,n.id)})}),e}),L=(0,s.computed)(()=>F.value.filter(at)),Oe=(0,s.computed)(()=>{let e=I.value.map((e,t)=>({id:`page:${e.id}`,pageId:e.id,title:`第 ${t+1} 页${e.title?` · ${e.title}`:``}`,allVariables:[],variables:[]})),t=new Map(e.map(e=>[e.pageId,e])),n={id:`unlocated`,title:`未定位字段`,allVariables:[],variables:[]};return F.value.forEach(e=>{let r=t.get(De.value.get(e.key)??``)??n;r.allVariables.push(e),at(e)&&r.variables.push(e)}),[...e,n].filter(e=>e.variables.length>0).map(e=>({id:e.id,title:e.title,totalCount:e.allVariables.length,variables:e.variables}))}),R=(0,s.computed)(()=>I.value.length>0),z=(0,s.computed)(()=>F.value.filter(e=>!n.isEmptyRenderValue(g.value[e.key])).length),B=(0,s.computed)(()=>F.value.filter(e=>e.required&&n.isEmptyRenderValue(g.value[e.key])).length),ke=(0,s.computed)(()=>F.value.length?Math.round(z.value/F.value.length*100):0),Ae=(0,s.computed)(()=>_.value&&v.value.length===0),je=(0,s.computed)(()=>_.value?Ae.value?`校验通过,模板与填写值均符合规则`:`发现 ${v.value.length} 个模板或填写问题`:N.value.length?`模板存在 ${N.value.length} 个问题,已安全降级展示`:``),Me=(0,s.computed)(()=>_.value?P.value.length>0||b.value:N.value.length>0);(0,s.watch)(()=>p.template,e=>{V(n.normalizeRenderValues(e,p.values),!1),He();let t=Array.isArray(e?.pages)?e.pages.map(e=>e?.id):[];t.includes(C.value)||(C.value=t.find(Boolean)??``),S.value&&!F.value.some(e=>e.key===S.value)&&Ke()},{deep:!0}),(0,s.watch)(()=>[p.template?.variables,p.optionResolver,p.requester,p.allowedRemoteOrigins,p.remoteRequestTimeoutMs,p.remoteOptionsCacheTtlMs],()=>{Qe()},{deep:!0,immediate:!0}),(0,s.watch)(()=>p.values,e=>{let t=n.normalizeRenderValues(p.template,e);gt(t,g.value)||(V(t,!1,{refreshInlineHtml:p.interactionMode!==`inline`}),He())},{deep:!0}),(0,s.watch)(()=>p.interactionMode,e=>{e===`inline`&&(be.value={...g.value})}),(0,s.watch)(()=>p.collapsiblePanel,e=>{e||(D.value=!1)}),(0,s.watch)(()=>p.zoom,e=>w.value=ht(e)),(0,s.watch)(I,e=>{!C.value&&e.length&&(C.value=e[0].id)},{immediate:!0});function V(e,t=!0,n={}){g.value={...e},n.refreshInlineHtml!==!1&&(be.value={...e}),t&&(m(`update:values`,{...g.value}),m(`change`,{...g.value}))}function H(e,t){!e||Ce.value||(V({...g.value,[e]:t},!0,{refreshInlineHtml:p.interactionMode!==`inline`}),_.value&&Re())}function Ne(e){if(p.interactionMode!==`inline`)return;let t=e.target;if(!(t instanceof HTMLInputElement)&&!(t instanceof HTMLTextAreaElement))return;let n=t.dataset.key||``;n&&(t instanceof HTMLInputElement&&t.type===`checkbox`?H(n,t.checked):t instanceof HTMLInputElement&&t.type===`number`?H(n,t.value===``?void 0:t.valueAsNumber):H(n,t.value))}function Pe(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`[data-render-page-id]`);n?.dataset.renderPageId&&(C.value=n.dataset.renderPageId);let r=t.closest(`[data-contract-render-wrapper], [data-contract-render-control]`)?.dataset.key||``;r&&q(r)}function Fe(e){let t=I.value.find(t=>t.id===e.pageId),n=F.value.some(t=>t.key===e.key);if(!(!t||!n||!lt(t.contentHtml).has(e.key))&&!(e.kind===`input`&&p.interactionMode!==`inline`)){if(C.value=e.pageId,e.kind===`input`){H(e.key,e.value);return}q(e.key)}}function Ie(e){if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target;!(t instanceof HTMLElement)||!t.dataset.key||(e.preventDefault(),q(t.dataset.key))}function U(){return{...g.value}}function Le(e){V(n.normalizeRenderValues(p.template,e))}function Re(){let e=n.validateTemplateRenderValues(p.template,g.value);return Ue(e),m(`validate`,e),e}function ze(){let e=n.resolveTemplateRenderSubmitErrors(p.template,g.value,p.validateOnSubmit);if((p.validateOnSubmit||e.length)&&(Ue(e),m(`validate`,e)),e.length)return Je(e[0]),!1;let t=U();return m(`submit`,t),t}function Be(){return V(n.buildInitialRenderValues(p.template)),He(),U()}function Ve(){Ce.value||c.Modal.confirm({title:`重置填写内容?`,content:`将恢复模板中的默认值,当前未提交的填写内容会被覆盖。`,okText:`确认重置`,cancelText:`取消`,onOk:()=>Be()})}function He(){_.value=!1,v.value=[],y.value=!1,b.value=!1,G()}function Ue(e){if(v.value=e,_.value=!0,y.value=!1,e.length){b.value=!1,G();return}We()}let W;function G(){W&&=(clearTimeout(W),void 0)}function We(){G(),b.value=!0,W=setTimeout(()=>{b.value=!1,W=void 0},me)}function K(e){q(e,!0)}function Ge(e){p.interactionMode===`panel`&&(D.value&&=!1,F.value.some(t=>t.key===e)&&!L.value.some(t=>t.key===e)&&ot())}function q(e,t=!1){if(!e)return;Ge(e),S.value=e,x.value=e;let n=De.value.get(e);n&&(C.value=n),t&&(xe.value+=1),(0,s.nextTick)(()=>{qe(e);let r=n?h.value?.querySelector(`[data-render-page-id="${Q(n)}"]`):void 0;t&&r?.scrollIntoView({behavior:`smooth`,block:`center`,inline:`center`}),p.interactionMode===`panel`&&ye.value?.querySelector(`[data-field-key="${Q(e)}"]`)?.scrollIntoView({behavior:`smooth`,block:`nearest`})})}function Ke(){S.value=``,x.value=``,qe(``)}function qe(e){h.value?.querySelectorAll(`[data-contract-render-wrapper], [data-contract-render-control]`).forEach(t=>t.classList.toggle(`is-active`,!!e&&t.dataset.key===e))}function Je(e){e.variableKey?(K(e.variableKey),p.interactionMode===`panel`&&(0,s.nextTick)(()=>X(e.variableKey))):e.pageId&&mt(e.pageId)}function Ye(e){return Ee.value.get(e)??[]}function J(e){return O.value.get(e.key)??{options:e.options??[],loading:!1}}function Xe(e){let t=e.componentKey||e.type||``;return t?p.controlRegistry?.[t]:void 0}function Y(e,t){let n=new Map(O.value);n.set(e,t),O.value=n}function Ze(e){m(`control-warning`,e)}async function Qe(){k.forEach(e=>e.abort()),k.clear(),A.clear(),M.clear();let e=Array.isArray(p.template?.variables)?p.template.variables:[];await Promise.all(e.map(async e=>{if(!e?.key)return;let t=Array.isArray(e.options)?e.options.map(e=>({...e})):[];if(e.dataSource?await $e(e,t):Y(e.key,{options:t,loading:!1}),e.type===`custom`&&!Xe(e)){let t=e.componentKey||``,n=`${e.key}:${t}`;M.has(n)||(M.add(n),Ze({code:`CONTROL_COMPONENT_MISSING`,variableKey:e.key,componentKey:t,message:`${e.label||e.key} 未注册自定义控件 ${t||`(空)`}`}))}}))}async function $e(e,n){let r=e.dataSource;if(!r)return;let i=new AbortController;k.set(e.key,i),Y(e.key,{options:n,loading:!0});let a=et(e),o=Date.now(),s=A.get(a);if(s&&s.expiresAt>o){Y(e.key,{options:s.options,loading:!1}),k.delete(e.key);return}let c=`CONTROL_OPTIONS_LOAD_FAILED`;try{r.kind===`url`&&!t.isAllowedContractTemplateRemoteUrl(r.url,p.allowedRemoteOrigins)&&(c=`CONTROL_REMOTE_URL_BLOCKED`);let o=j.get(a);o||(o=tt(e,r,c,i),j.set(a,o),o.finally(()=>{j.get(a)===o&&j.delete(a)}).catch(()=>void 0));let s=await o;if(i.signal.aborted)return;let l=Math.max(0,Number(p.remoteOptionsCacheTtlMs)||0);l>0&&A.set(a,{options:s,expiresAt:Date.now()+l}),Y(e.key,{options:s.length?s:n,loading:!1})}catch(t){let r=t instanceof Error&&t.message.startsWith(`高级控件请求超时`);if(i.signal.aborted&&!r)return;let a=t instanceof Error?t.message:`高级控件选项加载失败`;Y(e.key,{options:n,loading:!1,error:a}),Ze({code:c,variableKey:e.key,message:`${e.label||e.key}:${a}`,cause:t})}finally{k.get(e.key)===i&&k.delete(e.key)}}function et(e){try{return JSON.stringify([e.type,e.dataSource])}catch{return`${e.key}:${e.type}`}}async function tt(e,n,r,i){let a;if(n.kind===`resolver`){if(!p.optionResolver)throw Error(`缺少 resolver ${n.resolverKey} 的宿主实现`);a=await p.optionResolver({resolverKey:n.resolverKey,params:n.params,variable:e,signal:i.signal})}else{if(!t.isAllowedContractTemplateRemoteUrl(n.url,p.allowedRemoteOrigins))throw Error(`远程地址未在 allowlist 中:${n.url}`);if(!p.requester)throw Error(`缺少宿主 requester,组件库不会直接发起网络请求`);let r=t.normalizeContractTemplateRequestTimeout(n.timeoutMs,p.remoteRequestTimeoutMs);a=await nt(p.requester({url:n.url,method:n.method||`GET`,params:n.params,headers:n.headers,timeoutMs:r,signal:i.signal,variable:e}),i,r)}return t.normalizeContractTemplateControlOptions(a,n.kind===`url`?n:void 0,e.type||`select`)}function nt(e,t,n){return new Promise((r,i)=>{let a=()=>{clearTimeout(c),t.signal.removeEventListener(`abort`,s)},o=e=>{a(),e()},s=()=>o(()=>i(Error(`高级控件请求已取消`))),c=setTimeout(()=>{o(()=>i(Error(`高级控件请求超时(${n}ms)`))),t.abort()},n);t.signal.addEventListener(`abort`,s,{once:!0}),e.then(e=>o(()=>r(e)),e=>o(()=>i(e)))})}function rt(e){let t=J(e);return{variable:e,value:g.value[e.key],errors:Ye(e.key),active:S.value===e.key,readonly:p.readonly,disabled:p.disabled,options:t.options,loading:t.loading,loadError:t.error,updateValue:t=>H(e.key,t),focusVariable:()=>K(e.key)}}function it(){let e=F.value;if(!e.length)return;let t=e.findIndex(e=>e.key===S.value),r=t<0?0:t+1;for(let t=0;t<e.length;t+=1){let i=e[(r+t)%e.length];if(n.isEmptyRenderValue(g.value[i.key])){K(i.key);return}}}function at(e){let t=T.value.trim().toLocaleLowerCase();return!t||e.key.toLocaleLowerCase().includes(t)||(e.label??``).toLocaleLowerCase().includes(t)?E.value===`unfilled`?n.isEmptyRenderValue(g.value[e.key]):E.value===`error`?Ye(e.key).length>0:!0:!1}function ot(){T.value=``,E.value=`all`}function st(e,t){let n=L.value;if(!n.length)return;let r=n.findIndex(t=>t.key===e),i=n[r<0?0:(r+t+n.length)%n.length]?.key;i&&(K(i),(0,s.nextTick)(()=>X(i)))}function X(e){(ye.value?.querySelector(`[data-field-key="${Q(e)}"]`))?.querySelector(`input:not([disabled]), textarea:not([disabled]), button:not([disabled])`)?.focus()}function ct(e){if(e.key!==`Enter`||e.target instanceof HTMLTextAreaElement)return;let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`[data-field-key]`)?.dataset.fieldKey;n&&(e.preventDefault(),st(n,e.shiftKey?-1:1))}function lt(e){let t=new Set;if(typeof DOMParser<`u`)return new DOMParser().parseFromString(e,`text/html`).querySelectorAll(`[data-key]`).forEach(e=>{let n=e.getAttribute(`data-key`)?.trim();n&&t.add(n)}),t;let n=/\bdata-key\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s>]+))/gi,r;for(;r=n.exec(e);){let e=(r[1]??r[2]??r[3]??``).trim();e&&t.add(e)}return t}function ut(){!p.collapsiblePanel||p.interactionMode!==`panel`||(D.value=!D.value)}function Z(e){let t=ht(e);return w.value=t,m(`update:zoom`,t),t}function dt(){return Z(1)}function ft(){return w.value}function pt(){let e=Math.max(...I.value.map(e=>e.width),1);return Z(Math.max(0,Se.value-48)/e)}function mt(e){e&&(C.value=e,(0,s.nextTick)(()=>{h.value?.querySelector(`[data-render-page-id="${Q(e)}"]`)?.scrollIntoView({behavior:`smooth`,block:`start`,inline:`center`})}))}function ht(e){let t=Number(e);return Number.isFinite(t)?Math.min(pe,Math.max(fe,Math.round(t*100)/100)):1}function Q(e){return e.replaceAll(`\\`,`\\\\`).replaceAll(`"`,`\\"`)}function gt(e,t){let n=new Set([...Object.keys(e),...Object.keys(t)]);return Array.from(n).every(n=>e[n]===t[n])}function _t(e){!(e.ctrlKey||e.metaKey)||!R.value||(e.preventDefault(),Z(e.deltaY>0?w.value-d:w.value+d))}let $;function vt(){$?.removeEventListener(`wheel`,_t),$=void 0}function yt(e){vt(),e&&(e.addEventListener(`wheel`,_t,{passive:!1}),$=e)}return(0,s.watch)(h,e=>{yt(e)},{immediate:!0}),(0,s.onBeforeUnmount)(()=>{vt(),G(),k.forEach(e=>e.abort()),k.clear()}),he({showValidation:Ue,focusError:e=>{Je(e),e.variableKey&&(0,s.nextTick)(()=>X(e.variableKey))},getValues:U,setValues:Le,validate:Re,submit:ze,resetValues:Be,scrollToVariable:K,setZoom:Z,resetZoom:dt,getZoom:ft,fitWidth:pt,scrollToPage:mt}),(e,t)=>((0,s.openBlock)(),(0,s.createElementBlock)(`section`,{ref_key:`rendererElement`,ref:ve,class:(0,s.normalizeClass)([`gd-contract-template-renderer`,{"is-disabled":f.disabled,"is-readonly":f.readonly,"is-panel":f.interactionMode===`panel`,"is-inline":f.interactionMode===`inline`}]),onClick:Pe,onKeydown:Ie,onInput:Ne,onChange:Ne},[(0,s.renderSlot)(e.$slots,`fileBar`),R.value?((0,s.openBlock)(),(0,s.createBlock)(i.default,{key:0,title:f.title,"filled-count":z.value,"total-count":F.value.length,"progress-percent":ke.value,"required-missing-count":B.value,zoom:w.value,pages:I.value,"active-page-id":C.value,"min-zoom":fe,"max-zoom":pe,"show-toolbar":f.showToolbar,"show-validate-button":f.showValidateButton,"show-reset-button":f.showResetButton,"show-submit-button":f.showSubmitButton,"show-panel-toggle":f.interactionMode===`panel`&&f.collapsiblePanel,"panel-collapsed":D.value,readonly:f.readonly,disabled:f.disabled,onZoomIn:t[0]||=e=>Z(w.value+d),onZoomOut:t[1]||=e=>Z(w.value-d),onResetZoom:dt,onFitWidth:pt,onSelectPage:mt,onValidate:Re,onReset:Ve,onSubmit:ze,onTogglePanel:ut},{extra:(0,s.withCtx)(()=>[(0,s.renderSlot)(e.$slots,`headerExtra`)]),_:3},8,[`title`,`filled-count`,`total-count`,`progress-percent`,`required-missing-count`,`zoom`,`pages`,`active-page-id`,`show-toolbar`,`show-validate-button`,`show-reset-button`,`show-submit-button`,`show-panel-toggle`,`panel-collapsed`,`readonly`,`disabled`])):(0,s.createCommentVNode)(``,!0),Me.value?((0,s.openBlock)(),(0,s.createBlock)(o.default,{key:1,passed:Ae.value,summary:je.value,errors:P.value,expanded:y.value,onToggle:t[2]||=e=>y.value=!y.value,onFocusError:Je},null,8,[`passed`,`summary`,`errors`,`expanded`])):(0,s.createCommentVNode)(``,!0),R.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:3,class:(0,s.normalizeClass)([`gd-contract-template-renderer__workspace`,{"is-inline":f.interactionMode===`inline`}])},[(0,s.createElementVNode)(`div`,{ref_key:`pagesViewportElement`,ref:h,class:`gd-contract-template-renderer__pages-viewport`,"data-highlighted-variable-key":x.value},[(0,s.createElementVNode)(`div`,ne,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(I.value,(e,t)=>((0,s.openBlock)(),(0,s.createBlock)(a.default,{key:e.id,page:e,index:t,total:I.value.length,zoom:w.value,"show-meta":f.showPageMeta,"font-base-url":f.contractFontBaseUrl,"active-key":x.value,"scroll-request":xe.value,onInteraction:Fe},null,8,[`page`,`index`,`total`,`zoom`,`show-meta`,`font-base-url`,`active-key`,`scroll-request`]))),128))])],8,te),f.interactionMode===`panel`?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:(0,s.normalizeClass)([`gd-contract-template-renderer__panel-wrap`,{"is-collapsed":D.value&&f.collapsiblePanel}])},[f.collapsiblePanel?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.Tooltip),{key:0,title:D.value?`展开填写面板`:`收起填写面板`},{default:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-renderer__panel-handle`,"aria-label":D.value?`展开填写面板`:`收起填写面板`,"aria-expanded":!D.value,onClick:t[3]||=e=>D.value=!D.value},[D.value?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(u.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(u.RightOutlined),{key:1,"aria-hidden":`true`}))],8,re)]),_:1},8,[`title`])):(0,s.createCommentVNode)(``,!0),(0,s.createElementVNode)(`div`,ie,[(0,s.createElementVNode)(`aside`,ae,[(0,s.createElementVNode)(`div`,oe,[(0,s.createElementVNode)(`div`,se,[(0,s.createElementVNode)(`div`,null,[t[6]||=(0,s.createElementVNode)(`strong`,null,`填写项`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(z.value)+` / `+(0,s.toDisplayString)(F.value.length)+` 已填写`,1)]),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(B.value?`${B.value} 项必填未完成`:`必填项已完成`),1)]),(0,s.createVNode)((0,s.unref)(c.Input),{value:T.value,"onUpdate:value":t[4]||=e=>T.value=e,"allow-clear":``,size:`small`,class:`gd-contract-template-renderer__field-search`,placeholder:`搜索字段名称或标识`},{prefix:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.SearchOutlined),{"aria-hidden":`true`})]),_:1},8,[`value`]),(0,s.createElementVNode)(`div`,ce,[(0,s.createVNode)((0,s.unref)(c.Segmented),{value:E.value,"onUpdate:value":t[5]||=e=>E.value=e,size:`small`,class:`gd-contract-template-renderer__field-filter`,options:_e},null,8,[`value`]),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:!Te.value,onClick:it},{default:(0,s.withCtx)(()=>[...t[7]||=[(0,s.createTextVNode)(` 下一个未填项 `,-1)]]),_:1},8,[`disabled`])]),(0,s.createVNode)((0,s.unref)(c.Progress),{percent:ke.value,size:`small`,"show-info":!1},null,8,[`percent`])]),L.value.length?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:1,ref_key:`fieldListElement`,ref:ye,class:`gd-contract-template-renderer__field-list`,onKeydownCapture:ct},[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(Oe.value,t=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:t.id,class:`gd-contract-template-renderer__field-group`},[(0,s.createElementVNode)(`div`,le,[(0,s.createElementVNode)(`strong`,null,(0,s.toDisplayString)(t.title),1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(t.variables.length)+` / `+(0,s.toDisplayString)(t.totalCount)+` 项`,1)]),(0,s.createElementVNode)(`div`,ue,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(t.variables,t=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:t.id||t.key,"data-field-key":t.key},[(0,s.renderSlot)(e.$slots,`field`,(0,s.mergeProps)({ref_for:!0},rt(t)),()=>[(0,s.createVNode)(r.default,{variable:t,value:g.value[t.key],errors:Ye(t.key),active:S.value===t.key,readonly:f.readonly,disabled:f.disabled,options:J(t).options,loading:J(t).loading,"load-error":J(t).error,registration:Xe(t),"selector-http":f.selectorHttp,"selector-url-prefix":f.selectorUrlPrefix,onUpdateValue:e=>H(t.key,e),onFocusVariable:e=>K(t.key)},null,8,[`variable`,`value`,`errors`,`active`,`readonly`,`disabled`,`options`,`loading`,`load-error`,`registration`,`selector-http`,`selector-url-prefix`,`onUpdateValue`,`onFocusVariable`])])],8,de))),128))])]))),128))],544)):((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.Empty),{key:0,class:`gd-contract-template-renderer__field-empty`,description:F.value.length?`没有符合条件的填写项`:`暂无填写项`,image:(0,s.unref)(c.Empty).PRESENTED_IMAGE_SIMPLE},(0,s.createSlots)({default:(0,s.withCtx)(()=>[T.value||E.value!==`all`?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.Button),{key:0,type:`link`,size:`small`,onClick:ot},{default:(0,s.withCtx)(()=>[...t[9]||=[(0,s.createTextVNode)(`清除筛选`,-1)]]),_:1})):(0,s.createCommentVNode)(``,!0)]),_:2},[T.value||E.value!==`all`?{name:`description`,fn:(0,s.withCtx)(()=>[t[8]||=(0,s.createElementVNode)(`span`,null,`没有符合条件的填写项`,-1)]),key:`0`}:void 0]),1032,[`description`,`image`]))])])],2)):(0,s.createCommentVNode)(``,!0)],2)):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,ee,[(0,s.createVNode)((0,s.unref)(c.Empty),{description:`暂无可渲染的合同页面`,image:(0,s.unref)(c.Empty).PRESENTED_IMAGE_SIMPLE},null,8,[`image`])]))],34))}});exports.default=f;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./types.cjs`),t=require(`./utils/advanced-controls.cjs`),n=require(`./utils/template-renderer.cjs`),r=require(`./ContractTemplateRendererField.cjs`),i=require(`./ContractTemplateRendererHeader.cjs`),a=require(`./ContractTemplateRendererPage.cjs`),o=require(`./ContractTemplateRendererValidation.cjs`);let s=require(`vue`),c=require(`ant-design-vue`),l=require(`@vueuse/core`),ee=require(`@ant-design/icons-vue`);var te={key:2,class:`gd-contract-template-renderer__empty`},ne=[`data-highlighted-variable-key`],re={class:`gd-contract-template-renderer__pages`},ie=[`aria-label`,`aria-expanded`],ae={class:`gd-contract-template-renderer__panel-clip`},oe={class:`gd-contract-template-renderer__panel`},se={class:`gd-contract-template-renderer__panel-head`},ce={class:`gd-contract-template-renderer__panel-head-row`},le={class:`gd-contract-template-renderer__panel-head-actions`},ue={class:`gd-contract-template-renderer__field-group-head`},de={class:`gd-contract-template-renderer__field-group-items`},fe=[`data-field-key`],pe=.5,me=1.5,u=.1,he=3e3,d=(0,s.defineComponent)({name:`ContractTemplateSingleRenderer`,__name:`ContractTemplateSingleRenderer`,props:{files:{},activeFileId:{},valuesByFile:{},template:{default:void 0},values:{default:void 0},interactionMode:{default:`panel`},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},title:{default:`合同填写`},showSubmitButton:{type:Boolean,default:!0},validateOnSubmit:{type:Boolean,default:!0},showValidateButton:{type:Boolean,default:!0},showResetButton:{type:Boolean,default:!0},showToolbar:{type:Boolean,default:!0},showPageMeta:{type:Boolean,default:!0},collapsiblePanel:{type:Boolean,default:!0},zoom:{default:1},controlRegistry:{default:()=>({})},optionResolver:{type:Function,default:void 0},requester:{type:Function,default:void 0},allowedRemoteOrigins:{default:()=>[]},remoteRequestTimeoutMs:{default:1e4},remoteOptionsCacheTtlMs:{default:3e4},selectorHttp:{default:void 0},selectorUrlPrefix:{default:``},contractFontBaseUrl:{default:void 0}},emits:[`update:activeFileId`,`update:valuesByFile`,`update:values`,`change`,`validate`,`submit`,`update:zoom`,`control-warning`],setup(d,{expose:ge,emit:_e}){let f=d,p=_e,ve=[{label:`全部`,value:`all`},{label:`未填写`,value:`unfilled`},{label:`有错误`,value:`error`}],ye=(0,s.ref)(),m=(0,s.ref)(),h=(0,s.ref)(),g=(0,s.ref)(n.normalizeRenderValues(f.template,f.values)),be=(0,s.ref)({...g.value}),_=(0,s.ref)(!1),v=(0,s.ref)([]),y=(0,s.ref)([]),b=(0,s.ref)(!1),x=(0,s.ref)(!1),S=(0,s.ref)(``),C=(0,s.ref)(``),w=(0,s.ref)(``),xe=(0,s.ref)(0),T=(0,s.ref)(gt(f.zoom)),E=(0,s.ref)(``),D=(0,s.ref)(`all`),O=(0,s.ref)(!1),Se=(0,s.ref)(new Map),k=new Map,A=new Map,j=new Map,M=new Set,{width:Ce}=(0,l.useElementSize)(m),N=(0,s.computed)(()=>f.readonly||f.disabled),we=(0,s.computed)(()=>f.interactionMode===`inline`&&!N.value),Te=(0,s.computed)(()=>n.validateTemplateRenderStructure(f.template)),P=(0,s.computed)(()=>_.value?v.value:[...Te.value,...y.value]),F=(0,s.computed)(()=>(Array.isArray(f.template?.variables)?f.template.variables:[]).filter(t=>!!t?.key&&e.isContractTemplateFieldType(t.type??`text`))),Ee=(0,s.computed)(()=>{let e={...g.value};return F.value.forEach(n=>{let r=Ze(n);if(r?.toDisplayText)try{e[n.key]=r.toDisplayText(e[n.key],{variable:n,config:t.normalizeContractTemplateJsonObject(n.componentConfig)})}catch{}}),e}),De=(0,s.computed)(()=>F.value.filter(e=>n.isEmptyRenderValue(g.value[e.key])).length),Oe=(0,s.computed)(()=>{let e=new Map;return P.value.forEach(t=>{t.variableKey&&e.set(t.variableKey,[...e.get(t.variableKey)??[],t])}),e}),I=(0,s.computed)(()=>n.buildTemplateRenderPages(f.template,we.value?be.value:Ee.value,{readonly:f.readonly,disabled:f.disabled,mode:we.value?`control`:`display`})),ke=(0,s.computed)(()=>{let e=new Map,t=new Set(F.value.map(e=>e.key));return I.value.forEach(n=>{dt(n.contentHtml).forEach(r=>{t.has(r)&&!e.has(r)&&e.set(r,n.id)})}),e}),Ae=(0,s.computed)(()=>F.value.filter(ot)),je=(0,s.computed)(()=>{let e=I.value.map((e,t)=>({id:`page:${e.id}`,pageId:e.id,title:`第 ${t+1} 页${e.title?` · ${e.title}`:``}`,allVariables:[],variables:[]})),t=new Map(e.map(e=>[e.pageId,e])),n={id:`unlocated`,title:`未定位字段`,allVariables:[],variables:[]};return F.value.forEach(e=>{let r=t.get(ke.value.get(e.key)??``)??n;r.allVariables.push(e),ot(e)&&r.variables.push(e)}),[...e,n].filter(e=>e.variables.length>0).map(e=>({id:e.id,title:e.title,totalCount:e.allVariables.length,variables:e.variables}))}),Me=(0,s.computed)(()=>I.value.length>0),L=(0,s.computed)(()=>F.value.filter(e=>!n.isEmptyRenderValue(g.value[e.key])).length),R=(0,s.computed)(()=>F.value.filter(e=>e.required&&n.isEmptyRenderValue(g.value[e.key])).length),Ne=(0,s.computed)(()=>F.value.length?Math.round(L.value/F.value.length*100):0),Pe=(0,s.computed)(()=>_.value&&v.value.length===0),Fe=(0,s.computed)(()=>_.value?Pe.value?`校验通过,模板与填写值均符合规则`:`发现 ${v.value.length} 个模板或填写问题`:y.value.length?`发现 ${P.value.length} 个模板或填写问题`:Te.value.length?`模板存在 ${Te.value.length} 个问题,已安全降级展示`:``),Ie=(0,s.computed)(()=>_.value?P.value.length>0||x.value:P.value.length>0);(0,s.watch)(()=>f.template,e=>{z(n.normalizeRenderValues(e,f.values),!1),U();let t=Array.isArray(e?.pages)?e.pages.map(e=>e?.id):[];t.includes(w.value)||(w.value=t.find(Boolean)??``),C.value&&!F.value.some(e=>e.key===C.value)&&qe()},{deep:!0}),(0,s.watch)(()=>[f.template?.variables,f.optionResolver,f.requester,f.allowedRemoteOrigins,f.remoteRequestTimeoutMs,f.remoteOptionsCacheTtlMs],()=>{$e()},{deep:!0,immediate:!0}),(0,s.watch)(()=>f.values,e=>{let t=n.normalizeRenderValues(f.template,e);_t(t,g.value)||(z(t,!1,{refreshInlineHtml:f.interactionMode!==`inline`}),U())},{deep:!0}),(0,s.watch)(we,e=>{e&&(be.value={...g.value})}),(0,s.watch)(()=>f.collapsiblePanel,e=>{e||(O.value=!1)}),(0,s.watch)(()=>f.zoom,e=>T.value=gt(e)),(0,s.watch)(I,e=>{!w.value&&e.length&&(w.value=e[0].id)},{immediate:!0});function z(e,t=!0,n={}){g.value={...e},n.refreshInlineHtml!==!1&&(be.value={...e}),t&&(p(`update:values`,{...g.value}),p(`change`,{...g.value}))}function B(e,t){if(!e||N.value)return;if(z({...g.value,[e]:t},!0,{refreshInlineHtml:f.interactionMode!==`inline`}),_.value){H();return}let r=F.value.find(t=>t.key===e);r&&(r.type??`text`)===`text`&&(y.value=[...y.value.filter(t=>t.variableKey!==e),...n.validateTemplateTextOverflow(r,t)],p(`validate`,P.value))}function Le(e){if(f.interactionMode!==`inline`)return;let t=e.target;if(!(t instanceof HTMLInputElement)&&!(t instanceof HTMLTextAreaElement))return;let n=t.dataset.key||``;n&&(t instanceof HTMLInputElement&&t.type===`checkbox`?B(n,t.checked):t instanceof HTMLInputElement&&t.type===`number`?B(n,t.value===``?void 0:t.valueAsNumber):B(n,t.value))}function Re(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`[data-render-page-id]`);n?.dataset.renderPageId&&(w.value=n.dataset.renderPageId);let r=t.closest(`[data-contract-render-wrapper], [data-contract-render-control]`)?.dataset.key||``;r&&J(r)}function ze(e){let t=I.value.find(t=>t.id===e.pageId),n=F.value.some(t=>t.key===e.key);if(!(!t||!n||!dt(t.contentHtml).has(e.key))&&!(e.kind===`input`&&f.interactionMode!==`inline`)){if(w.value=e.pageId,e.kind===`input`){B(e.key,e.value);return}J(e.key)}}function Be(e){if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target;!(t instanceof HTMLElement)||!t.dataset.key||(e.preventDefault(),J(t.dataset.key))}function V(){return{...g.value}}function Ve(e){z(n.normalizeRenderValues(f.template,e))}function H(){let e=n.validateTemplateRenderValues(f.template,g.value);return W(e),p(`validate`,e),e}function He(){let e=n.resolveTemplateRenderSubmitErrors(f.template,g.value,f.validateOnSubmit);if((f.validateOnSubmit||e.length)&&(W(e),p(`validate`,e)),e.length)return Ye(e[0]),!1;let t=V();return p(`submit`,t),t}function Ue(){return z(n.buildInitialRenderValues(f.template)),U(),V()}function We(){N.value||c.Modal.confirm({title:`重置填写内容?`,content:`将恢复模板中的默认值,当前未提交的填写内容会被覆盖。`,okText:`确认重置`,cancelText:`取消`,onOk:()=>Ue()})}function U(){y.value=[],_.value=!1,v.value=[],b.value=!1,x.value=!1,K()}function W(e){if(y.value=[],v.value=e,_.value=!0,b.value=!1,e.length){x.value=!1,K();return}Ge()}let G;function K(){G&&=(clearTimeout(G),void 0)}function Ge(){K(),x.value=!0,G=setTimeout(()=>{x.value=!1,G=void 0},he)}function q(e){J(e,!0)}function Ke(e){f.interactionMode===`panel`&&(O.value&&=!1,F.value.some(t=>t.key===e)&&!Ae.value.some(t=>t.key===e)&&st())}function J(e,t=!1){if(!e)return;Ke(e),C.value=e,S.value=e;let n=ke.value.get(e);n&&(w.value=n),t&&(xe.value+=1),(0,s.nextTick)(()=>{Je(e);let r=n?m.value?.querySelector(`[data-render-page-id="${$(n)}"]`):void 0;t&&r?.scrollIntoView({behavior:`smooth`,block:`center`,inline:`center`}),f.interactionMode===`panel`&&h.value?.querySelector(`[data-field-key="${$(e)}"]`)?.scrollIntoView({behavior:`smooth`,block:`nearest`})})}function qe(){C.value=``,S.value=``,Je(``)}function Je(e){m.value?.querySelectorAll(`[data-contract-render-wrapper], [data-contract-render-control]`).forEach(t=>t.classList.toggle(`is-active`,!!e&&t.dataset.key===e))}function Ye(e){e.variableKey?(q(e.variableKey),f.interactionMode===`panel`&&(0,s.nextTick)(()=>lt(e.variableKey))):e.pageId&&Q(e.pageId)}function Xe(e){return Oe.value.get(e)??[]}function Y(e){return Se.value.get(e.key)??{options:e.options??[],loading:!1}}function Ze(e){let t=e.componentKey||e.type||``;return t?f.controlRegistry?.[t]:void 0}function X(e,t){let n=new Map(Se.value);n.set(e,t),Se.value=n}function Qe(e){p(`control-warning`,e)}async function $e(){k.forEach(e=>e.abort()),k.clear(),A.clear(),M.clear();let e=Array.isArray(f.template?.variables)?f.template.variables:[];await Promise.all(e.map(async e=>{if(!e?.key)return;let t=Array.isArray(e.options)?e.options.map(e=>({...e})):[];if(e.dataSource?await et(e,t):X(e.key,{options:t,loading:!1}),e.type===`custom`&&!Ze(e)){let t=e.componentKey||``,n=`${e.key}:${t}`;M.has(n)||(M.add(n),Qe({code:`CONTROL_COMPONENT_MISSING`,variableKey:e.key,componentKey:t,message:`${e.label||e.key} 未注册自定义控件 ${t||`(空)`}`}))}}))}async function et(e,n){let r=e.dataSource;if(!r)return;let i=new AbortController;k.set(e.key,i),X(e.key,{options:n,loading:!0});let a=tt(e),o=Date.now(),s=A.get(a);if(s&&s.expiresAt>o){X(e.key,{options:s.options,loading:!1}),k.delete(e.key);return}let c=`CONTROL_OPTIONS_LOAD_FAILED`;try{r.kind===`url`&&!t.isAllowedContractTemplateRemoteUrl(r.url,f.allowedRemoteOrigins)&&(c=`CONTROL_REMOTE_URL_BLOCKED`);let o=j.get(a);o||(o=nt(e,r,c,i),j.set(a,o),o.finally(()=>{j.get(a)===o&&j.delete(a)}).catch(()=>void 0));let s=await o;if(i.signal.aborted)return;let l=Math.max(0,Number(f.remoteOptionsCacheTtlMs)||0);l>0&&A.set(a,{options:s,expiresAt:Date.now()+l}),X(e.key,{options:s.length?s:n,loading:!1})}catch(t){let r=t instanceof Error&&t.message.startsWith(`高级控件请求超时`);if(i.signal.aborted&&!r)return;let a=t instanceof Error?t.message:`高级控件选项加载失败`;X(e.key,{options:n,loading:!1,error:a}),Qe({code:c,variableKey:e.key,message:`${e.label||e.key}:${a}`,cause:t})}finally{k.get(e.key)===i&&k.delete(e.key)}}function tt(e){try{return JSON.stringify([e.type,e.dataSource])}catch{return`${e.key}:${e.type}`}}async function nt(e,n,r,i){let a;if(n.kind===`resolver`){if(!f.optionResolver)throw Error(`缺少 resolver ${n.resolverKey} 的宿主实现`);a=await f.optionResolver({resolverKey:n.resolverKey,params:n.params,variable:e,signal:i.signal})}else{if(!t.isAllowedContractTemplateRemoteUrl(n.url,f.allowedRemoteOrigins))throw Error(`远程地址未在 allowlist 中:${n.url}`);if(!f.requester)throw Error(`缺少宿主 requester,组件库不会直接发起网络请求`);let r=t.normalizeContractTemplateRequestTimeout(n.timeoutMs,f.remoteRequestTimeoutMs);a=await rt(f.requester({url:n.url,method:n.method||`GET`,params:n.params,headers:n.headers,timeoutMs:r,signal:i.signal,variable:e}),i,r)}return t.normalizeContractTemplateControlOptions(a,n.kind===`url`?n:void 0,e.type||`select`)}function rt(e,t,n){return new Promise((r,i)=>{let a=()=>{clearTimeout(c),t.signal.removeEventListener(`abort`,s)},o=e=>{a(),e()},s=()=>o(()=>i(Error(`高级控件请求已取消`))),c=setTimeout(()=>{o(()=>i(Error(`高级控件请求超时(${n}ms)`))),t.abort()},n);t.signal.addEventListener(`abort`,s,{once:!0}),e.then(e=>o(()=>r(e)),e=>o(()=>i(e)))})}function it(e){let t=Y(e);return{variable:e,value:g.value[e.key],errors:Xe(e.key),active:C.value===e.key,readonly:f.readonly,disabled:f.disabled,options:t.options,loading:t.loading,loadError:t.error,updateValue:t=>B(e.key,t),focusVariable:()=>q(e.key)}}function at(){let e=F.value;if(!e.length)return;let t=e.findIndex(e=>e.key===C.value),r=t<0?0:t+1;for(let t=0;t<e.length;t+=1){let i=e[(r+t)%e.length];if(n.isEmptyRenderValue(g.value[i.key])){q(i.key);return}}}function ot(e){let t=E.value.trim().toLocaleLowerCase();return!t||e.key.toLocaleLowerCase().includes(t)||(e.label??``).toLocaleLowerCase().includes(t)?D.value===`unfilled`?n.isEmptyRenderValue(g.value[e.key]):D.value===`error`?Xe(e.key).length>0:!0:!1}function st(){E.value=``,D.value=`all`}function ct(e,t){let n=Ae.value;if(!n.length)return;let r=n.findIndex(t=>t.key===e),i=n[r<0?0:(r+t+n.length)%n.length]?.key;i&&(q(i),(0,s.nextTick)(()=>lt(i)))}function lt(e){(h.value?.querySelector(`[data-field-key="${$(e)}"]`))?.querySelector(`input:not([disabled]), textarea:not([disabled]), button:not([disabled])`)?.focus()}function ut(e){if(e.key!==`Enter`||e.target instanceof HTMLTextAreaElement)return;let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`[data-field-key]`)?.dataset.fieldKey;n&&(e.preventDefault(),ct(n,e.shiftKey?-1:1))}function dt(e){let t=new Set;if(typeof DOMParser<`u`)return new DOMParser().parseFromString(e,`text/html`).querySelectorAll(`[data-key]`).forEach(e=>{let n=e.getAttribute(`data-key`)?.trim();n&&t.add(n)}),t;let n=/\bdata-key\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s>]+))/gi,r;for(;r=n.exec(e);){let e=(r[1]??r[2]??r[3]??``).trim();e&&t.add(e)}return t}function ft(){!f.collapsiblePanel||f.interactionMode!==`panel`||(O.value=!O.value)}function Z(e){let t=gt(e);return T.value=t,p(`update:zoom`,t),t}function pt(){return Z(1)}function mt(){return T.value}function ht(){let e=Math.max(...I.value.map(e=>e.width),1);return Z(Math.max(0,Ce.value-48)/e)}function Q(e){e&&(w.value=e,(0,s.nextTick)(()=>{m.value?.querySelector(`[data-render-page-id="${$(e)}"]`)?.scrollIntoView({behavior:`smooth`,block:`start`,inline:`center`})}))}function gt(e){let t=Number(e);return Number.isFinite(t)?Math.min(me,Math.max(pe,Math.round(t*100)/100)):1}function $(e){return e.replaceAll(`\\`,`\\\\`).replaceAll(`"`,`\\"`)}function _t(e,t){let n=new Set([...Object.keys(e),...Object.keys(t)]);return Array.from(n).every(n=>e[n]===t[n])}function vt(e){!(e.ctrlKey||e.metaKey)||!Me.value||(e.preventDefault(),Z(e.deltaY>0?T.value-u:T.value+u))}let yt;function bt(){yt?.removeEventListener(`wheel`,vt),yt=void 0}function xt(e){bt(),e&&(e.addEventListener(`wheel`,vt,{passive:!1}),yt=e)}return(0,s.watch)(m,e=>{xt(e)},{immediate:!0}),(0,s.onBeforeUnmount)(()=>{bt(),K(),k.forEach(e=>e.abort()),k.clear()}),ge({showValidation:W,focusError:e=>{Ye(e),e.variableKey&&(0,s.nextTick)(()=>lt(e.variableKey))},getValues:V,setValues:Ve,validate:H,submit:He,resetValues:Ue,scrollToVariable:q,setZoom:Z,resetZoom:pt,getZoom:mt,fitWidth:ht,scrollToPage:Q}),(e,t)=>((0,s.openBlock)(),(0,s.createElementBlock)(`section`,{ref_key:`rendererElement`,ref:ye,class:(0,s.normalizeClass)([`gd-contract-template-renderer`,{"is-disabled":d.disabled,"is-readonly":d.readonly,"is-panel":d.interactionMode===`panel`,"is-inline":d.interactionMode===`inline`}]),onClick:Re,onKeydown:Be,onInput:Le,onChange:Le},[(0,s.renderSlot)(e.$slots,`fileBar`),Me.value?((0,s.openBlock)(),(0,s.createBlock)(i.default,{key:0,title:d.title,"filled-count":L.value,"total-count":F.value.length,"progress-percent":Ne.value,"required-missing-count":R.value,zoom:T.value,pages:I.value,"active-page-id":w.value,"min-zoom":pe,"max-zoom":me,"show-toolbar":d.showToolbar,"show-validate-button":d.showValidateButton,"show-reset-button":d.showResetButton,"show-submit-button":d.showSubmitButton,"show-panel-toggle":d.interactionMode===`panel`&&d.collapsiblePanel,"panel-collapsed":O.value,readonly:d.readonly,disabled:d.disabled,onZoomIn:t[0]||=e=>Z(T.value+u),onZoomOut:t[1]||=e=>Z(T.value-u),onResetZoom:pt,onFitWidth:ht,onSelectPage:Q,onValidate:H,onReset:We,onSubmit:He,onTogglePanel:ft},{extra:(0,s.withCtx)(()=>[(0,s.renderSlot)(e.$slots,`headerExtra`)]),_:3},8,[`title`,`filled-count`,`total-count`,`progress-percent`,`required-missing-count`,`zoom`,`pages`,`active-page-id`,`show-toolbar`,`show-validate-button`,`show-reset-button`,`show-submit-button`,`show-panel-toggle`,`panel-collapsed`,`readonly`,`disabled`])):(0,s.createCommentVNode)(``,!0),Ie.value?((0,s.openBlock)(),(0,s.createBlock)(o.default,{key:1,passed:Pe.value,summary:Fe.value,errors:P.value,expanded:b.value,onToggle:t[2]||=e=>b.value=!b.value,onFocusError:Ye},null,8,[`passed`,`summary`,`errors`,`expanded`])):(0,s.createCommentVNode)(``,!0),Me.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:3,class:(0,s.normalizeClass)([`gd-contract-template-renderer__workspace`,{"is-inline":d.interactionMode===`inline`}])},[(0,s.createElementVNode)(`div`,{ref_key:`pagesViewportElement`,ref:m,class:`gd-contract-template-renderer__pages-viewport`,"data-highlighted-variable-key":S.value},[(0,s.createElementVNode)(`div`,re,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(I.value,(e,t)=>((0,s.openBlock)(),(0,s.createBlock)(a.default,{key:e.id,page:e,index:t,total:I.value.length,zoom:T.value,"show-meta":d.showPageMeta,"font-base-url":d.contractFontBaseUrl,"active-key":S.value,"scroll-request":xe.value,onInteraction:ze},null,8,[`page`,`index`,`total`,`zoom`,`show-meta`,`font-base-url`,`active-key`,`scroll-request`]))),128))])],8,ne),d.interactionMode===`panel`?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:(0,s.normalizeClass)([`gd-contract-template-renderer__panel-wrap`,{"is-collapsed":O.value&&d.collapsiblePanel}])},[d.collapsiblePanel?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.Tooltip),{key:0,title:O.value?`展开填写面板`:`收起填写面板`},{default:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-renderer__panel-handle`,"aria-label":O.value?`展开填写面板`:`收起填写面板`,"aria-expanded":!O.value,onClick:t[3]||=e=>O.value=!O.value},[O.value?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(ee.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(ee.RightOutlined),{key:1,"aria-hidden":`true`}))],8,ie)]),_:1},8,[`title`])):(0,s.createCommentVNode)(``,!0),(0,s.createElementVNode)(`div`,ae,[(0,s.createElementVNode)(`aside`,oe,[(0,s.createElementVNode)(`div`,se,[(0,s.createElementVNode)(`div`,ce,[(0,s.createElementVNode)(`div`,null,[t[6]||=(0,s.createElementVNode)(`strong`,null,`填写项`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(L.value)+` / `+(0,s.toDisplayString)(F.value.length)+` 已填写`,1)]),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(R.value?`${R.value} 项必填未完成`:`必填项已完成`),1)]),(0,s.createVNode)((0,s.unref)(c.Input),{value:E.value,"onUpdate:value":t[4]||=e=>E.value=e,"allow-clear":``,size:`small`,class:`gd-contract-template-renderer__field-search`,placeholder:`搜索字段名称或标识`},{prefix:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(ee.SearchOutlined),{"aria-hidden":`true`})]),_:1},8,[`value`]),(0,s.createElementVNode)(`div`,le,[(0,s.createVNode)((0,s.unref)(c.Segmented),{value:D.value,"onUpdate:value":t[5]||=e=>D.value=e,size:`small`,class:`gd-contract-template-renderer__field-filter`,options:ve},null,8,[`value`]),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:!De.value,onClick:at},{default:(0,s.withCtx)(()=>[...t[7]||=[(0,s.createTextVNode)(` 下一个未填项 `,-1)]]),_:1},8,[`disabled`])]),(0,s.createVNode)((0,s.unref)(c.Progress),{percent:Ne.value,size:`small`,"show-info":!1},null,8,[`percent`])]),Ae.value.length?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:1,ref_key:`fieldListElement`,ref:h,class:`gd-contract-template-renderer__field-list`,onKeydownCapture:ut},[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(je.value,t=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:t.id,class:`gd-contract-template-renderer__field-group`},[(0,s.createElementVNode)(`div`,ue,[(0,s.createElementVNode)(`strong`,null,(0,s.toDisplayString)(t.title),1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(t.variables.length)+` / `+(0,s.toDisplayString)(t.totalCount)+` 项`,1)]),(0,s.createElementVNode)(`div`,de,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(t.variables,t=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:t.id||t.key,"data-field-key":t.key},[(0,s.renderSlot)(e.$slots,`field`,(0,s.mergeProps)({ref_for:!0},it(t)),()=>[(0,s.createVNode)(r.default,{variable:t,value:g.value[t.key],errors:Xe(t.key),active:C.value===t.key,readonly:d.readonly,disabled:d.disabled,options:Y(t).options,loading:Y(t).loading,"load-error":Y(t).error,registration:Ze(t),"selector-http":d.selectorHttp,"selector-url-prefix":d.selectorUrlPrefix,onUpdateValue:e=>B(t.key,e),onFocusVariable:e=>q(t.key)},null,8,[`variable`,`value`,`errors`,`active`,`readonly`,`disabled`,`options`,`loading`,`load-error`,`registration`,`selector-http`,`selector-url-prefix`,`onUpdateValue`,`onFocusVariable`])])],8,fe))),128))])]))),128))],544)):((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.Empty),{key:0,class:`gd-contract-template-renderer__field-empty`,description:F.value.length?`没有符合条件的填写项`:`暂无填写项`,image:(0,s.unref)(c.Empty).PRESENTED_IMAGE_SIMPLE},(0,s.createSlots)({default:(0,s.withCtx)(()=>[E.value||D.value!==`all`?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.Button),{key:0,type:`link`,size:`small`,onClick:st},{default:(0,s.withCtx)(()=>[...t[9]||=[(0,s.createTextVNode)(`清除筛选`,-1)]]),_:1})):(0,s.createCommentVNode)(``,!0)]),_:2},[E.value||D.value!==`all`?{name:`description`,fn:(0,s.withCtx)(()=>[t[8]||=(0,s.createElementVNode)(`span`,null,`没有符合条件的填写项`,-1)]),key:`0`}:void 0]),1032,[`description`,`image`]))])])],2)):(0,s.createCommentVNode)(``,!0)],2)):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,te,[(0,s.createVNode)((0,s.unref)(c.Empty),{description:`暂无可渲染的合同页面`,image:(0,s.unref)(c.Empty).PRESENTED_IMAGE_SIMPLE},null,8,[`image`])]))],34))}});exports.default=d;