@eigenpal/docx-editor-vue 1.1.0 → 1.2.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/dist/components/DocxEditor/types.d.ts +19 -0
- package/dist/composables/usePagesPointer.d.ts +2 -2
- package/dist/composables.cjs +1 -1
- package/dist/composables.js +1 -1
- package/dist/docx-editor-vue.css +1 -1
- package/dist/index.cjs +3 -3
- package/dist/index.js +746 -560
- package/dist/{useTableResize-BbyKMoa9.js → useTableResize-BcBdSaOE.js} +193 -187
- package/dist/useTableResize-DTag4SY0.cjs +1 -0
- package/package.json +4 -4
- package/dist/useTableResize-CIV2YW70.cjs +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./KeyboardShortcutsDialog-DiG-tfJT.cjs`),t=require(`./MenuBar-De3YJFpj.cjs`),n=require(`./_plugin-vue_export-helper-CX7YVcP6.cjs`),r=require(`./zIndex-CH0jZ7U7.cjs`),i=require(`./useTableResize-
|
|
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))}}),F=[`data-handle`,`onMousedown`],ne=[`title`],re={key:0,class:`image-overlay__dim`},I={key:1,class:`image-overlay__dim image-overlay__dim--rotate`},ie=4,ae=15,oe=(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(),s=t,c=n,u=(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=s.imageInfo;if(!e)return null;if(e.element.isConnected)return e.element;let t=u.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,f.findImageElement)(n);if(e)return e}return null}function j(){let e=A();if(!e||!u.value){y.value=null;return}let t=u.value.offsetParent;if(!t){y.value=null;return}let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),i=s.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)(()=>s.imageInfo,async()=>{await(0,a.nextTick)(),j()},{immediate:!0}),(0,a.watch)(()=>s.imageInfo,(e,t,n)=>{if(!s.imageInfo)return;let r=()=>{E&&cancelAnimationFrame(E),E=requestAnimationFrame(j)},i=u.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 oe(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 se(e,t){!s.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`,L),document.addEventListener(`mouseup`,ce))}function L(e){let t=s.zoom,n=(e.clientX-x)/t,r=(e.clientY-S)/t,i=!e.shiftKey,a=oe(b,n,r,C,w,i);g.value=Math.round(a.width),_.value=Math.round(a.height);let o=T;o&&(y.value={left:b.includes(`w`)?o.left+(o.width-a.width):o.left,top:b.includes(`n`)?o.top+(o.height-a.height):o.top,width:o.width,height:o.height})}function ce(){document.removeEventListener(`mousemove`,L),document.removeEventListener(`mouseup`,ce),p.value=!1,T=null,c(`interact-end`);let e=s.view,t=s.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 me(e,t){return Math.atan2(e-le,-(t-ue))*180/Math.PI}function he(e){if(!s.imageInfo)return;let t=s.imageInfo.element.getBoundingClientRect();le=t.left+t.width/2,ue=t.top+t.height/2;let n=k(s.view,s.imageInfo.pmPos);R=n&&n.attrs.transform||null,fe=pe(R),z=s.imageInfo.element.querySelector(`img`),de=me(e.clientX,e.clientY),v.value=fe,h.value=!0,c(`interact-start`),document.addEventListener(`mousemove`,V),document.addEventListener(`mouseup`,H)}function V(e){let t=me(e.clientX,e.clientY)-de,n=fe+t;e.shiftKey||(n=Math.round(n/ae)*ae),v.value=(n%360+360)%360,z&&(z.style.transform=B(R,v.value)||``)}function H(){document.removeEventListener(`mousemove`,V),document.removeEventListener(`mouseup`,H),h.value=!1,c(`interact-end`);let e=s.view,t=s.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(!s.imageInfo||!y.value)return;let t=e.clientX,n=e.clientY,r=y.value,i=!1,a=e=>{let a=e.clientX-t,o=e.clientY-n;if(!(!i&&Math.sqrt(a*a+o*o)<ie)){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=s.zoom;U.style.width=`${r.width*e}px`,U.style.height=`${r.height*e}px`,document.body.appendChild(U)}if(U){let t=s.zoom;U.style.left=`${e.clientX-r.width*t/2}px`,U.style.top=`${e.clientY-r.height*t/2}px`}}},o=e=>{document.removeEventListener(`mousemove`,a),document.removeEventListener(`mouseup`,o),D=null,O=null,U&&=(U.remove(),null),m.value=!1,i&&(c(`interact-end`),_e(e.clientX,e.clientY))};D=a,O=o,document.addEventListener(`mousemove`,a),document.addEventListener(`mouseup`,o)}function _e(e,t){let n=s.view,r=s.imageInfo;if(!n||!r)return;let i=k(n,r.pmPos);if(!i)return;let o=i.attrs.wrapType,c=i.attrs.displayMode===`float`||(o?[`square`,`tight`,`through`].includes(o):!1);try{if(c){let a=(u.value?.closest(`.docx-editor-vue__pages-viewport`))?.querySelectorAll(`.layout-page`);if(!a||a.length===0)return;let o=null;for(let e of a){let n=e.getBoundingClientRect();if(t>=n.top&&t<=n.bottom){o=e.querySelector(`.layout-page-content`);break}}if(o||=a[a.length-1].querySelector(`.layout-page-content`),!o)return;let c=o.getBoundingClientRect(),d=s.zoom,f=(e-c.left)/d,p=(t-c.top)/d,m={horizontal:{posOffset:(0,l.pixelsToEmu)(f),relativeTo:`margin`},vertical:{posOffset:(0,l.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=u.value?.closest(`.docx-editor-vue__pages-viewport`)?.querySelector(`.docx-editor-vue__pages`);if(!a)return;let o=(0,d.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=s.view;if(t)try{let n=o.NodeSelection.create(t.state.doc,e);t.dispatch(t.state.tr.setSelection(n))}catch{}}return(0,a.onBeforeUnmount)(()=>{document.removeEventListener(`mousemove`,L),document.removeEventListener(`mouseup`,ce),document.removeEventListener(`mousemove`,V),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:u,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=>se(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=>he(e),[`prevent`,`stop`])},null,44,ne),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`,I,(0,a.toDisplayString)(Math.round(v.value))+`° `,1)):(0,a.createCommentVNode)(``,!0)],36)):(0,a.createCommentVNode)(``,!0)}}),se=n.t(oe,[[`__scopeId`,`data-v-a6f20ec2`]]),L={class:`doc-outline__header`},ce={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`,L,[(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`,ce,[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__label`},B={class:`hf-editor__actions`,style:{position:`relative`}},me=(0,a.defineComponent)({__name:`InlineHeaderFooterEditor`,props:{isOpen:{type:Boolean},position:{},view:{},targetRect:{}},emits:[`save`,`close`,`remove`],setup(e,{emit:t}){let n=e,r=t,i=(0,a.ref)({}),o=(0,a.ref)(!1);function s(e){let t=n.view;if(!t)return;let{$from:r,from:i}=t.state.selection,a=t.state.storedMarks||r.marks(),o=m.schema.nodes.field.create({fieldType:e,instruction:` ${e} \\* MERGEFORMAT `,fieldKind:`simple`,dirty:!0});t.dispatch(t.state.tr.insert(i,o.mark(a))),t.focus()}function c(){let e=n.targetRect;e&&(i.value={position:`absolute`,top:`${e.top}px`,left:`${e.left}px`,width:`${e.width}px`,height:`${e.height}px`,zIndex:`100`,pointerEvents:`none`})}(0,a.watch)(()=>n.isOpen,e=>{e&&(c(),n.view?.focus())}),(0,a.watch)(()=>n.targetRect,()=>{n.isOpen&&c()},{deep:!0});function l(){n.view&&(r(`save`,(0,p.proseDocToBlocks)(n.view.state.doc)),r(`close`))}return(t,n)=>e.isOpen?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:`hf-editor`,style:(0,a.normalizeStyle)(i.value)},[(0,a.createElementVNode)(`div`,{class:(0,a.normalizeClass)([`hf-editor__toolbar`,e.position===`footer`?`hf-editor__toolbar--below`:`hf-editor__toolbar--above`]),onMousedown:n[8]||=(0,a.withModifiers)(()=>{},[`stop`]),onContextmenu:n[9]||=(0,a.withModifiers)(()=>{},[`stop`])},[(0,a.createElementVNode)(`span`,pe,(0,a.toDisplayString)(e.position===`header`?`Header`:`Footer`),1),(0,a.createElementVNode)(`div`,B,[(0,a.createElementVNode)(`button`,{class:`hf-editor__btn`,title:`Options`,onMousedown:n[0]||=(0,a.withModifiers)(()=>{},[`prevent`]),onClick:n[1]||=e=>o.value=!o.value},` Options ▾ `,32),o.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:`hf-editor__dropdown`,onMousedown:n[4]||=(0,a.withModifiers)(()=>{},[`stop`]),onContextmenu:n[5]||=(0,a.withModifiers)(()=>{},[`stop`])},[(0,a.createElementVNode)(`button`,{type:`button`,class:`hf-editor__dropdown-item`,onClick:n[2]||=e=>{o.value=!1,s(`PAGE`)}},` Insert current page number `),(0,a.createElementVNode)(`button`,{type:`button`,class:`hf-editor__dropdown-item`,onClick:n[3]||=e=>{o.value=!1,s(`NUMPAGES`)}},` Insert total page count `)],32)):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`button`,{class:`hf-editor__btn`,title:`Remove`,onMousedown:n[6]||=(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)(l,[`prevent`])},` Save `,32),(0,a.createElementVNode)(`button`,{class:`hf-editor__btn`,title:`Cancel`,onMousedown:n[7]||=(0,a.withModifiers)(e=>t.$emit(`close`),[`prevent`])},` Cancel `,32)])],34)],4)):(0,a.createCommentVNode)(``,!0)}}),he=n.t(me,[[`__scopeId`,`data-v-e93a9f94`]]),V={key:0,class:`docx-editor-vue__title-bar`},H={class:`docx-editor-vue__title-bar-left`},U={class:`docx-editor-vue__title-bar-center`},ge={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`,V,[(0,a.createElementVNode)(`div`,H,[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`,U,[(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`,ge,[(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:{},scrollVisiblePositionIntoView:{type:Function},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,"scroll-visible-position-into-view":t.scrollVisiblePositionIntoView,onClose:i[0]||=e=>r(`update:showFindReplace`,!1)},null,8,[`is-open`,`view`,`scroll-visible-position-into-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))}}),ye=[`disabled`,`onMousedown`],be={class:`ctx-menu__label`},xe={key:0,class:`ctx-menu__shortcut`},W=220,G=32,K=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*G+i*9;return typeof window<`u`&&(e+W+K>window.innerWidth&&(e=window.innerWidth-W-K),t+a+K>window.innerHeight&&(t=window.innerHeight-a-K)),{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`,be,(0,a.toDisplayString)(e.label),1),e.shortcut?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,xe,(0,a.toDisplayString)(e.shortcut),1)):(0,a.createCommentVNode)(``,!0)],42,ye))),128))],36)):(0,a.createCommentVNode)(``,!0)]))}}),Ce=n.t(Se,[[`__scopeId`,`data-v-741c4f71`]]),we=[`aria-label`],Te={class:`image-ctx-menu__icon`},q={class:`image-ctx-menu__label`},Ee={key:1,class:`image-ctx-menu__divider`,role:`separator`},J=[`data-wrap-type`,`data-current`,`data-disabled`,`disabled`,`title`,`onClick`],De={class:`image-ctx-menu__icon`},Oe={class:`image-ctx-menu__label`},ke=[`aria-label`],Ae=[`disabled`,`onClick`],je={class:`image-ctx-menu__label`},Me={key:0,class:`image-ctx-menu__shortcut`},Ne={key:0,class:`image-ctx-menu__divider`,role:`separator`},Pe=18,Fe=260,Y=10,Ie=(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=f.IMAGE_LAYOUT_OPTIONS,u=(0,a.computed)(()=>r.state?(0,f.deriveLayoutChoice)(r.state.currentWrapType,r.state.currentCssFloat??null):null),d={inline:`wrap_text`,squareLeft:`format_image_left`,squareRight:`format_image_right`,behind:`flip_to_back`,inFront:`flip_to_front`};function p(e){return d[e]}let m=(0,a.computed)(()=>{if(!r.state)return{};let e=f.IMAGE_LAYOUT_OPTIONS.length*36+16,t=r.state.position.x,n=r.state.position.y;return typeof window<`u`&&(t+Fe>window.innerWidth&&(t=window.innerWidth-Fe-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:`${Fe}px`,zIndex:400}});function h(e){return r.state?(0,f.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:Pe})]),(0,a.createElementVNode)(`span`,q,(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`,Ee)):(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`,De,[(0,a.createVNode)(e.p,{name:p(t.iconHint),size:Pe},null,8,[`name`])]),(0,a.createElementVNode)(`span`,Oe,(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,ke)):(0,a.createCommentVNode)(``,!0)],42,J))),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`,je,(0,a.toDisplayString)(e.label),1),e.shortcut?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,Me,(0,a.toDisplayString)(e.shortcut),1)):(0,a.createCommentVNode)(``,!0)],40,Ae),e.dividerAfter?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,Ne)):(0,a.createCommentVNode)(``,!0)],64))),128))],64)):(0,a.createCommentVNode)(``,!0)],44,we)):(0,a.createCommentVNode)(``,!0)]))}}),Le=n.t(Ie,[[`__scopeId`,`data-v-5c21ca8c`]]),Re=(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)(Le,{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))}}),ze=[`href`,`title`],Be=[`title`],Ve=[`title`],He=[`title`],Ue={class:`docx-hyperlink-popup__edit-row`},We=[`placeholder`,`onKeydown`],Ge={class:`docx-hyperlink-popup__edit-row`},Ke=[`onKeydown`],qe=[`disabled`],Je=(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`,Ue,[(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,We),[[a.vModelText,c.value]])]),(0,a.createElementVNode)(`div`,Ge,[(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,Ke),[[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,qe)])],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,ze),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,Be),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,Ve)),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,He))],64))],38)):(0,a.createCommentVNode)(``,!0)}}),Ye=n.t(Je,[[`__scopeId`,`data-v-9d23bb12`]]);function Xe(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,l.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 s(t){await e.loadBuffer(t),e.emit(`update:document`,e.getDocument()),await n()}function c(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:s,loadDocument:c,save:u}}function Ze(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 o(n,r){let i=e.editorView.value;if(!i)return;let a=(0,c.findHyperlinkRangeAt)(i.state);if(!a){t.value=null;return}let o=i.state.schema.marks.hyperlink,{$from:s}=i.state.selection,l=o.create({href:r,tooltip:a.mark.attrs.tooltip}),u=s.marks().filter(e=>e.type!==o),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 s(){let n=e.editorView.value;if(!n)return;let r=(0,c.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:o,handleHyperlinkPopupRemove:s}}function Qe(e){function t(){let t=e.editorView.value;t&&((0,c.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 s=n.state.doc.resolve(r.from+1),c=n.state.doc.resolve(r.to-1),l=n.state.apply(n.state.tr.setSelection(o.TextSelection.between(s,c))),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(l,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 $e(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 et(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=o.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 tt(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 X(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 nt(e){function t(t,n,r){return X(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(t){let n=e.editorView.value;n&&((0,C.acceptChangeById)(t)(n.state,n.dispatch),e.extractCommentsAndChanges(),n.focus())}function f(t){let n=e.editorView.value;n&&((0,C.rejectChangeById)(t)(n.state,n.dispatch),e.extractCommentsAndChanges(),n.focus())}function p(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,handleAcceptChangeById:d,handleRejectChangeById:f,handleTrackedChangeReply:p}}function rt(e,t){let n=(0,s.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 it(e,t,n){if(!e||!t)return;let r=null;for(let t of(0,s.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 at(e,t,n,r){if(!e||!t)return null;let i=(0,s.clickToPositionDom)(e,n,r,1);return i===null||i<0?null:Math.min(i,t.state.doc.content.size)}function ot(e,t,n){if(!e)return;let r=rt(e,t);if(!r)return;let i=r.textContent||``,a=Number(r.dataset.pmStart)||0,[o,s]=(0,l.findWordBoundaries)(i,t-a),c=a+o,u=a+s;c<u&&n(c,u)}function st(e,t,n){if(!e)return;let r=rt(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 ct(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=rt(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=X(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()),(0,a.watch)(e.stateTick,()=>o());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 lt(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});(0,C.insertImageNode)(n.state,n.dispatch,i,n.state.selection.from),n.focus()}function o(n){let r=e.editorView.value,i=t.value;if(!r||!i)return;let a=(0,f.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,f.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 ut(e,t,n){let r=(0,g.makeRevisionInfo)(e.state),i=e.state.schema.marks.insertion;if(!r||!i)return;let a=t.selection.from,o=a-n.nodeSize;o<0||t.addMark(o,a,i.create({revisionId:r.revisionId,author:r.author,date:r.date}))}function dt(e,t){return e.getBlob(t)}function ft(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 pt(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=n,r.readAsDataURL(e)})}function mt(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 ht(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 pt(await dt(n,t)),i=await mt(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`}),c=e.state.tr.replaceSelectionWith(s);ut(e,c,s),e.dispatch(c);return}if(n.types.includes(`text/html`)){let t=await(await dt(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`}),l=e.state.tr.replaceSelectionWith(c);ut(e,l,c),e.dispatch(l);return}}if(n.types.includes(`text/plain`)){let t=await(await dt(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 gt(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 pt(i),o=await mt(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 _t(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),s=(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 c(e){let n=t.editorView.value;if(!n)return;let a=e.target,s=(0,f.findImageElement)(a);if(s){let a=Number(s.dataset.pmStart);if(!isNaN(a)){try{let e=o.NodeSelection.create(n.state.doc,a);n.dispatch(n.state.tr.setSelection(e))}catch{}t.selectedImage.value={element:s,pmPos:a,width:s.offsetWidth,height:s.offsetHeight},t.clearOverlay();let c=n.state.doc.nodeAt(a);if(c&&c.type.name===`image`){let n=c.attrs.wrapType??`inline`,o=c.attrs.cssFloat;i.value={open:!0,position:{x:e.clientX,y:e.clientY},pmPos:a,currentWrapType:n,currentCssFloat:o??null,inlinePositionEmu:n===`inline`?(0,f.captureInlinePositionEmu)(s,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 c=(0,u.getTableContext)(n.state),{empty:l}=n.state.selection;i.value&&=null,r.value={isOpen:!0,position:{x:e.clientX,y:e.clientY},hasSelection:!l,inTable:c.isInTable,onImage:!!s,canMergeCells:!!c.hasMultiCellSelection,canSplitCell:!!c.canSplitCell}}function l(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,f.captureInlinePositionEmu)(a.element,t.zoom.value):void 0},r.value.isOpen=!1}function d(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){ft(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?ft(n,t.selectedImage.value.pmPos):document.execCommand(`copy`);break;case`paste`:ht(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=o.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&>(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:s,handleContextMenu:c,handleSelectedImageContextMenu:l,handleImageWrapSelect:d,handleContextMenuAction:p}}var vt=500;function yt(e){let t=(0,a.ref)(null),n=null;function r(){n!==null&&(clearTimeout(n),n=null)}let i=(0,a.shallowRef)(null),s=0,c=null,l=0,u=!1,d=null,p=(0,a.ref)({currentPage:1,totalPages:1,visible:!1}),m=null;function h(t,n){return at(e.pagesRef.value,e.editorView.value,t,n)}function g(){let t=i.value;if(t?.headerFooter&&e.getHfPmView){let n=e.getHfPmView(t.headerFooter);if(n)return n}return e.editorView.value}function _(e,t){let n=g();if(n)try{let r=n.state.doc.resolve(e),i=t===void 0?r:n.state.doc.resolve(t),a=o.TextSelection.between(r,i);n.dispatch(n.state.tr.setSelection(a))}catch{}}function v(t){it(e.pagesRef.value,e.pagesViewportRef.value,t)}function y(t){ot(e.pagesRef.value,t,_)}function b(t){st(e.pagesRef.value,t,_)}function x(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){v(r);try{_(Math.min(r+1,n.state.doc.content.size))}catch{_(r)}}}function S(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 C(n){n.preventDefault(),n.stopPropagation();let r=t.value,i=e.editorView.value;if(!r||!i)return;let a=i.state.tr.setSelection(o.TextSelection.create(i.state.doc,r.cellPmPos+1));i.dispatch(a);let s=e.getCommands(),c=r.type===`row`?s.addRowBelow?.():s.addColumnRight?.();c&&(c(i.state,e=>i.dispatch(e),i),t.value=null,i.focus())}function w(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&&x(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 E(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,f=(u?.find(e=>e.type===`default`)??u?.find(e=>e.type===`first`)??null)?.rId??null,p=f?d?.get(f)??null:null;if(!p){if(!l)return;let t=`default`,n=`rId_new_${s}_${t}`,r={type:s,hdrFtrType:t,content:[{type:`paragraph`,content:[]}]},i=s===`header`?`headers`:`footers`,a=s===`header`?`headerReferences`:`footerReferences`,o=new Map(c.package[i]??[]);o.set(n,r);let u=c.package.relationships,d=new Set;for(let e of u?.values()??[])e.target&&d.add(e.target);let m=1;for(;d.has(`${s}${m}.xml`);)m++;let h=s===`header`?`http://schemas.openxmlformats.org/officeDocument/2006/relationships/header`:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer`,g=new Map(u);g.set(n,{id:n,type:h,target:`${s}${m}.xml`});let _={type:t,rId:n},v=l&&{...l,[a]:[...l[a]??[],_]},y={...c,package:{...c.package,[i]:o,relationships:g,document:c.package.document?{...c.package.document,sections:c.package.document.sections?.map((e,t)=>t===0?{...e,properties:v??e.properties}:e),finalSectionProperties:c.package.document.finalSectionProperties===l?v:c.package.document.finalSectionProperties}:c.package.document}};f=n,p=r,e.setDocument?.(y),e.syncHfPMs?.(),e.reLayout(),e.emit(`change`,y)}let 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 D(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.syncHfPMs?.(),e.reLayout(),e.emit(`change`,n)}function O(){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.syncHfPMs?.(),e.reLayout(),e.emit(`change`,t)}function k(t){if(t.button!==0||e.imageInteracting.value)return;let n=e.editorView.value;if(!n)return;let r=t.target;i.value&&(r.closest(`.layout-page-header`)||r.closest(`.layout-page-footer`)||r.closest(`.hf-editor`)||(i.value=null,n.focus()));let a=g()??n;if(!e.readOnly.value&&e.tableResize.tryStartResize(t,a))return;let p=(0,f.findImageElement)(r);if(p){t.preventDefault(),t.stopPropagation();let n=Number(p.dataset.pmStart);if(!isNaN(n)){try{a.dispatch(a.state.tr.setSelection(o.NodeSelection.create(a.state.doc,n)))}catch{}e.selectedImage.value={element:p,pmPos:n,width:p.offsetWidth,height:p.offsetHeight},e.clearOverlay()}a.focus();return}e.selectedImage.value=null,t.preventDefault();let m=h(t.clientX,t.clientY);if(m===null){a.focus();return}let v=Date.now();if(v-s<vt&&c===m?l++:l=1,s=v,c=m,l===2)y(m);else if(l>=3)b(m),l=0;else{if(t.shiftKey){let{from:e}=a.state.selection;_(e,m)}else _(m);d=m,u=!0}a.focus()}function A(e){if(!u||d===null)return;let t=h(e.clientX,e.clientY);t!==null&&t!==d&&_(d,t)}function j(){u=!1}function M(){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`,A),window.addEventListener(`mouseup`,j),e.pagesViewportRef.value?.addEventListener(`scroll`,M,{passive:!0})}),(0,a.onBeforeUnmount)(()=>{r(),window.removeEventListener(`mousemove`,A),window.removeEventListener(`mouseup`,j),e.pagesViewportRef.value?.removeEventListener(`scroll`,M),m&&clearTimeout(m)}),{tableInsertButton:t,hfEdit:i,scrollPageInfo:p,resolvePos:h,setPmSelection:_,scrollVisiblePositionIntoView:v,navigateToBookmark:x,handlePagesMouseDown:k,handlePagesMouseMove:S,handlePagesClick:w,handlePagesDoubleClick:E,handleTableInsertClick:C,clearTableInsertTimer:r,handleHfSave:D,handleHfRemove:O}}function bt(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 s(){let a=e.pagesRef.value,s=e.editorView.value;if(!a||!s||(i(),e.isHfEditing?.value))return;let c=s.state.selection;if(c instanceof o.NodeSelection&&c.node.type.name===`image`){let t=null;for(let e of a.querySelectorAll(`[data-pm-start="${c.from}"]`)){let n=(0,f.findImageElement)(e);if(n){t=n;break}}if(t){let n=e.selectedImage.value;(!n||n.element!==t||n.pmPos!==c.from||n.width!==t.offsetWidth||n.height!==t.offsetHeight)&&(e.selectedImage.value={element:t,pmPos:c.from,width:t.offsetWidth,height:t.offsetHeight});return}}if(e.selectedImage.value)return;let{from:l,to:u,empty:p}=s.state.selection,m=a.scrollTop,h=a.scrollLeft;if(p){let e=(0,d.getCaretPositionFromDom)(a,l,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-DiG-tfJT.cjs`),t=require(`./MenuBar-De3YJFpj.cjs`),n=require(`./_plugin-vue_export-helper-CX7YVcP6.cjs`),r=require(`./zIndex-CH0jZ7U7.cjs`),i=require(`./useTableResize-DTag4SY0.cjs`);let a=require(`vue`),o=require(`prosemirror-state`),s=require(`@eigenpal/docx-editor-core/layout-bridge`),c=require(`@eigenpal/docx-editor-core/prosemirror/commands/formatting`),l=require(`@eigenpal/docx-editor-core/utils`),u=require(`@eigenpal/docx-editor-core/prosemirror/extensions/nodes/TableExtension`),d=require(`@eigenpal/docx-editor-core/layout-bridge/clickToPositionDom`),f=require(`@eigenpal/docx-editor-core/layout-painter`),p=require(`@eigenpal/docx-editor-core/prosemirror/conversion`),m=require(`@eigenpal/docx-editor-core/prosemirror`),h=require(`@eigenpal/docx-editor-core/utils/units`),g=require(`@eigenpal/docx-editor-core/prosemirror/plugins`),_=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/agent`),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 F(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 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,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))}}),ne=[`data-handle`,`onMousedown`],re=[`title`],I={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(),s=t,c=n,u=(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=s.imageInfo;if(!e)return null;if(e.element.isConnected)return e.element;let t=u.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,f.findImageElement)(n);if(e)return e}return null}function j(){let e=A();if(!e||!u.value){y.value=null;return}let t=u.value.offsetParent;if(!t){y.value=null;return}let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),i=s.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)(()=>s.imageInfo,async()=>{await(0,a.nextTick)(),j()},{immediate:!0}),(0,a.watch)(()=>s.imageInfo,(e,t,n)=>{if(!s.imageInfo)return;let r=()=>{E&&cancelAnimationFrame(E),E=requestAnimationFrame(j)},i=u.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`}}]}),F=e=>e.length===2;function te(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(F(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 se(e,t){!s.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`,ce),document.addEventListener(`mouseup`,L))}function ce(e){let t=s.zoom,n=(e.clientX-x)/t,r=(e.clientY-S)/t,i=!e.shiftKey,a=te(b,n,r,C,w,i);g.value=Math.round(a.width),_.value=Math.round(a.height);let o=T;o&&(y.value={left:b.includes(`w`)?o.left+(o.width-a.width):o.left,top:b.includes(`n`)?o.top+(o.height-a.height):o.top,width:o.width,height:o.height})}function L(){document.removeEventListener(`mousemove`,ce),document.removeEventListener(`mouseup`,L),p.value=!1,T=null,c(`interact-end`);let e=s.view,t=s.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,R=0,ue=0,de=0,fe=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 me(e,t){return Math.atan2(e-le,-(t-R))*180/Math.PI}function V(e){if(!s.imageInfo)return;let t=s.imageInfo.element.getBoundingClientRect();le=t.left+t.width/2,R=t.top+t.height/2;let n=k(s.view,s.imageInfo.pmPos);fe=n&&n.attrs.transform||null,de=pe(fe),z=s.imageInfo.element.querySelector(`img`),ue=me(e.clientX,e.clientY),v.value=de,h.value=!0,c(`interact-start`),document.addEventListener(`mousemove`,he),document.addEventListener(`mouseup`,H)}function he(e){let t=me(e.clientX,e.clientY)-ue,n=de+t;e.shiftKey||(n=Math.round(n/oe)*oe),v.value=(n%360+360)%360,z&&(z.style.transform=B(fe,v.value)||``)}function H(){document.removeEventListener(`mousemove`,he),document.removeEventListener(`mouseup`,H),h.value=!1,c(`interact-end`);let e=s.view,t=s.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,fe=null}(0,a.nextTick)(()=>j())}let U=null;function ge(e){if(!s.imageInfo||!y.value)return;let t=e.clientX,n=e.clientY,r=y.value,i=!1,a=e=>{let a=e.clientX-t,o=e.clientY-n;if(!(!i&&Math.sqrt(a*a+o*o)<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=s.zoom;U.style.width=`${r.width*e}px`,U.style.height=`${r.height*e}px`,document.body.appendChild(U)}if(U){let t=s.zoom;U.style.left=`${e.clientX-r.width*t/2}px`,U.style.top=`${e.clientY-r.height*t/2}px`}}},o=e=>{document.removeEventListener(`mousemove`,a),document.removeEventListener(`mouseup`,o),D=null,O=null,U&&=(U.remove(),null),m.value=!1,i&&(c(`interact-end`),_e(e.clientX,e.clientY))};D=a,O=o,document.addEventListener(`mousemove`,a),document.addEventListener(`mouseup`,o)}function _e(e,t){let n=s.view,r=s.imageInfo;if(!n||!r)return;let i=k(n,r.pmPos);if(!i)return;let o=i.attrs.wrapType,c=i.attrs.displayMode===`float`||(o?[`square`,`tight`,`through`].includes(o):!1);try{if(c){let a=(u.value?.closest(`.docx-editor-vue__pages-viewport`))?.querySelectorAll(`.layout-page`);if(!a||a.length===0)return;let o=null;for(let e of a){let n=e.getBoundingClientRect();if(t>=n.top&&t<=n.bottom){o=e.querySelector(`.layout-page-content`);break}}if(o||=a[a.length-1].querySelector(`.layout-page-content`),!o)return;let c=o.getBoundingClientRect(),d=s.zoom,f=(e-c.left)/d,p=(t-c.top)/d,m={horizontal:{posOffset:(0,l.pixelsToEmu)(f),relativeTo:`margin`},vertical:{posOffset:(0,l.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=u.value?.closest(`.docx-editor-vue__pages-viewport`)?.querySelector(`.docx-editor-vue__pages`);if(!a)return;let o=(0,d.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=s.view;if(t)try{let n=o.NodeSelection.create(t.state.doc,e);t.dispatch(t.state.tr.setSelection(n))}catch{}}return(0,a.onBeforeUnmount)(()=>{document.removeEventListener(`mousemove`,ce),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:u,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=>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)(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=>se(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=>V(e),[`prevent`,`stop`])},null,44,re),p.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,I,(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`]]),L={class:`doc-outline__header`},le={class:`doc-outline__body`},R={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`,L,[(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`,le,[t.headings.length===0?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,R,` 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`]]),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__label`},me={class:`hf-editor__actions`,style:{position:`relative`}},V=(0,a.defineComponent)({__name:`InlineHeaderFooterEditor`,props:{isOpen:{type:Boolean},position:{},view:{},targetRect:{}},emits:[`save`,`close`,`remove`],setup(e,{emit:t}){let n=e,r=t,i=(0,a.ref)({}),o=(0,a.ref)(!1);function s(e){let t=n.view;if(!t)return;let{$from:r,from:i}=t.state.selection,a=t.state.storedMarks||r.marks(),o=m.schema.nodes.field.create({fieldType:e,instruction:` ${e} \\* MERGEFORMAT `,fieldKind:`simple`,dirty:!0});t.dispatch(t.state.tr.insert(i,o.mark(a))),t.focus()}function c(){let e=n.targetRect;e&&(i.value={position:`absolute`,top:`${e.top}px`,left:`${e.left}px`,width:`${e.width}px`,height:`${e.height}px`,zIndex:`100`,pointerEvents:`none`})}(0,a.watch)(()=>n.isOpen,e=>{e&&(c(),n.view?.focus())}),(0,a.watch)(()=>n.targetRect,()=>{n.isOpen&&c()},{deep:!0});function l(){n.view&&(r(`save`,(0,p.proseDocToBlocks)(n.view.state.doc)),r(`close`))}return(t,n)=>e.isOpen?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:`hf-editor`,style:(0,a.normalizeStyle)(i.value)},[(0,a.createElementVNode)(`div`,{class:(0,a.normalizeClass)([`hf-editor__toolbar`,e.position===`footer`?`hf-editor__toolbar--below`:`hf-editor__toolbar--above`]),onMousedown:n[8]||=(0,a.withModifiers)(()=>{},[`stop`]),onContextmenu:n[9]||=(0,a.withModifiers)(()=>{},[`stop`])},[(0,a.createElementVNode)(`span`,B,(0,a.toDisplayString)(e.position===`header`?`Header`:`Footer`),1),(0,a.createElementVNode)(`div`,me,[(0,a.createElementVNode)(`button`,{class:`hf-editor__btn`,title:`Options`,onMousedown:n[0]||=(0,a.withModifiers)(()=>{},[`prevent`]),onClick:n[1]||=e=>o.value=!o.value},` Options ▾ `,32),o.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:`hf-editor__dropdown`,onMousedown:n[4]||=(0,a.withModifiers)(()=>{},[`stop`]),onContextmenu:n[5]||=(0,a.withModifiers)(()=>{},[`stop`])},[(0,a.createElementVNode)(`button`,{type:`button`,class:`hf-editor__dropdown-item`,onClick:n[2]||=e=>{o.value=!1,s(`PAGE`)}},` Insert current page number `),(0,a.createElementVNode)(`button`,{type:`button`,class:`hf-editor__dropdown-item`,onClick:n[3]||=e=>{o.value=!1,s(`NUMPAGES`)}},` Insert total page count `)],32)):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`button`,{class:`hf-editor__btn`,title:`Remove`,onMousedown:n[6]||=(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)(l,[`prevent`])},` Save `,32),(0,a.createElementVNode)(`button`,{class:`hf-editor__btn`,title:`Cancel`,onMousedown:n[7]||=(0,a.withModifiers)(e=>t.$emit(`close`),[`prevent`])},` Cancel `,32)])],34)],4)):(0,a.createCommentVNode)(``,!0)}}),he=n.t(V,[[`__scopeId`,`data-v-e93a9f94`]]),H=[`role`],U={key:0,class:`layout-sdt-widget-empty`},ge=[`aria-selected`,`onClick`],_e=[`value`],ve=(0,a.defineComponent)({__name:`ContentControlWidgets`,props:{container:{},view:{}},setup(e){function t(e){let t=/^sdt@(\d+)$/.exec(e??``);return t?Number(t[1]):null}let n=e,r=(0,a.ref)(null),i=(0,a.ref)(null);function o(e,t){let i=n.view;if(i)try{i.dispatch((0,m.setContentControlValueTr)(i.state,{tag:e},t)),i.focus()}catch{}r.value=null}function s(e){let r=n.view,i=t(e.dataset.sdtGroupId);if(!(!r||i==null))try{let t=e.dataset.sdtRepeat===`add`?(0,m.addRepeatingSectionItemTr)(r.state,i):(0,m.removeRepeatingSectionItemTr)(r.state,i);r.dispatch(t),r.focus()}catch{}}function c(e){let t=e.target;(t?.closest?.(`.layout-sdt-widget`)||t?.closest?.(`.layout-sdt-repeat-btn`))&&e.preventDefault()}function l(e){let t=n.view,i=e.dataset.sdtTag,a=e.dataset.sdtWidget;if(!t||!i||!a)return;let s=(0,m.findContentControlsInPM)(t.state.doc,{tag:i})[0],c=e.getBoundingClientRect();a===`checkbox`?o(i,{kind:`checkbox`,checked:!s?.checked}):a===`dropdown`?r.value={kind:`dropdown`,tag:i,items:s?.listItems??[],current:s?.text??``,x:c.left,y:c.bottom+2}:a===`date`&&(r.value={kind:`date`,tag:i,current:s?.dateValue??``,x:c.left,y:c.bottom+2})}function u(e){let t=e.target?.closest?.(`.layout-sdt-repeat-btn`);if(t){e.preventDefault(),e.stopPropagation(),s(t);return}let n=e.target?.closest?.(`.layout-sdt-widget`);n&&(e.preventDefault(),e.stopPropagation(),l(n))}function d(e){if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target?.closest?.(`.layout-sdt-widget`);t&&(e.preventDefault(),l(t))}function f(e){r.value&&!i.value?.contains(e.target)&&(r.value=null)}function p(e){e.key===`Escape`&&(r.value=null)}let h=null;(0,a.watch)(()=>n.container,e=>{h&&(h.removeEventListener(`mousedown`,c),h.removeEventListener(`click`,u),h.removeEventListener(`keydown`,d)),h=e??null,h&&(h.addEventListener(`mousedown`,c),h.addEventListener(`click`,u),h.addEventListener(`keydown`,d))},{immediate:!0}),(0,a.watch)(r,e=>{e?(document.addEventListener(`mousedown`,f),document.addEventListener(`keydown`,p),e.kind===`dropdown`&&(0,a.nextTick)(()=>{let e=i.value?.querySelectorAll(`.layout-sdt-widget-option`);e?.length&&([...e].find(e=>e.getAttribute(`aria-selected`)===`true`)??e[0]).focus()})):(document.removeEventListener(`mousedown`,f),document.removeEventListener(`keydown`,p))});function g(e){if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`)return;let t=[...i.value?.querySelectorAll(`.layout-sdt-widget-option`)??[]];if(!t.length)return;e.preventDefault();let n=t.indexOf(document.activeElement);t[e.key===`ArrowDown`?(n+1)%t.length:(n-1+t.length)%t.length].focus()}(0,a.onBeforeUnmount)(()=>{h&&(h.removeEventListener(`mousedown`,c),h.removeEventListener(`click`,u),h.removeEventListener(`keydown`,d)),document.removeEventListener(`mousedown`,f),document.removeEventListener(`keydown`,p)});function _(e){let t=e.target.value;t&&r.value&&o(r.value.tag,{kind:`date`,date:t})}return(e,t)=>r.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,ref_key:`popupEl`,ref:i,class:`layout-sdt-widget-popup`,role:r.value.kind===`dropdown`?`listbox`:void 0,style:(0,a.normalizeStyle)({position:`fixed`,top:r.value.y+`px`,left:r.value.x+`px`,zIndex:1e3}),onKeydown:g,onMousedown:t[0]||=(0,a.withModifiers)(()=>{},[`prevent`])},[r.value.kind===`dropdown`?((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:0},[r.value.items.length===0?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,U,`No options`)):(0,a.createCommentVNode)(``,!0),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(r.value.items,e=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:e.value,type:`button`,role:`option`,"aria-selected":e.displayText===r.value.current,class:(0,a.normalizeClass)([`layout-sdt-widget-option`,{"is-selected":e.displayText===r.value.current}]),onClick:t=>o(r.value.tag,{kind:`dropdown`,value:e.value})},(0,a.toDisplayString)(e.displayText),11,ge))),128))],64)):((0,a.openBlock)(),(0,a.createElementBlock)(`input`,{key:1,type:`date`,class:`layout-sdt-widget-date`,value:r.value.current,onChange:_},null,40,_e))],44,H)):(0,a.createCommentVNode)(``,!0)}}),ye={key:0,class:`docx-editor-vue__title-bar`},be={class:`docx-editor-vue__title-bar-left`},W={class:`docx-editor-vue__title-bar-center`},G={class:`docx-editor-vue__title-bar-right`},xe=(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`,ye,[(0,a.createElementVNode)(`div`,be,[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`,W,[(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)}}),Se=(0,a.defineComponent)({__name:`DocxEditorDialogs`,props:{view:{},bookmarks:{},selectedImagePmPos:{},sectionProperties:{},scrollVisiblePositionIntoView:{type:Function},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,"scroll-visible-position-into-view":t.scrollVisiblePositionIntoView,onClose:i[0]||=e=>r(`update:showFindReplace`,!1)},null,8,[`is-open`,`view`,`scroll-visible-position-into-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))}}),Ce=[`disabled`,`onMousedown`],we={class:`ctx-menu__label`},Te={key:0,class:`ctx-menu__shortcut`},Ee=220,De=32,K=10,Oe=(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*De+i*9;return typeof window<`u`&&(e+Ee+K>window.innerWidth&&(e=window.innerWidth-Ee-K),t+a+K>window.innerHeight&&(t=window.innerHeight-a-K)),{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`,we,(0,a.toDisplayString)(e.label),1),e.shortcut?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,Te,(0,a.toDisplayString)(e.shortcut),1)):(0,a.createCommentVNode)(``,!0)],42,Ce))),128))],36)):(0,a.createCommentVNode)(``,!0)]))}}),q=n.t(Oe,[[`__scopeId`,`data-v-741c4f71`]]),ke=[`aria-label`],Ae={class:`image-ctx-menu__icon`},je={class:`image-ctx-menu__label`},Me={key:1,class:`image-ctx-menu__divider`,role:`separator`},Ne=[`data-wrap-type`,`data-current`,`data-disabled`,`disabled`,`title`,`onClick`],Pe={class:`image-ctx-menu__icon`},Fe={class:`image-ctx-menu__label`},Ie=[`aria-label`],Le=[`disabled`,`onClick`],Re={class:`image-ctx-menu__label`},ze={key:0,class:`image-ctx-menu__shortcut`},Be={key:0,class:`image-ctx-menu__divider`,role:`separator`},Ve=18,J=260,Y=10,He=(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=f.IMAGE_LAYOUT_OPTIONS,u=(0,a.computed)(()=>r.state?(0,f.deriveLayoutChoice)(r.state.currentWrapType,r.state.currentCssFloat??null):null),d={inline:`wrap_text`,squareLeft:`format_image_left`,squareRight:`format_image_right`,behind:`flip_to_back`,inFront:`flip_to_front`};function p(e){return d[e]}let m=(0,a.computed)(()=>{if(!r.state)return{};let e=f.IMAGE_LAYOUT_OPTIONS.length*36+16,t=r.state.position.x,n=r.state.position.y;return typeof window<`u`&&(t+J>window.innerWidth&&(t=window.innerWidth-J-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:`${J}px`,zIndex:400}});function h(e){return r.state?(0,f.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`,Ae,[(0,a.createVNode)(e.p,{name:`settings`,size:Ve})]),(0,a.createElementVNode)(`span`,je,(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`,Me)):(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`,Pe,[(0,a.createVNode)(e.p,{name:p(t.iconHint),size:Ve},null,8,[`name`])]),(0,a.createElementVNode)(`span`,Fe,(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,Ie)):(0,a.createCommentVNode)(``,!0)],42,Ne))),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`,Re,(0,a.toDisplayString)(e.label),1),e.shortcut?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,ze,(0,a.toDisplayString)(e.shortcut),1)):(0,a.createCommentVNode)(``,!0)],40,Le),e.dividerAfter?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,Be)):(0,a.createCommentVNode)(``,!0)],64))),128))],64)):(0,a.createCommentVNode)(``,!0)],44,ke)):(0,a.createCommentVNode)(``,!0)]))}}),Ue=n.t(He,[[`__scopeId`,`data-v-5c21ca8c`]]),We=(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)(q,{"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)(Ue,{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))}}),Ge=[`href`,`title`],Ke=[`title`],qe=[`title`],Je=[`title`],Ye={class:`docx-hyperlink-popup__edit-row`},X=[`placeholder`,`onKeydown`],Xe={class:`docx-hyperlink-popup__edit-row`},Ze=[`onKeydown`],Qe=[`disabled`],$e=(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`,Ye,[(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,X),[[a.vModelText,c.value]])]),(0,a.createElementVNode)(`div`,Xe,[(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,Ze),[[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,Qe)])],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,Ge),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,Ke),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,qe)),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,Je))],64))],38)):(0,a.createCommentVNode)(``,!0)}}),et=n.t($e,[[`__scopeId`,`data-v-9d23bb12`]]);function tt(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,l.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 s(t){await e.loadBuffer(t),e.emit(`update:document`,e.getDocument()),await n()}function c(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:s,loadDocument:c,save:u}}function nt(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 o(n,r){let i=e.editorView.value;if(!i)return;let a=(0,c.findHyperlinkRangeAt)(i.state);if(!a){t.value=null;return}let o=i.state.schema.marks.hyperlink,{$from:s}=i.state.selection,l=o.create({href:r,tooltip:a.mark.attrs.tooltip}),u=s.marks().filter(e=>e.type!==o),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 s(){let n=e.editorView.value;if(!n)return;let r=(0,c.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:o,handleHyperlinkPopupRemove:s}}function rt(e){function t(){let t=e.editorView.value;t&&((0,c.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 s=n.state.doc.resolve(r.from+1),c=n.state.doc.resolve(r.to-1),l=n.state.apply(n.state.tr.setSelection(o.TextSelection.between(s,c))),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(l,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 it(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 at(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=o.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 ot(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 st(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 ct(e){function t(t,n,r){return st(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(t){let n=e.editorView.value;n&&((0,C.acceptChangeById)(t)(n.state,n.dispatch),e.extractCommentsAndChanges(),n.focus())}function f(t){let n=e.editorView.value;n&&((0,C.rejectChangeById)(t)(n.state,n.dispatch),e.extractCommentsAndChanges(),n.focus())}function p(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,handleAcceptChangeById:d,handleRejectChangeById:f,handleTrackedChangeReply:p}}function lt(e,t){let n=(0,s.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 ut(e,t,n){if(!e||!t)return;let r=null;for(let t of(0,s.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 dt(e,t,n,r){if(!e||!t)return null;let i=(0,s.clickToPositionDom)(e,n,r,1);return i===null||i<0?null:Math.min(i,t.state.doc.content.size)}function ft(e,t,n){if(!e)return;let r=lt(e,t);if(!r)return;let i=r.textContent||``,a=Number(r.dataset.pmStart)||0,[o,s]=(0,l.findWordBoundaries)(i,t-a),c=a+o,u=a+s;c<u&&n(c,u)}function pt(e,t,n){if(!e)return;let r=lt(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 mt(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=lt(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=st(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()),(0,a.watch)(e.stateTick,()=>o());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 ht(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});(0,C.insertImageNode)(n.state,n.dispatch,i,n.state.selection.from),n.focus()}function o(n){let r=e.editorView.value,i=t.value;if(!r||!i)return;let a=(0,f.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,f.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 gt(e,t,n){let r=(0,g.makeRevisionInfo)(e.state),i=e.state.schema.marks.insertion;if(!r||!i)return;let a=t.selection.from,o=a-n.nodeSize;o<0||t.addMark(o,a,i.create({revisionId:r.revisionId,author:r.author,date:r.date}))}function _t(e,t){return e.getBlob(t)}function vt(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 yt(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=n,r.readAsDataURL(e)})}function bt(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 xt(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 yt(await _t(n,t)),i=await bt(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`}),c=e.state.tr.replaceSelectionWith(s);gt(e,c,s),e.dispatch(c);return}if(n.types.includes(`text/html`)){let t=await(await _t(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`}),l=e.state.tr.replaceSelectionWith(c);gt(e,l,c),e.dispatch(l);return}}if(n.types.includes(`text/plain`)){let t=await(await _t(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 St(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 yt(i),o=await bt(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 Ct(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),s=(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 c(e){let n=t.editorView.value;if(!n)return;let a=e.target,s=(0,f.findImageElement)(a);if(s){let a=Number(s.dataset.pmStart);if(!isNaN(a)){try{let e=o.NodeSelection.create(n.state.doc,a);n.dispatch(n.state.tr.setSelection(e))}catch{}t.selectedImage.value={element:s,pmPos:a,width:s.offsetWidth,height:s.offsetHeight},t.clearOverlay();let c=n.state.doc.nodeAt(a);if(c&&c.type.name===`image`){let n=c.attrs.wrapType??`inline`,o=c.attrs.cssFloat;i.value={open:!0,position:{x:e.clientX,y:e.clientY},pmPos:a,currentWrapType:n,currentCssFloat:o??null,inlinePositionEmu:n===`inline`?(0,f.captureInlinePositionEmu)(s,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 c=(0,u.getTableContext)(n.state),{empty:l}=n.state.selection;i.value&&=null,r.value={isOpen:!0,position:{x:e.clientX,y:e.clientY},hasSelection:!l,inTable:c.isInTable,onImage:!!s,canMergeCells:!!c.hasMultiCellSelection,canSplitCell:!!c.canSplitCell}}function l(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,f.captureInlinePositionEmu)(a.element,t.zoom.value):void 0},r.value.isOpen=!1}function d(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){vt(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?vt(n,t.selectedImage.value.pmPos):document.execCommand(`copy`);break;case`paste`:xt(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=o.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&&St(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:s,handleContextMenu:c,handleSelectedImageContextMenu:l,handleImageWrapSelect:d,handleContextMenuAction:p}}var wt=500;function Tt(e){let t=(0,a.ref)(null),n=null;function r(){n!==null&&(clearTimeout(n),n=null)}let i=(0,a.shallowRef)(null),s=0,c=null,l=0,u=!1,d=null,p=(0,a.ref)({currentPage:1,totalPages:1,visible:!1}),m=null;function h(t,n){return dt(e.pagesRef.value,e.editorView.value,t,n)}function g(){let t=i.value;if(t?.headerFooter&&e.getHfPmView){let n=e.getHfPmView(t.headerFooter);if(n)return n}return e.editorView.value}function _(e,t){let n=g();if(n)try{let r=n.state.doc.resolve(e),i=t===void 0?r:n.state.doc.resolve(t),a=o.TextSelection.between(r,i);n.dispatch(n.state.tr.setSelection(a))}catch{}}function v(t){ut(e.pagesRef.value,e.pagesViewportRef.value,t)}function y(t){ft(e.pagesRef.value,t,_)}function b(t){pt(e.pagesRef.value,t,_)}function x(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){v(r);try{_(Math.min(r+1,n.state.doc.content.size))}catch{_(r)}}}function S(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 C(n){n.preventDefault(),n.stopPropagation();let r=t.value,i=e.editorView.value;if(!r||!i)return;let a=i.state.tr.setSelection(o.TextSelection.create(i.state.doc,r.cellPmPos+1));i.dispatch(a);let s=e.getCommands(),c=r.type===`row`?s.addRowBelow?.():s.addColumnRight?.();c&&(c(i.state,e=>i.dispatch(e),i),t.value=null,i.focus())}function w(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&&x(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 E(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,f=(u?.find(e=>e.type===`default`)??u?.find(e=>e.type===`first`)??null)?.rId??null,p=f?d?.get(f)??null:null;if(!p){if(!l)return;let t=`default`,n=`rId_new_${s}_${t}`,r={type:s,hdrFtrType:t,content:[{type:`paragraph`,content:[]}]},i=s===`header`?`headers`:`footers`,a=s===`header`?`headerReferences`:`footerReferences`,o=new Map(c.package[i]??[]);o.set(n,r);let u=c.package.relationships,d=new Set;for(let e of u?.values()??[])e.target&&d.add(e.target);let m=1;for(;d.has(`${s}${m}.xml`);)m++;let h=s===`header`?`http://schemas.openxmlformats.org/officeDocument/2006/relationships/header`:`http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer`,g=new Map(u);g.set(n,{id:n,type:h,target:`${s}${m}.xml`});let _={type:t,rId:n},v=l&&{...l,[a]:[...l[a]??[],_]},y={...c,package:{...c.package,[i]:o,relationships:g,document:c.package.document?{...c.package.document,sections:c.package.document.sections?.map((e,t)=>t===0?{...e,properties:v??e.properties}:e),finalSectionProperties:c.package.document.finalSectionProperties===l?v:c.package.document.finalSectionProperties}:c.package.document}};f=n,p=r,e.setDocument?.(y),e.syncHfPMs?.(),e.reLayout(),e.emit(`change`,y)}let 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 D(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.syncHfPMs?.(),e.reLayout(),e.emit(`change`,n)}function O(){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.syncHfPMs?.(),e.reLayout(),e.emit(`change`,t)}function k(t){if(t.button!==0||e.imageInteracting.value)return;let n=e.editorView.value;if(!n)return;let r=t.target;i.value&&(r.closest(`.layout-page-header`)||r.closest(`.layout-page-footer`)||r.closest(`.hf-editor`)||(i.value=null,n.focus()));let a=g()??n;if(!e.readOnly.value&&e.tableResize.tryStartResize(t,a))return;let p=(0,f.findImageElement)(r);if(p){t.preventDefault(),t.stopPropagation();let n=Number(p.dataset.pmStart);if(!isNaN(n)){try{a.dispatch(a.state.tr.setSelection(o.NodeSelection.create(a.state.doc,n)))}catch{}e.selectedImage.value={element:p,pmPos:n,width:p.offsetWidth,height:p.offsetHeight},e.clearOverlay()}a.focus();return}e.selectedImage.value=null,t.preventDefault();let m=h(t.clientX,t.clientY);if(m===null){a.focus();return}let v=Date.now();if(v-s<wt&&c===m?l++:l=1,s=v,c=m,l===2)y(m);else if(l>=3)b(m),l=0;else{if(t.shiftKey){let{from:e}=a.state.selection;_(e,m)}else _(m);d=m,u=!0}a.focus()}function A(e){if(!u||d===null)return;let t=h(e.clientX,e.clientY);t!==null&&t!==d&&_(d,t)}function j(){u=!1}function M(){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`,A),window.addEventListener(`mouseup`,j),e.pagesViewportRef.value?.addEventListener(`scroll`,M,{passive:!0})}),(0,a.onBeforeUnmount)(()=>{r(),window.removeEventListener(`mousemove`,A),window.removeEventListener(`mouseup`,j),e.pagesViewportRef.value?.removeEventListener(`scroll`,M),m&&clearTimeout(m)}),{tableInsertButton:t,hfEdit:i,scrollPageInfo:p,resolvePos:h,setPmSelection:_,scrollVisiblePositionIntoView:v,navigateToBookmark:x,handlePagesMouseDown:k,handlePagesMouseMove:S,handlePagesClick:w,handlePagesDoubleClick:E,handleTableInsertClick:C,clearTableInsertTimer:r,handleHfSave:D,handleHfRemove:O}}function Et(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 s(){let a=e.pagesRef.value,s=e.editorView.value;if(!a||!s||(i(),e.isHfEditing?.value))return;let c=s.state.selection;if(c instanceof o.NodeSelection&&c.node.type.name===`image`){let t=null;for(let e of a.querySelectorAll(`[data-pm-start="${c.from}"]`)){let n=(0,f.findImageElement)(e);if(n){t=n;break}}if(t){let n=e.selectedImage.value;(!n||n.element!==t||n.pmPos!==c.from||n.width!==t.offsetWidth||n.height!==t.offsetHeight)&&(e.selectedImage.value={element:t,pmPos:c.from,width:t.offsetWidth,height:t.offsetHeight});return}}if(e.selectedImage.value)return;let{from:l,to:u,empty:p}=s.state.selection,m=a.scrollTop,h=a.scrollLeft;if(p){let e=(0,d.getCaretPositionFromDom)(a,l,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:s}}function xt(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 St(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 Ct(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}}}function wt(e,t){(0,a.watch)(e,e=>{(0,l.loadFontDefinitions)(e)},{immediate:!0});let n=(0,l.onFontError)(t);(0,a.onBeforeUnmount)(()=>n())}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},fonts:{},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:c}){let u=n,d=c,f=(0,a.ref)(u.mode),p=(0,a.computed)(()=>u.readOnly||f.value===`viewing`);e.u((0,a.computed)(()=>u.i18n));let{t:g}=e.c((0,a.computed)(()=>u.i18n)),_=(0,a.ref)(null),v=(0,a.ref)(null),y=(0,a.ref)(null),b=(0,a.ref)(0),x=new Set,S=new Set,C=new m.LayoutSelectionGate,w=(0,a.ref)(!1),T=(0,a.ref)(!1),E=(0,a.ref)(!1),D=(0,a.ref)(!1),O=(0,a.ref)(!1),k=(0,a.ref)(!1),A=(0,a.ref)(u.showOutline),j=(0,a.ref)(!1),M=(0,a.ref)(!1),N=(0,a.ref)(!1),P=(0,a.ref)(null),F=(0,a.shallowRef)([]),ne=(0,a.shallowRef)([]),re=(0,a.shallowRef)([]),{zoom:I,zoomPercent:ie,isMinZoom:ae,isMaxZoom:oe,setZoom:L,zoomIn:ce,zoomOut:le,handleWheel:ue,handleKeyDown:de,installShortcuts:R,ZOOM_PRESETS:pe}=i.n(u.initialZoom);R();let{editorView:B,isReady:me,parseError:V,layout:H,loadBuffer:U,loadDocument:ge,save:ye,focus:be,destroy:xe,getDocument:W,getCommands:G,reLayout:K,getHfPmView:Se,syncHfPMs:Ce,setHfTransactionListener:we,setDocument:Te}=i.r({hiddenContainer:_,pagesContainer:v,readOnly:p,externalPlugins:u.externalPlugins,syncCoordinator:C,editorMode:f,onChange:e=>{d(`change`,e),d(`update:document`,e),x.forEach(t=>t(e))},onError:e=>d(`error`,e),onSelectionUpdate:()=>{b.value++,Pn();let e=ee(B.value);S.forEach(t=>t(e))}}),q=(0,a.computed)(()=>{b.value;let e=W();if(!e?.package?.document)return null;let t=e.package.document;return t.finalSectionProperties??t.sections?.[0]?.properties??null}),Ee=(0,a.computed)(()=>(b.value,W()?.package?.theme??u.theme??null)),J=(0,a.ref)(null);wt(()=>u.fonts,e=>d(`error`,e));let De=(0,a.computed)(()=>$.value?.headerFooter?Se($.value.headerFooter)??null:null);(0,a.onMounted)(()=>{we((e,t)=>{requestAnimationFrame(()=>{J.value=(0,s.computeHfCaretRectFromView)(t);let e=$.value;if(!e)return;let n=window.document.querySelector(e.position===`header`?`.layout-page-header`:`.layout-page-footer`),r=y.value;if(!n||!r)return;let i=n.getBoundingClientRect(),a=r.getBoundingClientRect(),o=I.value||1;$.value={...e,targetRect:{top:(i.top-a.top+r.scrollTop)/o,left:(i.left-a.left+r.scrollLeft)/o,width:i.width/o,height:i.height/o}}})}),(0,a.watch)(()=>$.value,e=>{if(!e){J.value=null;return}let t=B.value;if(t){try{let e=t.state.tr.setSelection(o.TextSelection.create(t.state.doc,0));t.dispatch(e)}catch{}t.dom.blur?.()}Fn.updateSelectionOverlay()});let e=0;function t(){!$.value||e||(e=requestAnimationFrame(()=>{e=0;let t=$.value;if(!t?.headerFooter)return;let n=Se(t.headerFooter);n&&(J.value=(0,s.computeHfCaretRectFromView)(n))}))}window.addEventListener(`scroll`,t,!0),window.addEventListener(`resize`,t),(0,a.onBeforeUnmount)(()=>{e&&cancelAnimationFrame(e),window.removeEventListener(`scroll`,t,!0),window.removeEventListener(`resize`,t)})});let Oe=(0,a.computed)(()=>{let e=[];return M.value&&e.push(`translateX(-${l.SIDEBAR_DOCUMENT_SHIFT}px)`),I.value!==1&&e.push(`scale(${I.value})`),{transform:e.length>0?e.join(` `):void 0,transformOrigin:`top center`,transition:`transform 0.2s ease`}}),ke=(0,a.computed)(()=>({paddingLeft:`20px`,paddingRight:20+(M.value?l.SIDEBAR_DOCUMENT_SHIFT*2:0)+`px`,transition:`padding 0.2s ease`})),Ae=(0,a.computed)(()=>{let e=q.value;return(0,h.twipsToPixels)(e?.pageWidth??12240)*I.value}),je=(0,a.computed)(()=>{let e=new Set;for(let t of F.value)t.parentId==null&&t.done&&e.add(t.id);return e}),Me=(0,a.computed)(()=>{b.value;let e=B.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:Ne,pendingCommentRange:Pe,addCommentYPosition:Fe,sidebarAutoOpenedRef:Y,extractCommentsAndChanges:Ie,handleAddComment:Le,handleCancelAddComment:ze,handleStartAddComment:Be,handleMarkerClick:Ve}=ct({editorView:B,getDocument:W,comments:F,trackedChanges:ne,resolvedCommentIds:je,activeSidebarItem:P,showSidebar:M,isAddingComment:N,readOnly:p,zoom:I,stateTick:b,pagesRef:v,pagesViewportRef:y,emit:d}),{docxInputRef:He,handleDocxFileChange:Ue,handleDocumentNameChange:We,downloadCurrentDocument:Ge,loadDocumentBuffer:Ke,loadDocument:qe,save:Je}=Xe({loadBuffer:U,loadParsedDocument:ge,getDocument:W,saveBlob:ye,extractCommentsAndChanges:Ie,emit:d,documentName:()=>u.documentName,onDocumentNameChange:u.onDocumentNameChange,nextTick:a.nextTick}),{hyperlinkPopupData:X,handleHyperlinkSubmit:rt,handleHyperlinkRemove:it,handleHyperlinkPopupNavigate:at,handleHyperlinkPopupEdit:ot,handleHyperlinkPopupRemove:st}=Ze({editorView:B,getCommands:G}),{handleClearFormatting:ut,handleApplyStyle:dt,handleInsertPageBreak:ft,handleInsertSymbol:pt,applyFormatting:mt,setParagraphStyle:ht}=Qe({editorView:B,getDocument:W}),{handlePageSetupApply:gt,handleLeftMarginChange:vt,handleRightMarginChange:Mt,handleTopMarginChange:Nt,handleBottomMarginChange:Pt,handleIndentLeftChange:Ft,handleIndentRightChange:It,handleFirstLineIndentChange:Lt,handleTabStopRemove:Rt}=$e({editorView:B,getDocument:W,readOnly:p,stateTick:b,reLayout:K,emit:d}),{handleToggleOutline:zt,handleOutlineNavigate:Bt,handleToggleSidebar:Vt,handleEditorScrollMouseDown:Ht}=et({editorView:B,showOutline:A,showSidebar:M,outlineHeadings:re,activeSidebarItem:P,extractCommentsAndChanges:Ie});tt({showKeyboardShortcuts:j,showFindReplace:w,showHyperlink:E,handleZoomKeyDown:de,disableFindReplaceShortcuts:()=>u.disableFindReplaceShortcuts});let{addComment:Ut,replyToComment:Wt,resolveComment:Gt,proposeChange:Kt,handleCommentReply:qt,handleCommentUnresolve:Jt,handleCommentDelete:Yt,handleAcceptChange:Xt,handleRejectChange:Zt,handleAcceptChangeById:Qt,handleRejectChangeById:$t,handleTrackedChangeReply:en}=nt({editorView:B,getDocument:W,comments:F,trackedChanges:ne,showSidebar:M,isAddingComment:N,pendingCommentRange:Pe,contentChangeSubscribers:x,extractCommentsAndChanges:Ie,emit:d}),{selectedImage:Z,imageInteracting:tn,imageToolbarContext:nn,handleInsertImage:rn,handleToolbarImageWrap:an,handleImageTransform:on}=lt({editorView:B,zoom:I,stateTick:b,getCommands:G}),sn=i.t(),cn=null,{tableInsertButton:Q,hfEdit:$,scrollPageInfo:ln,resolvePos:un,setPmSelection:dn,scrollVisiblePositionIntoView:fn,handlePagesMouseDown:pn,handlePagesMouseMove:mn,handlePagesClick:hn,handlePagesDoubleClick:gn,handleTableInsertClick:_n,clearTableInsertTimer:vn,handleHfSave:yn,handleHfRemove:bn}=yt({editorView:B,pagesRef:v,pagesViewportRef:y,selectedImage:Z,imageInteracting:tn,hyperlinkPopupData:X,readOnly:p,zoom:I,layout:H,tableResize:sn,getCommands:G,getDocument:W,reLayout:K,emit:d,clearOverlay:Nn,syncHfPMs:Ce,getHfPmView:Se,setDocument:Te}),{contextMenu:xn,imageContextMenu:Sn,imageContextMenuTextActions:Cn,handleContextMenu:wn,handleSelectedImageContextMenu:Tn,handleImageWrapSelect:En,handleContextMenuAction:Dn}=_t({editorView:B,selectedImage:Z,zoom:I,showImageProperties:O,getCommands:G,clearOverlay:Nn,setPmSelection:dn,resolvePos:un}),{handleMenuAction:On,handleMenuTableInsert:kn}=xt({editorView:B,getCommands:G,docxInputRef:He,showPageSetup:k,showInsertImage:T,showHyperlink:E,showInsertSymbol:D,showKeyboardShortcuts:j,handleClearFormatting:ut,handleInsertPageBreak:ft,handleToggleOutline:zt,handleToggleSidebar:Vt,downloadCurrentDocument:Ge,emit:d});St({documentBuffer:()=>u.documentBuffer,document:()=>u.document,loadDocumentBuffer:Ke,loadDocument:qe,sidebarAutoOpenedRef:Y});let An=()=>B.value,jn=()=>v.value;(0,a.watch)(()=>u.mode,e=>{e&&e!==f.value&&(f.value=e)}),(0,a.watch)(()=>u.showOutline,e=>{A.value=!!e});function Mn(e){f.value!==e&&(f.value=e,d(`mode-change`,e))}(0,a.onMounted)(()=>{cn=sn.install()}),(0,a.onBeforeUnmount)(()=>{cn?.()});function Nn(){Fn.clearOverlay()}function Pn(){Fn.updateSelectionOverlay()}let Fn=bt({editorView:B,pagesRef:v,selectedImage:Z,isHfEditing:(0,a.computed)(()=>$.value!==null)});(0,a.onBeforeUnmount)(()=>{Nn()});let{exposed:In}=Ct({editorView:B,layout:H,pagesRef:v,pagesViewportRef:y,zoom:I,comments:F,focus:be,destroy:xe,getDocument:W,setZoom:L,save:Je,loadDocument:qe,loadDocumentBuffer:Ke,addComment:Ut,replyToComment:Wt,resolveComment:Gt,proposeChange:Kt,applyFormatting:mt,setParagraphStyle:ht,scrollVisiblePositionIntoView:fn,contentChangeSubscribers:x,selectionChangeSubscribers:S,onPrint:u.onPrint});return r(In),(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":p.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)(We),onMenuAction:(0,a.unref)(On),onInsertTable:(0,a.unref)(kn)},{"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)(B),"get-commands":(0,a.unref)(G),"state-tick":b.value,"zoom-percent":(0,a.unref)(ie),"is-min-zoom":(0,a.unref)(ae),"is-max-zoom":(0,a.unref)(oe),"zoom-presets":(0,a.unref)(pe),"show-zoom-control":n.showZoomControl,"editor-mode":f.value,"comments-sidebar-open":M.value,"image-context":(0,a.unref)(nn),theme:Ee.value,"font-families":n.fontFamilies,onInsertLink:i[0]||=e=>E.value=!0,onApplyStyle:(0,a.unref)(dt),onZoomIn:(0,a.unref)(ce),onZoomOut:(0,a.unref)(le),onZoomSet:(0,a.unref)(L),onToggleSidebar:(0,a.unref)(Vt),onModeChange:Mn,onImageWrapType:(0,a.unref)(an),onImageProperties:i[1]||=e=>O.value=!0,onImageTransform:(0,a.unref)(on)},(0,a.createSlots)({"table-context":(0,a.withCtx)(()=>[(0,a.createVNode)(t.h,{view:(0,a.unref)(B),"get-commands":(0,a.unref)(G),"state-tick":b.value,theme:Ee.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":w.value,"onUpdate:showFindReplace":i[2]||=e=>w.value=e,"show-insert-image":T.value,"onUpdate:showInsertImage":i[3]||=e=>T.value=e,"show-hyperlink":E.value,"onUpdate:showHyperlink":i[4]||=e=>E.value=e,"show-insert-symbol":D.value,"onUpdate:showInsertSymbol":i[5]||=e=>D.value=e,"show-image-properties":O.value,"onUpdate:showImageProperties":i[6]||=e=>O.value=e,"show-page-setup":k.value,"onUpdate:showPageSetup":i[7]||=e=>k.value=e,"show-keyboard-shortcuts":j.value,"onUpdate:showKeyboardShortcuts":i[8]||=e=>j.value=e,view:(0,a.unref)(B),bookmarks:Me.value,"selected-image-pm-pos":(0,a.unref)(Z)?.pmPos??null,"section-properties":q.value,"scroll-visible-position-into-view":(0,a.unref)(fn),onInsertImage:(0,a.unref)(rn),onInsertSymbol:(0,a.unref)(pt),onHyperlinkSubmit:(0,a.unref)(rt),onHyperlinkRemove:(0,a.unref)(it),onPageSetupApply:(0,a.unref)(gt)},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`,`scroll-visible-position-into-view`,`onInsertImage`,`onInsertSymbol`,`onHyperlinkSubmit`,`onHyperlinkRemove`,`onPageSetupApply`]),(0,a.unref)(V)?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,Et,(0,a.toDisplayString)((0,a.unref)(V)),1)):(0,a.createCommentVNode)(``,!0),!(0,a.unref)(me)&&!(0,a.unref)(V)?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,Dt,`Loading...`)):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`div`,{ref_key:`hiddenPmRef`,ref:_,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)(Ht)&&(0,a.unref)(Ht)(...e)},[n.showRuler&&q.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:`docx-editor-vue__ruler-row`,style:(0,a.normalizeStyle)(ke.value)},[(0,a.createVNode)(t.o,{"section-props":q.value,zoom:(0,a.unref)(I),editable:!p.value,onLeftMarginChange:(0,a.unref)(vt),onRightMarginChange:(0,a.unref)(Mt),onIndentLeftChange:(0,a.unref)(Ft),onIndentRightChange:(0,a.unref)(It),onFirstLineIndentChange:(0,a.unref)(Lt),onTabStopRemove:(0,a.unref)(Rt)},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:y,class:`docx-editor-vue__pages-viewport`,onMousedown:i[22]||=(...e)=>(0,a.unref)(pn)&&(0,a.unref)(pn)(...e),onMousemove:i[23]||=(...e)=>(0,a.unref)(mn)&&(0,a.unref)(mn)(...e),onClick:i[24]||=(...e)=>(0,a.unref)(hn)&&(0,a.unref)(hn)(...e),onDblclick:i[25]||=(...e)=>(0,a.unref)(gn)&&(0,a.unref)(gn)(...e),onContextmenu:i[26]||=(0,a.withModifiers)((...e)=>(0,a.unref)(wn)&&(0,a.unref)(wn)(...e),[`prevent`]),onWheel:i[27]||=(...e)=>(0,a.unref)(ue)&&(0,a.unref)(ue)(...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)(I),editable:!p.value,onTopMarginChange:(0,a.unref)(Nt),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:v,class:`docx-editor-vue__pages paged-editor__pages`,style:(0,a.normalizeStyle)(Oe.value)},null,4),(0,a.createVNode)(he,{"is-open":(0,a.unref)($)!==null,position:(0,a.unref)($)?.position??`header`,view:De.value,"target-rect":(0,a.unref)($)?.targetRect??null,onSave:(0,a.unref)(yn),onClose:i[9]||=e=>$.value=null,onRemove:(0,a.unref)(bn)},null,8,[`is-open`,`position`,`view`,`target-rect`,`onSave`,`onRemove`]),(0,a.unref)($)&&J.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:1,"aria-hidden":`true`,style:(0,a.normalizeStyle)({position:`fixed`,top:`${J.value.top}px`,left:`${J.value.left}px`,width:`2px`,height:`${J.value.height}px`,background:`#4285f4`,pointerEvents:`none`,zIndex:9999,animation:`hf-caret-blink 1.06s steps(1) infinite`})},null,4)):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)(se,{"image-info":(0,a.unref)(Z),zoom:(0,a.unref)(I),view:(0,a.unref)(B),onOpenProperties:i[10]||=e=>O.value=!0,onDeselect:i[11]||=e=>Z.value=null,onInteractStart:i[12]||=e=>tn.value=!0,onInteractEnd:i[13]||=e=>tn.value=!1,onContextMenu:(0,a.unref)(Tn)},null,8,[`image-info`,`zoom`,`view`,`onContextMenu`]),(0,a.createVNode)(te,{"get-view":An,"get-pages-container":jn,zoom:(0,a.unref)(I),"transaction-version":b.value,"sync-coordinator":(0,a.unref)(C)},null,8,[`zoom`,`transaction-version`,`sync-coordinator`]),(0,a.unref)(Ne)&&!N.value&&!p.value?((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:2,type:`button`,class:`docx-editor-vue__floating-comment`,style:(0,a.normalizeStyle)({top:(0,a.unref)(Ne).top+`px`,left:(0,a.unref)(Ne).left+`px`}),title:(0,a.unref)(g)(`comments.addComment`),onMousedown:i[14]||=(0,a.withModifiers)((...e)=>(0,a.unref)(Be)&&(0,a.unref)(Be)(...e),[`prevent`,`stop`])},[(0,a.createVNode)(e.p,{name:`add_comment`,size:16})],44,At)):(0,a.createCommentVNode)(``,!0),(0,a.unref)(Q)&&!p.value?((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:3,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)(_n)&&(0,a.unref)(_n)(...e),onMouseenter:i[16]||=(...e)=>(0,a.unref)(vn)&&(0,a.unref)(vn)(...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:F.value,"pages-container":v.value,zoom:(0,a.unref)(I),"page-width-px":Ae.value,"sidebar-open":M.value,"resolved-comment-ids":je.value,onMarkerClick:(0,a.unref)(Ve)},null,8,[`comments`,`pages-container`,`zoom`,`page-width-px`,`sidebar-open`,`resolved-comment-ids`,`onMarkerClick`]),(0,a.createVNode)(t.c,{"is-open":M.value,comments:F.value,"tracked-changes":ne.value,"is-adding-comment":N.value,"add-comment-y-position":(0,a.unref)(Fe),"show-resolved":!0,"pages-container":v.value,"page-width-px":Ae.value,zoom:(0,a.unref)(I),"active-item-id":P.value,onClose:i[18]||=e=>M.value=!1,onAddComment:(0,a.unref)(Le),onCancelAddComment:(0,a.unref)(ze),onCommentReply:(0,a.unref)(qt),onCommentResolve:(0,a.unref)(Gt),onCommentUnresolve:(0,a.unref)(Jt),onCommentDelete:(0,a.unref)(Yt),onAcceptChange:(0,a.unref)(Xt),onRejectChange:(0,a.unref)(Zt),onAcceptChangeById:(0,a.unref)(Qt),onRejectChangeById:(0,a.unref)($t),onTrackedChangeReply:(0,a.unref)(en),"onUpdate:activeItemId":i[19]||=e=>P.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`,`onAcceptChangeById`,`onRejectChangeById`,`onTrackedChangeReply`]),(0,a.createVNode)(Ye,{data:(0,a.unref)(X),"read-only":p.value,onNavigate:(0,a.unref)(at),onCopy:i[20]||=e=>X.value=null,onEdit:(0,a.unref)(ot),onRemove:(0,a.unref)(st),onClose:i[21]||=e=>X.value=null},null,8,[`data`,`read-only`,`onNavigate`,`onEdit`,`onRemove`])],544),!A.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)(zt)&&(0,a.unref)(zt)(...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)(ln).totalPages>1?((0,a.openBlock)(),(0,a.createBlock)(z,{key:1,"current-page":(0,a.unref)(ln).currentPage,"total-pages":(0,a.unref)(ln).totalPages,visible:(0,a.unref)(ln).visible},null,8,[`current-page`,`total-pages`,`visible`])):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)(fe,{"is-open":A.value,headings:re.value,onClose:i[30]||=e=>A.value=!1,onNavigate:(0,a.unref)(Bt)},null,8,[`is-open`,`headings`,`onNavigate`])])],32),(0,a.createElementVNode)(`input`,{ref_key:`docxInputRef`,ref:He,type:`file`,accept:`.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document`,style:{display:`none`},onChange:i[32]||=(...e)=>(0,a.unref)(Ue)&&(0,a.unref)(Ue)(...e)},null,544),(0,a.createVNode)(Re,{"read-only":p.value,"context-menu":(0,a.unref)(xn),"image-context-menu":(0,a.unref)(Sn),"image-context-menu-text-actions":(0,a.unref)(Cn),"can-open-image-properties":!!(0,a.unref)(Z),onContextMenuAction:(0,a.unref)(Dn),onCloseContextMenu:i[33]||=e=>(0,a.unref)(xn).isOpen=!1,onImageWrapSelect:(0,a.unref)(En),onCloseImageContextMenu:i[34]||=e=>Sn.value=null,onOpenImageProperties:i[35]||=e=>O.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,l.toArrayBuffer)(e),i=null,o=null,s=!1,c={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,l)=>{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?.(),s||(s=!0,e(c))},onError:e=>{n.onError?.(e),s||(s=!0,l(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 D.createDocumentWithText}}),Object.defineProperty(exports,`createEmptyDocument`,{enumerable:!0,get:function(){return D.createEmptyDocument}}),exports.defaultLocale=e.f,exports.i18nPlugin=e.l,exports.provideLocale=e.u,exports.renderAsync=Nt,exports.useTranslation=e.d;
|
|
20
|
+
`,a.appendChild(t)}}return(0,a.onBeforeUnmount)(()=>{i()}),{clearOverlay:i,updateSelectionOverlay:s}}function Dt(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 Ot(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 kt(e){function t(){let t=e.pagesRef.value;t&&(0,f.renderAllPagesNow)(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 p(){return e.comments.value}function h(t){let n=e.editorView.value;return n?(0,m.findContentControlsInPM)(n.state.doc,t??{}):[]}function g(t){let n=e.editorView.value;if(!n)return!1;let r=(0,m.findContentControlPos)(n.state.doc,t);return r==null?!1:(a(r),!0)}function v(t,n,r){let i=e.editorView.value;if(!i)return!1;try{return i.dispatch((0,m.setContentControlContentTr)(i.state,t,n,r)),!0}catch(e){if(e instanceof D.ContentControlNotFoundError)return!1;throw e}}function y(t,n){let r=e.editorView.value;if(!r)return!1;try{return r.dispatch((0,m.removeContentControlTr)(r.state,t,n)),!0}catch(e){if(e instanceof D.ContentControlNotFoundError)return!1;throw e}}function b(t,n,r){let i=e.editorView.value;if(!i)return!1;try{return i.dispatch((0,m.setContentControlValueTr)(i.state,t,n,r)),!0}catch(e){if(e instanceof D.ContentControlNotFoundError)return!1;throw e}}function x(t){return F(e.editorView.value,e.layout.value,t)}function S(t){return e.contentChangeSubscribers.add(t),()=>e.contentChangeSubscribers.delete(t)}function C(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:p,getContentControls:h,scrollToContentControl:g,setContentControlContent:v,removeContentControl:y,setContentControlValue:b,applyFormatting:e.applyFormatting,setParagraphStyle:e.setParagraphStyle,getPageContent:x,getTotalPages:s,getCurrentPage:c,onContentChange:S,onSelectionChange:C}}}function At(e,t){(0,a.watch)(e,e=>{(0,l.loadFontDefinitions)(e)},{immediate:!0});let n=(0,l.onFontError)(t);(0,a.onBeforeUnmount)(()=>n())}var jt={class:`docx-editor-vue__toolbar-shell`},Mt={key:0,class:`docx-editor-vue__error`},Nt={key:1,class:`docx-editor-vue__loading`},Pt={class:`docx-editor-vue__editor-area`},Ft={key:0,class:`docx-editor-vue__vertical-ruler`},It=[`title`],Lt=[`title`,`aria-label`],Rt=(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},fonts:{},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:c}){let u=n,d=c,f=(0,a.ref)(u.mode),p=(0,a.computed)(()=>u.readOnly||f.value===`viewing`);e.u((0,a.computed)(()=>u.i18n));let{t:g}=e.c((0,a.computed)(()=>u.i18n)),_=(0,a.ref)(null),v=(0,a.ref)(null),y=(0,a.ref)(null),b=(0,a.ref)(0),x=new Set,S=new Set,C=new m.LayoutSelectionGate,w=(0,a.ref)(!1),T=(0,a.ref)(!1),E=(0,a.ref)(!1),D=(0,a.ref)(!1),O=(0,a.ref)(!1),k=(0,a.ref)(!1),A=(0,a.ref)(u.showOutline),j=(0,a.ref)(!1),M=(0,a.ref)(!1),N=(0,a.ref)(!1),P=(0,a.ref)(null),F=(0,a.shallowRef)([]),ne=(0,a.shallowRef)([]),re=(0,a.shallowRef)([]),{zoom:I,zoomPercent:ie,isMinZoom:ae,isMaxZoom:oe,setZoom:se,zoomIn:L,zoomOut:le,handleWheel:R,handleKeyDown:ue,installShortcuts:de,ZOOM_PRESETS:z}=i.n(u.initialZoom);de();let{editorView:B,isReady:me,parseError:V,layout:H,loadBuffer:U,loadDocument:ge,save:_e,focus:ye,destroy:be,getDocument:W,getCommands:G,reLayout:Ce,getHfPmView:we,syncHfPMs:Te,setHfTransactionListener:Ee,setDocument:De}=i.r({hiddenContainer:_,pagesContainer:v,readOnly:p,externalPlugins:u.externalPlugins,syncCoordinator:C,editorMode:f,onChange:e=>{d(`change`,e),d(`update:document`,e),x.forEach(t=>t(e))},onError:e=>d(`error`,e),onSelectionUpdate:()=>{b.value++,Fn();let e=ee(B.value);S.forEach(t=>t(e))}}),K=(0,a.computed)(()=>{b.value;let e=W();if(!e?.package?.document)return null;let t=e.package.document;return t.finalSectionProperties??t.sections?.[0]?.properties??null}),Oe=(0,a.computed)(()=>(b.value,W()?.package?.theme??u.theme??null)),q=(0,a.ref)(null);At(()=>u.fonts,e=>d(`error`,e));let ke=(0,a.computed)(()=>$.value?.headerFooter?we($.value.headerFooter)??null:null);(0,a.onMounted)(()=>{Ee((e,t)=>{requestAnimationFrame(()=>{q.value=(0,s.computeHfCaretRectFromView)(t);let e=$.value;if(!e)return;let n=window.document.querySelector(e.position===`header`?`.layout-page-header`:`.layout-page-footer`),r=y.value;if(!n||!r)return;let i=n.getBoundingClientRect(),a=r.getBoundingClientRect(),o=I.value||1;$.value={...e,targetRect:{top:(i.top-a.top+r.scrollTop)/o,left:(i.left-a.left+r.scrollLeft)/o,width:i.width/o,height:i.height/o}}})}),(0,a.watch)(()=>$.value,e=>{if(!e){q.value=null;return}let t=B.value;if(t){try{let e=t.state.tr.setSelection(o.TextSelection.create(t.state.doc,0));t.dispatch(e)}catch{}t.dom.blur?.()}In.updateSelectionOverlay()});let e=0;function t(){!$.value||e||(e=requestAnimationFrame(()=>{e=0;let t=$.value;if(!t?.headerFooter)return;let n=we(t.headerFooter);n&&(q.value=(0,s.computeHfCaretRectFromView)(n))}))}window.addEventListener(`scroll`,t,!0),window.addEventListener(`resize`,t),(0,a.onBeforeUnmount)(()=>{e&&cancelAnimationFrame(e),window.removeEventListener(`scroll`,t,!0),window.removeEventListener(`resize`,t)})});let Ae=(0,a.computed)(()=>{let e=[];return M.value&&e.push(`translateX(-${l.SIDEBAR_DOCUMENT_SHIFT}px)`),I.value!==1&&e.push(`scale(${I.value})`),{transform:e.length>0?e.join(` `):void 0,transformOrigin:`top center`,transition:`transform 0.2s ease`}}),je=(0,a.computed)(()=>({paddingLeft:`20px`,paddingRight:20+(M.value?l.SIDEBAR_DOCUMENT_SHIFT*2:0)+`px`,transition:`padding 0.2s ease`})),Me=(0,a.computed)(()=>{let e=K.value;return(0,h.twipsToPixels)(e?.pageWidth??12240)*I.value}),Ne=(0,a.computed)(()=>{let e=new Set;for(let t of F.value)t.parentId==null&&t.done&&e.add(t.id);return e}),Pe=(0,a.computed)(()=>{b.value;let e=B.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:Fe,pendingCommentRange:Ie,addCommentYPosition:Le,sidebarAutoOpenedRef:Re,extractCommentsAndChanges:ze,handleAddComment:Be,handleCancelAddComment:Ve,handleStartAddComment:J,handleMarkerClick:Y}=mt({editorView:B,getDocument:W,comments:F,trackedChanges:ne,resolvedCommentIds:Ne,activeSidebarItem:P,showSidebar:M,isAddingComment:N,readOnly:p,zoom:I,stateTick:b,pagesRef:v,pagesViewportRef:y,emit:d}),{docxInputRef:He,handleDocxFileChange:Ue,handleDocumentNameChange:Ge,downloadCurrentDocument:Ke,loadDocumentBuffer:qe,loadDocument:Je,save:Ye}=tt({loadBuffer:U,loadParsedDocument:ge,getDocument:W,saveBlob:_e,extractCommentsAndChanges:ze,emit:d,documentName:()=>u.documentName,onDocumentNameChange:u.onDocumentNameChange,nextTick:a.nextTick}),{hyperlinkPopupData:X,handleHyperlinkSubmit:Xe,handleHyperlinkRemove:Ze,handleHyperlinkPopupNavigate:Qe,handleHyperlinkPopupEdit:$e,handleHyperlinkPopupRemove:st}=nt({editorView:B,getCommands:G}),{handleClearFormatting:lt,handleApplyStyle:ut,handleInsertPageBreak:dt,handleInsertSymbol:ft,applyFormatting:pt,setParagraphStyle:gt}=rt({editorView:B,getDocument:W}),{handlePageSetupApply:_t,handleLeftMarginChange:vt,handleRightMarginChange:yt,handleTopMarginChange:bt,handleBottomMarginChange:xt,handleIndentLeftChange:St,handleIndentRightChange:wt,handleFirstLineIndentChange:Rt,handleTabStopRemove:zt}=it({editorView:B,getDocument:W,readOnly:p,stateTick:b,reLayout:Ce,emit:d}),{handleToggleOutline:Bt,handleOutlineNavigate:Vt,handleToggleSidebar:Ht,handleEditorScrollMouseDown:Ut}=at({editorView:B,showOutline:A,showSidebar:M,outlineHeadings:re,activeSidebarItem:P,extractCommentsAndChanges:ze});ot({showKeyboardShortcuts:j,showFindReplace:w,showHyperlink:E,handleZoomKeyDown:ue,disableFindReplaceShortcuts:()=>u.disableFindReplaceShortcuts});let{addComment:Wt,replyToComment:Gt,resolveComment:Kt,proposeChange:qt,handleCommentReply:Jt,handleCommentUnresolve:Yt,handleCommentDelete:Xt,handleAcceptChange:Zt,handleRejectChange:Qt,handleAcceptChangeById:$t,handleRejectChangeById:en,handleTrackedChangeReply:tn}=ct({editorView:B,getDocument:W,comments:F,trackedChanges:ne,showSidebar:M,isAddingComment:N,pendingCommentRange:Ie,contentChangeSubscribers:x,extractCommentsAndChanges:ze,emit:d}),{selectedImage:Z,imageInteracting:nn,imageToolbarContext:rn,handleInsertImage:an,handleToolbarImageWrap:on,handleImageTransform:sn}=ht({editorView:B,zoom:I,stateTick:b,getCommands:G}),cn=i.t(),ln=null,{tableInsertButton:Q,hfEdit:$,scrollPageInfo:un,resolvePos:dn,setPmSelection:fn,scrollVisiblePositionIntoView:pn,handlePagesMouseDown:mn,handlePagesMouseMove:hn,handlePagesClick:gn,handlePagesDoubleClick:_n,handleTableInsertClick:vn,clearTableInsertTimer:yn,handleHfSave:bn,handleHfRemove:xn}=Tt({editorView:B,pagesRef:v,pagesViewportRef:y,selectedImage:Z,imageInteracting:nn,hyperlinkPopupData:X,readOnly:p,zoom:I,layout:H,tableResize:cn,getCommands:G,getDocument:W,reLayout:Ce,emit:d,clearOverlay:Pn,syncHfPMs:Te,getHfPmView:we,setDocument:De}),{contextMenu:Sn,imageContextMenu:Cn,imageContextMenuTextActions:wn,handleContextMenu:Tn,handleSelectedImageContextMenu:En,handleImageWrapSelect:Dn,handleContextMenuAction:On}=Ct({editorView:B,selectedImage:Z,zoom:I,showImageProperties:O,getCommands:G,clearOverlay:Pn,setPmSelection:fn,resolvePos:dn}),{handleMenuAction:kn,handleMenuTableInsert:An}=Dt({editorView:B,getCommands:G,docxInputRef:He,showPageSetup:k,showInsertImage:T,showHyperlink:E,showInsertSymbol:D,showKeyboardShortcuts:j,handleClearFormatting:lt,handleInsertPageBreak:dt,handleToggleOutline:Bt,handleToggleSidebar:Ht,downloadCurrentDocument:Ke,emit:d});Ot({documentBuffer:()=>u.documentBuffer,document:()=>u.document,loadDocumentBuffer:qe,loadDocument:Je,sidebarAutoOpenedRef:Re});let jn=()=>B.value,Mn=()=>v.value;(0,a.watch)(()=>u.mode,e=>{e&&e!==f.value&&(f.value=e)}),(0,a.watch)(()=>u.showOutline,e=>{A.value=!!e});function Nn(e){f.value!==e&&(f.value=e,d(`mode-change`,e))}(0,a.onMounted)(()=>{ln=cn.install()}),(0,a.onBeforeUnmount)(()=>{ln?.()});function Pn(){In.clearOverlay()}function Fn(){In.updateSelectionOverlay()}let In=Et({editorView:B,pagesRef:v,selectedImage:Z,isHfEditing:(0,a.computed)(()=>$.value!==null)});(0,a.onBeforeUnmount)(()=>{Pn()});let{exposed:Ln}=kt({editorView:B,layout:H,pagesRef:v,pagesViewportRef:y,zoom:I,comments:F,focus:ye,destroy:be,getDocument:W,setZoom:se,save:Ye,loadDocument:Je,loadDocumentBuffer:qe,addComment:Wt,replyToComment:Gt,resolveComment:Kt,proposeChange:qt,applyFormatting:pt,setParagraphStyle:gt,scrollVisiblePositionIntoView:pn,contentChangeSubscribers:x,selectionChangeSubscribers:S,onPrint:u.onPrint});return r(Ln),(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":p.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`,jt,[(0,a.createVNode)(xe,{"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)(Ge),onMenuAction:(0,a.unref)(kn),onInsertTable:(0,a.unref)(An)},{"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)(B),"get-commands":(0,a.unref)(G),"state-tick":b.value,"zoom-percent":(0,a.unref)(ie),"is-min-zoom":(0,a.unref)(ae),"is-max-zoom":(0,a.unref)(oe),"zoom-presets":(0,a.unref)(z),"show-zoom-control":n.showZoomControl,"editor-mode":f.value,"comments-sidebar-open":M.value,"image-context":(0,a.unref)(rn),theme:Oe.value,"font-families":n.fontFamilies,onInsertLink:i[0]||=e=>E.value=!0,onApplyStyle:(0,a.unref)(ut),onZoomIn:(0,a.unref)(L),onZoomOut:(0,a.unref)(le),onZoomSet:(0,a.unref)(se),onToggleSidebar:(0,a.unref)(Ht),onModeChange:Nn,onImageWrapType:(0,a.unref)(on),onImageProperties:i[1]||=e=>O.value=!0,onImageTransform:(0,a.unref)(sn)},(0,a.createSlots)({"table-context":(0,a.withCtx)(()=>[(0,a.createVNode)(t.h,{view:(0,a.unref)(B),"get-commands":(0,a.unref)(G),"state-tick":b.value,theme:Oe.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)(Se,{"show-find-replace":w.value,"onUpdate:showFindReplace":i[2]||=e=>w.value=e,"show-insert-image":T.value,"onUpdate:showInsertImage":i[3]||=e=>T.value=e,"show-hyperlink":E.value,"onUpdate:showHyperlink":i[4]||=e=>E.value=e,"show-insert-symbol":D.value,"onUpdate:showInsertSymbol":i[5]||=e=>D.value=e,"show-image-properties":O.value,"onUpdate:showImageProperties":i[6]||=e=>O.value=e,"show-page-setup":k.value,"onUpdate:showPageSetup":i[7]||=e=>k.value=e,"show-keyboard-shortcuts":j.value,"onUpdate:showKeyboardShortcuts":i[8]||=e=>j.value=e,view:(0,a.unref)(B),bookmarks:Pe.value,"selected-image-pm-pos":(0,a.unref)(Z)?.pmPos??null,"section-properties":K.value,"scroll-visible-position-into-view":(0,a.unref)(pn),onInsertImage:(0,a.unref)(an),onInsertSymbol:(0,a.unref)(ft),onHyperlinkSubmit:(0,a.unref)(Xe),onHyperlinkRemove:(0,a.unref)(Ze),onPageSetupApply:(0,a.unref)(_t)},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`,`scroll-visible-position-into-view`,`onInsertImage`,`onInsertSymbol`,`onHyperlinkSubmit`,`onHyperlinkRemove`,`onPageSetupApply`]),(0,a.unref)(V)?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,Mt,(0,a.toDisplayString)((0,a.unref)(V)),1)):(0,a.createCommentVNode)(``,!0),!(0,a.unref)(me)&&!(0,a.unref)(V)?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,Nt,`Loading...`)):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`div`,{ref_key:`hiddenPmRef`,ref:_,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)(Ut)&&(0,a.unref)(Ut)(...e)},[n.showRuler&&K.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:`docx-editor-vue__ruler-row`,style:(0,a.normalizeStyle)(je.value)},[(0,a.createVNode)(t.o,{"section-props":K.value,zoom:(0,a.unref)(I),editable:!p.value,onLeftMarginChange:(0,a.unref)(vt),onRightMarginChange:(0,a.unref)(yt),onIndentLeftChange:(0,a.unref)(St),onIndentRightChange:(0,a.unref)(wt),onFirstLineIndentChange:(0,a.unref)(Rt),onTabStopRemove:(0,a.unref)(zt)},null,8,[`section-props`,`zoom`,`editable`,`onLeftMarginChange`,`onRightMarginChange`,`onIndentLeftChange`,`onIndentRightChange`,`onFirstLineIndentChange`,`onTabStopRemove`])],4)):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`div`,Pt,[(0,a.createElementVNode)(`div`,{ref_key:`pagesViewportRef`,ref:y,class:`docx-editor-vue__pages-viewport`,onMousedown:i[22]||=(...e)=>(0,a.unref)(mn)&&(0,a.unref)(mn)(...e),onMousemove:i[23]||=(...e)=>(0,a.unref)(hn)&&(0,a.unref)(hn)(...e),onClick:i[24]||=(...e)=>(0,a.unref)(gn)&&(0,a.unref)(gn)(...e),onDblclick:i[25]||=(...e)=>(0,a.unref)(_n)&&(0,a.unref)(_n)(...e),onContextmenu:i[26]||=(0,a.withModifiers)((...e)=>(0,a.unref)(Tn)&&(0,a.unref)(Tn)(...e),[`prevent`]),onWheel:i[27]||=(...e)=>(0,a.unref)(R)&&(0,a.unref)(R)(...e)},[n.showRuler&&K.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,Ft,[(0,a.createVNode)(t.a,{"section-props":K.value,zoom:(0,a.unref)(I),editable:!p.value,onTopMarginChange:(0,a.unref)(bt),onBottomMarginChange:(0,a.unref)(xt)},null,8,[`section-props`,`zoom`,`editable`,`onTopMarginChange`,`onBottomMarginChange`])])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`div`,{ref_key:`pagesRef`,ref:v,class:`docx-editor-vue__pages paged-editor__pages`,style:(0,a.normalizeStyle)(Ae.value)},null,4),p.value?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createBlock)(ve,{key:1,container:v.value,view:(0,a.unref)(B)},null,8,[`container`,`view`])),(0,a.createVNode)(he,{"is-open":(0,a.unref)($)!==null,position:(0,a.unref)($)?.position??`header`,view:ke.value,"target-rect":(0,a.unref)($)?.targetRect??null,onSave:(0,a.unref)(bn),onClose:i[9]||=e=>$.value=null,onRemove:(0,a.unref)(xn)},null,8,[`is-open`,`position`,`view`,`target-rect`,`onSave`,`onRemove`]),(0,a.unref)($)&&q.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:2,"aria-hidden":`true`,style:(0,a.normalizeStyle)({position:`fixed`,top:`${q.value.top}px`,left:`${q.value.left}px`,width:`2px`,height:`${q.value.height}px`,background:`#4285f4`,pointerEvents:`none`,zIndex:9999,animation:`hf-caret-blink 1.06s steps(1) infinite`})},null,4)):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)(ce,{"image-info":(0,a.unref)(Z),zoom:(0,a.unref)(I),view:(0,a.unref)(B),onOpenProperties:i[10]||=e=>O.value=!0,onDeselect:i[11]||=e=>Z.value=null,onInteractStart:i[12]||=e=>nn.value=!0,onInteractEnd:i[13]||=e=>nn.value=!1,onContextMenu:(0,a.unref)(En)},null,8,[`image-info`,`zoom`,`view`,`onContextMenu`]),(0,a.createVNode)(te,{"get-view":jn,"get-pages-container":Mn,zoom:(0,a.unref)(I),"transaction-version":b.value,"sync-coordinator":(0,a.unref)(C)},null,8,[`zoom`,`transaction-version`,`sync-coordinator`]),(0,a.unref)(Fe)&&!N.value&&!p.value?((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:3,type:`button`,class:`docx-editor-vue__floating-comment`,style:(0,a.normalizeStyle)({top:(0,a.unref)(Fe).top+`px`,left:(0,a.unref)(Fe).left+`px`}),title:(0,a.unref)(g)(`comments.addComment`),onMousedown:i[14]||=(0,a.withModifiers)((...e)=>(0,a.unref)(J)&&(0,a.unref)(J)(...e),[`prevent`,`stop`])},[(0,a.createVNode)(e.p,{name:`add_comment`,size:16})],44,It)):(0,a.createCommentVNode)(``,!0),(0,a.unref)(Q)&&!p.value?((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:4,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)(vn)&&(0,a.unref)(vn)(...e),onMouseenter:i[16]||=(...e)=>(0,a.unref)(yn)&&(0,a.unref)(yn)(...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,Lt)):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)(t.s,{comments:F.value,"pages-container":v.value,zoom:(0,a.unref)(I),"page-width-px":Me.value,"sidebar-open":M.value,"resolved-comment-ids":Ne.value,onMarkerClick:(0,a.unref)(Y)},null,8,[`comments`,`pages-container`,`zoom`,`page-width-px`,`sidebar-open`,`resolved-comment-ids`,`onMarkerClick`]),(0,a.createVNode)(t.c,{"is-open":M.value,comments:F.value,"tracked-changes":ne.value,"is-adding-comment":N.value,"add-comment-y-position":(0,a.unref)(Le),"show-resolved":!0,"pages-container":v.value,"page-width-px":Me.value,zoom:(0,a.unref)(I),"active-item-id":P.value,onClose:i[18]||=e=>M.value=!1,onAddComment:(0,a.unref)(Be),onCancelAddComment:(0,a.unref)(Ve),onCommentReply:(0,a.unref)(Jt),onCommentResolve:(0,a.unref)(Kt),onCommentUnresolve:(0,a.unref)(Yt),onCommentDelete:(0,a.unref)(Xt),onAcceptChange:(0,a.unref)(Zt),onRejectChange:(0,a.unref)(Qt),onAcceptChangeById:(0,a.unref)($t),onRejectChangeById:(0,a.unref)(en),onTrackedChangeReply:(0,a.unref)(tn),"onUpdate:activeItemId":i[19]||=e=>P.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`,`onAcceptChangeById`,`onRejectChangeById`,`onTrackedChangeReply`]),(0,a.createVNode)(et,{data:(0,a.unref)(X),"read-only":p.value,onNavigate:(0,a.unref)(Qe),onCopy:i[20]||=e=>X.value=null,onEdit:(0,a.unref)($e),onRemove:(0,a.unref)(st),onClose:i[21]||=e=>X.value=null},null,8,[`data`,`read-only`,`onNavigate`,`onEdit`,`onRemove`])],544),!A.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)(Bt)&&(0,a.unref)(Bt)(...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)(un).totalPages>1?((0,a.openBlock)(),(0,a.createBlock)(pe,{key:1,"current-page":(0,a.unref)(un).currentPage,"total-pages":(0,a.unref)(un).totalPages,visible:(0,a.unref)(un).visible},null,8,[`current-page`,`total-pages`,`visible`])):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)(fe,{"is-open":A.value,headings:re.value,onClose:i[30]||=e=>A.value=!1,onNavigate:(0,a.unref)(Vt)},null,8,[`is-open`,`headings`,`onNavigate`])])],32),(0,a.createElementVNode)(`input`,{ref_key:`docxInputRef`,ref:He,type:`file`,accept:`.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document`,style:{display:`none`},onChange:i[32]||=(...e)=>(0,a.unref)(Ue)&&(0,a.unref)(Ue)(...e)},null,544),(0,a.createVNode)(We,{"read-only":p.value,"context-menu":(0,a.unref)(Sn),"image-context-menu":(0,a.unref)(Cn),"image-context-menu-text-actions":(0,a.unref)(wn),"can-open-image-properties":!!(0,a.unref)(Z),onContextMenuAction:(0,a.unref)(On),onCloseContextMenu:i[33]||=e=>(0,a.unref)(Sn).isOpen=!1,onImageWrapSelect:(0,a.unref)(Dn),onCloseImageContextMenu:i[34]||=e=>Cn.value=null,onOpenImageProperties:i[35]||=e=>O.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 zt(e,t,n={}){let r=e instanceof ArrayBuffer?e:await(0,l.toArrayBuffer)(e),i=null,o=null,s=!1,c={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,l)=>{o=(0,a.createApp)({setup(){return()=>(0,a.h)(Rt,{...n,documentBuffer:r,showToolbar:n.showToolbar??!0,readOnly:n.readOnly??!1,ref:e=>{i=e??null},onReady:()=>{n.onReady?.(),s||(s=!0,e(c))},onError:e=>{n.onError?.(e),s||(s=!0,l(e))},onChange:n.onChange,onRename:n.onRename,onMenuAction:n.onMenuAction,onModeChange:n.onModeChange})}}),o.mount(t)})}var Bt=`0.0.2`;exports.DocxEditor=Rt,exports.VERSION=Bt,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=zt,exports.useTranslation=e.d;
|