@guodun/antdv 1.7.8 → 1.7.10

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 (41) 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/ContractTemplateChoiceOptionsEditor.mjs +5 -0
  3. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateChoiceOptionsEditor.vue.mjs +132 -0
  4. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.mjs +267 -277
  5. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.mjs +1 -1
  6. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateSingleRenderer.vue.mjs +258 -252
  7. package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +1020 -1011
  8. package/dist/es/components/pro-contract-template-designer/src/composables/use-template-designer.mjs +193 -163
  9. package/dist/es/components/pro-contract-template-designer/src/extensions/template-variable.mjs +70 -68
  10. package/dist/es/components/pro-contract-template-designer/src/utils/advanced-controls.mjs +63 -25
  11. package/dist/es/components/pro-contract-template-designer/src/utils/contract-print-document.mjs +7 -1
  12. package/dist/es/components/pro-contract-template-designer/src/utils/template-renderer.mjs +158 -93
  13. package/dist/es/components/pro-contract-template-designer/src/utils/template-variable-render.mjs +45 -18
  14. package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
  15. package/dist/es/index.mjs +22 -22
  16. package/dist/lib/components/contract-signing-location/src/ContractSigningLocation.vue.cjs +1 -1
  17. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateChoiceOptionsEditor.cjs +1 -0
  18. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateChoiceOptionsEditor.vue.cjs +1 -0
  19. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.cjs +1 -2
  20. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.cjs +1 -1
  21. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateSingleRenderer.vue.cjs +1 -1
  22. package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs +1 -1
  23. package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-designer.cjs +4 -4
  24. package/dist/lib/components/pro-contract-template-designer/src/extensions/template-variable.cjs +1 -1
  25. package/dist/lib/components/pro-contract-template-designer/src/utils/advanced-controls.cjs +1 -1
  26. package/dist/lib/components/pro-contract-template-designer/src/utils/contract-print-document.cjs +7 -1
  27. package/dist/lib/components/pro-contract-template-designer/src/utils/template-renderer.cjs +5 -3
  28. package/dist/lib/components/pro-contract-template-designer/src/utils/template-variable-render.cjs +1 -1
  29. package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
  30. package/dist/lib/index.cjs +1 -1
  31. package/dist/theme/icon.css +1 -1
  32. package/dist/theme/index.css +1 -1
  33. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateChoiceOptionsEditor.vue.d.ts +12 -0
  34. package/dist/types/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.d.ts +2 -0
  35. package/dist/types/components/pro-contract-template-designer/src/composables/use-template-designer.d.ts +5 -1
  36. package/dist/types/components/pro-contract-template-designer/src/types.d.ts +18 -2
  37. package/dist/types/components/pro-contract-template-designer/src/utils/advanced-controls.d.ts +10 -0
  38. package/dist/types/components/pro-contract-template-designer/src/utils/contract-print-document.d.ts +1 -1
  39. package/dist/types/components/pro-contract-template-designer/src/utils/template-renderer.d.ts +2 -0
  40. package/dist/types/components/pro-contract-template-designer/src/utils/template-variable-render.d.ts +15 -2
  41. package/package.json +3 -3
