@guodun/antdv 1.7.5 → 1.7.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.mjs +152 -146
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererHeader.vue.mjs +45 -37
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateSingleRenderer.vue.mjs +266 -264
- package/dist/es/components/pro-contract-template-designer/src/DesignerPage.vue.mjs +351 -301
- package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +939 -914
- package/dist/es/components/pro-contract-template-designer/src/composables/use-auto-pagination.mjs +82 -47
- package/dist/es/components/pro-contract-template-designer/src/composables/use-draft-cache-session.mjs +1 -1
- package/dist/es/components/pro-contract-template-designer/src/composables/use-page-authoring.mjs +22 -21
- package/dist/es/components/pro-contract-template-designer/src/composables/use-template-authoring.mjs +37 -36
- package/dist/es/components/pro-contract-template-designer/src/composables/use-template-designer.mjs +125 -75
- package/dist/es/components/pro-contract-template-designer/src/utils/authoring-search.mjs +34 -13
- package/dist/es/components/pro-contract-template-designer/src/utils/document-outline.mjs +24 -1
- package/dist/es/components/pro-contract-template-designer/src/utils/editor-snapshot-cache.mjs +15 -0
- package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
- package/dist/es/index.mjs +21 -21
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererHeader.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateSingleRenderer.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/DesignerPage.vue.cjs +2 -2
- package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/composables/use-auto-pagination.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/composables/use-draft-cache-session.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/composables/use-page-authoring.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-authoring.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-designer.cjs +4 -4
- package/dist/lib/components/pro-contract-template-designer/src/utils/authoring-search.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/utils/document-outline.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/utils/editor-snapshot-cache.cjs +1 -0
- package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
- package/dist/lib/index.cjs +1 -1
- package/dist/theme/icon.css +1 -1
- package/dist/theme/index.css +1 -1
- package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.d.ts +1 -0
- package/dist/types/components/pro-contract-template-designer/src/ContractTemplateRendererHeader.vue.d.ts +1 -0
- package/dist/types/components/pro-contract-template-designer/src/DesignerPage.vue.d.ts +14 -0
- package/dist/types/components/pro-contract-template-designer/src/composables/use-auto-pagination.d.ts +8 -2
- package/dist/types/components/pro-contract-template-designer/src/composables/use-draft-cache-session.d.ts +1 -1
- package/dist/types/components/pro-contract-template-designer/src/composables/use-template-designer.d.ts +10 -1
- package/dist/types/components/pro-contract-template-designer/src/utils/authoring-search.d.ts +5 -0
- package/dist/types/components/pro-contract-template-designer/src/utils/document-outline.d.ts +6 -0
- package/dist/types/components/pro-contract-template-designer/src/utils/editor-snapshot-cache.d.ts +16 -0
- package/package.json +1 -1
package/dist/es/index.mjs
CHANGED
|
@@ -61,24 +61,24 @@ import { CONTRACT_TEXT_STYLE_PRESETS as st, CONTRACT_TEXT_STYLE_PRESET_COMMANDS
|
|
|
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
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,
|
|
65
|
-
import { isSafeContractImageUrl as
|
|
66
|
-
import { buildInitialRenderValues as
|
|
67
|
-
import { buildContractSigningTemplateRenderPages as
|
|
68
|
-
import { ContractSigningLocationBuildError as
|
|
69
|
-
import { CONTRACT_SIGNING_FALLBACK_PAGE_SIZE as
|
|
70
|
-
import { formatContractSigningDate as
|
|
71
|
-
import
|
|
72
|
-
import { DEFAULT_CONTRACT_IMAGE_COMPRESSION as
|
|
73
|
-
import { CUSTOM_SIGNING_LAYOUT as
|
|
74
|
-
import { CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION as
|
|
75
|
-
import { cloneContractTemplateFiles as
|
|
76
|
-
import
|
|
77
|
-
import { CONTRACT_SIGNING_FLOW_ACTION_LABELS as
|
|
78
|
-
import { buildConnectList as
|
|
79
|
-
import
|
|
80
|
-
import { useContractTemplateAgent as
|
|
81
|
-
import { adaptContractTemplateAgentSpec as
|
|
82
|
-
import
|
|
83
|
-
import { setupAppConfig as
|
|
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, fr as CONTRACT_SIGNING_FALLBACK_PAGE_SIZE, Hi as CONTRACT_SIGNING_FLOW_ACTION_LABELS, Ui as CONTRACT_SIGNING_FLOW_IDENTITY_OPTIONS, Wi as CONTRACT_SIGNING_FLOW_MAX_ZOOM, Gi as CONTRACT_SIGNING_FLOW_MIN_ZOOM, Ki as CONTRACT_SIGNING_FLOW_SEAL_TYPES, qi as CONTRACT_SIGNING_FLOW_SIGN_ACTIONS, Ji as CONTRACT_SIGNING_FLOW_ZOOM_STEP, Ae as CONTRACT_SIGNING_MIN_PLACEMENT_SIZE, pr 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, mr as CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES, Be as CONTRACT_SIGNING_VISIBLE_PAGES_DEBOUNCE_MS, mi as CONTRACT_TEMPLATE_DRAFT_CACHE_VERSION, hi 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, Jr as CUSTOM_SIGNING_LAYOUT, Zn 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, Rr as DEFAULT_CONTRACT_IMAGE_COMPRESSION, en as DEFAULT_CUSTOM_FIELD_TYPES, gi as DEFAULT_DRAFT_CACHE_INTERVAL, _i as DEFAULT_DRAFT_CACHE_KEY, vi 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, Yr 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, Lr as GdAntContractSigningLocation, d as GdAntCoverScrollBar, ae as GdAntDeptSelector, T as GdAntIcon, A as GdAntPlusUpload, b as GdAntProArea, _e as GdAntProCell, ve as GdAntProCellGroup, ua as GdAntProContractSigningFlow, ma as GdAntProContractTemplateAgentPanel, ha as GdAntProContractTemplateAgentPreview, pa as GdAntProContractTemplateAgentWorkbench, Bi as GdAntProContractTemplateDesigner, Vi 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, zr as MAX_CONTRACT_IMAGE_BYTES, Br as MAX_CONTRACT_IMAGE_DIMENSION, Xr as MAX_SIGNING_LAYOUT_PARTY_COUNT, qe as MAX_SIGNING_MARK_DIMENSION, oe as MENU_TREE_URL, Vr as MIN_CONTRACT_IMAGE_DIMENSION, Zr 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, Qr as SIGNING_LAYOUT_ARRANGEMENTS, $r as SIGNING_LAYOUT_ARRANGEMENT_LABELS, ei as SIGNING_LAYOUT_ATTRIBUTE_VALUES, ti as SIGNING_LAYOUT_FIELD_KEYS, ni as SIGNING_LAYOUT_FIELD_LABELS, ri as SIGNING_LAYOUT_PRESETS, ii 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, fa as adaptContractTemplateAgentSpec, $i as buildConnectList, Qn as buildContractSigningLocationOutput, $n as buildContractSigningLocationRules, Kn as buildContractSigningTemplateRenderPages, ai as buildDualPartySigningLayoutPreset, In as buildInitialRenderValues, hr as buildPageLayouts, oi as buildSigningLayoutContent, si as buildSigningLayoutPresetContent, ci as buildSigningLayoutPreviewModel, Qe as buildSigningMarkAttrs, cn as buildTemplateExpressionHtml, ln as buildTemplateHtml, un as buildTemplatePreviewHtml, dn as buildTemplatePreviewPages, Ln as buildTemplateRenderHtml, Rn as buildTemplateRenderPages, zn as buildTemplateVariableData, yt as canResizeContractSigningPlacement, bt as clampContractSigningPlacement, xt as clampContractSigningZoom, yi as clearTemplateDraftCache, er as cloneContractSigningLocationValue, Ai as cloneContractTemplateFiles, fn as cloneTemplateValue, e as collapseProps, pn as collectTemplateValueVariableKeys, mn as collectTemplateVariableKeys, Hr as compressContractImage, Te as configureContractPrintFonts, ji as constrainContractTemplateFiles, hn as constrainTemplatePageSizes, gr as contentPointToPagePoint, gn as createBlankPage, _n as createBlankTemplate, tr as createContractSigningLocationValue, nr as createContractSigningPlacement, Mi as createContractTemplateFile, vn as createDefaultPage, ea as createDefaultSignRule, yn as createDefaultTemplate, bn as createDesignerId, bi as createDraftCacheStatus, ta as createEndNode, na as createId, ra as createInitialFlow, ia as createSignNode, aa as createStartNode, xn as createTemplateVariable, It as decodeContractTemplateJsonAttribute, re as deptSelectorEmits, ie as deptSelectorProps, li as describeSigningLayoutOptions, St as displayPointToContractPoint, Lt as encodeContractTemplateJsonAttribute, xi as estimateDraftCacheBytes, Ni as exportContractTemplateFiles, Sn as exportTemplateValue, rr as findContractSigningPage, _r as findPageAtOffset, Cn as findPageSizeOption, Sr as formatContractSigningDate, Rt as formatContractTemplateRenderValue, Si as formatDraftCacheSavedAt, ee as generatePalette, Ci as getBrowserDraftCacheStorage, vr as getContractSigningAutoScrollDelta, Cr as getContractSigningDateDataUrl, wr as getContractSigningDateSvgDataUrl, ir as getContractSigningHomePage, Tr as getContractSigningPlacementDataUrl, Ct as getContractSigningPlacementDistances, wt as getContractSigningPlacementSize, Er as getContractSigningPlacementVisual, Tt as getContractSigningRuleGeometry, Dr as getContractSigningSealDataUrl, Or as getContractSigningSealLabel, kr as getContractSigningSealSvgDataUrl, Ar as getContractSigningSignatureDataUrl, jr as getContractSigningSignaturePngDataUrl, Mr as getContractSigningSignatureSvgDataUrl, qn as getContractSigningTemplateDisplayError, pt as getContractTextStylePreset, wn as getFieldOption, yr as getPageLayoutScrollTop, br as getPageLayoutsContentSize, Tn as getPageSizeKey, En as getPageSizeOption, $e as getSigningMarkDefaultLabel, et as getSigningMarkDefaultSize, xr as getVisibleRange, Dn as inferPageFormat, zt as isAllowedContractTemplateRemoteUrl, wi as isBlankTemplateDraftValue, Ti as isBlankTemplateFilesDraftValue, Yi as isContractSigningFlowInteractiveTarget, ar as isContractSigningPageUsable, Jn as isContractSigningTemplateFile, Yn as isContractSigningTemplateSource, Nr as isContractSigningVisualDataUrl, Nt as isContractTemplateAdvancedChoiceFieldType, Pt as isContractTemplateBuiltinSelectorFieldType, Ft as isContractTemplateFieldType, Bt as isContractTemplateSelectionValue, tt as isContractTemplateSigningMarkType, Bn as isEmptyRenderValue, Fn as isSafeContractImageUrl, Pr as isSafeContractSigningVisualDataUrl, ui as isSigningLayoutAttributeValue, di as isSigningLayoutPresetKey, Ei as loadTemplateDraftCache, Di as loadTemplateFilesDraftCache, Ve as millimetersToContractSigningCssPixels, He as millimetersToContractSigningPixels, Et as moveContractSigningPlacementByDisplayDelta, Pi as moveContractTemplateFile, Ur as normalizeContractImageCompression, Wr as normalizeContractImageDimension, Dt as normalizeContractSigningCoordinateDimension, Ot as normalizeContractSigningCoordinateScale, oa as normalizeContractSigningFlow, Xi as normalizeContractSigningFlowZoom, or as normalizeContractSigningLocationValue, sr as normalizeContractSigningProviderValue, Vt as normalizeContractTemplateControlOptions, Fi as normalizeContractTemplateFiles, Ht as normalizeContractTemplateJsonObject, $ as normalizeContractTemplateMaxPages, Ut as normalizeContractTemplateRequestTimeout, Wt as normalizeContractTemplateSelectionValue, Gt as normalizeContractTemplateSelectionValues, mt as normalizeFontFamilyValue, On as normalizePageSizeOptions, Vn as normalizeRenderValues, sa as normalizeSignRule, fi as normalizeSigningLayoutOptions, nt as normalizeSigningMarkDimension, kn as normalizeTemplateValue, cr as patchContractSigningPlacement, se as proMenuTreeEmits, ce as proMenuTreeProps, n as proModalEmits, p as proTagProps, Gr as processContractImageFile, Kr as readContractImageFileAsDataUrl, Ii as removeContractTemplateFile, Li as renameContractTemplateFile, Ri as replaceContractTemplateFile, kt as resizeContractSigningSealGeometry, Ee as resolveContractFontBaseUrl, qr as resolveContractImageResizeDimensions, lr as resolveContractSigningDefaultSealTypes, Zi as resolveContractSigningFlowZoomShortcut, Qi as resolveContractSigningFlowZoomShortcutForTarget, ur as resolveContractSigningPreviewPageSize, Fr as resolveContractSigningSealLabel, Ue as resolveContractSigningSealSizeInCssPixels, We as resolveContractSigningSealSizeInPixels, At as resolveContractSigningSealSizeLimit, Ge as resolveContractSigningSealTypeOption, jt as resolveContractSigningSizeProfile, zi as resolveContractTemplateActiveFileId, ht as resolveContractTextStylePresetCommands, gt as resolveFontFamilyOptions, An as resolvePageSize, pi as resolvePartyName, rt as resolveSigningMarkPresentation, it as resolveSigningMarkResizeDimensions, at as resolveSigningMarkResizeHandles, ot as resolveSigningMarkSealAspectRatio, Hn as resolveTemplateRenderSubmitErrors, P as resolveUserSelectorMaxCount, Y as roleSelectorEmits, X as roleSelectorProps, Un as sanitizeContractRendererHtml, Oi as saveTemplateDraftCache, ki as saveTemplateFilesDraftCache, c as scrollbarProps, ye as selectContextKey, F as selectUserContextKey, ga as setupAppConfig, te as setupTheme, Mt as snapContractSigningPlacement, jn as splitPageContentByMeasurements, Mn as syncTemplateVariablesWithPages, De as toAbsoluteContractFontBaseUrl, Ke as toContractSigningRulePageSize, Ir as toContractSigningSvgDataUrl, _a as useBasicAppConfig, ca as useContractSigningFlow, da as useContractTemplateAgent, y as useProArea, r as useProModal, i as useProModalInit, C as useProTable, D as useUpload, B as useUserSelector, I as userSelectorEmits, la as validateContractSigningFlow, dr as validateContractSigningLocationValue, Xn as validateContractSigningTemplateFile, Nn as validateContractTemplateVariableKey, Wn as validateTemplateRenderStructure, Gn as validateTemplateRenderValues, Pn as validateTemplateValue };
|
|
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 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./composables/use-template-designer.cjs`),t=require(`./utils/template-tool-icons.cjs`),n=require(`./ContractTemplatePanelTabs.cjs`),r=require(`./utils/document-outline.cjs`),i=require(`./utils/panel-search.cjs`);let a=require(`vue`),o=require(`ant-design-vue`),s=require(`@ant-design/icons-vue`);var c=[`aria-label`,`aria-expanded`],l={class:`gd-contract-template-designer__panel-stack`},u={class:`gd-contract-authoring-panel__body`},ee={class:`gd-contract-authoring-panel__search`},d={class:`gd-contract-authoring-panel__results`},f={role:`status`,"aria-live":`polite`},p=[`id`,`aria-labelledby`],m={key:0,class:`gd-contract-authoring-panel__empty`},h=[`aria-current`,`aria-label`,`onClick`],g={class:`gd-contract-authoring-panel__page-number`,"aria-hidden":`true`},_={class:`gd-contract-authoring-panel__page-copy`},te={class:`gd-contract-authoring-panel__item-title`},ne={class:`gd-contract-authoring-panel__summary`},re={class:`gd-contract-authoring-panel__meta`},v={key:1,class:`gd-contract-authoring-panel__page-config`},y={class:`gd-contract-authoring-panel__section-heading`},b=[`aria-label`],x={key:0,class:`gd-contract-authoring-panel__field`},S={class:`gd-contract-authoring-panel__meta`},C={class:`gd-contract-authoring-panel__page-actions`},w=[`id`,`aria-labelledby`],T={key:0,class:`gd-contract-authoring-panel__empty`},E={key:0,class:`gd-contract-authoring-panel__meta`},D={class:`gd-contract-authoring-panel__outline-page`},O={class:`gd-contract-authoring-panel__outline-list`},k=[`aria-label`,`onClick`],A={class:`gd-contract-authoring-panel__heading-level`,"aria-hidden":`true`},j=[`id`,`aria-labelledby`],M={key:0,class:`gd-contract-authoring-panel__empty`},N={key:0,class:`gd-contract-authoring-panel__meta`},P=[`aria-pressed`,`aria-label`,`onClick`],F={class:`gd-contract-authoring-panel__variable-icon`,"aria-hidden":`true`},I={class:`gd-contract-authoring-panel__variable-copy`},ie={class:`gd-contract-authoring-panel__item-title`},L={class:`gd-contract-authoring-panel__meta`},R=(0,a.defineComponent)({name:`ContractTemplateDesignerSidebar`,__name:`ContractTemplateDesignerSidebar`,props:{collapsed:{type:Boolean},pages:{},variables:{},decorationVariableKeys:{},activePageId:{},selectedVariableKey:{},normalizedMaxPages:{},pageLimitReached:{type:Boolean},selectedPage:{},selectedPageSize:{},normalizedPageSizeOptions:{},pageSizeOptions:{},selectedPageSizeOptionValue:{},readonly:{type:Boolean},getPageSize:{type:Function}},emits:[`toggle`,`addPage`,`activatePage`,`duplicatePage`,`removePage`,`patchPageFormat`,`scrollToVariable`,`navigateOutline`],setup(R,{emit:z}){let B=R,V=z,H=`gd-contract-navigation-${(0,a.useId)()}`,U=(0,a.shallowRef)(`pages`),W=(0,a.reactive)({pages:``,outline:``,variables:``}),G=[{value:`pages`,label:`页面`},{value:`outline`,label:`大纲`},{value:`variables`,label:`变量`}],K={pages:`搜索页面`,outline:`搜索大纲`,variables:`搜索变量`},q={pages:`页名、页码或正文`,outline:`标题文字或所在页`,variables:`名称、类型或变量标识`},J=(0,a.computed)({get:()=>W[U.value],set:e=>{W[U.value]=e}}),Y=(0,a.computed)(()=>B.pages.map((e,t)=>({page:e,number:t+1,title:e.title||`第 ${t+1} 页`,format:B.getPageSize(e).label||B.getPageSize(e).format||`自定义`,...r.readContractPageNavigation(e)}))),X=(0,a.computed)(()=>Y.value.filter(e=>i.matchesContractPanelSearch(W.pages,e.title,`第 ${e.number} 页`,e.format,e.text))),Z=(0,a.computed)(()=>Y.value.map(e=>({...e,headings:e.headings.filter(t=>i.matchesContractPanelSearch(W.outline,t.text,e.title,`第 ${e.number} 页`))})).filter(e=>e.headings.length>0)),ae=(0,a.computed)(()=>Y.value.reduce((e,t)=>e+t.headings.length,0)),Q=(0,a.computed)(()=>Z.value.reduce((e,t)=>e+t.headings.length,0)),oe=(0,a.computed)(()=>B.variables.map(t=>({variable:t,typeLabel:e.getFieldOption(t.type||`text`).label,decoration:B.decorationVariableKeys.includes(t.key)}))),$=(0,a.computed)(()=>oe.value.filter(e=>i.matchesContractPanelSearch(W.variables,e.variable.label,e.variable.key,e.variable.type||`text`,e.typeLabel,e.decoration?`页面装饰`:`正文`))),se=(0,a.computed)(()=>{let[e,t,n]={pages:[X.value.length,B.pages.length,`页`],outline:[Q.value,ae.value,`个标题`],variables:[$.value.length,B.variables.length,`个变量`]}[U.value];return J.value.trim()?`找到 ${e} / ${t} ${n}`:`共 ${t} ${n}`});function ce(e){(e===`pages`||e===`outline`||e===`variables`)&&(U.value=e)}return(e,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(`aside`,{class:(0,a.normalizeClass)([`gd-contract-template-designer__sidebar gd-contract-authoring-panel`,{"is-collapsed":B.collapsed}]),"aria-label":`合同内容导航`},[(0,a.createVNode)((0,a.unref)(o.Tooltip),{title:B.collapsed?`展开页面栏`:`收起页面栏`},{default:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-designer__panel-handle gd-contract-authoring-panel__handle`,"aria-label":B.collapsed?`展开页面栏`:`收起页面栏`,"aria-expanded":!B.collapsed,onClick:r[0]||=e=>V(`toggle`)},[B.collapsed?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(s.RightOutlined),{key:0,"aria-hidden":`true`})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(s.LeftOutlined),{key:1,"aria-hidden":`true`}))],8,c)]),_:1},8,[`title`]),(0,a.createElementVNode)(`div`,l,[(0,a.createElementVNode)(`div`,u,[(0,a.createVNode)(n.default,{id:H,"model-value":U.value,items:G,label:`导航视图`,"onUpdate:modelValue":ce},null,8,[`model-value`]),(0,a.createElementVNode)(`div`,ee,[(0,a.createVNode)((0,a.unref)(o.Input),{value:J.value,"onUpdate:value":r[1]||=e=>J.value=e,"allow-clear":``,type:`search`,"aria-label":K[U.value],placeholder:q[U.value]},{prefix:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(s.SearchOutlined),{"aria-hidden":`true`})]),_:1},8,[`value`,`aria-label`,`placeholder`])]),(0,a.createElementVNode)(`div`,d,[(0,a.createElementVNode)(`span`,f,(0,a.toDisplayString)(se.value),1),U.value===`pages`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.Tooltip),{key:0,title:B.pageLimitReached?`已达 ${B.normalizedMaxPages} 页上限`:`新增页面`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(o.Button),{type:`text`,size:`small`,class:`gd-contract-authoring-panel__action`,disabled:B.readonly||B.pageLimitReached,"aria-label":`新增页面`,onClick:r[2]||=e=>V(`addPage`)},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(s.PlusOutlined),{"aria-hidden":`true`}),r[10]||=(0,a.createTextVNode)(`新增`,-1)]),_:1},8,[`disabled`])]),_:1},8,[`title`])):(0,a.createCommentVNode)(``,!0)]),(0,a.withDirectives)((0,a.createElementVNode)(`section`,{id:`${H}-panel-pages`,role:`tabpanel`,"aria-labelledby":`${H}-tab-pages`,class:`gd-contract-authoring-panel__view`},[X.value.length?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createElementBlock)(`div`,m,[(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(W.pages.trim()?`没有匹配的页面`:`暂无页面`),1),W.pages.trim()?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.Button),{key:0,type:`link`,onClick:r[3]||=e=>W.pages=``},{default:(0,a.withCtx)(()=>[...r[11]||=[(0,a.createTextVNode)(`清空搜索`,-1)]]),_:1})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.Button),{key:1,disabled:B.readonly||B.pageLimitReached,onClick:r[4]||=e=>V(`addPage`)},{default:(0,a.withCtx)(()=>[...r[12]||=[(0,a.createTextVNode)(`新增页面`,-1)]]),_:1},8,[`disabled`]))])),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(X.value,e=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:e.page.id,type:`button`,class:(0,a.normalizeClass)([`gd-contract-authoring-panel__page`,{"is-active":B.activePageId===e.page.id}]),"aria-current":B.activePageId===e.page.id?`page`:void 0,"aria-label":`第 ${e.number} 页:${e.title},${e.format}`,onClick:t=>V(`activatePage`,e.page.id)},[(0,a.createElementVNode)(`span`,g,(0,a.toDisplayString)(e.number),1),(0,a.createElementVNode)(`span`,_,[(0,a.createElementVNode)(`span`,te,(0,a.toDisplayString)(e.title),1),(0,a.createElementVNode)(`span`,ne,(0,a.toDisplayString)(e.summary||`暂无正文文字`),1),(0,a.createElementVNode)(`small`,re,`第 `+(0,a.toDisplayString)(e.number)+` 页 · `+(0,a.toDisplayString)(e.format),1)])],10,h))),128)),B.selectedPage?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,v,[(0,a.createElementVNode)(`div`,y,[r[13]||=(0,a.createElementVNode)(`span`,null,`页面数量`,-1),(0,a.createElementVNode)(`small`,{class:`gd-contract-authoring-panel__meta`,"aria-label":`共 ${B.pages.length} 页,上限 ${B.normalizedMaxPages} 页`},(0,a.toDisplayString)(B.pages.length)+` / `+(0,a.toDisplayString)(B.normalizedMaxPages),9,b)]),B.normalizedPageSizeOptions.length>1?((0,a.openBlock)(),(0,a.createElementBlock)(`label`,x,[r[14]||=(0,a.createElementVNode)(`span`,null,`页面格式`,-1),(0,a.createVNode)((0,a.unref)(o.Select),{value:B.selectedPageSizeOptionValue,options:B.pageSizeOptions,disabled:B.readonly,"aria-label":`当前页面格式`,onChange:r[5]||=e=>V(`patchPageFormat`,e)},null,8,[`value`,`options`,`disabled`])])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`small`,S,(0,a.toDisplayString)(B.selectedPageSize.width)+` × `+(0,a.toDisplayString)(B.selectedPageSize.height)+` px`,1),(0,a.createElementVNode)(`div`,C,[(0,a.createVNode)((0,a.unref)(o.Button),{disabled:B.readonly||B.pageLimitReached,"aria-label":`复制页面`,onClick:r[6]||=e=>V(`duplicatePage`,B.selectedPage)},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(s.CopyOutlined),{"aria-hidden":`true`}),r[15]||=(0,a.createTextVNode)(`复制页 `,-1)]),_:1},8,[`disabled`]),(0,a.createVNode)((0,a.unref)(o.Button),{type:`text`,danger:``,disabled:B.readonly||B.pages.length<=1,"aria-label":`删除页面`,onClick:r[7]||=e=>V(`removePage`,B.selectedPage)},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(s.DeleteOutlined),{"aria-hidden":`true`}),r[16]||=(0,a.createTextVNode)(`删除页 `,-1)]),_:1},8,[`disabled`])])])):(0,a.createCommentVNode)(``,!0)],8,p),[[a.vShow,U.value===`pages`]]),(0,a.withDirectives)((0,a.createElementVNode)(`section`,{id:`${H}-panel-outline`,role:`tabpanel`,"aria-labelledby":`${H}-tab-outline`,class:`gd-contract-authoring-panel__view`},[Q.value?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createElementBlock)(`div`,T,[(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(W.outline.trim()?`没有匹配的标题`:`正文还没有标题`),1),W.outline.trim()?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.Button),{key:1,type:`link`,onClick:r[8]||=e=>W.outline=``},{default:(0,a.withCtx)(()=>[...r[17]||=[(0,a.createTextVNode)(`清空搜索`,-1)]]),_:1})):((0,a.openBlock)(),(0,a.createElementBlock)(`small`,E,`在正文使用标题样式后,即可在这里定位条款。`))])),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(Z.value,e=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:e.page.id,class:`gd-contract-authoring-panel__outline-group`},[(0,a.createElementVNode)(`div`,D,`第 `+(0,a.toDisplayString)(e.number)+` 页 · `+(0,a.toDisplayString)(e.title),1),(0,a.createElementVNode)(`ul`,O,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(e.headings,t=>((0,a.openBlock)(),(0,a.createElementBlock)(`li`,{key:t.headingIndex},[(0,a.createElementVNode)(`button`,{type:`button`,class:(0,a.normalizeClass)([`gd-contract-authoring-panel__outline-item`,{"is-current-page":B.activePageId===t.pageId}]),style:(0,a.normalizeStyle)({"--gd-authoring-outline-depth":t.depth}),"aria-label":`${t.text},第 ${e.number} 页,${t.level} 级标题`,onClick:e=>V(`navigateOutline`,{pageId:t.pageId,headingIndex:t.headingIndex})},[(0,a.createElementVNode)(`small`,A,`H`+(0,a.toDisplayString)(t.level),1),(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(t.text),1)],14,k)]))),128))])]))),128))],8,w),[[a.vShow,U.value===`outline`]]),(0,a.withDirectives)((0,a.createElementVNode)(`section`,{id:`${H}-panel-variables`,role:`tabpanel`,"aria-labelledby":`${H}-tab-variables`,class:`gd-contract-authoring-panel__view`},[r[19]||=(0,a.createElementVNode)(`div`,{class:`gd-contract-authoring-panel__section-heading`},[(0,a.createElementVNode)(`strong`,null,`控件参数`)],-1),$.value.length?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createElementBlock)(`div`,M,[(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(W.variables.trim()?`没有匹配的变量`:`暂无正文控件`),1),W.variables.trim()?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.Button),{key:1,type:`link`,onClick:r[9]||=e=>W.variables=``},{default:(0,a.withCtx)(()=>[...r[18]||=[(0,a.createTextVNode)(`清空搜索`,-1)]]),_:1})):((0,a.openBlock)(),(0,a.createElementBlock)(`small`,N,`从右侧「插入控件」添加,选中后可定位并修改属性。`))])),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)($.value,e=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:e.variable.id,type:`button`,class:(0,a.normalizeClass)([`gd-contract-template-designer__nav-item gd-contract-authoring-panel__variable`,{"is-active":B.selectedVariableKey===e.variable.key}]),"aria-pressed":B.selectedVariableKey===e.variable.key,"aria-label":`定位变量:${e.variable.label}(${e.variable.key})`,onClick:t=>V(`scrollToVariable`,e.variable)},[(0,a.createElementVNode)(`span`,F,[((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)((0,a.unref)(t.resolveFieldTypeIcon)(e.variable.type))))]),(0,a.createElementVNode)(`span`,I,[(0,a.createElementVNode)(`span`,ie,(0,a.toDisplayString)(e.variable.label),1),(0,a.createElementVNode)(`small`,L,(0,a.toDisplayString)(e.decoration?`页面装饰`:e.typeLabel)+` · `+(0,a.toDisplayString)(e.variable.key),1)])],10,P))),128))],8,j),[[a.vShow,U.value===`variables`]])])])],2))}});exports.default=R;
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./composables/use-template-designer.cjs`),t=require(`./utils/template-tool-icons.cjs`),n=require(`./ContractTemplatePanelTabs.cjs`),r=require(`./utils/document-outline.cjs`),i=require(`./utils/panel-search.cjs`);let a=require(`vue`),o=require(`ant-design-vue`),s=require(`@ant-design/icons-vue`);var c=[`aria-label`,`aria-expanded`],l={class:`gd-contract-template-designer__panel-stack`},u={class:`gd-contract-authoring-panel__body`},d={class:`gd-contract-authoring-panel__search`},f={class:`gd-contract-authoring-panel__results`},p={role:`status`,"aria-live":`polite`},m=[`id`,`aria-labelledby`],h={key:0,class:`gd-contract-authoring-panel__empty`},ee=[`aria-current`,`aria-label`,`onClick`],te={class:`gd-contract-authoring-panel__page-number`,"aria-hidden":`true`},ne={class:`gd-contract-authoring-panel__page-copy`},re={class:`gd-contract-authoring-panel__item-title`},ie={class:`gd-contract-authoring-panel__summary`},ae={class:`gd-contract-authoring-panel__meta`},g={key:1,class:`gd-contract-authoring-panel__page-config`},_={class:`gd-contract-authoring-panel__section-heading`},v=[`aria-label`],y={key:0,class:`gd-contract-authoring-panel__field`},b={class:`gd-contract-authoring-panel__meta`},x={class:`gd-contract-authoring-panel__page-actions`},S=[`id`,`aria-labelledby`],C={key:0,class:`gd-contract-authoring-panel__empty`},w={key:0,class:`gd-contract-authoring-panel__meta`},T={class:`gd-contract-authoring-panel__outline-page`},E={class:`gd-contract-authoring-panel__outline-list`},D=[`aria-label`,`onClick`],O={class:`gd-contract-authoring-panel__heading-level`,"aria-hidden":`true`},k=[`id`,`aria-labelledby`],A={key:0,class:`gd-contract-authoring-panel__empty`},j={key:0,class:`gd-contract-authoring-panel__meta`},M=[`aria-pressed`,`aria-label`,`onClick`],N={class:`gd-contract-authoring-panel__variable-icon`,"aria-hidden":`true`},P={class:`gd-contract-authoring-panel__variable-copy`},F={class:`gd-contract-authoring-panel__item-title`},oe={class:`gd-contract-authoring-panel__meta`},I=(0,a.defineComponent)({name:`ContractTemplateDesignerSidebar`,__name:`ContractTemplateDesignerSidebar`,props:{collapsed:{type:Boolean},fileId:{},pages:{},variables:{},decorationVariableKeys:{},activePageId:{},selectedVariableKey:{},normalizedMaxPages:{},pageLimitReached:{type:Boolean},selectedPage:{},selectedPageSize:{},normalizedPageSizeOptions:{},pageSizeOptions:{},selectedPageSizeOptionValue:{},readonly:{type:Boolean},getPageSize:{type:Function}},emits:[`toggle`,`addPage`,`activatePage`,`duplicatePage`,`removePage`,`patchPageFormat`,`scrollToVariable`,`navigateOutline`],setup(I,{emit:L}){let R=I,z=L,B=`gd-contract-navigation-${(0,a.useId)()}`,V=(0,a.shallowRef)(`pages`),H=(0,a.reactive)({pages:``,outline:``,variables:``}),U=[{value:`pages`,label:`页面`},{value:`outline`,label:`大纲`},{value:`variables`,label:`变量`}],W={pages:`搜索页面`,outline:`搜索大纲`,variables:`搜索变量`},G={pages:`页名、页码或正文`,outline:`标题文字或所在页`,variables:`名称、类型或变量标识`},K=(0,a.computed)({get:()=>H[V.value],set:e=>{H[V.value]=e}}),q=r.createContractPageNavigationCache();(0,a.watch)(()=>R.fileId,()=>q.clear(),{flush:`sync`}),(0,a.watch)(()=>JSON.stringify(R.pages.map(e=>e.id)),()=>q.retainPages(R.pages)),(0,a.onScopeDispose)(()=>q.clear());let J=(0,a.computed)(()=>{let e=q.readPages(R.pages);return R.pages.map((t,n)=>{let r=R.getPageSize(t);return{page:t,number:n+1,title:t.title||`第 ${n+1} 页`,format:r.label||r.format||`自定义`,...e[n]}})}),Y=(0,a.computed)(()=>J.value.filter(e=>i.matchesContractPanelSearch(H.pages,e.title,`第 ${e.number} 页`,e.format,e.text))),X=(0,a.computed)(()=>J.value.map(e=>({...e,headings:e.headings.filter(t=>i.matchesContractPanelSearch(H.outline,t.text,e.title,`第 ${e.number} 页`))})).filter(e=>e.headings.length>0)),se=(0,a.computed)(()=>J.value.reduce((e,t)=>e+t.headings.length,0)),Z=(0,a.computed)(()=>X.value.reduce((e,t)=>e+t.headings.length,0)),ce=(0,a.computed)(()=>R.variables.map(t=>({variable:t,typeLabel:e.getFieldOption(t.type||`text`).label,decoration:R.decorationVariableKeys.includes(t.key)}))),Q=(0,a.computed)(()=>ce.value.filter(e=>i.matchesContractPanelSearch(H.variables,e.variable.label,e.variable.key,e.variable.type||`text`,e.typeLabel,e.decoration?`页面装饰`:`正文`))),le=(0,a.computed)(()=>{if(R.collapsed)return``;let[e,t,n]=V.value===`pages`?[Y.value.length,R.pages.length,`页`]:V.value===`outline`?[Z.value,se.value,`个标题`]:[Q.value.length,R.variables.length,`个变量`];return K.value.trim()?`找到 ${e} / ${t} ${n}`:`共 ${t} ${n}`});function $(e){(e===`pages`||e===`outline`||e===`variables`)&&(V.value=e)}return(e,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(`aside`,{class:(0,a.normalizeClass)([`gd-contract-template-designer__sidebar gd-contract-authoring-panel`,{"is-collapsed":R.collapsed}]),"aria-label":`合同内容导航`},[(0,a.createVNode)((0,a.unref)(o.Tooltip),{title:R.collapsed?`展开页面栏`:`收起页面栏`},{default:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-designer__panel-handle gd-contract-authoring-panel__handle`,"aria-label":R.collapsed?`展开页面栏`:`收起页面栏`,"aria-expanded":!R.collapsed,onClick:r[0]||=e=>z(`toggle`)},[R.collapsed?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(s.RightOutlined),{key:0,"aria-hidden":`true`})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(s.LeftOutlined),{key:1,"aria-hidden":`true`}))],8,c)]),_:1},8,[`title`]),(0,a.createElementVNode)(`div`,l,[(0,a.createElementVNode)(`div`,u,[(0,a.createVNode)(n.default,{id:B,"model-value":V.value,items:U,label:`导航视图`,"onUpdate:modelValue":$},null,8,[`model-value`]),(0,a.createElementVNode)(`div`,d,[(0,a.createVNode)((0,a.unref)(o.Input),{value:K.value,"onUpdate:value":r[1]||=e=>K.value=e,"allow-clear":``,type:`search`,"aria-label":W[V.value],placeholder:G[V.value]},{prefix:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(s.SearchOutlined),{"aria-hidden":`true`})]),_:1},8,[`value`,`aria-label`,`placeholder`])]),(0,a.createElementVNode)(`div`,f,[(0,a.createElementVNode)(`span`,p,(0,a.toDisplayString)(le.value),1),V.value===`pages`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.Tooltip),{key:0,title:R.pageLimitReached?`已达 ${R.normalizedMaxPages} 页上限`:`新增页面`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(o.Button),{type:`text`,size:`small`,class:`gd-contract-authoring-panel__action`,disabled:R.readonly||R.pageLimitReached,"aria-label":`新增页面`,onClick:r[2]||=e=>z(`addPage`)},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(s.PlusOutlined),{"aria-hidden":`true`}),r[10]||=(0,a.createTextVNode)(`新增`,-1)]),_:1},8,[`disabled`])]),_:1},8,[`title`])):(0,a.createCommentVNode)(``,!0)]),(0,a.withDirectives)((0,a.createElementVNode)(`section`,{id:`${B}-panel-pages`,role:`tabpanel`,"aria-labelledby":`${B}-tab-pages`,class:`gd-contract-authoring-panel__view`},[!R.collapsed&&V.value===`pages`?((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:0},[Y.value.length?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createElementBlock)(`div`,h,[(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(H.pages.trim()?`没有匹配的页面`:`暂无页面`),1),H.pages.trim()?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.Button),{key:0,type:`link`,onClick:r[3]||=e=>H.pages=``},{default:(0,a.withCtx)(()=>[...r[11]||=[(0,a.createTextVNode)(`清空搜索`,-1)]]),_:1})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.Button),{key:1,disabled:R.readonly||R.pageLimitReached,onClick:r[4]||=e=>z(`addPage`)},{default:(0,a.withCtx)(()=>[...r[12]||=[(0,a.createTextVNode)(`新增页面`,-1)]]),_:1},8,[`disabled`]))])),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(Y.value,e=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:e.page.id,type:`button`,class:(0,a.normalizeClass)([`gd-contract-authoring-panel__page`,{"is-active":R.activePageId===e.page.id}]),"aria-current":R.activePageId===e.page.id?`page`:void 0,"aria-label":`第 ${e.number} 页:${e.title},${e.format}`,onClick:t=>z(`activatePage`,e.page.id)},[(0,a.createElementVNode)(`span`,te,(0,a.toDisplayString)(e.number),1),(0,a.createElementVNode)(`span`,ne,[(0,a.createElementVNode)(`span`,re,(0,a.toDisplayString)(e.title),1),(0,a.createElementVNode)(`span`,ie,(0,a.toDisplayString)(e.summary||`暂无正文文字`),1),(0,a.createElementVNode)(`small`,ae,`第 `+(0,a.toDisplayString)(e.number)+` 页 · `+(0,a.toDisplayString)(e.format),1)])],10,ee))),128)),R.selectedPage?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,g,[(0,a.createElementVNode)(`div`,_,[r[13]||=(0,a.createElementVNode)(`span`,null,`页面数量`,-1),(0,a.createElementVNode)(`small`,{class:`gd-contract-authoring-panel__meta`,"aria-label":`共 ${R.pages.length} 页,上限 ${R.normalizedMaxPages} 页`},(0,a.toDisplayString)(R.pages.length)+` / `+(0,a.toDisplayString)(R.normalizedMaxPages),9,v)]),R.normalizedPageSizeOptions.length>1?((0,a.openBlock)(),(0,a.createElementBlock)(`label`,y,[r[14]||=(0,a.createElementVNode)(`span`,null,`页面格式`,-1),(0,a.createVNode)((0,a.unref)(o.Select),{value:R.selectedPageSizeOptionValue,options:R.pageSizeOptions,disabled:R.readonly,"aria-label":`当前页面格式`,onChange:r[5]||=e=>z(`patchPageFormat`,e)},null,8,[`value`,`options`,`disabled`])])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`small`,b,(0,a.toDisplayString)(R.selectedPageSize.width)+` × `+(0,a.toDisplayString)(R.selectedPageSize.height)+` px`,1),(0,a.createElementVNode)(`div`,x,[(0,a.createVNode)((0,a.unref)(o.Button),{disabled:R.readonly||R.pageLimitReached,"aria-label":`复制页面`,onClick:r[6]||=e=>z(`duplicatePage`,R.selectedPage)},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(s.CopyOutlined),{"aria-hidden":`true`}),r[15]||=(0,a.createTextVNode)(`复制页 `,-1)]),_:1},8,[`disabled`]),(0,a.createVNode)((0,a.unref)(o.Button),{type:`text`,danger:``,disabled:R.readonly||R.pages.length<=1,"aria-label":`删除页面`,onClick:r[7]||=e=>z(`removePage`,R.selectedPage)},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(s.DeleteOutlined),{"aria-hidden":`true`}),r[16]||=(0,a.createTextVNode)(`删除页 `,-1)]),_:1},8,[`disabled`])])])):(0,a.createCommentVNode)(``,!0)],64)):(0,a.createCommentVNode)(``,!0)],8,m),[[a.vShow,V.value===`pages`]]),(0,a.withDirectives)((0,a.createElementVNode)(`section`,{id:`${B}-panel-outline`,role:`tabpanel`,"aria-labelledby":`${B}-tab-outline`,class:`gd-contract-authoring-panel__view`},[!R.collapsed&&V.value===`outline`?((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:0},[Z.value?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createElementBlock)(`div`,C,[(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(H.outline.trim()?`没有匹配的标题`:`正文还没有标题`),1),H.outline.trim()?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.Button),{key:1,type:`link`,onClick:r[8]||=e=>H.outline=``},{default:(0,a.withCtx)(()=>[...r[17]||=[(0,a.createTextVNode)(`清空搜索`,-1)]]),_:1})):((0,a.openBlock)(),(0,a.createElementBlock)(`small`,w,`在正文使用标题样式后,即可在这里定位条款。`))])),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(X.value,e=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:e.page.id,class:`gd-contract-authoring-panel__outline-group`},[(0,a.createElementVNode)(`div`,T,`第 `+(0,a.toDisplayString)(e.number)+` 页 · `+(0,a.toDisplayString)(e.title),1),(0,a.createElementVNode)(`ul`,E,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(e.headings,t=>((0,a.openBlock)(),(0,a.createElementBlock)(`li`,{key:t.headingIndex},[(0,a.createElementVNode)(`button`,{type:`button`,class:(0,a.normalizeClass)([`gd-contract-authoring-panel__outline-item`,{"is-current-page":R.activePageId===t.pageId}]),style:(0,a.normalizeStyle)({"--gd-authoring-outline-depth":t.depth}),"aria-label":`${t.text},第 ${e.number} 页,${t.level} 级标题`,onClick:e=>z(`navigateOutline`,{pageId:t.pageId,headingIndex:t.headingIndex})},[(0,a.createElementVNode)(`small`,O,`H`+(0,a.toDisplayString)(t.level),1),(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(t.text),1)],14,D)]))),128))])]))),128))],64)):(0,a.createCommentVNode)(``,!0)],8,S),[[a.vShow,V.value===`outline`]]),(0,a.withDirectives)((0,a.createElementVNode)(`section`,{id:`${B}-panel-variables`,role:`tabpanel`,"aria-labelledby":`${B}-tab-variables`,class:`gd-contract-authoring-panel__view`},[!R.collapsed&&V.value===`variables`?((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:0},[r[19]||=(0,a.createElementVNode)(`div`,{class:`gd-contract-authoring-panel__section-heading`},[(0,a.createElementVNode)(`strong`,null,`控件参数`)],-1),Q.value.length?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createElementBlock)(`div`,A,[(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(H.variables.trim()?`没有匹配的变量`:`暂无正文控件`),1),H.variables.trim()?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.Button),{key:1,type:`link`,onClick:r[9]||=e=>H.variables=``},{default:(0,a.withCtx)(()=>[...r[18]||=[(0,a.createTextVNode)(`清空搜索`,-1)]]),_:1})):((0,a.openBlock)(),(0,a.createElementBlock)(`small`,j,`从右侧「插入控件」添加,选中后可定位并修改属性。`))])),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(Q.value,e=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:e.variable.id,type:`button`,class:(0,a.normalizeClass)([`gd-contract-template-designer__nav-item gd-contract-authoring-panel__variable`,{"is-active":R.selectedVariableKey===e.variable.key}]),"aria-pressed":R.selectedVariableKey===e.variable.key,"aria-label":`定位变量:${e.variable.label}(${e.variable.key})`,onClick:t=>z(`scrollToVariable`,e.variable)},[(0,a.createElementVNode)(`span`,N,[((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)((0,a.unref)(t.resolveFieldTypeIcon)(e.variable.type))))]),(0,a.createElementVNode)(`span`,P,[(0,a.createElementVNode)(`span`,F,(0,a.toDisplayString)(e.variable.label),1),(0,a.createElementVNode)(`small`,oe,(0,a.toDisplayString)(e.decoration?`页面装饰`:e.typeLabel)+` · `+(0,a.toDisplayString)(e.variable.key),1)])],10,M))),128))],64)):(0,a.createCommentVNode)(``,!0)],8,k),[[a.vShow,V.value===`variables`]])])])],2))}});exports.default=I;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./ContractTemplateRendererToolbar.cjs`);let t=require(`vue`),n=require(`ant-design-vue`),r=require(`@ant-design/icons-vue`);var i={class:`gd-contract-template-renderer__header`},a={class:`gd-contract-template-renderer__title`},o={class:`gd-contract-template-renderer__header-meta`},s={class:`gd-contract-template-renderer__header-actions`},
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./ContractTemplateRendererToolbar.cjs`);let t=require(`vue`),n=require(`ant-design-vue`),r=require(`@ant-design/icons-vue`);var i={class:`gd-contract-template-renderer__header`},a={class:`gd-contract-template-renderer__title`},o={class:`gd-contract-template-renderer__header-meta`},s=[`aria-valuenow`],c={class:`gd-contract-template-renderer__header-actions`},l=(0,t.defineComponent)({name:`ContractTemplateRendererHeader`,__name:`ContractTemplateRendererHeader`,props:{title:{},filledCount:{},totalCount:{},progressPercent:{},requiredMissingCount:{},zoom:{},pages:{},activePageId:{},minZoom:{},maxZoom:{},showToolbar:{type:Boolean,default:!0},showValidateButton:{type:Boolean,default:!0},showResetButton:{type:Boolean,default:!0},showSubmitButton:{type:Boolean,default:!0},showPanelToggle:{type:Boolean,default:!1},panelCollapsed:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:[`zoomIn`,`zoomOut`,`resetZoom`,`fitWidth`,`selectPage`,`validate`,`reset`,`submit`,`togglePanel`],setup(l,{emit:u}){let d=u;return(u,f)=>((0,t.openBlock)(),(0,t.createElementBlock)(`header`,i,[(0,t.createElementVNode)(`div`,a,[f[9]||=(0,t.createElementVNode)(`span`,{class:`gd-contract-template-renderer__title-bar`,"aria-hidden":`true`},null,-1),(0,t.createElementVNode)(`div`,o,[(0,t.createElementVNode)(`strong`,null,(0,t.toDisplayString)(l.title),1),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(l.filledCount)+` / `+(0,t.toDisplayString)(l.totalCount)+` 已填写`,1)]),(0,t.createElementVNode)(`div`,{class:`gd-contract-template-renderer__header-progress`,role:`progressbar`,"aria-valuenow":l.progressPercent,"aria-valuemin":`0`,"aria-valuemax":`100`},[(0,t.createElementVNode)(`span`,{style:(0,t.normalizeStyle)({width:`${l.progressPercent}%`})},null,4),(0,t.createElementVNode)(`em`,null,(0,t.toDisplayString)(l.progressPercent)+`%`,1)],8,s),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`gd-contract-template-renderer__progress-pill`,{"is-warning":l.requiredMissingCount>0}])},(0,t.toDisplayString)(l.requiredMissingCount>0?`${l.requiredMissingCount} 项必填未完成`:`必填项已完成`),3)]),l.showToolbar?((0,t.openBlock)(),(0,t.createBlock)(e.default,{key:0,zoom:l.zoom,pages:l.pages,"active-page-id":l.activePageId,"min-zoom":l.minZoom,"max-zoom":l.maxZoom,onZoomIn:f[0]||=e=>d(`zoomIn`),onZoomOut:f[1]||=e=>d(`zoomOut`),onResetZoom:f[2]||=e=>d(`resetZoom`),onFitWidth:f[3]||=e=>d(`fitWidth`),onSelectPage:f[4]||=e=>d(`selectPage`,e)},null,8,[`zoom`,`pages`,`active-page-id`,`min-zoom`,`max-zoom`])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,c,[l.showPanelToggle?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.Tooltip),{key:0,title:l.panelCollapsed?`展开填写面板`:`收起填写面板`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Button),{size:`small`,class:`gd-contract-template-renderer__icon-button gd-contract-template-renderer__panel-toggle`,"aria-label":l.panelCollapsed?`展开填写面板`:`收起填写面板`,"aria-expanded":!l.panelCollapsed,onClick:f[5]||=e=>d(`togglePanel`)},{default:(0,t.withCtx)(()=>[l.panelCollapsed?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(r.MenuUnfoldOutlined),{key:0,"aria-hidden":`true`})):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(r.MenuFoldOutlined),{key:1,"aria-hidden":`true`}))]),_:1},8,[`aria-label`,`aria-expanded`])]),_:1},8,[`title`])):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(u.$slots,`extra`),l.showValidateButton?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.Tooltip),{key:1,title:`校验`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Button),{size:`small`,class:`gd-contract-template-renderer__icon-button`,disabled:l.readonly||l.disabled,"aria-label":`校验`,onClick:f[6]||=e=>d(`validate`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(r.AuditOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})):(0,t.createCommentVNode)(``,!0),l.showResetButton?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.Tooltip),{key:2,title:`重置默认值`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Button),{size:`small`,class:`gd-contract-template-renderer__icon-button`,disabled:l.readonly||l.disabled,"aria-label":`重置默认值`,onClick:f[7]||=e=>d(`reset`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(r.UndoOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})):(0,t.createCommentVNode)(``,!0),l.showSubmitButton&&!l.readonly?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.Button),{key:3,type:`primary`,size:`small`,disabled:l.disabled,onClick:f[8]||=e=>d(`submit`)},{icon:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(r.SendOutlined),{"aria-hidden":`true`})]),default:(0,t.withCtx)(()=>[f[10]||=(0,t.createTextVNode)(` 提交填写数据 `,-1)]),_:1},8,[`disabled`])):(0,t.createCommentVNode)(``,!0)])]))}});exports.default=l;
|
|
@@ -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`),ee=require(`@vueuse/core`),l=require(`@ant-design/icons-vue`);var te={key:2,class:`gd-contract-template-renderer__empty`},ne=[`data-highlighted-variable-key`],re={class:`gd-contract-template-renderer__pages`},ie=[`aria-label`,`aria-expanded`],ae={class:`gd-contract-template-renderer__panel-clip`},oe={class:`gd-contract-template-renderer__panel`},se={class:`gd-contract-template-renderer__panel-head`},ce={class:`gd-contract-template-renderer__panel-head-row`},le={class:`gd-contract-template-renderer__panel-head-actions`},ue={class:`gd-contract-template-renderer__field-group-head`},de={class:`gd-contract-template-renderer__field-group-items`},fe=[`data-field-key`],pe=.5,me=1.5,u=.1,he=3e3,d=(0,s.defineComponent)({name:`ContractTemplateSingleRenderer`,__name:`ContractTemplateSingleRenderer`,props:{files:{},activeFileId:{},valuesByFile:{},template:{default:void 0},values:{default:void 0},interactionMode:{default:`panel`},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},title:{default:`合同填写`},showSubmitButton:{type:Boolean,default:!0},validateOnSubmit:{type:Boolean,default:!0},showValidateButton:{type:Boolean,default:!0},showResetButton:{type:Boolean,default:!0},showToolbar:{type:Boolean,default:!0},showPageMeta:{type:Boolean,default:!0},collapsiblePanel:{type:Boolean,default:!0},zoom:{default:1},controlRegistry:{default:()=>({})},optionResolver:{type:Function,default:void 0},requester:{type:Function,default:void 0},allowedRemoteOrigins:{default:()=>[]},remoteRequestTimeoutMs:{default:1e4},remoteOptionsCacheTtlMs:{default:3e4},selectorHttp:{default:void 0},selectorUrlPrefix:{default:``},contractFontBaseUrl:{default:void 0}},emits:[`update:activeFileId`,`update:valuesByFile`,`update:values`,`change`,`validate`,`submit`,`update:zoom`,`control-warning`],setup(d,{expose:ge,emit:_e}){let f=d,p=_e,ve=[{label:`全部`,value:`all`},{label:`未填写`,value:`unfilled`},{label:`有错误`,value:`error`}],ye=(0,s.ref)(),m=(0,s.ref)(),h=(0,s.ref)(),g=(0,s.ref)(n.normalizeRenderValues(f.template,f.values)),be=(0,s.ref)({...g.value}),_=(0,s.ref)(!1),v=(0,s.ref)([]),y=(0,s.ref)(!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)(mt(f.zoom)),T=(0,s.ref)(``),E=(0,s.ref)(`all`),D=(0,s.ref)(!1),O=(0,s.ref)(new Map),k=new Map,Se=new Map,A=new Map,j=new Set,{width:Ce}=(0,ee.useElementSize)(m),we=(0,s.computed)(()=>f.readonly||f.disabled),M=(0,s.computed)(()=>n.validateTemplateRenderStructure(f.template)),N=(0,s.computed)(()=>_.value?v.value:M.value),P=(0,s.computed)(()=>(Array.isArray(f.template?.variables)?f.template.variables:[]).filter(t=>!!t?.key&&e.isContractTemplateFieldType(t.type??`text`))),Te=(0,s.computed)(()=>{let e={...g.value};return P.value.forEach(n=>{let r=Je(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)(()=>P.value.filter(e=>n.isEmptyRenderValue(g.value[e.key])).length),De=(0,s.computed)(()=>{let e=new Map;return N.value.forEach(t=>{t.variableKey&&e.set(t.variableKey,[...e.get(t.variableKey)??[],t])}),e}),F=(0,s.computed)(()=>{let e=f.interactionMode===`panel`;return n.buildTemplateRenderPages(f.template,e?Te.value:be.value,{readonly:f.readonly,disabled:f.disabled,mode:e?`display`:`control`})}),Oe=(0,s.computed)(()=>{let e=new Map,t=new Set(P.value.map(e=>e.key));return F.value.forEach(n=>{ct(n.contentHtml).forEach(r=>{t.has(r)&&!e.has(r)&&e.set(r,n.id)})}),e}),I=(0,s.computed)(()=>P.value.filter(rt)),ke=(0,s.computed)(()=>{let e=F.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 P.value.forEach(e=>{let r=t.get(Oe.value.get(e.key)??``)??n;r.allVariables.push(e),rt(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}))}),L=(0,s.computed)(()=>F.value.length>0),R=(0,s.computed)(()=>P.value.filter(e=>!n.isEmptyRenderValue(g.value[e.key])).length),z=(0,s.computed)(()=>P.value.filter(e=>e.required&&n.isEmptyRenderValue(g.value[e.key])).length),Ae=(0,s.computed)(()=>P.value.length?Math.round(R.value/P.value.length*100):0),je=(0,s.computed)(()=>_.value&&v.value.length===0),Me=(0,s.computed)(()=>_.value?je.value?`校验通过,模板与填写值均符合规则`:`发现 ${v.value.length} 个模板或填写问题`:M.value.length?`模板存在 ${M.value.length} 个问题,已安全降级展示`:``),Ne=(0,s.computed)(()=>_.value?N.value.length>0||b.value:M.value.length>0);(0,s.watch)(()=>f.template,e=>{B(n.normalizeRenderValues(e,f.values),!1),W();let t=Array.isArray(e?.pages)?e.pages.map(e=>e?.id):[];t.includes(C.value)||(C.value=t.find(Boolean)??``),S.value&&!P.value.some(e=>e.key===S.value)&&We()},{deep:!0}),(0,s.watch)(()=>[f.template?.variables,f.optionResolver,f.requester,f.allowedRemoteOrigins,f.remoteRequestTimeoutMs,f.remoteOptionsCacheTtlMs],()=>{Xe()},{deep:!0,immediate:!0}),(0,s.watch)(()=>f.values,e=>{let t=n.normalizeRenderValues(f.template,e);ht(t,g.value)||(B(t,!1,{refreshInlineHtml:f.interactionMode!==`inline`}),W())},{deep:!0}),(0,s.watch)(()=>f.interactionMode,e=>{e===`inline`&&(be.value={...g.value})}),(0,s.watch)(()=>f.collapsiblePanel,e=>{e||(D.value=!1)}),(0,s.watch)(()=>f.zoom,e=>w.value=mt(e)),(0,s.watch)(F,e=>{!C.value&&e.length&&(C.value=e[0].id)},{immediate:!0});function B(e,t=!0,n={}){g.value={...e},n.refreshInlineHtml!==!1&&(be.value={...e}),t&&(p(`update:values`,{...g.value}),p(`change`,{...g.value}))}function V(e,t){!e||we.value||(B({...g.value,[e]:t},!0,{refreshInlineHtml:f.interactionMode!==`inline`}),_.value&&U())}function Pe(e){if(f.interactionMode!==`inline`)return;let t=e.target;if(!(t instanceof HTMLInputElement)&&!(t instanceof HTMLTextAreaElement))return;let n=t.dataset.key||``;n&&(t instanceof HTMLInputElement&&t.type===`checkbox`?V(n,t.checked):t instanceof HTMLInputElement&&t.type===`number`?V(n,t.value===``?void 0:t.valueAsNumber):V(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&&(C.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=F.value.find(t=>t.id===e.pageId),n=P.value.some(t=>t.key===e.key);if(!(!t||!n||!ct(t.contentHtml).has(e.key))&&!(e.kind===`input`&&f.interactionMode!==`inline`)){if(C.value=e.pageId,e.kind===`input`){V(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 H(){return{...g.value}}function Re(e){B(n.normalizeRenderValues(f.template,e))}function U(){let e=n.validateTemplateRenderValues(f.template,g.value);return G(e),p(`validate`,e),e}function ze(){let e=n.resolveTemplateRenderSubmitErrors(f.template,g.value,f.validateOnSubmit);if((f.validateOnSubmit||e.length)&&(G(e),p(`validate`,e)),e.length)return Ke(e[0]),!1;let t=H();return p(`submit`,t),t}function Be(){return B(n.buildInitialRenderValues(f.template)),W(),H()}function Ve(){we.value||c.Modal.confirm({title:`重置填写内容?`,content:`将恢复模板中的默认值,当前未提交的填写内容会被覆盖。`,okText:`确认重置`,cancelText:`取消`,onOk:()=>Be()})}function W(){_.value=!1,v.value=[],y.value=!1,b.value=!1,q()}function G(e){if(v.value=e,_.value=!0,y.value=!1,e.length){b.value=!1,q();return}He()}let K;function q(){K&&=(clearTimeout(K),void 0)}function He(){q(),b.value=!0,K=setTimeout(()=>{b.value=!1,K=void 0},he)}function J(e){Y(e,!0)}function Ue(e){f.interactionMode===`panel`&&(D.value&&=!1,P.value.some(t=>t.key===e)&&!I.value.some(t=>t.key===e)&&it())}function Y(e,t=!1){if(!e)return;Ue(e),S.value=e,x.value=e;let n=Oe.value.get(e);n&&(C.value=n),t&&(xe.value+=1),(0,s.nextTick)(()=>{Ge(e);let r=n?m.value?.querySelector(`[data-render-page-id="${$(n)}"]`):void 0;t&&r?.scrollIntoView({behavior:`smooth`,block:`center`,inline:`center`}),f.interactionMode===`panel`&&h.value?.querySelector(`[data-field-key="${$(e)}"]`)?.scrollIntoView({behavior:`smooth`,block:`nearest`})})}function We(){S.value=``,x.value=``,Ge(``)}function Ge(e){m.value?.querySelectorAll(`[data-contract-render-wrapper], [data-contract-render-control]`).forEach(t=>t.classList.toggle(`is-active`,!!e&&t.dataset.key===e))}function Ke(e){e.variableKey?J(e.variableKey):e.pageId&&pt(e.pageId)}function qe(e){return De.value.get(e)??[]}function X(e){return O.value.get(e.key)??{options:e.options??[],loading:!1}}function Je(e){let t=e.componentKey||e.type||``;return t?f.controlRegistry?.[t]:void 0}function Z(e,t){let n=new Map(O.value);n.set(e,t),O.value=n}function Ye(e){p(`control-warning`,e)}async function Xe(){k.forEach(e=>e.abort()),k.clear(),Se.clear(),j.clear();let e=Array.isArray(f.template?.variables)?f.template.variables:[];await Promise.all(e.map(async e=>{if(!e?.key)return;let t=Array.isArray(e.options)?e.options.map(e=>({...e})):[];if(e.dataSource?await Ze(e,t):Z(e.key,{options:t,loading:!1}),e.type===`custom`&&!Je(e)){let t=e.componentKey||``,n=`${e.key}:${t}`;j.has(n)||(j.add(n),Ye({code:`CONTROL_COMPONENT_MISSING`,variableKey:e.key,componentKey:t,message:`${e.label||e.key} 未注册自定义控件 ${t||`(空)`}`}))}}))}async function Ze(e,n){let r=e.dataSource;if(!r)return;let i=new AbortController;k.set(e.key,i),Z(e.key,{options:n,loading:!0});let a=Qe(e),o=Date.now(),s=Se.get(a);if(s&&s.expiresAt>o){Z(e.key,{options:s.options,loading:!1}),k.delete(e.key);return}let c=`CONTROL_OPTIONS_LOAD_FAILED`;try{r.kind===`url`&&!t.isAllowedContractTemplateRemoteUrl(r.url,f.allowedRemoteOrigins)&&(c=`CONTROL_REMOTE_URL_BLOCKED`);let o=A.get(a);o||(o=$e(e,r,c,i),A.set(a,o),o.finally(()=>{A.get(a)===o&&A.delete(a)}).catch(()=>void 0));let s=await o;if(i.signal.aborted)return;let ee=Math.max(0,Number(f.remoteOptionsCacheTtlMs)||0);ee>0&&Se.set(a,{options:s,expiresAt:Date.now()+ee}),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}),Ye({code:c,variableKey:e.key,message:`${e.label||e.key}:${a}`,cause:t})}finally{k.get(e.key)===i&&k.delete(e.key)}}function Qe(e){try{return JSON.stringify([e.type,e.dataSource])}catch{return`${e.key}:${e.type}`}}async function $e(e,n,r,i){let a;if(n.kind===`resolver`){if(!f.optionResolver)throw Error(`缺少 resolver ${n.resolverKey} 的宿主实现`);a=await f.optionResolver({resolverKey:n.resolverKey,params:n.params,variable:e,signal:i.signal})}else{if(!t.isAllowedContractTemplateRemoteUrl(n.url,f.allowedRemoteOrigins))throw Error(`远程地址未在 allowlist 中:${n.url}`);if(!f.requester)throw Error(`缺少宿主 requester,组件库不会直接发起网络请求`);let r=t.normalizeContractTemplateRequestTimeout(n.timeoutMs,f.remoteRequestTimeoutMs);a=await et(f.requester({url:n.url,method:n.method||`GET`,params:n.params,headers:n.headers,timeoutMs:r,signal:i.signal,variable:e}),i,r)}return t.normalizeContractTemplateControlOptions(a,n.kind===`url`?n:void 0,e.type||`select`)}function et(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 tt(e){let t=X(e);return{variable:e,value:g.value[e.key],errors:qe(e.key),active:S.value===e.key,readonly:f.readonly,disabled:f.disabled,options:t.options,loading:t.loading,loadError:t.error,updateValue:t=>V(e.key,t),focusVariable:()=>J(e.key)}}function nt(){let e=P.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])){J(i.key);return}}}function rt(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`?qe(e.key).length>0:!0:!1}function it(){T.value=``,E.value=`all`}function at(e,t){let n=I.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)(()=>ot(i)))}function ot(e){(h.value?.querySelector(`[data-field-key="${$(e)}"]`))?.querySelector(`input:not([disabled]), textarea:not([disabled]), button:not([disabled])`)?.focus()}function st(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(),at(n,e.shiftKey?-1:1))}function ct(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 lt(){!f.collapsiblePanel||f.interactionMode!==`panel`||(D.value=!D.value)}function Q(e){let t=mt(e);return w.value=t,p(`update:zoom`,t),t}function ut(){return Q(1)}function dt(){return w.value}function ft(){let e=Math.max(...F.value.map(e=>e.width),1);return Q(Math.max(0,Ce.value-48)/e)}function pt(e){e&&(C.value=e,(0,s.nextTick)(()=>{m.value?.querySelector(`[data-render-page-id="${$(e)}"]`)?.scrollIntoView({behavior:`smooth`,block:`start`,inline:`center`})}))}function mt(e){let t=Number(e);return Number.isFinite(t)?Math.min(me,Math.max(pe,Math.round(t*100)/100)):1}function $(e){return e.replaceAll(`\\`,`\\\\`).replaceAll(`"`,`\\"`)}function ht(e,t){let n=new Set([...Object.keys(e),...Object.keys(t)]);return Array.from(n).every(n=>e[n]===t[n])}function gt(e){!(e.ctrlKey||e.metaKey)||!L.value||(e.preventDefault(),Q(e.deltaY>0?w.value-u:w.value+u))}let _t;function vt(){_t?.removeEventListener(`wheel`,gt),_t=void 0}function yt(e){vt(),e&&(e.addEventListener(`wheel`,gt,{passive:!1}),_t=e)}return(0,s.watch)(m,e=>{yt(e)},{immediate:!0}),(0,s.onBeforeUnmount)(()=>{vt(),q(),k.forEach(e=>e.abort()),k.clear()}),ge({showValidation:G,focusError:e=>{Ke(e),e.variableKey&&(0,s.nextTick)(()=>ot(e.variableKey))},getValues:H,setValues:Re,validate:U,submit:ze,resetValues:Be,scrollToVariable:J,setZoom:Q,resetZoom:ut,getZoom:dt,fitWidth:ft,scrollToPage:pt}),(e,t)=>((0,s.openBlock)(),(0,s.createElementBlock)(`section`,{ref_key:`rendererElement`,ref:ye,class:(0,s.normalizeClass)([`gd-contract-template-renderer`,{"is-disabled":d.disabled,"is-readonly":d.readonly,"is-panel":d.interactionMode===`panel`,"is-inline":d.interactionMode===`inline`}]),onClick:Fe,onKeydown:Le,onInput:Pe,onChange:Pe},[(0,s.renderSlot)(e.$slots,`fileBar`),L.value?((0,s.openBlock)(),(0,s.createBlock)(i.default,{key:0,title:d.title,"filled-count":R.value,"total-count":P.value.length,"required-missing-count":z.value,zoom:w.value,pages:F.value,"active-page-id":C.value,"min-zoom":pe,"max-zoom":me,"show-toolbar":d.showToolbar,"show-validate-button":d.showValidateButton,"show-reset-button":d.showResetButton,"show-submit-button":d.showSubmitButton,"show-panel-toggle":d.interactionMode===`panel`&&d.collapsiblePanel,"panel-collapsed":D.value,readonly:d.readonly,disabled:d.disabled,onZoomIn:t[0]||=e=>Q(w.value+u),onZoomOut:t[1]||=e=>Q(w.value-u),onResetZoom:ut,onFitWidth:ft,onSelectPage:pt,onValidate:U,onReset:Ve,onSubmit:ze,onTogglePanel:lt},{extra:(0,s.withCtx)(()=>[(0,s.renderSlot)(e.$slots,`headerExtra`)]),_:3},8,[`title`,`filled-count`,`total-count`,`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:N.value,expanded:y.value,onToggle:t[2]||=e=>y.value=!y.value,onFocusError:Ke},null,8,[`passed`,`summary`,`errors`,`expanded`])):(0,s.createCommentVNode)(``,!0),L.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:3,class:(0,s.normalizeClass)([`gd-contract-template-renderer__workspace`,{"is-inline":d.interactionMode===`inline`}])},[(0,s.createElementVNode)(`div`,{ref_key:`pagesViewportElement`,ref:m,class:`gd-contract-template-renderer__pages-viewport`,"data-highlighted-variable-key":x.value},[(0,s.createElementVNode)(`div`,re,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(F.value,(e,t)=>((0,s.openBlock)(),(0,s.createBlock)(a.default,{key:e.id,page:e,index:t,total:F.value.length,zoom:w.value,"show-meta":d.showPageMeta,"font-base-url":d.contractFontBaseUrl,"active-key":x.value,"scroll-request":xe.value,onInteraction:Ie},null,8,[`page`,`index`,`total`,`zoom`,`show-meta`,`font-base-url`,`active-key`,`scroll-request`]))),128))])],8,ne),d.interactionMode===`panel`?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:(0,s.normalizeClass)([`gd-contract-template-renderer__panel-wrap`,{"is-collapsed":D.value&&d.collapsiblePanel}])},[d.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)(l.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(l.RightOutlined),{key:1,"aria-hidden":`true`}))],8,ie)]),_:1},8,[`title`])):(0,s.createCommentVNode)(``,!0),(0,s.createElementVNode)(`div`,ae,[(0,s.createElementVNode)(`aside`,oe,[(0,s.createElementVNode)(`div`,se,[(0,s.createElementVNode)(`div`,ce,[(0,s.createElementVNode)(`div`,null,[t[6]||=(0,s.createElementVNode)(`strong`,null,`填写项`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(R.value)+` / `+(0,s.toDisplayString)(P.value.length)+` 已填写`,1)]),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(z.value?`${z.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)(l.SearchOutlined),{"aria-hidden":`true`})]),_:1},8,[`value`]),(0,s.createElementVNode)(`div`,le,[(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:ve},null,8,[`value`]),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:!Ee.value,onClick:nt},{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`])]),I.value.length?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:1,ref_key:`fieldListElement`,ref:h,class:`gd-contract-template-renderer__field-list`,onKeydownCapture:st},[((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`,ue,[(0,s.createElementVNode)(`strong`,null,(0,s.toDisplayString)(t.title),1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(t.variables.length)+` / `+(0,s.toDisplayString)(t.totalCount)+` 项`,1)]),(0,s.createElementVNode)(`div`,de,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(t.variables,t=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:t.id||t.key,"data-field-key":t.key},[(0,s.renderSlot)(e.$slots,`field`,(0,s.mergeProps)({ref_for:!0},tt(t)),()=>[(0,s.createVNode)(r.default,{variable:t,value:g.value[t.key],errors:qe(t.key),active:S.value===t.key,readonly:d.readonly,disabled:d.disabled,options:X(t).options,loading:X(t).loading,"load-error":X(t).error,registration:Je(t),"selector-http":d.selectorHttp,"selector-url-prefix":d.selectorUrlPrefix,onUpdateValue:e=>V(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,fe))),128))])]))),128))],544)):((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.Empty),{key:0,class:`gd-contract-template-renderer__field-empty`,description:P.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:it},{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`,te,[(0,s.createVNode)((0,s.unref)(c.Empty),{description:`暂无可渲染的合同页面`,image:(0,s.unref)(c.Empty).PRESENTED_IMAGE_SIMPLE},null,8,[`image`])]))],34))}});exports.default=d;
|
|
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,2 +1,2 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./constants.cjs`),t=require(`./utils/page-decorations.cjs`),n=require(`./composables/use-template-designer.cjs`),r=require(`./composables/use-page-authoring.cjs`),
|
|
2
|
-
`)}function se(){let e=S.value,t=e?.state.selection;if(!(!e||!t||t.empty))try{let n=e.view.coordsAtPos(t.from),r=e.view.coordsAtPos(t.to,-1);if(Math.abs(r.top-n.top)>h)return;let i=Math.abs(r.left-n.left)/K.value;return Number.isFinite(i)&&i>0?i:void 0}catch{return}}function ce(){let e=S.value,t=e?.state.selection;if(!(!e||!t||t.empty)&&!(t instanceof d.CellSelection||t instanceof f.NodeSelection))try{let n=e.view.coordsAtPos(t.from),r=e.view.coordsAtPos(t.to,-1);return{top:Math.min(n.top,r.top),bottom:Math.max(n.bottom,r.bottom),left:Math.min(n.left,r.left),right:Math.max(n.left,r.right)}}catch{return}}function le(){let e=S.value;if(!e)return``;let t=e.state.selection.$from,n=t.pos;for(let e=t.depth;e>0;--e){let r=t.node(e).type.name;if(r===`paragraph`||r===`heading`){n=t.start(e);break}}return e.state.doc.textBetween(n,e.state.selection.from,``)}function ue(e){return e.key===`ContextMenu`||e.shiftKey&&e.key===`F10`}function k(e){for(let t=e.depth;t>0;--t){let n=e.node(t).type.spec.tableRole;if(n===`cell`||n===`header_cell`)return e.before(t)}}function de(e,t){let n=S.value,r=n?.view.posAtCoords({left:e,top:t})?.pos;if(!(!n||typeof r!=`number`))return k(n.state.doc.resolve(r))}function fe(){let e=S.value;if(e)return k(e.state.selection.$from)}function A(e,t,n){let r=S.value,i=n instanceof HTMLElement?n:null;if(!r||!i?.closest(`td,th`))return!1;if(r.state.selection instanceof d.CellSelection&&i.closest(`td.selectedCell,th.selectedCell`))return!0;let a=de(e,t);return typeof a==`number`?(r.view.dispatch(r.state.tr.setSelection(d.CellSelection.create(r.state.doc,a))),!0):!1}function j(){let e=S.value,t=e?.isActive(`table`)?e.can():void 0,n=e=>!!(t&&e(t));return{addRowBefore:n(e=>e.addRowBefore()),addRowAfter:n(e=>e.addRowAfter()),deleteRow:n(e=>e.deleteRow()),addColumnBefore:n(e=>e.addColumnBefore()),addColumnAfter:n(e=>e.addColumnAfter()),deleteColumn:n(e=>e.deleteColumn()),mergeCells:n(e=>e.mergeCells()),splitCell:n(e=>e.splitCell()),alignLeft:n(e=>e.setCellAttribute(`textAlign`,`left`)),alignCenter:n(e=>e.setCellAttribute(`textAlign`,`center`)),alignRight:n(e=>e.setCellAttribute(`textAlign`,`right`)),toggleHeaderRow:n(e=>e.toggleHeaderRow()),toggleHeaderColumn:n(e=>e.toggleHeaderColumn()),deleteTable:n(e=>e.deleteTable())}}function M(){let e=S.value,t=e?.state.selection;if(!e||!(t instanceof d.CellSelection))return`left`;let n=new Set;return t.forEachCell(e=>{let t=e.attrs.textAlign;n.add(t===`center`||t===`right`?t:`left`)}),n.size===1?n.values().next().value??`left`:`mixed`}function N(e=S.value?.state.doc){let t=0;return e?.descendants(e=>{e.type.name===`templateVariable`&&(t+=1)}),t}function P(e){let t=S.value;if(!t)return 0;let n=N(t.state.doc),r=n,i=e=>{r=N(e.doc)};return e===`delete-table-row`?(0,d.deleteRow)(t.state,i):e===`delete-table-column`?(0,d.deleteColumn)(t.state,i):(0,d.deleteTable)(t.state,i),Math.max(0,n-r)}function F(e){let t=S.value?.state.selection,n=!!(t&&!t.empty);v(`editor-context-menu`,{type:`text`,...e,hasSelection:n,selectionWidth:n?se():void 0,leadingText:le()})}function I(e,t){F({pageId:_.page.id,clientX:e,clientY:t})}function L(e,t){v(`editor-context-menu`,{type:`image`,...e,image:t})}function R(e,t){if(!(e.type.name!==`image`||typeof e.attrs.src!=`string`||!e.attrs.src))return{position:t,src:e.attrs.src,alt:typeof e.attrs.alt==`string`?e.attrs.alt:void 0,title:typeof e.attrs.title==`string`?e.attrs.title:void 0,width:a.normalizeContractImageDimension(e.attrs.width),height:a.normalizeContractImageDimension(e.attrs.height)}}function z(){let e=S.value?.state.selection;if(e instanceof f.NodeSelection)return R(e.node,e.from)}function B(e,t){let n=t instanceof HTMLElement?t.closest(`[data-template-variable], img[src]`):null;if(n)try{let t=e.posAtDOM(n,0),r=e.state.doc.nodeAt(t);return!r||r.type.name!==`templateVariable`&&r.type.name!==`image`?void 0:(r.type.name===`templateVariable`&&typeof r.attrs.key==`string`&&v(`variable-select`,r.attrs.key),(!(e.state.selection instanceof f.NodeSelection)||e.state.selection.from!==t)&&e.dispatch(e.state.tr.setSelection(f.NodeSelection.create(e.state.doc,t))),R(r,t))}catch{return}}function V(e){v(`editor-context-menu`,{type:`table`,...e,capabilities:j(),activeAlignment:M(),affectedVariableCounts:{deleteRow:P(`delete-table-row`),deleteColumn:P(`delete-table-column`),deleteTable:P(`delete-table`)}})}function pe(e){return typeof e==`number`&&Number.isInteger(e)&&e>=1&&e<=6}function H(){let e=S.value;if(!e)return[];let{doc:t,selection:n}=e.state,r=[],i=e=>{e.type.name===`paragraph`?r.push(`paragraph`):e.type.name===`heading`&&pe(e.attrs.level)&&r.push(e.attrs.level)};if(n.empty)for(let e=n.$from.depth;e>0;e--){let t=n.$from.node(e);if(t.type.name===`paragraph`||t.type.name===`heading`){i(t);break}}else t.nodesBetween(n.from,n.to,e=>(i(e),!0));return Array.from(new Set(r))}function me(){let e=H();return e.length===1&&e[0]!==`paragraph`?e[0]:void 0}function he(){return H().length>1}function ge(){return[`center`,`right`].find(e=>S.value?.isActive(`heading`,{textAlign:e})||S.value?.isActive(`paragraph`,{textAlign:e}))??`left`}function U(){let e=S.value,t=t=>!!e?.isActive(t),n=e?.getAttributes(`textStyle`)??{};return{isFocused:!!e?.isFocused,canUndo:!!e?.can().undo(),canRedo:!!e?.can().redo(),isBold:t(`bold`),isItalic:t(`italic`),isUnderline:t(`underline`),isBulletList:t(`bulletList`),isOrderedList:t(`orderedList`),isTableActive:t(`table`),currentHeadingLevel:me(),hasMixedBlockFormats:he(),textAlign:ge(),fontFamily:typeof n.fontFamily==`string`?n.fontFamily:void 0,fontSize:D(n.fontSize),textColor:typeof n.color==`string`?n.color:void 0,selectionText:O(),selectedContentImage:z()}}function W(){v(`editor-state-change`,_.page.id,U())}(0,c.watch)(y,e=>{S.value?.setEditable(!e),W()}),(0,c.watch)(()=>_.page.contentHtml,e=>{!S.value||e===S.value.getHTML()||(S.value.commands.setContent(e||`<p></p>`,{emitUpdate:!1}),W())});let G=(0,c.computed)(()=>{let e=t.normalizePageDecorations(_.pageDecorations),n=_.pageIndex+1,r=t.hasEnabledPageHeader(e,n)?t.getPageDecorationSafePadding(e.header):t.CONTRACT_PAGE_BASE_PADDING.top,i=t.hasEnabledPageFooter(e,n)?t.getPageDecorationSafePadding(e.footer):t.CONTRACT_PAGE_BASE_PADDING.bottom;return{width:`${_.pageSize.width}px`,height:`${_.pageSize.height}px`,paddingTop:`${r}px`,paddingBottom:`${i}px`,"--gd-contract-page-content-height":`${Math.max(120,_.pageSize.height-r-i)}px`}}),K=(0,c.computed)(()=>Math.max(.1,_.zoom||1)),_e=(0,c.computed)(()=>({width:`${Math.ceil((_.pageSize.width+10)*K.value)}px`,height:`${Math.ceil((_.pageSize.height+40)*K.value)}px`})),ve=(0,c.computed)(()=>({"--gd-contract-page-zoom":String(K.value)})),ye=(0,c.computed)(()=>n.resolvePageSize(_.pageSize));function be(e){if(_.readonly||_.disabled){e.preventDefault(),e.stopPropagation();return}let t=e.dataTransfer?.getData(`application/x-gd-contract-variable`);if(t){e.preventDefault(),e.stopPropagation(),v(`variable-drop`,_.page.id,t,e.clientX,e.clientY);return}let n=e.dataTransfer?.getData(m);n&&n!==_.page.id&&(e.preventDefault(),e.stopPropagation(),v(`variable-move-blocked`,_.page.id))}function xe(e,t){let n=S.value;if(!n)return;let r=t?n.view.posAtCoords(t)?.pos:void 0;return i.insertTemplateVariableNode(n,e,r),$(),q()}function Se(e,t){let n=S.value;if(n)return o.runContractTemplateEditorCommand(n,{type:`insert-content-image`,image:e,position:t}),q()}function Ce(e){let t=S.value,n=t?.state.selection;if(!t||!(n instanceof f.NodeSelection)||n.node.type.name!==`image`)return;let r={...n.node.attrs},i=!1;if([`width`,`height`].forEach(t=>{if(!Object.prototype.hasOwnProperty.call(e,t))return;let n=e[t]===void 0?null:a.normalizeContractImageDimension(e[t])??null;r[t]!==n&&(r[t]=n,i=!0)}),!i)return;let o=t.state.tr.setNodeMarkup(n.from,void 0,r);return o.setSelection(f.NodeSelection.create(o.doc,n.from)),t.view.dispatch(o),q()}function we(){let e=S.value?.state.selection;return e?{from:e.from,to:e.to}:void 0}function q(){return{..._.page,pageSize:ye.value,contentHtml:S.value?.getHTML()??_.page.contentHtml,contentJson:S.value?.getJSON()??_.page.contentJson}}function J(e){return{type:`doc`,content:e.length?e:[{type:`paragraph`}]}}function Te(e){return e?.length?e.length===1&&e[0].type===`paragraph`&&!e[0].content?.length:!0}function Ee(e){return(0,ne.generateHTML)(J(e),x)}function De(){if(_.pageDecorations){let e=t.normalizePageDecorations(_.pageDecorations),n=_.pageIndex+1,r=t.hasEnabledPageHeader(e,n)?t.getPageDecorationSafePadding(e.header):t.CONTRACT_PAGE_BASE_PADDING.top,i=t.hasEnabledPageFooter(e,n)?t.getPageDecorationSafePadding(e.footer):t.CONTRACT_PAGE_BASE_PADDING.bottom;return Math.max(120,_.pageSize.height-r-i)}let e=b.value;if(!e)return _.pageSize.height-108;let n=window.getComputedStyle(e),r=Number.parseFloat(n.paddingTop)||0,i=Number.parseFloat(n.paddingBottom)||0;return Math.max(120,_.pageSize.height-r-i)}function Oe(){let e=b.value?.querySelector(`.gd-contract-template-designer__editor-prose`);if(!e)return[];let t=e.getBoundingClientRect(),n=K.value;return Array.from(e.children).map(r=>{let i=r.getBoundingClientRect(),a=r instanceof HTMLTableElement?r:r.querySelector(`:scope > table`),o=a?Array.from(a.rows).map(e=>{let r=e.getBoundingClientRect();return{top:(r.top-t.top)/n,height:r.height/n}}):void 0;return{top:(i.top-t.top)/n,height:i.height/n,...o?.length?{tableRows:o,trailingTextBlockHeight:Number.parseFloat(window.getComputedStyle(e).lineHeight)||28}:{}}})}function Y(){if(!S.value)return;let e=S.value.getJSON();return n.splitPageContentByMeasurements(e.content,Oe(),De())}function ke(){return!!Y()}function Ae(){if(!S.value)return;let e=Y();if(e)return S.value.commands.setContent(J(e.currentContent),{emitUpdate:!1}),{page:q(),overflowContent:e.overflowContent,overflowHtml:Ee(e.overflowContent)}}function je(e){if(!S.value||!e.length)return;let t=S.value.getJSON().content,n=[...e,...Te(t)?[]:t??[]];return S.value.commands.setContent(J(n),{emitUpdate:!1}),q()}function X(e,t){let n=[];return e.descendants((e,r)=>{e.type.name===`templateVariable`&&e.attrs.key===t&&n.push({node:e,pos:r})}),n}function Me(e,t=e.key){if(!S.value)return;let n=i.buildTemplateVariableAttrs(e),r=!1;return S.value.commands.command(({tr:e,state:i,dispatch:a})=>(X(i.doc,t).forEach(({node:t,pos:i})=>{e.setNodeMarkup(i,void 0,{...t.attrs,...n}),r=!0}),r&&a?.(e),r)),$(),r?q():void 0}function Ne(e){if(!S.value)return;let t=0;return S.value.commands.command(({tr:n,state:r,dispatch:i})=>{let a=X(r.doc,e).map(({node:e,pos:t})=>({from:t,to:t+e.nodeSize})).sort((e,t)=>t.from-e.from);return a.forEach(e=>n.delete(e.from,e.to)),t=a.length,t&&i?.(n),t>0}),t?q():void 0}function Z(){b.value?.querySelectorAll(`.gd-contract-template-variable.is-active`).forEach(e=>e.classList.remove(`is-active`))}function Q(e){if(e)return Array.from(b.value?.querySelectorAll(`[data-template-variable]`)??[]).find(t=>t.dataset.key===e)}function Pe(e){Z();let t=Q(e);return t?(t.classList.add(`is-active`),t.scrollIntoView({behavior:`smooth`,block:`center`,inline:`center`}),S.value?.commands.focus(),!0):!1}function $(){Z(),Q(_.selectedVariableKey)?.classList.add(`is-active`)}function Fe(t){let r=e.CONTRACT_TEXT_STYLE_PRESETS.find(e=>e.key===t),i=S.value;if(!r||!i)return;let a=i.chain().focus().clearNodes();r.headingLevel?a.setHeading({level:r.headingLevel}):a.setParagraph(),a.unsetAllMarks().unsetTextAlign().unsetFontSize().unsetFontFamily().unsetColor().setTextAlign(r.textAlign).setFontSize(`${r.fontSize}px`).setFontFamily(r.fontFamily||e.DEFAULT_CONTRACT_FONT_FAMILY).setColor(n.DEFAULT_FIELD_STYLE.color||`#1f2937`),r.bold?a.setBold():a.unsetBold(),r.italic?a.setItalic():a.unsetItalic(),r.underline?a.setUnderline():a.unsetUnderline(),a.run()}(0,c.watch)([()=>_.selectedVariableKey,()=>_.variables],()=>{(0,c.nextTick)($)},{deep:!0,flush:`post`});function Ie(e){y.value||(e.type===`apply-block-style`?S.value&&ee.applyContractTemplateBlockStyle(S.value,e.format):e.type===`apply-text-style-preset`?Fe(e.preset):o.runContractTemplateEditorCommand(S.value,e),W())}function Le(){S.value?.commands.focus()}function Re(){return S.value?.getJSON()}function ze(){return S.value?.getHTML()??_.page.contentHtml}function Be(e){let t=_.variables.find(t=>t.id===e||t.key===e),n=t?Q(t.key):void 0;$(),n?.scrollIntoView({behavior:`smooth`,block:`center`})}function Ve(){b.value?.scrollIntoView({behavior:`smooth`,block:`start`,inline:`center`})}return(0,c.onBeforeUnmount)(()=>{S.value?.off(`contract-word-paste`,E),S.value?.destroy()}),re({findText:oe,revealSearchMatch:C,replaceSearchMatches:w,focusHeading:T,focus:Le,getHTML:ze,getJSON:Re,getEditorState:U,getTableCommandCapabilities:j,getAffectedVariableCount:P,insertVariable:xe,insertContentImage:Se,updateSelectedContentImage:Ce,getSelectionRange:we,getSelectionViewportRect:ce,requestTextContextMenu:I,hasOverflowContent:ke,updateVariable:Me,removeVariable:Ne,splitOverflowContent:Ae,prependContent:je,runCommand:Ie,scrollIntoField:Be,scrollIntoVariable:Pe,scrollIntoPage:Ve}),(e,t)=>((0,c.openBlock)(),(0,c.createElementBlock)(`section`,{class:`gd-contract-template-designer__page-shell`,style:(0,c.normalizeStyle)(_e.value)},[(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)([`gd-contract-template-designer__page-zoom`,{"is-active":g.active}]),style:(0,c.normalizeStyle)(ve.value)},[(0,c.createElementVNode)(`header`,p,[(0,c.createElementVNode)(`span`,null,(0,c.toDisplayString)(g.page.title||`第 ${g.pageIndex+1} 页`),1),(0,c.createElementVNode)(`span`,null,`第 `+(0,c.toDisplayString)(g.pageIndex+1)+` 页 · `+(0,c.toDisplayString)(g.pageSize.label||`A4`)+` · `+(0,c.toDisplayString)(g.pageSize.width)+` × `+(0,c.toDisplayString)(g.pageSize.height),1)]),(0,c.createElementVNode)(`div`,{ref_key:`pageElement`,ref:b,class:`gd-contract-template-designer__page`,style:(0,c.normalizeStyle)(G.value),onDragover:t[0]||=(0,c.withModifiers)(()=>{},[`prevent`]),onDrop:be,onClick:t[1]||=e=>v(`editor-focus`,g.page.id)},[(0,c.createVNode)(te.default,{decorations:g.pageDecorations,"page-number":g.pageIndex+1,"total-pages":g.totalPages,variables:g.variables},null,8,[`decorations`,`page-number`,`total-pages`,`variables`]),(0,c.unref)(S)?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(u.EditorContent),{key:0,class:`gd-contract-template-page__content`,editor:(0,c.unref)(S)},null,8,[`editor`])):(0,c.createCommentVNode)(``,!0)],36)],6)],4))}});exports.default=g;
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./constants.cjs`),t=require(`./utils/page-decorations.cjs`),n=require(`./composables/use-template-designer.cjs`),r=require(`./utils/editor-snapshot-cache.cjs`),i=require(`./composables/use-page-authoring.cjs`),a=require(`./extensions/template-variable.cjs`),o=require(`./utils/content-image.cjs`),s=require(`./extensions/editor-extensions.cjs`),c=require(`./utils/context-variable.cjs`),ee=require(`./utils/block-style.cjs`),te=require(`./ContractTemplatePageDecorations.cjs`);let l=require(`vue`),ne=require(`ant-design-vue`),u=require(`@tiptap/vue-3`),re=require(`@tiptap/core`),d=require(`@tiptap/pm/tables`),f=require(`@tiptap/pm/state`);var ie={class:`gd-contract-template-designer__page-title`},p=`application/x-gd-contract-variable-move`,ae=8,m=(0,l.defineComponent)({name:`ProContractTemplateDesignerPage`,__name:`DesignerPage`,props:{page:{},pageIndex:{},pageSize:{},pageDecorations:{default:void 0},totalPages:{default:1},variables:{},selectedVariableKey:{default:``},active:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},zoom:{default:1},processImageFile:{type:Function,default:void 0},searchQuery:{default:``},searchMatchCase:{type:Boolean,default:!1},activeSearchMatch:{default:void 0}},emits:[`page-update`,`variable-drop`,`variable-select`,`variable-move-blocked`,`editor-focus`,`editor-ready`,`composition-end`,`page-layout-change`,`editor-state-change`,`editor-context-menu`,`word-paste`],setup(m,{expose:oe,emit:se}){let h=m,g=se,_=(0,l.computed)(()=>h.readonly||h.disabled),v=(0,l.ref)(),y=r.createEditorSnapshotCache(),b=!1,x,S,C=!1,w=!1,ce=h.page.contentHtml;function T(){return w&&!C}function E(){return b||!!O.value?.view.composing}function le(e){let t=e.filter(Boolean).join(`、`);return typeof window>`u`?!1:new Promise(e=>{ne.Modal.confirm({title:`粘贴内容包含不兼容字体`,content:`检测到 ${t||`外部`} 字体。为保证 Mac 与 Windows 排版一致,将统一转换为合同标准字体(GD Contract Latin + 系统宋体)。是否继续粘贴?`,okText:`继续粘贴`,cancelText:`取消粘贴`,onOk:()=>e(!0),onCancel:()=>e(!1)})})}let D=s.createEditorExtensions(`请输入合同正文,或从 WPS / Word 粘贴合同内容`,{processImageFile:h.processImageFile,confirmExternalFontPaste:le,getZoom:()=>Math.max(.1,h.zoom||1)}),O=(0,u.useEditor)({content:h.page.contentHtml,editable:!_.value,extensions:D,editorProps:{attributes:{class:`gd-contract-template-designer__editor-prose`},handleClick:(e,t,n)=>{let r=(n.target instanceof HTMLElement?n.target.closest(`[data-template-variable]`):void 0)?.dataset.key;if(!r)return!1;let i=h.variables.find(e=>e.key===r);return i&&g(`variable-select`,i.key),!1},handleDOMEvents:{compositionstart:()=>(b=!0,x!==void 0&&clearTimeout(x),!1),compositionend:()=>(b=!1,x=setTimeout(()=>{if(x=void 0,!(C||E())){if(S!==void 0){let e=S;S=void 0,H(e)}g(`page-update`,W()),g(`composition-end`,h.page.id)}},0),!1),contextmenu:(e,t)=>{if(_.value)return!1;let n=Te(e,t.target);if(n)return t.preventDefault(),F({pageId:h.page.id,clientX:t.clientX,clientY:t.clientY},n),!0;let r=O.value?.state.selection,i=r instanceof d.CellSelection,a=t.target instanceof HTMLElement?!!t.target.closest(`td, th`):!1,o=c.resolveEditorContextMenuKind({isCellSelection:i,selectionEmpty:!r||r.empty,inTable:a});return t.preventDefault(),o===`table`&&(i||Se(t.clientX,t.clientY,t.target))?(R({pageId:h.page.id,clientX:t.clientX,clientY:t.clientY}),!0):(P({pageId:h.page.id,clientX:t.clientX,clientY:t.clientY}),!0)},dragstart:(e,t)=>_.value?(t.preventDefault(),!0):(t.target instanceof HTMLElement?t.target:null)?.closest(`[data-template-variable]`)?(t.dataTransfer?.setData(p,h.page.id),t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`),v.value?.classList.add(`is-variable-dragging`),!1):!1,dragend:()=>(v.value?.classList.remove(`is-variable-dragging`),!1),drop:(e,t)=>{if(_.value)return t.preventDefault(),t.stopPropagation(),!0;let n=t.dataTransfer?.getData(p);return!n||n===h.page.id?!1:(t.preventDefault(),g(`variable-move-blocked`,h.page.id),!0)}},handleKeyDown:(e,t)=>{if(_.value||!ye(t))return!1;let n=O.value;if(!n)return!1;t.preventDefault();let r=n.state.selection,i=L();if(i){let e=n.view.coordsAtPos(r.from);return F({pageId:h.page.id,clientX:e.left,clientY:e.bottom},i),!0}let a=r instanceof d.CellSelection;if(c.resolveEditorContextMenuKind({isCellSelection:a,selectionEmpty:r.empty,inTable:n.isActive(`table`)})===`table`){if(!a){let e=xe();typeof e==`number`&&n.view.dispatch(n.state.tr.setSelection(d.CellSelection.create(n.state.doc,e)))}let e=n.view.coordsAtPos(n.state.selection.from);return R({pageId:h.page.id,clientX:e.left,clientY:e.bottom}),!0}let o=n.view.coordsAtPos(n.state.selection.from);return P({pageId:h.page.id,clientX:o.left,clientY:o.bottom}),!0}},onUpdate:({editor:e})=>{g(`page-update`,{...h.page,contentHtml:y.read(e).getHTML(),contentJson:y.read(e).getJSON()}),V()},onFocus:()=>{g(`editor-focus`,h.page.id),V()},onBlur:V,onSelectionUpdate:V,onCreate:({editor:e})=>{h.page.contentHtml!==ce&&h.page.contentHtml!==y.read(e).getHTML()&&(b||e.view.composing?S=h.page.contentHtml:e.commands.setContent(h.page.contentHtml||`<p></p>`,{emitUpdate:!1})),w=!0,e.on(`contract-word-paste`,k),V(),g(`editor-ready`,h.page.id)}}),{findText:ue,revealSearchMatch:de,replaceSearchMatches:fe,focusHeading:pe}=i.usePageAuthoring({editor:()=>O.value,readonly:()=>_.value,search:()=>({query:h.searchQuery,matchCase:h.searchMatchCase,activeMatch:h.activeSearchMatch})});function k(e){g(`word-paste`,e)}function me(e){if(typeof e==`number`&&Number.isFinite(e))return e;let t=String(e||``).match(/(\d+(\.\d+)?)/);return t?Number(t[1]):void 0}function he(){if(!O.value)return``;let{from:e,to:t}=O.value.state.selection;return O.value.state.doc.textBetween(e,t,`
|
|
2
|
+
`)}function ge(){let e=O.value,t=e?.state.selection;if(!(!e||!t||t.empty))try{let n=e.view.coordsAtPos(t.from),r=e.view.coordsAtPos(t.to,-1);if(Math.abs(r.top-n.top)>ae)return;let i=Math.abs(r.left-n.left)/U.value;return Number.isFinite(i)&&i>0?i:void 0}catch{return}}function _e(){let e=O.value,t=e?.state.selection;if(!(!e||!t||t.empty)&&!(t instanceof d.CellSelection||t instanceof f.NodeSelection))try{let n=e.view.coordsAtPos(t.from),r=e.view.coordsAtPos(t.to,-1);return{top:Math.min(n.top,r.top),bottom:Math.max(n.bottom,r.bottom),left:Math.min(n.left,r.left),right:Math.max(n.left,r.right)}}catch{return}}function ve(){let e=O.value;if(!e)return``;let t=e.state.selection.$from,n=t.pos;for(let e=t.depth;e>0;--e){let r=t.node(e).type.name;if(r===`paragraph`||r===`heading`){n=t.start(e);break}}return e.state.doc.textBetween(n,e.state.selection.from,``)}function ye(e){return e.key===`ContextMenu`||e.shiftKey&&e.key===`F10`}function A(e){for(let t=e.depth;t>0;--t){let n=e.node(t).type.spec.tableRole;if(n===`cell`||n===`header_cell`)return e.before(t)}}function be(e,t){let n=O.value,r=n?.view.posAtCoords({left:e,top:t})?.pos;if(!(!n||typeof r!=`number`))return A(n.state.doc.resolve(r))}function xe(){let e=O.value;if(e)return A(e.state.selection.$from)}function Se(e,t,n){let r=O.value,i=n instanceof HTMLElement?n:null;if(!r||!i?.closest(`td,th`))return!1;if(r.state.selection instanceof d.CellSelection&&i.closest(`td.selectedCell,th.selectedCell`))return!0;let a=be(e,t);return typeof a==`number`?(r.view.dispatch(r.state.tr.setSelection(d.CellSelection.create(r.state.doc,a))),!0):!1}function j(){let e=O.value,t=e?.isActive(`table`)?e.can():void 0,n=e=>!!(t&&e(t));return{addRowBefore:n(e=>e.addRowBefore()),addRowAfter:n(e=>e.addRowAfter()),deleteRow:n(e=>e.deleteRow()),addColumnBefore:n(e=>e.addColumnBefore()),addColumnAfter:n(e=>e.addColumnAfter()),deleteColumn:n(e=>e.deleteColumn()),mergeCells:n(e=>e.mergeCells()),splitCell:n(e=>e.splitCell()),alignLeft:n(e=>e.setCellAttribute(`textAlign`,`left`)),alignCenter:n(e=>e.setCellAttribute(`textAlign`,`center`)),alignRight:n(e=>e.setCellAttribute(`textAlign`,`right`)),toggleHeaderRow:n(e=>e.toggleHeaderRow()),toggleHeaderColumn:n(e=>e.toggleHeaderColumn()),deleteTable:n(e=>e.deleteTable())}}function Ce(){let e=O.value,t=e?.state.selection;if(!e||!(t instanceof d.CellSelection))return`left`;let n=new Set;return t.forEachCell(e=>{let t=e.attrs.textAlign;n.add(t===`center`||t===`right`?t:`left`)}),n.size===1?n.values().next().value??`left`:`mixed`}function M(e=O.value?.state.doc){let t=0;return e?.descendants(e=>{e.type.name===`templateVariable`&&(t+=1)}),t}function N(e){let t=O.value;if(!t)return 0;let n=M(t.state.doc),r=n,i=e=>{r=M(e.doc)};return e===`delete-table-row`?(0,d.deleteRow)(t.state,i):e===`delete-table-column`?(0,d.deleteColumn)(t.state,i):(0,d.deleteTable)(t.state,i),Math.max(0,n-r)}function P(e){let t=O.value?.state.selection,n=!!(t&&!t.empty);g(`editor-context-menu`,{type:`text`,...e,hasSelection:n,selectionWidth:n?ge():void 0,leadingText:ve()})}function we(e,t){P({pageId:h.page.id,clientX:e,clientY:t})}function F(e,t){g(`editor-context-menu`,{type:`image`,...e,image:t})}function I(e,t){if(!(e.type.name!==`image`||typeof e.attrs.src!=`string`||!e.attrs.src))return{position:t,src:e.attrs.src,alt:typeof e.attrs.alt==`string`?e.attrs.alt:void 0,title:typeof e.attrs.title==`string`?e.attrs.title:void 0,width:o.normalizeContractImageDimension(e.attrs.width),height:o.normalizeContractImageDimension(e.attrs.height)}}function L(){let e=O.value?.state.selection;if(e instanceof f.NodeSelection)return I(e.node,e.from)}function Te(e,t){let n=t instanceof HTMLElement?t.closest(`[data-template-variable], img[src]`):null;if(n)try{let t=e.posAtDOM(n,0),r=e.state.doc.nodeAt(t);return!r||r.type.name!==`templateVariable`&&r.type.name!==`image`?void 0:(r.type.name===`templateVariable`&&typeof r.attrs.key==`string`&&g(`variable-select`,r.attrs.key),(!(e.state.selection instanceof f.NodeSelection)||e.state.selection.from!==t)&&e.dispatch(e.state.tr.setSelection(f.NodeSelection.create(e.state.doc,t))),I(r,t))}catch{return}}function R(e){g(`editor-context-menu`,{type:`table`,...e,capabilities:j(),activeAlignment:Ce(),affectedVariableCounts:{deleteRow:N(`delete-table-row`),deleteColumn:N(`delete-table-column`),deleteTable:N(`delete-table`)}})}function Ee(e){return typeof e==`number`&&Number.isInteger(e)&&e>=1&&e<=6}function z(){let e=O.value;if(!e)return[];let{doc:t,selection:n}=e.state,r=[],i=e=>{e.type.name===`paragraph`?r.push(`paragraph`):e.type.name===`heading`&&Ee(e.attrs.level)&&r.push(e.attrs.level)};if(n.empty)for(let e=n.$from.depth;e>0;e--){let t=n.$from.node(e);if(t.type.name===`paragraph`||t.type.name===`heading`){i(t);break}}else t.nodesBetween(n.from,n.to,e=>(i(e),!0));return Array.from(new Set(r))}function De(){let e=z();return e.length===1&&e[0]!==`paragraph`?e[0]:void 0}function Oe(){return z().length>1}function ke(){return[`center`,`right`].find(e=>O.value?.isActive(`heading`,{textAlign:e})||O.value?.isActive(`paragraph`,{textAlign:e}))??`left`}function B(){let e=O.value,t=t=>!!e?.isActive(t),n=e?.getAttributes(`textStyle`)??{};return{isFocused:!!e?.isFocused,canUndo:!!e?.can().undo(),canRedo:!!e?.can().redo(),isBold:t(`bold`),isItalic:t(`italic`),isUnderline:t(`underline`),isBulletList:t(`bulletList`),isOrderedList:t(`orderedList`),isTableActive:t(`table`),currentHeadingLevel:De(),hasMixedBlockFormats:Oe(),textAlign:ke(),fontFamily:typeof n.fontFamily==`string`?n.fontFamily:void 0,fontSize:me(n.fontSize),textColor:typeof n.color==`string`?n.color:void 0,selectionText:he(),selectedContentImage:L()}}function V(){g(`editor-state-change`,h.page.id,B())}(0,l.watch)(_,e=>{O.value?.setEditable(!e),V()}),(0,l.watch)(()=>h.page.contentHtml,e=>{H(e)});function H(e){if(!O.value||e===$()){S=void 0;return}if(E()){S=e;return}O.value.commands.setContent(e||`<p></p>`,{emitUpdate:!1}),V()}let Ae=(0,l.computed)(()=>{let e=t.normalizePageDecorations(h.pageDecorations),n=h.pageIndex+1,r=t.hasEnabledPageHeader(e,n)?t.getPageDecorationSafePadding(e.header):t.CONTRACT_PAGE_BASE_PADDING.top,i=t.hasEnabledPageFooter(e,n)?t.getPageDecorationSafePadding(e.footer):t.CONTRACT_PAGE_BASE_PADDING.bottom;return{width:`${h.pageSize.width}px`,height:`${h.pageSize.height}px`,paddingTop:`${r}px`,paddingBottom:`${i}px`,"--gd-contract-page-content-height":`${Math.max(120,h.pageSize.height-r-i)}px`}}),U=(0,l.computed)(()=>Math.max(.1,h.zoom||1)),je=(0,l.computed)(()=>({width:`${Math.ceil((h.pageSize.width+10)*U.value)}px`,height:`${Math.ceil((h.pageSize.height+40)*U.value)}px`})),Me=(0,l.computed)(()=>({"--gd-contract-page-zoom":String(U.value)})),Ne=(0,l.computed)(()=>n.resolvePageSize(h.pageSize));function Pe(e){if(h.readonly||h.disabled){e.preventDefault(),e.stopPropagation();return}let t=e.dataTransfer?.getData(`application/x-gd-contract-variable`);if(t){e.preventDefault(),e.stopPropagation(),g(`variable-drop`,h.page.id,t,e.clientX,e.clientY);return}let n=e.dataTransfer?.getData(p);n&&n!==h.page.id&&(e.preventDefault(),e.stopPropagation(),g(`variable-move-blocked`,h.page.id))}function Fe(e,t){let n=O.value;if(!n)return;let r=t?n.view.posAtCoords(t)?.pos:void 0;return a.insertTemplateVariableNode(n,e,r),Z(),W()}function Ie(e,t){let n=O.value;if(n)return s.runContractTemplateEditorCommand(n,{type:`insert-content-image`,image:e,position:t}),W()}function Le(e){let t=O.value,n=t?.state.selection;if(!t||!(n instanceof f.NodeSelection)||n.node.type.name!==`image`)return;let r={...n.node.attrs},i=!1;if([`width`,`height`].forEach(t=>{if(!Object.prototype.hasOwnProperty.call(e,t))return;let n=e[t]===void 0?null:o.normalizeContractImageDimension(e[t])??null;r[t]!==n&&(r[t]=n,i=!0)}),!i)return;let a=t.state.tr.setNodeMarkup(n.from,void 0,r);return a.setSelection(f.NodeSelection.create(a.doc,n.from)),t.view.dispatch(a),W()}function Re(){let e=O.value?.state.selection;return e?{from:e.from,to:e.to}:void 0}function W(){return{...h.page,pageSize:Ne.value,contentHtml:$(),contentJson:Q()??h.page.contentJson}}function ze(e){if(!T())return{contentHtml:e.contentHtml,contentJson:e.contentJson};let t=$();return!E()&&e.contentHtml!==h.page.contentHtml&&e.contentHtml!==t?{contentHtml:e.contentHtml,contentJson:e.contentJson}:{contentHtml:t,contentJson:Q()}}function G(e){return{type:`doc`,content:e.length?e:[{type:`paragraph`}]}}function Be(e){return e?.length?e.length===1&&e[0].type===`paragraph`&&!e[0].content?.length:!0}function Ve(e){return(0,re.generateHTML)(G(e),D)}function He(){if(h.pageDecorations){let e=t.normalizePageDecorations(h.pageDecorations),n=h.pageIndex+1,r=t.hasEnabledPageHeader(e,n)?t.getPageDecorationSafePadding(e.header):t.CONTRACT_PAGE_BASE_PADDING.top,i=t.hasEnabledPageFooter(e,n)?t.getPageDecorationSafePadding(e.footer):t.CONTRACT_PAGE_BASE_PADDING.bottom;return Math.max(120,h.pageSize.height-r-i)}let e=v.value;if(!e)return h.pageSize.height-108;let n=window.getComputedStyle(e),r=Number.parseFloat(n.paddingTop)||0,i=Number.parseFloat(n.paddingBottom)||0;return Math.max(120,h.pageSize.height-r-i)}function Ue(){let e=v.value?.querySelector(`.gd-contract-template-designer__editor-prose`);if(!e)return[];let t=e.getBoundingClientRect(),n=U.value;return Array.from(e.children).map(r=>{let i=r.getBoundingClientRect(),a=r instanceof HTMLTableElement?r:r.querySelector(`:scope > table`),o=a?Array.from(a.rows).map(e=>{let r=e.getBoundingClientRect();return{top:(r.top-t.top)/n,height:r.height/n}}):void 0;return{top:(i.top-t.top)/n,height:i.height/n,...o?.length?{tableRows:o,trailingTextBlockHeight:Number.parseFloat(window.getComputedStyle(e).lineHeight)||28}:{}}})}function K(){if(!O.value)return;let e=Ue(),t=He();if(e.some(e=>e.top+e.height>t+1))return n.splitPageContentByMeasurements(Q()?.content,e,t)}function We(){return!!K()}function Ge(){if(!O.value||!T()||E())return;let e=K();if(e)return O.value.commands.setContent(G(e.currentContent),{emitUpdate:!1}),{page:W(),overflowContent:e.overflowContent,overflowHtml:Ve(e.overflowContent)}}function Ke(e){if(!O.value||!T()||E()||!e.length)return;let t=Q()?.content,n=[...e,...Be(t)?[]:t??[]];return O.value.commands.setContent(G(n),{emitUpdate:!1}),W()}function q(e,t){let n=[];return e.descendants((e,r)=>{e.type.name===`templateVariable`&&e.attrs.key===t&&n.push({node:e,pos:r})}),n}function J(e,t=e.key){if(!O.value)return;let n=a.buildTemplateVariableAttrs(e),r=!1;return O.value.commands.command(({tr:e,state:i,dispatch:a})=>(q(i.doc,t).forEach(({node:t,pos:i})=>{e.setNodeMarkup(i,void 0,{...t.attrs,...n}),r=!0}),r&&a?.(e),r)),Z(),r?W():void 0}function qe(e){if(!O.value)return;let t=0;return O.value.commands.command(({tr:n,state:r,dispatch:i})=>{let a=q(r.doc,e).map(({node:e,pos:t})=>({from:t,to:t+e.nodeSize})).sort((e,t)=>t.from-e.from);return a.forEach(e=>n.delete(e.from,e.to)),t=a.length,t&&i?.(n),t>0}),t?W():void 0}function Y(){v.value?.querySelectorAll(`.gd-contract-template-variable.is-active`).forEach(e=>e.classList.remove(`is-active`))}function X(e){if(e)return Array.from(v.value?.querySelectorAll(`[data-template-variable]`)??[]).find(t=>t.dataset.key===e)}function Je(e){Y();let t=X(e);return t?(t.classList.add(`is-active`),t.scrollIntoView({behavior:`smooth`,block:`center`,inline:`center`}),O.value?.commands.focus(),!0):!1}function Z(){Y(),X(h.selectedVariableKey)?.classList.add(`is-active`)}function Ye(t){let r=e.CONTRACT_TEXT_STYLE_PRESETS.find(e=>e.key===t),i=O.value;if(!r||!i)return;let a=i.chain().focus().clearNodes();r.headingLevel?a.setHeading({level:r.headingLevel}):a.setParagraph(),a.unsetAllMarks().unsetTextAlign().unsetFontSize().unsetFontFamily().unsetColor().setTextAlign(r.textAlign).setFontSize(`${r.fontSize}px`).setFontFamily(r.fontFamily||e.DEFAULT_CONTRACT_FONT_FAMILY).setColor(n.DEFAULT_FIELD_STYLE.color||`#1f2937`),r.bold?a.setBold():a.unsetBold(),r.italic?a.setItalic():a.unsetItalic(),r.underline?a.setUnderline():a.unsetUnderline(),a.run()}(0,l.watch)([()=>h.selectedVariableKey,()=>h.variables],()=>{(0,l.nextTick)(Z)},{deep:!0,flush:`post`});function Xe(e){_.value||(e.type===`apply-block-style`?O.value&&ee.applyContractTemplateBlockStyle(O.value,e.format):e.type===`apply-text-style-preset`?Ye(e.preset):s.runContractTemplateEditorCommand(O.value,e),V())}function Ze(){O.value?.commands.focus()}function Q(){return O.value?y.read(O.value).getJSON():h.page.contentJson}function $(){return O.value?y.read(O.value).getHTML():h.page.contentHtml}function Qe(e){let t=h.variables.find(t=>t.id===e||t.key===e),n=t?X(t.key):void 0;Z(),n?.scrollIntoView({behavior:`smooth`,block:`center`})}function $e(){v.value?.scrollIntoView({behavior:`smooth`,block:`start`,inline:`center`})}return(0,l.onBeforeUnmount)(()=>{C=!0,x!==void 0&&clearTimeout(x),O.value?.off(`contract-word-paste`,k),O.value?.destroy()}),oe({findText:ue,revealSearchMatch:de,replaceSearchMatches:fe,focusHeading:pe,focus:Ze,getHTML:$,getJSON:Q,getContentSnapshot:ze,getEditorState:B,getTableCommandCapabilities:j,getAffectedVariableCount:N,insertVariable:Fe,insertContentImage:Ie,updateSelectedContentImage:Le,getSelectionRange:Re,getSelectionViewportRect:_e,requestTextContextMenu:we,isReady:T,isComposing:E,hasOverflowContent:We,updateVariable:J,removeVariable:qe,splitOverflowContent:Ge,prependContent:Ke,runCommand:Xe,scrollIntoField:Qe,scrollIntoVariable:Je,scrollIntoPage:$e}),(e,t)=>((0,l.openBlock)(),(0,l.createElementBlock)(`section`,{class:`gd-contract-template-designer__page-shell`,style:(0,l.normalizeStyle)(je.value)},[(0,l.createElementVNode)(`div`,{class:(0,l.normalizeClass)([`gd-contract-template-designer__page-zoom`,{"is-active":m.active}]),style:(0,l.normalizeStyle)(Me.value)},[(0,l.createElementVNode)(`header`,ie,[(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(m.page.title||`第 ${m.pageIndex+1} 页`),1),(0,l.createElementVNode)(`span`,null,`第 `+(0,l.toDisplayString)(m.pageIndex+1)+` 页 · `+(0,l.toDisplayString)(m.pageSize.label||`A4`)+` · `+(0,l.toDisplayString)(m.pageSize.width)+` × `+(0,l.toDisplayString)(m.pageSize.height),1)]),(0,l.createElementVNode)(`div`,{ref_key:`pageElement`,ref:v,class:`gd-contract-template-designer__page`,style:(0,l.normalizeStyle)(Ae.value),onLoadCapture:t[0]||=e=>g(`page-layout-change`,m.page.id),onDragover:t[1]||=(0,l.withModifiers)(()=>{},[`prevent`]),onDrop:Pe,onClick:t[2]||=e=>g(`editor-focus`,m.page.id)},[(0,l.createVNode)(te.default,{decorations:m.pageDecorations,"page-number":m.pageIndex+1,"total-pages":m.totalPages,variables:m.variables},null,8,[`decorations`,`page-number`,`total-pages`,`variables`]),(0,l.unref)(O)?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.EditorContent),{key:0,class:`gd-contract-template-page__content`,editor:(0,l.unref)(O)},null,8,[`editor`])):(0,l.createCommentVNode)(``,!0)],36)],6)],4))}});exports.default=m;
|