@guodun/antdv 1.7.6 → 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/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/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/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/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/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 +3 -3
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,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;
|