package/dist/es/index.mjs CHANGED
@@ -60,25 +60,25 @@ import { MAX_SIGNING_MARK_DIMENSION as qe, MIN_SIGNING_MARK_DIMENSION as Je, SIG
60
60
  import { CONTRACT_TEXT_STYLE_PRESETS as st, CONTRACT_TEXT_STYLE_PRESET_COMMANDS as ct, DEFAULT_CONTRACT_FONT_FAMILY as lt, DEFAULT_FONT_FAMILY_OPTIONS as ut, DEFAULT_FONT_SIZE_PRESETS as dt, DEFAULT_TEXT_ALIGN_OPTIONS as ft, getContractTextStylePreset as pt, normalizeFontFamilyValue as mt, resolveContractTextStylePresetCommands as ht, resolveFontFamilyOptions as gt } from "./components/pro-contract-template-designer/src/constants.mjs";
61
61
  import { CONTRACT_SIGNING_RENDER_ORIGIN_OFFSET as _t, CONTRACT_SIGNING_SNAP_THRESHOLD_PX as vt, canResizeContractSigningPlacement as yt, clampContractSigningPlacement as bt, clampContractSigningZoom as xt, displayPointToContractPoint as St, getContractSigningPlacementDistances as Ct, getContractSigningPlacementSize as wt, getContractSigningRuleGeometry as Tt, moveContractSigningPlacementByDisplayDelta as Et, normalizeContractSigningCoordinateDimension as Dt, normalizeContractSigningCoordinateScale as Ot, resizeContractSigningSealGeometry as kt, resolveContractSigningSealSizeLimit as At, resolveContractSigningSizeProfile as jt, snapContractSigningPlacement as Mt } from "./components/contract-signing-location/src/coordinates.mjs";
62
62
  import { isContractTemplateAdvancedChoiceFieldType as Nt, isContractTemplateBuiltinSelectorFieldType as Pt, isContractTemplateFieldType as Ft } from "./components/pro-contract-template-designer/src/types.mjs";
63
- import { decodeContractTemplateJsonAttribute as It, encodeContractTemplateJsonAttribute as Lt, formatContractTemplateRenderValue as Rt, isAllowedContractTemplateRemoteUrl as zt, isContractTemplateSelectionValue as Bt, normalizeContractTemplateControlOptions as Vt, normalizeContractTemplateJsonObject as Ht, normalizeContractTemplateRequestTimeout as Ut, normalizeContractTemplateSelectionValue as Wt, normalizeContractTemplateSelectionValues as Gt } from "./components/pro-contract-template-designer/src/utils/advanced-controls.mjs";
64
- import { ALL_DEFAULT_FIELD_TYPES as Kt, CONTRACT_TEMPLATE_RENDERER_VERSION as qt, CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS as Jt, CONTRACT_TEMPLATE_STYLE_VERSION as Yt, CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN as Xt, ContractTemplatePageDecorationValidationError as Zt, DEFAULT_ADVANCED_CHOICE_FIELD_TYPES as Qt, DEFAULT_BUILTIN_SELECTOR_FIELD_TYPES as $t, DEFAULT_CUSTOM_FIELD_TYPES as en, DEFAULT_FIELD_STYLE as tn, DEFAULT_FIELD_TYPES as nn, DEFAULT_MULTILINE_LINE_HEIGHT as rn, DEFAULT_MULTILINE_ROWS as an, DEFAULT_PAGE_SIZE as on, PAGE_SIZE_OPTIONS as sn, buildTemplateExpressionHtml as cn, buildTemplateHtml as ln, buildTemplatePreviewHtml as un, buildTemplatePreviewPages as dn, cloneTemplateValue as fn, collectTemplateValueVariableKeys as pn, collectTemplateVariableKeys as mn, constrainTemplatePageSizes as hn, createBlankPage as gn, createBlankTemplate as _n, createDefaultPage as vn, createDefaultTemplate as yn, createDesignerId as bn, createTemplateBodySync as xn, createTemplateVariable as Sn, exportTemplateValue as Cn, findPageSizeOption as wn, getFieldOption as Tn, getPageSizeKey as En, getPageSizeOption as Dn, inferPageFormat as $, normalizeContractTemplateMaxPages as On, normalizePageSizeOptions as kn, normalizeTemplateValue as An, resolvePageSize as jn, splitPageContentByMeasurements as Mn, syncTemplateVariablesWithPages as Nn, validateContractTemplateVariableKey as Pn, validateTemplateValue as Fn } from "./components/pro-contract-template-designer/src/composables/use-template-designer.mjs";
65
- import { isSafeContractImageUrl as In } from "./components/pro-contract-template-designer/src/utils/image-url.mjs";
66
- import { buildInitialRenderValues as Ln, buildTemplateRenderHtml as Rn, buildTemplateRenderPages as zn, buildTemplateVariableData as Bn, isEmptyRenderValue as Vn, normalizeRenderValues as Hn, resolveTemplateRenderSubmitErrors as Un, sanitizeContractRendererHtml as Wn, validateTemplateRenderStructure as Gn, validateTemplateRenderValues as Kn } from "./components/pro-contract-template-designer/src/utils/template-renderer.mjs";
67
- import { buildContractSigningTemplateRenderPages as qn, getContractSigningTemplateDisplayError as Jn, isContractSigningTemplateFile as Yn, isContractSigningTemplateSource as Xn, validateContractSigningTemplateFile as Zn } from "./components/contract-signing-location/src/template-source.mjs";
68
- import { ContractSigningLocationBuildError as Qn, buildContractSigningLocationOutput as $n, buildContractSigningLocationRules as er, cloneContractSigningLocationValue as tr, createContractSigningLocationValue as nr, createContractSigningPlacement as rr, findContractSigningPage as ir, getContractSigningHomePage as ar, isContractSigningPageUsable as or, normalizeContractSigningLocationValue as sr, normalizeContractSigningProviderValue as cr, patchContractSigningPlacement as lr, resolveContractSigningDefaultSealTypes as ur, resolveContractSigningPreviewPageSize as dr, validateContractSigningLocationValue as fr } from "./components/contract-signing-location/src/location-rules.mjs";
69
- import { CONTRACT_SIGNING_FALLBACK_PAGE_SIZE as pr, CONTRACT_SIGNING_PAGE_GAP as mr, CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES as hr, buildPageLayouts as gr, contentPointToPagePoint as _r, findPageAtOffset as vr, getContractSigningAutoScrollDelta as yr, getPageLayoutScrollTop as br, getPageLayoutsContentSize as xr, getVisibleRange as Sr } from "./components/contract-signing-location/src/page-layout.mjs";
70
- import { formatContractSigningDate as Cr, getContractSigningDateDataUrl as wr, getContractSigningDateSvgDataUrl as Tr, getContractSigningPlacementDataUrl as Er, getContractSigningPlacementVisual as Dr, getContractSigningSealDataUrl as Or, getContractSigningSealLabel as kr, getContractSigningSealSvgDataUrl as Ar, getContractSigningSignatureDataUrl as jr, getContractSigningSignaturePngDataUrl as Mr, getContractSigningSignatureSvgDataUrl as Nr, isContractSigningVisualDataUrl as Pr, isSafeContractSigningVisualDataUrl as Fr, resolveContractSigningSealLabel as Ir, toContractSigningSvgDataUrl as Lr } from "./components/contract-signing-location/src/signing-visuals.mjs";
71
- import Rr from "./components/contract-signing-location/index.mjs";
72
- import { DEFAULT_CONTRACT_IMAGE_COMPRESSION as zr, MAX_CONTRACT_IMAGE_BYTES as Br, MAX_CONTRACT_IMAGE_DIMENSION as Vr, MIN_CONTRACT_IMAGE_DIMENSION as Hr, compressContractImage as Ur, normalizeContractImageCompression as Wr, normalizeContractImageDimension as Gr, processContractImageFile as Kr, readContractImageFileAsDataUrl as qr, resolveContractImageResizeDimensions as Jr } from "./components/pro-contract-template-designer/src/utils/content-image.mjs";
73
- import { CUSTOM_SIGNING_LAYOUT as Yr, DUAL_PARTY_SIGNING_LAYOUT as Xr, MAX_SIGNING_LAYOUT_PARTY_COUNT as Zr, MIN_SIGNING_LAYOUT_PARTY_COUNT as Qr, SIGNING_LAYOUT_ARRANGEMENTS as $r, SIGNING_LAYOUT_ARRANGEMENT_LABELS as ei, SIGNING_LAYOUT_ATTRIBUTE_VALUES as ti, SIGNING_LAYOUT_FIELD_KEYS as ni, SIGNING_LAYOUT_FIELD_LABELS as ri, SIGNING_LAYOUT_PRESETS as ii, SIGNING_LAYOUT_PRESET_KEYS as ai, buildDualPartySigningLayoutPreset as oi, buildSigningLayoutContent as si, buildSigningLayoutPresetContent as ci, buildSigningLayoutPreviewModel as li, describeSigningLayoutOptions as ui, isSigningLayoutAttributeValue as di, isSigningLayoutPresetKey as fi, normalizeSigningLayoutOptions as pi, resolvePartyName as mi } from "./components/pro-contract-template-designer/src/utils/signing-layout-presets.mjs";
74
- import { CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION as hi, CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION as gi, DEFAULT_DRAFT_CACHE_INTERVAL as _i, DEFAULT_DRAFT_CACHE_KEY as vi, DEFAULT_DRAFT_CACHE_MAX_BYTES as yi, clearTemplateDraftCache as bi, createDraftCacheStatus as xi, estimateDraftCacheBytes as Si, formatDraftCacheSavedAt as Ci, getBrowserDraftCacheStorage as wi, isBlankTemplateDraftValue as Ti, isBlankTemplateFilesDraftValue as Ei, loadTemplateDraftCache as Di, loadTemplateFilesDraftCache as Oi, saveTemplateDraftCache as ki, saveTemplateFilesDraftCache as Ai } from "./components/pro-contract-template-designer/src/composables/use-template-draft-cache.mjs";
75
- import { cloneContractTemplateFiles as ji, constrainContractTemplateFiles as Mi, createContractTemplateFile as Ni, exportContractTemplateFiles as Pi, moveContractTemplateFile as Fi, normalizeContractTemplateFiles as Ii, removeContractTemplateFile as Li, renameContractTemplateFile as Ri, replaceContractTemplateFile as zi, resolveContractTemplateActiveFileId as Bi } from "./components/pro-contract-template-designer/src/composables/use-template-files.mjs";
76
- import Vi, { GdAntProContractTemplateRenderer as Hi } from "./components/pro-contract-template-designer/index.mjs";
77
- import { CONTRACT_SIGNING_FLOW_ACTION_LABELS as Ui, CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS as Wi, CONTRACT_SIGNING_FLOW_MAX_ZOOM as Gi, CONTRACT_SIGNING_FLOW_MIN_ZOOM as Ki, CONTRACT_SIGNING_FLOW_SEAL_TYPES as qi, CONTRACT_SIGNING_FLOW_SIGN_ACTIONS as Ji, CONTRACT_SIGNING_FLOW_ZOOM_STEP as Yi, isContractSigningFlowInteractiveTarget as Xi, normalizeContractSigningFlowZoom as Zi, resolveContractSigningFlowZoomShortcut as Qi, resolveContractSigningFlowZoomShortcutForTarget as $i } from "./components/pro-contract-signing-flow/src/constants.mjs";
78
- import { buildConnectList as ea, createDefaultSignRule as ta, createEndNode as na, createId as ra, createInitialFlow as ia, createSignNode as aa, createStartNode as oa, normalizeContractSigningFlow as sa, normalizeSignRule as ca, useContractSigningFlow as la, validateContractSigningFlow as ua } from "./components/pro-contract-signing-flow/src/composables/use-contract-signing-flow.mjs";
79
- import da from "./components/pro-contract-signing-flow/index.mjs";
80
- import { useContractTemplateAgent as fa } from "./components/pro-contract-template-agent/src/composables/use-contract-template-agent.mjs";
81
- import { adaptContractTemplateAgentSpec as pa } from "./components/pro-contract-template-agent/src/utils/contract-template-agent-adapter.mjs";
82
- import ma, { GdAntProContractTemplateAgentPanel as ha, GdAntProContractTemplateAgentPreview as ga } from "./components/pro-contract-template-agent/index.mjs";
83
- import { setupAppConfig as _a, useBasicAppConfig as va } from "./components/hooks/use-basic-app-config.mjs";
84
- export { Kt 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, pr as CONTRACT_SIGNING_FALLBACK_PAGE_SIZE, Ui as CONTRACT_SIGNING_FLOW_ACTION_LABELS, Wi as CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS, Gi as CONTRACT_SIGNING_FLOW_MAX_ZOOM, Ki as CONTRACT_SIGNING_FLOW_MIN_ZOOM, qi as CONTRACT_SIGNING_FLOW_SEAL_TYPES, Ji as CONTRACT_SIGNING_FLOW_SIGN_ACTIONS, Yi as CONTRACT_SIGNING_FLOW_ZOOM_STEP, Ae as CONTRACT_SIGNING_MIN_PLACEMENT_SIZE, mr 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, hr as CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES, Be as CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS, hi as CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION, gi as CONTRACT_TEMPLATE_FILES_DRAFT_CACHE_VERSION, qt as CONTRACT_TEMPLATE_RENDERER_VERSION, Jt as CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS, Yt as CONTRACT_TEMPLATE_STYLE_VERSION, Xt as CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN, st as CONTRACT_TEXT_STYLE_PRESETS, ct as CONTRACT_TEXT_STYLE_PRESET_COMMANDS, Yr as CUSTOM_SIGNING_LAYOUT, Qn as ContractSigningLocationBuildError, Zt as ContractTemplatePageDecorationValidationError, u as CoverScrollbarProps, Qt as DEFAULT_ADVANCED_CHOICE_FIELD_TYPES, $t as DEFAULT_BUILTIN_SELECTOR_FIELD_TYPES, lt as DEFAULT_CONTRACT_FONT_FAMILY, zr as DEFAULT_CONTRACT_IMAGE_COMPRESSION, en as DEFAULT_CUSTOM_FIELD_TYPES, _i as DEFAULT_DRAFT_CACHE_INTERVAL, vi as DEFAULT_DRAFT_CACHE_KEY, yi as DEFAULT_DRAFT_CACHE_MAX_BYTES, tn as DEFAULT_FIELD_STYLE, nn as DEFAULT_FIELD_TYPES, ut as DEFAULT_FONT_FAMILY_OPTIONS, dt as DEFAULT_FONT_SIZE_PRESETS, rn as DEFAULT_MULTILINE_LINE_HEIGHT, an as DEFAULT_MULTILINE_ROWS, on as DEFAULT_PAGE_SIZE, ft as DEFAULT_TEXT_ALIGN_OPTIONS, Se as DRAWER_SIZE_WIDTH, Xr 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, Rr as GdAntContractSigningLocation, d as GdAntCoverScrollBar, ae as GdAntDeptSelector, T as GdAntIcon, A as GdAntPlusUpload, b as GdAntProArea, _e as GdAntProCell, ve as GdAntProCellGroup, da as GdAntProContractSigningFlow, ha as GdAntProContractTemplateAgentPanel, ga as GdAntProContractTemplateAgentPreview, ma as GdAntProContractTemplateAgentWorkbench, Vi as GdAntProContractTemplateDesigner, Hi 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, Br as MAX_CONTRACT_IMAGE_BYTES, Vr as MAX_CONTRACT_IMAGE_DIMENSION, Zr as MAX_SIGNING_LAYOUT_PARTY_COUNT, qe as MAX_SIGNING_MARK_DIMENSION, oe as MENU_TREE_URL, Hr as MIN_CONTRACT_IMAGE_DIMENSION, Qr as MIN_SIGNING_LAYOUT_PARTY_COUNT, Je as MIN_SIGNING_MARK_DIMENSION, sn 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, $r as SIGNING_LAYOUT_ARRANGEMENTS, ei as SIGNING_LAYOUT_ARRANGEMENT_LABELS, ti as SIGNING_LAYOUT_ATTRIBUTE_VALUES, ni as SIGNING_LAYOUT_FIELD_KEYS, ri as SIGNING_LAYOUT_FIELD_LABELS, ii as SIGNING_LAYOUT_PRESETS, ai 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, pa as adaptContractTemplateAgentSpec, ea as buildConnectList, $n as buildContractSigningLocationOutput, er as buildContractSigningLocationRules, qn as buildContractSigningTemplateRenderPages, oi as buildDualPartySigningLayoutPreset, Ln as buildInitialRenderValues, gr as buildPageLayouts, si as buildSigningLayoutContent, ci as buildSigningLayoutPresetContent, li as buildSigningLayoutPreviewModel, Qe as buildSigningMarkAttrs, cn as buildTemplateExpressionHtml, ln as buildTemplateHtml, un as buildTemplatePreviewHtml, dn as buildTemplatePreviewPages, Rn as buildTemplateRenderHtml, zn as buildTemplateRenderPages, Bn as buildTemplateVariableData, yt as canResizeContractSigningPlacement, bt as clampContractSigningPlacement, xt as clampContractSigningZoom, bi as clearTemplateDraftCache, tr as cloneContractSigningLocationValue, ji as cloneContractTemplateFiles, fn as cloneTemplateValue, e as collapseProps, pn as collectTemplateValueVariableKeys, mn as collectTemplateVariableKeys, Ur as compressContractImage, Te as configureContractPrintFonts, Mi as constrainContractTemplateFiles, hn as constrainTemplatePageSizes, _r as contentPointToPagePoint, gn as createBlankPage, _n as createBlankTemplate, nr as createContractSigningLocationValue, rr as createContractSigningPlacement, Ni as createContractTemplateFile, vn as createDefaultPage, ta as createDefaultSignRule, yn as createDefaultTemplate, bn as createDesignerId, xi as createDraftCacheStatus, na as createEndNode, ra as createId, ia as createInitialFlow, aa as createSignNode, oa as createStartNode, xn as createTemplateBodySync, Sn as createTemplateVariable, It as decodeContractTemplateJsonAttribute, re as deptSelectorEmits, ie as deptSelectorProps, ui as describeSigningLayoutOptions, St as displayPointToContractPoint, Lt as encodeContractTemplateJsonAttribute, Si as estimateDraftCacheBytes, Pi as exportContractTemplateFiles, Cn as exportTemplateValue, ir as findContractSigningPage, vr as findPageAtOffset, wn as findPageSizeOption, Cr as formatContractSigningDate, Rt as formatContractTemplateRenderValue, Ci as formatDraftCacheSavedAt, ee as generatePalette, wi as getBrowserDraftCacheStorage, yr as getContractSigningAutoScrollDelta, wr as getContractSigningDateDataUrl, Tr as getContractSigningDateSvgDataUrl, ar as getContractSigningHomePage, Er as getContractSigningPlacementDataUrl, Ct as getContractSigningPlacementDistances, wt as getContractSigningPlacementSize, Dr as getContractSigningPlacementVisual, Tt as getContractSigningRuleGeometry, Or as getContractSigningSealDataUrl, kr as getContractSigningSealLabel, Ar as getContractSigningSealSvgDataUrl, jr as getContractSigningSignatureDataUrl, Mr as getContractSigningSignaturePngDataUrl, Nr as getContractSigningSignatureSvgDataUrl, Jn as getContractSigningTemplateDisplayError, pt as getContractTextStylePreset, Tn as getFieldOption, br as getPageLayoutScrollTop, xr as getPageLayoutsContentSize, En as getPageSizeKey, Dn as getPageSizeOption, $e as getSigningMarkDefaultLabel, et as getSigningMarkDefaultSize, Sr as getVisibleRange, $ as inferPageFormat, zt as isAllowedContractTemplateRemoteUrl, Ti as isBlankTemplateDraftValue, Ei as isBlankTemplateFilesDraftValue, Xi as isContractSigningFlowInteractiveTarget, or as isContractSigningPageUsable, Yn as isContractSigningTemplateFile, Xn as isContractSigningTemplateSource, Pr as isContractSigningVisualDataUrl, Nt as isContractTemplateAdvancedChoiceFieldType, Pt as isContractTemplateBuiltinSelectorFieldType, Ft as isContractTemplateFieldType, Bt as isContractTemplateSelectionValue, tt as isContractTemplateSigningMarkType, Vn as isEmptyRenderValue, In as isSafeContractImageUrl, Fr as isSafeContractSigningVisualDataUrl, di as isSigningLayoutAttributeValue, fi as isSigningLayoutPresetKey, Di as loadTemplateDraftCache, Oi as loadTemplateFilesDraftCache, Ve as millimetersToContractSigningCssPixels, He as millimetersToContractSigningPixels, Et as moveContractSigningPlacementByDisplayDelta, Fi as moveContractTemplateFile, Wr as normalizeContractImageCompression, Gr as normalizeContractImageDimension, Dt as normalizeContractSigningCoordinateDimension, Ot as normalizeContractSigningCoordinateScale, sa as normalizeContractSigningFlow, Zi as normalizeContractSigningFlowZoom, sr as normalizeContractSigningLocationValue, cr as normalizeContractSigningProviderValue, Vt as normalizeContractTemplateControlOptions, Ii as normalizeContractTemplateFiles, Ht as normalizeContractTemplateJsonObject, On as normalizeContractTemplateMaxPages, Ut as normalizeContractTemplateRequestTimeout, Wt as normalizeContractTemplateSelectionValue, Gt as normalizeContractTemplateSelectionValues, mt as normalizeFontFamilyValue, kn as normalizePageSizeOptions, Hn as normalizeRenderValues, ca as normalizeSignRule, pi as normalizeSigningLayoutOptions, nt as normalizeSigningMarkDimension, An as normalizeTemplateValue, lr as patchContractSigningPlacement, se as proMenuTreeEmits, ce as proMenuTreeProps, n as proModalEmits, p as proTagProps, Kr as processContractImageFile, qr as readContractImageFileAsDataUrl, Li as removeContractTemplateFile, Ri as renameContractTemplateFile, zi as replaceContractTemplateFile, kt as resizeContractSigningSealGeometry, Ee as resolveContractFontBaseUrl, Jr as resolveContractImageResizeDimensions, ur as resolveContractSigningDefaultSealTypes, Qi as resolveContractSigningFlowZoomShortcut, $i as resolveContractSigningFlowZoomShortcutForTarget, dr as resolveContractSigningPreviewPageSize, Ir as resolveContractSigningSealLabel, Ue as resolveContractSigningSealSizeInCssPixels, We as resolveContractSigningSealSizeInPixels, At as resolveContractSigningSealSizeLimit, Ge as resolveContractSigningSealTypeOption, jt as resolveContractSigningSizeProfile, Bi as resolveContractTemplateActiveFileId, ht as resolveContractTextStylePresetCommands, gt as resolveFontFamilyOptions, jn as resolvePageSize, mi as resolvePartyName, rt as resolveSigningMarkPresentation, it as resolveSigningMarkResizeDimensions, at as resolveSigningMarkResizeHandles, ot as resolveSigningMarkSealAspectRatio, Un as resolveTemplateRenderSubmitErrors, P as resolveUserSelectorMaxCount, Y as roleSelectorEmits, X as roleSelectorProps, Wn as sanitizeContractRendererHtml, ki as saveTemplateDraftCache, Ai as saveTemplateFilesDraftCache, c as scrollbarProps, ye as selectContextKey, F as selectUserContextKey, _a as setupAppConfig, te as setupTheme, Mt as snapContractSigningPlacement, Mn as splitPageContentByMeasurements, Nn as syncTemplateVariablesWithPages, De as toAbsoluteContractFontBaseUrl, Ke as toContractSigningRulePageSize, Lr as toContractSigningSvgDataUrl, va as useBasicAppConfig, la as useContractSigningFlow, fa as useContractTemplateAgent, y as useProArea, r as useProModal, i as useProModalInit, C as useProTable, D as useUpload, B as useUserSelector, I as userSelectorEmits, ua as validateContractSigningFlow, fr as validateContractSigningLocationValue, Zn as validateContractSigningTemplateFile, Pn as validateContractTemplateVariableKey, Gn as validateTemplateRenderStructure, Kn as validateTemplateRenderValues, Fn as validateTemplateValue };
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
+ 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
+ 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, 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;
@@ -0,0 +1 @@
1
+ var e=require(`./ContractTemplateChoiceOptionsEditor.vue.cjs`).default;exports.default=e;
@@ -0,0 +1 @@
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);let e=require(`vue`),t=require(`ant-design-vue`),n=require(`@ant-design/icons-vue`);var r={class:`gd-contract-choice-options`},i={key:0,class:`gd-contract-choice-options__error`},a={class:`gd-contract-choice-options__actions`},o=(0,e.defineComponent)({name:`ContractTemplateChoiceOptionsEditor`,__name:`ContractTemplateChoiceOptionsEditor`,props:{options:{},variableType:{},readonly:{type:Boolean}},emits:[`change`],setup(o,{emit:s}){let c=o,l=s,u=(0,e.ref)((c.options??[]).map(e=>({label:e.label??``,value:String(e.value??``)}))),d=(0,e.computed)(()=>u.value.map((e,t)=>f(u.value,t)));function f(e,t){let n=e[t]?.label.trim()??``,r=e[t]?.value.trim()??``;return n?r?e.some((e,n)=>n!==t&&e.value.trim()===r)?`选项值不能重复`:``:`选项值不能为空`:`显示文本不能为空`}function p(){c.readonly||d.value.some(Boolean)||l(`change`,u.value.map(e=>({value:e.value.trim(),label:e.label.trim(),type:c.variableType||`select`})))}function m(e,t){c.readonly||(u.value=u.value.map((n,r)=>r===e?{...n,...t}:n),p())}function h(e,t){if(c.readonly)return;let n=e+t;if(n<0||n>=u.value.length)return;let r=u.value.slice(),[i]=r.splice(e,1);r.splice(n,0,i),u.value=r,p()}function g(e){c.readonly||(u.value=u.value.filter((t,n)=>n!==e),p())}function _(){if(c.readonly)return;let e=new Set(u.value.flatMap(e=>[e.label.trim(),e.value.trim()])),t=u.value.length+1;for(;e.has(`选项${t}`)||e.has(`option${t}`);)t+=1;u.value=[...u.value,{label:`选项${t}`,value:`option${t}`}],p()}return(s,c)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,r,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(u.value,(r,s)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:s,class:(0,e.normalizeClass)([`gd-contract-choice-options__row`,{"is-invalid":!!d.value[s]}])},[(0,e.createVNode)((0,e.unref)(t.Input),{value:r.label,disabled:o.readonly,placeholder:`显示文本`,"aria-label":`选项 ${s+1} 显示文本`,"onUpdate:value":e=>m(s,{label:String(e??``)})},null,8,[`value`,`disabled`,`aria-label`,`onUpdate:value`]),(0,e.createVNode)((0,e.unref)(t.Input),{value:r.value,disabled:o.readonly,placeholder:`选项值`,"aria-label":`选项 ${s+1} 选项值`,"onUpdate:value":e=>m(s,{value:String(e??``)})},null,8,[`value`,`disabled`,`aria-label`,`onUpdate:value`]),d.value[s]?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,i,(0,e.toDisplayString)(d.value[s]),1)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,a,[(0,e.createVNode)((0,e.unref)(t.Button),{type:`text`,size:`small`,disabled:o.readonly||s===0,"aria-label":`上移选项`,onClick:e=>h(s,-1)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.ArrowUpOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`,`onClick`]),(0,e.createVNode)((0,e.unref)(t.Button),{type:`text`,size:`small`,disabled:o.readonly||s===u.value.length-1,"aria-label":`下移选项`,onClick:e=>h(s,1)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.ArrowDownOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`,`onClick`]),(0,e.createVNode)((0,e.unref)(t.Button),{type:`text`,size:`small`,danger:``,disabled:o.readonly,"aria-label":`删除选项`,onClick:e=>g(s)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.DeleteOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`,`onClick`])])],2))),128)),(0,e.createVNode)((0,e.unref)(t.Button),{block:``,disabled:o.readonly,"aria-label":`添加选项`,onClick:_},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.PlusOutlined),{"aria-hidden":`true`}),c[0]||=(0,e.createTextVNode)(` 添加选项 `,-1)]),_:1},8,[`disabled`])]))}});exports.default=o;
@@ -1,2 +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`),ee=require(`./ContractTemplateControlLibrary.cjs`),te=require(`./ContractTemplateVariableAdvanced.cjs`);let r=require(`vue`),i=require(`ant-design-vue`),a=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`},o={class:`gd-contract-authoring-panel__variable-icon`,"aria-hidden":`true`},s={class:`gd-contract-authoring-panel__variable-copy`},c={class:`gd-contract-authoring-panel__item-title`},l={class:`gd-contract-authoring-panel__meta`},u={class:`gd-contract-authoring-panel__property-group`},d={class:`gd-contract-authoring-panel__fields`},f={class:`gd-contract-authoring-panel__field`},p={class:`gd-contract-authoring-panel__field`},m={class:`gd-contract-authoring-panel__field`},h={open:``,class:`gd-contract-authoring-panel__property-group`},g={class:`gd-contract-authoring-panel__group-title`},_={class:`gd-contract-authoring-panel__fields`},v={class:`gd-contract-authoring-panel__switch`},y={class:`gd-contract-authoring-panel__switch`},b={key:0,class:`gd-contract-authoring-panel__field`},x={key:1,class:`gd-contract-authoring-panel__field`},S={class:`gd-contract-authoring-panel__field`},C={class:`gd-contract-authoring-panel__field`},w={class:`gd-contract-authoring-panel__switch`},T={class:`gd-contract-authoring-panel__field`},E={class:`gd-contract-authoring-panel__field`},D={key:4,class:`gd-contract-authoring-panel__switch`},O={class:`gd-contract-authoring-panel__field`},k={class:`gd-contract-authoring-panel__field`},A={key:0,class:`gd-contract-authoring-panel__field`},j={class:`gd-contract-authoring-panel__field`},M={class:`gd-contract-authoring-panel__field`},N={class:`gd-contract-authoring-panel__property-group`},P={class:`gd-contract-authoring-panel__group-title`},F={class:`gd-contract-authoring-panel__fields`},I={class:`gd-contract-authoring-panel__field-pair`},L={class:`gd-contract-authoring-panel__field`},R={class:`gd-contract-authoring-panel__field`},z={class:`gd-contract-authoring-panel__switch`},B={class:`gd-contract-authoring-panel__switch`},V={class:`gd-contract-authoring-panel__field`},de={class:`gd-contract-authoring-panel__field`},H={class:`gd-contract-authoring-panel__color`},fe=[`value`,`disabled`],pe={class:`gd-contract-authoring-panel__color`},me=[`value`,`disabled`],he={class:`gd-contract-authoring-panel__color`},ge=[`value`,`disabled`],_e={class:`gd-contract-authoring-panel__field`},ve={class:`gd-contract-authoring-panel__field`},ye={class:`gd-contract-authoring-panel__field`},be={class:`gd-contract-authoring-panel__danger-zone`},U=(0,r.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,r.useId)()}`,J=(0,r.shallowRef)(`insert`),xe=[{value:`insert`,label:`插入控件`},{value:`properties`,label:`控件属性`}],Y=(0,r.computed)(()=>G.readonly||G.disabled),Se=(0,r.computed)(()=>G.selectedVariable?G.bodyControlToolItems.find(e=>e.type===(G.selectedVariable?.type||`text`))?.label||e.getFieldOption(G.selectedVariable.type||`text`).label:``),Ce=(0,r.computed)(()=>G.selectedVariable?.type===`select`||G.selectedVariable?.type===`radio`),X=(0,r.computed)(()=>G.selectedVariable?.type===`select`||!!G.selectedVariable?.type?.endsWith(`-selector`)),we=(0,r.computed)(()=>(G.selectedVariable?.options??[]).map(e=>`${e.value}|${e.label}`).join(`
2
- `));(0,r.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){let t=G.selectedVariable?.dataSource;t&&Z({dataSource:{...t,...e}})}function Te(e){e===`none`?Z({dataSource:void 0}):e===`url`?Z({dataSource:{kind:`url`,url:``,method:`GET`}}):e===`resolver`&&Z({dataSource:{kind:`resolver`,resolverKey:``}})}function Ee(e){Z({options:e.target.value.split(/\r?\n/).map(e=>e.trim()).filter(Boolean).map(e=>{let[t,...n]=e.split(`|`);return{value:t.trim(),label:n.join(`|`).trim()||t.trim(),type:G.selectedVariable?.type||`select`}})})}function De(){G.selectedVariable&&!Y.value&&K(`duplicateVariable`,G.selectedVariable)}function Oe(){G.selectedVariable&&!Y.value&&K(`removeVariable`,G.selectedVariable)}return(U,W)=>((0,r.openBlock)(),(0,r.createElementBlock)(`aside`,{class:(0,r.normalizeClass)([`gd-contract-template-designer__inspector gd-contract-authoring-panel`,{"is-collapsed":G.collapsed}]),"aria-label":`控件插入与属性`},[(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:G.collapsed?`展开属性栏`:`收起属性栏`},{default:(0,r.withCtx)(()=>[(0,r.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,r.openBlock)(),(0,r.createBlock)((0,r.unref)(a.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,r.openBlock)(),(0,r.createBlock)((0,r.unref)(a.RightOutlined),{key:1,"aria-hidden":`true`}))],8,ne)]),_:1},8,[`title`]),(0,r.createElementVNode)(`div`,re,[(0,r.createElementVNode)(`div`,ie,[(0,r.createVNode)(n.default,{id:q,modelValue:J.value,"onUpdate:modelValue":W[1]||=e=>J.value=e,items:xe,label:`控件面板视图`},null,8,[`modelValue`]),(0,r.withDirectives)((0,r.createElementVNode)(`section`,{id:`${q}-panel-insert`,class:`gd-contract-authoring-panel__view`,role:`tabpanel`,"aria-labelledby":`${q}-tab-insert`},[(0,r.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),[[r.vShow,J.value===`insert`]]),(0,r.withDirectives)((0,r.createElementVNode)(`section`,{id:`${q}-panel-properties`,class:`gd-contract-authoring-panel__view`,role:`tabpanel`,"aria-labelledby":`${q}-tab-properties`},[(0,r.createElementVNode)(`div`,se,[W[34]||=(0,r.createElementVNode)(`strong`,null,`属性`,-1),Y.value?((0,r.openBlock)(),(0,r.createElementBlock)(`small`,ce,`只读`)):(0,r.createCommentVNode)(``,!0)]),G.selectedVariable?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:G.selectedVariable.id,class:`gd-contract-authoring-panel__properties`},[(0,r.createElementVNode)(`div`,ue,[(0,r.createElementVNode)(`span`,o,[((0,r.openBlock)(),(0,r.createBlock)((0,r.resolveDynamicComponent)((0,r.unref)(t.resolveFieldTypeIcon)(G.selectedVariable.type))))]),(0,r.createElementVNode)(`div`,s,[(0,r.createElementVNode)(`span`,c,(0,r.toDisplayString)(G.selectedVariable.label),1),(0,r.createElementVNode)(`small`,l,(0,r.toDisplayString)(Se.value),1)]),(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`复制变量`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{type:`text`,disabled:Y.value,"aria-label":`复制变量`,onClick:De},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(a.CopyOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})]),(0,r.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,r.createElementVNode)(`section`,u,[W[41]||=(0,r.createElementVNode)(`h3`,{class:`gd-contract-authoring-panel__group-title`},`基础信息`,-1),(0,r.createElementVNode)(`div`,d,[(0,r.createElementVNode)(`label`,f,[W[38]||=(0,r.createElementVNode)(`span`,null,`名称`,-1),(0,r.createVNode)((0,r.unref)(i.Input),{value:G.selectedVariable.label,disabled:Y.value,"aria-label":`变量名称`,onChange:W[6]||=e=>Z({label:e.target.value})},null,8,[`value`,`disabled`])]),(0,r.createElementVNode)(`label`,p,[W[39]||=(0,r.createElementVNode)(`span`,null,`占位文案`,-1),(0,r.createVNode)((0,r.unref)(i.Input),{value:G.selectedVariable.placeholder,disabled:Y.value,"aria-label":`占位文案`,onChange:W[7]||=e=>Z({placeholder:e.target.value})},null,8,[`value`,`disabled`])]),(0,r.createElementVNode)(`label`,m,[W[40]||=(0,r.createElementVNode)(`span`,null,`默认值`,-1),(0,r.createVNode)((0,r.unref)(i.Input),{value:G.selectedVariable.defaultValue,disabled:Y.value,"aria-label":`默认值`,onChange:W[8]||=e=>Z({defaultValue:e.target.value})},null,8,[`value`,`disabled`])])])]),(0,r.createElementVNode)(`details`,h,[(0,r.createElementVNode)(`summary`,g,[(0,r.createVNode)((0,r.unref)(a.RightOutlined),{class:`gd-contract-authoring-panel__chevron`,"aria-hidden":`true`}),W[42]||=(0,r.createElementVNode)(`span`,null,`填写规则`,-1)]),(0,r.createElementVNode)(`div`,_,[(0,r.createElementVNode)(`label`,v,[W[43]||=(0,r.createElementVNode)(`span`,null,`必填`,-1),(0,r.createVNode)((0,r.unref)(i.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,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:0},[(0,r.createElementVNode)(`label`,y,[W[44]||=(0,r.createElementVNode)(`span`,null,`多行`,-1),(0,r.createVNode)((0,r.unref)(i.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,r.openBlock)(),(0,r.createElementBlock)(`label`,b,[W[45]||=(0,r.createElementVNode)(`span`,null,`行数`,-1),(0,r.createVNode)((0,r.unref)(i.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,r.createCommentVNode)(``,!0)],64)):(0,r.createCommentVNode)(``,!0),G.selectedVariable.type===`date`?((0,r.openBlock)(),(0,r.createElementBlock)(`label`,x,[W[46]||=(0,r.createElementVNode)(`span`,null,`日期格式`,-1),(0,r.createVNode)((0,r.unref)(i.Input),{value:G.selectedVariable.format,disabled:Y.value,"aria-label":`日期格式`,onChange:W[12]||=e=>Z({format:e.target.value})},null,8,[`value`,`disabled`])])):(0,r.createCommentVNode)(``,!0),G.selectedVariable.type===`number`?((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:2},[(0,r.createElementVNode)(`label`,S,[W[47]||=(0,r.createElementVNode)(`span`,null,`数字格式`,-1),(0,r.createVNode)((0,r.unref)(i.Input),{value:G.selectedVariable.format,disabled:Y.value,"aria-label":`数字格式`,onChange:W[13]||=e=>Z({format:e.target.value})},null,8,[`value`,`disabled`])]),(0,r.createElementVNode)(`label`,C,[W[48]||=(0,r.createElementVNode)(`span`,null,`小数位`,-1),(0,r.createVNode)((0,r.unref)(i.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,r.createElementVNode)(`label`,w,[W[49]||=(0,r.createElementVNode)(`span`,null,`千分位`,-1),(0,r.createVNode)((0,r.unref)(i.Switch),{checked:G.selectedVariable.useGrouping!==!1,disabled:Y.value,"aria-label":`千分位`,onChange:W[15]||=e=>Z({useGrouping:!!e})},null,8,[`checked`,`disabled`])])],64)):(0,r.createCommentVNode)(``,!0),G.selectedVariable.type===`checkbox`?((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:3},[(0,r.createElementVNode)(`label`,T,[W[50]||=(0,r.createElementVNode)(`span`,null,`勾选文本`,-1),(0,r.createVNode)((0,r.unref)(i.Input),{value:G.selectedVariable.checkedText,disabled:Y.value,"aria-label":`勾选文本`,onChange:W[16]||=e=>Z({checkedText:e.target.value})},null,8,[`value`,`disabled`])]),(0,r.createElementVNode)(`label`,E,[W[51]||=(0,r.createElementVNode)(`span`,null,`未选文本`,-1),(0,r.createVNode)((0,r.unref)(i.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,r.createCommentVNode)(``,!0),X.value?((0,r.openBlock)(),(0,r.createElementBlock)(`label`,D,[W[52]||=(0,r.createElementVNode)(`span`,null,`允许多选`,-1),(0,r.createVNode)((0,r.unref)(i.Switch),{checked:!!G.selectedVariable.multiple,disabled:Y.value,"aria-label":`允许多选`,onChange:W[18]||=e=>Z({multiple:!!e})},null,8,[`checked`,`disabled`])])):(0,r.createCommentVNode)(``,!0),Ce.value?((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:5},[(0,r.createElementVNode)(`label`,O,[W[53]||=(0,r.createElementVNode)(`span`,null,[(0,r.createTextVNode)(`本地选项 `),(0,r.createElementVNode)(`small`,{class:`gd-contract-authoring-panel__meta`},`每行 value|label`)],-1),(0,r.createVNode)((0,r.unref)(i.Input).TextArea,{value:we.value,rows:4,disabled:Y.value,"aria-label":`本地选项`,onChange:Ee},null,8,[`value`,`disabled`])]),(0,r.createElementVNode)(`label`,k,[W[54]||=(0,r.createElementVNode)(`span`,null,`数据来源`,-1),(0,r.createVNode)((0,r.unref)(i.Select),{value:G.selectedVariable.dataSource?.kind||`none`,options:[{label:`仅本地选项`,value:`none`},{label:`宿主 Resolver`,value:`resolver`},{label:`受限 URL`,value:`url`}],disabled:Y.value,"aria-label":`数据来源`,onChange:Te},null,8,[`value`,`disabled`])]),G.selectedVariable.dataSource?.kind===`resolver`?((0,r.openBlock)(),(0,r.createElementBlock)(`label`,A,[W[55]||=(0,r.createElementVNode)(`span`,null,`Resolver Key`,-1),(0,r.createVNode)((0,r.unref)(i.Input),{value:G.selectedVariable.dataSource.resolverKey,disabled:Y.value,"aria-label":`Resolver Key`,onChange:W[19]||=e=>$({resolverKey:e.target.value})},null,8,[`value`,`disabled`])])):(0,r.createCommentVNode)(``,!0),G.selectedVariable.dataSource?.kind===`url`?((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:1},[(0,r.createElementVNode)(`label`,j,[W[56]||=(0,r.createElementVNode)(`span`,null,`请求 URL`,-1),(0,r.createVNode)((0,r.unref)(i.Input),{value:G.selectedVariable.dataSource.url,disabled:Y.value,"aria-label":`请求 URL`,onChange:W[20]||=e=>$({url:e.target.value})},null,8,[`value`,`disabled`])]),(0,r.createElementVNode)(`label`,M,[W[57]||=(0,r.createElementVNode)(`span`,null,`请求方法`,-1),(0,r.createVNode)((0,r.unref)(i.Select),{value:G.selectedVariable.dataSource.method||`GET`,options:[{label:`GET`,value:`GET`},{label:`POST`,value:`POST`}],disabled:Y.value,"aria-label":`请求方法`,onChange:W[21]||=e=>$({method:e})},null,8,[`value`,`disabled`])])],64)):(0,r.createCommentVNode)(``,!0)],64)):(0,r.createCommentVNode)(``,!0)])]),(0,r.createElementVNode)(`details`,N,[(0,r.createElementVNode)(`summary`,P,[(0,r.createVNode)((0,r.unref)(a.RightOutlined),{class:`gd-contract-authoring-panel__chevron`,"aria-hidden":`true`}),W[58]||=(0,r.createElementVNode)(`span`,null,`外观`,-1)]),(0,r.createElementVNode)(`div`,F,[(0,r.createElementVNode)(`div`,I,[(0,r.createElementVNode)(`label`,L,[W[59]||=(0,r.createElementVNode)(`span`,null,[(0,r.createTextVNode)(`宽度 `),(0,r.createElementVNode)(`small`,{class:`gd-contract-authoring-panel__meta`},`px`)],-1),(0,r.createVNode)((0,r.unref)(i.InputNumber),{value:G.selectedVariable.width,min:48,max:G.selectedVariableWidthMax,disabled:Y.value,"aria-label":`控件宽度`,onChange:W[22]||=e=>Z({width:Number(e||48)})},null,8,[`value`,`max`,`disabled`])]),(0,r.createElementVNode)(`label`,R,[W[60]||=(0,r.createElementVNode)(`span`,null,[(0,r.createTextVNode)(`高度 `),(0,r.createElementVNode)(`small`,{class:`gd-contract-authoring-panel__meta`},`px`)],-1),(0,r.createVNode)((0,r.unref)(i.InputNumber),{value:G.selectedVariable.height,min:24,max:G.selectedVariableHeightMax,disabled:Y.value,"aria-label":`控件高度`,onChange:W[23]||=e=>Z({height:Number(e||24)})},null,8,[`value`,`max`,`disabled`])])]),(0,r.createElementVNode)(`label`,z,[W[61]||=(0,r.createElementVNode)(`span`,null,`边框`,-1),(0,r.createVNode)((0,r.unref)(i.Switch),{checked:!!G.selectedVariable.style?.border,disabled:Y.value,"aria-label":`边框`,onChange:W[24]||=e=>Q({border:!!e})},null,8,[`checked`,`disabled`])]),(0,r.createElementVNode)(`label`,B,[W[62]||=(0,r.createElementVNode)(`span`,null,`下划线`,-1),(0,r.createVNode)((0,r.unref)(i.Switch),{checked:!!G.selectedVariable.style?.underline,disabled:Y.value,"aria-label":`下划线`,onChange:W[25]||=e=>Q({underline:!!e})},null,8,[`checked`,`disabled`])]),(0,r.createElementVNode)(`label`,V,[W[63]||=(0,r.createElementVNode)(`span`,null,`字体`,-1),(0,r.createVNode)((0,r.unref)(i.Select),{value:G.currentVariableFontFamily,options:G.fontFamilySelectOptions,disabled:Y.value,"aria-label":`控件字体`,onChange:W[26]||=e=>K(`patchFontFamily`,e)},null,8,[`value`,`options`,`disabled`])]),(0,r.createElementVNode)(`label`,de,[W[64]||=(0,r.createElementVNode)(`span`,null,`字号`,-1),(0,r.createVNode)((0,r.unref)(i.InputNumber),{value:G.selectedVariable.style?.fontSize,min:G.minFontSize,max:G.maxFontSize,disabled:Y.value,"aria-label":`控件字号`,onChange:W[27]||=e=>K(`patchFontSize`,e)},null,8,[`value`,`min`,`max`,`disabled`])]),(0,r.createElementVNode)(`label`,H,[W[65]||=(0,r.createElementVNode)(`span`,null,`颜色`,-1),(0,r.createElementVNode)(`input`,{type:`color`,value:G.selectedVariable.style?.color||(0,r.unref)(e.DEFAULT_FIELD_STYLE).color,disabled:Y.value,"aria-label":`控件文字颜色`,onInput:W[28]||=e=>Q({color:e.target.value})},null,40,fe)]),(0,r.createElementVNode)(`label`,pe,[W[66]||=(0,r.createElementVNode)(`span`,null,`占位颜色`,-1),(0,r.createElementVNode)(`input`,{type:`color`,value:G.selectedVariable.style?.placeholderColor||(0,r.unref)(e.DEFAULT_FIELD_STYLE).placeholderColor,disabled:Y.value,"aria-label":`控件占位颜色`,onInput:W[29]||=e=>Q({placeholderColor:e.target.value})},null,40,me)]),(0,r.createElementVNode)(`label`,he,[W[67]||=(0,r.createElementVNode)(`span`,null,`线条颜色`,-1),(0,r.createElementVNode)(`input`,{type:`color`,value:G.selectedVariable.style?.lineColor||(0,r.unref)(e.DEFAULT_FIELD_STYLE).lineColor,disabled:Y.value,"aria-label":`控件线条颜色`,onInput:W[30]||=e=>Q({lineColor:e.target.value})},null,40,ge)]),(0,r.createElementVNode)(`label`,_e,[W[68]||=(0,r.createElementVNode)(`span`,null,`文字对齐`,-1),(0,r.createVNode)((0,r.unref)(i.Select),{value:G.selectedVariable.style?.textAlign||`left`,options:G.textAlignOptions,disabled:Y.value,"aria-label":`控件文字对齐`,onChange:W[31]||=e=>K(`patchTextAlign`,e)},null,8,[`value`,`options`,`disabled`])]),G.selectedVariable.type===`image`?((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:0},[(0,r.createElementVNode)(`label`,ve,[W[69]||=(0,r.createElementVNode)(`span`,null,`边框样式`,-1),(0,r.createVNode)((0,r.unref)(i.Select),{value:G.selectedVariable.style?.borderStyle||`dashed`,options:G.borderStyleOptions,disabled:Y.value,"aria-label":`图片边框样式`,onChange:W[32]||=e=>K(`patchBorderStyle`,e)},null,8,[`value`,`options`,`disabled`])]),(0,r.createElementVNode)(`label`,ye,[W[70]||=(0,r.createElementVNode)(`span`,null,`图片适配`,-1),(0,r.createVNode)((0,r.unref)(i.Select),{value:G.selectedVariable.style?.objectFit||`contain`,options:G.objectFitOptions,disabled:Y.value,"aria-label":`图片适配`,onChange:W[33]||=e=>K(`patchObjectFit`,e)},null,8,[`value`,`options`,`disabled`])])],64)):(0,r.createCommentVNode)(``,!0)])]),(0,r.createElementVNode)(`div`,be,[(0,r.createVNode)((0,r.unref)(i.Popconfirm),{title:`删除此变量及其全部引用?`,"ok-text":`删除变量`,"cancel-text":`取消`,"ok-button-props":{danger:!0},disabled:Y.value,onConfirm:Oe},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{type:`text`,danger:``,disabled:Y.value,"aria-label":`删除变量`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(a.DeleteOutlined),{"aria-hidden":`true`}),W[71]||=(0,r.createTextVNode)(`删除变量`,-1)]),_:1},8,[`disabled`])]),_:1},8,[`disabled`])])])):((0,r.openBlock)(),(0,r.createElementBlock)(`div`,le,[W[36]||=(0,r.createElementVNode)(`span`,null,`先选择一个正文变量`,-1),W[37]||=(0,r.createElementVNode)(`small`,{class:`gd-contract-authoring-panel__meta`},`点击正文控件,或从左侧「变量」中定位。`,-1),(0,r.createVNode)((0,r.unref)(i.Button),{onClick:W[4]||=e=>J.value=`insert`},{default:(0,r.withCtx)(()=>[...W[35]||=[(0,r.createTextVNode)(`前往插入控件`,-1)]]),_:1})]))],8,oe),[[r.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`),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)(),g=(0,s.ref)(),_=(0,s.ref)(n.normalizeRenderValues(p.template,p.values)),v=(0,s.ref)({..._.value}),y=(0,s.ref)(!1),b=(0,s.ref)([]),x=(0,s.ref)([]),S=(0,s.ref)(!1),C=(0,s.ref)(!1),w=(0,s.ref)(``),T=(0,s.ref)(``),E=(0,s.ref)(``),ye=(0,s.ref)(0),D=(0,s.ref)(ht(p.zoom)),O=(0,s.ref)(``),k=(0,s.ref)(`all`),A=(0,s.ref)(!1),be=(0,s.ref)(new Map),j=new Map,xe=new Map,M=new Map,Se=new Set,{width:Ce}=(0,l.useElementSize)(h),we=(0,s.computed)(()=>p.readonly||p.disabled),N=(0,s.computed)(()=>n.validateTemplateRenderStructure(p.template)),P=(0,s.computed)(()=>y.value?b.value:[...N.value,...x.value]),F=(0,s.computed)(()=>(Array.isArray(p.template?.variables)?p.template.variables:[]).filter(t=>!!t?.key&&e.isContractTemplateFieldType(t.type??`text`))),Te=(0,s.computed)(()=>{let e={..._.value};return F.value.forEach(n=>{let r=Ye(n);if(r?.toDisplayText)try{e[n.key]=r.toDisplayText(e[n.key],{variable:n,config:t.normalizeContractTemplateJsonObject(n.componentConfig)})}catch{}}),e}),Ee=(0,s.computed)(()=>F.value.filter(e=>n.isEmptyRenderValue(_.value[e.key])).length),De=(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?Te.value:v.value,{readonly:p.readonly,disabled:p.disabled,mode:e?`display`:`control`})}),Oe=(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(it)),ke=(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(Oe.value.get(e.key)??``)??n;r.allVariables.push(e),it(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(_.value[e.key])).length),B=(0,s.computed)(()=>F.value.filter(e=>e.required&&n.isEmptyRenderValue(_.value[e.key])).length),Ae=(0,s.computed)(()=>F.value.length?Math.round(z.value/F.value.length*100):0),je=(0,s.computed)(()=>y.value&&b.value.length===0),Me=(0,s.computed)(()=>y.value?je.value?`校验通过,模板与填写值均符合规则`:`发现 ${b.value.length} 个模板或填写问题`:x.value.length?`发现 ${P.value.length} 个模板或填写问题`:N.value.length?`模板存在 ${N.value.length} 个问题,已安全降级展示`:``),Ne=(0,s.computed)(()=>y.value?P.value.length>0||C.value:P.value.length>0);(0,s.watch)(()=>p.template,e=>{V(n.normalizeRenderValues(e,p.values),!1),G();let t=Array.isArray(e?.pages)?e.pages.map(e=>e?.id):[];t.includes(E.value)||(E.value=t.find(Boolean)??``),T.value&&!F.value.some(e=>e.key===T.value)&&Ge()},{deep:!0}),(0,s.watch)(()=>[p.template?.variables,p.optionResolver,p.requester,p.allowedRemoteOrigins,p.remoteRequestTimeoutMs,p.remoteOptionsCacheTtlMs],()=>{Ze()},{deep:!0,immediate:!0}),(0,s.watch)(()=>p.values,e=>{let t=n.normalizeRenderValues(p.template,e);gt(t,_.value)||(V(t,!1,{refreshInlineHtml:p.interactionMode!==`inline`}),G())},{deep:!0}),(0,s.watch)(()=>p.interactionMode,e=>{e===`inline`&&(v.value={..._.value})}),(0,s.watch)(()=>p.collapsiblePanel,e=>{e||(A.value=!1)}),(0,s.watch)(()=>p.zoom,e=>D.value=ht(e)),(0,s.watch)(I,e=>{!E.value&&e.length&&(E.value=e[0].id)},{immediate:!0});function V(e,t=!0,n={}){_.value={...e},n.refreshInlineHtml!==!1&&(v.value={...e}),t&&(m(`update:values`,{..._.value}),m(`change`,{..._.value}))}function H(e,t){if(!e||we.value)return;if(V({..._.value,[e]:t},!0,{refreshInlineHtml:p.interactionMode!==`inline`}),y.value){W();return}let r=F.value.find(t=>t.key===e);r&&(r.type??`text`)===`text`&&(x.value=[...x.value.filter(t=>t.variableKey!==e),...n.validateTemplateTextOverflow(r,t)],m(`validate`,P.value))}function Pe(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 Fe(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`[data-render-page-id]`);n?.dataset.renderPageId&&(E.value=n.dataset.renderPageId);let r=t.closest(`[data-contract-render-wrapper], [data-contract-render-control]`)?.dataset.key||``;r&&Y(r)}function Ie(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(E.value=e.pageId,e.kind===`input`){H(e.key,e.value);return}Y(e.key)}}function Le(e){if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target;!(t instanceof HTMLElement)||!t.dataset.key||(e.preventDefault(),Y(t.dataset.key))}function U(){return{..._.value}}function Re(e){V(n.normalizeRenderValues(p.template,e))}function W(){let e=n.validateTemplateRenderValues(p.template,_.value);return He(e),m(`validate`,e),e}function ze(){let e=n.resolveTemplateRenderSubmitErrors(p.template,_.value,p.validateOnSubmit);if((p.validateOnSubmit||e.length)&&(He(e),m(`validate`,e)),e.length)return qe(e[0]),!1;let t=U();return m(`submit`,t),t}function Be(){return V(n.buildInitialRenderValues(p.template)),G(),U()}function Ve(){we.value||c.Modal.confirm({title:`重置填写内容?`,content:`将恢复模板中的默认值,当前未提交的填写内容会被覆盖。`,okText:`确认重置`,cancelText:`取消`,onOk:()=>Be()})}function G(){x.value=[],y.value=!1,b.value=[],S.value=!1,C.value=!1,q()}function He(e){if(x.value=[],b.value=e,y.value=!0,S.value=!1,e.length){C.value=!1,q();return}Ue()}let K;function q(){K&&=(clearTimeout(K),void 0)}function Ue(){q(),C.value=!0,K=setTimeout(()=>{C.value=!1,K=void 0},me)}function J(e){Y(e,!0)}function We(e){p.interactionMode===`panel`&&(A.value&&=!1,F.value.some(t=>t.key===e)&&!L.value.some(t=>t.key===e)&&at())}function Y(e,t=!1){if(!e)return;We(e),T.value=e,w.value=e;let n=Oe.value.get(e);n&&(E.value=n),t&&(ye.value+=1),(0,s.nextTick)(()=>{Ke(e);let r=n?h.value?.querySelector(`[data-render-page-id="${$(n)}"]`):void 0;t&&r?.scrollIntoView({behavior:`smooth`,block:`center`,inline:`center`}),p.interactionMode===`panel`&&g.value?.querySelector(`[data-field-key="${$(e)}"]`)?.scrollIntoView({behavior:`smooth`,block:`nearest`})})}function Ge(){T.value=``,w.value=``,Ke(``)}function Ke(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 qe(e){e.variableKey?(J(e.variableKey),p.interactionMode===`panel`&&(0,s.nextTick)(()=>st(e.variableKey))):e.pageId&&mt(e.pageId)}function Je(e){return De.value.get(e)??[]}function X(e){return be.value.get(e.key)??{options:e.options??[],loading:!1}}function Ye(e){let t=e.componentKey||e.type||``;return t?p.controlRegistry?.[t]:void 0}function Z(e,t){let n=new Map(be.value);n.set(e,t),be.value=n}function Xe(e){m(`control-warning`,e)}async function Ze(){j.forEach(e=>e.abort()),j.clear(),xe.clear(),Se.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 Qe(e,t):Z(e.key,{options:t,loading:!1}),e.type===`custom`&&!Ye(e)){let t=e.componentKey||``,n=`${e.key}:${t}`;Se.has(n)||(Se.add(n),Xe({code:`CONTROL_COMPONENT_MISSING`,variableKey:e.key,componentKey:t,message:`${e.label||e.key} 未注册自定义控件 ${t||`(空)`}`}))}}))}async function Qe(e,n){let r=e.dataSource;if(!r)return;let i=new AbortController;j.set(e.key,i),Z(e.key,{options:n,loading:!0});let a=$e(e),o=Date.now(),s=xe.get(a);if(s&&s.expiresAt>o){Z(e.key,{options:s.options,loading:!1}),j.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=M.get(a);o||(o=et(e,r,c,i),M.set(a,o),o.finally(()=>{M.get(a)===o&&M.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&&xe.set(a,{options:s,expiresAt:Date.now()+l}),Z(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:`高级控件选项加载失败`;Z(e.key,{options:n,loading:!1,error:a}),Xe({code:c,variableKey:e.key,message:`${e.label||e.key}:${a}`,cause:t})}finally{j.get(e.key)===i&&j.delete(e.key)}}function $e(e){try{return JSON.stringify([e.type,e.dataSource])}catch{return`${e.key}:${e.type}`}}async function et(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 tt(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 tt(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 nt(e){let t=X(e);return{variable:e,value:_.value[e.key],errors:Je(e.key),active:T.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:()=>J(e.key)}}function rt(){let e=F.value;if(!e.length)return;let t=e.findIndex(e=>e.key===T.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(_.value[i.key])){J(i.key);return}}}function it(e){let t=O.value.trim().toLocaleLowerCase();return!t||e.key.toLocaleLowerCase().includes(t)||(e.label??``).toLocaleLowerCase().includes(t)?k.value===`unfilled`?n.isEmptyRenderValue(_.value[e.key]):k.value===`error`?Je(e.key).length>0:!0:!1}function at(){O.value=``,k.value=`all`}function ot(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&&(J(i),(0,s.nextTick)(()=>st(i)))}function st(e){(g.value?.querySelector(`[data-field-key="${$(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(),ot(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`||(A.value=!A.value)}function Q(e){let t=ht(e);return D.value=t,m(`update:zoom`,t),t}function dt(){return Q(1)}function ft(){return D.value}function pt(){let e=Math.max(...I.value.map(e=>e.width),1);return Q(Math.max(0,Ce.value-48)/e)}function mt(e){e&&(E.value=e,(0,s.nextTick)(()=>{h.value?.querySelector(`[data-render-page-id="${$(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 $(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(),Q(e.deltaY>0?D.value-d:D.value+d))}let vt;function yt(){vt?.removeEventListener(`wheel`,_t),vt=void 0}function bt(e){yt(),e&&(e.addEventListener(`wheel`,_t,{passive:!1}),vt=e)}return(0,s.watch)(h,e=>{bt(e)},{immediate:!0}),(0,s.onBeforeUnmount)(()=>{yt(),q(),j.forEach(e=>e.abort()),j.clear()}),he({showValidation:He,focusError:e=>{qe(e),e.variableKey&&(0,s.nextTick)(()=>st(e.variableKey))},getValues:U,setValues:Re,validate:W,submit:ze,resetValues:Be,scrollToVariable:J,setZoom:Q,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:Fe,onKeydown:Le,onInput:Pe,onChange:Pe},[(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":Ae.value,"required-missing-count":B.value,zoom:D.value,pages:I.value,"active-page-id":E.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":A.value,readonly:f.readonly,disabled:f.disabled,onZoomIn:t[0]||=e=>Q(D.value+d),onZoomOut:t[1]||=e=>Q(D.value-d),onResetZoom:dt,onFitWidth:pt,onSelectPage:mt,onValidate:W,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),Ne.value?((0,s.openBlock)(),(0,s.createBlock)(o.default,{key:1,passed:je.value,summary:Me.value,errors:P.value,expanded:S.value,onToggle:t[2]||=e=>S.value=!S.value,onFocusError:qe},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":w.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:D.value,"show-meta":f.showPageMeta,"font-base-url":f.contractFontBaseUrl,"active-key":w.value,"scroll-request":ye.value,onInteraction:Ie},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":A.value&&f.collapsiblePanel}])},[f.collapsiblePanel?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.Tooltip),{key:0,title:A.value?`展开填写面板`:`收起填写面板`},{default:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-renderer__panel-handle`,"aria-label":A.value?`展开填写面板`:`收起填写面板`,"aria-expanded":!A.value,onClick:t[3]||=e=>A.value=!A.value},[A.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:O.value,"onUpdate:value":t[4]||=e=>O.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:k.value,"onUpdate:value":t[5]||=e=>k.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:!Ee.value,onClick:rt},{default:(0,s.withCtx)(()=>[...t[7]||=[(0,s.createTextVNode)(` 下一个未填项 `,-1)]]),_:1},8,[`disabled`])]),(0,s.createVNode)((0,s.unref)(c.Progress),{percent:Ae.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:g,class:`gd-contract-template-renderer__field-list`,onKeydownCapture:ct},[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(ke.value,t=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:t.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},nt(t)),()=>[(0,s.createVNode)(r.default,{variable:t,value:_.value[t.key],errors:Je(t.key),active:T.value===t.key,readonly:f.readonly,disabled:f.disabled,options:X(t).options,loading:X(t).loading,"load-error":X(t).error,registration:Ye(t),"selector-http":f.selectorHttp,"selector-url-prefix":f.selectorUrlPrefix,onUpdateValue:e=>H(t.key,e),onFocusVariable:e=>J(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)(()=>[O.value||k.value!==`all`?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.Button),{key:0,type:`link`,size:`small`,onClick:at},{default:(0,s.withCtx)(()=>[...t[9]||=[(0,s.createTextVNode)(`清除筛选`,-1)]]),_:1})):(0,s.createCommentVNode)(``,!0)]),_:2},[O.value||k.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;