@guodun/antdv 1.6.2 → 1.6.4
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/dept-selector/src/DeptSelector.vue.mjs +52 -46
- package/dist/es/components/dept-selector/src/types.mjs +4 -0
- package/dist/es/components/pro-contract-template-designer/src/ContractTemplateAuthoringBar.vue.mjs +67 -106
- package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +791 -794
- package/dist/es/components/pro-contract-template-designer/src/composables/use-template-authoring.mjs +2 -9
- package/dist/es/components/pro-contract-template-designer/src/extensions/editor-extensions.mjs +34 -36
- package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
- package/dist/es/components/pro-menu-tree/src/pro-menu-tree.mjs +108 -103
- package/dist/es/components/pro-menu-tree/src/types.mjs +4 -0
- package/dist/es/components/pro-selector/src/ProUserSelector.vue.mjs +50 -44
- package/dist/es/components/pro-selector/src/types.mjs +4 -0
- package/dist/es/components/pro-selector-group/src/index.vue.mjs +47 -40
- package/dist/es/components/role-selector/src/RoleSelector.vue.mjs +50 -44
- package/dist/es/components/role-selector/src/types.mjs +5 -1
- package/dist/es/components/selector-core/components/SelectorDialog.vue.mjs +242 -233
- package/dist/es/components/selector-core/selection-theme.mjs +35 -0
- package/dist/es/components/selector-core/useSelectorData.mjs +1 -1
- package/dist/lib/components/dept-selector/src/DeptSelector.vue.cjs +1 -1
- package/dist/lib/components/dept-selector/src/types.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateAuthoringBar.vue.cjs +1 -1
- 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-template-authoring.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/src/extensions/editor-extensions.cjs +1 -1
- package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
- package/dist/lib/components/pro-menu-tree/src/pro-menu-tree.cjs +1 -1
- package/dist/lib/components/pro-menu-tree/src/types.cjs +1 -1
- package/dist/lib/components/pro-selector/src/ProUserSelector.vue.cjs +1 -1
- package/dist/lib/components/pro-selector/src/types.cjs +1 -1
- package/dist/lib/components/pro-selector-group/src/index.vue.cjs +1 -1
- package/dist/lib/components/role-selector/src/RoleSelector.vue.cjs +1 -1
- package/dist/lib/components/role-selector/src/types.cjs +1 -1
- package/dist/lib/components/selector-core/components/SelectorDialog.vue.cjs +1 -1
- package/dist/lib/components/selector-core/selection-theme.cjs +1 -0
- package/dist/lib/components/selector-core/useSelectorData.cjs +1 -1
- package/dist/theme/dept-selector.css +1 -0
- package/dist/theme/icon.css +1 -1
- package/dist/theme/index.css +1 -1
- package/dist/theme/pro-menu-tree.css +1 -1
- package/dist/theme/pro-selector-group.css +1 -0
- package/dist/theme/role-selector.css +1 -0
- package/dist/theme/selector-core.css +1 -1
- package/dist/types/components/dept-selector/index.d.ts +15 -0
- package/dist/types/components/dept-selector/src/DeptSelector.vue.d.ts +9 -0
- package/dist/types/components/dept-selector/src/types.d.ts +7 -0
- package/dist/types/components/pro-contract-template-designer/src/ContractTemplateAuthoringBar.vue.d.ts +0 -3
- package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerToolbar.vue.d.ts +2 -2
- package/dist/types/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.d.ts +0 -3
- package/dist/types/components/pro-contract-template-designer/src/composables/use-template-authoring.d.ts +2 -4
- package/dist/types/components/pro-contract-template-designer/src/constants.d.ts +0 -3
- package/dist/types/components/pro-contract-template-designer/src/types.d.ts +0 -4
- package/dist/types/components/pro-menu-tree/index.d.ts +9 -0
- package/dist/types/components/pro-menu-tree/src/pro-menu-tree.d.ts +9 -0
- package/dist/types/components/pro-menu-tree/src/types.d.ts +7 -0
- package/dist/types/components/pro-selector/index.d.ts +59 -2
- package/dist/types/components/pro-selector/src/ProUserSelector.vue.d.ts +9 -0
- package/dist/types/components/pro-selector/src/ProUserSelectorDrilldown.vue.d.ts +28 -4
- package/dist/types/components/pro-selector/src/types.d.ts +7 -0
- package/dist/types/components/pro-selector-group/index.d.ts +3 -0
- package/dist/types/components/pro-selector-group/src/index.vue.d.ts +1 -0
- package/dist/types/components/pro-selector-group/src/types.d.ts +5 -0
- package/dist/types/components/role-selector/index.d.ts +30 -0
- package/dist/types/components/role-selector/src/RoleSelector.vue.d.ts +9 -0
- package/dist/types/components/role-selector/src/types.d.ts +9 -2
- package/dist/types/components/selector-core/components/SelectorDialog.vue.d.ts +2 -0
- package/dist/types/components/selector-core/selection-theme.d.ts +20 -0
- package/package.json +3 -3
- package/dist/es/components/pro-contract-template-designer/src/utils/clause-snippets.mjs +0 -56
- package/dist/lib/components/pro-contract-template-designer/src/utils/clause-snippets.cjs +0 -1
- package/dist/types/components/pro-contract-template-designer/src/utils/clause-snippets.d.ts +0 -10
package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateAuthoringBar.vue.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./ContractTemplateFindReplace.cjs`);let t=require(`vue`),n=require(`ant-design-vue`),r=require(`@ant-design/icons-vue`);var i={class:`gd-contract-template-designer__authoring-actions`,role:`toolbar`,"aria-label":`编写辅助工具`},a={key:0},o={key:0},s={class:`gd-contract-template-designer__authoring-panel-head`},c=(0,t.defineComponent)({__name:`ContractTemplateAuthoringBar`,props:(0,t.mergeModels)({compact:{type:Boolean},panel:{},readonly:{type:Boolean},total:{},currentIndex:{},currentPage:{},feedback:{}},{query:{default:``},queryModifiers:{},replacement:{default:``},replacementModifiers:{},matchCase:{type:Boolean,default:!1},matchCaseModifiers:{}}),emits:(0,t.mergeModels)([`open`,`close`,`navigate`,`replaceCurrent`,`replaceAll`],[`update:query`,`update:replacement`,`update:matchCase`]),setup(c,{expose:l,emit:u}){let d=c,f=(0,t.useModel)(c,`query`),p=(0,t.useModel)(c,`replacement`),m=(0,t.useModel)(c,`matchCase`),h=u,g=(0,t.useTemplateRef)(`barElement`),_=(0,t.useTemplateRef)(`findElement`);function v(e){d.panel===e||e===`find`&&d.panel===`replace`?h(`close`):h(`open`,e)}return l({focusPanel:()=>{d.panel===`find`||d.panel===`replace`?_.value?.focus():g.value?.querySelector(`[data-authoring-panel] button`)?.focus()},focusTrigger:e=>g.value?.querySelector(`[data-authoring-trigger="${e===`replace`?`find`:e}"]`)?.focus()}),(l,u)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`barElement`,ref:g,class:(0,t.normalizeClass)([`gd-contract-template-designer__authoring-bar`,{"is-compact":c.compact}])},[(0,t.createElementVNode)(`div`,i,[(0,t.createVNode)((0,t.unref)(n.Tooltip),{title:`查找与替换(Ctrl / ⌘ + F)`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Button),{type:`text`,"data-authoring-trigger":`find`,"aria-label":`查找与替换`,"aria-expanded":c.panel===`find`||c.panel===`replace`,onClick:u[0]||=e=>v(`find`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(r.SearchOutlined),{"aria-hidden":`true`}),c.compact?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,a,`查找 / 替换`))]),_:1},8,[`aria-expanded`])]),_:1}),(0,t.createVNode)((0,t.unref)(n.Tooltip),{title:`编写快捷键(Ctrl / ⌘ + /)`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Button),{type:`text`,class:`gd-contract-template-designer__authoring-help-trigger`,"data-authoring-trigger":`help`,"aria-label":`编写快捷键`,"aria-expanded":c.panel===`help`,onClick:u[1]||=e=>v(`help`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(r.QuestionCircleOutlined),{"aria-hidden":`true`}),c.compact?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,o,`快捷键`))]),_:1},8,[`aria-expanded`])]),_:1})]),c.panel===`find`||c.panel===`replace`?((0,t.openBlock)(),(0,t.createBlock)(e.default,{key:0,ref_key:`findElement`,ref:_,query:f.value,"onUpdate:query":u[2]||=e=>f.value=e,replacement:p.value,"onUpdate:replacement":u[3]||=e=>p.value=e,"match-case":m.value,"onUpdate:matchCase":u[4]||=e=>m.value=e,readonly:c.readonly,"replace-mode":c.panel===`replace`,total:c.total,"current-index":c.currentIndex,"current-page":c.currentPage,feedback:c.feedback,onNavigate:u[5]||=e=>h(`navigate`,e),onReplaceCurrent:u[6]||=e=>h(`replaceCurrent`),onReplaceAll:u[7]||=e=>h(`replaceAll`),onToggleReplace:u[8]||=e=>h(`open`,c.panel===`replace`?`find`:`replace`),onClose:u[9]||=e=>h(`close`)},null,8,[`query`,`replacement`,`match-case`,`readonly`,`replace-mode`,`total`,`current-index`,`current-page`,`feedback`])):c.panel===`help`?((0,t.openBlock)(),(0,t.createElementBlock)(`section`,{key:1,"data-authoring-panel":``,class:`gd-contract-template-designer__authoring-panel gd-contract-template-designer__shortcut-panel`,"aria-label":`编写快捷键帮助`,onKeydown:u[11]||=(0,t.withKeys)((0,t.withModifiers)(e=>h(`close`),[`stop`,`prevent`]),[`esc`])},[(0,t.createElementVNode)(`div`,s,[u[12]||=(0,t.createElementVNode)(`div`,{class:`gd-contract-template-designer__shortcut-heading`},[(0,t.createElementVNode)(`strong`,null,`快捷键`),(0,t.createElementVNode)(`span`,null,`仅在当前设计器内生效`)],-1),(0,t.createVNode)((0,t.unref)(n.Button),{type:`text`,"aria-label":`关闭快捷键帮助`,onClick:u[10]||=e=>h(`close`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(r.CloseOutlined),{"aria-hidden":`true`})]),_:1})]),u[13]||=(0,t.createStaticVNode)(`<dl class="gd-contract-template-designer__shortcut-list"><div><dt>查找正文</dt><dd><span class="gd-contract-template-designer__shortcut-combo"><kbd>Ctrl / ⌘</kbd><span>+</span><kbd>F</kbd></span></dd></div><div><dt>替换正文</dt><dd><span class="gd-contract-template-designer__shortcut-combo"><kbd>Ctrl</kbd><span>+</span><kbd>H</kbd></span><span class="gd-contract-template-designer__shortcut-separator">或</span><span class="gd-contract-template-designer__shortcut-combo"><kbd>⌘</kbd><span>+</span><kbd>Shift</kbd><span>+</span><kbd>H</kbd></span></dd></div><div><dt>下一处 / 上一处</dt><dd><span class="gd-contract-template-designer__shortcut-combo"><kbd>Enter</kbd></span><span class="gd-contract-template-designer__shortcut-separator">/</span><span class="gd-contract-template-designer__shortcut-combo"><kbd>Shift</kbd><span>+</span><kbd>Enter</kbd></span><small>查找框内</small></dd></div><div><dt>查找结果导航</dt><dd><span class="gd-contract-template-designer__shortcut-combo"><kbd>Ctrl / ⌘</kbd><span>+</span><kbd>G</kbd></span><span class="gd-contract-template-designer__shortcut-separator">反向加</span><kbd>Shift</kbd></dd></div><div><dt>撤销 / 重做(当前页)</dt><dd><kbd>Ctrl / ⌘ + Z</kbd><span class="gd-contract-template-designer__shortcut-separator">/</span><kbd>Ctrl / ⌘ + Shift + Z</kbd></dd></div><div><dt>正文右键菜单</dt><dd><span class="gd-contract-template-designer__shortcut-combo"><kbd>Shift</kbd><span>+</span><kbd>F10</kbd></span></dd></div><div><dt>收起 / 退出沉浸</dt><dd><kbd>Esc</kbd><small>逐层关闭</small></dd></div><div><dt>打开此帮助</dt><dd><span class="gd-contract-template-designer__shortcut-combo"><kbd>Ctrl / ⌘</kbd><span>+</span><kbd>/</kbd></span></dd></div></dl><div class="gd-contract-template-designer__shortcut-note"><span><strong>文本格式</strong>:<kbd>Ctrl</kbd> / <kbd>⌘</kbd> + <kbd>B</kbd> / <kbd>I</kbd> / <kbd>U</kbd></span><span>属性输入框保留原生输入行为;只读模式不执行写入。</span></div>`,2)],32)):(0,t.createCommentVNode)(``,!0)],2))}});exports.default=c;
|
package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./constants.cjs`),t=require(`./utils/page-decorations.cjs`),n=require(`./types.cjs`),r=require(`./composables/use-template-designer.cjs`),i=require(`./utils/image-url.cjs`),a=require(`./utils/template-renderer.cjs`),o=require(`./composables/use-fit-width-zoom.cjs`),s=require(`./utils/content-image.cjs`),ee=require(`./utils/signing-layout-presets.cjs`),te=require(`./utils/context-variable.cjs`),ne=require(`./DesignerPage.cjs`),re=require(`./TableContextMenu.cjs`),ie=require(`./ContractTemplateDesignerWorkspaceHeader.cjs`),ae=require(`./utils/template-tool-icons.cjs`),oe=require(`./ContractTemplateDesignerToolbar.cjs`),se=require(`./ContractTemplateAuthoringBar.cjs`),ce=require(`./composables/use-template-authoring.cjs`),le=require(`./ContractTemplateTextContextMenu.cjs`),ue=require(`./ContractTemplateTextBubbleMenu.cjs`),de=require(`./ContractTemplateImageContextMenu.cjs`),fe=require(`./ContractTemplatePreviewModal.cjs`),pe=require(`./ContractTemplateSubmitDataModal.cjs`),me=require(`./ContractTemplateVariableDataModal.cjs`),he=require(`./SigningLayoutCustomModal.cjs`),ge=require(`./composables/use-template-draft-cache.cjs`),_e=require(`./composables/use-auto-pagination.cjs`),ve=require(`./composables/use-designer-files.cjs`),c=require(`./composables/use-template-files.cjs`),ye=require(`./composables/use-draft-cache-session.cjs`),be=require(`./ContractTemplateFileBar.cjs`),xe=require(`./ContractTemplateDesignerSidebar.cjs`),Se=require(`./ContractTemplateDesignerInspector.cjs`),Ce=require(`./ContractTemplatePageDecorationsStudio.cjs`),l=require(`./utils/serialize-fingerprint.cjs`),we=require(`./utils/editor-state.cjs`),u=require(`./utils/context-menu-viewport.cjs`);let d=require(`vue`),Te=require(`ant-design-vue`),Ee=require(`@vueuse/core`),De=require(`@ant-design/icons-vue`);var Oe={key:2,class:`gd-contract-template-designer__validation`},ke={key:0,class:`gd-contract-template-designer__validation-list`},Ae=[`onClick`],je={class:`gd-contract-template-designer__sr-status`,"aria-live":`polite`},Me=.5,Ne=1.5,Pe=.1,Fe=120,Ie=128,Le=108,Re=48,ze=24,Be=10,Ve=48,He=8,f=(0,d.defineComponent)({name:`ProContractTemplateDesigner`,__name:`ProContractTemplateDesigner`,props:{modelValue:{default:void 0},files:{},activeFileId:{},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},height:{default:760},pageSize:{default:()=>r.DEFAULT_PAGE_SIZE},pageSizeOptions:{},maxPages:{default:20},imageCompression:{type:[Object,Boolean]},imageUpload:{},variableTypes:{default:()=>r.DEFAULT_FIELD_TYPES},signingLayoutPresets:{},showAdvancedChoiceControls:{type:Boolean,default:!1},showBuiltinSelectorControls:{type:Boolean,default:!1},showCustomControls:{type:Boolean,default:!1},defaultVariableStyle:{default:()=>r.DEFAULT_FIELD_STYLE},fontFamilies:{default:void 0},fontFamilyMode:{default:`append`},contractFontBaseUrl:{default:void 0},showSubmitDataViewer:{type:Boolean,default:!0},showVariableDataViewer:{type:Boolean,default:!0},showClearButton:{type:Boolean,default:!0},enableDraftCache:{type:Boolean,default:!0},draftCacheKey:{default:ge.DEFAULT_DRAFT_CACHE_KEY},draftCacheInterval:{default:ge.DEFAULT_DRAFT_CACHE_INTERVAL},draftCacheMaxBytes:{default:ge.DEFAULT_DRAFT_CACHE_MAX_BYTES},showDraftCacheStatus:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`,`update:files`,`update:activeFileId`,`files-change`,`file-add`,`file-change`,`file-remove`,`file-move`,`variable-add`,`validate`,`draft-cache-change`,`page-limit`,`image-error`],setup(f,{expose:Ue,emit:We}){let p=f,m=We,Ge=(0,d.computed)(()=>({height:typeof p.height==`number`?`${p.height}px`:p.height})),Ke=(0,d.ref)(),qe=(0,d.ref)(),Je=(0,d.ref)(),Ye=(0,d.ref)(),Xe=(0,d.ref)(),Ze=`gd-contract-template-page-decorations-studio-${(0,d.useId)()}`,Qe=`gd-contract-template-workspace-chrome-${(0,d.useId)()}`,$e=(0,d.ref)(),et=(0,d.ref)(),tt=(0,d.ref)(),nt=``,rt=``,it=(0,d.ref)(!1),h=(0,d.computed)(()=>it.value||Array.isArray(p.files)),at=c.normalizeContractTemplateFiles(p.files,p.modelValue,p.pageSize),ot=c.constrainContractTemplateFiles(at,p.pageSizeOptions),st=h.value?ot.files:at,ct=c.resolveContractTemplateActiveFileId(st,p.activeFileId),g=(0,d.ref)(st),_=(0,d.ref)(ct),lt=st.find(e=>e.id===ct)??st[0],ut=r.normalizeTemplateValue(lt?.template??p.modelValue,p.pageSize),v=(0,d.ref)(r.constrainTemplatePageSizes(ut,p.pageSizeOptions));if(h.value){if(g.value=c.replaceContractTemplateFile(g.value,_.value,v.value),l.serializeFingerprint(g.value)!==l.serializeFingerprint(at)){let e=c.cloneContractTemplateFiles(g.value);nt=l.serializeFingerprint(e),m(`update:files`,e),m(`files-change`,c.cloneContractTemplateFiles(e))}}else p.modelValue&&l.serializeFingerprint(v.value)!==l.serializeFingerprint(ut)&&(rt=l.serializeFingerprint(v.value),m(`update:modelValue`,r.cloneTemplateValue(v.value)),m(`change`,r.cloneTemplateValue(v.value)));let y=(0,d.ref)(``),b=(0,d.ref)(v.value.pages[0]?.id??``),x=(0,d.ref)(!1),S=(0,d.ref)([]),C=new Map,dt=(0,d.ref)(!1),ft=(0,d.ref)(``),w=(0,d.ref)(!1),T=(0,d.ref)(),pt=(0,d.ref)(),mt=(0,d.ref)(``),ht=(0,d.ref)(!1),gt=(0,d.ref)(``),_t=(0,d.ref)(!1),vt=(0,d.ref)({values:{},variables:[]}),E=(0,d.ref)(1),D=(0,d.ref)(!1),yt=(0,d.ref)(!1),bt=(0,d.ref)(!1),O=(0,d.ref)(!1),k=(0,d.ref)(!1),xt=(0,d.ref)(),A=(0,d.ref)(!1),St=(0,d.ref)(`header`),Ct=(0,d.ref)(!1),wt=(0,d.ref)({}),j=(0,d.ref)(``),M=(0,d.ref)(!1),N=(0,d.ref)(!1),Tt=(0,d.ref)(!1),Et=(0,d.ref)(!1),Dt=(0,d.ref)(!1),Ot=(0,d.ref)(!1),kt=(0,d.ref)(!1),At=(0,d.ref)(``),jt=(0,d.ref)(),Mt=(0,d.ref)(),Nt=(0,d.ref)(``),Pt=(0,d.ref)(!1),P=(0,d.ref)(),Ft=(0,d.ref)(),F=(0,d.ref)(),It=(0,d.ref)(),Lt=(0,d.ref)(!1),Rt,zt=(0,d.ref)(!1),Bt,Vt=(0,d.ref)(!1),Ht=(0,d.ref)(``),I=(0,d.ref)(),Ut=(0,d.ref)(),L=(0,d.ref)(),Wt=(0,d.ref)(),Gt=(0,d.ref)(),Kt=(0,d.ref)(),R=(0,d.ref)(``),z=(0,d.ref)(ge.createDraftCacheStatus(`idle`,`暂无本地草稿`)),qt=(0,d.ref)({rows:3,cols:3,withHeaderRow:!0}),Jt=new WeakSet,Yt=[`.gd-contract-template-designer__page-decorations-select-popup`,`.gd-contract-template-designer__page-decorations-dropdown-popup`].join(`,`),Xt,Zt,Qt=!1,$t=!1,en,B=(0,d.computed)(()=>p.readonly||p.disabled),{panel:tn,query:nn,replacement:rn,matchCase:an,matches:on,currentIndex:sn,currentMatch:cn,feedback:ln,highlightQuery:un,open:dn,close:fn,navigate:pn,replaceCurrent:mn,replaceAll:hn,insertSnippet:gn,handleKeydown:_n}=ce.useTemplateAuthoring({pages:()=>v.value.pages,fileId:()=>_.value,readonly:()=>B.value,root:()=>Ke.value,pageRefs:C,activatePage:ia,beforeOpen:()=>{$(),Ka(),O.value=!1},focusPanel:()=>tt.value?.focusPanel(),focusTrigger:e=>tt.value?.focusTrigger(e),command:Z}),vn=(0,d.computed)(()=>!!(P.value||tn.value||I.value||L.value||M.value||N.value||Ct.value||Tt.value||Et.value||Dt.value||Ot.value||kt.value)),yn=(0,d.computed)(()=>!!p.enableDraftCache&&!B.value),bn=(0,d.computed)(()=>g.value.find(e=>e.id===_.value)??g.value[0]),xn=(0,d.computed)(()=>T.value?r.buildTemplatePreviewPages(T.value):[]),Sn=(0,d.computed)(()=>(pt.value??[]).map(e=>({file:e,pages:r.buildTemplatePreviewPages(e.template)}))),Cn=(0,d.computed)(()=>Sn.value.find(e=>e.file.id===mt.value)??Sn.value[0]),V=(0,d.computed)(()=>v.value.pages.find(e=>e.id===b.value)??v.value.pages[0]),wn=(0,d.computed)(()=>r.resolvePageSize(V.value?.pageSize,v.value.pageSize)),Tn=(0,d.computed)(()=>x.value&&S.value.length===0),En=(0,d.computed)(()=>x.value?Tn.value?`校验通过,正文变量与变量配置一致`:`发现 ${S.value.length} 个校验问题`:``),Dn=(0,d.computed)(()=>{let e=V.value?.title||`合同正文`;return`${h.value&&bn.value?`${bn.value.name} · `:``}${e} · ${wn.value.label} · 共 ${v.value.pages.length} 页`}),On=(0,d.computed)(()=>({none:`无装饰`,"page-number":`标准页码`,"internal-review":`内部审阅`,draft:`草稿`,custom:`自定义`})[t.resolvePageDecorationPreset(v.value.pageDecorations)]),kn=(0,d.computed)(()=>{let e=t.normalizePageDecorations(v.value.pageDecorations);return{header:e.header.enabled,footer:e.footer.enabled,watermark:e.watermark.enabled}}),An=(0,d.computed)(()=>Object.values(kn.value).filter(Boolean).length),jn=(0,d.computed)(()=>{switch(z.value.type){case`saved`:return`草稿已缓存 ${ge.formatDraftCacheSavedAt(z.value.savedAt)}`;case`restored`:return`已恢复本地草稿`;case`too-large`:return`草稿过大,未缓存`;case`unavailable`:case`read-failed`:case`write-failed`:return`草稿缓存失败`;case`cleared`:return`草稿缓存已清理`;default:return``}}),Mn=(0,d.computed)(()=>({"is-success":z.value.type===`saved`||z.value.type===`restored`,"is-warning":z.value.type===`too-large`,"is-error":z.value.type===`unavailable`||z.value.type===`read-failed`||z.value.type===`write-failed`})),Nn=(0,d.computed)(()=>`${Math.round(E.value*100)}%`),Pn=(0,d.computed)(()=>e.resolveFontFamilyOptions(p.fontFamilies,p.fontFamilyMode)),Fn=(0,d.computed)(()=>Pn.value.map(e=>({label:e.label,value:e.value}))),In=e.DEFAULT_TEXT_ALIGN_OPTIONS,Ln=[...e.CONTRACT_BLOCK_STYLES.map(e=>({label:e.label,value:e.format}))],Rn=[{label:`实线`,value:`solid`},{label:`虚线`,value:`dashed`}],zn=[{label:`完整显示`,value:`contain`},{label:`铺满裁剪`,value:`cover`},{label:`拉伸填充`,value:`fill`}],Bn=(0,d.computed)(()=>r.normalizePageSizeOptions(p.pageSizeOptions)),Vn=(0,d.computed)(()=>Bn.value.map(e=>({label:`${e.label} · ${e.width} × ${e.height}`,value:r.getPageSizeKey(e)}))),Hn=(0,d.computed)(()=>r.getPageSizeKey(wn.value)),Un=(0,d.computed)(()=>p.draftCacheKey),H=(0,d.computed)(()=>v.value.variables.find(e=>e.key===y.value)),Wn=(0,d.computed)(()=>{let e=[...p.variableTypes,...p.showAdvancedChoiceControls?r.DEFAULT_ADVANCED_CHOICE_FIELD_TYPES:[],...p.showBuiltinSelectorControls?r.DEFAULT_BUILTIN_SELECTOR_FIELD_TYPES:[],...p.showCustomControls?r.DEFAULT_CUSTOM_FIELD_TYPES:[]].filter(e=>n.isContractTemplateFieldType(e?.type));return Array.from(new Map(e.map(e=>[e.type,e])).values())}),Gn=(0,d.computed)(()=>{let e=[...ee.SIGNING_LAYOUT_PRESET_KEYS.map(e=>ee.SIGNING_LAYOUT_PRESETS[e]),...(p.signingLayoutPresets??[]).filter(e=>!!e?.key)];return Array.from(new Map(e.map(e=>[e.key,e])).values())}),Kn=(0,d.computed)(()=>Wn.value.map(e=>({...e,icon:ae.resolveFieldTypeIcon(e.type),group:e.type===`select`||e.type===`radio`?`advanced-choice`:e.type.endsWith(`-selector`)?`builtin-selector`:e.type===`custom`?`custom`:`basic`}))),U=(0,d.computed)(()=>r.normalizeContractTemplateMaxPages(p.maxPages)),qn=(0,d.computed)(()=>v.value.pages.length>=U.value),Jn=(0,d.computed)(()=>{let e=r.collectTemplateValueVariableKeys(v.value);return Array.from(t.collectPageDecorationVariableKeys(v.value.pageDecorations)).filter(t=>!e.has(t))}),{scheduleAutoPaginate:W}=_e.useAutoPagination({templateValue:v,readonlyState:B,isAutoPaginating:dt,pendingPaginationPageId:ft,activePageId:b,normalizedMaxPages:U,pageRefs:C,syncPageEditors:K,commitBodyChange:jr,getPageSize:Nr,notifyPageLimit:Fr}),{saveDraftCache:Yn,loadDraftCache:Xn,clearDraftCache:Zn,restoreDraftCacheIfNeeded:Qn,stopDraftCacheTimer:$n,restartDraftCacheTimer:er,resetDraftFingerprint:tr}=ye.useDraftCacheSession({draftCacheWritable:yn,multipleFilesMode:h,filesValue:g,activeFileIdValue:_,templateValue:v,draftCacheKey:Un,draftCacheInterval:()=>p.draftCacheInterval,draftCacheMaxBytes:()=>p.draftCacheMaxBytes,pageSize:()=>p.pageSize,pageSizeOptions:()=>p.pageSizeOptions,syncActiveFileSnapshot:q,syncPageEditors:K,setActiveFileId:Y,emitFilesChange:J,commit:X,updateDraftCacheStatus:Sr,scheduleAutoPaginate:W,activePageId:b,selectedVariableKey:y}),nr=(0,d.computed)(()=>{let e=Ht.value.trim().toLowerCase(),t=v.value.variables;return e?t.filter(t=>t.label.toLowerCase().includes(e)||t.key.toLowerCase().includes(e)):t}),rr=(0,d.computed)(()=>Math.max(Re,wn.value.width-Ie)),ir=(0,d.computed)(()=>Math.max(ze,wn.value.height-Le)),G=(0,d.computed)(()=>wt.value[b.value]??fr()),ar=(0,d.computed)(()=>G.value.hasMixedBlockFormats?void 0:G.value.currentHeadingLevel??`paragraph`),or=(0,d.computed)(()=>G.value.fontFamily||e.DEFAULT_CONTRACT_FONT_FAMILY),sr=(0,d.computed)(()=>G.value.fontSize??r.DEFAULT_FIELD_STYLE.fontSize??14),cr=(0,d.computed)(()=>G.value.textColor||r.DEFAULT_FIELD_STYLE.color||`#1f2937`),lr=(0,d.computed)(()=>H.value?.style?.fontFamily||r.DEFAULT_FIELD_STYLE.fontFamily||e.DEFAULT_CONTRACT_FONT_FAMILY),ur=(0,d.computed)(()=>{let t=e.DEFAULT_FONT_SIZE_PRESETS.map(e=>({label:`${e}px`,value:e})),n=gr(sr.value),r=gr(j.value),i=new Map;return r&&!e.DEFAULT_FONT_SIZE_PRESETS.includes(r)&&i.set(r,{label:`使用 ${r}px`,value:r}),n&&!e.DEFAULT_FONT_SIZE_PRESETS.includes(n)&&i.set(n,{label:r===n?`使用 ${n}px`:`${n}px`,value:n}),[...Array.from(i.values()),...t]});(0,d.watch)(()=>p.modelValue,e=>{if(!e||h.value)return;let t=r.normalizeTemplateValue(e,p.pageSize),n=r.constrainTemplatePageSizes(t,p.pageSizeOptions),i=l.serializeFingerprint(n)!==l.serializeFingerprint(v.value),a=l.serializeFingerprint(n),o=a===rt;o&&(rt=``),(i||!o)&&(v.value=n,g.value=c.replaceContractTemplateFile(g.value,_.value,n),b.value=n.pages[0]?.id??``,y.value=``,W(b.value)),l.serializeFingerprint(n)!==l.serializeFingerprint(t)&&(rt=a,m(`update:modelValue`,r.cloneTemplateValue(n)),m(`change`,r.cloneTemplateValue(n)))},{deep:!0}),(0,d.watch)(()=>p.files,e=>{if(!Array.isArray(e))return;let t=c.normalizeContractTemplateFiles(e,void 0,p.pageSize),n=c.constrainContractTemplateFiles(t,p.pageSizeOptions).files,r=l.serializeFingerprint(n),i=l.serializeFingerprint(g.value);r===nt&&(nt=``);let a=c.resolveContractTemplateActiveFileId(n,p.activeFileId||_.value);if(r===i?a!==_.value&&Y(a,{syncCurrent:!1,shouldEmit:!1}):(g.value=n,Y(a,{syncCurrent:!1,shouldEmit:!1,forceRefresh:!0})),r!==l.serializeFingerprint(t)){let e=c.cloneContractTemplateFiles(n);nt=l.serializeFingerprint(e),m(`update:files`,e),m(`files-change`,c.cloneContractTemplateFiles(e))}},{deep:!0}),(0,d.watch)(()=>p.activeFileId,e=>{!h.value||!e||e===_.value||Y(e,{syncCurrent:!0,shouldEmit:!1})});function dr(e,t){let n=l.serializeFingerprint(g.value);q(!1);let i=c.normalizeContractTemplateFiles(g.value,void 0,e),{files:a}=c.constrainContractTemplateFiles(i,t),o=l.serializeFingerprint(a)!==n,s=a.find(e=>e.id===_.value);return s&&l.serializeFingerprint(s.template)!==l.serializeFingerprint(v.value)&&(v.value=r.cloneTemplateValue(s.template)),o&&(x.value=!1,S.value=[],J(a,``)),o}(0,d.watch)([()=>p.pageSize,()=>p.pageSizeOptions],([e,t])=>{if(h.value){dr(e,t),W(b.value);return}let n=r.normalizeTemplateValue(v.value,e),i=r.constrainTemplatePageSizes(n,t);l.serializeFingerprint(i)!==l.serializeFingerprint(v.value)&&X(i),W(b.value)},{deep:!0}),(0,d.watch)(U,()=>{W(v.value.pages[0]?.id)}),(0,d.watch)(B,e=>{e&&($(),M.value=!1,N.value=!1)}),(0,d.watch)(b,()=>{F.value=void 0}),(0,d.watch)([vn,A,w],()=>{Ya()}),(0,d.watch)(()=>[p.enableDraftCache,Un.value,p.draftCacheInterval,B.value],()=>{tr(),er()}),(0,d.watch)(D,e=>{if(!(typeof document>`u`)){if(e){Xt=document.body.style.overflow,document.body.style.overflow=`hidden`;return}document.body.style.overflow=Xt??``,Xt=void 0}}),(0,d.onMounted)(()=>{Qn(),er(),W(b.value),window.addEventListener(`pointerdown`,ro,!0),window.addEventListener(`pointerup`,eo),window.addEventListener(`keydown`,oo,!0),window.addEventListener(`keydown`,so),window.addEventListener(`resize`,to),window.addEventListener(`scroll`,io,!0)}),(0,d.onBeforeUnmount)(()=>{vr(),Qt=!0,D.value&&typeof document<`u`&&(document.body.style.overflow=Xt??``),window.removeEventListener(`pointerdown`,ro,!0),window.removeEventListener(`pointerup`,eo),window.removeEventListener(`keydown`,oo,!0),window.removeEventListener(`keydown`,so),window.removeEventListener(`resize`,to),window.removeEventListener(`scroll`,io,!0),Bt!==void 0&&cancelAnimationFrame(Bt),$n()});function fr(){return{isFocused:!1,canUndo:!1,canRedo:!1,isBold:!1,isItalic:!1,isUnderline:!1,isBulletList:!1,isOrderedList:!1,isTableActive:!1,textAlign:`left`,fontFamily:e.DEFAULT_CONTRACT_FONT_FAMILY,fontSize:r.DEFAULT_FIELD_STYLE.fontSize??14,textColor:r.DEFAULT_FIELD_STYLE.color??`#1f2937`,selectionText:``,hasMixedBlockFormats:!1}}function pr(e){return e===`left`||e===`center`||e===`right`}function mr(e){return typeof e==`number`&&Number.isInteger(e)&&e>=1&&e<=6}function hr(e,t=sr.value){let n=Number(e);return Number.isFinite(n)?Math.min(Ve,Math.max(Be,Math.round(n))):t}function gr(e){let t=String(e||``).trim().match(/(\d+(\.\d+)?)/);if(!t)return;let n=Number(t[1]);if(Number.isFinite(n))return Math.min(Ve,Math.max(Be,Math.round(n)))}function K(e=v.value){return{...e,pages:e.pages.map(e=>{let t=C.get(e.id);return{...e,contentHtml:t?.getHTML()??e.contentHtml,contentJson:t?.getJSON()??e.contentJson}})}}function _r(){$t=!1,en&&=(clearTimeout(en),void 0)}function vr(){let e=$t;_r(),e&&xr()}function yr(){$t=!0,en&&clearTimeout(en),en=setTimeout(()=>{en=void 0,!(!$t||Qt)&&($t=!1,xr())},Fe)}function br(e){let t=v.value.pages,n=t.findIndex(t=>t.id===e.id);if(n<0)return;let r=t[n];if(r.contentHtml===e.contentHtml&&r.contentJson===e.contentJson&&r.title===e.title&&r.pageSize===e.pageSize)return;let i=t.slice();i[n]=e,v.value={...v.value,pages:i}}function xr(){let e=K(),t=r.syncTemplateVariablesWithPages(e);y.value&&!t.variables.some(e=>e.key===y.value)&&(y.value=``),X(t)}function q(e=!1){vr();let t=r.cloneTemplateValue(K());if(!h.value)return t;let n=g.value.find(e=>e.id===_.value)?.template,i=l.serializeFingerprint(n)!==l.serializeFingerprint(t),a=c.replaceContractTemplateFile(g.value,_.value,t);return g.value=a,i&&e&&J(a),t}function J(e,t=_.value){if(!h.value)return;let n=c.cloneContractTemplateFiles(e);g.value=n,nt=l.serializeFingerprint(n),m(`update:files`,c.cloneContractTemplateFiles(n)),m(`files-change`,c.cloneContractTemplateFiles(n));let r=n.find(e=>e.id===t);r&&m(`file-change`,c.cloneContractTemplateFiles([r])[0])}function Y(e,t={}){let{syncCurrent:n,shouldEmit:i,forceRefresh:a}=ve.resolveSetActiveFileIdOptions(t),o=c.resolveContractTemplateActiveFileId(g.value,e),s=o!==_.value;if(n?q(!0):_r(),!s&&!a)return;let ee=g.value.find(e=>e.id===o);ee&&(_.value=o,v.value=r.cloneTemplateValue(ee.template),y.value=``,b.value=v.value.pages[0]?.id??``,wt.value={},C.clear(),ft.value=``,x.value=!1,S.value=[],w.value=!1,T.value=void 0,pt.value=void 0,tr(),i&&s&&m(`update:activeFileId`,o),n&&s&&yn.value&&Yn(),(0,d.nextTick)(()=>{W(b.value)}))}function X(e){_r();let t=r.normalizeTemplateValue(e,p.pageSize),n=r.constrainTemplatePageSizes(t,p.pageSizeOptions);return v.value=n,x.value=!1,S.value=[],h.value?J(c.replaceContractTemplateFile(g.value,_.value,n)):(g.value=c.replaceContractTemplateFile(g.value,_.value,n),rt=l.serializeFingerprint(n),m(`update:modelValue`,r.cloneTemplateValue(n)),m(`change`,r.cloneTemplateValue(n))),n}function Sr(e,t=e.type!==`unchanged`){z.value=e,t&&m(`draft-cache-change`,{...e})}function Cr(){return{...z.value}}function wr(e,t){t?C.set(e,t):C.delete(e)}function Tr(e){$(),Dt.value=!1,Z({type:`insert-signing-layout`,preset:ee.isSigningLayoutPresetKey(e.key)?e.key:void 0,options:e.options})}function Er(e){$(),Z({type:`insert-signing-layout`,options:e})}function Dr(){Dt.value=!1,kt.value=!0}function Or(e){$(),Ot.value=!1,Z({type:`insert-signing-mark`,mark:{markType:e}})}function Z(e,t=V.value?.id??b.value){B.value||C.get(t)?.runCommand(e)}function kr(e){Z(e),$()}function Ar(e){let t=P.value?.pageId;t&&(C.get(t)?.focus(),R.value=typeof document<`u`&&document.execCommand(e)?`${e===`copy`?`已复制`:e===`cut`?`已剪切`:`已粘贴`}`:`浏览器未授权剪贴板操作,请使用系统快捷键。`,$())}function jr(e){let t=X(r.syncTemplateVariablesWithPages(e));return y.value&&!t.variables.some(e=>e.key===y.value)&&(y.value=``),t}function Mr(e){br(e),yr(),W(e.id)}function Nr(e){return r.resolvePageSize(e?.pageSize,v.value.pageSize)}function Pr(e){if(B.value||!V.value)return;let t=Bn.value.find(t=>r.getPageSizeKey(t)===e);if(!t)return;let n=V.value.id,i=r.resolvePageSize(t,v.value.pageSize);X({...v.value,pages:v.value.pages.map(e=>e.id===n?{...e,pageSize:i}:e)}),W(n)}function Fr(e){let t=U.value;R.value=`合同最多支持 ${t} 页`,m(`page-limit`,t,e)}function Ir(){if(B.value)return;if(qn.value){Fr(`add`);return}let e=r.createDefaultPage(v.value.pages.length+1,wn.value);X({...v.value,pages:[...v.value.pages,e]}),b.value=e.id}function Lr(e){if(B.value)return;if(qn.value){Fr(`duplicate`);return}let t=v.value.pages.findIndex(t=>t.id===e.id);if(t<0)return;let n=r.cloneTemplateValue({pages:[e],variables:[],pageSize:v.value.pageSize}).pages[0],i=r.createBlankPage(t+2,Nr(e),n.contentHtml,n.contentJson);i.title=`${e.title||`第 ${t+1} 页`}副本`;let a=[...v.value.pages];a.splice(t+1,0,i),X({...v.value,pages:a}),b.value=i.id}function Rr(e){if(B.value||v.value.pages.length<=1)return;let t=v.value.pages.findIndex(t=>t.id===e.id);if(t<0)return;let n=v.value.pages.filter(t=>t.id!==e.id),r=jr({...v.value,pages:n});b.value=r.pages[Math.min(t,r.pages.length-1)]?.id??``}function zr(e){B.value||v.value.pages.length<=1||Te.Modal.confirm({title:`删除合同页面`,content:`删除页面会同时移除页面正文,是否继续?`,okText:`确认删除`,okType:`danger`,cancelText:`取消`,onOk:()=>{Rr(e)}})}function Br(e){let t=new Set(v.value.variables.map(e=>e.key)),n=1;for(;t.has(`${e}_${n}`);)n+=1;return`${e}_${n}`}function Vr(e){let t=e.type??`text`;return r.createTemplateVariable({...e,type:t,key:e.key||Br(t),label:e.label||r.getFieldOption(t,Wn.value).label},Wn.value,p.defaultVariableStyle)}function Hr(e,t=V.value?.id??v.value.pages[0].id,n){if(B.value)return e;let r=C.get(t)?.insertVariable(e,n),i=!v.value.variables.some(t=>t.key===e.key);return X({...v.value,pages:r?v.value.pages.map(e=>e.id===r.id?r:e):v.value.pages,variables:i?[...v.value.variables,e]:v.value.variables}),y.value=e.key,b.value=t,i&&m(`variable-add`,e),W(t),e}function Ur(e){let{width:t,height:n,...r}=e,i=s.normalizeContractImageDimension(t),a=s.normalizeContractImageDimension(n);return{...r,...i===void 0?{}:{width:i},...a===void 0?{}:{height:a}}}function Wr(e={}){let t=s.normalizeContractImageDimension(jt.value),n=s.normalizeContractImageDimension(Mt.value);return{...e,...t===void 0?{}:{width:t},...n===void 0?{}:{height:n}}}function Gr(){At.value=``,jt.value=void 0,Mt.value=void 0,Nt.value=``}function Kr(e,t=V.value?.id??v.value.pages[0]?.id,n){let r=Ur({...e,src:e.src.trim()});if(!(B.value||!t||!i.isSafeContractImageUrl(r.src)||!r.src||!C.get(t)?.insertContentImage(r,n)))return b.value=t,y.value=``,r.src}function qr(e){return e instanceof Error?e:Error(`图片处理失败`)}async function Jr(e,t){t===`toolbar`&&(Pt.value=!0,Nt.value=``);try{let n=await s.processContractImageFile(e,{source:t,compression:p.imageCompression,upload:p.imageUpload});return Qt?void 0:n.src}catch(e){let n=qr(e);t===`toolbar`&&(Nt.value=n.message),R.value=n.message,m(`image-error`,n,t);return}finally{t===`toolbar`&&(Pt.value=!1)}}let Yr=0;function Xr(e){let t=e.replacedFontFamilies.filter(Boolean);if(!t.length)return;let n=Date.now();n-Yr<800||(Yr=n,Te.message.info(`已将 ${t.length} 种外部字体(${t.join(`、`)})统一为合同标准字体,以保证 Mac 与 Windows 排版一致`))}async function Zr(e){return await Jr(e,`paste`)??null}async function Qr(e,t={}){if(B.value)return;let n=V.value?.id??v.value.pages[0]?.id,r=n?C.get(n)?.getSelectionRange():void 0,a=typeof e==`string`?e.trim():await Jr(e,`toolbar`);if(Qt)return;if(!a||!i.isSafeContractImageUrl(a)){typeof e==`string`&&(Nt.value=`请输入安全的图片 URL`);return}if(n&&!C.has(n))return;let o=Kr({...t,src:a},n,r);return o&&(Et.value=!1,Gr(),R.value=`已插入图片`),o}function $r(){B.value||Pt.value||($(),Nt.value=``,et.value&&(et.value.value=``),et.value?.click())}async function ei(e){let t=e.target.files?.[0];t&&await Qr(t,Wr({alt:t.name}))}async function ti(){let e=At.value;await Qr(e,Wr())}function ni(e){xi(e),Tt.value=!1}function ri(){$(),Ir()}function ii(e,t,n,r){$(),Hr(Vr({type:t}),e,{left:n,top:r})}function ai(e){$(),y.value=e}function oi(e){let n=v.value.variables.find(t=>t.id===e.id);if(!n)return;let i=e.key.trim();if(i!==n.key){let t=r.validateContractTemplateVariableKey(i,v.value.variables,e.id);if(t){R.value=t;return}}e={...e,key:i};let a=[...v.value.pages],o=n.key,s=``;C.forEach((t,n)=>{let r=t.updateVariable(e,o);if(r){s||=n;let e=a.findIndex(e=>e.id===n);e>=0&&(a[e]=r)}}),X({...v.value,pages:a,variables:v.value.variables.map(t=>t.id===e.id?e:t),...o!==e.key&&v.value.pageDecorations?{pageDecorations:t.rewritePageDecorationVariableTokens(v.value.pageDecorations,o,e.key)}:{}}),y.value=e.key,W(s||b.value)}function Q(e){H.value&&oi({...H.value,...e,style:{...H.value.style,...e.style}})}function si(e){B.value||!H.value||Q({key:e})}function ci(e){B.value||(X({...v.value,pageDecorations:t.normalizePageDecorations(e)}),W(v.value.pages[0]?.id))}function li(e){(e===`left`||e===`center`||e===`right`)&&Q({style:{textAlign:e}})}function ui(e){(e===`solid`||e===`dashed`)&&Q({style:{borderStyle:e}})}function di(e){(e===`contain`||e===`cover`||e===`fill`)&&Q({style:{objectFit:e}})}function fi(e){Q({style:e})}function pi(t){fi({fontFamily:String(t||``).trim()||e.DEFAULT_CONTRACT_FONT_FAMILY})}function mi(e){fi({fontSize:hr(e,H.value?.style?.fontSize??14)})}function hi(e){H.value&&Q({multiline:e,rows:H.value.rows||3,lineHeight:H.value.lineHeight||28,style:e?{underline:!0}:void 0})}function gi(e){H.value&&Q({rows:Number(e||3),lineHeight:H.value.lineHeight||28})}function _i(e){if(B.value)return;let n=[...v.value.pages];C.forEach((t,r)=>{let i=t.removeVariable(e.key);if(i){let e=n.findIndex(e=>e.id===r);e>=0&&(n[e]=i)}}),X({...v.value,pages:n,variables:v.value.variables.filter(t=>t.id!==e.id),...v.value.pageDecorations?{pageDecorations:t.rewritePageDecorationVariableTokens(v.value.pageDecorations,e.key)}:{}}),y.value=``}function vi(e){let t=(e.trim()||`variable`).replace(/\s+/g,`_`),n=new Set(v.value.variables.map(e=>e.key));if(!n.has(t))return t;let r=2;for(;n.has(`${t}_${r}`);)r+=1;return`${t}_${r}`}function yi(e){B.value||Hr(r.createTemplateVariable({...e,id:void 0,key:vi(`${e.key||e.type}_copy`),label:`${e.label}副本`,style:{...e.style}},Wn.value,p.defaultVariableStyle))}function bi(e){return B.value?void 0:Hr(v.value.variables.find(t=>t.key===e.key)??r.createTemplateVariable(e,Wn.value,p.defaultVariableStyle))}function xi(e){if(!B.value)return Hr(Vr({type:e}))}function Si(e){if(B.value||!n.isContractTemplateFieldType(e))return;let t=P.value,r=Wn.value.find(t=>t.type===e);if(!t||!r)return;let i=te.inferContextVariableLabel(t.leadingText)||r.label,a=te.resolveContextVariableWidth(t.selectionWidth,Re,rr.value),o=Ci();Hr(Vr({type:e,label:i,...a?{width:a}:{},...o?{style:o}:{}}),t.pageId),R.value=t.hasSelection?`已将选中内容替换为${r.label}控件`:`已插入${r.label}控件`,$()}function Ci(){let e=G.value,t={};return e.isUnderline&&(t.underline=!0),typeof e.fontSize==`number`&&Number.isFinite(e.fontSize)&&(t.fontSize=e.fontSize),e.fontFamily&&(t.fontFamily=e.fontFamily),e.textColor&&(t.color=e.textColor),Object.keys(t).length?t:void 0}function wi(e){if(B.value)return;let t=P.value;t&&(Hr(e,t.pageId),R.value=`已绑定到${e.label},沿用原控件尺寸`,$())}function Ti(e){let t=e.type&&n.isContractTemplateFieldType(e.type)?e.type:`text`;return r.getFieldOption(t,Wn.value).label}function Ei(){v.value.variables.length&&(Vt.value=!0,(0,d.nextTick)(()=>{za(),Ft.value?.focusBindSearch()}))}function Di(e,t){e.dataTransfer?.setData(`application/x-gd-contract-variable`,t),e.dataTransfer&&(e.dataTransfer.effectAllowed=`copy`)}function Oi(e){return E.value=Math.round(Math.min(Ne,Math.max(Me,Number.isFinite(e)?e:1))*100)/100,E.value}let{width:ki}=(0,Ee.useElementSize)(qe),Ai=(0,d.computed)(()=>Math.max(...v.value.pages.map(e=>Nr(e).width),r.DEFAULT_PAGE_SIZE.width)+10),{fitWidth:ji,applyAutoFit:Mi,markUserAdjusted:Ni,userAdjusted:Pi}=o.useFitWidthZoom({viewportWidth:ki,widestPageWidth:Ai,padding:48,minZoom:Me,maxZoom:Ne,getZoom:()=>E.value,applyZoom:Oi});function Fi(e){return Ni(),Oi(e)}function Ii(){return Mi()}function Li(){return E.value}function Ri(){Fi(E.value+Pe)}function zi(){Fi(E.value-Pe)}function Bi(){$(),Ka(),D.value=!D.value}(0,d.watch)(ki,e=>{k.value&&!Pi.value&&e>0&&ji()});function Vi(e){O.value?$e.value?.focus():e()}function Hi(){$(),Ka(),A.value=!1,Zt={fullscreen:D.value,sidebar:yt.value,inspector:bt.value,chrome:O.value,zoom:E.value,userAdjusted:Pi.value},D.value=!0,yt.value=!0,bt.value=!0,O.value=!0,k.value=!0,(0,d.nextTick)(()=>{B.value?xt.value?.focus():C.get(b.value)?.focus()})}function Ui(){let e=Zt;k.value=!1,Zt=void 0,e&&(D.value=e.fullscreen,yt.value=e.sidebar,bt.value=e.inspector,O.value=e.chrome,e.userAdjusted?Fi(e.zoom):Mi(),(0,d.nextTick)(()=>Vi(()=>Ye.value?.focusImmersive())))}function Wi(){k.value?Ui():Hi()}function Gi(){$(),F.value=void 0;let e=q(!1);h.value?(pt.value=c.cloneContractTemplateFiles(g.value),T.value=void 0,mt.value=_.value||g.value[0]?.id||``):(T.value=r.cloneTemplateValue(e),pt.value=void 0,mt.value=``),w.value=!0}function Ki(){w.value=!1,T.value=void 0,pt.value=void 0,mt.value=``}function qi(){return Sa()}function Ji(){$();let e=qi();return gt.value=JSON.stringify(e,null,2),ht.value=!0,e}function Yi(){ht.value=!1}function Xi(){return a.buildTemplateVariableData(q(!1))}function Zi(){$();let e=Xi();return vt.value=e,_t.value=!0,e}function Qi(){_t.value=!1}function $i(){$(),F.value=void 0,M.value=!1,N.value=!1,y.value=``,b.value=``,w.value=!1,T.value=void 0,pt.value=void 0,ht.value=!1,gt.value=``,_t.value=!1,vt.value={values:{},variables:[]},wt.value={},ft.value=``;let e=X(r.createBlankTemplate(r.DEFAULT_PAGE_SIZE));return b.value=e.pages[0]?.id??``,r.cloneTemplateValue(e)}function ea(){B.value||($(),Te.Modal.confirm({title:`清空合同内容`,content:`将清空全部合同正文、页面和模板变量,仅保留一个空白 A4 合同页。此操作不可撤销。`,okText:`确认清空`,okType:`danger`,cancelText:`取消`,onOk:()=>{$i()}}))}function ta(e){let t=K().pages,n=t.find(e=>e.id===b.value);return(n?[n,...t.filter(e=>e.id!==n.id)]:t).find(t=>t.contentHtml.includes(`data-key="${e.key}"`)||t.contentHtml.includes(`data-key='${e.key}'`))}function na(e){$(),y.value=e.key;let t=ta(e);t&&(b.value=t.id,(0,d.nextTick)(()=>{C.get(t.id)?.scrollIntoVariable(e.key)}))}function ra(e){let t=v.value.variables.find(t=>t.key===e||t.id===e);t&&na(t)}function ia(e,t=!0){$(),b.value=e,t&&(0,d.nextTick)(()=>{C.get(e)?.scrollIntoPage()})}function aa(e){ia(e.pageId,!1),C.get(e.pageId)?.focusHeading(e.headingIndex)}function oa(e){v.value.pages.some(t=>t.id===e)&&ia(e)}function sa(){if(A.value){ca();return}A.value=!0}function ca(){A.value=!1,(0,d.nextTick)(()=>Vi(()=>Ye.value?.focusPageDecorations()))}function la(){return vr(),r.cloneTemplateValue(K())}function ua(e){W(X(r.normalizeTemplateValue(e,p.pageSize)).pages[0]?.id)}function da(){let e=q(!1);return h.value?c.cloneContractTemplateFiles(g.value):c.cloneContractTemplateFiles(c.replaceContractTemplateFile(g.value,_.value,e))}function fa(e,t){let n=c.normalizeContractTemplateFiles(e,void 0,p.pageSize),r=c.constrainContractTemplateFiles(n,p.pageSizeOptions),i=g.value;it.value=!0,q(!1),g.value=r.files,Y(c.resolveContractTemplateActiveFileId(g.value,t??_.value),{syncCurrent:!1,shouldEmit:!0,forceRefresh:!0}),l.serializeFingerprint(i)!==l.serializeFingerprint(g.value)&&J(g.value,``)}function pa(e){if(B.value)return;it.value=!0,q(!0);let t=c.createContractTemplateFile(e||`合同文件 ${g.value.length+1}`,p.pageSize);return g.value=[...g.value,t],J(g.value,``),m(`file-add`,c.cloneContractTemplateFiles([t])[0]),Y(t.id,{syncCurrent:!1,shouldEmit:!0,forceRefresh:!0}),c.cloneContractTemplateFiles([t])[0]}function ma(e){!h.value&&!g.value.some(t=>t.id===e)||(it.value=!0,Y(e))}function ha(e,t){if(B.value)return;it.value=!0,q(!1);let n=c.renameContractTemplateFile(g.value,e,t),r=n.find(t=>t.id===e);if(r)return g.value=n,J(n,e),c.cloneContractTemplateFiles([r])[0]}function ga(e){if(B.value||g.value.length<=1)return;it.value=!0,q(!1);let t=g.value.find(t=>t.id===e);if(!t)return;let n=c.removeContractTemplateFile(g.value,e);if(n.length!==g.value.length)return g.value=n,J(n,``),m(`file-remove`,c.cloneContractTemplateFiles([t])[0]),_.value===e&&Y(c.resolveContractTemplateActiveFileId(n,n[0]?.id),{syncCurrent:!1,shouldEmit:!0,forceRefresh:!0}),c.cloneContractTemplateFiles([t])[0]}function _a(e){if(B.value||g.value.length<=1)return;let t=g.value.find(t=>t.id===e);t&&Te.Modal.confirm({title:`删除合同文件`,content:`删除“${t.name}”后,其正文和变量将无法恢复,是否继续?`,okText:`确认删除`,okType:`danger`,cancelText:`取消`,onOk:()=>{ga(e)}})}function va(e,t){if(B.value)return;it.value=!0,q(!1);let n=g.value.findIndex(t=>t.id===e),r=c.moveContractTemplateFile(g.value,e,t),i=r.findIndex(t=>t.id===e),a=r[i];if(!(!a||n===i))return g.value=r,J(r,``),m(`file-move`,c.cloneContractTemplateFiles([a])[0],n,i),c.cloneContractTemplateFiles([a])[0]}function ya(){q(!1);let e=wa(h.value?g.value.flatMap(e=>r.validateTemplateValue(e.template,{maxPages:U.value}).map(t=>({...t,fileId:e.id}))):r.validateTemplateValue(K(),{maxPages:U.value}));return S.value=e,x.value=!0,m(`validate`,e),e}function ba(e){if(e.fileId&&e.fileId!==_.value){ma(e.fileId),(0,d.nextTick)(()=>ba({...e,fileId:void 0}));return}let n=t.resolvePageDecorationValidationPath(e);if(n){A.value=!0,(0,d.nextTick)(()=>Xe.value?.focusField(n));return}if(e.variableKey){ra(e.variableKey);return}if(e.pageId){oa(e.pageId);return}let r=v.value.variables.find(t=>t.id===e.id||t.key===e.id);if(r){na(r);return}v.value.pages.some(t=>t.id===e.id)&&ia(e.id)}function xa(e){return t.resolvePageDecorationValidationPath(e)?`页面装饰`:e.type===`variable`?`变量`:`字段`}function Sa(){return vr(),r.exportTemplateValue(K())}function Ca(){let e=q(!1),t=h.value?g.value:c.replaceContractTemplateFile(g.value,_.value,e);return c.exportContractTemplateFiles(t)}function wa(e){let t=new Set;return e.filter(e=>{let n=`${e.fileId??``}|${e.code??``}|${e.id}|${e.pageId??``}|${e.message}`;return t.has(n)?!1:(t.add(n),!0)})}function Ta(e){S.value=[...e],x.value=!0}function Ea(){S.value=[],x.value=!1}function Da(){C.get(V.value?.id??b.value)?.focus()}function Oa(e){pr(e)&&Z({type:`set-text-align`,value:e})}function ka(e){(e===`paragraph`||mr(e))&&Z({type:`apply-block-style`,format:e})}function Aa(e){let t=gr(e);t&&(Z({type:`set-font-size`,value:t}),j.value=``)}function ja(e){let t=String(e||``).trim();if(!t){Z({type:`unset-font-family`});return}Z({type:`set-font-family`,value:t})}function Ma(e){Na(e.target?.value??``)}function Na(e){let t=e.trim();t&&Z({type:`set-color`,value:t})}function Pa(e){j.value=e}function Fa(){j.value.trim()&&Aa(j.value)}function Ia(e){e.key===`Enter`&&(e.preventDefault(),Fa())}function La(e){e||(Fa(),j.value=``)}function Ra(e){if(B.value)return;b.value=e.pageId,M.value=!1,N.value=!1,I.value=void 0,L.value=void 0,Vt.value=!1,Ht.value=``;let t=u.clampContextMenuPosition(e.clientX,e.clientY,304,300);P.value={pageId:e.pageId,x:t.x,y:t.y,hasSelection:e.hasSelection,selectionWidth:e.selectionWidth,leadingText:e.leadingText},(0,d.nextTick)(()=>{za(),Ft.value?.focusFirstButton()})}function za(){let e=Ft.value?.getMenuElement(),t=P.value;if(!e||!t)return;let n=u.clampContextMenuToElement(t.x,t.y,e);P.value={...t,x:n.x,y:n.y}}function Ba(e){if(B.value)return;b.value=e.pageId,M.value=!1,N.value=!1,P.value=void 0,L.value=void 0;let t=u.clampContextMenuPosition(e.clientX,e.clientY,248,400);I.value={...e,x:t.x,y:t.y},(0,d.nextTick)(()=>{let e=Ut.value?.getMenuElement(),t=I.value;if(e&&t){let n=u.clampContextMenuToElement(t.x,t.y,e);I.value={...t,x:n.x,y:n.y}}Ut.value?.focusFirstItem()})}function Va(e){if(B.value)return;b.value=e.pageId,M.value=!1,N.value=!1,P.value=void 0,I.value=void 0,Gt.value=e.image.width,Kt.value=e.image.height,y.value=``;let t=u.clampContextMenuPosition(e.clientX,e.clientY,288,196);L.value={pageId:e.pageId,image:e.image,x:t.x,y:t.y},(0,d.nextTick)(()=>{Ha(),Wt.value?.getMenuElement()?.querySelector(`input, button:not(:disabled)`)?.focus()})}function Ha(){let e=Wt.value?.getMenuElement(),t=L.value;if(!e||!t)return;let n=u.clampContextMenuToElement(t.x,t.y,e);L.value={...t,x:n.x,y:n.y}}function Ua(){let e=L.value;!e||B.value||(C.get(e.pageId)?.updateSelectedContentImage({width:s.normalizeContractImageDimension(Gt.value),height:s.normalizeContractImageDimension(Kt.value)})&&(R.value=`已更新图片尺寸`),$())}function Wa(){let e=L.value;!e||B.value||(C.get(e.pageId)?.updateSelectedContentImage({width:void 0,height:void 0})&&(R.value=`已恢复图片自然尺寸`),$())}function Ga(e){e.type===`table`?Ba(e):e.type===`image`?Va(e):Ra(e)}function $(){P.value=void 0,I.value=void 0,L.value=void 0,Vt.value=!1,Ht.value=``}function Ka(){fn(!1),M.value=!1,N.value=!1,Ct.value=!1,Tt.value=!1,Et.value=!1,Dt.value=!1,Ot.value=!1}function qa(){Ka(),O.value=!O.value,(0,d.nextTick)(()=>Vi(()=>Ye.value?.focusChromeToggle()))}let Ja=[`.gd-contract-template-designer__context-menu`,`.gd-contract-template-designer__bubble-menu`,`.gd-contract-template-designer__bubble-menu-popup`].join(`,`);function Ya(){let e=B.value||zt.value||Lt.value||vn.value||A.value||w.value,t=b.value,n=e?void 0:C.get(t)?.getSelectionViewportRect();if(!n){F.value=void 0;return}let r=n.top-40-He,i=r>=12?r:n.bottom+He,a=(n.left+n.right)/2-380/2,o=u.clampContextMenuPosition(a,i,380,40);F.value={pageId:t,x:o.x,y:o.y},(0,d.nextTick)(()=>Xa(n))}function Xa(e){let t=It.value?.getMenuElement(),n=F.value;if(!t||!n)return;let r=t.getBoundingClientRect(),i=e.top-r.height-He,a=i>=12?i:e.bottom+He,o=(e.left+e.right)/2-r.width/2,s=u.clampContextMenuToElement(o,a,t);F.value={...n,x:s.x,y:s.y}}function Za(){let e=F.value?.pageId??b.value,t=C.get(e)?.getSelectionRange();Rt=t?{pageId:e,...t}:void 0,Lt.value=!0,F.value=void 0}function Qa(e){if(!Lt.value)return;let t=Rt,n=C.get(e)?.getSelectionRange();t&&n&&t.pageId===e&&t.from===n.from&&t.to===n.to||(Lt.value=!1,Rt=void 0)}function $a(){!F.value||Bt!==void 0||(Bt=requestAnimationFrame(()=>{Bt=void 0,Ya()}))}function eo(){zt.value&&(zt.value=!1,Ya())}function to(){$(),$a()}function no(e,t){C.get(F.value?.pageId??b.value)?.requestTextContextMenu(e,t)}function ro(e){let t=e.target instanceof Element?e.target:null;t?.closest(`.ProseMirror`)&&(zt.value=!0,F.value=void 0),!(!P.value&&!I.value&&!L.value&&!F.value)&&(t?.closest(Ja)||($(),F.value&&Za()))}function io(e){(e.target instanceof Element?e.target:null)?.closest(Ja)||($(),$a())}function ao(e){let t=Ke.value;if(!t||typeof document>`u`)return!1;let n=e.target instanceof Node?e.target:void 0,r=document.activeElement;return!!(n&&t.contains(n)||r&&t.contains(r)||n instanceof Element&&n.closest(`.gd-contract-template-designer__context-menu`))}function oo(e){if(e.key!==`Escape`||!A.value||typeof document>`u`)return;let t=Ke.value?.querySelector(`.gd-contract-template-designer__page-decorations-studio`);if(!t)return;let n=e.target instanceof Element?e.target:null,r=document.activeElement instanceof Element?document.activeElement:null,i=!!(n?.closest(Yt)||r?.closest(Yt)),a=!!(n&&t.contains(n)||r&&t.contains(r)),o=!!t.querySelector(`.ant-select-open, .ant-dropdown-open`);if(i||a&&o){Jt.add(e);return}!vn.value&&(a||e.target===document)&&(e.preventDefault(),e.stopPropagation(),ca())}function so(e){if((e.ctrlKey||e.metaKey)&&!e.altKey&&e.key.toLowerCase()===`s`){if(!yn.value||!ao(e))return;e.preventDefault(),Yn();return}if(e.key===`Escape`){if(Jt.has(e)){Jt.delete(e);return}let t=vn.value,n=t||A.value;if(!t&&A.value&&ca(),$(),Ka(),n&&e.stopPropagation(),!n){if(F.value){Za(),e.stopPropagation();return}k.value?Ui():D.value=!1}}}function co(e,t){e===b.value&&t.selectedContentImage&&(y.value=``),e===b.value&&(Qa(e),Ya());let n=wt.value[e];n&&we.isSameEditorState(n,t)||(wt.value={...wt.value,[e]:t})}function lo(e=qt.value.rows,t=qt.value.cols){Z({type:`insert-table`,options:{rows:Math.min(10,Math.max(1,Math.round(Number(e)||3))),cols:Math.min(10,Math.max(1,Math.round(Number(t)||3))),withHeaderRow:!!qt.value.withHeaderRow}}),M.value=!1,$()}let uo={"delete-table-row":{label:`删除当前行`,countKey:`deleteRow`},"delete-table-column":{label:`删除当前列`,countKey:`deleteColumn`},"delete-table":{label:`删除表格`,countKey:`deleteTable`}};function fo(e){let t=I.value;if(!t)return;let n=()=>{Z(e,t.pageId),$()},r=uo[e.type];if(!r){n();return}let i=t.affectedVariableCounts[r.countKey];$(),Te.Modal.confirm({title:r.label,content:i?`此操作将移除 ${i} 个正文变量节点,是否继续?`:`此操作将修改表格结构,是否继续?`,okText:`确认`,okType:`danger`,cancelText:`取消`,onOk:n,onCancel:()=>C.get(t.pageId)?.focus()})}function po(e){let t=Ut.value?.getMenuElement();if(!t)return;if(e.key===`Escape`){e.preventDefault(),e.stopPropagation();let t=I.value?.pageId;$(),C.get(t??``)?.focus();return}let n=Array.from(t.querySelectorAll(`button:not(:disabled)`));if(!n.length)return;if(e.key===`Home`||e.key===`End`){e.preventDefault(),n[e.key===`Home`?0:n.length-1]?.focus();return}if(![`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`].includes(e.key))return;let r=(Math.max(0,n.indexOf(document.activeElement))+(e.key===`ArrowUp`||e.key===`ArrowLeft`?-1:1)+n.length)%n.length;e.preventDefault(),n[r]?.focus()}function mo(e){if(e.key!==`Escape`)return;e.preventDefault(),e.stopPropagation();let t=P.value?.pageId;$(),C.get(t??``)?.focus()}function ho(e){if(e.key!==`Escape`)return;e.preventDefault(),e.stopPropagation();let t=L.value?.pageId;$(),C.get(t??``)?.focus()}function go(e){Z({type:e}),N.value=!1,$()}return Ue({getValue:la,setValue:ua,getFiles:da,setFiles:fa,addFile:pa,selectFile:ma,renameFile:ha,removeFile:ga,moveFile:va,validate:ya,exportTemplate:Sa,exportFiles:Ca,getSubmitData:qi,clearTemplate:$i,saveDraftCache:Yn,loadDraftCache:Xn,clearDraftCache:Zn,getDraftCacheStatus:Cr,insertVariable:bi,insertImage:Qr,focus:Da,openPreview:Gi,closePreview:Ki,openSubmitDataViewer:Ji,closeSubmitDataViewer:Yi,getVariableData:Xi,openVariableDataViewer:Zi,closeVariableDataViewer:Qi,setServerValidationErrors:Ta,clearValidationErrors:Ea,scrollToVariable:ra,scrollToPage:oa,setZoom:Fi,resetZoom:Ii,getZoom:Li,fitWidth:ji}),(e,t)=>((0,d.openBlock)(),(0,d.createElementBlock)(`div`,{ref_key:`designerElement`,ref:Ke,class:(0,d.normalizeClass)([`gd-contract-template-designer`,{"is-disabled":f.disabled,"is-readonly":B.value,"is-fullscreen":D.value,"is-immersive":k.value}]),style:(0,d.normalizeStyle)(Ge.value),onKeydownCapture:t[31]||=(...e)=>(0,d.unref)(_n)&&(0,d.unref)(_n)(...e)},[h.value?((0,d.openBlock)(),(0,d.createBlock)(be.default,{key:0,files:g.value,"active-file-id":_.value,readonly:B.value,onSelect:ma,onAdd:t[0]||=e=>pa(),onRename:ha,onRemove:_a,onMove:va},null,8,[`files`,`active-file-id`,`readonly`])):(0,d.createCommentVNode)(``,!0),(0,d.createElementVNode)(`div`,{class:(0,d.normalizeClass)([`gd-contract-template-designer__layout`,{"is-sidebar-collapsed":yt.value,"is-inspector-collapsed":bt.value}])},[(0,d.createVNode)(xe.default,{collapsed:yt.value,pages:v.value.pages,variables:v.value.variables,"decoration-variable-keys":Jn.value,"active-page-id":b.value,"selected-variable-key":y.value,"normalized-max-pages":U.value,"page-limit-reached":qn.value,"selected-page":V.value,"selected-page-size":wn.value,"normalized-page-size-options":Bn.value,"page-size-options":Vn.value,"selected-page-size-option-value":Hn.value,readonly:B.value,"get-page-size":Nr,onToggle:t[1]||=e=>yt.value=!yt.value,onAddPage:Ir,onActivatePage:ia,onNavigateOutline:aa,onDuplicatePage:Lr,onRemovePage:zr,onPatchPageFormat:Pr,onScrollToVariable:na},null,8,[`collapsed`,`pages`,`variables`,`decoration-variable-keys`,`active-page-id`,`selected-variable-key`,`normalized-max-pages`,`page-limit-reached`,`selected-page`,`selected-page-size`,`normalized-page-size-options`,`page-size-options`,`selected-page-size-option-value`,`readonly`]),(0,d.createElementVNode)(`main`,{ref_key:`workspaceElement`,ref:Je,class:`gd-contract-template-designer__workspace`},[(0,d.withDirectives)((0,d.createElementVNode)(`div`,{id:Qe,class:`gd-contract-template-designer__workspace-chrome`},[(0,d.createVNode)(ie.default,{ref_key:`workspaceHeaderElement`,ref:Ye,summary:Dn.value,"draft-cache-status-text":jn.value,"draft-cache-status-class":Mn.value,"show-draft-cache-status":f.showDraftCacheStatus,"show-clear-button":f.showClearButton,"show-submit-data-viewer":f.showSubmitDataViewer,"show-variable-data-viewer":f.showVariableDataViewer,readonly:B.value,"zoom-percent":Nn.value,"zoom-out-disabled":E.value<=Me,"zoom-in-disabled":E.value>=Ne,"is-fullscreen":D.value,immersive:k.value,"page-decorations-open":A.value,"page-decorations-studio-id":Ze,"page-decorations-preset-label":On.value,"page-decorations-enabled-count":An.value,"page-decorations-enabled-states":kn.value,"chrome-controls-id":Qe,onZoomOut:zi,onZoomIn:Ri,onFitWidth:(0,d.unref)(ji),onResetZoom:Ii,onToggleFullscreen:Bi,onToggleImmersive:Wi,onClear:ea,onValidate:ya,onPreview:Gi,onSubmitData:Ji,onVariableData:Zi,onTogglePageDecorations:sa,onToggleChrome:qa},{authoring:(0,d.withCtx)(()=>[(0,d.createVNode)(se.default,{ref_key:`authoringBarElement`,ref:tt,compact:``,query:(0,d.unref)(nn),"onUpdate:query":t[2]||=e=>(0,d.isRef)(nn)?nn.value=e:null,replacement:(0,d.unref)(rn),"onUpdate:replacement":t[3]||=e=>(0,d.isRef)(rn)?rn.value=e:null,"match-case":(0,d.unref)(an),"onUpdate:matchCase":t[4]||=e=>(0,d.isRef)(an)?an.value=e:null,panel:(0,d.unref)(tn),readonly:B.value,total:(0,d.unref)(on).length,"current-index":(0,d.unref)(sn),"current-page":(0,d.unref)(cn)?(0,d.unref)(cn).pageIndex+1:void 0,feedback:(0,d.unref)(ln),onOpen:(0,d.unref)(dn),onClose:t[5]||=e=>(0,d.unref)(fn)(),onNavigate:(0,d.unref)(pn),onReplaceCurrent:(0,d.unref)(mn),onReplaceAll:(0,d.unref)(hn),onInsertSnippet:(0,d.unref)(gn)},null,8,[`query`,`replacement`,`match-case`,`panel`,`readonly`,`total`,`current-index`,`current-page`,`feedback`,`onOpen`,`onNavigate`,`onReplaceCurrent`,`onReplaceAll`,`onInsertSnippet`])]),_:1},8,[`summary`,`draft-cache-status-text`,`draft-cache-status-class`,`show-draft-cache-status`,`show-clear-button`,`show-submit-data-viewer`,`show-variable-data-viewer`,`readonly`,`zoom-percent`,`zoom-out-disabled`,`zoom-in-disabled`,`is-fullscreen`,`immersive`,`page-decorations-open`,`page-decorations-preset-label`,`page-decorations-enabled-count`,`page-decorations-enabled-states`,`onFitWidth`]),(0,d.createVNode)(oe.default,{"variable-insert-popover-open":Tt.value,"onUpdate:variableInsertPopoverOpen":t[6]||=e=>Tt.value=e,"signing-layout-popover-open":Dt.value,"onUpdate:signingLayoutPopoverOpen":t[7]||=e=>Dt.value=e,"signing-mark-popover-open":Ot.value,"onUpdate:signingMarkPopoverOpen":t[8]||=e=>Ot.value=e,"image-insert-popover-open":Et.value,"onUpdate:imageInsertPopoverOpen":t[9]||=e=>Et.value=e,"image-insert-url":At.value,"onUpdate:imageInsertUrl":t[10]||=e=>At.value=e,"image-insert-width":jt.value,"onUpdate:imageInsertWidth":t[11]||=e=>jt.value=e,"image-insert-height":Mt.value,"onUpdate:imageInsertHeight":t[12]||=e=>Mt.value=e,"table-insert-popover-open":M.value,"onUpdate:tableInsertPopoverOpen":t[13]||=e=>M.value=e,"table-actions-popover-open":N.value,"onUpdate:tableActionsPopoverOpen":t[14]||=e=>N.value=e,"table-insert-draft":qt.value,"onUpdate:tableInsertDraft":t[15]||=e=>qt.value=e,"toolbar-more-open":Ct.value,"onUpdate:toolbarMoreOpen":t[16]||=e=>Ct.value=e,readonly:B.value,"editor-state":G.value,"current-block-format":ar.value,"block-format-options":Ln,"font-family-select-options":Fn.value,"current-editor-font-family":or.value,"font-size-preset-options":ur.value,"current-editor-font-size":sr.value,"editor-font-size-search-value":j.value,"current-editor-text-color":cr.value,"body-control-tool-items":Kn.value,"signing-layout-presets":Gn.value,"page-limit-reached":qn.value,"normalized-max-pages":U.value,"image-processing":Pt.value,"image-insert-error":Nt.value,onCommand:t[17]||=e=>Z(e),onPatchBlockFormat:ka,onPatchFontFamily:ja,onPatchFontSize:Aa,onPatchColor:Ma,onPatchTextAlign:Oa,onInsertVariable:ni,onInsertSigningLayout:Tr,onInsertSigningMark:Or,onOpenSigningLayoutCustom:Dr,onOpenImageFile:$r,onInsertImageUrl:ti,onAddPage:Ir,onInsertTable:lo,onTableAction:go,onFontSizeSearch:Pa,onFontSizeCommit:Fa,onFontSizeDropdownChange:La,onFontSizeKeydown:Ia},null,8,`variable-insert-popover-open.signing-layout-popover-open.signing-mark-popover-open.image-insert-popover-open.image-insert-url.image-insert-width.image-insert-height.table-insert-popover-open.table-actions-popover-open.table-insert-draft.toolbar-more-open.readonly.editor-state.current-block-format.font-family-select-options.current-editor-font-family.font-size-preset-options.current-editor-font-size.editor-font-size-search-value.current-editor-text-color.body-control-tool-items.signing-layout-presets.page-limit-reached.normalized-max-pages.image-processing.image-insert-error`.split(`.`))],512),[[d.vShow,!O.value]]),O.value?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(Te.Tooltip),{key:0,title:`展开工具区`},{default:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`button`,{ref_key:`workspaceChromeHandleElement`,ref:$e,type:`button`,class:`gd-contract-template-designer__workspace-chrome-handle`,"aria-label":`展开工具区`,"aria-expanded":!1,"aria-controls":Qe,onClick:qa},[(0,d.createVNode)((0,d.unref)(De.DownOutlined),{"aria-hidden":`true`})],512)]),_:1})):(0,d.createCommentVNode)(``,!0),k.value&&!A.value?((0,d.openBlock)(),(0,d.createElementBlock)(`button`,{key:1,ref_key:`immersiveExitElement`,ref:xt,type:`button`,class:`gd-contract-template-designer__immersive-exit`,"aria-label":`退出沉浸写作`,onClick:Ui},[(0,d.createVNode)((0,d.unref)(De.CompressOutlined),{"aria-hidden":`true`}),t[32]||=(0,d.createElementVNode)(`span`,{class:`gd-contract-template-designer__immersive-exit-label`},`退出沉浸`,-1),t[33]||=(0,d.createElementVNode)(`kbd`,null,`Esc`,-1)],512)):(0,d.createCommentVNode)(``,!0),x.value?((0,d.openBlock)(),(0,d.createElementBlock)(`section`,Oe,[(0,d.createVNode)((0,d.unref)(Te.Alert),{type:Tn.value?`success`:`error`,message:En.value,"show-icon":``},null,8,[`type`,`message`]),S.value.length?((0,d.openBlock)(),(0,d.createElementBlock)(`div`,ke,[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(S.value,e=>((0,d.openBlock)(),(0,d.createElementBlock)(`button`,{key:`${e.id}-${e.message}`,type:`button`,class:`gd-contract-template-designer__validation-item`,onClick:t=>ba(e)},[(0,d.createElementVNode)(`span`,null,(0,d.toDisplayString)(e.message),1),(0,d.createElementVNode)(`small`,null,(0,d.toDisplayString)(xa(e)),1)],8,Ae))),128))])):(0,d.createCommentVNode)(``,!0)])):(0,d.createCommentVNode)(``,!0),(0,d.createElementVNode)(`div`,{ref_key:`canvasElement`,ref:qe,class:`gd-contract-template-designer__canvas`},[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(v.value.pages,(e,n)=>((0,d.openBlock)(),(0,d.createBlock)(ne.default,{key:`${_.value}:${e.id}`,ref_for:!0,ref:t=>wr(e.id,t),page:e,"page-index":n,"page-size":Nr(e),"page-decorations":v.value.pageDecorations,"total-pages":v.value.pages.length,variables:v.value.variables,"selected-variable-key":y.value,active:b.value===e.id,readonly:f.readonly,disabled:f.disabled,zoom:E.value,"process-image-file":Zr,"search-query":(0,d.unref)(un),"search-match-case":(0,d.unref)(an),"active-search-match":(0,d.unref)(cn)?.pageId===e.id?(0,d.unref)(cn):void 0,onPageUpdate:Mr,onVariableDrop:ii,onVariableSelect:ai,onEditorFocus:t[18]||=e=>ia(e,!1),onEditorStateChange:co,onEditorContextMenu:Ga,onWordPaste:Xr,onVariableMoveBlocked:t[19]||=e=>R.value=`变量只能在当前页内移动,跨页移动尚未支持。`},null,8,[`page`,`page-index`,`page-size`,`page-decorations`,`total-pages`,`variables`,`selected-variable-key`,`active`,`readonly`,`disabled`,`zoom`,`search-query`,`search-match-case`,`active-search-match`]))),128))],512)],512),(0,d.createVNode)(Se.default,{collapsed:bt.value,readonly:f.readonly,disabled:f.disabled,"body-control-tool-items":Kn.value,"selected-variable":H.value,variables:v.value.variables,"current-variable-font-family":lr.value,"font-family-select-options":Fn.value,"text-align-options":(0,d.unref)(In),"border-style-options":Rn,"object-fit-options":zn,"selected-variable-width-max":rr.value,"selected-variable-height-max":ir.value,"min-font-size":Be,"max-font-size":Ve,"default-multiline-rows":(0,d.unref)(3),onToggle:t[20]||=e=>bt.value=!bt.value,onVariableDragStart:Di,onInsertVariable:xi,onDuplicateVariable:yi,onRemoveVariable:_i,onPatchVariable:Q,onRenameVariable:si,onPatchStyle:fi,onPatchMultiline:hi,onPatchRows:gi,onPatchFontFamily:pi,onPatchFontSize:mi,onPatchTextAlign:li,onPatchBorderStyle:ui,onPatchObjectFit:di},null,8,[`collapsed`,`readonly`,`disabled`,`body-control-tool-items`,`selected-variable`,`variables`,`current-variable-font-family`,`font-family-select-options`,`text-align-options`,`selected-variable-width-max`,`selected-variable-height-max`,`default-multiline-rows`])],2),(0,d.withDirectives)((0,d.createVNode)(Ce.default,{ref_key:`pageDecorationsStudioElement`,ref:Xe,id:Ze,open:A.value,decorations:v.value.pageDecorations,variables:v.value.variables,"font-family-options":Fn.value,readonly:f.readonly,disabled:f.disabled,"active-tab":St.value,"onUpdate:activeTab":t[21]||=e=>St.value=e,onChange:ci,onClose:ca},null,8,[`open`,`decorations`,`variables`,`font-family-options`,`readonly`,`disabled`,`active-tab`]),[[d.vShow,A.value]]),((0,d.openBlock)(),(0,d.createBlock)(d.Teleport,{to:`body`},[I.value?((0,d.openBlock)(),(0,d.createBlock)(re.default,{key:0,ref_key:`tableContextMenuElement`,ref:Ut,capabilities:I.value.capabilities,"active-alignment":I.value.activeAlignment,style:(0,d.normalizeStyle)({left:`${I.value.x}px`,top:`${I.value.y}px`}),onExecute:fo,onKeydown:po},null,8,[`capabilities`,`active-alignment`,`style`])):(0,d.createCommentVNode)(``,!0),L.value?((0,d.openBlock)(),(0,d.createBlock)(de.default,{key:1,ref_key:`imageContextMenuElement`,ref:Wt,width:Gt.value,"onUpdate:width":t[22]||=e=>Gt.value=e,height:Kt.value,"onUpdate:height":t[23]||=e=>Kt.value=e,x:L.value.x,y:L.value.y,readonly:B.value,onRestore:Wa,onApply:Ua,onKeydown:ho},null,8,[`width`,`height`,`x`,`y`,`readonly`])):(0,d.createCommentVNode)(``,!0),P.value?((0,d.openBlock)(),(0,d.createBlock)(le.default,{key:2,ref_key:`textContextMenuElement`,ref:Ft,"bind-open":Vt.value,"onUpdate:bindOpen":t[24]||=e=>Vt.value=e,"bind-keyword":Ht.value,"onUpdate:bindKeyword":t[25]||=e=>Ht.value=e,x:P.value.x,y:P.value.y,"has-selection":P.value.hasSelection,"editor-state":G.value,"current-editor-text-color":cr.value,"body-control-tool-items":Kn.value,"text-menu-bindable-variables":nr.value,"variables-count":v.value.variables.length,"resolve-bind-variable-type-label":Ti,onCommand:kr,onClipboard:Ar,onAddPage:ri,onInsertVariable:Si,onBindVariable:wi,onOpenBindPanel:Ei,onKeydown:mo,onPatchColor:Na},null,8,[`bind-open`,`bind-keyword`,`x`,`y`,`has-selection`,`editor-state`,`current-editor-text-color`,`body-control-tool-items`,`text-menu-bindable-variables`,`variables-count`])):(0,d.createCommentVNode)(``,!0),F.value?((0,d.openBlock)(),(0,d.createBlock)(ue.default,{key:3,ref_key:`textBubbleElement`,ref:It,x:F.value.x,y:F.value.y,"editor-state":G.value,"font-size-preset-options":ur.value,"current-editor-font-size":sr.value,"editor-font-size-search-value":j.value,"current-editor-text-color":cr.value,"text-align-options":(0,d.unref)(In),onCommand:Z,onPatchFontSize:Aa,onPatchTextAlign:Oa,onPatchColor:Na,onFontSizeSearch:Pa,onFontSizeCommit:Fa,onFontSizeDropdownChange:La,onFontSizeKeydown:Ia,onMore:no},null,8,[`x`,`y`,`editor-state`,`font-size-preset-options`,`current-editor-font-size`,`editor-font-size-search-value`,`current-editor-text-color`,`text-align-options`])):(0,d.createCommentVNode)(``,!0)])),(0,d.createElementVNode)(`input`,{ref_key:`imageFileInputElement`,ref:et,class:`gd-contract-template-designer__hidden-file-input`,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif,image/bmp`,tabindex:`-1`,"aria-hidden":`true`,onChange:ei},null,544),(0,d.createElementVNode)(`span`,je,(0,d.toDisplayString)(R.value),1),(0,d.createVNode)(fe.default,{open:w.value,"onUpdate:open":t[26]||=e=>w.value=e,"preview-pages":xn.value,"preview-file-groups":Sn.value,"preview-active-group":Cn.value,"preview-snapshot":T.value,"font-base-url":f.contractFontBaseUrl,onCancel:Ki,onSelectFile:t[27]||=e=>mt.value=e},null,8,[`open`,`preview-pages`,`preview-file-groups`,`preview-active-group`,`preview-snapshot`,`font-base-url`]),(0,d.createVNode)(pe.default,{open:ht.value,"onUpdate:open":t[28]||=e=>ht.value=e,json:gt.value,onCancel:Yi},null,8,[`open`,`json`]),(0,d.createVNode)(me.default,{open:_t.value,"onUpdate:open":t[29]||=e=>_t.value=e,data:vt.value,"file-name":bn.value?.name,onCancel:Qi},null,8,[`open`,`data`,`file-name`]),(0,d.createVNode)(he.default,{open:kt.value,"onUpdate:open":t[30]||=e=>kt.value=e,disabled:B.value,onInsert:Er},null,8,[`open`,`disabled`])],38))}});exports.default=f;
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./constants.cjs`),t=require(`./utils/page-decorations.cjs`),n=require(`./types.cjs`),r=require(`./composables/use-template-designer.cjs`),i=require(`./utils/image-url.cjs`),a=require(`./utils/template-renderer.cjs`),o=require(`./composables/use-fit-width-zoom.cjs`),s=require(`./utils/content-image.cjs`),ee=require(`./utils/signing-layout-presets.cjs`),te=require(`./utils/context-variable.cjs`),ne=require(`./DesignerPage.cjs`),re=require(`./TableContextMenu.cjs`),ie=require(`./ContractTemplateDesignerWorkspaceHeader.cjs`),ae=require(`./utils/template-tool-icons.cjs`),oe=require(`./ContractTemplateDesignerToolbar.cjs`),se=require(`./ContractTemplateAuthoringBar.cjs`),ce=require(`./composables/use-template-authoring.cjs`),le=require(`./ContractTemplateTextContextMenu.cjs`),ue=require(`./ContractTemplateTextBubbleMenu.cjs`),de=require(`./ContractTemplateImageContextMenu.cjs`),fe=require(`./ContractTemplatePreviewModal.cjs`),pe=require(`./ContractTemplateSubmitDataModal.cjs`),me=require(`./ContractTemplateVariableDataModal.cjs`),he=require(`./SigningLayoutCustomModal.cjs`),ge=require(`./composables/use-template-draft-cache.cjs`),_e=require(`./composables/use-auto-pagination.cjs`),ve=require(`./composables/use-designer-files.cjs`),c=require(`./composables/use-template-files.cjs`),ye=require(`./composables/use-draft-cache-session.cjs`),be=require(`./ContractTemplateFileBar.cjs`),xe=require(`./ContractTemplateDesignerSidebar.cjs`),Se=require(`./ContractTemplateDesignerInspector.cjs`),Ce=require(`./ContractTemplatePageDecorationsStudio.cjs`),l=require(`./utils/serialize-fingerprint.cjs`),we=require(`./utils/editor-state.cjs`),u=require(`./utils/context-menu-viewport.cjs`);let d=require(`vue`),Te=require(`ant-design-vue`),Ee=require(`@vueuse/core`),De=require(`@ant-design/icons-vue`);var Oe={key:2,class:`gd-contract-template-designer__validation`},ke={key:0,class:`gd-contract-template-designer__validation-list`},Ae=[`onClick`],je={class:`gd-contract-template-designer__sr-status`,"aria-live":`polite`},Me=.5,Ne=1.5,Pe=.1,Fe=120,Ie=128,Le=108,Re=48,ze=24,Be=10,Ve=48,He=8,f=(0,d.defineComponent)({name:`ProContractTemplateDesigner`,__name:`ProContractTemplateDesigner`,props:{modelValue:{default:void 0},files:{},activeFileId:{},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},height:{default:760},pageSize:{default:()=>r.DEFAULT_PAGE_SIZE},pageSizeOptions:{},maxPages:{default:20},imageCompression:{type:[Object,Boolean]},imageUpload:{},variableTypes:{default:()=>r.DEFAULT_FIELD_TYPES},signingLayoutPresets:{},showAdvancedChoiceControls:{type:Boolean,default:!1},showBuiltinSelectorControls:{type:Boolean,default:!1},showCustomControls:{type:Boolean,default:!1},defaultVariableStyle:{default:()=>r.DEFAULT_FIELD_STYLE},fontFamilies:{default:void 0},fontFamilyMode:{default:`append`},contractFontBaseUrl:{default:void 0},showSubmitDataViewer:{type:Boolean,default:!0},showVariableDataViewer:{type:Boolean,default:!0},showClearButton:{type:Boolean,default:!0},enableDraftCache:{type:Boolean,default:!0},draftCacheKey:{default:ge.DEFAULT_DRAFT_CACHE_KEY},draftCacheInterval:{default:ge.DEFAULT_DRAFT_CACHE_INTERVAL},draftCacheMaxBytes:{default:ge.DEFAULT_DRAFT_CACHE_MAX_BYTES},showDraftCacheStatus:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`,`update:files`,`update:activeFileId`,`files-change`,`file-add`,`file-change`,`file-remove`,`file-move`,`variable-add`,`validate`,`draft-cache-change`,`page-limit`,`image-error`],setup(f,{expose:Ue,emit:We}){let p=f,m=We,Ge=(0,d.computed)(()=>({height:typeof p.height==`number`?`${p.height}px`:p.height})),Ke=(0,d.ref)(),qe=(0,d.ref)(),Je=(0,d.ref)(),Ye=(0,d.ref)(),Xe=(0,d.ref)(),Ze=`gd-contract-template-page-decorations-studio-${(0,d.useId)()}`,Qe=`gd-contract-template-workspace-chrome-${(0,d.useId)()}`,$e=(0,d.ref)(),et=(0,d.ref)(),tt=(0,d.ref)(),nt=``,rt=``,it=(0,d.ref)(!1),h=(0,d.computed)(()=>it.value||Array.isArray(p.files)),at=c.normalizeContractTemplateFiles(p.files,p.modelValue,p.pageSize),ot=c.constrainContractTemplateFiles(at,p.pageSizeOptions),st=h.value?ot.files:at,ct=c.resolveContractTemplateActiveFileId(st,p.activeFileId),g=(0,d.ref)(st),_=(0,d.ref)(ct),lt=st.find(e=>e.id===ct)??st[0],ut=r.normalizeTemplateValue(lt?.template??p.modelValue,p.pageSize),v=(0,d.ref)(r.constrainTemplatePageSizes(ut,p.pageSizeOptions));if(h.value){if(g.value=c.replaceContractTemplateFile(g.value,_.value,v.value),l.serializeFingerprint(g.value)!==l.serializeFingerprint(at)){let e=c.cloneContractTemplateFiles(g.value);nt=l.serializeFingerprint(e),m(`update:files`,e),m(`files-change`,c.cloneContractTemplateFiles(e))}}else p.modelValue&&l.serializeFingerprint(v.value)!==l.serializeFingerprint(ut)&&(rt=l.serializeFingerprint(v.value),m(`update:modelValue`,r.cloneTemplateValue(v.value)),m(`change`,r.cloneTemplateValue(v.value)));let y=(0,d.ref)(``),b=(0,d.ref)(v.value.pages[0]?.id??``),x=(0,d.ref)(!1),S=(0,d.ref)([]),C=new Map,dt=(0,d.ref)(!1),ft=(0,d.ref)(``),w=(0,d.ref)(!1),T=(0,d.ref)(),pt=(0,d.ref)(),mt=(0,d.ref)(``),ht=(0,d.ref)(!1),gt=(0,d.ref)(``),_t=(0,d.ref)(!1),vt=(0,d.ref)({values:{},variables:[]}),E=(0,d.ref)(1),D=(0,d.ref)(!1),yt=(0,d.ref)(!1),bt=(0,d.ref)(!1),O=(0,d.ref)(!1),k=(0,d.ref)(!1),xt=(0,d.ref)(),A=(0,d.ref)(!1),St=(0,d.ref)(`header`),Ct=(0,d.ref)(!1),wt=(0,d.ref)({}),j=(0,d.ref)(``),M=(0,d.ref)(!1),N=(0,d.ref)(!1),Tt=(0,d.ref)(!1),Et=(0,d.ref)(!1),Dt=(0,d.ref)(!1),Ot=(0,d.ref)(!1),kt=(0,d.ref)(!1),At=(0,d.ref)(``),jt=(0,d.ref)(),Mt=(0,d.ref)(),Nt=(0,d.ref)(``),Pt=(0,d.ref)(!1),P=(0,d.ref)(),Ft=(0,d.ref)(),F=(0,d.ref)(),It=(0,d.ref)(),Lt=(0,d.ref)(!1),Rt,zt=(0,d.ref)(!1),Bt,Vt=(0,d.ref)(!1),Ht=(0,d.ref)(``),I=(0,d.ref)(),Ut=(0,d.ref)(),L=(0,d.ref)(),Wt=(0,d.ref)(),Gt=(0,d.ref)(),Kt=(0,d.ref)(),R=(0,d.ref)(``),z=(0,d.ref)(ge.createDraftCacheStatus(`idle`,`暂无本地草稿`)),qt=(0,d.ref)({rows:3,cols:3,withHeaderRow:!0}),Jt=new WeakSet,Yt=[`.gd-contract-template-designer__page-decorations-select-popup`,`.gd-contract-template-designer__page-decorations-dropdown-popup`].join(`,`),Xt,Zt,Qt=!1,$t=!1,en,B=(0,d.computed)(()=>p.readonly||p.disabled),{panel:tn,query:nn,replacement:rn,matchCase:an,matches:on,currentIndex:sn,currentMatch:cn,feedback:ln,highlightQuery:un,open:dn,close:fn,navigate:pn,replaceCurrent:mn,replaceAll:hn,handleKeydown:gn}=ce.useTemplateAuthoring({pages:()=>v.value.pages,fileId:()=>_.value,readonly:()=>B.value,root:()=>Ke.value,pageRefs:C,activatePage:ra,beforeOpen:()=>{$(),Ga(),O.value=!1},focusPanel:()=>tt.value?.focusPanel(),focusTrigger:e=>tt.value?.focusTrigger(e)}),_n=(0,d.computed)(()=>!!(P.value||tn.value||I.value||L.value||M.value||N.value||Ct.value||Tt.value||Et.value||Dt.value||Ot.value||kt.value)),vn=(0,d.computed)(()=>!!p.enableDraftCache&&!B.value),yn=(0,d.computed)(()=>g.value.find(e=>e.id===_.value)??g.value[0]),bn=(0,d.computed)(()=>T.value?r.buildTemplatePreviewPages(T.value):[]),xn=(0,d.computed)(()=>(pt.value??[]).map(e=>({file:e,pages:r.buildTemplatePreviewPages(e.template)}))),Sn=(0,d.computed)(()=>xn.value.find(e=>e.file.id===mt.value)??xn.value[0]),V=(0,d.computed)(()=>v.value.pages.find(e=>e.id===b.value)??v.value.pages[0]),Cn=(0,d.computed)(()=>r.resolvePageSize(V.value?.pageSize,v.value.pageSize)),wn=(0,d.computed)(()=>x.value&&S.value.length===0),Tn=(0,d.computed)(()=>x.value?wn.value?`校验通过,正文变量与变量配置一致`:`发现 ${S.value.length} 个校验问题`:``),En=(0,d.computed)(()=>{let e=V.value?.title||`合同正文`;return`${h.value&&yn.value?`${yn.value.name} · `:``}${e} · ${Cn.value.label} · 共 ${v.value.pages.length} 页`}),Dn=(0,d.computed)(()=>({none:`无装饰`,"page-number":`标准页码`,"internal-review":`内部审阅`,draft:`草稿`,custom:`自定义`})[t.resolvePageDecorationPreset(v.value.pageDecorations)]),On=(0,d.computed)(()=>{let e=t.normalizePageDecorations(v.value.pageDecorations);return{header:e.header.enabled,footer:e.footer.enabled,watermark:e.watermark.enabled}}),kn=(0,d.computed)(()=>Object.values(On.value).filter(Boolean).length),An=(0,d.computed)(()=>{switch(z.value.type){case`saved`:return`草稿已缓存 ${ge.formatDraftCacheSavedAt(z.value.savedAt)}`;case`restored`:return`已恢复本地草稿`;case`too-large`:return`草稿过大,未缓存`;case`unavailable`:case`read-failed`:case`write-failed`:return`草稿缓存失败`;case`cleared`:return`草稿缓存已清理`;default:return``}}),jn=(0,d.computed)(()=>({"is-success":z.value.type===`saved`||z.value.type===`restored`,"is-warning":z.value.type===`too-large`,"is-error":z.value.type===`unavailable`||z.value.type===`read-failed`||z.value.type===`write-failed`})),Mn=(0,d.computed)(()=>`${Math.round(E.value*100)}%`),Nn=(0,d.computed)(()=>e.resolveFontFamilyOptions(p.fontFamilies,p.fontFamilyMode)),Pn=(0,d.computed)(()=>Nn.value.map(e=>({label:e.label,value:e.value}))),Fn=e.DEFAULT_TEXT_ALIGN_OPTIONS,In=[...e.CONTRACT_BLOCK_STYLES.map(e=>({label:e.label,value:e.format}))],Ln=[{label:`实线`,value:`solid`},{label:`虚线`,value:`dashed`}],Rn=[{label:`完整显示`,value:`contain`},{label:`铺满裁剪`,value:`cover`},{label:`拉伸填充`,value:`fill`}],zn=(0,d.computed)(()=>r.normalizePageSizeOptions(p.pageSizeOptions)),Bn=(0,d.computed)(()=>zn.value.map(e=>({label:`${e.label} · ${e.width} × ${e.height}`,value:r.getPageSizeKey(e)}))),Vn=(0,d.computed)(()=>r.getPageSizeKey(Cn.value)),Hn=(0,d.computed)(()=>p.draftCacheKey),H=(0,d.computed)(()=>v.value.variables.find(e=>e.key===y.value)),Un=(0,d.computed)(()=>{let e=[...p.variableTypes,...p.showAdvancedChoiceControls?r.DEFAULT_ADVANCED_CHOICE_FIELD_TYPES:[],...p.showBuiltinSelectorControls?r.DEFAULT_BUILTIN_SELECTOR_FIELD_TYPES:[],...p.showCustomControls?r.DEFAULT_CUSTOM_FIELD_TYPES:[]].filter(e=>n.isContractTemplateFieldType(e?.type));return Array.from(new Map(e.map(e=>[e.type,e])).values())}),Wn=(0,d.computed)(()=>{let e=[...ee.SIGNING_LAYOUT_PRESET_KEYS.map(e=>ee.SIGNING_LAYOUT_PRESETS[e]),...(p.signingLayoutPresets??[]).filter(e=>!!e?.key)];return Array.from(new Map(e.map(e=>[e.key,e])).values())}),Gn=(0,d.computed)(()=>Un.value.map(e=>({...e,icon:ae.resolveFieldTypeIcon(e.type),group:e.type===`select`||e.type===`radio`?`advanced-choice`:e.type.endsWith(`-selector`)?`builtin-selector`:e.type===`custom`?`custom`:`basic`}))),U=(0,d.computed)(()=>r.normalizeContractTemplateMaxPages(p.maxPages)),Kn=(0,d.computed)(()=>v.value.pages.length>=U.value),qn=(0,d.computed)(()=>{let e=r.collectTemplateValueVariableKeys(v.value);return Array.from(t.collectPageDecorationVariableKeys(v.value.pageDecorations)).filter(t=>!e.has(t))}),{scheduleAutoPaginate:W}=_e.useAutoPagination({templateValue:v,readonlyState:B,isAutoPaginating:dt,pendingPaginationPageId:ft,activePageId:b,normalizedMaxPages:U,pageRefs:C,syncPageEditors:K,commitBodyChange:Ar,getPageSize:Mr,notifyPageLimit:Pr}),{saveDraftCache:Jn,loadDraftCache:Yn,clearDraftCache:Xn,restoreDraftCacheIfNeeded:Zn,stopDraftCacheTimer:Qn,restartDraftCacheTimer:$n,resetDraftFingerprint:er}=ye.useDraftCacheSession({draftCacheWritable:vn,multipleFilesMode:h,filesValue:g,activeFileIdValue:_,templateValue:v,draftCacheKey:Hn,draftCacheInterval:()=>p.draftCacheInterval,draftCacheMaxBytes:()=>p.draftCacheMaxBytes,pageSize:()=>p.pageSize,pageSizeOptions:()=>p.pageSizeOptions,syncActiveFileSnapshot:q,syncPageEditors:K,setActiveFileId:Y,emitFilesChange:J,commit:X,updateDraftCacheStatus:xr,scheduleAutoPaginate:W,activePageId:b,selectedVariableKey:y}),tr=(0,d.computed)(()=>{let e=Ht.value.trim().toLowerCase(),t=v.value.variables;return e?t.filter(t=>t.label.toLowerCase().includes(e)||t.key.toLowerCase().includes(e)):t}),nr=(0,d.computed)(()=>Math.max(Re,Cn.value.width-Ie)),rr=(0,d.computed)(()=>Math.max(ze,Cn.value.height-Le)),G=(0,d.computed)(()=>wt.value[b.value]??dr()),ir=(0,d.computed)(()=>G.value.hasMixedBlockFormats?void 0:G.value.currentHeadingLevel??`paragraph`),ar=(0,d.computed)(()=>G.value.fontFamily||e.DEFAULT_CONTRACT_FONT_FAMILY),or=(0,d.computed)(()=>G.value.fontSize??r.DEFAULT_FIELD_STYLE.fontSize??14),sr=(0,d.computed)(()=>G.value.textColor||r.DEFAULT_FIELD_STYLE.color||`#1f2937`),cr=(0,d.computed)(()=>H.value?.style?.fontFamily||r.DEFAULT_FIELD_STYLE.fontFamily||e.DEFAULT_CONTRACT_FONT_FAMILY),lr=(0,d.computed)(()=>{let t=e.DEFAULT_FONT_SIZE_PRESETS.map(e=>({label:`${e}px`,value:e})),n=hr(or.value),r=hr(j.value),i=new Map;return r&&!e.DEFAULT_FONT_SIZE_PRESETS.includes(r)&&i.set(r,{label:`使用 ${r}px`,value:r}),n&&!e.DEFAULT_FONT_SIZE_PRESETS.includes(n)&&i.set(n,{label:r===n?`使用 ${n}px`:`${n}px`,value:n}),[...Array.from(i.values()),...t]});(0,d.watch)(()=>p.modelValue,e=>{if(!e||h.value)return;let t=r.normalizeTemplateValue(e,p.pageSize),n=r.constrainTemplatePageSizes(t,p.pageSizeOptions),i=l.serializeFingerprint(n)!==l.serializeFingerprint(v.value),a=l.serializeFingerprint(n),o=a===rt;o&&(rt=``),(i||!o)&&(v.value=n,g.value=c.replaceContractTemplateFile(g.value,_.value,n),b.value=n.pages[0]?.id??``,y.value=``,W(b.value)),l.serializeFingerprint(n)!==l.serializeFingerprint(t)&&(rt=a,m(`update:modelValue`,r.cloneTemplateValue(n)),m(`change`,r.cloneTemplateValue(n)))},{deep:!0}),(0,d.watch)(()=>p.files,e=>{if(!Array.isArray(e))return;let t=c.normalizeContractTemplateFiles(e,void 0,p.pageSize),n=c.constrainContractTemplateFiles(t,p.pageSizeOptions).files,r=l.serializeFingerprint(n),i=l.serializeFingerprint(g.value);r===nt&&(nt=``);let a=c.resolveContractTemplateActiveFileId(n,p.activeFileId||_.value);if(r===i?a!==_.value&&Y(a,{syncCurrent:!1,shouldEmit:!1}):(g.value=n,Y(a,{syncCurrent:!1,shouldEmit:!1,forceRefresh:!0})),r!==l.serializeFingerprint(t)){let e=c.cloneContractTemplateFiles(n);nt=l.serializeFingerprint(e),m(`update:files`,e),m(`files-change`,c.cloneContractTemplateFiles(e))}},{deep:!0}),(0,d.watch)(()=>p.activeFileId,e=>{!h.value||!e||e===_.value||Y(e,{syncCurrent:!0,shouldEmit:!1})});function ur(e,t){let n=l.serializeFingerprint(g.value);q(!1);let i=c.normalizeContractTemplateFiles(g.value,void 0,e),{files:a}=c.constrainContractTemplateFiles(i,t),o=l.serializeFingerprint(a)!==n,s=a.find(e=>e.id===_.value);return s&&l.serializeFingerprint(s.template)!==l.serializeFingerprint(v.value)&&(v.value=r.cloneTemplateValue(s.template)),o&&(x.value=!1,S.value=[],J(a,``)),o}(0,d.watch)([()=>p.pageSize,()=>p.pageSizeOptions],([e,t])=>{if(h.value){ur(e,t),W(b.value);return}let n=r.normalizeTemplateValue(v.value,e),i=r.constrainTemplatePageSizes(n,t);l.serializeFingerprint(i)!==l.serializeFingerprint(v.value)&&X(i),W(b.value)},{deep:!0}),(0,d.watch)(U,()=>{W(v.value.pages[0]?.id)}),(0,d.watch)(B,e=>{e&&($(),M.value=!1,N.value=!1)}),(0,d.watch)(b,()=>{F.value=void 0}),(0,d.watch)([_n,A,w],()=>{Ja()}),(0,d.watch)(()=>[p.enableDraftCache,Hn.value,p.draftCacheInterval,B.value],()=>{er(),$n()}),(0,d.watch)(D,e=>{if(!(typeof document>`u`)){if(e){Xt=document.body.style.overflow,document.body.style.overflow=`hidden`;return}document.body.style.overflow=Xt??``,Xt=void 0}}),(0,d.onMounted)(()=>{Zn(),$n(),W(b.value),window.addEventListener(`pointerdown`,no,!0),window.addEventListener(`pointerup`,$a),window.addEventListener(`keydown`,ao,!0),window.addEventListener(`keydown`,oo),window.addEventListener(`resize`,eo),window.addEventListener(`scroll`,ro,!0)}),(0,d.onBeforeUnmount)(()=>{_r(),Qt=!0,D.value&&typeof document<`u`&&(document.body.style.overflow=Xt??``),window.removeEventListener(`pointerdown`,no,!0),window.removeEventListener(`pointerup`,$a),window.removeEventListener(`keydown`,ao,!0),window.removeEventListener(`keydown`,oo),window.removeEventListener(`resize`,eo),window.removeEventListener(`scroll`,ro,!0),Bt!==void 0&&cancelAnimationFrame(Bt),Qn()});function dr(){return{isFocused:!1,canUndo:!1,canRedo:!1,isBold:!1,isItalic:!1,isUnderline:!1,isBulletList:!1,isOrderedList:!1,isTableActive:!1,textAlign:`left`,fontFamily:e.DEFAULT_CONTRACT_FONT_FAMILY,fontSize:r.DEFAULT_FIELD_STYLE.fontSize??14,textColor:r.DEFAULT_FIELD_STYLE.color??`#1f2937`,selectionText:``,hasMixedBlockFormats:!1}}function fr(e){return e===`left`||e===`center`||e===`right`}function pr(e){return typeof e==`number`&&Number.isInteger(e)&&e>=1&&e<=6}function mr(e,t=or.value){let n=Number(e);return Number.isFinite(n)?Math.min(Ve,Math.max(Be,Math.round(n))):t}function hr(e){let t=String(e||``).trim().match(/(\d+(\.\d+)?)/);if(!t)return;let n=Number(t[1]);if(Number.isFinite(n))return Math.min(Ve,Math.max(Be,Math.round(n)))}function K(e=v.value){return{...e,pages:e.pages.map(e=>{let t=C.get(e.id);return{...e,contentHtml:t?.getHTML()??e.contentHtml,contentJson:t?.getJSON()??e.contentJson}})}}function gr(){$t=!1,en&&=(clearTimeout(en),void 0)}function _r(){let e=$t;gr(),e&&br()}function vr(){$t=!0,en&&clearTimeout(en),en=setTimeout(()=>{en=void 0,!(!$t||Qt)&&($t=!1,br())},Fe)}function yr(e){let t=v.value.pages,n=t.findIndex(t=>t.id===e.id);if(n<0)return;let r=t[n];if(r.contentHtml===e.contentHtml&&r.contentJson===e.contentJson&&r.title===e.title&&r.pageSize===e.pageSize)return;let i=t.slice();i[n]=e,v.value={...v.value,pages:i}}function br(){let e=K(),t=r.syncTemplateVariablesWithPages(e);y.value&&!t.variables.some(e=>e.key===y.value)&&(y.value=``),X(t)}function q(e=!1){_r();let t=r.cloneTemplateValue(K());if(!h.value)return t;let n=g.value.find(e=>e.id===_.value)?.template,i=l.serializeFingerprint(n)!==l.serializeFingerprint(t),a=c.replaceContractTemplateFile(g.value,_.value,t);return g.value=a,i&&e&&J(a),t}function J(e,t=_.value){if(!h.value)return;let n=c.cloneContractTemplateFiles(e);g.value=n,nt=l.serializeFingerprint(n),m(`update:files`,c.cloneContractTemplateFiles(n)),m(`files-change`,c.cloneContractTemplateFiles(n));let r=n.find(e=>e.id===t);r&&m(`file-change`,c.cloneContractTemplateFiles([r])[0])}function Y(e,t={}){let{syncCurrent:n,shouldEmit:i,forceRefresh:a}=ve.resolveSetActiveFileIdOptions(t),o=c.resolveContractTemplateActiveFileId(g.value,e),s=o!==_.value;if(n?q(!0):gr(),!s&&!a)return;let ee=g.value.find(e=>e.id===o);ee&&(_.value=o,v.value=r.cloneTemplateValue(ee.template),y.value=``,b.value=v.value.pages[0]?.id??``,wt.value={},C.clear(),ft.value=``,x.value=!1,S.value=[],w.value=!1,T.value=void 0,pt.value=void 0,er(),i&&s&&m(`update:activeFileId`,o),n&&s&&vn.value&&Jn(),(0,d.nextTick)(()=>{W(b.value)}))}function X(e){gr();let t=r.normalizeTemplateValue(e,p.pageSize),n=r.constrainTemplatePageSizes(t,p.pageSizeOptions);return v.value=n,x.value=!1,S.value=[],h.value?J(c.replaceContractTemplateFile(g.value,_.value,n)):(g.value=c.replaceContractTemplateFile(g.value,_.value,n),rt=l.serializeFingerprint(n),m(`update:modelValue`,r.cloneTemplateValue(n)),m(`change`,r.cloneTemplateValue(n))),n}function xr(e,t=e.type!==`unchanged`){z.value=e,t&&m(`draft-cache-change`,{...e})}function Sr(){return{...z.value}}function Cr(e,t){t?C.set(e,t):C.delete(e)}function wr(e){$(),Dt.value=!1,Z({type:`insert-signing-layout`,preset:ee.isSigningLayoutPresetKey(e.key)?e.key:void 0,options:e.options})}function Tr(e){$(),Z({type:`insert-signing-layout`,options:e})}function Er(){Dt.value=!1,kt.value=!0}function Dr(e){$(),Ot.value=!1,Z({type:`insert-signing-mark`,mark:{markType:e}})}function Z(e,t=V.value?.id??b.value){B.value||C.get(t)?.runCommand(e)}function Or(e){Z(e),$()}function kr(e){let t=P.value?.pageId;t&&(C.get(t)?.focus(),R.value=typeof document<`u`&&document.execCommand(e)?`${e===`copy`?`已复制`:e===`cut`?`已剪切`:`已粘贴`}`:`浏览器未授权剪贴板操作,请使用系统快捷键。`,$())}function Ar(e){let t=X(r.syncTemplateVariablesWithPages(e));return y.value&&!t.variables.some(e=>e.key===y.value)&&(y.value=``),t}function jr(e){yr(e),vr(),W(e.id)}function Mr(e){return r.resolvePageSize(e?.pageSize,v.value.pageSize)}function Nr(e){if(B.value||!V.value)return;let t=zn.value.find(t=>r.getPageSizeKey(t)===e);if(!t)return;let n=V.value.id,i=r.resolvePageSize(t,v.value.pageSize);X({...v.value,pages:v.value.pages.map(e=>e.id===n?{...e,pageSize:i}:e)}),W(n)}function Pr(e){let t=U.value;R.value=`合同最多支持 ${t} 页`,m(`page-limit`,t,e)}function Fr(){if(B.value)return;if(Kn.value){Pr(`add`);return}let e=r.createDefaultPage(v.value.pages.length+1,Cn.value);X({...v.value,pages:[...v.value.pages,e]}),b.value=e.id}function Ir(e){if(B.value)return;if(Kn.value){Pr(`duplicate`);return}let t=v.value.pages.findIndex(t=>t.id===e.id);if(t<0)return;let n=r.cloneTemplateValue({pages:[e],variables:[],pageSize:v.value.pageSize}).pages[0],i=r.createBlankPage(t+2,Mr(e),n.contentHtml,n.contentJson);i.title=`${e.title||`第 ${t+1} 页`}副本`;let a=[...v.value.pages];a.splice(t+1,0,i),X({...v.value,pages:a}),b.value=i.id}function Lr(e){if(B.value||v.value.pages.length<=1)return;let t=v.value.pages.findIndex(t=>t.id===e.id);if(t<0)return;let n=v.value.pages.filter(t=>t.id!==e.id),r=Ar({...v.value,pages:n});b.value=r.pages[Math.min(t,r.pages.length-1)]?.id??``}function Rr(e){B.value||v.value.pages.length<=1||Te.Modal.confirm({title:`删除合同页面`,content:`删除页面会同时移除页面正文,是否继续?`,okText:`确认删除`,okType:`danger`,cancelText:`取消`,onOk:()=>{Lr(e)}})}function zr(e){let t=new Set(v.value.variables.map(e=>e.key)),n=1;for(;t.has(`${e}_${n}`);)n+=1;return`${e}_${n}`}function Br(e){let t=e.type??`text`;return r.createTemplateVariable({...e,type:t,key:e.key||zr(t),label:e.label||r.getFieldOption(t,Un.value).label},Un.value,p.defaultVariableStyle)}function Vr(e,t=V.value?.id??v.value.pages[0].id,n){if(B.value)return e;let r=C.get(t)?.insertVariable(e,n),i=!v.value.variables.some(t=>t.key===e.key);return X({...v.value,pages:r?v.value.pages.map(e=>e.id===r.id?r:e):v.value.pages,variables:i?[...v.value.variables,e]:v.value.variables}),y.value=e.key,b.value=t,i&&m(`variable-add`,e),W(t),e}function Hr(e){let{width:t,height:n,...r}=e,i=s.normalizeContractImageDimension(t),a=s.normalizeContractImageDimension(n);return{...r,...i===void 0?{}:{width:i},...a===void 0?{}:{height:a}}}function Ur(e={}){let t=s.normalizeContractImageDimension(jt.value),n=s.normalizeContractImageDimension(Mt.value);return{...e,...t===void 0?{}:{width:t},...n===void 0?{}:{height:n}}}function Wr(){At.value=``,jt.value=void 0,Mt.value=void 0,Nt.value=``}function Gr(e,t=V.value?.id??v.value.pages[0]?.id,n){let r=Hr({...e,src:e.src.trim()});if(!(B.value||!t||!i.isSafeContractImageUrl(r.src)||!r.src||!C.get(t)?.insertContentImage(r,n)))return b.value=t,y.value=``,r.src}function Kr(e){return e instanceof Error?e:Error(`图片处理失败`)}async function qr(e,t){t===`toolbar`&&(Pt.value=!0,Nt.value=``);try{let n=await s.processContractImageFile(e,{source:t,compression:p.imageCompression,upload:p.imageUpload});return Qt?void 0:n.src}catch(e){let n=Kr(e);t===`toolbar`&&(Nt.value=n.message),R.value=n.message,m(`image-error`,n,t);return}finally{t===`toolbar`&&(Pt.value=!1)}}let Jr=0;function Yr(e){let t=e.replacedFontFamilies.filter(Boolean);if(!t.length)return;let n=Date.now();n-Jr<800||(Jr=n,Te.message.info(`已将 ${t.length} 种外部字体(${t.join(`、`)})统一为合同标准字体,以保证 Mac 与 Windows 排版一致`))}async function Xr(e){return await qr(e,`paste`)??null}async function Zr(e,t={}){if(B.value)return;let n=V.value?.id??v.value.pages[0]?.id,r=n?C.get(n)?.getSelectionRange():void 0,a=typeof e==`string`?e.trim():await qr(e,`toolbar`);if(Qt)return;if(!a||!i.isSafeContractImageUrl(a)){typeof e==`string`&&(Nt.value=`请输入安全的图片 URL`);return}if(n&&!C.has(n))return;let o=Gr({...t,src:a},n,r);return o&&(Et.value=!1,Wr(),R.value=`已插入图片`),o}function Qr(){B.value||Pt.value||($(),Nt.value=``,et.value&&(et.value.value=``),et.value?.click())}async function $r(e){let t=e.target.files?.[0];t&&await Zr(t,Ur({alt:t.name}))}async function ei(){let e=At.value;await Zr(e,Ur())}function ti(e){bi(e),Tt.value=!1}function ni(){$(),Fr()}function ri(e,t,n,r){$(),Vr(Br({type:t}),e,{left:n,top:r})}function ii(e){$(),y.value=e}function ai(e){let n=v.value.variables.find(t=>t.id===e.id);if(!n)return;let i=e.key.trim();if(i!==n.key){let t=r.validateContractTemplateVariableKey(i,v.value.variables,e.id);if(t){R.value=t;return}}e={...e,key:i};let a=[...v.value.pages],o=n.key,s=``;C.forEach((t,n)=>{let r=t.updateVariable(e,o);if(r){s||=n;let e=a.findIndex(e=>e.id===n);e>=0&&(a[e]=r)}}),X({...v.value,pages:a,variables:v.value.variables.map(t=>t.id===e.id?e:t),...o!==e.key&&v.value.pageDecorations?{pageDecorations:t.rewritePageDecorationVariableTokens(v.value.pageDecorations,o,e.key)}:{}}),y.value=e.key,W(s||b.value)}function Q(e){H.value&&ai({...H.value,...e,style:{...H.value.style,...e.style}})}function oi(e){B.value||!H.value||Q({key:e})}function si(e){B.value||(X({...v.value,pageDecorations:t.normalizePageDecorations(e)}),W(v.value.pages[0]?.id))}function ci(e){(e===`left`||e===`center`||e===`right`)&&Q({style:{textAlign:e}})}function li(e){(e===`solid`||e===`dashed`)&&Q({style:{borderStyle:e}})}function ui(e){(e===`contain`||e===`cover`||e===`fill`)&&Q({style:{objectFit:e}})}function di(e){Q({style:e})}function fi(t){di({fontFamily:String(t||``).trim()||e.DEFAULT_CONTRACT_FONT_FAMILY})}function pi(e){di({fontSize:mr(e,H.value?.style?.fontSize??14)})}function mi(e){H.value&&Q({multiline:e,rows:H.value.rows||3,lineHeight:H.value.lineHeight||28,style:e?{underline:!0}:void 0})}function hi(e){H.value&&Q({rows:Number(e||3),lineHeight:H.value.lineHeight||28})}function gi(e){if(B.value)return;let n=[...v.value.pages];C.forEach((t,r)=>{let i=t.removeVariable(e.key);if(i){let e=n.findIndex(e=>e.id===r);e>=0&&(n[e]=i)}}),X({...v.value,pages:n,variables:v.value.variables.filter(t=>t.id!==e.id),...v.value.pageDecorations?{pageDecorations:t.rewritePageDecorationVariableTokens(v.value.pageDecorations,e.key)}:{}}),y.value=``}function _i(e){let t=(e.trim()||`variable`).replace(/\s+/g,`_`),n=new Set(v.value.variables.map(e=>e.key));if(!n.has(t))return t;let r=2;for(;n.has(`${t}_${r}`);)r+=1;return`${t}_${r}`}function vi(e){B.value||Vr(r.createTemplateVariable({...e,id:void 0,key:_i(`${e.key||e.type}_copy`),label:`${e.label}副本`,style:{...e.style}},Un.value,p.defaultVariableStyle))}function yi(e){return B.value?void 0:Vr(v.value.variables.find(t=>t.key===e.key)??r.createTemplateVariable(e,Un.value,p.defaultVariableStyle))}function bi(e){if(!B.value)return Vr(Br({type:e}))}function xi(e){if(B.value||!n.isContractTemplateFieldType(e))return;let t=P.value,r=Un.value.find(t=>t.type===e);if(!t||!r)return;let i=te.inferContextVariableLabel(t.leadingText)||r.label,a=te.resolveContextVariableWidth(t.selectionWidth,Re,nr.value),o=Si();Vr(Br({type:e,label:i,...a?{width:a}:{},...o?{style:o}:{}}),t.pageId),R.value=t.hasSelection?`已将选中内容替换为${r.label}控件`:`已插入${r.label}控件`,$()}function Si(){let e=G.value,t={};return e.isUnderline&&(t.underline=!0),typeof e.fontSize==`number`&&Number.isFinite(e.fontSize)&&(t.fontSize=e.fontSize),e.fontFamily&&(t.fontFamily=e.fontFamily),e.textColor&&(t.color=e.textColor),Object.keys(t).length?t:void 0}function Ci(e){if(B.value)return;let t=P.value;t&&(Vr(e,t.pageId),R.value=`已绑定到${e.label},沿用原控件尺寸`,$())}function wi(e){let t=e.type&&n.isContractTemplateFieldType(e.type)?e.type:`text`;return r.getFieldOption(t,Un.value).label}function Ti(){v.value.variables.length&&(Vt.value=!0,(0,d.nextTick)(()=>{Ra(),Ft.value?.focusBindSearch()}))}function Ei(e,t){e.dataTransfer?.setData(`application/x-gd-contract-variable`,t),e.dataTransfer&&(e.dataTransfer.effectAllowed=`copy`)}function Di(e){return E.value=Math.round(Math.min(Ne,Math.max(Me,Number.isFinite(e)?e:1))*100)/100,E.value}let{width:Oi}=(0,Ee.useElementSize)(qe),ki=(0,d.computed)(()=>Math.max(...v.value.pages.map(e=>Mr(e).width),r.DEFAULT_PAGE_SIZE.width)+10),{fitWidth:Ai,applyAutoFit:ji,markUserAdjusted:Mi,userAdjusted:Ni}=o.useFitWidthZoom({viewportWidth:Oi,widestPageWidth:ki,padding:48,minZoom:Me,maxZoom:Ne,getZoom:()=>E.value,applyZoom:Di});function Pi(e){return Mi(),Di(e)}function Fi(){return ji()}function Ii(){return E.value}function Li(){Pi(E.value+Pe)}function Ri(){Pi(E.value-Pe)}function zi(){$(),Ga(),D.value=!D.value}(0,d.watch)(Oi,e=>{k.value&&!Ni.value&&e>0&&Ai()});function Bi(e){O.value?$e.value?.focus():e()}function Vi(){$(),Ga(),A.value=!1,Zt={fullscreen:D.value,sidebar:yt.value,inspector:bt.value,chrome:O.value,zoom:E.value,userAdjusted:Ni.value},D.value=!0,yt.value=!0,bt.value=!0,O.value=!0,k.value=!0,(0,d.nextTick)(()=>{B.value?xt.value?.focus():C.get(b.value)?.focus()})}function Hi(){let e=Zt;k.value=!1,Zt=void 0,e&&(D.value=e.fullscreen,yt.value=e.sidebar,bt.value=e.inspector,O.value=e.chrome,e.userAdjusted?Pi(e.zoom):ji(),(0,d.nextTick)(()=>Bi(()=>Ye.value?.focusImmersive())))}function Ui(){k.value?Hi():Vi()}function Wi(){$(),F.value=void 0;let e=q(!1);h.value?(pt.value=c.cloneContractTemplateFiles(g.value),T.value=void 0,mt.value=_.value||g.value[0]?.id||``):(T.value=r.cloneTemplateValue(e),pt.value=void 0,mt.value=``),w.value=!0}function Gi(){w.value=!1,T.value=void 0,pt.value=void 0,mt.value=``}function Ki(){return xa()}function qi(){$();let e=Ki();return gt.value=JSON.stringify(e,null,2),ht.value=!0,e}function Ji(){ht.value=!1}function Yi(){return a.buildTemplateVariableData(q(!1))}function Xi(){$();let e=Yi();return vt.value=e,_t.value=!0,e}function Zi(){_t.value=!1}function Qi(){$(),F.value=void 0,M.value=!1,N.value=!1,y.value=``,b.value=``,w.value=!1,T.value=void 0,pt.value=void 0,ht.value=!1,gt.value=``,_t.value=!1,vt.value={values:{},variables:[]},wt.value={},ft.value=``;let e=X(r.createBlankTemplate(r.DEFAULT_PAGE_SIZE));return b.value=e.pages[0]?.id??``,r.cloneTemplateValue(e)}function $i(){B.value||($(),Te.Modal.confirm({title:`清空合同内容`,content:`将清空全部合同正文、页面和模板变量,仅保留一个空白 A4 合同页。此操作不可撤销。`,okText:`确认清空`,okType:`danger`,cancelText:`取消`,onOk:()=>{Qi()}}))}function ea(e){let t=K().pages,n=t.find(e=>e.id===b.value);return(n?[n,...t.filter(e=>e.id!==n.id)]:t).find(t=>t.contentHtml.includes(`data-key="${e.key}"`)||t.contentHtml.includes(`data-key='${e.key}'`))}function ta(e){$(),y.value=e.key;let t=ea(e);t&&(b.value=t.id,(0,d.nextTick)(()=>{C.get(t.id)?.scrollIntoVariable(e.key)}))}function na(e){let t=v.value.variables.find(t=>t.key===e||t.id===e);t&&ta(t)}function ra(e,t=!0){$(),b.value=e,t&&(0,d.nextTick)(()=>{C.get(e)?.scrollIntoPage()})}function ia(e){ra(e.pageId,!1),C.get(e.pageId)?.focusHeading(e.headingIndex)}function aa(e){v.value.pages.some(t=>t.id===e)&&ra(e)}function oa(){if(A.value){sa();return}A.value=!0}function sa(){A.value=!1,(0,d.nextTick)(()=>Bi(()=>Ye.value?.focusPageDecorations()))}function ca(){return _r(),r.cloneTemplateValue(K())}function la(e){W(X(r.normalizeTemplateValue(e,p.pageSize)).pages[0]?.id)}function ua(){let e=q(!1);return h.value?c.cloneContractTemplateFiles(g.value):c.cloneContractTemplateFiles(c.replaceContractTemplateFile(g.value,_.value,e))}function da(e,t){let n=c.normalizeContractTemplateFiles(e,void 0,p.pageSize),r=c.constrainContractTemplateFiles(n,p.pageSizeOptions),i=g.value;it.value=!0,q(!1),g.value=r.files,Y(c.resolveContractTemplateActiveFileId(g.value,t??_.value),{syncCurrent:!1,shouldEmit:!0,forceRefresh:!0}),l.serializeFingerprint(i)!==l.serializeFingerprint(g.value)&&J(g.value,``)}function fa(e){if(B.value)return;it.value=!0,q(!0);let t=c.createContractTemplateFile(e||`合同文件 ${g.value.length+1}`,p.pageSize);return g.value=[...g.value,t],J(g.value,``),m(`file-add`,c.cloneContractTemplateFiles([t])[0]),Y(t.id,{syncCurrent:!1,shouldEmit:!0,forceRefresh:!0}),c.cloneContractTemplateFiles([t])[0]}function pa(e){!h.value&&!g.value.some(t=>t.id===e)||(it.value=!0,Y(e))}function ma(e,t){if(B.value)return;it.value=!0,q(!1);let n=c.renameContractTemplateFile(g.value,e,t),r=n.find(t=>t.id===e);if(r)return g.value=n,J(n,e),c.cloneContractTemplateFiles([r])[0]}function ha(e){if(B.value||g.value.length<=1)return;it.value=!0,q(!1);let t=g.value.find(t=>t.id===e);if(!t)return;let n=c.removeContractTemplateFile(g.value,e);if(n.length!==g.value.length)return g.value=n,J(n,``),m(`file-remove`,c.cloneContractTemplateFiles([t])[0]),_.value===e&&Y(c.resolveContractTemplateActiveFileId(n,n[0]?.id),{syncCurrent:!1,shouldEmit:!0,forceRefresh:!0}),c.cloneContractTemplateFiles([t])[0]}function ga(e){if(B.value||g.value.length<=1)return;let t=g.value.find(t=>t.id===e);t&&Te.Modal.confirm({title:`删除合同文件`,content:`删除“${t.name}”后,其正文和变量将无法恢复,是否继续?`,okText:`确认删除`,okType:`danger`,cancelText:`取消`,onOk:()=>{ha(e)}})}function _a(e,t){if(B.value)return;it.value=!0,q(!1);let n=g.value.findIndex(t=>t.id===e),r=c.moveContractTemplateFile(g.value,e,t),i=r.findIndex(t=>t.id===e),a=r[i];if(!(!a||n===i))return g.value=r,J(r,``),m(`file-move`,c.cloneContractTemplateFiles([a])[0],n,i),c.cloneContractTemplateFiles([a])[0]}function va(){q(!1);let e=Ca(h.value?g.value.flatMap(e=>r.validateTemplateValue(e.template,{maxPages:U.value}).map(t=>({...t,fileId:e.id}))):r.validateTemplateValue(K(),{maxPages:U.value}));return S.value=e,x.value=!0,m(`validate`,e),e}function ya(e){if(e.fileId&&e.fileId!==_.value){pa(e.fileId),(0,d.nextTick)(()=>ya({...e,fileId:void 0}));return}let n=t.resolvePageDecorationValidationPath(e);if(n){A.value=!0,(0,d.nextTick)(()=>Xe.value?.focusField(n));return}if(e.variableKey){na(e.variableKey);return}if(e.pageId){aa(e.pageId);return}let r=v.value.variables.find(t=>t.id===e.id||t.key===e.id);if(r){ta(r);return}v.value.pages.some(t=>t.id===e.id)&&ra(e.id)}function ba(e){return t.resolvePageDecorationValidationPath(e)?`页面装饰`:e.type===`variable`?`变量`:`字段`}function xa(){return _r(),r.exportTemplateValue(K())}function Sa(){let e=q(!1),t=h.value?g.value:c.replaceContractTemplateFile(g.value,_.value,e);return c.exportContractTemplateFiles(t)}function Ca(e){let t=new Set;return e.filter(e=>{let n=`${e.fileId??``}|${e.code??``}|${e.id}|${e.pageId??``}|${e.message}`;return t.has(n)?!1:(t.add(n),!0)})}function wa(e){S.value=[...e],x.value=!0}function Ta(){S.value=[],x.value=!1}function Ea(){C.get(V.value?.id??b.value)?.focus()}function Da(e){fr(e)&&Z({type:`set-text-align`,value:e})}function Oa(e){(e===`paragraph`||pr(e))&&Z({type:`apply-block-style`,format:e})}function ka(e){let t=hr(e);t&&(Z({type:`set-font-size`,value:t}),j.value=``)}function Aa(e){let t=String(e||``).trim();if(!t){Z({type:`unset-font-family`});return}Z({type:`set-font-family`,value:t})}function ja(e){Ma(e.target?.value??``)}function Ma(e){let t=e.trim();t&&Z({type:`set-color`,value:t})}function Na(e){j.value=e}function Pa(){j.value.trim()&&ka(j.value)}function Fa(e){e.key===`Enter`&&(e.preventDefault(),Pa())}function Ia(e){e||(Pa(),j.value=``)}function La(e){if(B.value)return;b.value=e.pageId,M.value=!1,N.value=!1,I.value=void 0,L.value=void 0,Vt.value=!1,Ht.value=``;let t=u.clampContextMenuPosition(e.clientX,e.clientY,304,300);P.value={pageId:e.pageId,x:t.x,y:t.y,hasSelection:e.hasSelection,selectionWidth:e.selectionWidth,leadingText:e.leadingText},(0,d.nextTick)(()=>{Ra(),Ft.value?.focusFirstButton()})}function Ra(){let e=Ft.value?.getMenuElement(),t=P.value;if(!e||!t)return;let n=u.clampContextMenuToElement(t.x,t.y,e);P.value={...t,x:n.x,y:n.y}}function za(e){if(B.value)return;b.value=e.pageId,M.value=!1,N.value=!1,P.value=void 0,L.value=void 0;let t=u.clampContextMenuPosition(e.clientX,e.clientY,248,400);I.value={...e,x:t.x,y:t.y},(0,d.nextTick)(()=>{let e=Ut.value?.getMenuElement(),t=I.value;if(e&&t){let n=u.clampContextMenuToElement(t.x,t.y,e);I.value={...t,x:n.x,y:n.y}}Ut.value?.focusFirstItem()})}function Ba(e){if(B.value)return;b.value=e.pageId,M.value=!1,N.value=!1,P.value=void 0,I.value=void 0,Gt.value=e.image.width,Kt.value=e.image.height,y.value=``;let t=u.clampContextMenuPosition(e.clientX,e.clientY,288,196);L.value={pageId:e.pageId,image:e.image,x:t.x,y:t.y},(0,d.nextTick)(()=>{Va(),Wt.value?.getMenuElement()?.querySelector(`input, button:not(:disabled)`)?.focus()})}function Va(){let e=Wt.value?.getMenuElement(),t=L.value;if(!e||!t)return;let n=u.clampContextMenuToElement(t.x,t.y,e);L.value={...t,x:n.x,y:n.y}}function Ha(){let e=L.value;!e||B.value||(C.get(e.pageId)?.updateSelectedContentImage({width:s.normalizeContractImageDimension(Gt.value),height:s.normalizeContractImageDimension(Kt.value)})&&(R.value=`已更新图片尺寸`),$())}function Ua(){let e=L.value;!e||B.value||(C.get(e.pageId)?.updateSelectedContentImage({width:void 0,height:void 0})&&(R.value=`已恢复图片自然尺寸`),$())}function Wa(e){e.type===`table`?za(e):e.type===`image`?Ba(e):La(e)}function $(){P.value=void 0,I.value=void 0,L.value=void 0,Vt.value=!1,Ht.value=``}function Ga(){fn(!1),M.value=!1,N.value=!1,Ct.value=!1,Tt.value=!1,Et.value=!1,Dt.value=!1,Ot.value=!1}function Ka(){Ga(),O.value=!O.value,(0,d.nextTick)(()=>Bi(()=>Ye.value?.focusChromeToggle()))}let qa=[`.gd-contract-template-designer__context-menu`,`.gd-contract-template-designer__bubble-menu`,`.gd-contract-template-designer__bubble-menu-popup`].join(`,`);function Ja(){let e=B.value||zt.value||Lt.value||_n.value||A.value||w.value,t=b.value,n=e?void 0:C.get(t)?.getSelectionViewportRect();if(!n){F.value=void 0;return}let r=n.top-40-He,i=r>=12?r:n.bottom+He,a=(n.left+n.right)/2-380/2,o=u.clampContextMenuPosition(a,i,380,40);F.value={pageId:t,x:o.x,y:o.y},(0,d.nextTick)(()=>Ya(n))}function Ya(e){let t=It.value?.getMenuElement(),n=F.value;if(!t||!n)return;let r=t.getBoundingClientRect(),i=e.top-r.height-He,a=i>=12?i:e.bottom+He,o=(e.left+e.right)/2-r.width/2,s=u.clampContextMenuToElement(o,a,t);F.value={...n,x:s.x,y:s.y}}function Xa(){let e=F.value?.pageId??b.value,t=C.get(e)?.getSelectionRange();Rt=t?{pageId:e,...t}:void 0,Lt.value=!0,F.value=void 0}function Za(e){if(!Lt.value)return;let t=Rt,n=C.get(e)?.getSelectionRange();t&&n&&t.pageId===e&&t.from===n.from&&t.to===n.to||(Lt.value=!1,Rt=void 0)}function Qa(){!F.value||Bt!==void 0||(Bt=requestAnimationFrame(()=>{Bt=void 0,Ja()}))}function $a(){zt.value&&(zt.value=!1,Ja())}function eo(){$(),Qa()}function to(e,t){C.get(F.value?.pageId??b.value)?.requestTextContextMenu(e,t)}function no(e){let t=e.target instanceof Element?e.target:null;t?.closest(`.ProseMirror`)&&(zt.value=!0,F.value=void 0),!(!P.value&&!I.value&&!L.value&&!F.value)&&(t?.closest(qa)||($(),F.value&&Xa()))}function ro(e){(e.target instanceof Element?e.target:null)?.closest(qa)||($(),Qa())}function io(e){let t=Ke.value;if(!t||typeof document>`u`)return!1;let n=e.target instanceof Node?e.target:void 0,r=document.activeElement;return!!(n&&t.contains(n)||r&&t.contains(r)||n instanceof Element&&n.closest(`.gd-contract-template-designer__context-menu`))}function ao(e){if(e.key!==`Escape`||!A.value||typeof document>`u`)return;let t=Ke.value?.querySelector(`.gd-contract-template-designer__page-decorations-studio`);if(!t)return;let n=e.target instanceof Element?e.target:null,r=document.activeElement instanceof Element?document.activeElement:null,i=!!(n?.closest(Yt)||r?.closest(Yt)),a=!!(n&&t.contains(n)||r&&t.contains(r)),o=!!t.querySelector(`.ant-select-open, .ant-dropdown-open`);if(i||a&&o){Jt.add(e);return}!_n.value&&(a||e.target===document)&&(e.preventDefault(),e.stopPropagation(),sa())}function oo(e){if((e.ctrlKey||e.metaKey)&&!e.altKey&&e.key.toLowerCase()===`s`){if(!vn.value||!io(e))return;e.preventDefault(),Jn();return}if(e.key===`Escape`){if(Jt.has(e)){Jt.delete(e);return}let t=_n.value,n=t||A.value;if(!t&&A.value&&sa(),$(),Ga(),n&&e.stopPropagation(),!n){if(F.value){Xa(),e.stopPropagation();return}k.value?Hi():D.value=!1}}}function so(e,t){e===b.value&&t.selectedContentImage&&(y.value=``),e===b.value&&(Za(e),Ja());let n=wt.value[e];n&&we.isSameEditorState(n,t)||(wt.value={...wt.value,[e]:t})}function co(e=qt.value.rows,t=qt.value.cols){Z({type:`insert-table`,options:{rows:Math.min(10,Math.max(1,Math.round(Number(e)||3))),cols:Math.min(10,Math.max(1,Math.round(Number(t)||3))),withHeaderRow:!!qt.value.withHeaderRow}}),M.value=!1,$()}let lo={"delete-table-row":{label:`删除当前行`,countKey:`deleteRow`},"delete-table-column":{label:`删除当前列`,countKey:`deleteColumn`},"delete-table":{label:`删除表格`,countKey:`deleteTable`}};function uo(e){let t=I.value;if(!t)return;let n=()=>{Z(e,t.pageId),$()},r=lo[e.type];if(!r){n();return}let i=t.affectedVariableCounts[r.countKey];$(),Te.Modal.confirm({title:r.label,content:i?`此操作将移除 ${i} 个正文变量节点,是否继续?`:`此操作将修改表格结构,是否继续?`,okText:`确认`,okType:`danger`,cancelText:`取消`,onOk:n,onCancel:()=>C.get(t.pageId)?.focus()})}function fo(e){let t=Ut.value?.getMenuElement();if(!t)return;if(e.key===`Escape`){e.preventDefault(),e.stopPropagation();let t=I.value?.pageId;$(),C.get(t??``)?.focus();return}let n=Array.from(t.querySelectorAll(`button:not(:disabled)`));if(!n.length)return;if(e.key===`Home`||e.key===`End`){e.preventDefault(),n[e.key===`Home`?0:n.length-1]?.focus();return}if(![`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`].includes(e.key))return;let r=(Math.max(0,n.indexOf(document.activeElement))+(e.key===`ArrowUp`||e.key===`ArrowLeft`?-1:1)+n.length)%n.length;e.preventDefault(),n[r]?.focus()}function po(e){if(e.key!==`Escape`)return;e.preventDefault(),e.stopPropagation();let t=P.value?.pageId;$(),C.get(t??``)?.focus()}function mo(e){if(e.key!==`Escape`)return;e.preventDefault(),e.stopPropagation();let t=L.value?.pageId;$(),C.get(t??``)?.focus()}function ho(e){Z({type:e}),N.value=!1,$()}return Ue({getValue:ca,setValue:la,getFiles:ua,setFiles:da,addFile:fa,selectFile:pa,renameFile:ma,removeFile:ha,moveFile:_a,validate:va,exportTemplate:xa,exportFiles:Sa,getSubmitData:Ki,clearTemplate:Qi,saveDraftCache:Jn,loadDraftCache:Yn,clearDraftCache:Xn,getDraftCacheStatus:Sr,insertVariable:yi,insertImage:Zr,focus:Ea,openPreview:Wi,closePreview:Gi,openSubmitDataViewer:qi,closeSubmitDataViewer:Ji,getVariableData:Yi,openVariableDataViewer:Xi,closeVariableDataViewer:Zi,setServerValidationErrors:wa,clearValidationErrors:Ta,scrollToVariable:na,scrollToPage:aa,setZoom:Pi,resetZoom:Fi,getZoom:Ii,fitWidth:Ai}),(e,t)=>((0,d.openBlock)(),(0,d.createElementBlock)(`div`,{ref_key:`designerElement`,ref:Ke,class:(0,d.normalizeClass)([`gd-contract-template-designer`,{"is-disabled":f.disabled,"is-readonly":B.value,"is-fullscreen":D.value,"is-immersive":k.value}]),style:(0,d.normalizeStyle)(Ge.value),onKeydownCapture:t[31]||=(...e)=>(0,d.unref)(gn)&&(0,d.unref)(gn)(...e)},[h.value?((0,d.openBlock)(),(0,d.createBlock)(be.default,{key:0,files:g.value,"active-file-id":_.value,readonly:B.value,onSelect:pa,onAdd:t[0]||=e=>fa(),onRename:ma,onRemove:ga,onMove:_a},null,8,[`files`,`active-file-id`,`readonly`])):(0,d.createCommentVNode)(``,!0),(0,d.createElementVNode)(`div`,{class:(0,d.normalizeClass)([`gd-contract-template-designer__layout`,{"is-sidebar-collapsed":yt.value,"is-inspector-collapsed":bt.value}])},[(0,d.createVNode)(xe.default,{collapsed:yt.value,pages:v.value.pages,variables:v.value.variables,"decoration-variable-keys":qn.value,"active-page-id":b.value,"selected-variable-key":y.value,"normalized-max-pages":U.value,"page-limit-reached":Kn.value,"selected-page":V.value,"selected-page-size":Cn.value,"normalized-page-size-options":zn.value,"page-size-options":Bn.value,"selected-page-size-option-value":Vn.value,readonly:B.value,"get-page-size":Mr,onToggle:t[1]||=e=>yt.value=!yt.value,onAddPage:Fr,onActivatePage:ra,onNavigateOutline:ia,onDuplicatePage:Ir,onRemovePage:Rr,onPatchPageFormat:Nr,onScrollToVariable:ta},null,8,[`collapsed`,`pages`,`variables`,`decoration-variable-keys`,`active-page-id`,`selected-variable-key`,`normalized-max-pages`,`page-limit-reached`,`selected-page`,`selected-page-size`,`normalized-page-size-options`,`page-size-options`,`selected-page-size-option-value`,`readonly`]),(0,d.createElementVNode)(`main`,{ref_key:`workspaceElement`,ref:Je,class:`gd-contract-template-designer__workspace`},[(0,d.withDirectives)((0,d.createElementVNode)(`div`,{id:Qe,class:`gd-contract-template-designer__workspace-chrome`},[(0,d.createVNode)(ie.default,{ref_key:`workspaceHeaderElement`,ref:Ye,summary:En.value,"draft-cache-status-text":An.value,"draft-cache-status-class":jn.value,"show-draft-cache-status":f.showDraftCacheStatus,"show-clear-button":f.showClearButton,"show-submit-data-viewer":f.showSubmitDataViewer,"show-variable-data-viewer":f.showVariableDataViewer,readonly:B.value,"zoom-percent":Mn.value,"zoom-out-disabled":E.value<=Me,"zoom-in-disabled":E.value>=Ne,"is-fullscreen":D.value,immersive:k.value,"page-decorations-open":A.value,"page-decorations-studio-id":Ze,"page-decorations-preset-label":Dn.value,"page-decorations-enabled-count":kn.value,"page-decorations-enabled-states":On.value,"chrome-controls-id":Qe,onZoomOut:Ri,onZoomIn:Li,onFitWidth:(0,d.unref)(Ai),onResetZoom:Fi,onToggleFullscreen:zi,onToggleImmersive:Ui,onClear:$i,onValidate:va,onPreview:Wi,onSubmitData:qi,onVariableData:Xi,onTogglePageDecorations:oa,onToggleChrome:Ka},{authoring:(0,d.withCtx)(()=>[(0,d.createVNode)(se.default,{ref_key:`authoringBarElement`,ref:tt,compact:``,query:(0,d.unref)(nn),"onUpdate:query":t[2]||=e=>(0,d.isRef)(nn)?nn.value=e:null,replacement:(0,d.unref)(rn),"onUpdate:replacement":t[3]||=e=>(0,d.isRef)(rn)?rn.value=e:null,"match-case":(0,d.unref)(an),"onUpdate:matchCase":t[4]||=e=>(0,d.isRef)(an)?an.value=e:null,panel:(0,d.unref)(tn),readonly:B.value,total:(0,d.unref)(on).length,"current-index":(0,d.unref)(sn),"current-page":(0,d.unref)(cn)?(0,d.unref)(cn).pageIndex+1:void 0,feedback:(0,d.unref)(ln),onOpen:(0,d.unref)(dn),onClose:t[5]||=e=>(0,d.unref)(fn)(),onNavigate:(0,d.unref)(pn),onReplaceCurrent:(0,d.unref)(mn),onReplaceAll:(0,d.unref)(hn)},null,8,[`query`,`replacement`,`match-case`,`panel`,`readonly`,`total`,`current-index`,`current-page`,`feedback`,`onOpen`,`onNavigate`,`onReplaceCurrent`,`onReplaceAll`])]),_:1},8,[`summary`,`draft-cache-status-text`,`draft-cache-status-class`,`show-draft-cache-status`,`show-clear-button`,`show-submit-data-viewer`,`show-variable-data-viewer`,`readonly`,`zoom-percent`,`zoom-out-disabled`,`zoom-in-disabled`,`is-fullscreen`,`immersive`,`page-decorations-open`,`page-decorations-preset-label`,`page-decorations-enabled-count`,`page-decorations-enabled-states`,`onFitWidth`]),(0,d.createVNode)(oe.default,{"variable-insert-popover-open":Tt.value,"onUpdate:variableInsertPopoverOpen":t[6]||=e=>Tt.value=e,"signing-layout-popover-open":Dt.value,"onUpdate:signingLayoutPopoverOpen":t[7]||=e=>Dt.value=e,"signing-mark-popover-open":Ot.value,"onUpdate:signingMarkPopoverOpen":t[8]||=e=>Ot.value=e,"image-insert-popover-open":Et.value,"onUpdate:imageInsertPopoverOpen":t[9]||=e=>Et.value=e,"image-insert-url":At.value,"onUpdate:imageInsertUrl":t[10]||=e=>At.value=e,"image-insert-width":jt.value,"onUpdate:imageInsertWidth":t[11]||=e=>jt.value=e,"image-insert-height":Mt.value,"onUpdate:imageInsertHeight":t[12]||=e=>Mt.value=e,"table-insert-popover-open":M.value,"onUpdate:tableInsertPopoverOpen":t[13]||=e=>M.value=e,"table-actions-popover-open":N.value,"onUpdate:tableActionsPopoverOpen":t[14]||=e=>N.value=e,"table-insert-draft":qt.value,"onUpdate:tableInsertDraft":t[15]||=e=>qt.value=e,"toolbar-more-open":Ct.value,"onUpdate:toolbarMoreOpen":t[16]||=e=>Ct.value=e,readonly:B.value,"editor-state":G.value,"current-block-format":ir.value,"block-format-options":In,"font-family-select-options":Pn.value,"current-editor-font-family":ar.value,"font-size-preset-options":lr.value,"current-editor-font-size":or.value,"editor-font-size-search-value":j.value,"current-editor-text-color":sr.value,"body-control-tool-items":Gn.value,"signing-layout-presets":Wn.value,"page-limit-reached":Kn.value,"normalized-max-pages":U.value,"image-processing":Pt.value,"image-insert-error":Nt.value,onCommand:t[17]||=e=>Z(e),onPatchBlockFormat:Oa,onPatchFontFamily:Aa,onPatchFontSize:ka,onPatchColor:ja,onPatchTextAlign:Da,onInsertVariable:ti,onInsertSigningLayout:wr,onInsertSigningMark:Dr,onOpenSigningLayoutCustom:Er,onOpenImageFile:Qr,onInsertImageUrl:ei,onAddPage:Fr,onInsertTable:co,onTableAction:ho,onFontSizeSearch:Na,onFontSizeCommit:Pa,onFontSizeDropdownChange:Ia,onFontSizeKeydown:Fa},null,8,`variable-insert-popover-open.signing-layout-popover-open.signing-mark-popover-open.image-insert-popover-open.image-insert-url.image-insert-width.image-insert-height.table-insert-popover-open.table-actions-popover-open.table-insert-draft.toolbar-more-open.readonly.editor-state.current-block-format.font-family-select-options.current-editor-font-family.font-size-preset-options.current-editor-font-size.editor-font-size-search-value.current-editor-text-color.body-control-tool-items.signing-layout-presets.page-limit-reached.normalized-max-pages.image-processing.image-insert-error`.split(`.`))],512),[[d.vShow,!O.value]]),O.value?((0,d.openBlock)(),(0,d.createBlock)((0,d.unref)(Te.Tooltip),{key:0,title:`展开工具区`},{default:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`button`,{ref_key:`workspaceChromeHandleElement`,ref:$e,type:`button`,class:`gd-contract-template-designer__workspace-chrome-handle`,"aria-label":`展开工具区`,"aria-expanded":!1,"aria-controls":Qe,onClick:Ka},[(0,d.createVNode)((0,d.unref)(De.DownOutlined),{"aria-hidden":`true`})],512)]),_:1})):(0,d.createCommentVNode)(``,!0),k.value&&!A.value?((0,d.openBlock)(),(0,d.createElementBlock)(`button`,{key:1,ref_key:`immersiveExitElement`,ref:xt,type:`button`,class:`gd-contract-template-designer__immersive-exit`,"aria-label":`退出沉浸写作`,onClick:Hi},[(0,d.createVNode)((0,d.unref)(De.CompressOutlined),{"aria-hidden":`true`}),t[32]||=(0,d.createElementVNode)(`span`,{class:`gd-contract-template-designer__immersive-exit-label`},`退出沉浸`,-1),t[33]||=(0,d.createElementVNode)(`kbd`,null,`Esc`,-1)],512)):(0,d.createCommentVNode)(``,!0),x.value?((0,d.openBlock)(),(0,d.createElementBlock)(`section`,Oe,[(0,d.createVNode)((0,d.unref)(Te.Alert),{type:wn.value?`success`:`error`,message:Tn.value,"show-icon":``},null,8,[`type`,`message`]),S.value.length?((0,d.openBlock)(),(0,d.createElementBlock)(`div`,ke,[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(S.value,e=>((0,d.openBlock)(),(0,d.createElementBlock)(`button`,{key:`${e.id}-${e.message}`,type:`button`,class:`gd-contract-template-designer__validation-item`,onClick:t=>ya(e)},[(0,d.createElementVNode)(`span`,null,(0,d.toDisplayString)(e.message),1),(0,d.createElementVNode)(`small`,null,(0,d.toDisplayString)(ba(e)),1)],8,Ae))),128))])):(0,d.createCommentVNode)(``,!0)])):(0,d.createCommentVNode)(``,!0),(0,d.createElementVNode)(`div`,{ref_key:`canvasElement`,ref:qe,class:`gd-contract-template-designer__canvas`},[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(v.value.pages,(e,n)=>((0,d.openBlock)(),(0,d.createBlock)(ne.default,{key:`${_.value}:${e.id}`,ref_for:!0,ref:t=>Cr(e.id,t),page:e,"page-index":n,"page-size":Mr(e),"page-decorations":v.value.pageDecorations,"total-pages":v.value.pages.length,variables:v.value.variables,"selected-variable-key":y.value,active:b.value===e.id,readonly:f.readonly,disabled:f.disabled,zoom:E.value,"process-image-file":Xr,"search-query":(0,d.unref)(un),"search-match-case":(0,d.unref)(an),"active-search-match":(0,d.unref)(cn)?.pageId===e.id?(0,d.unref)(cn):void 0,onPageUpdate:jr,onVariableDrop:ri,onVariableSelect:ii,onEditorFocus:t[18]||=e=>ra(e,!1),onEditorStateChange:so,onEditorContextMenu:Wa,onWordPaste:Yr,onVariableMoveBlocked:t[19]||=e=>R.value=`变量只能在当前页内移动,跨页移动尚未支持。`},null,8,[`page`,`page-index`,`page-size`,`page-decorations`,`total-pages`,`variables`,`selected-variable-key`,`active`,`readonly`,`disabled`,`zoom`,`search-query`,`search-match-case`,`active-search-match`]))),128))],512)],512),(0,d.createVNode)(Se.default,{collapsed:bt.value,readonly:f.readonly,disabled:f.disabled,"body-control-tool-items":Gn.value,"selected-variable":H.value,variables:v.value.variables,"current-variable-font-family":cr.value,"font-family-select-options":Pn.value,"text-align-options":(0,d.unref)(Fn),"border-style-options":Ln,"object-fit-options":Rn,"selected-variable-width-max":nr.value,"selected-variable-height-max":rr.value,"min-font-size":Be,"max-font-size":Ve,"default-multiline-rows":(0,d.unref)(3),onToggle:t[20]||=e=>bt.value=!bt.value,onVariableDragStart:Ei,onInsertVariable:bi,onDuplicateVariable:vi,onRemoveVariable:gi,onPatchVariable:Q,onRenameVariable:oi,onPatchStyle:di,onPatchMultiline:mi,onPatchRows:hi,onPatchFontFamily:fi,onPatchFontSize:pi,onPatchTextAlign:ci,onPatchBorderStyle:li,onPatchObjectFit:ui},null,8,[`collapsed`,`readonly`,`disabled`,`body-control-tool-items`,`selected-variable`,`variables`,`current-variable-font-family`,`font-family-select-options`,`text-align-options`,`selected-variable-width-max`,`selected-variable-height-max`,`default-multiline-rows`])],2),(0,d.withDirectives)((0,d.createVNode)(Ce.default,{ref_key:`pageDecorationsStudioElement`,ref:Xe,id:Ze,open:A.value,decorations:v.value.pageDecorations,variables:v.value.variables,"font-family-options":Pn.value,readonly:f.readonly,disabled:f.disabled,"active-tab":St.value,"onUpdate:activeTab":t[21]||=e=>St.value=e,onChange:si,onClose:sa},null,8,[`open`,`decorations`,`variables`,`font-family-options`,`readonly`,`disabled`,`active-tab`]),[[d.vShow,A.value]]),((0,d.openBlock)(),(0,d.createBlock)(d.Teleport,{to:`body`},[I.value?((0,d.openBlock)(),(0,d.createBlock)(re.default,{key:0,ref_key:`tableContextMenuElement`,ref:Ut,capabilities:I.value.capabilities,"active-alignment":I.value.activeAlignment,style:(0,d.normalizeStyle)({left:`${I.value.x}px`,top:`${I.value.y}px`}),onExecute:uo,onKeydown:fo},null,8,[`capabilities`,`active-alignment`,`style`])):(0,d.createCommentVNode)(``,!0),L.value?((0,d.openBlock)(),(0,d.createBlock)(de.default,{key:1,ref_key:`imageContextMenuElement`,ref:Wt,width:Gt.value,"onUpdate:width":t[22]||=e=>Gt.value=e,height:Kt.value,"onUpdate:height":t[23]||=e=>Kt.value=e,x:L.value.x,y:L.value.y,readonly:B.value,onRestore:Ua,onApply:Ha,onKeydown:mo},null,8,[`width`,`height`,`x`,`y`,`readonly`])):(0,d.createCommentVNode)(``,!0),P.value?((0,d.openBlock)(),(0,d.createBlock)(le.default,{key:2,ref_key:`textContextMenuElement`,ref:Ft,"bind-open":Vt.value,"onUpdate:bindOpen":t[24]||=e=>Vt.value=e,"bind-keyword":Ht.value,"onUpdate:bindKeyword":t[25]||=e=>Ht.value=e,x:P.value.x,y:P.value.y,"has-selection":P.value.hasSelection,"editor-state":G.value,"current-editor-text-color":sr.value,"body-control-tool-items":Gn.value,"text-menu-bindable-variables":tr.value,"variables-count":v.value.variables.length,"resolve-bind-variable-type-label":wi,onCommand:Or,onClipboard:kr,onAddPage:ni,onInsertVariable:xi,onBindVariable:Ci,onOpenBindPanel:Ti,onKeydown:po,onPatchColor:Ma},null,8,[`bind-open`,`bind-keyword`,`x`,`y`,`has-selection`,`editor-state`,`current-editor-text-color`,`body-control-tool-items`,`text-menu-bindable-variables`,`variables-count`])):(0,d.createCommentVNode)(``,!0),F.value?((0,d.openBlock)(),(0,d.createBlock)(ue.default,{key:3,ref_key:`textBubbleElement`,ref:It,x:F.value.x,y:F.value.y,"editor-state":G.value,"font-size-preset-options":lr.value,"current-editor-font-size":or.value,"editor-font-size-search-value":j.value,"current-editor-text-color":sr.value,"text-align-options":(0,d.unref)(Fn),onCommand:Z,onPatchFontSize:ka,onPatchTextAlign:Da,onPatchColor:Ma,onFontSizeSearch:Na,onFontSizeCommit:Pa,onFontSizeDropdownChange:Ia,onFontSizeKeydown:Fa,onMore:to},null,8,[`x`,`y`,`editor-state`,`font-size-preset-options`,`current-editor-font-size`,`editor-font-size-search-value`,`current-editor-text-color`,`text-align-options`])):(0,d.createCommentVNode)(``,!0)])),(0,d.createElementVNode)(`input`,{ref_key:`imageFileInputElement`,ref:et,class:`gd-contract-template-designer__hidden-file-input`,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif,image/bmp`,tabindex:`-1`,"aria-hidden":`true`,onChange:$r},null,544),(0,d.createElementVNode)(`span`,je,(0,d.toDisplayString)(R.value),1),(0,d.createVNode)(fe.default,{open:w.value,"onUpdate:open":t[26]||=e=>w.value=e,"preview-pages":bn.value,"preview-file-groups":xn.value,"preview-active-group":Sn.value,"preview-snapshot":T.value,"font-base-url":f.contractFontBaseUrl,onCancel:Gi,onSelectFile:t[27]||=e=>mt.value=e},null,8,[`open`,`preview-pages`,`preview-file-groups`,`preview-active-group`,`preview-snapshot`,`font-base-url`]),(0,d.createVNode)(pe.default,{open:ht.value,"onUpdate:open":t[28]||=e=>ht.value=e,json:gt.value,onCancel:Ji},null,8,[`open`,`json`]),(0,d.createVNode)(me.default,{open:_t.value,"onUpdate:open":t[29]||=e=>_t.value=e,data:vt.value,"file-name":yn.value?.name,onCancel:Zi},null,8,[`open`,`data`,`file-name`]),(0,d.createVNode)(he.default,{open:kt.value,"onUpdate:open":t[30]||=e=>kt.value=e,disabled:B.value,onInsert:Tr},null,8,[`open`,`disabled`])],38))}});exports.default=f;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../utils/authoring-shortcuts.cjs`);let t=require(`vue`);function n(n){let r=(0,t.shallowRef)(),i=(0,t.shallowRef)(``),a=(0,t.shallowRef)(``),o=(0,t.shallowRef)(!1),s=(0,t.shallowRef)(0),c=(0,t.shallowRef)(``),l=(0,t.computed)(()=>r.value===`find`||r.value===`replace`),u=!1,d=(0,t.shallowRef)(0);(0,t.watch)([n.fileId,()=>JSON.stringify(n.pages().map(e=>e.id))],async()=>{await(0,t.nextTick)(),d.value+=1},{flush:`post`});let f=(0,t.computed)(()=>(n.fileId(),d.value,n.pages().flatMap((e,t)=>(e.contentHtml,i.value?(n.pageRefs.get(e.id)?.findText(i.value,o.value)??[]).map(n=>({...n,pageId:e.id,pageIndex:t})):[])))),p=(0,t.computed)(()=>f.value[s.value]),m=(0,t.computed)(()=>l.value?i.value:``);function h(){let e=p.value;!l.value||!e||(n.activatePage(e.pageId,!1),n.pageRefs.get(e.pageId)?.revealSearchMatch(e))}(0,t.watch)([i,o,n.fileId],()=>{u=!0,s.value=0,c.value=``},{flush:`sync`}),(0,t.watch)(f,(e,t)=>{let n=t[s.value],r=!u&&n?e.findIndex(e=>e.pageId===n.pageId&&e.from===n.from&&e.to===n.to):-1;s.value=u?0:r>=0?r:Math.min(s.value,Math.max(0,e.length-1)),u=!1,h()},{flush:`post`});async function g(e){n.beforeOpen(),r.value=e,await(0,t.nextTick)(),h(),n.focusPanel()}function _(e=!0){let i=r.value;r.value=void 0,e&&i&&(0,t.nextTick)(()=>n.focusTrigger(i))}function v(e){f.value.length&&(s.value=(s.value+e+f.value.length)%f.value.length,h())}async function y(){let e=p.value;if(n.readonly()||!e)return;let r=n.pageRefs.get(e.pageId)?.replaceSearchMatches({query:i.value,matchCase:o.value},a.value,[e])??0;if(c.value=r?`已替换 1 处,可在该页撤销`:`未修改正文:内容已变化或替换文字相同`,await(0,t.nextTick)(),r){let t=f.value.findIndex(t=>t.pageIndex>e.pageIndex||t.pageId===e.pageId&&t.from>=e.from+a.value.length);s.value=Math.max(0,t)}h()}async function b(){if(n.readonly()||!f.value.length)return;let e=new Map;for(let t of f.value){let n=e.get(t.pageId)??[];n.push(t),e.set(t.pageId,n)}let r=0,l=0;for(let[t,s]of Array.from(e)){let e=n.pageRefs.get(t)?.replaceSearchMatches({query:i.value,matchCase:o.value},a.value,s)??0;r+=e,e&&(l+=1)}c.value=r?`已在本文件 ${l} 页替换 ${r} 处,可逐页撤销`:`未修改正文:内容已变化或替换文字相同`,s.value=0,await(0,t.nextTick)(),h()}function x(
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../utils/authoring-shortcuts.cjs`);let t=require(`vue`);function n(n){let r=(0,t.shallowRef)(),i=(0,t.shallowRef)(``),a=(0,t.shallowRef)(``),o=(0,t.shallowRef)(!1),s=(0,t.shallowRef)(0),c=(0,t.shallowRef)(``),l=(0,t.computed)(()=>r.value===`find`||r.value===`replace`),u=!1,d=(0,t.shallowRef)(0);(0,t.watch)([n.fileId,()=>JSON.stringify(n.pages().map(e=>e.id))],async()=>{await(0,t.nextTick)(),d.value+=1},{flush:`post`});let f=(0,t.computed)(()=>(n.fileId(),d.value,n.pages().flatMap((e,t)=>(e.contentHtml,i.value?(n.pageRefs.get(e.id)?.findText(i.value,o.value)??[]).map(n=>({...n,pageId:e.id,pageIndex:t})):[])))),p=(0,t.computed)(()=>f.value[s.value]),m=(0,t.computed)(()=>l.value?i.value:``);function h(){let e=p.value;!l.value||!e||(n.activatePage(e.pageId,!1),n.pageRefs.get(e.pageId)?.revealSearchMatch(e))}(0,t.watch)([i,o,n.fileId],()=>{u=!0,s.value=0,c.value=``},{flush:`sync`}),(0,t.watch)(f,(e,t)=>{let n=t[s.value],r=!u&&n?e.findIndex(e=>e.pageId===n.pageId&&e.from===n.from&&e.to===n.to):-1;s.value=u?0:r>=0?r:Math.min(s.value,Math.max(0,e.length-1)),u=!1,h()},{flush:`post`});async function g(e){n.beforeOpen(),r.value=e,await(0,t.nextTick)(),h(),n.focusPanel()}function _(e=!0){let i=r.value;r.value=void 0,e&&i&&(0,t.nextTick)(()=>n.focusTrigger(i))}function v(e){f.value.length&&(s.value=(s.value+e+f.value.length)%f.value.length,h())}async function y(){let e=p.value;if(n.readonly()||!e)return;let r=n.pageRefs.get(e.pageId)?.replaceSearchMatches({query:i.value,matchCase:o.value},a.value,[e])??0;if(c.value=r?`已替换 1 处,可在该页撤销`:`未修改正文:内容已变化或替换文字相同`,await(0,t.nextTick)(),r){let t=f.value.findIndex(t=>t.pageIndex>e.pageIndex||t.pageId===e.pageId&&t.from>=e.from+a.value.length);s.value=Math.max(0,t)}h()}async function b(){if(n.readonly()||!f.value.length)return;let e=new Map;for(let t of f.value){let n=e.get(t.pageId)??[];n.push(t),e.set(t.pageId,n)}let r=0,l=0;for(let[t,s]of Array.from(e)){let e=n.pageRefs.get(t)?.replaceSearchMatches({query:i.value,matchCase:o.value},a.value,s)??0;r+=e,e&&(l+=1)}c.value=r?`已在本文件 ${l} 页替换 ${r} 处,可逐页撤销`:`未修改正文:内容已变化或替换文字相同`,s.value=0,await(0,t.nextTick)(),h()}function x(t){let r=e.resolveContractAuthoringShortcut(t,n.root());!r||(r===`next`||r===`previous`)&&!l.value||(t.preventDefault(),t.stopPropagation(),r===`next`||r===`previous`?v(r===`next`?1:-1):g(r))}return{panel:r,query:i,replacement:a,matchCase:o,matches:f,currentIndex:s,currentMatch:p,feedback:c,highlightQuery:m,searchOpen:l,open:g,close:_,navigate:v,replaceCurrent:y,replaceAll:b,handleKeydown:x}}exports.useTemplateAuthoring=n;
|
package/dist/lib/components/pro-contract-template-designer/src/extensions/editor-extensions.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../../../_virtual/_rolldown/runtime.cjs`),t=require(`../utils/signing-mark.cjs`),n=require(`../constants.cjs`),r=require(`./template-variable.cjs`),i=require(`./font-size.cjs`),a=require(`./office-content.cjs`),o=require(`./word-paste.cjs`),s=require(`./signing-mark.cjs`),c=require(`../utils/signing-layout-presets.cjs`)
|
|
1
|
+
const e=require(`../../../../_virtual/_rolldown/runtime.cjs`),t=require(`../utils/signing-mark.cjs`),n=require(`../constants.cjs`),r=require(`./template-variable.cjs`),i=require(`./font-size.cjs`),a=require(`./office-content.cjs`),o=require(`./word-paste.cjs`),s=require(`./signing-mark.cjs`),c=require(`../utils/signing-layout-presets.cjs`);let l=require(`@tiptap/starter-kit`);l=e.__toESM(l,1);let u=require(`@tiptap/extension-text-align`);u=e.__toESM(u,1);let d=require(`@tiptap/extension-text-style`),f=require(`@tiptap/extension-color`);f=e.__toESM(f,1);let p=require(`@tiptap/extension-placeholder`);p=e.__toESM(p,1);let m=require(`@tiptap/extension-table`),h=require(`@tiptap/extension-table-row`);h=e.__toESM(h,1);let g=require(`@tiptap/extension-table-header`);g=e.__toESM(g,1);let _=require(`@tiptap/extension-table-cell`);_=e.__toESM(_,1);var v=[`heading`,`paragraph`],y=[`textStyle`],b=[1,2,3,4,5,6];function x(e){return e.extend({addAttributes(){return{...this.parent?.(),textAlign:{default:`left`,parseHTML:e=>e.style.textAlign||`left`,renderHTML:e=>({style:`text-align: ${e.textAlign||`left`}`})}}}})}var S=class extends m.TableView{constructor(e,t,n,r={}){super(e,t,n,r),this.syncSigningLayoutAttribute(e)}update(e){return super.update(e)?(this.syncSigningLayoutAttribute(e),!0):!1}syncSigningLayoutAttribute(e){let t=c.isSigningLayoutAttributeValue(e.attrs.signingLayout)?e.attrs.signingLayout:``;t?this.table.getAttribute(`data-signing-layout`)!==t&&this.table.setAttribute(`data-signing-layout`,t):this.table.hasAttribute(`data-signing-layout`)&&this.table.removeAttribute(`data-signing-layout`)}},C=m.Table.extend({addAttributes(){return{...this.parent?.(),signingLayout:{default:null,parseHTML:e=>{let t=e.getAttribute(`data-signing-layout`);return c.isSigningLayoutAttributeValue(t)?t:null},renderHTML:e=>c.isSigningLayoutAttributeValue(e.signingLayout)?{"data-signing-layout":e.signingLayout}:{}}}}});function w(e,t){return t?c.buildSigningLayoutContent(t,c.isSigningLayoutPresetKey(e)?e:void 0):c.buildSigningLayoutPresetContent(c.isSigningLayoutPresetKey(e)?e:`dual-party`)}function T(e=`请输入合同正文`,t={}){return[l.default.configure({heading:{levels:b}}),u.default.configure({types:v}),d.TextStyle,d.FontFamily.configure({types:y}),f.default.configure({types:y}),d.BackgroundColor.configure({types:y}),i.FontSize,a.ContractSuperscript,a.ContractSubscript,a.OfficeContentFormatting,p.default.configure({placeholder:e}),C.configure({resizable:!0,View:S}),h.default,x(g.default),x(_.default),a.ContractContentImage.configure({getZoom:t.getZoom}),s.SigningMark.configure({getZoom:t.getZoom}),r.TemplateVariable,o.WordPaste.configure({processImageFile:t.processImageFile,confirmExternalFontPaste:t.confirmExternalFontPaste})]}function E(e){return Number.isFinite(e)?`${Math.max(10,Math.round(e))}px`:`14px`}function D(e,r){switch(r.type){case`undo`:return e.undo();case`redo`:return e.redo();case`select-all`:return e.selectAll();case`set-paragraph`:return e.setParagraph();case`set-heading`:return e.setHeading({level:r.level});case`apply-block-style`:return r.format===`paragraph`?e.setParagraph():e.setHeading({level:r.format});case`toggle-heading`:return e.toggleHeading({level:r.level});case`set-bold`:return e.setBold();case`toggle-bold`:return e.toggleBold();case`unset-bold`:return e.unsetBold();case`set-italic`:return e.setItalic();case`toggle-italic`:return e.toggleItalic();case`unset-italic`:return e.unsetItalic();case`set-underline`:return e.setUnderline();case`toggle-underline`:return e.toggleUnderline();case`unset-underline`:return e.unsetUnderline();case`toggle-bullet-list`:return e.toggleBulletList();case`toggle-ordered-list`:return e.toggleOrderedList();case`set-text-align`:return e.setTextAlign(r.value);case`unset-text-align`:return e.unsetTextAlign();case`set-color`:return r.value.trim()?e.setColor(r.value):e.unsetColor();case`unset-color`:return e.unsetColor();case`set-font-size`:return e.setFontSize(E(r.value));case`unset-font-size`:return e.unsetFontSize();case`set-font-family`:return r.value.trim()?e.setFontFamily(r.value):e.unsetFontFamily();case`unset-font-family`:return e.unsetFontFamily();case`clear-text-format`:return e.unsetBold().unsetItalic().unsetUnderline().unsetColor().unsetFontSize().unsetFontFamily();case`clear-block-format`:return e.setParagraph().unsetTextAlign();case`apply-text-style-preset`:return n.resolveContractTextStylePresetCommands(r.preset).reduce(D,e);case`insert-horizontal-rule`:return e.setHorizontalRule();case`insert-content-image`:return r.position===void 0?e.insertContent({type:`image`,attrs:r.image}):e.insertContentAt(r.position,{type:`image`,attrs:r.image});case`insert-signing-mark`:{let n={type:`signingMark`,attrs:t.buildSigningMarkAttrs(r.mark.markType,r.mark)};return r.position===void 0?e.insertContent(n):e.insertContentAt(r.position,n)}case`insert-signing-layout`:return e.insertContent(w(r.preset,r.options));case`insert-table`:return e.insertTable({rows:Math.max(1,Math.round(r.options.rows)),cols:Math.max(1,Math.round(r.options.cols)),withHeaderRow:r.options.withHeaderRow});case`add-table-row-before`:return e.addRowBefore();case`add-table-row-after`:return e.addRowAfter();case`delete-table-row`:return e.deleteRow();case`add-table-column-before`:return e.addColumnBefore();case`add-table-column-after`:return e.addColumnAfter();case`delete-table-column`:return e.deleteColumn();case`merge-table-cells`:return e.mergeCells();case`split-table-cell`:return e.splitCell();case`set-table-cell-align`:return e.setCellAttribute(`textAlign`,r.value);case`toggle-table-header-row`:return e.toggleHeaderRow();case`toggle-table-header-column`:return e.toggleHeaderColumn();case`toggle-table-header-cell`:return e.toggleHeaderCell();case`delete-table`:return e.deleteTable()}}function O(e,t,n={}){return e?D(n.focus===!1?e.chain():e.chain().focus(),t).run():!1}exports.createEditorExtensions=T,exports.runContractTemplateEditorCommand=O;
|