@eigenpal/docx-editor-vue 1.0.0 → 1.0.1
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/README.md +22 -0
- package/dist/index.cjs +3 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.js +190 -189
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -44,6 +44,28 @@ async function loadFile(e: Event) {
|
|
|
44
44
|
|
|
45
45
|
Import the stylesheet once at your app entry. Vite's library mode doesn't auto-inject CSS imports, so the toolbar will render unstyled without it.
|
|
46
46
|
|
|
47
|
+
## Start with a blank document
|
|
48
|
+
|
|
49
|
+
Skip the file picker for new documents. `createEmptyDocument` returns a fresh `Document` model you can pass straight to the editor:
|
|
50
|
+
|
|
51
|
+
```vue
|
|
52
|
+
<script setup lang="ts">
|
|
53
|
+
import { ref } from 'vue';
|
|
54
|
+
import { DocxEditor, createEmptyDocument } from '@eigenpal/docx-editor-vue';
|
|
55
|
+
import '@eigenpal/docx-editor-vue/styles.css';
|
|
56
|
+
|
|
57
|
+
const doc = ref(createEmptyDocument());
|
|
58
|
+
// Or with options:
|
|
59
|
+
// createEmptyDocument({ initialText: 'Untitled', pageWidth: 12240 })
|
|
60
|
+
</script>
|
|
61
|
+
|
|
62
|
+
<template>
|
|
63
|
+
<DocxEditor :document="doc" mode="editing" />
|
|
64
|
+
</template>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
`createDocumentWithText(text, options?)` is the same idea with a starting paragraph already typed. Both helpers are re-exported from `@eigenpal/docx-editor-core` so you don't need a separate dependency.
|
|
68
|
+
|
|
47
69
|
## Packages
|
|
48
70
|
|
|
49
71
|
| Package | Description |
|
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./KeyboardShortcutsDialog-D72k5DXR.cjs`),t=require(`./MenuBar-BrQW4COn.cjs`),n=require(`./_plugin-vue_export-helper-CX7YVcP6.cjs`),r=require(`./zIndex-CH0jZ7U7.cjs`),i=require(`./useTableResize-lWdIgX9x.cjs`);let a=require(`vue`),o=require(`@eigenpal/docx-editor-core/prosemirror/commands/formatting`),s=require(`@eigenpal/docx-editor-core/utils`),c=require(`@eigenpal/docx-editor-core/prosemirror/extensions/nodes/TableExtension`),l=require(`prosemirror-state`),u=require(`@eigenpal/docx-editor-core/layout-bridge/clickToPositionDom`),d=require(`@eigenpal/docx-editor-core/layout-painter`),f=require(`prosemirror-view`),p=require(`@eigenpal/docx-editor-core/prosemirror/schema`),m=require(`@eigenpal/docx-editor-core/prosemirror/conversion`);require(`prosemirror-view/style/prosemirror.css`);let h=require(`@eigenpal/docx-editor-core/utils/units`),g=require(`@eigenpal/docx-editor-core/layout-bridge`),_=require(`@eigenpal/docx-editor-core/layout-engine`),v=require(`@eigenpal/docx-editor-core/prosemirror/commands/paragraph`),y=require(`@eigenpal/docx-editor-core/prosemirror/styles`),b=require(`@eigenpal/docx-editor-core/prosemirror/commands/pageBreak`),x=require(`@eigenpal/docx-editor-core/utils/highlightColors`),S=require(`@eigenpal/docx-editor-core/utils/headingCollector`),C=require(`@eigenpal/docx-editor-core/prosemirror/commands`),w=require(`@eigenpal/docx-editor-core/prosemirror/utils/extractTrackedChanges`),T=require(`@eigenpal/docx-editor-core/layout-bridge/tableInsertHover`),E=require(`@eigenpal/docx-editor-core/utils/reportIssue`),D=require(`@eigenpal/docx-editor-core/prosemirror`),O=require(`@eigenpal/docx-editor-core/plugin-api/RenderedDomContext`);function
|
|
2
|
-
`),paragraphs:a}}var te=(0,a.defineComponent)({__name:`DecorationLayer`,props:{getView:{type:Function},getPagesContainer:{type:Function},zoom:{},transactionVersion:{},syncCoordinator:{}},setup(e){let t=e,n=(0,a.ref)(null),r=(0,a.ref)(0),i=null,o=null;function s(){i!==null&&cancelAnimationFrame(i),i=requestAnimationFrame(()=>{i=null;let e=t.getView(),r=t.getPagesContainer(),a=n.value;!e||!r||!a||t.syncCoordinator.isSafeToRender()&&c(e,r,a,t.zoom)})}(0,a.onMounted)(()=>{o=t.syncCoordinator.onRender(()=>{r.value++}),s()}),(0,a.onBeforeUnmount)(()=>{i!==null&&(cancelAnimationFrame(i),i=null),o?.()}),(0,a.watch)(()=>[t.zoom,t.transactionVersion,r.value],()=>s());function c(e,t,n,r){let i=l(e.state);if(i.length===0){n.firstChild&&n.replaceChildren();return}let a=(0,O.createRenderedDomContext)(t,r),o=a.getContainerOffset(),s=document.createDocumentFragment();for(let{decoration:t,from:n,to:r}of i){if(n===r){let r=u(t,e);if(!r)continue;let i=a.getCoordinatesForPosition(n);if(!i)continue;let c=document.createElement(`div`);c.style.cssText=`position:absolute;left:${i.x+o.x}px;top:${i.y+o.y}px;height:${i.height}px;`,c.appendChild(r),s.appendChild(c);continue}let i=d(t);if(!i)continue;let c=a.getRectsForRange(n,r);for(let e of c){let t=document.createElement(`div`);for(let[e,n]of Object.entries(i))e!==`nodeName`&&t.setAttribute(e,n);let n=`position:absolute;left:${e.x+o.x}px;top:${e.y+o.y}px;width:${e.width}px;height:${e.height}px;`;t.style.cssText=n+(i.style??``),s.appendChild(t)}}n.replaceChildren(s)}function l(e){let t=[];for(let n of e.plugins){let r=n.props.decorations;if(!r)continue;let i=r.call(n,e);i&&i.forEachSet(e=>{e.find().forEach(e=>{e.spec?.noOverlay||t.push({decoration:e,from:e.from,to:e.to})})})}return t}function u(e,t){let n=e.type;if(!n)return null;let r=n.toDOM;return typeof r==`function`?r(t,()=>e.from):r instanceof HTMLElement?r.cloneNode(!0):null}function d(e){return e.type?.attrs??null}return(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{ref_key:`overlayRef`,ref:n,class:`paged-editor__decoration-overlay`,"aria-hidden":`true`},null,512))}}),ne=[`data-handle`,`onMousedown`],F=[`title`],re={key:0,class:`image-overlay__dim`},ie={key:1,class:`image-overlay__dim image-overlay__dim--rotate`},ae=4,oe=15,se=(0,a.defineComponent)({__name:`ImageSelectionOverlay`,props:{imageInfo:{},zoom:{},view:{}},emits:[`deselect`,`interact-start`,`interact-end`,`context-menu`],setup(t,{emit:n}){let{t:i}=e.d(),o=t,c=n,f=(0,a.ref)(null),p=(0,a.ref)(!1),m=(0,a.ref)(!1),h=(0,a.ref)(!1),g=(0,a.ref)(0),_=(0,a.ref)(0),v=(0,a.ref)(0),y=(0,a.ref)(null),b=`se`,x=0,S=0,C=0,w=0,T=null,E=null,D=null,O=null;function k(e,t){if(!e)return null;try{let n=e.state.doc.nodeAt(t);return n&&n.type.name===`image`?n:null}catch{return null}}function A(){let e=o.imageInfo;if(!e)return null;if(e.element.isConnected)return e.element;let t=f.value?.closest(`.docx-editor-vue__pages-viewport`)?.querySelector(`.docx-editor-vue__pages`);if(!t)return null;for(let n of t.querySelectorAll(`[data-pm-start="${e.pmPos}"]`)){let e=(0,d.findImageElement)(n);if(e)return e}return null}function j(){let e=A();if(!e||!f.value){y.value=null;return}let t=f.value.offsetParent;if(!t){y.value=null;return}let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),i=o.zoom;y.value={left:(r.left-n.left)/i,top:(r.top-n.top)/i,width:r.width/i,height:r.height/i}}(0,a.watch)(()=>o.imageInfo,async()=>{await(0,a.nextTick)(),j()},{immediate:!0}),(0,a.watch)(()=>o.imageInfo,(e,t,n)=>{if(!o.imageInfo)return;let r=()=>{E&&cancelAnimationFrame(E),E=requestAnimationFrame(j)},i=f.value?.closest(`.docx-editor-vue__pages-viewport`)?.parentElement;i?.addEventListener(`scroll`,r,{passive:!0}),window.addEventListener(`resize`,r,{passive:!0}),n(()=>{i?.removeEventListener(`scroll`,r),window.removeEventListener(`resize`,r),E&&cancelAnimationFrame(E)})},{immediate:!0});let M=(0,a.computed)(()=>p.value?g.value:y.value?.width||0),N=(0,a.computed)(()=>p.value?_.value:y.value?.height||0),ee=(0,a.computed)(()=>{let e=y.value;if(!e)return{position:`absolute`,top:`0px`,left:`0px`,visibility:`hidden`,pointerEvents:`none`};let t=p.value?g.value:e.width,n=p.value?_.value:e.height;return{position:`absolute`,left:`${e.left}px`,top:`${e.top}px`,width:`${t}px`,height:`${n}px`,zIndex:r.t.imageOverlay,pointerEvents:`auto`}}),P=(0,a.computed)(()=>{let e=M.value,t=N.value,n=`${e/2-5}px`,r=`${t/2-5}px`,i=`${e-5}px`,a=`${t-5}px`,o=`-5px`;return[{pos:`nw`,style:{left:o,top:o,cursor:`nwse-resize`}},{pos:`n`,style:{left:n,top:o,cursor:`ns-resize`}},{pos:`ne`,style:{left:i,top:o,cursor:`nesw-resize`}},{pos:`e`,style:{left:i,top:r,cursor:`ew-resize`}},{pos:`se`,style:{left:i,top:a,cursor:`nwse-resize`}},{pos:`s`,style:{left:n,top:a,cursor:`ns-resize`}},{pos:`sw`,style:{left:o,top:a,cursor:`nesw-resize`}},{pos:`w`,style:{left:o,top:r,cursor:`ew-resize`}}]}),te=e=>e.length===2;function se(e,t,n,r,i,a){let o=e.includes(`w`)?-1:+!!e.includes(`e`),s=e.includes(`n`)?-1:+!!e.includes(`s`),c=r+t*o,l=i+n*s;if(te(e)&&a){let e=Math.max(c/r,l/i);c=r*e,l=i*e}return{width:o===0?r:Math.max(20,Math.min(2e3,c)),height:s===0?i:Math.max(20,Math.min(2e3,l))}}function ce(e,t){!o.imageInfo||!y.value||(b=t,x=e.clientX,S=e.clientY,C=y.value.width,w=y.value.height,T={...y.value},g.value=Math.round(C),_.value=Math.round(w),p.value=!0,c(`interact-start`),document.addEventListener(`mousemove`,I),document.addEventListener(`mouseup`,L))}function I(e){let t=o.zoom,n=(e.clientX-x)/t,r=(e.clientY-S)/t,i=!e.shiftKey,a=se(b,n,r,C,w,i);g.value=Math.round(a.width),_.value=Math.round(a.height);let s=T;s&&(y.value={left:b.includes(`w`)?s.left+(s.width-a.width):s.left,top:b.includes(`n`)?s.top+(s.height-a.height):s.top,width:s.width,height:s.height})}function L(){document.removeEventListener(`mousemove`,I),document.removeEventListener(`mouseup`,L),p.value=!1,T=null,c(`interact-end`);let e=o.view,t=o.imageInfo;if(!e||!t){j();return}let n=k(e,t.pmPos);if(n)try{e.dispatch(e.state.tr.setNodeMarkup(t.pmPos,void 0,{...n.attrs,width:g.value,height:_.value}))}catch{}(0,a.nextTick)(()=>j())}let le=0,ue=0,de=0,fe=0,R=null,z=null;function pe(e){if(!e)return 0;let t=e.match(/rotate\((-?\d+(?:\.\d+)?)deg\)/);return t?parseFloat(t[1]):0}function B(e,t){let n=/scaleX\(-1\)/.test(e||``),r=/scaleY\(-1\)/.test(e||``),i=[],a=(t%360+360)%360;return a!==0&&i.push(`rotate(${a}deg)`),n&&i.push(`scaleX(-1)`),r&&i.push(`scaleY(-1)`),i.length>0?i.join(` `):null}function V(e,t){return Math.atan2(e-le,-(t-ue))*180/Math.PI}function me(e){if(!o.imageInfo)return;let t=o.imageInfo.element.getBoundingClientRect();le=t.left+t.width/2,ue=t.top+t.height/2;let n=k(o.view,o.imageInfo.pmPos);R=n&&n.attrs.transform||null,fe=pe(R),z=o.imageInfo.element.querySelector(`img`),de=V(e.clientX,e.clientY),v.value=fe,h.value=!0,c(`interact-start`),document.addEventListener(`mousemove`,he),document.addEventListener(`mouseup`,H)}function he(e){let t=V(e.clientX,e.clientY)-de,n=fe+t;e.shiftKey||(n=Math.round(n/oe)*oe),v.value=(n%360+360)%360,z&&(z.style.transform=B(R,v.value)||``)}function H(){document.removeEventListener(`mousemove`,he),document.removeEventListener(`mouseup`,H),h.value=!1,c(`interact-end`);let e=o.view,t=o.imageInfo;try{let n=e&&t?k(e,t.pmPos):null;e&&t&&n&&e.dispatch(e.state.tr.setNodeMarkup(t.pmPos,void 0,{...n.attrs,transform:B(n.attrs.transform,v.value)}))}catch{}finally{z&&(z.style.transform=``),z=null,R=null}(0,a.nextTick)(()=>j())}let U=null;function ge(e){if(!o.imageInfo||!y.value)return;let t=e.clientX,n=e.clientY,r=y.value,i=!1,a=e=>{let a=e.clientX-t,s=e.clientY-n;if(!(!i&&Math.sqrt(a*a+s*s)<ae)){if(!i){i=!0,m.value=!0,c(`interact-start`),U=document.createElement(`div`),U.style.cssText=`position: fixed; pointer-events: none; z-index: 10000; opacity: 0.5; border: 2px dashed #2563eb; border-radius: 4px; background: rgba(37, 99, 235, 0.1);`;let e=o.zoom;U.style.width=`${r.width*e}px`,U.style.height=`${r.height*e}px`,document.body.appendChild(U)}if(U){let t=o.zoom;U.style.left=`${e.clientX-r.width*t/2}px`,U.style.top=`${e.clientY-r.height*t/2}px`}}},s=e=>{document.removeEventListener(`mousemove`,a),document.removeEventListener(`mouseup`,s),D=null,O=null,U&&=(U.remove(),null),m.value=!1,i&&(c(`interact-end`),_e(e.clientX,e.clientY))};D=a,O=s,document.addEventListener(`mousemove`,a),document.addEventListener(`mouseup`,s)}function _e(e,t){let n=o.view,r=o.imageInfo;if(!n||!r)return;let i=k(n,r.pmPos);if(!i)return;let c=i.attrs.wrapType,l=i.attrs.displayMode===`float`||(c?[`square`,`tight`,`through`].includes(c):!1);try{if(l){let a=(f.value?.closest(`.docx-editor-vue__pages-viewport`))?.querySelectorAll(`.layout-page`);if(!a||a.length===0)return;let c=null;for(let e of a){let n=e.getBoundingClientRect();if(t>=n.top&&t<=n.bottom){c=e.querySelector(`.layout-page-content`);break}}if(c||=a[a.length-1].querySelector(`.layout-page-content`),!c)return;let l=c.getBoundingClientRect(),u=o.zoom,d=(e-l.left)/u,p=(t-l.top)/u,m={horizontal:{posOffset:(0,s.pixelsToEmu)(d),relativeTo:`margin`},vertical:{posOffset:(0,s.pixelsToEmu)(p),relativeTo:`margin`}},h=n.state.tr.setNodeMarkup(r.pmPos,void 0,{...i.attrs,position:m});n.dispatch(h),ve(r.pmPos)}else{let a=f.value?.closest(`.docx-editor-vue__pages-viewport`)?.querySelector(`.docx-editor-vue__pages`);if(!a)return;let o=(0,u.clickToPositionDom)(a,e,t,1);if(o==null||o<0||o===r.pmPos||o===r.pmPos+1)return;let s=n.state.tr,c=i.nodeSize;if(o<=r.pmPos)s=s.delete(r.pmPos,r.pmPos+c),s=s.insert(o,i),n.dispatch(s),ve(o);else{s=s.delete(r.pmPos,r.pmPos+c);let e=Math.min(o-c,s.doc.content.size);s=s.insert(e,i),n.dispatch(s),ve(Math.min(e,n.state.doc.content.size-1))}}}catch{}(0,a.nextTick)(()=>j())}function ve(e){let t=o.view;if(t)try{let n=l.NodeSelection.create(t.state.doc,e);t.dispatch(t.state.tr.setSelection(n))}catch{}}return(0,a.onBeforeUnmount)(()=>{document.removeEventListener(`mousemove`,I),document.removeEventListener(`mouseup`,L),document.removeEventListener(`mousemove`,he),document.removeEventListener(`mouseup`,H),D&&document.removeEventListener(`mousemove`,D),O&&document.removeEventListener(`mouseup`,O),U&&=(U.remove(),null),E&&cancelAnimationFrame(E)}),(e,n)=>t.imageInfo?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,ref_key:`overlayRootRef`,ref:f,class:`image-overlay`,style:(0,a.normalizeStyle)(ee.value),onMousedown:n[3]||=(0,a.withModifiers)(()=>{},[`stop`])},[n[4]||=(0,a.createElementVNode)(`div`,{class:`image-overlay__border`},null,-1),(0,a.createElementVNode)(`div`,{class:`image-overlay__body`,style:(0,a.normalizeStyle)({cursor:m.value?`grabbing`:`grab`}),onMousedown:n[0]||=(0,a.withModifiers)(e=>ge(e),[`prevent`,`stop`]),onContextmenu:n[1]||=(0,a.withModifiers)(t=>e.$emit(`context-menu`,t),[`prevent`,`stop`])},null,36),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(P.value,e=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:e.pos,class:`image-overlay__handle`,style:(0,a.normalizeStyle)(e.style),"data-handle":e.pos,onMousedown:(0,a.withModifiers)(t=>ce(t,e.pos),[`prevent`,`stop`])},null,44,ne))),128)),n[5]||=(0,a.createElementVNode)(`div`,{class:`image-overlay__rotate-line`},null,-1),(0,a.createElementVNode)(`div`,{class:`image-overlay__rotate-handle`,style:(0,a.normalizeStyle)({left:`${M.value/2-7}px`}),title:(0,a.unref)(i)(`imageOverlay.rotate`),onMousedown:n[2]||=(0,a.withModifiers)(e=>me(e),[`prevent`,`stop`])},null,44,F),p.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,re,(0,a.toDisplayString)(Math.round(g.value))+` × `+(0,a.toDisplayString)(Math.round(_.value)),1)):(0,a.createCommentVNode)(``,!0),h.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,ie,(0,a.toDisplayString)(Math.round(v.value))+`° `,1)):(0,a.createCommentVNode)(``,!0)],36)):(0,a.createCommentVNode)(``,!0)}}),ce=n.t(se,[[`__scopeId`,`data-v-a6f20ec2`]]),I={class:`doc-outline__header`},L={class:`doc-outline__body`},le={key:0,class:`doc-outline__empty`},ue=[`onMousedown`],de=(0,a.defineComponent)({__name:`DocumentOutline`,props:{isOpen:{type:Boolean},headings:{}},emits:[`close`,`navigate`],setup(t){return(n,r)=>t.isOpen?((0,a.openBlock)(),(0,a.createElementBlock)(`nav`,{key:0,class:`doc-outline`,role:`navigation`,"aria-label":`Document outline`,onMousedown:r[1]||=(0,a.withModifiers)(()=>{},[`stop`])},[(0,a.createElementVNode)(`div`,I,[(0,a.createElementVNode)(`button`,{class:`doc-outline__back`,title:`Close outline`,"aria-label":`Close outline`,onClick:r[0]||=e=>n.$emit(`close`)},[(0,a.createVNode)(e.p,{name:`arrow_back`,size:20})]),r[2]||=(0,a.createElementVNode)(`span`,{class:`doc-outline__title`},`Document Outline`,-1)]),(0,a.createElementVNode)(`div`,L,[t.headings.length===0?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,le,` No headings found `)):(0,a.createCommentVNode)(``,!0),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(t.headings,(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:t,class:`doc-outline__item`,style:(0,a.normalizeStyle)({paddingLeft:12+(e.level-1)*16+`px`}),onMousedown:(0,a.withModifiers)(t=>n.$emit(`navigate`,e.pmPos),[`prevent`])},(0,a.toDisplayString)(e.text||`(untitled)`),45,ue))),128))])],32)):(0,a.createCommentVNode)(``,!0)}}),fe=n.t(de,[[`__scopeId`,`data-v-cb2cdc39`]]),R=(0,a.defineComponent)({__name:`PageIndicator`,props:{currentPage:{},totalPages:{},visible:{type:Boolean}},setup(t){let{t:n}=e.d();return(e,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{class:`docx-editor-vue__page-indicator`,style:(0,a.normalizeStyle)({opacity:+!!t.visible}),"aria-live":`polite`,role:`status`},(0,a.toDisplayString)((0,a.unref)(n)(`viewer.pageIndicator`,{current:t.currentPage,total:t.totalPages})),5))}}),z=n.t(R,[[`__scopeId`,`data-v-d117bf6e`]]),pe={class:`hf-editor__toolbar`},B={class:`hf-editor__label`},V={class:`hf-editor__actions`},me=(0,a.defineComponent)({__name:`InlineHeaderFooterEditor`,props:{isOpen:{type:Boolean},position:{},headerFooter:{},styles:{},theme:{},targetRect:{}},emits:[`save`,`close`,`remove`],setup(e,{emit:t}){let n=e,r=t,i=(0,a.ref)(null),o=null,s=(0,a.ref)({});function c(){let e=n.targetRect;e&&(s.value={position:`absolute`,top:`${e.top}px`,left:`${e.left}px`,width:`${e.width}px`,minHeight:`${Math.max(e.height,60)}px`,zIndex:`100`})}(0,a.watch)(()=>n.isOpen,async e=>{e?(c(),await(0,a.nextTick)(),u()):d()}),(0,a.watch)(()=>n.targetRect,()=>{n.isOpen&&c()},{deep:!0});function u(){let e=i.value;if(!e||o)return;let t=p.singletonManager,r=(0,m.headerFooterToProseDoc)(n.headerFooter?.content??[],{styles:n.styles??void 0,theme:n.theme??null});o=new f.EditorView(e,{state:l.EditorState.create({doc:r,schema:t.getSchema(),plugins:t.getPlugins()??[]}),editable:()=>!0}),o.focus()}function d(){o&&=(o.destroy(),null)}function h(){o&&(r(`save`,(0,m.proseDocToBlocks)(o.state.doc)),r(`close`))}return(0,a.onBeforeUnmount)(()=>{d()}),(t,n)=>e.isOpen?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:`hf-editor`,style:(0,a.normalizeStyle)(s.value),onMousedown:n[2]||=(0,a.withModifiers)(()=>{},[`stop`]),onContextmenu:n[3]||=(0,a.withModifiers)(()=>{},[`stop`])},[(0,a.createElementVNode)(`div`,pe,[(0,a.createElementVNode)(`span`,B,(0,a.toDisplayString)(e.position===`header`?`Header`:`Footer`),1),(0,a.createElementVNode)(`div`,V,[(0,a.createElementVNode)(`button`,{class:`hf-editor__btn`,title:`Remove`,onMousedown:n[0]||=(0,a.withModifiers)(e=>t.$emit(`remove`),[`prevent`])},` Remove `,32),(0,a.createElementVNode)(`button`,{class:`hf-editor__btn hf-editor__btn--primary`,title:`Save`,onMousedown:(0,a.withModifiers)(h,[`prevent`])},` Save `,32),(0,a.createElementVNode)(`button`,{class:`hf-editor__btn`,title:`Cancel`,onMousedown:n[1]||=(0,a.withModifiers)(e=>t.$emit(`close`),[`prevent`])},` Cancel `,32)])]),(0,a.createElementVNode)(`div`,{ref_key:`editorRef`,ref:i,class:`hf-editor__content`},null,512)],36)):(0,a.createCommentVNode)(``,!0)}}),he=n.t(me,[[`__scopeId`,`data-v-343434c4`]]),H={key:0,class:`docx-editor-vue__title-bar`},U={class:`docx-editor-vue__title-bar-left`},ge={class:`docx-editor-vue__title-bar-center`},_e={class:`docx-editor-vue__title-bar-right`},ve=(0,a.defineComponent)({__name:`DocxEditorMenuBar`,props:{showMenuBar:{type:Boolean},documentName:{},documentNameEditable:{type:Boolean,default:!0},renderLogo:{},renderTitleBarRight:{}},emits:[`rename`,`menu-action`,`insert-table`],setup(e,{emit:n}){let r=n;return(n,i)=>e.showMenuBar?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,H,[(0,a.createElementVNode)(`div`,U,[e.renderLogo?((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(e.renderLogo),{key:0})):(0,a.createCommentVNode)(``,!0),(0,a.renderSlot)(n.$slots,`title-bar-left`)]),(0,a.createElementVNode)(`div`,ge,[(0,a.createVNode)(t.i,{"model-value":e.documentName,editable:e.documentNameEditable,"onUpdate:modelValue":i[0]||=e=>r(`rename`,e)},null,8,[`model-value`,`editable`]),(0,a.createVNode)(t.t,{onAction:i[1]||=e=>r(`menu-action`,e),onInsertTable:i[2]||=(e,t)=>r(`insert-table`,e,t)})]),(0,a.createElementVNode)(`div`,_e,[(0,a.renderSlot)(n.$slots,`title-bar-right`),e.renderTitleBarRight?((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(e.renderTitleBarRight),{key:0})):(0,a.createCommentVNode)(``,!0)])])):(0,a.createCommentVNode)(``,!0)}}),ye=(0,a.defineComponent)({__name:`DocxEditorDialogs`,props:{view:{},bookmarks:{},selectedImagePmPos:{},sectionProperties:{},showFindReplace:{type:Boolean},showInsertImage:{type:Boolean},showHyperlink:{type:Boolean},showInsertSymbol:{type:Boolean},showImageProperties:{type:Boolean},showPageSetup:{type:Boolean},showKeyboardShortcuts:{type:Boolean}},emits:[`update:showFindReplace`,`update:showInsertImage`,`update:showHyperlink`,`update:showInsertSymbol`,`update:showImageProperties`,`update:showPageSetup`,`update:showKeyboardShortcuts`,`insert-image`,`insert-symbol`,`hyperlink-submit`,`hyperlink-remove`,`page-setup-apply`],setup(t,{emit:n}){let r=n;return(n,i)=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,null,[(0,a.createVNode)(e.s,{"is-open":t.showFindReplace,view:t.view,onClose:i[0]||=e=>r(`update:showFindReplace`,!1)},null,8,[`is-open`,`view`]),(0,a.createVNode)(e.o,{"is-open":t.showInsertImage,onClose:i[1]||=e=>r(`update:showInsertImage`,!1),onInsert:i[2]||=e=>r(`insert-image`,e)},null,8,[`is-open`]),(0,a.createVNode)(e.a,{"is-open":t.showHyperlink,view:t.view,bookmarks:t.bookmarks,onClose:i[3]||=e=>r(`update:showHyperlink`,!1),onSubmit:i[4]||=e=>r(`hyperlink-submit`,e),onRemove:i[5]||=e=>r(`hyperlink-remove`)},null,8,[`is-open`,`view`,`bookmarks`]),(0,a.createVNode)(e.i,{"is-open":t.showInsertSymbol,onClose:i[6]||=e=>r(`update:showInsertSymbol`,!1),onInsert:i[7]||=e=>r(`insert-symbol`,e)},null,8,[`is-open`]),(0,a.createVNode)(e.r,{"is-open":t.showImageProperties,view:t.view,"pm-pos":t.selectedImagePmPos,onClose:i[8]||=e=>r(`update:showImageProperties`,!1)},null,8,[`is-open`,`view`,`pm-pos`]),(0,a.createVNode)(e.n,{"is-open":t.showPageSetup,"section-properties":t.sectionProperties,onClose:i[9]||=e=>r(`update:showPageSetup`,!1),onApply:i[10]||=e=>r(`page-setup-apply`,e)},null,8,[`is-open`,`section-properties`]),(0,a.createVNode)(e.t,{"is-open":t.showKeyboardShortcuts,onClose:i[11]||=e=>r(`update:showKeyboardShortcuts`,!1)},null,8,[`is-open`])],64))}}),W=[`disabled`,`onMousedown`],G={class:`ctx-menu__label`},be={key:0,class:`ctx-menu__shortcut`},K=220,xe=32,q=10,Se=(0,a.defineComponent)({__name:`TextContextMenu`,props:{isOpen:{type:Boolean},position:{},hasSelection:{type:Boolean},isEditable:{type:Boolean},inTable:{type:Boolean},onImage:{type:Boolean},canMergeCells:{type:Boolean},canSplitCell:{type:Boolean}},emits:[`close`,`action`],setup(e,{emit:t}){let n=e,r=t,i=(0,a.ref)(null),o=(0,a.computed)(()=>{let e=[{id:`cut`,label:`Cut`,action:`cut`,shortcut:`Ctrl+X`,disabled:!n.hasSelection||!n.isEditable},{id:`copy`,label:`Copy`,action:`copy`,shortcut:`Ctrl+C`,disabled:!n.hasSelection},{id:`paste`,label:`Paste`,action:`paste`,shortcut:`Ctrl+V`,disabled:!n.isEditable},{id:`pasteAsPlainText`,label:`Paste as Plain Text`,action:`pasteAsPlainText`,shortcut:`Ctrl+Shift+V`,disabled:!n.isEditable},{id:`div1`,label:``,action:``,divider:!0},{id:`delete`,label:`Delete`,action:`delete`,shortcut:`Del`,disabled:!n.hasSelection||!n.isEditable},{id:`selectAll`,label:`Select All`,action:`selectAll`,shortcut:`Ctrl+A`}];return n.onImage&&n.isEditable&&e.push({id:`div-img`,label:``,action:``,divider:!0},{id:`replaceImage`,label:`Replace image…`,action:`replaceImage`},{id:`imageProperties`,label:`Image properties…`,action:`imageProperties`},{id:`deleteImage`,label:`Delete image`,action:`deleteImage`,shortcut:`Del`}),n.inTable&&n.isEditable&&e.push({id:`div2`,label:``,action:``,divider:!0},{id:`addRowAbove`,label:`Insert row above`,action:`addRowAbove`},{id:`addRowBelow`,label:`Insert row below`,action:`addRowBelow`},{id:`deleteRow`,label:`Delete row`,action:`deleteRow`},{id:`div3`,label:``,action:``,divider:!0},{id:`addColLeft`,label:`Insert column left`,action:`addColumnLeft`},{id:`addColRight`,label:`Insert column right`,action:`addColumnRight`},{id:`deleteCol`,label:`Delete column`,action:`deleteColumn`},{id:`div4`,label:``,action:``,divider:!0},{id:`mergeCells`,label:`Merge cells`,action:`mergeCells`,disabled:!n.canMergeCells},{id:`splitCell`,label:`Split cell`,action:`splitCell`,disabled:!n.canSplitCell}),e}),s=(0,a.computed)(()=>{let e=n.position.x,t=n.position.y,r=o.value.filter(e=>!e.divider).length,i=o.value.filter(e=>e.divider).length,a=r*xe+i*9;return typeof window<`u`&&(e+K+q>window.innerWidth&&(e=window.innerWidth-K-q),t+a+q>window.innerHeight&&(t=window.innerHeight-a-q)),{position:`fixed`,left:`${e}px`,top:`${t}px`,zIndex:400}});function c(e){e&&(r(`action`,e),r(`close`))}function l(e){e.key===`Escape`&&r(`close`)}return(0,a.watch)(()=>n.isOpen,e=>{e&&(0,a.nextTick)(()=>i.value?.focus())}),(t,n)=>((0,a.openBlock)(),(0,a.createBlock)(a.Teleport,{to:`body`},[e.isOpen?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:`ctx-menu-backdrop`,onMousedown:n[0]||=e=>t.$emit(`close`),onContextmenu:n[1]||=(0,a.withModifiers)(e=>t.$emit(`close`),[`prevent`])},null,32)):(0,a.createCommentVNode)(``,!0),e.isOpen?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:1,ref_key:`menuRef`,ref:i,class:`ctx-menu`,style:(0,a.normalizeStyle)(s.value),onContextmenu:n[2]||=(0,a.withModifiers)(()=>{},[`prevent`]),onKeydown:l},[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(o.value,(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:e.id||t,class:(0,a.normalizeClass)([`ctx-menu__item`,{"ctx-menu__item--disabled":e.disabled,"ctx-menu__item--divider":e.divider}]),disabled:e.disabled,onMousedown:(0,a.withModifiers)(t=>c(e.action),[`prevent`])},[(0,a.createElementVNode)(`span`,G,(0,a.toDisplayString)(e.label),1),e.shortcut?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,be,(0,a.toDisplayString)(e.shortcut),1)):(0,a.createCommentVNode)(``,!0)],42,W))),128))],36)):(0,a.createCommentVNode)(``,!0)]))}}),Ce=n.t(Se,[[`__scopeId`,`data-v-741c4f71`]]),we=[`aria-label`],Te={class:`image-ctx-menu__icon`},Ee={class:`image-ctx-menu__label`},De={key:1,class:`image-ctx-menu__divider`,role:`separator`},Oe=[`data-wrap-type`,`data-current`,`data-disabled`,`disabled`,`title`,`onClick`],ke={class:`image-ctx-menu__icon`},Ae={class:`image-ctx-menu__label`},je=[`aria-label`],Me=[`disabled`,`onClick`],Ne={class:`image-ctx-menu__label`},Pe={key:0,class:`image-ctx-menu__shortcut`},Fe={key:0,class:`image-ctx-menu__divider`,role:`separator`},Ie=18,Le=260,J=10,Re=(0,a.defineComponent)({__name:`ImageContextMenu`,props:{state:{},textActions:{},canOpenProperties:{type:Boolean,default:!1}},emits:[`close`,`select`,`text-action`,`open-properties`],setup(t,{emit:n}){let r=t,i=n;function o(){i(`open-properties`),i(`close`)}let{t:s}=e.d(),c=(0,a.ref)(null),l=d.IMAGE_LAYOUT_OPTIONS,u=(0,a.computed)(()=>r.state?(0,d.deriveLayoutChoice)(r.state.currentWrapType,r.state.currentCssFloat??null):null),f={inline:`wrap_text`,squareLeft:`format_image_left`,squareRight:`format_image_right`,behind:`flip_to_back`,inFront:`flip_to_front`};function p(e){return f[e]}let m=(0,a.computed)(()=>{if(!r.state)return{};let e=d.IMAGE_LAYOUT_OPTIONS.length*36+16,t=r.state.position.x,n=r.state.position.y;return typeof window<`u`&&(t+Le>window.innerWidth&&(t=window.innerWidth-Le-J),n+e>window.innerHeight&&(n=window.innerHeight-e-J),t<J&&(t=J),n<J&&(n=J)),{position:`fixed`,left:`${t}px`,top:`${n}px`,minWidth:`${Le}px`,zIndex:400}});function h(e){return r.state?(0,d.isImageLayoutOptionEnabled)(e,r.state.currentWrapType):!1}function g(e){h(e)&&(i(`select`,e.choice),i(`close`))}function _(e){e.disabled||(i(`text-action`,e.action),i(`close`))}function v(e){e.preventDefault(),i(`close`)}function y(e){e.key===`Escape`&&(e.preventDefault(),i(`close`))}return(n,r)=>((0,a.openBlock)(),(0,a.createBlock)(a.Teleport,{to:`body`},[t.state&&t.state.open?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:`image-ctx-menu-backdrop`,onMousedown:v,onContextmenu:r[0]||=(0,a.withModifiers)(e=>n.$emit(`close`),[`prevent`])},null,32)):(0,a.createCommentVNode)(``,!0),t.state&&t.state.open?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:1,ref_key:`menuRef`,ref:c,class:`image-ctx-menu`,role:`menu`,"aria-label":(0,a.unref)(s)(`imageWrap.menu.ariaLabel`),"data-testid":`image-context-menu`,style:(0,a.normalizeStyle)(m.value),onContextmenu:r[4]||=(0,a.withModifiers)(()=>{},[`prevent`]),onKeydown:y},[t.canOpenProperties?((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:0,type:`button`,role:`menuitem`,class:`image-ctx-menu__item`,"data-action":`open-properties`,onMousedown:r[1]||=(0,a.withModifiers)(()=>{},[`prevent`]),onClick:o},[(0,a.createElementVNode)(`span`,Te,[(0,a.createVNode)(e.p,{name:`settings`,size:Ie})]),(0,a.createElementVNode)(`span`,Ee,(0,a.toDisplayString)((0,a.unref)(s)(`imageWrap.menu.imageProperties`)),1)],32)):(0,a.createCommentVNode)(``,!0),t.canOpenProperties?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,De)):(0,a.createCommentVNode)(``,!0),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)((0,a.unref)(l),t=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:t.choice,type:`button`,role:`menuitem`,class:(0,a.normalizeClass)([`image-ctx-menu__item`,{"image-ctx-menu__item--current":t.choice===u.value}]),"data-wrap-type":t.choice,"data-current":t.choice===u.value?`true`:`false`,"data-disabled":h(t)?`false`:`true`,disabled:!h(t),title:(0,a.unref)(s)(`imageWrap.menuDesc.${t.i18nDescKey}`),onMousedown:r[2]||=(0,a.withModifiers)(()=>{},[`prevent`]),onClick:e=>g(t)},[(0,a.createElementVNode)(`span`,ke,[(0,a.createVNode)(e.p,{name:p(t.iconHint),size:Ie},null,8,[`name`])]),(0,a.createElementVNode)(`span`,Ae,(0,a.toDisplayString)((0,a.unref)(s)(`imageWrap.menu.${t.i18nLabelKey}`)),1),t.choice===u.value?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,{key:0,class:`image-ctx-menu__current-dot`,"aria-label":(0,a.unref)(s)(`imageWrap.menu.ariaLabel`)},`●`,8,je)):(0,a.createCommentVNode)(``,!0)],42,Oe))),128)),t.textActions&&t.textActions.length>0?((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:2},[r[5]||=(0,a.createElementVNode)(`div`,{class:`image-ctx-menu__divider`,role:`separator`},null,-1),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(t.textActions,(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:`${e.action}-${t}`},[(0,a.createElementVNode)(`button`,{type:`button`,role:`menuitem`,class:`image-ctx-menu__item image-ctx-menu__item--text`,disabled:e.disabled,onMousedown:r[3]||=(0,a.withModifiers)(()=>{},[`prevent`]),onClick:t=>_(e)},[(0,a.createElementVNode)(`span`,Ne,(0,a.toDisplayString)(e.label),1),e.shortcut?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,Pe,(0,a.toDisplayString)(e.shortcut),1)):(0,a.createCommentVNode)(``,!0)],40,Me),e.dividerAfter?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,Fe)):(0,a.createCommentVNode)(``,!0)],64))),128))],64)):(0,a.createCommentVNode)(``,!0)],44,we)):(0,a.createCommentVNode)(``,!0)]))}}),ze=n.t(Re,[[`__scopeId`,`data-v-5c21ca8c`]]),Be=(0,a.defineComponent)({__name:`DocxEditorOverlays`,props:{readOnly:{type:Boolean},contextMenu:{},imageContextMenu:{},imageContextMenuTextActions:{},canOpenImageProperties:{type:Boolean}},emits:[`context-menu-action`,`close-context-menu`,`image-wrap-select`,`close-image-context-menu`,`open-image-properties`],setup(e,{emit:t}){let n=t;return(t,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,null,[(0,a.createVNode)(Ce,{"is-open":e.contextMenu.isOpen,position:e.contextMenu.position,"has-selection":e.contextMenu.hasSelection,"is-editable":!e.readOnly,"in-table":e.contextMenu.inTable,"on-image":e.contextMenu.onImage,"can-merge-cells":e.contextMenu.canMergeCells,"can-split-cell":e.contextMenu.canSplitCell,onAction:r[0]||=e=>n(`context-menu-action`,e),onClose:r[1]||=e=>n(`close-context-menu`)},null,8,[`is-open`,`position`,`has-selection`,`is-editable`,`in-table`,`on-image`,`can-merge-cells`,`can-split-cell`]),(0,a.createVNode)(ze,{state:e.imageContextMenu,"text-actions":e.imageContextMenuTextActions,"can-open-properties":e.canOpenImageProperties,onClose:r[2]||=e=>n(`close-image-context-menu`),onSelect:r[3]||=e=>n(`image-wrap-select`,e),onTextAction:r[4]||=e=>n(`context-menu-action`,e),onOpenProperties:r[5]||=e=>n(`open-image-properties`)},null,8,[`state`,`text-actions`,`can-open-properties`])],64))}}),Ve=[`href`,`title`],He=[`title`],Y=[`title`],Ue=[`title`],We={class:`docx-hyperlink-popup__edit-row`},Ge=[`placeholder`,`onKeydown`],Ke={class:`docx-hyperlink-popup__edit-row`},qe=[`onKeydown`],Je=[`disabled`],Ye=(0,a.defineComponent)({__name:`HyperlinkPopup`,props:{data:{},readOnly:{type:Boolean}},emits:[`navigate`,`copy`,`edit`,`remove`,`close`],setup(t,{emit:n}){let{t:r}=e.d(),i=t,o=n,s=(0,a.ref)(!1),c=(0,a.ref)(``),l=(0,a.ref)(``),u=(0,a.ref)(null),d=(0,a.computed)(()=>({left:(i.data?.position.left??0)+`px`,top:(i.data?.position.top??0)+`px`}));(0,a.watch)(()=>i.data?.href,()=>{s.value=!1});let f=null,p=null;function m(){p&&=(clearTimeout(p),null),f&&=(document.removeEventListener(`mousedown`,f),null)}(0,a.watch)(()=>i.data,e=>{m(),e&&(f=e=>{let t=u.value;t&&!t.contains(e.target)&&o(`close`)},p=setTimeout(()=>{f&&document.addEventListener(`mousedown`,f)},0))},{immediate:!0}),(0,a.onBeforeUnmount)(m);function h(){i.data&&(c.value=i.data.displayText,l.value=i.data.href,s.value=!0)}function g(){l.value.trim()&&(o(`edit`,c.value,l.value),s.value=!1)}function _(){i.data&&(o(`copy`,i.data.href),typeof navigator<`u`&&navigator.clipboard&&navigator.clipboard.writeText(i.data.href).catch(()=>{}))}return(e,n)=>t.data?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,ref_key:`popupRef`,ref:u,class:(0,a.normalizeClass)([`docx-hyperlink-popup`,{"docx-hyperlink-popup--edit":s.value}]),style:(0,a.normalizeStyle)(d.value),onMousedown:n[6]||=(0,a.withModifiers)(()=>{},[`stop`])},[s.value?((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:1},[(0,a.createElementVNode)(`div`,We,[(0,a.withDirectives)((0,a.createElementVNode)(`input`,{class:`docx-hyperlink-popup__input`,placeholder:(0,a.unref)(r)(`hyperlinkPopup.displayTextPlaceholder`),"onUpdate:modelValue":n[2]||=e=>c.value=e,onKeydown:[(0,a.withKeys)((0,a.withModifiers)(g,[`prevent`]),[`enter`]),n[3]||=(0,a.withKeys)(t=>e.$emit(`close`),[`esc`])]},null,40,Ge),[[a.vModelText,c.value]])]),(0,a.createElementVNode)(`div`,Ke,[(0,a.withDirectives)((0,a.createElementVNode)(`input`,{class:`docx-hyperlink-popup__input`,placeholder:`https://...`,"onUpdate:modelValue":n[4]||=e=>l.value=e,onKeydown:[(0,a.withKeys)((0,a.withModifiers)(g,[`prevent`]),[`enter`]),n[5]||=(0,a.withKeys)(t=>e.$emit(`close`),[`esc`])]},null,40,qe),[[a.vModelText,l.value]]),(0,a.createElementVNode)(`button`,{class:`docx-hyperlink-popup__apply`,disabled:!l.value.trim(),onClick:(0,a.withModifiers)(g,[`prevent`])},(0,a.toDisplayString)((0,a.unref)(r)(`common.apply`)),9,Je)])],64)):((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:0},[n[10]||=(0,a.createStaticVNode)(`<span class="docx-hyperlink-popup__icon" aria-hidden data-v-9d23bb12><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-9d23bb12><circle cx="12" cy="12" r="10" data-v-9d23bb12></circle><path d="M2 12h20" data-v-9d23bb12></path><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z" data-v-9d23bb12></path></svg></span>`,1),(0,a.createElementVNode)(`a`,{class:`docx-hyperlink-popup__url`,href:t.data.href,title:t.data.href,onClick:n[0]||=(0,a.withModifiers)(n=>e.$emit(`navigate`,t.data.href),[`prevent`])},(0,a.toDisplayString)(t.data.href),9,Ve),n[11]||=(0,a.createElementVNode)(`span`,{class:`docx-hyperlink-popup__sep`},null,-1),(0,a.createElementVNode)(`button`,{class:`docx-hyperlink-popup__btn`,title:(0,a.unref)(r)(`hyperlinkPopup.copyLink`),onClick:(0,a.withModifiers)(_,[`prevent`])},[...n[7]||=[(0,a.createElementVNode)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[(0,a.createElementVNode)(`rect`,{x:`9`,y:`9`,width:`13`,height:`13`,rx:`2`,ry:`2`}),(0,a.createElementVNode)(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})],-1)]],8,He),t.readOnly?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:0,class:`docx-hyperlink-popup__btn`,title:(0,a.unref)(r)(`hyperlinkPopup.editLink`),onClick:(0,a.withModifiers)(h,[`prevent`])},[...n[8]||=[(0,a.createElementVNode)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[(0,a.createElementVNode)(`path`,{d:`M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`}),(0,a.createElementVNode)(`path`,{d:`M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z`})],-1)]],8,Y)),t.readOnly?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:1,class:`docx-hyperlink-popup__btn`,title:(0,a.unref)(r)(`hyperlinkPopup.removeLink`),onClick:n[1]||=(0,a.withModifiers)(t=>e.$emit(`remove`),[`prevent`])},[...n[9]||=[(0,a.createStaticVNode)(`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-9d23bb12><path d="M18.84 12.25l1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71" data-v-9d23bb12></path><path d="M5.17 11.75l-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71" data-v-9d23bb12></path><line x1="8" y1="2" x2="8" y2="5" data-v-9d23bb12></line><line x1="2" y1="8" x2="5" y2="8" data-v-9d23bb12></line><line x1="16" y1="19" x2="16" y2="22" data-v-9d23bb12></line><line x1="19" y1="16" x2="22" y2="16" data-v-9d23bb12></line></svg>`,1)]],8,Ue))],64))],38)):(0,a.createCommentVNode)(``,!0)}}),Xe=n.t(Ye,[[`__scopeId`,`data-v-9d23bb12`]]);function Ze(e){let t=(0,a.ref)(null);async function n(){await e.nextTick(),e.extractCommentsAndChanges(),e.emit(`ready`)}async function r(t){try{let r=await(0,s.readDocxFileFromInput)(t);if(!r)return;await e.loadBuffer(r.buffer),e.emit(`update:document`,e.getDocument()),e.emit(`rename`,r.name),await n()}catch(t){e.emit(`error`,t instanceof Error?t:Error(`Failed to open document`))}}function i(t){e.onDocumentNameChange?.(t),e.emit(`rename`,t)}async function o(){let t=await e.saveBlob();if(!t)return;let n=(e.documentName()??``).trim()||`document`,r=URL.createObjectURL(t),i=window.document.createElement(`a`);i.href=r,i.download=`${n.replace(/\.docx$/i,``)}.docx`,i.click(),setTimeout(()=>URL.revokeObjectURL(r),0)}async function c(t){await e.loadBuffer(t),e.emit(`update:document`,e.getDocument()),await n()}function l(t){e.loadParsedDocument(t),e.emit(`update:document`,t),n()}async function u(){let t=await e.saveBlob();return t?t.arrayBuffer():null}return{docxInputRef:t,handleDocxFileChange:r,handleDocumentNameChange:i,downloadCurrentDocument:o,emitReadyAfterSidebarStateRefresh:n,loadDocumentBuffer:c,loadDocument:l,save:u}}function Qe(e){let t=(0,a.ref)(null);function n(t){let n=e.editorView.value;if(!n)return;let r=e.getCommands(),{empty:i}=n.state.selection,a=t.bookmark?`#${t.bookmark}`:t.url;if(a){if(i&&t.displayText){let e=r.insertHyperlink;e&&e(t.displayText,a,t.tooltip||void 0)(n.state,e=>n.dispatch(e),n)}else{let e=r.setHyperlink;e&&e(a,t.tooltip||void 0)(n.state,e=>n.dispatch(e),n)}n.focus()}}function r(){let t=e.editorView.value;if(!t)return;let n=e.getCommands().removeHyperlink;n&&n()(t.state,e=>t.dispatch(e),t),t.focus()}function i(e){window.open(e,`_blank`,`noopener,noreferrer`),t.value=null}function s(n,r){let i=e.editorView.value;if(!i)return;let a=(0,o.findHyperlinkRangeAt)(i.state);if(!a){t.value=null;return}let s=i.state.schema.marks.hyperlink,{$from:c}=i.state.selection,l=s.create({href:r,tooltip:a.mark.attrs.tooltip}),u=c.marks().filter(e=>e.type!==s),d=i.state.schema.text(n,[...u,l]),f=i.state.tr.replaceWith(a.start,a.end,d);i.dispatch(f.scrollIntoView()),t.value=null,i.focus()}function c(){let n=e.editorView.value;if(!n)return;let r=(0,o.findHyperlinkRangeAt)(n.state,t.value?.href);if(!r){t.value=null;return}let i=n.state.schema.marks.hyperlink,a=n.state.tr.removeMark(r.start,r.end,i);n.dispatch(a.scrollIntoView()),t.value=null,n.focus()}return{hyperlinkPopupData:t,handleHyperlinkSubmit:n,handleHyperlinkRemove:r,handleHyperlinkPopupNavigate:i,handleHyperlinkPopupEdit:s,handleHyperlinkPopupRemove:c}}function $e(e){function t(){let t=e.editorView.value;t&&((0,o.clearFormatting)(t.state,t.dispatch,t),t.focus())}function n(t){let n=e.editorView.value;if(!n)return;let r=e.getDocument()?.package?.styles;if(r){let e=(0,y.createStyleResolver)(r).resolveParagraphStyle(t);(0,v.applyStyle)(t,{paragraphFormatting:e.paragraphFormatting,runFormatting:e.runFormatting})(n.state,e=>n.dispatch(e))}else (0,v.applyStyle)(t)(n.state,e=>n.dispatch(e));n.focus()}function r(){let t=e.editorView.value;t&&((0,b.insertPageBreak)(t.state,e=>t.dispatch(e),t),t.focus())}function i(t){let n=e.editorView.value;if(!n)return;let{from:r}=n.state.selection,i=n.state.tr.insertText(t,r);n.dispatch(i.scrollIntoView()),n.focus()}function a(t){let n=e.editorView.value;if(!n)return!1;let r=k(n.state.doc,t.paraId);if(!r)return!1;let i=r.from+1,a=r.to-1;if(t.search){let e=M(n.state.doc,r.from,r.to,t.search);if(!e)return!1;i=e.from,a=e.to}if(i>=a)return!0;let{schema:o}=n.state,s=t.marks,c=n.state.tr;if(s.bold!==void 0&&o.marks.bold&&(c=s.bold?c.addMark(i,a,o.marks.bold.create()):c.removeMark(i,a,o.marks.bold)),s.italic!==void 0&&o.marks.italic&&(c=s.italic?c.addMark(i,a,o.marks.italic.create()):c.removeMark(i,a,o.marks.italic)),s.underline!==void 0&&o.marks.underline)if(s.underline){let e=typeof s.underline==`object`?s.underline.style:void 0;c=c.addMark(i,a,o.marks.underline.create({style:e??`single`}))}else c=c.removeMark(i,a,o.marks.underline);return s.strike!==void 0&&o.marks.strike&&(c=s.strike?c.addMark(i,a,o.marks.strike.create()):c.removeMark(i,a,o.marks.strike)),s.color!==void 0&&o.marks.textColor&&(c=s.color&&(s.color.rgb||s.color.themeColor)?c.addMark(i,a,o.marks.textColor.create({rgb:s.color.rgb??null,themeColor:s.color.themeColor??null})):c.removeMark(i,a,o.marks.textColor)),s.highlight!==void 0&&o.marks.highlight&&(c=s.highlight?c.addMark(i,a,o.marks.highlight.create({color:(0,x.mapHexToHighlightName)(s.highlight)||s.highlight})):c.removeMark(i,a,o.marks.highlight)),s.fontSize!==void 0&&o.marks.fontSize&&(c=s.fontSize>0?c.addMark(i,a,o.marks.fontSize.create({size:(0,h.pointsToHalfPoints)(s.fontSize)})):c.removeMark(i,a,o.marks.fontSize)),s.fontFamily!==void 0&&o.marks.fontFamily&&(c=s.fontFamily&&(s.fontFamily.ascii||s.fontFamily.hAnsi)?c.addMark(i,a,o.marks.fontFamily.create({ascii:s.fontFamily.ascii??null,hAnsi:s.fontFamily.hAnsi??s.fontFamily.ascii??null})):c.removeMark(i,a,o.marks.fontFamily)),n.dispatch(c),!0}function s(t){let n=e.editorView.value;if(!n)return!1;let r=k(n.state.doc,t.paraId);if(!r)return!1;let i=e.getDocument(),a=i?.package?.styles?(0,y.createStyleResolver)(i.package.styles):null;if(a&&!a.hasParagraphStyle(t.styleId))return!1;let o=n.state.doc.resolve(r.from+1),s=n.state.doc.resolve(r.to-1),c=n.state.apply(n.state.tr.setSelection(l.TextSelection.between(o,s))),u=a?(()=>{let e=a.resolveParagraphStyle(t.styleId);return(0,v.applyStyle)(t.styleId,{paragraphFormatting:e.paragraphFormatting,runFormatting:e.runFormatting})})():(0,v.applyStyle)(t.styleId),d=!1;return u(c,e=>{d=!0,e.setSelection(n.state.selection.map(e.doc,e.mapping)),n.dispatch(e)}),d}return{handleClearFormatting:t,handleApplyStyle:n,handleInsertPageBreak:r,handleInsertSymbol:i,applyFormatting:a,setParagraphStyle:s}}function et(e){function t(t){let n=e.getDocument();if(!n?.package?.document)return;let r=n.package.document.finalSectionProperties??{};n.package.document.finalSectionProperties={...r,...t},e.stateTick.value++,e.reLayout(),e.emit(`change`,n)}function n(n,r){e.readOnly.value||t({[n]:r})}function r(e){n(`marginLeft`,e)}function i(e){n(`marginRight`,e)}function a(e){n(`marginTop`,e)}function o(e){n(`marginBottom`,e)}function s(t){let n=e.editorView.value;n&&(0,v.setIndentLeft)(t)(n.state,n.dispatch)}function c(t){let n=e.editorView.value;n&&(0,v.setIndentRight)(t)(n.state,n.dispatch)}function l(t){let n=e.editorView.value;n&&(t<0?(0,v.setIndentFirstLine)(-t,!0)(n.state,n.dispatch):(0,v.setIndentFirstLine)(t,!1)(n.state,n.dispatch))}function u(t){let n=e.editorView.value;n&&(0,v.removeTabStop)(t)(n.state,n.dispatch)}return{handlePageSetupApply:t,handleLeftMarginChange:r,handleRightMarginChange:i,handleTopMarginChange:a,handleBottomMarginChange:o,handleIndentLeftChange:s,handleIndentRightChange:c,handleFirstLineIndentChange:l,handleTabStopRemove:u}}function tt(e){function t(){if(!e.showOutline.value){let t=e.editorView.value;t&&(e.outlineHeadings.value=(0,S.collectHeadings)(t.state.doc))}e.showOutline.value=!e.showOutline.value}function n(t){let n=e.editorView.value;if(!n)return;let r=n.state.doc.resolve(Math.min(t+1,n.state.doc.content.size)),i=l.TextSelection.near(r);n.dispatch(n.state.tr.setSelection(i).scrollIntoView()),n.focus()}function r(){e.showSidebar.value||e.extractCommentsAndChanges(),e.showSidebar.value=!e.showSidebar.value}function i(t){let n=t.target;n&&(n.closest(`.paged-editor__pages`)||n.closest(`.unified-sidebar`)||n.closest(`.docx-comment-margin-markers`)||(e.activeSidebarItem.value=null))}return{handleToggleOutline:t,handleOutlineNavigate:n,handleToggleSidebar:r,handleEditorScrollMouseDown:i}}function nt(e){function t(t){if(t.key===`F1`){t.preventDefault(),e.showKeyboardShortcuts.value=!0;return}e.handleZoomKeyDown(t),(t.ctrlKey||t.metaKey)&&(e.disableFindReplaceShortcuts?.()&&(t.key===`f`||t.key===`h`)||(t.key===`f`||t.key===`h`?(t.preventDefault(),e.showFindReplace.value=!0):t.key===`k`?(t.preventDefault(),e.showHyperlink.value=!0):t.key===`/`&&(t.preventDefault(),e.showKeyboardShortcuts.value=!e.showKeyboardShortcuts.value)))}return(0,a.onMounted)(()=>window.addEventListener(`keydown`,t)),(0,a.onBeforeUnmount)(()=>window.removeEventListener(`keydown`,t)),{handleKeyDown:t}}function rt(e,t,n,r){return{id:e.reduce((e,t)=>Math.max(e,t.id),0)+1,author:n,date:new Date().toISOString(),content:[{type:`paragraph`,properties:{},content:[{type:`run`,properties:{},content:[{type:`text`,text:t}]}]}],...r==null?{}:{parentId:r}}}function it(e){function t(t,n,r){return rt(e.getDocument()?.package?.document?.comments??[],t,n,r)}function n(n){let r=e.getDocument(),i=e.editorView.value;if(!r?.package?.document||!i)return null;r.package.document.comments||(r.package.document.comments=[]);let a=i.state.schema.marks.comment;if(!a)return null;let o=k(i.state.doc,n.paraId);if(!o)return null;let s=o.from+1,c=o.to-1;if(n.search){let e=M(i.state.doc,o.from,o.to,n.search);if(!e)return null;s=e.from,c=e.to}if(s>=c)return null;let l=t(n.text,n.author);return r.package.document.comments.push(l),e.comments.value=[...r.package.document.comments],i.dispatch(i.state.tr.addMark(s,c,a.create({commentId:l.id}))),e.showSidebar.value=!0,e.emit(`change`,r),e.contentChangeSubscribers.forEach(e=>e(r)),l.id}function r(n,r,i){let a=e.getDocument();if(!a?.package?.document?.comments||!a.package.document.comments.some(e=>e.id===n))return null;let o=t(r,i,n);return a.package.document.comments.push(o),e.comments.value=[...a.package.document.comments],e.emit(`change`,a),e.contentChangeSubscribers.forEach(e=>e(a)),o.id}function i(t){let n=e.getDocument();if(!n?.package?.document?.comments)return;let r=n.package.document.comments.find(e=>e.id===t);r&&(r.done=!0,e.comments.value=[...n.package.document.comments],e.emit(`change`,n),e.contentChangeSubscribers.forEach(e=>e(n)))}function a(t){let n=e.editorView.value;if(!n)return!1;let{schema:r}=n.state;if(!r.marks.deletion||!r.marks.insertion)return!1;let i=k(n.state.doc,t.paraId);if(!i)return!1;let a=t.search===``,o=t.replaceWith===``;if(a&&o)return!1;let s,c;if(a)s=i.to-1,c=i.to-1;else{let e=M(n.state.doc,i.from,i.to,t.search);if(!e)return!1;s=e.from,c=e.to}let l=!1;if(s<c&&n.state.doc.nodesBetween(s,c,e=>{for(let t of e.marks)if(t.type===r.marks.insertion||t.type===r.marks.deletion)return l=!0,!1;return!0}),l)return!1;let u=Math.max(0,...e.trackedChanges.value.map(e=>e.revisionId))+1,d=new Date().toISOString(),f=r.marks.deletion.create({revisionId:u,author:t.author,date:d}),p=r.marks.insertion.create({revisionId:u,author:t.author,date:d}),m=n.state.tr;return a||(m=m.addMark(s,c,f)),o||(m=m.insert(c,r.text(t.replaceWith,[p]))),n.dispatch(m),e.extractCommentsAndChanges(),e.showSidebar.value=!0,!0}function o(e,t){r(e,t,`User`)}function s(t){let n=e.getDocument();if(!n?.package?.document?.comments)return;let r=n.package.document.comments.find(e=>e.id===t);r&&(r.done=!1),e.comments.value=[...n.package.document.comments],e.emit(`change`,n)}function c(t){let n=e.getDocument();n?.package?.document?.comments&&(n.package.document.comments=n.package.document.comments.filter(e=>e.id!==t&&e.parentId!==t),e.comments.value=[...n.package.document.comments],e.emit(`change`,n))}function l(t,n){let r=e.editorView.value;r&&((0,C.acceptChange)(t,n)(r.state,r.dispatch),e.extractCommentsAndChanges(),r.focus())}function u(t,n){let r=e.editorView.value;r&&((0,C.rejectChange)(t,n)(r.state,r.dispatch),e.extractCommentsAndChanges(),r.focus())}function d(n,r){let i=e.getDocument(),a=e.editorView.value;if(!i?.package?.document||!a)return;i.package.document.comments||(i.package.document.comments=[]);let o=a.state.schema.marks.comment;if(!o)return;let s=null,c=a.state.schema.marks.insertion,l=a.state.schema.marks.deletion;if(a.state.doc.descendants((e,t)=>{if(s!==null)return!1;for(let r of e.marks)if((r.type===c||r.type===l)&&r.attrs.revisionId===n)return s=t,!1;return!0}),s===null)return;let u=t(r,`User`);i.package.document.comments.push(u),e.comments.value=[...i.package.document.comments];let d=s,f=Math.min(d+1,a.state.doc.content.size);a.dispatch(a.state.tr.addMark(d,f,o.create({commentId:u.id}))),e.emit(`change`,i)}return{addComment:n,replyToComment:r,resolveComment:i,proposeChange:a,handleCommentReply:o,handleCommentUnresolve:s,handleCommentDelete:c,handleAcceptChange:l,handleRejectChange:u,handleTrackedChangeReply:d}}function at(e,t){let n=(0,g.findBodyPmSpans)(e);for(let e of n){let n=Number(e.dataset.pmStart),r=Number(e.dataset.pmEnd);if(!isNaN(n)&&!isNaN(r)&&t>=n&&t<=r)return e}return null}function ot(e,t,n){if(!e||!t)return;let r=null;for(let t of(0,g.findBodyPmSpans)(e)){let e=Number(t.dataset.pmStart),i=Number(t.dataset.pmEnd);if(Number.isFinite(e)&&Number.isFinite(i)&&n>=e&&n<=i){r=t;break}}if(r||=e.querySelector(`[data-pm-start="${n}"]`),!r)return;let i=t.getBoundingClientRect(),a=r.getBoundingClientRect();t.scrollTo({top:a.top-i.top+t.scrollTop-48,behavior:`smooth`})}function st(e,t,n,r){if(!e||!t)return null;let i=(0,g.clickToPositionDom)(e,n,r,1);return i===null||i<0?null:Math.min(i,t.state.doc.content.size)}function ct(e,t,n){if(!e)return;let r=at(e,t);if(!r)return;let i=r.textContent||``,a=Number(r.dataset.pmStart)||0,[o,c]=(0,s.findWordBoundaries)(i,t-a),l=a+o,u=a+c;l<u&&n(l,u)}function lt(e,t,n){if(!e)return;let r=at(e,t);if(!r)return;let i=r.closest(`.layout-paragraph`);if(!i)return;let a=Number(i.dataset.pmStart),o=Number(i.dataset.pmEnd);!isNaN(a)&&!isNaN(o)&&a<o&&n(a,o)}function ut(e){let t=(0,a.ref)(null),n=(0,a.ref)(null),r=(0,a.ref)(null),i=(0,a.ref)(!1);function o(){let t=e.getDocument(),n=e.editorView.value;!t||!n||(e.comments.value=[...t.package?.document?.comments??[]],e.trackedChanges.value=(0,w.extractTrackedChanges)(n.state).entries,!i.value&&(e.comments.value.length>0||e.trackedChanges.value.length>0)&&(e.showSidebar.value=!0,i.value=!0))}function s(){e.stateTick.value;let n=e.editorView.value;if(!n||e.isAddingComment.value||e.readOnly.value){t.value=null;return}let{from:r,to:i}=n.state.selection;if(r===i){t.value=null;return}let a=e.pagesRef.value,o=e.pagesViewportRef.value;if(!a||!o){t.value=null;return}let s=o.getBoundingClientRect(),c=at(a,r);if(!c){t.value=null;return}let l=c.getBoundingClientRect().top-s.top+o.scrollTop,u=a.querySelector(`.layout-page`);if(!u){t.value=null;return}t.value={top:l,left:u.getBoundingClientRect().right-s.left+8}}function c(){e.stateTick.value;let t=e.editorView.value;if(!t)return;let n=t.state.selection.$from,r=[...t.state.storedMarks??[],...n.nodeAfter?.marks??[],...n.nodeBefore?.marks??[],...n.marks()],i=null;for(let t of r){if(t.type.name===`comment`&&t.attrs.commentId!=null){let n=t.attrs.commentId;if(n===-1||e.resolvedCommentIds.value.has(n))continue;i=`comment-${n}`;break}if((t.type.name===`insertion`||t.type.name===`deletion`)&&t.attrs.revisionId!=null){let n=String(t.attrs.revisionId),r=e.trackedChanges.value.findIndex(e=>String(e.revisionId)===n||String(e.insertionRevisionId??``)===n);if(r>=0){i=`tc-${e.trackedChanges.value[r].revisionId}-${r}`;break}}}i&&(e.showSidebar.value=!0),e.activeSidebarItem.value=i}function l(){let i=e.editorView.value;if(!i)return;let{from:a,to:o}=i.state.selection;if(a===o)return;n.value={from:a,to:o},r.value=t.value?.top??null;let s=i.state.schema.marks.comment;if(s){let e=i.state.tr.addMark(a,o,s.create({commentId:-1}));i.dispatch(e)}e.showSidebar.value=!0,e.isAddingComment.value=!0,t.value=null}function u(t){let i=e.getDocument(),a=e.editorView.value;if(!i?.package)return;i.package.document.comments||(i.package.document.comments=[]);let o=rt(i.package.document.comments,t,`User`);i.package.document.comments.push(o),e.comments.value=[...i.package.document.comments];let s=n.value;if(a&&s&&s.from!==s.to){let e=a.state.schema.marks.comment;if(e){let t=a.state.tr.removeMark(s.from,s.to,e);t=t.addMark(s.from,s.to,e.create({commentId:o.id})),a.dispatch(t)}}n.value=null,r.value=null,e.isAddingComment.value=!1,e.emit(`change`,i)}function d(){let t=e.editorView.value,i=n.value;if(t&&i&&i.from!==i.to){let e=t.state.schema.marks.comment;e&&t.dispatch(t.state.tr.removeMark(i.from,i.to,e))}n.value=null,r.value=null,e.isAddingComment.value=!1}function f(t){e.showSidebar.value=!0}(0,a.watch)([e.stateTick,e.isAddingComment,e.zoom],()=>s()),(0,a.watch)(e.stateTick,()=>c());let p=null;return(0,a.onMounted)(()=>{p=new ResizeObserver(()=>s()),e.pagesRef.value&&p.observe(e.pagesRef.value),window.addEventListener(`resize`,s)}),(0,a.onBeforeUnmount)(()=>{p?.disconnect(),window.removeEventListener(`resize`,s)}),{floatingCommentBtn:t,pendingCommentRange:n,addCommentYPosition:r,sidebarAutoOpenedRef:i,extractCommentsAndChanges:o,handleAddComment:u,handleCancelAddComment:d,handleStartAddComment:l,handleMarkerClick:f,recomputeFloatingCommentBtn:s,recomputeActiveSidebarItem:c}}function dt(e){let t=(0,a.shallowRef)(null),n=(0,a.ref)(!1),r=(0,a.computed)(()=>{e.stateTick.value;let n=e.editorView.value,r=t.value;if(!n||!r)return null;let i=n.state.doc.nodeAt(r.pmPos);return!i||i.type.name!==`image`?null:{wrapType:i.attrs.wrapType??`inline`,displayMode:i.attrs.displayMode??`inline`,cssFloat:i.attrs.cssFloat??null}});function i(t){let n=e.editorView.value;if(!n)return;let r=n.state.schema.nodes.image;if(!r)return;let i=r.create({src:t.src,alt:t.alt,width:t.width,height:t.height}),{from:a}=n.state.selection,o=n.state.tr.insert(a,i);n.dispatch(o.scrollIntoView()),n.focus()}function o(n){let r=e.editorView.value,i=t.value;if(!r||!i)return;let a=(0,d.toolbarValueToLayoutTarget)(n);if(!a)return;let o=r.state.doc.nodeAt(i.pmPos),s=e.getCommands(),c=o?.attrs.wrapType===`inline`&&a!==`inline`?{initialPositionEmu:(0,d.captureInlinePositionEmu)(i.element,e.zoom.value)}:void 0,l=s.setImageWrapType?.(i.pmPos,a,c);l&&(l(r.state,e=>r.dispatch(e),r),r.focus())}function s(n){let r=e.editorView.value,i=t.value;if(!r||!i)return;let a=r.state.doc.nodeAt(i.pmPos);if(!a||a.type.name!==`image`)return;let o=a.attrs.transform||``,s=o.match(/rotate\((-?\d+(?:\.\d+)?)deg\)/),c=s?parseFloat(s[1]):0,l=/scaleX\(-1\)/.test(o),u=/scaleY\(-1\)/.test(o);n===`rotateCW`?c=(c+90)%360:n===`rotateCCW`?c=(c-90+360)%360:n===`flipH`?l=!l:n===`flipV`&&(u=!u);let d=[];c!==0&&d.push(`rotate(${c}deg)`),l&&d.push(`scaleX(-1)`),u&&d.push(`scaleY(-1)`);let f=d.length>0?d.join(` `):null,p=r.state.tr.setNodeMarkup(i.pmPos,void 0,{...a.attrs,transform:f});r.dispatch(p.scrollIntoView()),r.focus()}return{selectedImage:t,imageInteracting:n,imageToolbarContext:r,handleInsertImage:i,handleToolbarImageWrap:o,handleImageTransform:s}}function ft(e,t){return e.getBlob(t)}function pt(e,t){let n=e.state.doc.nodeAt(t);if(!n||n.type.name!==`image`)return;let r=`<img src="${n.attrs.src}" data-pm-image="true" data-width="${n.attrs.width??``}" data-height="${n.attrs.height??``}" data-wrap-type="${n.attrs.wrapType??``}" data-display-mode="${n.attrs.displayMode??``}" data-rid="${n.attrs.rId??``}" />`,i=new ClipboardItem({"text/html":new Blob([r],{type:`text/html`}),"text/plain":new Blob([`[image]`],{type:`text/plain`})});navigator.clipboard.write([i]).catch(()=>{let e=document.createElement(`textarea`);e.value=r,document.body.appendChild(e),e.select(),document.execCommand(`copy`),document.body.removeChild(e)})}function mt(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=n,r.readAsDataURL(e)})}function ht(e){return new Promise(t=>{let n=new Image;n.onload=()=>t({width:n.naturalWidth,height:n.naturalHeight}),n.onerror=()=>t({width:200,height:200}),n.src=e})}async function gt(e){try{let t=await navigator.clipboard.read();for(let n of t){let t=n.types.find(e=>e.startsWith(`image/`));if(t){let r=await mt(await ft(n,t)),i=await ht(r),a=i.width,o=i.height;a>612&&(o=Math.round(612/a*o),a=612);let s=e.state.schema.nodes.image.create({src:r,width:a,height:o,rId:`rId_img_${Date.now()}`,wrapType:`inline`,displayMode:`inline`});e.dispatch(e.state.tr.replaceSelectionWith(s));return}if(n.types.includes(`text/html`)){let t=await(await ft(n,`text/html`)).text(),r=t.match(/<img[^>]+src="([^"]+)"[^>]*>/i);if(r&&r[1]){let n=r[1],i=t.match(/data-width="(\d+)"/),a=t.match(/data-height="(\d+)"/),o=i?Number(i[1]):200,s=a?Number(a[1]):200,c=e.state.schema.nodes.image.create({src:n,width:o||200,height:s||200,rId:`rId_img_${Date.now()}`,wrapType:`inline`,displayMode:`inline`});e.dispatch(e.state.tr.replaceSelectionWith(c));return}}if(n.types.includes(`text/plain`)){let t=await(await ft(n,`text/plain`)).text();if(t&&t!==`[image]`){let{from:n}=e.state.selection;e.dispatch(e.state.tr.insertText(t,n))}return}}}catch{let t=await navigator.clipboard?.readText();if(t){let{from:n}=e.state.selection;e.dispatch(e.state.tr.insertText(t,n))}}}function _t(e,t){let n=e.state.doc.nodeAt(t);if(!n||n.type.name!==`image`)return;let r=document.createElement(`input`);r.type=`file`,r.accept=`image/*`,r.onchange=async()=>{let i=r.files?.[0];if(!i)return;let a=await mt(i),o=await ht(a),s=n.attrs.width||o.width,c=n.attrs.height||o.height,l=Math.min(s/o.width,c/o.height),u=Math.round(o.width*l),d=Math.round(o.height*l);try{let r=e.state.tr.setNodeMarkup(t,void 0,{...n.attrs,src:a,width:u,height:d,rId:`rId_img_${Date.now()}`});e.dispatch(r)}catch{}},r.click()}function vt(t){let{t:n}=e.d(),r=(0,a.ref)({isOpen:!1,position:{x:0,y:0},hasSelection:!1,inTable:!1,onImage:!1,canMergeCells:!1,canSplitCell:!1}),i=(0,a.ref)(null),o=(0,a.computed)(()=>[{action:`cut`,label:n(`contextMenu.cut`),shortcut:n(`contextMenu.cutShortcut`)},{action:`copy`,label:n(`contextMenu.copy`),shortcut:n(`contextMenu.copyShortcut`)},{action:`paste`,label:n(`contextMenu.paste`),shortcut:n(`contextMenu.pasteShortcut`),dividerAfter:!0},{action:`delete`,label:n(`contextMenu.delete`),shortcut:n(`contextMenu.deleteShortcut`)}]);function s(e){let n=t.editorView.value;if(!n)return;let a=e.target,o=(0,d.findImageElement)(a);if(o){let a=Number(o.dataset.pmStart);if(!isNaN(a)){try{let e=l.NodeSelection.create(n.state.doc,a);n.dispatch(n.state.tr.setSelection(e))}catch{}t.selectedImage.value={element:o,pmPos:a,width:o.offsetWidth,height:o.offsetHeight},t.clearOverlay();let s=n.state.doc.nodeAt(a);if(s&&s.type.name===`image`){let n=s.attrs.wrapType??`inline`,c=s.attrs.cssFloat;i.value={open:!0,position:{x:e.clientX,y:e.clientY},pmPos:a,currentWrapType:n,currentCssFloat:c??null,inlinePositionEmu:n===`inline`?(0,d.captureInlinePositionEmu)(o,t.zoom.value):void 0},r.value.isOpen=!1;return}}}{let{from:r,to:i}=n.state.selection,a=t.resolvePos(e.clientX,e.clientY);if(a!==null&&(a<r||a>i))try{t.setPmSelection(a)}catch{}}let s=(0,c.getTableContext)(n.state),{empty:u}=n.state.selection;i.value&&=null,r.value={isOpen:!0,position:{x:e.clientX,y:e.clientY},hasSelection:!u,inTable:s.isInTable,onImage:!!o,canMergeCells:!!s.hasMultiCellSelection,canSplitCell:!!s.canSplitCell}}function u(e){let n=t.editorView.value,a=t.selectedImage.value;if(!n||!a)return;let o=n.state.doc.nodeAt(a.pmPos);if(!o||o.type.name!==`image`)return;let s=o.attrs.wrapType??`inline`,c=o.attrs.cssFloat;i.value={open:!0,position:{x:e.clientX,y:e.clientY},pmPos:a.pmPos,currentWrapType:s,currentCssFloat:c??null,inlinePositionEmu:s===`inline`?(0,d.captureInlinePositionEmu)(a.element,t.zoom.value):void 0},r.value.isOpen=!1}function f(e){let n=t.editorView.value,r=i.value;if(!n||!r)return;let a=t.getCommands(),o=r.inlinePositionEmu&&e!==`inline`?{initialPositionEmu:r.inlinePositionEmu}:void 0,s=a.setImageWrapType?.(r.pmPos,e,o);s&&(s(n.state,e=>n.dispatch(e),n),n.focus())}function p(e){let n=t.editorView.value;if(!n)return;let r=t.getCommands();switch(e){case`cut`:if(t.selectedImage.value){pt(n,t.selectedImage.value.pmPos);let e=t.selectedImage.value.pmPos,r=n.state.doc.nodeAt(e);r&&(n.dispatch(n.state.tr.delete(e,e+r.nodeSize)),t.selectedImage.value=null)}else document.execCommand(`cut`);break;case`copy`:t.selectedImage.value?pt(n,t.selectedImage.value.pmPos):document.execCommand(`copy`);break;case`paste`:gt(n);break;case`pasteAsPlainText`:navigator.clipboard.readText().then(e=>{e&&n.dispatch(n.state.tr.insertText(e).scrollIntoView())}).catch(()=>{});break;case`delete`:{let{from:e,to:t}=n.state.selection;e!==t&&n.dispatch(n.state.tr.delete(e,t));break}case`selectAll`:{let e=l.TextSelection.create(n.state.doc,0,n.state.doc.content.size);n.dispatch(n.state.tr.setSelection(e));break}case`imageProperties`:t.selectedImage.value&&(t.showImageProperties.value=!0);break;case`replaceImage`:t.selectedImage.value&&_t(n,t.selectedImage.value.pmPos);break;case`deleteImage`:if(t.selectedImage.value){let e=t.selectedImage.value.pmPos,r=n.state.doc.nodeAt(e);r&&(n.dispatch(n.state.tr.delete(e,e+r.nodeSize)),t.selectedImage.value=null)}break;case`addRowAbove`:case`addRowBelow`:case`deleteRow`:case`addColumnLeft`:case`addColumnRight`:case`deleteColumn`:case`mergeCells`:case`splitCell`:{let t=r[e];t&&t()(n.state,e=>n.dispatch(e),n);break}}n.focus()}return{contextMenu:r,imageContextMenu:i,imageContextMenuTextActions:o,handleContextMenu:s,handleSelectedImageContextMenu:u,handleImageWrapSelect:f,handleContextMenuAction:p}}var yt=500;function bt(e){let t=(0,a.ref)(null),n=null;function r(){n!==null&&(clearTimeout(n),n=null)}let i=(0,a.ref)(null),o=0,s=null,c=0,u=!1,f=null,p=(0,a.ref)({currentPage:1,totalPages:1,visible:!1}),m=null;function h(t,n){return st(e.pagesRef.value,e.editorView.value,t,n)}function g(t,n){let r=e.editorView.value;if(!r)return;let i=r.state.doc.resolve(t),a=n===void 0?i:r.state.doc.resolve(n),o=l.TextSelection.between(i,a);r.dispatch(r.state.tr.setSelection(o))}function _(t){ot(e.pagesRef.value,e.pagesViewportRef.value,t)}function v(t){ct(e.pagesRef.value,t,g)}function y(t){lt(e.pagesRef.value,t,g)}function b(t){let n=e.editorView.value;if(!n)return;let r=null;if(n.state.doc.descendants((e,n)=>r===null?(e.attrs?.bookmarks)?.some(e=>e.name===t)?(r=n,!1):!0:!1),r!==null){_(r);try{g(Math.min(r+1,n.state.doc.content.size))}catch{g(r)}}}function x(a){if(e.readOnly.value||u)return;let o=e.pagesRef.value;if(!o)return;let s=e.pagesViewportRef.value;if(!s)return;let c=(0,T.detectTableInsertHover)({mouseX:a.clientX,mouseY:a.clientY,pagesContainer:o,target:a.target,hfEditMode:i.value?.position??null});if(!c){n===null&&(n=setTimeout(()=>{t.value=null,n=null},T.TABLE_INSERT_HIDE_DELAY_MS));return}let l=s.getBoundingClientRect();t.value={type:c.type,x:c.clientX-l.left,y:c.clientY-l.top,cellPmPos:c.cellPmPos},r()}function S(n){n.preventDefault(),n.stopPropagation();let r=t.value,i=e.editorView.value;if(!r||!i)return;let a=i.state.tr.setSelection(l.TextSelection.create(i.state.doc,r.cellPmPos+1));i.dispatch(a);let o=e.getCommands(),s=r.type===`row`?o.addRowBelow?.():o.addColumnRight?.();s&&(s(i.state,e=>i.dispatch(e),i),t.value=null,i.focus())}function C(t){let n=t.target?.closest(`a[href]`);if(!n)return;t.preventDefault();let r=n.getAttribute(`href`)||``;if(!r)return;if(r.startsWith(`#`)){let e=r.slice(1);e&&b(e);return}let i=e.editorView.value;if(i&&i.state.selection.from!==i.state.selection.to)return;let a=e.pagesViewportRef.value;if(!a)return;let o=a.getBoundingClientRect(),s=n.getBoundingClientRect();e.hyperlinkPopupData.value={href:r,displayText:n.textContent||``,tooltip:n.getAttribute(`title`)||void 0,position:{top:s.bottom-o.top+a.scrollTop+4,left:s.left-o.left+a.scrollLeft}}}function w(t){let n=t.target,r=n.closest(`.layout-page-header`),a=n.closest(`.layout-page-footer`),o=r??a;if(!o)return;let s=r?`header`:`footer`,c=e.getDocument();if(!c?.package)return;let l=c.package.document?.sections?.[0]?.properties??c.package.document?.finalSectionProperties??null,u=s===`header`?l?.headerReferences:l?.footerReferences,d=s===`header`?c.package.headers:c.package.footers;if(!u||!d)return;let f=(u.find(e=>e.type===`default`)??u.find(e=>e.type===`first`))?.rId??null,p=f?d.get(f)??null:null,m=e.pagesViewportRef.value;if(!m)return;let h=o.getBoundingClientRect(),g=m.getBoundingClientRect(),_=e.zoom.value||1;i.value={position:s,rId:f,headerFooter:p,targetRect:{top:(h.top-g.top+m.scrollTop)/_,left:(h.left-g.left+m.scrollLeft)/_,width:h.width/_,height:h.height/_}}}function E(t){let n=e.getDocument(),r=i.value;if(!n?.package||!r)return;let a=r.position===`header`?n.package.headers:n.package.footers;if(!a||!r.rId)return;let o=a.get(r.rId);o&&(o.content=t),e.reLayout(),e.emit(`change`,n)}function D(){let t=e.getDocument(),n=i.value;if(!t?.package||!n||!n.rId)return;let r=(n.position===`header`?t.package.headers:t.package.footers)?.get(n.rId);r&&(r.content=[]),i.value=null,e.reLayout(),e.emit(`change`,t)}function O(t){if(t.button!==0||e.imageInteracting.value)return;let n=e.editorView.value;if(!n||!e.readOnly.value&&e.tableResize.tryStartResize(t,n))return;let r=t.target,i=(0,d.findImageElement)(r);if(i){t.preventDefault(),t.stopPropagation();let r=Number(i.dataset.pmStart);if(!isNaN(r)){try{let e=l.NodeSelection.create(n.state.doc,r);n.dispatch(n.state.tr.setSelection(e))}catch{}e.selectedImage.value={element:i,pmPos:r,width:i.offsetWidth,height:i.offsetHeight},e.clearOverlay()}n.focus();return}e.selectedImage.value=null,t.preventDefault();let a=h(t.clientX,t.clientY);if(a===null){n.focus();return}let p=Date.now();if(p-o<yt&&s===a?c++:c=1,o=p,s=a,c===2)v(a);else if(c>=3)y(a),c=0;else{if(t.shiftKey){let{from:e}=n.state.selection;g(e,a)}else g(a);f=a,u=!0}n.focus()}function k(e){if(!u||f===null)return;let t=h(e.clientX,e.clientY);t!==null&&t!==f&&g(f,t)}function A(){u=!1}function j(){let t=e.pagesViewportRef.value,n=e.layout.value;if(!t||!n||n.pages.length===0)return;let r=t.scrollTop,i=n.pages.length,a=r+t.clientHeight/2,o=24,s=1;for(let e=0;e<n.pages.length;e++){let t=n.pages[e].size.h,r=o+t;if(a<r){s=e+1;break}o=r+24,s=e+2}s=Math.min(s,i),p.value={currentPage:s,totalPages:i,visible:!0},m&&clearTimeout(m),m=setTimeout(()=>{p.value={...p.value,visible:!1}},600)}return(0,a.onMounted)(()=>{window.addEventListener(`mousemove`,k),window.addEventListener(`mouseup`,A),e.pagesViewportRef.value?.addEventListener(`scroll`,j,{passive:!0})}),(0,a.onBeforeUnmount)(()=>{r(),window.removeEventListener(`mousemove`,k),window.removeEventListener(`mouseup`,A),e.pagesViewportRef.value?.removeEventListener(`scroll`,j),m&&clearTimeout(m)}),{tableInsertButton:t,hfEdit:i,scrollPageInfo:p,resolvePos:h,setPmSelection:g,scrollVisiblePositionIntoView:_,navigateToBookmark:b,handlePagesMouseDown:O,handlePagesMouseMove:x,handlePagesClick:C,handlePagesDoubleClick:w,handleTableInsertClick:S,clearTableInsertTimer:r,handleHfSave:E,handleHfRemove:D}}function xt(e){let t=null,n=null;function i(){let r=e.pagesRef.value;r&&(r.querySelectorAll(`.vue-sel-rect, .vue-caret`).forEach(e=>e.remove()),t!==null&&(clearInterval(t),t=null),n=null)}function o(){let a=e.pagesRef.value,o=e.editorView.value;if(!a||!o)return;i();let s=o.state.selection;if(s instanceof l.NodeSelection&&s.node.type.name===`image`){let t=null;for(let e of a.querySelectorAll(`[data-pm-start="${s.from}"]`)){let n=(0,d.findImageElement)(e);if(n){t=n;break}}if(t){let n=e.selectedImage.value;(!n||n.element!==t||n.pmPos!==s.from||n.width!==t.offsetWidth||n.height!==t.offsetHeight)&&(e.selectedImage.value={element:t,pmPos:s.from,width:t.offsetWidth,height:t.offsetHeight});return}}if(e.selectedImage.value)return;let{from:c,to:f,empty:p}=o.state.selection,m=a.scrollTop,h=a.scrollLeft;if(p){let e=(0,u.getCaretPositionFromDom)(a,c,a.getBoundingClientRect());if(e){let i=document.createElement(`div`);i.className=`vue-caret`,i.style.cssText=`
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./KeyboardShortcutsDialog-D72k5DXR.cjs`),t=require(`./MenuBar-BrQW4COn.cjs`),n=require(`./_plugin-vue_export-helper-CX7YVcP6.cjs`),r=require(`./zIndex-CH0jZ7U7.cjs`),i=require(`./useTableResize-lWdIgX9x.cjs`);let a=require(`vue`),o=require(`@eigenpal/docx-editor-core/prosemirror/commands/formatting`),s=require(`@eigenpal/docx-editor-core/utils`),c=require(`@eigenpal/docx-editor-core/prosemirror/extensions/nodes/TableExtension`),l=require(`prosemirror-state`),u=require(`@eigenpal/docx-editor-core/layout-bridge/clickToPositionDom`),d=require(`@eigenpal/docx-editor-core/layout-painter`),f=require(`prosemirror-view`),p=require(`@eigenpal/docx-editor-core/prosemirror/schema`),m=require(`@eigenpal/docx-editor-core/prosemirror/conversion`);require(`prosemirror-view/style/prosemirror.css`);let h=require(`@eigenpal/docx-editor-core/utils/units`),g=require(`@eigenpal/docx-editor-core/layout-bridge`),_=require(`@eigenpal/docx-editor-core/layout-engine`),v=require(`@eigenpal/docx-editor-core/prosemirror/commands/paragraph`),y=require(`@eigenpal/docx-editor-core/prosemirror/styles`),b=require(`@eigenpal/docx-editor-core/prosemirror/commands/pageBreak`),x=require(`@eigenpal/docx-editor-core/utils/highlightColors`),S=require(`@eigenpal/docx-editor-core/utils/headingCollector`),C=require(`@eigenpal/docx-editor-core/prosemirror/commands`),w=require(`@eigenpal/docx-editor-core/prosemirror/utils/extractTrackedChanges`),T=require(`@eigenpal/docx-editor-core/layout-bridge/tableInsertHover`),E=require(`@eigenpal/docx-editor-core/utils/reportIssue`),D=require(`@eigenpal/docx-editor-core/prosemirror`),O=require(`@eigenpal/docx-editor-core`),k=require(`@eigenpal/docx-editor-core/plugin-api/RenderedDomContext`);function A(e,t){if(!t.trim())return null;let n=null;return e.descendants((e,r)=>n?!1:e.isTextblock&&e.attrs?.paraId===t?(n={from:r,to:r+e.nodeSize},!1):!0),n}function j(e){let t=[];return e.descendants(e=>!e.isText||!e.text?!0:e.marks.some(e=>e.type.name===`insertion`)?!1:(t.push(e.text),!0)),t.join(``)}function M(e,t,n){if(t>=n)return``;let r=[];return e.nodesBetween(t,n,(e,i)=>{if(!e.isText||!e.text||e.marks.some(e=>e.type.name===`insertion`))return;let a=Math.max(t,i),o=Math.min(n,i+e.text.length);a<o&&r.push(e.text.slice(a-i,o-i))}),r.join(``)}function N(e,t,n,r){if(!r)return null;let i=``,a=[];e.nodesBetween(t,n,(e,t)=>{!e.isText||!e.text||e.marks.some(e=>e.type.name===`insertion`)||(a.push({pos:t,len:e.text.length}),i+=e.text)});let o=i.indexOf(r);if(o===-1||i.indexOf(r,o+1)!==-1)return null;let s=0,c=t,l=t;for(let e of a){let t=s+e.len;if(s<=o&&o<t&&(c=e.pos+(o-s)),s<=o+r.length&&o+r.length<=t){l=e.pos+(o+r.length-s);break}s=t}return{from:c,to:l}}function P(e,t,n){if(!e||!t)return[];let r=n?.caseSensitive??!1,i=n?.limit??20,a=r?t:t.toLowerCase(),o=[];return e.state.doc.descendants(e=>{if(o.length>=i)return!1;if(!e.isTextblock)return!0;let n=e.attrs?.paraId;if(!n)return!1;let s=j(e),c=r?s:s.toLowerCase(),l=c.indexOf(a);return l===-1||c.indexOf(a,l+1)!==-1||o.push({paraId:n,match:s.slice(l,l+t.length),before:s.slice(Math.max(0,l-40),l),after:s.slice(l+t.length,l+t.length+40)}),!1}),o}function ee(e){if(!e)return null;let{selection:t,doc:n}=e.state,r=t.$from,i=r.depth;for(;i>0&&!r.node(i).isTextblock;)i--;let a=i>0?r.node(i):null;if(!a)return null;let o=a.attrs?.paraId??null,s=r.start(i),c=s+a.content.size,l=M(n,s,t.from),u=M(n,t.from,t.to),d=M(n,t.to,c);return{paraId:o,selectedText:u,paragraphText:l+u+d,before:l,after:d}}function te(e,t,n){if(!t||!e)return null;let r=t.pages[n-1];if(!r)return null;let i=new Set,a=[];for(let t of r.fragments){if(t.kind!==`paragraph`)continue;let n=t.pmStart;if(n==null)continue;let r=e.state.doc.nodeAt(n);if(!r||!r.isTextblock)continue;let o=r.attrs?.paraId;!o||i.has(o)||(i.add(o),a.push({paraId:o,text:j(r),styleId:r.attrs?.styleId??void 0}))}return{pageNumber:n,text:a.map(e=>`[${e.paraId}] ${e.text}`).join(`
|
|
2
|
+
`),paragraphs:a}}var ne=(0,a.defineComponent)({__name:`DecorationLayer`,props:{getView:{type:Function},getPagesContainer:{type:Function},zoom:{},transactionVersion:{},syncCoordinator:{}},setup(e){let t=e,n=(0,a.ref)(null),r=(0,a.ref)(0),i=null,o=null;function s(){i!==null&&cancelAnimationFrame(i),i=requestAnimationFrame(()=>{i=null;let e=t.getView(),r=t.getPagesContainer(),a=n.value;!e||!r||!a||t.syncCoordinator.isSafeToRender()&&c(e,r,a,t.zoom)})}(0,a.onMounted)(()=>{o=t.syncCoordinator.onRender(()=>{r.value++}),s()}),(0,a.onBeforeUnmount)(()=>{i!==null&&(cancelAnimationFrame(i),i=null),o?.()}),(0,a.watch)(()=>[t.zoom,t.transactionVersion,r.value],()=>s());function c(e,t,n,r){let i=l(e.state);if(i.length===0){n.firstChild&&n.replaceChildren();return}let a=(0,k.createRenderedDomContext)(t,r),o=a.getContainerOffset(),s=document.createDocumentFragment();for(let{decoration:t,from:n,to:r}of i){if(n===r){let r=u(t,e);if(!r)continue;let i=a.getCoordinatesForPosition(n);if(!i)continue;let c=document.createElement(`div`);c.style.cssText=`position:absolute;left:${i.x+o.x}px;top:${i.y+o.y}px;height:${i.height}px;`,c.appendChild(r),s.appendChild(c);continue}let i=d(t);if(!i)continue;let c=a.getRectsForRange(n,r);for(let e of c){let t=document.createElement(`div`);for(let[e,n]of Object.entries(i))e!==`nodeName`&&t.setAttribute(e,n);let n=`position:absolute;left:${e.x+o.x}px;top:${e.y+o.y}px;width:${e.width}px;height:${e.height}px;`;t.style.cssText=n+(i.style??``),s.appendChild(t)}}n.replaceChildren(s)}function l(e){let t=[];for(let n of e.plugins){let r=n.props.decorations;if(!r)continue;let i=r.call(n,e);i&&i.forEachSet(e=>{e.find().forEach(e=>{e.spec?.noOverlay||t.push({decoration:e,from:e.from,to:e.to})})})}return t}function u(e,t){let n=e.type;if(!n)return null;let r=n.toDOM;return typeof r==`function`?r(t,()=>e.from):r instanceof HTMLElement?r.cloneNode(!0):null}function d(e){return e.type?.attrs??null}return(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{ref_key:`overlayRef`,ref:n,class:`paged-editor__decoration-overlay`,"aria-hidden":`true`},null,512))}}),F=[`data-handle`,`onMousedown`],re=[`title`],ie={key:0,class:`image-overlay__dim`},ae={key:1,class:`image-overlay__dim image-overlay__dim--rotate`},oe=4,se=15,ce=(0,a.defineComponent)({__name:`ImageSelectionOverlay`,props:{imageInfo:{},zoom:{},view:{}},emits:[`deselect`,`interact-start`,`interact-end`,`context-menu`],setup(t,{emit:n}){let{t:i}=e.d(),o=t,c=n,f=(0,a.ref)(null),p=(0,a.ref)(!1),m=(0,a.ref)(!1),h=(0,a.ref)(!1),g=(0,a.ref)(0),_=(0,a.ref)(0),v=(0,a.ref)(0),y=(0,a.ref)(null),b=`se`,x=0,S=0,C=0,w=0,T=null,E=null,D=null,O=null;function k(e,t){if(!e)return null;try{let n=e.state.doc.nodeAt(t);return n&&n.type.name===`image`?n:null}catch{return null}}function A(){let e=o.imageInfo;if(!e)return null;if(e.element.isConnected)return e.element;let t=f.value?.closest(`.docx-editor-vue__pages-viewport`)?.querySelector(`.docx-editor-vue__pages`);if(!t)return null;for(let n of t.querySelectorAll(`[data-pm-start="${e.pmPos}"]`)){let e=(0,d.findImageElement)(n);if(e)return e}return null}function j(){let e=A();if(!e||!f.value){y.value=null;return}let t=f.value.offsetParent;if(!t){y.value=null;return}let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),i=o.zoom;y.value={left:(r.left-n.left)/i,top:(r.top-n.top)/i,width:r.width/i,height:r.height/i}}(0,a.watch)(()=>o.imageInfo,async()=>{await(0,a.nextTick)(),j()},{immediate:!0}),(0,a.watch)(()=>o.imageInfo,(e,t,n)=>{if(!o.imageInfo)return;let r=()=>{E&&cancelAnimationFrame(E),E=requestAnimationFrame(j)},i=f.value?.closest(`.docx-editor-vue__pages-viewport`)?.parentElement;i?.addEventListener(`scroll`,r,{passive:!0}),window.addEventListener(`resize`,r,{passive:!0}),n(()=>{i?.removeEventListener(`scroll`,r),window.removeEventListener(`resize`,r),E&&cancelAnimationFrame(E)})},{immediate:!0});let M=(0,a.computed)(()=>p.value?g.value:y.value?.width||0),N=(0,a.computed)(()=>p.value?_.value:y.value?.height||0),P=(0,a.computed)(()=>{let e=y.value;if(!e)return{position:`absolute`,top:`0px`,left:`0px`,visibility:`hidden`,pointerEvents:`none`};let t=p.value?g.value:e.width,n=p.value?_.value:e.height;return{position:`absolute`,left:`${e.left}px`,top:`${e.top}px`,width:`${t}px`,height:`${n}px`,zIndex:r.t.imageOverlay,pointerEvents:`auto`}}),ee=(0,a.computed)(()=>{let e=M.value,t=N.value,n=`${e/2-5}px`,r=`${t/2-5}px`,i=`${e-5}px`,a=`${t-5}px`,o=`-5px`;return[{pos:`nw`,style:{left:o,top:o,cursor:`nwse-resize`}},{pos:`n`,style:{left:n,top:o,cursor:`ns-resize`}},{pos:`ne`,style:{left:i,top:o,cursor:`nesw-resize`}},{pos:`e`,style:{left:i,top:r,cursor:`ew-resize`}},{pos:`se`,style:{left:i,top:a,cursor:`nwse-resize`}},{pos:`s`,style:{left:n,top:a,cursor:`ns-resize`}},{pos:`sw`,style:{left:o,top:a,cursor:`nesw-resize`}},{pos:`w`,style:{left:o,top:r,cursor:`ew-resize`}}]}),te=e=>e.length===2;function ne(e,t,n,r,i,a){let o=e.includes(`w`)?-1:+!!e.includes(`e`),s=e.includes(`n`)?-1:+!!e.includes(`s`),c=r+t*o,l=i+n*s;if(te(e)&&a){let e=Math.max(c/r,l/i);c=r*e,l=i*e}return{width:o===0?r:Math.max(20,Math.min(2e3,c)),height:s===0?i:Math.max(20,Math.min(2e3,l))}}function ce(e,t){!o.imageInfo||!y.value||(b=t,x=e.clientX,S=e.clientY,C=y.value.width,w=y.value.height,T={...y.value},g.value=Math.round(C),_.value=Math.round(w),p.value=!0,c(`interact-start`),document.addEventListener(`mousemove`,le),document.addEventListener(`mouseup`,I))}function le(e){let t=o.zoom,n=(e.clientX-x)/t,r=(e.clientY-S)/t,i=!e.shiftKey,a=ne(b,n,r,C,w,i);g.value=Math.round(a.width),_.value=Math.round(a.height);let s=T;s&&(y.value={left:b.includes(`w`)?s.left+(s.width-a.width):s.left,top:b.includes(`n`)?s.top+(s.height-a.height):s.top,width:s.width,height:s.height})}function I(){document.removeEventListener(`mousemove`,le),document.removeEventListener(`mouseup`,I),p.value=!1,T=null,c(`interact-end`);let e=o.view,t=o.imageInfo;if(!e||!t){j();return}let n=k(e,t.pmPos);if(n)try{e.dispatch(e.state.tr.setNodeMarkup(t.pmPos,void 0,{...n.attrs,width:g.value,height:_.value}))}catch{}(0,a.nextTick)(()=>j())}let ue=0,de=0,fe=0,L=0,R=null,z=null;function pe(e){if(!e)return 0;let t=e.match(/rotate\((-?\d+(?:\.\d+)?)deg\)/);return t?parseFloat(t[1]):0}function B(e,t){let n=/scaleX\(-1\)/.test(e||``),r=/scaleY\(-1\)/.test(e||``),i=[],a=(t%360+360)%360;return a!==0&&i.push(`rotate(${a}deg)`),n&&i.push(`scaleX(-1)`),r&&i.push(`scaleY(-1)`),i.length>0?i.join(` `):null}function V(e,t){return Math.atan2(e-ue,-(t-de))*180/Math.PI}function me(e){if(!o.imageInfo)return;let t=o.imageInfo.element.getBoundingClientRect();ue=t.left+t.width/2,de=t.top+t.height/2;let n=k(o.view,o.imageInfo.pmPos);R=n&&n.attrs.transform||null,L=pe(R),z=o.imageInfo.element.querySelector(`img`),fe=V(e.clientX,e.clientY),v.value=L,h.value=!0,c(`interact-start`),document.addEventListener(`mousemove`,H),document.addEventListener(`mouseup`,U)}function H(e){let t=V(e.clientX,e.clientY)-fe,n=L+t;e.shiftKey||(n=Math.round(n/se)*se),v.value=(n%360+360)%360,z&&(z.style.transform=B(R,v.value)||``)}function U(){document.removeEventListener(`mousemove`,H),document.removeEventListener(`mouseup`,U),h.value=!1,c(`interact-end`);let e=o.view,t=o.imageInfo;try{let n=e&&t?k(e,t.pmPos):null;e&&t&&n&&e.dispatch(e.state.tr.setNodeMarkup(t.pmPos,void 0,{...n.attrs,transform:B(n.attrs.transform,v.value)}))}catch{}finally{z&&(z.style.transform=``),z=null,R=null}(0,a.nextTick)(()=>j())}let W=null;function he(e){if(!o.imageInfo||!y.value)return;let t=e.clientX,n=e.clientY,r=y.value,i=!1,a=e=>{let a=e.clientX-t,s=e.clientY-n;if(!(!i&&Math.sqrt(a*a+s*s)<oe)){if(!i){i=!0,m.value=!0,c(`interact-start`),W=document.createElement(`div`),W.style.cssText=`position: fixed; pointer-events: none; z-index: 10000; opacity: 0.5; border: 2px dashed #2563eb; border-radius: 4px; background: rgba(37, 99, 235, 0.1);`;let e=o.zoom;W.style.width=`${r.width*e}px`,W.style.height=`${r.height*e}px`,document.body.appendChild(W)}if(W){let t=o.zoom;W.style.left=`${e.clientX-r.width*t/2}px`,W.style.top=`${e.clientY-r.height*t/2}px`}}},s=e=>{document.removeEventListener(`mousemove`,a),document.removeEventListener(`mouseup`,s),D=null,O=null,W&&=(W.remove(),null),m.value=!1,i&&(c(`interact-end`),ge(e.clientX,e.clientY))};D=a,O=s,document.addEventListener(`mousemove`,a),document.addEventListener(`mouseup`,s)}function ge(e,t){let n=o.view,r=o.imageInfo;if(!n||!r)return;let i=k(n,r.pmPos);if(!i)return;let c=i.attrs.wrapType,l=i.attrs.displayMode===`float`||(c?[`square`,`tight`,`through`].includes(c):!1);try{if(l){let a=(f.value?.closest(`.docx-editor-vue__pages-viewport`))?.querySelectorAll(`.layout-page`);if(!a||a.length===0)return;let c=null;for(let e of a){let n=e.getBoundingClientRect();if(t>=n.top&&t<=n.bottom){c=e.querySelector(`.layout-page-content`);break}}if(c||=a[a.length-1].querySelector(`.layout-page-content`),!c)return;let l=c.getBoundingClientRect(),u=o.zoom,d=(e-l.left)/u,p=(t-l.top)/u,m={horizontal:{posOffset:(0,s.pixelsToEmu)(d),relativeTo:`margin`},vertical:{posOffset:(0,s.pixelsToEmu)(p),relativeTo:`margin`}},h=n.state.tr.setNodeMarkup(r.pmPos,void 0,{...i.attrs,position:m});n.dispatch(h),G(r.pmPos)}else{let a=f.value?.closest(`.docx-editor-vue__pages-viewport`)?.querySelector(`.docx-editor-vue__pages`);if(!a)return;let o=(0,u.clickToPositionDom)(a,e,t,1);if(o==null||o<0||o===r.pmPos||o===r.pmPos+1)return;let s=n.state.tr,c=i.nodeSize;if(o<=r.pmPos)s=s.delete(r.pmPos,r.pmPos+c),s=s.insert(o,i),n.dispatch(s),G(o);else{s=s.delete(r.pmPos,r.pmPos+c);let e=Math.min(o-c,s.doc.content.size);s=s.insert(e,i),n.dispatch(s),G(Math.min(e,n.state.doc.content.size-1))}}}catch{}(0,a.nextTick)(()=>j())}function G(e){let t=o.view;if(t)try{let n=l.NodeSelection.create(t.state.doc,e);t.dispatch(t.state.tr.setSelection(n))}catch{}}return(0,a.onBeforeUnmount)(()=>{document.removeEventListener(`mousemove`,le),document.removeEventListener(`mouseup`,I),document.removeEventListener(`mousemove`,H),document.removeEventListener(`mouseup`,U),D&&document.removeEventListener(`mousemove`,D),O&&document.removeEventListener(`mouseup`,O),W&&=(W.remove(),null),E&&cancelAnimationFrame(E)}),(e,n)=>t.imageInfo?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,ref_key:`overlayRootRef`,ref:f,class:`image-overlay`,style:(0,a.normalizeStyle)(P.value),onMousedown:n[3]||=(0,a.withModifiers)(()=>{},[`stop`])},[n[4]||=(0,a.createElementVNode)(`div`,{class:`image-overlay__border`},null,-1),(0,a.createElementVNode)(`div`,{class:`image-overlay__body`,style:(0,a.normalizeStyle)({cursor:m.value?`grabbing`:`grab`}),onMousedown:n[0]||=(0,a.withModifiers)(e=>he(e),[`prevent`,`stop`]),onContextmenu:n[1]||=(0,a.withModifiers)(t=>e.$emit(`context-menu`,t),[`prevent`,`stop`])},null,36),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(ee.value,e=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:e.pos,class:`image-overlay__handle`,style:(0,a.normalizeStyle)(e.style),"data-handle":e.pos,onMousedown:(0,a.withModifiers)(t=>ce(t,e.pos),[`prevent`,`stop`])},null,44,F))),128)),n[5]||=(0,a.createElementVNode)(`div`,{class:`image-overlay__rotate-line`},null,-1),(0,a.createElementVNode)(`div`,{class:`image-overlay__rotate-handle`,style:(0,a.normalizeStyle)({left:`${M.value/2-7}px`}),title:(0,a.unref)(i)(`imageOverlay.rotate`),onMousedown:n[2]||=(0,a.withModifiers)(e=>me(e),[`prevent`,`stop`])},null,44,re),p.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,ie,(0,a.toDisplayString)(Math.round(g.value))+` × `+(0,a.toDisplayString)(Math.round(_.value)),1)):(0,a.createCommentVNode)(``,!0),h.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,ae,(0,a.toDisplayString)(Math.round(v.value))+`° `,1)):(0,a.createCommentVNode)(``,!0)],36)):(0,a.createCommentVNode)(``,!0)}}),le=n.t(ce,[[`__scopeId`,`data-v-a6f20ec2`]]),I={class:`doc-outline__header`},ue={class:`doc-outline__body`},de={key:0,class:`doc-outline__empty`},fe=[`onMousedown`],L=(0,a.defineComponent)({__name:`DocumentOutline`,props:{isOpen:{type:Boolean},headings:{}},emits:[`close`,`navigate`],setup(t){return(n,r)=>t.isOpen?((0,a.openBlock)(),(0,a.createElementBlock)(`nav`,{key:0,class:`doc-outline`,role:`navigation`,"aria-label":`Document outline`,onMousedown:r[1]||=(0,a.withModifiers)(()=>{},[`stop`])},[(0,a.createElementVNode)(`div`,I,[(0,a.createElementVNode)(`button`,{class:`doc-outline__back`,title:`Close outline`,"aria-label":`Close outline`,onClick:r[0]||=e=>n.$emit(`close`)},[(0,a.createVNode)(e.p,{name:`arrow_back`,size:20})]),r[2]||=(0,a.createElementVNode)(`span`,{class:`doc-outline__title`},`Document Outline`,-1)]),(0,a.createElementVNode)(`div`,ue,[t.headings.length===0?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,de,` No headings found `)):(0,a.createCommentVNode)(``,!0),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(t.headings,(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:t,class:`doc-outline__item`,style:(0,a.normalizeStyle)({paddingLeft:12+(e.level-1)*16+`px`}),onMousedown:(0,a.withModifiers)(t=>n.$emit(`navigate`,e.pmPos),[`prevent`])},(0,a.toDisplayString)(e.text||`(untitled)`),45,fe))),128))])],32)):(0,a.createCommentVNode)(``,!0)}}),R=n.t(L,[[`__scopeId`,`data-v-cb2cdc39`]]),z=(0,a.defineComponent)({__name:`PageIndicator`,props:{currentPage:{},totalPages:{},visible:{type:Boolean}},setup(t){let{t:n}=e.d();return(e,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{class:`docx-editor-vue__page-indicator`,style:(0,a.normalizeStyle)({opacity:+!!t.visible}),"aria-live":`polite`,role:`status`},(0,a.toDisplayString)((0,a.unref)(n)(`viewer.pageIndicator`,{current:t.currentPage,total:t.totalPages})),5))}}),pe=n.t(z,[[`__scopeId`,`data-v-d117bf6e`]]),B={class:`hf-editor__toolbar`},V={class:`hf-editor__label`},me={class:`hf-editor__actions`},H=(0,a.defineComponent)({__name:`InlineHeaderFooterEditor`,props:{isOpen:{type:Boolean},position:{},headerFooter:{},styles:{},theme:{},targetRect:{}},emits:[`save`,`close`,`remove`],setup(e,{emit:t}){let n=e,r=t,i=(0,a.ref)(null),o=null,s=(0,a.ref)({});function c(){let e=n.targetRect;e&&(s.value={position:`absolute`,top:`${e.top}px`,left:`${e.left}px`,width:`${e.width}px`,minHeight:`${Math.max(e.height,60)}px`,zIndex:`100`})}(0,a.watch)(()=>n.isOpen,async e=>{e?(c(),await(0,a.nextTick)(),u()):d()}),(0,a.watch)(()=>n.targetRect,()=>{n.isOpen&&c()},{deep:!0});function u(){let e=i.value;if(!e||o)return;let t=p.singletonManager,r=(0,m.headerFooterToProseDoc)(n.headerFooter?.content??[],{styles:n.styles??void 0,theme:n.theme??null});o=new f.EditorView(e,{state:l.EditorState.create({doc:r,schema:t.getSchema(),plugins:t.getPlugins()??[]}),editable:()=>!0}),o.focus()}function d(){o&&=(o.destroy(),null)}function h(){o&&(r(`save`,(0,m.proseDocToBlocks)(o.state.doc)),r(`close`))}return(0,a.onBeforeUnmount)(()=>{d()}),(t,n)=>e.isOpen?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:`hf-editor`,style:(0,a.normalizeStyle)(s.value),onMousedown:n[2]||=(0,a.withModifiers)(()=>{},[`stop`]),onContextmenu:n[3]||=(0,a.withModifiers)(()=>{},[`stop`])},[(0,a.createElementVNode)(`div`,B,[(0,a.createElementVNode)(`span`,V,(0,a.toDisplayString)(e.position===`header`?`Header`:`Footer`),1),(0,a.createElementVNode)(`div`,me,[(0,a.createElementVNode)(`button`,{class:`hf-editor__btn`,title:`Remove`,onMousedown:n[0]||=(0,a.withModifiers)(e=>t.$emit(`remove`),[`prevent`])},` Remove `,32),(0,a.createElementVNode)(`button`,{class:`hf-editor__btn hf-editor__btn--primary`,title:`Save`,onMousedown:(0,a.withModifiers)(h,[`prevent`])},` Save `,32),(0,a.createElementVNode)(`button`,{class:`hf-editor__btn`,title:`Cancel`,onMousedown:n[1]||=(0,a.withModifiers)(e=>t.$emit(`close`),[`prevent`])},` Cancel `,32)])]),(0,a.createElementVNode)(`div`,{ref_key:`editorRef`,ref:i,class:`hf-editor__content`},null,512)],36)):(0,a.createCommentVNode)(``,!0)}}),U=n.t(H,[[`__scopeId`,`data-v-343434c4`]]),W={key:0,class:`docx-editor-vue__title-bar`},he={class:`docx-editor-vue__title-bar-left`},ge={class:`docx-editor-vue__title-bar-center`},G={class:`docx-editor-vue__title-bar-right`},_e=(0,a.defineComponent)({__name:`DocxEditorMenuBar`,props:{showMenuBar:{type:Boolean},documentName:{},documentNameEditable:{type:Boolean,default:!0},renderLogo:{},renderTitleBarRight:{}},emits:[`rename`,`menu-action`,`insert-table`],setup(e,{emit:n}){let r=n;return(n,i)=>e.showMenuBar?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,W,[(0,a.createElementVNode)(`div`,he,[e.renderLogo?((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(e.renderLogo),{key:0})):(0,a.createCommentVNode)(``,!0),(0,a.renderSlot)(n.$slots,`title-bar-left`)]),(0,a.createElementVNode)(`div`,ge,[(0,a.createVNode)(t.i,{"model-value":e.documentName,editable:e.documentNameEditable,"onUpdate:modelValue":i[0]||=e=>r(`rename`,e)},null,8,[`model-value`,`editable`]),(0,a.createVNode)(t.t,{onAction:i[1]||=e=>r(`menu-action`,e),onInsertTable:i[2]||=(e,t)=>r(`insert-table`,e,t)})]),(0,a.createElementVNode)(`div`,G,[(0,a.renderSlot)(n.$slots,`title-bar-right`),e.renderTitleBarRight?((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(e.renderTitleBarRight),{key:0})):(0,a.createCommentVNode)(``,!0)])])):(0,a.createCommentVNode)(``,!0)}}),ve=(0,a.defineComponent)({__name:`DocxEditorDialogs`,props:{view:{},bookmarks:{},selectedImagePmPos:{},sectionProperties:{},showFindReplace:{type:Boolean},showInsertImage:{type:Boolean},showHyperlink:{type:Boolean},showInsertSymbol:{type:Boolean},showImageProperties:{type:Boolean},showPageSetup:{type:Boolean},showKeyboardShortcuts:{type:Boolean}},emits:[`update:showFindReplace`,`update:showInsertImage`,`update:showHyperlink`,`update:showInsertSymbol`,`update:showImageProperties`,`update:showPageSetup`,`update:showKeyboardShortcuts`,`insert-image`,`insert-symbol`,`hyperlink-submit`,`hyperlink-remove`,`page-setup-apply`],setup(t,{emit:n}){let r=n;return(n,i)=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,null,[(0,a.createVNode)(e.s,{"is-open":t.showFindReplace,view:t.view,onClose:i[0]||=e=>r(`update:showFindReplace`,!1)},null,8,[`is-open`,`view`]),(0,a.createVNode)(e.o,{"is-open":t.showInsertImage,onClose:i[1]||=e=>r(`update:showInsertImage`,!1),onInsert:i[2]||=e=>r(`insert-image`,e)},null,8,[`is-open`]),(0,a.createVNode)(e.a,{"is-open":t.showHyperlink,view:t.view,bookmarks:t.bookmarks,onClose:i[3]||=e=>r(`update:showHyperlink`,!1),onSubmit:i[4]||=e=>r(`hyperlink-submit`,e),onRemove:i[5]||=e=>r(`hyperlink-remove`)},null,8,[`is-open`,`view`,`bookmarks`]),(0,a.createVNode)(e.i,{"is-open":t.showInsertSymbol,onClose:i[6]||=e=>r(`update:showInsertSymbol`,!1),onInsert:i[7]||=e=>r(`insert-symbol`,e)},null,8,[`is-open`]),(0,a.createVNode)(e.r,{"is-open":t.showImageProperties,view:t.view,"pm-pos":t.selectedImagePmPos,onClose:i[8]||=e=>r(`update:showImageProperties`,!1)},null,8,[`is-open`,`view`,`pm-pos`]),(0,a.createVNode)(e.n,{"is-open":t.showPageSetup,"section-properties":t.sectionProperties,onClose:i[9]||=e=>r(`update:showPageSetup`,!1),onApply:i[10]||=e=>r(`page-setup-apply`,e)},null,8,[`is-open`,`section-properties`]),(0,a.createVNode)(e.t,{"is-open":t.showKeyboardShortcuts,onClose:i[11]||=e=>r(`update:showKeyboardShortcuts`,!1)},null,8,[`is-open`])],64))}}),K=[`disabled`,`onMousedown`],ye={class:`ctx-menu__label`},q={key:0,class:`ctx-menu__shortcut`},be=220,xe=32,J=10,Se=(0,a.defineComponent)({__name:`TextContextMenu`,props:{isOpen:{type:Boolean},position:{},hasSelection:{type:Boolean},isEditable:{type:Boolean},inTable:{type:Boolean},onImage:{type:Boolean},canMergeCells:{type:Boolean},canSplitCell:{type:Boolean}},emits:[`close`,`action`],setup(e,{emit:t}){let n=e,r=t,i=(0,a.ref)(null),o=(0,a.computed)(()=>{let e=[{id:`cut`,label:`Cut`,action:`cut`,shortcut:`Ctrl+X`,disabled:!n.hasSelection||!n.isEditable},{id:`copy`,label:`Copy`,action:`copy`,shortcut:`Ctrl+C`,disabled:!n.hasSelection},{id:`paste`,label:`Paste`,action:`paste`,shortcut:`Ctrl+V`,disabled:!n.isEditable},{id:`pasteAsPlainText`,label:`Paste as Plain Text`,action:`pasteAsPlainText`,shortcut:`Ctrl+Shift+V`,disabled:!n.isEditable},{id:`div1`,label:``,action:``,divider:!0},{id:`delete`,label:`Delete`,action:`delete`,shortcut:`Del`,disabled:!n.hasSelection||!n.isEditable},{id:`selectAll`,label:`Select All`,action:`selectAll`,shortcut:`Ctrl+A`}];return n.onImage&&n.isEditable&&e.push({id:`div-img`,label:``,action:``,divider:!0},{id:`replaceImage`,label:`Replace image…`,action:`replaceImage`},{id:`imageProperties`,label:`Image properties…`,action:`imageProperties`},{id:`deleteImage`,label:`Delete image`,action:`deleteImage`,shortcut:`Del`}),n.inTable&&n.isEditable&&e.push({id:`div2`,label:``,action:``,divider:!0},{id:`addRowAbove`,label:`Insert row above`,action:`addRowAbove`},{id:`addRowBelow`,label:`Insert row below`,action:`addRowBelow`},{id:`deleteRow`,label:`Delete row`,action:`deleteRow`},{id:`div3`,label:``,action:``,divider:!0},{id:`addColLeft`,label:`Insert column left`,action:`addColumnLeft`},{id:`addColRight`,label:`Insert column right`,action:`addColumnRight`},{id:`deleteCol`,label:`Delete column`,action:`deleteColumn`},{id:`div4`,label:``,action:``,divider:!0},{id:`mergeCells`,label:`Merge cells`,action:`mergeCells`,disabled:!n.canMergeCells},{id:`splitCell`,label:`Split cell`,action:`splitCell`,disabled:!n.canSplitCell}),e}),s=(0,a.computed)(()=>{let e=n.position.x,t=n.position.y,r=o.value.filter(e=>!e.divider).length,i=o.value.filter(e=>e.divider).length,a=r*xe+i*9;return typeof window<`u`&&(e+be+J>window.innerWidth&&(e=window.innerWidth-be-J),t+a+J>window.innerHeight&&(t=window.innerHeight-a-J)),{position:`fixed`,left:`${e}px`,top:`${t}px`,zIndex:400}});function c(e){e&&(r(`action`,e),r(`close`))}function l(e){e.key===`Escape`&&r(`close`)}return(0,a.watch)(()=>n.isOpen,e=>{e&&(0,a.nextTick)(()=>i.value?.focus())}),(t,n)=>((0,a.openBlock)(),(0,a.createBlock)(a.Teleport,{to:`body`},[e.isOpen?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:`ctx-menu-backdrop`,onMousedown:n[0]||=e=>t.$emit(`close`),onContextmenu:n[1]||=(0,a.withModifiers)(e=>t.$emit(`close`),[`prevent`])},null,32)):(0,a.createCommentVNode)(``,!0),e.isOpen?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:1,ref_key:`menuRef`,ref:i,class:`ctx-menu`,style:(0,a.normalizeStyle)(s.value),onContextmenu:n[2]||=(0,a.withModifiers)(()=>{},[`prevent`]),onKeydown:l},[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(o.value,(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:e.id||t,class:(0,a.normalizeClass)([`ctx-menu__item`,{"ctx-menu__item--disabled":e.disabled,"ctx-menu__item--divider":e.divider}]),disabled:e.disabled,onMousedown:(0,a.withModifiers)(t=>c(e.action),[`prevent`])},[(0,a.createElementVNode)(`span`,ye,(0,a.toDisplayString)(e.label),1),e.shortcut?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,q,(0,a.toDisplayString)(e.shortcut),1)):(0,a.createCommentVNode)(``,!0)],42,K))),128))],36)):(0,a.createCommentVNode)(``,!0)]))}}),Ce=n.t(Se,[[`__scopeId`,`data-v-741c4f71`]]),we=[`aria-label`],Te={class:`image-ctx-menu__icon`},Ee={class:`image-ctx-menu__label`},De={key:1,class:`image-ctx-menu__divider`,role:`separator`},Oe=[`data-wrap-type`,`data-current`,`data-disabled`,`disabled`,`title`,`onClick`],ke={class:`image-ctx-menu__icon`},Ae={class:`image-ctx-menu__label`},je=[`aria-label`],Me=[`disabled`,`onClick`],Ne={class:`image-ctx-menu__label`},Pe={key:0,class:`image-ctx-menu__shortcut`},Fe={key:0,class:`image-ctx-menu__divider`,role:`separator`},Ie=18,Le=260,Y=10,Re=(0,a.defineComponent)({__name:`ImageContextMenu`,props:{state:{},textActions:{},canOpenProperties:{type:Boolean,default:!1}},emits:[`close`,`select`,`text-action`,`open-properties`],setup(t,{emit:n}){let r=t,i=n;function o(){i(`open-properties`),i(`close`)}let{t:s}=e.d(),c=(0,a.ref)(null),l=d.IMAGE_LAYOUT_OPTIONS,u=(0,a.computed)(()=>r.state?(0,d.deriveLayoutChoice)(r.state.currentWrapType,r.state.currentCssFloat??null):null),f={inline:`wrap_text`,squareLeft:`format_image_left`,squareRight:`format_image_right`,behind:`flip_to_back`,inFront:`flip_to_front`};function p(e){return f[e]}let m=(0,a.computed)(()=>{if(!r.state)return{};let e=d.IMAGE_LAYOUT_OPTIONS.length*36+16,t=r.state.position.x,n=r.state.position.y;return typeof window<`u`&&(t+Le>window.innerWidth&&(t=window.innerWidth-Le-Y),n+e>window.innerHeight&&(n=window.innerHeight-e-Y),t<Y&&(t=Y),n<Y&&(n=Y)),{position:`fixed`,left:`${t}px`,top:`${n}px`,minWidth:`${Le}px`,zIndex:400}});function h(e){return r.state?(0,d.isImageLayoutOptionEnabled)(e,r.state.currentWrapType):!1}function g(e){h(e)&&(i(`select`,e.choice),i(`close`))}function _(e){e.disabled||(i(`text-action`,e.action),i(`close`))}function v(e){e.preventDefault(),i(`close`)}function y(e){e.key===`Escape`&&(e.preventDefault(),i(`close`))}return(n,r)=>((0,a.openBlock)(),(0,a.createBlock)(a.Teleport,{to:`body`},[t.state&&t.state.open?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:`image-ctx-menu-backdrop`,onMousedown:v,onContextmenu:r[0]||=(0,a.withModifiers)(e=>n.$emit(`close`),[`prevent`])},null,32)):(0,a.createCommentVNode)(``,!0),t.state&&t.state.open?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:1,ref_key:`menuRef`,ref:c,class:`image-ctx-menu`,role:`menu`,"aria-label":(0,a.unref)(s)(`imageWrap.menu.ariaLabel`),"data-testid":`image-context-menu`,style:(0,a.normalizeStyle)(m.value),onContextmenu:r[4]||=(0,a.withModifiers)(()=>{},[`prevent`]),onKeydown:y},[t.canOpenProperties?((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:0,type:`button`,role:`menuitem`,class:`image-ctx-menu__item`,"data-action":`open-properties`,onMousedown:r[1]||=(0,a.withModifiers)(()=>{},[`prevent`]),onClick:o},[(0,a.createElementVNode)(`span`,Te,[(0,a.createVNode)(e.p,{name:`settings`,size:Ie})]),(0,a.createElementVNode)(`span`,Ee,(0,a.toDisplayString)((0,a.unref)(s)(`imageWrap.menu.imageProperties`)),1)],32)):(0,a.createCommentVNode)(``,!0),t.canOpenProperties?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,De)):(0,a.createCommentVNode)(``,!0),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)((0,a.unref)(l),t=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:t.choice,type:`button`,role:`menuitem`,class:(0,a.normalizeClass)([`image-ctx-menu__item`,{"image-ctx-menu__item--current":t.choice===u.value}]),"data-wrap-type":t.choice,"data-current":t.choice===u.value?`true`:`false`,"data-disabled":h(t)?`false`:`true`,disabled:!h(t),title:(0,a.unref)(s)(`imageWrap.menuDesc.${t.i18nDescKey}`),onMousedown:r[2]||=(0,a.withModifiers)(()=>{},[`prevent`]),onClick:e=>g(t)},[(0,a.createElementVNode)(`span`,ke,[(0,a.createVNode)(e.p,{name:p(t.iconHint),size:Ie},null,8,[`name`])]),(0,a.createElementVNode)(`span`,Ae,(0,a.toDisplayString)((0,a.unref)(s)(`imageWrap.menu.${t.i18nLabelKey}`)),1),t.choice===u.value?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,{key:0,class:`image-ctx-menu__current-dot`,"aria-label":(0,a.unref)(s)(`imageWrap.menu.ariaLabel`)},`●`,8,je)):(0,a.createCommentVNode)(``,!0)],42,Oe))),128)),t.textActions&&t.textActions.length>0?((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:2},[r[5]||=(0,a.createElementVNode)(`div`,{class:`image-ctx-menu__divider`,role:`separator`},null,-1),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(t.textActions,(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:`${e.action}-${t}`},[(0,a.createElementVNode)(`button`,{type:`button`,role:`menuitem`,class:`image-ctx-menu__item image-ctx-menu__item--text`,disabled:e.disabled,onMousedown:r[3]||=(0,a.withModifiers)(()=>{},[`prevent`]),onClick:t=>_(e)},[(0,a.createElementVNode)(`span`,Ne,(0,a.toDisplayString)(e.label),1),e.shortcut?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,Pe,(0,a.toDisplayString)(e.shortcut),1)):(0,a.createCommentVNode)(``,!0)],40,Me),e.dividerAfter?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,Fe)):(0,a.createCommentVNode)(``,!0)],64))),128))],64)):(0,a.createCommentVNode)(``,!0)],44,we)):(0,a.createCommentVNode)(``,!0)]))}}),ze=n.t(Re,[[`__scopeId`,`data-v-5c21ca8c`]]),Be=(0,a.defineComponent)({__name:`DocxEditorOverlays`,props:{readOnly:{type:Boolean},contextMenu:{},imageContextMenu:{},imageContextMenuTextActions:{},canOpenImageProperties:{type:Boolean}},emits:[`context-menu-action`,`close-context-menu`,`image-wrap-select`,`close-image-context-menu`,`open-image-properties`],setup(e,{emit:t}){let n=t;return(t,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,null,[(0,a.createVNode)(Ce,{"is-open":e.contextMenu.isOpen,position:e.contextMenu.position,"has-selection":e.contextMenu.hasSelection,"is-editable":!e.readOnly,"in-table":e.contextMenu.inTable,"on-image":e.contextMenu.onImage,"can-merge-cells":e.contextMenu.canMergeCells,"can-split-cell":e.contextMenu.canSplitCell,onAction:r[0]||=e=>n(`context-menu-action`,e),onClose:r[1]||=e=>n(`close-context-menu`)},null,8,[`is-open`,`position`,`has-selection`,`is-editable`,`in-table`,`on-image`,`can-merge-cells`,`can-split-cell`]),(0,a.createVNode)(ze,{state:e.imageContextMenu,"text-actions":e.imageContextMenuTextActions,"can-open-properties":e.canOpenImageProperties,onClose:r[2]||=e=>n(`close-image-context-menu`),onSelect:r[3]||=e=>n(`image-wrap-select`,e),onTextAction:r[4]||=e=>n(`context-menu-action`,e),onOpenProperties:r[5]||=e=>n(`open-image-properties`)},null,8,[`state`,`text-actions`,`can-open-properties`])],64))}}),Ve=[`href`,`title`],X=[`title`],He=[`title`],Ue=[`title`],We={class:`docx-hyperlink-popup__edit-row`},Ge=[`placeholder`,`onKeydown`],Ke={class:`docx-hyperlink-popup__edit-row`},qe=[`onKeydown`],Je=[`disabled`],Ye=(0,a.defineComponent)({__name:`HyperlinkPopup`,props:{data:{},readOnly:{type:Boolean}},emits:[`navigate`,`copy`,`edit`,`remove`,`close`],setup(t,{emit:n}){let{t:r}=e.d(),i=t,o=n,s=(0,a.ref)(!1),c=(0,a.ref)(``),l=(0,a.ref)(``),u=(0,a.ref)(null),d=(0,a.computed)(()=>({left:(i.data?.position.left??0)+`px`,top:(i.data?.position.top??0)+`px`}));(0,a.watch)(()=>i.data?.href,()=>{s.value=!1});let f=null,p=null;function m(){p&&=(clearTimeout(p),null),f&&=(document.removeEventListener(`mousedown`,f),null)}(0,a.watch)(()=>i.data,e=>{m(),e&&(f=e=>{let t=u.value;t&&!t.contains(e.target)&&o(`close`)},p=setTimeout(()=>{f&&document.addEventListener(`mousedown`,f)},0))},{immediate:!0}),(0,a.onBeforeUnmount)(m);function h(){i.data&&(c.value=i.data.displayText,l.value=i.data.href,s.value=!0)}function g(){l.value.trim()&&(o(`edit`,c.value,l.value),s.value=!1)}function _(){i.data&&(o(`copy`,i.data.href),typeof navigator<`u`&&navigator.clipboard&&navigator.clipboard.writeText(i.data.href).catch(()=>{}))}return(e,n)=>t.data?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,ref_key:`popupRef`,ref:u,class:(0,a.normalizeClass)([`docx-hyperlink-popup`,{"docx-hyperlink-popup--edit":s.value}]),style:(0,a.normalizeStyle)(d.value),onMousedown:n[6]||=(0,a.withModifiers)(()=>{},[`stop`])},[s.value?((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:1},[(0,a.createElementVNode)(`div`,We,[(0,a.withDirectives)((0,a.createElementVNode)(`input`,{class:`docx-hyperlink-popup__input`,placeholder:(0,a.unref)(r)(`hyperlinkPopup.displayTextPlaceholder`),"onUpdate:modelValue":n[2]||=e=>c.value=e,onKeydown:[(0,a.withKeys)((0,a.withModifiers)(g,[`prevent`]),[`enter`]),n[3]||=(0,a.withKeys)(t=>e.$emit(`close`),[`esc`])]},null,40,Ge),[[a.vModelText,c.value]])]),(0,a.createElementVNode)(`div`,Ke,[(0,a.withDirectives)((0,a.createElementVNode)(`input`,{class:`docx-hyperlink-popup__input`,placeholder:`https://...`,"onUpdate:modelValue":n[4]||=e=>l.value=e,onKeydown:[(0,a.withKeys)((0,a.withModifiers)(g,[`prevent`]),[`enter`]),n[5]||=(0,a.withKeys)(t=>e.$emit(`close`),[`esc`])]},null,40,qe),[[a.vModelText,l.value]]),(0,a.createElementVNode)(`button`,{class:`docx-hyperlink-popup__apply`,disabled:!l.value.trim(),onClick:(0,a.withModifiers)(g,[`prevent`])},(0,a.toDisplayString)((0,a.unref)(r)(`common.apply`)),9,Je)])],64)):((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:0},[n[10]||=(0,a.createStaticVNode)(`<span class="docx-hyperlink-popup__icon" aria-hidden data-v-9d23bb12><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-9d23bb12><circle cx="12" cy="12" r="10" data-v-9d23bb12></circle><path d="M2 12h20" data-v-9d23bb12></path><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z" data-v-9d23bb12></path></svg></span>`,1),(0,a.createElementVNode)(`a`,{class:`docx-hyperlink-popup__url`,href:t.data.href,title:t.data.href,onClick:n[0]||=(0,a.withModifiers)(n=>e.$emit(`navigate`,t.data.href),[`prevent`])},(0,a.toDisplayString)(t.data.href),9,Ve),n[11]||=(0,a.createElementVNode)(`span`,{class:`docx-hyperlink-popup__sep`},null,-1),(0,a.createElementVNode)(`button`,{class:`docx-hyperlink-popup__btn`,title:(0,a.unref)(r)(`hyperlinkPopup.copyLink`),onClick:(0,a.withModifiers)(_,[`prevent`])},[...n[7]||=[(0,a.createElementVNode)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[(0,a.createElementVNode)(`rect`,{x:`9`,y:`9`,width:`13`,height:`13`,rx:`2`,ry:`2`}),(0,a.createElementVNode)(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})],-1)]],8,X),t.readOnly?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:0,class:`docx-hyperlink-popup__btn`,title:(0,a.unref)(r)(`hyperlinkPopup.editLink`),onClick:(0,a.withModifiers)(h,[`prevent`])},[...n[8]||=[(0,a.createElementVNode)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[(0,a.createElementVNode)(`path`,{d:`M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`}),(0,a.createElementVNode)(`path`,{d:`M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z`})],-1)]],8,He)),t.readOnly?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:1,class:`docx-hyperlink-popup__btn`,title:(0,a.unref)(r)(`hyperlinkPopup.removeLink`),onClick:n[1]||=(0,a.withModifiers)(t=>e.$emit(`remove`),[`prevent`])},[...n[9]||=[(0,a.createStaticVNode)(`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-9d23bb12><path d="M18.84 12.25l1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71" data-v-9d23bb12></path><path d="M5.17 11.75l-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71" data-v-9d23bb12></path><line x1="8" y1="2" x2="8" y2="5" data-v-9d23bb12></line><line x1="2" y1="8" x2="5" y2="8" data-v-9d23bb12></line><line x1="16" y1="19" x2="16" y2="22" data-v-9d23bb12></line><line x1="19" y1="16" x2="22" y2="16" data-v-9d23bb12></line></svg>`,1)]],8,Ue))],64))],38)):(0,a.createCommentVNode)(``,!0)}}),Xe=n.t(Ye,[[`__scopeId`,`data-v-9d23bb12`]]);function Ze(e){let t=(0,a.ref)(null);async function n(){await e.nextTick(),e.extractCommentsAndChanges(),e.emit(`ready`)}async function r(t){try{let r=await(0,s.readDocxFileFromInput)(t);if(!r)return;await e.loadBuffer(r.buffer),e.emit(`update:document`,e.getDocument()),e.emit(`rename`,r.name),await n()}catch(t){e.emit(`error`,t instanceof Error?t:Error(`Failed to open document`))}}function i(t){e.onDocumentNameChange?.(t),e.emit(`rename`,t)}async function o(){let t=await e.saveBlob();if(!t)return;let n=(e.documentName()??``).trim()||`document`,r=URL.createObjectURL(t),i=window.document.createElement(`a`);i.href=r,i.download=`${n.replace(/\.docx$/i,``)}.docx`,i.click(),setTimeout(()=>URL.revokeObjectURL(r),0)}async function c(t){await e.loadBuffer(t),e.emit(`update:document`,e.getDocument()),await n()}function l(t){e.loadParsedDocument(t),e.emit(`update:document`,t),n()}async function u(){let t=await e.saveBlob();return t?t.arrayBuffer():null}return{docxInputRef:t,handleDocxFileChange:r,handleDocumentNameChange:i,downloadCurrentDocument:o,emitReadyAfterSidebarStateRefresh:n,loadDocumentBuffer:c,loadDocument:l,save:u}}function Qe(e){let t=(0,a.ref)(null);function n(t){let n=e.editorView.value;if(!n)return;let r=e.getCommands(),{empty:i}=n.state.selection,a=t.bookmark?`#${t.bookmark}`:t.url;if(a){if(i&&t.displayText){let e=r.insertHyperlink;e&&e(t.displayText,a,t.tooltip||void 0)(n.state,e=>n.dispatch(e),n)}else{let e=r.setHyperlink;e&&e(a,t.tooltip||void 0)(n.state,e=>n.dispatch(e),n)}n.focus()}}function r(){let t=e.editorView.value;if(!t)return;let n=e.getCommands().removeHyperlink;n&&n()(t.state,e=>t.dispatch(e),t),t.focus()}function i(e){window.open(e,`_blank`,`noopener,noreferrer`),t.value=null}function s(n,r){let i=e.editorView.value;if(!i)return;let a=(0,o.findHyperlinkRangeAt)(i.state);if(!a){t.value=null;return}let s=i.state.schema.marks.hyperlink,{$from:c}=i.state.selection,l=s.create({href:r,tooltip:a.mark.attrs.tooltip}),u=c.marks().filter(e=>e.type!==s),d=i.state.schema.text(n,[...u,l]),f=i.state.tr.replaceWith(a.start,a.end,d);i.dispatch(f.scrollIntoView()),t.value=null,i.focus()}function c(){let n=e.editorView.value;if(!n)return;let r=(0,o.findHyperlinkRangeAt)(n.state,t.value?.href);if(!r){t.value=null;return}let i=n.state.schema.marks.hyperlink,a=n.state.tr.removeMark(r.start,r.end,i);n.dispatch(a.scrollIntoView()),t.value=null,n.focus()}return{hyperlinkPopupData:t,handleHyperlinkSubmit:n,handleHyperlinkRemove:r,handleHyperlinkPopupNavigate:i,handleHyperlinkPopupEdit:s,handleHyperlinkPopupRemove:c}}function $e(e){function t(){let t=e.editorView.value;t&&((0,o.clearFormatting)(t.state,t.dispatch,t),t.focus())}function n(t){let n=e.editorView.value;if(!n)return;let r=e.getDocument()?.package?.styles;if(r){let e=(0,y.createStyleResolver)(r).resolveParagraphStyle(t);(0,v.applyStyle)(t,{paragraphFormatting:e.paragraphFormatting,runFormatting:e.runFormatting})(n.state,e=>n.dispatch(e))}else (0,v.applyStyle)(t)(n.state,e=>n.dispatch(e));n.focus()}function r(){let t=e.editorView.value;t&&((0,b.insertPageBreak)(t.state,e=>t.dispatch(e),t),t.focus())}function i(t){let n=e.editorView.value;if(!n)return;let{from:r}=n.state.selection,i=n.state.tr.insertText(t,r);n.dispatch(i.scrollIntoView()),n.focus()}function a(t){let n=e.editorView.value;if(!n)return!1;let r=A(n.state.doc,t.paraId);if(!r)return!1;let i=r.from+1,a=r.to-1;if(t.search){let e=N(n.state.doc,r.from,r.to,t.search);if(!e)return!1;i=e.from,a=e.to}if(i>=a)return!0;let{schema:o}=n.state,s=t.marks,c=n.state.tr;if(s.bold!==void 0&&o.marks.bold&&(c=s.bold?c.addMark(i,a,o.marks.bold.create()):c.removeMark(i,a,o.marks.bold)),s.italic!==void 0&&o.marks.italic&&(c=s.italic?c.addMark(i,a,o.marks.italic.create()):c.removeMark(i,a,o.marks.italic)),s.underline!==void 0&&o.marks.underline)if(s.underline){let e=typeof s.underline==`object`?s.underline.style:void 0;c=c.addMark(i,a,o.marks.underline.create({style:e??`single`}))}else c=c.removeMark(i,a,o.marks.underline);return s.strike!==void 0&&o.marks.strike&&(c=s.strike?c.addMark(i,a,o.marks.strike.create()):c.removeMark(i,a,o.marks.strike)),s.color!==void 0&&o.marks.textColor&&(c=s.color&&(s.color.rgb||s.color.themeColor)?c.addMark(i,a,o.marks.textColor.create({rgb:s.color.rgb??null,themeColor:s.color.themeColor??null})):c.removeMark(i,a,o.marks.textColor)),s.highlight!==void 0&&o.marks.highlight&&(c=s.highlight?c.addMark(i,a,o.marks.highlight.create({color:(0,x.mapHexToHighlightName)(s.highlight)||s.highlight})):c.removeMark(i,a,o.marks.highlight)),s.fontSize!==void 0&&o.marks.fontSize&&(c=s.fontSize>0?c.addMark(i,a,o.marks.fontSize.create({size:(0,h.pointsToHalfPoints)(s.fontSize)})):c.removeMark(i,a,o.marks.fontSize)),s.fontFamily!==void 0&&o.marks.fontFamily&&(c=s.fontFamily&&(s.fontFamily.ascii||s.fontFamily.hAnsi)?c.addMark(i,a,o.marks.fontFamily.create({ascii:s.fontFamily.ascii??null,hAnsi:s.fontFamily.hAnsi??s.fontFamily.ascii??null})):c.removeMark(i,a,o.marks.fontFamily)),n.dispatch(c),!0}function s(t){let n=e.editorView.value;if(!n)return!1;let r=A(n.state.doc,t.paraId);if(!r)return!1;let i=e.getDocument(),a=i?.package?.styles?(0,y.createStyleResolver)(i.package.styles):null;if(a&&!a.hasParagraphStyle(t.styleId))return!1;let o=n.state.doc.resolve(r.from+1),s=n.state.doc.resolve(r.to-1),c=n.state.apply(n.state.tr.setSelection(l.TextSelection.between(o,s))),u=a?(()=>{let e=a.resolveParagraphStyle(t.styleId);return(0,v.applyStyle)(t.styleId,{paragraphFormatting:e.paragraphFormatting,runFormatting:e.runFormatting})})():(0,v.applyStyle)(t.styleId),d=!1;return u(c,e=>{d=!0,e.setSelection(n.state.selection.map(e.doc,e.mapping)),n.dispatch(e)}),d}return{handleClearFormatting:t,handleApplyStyle:n,handleInsertPageBreak:r,handleInsertSymbol:i,applyFormatting:a,setParagraphStyle:s}}function et(e){function t(t){let n=e.getDocument();if(!n?.package?.document)return;let r=n.package.document.finalSectionProperties??{};n.package.document.finalSectionProperties={...r,...t},e.stateTick.value++,e.reLayout(),e.emit(`change`,n)}function n(n,r){e.readOnly.value||t({[n]:r})}function r(e){n(`marginLeft`,e)}function i(e){n(`marginRight`,e)}function a(e){n(`marginTop`,e)}function o(e){n(`marginBottom`,e)}function s(t){let n=e.editorView.value;n&&(0,v.setIndentLeft)(t)(n.state,n.dispatch)}function c(t){let n=e.editorView.value;n&&(0,v.setIndentRight)(t)(n.state,n.dispatch)}function l(t){let n=e.editorView.value;n&&(t<0?(0,v.setIndentFirstLine)(-t,!0)(n.state,n.dispatch):(0,v.setIndentFirstLine)(t,!1)(n.state,n.dispatch))}function u(t){let n=e.editorView.value;n&&(0,v.removeTabStop)(t)(n.state,n.dispatch)}return{handlePageSetupApply:t,handleLeftMarginChange:r,handleRightMarginChange:i,handleTopMarginChange:a,handleBottomMarginChange:o,handleIndentLeftChange:s,handleIndentRightChange:c,handleFirstLineIndentChange:l,handleTabStopRemove:u}}function tt(e){function t(){if(!e.showOutline.value){let t=e.editorView.value;t&&(e.outlineHeadings.value=(0,S.collectHeadings)(t.state.doc))}e.showOutline.value=!e.showOutline.value}function n(t){let n=e.editorView.value;if(!n)return;let r=n.state.doc.resolve(Math.min(t+1,n.state.doc.content.size)),i=l.TextSelection.near(r);n.dispatch(n.state.tr.setSelection(i).scrollIntoView()),n.focus()}function r(){e.showSidebar.value||e.extractCommentsAndChanges(),e.showSidebar.value=!e.showSidebar.value}function i(t){let n=t.target;n&&(n.closest(`.paged-editor__pages`)||n.closest(`.unified-sidebar`)||n.closest(`.docx-comment-margin-markers`)||(e.activeSidebarItem.value=null))}return{handleToggleOutline:t,handleOutlineNavigate:n,handleToggleSidebar:r,handleEditorScrollMouseDown:i}}function nt(e){function t(t){if(t.key===`F1`){t.preventDefault(),e.showKeyboardShortcuts.value=!0;return}e.handleZoomKeyDown(t),(t.ctrlKey||t.metaKey)&&(e.disableFindReplaceShortcuts?.()&&(t.key===`f`||t.key===`h`)||(t.key===`f`||t.key===`h`?(t.preventDefault(),e.showFindReplace.value=!0):t.key===`k`?(t.preventDefault(),e.showHyperlink.value=!0):t.key===`/`&&(t.preventDefault(),e.showKeyboardShortcuts.value=!e.showKeyboardShortcuts.value)))}return(0,a.onMounted)(()=>window.addEventListener(`keydown`,t)),(0,a.onBeforeUnmount)(()=>window.removeEventListener(`keydown`,t)),{handleKeyDown:t}}function rt(e,t,n,r){return{id:e.reduce((e,t)=>Math.max(e,t.id),0)+1,author:n,date:new Date().toISOString(),content:[{type:`paragraph`,properties:{},content:[{type:`run`,properties:{},content:[{type:`text`,text:t}]}]}],...r==null?{}:{parentId:r}}}function it(e){function t(t,n,r){return rt(e.getDocument()?.package?.document?.comments??[],t,n,r)}function n(n){let r=e.getDocument(),i=e.editorView.value;if(!r?.package?.document||!i)return null;r.package.document.comments||(r.package.document.comments=[]);let a=i.state.schema.marks.comment;if(!a)return null;let o=A(i.state.doc,n.paraId);if(!o)return null;let s=o.from+1,c=o.to-1;if(n.search){let e=N(i.state.doc,o.from,o.to,n.search);if(!e)return null;s=e.from,c=e.to}if(s>=c)return null;let l=t(n.text,n.author);return r.package.document.comments.push(l),e.comments.value=[...r.package.document.comments],i.dispatch(i.state.tr.addMark(s,c,a.create({commentId:l.id}))),e.showSidebar.value=!0,e.emit(`change`,r),e.contentChangeSubscribers.forEach(e=>e(r)),l.id}function r(n,r,i){let a=e.getDocument();if(!a?.package?.document?.comments||!a.package.document.comments.some(e=>e.id===n))return null;let o=t(r,i,n);return a.package.document.comments.push(o),e.comments.value=[...a.package.document.comments],e.emit(`change`,a),e.contentChangeSubscribers.forEach(e=>e(a)),o.id}function i(t){let n=e.getDocument();if(!n?.package?.document?.comments)return;let r=n.package.document.comments.find(e=>e.id===t);r&&(r.done=!0,e.comments.value=[...n.package.document.comments],e.emit(`change`,n),e.contentChangeSubscribers.forEach(e=>e(n)))}function a(t){let n=e.editorView.value;if(!n)return!1;let{schema:r}=n.state;if(!r.marks.deletion||!r.marks.insertion)return!1;let i=A(n.state.doc,t.paraId);if(!i)return!1;let a=t.search===``,o=t.replaceWith===``;if(a&&o)return!1;let s,c;if(a)s=i.to-1,c=i.to-1;else{let e=N(n.state.doc,i.from,i.to,t.search);if(!e)return!1;s=e.from,c=e.to}let l=!1;if(s<c&&n.state.doc.nodesBetween(s,c,e=>{for(let t of e.marks)if(t.type===r.marks.insertion||t.type===r.marks.deletion)return l=!0,!1;return!0}),l)return!1;let u=Math.max(0,...e.trackedChanges.value.map(e=>e.revisionId))+1,d=new Date().toISOString(),f=r.marks.deletion.create({revisionId:u,author:t.author,date:d}),p=r.marks.insertion.create({revisionId:u,author:t.author,date:d}),m=n.state.tr;return a||(m=m.addMark(s,c,f)),o||(m=m.insert(c,r.text(t.replaceWith,[p]))),n.dispatch(m),e.extractCommentsAndChanges(),e.showSidebar.value=!0,!0}function o(e,t){r(e,t,`User`)}function s(t){let n=e.getDocument();if(!n?.package?.document?.comments)return;let r=n.package.document.comments.find(e=>e.id===t);r&&(r.done=!1),e.comments.value=[...n.package.document.comments],e.emit(`change`,n)}function c(t){let n=e.getDocument();n?.package?.document?.comments&&(n.package.document.comments=n.package.document.comments.filter(e=>e.id!==t&&e.parentId!==t),e.comments.value=[...n.package.document.comments],e.emit(`change`,n))}function l(t,n){let r=e.editorView.value;r&&((0,C.acceptChange)(t,n)(r.state,r.dispatch),e.extractCommentsAndChanges(),r.focus())}function u(t,n){let r=e.editorView.value;r&&((0,C.rejectChange)(t,n)(r.state,r.dispatch),e.extractCommentsAndChanges(),r.focus())}function d(n,r){let i=e.getDocument(),a=e.editorView.value;if(!i?.package?.document||!a)return;i.package.document.comments||(i.package.document.comments=[]);let o=a.state.schema.marks.comment;if(!o)return;let s=null,c=a.state.schema.marks.insertion,l=a.state.schema.marks.deletion;if(a.state.doc.descendants((e,t)=>{if(s!==null)return!1;for(let r of e.marks)if((r.type===c||r.type===l)&&r.attrs.revisionId===n)return s=t,!1;return!0}),s===null)return;let u=t(r,`User`);i.package.document.comments.push(u),e.comments.value=[...i.package.document.comments];let d=s,f=Math.min(d+1,a.state.doc.content.size);a.dispatch(a.state.tr.addMark(d,f,o.create({commentId:u.id}))),e.emit(`change`,i)}return{addComment:n,replyToComment:r,resolveComment:i,proposeChange:a,handleCommentReply:o,handleCommentUnresolve:s,handleCommentDelete:c,handleAcceptChange:l,handleRejectChange:u,handleTrackedChangeReply:d}}function at(e,t){let n=(0,g.findBodyPmSpans)(e);for(let e of n){let n=Number(e.dataset.pmStart),r=Number(e.dataset.pmEnd);if(!isNaN(n)&&!isNaN(r)&&t>=n&&t<=r)return e}return null}function ot(e,t,n){if(!e||!t)return;let r=null;for(let t of(0,g.findBodyPmSpans)(e)){let e=Number(t.dataset.pmStart),i=Number(t.dataset.pmEnd);if(Number.isFinite(e)&&Number.isFinite(i)&&n>=e&&n<=i){r=t;break}}if(r||=e.querySelector(`[data-pm-start="${n}"]`),!r)return;let i=t.getBoundingClientRect(),a=r.getBoundingClientRect();t.scrollTo({top:a.top-i.top+t.scrollTop-48,behavior:`smooth`})}function st(e,t,n,r){if(!e||!t)return null;let i=(0,g.clickToPositionDom)(e,n,r,1);return i===null||i<0?null:Math.min(i,t.state.doc.content.size)}function ct(e,t,n){if(!e)return;let r=at(e,t);if(!r)return;let i=r.textContent||``,a=Number(r.dataset.pmStart)||0,[o,c]=(0,s.findWordBoundaries)(i,t-a),l=a+o,u=a+c;l<u&&n(l,u)}function lt(e,t,n){if(!e)return;let r=at(e,t);if(!r)return;let i=r.closest(`.layout-paragraph`);if(!i)return;let a=Number(i.dataset.pmStart),o=Number(i.dataset.pmEnd);!isNaN(a)&&!isNaN(o)&&a<o&&n(a,o)}function ut(e){let t=(0,a.ref)(null),n=(0,a.ref)(null),r=(0,a.ref)(null),i=(0,a.ref)(!1);function o(){let t=e.getDocument(),n=e.editorView.value;!t||!n||(e.comments.value=[...t.package?.document?.comments??[]],e.trackedChanges.value=(0,w.extractTrackedChanges)(n.state).entries,!i.value&&(e.comments.value.length>0||e.trackedChanges.value.length>0)&&(e.showSidebar.value=!0,i.value=!0))}function s(){e.stateTick.value;let n=e.editorView.value;if(!n||e.isAddingComment.value||e.readOnly.value){t.value=null;return}let{from:r,to:i}=n.state.selection;if(r===i){t.value=null;return}let a=e.pagesRef.value,o=e.pagesViewportRef.value;if(!a||!o){t.value=null;return}let s=o.getBoundingClientRect(),c=at(a,r);if(!c){t.value=null;return}let l=c.getBoundingClientRect().top-s.top+o.scrollTop,u=a.querySelector(`.layout-page`);if(!u){t.value=null;return}t.value={top:l,left:u.getBoundingClientRect().right-s.left+8}}function c(){e.stateTick.value;let t=e.editorView.value;if(!t)return;let n=t.state.selection.$from,r=[...t.state.storedMarks??[],...n.nodeAfter?.marks??[],...n.nodeBefore?.marks??[],...n.marks()],i=null;for(let t of r){if(t.type.name===`comment`&&t.attrs.commentId!=null){let n=t.attrs.commentId;if(n===-1||e.resolvedCommentIds.value.has(n))continue;i=`comment-${n}`;break}if((t.type.name===`insertion`||t.type.name===`deletion`)&&t.attrs.revisionId!=null){let n=String(t.attrs.revisionId),r=e.trackedChanges.value.findIndex(e=>String(e.revisionId)===n||String(e.insertionRevisionId??``)===n);if(r>=0){i=`tc-${e.trackedChanges.value[r].revisionId}-${r}`;break}}}i&&(e.showSidebar.value=!0),e.activeSidebarItem.value=i}function l(){let i=e.editorView.value;if(!i)return;let{from:a,to:o}=i.state.selection;if(a===o)return;n.value={from:a,to:o},r.value=t.value?.top??null;let s=i.state.schema.marks.comment;if(s){let e=i.state.tr.addMark(a,o,s.create({commentId:-1}));i.dispatch(e)}e.showSidebar.value=!0,e.isAddingComment.value=!0,t.value=null}function u(t){let i=e.getDocument(),a=e.editorView.value;if(!i?.package)return;i.package.document.comments||(i.package.document.comments=[]);let o=rt(i.package.document.comments,t,`User`);i.package.document.comments.push(o),e.comments.value=[...i.package.document.comments];let s=n.value;if(a&&s&&s.from!==s.to){let e=a.state.schema.marks.comment;if(e){let t=a.state.tr.removeMark(s.from,s.to,e);t=t.addMark(s.from,s.to,e.create({commentId:o.id})),a.dispatch(t)}}n.value=null,r.value=null,e.isAddingComment.value=!1,e.emit(`change`,i)}function d(){let t=e.editorView.value,i=n.value;if(t&&i&&i.from!==i.to){let e=t.state.schema.marks.comment;e&&t.dispatch(t.state.tr.removeMark(i.from,i.to,e))}n.value=null,r.value=null,e.isAddingComment.value=!1}function f(t){e.showSidebar.value=!0}(0,a.watch)([e.stateTick,e.isAddingComment,e.zoom],()=>s()),(0,a.watch)(e.stateTick,()=>c());let p=null;return(0,a.onMounted)(()=>{p=new ResizeObserver(()=>s()),e.pagesRef.value&&p.observe(e.pagesRef.value),window.addEventListener(`resize`,s)}),(0,a.onBeforeUnmount)(()=>{p?.disconnect(),window.removeEventListener(`resize`,s)}),{floatingCommentBtn:t,pendingCommentRange:n,addCommentYPosition:r,sidebarAutoOpenedRef:i,extractCommentsAndChanges:o,handleAddComment:u,handleCancelAddComment:d,handleStartAddComment:l,handleMarkerClick:f,recomputeFloatingCommentBtn:s,recomputeActiveSidebarItem:c}}function dt(e){let t=(0,a.shallowRef)(null),n=(0,a.ref)(!1),r=(0,a.computed)(()=>{e.stateTick.value;let n=e.editorView.value,r=t.value;if(!n||!r)return null;let i=n.state.doc.nodeAt(r.pmPos);return!i||i.type.name!==`image`?null:{wrapType:i.attrs.wrapType??`inline`,displayMode:i.attrs.displayMode??`inline`,cssFloat:i.attrs.cssFloat??null}});function i(t){let n=e.editorView.value;if(!n)return;let r=n.state.schema.nodes.image;if(!r)return;let i=r.create({src:t.src,alt:t.alt,width:t.width,height:t.height}),{from:a}=n.state.selection,o=n.state.tr.insert(a,i);n.dispatch(o.scrollIntoView()),n.focus()}function o(n){let r=e.editorView.value,i=t.value;if(!r||!i)return;let a=(0,d.toolbarValueToLayoutTarget)(n);if(!a)return;let o=r.state.doc.nodeAt(i.pmPos),s=e.getCommands(),c=o?.attrs.wrapType===`inline`&&a!==`inline`?{initialPositionEmu:(0,d.captureInlinePositionEmu)(i.element,e.zoom.value)}:void 0,l=s.setImageWrapType?.(i.pmPos,a,c);l&&(l(r.state,e=>r.dispatch(e),r),r.focus())}function s(n){let r=e.editorView.value,i=t.value;if(!r||!i)return;let a=r.state.doc.nodeAt(i.pmPos);if(!a||a.type.name!==`image`)return;let o=a.attrs.transform||``,s=o.match(/rotate\((-?\d+(?:\.\d+)?)deg\)/),c=s?parseFloat(s[1]):0,l=/scaleX\(-1\)/.test(o),u=/scaleY\(-1\)/.test(o);n===`rotateCW`?c=(c+90)%360:n===`rotateCCW`?c=(c-90+360)%360:n===`flipH`?l=!l:n===`flipV`&&(u=!u);let d=[];c!==0&&d.push(`rotate(${c}deg)`),l&&d.push(`scaleX(-1)`),u&&d.push(`scaleY(-1)`);let f=d.length>0?d.join(` `):null,p=r.state.tr.setNodeMarkup(i.pmPos,void 0,{...a.attrs,transform:f});r.dispatch(p.scrollIntoView()),r.focus()}return{selectedImage:t,imageInteracting:n,imageToolbarContext:r,handleInsertImage:i,handleToolbarImageWrap:o,handleImageTransform:s}}function ft(e,t){return e.getBlob(t)}function pt(e,t){let n=e.state.doc.nodeAt(t);if(!n||n.type.name!==`image`)return;let r=`<img src="${n.attrs.src}" data-pm-image="true" data-width="${n.attrs.width??``}" data-height="${n.attrs.height??``}" data-wrap-type="${n.attrs.wrapType??``}" data-display-mode="${n.attrs.displayMode??``}" data-rid="${n.attrs.rId??``}" />`,i=new ClipboardItem({"text/html":new Blob([r],{type:`text/html`}),"text/plain":new Blob([`[image]`],{type:`text/plain`})});navigator.clipboard.write([i]).catch(()=>{let e=document.createElement(`textarea`);e.value=r,document.body.appendChild(e),e.select(),document.execCommand(`copy`),document.body.removeChild(e)})}function mt(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=n,r.readAsDataURL(e)})}function ht(e){return new Promise(t=>{let n=new Image;n.onload=()=>t({width:n.naturalWidth,height:n.naturalHeight}),n.onerror=()=>t({width:200,height:200}),n.src=e})}async function gt(e){try{let t=await navigator.clipboard.read();for(let n of t){let t=n.types.find(e=>e.startsWith(`image/`));if(t){let r=await mt(await ft(n,t)),i=await ht(r),a=i.width,o=i.height;a>612&&(o=Math.round(612/a*o),a=612);let s=e.state.schema.nodes.image.create({src:r,width:a,height:o,rId:`rId_img_${Date.now()}`,wrapType:`inline`,displayMode:`inline`});e.dispatch(e.state.tr.replaceSelectionWith(s));return}if(n.types.includes(`text/html`)){let t=await(await ft(n,`text/html`)).text(),r=t.match(/<img[^>]+src="([^"]+)"[^>]*>/i);if(r&&r[1]){let n=r[1],i=t.match(/data-width="(\d+)"/),a=t.match(/data-height="(\d+)"/),o=i?Number(i[1]):200,s=a?Number(a[1]):200,c=e.state.schema.nodes.image.create({src:n,width:o||200,height:s||200,rId:`rId_img_${Date.now()}`,wrapType:`inline`,displayMode:`inline`});e.dispatch(e.state.tr.replaceSelectionWith(c));return}}if(n.types.includes(`text/plain`)){let t=await(await ft(n,`text/plain`)).text();if(t&&t!==`[image]`){let{from:n}=e.state.selection;e.dispatch(e.state.tr.insertText(t,n))}return}}}catch{let t=await navigator.clipboard?.readText();if(t){let{from:n}=e.state.selection;e.dispatch(e.state.tr.insertText(t,n))}}}function _t(e,t){let n=e.state.doc.nodeAt(t);if(!n||n.type.name!==`image`)return;let r=document.createElement(`input`);r.type=`file`,r.accept=`image/*`,r.onchange=async()=>{let i=r.files?.[0];if(!i)return;let a=await mt(i),o=await ht(a),s=n.attrs.width||o.width,c=n.attrs.height||o.height,l=Math.min(s/o.width,c/o.height),u=Math.round(o.width*l),d=Math.round(o.height*l);try{let r=e.state.tr.setNodeMarkup(t,void 0,{...n.attrs,src:a,width:u,height:d,rId:`rId_img_${Date.now()}`});e.dispatch(r)}catch{}},r.click()}function vt(t){let{t:n}=e.d(),r=(0,a.ref)({isOpen:!1,position:{x:0,y:0},hasSelection:!1,inTable:!1,onImage:!1,canMergeCells:!1,canSplitCell:!1}),i=(0,a.ref)(null),o=(0,a.computed)(()=>[{action:`cut`,label:n(`contextMenu.cut`),shortcut:n(`contextMenu.cutShortcut`)},{action:`copy`,label:n(`contextMenu.copy`),shortcut:n(`contextMenu.copyShortcut`)},{action:`paste`,label:n(`contextMenu.paste`),shortcut:n(`contextMenu.pasteShortcut`),dividerAfter:!0},{action:`delete`,label:n(`contextMenu.delete`),shortcut:n(`contextMenu.deleteShortcut`)}]);function s(e){let n=t.editorView.value;if(!n)return;let a=e.target,o=(0,d.findImageElement)(a);if(o){let a=Number(o.dataset.pmStart);if(!isNaN(a)){try{let e=l.NodeSelection.create(n.state.doc,a);n.dispatch(n.state.tr.setSelection(e))}catch{}t.selectedImage.value={element:o,pmPos:a,width:o.offsetWidth,height:o.offsetHeight},t.clearOverlay();let s=n.state.doc.nodeAt(a);if(s&&s.type.name===`image`){let n=s.attrs.wrapType??`inline`,c=s.attrs.cssFloat;i.value={open:!0,position:{x:e.clientX,y:e.clientY},pmPos:a,currentWrapType:n,currentCssFloat:c??null,inlinePositionEmu:n===`inline`?(0,d.captureInlinePositionEmu)(o,t.zoom.value):void 0},r.value.isOpen=!1;return}}}{let{from:r,to:i}=n.state.selection,a=t.resolvePos(e.clientX,e.clientY);if(a!==null&&(a<r||a>i))try{t.setPmSelection(a)}catch{}}let s=(0,c.getTableContext)(n.state),{empty:u}=n.state.selection;i.value&&=null,r.value={isOpen:!0,position:{x:e.clientX,y:e.clientY},hasSelection:!u,inTable:s.isInTable,onImage:!!o,canMergeCells:!!s.hasMultiCellSelection,canSplitCell:!!s.canSplitCell}}function u(e){let n=t.editorView.value,a=t.selectedImage.value;if(!n||!a)return;let o=n.state.doc.nodeAt(a.pmPos);if(!o||o.type.name!==`image`)return;let s=o.attrs.wrapType??`inline`,c=o.attrs.cssFloat;i.value={open:!0,position:{x:e.clientX,y:e.clientY},pmPos:a.pmPos,currentWrapType:s,currentCssFloat:c??null,inlinePositionEmu:s===`inline`?(0,d.captureInlinePositionEmu)(a.element,t.zoom.value):void 0},r.value.isOpen=!1}function f(e){let n=t.editorView.value,r=i.value;if(!n||!r)return;let a=t.getCommands(),o=r.inlinePositionEmu&&e!==`inline`?{initialPositionEmu:r.inlinePositionEmu}:void 0,s=a.setImageWrapType?.(r.pmPos,e,o);s&&(s(n.state,e=>n.dispatch(e),n),n.focus())}function p(e){let n=t.editorView.value;if(!n)return;let r=t.getCommands();switch(e){case`cut`:if(t.selectedImage.value){pt(n,t.selectedImage.value.pmPos);let e=t.selectedImage.value.pmPos,r=n.state.doc.nodeAt(e);r&&(n.dispatch(n.state.tr.delete(e,e+r.nodeSize)),t.selectedImage.value=null)}else document.execCommand(`cut`);break;case`copy`:t.selectedImage.value?pt(n,t.selectedImage.value.pmPos):document.execCommand(`copy`);break;case`paste`:gt(n);break;case`pasteAsPlainText`:navigator.clipboard.readText().then(e=>{e&&n.dispatch(n.state.tr.insertText(e).scrollIntoView())}).catch(()=>{});break;case`delete`:{let{from:e,to:t}=n.state.selection;e!==t&&n.dispatch(n.state.tr.delete(e,t));break}case`selectAll`:{let e=l.TextSelection.create(n.state.doc,0,n.state.doc.content.size);n.dispatch(n.state.tr.setSelection(e));break}case`imageProperties`:t.selectedImage.value&&(t.showImageProperties.value=!0);break;case`replaceImage`:t.selectedImage.value&&_t(n,t.selectedImage.value.pmPos);break;case`deleteImage`:if(t.selectedImage.value){let e=t.selectedImage.value.pmPos,r=n.state.doc.nodeAt(e);r&&(n.dispatch(n.state.tr.delete(e,e+r.nodeSize)),t.selectedImage.value=null)}break;case`addRowAbove`:case`addRowBelow`:case`deleteRow`:case`addColumnLeft`:case`addColumnRight`:case`deleteColumn`:case`mergeCells`:case`splitCell`:{let t=r[e];t&&t()(n.state,e=>n.dispatch(e),n);break}}n.focus()}return{contextMenu:r,imageContextMenu:i,imageContextMenuTextActions:o,handleContextMenu:s,handleSelectedImageContextMenu:u,handleImageWrapSelect:f,handleContextMenuAction:p}}var yt=500;function bt(e){let t=(0,a.ref)(null),n=null;function r(){n!==null&&(clearTimeout(n),n=null)}let i=(0,a.ref)(null),o=0,s=null,c=0,u=!1,f=null,p=(0,a.ref)({currentPage:1,totalPages:1,visible:!1}),m=null;function h(t,n){return st(e.pagesRef.value,e.editorView.value,t,n)}function g(t,n){let r=e.editorView.value;if(!r)return;let i=r.state.doc.resolve(t),a=n===void 0?i:r.state.doc.resolve(n),o=l.TextSelection.between(i,a);r.dispatch(r.state.tr.setSelection(o))}function _(t){ot(e.pagesRef.value,e.pagesViewportRef.value,t)}function v(t){ct(e.pagesRef.value,t,g)}function y(t){lt(e.pagesRef.value,t,g)}function b(t){let n=e.editorView.value;if(!n)return;let r=null;if(n.state.doc.descendants((e,n)=>r===null?(e.attrs?.bookmarks)?.some(e=>e.name===t)?(r=n,!1):!0:!1),r!==null){_(r);try{g(Math.min(r+1,n.state.doc.content.size))}catch{g(r)}}}function x(a){if(e.readOnly.value||u)return;let o=e.pagesRef.value;if(!o)return;let s=e.pagesViewportRef.value;if(!s)return;let c=(0,T.detectTableInsertHover)({mouseX:a.clientX,mouseY:a.clientY,pagesContainer:o,target:a.target,hfEditMode:i.value?.position??null});if(!c){n===null&&(n=setTimeout(()=>{t.value=null,n=null},T.TABLE_INSERT_HIDE_DELAY_MS));return}let l=s.getBoundingClientRect();t.value={type:c.type,x:c.clientX-l.left,y:c.clientY-l.top,cellPmPos:c.cellPmPos},r()}function S(n){n.preventDefault(),n.stopPropagation();let r=t.value,i=e.editorView.value;if(!r||!i)return;let a=i.state.tr.setSelection(l.TextSelection.create(i.state.doc,r.cellPmPos+1));i.dispatch(a);let o=e.getCommands(),s=r.type===`row`?o.addRowBelow?.():o.addColumnRight?.();s&&(s(i.state,e=>i.dispatch(e),i),t.value=null,i.focus())}function C(t){let n=t.target?.closest(`a[href]`);if(!n)return;t.preventDefault();let r=n.getAttribute(`href`)||``;if(!r)return;if(r.startsWith(`#`)){let e=r.slice(1);e&&b(e);return}let i=e.editorView.value;if(i&&i.state.selection.from!==i.state.selection.to)return;let a=e.pagesViewportRef.value;if(!a)return;let o=a.getBoundingClientRect(),s=n.getBoundingClientRect();e.hyperlinkPopupData.value={href:r,displayText:n.textContent||``,tooltip:n.getAttribute(`title`)||void 0,position:{top:s.bottom-o.top+a.scrollTop+4,left:s.left-o.left+a.scrollLeft}}}function w(t){let n=t.target,r=n.closest(`.layout-page-header`),a=n.closest(`.layout-page-footer`),o=r??a;if(!o)return;let s=r?`header`:`footer`,c=e.getDocument();if(!c?.package)return;let l=c.package.document?.sections?.[0]?.properties??c.package.document?.finalSectionProperties??null,u=s===`header`?l?.headerReferences:l?.footerReferences,d=s===`header`?c.package.headers:c.package.footers;if(!u||!d)return;let f=(u.find(e=>e.type===`default`)??u.find(e=>e.type===`first`))?.rId??null,p=f?d.get(f)??null:null,m=e.pagesViewportRef.value;if(!m)return;let h=o.getBoundingClientRect(),g=m.getBoundingClientRect(),_=e.zoom.value||1;i.value={position:s,rId:f,headerFooter:p,targetRect:{top:(h.top-g.top+m.scrollTop)/_,left:(h.left-g.left+m.scrollLeft)/_,width:h.width/_,height:h.height/_}}}function E(t){let n=e.getDocument(),r=i.value;if(!n?.package||!r)return;let a=r.position===`header`?n.package.headers:n.package.footers;if(!a||!r.rId)return;let o=a.get(r.rId);o&&(o.content=t),e.reLayout(),e.emit(`change`,n)}function D(){let t=e.getDocument(),n=i.value;if(!t?.package||!n||!n.rId)return;let r=(n.position===`header`?t.package.headers:t.package.footers)?.get(n.rId);r&&(r.content=[]),i.value=null,e.reLayout(),e.emit(`change`,t)}function O(t){if(t.button!==0||e.imageInteracting.value)return;let n=e.editorView.value;if(!n||!e.readOnly.value&&e.tableResize.tryStartResize(t,n))return;let r=t.target,i=(0,d.findImageElement)(r);if(i){t.preventDefault(),t.stopPropagation();let r=Number(i.dataset.pmStart);if(!isNaN(r)){try{let e=l.NodeSelection.create(n.state.doc,r);n.dispatch(n.state.tr.setSelection(e))}catch{}e.selectedImage.value={element:i,pmPos:r,width:i.offsetWidth,height:i.offsetHeight},e.clearOverlay()}n.focus();return}e.selectedImage.value=null,t.preventDefault();let a=h(t.clientX,t.clientY);if(a===null){n.focus();return}let p=Date.now();if(p-o<yt&&s===a?c++:c=1,o=p,s=a,c===2)v(a);else if(c>=3)y(a),c=0;else{if(t.shiftKey){let{from:e}=n.state.selection;g(e,a)}else g(a);f=a,u=!0}n.focus()}function k(e){if(!u||f===null)return;let t=h(e.clientX,e.clientY);t!==null&&t!==f&&g(f,t)}function A(){u=!1}function j(){let t=e.pagesViewportRef.value,n=e.layout.value;if(!t||!n||n.pages.length===0)return;let r=t.scrollTop,i=n.pages.length,a=r+t.clientHeight/2,o=24,s=1;for(let e=0;e<n.pages.length;e++){let t=n.pages[e].size.h,r=o+t;if(a<r){s=e+1;break}o=r+24,s=e+2}s=Math.min(s,i),p.value={currentPage:s,totalPages:i,visible:!0},m&&clearTimeout(m),m=setTimeout(()=>{p.value={...p.value,visible:!1}},600)}return(0,a.onMounted)(()=>{window.addEventListener(`mousemove`,k),window.addEventListener(`mouseup`,A),e.pagesViewportRef.value?.addEventListener(`scroll`,j,{passive:!0})}),(0,a.onBeforeUnmount)(()=>{r(),window.removeEventListener(`mousemove`,k),window.removeEventListener(`mouseup`,A),e.pagesViewportRef.value?.removeEventListener(`scroll`,j),m&&clearTimeout(m)}),{tableInsertButton:t,hfEdit:i,scrollPageInfo:p,resolvePos:h,setPmSelection:g,scrollVisiblePositionIntoView:_,navigateToBookmark:b,handlePagesMouseDown:O,handlePagesMouseMove:x,handlePagesClick:C,handlePagesDoubleClick:w,handleTableInsertClick:S,clearTableInsertTimer:r,handleHfSave:E,handleHfRemove:D}}function xt(e){let t=null,n=null;function i(){let r=e.pagesRef.value;r&&(r.querySelectorAll(`.vue-sel-rect, .vue-caret`).forEach(e=>e.remove()),t!==null&&(clearInterval(t),t=null),n=null)}function o(){let a=e.pagesRef.value,o=e.editorView.value;if(!a||!o)return;i();let s=o.state.selection;if(s instanceof l.NodeSelection&&s.node.type.name===`image`){let t=null;for(let e of a.querySelectorAll(`[data-pm-start="${s.from}"]`)){let n=(0,d.findImageElement)(e);if(n){t=n;break}}if(t){let n=e.selectedImage.value;(!n||n.element!==t||n.pmPos!==s.from||n.width!==t.offsetWidth||n.height!==t.offsetHeight)&&(e.selectedImage.value={element:t,pmPos:s.from,width:t.offsetWidth,height:t.offsetHeight});return}}if(e.selectedImage.value)return;let{from:c,to:f,empty:p}=o.state.selection,m=a.scrollTop,h=a.scrollLeft;if(p){let e=(0,u.getCaretPositionFromDom)(a,c,a.getBoundingClientRect());if(e){let i=document.createElement(`div`);i.className=`vue-caret`,i.style.cssText=`
|
|
3
3
|
position: absolute;
|
|
4
4
|
left: ${e.x+h}px;
|
|
5
5
|
top: ${e.y+m}px;
|
|
@@ -17,4 +17,4 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=requi
|
|
|
17
17
|
background: rgba(66, 133, 244, 0.3);
|
|
18
18
|
pointer-events: none;
|
|
19
19
|
z-index: ${r.t.selectionOverlay};
|
|
20
|
-
`,a.appendChild(t)}}return(0,a.onBeforeUnmount)(()=>{i()}),{clearOverlay:i,updateSelectionOverlay:o}}function St(e){function t(t){let n=e.editorView.value;if(!n)return;let r=e.getCommands()[t];r&&(r()(n.state,e=>n.dispatch(e),n),n.focus())}function n(t,n){let r=e.editorView.value;if(!r)return;let i=e.getCommands().insertTable;i&&(i(t,n)(r.state,e=>r.dispatch(e),r),r.focus())}function r(n){switch(n){case`open`:e.docxInputRef.value?.click(),e.emit(`menu-action`,`open`);break;case`save`:e.emit(`menu-action`,`save`),e.downloadCurrentDocument();break;case`pageSetup`:e.showPageSetup.value=!0;break;case`clearFormatting`:e.handleClearFormatting();break;case`insertImage`:e.showInsertImage.value=!0;break;case`insertLink`:e.showHyperlink.value=!0;break;case`insertSymbol`:e.showInsertSymbol.value=!0;break;case`insertPageBreak`:e.handleInsertPageBreak();break;case`insertTOC`:t(`generateTOC`);break;case`outline`:e.handleToggleOutline();break;case`sidebar`:e.handleToggleSidebar();break;case`shortcuts`:e.showKeyboardShortcuts.value=!0;break;case`reportIssue`:(0,E.openReportIssue)();break;case`dirLTR`:t(`setLtr`);break;case`dirRTL`:t(`setRtl`);break}}return{handleMenuAction:r,handleMenuTableInsert:n,execSimpleCommand:t}}function Ct(e){async function t(t){e.sidebarAutoOpenedRef.value=!1,await e.loadDocumentBuffer(t)}function n(t){e.sidebarAutoOpenedRef.value=!1,e.loadDocument(t)}(0,a.watch)(e.documentBuffer,e=>{e&&t(e)}),(0,a.watch)(e.document,e=>{e&&n(e)}),(0,a.onMounted)(async()=>{await(0,a.nextTick)();let r=e.documentBuffer(),i=e.document();r?await t(r):i&&n(i)})}function wt(e){function t(){e.onPrint?.(),window.print()}function n(){t()}function r(){return e.zoom.value}function i(t){if(!Number.isInteger(t)||t<1)return;let n=e.pagesViewportRef.value,r=e.pagesRef.value?.querySelector(`[data-page-number="${t}"]`);if(!n||!r)return;let i=n.getBoundingClientRect(),a=r.getBoundingClientRect();n.scrollTo({top:a.top-i.top+n.scrollTop-24,behavior:`smooth`})}function a(t){Number.isFinite(t)&&e.scrollVisiblePositionIntoView(t)}function o(){return e.editorView.value?{getDocument:e.getDocument,getView:()=>e.editorView.value,getState:()=>e.editorView.value?.state??null}:null}function s(){return e.layout.value?.pages.length??0}function c(){let t=e.layout.value,n=e.editorView.value;if(!t||!n)return 0;let r=(0,_.findPageIndexContainingPmPos)(t,n.state.selection.from);return r==null?0:r+1}function l(t){let n=e.editorView.value;if(!n)return!1;let r=k(n.state.doc,t);return r?(e.scrollVisiblePositionIntoView(r.from+1),!0):!1}function u(t,n){return N(e.editorView.value,t,n)}function d(){return ee(e.editorView.value)}function f(){return e.comments.value}function p(t){return P(e.editorView.value,e.layout.value,t)}function m(t){return e.contentChangeSubscribers.add(t),()=>e.contentChangeSubscribers.delete(t)}function h(t){return e.selectionChangeSubscribers.add(t),()=>e.selectionChangeSubscribers.delete(t)}return{exposed:{getAgent:()=>null,save:e.save,setZoom:e.setZoom,getZoom:r,focus:e.focus,scrollToPage:i,scrollToPosition:a,openPrintPreview:n,print:t,loadDocument:e.loadDocument,loadDocumentBuffer:e.loadDocumentBuffer,destroy:e.destroy,getDocument:e.getDocument,getEditorRef:o,addComment:e.addComment,replyToComment:e.replyToComment,resolveComment:e.resolveComment,proposeChange:e.proposeChange,scrollToParaId:l,findInDocument:u,getSelectionInfo:d,getComments:f,applyFormatting:e.applyFormatting,setParagraphStyle:e.setParagraphStyle,getPageContent:p,getTotalPages:s,getCurrentPage:c,onContentChange:m,onSelectionChange:h}}}var Tt={class:`docx-editor-vue__toolbar-shell`},Et={key:0,class:`docx-editor-vue__error`},Dt={key:1,class:`docx-editor-vue__loading`},Ot={class:`docx-editor-vue__editor-area`},kt={key:0,class:`docx-editor-vue__vertical-ruler`},At=[`title`],jt=[`title`,`aria-label`],X=(0,a.defineComponent)({__name:`DocxEditor`,props:{documentBuffer:{default:null},document:{default:null},showToolbar:{type:Boolean,default:!0},showMenuBar:{type:Boolean,default:!0},showRuler:{type:Boolean,default:!0},documentName:{default:``},readOnly:{type:Boolean,default:!1},mode:{default:`editing`},onModeChange:{},i18n:{default:void 0},theme:{default:null},externalPlugins:{default:()=>[]},showZoomControl:{type:Boolean,default:!0},initialZoom:{default:1},toolbarExtra:{type:Function,default:void 0},className:{default:``},style:{type:[Boolean,null,String,Object,Array],default:void 0},showOutline:{type:Boolean,default:!1},showOutlineButton:{type:Boolean,default:!0},fontFamilies:{default:void 0},onPrint:{type:Function,default:void 0},disableFindReplaceShortcuts:{type:Boolean,default:!1},renderLogo:{type:Function,default:void 0},onDocumentNameChange:{type:Function,default:void 0},documentNameEditable:{type:Boolean,default:!0},renderTitleBarRight:{type:Function,default:void 0}},emits:[`change`,`update:document`,`error`,`ready`,`rename`,`menu-action`,`mode-change`],setup(n,{expose:r,emit:o}){let c=n,l=o,u=(0,a.ref)(c.mode),d=(0,a.computed)(()=>c.readOnly||u.value===`viewing`);e.u((0,a.computed)(()=>c.i18n));let{t:f}=e.c((0,a.computed)(()=>c.i18n)),p=(0,a.ref)(null),m=(0,a.ref)(null),g=(0,a.ref)(null),_=(0,a.ref)(0),v=new Set,y=new Set,b=new D.LayoutSelectionGate,x=(0,a.ref)(!1),S=(0,a.ref)(!1),C=(0,a.ref)(!1),w=(0,a.ref)(!1),T=(0,a.ref)(!1),E=(0,a.ref)(!1),O=(0,a.ref)(c.showOutline),k=(0,a.ref)(!1),A=(0,a.ref)(!1),j=(0,a.ref)(!1),M=(0,a.ref)(null),N=(0,a.shallowRef)([]),P=(0,a.shallowRef)([]),ne=(0,a.shallowRef)([]),{zoom:F,zoomPercent:re,isMinZoom:ie,isMaxZoom:ae,setZoom:oe,zoomIn:se,zoomOut:I,handleWheel:L,handleKeyDown:le,installShortcuts:ue,ZOOM_PRESETS:de}=i.n(c.initialZoom);ue();let{editorView:R,isReady:pe,parseError:B,layout:V,loadBuffer:me,loadDocument:H,save:U,focus:ge,destroy:_e,getDocument:W,getCommands:G,reLayout:be}=i.r({hiddenContainer:p,pagesContainer:m,readOnly:d,externalPlugins:c.externalPlugins,syncCoordinator:b,onChange:e=>{l(`change`,e),l(`update:document`,e),v.forEach(t=>t(e))},onError:e=>l(`error`,e),onSelectionUpdate:()=>{_.value++,wn();let e=ee(R.value);y.forEach(t=>t(e))}}),K=(0,a.computed)(()=>{_.value;let e=W();if(!e?.package?.document)return null;let t=e.package.document;return t.finalSectionProperties??t.sections?.[0]?.properties??null}),xe=(0,a.computed)(()=>(_.value,W()?.package?.theme??c.theme??null)),q=(0,a.computed)(()=>{let e=[];return A.value&&e.push(`translateX(-${s.SIDEBAR_DOCUMENT_SHIFT}px)`),F.value!==1&&e.push(`scale(${F.value})`),{transform:e.length>0?e.join(` `):void 0,transformOrigin:`top center`,transition:`transform 0.2s ease`}}),Se=(0,a.computed)(()=>({paddingLeft:`20px`,paddingRight:20+(A.value?s.SIDEBAR_DOCUMENT_SHIFT*2:0)+`px`,transition:`padding 0.2s ease`})),Ce=(0,a.computed)(()=>{let e=K.value;return(0,h.twipsToPixels)(e?.pageWidth??12240)*F.value}),we=(0,a.computed)(()=>{let e=new Set;for(let t of N.value)t.parentId==null&&t.done&&e.add(t.id);return e}),Te=(0,a.computed)(()=>{_.value;let e=R.value;if(!e)return[];let t=new Set,n=[];return e.state.doc.descendants(e=>{let r=e.attrs?.bookmarks;if(!r)return!0;for(let e of r){let r=e.name;!r||r.startsWith(`_`)||t.has(r)||(t.add(r),n.push({name:r,label:r}))}return!0}),n.sort((e,t)=>e.name.localeCompare(t.name))}),{floatingCommentBtn:Ee,pendingCommentRange:De,addCommentYPosition:Oe,sidebarAutoOpenedRef:ke,extractCommentsAndChanges:Ae,handleAddComment:je,handleCancelAddComment:Me,handleStartAddComment:Ne,handleMarkerClick:Pe}=ut({editorView:R,getDocument:W,comments:N,trackedChanges:P,resolvedCommentIds:we,activeSidebarItem:M,showSidebar:A,isAddingComment:j,readOnly:d,zoom:F,stateTick:_,pagesRef:m,pagesViewportRef:g,emit:l}),{docxInputRef:Fe,handleDocxFileChange:Ie,handleDocumentNameChange:Le,downloadCurrentDocument:J,emitReadyAfterSidebarStateRefresh:Re,loadDocumentBuffer:ze,loadDocument:Ve,save:He}=Ze({loadBuffer:me,loadParsedDocument:H,getDocument:W,saveBlob:U,extractCommentsAndChanges:Ae,emit:l,documentName:()=>c.documentName,onDocumentNameChange:c.onDocumentNameChange,nextTick:a.nextTick}),{hyperlinkPopupData:Y,handleHyperlinkSubmit:Ue,handleHyperlinkRemove:We,handleHyperlinkPopupNavigate:Ge,handleHyperlinkPopupEdit:Ke,handleHyperlinkPopupRemove:qe}=Qe({editorView:R,getCommands:G}),{handleClearFormatting:Je,handleApplyStyle:Ye,handleInsertPageBreak:rt,handleInsertSymbol:at,applyFormatting:ot,setParagraphStyle:st}=$e({editorView:R,getDocument:W}),{handlePageSetupApply:ct,handleLeftMarginChange:lt,handleRightMarginChange:ft,handleTopMarginChange:pt,handleBottomMarginChange:mt,handleIndentLeftChange:ht,handleIndentRightChange:gt,handleFirstLineIndentChange:_t,handleTabStopRemove:yt}=et({editorView:R,getDocument:W,readOnly:d,stateTick:_,reLayout:be,emit:l}),{handleToggleOutline:X,handleOutlineNavigate:Mt,handleToggleSidebar:Nt,handleEditorScrollMouseDown:Pt}=tt({editorView:R,showOutline:O,showSidebar:A,outlineHeadings:ne,activeSidebarItem:M,extractCommentsAndChanges:Ae});nt({showKeyboardShortcuts:k,showFindReplace:x,showHyperlink:C,handleZoomKeyDown:le,disableFindReplaceShortcuts:()=>c.disableFindReplaceShortcuts});let{addComment:Ft,replyToComment:It,resolveComment:Lt,proposeChange:Rt,handleCommentReply:zt,handleCommentUnresolve:Bt,handleCommentDelete:Vt,handleAcceptChange:Ht,handleRejectChange:Ut,handleTrackedChangeReply:Wt}=it({editorView:R,getDocument:W,comments:N,trackedChanges:P,showSidebar:A,isAddingComment:j,pendingCommentRange:De,contentChangeSubscribers:v,extractCommentsAndChanges:Ae,emit:l}),{selectedImage:Z,imageInteracting:Gt,imageToolbarContext:Kt,handleInsertImage:qt,handleToolbarImageWrap:Jt,handleImageTransform:Yt}=dt({editorView:R,zoom:F,stateTick:_,getCommands:G}),Xt=i.t(),Zt=null,{tableInsertButton:Q,hfEdit:$,scrollPageInfo:Qt,resolvePos:$t,setPmSelection:en,scrollVisiblePositionIntoView:tn,handlePagesMouseDown:nn,handlePagesMouseMove:rn,handlePagesClick:an,handlePagesDoubleClick:on,handleTableInsertClick:sn,clearTableInsertTimer:cn,handleHfSave:ln,handleHfRemove:un}=bt({editorView:R,pagesRef:m,pagesViewportRef:g,selectedImage:Z,imageInteracting:Gt,hyperlinkPopupData:Y,readOnly:d,zoom:F,layout:V,tableResize:Xt,getCommands:G,getDocument:W,reLayout:be,emit:l,clearOverlay:Cn}),{contextMenu:dn,imageContextMenu:fn,imageContextMenuTextActions:pn,handleContextMenu:mn,handleSelectedImageContextMenu:hn,handleImageWrapSelect:gn,handleContextMenuAction:_n}=vt({editorView:R,selectedImage:Z,zoom:F,showImageProperties:T,getCommands:G,clearOverlay:Cn,setPmSelection:en,resolvePos:$t}),{handleMenuAction:vn,handleMenuTableInsert:yn}=St({editorView:R,getCommands:G,docxInputRef:Fe,showPageSetup:E,showInsertImage:S,showHyperlink:C,showInsertSymbol:w,showKeyboardShortcuts:k,handleClearFormatting:Je,handleInsertPageBreak:rt,handleToggleOutline:X,handleToggleSidebar:Nt,downloadCurrentDocument:J,emit:l});Ct({documentBuffer:()=>c.documentBuffer,document:()=>c.document,loadDocumentBuffer:ze,loadDocument:Ve,sidebarAutoOpenedRef:ke});let bn=()=>R.value,xn=()=>m.value;(0,a.watch)(()=>c.mode,e=>{e&&e!==u.value&&(u.value=e)}),(0,a.watch)(()=>c.showOutline,e=>{O.value=!!e});function Sn(e){u.value!==e&&(u.value=e,l(`mode-change`,e))}(0,a.onMounted)(()=>{Zt=Xt.install()}),(0,a.onBeforeUnmount)(()=>{Zt?.()});function Cn(){Tn.clearOverlay()}function wn(){Tn.updateSelectionOverlay()}let Tn=xt({editorView:R,pagesRef:m,selectedImage:Z});(0,a.onBeforeUnmount)(()=>{Cn()});let{exposed:En}=wt({editorView:R,layout:V,pagesRef:m,pagesViewportRef:g,zoom:F,comments:N,focus:ge,destroy:_e,getDocument:W,setZoom:oe,save:He,loadDocument:Ve,loadDocumentBuffer:ze,addComment:Ft,replyToComment:It,resolveComment:Lt,proposeChange:Rt,applyFormatting:ot,setParagraphStyle:st,scrollVisiblePositionIntoView:tn,contentChangeSubscribers:v,selectionChangeSubscribers:y,onPrint:c.onPrint});return r(En),(r,i)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{class:(0,a.normalizeClass)([`docx-editor-vue ep-root paged-editor`,n.className,{"paged-editor--readonly":d.value,"paged-editor--hf-editing":(0,a.unref)($)!==null,"paged-editor--editing-header":(0,a.unref)($)?.position===`header`,"paged-editor--editing-footer":(0,a.unref)($)?.position===`footer`}]),style:(0,a.normalizeStyle)(n.style)},[(0,a.createElementVNode)(`div`,Tt,[(0,a.createVNode)(ve,{"show-menu-bar":n.showMenuBar,"document-name":n.documentName,"document-name-editable":n.documentNameEditable,"render-logo":n.renderLogo,"render-title-bar-right":n.renderTitleBarRight,onRename:(0,a.unref)(Le),onMenuAction:(0,a.unref)(vn),onInsertTable:(0,a.unref)(yn)},{"title-bar-left":(0,a.withCtx)(()=>[(0,a.renderSlot)(r.$slots,`title-bar-left`)]),"title-bar-right":(0,a.withCtx)(()=>[(0,a.renderSlot)(r.$slots,`title-bar-right`)]),_:3},8,[`show-menu-bar`,`document-name`,`document-name-editable`,`render-logo`,`render-title-bar-right`,`onRename`,`onMenuAction`,`onInsertTable`]),n.showToolbar?((0,a.openBlock)(),(0,a.createBlock)(t.x,{key:0,view:(0,a.unref)(R),"get-commands":(0,a.unref)(G),"state-tick":_.value,"zoom-percent":(0,a.unref)(re),"is-min-zoom":(0,a.unref)(ie),"is-max-zoom":(0,a.unref)(ae),"zoom-presets":(0,a.unref)(de),"show-zoom-control":n.showZoomControl,"editor-mode":u.value,"comments-sidebar-open":A.value,"image-context":(0,a.unref)(Kt),theme:xe.value,"font-families":n.fontFamilies,onInsertLink:i[0]||=e=>C.value=!0,onApplyStyle:(0,a.unref)(Ye),onZoomIn:(0,a.unref)(se),onZoomOut:(0,a.unref)(I),onZoomSet:(0,a.unref)(oe),onToggleSidebar:(0,a.unref)(Nt),onModeChange:Sn,onImageWrapType:(0,a.unref)(Jt),onImageProperties:i[1]||=e=>T.value=!0,onImageTransform:(0,a.unref)(Yt)},(0,a.createSlots)({"table-context":(0,a.withCtx)(()=>[(0,a.createVNode)(t.h,{view:(0,a.unref)(R),"get-commands":(0,a.unref)(G),"state-tick":_.value,theme:xe.value},null,8,[`view`,`get-commands`,`state-tick`,`theme`])]),_:2},[n.toolbarExtra?{name:`toolbar-extra`,fn:(0,a.withCtx)(()=>[((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(n.toolbarExtra)))]),key:`0`}:{name:`toolbar-extra`,fn:(0,a.withCtx)(()=>[(0,a.renderSlot)(r.$slots,`toolbar-extra`)]),key:`1`}]),1032,[`view`,`get-commands`,`state-tick`,`zoom-percent`,`is-min-zoom`,`is-max-zoom`,`zoom-presets`,`show-zoom-control`,`editor-mode`,`comments-sidebar-open`,`image-context`,`theme`,`font-families`,`onApplyStyle`,`onZoomIn`,`onZoomOut`,`onZoomSet`,`onToggleSidebar`,`onImageWrapType`,`onImageTransform`])):(0,a.createCommentVNode)(``,!0)]),(0,a.createVNode)(ye,{"show-find-replace":x.value,"onUpdate:showFindReplace":i[2]||=e=>x.value=e,"show-insert-image":S.value,"onUpdate:showInsertImage":i[3]||=e=>S.value=e,"show-hyperlink":C.value,"onUpdate:showHyperlink":i[4]||=e=>C.value=e,"show-insert-symbol":w.value,"onUpdate:showInsertSymbol":i[5]||=e=>w.value=e,"show-image-properties":T.value,"onUpdate:showImageProperties":i[6]||=e=>T.value=e,"show-page-setup":E.value,"onUpdate:showPageSetup":i[7]||=e=>E.value=e,"show-keyboard-shortcuts":k.value,"onUpdate:showKeyboardShortcuts":i[8]||=e=>k.value=e,view:(0,a.unref)(R),bookmarks:Te.value,"selected-image-pm-pos":(0,a.unref)(Z)?.pmPos??null,"section-properties":K.value,onInsertImage:(0,a.unref)(qt),onInsertSymbol:(0,a.unref)(at),onHyperlinkSubmit:(0,a.unref)(Ue),onHyperlinkRemove:(0,a.unref)(We),onPageSetupApply:(0,a.unref)(ct)},null,8,[`show-find-replace`,`show-insert-image`,`show-hyperlink`,`show-insert-symbol`,`show-image-properties`,`show-page-setup`,`show-keyboard-shortcuts`,`view`,`bookmarks`,`selected-image-pm-pos`,`section-properties`,`onInsertImage`,`onInsertSymbol`,`onHyperlinkSubmit`,`onHyperlinkRemove`,`onPageSetupApply`]),(0,a.unref)(B)?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,Et,(0,a.toDisplayString)((0,a.unref)(B)),1)):(0,a.createCommentVNode)(``,!0),!(0,a.unref)(pe)&&!(0,a.unref)(B)?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,Dt,`Loading...`)):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`div`,{ref_key:`hiddenPmRef`,ref:p,class:`docx-editor-vue__hidden-pm paged-editor__hidden-pm`},null,512),(0,a.createElementVNode)(`div`,{class:`docx-editor-vue__editor-scroll`,onMousedown:i[31]||=(...e)=>(0,a.unref)(Pt)&&(0,a.unref)(Pt)(...e)},[n.showRuler&&K.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:`docx-editor-vue__ruler-row`,style:(0,a.normalizeStyle)(Se.value)},[(0,a.createVNode)(t.o,{"section-props":K.value,zoom:(0,a.unref)(F),editable:!d.value,onLeftMarginChange:(0,a.unref)(lt),onRightMarginChange:(0,a.unref)(ft),onIndentLeftChange:(0,a.unref)(ht),onIndentRightChange:(0,a.unref)(gt),onFirstLineIndentChange:(0,a.unref)(_t),onTabStopRemove:(0,a.unref)(yt)},null,8,[`section-props`,`zoom`,`editable`,`onLeftMarginChange`,`onRightMarginChange`,`onIndentLeftChange`,`onIndentRightChange`,`onFirstLineIndentChange`,`onTabStopRemove`])],4)):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`div`,Ot,[(0,a.createElementVNode)(`div`,{ref_key:`pagesViewportRef`,ref:g,class:`docx-editor-vue__pages-viewport`,onMousedown:i[22]||=(...e)=>(0,a.unref)(nn)&&(0,a.unref)(nn)(...e),onMousemove:i[23]||=(...e)=>(0,a.unref)(rn)&&(0,a.unref)(rn)(...e),onClick:i[24]||=(...e)=>(0,a.unref)(an)&&(0,a.unref)(an)(...e),onDblclick:i[25]||=(...e)=>(0,a.unref)(on)&&(0,a.unref)(on)(...e),onContextmenu:i[26]||=(0,a.withModifiers)((...e)=>(0,a.unref)(mn)&&(0,a.unref)(mn)(...e),[`prevent`]),onWheel:i[27]||=(...e)=>(0,a.unref)(L)&&(0,a.unref)(L)(...e)},[n.showRuler&&K.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,kt,[(0,a.createVNode)(t.a,{"section-props":K.value,zoom:(0,a.unref)(F),editable:!d.value,onTopMarginChange:(0,a.unref)(pt),onBottomMarginChange:(0,a.unref)(mt)},null,8,[`section-props`,`zoom`,`editable`,`onTopMarginChange`,`onBottomMarginChange`])])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`div`,{ref_key:`pagesRef`,ref:m,class:`docx-editor-vue__pages paged-editor__pages`,style:(0,a.normalizeStyle)(q.value)},null,4),(0,a.createVNode)(he,{"is-open":(0,a.unref)($)!==null,position:(0,a.unref)($)?.position??`header`,"header-footer":(0,a.unref)($)?.headerFooter??null,styles:(0,a.unref)(W)()?.package?.styles??null,theme:(0,a.unref)(W)()?.package?.theme??null,"target-rect":(0,a.unref)($)?.targetRect??null,onSave:(0,a.unref)(ln),onClose:i[9]||=e=>$.value=null,onRemove:(0,a.unref)(un)},null,8,[`is-open`,`position`,`header-footer`,`styles`,`theme`,`target-rect`,`onSave`,`onRemove`]),(0,a.createVNode)(ce,{"image-info":(0,a.unref)(Z),zoom:(0,a.unref)(F),view:(0,a.unref)(R),onOpenProperties:i[10]||=e=>T.value=!0,onDeselect:i[11]||=e=>Z.value=null,onInteractStart:i[12]||=e=>Gt.value=!0,onInteractEnd:i[13]||=e=>Gt.value=!1,onContextMenu:(0,a.unref)(hn)},null,8,[`image-info`,`zoom`,`view`,`onContextMenu`]),(0,a.createVNode)(te,{"get-view":bn,"get-pages-container":xn,zoom:(0,a.unref)(F),"transaction-version":_.value,"sync-coordinator":(0,a.unref)(b)},null,8,[`zoom`,`transaction-version`,`sync-coordinator`]),(0,a.unref)(Ee)&&!j.value&&!d.value?((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:1,type:`button`,class:`docx-editor-vue__floating-comment`,style:(0,a.normalizeStyle)({top:(0,a.unref)(Ee).top+`px`,left:(0,a.unref)(Ee).left+`px`}),title:(0,a.unref)(f)(`comments.addComment`),onMousedown:i[14]||=(0,a.withModifiers)((...e)=>(0,a.unref)(Ne)&&(0,a.unref)(Ne)(...e),[`prevent`,`stop`])},[(0,a.createVNode)(e.p,{name:`add_comment`,size:16})],44,At)):(0,a.createCommentVNode)(``,!0),(0,a.unref)(Q)&&!d.value?((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:2,type:`button`,class:`docx-editor-vue__table-insert-btn`,style:(0,a.normalizeStyle)({left:(0,a.unref)(Q).x+`px`,top:(0,a.unref)(Q).y+`px`}),title:(0,a.unref)(Q).type===`row`?`Insert row below`:`Insert column to the right`,"aria-label":(0,a.unref)(Q).type===`row`?`Insert row below`:`Insert column to the right`,onMousedown:i[15]||=(...e)=>(0,a.unref)(sn)&&(0,a.unref)(sn)(...e),onMouseenter:i[16]||=(...e)=>(0,a.unref)(cn)&&(0,a.unref)(cn)(...e),onMouseleave:i[17]||=e=>Q.value=null},[...i[36]||=[(0,a.createElementVNode)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 12 12`,fill:`none`},[(0,a.createElementVNode)(`path`,{d:`M6 1v10M1 6h10`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})],-1)]],44,jt)):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)(t.s,{comments:N.value,"pages-container":m.value,zoom:(0,a.unref)(F),"page-width-px":Ce.value,"sidebar-open":A.value,"resolved-comment-ids":we.value,onMarkerClick:(0,a.unref)(Pe)},null,8,[`comments`,`pages-container`,`zoom`,`page-width-px`,`sidebar-open`,`resolved-comment-ids`,`onMarkerClick`]),(0,a.createVNode)(t.c,{"is-open":A.value,comments:N.value,"tracked-changes":P.value,"is-adding-comment":j.value,"add-comment-y-position":(0,a.unref)(Oe),"show-resolved":!0,"pages-container":m.value,"page-width-px":Ce.value,zoom:(0,a.unref)(F),"active-item-id":M.value,onClose:i[18]||=e=>A.value=!1,onAddComment:(0,a.unref)(je),onCancelAddComment:(0,a.unref)(Me),onCommentReply:(0,a.unref)(zt),onCommentResolve:(0,a.unref)(Lt),onCommentUnresolve:(0,a.unref)(Bt),onCommentDelete:(0,a.unref)(Vt),onAcceptChange:(0,a.unref)(Ht),onRejectChange:(0,a.unref)(Ut),onTrackedChangeReply:(0,a.unref)(Wt),"onUpdate:activeItemId":i[19]||=e=>M.value=e},null,8,[`is-open`,`comments`,`tracked-changes`,`is-adding-comment`,`add-comment-y-position`,`pages-container`,`page-width-px`,`zoom`,`active-item-id`,`onAddComment`,`onCancelAddComment`,`onCommentReply`,`onCommentResolve`,`onCommentUnresolve`,`onCommentDelete`,`onAcceptChange`,`onRejectChange`,`onTrackedChangeReply`]),(0,a.createVNode)(Xe,{data:(0,a.unref)(Y),"read-only":d.value,onNavigate:(0,a.unref)(Ge),onCopy:i[20]||=e=>Y.value=null,onEdit:(0,a.unref)(Ke),onRemove:(0,a.unref)(qe),onClose:i[21]||=e=>Y.value=null},null,8,[`data`,`read-only`,`onNavigate`,`onEdit`,`onRemove`])],544),!O.value&&n.showOutlineButton?((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:0,type:`button`,class:`docx-editor-vue__outline-toggle`,title:`Show document outline`,onClick:i[28]||=(...e)=>(0,a.unref)(X)&&(0,a.unref)(X)(...e),onMousedown:i[29]||=(0,a.withModifiers)(()=>{},[`stop`])},[(0,a.createVNode)(e.p,{name:`format_list_bulleted`,size:20})],32)):(0,a.createCommentVNode)(``,!0),(0,a.unref)(Qt).totalPages>1?((0,a.openBlock)(),(0,a.createBlock)(z,{key:1,"current-page":(0,a.unref)(Qt).currentPage,"total-pages":(0,a.unref)(Qt).totalPages,visible:(0,a.unref)(Qt).visible},null,8,[`current-page`,`total-pages`,`visible`])):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)(fe,{"is-open":O.value,headings:ne.value,onClose:i[30]||=e=>O.value=!1,onNavigate:(0,a.unref)(Mt)},null,8,[`is-open`,`headings`,`onNavigate`])])],32),(0,a.createElementVNode)(`input`,{ref_key:`docxInputRef`,ref:Fe,type:`file`,accept:`.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document`,style:{display:`none`},onChange:i[32]||=(...e)=>(0,a.unref)(Ie)&&(0,a.unref)(Ie)(...e)},null,544),(0,a.createVNode)(Be,{"read-only":d.value,"context-menu":(0,a.unref)(dn),"image-context-menu":(0,a.unref)(fn),"image-context-menu-text-actions":(0,a.unref)(pn),"can-open-image-properties":!!(0,a.unref)(Z),onContextMenuAction:(0,a.unref)(_n),onCloseContextMenu:i[33]||=e=>(0,a.unref)(dn).isOpen=!1,onImageWrapSelect:(0,a.unref)(gn),onCloseImageContextMenu:i[34]||=e=>fn.value=null,onOpenImageProperties:i[35]||=e=>T.value=!0},null,8,[`read-only`,`context-menu`,`image-context-menu`,`image-context-menu-text-actions`,`can-open-image-properties`,`onContextMenuAction`,`onImageWrapSelect`])],6))}});async function Mt(e,t,n={}){let r=e instanceof ArrayBuffer?e:await(0,s.toArrayBuffer)(e),i=null,o=null,c=!1,l={save:async()=>{let e=await(i?.save()??Promise.resolve(null));return e?new Blob([e],{type:`application/vnd.openxmlformats-officedocument.wordprocessingml.document`}):null},getDocument:()=>i?.getDocument()??null,focus:()=>{i?.focus()},setZoom:e=>{i?.setZoom(e)},scrollToParaId:e=>i?.scrollToParaId(e)??!1,scrollToPosition:e=>{i?.scrollToPosition(e)},destroy:()=>{i?.destroy(),o?.unmount(),o=null}};return new Promise((e,s)=>{o=(0,a.createApp)({setup(){return()=>(0,a.h)(X,{...n,documentBuffer:r,showToolbar:n.showToolbar??!0,readOnly:n.readOnly??!1,ref:e=>{i=e??null},onReady:()=>{n.onReady?.(),c||(c=!0,e(l))},onError:e=>{n.onError?.(e),c||(c=!0,s(e))},onChange:n.onChange,onRename:n.onRename,onMenuAction:n.onMenuAction,onModeChange:n.onModeChange})}}),o.mount(t)})}var Nt=`0.0.2`;exports.DocxEditor=X,exports.VERSION=Nt,exports.defaultLocale=e.f,exports.i18nPlugin=e.l,exports.provideLocale=e.u,exports.renderAsync=Mt,exports.useTranslation=e.d;
|
|
20
|
+
`,a.appendChild(t)}}return(0,a.onBeforeUnmount)(()=>{i()}),{clearOverlay:i,updateSelectionOverlay:o}}function St(e){function t(t){let n=e.editorView.value;if(!n)return;let r=e.getCommands()[t];r&&(r()(n.state,e=>n.dispatch(e),n),n.focus())}function n(t,n){let r=e.editorView.value;if(!r)return;let i=e.getCommands().insertTable;i&&(i(t,n)(r.state,e=>r.dispatch(e),r),r.focus())}function r(n){switch(n){case`open`:e.docxInputRef.value?.click(),e.emit(`menu-action`,`open`);break;case`save`:e.emit(`menu-action`,`save`),e.downloadCurrentDocument();break;case`pageSetup`:e.showPageSetup.value=!0;break;case`clearFormatting`:e.handleClearFormatting();break;case`insertImage`:e.showInsertImage.value=!0;break;case`insertLink`:e.showHyperlink.value=!0;break;case`insertSymbol`:e.showInsertSymbol.value=!0;break;case`insertPageBreak`:e.handleInsertPageBreak();break;case`insertTOC`:t(`generateTOC`);break;case`outline`:e.handleToggleOutline();break;case`sidebar`:e.handleToggleSidebar();break;case`shortcuts`:e.showKeyboardShortcuts.value=!0;break;case`reportIssue`:(0,E.openReportIssue)();break;case`dirLTR`:t(`setLtr`);break;case`dirRTL`:t(`setRtl`);break}}return{handleMenuAction:r,handleMenuTableInsert:n,execSimpleCommand:t}}function Ct(e){async function t(t){e.sidebarAutoOpenedRef.value=!1,await e.loadDocumentBuffer(t)}function n(t){e.sidebarAutoOpenedRef.value=!1,e.loadDocument(t)}(0,a.watch)(e.documentBuffer,e=>{e&&t(e)}),(0,a.watch)(e.document,e=>{e&&n(e)}),(0,a.onMounted)(async()=>{await(0,a.nextTick)();let r=e.documentBuffer(),i=e.document();r?await t(r):i&&n(i)})}function wt(e){function t(){e.onPrint?.(),window.print()}function n(){t()}function r(){return e.zoom.value}function i(t){if(!Number.isInteger(t)||t<1)return;let n=e.pagesViewportRef.value,r=e.pagesRef.value?.querySelector(`[data-page-number="${t}"]`);if(!n||!r)return;let i=n.getBoundingClientRect(),a=r.getBoundingClientRect();n.scrollTo({top:a.top-i.top+n.scrollTop-24,behavior:`smooth`})}function a(t){Number.isFinite(t)&&e.scrollVisiblePositionIntoView(t)}function o(){return e.editorView.value?{getDocument:e.getDocument,getView:()=>e.editorView.value,getState:()=>e.editorView.value?.state??null}:null}function s(){return e.layout.value?.pages.length??0}function c(){let t=e.layout.value,n=e.editorView.value;if(!t||!n)return 0;let r=(0,_.findPageIndexContainingPmPos)(t,n.state.selection.from);return r==null?0:r+1}function l(t){let n=e.editorView.value;if(!n)return!1;let r=A(n.state.doc,t);return r?(e.scrollVisiblePositionIntoView(r.from+1),!0):!1}function u(t,n){return P(e.editorView.value,t,n)}function d(){return ee(e.editorView.value)}function f(){return e.comments.value}function p(t){return te(e.editorView.value,e.layout.value,t)}function m(t){return e.contentChangeSubscribers.add(t),()=>e.contentChangeSubscribers.delete(t)}function h(t){return e.selectionChangeSubscribers.add(t),()=>e.selectionChangeSubscribers.delete(t)}return{exposed:{getAgent:()=>null,save:e.save,setZoom:e.setZoom,getZoom:r,focus:e.focus,scrollToPage:i,scrollToPosition:a,openPrintPreview:n,print:t,loadDocument:e.loadDocument,loadDocumentBuffer:e.loadDocumentBuffer,destroy:e.destroy,getDocument:e.getDocument,getEditorRef:o,addComment:e.addComment,replyToComment:e.replyToComment,resolveComment:e.resolveComment,proposeChange:e.proposeChange,scrollToParaId:l,findInDocument:u,getSelectionInfo:d,getComments:f,applyFormatting:e.applyFormatting,setParagraphStyle:e.setParagraphStyle,getPageContent:p,getTotalPages:s,getCurrentPage:c,onContentChange:m,onSelectionChange:h}}}var Tt={class:`docx-editor-vue__toolbar-shell`},Et={key:0,class:`docx-editor-vue__error`},Dt={key:1,class:`docx-editor-vue__loading`},Ot={class:`docx-editor-vue__editor-area`},kt={key:0,class:`docx-editor-vue__vertical-ruler`},At=[`title`],jt=[`title`,`aria-label`],Mt=(0,a.defineComponent)({__name:`DocxEditor`,props:{documentBuffer:{default:null},document:{default:null},showToolbar:{type:Boolean,default:!0},showMenuBar:{type:Boolean,default:!0},showRuler:{type:Boolean,default:!0},documentName:{default:``},readOnly:{type:Boolean,default:!1},mode:{default:`editing`},onModeChange:{},i18n:{default:void 0},theme:{default:null},externalPlugins:{default:()=>[]},showZoomControl:{type:Boolean,default:!0},initialZoom:{default:1},toolbarExtra:{type:Function,default:void 0},className:{default:``},style:{type:[Boolean,null,String,Object,Array],default:void 0},showOutline:{type:Boolean,default:!1},showOutlineButton:{type:Boolean,default:!0},fontFamilies:{default:void 0},onPrint:{type:Function,default:void 0},disableFindReplaceShortcuts:{type:Boolean,default:!1},renderLogo:{type:Function,default:void 0},onDocumentNameChange:{type:Function,default:void 0},documentNameEditable:{type:Boolean,default:!0},renderTitleBarRight:{type:Function,default:void 0}},emits:[`change`,`update:document`,`error`,`ready`,`rename`,`menu-action`,`mode-change`],setup(n,{expose:r,emit:o}){let c=n,l=o,u=(0,a.ref)(c.mode),d=(0,a.computed)(()=>c.readOnly||u.value===`viewing`);e.u((0,a.computed)(()=>c.i18n));let{t:f}=e.c((0,a.computed)(()=>c.i18n)),p=(0,a.ref)(null),m=(0,a.ref)(null),g=(0,a.ref)(null),_=(0,a.ref)(0),v=new Set,y=new Set,b=new D.LayoutSelectionGate,x=(0,a.ref)(!1),S=(0,a.ref)(!1),C=(0,a.ref)(!1),w=(0,a.ref)(!1),T=(0,a.ref)(!1),E=(0,a.ref)(!1),O=(0,a.ref)(c.showOutline),k=(0,a.ref)(!1),A=(0,a.ref)(!1),j=(0,a.ref)(!1),M=(0,a.ref)(null),N=(0,a.shallowRef)([]),P=(0,a.shallowRef)([]),te=(0,a.shallowRef)([]),{zoom:F,zoomPercent:re,isMinZoom:ie,isMaxZoom:ae,setZoom:oe,zoomIn:se,zoomOut:ce,handleWheel:I,handleKeyDown:ue,installShortcuts:de,ZOOM_PRESETS:fe}=i.n(c.initialZoom);de();let{editorView:L,isReady:z,parseError:B,layout:V,loadBuffer:me,loadDocument:H,save:W,focus:he,destroy:ge,getDocument:G,getCommands:K,reLayout:ye}=i.r({hiddenContainer:p,pagesContainer:m,readOnly:d,externalPlugins:c.externalPlugins,syncCoordinator:b,onChange:e=>{l(`change`,e),l(`update:document`,e),v.forEach(t=>t(e))},onError:e=>l(`error`,e),onSelectionUpdate:()=>{_.value++,wn();let e=ee(L.value);y.forEach(t=>t(e))}}),q=(0,a.computed)(()=>{_.value;let e=G();if(!e?.package?.document)return null;let t=e.package.document;return t.finalSectionProperties??t.sections?.[0]?.properties??null}),be=(0,a.computed)(()=>(_.value,G()?.package?.theme??c.theme??null)),xe=(0,a.computed)(()=>{let e=[];return A.value&&e.push(`translateX(-${s.SIDEBAR_DOCUMENT_SHIFT}px)`),F.value!==1&&e.push(`scale(${F.value})`),{transform:e.length>0?e.join(` `):void 0,transformOrigin:`top center`,transition:`transform 0.2s ease`}}),J=(0,a.computed)(()=>({paddingLeft:`20px`,paddingRight:20+(A.value?s.SIDEBAR_DOCUMENT_SHIFT*2:0)+`px`,transition:`padding 0.2s ease`})),Se=(0,a.computed)(()=>{let e=q.value;return(0,h.twipsToPixels)(e?.pageWidth??12240)*F.value}),Ce=(0,a.computed)(()=>{let e=new Set;for(let t of N.value)t.parentId==null&&t.done&&e.add(t.id);return e}),we=(0,a.computed)(()=>{_.value;let e=L.value;if(!e)return[];let t=new Set,n=[];return e.state.doc.descendants(e=>{let r=e.attrs?.bookmarks;if(!r)return!0;for(let e of r){let r=e.name;!r||r.startsWith(`_`)||t.has(r)||(t.add(r),n.push({name:r,label:r}))}return!0}),n.sort((e,t)=>e.name.localeCompare(t.name))}),{floatingCommentBtn:Te,pendingCommentRange:Ee,addCommentYPosition:De,sidebarAutoOpenedRef:Oe,extractCommentsAndChanges:ke,handleAddComment:Ae,handleCancelAddComment:je,handleStartAddComment:Me,handleMarkerClick:Ne}=ut({editorView:L,getDocument:G,comments:N,trackedChanges:P,resolvedCommentIds:Ce,activeSidebarItem:M,showSidebar:A,isAddingComment:j,readOnly:d,zoom:F,stateTick:_,pagesRef:m,pagesViewportRef:g,emit:l}),{docxInputRef:Pe,handleDocxFileChange:Fe,handleDocumentNameChange:Ie,downloadCurrentDocument:Le,emitReadyAfterSidebarStateRefresh:Y,loadDocumentBuffer:Re,loadDocument:ze,save:Ve}=Ze({loadBuffer:me,loadParsedDocument:H,getDocument:G,saveBlob:W,extractCommentsAndChanges:ke,emit:l,documentName:()=>c.documentName,onDocumentNameChange:c.onDocumentNameChange,nextTick:a.nextTick}),{hyperlinkPopupData:X,handleHyperlinkSubmit:He,handleHyperlinkRemove:Ue,handleHyperlinkPopupNavigate:We,handleHyperlinkPopupEdit:Ge,handleHyperlinkPopupRemove:Ke}=Qe({editorView:L,getCommands:K}),{handleClearFormatting:qe,handleApplyStyle:Je,handleInsertPageBreak:Ye,handleInsertSymbol:rt,applyFormatting:at,setParagraphStyle:ot}=$e({editorView:L,getDocument:G}),{handlePageSetupApply:st,handleLeftMarginChange:ct,handleRightMarginChange:lt,handleTopMarginChange:ft,handleBottomMarginChange:pt,handleIndentLeftChange:mt,handleIndentRightChange:ht,handleFirstLineIndentChange:gt,handleTabStopRemove:_t}=et({editorView:L,getDocument:G,readOnly:d,stateTick:_,reLayout:ye,emit:l}),{handleToggleOutline:yt,handleOutlineNavigate:Mt,handleToggleSidebar:Nt,handleEditorScrollMouseDown:Pt}=tt({editorView:L,showOutline:O,showSidebar:A,outlineHeadings:te,activeSidebarItem:M,extractCommentsAndChanges:ke});nt({showKeyboardShortcuts:k,showFindReplace:x,showHyperlink:C,handleZoomKeyDown:ue,disableFindReplaceShortcuts:()=>c.disableFindReplaceShortcuts});let{addComment:Ft,replyToComment:It,resolveComment:Lt,proposeChange:Rt,handleCommentReply:zt,handleCommentUnresolve:Bt,handleCommentDelete:Vt,handleAcceptChange:Ht,handleRejectChange:Ut,handleTrackedChangeReply:Wt}=it({editorView:L,getDocument:G,comments:N,trackedChanges:P,showSidebar:A,isAddingComment:j,pendingCommentRange:Ee,contentChangeSubscribers:v,extractCommentsAndChanges:ke,emit:l}),{selectedImage:Z,imageInteracting:Gt,imageToolbarContext:Kt,handleInsertImage:qt,handleToolbarImageWrap:Jt,handleImageTransform:Yt}=dt({editorView:L,zoom:F,stateTick:_,getCommands:K}),Xt=i.t(),Zt=null,{tableInsertButton:Q,hfEdit:$,scrollPageInfo:Qt,resolvePos:$t,setPmSelection:en,scrollVisiblePositionIntoView:tn,handlePagesMouseDown:nn,handlePagesMouseMove:rn,handlePagesClick:an,handlePagesDoubleClick:on,handleTableInsertClick:sn,clearTableInsertTimer:cn,handleHfSave:ln,handleHfRemove:un}=bt({editorView:L,pagesRef:m,pagesViewportRef:g,selectedImage:Z,imageInteracting:Gt,hyperlinkPopupData:X,readOnly:d,zoom:F,layout:V,tableResize:Xt,getCommands:K,getDocument:G,reLayout:ye,emit:l,clearOverlay:Cn}),{contextMenu:dn,imageContextMenu:fn,imageContextMenuTextActions:pn,handleContextMenu:mn,handleSelectedImageContextMenu:hn,handleImageWrapSelect:gn,handleContextMenuAction:_n}=vt({editorView:L,selectedImage:Z,zoom:F,showImageProperties:T,getCommands:K,clearOverlay:Cn,setPmSelection:en,resolvePos:$t}),{handleMenuAction:vn,handleMenuTableInsert:yn}=St({editorView:L,getCommands:K,docxInputRef:Pe,showPageSetup:E,showInsertImage:S,showHyperlink:C,showInsertSymbol:w,showKeyboardShortcuts:k,handleClearFormatting:qe,handleInsertPageBreak:Ye,handleToggleOutline:yt,handleToggleSidebar:Nt,downloadCurrentDocument:Le,emit:l});Ct({documentBuffer:()=>c.documentBuffer,document:()=>c.document,loadDocumentBuffer:Re,loadDocument:ze,sidebarAutoOpenedRef:Oe});let bn=()=>L.value,xn=()=>m.value;(0,a.watch)(()=>c.mode,e=>{e&&e!==u.value&&(u.value=e)}),(0,a.watch)(()=>c.showOutline,e=>{O.value=!!e});function Sn(e){u.value!==e&&(u.value=e,l(`mode-change`,e))}(0,a.onMounted)(()=>{Zt=Xt.install()}),(0,a.onBeforeUnmount)(()=>{Zt?.()});function Cn(){Tn.clearOverlay()}function wn(){Tn.updateSelectionOverlay()}let Tn=xt({editorView:L,pagesRef:m,selectedImage:Z});(0,a.onBeforeUnmount)(()=>{Cn()});let{exposed:En}=wt({editorView:L,layout:V,pagesRef:m,pagesViewportRef:g,zoom:F,comments:N,focus:he,destroy:ge,getDocument:G,setZoom:oe,save:Ve,loadDocument:ze,loadDocumentBuffer:Re,addComment:Ft,replyToComment:It,resolveComment:Lt,proposeChange:Rt,applyFormatting:at,setParagraphStyle:ot,scrollVisiblePositionIntoView:tn,contentChangeSubscribers:v,selectionChangeSubscribers:y,onPrint:c.onPrint});return r(En),(r,i)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{class:(0,a.normalizeClass)([`docx-editor-vue ep-root paged-editor`,n.className,{"paged-editor--readonly":d.value,"paged-editor--hf-editing":(0,a.unref)($)!==null,"paged-editor--editing-header":(0,a.unref)($)?.position===`header`,"paged-editor--editing-footer":(0,a.unref)($)?.position===`footer`}]),style:(0,a.normalizeStyle)(n.style)},[(0,a.createElementVNode)(`div`,Tt,[(0,a.createVNode)(_e,{"show-menu-bar":n.showMenuBar,"document-name":n.documentName,"document-name-editable":n.documentNameEditable,"render-logo":n.renderLogo,"render-title-bar-right":n.renderTitleBarRight,onRename:(0,a.unref)(Ie),onMenuAction:(0,a.unref)(vn),onInsertTable:(0,a.unref)(yn)},{"title-bar-left":(0,a.withCtx)(()=>[(0,a.renderSlot)(r.$slots,`title-bar-left`)]),"title-bar-right":(0,a.withCtx)(()=>[(0,a.renderSlot)(r.$slots,`title-bar-right`)]),_:3},8,[`show-menu-bar`,`document-name`,`document-name-editable`,`render-logo`,`render-title-bar-right`,`onRename`,`onMenuAction`,`onInsertTable`]),n.showToolbar?((0,a.openBlock)(),(0,a.createBlock)(t.x,{key:0,view:(0,a.unref)(L),"get-commands":(0,a.unref)(K),"state-tick":_.value,"zoom-percent":(0,a.unref)(re),"is-min-zoom":(0,a.unref)(ie),"is-max-zoom":(0,a.unref)(ae),"zoom-presets":(0,a.unref)(fe),"show-zoom-control":n.showZoomControl,"editor-mode":u.value,"comments-sidebar-open":A.value,"image-context":(0,a.unref)(Kt),theme:be.value,"font-families":n.fontFamilies,onInsertLink:i[0]||=e=>C.value=!0,onApplyStyle:(0,a.unref)(Je),onZoomIn:(0,a.unref)(se),onZoomOut:(0,a.unref)(ce),onZoomSet:(0,a.unref)(oe),onToggleSidebar:(0,a.unref)(Nt),onModeChange:Sn,onImageWrapType:(0,a.unref)(Jt),onImageProperties:i[1]||=e=>T.value=!0,onImageTransform:(0,a.unref)(Yt)},(0,a.createSlots)({"table-context":(0,a.withCtx)(()=>[(0,a.createVNode)(t.h,{view:(0,a.unref)(L),"get-commands":(0,a.unref)(K),"state-tick":_.value,theme:be.value},null,8,[`view`,`get-commands`,`state-tick`,`theme`])]),_:2},[n.toolbarExtra?{name:`toolbar-extra`,fn:(0,a.withCtx)(()=>[((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(n.toolbarExtra)))]),key:`0`}:{name:`toolbar-extra`,fn:(0,a.withCtx)(()=>[(0,a.renderSlot)(r.$slots,`toolbar-extra`)]),key:`1`}]),1032,[`view`,`get-commands`,`state-tick`,`zoom-percent`,`is-min-zoom`,`is-max-zoom`,`zoom-presets`,`show-zoom-control`,`editor-mode`,`comments-sidebar-open`,`image-context`,`theme`,`font-families`,`onApplyStyle`,`onZoomIn`,`onZoomOut`,`onZoomSet`,`onToggleSidebar`,`onImageWrapType`,`onImageTransform`])):(0,a.createCommentVNode)(``,!0)]),(0,a.createVNode)(ve,{"show-find-replace":x.value,"onUpdate:showFindReplace":i[2]||=e=>x.value=e,"show-insert-image":S.value,"onUpdate:showInsertImage":i[3]||=e=>S.value=e,"show-hyperlink":C.value,"onUpdate:showHyperlink":i[4]||=e=>C.value=e,"show-insert-symbol":w.value,"onUpdate:showInsertSymbol":i[5]||=e=>w.value=e,"show-image-properties":T.value,"onUpdate:showImageProperties":i[6]||=e=>T.value=e,"show-page-setup":E.value,"onUpdate:showPageSetup":i[7]||=e=>E.value=e,"show-keyboard-shortcuts":k.value,"onUpdate:showKeyboardShortcuts":i[8]||=e=>k.value=e,view:(0,a.unref)(L),bookmarks:we.value,"selected-image-pm-pos":(0,a.unref)(Z)?.pmPos??null,"section-properties":q.value,onInsertImage:(0,a.unref)(qt),onInsertSymbol:(0,a.unref)(rt),onHyperlinkSubmit:(0,a.unref)(He),onHyperlinkRemove:(0,a.unref)(Ue),onPageSetupApply:(0,a.unref)(st)},null,8,[`show-find-replace`,`show-insert-image`,`show-hyperlink`,`show-insert-symbol`,`show-image-properties`,`show-page-setup`,`show-keyboard-shortcuts`,`view`,`bookmarks`,`selected-image-pm-pos`,`section-properties`,`onInsertImage`,`onInsertSymbol`,`onHyperlinkSubmit`,`onHyperlinkRemove`,`onPageSetupApply`]),(0,a.unref)(B)?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,Et,(0,a.toDisplayString)((0,a.unref)(B)),1)):(0,a.createCommentVNode)(``,!0),!(0,a.unref)(z)&&!(0,a.unref)(B)?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,Dt,`Loading...`)):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`div`,{ref_key:`hiddenPmRef`,ref:p,class:`docx-editor-vue__hidden-pm paged-editor__hidden-pm`},null,512),(0,a.createElementVNode)(`div`,{class:`docx-editor-vue__editor-scroll`,onMousedown:i[31]||=(...e)=>(0,a.unref)(Pt)&&(0,a.unref)(Pt)(...e)},[n.showRuler&&q.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:`docx-editor-vue__ruler-row`,style:(0,a.normalizeStyle)(J.value)},[(0,a.createVNode)(t.o,{"section-props":q.value,zoom:(0,a.unref)(F),editable:!d.value,onLeftMarginChange:(0,a.unref)(ct),onRightMarginChange:(0,a.unref)(lt),onIndentLeftChange:(0,a.unref)(mt),onIndentRightChange:(0,a.unref)(ht),onFirstLineIndentChange:(0,a.unref)(gt),onTabStopRemove:(0,a.unref)(_t)},null,8,[`section-props`,`zoom`,`editable`,`onLeftMarginChange`,`onRightMarginChange`,`onIndentLeftChange`,`onIndentRightChange`,`onFirstLineIndentChange`,`onTabStopRemove`])],4)):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`div`,Ot,[(0,a.createElementVNode)(`div`,{ref_key:`pagesViewportRef`,ref:g,class:`docx-editor-vue__pages-viewport`,onMousedown:i[22]||=(...e)=>(0,a.unref)(nn)&&(0,a.unref)(nn)(...e),onMousemove:i[23]||=(...e)=>(0,a.unref)(rn)&&(0,a.unref)(rn)(...e),onClick:i[24]||=(...e)=>(0,a.unref)(an)&&(0,a.unref)(an)(...e),onDblclick:i[25]||=(...e)=>(0,a.unref)(on)&&(0,a.unref)(on)(...e),onContextmenu:i[26]||=(0,a.withModifiers)((...e)=>(0,a.unref)(mn)&&(0,a.unref)(mn)(...e),[`prevent`]),onWheel:i[27]||=(...e)=>(0,a.unref)(I)&&(0,a.unref)(I)(...e)},[n.showRuler&&q.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,kt,[(0,a.createVNode)(t.a,{"section-props":q.value,zoom:(0,a.unref)(F),editable:!d.value,onTopMarginChange:(0,a.unref)(ft),onBottomMarginChange:(0,a.unref)(pt)},null,8,[`section-props`,`zoom`,`editable`,`onTopMarginChange`,`onBottomMarginChange`])])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`div`,{ref_key:`pagesRef`,ref:m,class:`docx-editor-vue__pages paged-editor__pages`,style:(0,a.normalizeStyle)(xe.value)},null,4),(0,a.createVNode)(U,{"is-open":(0,a.unref)($)!==null,position:(0,a.unref)($)?.position??`header`,"header-footer":(0,a.unref)($)?.headerFooter??null,styles:(0,a.unref)(G)()?.package?.styles??null,theme:(0,a.unref)(G)()?.package?.theme??null,"target-rect":(0,a.unref)($)?.targetRect??null,onSave:(0,a.unref)(ln),onClose:i[9]||=e=>$.value=null,onRemove:(0,a.unref)(un)},null,8,[`is-open`,`position`,`header-footer`,`styles`,`theme`,`target-rect`,`onSave`,`onRemove`]),(0,a.createVNode)(le,{"image-info":(0,a.unref)(Z),zoom:(0,a.unref)(F),view:(0,a.unref)(L),onOpenProperties:i[10]||=e=>T.value=!0,onDeselect:i[11]||=e=>Z.value=null,onInteractStart:i[12]||=e=>Gt.value=!0,onInteractEnd:i[13]||=e=>Gt.value=!1,onContextMenu:(0,a.unref)(hn)},null,8,[`image-info`,`zoom`,`view`,`onContextMenu`]),(0,a.createVNode)(ne,{"get-view":bn,"get-pages-container":xn,zoom:(0,a.unref)(F),"transaction-version":_.value,"sync-coordinator":(0,a.unref)(b)},null,8,[`zoom`,`transaction-version`,`sync-coordinator`]),(0,a.unref)(Te)&&!j.value&&!d.value?((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:1,type:`button`,class:`docx-editor-vue__floating-comment`,style:(0,a.normalizeStyle)({top:(0,a.unref)(Te).top+`px`,left:(0,a.unref)(Te).left+`px`}),title:(0,a.unref)(f)(`comments.addComment`),onMousedown:i[14]||=(0,a.withModifiers)((...e)=>(0,a.unref)(Me)&&(0,a.unref)(Me)(...e),[`prevent`,`stop`])},[(0,a.createVNode)(e.p,{name:`add_comment`,size:16})],44,At)):(0,a.createCommentVNode)(``,!0),(0,a.unref)(Q)&&!d.value?((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:2,type:`button`,class:`docx-editor-vue__table-insert-btn`,style:(0,a.normalizeStyle)({left:(0,a.unref)(Q).x+`px`,top:(0,a.unref)(Q).y+`px`}),title:(0,a.unref)(Q).type===`row`?`Insert row below`:`Insert column to the right`,"aria-label":(0,a.unref)(Q).type===`row`?`Insert row below`:`Insert column to the right`,onMousedown:i[15]||=(...e)=>(0,a.unref)(sn)&&(0,a.unref)(sn)(...e),onMouseenter:i[16]||=(...e)=>(0,a.unref)(cn)&&(0,a.unref)(cn)(...e),onMouseleave:i[17]||=e=>Q.value=null},[...i[36]||=[(0,a.createElementVNode)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 12 12`,fill:`none`},[(0,a.createElementVNode)(`path`,{d:`M6 1v10M1 6h10`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})],-1)]],44,jt)):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)(t.s,{comments:N.value,"pages-container":m.value,zoom:(0,a.unref)(F),"page-width-px":Se.value,"sidebar-open":A.value,"resolved-comment-ids":Ce.value,onMarkerClick:(0,a.unref)(Ne)},null,8,[`comments`,`pages-container`,`zoom`,`page-width-px`,`sidebar-open`,`resolved-comment-ids`,`onMarkerClick`]),(0,a.createVNode)(t.c,{"is-open":A.value,comments:N.value,"tracked-changes":P.value,"is-adding-comment":j.value,"add-comment-y-position":(0,a.unref)(De),"show-resolved":!0,"pages-container":m.value,"page-width-px":Se.value,zoom:(0,a.unref)(F),"active-item-id":M.value,onClose:i[18]||=e=>A.value=!1,onAddComment:(0,a.unref)(Ae),onCancelAddComment:(0,a.unref)(je),onCommentReply:(0,a.unref)(zt),onCommentResolve:(0,a.unref)(Lt),onCommentUnresolve:(0,a.unref)(Bt),onCommentDelete:(0,a.unref)(Vt),onAcceptChange:(0,a.unref)(Ht),onRejectChange:(0,a.unref)(Ut),onTrackedChangeReply:(0,a.unref)(Wt),"onUpdate:activeItemId":i[19]||=e=>M.value=e},null,8,[`is-open`,`comments`,`tracked-changes`,`is-adding-comment`,`add-comment-y-position`,`pages-container`,`page-width-px`,`zoom`,`active-item-id`,`onAddComment`,`onCancelAddComment`,`onCommentReply`,`onCommentResolve`,`onCommentUnresolve`,`onCommentDelete`,`onAcceptChange`,`onRejectChange`,`onTrackedChangeReply`]),(0,a.createVNode)(Xe,{data:(0,a.unref)(X),"read-only":d.value,onNavigate:(0,a.unref)(We),onCopy:i[20]||=e=>X.value=null,onEdit:(0,a.unref)(Ge),onRemove:(0,a.unref)(Ke),onClose:i[21]||=e=>X.value=null},null,8,[`data`,`read-only`,`onNavigate`,`onEdit`,`onRemove`])],544),!O.value&&n.showOutlineButton?((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:0,type:`button`,class:`docx-editor-vue__outline-toggle`,title:`Show document outline`,onClick:i[28]||=(...e)=>(0,a.unref)(yt)&&(0,a.unref)(yt)(...e),onMousedown:i[29]||=(0,a.withModifiers)(()=>{},[`stop`])},[(0,a.createVNode)(e.p,{name:`format_list_bulleted`,size:20})],32)):(0,a.createCommentVNode)(``,!0),(0,a.unref)(Qt).totalPages>1?((0,a.openBlock)(),(0,a.createBlock)(pe,{key:1,"current-page":(0,a.unref)(Qt).currentPage,"total-pages":(0,a.unref)(Qt).totalPages,visible:(0,a.unref)(Qt).visible},null,8,[`current-page`,`total-pages`,`visible`])):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)(R,{"is-open":O.value,headings:te.value,onClose:i[30]||=e=>O.value=!1,onNavigate:(0,a.unref)(Mt)},null,8,[`is-open`,`headings`,`onNavigate`])])],32),(0,a.createElementVNode)(`input`,{ref_key:`docxInputRef`,ref:Pe,type:`file`,accept:`.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document`,style:{display:`none`},onChange:i[32]||=(...e)=>(0,a.unref)(Fe)&&(0,a.unref)(Fe)(...e)},null,544),(0,a.createVNode)(Be,{"read-only":d.value,"context-menu":(0,a.unref)(dn),"image-context-menu":(0,a.unref)(fn),"image-context-menu-text-actions":(0,a.unref)(pn),"can-open-image-properties":!!(0,a.unref)(Z),onContextMenuAction:(0,a.unref)(_n),onCloseContextMenu:i[33]||=e=>(0,a.unref)(dn).isOpen=!1,onImageWrapSelect:(0,a.unref)(gn),onCloseImageContextMenu:i[34]||=e=>fn.value=null,onOpenImageProperties:i[35]||=e=>T.value=!0},null,8,[`read-only`,`context-menu`,`image-context-menu`,`image-context-menu-text-actions`,`can-open-image-properties`,`onContextMenuAction`,`onImageWrapSelect`])],6))}});async function Nt(e,t,n={}){let r=e instanceof ArrayBuffer?e:await(0,s.toArrayBuffer)(e),i=null,o=null,c=!1,l={save:async()=>{let e=await(i?.save()??Promise.resolve(null));return e?new Blob([e],{type:`application/vnd.openxmlformats-officedocument.wordprocessingml.document`}):null},getDocument:()=>i?.getDocument()??null,focus:()=>{i?.focus()},setZoom:e=>{i?.setZoom(e)},scrollToParaId:e=>i?.scrollToParaId(e)??!1,scrollToPosition:e=>{i?.scrollToPosition(e)},destroy:()=>{i?.destroy(),o?.unmount(),o=null}};return new Promise((e,s)=>{o=(0,a.createApp)({setup(){return()=>(0,a.h)(Mt,{...n,documentBuffer:r,showToolbar:n.showToolbar??!0,readOnly:n.readOnly??!1,ref:e=>{i=e??null},onReady:()=>{n.onReady?.(),c||(c=!0,e(l))},onError:e=>{n.onError?.(e),c||(c=!0,s(e))},onChange:n.onChange,onRename:n.onRename,onMenuAction:n.onMenuAction,onModeChange:n.onModeChange})}}),o.mount(t)})}var Pt=`0.0.2`;exports.DocxEditor=Mt,exports.VERSION=Pt,Object.defineProperty(exports,`createDocumentWithText`,{enumerable:!0,get:function(){return O.createDocumentWithText}}),Object.defineProperty(exports,`createEmptyDocument`,{enumerable:!0,get:function(){return O.createEmptyDocument}}),exports.defaultLocale=e.f,exports.i18nPlugin=e.l,exports.provideLocale=e.u,exports.renderAsync=Nt,exports.useTranslation=e.d;
|
package/dist/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
export declare const VERSION = "0.0.2";
|
|
18
18
|
export { default as DocxEditor } from './components/DocxEditor.vue';
|
|
19
19
|
export type { DocxEditorProps, EditorMode } from './components/DocxEditor/types';
|
|
20
|
+
export { createEmptyDocument, createDocumentWithText, type CreateEmptyDocumentOptions, } from '@eigenpal/docx-editor-core';
|
|
20
21
|
export { useTranslation, provideLocale, i18nPlugin, defaultLocale } from './i18n';
|
|
21
22
|
export { renderAsync } from './renderAsync';
|
|
22
23
|
export type { DocxEditorHandle, RenderAsyncOptions } from './renderAsync';
|